次の方法で共有


適応型の明るさ

アダプティブ明るさは、周囲光センサーの読み取りに応じてシステムによって自動的に設定される画面の明るさです。 アダプティブ明るさは、ユーザーの環境に合わせて明るさが自動的に調整される、より応答性の高いディスプレイ エクスペリエンスをユーザーに提供します。

Windows 11 の新機能

  • 自動明るさの実装は、新しいパラダイムであるバケット化された環境光応答 (ALR) 曲線を使用して Windows 11 に光センサーを統合することを望む OEM 向けに大幅に簡素化されました。 詳細については、「Windows 11のアンビエント ライト応答曲線の変更 」を参照してください。

  • この新しい方法は、以前の OEM で構成可能なルクス対輝度曲線には依存しません。 既定の曲線は、より安定して信頼性が高く、さらに簡単に統合できます。

  • 設定ページには新しいビジュアルがあります。 [表示設定] ページの更新については、この記事を参照してください。 コンテンツ アダプティブ明るさ制御 (CABC) のユーザー 切り替えがあります。

Windows 10 バージョン 1903 (19H1) では、次の機能強化が引き続き行われます。

  • 自動明るさは既定で有効になっています
  • ユーザーは、アクション センター スライダーを使用して明るさを制御できます
  • アダプティブ明るさレジストリ構成パラメーター

ディスプレイの明るさステップと画面切り替えを最適化する

ディスプレイ デバイスが公開する明るさレベルの数は重要です。 次の 2 つの方法が考えられます。

  1. パーセンテージベース:パーセンテージ値を使用して明るさを制御し、バックライト制御の101レベル(ゼロから100)をサポートします。
  2. ニトベース(推奨):ニト値を使用して明るさを制御することで、バックライトレベルをきめ細かく制御できます。 そのため、非常に滑らかで正確な明るさの遷移が可能になります。

Windows は、ディスプレイ ドライバーによって公開される明るさインターフェイスの種類を検出し、最も適切なものを選択します。 ディスプレイ ドライバーがDXGK_BRIGHTNESS_INTERFACE_2 インターフェイスのみを公開する場合、システムはパーセンテージ値を使用して明るさを制御します。 ディスプレイ ドライバーが DXGK_BRIGHTNESS_INTERFACE_3 インターフェイスを公開している場合、Windows 10 バージョン 1809 以降では、ニト値を使用して明るさが制御されます。 ダウンレベルの Windows バージョンでは、DXGK_BRIGHTNESS_INTERFACE_3 インターフェイスは無視されます。 DXGK_BRIGHTNESS_INTERFACE_2インターフェイスとDXGK_BRIGHTNESS_INTERFACE_3 インターフェイスの両方がディスプレイ ドライバーによって公開されている場合、Windows 10 バージョン 1809 以降では、nit 値を使用して明るさが制御されます。 下位レベルの Windows バージョンでは、パーセンテージ値を使用して明るさが制御されます。

明るさと表示に関する考慮事項

システムがディスプレイ ドライブに DXGK_BRIGHTNESS_INTERFACE_3 インターフェイスを公開することで、nit での明るさの設定をサポートしている場合は、ディスプレイを適切に調整する必要があります。 校正は、白い背景を表示しながら、ディスプレイの異なる場所で高品質のニトメーターでニト値を測定することによって、さまざまな強度で実行する必要があります。 ディスプレイの明るさを測定するツールは、輝度計または明るさ計と呼ばれ、電子機器ベンダーやオンライン小売業者から購入できます。

ディスプレイの実装は慎重に最適化する必要があります。 具体的には:

  • すべてのアクセス可能な明るさレベルでディスプレイが滑らかに淡色表示できることを確認します。
  • スムーズな調光を保証するために、十分なディスプレイの明るさレベルを公開する必要があります。 少なくとも 101 レベルをお勧めします。

nit 値を使用して明るさを制御する

Windows 10 バージョン 1809 以降では、ディスプレイ ドライバーが DXGK_BRIGHTNESS_INTERFACE_3 インターフェイスを公開するデバイスで、nit を使用して明るさを制御します。 nit (1 平方メートルあたりのカンデラ) は、輝度の国際単位システム (SI) 単位です。 デバイスが適切に校正されたディスプレイと適切に校正されたセンサーを備える場合、明るさ制御は標準で動作するはずです。 これらのデバイスでは ALR 曲線は必要ありません。

これらのシステムでは、光センサーとディスプレイを正確に校正することが重要です。 Windows 10 バージョン 1809 では、これらのシステムの製造プロセス中に発生する可能性のある小さな不正確さが許容されます。 コンポーネント、ガラスの透明度、および同様の要因の配置は、lux と nit に大きく影響する可能性があります。 したがって、ニトベースの明るさシステムのキャリブレーションは、開発フォームファクターのキャリブレーションを行い、結果を最終的なフォームファクターに適用するのではなく、最終的なフォームファクター設計で少なくとも1回行う必要があります。

各デバイスの製造時のデバイスごとのキャリブレーションは、最良の最終結果を提供します。

パーセンテージ値を使用して明るさを制御する

ニトの明るさ制御をサポートしていないシステムでは、パーセンテージ値をサポートする必要があります。 パーセンテージ システムでは、バックライトのパーセンテージと輝度値のマッピングが必要です。 バックライトのパーセンテージと輝度値のマッピングは、指数パターンに従う必要があります。 ニトベースの明るさシステムでは、各ニト レベルがキャリブレーションされることが期待されているため、インボックスのパーセンテージからニトへのマッピングが提供されます。 このインボックスのパーセンテージからニトへのマッピングは、人間の視覚と色の科学の研究を使用して、知覚的に線形の明るさのスライダーを実現します。 DXGK_BRIGHTNESS_INTERFACE_3で説明されているように、nit レベルが正しく校正されている限り、0 % と 1% の知覚輝度差は、1% と 2%の知覚輝度差と自動的に等しくなります。

人間の視覚は、低い光レベルでの画面の明るさ出力の小さな変化により敏感であるため、より多くのバックライトレベルは、より滑らかな遷移に対応するために、より低い輝度範囲に割り当てる必要があります。 たとえば、nit の 1% と 2% の差は、10% と 11%の差より小さくする必要があります。 これは、画面の最大輝度の 50% が 50% バックライト レベルにマップされないことを意味します。

許容できるユーザー エクスペリエンスの場合、最も低いレベルの明るさ (0%) は、表示は低いが読みやすいものにする必要があります。 画面を明るくするためのコントロールが表示されなくなったので、その値を 0 ニトにマップするデバイスで明るさを 0% に設定すると、ユーザーは複雑な状況に陥る可能性があります。 画面の明るさは、ユーザーがディスプレイ上の UI を操作するのに十分な 0% である必要があります。 DXGK_BRIGHTNESS_INTERFACE_3 インターフェイスをサポートするデバイスでは、0% は Windows によって自動的に 5 nit 以上に制限されます。

Windows 11 の環境光応答曲線の変更

Windows 10 のアダプティブ明るさの実装に関して、いくつかの懸念が発生しました。

  • 特に非常に暗い環境または非常に明るい環境では、環境光センサーの読み取り値が低い
  • あらゆるパーセンテージやニト値に適応できないディスプレイパネル
  • 最適なルクスからニトへのマッピングを見つけるのが難しい

これらの問題の結果は次のようになります。

  • 周囲光センサー (ALS) の不正確さによるディスプレイの明るさの継続的な変動
  • 低照明環境で目立つニトのわずかな変化

これらの懸念に対処するために、周囲光応答はバケット化された曲線を使用するように変更されました。 lux バケットと画面の明るさのパーセンテージの間の既定値のマッピングを次の表に示します。 OEM は、カスタマイズ オプションを使用してバケット化された曲線からオプトアウトし、古い曲線を使用できます。

バケツ Min Lux Max Lux 百分率
1 0 10 10
2 5 50 25
3 15 100 40
4 60 300 55
5 150 400 70
6 250 650 85
7 350 2000 100
8 1000 7000 115
9 5000 10000 130

次の図は、Windows 10 から Windows 11 への既定の ALR 曲線への変更を比較したものです。 既定の曲線の例が左側にあり、Windows 11 のバケット化された既定の曲線が右側にあります。 次に示す曲線は、既定値として設定できる曲線の例にすぎません。 デバイスの実際の既定の曲線は、さまざまな要因に依存し、デバイスの製造元によって異なる場合があります。

既定の ALR カーブに対する変更を比較する 2 つのグラフ。

手記

windows 10 から Windows 11にアップグレードする システム: 既存の Windows 10 のアダプティブ輝度要件以外のハードウェアまたはファームウェアに変更はありません。これらは Windows 11 の内部変更です。 既存の Windows 10 アダプティブ明るさ対応システムでは、Windows 11 に更新すると、新しいバケット化された曲線が発生します。

バケット化された自動明るさ機能の概要

ALS からの読み取り値の変動に応じて、頻繁に表示される明るさの変動を減らすために、バケット化された自動明るさを導入しました。 lux 値の範囲は、1 つのターゲットの明るさのパーセンテージ値にマップされます。 その後、表示の明るさがターゲットのパーセンテージ値に遷移します。 DXGK_BRIGHTNESS_INTERFACE_2 インターフェイスベースのデバイスでは、ターゲットのパーセンテージがそのまま使用されます。 DXGK_BRIGHTNESS_INTERFACE_3 インターフェイス ベースのデバイスでは、ターゲットの割合が対応するニトの値に変換され、使用されます。 さまざまな照明条件下での実験に基づいて、lux 範囲は 7 つの異なる重複バケットに分割され、対応するディスプレイの明るさターゲットが割り当てられます。 ALS からの読み取り値は、この検索テーブルを使用してターゲットの明るさにマップされます。 バケットは、ALS読み取り値の有意でない変化に対する表示輝度の変動を防止するために必要なヒステリシス効果を導入します。 重複するバケットは、ALS の読み取りが大きく変化したときに、バケット間のスムーズな切り替えに役立ちます。

バケット化された自動明るさは、ユーザーが経験する最も一般的な照明条件であるため、常に2番目のバケット、55% ターゲットディスプレイの明るさから始まります。 明るさが変化すると、ターゲット遷移は対応する上位または下位のバケットに移動します。 スライダーは、バケットの遷移に応じてアニメーション化されます。

インボックスのバケット化された ALR 曲線を含むイベントのサンプル シーケンスを次に示します。

バケット化された ALR 曲線内のイベントのシーケンスを示すフローチャート。

BucketedALRCurve は 2 番目のバケットで開始され、55%を目指します。センサーで 40 ルクスと報告されます。センサーで 90 ルクスと報告されます。センサーで 40 ルクスと報告されます。センサーで 90 ルクスと報告されますセンサーで 20 ルクスと報告されます。BucketedALRCurve は、2 番目のバケットから最初のバケットに移動します。 明るさの目標が 40% になりました。ユーザーは明るさが 15% に低下したことを確認します。センサーで 60 ルクスと報告されます。センサーで 90 ルクスと報告されます。センサーで 40 ルクスと報告されます。センサーで 200 ルクスと報告されます。BucketedALRCurve が、最初のバケットから 2 番目のバケットに移動します。 明るさターゲットが 55%になりました。 ユーザーは明るさが 15% 上がっていることを確認します。

このシーケンスでは、周囲の光が頻繁に変動する場合でも、明るさは全体的に 2 回しか上がったり下がったりししかありませんでした。

デバイスは 2 番目のバケットで開始されます。 センサーが 40 ~ 90 lux から変動する場合、40 と 90 lux の両方が 2 番目のバケットに属しているため、明るさの割合は変わることはありません。

センサーが 20 lux のサンプルを報告すると、20 lux が 2 番目のバケットに入らなくなったので、デバイスは最初のバケットに進みます。 その後、いくつかの lux 値に対して明るさが安定します。 90 と 40 lux の値は最初のバケットに存在するため、明るさが 2 番目のバケットに戻ることはありません。

センサーが 200 lux のサンプルを報告すると、200 lux が最初のバケットの最大 lux 値を超えたので、デバイスは 2 番目のバケットに進みます。

屋外シナリオ

一部の nits デバイスではブースト範囲がサポートされています。 これは、明るさが自動的に許可されている場合、明るさが 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、10000) をこの順序で定義するLUTを表します。
LowerBrightnessHysteresisLut REG_SZ 下限輝度ヒステリシスしきい値の LUT。

Windows 11 でのカスタム ALR 曲線の明るさ遷移

形式 使用
MinBrightnessTransitionNitDelta REG_DWORD millinitsで定義された明るさ遷移をトリガーするために必要な最小ニットデルタ
デフォルト輝度遷移間隔 REG_DWORD ミリ秒単位で定義された 2 つの遷移ポイント間の既定の明るさ遷移内部時間
最小輝度遷移間隔 (MinBrightnessTransitionInterval) REG_DWORD ミリ秒単位で定義された 2 つの遷移ポイント間の最小輝度遷移内部時間
最大輝度遷移間隔 REG_DWORD ミリ秒単位で定義された 2 つの遷移ポイント間の最大輝度遷移内部時間

テストケース

このセクションでは、環境光センサーのテストについて説明します。

ALS 調整

環境光センサーが特定の環境光のセットに対して適切に調整されていることを確認します。 センサーの lux の測定値が正確であることを確認します。

ALS 調整の適用対象

適応輝度をサポートするすべてのシステム

ALS キャリブレーションのセットアップとツール

  • 異なるルクスレベルを生成することができる制御可能な(調光可能な)光源
  • ルクスを測定する照度計
  • MonitorBrightnessApp または SensorExplorer を使用して、環境光センサーによって報告された値を視覚化します

ALS 校正テスト手順

  1. デバイスの横にあるライト メーターを設定します。 ライトメーターは、周囲光センサーに悪影響を与えないようにできるだけ近づける必要があります。
  2. MonitorBrightnessApp を起動する
  3. 暗い部屋では、光源を使用して周囲光のレベルを異なる lux レベルに変更します
  4. Lux メーターと MonitorBrightnessApp によって報告された値を読み取る。 値は同じである必要があります

ALS 校正テストのバリエーション

  1. 白熱灯、CFL、LED など、さまざまな種類の制御可能なライトを使用する
  2. さまざまな角度を使用する

ALS キャリブレーション評価 (合格または失敗)

MonitorBrightnessApp によって報告される lux 値は、ライト メーターによって報告される値と同じである必要があります。

ALS 調整のトリアージ メモ

センサーハードウェアの製造元と協力して、センサーを調整する方法を理解してください。

ALS の細分性

環境光センサーの変更が遅延なしで細かく調整されていることを確認します

ALS の細分性の適用対象

適応輝度をサポートするすべてのシステム

ALS の細分性設定とツール

  • 制御可能な調光器を備えた光源を使用して、周囲光を細かく上下に傾斜します。 光源は、ライトをスムーズに上下にランプできる必要があります。
  • BrightnessTests フォルダーの MonitorBrightnessApp を使用して、環境光センサーの応答を視覚化します。

ALS 粒度試験手順

  1. 暗い部屋では、調光器を使用して、ライトレベルをスムーズに上下に上昇させる
  2. MonitorBrightnessApp を使用して、環境光センサーの応答を視覚化します。 応答は、調光器に適用された変更と一致する必要があります。

ALS の細分性の評価 (成功または失敗)

環境光センサーの応答は、調光器に適用される変更と密接に一致する必要があります。 調光器を線形に変更すると、周囲光センサーからの線形応答が得られます。 ALS への応答は目立たないものではありません。 ディマーの変更は、遅延なしで MonitorBrightnessApp にすぐに表示されます。

ALS 細分性のトリアージ メモ

センサー ハードウェアの製造元と協力して、環境光センサーの遷移をスムーズにする方法と遅延を減らす方法を理解してください。

スリープ状態の遷移

スリープ状態から外れたとき、または蓋を開けるとき、周囲光センサーが引き続き機能していることを確認します。

スリープへの移行の適用対象

適応輝度をサポートするすべてのシステム

スリープ画面切り替えのセットアップとツール

  • 光源を使用して周囲光のオンとオフを切り替えます。
  • BrightnessTests フォルダーの MonitorBrightnessApp を使用して、環境光センサーの応答を視覚化します。

スリープ遷移テスト手順

  1. 暗い部屋で、デバイスの電源を入れたり、蓋を開いたりします。
  2. MonitorBrightnessApp を使用して、周囲光センサーの読み取り値を視覚化します。 センサーが低い lux 値を読み取っていることを確認します。
  3. MonitorBrightnessApp を次の手順で実行したままにする
  4. 蓋を閉じるか、デバイスをオフにする
  5. ライトをオンに切り替え、周囲の光が明るいことを確認します
  6. 蓋を開くか、デバイスの電源を入
  7. デスクトップに接続し、MonitorBrightnessApp の値を確認します。 lux 値は、実際の周囲光を直ちに反映する必要があります。

スリープ遷移の評価 (成功または失敗)

周囲光センサーは、コネクト スタンバイを終了するとき、または蓋を開いたときに、サンプルの読み取り値を送信する必要があります。

スリープへの移行のトリアージ メモ

環境光センサーを固定する方法を理解するには、センサー ハードウェアの製造元と協力してください。

スムーズな切り替え

表示パネルの明るさがスムーズに変化することを確認します。

スムーズな切り替えの適用対象

適応輝度をサポートするすべてのシステム

スムーズな切り替えのセットアップとツール

  • BrightnessTests フォルダーにある BrightToDim.ps1 スクリプトを使用して、明るさを直線的に上下に上昇します。 デバイスを手動で明るさに切り替えます。 スクリプトによって画面の明るさが 100 から 0 に下がります。
  • オプション: 明るさ (ニト) メーターを使用して画面の明るさを測定する

スムーズな遷移テスト手順

  1. 画面ができるだけ白く表示されていることを確認します。たとえば、メモ帳を開き、画面上で最大化します。
  2. BrightToDim.ps1 スクリプトを起動し、画面の動作を確認します。 画面は、明るさを飛び越えることなく、できるだけスムーズに遷移する必要があります。

スムーズな遷移評価 (成功または失敗)

画面の明るさはスムーズに上下に遷移する必要があり、明るさに目に見えるジャンプはありません。

スムーズな切り替えのトリアージ メモ

ハードウェアの製造元と協力して、ディスプレイ パネルの明るさの変更をスムーズに行う方法を理解してください。

関連項目