PDC 2008

Windows 7 における High Color

更新日: 2009 年 4 月 28 日


ダウンロード

PDC08_High_Color_in_Windows_7_JPN.docx (Word 形式、1.6 MB)


目次:

  1. はじめに


    詳細

    1. 30 ビット拡張範囲 (Extended Range) 形式
    2. 30 ビット高精度 (High Precision) 形式
    3. 48 ビット高精度および広色域 (High Precision and Wide Gamut) 形式
    4. 高精度
    5. 広色域
  2. Windows 7 との関連性
  1. Windows 7 の開発者向けサポート
    1. コンテンツ
    2. 読み込みと操作 - Windows Imaging Component (WIC)
    3. 色の管理 - Windows カラー システム (WCS)
    4. 画面上の表示
    5. 印刷と画像の取得
  2. ディスプレイ ドライバーにおける Windows のサポート
    1. 10 ビット XR_BIAS デスクトップ/スキャンアウトの実装
    2. Float16 デスクトップ/スキャンアウトの実装
  3. まとめ
  4. 詳細情報



Younus Aftab
Microsoft Corporation
2008 年 10 月

対象:

Windows® 7

要約:

このドキュメントでは、Windows 7 オペレーティング システムで High Color をサポートするために、Windows デスクトップおよびグラフィック アーキテクチャに施されたさまざまな機能強化について説明します。High Color は、従来の 8 ビットを超える色の解像度を使用できるため、イメージング アプリケーション、ビデオ アプリケーション、およびゲーム アプリケーションではより鮮明な画質を実現できます。

法的通知:

このドキュメントは暫定版であり、このソフトウェアの最終的な製品版の発売時に実質的に変更されることがあります。
このドキュメントに記載されている情報は、このドキュメントの発行時点におけるマイクロソフトの見解を反映したものです。変化する市場状況に対応する必要があるため、このドキュメントは、記載された内容の実現に関するマイクロソフトの確約とはみなされないものとします。また、発行以降に発表される情報の正確性に関して、マイクロソフトはいかなる保証もいたしません。
このホワイト ペーパーに記載された内容は情報の提供のみを目的としており、明示、黙示または法律の規定にかかわらず、これらの情報についてマイクロソフトはいかなる責任も負わないものとします。
お客様ご自身の責任において、 適用されるすべての著作権関連法規に従ったご使用を願います。このドキュメントのいかなる部分も、米国 Microsoft Corporation の書面による許諾を受けることなく、その目的を問わず、どのような形態であっても、複製または譲渡することは禁じられています。ここでいう形態とは、複写や記録など、電子的な、または物理的なすべての手段を含みます。ただしこれは、著作権法上のお客様の権利を制限するものではありません。
マイクロソフトは、このドキュメントに記載されている内容に関し、特許、特許申請、商標、著作権、またはその他の無体財産権を有する場合があります。別途マイクロソフトのライセンス契約上に明示の規定のない限り、このドキュメントはこれらの特許、商標、著作権、またはその他の無体財産権をお客様に許諾するものではありません。
© 2008 Microsoft Corporation. All rights reserved.
Microsoft、MS-DOS、Windows、Windows NT、Windows Server、Windows Vista、Active Directory、ActiveSync、ActiveX、Direct3D、DirectDraw、DirectInput、DirectMusic、DirectPlay、DirectShow、DirectSound、DirectX、Expression、FrontPage、HighMAT、Internet Explorer、JScript、Microsoft Press、MSN、Outlook、PowerPoint、SideShow、Silverlight、Visual Basic、Visual C++、Visual InterDev、Visual J++、Visual Studio、WebTV、Windows Media、Win32、Win32s、および Zune は米国 Microsoft Corporation の米国またはその他の国における登録商標または商標です。
記載されている会社名、製品名には、各社の商標のものもあります。


1. はじめに

High Color とは、8 ビットを超える解像度でのコンテンツのレンダリングを可能にする一連の機能のことです。このような機能には、次のようなものがあります。

  1. sRGB よりも広い色域のコンテンツを表示する機能
  2. より精度の高いコンテンツを表示する機能
  3. 高ダイナミック レンジを備えたコンテンツを表示する機能

色域の広いディスプレイ デバイスでは、人の目で認識できる多くの色がサポートされるようになり、これは sRGB の範囲を超えています。また、レーザー、LED、さらには最新の蛍光灯バックライトを使用することで、これまで以上に優れた画像エクスペリエンスを実現できます。sRGB よりも多くの色をサポートするさまざまな色域のコンテンツ ソースは、HD-Photo、VC1-FX、ブルーレイなど複数あります。また、PC からディスプレイにこのようなコンテンツを送信するため、HDMI 1.4 xvYcc やディスプレイ ポートをサポートするようなプロトコルもあります。

解像度をサポートするビット数が増加すると、特定の色域内の精度が高くなります。また、精度が高くなると、イメージング アプリケーション、ビデオ アプリケーション、医療用アプリケーション、編集用アプリケーションでの使用の障害となっていた縞模様が減少します。

高ダイナミック レンジ (HDR) では、より大きな値の輝度をサポートします。DirectX® (DirectX 9 以降) では、ゲームで HDR がサポートされますが、生産性向上のためのアプリケーションや Windows® デスクトップではサポートされません。

このドキュメントでは、High Color の機能を実現する、新しい 3 つのピクセル形式を紹介します。新しいピクセル形式は次のとおりです。

  • 30 ビット拡張範囲 (Extended Range) 形式
  • 30 ビット高精度 (High Precision) 形式
  • 48 ビット高精度および広色域 (High Precision and Wide Gamut) 形式

このドキュメントでは、これらの形式について詳しく説明し、Windows との関連性と、Windows テクノロジにおけるこの形式のサポートに重点を置いて説明します。

詳細

a. 30 ビット拡張範囲 (Extended Range) 形式

30 ビット拡張範囲 (Extended Range) 形式では、拡張範囲を備えた 10 ビットのモニターがサポートされます。拡張範囲は、(-.75,1.25) からの範囲に対応します。拡張範囲形式では、sRGB 形式と同じ原色、ホワイト ポイント、およびガンマを備え、機能性の高い TV やプレイヤーで、拡張された色域やコンテンツがサポートされます。

b. 30 ビット高精度 (High Precision) 形式

30 ビット高精度 (High Precision) 形式では、VGA、DVI-D、HDMI、ディスプレイ ポートのような出力を使用する 10 ビットのモニターがサポートされます。この形式は、モノクロ写真、医療用画像、Web 作成に適しています。高精度形式では、8 ビット形式よりも精度が高くなりますが、同じ sRGB 色空間、原色、およびガンマが保持されます。

c. 48ビット高精度および広色域 (High Precision and Wide Gamut) 形式

48 ビット高精度および広色域 (High Precision and Wide Gamut) 形式とは、sRGB と同じ原色とホワイト ポイントを使用する scRGB 色空間です。この形式では、イメージング アプリケーション、ビデオ アプリケーション、Web 作成アプリケーション、ゲーム アプリケーションなど、あらゆるアプリケーションをサポートします。また、HDR モニターもサポートします。

ここからは、この形式の主なメリットと、アプリケーション開発者との関連性について説明します。

  • プロフェッショナル向けアプリケーションやプロシューマー向けアプリケーションにとっては精度や画質が十分ではありません。
  • 現在のカメラの色域 (Adobe RGB など) や今後のメディア形式の色域に対応していません。
  • 現在および今後のモニターや TV の色域に対応していません。
  • ラップトップのフォーム ファクターに必要とされるように、帯域幅や電力を効率的に使用できます。
  • すべての PC、GPU、およびモニターに関する現在の標準です。
  • 医療用アプリケーションや技術アプリケーションには十分な精度や画質です。
  • 現在のカメラの色域 (Adobe RGB など) や今後のメディア形式の色域に対応していません。
  • 現在および今後のモニターや TV の色域に対応していません。
  • ラップトップのフォーム ファクターに必要とされるように、帯域幅と電力を効率的に使用します。
  • ほとんどの DX9 GPU で実装が小さくなります。
  • プロフェッショナル向けアプリケーションやプロシューマー向けアプリケーションにとっては精度や画質が十分ではない場合があります。
  • 現在のカメラと今後のメディア形式の色域の要件に対応します。
  • 現在および今後のモニターや TM の色域に対応します。
  • ラップトップのフォーム ファクターに必要とされるように、帯域幅と電力を効率的に使用します。
  • 新しい実装です。現状の GPU では透過的な複合はサポートされません。
  • 今後のあらゆるメディアの色域要件すべてに対応します。
  • ほとんどの DX9 GPU で実装が小さくなります。
  • 他の形式と比較して 2 倍の帯域幅と電力を使用します。
  • HDR (高ダイナミック レンジ) ディスプレイを有効にします。

次に、新しいピクセル形式のサポートと色仕様の概要を示します。

  • すべての新しい形式で、同じ原色とホワイト ポイントが使用されます (CCIR 709)。
  • sRGB 仕様に従い、整数の形式は 2.2 にガンマ補正されます。scRGB 仕様にあるように、浮動小数点の形式は線形です。
  • 新しい形式はすべて、2004 年以降に出荷された GPU でサポートされます。

ページのトップへ

d. 高精度

次の画像では、コンポーネントあたりのビット数が増えるにつれて縞模様が減少するようすを示しています。

図 1.1 ピクセルあたり 16 ビット

図 1.1 ピクセルあたり 16 ビット

図 2.1 ピクセルあたり 32 ビット

図 2.1 ピクセルあたり 32 ビット

ページのトップへ

e. 広色域

このドキュメントの目的では、色域が広くなることは、サポートされる色の値の範囲が広くなることを意味します。通常、sRGB で提供される色域は、Adobe RGB や xvYcc よりも狭くなります。次の図では、sRGB 範囲と、レーザー バックライト付きディスプレイでサポートされる色との色空間の違いを示しています。

図 3: sRGB の色空間表現

図 3: sRGB の色空間表現

図 4: レーザー バックライトの色空間表現

図 4: レーザー バックライトの色空間表現

ページのトップへ


2. Windows 7 との関連性

色のサポートの強化により、表示エクスペリエンスに明らかな違いが生じ、アプリケーションは見た目が良くなり、PC 所有者が行ったハードウェアへの投資が活かされます。こうしたシナリオのサポートはあらゆる層のユーザーに影響を与え、Microsoft® Windows® PC に対するユーザーの全体的な満足度が向上します。

最近の GPU やディスプレイでは、これらのピクセル形式が既にサポートされており、新しい製品は、10 ビット以上のサポートを備えた状態で出荷されています。

次の表は、このドキュメントで取り上げた関連テクノロジに対応する、業界ハードウェアの能力を示しています。

ビット深度 GPU ベンダー ディスプレイ ベンダー
8
10
FP16 ×

ページのトップへ


3. Windows 7 の開発者向けサポート

ここでは、開発者が自身のアプリケーションで High Color コンテンツを使用できるようにする、Windows 7 オペレーティング システムの機能の概要について説明します。

a. コンテンツ

High Color コンテンツは、さまざまな種類のビデオ ハードウェアやイメージング ハードウェアが使用できるようになると共に拡大しています。イメージングやビデオの主なコンテンツには、HD Photo、Raw イメージ、ブルーレイ ビデオなどがあります。

b. 読み込みと操作 - Windows Imaging Component (WIC)

Windows Imaging Component (WIC) では、次のピクセル形式を使用する High Color 形式をサポートします。 これにより、コンテンツの High Color 操作が可能になります。

  • GUID_WICPixelFormat32bppRGBA1010102
  • GUID_WICPixelFormat32bppRGBA1010102XR
  • GUID_WICPixelFormat64bppRGBAHalf

また、WIC では、High Definition Photo (HD Photo) の操作も可能になります。

次のコードは、WICPixelFormat64bppRGBAHalf 形式を使用した WIC フォーマット コンバーターの初期化を示しています。

IFC (pIWICFormatConverter->Initialize 
(piFrame,
WICPixelFormat64bppRGBAHalf, 
WICBitmapDitherTypeNone,
NULL, 
0, 
WICBitmapPaletteTypeFixedWebPalette));

c. 色の管理 - Windows カラー システム (WCS)

Windows カラー システム (WCS) では、次のピクセル形式を使用して High Color 形式をサポートします。 これにより、WCS の API を使用した色の管理が可能になります。

WCS のビットマップ形式 WCS の COLOR 形式
BM_R10G10B10A2 COLOR_10b_R10G10B10A2
BM_R10G10B10A2_XR COLOR_10b_R10G10B10A2_XR
BM_R16G16B16A16_FLOAT COLOR_FLOAT16

d. 画面上の表示

Direct 3D (D3D) では、1 チャネルあたり 10 ビット、10 ビット XR、および 16 ビットのレンダー ターゲットを作成できます。これにより、アプリケーション開発者は、従来の 8 ビット形式を超える値が含むコンテンツを保持できます。

以下の DX 形式が High Color 形式をサポートします。

  • DXGI_FORMAT_R10G10B10A2_UNORM
  • XR バイアス スワップ チェーンが指定された DXGI_FORMAT_R10G10B10A2_UNORM
  • DXGI_FORMAT_R16G16B16A16_FLOAT
    Direct 3D における High Color のサポートは、全画面モードだけに制限されます。

Direct 3D で High Color を使用するには、D3D の CheckFormatSupport 関数を使用して、ドライバー サポートをチェックします。たとえば、XR バイアス付きの 10 ビット High Color 形式がサポートされるかどうかは、次の方法でチェックできます。

CheckDeviceFormat( 
    0,
    D3DDEVTYPE_HAL, 
    D3DFMT_A2B10G10R10_XR_BIAS,
    D3DUSAGE_RENDERTARGET,
    D3DRTYPE_SURFACE, 
    D3DFMT_A2B10G10R10_XR_BIAS);
  • 10 ビット XR をサポートする場合は、XR_BIAS 形式のスワップ チェーンを作成します。レンダリングするために DXGI_FORMAT_R10G10B10A2_UNORM 形式のレンダー ターゲット ビューを作成します。
  • モニターの色空間を sRGB と比較して、拡張された色域のサポートを確認することができます。

e. 印刷と画像の取得

XPS 印刷パイプラインでは、HD Photo 形式のラスター データや scRGB 色空間など、High Color コンテンツが完全にサポートされます。High Color 印刷サポートの詳細については、Windows Hardware Developer Central (WHDC) の「印刷用ドライバでの高度な色のサポート」を参照してください。
Windows では、Windows Image Acquisition (WIA) 2.0 を使用して、スキャナーからの High Color 画像の取得もサポートします。

ページのトップへ


4. ディスプレイ ドライバーにおける Windows のサポート

a. 10 ビット XR_BIAS デスクトップ/スキャンアウトの実装

ハードウェアで 10 ビット カラー スキャンアウトがサポートされる限り、Windows® 7 オペレーティング システムで 10 ビット XR 形式をサポートするためにハードウェアを変更する必要はありません。10 ビット XR モードを有効にする場合、WDDM v1.1 ドライバーは、指定されたバイアスとスケールを LUT のコンテンツに適用する必要があります。既存の XR デスクトップ モードでは、ドライバーは、変更されていない LUT の以前のコンテンツを復元する必要があります。

範囲 (-0.5 ~ 1.5) 内で拡張された色域およびヘッドルームまたはトールームの値を (クリップするのではなく) 有効にするためには GPU が必要です。これは、拡張された色範囲をサポートする出力デバイス (HDMI 1.3 xvColor をサポートするデバイスなど) や、拡張されたヘッドルームまたはトールームをサポートするデバイスで検証できます。

b. Float16 デスクトップ/スキャンアウトの実装

ドライバーは、fp16 を線形にし、ガンマ補正を行わないようにする必要があります。整数の形式とは異なり、fp16 モードでは、フレーム バッファーに提供されたコンテンツにガンマ補正が適用されていません。つまり、fp16 がガンマ補正されることを想定するドライバーでは、ディスプレイ (特に、ローエンドの場合) が非常に暗く見えるようになるため、固定にする必要があります。

ドライバーは、浮動小数点形式のデスクトップ モードに入るときに、ガンマ ランプを変更して、sRGB ガンマと、そのランプへの線形との差分を追加する必要があります。また、fp16 モードの終了時にこのバイアスを削除する必要もあります。

ハードウェア スキャンアウト LUT 参照は、スキャンアウト パイプラインの後半に実行され、モニター プロトコルまたはワイヤ プロトコルで fp16 をサポートしている場合、実行されることはありません。

範囲 (-0.5 ~ 1.5) 内で拡張された色域およびヘッドルームまたはトールームの値を (クリップするのではなく) 有効にするには、実装が必要です。これは、拡張された色範囲をサポートする出力デバイス (HDMI 1.3 xvColor をサポートするデバイスなど) や、ヘッドルームまたはトールームをサポートするデバイスで検証できます。

ページのトップへ


5. まとめ

Windows 7 では、High Color コンテンツの読み込み、表示、および印刷を行うテクノロジ一式が提供されます。High Color をサポートするテクノロジをアプリケーションで使用すると、ユーザーにとって非常に優れたエクスペリエンスが実現し、ユーザーはディスプレイや印刷用ハードウェアの潜在能力を十分に引き出せるようになります。


6. 詳細情報

Web アドレスは変更される可能性があるため、ここに記載されている Web サイトに接続できない場合があります。

ページのトップへ