(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024113189
(43)【公開日】2024-08-21
(54)【発明の名称】画像処理装置および方法
(51)【国際特許分類】
H04N 19/12 20140101AFI20240814BHJP
H04N 19/147 20140101ALI20240814BHJP
H04N 19/176 20140101ALI20240814BHJP
H04N 19/186 20140101ALI20240814BHJP
H04N 19/46 20140101ALI20240814BHJP
【FI】
H04N19/12
H04N19/147
H04N19/176
H04N19/186
H04N19/46
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2024095120
(22)【出願日】2024-06-12
(62)【分割の表示】P 2021564060の分割
【原出願日】2020-12-11
(31)【優先権主張番号】62/947,304
(32)【優先日】2019-12-12
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100168686
【弁理士】
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】筑波 健史
(57)【要約】 (修正有)
【課題】符号化の負荷の増大を抑制する画像処理装置及び画像処理方法を提供する。
【解決手段】画像処理装置の一態様である画像符号化装置300は、非ジョイント色差符号化モードにおける最小符号化コストとなる変換タイプを、ジョイント色差符号化モードにおける変換タイプに設定して、ジョイント色差符号化モードにおける符号化コストを導出することにより、画像の符号化の符号化モードを設定する符号化モード設定部として作用する制御部301を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
非ジョイント色差符号化モードにおける最小符号化コストとなる変換タイプを、ジョイント色差符号化モードにおける変換タイプに設定して、前記ジョイント色差符号化モードにおける符号化コストを導出することにより、画像の符号化の符号化モードを設定する符号化モード設定部
を備える画像処理装置。
【請求項2】
前記符号化モード設定部は、前記符号化モードの設定として、前記ジョイント色差符号化モードに関する設定と前記変換タイプの設定とを実行する
請求項1に記載の画像処理装置。
【請求項3】
前記符号化モード設定部は、前記ジョイント色差符号化モードにおいて前記変換タイプとして、変換スキップを適用するかを設定する
請求項2に記載の画像処理装置。
【請求項4】
前記符号化モード設定部は、前記変換スキップを適用しない場合、前記変換タイプとしてDCT2を適用する
請求項3に記載の画像処理装置。
【請求項5】
前記符号化モード設定部は、前記非ジョイント色差符号化モードにおける最小符号化コストとなる変換スキップフラグの値を、前記ジョイント色差符号化モードにおける前記変換スキップフラグに設定する
請求項3に記載の画像処理装置。
【請求項6】
前記符号化モード設定部は、前記非ジョイント色差符号化モードにおける色差符号化ブロックフラグに基づいて前記ジョイント色差符号化モードを設定する
請求項2に記載の画像処理装置。
【請求項7】
前記符号化モード設定部は、設定した前記ジョイント色差符号化モードに基づいて符号化コンポーネント識別子を設定する
請求項6に記載の画像処理装置。
【請求項8】
前記符号化モード設定部は、前記非ジョイント色差符号化モードにおいて、各変換タイプの符号化コストを導出し、導出した前記符号化コストの中で最小となる前記変換タイプを設定し、設定した前記変換タイプを前記ジョイント色差符号化モードにおける前記変換タイプに設定する
請求項1に記載の画像処理装置。
【請求項9】
前記符号化モード設定部は、前記非ジョイント色差符号化モードの最小符号化コストと前記ジョイント色差符号化モードの符号化コストとを比較し、前記符号化コストが最小となるモードを選択する
請求項1に記載の画像処理装置。
【請求項10】
前記符号化モード設定部により設定された前記符号化モードに従って、前記画像の係数データを直交変換する直交変換部をさらに備える
請求項1に記載の画像処理装置。
【請求項11】
前記符号化モード設定部により設定された前記符号化モードに従って、前記直交変換部により直交変換された前記係数データを符号化する符号化部をさらに備える
請求項10に記載の画像処理装置。
【請求項12】
前記符号化モード設定部は、前記符号化モードとして、変換スキップを適用するかを示す変換スキップフラグを設定し、
前記符号化部は、前記符号化モード設定部により設定された前記変換スキップフラグを符号化する
請求項11に記載の画像処理装置。
【請求項13】
前記直交変換部により直交変換された前記係数データを量子化する量子化部をさらに備え、
前記符号化部は、前記量子化部により量子化された前記係数データを符号化する
請求項11に記載の画像処理装置。
【請求項14】
前記画像と予測画像の残差を生成する演算部をさらに備え、
前記直交変換部は、前記残差の係数データを直交変換する
請求項10に記載の画像処理装置。
【請求項15】
非ジョイント色差符号化モードにおける最小符号化コストとなる変換タイプを、ジョイント色差符号化モードにおける変換タイプに設定して、前記ジョイント色差符号化モードにおける符号化コストを導出することにより、画像の符号化の符号化モードを設定する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理装置および方法に関し、特に、符号化の負荷の増大を抑制することができるようにした画像処理装置および方法に関する。
【背景技術】
【0002】
従来、動画像の予測残差を導出し、係数変換し、量子化して符号化する符号化方法が提案された(例えば、非特許文献1および非特許文献2参照)。非特許文献1に記載のVVC(Versatile Video Coding) Working Draftでは、ジョイント色差符号化モード(Joint CbCr mode) によらず、色差の変換スキップを適用することができた。これに対して、非特許文献2に記載のVVC VTM ソフトウエアの実装では、ジョイント色差符号化モードにおいて、色差変換スキップの適用が制限された。
【0003】
非特許文献2に記載のようにジョイント色差符号化モードにおいて色差変換スキップの適用を制限する場合、ジョイント色差符号化モードにおける変換スキップフラグのシグナリングは不要である。つまり、ジョイント色差符号化モードにおける変換スキップフラグのシグナリングにより、符号量が不要に増大し、符号化効率が低減するおそれがあった。つまり、符号化効率が低減するおそれがあった。これに対して、非特許文献1に記載の方法の場合、ジョイント色差符号化モードにおいて色差変換スキップの適用が制限されないので、その変換スキップフラグの冗長による符号化効率の低減が抑制された。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Benjamin Bross, Jianle Chen, Shan Liu, Ye-Kui Wang, "Versatile Video Coding (Draft 7)", JVET-P2001-vE, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 16th Meeting: Feneva, CH, 1-11 Oct 2019
【非特許文献2】Jianle Chen, Yan Ye, Seung Hwan Kim, "Algorithm description for Versatile Video Coding and Test Model 7 (VTM 7)", JVET-P2002-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 16th Meeting: Geneva, CH, 1-11 Oct. 2019
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1に記載の方法の場合、ジョイント色差符号化モードについて、変換スキップを適用する場合としない場合の両方を評価する必要がある。そのため、符号化の複雑度が増大し、符号化の負荷が増大するおそれがあった。
【0006】
本開示は、このような状況に鑑みてなされたものであり、符号化の負荷の増大を抑制することができるようにするものである。
【課題を解決するための手段】
【0007】
本技術の一側面の画像処理装置は、非ジョイント色差符号化モードにおける最小符号化コストとなる変換タイプを、ジョイント色差符号化モードにおける変換タイプに設定して、前記ジョイント色差符号化モードにおける符号化コストを導出することにより、画像の符号化の符号化モードを設定する符号化モード設定部を備える画像処理装置である。
【0008】
本技術の一側面の画像処理方法は、非ジョイント色差符号化モードにおける最小符号化コストとなる変換タイプを、ジョイント色差符号化モードにおける変換タイプに設定して、前記ジョイント色差符号化モードにおける符号化コストを導出することにより、画像の符号化の符号化モードを設定する画像処理方法である。
【0009】
本技術の一側面の画像処理装置および方法においては、非ジョイント色差符号化モードにおける最小符号化コストとなる変換タイプが、ジョイント色差符号化モードにおける変換タイプに設定され、そのジョイント色差符号化モードにおける符号化コストが導出されることにより、画像の符号化の符号化モードが設定される。
【図面の簡単な説明】
【0010】
【
図1】変換スキップフラグの設定について説明する図である。
【
図2】符号化コスト導出のための変換スキップフラグの設定の例を示す図である。
【
図3】画像符号化装置の主な構成例を示すブロック図である。
【
図4】画像符号化処理の流れの例を示すフローチャートである。
【
図5】符号化モード設定処理の流れの例を示すフローチャートである。
【
図6】符号化モード設定処理の流れの例を示す、
図5に続くフローチャートである。
【
図7】画像復号装置の主な構成例を示すブロック図である。
【
図8】画像復号処理の流れの例を示すフローチャートである。
【
図9】コンピュータの主な構成例を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、以下の順序で説明する。
1.符号化モードの設定
2.第1の実施の形態(画像符号化装置)
3.第2の実施の形態(画像復号装置)
4.付記
【0012】
<1.符号化モードの設定>
<技術内容および技術用語をサポートする文献等>
本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知である以下の非特許文献等に記載されている内容や以下の非特許文献において参照されている他の文献の内容等も含まれる。
【0013】
非特許文献1:(上述)
非特許文献2:(上述)
非特許文献3:Recommendation ITU-T H.264 (04/2017) "Advanced video coding for generic audiovisual services", April 2017
非特許文献4:Recommendation ITU-T H.265 (02/18) "High efficiency video coding", February 2018
【0014】
つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となり得る。例えば、上述の非特許文献に記載されているQuad-Tree Block Structure、QTBT(Quad Tree Plus Binary Tree) Block Structureが実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。
【0015】
また、本明細書において、画像(ピクチャ)の部分領域や処理単位として説明に用いる「ブロック」(処理部を示すブロックではない)は、特に言及しない限り、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。例えば、「ブロック」には、上述の非特許文献に記載されている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)、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域(処理単位)が含まれるものとする。
【0016】
また、このようなブロックのサイズを指定するに当たって、直接的にブロックサイズを指定するだけでなく、間接的にブロックサイズを指定するようにしてもよい。例えばサイズを識別する識別情報を用いてブロックサイズを指定するようにしてもよい。また、例えば、基準となるブロック(例えばLCUやSCU等)のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合もある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定(例えば、許容されるブロックサイズの範囲の指定等)も含む。
【0017】
また、本明細書において、符号化とは、画像をビットストリームに変換する全体の処理だけではなく、一部の処理も含む。例えば、予測処理、直交変換、量子化、算術符号化等を包括した処理を含むだけではなく、量子化と算術符号化とを総称した処理、予測処理と量子化と算術符号化とを包括した処理、などを含む。同様に、復号とは、ビットストリームを画像に変換する全体の処理だけではなく、一部の処理も含む。例えば、逆算術復号、逆量子化、逆直交変換、予測処理等を包括した処理を含むだけではなく、逆算術復号と逆量子化とを包括した処理、逆算術復号と逆量子化と予測処理とを包括した処理、などを含む。
【0018】
<ジョイント色差符号化モードと変換スキップ>
非特許文献1や非特許文献2に記載のVVC(Versatile Video Coding)では、直交変換をスキップ(省略)するモードである変換スキップを適用するか否かを示すフラグ情報である変換スキップフラグ(transform_skip_flag)が規定されている。
図1のAは、色差コンポーネントCbに関する変換スキップフラグのシンタックスの例を示す。
図1のBは、色差コンポーネントCrに関する変換スキップフラグのシンタックスの例を示す。
【0019】
また、非特許文献1や非特許文献2に記載のVVCでは、CbとCrの両方の残差サンプルを単一の変換ブロックとして符号化するモードであるジョイント色差符号化モード(Joint CbCr mode)が用意されている。換言するに、ジョイント色差符号化モードは、CbとCrの両方の残差を導出可能な直交変換係数を符号化するモードである。このジョイント色差符号化モードでは、例えば、Cbの係数が符号化される。そして、復号の際、復号されたCbの係数を用いてCrの係数が導出される。このようにすることにより、符号化効率の向上が期待され得る。
【0020】
<符号化モードの設定における負荷の増大>
ところで、非特許文献2に記載のVVC VTM ソフトウエアの実装では、ジョイント色差符号化モードにおいて、色差に適用される変換タイプが制限された。
図1のCにその例を示す。tu_joint_cbcr_residual_flagは、ジョイント色差符号化モードが適用されるか否かを示すフラグ情報である。tu_joint_cbcr_residual_flag = 1の場合、ジョイント色差符号化モードが適用されることを示す。tu_joint_cbcr_residual_flag = 0の場合、ジョイント色差符号化モードが適用されないことを示す(非ジョイント色差符号化モードとも称する)。
【0021】
図1のCに示されるように、非ジョイント色差符号化モードの場合、適用可能な変換タイプは、DCT2(Discrete Cosine Transform 2)と変換スキップ(TS)である。これに対して、ジョイント色差符号化モードの場合、適用可能な変換タイプはDCT2のみである。このように変換スキップの適用を制限すると、ジョイント色差符号化モードにおける変換スキップフラグのシグナリングは不要である。つまり、ジョイント色差符号化モードにおける変換スキップフラグのシグナリングにより、符号量が不要に増大し、符号化効率が低減するおそれがあった。
【0022】
これに対して、非特許文献1に記載のVVC(Versatile Video Coding) Working Draftでは、ジョイント色差符号化モード(Joint CbCr mode) によらず、色差の変換スキップを適用することができた。
図1のDにその例を示す。
図1のDに示されるように、この場合、ジョイント色差符号化モードによらずDCT2と変換スキップが適用可能である。そのため、非特許文献2に記載の方法に比べて、その変換スキップフラグの冗長による符号化効率の低減を抑制することができた。
【0023】
しかしながら、非特許文献1や非特許文献2に記載のVVCでは、複数の符号化モードが用意されており、その中から符号化コストが最小となる符号化モードが選択され、適用される。つまり、非特許文献1に記載の方法の場合、符号化の際に、ジョイント色差符号化モードと非ジョイント色差符号化モードのそれぞれについて、変換スキップを適用する場合としない場合の両方の符号化コストを評価する必要があった。したがって、符号化の複雑度が増大し、符号化の負荷が増大するおそれがあった。
【0024】
<変換タイプ設定の流用>
そこで、符号化モードを設定する際に、非ジョイント色差符号化モードのときに最小符号化コストとなる変換タイプを、ジョイント色差符号化モードにおける変換タイプに設定して、ジョイント色差符号化モードにおける符号化コストを求めるようにする。ここで、変換タイプは、上述のようにDCT2および変換スキップのいずれかであるようにしてもよい。その場合、非ジョイント色差符号化モードのときに最小符号化コストとなる色差変換スキップフラグの値を、ジョイント色差符号化モードにおける色差変換スキップフラグに設定すればよい。そのシンタックスの例を、
図2に示す。
図2において、「bestTsFlag [ codedCIdx ] in non-JointCbCr mode」が、非ジョイント色差符号化モードのときに最小符号化コストとなる色差変換スキップフラグを示す。また、「transform_skip_flag[codedCIdx] in JointCbCr mode」がジョイント色差符号化モードにおける色差変換スキップフラグを示す。
【0025】
例えば、画像処理方法において、非ジョイント色差符号化モードにおける最小符号化コストとなる変換タイプを、ジョイント色差符号化モードにおける変換タイプに設定して、ジョイント色差符号化モードにおける符号化コストを導出することにより、画像の符号化の符号化モードを設定する。
【0026】
例えば、画像処理装置において、色差符号化モードにおける変換タイプに設定して、ジョイント色差符号化モードにおける符号化コストを導出することにより、画像の符号化の符号化モードを設定する符号化モード設定部を備えるようにする。
【0027】
このようにすることにより、ジョイント色差モードにおいて、DCT2と変換スキップの両方のモードを探索することなく、ジョイント色差符号化モードの変換タイプを設定することができる。したがって、ジョイント色差符号化モードと非ジョイント色差符号化モードのそれぞれについて、変換スキップを適用する場合としない場合の両方の符号化コストを導出する場合に比べて、符号化の複雑度の増大を抑制し、符号化の負荷の増大を抑制することができる。したがって、例えば、高速に変換タイプを設定することができる。また、エンコーダのコストの増大を抑制することができる。
【0028】
付言するに、非特許文献2に記載のようにジョイント色差符号化モードにおいて変換スキップの適用を制限する場合に比べて、符号化効率の低減を抑制することができる。
【0029】
<2.第1の実施の形態>
<画像符号化装置>
図3は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。
図3に示される画像符号化装置300は、動画像の画像データを符号化する装置である。例えば、画像符号化装置300は、上述の非特許文献のいずれかに記載の符号化方式で動画像の画像データを符号化することができる。
【0030】
なお、
図3においては、処理部(ブロック)やデータの流れ等の主なものを示しており、
図3に示されるものが全てとは限らない。つまり、画像符号化装置300において、
図3においてブロックとして示されていない処理部が存在したり、
図3において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0031】
図3に示されるように画像符号化装置300は、制御部301、並べ替えバッファ311、演算部312、直交変換部313、量子化部314、符号化部315、蓄積バッファ316、逆量子化部317、逆直交変換部318、演算部319、インループフィルタ部320、フレームメモリ321、予測部322、およびレート制御部323を有する。
【0032】
<制御部>
制御部301は、外部、または予め指定された処理単位のブロックサイズに基づいて、並べ替えバッファ311により保持されている動画像データを処理単位のブロック(CU, PU, 変換ブロックなど)へ分割する。また、制御部301は、各ブロックへ供給する符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfo等)を、例えば、RDO(Rate-Distortion Optimization)に基づいて、決定する。
【0033】
これらの符号化パラメータの詳細については後述する。制御部301は、以上のような符号化パラメータを決定すると、それを各ブロックへ供給する。例えば、ヘッダ情報Hinfoは、各ブロックに供給される。予測モード情報Pinfoは、符号化部315と予測部322とに供給される。変換情報Tinfoは、符号化部315、直交変換部313、量子化部314、逆量子化部317、および逆直交変換部318に供給される。フィルタ情報Finfoは、インループフィルタ部320に供給される。
【0034】
<並べ替えバッファ>
画像符号化装置300には、動画像データの各フィールド(入力画像)がその再生順(表示順)に入力される。並べ替えバッファ311は、各入力画像をその再生順(表示順)に取得し、保持(記憶)する。並べ替えバッファ311は、制御部301の制御に基づいて、その入力画像を符号化順(復号順)に並べ替えたり、処理単位のブロックに分割したりする。並べ替えバッファ311は、処理後の各入力画像を演算部312に供給する。また、並べ替えバッファ311は、その各入力画像(元画像)を、予測部322やインループフィルタ部320にも供給する。
【0035】
<演算部>
演算部312は、処理単位のブロックに対応する画像I、および予測部322より供給される予測画像Pを入力とし、画像Iから予測画像Pを以下の式に示されるように減算して、予測残差Dを導出し、それを直交変換部313に供給する。
【0036】
D = I - P
【0037】
<直交変換部>
直交変換部313は、係数変換に関する処理を実行する。例えば、直交変換部313は、演算部312から供給される予測残差Dを取得する。また、直交変換部313は、制御部301から供給される変換情報Tinfoを取得する。
【0038】
直交変換部313は、その変換情報Tinfoに基づいて、予測残差Dに対して直交変換を行い、変換係数Coeffを導出する。例えば、直交変換部313は、予測残差Dをプライマリ変換してプライマリ変換係数を生成する。そして、直交変換部313は、そのプライマリ変換係数をセカンダリ変換してセカンダリ変換係数を生成する。直交変換部313は、その得られたセカンダリ変換係数を変換係数Coeffとして量子化部314に供給する。
【0039】
なお、直交変換は、係数変換の一例であり、この例に限定されない。つまり、直交変換部313は、予測残差Dに対して任意の係数変換を実行することができる。付言するに、直交変換部313は、プライマリ変換およびセカンダリ変換として、それぞれ、任意の係数変換を実行することができる。
【0040】
<量子化部>
量子化部314は、量子化に関する処理を実行する。例えば、量子化部314は、直交変換部313から供給される変換係数Coeffを取得する。また、量子化部314は、制御部301から供給される変換情報Tinfoを取得する。さらに、量子化部314は、その変換情報Tinfoに基づいて、変換係数Coeffをスケーリング(量子化)する。なお、この量子化の方法は任意である。また、この量子化のレートは、レート制御部323により制御される。量子化部314は、このような量子化により得られた量子化後の変換係数、すなわち量子化変換係数レベルlevelを、符号化部315および逆量子化部317に供給する。
【0041】
<符号化部>
符号化部315は、符号化に関する処理を実行する。例えば、符号化部315は、量子化部314から供給された量子化変換係数レベルlevelを取得する。また、符号化部315は、制御部301から供給される各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)を取得する。さらに、符号化部315は、インループフィルタ部320から供給されるフィルタ係数等のフィルタに関する情報を取得する。また、符号化部315は、予測部322から供給される最適な予測モードに関する情報を取得する。
【0042】
符号化部315は、量子化変換係数レベルlevelを可変長符号化(例えば、算術符号化)し、ビット列(符号化データ)を生成する。また、符号化部315は、その量子化変換係数レベルlevelから残差情報Rinfoを導出する。そして、符号化部315は、その導出した残差情報Rinfoを符号化し、ビット列を生成する。
【0043】
符号化部315は、インループフィルタ部320から供給されるフィルタに関する情報をフィルタ情報Finfoに含める。また、符号化部315は、予測部322から供給される最適な予測モードに関する情報を予測モード情報Pinfoに含める。そして、符号化部315は、上述した各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)を符号化し、ビット列を生成する。
【0044】
符号化部315は、以上のように生成された各種情報のビット列を多重化し、符号化データを生成する。符号化部315は、その符号化データを蓄積バッファ316に供給する。
【0045】
<蓄積バッファ>
蓄積バッファ316は、符号化部315において得られた符号化データを、一時的に保持する。蓄積バッファ316は、所定のタイミングにおいて、保持している符号化データを、例えばビットストリーム等として画像符号化装置300の外部に出力する。例えば、この符号化データは、任意の記録媒体、任意の伝送媒体、任意の情報処理装置等を介して復号側に伝送される。すなわち、蓄積バッファ316は、符号化データ(ビットストリーム)を伝送する伝送部でもある。
【0046】
<逆量子化部>
逆量子化部317は、逆量子化に関する処理を実行する。例えば、逆量子化部317は、量子化部314から供給される量子化変換係数レベルlevelを取得する。また、逆量子化部317は、制御部301から供給される変換情報Tinfoを取得する。
【0047】
逆量子化部317は、その変換情報Tinfoに基づいて、量子化変換係数レベルlevelの値をスケーリング(逆量子化)する。なお、この逆量子化は、量子化部314において実行される量子化の逆処理である。逆量子化部317は、このような逆量子化により得られた変換係数Coeff_IQを、逆直交変換部318に供給する。
【0048】
<逆直交変換部>
逆直交変換部318は、逆係数変換に関する処理を実行する。例えば、逆直交変換部318は、逆量子化部317から供給される変換係数Coeff_IQを取得する。また、逆直交変換部318は、制御部301から供給される変換情報Tinfoを取得する。
【0049】
逆直交変換部318は、その変換情報Tinfoに基づいて、変換係数Coeff_IQに対して逆直交変換を実行し、予測残差D'を導出する。なお、この逆直交変換は、直交変換部313において実行される直交変換の逆処理である。例えば、逆直交変換部318は、変換係数Coeff_IQ(セカンダリ変換係数)を逆セカンダリ変換してプライマリ変換係数を生成する。また、逆直交変換部318は、そのプライマリ変換係数を逆プライマリ変換して予測残差D'を生成する。なお、逆セカンダリ変換は、直交変換部313において実行されるセカンダリ変換の逆処理である。また、逆プライマリ変換は、直交変換部313において実行されるプライマリ変換の逆処理である。
【0050】
逆直交変換部318は、このような逆直交変換により得られた予測残差D'を演算部319に供給する。なお、逆直交変換部318は、復号側の逆直交変換部(後述する)と同様であるので、逆直交変換部318については、復号側について行う説明(後述する)を適用することができる。
【0051】
<演算部>
演算部319は、逆直交変換部318から供給される予測残差D'と、予測部322から供給される予測画像Pとを入力とする。演算部319は、その予測残差D'と、その予測残差D'に対応する予測画像Pとを加算し、局所復号画像Rlocalを導出する。演算部319は、導出した局所復号画像Rlocalをインループフィルタ部320およびフレームメモリ321に供給する。
【0052】
<インループフィルタ部>
インループフィルタ部320は、インループフィルタ処理に関する処理を実行する。例えば、インループフィルタ部320は、演算部319から供給される局所復号画像Rlocalと、制御部301から供給されるフィルタ情報Finfoと、並べ替えバッファ311から供給される入力画像(元画像)とを入力とする。なお、インループフィルタ部320に入力される情報は任意であり、これらの情報以外の情報が入力されてもよい。例えば、必要に応じて、予測モード、動き情報、符号量目標値、量子化パラメータQP、ピクチャタイプ、ブロック(CU、CTU等)の情報等がインループフィルタ部320に入力されるようにしてもよい。
【0053】
インループフィルタ部320は、そのフィルタ情報Finfoに基づいて、局所復号画像Rlocalに対して適宜フィルタ処理を実行する。インループフィルタ部320は、必要に応じて入力画像(元画像)や、その他の入力情報もそのフィルタ処理に用いる。
【0054】
例えば、インループフィルタ部320は、フィルタ処理として、バイラテラルフィルタを適用し得る。また、インループフィルタ部320は、フィルタ処理として、デブロッキングフィルタ(DBF(DeBlocking Filter))を適用し得る。さらに、インループフィルタ部320は、フィルタ処理として、適応オフセットフィルタ(SAO(Sample Adaptive Offset))を適用し得る。また、インループフィルタ部320は、フィルタ処理として、適応ループフィルタ(ALF(Adaptive Loop Filter))を適用し得る。さらに、インループフィルタ部320は、フィルタ処理として、これらの内の複数のフィルタを組み合わせて適用し得る。なお、どのフィルタを適用するか、どの順で適用するかは任意であり、適宜選択可能である。例えば、インループフィルタ部320は、フィルタ処理として、バイラテラルフィルタ、デブロッキングフィルタ、適応オフセットフィルタ、適応ループフィルタの4つのインループフィルタをこの順に適用する。
【0055】
もちろん、インループフィルタ部320が実行するフィルタ処理は任意であり、上述の例に限定されない。例えば、インループフィルタ部320がウィーナーフィルタ等を適用するようにしてもよい。
【0056】
インループフィルタ部320は、フィルタ処理された局所復号画像Rlocalをフレームメモリ321に供給する。なお、例えばフィルタ係数等のフィルタに関する情報を復号側に伝送する場合、インループフィルタ部320は、そのフィルタに関する情報を符号化部315に供給する。
【0057】
<フレームメモリ>
フレームメモリ321は、画像に関するデータの記憶に関する処理を実行する。例えば、フレームメモリ321は、演算部319から供給される局所復号画像Rlocalや、インループフィルタ部320から供給されるフィルタ処理された局所復号画像Rlocalを入力とし、それを保持(記憶)する。また、フレームメモリ321は、その局所復号画像Rlocalを用いてピクチャ単位毎の復号画像Rを再構築し、保持する(フレームメモリ321内のバッファへ格納する)。フレームメモリ321は、予測部322の要求に応じて、その復号画像R(またはその一部)を予測部322に供給する。
【0058】
<予測部>
予測部322は、予測画像の生成に関する処理を実行する。例えば、予測部322は、制御部301から供給される予測モード情報Pinfoを取得する。また、予測部322は、並べ替えバッファ311から供給される入力画像(元画像)を取得する。さらに、予測部322は、フレームメモリ321から読み出す復号画像R(またはその一部)を取得する。
【0059】
予測部322は、予測モード情報Pinfoや入力画像(元画像)を用いてインター予測やイントラ予測等の予測処理を実行する。つまり、予測部322は、復号画像Rを参照画像として参照して予測と動き補償を実行し、予測画像Pを生成する。
【0060】
予測部322は、生成した予測画像Pを演算部312および演算部319に供給する。また、予測部322は、以上の処理により選択した予測モード、すなわち最適な予測モードに関する情報を、必要に応じて符号化部315に供給する。
【0061】
<レート制御部>
レート制御部323は、レート制御に関する処理を実行する。例えば、レート制御部323は、蓄積バッファ316に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部314の量子化動作のレートを制御する。
【0062】
<符号化モードの制御>
以上のような構成の画像符号化装置300に対して、<1.符号化モードの設定>において説明した本技術を適用する。つまり、<変換タイプ設定の流用>において上述したように、符号化モードの設定の際に、ジョイント色差符号化モードによらず、色差の変換スキップを適用することができるものとする。そして、非ジョイント色差符号化モードのときに最小符号化コストとなる変換タイプが、ジョイント色差符号化モードにおける変換タイプに設定されて、ジョイント色差符号化モードにおける符号化コストが導出されるようにする。
【0063】
例えば、制御部301は、画像の符号化の符号化モードを設定する符号化モード設定部として作用する。そして、制御部301は、その符号化モードの設定において、ジョイント色差符号化モードによらず、色差の変換スキップを適用することができる。さらに、制御部301は、非ジョイント色差符号化モードにおける最小符号化コストとなる変換タイプを、ジョイント色差符号化モードにおける変換タイプに設定して、ジョイント色差符号化モードにおける符号化コストを導出することにより、画像の符号化の符号化モードを設定する。
【0064】
このようにすることにより、制御部301は、ジョイント色差モードにおいて、DCT2と変換スキップの両方のモードを探索することなく、ジョイント色差符号化モードの変換タイプを設定することができる。したがって、画像符号化装置300は、非特許文献1に記載のようにジョイント色差符号化モードにおいて色差変換スキップの適用を制限しない場合に比べて、符号化の複雑度の増大を抑制し、符号化の負荷の増大を抑制することができる。したがって、例えば、画像符号化装置300は、高速に変換タイプを設定することができる。また、画像符号化装置300のコストの増大を抑制することができる。
【0065】
付言するに、画像符号化装置300は、非特許文献2に記載のようにジョイント色差符号化モードにおいて変換スキップの適用を制限する場合に比べて、符号化効率の低減を抑制することができる。
【0066】
なお、
図1のDに示される例では、符号化モードの設定として、ジョイント色差符号化モードに関する設定と変換タイプの設定が実行される。この例と同様に、制御部301は、符号化モードの設定として、ジョイント色差符号化モードに関する設定と変換タイプの設定とを実行してもよい。
【0067】
例えば、制御部301は、ジョイント色差符号化モードを適用するか否か(つまり、ジョイント色差符号化モードを適用するか、非ジョイント色差符号化モードを適用するか)を設定してもよい。また、制御部301は、ジョイント色差符号化モードを適用する場合、さらに、複数の候補の内のいずれのモードを適用するか(ジョイント色差符号化の内容)を設定しても良い。例えば、ジョイント色差符号化モードには、CrにCbと同じ係数を適用するモード、CrにCbの係数の符号反転したものを適用するモード、CrにCbの係数に1/2を乗算したものを適用するモード等、複数のモードを候補として設けることができる。さらに、制御部301は、変換タイプを何にするかを設定しても良い。
【0068】
また、
図1のDに示される例では、ジョイント色差符号化モードにおいても変換スキップを適用し得る。この例と同様に、制御部301が、ジョイント色差符号化モードにおける変換タイプとして、変換スキップを適用するか否かを設定してもよい。つまり、ジョイント色差符号化モードを適用する場合、制御部301が、変換スキップを適用するか否かを示すフラグ情報である変換スキップフラグの値を設定しても良い。
【0069】
その場合、制御部301は、
図2に示されるように、非ジョイント色差符号化モードにおける最小符号化コストとなる変換スキップフラグの値(bestTsFlag)を、ジョイント色差符号化モードにおける変換スキップフラグ(transform_skip_flag)に設定してもよい。
【0070】
また、
図1のDに示される例の場合、ジョイント色差符号化モードが適用され、変換スキップが適用されない場合(非変換スキップの場合)、変換タイプとしてDCT2が適用される。この例と同様に、制御部301が、ジョイント色差符号化モードにおいて変換スキップを適用しない場合、変換タイプとしてDCT2を適用してもよい。
【0071】
以上のように制御部301が設定した符号化モードに関する情報は、例えばTinfo等として、直交変換部313や符号化部315に供給される。例えば、制御部301は、ジョイント色差符号化モードを適用するか否かを示すフラグ情報であるtu_joint_residual_flag、ジョイント色差符号化モードの内容を示すパラメータであるTuCResMode、変換スキップフラグ(transform_skip_flag(tsFlagとも称する))等の情報を、Tinfoとして、直交変換部313や符号化部315に供給する。
【0072】
直交変換部313は、その情報に基づいて(つまり設定された符号化モードに従って)、演算部312により導出された予測残差Dを直交変換する。量子化部314は、直交変換部313により導出された変換係数Coeffを量子化する。また、符号化部315は、その情報に基づいて(つまり設定された符号化モードに従って)、量子化部314により導出された量子化変換係数レベルlevelを符号化し、符号化データを生成する。さらに、符号化部315は、その情報(例えば変換スキップフラグ等)を符号化し、量子化変換係数レベルlevelの符号化データに含める。
【0073】
<構成例>
なお、これらの処理部(
図3に示される制御部301等の各処理部)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよい。例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0074】
<画像符号化処理の流れ>
次に、以上のような構成の画像符号化装置300により実行される画像符号化処理の流れの例を、
図4のフローチャートを参照して説明する。
【0075】
画像符号化処理が開始されると、ステップS301において、並べ替えバッファ311は、制御部301に制御されて、入力された動画像データのフレームの順を表示順から符号化順に並べ替える。
【0076】
ステップS302において、制御部301は、並べ替えバッファ311が保持する入力画像に対して、処理単位を設定する(ブロック分割する)。
【0077】
ステップS303において、制御部301は、並べ替えバッファ311が保持する入力画像についての符号化パラメータを決定(設定)する。
【0078】
ステップS304において、予測部322は、予測処理を実行し、最適な予測モードの予測画像等を生成する。例えば、この予測処理において、予測部322は、イントラ予測を実行して最適なイントラ予測モードの予測画像等を生成する。また、予測部322は、インター予測を実行して最適なインター予測モードの予測画像等を生成する。さらに、予測部322は、それらの中から、コスト関数値等に基づいて最適な予測モードを選択する。
【0079】
ステップS305において、演算部312は、入力画像と、ステップS304の予測処理により選択された最適なモードの予測画像との差分を演算する。つまり、演算部312は、入力画像と予測画像との予測残差Dを生成する。このようにして求められた予測残差Dは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
【0080】
ステップS306において、直交変換部313は、ステップS305の処理により生成された予測残差Dに対する直交変換処理を実行し、変換係数Coeffを導出する。例えば、直交変換部313は、予測残差Dに対してプライマリ変換を実行してプライマリ変換係数を生成する。また、直交変換部313は、そのプライマリ変換係数に対してセカンダリ変換を実行してセカンダリ変換係数(変換係数Coeff)を生成する。
【0081】
ステップS307において、量子化部314は、制御部301により算出された量子化パラメータを用いる等して、ステップS306の処理により得られた変換係数Coeffを量子化し、量子化変換係数レベルlevelを導出する。
【0082】
ステップS308において、逆量子化部317は、ステップS307の処理により生成された量子化変換係数レベルlevelを、そのステップS307の量子化の特性に対応する特性で逆量子化し、変換係数Coeff_IQを導出する。
【0083】
ステップS309において、逆直交変換部318は、ステップS308の処理により得られた変換係数Coeff_IQを、ステップS306の直交変換処理に対応する方法で逆直交変換し、予測残差D'を導出する。例えば、逆直交変換部318は、変換係数Coeff_IQ(セカンダリ変換係数)に対して逆セカンダリ変換を実行してプライマリ変換係数を生成する。また、逆直交変換部318は、そのプライマリ変換係数に対して逆プライマリ変換を実行して予測残差D'を生成する。
【0084】
なお、この逆直交変換処理は、復号側において実行される逆直交変換処理と同様である。したがって、このステップS309の逆直交変換処理については、後述する復号側についての説明を適用することができる。
【0085】
ステップS310において、演算部319は、ステップS309の処理により導出された予測残差D'に、ステップS304の予測処理により得られた予測画像を加算することにより、局所的に復号された復号画像を生成する。
【0086】
ステップS311において、インループフィルタ部320は、ステップS310の処理により導出された、局所的に復号された復号画像に対して、インループフィルタ処理を実行する。
【0087】
ステップS312において、フレームメモリ321は、ステップS310の処理により導出された、局所的に復号された復号画像や、ステップS311においてフィルタ処理された、局所的に復号された復号画像を記憶する。
【0088】
ステップS313において、符号化部315は、ステップS307の処理により得られた量子化変換係数レベルlevelを符号化する。例えば、符号化部315は、画像に関する情報である量子化変換係数レベルlevelを、算術符号化等により符号化し、符号化データを生成する。また、このとき、符号化部315は、各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo)を符号化する。さらに、符号化部315は、量子化変換係数レベルlevelから残差情報RInfoを導出し、その残差情報RInfoを符号化する。
【0089】
ステップS314において、蓄積バッファ316は、このようにして得られた符号化データを蓄積し、例えばビットストリームとして、それを画像符号化装置300の外部に出力する。このビットストリームは、例えば、伝送路や記録媒体を介して復号側に伝送される。また、レート制御部323は、必要に応じてレート制御を実行する。
【0090】
ステップS314の処理が終了すると、画像符号化処理が終了する。
【0091】
<符号化モードの制御>
以上のような流れの画像符号化処理に対して<1.符号化モードの設定>において説明した本技術を適用する。つまり、<変換タイプ設定の流用>において上述したように、符号化モードの設定の際に、ジョイント色差符号化モードによらず、色差の変換スキップを適用することができるものとする。そして、非ジョイント色差符号化モードのときに最小符号化コストとなる変換タイプが、ジョイント色差符号化モードにおける変換タイプに設定されて、ジョイント色差符号化モードにおける符号化コストが導出されるようにする。
【0092】
例えば、ステップS303において、制御部301は、符号化モード設定処理を実行し、画像の符号化の符号化モードを設定する。その符号化モードの設定において、ジョイント色差符号化モードによらず、色差の変換スキップを適用することができる。さらに、制御部301は、非ジョイント色差符号化モードにおける最小符号化コストとなる変換タイプを、ジョイント色差符号化モードにおける変換タイプに設定して、ジョイント色差符号化モードにおける符号化コストを導出することにより、符号化モードを設定する。
【0093】
直交変換部313は、ステップS306において、その設定された符号化モードに従って、予測残差Dを直交変換する。また、符号化部315は、ステップS313において、その設定された符号化モードに従って、量子化変換係数レベルlevelを符号化し、符号化データを生成する。さらに、符号化部315は、その符号化モードに関する情報(例えば変換スキップフラグ等)を符号化し、量子化変換係数レベルlevelの符号化データに含める。
【0094】
このようにすることにより、制御部301は、ジョイント色差モードにおいて、DCT2と変換スキップの両方のモードを探索することなく、ジョイント色差符号化モードの変換タイプを設定することができる。したがって、画像符号化装置300は、非特許文献1に記載のようにジョイント色差符号化モードにおいて色差変換スキップの適用を制限しない場合に比べて、符号化の複雑度の増大を抑制し、符号化の負荷の増大を抑制することができる。したがって、例えば、画像符号化装置300は、高速に変換タイプを設定することができる。また、画像符号化装置300のコストの増大を抑制することができる。
【0095】
付言するに、画像符号化装置300は、非特許文献2に記載のようにジョイント色差符号化モードにおいて変換スキップの適用を制限する場合に比べて、符号化効率の低減を抑制することができる。
【0096】
<符号化モード設定処理の流れ>
図4のステップS303において実行される符号化モード設定処理の流れの例を、
図5および
図6のフローチャートを参照して説明する。
【0097】
符号化モード設定処理が開始されると、制御部301は、ステップS351において、非ジョイント色差符号化モードに設定する。例えば、制御部301は、tu_joint_cbcr_residual_flagを偽(例えば「0」)に設定し、TuCResMode[xTbY][yTbY]を「0」に設定する。
【0098】
ステップS352において、制御部301は、その非ジョイント色差符号化モードについて、各変換タイプの符号化コストを導出する。例えば、制御部301は、非ジョイント色差符号化モードにおいて、変換タイプがDCT2の場合と、変換タイプが変換スキップ(TS)の場合とのそれぞれの符号化コストを導出する。制御部301は、この処理を各色差コンポーネントCb,Crについて実行する。
【0099】
ステップS353において、制御部301は、ステップS352の処理において導出した符号化コストの中で最小となる変換タイプを設定する。例えば、制御部301は、ステップS352の処理において導出した符号化コストが最小となる変換タイプに対応する変換スキップフラグの値をbestFlag[cIdx]へ設定する。制御部301は、この処理を各色差コンポーネントCb,Crについて実行する。
【0100】
ステップS354において、制御部301は、非ジョイント色差符号化モードにおける色差cbf(coded block flag)に基づいてジョイント色差符号化モードを設定する。色差cbfは、そのブロックの変換係数を符号化するか否かを示すフラグ情報である。換言するに、色差cbfは、そのブロックに0でない変換係数が含まれるか否かを示すフラグ情報である。
【0101】
例えば、制御部301は、tu_joint_cbcr_residual_flagを真(例えば「1」)に設定する。そして、制御部301は、色差コンポーネントCbの処理対象TUのcbfであるtu_cbf_cbと、色差コンポーネントCrの処理対象TUのcbfであるtu_cbf_crとに基づいて、TuCResMode[xTbY][yTbY]を設定する。
【0102】
例えば、tu_cbf_cb == 1であり、かつ、tu_cbf_cr == 0である場合、制御部301は、TuCResMode[xTbY][yTbY]を「1」に設定する。また、tu_cbf_cb == 1であり、かつ、tu_cbf_cr == 1である場合、制御部301は、TuCResMode[xTbY][yTbY]を「2」に設定する。さらに、tu_cbf_cb == 0であり、かつ、tu_cbf_cr == 1である場合、制御部301は、TuCResMode[xTbY][yTbY]を「3」に設定する。
【0103】
ステップS354の処理が終了すると、処理は
図6に進む。
図6のステップS361において、制御部301は、ステップS354において設定されたジョイント色差符号化モードに基づいて符号化コンポーネント識別子codedCIdxを設定する。例えば、制御部301は、TuCResMode[xTbY][yTbY]が「1」または「2」の場合codedCIdxを「1」(すなわちCb)に設定し、それ以外の場合codedCIdxを「2」(すなわちCr)に設定する。
【0104】
ステップS362において、制御部301は、ステップS353において設定したbestTsFlag[cIdx]を、ジョイント色差符号化モードにおける変換スキップフラグtsFlag[codedCIdx]に設定する(tsFlag[codedCIdx] = bestTsFlag[cIdx])。
【0105】
ステップS363において、制御部301は、ジョイント色差符号化モードの符号化コストを導出する。上述したように、ステップS362において、ジョイント色差符号化モードにおける変換スキップフラグには、非ジョイント色差符号化モードにおける符号化コストが最小となる変換タイプに対応する変換スキップフラグの値が設定される。したがって、制御部301は、ジョイント色差符号化モードについては、その変換スキップフラグの値に対応するモードの符号化コストを導出すればよい。つまり、この場合、制御部301は、変換スキップを適用する場合としない場合との両方について符号化コストを導出する必要がない。したがって、制御部301は、ジョイント色差モードについての符号化コストをより容易に導出することができる。
【0106】
ステップS364において、制御部301は、非ジョイント色差符号化モードの最小符号化コストとジョイント色差符号化モードの符号化コストとを比較し、その符号化コストが最小となるモードを選択する。
【0107】
ステップS364の処理が終了すると、符号化モード設定処理が終了し、処理は、
図4に戻る。
【0108】
このようにすることにより、画像符号化装置300は、非特許文献1に記載のようにジョイント色差符号化モードにおいて色差変換スキップの適用を制限しない場合に比べて、符号化の複雑度の増大を抑制し、符号化の負荷の増大を抑制することができる。したがって、例えば、画像符号化装置300は、高速に変換タイプを設定することができる。また、画像符号化装置300のコストの増大を抑制することができる。
【0109】
付言するに、画像符号化装置300は、非特許文献2に記載のようにジョイント色差符号化モードにおいて変換スキップの適用を制限する場合に比べて、符号化効率の低減を抑制することができる。
【0110】
<3.第2の実施の形態>
<画像復号装置>
図7は、本技術を適用した画像処理装置の一態様である画像復号装置の構成の一例を示すブロック図である。
図7に示される画像復号装置400は、動画像の符号化データを符号化する装置である。例えば、画像復号装置400は、上述の非特許文献のいずれかに記載の復号方式で符号化データを復号することができる。例えば、画像復号装置400は、上述の画像符号化装置300により生成された符号化データ(ビットストリーム)を復号する。
【0111】
なお、
図7においては、処理部(ブロック)やデータの流れ等の主なものを示しており、
図7に示されるものが全てとは限らない。つまり、画像復号装置400において、
図7においてブロックとして示されていない処理部が存在したり、
図7において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【0112】
図7において、画像復号装置400は、蓄積バッファ411、復号部412、逆量子化部413、逆直交変換部414、演算部415、インループフィルタ部416、並べ替えバッファ417、フレームメモリ418、および予測部419を備えている。なお、予測部419は、不図示のイントラ予測部、およびインター予測部を備えている。画像復号装置400は、符号化データ(ビットストリーム)を復号することによって、動画像データを生成するための装置である。
【0113】
<蓄積バッファ>
蓄積バッファ411は、画像復号装置400に入力されたビットストリームを取得し、保持(記憶)する。蓄積バッファ411は、所定のタイミングにおいて、または、所定の条件が整う等した場合、蓄積しているビットストリームを復号部412に供給する。
【0114】
<復号部>
復号部412は、画像に関する復号についての処理を実行する。例えば、復号部412は、蓄積バッファ411から供給されるビットストリームを取得する。また、復号部412は、シンタックステーブルの定義に沿って、そのビット列から、各シンタックス要素のシンタックス値を可変長復号し、パラメータを導出する。
【0115】
シンタックス要素およびシンタックス要素のシンタックス値から導出されるパラメータには、例えば、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、残差情報Rinfo、フィルタ情報Finfoなどの情報が含まれる。つまり、復号部412は、ビットストリームから、これらの情報をパースする(解析して取得する)。これらの情報について以下に説明する。
【0116】
<ヘッダ情報Hinfo>
ヘッダ情報Hinfoは、例えば、VPS(Video Parameter Set)、SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)、SH(スライスヘッダ)などのヘッダ情報を含む。ヘッダ情報Hinfoには、例えば、画像サイズ(横幅PicWidth、縦幅PicHeight)、ビット深度(輝度bitDepthY, 色差bitDepthC)、色差アレイタイプChromaArrayType、CUサイズの最大値MaxCUSizeや最小値MinCUSize、4分木分割(Quad-tree分割ともいう)の最大深度MaxQTDepthや最小深度MinQTDepth、2分木分割(Binary-tree分割)の最大深度MaxBTDepthや最小深度MinBTDepth、変換スキップブロックの最大値MaxTSSize(最大変換スキップブロックサイズともいう)、各符号化ツールのオンオフフラグ(有効フラグともいう)などを規定する情報が含まれる。
【0117】
例えば、ヘッダ情報Hinfoに含まれる符号化ツールのオンオフフラグとしては、以下に示す変換処理および量子化処理に関わるオンオフフラグがある。なお、符号化ツールのオンオフフラグは、該符号化ツールに関わるシンタックスが符号化データ中に存在するか否かを示すフラグとも解釈することができる。また、オンオフフラグの値が1(真)の場合、該符号化ツールが使用可能であることを示す。オンオフフラグの値が0(偽)の場合、該符号化ツールが使用不可であることを示す。なお、フラグ値の解釈は逆であってもよい。
【0118】
例えば、ヘッダ情報Hinfoには、コンポーネント間予測有効フラグ(ccp_enabled_flag)が含まれ得る。コンポーネント間予測有効フラグは、コンポーネント間予測(CCP(Cross-Component Prediction),CC予測とも称する)が使用可能であるか否かを示すフラグ情報である。例えば、このフラグ情報が「1」(真)の場合、使用可能であることが示され、「0」(偽)の場合、使用不可であることが示される。
【0119】
なお、このCCPは、コンポーネント間線形予測(CCLMまたはCCLMP)とも称する。
【0120】
<予測モード情報Pinfo>
予測モード情報Pinfoには、例えば、処理対象PB(予測ブロック)のサイズ情報PBSize(予測ブロックサイズ)、イントラ予測モード情報IPinfo、動き予測情報MVinfo等の情報が含まれる。
【0121】
イントラ予測モード情報IPinfoには、例えば、JCTVC-W1005, 7.3.8.5 Coding Unit syntax中のprev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode、およびそのシンタックスから導出される輝度イントラ予測モードIntraPredModeY等が含まれ得る。
【0122】
また、イントラ予測モード情報IPinfoには、例えば、コンポーネント間予測フラグ(ccp_flag(cclmp_flag))が含まれ得る。コンポーネント間予測フラグ(ccp_flag(cclmp_flag))は、コンポーネント間線形予測を適用するか否かを示すフラグ情報である。例えば、ccp_flag==1のとき、コンポーネント間予測を適用することを示し、ccp_flag==0のとき、コンポーネント間予測を適用しないことを示す。
【0123】
また、イントラ予測モード情報IPinfoには、多クラス線形予測モードフラグ(mclm_flag)が含まれ得る。多クラス線形予測モードフラグ(mclm_flag)は、線形予測のモードに関する情報(線形予測モード情報)である。より具体的には、多クラス線形予測モードフラグ(mclm_flag)は、多クラス線形予測モードにするか否かを示すフラグ情報である。例えば、「0」の場合、1クラスモード(単一クラスモード)(例えばCCLMP)であることを示し、「1」の場合、2クラスモード(多クラスモード)(例えばMCLMP)であることを示す。
【0124】
さらに、イントラ予測モード情報IPinfoには、色差サンプル位置タイプ識別子(chroma_sample_loc_type_idx)が含まれ得る。色差サンプル位置タイプ識別子(chroma_sample_loc_type_idx)は、色差コンポーネントの画素位置のタイプ(色差サンプル位置タイプとも称する)を識別する識別子である。例えば色フォーマットに関する情報である色差アレイタイプ(ChromaArrayType)が420形式を示す場合、色差サンプル位置タイプ識別子は、以下の式のような割り当て方となる。
【0125】
chroma_sample_loc_type_idx == 0:Type2
chroma_sample_loc_type_idx == 1:Type3
chroma_sample_loc_type_idx == 2:Type0
chroma_sample_loc_type_idx == 3:Type1
【0126】
なお、この色差サンプル位置タイプ識別子(chroma_sample_loc_type_idx)は、色差コンポーネントの画素位置に関する情報(chroma_sample_loc_info())として(つまり、色差コンポーネントの画素位置に関する情報に格納されて)伝送される。
【0127】
また、イントラ予測モード情報IPinfoには、色差MPM識別子(chroma_mpm_idx)が含まれ得る。色差MPM識別子(chroma_mpm_idx)は、色差イントラ予測モード候補リスト(intraPredModeCandListC)の中のどの予測モード候補を色差イントラ予測モードとして指定するかを表す識別子である。
【0128】
さらに、イントラ予測モード情報IPinfoには、これらのシンタックスから導出される輝度イントラ予測モード(IntraPredModeC)が含まれ得る。
【0129】
動き予測情報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を参照)。
【0130】
もちろん、予測モード情報Pinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
【0131】
<変換情報Tinfo>
変換情報Tinfoには、例えば、処理対象変換ブロックの横幅サイズTBWSizeおよび縦幅TBHSizeが含まれ得る。なお、この処理対象変換ブロックの横幅サイズTBWSizeの代わりに、2を底とする対数値log2TBWSizeを適用してもよい。また、この処理対象変換ブロックの縦幅TBHSize代わりに、2を底とする対数値log2TBHSizeを適用してもよい。
【0132】
また、変換情報Tinfoには、変換スキップフラグ(transform_skip_flag(またはts_flag))が含まれ得る。この変換スキップフラグは、係数変換(または逆係数変換)をスキップするか否かを示すフラグである。なお、この変換スキップフラグは、Y,Cb,Crのコンポーネント毎にシグナリングされてもよい(transform_skip_flag[0]、transform_skip_flag[1]、transform_skip_flag[2])。
【0133】
さらに、変換情報Tinfoには、スキャン識別子(scanIdx)、量子化パラメータ(qp)、量子化マトリックス(scaling_matrix(例えば、JCTVC-W1005, 7.3.4 Scaling list data syntax))等のパラメータが含まれ得る。
【0134】
もちろん、変換情報Tinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
【0135】
<残差情報Rinfo>
残差情報Rinfo(例えば、JCTVC-W1005の7.3.8.11 Residual Coding syntaxを参照)には、例えば、残差データ有無フラグ(cbf(coded_block_flag))が含まれ得る。また、残差情報Rinfoには、ラスト非ゼロ係数X座標(last_sig_coeff_x_pos)やラスト非ゼロ係数Y座標(last_sig_coeff_y_pos)が含まれ得る。さらに、残差情報Rinfoには、サブブロック非ゼロ係数有無フラグ(coded_sub_block_flag)や非ゼロ係数有無フラグ(sig_coeff_flag)が含まれ得る。
【0136】
また、残差情報Rinfoには、非ゼロ係数のレベルが1より大きいかを示すフラグであるGR1フラグ(gr1_flag)や、非ゼロ係数のレベルが2より大きいかを示すフラグであるGR2フラグ(gr2_flag)が含まれ得る。さらに、残差情報Rinfoには、非ゼロ係数の正負を示す符号であるサイン符号(sign_flag)が含まれ得る。また、残差情報Rinfoには、非ゼロ係数の残余レベルである非ゼロ係数残余レベル(coeff_abs_level_remaining)が含まれ得る。
【0137】
もちろん、残差情報Rinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
【0138】
<フィルタ情報Finfo>
フィルタ情報Finfoには、フィルタ処理に関する制御情報が含まれる。例えば、フィルタ情報Finfoには、デブロッキングフィルタ(DBF)に関する制御情報が含まれ得る。また、フィルタ情報Finfoには、画素適応オフセット(SAO)に関する制御情報が含まれ得る。さらに、フィルタ情報Finfoには、適応ループフィルタ(ALF)に関する制御情報が含まれ得る。また、フィルタ情報Finfoには、その他の線形フィルタや非線形フィルタに関する制御情報が含まれ得る。
【0139】
例えば、フィルタ情報Finfoには、各フィルタを適用するピクチャや、ピクチャ内の領域を指定する情報が含まれ得る。また、フィルタ情報Finfoには、CU単位のフィルタOn制御情報またはOff制御情報が含まれ得る。さらに、フィルタ情報Finfoには、スライスやタイルの境界に関するフィルタOn制御情報やOff制御情報が含まれ得る。
【0140】
もちろん、フィルタ情報Finfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
【0141】
復号部412の説明に戻る。復号部412は、残差情報Rinfoを参照して、各変換ブロック内の各係数位置の量子化変換係数レベルlevelを導出する。復号部412は、その量子化変換係数レベルlevelを、逆量子化部413に供給する。
【0142】
また、復号部412は、パースしたヘッダ情報Hinfo、予測モード情報Pinfo、量子化変換係数レベルlevel、変換情報Tinfo、フィルタ情報Finfoを各ブロックへ供給する。具体的には以下の通りである。
【0143】
ヘッダ情報Hinfoは、逆量子化部413、逆直交変換部414、予測部419、インループフィルタ部416に供給される。予測モード情報Pinfoは、逆量子化部413および予測部419に供給される。変換情報Tinfoは、逆量子化部413および逆直交変換部414に供給される。フィルタ情報Finfoは、インループフィルタ部416に供給される。
【0144】
もちろん、上述の例は一例であり、この例に限定されない。例えば、各符号化パラメータが任意の処理部に供給されるようにしてもよい。また、その他の情報が、任意の処理部に供給されるようにしてもよい。
【0145】
<逆量子化部>
逆量子化部413は、逆量子化に関する処理を実行する。例えば、逆量子化部413は、復号部412から供給される変換情報Tinfoおよび量子化変換係数レベルlevelを取得する。また、逆量子化部413は、その変換情報Tinfoに基づいて、量子化変換係数レベルlevelの値をスケーリング(逆量子化)し、逆量子化後の変換係数Coeff_IQを導出する。
【0146】
なお、この逆量子化は、画像符号化装置300の量子化部314による量子化の逆処理として実行される。また、この逆量子化は、画像符号化装置300の逆量子化部317による逆量子化と同様の処理である。換言するに、逆量子化部317は、逆量子化部413と同様の処理(逆量子化)を実行する。
【0147】
逆量子化部413は、導出した変換係数Coeff_IQを逆直交変換部414に供給する。
【0148】
<逆直交変換部>
逆直交変換部414は、逆直交変換に関する処理を実行する。例えば、逆直交変換部414は、逆量子化部413から供給される変換係数Coeff_IQを取得する。また、逆直交変換部414は、復号部412から供給される変換情報Tinfoを取得する。
【0149】
逆直交変換部414は、その変換情報Tinfoに基づいて、変換係数Coeff_IQに対して逆直交変換処理を実行し、予測残差D'を導出する。例えば、逆直交変換部414は、変換係数Coeff_IQを逆セカンダリ変換してプライマリ変換係数を生成する。また、逆直交変換部414は、そのプライマリ変換係数を逆プライマリ変換して予測残差D'を生成する。
【0150】
なお、この逆直交変換は、画像符号化装置300の直交変換部313による直交変換の逆処理として実行される。また、この逆直交変換は、画像符号化装置300の逆直交変換部318による逆直交変換と同様の処理である。換言するに、逆直交変換部318は、逆直交変換部414と同様の処理(逆直交変換)を実行する。
【0151】
逆直交変換部414は、導出した予測残差D'を演算部415に供給する。
【0152】
<演算部>
演算部415は、画像に関する情報の加算に関する処理を実行する。例えば、演算部415は、逆直交変換部414から供給される予測残差D'を取得する。また、演算部415は、予測部419から供給される予測画像Pを取得する。演算部415は、以下の式に示されるように、予測残差D'とその予測残差D'に対応する予測画像P(予測信号)とを加算し、局所復号画像Rlocalを導出する。
【0153】
Rlocal = D' + P
【0154】
演算部415は、導出した局所復号画像Rlocalを、インループフィルタ部416およびフレームメモリ418に供給する。
【0155】
<インループフィルタ部>
インループフィルタ部416は、インループフィルタ処理に関する処理を実行する。例えば、インループフィルタ部416は、演算部415から供給される局所復号画像Rlocalを取得する。また、インループフィルタ部416は、復号部412から供給されるフィルタ情報Finfoを取得する。なお、インループフィルタ部416に入力される情報は任意であり、これらの情報以外の情報が入力されてもよい。
【0156】
インループフィルタ部416は、そのフィルタ情報Finfoに基づいて、局所復号画像Rlocalに対して適宜フィルタ処理を実行する。例えば、インループフィルタ部416は、フィルタ処理として、バイラテラルフィルタを適用し得る。また、インループフィルタ部416は、フィルタ処理として、デブロッキングフィルタを適用し得る。さらに、インループフィルタ部416は、フィルタ処理として、適応オフセットフィルタを適用し得る。また、インループフィルタ部416は、フィルタ処理として、適応ループフィルタを適用し得る。さらに、インループフィルタ部416は、フィルタ処理として、これらの内の複数のフィルタを組み合わせて適用し得る。なお、どのフィルタを適用するか、どの順で適用するかは任意であり、適宜選択可能である。例えば、インループフィルタ部416は、フィルタ処理として、バイラテラルフィルタ、デブロッキングフィルタ、適応オフセットフィルタ、適応ループフィルタの4つのインループフィルタをこの順に適用する。
【0157】
インループフィルタ部416は、符号化側(例えば画像符号化装置300のインループフィルタ部320)により実行されたフィルタ処理に対応するフィルタ処理を実行する。もちろん、インループフィルタ部416が実行するフィルタ処理は任意であり、上述の例に限定されない。例えば、インループフィルタ部416がウィーナーフィルタ等を適用するようにしてもよい。
【0158】
インループフィルタ部416は、フィルタ処理された局所復号画像Rlocalを並べ替えバッファ417およびフレームメモリ418に供給する。
【0159】
<並べ替えバッファ>
並べ替えバッファ417は、インループフィルタ部416から供給された局所復号画像Rlocalを入力とし、それを保持(記憶)する。並べ替えバッファ417は、その局所復号画像Rlocalを用いてピクチャ単位毎の復号画像Rを再構築し、保持する(バッファ内に格納する)。並べ替えバッファ417は、得られた復号画像Rを、復号順から再生順に並べ替える。並べ替えバッファ417は、並べ替えた復号画像R群を動画像データとして画像復号装置400の外部に出力する。
【0160】
<フレームメモリ>
フレームメモリ418は、画像に関するデータの記憶に関する処理を実行する。例えば、フレームメモリ418は、演算部415より供給される局所復号画像Rlocalを取得する。そして、フレームメモリ418は、その局所復号画像Rlocalを用いてピクチャ単位毎の復号画像Rを再構築する。フレームメモリ418は、再構築した復号画像Rをフレームメモリ418内のバッファへ格納する。
【0161】
また、フレームメモリ418は、インループフィルタ部416から供給される、インループフィルタ処理された局所復号画像Rlocalを取得する。そして、フレームメモリ418は、そのインループフィルタ処理された局所復号画像Rlocalを用いて、ピクチャ単位毎の復号画像Rを再構築する。フレームメモリ418は、再構築した復号画像Rをフレームメモリ418内のバッファへ格納する。
【0162】
さらに、フレームメモリ418は、適宜、その記憶している復号画像R(またはその一部)を参照画像として予測部419に供給する。
【0163】
なお、フレームメモリ418が、復号画像の生成に係るヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなどを記憶するようにしても良い。
【0164】
<予測部>
予測部419は、予測画像の生成に関する処理を実行する。例えば、予測部419は、復号部412から供給される予測モード情報Pinfoを取得する。また、予測部419は、その予測モード情報Pinfoによって指定される予測方法により予測処理を実行し、予測画像Pを導出する。その導出の際、予測部419は、その予測モード情報Pinfoによって指定される、フレームメモリ418に格納された復号画像R(またはその一部)を、参照画像として利用する。この復号画像Rは、フィルタ前のものであってもよいし、フィルタ後のものであってもよい。予測部419は、導出した予測画像Pを、演算部415に供給する。
【0165】
<構成例>
なお、これらの処理部(蓄積バッファ411乃至予測部419)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよい。例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
【0166】
<画像復号処理の流れ>
次に、以上のような構成の画像復号装置400により実行される画像復号処理の流れの例を、
図8のフローチャートを参照して説明する。
【0167】
画像復号処理が開始されると、蓄積バッファ411は、ステップS401において、画像復号装置400の外部から供給される符号化データ(ビットストリーム)を取得して保持する(蓄積する)。
【0168】
ステップS402において、復号部412は、その符号化データ(ビットストリーム)を復号し、量子化変換係数レベルlevelを得る。また、復号部412は、この復号により、符号化データ(ビットストリーム)から各種符号化パラメータをパースする(解析して取得する)。
【0169】
ステップS403において、逆量子化部413は、ステップS402の処理により得られた量子化変換係数レベルlevelに対して、符号化側で実行された量子化の逆処理である逆量子化を実行し、変換係数Coeff_IQを得る。
【0170】
ステップS404において、逆直交変換部414は、ステップS403において得られた変換係数Coeff_IQに対して、符号化側で実行された直交変換処理の逆処理である逆直交変換処理を実行し、予測残差D'を得る。例えば、逆直交変換部414は、変換係数Coeff_IQ(セカンダリ変換係数)を逆セカンダリ変換してプライマリ変換係数を生成する。また、逆直交変換部414は、そのプライマリ変換係数を逆プライマリ変換して予測残差D'を生成する。
【0171】
ステップS405において、予測部419は、ステップS402においてパースされた情報に基づいて、符号化側より指定される予測方法で予測処理を実行し、フレームメモリ418に記憶されている参照画像を参照する等して、予測画像Pを生成する。
【0172】
ステップS406において、演算部415は、ステップS404において得られた予測残差D'と、ステップS405において得られた予測画像Pとを加算し、局所復号画像Rlocalを導出する。
【0173】
ステップS407において、インループフィルタ部416は、ステップS406の処理により得られた局所復号画像Rlocalに対して、インループフィルタ処理を実行する。
【0174】
ステップS408において、並べ替えバッファ417は、ステップS407の処理により得られた「フィルタ処理された局所復号画像Rlocal」を用いて復号画像Rを導出し、その復号画像R群の順序を復号順から再生順に並べ替える。再生順に並べ替えられた復号画像R群は、動画像として画像復号装置400の外部に出力される。
【0175】
また、ステップS409において、フレームメモリ418は、ステップS406の処理により得られた局所復号画像Rlocal、および、ステップS407の処理により得られたフィルタ処理後の局所復号画像Rlocalの内、少なくとも一方を記憶する。
【0176】
ステップS409の処理が終了すると、画像復号処理が終了する。
【0177】
<4.付記>
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
【0178】
図9は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0179】
図9に示されるコンピュータ800において、CPU(Central Processing Unit)801、ROM(Read Only Memory)802、RAM(Random Access Memory)803は、バス804を介して相互に接続されている。
【0180】
バス804にはまた、入出力インタフェース810も接続されている。入出力インタフェース810には、入力部811、出力部812、記憶部813、通信部814、およびドライブ815が接続されている。
【0181】
入力部811は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部812は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部813は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部814は、例えば、ネットワークインタフェースよりなる。ドライブ815は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア821を駆動する。
【0182】
以上のように構成されるコンピュータでは、CPU801が、例えば、記憶部813に記憶されているプログラムを、入出力インタフェース810およびバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が実行される。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0183】
コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア821に記録して適用することができる。その場合、プログラムは、リムーバブルメディア821をドライブ815に装着することにより、入出力インタフェース810を介して、記憶部813にインストールすることができる。
【0184】
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部814で受信し、記憶部813にインストールすることができる。
【0185】
その他、このプログラムは、ROM802や記憶部813に、あらかじめインストールしておくこともできる。
【0186】
<本技術の適用対象>
本技術は、任意の画像符号化方式に適用することができる。つまり、上述した本技術と矛盾しない限り、変換(逆変換)、量子化(逆量子化)、符号化、予測等、画像符号化に関する各種処理の仕様は任意であり、上述した例に限定されない。また、上述した本技術と矛盾しない限り、これらの処理の内の一部を省略してもよい。
【0187】
また本技術は、複数の視点(ビュー(view))の画像を含む多視点画像の符号化や復号を実行する多視点画像符号化システム(または多視点画像復号システム)に適用することができる。その場合、各視点(ビュー(view))の符号化や復号において、本技術を適用するようにすればよい。
【0188】
さらに本技術は、所定のパラメータについてスケーラビリティ(scalability)機能を有するように複数レイヤ化(階層化)された階層画像の符号化を実行する階層画像符号化(スケーラブル符号化)システム(または階層画像復号システム)に適用することができる。その場合、各階層(レイヤ)の符号化や復号において、本技術を適用するようにすればよい。
【0189】
また、以上においては、本技術の適用例として、画像符号化装置300および画像復号装置400について説明したが、本技術は、任意の構成に適用することができる。
【0190】
例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に応用され得る。
【0191】
また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
【0192】
また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
【0193】
なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0194】
<本技術を適用可能な分野や用途>
本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
【0195】
例えば、本技術は、観賞用コンテンツ等の提供の用に供されるシステムやデバイスに適用することができる。また、例えば、本技術は、交通状況の監理や自動運転制御等、交通の用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、セキュリティの用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、機械等の自動制御の用に供されるシステムやデバイスに適用することができる。さらに、例えば、本技術は、農業や畜産業の用に供されるシステムやデバイスにも適用することができる。また、本技術は、例えば火山、森林、海洋等の自然の状態や野生生物等を監視するシステムやデバイスにも適用することができる。さらに、例えば、本技術は、スポーツの用に供されるシステムやデバイスにも適用することができる。
【0196】
<その他>
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
【0197】
また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
【0198】
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
【0199】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0200】
例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
【0201】
また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
【0202】
また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
【0203】
コンピュータが実行するプログラムは、例えば、そのプログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしてもよい。また、コンピュータが実行するプログラムは、そのプログラムを記述するステップの処理が、並列に実行されるようにしてもよい。さらに、コンピュータが実行するプログラムは、そのプログラムを記述するステップの処理が、呼び出されたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【0204】
また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
【0205】
なお、本技術は以下のような構成も取ることができる。
(1) 非ジョイント色差符号化モードにおける最小符号化コストとなる変換タイプを、ジョイント色差符号化モードにおける変換タイプに設定して、前記ジョイント色差符号化モードにおける符号化コストを導出することにより、画像の符号化の符号化モードを設定する符号化モード設定部
を備える画像処理装置。
(2) 前記符号化モード設定部は、前記符号化モードの設定として、前記ジョイント色差符号化モードに関する設定と前記変換タイプの設定とを実行する
(1)に記載の画像処理装置。
(3) 前記符号化モード設定部は、前記ジョイント色差符号化モードにおいて前記変換タイプとして、変換スキップを適用するかを設定する
(2)に記載の画像処理装置。
(4) 前記符号化モード設定部は、前記変換スキップを適用しない場合、前記変換タイプとしてDCT2を適用する
(3)に記載の画像処理装置。
(5) 前記符号化モード設定部は、前記非ジョイント色差符号化モードにおける最小符号化コストとなる変換スキップフラグの値を、前記ジョイント色差符号化モードにおける前記変換スキップフラグに設定する
(3)または(4)に記載の画像処理装置。
(6) 前記符号化モード設定部は、前記非ジョイント色差符号化モードにおける色差符号化ブロックフラグに基づいて前記ジョイント色差符号化モードを設定する
(2)乃至(5)のいずれかに記載の画像処理装置。
(7) 前記符号化モード設定部は、設定した前記ジョイント色差符号化モードに基づいて符号化コンポーネント識別子を設定する
(6)に記載の画像処理装置。
(8) 前記符号化モード設定部は、前記非ジョイント色差符号化モードにおいて、各変換タイプの符号化コストを導出し、導出した前記符号化コストの中で最小となる前記変換タイプを設定し、設定した前記変換タイプを前記ジョイント色差符号化モードにおける前記変換タイプに設定する
(1)乃至(7)のいずれかに記載の画像処理装置。
(9) 前記符号化モード設定部は、前記非ジョイント色差符号化モードの最小符号化コストと前記ジョイント色差符号化モードの符号化コストとを比較し、前記符号化コストが最小となるモードを選択する
(1)乃至(8)のいずれかに記載の画像処理装置。
(10) 前記符号化モード設定部により設定された前記符号化モードに従って、前記画像の係数データを直交変換する直交変換部をさらに備える
(1)乃至(9)のいずれかに記載の画像処理装置。
(11) 前記符号化モード設定部により設定された前記符号化モードに従って、前記直交変換部により直交変換された前記係数データを符号化する符号化部をさらに備える
(10)に記載の画像処理装置。
(12) 前記符号化モード設定部は、前記符号化モードとして、変換スキップを適用するかを示す変換スキップフラグを設定し、
前記符号化部は、前記符号化モード設定部により設定された前記変換スキップフラグを符号化する
(11)に記載の画像処理装置。
(13) 前記直交変換部により直交変換された前記係数データを量子化する量子化部をさらに備え、
前記符号化部は、前記量子化部により量子化された前記係数データを符号化する
(11)または(12)に記載の画像処理装置。
(14) 前記画像と予測画像の残差を生成する演算部をさらに備え、
前記直交変換部は、前記残差の係数データを直交変換する
(10)乃至(13)のいずれかに記載の画像処理装置。
(15) 非ジョイント色差符号化モードにおける最小符号化コストとなる変換タイプを、ジョイント色差符号化モードにおける変換タイプに設定して、前記ジョイント色差符号化モードにおける符号化コストを導出することにより、画像の符号化の符号化モードを設定する
画像処理方法。
【符号の説明】
【0206】
300 画像符号化装置, 301 制御部, 312 演算部, 313 直交変換部, 314 量子化部, 315 符号化部
【手続補正書】
【提出日】2024-07-11
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
非ジョイント色差符号化モードにおける変換タイプを、ジョイント色差符号化モードにおける変換タイプとして設定する設定部と、
前記設定部により設定された前記ジョイント色差符号化モードにおける変換タイプに従って、画像の係数データを直交変換する直交変換部と
を備える画像処理装置。
【請求項2】
前記設定部は、前記ジョイント色差符号化モードにおける前記変換タイプとして、変換スキップを設定する
請求項1に記載の画像処理装置。
【請求項3】
前記設定部は、前記変換スキップを適用しない場合、前記ジョイント色差符号化モードにおける前記変換タイプとしてDCT2を適用する
請求項2に記載の画像処理装置。
【請求項4】
前記設定部は、前記非ジョイント色差符号化モードにおける変換スキップフラグの値を、前記ジョイント色差符号化モードにおける前記変換スキップフラグの値として設定する
請求項2に記載の画像処理装置。
【請求項5】
前記設定部は、前記非ジョイント色差符号化モードにおける色差符号化ブロックフラグに基づいて前記ジョイント色差符号化モードを設定する
請求項1に記載の画像処理装置。
【請求項6】
前記設定部は、前記ジョイント色差符号化モードに基づいて符号化コンポーネント識別子を設定する
請求項5に記載の画像処理装置。
【請求項7】
前記設定部は、前記非ジョイント色差符号化モードにおいて、各変換タイプの符号化コストを導出し、導出した前記符号化コストの中で最小となる前記変換タイプを設定し、設定した前記変換タイプを前記ジョイント色差符号化モードにおける前記変換タイプに設定する
請求項1に記載の画像処理装置。
【請求項8】
非ジョイント色差符号化モードにおける変換タイプを、ジョイント色差符号化モードにおける変換タイプとして設定することと、
設定された前記ジョイント色差符号化モードにおける変換タイプに従って、画像の係数データを直交変換することと
を含む画像処理方法。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正の内容】
【0007】
本技術の一側面の画像処理装置は、非ジョイント色差符号化モードにおける変換タイプを、ジョイント色差符号化モードにおける変換タイプとして設定する設定部と、前記設定部により設定された前記ジョイント色差符号化モードにおける変換タイプに従って、画像の係数データを直交変換する直交変換部とを備える画像処理装置である。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正の内容】
【0008】
本技術の一側面の画像処理方法は、非ジョイント色差符号化モードにおける変換タイプを、ジョイント色差符号化モードにおける変換タイプとして設定することと、設定された前記ジョイント色差符号化モードにおける変換タイプに従って、画像の係数データを直交変換することとを含む画像処理方法である。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正の内容】
【0009】
本技術の一側面の画像処理装置および方法においては、非ジョイント色差符号化モードにおける変換タイプが、ジョイント色差符号化モードにおける変換タイプとして設定されることと、その設定されたジョイント色差符号化モードにおける変換タイプに従って、画像の係数データが直交変換されることとが実行される。