以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、以下の順序で説明を行う。
1.画像符号化装置の構成例
1−1.全体的な構成
1−2.適応オフセット部の詳細な構成
1−3.適応ループフィルタの詳細な構成
1−4.可逆符号化部の詳細な構成
2.符号化時の処理の流れの例
2−1.適応オフセット処理
2−2.適応ループフィルタ処理
2−3.符号化処理
3.画像復号装置の構成例
3−1.全体的な構成
3−2.可逆復号部の詳細な構成
3−3.適応オフセット部の詳細な構成
3−4.適応ループフィルタの詳細な構成
4.復号時の処理の流れの例
4−1.復号処理
4−2.適応オフセット処理
4−3.適応ループフィルタ処理
5.応用例
6.まとめ
<1.画像符号化装置の構成例>
[1−1.全体的な構成]
図1は、一実施形態に係る画像符号化装置10の構成の一例を示すブロック図である。図1を参照すると、画像符号化装置10は、A/D(Analogue to Digital)変換部11、並び替えバッファ12、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18、逆量子化部21、逆直交変換部22、加算部23、デブロックフィルタ(DF)24、適応オフセット部(AO)25、適応ループフィルタ(ALF)26、フレームメモリ27、セレクタ28及び29、イントラ予測部30、並びに動き探索部40を備える。
A/D変換部11は、アナログ形式で入力される画像信号をデジタル形式の画像データに変換し、一連のデジタル画像データを並び替えバッファ12へ出力する。
並び替えバッファ12は、A/D変換部11から入力される一連の画像データに含まれる画像を並び替える。並び替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じて画像を並び替えた後、並び替え後の画像データを減算部13、イントラ予測部30及び動き探索部40へ出力する。
減算部13には、並び替えバッファ12から入力される画像データ、及び後に説明するイントラ予測部30又は動き探索部40から入力される予測画像データが供給される。減算部13は、並び替えバッファ12から入力される画像データと予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換部14へ出力する。
直交変換部14は、減算部13から入力される予測誤差データについて直交変換を行う。直交変換部14により実行される直交変換は、例えば、離散コサイン変換(Discrete Cosine Transform:DCT)又はカルーネン・レーベ変換などであってよい。直交変換部14は、直交変換処理により取得される変換係数データを量子化部15へ出力する。
量子化部15には、直交変換部14から入力される変換係数データ、及び後に説明するレート制御部18からのレート制御信号が供給される。量子化部15は、変換係数データを量子化し、量子化後の変換係数データ(以下、量子化データという)を可逆符号化部16及び逆量子化部21へ出力する。また、量子化部15は、レート制御部18からのレート制御信号に基づいて量子化パラメータ(量子化スケール)を切り替えることにより、可逆符号化部16に入力される量子化データのビットレートを変化させる。
可逆符号化部16は、量子化部15から入力される量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。可逆符号化部16による可逆符号化は、例えば、可変長符号化、又は算術符号化などであってよい。また、可逆符号化部16は、符号化ストリームのシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダなどのヘッダ領域に、ヘッダ情報を多重化する。可逆符号化部16により符号化されるヘッダ情報は、後に説明するQuad-Tree情報、分割情報、オフセット情報、フィルタ係数情報、PU設定情報及びTU設定情報を含み得る。また、可逆符号化部16により符号化されるヘッダ情報は、セレクタ29から入力されるイントラ予測に関する情報及びインター予測に関する情報を含んでもよい。そして、可逆符号化部16は、生成した符号化ストリームを蓄積バッファ17へ出力する。
蓄積バッファ17は、可逆符号化部16から入力される符号化ストリームを一時的に蓄積する。そして、蓄積バッファ17は、蓄積した符号化ストリームを、伝送路の帯域に応じたレートで、図示しない伝送部(例えば、通信インタフェース又は周辺機器との接続インタフェースなど)へ出力する。
レート制御部18は、蓄積バッファ17の空き容量を監視する。そして、レート制御部18は、蓄積バッファ17の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部15へ出力する。例えば、レート制御部18は、蓄積バッファ17の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部18は、蓄積バッファ17の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
逆量子化部21は、量子化部15から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部21は、逆量子化処理により取得される変換係数データを、逆直交変換部22へ出力する。
逆直交変換部22は、逆量子化部21から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部22は、復元した予測誤差データを加算部23へ出力する。
加算部23は、逆直交変換部22から入力される復元された予測誤差データとイントラ予測部30又は動き探索部40から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部23は、生成した復号画像データをデブロックフィルタ24及びフレームメモリ27へ出力する。
デブロックフィルタ(DF)24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ24は、加算部23から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データを適応オフセット部25へ出力する。
適応オフセット部25は、DF後の復号画像の各画素値に適応的に決定されるオフセット値を加えることにより、復号画像の画質を向上させる。本実施形態において、適応オフセット部25による適応オフセット処理は、Quad-Tree状に画像内に配置されるブロックを処理単位として、上記非特許文献3により提案されている手法に従ってブロックベースで行われてよい。本明細書では、適応オフセット部25による適応オフセット処理の処理単位となるブロックをパーティションという。適応オフセット部25は、適応オフセット処理の結果として、オフセットされた画素値を有する復号画像データを適応ループフィルタ26へ出力する。また、適応オフセット部25は、オフセット値のセット及びパーティションごとのオフセットパターンを示すオフセット情報を可逆符号化部16へ出力する。
適応ループフィルタ26は、AO後の復号画像をフィルタリングすることにより、復号画像と原画像との誤差を最小化する。適応ループフィルタ26は、典型的には、ウィーナフィルタ(Wiener Filter)を用いて実現される。本実施形態において、適応ループフィルタ26による適応ループフィルタ処理は、Quad-Tree状に画像内に配置されるブロックを処理単位として、上記非特許文献2により提案されている手法に従ってブロックベースで行われてよい。本明細書では、適応ループフィルタ26による適応ループフィルタ処理の処理単位となるブロックをもパーティションという。但し、適応オフセット部25により使用されるパーティションの配置(即ち、Quad-Tree構造)と適応ループフィルタ26により使用されるパーティションの配置とは、共通であってもよく又は共通でなくてもよい。適応ループフィルタ26は、適応ループフィルタ処理の結果として、原画像との差の最小化された復号画像データをフレームメモリ27へ出力する。また、適応ループフィルタ26は、パーティションごとのフィルタ係数を示すフィルタ係数情報を可逆符号化部16へ出力する。
フレームメモリ27は、加算部23から入力される復号画像データ、及び適応ループフィルタ26から入力されるALF後の復号画像データを記憶媒体を用いて記憶する。
セレクタ28は、インター予測のために使用されるALF後の復号画像データをフレームメモリ27から読み出し、読み出した復号画像データを参照画像データとして動き探索部40に供給する。また、セレクタ28は、イントラ予測のために使用されるDF前の復号画像データをフレームメモリ27から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部30に供給する。
セレクタ29は、インター予測モードにおいて、動き探索部40から出力されるインター予測の結果としての予測画像データを減算部13へ出力すると共に、インター予測に関する情報を可逆符号化部16へ出力する。また、セレクタ29は、イントラ予測モードにおいて、イントラ予測部30から出力されるイントラ予測の結果としての予測画像データを減算部13へ出力すると共に、イントラ予測に関する情報を可逆符号化部16へ出力する。セレクタ29は、インター予測モードとイントラ予測モードとを、イントラ予測部30及び動き探索部40から出力されるコスト関数値の大きさに応じて切り替える。
イントラ予測部30は、並び替えバッファ12から入力される符号化対象の画像データ(原画像データ)、及びフレームメモリ27から供給される参照画像データとしての復号画像データに基づいて、画像内に設定されるブロックごとにイントラ予測処理を行う。そして、イントラ予測部30は、最適な予測モードを示す予測モード情報を含むイントラ予測に関する情報、コスト関数値、及び予測画像データを、セレクタ29へ出力する。
動き探索部40は、並び替えバッファ12から入力される原画像データ、及びセレクタ28を介して供給される復号画像データに基づいて、インター予測(フレーム間予測)のための動き探索処理を行う。そして、動き探索部40は、動きベクトル情報及び参照画像情報を含むインター予測に関する情報、コスト関数値、並びに予測画像データを、セレクタ29へ出力する。
画像符号化装置10は、ここで説明した一連の符号化処理を、スケーラブル符号化される画像の複数のレイヤの各々について繰り返す。最初に符号化されるレイヤは、ベースレイヤ(base layer)と呼ばれる、最も粗い画像を表現するレイヤである。ベースレイヤの符号化ストリームは、他のレイヤの符号化ストリームを復号することなく、独立して復号され得る。ベースレイヤ以外のレイヤは、エンハンスメントレイヤ(enhancement layer)と呼ばれる、より精細な画像を表現するレイヤである。エンハンスメントレイヤの符号化ストリームは、符号化効率を高めるためにベースレイヤの符号化ストリームに含まれる情報を用いて符号化される。従って、エンハンスメントレイヤの画像を再現するためには、ベースレイヤ及びエンハンスメントレイヤの双方の符号化ストリームが復号されることになる。スケーラブル符号化において扱われるレイヤは、3つ以上であってもよい。その場合には、最下位のレイヤがベースレイヤ、残りの複数のレイヤがエンハンスメントレイヤである。より上位のエンハンスメントレイヤの符号化ストリームは、より下位のエンハンスメントレイヤ又はベースレイヤの符号化ストリームに含まれる情報を用いて符号化され及び復号され得る。本明細書では、依存関係を有する少なくとも2つのレイヤのうち、依存される側のレイヤを下位レイヤ(lower layer)、依存する側のレイヤを上位レイヤ(upper layer)という。
画像符号化装置10によるスケーラブル符号化に際しては、Quad-Tree情報を効率的に符号化するために、上位レイヤにおいて下位レイヤのQuad-Tree情報が再利用される。具体的には、図1に示した可逆符号化部16は、符号化単位(CU)の設定のための下位レイヤのQuad-Tree情報をバッファリングするバッファを有し、当該Quad-Tree情報を用いて上位レイヤのCU構造を判定し得る。また、適応オフセット部25は、適応オフセット処理のパーティションの設定のための下位レイヤのQuad-Tree情報をバッファリングするバッファを有し、当該Quad-Tree情報を用いて上位レイヤにパーティションを配置し得る。適応ループフィルタ26もまた、適応ループフィルタ処理のパーティションの設定のための下位レイヤのQuad-Tree情報をバッファリングするバッファを有し、当該Quad-Tree情報を用いて上位レイヤにパーティションを配置し得る。なお、本明細書では、可逆符号化部16、適応オフセット部25及び適応ループフィルタ26がそれぞれQuad-Tree情報を再利用する例を主に説明する。しかしながら、かかる例に限定されず、可逆符号化部16、適応オフセット部25及び適応ループフィルタ26のうち任意の1つ又は2つにおいてのみQuad-Tree情報が再利用されてもよい。また、適応オフセット部25及び適応ループフィルタ26は、画像符号化装置10の構成から省略されてもよい。
スケーラブル符号化において階層化される典型的な属性は、主に次の3種類である。
−空間スケーラビリティ:空間解像度あるいは画像サイズが階層化される。
−時間スケーラビリティ:フレームレートが階層化される。
−SNR(Signal to Noise Ratio)スケーラビリティ:SN比が階層化される。
さらに、標準規格で未だ採用されていないものの、ビット深度スケーラビリティ及びクロマフォーマットスケーラビリティもまた議論されている。ここで、Quad-Tree情報の再利用は、通常、レイヤ間で画像の相関がある場合に有効である。レイヤ間の画像の相関は、一般的には、時間スケーラビリティを除く種類のスケーラビリティにおいて存在し得る。
図2は、空間スケーラビリティの一例について説明するための説明図である。図2において、スケーラブル符号化される3つのレイヤL1、L2及びL3が示されている。レイヤL1はベースレイヤであり、レイヤL2及びL3はエンハンスメントレイヤである。レイヤL2のレイヤL1に対する空間解像度の比は、2:1である。レイヤL3のレイヤL1に対する空間解像度の比は、4:1である。このように互いに解像度が異なっているとしても、レイヤL1の画像の内容は、レイヤL2の画像の内容に類似している可能性が高い。同様に、レイヤL2の画像の内容は、レイヤL3の画像の内容に類似している可能性が高い。これが、空間スケーラビリティにおけるレイヤ間の画像の相関である。
図3は、SNRスケーラビリティの一例について説明するための説明図である。図3において、スケーラブル符号化される3つのレイヤL1、L2及びL3が示されている。レイヤL1はベースレイヤであり、レイヤL2及びL3はエンハンスメントレイヤである。レイヤL1、L2及びL3の空間解像度は互いに等しい。しかし、一例として、レイヤL1の最小の量子化スケールは25であり、直交変換係数の量子化によって符号化ストリームのビットレートは2Mbps程度に抑えられる。一方、例えばレイヤL2の最小の量子化スケールは12であり、符号化ストリームのビットレートは5Mbps程度となる。また、例えばレイヤL3の最小の量子化スケールは0であり、符号化ストリームのビットレートは10Mbps程度となる。このように互いにビットレートが異なっているとしても、レイヤL1の画像の内容は、レイヤL2の画像の内容に類似している可能性が高い。同様に、レイヤL2の画像の内容は、レイヤL3の画像の内容に類似している可能性が高い。これが、SNRスケーラビリティにおけるレイヤ間の画像の相関である。
本実施形態に係る画像符号化装置10は、これらのようなレイヤ間の画像の相関に着目し、上位レイヤにおいて下位レイヤのQuad-Tree情報を再利用する。
[1−2.適応オフセット部の詳細な構成]
本項では、図1に示した適応オフセット部25の詳細な構成について説明する。図4は、適応オフセット部25の詳細な構成の一例を示すブロック図である。図4を参照すると、適応オフセット部25は、構造探索部110、選択部112、オフセット処理部114及びバッファ116を有する。
(1)ベースレイヤ
ベースレイヤの適応オフセット処理では、構造探索部110は、画像内に設定すべき最適なQuad-Tree構造を探索する。即ち、構造探索部110は、まず、デブロックフィルタ24から入力されるDF後の復号画像を1つ以上のパーティションに分割する。分割は再帰的に行われてよく、1つのパーティションはさらに1つ以上のパーティションに分割され得る。また、構造探索部110は、各パーティションについて様々なオフセットパターンで最適なオフセット値を算出する。上記非特許文献3により提案されている手法では、オフセットパターンとして、2種類のバンドオフセット(Band Offset:BO)、6種類のエッジオフセット(Edge Offset:EO)及び処理なし(OFF)の9種類の候補が存在する。
図5は、バンドオフセットについて説明するための説明図である。バンドオフセットでは、図5に示されているように、輝度の画素値のレンジ(例えば、8ビットであれば0〜255)が32個のバンド(帯域)にクラス分けされる。そして、各バンドについてオフセット値が与えられる。32個のバンドは、第1グループ及び第2グループにグルーピングされる。第1グループは、レンジの中央に位置する16個のバンドを含む。第2グループは、レンジの両端に8個ずつ位置する計16個のバンドを含む。オフセットパターンとしての第1のバンドオフセット(BO1)は、これら2つのグループのうち第1グループのバンドについてのオフセット値を符号化するというパターンである。オフセットパターンとしての第2のバンドオフセット(BO2)は、これら2つのグループのうち第2グループのバンドについてのオフセット値を符号化するというパターンである。なお、入力画像信号が放送信号である場合には、図5に示した“broadcast legal”のように、両端に2個ずつ位置する計4個のバンドについてのオフセット値は符号化されず、それによりオフセット情報のための符号量が削減され得る。
図6は、エッジオフセットについて説明するための説明図である。図6に示されているように、エッジオフセットの6種類のオフセットパターンは、4種類の1−Dパターンと2種類の2−Dパターンとを含む。これらオフセットパターンは、各画素をカテゴリ分類する際に参照される参照画素のセットをそれぞれ定義する。各1−Dパターンの参照画素の数は、2つである。第1のエッジオフセット(EO0)の参照画素は、対象画素の左右の隣接画素である。第2のエッジオフセット(EO1)の参照画素は、対象画素の上下の隣接画素である。第3のエッジオフセット(EO2)の参照画素は、対象画素の左上及び右下の隣接画素である。第4のエッジオフセット(EO3)の参照画素は、対象画素の右上及び左下の隣接画素である。これら参照画素を用いて、各パーティション内の各画素は、表1に示す条件に従って5つのカテゴリのいずれかに分類される。
一方、各2−Dパターンの参照画素の数は、4つである。第5のエッジオフセット(EO4)の参照画素は、対象画素の左右及び上下の隣接画素である。第6のエッジオフセット(EO5)の参照画素は、対象画素の左上、右上、左下及び右下の隣接画素である。これら参照画素を用いて、各パーティション内の各画素は、表2に示す条件に従って7つのカテゴリのいずれかに分類される。
そして、各カテゴリについてオフセット値が与えられ、オフセット値が符号化されると共に、各画素の画素値に当該画素が属するカテゴリに対応するオフセット値が加えられる。
構造探索部110は、Quad-Tree状に配置されるパーティションの各々について、これら様々なオフセットパターンで最適なオフセット値を算出し、オフセット処理後の画像を生成する。選択部112は、オフセット処理後の画像と原画像との比較に基づいて、最適なQuad-Tree構造、各パーティションについてのオフセットパターン及びオフセット値のセットを選択する。そして、選択部112は、Quad-Tree構造を表すQuad-Tree情報とオフセットパターン及びオフセット値を表すオフセット情報とを、オフセット処理部114及び可逆符号化部16へ出力する。また、Quad-Tree情報は、バッファ116によって、上位レイヤでの処理のためにバッファリングされる。
オフセット処理部114は、デブロックフィルタ24から入力されるベースレイヤの復号画像のQuad-Tree構造を選択部112から入力されるQuad-Tree情報を用いて認識し、各パーティションについて選択されたオフセットパターンに従って各画素値にオフセット値を加算する。そして、オフセット処理部114は、オフセットされた画素値を有する復号画像データを適応ループフィルタ26へ出力する。
(2)エンハンスメントレイヤ
エンハンスメントレイヤの適応オフセット処理では、バッファ116によりバッファリングされるQuad-Tree情報が再利用される。
まず、構造探索部110は、下位レイヤにおいて画像内に設定されたQuad-Tree構造を表すQuad-Tree情報を、バッファ116から取得する。そして、構造探索部110は、取得したQuad-Tree情報に従って、エンハンスメントレイヤの画像内に1つ以上のパーティションを配置する。このようなパーティションの配置が、エンハンスメントレイヤのためのQuad-Tree構造として単純に採用されてもよい。その代わりに、構造探索部110は、配置されたパーティションを1つ以上のパーティションにさらに分割(以下、再分割という)してもよい。構造探索部110は、このようにQuad-Tree状に配置されるパーティションの各々について、上述した様々なオフセットパターンで最適なオフセット値を算出し、オフセット処理後の画像を生成する。選択部112は、オフセット処理後の画像と原画像との比較に基づいて、最適なQuad-Tree構造、各パーティションについてのオフセットパターン及びオフセット値のセットを選択する。選択部112は、下位レイヤのQuad-Tree構造が再分割される場合には、再分割されるパーティションを識別するための分割情報を生成する。そして、選択部112は、分割情報及びオフセット情報を可逆符号化部16へ出力する。また、選択部112は、下位レイヤのQuad-Tree情報、分割情報及びオフセット情報をオフセット処理部114へ出力する。エンハンスメントレイヤの分割情報は、バッファ116によって上位レイヤでの処理のためにバッファリングされてもよい。
オフセット処理部114は、デブロックフィルタ24から入力されるエンハンスメントレイヤの復号画像のQuad-Tree構造を選択部112から入力されるQuad-Tree情報及び分割情報を用いて認識し、各パーティションについて選択されたオフセットパターンに従って各画素値にオフセット値を加算する。そして、オフセット処理部114は、オフセットされた画素値を有する復号画像データを適応ループフィルタ26へ出力する。
図7は、Quad-Tree構造の各パーティションへのオフセットパターンの設定の一例を示す説明図である。図7を参照すると、あるLCU内に、10個のパーティションPT00〜PT03、PT1、PT2及びPT30〜PT33がQuad-Tree状に配置されている。このうち、パーティションPT00及びPT03にはバンドオフセットBO1、パーティションPT02にはバンドオフセットBO2、パーティションPT1にはエッジオフセットEO1、パーティションPT01及びPT31にはエッジオフセットEO2、パーティションPT2にはエッジオフセットEO4が設定されている。残りのパーティションPT30、PT32及びPT33には処理なし(OFF)が設定されている。本実施形態において、選択部112から可逆符号化部16へ出力されるオフセット情報は、このようなパーティションごとのオフセットパターンと、各オフセットパターンについてのオフセット値のセット(バンド別のオフセット値及びカテゴリ別のオフセット値)とを表す。
[1−3.適応ループフィルタの詳細な構成]
本項では、図1に示した適応ループフィルタ26の詳細な構成について説明する。図8は、適応ループフィルタ26の詳細な構成の一例を示すブロック図である。図8を参照すると、適応ループフィルタ26は、構造探索部120、選択部122、フィルタリング部124及びバッファ126を有する。
(1)ベースレイヤ
ベースレイヤの適応ループフィルタ処理では、構造探索部120は、画像内に設定すべき最適なQuad-Tree構造を探索する。即ち、構造探索部120は、まず、適応オフセット部25から入力される適応オフセット処理後の復号画像を1つ以上のパーティションに分割する。分割は再帰的に行われてよく、1つのパーティションはさらに1つ以上のパーティションに分割され得る。また、構造探索部120は、各パーティションについて原画像と復号画像との誤差を最小化するフィルタ係数を算出し、フィルタリング後の画像を生成する。選択部122は、フィルタリング後の画像と原画像との比較に基づいて、最適なQuad-Tree構造及び各パーティションについてのフィルタ係数のセットを選択する。そして、選択部122は、Quad-Tree構造を表すQuad-Tree情報とフィルタ係数を表すフィルタ係数情報とを、フィルタリング部124及び可逆符号化部16へ出力する。また、Quad-Tree情報は、バッファ126によって、上位レイヤでの処理のためにバッファリングされる。
フィルタリング部124は、選択部122から入力されるQuad-Tree情報を用いて、ベースレイヤの復号画像のQuad-Tree構造を認識する。次に、フィルタリング部124は、各パーティションについて選択されたフィルタ係数を有するウィーナフィルタを用いて、各パーティションの復号画像をフィルタリングする。そして、フィルタリング部124は、フィルタリングされた復号画像データをフレームメモリ27へ出力する。
(2)エンハンスメントレイヤ
エンハンスメントレイヤの適応ループフィルタ処理では、バッファ126によりバッファリングされるQuad-Tree情報が再利用される。
まず、構造探索部120は、下位レイヤにおいて画像内に設定されたQuad-Tree構造を表すQuad-Tree情報を、バッファ126から取得する。そして、構造探索部120は、取得したQuad-Tree情報に従って、エンハンスメントレイヤの画像内に1つ以上のパーティションを配置する。このようなパーティションの配置が、エンハンスメントレイヤのためのQuad-Tree構造として単純に採用されてもよい。その代わりに、構造探索部120は、配置されたパーティションを1つ以上のパーティションに再分割してもよい。構造探索部120は、このようにQuad-Tree状に配置されるパーティションの各々について、フィルタ係数を算出し、フィルタリング後の画像を生成する。選択部122は、フィルタリング後の画像と原画像との比較に基づいて、最適なQuad-Tree構造及び各パーティションについてのフィルタ係数を選択する。選択部122は、下位レイヤのQuad-Tree構造が再分割される場合には、再分割されるパーティションを識別するための分割情報を生成する。そして、選択部122は、分割情報及びフィルタ係数情報を可逆符号化部16へ出力する。また、選択部122は、下位レイヤのQuad-Tree情報、分割情報及びフィルタ係数情報をフィルタリング部124へ出力する。エンハンスメントレイヤの分割情報は、バッファ126によって上位レイヤでの処理のためにバッファリングされてもよい。
フィルタリング部124は、選択部122から入力されるQuad-Tree情報及び分割情報を用いて、適応オフセット部25から入力されるエンハンスメントレイヤの復号画像のQuad-Tree構造を認識する。次に、フィルタリング部124は、各パーティションについて選択されたフィルタ係数を有するウィーナフィルタを用いて、各パーティションの復号画像をフィルタリングする。そして、フィルタリング部124は、フィルタリングされた復号画像データをフレームメモリ27へ出力する。
図9は、Quad-Tree構造の各パーティションへのフィルタ係数の設定の一例を示す説明図である。図9を参照すると、あるLCU内に、7個のパーティションPT00〜PT03、PT1、PT2及びPT3がQuad-Tree状に配置されている。適応ループフィルタ26は、これらパーティションの各々について、ウィーナフィルタのためのフィルタ係数を算出する。その結果、例えばパーティションPT00にはフィルタ係数のセットCoef00が設定される。パーティションPT01にはフィルタ係数のセットCoef01が設定される。本実施形態において、選択部122から可逆符号化部16へ出力されるフィルタ係数情報は、このようなパーティションごとのフィルタ係数のセットを表す。
[1−4.可逆符号化部の詳細な構成]
本項では、図1に示した可逆符号化部16の詳細な構成について説明する。図10は、可逆符号化部16の詳細な構成の一例を示すブロック図である。図10を参照すると、可逆符号化部16は、CU構造判定部130、PU構造判定部132、TU構造判定部134、シンタックス符号化部136及びバッファ138を有する。
上述したように、HEVCでは、画像内にQuad-Tree状に設定される符号化単位(CU)が、画像の符号化及び復号の基本的な処理単位となる。設定可能な最大の符号化単位はLCU(Largest Coding Unit)と呼ばれ、最小の符号化単位はSCU(Smallest Coding Unit)と呼ばれる。LCU内のCU構造は、split_flag(分割フラグ)のセットを用いて特定される。図11に示す例において、LCUサイズは64×64画素、SCUサイズは8×8画素である。深さ(depth)ゼロにおいてsplit_flag=1が指定されると、64×64画素のLCUは4つの32×32画素のCUに分割される。32×32画素のCUもまた、さらにsplit_flag=1が指定されることで、4つの16×16画素のCUに分割され得る。このように、LCU及びSCUのサイズとsplit_flagのセットとにより、CUのQuad-Tree構造は表現され得る。なお、上述した適応オフセット処理及び適応ループフィルタ処理において用いられるパーティションのQuad-Tree構造もまた、同様の最大パーティションサイズ、最小パーティションサイズ及びsplit_flagのセットによって表現されてよい。
なお、エンハンスメントレイヤにおいて下位レイヤのQuad-Tree情報が再利用される場合において、エンハンスメントレイヤと下位レイヤとの間の空間解像度が異なるときは、空間解像度の比率に応じて拡大されるLCUサイズ又は最大パーティションサイズが、エンハンスメントレイヤのためのLCUサイズ又は最大パーティションサイズとして用いられる。SCUサイズ又は最小パーティションサイズは、当該比率に応じて拡大されてもよく、又は再分割の可能性を想定に入れて拡大されなくてもよい。
1つの符号化単位は、イントラ予測及びインター予測の処理単位である1つ以上の予測単位(PU:Prediction Unit)に分割され得る。また、1つの予測単位は、直交変換の処理単位である1つ以上の変換単位(TU:Transform Unit)に分割され得る。これらCU、PU及びTUのQuad-Tree構造は、典型的には、オフラインでの画像の解析に基づいて予め決定され得る。
(1)ベースレイヤ
ベースレイヤの符号化処理では、CU構造判定部130は、入力画像内に設定されるQuad-Tree状のCU構造を、オフラインでの画像の解析結果に基づいて判定する。そして、CU構造判定部130は、CU構造を表すQuad-Tree情報を生成し、生成したQuad-Tree情報をPU構造判定部132及びシンタックス符号化部136へ出力する。PU構造判定部132は、各CU内に設定されるPU構造を判定する。そして、PU構造判定部132は、各CU内のPU構造を表すPU設定情報をTU構造判定部134及びシンタックス符号化部136へ出力する。TU構造判定部134は、各PU内に設定されるTU構造を判定する。そして、TU構造判定部134は、各PU内のTU構造を表すTU設定情報をシンタックス符号化部136へ出力する。これらQuad-Tree情報、PU設定情報及びTU設定情報は、バッファ138によって上位レイヤでの処理のためにバッファリングされる。
シンタックス符号化部136は、量子化部15から入力されるベースレイヤの量子化データについて可逆符号化処理を行うことにより、ベースレイヤの符号化ストリームを生成する。また、シンタックス符号化部136は、画像符号化装置10の各部から入力されるヘッダ情報を符号化し、符号化されたヘッダ情報を符号化ストリームのヘッダ領域に多重化する。ここで符号化されるヘッダ情報は、適応オフセット部25から入力されるQuad-Tree情報及びオフセット情報と、適応ループフィルタ26から入力されるQuad-Tree情報及びフィルタ係数情報とを含み得る。また、シンタックス符号化部136により符号化されるヘッダ情報は、CU構造判定部130、PU構造判定部132及びTU構造判定部134からそれぞれ入力されるQuad-Tree情報、PU設定情報及びTU設定情報を含み得る。
(2)エンハンスメントレイヤ
エンハンスメントレイヤの符号化処理では、バッファ138によりバッファリングされる情報が再利用される。
CU構造判定部130は、下位レイヤにおいて各LCU内に設定されたCUのQuad-Tree構造を表すQuad-Tree情報を、バッファ138から取得する。ここで取得されるCUのためのQuad-Tree情報は、典型的には、LCUサイズ、SCUサイズ及びsplit_flagのセットを含む。なお、エンハンスメントレイヤと下位レイヤとの間の空間解像度が異なる場合には、LCUサイズは空間解像度の比率に応じて拡大されてよい。また、CU構造判定部130は、エンハンスメントレイヤの各LCU内に設定されるCU構造を、オフラインでの画像の解析結果に基づいて判定する。そして、CU構造判定部130は、エンハンスメントレイヤにおいてCUが再分割される場合には、分割情報を生成し、生成した分割情報をシンタックス符号化部136へ出力する。
PU構造判定部132は、下位レイヤにおいて各CU内に設定されたPUの構造を表すPU設定情報を、バッファ138から取得する。また、PU構造判定部132は、エンハンスメントレイヤの各CU内に設定されるPU構造を、オフラインでの画像の解析結果に基づいて判定する。PU構造判定部132は、下位レイヤとは異なるPU構造がエンハンスメントレイヤにおいて使用される場合には、PU設定情報を追加的に生成し、生成したPU設定情報をシンタックス符号化部136へ出力し得る。
TU構造判定部134は、下位レイヤにおいて各PU内に設定されたTUの構造を表すTU設定情報を、バッファ138から取得する。また、TU構造判定部134は、エンハンスメントレイヤの各PU内に設定されるTU構造を、オフラインでの画像の解析結果に基づいて判定する。TU構造判定部134は、下位レイヤとは異なるTU構造がエンハンスメントレイヤにおいて使用される場合には、TU設定情報を追加的に生成し、生成したTU設定情報をシンタックス符号化部136へ出力し得る。
シンタックス符号化部136は、量子化部15から入力されるエンハンスメントレイヤの量子化データについて可逆符号化処理を行うことにより、エンハンスメントレイヤの符号化ストリームを生成する。また、シンタックス符号化部136は、画像符号化装置10の各部から入力されるヘッダ情報を符号化し、符号化されたヘッダ情報を符号化ストリームのヘッダ領域に多重化する。ここで符号化されるヘッダ情報は、適応オフセット部25から入力される分割情報及びオフセット情報と、適応ループフィルタ26から入力される分割情報及びフィルタ係数情報とを含み得る。また、シンタックス符号化部136により符号化されるヘッダ情報は、CU構造判定部130、PU構造判定部132及びTU構造判定部134からそれぞれ入力される分割情報、PU設定情報及びTU設定情報を含み得る。
図12は、エンハンスメントレイヤにおいて追加的に符号化され得る分割情報について説明するための説明図である。図12の左には、下位レイヤにおけるCUのQuad-Tree構造が示されている。当該Quad-Tree構造は、7個の符号化単位CU0、CU1、CU20〜CU23及びCU3を含む。また、下位レイヤにおいて符号化されるいくつかのsplit_flagが示されている。例えば、split_flag FL1の値は1であり、図示されたLCU全体が4つのCUに分割されることを表す。split_flag FL2の値は0であり、符号化単位CU1がそれ以上分割されないことを表す。他のsplit_flagもまた、同様に、対応するCUがさらに複数のCUに分割されるかを表す。
図12の右には、上位レイヤにおけるCUのQuad-Tree構造が示されている。当該上位レイヤのQuad-Tree構造において、下位レイヤの符号化単位CU1は、4つの符号化単位CU10〜CU13に再分割されている。また、下位レイヤの符号化単位CU23は、4つの符号化単位に再分割されている。上位レイヤにおいて追加的に符号化され得る分割情報は、これら再分割に関連するいくつかのsplit_flagを含む。例えば、split_flag FU1の値は1であり、符号化単位CU1が4つのCUに再分割されることを表す。split_flag FU2の値は0であり、符号化単位CU11がそれ以上分割されないことを表す。split_flag FU3の値は1であり、符号化単位CU23が4つのCUに再分割されることを表す。このような分割情報は再分割されるCUについてのみ符号化されるため、分割情報の符号化によって増加する符号量は少ない。
図12では、CUのQuad-Tree構造を例にとって、エンハンスメントレイヤにおいて追加的に符号化され得る分割情報について説明した。しかしながら、上述した適応オフセット処理及び適応ループフィルタ処理において設定されるエンハンスメントレイヤのQuad-Tree構造のための分割情報もまた、各パーティションの再分割を表す同様のsplit_flagのセットによって表現されてよい。
<2.符号化時の処理の流れの例>
[2−1.適応オフセット処理]
図13は、図1に示した適応オフセット部25による適応オフセット処理の流れの一例を示すフローチャートである。なお、図13のフローチャートは、スケーラブル符号化される画像の複数のレイヤのうち1つのエンハンスメントレイヤを対象とする処理の流れを示している。ここで説明する処理の前に、下位レイヤを対象とする適応オフセット処理が行われ、下位レイヤについてのQuad-Tree情報がバッファ116によってバッファリングされているものとする。また、ここではLCUベースで繰り返し処理が行われるものとする。
図13を参照すると、まず、適応オフセット部25の構造探索部110は、下位レイヤの処理において生成されたQuad-Tree情報をバッファ116から取得する(ステップS110)。次に、構造探索部110は、取得した下位レイヤのQuad-Tree情報に従って、処理対象のLCU(以下、注目LCUという)を1つ以上のパーティションに分割する(ステップS111)。また、構造探索部110は、必要に応じて、各パーティションを1つ以上のより小さいパーティションに再分割する(ステップS112)。次に、構造探索部110は、各パーティションについて、上述した様々なオフセットパターンで最適なオフセット値を算出し、オフセット処理後の画像を生成する(ステップS113)。次に、選択部112は、オフセット処理後の画像と原画像との比較に基づいて、最適なQuad-Tree構造、各パーティションの最適なオフセットパターン及びオフセット値のセットを選択する(ステップS114)。
次に、選択部112は、下位レイヤのQuad-Tree情報により表されるQuad-Tree構造とステップS114において選択したQuad-Tree構造とを比較し、再分割されたパーティションが存在するかを判定する(ステップS115)。ここで、再分割されたパーティションが存在する場合には、選択部112は、下位レイヤに設定されたQuad-Tree構造のパーティションがさらに分割されることを示す分割情報を生成する(ステップS116)。次に、選択部112は、ステップS114において選択された各パーティションのオフセットパターン及びオフセット値のセットを表すオフセット情報を生成する(ステップS117)。ここで生成された分割情報及びオフセット情報は、可逆符号化部16により符号化され、エンハンスメントレイヤの符号化ストリームのヘッダ領域に多重化され得る。また、分割情報は、より上位のレイヤの処理のために、バッファ116によってバッファリングされ得る。
次に、オフセット処理部114は、注目LCU内の各パーティション内の画素値に、当該パーティションについて選択されたオフセットパターンに従って、対応するオフセット値をそれぞれ加算する(ステップS118)。このようにオフセットされた画素値を有する復号画像データは、適応ループフィルタ26へ出力される。
その後、処理対象のレイヤ内に未処理のLCUが残っている場合には、処理はステップS110に戻り、上述した処理が繰り返される(ステップS119)。一方、未処理のLCUが残っていない場合には、図13に示した適応オフセット処理は終了する。なお、より上位のレイヤが存在する場合には、より上位のレイヤを処理対象として、図13に示した適応オフセット処理が繰り返されてよい。
[2−2.適応ループフィルタ処理]
図14は、図1に示した適応ループフィルタ26による適応ループフィルタ処理の流れの一例を示すフローチャートである。なお、図14のフローチャートは、スケーラブル符号化される画像の複数のレイヤのうち1つのエンハンスメントレイヤを対象とする処理の流れを示している。ここで説明する処理の前に、下位レイヤを対象とする適応ループフィルタ処理が行われ、下位レイヤについてのQuad-Tree情報がバッファ126によってバッファリングされているものとする。また、ここではLCUベースで繰り返し処理が行われるものとする。
図14を参照すると、まず、適応ループフィルタ26の構造探索部120は、下位レイヤの処理において生成されたQuad-Tree情報をバッファ126から取得する(ステップS120)。次に、構造探索部120は、取得した下位レイヤのQuad-Tree情報に従って、注目LCUを1つ以上のパーティションに分割する(ステップS121)。また、構造探索部120は、必要に応じて、各パーティションを1つ以上のより小さいパーティションに再分割する(ステップS122)。次に、構造探索部120は、各パーティションについて、復号画像と原画像との誤差を最小化するフィルタ係数を算出し、フィルタリング後の画像を生成する(ステップS123)。次に、選択部122は、フィルタリング後の画像と原画像との比較に基づいて、最適なQuad-Tree構造とフィルタ係数との組合せを選択する(ステップS124)。
次に、選択部122は、下位レイヤのQuad-Tree情報により表されるQuad-Tree構造とステップS124において選択したQuad-Tree構造とを比較し、再分割されたパーティションが存在するかを判定する(ステップS125)。ここで、再分割されたパーティションが存在する場合には、選択部122は、下位レイヤに設定されたQuad-Tree構造のパーティションがさらに分割されることを示す分割情報を生成する(ステップS126)。次に、選択部122は、ステップS124において選択された各パーティションのフィルタ係数を表すフィルタ係数情報を生成する(ステップS127)。ここで生成された分割情報及びフィルタ係数情報は、可逆符号化部16により符号化され、エンハンスメントレイヤの符号化ストリームのヘッダ領域に多重化され得る。また、分割情報は、より上位のレイヤの処理のために、バッファ126によってバッファリングされ得る。
次に、フィルタリング部124は、注目LCU内の各パーティション内の復号画像を対応するフィルタ係数を用いてフィルタリングする(ステップS128)。ここでフィルタリングされた復号画像データは、フレームメモリ27へ出力される。
その後、処理対象のレイヤ内に未処理のLCUが残っている場合には、処理はステップS120に戻り、上述した処理が繰り返される(ステップS129)。一方、未処理のLCUが残っていない場合には、図14に示した適応ループフィルタ処理は終了する。なお、より上位のレイヤが存在する場合には、より上位のレイヤを処理対象として、図14に示した適応ループフィルタ処理が繰り返されてよい。
[2−3.符号化処理]
図15は、図1に示した可逆符号化部16による符号化処理の流れの一例を示すフローチャートである。なお、図15のフローチャートは、スケーラブル符号化される画像の複数のレイヤのうち1つのエンハンスメントレイヤを対象とする処理の流れを示している。ここで説明する処理の前に、下位レイヤを対象とする符号化処理が行われ、下位レイヤについてのQuad-Tree情報がバッファ138によってバッファリングされているものとする。また、ここではLCUベースで繰り返し処理が行われるものとする。
図13を参照すると、まず、可逆符号化部16のCU構造判定部130は、下位レイヤの処理において生成されたQuad-Tree情報をバッファ138から取得する(ステップS130)。同様に、PU構造判定部132は、下位レイヤの処理において生成されたPU設定情報を取得する。また、TU構造判定部134は、下位レイヤの処理において生成されたTU設定情報を取得する。
次に、CU構造判定部130は、注目LCU内に設定されるCU構造を判定する(ステップS131)。同様に、PU構造判定部132は、各CU内に設定されるPU構造を判定する(ステップS132)。TU構造判定部134は、各PU内に設定されるTU構造を判定する(ステップS133)。
次に、CU構造判定部130は、下位レイヤのQuad-Tree情報により表されるCU構造とステップS131において判定されたCU構造とを比較し、再分割されたCUが存在するかを判定する(ステップS134)。ここで、再分割されたCUが存在する場合には、CU構造判定部130は、下位レイヤに設定されたCUがさらに分割されることを示す分割情報を生成する(ステップS135)。同様に、PU構造判定部132及びTU構造判定部134は、新たなPU設定情報及びTU設定情報を生成し得る。
次に、シンタックス符号化部136は、CU構造判定部130により生成された分割情報(及び新たに生成され得るPU設定情報及びTU設定情報)を符号化する(ステップS136)。次に、シンタックス符号化部136は、その他のヘッダ情報を符号化する(ステップS137)。そして、シンタックス符号化部136は、分割情報を含み得る符号化されたヘッダ情報を、符号化された量子化データを含む符号化ストリームのヘッダ領域に多重化する(ステップS138)。このように生成されたエンハンスメントレイヤの符号化ストリームは、シンタックス符号化部136から蓄積バッファ17へ出力される。
その後、処理対象のレイヤ内に未処理のLCUが残っている場合には、処理はステップS130に戻り、上述した処理が繰り返される(ステップS139)。一方、未処理のLCUが残っていない場合には、図15に示した符号化処理は終了する。なお、より上位のレイヤが存在する場合には、より上位のレイヤを処理対象として、図15に示した符号化処理が繰り返されてよい。
<3.画像復号装置の構成例>
[3−1.全体的な構成]
図16は、一実施形態に係る画像復号装置60の構成の一例を示すブロック図である。図16を参照すると、画像復号装置60は、蓄積バッファ61、可逆復号部62、逆量子化部63、逆直交変換部64、加算部65、デブロックフィルタ(DF)66、適応オフセット部(AO)67、適応ループフィルタ(ALF)68、並び替えバッファ69、D/A(Digital to Analogue)変換部70、フレームメモリ71、セレクタ72及び73、イントラ予測部80、並びに動き補償部90を備える。
蓄積バッファ61は、伝送路を介して入力される符号化ストリームを一時的に蓄積する。
可逆復号部62は、蓄積バッファ61から入力される符号化ストリームを、符号化の際に使用された符号化方式に従って復号する。符号化ストリームに含まれる量子化データは、可逆復号部62により復号され、逆量子化部63へ出力される。また、可逆復号部62は、符号化ストリームのヘッダ領域に多重化されているヘッダ情報を復号する。ここで復号されるヘッダ情報は、例えば、上述したQuad-Tree情報、分割情報、オフセット情報、フィルタ係数情報、PU設定情報及びTU設定情報を含み得る。可逆復号部62は、CUに関するQuad-Tree情報、分割情報、PU設定情報及びTU設定情報を復号すると、復号される画像内に1つ以上のCU、PU及びTUを設定する。また、可逆復号部62は、適応オフセット処理に関するQuad-Tree情報、分割情報及びオフセット情報を復号すると、復号された情報を適応オフセット部67へ出力する。また、可逆復号部62は、適応ループフィルタ処理に関するQuad-Tree情報、分割情報及びフィルタ係数情報を復号すると、復号された情報を適応ループフィルタ68へ出力する。さらに、可逆復号部62により復号されるヘッダ情報は、インター予測に関する情報及びイントラ予測に関する情報を含んでもよい。可逆復号部62は、イントラ予測に関する情報をイントラ予測部80へ出力する。また、可逆復号部62は、インター予測に関する情報を動き補償部90へ出力する。
逆量子化部63は、可逆復号部62による復号後の量子化データを逆量子化する。逆直交変換部64は、符号化の際に使用された直交変換方式に従い、逆量子化部63から入力される変換係数データについて逆直交変換を行うことにより、予測誤差データを生成する。そして、逆直交変換部64は、生成した予測誤差データを加算部65へ出力する。
加算部65は、逆直交変換部64から入力される予測誤差データと、セレクタ73から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部65は、生成した復号画像データをデブロックフィルタ66及びフレームメモリ71へ出力する。
デブロックフィルタ66は、加算部65から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データを適応オフセット部67へ出力する。
適応オフセット部67は、DF後の復号画像の各画素値に適応的に決定されるオフセット値を加えることにより、復号画像の画質を向上させる。本実施形態において、適応オフセット部67による適応オフセット処理は、可逆復号部62により復号されるQuad-Tree情報、分割情報及びオフセット情報を用いて、Quad-Tree状に画像内に配置されるパーティションを処理単位として行われる。適応オフセット部67は、適応オフセット処理の結果として、オフセットされた画素値を有する復号画像データを適応ループフィルタ68へ出力する。
適応ループフィルタ68は、AO後の復号画像をフィルタリングすることにより、復号画像と原画像との誤差を最小化する。適応ループフィルタ68は、典型的には、ウィーナフィルタを用いて実現される。本実施形態において、適応ループフィルタ68による適応ループフィルタ処理は、可逆復号部62により復号されるQuad-Tree情報、分割情報及びフィルタ係数情報を用いて、Quad-Tree状に画像内に配置されるパーティションを処理単位として行われる。適応ループフィルタ68は、適応ループフィルタ処理の結果として、フィルタリングされた復号画像データを並び替えバッファ69及びフレームメモリ71へ出力する。
並び替えバッファ69は、適応ループフィルタ68から入力される画像を並び替えることにより、時系列の一連の画像データを生成する。そして、並び替えバッファ69は、生成した画像データをD/A変換部70へ出力する。
D/A変換部70は、並び替えバッファ69から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、D/A変換部70は、例えば、画像復号装置60と接続されるディスプレイ(図示せず)にアナログ画像信号を出力することにより、画像を表示させる。
フレームメモリ71は、加算部65から入力されるDF前の復号画像データ、及び適応ループフィルタ68から入力されるALF後の復号画像データを記憶媒体を用いて記憶する。
セレクタ72は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ71からの画像データの出力先をイントラ予測部80と動き補償部90との間で切り替える。例えば、セレクタ72は、イントラ予測モードが指定された場合には、フレームメモリ71から供給されるDF前の復号画像データを参照画像データとしてイントラ予測部80へ出力する。また、セレクタ72は、インター予測モードが指定された場合には、フレームメモリ71から供給されるALF後の復号画像データを参照画像データとして動き補償部90へ出力する。
セレクタ73は、可逆復号部62により取得されるモード情報に応じて、加算部65へ供給すべき予測画像データの出力元をイントラ予測部80と動き補償部90との間で切り替える。例えば、セレクタ73は、イントラ予測モードが指定された場合には、イントラ予測部80から出力される予測画像データを加算部65へ供給する。また、セレクタ73は、インター予測モードが指定された場合には、動き補償部90から出力される予測画像データを加算部65へ供給する。
イントラ予測部80は、可逆復号部62から入力されるイントラ予測に関する情報とフレームメモリ71からの参照画像データとに基づいてイントラ予測処理を行い、予測画像データを生成する。そして、イントラ予測部80は、生成した予測画像データをセレクタ73へ出力する。
動き補償部90は、可逆復号部62から入力されるインター予測に関する情報とフレームメモリ71からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部90は、動き補償処理の結果として生成される予測画像データをセレクタ73へ出力する。
画像復号装置60は、ここで説明した一連の復号処理を、スケーラブル符号化された画像の複数のレイヤの各々について繰り返す。最初に復号されるレイヤは、ベースレイヤである。ベースレイヤが復号された後、1つ以上のエンハンスメントレイヤが復号される。エンハンスメントレイヤの復号に際しては、ベースレイヤ又は他のエンハンスメントレイヤである下位レイヤを復号することにより得られた情報が用いられる。
画像符号化装置60によるスケーラブル復号に際しては、レイヤ間の画像の相関に着目し、上位レイヤにおいて下位レイヤのQuad-Tree情報が再利用される。具体的には、図16に示した可逆復号部62は、符号化単位(CU)の設定のための下位レイヤのQuad-Tree情報をバッファリングするバッファを有し、当該Quad-Tree情報を用いて上位レイヤにCUを設定する。また、適応オフセット部67は、適応オフセット処理のパーティションの設定のための下位レイヤのQuad-Tree情報をバッファリングするバッファを有し、当該Quad-Tree情報を用いて上位レイヤにパーティションを設定する。適応ループフィルタ68もまた、適応ループフィルタ処理のパーティションの設定のための下位レイヤのQuad-Tree情報をバッファリングするバッファを有し、当該Quad-Tree情報を用いて上位レイヤにパーティションを設定する。なお、本明細書では、可逆復号部62、適応オフセット部67及び適応ループフィルタ68がそれぞれQuad-Tree情報を再利用する例を主に説明する。しかしながら、かかる例に限定されず、可逆復号部62、適応オフセット部67及び適応ループフィルタ68のうち任意の1つ又は2つにおいてのみQuad-Tree情報が再利用されてもよい。また、適応オフセット部67及び適応ループフィルタ68は、画像符号化装置60の構成から省略されてもよい。
[3−2.可逆復号部の詳細な構成]
本項では、図16に示した可逆復号部62の詳細な構成について説明する。図17は、可逆復号部62の詳細な構成の一例を示すブロック図である。図17を参照すると、可逆復号部62は、シンタックス復号部210、CU設定部212、PU設定部214、TU設定部216及びバッファ218を有する。
(1)ベースレイヤ
ベースレイヤの復号処理では、シンタックス復号部210は、蓄積バッファ61から入力されるベースレイヤの符号化ストリームを復号する。シンタックス復号部210は、ベースレイヤに設定されるCUのためのQuad-Tree情報を復号すると、復号された当該Quad-Tree情報をCU設定部212へ出力する。CU設定部212は、シンタックス復号部210により復号されたQuad-Tree情報を用いて、ベースレイヤにQuad-Tree状に1つ以上のCUを設定する。そして、シンタックス復号部210は、CU設定部212により設定されるCUごとにその他のヘッダ情報及び画像データ(量子化データ)を復号する。シンタックス復号部210により復号された量子化データは、逆量子化部63へ出力される。
また、シンタックス復号部210は、復号したPU設定情報及びTU設定情報を、PU設定部214及びTU設定部216へそれぞれ出力する。PU設定部214は、シンタックス復号部210により復号されたPU設定情報を用いて、CU設定部212によりQuad-Tree状に設定されたCUの各々にさらに1つ以上のPUを設定する。PU設定部214により設定されたPUの各々は、イントラ予測部80によるイントラ予測処理又は動き補償部90による動き補償処理のための処理単位となる。また、TU設定部216は、シンタックス復号部210により復号されたTU設定情報を用いて、PU設定部214により設定されたPUの各々にさらに1つ以上のTUを設定する。TU設定部216により設定されたTUの各々は、逆量子化部63による逆量子化及び逆直交変換部64による逆直交変換のための処理単位となる。
また、シンタックス復号部210は、適応オフセット処理のためのQuad-Tree情報及びオフセット情報を復号し、復号したこれら情報を適応オフセット部67へ出力する。また、シンタックス復号部210は、適応ループフィルタ処理のためのQuad-Tree情報及びフィルタ係数情報を復号し、復号したこれら情報を適応ループフィルタ68へ出力する。さらに、シンタックス復号部210は、その他のヘッダ情報を復号し、復号した情報を対応する処理部(例えば、イントラ予測に関する情報についてはイントラ予測部80、インター予測に関する情報については動き補償部90など)へ出力する。
バッファ218は、シンタックス復号部210により復号されたCUのためのQuad-Tree情報を、上位レイヤでの処理のためにバッファリングする。PU設定情報及びTU設定情報は、CUのためのQuad-Tree情報と同様にバッファリングされてもよく、又は上位レイヤにおいて新たに復号されてもよい。
(2)エンハンスメントレイヤ
エンハンスメントレイヤの符号化処理では、バッファ218によりバッファリングされる情報が再利用される。
シンタックス復号部210は、蓄積バッファ61から入力されるエンハンスメントレイヤの符号化ストリームを復号する。シンタックス復号部210は、まず、下位レイヤにCUを設定する際に使用されたQuad-Tree情報をバッファ218から取得し、取得した当該Quad-Tree情報をCU設定部212へ出力する。CU設定部212は、シンタックス復号部210により取得された下位レイヤのQuad-Tree情報を用いて、下位レイヤと同等のQuad-Tree構造を有する1つ以上のCUをエンハンスメントレイヤに設定する。ここでのQuad-Tree情報は、典型的には、LCUサイズ、SCUサイズ及びsplit_flagのセットを含む。なお、エンハンスメントレイヤと下位レイヤとの間の空間解像度が異なる場合には、LCUサイズは空間解像度の比率に応じて拡大されてよい。シンタックス復号部210は、エンハンスメントレイヤの符号化ストリームのヘッダ情報に分割情報が含まれている場合には、当該分割情報を復号し、復号した分割情報をCU設定部212へ出力する。CU設定部212は、上記Quad-Tree情報を用いて設定したCUを、シンタックス復号部210により復号された分割情報に従って再分割し得る。シンタックス復号部210は、このようにCU設定部212により設定されるCUごとに、その他のヘッダ情報及び画像データ(量子化データ)を復号する。シンタックス復号部210により復号された量子化データは、逆量子化部63へ出力される。
また、シンタックス復号部210は、バッファ218から取得され又はエンハンスメントレイヤにおいて新たに復号されるPU設定情報及びTU設定情報を、PU設定部214及びTU設定部216へそれぞれ出力する。PU設定部214は、シンタックス復号部210から入力されるPU設定情報を用いて、CU設定部212によりQuad-Tree状に設定されたCUの各々にさらに1つ以上のPUを設定する。また、TU設定部216は、シンタックス復号部210から入力されるTU設定情報を用いて、PU設定部214により設定されたPUの各々にさらに1つ以上のTUを設定する。
また、シンタックス復号部210は、適応オフセット処理のためのオフセット情報をエンハンスメントレイヤの符号化ストリームから復号し、復号したオフセット情報を適応オフセット部67へ出力する。適応オフセット処理のための分割情報が符号化ストリームに含まれている場合には、シンタックス復号部210は、当該分割情報を復号して適応オフセット部67へ出力する。また、シンタックス復号部210は、適応ループフィルタ処理のためのフィルタ係数情報をエンハンスメントレイヤの符号化ストリームから復号し、復号したフィルタ係数情報を適応ループフィルタ68へ出力する。適応ループフィルタ処理のための分割情報が符号化ストリームに含まれている場合には、シンタックス復号部210は、当該分割情報を復号し適応ループフィルタ68へ出力する。さらに、シンタックス復号部210は、その他のヘッダ情報を復号し、復号した情報を対応する処理部へ出力する。
バッファ218は、シンタックス復号部210により復号されたエンハンスメントレイヤの分割情報、PU設定情報及びTU設定情報が存在する場合には、さらなる上位レイヤでの処理のためにこれら情報をバッファリングしてもよい。
[3−3.適応オフセット部の詳細な構成]
本項では、図16に示した適応オフセット部67の詳細な構成について説明する。図18は、適応オフセット部67の詳細な構成の一例を示すブロック図である。図18を参照すると、適応オフセット部67は、パーティション設定部220、オフセット取得部222、オフセット処理部224及びバッファ226を有する。
(1)ベースレイヤ
ベースレイヤの適応オフセット処理では、パーティション設定部220は、ベースレイヤの符号化ストリームから可逆復号部62により復号されるQuad-Tree情報を取得する。そして、パーティション設定部220は、取得した当該Quad-Tree情報を用いて、ベースレイヤにQuad-Tree状に適応オフセット処理のための1つ以上のパーティションを設定する。オフセット取得部222は、可逆復号部62により復号される適応オフセット処理のためのオフセット情報を取得する。ここで取得されるオフセット情報は、上述したように、パーティションごとのオフセットパターンと、各オフセットパターンについてのオフセット値のセットとを表す。そして、オフセット処理部224は、オフセット取得部222により取得されるオフセット情報を用いて、パーティション設定部220により設定されたパーティションごとに、適応オフセット処理を行う。即ち、オフセット処理部224は、各パーティション内の各画素値に、オフセット情報により表されるオフセットパターンに従ってオフセット値を加算する。そして、オフセット処理部224は、オフセットされた画素値を有する復号画像データを適応ループフィルタ68へ出力する。パーティション設定部220により取得されたQuad-Tree情報は、バッファ226によって、上位レイヤでの処理のためにバッファリングされる。
(2)エンハンスメントレイヤ
エンハンスメントレイヤの適応オフセット処理では、バッファ226によりバッファリングされるQuad-Tree情報が再利用される。
エンハンスメントレイヤの適応オフセット処理では、パーティション設定部220は、バッファ226から下位レイヤのQuad-Tree情報を取得する。そして、パーティション設定部220は、取得した当該Quad-Tree情報を用いて、エンハンスメントレイヤにQuad-Tree状に適応オフセット処理のための1つ以上のパーティションを設定する。また、可逆復号部62により分割情報が復号された場合には、パーティション設定部220は、復号された分割情報を取得し、取得した当該分割情報に従ってパーティションを再分割し得る。オフセット取得部222は、可逆復号部62により復号される適応オフセット処理のためのオフセット情報を取得する。オフセット処理部224は、オフセット取得部222により取得されるオフセット情報を用いて、パーティション設定部220により設定されたパーティションごとに、適応オフセット処理を行う。そして、オフセット処理部224は、オフセットされた画素値を有する復号画像データを適応ループフィルタ68へ出力する。パーティション設定部220により取得された分割情報は、バッファ226によって、さらなる上位レイヤでの処理のためにバッファリングされてもよい。
[3−4.適応ループフィルタの詳細な構成]
本項では、図16に示した適応ループフィルタ68の詳細な構成について説明する。図19は、適応ループフィルタ68の詳細な構成の一例を示すブロック図である。図19を参照すると、適応ループフィルタ68は、パーティション設定部230、係数取得部232、フィルタリング部234及びバッファ236を有する。
(1)ベースレイヤ
ベースレイヤの適応ループフィルタ処理では、パーティション設定部230は、ベースレイヤの符号化ストリームから可逆復号部62により復号されるQuad-Tree情報を取得する。そして、パーティション設定部230は、取得した当該Quad-Tree情報を用いて、ベースレイヤにQuad-Tree状に適応ループフィルタ処理のための1つ以上のパーティションを設定する。係数取得部232は、可逆復号部62により復号される適応ループフィルタ処理のためのフィルタ係数情報を取得する。ここで取得されるフィルタ係数情報は、上述したように、パーティションごとのフィルタ係数のセットを表す。そして、フィルタリング部234は、パーティション設定部230により設定されたパーティションごとに、フィルタ係数情報により表されるフィルタ係数を有するウィーナフィルタを用いて、復号画像データをフィルタリングする。そして、フィルタリング部234は、フィルタリングされた復号画像データを並び替えバッファ69及びフレームメモリ71へ出力する。パーティション設定部230により取得されたQuad-Tree情報は、バッファ236によって、上位レイヤでの処理のためにバッファリングされる。
(2)エンハンスメントレイヤ
エンハンスメントレイヤの適応ループフィルタ処理では、バッファ236によりバッファリングされるQuad-Tree情報が再利用される。
エンハンスメントレイヤの適応ループフィルタ処理では、パーティション設定部230は、バッファ236から下位レイヤのQuad-Tree情報を取得する。そして、パーティション設定部230は、取得した当該Quad-Tree情報を用いて、エンハンスメントレイヤにQuad-Tree状に適応ループフィルタ処理のための1つ以上のパーティションを設定する。また、可逆復号部62により分割情報が復号された場合には、パーティション設定部230は、復号された分割情報を取得し、取得した当該分割情報に従ってパーティションを再分割し得る。係数取得部232は、可逆復号部62により復号される適応ループフィルタ処理のためのフィルタ係数情報を取得する。フィルタリング部234は、パーティション設定部230により設定されたパーティションごとに、フィルタ係数情報により表されるフィルタ係数を有するウィーナフィルタを用いて、復号画像データをフィルタリングする。そして、フィルタリング部234は、フィルタリングされた復号画像データを並び替えバッファ69及びフレームメモリ71へ出力する。パーティション設定部230により取得された分割情報は、バッファ236によって、さらなる上位レイヤでの処理のためにバッファリングされてもよい。
<4.復号時の処理の流れの例>
[4−1.復号処理]
図20は、図16に示した可逆復号部62による復号処理の流れの一例を示すフローチャートである。なお、図20のフローチャートは、スケーラブル復号される画像の複数のレイヤのうち1つのエンハンスメントレイヤを対象とする処理の流れを示している。ここで説明する処理の前に、下位レイヤを対象とする復号処理が行われ、下位レイヤについての情報がバッファ218によってバッファリングされているものとする。また、ここではLCUベースで繰り返し処理が行われるものとする。
図20を参照すると、まず、シンタックス復号部210は、下位レイヤにCUを設定する際に使用されたQuad-Tree情報をバッファ218から取得する(ステップS210)。また、シンタックス復号部210は、PU設定情報及びTU設定情報を新たに符号化ストリームから復号し、又はバッファ218から取得する(ステップS211)。
次に、シンタックス復号部210は、再分割されるCUが存在することを示す分割情報が符号化ストリームのヘッダ領域内に存在するかを判定する(ステップS212)。ここで、分割情報が存在する場合には、シンタックス復号部210は、当該分割情報を復号する(ステップS213)。
次に、CU設定部212は、注目LCUに対応する下位レイヤのLCU内にCUを設定する際に使用されたQuad-Tree情報を用いて、下位レイヤと同等のQuad-Tree構造を有する1つ以上のCUをエンハンスメントレイヤの注目LCU内に設定する(ステップS214)。ここで、CU設定部212は、分割情報が存在する場合には、当該分割情報に従ってCUを再分割し得る。
次に、PU設定部214は、シンタックス復号部210により取得されたPU設定情報を用いて、CU設定部212により設定されたCUの各々にさらに1つ以上のPUを設定する(ステップS215)。
次に、TU設定部216は、シンタックス復号部210により取得されたTU設定情報を用いて、PU設定部214により設定されたPUの各々にさらに1つ以上のTUを設定する(ステップS216)。
また、シンタックス復号部210は、イントラ予測に関する情報及びインター予測に関する情報などの他のヘッダ情報を復号する(ステップS217)。また、シンタックス復号部210は、エンハンスメントレイヤの符号化ストリームに含まれる注目LCUの量子化データを復号する(ステップS218)。シンタックス復号部210により復号された量子化データは、逆量子化部63へ出力される。
その後、処理対象のレイヤ内に未処理のLCUが残っている場合には、処理はステップS210に戻り、上述した処理が繰り返される(ステップS219)。一方、未処理のLCUが残っていない場合には、図20に示した復号処理は終了する。なお、より上位のレイヤが存在する場合には、より上位のレイヤを処理対象として、図20に示した復号処理が繰り返されてよい。
[4−2.適応オフセット処理]
図21は、図16に示した適応オフセット部67による適応オフセット処理の流れの一例を示すフローチャートである。なお、図21のフローチャートは、スケーラブル復号される画像の複数のレイヤのうち1つのエンハンスメントレイヤを対象とする処理の流れを示している。ここで説明する処理の前に、下位レイヤを対象とする適応オフセット処理が行われ、下位レイヤについてのQuad-Tree情報がバッファ226によってバッファリングされているものとする。また、ここではLCUベースで繰り返し処理が行われるものとする。
図21を参照すると、まず、パーティション設定部220は、下位レイヤにパーティションを設定する際に使用されたQuad-Tree情報をバッファ226から取得する(ステップS220)。
次に、パーティション設定部220は、再分割されるパーティションが存在することを示す分割情報が可逆復号部62により復号されたかを判定する(ステップS221)。ここで、分割情報が復号されている場合には、パーティション設定部220は、当該分割情報を取得する(ステップS222)。
次に、パーティション設定部220は、注目LCUに対応する下位レイヤのLCU内にパーティションを設定する際に使用されたQuad-Tree情報を用いて、下位レイヤと同等のQuad-Tree構造を有する1つ以上のパーティションをエンハンスメントレイヤの注目LCU内に設定する(ステップS223)。ここで、パーティション設定部220は、分割情報が存在する場合には、当該分割情報に従ってパーティションを再分割し得る。
次に、オフセット取得部222は、可逆復号部62により復号された適応オフセット処理のためのオフセット情報を取得する(ステップS224)。ここで取得されるオフセット情報は、注目LCU内のパーティションごとのオフセットパターンと、各オフセットパターンについてのオフセット値のセットとを表す。
次に、オフセット処理部224は、取得されたオフセット情報により表されるオフセットパターンに従い、各パーティション内の画素値にオフセット値を加算する(ステップS225)。そして、オフセット処理部224は、オフセットされた画素値を有する復号画像データを適応ループフィルタ68へ出力する。
その後、処理対象のレイヤ内に未処理のLCUが残っている場合には、処理はステップS220に戻り、上述した処理が繰り返される(ステップS226)。一方、未処理のLCUが残っていない場合には、図21に示した適応オフセット処理は終了する。なお、より上位のレイヤが存在する場合には、より上位のレイヤを処理対象として、図21に示した適応オフセット処理が繰り返されてよい。
[4−3.適応ループフィルタ処理]
図22は、図16に示した適応ループフィルタ68による適応ループフィルタ処理の流れの一例を示すフローチャートである。なお、図22のフローチャートは、スケーラブル復号される画像の複数のレイヤのうち1つのエンハンスメントレイヤを対象とする処理の流れを示している。ここで説明する処理の前に、下位レイヤを対象とする適応ループフィルタ処理が行われ、下位レイヤについてのQuad-Tree情報がバッファ236によってバッファリングされているものとする。また、ここではLCUベースで繰り返し処理が行われるものとする。
図22を参照すると、まず、パーティション設定部230は、下位レイヤにパーティションを設定する際に使用されたQuad-Tree情報をバッファ236から取得する(ステップS230)。
次に、パーティション設定部230は、再分割されるパーティションが存在することを示す分割情報が可逆復号部62により復号されたかを判定する(ステップS231)。ここで、分割情報が復号されている場合には、パーティション設定部230は、当該分割情報を取得する(ステップS232)。
次に、パーティション設定部230は、注目LCUに対応する下位レイヤのLCU内にパーティションを設定する際に使用されたQuad-Tree情報を用いて、下位レイヤと同等のQuad-Tree構造を有する1つ以上のパーティションをエンハンスメントレイヤの注目LCU内に設定する(ステップS233)。ここで、パーティション設定部230は、分割情報が存在する場合には、当該分割情報に従ってパーティションを再分割し得る。
次に、係数取得部232は、可逆復号部62により復号された適応ループフィルタ処理のためのフィルタ係数情報を取得する(ステップS234)。ここで取得されるフィルタ係数情報は、注目LCU内のパーティションごとのフィルタ係数のセットを表す。
次に、フィルタリング部234は、取得されたフィルタ係数情報により表されるフィルタ係数のセットを用いて、各パーティション内の復号画像をフィルタリングする(ステップS235)。そして、フィルタリング部234は、フィルタリングされた復号画像データを並び替えバッファ69及びフレームメモリ71へ出力する。
その後、処理対象のレイヤ内に未処理のLCUが残っている場合には、処理はステップS230に戻り、上述した処理が繰り返される(ステップS236)。一方、未処理のLCUが残っていない場合には、図22に示した適応ループフィルタ処理は終了する。なお、より上位のレイヤが存在する場合には、より上位のレイヤを処理対象として、図22に示した適応ループフィルタ処理が繰り返されてよい。
<5.応用例>
上述した実施形態に係る画像符号化装置10及び画像復号装置60は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
[5−1.第1の応用例]
図23は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOLEDなど)の映像面上に映像又は画像を表示する。
音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
制御部910は、CPU(Central Processing Unit)などのプロセッサ、並びにRAM(Random Access Memory)及びROM(Read Only Memory)などのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置60の機能を有する。従って、テレビジョン装置900での画像のスケーラブル復号に際して、レイヤ間の画像の相関に基づいてQuad-Tree情報を再利用することにより、符号化効率を高めることができる。
[5−2.第2の応用例]
図24は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929の記憶媒体に記憶させる。
また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。従って、携帯電話機920での画像のスケーラブル符号化及び復号に際して、レイヤ間の画像の相関に基づいてQuad-Tree情報を再利用することにより、符号化効率を高めることができる。
[5−3.第3の応用例]
図25は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。
エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD−Video、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等)又はBlu−ray(登録商標)ディスクなどであってよい。
セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置10の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置60の機能を有する。従って、記録再生装置940での画像のスケーラブル符号化及び復号に際して、レイヤ間の画像の相関に基づいてQuad-Tree情報を再利用することにより、符号化効率を高めることができる。
[5−4.第4の応用例]
図26は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD又はCMOSなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。従って、撮像装置960での画像のスケーラブル符号化及び復号に際して、レイヤ間の画像の相関に基づいてQuad-Tree情報を再利用することにより、符号化効率を高めることができる。
<6.まとめ>
ここまで、図1〜図26を用いて、一実施形態に係る画像符号化装置10及び画像復号装置60について詳細に説明した。本実施形態によれば、スケーラブル符号化及び復号に際して、下位レイヤに設定される第1のQuad-Treeを特定するQuad-Tree情報を用いて、上位レイヤに第2のQuad-Treeが設定される。従って、上位レイヤのQuad-Tree構造の全体を表すQuad-Tree情報を上位レイヤのために符号化する必要性が排除される。即ち、複数のレイヤにわたる冗長なQuad-Tree情報の符号化が回避されるため、符号化効率が高められる。
また、本実施形態によれば、上記第2のQuad-Treeにおいて上記第1のQuad-Treeをさらに分割するかを示す分割情報が、上位レイヤのために符号化され得る。従って、上位レイヤにおいて、下位レイヤと全く同じQuad-Tree構造を採用する代わりに、Quad-Tree構造をさらに分割することが可能となる。よって、上位レイヤにおいて、符号化及び復号、イントラ/インター予測、直交変換及び逆直交変換、適応オフセット(AO)、又は適応ループフィルタ(ALF)などの処理を、より小さい処理単位で行うことができる。その結果、上位レイヤにおいて精細な画像をより正確に再現することが可能となる。
上記Quad-Treeは、ブロックベースの適応ループフィルタ処理のためのQuad-Treeであってもよい。本実施形態によれば、適応ループフィルタ処理のために、Quad-Tree情報が再利用される一方で、レイヤ間で異なるフィルタ係数が算出され伝送される。従って、Quad-Tree情報が再利用されるとしても、上位レイヤに適用される適応ループフィルタの性能は十分に確保される。
また、上記Quad-Treeは、ブロックベースの適応オフセット処理のためのQuad-Treeであってもよい。本実施形態によれば、適応オフセット処理のために、Quad-Tree情報が再利用される一方で、レイヤ間で異なるオフセット情報が生成され伝送される。従って、Quad-Tree情報が再利用されるとしても、上位レイヤに適用される適応オフセット処理の性能は十分に確保される。
また、上記Quad-Treeは、CUのためのQuad-Treeであってもよい。HEVCでは、Quad-Tree状に配置されるCUが画像の符号化及び復号の基本的な処理単位となることから、CUのためのQuad-Tree情報をレイヤ間で再利用することで符号量を大きく削減することができる。また、各CU内のPUの配置及び/又はTUの配置をもレイヤ間で再利用することで、符号量はさらに削減され得る。一方、各CU内のPUの配置をレイヤごとに符号化すれば、PUの配置が各レイヤについて最適化されるため、予測精度を高めることができる。同様に、各PU内のTUの配置をレイヤごとに符号化すれば、TUの配置が各レイヤについて最適化されるため、直交変換により生じる雑音を抑制することができる。
本実施形態に係るQuad-Tree情報の再利用の仕組みは、空間スケーラビリティ、SNRスケーラビリティ、ビット深度スケーラビリティ及びクロマフォーマットスケーラビリティなど、様々な種類のスケーラブル符号化技術に適用可能である。レイヤ間で空間解像度が異なる場合にも、例えば空間解像度の比率に応じてLCUサイズ又は最大パーティションサイズを拡大することで、Quad-Tree情報の再利用を容易に実現することができる。
なお、本明細書では、Quad-Tree情報、分割情報、オフセット情報及びフィルタ係数情報などのヘッダ情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について主に説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
第1のレイヤ及び前記第1のレイヤよりも上位の第2のレイヤを含むスケーラブル復号される画像の前記第1のレイヤに設定される第1のQuad-Treeを特定するQuad-Tree情報を復号する復号部と、
前記復号部により復号される前記Quad-Tree情報を用いて、前記第2のレイヤに第2のQuad-Treeを設定する設定部と、
を備える画像処理装置。
(2)
前記復号部は、前記第1のQuad-Treeをさらに分割するかを示す分割情報を復号し、
前記設定部は、前記Quad-Tree情報を用いて形成されるQuad-Treeを前記分割情報に従ってさらに分割することにより、前記第2のQuad-Treeを設定する、
前記(1)に記載の画像処理装置。
(3)
前記設定部により設定される前記第2のQuad-Treeに含まれるパーティションごとに適応ループフィルタ処理を行うフィルタリング部、をさらに備える、前記(1)又は前記(2)に記載の画像処理装置。
(4)
前記復号部は、前記第2のレイヤの前記適応ループフィルタ処理のための各パーティションのフィルタ係数をさらに復号し、
前記フィルタリング部は、前記フィルタ係数を用いて前記適応ループフィルタ処理を行う、
前記(3)に記載の画像処理装置。
(5)
前記設定部により設定される前記第2のQuad-Treeに含まれるパーティションごとに適応オフセット処理を行うオフセット処理部、をさらに備える、前記(1)又は前記(2)に記載の画像処理装置。
(6)
前記復号部は、前記第2のレイヤの前記適応オフセット処理のためのオフセット情報をさらに復号し、
前記オフセット処理部は、前記オフセット情報を用いて前記適応オフセット処理を行う、
前記(5)に記載の画像処理装置。
(7)
前記第2のQuad-Treeは、CU(Coding Unit)のためのQuad-Treeであり、
前記復号部は、前記第2のQuad-Treeに含まれるCUごとに前記第2のレイヤの画像データを復号する、
前記(1)又は前記(2)に記載の画像処理装置。
(8)
前記設定部は、各CUに1つ以上のPU(Prediction Unit)を設定するためのPU設定情報を用いて、前記第2のQuad-Treeに含まれるCUの各々にさらに1つ以上のPUを設定する、前記(7)に記載の画像処理装置。
(9)
前記PU設定情報は、前記第1のレイヤにPUを設定するために復号される情報である、前記(8)に記載の画像処理装置。
(10)
前記PU設定情報は、前記第2のレイヤにPUを設定するために復号される情報である、前記(8)に記載の画像処理装置。
(11)
前記設定部は、各PUに1つ以上のTU(Transform Unit)を設定するためのTU設定情報を用いて、前記第2のQuad-Treeに含まれるCU内のPUの各々にさらに1つ上のTUを設定する、前記(8)に記載の画像処理装置。
(12)
前記TU設定情報は、前記第1のレイヤにTUを設定するために復号される情報である、前記(11)に記載の画像処理装置。
(13)
前記TU設定情報は、前記第2のレイヤにTUを設定するために復号される情報である、前記(11)に記載の画像処理装置。
(14)
前記設定部は、前記第1のレイヤと前記第2のレイヤとの間の空間解像度の比率に応じて前記第1のレイヤにおけるLCU(Largest Coding Unit)サイズを拡大し、拡大した前記LCUサイズに基づいて、前記第2のレイヤに前記第2のQuad-Treeを設定する、前記(7)〜(13)のいずれか1項に記載の画像処理装置。
(15)
前記第1のレイヤ及び前記第2のレイヤは、空間解像度の互いに異なるレイヤである、前記(1)〜(13)のいずれか1項に記載の画像処理装置。
(16)
前記第1のレイヤ及び前記第2のレイヤは、雑音比率の互いに異なるレイヤである、前記(1)〜(13)のいずれか1項に記載の画像処理装置。
(17)
前記第1のレイヤ及び前記第2のレイヤは、ビット深度の互いに異なるレイヤである、前記(1)〜(13)のいずれか1項に記載の画像処理装置。
(18)
前記第1のレイヤ及び前記第2のレイヤは、クロマフォーマットの互いに異なるレイヤである、前記(1)〜(13)のいずれか1項に記載の画像処理装置。
(19)
第1のレイヤ及び前記第1のレイヤよりも上位の第2のレイヤを含むスケーラブル復号される画像の前記第1のレイヤに設定される第1のQuad-Treeを特定するQuad-Tree情報を復号することと、
復号された前記Quad-Tree情報を用いて、前記第2のレイヤに第2のQuad-Treeを設定することと、
を含む画像処理方法。
(20)
第1のレイヤ及び前記第1のレイヤよりも上位の第2のレイヤを含むスケーラブル符号化される画像の前記第1のレイヤに設定される第1のQuad-Treeを特定するQuad-Tree情報であって、前記第2のレイヤに第2のQuad-Treeを設定するために使用される前記Quad-Tree情報を符号化する符号化部、
を備える画像処理装置。
(21)
第1のレイヤ及び前記第1のレイヤよりも上位の第2のレイヤを含むスケーラブル符号化される画像の前記第1のレイヤに設定される第1のQuad-Treeを特定するQuad-Tree情報であって、前記第2のレイヤに第2のQuad-Treeを設定するために使用される前記Quad-Tree情報を符号化すること、
を含む画像処理方法。