(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024161240
(43)【公開日】2024-11-15
(54)【発明の名称】復号装置、プログラム、及び復号方法
(51)【国際特許分類】
H04N 19/70 20140101AFI20241108BHJP
H04N 19/102 20140101ALI20241108BHJP
H04N 19/136 20140101ALI20241108BHJP
H04N 19/176 20140101ALI20241108BHJP
H04N 19/186 20140101ALI20241108BHJP
【FI】
H04N19/70
H04N19/102
H04N19/136
H04N19/176
H04N19/186
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2024153093
(22)【出願日】2024-09-05
(62)【分割の表示】P 2023210439の分割
【原出願日】2021-12-17
(31)【優先権主張番号】P 2020209556
(32)【優先日】2020-12-17
(33)【優先権主張国・地域又は機関】JP
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り ・日本時間6月23日付け電子メール,“Ask for crosscheck of JVET-S0217(on top of JVET-0234 software)Dear Xiaoyu” ・岩村 俊輔,外2名,“JVET-S0217-v2 On deblocking filter for ACT”,[online],令和2年6月23日,Joint Video Experts Team(JVET),インターネット<URL:http://phenix.int-evry.fr/jvet/doc_end_user/current_document.php?id=10339> ・Xiaoyu Xiu,外5名,“JVET-S0234-v3 Mismatch between text specification and reference software on chroma residual scaling when ACT is enabled”,[online],令和2年6月24日,Joint Video Experts Team(JVET),インターネット<URL:http://phenix.int-evry.fr/jvet/doc_end_user/current_document.php?id=10356> ・B.Bross,外4名,“JVET-S2001 version 7 Versatile Video Coding(Draft 10)”,[online],令和2年7月1日,Joint Video Experts Team(JVET),インターネット<URL:http://phenix.int-evry.fr/jvet/doc_end_user/current_document.php?id=10399>
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001106
【氏名又は名称】弁理士法人キュリーズ
(72)【発明者】
【氏名】岩村 俊輔
(72)【発明者】
【氏名】根本 慎平
(72)【発明者】
【氏名】市ヶ谷 敦郎
(57)【要約】
【課題】色差残差スケーリングを適切に適用することで符号化効率を改善する。
【解決手段】復号方法は、ビットストリームを復号することで、ブロックの色成分ごとの変換係数と、前記ブロックが非ゼロの変換係数を含むか否かを色成分ごとに示す第1フラグと、予測残差の色空間を前記原画像の色空間から他の色空間に変換する色空間変換を用いて前記ブロックが符号化されているか否かを示す第2フラグとを出力するステップと、前記色空間変換を用いて前記ブロックが符号化されていることを前記第2フラグが示す場合、前記変換係数から復元された前記予測残差に対して色空間逆変換を行うステップと、色差成分の前記第1フラグと、前記第2フラグとに基づいて、前記色差成分の前記予測残差を、前記色差成分に対応する輝度成分に基づいてスケーリングする色差残差スケーリングを行うか否かを決定するステップとを有する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
複数の色成分により構成される原画像を分割して得たブロックに対する復号処理を行う復号装置であって、
ビットストリームを復号することで、前記ブロックの色成分ごとの変換係数と、前記ブロックが非ゼロの変換係数を含むか否かを色成分ごとに示す第1フラグと、2以上の色成分の予測残差を用いた処理により新たな色成分ごとの予測残差を生成する予測残差変換処理を前記ブロックに適用したか否かを示す第2フラグとを出力するエントロピー復号部と、
色成分ごとに前記変換係数から前記予測残差を復元する逆量子化・逆変換部と、
前記予測残差変換処理が前記ブロックに適用されていることを前記第2フラグが示す場合、前記予測残差に対して予測残差変換処理を行う予測残差変換処理部と、
色差成分の前記予測残差を、前記色差成分に対応する輝度成分に基づいてスケーリングする色差残差スケーリングを行うスケーリング部と、を備え、
前記スケーリング部は、前記色差成分の前記第1フラグが前記ゼロの変換係数を含むことを示した場合、前記第2フラグに基づいて、前記色差残差スケーリングを行うか否かを決定する
復号装置。
【請求項2】
コンピュータを請求項1に記載の復号装置として機能させるプログラム。
【請求項3】
複数の色成分により構成される原画像を分割して得たブロックに対する復号処理を行う復号方法であって、
ビットストリームを復号することで、前記ブロックの色成分ごとの変換係数と、前記ブロックが非ゼロの変換係数を含むか否かを色成分ごとに示す第1フラグと、2以上の色成分の予測残差を用いた処理により新たな色成分ごとの予測残差を生成する予測残差変換処理を前記ブロックに適用したか否かを示す第2フラグとを出力することと、
前記予測残差変換処理が前記ブロックに適用されていることを前記第2フラグが示す場合、前記変換係数から復元された前記予測残差に対して予測残差変換処理を行うことと、
色差成分の前記第1フラグが前記ゼロの変換係数を含むことを示した場合、前記第2フラグに基づいて、前記色差成分の前記予測残差を、前記色差成分に対応する輝度成分に基づいてスケーリングする色差残差スケーリングを行うか否かを決定することと、を有する復号方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、復号装置、プログラム、及び復号方法に関する。
【背景技術】
【0002】
非特許文献1には、VVC(Versatile Video Coding)におけるRGB4:4:4映像の符号化に用いる色空間変換(ACT:Adaptive Colour Transform)が規定されている。色空間変換は、RGB色空間の予測残差をYCgCo色空間へ変換することで予測残差の色成分間相関を除去し、符号化効率を改善する技術である。
【0003】
符号化装置は、YCgCo色空間へ変換した予測残差に対して色成分(Y,Cg,Co成分)ごとに直交変換を行い、変換係数を量子化及びエントロピー符号化してストリーム出力する。復号装置側では、伝送された変換係数をエントロピー復号し、逆量子化・逆直交変換することにより得られたYCgCo色空間の予測残差に対して色空間逆変換(逆ACT)を行うことによりRGB色空間の予測残差に変換し、予測残差を予測画像と合成することで復号画像を得る。
【0004】
ところで、VVCでは、色差成分の予測残差を対応する輝度成分に応じてスケーリングする色差残差スケーリング(CRS:Chroma Residual Scaling)と呼ばれる技術が採用されている。
【0005】
復号装置は、色差残差スケーリングの計算量削減のため、色差残差スケーリングを適用するか否かを、色差成分の非ゼロの変換係数が伝送されているか否かを示す有意係数フラグ(tu_cb_coded_flag及びtu_cr_coded_flag)に基づいて制御している。具体的には、復号装置は、色差成分の非ゼロの変換係数が伝送されていることを有意係数フラグが示す場合に限り、色差残差スケーリングを行う。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】JVET-R2001 “Versatile Video Coding Draft 9”
【発明の概要】
【発明が解決しようとする課題】
【0007】
色空間変換が適用される場合、復号装置に伝送される変換係数はYCgCo色空間であり、tu_cb_coded_flagはCg成分の非ゼロの変換係数が存在する場合にTRUE(“1”)に設定され、tu_cr_coded_flagはCo成分の非ゼロの変換係数が存在する場合にTRUE(“1”)に設定される。
【0008】
Y,Cg,Coのいずれかの色成分に非ゼロの変換係数が存在する場合、復号装置において、それらのエネルギーが色空間逆変換によりRGB色空間の各色成分に分散するため、RGB色空間のすべての色成分において予測残差が生じる可能性が高い。
【0009】
しかしながら、非特許文献1において、復号装置は、tu_cb_coded_flag及びtu_cr_coded_flagに基づく色差残差スケーリングのオン・オフ制御を行っている。このため、復号装置は、色差成分の有意係数フラグがFALSE(“0”)である場合には、色空間逆変換により予測残差がRGBのすべての色成分で発生する場合であっても、色差残差スケーリングを行わない。このため、色差残差スケーリングが正しく適用されず、符号化効率が低下してしまう問題がある。
【0010】
そこで、本発明は、色差残差スケーリングを適切に適用することで符号化効率を改善する復号装置、プログラム、及び復号方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
第1の態様に係る復号装置は、複数の色成分により構成される原画像を分割して得たブロックに対する復号処理を行う復号装置であって、ビットストリームを復号することで、前記ブロックの色成分ごとの変換係数と、前記ブロックが非ゼロの変換係数を含むか否かを色成分ごとに示す第1フラグと、予測残差の色空間を前記原画像の色空間から他の色空間に変換する色空間変換を用いて前記ブロックが符号化されているか否かを示す第2フラグとを出力するエントロピー復号部と、色成分ごとに前記変換係数から前記予測残差を復元する逆量子化・逆変換部と、前記色空間変換を用いて前記ブロックが符号化されていることを前記第2フラグが示す場合、前記予測残差に対して色空間逆変換を行う色空間逆変換部と、色差成分の前記予測残差を、前記色差成分に対応する輝度成分に基づいてスケーリングする色差残差スケーリングを行うスケーリング部と、を備え、前記スケーリング部は、前記色差成分の前記第1フラグと、前記第2フラグとに基づいて、前記色差残差スケーリングを行うか否かを決定することを要旨とする。
【0012】
第2の態様に係るプログラムは、コンピュータを第1の態様に係る復号装置として機能させることを要旨とする。
【0013】
第3の態様に係る復号方法は、複数の色成分により構成される原画像を分割して得たブロックに対する復号処理を行う復号方法であって、ビットストリームを復号することで、前記ブロックの色成分ごとの変換係数と、前記ブロックが非ゼロの変換係数を含むか否かを色成分ごとに示す第1フラグと、予測残差の色空間を前記原画像の色空間から他の色空間に変換する色空間変換を用いて前記ブロックが符号化されているか否かを示す第2フラグとを出力するステップと、前記色空間変換を用いて前記ブロックが符号化されていることを前記第2フラグが示す場合、前記変換係数から復元された前記予測残差に対して色空間逆変換を行うステップと、色差成分の前記第1フラグと、前記第2フラグとに基づいて、前記色差成分の前記予測残差を、前記色差成分に対応する輝度成分に基づいてスケーリングする色差残差スケーリングを行うか否かを決定するステップと、を有することを要旨とする。
【発明の効果】
【0014】
本発明によれば、色差残差スケーリングを適切に適用することで符号化効率を改善する復号装置、プログラム、及び復号方法を提供できる。
【図面の簡単な説明】
【0015】
【
図1】実施形態に係る符号化装置の構成を示す図である。
【
図2】実施形態に係る輝度マッピング処理における入力画素値と出力画素値との関係の一例を表すグラフである。
【
図3】実施形態に係る復号装置の構成を示す図である。
【
図4】実施形態に係る色差残差スケーリングのオン・オフ制御を示す図である。
【発明を実施するための形態】
【0016】
図面を参照して、実施形態に係る符号化装置及び復号装置について説明する。実施形態に係る符号化装置及び復号装置は、MPEG(Moving Picture Experts Group)に代表される動画像の符号化及び復号をそれぞれ行う。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【0017】
<符号化装置の構成>
まず、本実施形態に係る符号化装置の構成について説明する。
図1は、本実施形態に係る符号化装置1の構成を示す図である。
【0018】
図1に示すように、符号化装置1は、ブロック分割部100と、輝度マッピング部101と、残差生成部102と、スケーリング部103と、色空間変換部104と、変換・量子化部120と、エントロピー符号化部107と、逆量子化・逆変換部130と、色空間逆変換部110と、スケーリング部111と、合成部112と、輝度逆マッピング部113と、ループ内フィルタ114と、メモリ115と、予測部140とを有する。
【0019】
ブロック分割部100は、動画像を構成するフレーム(或いはピクチャ)単位の入力画像である原画像を複数の画像ブロックに分割し、分割により得た画像ブロックを残差生成部102に出力する。画像ブロックのサイズは、例えば32×32画素、16×16画素、8×8画素、又は4×4画素等である。画像ブロックの形状は正方形に限らず長方形(非正方形)であってもよい。画像ブロックは、符号化装置1が符号化処理を行う単位(すなわち、符号化対象ブロック)であり、且つ復号装置が復号処理を行う単位(すなわち、復号対象ブロック)である。このような画像ブロックはCU(Coding Unit)と呼ばれることがある。
【0020】
入力画像は、RGB信号であって、クロマフォーマットが4:4:4であってもよい。RGB色空間は、第1色空間の一例である。「G」成分は第1色成分に相当し、「B」成分は第2色成分に相当し、「R」成分は第3色成分に相当する。ブロック分割部100は、画像を構成するR成分、G成分、及びB成分のそれぞれに対してブロック分割を行うことで、色成分ごとのブロックを出力する。以下の符号化装置の説明において、各色成分を区別しないときは単に符号化対象ブロックと呼ぶ。
【0021】
輝度マッピング部101は、ブロック分割部100が出力する輝度成分の符号化対象ブロック内の各画素値をマッピングテーブルに基づいてマッピング処理をすることで、マッピングされた新たな輝度成分の符号化対象ブロックを生成及び出力する。
【0022】
図2は、本実施形態に係る輝度マッピング処理における入力画素値と出力画素値との関係の一例を表すグラフである。
図2において、横軸は入力信号の値であり、縦軸は出力信号の値である。
【0023】
図2に示すように、マッピングテーブルは、1つ又は複数のスライスに対して設定されるテーブルであって、マッピング処理前の入力信号とマッピング処理後の出力信号との関係を表すための係数テーブルである。具体的には、マッピングテーブルには、マッピング前の入力信号(マッピング対象の画素値)が取りうる最小値から最大値までを予め規定する数(N)に分割した各バンドに対して、割り当てる変換後の出力信号の画素値の数を示す値が格納されている。
【0024】
例えば、10bitの画像信号のマッピング処理においてバンドの数Nを16とした場合を例に挙げてマッピングテーブルについて説明する。マッピング前の入力信号が取りうる最小値0から最大値1023までを、等分割した各バンドに対応する入力信号として割り当てる。例えば1番目のバンドは入力画素値0乃至63に対応する。また、2番目のバンドは入力画素値の64乃至127に対応する。同様にして16番目のバンドまで入力信号が割り当てられている。
【0025】
各バンドはマッピングテーブルの各係数の位置に対応する。マッピングテーブルに格納される係数は各バンドに割り当てられている出力画素値の数を意味する。例えばマッピングテーブルlmcsCW={39,40,55,70,80,90,97,97,104,83,57,55,49,44,34,30}である場合、1番目のバンドに対応する出力画素値は0乃至38であり、2番目のバンドに対応する出力画素値は39乃至78である。3番目から16番目のバンドについても同様に割り当てられる。マッピングテーブル内のあるバンドに対応する値が大きい場合、当該バンドに割り当てられる出力画素値の数が多くなり、逆に小さい場合には、当該バンドに割り当てられる出力画素値の数が少なくなる。
【0026】
マッピングテーブルは、1つ又は複数のスライスの原画像の輝度信号の値の出現頻度に応じて符号化装置1で設定してもよいし、予めシステムで規定した複数のマッピングテーブルの中から符号化装置1で選択してもよいし、予めシステムで規定したマッピングテーブルを用いてもよい。なお、マッピングテーブルは、マッピング後の出力信号が取りうる最小値から最大値までを予め規定する数に分割した各バンドに対して、割り当てる変換前の入力信号の画素値の数を示す値が格納されていてもよいし、マッピングテーブル内の値を量子化して保持してもよく、マッピング前後の入力信号と出力信号との関係を示していれば上記の例には限らない。
【0027】
また、符号化装置1で輝度信号の値の出現頻度に応じてマッピングテーブルを設定した場合や複数のマッピングテーブルの中から選択した場合には、符号化装置1は、なんらかの手段で復号装置2にマッピングテーブルの情報を伝送する。例えば、符号化装置1は、テーブルの値の情報をエントロピー符号化し、ストリーム出力してもよい。また、映像のフォーマット情報(例えば映像信号における光信号と電気信号との関係を表すパラメータなど)を基に符号化装置1と復号装置2とで予め用意されたマッピングテーブルを切り替えて用いてもよい。
【0028】
残差生成部102は、ブロック分割部100が出力する符号化対象ブロックと、符号化対象ブロックを予測部140が予測して得た予測ブロックとの差分(誤差)を表す予測残差を算出する。具体的には、残差生成部102は、色成分ごとに、符号化対象ブロックの各画素値から予測ブロックの各画素値を減算することにより予測残差を算出し、算出した予測残差を出力する。すなわち、残差生成部102は、各色成分の符号化対象ブロックと、各色成分の予測ブロックとの差分により各色成分の予測残差を生成する。
【0029】
スケーリング部103は、残差生成部102が出力する色差成分の予測残差に対して色差残差スケーリングを行う。色差残差スケーリングは、色差成分の予測残差を対応する輝度成分に応じてスケーリングする処理である。なお、輝度マッピング部101が輝度マッピングを行わない場合、色差残差スケーリングは無効になる。
【0030】
色差残差スケーリングは、符号化対象ブロックの上側及び/又は左側の復号済み隣接輝度画素値の平均値に依存する。スケーリング部103は、復号済み隣接輝度画素値の平均値avgYrからインデックスYIdxを求め、スケーリング係数CScaleInvをcScaleInv[YIdx]により求める。ここで、cScaleInv[]はルックアップテーブルである。スケーリング部103は、輝度マッピングが画素値ごとに行われるのに対して、色差成分の符号化対象ブロックの全体に対して色差残差スケーリングを行う。具体的には、スケーリング部103は、色差成分の予測残差をCResとした場合、スケーリング後の色差成分の予測残差CResScaleを、CRes*CScale、すなわち、CRes/CScaleInvにより算出及び出力する。
【0031】
色空間変換部104は、各色成分の予測残差に対して色空間変換を行い、色空間変換後の予測残差を出力する。例えば、色空間変換部104は、符号化対象ブロックの予測残差のR成分、G成分、及びB成分について下記のような変換計算を行うことでYCgCo色空間の予測残差を生成する。
【0032】
Co=R-B
t=B+(Co>>1)
Cg=G-t
Y=t+(Cg>>1)
【0033】
但し、「>>」は右シフト演算を表す。また、「Y」成分は第1色成分に相当し、「Cg」成分は第2色成分に相当し、「Co」成分は第3色成分に相当する。このようなYCgCo色空間は、第2色空間の一例である。
【0034】
なお、色空間変換部104における色空間変換は各色成分に対する加算・減算・乗算・除算・シフト処理などにより新たな色成分により構成される予測残差を生成すればよい。また、色空間変換は、すべての色成分に影響を及ぼす変換である必要はない。例えば、色空間変換部104は、第1色成分を変更せずに維持し、第2色成分と第3色成分との平均値を新たな第2色成分とし、第2色成分と第3色成分との差分を新たな第3色成分とする、という色空間変換を適用してもよい。
【0035】
変換・量子化部120は、色成分ごとに、ブロック単位で変換処理及び量子化処理を行う。変換・量子化部120は、変換部105と、量子化部106とを有する。
【0036】
変換部105は、予測残差(色空間変換の適用の有無にかかわらず予測残差と呼ぶ)に対して変換処理を行って変換係数を算出し、算出した変換係数を出力する。具体的には、変換部105は、各色成分の予測残差に対してブロック単位で変換処理を行うことで各色成分の変換係数を生成する。変換処理は、例えばDCT(Discrete Cosine Transform)やDST(Discrete Sine Transform)、離散ウェーブレット変換などの周波数変換であればよい。また、変換部105は、変換処理に関する情報をエントロピー符号化部107に出力する。
【0037】
変換処理には、変換処理を行わない変換スキップを含む。変換スキップは、水平のみ変換処理を適用する変換や垂直のみ変換処理を適用する変換も含む。また、変換部105は、変換処理により得られた変換係数に対してさらに変換処理を適用する二次変換処理を行ってもよい。二次変換処理は、変換係数の一部の領域のみに適用してもよい。
【0038】
量子化部106は、変換部105が出力する変換係数を量子化パラメータ及びスケーリングリストを用いて量子化し、量子化した変換係数を出力する。また、量子化部106は、量子化処理に関する情報(具体的には、量子化処理で用いた量子化パラメータ及びスケーリングリストの情報)を、エントロピー符号化部107及び逆量子化部108に出力する。
【0039】
エントロピー符号化部107は、量子化部106が出力する量子化変換係数に対してエントロピー符号化を行い、データ圧縮を行ってビットストリーム(符号化データ)を生成し、ビットストリームを復号側に出力する。エントロピー符号化には、ハフマン符号やCABAC(Context-based Adaptive Binary Arithmetic Coding)等を用いることができる。また、エントロピー符号化部107は、変換部105からの変換処理に関する情報をビットストリームに含めて復号側にシグナリングしたり、予測部140からの予測処理に関する情報をビットストリームに含めて復号側にシグナリングしたりする。
【0040】
また、エントロピー符号化部107は、第1色成分(RGB色空間における「G」成分、YCgCo色空間における「Y」成分)、第2色成分(RGB色空間における「B」成分、YCgCo色空間における「Cg」成分)、第3色成分(RGB色空間における「R」成分、YCgCo色空間における「Co」成分)のそれぞれについて、符号化対象ブロックが非ゼロの変換係数を含むか否かを示す有意係数フラグをビットストリームに含めて復号側にシグナリングする。有意係数フラグは、第1フラグの一例である。
【0041】
例えば、エントロピー符号化部107は、YCgCo色空間における「Y」成分の符号化対象ブロックが非ゼロの変換係数を含む場合は有意係数フラグ(tu_y_coded_flag)をTRUE(“1”)に設定し、YCgCo色空間における「Y」成分の符号化対象ブロックが非ゼロの変換係数を含まない場合は有意係数フラグ(tu_y_coded_flag)をFALSE(“0”)に設定する。
【0042】
エントロピー符号化部107は、YCgCo色空間における「Cg」成分の符号化対象ブロックが非ゼロの変換係数を含む場合は有意係数フラグ(tu_cb_coded_flag)をTRUE(“1”)に設定し、YCgCo色空間における「Cg」成分の符号化対象ブロックが非ゼロの変換係数を含まない場合は有意係数フラグ(tu_cb_coded_flag)をFALSE(“0”)に設定する。
【0043】
エントロピー符号化部107は、YCgCo色空間における「Co」成分の符号化対象ブロックが非ゼロの変換係数を含む場合は有意係数フラグ(tu_cr_coded_flag)をTRUE(“1”)に設定し、YCgCo色空間における「Co」成分の符号化対象ブロックが非ゼロの変換係数を含まない場合は有意係数フラグ(tu_cr_coded_flag)をFALSE(“0”)に設定する。
【0044】
さらに、エントロピー符号化部107は、色空間変換の適用有無を示す色空間変換適用フラグ(cu_act_enabled_flag)を符号化対象ブロックごとにビットストリームに含めて復号側にシグナリングする。このような色空間変換フラグを色空間変換適用フラグとも呼ぶ。色空間変換適用フラグは、第2フラグの一例である。
【0045】
色空間変換適用フラグがTRUE(“1”)の場合、対応する符号化対象ブロックに色空間変換が適用されることを示す。色空間変換適用フラグがFALSE(“0”)の場合、対応する符号化対象ブロックに色空間変換が適用されないことを示す。なお、エントロピー符号化部107は、色空間変換適用フラグの代わりに色空間変換非適用フラグを用いてもよい。その場合には、色空間変換非適用フラグがTRUE(“1”)の場合、対応する符号化対象ブロックに色空間変換が適用されないことを示す。色空間変換非適用フラグがFALSE(“0”)の場合、対応する符号化対象ブロックに色空間変換が適用されることを示す。
【0046】
逆量子化・逆変換部130は、色成分ごとに、ブロック単位で逆量子化処理及び逆変換処理を行う。逆量子化・逆変換部130は、逆量子化部108と、逆変換部109とを有する。
【0047】
逆量子化部108は、量子化部106が行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部108は、量子化部106が出力する量子化変換係数を、量子化パラメータ(Qp)及びスケーリングリストを用いて逆量子化することにより変換係数を復元し、復元した変換係数を逆変換部109に出力する。
【0048】
逆変換部109は、変換部105が行う変換処理に対応する逆変換処理を行う。例えば、変換部105が離散コサイン変換を行った場合、逆変換部109は逆離散コサイン変換を行う。逆変換部109は、逆量子化部108が出力する変換係数に対して逆変換処理を行って予測残差を復元し、復元した予測残差である復元予測残差を出力する。
【0049】
色空間逆変換部110は、色空間変換部104が行う色空間変換の逆処理である色空間逆変換を行い、色空間逆変換後の予測残差を出力する。具体的には、色空間逆変換部110は、復元後の予測残差のY成分、Cg成分、Co成分を用いて下記のような逆変換計算を行うことにより、YCgCo色空間からRGB色空間への逆変換を行う。
【0050】
t=Y-(Cg>>1)
G=Cg+t
B=t-(Co>>1)
R=Co+B
【0051】
スケーリング部111は、スケーリング部103が行う色差残差スケーリングに対応する逆処理(逆スケーリング処理)を行う。具体的には、スケーリング部111は、スケーリング部103によるスケーリング後の色差成分の予測残差CResScaleに基づいて、スケーリング部103によるスケーリング前の予測残差CResを、CResScale/CScale、すなわち、CResScale×CScaleInvにより算出及び出力する。
【0052】
本実施形態において、スケーリング部111は、色差成分の有意係数フラグ(tu_cb_coded_flag、tu_cr_coded_flag)及び色空間変換適用フラグ(cu_act_enabled_flag)に基づいて、色差残差スケーリングのオン・オフ制御を行う。このような色差残差スケーリングのオン・オフ制御の詳細については後述する。
【0053】
合成部112は、復元された予測残差を、予測部140が出力する予測ブロックと画素単位で合成する。合成部112は、復元予測残差の各画素値と予測ブロックの各画素値を加算して符号化対象ブロックを復元(再構成)し、復元済みブロックを出力する。なお、復元済みブロックは、再構成ブロックと呼ばれることもある。
【0054】
輝度逆マッピング部113は、復元済みブロックに対して、輝度マッピング部101が行う輝度マッピング処理に対応する逆マッピング処理を行う。
【0055】
ループ内フィルタ114は、復元済みブロックに対してフィルタ処理を行い、フィルタ処理後の復元済みブロックをメモリ115に出力する。ループ内フィルタ114は、デブロッキングフィルタ及びサンプルアダプティブオフセット(SAO)等を含む。
【0056】
メモリ115は、ループ内フィルタ114が出力するフィルタ処理後の復元済みブロックを記憶し、復元済みブロックをフレーム単位で復元済み画像として蓄積する。
【0057】
予測部140は、色成分ごとに、ブロック単位で予測処理を行う。予測部140は、符号化対象ブロックに対するイントラ予測及びインター予測などの予測処理を施すことにより、色成分ごとの予測ブロックを生成する。予測部140は、イントラ予測部116と、インター予測部117と、輝度マッピング部118と、切替部119とを有する。
【0058】
イントラ予測部116は、フレーム内の空間的な相関を利用したイントラ予測を行う。具体的には、イントラ予測部116は、符号化対象ブロックの周辺にある復元済み画素を参照してイントラ予測ブロックを生成し、生成したイントラ予測ブロックを出力する。イントラ予測部116は、複数のイントラ予測モードの中から、符号化対象ブロックに適用するイントラ予測モードを選択し、選択したイントラ予測モードを用いて符号化対象ブロックを予測する。
【0059】
インター予測部117は、フレーム間の相関を利用したインター予測を行う。具体的には、インター予測部117は、メモリ115に記憶された復元済み画像を参照画像として用いて、ブロックマッチングなどの手法により動きベクトルを算出し、符号化対象ブロックを予測してインター予測ブロックを生成し、生成したインター予測ブロックを出力する。ここで、インター予測部117は、複数の参照画像を用いるインター予測(典型的には、双予測)や、1つの参照画像を用いるインター予測(片方向予測)の中から最適なインター予測方法を選択し、選択したインター予測方法を用いてインター予測を行う。インター予測部117は、インター予測に関する情報(動きベクトル等)をエントロピー符号化部107に出力する。
【0060】
輝度マッピング部118は、インター予測部117が出力するインター予測ブロックに対して、輝度マッピング部101と同様な輝度マッピング処理を行う。
【0061】
切替部119は、インター予測ブロックとイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを残差生成部102及び合成部112に出力する。
【0062】
<復号装置の構成>
次に、本実施形態に係る復号装置について、符号化装置1との相違点を主として説明する。
図3は、本実施形態に係る復号装置2の構成を示す図である。
【0063】
図3に示すように、復号装置2は、エントロピー復号部200と、逆量子化・逆変換部220と、色空間逆変換部203と、合成部204と、輝度逆マッピング部205と、ループ内フィルタ206と、メモリ207と、予測部230と、スケーリング部212と、合成部213と、ループ内フィルタ214と、メモリ215と、予測部240とを有する。
【0064】
エントロピー復号部200は、ビットストリーム(入力符号化データ)を復号し、復号対象ブロックに対応する量子化変換係数を取得し、取得した量子化変換係数を逆量子化・逆変換部220に出力する。また、エントロピー復号部200は、変換処理及び量子化処理に関する情報と、予測処理に関する情報とを取得し、変換処理及び量子化処理に関する情報を逆量子化・逆変換部220に出力し、予測処理に関する情報を予測部230及び予測部240に出力する。
【0065】
また、エントロピー復号部200は、第1色成分(RGB色空間における「G」成分、YCgCo色空間における「Y」成分)、第2色成分(RGB色空間における「B」成分、YCgCo色空間における「Cg」成分)、第3色成分(RGB色空間における「R」成分、YCgCo色空間における「Co」成分)のそれぞれについて、復号対象ブロックが非ゼロの変換係数を含むか否かを示す有意係数フラグを取得する。さらに、エントロピー復号部200は、色空間変換の適用有無を示す色空間変換適用フラグ(cu_act_enabled_flag)を復号対象ブロックごとに取得する。
【0066】
逆量子化・逆変換部220は、色成分ごとに、ブロック単位で逆量子化処理及び逆変換処理を行う。逆量子化・逆変換部220は、逆量子化部201と、逆変換部202とを有する。
【0067】
逆量子化部201は、符号化装置1の量子化部106が行う量子化処理に対応する逆量子化処理を行う。逆量子化部201は、エントロピー復号部200が出力する量子化変換係数を、量子化パラメータ(Qp)及びスケーリングリストを用いて逆量子化することにより、復号対象ブロックの変換係数を復元し、復元した変換係数を逆変換部202に出力する。
【0068】
逆変換部202は、符号化装置1の変換部105が行う変換処理に対応する逆変換処理を行う。逆変換部202は、逆量子化部201が出力する変換係数に対して逆変換処理を行って予測残差を復元及び出力する。
【0069】
色空間逆変換部203は、色空間変換を用いて復号対象ブロックが符号化されていることを色空間変換適用フラグ(cu_act_enabled_flag)が示す場合、復元された予測残差に対して、符号化装置1の色空間変換部104が行う色空間変換の逆処理である色空間逆変換処理を行う。具体的には、色空間逆変換部203は、復元された予測残差のY成分、Cg成分、Co成分を用いて下記のような逆変換計算を行う。
【0070】
t=Y-(Cg>>1)
G=Cg+t
B=t-(Co>>1)
R=Co+B
【0071】
合成部204は、第1色成分(RGB色空間における「G」成分、YCgCo色空間における「Y」成分)の予測残差を、予測部230が出力する第1色成分の予測ブロックと画素単位で合成することにより元のブロックを復号(再構成)し、第1色成分の復元済みブロックを出力する。以下において、第1色成分を輝度成分と呼ぶ。
【0072】
輝度逆マッピング部205は、輝度成分の復元済みブロックに対して、符号化装置1の輝度マッピング部101が行う輝度マッピング処理に対応する逆マッピング処理を行う。
【0073】
ループ内フィルタ206は、輝度成分の復元済みブロックに対してフィルタ処理を行い、フィルタ処理後の復元済みブロックをメモリ207に出力する。ループ内フィルタ206は、デブロッキングフィルタ及びサンプルアダプティブオフセット(SAO)等を含む。
【0074】
メモリ207は、ループ内フィルタ206が出力するフィルタ処理後の復元済みブロックを記憶し、復元済みブロックをフレーム単位で復元済み画像として蓄積する。
【0075】
予測部230は、輝度成分について、ブロック単位で予測処理を行う。予測部230は、イントラ予測部208と、インター予測部209と、輝度マッピング部210と、切替部211とを有する。
【0076】
イントラ予測部208は、フレーム内の空間的な相関を利用したイントラ予測を行う。具体的には、イントラ予測部208は、復号対象ブロックの周辺にある復元済み画素を参照してイントラ予測ブロックを生成し、生成したイントラ予測ブロックを出力する。イントラ予測部208は、複数のイントラ予測モードの中から、符号化装置1からシグナリングされたイントラ予測モードを用いて復号対象ブロックを予測する。
【0077】
インター予測部209は、フレーム間の相関を利用したインター予測を行う。具体的には、インター予測部209は、メモリ207に記憶された復元済み画像を参照画像として用いて、ブロックマッチングなどの手法により動きベクトルを算出し、復号対象ブロックを予測してインター予測ブロックを生成し、生成したインター予測ブロックを出力する。ここで、インター予測部209は、複数の参照画像を用いるインター予測や、1つの参照画像を用いるインター予測の中から、符号化装置1からシグナリングされたインター予測方法を用いてインター予測を行う。
【0078】
輝度マッピング部210は、インター予測部209が出力するインター予測ブロックに対して、符号化装置1の輝度マッピング部101と同様な輝度マッピング処理を行う。
【0079】
切替部211は、インター予測ブロックとイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを合成部204に出力する。
【0080】
他方、スケーリング部212は、符号化装置1のスケーリング部111と同様に、色差成分(第2色成分、第3色成分)の予測残差を、当該色差成分に対応する輝度成分(第1色成分)に基づいてスケーリングする色差残差スケーリングを行う。具体的には、スケーリング部212は、色差成分の予測残差CResScaleに基づいて、色差成分の予測残差CResを、CResScale/CScale、すなわち、CResScale×CScaleInvにより算出及び出力する。
【0081】
本実施形態において、スケーリング部212は、エントロピー復号部200が取得した色差成分の有意係数フラグ(tu_cb_coded_flag、tu_cr_coded_flag)及び色空間変換適用フラグ(cu_act_enabled_flag)に基づいて、色差残差スケーリングのオン・オフ制御を行う。このような色差残差スケーリングのオン・オフ制御の詳細については後述する。
【0082】
合成部213は、色差成分の予測残差を、予測部240が出力する色差成分の予測ブロックと画素単位で合成することにより元のブロックを復号(再構成)し、色差成分の復元済みブロックを出力する。
【0083】
ループ内フィルタ214は、色差成分の復元済みブロックに対してフィルタ処理を行い、フィルタ処理後の復元済みブロックをメモリ215に出力する。ループ内フィルタ214は、デブロッキングフィルタ及びサンプルアダプティブオフセット(SAO)等を含む。
【0084】
メモリ215は、ループ内フィルタ214が出力するフィルタ処理後の復元済みブロックを記憶し、復元済みブロックをフレーム単位で復元済み画像として蓄積する。
【0085】
予測部240は、色差成分について、ブロック単位で予測処理を行う。予測部240は、イントラ予測部216と、インター予測部217と、切替部218とを有する。
【0086】
イントラ予測部216は、フレーム内の空間的な相関を利用したイントラ予測を行う。具体的には、イントラ予測部216は、復号対象ブロックの周辺にある復元済み画素を参照してイントラ予測ブロックを生成し、生成したイントラ予測ブロックを出力する。イントラ予測部216は、複数のイントラ予測モードの中から、符号化装置1からシグナリングされたイントラ予測モードを用いて復号対象ブロックを予測する。
【0087】
インター予測部217は、フレーム間の相関を利用したインター予測を行う。具体的には、インター予測部217は、メモリ215に記憶された復元済み画像を参照画像として用いて、ブロックマッチングなどの手法により動きベクトルを算出し、復号対象ブロックを予測してインター予測ブロックを生成し、生成したインター予測ブロックを出力する。ここで、インター予測部217は、複数の参照画像を用いるインター予測や、1つの参照画像を用いるインター予測の中から、符号化装置1からシグナリングされたインター予測方法を用いてインター予測を行う。
【0088】
切替部218は、インター予測ブロックとイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを合成部213に出力する。
【0089】
<色差残差スケーリングのオン・オフ制御>
次に、本実施形態に係る色差残差スケーリングのオン・オフ制御について説明する。
【0090】
上述のように、色空間変換が適用される場合、復号装置2に伝送される変換係数はYCgCo色空間であり、tu_cb_coded_flagはCg成分の非ゼロの変換係数が存在する場合にTRUE(“1”)に設定され、tu_cr_coded_flagはCo成分の非ゼロの変換係数が存在する場合にTRUE(“1”)に設定される。
【0091】
Y,Cg,Coのいずれかの色成分に非ゼロの変換係数が存在する場合、復号装置2において、それらのエネルギーが、色空間逆変換部203の色空間逆変換処理によりRGB色空間の各色成分に分散するため、RGB色空間のすべての色成分において予測残差が生じる可能性が高い。
【0092】
本実施形態においては、復号装置2のスケーリング部212は、tu_cb_coded_flag及びtu_cr_coded_flagだけではなく、色空間変換適用フラグ(cu_act_enabled_flag)も考慮して、色差残差スケーリングのオン・オフ制御を行う。具体的には、スケーリング部212は、色差成分の有意係数フラグ(tu_cb_coded_flag、tu_cr_coded_flag)にかかわらず、色空間変換適用フラグ(cu_act_enabled_flag)がTRUE(“1”)である場合には、色差残差スケーリングを行う。これにより、色差残差スケーリングが正しく適用され、符号化効率を改善できる。
【0093】
すなわち、本実施形態に係る復号装置2は、複数の色成分により構成される原画像を分割して得た復号対象ブロックに対する復号処理を行う装置であって、エントロピー復号部200と、逆量子化・逆変換部220と、色空間逆変換部203と、スケーリング部212とを有する。
【0094】
第1に、エントロピー復号部200は、ビットストリームを復号することで、復号対象ブロックの色成分ごとの変換係数と、復号対象ブロックが非ゼロの変換係数を含むか否かを色成分ごとに示す有意係数フラグ(tu_cb_coded_flag、tu_cr_coded_flag)と、予測残差の色空間を原画像の色空間から他の色空間に変換する色空間変換を用いて復号対象ブロックが符号化されているか否かを示す色空間変換適用フラグ(cu_act_enabled_flag)とを出力する。以下において、第2色成分及び第3色成分を特に区別せずに、tu_cb_coded_flag及びtu_cr_coded_flagのそれぞれを単に「tuCbfChromaフラグ」と呼ぶ。
【0095】
第2に、逆量子化・逆変換部220は、色成分ごとに変換係数から予測残差を復元する。
【0096】
第3に、色空間逆変換部203は、色空間変換を用いて復号対象ブロックが符号化されていることを色空間変換適用フラグ(cu_act_enabled_flag)が示す場合、復元された予測残差に対して色空間逆変換を行う。
【0097】
第4に、スケーリング部212は、色差成分の予測残差を、当該色差成分に対応する輝度成分に基づいてスケーリングする色差残差スケーリングを行う。ここで、スケーリング部212は、tuCbfChromaフラグと、色空間変換適用フラグ(cu_act_enabled_flag)とに基づいて、色差残差スケーリングを行うか否かを決定する。
【0098】
図4は、本実施形態に係る色差残差スケーリングのオン・オフ制御を示す図である。
【0099】
図4に示すように、スケーリング部212は、色空間変換を用いて復号対象ブロックが符号化されていることを色空間変換適用フラグ(cu_act_enabled_flag)が示す場合、すなわち、cu_act_enabled_flag=TRUE(“1”)である場合(ステップS1:YES)、色差残差スケーリングを行うと決定する(ステップS2)。この場合、スケーリング部212及び合成部213は、色差残差スケーリングを伴う色差ブロック再構成処理を行う(ステップS3)。
【0100】
また、スケーリング部212は、色差成分の復号対象ブロックが非ゼロの変換係数を含むことをtuCbfChromaフラグが示す場合、すなわち、tuCbfChromaフラグ=TRUE(“1”)である場合(ステップS1:YES)、色差残差スケーリングを行うと決定する(ステップS2)。この場合、スケーリング部212及び合成部213は、色差残差スケーリングを伴う色差ブロック再構成処理を行う(ステップS3)。
【0101】
これに対し、スケーリング部212は、色差成分の復号対象ブロックが非ゼロの変換係数を含まないことをtuCbfChromaフラグが示し、且つ、色空間変換を用いて復号対象ブロックが符号化されていないことを色空間変換適用フラグ(cu_act_enabled_flag)が示す場合、すなわち、tuCbfChromaフラグ=FALSE(“0”)且つcu_act_enabled_flag=FALSE(“0”)である場合(ステップS1:NO)、色差残差スケーリングを行わないと決定する(ステップS4)。この場合、スケーリング部212及び合成部213は、色差残差スケーリングを伴わない色差ブロック再構成処理を行う(ステップS5)。
【0102】
このように、本実施形態に係るスケーリング部212は、色差成分の有意係数フラグ(tu_cb_coded_flag、tu_cr_coded_flag)にかかわらず、色空間変換適用フラグ(cu_act_enabled_flag)がTRUE(“1”)である場合には、色差残差スケーリングを行う。これにより、色差残差スケーリングが正しく適用され、符号化効率を改善できる。
【0103】
<その他の実施形態>
符号化装置1が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。また、復号装置2が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。
【0104】
符号化装置1が行う各処理を実行する回路を集積化し、符号化装置1を半導体集積回路(チップセット、SoC)により構成してもよい。復号装置2が行う各処理を実行する回路を集積化し、復号装置2を半導体集積回路(チップセット、SoC)により構成してもよい。
【0105】
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【0106】
1 :符号化装置
2 :復号装置
100 :ブロック分割部
101 :輝度マッピング部
102 :残差生成部
103 :スケーリング部
104 :色空間変換部
105 :変換部
106 :量子化部
107 :エントロピー符号化部
108 :逆量子化部
109 :逆変換部
110 :色空間逆変換部
111 :スケーリング部
112 :合成部
113 :輝度逆マッピング部
114 :ループ内フィルタ
115 :メモリ
116 :イントラ予測部
117 :インター予測部
118 :輝度マッピング部
119 :切替部
120 :変換・量子化部
130 :逆量子化・逆変換部
140 :予測部
200 :エントロピー復号部
201 :逆量子化部
202 :逆変換部
203 :色空間逆変換部
204 :合成部
205 :輝度逆マッピング部
206 :ループ内フィルタ
207 :メモリ
208 :イントラ予測部
209 :インター予測部
210 :輝度マッピング部
211 :切替部
212 :スケーリング部
213 :合成部
214 :ループ内フィルタ
215 :メモリ
216 :イントラ予測部
217 :インター予測部
218 :切替部
220 :逆量子化・逆変換部
230 :予測部
240 :予測部