自動輝度調整
自動輝度調整は、環境光センサーの測定値に応じてシステムが自動的に設定する画面輝度です。 自動輝度調整は、輝度がユーザーの環境に自動的に適応する、応答性に優れたディスプレイ エクスペリエンスをユーザーに提供します。
Windows 11 の新機能
自動輝度の実装は、新しいパラダイムであるバケット化された環境光応答 (ALR) 曲線を使用して光センサーを Windows 11 に統合することを望む OEM のために根本的に簡素化されました。 詳細については、「Windows 11 の環境光応答曲線の変更」を参照してください。
新しい方法は、以前の OEM で構成可能なルクス対輝度曲線には依存しません。 既定の曲線は、より安定性と信頼性が高く、統合も簡単です。
[設定] ページには新しいビジュアルがあります。 [ディスプレイ設定] ページの更新内容についてはこの記事内で記述されています。 Content Adaptive Brightness Control (CABC) のためのユーザー切り替えがあります。
Windows 10 バージョン 1903 (19H1) での以下の改善はまだ有効です。
- 自動輝度は既定で有効です
- ユーザーは、アクション センター スライダーを使用して輝度を制御できます
- 自動輝度調整レジストリ構成パラメーター
ディスプレイ輝度の最適化手順と切り替え
ディスプレイ デバイスが公開する輝度レベルの数は重要です。 2 つの方法が可能であり、
- パーセンテージベース: パーセンテージ値を使用して輝度を制御し、バックライト制御の 101 個のレベル (0 から 100) をサポートします。
- ニトベース (推奨): ニト値を使用して輝度を制御すると、バックライト レベルをきめ細かく制御できます。 したがって、非常に滑らかで正確な輝度の切り替えが可能となります。
Windows は、ディスプレイ ドライバーによって公開されている輝度インターフェイスの種類を検出し、最も適切なものを選択します。 ディスプレイ ドライバーが DXGK_BRIGHTNESS_INTERFACE_2 インターフェイスしか公開していない場合、システムはパーセンテージ値を使用して輝度を制御します。 ディスプレイ ドライバーが DXGK_BRIGHTNESS_INTERFACE_3 インターフェイスを公開している場合、Windows 10 バージョン 1809 以降は、ニト値を使用して輝度を制御します。 DXGK_BRIGHTNESS_INTERFACE_3 インターフェイスは、下位レベルの Windows バージョンでは無視されます。 ディスプレイ ドライバーによって DXGK_BRIGHTNESS_INTERFACE_2 インターフェイスと DXGK_BRIGHTNESS_INTERFACE_3 インターフェイスの両方が公開されている場合、Windows 10 バージョン 1809 以降は、ニト値を使用して輝度を制御します。 下位レベルの Windows バージョンは、パーセンテージ値を使用して輝度を制御します。
輝度とディスプレイに関する考慮事項
システムが、ディスプレイ ドライブに DXGK_BRIGHTNESS_INTERFACE_3 インターフェイスを公開させることでニト単位での輝度設定をサポートしている場合は、ディスプレイを適切に調整する必要があります。 調整は、白い背景を表示しながら、ディスプレイのさまざまな場所で高品質のニト メーターでニト値を測定することによって、さまざまな強度で実行する必要があります。 ディスプレイ輝度を測定するツールは、輝度計 (luminance meter または brightness meter) と呼ばれ、電子機器ベンダーやオンライン小売業者から購入できます。
ディスプレイ実装は慎重に最適化する必要があります。 具体的には次のとおりです。
- ディスプレイが、すべての利用可能な輝度レベルにわたってスムーズに調光を行えることを確認します。
- スムーズな調光を保証するためには、十分なディスプレイ輝度レベルが公開されている必要があります。 最低でも 101 個のレベルが推奨されます。
ニト値を使用した輝度の制御
Windows 10 バージョン 1809 以降、システムは、ディスプレイ ドライバーが DXGK_BRIGHTNESS_INTERFACE_3 インターフェイスを公開しているデバイスではニトを使用して輝度を制御します。 ニト (1 カンデラ毎平方メートル) は、国際単位系 (SI) における輝度の単位です。 デバイスが適切に調整されたディスプレイと適切に調整されたセンサーを持つ場合、輝度制御はすぐに機能するはずです。 これらのデバイスでは、ALR 曲線は必要ありません。
このようなシステムのためには、光センサーとディスプレイが正確に調整されていることが重要です。 Windows 10 バージョン 1809 は、これらのシステムの製造プロセス中に発生する可能性のある小さな誤差を許容します。 コンポーネントの配置、ガラスの透明度、およびそれに類似する要因は、ルクスとニトに大きく影響する可能性があります。 したがって、ニトベース輝度システムの調整は、開発フォーム ファクター上で調整を行い、その結果を最終的なフォーム ファクターに適用するのではなく、少なくとも 1 回は最終的なフォーム ファクター設計を使用して行う必要があります。
各デバイスの製造中にデバイスごとの調整を行うと、最良の最終結果が得られます。
パーセンテージ値を使用した輝度の制御
ニトの輝度制御をサポートしていないシステムは、パーセンテージ値をサポートしている必要があります。 パーセンテージ システムでは、バックライトのパーセンテージと輝度値のマッピングが必要です。 バックライトのパーセンテージから輝度値へのマッピングは、指数関数的パターンに従う必要があります。 ニトベース輝度システムでは、各ニト レベルが調整済みであることが期待されているので、インボックス パーセンテージからニトへのマッピングが提供されます。 このインボックス パーセンテージからニトへのマッピングは、人間の視覚と色に関する科学研究を使用して、知覚的に線形の輝度スライダーを提供します。 ニト レベルが DXGK_BRIGHTNESS_INTERFACE_3 で説明されているように正しく調整されている限り、0% と 1% の間の知覚輝度の差は、1% と 2% の間の知覚輝度の差と自動的に等しくなり、それ以降も同様です。
人間の視覚は、低い光レベルでの画面輝度出力の小さな変化により敏感であるため、より滑らかな切り替えを行うためには、より多くのバックライト レベルをより低い輝度範囲に割り当てる必要があります。 たとえば、1% と 2% の間のニトの差は、10% と 11% の間の差よりも小さくする必要があります。 これは、画面の最大輝度の 50% が 50% のバックライト レベルにマップされるわけではないことを意味します。
許容できるユーザー エクスペリエンスのためには、最も低いレベルの輝度 (0%) は、暗くはあっても読み取り可能なディスプレイと対応する必要があります。 0% を 0 ニトにマップするデバイス上で輝度を 0% に設定すると、画面を明るくするためのコントロールが見えなくなるので、ユーザーは解決できない状況に陥る可能性があります。 画面は、0% でもユーザーがディスプレイ上の UI を操作するのに十分な明るさにする必要があります。 DXGK_BRIGHTNESS_INTERFACE_3 インターフェイスをサポートするデバイスでは、0% は Windows によって自動的に 5 ニト以上に制限されます。
Windows 11 における環境光応答曲線の変更
Windows 10 における自動輝度調整の実装に関しては、以下に示すいくつかの懸念点が提起されました。
- 特に非常に暗い環境や非常に明るい環境における環境光センサーの不正確な測定値
- すべてのパーセンテージまたはニト値に対応できないディスプレイ パネル
- 最適なルクスからニトへのマッピングを見つけることの困難性
これらの懸念点は以下の結果をもたらします。
- 環境光センサー (ALS) の不正確さを原因とするディスプレイ輝度の継続的な変動
- 照明が暗い環境で目立つニトのわずかな変化
これらの懸念点に対処するために、下の図に示すように、環境光応答曲線はバケット化された曲線に変更されました。 OEM は、カスタマイズ オプションを通してバケット化された曲線をオプトアウトできます。
次の図は、Windows 10 から Windows 11 への移行に伴う既定の ALR 曲線への変更を比較したものです。 既定の曲線の例が左側にあり、Windows 11 のバケット化された既定の曲線が右側にあります。 下で示した曲線は既定値として設定できる曲線の例にすぎません。 デバイスの実際の既定の曲線は、さまざまな要因に依存し、デバイスの製造元によって異なる可能性があります。
Note
Windows 10 から Windows 11 へアップグレードするシステム: 既存の Windows 10 自動輝度調整要件以外のハードウェアまたはファームウェアに対する変更はありません。変更は Windows 11 に対する内部的な変更です。 既存の Windows 10 自動輝度調整対応システムでは、Windows 11 への更新時に、新しいバケット化された曲線が適用されます。
バケット化された自動輝度機能の概要
ALS からの測定値の変動に起因する頻繫なディスプレイ輝度の変動を減らすために、バケット化された自動輝度が導入されました。 ルクス値の範囲が、1 つのターゲット輝度パーセンテージ値にマップされます。 そして、ディスプレイ輝度はターゲット パーセンテージ値に切り替わります。 DXGK_BRIGHTNESS_INTERFACE_2 インターフェイスベース デバイスでは、ターゲット パーセンテージはそのまま使用されます。 DXGK_BRIGHTNESS_INTERFACE_3 インターフェイスベース デバイスでは、ターゲット パーセンテージは対応するニト値に変換されて使用されます。 さまざまな照明条件下での実験に基づいて、ルクス範囲は 7 つの異なる重複バケットに分割され、対応するディスプレイ輝度ターゲットが割り当てられています。 ALS からの測定値は、この参照テーブルを使用してターゲット輝度にマップされます。 バケットによって、ALS 測定値の有意でない変化に対するディスプレイ輝度の変動を防ぐのに必要なヒステリシス効果がもたらされます。 重複バケットは、ALS 測定値が幅広く変化する際のバケット間のスムーズな切り替えに役立ちます。
バケット化された自動輝度は、常に 2 番目のバケットである 55% のターゲット ディスプレイ輝度から始まります。これは、このバケットがユーザーが経験する最も一般的な照明条件であるためです。 輝度が変化すると、ターゲット切り替えでは対応する上位または下位のバケットへの移動が発生します。 スライダーでは、バケット切り替えに対応するアニメーションが発生します。
インボックスのバケット化された ALR 曲線でのイベントのサンプル シーケンスを次に示します。
BucketedALRCurve は 2 番目のバケットから始まり、ターゲットは 55% です。センサーが 40 ルクスを報告します。センサーが 90 ルクスを報告します。センサーが 40 ルクスを報告します。センサーが 90 ルクスを報告します。センサーが 20 ルクスを報告します。BucketedALRCurve は 2 番目のバケットから 1 番目のバケットに移動します。 輝度ターゲットは現在 40% です。ユーザーは輝度が 15% 下がるのを目撃します。センサーが 60 ルクスを報告します。センサーが 90 ルクスを報告します。センサーが 40 ルクスを報告します。センサーが 200 ルクスを報告します。BucketedALRCurve は 1 番目のバケットから 2 番目のバケットに移動します。 輝度ターゲットは現在 55% です。 ユーザーは輝度が 15% 上がるのを目撃します
このシーケンスでは、環境光が頻繁に変動したにもかかわらず、輝度の上下は全体を通して 2 回だけでした。
デバイスは 2 番目のバケットから始まります。 センサーが 40 から 90 ルクスで変動する場合、40 と 90 ルクスは両方とも 2 番目のバケットに属しているため、輝度のパーセントは変化しません。
センサーが 20 ルクスのサンプルを報告すると、20 ルクスは 2 番目のバケット内にはないため、デバイスは 1 番目のバケットに移動します。 その後のいくつかのルクス値の間は輝度が安定します。 90 および 40 ルクス値は、1 番目のバケット内に存在するため、輝度を 2 番目のバケットに戻さないことに注意してください。
センサーが 200 ルクスのサンプルを報告すると、200 ルクスは 1 番目のバケットの最大ルクス値を超えるため、デバイスは 2 番目のバケットに移動します。
屋外シナリオ
一部のニト デバイスでは、ブースト範囲がサポートされています。 これは、自動輝度で許可されている場合、輝度が 100% を超えることができることを意味します。 6 番目と 7 番目のバケットを 100% を超えて設定することで、ユーザーがブースト範囲をサポートしているデバイスで直射日光内に入ったときに、これらのバケットがトリガーされます。
極度に暗いシナリオ
多くのセンサーは、非常に暗いシナリオを適切に処理できず、変動する ALS 値を送信します。 最低バケットは最大 100 ルクスまでであるため、このような暗い環境で輝度が頻繁に変化することはないはずです。
自動輝度レジストリ キー
このセクションで言及した OEM カスタマイズは、Windows 11 の次のレジストリ キーに関連します。
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AdaptiveDisplayBrightness\{23B44AF2-78CE-4943-81DF-89817E8D23FD}
キー | 形式 | 使用方法 |
---|---|---|
AutobrightnessLuxToNitsCurve | REG_SZ | ALS ルクス測定値からターゲット ニトへの曲線の LUT。 例: "1:8,2:25,5:35,10:60,20:90,40:90,100:130,400:170,700:200,2000:400,3000:500,4500:700" |
Windows 11 におけるカスタム ALR 曲線の輝度ヒステリシス
ほとんどのシステムは、Windows 11 において既定でバケット化された自動輝度曲線を利用します。 既定のバケット化された曲線ではヒステリシスと切り替えは使用されません。 OEM がカスタマイズされた ALR 曲線の使用にオプトインする場合は、以下のパラメーターを使用する必要があります。
キー | 形式 | 使用方法 |
---|---|---|
UpperBrightnessHysteresisLut | REG_SZ | 上限輝度ヒステリシスしきい値の LUT。 例: "10000:50000,20000:40000,50000:10000" は、その順序通りに (入力 10000 ミリニト、ヒステリシス 50000 ミリニト)、(20000、40000)、(50000、100000) によって定義される LUT を表します |
LowerBrightnessHysteresisLut | REG_SZ | 下限輝度ヒステリシスしきい値の LUT。 |
Windows 11 におけるカスタム ALR 曲線の輝度の切り替え
キー | 形式 | 使用方法 |
---|---|---|
MinBrightnessTransitionNitDelta | REG_DWORD | 輝度の切り替えをトリガーするために必要なミリニト単位で定義された最小ニト デルタ |
DefaultBrightnessTransitionInterval | REG_DWORD | ミリ秒単位で定義された 2 つの切り替えポイント間の輝度切り替えの既定の時間間隔 |
MinBrightnessTransitionInterval | REG_DWORD | ミリ秒単位で定義された 2 つの切り替えポイント間の輝度切り替えの最小時間間隔 |
MaxBrightnessTransitionInterval | REG_DWORD | ミリ秒単位で定義された 2 つの切り替えポイント間の輝度切り替えの最大時間間隔 |
テスト ケース
このセクションでは、環境光センサーのテストについて説明します。
ALS 調整
環境光センサーが与えられた環境光のセットに対して適切に調整されていることを確認します。 センサーのルクス測定値が正確であることを検証します。
ALS 調整の対象
自動輝度調整をサポートしているすべてのシステム
ALS 調整のセットアップとツール
- さまざまなルクス レベルを生成できる制御可能な (調光可能な) 光源
- ルクス単位で光を測定するライト メーター
- 環境光センサーによって報告された値を視覚化するための MonitorBrightnessApp または SensorExplorer
ALS 調整テスト手順
- デバイスの横にライト メーターをセットします。 ライト メーターは、干渉しない範囲でできるだけ環境光センサーの近くに置く必要があります。
- MonitorBrightnessApp を起動します
- 暗い部屋の中で、光源を使用して環境光のレベルをさまざまなルクス レベルに変更します
- ルクス メーターと MonitorBrightnessApp によって報告された値を読み取ります。 値は同じである必要があります
ALS 調整テストのバリエーション
- 白熱灯、CFL、LED など、さまざまな種類の制御可能な光を使用します
- さまざまな角度を使用します
ALS 調整評価 (合格または不合格)
MonitorBrightnessApp によって報告されるルクス値は、ライト メーターによって報告される値と同じである必要があります。
ALS 調整トリアージ ノート
センサー ハードウェア製造元と協力してセンサーの調整方法を理解します。
ALS 粒度
環境光センサーの変化がきめ細かく、遅延がないことを確認します
ALS 粒度の対象
自動輝度調整をサポートしているすべてのシステム
ALS 粒度のセットアップとツール
- 制御可能な調光器を備えた光源を使用して、環境光を細かく増減させます。 光源は、光を滑らかに増減させることができる必要があります。
- BrightnessTests フォルダーの MonitorBrightnessApp を使用して、環境光センサーの応答を視覚化します。
ALS 粒度テスト手順
- 暗い部屋の中で、調光器を使用して光を滑らかに増減させます
- MonitorBrightnessApp を使用して、環境光センサーの応答を視覚化します。 応答は、調光器に適用された変更と一致する必要があります。
ALS 粒度評価 (合格または不合格)
環境光センサーの応答は、調光器に適用された変更とほぼ一致している必要があります。 調光器に加えた線形的な変更は、環境光センサーからの線形的な応答をもたらす必要があります。 ALS の応答はゆっくりであっては "いけません"。 調光器への変更は、遅延なしで MonitorBrightnessApp で直ちに確認できる必要があります。
ALS 粒度トリアージ ノート
センサー ハードウェア製造元と協力して、環境光センサーの切り替えをスムーズにする方法と遅延を減らす方法を理解します。
スリープ切り替え
環境光センサーが、スリープから戻るときや蓋を開いたときでも機能することを確認します。
スリープ切り替えの対象
自動輝度調整をサポートしているすべてのシステム
スリープ切り替えの設定とツール
- 光源を使用して、環境光のオンとオフを切り替えます。
- BrightnessTests フォルダーの MonitorBrightnessApp を使用して、環境光センサーの応答を視覚化します。
スリープ切り替えのテスト手順
- 暗い部屋の中で、デバイスをオンに切り替えたり、蓋を開いたりします。
- MonitorBrightnessApp を使用して、環境光センサーの測定値を視覚化します。 センサーが低いルクス値を測定していることを確認します。
- 以下の手順を通して MonitorBrightnessApp を実行したままにします
- 蓋を閉じるか、デバイスをオフに切り替えます
- ライトをオンに切り替え、環境光が明るいことを確認します
- 蓋を開くか、デバイスをオンに切り替えます
- デスクトップに接続し、MonitorBrightnessApp で値を確認します。 ルクス値は、実際の環境光を直ちに反映する必要があります。
スリープ切り替えの評価 (合格または不合格)
環境光センサーは、コネクト スタンバイを終了するとき、または蓋を開いたときに、サンプル測定値を送信する必要があります。
スリープ切り替えのトリアージ ノート
センサー ハードウェア製造元と協力して、環境光センサーを修理する方法を理解します。
スムーズな切り替え
ディスプレイ パネルの輝度が滑らかに変化することを確認します。
スムーズな切り替えの対象
自動輝度調整をサポートしているすべてのシステム
スムーズな切り替えのセットアップとツール
- BrightnessTests フォルダーにある BrightToDim.ps1 スクリプトを使用して、輝度を線形的に増減させます。 デバイスを手動輝度に切り替えます。 このスクリプトは画面の輝度を 100 から 0 まで減らします。
- オプション: 輝度 (ニト) メーターを使用して画面の輝度を測定します
スムーズな切り替えのテスト手順
- たとえば、メモ帳を開き、画面上でそれを最大化するなどして、画面が可能な限り多くの白を表示しているようにします。
- BrightToDim.ps1 スクリプトを起動し、画面の動作を確認します。 画面は、輝度のジャンプなしで、可能な限りスムーズに切り替わる必要があります。
スムーズな切り替えの評価 (合格または不合格)
画面の輝度は上下にスムーズに切り替わる必要があり、目に見える輝度のジャンプがあってはいけません。
スムーズな画面切り替えのトリアージ ノート
ハードウェア製造元と協力して、ディスプレイ パネルの輝度の変更をスムーズにできる方法を理解します。