以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
1.一実施形態に係る画像符号化装置の構成例
1−1.全体的な構成例
1−2.直交変換・量子化部の構成例
1−3.行列処理部の詳細な構成例
1−4.符号化される情報の例
2.一実施形態に係る符号化時の処理の流れ
3.一実施形態に係る画像復号装置の構成例
3−1.全体的な構成例
3−2.逆量子化・逆直交変換部の構成例
3−3.行列生成部の詳細な構成例
4.一実施形態に係る復号時の処理の流れ
5.変形例
6.応用例
7.まとめ
<1.一実施形態に係る画像符号化装置の構成例>
本節では、本発明の一実施形態に係る画像符号化装置の構成例について説明する。
[1−1.全体的な構成例]
図1は、本発明の一実施形態に係る画像符号化装置10の構成の一例を示すブロック図である。図1を参照すると、画像符号化装置10は、A/D(Analogue to Digital)変換部11、並べ替えバッファ12、減算部13、直交変換・量子化部14、可逆符号化部16、蓄積バッファ17、レート制御部18、逆量子化部21、逆直交変換部22、加算部23、デブロックフィルタ24、フレームメモリ25、セレクタ26、イントラ予測部30、動き探索部40、及びモード選択部50を備える。
A/D変換部11は、アナログ形式で入力される画像信号をデジタル形式の画像データに変換し、一連のデジタル画像データを並べ替えバッファ12へ出力する。
並べ替えバッファ12は、A/D変換部11から入力される一連の画像データに含まれる画像を並べ替える。並べ替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じて画像を並べ替えた後、並べ替え後の画像データを減算部13、イントラ予測部30及び動き探索部40へ出力する。
減算部13には、並べ替えバッファ12から入力される画像データ、及び後に説明するモード選択部50により選択される予測画像データが供給される。減算部13は、並べ替えバッファ12から入力される画像データとモード選択部50から入力される予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換・量子化部14へ出力する。
直交変換・量子化部14は、減算部13から入力される予測誤差データについて直交変換及び量子化を行い、量子化された変換係数データ(以下、量子化データという)を可逆符号化部16及び逆量子化部21へ出力する。直交変換・量子化部14から出力される量子化データのビットレートは、レート制御部18からのレート制御信号に基づいて制御される。直交変換・量子化部14の詳細な構成について、後にさらに説明する。
可逆符号化部16には、直交変換・量子化部14から入力される量子化データ及び復号側で量子化行列を生成するための情報、並びに、モード選択部50により選択されるイントラ予測又はインター予測に関する情報が供給される。イントラ予測に関する情報は、例えば、ブロックごとの最適なイントラ予測モードを示す予測モード情報を含み得る。また、インター予測に関する情報は、例えば、ブロックごとの動きベクトルの予測のための予測モード情報、差分動きベクトル情報、及び参照画像情報などを含み得る。
可逆符号化部16は、量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。可逆符号化部16による可逆符号化は、例えば、可変長符号化、又は算術符号化などであってよい。また、可逆符号化部16は、後に詳しく説明する量子化行列を生成するための情報を、符号化ストリームのヘッダ(例えばシーケンスパラメータセット及びピクチャパラメータセット)内に多重化する。さらに、可逆符号化部16は、上述したイントラ予測に関する情報又はインター予測に関する情報を、符号化ストリームのヘッダ内に多重化する。そして、可逆符号化部16は、生成した符号化ストリームを蓄積バッファ17へ出力する。
蓄積バッファ17は、可逆符号化部16から入力される符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ17は、蓄積した符号化ストリームを、伝送路(又は画像符号化装置10からの出力線)の帯域に応じたレートで出力する。
レート制御部18は、蓄積バッファ17の空き容量を監視する。そして、レート制御部18は、蓄積バッファ17の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を直交変換・量子化部14へ出力する。例えば、レート制御部18は、蓄積バッファ17の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部18は、蓄積バッファ17の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
逆量子化部21は、直交変換・量子化部14から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部21は、逆量子化処理により取得される変換係数データを、逆直交変換部22へ出力する。
逆直交変換部22は、逆量子化部21から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部22は、復元した予測誤差データを加算部23へ出力する。
加算部23は、逆直交変換部22から入力される復元された予測誤差データとモード選択部50から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部23は、生成した復号画像データをデブロックフィルタ24及びフレームメモリ25へ出力する。
デブロックフィルタ24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ24は、加算部23から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データをフレームメモリ25へ出力する。
フレームメモリ25は、加算部23から入力される復号画像データ、及びデブロックフィルタ24から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
セレクタ26は、イントラ予測のために使用されるフィルタリング前の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部30に供給する。また、セレクタ26は、インター予測のために使用されるフィルタリング後の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとして動き探索部40に供給する。
イントラ予測部30は、並べ替えバッファ12から入力される符号化対象の画像データ、及びセレクタ26を介して供給される復号画像データに基づいて、各イントラ予測モードのイントラ予測処理を行う。例えば、イントラ予測部30は、各イントラ予測モードによる予測結果を所定のコスト関数を用いて評価する。そして、イントラ予測部30は、コスト関数値が最小となるイントラ予測モード、即ち圧縮率が最も高くなるイントラ予測モードを、最適なイントラ予測モードとして選択する。さらに、イントラ予測部30は、当該最適なイントラ予測モードを示す予測モード情報、予測画像データ、及びコスト関数値などのイントラ予測に関する情報を、モード選択部50へ出力する。
動き探索部40は、並べ替えバッファ12から入力される符号化対象の画像データ、及びセレクタ26を介して供給される復号画像データに基づいて、インター予測処理(フレーム間予測処理)を行う。例えば、動き探索部40は、各予測モードによる予測結果を所定のコスト関数を用いて評価する。次に、動き探索部40は、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、動き探索部40は、当該最適な予測モードに従って予測画像データを生成する。そして、動き探索部40は、選択した最適な予測モードを表す予測モード情報を含むインター予測に関する情報、予測画像データ、及びコスト関数値などのインター予測に関する情報を、モード選択部50へ出力する。
モード選択部50は、イントラ予測部30から入力されるイントラ予測に関するコスト関数値と動き探索部40から入力されるインター予測に関するコスト関数値とを比較する。そして、モード選択部50は、イントラ予測及びインター予測のうちコスト関数値がより少ない予測手法を選択する。モード選択部50は、イントラ予測を選択した場合には、イントラ予測に関する情報を可逆符号化部16へ出力すると共に、予測画像データを減算部13及び加算部23へ出力する。また、モード選択部50は、インター予測を選択した場合には、インター予測に関する上述した情報を可逆符号化部16へ出力すると共に、予測画像データを減算部13及び加算部23へ出力する。
[1−2.直交変換・量子化部の構成例]
図2は、図1に示した画像符号化装置10の直交変換・量子化部14の詳細な構成の一例を示すブロック図である。図2を参照すると、直交変換・量子化部14は、選択部110、直交変換部120、量子化部130、量子化行列バッファ140及び行列処理部150を有する。
(1)選択部
選択部110は、サイズの異なる複数の変換単位から、符号化される画像データの直交変換のために使用される変換単位(TU)を選択する。選択部110により選択され得る変換単位のサイズの候補は、例えば、H.264/AVCでは4×4及び8×8を含み、HEVCでは4×4、8×8、16×16及び32×32を含む。選択部110は、例えば、符号化される画像のサイズ若しくは画質、又は装置の性能などに応じていずれかの変換単位を選択してよい。選択部110による変換単位の選択は、装置を開発するユーザによってハンドチューニングされてもよい。そして、選択部110は、選択した変換単位のサイズを指定する情報を、直交変換部120、量子化部130、可逆符号化部16及び逆量子化部21へ出力する。
(2)直交変換部
直交変換部120は、選択部110により選択された変換単位で、減算部13から供給される画像データ(即ち、予測誤差データ)を直交変換する。直交変換部120により実行される直交変換は、例えば、離散コサイン変換(Discrete Cosine Transform:DCT)又はカルーネン・レーベ変換などであってよい。そして、直交変換部120は、直交変換処理により取得される変換係数データを量子化部130へ出力する。
(3)量子化部
量子化部130は、選択部110により選択された変換単位に対応する量子化行列を用いて、直交変換部120により生成された変換係数データを量子化する。また、量子化部130は、レート制御部18からのレート制御信号に基づいて量子化ステップを切替えることにより、出力される量子化データのビットレートを変化させる。
また、量子化部130は、選択部110により選択され得る複数の変換単位にそれぞれ対応する量子化行列のセットを、量子化行列バッファ140に記憶させる。例えば、HEVCのように4×4、8×8、16×16及び32×32という4種類のサイズの変換単位の候補が存在する場合には、これら4種類のサイズにそれぞれ対応する4種類の量子化行列のセットが、量子化行列バッファ140により記憶され得る。なお、あるサイズについて図19に例示したような既定の量子化行列が使用される場合には、既定の量子化行列が使用されること(ユーザにより定義された量子化行列を使用しないこと)を示すフラグのみが、当該サイズと関連付けて量子化行列バッファ140により記憶されてもよい。
量子化部130により使用される可能性のある量子化行列のセットは、典型的には、符号化ストリームのシーケンスごとに設定され得る。また、量子化部130は、シーケンスごとに設定した量子化行列のセットを、ピクチャごとに更新してもよい。このような量子化行列のセットの設定及び更新を制御するための情報は、例えば、シーケンスパラメータセット及びピクチャパラメータセットに挿入され得る。
(4)量子化行列バッファ
量子化行列バッファ140は、半導体メモリなどの記憶媒体を用いて、選択部110により選択され得る複数の変換単位にそれぞれ対応する量子化行列のセットを一時的に記憶する。量子化行列バッファ140により記憶される量子化行列のセットは、次に説明する行列処理部150による処理に際して参照される。
(5)行列処理部
行列処理部150は、符号化ストリームのシーケンスごとに及びピクチャごとに、量子化行列バッファ140に記憶されている量子化行列のセットを参照し、ある1つのサイズの変換単位に対応する量子化行列から他の1つ以上のサイズの変換単位に対応する量子化行列を生成するための情報を生成する。量子化行列の生成の基礎となる変換単位のサイズは、典型的には、複数の変換単位のサイズのうち最小のサイズであってよい。即ち、HEVCのように4×4、8×8、16×16及び32×32という4種類のサイズの変換単位の候補が存在する場合には、4×4の量子化行列から他のサイズの量子化行列を生成するための情報が生成され得る。行列処理部150により生成される情報は、例えば、後に説明する基礎行列情報及び差分行列情報を含み得る。そして、行列処理部150により生成された情報は、可逆符号化部16へ出力され、符号化ストリームのヘッダ内に挿入され得る。
なお、本明細書では、主に最小のサイズの量子化行列からより大きいサイズの量子化行列が生成される例について説明する。しかしながら、かかる例に限定されず、最小ではないサイズの量子化行列から、より小さいサイズの量子化行列及び/又はより大きいサイズの量子化行列が生成されてもよい。
[1−3.行列処理部の詳細な構成例]
図3は、図2に示した直交変換・量子化部14の行列処理部150のさらに詳細な構成の一例を示すブロック図である。図3を参照すると、行列処理部150は、予測部152及び差分演算部154を含む。
(1)予測部
予測部152は、量子化行列バッファ140に記憶されている量子化行列のセットを取得し、取得したセットに含まれる第1の量子化行列からより大きいサイズの第2の量子化行列を予測する。例えば、4×4の量子化行列SL1を次のように定義する:
予測部152により量子化行列SL1から予測される8×8の予測行列PSL2は、例えば、次の予測式(2)に従って算出され得る:
予測式(2)を参照すると、予測行列PSL2は、量子化行列SL1において互いに隣接する2つの要素の間の要素として、当該2つの要素のいずれかを複製することにより生成された行列である。
その代わりに、予測行列PSL2は、次の予測式(3)に従って量子化行列SL1から算出されてもよい:
予測式(3)を参照すると、予測行列PSL2は、量子化行列SL1において互いに隣接する2つの要素の間の要素を当該2つの要素から線形補間することにより生成された行列である。なお、予測式(3)の予測行列PSL2の右端の要素はその1つ左の要素から複製されているが、それら右端の要素は、複製ではなく線型外挿により算出されてもよい。同様に、予測式(3)の予測行列PSL2の下端の要素もまた、その1つ上の要素から複製される代わりに、線型外挿により算出されてもよい。例えば、予測行列PSL2の8行8列の成分PSL28,8は、予測式(3)ではa33だが、線型外挿に従って次のようにも算出され得る:
予測式(2)は、予測式(3)と比較して少ない計算コストで予測行列PSL2を生成することのできる式である。一方、予測式(3)を利用すれば、より本来使用される量子化行列に近い滑らかな予測行列を得ることが可能である。従って、予測式(3)を利用すれば、後に説明する差分行列の各要素をゼロに近付けて、符号化される情報量を削減することができる。
なお、予測式(2)及び(3)は使用可能な予測式の例に過ぎず、他の任意の予測式もまた使用されてよい。
予測部152は、量子化行列SL1から予測行列PSL2を生成すると、生成した予測行列PSL2を差分演算部154へ出力する。また、予測部152は、例えば、量子化行列のセットに含まれる8×8の量子化行列SL2から16×16の予測行列PSL3を予測し、予測行列PSL3を差分演算部154へ出力する。さらに、予測部152は、量子化行列のセットに含まれる16×16の量子化行列SL3から32×32の予測行列PSL4を予測し、予測行列PSL4を差分演算部154へ出力する。これら予測行列PSL3及び予測行列PSL4の予測もまた、上述した予測式(2)又は(3)と同等の予測式に従って行われてよい。また、予測部152は、上述した予測行列PSL2、PSL3及びPSL4の生成の基礎とした4×4の量子化行列SL1を特定する基礎行列情報を、可逆符号化部16へ出力する。
(2)差分演算部
差分演算部154は、予測部152から入力される予測行列PSL2、PSL3及びPSL4と対応する量子化行列SL2、SL3及びSL4との差分を表す差分行列DSL2、DSL3及びDSL4を、式(5)〜(7)に従ってそれぞれ算出する:
そして、差分演算部154は、これら差分行列DSL2、DSL3及びDSL4を表す差分行列情報を可逆符号化部16へ出力する。
なお、行列処理部150は、あるサイズについて既定の量子化行列が使用される場合には、当該サイズの量子化行列の予測及び差分演算を実行することなく、既定の量子化行列が使用されることを示すフラグのみを、対応するサイズと関連付けて可逆符号化部16へ出力する。また、差分演算部154は、予測行列と量子化行列との差分がゼロである場合には、差分行列情報を出力する代わりに、差分が存在しないことを示すフラグのみを可逆符号化部16へ出力し得る。また、行列処理部150は、ピクチャの切り替わりのタイミングで量子化行列が更新されない場合には、量子化行列が更新されないことを示すフラグのみを可逆符号化部16へ出力し得る。
[1−4.符号化される情報の例]
(1)シーケンスパラメータセット
図4は、本実施形態においてシーケンスパラメータセット内に挿入される情報の一例を示す説明図である。図4を参照すると、量子化行列のサイズ(変換単位(TU)のサイズ)ごとに符号化される情報として、「行列種別フラグ」、「差分フラグ」及び「(符号化される)行列情報」という3種類の情報が示されている。
行列種別フラグは、各サイズについて、ユーザにより定義される量子化行列及び既定の量子化行列のいずれが使用されるのかを指定するフラグである。あるサイズについて行列種別フラグが「1」であれば、そのサイズの量子化行列はユーザにより定義される。また、あるサイズについて行列種別フラグが「0」であれば、そのサイズの量子化行列は既定の量子化行列である。行列種別フラグが「0」である場合、行列情報及び差分行列情報並びに次に説明する差分フラグは、いずれも符号化されない。
差分フラグは、各サイズについて、行列種別フラグが「1:ユーザ定義」である場合に予測行列と量子化行列との差分が存在するか否かを示すフラグである。あるサイズについて差分フラグが「1」であれば、そのサイズの予測行列と量子化行列との差分が存在し、差分行列情報が符号化される。あるサイズについて差分フラグが「0」であれば、そのサイズの差分行列情報は符号化されない。なお、予測の基礎となるサイズ(例えば4×4)については、行列種別フラグによらず差分フラグは符号化されない。
(2)ピクチャパラメータセット
図5は、本実施形態においてピクチャパラメータセット内に挿入される情報の一例を示す説明図である。図5を参照すると、量子化行列のサイズ(変換単位(TU)のサイズ)ごとに符号化される情報として、「更新フラグ」、「行列種別フラグ」、「差分フラグ」及び「(符号化される)行列情報」という4種類の情報が示されている。このうち、行列種別フラグ及び差分フラグの意味は、図4を用いて説明したシーケンスパラメータセットの同じ名称のフラグと同様である。
更新フラグは、各サイズについてピクチャの切り替わりのタイミングで量子化行列を更新すべきか否かを示すフラグである。あるサイズについて更新フラグが「1」であれば、そのサイズの量子化行列は更新される。更新フラグが「0」であれば、そのサイズの量子化行列は更新されず、前のピクチャ又は現在のシーケンスに設定された量子化行列がそのまま使用される。更新フラグが「0」である場合には、そのサイズについて行列種別フラグ、差分フラグ及び差分行列情報(4×4の場合には行列情報)は符号化されない。
<2.一実施形態に係る符号化時の処理の流れ>
図6A及び図6Bは、本実施形態に係る符号化時の処理の流れの第1の例を示すフローチャートである。当該フローチャートに示された処理は、主に符号化ストリームのシーケンスごとに行列処理部150及び可逆符号化部16により実行され得る。
図6Aを参照すると、まず、行列処理部150は、当該シーケンスにおいて量子化部130により使用される量子化行列のセットを、量子化行列バッファ140から取得する(ステップS100)。ここでは、一例として、4×4、8×8、16×16及び32×32の各サイズに対応する量子化行列が量子化行列のセットに含まれるものとする。
次に、行列処理部150は、4×4の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS102)。ここで4×4の量子化行列がユーザにより定義される行列である場合には、可逆符号化部16は、行列種別フラグ(=1)及び4×4の量子化行列を表す基礎行列情報を符号化する(ステップS106)。一方、4×4の量子化行列が既定の行列である場合には、可逆符号化部16は、行列種別フラグ(=0)のみを符号化する(ステップS108)。
次に、行列処理部150は、8×8の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS112)。ここで8×8の量子化行列がユーザにより定義される行列である場合には、行列処理部150は、例えば上述した予測式(2)又は(3)に従って、4×4の量子化行列から8×8の予測行列を算出する(ステップS114)。そして、可逆符号化部16は、行列種別フラグ(=1)、差分フラグ、及び8×8の量子化行列と算出された予測行列との差分を表す差分行列情報(差分がある場合のみ)を符号化する(ステップS116)。一方、8×8の量子化行列が既定の行列である場合には、可逆符号化部16は、行列種別フラグ(=0)のみを符号化する(ステップS118)。
次に、図6Bを参照すると、行列処理部150は、16×16の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS122)。ここで16×16の量子化行列がユーザにより定義される行列である場合には、行列処理部150は、8×8の量子化行列から16×16の予測行列を算出する(ステップS124)。そして、可逆符号化部16は、行列種別フラグ(=1)、差分フラグ、及び16×16の量子化行列と算出された予測行列との差分を表す差分行列情報(差分がある場合のみ)を符号化する(ステップS126)。一方、16×16の量子化行列が既定の行列である場合には、可逆符号化部16は、行列種別フラグ(=0)のみを符号化する(ステップS128)。
次に、行列処理部150は、32×32の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS132)。ここで32×32の量子化行列がユーザにより定義される行列である場合には、行列処理部150は、16×16の量子化行列から32×32の予測行列を算出する(ステップS134)。そして、可逆符号化部16は、行列種別フラグ(=1)、差分フラグ、及び32×32の量子化行列と算出された予測行列との差分を表す差分行列情報(差分がある場合のみ)を符号化する(ステップS136)。一方、32×32の量子化行列が既定の行列である場合には、可逆符号化部16は、行列種別フラグ(=0)のみを符号化する(ステップS138)。
図7A及び図7Bは、本実施形態に係る符号化時の処理の流れの第2の例を示すフローチャートである。当該フローチャートに示された処理は、主に符号化ストリームのピクチャごとに行列処理部150及び可逆符号化部16により実行され得る。
図7Aを参照すると、まず、行列処理部150は、当該ピクチャにおいて量子化部130により使用される量子化行列のセットを、量子化行列バッファ140から取得する(ステップS150)。ここでも、図6A及び図6Bの例と同様、4×4、8×8、16×16及び32×32の各サイズに対応する量子化行列が量子化行列のセットに含まれるものとする。
次に、行列処理部150は、4×4の量子化行列が当該ピクチャにおいて更新されるか否かを判定する(ステップS152)。量子化行列が更新されない場合には、可逆符号化部16は、更新フラグ(=0)のみを符号化する(ステップS158)。一方、量子化行列が更新される場合には、処理はステップS154へ進む。量子化行列が更新される場合には、行列処理部150は、新たな4×4の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS154)。ここで4×4の量子化行列がユーザにより定義される行列である場合には、可逆符号化部16は、更新フラグ(=1)、行列種別フラグ(=1)及び4×4の量子化行列を表す基礎行列情報を符号化する(ステップS156)。一方、4×4の量子化行列が既定の行列である場合には、可逆符号化部16は、更新フラグ(=1)及び行列種別フラグ(=0)を符号化する(ステップS158)。
次に、行列処理部150は、8×8の量子化行列が当該ピクチャにおいて更新されるか否かを判定する(ステップS160)。量子化行列が更新されない場合には、可逆符号化部16は、更新フラグ(=0)のみを符号化する(ステップS168)。一方、量子化行列が更新される場合には、処理はステップS162へ進む。量子化行列が更新される場合には、行列処理部150は、8×8の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS162)。ここで8×8の量子化行列がユーザにより定義される行列である場合には、行列処理部150は、4×4の量子化行列が更新されたか否かによらず、新たなピクチャの4×4の量子化行列から8×8の予測行列を算出する(ステップS164)。そして、可逆符号化部16は、更新フラグ(=1)、行列種別フラグ(=1)、差分フラグ、及び8×8の量子化行列と算出された予測行列との差分を表す差分行列情報(差分がある場合のみ)を符号化する(ステップS166)。一方、8×8の量子化行列が既定の行列である場合には、可逆符号化部16は、更新フラグ(=1)及び行列種別フラグ(=0)を符号化する(ステップS168)。
次に、図7Bを参照すると、行列処理部150は、16×16の量子化行列が当該ピクチャにおいて更新されるか否かを判定する(ステップS170)。量子化行列が更新されない場合には、可逆符号化部16は、更新フラグ(=0)のみを符号化する(ステップS178)。一方、量子化行列が更新される場合には、処理はステップS172へ進む。量子化行列が更新される場合には、行列処理部150は、16×16の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS172)。ここで16×16の量子化行列がユーザにより定義される行列である場合には、行列処理部150は、8×8の量子化行列が更新されたか否かによらず、新たなピクチャの8×8の量子化行列から16×16の予測行列を算出する(ステップS174)。そして、可逆符号化部16は、更新フラグ(=1)、行列種別フラグ(=1)、差分フラグ、及び16×16の量子化行列と算出された予測行列との差分を表す差分行列情報(差分がある場合のみ)を符号化する(ステップS176)。一方、16×16の量子化行列が既定の行列である場合には、可逆符号化部16は、更新フラグ(=1)及び行列種別フラグ(=0)を符号化する(ステップS178)。
次に、行列処理部150は、32×32の量子化行列が当該ピクチャにおいて更新されるか否かを判定する(ステップS180)。量子化行列が更新されない場合には、可逆符号化部16は、更新フラグ(=0)のみを符号化する(ステップS188)。一方、量子化行列が更新される場合には、処理はステップS182へ進む。量子化行列が更新される場合には、行列処理部150は、32×32の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS182)。ここで32×32の量子化行列がユーザにより定義される行列である場合には、行列処理部150は、16×16の量子化行列が更新されたか否かによらず、新たなピクチャの16×16の量子化行列から32×32の予測行列を算出する(ステップS184)。そして、可逆符号化部16は、更新フラグ(=1)、行列種別フラグ(=1)、差分フラグ、及び32×32の量子化行列と算出された予測行列との差分を表す差分行列情報(差分がある場合のみ)を符号化する(ステップS186)。一方、32×32の量子化行列が既定の行列である場合には、可逆符号化部16は、更新フラグ(=1)及び行列種別フラグ(=0)を符号化する(ステップS188)。
このように、いずれか1つの量子化行列に基づいて他の量子化行列を予測する手法を用いることで、符号化側から復号側へ複数の変換単位のサイズに対応する複数の量子化行列を伝送する必要性が解消される。従って、量子化行列の数が多くなる場合にも、符号量の増加が効果的に抑制される。
<3.一実施形態に係る画像復号装置の構成例>
本節では、本発明の一実施形態に係る画像復号装置の構成例について説明する。
[3−1.全体的な構成例]
図8は、本発明の一実施形態に係る画像復号装置60の構成の一例を示すブロック図である。図8を参照すると、画像復号装置60は、蓄積バッファ61、可逆復号部62、逆量子化・逆直交変換部63、加算部65、デブロックフィルタ66、並べ替えバッファ67、D/A(Digital to Analogue)変換部68、フレームメモリ69、セレクタ70及び71、イントラ予測部80、並びに動き補償部90を備える。
蓄積バッファ61は、伝送路を介して入力される符号化ストリームを記憶媒体を用いて一時的に蓄積する。
可逆復号部62は、蓄積バッファ61から入力される符号化ストリームを、符号化の際に使用された符号化方式に従って復号する。また、可逆復号部62は、符号化ストリームのヘッダ領域に多重化されている情報を復号する。符号化ストリームのヘッダ領域に多重化されている情報とは、例えば、上述した量子化行列を生成するための基礎行列情報及び差分行列情報、並びにブロックヘッダ内のイントラ予測に関する情報及びインター予測に関する情報を含み得る。可逆復号部62は、復号後の量子化データ及び量子化行列を生成するための情報を、逆量子化・逆直交変換部63へ出力する。また、可逆復号部62は、イントラ予測に関する情報をイントラ予測部80へ出力する。また、可逆復号部62は、インター予測に関する情報を動き補償部90へ出力する。
逆量子化・逆直交変換部63は、可逆復号部62から入力される量子化データについて逆量子化及び逆直交変換を行うことにより、予測誤差データを生成する。そして、逆量子化・逆直交変換部63は、生成した予測誤差データを加算部65へ出力する。
加算部65は、逆量子化・逆直交変換部63から入力される予測誤差データと、セレクタ71から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部65は、生成した復号画像データをデブロックフィルタ66及びフレームメモリ69へ出力する。
デブロックフィルタ66は、加算部65から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データを並べ替えバッファ67及びフレームメモリ69へ出力する。
並べ替えバッファ67は、デブロックフィルタ66から入力される画像を並べ替えることにより、時系列の一連の画像データを生成する。そして、並べ替えバッファ67は、生成した画像データをD/A変換部68へ出力する。
D/A変換部68は、並べ替えバッファ67から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、D/A変換部68は、例えば、画像復号装置60と接続されるディスプレイ(図示せず)にアナログ画像信号を出力することにより、画像を表示させる。
フレームメモリ69は、加算部65から入力されるフィルタリング前の復号画像データ、及びデブロックフィルタ66から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
セレクタ70は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ70からの画像データの出力先をイントラ予測部80と動き補償部90との間で切り替える。例えば、セレクタ70は、イントラ予測モードが指定された場合には、フレームメモリ70から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部80へ出力する。また、セレクタ70は、インター予測モードが指定された場合には、フレームメモリ70から供給されるフィルタリング後の復号画像データを参照画像データとして動き補償部90へ出力する。
セレクタ71は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、加算部65へ供給すべき予測画像データの出力元をイントラ予測部80と動き補償部90との間で切り替える。例えば、セレクタ71は、イントラ予測モードが指定された場合には、イントラ予測部80から出力される予測画像データを加算部65へ供給する。セレクタ71は、インター予測モードが指定された場合には、動き補償部90から出力される予測画像データを加算部65へ供給する。
イントラ予測部80は、可逆復号部62から入力されるイントラ予測に関する情報とフレームメモリ69からの参照画像データとに基づいて画素値の画面内予測を行い、予測画像データを生成する。そして、イントラ予測部80は、生成した予測画像データをセレクタ71へ出力する。
動き補償部90は、可逆復号部62から入力されるインター予測に関する情報とフレームメモリ69からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部90は、生成した予測画像データをセレクタ71へ出力する。
[3−2.逆量子化・逆直交変換部の構成例]
図9は、図8に示した画像復号装置60の逆量子化・逆直交変換部63の詳細な構成の一例を示すブロック図である。図9を参照すると、逆量子化・逆直交変換部63は、行列生成部210、選択部230、逆量子化部240及び逆直交変換部250を有する。
(1)行列生成部
行列生成部210は、符号化ストリームのシーケンスごとに及びピクチャごとに、ある1つのサイズの変換単位に対応する量子化行列から、他の1つ以上のサイズの変換単位に対応する量子化行列を生成する。量子化行列の生成の基礎となる変換単位のサイズは、典型的には、複数の変換単位のサイズのうち最小のサイズであってよい。本実施形態では、行列生成部210は、最小のサイズである4×4の量子化行列から、より大きいサイズについての差分行列情報を用いて、8×8、16×16及び32×32の量子化行列を生成する。
(2)選択部
選択部230は、サイズの異なる複数の変換単位から、復号される画像データの逆直交変換のために使用される変換単位(TU)を選択する。選択部230により選択され得る変換単位のサイズの候補は、例えば、H.264/AVCでは4×4及び8×8を含み、HEVCでは4×4、8×8、16×16及び32×32を含む。選択部230は、例えば、符号化ストリームのヘッダ内に含まれるLCU、SCU及びsplit_flagに基づいて、変換単位を選択してもよい。そして、選択部230は、選択した変換単位のサイズを指定する情報を、逆量子化部240及び逆直交変換部250へ出力する。
(3)逆量子化部
逆量子化部240は、選択部230により選択された変換単位に対応する量子化行列を用いて、画像の符号化の際に量子化された変換係数データを逆量子化する。ここで逆量子化処理のために用いられる量子化行列は、行列生成部210により生成される行列を含む。即ち、例えば選択部230により8×8、16×16又は32×32の変換単位が選択された場合には、選択された変換単位に対応する量子化行列として、行列生成部210により4×4の量子化行列から生成された量子化行列が用いられ得る。そして、逆量子化部240は、逆量子化した変換係数データを逆直交変換部250へ出力する。
(4)逆直交変換部
逆直交変換部250は、符号化の際に使用された直交変換方式に従い、逆量子化部240により逆量子化された変換係数データを上記選択された変換単位で逆直交変換することにより、予測誤差データを生成する。そして、逆直交変換部250は、生成した予測誤差データを加算部65へ出力する。
[3−3.行列生成部の詳細な構成例]
図10は、図9に示した逆量子化・逆直交変換部63の行列生成部210のさらに詳細な構成の一例を示すブロック図である。図10を参照すると、行列生成部210は、基礎行列取得部212、差分取得部214、予測部216、再構築部218及び量子化行列バッファ220を含む。
(1)基礎行列取得部
基礎行列取得部212は、可逆復号部62から入力される基礎行列情報を取得する。本実施形態において、基礎行列情報は、上述したように最小のサイズである4×4の量子化行列SL1を特定する情報である。そして、基礎行列取得部212は、取得した基礎行列情報から特定される4×4の量子化行列SL1を量子化行列バッファ220に記憶させる。なお、基礎行列取得部212は、シーケンスごとに又はピクチャごとに取得される行列種別フラグが「0」であれば、基礎行列情報を取得することなく、既定の4×4の量子化行列を量子化行列バッファ220に記憶させる。また、基礎行列取得部212は、ピクチャごとに取得される更新フラグが「0」であれば、以前の処理によって量子化行列バッファ220に記憶させた量子化行列SL1を更新しない。また、基礎行列取得部212は、4×4の量子化行列SL1を予測部216へ出力する。
(2)差分取得部
差分取得部214は、可逆復号部62から入力される差分行列情報を取得する。本実施形態において、差分行列情報は、上述したように、4×4の量子化行列SL1から予測される予測行列PSL2、PSL3及びPSL4と量子化行列SL2、SL3及びSL4との差分を表す差分行列DSL2、DSL3及びDSL4を特定する情報である。差分取得部214は、差分行列情報により特定される差分行列DSL2、DSL3及びDSL4を、再構築部218へ出力する。なお、差分取得部214は、シーケンスごとに又はピクチャごとに取得される行列種別フラグが「0」であり又は差分フラグが「0」であれば、差分行列情報を取得することなく、対応するサイズの差分行列をゼロ行列とする。また、差分取得部214は、ピクチャごとに取得される更新フラグが「0」であれば、対応するサイズについて差分行列を出力しない。
(3)予測部
予測部216は、基礎行列取得部212から入力される基礎行列、即ち本実施形態においては4×4の量子化行列SL1から、画像の符号化の際に使用された予測式(例えば、上述した予測式(2)又は(3))に従って、より大きいサイズの8×8の予測行列PSL2を算出する。また、予測部216は、算出された8×8の予測行列PSL2を用いて再構築部218により再構築される量子化行列SL2から、16×16の予測行列PSL3を算出する。さらに、予測部216は、算出された16×16の予測行列PSL3を用いて再構築部218により再構築される量子化行列SL3から、32×32の予測行列PSL4を算出する。予測部216は、予測行列PSL2、PSL3及びPSL4をそれぞれ再構築部218へ出力する。なお、予測部216は、行列種別フラグが「0」であるサイズについては予測行列を生成せず、より大きいサイズの予測行列の算出のために、既定の量子化行列を使用する。また、基礎行列取得部212は、更新フラグが「0」であるサイズについても予測行列を生成せず、より大きいサイズの予測行列の算出のために、以前の処理で生成された量子化行列を使用する。
(4)再構築部
再構築部218は、予測部216から入力される予測行列PSL2、PSL3及びPSL4と差分取得部214から入力される差分行列DSL2、DSL3及びDSL4とを加算することにより、量子化行列SL2、SL3及びSL4をそれぞれ再構築する:
そして、再構築部218は、再構築した8×8、16×16及び32×32の量子化行列SL2、SL3及びSL4を量子化行列バッファ220に記憶させる。なお、再構築部218は、シーケンスごとに又はピクチャごとに取得される行列種別フラグが「0」であれば、対応するサイズの量子化行列として既定の量子化行列を量子化行列バッファ220に記憶させる。また、基礎行列取得部212は、ピクチャごとに取得される更新フラグが「0」であれば、以前の処理によって量子化行列バッファ220に記憶させた対応するサイズの量子化行列SL2、SL3又はSL4を更新しない。
(5)量子化行列バッファ
量子化行列バッファ220は、基礎行列取得部212により特定される量子化行列SL1、並びに再構築部218により再構築される量子化行列SL2、SL3及びSL4を一時的に記憶する。量子化行列バッファ220により記憶されるこれら量子化行列SL1、SL2、SL3及びSL4は、量子化された変換係数データの逆量子化部240による逆量子化処理のために用いられる。
なお、本項で説明した画像復号装置60の逆量子化・逆直交変換部63の構成は、図1に示した画像符号化装置10の逆量子化部21及び逆直交変換部22にも適用され得る。
<4.一実施形態に係る復号時の処理の流れ>
図11A及び図11Bは、本実施形態に係る復号時の処理の流れの第1の例を示すフローチャートである。当該フローチャートに示された処理は、主に符号化ストリームのシーケンスごとに行列生成部210により実行され得る。
図11Aを参照すると、まず、行列生成部210は、当該シーケンスのシーケンスパラメータセットに含まれる行列種別フラグに基づいて、4×4の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS202)。ここで4×4の量子化行列がユーザにより定義される行列である場合には、行列生成部210は、基礎行列情報を用いて4×4の量子化行列を設定する(即ち、量子化行列バッファ220に記憶させる)(ステップS204)。一方、4×4の量子化行列が既定の行列である場合には、行列生成部210は、既定の4×4の量子化行列を設定する(ステップS206)。
次に、行列生成部210は、8×8の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS212)。ここで8×8の量子化行列がユーザにより定義される行列である場合には、行列生成部210は、例えば上述した予測式(2)又は(3)に従って4×4の量子化行列から8×8の予測行列を算出し、算出した予測行列と8×8の差分行列とを加算する。それにより、8×8の量子化行列が再構築される(ステップS214)。なお、8×8の差分フラグが「0」であれば、差分行列はゼロ行列であり、8×8の予測行列がそのまま量子化行列として設定され得る。一方、8×8の量子化行列が既定の行列である場合には、行列生成部210は、既定の8×8の量子化行列を設定する(ステップS216)。
次に、図11Bを参照すると、行列生成部210は、16×16の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS222)。ここで16×16の量子化行列がユーザにより定義される行列である場合には、行列生成部210は、8×8の量子化行列から16×16の予測行列を算出し、算出した予測行列と16×16の差分行列とを加算する。それにより、16×16の量子化行列が再構築される(ステップS224)。なお、16×16の差分フラグが「0」であれば、差分行列はゼロ行列であり、16×16の予測行列がそのまま量子化行列として設定され得る。一方、16×16の量子化行列が既定の行列である場合には、行列生成部210は、既定の16×16の量子化行列を設定する(ステップS226)。
次に、行列生成部210は、32×32の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS232)。ここで32×32の量子化行列がユーザにより定義される行列である場合には、行列生成部210は、16×16の量子化行列から32×32の予測行列を算出し、算出した予測行列と32×32の差分行列とを加算する。それにより、32×32の量子化行列が再構築される(ステップS234)。なお、32×32の差分フラグが「0」であれば、差分行列はゼロ行列であり、32×32の予測行列がそのまま量子化行列として設定され得る。一方、32×32の量子化行列が既定の行列である場合には、行列生成部210は、既定の32×32の量子化行列を設定する(ステップS236)。
図12A及び図12Bは、本実施形態に係る復号時の処理の流れの第2の例を示すフローチャートである。当該フローチャートに示された処理は、主に符号化ストリームのピクチャごとに行列生成部210により実行され得る。
図12Aを参照すると、まず、行列生成部210は、ピクチャパラメータセットに含まれる更新フラグに基づいて、4×4の量子化行列が当該ピクチャにおいて更新されるか否かを判定する(ステップS250)。ここで、4×4の量子化行列が更新されない場合には、ステップS252〜S256の処理はスキップされる。4×4の量子化行列が更新される場合には、行列生成部210は、行列種別フラグに基づいて、新たな4×4の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS252)。ここで4×4の量子化行列がユーザにより定義される行列である場合には、行列生成部210は、基礎行列情報を用いて4×4の量子化行列を設定する(ステップS254)。一方、4×4の量子化行列が既定の行列である場合には、行列生成部210は、既定の4×4の量子化行列を設定する(ステップS256)。
次に、行列生成部210は、更新フラグに基づいて、8×8の量子化行列が当該ピクチャにおいて更新されるか否かを判定する(ステップS260)。ここで、8×8の量子化行列が更新されない場合には、ステップS262〜S266の処理はスキップされる。8×8の量子化行列が更新される場合には、行列生成部210は、行列種別フラグに基づいて、新たな8×8の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS262)。ここで8×8の量子化行列がユーザにより定義される行列である場合には、行列生成部210は、4×4の量子化行列が更新されたか否かによらず、新たなピクチャの4×4の量子化行列から8×8の予測行列を算出し、算出した予測行列と8×8の差分行列とを加算する。それにより、8×8の量子化行列が再構築される(ステップS264)。なお、8×8の差分フラグが「0」であれば、差分行列はゼロ行列であり、8×8の予測行列がそのまま量子化行列として設定され得る。一方、8×8の量子化行列が既定の行列である場合には、行列生成部210は、既定の8×8の量子化行列を設定する(ステップS266)。
次に、図12Bを参照すると、行列生成部210は、更新フラグに基づいて、16×16の量子化行列が当該ピクチャにおいて更新されるか否かを判定する(ステップS270)。ここで、16×16の量子化行列が更新されない場合には、ステップS272〜S276の処理はスキップされる。16×16の量子化行列が更新される場合には、行列生成部210は、行列種別フラグに基づいて、新たな16×16の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS272)。ここで16×16の量子化行列がユーザにより定義される行列である場合には、行列生成部210は、8×8の量子化行列が更新されたか否かによらず、新たなピクチャの8×8の量子化行列から16×16の予測行列を算出し、算出した予測行列と16×16の差分行列とを加算する。それにより、16×16の量子化行列が再構築される(ステップS274)。なお、16×16の差分フラグが「0」であれば、差分行列はゼロ行列であり、16×16の予測行列がそのまま量子化行列として設定され得る。一方、16×16の量子化行列が既定の行列である場合には、行列生成部210は、既定の16×16の量子化行列を設定する(ステップS276)。
次に、行列生成部210は、更新フラグに基づいて、32×32の量子化行列が当該ピクチャにおいて更新されるか否かを判定する(ステップS280)。ここで、32×32の量子化行列が更新されない場合には、ステップS282〜S286の処理はスキップされる。32×32の量子化行列が更新される場合には、行列生成部210は、行列種別フラグに基づいて、新たな32×32の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS282)。ここで32×32の量子化行列がユーザにより定義される行列である場合には、行列生成部210は、16×16の量子化行列が更新されたか否かによらず、新たなピクチャの16×16の量子化行列から32×32の予測行列を算出し、算出した予測行列と32×32の差分行列とを加算する。それにより、32×32の量子化行列が再構築される(ステップS284)。なお、32×32の差分フラグが「0」であれば、差分行列はゼロ行列であり、32×32の予測行列がそのまま量子化行列として設定され得る。一方、32×32の量子化行列が既定の行列である場合には、行列生成部210は、既定の32×32の量子化行列を設定する(ステップS286)。
このように、いずれか1つの量子化行列に基づいて他の量子化行列を予測する手法を用いることで、予測対象の量子化行列について差分の情報のみが符号化側から復号側へ伝送される場合にも、復号側で適切に量子化行列を再構築することができる。従って、量子化行列の数が多くなる場合にも、符号量の増加が効果的に抑制される。
なお、本明細書では、主に1つの変換単位のサイズについて1種類の量子化行列のみが設定される例を説明した。しかしながら、かかる例に限定されず、1つの変換単位のサイズについて複数種類の量子化行列が設定されてもよい。その場合、シーケンスパラメータセット及びピクチャパラメータセットには、複数種類の量子化行列のうちいずれの量子化行列をより大きいサイズの量子化行列の予測の基礎とすべきかを示す追加的なフラグが含まれ得る。また、1つの変換単位のサイズについて複数種類の量子化行列が設定され、1ピクチャ内でスライスごと又はブロックごとに量子化行列が選択的に切り替えられてもよい。
<5.変形例>
なお、上述したように、本明細書で開示した技術は、より大きいサイズの量子化行列からより小さいサイズの量子化行列を予測するやり方で実現されてもよい。例えば、8×8の量子化行列SL2を次のように定義する:
画像符号化装置10の直交変換・量子化部14の予測部152は、このような量子化行列SL2から、例えば、次の予測式(12)に従って4×4の予測行列PSL1を算出し得る:
予測式(12)を参照すると、予測行列PSL1は、量子化行列SL2の要素を1行おきかつ1列おきに間引くことにより生成された行列である。間引かれる要素の位置は、予測式(12)の例に限定されず、他の位置であってもよい。また、間引かれる要素の数を増やすことで、一辺のサイズが4分の1以下の予測行列を量子化行列から生成することもできる。
その代わりに、予測行列PSL1は、次の予測式(13)に従って量子化行列SL2から算出されてもよい:
予測式(13)を参照すると、予測行列PSL1は、量子化行列SL2において上下左右に互いに隣接する4つの要素の平均を予測行列PSL1の1つの要素として計算することにより生成された行列である。また、上下左右に互いに隣接するより多く(例えば16個)の要素の平均を計算することで、一辺のサイズが4分の1以下の予測行列を量子化行列から生成することもできる。なお、予測式(13)のような平均値の代わりに、中央値、最小値又は最大値などといった他の種類の代表値が複数の要素から計算されてもよい。
より大きいサイズの量子化行列からより小さいサイズの予測行列が算出される場合にも、差分演算部154は、予測部152から入力される予測行列と対応する量子化行列との差分を表す差分行列を算出し、算出した差分行列を表す差分行列情報を可逆符号化部16へ出力する。そして、画像復号装置60の逆量子化・逆直交変換部63の行列生成部210は、基礎行列情報により特定される量子化行列から、より小さいサイズの量子化行列を、上述したいずれかの予測式及び差分行列情報を用いて生成する。
図13A及び図13Bは、本変形例に係る符号化時の処理の流れの一例を示すフローチャートである。当該フローチャートに示された処理は、主に符号化ストリームのシーケンスごとに行列処理部150及び可逆符号化部16により実行され得る。
図13Aを参照すると、まず、行列処理部150は、当該シーケンスにおいて量子化部130により使用される量子化行列のセットを、量子化行列バッファ140から取得する(ステップS300)。ここでは、一例として、4×4、8×8、16×16及び32×32の各サイズに対応する量子化行列が量子化行列のセットに含まれるものとする。
次に、行列処理部150は、32×32の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS302)。ここで32×32の量子化行列がユーザにより定義される行列である場合には、可逆符号化部16は、行列種別フラグ(=1)及び32×32の量子化行列を表す基礎行列情報を符号化する(ステップS306)。一方、32×32の量子化行列が既定の行列である場合には、可逆符号化部16は、行列種別フラグ(=0)のみを符号化する(ステップS308)。
次に、行列処理部150は、16×16の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS312)。ここで16×16の量子化行列がユーザにより定義される行列である場合には、行列処理部150は、例えば上述した予測式(12)又は(13)に従って、32×32の量子化行列から16×16の予測行列を算出する(ステップS314)。そして、可逆符号化部16は、行列種別フラグ(=1)、差分フラグ、及び16×16の量子化行列と算出された予測行列との差分を表す差分行列情報(差分がある場合のみ)を符号化する(ステップS316)。一方、16×16の量子化行列が既定の行列である場合には、可逆符号化部16は、行列種別フラグ(=0)のみを符号化する(ステップS318)。
次に、図13Bを参照すると、行列処理部150は、8×8の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS322)。ここで8×8の量子化行列がユーザにより定義される行列である場合には、行列処理部150は、16×16の量子化行列から8×8の予測行列を算出する(ステップS324)。そして、可逆符号化部16は、行列種別フラグ(=1)、差分フラグ、及び8×8の量子化行列と算出された予測行列との差分を表す差分行列情報(差分がある場合のみ)を符号化する(ステップS326)。一方、8×8の量子化行列が既定の行列である場合には、可逆符号化部16は、行列種別フラグ(=0)のみを符号化する(ステップS328)。
次に、行列処理部150は、4×4の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS332)。ここで4×4の量子化行列がユーザにより定義される行列である場合には、行列処理部150は、8×8の量子化行列から4×4の予測行列を算出する(ステップS334)。そして、可逆符号化部16は、行列種別フラグ(=1)、差分フラグ、及び4×4の量子化行列と算出された予測行列との差分を表す差分行列情報(差分がある場合のみ)を符号化する(ステップS336)。一方、4×4の量子化行列が既定の行列である場合には、可逆符号化部16は、行列種別フラグ(=0)のみを符号化する(ステップS338)。
このように、本変形例では、量子化行列をSPSにて定義する際、サイズの大きい量子化行列から順に予測行列の算出及び符号化が行われ得る。量子化行列をPPSにて更新する場合にも、同様に、サイズの大きい量子化行列から順に予測行列の算出及び符号化が行われてよい。
図14A及び図14Bは、本実施形態に係る復号時の処理の流れの一例を示すフローチャートである。当該フローチャートに示された処理は、主に符号化ストリームのシーケンスごとに行列生成部210により実行され得る。
図14Aを参照すると、まず、行列生成部210は、当該シーケンスのシーケンスパラメータセットに含まれる行列種別フラグに基づいて、32×32の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS402)。ここで32×32の量子化行列がユーザにより定義される行列である場合には、行列生成部210は、基礎行列情報を用いて32×32の量子化行列を設定する(即ち、量子化行列バッファ220に記憶させる)(ステップS404)。一方、32×32の量子化行列が既定の行列である場合には、行列生成部210は、既定の32×32の量子化行列を設定する(ステップS406)。
次に、行列生成部210は、16×16の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS412)。ここで16×16の量子化行列がユーザにより定義される行列である場合には、行列生成部210は、例えば上述した予測式(12)又は(13)に従って32×32の量子化行列から16×16の予測行列を算出し、算出した予測行列と16×16の差分行列とを加算する。それにより、16×16の量子化行列が再構築される(ステップS414)。なお、16×16の差分フラグが「0」であれば、差分行列はゼロ行列であり、16×16の予測行列がそのまま量子化行列として設定され得る。一方、16×16の量子化行列が既定の行列である場合には、行列生成部210は、既定の16×16の量子化行列を設定する(ステップS416)。
次に、図14Bを参照すると、行列生成部210は、8×8の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS422)。ここで8×8の量子化行列がユーザにより定義される行列である場合には、行列生成部210は、16×16の量子化行列から8×8の予測行列を算出し、算出した予測行列と8×8の差分行列とを加算する。それにより、8×8の量子化行列が再構築される(ステップS424)。なお、8×8の差分フラグが「0」であれば、差分行列はゼロ行列であり、8×8の予測行列がそのまま量子化行列として設定され得る。一方、8×8の量子化行列が既定の行列である場合には、行列生成部210は、既定の8×8の量子化行列を設定する(ステップS426)。
次に、行列生成部210は、4×4の量子化行列がユーザにより定義される行列であるか否かを判定する(ステップS432)。ここで4×4の量子化行列がユーザにより定義される行列である場合には、行列生成部210は、8×8の量子化行列から4×4の予測行列を算出し、算出した予測行列と4×4の差分行列とを加算する。それにより、4×4の量子化行列が再構築される(ステップS434)。なお、4×4の差分フラグが「0」であれば、差分行列はゼロ行列であり、4×4の予測行列がそのまま量子化行列として設定され得る。一方、4×4の量子化行列が既定の行列である場合には、行列生成部210は、既定の4×4の量子化行列を設定する(ステップS436)。
このように、本変形例では、量子化行列をSPSから復号する際、サイズの大きい量子化行列から順に行列が再構築され得る。量子化行列をPPSにて更新する場合にも、同様に、サイズの大きい量子化行列から順に行列が再構築されてよい。
<6.応用例>
上述した実施形態に係る画像符号化装置10及び画像復号装置60は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
[6−1.第1の応用例]
図15は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置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での画像の復号に際して、量子化行列の数が多くなる場合の符号量の増加を抑制することができる。
[6−2.第2の応用例]
図16は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機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での画像の符号化及び復号に際して、量子化行列の数が多くなる場合の符号量の増加を抑制することができる。
[6−3.第3の応用例]
図17は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置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での画像の符号化及び復号に際して、量子化行列の数が多くなる場合の符号量の増加を抑制することができる。
[6−4.第4の応用例]
図18は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置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での画像の符号化及び復号に際して、量子化行列の数が多くなる場合の符号量の増加を抑制することができる。
<7.まとめ>
ここまで、図1〜図18を用いて、本発明の一実施形態に係る画像符号化装置10及び画像復号装置60について説明した。本実施形態によれば、サイズの異なる複数の変換単位に対応する複数の量子化行列が使用される場合に、第1のサイズの変換単位に対応する第1の量子化行列から第2のサイズの変換単位に対応する第2の量子化行列が予測の手法を用いて生成される。従って、第2の量子化行列の全体を符号化する必要性が解消され、量子化行列の数が多くなる場合にも、符号量の増加を抑制することができる。
また、本実施形態によれば、第2の量子化行列は、第1の量子化行列を特定する行列情報、及び予測行列と第2の量子化行列との差分を表す差分情報(差分行列情報)を用いて生成される。従って、第2の量子化行列について、当該行列と予測行列との差分のみを符号化するだけで、画像の復号側において適切な第2の量子化行列を得ることができる。
また、本実施形態によれば、予測行列と第2の量子化行列との差分が存在しないことを示す第1のフラグがシーケンスパラメータセット又はピクチャパラメータセットから取得された場合には、第2の量子化行列から予測される予測行列が第2の量子化行列とされる。この場合には、第2の量子化行列について差分情報すら符号化されないため、符号量のさらなる削減が可能である。
また、第1の量子化行列のサイズは、複数の変換単位のサイズのうち最小のサイズであってよい。かかる構成によれば、最小のサイズの量子化行列以外の他の量子化行列について行列の全体を符号化しなくてよいため、量子化行列の数が多くなる場合にも、符号量の増加を一層効果的に抑制することができる。
なお、本明細書では、量子化行列を生成するための情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。