Bagaimana kursor saya lebih putih dari putih?

21

Baru-baru ini saya memperhatikan bahwa kursor saya lebih putih daripada latar belakang putih (0xFFFFFF murni). Saya awalnya berpikir itu adalah ilusi optik ketika mengambil screenshot menunjukkan bahwa latar belakang dan kursor berada pada 0xFFFFFF. Lalu saya mengambil foto kursor dan jelas menunjukkan perbedaan kecerahan:

Foto kursor

Saya meletakkan filter mosaik pada gambar untuk melihat kecerahan rata-rata yang lebih baik:

Foto kursor dengan filter mosaik

Bagian dalam panah adalah sekitar 191 abu-abu (0xBF) dan latar belakang sekitar 177 abu-abu (0xB1), yang berarti putih kursor sekitar 8% lebih terang daripada putih murni latar belakang.

Perangkat keras apa yang melakukan ini dan bagaimana? Apakah informasi warna dikirimkan dengan lebih dari 8-bit per saluran?

Komputer ini adalah Windows XP dengan kartu grafis NVIDEA GeForce 8500 GT yang terhubung ke TV Samsung 5100 melalui kabel HDMI.

Foto lain:

Dua kursor dan sebuah kotak teduh

Satu kursor perangkat keras, satu tangkapan layar dari kursor perangkat keras dan 16x16 kuadrat dari setiap nilai skala abu-abu dari 0 hingga 0xFF dalam blok 2x2.

Dua kursor dan kotak teduh dengan filter mosaik

Sama seperti gambar sebelumnya tetapi dengan filter mosaik diterapkan. Seharusnya jelas mana yang merupakan kursor aktual dan yang merupakan tangkapan layar dari kursor dalam foto. Kecerahan kali ini adalah 185 dan 170, masih sekitar 8% perbedaan. Menggunakan color picker, warna yang ada di foto adalah 0xFFFFFF di layar. Saya tidak dapat menggunakan color picker pada kursor itu sendiri karena sampel warna langsung di bawah kursor.

CJ Dennis
sumber
Sudahkah Anda bermain dengan pengaturan kecerahan atau kontras pada monitor Anda?
Ron
1
Jika gambar-gambar masalah di atas, ditangkap menggunakan item kamera apa pun yang memproses citra raw sencor (mereka semua melakukannya bahkan ketika disimpan dalam format file mentah) Kemudian hasil visual telah diubah dengan memproses data sencor kamera. Untuk mengatasi masalah itu, akan memiliki "kontrol". Pada latar belakang putih memiliki gambar curser (bukan curser terpisah yang diberikan), dan amati bagaimana mereka berbeda. Menggunakan berbagai metode dan menerapkan kontrol, Anda kemudian dapat mengasumsikan di mana itu terjadi.
Psycogeek
@Psycogeek Saya kira perangkat lunak di mata saya melakukan hal yang sama. Bagaimana cara mengakses data mentah mata saya? Serius, satu-satunya hal yang saya lakukan pada gambar adalah memotongnya ke bit yang relevan. Saya dapat mengunggah gambar tangkapan layar kursor dengan kursor yang sebenarnya di sebelahnya tetapi itu tidak akan lebih mencerahkan dari yang telah saya jelaskan. Brightness (seperti yang saya mengerti sebelumnya) berkisar antara 0 dan 255 (0xFF) per saluran warna. Jika putih di dalam kursor berada pada skala yang sama itu akan menjadi sekitar 275 (0x113) dan tidak ada cukup ruang dalam 8 bit untuk mengkodekan ini.
CJ Dennis
@ user2714915 Saya belum menyesuaikan kecerahan atau kontras di mana saja ! Itu tidak benar-benar sampai ke inti pertanyaan saya: Bagaimana kursor bisa lebih terang dari warna paling terang yang dapat dikodekan dalam 8 bit ketika mode grafis saya adalah 8 bit per warna saluran?
CJ Dennis
@CJDennis: Program apa yang terpengaruh? Ini terlihat seperti masalah kalibrasi gamma bagi saya.
James P

Jawaban:

10

Seperti yang disebutkan dalam jawaban Psychogeek, ini adalah masalah dengan pengaturan profil warna oleh sistem operasi.

Profil warna dapat diterapkan oleh aplikasi, sistem operasi, kartu video, dan perangkat keras layar.

Untuk profil warna OS di Windows, ketika dikirim ke kartu video, profil warna diterapkan secara berbeda ke kursor daripada ke gambar layar, yang dapat menghasilkan warna yang berbeda jika profil warna mengubah titik putih. Dalam kasus Anda, kursor dikirim sebagai true white, sedangkan gambar di bawahnya memiliki profil warna yang diterapkan, mengubah titik putih ke level yang lebih rendah.

Kursor dikirim ke kartu video secara terpisah dari sisa data tampilan, dan dicampur dengan kartu video pada tahap selanjutnya selama rendering, sebelum dikirim ke layar.

Pada tingkat yang disederhanakan:

[Cursor Draw]   --   --   --   --   --   --   --
                                               ˅
[Windowing] --> [OS Profile] --> [Video Driver] --> [Video Card] --> [Hardware Profile] --> ...

Tangkapan layar tidak menerapkan profil warna OS pada data "bidikan", karena ditangkap pada tahap windowing. Umumnya tangkapan layar tidak akan menampilkan kursor, karena menangkap bahkan sebelum profil OS diterapkan. Namun alat tertentu (yang saya anggap Anda gunakan) untuk menangkap layar akan mencampur kursor di atas gambar dengan cara yang sama seperti kartu video. Karena level putih kursor dan latar keduanya 100%, tangkapan layar memiliki level putih yang sama untuk keduanya.

Perilaku normal yang Anda lihat dapat diperbaiki dengan menggunakan monitor atau kartu video dengan LUT perangkat keras untuk kalibrasi warna, atau dengan memaksa undian kursor terjadi pada titik rendering yang berbeda, lihat pertanyaan Photo.SE ini . Anda juga dapat mengedit gambar kursor dan mengubah tingkat putih jika itu mengganggu Anda. Namun saya pikir itu membuat kursor lebih terlihat di layar.

Richie Frame
sumber
Saya setuju bahwa kursor lebih terlihat. Itu tidak mengganggu saya, saya hanya ingin tahu bagaimana mungkin secara teknis. Apakah HDMI membawa lebih dari 8 bit per saluran atau sisa gambar dikompresi (seperti dalam kompresi audio, bukan kompresi data digital) sehingga beberapa level setara dengan level tetangganya?
CJ Dennis
1
HDMI membawa data yang tidak terkompresi, kemungkinan besar pada 8-bit per saluran dalam kasus Anda, tetapi ia mampu membawa lebih banyak. Masalah ini terjadi sebelum sinyal HDMI
Richie Frame
en.wikipedia.org/wiki/Uncompressed_video menyebutkan bahwa HDMI mungkin 24, 30, 36 atau 48 bit per piksel (8, 10, 12 atau 16 bit per saluran). Jadi jika sedang dikirim sebagai 10 bit per saluran di sistem saya, putih "murni" bisa 0x3B3 per saluran, sedangkan putih kursor adalah 0x3FF. Ini akan memungkinkan semua 256 level 8-bit menjadi berbeda sementara memberikan ruang untuk warna-warna ekstra cerah untuk kursor. Level yang paling berdekatan akan memiliki perbedaan 0x4, tetapi beberapa hanya akan 0x3.
CJ Dennis
Jika Anda memiliki kartu video yang diatur untuk menghasilkan saluran 10-bit maka itu adalah 10-bit, tetapi sepertinya tidak demikian
Richie Frame
Saya menemukan pengaturan di panel kontrol NVIDIA yang memungkinkan saya untuk mengatur kecerahan. Ini hanya memengaruhi gambar layar, bukan kursor. Saya dapat menurunkan kecerahan sampai putih, kira-kira, sekitar 0xC0, membuat kursor benar-benar menonjol! Saya tidak bisa melihat apa pun tentang bit per saluran transmisi.
CJ Dennis
1

Jawaban ini dimulai dengan analisis mengapa hal-hal yang tidak 1: 1 dengan digital, dan diakhiri dengan cara yang mungkin untuk mengubah hal-hal berdasarkan pertanyaan Anda yang sebenarnya.

  • Bidik gambar dengan kamera Anda, semua data sensor diproses.
  • Kemudian dikompres sampai mati.
  • Kemudian pindah 1: 1 ke komputer Anda.
  • Di mana ditampilkan ditampilkan disesuaikan dengan profil warna OS.
  • Di mana ia digambar secara digital pada kartu video yang tidak hanya dapat disesuaikan pengguna tetapi mungkin memiliki beberapa trik warna sendiri.
  • Dikirim ke monitor 1: 1.
  • Di mana ia dapat sepenuhnya diserang dalam pemrosesan, sebelum membuatnya ke panel layar.
  • Panel layar itu sendiri tidak dapat menampilkan semua aspeknya.
  • Warna-warna lampu latar variabel oleh persentase besar berdasarkan spektrum warna yang dipancarkan lampu latar.

Dalam hal ini kursor adalah (kemungkinan) item yang diberikan perangkat keras yang ditindih dalam perangkat keras kartu video. Hal pertama yang harus dilihat atau berusaha menyesuaikan untuk mengubahnya, adalah profil monitor dan atau profil warna yang diterapkan OS. Profil warna terdapat pada panel Kontrol, Semua item panel kontrol, Manajemen Warna di sana Anda akan menemukan profil warna yang mengubah warna sebelum sampai ke monitor itu sendiri.
Profil dapat dinonaktifkan, sehingga Anda dapat mengamati efeknya.

Penyesuaian dalam perangkat lunak kartu video. Desktop, 3D, dan Video langsung menggambar semuanya dapat dikontrol, bahkan jika hal-hal ini tidak disesuaikan dalam perangkat lunak kartu video, bisa jadi setelah semuanya diatur ke 0 0 0 masih ada beberapa pemrosesan yang ada. Anda dapat mencoba dan menggunakannya untuk mencocokkan dengan curser overlay, jika ada alasan nyata untuk mengganggunya.

Kartu video overlay perangkat keras yang diberikan kursor, dan tidak menggunakan parameter yang sama untuk itu sebagai sisa latar belakang, dan itulah cara kerjanya.

--berdasarkan pada kontrol pic tidak ada yang berlaku untuk pertanyaan-- khusus ini

Kemungkinan lain adalah pengaturan monitor, meskipun kemungkinannya kecil. Kontras otomatis, item warna otomatis pada monitor dan TV dapat menyeimbangkan area terang atau gelap yang besar, dan sering menyebabkan perubahan yang tidak diinginkan. Penyesuaian warna dan level otomatis pada monitor tidak selalu dapat disesuaikan, dan menggunakan banyak nama imut untuk tindakan yang mereka lakukan.

Profil di monitor seperti game, film, desktop, atau nama apa pun yang mereka gunakan untuk profil mengatur pengaturan warna dan kontras dan kecerahan tertentu yang mereka anggap berguna untuk profil yang dipilih, dan sekali lagi dapat perubahan yang tidak diinginkan bahkan untuk pilihan profil yang tepat.

Mempertajam algoritma dalam kamera, tidak mungkin pada kartu tampilan video, tetapi sekali lagi di monitor dapat membuat matriks penyorotan di sekitar area yang meningkatkan kontras asli, atau (tentu saja) menguranginya. Dalam pertanyaan ini kecil kemungkinannya karena putih mengembang melampaui piksel yang akan diterapkan oleh matriks penajaman, kecuali jika ada 2 pemrosesan yang berbeda.

Daftar menjadi lebih lama ketika perangkat lunak tidak benar-benar diperlukan untuk memiliki latar belakang putih, mereka dapat disesuaikan. OS dan program dapat memiliki latar belakang yang tidak putih, tetapi Anda sudah tahu bahwa tidak demikian, dalam pertanyaan ini jika Anda memilih warna latar belakang, di desktop atau program asli.

Pemilihan warna pada desktop menunjukkan warna piksel (atau piksel) yang ada di sana, memberikan fakta kepada pengguna tentang apa yang ditampilkan oleh program. Gambar berwarna muncul sebelum profil warna apa pun menyesuaikan output. Jadi memilih warna adalah cara yang bagus untuk menemukan warna yang sebenarnya. Kemudian masih melewati proses lagi.

Ada program yang ada yang akan melakukan screen capture dengan curser overlay. dari itu seseorang bisa melakukan pemilihan warna, tetapi sekali lagi kutukan dapat ditarik menggunakan metode yang berbeda, dan menjadi diproses dengan cara yang sama seperti yang lain. Jadi, meskipun dimungkinkan untuk melakukan tangkapan layar perangkat lunak digital dan termasuk kursor, itu dapat mengubah apa yang sebenarnya terlihat di sini.

Psycogeek
sumber