以下、発明を実施するための形態(以下実施の形態とする)について 説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(情報処理システム)
2.第2の実施の形態(復元変換処理)
3.第3の実施の形態(復元変換処理)
4.第4の実施の形態(復元変換処理)
5.第5の実施の形態(復元変換処理)
6.第6の実施の形態(パーソナルコンピュータ)
<1.第1の実施の形態>
[デバイスの構成]
図2は、本発明を適用した情報処理システムの構成例を示す図である。図2に示される情報処理システム100は、デジタルスチルカメラ101にモニタ102がHDMI(High-Definition Multimedia Interface)ケーブル103を介して接続されている。
デジタルスチルカメラ101は、被写体を撮像し、画像データ(コンテンツ)を生成する。デジタルスチルカメラ101は、その画像データを書き込み可能な光ディスクに記録する。デジタルスチルカメラ101は、さらに、光ディスクに記録された画像データを読み出して再生し、デジタルスチルカメラ101が有するモニタ(図示せず)に表示させたり、HDMIケーブル103を介してモニタ102に供給し、モニタ102に表示させたりする。
このように、情報処理システム100は、画像データの生成(取得)、記録、読み出し(再生)、および、出力(画像の表示)を行う。つまり、情報処理システム100は、記録デバイス、再生デバイス、および出力デバイスを有する。
記録デバイスは、例えば撮像により得られた、若しくはシステム外部より取得した画像データを記録媒体に記録する。例えば、記録デバイスは、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)等のイメージセンサによって被写体を撮像し、メモリーカード、磁気テープ、またはDVD等の記録メディア(記録媒体)に記録するデバイスを意味する。例えば、デジタルスチルカメラ、ビデオカメラ、フィルムスキャナ、およびカメラ機能付き携帯電話機等がこの記録デバイスに相当する。
再生デバイスは、記録媒体に記録されている画像データを読み出し出力デバイスに供給する。再生デバイスは、例えば、何らかの記録メディアに記録された映像を再生する機能を持つデバイスを意味する。例えば、ビデオテーププレーヤ、DVDプレーヤ、ブルーレイディスクプレーヤ、並びに、再生機能を有するデジタルスチルカメラ、ビデオカメラ、および携帯電話機等がこれに相当する。
出力デバイスは再生デバイスより供給された画像データの画像を表示する。出力デバイスは、例えば、映像信号を何らかの方法で出力する機能を持つデバイスを意味する。例えば、テレビジョン受像機、プロジェクタ、プリンタ、並びに、モニタを有するデジタルスチルカメラ、ビデオカメラ、および携帯電話機等がこれに相当する。
図2の例の場合、デジタルスチルカメラ101が、記録デバイス、再生デバイス、および出力デバイスに相当し、モニタ102が、出力デバイスに相当する。HDMIケーブル103は、再生デバイスと出力デバイスを繋ぐ通信バスであり、光ディスクは、記録媒体に相当する。
情報処理システム100は、以上のような画像データに関する処理において、画像データの色域の変換や復元をより適切に行うシステムである。
デジタルスチルカメラ101やモニタ102が表示可能な色域の範囲は、それぞれ有限である。したがって、通常の場合、画像データの色域を出力デバイスに合わせる色域変換処理が必要になるが、再生デバイスや出力デバイスがそれらの機能を有しているとは限らない。そして、画像データ記録時には、どのようなデバイスによって再生・出力されるかは不明である。
そこで、記録デバイスとしてのデジタルスチルカメラ101は、自然クリップによる色廻りの発生を抑制するために、画像データを光ディスクに記録する際に、予め画像データの色域を、範囲が有限な所定の色域に変換する。
画像データの色域は、出力デバイスが対応可能な色域と一致するのが望ましい。例えば、画像データの色域の、出力デバイスの色域より広い部分は、色廻りが発生する恐れがある。つまり、色域変換による色域の圧縮が不要に少なく、画像データの色域が出力デバイスの色域に対して広すぎると、色廻りの発生等により画質が劣化する恐れがある。逆に、画像データの色域の、出力デバイスの色域より狭い部分は、出力デバイスの能力を最大限に引き出せていない。つまり、色域変換により画像データの色域を不要に狭くしすぎると、色再現性が不要に低減し、画質が劣化する恐れがある。
しかしながら、デジタルスチルカメラ101のモニタにおいて表示可能な色域と、モニタ102において表示可能な色域とが互いに同一であるとは限らない。つまり、使用される出力デバイスによって対応可能な色域が異なる可能性がある。
そこで、記録デバイスとしてのデジタルスチルカメラ101は、画像データの色域を、一般的に適度と思われる所定の色域に変換して光ディスクに記録する。この色域変換を仮圧縮と称する。
再生デバイスとしてのデジタルスチルカメラ101は、その仮圧縮された画像データを光ディスクより読み出し、その画像データの色域を、出力デバイス(デジタルスチルカメラ101またはモニタ102)が表示可能な色域に合わせて再度変換する。この色域変換を本圧縮と称する。
このとき、画像データの色域が出力デバイスの色域より広い場合、再生デバイスとしてのデジタルスチルカメラ101は、2回目の色域変換(本圧縮)を行い、画像データの色域を出力デバイスの色域に変換する。
また、画像データの色域が出力デバイスの色域より狭い場合、再生デバイスとしてのデジタルスチルカメラ101は、画像データの色域を仮圧縮前の状態に戻し、再度、その画像データの色域を出力デバイスの色域に変換する(本圧縮を行う)。つまり、再生デバイスとしてのデジタルスチルカメラ101は、画像データの本来の色域を復元し、改めて、出力デバイスの色域に応じた適切な色域変換を行う。
色域の復元とは、画像データの色域の一部または全部を色域変換前の状態に戻す処理のことである。なお、撮像されて得られた画像データのように、色域変換前の色域が無限に広い場合、色域を「完全に」復元することは困難であるが、少なくとも部分的に(実質的に有用な部分を)復元することは可能である。
予め色域変換された画像に対して、まず復元処理を行って画像の色域の少なくとも一部を一旦色域変換前の状態に戻してから、色域変換処理を行ってその画像の色域を目標とする色域に色域変換する処理を第1の変換処理とする。また、予め色域変換された画像に対して復元処理を行わずに色域変換処理を行い、予め色域変換された画像の色域を、目標とする色域にさらに変換する処理を第2の変換処理とする。再生デバイスとしてのデジタルスチルカメラ101は、予め色域変換された画像の色域と目標とする色域との関係に応じて、その画像に対して第1の変換処理若しくは第2の変換処理のいずれを行うかを決定し、決定した方の処理を実行する。このようにすることにより、再生デバイスとしてのデジタルスチルカメラ101は、画像データの色域を仮圧縮によって目標とする色域よりも不要に狭くしてしまった場合であっても、その目標とする色域に適切に合わせることができるので、出力デバイスの色再現能力を最大限に引き出すことができ、画質の劣化を抑制することができる。
なお、再生デバイスとしてのデジタルスチルカメラ101がこのような処理を行うことができるように、記録デバイスとしてのデジタルスチルカメラ101は、色域を仮圧縮した画像データに、色域変換用のメタデータ(色域メタデータ)や色域の復元用のメタデータ(復元メタデータ)を付加し、画像データとともに光ディスクに記録する。再生デバイスとしてのデジタルスチルカメラ101は、これらのメタデータを用いて色域変換処理や復元処理を行う。
ところで、上述したように、再生デバイスとしてのデジタルスチルカメラ101は、画像データの色域および出力デバイスの色域に応じて、色域変換処理および復元処理を適宜行う。換言すれば、再生デバイスとしてのデジタルスチルカメラ101は、復元処理や色域変換処理を常に行うとは限らない。これは、例えば、出力デバイスの色域が仮圧縮された画像データの色域よりも狭い場合や、再生した画像データが本圧縮されたデータ(本圧縮データ)である場合もあり、必ずしも復元処理や色域変換処理が必要であるとは限らず、常に復元処理や色域変換処理を行うようにすることは、処理が非効率である恐れがあるからである。
再生デバイスとしてのデジタルスチルカメラ101が色域変換処理および復元処理を適切に行うことができるようにするために、記録デバイスとしてのデジタルスチルカメラ101は、画像データの色域変換方法、色域メタデータや復元メタデータの付加および記録等を制御する。また、再生デバイスとしてのデジタルスチルカメラ101自身も、画像データの色域変換状況の確認、および、画像データと出力デバイスの色域の比較等を行う。再生デバイスとしてのデジタルスチルカメラ101は、それらの結果等に基づいて、画像データの色域変換処理および復元処理の実行を制御する。
なお、図2において、デジタルスチルカメラ101は、記録デバイス、再生デバイス、および出力デバイスの一例を示すものである。これらのデバイスは、デジタルスチルカメラ以外の装置であってもよく、色域変換や復元を行う装置であればどのような機能を有する装置であっても良い。例えば、装置外部から画像データを取得し、画像処理を行う情報処理装置であってもよい。
また、記録デバイス、再生デバイス、および出力デバイスが、互いに異なる装置として構成されるようにしてももちろんよい。デジタルスチルカメラ101とモニタ102のように、記録デバイスと再生デバイスが、出力デバイスとは別の1つの装置として構成されるようにしてもよい。さらに、再生デバイスと出力デバイスが、記録デバイスとは別の1つの装置として構成されるようにしてもよい。
光ディスクは、画像データを記録する記録媒体(記憶媒体)の一例であり、書き込み(追記または書き換え)可能な記録媒体であれば、どのようなものであっても良い。例えば、CD-R(Compact Disc - Recordable)、CD-RW(Compact Disc - Rewritable)がある。また、例えば、DVD±R(Digital Versatile Disc ± Recordable)、または、DVD±RW(Digital Versatile Disc ± Rewritable)がある。さらに、例えば、DVD-RAM(Digital Versatile Disc - Random Access Memory)、BD-R(Blu-ray Disc - Recordable)、または、BD-RE(Blu-ray Disc - Rewritable)がある。記録デバイスや再生デバイスが対応しているのであれば、これらの規格以外の光ディスク(記録媒体)であってももちろんよい。
また、光ディスクの代わりに、フラッシュメモリ、ハードディスク、またはテープデバイス等を用いるようにしてもよい。さらに、可搬性のリムーバブルメディアでなくてもよく内蔵型の記録媒体であってもよい。もちろん、この記録媒体が、例えば周辺機器やサーバ等のように、デジタルスチルカメラ101と別体として構成されるようにしてもよい。
なお、色域変換は、色域の範囲を変更する処理である。したがって、色域を狭くする場合も、色域を広くする場合も含まれる。例えば、ある部分において色域を狭くし、他の部分において広くしたりすることも含まれる。ただし、一般的に、色域変換は、色域を狭くする色域圧縮の場合が多い。したがって、以下においては、基本的に色域圧縮の場合を例に説明を行う。ただし、以下の説明は、色域を広げる色域伸長にも基本的に適用可能である。
次に、このデジタルスチルカメラ101の構成について説明する。
図3は、図2のデジタルスチルカメラ101の記録に関する主な構成例を示すブロック図である。図3に示されるように、記録デバイスとしてのデジタルスチルカメラ101−1は、撮像部201、ユーザ指定受付部202、色域変換制御部203、色域変換処理部204、復元メタデータ生成部205、および記録部206を有する。
撮像部201は、ユーザ指定受付部202により受け付けられたユーザ指示に基づいて被写体を撮像し、その画像データを生成し、色域変換制御部203に供給する。ユーザ指定受付部202は、例えばスイッチやボタン等のユーザインタフェースを有し、それらを介してユーザによる指定(指示)操作を受け付ける。ユーザ指定受付部202は、入力されたユーザ指定を撮像部201や色域変換制御部203に供給する。
色域変換制御部203は、例えばユーザの指定や各種設定値等に基づいて色域変換について最適な方法を選択する。色域変換処理部204は、その色域変換制御部203の制御に基づいて(選択された方法で)、画像データの色域を変換したり、変換後の色域を示す色域メタデータを生成したりする。
色域変換制御部203により復元メタデータを生成するように制御される場合、復元メタデータ生成部205は、その色域変換制御部203に制御に基づいて、色域変換処理部204から色域変換された画像データおよび色域メタデータを取得すると、その画像データについて、色域変換前の色域を復元するための復元メタデータを生成する。復元メタデータ生成部205は、画像データ、色域メタデータ、および復元メタデータを記録部206に供給する。
色域変換制御部203により復元メタデータを生成しないように制御される場合、色域変換処理部204は、画像データと色域メタデータを、復元メタデータ生成部205を介さずに記録部206に供給する。
記録部206は、例えば光ディスク110が装着されるドライブの書き込み機能を示す。記録部206は、色域変換処理部204から供給された画像データおよび色域メタデータ、または、復元メタデータ生成部205から供給された画像データ、色域メタデータ、および復元メタデータを、コンテンツとして、ドライブに装着された光ディスク110に記録する。
図4は、図2のデジタルスチルカメラ101の再生出力に関する主な構成例を示すブロック図である。図4に示されるように、再生デバイスおよび出力デバイスとしてのデジタルスチルカメラ101−2は、再生部301、変換状況判定部302、色域情報記憶部303、復元変換処理部304、および表示部305を有する。
再生部301は、例えば光ディスク110が装着されるドライブの読み出し機能を示す。再生部301は、ドライブに装着された光ディスク110からコンテンツ(例えば、画像データ、色域メタデータ、および復元メタデータ)を読み出し、変換状況判定部302に供給する。
変換状況判定部302は、例えば再生部301から供給された画像データのヘッダ情報やフラグ情報、色域メタデータ、および復元メタデータ等の各種情報に基づいて、例えば仮圧縮であるか、または本圧縮であるか等、その画像データの変換状況を判定する。変換状況判定部302は、コンテンツの各データとともに、その判定結果を復元変換処理部304の制御部311に供給する。
色域情報記憶部303は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスク、光ディスク、またはフラッシュメモリ等の所定の記憶媒体を有し、表示部305が表示可能な色域を示す色域情報を記憶する。色域情報記憶部303は、その色域情報を、必要に応じて復元変換処理部304の制御部311に供給する。
復元変換処理部304は、画像データの色域変換処理や復元処理を行う。復元変換処理部304は、制御部311、復元処理部312、および色域変換処理部313を有する。
制御部311は、色域情報記憶部303から供給された表示部305の色域と、色域メタデータに示される画像データの色域とを比較する。制御部311は、その比較結果、および色域変換状況等に応じて、色域変換処理や復元処理の実行を制御する。
例えば、制御部311は、画像データの元の色域を復元する場合、その画像データを復元処理部312に供給する。つまり、制御部311は、その画像データを、復元処理部312および色域変換処理部313を介して表示部305に供給する。また、例えば、制御部311は、画像データを色域変換する場合、その画像データを、復元処理部312を介さずに色域変換処理部313に供給する。つまり、制御部311は、その画像データを、色域変換処理部313のみを介して表示部305に供給する。さらに、例えば、制御部311は、画像データの色域が本圧縮されている場合、その画像データを、色域変換処理部313および復元処理部312を介さずに表示部305に供給する。
復元処理部312は、制御部311に制御されて復元処理を行い、制御部311から供給された画像データの色域を仮圧縮前の状態に戻す。復元処理部312は、復元処理した画像データを色域変換処理部313に供給する。
色域変換処理部313は、制御部311に制御されて色域変換処理を行い、制御部311または復元処理部312から供給された画像データの色域を表示部305の色域に本圧縮する。色域変換処理部313は、色域を本圧縮した画像データを表示部305に供給する。
表示部305は、供給された画像データの画像を表示する、例えばLCD(Liquid Crystal Display)や有機ELディスプレイ(Organic Electroluminescence Display)等よりなるモニタである。
なお、以下においては、デジタルスチルカメラ101のモニタに画像を表示させる場合について説明する。画像をモニタ102に表示させる場合は、デジタルスチルカメラ101がモニタ102の色域を事前に把握し、例えば色域情報記憶部303に格納していればよい。本圧縮された画像データをモニタ102に供給すること以外は、基本的に、デジタルスチルカメラ101のモニタに表示させる場合と同様であるので、その説明は省略する。
[記録時の処理]
次に、デジタルスチルカメラ101−1(記録デバイスとしてのデジタルスチルカメラ101)が実行する記録時の処理について説明する。
デジタルスチルカメラ101−1は、撮像部201において生成された画像データを光ディスク110に記録する際に、記録時制御処理を実行し、画像データの色域変換を行う。図5のフローチャートを参照し、この記録時制御処理の流れの例を説明する。
記録時制御処理が開始されると、色域変換制御部203は、ステップS101において、例えばユーザ指定受付部202により受け付けられたユーザ指定、予め受け付けられて記憶されたユーザ指定、そのユーザ指定により更新された各種設定値、または、その他の各種設定値等に基づいて、情報処理システム100における標準ターゲット色域が指定されたか否かを判定する。標準ターゲット色域は、情報処理システム100において、画像データの最終的な色域であるターゲット色域の標準値として予め定められた色域である。一般的に、この標準ターゲット色域には、sRGBのような比較的狭い色域が適用される。
色域変換制御部203は、変換後の色域として、標準ターゲット色域が指定されたか否かを判定する。標準ターゲット色域が指定されたと判定した場合、ステップS102に進む。ステップS102において、色域変換処理部204は、画像データの色域に対して、標準ターゲット色域により本圧縮を行う。
ここで、本圧縮とは、画像データの色域を、画像出力時の色域、すなわち、最終的な色域に変換することである。例えば撮影時の画像の色域は十分に大きく無制限と同等である。しかしながら、そのままでは再生デバイスや出力デバイスで表現される色が破たんしてしまう恐れがあるので、画像データの色域変換が行われる。このとき、出力デバイスより画像が出力される際の色域に変換することを本圧縮と称する。通常の場合、この記録時においては利用される出力デバイスが不確定であるので、この段階での本圧縮のターゲット色域は、標準ターゲット色域である。また、不要に色域を狭くしても無意味であるので、一般的には本圧縮時のターゲット色域が最も狭い色域となる。つまり、一般的に、情報処理システム100において使用される色域の中で最も狭い色域は、標準ターゲット色域となる。
記録部206は、ステップS103において、色域変換処理部204による本圧縮により得られた本圧縮データを、その色域メタデータ(標準ターゲット色域メタデータ)と共に光ディスク110に記録し、記録時制御処理を終了する。
また、ステップS101において、標準ターゲット色域が指定されていないと判定された場合、処理はステップS104に進む。ステップS104において、色域変換処理部204は、色域変換制御部203に制御され、ユーザ指定受付部202において受け付けられたユーザ指定において指定される仮ターゲット色域により仮圧縮を行う。
仮圧縮とは、本圧縮以外の圧縮のことである。この仮圧縮におけるターゲット色域に制限は無い。ただし、本圧縮時のターゲット色域よりも広い色域がターゲット色域とされる場合が多い。画像データが光ディスク110に記録される時点では、その画像データがどのような出力デバイスから出力されるのか不明である。そこで色域変換処理部204は、安全のため(後段において故障が発生しないようにするため)に、ユーザ指定に基づいて定められた仮のターゲット色域に、画像データの色域を変換し、その色域変換後の画像データを光ディスク110に記録する。このような色域変換を仮圧縮と称する。
仮圧縮が終了すると、色域変換制御部203は、ステップS105において、予め定められた所定の復元メタデータ付加条件が成立するか否かを判定する。復元メタデータ付加条件が満たされると判定された場合、ステップS106に進む。
ステップS106において、復元メタデータ生成部205は、復元処理の際に参照される復元メタデータを生成する。ステップS107において、記録部206は、仮圧縮により得られた仮圧縮データを、その色域メタデータ(仮ターゲット色域メタデータ)、および、ステップS106の処理により生成された復元メタデータとともに光ディスク110に記録し、記録時制御処理を終了する。
また、ステップS105において、復元メタデータ付加条件を満たさないと判定された場合、ステップS108に進む。ステップS108において、記録部206は、仮圧縮により得られた仮圧縮データを、その色域メタデータ(仮ターゲット色域メタデータ)とともに光ディスク110に記録し、記録時制御処理を終了する。つまり、この場合、復元メタデータは付加されない。
以上の記録時制御処理において、ステップS105の復元メタデータ付加条件は、復元メタデータを付加するために満たすべき条件である。この条件の内容は基本的に任意である。
例えば、復元メタデータの添付をユーザが指定することを復元メタデータ付加条件としてもよい。つまり、この場合、ユーザ指定によって復元メタデータを付加するか否かが決定される。
ステップS105において、復元メタデータの添付をユーザが指定したと判定された場合、ステップS106に進む。つまり、復元メタデータが生成され、画像データに添付されて記録される。デジタルスチルカメラ101−2は、その復元メタデータを用いて復元処理を実行することができる。逆に、ステップS105において、復元メタデータの添付をユーザが指定していないと判定された場合、ステップS108に進む。つまり復元メタデータは生成されない。したがってデジタルスチルカメラ101−2は復元処理を実行することができない。
また、例えば、記録する圧縮データの語長が所定の長さ(例えば9ビット)以上である(高階調画像である)ことを復元メタデータ付加条件としてもよい。
一般的に画像データの語長は8ビット以下である場合が多いが、高階調な画像用として語長が9ビット以上とされる画像データも存在する。
画像データの語長が9bitより小さい(即ち8bit以下)である場合、復元メタデータを添付し復元を行うようにしても、画像データの精度不足で復元した画像データに階調とびが発生する可能性が高い。これに対して、精度が不足した場合でも階調とびが発生する付近に誤差拡散法などを用いて階調とびを軽減する方法も考えられるが、処理が複雑になるので採用されないことも多い。一般的に、復元処理は、単純データ伸張を画素ごとに行うのみである場合が多い。したがって、8bitデータを復元しても有用な復元データが得られない恐れがある。
そこで、語長が高階調(例えば9bit以上)な画像データの場合のみ、復元処理を実行することができるように、復元メタデータが生成され、画像データに付加される。
ステップS105において、画像データの語長が9ビット以上である(高階調画像である)と判定された場合、ステップS106に進む。つまり、復元メタデータが生成され、画像データに添付されて記録される。デジタルスチルカメラ101−2は、その復元メタデータを用いて復元処理を実行することができる。逆に、ステップS105において、画像データの語長が8ビット以下である(高階調画像でない)と判定された場合、ステップS108に進む。つまり復元メタデータは生成されない。したがってデジタルスチルカメラ101−2は復元処理を実行することができない。
なお、この高階調であるか否かの閾値とするビット長は任意である。例えば10ビットや12ビット等としてもよいし、6ビットなどとしてもよい。ユーザが任意に設定することができるようにしてもよい。
また、画像データの語長は、例えば画像データのフォーマット等の他の条件に基づいて決定される場合も考えられる。例えば、ビットマップ(BMP)フォーマットの場合や、JPEG(Joint Photographic Experts Group)フォーマットの場合、静止画像の語長は8ビットとなる。
したがって、撮像部201において画像データが生成される時点において、復元メタデータを付加するか否かが決定されるようにしてもよい。このような場合、ステップS105の処理は省略され、ステップS106およびステップS107の各処理、または、ステップS108の処理のいずれか一方が実行される。
以上のように、色域変換制御部203がユーザに指定されたターゲット色域を判定し、色域変換処理部204が画像データをその指定された色域に変換し、さらに、仮圧縮の場合、所定の復元メタデータ付加条件が満たされるとき、復元メタデータ生成部205が復元メタデータを生成し添付する。
このように記録制御処理を行うことにより、色域変換制御部203は、デジタルスチルカメラ101−2が復元処理を実行可能であるようにするか否かを制御することができる。つまり、デジタルスチルカメラ101−1は、デジタルスチルカメラ101−2に、ユーザ指定や画像データの語長等の記録時の事情を考慮して復元処理や色域変換処理の制御を行わせることができる。
なお、以上においては、ステップS101において、標準ターゲット色域の指定がなされたか否かを判定するように説明したが、ターゲット(目標)とする色域が予め定められている場合も考えられる。
例えば、画像データが静止画のデータであり、そのフォーマットがビットマップ(BMP)フォーマットまたはPNGフォーマットである場合、sRGB色域がターゲット色域とされる。また、例えば、画像データが動画像のデータであり、その画像がSD(Standard-Definition)の場合、sRGB色域と同等の広さのBT601色域がターゲット色域とされ、画像がHD(High-Definition)の場合、sRGB色域と同等の広さのBT709色域がターゲット色域とされる。
画像データのフォーマットがこれらのフォーマットに予め定められている場合、ターゲット色域としてフォーマットに対応する色域が選択される。すなわち、その色域(sRGB色域、BT601色域、BT709色域等)が標準ターゲット色域とされて本圧縮が行われる。つまり、この場合、ステップS101の判定処理は省略され、ステップS102およびステップS103の処理が行われる。
また、ターゲット(目標)とする色域が、例えば撮影モードによって定められるようにしてもよい。例えば、撮像部201による撮像時のモードが、スタンダード(標準)モードである場合、ターゲット色域がsRGB色域とされるようにしてもよい。この場合、ユーザが撮影時にスタンダードモードを選択した時点で、ターゲット色域としてsRGB色域が選択される。すなわち、このsRGB色域が標準ターゲット色域とされて本圧縮が行われる。つまり、この場合、ステップS101の判定処理は省略され、ステップS102およびステップS103の処理が行われる。
次に、色域変換の概要について説明する。図6は、色度情報のフォーマットの例を示す図である。
デジタルスチルカメラ101により撮像された静止画はsYCC色空間という輝度・色差信号空間に記録されるものとする。sYCCとはIEC(International Electrotechnical Commission)(国際電気標準会議)にて制定され、IEC 61966-2-1AMD(sRGBの補足資料)として国際標準定義となっている静止画記録用色空間である。人間が知覚できる色の95%以上が記録可能であり、民生用のデジタルスチルカメラが感知できる色を記録するだけの十分な色域を保持している。この実施例において、記録映像コンテンツが静止画、記録デバイス色域情報がsYCCとなる。
ハードディスク記録時に1回目の色域変換が行われる。この圧縮の仮出力デバイス色域は、sRGB空間であり、その色度情報は、図6Aに示されるグラフや、図6Bに示されるテーブルのようになる。sRGB(Standard RGB)は、ある標準視環境下で観察される標準ディスプレイ上の色としてIECが規定した色空間である。IEC 61966-2-1として国際標準定義となっている静止画記録用色空間である。
図7Aに示されるように、あるデバイスの色域をYCC(Y,Cb,Cr)空間で表現したとき(色域401)に、等色相平面で切断した切断平面は、図7Bに示されるように、縦軸を輝度Y, 横軸を彩度CにしたYC2次元平面で表わすことができる(色域402)。この平面上での色域形状は、最高彩度点(Cusp)のYC座標がわかれば、図7Bに示される色域402のように、白点、黒点、およびCusp点を結ぶ三角形で近似可能である。この性質を利用して、いくつかの代表色相面(H)でのCusp点のYC座標(Cusp情報)を数値テーブルとして保持していれば、デバイスの色域401を近似的に定義することができる。この様な代表色相の最高彩度点(Cusp)のYC座標(Cusp情報)のテーブルをCuspテーブルと称する。
図8は、そのCuspテーブルの例を示す図である。グラフ411−1は、色相(H)毎のCusp点の輝度(Y)をグラフ化したものである。グラフ411−2は、色相(H)毎のCusp点の彩度(C)をグラフ化したものである。また、テーブル412は、代表色相(H)の輝度(Y)と彩度(C)の値をテーブル化したものである。テーブル412の値を用いて補間処理を行い、代表色相間(中間色相)の輝度や彩度を求めることも容易に可能であるので、グラフ411−1およびグラフ411−2とテーブル412は略等価の情報である。このように、Cuspテーブルは、少なくとも代表色相毎の、Cusp点のYC座標が示されていればよく、そのフォーマットは任意である。
[色域変換]
色域変換処理部204は、以上のようなCuspテーブルを用いて色域変換(本圧縮または仮圧縮)を行う。以下に、この色域変換処理の詳細について説明する。
図9のフローチャートを参照して、色域変換処理の流れの例を説明する。必要に応じて、図10乃至図16を参照して説明する。
色域変換処理が開始されると、色域変換処理部204は、ステップS121において、色域変換により色廻りが発生しないように、例えば以下の式(1)乃至式(3)のような計算を行い、入力コンテンツデータのフォーマットを例えばYCC(Yi,Cbi,Cri)からYCH(Yi,Ci,Hi)に変換する(座標系をYCC座標からYCH座標に変換する)。
フォーマットが変換されると、色域変換処理部204は、ステップS122において、ターゲットとする色域の、各色相Hiの最高彩度点(Cusp点)のYC座標情報(Ycp,Ccp)を算出する。なお、ターゲット色域は色域変換処理が開始される時点で定められている(すなわち、その色域の情報も有している)ので、このCusp点のYC座標情報は、そのターゲット色域の情報(例えばYCCデータ)から求めることができる。
ステップS123において、色域変換処理部204は、非マッピング境界およびマッピング限界境界を指定する。
図10は、色域変換の様子の例を示す図である。図10において、太線で囲まれた領域(白点、黒点、およびCusp点を頂点とする三角形で囲まれた領域)が最終的な変換先領域(Target compressed area)、すなわちターゲット色域である。T-boundary(Target boundary)421は、このターゲット領域のY軸以外の縁(境界)である。このT-boundary421を基準に、少しだけ彩度方向に小さい境界線が非マッピング境界(U-boundary(Uncompressed boundary))422である。Y軸とこのU-boundary422に囲まれる領域が非マッピング領域であり、ここに含まれる画素は色域変換(座標移動)されない。次に、どの程度の領域を変換先領域に変換するのかを指定する必要がある。映像コンテンツの色がどの程度の色域に広がっているのかを指定するための境界線がマッピング限界境界(L-boundary(Limited boundary))423である。L-boundary423は色域変換においてはT-boundary421よりも彩度方向に拡大した境界線となる。つまり、色域変換とは、U-boundary422とL-boundary423により囲まれる領域を、U-boundary422とT-boundary421により囲まれる領域(灰色部分)に圧縮することを意味する。
彩度方向のみについて表わすと、この色域変換により、図10のa0inは例えばa0outに座標移動される。なお、L-boundary423よりさらに高彩度の色は全て、T-boundary421にクリップされる(T-boundary421上に座標移動される)。例えば、図10のa1inはa1outに座標移動される。
図11は、LUテーブルの例を示す図である。図11に示されるLUテーブル431は、指定された非マッピング境界(U-boundary422)とマッピング限界境界(L-boundary423)の彩度を、T-boundary421を基準とする比(彩度比率)で、色相毎に表わすテーブル情報である。図11においては、全色相においてL-boundaryとU-boundaryの彩度比率を一定(L-boundaryを1.5、U-boundaryを0.75)としているが、これらの値は色相(H)毎に変化させるようにしてもよい。
このL-boundaryとU-boundaryの彩度比率の決定方法は任意である。例えば、図11に示されるようなLUテーブル431を色域変換処理部204が予め保持しているようにしてもよいし、外部より取得するようにしてもよい。
図9に戻り、ステップS124において、色域変換処理部204は、変換係数を定義する。
U-boundary422の彩度比率を「0.75」とし、L-boundary423の彩度比率を「1.5」とするときの圧縮の様子を関数で表わすと、例えば図12に示される曲線441のようになる。この曲線441をマッピング関数と称する。傾きが「1」の範囲は非マッピング領域を示す。色域変換は、横軸のU-boundary422とL-boundary423で囲まれる範囲を、縦軸のU-boundary422とT-boundary421で囲まれる範囲に圧縮することを示す。このときの変換方法は任意であり様々な方法が考えられる。例えば、実線441Aは、線形圧縮を意味する。破線441Bは、関数を滑らかに折り曲げて、徐々に圧縮されるようにした一例である。一点鎖線441Cは圧縮ではなく、T-boundary421への色域クリップを意味する。
つまり、この範囲の曲線441の形によって、例えば図10において、L-boundary423までの距離とU-boundary422までの距離の比がp:qであるa0inの移動先であるa0outのT-boundary421までの距離とU-boundary422までの距離の比(r:s)が決定される。換言すれば、この曲線441で示される関数(変換関数)は、ある処理対象画素の彩度方向への圧縮率(R_ccomp)を示しており、この関数の出力値によって、処理対象画素の仮想クリップ境界が決定される。
マッピング関数はL-boundary423およびU-boundary422の値に依存して決定されるので、L-boundary423やU-boundary422の値が色相毎に変化すれば、マッピング関数も変化する。
図9に戻り、ステップS125において、色域変換処理部204は、仮想クリップ境界を決定する。
色域変換処理部204は、処理対象画素の彩度Ciを用いて、ステップS124の処理において定義された変換関数を参照する。但し、変換関数はT-boundary421での彩度を「1」と正規化した値なので、処理対象画素と同じ輝度のT-boundary421での彩度Ci_cを求める必要がある。この、処理対象画素と同じ輝度のT-boundary421での彩度Ci_cは、例えば図13に示されるように、処理対象の画素(処理対象画素)のYC座標を(Yi,Ci)とすると、白点とCusp点を結んだ直線と、処理対象画素(Yi,Ci)とY軸上の処理対象画素の輝度点(Yi,0)を結んだ直線との交点の彩度として求めることができる。
この交点の彩度Ci_cと処理対象画素の彩度Ciを用いて、変換関数を参照するための彩度Ci_normは、以下の式(4)のように算出することができる。
例えば、色域変換処理部204は、この彩度Ci_normを用いて図12の曲線441により示される変換関数を参照して、処理対象画素の彩度方向圧縮率R_ccompを決定する。R_ccompが決定すると、処理対象画素の仮想クリップ境界(V-boundary(Virtual clip boundary))を決定することができる。このように、仮想クリップ境界(V-boundary)を決定することにより、色域変換はその仮想クリップ境界に対する色域クリップを繰り返して行う処理と考えることができる。
図14は、色域クリップと色域変換の様子を比較する図である。図14Aは、色域クリップの様子を示す模式図である。色域クリップとは、図14Aに示されるように、ターゲット色域の外の色をターゲット色域の境界であるT‐boundary421上に移動させる(T‐boundary421にクリップする)ことを示す。例えば、図14Aにおいて、白丸で示される処理対象画素は、黒丸で示される、T-boundary421上のクリップ点に座標移動される。
図14Bは、色域変換の様子を示す模式図である。上述したように、色域変換は、処理対象画素をその処理対象画素に対応する仮想クリップ境界(V-boundary)上に移動させることである。例えば、図14Bにおいて、処理対象画素451は、V-boundary461A上のクリップ点452に座標移動され、処理対象画素453は、V-boundary461B上のクリップ点454に座標移動される。つまり、色域変換は、処理対象画素毎に図14Aの色域クリップの場合と同様の処理を行うことと等価であると考えることができる。
例えば、Cusp点について説明すると、YC座標(Ycp, Ccp)のCusp点のクリップ点Cusp_VのYC座標(Ycp,Ccp_V)は、彩度方向圧縮率R_ccompを用いて、以下の式(5)のように算出することができる。
クリップ点Cusp_VのYC座標から、仮想クリップ境界(V-boundary)461が決定される。例えば、Cusp点の仮想クリップ境界(V-boundary)461は、図15に示されるように、クリップ点Cusp_Vと白点を両端とする線分と、クリップ点Cusp_Vと黒点を両端とする線分とにより構成される。
つまり、このV-boundary461は、上述した変換関数と、処理対象画素のL-boundary423までの距離とU-boundary422までの距離の比(p:q)により決定される。換言すれば、L-boundary423までの距離とU-boundary422までの距離の比(p:q)が同じ処理対象画素は、V-boundary461を共有する。
図9に戻り、ステップS126において、色域変換処理部204は、マッピング処理を行う。
図16は、色域変換マッピングの様子の例を示す図である。マッピングは、例えば図16に示されるように、クリッピング方向の収れん点がY軸上に設定され、仮想クリップ境界(V-boundary)461上の、その収れん点に向かう方向にマッピングが行われる。
図16の例の場合、Y軸上の、Cuspの輝度Ycpと同じ輝度の点が収れん点として設定され、その収れん点に向かう方向(矢印)にマッピングが行われている。
もちろん、仮想クリップ境界(V-boundary)461上のどの位置へクリッピングするかは任意であり、収れん点の位置も任意である。また、収れん点は複数設定されてもよい。その場合、例えば、各収れん点へ向かう方向が所定の比率で合成された方向にマッピングが行われる。
このようなクリッピングにより、最終マッピング点(Co, Yo)が決定する。
図9に戻り、ステップS127において、色域変換処理部204は、出力コンテンツデータのフォーマットを変換する。色域変換処理部204は、ステップS126の処理により得られた最終マッピング点のCY座標を(Co, Yo)とすると、以下の式(6)乃至式(8)のようにYCH座標系からYCC座標系への変換を行い、最終マッピング点のYCC座標Pout(Yo, Cbo, Cro)を計算する。
最終マッピング点のYCC座標が算出されると、色域変換処理が終了される。
[メタデータ]
色域メタデータは、色域変換対象範囲を示すデータにより構成される。例えば、図8に示されるようなCuspテーブル(グラフ411−1およびグラフ411−2、または、テーブル412)が、色域メタデータとして色域変換された画像データに付加される。
また、復元メタデータ生成部205により生成される復元メタデータは、復元処理の際に参照されるデータであればどのようなデータを含むようにしてもよいが、例えば、以下の3つのデータを有する。
1つ目のデータは、色域変換対象範囲を示すデータである。例えば、図11に示されるLUテーブル431である。すなわち、このLUテーブル431を参照することにより、色域変換前のデータがどこまで広がっていたのか、また色域変換されていないデータ領域がどこなのかを確認することができる。なお、このLUテーブル431のフォーマットは任意である。例えば、各代表色相(例えば10度毎)のL-boundaryとU-boundaryの彩度比率をテーブル化してもよい。この場合、代表色相間の中間色相のL-boundaryとU-boundaryの彩度比率は、代表色相のL-boundaryとU-boundaryの彩度比率を用いて補間処理を行うことにより算出するようにしてもよい。
2つ目のデータは、色域変換(復元)の度合いを示すデータである。例えば、図12に示した色域変換関数の逆関数(復元関数)である。図17は、この復元関数の例を示す図である。図17Aは、復元関数をグラフで示したものであり、図17Bは、復元関数を代表点のテーブルで示したものである。
図17Aに示されるグラフの曲線481は、横軸(normalized Cout)において0乃至T-boundaryの範囲(縦軸(normalized Cin)において0乃至L-boundaryの範囲)内で、図12の曲線441(実線441Aの場合)の逆関数となっている。
ただし、横軸のT-boundaryより大きい部分の点は、色域変換処理の際にT-boundaryにクリッピングされるので、復元不可能である。したがって、図17Aの復元関数である曲線481は、T-boundaryより大きい部分を含まない。
図17Bのテーブル482は、図17Aの曲線481上の代表点についての縦軸(normalized Cin)の値(例えば入力(normalized Cout(R_ccomp))が0.0625等間隔刻みの離散データ)をテーブル化したものである。テーブルに無い中間点は補間処理により求めることができるので、テーブル482は、図17Aに示される曲線481と等価であるとみなすことができる。
このように、復元関数は、どの部分の画素がどの程度圧縮または伸長されるかを示す。この復元関数を示すデータのフォーマットは任意であり、上述した以外にも、例えば数式等であってもよい。
3つ目のデータは、色域変換(復元)の方向を示すデータである。例えば、色域変換の際に使用された収れん点テーブルである。以上においては、各色相の収れん点が各色相のCuspの輝度YcpのY軸上の点であると説明した。したがって、この場合、例えば図18に示されるグラフ483のように、収れん点テーブルは、Cuspの輝度Ycpのテーブルと同一となる。
もちろん、収れん点は、任意の位置に設定することが出来るので、収れん点テーブルは独立に設定されるものであり、必ずしもCuspの輝度Ycpのテーブルと同一となるとは限らない。
また、この収れん点テーブルのフォーマットも復元関数やLUテーブル等のように任意であり、グラフ、代表点のテーブル、数式等、どのような形式で表わすようにしてもよい。
[記録形式]
以上の様に色域変換された画像データは、例えばTiffファイルフォーマットにデータ長16bit画像として保存される。この場合、上述したようなデータを有する色域メタデータや復元メタデータは、例えばTiffの「Private Tag」として、画像データに埋め込まれる。
図19は、色域メタデータの記録形式の例を示す図である。色域メタデータは、例えば、Tiffの「Private Tag」に「GamutMeta」というタグ(Tag)を用意し、その「GamutMeta Tag」に格納することができる。
「GamutMeta Tag」のTiffの「Directory Entry」は、図19の左に示される様な構成になる。タグ(Tag)を構成する変数の型は「Undefined」を示す「7」が設定されている。変数の個数については、Y,C各々についてのCusp情報のテーブルを持つので、「2」が設定されている。実際のテーブルが格納される「Value」へのオフセットアドレスを「α」とすると、「Value」は、例えば、図19の右に示される様な構成になる。図19の例において、Y,CそれぞれのCuspテーブルは、色相10°刻み37個のテーブルで定義されている。
図20は、復元メタデータの記録形式の例を示す図である。復元メタデータは、例えば、Tiffの「Private Tag」に「ReprocMeta」というタグ(Tag)を用意し、その「ReprocMeta Tag」に格納することができる。
「ReprocMeta Tag」のTiffのDirectory Entryは図20の左に示される様な構成になる。この場合も、タグ(Tag)を構成する変数の型は「Undefined」を示す「7」が設定されている。ただし、変数の個数については、復元メタデータの種類が、LUテーブルが2種類、復元関数、収れん点テーブル、の計4種となるため、「4」が設定されている。実際のテーブルが格納されている「Value」へのオフセットアドレスを「α」とすると、「Value」は、例えば、図20の右に示される様な構成になる。
図20の例において、L-boundary, U-boundaryの2種類のテーブル(L table dataとU table data)と、収れん点テーブル(Conv talbe data)は、10°刻み37個のd ouble型のテーブルで定義されている。また、復元関数(Reproc func data)については、0.0625刻み17個のdouble型のテーブルで定義されている。
Tiffフォーマットの場合、画像データおよび各メタデータは、以上のような形式で光ディスク110に記録される。もちろん、画像データおよび各メタデータの格納場所は、任意であり、上述した例以外の場所であってもよい。また、画像データのフォーマットは、Tiff以外であっても良い。
[再生時の処理]
次に、以上のように光ディスク110に記録された画像データを再生する際の処理について説明する。
デジタルスチルカメラ101−2は、画像データを光ディスク110から読み出して再生出力する際に、再生時判定処理を行い、色域の復元や変換を行う。図21のフローチャートを参照して、再生時判定処理の流れの例を説明する。
再生時判定処理が開始されると、再生部301は、ステップS201において、再生する画像データおよびそのメタデータを光ディスク110から読み出す。ステップS202において、変換状況判定部302は、画像データのヘッダ情報、フラグ情報、色域メタデータ、または復元メタデータ等の各種情報に基づいて、再生する画像データ(再生データ)が仮圧縮されたもの(仮圧縮データ)であるか、本圧縮されたもの(本圧縮データ)であるかを判定する。
ステップS203において、復元変換処理部304は、変換状況判定部302による判定結果と色域情報記憶部303が記憶する表示部305の色域情報に基づいて、色域変換状態等に応じて復元処理や色域変換処理を行う復元変換処理を実行する。
復元変換処理が終了すると再生時判定処理が終了される。
なお、画像をモニタ102に表示させる場合、デジタルスチルカメラ101−2は、事前にHDMI経由でモニタ102の色域情報を得る。この場合、接続時のネゴシエーションにおいてEDID(Extended Display Identification Data)を用いた接続情報のやり取りがおこなわれる。この時にEDIDの中にモニタ102の色域情報が書き込まれるようにする。このようにすることにより、デジタルスチルカメラ101−2は、モニタ102との接続時にモニタ102の色域情報を入手することができる。
モニタ102や表示部305等の出力デバイスの色域情報は、どのようなフォーマットの情報であってもよいが、例えば、図22に示されるようなCuspテーブルとしてもよい。
図22は、出力デバイスの色域の例を示す図である。グラフ511−1は、色相(H)毎のCusp点の輝度(Y)をグラフ化したものである。グラフ511−2は、色相(H)毎のCusp点の彩度(C)をグラフ化したものである。また、テーブル512は、代表色相(H)の輝度(Y)と彩度(C)の値をテーブル化したものである。すなわち、図8の場合と同様に、Cuspテーブルは、少なくとも代表色相毎の、Cusp点のYC座標が示されていればよく、そのフォーマットは任意である。
[復元および圧縮の制御]
復元変換処理部304は、図21のステップS203において、復元変換処理を実行し、読み出された画像データに対して復元処理や色域変換処理を行う。図23のフローチャートを参照して、この復元変換処理の詳細な流れの例を説明する。
復元変換処理が開始されると、復元変換処理部304の制御部311は、ステップS221において、光ディスク110から読み出された画像データが仮圧縮データ(仮圧縮された画像データ)であるか否かを判定する。光ディスク110から読み出された画像データが仮圧縮データである場合、ステップS222に進む。つまり、画像データの色域が出力色域でないと判定された場合、本圧縮を行うように制御される。
ステップS222において、制御部311は、0°付近のある色相Hiについて、仮圧縮後の色域(例えばsRGB)におけるCusp点のCY座標(Cs,Ys)と、最終的なターゲット色域である出力デバイスの色域(出力色域)におけるCusp点のCY座標(Ct,Yt)とを、それぞれの色域情報から算出する。例えば、制御部311は、図8に示されるCuspテーブルから、必要に応じて補間処理を行う等して、HiにおけるCusp点のCY座標(Cs,Ys)を求める。また、制御部311は、例えば、図22に示されるCuspテーブルから、必要に応じて補間処理を行う等して、HiにおけるCusp点のCY座標(Ct,Yt)を求める。
Cusp点のCY座標が算出されると、制御部311は、ステップS223において、判定指標Cxを算出する。判定指標Cxは、出力色域に、画像データの現在の色域(画像データ色域)、すなわち、仮圧縮後の色域(例えばsRGB)よりも広い部分が存在するか否かを判定するための指標である。
出力色域と画像データ色域との比較は、例えば図24に示されるように行われる。つまり、処理対象色相Hiにおいて、出力色域のCusp点が画像データ色域の外側に存在するか否かが確認される。
例えば、図24Aに示されるように、Yt<Ysの場合、黒点(0,0)と出力色域のCusp点(Ct,Yt)とを結ぶ直線上の、輝度値がYs(画像データ色域のCusp点の輝度値)である点の彩度値を判定指標Cxとする。この場合、判定指標Cxは、以下の式(9)により算出される。
逆に、図24Bに示されるようにYt≧Ysの場合、白点(0,1)と出力色域のCusp点(Ct,Yt)とを結ぶ直線上の、輝度値がYs(画像データ色域のCusp点の輝度値)である点の彩度値を判定指標Cxとする。この場合、判定指標Cxは、以下の式(10)により算出される。
画像データ色域のCusp点の彩度値Csが、これらの判定指標Cxより小さい場合、出力色域のCusp点(Ct,Yt)は、画像データ色域の外側に位置する。つまり、出力色域が、画像データ色域外の範囲を含む(出力色域に画像データ色域よりも広い部分が存在する)。
図23に戻り、制御部311は、ステップS224において、式(9)または式(10)により算出された判定指標Cxが出力色域のCusp点の彩度値Cs以下であるか否かを判定する。判定指標Cxが彩度値Cs以下であると判定された場合、ステップS225に進む。この場合、制御部311は、処理対象色相Hiにおいては、出力色域のCusp点(Ct,Yt)が、画像データ色域内に位置し、出力色域に画像データ色域よりも広い部分が存在しないと判定している。
ステップS225において、制御部311は、処理対象色相Hiに代表色相間の間隔ΔHを加算することにより、処理対象を次の色相(代表色相)に切り替える。
ステップS226において、制御部311は、処理対象色相Hiの値が360度以上となったか否か、すなわち、全ての色相について、画像データ色域と出力色域を比較したか否かを判定する。
処理対象色相Hiが360度未満であり、画像データ色域と出力色域との比較を行っていない未処理の色相が存在すると判定された場合、ステップS222に戻る。そして、ステップS225において更新された新たな処理対象色相Hiに対して、ステップS222以降の処理が繰り返される。
つまり、ステップS224において、判定指標Cxが彩度値Csより大きいと判定されるか、若しくは、ステップS226において、全ての色相(代表色相)において画像データ色域と出力色域との比較が行われたと判定されるまで、ステップS222乃至ステップS226の処理が繰り返される。
つまり、図25に示されるように、少なくとも予め定められた所定の代表色相の全てについて、画像データ色域と出力色域との比較が行われる。
ステップS224において、判定指標Cxが彩度値Csより大きいと判定された場合、ステップS227に進む。この場合、制御部311は、出力色域に画像データ色域外の部分が含まれると判定している。そこで制御部311は、復元処理部312に仮圧縮前の色域を復元させる復元処理を実行させる。
ステップS227において、復元処理部312は、仮圧縮データに対して復元処理を行い、仮圧縮前の色域のL-boundaryとU-boundaryとの間の領域を復元する。復元処理が終了すると、処理はステップS228に進む。
また、ステップS226において、全ての色相(代表色相)において画像データ色域と出力色域との比較が行われたと判定された場合、復元処理を行わずにステップS228に進む。この場合、出力色域は画像データ色域に完全に(全ての色相において)含まれると判定されている。
いずれの場合も、画像データの色域は、色域変換することにより出力色域に変換することができる状態とされている。ステップS228において、色域変換処理部313は、画像データの色域を出力色域に本圧縮する。
ステップS229において、色域変換処理部313は、本圧縮された画像データ(本圧縮データ)を表示部305に出力し、復元変換処理を終了する。表示部305は、供給された本圧縮データの画像を画面101Aに表示させる。なお、画像をモニタ102に表示させる場合、色域変換処理部313は、本圧縮データを、図示せぬHDMIインタフェース、および、そのHDMIインタフェースに接続されるHDMIケーブル103を介してモニタ102に供給する。モニタ102は、供給された本圧縮データの画像を表示する。
また、ステップS221において、光ディスク110から読み出された画像データが本圧縮データであると判定された場合、ステップS229に進む。この場合、ステップS229において、制御部311は、復元処理や色域変換処理を行わずに、本圧縮データを表示部305に出力し、復元変換処理を終了する。
制御部311が以上のように復元処理や色域変換処理の実行を制御することにより、復元処理や色域変換処理を必要に応じて行うことができる。図23の例の場合、制御部311は、光ディスク110から読み出された画像データが仮圧縮されている場合のみ、出力色域への本圧縮が行われるようにする。また、制御部311は、出力色域に、光ディスク110から読み出された画像データの色域(画像データ色域)外の部分が含まれる場合のみ、復元処理が行われるようにする。
つまり、デジタルスチルカメラ101−2は、予め色域変換がなされた画像の色域と目標とする色域との関係に応じて、復元処理を行ってから目標とする色域へ色域変換するか、若しくは復元処理を行わずに目標とする色域へ色域変換するかを決定し、決定した方の処理を実行する。このようにすることにより、デジタルスチルカメラ101−2は、再生する画像データの復元処理や色域変換処理をより適切に行うことができる。これにより、デジタルスチルカメラ101−2は、コンテンツ再生時の負荷の不要な増大を抑制することができるとともに、出力画像の不要な画質劣化を低減させることができる(出力画像の画質向上を期待することができる)。また、再生時の色域変換処理の負荷の不要な増大の抑制により、応答速度の向上やコストの低減を実現することができる。
なお、制御部311は、図23および図24を参照して説明したように、彩度値である判定指標Cxを用いて色域の比較を行う。この判定指標Cxは、図24等を参照して上述したように容易に算出することができるので、制御部311は、容易に、復元処理や色域変換処理の実行を制御することができる。
また、上述したように、デジタルスチルカメラ101−1は、画像データを光ディスク110に記録する際に、上述したように復元メタデータや色域メタデータを適宜生成し、それらを画像データに付加し、画像データと共に光ディスク110に記録する。つまり、デジタルスチルカメラ101−1は、デジタルスチルカメラ101−2が画像データの色域変換状況をより容易に把握したり、復元処理や色域変換処理の制御をより容易に行ったり、復元処理や色域変換処理をより容易に行ったりすることができるようにすることができる。
[復元処理]
次に、画像データの色域(の一部)を仮圧縮前の状態に戻す復元処理の詳細について説明する。復元処理部312は、制御部311の制御に基づいて、復元処理を実行し、画像データの色域の仮圧縮前の状態を復元する。
図26のフローチャートを参照して、復元処理の流れの例を説明する。
復元処理が開始されると、復元処理部312は、ステップS251において、光ディスク110から読み出された画像データ等の各種データである再生コンテンツデータのフォーマットをYCC(Yi,Cbi,Cri)からYCH(Yi,Ci,Hi)に変換する。この変換は、例えば記録時の場合と同様に、式(1)乃至式(3)のように行われる。
ステップS252において、復元処理部312は、色相Hiにおける色域の最高彩度点(Cusp点)の座標を算出する。再生コンテンツデータの画像データの色域情報は、図8を参照して説明したCuspテーブルで与えられている。したがって、復元処理部312は、記録時の色域変換の場合と同様の方法で、処理対象色相HiにおけるCusp点のCY座標を計算する。
ステップS253において、復元処理部312は、図27に示されるような非マッピング境界(U-boundary422)およびマッピング限界境界(L-boundary423)を例えば彩度比率で求める。仮圧縮では、U-boundary422およびL-boundary423の間の色域が、U-boundary422およびT-boundary422の間の色域に変換される。つまり、復元処理部312は、U-boundary422およびL-boundary423を求めることにより、色域変換された範囲を求めている。換言すれば、復元処理部312は、仮圧縮前の色域を復元する範囲である復元範囲を求めている。
復元メタデータにはLUテーブル(図11)が含まれるので、復元処理部312は、このLUテーブルを参照することにより、色相HiのU-boundary422およびL-boundary423を容易に求めることができる。
ステップS254において、復元処理部312は、復元メタデータに含まれる復元関数(図17)を参照し、図28に示されるように、処理対象画素(Ci,Yi)の彩度Ciに対応する仮想復元境界(V-boundary)461を決定する。
ステップS255において、復元処理部312は、ステップS254の処理により求められたV-boundary461上に、処理対象画素を復元マッピングする。復元処理部312は、復元メタデータに含まれる収れん点テーブル(図18)を参照し、処理対象色相Hiの収れん点を決定する。
復元処理は、処理対象画素を、例えば、図29に示されるように、この収れん点471から処理対象画素に向かう方向に復元マッピングする。すなわち、処理対象画素は、収れん点471と処理対象画素を結ぶ直線と、V-boundary461との交点(最終マッピング点(Co,Yo))に移動(復元マッピング)される。
ステップS256において、復元処理部312は、以上のように復元処理が行われた画像データ等である出力コンテンツデータのフォーマットをYCH(Yi,Ci,Hi)からYCC(Yi,Cbi,Cri)に変換して出力し、復元処理を終了する。
以上の様に、仮圧縮前の色域が復元された画像データに対して、色域変換処理部313は、上述したように2回目の色域変換(本圧縮)を行う。
上述したようにデジタルスチルカメラ101−1が画像データを光ディスク110に記録する際に、復元メタデータを生成し、画像データに付加して光ディスク110に記録するので、デジタルスチルカメラ101−2は、上述したように容易に復元処理を行うことができる。
なお、画像データ色域と出力色域との比較方法は、例えば図23等を参照して上述した方法以外であっても良い。以下に復元変換処理の他の例について説明する。
<2.第2の実施の形態>
[復元変換処理の他の例]
第1の実施の形態の場合、画像データ色域を基準として出力色域の広さが検証される。そのため、少しでも出力色域に画像データ色域外の部分が含まれる場合、復元処理が行われるように制御される。第2の実施の形態では、この復元条件が緩和され、画像データ色域より広い範囲を基準として出力色域の広さが検証される。
この場合の復元変換処理の流れの他の例を、図30のフローチャートを参照して説明する。図30のフローチャートの場合、各処理(ステップS271乃至ステップS279)は、基本的に図23の各処理(ステップS221乃至ステップS229)の場合と同様に実行される。ただし、ステップS274において使用される復元条件は、図23のステップS224の場合と異なる。
図30のステップS274の場合、制御部311は、判定指標Cxと画像データ色域のCusp点の彩度値Csとの差分ΔC(ΔC=CxーCs)が所定の定数α以上であるか否かを判定する。
この場合、ΔCの大きさがそのまま広さの度合いになり、定数αが出力色域の広さの検証のための基準の緩和量である。つまり、この場合、出力色域が、画像データ色域の外に定数α分広がっている場合のみ、復元処理が必要であると判定される。すなわち、復元条件が緩和されている。
これにより、デジタルスチルカメラ101−2は、復元処理の実行をさらに抑制することができ、負荷をより軽減させることができる。
なお、定数αを色相毎に独立して設定することにより、各色相の復元条件に重み付けを行うことができる。例えば、重要な色相ほど復元処理が行われ易いようにし、視覚に影響を与えにくい重要でない色相ほど復元処理が実行されにくいようにしてもよい。このように制御することにより、デジタルスチルカメラ101−2は、復元処理の視覚的効果に応じてより適切に復元処理の実行を制御することができる。したがって、デジタルスチルカメラ101−2は、実質的な画質への影響を抑制しながら、負荷をより軽減させることができる。
<3.第3の実施の形態>
[復元変換処理の他の例]
第1の実施の形態の場合、各色相において出力色域の広さが検証され、1つの色相でも出力色域に画像データ色域外の部分が含まれる場合、復元処理が行われるように制御される。第3の実施の形態では、この復元条件が緩和され、画像データ色域より広い範囲を基準として出力色域の広さが検証される。
この場合の復元変換処理の流れの、さらに他の例を、図31のフローチャートを参照して説明する。図31に示されるフローチャートの場合、ステップS301乃至ステップS304の各処理は、図23のステップS221乃至ステップS224の各処理と同様に実行される。
ただし、ステップS304において、判定指標Cxが彩度値Csより大きいと判定された場合、ステップS305に進む。この場合、出力色域に画像データ色域外の部分が含まれると判定されている。ステップS305において、制御部311は、このような、出力色域に画像データ色域外の部分が含まれると判定される色域を、変数Mを用いてカウントする(M=M+1)。出力色域に画像データ色域外の部分が含まれると判定される色域の数を示す変数Mがインクリメントされると、ステップS306に進む。
ステップS306において、制御部311は、処理対象色相Hiに代表色相間の間隔ΔHを加算することにより、処理対象を次の色相(代表色相)に切り替える。また、制御部311は、処理対象色相Hiの値が360度以上となったか否か、すなわち、全ての色相について、画像データ色域と出力色域を比較したか否かを判定する。
処理対象色相Hiが360度未満であり、画像データ色域と出力色域との比較を行っていない未処理の色相が存在すると判定された場合、ステップS307に進む。ステップS307において、制御部311は、処理した色相の数を、変数Nを用いてカウントする(N=N+1)。出力色域と画像データ色域とが比較された色相の数を示す変数Nがインクリメントされると、ステップS302に戻る。
つまり、ステップS306において、全ての色相(代表色相)において画像データ色域と出力色域との比較が行われたと判定されるまで、ステップS302乃至ステップS307の処理が繰り返される。
ステップS306において、全ての色相(代表色相)において画像データ色域と出力色域との比較が行われたと判定された場合、ステップS308に進む。
ステップS308において、制御部311は、処理済色相数Nに対する変数Mの割合RateM(RateM=(M/N)×100)を算出し、そのRateMが、所定の定数α以上であるか否かが判定される。すなわち、出力色域が画像データ色域以外の部分を含む色相が、全色相のα%以上存在するか否かが判定される。
RateM≧αであると判定された場合、ステップS309に進む。ステップS309において、復元処理部312は、復元処理を行い、ステップS310において、色域変換処理部313は、色域変換処理を行う。
また、RateM<αであると判定された場合、ステップS310に進み、画像データの色域を出力色域に本圧縮する。ステップS311において、色域変換処理部313は、本圧縮データを出力し、復元変換処理を終了する。
また、ステップS301において、光ディスク110から読み出された画像データが本圧縮データであると判定された場合、ステップS311に進む。この場合、ステップS311において、制御部311は、復元処理や色域変換処理を行わずに、本圧縮データを表示部305に出力し、復元変換処理を終了する。
これにより、デジタルスチルカメラ101−2は、復元条件を緩和し、復元処理の実行をさらに抑制することができ、負荷をより軽減させることができる。
<4.第4の実施の形態>
[復元変換処理の他の例]
第1の実施の形態の場合、基本的に全色相において一様に出力色域と画像データ色域が比較される。第4の実施の形態では、一部の色相においてのみ、画像データ色域と出力色域を比較する。
この場合の復元変換処理の流れの、さらに他の例を、図32のフローチャートを参照して説明する。図32に示されるフローチャートの場合、ステップS351乃至ステップS355の各処理は、図31のステップS301乃至ステップS305の各処理と同様に実行される。
ステップS356において、制御部311は、ステップS306の場合と同様に、処理対象色相Hiの切り替えを行うとともに、予め定められた所定の範囲であるx°乃至y°の全ての色相において、画像データ色域と出力色域との比較が行われたか否かを判定する。
処理対象色相がy°より小さいと判定された場合、予め定められた所定の範囲であるx°乃至y°の全ての色相において処理が行われていないと判定されたので、ステップS352に戻り、新たな処理対象色相Hiについて、それ以降の処理が繰り返される。
処理対象色相がy°以上であると判定された場合、予め定められた所定の範囲であるx°乃至y°の全ての色相において処理が行われたと判定されたので、ステップS357に進む。
ステップS357において、制御部311は、変数Mが1以上であり、出力色域が画像データ色域より広い部分が存在するか否かを判定する。
変数Mが1以上である場合、ステップS358に進み、復元処理を介して、ステップS359の色域変換処理が行われる。また、変数Mが0以下である場合、復元処理を介さずに、ステップS359に進み、色域変換処理(本圧縮)が行われる。
ステップS360において、本圧縮データが外部に出力される。
このように一部の色相においてのみ色域の比較を行うようにしてもよい。このようにすることにより、例えば肌色、空色などを含む眼が敏感な色相だけをチェックし、その色相範囲が大きいときだけ復元するようにすることができる。なお、色相範囲は、いくつあっても良い。また、第2の実施の形態の方法と組み合わせ、色域比較が行われる一部の色相範囲において、各色相の復元条件に重み付けを行うようにしてもよい。
<5.第5の実施の形態>
[復元変換処理の他の例]
第1の実施の形態の場合、出力色域と画像データ色域の比較は、各色相について1つずつ行われる。第5の実施の形態の場合、出力色域と画像データ色域として既知の標準色空間が用いられる。この場合、出力色域と画像データ色域の大小関係が既に明らかである。そこで、制御部311は、既知の標準色空間をその広さ毎に分別するテーブルデータ(色域比較テーブル)を参照して復元するか否かを判定する。
図33は、色域比較テーブルの例を示す図である。図33に示されるように、色域比較テーブル601は、既知の標準色空間をその広さによって分別し、狭い方から順に参照番号を割り当てている。同程度の広さの色空間には同一の参照番号が割り当てられている。図33の例によると、参照番号「1」が割り当てられている色空間sRGBとApple RGBが最も狭く、参照番号「2」が割り当てられているAdobe RGBやNTSC RGBがその次に狭い。また、参照番号「3」が割り当てられているbg-RGBがその次に狭く、参照番号「4」が割り当てられているsc-RGBがその次に狭い。
この場合の復元変換処理の流れの例を図34のフローチャートを参照して説明する。
復元変換処理が開始されると、制御部311は、ステップS401において、光ディスク110から読み出された画像データが仮圧縮データであるか否かを判定する。光ディスク110から読み出された画像データが仮圧縮データである場合、ステップS402に進む。
ステップS402において、制御部311は、予め保持している色域比較テーブルを参照し、変数Ninに画像データ色域の参照番号を割り当て、変数Noutに出力色域の参照番号を割り当てる。
ステップS403において、制御部311は、変数Ninと変数Noutの大きさを比較し、変数Noutが変数Ninより大きいか否かを判定する。すなわち、制御部311は、画像データ色域に割り当てられた参照番号と、出力色域に割り当てられた参照番号との大小関係を比較することにより、出力色域と画像データ色域の広さを比較する。変数Noutが変数Ninより大きく、出力色域の方が画像データ色域よりも広いと判定された場合、ステップS404に進む。
ステップS404において、復元処理部312は、復元処理を行う。復元処理が終了するとステップS405に進む。また、ステップS403において、変数Noutが変数Nin以下であり、出力色域が画像データ色域より広くないと判定された場合、ステップS405に進む。
ステップS405において、色域変換処理部313は、仮圧縮データを出力色域に本圧縮する。画像データが本圧縮されると、ステップS406に進む。ステップS406において、色域変換処理部313は、本圧縮データを表示部305に出力し、復元変換処理を終了する。
なお、ステップS401において、光ディスク110から読み出された画像データが本圧縮データであると判定された場合、ステップS406に進む。ステップS406において、制御部311は、その本圧縮データを表示部305に出力し、復元変換処理を終了する。
以上のように、出力色域と画像データ色域として既知の標準色空間が用いられる場合、色域比較テーブル601を用いて参照番号で色域比較を行うことにより、デジタルスチルカメラ101−2は、より容易に色域比較を行うことができる。
なお、色域比較テーブルは、色域間の大小関係を示すものであればよく、そのフォーマットは任意である。また、色域変換処理は、その色域比較テーブルのフォーマットに応じて適宜変形させてもよい。
<6.第6の実施の形態>
[パーソナルコンピュータ]
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図35に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図35において、パーソナルコンピュータ700のCPU(Central Processing Unit)701は、ROM(Read Only Memory)702に記憶されているプログラム、または記憶部713からRAM(Random Access Memory)703にロードされたプログラムに従って各種の処理を実行する。RAM703にはまた、CPU701が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU701、ROM702、およびRAM703は、バス704を介して相互に接続されている。このバス704にはまた、入出力インタフェース710も接続されている。
入出力インタフェース710には、キーボード、マウスなどよりなる入力部711、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部712、ハードディスクなどより構成される記憶部713、モデムなどより構成される通信部714が接続されている。通信部714は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース710にはまた、必要に応じてドライブ715が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア721が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部713にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図35に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア721により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM702や、記憶部713に含まれるハードディスクなどで構成される。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表わすものである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。