JP6288348B2 - 画像復号装置、画像復号方法、画像復号プログラム - Google Patents
画像復号装置、画像復号方法、画像復号プログラム Download PDFInfo
- Publication number
- JP6288348B2 JP6288348B2 JP2017084348A JP2017084348A JP6288348B2 JP 6288348 B2 JP6288348 B2 JP 6288348B2 JP 2017084348 A JP2017084348 A JP 2017084348A JP 2017084348 A JP2017084348 A JP 2017084348A JP 6288348 B2 JP6288348 B2 JP 6288348B2
- Authority
- JP
- Japan
- Prior art keywords
- filter
- ctb
- picture
- decoding
- flag
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 56
- 238000001914 filtration Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 description 56
- 101150114515 CTBS gene Proteins 0.000 description 43
- 230000008569 process Effects 0.000 description 29
- 230000033001 locomotion Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 238000009795 derivation Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 238000011156 evaluation Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 7
- 238000000926 separation method Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 6
- 238000013139 quantization Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 206010052143 Ocular discomfort Diseases 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は、動き補償予測を用いた画像復号技術に関し、特にループフィルタとして機能
するフィルタ情報を復号する画像復号技術に関する。
するフィルタ情報を復号する画像復号技術に関する。
一般的な動画像圧縮符号化であるMPEG−4AVC/H.264(以下、AVC)で
はループフィルタとしてデブロックフィルタが利用される。AVCのデブロックフィルタ
は、対象画像を細かいブロックに分割し、ブロック毎に隣接するブロックの境界付近の画
素を補正する技術である。
はループフィルタとしてデブロックフィルタが利用される。AVCのデブロックフィルタ
は、対象画像を細かいブロックに分割し、ブロック毎に隣接するブロックの境界付近の画
素を補正する技術である。
デブロックフィルタは、ブロック間の量子化幅や予測方法の相違などによって生じるブ
ロックの境界付近の誤差を画素単位で補正し、補正したピクチャを参照ピクチャとして動
き補償予測で利用することで予測効率を向上させている。
ロックの境界付近の誤差を画素単位で補正し、補正したピクチャを参照ピクチャとして動
き補償予測で利用することで予測効率を向上させている。
特許文献1には、AVCのデブロックフィルタを制御する方法が開示されている。
AVCのデブロックフィルタはブロックの境界付近の画素しか補正しないため、ブロッ
ク境界ではないブロック内部の画素を補正することはできない。そのため、ブロック境界
ではないブロック内部の画素に誤差が生じた場合に、予測効率が良くならない場合があっ
た。
ク境界ではないブロック内部の画素を補正することはできない。そのため、ブロック境界
ではないブロック内部の画素に誤差が生じた場合に、予測効率が良くならない場合があっ
た。
このような状況下、本発明者らは、ループフィルタを使用する動画像符号化方式におい
て、ブロック境界ではないブロック内部の画素に誤差が生じた場合でも予測効率を向上さ
せる必要性を認識するに至った。
て、ブロック境界ではないブロック内部の画素に誤差が生じた場合でも予測効率を向上さ
せる必要性を認識するに至った。
本発明はこうした状況に鑑みてなされたものであり、その目的は、ブロック境界ではな
いブロック内部の画素に誤差が生じた場合にもブロック境界ではないブロック内部の画素
を補正することで予測効率の向上を図って符号化効率を向上させる画像復号技術を提供す
ることにある。
いブロック内部の画素に誤差が生じた場合にもブロック境界ではないブロック内部の画素
を補正することで予測効率の向上を図って符号化効率を向上させる画像復号技術を提供す
ることにある。
ピクチャを構成するブロック単位で符号化されたブロック符号列を含む符号列ストリー
ムを復号して得られたピクチャをフィルタリングする画像復号装置であって、前記ピクチ
ャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を、前記符
号列ストリームのピクチャ特性を示すピクチャパラメータセットから取得する領域情報取
得部と、復号対象となるブロックのフィルタタイプを前記符号列ストリームから取得する
フィルタタイプ取得部と、前記ブロック符号列を復号して前記復号対象となるブロックの
復号画像データを取得する画像データ復号部と、前記復号画像データを前記フィルタタイ
プに基づいてフィルタリングするフィルタリング部とを備え、前記フィルタタイプは前記
復号対象となるブロックがタイル境界に接する場合と、前記復号対象となるブロックがタ
イル境界に接しない場合とで異なることを特徴とする画像復号装置を提供する。
ピクチャを構成するブロック単位で符号化されたブロック符号列を含む符号列ストリー
ムを復号して得られたピクチャをフィルタリングする画像復号方法であって、前記ピクチ
ャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を、前記符
号列ストリームのピクチャ特性を示すピクチャパラメータセットから取得する領域情報取
得ステップと、復号対象となるブロックのフィルタタイプを前記符号列ストリームから取
得するフィルタタイプ取得ステップと、前記ブロック符号列を復号して前記復号対象とな
るブロックの復号画像データを取得する画像データ復号ステップと、前記復号画像データ
を前記フィルタタイプに基づいてフィルタリングするフィルタリングステップとを有し、
前記フィルタタイプは前記復号対象となるブロックがタイル境界に接する場合と、前記復
号対象となるブロックがタイル境界に接しない場合とで異なることを特徴とする画像復号
方法を提供する。
ピクチャを構成するブロック単位で符号化されたブロック符号列を含む符号列ストリー
ムを復号して得られたピクチャをフィルタリングする画像復号プログラムであって、前記
ピクチャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を、
前記符号列ストリームのピクチャ特性を示すピクチャパラメータセットから取得する領域
情報取得ステップと、復号対象となるブロックのフィルタタイプを前記符号列ストリーム
から取得するフィルタタイプ取得ステップと、前記ブロック符号列を復号して前記復号対
象となるブロックの復号画像データを取得する画像データ復号ステップと、前記復号画像
データを前記フィルタタイプに基づいてフィルタリングするフィルタリングステップとを
コンピュータに実行させ、前記フィルタタイプは前記復号対象となるブロックがタイル境
界に接する場合と、前記復号対象となるブロックがタイル境界に接しない場合とで異なる
ことを特徴とする画像復号プログラムを提供する。
ムを復号して得られたピクチャをフィルタリングする画像復号装置であって、前記ピクチ
ャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を、前記符
号列ストリームのピクチャ特性を示すピクチャパラメータセットから取得する領域情報取
得部と、復号対象となるブロックのフィルタタイプを前記符号列ストリームから取得する
フィルタタイプ取得部と、前記ブロック符号列を復号して前記復号対象となるブロックの
復号画像データを取得する画像データ復号部と、前記復号画像データを前記フィルタタイ
プに基づいてフィルタリングするフィルタリング部とを備え、前記フィルタタイプは前記
復号対象となるブロックがタイル境界に接する場合と、前記復号対象となるブロックがタ
イル境界に接しない場合とで異なることを特徴とする画像復号装置を提供する。
ピクチャを構成するブロック単位で符号化されたブロック符号列を含む符号列ストリー
ムを復号して得られたピクチャをフィルタリングする画像復号方法であって、前記ピクチ
ャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を、前記符
号列ストリームのピクチャ特性を示すピクチャパラメータセットから取得する領域情報取
得ステップと、復号対象となるブロックのフィルタタイプを前記符号列ストリームから取
得するフィルタタイプ取得ステップと、前記ブロック符号列を復号して前記復号対象とな
るブロックの復号画像データを取得する画像データ復号ステップと、前記復号画像データ
を前記フィルタタイプに基づいてフィルタリングするフィルタリングステップとを有し、
前記フィルタタイプは前記復号対象となるブロックがタイル境界に接する場合と、前記復
号対象となるブロックがタイル境界に接しない場合とで異なることを特徴とする画像復号
方法を提供する。
ピクチャを構成するブロック単位で符号化されたブロック符号列を含む符号列ストリー
ムを復号して得られたピクチャをフィルタリングする画像復号プログラムであって、前記
ピクチャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を、
前記符号列ストリームのピクチャ特性を示すピクチャパラメータセットから取得する領域
情報取得ステップと、復号対象となるブロックのフィルタタイプを前記符号列ストリーム
から取得するフィルタタイプ取得ステップと、前記ブロック符号列を復号して前記復号対
象となるブロックの復号画像データを取得する画像データ復号ステップと、前記復号画像
データを前記フィルタタイプに基づいてフィルタリングするフィルタリングステップとを
コンピュータに実行させ、前記フィルタタイプは前記復号対象となるブロックがタイル境
界に接する場合と、前記復号対象となるブロックがタイル境界に接しない場合とで異なる
ことを特徴とする画像復号プログラムを提供する。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒
体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効で
ある。
体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効で
ある。
本発明によれば、ブロック境界ではないブロック内部の画素に誤差が生じた場合にもブ
ロック境界ではないブロック内部の画素を補正することで予測効率の向上を実現すること
ができる。
ロック境界ではないブロック内部の画素を補正することで予測効率の向上を実現すること
ができる。
[第1の実施の形態]
まず、本発明の実施の形態の前提となる技術を説明する。
まず、本発明の実施の形態の前提となる技術を説明する。
2003年に、国際標準化機構(ISO)と国際電気標準会議(IEC)のジョイント
技術委員会(ISO/IEC)と、国際電気通信連合電気通信標準化部門(ITU−T)
の共同作業によってAVCと呼ばれる動画像符号化方式(ISO/IECでは14496
−10、ITU−TではH.264の規格番号がつけられている)が国際標準として制定
された。AVCではループフィルタとしてデブロックフィルタが利用される。
技術委員会(ISO/IEC)と、国際電気通信連合電気通信標準化部門(ITU−T)
の共同作業によってAVCと呼ばれる動画像符号化方式(ISO/IECでは14496
−10、ITU−TではH.264の規格番号がつけられている)が国際標準として制定
された。AVCではループフィルタとしてデブロックフィルタが利用される。
最初に、デブロックフィルタについて説明する。デブロックフィルタは、量子化パラメ
ータやイントラ予測(画面内予測)であるかインター予測(動き補償予測)であるかなど
の情報によって、デブロックフィルタの強度をブロック単位で適応的に変え、ブロックの
境界付近の画素間の画素値の差によってデブロックフィルタのON/OFFを画素単位で制
御しながら、ブロック間の量子化幅や予測方法の相違などによって生じるブロックの境界
付近の誤差を画素単位で補正して誤差を低減する技術である。デブロックフィルタは、視
覚的に目立ちやすいブロック境界の誤差を低減して主観画質を向上させ、さらに、ブロッ
ク境界の誤差を低減した画像を参照画像として用いることにより、インター予測の効率を
向上させる効果がある。
ータやイントラ予測(画面内予測)であるかインター予測(動き補償予測)であるかなど
の情報によって、デブロックフィルタの強度をブロック単位で適応的に変え、ブロックの
境界付近の画素間の画素値の差によってデブロックフィルタのON/OFFを画素単位で制
御しながら、ブロック間の量子化幅や予測方法の相違などによって生じるブロックの境界
付近の誤差を画素単位で補正して誤差を低減する技術である。デブロックフィルタは、視
覚的に目立ちやすいブロック境界の誤差を低減して主観画質を向上させ、さらに、ブロッ
ク境界の誤差を低減した画像を参照画像として用いることにより、インター予測の効率を
向上させる効果がある。
デブロックフィルタの制御情報として、AVCではデブロックフィルタをスライス単位
でON/OFFするためのフラグ、デブロックフィルタの適用度合い(画素単位のON/
OFF)を調整するための情報がスライスヘッダにある。
でON/OFFするためのフラグ、デブロックフィルタの適用度合い(画素単位のON/
OFF)を調整するための情報がスライスヘッダにある。
近年のハードウェアやCPUは並列処理を前提とした構成を取ることが一般的となりつ
つあり、動画像符号化も並列処理に対応することが重要な課題となっている。画像のサイ
ズが大きくなるほどこの課題は大きくなる。そのため、一般的な動画像符号化方式である
AVCなどでは、動画像ピクチャを複数の領域に分割し、各領域を並列に符号化または復
号するためにスライスが用いられる。スライスを並列に処理する場合、各スライス境界の
デブロックフィルタの処理が課題となる。AVCのデブロックフィルタでは、画像の左上
のブロックからラスタースキャン順に各ブロックについて垂直方向のフィルタと水平方向
のフィルタが順に処理されるため、領域境界のデブロックフィルタを事前に処理すること
ができない。そのため、AVCではスライス単位でデブロックフィルタをON/OFFす
るためのフラグが導入されており、ループフィルタを含めた並列処理を容易に実現する場
合などに利用されている。
つあり、動画像符号化も並列処理に対応することが重要な課題となっている。画像のサイ
ズが大きくなるほどこの課題は大きくなる。そのため、一般的な動画像符号化方式である
AVCなどでは、動画像ピクチャを複数の領域に分割し、各領域を並列に符号化または復
号するためにスライスが用いられる。スライスを並列に処理する場合、各スライス境界の
デブロックフィルタの処理が課題となる。AVCのデブロックフィルタでは、画像の左上
のブロックからラスタースキャン順に各ブロックについて垂直方向のフィルタと水平方向
のフィルタが順に処理されるため、領域境界のデブロックフィルタを事前に処理すること
ができない。そのため、AVCではスライス単位でデブロックフィルタをON/OFFす
るためのフラグが導入されており、ループフィルタを含めた並列処理を容易に実現する場
合などに利用されている。
しかし、AVCのデブロックフィルタはブロックの境界付近の画素しか補正できないた
め、ブロック境界ではないブロック内部の画素に誤差が生じた場合に、予測効率が良くな
らない可能性があった。そこで、ブロック境界のみならず、ブロックの内部の画素を補正
するフィルタとしてSAOフィルタ(Sample Adaptative Offse
t Filter)を導入する。
め、ブロック境界ではないブロック内部の画素に誤差が生じた場合に、予測効率が良くな
らない可能性があった。そこで、ブロック境界のみならず、ブロックの内部の画素を補正
するフィルタとしてSAOフィルタ(Sample Adaptative Offse
t Filter)を導入する。
ここで、SAOフィルタの概要について説明する。SAOフィルタはブロックの境界付
近の画素のみならず、ブロックの内部の全ての画素に対して所定のオフセット値を加え、
画素を補正するフィルタである。ブロックの内部の全ての画素に対して処理を行うため、
デブロックフィルタのようにブロック間の相違などの情報を利用して詳細な適応処理をす
ることは困難で、デブロックフィルタよりもより細かい領域単位でオフセット値を調整し
て性能の向上を図る必要がある。細かい領域単位でオフセット値を調整することで誤差の
補正の精度は向上するが、細かい領域単位でオフセット値を符号化するための符号量が増
加するため、これを抑制する必要がある。SAOフィルタの詳細については後述する。
近の画素のみならず、ブロックの内部の全ての画素に対して所定のオフセット値を加え、
画素を補正するフィルタである。ブロックの内部の全ての画素に対して処理を行うため、
デブロックフィルタのようにブロック間の相違などの情報を利用して詳細な適応処理をす
ることは困難で、デブロックフィルタよりもより細かい領域単位でオフセット値を調整し
て性能の向上を図る必要がある。細かい領域単位でオフセット値を調整することで誤差の
補正の精度は向上するが、細かい領域単位でオフセット値を符号化するための符号量が増
加するため、これを抑制する必要がある。SAOフィルタの詳細については後述する。
以下、SAOフィルタを効果的に動作させることのできる動画像符号化装置及び動画像
復号装置を実現する。
復号装置を実現する。
(符号化ツリーブロック)
本実施の形態では、入力された画像信号(ピクチャ)は符号化ツリーブロック単位に分
割されて符号化と復号の処理がなされる。符号化ツリーブロック(CTB)は階層的に4
分割されて、符号化ユニット(CU)となる。CTB内の各CUはそれぞれイントラ予測
またはインター予測を用いて予測符号化される。
本実施の形態では、入力された画像信号(ピクチャ)は符号化ツリーブロック単位に分
割されて符号化と復号の処理がなされる。符号化ツリーブロック(CTB)は階層的に4
分割されて、符号化ユニット(CU)となる。CTB内の各CUはそれぞれイントラ予測
またはインター予測を用いて予測符号化される。
本実施の形態では、CTBを64(画素)×64(画素)、最大の分割回数を3回とす
る。そのため、CUの大きさとして、8×8、16×16、32×32、64×64が存
在する。図1はCTBとCUの関係を説明する図である。
る。そのため、CUの大きさとして、8×8、16×16、32×32、64×64が存
在する。図1はCTBとCUの関係を説明する図である。
本実施の形態では、CTBを64(画素)×64(画素)、CTBの最大の分割回数を
3回とするが、この組み合わせに限定されない。また、CUはさらに1つから4つの予測
ブロックに分割されて、それぞれの予測ブロックについてイントラ予測またはインター予
測を用いて予測符号化されてもよい。
3回とするが、この組み合わせに限定されない。また、CUはさらに1つから4つの予測
ブロックに分割されて、それぞれの予測ブロックについてイントラ予測またはインター予
測を用いて予測符号化されてもよい。
(ピクチャ)
ピクチャは符号化と復号の単位となる1枚の画像である。ピクチャには、イントラ予測
のみを用いたIピクチャ、イントラ予測と単予測のインター予測を用いたPピクチャ、イ
ントラ予測と、単予測と双予測のインター予測を用いたBピクチャがある。
ピクチャは符号化と復号の単位となる1枚の画像である。ピクチャには、イントラ予測
のみを用いたIピクチャ、イントラ予測と単予測のインター予測を用いたPピクチャ、イ
ントラ予測と、単予測と双予測のインター予測を用いたBピクチャがある。
(タイル)
本実施の形態では、ピクチャを垂直方向と水平方向に分割された領域として定義するこ
とのできるタイルを導入する。
本実施の形態では、ピクチャを垂直方向と水平方向に分割された領域として定義するこ
とのできるタイルを導入する。
次に図を用いてタイルについて説明する。図2はタイルについて説明する図である。図
2(a)はピクチャが垂直方向に2つに分割されて、ピクチャがタイル0とタイル1で構
成される例である。図2(b)はピクチャが垂直方向と水平方向にそれぞれ2つに分割さ
れて、ピクチャがタイル0からタイル3で構成される例である。ピクチャ内のタイルはラ
スタースキャン順に処理される。また、タイル内のCTBはラスタースキャン順に処理さ
れる。ここでは、説明を容易にするためにタイルがピクチャ内で同一の大きさとなるよう
にしているが、タイルは同一の大きさである必要はない。図2(a)と図2(b)で示さ
れるように、タイルは矩形領域として定義される。
2(a)はピクチャが垂直方向に2つに分割されて、ピクチャがタイル0とタイル1で構
成される例である。図2(b)はピクチャが垂直方向と水平方向にそれぞれ2つに分割さ
れて、ピクチャがタイル0からタイル3で構成される例である。ピクチャ内のタイルはラ
スタースキャン順に処理される。また、タイル内のCTBはラスタースキャン順に処理さ
れる。ここでは、説明を容易にするためにタイルがピクチャ内で同一の大きさとなるよう
にしているが、タイルは同一の大きさである必要はない。図2(a)と図2(b)で示さ
れるように、タイルは矩形領域として定義される。
(スライス)
本実施の形態では、スライスはタイル内のCTBをラスタースキャン順に包含する。こ
こでは、ピクチャ内のスライスは1つであるとして説明するが、スライスは1つのタイル
内の1以上のCTBから構成することができる。すなわち、タイルは1以上のスライスに
分割されることもできる。また、スライスは複数のタイルを包含することもできる。すな
わち、複数のタイルを1つのスライスにまとめることもできる。
本実施の形態では、スライスはタイル内のCTBをラスタースキャン順に包含する。こ
こでは、ピクチャ内のスライスは1つであるとして説明するが、スライスは1つのタイル
内の1以上のCTBから構成することができる。すなわち、タイルは1以上のスライスに
分割されることもできる。また、スライスは複数のタイルを包含することもできる。すな
わち、複数のタイルを1つのスライスにまとめることもできる。
本実施の形態では、タイルを導入することで、スライスでは実現できなかった垂直方向
に領域を分割することができる。垂直方向に領域を分割することで、各タイルの水平画素
数を減ずることができ、各タイルを独立処理(並列処理)する場合に、ラインメモリ量を
削減することができる。一方、タイルに分割することで垂直方向の境界が長くなるため、
垂直方向の境界の処理が符号化効率や視覚的な違和感などとして認識されて課題となる。
これは大画面になるほど影響が大きくなる。また、タイル内のCTBはラスタースキャン
順に処理されてスライスはタイル内のCTBをラスタースキャン順に包含する構成とする
ため、タイルとスライスを組み合わせることで、スライスの垂直方向の境界についても同
様の課題が生じる場合がある。なお、スライスのみで領域を構成する場合、垂直方向の境
界はスライスの開始CTBにのみ発生するため、垂直方向の境界に対する課題は小さい。
に領域を分割することができる。垂直方向に領域を分割することで、各タイルの水平画素
数を減ずることができ、各タイルを独立処理(並列処理)する場合に、ラインメモリ量を
削減することができる。一方、タイルに分割することで垂直方向の境界が長くなるため、
垂直方向の境界の処理が符号化効率や視覚的な違和感などとして認識されて課題となる。
これは大画面になるほど影響が大きくなる。また、タイル内のCTBはラスタースキャン
順に処理されてスライスはタイル内のCTBをラスタースキャン順に包含する構成とする
ため、タイルとスライスを組み合わせることで、スライスの垂直方向の境界についても同
様の課題が生じる場合がある。なお、スライスのみで領域を構成する場合、垂直方向の境
界はスライスの開始CTBにのみ発生するため、垂直方向の境界に対する課題は小さい。
以下、図面とともに本発明の好適な実施の形態に係る動画像符号化装置、動画像符号化
方法および動画像符号化プログラム、ならびに動画像復号装置、動画像復号方法および動
画像復号プログラムの詳細について説明する。なお、図面の説明において同一要素には同
一符号を付与して重複する説明を省略する。
方法および動画像符号化プログラム、ならびに動画像復号装置、動画像復号方法および動
画像復号プログラムの詳細について説明する。なお、図面の説明において同一要素には同
一符号を付与して重複する説明を省略する。
(動画像符号化装置100の構成)
図3は、第1の実施の形態に係る動画像符号化装置100の構成を説明する図である。
動画像符号化装置100は、入力される動画像を、1ピクチャ単位で符号化する装置であ
る。
図3は、第1の実施の形態に係る動画像符号化装置100の構成を説明する図である。
動画像符号化装置100は、入力される動画像を、1ピクチャ単位で符号化する装置であ
る。
動画像符号化装置100は、CPU(Central Processing Uni
t)、フレームメモリ、ハードディスクなどを備える情報処理装置などのハードウェアに
より実現される。動画像符号化装置100は、上記の構成要素が動作することにより、以
下に説明する機能的な構成要素を実現する。
t)、フレームメモリ、ハードディスクなどを備える情報処理装置などのハードウェアに
より実現される。動画像符号化装置100は、上記の構成要素が動作することにより、以
下に説明する機能的な構成要素を実現する。
本実施の形態の動画像符号化装置100は、画像データ取得部101、CTB符号化部
102、フィルタパラメータ決定部103、フィルタパラメータ符号化部105、ループ
フィルタ104、フレームメモリ106、符号列多重部107、及び符号化制御部110
を含む。符号化制御部110は、タイル設定部111、ループフィルタ設定部112、及
び領域情報設定部113を含む。
102、フィルタパラメータ決定部103、フィルタパラメータ符号化部105、ループ
フィルタ104、フレームメモリ106、符号列多重部107、及び符号化制御部110
を含む。符号化制御部110は、タイル設定部111、ループフィルタ設定部112、及
び領域情報設定部113を含む。
(動画像符号化装置100の機能と動作)
図4は、第1の実施の形態に係る動画像符号化装置100の動作を説明するフローチャ
ートである。以下、図3と図4を用いて、各部の機能と動作について説明する。ここでは
、入力されるピクチャのサイズは768×384、ビット深度は8ビットとする。この場
合、CTBは水平方向に12個、垂直方向に6個存在し、ピクチャ内で72個のCTBが
存在する。以降、ピクチャの水平方向のCTB数をNumCtbInPicWidthと
する。ビット深度が8ビットであるため、画素値は0から255となる。入力されたピク
チャは、GOP(Group of Picture)として一般的なM=3、N=15
で符号化され、IピクチャはIスライスだけ、PピクチャはPスライスだけ、Bピクチャ
はBスライスだけで符号化されるものとする。ここでは、ピクチャのサイズを768×3
84としてCTBの倍数に設定したがこれに限定されない。また、GOPをM=3、N=
15としたが、IピクチャだけとなるN=1などとしてもよく、これらに限定されない。
図4は、第1の実施の形態に係る動画像符号化装置100の動作を説明するフローチャ
ートである。以下、図3と図4を用いて、各部の機能と動作について説明する。ここでは
、入力されるピクチャのサイズは768×384、ビット深度は8ビットとする。この場
合、CTBは水平方向に12個、垂直方向に6個存在し、ピクチャ内で72個のCTBが
存在する。以降、ピクチャの水平方向のCTB数をNumCtbInPicWidthと
する。ビット深度が8ビットであるため、画素値は0から255となる。入力されたピク
チャは、GOP(Group of Picture)として一般的なM=3、N=15
で符号化され、IピクチャはIスライスだけ、PピクチャはPスライスだけ、Bピクチャ
はBスライスだけで符号化されるものとする。ここでは、ピクチャのサイズを768×3
84としてCTBの倍数に設定したがこれに限定されない。また、GOPをM=3、N=
15としたが、IピクチャだけとなるN=1などとしてもよく、これらに限定されない。
最初に、タイル設定部111は、タイルを設定する(S100)。これ以降、特に断ら
ない限り、ピクチャは図2(b)のように4つのタイルから構成されるものとする。
ない限り、ピクチャは図2(b)のように4つのタイルから構成されるものとする。
次に、ループフィルタ設定部112は、ループフィルタ情報を設定する(S101)。
ここで、ループフィルタ情報について説明する。ループフィルタ情報とは、ループフィル
タインタリーブフラグ(loopfilter_interleave_flag)であ
る。ループフィルタインタリーブフラグは、フィルタパラメータの符号化単位がCTB単
位で多重化するかピクチャ単位で多重化するかを示すフラグである。ループフィルタイン
タリーブフラグが1であれば、フィルタパラメータがCTB単位で多重化されることを示
し、ループフィルタインタリーブフラグが0であれば、フィルタパラメータがピクチャ単
位で多重化されることを示す。以降、フラグは0または1の値の1ビットの情報であると
する。
ここで、ループフィルタ情報について説明する。ループフィルタ情報とは、ループフィル
タインタリーブフラグ(loopfilter_interleave_flag)であ
る。ループフィルタインタリーブフラグは、フィルタパラメータの符号化単位がCTB単
位で多重化するかピクチャ単位で多重化するかを示すフラグである。ループフィルタイン
タリーブフラグが1であれば、フィルタパラメータがCTB単位で多重化されることを示
し、ループフィルタインタリーブフラグが0であれば、フィルタパラメータがピクチャ単
位で多重化されることを示す。以降、フラグは0または1の値の1ビットの情報であると
する。
本実施の形態では、loopfilter_interleave_flagは1に設
定される。つまり、フィルタパラメータはCTB単位で多重化される。
定される。つまり、フィルタパラメータはCTB単位で多重化される。
まず、領域情報設定部113は、CTBに対してCTBアドレスとCTB符号順序を設
定する(S102)。ここで、CTBアドレスとCTB符号順序について説明する。図5
はCTBアドレスとCTB符号順序を説明する図である。
定する(S102)。ここで、CTBアドレスとCTB符号順序について説明する。図5
はCTBアドレスとCTB符号順序を説明する図である。
図5(a)はピクチャ内の各CTBに設定されるCTBアドレスを示す。CTBアドレ
スは図5(a)のように、ピクチャ内の各CTBに対してラスタースキャン順に1ずつイ
ンクリメントして設定される。図5(b)は図2(b)のようにピクチャが4つのタイル
から構成される場合のピクチャ内の各CTBに設定されるCTB符号順序を示す。第1の
タイルはCTB符号順序が0から17であり、第2のタイルはCTB符号順序が18から
35であり、第3のタイルはCTB符号順序が36から53であり、第4のタイルはCT
B符号順序が54から71である。CTB符号順序は図5(b)のように、タイル内の各
CTBに対してラスタースキャン順に1ずつインクリメントして設定される。図5で示さ
れるように、タイルが垂直方向に分割される場合、CTBアドレス(CTBのアドレス順
序)と、CTBが符号化される順序とが同一とはならないブロックが発生する。また、図
5で示されるように、CTBアドレスはピクチャに応じたラスタースキャン順で定まり、
CTB符号順序はタイルに応じたラスタースキャン順で定まる。
スは図5(a)のように、ピクチャ内の各CTBに対してラスタースキャン順に1ずつイ
ンクリメントして設定される。図5(b)は図2(b)のようにピクチャが4つのタイル
から構成される場合のピクチャ内の各CTBに設定されるCTB符号順序を示す。第1の
タイルはCTB符号順序が0から17であり、第2のタイルはCTB符号順序が18から
35であり、第3のタイルはCTB符号順序が36から53であり、第4のタイルはCT
B符号順序が54から71である。CTB符号順序は図5(b)のように、タイル内の各
CTBに対してラスタースキャン順に1ずつインクリメントして設定される。図5で示さ
れるように、タイルが垂直方向に分割される場合、CTBアドレス(CTBのアドレス順
序)と、CTBが符号化される順序とが同一とはならないブロックが発生する。また、図
5で示されるように、CTBアドレスはピクチャに応じたラスタースキャン順で定まり、
CTB符号順序はタイルに応じたラスタースキャン順で定まる。
図5で示されるように、CTBアドレスはタイルに依存せずピクチャのサイズによって
設定され、CTB符号順序はピクチャのサイズとタイルのサイズによって設定される。つ
まり、CTBアドレスはピクチャ内の位置を示し、CTBアドレスによってCTBのピク
チャ内での位置関係を得ることができる。CTBがいずれのタイルに属するかを識別する
のに、CTBアドレスとCTB符号順序のそれぞれまたは両方を用いてもよい。
設定され、CTB符号順序はピクチャのサイズとタイルのサイズによって設定される。つ
まり、CTBアドレスはピクチャ内の位置を示し、CTBアドレスによってCTBのピク
チャ内での位置関係を得ることができる。CTBがいずれのタイルに属するかを識別する
のに、CTBアドレスとCTB符号順序のそれぞれまたは両方を用いてもよい。
また、符号化制御部110は、SPS、PPS、スライスヘッダなどピクチャを符号化
するために必要となる情報を必要に応じて設定して管理する。SPS、PPS、スライス
ヘッダについては後述する。そして、画像データ取得部101、CTB符号化部102、
フィルタパラメータ決定部103、フィルタパラメータ符号化部105、ループフィルタ
104、フレームメモリ106、及び符号列多重部107を制御して符号化ストリームを
生成する。
するために必要となる情報を必要に応じて設定して管理する。SPS、PPS、スライス
ヘッダについては後述する。そして、画像データ取得部101、CTB符号化部102、
フィルタパラメータ決定部103、フィルタパラメータ符号化部105、ループフィルタ
104、フレームメモリ106、及び符号列多重部107を制御して符号化ストリームを
生成する。
なお、タイル、ループフィルタ情報、SPS、PPS、スライスヘッダなどピクチャを
符号化するために必要となる情報は動画像符号化装置100内で共有されているものとし
、これらデータのフローの説明は特に断らない限り省略する。
符号化するために必要となる情報は動画像符号化装置100内で共有されているものとし
、これらデータのフローの説明は特に断らない限り省略する。
次に、CTB符号順序に従って、ピクチャ内の全てのCTBについて以下の処理が繰り
返し行われる(S103からS111)。
返し行われる(S103からS111)。
次に、画像データ取得部101は、符号化対象となるCTBである符号化対象CTBの
ピクチャ内の位置に基づいて、端子10より入力される画像データから符号化対象CTB
に該当するCTBの原画像データを取得する(S104)。そして、画像データ取得部1
01はCTBの原画像データをCTB符号化部102に供給する。また、画像データ取得
部101はCTBの原画像データをフィルタパラメータ決定部103に供給する。ここで
、符号化対象CTBが属するタイルを符号化対象タイル、符号化対象CTBが属するスラ
イスを符号化対象スライスとする。
ピクチャ内の位置に基づいて、端子10より入力される画像データから符号化対象CTB
に該当するCTBの原画像データを取得する(S104)。そして、画像データ取得部1
01はCTBの原画像データをCTB符号化部102に供給する。また、画像データ取得
部101はCTBの原画像データをフィルタパラメータ決定部103に供給する。ここで
、符号化対象CTBが属するタイルを符号化対象タイル、符号化対象CTBが属するスラ
イスを符号化対象スライスとする。
次に、エントロピー符号部の設定が行われる(S105)。ここで、エントロピー符号
部の設定について説明する。符号化対象CTBがスライスまたはタイルの最初のCTBで
あれば、CTB符号化部102はCTB符号化部102の内部のエントロピー符号部を初
期化し、フィルタパラメータ符号化部105はフィルタパラメータ符号化部105の内部
のエントロピー符号部を初期化する。なお、CTB符号化部102の内部のエントロピー
符号部とフィルタパラメータ符号化部105の内部のエントロピー符号部は、AVCで利
用されている算術符号化のCABACであるとする。
部の設定について説明する。符号化対象CTBがスライスまたはタイルの最初のCTBで
あれば、CTB符号化部102はCTB符号化部102の内部のエントロピー符号部を初
期化し、フィルタパラメータ符号化部105はフィルタパラメータ符号化部105の内部
のエントロピー符号部を初期化する。なお、CTB符号化部102の内部のエントロピー
符号部とフィルタパラメータ符号化部105の内部のエントロピー符号部は、AVCで利
用されている算術符号化のCABACであるとする。
次に、CTB符号化部102は、画像データ取得部101より供給されるCTBの原画
像データをスライスタイプに基づいて、画面内予測(イントラ予測)や動き補償予測(イ
ンター予測)を行って誤差信号を算出し、誤差信号について直交変換や量子化処理を用い
て符号化し、CTB符号列を生成するとともに、局部復号を行って復号画像データを生成
する(S106)。なお、CTB符号化部102で行われる符号化の処理は、CTBを階
層的に符号化して量子化などによって符号化歪が生じる可能性のある方法であればよく、
ここでは詳細な説明は省略する。また、局部復号についても一般的な動画像符号化で行わ
れる手法であるためここでは詳細な説明は省略するが、復号画像データは、動画像符号化
装置100の出力する符号化ストリームを復号した際に得られる画像データである。CT
B符号化部102は、生成したCTB符号列を符号列多重部107に供給する。また、C
TB符号化部102は、復号画像データをフィルタパラメータ決定部103とループフィ
ルタ104に供給する。
像データをスライスタイプに基づいて、画面内予測(イントラ予測)や動き補償予測(イ
ンター予測)を行って誤差信号を算出し、誤差信号について直交変換や量子化処理を用い
て符号化し、CTB符号列を生成するとともに、局部復号を行って復号画像データを生成
する(S106)。なお、CTB符号化部102で行われる符号化の処理は、CTBを階
層的に符号化して量子化などによって符号化歪が生じる可能性のある方法であればよく、
ここでは詳細な説明は省略する。また、局部復号についても一般的な動画像符号化で行わ
れる手法であるためここでは詳細な説明は省略するが、復号画像データは、動画像符号化
装置100の出力する符号化ストリームを復号した際に得られる画像データである。CT
B符号化部102は、生成したCTB符号列を符号列多重部107に供給する。また、C
TB符号化部102は、復号画像データをフィルタパラメータ決定部103とループフィ
ルタ104に供給する。
次に、フィルタパラメータ決定部103は、画像データ取得部101より供給されるC
TBの原画像データとCTB符号化部102より供給される復号画像データに基づいてフ
ィルタパラメータを決定する(S107)。フィルタパラメータ決定部103は、フィル
タパラメータをフィルタパラメータ符号化部105とループフィルタ104に供給する。
フィルタパラメータ決定部103の詳細については後述する。
TBの原画像データとCTB符号化部102より供給される復号画像データに基づいてフ
ィルタパラメータを決定する(S107)。フィルタパラメータ決定部103は、フィル
タパラメータをフィルタパラメータ符号化部105とループフィルタ104に供給する。
フィルタパラメータ決定部103の詳細については後述する。
ループフィルタ104は、フィルタパラメータ決定部103より供給されるフィルタパ
ラメータに基づいてCTB符号化部102より供給される復号画像データに対してループ
フィルタを実行する(S108)。ループフィルタを実行して得た新たな復号画像データ
をフレームメモリ106に供給する。
ラメータに基づいてCTB符号化部102より供給される復号画像データに対してループ
フィルタを実行する(S108)。ループフィルタを実行して得た新たな復号画像データ
をフレームメモリ106に供給する。
次に、フィルタパラメータ符号化部105は、フィルタパラメータ決定部103より供
給されるフィルタパラメータをループフィルタユニットに符号化し(S109)、ループ
フィルタユニットを符号列多重部107に供給する。フィルタパラメータ符号化部105
とループフィルタユニットについては後述する。
給されるフィルタパラメータをループフィルタユニットに符号化し(S109)、ループ
フィルタユニットを符号列多重部107に供給する。フィルタパラメータ符号化部105
とループフィルタユニットについては後述する。
次に、符号列多重部107は、CTB符号化部102より供給されるCTB符号列とフ
ィルタパラメータ符号化部105より供給されるループフィルタユニットを、必要に応じ
てSPS、PPS、スライスヘッダなどとともに符号化ストリームとして多重化し(S1
10)、符号化ストリームを端子11より出力する。符号列多重部107の詳細について
は後述する。
ィルタパラメータ符号化部105より供給されるループフィルタユニットを、必要に応じ
てSPS、PPS、スライスヘッダなどとともに符号化ストリームとして多重化し(S1
10)、符号化ストリームを端子11より出力する。符号列多重部107の詳細について
は後述する。
ピクチャ内の全てのCTBについて処理が完了すれば、処理を終了する。
(フィルタパラメータ決定部103)
続いて、フィルタパラメータ決定部103の詳細な構成について説明する。図6はフィ
ルタパラメータ決定部103の構成を説明する図である。図6で示されるように、フィル
タパラメータ決定部103は、フィルタパラメータ設定部120、ループフィルタ実行部
121、誤差計測部122、及びフィルタパラメータ確定部123で構成される。端子1
2はCTB符号化部102に接続され、端子13は画像データ取得部101に接続され、
端子14はフィルタパラメータ符号化部105とループフィルタ104に接続されている
。ループフィルタ実行部121は、フィルタタイプ判定部130、エッジタイプフィルタ
131、バンドタイプフィルタ132を含む。
続いて、フィルタパラメータ決定部103の詳細な構成について説明する。図6はフィ
ルタパラメータ決定部103の構成を説明する図である。図6で示されるように、フィル
タパラメータ決定部103は、フィルタパラメータ設定部120、ループフィルタ実行部
121、誤差計測部122、及びフィルタパラメータ確定部123で構成される。端子1
2はCTB符号化部102に接続され、端子13は画像データ取得部101に接続され、
端子14はフィルタパラメータ符号化部105とループフィルタ104に接続されている
。ループフィルタ実行部121は、フィルタタイプ判定部130、エッジタイプフィルタ
131、バンドタイプフィルタ132を含む。
引き続いて、フィルタパラメータ決定部103の動作について説明する。図7はフィル
タパラメータ決定部103の動作を説明するフローチャートである。以下、図6と図7を
用いて、フィルタパラメータ決定部103の動作について説明する。
タパラメータ決定部103の動作を説明するフローチャートである。以下、図6と図7を
用いて、フィルタパラメータ決定部103の動作について説明する。
最初に、フィルタパラメータ設定部120は、端子12より供給される復号画像データ
と端子13より供給される原画像データに基づいて、フィルタパラメータ候補リストを生
成し(S120)、生成したフィルタパラメータ候補リストをループフィルタ実行部12
1に供給する。フィルタパラメータ設定部120の詳細については後述する。
と端子13より供給される原画像データに基づいて、フィルタパラメータ候補リストを生
成し(S120)、生成したフィルタパラメータ候補リストをループフィルタ実行部12
1に供給する。フィルタパラメータ設定部120の詳細については後述する。
次に、フィルタパラメータ候補リストに登録されている全てのフィルタパラメータにつ
いて以下の処理が繰り返される(S121からS126)。
いて以下の処理が繰り返される(S121からS126)。
まず、ループフィルタ実行部121は、端子12より供給される復号画像データに対し
てフィルタパラメータに基づいてループフィルタを適用して新たな復号画像データを生成
し(S122)、当該復号画像データを誤差計測部122に供給する。ループフィルタ実
行部121の詳細については後述する。
てフィルタパラメータに基づいてループフィルタを適用して新たな復号画像データを生成
し(S122)、当該復号画像データを誤差計測部122に供給する。ループフィルタ実
行部121の詳細については後述する。
誤差計測部122は、ループフィルタ実行部121より供給される復号画像データと端
子13より供給される原画像データの誤差評価値を算出する(S123)。ここでは、誤
差評価値はブロック内の復号画像データと原画像データの絶対差分和(SAD)とする。
子13より供給される原画像データの誤差評価値を算出する(S123)。ここでは、誤
差評価値はブロック内の復号画像データと原画像データの絶対差分和(SAD)とする。
次に、誤差計測部122は、誤差評価値が最小であるか検査する(S124)。誤差評
価値が最小であれば(S124のY)、フィルタパラメータをフィルタパラメータ確定部
123に供給し、フィルタパラメータ確定部123は当該フィルタパラメータを保持する
(S125)。
価値が最小であれば(S124のY)、フィルタパラメータをフィルタパラメータ確定部
123に供給し、フィルタパラメータ確定部123は当該フィルタパラメータを保持する
(S125)。
誤差評価値が最小でなければ(S124のN)、次のフィルタパラメータが処理される
(S126)。フィルタパラメータ候補リストに登録されている全てのフィルタパラメー
タの処理が完了すると、フィルタパラメータ確定部123が保持している誤差評価値が最
小であるフィルタパラメータをフィルタパラメータとして確定して(S127)、処理を
終了する。
(S126)。フィルタパラメータ候補リストに登録されている全てのフィルタパラメー
タの処理が完了すると、フィルタパラメータ確定部123が保持している誤差評価値が最
小であるフィルタパラメータをフィルタパラメータとして確定して(S127)、処理を
終了する。
ここでは、誤差評価値としてSADを用いたが、フィルタパラメータが算出できればよ
く、これに限定されずSSDなどを用いても良い。また、復号画像データと原画像データ
の誤差だけでなく、フィルタパラメータを伝送するのに必要な符号量を加味して評価して
も良い。
く、これに限定されずSSDなどを用いても良い。また、復号画像データと原画像データ
の誤差だけでなく、フィルタパラメータを伝送するのに必要な符号量を加味して評価して
も良い。
(フィルタパラメータ設定部120)
続いて、フィルタパラメータ設定部120の詳細について説明する。
続いて、フィルタパラメータ設定部120の詳細について説明する。
最初に、フィルタパラメータについて説明する。フィルタパラメータは、フィルタタイ
プ、バンド幅、バンド位置、オフセット0、オフセット1、オフセット2、オフセット3
、オフセット4で構成される。
プ、バンド幅、バンド位置、オフセット0、オフセット1、オフセット2、オフセット3
、オフセット4で構成される。
フィルタタイプには、フィルタタイプ0、フィルタタイプ1、フィルタタイプ2、フィ
ルタタイプ3、フィルタタイプ4、及びフィルタタイプ5の6つがある。
ルタタイプ3、フィルタタイプ4、及びフィルタタイプ5の6つがある。
フィルタタイプ0はループフィルタを処理しないことを示し、フィルタタイプ1はルー
プフィルタがバンドタイプフィルタであることを示し、フィルタタイプ2からフィルタタ
イプ5はループフィルタがエッジタイプフィルタであることを示す。
プフィルタがバンドタイプフィルタであることを示し、フィルタタイプ2からフィルタタ
イプ5はループフィルタがエッジタイプフィルタであることを示す。
フィルタパラメータ設定部120は、復号画像データと原画像データの誤差評価値が閾
値以下であれば、フィルタタイプをフィルタタイプ0だけで構成されるフィルタパラメー
タ候補リストを生成し、誤差評価値が閾値以下でなければ、フィルタパラメータが取り得
る全ての組み合わせのフィルタパラメータを含むフィルタパラメータ候補リストを生成す
る。
値以下であれば、フィルタタイプをフィルタタイプ0だけで構成されるフィルタパラメー
タ候補リストを生成し、誤差評価値が閾値以下でなければ、フィルタパラメータが取り得
る全ての組み合わせのフィルタパラメータを含むフィルタパラメータ候補リストを生成す
る。
(ループフィルタ実行部121)
続いて、ループフィルタ実行部121の詳細について説明する。ループフィルタ実行部
121は、フィルタタイプ判定部130とエッジタイプフィルタ131、バンドタイプフ
ィルタ132で構成される。
続いて、ループフィルタ実行部121の詳細について説明する。ループフィルタ実行部
121は、フィルタタイプ判定部130とエッジタイプフィルタ131、バンドタイプフ
ィルタ132で構成される。
引き続いて、ループフィルタ実行部121の動作について説明する。
最初に、フィルタタイプ判定部130は、フィルタタイプの判定をする。フィルタタイ
プが0であれば、端子12より供給される復号画像データをフィルタ適用後の復号画像デ
ータとして誤差計測部122に出力する。フィルタタイプが1であれば、バンドタイプフ
ィルタ132は、端子12より供給される復号画像データにフィルタパラメータに基づい
てバンドタイプフィルタを適用し、フィルタ適用後の復号画像データを誤差計測部122
に出力する。フィルタタイプが2から5であれば、エッジタイプフィルタ131は、端子
12より供給される復号画像データにフィルタパラメータに基づいてエッジタイプフィル
タを適用し、フィルタ適用後の復号画像データを誤差計測部122に出力する。
最初に、フィルタタイプ判定部130は、フィルタタイプの判定をする。フィルタタイ
プが0であれば、端子12より供給される復号画像データをフィルタ適用後の復号画像デ
ータとして誤差計測部122に出力する。フィルタタイプが1であれば、バンドタイプフ
ィルタ132は、端子12より供給される復号画像データにフィルタパラメータに基づい
てバンドタイプフィルタを適用し、フィルタ適用後の復号画像データを誤差計測部122
に出力する。フィルタタイプが2から5であれば、エッジタイプフィルタ131は、端子
12より供給される復号画像データにフィルタパラメータに基づいてエッジタイプフィル
タを適用し、フィルタ適用後の復号画像データを誤差計測部122に出力する。
(エッジタイプフィルタ131)
続いて、エッジタイプフィルタ131の詳細について説明する。エッジタイプフィルタ
131は、エッジアングル設定部141、隣接画素設定部142、エッジタイプ判定部1
43、エッジオフセット値設定部144、およびエッジオフセット値加算部145を含む
。
続いて、エッジタイプフィルタ131の詳細について説明する。エッジタイプフィルタ
131は、エッジアングル設定部141、隣接画素設定部142、エッジタイプ判定部1
43、エッジオフセット値設定部144、およびエッジオフセット値加算部145を含む
。
図8はエッジタイプフィルタ131の動作を説明するフローチャートである。以下、図
8を用いて、エッジタイプフィルタ131の動作を説明する。
8を用いて、エッジタイプフィルタ131の動作を説明する。
最初に、エッジアングル設定部141は、エッジアングルの判定を行う(S130)。
エッジアングルnはフィルタタイプnとする。nは2,3,4,5である。次に、符号化
ツリーブロック内の64個の画素Xに対してラスタースキャン順に以下の処理を繰り返し
て行う(S131からS139)。Xは0、1、2、・・・、63である。
エッジアングルnはフィルタタイプnとする。nは2,3,4,5である。次に、符号化
ツリーブロック内の64個の画素Xに対してラスタースキャン順に以下の処理を繰り返し
て行う(S131からS139)。Xは0、1、2、・・・、63である。
まず、隣接画素設定部142は、エッジアングルに応じた隣接画素Aと隣接画素Bを設
定する(S132)。エッジアングルに応じた隣接画素Aと隣接画素Bについては後述す
る。次に、隣接画素設定部142は隣接画素Aまたは隣接画素Bがピクチャ外であるか検
査する(S133)。隣接画素Aまたは隣接画素Bがピクチャ外であれば(S133のY
)、エッジオフセット値設定部144はオフセット値を0に設定して(S137)、エッ
ジオフセット値加算部145は画素Xにオフセット値を加算して処理画素X'を算出する
(S138)。隣接画素Aまたは隣接画素Bがピクチャ外でなければ(S133のN)、
loopfilter_interleave_flagが1であるか検査する(S14
0)。loopfilter_interleave_flagが1であれば(S140
のY)、隣接画素設定部142は隣接画素Aまたは隣接画素Bがタイル外であるか検査す
る(S134)。隣接画素Aまたは隣接画素Bがタイル外であるとは、隣接画素Aまたは
隣接画素Bが画素Xとは異なるタイルに属するCTBに含まれることである。loopf
ilter_interleave_flagが1でなければ(S140のN)、エッジ
タイプ判定部143は、エッジタイプの判定をする(S135)。
定する(S132)。エッジアングルに応じた隣接画素Aと隣接画素Bについては後述す
る。次に、隣接画素設定部142は隣接画素Aまたは隣接画素Bがピクチャ外であるか検
査する(S133)。隣接画素Aまたは隣接画素Bがピクチャ外であれば(S133のY
)、エッジオフセット値設定部144はオフセット値を0に設定して(S137)、エッ
ジオフセット値加算部145は画素Xにオフセット値を加算して処理画素X'を算出する
(S138)。隣接画素Aまたは隣接画素Bがピクチャ外でなければ(S133のN)、
loopfilter_interleave_flagが1であるか検査する(S14
0)。loopfilter_interleave_flagが1であれば(S140
のY)、隣接画素設定部142は隣接画素Aまたは隣接画素Bがタイル外であるか検査す
る(S134)。隣接画素Aまたは隣接画素Bがタイル外であるとは、隣接画素Aまたは
隣接画素Bが画素Xとは異なるタイルに属するCTBに含まれることである。loopf
ilter_interleave_flagが1でなければ(S140のN)、エッジ
タイプ判定部143は、エッジタイプの判定をする(S135)。
隣接画素Aまたは隣接画素Bがタイル外であれば(S134のY)、エッジオフセット
値設定部144はオフセット値を0に設定して(S137)、エッジオフセット値加算部
145は画素Xにオフセット値を加算して処理画素X'を算出する(S138)。隣接画
素Aまたは隣接画素Bがタイル外でなければ(S134のN)、エッジタイプ判定部14
3は、エッジタイプの判定をする(S135)。エッジタイプの判定については後述する
。次に、エッジオフセット値設定部144は、オフセット値の設定をする(S136)。
次に、エッジオフセット値加算部145は、画素Xにオフセット値を加算して処理画素X
'を算出する(S138)。処理画素X'の算出については後述する。
値設定部144はオフセット値を0に設定して(S137)、エッジオフセット値加算部
145は画素Xにオフセット値を加算して処理画素X'を算出する(S138)。隣接画
素Aまたは隣接画素Bがタイル外でなければ(S134のN)、エッジタイプ判定部14
3は、エッジタイプの判定をする(S135)。エッジタイプの判定については後述する
。次に、エッジオフセット値設定部144は、オフセット値の設定をする(S136)。
次に、エッジオフセット値加算部145は、画素Xにオフセット値を加算して処理画素X
'を算出する(S138)。処理画素X'の算出については後述する。
(エッジアングルに応じた隣接画素Aと隣接画素B)
図9はエッジアングルに応じた隣接画素Aと隣接画素Bを説明する図である。エッジア
ングル1の場合、隣接画素Aは画素Xの左の画素、隣接画素Bは画素Xの右の画素となる
(図9(a))。エッジアングル2の場合、隣接画素Aは画素Xの上の画素、隣接画素B
は画素Xの下の画素となる(図9(b))。エッジアングル3の場合、隣接画素Aは画素
Xの右上の画素、隣接画素Bは画素Xの左下の画素となる(図9(c))。エッジアング
ル4の場合、隣接画素Aは画素Xの左上の画素、隣接画素Bは画素Xの右下の画素となる
(図9(d))。このように、水平方向、垂直方向、右斜め方向、及び左斜め方向に対し
てエッジタイプフィルタを作用させることで、各方向に生じた誤差を補正することが可能
となる。ここで、エッジアングル1、エッジアングル2、エッジアングル3、及びエッジ
アングル4はそれぞれ、フィルタタイプ2、フィルタタイプ3、フィルタタイプ4、及び
フィルタタイプ5に割り当てられる。
図9はエッジアングルに応じた隣接画素Aと隣接画素Bを説明する図である。エッジア
ングル1の場合、隣接画素Aは画素Xの左の画素、隣接画素Bは画素Xの右の画素となる
(図9(a))。エッジアングル2の場合、隣接画素Aは画素Xの上の画素、隣接画素B
は画素Xの下の画素となる(図9(b))。エッジアングル3の場合、隣接画素Aは画素
Xの右上の画素、隣接画素Bは画素Xの左下の画素となる(図9(c))。エッジアング
ル4の場合、隣接画素Aは画素Xの左上の画素、隣接画素Bは画素Xの右下の画素となる
(図9(d))。このように、水平方向、垂直方向、右斜め方向、及び左斜め方向に対し
てエッジタイプフィルタを作用させることで、各方向に生じた誤差を補正することが可能
となる。ここで、エッジアングル1、エッジアングル2、エッジアングル3、及びエッジ
アングル4はそれぞれ、フィルタタイプ2、フィルタタイプ3、フィルタタイプ4、及び
フィルタタイプ5に割り当てられる。
以上のように、エッジタイプフィルタ131において、フィルタパラメータがCTB単
位で多重化されている(loopfilter_interleave_flagが1)
場合、隣接画素Aまたは隣接画素Bがタイル外であれば、オフセット値を0に設定してル
ープフィルタを作用させないようにすることで、ループフィルタの動作をCTB単位で完
結させることができる。そのため、図10のようにCTB内の画素で右辺や下辺がタイル
境界に接しているCTB内の画素Xにループフィルタを作用させるために必要となるフィ
ルタ適用前の画素Aと画素Xは、タイル境界を跨いで保持される必要がなくなる。
位で多重化されている(loopfilter_interleave_flagが1)
場合、隣接画素Aまたは隣接画素Bがタイル外であれば、オフセット値を0に設定してル
ープフィルタを作用させないようにすることで、ループフィルタの動作をCTB単位で完
結させることができる。そのため、図10のようにCTB内の画素で右辺や下辺がタイル
境界に接しているCTB内の画素Xにループフィルタを作用させるために必要となるフィ
ルタ適用前の画素Aと画素Xは、タイル境界を跨いで保持される必要がなくなる。
(エッジタイプの判定)
エッジタイプは、画素Xと隣接画素Aの差分の符号と、画素Xと隣接画素Bの差分の符
号の和を加算した値である符号和SSで決定する。画素mの画素値をP(m)とすると、
符号和SSは式(1)で算出される。
SS=Sign(P(X)−P(A))+Sign(P(X)−P(B)); 式(
1)
ここで、Sign(i)は入力値iが0未満であれば−1を、入力値iが0以上であれ
ば1を返す関数である。
エッジタイプは、画素Xと隣接画素Aの差分の符号と、画素Xと隣接画素Bの差分の符
号の和を加算した値である符号和SSで決定する。画素mの画素値をP(m)とすると、
符号和SSは式(1)で算出される。
SS=Sign(P(X)−P(A))+Sign(P(X)−P(B)); 式(
1)
ここで、Sign(i)は入力値iが0未満であれば−1を、入力値iが0以上であれ
ば1を返す関数である。
SSが0、−2、−1、1、2である場合のエッジタイプをそれぞれ0、1、2、3、
4とする。エッジタイプの0、1、2、3、4のオフセット値としてオフセット0、オフ
セット1、オフセット2、オフセット3、オフセット4がそれぞれ設定される。ここで、
SSが0である場合は画素X、隣接画素A、及び隣接画素Bが直線的に並んでいるため、
誤差はないとしてオフセット0は0に設定する。SSが0でない場合は歪みを補正するた
めオフセット0からオフセット4のそれぞれを適切な値に設定する。
4とする。エッジタイプの0、1、2、3、4のオフセット値としてオフセット0、オフ
セット1、オフセット2、オフセット3、オフセット4がそれぞれ設定される。ここで、
SSが0である場合は画素X、隣接画素A、及び隣接画素Bが直線的に並んでいるため、
誤差はないとしてオフセット0は0に設定する。SSが0でない場合は歪みを補正するた
めオフセット0からオフセット4のそれぞれを適切な値に設定する。
(エッジタイプフィルタの処理画素X'の算出)
画素Xのエッジタイプフィルタ適用後の処理画素X'は式(2)で算出される。
P(X')=P(X)+OFFSET[SS]; 式(2)
ここで、OFFSET[m]はオフセットmである(m=0,1,・・・,4)。
画素Xのエッジタイプフィルタ適用後の処理画素X'は式(2)で算出される。
P(X')=P(X)+OFFSET[SS]; 式(2)
ここで、OFFSET[m]はオフセットmである(m=0,1,・・・,4)。
以上のように、エッジタイプフィルタでは、水平方向、垂直方向、右斜め方向、及び左
斜め方向に対して、隣接画素との差分の符号によって、画素単位で適応的に誤差を補正す
ることが可能となる。
斜め方向に対して、隣接画素との差分の符号によって、画素単位で適応的に誤差を補正す
ることが可能となる。
(バンドタイプフィルタ132)
続いて、バンドタイプフィルタ132の詳細について説明する。バンドタイプフィルタ
132は、ハンド幅設定部151、バンド位置設定部152、バンドオフセット値設定部
153、およびバンドオフセット値加算部154を含む。
続いて、バンドタイプフィルタ132の詳細について説明する。バンドタイプフィルタ
132は、ハンド幅設定部151、バンド位置設定部152、バンドオフセット値設定部
153、およびバンドオフセット値加算部154を含む。
図11はバンドタイプフィルタ132の動作を説明するフローチャートである。以下、
図11を用いて、バンドタイプフィルタの動作を説明する。
図11を用いて、バンドタイプフィルタの動作を説明する。
最初に、ハンド幅設定部151は、バンド幅を設定する(S150)。
(バンド幅)
ここで、バンド幅について説明する。バンド幅は、入力画像の取り得る画素値の範囲を
複数のバンドに分割する際のバンド幅である。本実施の形態では、バンド幅は32とする
。本実施の形態では入力画像は8ビットであるため0から255までの画素値の範囲を有
するため、0から31(バンド0)、32から63(バンド1)、64から95(バンド
2)、96から127(バンド3)、128から159(バンド4)、160から191
(バンド5)、192から223(バンド6)、224から255(バンド7)の8つの
バンドに分割される。
ここで、バンド幅について説明する。バンド幅は、入力画像の取り得る画素値の範囲を
複数のバンドに分割する際のバンド幅である。本実施の形態では、バンド幅は32とする
。本実施の形態では入力画像は8ビットであるため0から255までの画素値の範囲を有
するため、0から31(バンド0)、32から63(バンド1)、64から95(バンド
2)、96から127(バンド3)、128から159(バンド4)、160から191
(バンド5)、192から223(バンド6)、224から255(バンド7)の8つの
バンドに分割される。
このようにバンド幅を設定して、バンド幅を大きくすることで、広範囲の画素値を一括
して補正することができ、バンド幅を小さくすることで、狭範囲の画素値を一括して補正
することができる。例えば、あるピクチャ内の画素の取り得る画素値のレンジが広い場合
にはバンド幅が大きくなるようにし、あるピクチャ内の画素の取り得る画素値のレンジが
狭い場合には、バンド幅が小さくなるようにして、ピクチャの特性に応じて、復号画像を
適切に補正することができる。本実施の形態ではバンド幅は固定値として説明しているが
、入力画像の取り得る画素値の範囲を1以上のバンドに分割できればよく、16や128
でもよい。また、バンド幅をPPSなどに多重化して伝送し、ピクチャ内の画素の取り得
る画素値のレンジなどに合わせて適応的に変更することで、効果的にバンドタイプフィル
タを作用させることができる。
して補正することができ、バンド幅を小さくすることで、狭範囲の画素値を一括して補正
することができる。例えば、あるピクチャ内の画素の取り得る画素値のレンジが広い場合
にはバンド幅が大きくなるようにし、あるピクチャ内の画素の取り得る画素値のレンジが
狭い場合には、バンド幅が小さくなるようにして、ピクチャの特性に応じて、復号画像を
適切に補正することができる。本実施の形態ではバンド幅は固定値として説明しているが
、入力画像の取り得る画素値の範囲を1以上のバンドに分割できればよく、16や128
でもよい。また、バンド幅をPPSなどに多重化して伝送し、ピクチャ内の画素の取り得
る画素値のレンジなどに合わせて適応的に変更することで、効果的にバンドタイプフィル
タを作用させることができる。
ステップS150に続いて、3つのバンド位置について以下の処理が繰り返される(S
151からS158)。ここで、3つのバンド位置について説明する。1番目のバンド位
置はフィルタパラメータに含まれるバンド位置である。2番目のバンド位置は1番目のバ
ンド位置を1つだけずらしたバンド位置となる。例えば、1番目のバンド位置がバンド2
であったとすると、2番目のバンド位置はバンド3となる。同様に、3番目のバンド位置
は2番目のバンド位置を1つだけずらしたバンド位置となる。
151からS158)。ここで、3つのバンド位置について説明する。1番目のバンド位
置はフィルタパラメータに含まれるバンド位置である。2番目のバンド位置は1番目のバ
ンド位置を1つだけずらしたバンド位置となる。例えば、1番目のバンド位置がバンド2
であったとすると、2番目のバンド位置はバンド3となる。同様に、3番目のバンド位置
は2番目のバンド位置を1つだけずらしたバンド位置となる。
バンド位置設定部152は、b番目のバンド位置を設定する(S152)。ここで、b
は0と1である。バンド位置は、バンド幅によって分割されたバンドのいずれかを示す値
であって、ここでは、0から7までの整数となる。例えば、バンド位置の0はバンド0を
示し、バンド位置の2はバンド3を示す。
は0と1である。バンド位置は、バンド幅によって分割されたバンドのいずれかを示す値
であって、ここでは、0から7までの整数となる。例えば、バンド位置の0はバンド0を
示し、バンド位置の2はバンド3を示す。
ステップS152に続いて、バンドオフセット値設定部153は、バンド毎のオフセッ
ト値を設定する(S153)。バンド位置で示されたバンドのオフセット値はオフセット
0に設定されて、バンド位置で示されたバンド以外のバンドのオフセット値は0に設定さ
れる。
ト値を設定する(S153)。バンド位置で示されたバンドのオフセット値はオフセット
0に設定されて、バンド位置で示されたバンド以外のバンドのオフセット値は0に設定さ
れる。
次に、画素値の符号化ツリーブロック内の64個の画素Xに対してラスタースキャン順
に以下の処理が行なわれる(S154からS157)。Xは0、1、・・・、63である
。
に以下の処理が行なわれる(S154からS157)。Xは0、1、・・・、63である
。
まず、バンドオフセット値加算部154は、画素Xの属するバンドであるxbを決定す
る(S155)。次に、バンドオフセット値加算部154は、画素Xに画素Xが属するバ
ンドのオフセット値Ob[xb]を加算して処理画素X'を算出する(S156)。
る(S155)。次に、バンドオフセット値加算部154は、画素Xに画素Xが属するバ
ンドのオフセット値Ob[xb]を加算して処理画素X'を算出する(S156)。
(バンドタイプフィルタの処理画素X'の算出)
画素Xのバンドタイプフィルタ適用後の処理画素X'は式(3)で算出される。
P(X')=P(X)+Ob[xb];式(3)
画素Xのバンドタイプフィルタ適用後の処理画素X'は式(3)で算出される。
P(X')=P(X)+Ob[xb];式(3)
以上のように、バンドタイプフィルタは特定範囲内の画素値の画素だけを補正すること
ができるため、平坦領域に発生し易いノイズなどを低減する効果がある。特に、4:2:
0フォーマットなど輝度信号より解像度を減らした色差信号については、輝度信号よりも
がDCに誤差が発生し易くエッジが少ないため、バンドタイプフィルタの効果が大きい。
また、隣接画素を参照しないためエッジタイプのオフセットよりもフィルタリングの処理
量やメモリ量を少なく実現することができる。
ができるため、平坦領域に発生し易いノイズなどを低減する効果がある。特に、4:2:
0フォーマットなど輝度信号より解像度を減らした色差信号については、輝度信号よりも
がDCに誤差が発生し易くエッジが少ないため、バンドタイプフィルタの効果が大きい。
また、隣接画素を参照しないためエッジタイプのオフセットよりもフィルタリングの処理
量やメモリ量を少なく実現することができる。
(ループフィルタ104)
続いて、ループフィルタ104について説明する。ループフィルタ104は、ループフ
ィルタ実行部121と同一の機能と動作を有するため、ここでの説明は省略する。
続いて、ループフィルタ104について説明する。ループフィルタ104は、ループフ
ィルタ実行部121と同一の機能と動作を有するため、ここでの説明は省略する。
(フィルタパラメータ符号化部105)
続いて、フィルタパラメータ符号化部105の詳細について説明する。図12は符号化
対象CTBと符号化対象CTBに隣接するCTBを説明する図である。図13はフィルタ
パラメータ符号化部105の動作を説明するフローチャートである。以下、図12と図1
3を用いて、フィルタパラメータ符号化部105の動作を説明する。
続いて、フィルタパラメータ符号化部105の詳細について説明する。図12は符号化
対象CTBと符号化対象CTBに隣接するCTBを説明する図である。図13はフィルタ
パラメータ符号化部105の動作を説明するフローチャートである。以下、図12と図1
3を用いて、フィルタパラメータ符号化部105の動作を説明する。
最初に、隣接CTBの有効性であるavailable_left_ctb_flag
とavailable_above_ctb_flagを導出する(S160)。次に、
available_left_ctb_flagが1であるか検査する(S161)。
available_left_ctb_flagが1であれば(S161のY)、符号
化対象CTBと符号化対象CTBの左に位置するCTBのフィルタパラメータが同一であ
るか検査する(S162)。ここで、符号化対象CTBの左に位置するCTBは図12の
CTBのAである。符号化対象CTBと符号化対象CTBの左に位置するCTBのフィル
タパラメータが同一であれば(S162のY)、loopfilter_merge_l
eft_flagを1としてloopfilter_merge_left_flagを
符号化し(S163)、処理を終了する。符号化対象CTBと符号化対象CTBの左に位
置するCTBのフィルタパラメータが同一でなければ(S162のN)、loopfil
ter_merge_left_flagを0としてloopfilter_merge
_left_flagを符号化する(S164)。
とavailable_above_ctb_flagを導出する(S160)。次に、
available_left_ctb_flagが1であるか検査する(S161)。
available_left_ctb_flagが1であれば(S161のY)、符号
化対象CTBと符号化対象CTBの左に位置するCTBのフィルタパラメータが同一であ
るか検査する(S162)。ここで、符号化対象CTBの左に位置するCTBは図12の
CTBのAである。符号化対象CTBと符号化対象CTBの左に位置するCTBのフィル
タパラメータが同一であれば(S162のY)、loopfilter_merge_l
eft_flagを1としてloopfilter_merge_left_flagを
符号化し(S163)、処理を終了する。符号化対象CTBと符号化対象CTBの左に位
置するCTBのフィルタパラメータが同一でなければ(S162のN)、loopfil
ter_merge_left_flagを0としてloopfilter_merge
_left_flagを符号化する(S164)。
available_left_ctb_flagが1でない場合と(S161のN)
、ステップS164に続いて、available_above_ctb_flagが1
であるか検査する(S165)。available_above_ctb_flagが
1であれば(S165のY)、符号化対象CTBと符号化対象CTBの上に位置するCT
Bのフィルタパラメータが同一であるか検査する(S166)。ここで、符号化対象CT
Bの上に位置するCTBは図12のCTBのBである。符号化対象CTBと符号化対象C
TBの上に位置するCTBのフィルタパラメータが同一であれば(S166のY)、lo
opfilter_merge_above_flagを1としてloopfilter
_merge_above_flagを符号化し(S167)、処理を終了する。符号化
対象CTBと符号化対象CTBの上に位置するCTBのフィルタパラメータが同一でなけ
れば(S166のN)、loopfilter_merge_above_flagを0
としてloopfilter_merge_above_flagを符号化する(S16
8)。ステップS168に続いて、ループフィルタ符号化パラメータであるloopfi
lter_cod_param()を符号化する。ここで、ループフィルタ符号化パラメ
ータはフィルタパラメータの全ての要素を符号化した符号列である。
、ステップS164に続いて、available_above_ctb_flagが1
であるか検査する(S165)。available_above_ctb_flagが
1であれば(S165のY)、符号化対象CTBと符号化対象CTBの上に位置するCT
Bのフィルタパラメータが同一であるか検査する(S166)。ここで、符号化対象CT
Bの上に位置するCTBは図12のCTBのBである。符号化対象CTBと符号化対象C
TBの上に位置するCTBのフィルタパラメータが同一であれば(S166のY)、lo
opfilter_merge_above_flagを1としてloopfilter
_merge_above_flagを符号化し(S167)、処理を終了する。符号化
対象CTBと符号化対象CTBの上に位置するCTBのフィルタパラメータが同一でなけ
れば(S166のN)、loopfilter_merge_above_flagを0
としてloopfilter_merge_above_flagを符号化する(S16
8)。ステップS168に続いて、ループフィルタ符号化パラメータであるloopfi
lter_cod_param()を符号化する。ここで、ループフィルタ符号化パラメ
ータはフィルタパラメータの全ての要素を符号化した符号列である。
なお、フィルタパラメータ符号化部105は、符号化対象CTBの左と上に位置するC
TBのフィルタパラメータを参照するため、ピクチャ内の全てのCTBのフィルタパラメ
ータを保持しているものとする。
TBのフィルタパラメータを参照するため、ピクチャ内の全てのCTBのフィルタパラメ
ータを保持しているものとする。
ここで、CTB単位でフィルタパラメータを符号化する場合、全てのフィルタパラメー
タをループフィルタ符号化パラメータとして符号化すると、フィルタパラメータの符号化
に膨大な符号量が必要となって、画像データを符号化したCTB符号列に十分に符号量を
割り当てることができなくなり、結果的に符号化効率が低下する可能性がある。また、同
一オブジェクトに属するCTBに対して異なるフィルタパラメータを用いた場合、同一オ
ブジェクト内でのループフィルタの特性の相違がブロック歪みとして視覚的に認識される
可能性がある。そのため、一般的には同一オブジェクト内ではフィルタパラメータは同一
になるようにフィルタパラメータが設定される可能性が高い。よって、以上のように、符
号化対象CTBのフィルタパラメータが符号化対象CTBに隣接する符号化済みのCTB
のフィルタパラメータと同一である場合には、符号化対象CTBのフィルタパラメータと
して符号化対象CTBに隣接する符号化済みのCTBのフィルタパラメータを利用するこ
とを示す1ビットのフラグを符号化することで、視覚的な劣化を伴うことなく、ループフ
ィルタ符号化パラメータに要する符号量を1ビットに削減して、符号化効率を向上させる
ことができる。なお、ループフィルタ符号化パラメータの詳細については後述するが、ル
ープフィルタ符号化パラメータの符号化に要する符号量は1ビットよりも十分に大きな符
号量となる。一方、符号化対象CTBのフィルタパラメータが符号化対象CTBに隣接す
る符号化済みのCTBのフィルタパラメータと同一でない場合には、符号化対象CTBの
フィルタパラメータとして符号化対象CTBに隣接する符号化済みのCTBのフィルタパ
ラメータを利用しないことを示す1ビットのフラグを符号化し、ループフィルタ符号化パ
ラメータを符号化することで、CTB毎にフィルタパラメータを変更できる。
タをループフィルタ符号化パラメータとして符号化すると、フィルタパラメータの符号化
に膨大な符号量が必要となって、画像データを符号化したCTB符号列に十分に符号量を
割り当てることができなくなり、結果的に符号化効率が低下する可能性がある。また、同
一オブジェクトに属するCTBに対して異なるフィルタパラメータを用いた場合、同一オ
ブジェクト内でのループフィルタの特性の相違がブロック歪みとして視覚的に認識される
可能性がある。そのため、一般的には同一オブジェクト内ではフィルタパラメータは同一
になるようにフィルタパラメータが設定される可能性が高い。よって、以上のように、符
号化対象CTBのフィルタパラメータが符号化対象CTBに隣接する符号化済みのCTB
のフィルタパラメータと同一である場合には、符号化対象CTBのフィルタパラメータと
して符号化対象CTBに隣接する符号化済みのCTBのフィルタパラメータを利用するこ
とを示す1ビットのフラグを符号化することで、視覚的な劣化を伴うことなく、ループフ
ィルタ符号化パラメータに要する符号量を1ビットに削減して、符号化効率を向上させる
ことができる。なお、ループフィルタ符号化パラメータの詳細については後述するが、ル
ープフィルタ符号化パラメータの符号化に要する符号量は1ビットよりも十分に大きな符
号量となる。一方、符号化対象CTBのフィルタパラメータが符号化対象CTBに隣接す
る符号化済みのCTBのフィルタパラメータと同一でない場合には、符号化対象CTBの
フィルタパラメータとして符号化対象CTBに隣接する符号化済みのCTBのフィルタパ
ラメータを利用しないことを示す1ビットのフラグを符号化し、ループフィルタ符号化パ
ラメータを符号化することで、CTB毎にフィルタパラメータを変更できる。
ここで、隣接CTBの有効性であるavailable_left_ctb_flag
とavailable_above_ctb_flagの導出について説明する。図14
は隣接CTBの有効性の導出を説明するフローチャートである。最初に、availab
le_left_ctb_flagとavailable_above_ctb_fla
gは1に設定される(S180)。次に、符号化対象CTBの左辺がピクチャ境界に接し
ているか検査する(S181)。符号化対象CTBの左辺がピクチャ境界に接していれば
(S181のY)、available_left_ctb_flagを0とする(S1
84)。符号化対象CTBの左辺がピクチャ境界に接していなければ(S181のN)、
符号化対象CTBの左辺がタイル境界に接しているか検査する(S182)。ここで、符
号化対象CTBの左辺がタイル境界に接しているとは、符号化対象CTBと符号化対象C
TBの左に位置するCTBが別のタイルに属することである。一方、符号化対象CTBの
左辺がタイル境界に接していないとは、符号化対象CTBと、符号化対象CTBの左に位
置するCTBとが同一のタイルに属することである。符号化対象CTBの左辺がタイル境
界に接していれば(S182のY)、loopfilter_interleave_f
lagが1であるか検査する(S183)。loopfilter_interleav
e_flagが1であれば(S183のY)、available_left_ctb_
flagを0とする(S184)。loopfilter_interleave_fl
agが1でない場合(S183のN)は、ステップS184はスキップされる。符号化対
象CTBの左辺がタイル境界に接していない場合(S182のN)は、ステップS183
とステップS184はスキップされる。
とavailable_above_ctb_flagの導出について説明する。図14
は隣接CTBの有効性の導出を説明するフローチャートである。最初に、availab
le_left_ctb_flagとavailable_above_ctb_fla
gは1に設定される(S180)。次に、符号化対象CTBの左辺がピクチャ境界に接し
ているか検査する(S181)。符号化対象CTBの左辺がピクチャ境界に接していれば
(S181のY)、available_left_ctb_flagを0とする(S1
84)。符号化対象CTBの左辺がピクチャ境界に接していなければ(S181のN)、
符号化対象CTBの左辺がタイル境界に接しているか検査する(S182)。ここで、符
号化対象CTBの左辺がタイル境界に接しているとは、符号化対象CTBと符号化対象C
TBの左に位置するCTBが別のタイルに属することである。一方、符号化対象CTBの
左辺がタイル境界に接していないとは、符号化対象CTBと、符号化対象CTBの左に位
置するCTBとが同一のタイルに属することである。符号化対象CTBの左辺がタイル境
界に接していれば(S182のY)、loopfilter_interleave_f
lagが1であるか検査する(S183)。loopfilter_interleav
e_flagが1であれば(S183のY)、available_left_ctb_
flagを0とする(S184)。loopfilter_interleave_fl
agが1でない場合(S183のN)は、ステップS184はスキップされる。符号化対
象CTBの左辺がタイル境界に接していない場合(S182のN)は、ステップS183
とステップS184はスキップされる。
次に、符号化対象CTBの上辺がピクチャ境界に接しているか検査する(S185)。
符号化対象CTBの上辺がピクチャ境界に接していれば(S185のY)、availa
ble_above_ctb_flagを0とする(S188)。符号化対象CTBの上
辺がピクチャ境界に接していなければ(S185のN)、符号化対象CTBの上辺がタイ
ル境界に接しているか検査する(S186)。ここで、符号化対象CTBの上辺がタイル
境界に接しているとは、符号化対象CTBと符号化対象CTBの上に位置するCTBが別
のタイルに属することである。一方、符号化対象CTBの上辺がタイル境界に接していな
いとは、符号化対象CTBと、符号化対象CTBの上に位置するCTBとが同一のタイル
に属することである。符号化対象CTBの上辺がタイル境界に接していれば(S186の
Y)、loopfilter_interleave_flagが1であるか検査する(
S187)。loopfilter_interleave_flagが1であれば(S
187のY)、available_above_ctb_flagを0とする(S18
8)。loopfilter_interleave_flagが1でない場合(S18
7のN)は、ステップS188はスキップされる。符号化対象CTBの上辺がタイル境界
に接していない場合(S186のN)は、ステップS187とステップS188はスキッ
プされる。
符号化対象CTBの上辺がピクチャ境界に接していれば(S185のY)、availa
ble_above_ctb_flagを0とする(S188)。符号化対象CTBの上
辺がピクチャ境界に接していなければ(S185のN)、符号化対象CTBの上辺がタイ
ル境界に接しているか検査する(S186)。ここで、符号化対象CTBの上辺がタイル
境界に接しているとは、符号化対象CTBと符号化対象CTBの上に位置するCTBが別
のタイルに属することである。一方、符号化対象CTBの上辺がタイル境界に接していな
いとは、符号化対象CTBと、符号化対象CTBの上に位置するCTBとが同一のタイル
に属することである。符号化対象CTBの上辺がタイル境界に接していれば(S186の
Y)、loopfilter_interleave_flagが1であるか検査する(
S187)。loopfilter_interleave_flagが1であれば(S
187のY)、available_above_ctb_flagを0とする(S18
8)。loopfilter_interleave_flagが1でない場合(S18
7のN)は、ステップS188はスキップされる。符号化対象CTBの上辺がタイル境界
に接していない場合(S186のN)は、ステップS187とステップS188はスキッ
プされる。
ここで、フィルタパラメータがCTB単位で多重化され(loopfilter_in
terleave_flagが1)、符号化処理がタイル単位で独立(並列)に行なわれ
るような場合に、符号化対象CTBの左辺がタイル境界に接している符号化対象CTBに
ついて、左に位置するCTBからフィルタパラメータを取得することを許可すると、左に
位置するCTBのフィルタパラメータが確定されるまで、符号化対象CTBとフィルタパ
ラメータと左に位置するCTBのフィルタパラメータとが同一であるか検査することがで
きないため、待ち時間が生じる可能性がある。そこで、CTBの左辺がタイル境界に接し
ているような符号化対象CTBについては、左に位置するCTBのフィルタパラメータの
利用を禁止する。さらに、available_left_ctb_flagを0として
loopfilter_merge_left_flagを符号化しないようにすること
で、loopfilter_merge_left_flagの符号量を削減し、符号化
効率の低下を抑制する。また、loopfilter_merge_left_flag
を符号化しないようにすることで、明示的に左に位置するCTBのフィルタパラメータの
利用を禁止することができる。同様に、符号化対象CTBの上辺がタイル境界に接してい
る場合に、available_above_ctb_flagを0としてloopfi
lter_merge_above_flagを符号化しないようにすることで符号化効
率の低下を抑制し、明示的に上に位置するCTBのフィルタパラメータの利用を禁止する
ことができる。
terleave_flagが1)、符号化処理がタイル単位で独立(並列)に行なわれ
るような場合に、符号化対象CTBの左辺がタイル境界に接している符号化対象CTBに
ついて、左に位置するCTBからフィルタパラメータを取得することを許可すると、左に
位置するCTBのフィルタパラメータが確定されるまで、符号化対象CTBとフィルタパ
ラメータと左に位置するCTBのフィルタパラメータとが同一であるか検査することがで
きないため、待ち時間が生じる可能性がある。そこで、CTBの左辺がタイル境界に接し
ているような符号化対象CTBについては、左に位置するCTBのフィルタパラメータの
利用を禁止する。さらに、available_left_ctb_flagを0として
loopfilter_merge_left_flagを符号化しないようにすること
で、loopfilter_merge_left_flagの符号量を削減し、符号化
効率の低下を抑制する。また、loopfilter_merge_left_flag
を符号化しないようにすることで、明示的に左に位置するCTBのフィルタパラメータの
利用を禁止することができる。同様に、符号化対象CTBの上辺がタイル境界に接してい
る場合に、available_above_ctb_flagを0としてloopfi
lter_merge_above_flagを符号化しないようにすることで符号化効
率の低下を抑制し、明示的に上に位置するCTBのフィルタパラメータの利用を禁止する
ことができる。
(シンタックス)
続いて、本実施の形態に係るシンタックスについて説明する。符号化においてはシンタ
ックスに含まれる各要素が符号化ストリーム中に符号化される。一方、復号においては、
シンタックスに含まれる各要素が符号化ストリームから復号されて、符号化において符号
化された要素と同じ値を取得することができる。これ以降、特に断らない限り、シンタッ
クスを構成する各要素は固定長ビットで符号列となる。図15と図16はシンタックスを
説明する図である。以下、図15と図16を用いて、シンタックスについて説明する。こ
こでは、説明を容易にするためにシンタックスを構成する各要素は固定長ビットで符号列
となるとしたが、可変長ビットとしてもよい。
続いて、本実施の形態に係るシンタックスについて説明する。符号化においてはシンタ
ックスに含まれる各要素が符号化ストリーム中に符号化される。一方、復号においては、
シンタックスに含まれる各要素が符号化ストリームから復号されて、符号化において符号
化された要素と同じ値を取得することができる。これ以降、特に断らない限り、シンタッ
クスを構成する各要素は固定長ビットで符号列となる。図15と図16はシンタックスを
説明する図である。以下、図15と図16を用いて、シンタックスについて説明する。こ
こでは、説明を容易にするためにシンタックスを構成する各要素は固定長ビットで符号列
となるとしたが、可変長ビットとしてもよい。
最初に、SPS(Sequence Parameter Set)について説明する
。SPSはシーケンス(符号化ストリーム)の特性を決定するためのパラメータ群を定義
するパラメータセットである。ピクチャのサイズ、ビット深度、CTBのサイズ、CTB
の分割回数などが定義される。
。SPSはシーケンス(符号化ストリーム)の特性を決定するためのパラメータ群を定義
するパラメータセットである。ピクチャのサイズ、ビット深度、CTBのサイズ、CTB
の分割回数などが定義される。
続いて、PPS(Picture Parameter Set)について説明する。
図15(a)はPPSのシンタックスの一例を説明する図である。PPSはピクチャの特
性を決定するためのパラメータ群を定義するパラメータセットである。PPSには、lo
opfilter_interleave_flag、pic_loopfilter_
param()、tiles_coding_flag、num_tile_colum
ns_minus1、num_tile_rows_minus1、uniform_s
pacing_flag、colmn_width、colmn_heightがシンタ
ックスに従って設置され、動画像符号化において符号化され、動画像復号において復号さ
れる。
図15(a)はPPSのシンタックスの一例を説明する図である。PPSはピクチャの特
性を決定するためのパラメータ群を定義するパラメータセットである。PPSには、lo
opfilter_interleave_flag、pic_loopfilter_
param()、tiles_coding_flag、num_tile_colum
ns_minus1、num_tile_rows_minus1、uniform_s
pacing_flag、colmn_width、colmn_heightがシンタ
ックスに従って設置され、動画像符号化において符号化され、動画像復号において復号さ
れる。
PPSのシンタックス要素であるtiles_coding_flag、num_ti
le_columns_minus1、num_tile_rows_minus1、u
niform_spacing_flag、colmn_width、colmn_he
ightはタイル情報である。tiles_coding_flagは、1であればピク
チャは複数のタイルで構成され、0であればピクチャはタイルとして構成されないことを
示す。num_tile_columns_minus1とnum_tile_rows
_minus1はそれぞれタイルを垂直方向と水平方向に分割する数を示す。unifo
rm_spacing_flagはピクチャを予め定められた方法で分割するか否かを決
定する情報である。ここでは、予め定められた方法とは、ピクチャを同じ大きさのタイル
に分割することを示す。colmn_width[i]とcolmn_height[i
]はそれぞれi番目のタイルの幅と高さを示す。図2(b)の場合は、num_tile
_columns_minus1とnum_tile_rows_minus1は1、u
niform_spacing_flagは1として符号化される。なお、シーケンス単
位でタイルの構成が変更されない場合、これらタイル情報のシンタックス要素をSPSに
設置することもできる。
le_columns_minus1、num_tile_rows_minus1、u
niform_spacing_flag、colmn_width、colmn_he
ightはタイル情報である。tiles_coding_flagは、1であればピク
チャは複数のタイルで構成され、0であればピクチャはタイルとして構成されないことを
示す。num_tile_columns_minus1とnum_tile_rows
_minus1はそれぞれタイルを垂直方向と水平方向に分割する数を示す。unifo
rm_spacing_flagはピクチャを予め定められた方法で分割するか否かを決
定する情報である。ここでは、予め定められた方法とは、ピクチャを同じ大きさのタイル
に分割することを示す。colmn_width[i]とcolmn_height[i
]はそれぞれi番目のタイルの幅と高さを示す。図2(b)の場合は、num_tile
_columns_minus1とnum_tile_rows_minus1は1、u
niform_spacing_flagは1として符号化される。なお、シーケンス単
位でタイルの構成が変更されない場合、これらタイル情報のシンタックス要素をSPSに
設置することもできる。
(スライスヘッダ)
続いて、スライスヘッダについて説明する。図15(b)はスライスヘッダのシンタッ
クスの一例を説明する図である。スライスヘッダはスライスの特性を決定するためのパラ
メータ群を定義するヘッダ情報である。スライスヘッダには、slice_addres
s、slice_type、num_of_tiles、tile_positionが
シンタックスに従って設置され、動画像符号化において符号化され、動画像復号において
復号される。
続いて、スライスヘッダについて説明する。図15(b)はスライスヘッダのシンタッ
クスの一例を説明する図である。スライスヘッダはスライスの特性を決定するためのパラ
メータ群を定義するヘッダ情報である。スライスヘッダには、slice_addres
s、slice_type、num_of_tiles、tile_positionが
シンタックスに従って設置され、動画像符号化において符号化され、動画像復号において
復号される。
slice_address(スライスアドレス)は、スライスに含まれる最初のCT
BのCTBアドレスを示す。slice_type(スライスタイプ)は、イントラ予測
のみを用いたIスライス、イントラ予測と単予測のインター予測(動き補償予測)を用い
たPスライス、イントラ予測と、単予測と双予測のインター予測を用いたBスライスを示
す値である。num_of_tilesはスライスに含まれるタイル数を示す。tile
_positionはタイルの先頭バイトのスライスヘッダの先頭バイトからのバイト数
を示す。
BのCTBアドレスを示す。slice_type(スライスタイプ)は、イントラ予測
のみを用いたIスライス、イントラ予測と単予測のインター予測(動き補償予測)を用い
たPスライス、イントラ予測と、単予測と双予測のインター予測を用いたBスライスを示
す値である。num_of_tilesはスライスに含まれるタイル数を示す。tile
_positionはタイルの先頭バイトのスライスヘッダの先頭バイトからのバイト数
を示す。
(ループフィルタに関するシンタックス)
図16(a)はPPS内のピクチャループフィルタパラメータ(pic_loopfi
lter_param())のシンタックスの一例を説明する図である。ピクチャループ
フィルタパラメータには、loopfilter_unit()がシンタックスに従って
設置され、動画像符号化において符号化され、動画像復号において復号される。num_
of_ctbsはピクチャ内の総CTB数であって、PPS内にはピクチャ内の全てのC
TBのloopfilter_unit()が格納される。
図16(a)はPPS内のピクチャループフィルタパラメータ(pic_loopfi
lter_param())のシンタックスの一例を説明する図である。ピクチャループ
フィルタパラメータには、loopfilter_unit()がシンタックスに従って
設置され、動画像符号化において符号化され、動画像復号において復号される。num_
of_ctbsはピクチャ内の総CTB数であって、PPS内にはピクチャ内の全てのC
TBのloopfilter_unit()が格納される。
図16(b)はループフィルタ符号化パラメータ(loopfilter_cod_p
aram())のシンタックスの一例を説明する図である。ループフィルタ符号化パラメ
ータには、loopfilter_type_idx、loopfilter_band
_position、loopfilter_offsetがシンタックスに従って設置
され、動画像符号化において符号化され、動画像復号において復号される。
aram())のシンタックスの一例を説明する図である。ループフィルタ符号化パラメ
ータには、loopfilter_type_idx、loopfilter_band
_position、loopfilter_offsetがシンタックスに従って設置
され、動画像符号化において符号化され、動画像復号において復号される。
loopfilter_type_idxはフィルタパラメータのフィルタタイプを示
すインデックスであって、0から5の整数である。loopfilter_type_i
dxは3ビットの符号列である。loopfilter_band_positionは
フィルタパラメータのバンド位置であって、0から7までの整数を示す3ビットの符号列
である。loopfilter_offsetはフィルタパラメータのオフセットであっ
て、loopfilter_type_idxが1の場合は−32から31までの整数で
あって6ビットの符号列となり、loopfilter_type_idxが2から5の
場合は0から31までの整数であって5ビットの符号列となる。
すインデックスであって、0から5の整数である。loopfilter_type_i
dxは3ビットの符号列である。loopfilter_band_positionは
フィルタパラメータのバンド位置であって、0から7までの整数を示す3ビットの符号列
である。loopfilter_offsetはフィルタパラメータのオフセットであっ
て、loopfilter_type_idxが1の場合は−32から31までの整数で
あって6ビットの符号列となり、loopfilter_type_idxが2から5の
場合は0から31までの整数であって5ビットの符号列となる。
ここで、エッジタイプフィルタに要する符号量はloopfilter_type_i
dxの3ビットとloopfilter_offsetの5ビットが4個であり、23ビ
ットとなる。バンドタイプフィルタに要する符号量はloopfilter_type_
idxの3ビットとloopfilter_band_positionの3ビットとo
opfilter_offsetの6ビットが3個であり、24ビットとなる。
dxの3ビットとloopfilter_offsetの5ビットが4個であり、23ビ
ットとなる。バンドタイプフィルタに要する符号量はloopfilter_type_
idxの3ビットとloopfilter_band_positionの3ビットとo
opfilter_offsetの6ビットが3個であり、24ビットとなる。
ここで、本実施の形態ではエッジタイプフィルタとバンドタイプフィルタのオフセット
数をそれぞれ4個と3個に設定している。これは、バンドタイプフィルタのフィルタパラ
メータはエッジタイプフィルタのフィルタパラメータよりも1個あたりの符号量が大きい
ため、エッジタイプフィルタとバンドタイプフィルタのそれぞれに要する符号量を均衡さ
せるためである。エッジタイプフィルタとバンドタイプフィルタのそれぞれに要する符号
量を均衡させることで、エッジタイプフィルタとバンドタイプフィルタのそれぞれのルー
プフィルタ符号化パラメータの符号化時間と復号時間を均衡させることができ、ハードウ
ェアの回路設計やソフトウェアの設計を容易にすることができる。ここでは、エッジタイ
プフィルタとバンドタイプフィルタのオフセット数をそれぞれ4個と3個に設定したが、
例えば、エッジタイプフィルタとバンドタイプフィルタのオフセット数をそれぞれ2個と
1個などのように設定してもよい。
数をそれぞれ4個と3個に設定している。これは、バンドタイプフィルタのフィルタパラ
メータはエッジタイプフィルタのフィルタパラメータよりも1個あたりの符号量が大きい
ため、エッジタイプフィルタとバンドタイプフィルタのそれぞれに要する符号量を均衡さ
せるためである。エッジタイプフィルタとバンドタイプフィルタのそれぞれに要する符号
量を均衡させることで、エッジタイプフィルタとバンドタイプフィルタのそれぞれのルー
プフィルタ符号化パラメータの符号化時間と復号時間を均衡させることができ、ハードウ
ェアの回路設計やソフトウェアの設計を容易にすることができる。ここでは、エッジタイ
プフィルタとバンドタイプフィルタのオフセット数をそれぞれ4個と3個に設定したが、
例えば、エッジタイプフィルタとバンドタイプフィルタのオフセット数をそれぞれ2個と
1個などのように設定してもよい。
図16(c)はループフィルタユニット(loopfilter_unit())のシ
ンタックスの一例を説明する図である。ループフィルタユニットには、loopfilt
er_merge_left_flag、loopfilter_merge_abov
e_flag、loopfilter_cod_param()がシンタックスに従って
設置され、動画像符号化において符号化され、動画像復号において復号される。
ンタックスの一例を説明する図である。ループフィルタユニットには、loopfilt
er_merge_left_flag、loopfilter_merge_abov
e_flag、loopfilter_cod_param()がシンタックスに従って
設置され、動画像符号化において符号化され、動画像復号において復号される。
(符号列多重部107の機能と動作)
以下、符号列多重部107によって多重化される符号化ストリームの構成について説明
する。図17は第1の実施の形態による符号化ストリームの構成の一例を説明する図であ
る。図17はloopfilter_interleave_flagが1である場合の
符号化ストリームの構成を示す。SPSは符号列多重部107によって符号化されて、符
号化ストリームの先頭に多重化される。PPSは符号列多重部107によって符号化され
て、ピクチャの先頭に多重化される。スライスヘッダは符号列多重部107によって符号
化されて、スライスの先頭に多重化される。スライスヘッダに続いて、そのスライスに属
するCTBについてCTB符号順序に以下の処理が繰り返し行われる。まず、CTBのル
ープフィルタユニットが多重化されて、その後にCTB符号列が多重化される。
以下、符号列多重部107によって多重化される符号化ストリームの構成について説明
する。図17は第1の実施の形態による符号化ストリームの構成の一例を説明する図であ
る。図17はloopfilter_interleave_flagが1である場合の
符号化ストリームの構成を示す。SPSは符号列多重部107によって符号化されて、符
号化ストリームの先頭に多重化される。PPSは符号列多重部107によって符号化され
て、ピクチャの先頭に多重化される。スライスヘッダは符号列多重部107によって符号
化されて、スライスの先頭に多重化される。スライスヘッダに続いて、そのスライスに属
するCTBについてCTB符号順序に以下の処理が繰り返し行われる。まず、CTBのル
ープフィルタユニットが多重化されて、その後にCTB符号列が多重化される。
ここで、SPS、PPS、スライスヘッダには一般的な同期コードが付与されて、SP
S、PPS、スライスヘッダは符号化ストリーム中から分離できるようになる。また、タ
イルにはヘッダが付与されないが、スライスヘッダのtile_positionによっ
て符号化ストリーム中から分離できる。
S、PPS、スライスヘッダは符号化ストリーム中から分離できるようになる。また、タ
イルにはヘッダが付与されないが、スライスヘッダのtile_positionによっ
て符号化ストリーム中から分離できる。
以上のように、loopfilter_interleave_flagを1に設定し
てCTB符号順序にCTBのフィルタパラメータをCTB単位で多重化することで、フィ
ルタパラメータの伝送遅延を抑制した動画像符号化装置を実現することができる。
てCTB符号順序にCTBのフィルタパラメータをCTB単位で多重化することで、フィ
ルタパラメータの伝送遅延を抑制した動画像符号化装置を実現することができる。
(動画像復号装置200の構成)
図18は、第1の実施の形態に係る動画像復号装置200の構成を説明する図である。
動画像復号装置200は、動画像符号化装置100によって生成された符号化ストリーム
が入力されて、ピクチャ単位で復号ピクチャを再生する装置である。
図18は、第1の実施の形態に係る動画像復号装置200の構成を説明する図である。
動画像復号装置200は、動画像符号化装置100によって生成された符号化ストリーム
が入力されて、ピクチャ単位で復号ピクチャを再生する装置である。
動画像復号装置200は、CPU(Central Processing Unit
)、フレームメモリ、ハードディスクなどを備える情報処理装置などのハードウェアによ
り実現される。動画像復号装置200は、上記の構成要素が動作することにより、以下に
説明する機能的な構成要素を実現する。
)、フレームメモリ、ハードディスクなどを備える情報処理装置などのハードウェアによ
り実現される。動画像復号装置200は、上記の構成要素が動作することにより、以下に
説明する機能的な構成要素を実現する。
本実施の形態の動画像復号装置200は、符号列分離部201、CTB復号部202、
ループフィルタ203、フィルタパラメータ復号部204、フレームメモリ205、及び
復号制御部210を含む。
ループフィルタ203、フィルタパラメータ復号部204、フレームメモリ205、及び
復号制御部210を含む。
(動画像復号装置200の機能と動作)
復号制御部210は、領域情報、ループフィルタ情報、SPS、PPS、スライスヘッ
ダなどピクチャを復号するために必要となる情報を管理して、符号列分離部201、CT
B復号部202、ループフィルタ203、フィルタパラメータ復号部204、フレームメ
モリ205を制御して符号化ストリームを復号する。なお、領域情報、ループフィルタ情
報、SPS、PPS、スライスヘッダなどピクチャを復号するために必要となる情報は動
画像復号装置200内で共有されているものとし、これらデータのフローの説明は省略す
る。
復号制御部210は、領域情報、ループフィルタ情報、SPS、PPS、スライスヘッ
ダなどピクチャを復号するために必要となる情報を管理して、符号列分離部201、CT
B復号部202、ループフィルタ203、フィルタパラメータ復号部204、フレームメ
モリ205を制御して符号化ストリームを復号する。なお、領域情報、ループフィルタ情
報、SPS、PPS、スライスヘッダなどピクチャを復号するために必要となる情報は動
画像復号装置200内で共有されているものとし、これらデータのフローの説明は省略す
る。
図19は、第1の実施の形態に係る動画像復号装置200の動作を説明するフローチャ
ートである。図18はピクチャ単位の復号動作を示す。以下、図18と図19を用いて、
各部の機能と動作について説明する。
ートである。図18はピクチャ単位の復号動作を示す。以下、図18と図19を用いて、
各部の機能と動作について説明する。
本実施の形態では、loopfilter_interleave_flagは1に設
定された符号化ストリームが入力されるとする。
定された符号化ストリームが入力されるとする。
最初に、符号列分離部201は、端子20より入力される符号化ストリームからピクチ
ャストリームを取得する(S500)。ここで、ピクチャストリームとはピクチャ単位の
符号化ストリームであり、ピクチャストリームの最初のCTBの符号列の前にSPSが存
在する場合にはSPSも含まれる。
ャストリームを取得する(S500)。ここで、ピクチャストリームとはピクチャ単位の
符号化ストリームであり、ピクチャストリームの最初のCTBの符号列の前にSPSが存
在する場合にはSPSも含まれる。
次に、符号列分離部201は、タイルストリームにSPSが含まれていればSPSを復
号し、ピクチャのサイズを取得する。また、図15のシンタックスに従ってPPSを復号
し、ループフィルタ情報とタイル情報を取得する(S501)。
号し、ピクチャのサイズを取得する。また、図15のシンタックスに従ってPPSを復号
し、ループフィルタ情報とタイル情報を取得する(S501)。
復号制御部210は、ピクチャのサイズとタイル情報から領域情報を導出する。ここで
、領域情報は動画像符号化装置100で設定された領域情報と同じ情報が導出されるもの
とする。なお、ピクチャのサイズとタイル情報によって設定されるCTBアドレス(CT
Bのアドレス順序)と、CTBが符号化される順序との関係も動画像符号化装置100で
設定された動画像符号化装置100で設定された関係と同一となる。
、領域情報は動画像符号化装置100で設定された領域情報と同じ情報が導出されるもの
とする。なお、ピクチャのサイズとタイル情報によって設定されるCTBアドレス(CT
Bのアドレス順序)と、CTBが符号化される順序との関係も動画像符号化装置100で
設定された動画像符号化装置100で設定された関係と同一となる。
次に、ピクチャストリームに含まれる全てのCTBについて、以下の処理が繰り返し行
われる(S502からS508)。
われる(S502からS508)。
まず、スライスヘッダがあれば、図15のシンタックスに従ってスライスヘッダを復号
してスライスアドレスを取得し、スライスアドレスをCTBアドレスとし、領域情報から
CTBアドレスに該当するCTB符号順序を得る。スライスヘッダがなければCTB符号
順序を1だけインクリメントし、領域情報からCTB符号順序に該当するCTBアドレス
を得る(S503)。ここで、CTBアドレスは、CTB符号順序から図5に示すCTB
アドレスとCTB符号順序の関係に基づいて導出される。例えば、CTB符号順序が8の
CTBのCTBアドレスは14となる。次のCTBではCTB符号順序が1だけインクリ
メントされて9となり、CTBアドレスは15となる。以上のように、CTB符号順序か
らCTBアドレスとCTB符号順序の関係に基づいてCTBアドレスを得る。
してスライスアドレスを取得し、スライスアドレスをCTBアドレスとし、領域情報から
CTBアドレスに該当するCTB符号順序を得る。スライスヘッダがなければCTB符号
順序を1だけインクリメントし、領域情報からCTB符号順序に該当するCTBアドレス
を得る(S503)。ここで、CTBアドレスは、CTB符号順序から図5に示すCTB
アドレスとCTB符号順序の関係に基づいて導出される。例えば、CTB符号順序が8の
CTBのCTBアドレスは14となる。次のCTBではCTB符号順序が1だけインクリ
メントされて9となり、CTBアドレスは15となる。以上のように、CTB符号順序か
らCTBアドレスとCTB符号順序の関係に基づいてCTBアドレスを得る。
次に、CTB復号部202は、CTB復号部202内部のエントロピー復号部の設定を
する(S504)。ここで、CTB復号部202の内部のエントロピー復号部は、動画像
符号化装置100によって生成された符号列を復号可能なCABACであって、スライス
またはタイルの開始において初期化される。
する(S504)。ここで、CTB復号部202の内部のエントロピー復号部は、動画像
符号化装置100によって生成された符号列を復号可能なCABACであって、スライス
またはタイルの開始において初期化される。
次に、符号列分離部201は復号対象CTBのループフィルタユニットをフィルタパラ
メータ復号部204に供給し、フィルタパラメータ復号部204はループフィルタユニッ
トをフィルタパラメータに復号して(S505)、当該フィルタパラメータをループフィ
ルタ203に供給する。フィルタパラメータ復号部204の詳細については後述する。
次に、符号列分離部201は復号対象CTBのCTB符号列をCTB復号部202に供給
し、CTB復号部202は復号対象CTBのCTB符号列を復号して、復号対象CTBの
復号画像データを取得して(S506)、当該復号画像データをループフィルタ203に
供給する。
メータ復号部204に供給し、フィルタパラメータ復号部204はループフィルタユニッ
トをフィルタパラメータに復号して(S505)、当該フィルタパラメータをループフィ
ルタ203に供給する。フィルタパラメータ復号部204の詳細については後述する。
次に、符号列分離部201は復号対象CTBのCTB符号列をCTB復号部202に供給
し、CTB復号部202は復号対象CTBのCTB符号列を復号して、復号対象CTBの
復号画像データを取得して(S506)、当該復号画像データをループフィルタ203に
供給する。
次に、ループフィルタ203は、CTB復号部202より供給される復号画像データに
対して、符号列分離部201より供給されるフィルタパラメータに基づいてループフィル
タを実行し(S507)、新たな復号画像データを生成して、当該復号画像データをフレ
ームメモリ205に供給する。ループフィルタ203は動画像符号化装置100のループ
フィルタ104と同一の機能を有するため、説明は省略する。
対して、符号列分離部201より供給されるフィルタパラメータに基づいてループフィル
タを実行し(S507)、新たな復号画像データを生成して、当該復号画像データをフレ
ームメモリ205に供給する。ループフィルタ203は動画像符号化装置100のループ
フィルタ104と同一の機能を有するため、説明は省略する。
(フィルタパラメータ復号部204の機能と動作)
続いて、フィルタパラメータ復号部204の機能と動作について説明する。
図20はフィルタパラメータ復号部204の動作を説明するフローチャートである。以
下、図20を用いて、フィルタパラメータ復号部204の機能と動作について説明する。
続いて、フィルタパラメータ復号部204の機能と動作について説明する。
図20はフィルタパラメータ復号部204の動作を説明するフローチャートである。以
下、図20を用いて、フィルタパラメータ復号部204の機能と動作について説明する。
最初に、フィルタパラメータ復号部204は、available_left_ctb
_flagとavailable_above_ctb_flagを導出する(S510
)。ここで、available_left_ctb_flagとavailable_
above_ctb_flagの導出方法は図14で説明した処理において「符号化対象
CTB」を「復号対象CTB」に置き換えたものと同一である。
_flagとavailable_above_ctb_flagを導出する(S510
)。ここで、available_left_ctb_flagとavailable_
above_ctb_flagの導出方法は図14で説明した処理において「符号化対象
CTB」を「復号対象CTB」に置き換えたものと同一である。
次に、available_left_ctb_flagが1であるか検査する(S5
11)。available_left_ctb_flagが1であれば(S511のY
)、loopfilter_merge_left_flagを復号する(S512)。
次に、loopfilter_merge_left_flagが1であるか検査する(
S513)。loopfilter_merge_left_flagが1であれば(S
513のY)、復号対象CTBの左に位置するCTBのフィルタパラメータを復号対象C
TBのフィルタパラメータとして(S514)、処理を終了する。
11)。available_left_ctb_flagが1であれば(S511のY
)、loopfilter_merge_left_flagを復号する(S512)。
次に、loopfilter_merge_left_flagが1であるか検査する(
S513)。loopfilter_merge_left_flagが1であれば(S
513のY)、復号対象CTBの左に位置するCTBのフィルタパラメータを復号対象C
TBのフィルタパラメータとして(S514)、処理を終了する。
available_left_ctb_flagが1でないか(S511のN)、l
oopfilter_merge_left_flagが1でなければ(S513のN)
、available_above_ctb_flagが1であるか検査する(S515
)。available_above_ctb_flagが1であれば(S515のY)
、loopfilter_merge_above_flagを復号する(S516)。
次に、loopfilter_merge_above_flagが1であるか検査する
(S517)。loopfilter_merge_above_flagが1であれば
(S517のY)、復号対象CTBの上に位置するCTBのフィルタパラメータを復号対
象CTBのフィルタパラメータとして(S518)、処理を終了する。availabl
e_above_ctb_flagが1でないか(S515のN)、loopfilte
r_merge_above_flagが1でなければ(S517のN)、loopfi
lter_cod_param()を復号して(S519)、処理を終了する。
oopfilter_merge_left_flagが1でなければ(S513のN)
、available_above_ctb_flagが1であるか検査する(S515
)。available_above_ctb_flagが1であれば(S515のY)
、loopfilter_merge_above_flagを復号する(S516)。
次に、loopfilter_merge_above_flagが1であるか検査する
(S517)。loopfilter_merge_above_flagが1であれば
(S517のY)、復号対象CTBの上に位置するCTBのフィルタパラメータを復号対
象CTBのフィルタパラメータとして(S518)、処理を終了する。availabl
e_above_ctb_flagが1でないか(S515のN)、loopfilte
r_merge_above_flagが1でなければ(S517のN)、loopfi
lter_cod_param()を復号して(S519)、処理を終了する。
以上のように、loopfilter_interleave_flagを1に設定し
てCTB符号順序にCTBのフィルタパラメータをCTB単位で分離して復号し、CTB
単位でループフィルタを実行することで、ピクチャ内の全てのCTBの復号処理の完了直
後に復号画像データを出力することのできる低遅延な動画像復号装置を実現することがで
きる。なお、フィルタパラメータ復号部204は、復号対象CTBの左と上に位置するC
TBのフィルタパラメータを参照するため、ピクチャ内の全てのCTBのフィルタパラメ
ータを保持しているものとする。
てCTB符号順序にCTBのフィルタパラメータをCTB単位で分離して復号し、CTB
単位でループフィルタを実行することで、ピクチャ内の全てのCTBの復号処理の完了直
後に復号画像データを出力することのできる低遅延な動画像復号装置を実現することがで
きる。なお、フィルタパラメータ復号部204は、復号対象CTBの左と上に位置するC
TBのフィルタパラメータを参照するため、ピクチャ内の全てのCTBのフィルタパラメ
ータを保持しているものとする。
また、復号対象CTBの左辺がタイル境界に接している場合、復号対象CTBのフィル
タパラメータとして復号対象CTBの左に位置する復号済みのCTBのフィルタパラメー
タを利用すると、復号対象CTBの左辺が接しているCTBの処理が終了するまで復号対
象CTBのフィルタパラメータが確定できなくなる。そこで、復号対象CTBの左辺がタ
イル境界に接している場合、復号対象CTBのフィルタパラメータとして復号対象CTB
の左に位置する復号済みのCTBのフィルタパラメータを利用するか否かを示すフラグで
あるloopfilter_merge_left_flagを復号しないことで、復号
対象CTBの左に位置する復号済みのCTBのフィルタパラメータを利用不能とする。こ
のようにすることで、復号対象CTBの左辺がタイル境界に接している場合でも、復号対
象CTBのループフィルタユニットを復号した直後にフィルタパラメータを得ることを可
能とする。そして、復号対象CTBの左辺が接しているCTBの処理の終了を待つことな
く、ループフィルタ203の処理をCTB単位で動作させて、ループフィルタ適用後の復
号画像データの出力遅延を最小限に低減することができる。
タパラメータとして復号対象CTBの左に位置する復号済みのCTBのフィルタパラメー
タを利用すると、復号対象CTBの左辺が接しているCTBの処理が終了するまで復号対
象CTBのフィルタパラメータが確定できなくなる。そこで、復号対象CTBの左辺がタ
イル境界に接している場合、復号対象CTBのフィルタパラメータとして復号対象CTB
の左に位置する復号済みのCTBのフィルタパラメータを利用するか否かを示すフラグで
あるloopfilter_merge_left_flagを復号しないことで、復号
対象CTBの左に位置する復号済みのCTBのフィルタパラメータを利用不能とする。こ
のようにすることで、復号対象CTBの左辺がタイル境界に接している場合でも、復号対
象CTBのループフィルタユニットを復号した直後にフィルタパラメータを得ることを可
能とする。そして、復号対象CTBの左辺が接しているCTBの処理の終了を待つことな
く、ループフィルタ203の処理をCTB単位で動作させて、ループフィルタ適用後の復
号画像データの出力遅延を最小限に低減することができる。
同様に、復号対象CTBの上辺がタイル境界に接している場合、復号対象CTBのフィ
ルタパラメータとして復号対象CTBの上に位置する復号済みのCTBのフィルタパラメ
ータを利用するか否かを示すフラグであるloopfilter_merge_abov
e_flagを復号しないことで、復号対象CTBの上に位置する復号済みのCTBのフ
ィルタパラメータを利用不能とする。このようにすることで、復号対象CTBの上辺がタ
イル境界に接している場合でも、復号対象CTBのループフィルタユニットを復号した直
後にフィルタパラメータを得ることを可能とする。そして、復号対象CTBの上辺が接し
ているCTBの処理の終了を待つことなく、ループフィルタ203の処理をCTB単位で
動作させて、ループフィルタ適用後の復号画像データの出力遅延を最小限に低減すること
ができる。
ルタパラメータとして復号対象CTBの上に位置する復号済みのCTBのフィルタパラメ
ータを利用するか否かを示すフラグであるloopfilter_merge_abov
e_flagを復号しないことで、復号対象CTBの上に位置する復号済みのCTBのフ
ィルタパラメータを利用不能とする。このようにすることで、復号対象CTBの上辺がタ
イル境界に接している場合でも、復号対象CTBのループフィルタユニットを復号した直
後にフィルタパラメータを得ることを可能とする。そして、復号対象CTBの上辺が接し
ているCTBの処理の終了を待つことなく、ループフィルタ203の処理をCTB単位で
動作させて、ループフィルタ適用後の復号画像データの出力遅延を最小限に低減すること
ができる。
[第2の実施の形態]
次に、第2の実施の形態について説明する。第2の実施の形態は第1の実施の形態とは
loopfilter_interleave_flagが0に設定されることが異なる
。つまり、フィルタパラメータはピクチャ単位で符号化される。
以下、第1の実施の形態とは異なる点について説明する。
次に、第2の実施の形態について説明する。第2の実施の形態は第1の実施の形態とは
loopfilter_interleave_flagが0に設定されることが異なる
。つまり、フィルタパラメータはピクチャ単位で符号化される。
以下、第1の実施の形態とは異なる点について説明する。
最初に、本実施の形態に係る動画像符号化装置100の動作を説明する。図21は、第
2の実施の形態に係る動画像符号化装置100の動作を説明するフローチャートである。
図21に示すように、ステップS107からステップS110がピクチャ内の全てのCT
Bの符号化処理がなされた後に実行される。CTBアドレスの順序に従って、ピクチャ内
の全てのCTBについてステップS107、ステップS108、ステップS109の処理
が繰り返し行われる(S112からS113)。
2の実施の形態に係る動画像符号化装置100の動作を説明するフローチャートである。
図21に示すように、ステップS107からステップS110がピクチャ内の全てのCT
Bの符号化処理がなされた後に実行される。CTBアドレスの順序に従って、ピクチャ内
の全てのCTBについてステップS107、ステップS108、ステップS109の処理
が繰り返し行われる(S112からS113)。
次に、ピクチャの全てのCTBについて、符号列多重部107はCTB符号化部102
より供給されるCTB符号列とフィルタパラメータ符号化部105より供給されるループ
フィルタユニットを、必要に応じてSPS、PPS、スライスヘッダなどとともに符号化
ストリームとして多重化する(S110)。ここで、符号列多重部107によって多重化
される符号化ストリームの構成について説明する。図22は第2の実施の形態による符号
化ストリームの構成の一例を説明する図である。図22はloopfilter_int
erleave_flagが0である場合の符号化ストリームの構成を示す。SPSは符
号化ストリームの先頭に多重化される。PPSはピクチャの先頭に多重化される。このと
き、PPSにはループフィルタユニットをピクチャ単位でまとめたピクチャループフィル
タパラメータが多重化される。スライスの先頭にはスライスヘッダが多重化される。スラ
イスヘッダに続いて、そのスライスに属するCTBについてCTB符号順序にCTB符号
列が多重化される。
より供給されるCTB符号列とフィルタパラメータ符号化部105より供給されるループ
フィルタユニットを、必要に応じてSPS、PPS、スライスヘッダなどとともに符号化
ストリームとして多重化する(S110)。ここで、符号列多重部107によって多重化
される符号化ストリームの構成について説明する。図22は第2の実施の形態による符号
化ストリームの構成の一例を説明する図である。図22はloopfilter_int
erleave_flagが0である場合の符号化ストリームの構成を示す。SPSは符
号化ストリームの先頭に多重化される。PPSはピクチャの先頭に多重化される。このと
き、PPSにはループフィルタユニットをピクチャ単位でまとめたピクチャループフィル
タパラメータが多重化される。スライスの先頭にはスライスヘッダが多重化される。スラ
イスヘッダに続いて、そのスライスに属するCTBについてCTB符号順序にCTB符号
列が多重化される。
また、ステップS105のエントロピー符号部の設定の動作が異なる。本実施の形態で
は、符号化対象CTBがスライスまたはタイルの最初のCTBである場合、フィルタパラ
メータ符号化部105はフィルタパラメータ符号化部105の内部のエントロピー符号部
を初期化しない。
は、符号化対象CTBがスライスまたはタイルの最初のCTBである場合、フィルタパラ
メータ符号化部105はフィルタパラメータ符号化部105の内部のエントロピー符号部
を初期化しない。
ここで、フィルタパラメータの符号化について、第1の実施の形態ではloopfil
ter_interleave_flagが1に設定されていたため、符号化対象CTB
の左辺がタイル境界に接している場合、available_left_ctb_fla
gが0に設定されたが、第2の実施の形態ではloopfilter_interlea
ve_flagが0に設定されるため、符号化対象CTBの左辺がタイル境界に接してい
る場合でも、available_left_ctb_flagが1に設定される。その
ため、符号化対象CTBの左辺がタイル境界に接している場合でもloopfilter
_merge_left_flagを符号化することが可能となって、符号化効率を向上
させることができる。同様に符号化対象CTBの上辺がタイル境界に接している場合でも
loopfilter_merge_left_flagを符号化することが可能となっ
て、符号化効率を向上させることができる。
ter_interleave_flagが1に設定されていたため、符号化対象CTB
の左辺がタイル境界に接している場合、available_left_ctb_fla
gが0に設定されたが、第2の実施の形態ではloopfilter_interlea
ve_flagが0に設定されるため、符号化対象CTBの左辺がタイル境界に接してい
る場合でも、available_left_ctb_flagが1に設定される。その
ため、符号化対象CTBの左辺がタイル境界に接している場合でもloopfilter
_merge_left_flagを符号化することが可能となって、符号化効率を向上
させることができる。同様に符号化対象CTBの上辺がタイル境界に接している場合でも
loopfilter_merge_left_flagを符号化することが可能となっ
て、符号化効率を向上させることができる。
また、loopfilter_interleave_flagを0に設定してフィル
タパラメータをピクチャ単位でまとめて多重化することで、フィルタパラメータの符号量
を抑制した符号化装置を実現することができる。
タパラメータをピクチャ単位でまとめて多重化することで、フィルタパラメータの符号量
を抑制した符号化装置を実現することができる。
続いて、本実施の形態に係る動画像復号装置200の動作を説明する。図23は第2の
実施の形態に係る動画像復号装置200の動作を説明するフローチャートである。図23
に示すように、ステップS505とステップS507がピクチャ内の全てのCTBの復号
処理がなされた後に実行される。CTBアドレスの順序に従って、ピクチャ内の全てのC
TBについてステップS505、ステップS507の処理が繰り返し行われる(S510
からS511)。
実施の形態に係る動画像復号装置200の動作を説明するフローチャートである。図23
に示すように、ステップS505とステップS507がピクチャ内の全てのCTBの復号
処理がなされた後に実行される。CTBアドレスの順序に従って、ピクチャ内の全てのC
TBについてステップS505、ステップS507の処理が繰り返し行われる(S510
からS511)。
ここで、本実施の形態におけるステップS505について説明する。符号列分離部20
1はピクチャループフィルタパラメータ中の復号対象CTBのループフィルタユニットを
フィルタパラメータ復号部204に供給し、フィルタパラメータ復号部204はループフ
ィルタユニットをフィルタパラメータに復号して(S505)、当該フィルタパラメータ
をループフィルタ203に供給する。
1はピクチャループフィルタパラメータ中の復号対象CTBのループフィルタユニットを
フィルタパラメータ復号部204に供給し、フィルタパラメータ復号部204はループフ
ィルタユニットをフィルタパラメータに復号して(S505)、当該フィルタパラメータ
をループフィルタ203に供給する。
また、ループフィルタ203の動作が異なる。本実施の形態では、ループフィルタはピ
クチャ内の全てのCTBの復号処理がなされた後に実行されるため、ループフィルタ20
3はピクチャ内の全てのCTBの復号画像データを保持している。
クチャ内の全てのCTBの復号処理がなされた後に実行されるため、ループフィルタ20
3はピクチャ内の全てのCTBの復号画像データを保持している。
また、ステップS504のエントロピー復号部の設定の動作が異なる。本実施の形態で
は、復号対象CTBがスライスまたはタイルの最初のCTBであっても、フィルタパラメ
ータ復号部204はフィルタパラメータ復号部204の内部のエントロピー復号部を初期
化しないことが第1の実施の形態とは異なる。
は、復号対象CTBがスライスまたはタイルの最初のCTBであっても、フィルタパラメ
ータ復号部204はフィルタパラメータ復号部204の内部のエントロピー復号部を初期
化しないことが第1の実施の形態とは異なる。
以上のように、本実施の形態に係る動画像復号装置200は、本実施の形態に係る動画
像符号化装置100によって生成された符号化ストリームを復号し、復号画像データを出
力することができる。
像符号化装置100によって生成された符号化ストリームを復号し、復号画像データを出
力することができる。
[第3の実施の形態]
次に、第3の実施の形態について説明する。本実施の形態は第1の実施の形態とはルー
プフィルタを適用する画素が異なる。第1の実施の形態ではCTBで完結するようにルー
プフィルタを動作させたが、本実施の形態ではCTBを跨ってループフィルタを実行させ
ることを可能とする。
以下、第1の実施の形態とは異なる点について説明する。
次に、第3の実施の形態について説明する。本実施の形態は第1の実施の形態とはルー
プフィルタを適用する画素が異なる。第1の実施の形態ではCTBで完結するようにルー
プフィルタを動作させたが、本実施の形態ではCTBを跨ってループフィルタを実行させ
ることを可能とする。
以下、第1の実施の形態とは異なる点について説明する。
最初に、PPSのシンタックスが異なる。図24は、第3の実施の形態に係るPPSの
シンタックスを説明する図である。PPSにloopfilter_across_ti
les_flagが追加されることが第1の実施の形態とは異なる。loopfilte
r_across_tiles_flagはループフィルタをタイル境界に跨って処理す
ることを許可するか否かを示す1ビットのフラグである。loopfilter_acr
oss_tiles_flagが1であれば、ループフィルタをタイル境界に跨って処理
することを許可し、loopfilter_across_tiles_flagが0で
あれば、ループフィルタをタイル境界に跨って処理することを許可しない。本実施の形態
では、loopfilter_across_tiles_flagは1であるとする。
シンタックスを説明する図である。PPSにloopfilter_across_ti
les_flagが追加されることが第1の実施の形態とは異なる。loopfilte
r_across_tiles_flagはループフィルタをタイル境界に跨って処理す
ることを許可するか否かを示す1ビットのフラグである。loopfilter_acr
oss_tiles_flagが1であれば、ループフィルタをタイル境界に跨って処理
することを許可し、loopfilter_across_tiles_flagが0で
あれば、ループフィルタをタイル境界に跨って処理することを許可しない。本実施の形態
では、loopfilter_across_tiles_flagは1であるとする。
図25は、第3の実施の形態に係る動画像符号化装置100の動作を説明するフローチ
ャートである。図25を用いて第1の実施の形態とは異なる本実施の形態に係る動画像符
号化装置100の動作を説明する。ステップS102に引き続いて、ピクチャの全てのC
TBのフィルタパラメータが決定される(S112)。ここで、ピクチャの全てのCTB
のフィルタパラメータが決定される方法については、例えば、一般的な2パスのエンコー
ドや前のピクチャのデータを参照にして生成するなどの手法で実現できる。
ャートである。図25を用いて第1の実施の形態とは異なる本実施の形態に係る動画像符
号化装置100の動作を説明する。ステップS102に引き続いて、ピクチャの全てのC
TBのフィルタパラメータが決定される(S112)。ここで、ピクチャの全てのCTB
のフィルタパラメータが決定される方法については、例えば、一般的な2パスのエンコー
ドや前のピクチャのデータを参照にして生成するなどの手法で実現できる。
また、ステップS107の代わりにステップS115が実施される。ステップS115
では、ステップS112で決定されたフィルタパラメータについて、符号化対象のCTB
のフィルタパラメータが取得される。
では、ステップS112で決定されたフィルタパラメータについて、符号化対象のCTB
のフィルタパラメータが取得される。
また、ステップS111に引き続いて、タイル境界を跨る画素についてループフィルタ
を実行する(S116)。タイル境界を跨る画素とは、垂直方向のタイル境界であれば、
タイル境界の左に位置する画素とタイル境界の右に位置する画素であり、水平方向のタイ
ル境界であれば、タイル境界の上に位置する画素とタイル境界の下に位置する画素である
。ステップS116は、ステップS103からステップS111をタイル単位で独立処理
(並列処理)させる場合に必要な処理である。
を実行する(S116)。タイル境界を跨る画素とは、垂直方向のタイル境界であれば、
タイル境界の左に位置する画素とタイル境界の右に位置する画素であり、水平方向のタイ
ル境界であれば、タイル境界の上に位置する画素とタイル境界の下に位置する画素である
。ステップS116は、ステップS103からステップS111をタイル単位で独立処理
(並列処理)させる場合に必要な処理である。
以上のように、ピクチャ内の全てのCTBのフィルタパラメータをCTB単位の符号化
処理の前に決定し、ピクチャ内の全てのCTBについてCTB単位の符号化処理が終了し
た後にループフィルタを実行することで、符号化ストリームの出力は、CTB単位の符号
化処理で出力することができるため、低遅延の動画像符号化装置を実現することができる
。
処理の前に決定し、ピクチャ内の全てのCTBについてCTB単位の符号化処理が終了し
た後にループフィルタを実行することで、符号化ストリームの出力は、CTB単位の符号
化処理で出力することができるため、低遅延の動画像符号化装置を実現することができる
。
図26は、第3の実施の形態に係る動画像復号装置200の動作を説明するフローチャ
ートである。図26を用いて第1の実施の形態とは異なる本実施の形態に係る動画像復号
装置200の動作を説明する。ステップS506の次にステップS507が実施されない
。ステップS508に引き続いて、ピクチャ内の全てのCTBについて、CTBアドレス
の順序でステップS512とステップS507の処理が繰り返し行われる(S510から
S511)。以下、ステップS512とステップS507について説明する。
ートである。図26を用いて第1の実施の形態とは異なる本実施の形態に係る動画像復号
装置200の動作を説明する。ステップS506の次にステップS507が実施されない
。ステップS508に引き続いて、ピクチャ内の全てのCTBについて、CTBアドレス
の順序でステップS512とステップS507の処理が繰り返し行われる(S510から
S511)。以下、ステップS512とステップS507について説明する。
処理対象CTBのloopfilter_merge_left_flagが1であれ
ば、処理対象CTBの左に位置するCTBからフィルタパラメータを取得する。処理対象
CTBのloopfilter_merge_left_flagが0で、処理対象CT
Bのloopfilter_merge_above_flagが1であれば、処理対象
CTBの上に位置するCTBからフィルタパラメータを取得する。処理対象CTBのlo
opfilter_merge_left_flagが0で、処理対象CTBのloop
filter_merge_above_flagが0であれば、処理対象CTBのファ
イルパラメータを取得する(S512)。
ば、処理対象CTBの左に位置するCTBからフィルタパラメータを取得する。処理対象
CTBのloopfilter_merge_left_flagが0で、処理対象CT
Bのloopfilter_merge_above_flagが1であれば、処理対象
CTBの上に位置するCTBからフィルタパラメータを取得する。処理対象CTBのlo
opfilter_merge_left_flagが0で、処理対象CTBのloop
filter_merge_above_flagが0であれば、処理対象CTBのファ
イルパラメータを取得する(S512)。
ループフィルタ104は、処理対象CTBの復号画像データに対して、処理対象CTB
のフィルタパラメータに基づいてループフィルタを実行し、新たな復号画像データを生成
して、当該復号画像データをフレームメモリ205に供給する(S507)。ここでは、
ループフィルタ104はピクチャ内のすべてのCTBの復号画像データを保持していると
するが、CTB復号部202より供給される復号画像データをフレームメモリ205に供
給して記憶させ、ステップS507ではフレームメモリ205から処理対象CTBの復号
画像データを取得するようにしてもよい。
のフィルタパラメータに基づいてループフィルタを実行し、新たな復号画像データを生成
して、当該復号画像データをフレームメモリ205に供給する(S507)。ここでは、
ループフィルタ104はピクチャ内のすべてのCTBの復号画像データを保持していると
するが、CTB復号部202より供給される復号画像データをフレームメモリ205に供
給して記憶させ、ステップS507ではフレームメモリ205から処理対象CTBの復号
画像データを取得するようにしてもよい。
続いて、エッジタイプフィルタ131の動作について説明する。図27は第3の実施の
形態のエッジタイプフィルタ131の動作を説明するフローチャートである。ステップS
140が第1の実施の形態とは異なる。ステップS140では、loopfilter_
across_tiles_flagが1であれば、ステップS134の画素Aまたは画
素Bがタイル外であるかの検査結果をスキップして、エッジタイプフィルタを実行するス
テップであるステップS135以降の動作を行う。
形態のエッジタイプフィルタ131の動作を説明するフローチャートである。ステップS
140が第1の実施の形態とは異なる。ステップS140では、loopfilter_
across_tiles_flagが1であれば、ステップS134の画素Aまたは画
素Bがタイル外であるかの検査結果をスキップして、エッジタイプフィルタを実行するス
テップであるステップS135以降の動作を行う。
このように、loopfilter_interleave_flagが1としてフィ
ルタパラメータの伝送遅延を小さくする場合でも、loopfilter_across
_tiles_flagが1であれば、エッジタイプフィルタにおいてタイル外の画素A
と画素Bを参照することで、タイル境界の左右または上下に接する2画素にループフィル
タを適用することが可能となって、タイル境界の歪を低減することができる。また動き補
償予測などで利用される参照ピクチャの画質が改善されるため、符号化効率を向上させる
ことができる。
ルタパラメータの伝送遅延を小さくする場合でも、loopfilter_across
_tiles_flagが1であれば、エッジタイプフィルタにおいてタイル外の画素A
と画素Bを参照することで、タイル境界の左右または上下に接する2画素にループフィル
タを適用することが可能となって、タイル境界の歪を低減することができる。また動き補
償予測などで利用される参照ピクチャの画質が改善されるため、符号化効率を向上させる
ことができる。
続いて、フィルタパラメータ符号化部105とフィルタパラメータ復号部204の動作
における隣接CTBの有効性であるavailable_left_ctb_flagと
available_above_ctb_flagの導出について説明する。図28は
第3の実施の形態における隣接CTBの有効性の導出を説明するフローチャートである。
ステップS190とステップS191が追加されている点が第1の実施の形態とは異なる
。ステップS190とステップS191はloopfilter_across_til
es_flagが1であるか検査する。以下、ステップS190とステップS191につ
いて説明する。
における隣接CTBの有効性であるavailable_left_ctb_flagと
available_above_ctb_flagの導出について説明する。図28は
第3の実施の形態における隣接CTBの有効性の導出を説明するフローチャートである。
ステップS190とステップS191が追加されている点が第1の実施の形態とは異なる
。ステップS190とステップS191はloopfilter_across_til
es_flagが1であるか検査する。以下、ステップS190とステップS191につ
いて説明する。
loopfilter_across_tiles_flagが1であれば(S190
のY)、ステップ182、ステップ183、及びステップ184がスキップされて、符号
化対象CTBの左辺がタイル境界に接しているか否かに関わらずavailable_l
eft_ctb_flagが1に設定される。loopfilter_across_t
iles_flagが1でなければ(S190のN)、ステップS182が実行される。
loopfilter_across_tiles_flagが1であれば(S190
のY)、ステップ186、ステップ187、及びステップ188がスキップされて、符号
化対象CTBの上辺がタイル境界に接しているか否かに関わらずavailable_a
bove_ctb_flagが1に設定される。loopfilter_across_
tiles_flagが1でなければ(S191のN)、ステップS186が実行される
。
のY)、ステップ182、ステップ183、及びステップ184がスキップされて、符号
化対象CTBの左辺がタイル境界に接しているか否かに関わらずavailable_l
eft_ctb_flagが1に設定される。loopfilter_across_t
iles_flagが1でなければ(S190のN)、ステップS182が実行される。
loopfilter_across_tiles_flagが1であれば(S190
のY)、ステップ186、ステップ187、及びステップ188がスキップされて、符号
化対象CTBの上辺がタイル境界に接しているか否かに関わらずavailable_a
bove_ctb_flagが1に設定される。loopfilter_across_
tiles_flagが1でなければ(S191のN)、ステップS186が実行される
。
以上のように、loopfilter_across_tiles_flagが1に設
定される場合、フィルタパラメータの符号化では、タイル境界を跨いでフィルタパラメー
タを取得することを示すフラグであるloopfilter_merge_left_f
lagとloopfilter_merge_above_flagの符号化を許可し、
タイル境界を跨いでフィルタパラメータが同一となるような場合、loopfilter
_merge_left_flagやloopfilter_merge_above_
flagを1に設定してフィルタパラメータに要する符号量を1ビットにすることで、符
号化効率を向上させることができる。
定される場合、フィルタパラメータの符号化では、タイル境界を跨いでフィルタパラメー
タを取得することを示すフラグであるloopfilter_merge_left_f
lagとloopfilter_merge_above_flagの符号化を許可し、
タイル境界を跨いでフィルタパラメータが同一となるような場合、loopfilter
_merge_left_flagやloopfilter_merge_above_
flagを1に設定してフィルタパラメータに要する符号量を1ビットにすることで、符
号化効率を向上させることができる。
また、loopfilter_across_tiles_flagが1に設定される
場合、ファイルユニットの復号では、loopfilter_merge_left_f
lag、loopfilter_merge_above_flag、及びloopfi
lter_cod_param()を復号しておき、全てのCTBの復号処理が終了した
後で、ループフィルタを実行する前にloopfilter_merge_left_f
lagが1であるCTBについては当該CTBの左に位置するCTBからフィルタパラメ
ータを取得し、loopfilter_merge_above_flagが1であるC
TBについては当該CTBの上に位置するCTBからフィルタパラメータを取得するよう
にすることで、フィルタパラメータの復号処理を停止させることなく、ピクチャの全ての
CTBの復号処理が終了した後にループフィルタを正確に実行させることができる。
場合、ファイルユニットの復号では、loopfilter_merge_left_f
lag、loopfilter_merge_above_flag、及びloopfi
lter_cod_param()を復号しておき、全てのCTBの復号処理が終了した
後で、ループフィルタを実行する前にloopfilter_merge_left_f
lagが1であるCTBについては当該CTBの左に位置するCTBからフィルタパラメ
ータを取得し、loopfilter_merge_above_flagが1であるC
TBについては当該CTBの上に位置するCTBからフィルタパラメータを取得するよう
にすることで、フィルタパラメータの復号処理を停止させることなく、ピクチャの全ての
CTBの復号処理が終了した後にループフィルタを正確に実行させることができる。
ここで、ファイルユニットのシンタックス要素において最も複雑な構造を有するloo
pfilter_cod_param()を事前に復号しておくことで、フィルタパラメ
ータを取得する遅延を最小限に抑制することができる。
pfilter_cod_param()を事前に復号しておくことで、フィルタパラメ
ータを取得する遅延を最小限に抑制することができる。
また、ループフィルタの実行遅延を抑制する場合には、ステップS505において、タ
イル境界の外のフィルタパラメータを利用しないCTBについてはループフィルタを実行
しておき、全てのCTBの復号処理が終了した後で、タイル境界の外のフィルタパラメー
タを利用するCTBについてループフィルタを実行するようにしてもよい。
イル境界の外のフィルタパラメータを利用しないCTBについてはループフィルタを実行
しておき、全てのCTBの復号処理が終了した後で、タイル境界の外のフィルタパラメー
タを利用するCTBについてループフィルタを実行するようにしてもよい。
[第4の実施の形態]
次に、第4の実施の形態について説明する。第4の実施の形態は第3の実施の形態とはタ
イル境界におけるフィルタリングとフィルタパラメータの符号化の制御が異なる。
以下、第3の実施の形態とは異なる点について説明する。
次に、第4の実施の形態について説明する。第4の実施の形態は第3の実施の形態とはタ
イル境界におけるフィルタリングとフィルタパラメータの符号化の制御が異なる。
以下、第3の実施の形態とは異なる点について説明する。
最初に、PPSのシンタックスが異なる。図29は、第4の実施の形態に係るPPSの
シンタックスを説明する図である。PPSにloopfilter_interleav
e_across_tiles_flagが追加されることが第3の実施の形態とは異な
る。loopfilter_interleave_across_tiles_fla
gはタイル境界を跨ってフィルタパラメータを取得することを許可するか否かを示す1ビ
ットのフラグである。loopfilter_interleave_across_t
iles_flagが1であれば、タイル境界を跨ってフィルタパラメータを取得するこ
とを許可し、loopfilter_interleave_across_tiles
_flagが0であれば、タイル境界を跨ってフィルタパラメータを取得することを許可
しない。本実施の形態では、loopfilter_interleave_acros
s_tiles_flagは0であるとする。
シンタックスを説明する図である。PPSにloopfilter_interleav
e_across_tiles_flagが追加されることが第3の実施の形態とは異な
る。loopfilter_interleave_across_tiles_fla
gはタイル境界を跨ってフィルタパラメータを取得することを許可するか否かを示す1ビ
ットのフラグである。loopfilter_interleave_across_t
iles_flagが1であれば、タイル境界を跨ってフィルタパラメータを取得するこ
とを許可し、loopfilter_interleave_across_tiles
_flagが0であれば、タイル境界を跨ってフィルタパラメータを取得することを許可
しない。本実施の形態では、loopfilter_interleave_acros
s_tiles_flagは0であるとする。
続いて、フィルタパラメータ符号化部105とフィルタパラメータ復号部204の動作
における隣接CTBの有効性であるavailable_left_ctb_flagと
available_above_ctb_flagの導出について説明する。図30は
第4の実施の形態における隣接CTBの有効性の導出を説明するフローチャートである。
ステップS190とステップS191が第3の実施の形態とは異なる。ステップS190
とステップS191はloopfilter_interleave_across_t
iles_flagが1であるか検査する。
における隣接CTBの有効性であるavailable_left_ctb_flagと
available_above_ctb_flagの導出について説明する。図30は
第4の実施の形態における隣接CTBの有効性の導出を説明するフローチャートである。
ステップS190とステップS191が第3の実施の形態とは異なる。ステップS190
とステップS191はloopfilter_interleave_across_t
iles_flagが1であるか検査する。
続いて、動画像復号装置200の動作を説明する。図37は、第4の実施の形態に係る
動画像復号装置200の動作を説明するフローチャートである。図37を用いて第3の実
施の形態とは異なる本実施の形態に係る動画像復号装置200の動作を説明する。
ステップS506に続いて、タイル境界に接する画素以外の画素についてループフィル
タが実行される(S520)。また、ステップS508に続いて、タイル境界に接する画
素についてループフィルタが実行される(S521)。
動画像復号装置200の動作を説明するフローチャートである。図37を用いて第3の実
施の形態とは異なる本実施の形態に係る動画像復号装置200の動作を説明する。
ステップS506に続いて、タイル境界に接する画素以外の画素についてループフィル
タが実行される(S520)。また、ステップS508に続いて、タイル境界に接する画
素についてループフィルタが実行される(S521)。
以上のように、loopfilter_interleave_flagを1、loo
pfilter_across_tiles_flagを1、loopfilter_i
nterleave_across_tiles_flagを0に設定することで、全て
のCTBの復号処理が終了した後のループフィルタに係る処理を、タイル境界に接する画
素だけにすることで、タイル境界の歪を低減しながらループフィルタの実行遅延を最小限
にすることができる。また、ピクチャ内のすべてのCTBの復号処理が完了した後にルー
プフィルタを実行させるために記憶する必要のある復号画素を、タイル境界に接する画素
に対する隣接画素Aと隣接画素Bだけにすることができ、復号画像データの記憶容量を削
減することができる。また、loopfilter_interleave_flagを
1、loopfilter_across_tiles_flagを1、loopfil
ter_interleave_across_tiles_flagを1に設定するこ
とで、第3の実施の形態と同じ効果を得ることができる。
pfilter_across_tiles_flagを1、loopfilter_i
nterleave_across_tiles_flagを0に設定することで、全て
のCTBの復号処理が終了した後のループフィルタに係る処理を、タイル境界に接する画
素だけにすることで、タイル境界の歪を低減しながらループフィルタの実行遅延を最小限
にすることができる。また、ピクチャ内のすべてのCTBの復号処理が完了した後にルー
プフィルタを実行させるために記憶する必要のある復号画素を、タイル境界に接する画素
に対する隣接画素Aと隣接画素Bだけにすることができ、復号画像データの記憶容量を削
減することができる。また、loopfilter_interleave_flagを
1、loopfilter_across_tiles_flagを1、loopfil
ter_interleave_across_tiles_flagを1に設定するこ
とで、第3の実施の形態と同じ効果を得ることができる。
[第5の実施の形態]
次に、第5の実施の形態について説明する。第5の実施の形態は第1の実施の形態とは
利用可能なフィルタタイプが異なる。第1の実施の形態ではタイル境界に位置するCTB
とそれ以外のCTBにおいて利用可能なフィルタタイプは同一であったが、本実施の形態
ではタイル境界に位置するCTBとそれ以外のCTBにおいて利用可能なフィルタタイプ
が異なる。
以下、第1の実施の形態とは異なる点について説明する。
次に、第5の実施の形態について説明する。第5の実施の形態は第1の実施の形態とは
利用可能なフィルタタイプが異なる。第1の実施の形態ではタイル境界に位置するCTB
とそれ以外のCTBにおいて利用可能なフィルタタイプは同一であったが、本実施の形態
ではタイル境界に位置するCTBとそれ以外のCTBにおいて利用可能なフィルタタイプ
が異なる。
以下、第1の実施の形態とは異なる点について説明する。
図31は第5の実施の形態におけるCTBの位置に応じて利用可能なフィルタタイプを
説明するための図である。図31を用いてCTBの位置に応じて利用可能なフィルタタイ
プについて説明する。available_left_ctb_flagとavaila
ble_above_ctb_flagが共に0で、CTBの左辺と上辺が共にピクチャ
境界とタイル境界に接しないCTBについては、第1の実施の形態と同様にフィルタタイ
プ0からフィルタタイプ5まで全てのフィルタタイプの利用を許可して、フィルタタイプ
の昇順にloopfliter_type_idxを0から割り当てる。CTBの左辺が
ピクチャ境界またはタイル境界に接するCTBについては、フィルタタイプ1とフィルタ
タイプ2だけを利用を許可し、フィルタタイプ1とフィルタタイプ2にloopflit
er_type_idxとしてそれぞれ0と1を割り当てる。CTBの上辺がピクチャ境
界またはタイル境界に接するCTBについては、フィルタタイプ1とフィルタタイプ3だ
けを利用を許可し、フィルタタイプ1とフィルタタイプ3にloopfliter_ty
pe_idxとしてそれぞれ0と1を割り当てる。
説明するための図である。図31を用いてCTBの位置に応じて利用可能なフィルタタイ
プについて説明する。available_left_ctb_flagとavaila
ble_above_ctb_flagが共に0で、CTBの左辺と上辺が共にピクチャ
境界とタイル境界に接しないCTBについては、第1の実施の形態と同様にフィルタタイ
プ0からフィルタタイプ5まで全てのフィルタタイプの利用を許可して、フィルタタイプ
の昇順にloopfliter_type_idxを0から割り当てる。CTBの左辺が
ピクチャ境界またはタイル境界に接するCTBについては、フィルタタイプ1とフィルタ
タイプ2だけを利用を許可し、フィルタタイプ1とフィルタタイプ2にloopflit
er_type_idxとしてそれぞれ0と1を割り当てる。CTBの上辺がピクチャ境
界またはタイル境界に接するCTBについては、フィルタタイプ1とフィルタタイプ3だ
けを利用を許可し、フィルタタイプ1とフィルタタイプ3にloopfliter_ty
pe_idxとしてそれぞれ0と1を割り当てる。
次に、エッジタイプフィルタ131の動作について説明する。図32は第5の実施の形
態におけるエッジタイプフィルタ131の動作を説明するフローチャートである。画素A
または画素Bがピクチャ境界であるか検査するステップS133、画素Aまたは画素Bが
タイル境界であるか検査するステップS134、オフセット値を0に設定するステップS
137が省略されている点が異なる。
態におけるエッジタイプフィルタ131の動作を説明するフローチャートである。画素A
または画素Bがピクチャ境界であるか検査するステップS133、画素Aまたは画素Bが
タイル境界であるか検査するステップS134、オフセット値を0に設定するステップS
137が省略されている点が異なる。
以上のように、loopfilter_interleave_flagが1である場
合、CTBの左辺がピクチャ境界またはタイル境界に接するCTBについては、ピクチャ
境界またはタイル境界の外の画素を参照するフィルタタイプであるフィルタタイプ2、フ
ィルタタイプ4、及びフィルタタイプ5を無効とすることで、ピクチャ境界またはタイル
境界の外の画素を参照する必要がなくなるため、エッジタイプフィルタ131のステップ
S133、ステップS134、及びステップS137が不要となって、エッジタイプフィ
ルタ131の処理量を削減することができる。同様に、CTBの上辺がピクチャ境界また
はタイル境界に接するCTBについては、ピクチャ境界またはタイル境界の外の画素を参
照するフィルタタイプであるフィルタタイプ1、フィルタタイプ4、及びフィルタタイプ
5を無効とすることで、ピクチャ境界またはタイル境界の外の画素を参照する必要がなく
なるため、エッジタイプフィルタ131のステップS133、ステップS134、及びス
テップS137が不要となって、エッジタイプフィルタ131の処理量を削減することが
できる。
合、CTBの左辺がピクチャ境界またはタイル境界に接するCTBについては、ピクチャ
境界またはタイル境界の外の画素を参照するフィルタタイプであるフィルタタイプ2、フ
ィルタタイプ4、及びフィルタタイプ5を無効とすることで、ピクチャ境界またはタイル
境界の外の画素を参照する必要がなくなるため、エッジタイプフィルタ131のステップ
S133、ステップS134、及びステップS137が不要となって、エッジタイプフィ
ルタ131の処理量を削減することができる。同様に、CTBの上辺がピクチャ境界また
はタイル境界に接するCTBについては、ピクチャ境界またはタイル境界の外の画素を参
照するフィルタタイプであるフィルタタイプ1、フィルタタイプ4、及びフィルタタイプ
5を無効とすることで、ピクチャ境界またはタイル境界の外の画素を参照する必要がなく
なるため、エッジタイプフィルタ131のステップS133、ステップS134、及びス
テップS137が不要となって、エッジタイプフィルタ131の処理量を削減することが
できる。
また、有効なフィルタタイプのみにloopfliter_type_idxを割り当
てることで、CTBの左辺または上辺がピクチャ境界またはタイル境界に接するCTBに
ついては、loopfliter_type_idxの符号量を1ビットのフラグに削減
することで、符号化効率を向上させることができる。ここで、フィルタタイプ0、つまり
ループフィルタを処理しないフィルタタイプについては、フィルタタイプ1またはフィル
タタイプ2でオフセットを0として設定することで対応できる。
てることで、CTBの左辺または上辺がピクチャ境界またはタイル境界に接するCTBに
ついては、loopfliter_type_idxの符号量を1ビットのフラグに削減
することで、符号化効率を向上させることができる。ここで、フィルタタイプ0、つまり
ループフィルタを処理しないフィルタタイプについては、フィルタタイプ1またはフィル
タタイプ2でオフセットを0として設定することで対応できる。
さらに、第3の実施の形態や第4の実施の形態における動画像符号化装置において、本
実施の形態のようにタイル境界におけるフィルタタイプに制限を設けることで、常にCT
Bで完結した低遅延の動画像符号化装置と動画像復号装置を実現することが可能となる。
実施の形態のようにタイル境界におけるフィルタタイプに制限を設けることで、常にCT
Bで完結した低遅延の動画像符号化装置と動画像復号装置を実現することが可能となる。
[第6の実施の形態]
次に、第6の実施の形態について説明する。第6の実施の形態は第4の実施の形態とは
loopfliter_type_idxの符号列とavailable_left_c
tb_flagとavailable_above_ctb_flagの導出が異なる。
以下、第4の実施の形態とは異なる点について説明する。
次に、第6の実施の形態について説明する。第6の実施の形態は第4の実施の形態とは
loopfliter_type_idxの符号列とavailable_left_c
tb_flagとavailable_above_ctb_flagの導出が異なる。
以下、第4の実施の形態とは異なる点について説明する。
最初に、loopfliter_type_idxの符号列が異なる。図33は、第6
の実施の形態に係るloopfliter_type_idxの符号列を説明する図であ
る。loopfliter_type_idxの0はフィルタタイプ0を示し、符号列(
bin)は'0'である。loopfliter_type_idxの1はフィルタタイプ
1を示し、符号列(bin)は'10'となる。loopfliter_type_idx
の2はフィルタタイプ2を示し、符号列(bin)は'1100'となる。loopfli
ter_type_idxの3はフィルタタイプ3を示し、符号列(bin)は'110
1'となる。loopfliter_type_idxの4はフィルタタイプ4を示し、
符号列(bin)は'1110'となる。loopfliter_type_idxの5は
フィルタタイプ5を示し、符号列(bin)は'1111'となる。
の実施の形態に係るloopfliter_type_idxの符号列を説明する図であ
る。loopfliter_type_idxの0はフィルタタイプ0を示し、符号列(
bin)は'0'である。loopfliter_type_idxの1はフィルタタイプ
1を示し、符号列(bin)は'10'となる。loopfliter_type_idx
の2はフィルタタイプ2を示し、符号列(bin)は'1100'となる。loopfli
ter_type_idxの3はフィルタタイプ3を示し、符号列(bin)は'110
1'となる。loopfliter_type_idxの4はフィルタタイプ4を示し、
符号列(bin)は'1110'となる。loopfliter_type_idxの5は
フィルタタイプ5を示し、符号列(bin)は'1111'となる。
ここで、バンドタイプフィルタのフィルタパラメータはエッジタイプフィルタのフィル
タパラメータよりも1個あたりの符号量が大きいため、バンドタイプフィルタのloop
fliter_type_idxにエッジタイプフィルタloopfliter_typ
e_idxよりも短い符号量を割り当てることで、エッジタイプフィルタとバンドタイプ
フィルタのそれぞれに要する符号量を均衡させることができる。
タパラメータよりも1個あたりの符号量が大きいため、バンドタイプフィルタのloop
fliter_type_idxにエッジタイプフィルタloopfliter_typ
e_idxよりも短い符号量を割り当てることで、エッジタイプフィルタとバンドタイプ
フィルタのそれぞれに要する符号量を均衡させることができる。
エッジタイプフィルタとバンドタイプフィルタのそれぞれに要する符号量を均衡させる
ことで、エッジタイプフィルタとバンドタイプフィルタのそれぞれのループフィルタ符号
化パラメータの符号化時間と復号時間を均衡させることができ、ハードウェアの回路設計
やソフトウェアの設計を容易にすることができる。ここでは、バンドタイプフィルタのl
oopfliter_type_idxを2ビット、エッジタイプフィルタloopfl
iter_type_idxを4ビットに設定したが、バンドタイプフィルタのloop
fliter_type_idxがエッジタイプフィルタloopfliter_typ
e_idxよりも短い符号量であれば、これに限定されない。
ことで、エッジタイプフィルタとバンドタイプフィルタのそれぞれのループフィルタ符号
化パラメータの符号化時間と復号時間を均衡させることができ、ハードウェアの回路設計
やソフトウェアの設計を容易にすることができる。ここでは、バンドタイプフィルタのl
oopfliter_type_idxを2ビット、エッジタイプフィルタloopfl
iter_type_idxを4ビットに設定したが、バンドタイプフィルタのloop
fliter_type_idxがエッジタイプフィルタloopfliter_typ
e_idxよりも短い符号量であれば、これに限定されない。
次に、available_left_ctb_flagとavailable_ab
ove_ctb_flagの導出が異なる。続いて、フィルタパラメータ符号化部105
とフィルタパラメータ復号部204の動作における隣接CTBの有効性であるavail
able_left_ctb_flagとavailable_above_ctb_f
lagの導出について説明する。図34は第6の実施の形態における隣接CTBの有効性
の導出を説明するフローチャートである。ステップS196とステップS197が追加さ
れている点が第4の実施の形態とは異なる。以下、ステップS196とステップS197
について説明する。
ove_ctb_flagの導出が異なる。続いて、フィルタパラメータ符号化部105
とフィルタパラメータ復号部204の動作における隣接CTBの有効性であるavail
able_left_ctb_flagとavailable_above_ctb_f
lagの導出について説明する。図34は第6の実施の形態における隣接CTBの有効性
の導出を説明するフローチャートである。ステップS196とステップS197が追加さ
れている点が第4の実施の形態とは異なる。以下、ステップS196とステップS197
について説明する。
符号化対象CTBの左に位置するCTBのフィルタパラメータのフィルタタイプがフィ
ルタタイプ0(フィルタOFF)であるか検査する(S196)。符号化対象CTBの左
に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0であれば(
S196のY)、available_left_ctb_flagを0とする(S18
4)。符号化対象CTBの左に位置するCTBのフィルタパラメータのフィルタタイプが
フィルタタイプ0でなければ(S196のN)、S182を実行する。
ルタタイプ0(フィルタOFF)であるか検査する(S196)。符号化対象CTBの左
に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0であれば(
S196のY)、available_left_ctb_flagを0とする(S18
4)。符号化対象CTBの左に位置するCTBのフィルタパラメータのフィルタタイプが
フィルタタイプ0でなければ(S196のN)、S182を実行する。
符号化対象CTBの上に位置するCTBのフィルタパラメータのフィルタタイプがフィ
ルタタイプ0(フィルタOFF)であるか検査する(S197)。符号化対象CTBの上
に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0であれば(
S197のY)、available_above_ctb_flagを0とする(S1
88)。符号化対象CTBの上に位置するCTBのフィルタパラメータのフィルタタイプ
がフィルタタイプ0でなければ(S197のN)、S186を実行する。
ルタタイプ0(フィルタOFF)であるか検査する(S197)。符号化対象CTBの上
に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0であれば(
S197のY)、available_above_ctb_flagを0とする(S1
88)。符号化対象CTBの上に位置するCTBのフィルタパラメータのフィルタタイプ
がフィルタタイプ0でなければ(S197のN)、S186を実行する。
ここで、フィルタタイプがフィルタタイプ0である場合、loopfliter_ty
pe_idxは1ビットであるため、loopfilter_merge_left_f
lagやloopfilter_merge_above_flagを用いて符号化する
よりも少ない符号量で済む可能性が高い。これは、左に位置するCTBのフィルタパラメ
ータのフィルタタイプがフィルタタイプ0であれば、loopfilter_merge
_left_flagの1ビットで済むが、左に位置するCTBのフィルタパラメータの
フィルタタイプがフィルタタイプ0でなく、上に位置するCTBのフィルタパラメータの
フィルタタイプがフィルタタイプ0であれば、loopfilter_merge_le
ft_flagとloopfilter_merge_above_flagの2ビット
となり、左に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0
でなく、上に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0
でなければ、loopfilter_merge_left_flag、loopfil
ter_merge_above_flag、loopfliter_type_idx
の3ビットとなるためである。
pe_idxは1ビットであるため、loopfilter_merge_left_f
lagやloopfilter_merge_above_flagを用いて符号化する
よりも少ない符号量で済む可能性が高い。これは、左に位置するCTBのフィルタパラメ
ータのフィルタタイプがフィルタタイプ0であれば、loopfilter_merge
_left_flagの1ビットで済むが、左に位置するCTBのフィルタパラメータの
フィルタタイプがフィルタタイプ0でなく、上に位置するCTBのフィルタパラメータの
フィルタタイプがフィルタタイプ0であれば、loopfilter_merge_le
ft_flagとloopfilter_merge_above_flagの2ビット
となり、左に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0
でなく、上に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0
でなければ、loopfilter_merge_left_flag、loopfil
ter_merge_above_flag、loopfliter_type_idx
の3ビットとなるためである。
したがって、フィルタタイプがフィルタタイプ0である場合、loopfilter_
merge_left_flagとloopfilter_merge_above_f
lagを符号化せず、ループフィルタ符号化パラメータだけを符号化するようにして符号
化効率を向上させることができる。
merge_left_flagとloopfilter_merge_above_f
lagを符号化せず、ループフィルタ符号化パラメータだけを符号化するようにして符号
化効率を向上させることができる。
[第7の実施の形態]
次に、第7の実施の形態について説明する。第7の実施の形態は第6の実施の形態とは
ループフィルタユニットのシンタックスとloopfliter_type_idxの符
号列が異なる。
以下、第6の実施の形態とは異なる点について説明する。
次に、第7の実施の形態について説明する。第7の実施の形態は第6の実施の形態とは
ループフィルタユニットのシンタックスとloopfliter_type_idxの符
号列が異なる。
以下、第6の実施の形態とは異なる点について説明する。
最初に、ループフィルタユニットのシンタックスが異なる。図35は第7の実施の形態
に係るループフィルタユニットのシンタックスを説明する図である。ループフィルタ許可
フラグであるenable_loopfilter_flagが追加されている。ena
ble_loopfilter_flagはCTBのループフィルタのONとOFFを制
御するフラグであって、enable_loopfilter_flagが1であるCT
Bについてはループフィルタを実行し、enable_loopfilter_flag
が0であるCTBについてはループフィルタを実行しない。
に係るループフィルタユニットのシンタックスを説明する図である。ループフィルタ許可
フラグであるenable_loopfilter_flagが追加されている。ena
ble_loopfilter_flagはCTBのループフィルタのONとOFFを制
御するフラグであって、enable_loopfilter_flagが1であるCT
Bについてはループフィルタを実行し、enable_loopfilter_flag
が0であるCTBについてはループフィルタを実行しない。
次に、loopfliter_type_idxの符号列が異なる。図36は、第7の
実施の形態に係るloopfliter_type_idxの符号列を説明する図である
。loopfliter_type_idxの0はフィルタタイプ1を示し、符号列(b
in)は'0'である。loopfliter_type_idxの1はフィルタタイプ2
を示し、符号列(bin)は'100'となる。loopfliter_type_idx
の2はフィルタタイプ3を示し、符号列(bin)は'101'となる。loopflit
er_type_idxの3はフィルタタイプ4を示し、符号列(bin)は'110'と
なる。loopfliter_type_idxの4はフィルタタイプ5を示し、符号列
(bin)は'111'となる。
実施の形態に係るloopfliter_type_idxの符号列を説明する図である
。loopfliter_type_idxの0はフィルタタイプ1を示し、符号列(b
in)は'0'である。loopfliter_type_idxの1はフィルタタイプ2
を示し、符号列(bin)は'100'となる。loopfliter_type_idx
の2はフィルタタイプ3を示し、符号列(bin)は'101'となる。loopflit
er_type_idxの3はフィルタタイプ4を示し、符号列(bin)は'110'と
なる。loopfliter_type_idxの4はフィルタタイプ5を示し、符号列
(bin)は'111'となる。
次に、フィルタパラメータ符号化部105とフィルタパラメータ復号部204の動作に
おける隣接CTBの有効性であるavailable_left_ctb_flagとa
vailable_above_ctb_flagの導出が異なる。第6の実施の形態と
は、ステップS196とステップS197が異なり、ステップS196とステップS19
7について説明する。
おける隣接CTBの有効性であるavailable_left_ctb_flagとa
vailable_above_ctb_flagの導出が異なる。第6の実施の形態と
は、ステップS196とステップS197が異なり、ステップS196とステップS19
7について説明する。
符号化対象CTBの左に位置するCTBのフィルタパラメータのループフィルタ許可フ
ラグが0であるか検査する(S196)。符号化対象CTBの左に位置するCTBのフィ
ルタパラメータのループフィルタ許可フラグが0であれば(S196のY)、avail
able_left_ctb_flagを0とする(S184)。符号化対象CTBの左
に位置するCTBのフィルタパラメータのループフィルタ許可フラグが0でなければ(S
196のN)、S182を実行する。
ラグが0であるか検査する(S196)。符号化対象CTBの左に位置するCTBのフィ
ルタパラメータのループフィルタ許可フラグが0であれば(S196のY)、avail
able_left_ctb_flagを0とする(S184)。符号化対象CTBの左
に位置するCTBのフィルタパラメータのループフィルタ許可フラグが0でなければ(S
196のN)、S182を実行する。
符号化対象CTBの上に位置するCTBのフィルタパラメータのループフィルタ許可フ
ラグが0であるか検査する(S197)。符号化対象CTBの上に位置するCTBのフィ
ルタパラメータのループフィルタ許可フラグが0であれば(S197のY)、avail
able_above_ctb_flagを0とする(S188)。符号化対象CTBの
上に位置するCTBのフィルタパラメータのループフィルタ許可フラグが0でなければ(
S197のN)、S186を実行する。
ラグが0であるか検査する(S197)。符号化対象CTBの上に位置するCTBのフィ
ルタパラメータのループフィルタ許可フラグが0であれば(S197のY)、avail
able_above_ctb_flagを0とする(S188)。符号化対象CTBの
上に位置するCTBのフィルタパラメータのループフィルタ許可フラグが0でなければ(
S197のN)、S186を実行する。
以上述べた実施の形態の動画像符号化装置と動画像復号装置では、領域の境界としてタ
イル境界を説明したが、タイル内のCTBはラスタースキャン順に処理されてスライスは
タイル内のCTBをラスタースキャン順に包含するようにタイルとスライスを構成した場
合に、タイルとスライスを組み合わせることで、スライス境界についてもタイル境界をス
ライス境界に置き換えることで同様に適用することができる。
イル境界を説明したが、タイル内のCTBはラスタースキャン順に処理されてスライスは
タイル内のCTBをラスタースキャン順に包含するようにタイルとスライスを構成した場
合に、タイルとスライスを組み合わせることで、スライス境界についてもタイル境界をス
ライス境界に置き換えることで同様に適用することができる。
以上述べた実施の形態の動画像符号化装置と動画像復号装置では、ループフィルタとし
てSAOフィルタを用いたが、例えば、デブロックフィルタとSAOフィルタを組み合わ
せることもできる。
てSAOフィルタを用いたが、例えば、デブロックフィルタとSAOフィルタを組み合わ
せることもできる。
以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実
施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォ
ーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータ
フォーマットの符号化ストリームを復号することができる。
施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォ
ーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータ
フォーマットの符号化ストリームを復号することができる。
動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有
線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に
適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符
号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネット
ワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ス
トリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。
線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に
適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符
号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネット
ワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ス
トリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。
動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモ
リと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化デ
ータをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化さ
れた符号化データをネットワークを介して受信する受信部と、受信された符号化データを
バッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動
画像復号装置に提供するパケット処理部とを含む。
リと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化デ
ータをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化さ
れた符号化データをネットワークを介して受信する受信部と、受信された符号化データを
バッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動
画像復号装置に提供するパケット処理部とを含む。
以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置と
して実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッ
シュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっ
ても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムを
コンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線
のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送
のデータ放送として提供することも可能である。
して実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッ
シュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっ
ても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムを
コンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線
のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送
のデータ放送として提供することも可能である。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構
成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例
も本発明の範囲にあることは当業者に理解されるところである。
成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例
も本発明の範囲にあることは当業者に理解されるところである。
100 動画像符号化装置、 101 画像データ取得部、 102 CTB符号化部
、 103 フィルタパラメータ決定部、 104 ループフィルタ、 105 フィル
タパラメータ符号化部、 106 フレームメモリ、 107 符号列多重部、 110
符号化制御部、 111 タイル設定部、 112 ループフィルタ設定部、 113
領域情報設定部、 120 フィルタパラメータ設定部、 121 ループフィルタ実
行部、 122 誤差計測部、 123 フィルタパラメータ確定部、 130 フィル
タタイプ判定部、 131 エッジタイプフィルタ、 132 バンドタイプフィルタ、
141 エッジアングル設定部、 142 隣接画素設定部、 143 エッジタイプ
判定部、 144 エッジオフセット値設定部、 145 エッジオフセット値加算部、
151 ハンド幅設定部、 152 バンド位置設定部、 153 バンドオフセット
値設定部、 154 バンドオフセット値加算部、 200 動画像復号装置、 201
符号列分離部、 202 CTB復号部、 203 ループフィルタ、 204 フィ
ルタパラメータ復号部、 205 フレームメモリ、 210 復号制御部。
、 103 フィルタパラメータ決定部、 104 ループフィルタ、 105 フィル
タパラメータ符号化部、 106 フレームメモリ、 107 符号列多重部、 110
符号化制御部、 111 タイル設定部、 112 ループフィルタ設定部、 113
領域情報設定部、 120 フィルタパラメータ設定部、 121 ループフィルタ実
行部、 122 誤差計測部、 123 フィルタパラメータ確定部、 130 フィル
タタイプ判定部、 131 エッジタイプフィルタ、 132 バンドタイプフィルタ、
141 エッジアングル設定部、 142 隣接画素設定部、 143 エッジタイプ
判定部、 144 エッジオフセット値設定部、 145 エッジオフセット値加算部、
151 ハンド幅設定部、 152 バンド位置設定部、 153 バンドオフセット
値設定部、 154 バンドオフセット値加算部、 200 動画像復号装置、 201
符号列分離部、 202 CTB復号部、 203 ループフィルタ、 204 フィ
ルタパラメータ復号部、 205 フレームメモリ、 210 復号制御部。
Claims (3)
- ピクチャを構成するブロック単位で符号化されたブロック符号列を含む符号列ストリー
ムを復号して得られたピクチャをフィルタリングする画像復号装置であって、
前記ピクチャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情
報を、前記符号列ストリームのピクチャ特性を示すピクチャパラメータセットから取得す
る領域情報取得部と、
復号対象となるブロックのフィルタタイプを前記符号列ストリームから取得するフィル
タタイプ取得部と、
前記ブロック符号列を復号して前記復号対象となるブロックの復号画像データを取得す
る画像データ復号部と、
前記復号画像データを前記フィルタタイプに基づいてフィルタリングするフィルタリン
グ部とを備え、
前記フィルタタイプは前記復号対象となるブロックがタイル境界に接する場合と、前記
復号対象となるブロックがタイル境界に接しない場合とで異なることを特徴とする画像復
号装置。 - ピクチャを構成するブロック単位で符号化されたブロック符号列を含む符号列ストリー
ムを復号して得られたピクチャをフィルタリングする画像復号方法であって、
前記ピクチャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情
報を、前記符号列ストリームのピクチャ特性を示すピクチャパラメータセットから取得す
る領域情報取得ステップと、
復号対象となるブロックのフィルタタイプを前記符号列ストリームから取得するフィル
タタイプ取得ステップと、
前記ブロック符号列を復号して前記復号対象となるブロックの復号画像データを取得す
る画像データ復号ステップと、
前記復号画像データを前記フィルタタイプに基づいてフィルタリングするフィルタリン
グステップとを有し、
前記フィルタタイプは前記復号対象となるブロックがタイル境界に接する場合と、前記
復号対象となるブロックがタイル境界に接しない場合とで異なることを特徴とする画像復
号方法。 - ピクチャを構成するブロック単位で符号化されたブロック符号列を含む符号列ストリー
ムを復号して得られたピクチャをフィルタリングする画像復号プログラムであって、
前記ピクチャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情
報を、前記符号列ストリームのピクチャ特性を示すピクチャパラメータセットから取得す
る領域情報取得ステップと、
復号対象となるブロックのフィルタタイプを前記符号列ストリームから取得するフィル
タタイプ取得ステップと、
前記ブロック符号列を復号して前記復号対象となるブロックの復号画像データを取得す
る画像データ復号ステップと、
前記復号画像データを前記フィルタタイプに基づいてフィルタリングするフィルタリン
グステップとをコンピュータに実行させ、
前記フィルタタイプは前記復号対象となるブロックがタイル境界に接する場合と、前記
復号対象となるブロックがタイル境界に接しない場合とで異なることを特徴とする画像復
号プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012087580 | 2012-04-06 | ||
JP2012087580 | 2012-04-06 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016108839A Division JP6135800B2 (ja) | 2012-04-06 | 2016-05-31 | 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017163574A JP2017163574A (ja) | 2017-09-14 |
JP6288348B2 true JP6288348B2 (ja) | 2018-03-07 |
Family
ID=49678940
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013079864A Active JP5888278B2 (ja) | 2012-04-06 | 2013-04-05 | 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム |
JP2016027852A Active JP6090487B2 (ja) | 2012-04-06 | 2016-02-17 | 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム |
JP2016108841A Active JP6135801B2 (ja) | 2012-04-06 | 2016-05-31 | 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム |
JP2016108840A Active JP6090516B2 (ja) | 2012-04-06 | 2016-05-31 | 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム |
JP2016108838A Active JP6090515B2 (ja) | 2012-04-06 | 2016-05-31 | 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム |
JP2016108839A Active JP6135800B2 (ja) | 2012-04-06 | 2016-05-31 | 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム |
JP2017084348A Active JP6288348B2 (ja) | 2012-04-06 | 2017-04-21 | 画像復号装置、画像復号方法、画像復号プログラム |
Family Applications Before (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013079864A Active JP5888278B2 (ja) | 2012-04-06 | 2013-04-05 | 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム |
JP2016027852A Active JP6090487B2 (ja) | 2012-04-06 | 2016-02-17 | 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム |
JP2016108841A Active JP6135801B2 (ja) | 2012-04-06 | 2016-05-31 | 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム |
JP2016108840A Active JP6090516B2 (ja) | 2012-04-06 | 2016-05-31 | 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム |
JP2016108838A Active JP6090515B2 (ja) | 2012-04-06 | 2016-05-31 | 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム |
JP2016108839A Active JP6135800B2 (ja) | 2012-04-06 | 2016-05-31 | 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム |
Country Status (1)
Country | Link |
---|---|
JP (7) | JP5888278B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107770544B (zh) * | 2016-08-21 | 2023-12-08 | 上海天荷电子信息有限公司 | 采用多类匹配参数及前参数缓冲区的数据压缩方法和装置 |
WO2019124226A1 (en) * | 2017-12-20 | 2019-06-27 | Sharp Kabushiki Kaisha | Systems and methods for applying deblocking filters to reconstructed video data at picture partition boundaries |
CN110650349B (zh) * | 2018-06-26 | 2024-02-13 | 中兴通讯股份有限公司 | 一种图像编码方法、解码方法、编码器、解码器及存储介质 |
CA3122906A1 (en) | 2018-12-14 | 2020-06-18 | Clim8 | Temperature regulating system |
JP7404373B2 (ja) * | 2019-01-09 | 2023-12-25 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | ビデオエンコーダ、ビデオデコーダ、および対応する方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104160701B (zh) * | 2012-01-27 | 2017-06-30 | 太阳专利托管公司 | 图像编码方法、图像解码方法、图像编码装置、及图像解码装置 |
-
2013
- 2013-04-05 JP JP2013079864A patent/JP5888278B2/ja active Active
-
2016
- 2016-02-17 JP JP2016027852A patent/JP6090487B2/ja active Active
- 2016-05-31 JP JP2016108841A patent/JP6135801B2/ja active Active
- 2016-05-31 JP JP2016108840A patent/JP6090516B2/ja active Active
- 2016-05-31 JP JP2016108838A patent/JP6090515B2/ja active Active
- 2016-05-31 JP JP2016108839A patent/JP6135800B2/ja active Active
-
2017
- 2017-04-21 JP JP2017084348A patent/JP6288348B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016174408A (ja) | 2016-09-29 |
JP2016174406A (ja) | 2016-09-29 |
JP2016096586A (ja) | 2016-05-26 |
JP2016174407A (ja) | 2016-09-29 |
JP2017163574A (ja) | 2017-09-14 |
JP6090516B2 (ja) | 2017-03-08 |
JP2013232887A (ja) | 2013-11-14 |
JP6090487B2 (ja) | 2017-03-08 |
JP2016174405A (ja) | 2016-09-29 |
JP5888278B2 (ja) | 2016-03-16 |
JP6135801B2 (ja) | 2017-05-31 |
JP6090515B2 (ja) | 2017-03-08 |
JP6135800B2 (ja) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6288348B2 (ja) | 画像復号装置、画像復号方法、画像復号プログラム | |
KR102194038B1 (ko) | 제한된 오프셋 보상 및 루프 필터를 기반으로 하는 영상 부호화 및 복호화 방법 및 그 장치 | |
JP2018532318A (ja) | ビデオ符号化における進化型デブロッキングフィルターの方法およびその装置 | |
JP6288349B2 (ja) | 画像符号化装置、画像符号化方法、画像符号化プログラム | |
WO2013150805A1 (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム | |
TWI597967B (zh) | Video decoding apparatus, video decoding method, and video decoding program medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180122 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6288348 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |