以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、以下の順序で説明する。
1.可逆方式の逆適応色変換のクリップ処理
2.第1の実施の形態(逆適応色変換装置)
3.第2の実施の形態(逆量子化逆変換装置)
4.第3の実施の形態(画像復号装置)
5.第4の実施の形態(画像符号化装置)
6.付記
<1.可逆方式の逆適応色変換のクリップ処理>
<技術内容や技術用語をサポートする文献等>
本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知である以下の非特許文献等に記載されている内容や以下の非特許文献において参照されている他の文献の内容等も含まれる。
非特許文献1:(上述)
非特許文献2:(上述)
非特許文献3:(上述)
非特許文献4:(上述)
非特許文献5:Recommendation ITU-T H.264 (04/2017) "Advanced video coding for generic audiovisual services", April 2017
非特許文献6:Recommendation ITU-T H.265 (02/18) "High efficiency video coding", february 2018
つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、上述の非特許文献に記載されているQuad-Tree Block Structure、QTBT(Quad Tree Plus Binary Tree) Block Structureが実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たす。
また、本明細書において、画像(ピクチャ)の部分領域や処理単位として説明に用いる「ブロック」(処理部を示すブロックではない)は、特に言及しない限り、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。例えば、「ブロック」には、上述の非特許文献に記載されているTB(Transform Block)、TU(Transform Unit)、PB(Prediction Block)、PU(Prediction Unit)、SCU(Smallest Coding Unit)、CU(Coding Unit)、LCU(Largest Coding Unit)、CTB(Coding Tree Block)、CTU(Coding Tree Unit)、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域(処理単位)が含まれる。
また、このようなブロックのサイズを指定するに当たって、直接的にブロックサイズを指定するだけでなく、間接的にブロックサイズを指定するようにしてもよい。例えばサイズを識別する識別情報を用いてブロックサイズを指定するようにしてもよい。また、例えば、基準とするブロック(例えばLCUやSCU等)のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合もある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定(例えば、許容されるブロックサイズの範囲の指定等)も含む。
また、本明細書において、符号化とは、画像をビットストリームに変換する全体の処理だけではなく、一部の処理も含む。例えば、予測処理、直交変換、量子化、算術符号化等を包括した処理を含むだけではなく、量子化と算術符号化とを総称した処理、予測処理と量子化と算術符号化とを包括した処理、などを含む。同様に、復号とは、ビットストリームを画像に変換する全体の処理だけではなく、一部の処理も含む。例えば、逆算術復号、逆量子化、逆直交変換、予測処理等を包括した処理を含むだけではなく、逆算術復号と逆量子化とを包括した処理、逆算術復号と逆量子化と予測処理とを包括した処理、などを含む。
<適応色変換>
RGB444における符号化効率を改善する符号化ツールとして、RGBドメインの係数データをYCgCoドメインの係数データに変換する適応色変換(ACT(Adaptive Color Transform))が提案された。この適応色変換をYCgCo変換とも称する。なお、適応色変換の逆処理を逆適応色変換(Inverse ACT)とも称する。YCgCo変換の逆処理を逆YCgCo変換とも称する。このYCgCo変換(逆YCgCo変換)は、非可逆な方式である。したがって、YCgCo変換(逆YCgCo変換)においては、RGBドメインの係数データとYCgCoドメインの係数データとの変換が不可逆(ロッシー)なものとなり得る。つまり、RGBドメインの係数データをYCgCo変換し、さらに逆YCgCo変換することにより、YCgCo変換前のRGBドメインの係数データと同一のRGBドメインの係数データを生成(復元)することが困難になるおそれがあった。
これに対して、非特許文献3において、その適応色変換として可逆な方式が提案された。この可逆方式の適応色変換をYCgCo-R変換とも称する。YCgCo-R変換の逆処理を逆YCgCo-R変換とも称する。つまり、このYCgCo-R変換(逆YCgCo-R変換)は、可逆な方式である。したがって、YCgCo-R変換(逆YCgCo-R変換)においては、RGBドメインの係数データとYCgCoドメインの係数データとのロスレスな変換を実現することができる。つまり、RGBドメインの係数データをYCgCo-R変換し、さらに逆YCgCo-R変換することにより、YCgCo-R変換前のRGBドメインの係数データと同一のRGBドメインの係数データを生成(復元)することができる。
したがって、適応色変換および逆適応色変換を適用した符号化において、非可逆方式のYCgCo変換および逆YCgCo変換を適用する場合、可逆符号化(ロスレスコーディング)を実現することが困難になるおそれがあった。これに対して、YCgCo-R変換および逆YCgCo-R変換を適用することにより、可逆符号化(ロスレスコーディング)を実現することができる。
<CgCo-R変換と逆YCgCo-R変換>
YCgCo-R変換は、以下の式(1)乃至式(4)のように、RGBコンポーネントをYCgCoコンポーネントに変換する。
・・・(1)
・・・(2)
・・・(3)
・・・(4)
式(1)乃至式(4)に示されるようなYCgCo-R変換により、YCgCo変換の場合と同様に、簡単なシフト演算および加減算のみでRGBドメインの係数データをYCbCrドメイン相当のYCgCoドメインの係数データへ変換することができる。逆YCgCo-R変換は、以下の式(5)乃至式(8)のように行われる。
・・・(5)
・・・(6)
・・・(7)
・・・(8)
<クリップ処理>
ところで、非特許文献4においては、非可逆方式の逆適応色変換(Inverse ACT)において、逆適応色変換処理の負荷の増大を抑制するために、入力信号となるYCgCoドメインの係数データを[-2^bitDepth, 2^bitDepth-1]でクリップすることが提案された。なお、[A, B]は、Aを下限値とし、Bを上限値とする値域を示す。また、『[A, B]でクリップする』とは、入力信号の下限値A以下の値をAとし、上限値B以上の値をBとすることを示す。bitDepthは、適応色変換される前のRGBドメインの係数データのビット深度を示す。
例えば、ビット深度bitDepthの係数データの値域は[-2^bitDepth, 2^bitDepth-1]である。このような値域のRGBドメインの係数データをYCgCo変換すると、YCgCoドメインの各コンポーネントの係数データの値域は、理論的には[-2^bitDepth, 2^bitDepth-1]の範囲内となる。ただし、実際には、何らかの外的要因等の影響により、YCgCoドメインの各コンポーネントの係数データは、この値域外の値を取り得る。逆適応色変換処理において、このように入力信号の値域が拡大すると逆適応色変換処理の負荷が増大するおそれがあった。特に、ハードウエア実装する場合、コストが増大するおそれがあった。
そこで、逆YCgCo変換の入力信号となるYCgCoドメインの各コンポーネントの係数データを[-2^bitDepth, 2^bitDepth-1]でクリップする。つまり、逆YCgCo変換の入力信号となる係数データrY[x][y]、rCb[x][y]、rCr[x][y]を以下の式(9)乃至式(11)のように処理する。
rY[x][y]はYコンポーネントの係数データを示す。rCb[x][y]はCgコンポーネントの係数データを示す。rCr[x][y]はCoコンポーネントの係数データを示す。Clip3(A,B,C)は、Cを下限値Aおよび上限値Bでクリップするクリップ関数を示す。<<は、ビットシフト(すなわち2の冪乗)を示す。
このようにすることにより、逆YCgCo変換において、この値域外の不要なレベルの処理を考慮する必要が無くなる。したがって、逆適応色変換処理の負荷の増大を抑制することができる。特に、ハードウエア実装する場合、コストの増大を抑制することができる。
このようにクリップ処理された係数データを、非特許文献3に記載のように、可逆方式で逆YCgCo-R変換するとする。その場合、式(9)乃至式(11)のように処理された係数データrY[x][y]、rCb[x][y]、rCr[x][y]が以下の式(12)乃至式(15)のように処理される。
・・・(12)
・・・(13)
・・・(14)
・・・(15)
なお、式(12)乃至式(15)は、上述した式(5)乃至式(8)と等価である。
<可逆方式の適応色変換におけるクリップ処理>
しかしながら、上述した可逆方式のYCgCo-R変換の場合、変換後の係数データの値域はYCgCo変換の場合よりも広い。例えば、RGBドメインのビット深度bitDepthの係数データをYCgCo-R変換すると、輝度成分であるYコンポーネントの係数データの値域は、[-2^bitDepth, 2^bitDepth-1]となる。また、色差成分であるCgコンポーネントとCoコンポーネントの係数データの値域は、[-2^(bitDepth+1), 2^(bitDepth+1)-1]である。すなわち、Yコンポーネントの係数データのダイナミックレンジは、bitDepth+1であり、CgコンポーネントとCoコンポーネントの係数データのダイナミックレンジは、bitDepth+2である。
そのため、非特許文献3において開示された可逆方式の適応色変換に対して非特許文献4に記載の方法を適用すると、クリップ処理によりYCgCoドメインの係数データが変化し、逆適応色変換後のRGBドメインの係数データの歪みが増大するおそれがあった。なお、この「歪み」とは、逆適応色変換前のRGBドメインの係数データに対する不一致、すなわち、逆適応色変換前後のRGBドメインの係数データの差を示す。つまり、このような手法では、RGBドメインの係数データとYCgCoドメインの係数データとのロスレスな変換を実現することが困難になるおそれがあった。
図1は、RGBドメインの残差信号をYCgCo変換またはYCgCo-R変換する場合の入力値および出力値の関係の例を示す図である。YCgCo変換およびYCgCo-R変換の入力であるRGBドメインの係数データのビット深度を10ビット(bitDepth=10)とする。このRGBドメインの係数データの値域は[-2^bitDepth, 2^bitDepth-1]であるとする。
図1のAは、Gコンポーネント(入力値)とYコンポーネント(出力値)との関係の例を示す。図1のBは、Bコンポーネント(入力値)とCgコンポーネント(出力値)との関係の例を示す。図1のCは、Rコンポーネント(入力値)とCoコンポーネント(出力値)との関係の例を示す。
また、図1において、グレーの丸がYCgCo変換の場合の入力値と出力値との関係の例を示す。白丸がYCgCo-R変換の場合の入力値と出力値との関係の例を示す。実線の太線はクリップの上限値の例を示す。点線の太線はクリップの下限値の例を示す。ここでは、非特許文献4に記載のクリップ処理の上限値および下限値を示している。
図1のBおよび図1のCに示されるように、YCgCo-R変換後のCgコンポーネントの係数データとCoコンポーネントの係数データは、クリップの上限値および下限値を超え得ることがわかる。このような場合、クリップ処理により、その上限値以上の値が上限値にクリップされ、下限値以下の値が下限値にクリップされる。つまり、一部の係数データの値が変化する。したがって、逆YCgCo-R変換後の係数データにおいて歪み(YCgCo-R変換前との不一致)が増大するおそれがあった。
このように逆適応色変換が不可逆なものとなることにより、その逆適応色変換を適用した符号化において、可逆符号化(ロスレスコーディング)を実現することが困難になるおそれがあった。また、逆適応色変換後のRGBドメインの係数データの歪みが増大することにより、復号画像と符号化前の画像との差が増大し、復号画像の品質が低減するおそれがあった。
<可逆な適応色変換に対するクリップ処理のレンジ設定>
そこで、可逆方式の逆適応色変換の入力である、可逆方式で適応色変換された係数データを、その係数データのビット深度に基づくレベルでクリップするようにする。
例えば、情報処理方法において、可逆方式で適応色変換された係数データを、その係数データのビット深度に基づくレベルでクリップし、そのレベルでクリップされた係数データを、可逆方式で逆適応色変換するようにする。
例えば、情報処理装置において、可逆方式で適応色変換された係数データを、その係数データのビット深度に基づくレベルでクリップするクリップ処理部と、そのクリップ処理部によりそのレベルでクリップされた係数データを、可逆方式で逆適応色変換する逆適応色変換部とを備えるようにする。
このようにすることにより、可逆方式の逆適応色変換の入力に対して、逆適応色変換後の係数データの歪みが増大しないようなレベルでクリップを行うことができる。したがって、逆適応色変換後の係数データの歪みの増大を抑制しながら逆適応色変換処理の負荷の増大を抑制することができる。
特に、クリップ処理の上限値と下限値との間の値域が、可逆方式で適応色変換された係数データが理論上取り得る値域を内包するように(すなわち、その係数データが理論上取り得る値域よりも広くなるように)、その上限値および下限値を設定することにより、逆適応色変換後の係数データの歪みの発生を抑制することができる。つまり、RGBドメインの係数データとYCgCoドメインの係数データとのロスレスな変換を実現しながら、逆適応色変換処理の負荷の増大を抑制することができる。
<方法1>
なお、そのクリップ処理の際、可逆方式で適応色変換された係数データの輝度成分および色成分(色差成分)が、互いに同一のレベルでクリップされてもよい。可逆方式で適応色変換された係数データは、輝度成分であるYコンポーネント、色成分(色差成分)であるCgコンポーネント、および、色成分(色差成分)であるCoコンポーネントにより構成される。つまり、これらの全コンポーネントが、互いに同一のレベルでクリップされてもよい。このようにすることにより、コンポーネント毎に異なるレベルでクリップする場合に比べて、クリップ処理を容易に行うことができ、負荷の増大を抑制することができる。
<方法1-1>
例えば、可逆方式で適応色変換された係数データのビット深度に1を加算した値を冪指数とする2の冪乗から1を減算した値を上限値として、その係数データの輝度成分および色成分(色差成分)がクリップされてもよい。また、可逆方式で適応色変換された係数データのビット深度に1を加算した値を冪指数とする2の冪乗に-1を乗算した値を下限値として、その係数データの輝度成分および色成分(色差成分)がクリップされてもよい。さらに、そのような上限値のクリップと下限値のクリップの両方が行われてもよい。
例えば、可逆方式で適応色変換された係数データに対して行われるクリップ処理の上限値actResMaxを、係数データのビット深度に1を加算した値を用いて、以下の式(16)のように設定する。また、可逆方式で適応色変換された係数データに対して行われるクリップ処理の下限値actResMinを、係数データのビット深度に1を加算した値を用いて、以下の式(17)のように設定する。
つまり、上限値actResMaxを、ビット深度に1を加算した値を冪指数とする2の冪乗から1を減算した値とする。また、下限値actResMinを、ビット深度に1を加算した値を冪指数とする2の冪乗に-1を乗算した値とする。そして、以下の式(18)乃至式(20)に示されるように、それらの上限値actResMaxおよび下限値actResMinを用いて、可逆方式で適応色変換された係数データの輝度成分および色成分(色差成分)をクリップする。
そして、このようにクリップ処理された係数データを、上述した式(12)乃至式(15)のように、逆YCgCo-R変換し、RGBドメインの係数データを導出する。
このようにすることにより、クリップ処理の上限値と下限値との間の値域を、可逆方式で適応色変換された係数データが理論上取り得る値域よりも広くすることができる。したがって、このような上限値と下限値でクリップすることにより、逆適応色変換後の係数データの歪みの発生を抑制することができる。つまり、RGBドメインの係数データとYCgCoドメインの係数データとのロスレスな変換を実現しながら、逆適応色変換処理の負荷の増大を抑制することができる。
<方法1-2>
また、バッファのダイナミックレンジも考慮してクリップ処理を行うようにしてもよい。例えば、クリップ処理の際、可逆方式で適応色変換された係数データが、そのビット深度と、逆適応色変換の際にその係数データを保持するバッファのダイナミックレンジとに基づくレベルでクリップされるようにしてもよい。このようにバッファのダイナミックレンジ(ハードウエア制限)を考慮して係数データをクリップすることにより、バッファのオーバフローの発生を抑制することができる。換言するに、保持する係数データのビット深度を考慮せずにバッファのダイナミックレンジを設定することができるので、バッファのダイナミックレンジの増大を抑制することができ、コストの増大を抑制することができる。
例えば、そのクリップするレベルを、可逆方式で適応色変換された係数データのビット深度に基づき、かつ、その係数データを保持するバッファのダイナミックレンジに基づかない値と、そのビット深度に基づかず、かつ、そのバッファのダイナミックレンジに基づく値との内の、小さい方を用いて導出される値としてもよい。このように、より小さい方の値を用いて上限値および下限値を設定する(つまり、クリップ処理によって、係数データをより狭い値域とする)ことにより、バッファのハードウエア制限を満たし、かつ、逆適応色変換後の係数データの歪みの増大を抑制しながら、逆適応色変換処理の負荷の増大を抑制することができる。
例えば、可逆方式で適応色変換された係数データのビット深度に1を加算した値と、その係数データを保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗から1を減算した値を上限値として、その係数データの輝度成分および色成分(色差成分)がクリップされてもよい。また、可逆方式で適応色変換された係数データのビット深度に1を加算した値と、その係数データを保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗に-1を乗算した値を下限値として、その係数データの輝度成分および色成分(色差成分)がクリップされてもよい。さらに、そのような上限値のクリップと下限値のクリップの両方が行われてもよい。
例えば、可逆方式で適応色変換された係数データに対して行われるクリップ処理の上限値actResMaxを、係数データのビット深度に1を加算した値と、その係数データを保持するバッファのダイナミックレンジから1を減算した値とを用いて、以下の式(21)のように設定する。また、可逆方式で適応色変換された係数データに対して行われるクリップ処理の下限値actResMinを、係数データのビット深度に1を加算した値と、その係数データを保持するバッファのダイナミックレンジから1を減算した値とを用いて、以下の式(22)のように設定する。
つまり、上限値actResMaxを、ビット深度に1を加算した値と、その係数データを保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗から1を減算した値とする。また、下限値actResMinを、ビット深度に1を加算した値と、その係数データを保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗に-1を乗算した値とする。そして、それらの上限値actResMaxおよび下限値actResMinを用いて、上述した式(18)乃至式(20)に示されるように、可逆方式で適応色変換された係数データの輝度成分および色成分(色差成分)をクリップする。
そして、このようにクリップ処理された係数データを、上述した式(12)乃至式(15)のように、逆YCgCo-R変換し、RGBドメインの係数データを導出する。
このようにすることにより、バッファのハードウエア制限を満たし、かつ、逆適応色変換後の係数データの歪みの増大を抑制しながら、逆適応色変換処理の負荷の増大を抑制することができる。
<方法2>
<可逆方式の適応色変換におけるクリップ処理>において上述したように、色成分(色差成分)であるCgコンポーネントとCoコンポーネントの係数データの値域は、輝度成分であるYコンポーネントの係数データの値域よりも広い。
そこで、係数データの輝度成分と色差成分とをそれぞれのレベルでクリップしてもよい。例えば、係数データの輝度成分を第1のレベルでクリップし、係数データの色成分(色差成分)を第2のレベルでクリップしてもよい。このようにすることにより、各成分の係数データを、その成分に応じた値域でクリップすることができるので、逆適応色変換後の係数データの歪みの増大を抑制しながら、逆適応色変換処理の負荷の増大をより抑制することができる。
例えば、値域の広い成分に合わせてクリップを行うと、より地域の狭い成分においてクリップの幅(上限値と下限値との間)が不要に広くなり、逆適応色変換処理の負荷の低減が抑制される。上述のように、各成分をその成分に応じた幅でクリップすることにより、逆適応色変換処理の負荷の増大をより抑制することができる。
<方法2-1>
第2のレベルの上限値と下限値との差が、第1のレベルの上限値と下限値との差よりも広くなるようにしてもよい。上述のように、色差成分であるCgコンポーネントとCoコンポーネントの係数データの値域は、輝度成分であるYコンポーネントの係数データの値域よりも広い。したがって、色差成分であるCgコンポーネントとCoコンポーネントの係数データに対するクリップの上限値と下限値との差を、輝度成分であるYコンポーネントの係数データに対するクリップの上限値と下限値との差よりも広くすることにより、逆適応色変換後の係数データの歪みの増大を抑制しながら、逆適応色変換処理の負荷の増大をより抑制することができる。
例えば、可逆方式で適応色変換された係数データのビット深度を冪指数とする2の冪乗から1を減算した値を上限値として、その係数データの輝度成分がクリップされてもよい。また、可逆方式で適応色変換された係数データのビット深度を冪指数とする2の冪乗に-1を乗算した値を下限値として、その係数データの輝度成分がクリップされてもよい。さらに、輝度成分に対するそのような上限値のクリップと下限値のクリップの両方が行われてもよい。また、可逆方式で適応色変換された係数データのビット深度に1を加算した値を冪指数とする2の冪乗から1を減算した値を上限値として、その係数データの色成分(色差成分)がクリップされてもよい。さらに、可逆方式で適応色変換された係数データのビット深度に1を加算した値を冪指数とする2の冪乗に-1を乗算した値を下限値として、その係数データの色成分(色差成分)がクリップされてもよい。また、色成分(色差成分)に対するそのような上限値のクリップと下限値のクリップの両方が行われてもよい。さらに、上述のような、輝度成分および色成分(色差成分)のそれぞれに対する上限値のクリップと下限値のクリップとが全て行われてもよい。
例えば、可逆方式で適応色変換された係数データの輝度成分に対して行われるクリップ処理の上限値actResMaxYを、係数データのビット深度を用いて、以下の式(23)のように設定する。また、可逆方式で適応色変換された係数データの輝度成分に対して行われるクリップ処理の下限値actResMinYを、係数データのビット深度を用いて、以下の式(24)のように設定する。さらに、可逆方式で適応色変換された係数データの色成分(色差成分)に対して行われるクリップ処理の上限値actResMaxCを、係数データのビット深度を用いて、以下の式(25)のように設定する。また、可逆方式で適応色変換された係数データの色成分(色差成分)に対して行われるクリップ処理の下限値actResMinCを、係数データのビット深度を用いて、以下の式(26)のように設定する。
・・・(23)
・・・(24)
・・・(25)
・・・(26)
つまり、輝度成分用の上限値actResMaxYを、ビット深度を冪指数とする2の冪乗から1を減算した値とする。また、輝度成分用の下限値actResMinYを、ビット深度を冪指数とする2の冪乗に-1を乗算した値とする。そして、それらの上限値actResMaxYおよび下限値actResMinYを用いて、以下の式(27)に示されるように、可逆方式で適応色変換された係数データの輝度成分をクリップする。
また、色成分(色差成分)用の上限値actResMaxCを、ビット深度に1を加算した値を冪指数とする2の冪乗から1を減算した値とする。また、色成分(色差成分)用の下限値actResMinCを、ビット深度に1を加算した値を冪指数とする2の冪乗に-1を乗算した値とする。そして、それらの上限値actResMaxCおよび下限値actResMinCを用いて、以下の式(28)および式(29)に示されるように、可逆方式で適応色変換された係数データの色成分(色差成分)をクリップする。
そして、このようにクリップ処理された係数データを、上述した式(12)乃至式(15)のように、逆YCgCo-R変換し、RGBドメインの係数データを導出する。
このようにすることにより、各成分の係数データを、その成分に応じた値域でクリップすることができるので、逆適応色変換後の係数データの歪みの増大を抑制しながら、逆適応色変換処理の負荷の増大をより抑制することができる。
<方法2-2>
また、バッファのダイナミックレンジも考慮してクリップ処理を行うようにしてもよい。例えば、クリップ処理の際、可逆方式で適応色変換された係数データが、そのビット深度と、逆適応色変換の際にその係数データを保持するバッファのダイナミックレンジとに基づくレベルでクリップされるようにしてもよい。つまり、上述の第1のレベルおよび第2のレベルが、それぞれ、可逆方式で適応色変換された係数データのビット深度とその係数データを記憶するバッファのダイナミックレンジに基づく値であるようにしてもよい。このようにバッファのダイナミックレンジ(ハードウエア制限)を考慮して係数データをクリップすることにより、バッファのオーバフローの発生を抑制することができる。換言するに、保持する係数データのビット深度を考慮せずにバッファのダイナミックレンジを設定することができるので、バッファのダイナミックレンジの増大を抑制することができ、コストの増大を抑制することができる。
例えば、輝度成分をクリップするレベルを、可逆方式で適応色変換された係数データのビット深度に基づき、かつ、その係数データを保持するバッファのダイナミックレンジに基づかない値と、そのビット深度に基づかず、かつ、そのバッファのダイナミックレンジに基づく値との内の、小さい方を用いて導出される値としてもよい。また、色成分(色差成分)をクリップするレベルを、可逆方式で適応色変換された係数データのビット深度に1を加算した値に基づき、かつ、その係数データを保持するバッファのダイナミックレンジに基づかない値と、そのビット深度に1を加算した値に基づかず、かつ、そのバッファのダイナミックレンジに基づく値との内の、小さい方を用いて導出される値としてもよい。このように、より小さい方の値を用いて上限値および下限値を設定する(つまり、クリップ処理によって、係数データをより狭い値域とする)ことにより、バッファのハードウエア制限を満たし、かつ、逆適応色変換後の係数データの各成分の歪みの増大を抑制しながら、逆適応色変換処理の負荷の増大をより抑制することができる。
例えば、可逆方式で適応色変換された係数データのビット深度と、その係数データを保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗から1を減算した値を上限値として、その係数データの輝度成分がクリップされてもよい。また、可逆方式で適応色変換された係数データのビット深度と、その係数データを保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗に-1を乗算した値を下限値として、その係数データの輝度成分がクリップされてもよい。さらに、輝度成分に対するそのような上限値のクリップと下限値のクリップの両方が行われてもよい。
また、可逆方式で適応色変換された係数データのビット深度に1を加算した値と、その係数データを保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗から1を減算した値を上限値として、その係数データの色成分(色差成分)がクリップされてもよい。さらに、可逆方式で適応色変換された係数データのビット深度に1を加算した値と、その係数データを保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗に-1を乗算した値を下限値として、その係数データの色成分(色差成分)がクリップされてもよい。また、色成分(色差成分)に対するそのような上限値のクリップと下限値のクリップの両方が行われてもよい。さらに、上述のような、輝度成分および色成分(色差成分)のそれぞれに対する上限値のクリップと下限値のクリップとが全て行われてもよい。
例えば、可逆方式で適応色変換された係数データの輝度成分に対して行われるクリップ処理の上限値actResMaxYを、係数データのビット深度と、その係数データを保持するバッファのダイナミックレンジから1を減算した値とを用いて、以下の式(30)のように設定する。また、可逆方式で適応色変換された係数データの輝度成分に対して行われるクリップ処理の下限値actResMinYを、係数データのビット深度と、その係数データを保持するバッファのダイナミックレンジから1を減算した値とを用いて、以下の式(31)のように設定する。さらに、可逆方式で適応色変換された係数データの色成分(色差成分)に対して行われるクリップ処理の上限値actResMaxCを、係数データのビット深度に1を加算した値と、その係数データを保持するバッファのダイナミックレンジから1を減算した値とを用いて、以下の式(32)のように設定する。また、可逆方式で適応色変換された係数データの色成分(色差成分)に対して行われるクリップ処理の下限値actResMinCを、係数データのビット深度に1を加算した値と、その係数データを保持するバッファのダイナミックレンジから1を減算した値とを用いて、以下の式(33)のように設定する。
・・・(30)
・・・(31)
・・・(32)
・・・(33)
つまり、輝度成分用の上限値actResMaxYを、ビット深度と、その係数データを保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗から1を減算した値とする。また、輝度成分用の下限値actResMinYを、ビット深度と、その係数データを保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗に-1を乗算した値とする。そして、それらの上限値actResMaxYおよび下限値actResMinYを用いて、上述の式(27)に示されるように、可逆方式で適応色変換された係数データの輝度成分をクリップする。
また、色成分(色差成分)用の上限値actResMaxCを、ビット深度に1を加算した値と、その係数データを保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗から1を減算した値とする。さらに、色成分(色差成分)用の下限値actResMinCを、ビット深度に1を加算した値と、その係数データを保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗に-1を乗算した値とする。そして、それらの上限値actResMaxCおよび下限値actResMinCを用いて、上述の式(28)および式(29)に示されるように、可逆方式で適応色変換された係数データの色成分(色差成分)をクリップする。
そして、このようにクリップ処理された係数データを、上述した式(12)乃至式(15)のように、逆YCgCo-R変換し、RGBドメインの係数データを導出する。
このようにすることにより、バッファのハードウエア制限を満たし、かつ、逆適応色変換後の係数データの各成分の歪みの増大を抑制しながら、逆適応色変換処理の負荷の増大をより抑制することができる。
<方法3>
逆適応色変換の際にその係数データを保持するバッファのダイナミックレンジに基づくレベルでクリップされるようにしてもよい。このようにバッファのダイナミックレンジ(ハードウエア制限)を考慮して係数データをクリップすることにより、バッファのオーバフローの発生を抑制することができる。換言するに、保持する係数データのビット深度を考慮せずにバッファのダイナミックレンジを設定することができるので、バッファのダイナミックレンジの増大を抑制することができ、コストの増大を抑制することができる。
例えば、逆適応色変換の際に係数データを保持するバッファのダイナミックレンジから1を減算した値を冪指数とする2の冪乗から1を減算した値を上限値として、その係数データの輝度成分および色成分(色差成分)がクリップされてもよい。また、そのバッファのダイナミックレンジから1を減算した値を冪指数とする2の冪乗に-1を乗算した値を下限値として、その係数データの輝度成分および色成分(色差成分)がクリップされてもよい。
例えば、可逆方式で適応色変換された係数データに対して行われるクリップ処理の上限値actResMaxを、バッファのダイナミックレンジから1を減算した値を用いて、以下の式(34)のように設定する。また、可逆方式で適応色変換された係数データに対して行われるクリップ処理の下限値actResMinを、バッファのダイナミックレンジから1を減算した値を用いて、以下の式(35)のように設定する。
つまり、上限値actResMaxを、バッファのダイナミックレンジから1を減算した値を冪指数とする2の冪乗から1を減算した値とする。また、下限値actResMinを、バッファのダイナミックレンジから1を減算した値を冪指数とする2の冪乗に-1を乗算した値とする。そして、上述の式(18)乃至式(20)に示されるように、それらの上限値actResMaxおよび下限値actResMinを用いて、可逆方式で適応色変換された係数データの輝度成分および色成分(色差成分)をクリップする。
そして、このようにクリップ処理された係数データを、上述した式(12)乃至式(15)のように、逆YCgCo-R変換し、RGBドメインの係数データを導出する。
このようにすることにより、バッファのハードウエア制限を満たすことができ、バッファのオーバフローの発生を抑制することができる。また、コストの増大を抑制することができる。さらに、クリップ処理により係数データの値域が制限されるので、逆適応色変換処理の負荷の増大を抑制することができる。また、係数データの値域がバッファのダイナミックレンジよりも狭い場合、このようにすることにより、逆適応色変換後の係数データの歪みの増大を抑制することもできる。
<応用例>
また、上述の「方法1」、「方法1-1」、「方法1-2」、「方法2」、「方法2-1」、「方法2-2」、および「方法3」を選択的に適用されるようにしてもよい。例えば、入力される係数データ、ハードウエアの仕様、負荷状況等の何らかの情報に基づく所定の適用条件に従って、最適な方法が適用されるようにしてもよい。例えば、係数データの値域よりもバッファのダイナミックレンジが広い場合、「方法1-1」または「方法2-1」が適用されるようにしてもよい。また、係数データの輝度成分の値域と色成分(色差成分)の値域とが互いに同一の場合、「方法1」、「方法1-1」、または「方法1-2」が適用されるようにしてもよい。
また、各方法において、上限値のクリップおよび下限値のクリップのいずれか一方、または両方が選択的に適用されるようにしてもよい。例えば、クリップの下限値が、係数データの値域の下限値以下となる場合、その下限値のクリップを省略(スキップ)してもよい。また、クリップの上限値が、係数データの値域の上限値以上となる場合、その上限値のクリップを省略(スキップ)してもよい。
もちろん、これらは一例であり、適用条件や各条件に対して適用される方法は、これらの例に限定されない。
<2.第1の実施の形態>
<逆適応色変換装置>
上述した本技術は、任意の装置において適用することができる。図2は、本技術を適用した画像処理装置の一態様である逆適応色変換装置の構成の一例を示すブロック図である。図2に示される逆適応色変換装置100は、画像に関するRGBドメインの係数データが可逆方式で適応色変換(YCgCo-R変換)されたYCgCoドメインの係数データを、可逆方式の逆適応色変換(逆YCgCo-R変換)する装置である。
なお、図2においては、処理部やデータの流れ等の主なものを示しており、図2に示されるものが全てとは限らない。つまり、逆適応色変換装置100において、図2においてブロックとして示されていない処理部が存在したり、図2において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
図2に示されるように、逆適応色変換装置100は、選択部101、クリップ処理部102、および逆YCgCo-R変換部103を有する。
選択部101は、逆適応色変換装置100に入力される係数データres_x'を取得する。また、選択部101は、逆適応色変換装置100に入力されるcu_act_enabled_flagを取得する。cu_act_enabled_flagは、適応色変換(逆適応色変換)が適用可能か否かを示すフラグ情報である。このcu_act_enabled_flagが真(例えば「1」)の場合、適応色変換(逆適応色変換)の適用が可能であることを示す。このcu_act_enabled_flagが偽(例えば「0」)の場合、適応色変換(逆適応色変換)の適用が禁止されている(つまり適用不可能である)ことを示す。
選択部101は、このcu_act_enabled_flagに基づいて、係数データres_x'を逆適応色変換するか否かを選択する。例えば、cu_act_enabled_flagが真(例えば「1」)の場合、選択部101は、係数データres_x'が、RGBドメインの係数データがYCgCo-R変換されたYCgCoドメインの係数データであると判定する。そして、選択部101は、その係数データres_x'に対して逆YCgCo-R変換を実行するように、その係数データres_x'をクリップ処理部102に供給する。
例えば、cu_act_enabled_flagが偽(例えば「0」)の場合、選択部101は、係数データres_x'が、RGBドメインの係数データであると判定する。そして、選択部101は、その係数データres_x'を、逆適用色変換後の係数データres_xとして、逆適応色変換装置100の外部に出力する。つまり、RGBドメインの係数データが逆適応色変換装置100の外部に出力される。
クリップ処理部102は、選択部101から供給される係数データres_x'を取得する。また、クリップ処理部102は、逆適応色変換装置100に入力されるlog2MaxDRやBitDepth等の変数を取得する。log2MaxDRは、逆適応色変換処理の際に係数データres_x'を保持するバッファのダイナミックレンジを示す。BitDepthは、係数データres_x'のビット深度を示す。
クリップ処理部102は、log2MaxDRやBitDepth等の変数に基づいて導出される上限値および下限値を用いて、係数データres_x'に対するクリップ処理を実行する。クリップ処理部102は、クリップ処理後の係数データres_x'を逆YCgCo-R変換部103に供給する。
逆YCgCo-R変換部103は、クリップ処理部102から供給される、クリップ処理が実行された係数データres_x'を取得する。逆YCgCo-R変換部103は、取得した係数データres_x'を逆YCgCo-R変換し、逆YCgCo-R変換された係数データres_xを生成する。逆YCgCo-R変換部103は、生成した係数データres_xを逆適応色変換装置100の外部に出力する。つまり、RGBドメインの係数データが逆適応色変換装置100の外部に出力される。
<逆適応色変換装置への本技術の適用>
このような逆適応色変換装置100において、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術を適用し得る。
例えば、クリップ処理部102は、係数データres_x'を、その係数データのビット深度に基づくレベルでクリップする。そして、逆YCgCo-R変換部103は、そのクリップ処理部102によりそのレベルでクリップされた係数データres_x'を、可逆方式で逆適応色変換する。
このようにすることにより、クリップ処理部102は、係数データres_x'に対して、逆適応色変換後の係数データres_xの歪みが増大しないようなレベルでクリップを行うことができる。したがって、逆適応色変換装置100は、逆適応色変換後の係数データres_xの歪みの増大を抑制しながら逆適応色変換処理の負荷の増大を抑制することができる。
なお、逆適応色変換装置100は、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術の各種方法(「方法1」、「方法1-1」、「方法1-2」、「方法2」、「方法2-1」、「方法2-2」、および「方法3」を含む)を適用し得る。
例えば、クリップ処理部102が、<方法1>において上述したように、係数データres_x'の輝度成分および色成分(色差成分)を、互いに同一のレベルでクリップしてもよい。
そして、逆YCgCo-R変換部103が、このようにクリップ処理された係数データres_x'を逆YCgCo-R変換し、係数データres_xを導出する。このようにすることにより、クリップ処理部102は、コンポーネント毎に異なるレベルでクリップする場合に比べて、クリップ処理を容易に行うことができ、負荷の増大を抑制することができる。
例えば、クリップ処理部102が、<方法1-1>において上述したように、係数データres_x'のビット深度に1を加算した値を冪指数とする2の冪乗から1を減算した値を上限値として、その係数データres_x'の輝度成分および色成分(色差成分)をクリップしてもよい。また、クリップ処理部102が、係数データres_x'のビット深度に1を加算した値を冪指数とする2の冪乗に-1を乗算した値を下限値として、その係数データres_x'の輝度成分および色成分(色差成分)をクリップしてもよい。さらに、クリップ処理部102が、そのような上限値のクリップと下限値のクリップの両方を行ってもよい。
そして、逆YCgCo-R変換部103が、このようにクリップ処理された係数データres_x'を逆YCgCo-R変換し、係数データres_xを導出する。このようにすることにより、クリップ処理部102は、クリップ処理の上限値と下限値との間の値域を、係数データres_x'が理論上取り得る値域よりも広くすることができる。したがって、逆適応色変換装置100は、逆適応色変換後の係数データres_xの歪みの発生を抑制することができる。つまり、逆適応色変換装置100は、RGBドメインの係数データとYCgCoドメインの係数データとのロスレスな変換を実現しながら、逆適応色変換処理の負荷の増大を抑制することができる。
また、例えば、クリップ処理部102が、<方法1-2>において上述したように、係数データres_x'を、そのビット深度と、逆適応色変換の際にその係数データres_x'を保持するバッファのダイナミックレンジとに基づくレベルでクリップされるようにしてもよい。
そして、逆YCgCo-R変換部103が、このようにクリップ処理された係数データres_x'を逆YCgCo-R変換し、係数データres_xを導出する。このようにバッファのダイナミックレンジ(ハードウエア制限)を考慮して係数データres_x'をクリップすることにより、逆適応色変換装置100は、バッファのオーバフローの発生を抑制することができる。換言するに、保持する係数データres_x'のビット深度を考慮せずにバッファのダイナミックレンジを設定することができるので、バッファのダイナミックレンジの増大を抑制することができ、逆適応色変換装置100のコストの増大を抑制することができる。
例えば、クリップ処理部102が、係数データres_x'のビット深度に基づき、かつ、その係数データres_x'を保持するバッファのダイナミックレンジに基づかない値と、そのビット深度に基づかず、かつ、そのバッファのダイナミックレンジに基づく値との内の、小さい方を用いて導出されるレベルでクリップ処理を実行してもよい。
そして、逆YCgCo-R変換部103が、このようにクリップ処理された係数データres_x'を逆YCgCo-R変換し、係数データres_xを導出する。このように、より小さい方の値を用いて上限値および下限値を設定する(つまり、クリップ処理によって、係数データres_x'をより狭い値域とする)ことにより、逆適応色変換装置100は、バッファのハードウエア制限を満たし、かつ、逆適応色変換後の係数データres_xの歪みの増大を抑制しながら、逆適応色変換処理の負荷の増大を抑制することができる。
例えば、クリップ処理部102が、係数データres_x'のビット深度に1を加算した値と、その係数データres_x'を保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗から1を減算した値を上限値として、係数データres_x'の輝度成分および色成分(色差成分)をクリップしてもよい。また、クリップ処理部102が、係数データres_x'のビット深度に1を加算した値と、その係数データres_x'を保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗に-1を乗算した値を下限値として、係数データres_x'の輝度成分および色成分(色差成分)をクリップしてもよい。さらに、クリップ処理部102が、そのような上限値のクリップと下限値のクリップの両方を行ってもよい。
そして、逆YCgCo-R変換部103が、このようにクリップ処理された係数データres_x'を逆YCgCo-R変換し、係数データres_xを導出する。このようにすることにより、逆適応色変換装置100は、バッファのハードウエア制限を満たし、かつ、逆適応色変換後の係数データres_xの歪みの増大を抑制しながら、逆適応色変換処理の負荷の増大を抑制することができる。
例えば、クリップ処理部102が、<方法2>において上述したように、係数データres_x'の輝度成分と色差成分とをそれぞれのレベル(第1のレベルと第2のレベル)でクリップしてもよい。このようにすることにより、クリップ処理部102は、各成分の係数データを、その成分に応じた値域でクリップすることができる。逆YCgCo-R変換部103は、このようにクリップ処理された係数データres_x'を逆YCgCo-R変換し、係数データres_xを導出する。したがって、逆適応色変換装置100は、逆適応色変換後の係数データres_xの歪みの増大を抑制しながら、逆適応色変換処理の負荷の増大をより抑制することができる。
例えば<方法2-1>において上述したように、第2のレベルの上限値と下限値との差が、第1のレベルの上限値と下限値との差よりも広くなるようにしてもよい。逆YCgCo-R変換部103は、このようにクリップ処理された係数データres_x'を逆YCgCo-R変換し、係数データres_xを導出する。色差成分であるCgコンポーネントとCoコンポーネントの係数データres_x'に対するクリップの上限値と下限値との差を、輝度成分であるYコンポーネントの係数データres_x'に対するクリップの上限値と下限値との差よりも広くすることにより、逆適応色変換装置100は、逆適応色変換後の係数データres_xの歪みの増大を抑制しながら、逆適応色変換処理の負荷の増大をより抑制することができる。
例えば、クリップ処理部102が、係数データres_x'のビット深度を冪指数とする2の冪乗から1を減算した値を上限値として、その係数データres_x'の輝度成分をクリップしてもよい。また、係数データres_x'のビット深度を冪指数とする2の冪乗に-1を乗算した値を下限値として、その係数データres_x'の輝度成分をクリップしてもよい。さらに、クリップ処理部102が、輝度成分に対するそのような上限値のクリップと下限値のクリップの両方を行ってもよい。
また、クリップ処理部102が、係数データres_x'のビット深度に1を加算した値を冪指数とする2の冪乗から1を減算した値を上限値として、その係数データres_x'の色成分(色差成分)をクリップしてもよい。さらに、係数データres_x'のビット深度に1を加算した値を冪指数とする2の冪乗に-1を乗算した値を下限値として、その係数データres_x'の色成分(色差成分)をクリップしてもよい。また、クリップ処理部102が、色成分(色差成分)に対するそのような上限値のクリップと下限値のクリップの両方を行ってもよい。さらに、クリップ処理部102が、上述のような、輝度成分および色成分(色差成分)のそれぞれに対する上限値のクリップと下限値のクリップとを全て行ってもよい。
逆YCgCo-R変換部103は、このようにクリップ処理された係数データres_x'の輝度成分および色成分(色差成分)を逆YCgCo-R変換し、係数データres_xを導出する。このようにすることにより、クリップ処理部102は、各成分の係数データres_x'を、その成分に応じた値域でクリップすることができる。したがって、逆適応色変換装置100は、逆適応色変換後の係数データres_xの歪みの増大を抑制しながら、逆適応色変換処理の負荷の増大をより抑制することができる。
また、例えば、クリップ処理部102が、<方法2-2>において上述したように、係数データres_x'を、そのビット深度と、逆適応色変換の際にその係数データres_x'を保持するバッファのダイナミックレンジとに基づくレベル(第1のレベルおよび第2のレベル)でクリップしてもよい。
逆YCgCo-R変換部103は、このようにクリップ処理された係数データres_x'の輝度成分および色成分(色差成分)を逆YCgCo-R変換し、係数データres_xを導出する。このようにすることにより、逆適応色変換装置100は、バッファのオーバフローの発生を抑制することができる。換言するに、保持する係数データres_x'のビット深度を考慮せずにバッファのダイナミックレンジを設定することができるので、バッファのダイナミックレンジの増大を抑制することができ、逆適応色変換装置100のコストの増大を抑制することができる。
例えば、クリップ処理部102が、係数データres_x'のビット深度に基づき、かつ、その係数データres_x'を保持するバッファのダイナミックレンジに基づかない値と、そのビット深度に基づかず、かつ、そのバッファのダイナミックレンジに基づく値との内の、小さい方を用いて導出されるレベルで、係数データres_x'の輝度成分に対するクリップ処理を実行してもよい。また、クリップ処理部102が、係数データres_x'のビット深度に1を加算した値に基づき、かつ、その係数データres_x'を保持するバッファのダイナミックレンジに基づかない値と、そのビット深度に1を加算した値に基づかず、かつ、そのバッファのダイナミックレンジに基づく値との内の、小さい方を用いて導出されるレベルで、係数データres_x'の色成分(色差成分)に対するクリップ処理を実行してもよい。
そして、逆YCgCo-R変換部103が、このようにクリップ処理された係数データres_x'を逆YCgCo-R変換し、係数データres_xを導出する。このように、より小さい方の値を用いて上限値および下限値を設定する(つまり、クリップ処理によって、係数データをより狭い値域とする)ことにより、逆適応色変換装置100は、バッファのハードウエア制限を満たし、かつ、逆適応色変換後の係数データres_xの各成分の歪みの増大を抑制しながら、逆適応色変換処理の負荷の増大をより抑制することができる。
例えば、クリップ処理部102が、係数データres_x'のビット深度と、その係数データres_x'を保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗から1を減算した値を上限値として、その係数データres_x'の輝度成分をクリップしてもよい。また、クリップ処理部102が、係数データres_x'のビット深度と、その係数データres_x'を保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗に-1を乗算した値を下限値として、その係数データres_x'の輝度成分をクリップしてもよい。さらに、クリップ処理部102が、輝度成分に対するそのような上限値のクリップと下限値のクリップの両方を行ってもよい。
また、クリップ処理部102が、係数データres_x'のビット深度に1を加算した値と、その係数データres_x'を保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗から1を減算した値を上限値として、その係数データres_x'の色成分(色差成分)をクリップしてもよい。さらに、クリップ処理部102が、係数データres_x'のビット深度に1を加算した値と、その係数データres_x'を保持するバッファのダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗に-1を乗算した値を下限値として、その係数データres_x'の色成分(色差成分)をクリップしてもよい。また、クリップ処理部102が、色成分(色差成分)に対するそのような上限値のクリップと下限値のクリップの両方を行ってもよい。さらに、クリップ処理部102が、上述のような、輝度成分および色成分(色差成分)のそれぞれに対する上限値のクリップと下限値のクリップとを全て行ってもよい。
そして、逆YCgCo-R変換部103が、このようにクリップ処理された係数データres_x'を逆YCgCo-R変換し、係数データres_xを導出する。このようにすることにより、逆適応色変換装置100は、バッファのハードウエア制限を満たし、かつ、逆適応色変換後の係数データres_xの各成分の歪みの増大を抑制しながら、逆適応色変換処理の負荷の増大をより抑制することができる。
例えば、クリップ処理部102が、<方法3>において上述したように、逆適応色変換の際に係数データres_x'を保持するバッファのダイナミックレンジに基づくレベルで、係数データres_x'をクリップしてもよい。
逆YCgCo-R変換部103が、このようにクリップ処理された係数データres_x'を逆YCgCo-R変換し、係数データres_xを導出する。このようにすることにより、逆適応色変換装置100は、バッファのオーバフローの発生を抑制することができる。換言するに、保持する係数データのビット深度を考慮せずにバッファのダイナミックレンジを設定することができるので、バッファのダイナミックレンジの増大を抑制することができ、逆適応色変換装置100のコストの増大を抑制することができる。
例えば、クリップ処理部102が、逆適応色変換の際に係数データres_x'を保持するバッファのダイナミックレンジから1を減算した値を冪指数とする2の冪乗から1を減算した値を上限値として、その係数データres_x'の輝度成分および色成分(色差成分)をクリップしてもよい。また、クリップ処理部102が、そのバッファのダイナミックレンジから1を減算した値を冪指数とする2の冪乗に-1を乗算した値を下限値として、その係数データres_x'の輝度成分および色成分(色差成分)をクリップしてもよい。
そして、逆YCgCo-R変換部103が、このようにクリップ処理された係数データres_x'を逆YCgCo-R変換し、係数データres_xを導出する。このようにすることにより、逆適応色変換装置100は、バッファのハードウエア制限を満たすことができ、バッファのオーバフローの発生を抑制することができる。また、逆適応色変換装置100のコストの増大を抑制することができる。さらに、クリップ処理により係数データの値域が制限されるので、逆適応色変換装置100は、逆適応色変換処理の負荷の増大を抑制することができる。また、係数データの値域がバッファのダイナミックレンジよりも狭い場合、このようにすることにより、逆適応色変換装置100は、逆適応色変換後の係数データの歪みの増大を抑制することもできる。
なお、逆適応色変換装置100は、<応用例>において上述した各種応用例を適用することができる。
<逆適応色変換処理の流れ>
次に、この逆適応色変換装置100により実行される逆適応色変換処理の流れの例を、図3のフローチャートを参照して説明する。
逆適応色変換処理が開始されると、逆適応色変換装置100の選択部101は、ステップS101において、cu_act_enabled_flagが真であるか否かを判定する。cu_act_enabled_flagが真であると判定された場合、処理はステップS102に進む。
ステップS102において、クリップ処理部102は、所定の上限値および下限値を用いて係数データres_x'をクリップする。
ステップS103において、逆YCgCo-R変換部103は、ステップS102においてクリップされた係数データres_x'を逆YCgCo-R変換し、逆適応色変換後の係数データres_xを導出する。
ステップS104において、逆YCgCo-R変換部103は、導出した係数データres_xを逆適応色変換装置100の外部に出力する。ステップS104の処理が終了すると逆適応色変換処理が終了する。
また、ステップS101において、cu_act_enabled_flagが偽であると判定された場合、処理はステップS105に進む。
ステップS105において、選択部101は、係数データres_x'を逆適応色変換後の係数データres_xとして逆適応色変換装置100の外部に出力する。ステップS105の処理が終了すると逆適応色変換処理が終了する。
<逆適応色変換処理への本技術の適用>
このような逆適応色変換処理において、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術を適用し得る。
例えば、ステップS102において、クリップ処理部102は、係数データres_x'を、その係数データのビット深度に基づくレベルでクリップする。そして、ステップS103において、逆YCgCo-R変換部103は、そのクリップ処理部102によりそのレベルでクリップされた係数データres_x'を、可逆方式で逆適応色変換する。
このようにすることにより、クリップ処理部102は、係数データres_x'に対して、逆適応色変換後の係数データres_xの歪みが増大しないようなレベルでクリップを行うことができる。したがって、逆適応色変換装置100は、逆適応色変換後の係数データres_xの歪みの増大を抑制しながら逆適応色変換処理の負荷の増大を抑制することができる。
なお、このような逆適応色変換処理において、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術の各種方法(「方法1」、「方法1-1」、「方法1-2」、「方法2」、「方法2-1」、「方法2-2」、および「方法3」を含む)を適用し得る。これらのいずれかの方法を適用することにより、<逆適応色変換装置への本技術の適用>において説明したのと同様の効果を得ることができる。
<3.第2の実施の形態>
<逆量子化逆変換装置>
上述した逆適応色変換装置100(逆適応色変換処理)は、逆量子化逆変換処理を実行する逆量子化逆変換装置に適用することができる。図4は、本技術を適用した画像処理装置の一態様である逆量子化逆変換装置の構成の一例を示すブロック図である。図4に示される逆量子化逆変換装置200は、画像に関するRGBドメインの係数データが、可逆方式で適応色変換(YCgCo-R変換)され、直交変換され、量子化された量子化係数を、その量子化に対応する方法で逆量子化し、その直交変換に対応する方法で逆直交変換し、可逆方式で逆適応色変換(逆YCgCo-R変換)する装置である。このような処理(逆量子化逆変換装置200が実行する処理)を逆量子化逆変換処理とも称する。
なお、図4においては、処理部やデータの流れ等の主なものを示しており、図4に示されるものが全てとは限らない。つまり、逆量子化逆変換装置200において、図4においてブロックとして示されていない処理部が存在したり、図4において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
図4に示されるように、逆量子化逆変換装置200は、逆量子化部201、逆直交変換部202、および逆適応色変換部203を有する。
逆量子化部201は、量子化係数qcoef_xを取得する。この量子化係数qcoef_xは、直交変換係数coef_xが所定の方法で量子化されて導出されたものである。また、逆量子化部201は、量子化パラメータqP、cu_act_enabled_flag、transform_skip_flag等の、逆量子化に必要なパラメータを取得する。transform_skip_flagは、逆直交変換処理をスキップ(省略)するか否かを示すフラグ情報である。例えば、transform_skip_flagが真の場合、逆直交変換処理がスキップされる。また、transform_skip_flagが偽の場合、逆直交変換処理が実行される。
逆量子化部201は、これらのパラメータを用いて、上述の量子化に対応する所定の方法により、量子化係数qcoef_xを逆量子化し、直交変換係数coef_xを導出する。逆量子化部201は、導出した直交変換係数coef_xを逆直交変換部202に供給する。
逆直交変換部202は、逆量子化部201から供給される直交変換係数coef_xを取得する。この直交変換係数coef_xは、係数データres_x'が所定の方法で直交変換されて導出されたものである。また、逆直交変換部202は、変換情報Tinfo、transform_skip_flag、mts_idx、lfnst_idx等の、逆量子化に必要なパラメータを取得する。mts_idxは、MTS(Multiple Transform Selection)の識別子である。lfnst_idxは、低域セカンダリ変換に関するモード情報である。逆直交変換部202は、これらのパラメータを用いて、上述の直交変換に対応する所定の方法により、直交変換係数coef_xを逆直交変換し、可逆方式で適応色変換された係数データres_x'を導出する。逆直交変換部202は、導出した係数データres_x'を逆適応色変換部203に供給する。
逆適応色変換部203は、逆直交変換部202から供給される係数データres_x'を取得する。この係数データres_x'は、第1の実施の形態において説明した通りである。また、逆適応色変換部203は、cu_act_enabled_flagを取得する。逆適応色変換部203は、cu_act_enabled_flagに基づいて係数データres_x'を、適宜、可逆方式で逆適応色変換(逆YCgCo-R変換)し、逆適応色変換処理後の係数データres_xを導出する。この係数データres_xは、第1の実施の形態において説明した通りであり、RGBドメインの係数データである。
逆適応色変換部203は、導出した係数データres_xを逆量子化逆変換装置200の外部に出力する。
<逆量子化逆変換装置への本技術の適用>
このような逆量子化逆変換装置200において、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術を適用し得る。つまり、逆量子化逆変換装置200は、逆適応色変換部203として、第1の実施の形態において説明した逆適応色変換装置100を適用し得る。その場合、逆適応色変換部203は、逆適応色変換装置100と同様の構成を有し、同様の処理を行う。
例えば、逆適応色変換部203において、クリップ処理部102が、逆直交変換部202から供給された係数データres_x'を、その係数データのビット深度に基づくレベルでクリップする。そして、逆YCgCo-R変換部103が、そのクリップ処理部102によりそのレベルでクリップされた係数データres_x'を逆YCgCo-R変換し、逆適応色変換処理後の係数データres_xを導出する。そして、逆YCgCo-R変換部103が、その導出した係数データres_xを逆量子化逆変換装置200の外部に出力する。
このようにすることにより、逆適応色変換部203は、係数データres_x'に対して、逆適応色変換後の係数データres_xの歪みが増大しないようなレベルでクリップを行うことができる。したがって、逆適応色変換部203は、逆適応色変換装置100の場合と同様に、逆適応色変換後の係数データres_xの歪みの増大を抑制しながら逆適応色変換処理の負荷の増大を抑制することができる。したがって、逆量子化逆変換装置200は、出力する係数データres_xの歪みの増大を抑制しながら逆量子化逆変換処理の負荷の増大を抑制することができる。
そして、逆適応色変換装置100の場合と同様に、逆適応色変換部203は、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術の各種方法(「方法1」、「方法1-1」、「方法1-2」、「方法2」、「方法2-1」、「方法2-2」、および「方法3」を含む)を適用し得る。つまり、逆量子化逆変換装置200は、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術の各種方法を適用し得る。これらのいずれかの方法を適用することにより、逆量子化逆変換装置200は、<逆適応色変換装置への本技術の適用>において説明したのと同様の効果を得ることができる。
<逆量子化逆変換処理の流れ>
次に、この逆量子化逆変換装置200により実行される逆量子化逆変換処理の流れの例を、図5のフローチャートを参照して説明する。
逆量子化逆変換処理が開始されると、逆量子化逆変換装置200の逆量子化部201は、ステップS201において、処理対象TUに含まれる各コンポーネント識別子cIdx=0,1,2に対応する量子化係数qcoef_xを逆量子化し、直交変換係数coef_xを導出する。
ステップS202において、逆直交変換部202は、各コンポーネント識別子に対応する変換情報Tinfoを参照して、直交変換係数coef_xを逆直交変換し、係数データres_x'を導出する。
ステップS203において、逆適応色変換部203は、逆適応色変換処理を実行し、係数データres_x'を逆YCgCo-R変換し、逆適応色変換処理後の係数データres_xを導出する。
ステップS203の処理が終了すると、逆量子化逆変換処理が終了する。
<逆量子化逆変換処理への本技術の適用>
このような逆量子化逆変換処理において、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術を適用し得る。つまり、ステップS203の逆適応色変換処理として、図3のフローチャートを参照して説明した逆適応色変換処理を適用し得る。
このようにすることにより、逆適応色変換部203は、係数データres_x'に対して、逆適応色変換後の係数データres_xの歪みが増大しないようなレベルでクリップを行うことができる。したがって、逆適応色変換部203は、逆適応色変換後の係数データres_xの歪みの増大を抑制しながら逆適応色変換処理の負荷の増大を抑制することができる。
つまり、以上のように逆量子化逆変換処理を実行することにより、逆量子化逆変換装置200は、出力する係数データres_xの歪みの増大を抑制しながら逆量子化逆変換処理の負荷の増大を抑制することができる。
なお、この逆量子化逆変換処理(の逆適応色変換処理(ステップS203))において、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術の各種方法(「方法1」、「方法1-1」、「方法1-2」、「方法2」、「方法2-1」、「方法2-2」、および「方法3」を含む)を適用し得る。これらのいずれかの方法を適用することにより、<逆量子化逆変換装置への本技術の適用>において説明したのと同様の効果(つまり、<逆適応色変換装置への本技術の適用>において説明したのと同様の効果)を得ることができる。
<4.第3の実施の形態>
<画像復号装置>
上述した逆量子化逆変換装置200(逆量子化逆変換処理)は、画像復号装置に適用することができる。図6は、本技術を適用した画像処理装置の一態様である画像復号装置の構成の一例を示すブロック図である。図6に示される画像復号装置400は、動画像の符号化データを復号する装置である。例えば、画像復号装置400は、上述した非特許文献に記載のVVC、AVC、HEVC等の符号化方式で符号化された動画像の符号化データを復号する。例えば、画像復号装置400は、後述する画像符号化装置500(図8)により生成された符号化データ(ビットストリーム)を復号することができる。
なお、図6においては、処理部やデータの流れ等の主なものを示しており、図6に示されるものが全てとは限らない。つまり、画像復号装置400において、図6においてブロックとして示されていない処理部が存在したり、図6において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、画像復号装置400内の処理部等を説明する他の図においても同様である。
図6に示されるように画像復号装置400は、制御部401、蓄積バッファ411、復号部412、逆量子化逆変換部413、演算部414、インループフィルタ部415、並べ替えバッファ416、フレームメモリ417、および予測部418を備えている。なお、予測部418は、不図示のイントラ予測部、およびインター予測部を備えている。
<制御部>
制御部401は、復号の制御に関する処理を実行する。例えば、制御部401は、ビットストリームに含まれる符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、残差情報Rinfo、フィルタ情報Finfoなど)を、復号部412を介して取得する。また、制御部401は、ビットストリームに含まれない符号化パラメータを推定し得る。さらに、制御部401は、取得した(または推定した)符号化パラメータに基づいて、画像復号装置400の各処理部(蓄積バッファ411乃至予測部418)を制御することにより、復号を制御する。
例えば、制御部401は、ヘッダ情報Hinfoを、逆量子化逆変換部413、予測部418、インループフィルタ部415に供給する。また、制御部401は、予測モード情報Pinfoを、逆量子化逆変換部413および予測部418に供給する。さらに、制御部401は、変換情報Tinfoを、逆量子化逆変換部413に供給する。また、制御部401は、残差情報Rinfoを、復号部412に供給する。さらに制御部401は、フィルタ情報Finfoを、インループフィルタ部415に供給する。
もちろん、上述の例は一例であり、この例に限定されない。例えば、各符号化パラメータが任意の処理部に供給されるようにしてもよい。また、その他の情報が、任意の処理部に供給されるようにしてもよい。
<ヘッダ情報Hinfo>
ヘッダ情報Hinfoは、例えば、VPS(Video Parameter Set)、SPS(Sequence ParameterSet)、PPS(Picture Parameter Set)、PH(ピクチャヘッダ)、SH(スライスヘッダ)等の情報を含み得る。
例えば、ヘッダ情報Hinfoは、画像サイズを規定する情報(例えば、画像の横幅を示すPicWidthや、画像の縦幅を示すPicHeight等のパラメータ)を含み得る。また、ヘッダ情報Hinfoは、ビット深度を規定する情報(例えば、輝度成分のビット深度を示すbitDepthYや、色差成分のビット深度を示すbitDepthC等のパラメータ)を含み得る。さらに、ヘッダ情報Hinfoは、色差アレイタイプを示すパラメータであるChromaArrayTypeを含み得る。また、ヘッダ情報Hinfoは、CUサイズの最大値を示すMaxCUSizeやCUサイズの最小値を示すMinCUSize等のパラメータを含み得る。さらに、ヘッダ情報Hinfoは、4分木分割(Quad-tree分割ともいう)の最大深度を示すMaxQTDepthや最小深度を示すMinQTDepth等のパラメータを含み得る。また、ヘッダ情報Hinfoは、2分木分割(Binary-tree分割)の最大深度を示すMaxBTDepthや最小深度を示すMinBTDepth等のパラメータを含み得る。さらに、ヘッダ情報Hinfoは、変換スキップブロックの最大値(最大変換スキップブロックサイズとも称する)を示すMaxTSSize等のパラメータを含み得る。
また、ヘッダ情報Hinfoは、各符号化ツールのオンオフフラグ(有効フラグともいう)などを規定する情報を含み得る。例えば、ヘッダ情報Hinfoは、直交変換処理や量子化処理に関するオンオフフラグを含み得る。なお、符号化ツールのオンオフフラグは、その符号化ツールに関わるシンタックスが符号化データ中に存在するか否かを示すフラグとも解釈することができる。また、オンオフフラグの値が1(真)の場合、符号化ツールが使用可能であることを示し、オンオフフラグの値が0(偽)の場合、符号化ツールが使用不可であることを示すようにしてもよい。なお、フラグ値の解釈(真または偽)は逆であってもよい。
<予測モード情報Pinfo>
予測モード情報Pinfoは、例えば、処理対象PB(予測ブロック)のサイズ(予測ブロックサイズ)を示すPBSize等のパラメータや、イントラ予測モード情報IPinfoや動き予測情報MVinfo等の情報を含み得る。
イントラ予測モード情報IPinfoは、例えば、JCTVC-W1005, 7.3.8.5 Coding Unit syntax中のprev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode、およびそのシンタックスから導出される輝度イントラ予測モードを示すIntraPredModeY等の情報を含み得る。
また、イントラ予測モード情報IPinfoは、例えば、ccp_flag(cclmp_flag)、mclm_flag、chroma_sample_loc_type_idx、chroma_mpm_idx、および、これらのシンタックスから導出される輝度イントラ予測モードを示すIntraPredModeC等の情報を含み得る。
ccp_flag(cclmp_flag)は、コンポーネント間予測フラグであり、コンポーネント間線形予測を適用するか否かを示すフラグ情報である。例えば、ccp_flag==1の場合、コンポーネント間予測を適用することを示し、ccp_flag==0の場合、コンポーネント間予測を適用しないことを示す。
mclm_flagは、多クラス線形予測モードフラグであり、線形予測のモードに関する情報(線形予測モード情報)である。より具体的には、mclm_flagは、多クラス線形予測モードにするか否かを示すフラグ情報である。例えば、mclm_flag==0の場合、1クラスモード(単一クラスモード)(例えばCCLMP)であることを示し、mclm_flag==1の場合、2クラスモード(多クラスモード)(例えばMCLMP)であることを示す。
chroma_sample_loc_type_idxは、色差サンプル位置タイプ識別子であり、色差コンポーネントの画素位置のタイプ(色差サンプル位置タイプとも称する)を識別する識別子である。なお、この色差サンプル位置タイプ識別子(chroma_sample_loc_type_idx)は、chroma_sample_loc_info()として(つまり、chroma_sample_loc_info()に格納されて)伝送される。このchroma_sample_loc_info()は、色差コンポーネントの画素位置に関する情報である。
chroma_mpm_idxは、色差MPM識別子であり、色差イントラ予測モード候補リスト(intraPredModeCandListC)の中のどの予測モード候補を色差イントラ予測モードとして指定するかを表す識別子である。
動き予測情報MVinfoは、例えば、merge_idx、merge_flag、inter_pred_idc、ref_idx_LX、mvp_lX_flag, X={0,1}、mvd等の情報を含み得る(例えば、JCTVC-W1005, 7.3.8.6 Prediction Unit Syntaxを参照)。
もちろん、予測モード情報Pinfoに含まれる情報は任意であり、これらの情報以外の情報が予測モード情報Pinfoに含まれるようにしてもよい。
<変換情報Tinfo>
変換情報Tinfoは、例えば、TBWSizeやTBHSize、ts_flag、scanIdx、量子化パラメータqP、量子化マトリックスscaling_matrix(例えば、JCTVC-W1005, 7.3.4 Scaling list data syntaxを参照)等の情報を含み得る。
TBWSizeは、処理対象変換ブロックの横幅サイズを示すパラメータである。なお、変換情報Tinfoが、このTBWSizeの代わりに、2を底とするTBWSizeの対数値log2TBWSizeを含むようにしてもよい。TBHSizeは、処理対象変換ブロックの縦幅サイズを示すパラメータである。なお、変換情報Tinfoが、このTBHSizeの代わりに、2を底とするTBHSizeの対数値log2TBHSizeを含むようにしてもよい。
ts_flagは、変換スキップフラグであり、(逆)プライマリ変換および(逆)セカンダリ変換をスキップするか否かを示すフラグ情報である。scanIdxは、スキャン識別子である。
もちろん、変換情報Tinfoに含まれる情報は任意であり、これらの情報以外の情報が変換情報Tinfoに含まれるようにしてもよい。
<残差情報Rinfo>
残差情報Rinfo(例えば、JCTVC-W1005の7.3.8.11 Residual Coding syntaxを参照)は、例えば以下の情報を含み得る。
cbf(coded_block_flag):残差データ有無フラグ
last_sig_coeff_x_pos:ラスト非ゼロ係数X座標
last_sig_coeff_y_pos:ラスト非ゼロ係数Y座標
coded_sub_block_flag:サブブロック非ゼロ係数有無フラグ
sig_coeff_flag:非ゼロ係数有無フラグ
gr1_flag:非ゼロ係数のレベルが1より大きいかを示すフラグ(GR1フラグとも呼ぶ)
gr2_flag:非ゼロ係数のレベルが2より大きいかを示すフラグ(GR2フラグとも呼ぶ)
sign_flag:非ゼロ係数の正負を示す符号(サイン符号とも呼ぶ)
coeff_abs_level_remaining:非ゼロ係数の残余レベル(非ゼロ係数残余レベルとも呼ぶ)
もちろん、残差情報Rinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
<フィルタ情報Finfo>
フィルタ情報Finfoは、例えば、以下に示す各フィルタ処理に関する制御情報を含み得る。
デブロッキングフィルタ(DBF)に関する制御情報
画素適応オフセット(SAO)に関する制御情報
適応ループフィルタ(ALF)に関する制御情報
その他の線形・非線形フィルタに関する制御情報
また、例えば、各フィルタを適用するピクチャや、ピクチャ内の領域を指定する情報や、CU単位のフィルタのオンオフ制御情報、スライス、タイルの境界に関するフィルタのオンオフ制御情報などが含まれてもよい。もちろん、フィルタ情報Finfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
<蓄積バッファ>
蓄積バッファ411は、画像復号装置400に入力されたビットストリームを取得し、保持(記憶)する。蓄積バッファ411は、所定のタイミングにおいて、または、所定の条件が整う等した場合、蓄積しているビットストリームに含まれる符号化データを抽出し、復号部412に供給する。
<復号部>
復号部412は、蓄積バッファ411から供給される符号化データを取得し、シンタックステーブルの定義に沿って、そのビット列から、各シンタックス要素のシンタックス値をエントロピ復号(可逆復号)し、符号化パラメータを導出する。
この符号化パラメータには、例えば、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、残差情報Rinfo、フィルタ情報Finfoなどの情報が含まれ得る。つまり、復号部412は、ビットストリームから、これらの情報を復号し、パースする(解析して取得する)。
復号部412は、制御部401の制御に従って、このような処理(復号やパース等)を実行し、得られたこれらの情報を制御部401に供給する。
さらに、復号部412は、残差情報Rinfoを参照して符号化データを復号する。その際、復号部412は、例えばCABACやCAVLC等のエントロピ復号(可逆復号)を適用する。つまり、復号部412は、画像符号化装置500の符号化部514が実行する符号化処理の符号化方式に対応する復号方式で符号化データを復号する。
例えば、CABACを適用するとする。復号部412は、符号化データに対してコンテキストモデルを用いる算術復号を行い、各変換ブロック内の各係数位置の量子化係数levelを導出する。復号部412は、その導出した量子化係数levelを逆量子化逆変換部413に供給する。
<逆量子化逆変換部>
逆量子化逆変換部413は、復号部412から供給される量子化係数levelを取得する。逆量子化逆変換部413は、制御部401から供給される予測モード情報Pinfoや変換情報Tinfo等の符号化パラメータを取得する。
逆量子化逆変換部413は、予測モード情報Pinfoや変換情報Tinfo等の符号化パラメータに基づいて、量子化係数levelに対して逆量子化逆変換処理を実行し、残差データD'を導出する。この逆量子化逆変換処理は、後述する変換量子化部513(図8)において実行される変換量子化処理の逆処理である。つまり、逆量子化逆変換処理においては、例えば、逆量子化、逆直交変換、および逆適応色変換等の処理が実行される。逆量子化は、その変換量子化部513において実行される量子化の逆処理である。逆直交変換は、その変換量子化部513において実行される直交変換の逆処理である。逆適応色変換は、その変換量子化部513において実行される適応色変換の逆処理である。もちろん、逆量子化逆変換処理に含まれる処理は任意であり、上述した一部の処理が省略されてもよいし、上述した以外の処理が含まれていてもよい。逆量子化逆変換部413は、導出した残差データD'を演算部414に供給する。
<演算部>
演算部414は、逆量子化逆変換部413から供給される残差データD'と、予測部418から供給される予測画像とを取得する。演算部414は、その残差データD'とその残差データD'に対応する予測画像Pとを加算し、局所復号画像を導出する。演算部414は、導出した局所復号画像を、インループフィルタ部415およびフレームメモリ417に供給する。
<インループフィルタ部>
インループフィルタ部415は、演算部414から供給される局所復号画像を取得する。インループフィルタ部415は、制御部401から供給されるフィルタ情報Finfoを取得する。なお、インループフィルタ部415に入力される情報は任意であり、これらの情報以外の情報が入力されてもよい。
インループフィルタ部415は、そのフィルタ情報Finfoに基づいて、局所復号画像に対して適宜フィルタ処理を実行する。例えば、インループフィルタ部415は、そのフィルタ処理として、バイラテラルフィルタを適用し得る。例えば、インループフィルタ部415は、そのフィルタ処理として、デブロッキングフィルタ(DBF(DeBlocking Filter))を適用し得る。例えば、インループフィルタ部415は、そのフィルタ処理として、適応オフセットフィルタ(SAO(Sample Adaptive Offset))を適用し得る。例えば、インループフィルタ部415は、そのフィルタ処理として、適応ループフィルタ(ALF(Adaptive Loop Filter))を適用し得る。また、インループフィルタ部415は、フィルタ処理として、これらの内の複数のフィルタを組み合わせて適用し得る。なお、どのフィルタを適用するか、どの順で適用するかは任意であり、適宜選択可能である。例えば、インループフィルタ部415は、フィルタ処理として、バイラテラルフィルタ、デブロッキングフィルタ、適応オフセットフィルタ、適応ループフィルタの4つのインループフィルタをこの順に適用する。
インループフィルタ部415は、符号化側装置により実行されたフィルタ処理に対応するフィルタ処理を実行する。例えば、インループフィルタ部415は、後述する画像符号化装置500のインループフィルタ部518(図8)により実行されたフィルタ処理に対応するフィルタ処理を実行する。もちろん、インループフィルタ部415が実行するフィルタ処理は任意であり、上述の例に限定されない。例えば、インループフィルタ部415がウィーナーフィルタ等を適用するようにしてもよい。
インループフィルタ部415は、フィルタ処理された局所復号画像を並べ替えバッファ416およびフレームメモリ417に供給する。
<並べ替えバッファ>
並べ替えバッファ416は、インループフィルタ部415から供給された局所復号画像を入力とし、それを保持(記憶)する。並べ替えバッファ416は、その局所復号画像を用いてピクチャ単位毎の復号画像を再構築し、保持する(バッファ内に格納する)。並べ替えバッファ416は、得られた復号画像を、復号順から再生順に並べ替える。並べ替えバッファ416は、再生順に並べ替えた復号画像群を動画像データとして画像復号装置400の外部に出力する。
<フレームメモリ>
フレームメモリ417は、演算部414より供給される局所復号画像を取得し、ピクチャ単位毎の復号画像を再構築して、フレームメモリ417内のバッファへ格納する。また、フレームメモリ417は、インループフィルタ部415から供給される、インループフィルタ処理された局所復号画像を取得し、ピクチャ単位毎の復号画像を再構築して、フレームメモリ417内のバッファへ格納する。
フレームメモリ417は、適宜、その記憶している復号画像(またはその一部)を参照画像として予測部418に供給する。なお、フレームメモリ417が、復号画像の生成に係るヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなどを記憶するようにしても良い。
<予測部>
予測部418は、制御部401から供給される予測モード情報Pinfoを取得する。また、予測部418は、フレームメモリ417から読み出す復号画像(またはその一部)を取得する。予測部418は、予測モード情報Pinfoに基づいて符号化の際に採用された予測モードで予測処理を実行し、復号画像を参照画像として参照して予測画像Pを生成する。予測部418は、生成した予測画像Pを演算部414に供給する。
<画像復号装置への本技術の適用>
このような画像復号装置400において、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術を適用し得る。つまり、画像復号装置400は、逆量子化逆変換部413として、第2の実施の形態において説明した逆量子化逆変換装置200を適用し得る。その場合、逆量子化逆変換部413は、逆量子化逆変換装置200(図4)と同様の構成を有し、同様の処理を行う。
例えば、逆量子化逆変換部413において、逆量子化部201は、復号部412から供給される量子化係数levelを量子化係数qcoef_xとして取得する。そして、逆量子化部201は、量子化パラメータqP、cu_act_enabled_flag、transform_skip_flag等の情報を用いて、その量子化係数qcoef_xを逆量子化し、直交変換係数coef_xを導出する。
逆直交変換部202は、変換情報Tinfo、transform_skip_flag、mts_idx、lfnst_idx等の情報を用いて、逆量子化部201により導出された直交変換係数coef_xを逆直交変換し、係数データres_x'を導出する。
逆適応色変換部203は、cu_act_enabled_flagに基づいて、逆直交変換部202により導出された係数データres_x'を、適宜、可逆方式で逆適応色変換(逆YCgCo-R変換)し、逆適応色変換処理後の係数データres_xを導出する。逆適応色変換部203は、導出した係数データres_xを、残差データD'として演算部414に供給する。
第1の実施の形態において説明したように、この逆適応色変換部203が、逆適応色変換装置100と同様の構成を有し、同様の処理を行う。例えば、その逆適応色変換部203において、クリップ処理部102が、逆直交変換部202から供給された係数データres_x'を、その係数データのビット深度に基づくレベルでクリップする。そして、逆YCgCo-R変換部103が、そのクリップ処理部102によりそのレベルでクリップされた係数データres_x'を逆YCgCo-R変換し、逆適応色変換処理後の係数データres_xを導出する。そして、逆YCgCo-R変換部103が、その導出した係数データres_xを、残差データD'として演算部414に供給する。
このようにすることにより、逆量子化逆変換部413は、係数データres_x'に対して、逆適応色変換後の係数データres_xの歪みが増大しないようなレベルでクリップを行うことができる。したがって、逆量子化逆変換部413は、逆量子化逆変換装置200の場合と同様に、出力する係数データres_x(残差データD’)の歪みの増大を抑制しながら逆量子化逆変換処理の負荷の増大を抑制することができる。つまり、画像復号装置400は、復号画像の品質の低減を抑制しながら画像復号処理の負荷の増大を抑制することができる。
そして、逆量子化逆変換装置200の場合と同様に、逆量子化逆変換部413は、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術の各種方法(「方法1」、「方法1-1」、「方法1-2」、「方法2」、「方法2-1」、「方法2-2」、および「方法3」を含む)を適用し得る。つまり、画像復号装置400は、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術の各種方法を適用し得る。これらのいずれかの方法を適用することにより、画像復号装置400は、<逆量子化逆変換装置への本技術の適用>において説明したのと同様の効果(つまり、<逆適応色変換装置への本技術の適用>において説明したのと同様の効果)を得ることができる。
<画像復号処理の流れ>
次に、以上のような画像復号装置400により実行される各処理の流れについて説明する。最初に、図7のフローチャートを参照して、画像復号処理の流れの例を説明する。
画像復号処理が開始されると、蓄積バッファ411は、ステップS401において、画像復号装置400の外部から供給されるビットストリーム(符号化データ)を取得して保持する(蓄積する)。
ステップS402において、復号部412は、復号処理を実行する。例えば、復号部412は、そのビットストリームから各種符号化パラメータ(例えば、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo等)をパースする(解析して取得する)。制御部401は、その取得した各種符号化パラメータを各種処理部に供給することにより、その各種符号化パラメータを設定する。
また、制御部401は、得られた符号化パラメータに基づいて、処理単位を設定する。さらに、復号部412は、制御部401の制御に従って、ビットストリームを復号し、量子化係数levelを導出する。
ステップS403において、逆量子化逆変換部413は、逆量子化逆変換処理を実行し、残差データD'を導出する。
ステップS404において、予測部418は、予測画像Pを生成する。例えば、予測部418は、ステップS402において設定された符号化パラメータ等に基づいて、符号化側より指定される予測方法で予測処理を実行し、フレームメモリ417に記憶されている参照画像を参照する等して、予測画像Pを生成する。
ステップS405において、演算部414は、ステップS403において得られた残差データD'と、ステップS404において得られた予測画像Pとを加算し、局所復号画像を導出する。
ステップS406において、インループフィルタ部415は、ステップS405の処理により得られた局所復号画像に対して、インループフィルタ処理を実行する。
ステップS407において、並べ替えバッファ416は、ステップS406の処理によりフィルタ処理された局所復号画像を用いて復号画像を導出し、その復号画像群の順序を復号順から再生順に並べ替える。再生順に並べ替えられた復号画像群は、動画像として画像復号装置400の外部に出力される。
また、ステップS408において、フレームメモリ417は、ステップS405の処理により得られた局所復号画像、および、ステップS406の処理によりフィルタ処理された局所復号画像の内、少なくともいずれか一方を記憶する。
ステップS408の処理が終了すると、画像復号処理が終了する。
<画像復号処理への本技術の適用>
このような画像復号処理において、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術を適用し得る。つまり、ステップS403の逆量子化逆変換処理として、図5のフローチャートを参照して説明した逆量子化逆変換処理を適用し得る。
このようにすることにより、逆量子化逆変換部413は、係数データres_x'に対して、逆適応色変換後の係数データres_x(残差データD')の歪みが増大しないようなレベルでクリップを行うことができる。したがって、逆量子化逆変換部413は、逆適応色変換後の係数データres_x(残差データD')の歪みの増大を抑制しながら逆量子化逆変換処理の負荷の増大を抑制することができる。
つまり、以上のように画像復号処理を実行することにより、画像復号装置400は、復号画像の品質の低減を抑制しながら画像復号処理の負荷の増大を抑制することができる。
なお、この画像復号処理(の逆量子化逆変換処理(ステップS403))において、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術の各種方法(「方法1」、「方法1-1」、「方法1-2」、「方法2」、「方法2-1」、「方法2-2」、および「方法3」を含む)を適用し得る。これらのいずれかの方法を適用することにより、<画像復号装置への本技術の適用>において説明したのと同様の効果(つまり、<逆適応色変換装置への本技術の適用>において説明したのと同様の効果)を得ることができる。
<5.第4の実施の形態>
<画像符号化装置>
上述した逆量子化逆変換装置200(逆量子化逆変換処理)は、画像符号化装置に適用することができる。図8は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図8に示される画像符号化装置500は、動画像の画像データを符号化する装置である。例えば、画像符号化装置500は、上述した非特許文献に記載のVVC(Versatile Video Coding)、AVC(Advanced Video Coding)、HEVC(High Efficiency Video Coding)等の符号化方式で動画像の画像データを符号化する。例えば、画像符号化装置500は、上述した画像復号装置400(図6)により復号することができる符号化データ(ビットストリーム)を生成し得る。
なお、図8においては、処理部やデータの流れ等の主なものを示しており、図8に示されるものが全てとは限らない。つまり、画像符号化装置500において、図8においてブロックとして示されていない処理部が存在したり、図8において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、画像符号化装置500内の処理部等を説明する他の図においても同様である。
図8に示されるように画像符号化装置500は、制御部501、並べ替えバッファ511、演算部512、変換量子化部513、符号化部514、および蓄積バッファ515を有する。また、画像符号化装置500は、逆量子化逆変換部516、演算部517、インループフィルタ部518、フレームメモリ519、予測部520、およびレート制御部521を有する。
<制御部>
制御部501は、外部、または予め指定された処理単位のブロックサイズに基づいて、並べ替えバッファ511により保持されている動画像データを処理単位のブロック(CU,PU,TUなど)へ分割する。また、制御部501は、各ブロックへ供給する符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)を、例えば、RDO(Rate-Distortion Optimization)に基づいて、決定する。例えば、制御部501は、変換スキップフラグ等を設定することができる。
制御部501は、以上のような符号化パラメータを決定すると、それを各ブロックへ供給する。例えば、ヘッダ情報Hinfoは、各ブロックに供給される。予測モード情報Pinfoは、符号化部514および予測部520に供給される。変換情報Tinfoは、符号化部514、変換量子化部513、および逆量子化逆変換部516に供給される。フィルタ情報Finfoは、符号化部514およびインループフィルタ部518に供給される。もちろん、各符号化パラメータの供給先は任意であり、この例に限定されない。
<並べ替えバッファ>
画像符号化装置500には、動画像データの各フィールド(入力画像)がその再生順(表示順)に入力される。並べ替えバッファ511は、各入力画像をその再生順(表示順)に取得し、保持(記憶)する。並べ替えバッファ511は、制御部501の制御に基づいて、その入力画像を符号化順(復号順)に並べ替えたり、処理単位のブロックに分割したりする。並べ替えバッファ511は、処理後の各入力画像を演算部512に供給する。
<演算部>
演算部512は、並べ替えバッファ511から供給される処理単位のブロックに対応する画像から、予測部520より供給される予測画像Pを減算して、残差データDを導出し、それを変換量子化部513に供給する。
<変換量子化部>
変換量子化部513は、演算部512から供給される残差データDを取得する。また、変換量子化部513は、制御部501から供給される予測モード情報Pinfoおよび変換情報Tinfoを取得する。変換量子化部513は、その予測モード情報Pinfoおよび変換情報Tinfoに基づいて、その残差データDに対して変換量子化処理を実行し、量子化係数levelを導出する。変換量子化処理においては、例えば、適応色変換、直交変換、および量子化等の処理が実行される。もちろん、変換量子化処理に含まれる処理は任意であり、上述した一部の処理が省略されてもよいし、上述した以外の処理が含まれていてもよい。変換量子化部513は、導出した量子化係数levelを、符号化部514および逆量子化逆変換部516に供給する。
<符号化部>
符号化部514は、変換量子化部513から供給された量子化係数levelを取得する。また、符号化部514は、制御部501から供給される各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)を取得する。さらに、符号化部514は、インループフィルタ部518から供給されるフィルタ係数等のフィルタに関する情報を取得する。また、符号化部514は、予測部520から供給される最適な予測モードに関する情報を取得する。
符号化部514は、量子化係数levelをエントロピ符号化(可逆符号化)し、ビット列(符号化データ)を生成する。符号化部514は、このエントロピ符号化として、例えばCABAC(Context-based Adaptive Binary Arithmetic Code)を適用し得る。符号化部514は、このエントロピ符号化として、例えばCAVLC(Context-based Adaptive Variable Length Code)を適用し得る。もちろん、このエントロピ符号化の内容は任意であり、これらの例に限定されない。
また、符号化部514は、その量子化係数レベルから残差情報Rinfoを導出し、残差情報Rinfoを符号化し、ビット列を生成する。
さらに、符号化部514は、インループフィルタ部518から供給されるフィルタに関する情報をフィルタ情報Finfoに含め、予測部520から供給される最適な予測モードに関する情報を予測モード情報Pinfoに含める。そして、符号化部514は、上述した各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)を符号化し、ビット列を生成する。
また、符号化部514は、以上のように生成された各種情報のビット列を多重化し、符号化データを生成する。符号化部514は、その符号化データを蓄積バッファ515に供給する。
<蓄積バッファ>
蓄積バッファ515は、符号化部514において得られた符号化データを、一時的に保持する。蓄積バッファ515は、所定のタイミングにおいて、保持している符号化データを、例えばビットストリーム等として画像符号化装置500の外部に出力する。例えば、この符号化データは、任意の記録媒体、任意の伝送媒体、任意の情報処理装置等を介して復号側に伝送される。すなわち、蓄積バッファ515は、符号化データ(ビットストリーム)を伝送する伝送部でもある。
<逆量子化逆変換部>
逆量子化逆変換部516は、変換量子化部513から供給される量子化係数levelを取得する。また、逆量子化逆変換部516は、制御部501から供給される変換情報Tinfoを取得する。
逆量子化逆変換部516は、変換情報Tinfoに基づいて、量子化係数levelに対して逆量子化逆変換処理を実行し、残差データD'を導出する。この逆量子化逆変換処理は、変換量子化部513において実行される変換量子化処理の逆処理であり、上述した画像復号装置400の逆量子化逆変換部413において実行される逆量子化逆変換処理と同様の処理である。
つまり、逆量子化逆変換処理においては、例えば、逆量子化、逆直交変換、および逆適応色変換等の処理が実行される。この逆量子化は、変換量子化部513において実行される量子化の逆処理であり、逆量子化逆変換部413において実行される逆量子化と同様の処理である。また、逆直交変換は、変換量子化部513において実行される直交変換の逆処理であり、変換量子化部513において実行される逆直交変換と同様の処理である。さらに、逆適応色変換は、変換量子化部513において実行される適応色変換の逆処理であり、変換量子化部513において実行される逆適応色変換と同様の処理である。
もちろん、この逆量子化逆変換処理に含まれる処理は任意であり、上述した一部の処理が省略されてもよいし、上述した以外の処理が含まれていてもよい。逆量子化逆変換部516は、導出した残差データD'を演算部517に供給する。
<演算部>
演算部517は、逆量子化逆変換部516から供給される残差データD'と、予測部520から供給される予測画像Pを取得する。演算部517は、その残差データD'と、その残差データD'に対応する予測画像Pとを加算し、局所復号画像を導出する。演算部517は、導出した局所復号画像をインループフィルタ部518およびフレームメモリ519に供給する。
<インループフィルタ部>
インループフィルタ部518は、演算部517から供給される局所復号画像を取得する。また、インループフィルタ部518は、制御部501から供給されるフィルタ情報Finfoを取得する。さらに、インループフィルタ部518は、並べ替えバッファ511から供給される入力画像(元画像)を取得する。なお、インループフィルタ部518に入力される情報は任意であり、これらの情報以外の情報が入力されてもよい。例えば、必要に応じて、予測モード、動き情報、符号量目標値、量子化パラメータqP、ピクチャタイプ、ブロック(CU、CTU等)の情報等がインループフィルタ部518に入力されるようにしてもよい。
インループフィルタ部518は、そのフィルタ情報Finfoに基づいて、局所復号画像に対して適宜フィルタ処理を実行する。インループフィルタ部518は、必要に応じて入力画像(元画像)や、その他の入力情報もそのフィルタ処理に用いる。
例えば、インループフィルタ部518は、そのフィルタ処理として、バイラテラルフィルタを適用し得る。例えば、インループフィルタ部518は、そのフィルタ処理として、デブロッキングフィルタ(DBF(DeBlocking Filter))を適用し得る。例えば、インループフィルタ部518は、そのフィルタ処理として、適応オフセットフィルタ(SAO(Sample Adaptive Offset))を適用し得る。例えば、インループフィルタ部518は、そのフィルタ処理として、適応ループフィルタ(ALF(Adaptive Loop Filter))を適用し得る。また、インループフィルタ部518は、フィルタ処理として、これらの内の複数のフィルタを組み合わせて適用し得る。なお、どのフィルタを適用するか、どの順で適用するかは任意であり、適宜選択可能である。例えば、インループフィルタ部518は、フィルタ処理として、バイラテラルフィルタ、デブロッキングフィルタ、適応オフセットフィルタ、適応ループフィルタの4つのインループフィルタをこの順に適用する。
もちろん、インループフィルタ部518が実行するフィルタ処理は任意であり、上述の例に限定されない。例えば、インループフィルタ部518がウィーナーフィルタ等を適用するようにしてもよい。
インループフィルタ部518は、フィルタ処理された局所復号画像をフレームメモリ519に供給する。なお、例えばフィルタ係数等のフィルタに関する情報を復号側に伝送する場合、インループフィルタ部518は、そのフィルタに関する情報を符号化部514に供給する。
<フレームメモリ>
フレームメモリ519は、画像に関するデータの記憶に関する処理を実行する。例えば、フレームメモリ519は、演算部517から供給される局所復号画像や、インループフィルタ部518から供給されるフィルタ処理された局所復号画像を取得し、それを保持(記憶)する。また、フレームメモリ519は、その局所復号画像を用いてピクチャ単位毎の復号画像を再構築し、保持する(フレームメモリ519内のバッファへ格納する)。フレームメモリ519は、予測部520の要求に応じて、その復号画像(またはその一部)を予測部520に供給する。
<予測部>
予測部520は、予測画像の生成に関する処理を実行する。例えば、予測部520は、制御部501から供給される予測モード情報Pinfoを取得する。例えば、予測部520は、並べ替えバッファ511から供給される入力画像(元画像)を取得する。例えば、予測部520は、フレームメモリ519から読み出す復号画像(またはその一部)を取得する。
予測部520は、予測モード情報Pinfoや入力画像(元画像)を用い、インター予測やイントラ予測等の予測処理を実行する。つまり、予測部520は、復号画像を参照画像として参照して予測と動き補償を実行し、予測画像Pを生成する。予測部520は、生成した予測画像Pを演算部512および演算部517に供給する。また、予測部520は、以上の処理により選択した予測モード、すなわち最適な予測モードに関する情報を、必要に応じて符号化部514に供給する。
<レート制御部>
レート制御部521は、レート制御に関する処理を実行する。例えば、レート制御部521は、蓄積バッファ515に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、変換量子化部513の量子化動作のレートを制御する。
<変換量子化部>
図9は、図8の変換量子化部513の主な構成例を示すブロック図である。図9に示されるように、変換量子化部513は、適応色変換部541、直交変換部542、および量子化部543を有する。
適応色変換部541は、演算部512から供給される残差データD(図8)を、係数データres_xとして取得する。また、適応色変換部541は、制御部501から供給されるcu_act_enabled_flagを取得する。適応色変換部541は、cu_act_enabled_flagの値に基づいて、係数データres_xに対する適応色変換を実行する。例えば、cu_act_enabled_flagが真(例えば「1」)の場合、適応色変換部541は、可逆方式の適応色変換(YCgCo-R変換)を行い、RGBドメインの係数データres_xを、YCgCoドメインの係数データres_x'に変換する。この適応色変換は、逆量子化逆変換部413や逆量子化逆変換部516において実行される逆適応色変換の逆処理である。適応色変換部541は、導出した係数データres_x'を直交変換部542に供給する。
直交変換部542は、適応色変換部541から供給される係数データres_x'を取得する。直交変換部542は、制御部501から供給される変換情報Tinfo、transform_skip_flag、mts_idx、lfnst_idx等の情報を取得する。直交変換部542は、取得したそれらの情報を用いて係数データres_x'を直交変換し、直交変換係数coef_xを導出する。この直交変換は、逆量子化逆変換部413や逆量子化逆変換部516において実行される逆直交変換の逆処理である。直交変換部542は、導出した直交変換係数coef_xを量子化部543に供給する。
量子化部543は、直交変換部542から供給される直交変換係数coeff_xを取得する。また、量子化部543は、制御部501から供給される量子化パラメータqP、cu_act_enabled_flag、transform_skip_flag等の情報を取得する。量子化部543は、取得したそれらの情報を用いて直交変換係数coef_xを量子化し、量子化係数qcoef_xを導出する。この量子化は、逆量子化逆変換部413や逆量子化逆変換部516において実行される逆量子化の逆処理である。量子化部543は、導出した量子化係数qcoef_xを、量子化係数levelとして符号化部514および逆量子化逆変換部516(図8)に供給する。
<適応色変換部>
図10は、図9の適応色変換部541の主な構成例を示すブロック図である。図10に示されるように、適応色変換部541は、選択部571およびYCgCo-R変換部572を有する。
選択部571は、演算部512から供給される残差データD(図8)を、係数データres_xとして取得する。また、選択部571は、制御部501から供給されるcu_act_enabled_flagを取得する。選択部571は、そのcu_act_enabled_flagの値に基づいて、取得した係数データres_xに対して適応色変換を実行するか否かを選択する。例えば、cu_act_enabled_flagが真(例えば「1」)の場合、選択部571は、適応色変換を適用し得ると判定し、係数データres_xをYCgCo-R変換部572に供給する。
例えば、cu_act_enabled_flagが偽(例えば「0」)の場合、選択部571は、適応色変換(逆適応色変換)の適用が禁止されている(つまり適用不可能である)と判定し、係数データres_xを、適用色変換後の係数データres_x'として、直交変換部542(図9)に供給する。
YCgCo-R変換部572は、選択部101から供給される係数データres_xを取得する。YCgCo-R変換部572は、取得した係数データres_xをYCgCo-R変換し、YCgCo-R変換された係数データres_x'を導出する。このYCgCo-R変換は、逆量子化逆変換部413や逆量子化逆変換部516において実行される逆YCgCo-R変換の逆処理である。YCgCo-R変換部572は、導出した係数データres_x'を直交変換部542(図9)に供給する。
<画像符号化装置への本技術の適用>
このような画像符号化装置500(図8)において、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術を適用し得る。つまり、画像符号化装置500は、逆量子化逆変換部516として、第2の実施の形態において説明した逆量子化逆変換装置200を適用し得る。その場合、逆量子化逆変換部516は、逆量子化逆変換装置200(図4)と同様の構成を有し、同様の処理を行う。
例えば、逆量子化逆変換部516において、逆量子化部201は、変換量子化部513から供給される量子化係数levelを量子化係数qcoef_xとして取得する。そして、逆量子化部201は、制御部501から供給される量子化パラメータqP、cu_act_enabled_flag、transform_skip_flag等の情報を用いて、その量子化係数qcoef_xを逆量子化し、直交変換係数coef_xを導出する。
逆直交変換部202は、制御部501から供給される変換情報Tinfo、transform_skip_flag、mts_idx、lfnst_idx等の情報を用いて、逆量子化部201により導出された直交変換係数coef_xを逆直交変換し、係数データres_x'を導出する。
逆適応色変換部203は、制御部501から供給されるcu_act_enabled_flagに基づいて、逆直交変換部202により導出された係数データres_x'を、適宜、可逆方式で逆適応色変換(逆YCgCo-R変換)し、逆適応色変換処理後の係数データres_xを導出する。逆適応色変換部203は、導出した係数データres_xを、残差データD'として演算部517に供給する。
第1の実施の形態において説明したように、この逆適応色変換部203が、逆適応色変換装置100と同様の構成を有し、同様の処理を行う。例えば、その逆適応色変換部203において、クリップ処理部102が、逆直交変換部202から供給された係数データres_x'を、その係数データのビット深度に基づくレベルでクリップする。そして、逆YCgCo-R変換部103が、そのクリップ処理部102によりそのレベルでクリップされた係数データres_x'を逆YCgCo-R変換し、逆適応色変換処理後の係数データres_xを導出する。そして、逆YCgCo-R変換部103が、その導出した係数データres_xを、残差データD'として演算部517に供給する。
このようにすることにより、逆量子化逆変換部516は、係数データres_x'に対して、逆適応色変換後の係数データres_xの歪みが増大しないようなレベルでクリップを行うことができる。したがって、逆量子化逆変換部516は、逆量子化逆変換装置200の場合と同様に、出力する係数データres_x(残差データD')の歪みの増大を抑制しながら逆量子化逆変換処理の負荷の増大を抑制することができる。つまり、画像符号化装置500は、復号画像の品質の低減を抑制しながら画像符号化処理の負荷の増大を抑制することができる。
そして、逆量子化逆変換装置200の場合と同様に、逆量子化逆変換部516は、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術の各種方法(「方法1」、「方法1-1」、「方法1-2」、「方法2」、「方法2-1」、「方法2-2」、および「方法3」を含む)を適用し得る。つまり、画像符号化装置500は、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術の各種方法を適用し得る。これらのいずれかの方法を適用することにより、画像符号化装置500は、<逆量子化逆変換装置への本技術の適用>において説明したのと同様の効果(つまり、<逆適応色変換装置への本技術の適用>において説明したのと同様の効果)を得ることができる。
<画像符号化処理の流れ>
次に、以上のような画像符号化装置500により実行される画像符号化処理の流れの例を、図11のフローチャートを参照して説明する。
画像符号化処理が開始されると、ステップS501において、並べ替えバッファ511は、制御部501に制御されて、入力された動画像データのフレームの順を表示順から符号化順に並べ替える。
ステップS502において、制御部501は、並べ替えバッファ511が保持する入力画像に対して、処理単位を設定する(ブロックを分割する)。
ステップS503において、制御部501は、並べ替えバッファ511が保持する入力画像についての符号化パラメータ(例えば、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo等)を設定する。
ステップS504において、予測部520は、予測処理を実行し、最適な予測モードの予測画像等を生成する。例えば、この予測処理において、予測部520は、イントラ予測を実行して最適なイントラ予測モードの予測画像等を生成し、インター予測を実行して最適なインター予測モードの予測画像等を生成し、それらの中から、コスト関数値等に基づいて最適な予測モードを選択する。
ステップS505において、演算部512は、入力画像と、ステップS504の予測処理により選択された最適なモードの予測画像との差分を演算する。つまり、演算部512は、入力画像と予測画像との残差データDを導出する。このようにして導出された残差データDは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
ステップS506において、変換量子化部513は、ステップS503において設定された変換情報Tinfo等の符号化パラメータを用いて、ステップS505の処理により導出された残差データDに対して変換量子化処理を実行し、量子化係数levelを導出する。
ステップS507において、逆量子化逆変換部516は、ステップS503において設定された変換情報Tinfo等の符号化パラメータを用いて、ステップS506において導出された量子化係数levelに対して、逆量子化逆変換処理を実行し、残差データD'を導出する。この逆量子化逆変換処理は、ステップS506の変換量子化処理の逆処理であり、図7の画像復号処理のステップS403の逆量子化逆変換処理と同様の処理である。
ステップS508において、演算部517は、ステップS507の逆量子化逆変換処理により導出された残差データD'に、ステップS504の予測処理により生成された予測画像を加算することにより、局所的に復号された復号画像を生成する。
ステップS509において、インループフィルタ部518は、ステップS508の処理により導出された、局所的に復号された復号画像に対して、インループフィルタ処理を実行する。
ステップS510において、フレームメモリ519は、ステップS508の処理により導出された、局所的に復号された復号画像や、ステップS509においてフィルタ処理された、局所的に復号された復号画像を記憶する。
ステップS511において、符号化部514は、ステップS506の変換量子化処理により導出された量子化係数levelを符号化し、符号化データを導出する。また、このとき、符号化部514は、各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo)を符号化する。さらに、符号化部514は、量子化係数levelから残差情報RInfoを導出し、その残差情報RInfoを符号化する。
ステップS512において、蓄積バッファ515は、このようにして導出された符号化データを蓄積し、例えばビットストリームとして、それを画像符号化装置500の外部に出力する。このビットストリームは、例えば、伝送路や記録媒体を介して復号側装置(例えば画像復号装置400)に伝送される。また、レート制御部521は、必要に応じてレートを制御する。ステップS512の処理が終了すると、画像符号化処理が終了する。
<変換量子化処理の流れ>
次に、図12のフローチャートを参照して、図11のステップS506において実行される変換量子化処理の流れの例を説明する。
変換量子化処理が開始されると、適応色変換部541は、ステップS541において、ステップS503(図11)において設定されたcu_act_enabled_flagに基づいて、ステップS505の処理により導出された係数データres_xを適応色変換し、係数データres_x'を導出する。
ステップS542において、直交変換部542は、ステップS503(図11)において設定された変換情報Tinfoや予測モード情報Pinfo等を用いて、ステップS541において導出された係数データres_x'を直交変換し、直交変換係数coef_xを導出する。
ステップS543において、量子化部543は、ステップS503(図11)において設定された変換情報Tinfo等を用いて、ステップS542において導出された直交変換係数coef_xを量子化し、量子化係数qcoef_xを導出する。
ステップS543の処理が終了すると、処理は図11に戻る。
<適応色変換処理の流れ>
次に、図13のフローチャートを参照して、図12のステップS541において実行される適応色変換処理の流れの例を説明する。
適応色変換処理が開始されると、適応色変換部541の選択部571は、ステップS571において、cu_act_enabled_flagが真であるか否かを判定する。cu_act_enabled_flagが真であると判定された場合、処理はステップS572に進む。
ステップS572において、YCgCo-R変換部572は、3コンポーネントの係数データres_xをYCgCo-R変換し、適応色変換後の係数データres_x'を導出する。
ステップS573において、YCgCo-R変換部572は、導出した係数データres_x'を直交変換部542に供給する。ステップS573の処理が終了すると適応色変換処理が終了する。
また、ステップS571において、cu_act_enabled_flagが偽であると判定された場合、処理はステップS574に進む。
ステップS574において、選択部571は、係数データres_xを適応色変換後の係数データres_x'として直交変換部542に供給する。ステップS574の処理が終了すると適応色変換処理が終了する。
<画像符号化処理への本技術の適用>
このような画像符号化処理において、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術を適用し得る。つまり、ステップS507の逆量子化逆変換処理として、図5のフローチャートを参照して説明した逆量子化逆変換処理を適用し得る。
このようにすることにより、逆量子化逆変換部516は、係数データres_x'に対して、逆適応色変換後の係数データres_x(残差データD')の歪みが増大しないようなレベルでクリップを行うことができる。したがって、逆量子化逆変換部516は、逆適応色変換後の係数データres_x(残差データD')の歪みの増大を抑制しながら逆量子化逆変換処理の負荷の増大を抑制することができる。
つまり、以上のように画像符号化処理を実行することにより、画像符号化装置500は、復号画像の品質の低減を抑制しながら画像符号化処理の負荷の増大を抑制することができる。
なお、この画像符号化処理(の逆量子化逆変換処理(ステップS507))において、<1.可逆方式の逆適応色変換のクリップ処理>において上述した本技術の各種方法(「方法1」、「方法1-1」、「方法1-2」、「方法2」、「方法2-1」、「方法2-2」、および「方法3」を含む)を適用し得る。これらのいずれかの方法を適用することにより、<画像符号化装置への本技術の適用>において説明したのと同様の効果(つまり、<逆適応色変換装置への本技術の適用>において説明したのと同様の効果)を得ることができる。
<6.付記>
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
図14は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
図14に示されるコンピュータ800において、CPU(Central Processing Unit)801、ROM(Read Only Memory)802、RAM(Random Access Memory)803は、バス804を介して相互に接続されている。
バス804にはまた、入出力インタフェース810も接続されている。入出力インタフェース810には、入力部811、出力部812、記憶部813、通信部814、およびドライブ815が接続されている。
入力部811は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部812は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部813は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部814は、例えば、ネットワークインタフェースよりなる。ドライブ815は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア821を駆動する。
以上のように構成されるコンピュータでは、CPU801が、例えば、記憶部813に記憶されているプログラムを、入出力インタフェース810およびバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が実行される。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア821に記録して適用することができる。その場合、プログラムは、リムーバブルメディア821をドライブ815に装着することにより、入出力インタフェース810を介して、記憶部813にインストールすることができる。
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部814で受信し、記憶部813にインストールすることができる。
その他、このプログラムは、ROM802や記憶部813に、あらかじめインストールしておくこともできる。
<本技術の適用対象>
本技術は、任意の画像符号化方式や復号方式に適用することができる。つまり、上述した本技術と矛盾しない限り、変換(逆変換)、量子化(逆量子化)、符号化(復号)、予測等、画像符号化・復号に関する各種処理の仕様は任意であり、上述した例に限定されない。また、上述した本技術と矛盾しない限り、これらの処理の内の一部を省略してもよい。
また本技術は、複数の視点(ビュー(view))の画像を含む多視点画像を符号化する多視点画像符号化システムに適用することができる。また本技術は、複数の視点(ビュー(view))の画像を含む多視点画像の符号化データを復号する多視点画像復号システムに適用することができる。その場合、各視点(ビュー(view))の符号化や復号において、本技術を適用するようにすればよい。
さらに本技術は、所定のパラメータについてスケーラビリティ(scalability)機能を有するように複数レイヤ化(階層化)された階層画像を符号化する階層画像符号化(スケーラブル符号化)システムに適用することができる。また、本技術は、所定のパラメータについてスケーラビリティ(scalability)機能を有するように複数レイヤ化(階層化)された階層画像の符号化データを復号する階層画像復号(スケーラブル復号)システムに適用することができる。その場合、各階層(レイヤ)の符号化や復号において、本技術を適用するようにすればよい。
また、以上においては、本技術の適用例として、逆適応色変換装置100、逆量子化逆変換装置200、画像復号装置400、および画像符号化装置500について説明したが、本技術は、任意の構成に適用することができる。
例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に応用され得る。
また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
<本技術を適用可能な分野や用途>
本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
例えば、本技術は、観賞用コンテンツ等の提供の用に供されるシステムやデバイスに適用することができる。また、例えば、本技術は、交通状況の監理や自動運転制御等、交通の用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、セキュリティの用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、機械等の自動制御の用に供されるシステムやデバイスに適用することができる。さらに、例えば、本技術は、農業や畜産業の用に供されるシステムやデバイスにも適用することができる。また、本技術は、例えば火山、森林、海洋等の自然の状態や野生生物等を監視するシステムやデバイスにも適用することができる。さらに、例えば、本技術は、スポーツの用に供されるシステムやデバイスにも適用することができる。
<その他>
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
また、コンピュータが実行するプログラムは、以下のような特徴を有していてもよい。例えば、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしてもよい。また、プログラムを記述するステップの処理が並列に実行されるようにしてもよい。さらに、プログラムを記述するステップの処理が、呼び出されとき等の必要なタイミングで個別に実行されるようにしてもよい。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。また、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と組み合わせて実行されるようにしてもよい。
また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
なお、本技術は以下のような構成も取ることができる。
(1) 可逆方式で適応色変換された係数データを、前記係数データのビット深度に基づくレベルでクリップするクリップ処理部と、
前記クリップ処理部により前記レベルでクリップされた前記係数データを、前記可逆方式で逆適応色変換する逆適応色変換部と
を備える画像処理装置。
(2) 前記クリップ処理部は、前記係数データの輝度成分および色成分を、互いに同一の前記レベルでクリップする
(1)に記載の画像処理装置。
(3) 前記クリップ処理部は、
前記ビット深度に1を加算した値を冪指数とする2の冪乗から1を減算した値を上限値として前記係数データの前記輝度成分および前記色成分をクリップし、
前記ビット深度に1を加算した値を冪指数とする2の冪乗に-1を乗算した値を下限値として前記係数データの前記輝度成分および前記色成分をクリップする
(2)に記載の画像処理装置。
(4) 前記レベルは、前記ビット深度と前記係数データを記憶するバッファのダイナミックレンジに基づく値である
(2)に記載の画像処理装置。
(5) 前記レベルは、前記ビット深度に基づき、かつ、前記バッファの前記ダイナミックレンジに基づかない値と、前記ビット深度に基づかず、かつ、前記バッファの前記ダイナミックレンジに基づく値との内の、小さい方を用いて導出される値である
(4)に記載の画像処理装置。
(6) 前記クリップ処理部は、
前記ビット深度に1を加算した値と、前記バッファの前記ダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗から1を減算した値を上限値として前記係数データの前記輝度成分および前記色成分をクリップし、
前記ビット深度に1を加算した値と、前記バッファの前記ダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗に-1を乗算した値を下限値として前記係数データの前記輝度成分および前記色成分をクリップする
(5)に記載の画像処理装置。
(7) 前記クリップ処理部は、
前記係数データの輝度成分を第1のレベルでクリップし、
前記係数データの色成分を第2のレベルでクリップする
(1)に記載の画像処理装置。
(8) 前記第2のレベルは、上限値と下限値との差が前記第1のレベルよりも広い
(7)に記載の画像処理装置。
(9) 前記クリップ処理部は、
前記ビット深度を冪指数とする2の冪乗から1を減算した値を上限値として前記係数データの前記輝度成分をクリップし、
前記ビット深度を冪指数とする2の冪乗に-1を乗算した値を下限値として前記係数データの前記輝度成分をクリップし、
前記ビット深度に1を加算した値を冪指数とする2の冪乗から1を減算した値を上限値として前記係数データの前記色成分をクリップし、
前記ビット深度に1を加算した値を冪指数とする2の冪乗に-1を乗算した値を下限値として前記係数データの前記色成分をクリップする
(8)に記載の画像処理装置。
(10) 前記第1のレベルおよび前記第2のレベルは、前記ビット深度と前記係数データを記憶するバッファのダイナミックレンジに基づく値である
(7)に記載の画像処理装置。
(11) 前記クリップ処理部は、
前記ビット深度と、前記バッファの前記ダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗から1を減算した値を上限値として前記係数データの前記輝度成分をクリップし、
前記ビット深度と、前記バッファの前記ダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗に-1を乗算した値を下限値として前記係数データの前記輝度成分をクリップし、
前記ビット深度に1を加算した値と、前記バッファの前記ダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗から1を減算した値を上限値として前記係数データの前記色成分をクリップし、
前記ビット深度に1を加算した値と、前記バッファの前記ダイナミックレンジから1を減算した値との内の、小さい方を冪指数とする2の冪乗に-1を乗算した値を下限値として前記係数データの前記色成分をクリップする
(10)に記載の画像処理装置。
(12) 前記レベルは、前記係数データを記憶するバッファのダイナミックレンジに基づく値である
(1)に記載の画像処理装置。
(13) 前記クリップ処理部は、
前記バッファの前記ダイナミックレンジから1を減算した値を冪指数とする2の冪乗から1を減算した値を上限値として前記係数データの輝度成分および色成分をクリップし、
前記バッファの前記ダイナミックレンジから1を減算した値を冪指数とする2の冪乗に-1を乗算した値を下限値として前記係数データの前記輝度成分および前記色成分をクリップする
(12)に記載の画像処理装置。
(14) 直交変換係数を逆直交変換して、前記可逆方式で適応色変換された前記係数データを生成する逆直交変換部をさらに備え、
前記クリップ処理部は、前記逆直交変換部により生成された前記係数データを、前記レベルでクリップするように構成される
(1)に記載の画像処理装置。
(15) 量子化係数を逆量子化し、前記直交変換係数を生成する逆量子化部をさらに備え、
前記逆直交変換部は、前記逆量子化部により生成された前記直交変換係数を逆直交変換するように構成される
(14)に記載の画像処理装置。
(16) 符号化データを復号し、前記量子化係数を生成する復号部をさらに備え、
前記逆量子化部は、前記復号部により生成された前記量子化係数を逆量子化するように構成される
(15)に記載の画像処理装置。
(17) 前記逆適応色変換部は、前記クリップ処理部により前記レベルでクリップされた前記係数データを、前記可逆方式で逆適応色変換し、画像データの予測残差データを生成するように構成され、
前記逆適応色変換部により生成された前記予測残差データに前記画像データの予測データを加算し、前記画像データを生成する演算部をさらに備える
(16)に記載の画像処理装置。
(18) 画像データを可逆方式で適応色変換して前記係数データを生成し、前記係数データを直交変換して前記直交変換係数を生成し、前記直交変換係数を量子化して前記量子化係数を生成する変換量子化部と、
前記変換量子化部により生成された前記量子化係数を符号化して符号化データを生成する符号化部と
をさらに備え、
前記逆量子化部は、前記変換量子化部により生成された前記量子化係数を逆量子化するように構成される
(15)に記載の画像処理装置。
(19) 前記画像データから前記画像データの予測データを減算し、予測残差データを生成する演算部をさらに備え、
前記変換量子化部は、前記演算部により生成された前記予測残差データを可逆方式で適応色変換して前記係数データを生成し、前記係数データを直交変換して前記直交変換係数を生成し、前記直交変換係数を量子化して前記量子化係数を生成するように構成される
(18)に記載の画像処理装置。
(20) 可逆方式で適応色変換された係数データを、前記係数データのビット深度に基づくレベルでクリップし、
前記レベルでクリップされた前記係数データを、前記可逆方式で逆適応色変換する
画像処理方法。