(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-24
(45)【発行日】2023-03-06
(54)【発明の名称】ルックアップ・テーブルを符号化する方法および復号する方法、並びに対応する装置
(51)【国際特許分類】
H04N 19/70 20140101AFI20230227BHJP
H04N 19/597 20140101ALI20230227BHJP
【FI】
H04N19/70
H04N19/597
【外国語出願】
(21)【出願番号】P 2021164377
(22)【出願日】2021-10-06
(62)【分割の表示】P 2020031455の分割
【原出願日】2014-03-17
【審査請求日】2021-10-06
(32)【優先日】2013-04-08
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2013-07-15
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2014-01-27
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】510185767
【氏名又は名称】ドルビー・インターナショナル・アーベー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ボルデ,フイリツプ
(72)【発明者】
【氏名】アンドリボン,ピエール
(72)【発明者】
【氏名】ジヨリー,エマニユエル
【審査官】岩井 健二
(56)【参考文献】
【文献】特開2008-278464(JP,A)
【文献】国際公開第2012/035476(WO,A1)
【文献】国際公開第2007/116551(WO,A1)
【文献】Benjamin Bross, Gary J. Sullivan and Ye-Kui Wang,Proposed editorial improvements for High Efficiency Video Coding (HEVC) text specification draft 9 (,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JCTVC-L0030v3,12th Meeting: Geneva, CH,2013年01月,pp.276-296
【文献】Philippe Bordes, Pierre Andrivon and Roshanak Zakizadeh,AHG14: Color Gamut Scalable Video Coding using 3D LUT,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JCTVC-M0197-r2,13th Meeting: Incheon, KR,2013年04月,pp.1-10
【文献】Philippe Bordes, Pierre Andrivon, Patrick Lopez and Franck Hiron,AHG14: Color Gamut Scalable Video Coding using 3D LUT: New Results,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JCTVC-N0168-r1,14th Meeting: Vienna, AT,2013年07月,pp.1-11
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
八分木の八分空間に関連付けられた三次元色ルックアップ・テーブルを符号化するための符号化方法であって:
現在の八分空間について、その直接の子八分空間の少なくとも1つが再帰的に符号化されているかどうかを示すスプリット・フラグを符号化する段階と;
前記スプリット・フラグに応じて前記現在の八分空間を符号化する段階であって、前記現在の八分空間を符号化することは、前記現在の八分空間における頂点の少なくとも1つの値を近傍の頂点の少なくとも1つの再構成された値から予測して予測値を得ることを含む、段階と;
前記頂点の前記少なくとも1つの値と前記予測値との間で計算される残差を決定する段階と;
量子化された残差をエントロピー符号化する段階とを含み、
当該符号化方法はさらに:
前記現在の八分空間における前記頂点について、該頂点のために少なくとも1つの残差が符号化されているかどうかを示すフラグを符号化する段階を含む、
符号化方法。
【請求項2】
前記頂点の前記少なくとも1つの値および前記近傍の頂点の前記少なくとも1つの再構成された値が色値である、請求項1に記載の符号化方法。
【請求項3】
前記色値が色変換を表現する、請求項2に記載の符号化方法。
【請求項4】
近傍の頂点の前記少なくとも1つの再構成された値は、前記現在の八分空間の親八分空間に属する、請求項2に記載の符号化方法。
【請求項5】
八分木の八分空間の三次元色ルックアップ・テーブルを復号するための復号方法であって:
現在の八分空間について、その直接の子八分空間の少なくとも1つが再帰的に復号されるかどうかを示すスプリット・フラグを復号する段階と;
前記スプリット・フラグに応じて前記現在の八分空間を再構成する段階とを含み、前記現在の八分空間を再構成することは:
(a)前記現在の八分空間における頂点の少なくとも1つの値を近傍の頂点の少なくとも1つの再構成された値から予測して予測値を得て;
(b)受領されたデータをエントロピー復号して残差を得て;
(c)前記予測値および前記残差から前記頂点の前記少なくとも1つの値を再構成することを含み、
当該復号方法はさらに:
前記現在の八分空間における前記頂点について、該頂点のために少なくとも1つの残差が復号されるかどうかを示すフラグを復号する段階を含む、
復号方法。
【請求項6】
前記頂点の前記少なくとも1つの値および前記近傍の頂点の前記少なくとも1つの再構成された値が色値である、請求項5に記載の復号方法。
【請求項7】
前記色値が色変換を表現する、請求項6に記載の復号方法。
【請求項8】
前記近傍の頂点の前記少なくとも1つの再構成された値は、前記現在の八分空間の親八分空間に属する、請求項6に記載の復号方法。
【請求項9】
現在の八分空間の少なくとも1つの直接の子八分空間が再帰的に符号化されているかどうかを示すスプリット・フラグを送信する手段と;
前記現在の八分空間について、前記スプリット・フラグに応じて符号化されたデータを送信し、それにより、八分空間の三次元色ルックアップ・テーブルを表すビットストリームを提供する手段とを有する送信装置であって、
前記スプリット・フラグに応じて符号化された前記データは、前記現在の八分空間の頂点の少なくとも1つの値と近傍の頂点の少なくとも1つの再構成された値から得られた予測値との間で計算された、エントロピー符号化された残差を表し、
当該送信装置はさらに:
前記現在の八分空間における前記頂点について、該頂点のために少なくとも1つの残差が符号化されているかどうかを示すフラグを送信する手段を含む、
送信装置。
【請求項10】
八分木の八分空間に関連付けられた三次元色ルックアップ・テーブルを符号化するための符号化装置であって:
現在の八分空間について、その直接の子八分空間の少なくとも1つが再帰的に符号化されているかどうかを示すスプリット・フラグを符号化する手段と;
前記スプリット・フラグに応じて前記現在の八分空間を符号化する手段であって、前記現在の八分空間を符号化する前記手段は、前記現在の八分空間における頂点の少なくとも1つの値を近傍の頂点の少なくとも1つの再構成された値から予測して予測値を得るように構成されている、手段と;
前記頂点の前記少なくとも1つの値と前記予測値との間で計算される残差を決定する手段と;
前記残差をエントロピー符号化する手段とを含み、
当該符号化装置はさらに:
前記現在の八分空間における前記頂点について、該頂点のために少なくとも1つの残差が符号化されているかどうかを示すフラグを符号化する手段を含む、
符号化装置。
【請求項11】
八分木の八分空間の三次元色ルックアップ・テーブルを復号するための復号装置であって:
現在の八分空間について、その直接の子八分空間の少なくとも1つが再帰的に復号されるかどうかを示すスプリット・フラグを復号する手段と;
前記スプリット・フラグに応じて前記現在の八分空間を再構成する手段とを有し、前記現在の八分空間を再構成する前記手段は:
(a)前記現在の八分空間における頂点の少なくとも1つの値を近傍の頂点の少なくとも1つの再構成された値から予測して予測値を得て;
(b)受領されたデータをエントロピー復号して残差を得て;
(c)前記予測値および前記残差から前記頂点の前記少なくとも1つの値を再構成するように構成されており、
当該復号装置はさらに:
前記現在の八分空間における前記頂点について、該頂点のために少なくとも1つの残差が復号されるかどうかを示すフラグを復号する手段を有する、
復号
装置。
【請求項12】
プロセッサによって実行されたときに該プロセッサに請求項5に記載の復号方法を実行させるプログラム命令を記憶しているコンピュータ読み取り可能な記憶媒体。
【請求項13】
八分木の八分空間に関連付けられた三次元色ルックアップ・テーブルを符号化するための符号化装置であって、当該符号化装置は:
プログラム命令を記憶するように構成されたメモリと;
前記メモリに結合され、前記プログラム命令を実行するように構成されたプロセッサとを有しており、
前記プログラム命令は、前記プロセッサによって実行されたときに前記プロセッサに請求項1に記載の符号化方法を実行させるものである、
符号化装置。
【請求項14】
八分木の八分空間の三次元色ルックアップ・テーブルを復号するための復号装置であって、当該復号装置は:
プログラム命令を記憶するように構成されたメモリと;
前記メモリに結合され、前記プログラム命令を実行するように構成されたプロセッサとを有しており、
前記プログラム命令は、前記プロセッサによって実行されたときに前記プロセッサに請求項5に記載の復号方法を実行させるものである、
復号装置。
【発明の詳細な説明】
【技術分野】
【0001】
少なくとも1つの値が格子の各頂点に関連付けられる、頂点の格子として規定されるルックアップ・テーブルを符号化する方法が開示される。例示的には、値は、色値である。対応する復号方法、符号化方法、および復号装置が開示される。
【背景技術】
【0002】
図1に描かれているように、スケーラブルなビデオ復号は、ベースレイヤ(BL)のビットストリームおよび少なくとも1つの拡張レイヤ(EL)のビットストリームを復号する(符号化する)ことからなる。通常は、EPピクチャは、(アップサンプリングされることがある)復号されたBLピクチャから予測される。しかしながら、ELピクチャおよびBLピクチャは、相異なる色空間を用いて表現され、且つ/または、異なる色の階調が付けられている場合、予測の効率性が低下する。予測を改善するために、復号されたBLピクチャに対して色変換を適用することが知られている。より正確には、色変換は、色情報を使用して、BL色空間(第1の色空間)の色をEL色空間(第2の色空間)の色にマッピングする。
【0003】
図2に描かれているように、ビデオ・コンテンツ分布では、色変換は、通常、復号されたピクチャに対して適用され、変換された復号されたピクチャがエンド装置のレンダリング能力に適応するようになっている。
【0004】
この色変換もまた、色マッピング関数(CMF)として知られている。例えば、CMFは、3×3の利得行列にオフセットを加えたもの(利得-オフセット・モデル)によって近似化される。この場合には、CMFは、12個のパラメータによって規定される。しかしながら、CMFのこのような近似化は、線形変換モデルを想定しているため、あまり正確ではない。結果として、CMFモデルについての先験的な情報無しに、このようなCMFを記述するために、3Dルックアップ・テーブル(3D LUTとしても知られる)が使用される。3D LUTは、そのサイズが必要な精度に依存して増加するため、より正確である。しかしながら、このために、3D LUTは、大量のデータ・セットを表現することがある。したがって、3D LUTを受信機に送信するには、このLUTの符号化が必要である。
【0005】
CMFを近似化するLUTは、第1の色空間における少なくとも1つの色値を第2の色空間における別の色値と関連付ける。LUTは、LUTの頂点によって範囲が定められる1組の領域に第1の色空間をパーティションすることを考慮に入れる。例示的には、3D LUTは、第1の色空間における色空間のトリプレットを1組の色値に関連付ける。色値の組は、第2の色空間における色値のトリプレットであってもよく、第1の色空間における色値を第2の色空間における色値に変換するために使用される色変換(例えば、ローカルに規定されたCMFパラメータ)を表現する1組の色値であってもよい。
図3において、スクエア3D LUTがN×N×Nの頂点の格子によって表現されている。3D LUTの各頂点V(c1,c2,c3)に対し、色値(V
c1,V
c2,V
c3)の対応するトリプレットが記憶される必要がある。3D LUTに関連付けられたデータの量は、N×N×N×Kである。ここで、Kは、1つのLUTトリプレット値を記憶するために使用されるビットの量である。例えば、トリプレット値は、(R,G,B)トリプレット、(Y,U,V)トリプレットまたは(Y,Cb,Cr)トリプレットなどである。全ての頂点値を符号化することは、そのデータが大量であることから、効率的ではない。
【発明の概要】
【0006】
本発明の目的は、従来技術の欠点の少なくとも1つを克服することにある。頂点の格子として規定されるLUTを符号化する方法が開示される。少なくとも1つの値が格子の各頂点に関連付けられる。この符号化方法は、現在の頂点に対し、
現在の頂点に関連付けられた少なくとも1つの値を別の値から予測するステップと、
現在の頂点の少なくとも1つの値とその予測値との間で算出された少なくとも1つの残差をビットストリーム内に符号化するステップと、を含む。
【0007】
有益には、上記別の値は、近傍の頂点に関連付けられた再構築された値から得られる。
【0008】
本発明の特定の特徴によれば、値は、色値である。特定の実施形態によれば、色値は、色変換を表現する。本発明の特定の特徴によれば、色値は、利得パラメータまたはオフセットである。
【0009】
特定の実施形態によれば、LUTは、八分木を使用して符号化された3D LUTであり、3個の値が格子の各頂点に関連付けられている。この場合、予測に使用される近傍の頂点は、現在の頂点が属する現在の八分空間(octant)の親八分空間に属する。
【0010】
本発明の特定の特徴によれば、現在の頂点に関連付けられた少なくとも1つの値を近傍の頂点に関連付けられた再構築された値から予測するステップは、近傍の頂点の対応する再構築された値から少なくとも1つの値を補間するステップを含む。
【0011】
特定の特徴によれば、この方法は、補間のタイプを示すインデックスをビットストリーム内に符号化するステップをさらに含む。
【0012】
特定の実施形態によれば、少なくとも1つの残差を符号化するステップは、“quantizer”を用いて上記少なくとも1つの残差を量子化された残差にするステップと、量子化された残差をビットストリーム内にエントロピー符号化するステップとを含み、この方法は、さらに、“quantizer”をビットストリーム内に符号化するステップを含む。
【0013】
本発明の特定の特徴によれば、現在の頂点に対し、この頂点のために少なくとも1つの残差が符号化されているかどうかを示すフラグが符号化される。
【0014】
変形例によれば、現在頂点の各値に対し、この値のために残差が符号化されているか、或いは、残差が符号化されておらず、零であると推定されるかを示すフラグが符号化される。
【0015】
有益には、現在の八分空間に対し、直接の子が再帰的に符号化されているか、或いは、全ての現在の八分空間の子の頂点の全ての残差がまだ符号化されておらず、零であると推定されるかを示すスプリット・フラグが符号化される。
【0016】
頂点の格子として規定されるLUTを復号する方法がさらに開示される。
【0017】
少なくとも1つの値が格子の各頂点に関連付けられる。この復号方法は、現在の頂点に対し、
ビットストリームから少なくとも1つの残差を復号するステップと
現在の頂点に関連付けられた少なくとも1つの値を別の値から予測するステップと、
現在の頂点の少なくとも1つの値をその予測値と復号された少なくとも1つの残差とから再構築するステップと、を含む。
【0018】
有益には、上記別の値は、近傍の頂点に関連付けられた再構築された値から得られる。
【0019】
本発明の特定の特徴によれば、値は、色値である。特定の実施形態によれば、色値は、色変換を表現する。本発明の特定の特徴によれば、色値は、利得パラメータまたはオフセットである。
【0020】
特定の実施形態によれば、LUTは、八分木を使用して復号された3D LUTであり、3個の値が格子の各頂点に関連付けられ、近傍の頂点は、現在の頂点が属する現在の八分空間の親八分空間に属する。
【0021】
本発明の特定の特徴によれば、現在の頂点に関連付けられた少なくとも1つの値を近傍の頂点に関連付けられた再構築された値から予測するステップは、近傍の頂点の対応する再構築された値から少なくとも1つの値を補間するステップを含む。
【0022】
特定の実施態様によれば、この方法は、補間のタイプを示すインデックスをビットストリームから復号するステップをさらに含む。
【0023】
特定の実施形態によれば、少なくとも1つの残差を復号するステップは、ビットストリームから量子化された残差をエントロピー復号するステップと、“quantizer”を用いて量子化された残差を逆量子化して復号された残差にするステップと、を含み、この方法は、ビットストリームから“quantizer”を復号するステップをさらに含む。
【0024】
本発明の特定の特徴によれば、各頂点に対し、この頂点のために少なくとも1つの残差が符号化されているかどうかを示すフラグが復号される。
【0025】
変形例によれば、現在の頂点の各値に対し、この値のために残差が復号されているか、或いは、残差が零であると推定されるかを示すフラグが復号される。
【0026】
有益には、現在の八分空間に対し、直接の子が再帰的に復号されているか、或いは、まだ復号されていないその全ての子の頂点の全ての残差が零であると推定されるかを示すスプリット・フラグが復号される。
【0027】
符号化器は、頂点の格子として規定されるLUTを符号化する。少なくとも1つの値が格子の各頂点に関連付けられる。この符号化器は、現在の頂点に対し、
現在の頂点に関連付けられた少なくとも1つの値を別の値から予測する手段と、
現在の頂点の少なくとも1つの値とその予測値との間で算出された少なくとも1つの残差をビットストリーム内に符号化する手段と、を含む。
【0028】
有益には、上記別の値は、近傍の頂点に関連付けられた再構築された値から得られる。
【0029】
符号化器は、符号化する方法のステップを実行するように構成される。
【0030】
復号器は、頂点の格子として規定されるLUTを復号する。少なくとも1つの値が前記格子の各頂点に関連付けられる。この復号器は、現在の頂点に対し、
現在の頂点に関連付けられた少なくとも1つの残差をビットストリームから復号する手段と、
現在の頂点に関連付けられた少なくとも1つの値を別の値から予測する手段と、
現在の頂点の少なくとも1つの値をその予測値と復号された少なくとも1つの残差とから再構築する手段と、を含む。
【0031】
有益には、上記別の値は、近傍の頂点に関連付けられた再構築された値から得られる。
【0032】
復号器は、復号する方法のステップを実行するように構成される。
【0033】
頂点の格子として規定される少なくともLUTを符号化したビットストリームが開示される。少なくとも1つの値が格子の各頂点に関連付けられ、このビットストリームには、現在の頂点の少なくとも1つの値とその予測値との間で算出された少なくとも1つの残差が符号化されている。
【0034】
本発明の他の特徴および利点は、その実施形態のうちの幾らかについての以下の説明から明らかになるであろう。この説明は、図面を参照して行われる。
【図面の簡単な説明】
【0035】
【
図1】従来技術に係る色域スケーラビィリティを使用するスケーラブル・ビデオ復号器のアーキテクチャを示す図である。
【
図2】従来技術に係るレンダリング表示特性に適応する色変換を行うビデオ復号器のアーキテクチャを示す図である。
【
図3】従来技術に係るN×N×Nの頂点の格子として表現されるスクエア3D LUTを図式的に示す図である。
【
図4】本発明の例示的な実施形態に係る符号化方法のフローチャートを描いた図である。
【
図6】本発明の別の例示的な実施形態に係る符号化方法のフローチャートを表現する図である。
【
図7A】左側にキューブの再帰的な細分割を、右側に対応する八分木を図式的に示した図である。
【
図7B】左側にキューブの再帰的な細分割を、右側に対応する八分木を図式的に示した図である。
【
図8】本発明に係る頂点の色値の補間を示す図である。
【
図9A】非均一格子として表現された3D LUTを図式的に示す図である。
【
図9B】特定の非限定的な実施形態に係る頂点に関連付けられた値の予測を示す図である。
【
図9C】8個の頂点のうちの4個のみが符号化されている八分空間を示す図である。
【
図9D】頂点を共有する八分空間を表現する図である。
【
図10】本発明の例示的な実施形態に係る復号方法のフローチャートを表現する図である。
【
図11】本発明の別の例示的な実施形態に係る復号方法のフローチャートを表現する図である。
【
図12】本発明に係るLUTを符号化する符号化器を図式的に示す図である。
【
図13】本発明に係るLUTを復号する復号器を図式的に示す図である。
【
図14】八分空間の8個の頂点の位置を描いた図である。
【発明を実施するための形態】
【0036】
図4は、本発明の例示的な実施形態に係る符号化方法のフローチャートを表現している。この方法は、複数の頂点の格子として規定されるLUTを符号化するためのものであり、少なくとも1つの値、例えば、色値が格子の各頂点に関連付けられている。復号に関して述べると、用語「再構築」および「復号」は同意語として使用されることが非常に多い。以下の説明において、用語「色値」は、RGB,YUV、またはY、Cb、Cr値などの所与の色空間の色値を含み、さらに、CMFパラメータ、すなわち、行列パラメータおよびオフセット値などの色変換を表現する値を含む。
【0037】
ステップ40において、現在の頂点の少なくとも1つの色値が近傍の頂点に関連付けられた再構築された色値から予測される。
【0038】
例として、頂点V0(c1
0,c2
0)を対応する一対の値(V0
c1,V0
c2)、例えば、色値に関連付けている2D LUTが
図5に描かれている。頂点V0に関連付けられている値は、例えば、空間的に近傍の頂点V1(c1
1,c2
1)、V2(c1
2,c2
2)、
V3(c1
3,c2
3)、およびV4(c1
4,c2
4)と共に、対応する一対の値(Vi
c1,Vi
c2)
i=1,..4から予測される。予測値P(Pc1,Pc2)は、例えば、以下のように補間を用いて算出される。
Pc1=0.25
*(V1
c1+V2
c1+V3
c1+V4
c1)
Pc2=0.25
*(V1
c2+V2
c2+V3
c2+V4
c2)
【0039】
変形例によれば、2D LUTは、頂点V0(c10,c20)を、一対の値(V0c1,V0c2)の代わりに一組のパラメータ(m11,m12,m21,m22,o1,o2)に関連付ける。このパラメータの組は、以下のようにV0の値(c10,c20)から値(V0C1,V0C2)を再構築するために使用することができる。
V0c1=m11*c10+m12*c20+o1
V0c2=m21*c10+m22*c20+o2
【0040】
頂点V0に関連付けられたパラメータは、例えば、空間的に近傍の頂点V1(c11,c21)、V2(c12,c22)、V3(c13,c23)およびV4(c14,c24)に関連付けられた再構築されたパラメータから予測される。例えば、予測値は、現在の頂点のパラメータに対し、補間を使用して算出される。ステップ42において、現在の頂点の少なくとも1つの色値とその予測値との間の少なくとも1つの残差が求められ、さらに、ビットストリームF内に符号化される。残差は、現在の頂点の少なくとも1つの色値からその予測値を差し引くことによって求められる。通常、符号化は、エントロピー符号化を含む。変形例によれば、符号化は、“quantizer”qを用いて残差を量子化し、量子化された残差をエントロピー符号化することを含む。
【0041】
例として、2D LUTの場合は、第1の残差および第2の残差は頂点V0から算出される。第1の残差は、(V0c1-Pc1)であり、第2の残差は、(V0c2-Pc2)である。量子化された残差(V0c1-Pc1)/qおよび(V0c2-Pc2)/qは、次に、ビットストリームF内にエントロピー符号化される。エントロピー符号化には、指数ゴロム、ハフマン、CABAC(コンテクスト適応型バイナリ算術符号化(Context Adaptive Binary Arithmetic Coding)の英語の頭文字をとったもの)のような従来のバイナリ符号化技術を利用することができる。
【0042】
ステップ40および42が反復され、LUTの全ての頂点が符号化されるまでLUTの別の頂点が符号化される。
【0043】
必要に応じて、符号化方法は、ビットストリームF内で“quantizer”値qを符号化することを含む。現在の頂点の少なくとも1つの色値が、他の頂点の予測に使用されるようにさらに再構築される。各々が再構築された少なくとも1つの色値は、“quantizer”が使用されていない場合には、対応する当初の色値となる、すなわちq=1である。そうでない場合には、少なくとも1つの再構築された色値は、残差を逆量子化し、逆量子化された残差を予測値に加えることによって求められる。
【0044】
変形例によれば、符号化方法は、頂点の少なくとも1つの色値を予測するために使用される補間タイプをビットストリームF内に符号化することをさらに含む。より正確には、補間タイプを識別するインデックスがビットストリームから復号される。例として、インデックス0は、バイリニア補間を識別し、インデックス1は、最近傍補間を識別し、インデックス2は、2個の近傍点を用いたリニア補間を識別する。
【0045】
変形例によれば、LUTの必ずしも全ての頂点がビットストリームF内に符号化されるものではない。例えば、頂点の全ての残差の絶対値または全ての量子化された残差の絶対値が閾値TH未満である場合には、その頂点に対して符号化される残差は存在しない。例えば、TH=0またはTH=1である。したがって、各頂点に対し、その頂点に対して少なくとも1つの残差が符号化されているか、或いは、残差のいずれも符号化されておらず、零であると推定されるかを示すバイナリ・フラグがビットストリーム内に符号化される。
【0046】
変形例によれば、各頂点の各色値に対し、その色値に対して残差が符号化されているか、或いは、残差が符号化されておらず、零であると推定されるかを示すバイナリ・フラグが符号化される。LUTのサイズもまた、必要に応じて、ビットストリーム内に符号化される。
【0047】
図6は、本発明の別の例示的な実施形態に係る符号化方法のフローチャートを表現している。この方法は、八分木を使用した頂点の格子として規定される3D LUTを符号化するためのものであり、色値のトリプレットなど、n個の色値の組は、格子の各頂点に関連付けられる。ここで、nは1以上の整数(n≧1)である。八分木は、3D色空間を、
図7Aおよび
図7Bに描かれているように、8個の八分空間に再帰的に細分割することによって、パーティション化するためのものである。
図7Aにおいて、パーティション化は、対称的であり、その一方で、
図7Bにおいて、パーティション化は、非対称的である。レベルNの八分空間は、その親八分空間をレベルN-1に有する。八分木は、四分木の3D類似物である。開示されるこの符号化方法は、現在の八分空間に属する格子の現在の頂点Vを符号化するものである。以下において、n=3である。
【0048】
ステップ50において、座標(r,g,b)の現在の頂点Vに関連付けられた3つの色値(Vr,Vg,Vb)の各々が近傍の頂点、すなわち、現在の八分空間の親八分空間に属する頂点に関連付けられた再構築された色値から予測される。表記を簡略化するために、(c1,c2,c3)の代わりに(r,g,b)が使用される。しかしながら、本発明は、(R,G,B)の色空間に限定されるものではない。本発明は、(Y,U,V)や(Y,Cb,Cr)などの色空間表現に適用することができる。
【0049】
したがって、各色値に対し、例えば、
図8に示されているようなトリリニア補間を使用して予測値が求められる。
【数1】
ここで、i=0、1であり、j=0であり、k=0、1である(ri,gj,bk)は、3D色空間内の親八分空間の頂点の座標であり、(r,g,b)は、現在の頂点の座標であり、
【数2】
は、頂点(ri,gj,bk)に関連付けられた最初の色値であり、
【数3】
であり、s
0(t)=t
1-tであり、s
1(t)=t-t
0であり、t=r、g、またはbである。
【0050】
gおよびbに対し、これと同じ式が使用される。プリズム、三角錐、四面体などの他の補間タイプを使用することができる。
【0051】
格子は、必ずしも、
図9Aに描かれているように均一ではない。
【0052】
ステップ50の変形例において、インデックスjの現在の八分空間の座標(r,g,b)の現在の頂点Vに関連付けられた3つの色値(V
r,V
g,V
b)の各々は、座標(r
p,g
p,b
p)の1つの近傍の頂点Vp、すなわち、インデックス(j-1)の近傍の八分空間に属する頂点に関連付けられた少なくとも1つの再構築された色値から予測される。近傍の八分空間は、現在の八分空間と少なくとも1つの頂点を共有する八分空間であり、且つ/または、符号化八分空間リスト内で現在の八分空間に先行する八分空間である。符号化八分空間リストは、八分空間の符号化順序を特定するリストである。特定の実施形態においては、全ての八分空間は、全く同一のレベルに属する。したがって、
図9Bに示されているように、成分rについて、各色に対して予測値が求められる。
【数4】
であり、ここでPredA
rは、3D LUT内の頂点の位置に依存した値であり、PredB
rは、近傍の頂点Vpに関連付けられた再構築された色値に依存する値である。例えば、PredA
rは、r
pである。例示的には、PredB
r=V’r-PredA’
rである。ここで、V’rは、近傍の八分空間の頂点Vpの再構築された色値であり、PredA’
rは、3D LUT内の頂点Vpの位置に依存する値である。例えば、PredA’
rは、r
pである。これと同じ式がgおよびbに対しても使用される。
【0053】
ステップ52において、現在の頂点に対し、各色成分毎に1つ、3つの残差が算出される。
【数5】
、
【数6】
、および
【数7】
である。
【0054】
量子化された残差は次に、ビットストリーム内に符号化されるか、エントロピー符号化される前に量子化される。エントロピー符号化には、指数ゴロム、ハフマン、CABAC(コンテクスト適応型バイナリ算術符号化(Context Adaptive Binary Arithmetic Coding)の英語の頭文字をとったもの)のような従来のバイナリ符号化技術を利用することができる。
【0055】
レベル0の八分空間は、親八分空間を有していない。同様に、符号化八分空間リストにおける最初の八分空間は、先行する八分空間を有していない。結果として、この八分空間の現在の頂点Vに関連付けられた3つの色値(Vr,Vg,Vb)の各々は、既知の色値、例えば、値128から予測される。変形例によれば、相異なる既知の値がレベル0の八分空間の相異なる頂点のために使用される。別の変形例によれば、既知の色値からの予測は、レベル0の八分空間とは異なる他の八分空間に対しても行われる。変形例によれば、この八分空間の現在の頂点Vに関連付けられた3つの色値(Vr,Vg,Vb)の各々は、同一の八分空間に属する近傍の頂点に関連付けられた既に再構築済の色値から予測される。
【0056】
必要に応じて、符号化方法は、
“quantizer”値qをビットストリーム内に符号化することを含む。現在の頂点の3つの色値は、さらに再構築され、他の頂点の予測のために使用することができる。各再構築された色値は、“quantizer”が使用されない場合には当初の色値となる(q=1)。そうでない場合には、各再構築された色値は、対応する残差を逆量子化し、逆量子化された残差を対応する予測値に加えることによって求められる。
【0057】
変形例によれば、符号化方法は、頂点の少なくとも1つの色値の予測に使用される補間タイプをビットストリーム内に符号化することをさらに含む。より正確には、ビットストリーム内で補間タイプを識別するインデックスが符号化される。例として、インデックス0は、トリリニア補間を識別し、インデックス1は、プリズム補間を識別し、インデックス2は、三角錐補間を識別し、インデックス3は、四面体補間を識別する。
【0058】
変形例によれば、LUTの必ずしも全ての頂点がビットストリーム内に符号化されるものではない。例えば、頂点の全ての残差の絶対値または全ての量子化された残差の絶対値が閾値TH未満である場合には、その頂点に対して符号化される残差は存在しない。例えば、TH=0またはTH1である。したがって、各頂点に対し、その頂点に対して少なくとも1つの残差が符号化されているかどうかを示すバイナリ・フラグがビットストリーム内に符号化される。変形例によれば、各頂点の各色値に対し、その色値に対して残差が符号化されているか、或いは、残差が符号化されておらず、零であると推定されるかを示すバイナリ・フラグが符号化される。別の変形例においては、
図9Cに描かれている特定の頂点のみが符号化される。この図面において、八分空間毎に、8個の頂点のうち、4つの頂点のみが符号化される。
【0059】
通常、LUTは、レンダリング表示色順応または色域スケーラビリティなどのアプリケーションにおけるビデオのピクチャの変換に使用するために、ビットストリーム内に符号化される。LUTは符号化され、ビデオと共に送信されることがある。符号化方法で3D LUTの何らかの部分がアプリケーションによって使用されないことが分かっている場合には、3D LUTのこの部分に属する頂点は符号化されない。同様に、符号化方法で、ビデオの最終的なレンダリングに対する3D LUTの何らかの部分による影響が小さいことが分かっている場合には、3D LUTのこの部分に属する頂点は符号化されない。
【0060】
この方法は、3D LUT全体の符号化のために再帰的に適用される。この場合、八分木の全ての八分空間が符号化される。現在の八分空間の全ての頂点が符号化されると、現在の八分空間の子八分空間の頂点が符号化される。
当業者は、「八分空間の頂点を符号化する」ことが「八分空間を符号化する」と称されることがあることを理解するであろう。当業者はまた、「頂点についての値を符号化する」ことが「頂点を符号化する」と称されることがあることを理解するであろう。
【0061】
変形例においては、3D LUTは、符号化される前に、前処理される。この場合、スプリット・フラグが八分木における各八分空間に関連付けられ、当初、“false”に設定される。前処理ステップの間、各八分空間に対し、スプリット・フラグ値が求められる。現在の八分空間の符号化されるべき少なくとも1つの頂点が、量子化されている可能性のある、THを超える少なくとも1つの残差を有する場合には、その親八分空間のスプリット・フラグは、“true”に設定される。レベルNの現在の八分空間のスプリット・フラグは、したがって、その直接の子(すなわち、レベルN+1の子)が再帰的に符号化されるか、依然として符号化されていないその全ての子(すなわち、レベルN+k(k>0)の子)の頂点の全ての残差が零であると推定されるかを示す。
【0062】
符号化ステップの間、スプリット・フラグおよび残差がビットストリーム内に符号化される。現在の八分空間の全ての頂点が符号化されると、現在の八分空間のスプリット・フラグが“true”〔真〕であれば、現在の八分空間の子八分空間の頂点が符号化される。好ましくは、2つの八分空間に属する頂点は、一度のみ符号化される。変形例においては、幾つかの八分空間の間で共有される頂点は、2回以上符号化される。具体的には、頂点は、相異なる値で、すなわち、この頂点が属する各八分空間毎に1つの値で、数回符号化される。
図9Dを参照すると、頂点V1が八分空間(j)と八分空間(j-1)との間で共有されている。したがって、V1は、八分空間(j)に対して一方の値で、八分空間(j-1)に対してもう一方の値で、2度符号化される。一方の値およびもう一方の値は異なることがある。同様に、4個の八分空間の間で共有される頂点V2は、4回符号化されることがある。
【0063】
3D LUTは、例えば、AVC、HEVC、SVC、または、SHVCビデオ符号化規格で規定されるVPS(ビデオ・パラメータ・セット(Video Parameter Set))、SPS(シーケンス・パラメータ・セット(Sequence Parameter Set))、PPS(ピクチャ・パラメータ・セット(Picture Parameter Set))または1つのSEIメッセージ(付加拡張情報(Supplemental Enhancement Information))で符号化される。例えば、3D LUTは、以下に規定されているもののような、SEIメッセージ内に符号化される。LUTのサイズSもまた、ビットストリーム内に必要に応じて符号化される。Sは、一方向の頂点の数である。
【0064】
変形例によれば、n個の関連する色値を有する頂点から構成される1つの3D LUTを符号化する代わりに、1つの色値を有する頂点から構成されるn個の3D LUTが符号化される。例えば、上述したように、n=3である。
【0065】
変形例によれば、3D LUTのサイズがS=2である場合、3×3の利得行列に復号された3D LUTからのオフセットを加えたものを算出し、それを3D LUTの代わりにCMFとして使用することを復号器に示すフラグが符号化される。
【0066】
別の変形例によれば、n個の関連付けられた色値を有する頂点から構成される1つの3D LUTを使用してローカルで規定された色変換のパラメータを符号化する。例示的には、3D LUTの各頂点は、色変換を表現する12個の色値に関連付けられる。3個の色値(V
r,V
g,V
b)を現在の頂点Vに関連付ける代わりに色変換を表現する12個の色値が頂点V(r,g,b)に関連付けられる。ここで、i=0、1、または、2である12個の色値[ai,bi,ci,oi]が規定され、以下の式が証明される。
【数8】
【0067】
変形例によれば、i=0、1、または、2であるパラメータ[ai,bi,ci]のみが頂点に関連付けられる。
【0068】
実際、サイズ2の3D LUT(8個の頂点を有する単一の八分空間)の場合には、頂点の3つの色値を選択して、3D LUTが以下の式によって規定される利得-オフセット・モデルに相当するものとなるようにすることができる。
【数9】
【0069】
このようにするため、8個の頂点A~H―の3つの色値(y
X,u
X,v
X)
X=A,・・・Hを以下の値に設定する必要がある。
【数10】
Kは、各色値を表現するために使用されるビットの数に依存する定数である。これは、色値が8ビット上で表現される場合には、K=255となり、色値が10ビット上で表現される場合には、K=1023となる、などである。そして、トリリニア補間は、利得-オフセット・モデルに相当する。
【0070】
図10は、本発明の例示的な実施形態に係る復号方法のフローチャートを表現している。
【0071】
ステップ140において、ビットストリームFから少なくとも1つの残差が復号される。復号は、通常、エントロピー復号を含む。変形例によれば、復号は、量子化された残差をエントロピー復号し、“quantizer”qを用いて量子化された残差を逆量子化することを含む。エントロピー復号には、指数ゴロム、ハフマン、CABAC(コンテクスト適応型バイナリ算術符号化(Context Adaptive Binary Arithmetic Coding)の英語の頭文字をとったもの)のような従来のバイナリ復号技術を利用することができる。
【0072】
必要に応じて、復号方法は、ビットストリームFから“quantizer”値qを復号することを含む。
【0073】
変形例によれば、LUTの必ずしも全ての頂点がビットストリームF内に符号化されるものではない。必要に応じて、各頂点に対し、その頂点のために少なくとも1つの残差が符号化されているかどうかを示すバイナリ・フラグがビットストリームから復号される。符号化される残差が存在しない場合には、この頂点の残差は零であると仮定される。
【0074】
ステップ142において、現在の頂点の少なくとも1つの色値が、近傍の頂点に関連付けられた再構築された色値から予測される。頂点V0(c1,c2)を色値の対応する組(V0
C1,V0
C2)に関連付ける2D LUTの例が
図5に描かれている。頂点V0に関連付けられた色値が空間的に近傍の頂点V1、V2、V3、およびV4から予測される。例として、予測子P(Pc1,Pc2)が補間を用いて以下のように算出される。
Pc1=0.25
*(V1
c1+V2
c1+V3
c1+V4
c1)
Pc2=0.25
*(V1
c2+V2
c2+V3
c2+V4
c2)
【0075】
変形例によれば、2D LUTは、頂点V0(c10,c20)を、一対の値(V0c1,V0c2)の代わりに一組のパラメータ(m11,m12,m21,m22,o1,o2)に関連付ける。このパラメータの組は、以下のようにV0の値(c10,c20)から値(V0C1,V0C2)を再構築するために使用することができる。
V0c1=m11*c10+m12*c20+o1
V0c2=m21*c10+m22*c20+o2
【0076】
頂点V0に関連付けられたパラメータは、例えば、空間的に近傍の頂点V1(c11,c21)、V2(c12,c22)、V3(c13,c23)およびV4(c14,c24)に関連付けられた再構築されたパラメータから予測される。例えば、予測値は、現在の頂点のパラメータに対し、補間を使用して計算される。ステップ144において、頂点が再構築される。より正確には、現在の頂点の少なくとも1つの色値がその予測値および復号された少なくとも1つの残差から再構築される。
【0077】
例として、2D LUTの場合には、現在の頂点V0に対し、2つの残差RC1およびRC2が復号される。現在の頂点は、したがって、その2つの色値を算出することによって、以下のように再構築される。(Rc1+Pc1)および(Rc2+Pc2)
【0078】
変形例によれば、復号方法は、ビットストリームFから、頂点の少なくとも1つの色値を予測するために使用される補間タイプを復号することをさらに含む。より正確には、ビットストリームから補間タイプを識別するインデックスが復号される。例として、インデックス0は、バイリニア補間を識別し、インデックス1は、最近傍頂点値補間を識別する。
【0079】
LUTのサイズもまた、必要に応じてビットストリームから復号される。
【0080】
図11は、本発明の別の例示的な実施形態に係る復号方法のフローチャートを表現している。この方法は、八分空間を使用して、頂点の格子として規定される3D LUTを復号するためのものであり、色値のトリプレットは、格子の各頂点に関連付けられる。開示されるこの復号方法は、現在の八分空間に属する格子の現在の頂点Vを復号するものである。
【0081】
ステップ150において、3つの残差resr、resg、resbがビットストリームFから復号される。通常、復号は、エントロピー復号を含む。変形例によれば、復号は、量子化された残差をエントロピー復号し、“quantizer”qを用いて量子化された残差を逆量子化することを含む。エントロピー復号には、指数ゴロム、ハフマン、CABAC(コンテクスト適応型バイナリ算術符号化(Context Adaptive Binary Arithmetic Coding)の英語の頭文字をとったもの)のような従来のバイナリ復号技術を利用することができる。
【0082】
必要に応じて、復号方法は、ビットストリームFから“quantizer”値qを復号することを含む。
【0083】
変形例によれば、LUTの必ずしも全ての頂点がビットストリームF内に符号化されるものではない。必要に応じて、各頂点に対し、少なくとも1つの残差がその頂点のために符号化されているかどうかを示すバイナリ・フラグがビットストリームから復号される。符号化されている残差が存在しない場合には、この頂点の残差は零であると仮定される。
別の変形例においては、
図9Cに描かれているように、特定の頂点のみが復号される。この図において、八分空間毎に8個の頂点のうち4個のみが復号される。
【0084】
ステップ152において、座標(r,g,b)の現在の頂点Vに関連付けられた3つの色値(Vr,Vg,Vb)の各々は、近傍の頂点、すなわち、現在の八分空間の親八分空間に属する頂点に関連付けられた再構築された色値から予測される。表記を簡略化するために、(c1,c2,c3)の代わりに(r,g,b)が使用される。しかしながら、本発明は、(R,G,B)の色空間に限定されるものではない。本発明は、(Y,U,V)や(Y,Cb,Cr)などの色空間表現に適用することができる。
【0085】
したがって、各色値に対し、例えば、
図8に示されているようなトリリニア補間を使用して予測値が求められる。
【数11】
ここで、i=0、1であり、j=0であり、k=0、1である(ri,gj,bk)は、3D色空間内の親八分空間の頂点の座標であり、(r,g,b)は、現在の頂点の座標であり、
【数12】
は、頂点(ri,gj,bk)に関連付けられた最初の色値であり、
【数13】
であり、
s
0(t)=t
1-t、およびs
1(t)=t-t
0であり、t=r、g、またはbである。
【0086】
gおよびbに対し、これと同じ式が使用される。プリズム、三角錐、四面体などの他の補間タイプを使用することができる。格子は、必ずしも、
図9Aに描かれているように均一ではない。
【0087】
ステップ152の変形例において、インデックスjの現在の八分空間の座標(r,g,b)の現在の頂点Vに関連付けられた3つの色値(V
r,V
g,V
b)の各々は、座標(r
p,g
p,b
p)の1つの近傍の頂点Vp、すなわち、インデックス(j-1)の近傍の八分空間に属する頂点に関連付けられた少なくとも1つの再構築された色値から予測される。近傍の八分空間は、現在の八分空間と少なくとも1つの頂点を共有する八分空間であり、且つ/または、符号化八分空間リスト内で現在の八分空間に先行する八分空間である。符号化八分空間リストは、八分空間の符号化順序を特定するリストである。特定の実施形態においては、全ての八分空間は、全く同一のレベルに属する。したがって、
図9Bに示されているように、成分rについて、各色に対して予測値が求められる。
【数14】
ここでPredA
rは、3D LUT内の頂点の位置に依存した値であり、PredB
rは、近傍の頂点Vpに関連付けられた再構築された色値に依存する値である。例えば、PredA
rは、r
pである。例示的には、PredB
r=V’r-PredA’
rである。ここで、V’rは、近傍の八分空間の頂点Vpの再構築された色値であり、PredA’
rは、3D LUT内の頂点Vpの位置に依存する値である。例えば、PredA’
rは、r
pである。これと同じ式がgおよびbに対しても使用される。
【0088】
ステップ154において、現在の頂点に対し、3つの色値が算出され、したがって、その予測値および対応する復号された残差(res
r,res
g,res
b)から再構築される。現在の頂点は、したがって、3つの色値を算出することによって、以下のように再構築される。
【数15】
、
【数16】
、および
【数17】
【0089】
レベル0の八分空間は、親八分空間を有していない。同様に、符号化八分空間における最初の八分空間は、先行する八分空間を有していない。結果として、この八分空間の現在の頂点Vに関連付けられた3つの色値(Vr,Vg,Vb)の各々は、既知の色値、例えば、値128から予測される。変形例によれば、この八分空間の現在の頂点Vに関連付けられた3つの色値(Vr,Vg,Vb)の各々は、同一の八分空間に属する近傍の頂点に関連付けられた既に再構築済の色値から予測される。
【0090】
この方法は、3D LUT全体の復号のために再帰的に適用される。好ましくは、2つの八分空間に属する頂点は、一度のみ復号される。変形例においては、幾つかの八分空間の間で共有される頂点は、2回以上復号される。具体的には、頂点は、相異なる値で、すなわち、この頂点が属する各八分空間毎に1つの値で、数回復号される。
図9Dを参照すると、頂点V1が八分空間(j)および八分空間(j-1)との間で共有されている。したがって、V1は、八分空間(j)に対して一方の値で、八分空間(j-1)に対してもう一方の値で、2度復号される。一方の値およびもう一方の値は異なることがある。同様に、4個の八分空間の間で共有される頂点V2は、4回復号されることがある。
【0091】
現在の八分空間(レベルN)の全ての頂点が復号されると、現在の八分空間の子(レベルN+1)八分空間の頂点が復号される。
【0092】
変形例によれば、レベルNの現在の八分空間に対し、その直接の子(すなわち、レベルN+1の子)が再帰的に復号されるか、依然として復号されていないその全ての子(すなわち、レベルN+kの子(k>0)))の頂点の全ての残差が零であると推定されるかを示すスプリット・フラグが復号される。
【0093】
変形例によれば、復号方法は、頂点の少なくとも1つの色値を予測するために使用される補間タイプをビットストリームFから復号することをさらに含む。より正確には、補間タイプを識別するインデックスがビットストリームから復号される。例として、インデックス0は、トリリニア補間を識別し、インデックス1は、プリズム補間を識別し、インデックス2は、三角錐補間を識別し、インデックス3は、四面体補間を識別する。
【0094】
3D LUTは、例えば、AVC、HEVC、SVC、または、SHVCビデオ符号化規格で規定されるVPS、SPS、PPS、または1つのSEIメッセージから復号される。LUTのサイズもまた、必要に応じて、ビットストリームから復号される。例えば、3D LUTは、以下に規定されたもののような、SEIメッセージにおいて復号される。
【0095】
変形例によれば、n個の色値を有する頂点から構成される1つの3D LUTを復号する代わりに、1つの色値を有する頂点から構成されるn個の3D LUTが復号される。例えば、n=3である。
【0096】
変形例によれば、3D LUTサイズがS=2である場合、3×3の利得行列に復号された3D LUTからのオフセットを加えたものを算出し、それを3D LUTの代わりにCMFとして使用することを復号器に示すフラグが復号される。
【0097】
図4および
図6に係る符号化方法に関して開示される同一の変形例が復号器側にも適用される。
【0098】
図4、
図6、
図10、および
図11において、表現されているボックスは、純粋に、機能的なものであり、物理的に別個のものに必ずしも対応するものではない。
【0099】
当業者であれば理解できるであろうが、本願の原理の態様は、システム、方法、または、コンピュータ読み取り可能な媒体として実施することができる。したがって、本願の原理の態様は、完全にハードウェアの実施形態をとることも、(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)完全にソフトウェアの実施形態をとることも、「回路」、「モジュール」、または、「システム」として本明細書中で全てが一般的に参照されるソフトウェアの態様およびハードウェアの態様を組み合わせた実施形態をとることもできる。さらに、本願の原理の態様は、コンピュータ読み取り可能な記憶媒体の形態をとることもできる。1つ以上のコンピュータ読み取り可能な媒体を任意に組み合わせて使用することができる。
【0100】
図面内のフローチャートおよび/またはブロック図は、本発明の様々な実施形態に係るシステム、方法、およびコンピュータ・プログラムの製品の想定される実施態様の構成、動作、機能を示している。この点に関し、フローチャートまたはブロック図内の各ブロックは、モジュール、セグメント、または、コードの部分を表現し、これは、特定の論理機能を実施するための1つ以上の実行可能な命令を含む。なお、幾つかの代替的な実施態様においては、ブロック内に示された機能の順序が図面に示された順序ではないことがある。例えば、連続して示されている2つのブロックは、実際には、概ね同時に実行されることもある。または、ブロックは、時折は、逆の順序で実施されることもあれば、ブロックは、関連する機能に依存して、代替的な順序で実行されることもある。なお、例示したブロック図および/またはフローチャートの各ブロック、例示したブロック図および/またはフローチャートのブロックの組み合わせは、特定の機能または動作を実行する特定目的ハードウェア・ベースのシステム、または、特定目的ハードウェアおよびコンピュータの命令の組み合わせによって実施することができる。明示的に記載されていないが、本願の実施形態を任意に組み合わせることも、部分的に組み合わせることもできる。
【0101】
さらに、3D LUTなどのLUTを符号化したビットストリームが開示される。図示した符号化方法によって生成されるビットストリームは、頂点の格子として規定される少なくともLUTを符号化したものである。少なくとも1つの色値は、格子の各頂点に関連付けられ、上記ビットストリームには、現在の頂点の少なくとも1つの色値とその予測値との間で算出された少なくとも1つの残差が符号化されている。
【0102】
例示的な実施形態は、文書ITU-T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオ符号化(JCT-VC)についての共同チームの文書JCTVC-L1003に規定されているHEVC符号化規格のフレームワーク内で、または、ITU-T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオ符号化(JCT-VC)についての共同チームの文書JCTVC-L1008に規定されているHEVC符号化規格のスケーラブル拡張であるSHVC符号化規格のフレームワーク内で提案される。この規格は、符号化されたデータのどのようなストリームもこの規格に対応するように準拠しなければならないというシンタックスを規定している。特に、このシンタックスは、様々な情報がどのように符号化されるかを規定する(例えば、シーケンスに含まれるピクチャに関連するデータ、動きベクトルなど)。SHVC符号化規格の観点から、LUTは、PPSまたはVPSに符号化できる。シンタックス要素であるuse_color_predictionは、表1に示されているように、現在のピクチャにおける色予測値の使用を示すために使用される。
【表1】
【0103】
use_color_predictionフラグが「1」である場合には、3D_LUT_color_data関数が呼び出され、表2に示された3D LUTデータを信号で伝達する。
【表2】
【0104】
nbpCodeは、nbpCodeの所与の値に対し、表4に列挙されている3D LUTのサイズを示す。“quantizer”値は、3D_LUT_color_data()関数によって符号化することができる。
【0105】
変形例によれば、3D_LUT_color_data()は、以下のように、表3に規定される。
【表3】
【0106】
nbpCodeは、nbpCodeの所与の値に対し、表4に列挙されている3D LUTのサイズを示す。量子化値は、3D_LUT_color_data()関数によって符号化することができる。
【0107】
NbitsPerSampleは、色値を表現するために使用されるビットの数を示す。
【表4】
【0108】
八分空間(レイヤ,y,u,v)の復号は、表4に示されているように再帰関数である。各八分空間は、残差色値が符号化されているか、全てが零であると推定されるかを示すフラグ(encoded_flag[i])に関連付けられた8個の頂点から構成される。色値は、残差を色値の予測値に加えることによって再構築される。色値の予測値は、例えば、layer_id-1の8個の近傍の頂点のトリリニア補間を使用して算出される。
【表5】
【0109】
別の有益な実施形態によれば、LUTは、SEIメッセージ内に符号化される(SEIは、「補助拡張情報(Supplemental Enhancement Information)を表す」)。HEVC規格は、その附属書Dにおいて、SEIと呼ばれる追加的な情報が符号化される方法を規定している。この追加的な情報は、payloadTypeと呼ばれるフィールドによってシンタックス内で参照される。SEIメッセージは、例えば、表示に関連する処理における支援を行う。なお、復号装置がその使用に必要な機能を有していない場合には、この情報は考慮されない。本発明の特定の実施形態によれば、SEIメッセージの新たなタイプが規定されて3D LUTに関連する追加的な情報を符号化できるようにする。この目的のため、まだ使用されていない値の中から、フィールドpayloadTypeのための新たな値が規定される(例えば、payloadTypeは24である)。
【0110】
SEIデータのシンタックス(すなわち、sei_payload)は、以下のように拡張される。
【表6】
【0111】
変形例によれば、SEIメッセージは、さらに、例えば、color_description_present_flagの後に、インジケータcolor_interpolator_idを含む。このインジケータcolor_interpolator_idの値は、表7に規定されているように、補間のタイプを示す。
【表7】
【0112】
このSEIメッセージは、特定の表示環境に合わせるようにカスタマイズするための出力された復号済のピクチャの色サンプルの再マッピングを可能にする情報を提供する。再マッピング処理は、RGB色空間における符号化されたサンプル値を対象のサンプル値にマッピングする。マッピングは、輝度またはRGBの色空間領域内のいずれかで表現され、したがって、輝度成分または復号されたピクチャの色空間変換によって生成された各RGB成分に適用されるとよい。
【0113】
3D_LUT_color_data()は、表2または表3に規定されている。
【0114】
復号された3D LUTは、例えば、NALユニット・ヘッダのインデックスnuh_layer_idによって識別されるレイヤに属する復号されたピクチャに適用される(SEIメッセージのITU-T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオ符号化(JCT-VC)についての共同チームの文書JCTVC-L1003に規定されている文書HEVC符号化規格のセクション7.3.1.2参照)。
【0115】
color_map_idは、色マッピング・モデルの目的を識別するために使用されることがある識別番号を含む。color_map_idの値は、アプリケーションが定めるように使用することができる。color_map_idは、相異なる表示シナリオに適した色マッピング動作をサポートするように使用することができる。例えば、color_map_idの相異なる値は、相異なる表示ビット深度に対応することがある。
【0116】
color_map_cancel_flagが1である場合、これは、色マッピング情報SEIメッセージが、出力順で前にある任意の色マッピング情報SEIメッセージの持続性を解消することを示す。color_map_cancel_flagが0である場合、これは、色マッピング情報が続くことを示す。
【0117】
color_map_repetition_periodは、色マッピング情報SEIメッセージの持続性を規定し、color_map_idの同一の値を有する別の色マッピング情報SEIメッセージが存在するピクチャ・オーダ・カウント間隔を規定するか、または、符号化されたビデオ・シーケンスの最後がビットストリーム内に存在していなければならないことを規定することがある。color_map_repetition_periodが0である場合、これは、現在の復号済のピクチャのみに色マップ情報が適用されることを規定する。
【0118】
color_map_repetition_periodが1である場合、これは、以下の条件のいずれかが当てはまるまで出力順で色マップ情報が持続することを規定する。
【0119】
・新たに符号化されたビデオ・シーケンスが開始する。
・color_map_idの同じ値を有する色マッピング情報SEIメッセージを含むアクセス単位のピクチャが、PicOrderCnt(CurrPic)で示される現在復号済のピクチャのピクチャ・オーダ・カウント(POCとして知られる)を超えるPOCを有して出力される。
【0120】
color_map_repetition_periodが0である、または1である場合、これは、color_map_idの同一の値を有する別の色マッピング情報SEIメッセージが存在する、または、存在しないことを示す。
【0121】
color_map_repetition_periodが1を超える場合、これは、以下の条件のいずれかが当てはまるまで色マップ情報が持続することを規定する。
【0122】
・新たな符号化されたビデオ・シーケンスが開始する。
・color_map_idの同じ値を有する色マッピング情報SEIメッセージを含むアクセス単位のピクチャが、PicOrderCnt(CurrPic)を超え、PicOrderCnt(CurrPic)+color_map_repetition_period以下であるPOCを有して出力される。
【0123】
color_map_repetition_periodが1を超える場合、これは、color_map_idの同じ値を有する別の色マッピング情報SEIメッセージが、PicOrderCnt(CurrPic)を超え、PicOrderCnt(CurrPic)+color_map_repetition_period以下であるPOCを有して出力されるアクセス単位のピクチャのために存在することを示す。これは、ビットストリームが終了するか、このようなピクチャの出力無しに新たな符号化されたビデオ・シーケンスが開始する場合を除く。
【0124】
color_description_present_flagが1である場合、これは、colour_primaries_input_idおよびcolour_primaries_output_idが存在することを規定する。
【0125】
color_description_present_flagが0である場合、これは、colour_primaries_input_idおよびcolour_primaries_output_idが存在しないことを規定する。
【0126】
color_primaries_input_idは、ISO11664-1によって規定されるxおよびyのCIE1931定義の観点から、表8に規定されているようなソース・プライマリ(原色)の色度座標を示す。
【0127】
color_primaries_input_idは、3D色LUTが適用されたときの、ISO11664-1によって規定されるxおよびyのCIE1931定義の観点から、表8に規定されているような色マッピングされた原色の色度座標を示す。
【0128】
color_output_rgbが1である場合、これは、出力色サンプルが輝度信号および彩度信号であることを示す。color_output_rgbが0である場合、これは、出力色サンプルが緑値、赤値、青値であることを示す。
【0129】
lut_bit_depth_minus8は、3D LUTサンプルのビット深度を規定する。
【0130】
nbp_codeは、このnbp_codeの所与の値に対し、3D LUTサイズnbpを表4に列挙されているように示す。
【0131】
3D LUT復号の出力は、nbp×nbp×nbpのサイズの3次元アレイLUTである。各LUTアレイ要素は、頂点とよばれ、(lut_bit_depth_minus8+8)であるビット深度の3つの再構築されたサンプル値(recSamplesY,recSamplesU,recSamplesV)に関連付けられている。i%(nbp>>layer_id)、j%(nbp>>layer_id)、およびk%(nbp>>layer_id)の値が零である場合には、頂点lut[i][j][k]は、レイヤlayer_idに属しているといえる。1つの頂点が複数のレイヤに属することがある。レイヤlayer_idの八分空間は、layer_idに属する8個の近傍の頂点から構成される(
図14)。
【0132】
八分空間(layer_id,y,u,v)の復号は、再帰関数である。各八分空間は、残差成分の値(resY[i],resU[i],resV[i])が符号化されているか、全て零であると推定されているかを示すフラグ(encoded_flag[i])に関連付けられた8個の頂点(i=0,・・・7)から構成される。成分値は、この成分値の予測値に対して残差を加えることによって再構築される。成分値の予測値は、layer_id-1の8個の近傍の頂点のトリリニア補間を使用して算出される。再構築されると、頂点は、再構築済であるとマークされる。
【0133】
ここで、(y+dy[i])、(u+du[i])、および(v+dv[i])は、(最初の頂点(i=0)座標として(y,u,v)を有する)現在の八分空間の8個の子八分空間の座標(最初の3D色頂点の座標)である。所与のレイヤに対する値dy[i]、du[i]、およびdv[i]が表9に描かれている。
【表8】
【表9】
表9:レイヤ=layer_idに属する頂点に対する、インデックスiの関数における値dy[i]、du[i]およびdv[i]
【0134】
レイヤ=layer_idの八分空間に属する頂点((y+dy[i])、(u+du[i])、(v+dv[i]))に対する再構築された3D色LUTサンプル(recSamplesY[i],recSamplesU[i],recSamplesV[i])は、以下のように与えられる。
recSamplesY[i] = resY[i]+predSamplesY[i]
ここで、predSampleY[i]の値は、現在の八分空間を含むレイヤ=layer_id-1の八分空間の頂点でトリリニア補間を使用して導出される。
【0135】
図12は、符号化器1の例示的なアーキテクチャを表現している。符号化器は、符号化方法のステップを実行するように構成される。符号化器1は、データおよびアドレス・バス64によって互いにリンクされた要素として、
例えば、DSP(すなわち、ディジタル信号プロセッサ(Digital Signal Processor))であるマイクロプロセッサ61(またはCPU)と、
ROM(すなわち、読み出し専用メモリ(Read Only Memory))62と、
RAM(すなわち、ランダム・アクセス・メモリ(Random Access Memory))63と、
例えば、キーボード、マウス、ウェブカムなどの、1つまたは幾つかのI/O(入出力(Input/Output))装置65と、
電源66と、を含む。
【0136】
変形例によれば、電源66は、符号化器の外部に存在する。
図12のこれらの要素の各々は、当業者にとって良く知られており、さらなる開示は行わない。明細書中で使用されている単語<<レジスタ>>は、上述したメモリの各々において、(何らかのバイナリ・データ用の)低容量の記憶領域と共に、(プログラム全体の記憶を可能にする、または、計算されるデータを表現するデータの全て或いは一部を表示可能にする)大容量の記憶領域の双方を示す。ROM62は、プログラムおよび符号化パラメータ(閾値THなど)を含む。本発明に係る符号化方法のアルゴリズムは、ROM62に記憶される。スイッチがオンになると、CPU61は、RAM内のプログラム620をアップロードして、対応する命令を実行する。
【0137】
RAM63は、レジスタ内で、符号化器1のスイッチがオンになった後にCPU61によって実行され、アップロードされるプログラムと、レジスタ内の入力データと、レジスタ内に符号化方法の異なる状態で符号化されたデータと、レジスタ内での符号化のために使用される他の変数と、を含む。
【0138】
図13は、復号器2の例示的なアーキテクチャを表現している。復号器は、復号方法のステップを実行するように構成される。復号器2は、データおよびアドレス・バス74によって互いにリンクされた要素として、
例えば、DSP(すなわち、ディジタル信号プロセッサ(Digital Signal Processor))であるマイクロプロセッサ71(またはCPU)と、
ROM(すなわち、読み出し専用メモリ(Read Only Memory))72と、
RAM(すなわち、ランダム・アクセス・メモリ(Random Access Memory))73と、
送信するデータをアプリケーションから受信するためのI/Oインタフェース75と、
バッテリ76と、を含む。
【0139】
変形例によれば、バッテリ76は、符号化器の外部に存在する。
図13のこれらの要素の各々は、当業者にとって良く知られており、さらなる開示は行わない。上述したメモリの各々において、明細書中で使用されている単語<<レジスタ>>は、小容量の記憶領域(何らかのビット)と共に、極めて大きな領域(例えば、プログラム全体、或いは、大量の受信または復号されるデータ)に対応することがある。ROM72は、少なくともプログラムおよび復号器パラメータを含む。本発明に係る復号方法のアルゴリズムは、ROM72に記憶される。スイッチがオンになると、CPU71は、RAM内のプログラム720をアップロードして、対応する命令を実行する。
【0140】
RAM73は、レジスタ内に、復号器2のスイッチがオンになった後にCPU71によって実行され、アップロードされるプログラムと、レジスタ内の入力データと、レジスタ内に復号方法の異なる状態で復号されたデータと、レジスタ内での復号のために使用される他の変数と、を含む。
【0141】
本明細書中に記載された実施態様は、例えば、方法またはプロセス、装置、ソフトウェア・プログラム、データストリーム、または信号において実施されることがある。単一の形態の実施態様として説明されている場合であっても(例えば、方法または装置としてのみ説明されている場合であっても)、説明された特徴事項の実施態様が他の形態で実施されることがある(例えば、プログラム)。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアで実施されることがある。この方法は、例えば、装置で実施されることがある。この装置としては、例えば、プロセッサが挙げられ、このプロセッサは、一般的には、例えば、コンピュータ、マイクロプロセッサ、集積回路、または、プログラマブル・ロジック装置を含む処理装置を指す。プロセッサは、さらに、例えば、コンピュータ、携帯電話、携帯/個人情報端末(PDA)などの通信装置、およびエンドユーザ間の情報の通信を容易にするその他の装置を含む。
【0142】
本明細書中に記載した様々な処理および特徴事項の実施態様は、様々な機器またはアプリケーションで実施されることがある。このような機器の例としては、符号化器、復号器、復号器からの出力を処理するポストプロセッサ、符号化器に入力を提供するプリプロセッサ、ビデオ符号化器、ビデオ復号器、ビデオ・コーデック、ウェブ・サーバ、セットトップ・ボックス、ラップトップ、パーソナル・コンピュータ、携帯電話、PDA、および他の通信装置が挙げられる。機器は、モバイルのものでもよく、モバイル車両に備え付けられたものであってもよいことは明らかであろう。
【0143】
さらに、方法は、プロセッサによって実行される命令よって実施してもよく、このような命令(および/または実施態様によって生成された値)は、例えば、集積回路、ソフトウェア・キャリア、または、例えば、他の記憶装置のようなプロセッサ読み取り可能媒体に記憶することができる。他の記憶装置としては、例えば、ハードディスク・コンパクト・ディスク(CD)、光学ディスク(例えば、ディジタル多用途ディスクまたはディジタル・ビデオ・ディスクと称することが多いDVD)、ランダム・アクセス・メモリ(RAM)、または読み取り専用メモリ(ROM)が挙げられる。命令は、プロセッサ読み取り可能媒体上に現実的に実装されるアプリケーション・プログラムを形成することがある。例えば、命令は、ハードウェアにあってもよく、ファームウェアにあってもよく、ソフトウェアにあってもよく、これらを組み合わせたものにあってもよい。例えば、命令は、オペレーティング・システム、別個のアプリケーション、またはこれらの2つを組み合わせたものに存在する。したがって、プロセッサは、例えば、プロセスを実行するように構成された装置とプロセスを実行するための命令を有する(記憶装置などの)プロセッサ読み取り可能媒体を含む装置との両方として特徴付けられる。さらに、プロセッサ読み取り可能媒体は、命令に加えて、または、命令の代わりに、実施態様によって生成されたデータ値を記憶することがある。
【0144】
当業者であれば明らかであろうが、実施態様により、例えば、情報の記憶または送信を含み、情報を搬送するようにフォーマットされた様々な信号を生成することができる。情報は、例えば、方法を実行する命令、または、上述した実施態様のうちの1つによって生成されたデータを含むことがある。例えば、信号は、上述した実施形態のシンタックスの記述および読み取りのためのルールをデータとして搬送するようにフォーマットされてもよく、上述した実施形態によって記述された実際のシンタックス値をデータとして搬送するようにフォーマットされてもよい。このような信号は、例えば、(例えば、スペクトラムの無線周波数部分を使用して)電磁波として、または、ベースバンド信号としてフォーマットされてもよい。フォーマット処理には、例えば、データストリームを符号化し、符号化されたデータストリームでキャリアを変調することを含めることができる。信号を搬送する情報は、例えば、アナログ情報またはディジタル情報である。信号は、公知である様々な異なる有線または無線のリンクを介して送信されることがある。信号は、プロセッサ読み取り可能媒体上に記憶されることがある。
【0145】
幾つかの実施態様について記載した。しかしながら、様々な改変を施すことができることが理解されよう。例えば、複数の異なる実施態様の要素の組み合わせ、追補、改変、または除去により他の実施態様を生み出すこともできる。さらに、開示されているものを他の構造および処理と置換して、結果として得られる実施態様が少なくとも概ね同様の方法で、少なくとも概ね同一の機能を実行し、開示されている実施態様と少なくとも概ね同一の効果を得られるようにできることを当業者であれば理解できよう。したがって、これらの実施態様およびその他の実施態様が本出願によって想定される。具体的には、本発明に係るLUTを符号化する方法は、各頂点に関連付けられている値のタイプがどのようなものであれ、どのような種類のLUTの符号化に使用することもできる。
【0146】
いくつかの態様を記載しておく。
〔態様1〕
頂点の格子として規定されるLUTを符号化する方法であって、
少なくとも1つの値が前記格子の各頂点に関連付けられ、現在の頂点に対し、
前記現在の頂点に関連付けられた前記少なくとも1つの値を別の値から予測するステップ(40、50)と、
前記現在の頂点の前記少なくとも1つの値と前記現在の頂点の予測値との間で算出された少なくとも1つの残差をビットストリーム内に符号化するステップ(42、52)と、を含む、前記符号化する方法。
〔態様2〕
前記別の値は、近傍の頂点に関連付けられた再構築された値から得られる、態様1に記載の符号化する方法。
〔態様3〕
前記値は、色値である、態様1または2に記載の符号化する方法。
〔態様4〕
前記色値は、色変換を表現する、態様3に記載の符号化する方法。
〔態様5〕
前記現在の頂点に関連付けられた前記少なくとも1つの値を近傍の頂点に関連付けられた再構築された値から予測するステップは、前記近傍の頂点の対応する再構築された値から前記少なくとも1つの値を補間するステップを含む、態様2~4のいずれか1項に記載の符号化する方法。
〔態様6〕
前記LUTは、八分木を使用して符号化された3D LUTであり、n個の値が前記格子の各頂点に関連付けられ、予測に使用される前記近傍の頂点は、前記現在の頂点が属する現在の八分空間の親八分空間に属する、態様2~5のいずれか1項に記載の符号化する方法。
〔態様7〕
頂点の格子として規定されるLUTを復号する方法であって、
少なくとも1つの値が前記格子の各頂点に関連付けられ、現在の頂点に対し、
ビットストリームから少なくとも1つの残差を復号するステップ(140、150)と、
前記現在の頂点に関連付けられた前記少なくとも1つの値を別の値から予測するステップ(142、152)と、
前記現在の頂点の前記少なくとも1つの値を前記現在の頂点の予測値と前記復号された少なくとも1つの残差とから再構築するステップ(144、154)と、を含む、前記復号する方法。
〔態様8〕
前記別の値は、近傍の頂点に関連付けられた再構築された値から得られる、態様7に記載の復号する方法。
〔態様9〕
前記値は、色値である、態様7または8に記載の復号する方法。
〔態様10〕
前記色値は、色変換を表現する、態様9に記載の復号する方法。
〔態様11〕
前記現在の頂点に関連付けられた前記少なくとも1つの値を近傍の頂点に関連付けられた再構築された値から予測するステップは、前記近傍の頂点の対応する再構築された値から前記少なくとも1つの値を補間するステップを含む、態様8~10のいずれか1項に記載の復号する方法。
〔態様12〕
前記LUTは、八分木を使用して復号された3D LUTであり、n個の値が前記格子の各頂点に関連付けられ、前記近傍の頂点は、前記現在の頂点が属する現在の八分空間の親八分空間に属する、態様8~11のいずれか1項に記載の復号する方法。
〔態様13〕
頂点の格子として規定されるLUTを符号化する符号化器であって、
少なくとも1つの値が前記格子の各頂点に関連付けられ、現在の頂点に対し、
前記現在の頂点に関連付けられた前記少なくとも1つの値を別の値から予測する手段と、
前記現在の頂点の前記少なくとも1つの値と前記現在の頂点の予測値との間で算出された少なくとも1つの残差をビットストリーム内に符号化する手段と、を含む、前記符号化器。
〔態様14〕
前記別の値は、近傍の頂点に関連付けられた再構築された値から得られる、態様13に記載の符号化器。
〔態様15〕
頂点の格子として規定されるLUTを復号する復号器であって、
少なくとも1つの値が前記格子の各頂点に関連付けられ、
ビットストリームから現在の頂点に関連付けられた少なくとも1つの残差を復号する手段と、
前記現在の頂点に関連付けられた前記少なくとも1つの値を別の値から予測する手段と、
前記現在の頂点の前記少なくとも1つの値を前記現在の頂点の予測値と前記復号された少なくとも1つの残差とから再構築する手段と、を含む、前記復号器。
〔態様16〕
前記別の値は、近傍の頂点に関連付けられた再構築された値から得られる、態様15に記載の復号器。