最初に、一般的な色域、および、その色域の範囲の指定方法(色域フォーマット)の例について説明する。図5は、インデックス指定の例を示す図である。
インデックス指定は、識別情報により色域を指定する色域フォーマットである。予め、よく使用される汎用の(既知の)色域をいくつか用意し、例えば、図5に示される表101のように、各色域にインデックス(識別情報)を割り当てておく。そして、画像データを送受信する装置間で色域情報を交換する場合、そのインデックス(図5の例の場合、数値データ)のみを伝送させる。インデックスを受信した装置は、図1に示される表101に基づいて、インデックスに対応する色域を特定することができる。つまり、インデックスを用いて色域の種類を特定するだけで色域の範囲が特定されるので、デバイスは、1つの数値のみで色域の範囲を特定することができる。
図5の表101の場合、入力デバイス(input device)にインデックスとして数値「0」が割り当てられ、sRGB(standard RGB)にインデックスとして数値「1」が割り当てられている。また、AdobeRGB(商標)にインデックスとして数値「2」が割り当てられ、WideRGBにインデックスとして数値「3」が割り当てられ、DCI-P3にインデックスとして数値「4」が割り当てられている。
例えば、Wide RGB色域情報を指定する場合、デバイスは数値「3」のみ送信すればよい。つまり、インデックスで指定される色域は、基本的に予め定められた所定の規格の色域であり、その色域名によって色域の範囲が定まる。例えば、数値「1」が割り当てられたsRGBは、IEC(国際電気標準会議)が1998年10月に策定した、色空間の国際標準規格である。このsRGBは、例えば、パソコンの機種の違いや、ディスプレイやプリンタなど機器の違いなどの異なる環境間で色の再現性を確保するために定められた色空間である。このsRGBは、CRTディスプレイの色域をベースに策定された。例えば、デジタルカメラとパソコン、ディスプレイ、プリンタがすべてsRGBに対応していれば、撮影した画像をディスプレイに表示したり印刷したりするときに、特に何の処理を施すこともなく色の見えを一致させることができる。sRGBは他の色空間に比べて表現できる色の範囲が狭く、エメラルドグリーン、濃いシアン、オレンジ、明るい赤や黄色などは表現不可能である。このため、写真やグラフィックデザインを専門的に扱うプロ用途などには不向きである。
ただし、範囲が曖昧な色域をインデックス指定させることもできる。例えば、数値「0」が割り当てられた入力デバイスは、動画像や静止画像を生成可能なデジタルカメラやビデオカメラ等の入力デバイスの色域を示す。このような入力デバイスの色域は非常に広く、具体的に領域指定することは困難であるが、図5に示されるようにインデックス指定することにより、「人間の眼の見えと同等に非常に広い色域」と言うような、曖昧な範囲の色域として指定することができる。この数値「0」をインデックスとして受け取ったデバイスは、入力色域が非常に広いことを想定して自分の色域のみに注力して適切に色域圧縮を行うことができる。
もちろん、このインデックスは数値でなくてもよく、例えば、アルファベット等の文字や記号であってもよい。また、インデックスを割り当てる色域の数は任意である。
図6は、色度指定の例を説明する図である。色度指定は、色度データで色域の範囲を表現する色域フォーマットである。例えば、表示デバイスのような加法混色性が成り立つデバイスの場合、三原色(赤(R)、緑(G)、青(B))および白色点よりなる色度データで、色域を定義することができる。換言すれば、表示デバイスは、表現可能な色をデバイスに依存しない色空間の数値(XYZやCIELABなど)に変換するための変換行列を、三原色および白色点よりなる色度データで算出することができる。
例えば、sRGBの色域を表現可能なディスプレイの場合、色度情報は、図6の表111のように示される。3色以上の表示デバイスの場合、色度情報は、その基底となる原色全ての色と白色により構成される。色度としては、x,y色度、u,v色度、u’,v’色度など、様々な色度情報が考えられる。この色域フォーマットは、ICC(International Color Consortium)プロファイルに採用されている。
ICCプロファイルとは、ICCという機関が定義している画像デバイスの特性を記述したファイルであり、通常、1つの画像ファイルを出力する際には、入力デバイス用ICCプロファイルと出力デバイス用ICCプロファイルの2つのプロファイルを必要とする。入力デバイス用のICCプロファイルは画像ファイルに埋め込まれている場合が多い。その画像を、PC(Personal Computer)を通して他のデバイスに出力する時、PC上のICCプロファイルをサポートしたアプリケーションは、出力デバイスのICCプロファイルを用いて適切に色域マッチングを行って画像を出力する。この方法はPCを用いて画像処理変換をするか、出力デバイス側でICCプロファイルをサポートことが前提となっている。
次に、3D-LUT指定について説明する。印刷デバイスの様な、単純に加法混色性が成り立たないデバイスの場合、その色域の形状も複雑になる。図7は、CIELAB中に定義された色域の例を説明する図であり、ある印刷デバイスの色域をCIELAB空間で表したものである。
このような場合は図8に示すように、印刷デバイスの色を、色域を表現する色空間(例えばCIELAB等)中に定義した格子点に対して、正負のフラグを指定したテーブル等を用いて、色域を表現することができる。図8の例では、3次元ルックアップ(Look-up)テーブル(3D-LUT)の形をとる。3D-LUT指定は、このような3D-LUTを用いて色域の範囲を指定する色域フォーマットである。このような方法は、ICCプロファイルのgamutTagとして採用されている。なお、図8に示されるルックアップテーブルにおいて、GamutFlagは、1ビットのフラグ情報である。このフラグの値が「1」の項が示す色は色域内に存在し、このフラグの値が「0」の項の示す色は色域外に存在する。
次に、ポリゴン指定について説明する。ポリゴンは、立体の形状を、多角形を用いて表現する色域フォーマットであり、3次元コンピュータグラフィクス等でよく利用される。つまり、ポリゴン指定は、色域を3次元空間に立体として表現し、その立体形状、つまり、色域の範囲を、多角形を用いて表現する方法である。
従って、このポリゴン指定においては、図9Aに示されるように、各多角形の頂点の座標をCIELAB等のデバイスに依存しない色空間で表す表141と、各多角形(図9の例の場合、三角形)の頂点番号の表142によって色域が指定される。図9Bに示されるグラフ143は、図9Aの表141および表142を視覚化したものである。3D-LUT指定の場合と同様に、色域形状が複雑な場合に利用可能である。
以上に説明した各色域指定方法の特徴を、「容量」、「表現可能な形状」、および「色域圧縮アルゴリズムとの親和性」と言う点について図10の表151まとめた。
図10の表151に示されるように、「容量」については、インデックス指定が、インデックスのみで色域を表現することができるので最も有利である(情報量を最も少なくすることができる)。そのため、色域指定のための通信の負荷も最も小さくすることができる。色度指定の場合、色域を指定する情報は、基本原色の色度情報のみで構成されるので、その容量は、インデックス指定ほどではないが小さい。従って通信負荷も小さい。3D-LUT指定やポリゴン指定の場合、「色度指定」で表現可能なRGB表示デバイスの色域を表現する場合であっても、「色度指定」の場合の10倍以上の容量を必要とし、不利である(情報量が多い)。従って通信の負荷も大きい。
なお、3D-LUT指定やポリゴン指定の場合、容量は、表現する色域の範囲の形状の複雑さに依存する。つまり、表現する色域の範囲の形状が複雑になる程、容量が大きくなる(不利になる)。
図10の表151に示されるように、「表現可能な形状」については、ポリゴン指定が最も有利である(より多様な形状を表現することができる)。ポリゴン指定の場合、形状を面で直接表現することができるので、面(多角形)を細かくしていくことにより、3D-LUT指定の場合よりも精度良く滑らかに形状を表現することができる(より正確に表現することができる)。3D-LUT指定の場合、一般的で既知な色空間を有するデバイスや、表示デバイスの様な加法混色性が成り立つデバイスの他、減法混色ベースの印刷デバイス等の複雑な形状の色域も表現することができる。色度指定の場合、表示デバイスの様な加法混色性が成り立つデバイスの色域を表現することができる。実際には、略RGB系の色空間に限定される。インデックス指定の場合、一般的で既知な色空間のデバイスの色域を表現することができる。実際には、略RGB系の色空間に限定される。
図10の表151に示されるように、「色域圧縮アルゴリズムとの親和性」については、いずれの方法も有利ではない。インデックス指定や色度指定の場合、等色相面の形状計算の際、最高彩度点(Cusp)を算出するのに煩雑な演算が必要になる。3D-LUT指定の場合、3次元テーブルから等色相面も情報を算出するためには、各格子点の色相情報から等色相の情報を補間して求めるなど、非常に複雑な計算が必要になる。ポリゴン指定の場合、ポリゴン立体から等色相領域の辺の情報を計算するためには、面情報から辺情報計算のための変換計算、等色相面情報の補間など、複雑な計算が必要になる。
以上のように、「色域圧縮アルゴリズムとの親和性」が低いと、色域変換等の際に必要な演算量が増大し、その負荷が増大する恐れがある。そこで、以下に、この「色域圧縮アルゴリズムとの親和性」を従来の色域フォーマットよりも向上させ、「容量」や「表現可能な形状」についても既存のものに遜色の無いレベルの色域フォーマットを説明する。
図11は、本発明を適用した色域フォーマットであるCuspテーブル指定を説明する図である。Cuspテーブル指定は、色域圧縮アルゴリズムで使用する等色相面を直接表現することにより「色域圧縮アルゴリズムとの親和性」を従来の色域フォーマットよりも向上させることができる色域フォーマット(色域指定方法)である。さらに、Cuspテーブル指定は、「容量」や「表現可能な形状」についても既存のフォーマットと同等のレベルを保つことができる。つまり、このCuspテーブル指定の場合、色域圧縮アルゴリズムで使用する等色相面が直接指定されるので、色域圧縮時に、複雑な計算を必要としない。
例えば図11Aのように、ある表示デバイスの色域201を、あるYCC空間200で表現したときに、等色相平面で切断した切断平面202は、図11Bに示されるように、縦軸を輝度Y、横軸を彩度CにしたYC2次元平面210となる。この平面状での色域形状は、最高彩度点(Cusp)のYC座標が分かれば、白点、黒点、Cusp点を結ぶ三角形211で近似可能である。この性質を利用して、いくつかの代表色相面でのCusp点のYC座標を数値テーブルとして保持していれば、デバイスの色域を近似的に定義することができる。このような色域フォーマットをCuspテーブル指定と称する。
Cuspテーブルの容量は、保持する代表色相の数に依存するが、特に表示デバイス系は、赤、緑、青、シアン、マゼンタ、イエローの6点のCusp情報のみで、かなり精度の良い色域の近似を実現することができる。図11Cに示されるCuspテーブル221は、その代表6色相をYCH(輝度・彩度・色相)座標で表したテーブルであり、図11Dに示されるCuspテーブル231は、代表6色相をYCbCr(輝度・色差情報)座標で表したテーブルである。
Cuspテーブルに含まれる代表色相(図11Cおよび図11Dの例の場合代表6色相)以外の色相のCusp情報は、その近傍のCusp情報から線形補間等により算出される。ここで使用している輝度、色差、色相、および彩度情報は、YCC空間に限定されるものではなく、他の輝度・色差空間(例えばCIELAB,CIELUV等)における輝度、色差、色相、彩度情報に準ずる情報を使用することも可能である。
Cuspテーブルを構成する色相(代表色相)は、上述した代表6色相以外の色相を用いてももちろん良い。つまり、任意の色相を代表色相とすることができる(任意の色相を用いてCuspテーブルを作成することができる)。例えば、図12に示されるCuspテーブル241のように、予め定められた所定の間隔(つまり等間隔)の色相を代表色相としてもよい。図12に示されるCuspテーブル241は、5度間隔でH(色相)を代表色相とし、その代表色相毎のY(輝度)とC(彩度)の変化を表すテーブルである。グラフ242は、そのCuspテーブル241の、H(色相)に対するY(輝度)の変化をグラフ化したものである。グラフ243は、Cuspテーブル241の、H(色相)に対するC(彩度)の変化をグラフ化したものである。
このCuspテーブル241に示される色域をYCrCb空間250Aに表現すると、例えば、色域251のようになる。グラフ250Bは、YCrCb空間250AをY軸に沿って図中下側から上側に向かって(Y軸順方向に)見た場合の色域251の形状を示す。グラフ250Cは、YCrCb空間250AをY軸に沿って図中上側から下側に向かって(Y軸逆方向に)見た場合の色域251の形状を示す。これらのグラフに示されるように、Cuspテーブル241は、複雑な形状の色域を表現することができる。つまり、代表色相を等間隔にすることにより、代表色相が特定の色域に特化されないので、例えば複数の色域が合成されたような複雑な形状の色域も精度良く表現することができるようになる。
例えば、画像データを出力するデバイスを仮想的に設定するような場合、その仮想出力デバイスの色域は、当然仮想的に設定される。このような仮想的な色域は、様々な出力デバイスを想定するために、複数の色域を組み合わせたような広く複雑な形状の色域とされる場合が多い。このような仮想的な色域に色域変換を行う場合、上述したように、等間隔の代表色相により構成されるCuspテーブルを用いることにより、その仮想的な色域を容易に精度良く表現することができる。
以上のようなCuspテーブル指定の「容量」、「表現可能な形状」、および「色域圧縮アルゴリズムとの親和性」についての特徴を図13の表261に示す。
表261に示されるように、Cuspテーブル指定の場合、「容量」の大きさは色相の刻み精度(代表色相の間隔)に依存する。しかしながら、「3D-LUT指定」や「ポリゴン指定」の場合と比較すると、代表色相のCusp点を指定するだけでよいので、Cuspテーブル指定の場合の方が、格段に少ない容量で表現可能である。つまり、Cuspテーブル指定の場合の方が、「3D-LUT指定」や「ポリゴン指定」の場合よりも情報量が少ない。従って、通信の負荷(色域情報伝送の負荷)も小さい。つまり、Cuspテーブル指定の場合、「容量」が小さく、通信の負荷も小さいので有利である。
また、表261に示されるように、Cuspテーブルの場合、既知の色空間や、加法混色系RGBデバイス色域だけでなく、仮出力デバイス色域のような、複数の色域の合成色域のような特殊な色域も表現することができる。減法混色デバイスのような複雑な形状の色域は、完全には表現不可能であるが、加法混色系RGBデバイスに関しては、「3D-LUT指定」と比較しても精度良く色域形状を表現することができる。つまり、Cuspテーブルの場合、「表現可能な形状」が多様であり有利である。
さらに、表261に示されるように、Cuspテーブルの場合、Cusp情報を直接的に表現するため、等色相面の2次元色域表現が非常に容易であり、複雑な演算無しに、色域圧縮アルゴリズムがすぐに利用することができる。すなわち、Cuspテーブルの場合、「色域圧縮アルゴリズムとの親和性」が非常に高く、非常に有利である。
実際には、表示デバイスの色域の方が、印刷デバイスよりも多様であり、規格化されていない特殊な色域、インデックス指定不可能な色域であることが多い。したがって、Cuspテーブル指定、3D-LUT指定、およびポリゴン指定は、表示デバイスの色域を表現するのに用いられる場合が多い。つまり、表示デバイスの色域を精度良くかつ容易に表現することができることが望ましい。
3D-LUT指定の場合、格子点間隔を非常に細かくとらないと、等色相面の情報を得るための補間誤差が大きくなる。これに対して、Cuspテーブル指定は、テーブルの色相間隔をある程度細かくするだけで精度を容易に向上させることができる。したがって、その容量も3D-LUT指定の場合よりも小さくすることができる。なお、Cuspテーブル指定の場合の精度は、ポリゴン指定の場合と比較すると同等であるが、その容量は明らかにCuspテーブル指定の場合の方が小さい。
図14に、各フォーマットの、色域圧縮時の演算の様子の例を示す。図14に示される例のように、画像データ301に対して色域圧縮302を行い、色域圧縮された画像データ303を生成する場合、その色域圧縮302のために、色域を示す(指定する)色域情報が参照される。この色域情報のフォーマットがポリゴン指定311の場合、色域圧縮302を行うデバイスは、OpenGL等を使用して多面体を展開し、等色相の境界を解析し、その境界におけるCusp点を算出し、Cuspテーブルを生成する必要がある。
また、色域情報のフォーマットが3D-LUT指定312の場合、色域圧縮302を行うデバイスは、Convex hull等を使用して表面立体を展開し、等色相の境界を解析し、その境界におけるCusp点を算出し、Cuspテーブルを生成する必要がある。
さらに、色域情報のフォーマットが色度指定313の場合、色域圧縮302を行うデバイスは、RGBをXYZに変換して基準6色相(RGBおよびCMY)のXYZ値を求める必要がある。また、色域圧縮302を行うデバイスは、XYZをYCCに変換して基準6色相と白、黒のYCC空間での6面体展開を行い、6色相のCusp情報から必要な色相の情報を補間して、Cuspテーブルを生成する必要がある。
また、色域情報のフォーマットがインデックス指定314の場合、色域圧縮302を行うデバイスは、インデックステーブルを参照して、インデックスにより指定される色域を特定し、その色域について、色度指定の場合と同様の処理を行う必要がある。
これに対してCuspテーブル指定315の場合、最初からCuspテーブルが用意されているので、色域圧縮302を行うデバイスは、他の処理を必要とせずにダイレクトに、そのCuspテーブルを利用して色域圧縮302を行うことができる。つまり、Cuspテーブル指定315は、他の指定方法の場合よりも色域圧縮アルゴリズムに対する親和性が高い。換言すれば、画像データの色域フォーマットとしてCuspテーブル指定を用いることにより、画像データを処理する情報処理装置は、色域変換処理のアルゴリズムに対する親和性を向上させた、処理対象の画像データにとってより適切な色域を提供することができる。
ところで、画像データをデバイス間で伝送させる場合、各デバイスが対応する色域の差による色廻り等の不具合の発生を抑制するために、色域変換が必要になる場合が多い。色域変換を行う場合、画像データだけでなく、以上のような色域フォーマットの伝送も必要になる。
しかしながら、各色域フォーマットには上述したような特徴があり、一方のデバイスの色域フォーマットが他方のデバイスにおいても最適とは限らない。例えば、インデックス指定で指定されるsRGBでは色域が狭すぎることも考えられる。逆に、ポリゴン指定では、デバイスの能力に対して、処理の負荷が大きすぎることも考えられる。このように、従来の色域フォーマットでは汎用性が低く、使用可能なシステムが限定されてしまう恐れがあった。
これに対して、上述したCuspテーブル指定の場合、色相を直接表現するため、他の指定方法の場合よりも色域圧縮アルゴリズムとの親和性が高い。また、インデックス指定により指定される色域のように予め定められた色域でもない。さらに、3D-LUT指定やポリゴン指定のように色域の範囲の自由度も高い。さらに、容量も、3D-LUT指定やポリゴン指定に比べて小さくすることができる。したがって、Cuspテーブル指定は、それらの代表的な他の色域フォーマットより多様なデバイスで使用することができる。つまり、Cuspテーブル指定は、他の色域フォーマットに比べて汎用性が高い。
従って、画像データをデバイス間で伝送させるシステムの各デバイスにおいて、このCuspテーブル指定を色域フォーマットとして採用することにより、システムとしての汎用性をより高めることができる。
なお、よりシステムの汎用性を向上させるためには、各デバイスの色域フォーマットの制限が無い方が望ましい。つまり、互いに独立した色域フォーマットに対応するデバイス同士であっても画像データを伝送する方ができることが望ましい。色域フォーマットがデバイス間で統一されていることが保証されていないシステムにおいては、単純に色域情報をデバイス間でやりとりしても、互いにその色域情報を把握することができるとは限らない。例えば、インデックス指定にしか対応していないデバイスに、Cuspテーブルが供給されても、それが色域情報であることすら把握できない恐れがある。
このように色域フォーマットの自由度を高めたシステムにおいては、色域情報の授受をより正しく行うために、汎用性の高い色域情報の伝送フォーマットが求められる。例えば、使用可能な色域フォーマットを1つに特定しないシステムにおいては、どのようなフォーマットの色域情報が伝送されても、少なくともそれを色域情報と把握し、正しく対応することができるように、汎用性の高い色域情報の伝送フォーマットが求められる。
以下において、その色域情報の伝送フォーマットについて説明する。
図15は、本発明を適用して伝送システムの構成例を示すブロック図である。図15に示される伝送システム400は、送信装置401からネットワーク402を介して受信装置403に画像データを伝送させるシステムである。
送信装置401は、画像データを送信する機能を有するものであればどのような装置であってもよく、例えば、デジタルカメラやビデオカメラ等の入力デバイス等、様々な装置が想定される。ネットワーク402は、画像データの伝送媒体であり、画像データを伝送可能なものであればどのような通信網であってもよい。例えば、インターネット、Eathernet(商標)、または公衆電話回線網等の各種規格の通信網がこのネットワーク402として想定される。また、この他にも、例えば、USB(Universal Serial Bus)、IEEE(Institute of Electrical and Electronic Engineers)1394、またはHDMI(High-Definition Multimedia Interface)等の各種規格の通信網もこのネットワーク402として想定される。さらに、この他にも、例えばワイヤレスLAN(Local Area Network)やBluetooth(商標)等のような無線通信網もこのネットワーク402として想定することができる。受信装置403は、画像データを受信する機能を有するものであればどのような装置であってもよく、例えば、CRTディスプレイやLCD等の表示デバイスや、プリンタ等の印刷デバイス等、様々な装置が想定される。
送信装置401(または送信装置401より前段の装置)が表現可能な色域と、受信装置403(または受信装置403より後段の装置)が表現可能な色域とに差がある場合、色廻り等の不具合が生じる恐れがある。そこで、送信装置401から受信装置403へ画像データを伝送する場合、色廻り等の不具合の発生を抑制するために、送信装置401または受信装置403のうち少なくとも一方で必要に応じて色域変換が行われる。その色域変換、または、その色域変換の必要性の判断のために、送信装置401と受信装置403との間で色域を示す色域情報の授受が行われる。
例えば、送信装置401において色域変換が行われる場合、送信装置401は、画像データ送信の前に、受信装置403が表現可能な色域を示す色域情報を取得し、必要に応じて、その色域情報を用いて画像データの色域変換を行う。そして、送信装置401は、その色域変換後の画像データを受信装置403に送信する。
また、例えば、受信装置403において色域変換が行われる場合、送信装置401は、画像データとともに、送信装置401が表現可能な色域を示す色域情報、つまり画像データの色域を示す情報を送信する。受信装置403は、必要に応じて、その色域情報を用いて画像データの色域を自分自身が表現可能な色域に変換する。
このような色域情報の伝送において、送信装置401および受信装置403は、色域情報を、後述する伝送用フォーマットにより伝送させる。この伝送用フォーマットを用いることにより、送信装置401および受信装置403は、色域情報の伝送の汎用性を向上させ、より多様な装置に対してより正確に色域情報を伝送させることができる。還元すれば、伝送システム400(送信装置401および受信装置403)は、処理対象の画像データにとってより適切な色域を提供することができる。
図16に示されるネットワークシステム410は、図15の伝送システム400の具体的な例を示す図である。つまり、図16のネットワークシステム410は、図15の伝送システム400に対応する。また、図16のビデオカメラ411は、図15の送信装置401に対応する。図16のHDMIケーブル412は、図15のネットワーク402に対応する。図16のLCD413は、図15の受信装置403に対応する。
ビデオカメラ411は、送信装置401の機能を含み、撮影した画像データ(静止画または動画)を、HDMIケーブル412を介してLCD413に供給する。LCD413は、HDMIケーブル412を介してビデオカメラ411より伝送される画像データを受信すると、その画像を表示する。
このようなシステムにおいて、一般的に、ビデオカメラ411が表現可能な色域(ビデオカメラ411において生成される画像データの色域)と、LCD413が表現可能な色域は、互いに異なる。そのため、ネットワークシステム410においては、ビデオカメラ411またはLCD413のいずれか一方において、必要に応じて色域変換を行う。そのため、ネットワークシステム410においては、ビデオカメラ411とLCD413との間で、画像データだけでなく、色域情報も授受される。
このとき、ビデオカメラ411とLCD413が、色域情報をより汎用的な伝送用フォーマットで伝送させることにより、ビデオカメラ411とLCD413の色域情報について、フォーマットによる制限が不要になる。つまり、ビデオカメラ411とLCD413の色域情報のフォーマットによらずネットワークシステム410を実現することができる。換言すれば、ビデオカメラ411は、より多様な表示デバイスに対して、色廻りなどの不具合を発生させずにより正確に表現させるように、画像データを伝送することができる。
なお、図15の伝送システム400(図16のネットワークシステム410)において、色域変換を送信側で行うか受信側で行うかは任意である。例えば、予め定められていてもよいし、所定の条件に基づいて決定されるようにしてもよいし、ユーザ等の指示に基づいて決定されるようにしてもよい。
図17は、図15の送信装置401の主な構成例を示すブロック図である。図17において、送信装置401は、入力部421、色域フォーマット決定部422、色域処理部423、伝送用色域情報生成部424、コンテンツファイル生成部425、および通信部426を有する。
入力部421は、例えば、カメラ等の入力デバイスや外部入力端子等よりなり、画像データを含むコンテンツデータを生成したり、外部の機器より取得したりする。また、入力部421は、各種ボタン、キーボード、タッチパネル等の入力デバイスや外部入力端子等も含み、ユーザや外部機器からの指示を受け付ける。
色域フォーマット決定部422は、伝送する画像データの色域およびその色域の範囲の指定方法(つまり色域フォーマット)を決定する。このとき、色域フォーマット決定部422は、入力部421において受け付けられたユーザや外部機器の指示や、通信部426を介して受信された受信装置403の色域情報等に基づいて、色域フォーマットの決定を行う。なお、色域フォーマット決定部422は、既存の色域情報(色域フォーマット)を指定することもできるし、新たに色域情報を生成することもできる。例えば、色域フォーマット決定部422は、入力部421より出力される画像データの色域と、受信装置403(またはその後段の出力デバイス)が表現可能な色域とを比較する。また、色域フォーマット決定部422は、その比較結果に基づいて、画像データの色域の、受信装置403が表現可能な色域の外側に位置する部分を所定の方法で色域圧縮した新たな色域(色域フォーマット)を求め、それを画像データの色域として決定する。つまり、この場合、色域フォーマット決定部422は、新たに色域情報を生成する。
もちろん、この場合以外にも色域フォーマット決定部422は、新たに色域情報を生成することができる。例えば、色域フォーマット決定部422は、入力部421より供給された色域を指定する情報を受け付け、その指定された色域を表す色域情報を、画像データの色域として生成することができる。すなわち、上述した「決定」には、既存の色域情報の「選択」だけでなく、「新規作成」も含まれる。
色域処理部423は、入力部421より供給されたコンテンツデータの画像データの色域を、必要に応じて、色域フォーマット決定部422において決定された色域フォーマット(色域の範囲)に色域変換する。例えば、色域処理部423は、画像データの色域の、色域フォーマット決定部422より供給された色域の外側の部分を所定の方法で色域圧縮する。
なお、色域フォーマット決定部422は、例えば、ユーザ指示等に基づいて、受信装置403が表現可能な色域以外の色域を用いて、画像データの色域を決定することもできる。例えば、色域フォーマット決定部422は、画像データの画像を出力する出力デバイス(の色域)を具体的に特定せずに、仮想的に出力デバイスの色域として設定した色域を用いて画像データの色域を決定することもできる。例えば、ビデオカメラにおいて生成された画像データのように、色域の範囲が無限とすることができるほど広い画像データを、そのまま出力デバイスに供給すると、出力デバイスが対応しきれないだけでなく、出力デバイスの故障を引き起こす恐れもある。そこで、送信装置401において受信装置403(出力デバイス)を具体的に特定せずに、範囲が有限の色域を仮想的に設定し、画像データの色域を、その仮想的な色域に圧縮するようにする。これにより、画像データの安全性を向上させることができる(受信装置403における故障の発生率を低減させることができる)。このとき、受信装置403は、仮想的な色域の範囲を、実際の出力デバイスの色域より広めに設定することにより、不要な色域圧縮を抑制し、不要な画質劣化を抑制することができる。
伝送用色域情報生成部424は、色域フォーマット決定部422により決定された色域フォーマットを示す色域情報を、汎用的な伝送用フォーマットに変換した伝送用色域情報を生成する。コンテンツファイル生成部425は、色域処理部423より供給されるコンテンツデータをファイル化し、そのコンテンツファイル内に、伝送用色域情報生成部424より供給される伝送用色域情報を格納する。
なお、伝送用色域情報を、直接コンテンツファイル内部に作成するようにしてもよい。その場合、伝送用色域情報生成部424およびコンテンツファイル生成部425が一体化して形成される。例えば、一体化された伝送用色域情報生成部424およびコンテンツファイル生成部425をコンテンツファイル生成部と称する。そのコンテンツファイル生成部は、色域処理部423より供給されるコンテンツデータをファイル化する。また、そのコンテンツファイル生成部は、そのファイル内に、色域フォーマット決定部422により決定された色域情報(若しくは色域情報を指定する情報)を、汎用的な伝送用フォーマットで記述する。
通信部426は、受信装置403とネットワーク402を介して通信を行い、情報の授受を行う。例えば、通信部426は、コンテンツファイル生成部425より供給されるコンテンツファイルをパケット化して受信装置403に送信する。また、例えば、通信部426は、受信装置403より供給される伝送用色域情報(実際にはパケット化されている)を受信し、その中から受信装置403の色域情報を抽出して色域フォーマット決定部422に供給する。
図18は、図15の受信装置403の主な構成例を示すブロック図である。図18において、受信装置403は、通信部441、入力部442、伝送用色域情報解析部443、コンテンツ処理部444、色域処理部445、および出力部446を有する。
通信部441は、送信装置401とネットワーク402を介して通信を行い、情報の授受を行う。例えば、通信部441は、入力部442を介してユーザや外部機器より入力された(若しくは指定された)、または、色域処理部445より供給される、受信装置403が表現可能な色域情報を、汎用的な伝送用フォーマットに変換する。また、通信部441は、その伝送用色域情報をパケット化して送信装置401に送信する。また、例えば、通信部441は、送信装置401より供給されたコンテンツファイル(実際にはパケット化されている)を受信し、そのコンテンツファイルよりコンテンツデータを抽出し、それをコンテンツ処理部444に供給する。さらに、例えば、通信部441は、送信装置401より供給されたコンテンツファイルより伝送用色域情報を抽出し、それを伝送用色域情報解析部443に供給する。
伝送用色域情報解析部443は、通信部441より供給される伝送用色域情報を解析し、送信装置401より供給された画像データの色域を特定する。コンテンツ処理部444は、通信部441より供給されるコンテンツデータを処理し、画像データを色域処理部445に供給する。色域処理部445は、伝送用色域情報解析部443より供給される色域情報、および、受信装置403(または後段の出力デバイス)が表現可能な色域に基づいて、必要に応じてコンテンツ処理部444より供給される画像データの色域を変換する。
出力部446は、例えば画像を表示するディスプレイや、音声を出力するスピーカを有し、色域処理部445より供給されたコンテンツデータを出力する。また、出力部446は、外部出力端子を有し、色域処理部445より供給されるコンテンツデータを外部の機器に出力するようにしてもよい。
次に、上述した、汎用性を高めるための、色域情報の伝送用フォーマット(伝送用色域情報)について説明する。図19は、本発明を適用したコンテンツファイルの構成例を示す模式図である。送信装置401のコンテンツファイル生成部425は、コンテンツデータおよび色域情報を伝送させるために、例えば、図19Aに示されるような構成のファイルを生成する。図19Aにおいて、映像コンテンツ450は、ヘッダ451、色域本体情報452、および、コンテンツ本体453により構成される。ヘッダ451は、映像や音声等のコンテンツデータをファイル化したものであり、各種データのヘッダ情報を含む。色域本体情報452は、色域情報自身の詳細な情報を含む。コンテンツ本体453は、コンテンツデータを含む。
映像コンテンツ450は、コンテンツデータの色域情報を伝送用フォーマットで格納する。色域情報は、伝送用フォーマットにおいては、ヘッダとしての色域指定情報とペイロードとしての色域本体情報により構成される。上述したように色域本体情報452はヘッダ451およびコンテンツ本体453に付加される。これに対して、色域の基本的な情報を含む色域指定情報460は、ヘッダ451に格納される。
色域指定情報460は、色域の特徴を示すバリュー(Value)461と、色域本体情報452の格納場所を示すアドレス(Address)462により構成される。色域本体情報452は、色域のフォーマットに関する詳細な情報を含むフォーマット情報471、および、色域の範囲を具体的に示す色域情報472により構成される。
なお、色域本体情報452の位置は任意であり、コンテンツ本体453の後ろに付加されるようにしてもよい。また、例えば図19Bに示されるように、コンテンツ本体453に格納されるようにしてもよい。なお、図19Aに示される構成例と図19Bに示される構成例では、色域本体情報452の位置が異なる以外は基本的に同様である。したがって、図19Aについての説明は基本的に図19Bにも適用可能である。以下においては、図19Aの例と図19Bの例を分けて説明する必要が無い限り、図19Aに示される構成例について説明する。
ただし、図19Bのように、色域本体情報452をコンテンツ本体453に格納するようにした場合、画像データ(特に動画など)がメディアから読まれてロードされるたびに、色域情報も読み込まれることになる。しかしながら通常の場合、色域情報は、最初に起動時に1回読まれれば十分である。図19Aに示されるように、コンテンツ本体453と色域本体情報452を分けることにより、画像データをロードする際にデバイスがコンテンツ本体453のみを読み出すことができるようになる。これにより、このような不要な処理の重複を避けることができ、負荷を軽減させることができる。
図20は、色域指定情報460の内部の構成について説明する図である。図20Aに示されるように、バリュー461とアドレス462は、それぞれ、例えば64ビットの情報で構成される。表481に示されるように、伝送する画像データの色域フォーマットがインデックス指定の場合、バリュー461には、使用される既知の色域に割り当てられたインデックスの数値が設定される。図20Aの例において、数値「0」がバリュー461に設定されている場合、映像コンテンツ450の画像データが入力デバイスにおいて生成された画像データであること(つまり、画像データの色域が非常に広いこと)を示す。また、数値「1」がバリュー461に設定されている場合、映像コンテンツ450の画像データの色域がsRGBであることを示す。さらに、数値「2」がバリュー461に設定されている場合、映像コンテンツ450の画像データの色域がAdobeRGBであることを示す。また、数値「3」がバリュー461に設定されている場合、映像コンテンツ450の画像データの色域がWideRGBであることを示す。
なお、画像データの色域が標準的な既知の色域でなく、インデックス指定でない場合、バリュー461には、値「FFFF」が設定される。
このように、バリュー461の値が「FFFF」であり、画像データの色域が例外の色域である場合、その色域の範囲が未知であるため、どのようなものであるかを具体的に示す必要がある。そこで、後述するように、色域情報が色域本体情報452に格納される。後述するように、色域フォーマットがインデックス指定で無い場合のみ、この色域本体情報452が参照される。
つまり、ヘッダ451に色域指定情報として、インデックス指定と同様の情報を用意し、色域フォーマットを確認するデバイスに対して、まず「インデックス指定」から確認させるようになされている。従って、このバリュー461において「インデックス指定」により色域が指定されている場合、デバイスは、不要な他の情報を参照することなく容易に色域を特定することができる。
そして、このバリュー461は、上述したように、値「FFFF」を設定することにより、「インデックス指定」以外の色域フォーマットにも対応することができるようになされている。つまり、従来の「インデックス指定」よりもこの伝送用フォーマットの方が、汎用性が高い。
なお、バリュー461に値「FFFF」が設定される場合(色域フォーマットとしてインデックス指定以外が指定される場合)、アドレス462には、色域本体情報452のアドレス(位置)を指定する情報が格納される。
つまり、バリュー461とアドレス462には、図20Bに示される表482のように値が設定される。例えば、伝送する画像データの色域のフォーマットがインデックス指定の場合、伝送用色域情報生成部424は、表482に示される値「0」乃至値「XXX」の中から、図5のインデックスに相当する値を選択し、それをバリュー461に設定する。このとき、色域情報を伝送する必要がないのでアドレス462には、色域本体情報452の参照が不要であること示す値「0」が設定される。
また、例えば、伝送する画像データの色域のフォーマットがインデックス指定以外のフォーマットの場合、伝送用色域情報生成部424は、表482に示されるように、バリュー461に値「FFFF」設定する。また、このとき、色域情報を伝送する必要があるのでアドレス462には、色域本体情報452のアドレスが設定される。このアドレス462を用いることにより、色域本体情報452を映像コンテンツ450の任意の位置に付加することができる。
デバイスは、バリュー461の値が「FFFF」である場合、アドレス462を参照し、そのアドレス値に基づいて色域本体情報452を参照する。
図21は、色域本体情報452の内部の構成について説明する図である。図21Aに示されるように、フォーマット情報471には、色域情報のフォーマット(色域指定方法)を識別する識別情報が設定される。図21Aに示される表491のように、予め既知のフォーマット(色域指定方法)に、識別情報(例えば互いに異なる数値)がそれぞれ割り当てられている。色域指定方法は、インデックス指定の他にも、例えば上述した色度指定、3D-LUT指定、ポリゴン指定、およびCuspテーブル指定等のように様々な方法が存在する。例えば、色度情報指定には値「0」が割り当てられ、Cuspテーブル指定には値「1」が割り当てられ、3D-LUT指定には値「2」が割り当てられ、ポリゴン指定には値「3」が割り当てられる。伝送用色域情報生成部424は、このように予め割り当てられた値の中から、画像データの色域のフォーマットに対応する数値を選択し、フォーマット情報471として色域本体情報452に格納する。
そして、伝送用色域情報生成部424は、フォーマット情報471において指定したフォーマットの色域情報を色域情報472として色域本体情報452に格納する。例えば、伝送用色域情報生成部424は、図21Bに示される表492のようにフォーマット情報471および色域情報472を設定する。
例えば、色域の指定方法を示す色域情報のフォーマット(色域フォーマット)が色度情報指定の場合、伝送用色域情報生成部424は、フォーマット情報471に値「0」を設定し、色域情報472に基準色+白色の色度情報を記述する。また、例えば、色域フォーマットがCuspテーブル指定の場合、伝送用色域情報生成部424は、フォーマット情報471に値「1」を設定し、色域情報472にCuspテーブルを記述する。
さらに、例えば、色域の指定方法を示す色域情報のフォーマット(色域フォーマット)が3D-LUT指定の場合、伝送用色域情報生成部424は、フォーマット情報471に値「2」を設定し、色域情報472に3D-LUTを記述する。また、例えば、色域フォーマットがポリゴン指定の場合、伝送用色域情報生成部424は、フォーマット情報471に値「3」を設定し、色域情報472に多角形の頂点に関するテーブルを記述する。
このように、色域本体情報452を参照するデバイスは、フォーマット情報471を参照することにより、色域情報472に含まれる情報がどのような情報であるかを容易に把握することができ、その色域情報472の内容に基づいて適切な処理を行うことができる。仮にこのフォーマット情報471が存在しない場合、色域情報472を参照するデバイスは、色域情報472に含まれる情報を、所定の色域フォーマットとしてしか理解することができない。若しくは、色域情報472を参照するデバイスが、色域情報472に含まれる情報を解析してその色域フォーマットを特定しなければならない。つまり、色域情報を把握するための処理の負荷が増大するか、最悪の場合、デバイスが色域情報472の内容に対して誤った対応をしてしまう恐れがある。つまり、フォーマット情報471は、色域本体情報452の汎用性を向上させることができる。
色域情報472の構成は任意であるが、例えば、Cuspテーブルの場合、テーブルの仕様は複数種類存在する。そのような色域フォーマットの場合、フォーマット情報471において色域フォーマットを指定するだけでは、デバイスが色域情報472に含まれる情報(例えばCuspテーブル)を正しく把握することができない恐れがある。
図22は、Cuspテーブルの例を示す図である。Cuspテーブルは色空間のある色相における最高彩度点(Cusp)の情報を示すものなので、基本的にHue(色相)をインデックスとした、輝度&彩度情報のテーブルとなる。したがって、Hueの間隔、輝度&彩度情報の種類の指定がポイントとなる。Hueのインデックスを持つか持たないかで2種類存在する。また、彩度情報に何を使用するのかで3種類存在する。したがって、2X3=6通り存在する。
図22のCuspテーブル501は、Hueのインデックスを持たず、彩度情報に色差(CbおよびCr)を用いている。Cuspテーブル502は、Hueのインデックスを持たず、彩度情報に色度(C)を用いている。Cuspテーブル503は、Hueのインデックスを持たず、彩度情報に色差の絶対値(|Cb|または|Cr|)を用いている。Cuspテーブル504は、Hueのインデックスを持ち、彩度情報に色差(CbおよびCr)を用いている。Cuspテーブル502は、Hueのインデックスを持ち、彩度情報に色度(C)を用いている。Cuspテーブル503は、Hueのインデックスを持ち、彩度情報に色差の絶対値(|Cb|または|Cr|)を用いている。
以上のように多様なCuspテーブルを正確に表現するための色域情報472のフォーマットの構成例を図23に示す。図23に示されるフォーマット510は、色域情報472のフォーマット例であり、フォーマット510の上部に図中横方向に並ぶ数字「0」乃至「7」は、ビット番号を示し、フォーマット510の左部に図中縦方向に並ぶ数字は、バイトを示す。つまり、フォーマット510の横一列が1バイトの情報を示す。
フォーマット510において、1バイト目の第0ビット乃至第3ビットに格納される4ビットの情報のカラースペース(Color Space)は、Cuspテーブルを表現する色空間を指定する情報である。輝度および色差を表現できる色空間や、色相・明度・彩度で表現できる色空間はすべて含まれる。色空間に対してビットは、例えば図24の表521のように割り当てられる。図24の表521において、例えば、sYCC空間には「0000」が割り当てられ、xvYCC601空間には「0001」が割り当てられ、xvYCC709空間には「0010」が割り当てられている。また、例えば、YIQ空間には「0011」が割り当てられ、YUV空間には「0100」が割り当てられ、YPBPR空間には「0101」が割り当てられ、YCBCR空間には「0110」が割り当てられている。さらに、例えば、CIELAB空間には「0111」が割り当てられ、CIELUV空間には「1000」が割り当てられ、HSV空間には「1001」が割り当てられ、HLS空間には「1010」が割り当てられている。
このように各色空間に互いに異なるビットを予め割り当てておくことにより、カラースペースに格納される値で、Cuspテーブルを表現する色空間を示すことができる。なお、図23の例の場合、カラースペースは4ビットの情報であるので、16種類の色空間を識別可能である。なお、カラースペースのビット数は任意であり、フォーマットとして予め定められていれば、3ビット以下としてもよいし、5ビット以上をカラースペースに割り当てるようにしてもよい。
図23において、1バイト目の第4ビット乃至第6ビットに格納される3ビットの情報のCフラグ(C-flag)は、Cuspテーブルの彩度情報として使用する要素を指定する情報である。例えば、カラースペースにより指定される色空間が、輝度・色差ベースの色空間である場合、その色差信号に基づいて彩度情報が計算されるが、彩度情報として様々な種類の情報が考えられる。
色差信号をC1およびC2とし、彩度情報をCとした場合の、それぞれの種類に応じたCの計算方法に対するビット割り当てを図25の表531に示す。図25の表531において、例えば、カラースペースにより指定される色空間が輝度・色差ベースであるときに、以下の式(1)により彩度情報Cを算出する方法には、「000」が割り当てられている。
C=sqrt(C12+C22) ・・・(1)
また、例えば、カラースペースにより指定される色空間が輝度・色差ベースであるときに、色差信号C1およびC2をそのまま彩度情報Cとして使用する方法には、「001」が割り当てられている。
さらに、例えば、カラースペースにより指定される色空間が輝度・色差ベースであるとする。このときに、色差信号C1の絶対値(abs(C1))または色差信号C2の絶対値(abs(C2))をそのまま彩度情報Cとして使用する方法には、「010」が割り当てられている。
また、例えば、カラースペースにより指定される色空間が色相・明度・彩度ベースであるときに、彩度情報Cをそのまま彩度情報Cとして使用する方法には、「011」が割り当てられている。
もちろん、これ以外の方法には、これ以外の値が割り当てられている。図23の例において、C-flagは、3ビットの情報であるので、彩度情報の種類を最大8種類の中から指定することができる。
図23において、2バイト目、並びに、3バイト目の第0ビット乃至第6ビットに格納される15ビットの情報の色相数(HueNum)は、Cuspテーブルの色相(Hue)の刻み数、すなわち、テーブルの個数を指定する。この色相数の値は「0」個乃至「32768」個の範囲で指定することができる。
3バイト目の第7ビットに格納される1ビットの情報の色相フラグ(H-flag)は、CuspテーブルにHueインデックス(色相の要素)を含むか否かを指定するフラグ情報である。例えば、この値が「0」である場合、CuspテーブルにおいてHueインデックスの指定は行われないことを示す。この場合、各テーブルのHue値(代表色相)は予め定められている(例えば、代表色相が予め定められた所定の間隔で設定される)。また、この値が「1」である場合、CuspテーブルにおいてHueインデックス(色相)の指定が行われることを示す。
4バイト目の第0ビット乃至第2ビットに格納される3ビットの情報の要素数(CompNunm)は、Cuspテーブルの各テーブルデータの要素数を示す。この値は、Hueインデックス(色相要素)を含むか否か(H-flagの値)、彩度情報の種類(C-flagの値)に基づいて算出される。図26は、その要素数(CompNunm)の算出方法の例を説明する図である。図26の表541に示されるように、各テーブルの要素数は、色相要素の有無(H-flagの値)および彩度情報の種類(C-flagの値)によって決定される。
色相についての要素数をH_CompNumとすると、図26の例の場合、H_CompNumの値は、H-flagの値が「0」であるとき「0」となり、H-flagの値が「1」であるとき「1」となる。また、彩度情報についての要素数をC_CompNumとすると、図26の例の場合、C_CompNumの値は、C-flagの値が「000」であるとき「1」となる。また、C-flagの値が「001」であるとき「2」となり、C-flagの値が「010」であるとき「1」となり、C-flagの値が「011」であるとき「1」となる。また、輝度情報(Y)についての要素数をY_CompNumとすると、図26の例の場合、Y_CompNumの値は、常に「1」である。
したがって、要素数(CompNunm)の値は、以下の式(2)のように示される。
CompNum = H_CompNum+C_CompNum+1 ・・・(2)
図23において、4バイト目の第3ビット乃至第5ビットに格納される3ビットの情報の要素サイズ(CompSize)は、Cuspテーブルの各テーブルデータのデータサイズを示す。データサイズは例えばバイト数で指定される。3ビット情報であるので「0」バイト乃至「8」バイトの範囲で指定可能である。
5バイト目以降のCuspテーブルデータ(Cusp Table Data)は、4バイト目までで指定した情報を基に、Cuspテーブルを格納する領域である。Cuspテーブルデータ(Cusp Table Data)のデータサイズ(Cusp Table Data Size)は、以下の式(3)により算出される。
Cusp Table Data Size = CompNum×CompSize×HueNum ・・・(3)
以上のような各種情報を含むフォーマット510を採用することにより、色域情報472は、多様なCuspテーブルをより正確に格納し、この色域情報472を参照するデバイスに対して、より正確なCuspテーブルを提供することができる。なお、以上においては、Cuspテーブル指定の場合の色域情報472のフォーマットについてのみ説明したが、その他の色域フォーマットの場合においても、複数種類のテーブルを正しく表現することができるようにしてもよい。
次に、各処理の流れについて説明する。最初に図15の送信装置401(図17)によるコンテンツデータおよび色域情報の送信処理の流れの例を図27のフローチャートを参照して説明する。
ステップS101において、色域フォーマット決定部422は、ユーザや外部からの指示、または、受信装置403の色域情報に基づいて、コンテンツデータに含まれる画像データの色域フォーマットを決定する。例えば、色域フォーマット決定部422は、入力部421より入力されるユーザや外部からの指示、または、通信部426を介して供給される受信装置403またはその後段の出力デバイスが対応可能な色域を受け付ける。色域フォーマット決定部422は、それらの情報に基づいて、コンテンツデータに含まれる画像データの色域の範囲、および、その範囲を指定する方法を選択する(生成する)。
なお、受信装置403より色域情報が供給される場合も、色域情報は上述した伝送用フォーマットで送信されるが、この伝送用フォーマットの解析方法についての説明は受信装置403の説明において行う(受信装置403が行う場合と同様の方法で解析する)。もちろん、受信装置403から送信装置401への色域情報の伝送方法は任意であり、上述した伝送フォーマット以外のフォーマットで伝送されるようにしてもよい。ただし、上述した伝送フォーマットを用いることにより、伝送処理の汎用性が向上する(より多様な通信相手に対して色域情報を伝送することができる)。
色域フォーマットが決定されると、色域処理部423は、ステップS102において、その決定された色域フォーマットに基づいて、必要に応じて、色域圧縮等の色域変換処理を行う。例えば、ステップS101において決定された色域が色域変換前の画像データの色域を完全に含むほど十分に広く、色域変換が不要である場合、色域変換処理は省略される。
ステップS103において、伝送用色域情報生成部424は、決定された色域フォーマットを伝送用フォーマットに変換することにより、伝送用色域情報を生成する。コンテンツファイル生成部425は、ステップS104において、(色域変換が行われた場合、色域変換後の)コンテンツデータおよび伝送用色域情報を用いてそれらをファイル化したコンテンツファイルを生成する。
ステップS105において、通信部426は、生成されたコンテンツファイルをパケット化し、そのパケットを、ネットワーク102を介して受信装置403に送信する。
送信が終了すると、送信装置401は、送信処理を終了する。
次に、図28のフローチャートを参照して、図27のステップS103において実行される伝送用色域情報生成処理の流れの例を説明する。
伝送用色域情報生成部424は、ステップS201において、図27のステップS101において決定された色域フォーマット(色域の範囲を指定する方法)が図5を参照して説明したようなインデックス指定であるか否かを判定する。ここで、色域フォーマットがインデックス指定であると判定された場合、処理はステップS202に進む。
ステップS202において、伝送用色域情報生成部424は、予め定められた図20の表481のような所定の対応関係に基づいて、色域指定情報460のバリュー(Value)461に、決定された色域に割り当てられたインデックス値を設定する。このインデックス値と色域の対応関係は、予め伝送用色域情報生成部424が把握していてもよいし、色域フォーマットとともに伝送用色域情報生成部424に供給されるようにしてもよい。
インデックス指定の場合、インデックス値による色域の種類の指定がそのまま色域の範囲の指定でもあるので(色域の範囲は既知であるので)、改めて色域の範囲を指定する必要は無い。従って、伝送用色域情報生成部424は、ステップS203において、色域指定情報460のアドレス(Address)462に、色域の範囲指定を行わない(色域本体情報452を生成しない)ことを示す値「0」を設定する。つまり、インデックス指定の場合、伝送用色域情報生成部424は、色域指定情報460のみを生成する。従って、ステップS203の処理を終了すると、伝送用色域情報生成部424は、伝送用色域情報生成処理を終了し、処理を図27のステップS103に戻し、ステップS104以降の処理を実行させる。
ステップS201において、色域フォーマットがインデックス指定で無いと判定された場合、処理はステップS204に進む。
ステップS204において、伝送用色域情報生成部424は、色域指定情報460のバリュー(Value)461に、色域フォーマットがインデックス指定以外のフォーマットであることを示す値「FFFF」を設定する。伝送用色域情報生成部424は、ステップS205において、色域指定情報460のアドレス(Address)462に色域本体情報452のアドレスを設定する。なお、このアドレスは色域本体情報452の位置を示すものであるので、この段階においてこの格納位置が決定していない場合、伝送用色域情報生成部424は、アドレス462を空欄(または空きを示す値)に設定する。その場合、このアドレス462の値は、コンテンツファイル生成部425において実際に色域本体情報452が付加された時点で改めて設定される。これに対して、色域本体情報452の位置が予め既知である場合、伝送用色域情報生成部424は、ステップS205において、具体的なアドレスを示す値を設定する。
ステップS206において、伝送用色域情報生成部424は、図27のステップS101において決定された色域フォーマットが色度指定であるか否かを判定する。色域フォーマットが色度指定であると判定された場合、処理はステップS207に進む。
ステップS207において、伝送用色域情報生成部424は、色域本体情報452のフォーマット情報471に、予め定められた所定の対応関係に基づいて、「色度指定」を示す値「0」を設定し、色域情報472に色度情報を記述する。
例えば、伝送用色域情報生成部424は、フォーマット情報471に、図21の表491に示される例のように予め定められた所定の対応関係に基づいて、「色度指定」を示す値「0」を設定する。また、伝送用色域情報生成部424は、例えば図6に示される表111のように、具体的に色域の範囲を示す情報を色域情報472に記述する。
より具体的には、伝送用色域情報生成部424は、図23を参照して説明したフォーマットに従って、色域の範囲を示す情報やその色域に関する設定情報等、必要な情報を記述する。以上のように、色域指定情報460および色域本体情報452を生成すると、伝送用色域情報生成部424は、伝送用色域情報生成処理を終了し、処理を図27のステップS103に戻し、ステップS104以降の処理を実行させる。
ステップS206において、色域フォーマットが色度指定でないと判定された場合、処理はステップS208に進む。ステップS208において、伝送用色域情報生成部424は、図27のステップS101において決定された色域フォーマットがCuspテーブル指定であるか否かを判定する。色域フォーマットがCuspテーブル指定であると判定された場合、処理はステップS209に進む。
ステップS209において、伝送用色域情報生成部424は、色域本体情報452のフォーマット情報471に、図21の表491に示される例のように予め定められた所定の対応関係に基づいて、「Cuspテーブル指定」を示す値「1」を設定する。また、伝送用色域情報生成部424は、色域情報472にCuspテーブル(例えば図22に示されるCuspテーブル501乃至Cuspテーブル506のように、具体的に色域の範囲を示す情報)を記述する。より具体的には、伝送用色域情報生成部424は、図23を参照して説明したフォーマットに従って、色域の範囲を示す情報やその色域に関する設定情報等、必要な情報を記述する。以上のように、色域指定情報460および色域本体情報452を生成すると、伝送用色域情報生成部424は、伝送用色域情報生成処理を終了し、処理を図27のステップS103に戻し、ステップS104以降の処理を実行させる。
ステップS208において、色域フォーマットがCuspテーブル指定でないと判定された場合、処理はステップS210に進む。ステップS210において、伝送用色域情報生成部424は、図27のステップS101において決定された色域フォーマットが3D-LUT指定であるか否かを判定する。色域フォーマットが3D-LUT指定であると判定された場合、処理はステップS211に進む。
ステップS211において、伝送用色域情報生成部424は、色域本体情報452のフォーマット情報471に、図21の表491に示される例のように予め定められた所定の対応関係に基づいて、「3D-LUT指定」を示す値「2」を設定する。また、伝送用色域情報生成部424は、色域情報472に3D-LUT(例えば図8に示される表131のように、具体的に色域の範囲を示す情報)を記述する。より具体的には、伝送用色域情報生成部424は、図23を参照して説明したフォーマットに従って、色域の範囲を示す情報やその色域に関する設定情報等、必要な情報を記述する。以上のように、色域指定情報460および色域本体情報452を生成すると、伝送用色域情報生成部424は、伝送用色域情報生成処理を終了し、処理を図27のステップS103に戻し、ステップS104以降の処理を実行させる。
ステップS210において、色域フォーマットが3D-LUT指定でないと判定された場合、ポリゴン指定であると判定され、処理はステップS212に進む。
ステップS212において、伝送用色域情報生成部424は、色域本体情報452のフォーマット情報471に、図21の表491に示される例のように予め定められた所定の対応関係に基づいて、「ポリゴン指定」を示す値「3」を設定する。また、伝送用色域情報生成部424は、色域情報472にポリゴンテーブル(例えば図9に示される表141および表142のように、具体的に色域の範囲を示す情報)を記述する。より具体的には、伝送用色域情報生成部424は、図23を参照して説明したフォーマットに従って、色域の範囲を示す情報やその色域に関する設定情報等、必要な情報を記述する。以上のように、色域指定情報460および色域本体情報452を生成すると、伝送用色域情報生成部424は、伝送用色域情報生成処理を終了し、処理を図27のステップS103に戻し、ステップS104以降の処理を実行させる。
以上のように、より汎用性の高い伝送用フォーマットの色域情報を作成することにより、送信装置401は、処理対象の画像データにとってより適切な色域を提供することができる。
次に、図29のフローチャートを参照して、以上のような伝送用フォーマットにより伝送される色域情報を受信する図15の受信装置403(図18)による受信処理の流れの例を説明する。
受信処理を開始すると、受信装置403の通信部441は、ステップS301において、送信装置401より送信されるコンテンツファイルを受信する。実際には、コンテンツファイルはパケット化して送信されるので、通信部441は、そのパケットを受信し、そのパケットからコンテンツファイルのデータを抽出し、コンテンツファイルを組み立てる。コンテンツファイルを受信すると通信部441は、ステップS302において、そのコンテンツファイルに格納される伝送用色域情報を抽出する。
ステップS303において、伝送用色域情報解析部443は、抽出された伝送用色域情報(上述した伝送用フォーマットの色域情報)を解析し、コンテンツデータに含まれる画像データの色域を把握する。ステップS304において、コンテンツ処理部444は、通信部441によりコンテンツファイルから抽出されたコンテンツデータより画像データを抽出する。
ステップS305において、色域処理部445は、受信装置403(または後段の出力デバイス)が表現可能な色域、および、伝送用色域情報解析部443により解析された画像データの色域に基づいて、必要に応じて、画像データの色域変換を行う。
ステップS306において、出力部446は、画像をモニタに(若しくは、画像データを外部の機器に)出力する。ステップS306の処理を終了すると、受信装置403は、受信処理を終了する。
次に、図30のフローチャートを参照して、図29のステップS303において実行される伝送用色域情報解析処理の流れの例を説明する。
伝送用色域情報解析部443は、ステップS401において、伝送用色域情報の、色域指定情報460を参照する。伝送用色域情報解析部443は、ステップS402において、バリュー(Value)461の値が、インデックス指定以外の色域フォーマットを示す「FFFF」であるか否かを判定する。バリュー461の値が「FFFF」ではなく、色域フォーマットがインデックス指定であると判定された場合、処理はステップS403に進む。
ステップS403において、伝送用色域情報解析部443は、バリュー461の値をインデックス値とする色域(汎用的な既知の色域)を選択する。色域を選択すると伝送用色域情報解析部443は、伝送用色域情報解析処理を終了する。
また、ステップS402において、バリュー461の値が「FFFF」でないと判定された場合、処理は、ステップS404に進む。伝送用色域情報解析部443は、ステップS404において、伝送用色域情報の色域本体情報の470を参照し、ステップS405において、フォーマット情報471の値が「0」であるか否かを判定する。フォーマット情報471の値が「0」であると判定された場合、処理はステップS406に進む。
ステップS406において、伝送用色域情報解析部443は、色域フォーマットを色度指定に設定し、色域情報472には色度情報(色度を用いて色域の範囲を指定するテーブル情報)が含まれるものとして参照する。その色度情報に基づく色域を把握すると伝送用色域情報解析部443は、伝送用色域情報解析処理を終了する。
また、ステップS405において、フォーマット情報471の値が「0」でないと判定された場合、処理はステップS407に進む。ステップS407において、伝送用色域情報解析部443は、フォーマット情報471の値が「1」であるか否かを判定する。フォーマット情報471の値が「1」であると判定された場合、処理はステップS408に進む。
ステップS408において、伝送用色域情報解析部443は、色域フォーマットをCuspテーブル指定に設定し、色域情報472にはCuspテーブルが含まれるものとして参照する。そのCuspテーブルに基づく色域を把握すると伝送用色域情報解析部443は、伝送用色域情報解析処理を終了する。
また、ステップS407において、フォーマット情報471の値が「1」でないと判定された場合、処理はステップS409に進む。ステップS409において、伝送用色域情報解析部443は、フォーマット情報471の値が「2」であるか否かを判定する。フォーマット情報471の値が「2」であると判定された場合、処理はステップS410に進む。
ステップS410において、伝送用色域情報解析部443は、色域フォーマットを3D-LUT指定に設定し、色域情報472には3D-LUTが含まれるものとして参照する。その3D-LUTに基づく色域を把握すると伝送用色域情報解析部443は、伝送用色域情報解析処理を終了する。
また、ステップS409において、フォーマット情報471の値が「2」でないと判定された場合、処理はステップS411に進む。
ステップS411において、伝送用色域情報解析部443は、色域フォーマットをポリゴン指定に設定し、色域情報472には多角形の頂点を用いて色域の範囲を指定するテーブル情報が含まれるものとして参照する。そのテーブル情報に基づく色域を把握すると伝送用色域情報解析部443は、伝送用色域情報解析処理を終了する。
以上のように、伝送用色域情報解析部443は、伝送用フォーマットの色域情報を参照することにより、画像データの色域を、複雑な(煩雑な)変換処理等を必要とせずに、容易に把握することができる。また、伝送用色域情報の必要な部分のみ参照すればよいので、伝送用色域情報解析部443は、画像データの色域を把握するための処理による不要な負荷の増大を抑制することができる。
以上においては、伝送システム400が送信装置401、ネットワーク402、および受信装置403により構成されるように説明したが、伝送システム400の構成は任意である。例えば、複数の送信装置401を含むようにしてもよい。受信装置403についても同様である。また、送信装置401と受信装置403が複数のネットワーク402を介して接続されるようにしてもよい。また伝送システム400が上述した以外の他の構成を含むようにしてもよい。
また、以上においては、伝送用フォーマットにより、1つの色域を伝送するように説明したが、上述した伝送用フォーマットに複数の色域を搭載するようにしてもよい。その場合、色域指定情報460において複数の色域を指定し、必要数の色域情報を色域本体情報452に含めるようにすればよい。さらに、その場合、各色域の色域フォーマットは互いに同一であってもよいし、互いに異なる(または他と異なる色域フォーマットの色域を含む)ようにしてもよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図31に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図31において、パーソナルコンピュータ600のCPU601は、ROM602に記憶されているプログラム、または記憶部613からRAM603にロードされたプログラムに従って各種の処理を実行する。RAM603にはまた、CPU601が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU601、ROM602、およびRAM603は、バス604を介して相互に接続されている。このバス604にはまた、入出力インタフェース610も接続されている。
入出力インタフェース610には、キーボード、マウスなどよりなる入力部611、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部612が接続されている。入出力インタフェース610には、また、ハードディスクなどより構成される記憶部613、モデムなどより構成される通信部614も接続されている。通信部614は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース610にはさらに、必要に応じてドライブ615が接続される。ドライブ615には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア621が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部613にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図31に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される。この記録媒体は、例えば、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、若しくは光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)により構成される。また、この記録媒体は、例えば、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア621により構成されるようにしてもよい。さらに、この記録媒体は、例えば、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM602や、記憶部613に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、以上において、1つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて1つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
221,231,241 Cuspテーブル, 400 伝送システム, 401 送信装置, 402 ネットワーク, 403 受信装置, 421 入力部, 422 色域フォーマット決定部, 423 色域処理部, 424 伝送用色域情報生成部, 425 コンテンツファイル生成部, 426 通信部, 441 通信部, 442 入力部, 443 伝送用色域情報解析部, 444 コンテンツ処理部, 445 色域処理部, 446 出力部, 460 色域指定情報, 461 バリュー, 462 アドレス 470 色域本体情報, 471 フォーマット情報, 472 色域情報