以下、本発明に係る画像復号装置の実施の形態について、図面を参照しながら詳細に説明する。
(実施の形態1)
本発明の実施の形態1に係る画像復号装置は、第1符号化ビットストリームを復号した第1復号画像信号が格納される領域を特定するための第1管理情報を用いて、第2ビットストリームの復号の際に参照される参照画像が格納されている領域を特定する。これにより、本発明の実施の形態1に係る画像復号装置は、視点間予測を用いて符号化された複数のビットストリームを復号できるとともに、各チャネルが参照すべき画像を特定できる。
まず、本発明の実施の形態に係る画像復号装置100の構成を説明する。
図1は、本発明の実施の形態1に係る画像復号装置100の構成を示すブロック図である。
図1に示す画像復号装置100は、符号化ビットストリーム110及び符号化ビットストリーム111を復号することにより出力画像信号112を生成する。
符号化ビットストリーム110及び111は、それぞれ、互いに視差を有する画像が符号化されたデータを含むストリームデータである。言い換えると、符号化ビットストリーム110は、第1視点で撮影された第1画像信号が符号化された第1符号化信号である。また、符号化ビットストリーム111は、第1視点と異なる第2視点で撮影された第2画像信号が符号化された第2符号化信号である。
なお、本実施の形態では、H.264規格で符号化されているビットストリームの復号処理を例に説明する。例えば、符号化ビットストリーム110及び111は、H.264−MVC規格に準拠して符号化されている。また、符号化ビットストリーム110は左眼用ビットストリーム(L側)である。また、符号化ビットストリーム111は右眼用ビットストリーム(R側)である。また、符号化ビットストリーム110(L側)及び111(R側)は2本の独立した符号化ビットストリームとして、画像復号装置100に入力される。
また、L側符号化ビットストリーム110はベースビューであり、R側符号化ビットストリームはノンベースビューであるとする。
この画像復号装置100は、画像復号部120と、制御部130と、管理情報格納部140と、フレームメモリ管理部150と、画像表示部160とを、フレームメモリ170とを備える。
画像復号部120は、符号化ビットストリーム110及び符号化ビットストリーム111を、参照画像を参照して復号することにより第1復号画像信号(以下、L側復号ピクチャ)及び第2復号画像信号(以下、R側復号ピクチャ)を生成する。なお、L側復号ピクチャ及びR側復号ピクチャを特に区別しない場合には、単に「復号ピクチャ」とも記す。
フレームメモリ170は、画像復号部120により生成された復号後の画像データ(L側復号ピクチャ及びR側復号ピクチャ)を格納する。
また、符号化ビットストリーム110がベースビューなので、画像復号部120は、L側復号ピクチャのみを参照画像として参照して符号化ビットストリーム110を復号する。また、符号化ビットストリーム111がノンベースビューなので、画像復号部120は、L側復号ピクチャ及びR側復号ピクチャを参照画像として参照して符号化ビットストリーム111を復号する。
なお、以下では、ノンベースビューのピクチャがベースビューのピクチャを参照することをビュー間参照と記す。また、ピクチャが同じビュー(ベースビュー又はノンベースビュー)内のピクチャを参照することをビュー内参照と記す。
制御部130は、画像復号部120による符号化ビットストリーム110及び111の復号処理を制御する。
管理情報格納部140は、画像復号部120による復号処理に用いられるピクチャ管理情報を格納する。このピクチャ管理情報は、L側復号ピクチャ及びR側復号ピクチャが格納されるフレームメモリ170の領域(ベースアドレス)を特定するための情報である。また、このピクチャ管理情報は、L側復号ピクチャが格納されるベースアドレスを特定するためのL側管理情報と、R側復号ピクチャが格納されるベースアドレスを特定するためのR側管理情報とを含む。
また、制御部130は、L側管理情報を参照して、符号化ビットストリーム110の復号の際に参照する参照画像が格納されているベースアドレスを画像復号部120に通知する。また、制御部130は、L側管理情報及びR側管理情報を参照して、符号化ビットストリーム111の復号の際に参照する参照画像が格納されているベースアドレスを画像復号部120に通知する。
フレームメモリ管理部150は、フレームメモリ170を管理する。
画像表示部160は、フレームメモリ170に格納されたL側復号ピクチャ及びR側復号ピクチャを含む出力画像信号112を生成し、生成した出力画像信号112を外部に出力する。
図2は、画像復号装置100の詳細な構成を示すブロック図である。
図2に示すように、画像復号部120は、第1復号部121と、第2復号部122とを備える。
第1復号部121は、符号化ビットストリーム110をリアルタイムで復号することによりL側復号ピクチャを生成する。
第2復号部122は、符号化ビットストリーム111をリアルタイムで復号することによりR側復号ピクチャを生成する。
管理情報格納部140は、ピクチャ管理情報として、DPB(復号ピクチャバッファ)リスト141a及び141bと、フレームメモリマッピングリスト142a及び142bと、ビュー間参照用シンタックス情報リスト143と、ビュー間参照用フレームメモリマッピングリスト144とを格納する。ここで、DPBリスト141a、フレームメモリマッピングリスト142a、ビュー間参照用シンタックス情報リスト143及びビュー間参照用フレームメモリマッピングリスト144は、L側復号ピクチャが格納されるベースアドレスを特定するためのL側管理情報である。また、DPBリスト141b及びフレームメモリマッピングリスト142bは、R側復号ピクチャが格納されるベースアドレスを特定するためのR側管理情報である。
DPBリスト141aは、符号化ビットストリーム110から生成されたL側復号ピクチャのビュー内参照用のシンタックス情報を含む。また、DPBリスト141bは、符号化ビットストリーム111から生成されたL側復号ピクチャのビュー内参照用のシンタックス情報を含む。ここでシンタックス情報とは、規格で定められたパラメータ(変数)を含む。
ビュー間参照用シンタックス情報リスト143は、ビュー間参照用のシンタックス情報を含む。
フレームメモリマッピングリスト142a及び142bは、フレームメモリ170のベースアドレスを管理するために用いられる。
ビュー間参照用フレームメモリマッピングリスト144は、ビュー間参照用ピクチャのベースアドレスを管理するために用いられる。
フレームメモリ管理部150は、制御部130及び画像表示部160から得られる情報をもとにフレームメモリマッピングリスト142a及び142bを更新することにより、フレームメモリ170のベースアドレスを管理する。
制御部130は、第1制御部131と、第2制御部とを含む。
第1制御部131は、L側符号化ビットストリーム110の復号処理を担当する。また、第2制御部132は、R側符号化ビットストリーム111の復号処理を担当する。
第1制御部131は、管理情報格納部140に格納されている、DPBリスト141aと、ビュー間参照用シンタックス情報リスト143と、フレームメモリマッピングリスト142aと、ビュー間参照用フレームメモリマッピングリスト144とを用いて、第1復号部121の復号処理を制御する。
第2制御部132は、管理情報格納部140に格納されている、DPBリスト141bと、ビュー間参照用シンタックス情報リスト143と、フレームメモリマッピングリスト142bと、ビュー間参照用フレームメモリマッピングリスト144とを用いて、第2復号部122の復号処理を制御する。
つまり、ビュー間参照用シンタックス情報リスト143及びビュー間参照用フレームメモリマッピングリスト144は、第1制御部131と第2制御部132との両方からアクセス可能である。
また、画像復号装置100は、さらに、フラグ格納部180を備える。
このフラグ格納部180は、第1制御部131及び第2制御部132に用いられる第1完了フラグ及び第2完了フラグを格納する。
また、第1制御部131は、1ピクチャの復号処理が完了した際に第1完了フラグをフラグ格納部180に格納する。第2制御部132は1ピクチャの復号処理が完了した際に第2完了フラグをフラグ格納部180に格納する。フラグ格納部180は、第1制御部131と第2制御部132との両方からアクセス可能である。よって、第1制御部131及び第2制御部132は、フラグ格納部180を介してお互いの復号処理が完了したことを確認することができる。
画像表示部160は、フレームメモリ170に格納されている復号ピクチャのうち、表示対象ピクチャが格納されているベースアドレスをフレームメモリ管理部150から取得する。画像表示部160は、取得したベースアドレスに格納される表示対象ピクチャをフレームメモリ170から読み出し、読み出した表示対象ピクチャを表示出力する。また、画像表示部160は、表示が完了したことをフレームメモリ管理部150に通知する。
以下、第1復号部121及び第2復号部122の構成を説明する。
図3は、第1復号部121の構成を示すブロック図である。なお、第2復号部122の構成も第2復号部122と同様である。
図3に示すように、第1復号部121は、ヘッダ解析部123と、エントロピー復号部124と、逆量子化部125と、逆直交変換部126と、イントラ予測部127と、動き補償部128と、デブロッキングフィルタ処理部129とを備える。
ヘッダ解析部123は、シーケンス層/ピクチャ層/スライス層などのヘッダ解析を行う。また、ヘッダ解析部123は、符号化ビットストリーム110に含まれる、復号対象画像のシンタックス情報113を取得する。
また、第1復号部121は、マクロブロック層以下の復号機能を備えている。具体的には、エントロピー復号部124、逆量子化部125、逆直交変換部126、イントラ予測部127、動き補償部128及びデブロッキングフィルタ処理部129により、H.264規格に準拠した一連の復号処理が行われる。
なお、動き補償部128は、過去に復号した画像をフレームメモリ170から読み出すことで参照を行い、復号後の画像をフレームメモリ170に格納する。
また、フレームメモリ170に対する読み出し及び書き込みに際して、第1制御部131は、ベースアドレスをフレームメモリ管理部150から取得し第1復号部121に設定する。また、第2制御部132はベースアドレスをフレームメモリ管理部150から取得し第2復号部122に設定する。
以上のように構成された画像復号装置100の具体的な動作の説明を容易にするために、以下、H.264規格で定義されている用語と、本実施の形態の構成要素との対応関係を説明する。
まず、H.264規格で定義されている復号ピクチャバッファ(Decoded Picture Buffer:DPB)と、本実施の形態の構成要素であるDPBリスト141a及び141bとの関係を説明する。
H.264規格では、複数の復号ピクチャを参照ピクチャとして用いることができる。また、H.264規格では、複数の参照ピクチャの中から動き補償ブロックごとに、異なるピクチャを選択して動き補償処理が行われる。この参照ピクチャを指定するために、各復号ピクチャに割り当てられた識別番号を参照ピクチャ番号(ref_idx)と言う。H.264規格では、符号化時に、動き補償ブロックごとに参照ピクチャ番号(ref_idx)が付与され、復号時にはこの参照ピクチャ番号(ref_idx)を用いて、参照ピクチャが特定される。
ここで、参照ピクチャ枚数を増やすと符号化効率が上がる一方、多くの復号ピクチャをメモリに確保しておく必要がある。この複数の参照ピクチャに加えて、動き補償時に参照されない復号ピクチャである非参照ピクチャも、その表示時刻までメモリに確保しておく必要がある。これにより、非常に多くのメモリ容量が必要となる。また、これらピクチャの管理も複雑になる。
そこで、H.264規格では、復号ピクチャバッファ(DPB)というメモリを概念的に準備し、このDPBに復号ピクチャを格納する。また、Sliding Window又はMMCO(Memory Management Control Operation)といった方法でピクチャを統一的に管理する。これにより、H.264規格では、メモリを効率良く利用できる。
また、Sliding Window又はMMCOは、ピクチャのシンタックス情報113を用いて処理を行う。
図4は、ピクチャの参照関係を示す図である。
前述のように、参照ピクチャを指定するために参照ピクチャ番号(ref_idx)が付与されているが、図4に示すように復号対象ピクチャごとに、参照ピクチャ番号に対応する参照ピクチャの割り当てを変えることができる。また、DPBに確保されている参照ピクチャと、参照ピクチャ番号との対応付けには、参照ピクチャリスト(Reference Picture List:RPL)というリストが用いられる。
なお、このRPLはピクチャごとにシンタックス情報113をもとに作成される。
本実施の形態においては、このようなH.264規格の柔軟な参照構造に対応するために、前述のようにDPBリスト141a及び141bを管理情報格納部140に格納し、このDPBリスト141a及び141bの情報を用いることにより、H.264規格で規定される復号ピクチャバッファ(DPB)に格納されるべきピクチャの特定及び管理を実現している。
図5は、各ピクチャのシンタックス情報113の構成を示す図である。このシンタックス情報113は、参照ピクチャとして用いる復号ピクチャを特定するために用いられる。
図5に示すように、例えば、シンタックス情報113は、short term/long termと、nal_ref_idcと、field_pic_flagと、in
ter_view_flagと、frame_numと、view_idとを含む。なお、シンタックス情報113には、これらの情報の一部のみが含まれていてもよいし、これら以外の情報が含まれていてもよい。
short trem/long termは、当該ピクチャがshort term reference pictureかlong term reference pictureかを示す。short term reference pictureとはSliding Windowによって管理できるピクチャであり、long term reference pictureとはSliding Windowでは管理できない時間的に離れた位置に存在するピクチャである。
nal_ref_idcは、当該ピクチャがビュー内参照されるか否かを示す。
field_pic_flagは、当該ピクチャの方式がフィールド(インタレース)であるかフレーム(プログレッシブ)であるかを示す。
inter_view_flagは、当該ピクチャがビュー間参照されるか否かを示す。
frame_numは、当該ピクチャの番号を示す。
view_idは、当該ピクチャが含まれるビューの識別子である。例えば、ベースビューに含まれるピクチャには「0」が付与され、ノンベースビューに含まれるピクチャには、「1、2、・・・」が付与される。
図6は、DPBリスト141a(141b)の構成を示す図である。
DPBリスト141a及び141bは、ビュー内参照の参照画像として用いられる復号ピクチャのシンタックス情報113を含む。
図6に示すように、復号ピクチャごとに、シンタックス情報202と、当該シンタックス情報202に対応付けられた識別番号であるインデックス201とを含む。このシンタックス情報202は、図5に示すシンタックス情報113に相当する。
また、このDPBリスト141a及び141bに含まれるシンタックス情報202の数は、各ピクチャがビュー内参照可能な参照ピクチャの数により決定される。
また、DPBリスト141a及び141bは、マクロブロック層の復号処理のみならず、H.264規格で規定される復号ピクチャバッファ(DPB)の更新、及び、おなじくH.264規格で規定される参照ピクチャリスト(RPL)の作成時にも使用される。
また、ビュー間参照用シンタックス情報リスト143は、ビュー間参照の参照画像として用いられる復号ピクチャのシンタックス情報113を含む。例えば、ビュー間参照用シンタックス情報リスト143の構成も図6と同様である。
また、このビュー間参照用シンタックス情報リスト143に含まれるシンタックス情報202の数は、各ピクチャがビュー間参照可能な参照ピクチャの数により決定される。
次に、H.264規格で定義されている復号ピクチャバッファ(DPB)と、本実施の形態の構成要素であるフレームメモリマッピングリスト142a及び142bとの関係を説明する。
H.264規格では、参照されるピクチャは、必ず復号ピクチャバッファ(DPB)に格納される。また、1ピクチャの復号処理が完了するたびに復号ピクチャバッファの内容が更新される。
この復号ピクチャバッファ(DPB)の更新手順も、H.264規格で規定されており、以下の手順で行われる。
(ステップ1)ピクチャを復号する。
(ステップ2)所定のルール(Sliding Window又はMMCO)により、復号ピクチャバッファ(DPB)を更新し、開放対象ピクチャを決定する。
(ステップ3)(ステップ2)の開放対象ピクチャの代わりに、(ステップ1)で復号したピクチャを復号ピクチャバッファ(DPB)に格納する。
上記のように、規格上では、(ステップ1)で復号が完了したピクチャは、(ステップ2)で開放対象ピクチャが決まるまで、一旦、テンポラリバッファに確保される。また、この復号が完了したピクチャは、(ステップ3)において実際に復号ピクチャバッファ(DPB)に格納される。このような手順になっているため、実装上は復号ピクチャバッファ(DPB)に相当するメモリ容量とは別に、復号中のピクチャが格納できるテンポラリバッファを余分に確保しなければならない。
本実施の形態では、このテンポラリバッファとしても、フレームメモリ170を用いる。つまり、復号対象ピクチャ(復号中のピクチャ)はフレームメモリ170に格納される。
このように、フレームメモリ170内には、H.264規格において規定されるピクチャ(DPB内のピクチャ)と、実装形態に依存したピクチャ(復号中のピクチャ)が混在する。また、これらの中で表示が完了したピクチャが格納されていたフレームメモリ領域が次のピクチャの格納用として開放される。よって、これらをまとめて管理する必要がある。
本実施の形態においては、このような管理に柔軟に対応するために、前述のようにフレームメモリマッピングリスト142a及び142bを、管理情報格納部140内に格納する。また、フレームメモリ170内のフレームメモリ領域ごとに、DPBリスト141a及び141bにおいて参照ピクチャとして指定されているか否か、及び画像表示対象として指定されているか否か、といった状態管理をする。これらにより、次のピクチャの格納用として開放すべきフレームメモリ領域の特定を実現する。
図7は、フレームメモリマッピングリスト142aの構成を示す図である。例えば、フレームメモリマッピングリスト142aは、図7に示すようなテーブル形式である。なお、フレームメモリマッピングリスト142bの構成も図7と同様である。
図7に示すように、フレームメモリマッピングリスト142aは、復号ピクチャごとに対応付けられた複数のエントリを含む。なお、フレームメモリマッピングリスト142aでは、各エントリは、ビュー内参照の参照ピクチャとして用いられる復号ピクチャと、ビュー間参照の参照ピクチャとして用いられる復号ピクチャと、参照ピクチャとして用いられない復号中又は復号済みピクチャとのいずれかに対応する。また、フレームメモリマッピングリスト142bでは、各エントリは、ビュー内参照の参照ピクチャとして用いられる復号ピクチャと、参照ピクチャとして用いられない復号中又は復号済みピクチャとのいずれかに対応する。
各エントリは、フレームメモリアドレス203と、DPBリストインデックス204と、ビュー間参照用シンタックス情報インデックス205と、画像表示ステータス206と、状態情報207とを含む。
フレームメモリアドレス203は、当該復号ピクチャが格納されているフレームメモリ170のベースアドレスを示す。
DPBリストインデックス204は、当該復号ピクチャに対応するDPBリスト141aのインデックス201を示す。また、DPBリストインデックス204は、当該復号ピクチャが視点内参照の参照ピクチャとして用いられるか否かを示す。具体的には、DPBリストインデックス204に、DPBリスト141aのインデックス201が設定されている場合には、当該復号ピクチャが視点内参照の参照ピクチャとして用いられることが示される。また、DPBリストインデックス204に、DPBリスト141aのインデックス201が設定されていない場合(図7における「なし」の場合)には、当該復号ピクチャが視点内参照の参照ピクチャとして用いられないことが示される。
ビュー間参照用シンタックス情報インデックス205は、当該復号ピクチャに対応するビュー間参照用シンタックス情報リスト143のインデックス201を示す。また、ビュー間参照用シンタックス情報インデックス205は、当該復号ピクチャが視点間参照の参照ピクチャとして用いられるか否かを示す。具体的には、ビュー間参照用シンタックス情報インデックス205に、ビュー間参照用シンタックス情報リスト143のインデックス201が設定されている場合には、当該復号ピクチャが視点間参照の参照ピクチャとして用いられることが示される。また、ビュー間参照用シンタックス情報インデックス205に、ビュー間参照用シンタックス情報リスト143のインデックス201が設定されていない場合(図7における「なし」の場合)には、当該復号ピクチャが視点内参照の参照ピクチャとして用いられないことが示される。
画像表示ステータス206は、当該復号ピクチャが画像表示済み(出力画像信号112として出力済み)であるか画像表示されていない(未表示)かを示す。
状態情報207は、当該エントリが使用中であるか未使用であるかを示す。具体的には、DPBリストインデックス204及びビュー間参照用シンタックス情報インデックス205がともに「なし」であり、かつ、画像表示ステータス206が表示済み「0」の場合に、状態情報207は「未使用」であり、それ以外の場合、状態情報207は「使用中」となる。
また、制御部130は、状態情報207が「未使用」のベースアドレスに画像復号部120により新たに復号された復号ピクチャを格納するように、画像復号部120に通知する。
図7に示す例では、フレームメモリアドレス203が「0」のエントリは、復号ピクチャバッファ(DPB)として使用されており、DPBリスト141aに付与されている該当インデックス201が割り当てられている。また、フレームメモリアドレス203が「2」のエントリは、ビュー間参照用ピクチャが格納されており、ビュー間参照用シンタックス情報リスト143に付与されている該当インデックス201が割り当てられている。また、フレームメモリアドレス203が「3」のエントリは、テンポラリバッファとして用いられている(画像表示されていないピクチャが格納されている)ため使用することができない。よって、この例では復号ピクチャバッファ(DPB)として使用されておらず、かつテンポラリバッファとしても使用されていないフレームメモリアドレス203が「1」のエントリが未使用であると特定できる。
なお、H.264規格で定義されている参照ピクチャリスト(RPL)については、本実施の形態では、マクロブロック層の復号の際に、符号化ビットストリーム110から得られる各参照ピクチャのシンタックス情報113と、第1制御部131又は第2制御部132から与えられるDPBリスト141a又は141bの内容をもとに第1復号部121又は第2復号部122が作成し、第1復号部121又は第2復号部122の内部で保持する。
なお、ビュー間参照用フレームメモリマッピングリスト144の構成も図7と同様である。また、ビュー間参照用フレームメモリマッピングリスト144では、各エントリは、ビュー間参照の参照ピクチャとして用いられる復号ピクチャに対応する。
また、ビュー間参照用フレームメモリマッピングリスト144は、ビュー間参照の際にしか参照されないので、フレームメモリアドレス203とビュー間参照用シンタックス情報インデックス205とのみを含んでもよい。
また、R側復号ピクチャがビュー間参照の参照画像として用いられない場合には、フレームメモリマッピングリスト142bは、ビュー間参照用シンタックス情報インデックス205を含まなくてもよい。
以上のように、H.264規格で定義されている復号ピクチャバッファ(DPB)及び参照ピクチャリスト(RPL)114と、本実施の形態の各構成要素とを対応づけることにより、図8のように、動き補償ブロックごとに符号化ビットストリーム110から得られる参照ピクチャ番号(ref_idx)から、フレームメモリ170のベースアドレスを特定することができる。
具体的には、第1制御部131は、動き補償ブロックごとに符号化ビットストリーム110から得られる参照ピクチャ番号(ref_idx)を取得する。次に、第1制御部131は、RPL114を参照し、参照ピクチャ番号(ref_idx)に対応するpicture numberを特定する。次に、第1制御部131は、DPBリスト141aを参照し、特定したpicture numberに対応するシンタックス情報202のインデックス201を特定する。次に、第1制御部131は、フレームメモリマッピングリスト142aを参照して、特定したインデックス201に対応するベースアドレス(フレームメモリアドレス203)を特定する。
また、第2制御部132は、動き補償ブロックごとに符号化ビットストリーム110から得られる参照ピクチャ番号(ref_idx)を取得する。次に、第2制御部132は、RPL114を参照し、参照ピクチャ番号(ref_idx)に対応するpicture numberを特定する。次に、第2制御部132は、DPBリスト141b及びビュー間参照用シンタックス情報リスト143を参照し、特定したpicture numberに対応するシンタックス情報202のインデックス201を特定する。次に、第2制御部132は、フレームメモリマッピングリスト142b及びビュー間参照用フレームメモリマッピングリスト144を参照して、特定したインデックス201に対応するベースアドレス(フレームメモリアドレス203)を特定する。
さて、H.264−MVCは、前述のような柔軟な構造を持つH.264を、多視点符号化方式として拡張したものである。つまり、H.264−MVCは、各視点をビューとして符号化を行い、視点間の相関性を利用したビュー間参照をすることにより高い情報圧縮を実現する技術である。
各ビューはビューID(view_id)でそれぞれ識別され、他のビューを参照しないビューをベースビューと言い、他のビューを参照するビューをノンベースビューと言う。ノンベースビューの各ピクチャは、同じビュー内のピクチャに加え、同じ時間の異なるビューのピクチャを参照することができることを大きな特徴とする。
本実施の形態では、L側符号化ビットストリーム110がベースビューであり、R側符号化ビットストリーム111がノンベースビューである。つまり、R側符号化ビットストリーム111の復号の際は、L側符号化ビットストリーム110の復号ピクチャをビュー間参照することが可能である。
ビュー間参照用シンタックス情報リスト143は、ベースビューであるL側符号化ビットストリーム111の参照ピクチャのシンタックス情報113を格納している。
第2制御部132は、ノンベースビューであるR側符号化ビットストリーム111の復号時には、ビュー内参照用のシンタックス情報113を含むDPBリスト141bに加えて、ビュー間参照用のシンタックス情報113を含むビュー間参照用シンタックス情報リスト143を取得する。これらをもとに、第2復号部122は、ビュー間参照ピクチャを含めたRPLを作成する。
図9は、第1制御部131及び第2制御部132の処理を示す図である。
具体的には、第1制御部131は、図9の例ようにL側のDPBリスト141aのインデックス番号「1」に格納される情報を、R側から参照可能なビュー間参照用シンタックス情報リスト143にも格納する。
これにより、フレームメモリ管理部150は、フレームメモリ170内のフレームメモリ領域ごとに、DPBリスト141a及び141bにおいて参照ピクチャとして指定されているか否か、及び画像表示対象として指定されているか否か、といった状態を管理する。さらに、フレームメモリ管理部150は、ビュー間参照用シンタックス情報リスト143においてビュー間参照に用いられる参照ピクチャとして指定されているか否かといった状態を管理する。これにより、フレームメモリ管理部150は、次のピクチャの格納用として開放すべきフレームメモリ170の領域を特定できる。
また、ビュー間参照は同じアクセスユニット内のピクチャのみ参照することができるため、本実施の形態ではビュー間参照用シンタックス情報リスト143及びビュー間参照用フレームメモリマッピングリスト144は少なくとも1ピクチャ分の情報が格納できればよい。ただし、本実施の形態では、第1復号部121及び第2復号部122が同時に動作するため第1復号部121からの書き込み用と第2復号部122からの読み出し用とでビュー間参照用シンタックス情報リスト143及びビュー間参照用フレームメモリマッピングリスト144のそれぞれに2ピクチャ分の領域を確保する。
上記のようにH.264規格及びH.264−MVC規格に対応づけられ、構成された本発明の実施の形態1の画像復号装置100について、その動作を説明する。
以下では1ストリームにつき参照に必要なピクチャ枚数は3枚とする。また、前述のように復号中のピクチャの格納用に1枚必要である。
さらに、画像表示は同一アクセスユニットに属するL側のピクチャとR側のピクチャとが復号完了したあとに図10のようなタイミングで表示されるものとする。具体的には、期間T01において、L側のピクチャL1の復号処理が行われる。次に、期間T02において、L側のピクチャL2とR側のピクチャR1との復号処理が行われる。次に、期間T03において、ピクチャL1及びピクチャR1が表示される。なお、ピクチャL1及びピクチャR1は同一のアクセスユニットに含まれるピクチャである。
このように、表示までの間にも次のピクチャの復号処理を開始させるため、格納領域を表示用に1枚設ける。
したがって、フレームメモリ170は、合計10枚(L側5枚、R側5枚)のピクチャが格納できる領域を備えているものとする。
また、入力される符号化ビットストリーム110及び111は、前述のようにH.264−MVCにより多視点符号化されている。また、図11に示すようにL側符号化ビットストリーム110はI/P1/P2/B1/P3/B2の順に符号化されているものとする。同様にR側符号化ビットストリーム111はI/P1/P2/B1/P3/B2の順に符号化されているものとする。なお、図11に示す「I」は当該ピクチャがIピクチャであることを示す。また、「P1、P2、P3」は当該ピクチャがPピクチャであることを示す。また、「B」は当該ピクチャがBピクチャであることを示す。また、Iピクチャとは、ビュー内参照を行わない画面内符号化が行われたピクチャである。Pピクチャ及びBピクチャは、ビュー内参照を行って符号化されたピクチャである。また、Iピクチャ及びPピクチャは、他のピクチャからビュー内参照されるピクチャであり、本実施例においては、Bピクチャは他のピクチャからビュー内参照されないピクチャとする(nal_ref_idc=0)。
また、L側符号化ビットストリーム110はベースビューであり、R側符号化ビットストリームはノンベースビューであるとする。
まず、画像復号装置100は、L側符号化ビットストリーム110から復号処理を開始する。また、第1制御部131と第2制御部132は次のように1ピクチャごとに同時に起動し完了待ち合わせをすることで符号化ビットストリーム110及び111の復号処理の同期をとる。
まず、L側のピクチャの復号処理について説明する。
第1制御部131は、以下の処理ステップで、第1復号部121を制御することにより、L側符号化ビットストリーム110のピクチャ復号処理を行う。
図12は、画像復号装置100によるL側の復号処理のフローチャートである。
まず、第1制御部131は、フラグ格納部180に格納されている第1完了フラグをクリアする(S101)。
次に、第1制御部131は、復号対象ピクチャの復号結果を格納するフレームメモリ170のベースアドレスをフレームメモリ管理部150から取得する(S102)。
次に、第1制御部131は、L側のDPBリスト141aを管理情報格納部140から取得する(S103)。
次に、第1制御部131は、フレームメモリマッピングリスト142aを取得する。また、第1制御部131は、取得したDPBリスト141a及びフレームメモリマッピングリスト142aを参照して、ビュー内参照用の参照ピクチャのベースアドレスを取得する(S104)。
次に、第1制御部131は、上記ステップS102〜S104で得られた復号対象ピクチャ及び参照ピクチャのベースアドレス、及びDPBリスト141aを第1復号部121に設定し、第1復号部121を起動する(S105)。
次に、第1復号部121は、ステップS105で設定された参照ピクチャのベースアドレスから参照ピクチャを取得し、取得した参照ピクチャを用いて符号化ビットストリーム110を復号することにより復号ピクチャを生成する。また、第1復号部121は、生成した復号ピクチャを、ステップS105で設定された復号対象ピクチャのベースアドレスに格納する。また、第1復号部121は、第1制御部131に当該復号対象ピクチャの復号処理が完了したことを通知する(S106)。
次に、第1制御部131は、ステップS106で復号処理が完了したピクチャのシンタックス情報113を第1復号部121から取得する(S107)。
次に、第1制御部131は、ステップS105で復号処理が完了したピクチャが、後続のピクチャの復号時に参照ピクチャとして用いられる場合は、ステップS107で取得したシンタックス情報113を用いて、管理情報格納部140内のDPBリスト141aを更新する(S108)。具体的には、第1制御部131は、ステップS107で取得したシンタックス情報113をDPBリスト141aに加える。
次に、第1制御部131は、ステップS108におけるDPBリスト141aの更新により、DPBリスト141aから外れたピクチャが存在する場合、DPBリスト141aの該当ピクチャのインデックス201をフレームメモリ管理部150に通知する。フレームメモリ管理部150は、第1制御部131からインデックス201が通知された場合、フレームメモリマッピングリスト142aを更新する(S109)。具体的には、フレームメモリ管理部150は、通知されたインデックス201に対応するDPBリストインデックス204を「なし」に変更する。また、フレームメモリ管理部150は、復号処理が完了したピクチャの情報をフレームメモリマッピングリスト142aに加える。
次に、第1制御部131は、ステップS107で得られたシンタックス情報113をビュー間参照用のシンタックス情報としてビュー間参照用シンタックス情報リスト143に格納する(S110)。
次に、第1制御部131は、復号処理が完了したピクチャの情報をビュー間参照用フレームメモリマッピングリスト144に格納する(S111)。
次に、第1制御部131は、L側の復号処理を一旦、停止するとともに、フラグ格納部180に第1完了フラグをセットする(S112)。
次に、R側のピクチャの復号処理について説明する。
第2制御部132は、以下の処理ステップで、第2復号部122を制御することにより、R側符号化ビットストリーム111の復号処理を行う。
図13は、画像復号装置100によるR側の復号処理のフローチャートである。
まず、第2制御部132は、フラグ格納部180に格納されている第2完了フラグをクリアする(S201)。
次に、第2制御部132は、R側符号化ビットストリーム111の復号処理で参照できるL側の復号ピクチャのシンタックス情報をビュー間参照用シンタックス情報リスト143から取得することにより、ビュー間参照用の参照ピクチャを特定する(S202)。
次に、第2制御部132は、ビュー間参照用フレームメモリマッピングリスト144を参照し、ステップS202で取得したシンタックス情報に対応するベースアドレスを取得する。つまり、第2制御部132は、R側符号化ビットストリーム111の復号処理で参照できるL側の復号ピクチャのベースアドレスを取得する(S203)。
次に、第2制御部132は、復号対象ピクチャ(R側ピクチャ)の復号結果を格納するフレームメモリ170のベースアドレスをフレームメモリ管理部150から取得する(S204)。
次に、第2制御部132は、R側のDPBリスト141bを管理情報格納部140から取得する(S205)。
次に、第2制御部132は、フレームメモリマッピングリスト142bを取得する。また、第2制御部132は、取得したDPBリスト141b及びフレームメモリマッピングリスト142bを参照して、ビュー内参照用の参照ピクチャのベースアドレスを取得する(S206)。
次に、第2制御部132は、ステップS203、S204、S205及びS206で得られた復号対象ピクチャ、ビュー内参照用の参照ピクチャ及びビュー間参照用の参照ピクチャのベースアドレスと、復号対象ピクチャのDPBリスト141bとを第2復号部122に設定し、第2復号部122を起動する(S207)。
第2復号部122は、ステップS207で設定されたビュー内参照用又はビュー間参照用のベースアドレスから参照ピクチャを取得し、取得した参照ピクチャを用いて符号化ビットストリーム111を復号することにより復号ピクチャを生成する。また、第2復号部122は、生成した復号ピクチャを、ステップS207で設定された復号対象ピクチャのベースアドレスに格納する。また、第2復号部122は、第2制御部132に当該ピクチャの復号処理が完了したことを通知する(S208)。
次に、第2制御部132は、ステップS208で復号が完了したピクチャのシンタックス情報113を第2復号部122から取得する(S209)。
次に、第2制御部132は、ステップS208で復号が完了したピクチャが、後続のピクチャの復号時に参照ピクチャとして用いられる場合は、DPBリスト141bを更新する(S210)。具体的には、第2制御部132は、ステップS209で取得したシンタックス情報113をDPBリスト141bに加える。
次に、第2制御部132は、ステップS210におけるDPBリスト141bの更新により、DPBリストから外れたピクチャが存在する場合、DPBリスト141bの該当ピクチャのインデックス201をフレームメモリ管理部150に通知する。フレームメモリ管理部150は、第2制御部132からインデックス201が通知された場合、フレームメモリマッピングリスト142bを更新する(S211)。具体的には、フレームメモリ管理部150は、通知されたインデックス201に対応するDPBリストインデックス204を「なし」に変更する。また、フレームメモリ管理部150は、復号処理が完了したピクチャの情報をフレームメモリマッピングリスト142bに加える。
次に、第2制御部132は、R側の復号処理を一旦、停止するとともに、フラグ格納部180に第2完了フラグをセットする(S212)。
以上のように、第1制御部131及び第2制御部132を1ピクチャごとに同時に起動し完了待ち合わせをすることで、図14のように符号化ビットストリーム110及び111の復号処理の同期をとることができる。
例えば、図14に示す時刻t01において、L側の復号処理及びR側の復号処理が同時に開始される。つまり、上述した図12及び図13に示す処理が行われる。また、時刻t02においてR側の復号処理が終了する。時刻t02の時点では、L側の復号処理が完了していないので、第1完了フラグがセットされていない。よって、第2制御部132は、L側の復号処理が完了するまで、次のピクチャの復号処理を開始しない。
時刻t03において、L側の復号処理が完了する。よって、時刻t03において、L側及びR側の両方の復号処理が完了したので、画像復号部120は、次のピクチャの復号処理を同時に開始する。
また、時刻t04においてL側の復号処理が完了するが、R側の復号処理が完了していないので、第1制御部131は、R側の復号処理が完了するまで、次のピクチャの復号処理を開始しない。
時刻t05において、R側の復号処理が完了する。よって、時刻t05において、L側及びR側の両方の復号処理が完了したので、画像復号部120は、次のピクチャの復号処理を同時に開始する。
このように、制御部130は、第1復号部121及び第2復号部122により、符号化ビットストリーム110及び111の予め定められた復号処理単位(ピクチャ単位)の復号処理が共に完了した後、第1復号部121及び第2復号部122に次の復号処理単位の復号処理を開始させる。
具体的には、第1制御部131は、第1復号部121による符号化ビットストリーム110の復号処理単位の復号処理が完了し、かつ、フラグ格納部180に第2完了フラグが格納されている場合、次の復号処理単位の符号化ビットストリーム110の復号処理を第1復号部121に開始させる。
また、第2制御部132は、第2復号部122による符号化ビットストリーム111の復号処理単位の復号処理が完了し、かつ、フラグ格納部180に第1完了フラグが格納されている場合、次の復号処理単位の符号化ビットストリーム111の復号処理を第2復号部122に開始させる。
なお、ここでは、R側の復号処理が完了するまで、L側の次のピクチャの復号処理を待機させ、L側の復号処理が完了するまで、R側の次のピクチャの復号処理を待機させているが、L側の復号処理がR側の復号処理より先に完了した場合に、R側の復号処理の完了を待たずに、L側の次のピクチャの復号処理を行なってもよい。なぜなら、R側はL側の復号ピクチャを参照ピクチャとして用いるが、L側はR側の復号ピクチャを参照ピクチャとして用いないので、先行して復号処理を行っても参照ピクチャが復号されていない等の問題は発生しない。
ただし、L側の復号処理が大きく先行した場合、表示のためにL側の復号ピクチャを格納するための格納領域が多く必要となる。または、R側での使用完了を含めたフレームメモリの空き状況を管理し、できるところまでL側の復号処理を先行させる制御を行うことも考えられるが制御が複雑になる。よって、図14に示すように、R側の復号処理が完了するまで、L側の次のピクチャの復号処理を待機させ、L側の復号処理が完了するまで、R側の次のピクチャの復号処理を待機させていることが好ましい。
ここで、従来の画像復号装置では、複数のビットストリームの復号処理に関する同期の課題が存在する。
具体的には、H.264−MVCのような視点間予測を用いた符号化方式で圧縮された画像データを復号する過程において、ノンベースビューの画像の復号には、同じ表示時刻のベースビューの復号後画像を動き補償時の参照画像とする場合がある。よって、ベースビューの復号処理タイミングとノンベースビューの復号処理タイミングとには依存関係が存在する。なお、3視点以上の場合、ノンベースビューの画像の復号には、同じ表示時刻の異なるノンベースビュー又はベースビューの復号画像を動き補償時の参照画像とする場合もある。
よって、所定の単位ごとに、各チャネルの復号処理の同期を取りながら、複数ビットストリームの復号を行う必要があるため、従来の画像復号装置のように、各チャネルの画像の復号タイミングは、お互いに他のチャネルの復号状況を考慮することなく任意とし、表示の際に各チャネルの同期を取って再生する構成の場合、復号時の各チャネル間の参照が上手く行われず、正しく復号処理が行えないという課題が発生する。
一方で、本発明の実施の形態1に係る画像復号装置100は、第1制御部131と第2制御部132とを同時に起動するとともに、完了の待ち合わせを行うことにより、符号化ビットストリーム110及び111の復号処理の同期をとることができる。
また、本発明の実施の形態1に係る画像復号装置100は、R側符号化ビットストリーム111の復号処理の際に共通でアクセスできるビュー間参照用シンタックス情報リスト143を介してL側符号化ビットストリームの参照ピクチャのシンタックス管理情報を知ることができる。これにより、画像復号装置100は、視点間予測を用いて符号化された符号化ビットストリームの復号が可能になる。
次に、DPBリスト141a及び141bとフレームメモリマッピングリスト142a及び142bと、ビュー間参照用シンタックス情報リスト143と、ビュー間参照用フレームメモリマッピングリスト144との1ピクチャ時間ごとの関係について、図15を用いて説明する。
(期間T10)
(L側符号化ビットストリーム110の復号処理)
復号されたIピクチャ(L−I)がフレームメモリ170に格納され、シンタックス情報113がDPBリスト141aのインデックス番号「0」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142aのインデックス番号「0」に登録される。
また、ビュー間参照用シンタックス情報リスト143にIピクチャ(L−I)のシンタックス情報113が登録される。また、ビュー間参照用フレームメモリマッピングリスト144のインデックス番号「0」にIピクチャ(L−I)のベースアドレスが登録される。
(R側符号化ビットストリーム111の復号処理)
ビュー間参照が発生する可能性があるため、期間T10ではR側符号化ビットストリームの処理は行わずに、期間T11から開始する。
(期間T11)
(L側符号化ビットストリーム110の復号処理)
復号されたPピクチャ(L−P1)がフレームメモリ170に格納され、シンタックス情報113がDPBリスト141aのインデックス番号「1」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142aのインデックス番号「1」に登録される。また、ビュー間参照用シンタックス情報リスト143のインデックス番号「1」にPピクチャ(Pl1)のシンタックス情報113が登録される。また、ビュー間参照用フレームメモリマッピングリスト144のインデックス番号「1」にPピクチャ(L−Pl)のベースアドレスが登録される。
(R側符号化ビットストリーム111の復号処理)
復号されたIピクチャ(R−I)がフレームメモリ170に格納され、シンタックス情報113がDPBリスト141bのインデックス番号「0」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「0」に登録される。
(期間T12)
(L側符号化ビットストリーム110の復号処理)
復号されたPピクチャ(L−P2)がフレームメモリ170に格納され、シンタックス情報113がDPBリスト141bのインデックス番号「2」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「2」に登録される。また、ビュー間参照用シンタックス情報リスト143のインデックス番号「0」にPピクチャ(L−P2)のシンタックス情報113が登録される。また、ビュー間参照用フレームメモリマッピングリスト144のインデックス番号「0」にPピクチャ(L−P2)のベースアドレスが登録される。
(R側符号化ビットストリーム111の復号処理)
復号されたPピクチャ(R−P1)がフレームメモリ170に格納され、シンタックス情報113がDPBリスト141bのインデックス番号「1」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「1」に登録される。
(期間T13)
(L側符号化ビットストリーム110の復号処理)
復号されたBピクチャ(L−B1)がフレームメモリ170に格納され、ベースアドレスがフレームメモリマッピングリスト142aのインデックス番号「3」に登録される。しかし、当該Bピクチャ(L−B1)は後続のピクチャの復号時に参照されないためDPBリスト141aにはシンタックス情報113は登録されない。
また、ビュー間参照用シンタックス情報リスト143のインデックス番号「1」にBピクチャ(L−B1)が登録される。また、ビュー間参照用フレームメモリマッピングリスト144のインデックス番号「1」にPピクチャ(L−B1)のベースアドレスが登録される。
(R側符号化ビットストリーム111の復号処理)
復号されたPピクチャ(R−P2)がフレームメモリ170に格納され、シンタックス情報113がDPBリスト141bのインデックス番号「2」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「2」に登録される。
(L側符号化ビットストリーム110の画像表示)
Iピクチャ(L−I)は画像表示されるが、当該Iピクチャ(L−1)は、後続のピクチャの復号時に参照ピクチャと成りうるためDPBリスト141aのインデックス番号「0」に登録されているシンタックス情報113は削除されない。同様に、フレームメモリマッピングリスト142aのインデックス番号「0」に登録されているベースアドレスは削除されない。
(R側符号化ビットストリーム111の画像表示)
Pピクチャ(R−P1)は画像表示されるが、当該Pピクチャ(R−P1)は、後続のピクチャの復号時に参照ピクチャと成りうるためDPBリスト141bのインデックス番号「0」に登録されているシンタックス情報113は削除されない。同様に、フレームメモリマッピングリスト142bのインデックス番号「0」に登録されているベースアドレスは削除されない。
(期間T14)
(L側符号化ビットストリーム110の復号処理)
復号されたPピクチャ(L−P3)がフレームメモリ170に格納され、シンタックス情報113がDPBリスト141bのインデックス番号「0」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「4」に登録される。その際、DPBリスト141aのインデックス番号「0」に登録されていたIピクチャ(L−I)のシンタックス情報113、及びフレームメモリマッピングリスト142aのインデックス番号「0」に登録されていたIピクチャ(L−I)のベースアドレスが削除される。また、ビュー間参照用シンタックス情報リスト143のインデックス番号「0」にPピクチャ(L−P3)が登録される。また、ビュー間参照用フレームメモリマッピングリスト144のインデックス番号「0」にPピクチャ(L−P3)のベースアドレスが登録される。
(R側符号化ビットストリーム111の復号処理)
復号されたBピクチャ(R−B1)がフレームメモリ170に格納され、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「3」に登録される。また、当該Bピクチャ(R−B1)は、後続のピクチャの復号時に参照されないためDPBリスト141bにはシンタックス情報113は登録されない。
(L側符号化ビットストリーム110の画像表示)
Pピクチャ(L−P1)は画像表示されるが、後続のピクチャの復号時に参照ピクチャと成りうるためDPBリスト141aのインデックス番号「1」に登録されているシンタックス情報は削除されない。同様に、フレームメモリマッピングリスト142aのインデックス番号「1」に登録されているベースアドレスは削除されない。
(R側符号化ビットストリーム111の画像表示)
Pピクチャ(R−P1)は画像表示されるが、後続のピクチャの復号時に参照ピクチャと成りうるためDPBリスト141bのインデックス番号「1」に登録されているシンタックス情報は削除されない。同様に、フレームメモリマッピングリスト142bのインデックス番号「1」に登録されているベースアドレスは削除されない。
(期間T15)
(L側符号化ビットストリーム110の復号処理)
復号されたBピクチャ(L−B2)がフレームメモリ170に格納され、ベースアドレスがフレームメモリマッピングリスト142aのインデックス番号「0」に登録される。また、当該Bピクチャ(L−B2)は、後続のピクチャの復号時に参照されないためDPBリスト141aにはシンタックス情報113は登録されない。
また、ビュー間参照用シンタックス情報リスト143のインデックス番号「1」にBピクチャ(L−B2)が登録される。また、ビュー間参照用フレームメモリマッピングリスト144のインデックス番号「1」にBピクチャ(L−B2)のベースアドレスが登録される。
(R側符号化ビットストリーム111の復号処理)
復号されたPピクチャ(R−P3)がフレームメモリ170に格納され、シンタックス情報113がDPBリスト141bのインデックス番号「0」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「4」に登録される。その際、DPBリスト141bのインデックス番号「0」に登録されていたIピクチャ(L−I)のシンタックス情報113、及びフレームメモリマッピングリスト142bのインデックス番号「0」に登録されていたIピクチャ(L−I)のベースアドレスが削除される。
(L側符号化ビットストリーム110の画像表示)
Bピクチャ(L−B1)が画像表示され、且つビュー間参照用としてもBピクチャ(L−B1)が使用されていないため、フレームメモリマッピングリスト142aのインデックス番号「3」から登録されていたベースアドレスが削除される。
(R側符号化ビットストリーム111の画像表示)
Bピクチャ(R−B1)が画像表示され、且つビュー間参照用としてもBピクチャ(R−B1)が使用されていないため、フレームメモリマッピングリスト142bのインデックス番号「3」から登録されていたベースアドレスが削除される。
(期間T16)
(L側符号化ビットストリーム110の復号処理)
復号されたPピクチャ(L−P4)がフレームメモリ170に格納され、シンタックス情報113がDPBリスト141bのインデックス番号「1」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「3」に登録される。その際、DPBリスト141aのインデックス番号「1」に登録されていたPピクチャ(L−P1)のシンタックス情報113、及びフレームメモリマッピングリスト142aのインデックス番号「1」に登録されていたIピクチャ(L−P1)のベースアドレスが削除される。また、ビュー間参照用シンタックス情報リスト143のインデックス番号「0」にPピクチャ(L−P4)が登録される。また、ビュー間参照用フレームメモリマッピングリスト144のインデックス番号「0」にPピクチャ(L−P3)のベースアドレスが登録される。
(R側符号化ビットストリーム111の復号処理)
復号されたBピクチャ(R−B2)がフレームメモリ170に格納され、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「3」に登録される。また、当該Bピクチャ(R−B2)は後続のピクチャの復号時に参照されないためDPBリスト141bにはシンタックス情報113は登録されない。
(L側符号化ビットストリーム110の画像表示)
Pピクチャ(L−P2)は画像表示されるが、後続のピクチャの復号時に参照ピクチャと成りうるためDPBリスト141aのインデックス番号「2」に登録されているシンタックス情報113は削除されない。同様に、フレームメモリマッピングリスト142aのインデックス番号「2」に登録されているベースアドレスは削除されない。
(R側符号化ビットストリーム111の画像表示)
Pピクチャ(R−P2)は画像表示されるが、後続のピクチャの復号時に参照ピクチャと成りうるためDPBリスト141bのインデックス番号「2」に登録されているシンタックス情報は削除されない。同様に、フレームメモリマッピングリスト142bのインデックス番号「2」に登録されているベースアドレスは削除されない。
このように、本発明の実施の形態1に係る画像復号装置100は、第1制御部131と第2制御部132とを同時に起動するとともに、完了の待ち合わせを行うことにより、符号化ビットストリーム110及び111の復号処理の同期をとることができる。
なお、本発明の実施の形態1に係る画像復号装置100は、H.264規格に限らずその他の規格に基づく符号化ビットストリームの復号にも適用可能である。
また、本実施の形態では、第1制御部131と第2制御部132とはピクチャ単位(フレーム単位)で待ち合わせを行うことで同期を取っているが、フィールド構造などの場合は2フィールドピクチャ単位での同期としてもよい。また、第1制御部131と第2制御部132とは、H.264規格で定義されているパラメータセット単位(ヘッダ復号処理単位)又はスライス単位などのNALユニット単位で同期をとってもよい。
また、本実施の形態で述べている第1制御部131及び第2制御部132は、実際はプロセッサを2個搭載してもよいし、論理的な2つのスレッドであってもよい。
また、本実施の形態ではL側符号化ビットストリーム110をベースビューとし、R側符号化ビットストリーム111をノンベースビューとしているが、R側符号化ビットストリーム111をベースビューとし、L側符号化ビットストリーム110をノンベースビューとしてもよい。
また、本実施の形態では2視点符号化ビットストリームについて述べているが3視点以上の符号化ビットストリームでも本発明の効果が得られることは言うまでもない。
また、本実施の形態では、DPBリスト141a及び141bと、フレームメモリマッピングリスト142a及び142bとを、R側符号化ビットストリーム111とL側符号化ビットストリーム110とで個別に管理していたが、DPBリスト141a及び141bと、フレームメモリマッピングリスト142a及び142bとのうちの少なくとも一方を1つのリストによって管理し、統一したインデックスを付与してもよい。
また、本実施の形態におけるDPBリスト141a及び141bに格納するシンタックス情報は一例であり、本実施の形態によって限定するものではない。
(実施の形態2)
図16は、本発明の実施の形態2に係る画像復号装置100Aの構成を示す図である。
以下、本発明の実施の形態2に係る画像復号装置100Aの構成について説明する。なお、図2と同様の要素には同様の符号を付しており、重複する説明は省略する。
具体的には、図16に示す画像復号装置100Aは、画像復号部220の構成が、図2に示す画像復号部120の構成と異なる。
画像復号部220は、選択部221と、復号部222とを備える。
選択部221は、符号化ビットストリーム110及び111のうち一方を選択し、選択した符号化ビットストリームを復号部222へ出力する。
復号部222は、選択部221により出力された符号化ビットストリームを復号する。なお、復号部222の内部構成は、実施の形態1で説明した第1復号部121及び第2復号部122と同じ構成である。
本実施の形態の画像復号装置に入力される符号化ビットストリーム110及び111は、H.264−MVCを用いて符号化されている。また、H.264−MVC符号化の特徴及び本実施の形態の画像復号装置の構成との関連についての説明はすでに実施の形態1で述べられている通りである。
上記のようにH.264規格及びH.264−MVC規格に対応づけられ、構成された本発明の実施の形態2の画像復号装置100Aについて、その動作を説明する。
本実施の形態では1ストリームにつき参照に必要なピクチャ枚数は3枚とする。また、前述のように復号中の画像の格納用に1枚必要である。
さらに、画像表示は同一アクセスユニットに属するL側のピクチャとR側のピクチャが復号完了したあとに図17のようなタイミングで表示されるものとする。具体的には、期間T21において、L側のピクチャL1の復号処理が行われる。次に、期間T22において、R側のピクチャR1の復号処理が行われる。次に、期間T23において、L側のピクチャL1の復号処理が行われる。また、期間T24において、ピクチャL1及びピクチャR1が表示される。なお、ピクチャL1及びピクチャR1は同一のアクセスユニットに含まれるピクチャである。
このように、表示中に次のピクチャの復号処理を開始させるため、格納領域を表示用に1枚設ける。
したがって、フレームメモリ170は、合計10枚(L側5枚、R側5枚)のピクチャが格納できる領域を備えているものとする。
本実施の形態において、復号部222が符号化ビットストリーム110と符号化ビットストリーム111との復号処理を交互に行うため、ビュー間参照用シンタックス情報リスト143及びビュー間参照用フレームメモリマッピングリスト144には1ピクチャ分の領域を確保する。
また、入力される符号化ビットストリーム110及び111の構成も実施の形態1と同様である。
まず、本実施の形態の画像復号装置100Aは、L側符号化ビットストリーム110から復号処理を開始する。また、第1制御部131及び第2制御部132は次のように交互に動作することで符号化ビットストリーム110及び111の復号処理の同期をとる。
まず、L側のピクチャの復号処理について説明する。
第1制御部131は、以下の処理ステップで、復号部222を制御し、L側符号化ビットストリーム110のピクチャ復号処理を行う。なお、第1制御部131による処理手順は、図12に示す処理と同様なので、図12を用いて説明を行う。
まず、第1制御部131は、フラグ格納部180に格納されている第1完了フラグをクリアする(S101)。
次に、第1制御部131は、復号対象ピクチャの復号結果を格納するフレームメモリ170のベースアドレスをフレームメモリ管理部150から取得する(S102)。
次に、第1制御部131は、L側のDPBリスト141aを管理情報格納部140から取得する(S103)。
次に、第1制御部131は、フレームメモリマッピングリスト142aを取得する。また、第1制御部131は、取得したDPBリスト141a及びフレームメモリマッピングリスト142aを参照して、ビュー内参照用の参照ピクチャのベースアドレスを取得する(S104)。
次に、第1制御部131は、上記ステップS102〜S104で得られた復号対象ピクチャ及び参照ピクチャのベースアドレス、及びDPBリスト141aを第1復号部121に設定する。また、第1制御部131は、L側符号化ビットストリーム110を選択するように選択部221を設定する。また、第1制御部131は、復号部222を起動する(S105)。
次に、復号部222は、ステップS105で設定された参照ピクチャのベースアドレスから参照ピクチャを取得し、取得した参照ピクチャを用いて符号化ビットストリーム110を復号することにより復号ピクチャを生成する。また、復号部222は、生成した復号ピクチャを、ステップS105で設定された復号対象ピクチャのベースアドレスに格納する。また、復号部222は、第1制御部131に当該復号対象ピクチャの復号処理が完了したことを通知する(S106)。
次に、第1制御部131は、ステップS106で復号処理が完了したピクチャのシンタックス情報113を復号部222から取得する(S107)。
次に、第1制御部131は、ステップS105で復号処理が完了したピクチャが、後続のピクチャの復号時に参照ピクチャとして用いられる場合は、ステップS107で取得したシンタックス情報113を用いて、管理情報格納部140内のDPBリスト141aを更新する(S108)。
次に、第1制御部131は、ステップS108におけるDPBリスト141aの更新により、DPBリスト141aから外れたピクチャが存在する場合、DPBリスト141aの該当ピクチャのインデックス201をフレームメモリ管理部150に通知する。フレームメモリ管理部150は、第1制御部131からインデックス201が通知された場合、フレームメモリマッピングリスト142aを更新する(S109)。
次に、第1制御部131は、ステップS107で得られたシンタックス情報113をビュー間参照用のシンタックス情報としてビュー間参照用シンタックス情報リスト143に格納する(S110)。
次に、第1制御部131は、ステップS102で得られたベースアドレスをビュー間参照用フレームメモリマッピングリスト144に格納する(S111)。
次に、第1制御部131は、L側の復号処理を一旦、停止するとともに、フラグ格納部180に第1完了フラグをセットする(S112)。
次に、R側のピクチャの復号処理について説明する。
上記ステップS101〜S112で、一連のL側符号化ビットストリーム110の復号処理が完了した後、第2制御部132は、以下の処理ステップで、復号部222を制御し、R側符号化ビットストリーム111の復号処理を行う。
なお、第2制御部132による処理手順は、図13に示す処理と同様なので、図13を用いて説明を行う。
まず、第2制御部132は、フラグ格納部180に格納されている第2完了フラグをクリアする(S201)。
次に、第2制御部132は、R側符号化ビットストリーム111の復号処理において参照できるL側の復号ピクチャのシンタックス情報113を、管理情報格納部140内のビュー間参照用シンタックス情報リスト143から取得し、ビュー間参照ピクチャを特定する(S202)。
次に、第2制御部132は、R側符号化ビットストリーム111の復号処理において参照できるL側の復号ピクチャのベースアドレスを、管理情報格納部140内のビュー間参照用フレームメモリマッピングリスト144から取得する(S203)。
次に、第2制御部132は、復号対象ピクチャ(R側ピクチャ)の復号結果を格納するフレームメモリ170のベースアドレスをフレームメモリ管理部150から取得する(S204)。
次に、第2制御部132は、R側のDPBリスト141bを管理情報格納部140から取得する(S205)。
次に、第2制御部132は、フレームメモリマッピングリスト142bを取得する。また、第2制御部132は、取得したDPBリスト141b及びフレームメモリマッピングリスト142bを参照して、ビュー内参照用の参照ピクチャのベースアドレスを取得する(S206)。
次に、第2制御部132は、ステップS203、S204、S205及びS206で得られた復号対象ピクチャ、ビュー内参照用の参照ピクチャ及びビュー間参照用の参照ピクチャのベースアドレスと、復号対象ピクチャのDPBリスト141bとを復号部222に設定する。また、第2制御部132は、R側符号化ビットストリーム111を選択するように選択部221を設定する。また、第2制御部132は、復号部222を起動する(S207)。
次に、復号部222は、ステップS207で設定されたビュー内参照用又はビュー間参照用のベースアドレスから参照ピクチャを取得し、取得した参照ピクチャを用いて符号化ビットストリーム111を復号することにより復号ピクチャを生成する。また、復号部222は、生成した復号ピクチャを、ステップS207で設定された復号対象ピクチャのベースアドレスに格納する。また、復号部222は、第2制御部132に当該ピクチャの復号処理が完了したことを通知する(S208)。
次に、第2制御部132は、ステップS208で復号が完了したピクチャのシンタックス情報113を復号部222から取得する(S209)。
次に、第2制御部132は、ステップS208で復号が完了したピクチャが、後続のピクチャの復号時に参照ピクチャとして用いられる場合は、DPBリスト141bを更新する(S210)。
次に、第2制御部132は、ステップS210におけるDPBリスト141bの更新により、DPBリストから外れたピクチャが存在する場合、DPBリスト141bの該当ピクチャのインデックス201をフレームメモリ管理部150に通知する。フレームメモリ管理部150は、第2制御部132からインデックス201が通知された場合、フレームメモリマッピングリスト142bを更新する(S211)。
次に、第2制御部132は、R側の復号処理を一旦、停止するとともに、フラグ格納部180に第2完了フラグをセットする(S212)。
以上のように、第1制御部131と第2制御部132とを交互に動作させることで、図18のように符号化ビットストリーム110及び111の復号処理の同期をとることができる。
例えば、図18に示す時刻t11において、L側の復号処理が開始される。つまり、上述した図12に示す処理が行われる。また、時刻t12においてL側の復号処理が終了し、次に、R側の復号処理が開始される。つまり、上述した図13に示す処理が行われる。また、時刻t13においてR側の復号処理が終了し、次に、L側の復号処理が開始される。
このように、制御部130は、選択部221に符号化ビットストリーム110及び111のうちの一方の信号を選択させる。また、制御部130は、当該一方の信号の予め定められた復号処理単位の復号処理が完了した後、選択部221に符号化ビットストリーム110及び111のうちの他方の信号を選択させる。
具体的には、第1制御部131は、フラグ格納部180に第2完了フラグが格納されている場合、次の復号処理単位の符号化ビットストリーム110の復号処理を復号部222に開始させる。
また、第2制御部132は、フラグ格納部180に第1完了フラグが格納されている場合、次の復号処理単位の符号化ビットストリーム111の復号処理を復号部222に開始させる。
次に、DPBリスト141a及び141bと、フレームメモリマッピングリスト142a及び142bと、ビュー間参照用シンタックス情報リスト143と、ビュー間参照用フレームメモリマッピングリスト144との1ピクチャ時間ごとの関係について、図19を用いて説明する。
(期間T30)
(L側符号化ビットストリーム110の復号処理)
復号されたIピクチャ(L−I)がフレームメモリ170に格納され、シンタックス情報113がDPBリスト141aのインデックス番号「0」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142aのインデックス番号「0」に登録される。
また、ビュー間参照用シンタックス情報リスト143のインデックス番号「0」にIピクチャ(L−I)のシンタックス情報113が登録される。また、ビュー間参照用フレームメモリマッピングリスト144のインデックス番号「0」にPピクチャ(L−I)のベースアドレスが登録される。
(期間T31)
(R側符号化ビットストリーム111の復号処理)
復号されたIピクチャ(R−I)がフレームメモリに格納され、シンタックス情報113がDPBリスト141bのインデックス番号「0」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「0」に登録される。
(期間T32)
(L側符号化ビットストリーム110の復号処理)
復号されたPピクチャ(L−P1)がフレームメモリに格納され、シンタックス情報113がDPBリスト141aのインデックス番号「1」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142aのインデックス番号「1」に登録される。
また、ビュー間参照用シンタックス情報リスト143のインデックス番号「0」にPピクチャ(L−P1)のシンタックス情報113が登録される。また、ビュー間参照用フレームメモリマッピングリスト144のインデックス番号「0」にPピクチャ(L−P1)のベースアドレスが登録される。
(期間T33)
(R側符号化ビットストリーム111の復号処理)
復号されたPピクチャ(R−P1)がフレームメモリに格納され、シンタックス情報113がDPBリスト141bのインデックス番号「1」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「1」に登録される。
(期間T34)
(L側符号化ビットストリーム110の復号処理)
復号されたPピクチャ(L−P2)がフレームメモリに格納され、シンタックス情報113がDPBリスト141aのインデックス番号「2」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142aのインデックス番号「2」に登録される。
また、ビュー間参照用シンタックス情報リスト143のインデックス番号「0」にPピクチャ(L−P2)のシンタックス情報113が登録される。また、ビュー間参照用フレームメモリマッピングリスト144のインデックス番号「0」にPピクチャ(L−P2)のベースアドレスが登録される。
(L側符号化ビットストリーム110の画像表示)
Iピクチャ(L−I)は復号処理後に画像表示されるが、後続のピクチャの復号時に参照ピクチャと成りうるためDPBリスト141aのインデックス番号「0」に登録されているシンタックス情報113は削除されない。同様に、フレームメモリマッピングリスト142aのインデックス番号「0」に登録されているベースアドレスは削除されない。
(R側符号化ビットストリーム111の画像表示)
Iピクチャ(R−I)は復号処理後に画像表示されるが、後続のピクチャの復号時に参照ピクチャと成りうるためDPBリスト141bのインデックス番号「0」に登録されているシンタックス情報113は削除されない。同様に、フレームメモリマッピングリスト142bのインデックス番号「0」に登録されているベースアドレスは削除されない。
(期間T35)
(R側符号化ビットストリーム111の復号処理)
復号されたPピクチャ(R−P2)がフレームメモリに格納され、シンタックス情報113がDPBリスト141bのインデックス番号「2」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「2」に登録される。
(期間T36)
(L側符号化ビットストリーム110の復号処理)
復号されたBピクチャ(L−B1)がフレームメモリに格納され、ベースアドレスがフレームメモリマッピングリスト142aのインデックス番号「3」に登録されるが、後続のピクチャの復号時に参照されないためDPBリスト141aにはシンタックス情報113は登録されない。
(L側符号化ビットストリーム110の画像表示)
Iピクチャ(L−P1)は復号処理後に画像表示されるが、後続のピクチャの復号時に参照ピクチャと成りうるためDPBリスト141aのインデックス番号「1」に登録されているシンタックス情報113は削除されない。同様に、フレームメモリマッピングリスト142aのインデックス番号「1」に登録されているベースアドレスは削除されない。
(R側符号化ビットストリーム111の画像表示)
Iピクチャ(R−P1)は復号処理後に画像表示されるが、後続のピクチャの復号時に参照ピクチャと成りうるためDPBリスト141bのインデックス番号「1」に登録されているシンタックス情報113は削除されない。同様に、フレームメモリマッピングリスト142bのインデックス番号「1」に登録されているベースアドレスは削除されない。
(期間T37)
(R側符号化ビットストリーム111の復号処理)
復号されたBピクチャ(R−B1)がフレームメモリに格納され、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「3」に登録されるが、後続のピクチャの復号時に参照されないためDPBリスト141bにはシンタックス情報113は登録されない。
(期間T38)
(L側符号化ビットストリーム110の復号処理)
復号されたPピクチャ(L−P3)がフレームメモリに格納され、シンタックス情報113がDPBリスト141bのインデックス番号「0」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「4」に登録される。その際、DPBリスト141aのインデックス番号「0」に登録されていたIピクチャ(L−I)のシンタックス情報113、及びフレームメモリマッピングリスト142aのインデックス番号「0」に登録されていたIピクチャ(L−I)のベースアドレスが削除される。また、ビュー間参照用シンタックス情報リスト143のインデックス番号「0」にPピクチャ(L−P3)のシンタックス情報113が登録される。また、ビュー間参照用フレームメモリマッピングリスト144のインデックス番号「0」にPピクチャ(L−P3)のベースアドレスが登録される。
(L側符号化ビットストリーム111の画像表示)
Bピクチャ(L−B1)が画像表示され、且つビュー間参照用としてもBピクチャ(L−B1)が使用されていないため、フレームメモリマッピングリスト142aのインデックス番号「3」から登録されていたベースアドレスが削除される。
(R側符号化ビットストリーム111の画像表示)
Bピクチャ(R−B1)が画像表示され、且つビュー間参照用としてもBピクチャ(R−B1)が使用されていないため、フレームメモリマッピングリスト142aのインデックス番号「3」から登録されていたベースアドレスが削除される。
(期間T39)
(R側符号化ビットストリーム111の復号処理)
復号されたPピクチャ(R−P3)がフレームメモリに格納され、シンタックス情報113がDPBリスト141bのインデックス番号「0」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「4」に登録される。その際、DPBリスト141bのインデックス番号「0」に登録されていたIピクチャ(L−I)のシンタックス情報、及びフレームメモリマッピングリスト142bのインデックス番号「0」に登録されていたIピクチャ(L−I)のベースアドレスが削除される。
このように、本発明の実施の形態2に係る画像復号装置100Aは、第1制御部131と第2制御部132とを交互に動作させることで、符号化ビットストリーム110及び111の復号処理の同期をとることができる。
また、本発明の実施の形態2に係る画像復号装置100Aは、R側符号化ビットストリーム111の復号処理の際に共通でアクセスできるビュー間参照用シンタックス情報リスト143を介してL側符号化ビットストリーム110の参照ピクチャのシンタックス管理情報を知ることができる。これにより、画像復号装置100Aは、視点間予測を用いて符号化された符号化ビットストリームの復号が可能になる。
なお、本発明の実施の形態2に係る画像復号装置100Aは、H.264規格に限らずその他の規格に基づく符号化ビットストリームの復号にも適用可能である。
また、本実施の形態では、第1制御部131と第2制御部132とはピクチャ単位(フレーム単位)で待ち合わせを行うことで同期を取っているが、フィールド構造などの場合は2フィールドピクチャ単位での同期としてもよい。また、第1制御部131と第2制御部132とは、H.264規格で定義されているパラメータセット単位(ヘッダ復号処理単位)又はスライス単位などのNALユニット単位で同期をとってもよい。
また、本実施の形態で述べている第1制御部131及び第2制御部132は、実際はプロセッサを2個搭載してもよいし、論理的な2つのスレッドであってもよい。
また、本実施の形態ではL側符号化ビットストリーム110をベースビューとし、R側符号化ビットストリーム111をノンベースビューとしているが、R側符号化ビットストリーム111をベースビューとし、L側符号化ビットストリーム110をノンベースビューとしてもよい。
また、本実施の形態では2視点符号化ビットストリームについて述べているが3視点以上の符号化ビットストリームでも本発明の効果が得られることは言うまでもない。
また、本実施の形態では、DPBリスト141a及び141bと、フレームメモリマッピングリスト142a及び142bとを、R側符号化ビットストリーム111とL側符号化ビットストリーム110とで個別に管理していたが、DPBリスト141a及び141bと、フレームメモリマッピングリスト142a及び142bとのうちの少なくとも一方を1つのリストによって管理し、統一したインデックスを付与してもよい。
また、本実施の形態におけるDPBリスト141a及び141bに格納するシンタックス情報は一例であり、本実施の形態によって限定するものではない。
(実施の形態3)
図20は、本発明の実施の形態3に係る画像復号装置100Bの構成を示す図である。
以下、本発明の実施の形態3に係る画像復号装置100Bの構成について説明する。なお、図16と同様の要素には同様の符号を付しており、重複する説明は省略する。
具体的には、図20に示す画像復号装置100Bは、管理情報格納部240の構成が、図16に示す管理情報格納部140の構成と異なる。さらに具体的には、管理情報格納部240は、図16に示すフレームメモリマッピングリスト142a及び142bの代わりにフレームメモリマッピングリスト142cを格納する。
本実施の形態ではこのフレームメモリマッピングリスト142cを用いてフレームメモリ170の状態を管理する。
図21は、フレームメモリマッピングリスト142cの構成を示す図である。例えば、フレームメモリマッピングリスト142cは、図21に示すようなテーブル形式である。なお、図7と同様の要素には同様の符号を付している。
図21に示すように、フレームメモリマッピングリスト142aは、復号ピクチャごとに対応付けられた複数のエントリを含む。各エントリは、フレームメモリアドレス203と、DPBリストインデックス204a及び204bと、ビュー間参照用シンタックス情報インデックス205と、画像表示ステータス206と、状態情報207とを含む。
DPBリストインデックス204aは、当該復号ピクチャに対応するDPBリスト141aのインデックス201を示す。
DPBリストインデックス204bは、当該復号ピクチャに対応するDPBリスト141bのインデックス201を示す。
図21に示す例では、フレームメモリアドレス203が「0」及び「3」のエントリは、L側復号処理の復号ピクチャバッファ(DPB)として使用されており、DPBリスト141aに付与されている該当インデックス201が割り当てられている。また、フレームメモリアドレス203が「1」及び「4」のエントリは、R側復号処理の復号ピクチャバッファ(DPB)として使用されており、DPBリスト141bに付与されている該当インデックス201が割り当てられている。また、フレームメモリアドレス203が「5」のエントリは、ビュー間参照用ピクチャとして使用されており、ビュー間参照用シンタックス情報リスト143に付与されている該当インデックス201が割り当てられている。また、フレームメモリアドレス203が「6」のエントリは、テンポラリバッファとして用いられている(画像表示されていないピクチャが格納されている)ため使用することができない。よって、この例では復号ピクチャバッファ(DPB)として使用されておらず、かつテンポラリバッファとしても使用されていないフレームメモリアドレス203が「1」及び「6」のエントリが未使用であると特定できる。
本実施の形態の画像復号装置100Bに入力される符号化ビットストリーム110及び111は、H.264−MVCを用いて符号化されている。また、H.264−MVC符号化の特徴及び本実施の形態の画像復号装置の構成との関連についての説明はすでに実施の形態1で述べられている通りである。
上記のようにH.264規格及びH.264−MVC規格に対応づけられ、構成された本発明の実施の形態3の画像復号装置100Bについて、その動作を説明する。
本実施の形態では、実施の形態2と同様に、1ストリームにつき参照に必要なピクチャ枚数は3枚とする。また、前述のように復号中のピクチャの格納用に1枚必要とする。さらに、画像表示は同一アクセスユニットに属するL側のピクチャとR側のピクチャが復号完了したあとに図17のようなタイミングで表示されるものとする。よって、表示中に次のピクチャの復号処理を開始させるため、格納領域を表示用に1枚設ける。ただし、この格納領域を、L側符号化ビットストリームとR側符号化ビットストリームとで共通に管理することで、上記実施の形態2に比べ、格納領域を1枚分削減できる。よって、フレームメモリ170は、合計9枚のピクチャが格納できる領域を備えているものとする。
まず、本実施の形態の画像復号装置100Bは、L側符号化ビットストリーム110から復号処理を開始する。また、第1制御部131と第2制御部132とは実施の形態2と同様に交互に動作することで符号化ビットストリーム110及び111の復号処理の同期をとる。
以下、DPBリスト141a及び141bと、フレームメモリマッピングリスト142cと、ビュー間参照用シンタックス情報リスト143と、ビュー間参照用フレームメモリマッピングリスト144との1ピクチャ時間ごとの関係について、図22を用いて説明する。
(期間T40)
(L側符号化ビットストリーム110の復号処理)
復号されたIピクチャ(L−I)がフレームメモリ170に格納され、シンタックス情報113がDPBリスト141aのインデックス番号「0」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142aのインデックス番号「0」に登録される。
また、ビュー間参照用シンタックス情報リスト143のインデックス番号「0」にIピクチャ(L−I)のシンタックス情報113が登録される。また、ビュー間参照用フレームメモリマッピングリスト144のインデックス番号「0」にPピクチャ(L−I)のベースアドレスが登録される。
(期間T41)
(R側符号化ビットストリーム111の復号処理)
復号されたIピクチャ(R−I)がフレームメモリに格納され、シンタックス情報113がDPBリスト141bインデックス番号「0」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「1」に登録される。
(期間T42)
(L側符号化ビットストリーム110の復号処理)
復号されたPピクチャ(L−P1)がフレームメモリに格納され、シンタックス情報113がDPBリスト141aのインデックス番号「1」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142aのインデックス番号「2」に登録される。
また、ビュー間参照用シンタックス情報リスト143のインデックス番号「0」にPピクチャ(L−P1)のシンタックス情報113が登録される。また、ビュー間参照用フレームメモリマッピングリスト144のインデックス番号「0」にPピクチャ(L−P1)のベースアドレスが登録される。
(期間T43)
(R側符号化ビットストリーム111の復号処理)
復号されたPピクチャ(R−P1)がフレームメモリに格納され、シンタックス情報113がDPBリスト141bのインデックス番号「1」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「3」に登録される。
(期間T44)
(L側符号化ビットストリーム110の復号処理)
復号されたPピクチャ(L−P2)がフレームメモリに格納され、シンタックス情報113がDPBリスト141aのインデックス番号「2」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142aのインデックス番号「4」に登録される。
また、ビュー間参照用シンタックス情報リスト143のインデックス番号「0」にPピクチャ(L−P2)のシンタックス情報113が登録される。また、ビュー間参照用フレームメモリマッピングリスト144のインデックス番号「0」にPピクチャ(L−P2)のベースアドレスが登録される。
(L側符号化ビットストリーム110の画像表示)
Iピクチャ(L−I)は復号処理後に画像表示されるが、後続のピクチャの復号時に参照ピクチャと成りうるためDPBリスト141aのインデックス番号「0」に登録されているシンタックス情報113は削除されない。同様に、フレームメモリマッピングリスト142aのインデックス番号「0」に登録されているベースアドレスは削除されない。
(R側符号化ビットストリーム111の画像表示)
Iピクチャ(R−I)は復号処理後に画像表示されるが、後続のピクチャの復号時に参照ピクチャと成りうるためDPBリスト141bのインデックス番号「0」に登録されているシンタックス情報113は削除されない。同様に、フレームメモリマッピングリスト142bのインデックス番号「1」に登録されているベースアドレスは削除されない。
(期間T45)
(R側符号化ビットストリーム111の復号処理)
復号されたPピクチャ(R−P2)がフレームメモリに格納され、シンタックス情報113がDPBリスト141bのインデックス番号「2」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「5」に登録される。
(期間T46)
(L側符号化ビットストリーム110の復号処理)
復号されたBピクチャ(L−B1)がフレームメモリに格納され、ベースアドレスがフレームメモリマッピングリスト142aのインデックス番号「6」に登録されるが、後続のピクチャの復号時に参照されないためDPBリスト141aにはシンタックス情報113は登録されない。
(L側符号化ビットストリーム110の画像表示)
Iピクチャ(L−P1)は復号処理後に画像表示されるが、後続のピクチャの復号時に参照ピクチャと成りうるためDPBリスト141aのインデックス番号「1」に登録されているシンタックス情報113は削除されない。同様に、フレームメモリマッピングリスト142aのインデックス番号「2」に登録されているベースアドレスは削除されない。
(R側符号化ビットストリーム111の画像表示)
Iピクチャ(R−P1)は復号処理後に画像表示されるが、後続のピクチャの復号時に参照ピクチャと成りうるためDPBリスト141bのインデックス番号「1」に登録されているシンタックス情報113は削除されない。同様に、フレームメモリマッピングリスト142bのインデックス番号「3」に登録されているベースアドレスは削除されない。
(期間T47)
(R側符号化ビットストリーム111の復号処理)
復号されたBピクチャ(R−B1)がフレームメモリに格納され、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「7」に登録されるが、後続のピクチャの復号時に参照されないためDPBリスト141bにはシンタックス情報113は登録されない。
(期間T48)
(L側符号化ビットストリーム110の復号処理)
復号されたPピクチャ(L−P3)がフレームメモリに格納され、シンタックス情報113がDPBリスト141bのインデックス番号「0」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「8」に登録される。その際、DPBリスト141aのインデックス番号「0」に登録されていたIピクチャ(L−I)のシンタックス情報、及びフレームメモリマッピングリスト142aのインデックス番号「0」に登録されていたIピクチャ(L−I)のベースアドレスが削除される。また、ビュー間参照用シンタックス情報リスト143のインデックス番号「0」にPピクチャ(L−P3)のシンタックス情報113が登録される。また、ビュー間参照用フレームメモリマッピングリスト144のインデックス番号「0」にPピクチャ(L−P3)のベースアドレスが登録される。
(L側符号化ビットストリーム111の画像表示)
Bピクチャ(L−B1)が画像表示され、且つビュー間参照用としてもBピクチャ(L−B1)が使用されていないため、フレームメモリマッピングリスト142aのインデックス番号「6」から登録されていたベースアドレスが削除される。
(R側符号化ビットストリーム111の画像表示)
Bピクチャ(R−B1)が画像表示され、且つビュー間参照用としてもBピクチャ(R−B1)が使用されていないため、フレームメモリマッピングリスト142aのインデックス番号「7」から登録されていたベースアドレスが削除される。
(期間T49)
(R側符号化ビットストリーム111の復号処理)
復号されたPピクチャ(R−P3)がフレームメモリに格納され、シンタックス情報113がDPBリスト141bのインデックス番号「0」に登録される。また、ベースアドレスがフレームメモリマッピングリスト142bのインデックス番号「0」に登録される。その際、DPBリスト141bのインデックス番号「0」に登録されていたIピクチャ(L−I)のシンタックス情報、及びフレームメモリマッピングリスト142bのインデックス番号「1」に登録されていたIピクチャ(L−I)のベースアドレスが削除される。
このように、本発明の実施の形態3に係る画像復号装置100Bは、第1制御部131と第2制御部132とを交互に動作させることで、符号化ビットストリーム110及び111の復号処理の同期をとることができる。
また、本発明の実施の形態3に係る画像復号装置100Bは、R側符号化ビットストリーム111の復号処理の際に共通でアクセスできるビュー間参照用シンタックス情報リスト143を介してL側符号化ビットストリーム110の参照ピクチャのシンタックス管理情報を知ることができる。これにより、画像復号装置100Bは、視点間予測を用いて符号化された符号化ビットストリームの復号が可能になる。
さらに、画像復号装置100Bは、フレームメモリマッピングリスト142cをL側符号化ビットストリーム110とR側符号化ビットストリーム111で共通に管理することでフレームメモリ170の容量を削減することができる。よって、画像復号装置100Bは、コストを下げることができる。
なお、本発明の実施の形態3に係る画像復号装置100Bは、H.264規格に限らずその他の規格に基づく符号化ビットストリームの復号にも適用可能である。
また、本実施の形態では、第1制御部131と第2制御部132とはピクチャ単位(フレーム単位)で待ち合わせを行うことで同期を取っているが、フィールド構造などの場合は2フィールドピクチャ単位での同期としてもよい。また、第1制御部131と第2制御部132とは、H.264規格で定義されているパラメータセット単位(ヘッダ復号処理単位)又はスライス単位などのNALユニット単位で同期をとってもよい。
また、本実施の形態で述べている第1制御部131及び第2制御部132は、実際はプロセッサを2個搭載してもよいし、論理的な2つのスレッドであってもよい。
また、本実施の形態ではL側符号化ビットストリーム110をベースビューとし、R側符号化ビットストリーム111をノンベースビューとしているが、R側符号化ビットストリーム111をベースビューとし、L側符号化ビットストリーム110をノンベースビューとしてもよい。
また、本実施の形態では2視点符号化ビットストリームについて述べているが3視点以上の符号化ビットストリームでも本発明の効果が得られることは言うまでもない。
また、本実施の形態では、DPBリスト141a及び141bを、R側符号化ビットストリーム111とL側符号化ビットストリーム110とで個別に管理していたが、1つのリストによって管理し統一したインデックスを付与してもよい。
また、本実施の形態におけるDPBリスト141a及び141bに格納するシンタックス情報は一例であり、本実施の形態によって限定するものではない。
(実施の形態4)
図23は、本発明の実施の形態4に係る画像復号装置100Cの構成を示すブロック図である。なお、図2と同様の要素には同様の符号を付しており、重複する説明は省略する。
図23に示す画像復号装置100Cは、図2に示す画像復号装置100の構成に加え、さらに、ストリーム結合部190を備える。また、画像復号装置100Cは、画像復号部120の代わりに画像復号部320を備える。
ストリーム結合部190は、符号化ビットストリーム110及び符号化ビットストリーム111を1つの符号化ビットストリーム310に結合する。具体的には、ストリーム結合部190は、符号化ビットストリーム110と符号化ビットストリーム111とを予め定められた符号化単位ごとに交互に配置することにより1つの符号化ビットストリーム310を生成する。
画像復号部320は、復号部321を備える。復号部321は、符号化ビットストリーム310に含まれる符号化ビットストリーム110及び符号化ビットストリーム111を上記符号化単位ごとに交互に復号する。なお、復号部321の構成は、図2に示す第1復号部121及び第2復号部122の構成と同様である。
本実施の形態の画像復号装置100Cに入力される符号化ビットストリーム110及び111は、H.264−MVCを用いて符号化されている。また、H.264−MVC符号化の特徴及び本実施の形態の画像復号装置の構成との関連についての説明はすでに実施の形態1で述べられている通りである。
ここで、H.264−MVCのストリームの構造について補足する。
H.264規格において、符号化された情報をNALユニットと呼ばれるレイヤに分離することが定義されている。それぞれのNALユニットにはスタートコードと呼ばれる識別可能な符号が付与されている。また、スタートコードに後続するNALヘッダによってNALユニットの種類を判別することができるようになっている。NALユニットの種類とは、例えば、シーケンスパラメータセット、ピクチャパラメータセット、及びスライスなどがある。
H.264−MVCにおいては、NALヘッダを解析することで前述のシーケンスパラメータセット、ピクチャパラメータセット、及びスライスなどが属するビュー(ベースビュー又はノンベースビュー)を判別できるようになっている。
ストリーム結合部190は、符号化ビットストリーム110及び111のストリーム解析を行い、符号化ビットストリーム110及び111を所定の単位で符号化ビットストリームの状態で交互に出力することで符号化ビットストリーム310を生成する。本実施の形態では、ストリーム結合部190は、L側符号化ビットストリーム110を先頭に、1ピクチャ単位で符号化ビットストリーム110及び111を交互に出力することでピクチャインターリーブされた符号化ビットストリーム310を生成する。言い換えると、ストリーム結合部190は、同一アクセスユニットに含まれる1ピクチャ単位の符号化ビットストリーム110と符号化ビットストリーム111とのうち、1ピクチャ単位の符号化ビットストリーム110を配置した後に、1ピクチャ単位の符号化ビットストリーム111を配置することにより符号化ビットストリーム310を生成する。
以下、上記のようにH.264規格及びH.264−MVC規格に対応づけられ、構成された本発明の実施の形態4の画像復号装置100Cについて、その動作を説明する。
本実施の形態の画像復号装置100Cでは、第1制御部131と第2制御部132とは次のように動作することで符号化ビットストリーム310の復号処理の同期をとる。
まず、L側のピクチャの復号処理について説明する。
第1制御部131は、以下の処理ステップで、画像復号部320を制御し、符号化ビットストリーム310に結合されたL側符号化ビットストリーム110のピクチャ復号処理を行う。
なお、第1制御部131による処理手順は、図12に示す処理と同様なので、図12を用いて説明を行う。
まず、第1制御部131は、フラグ格納部180に格納されている第1完了フラグをクリアする(S101)。
次に、第1制御部131は、復号対象ピクチャの復号結果を格納するフレームメモリ170のベースアドレスをフレームメモリ管理部150から取得する(S102)。
次に、第1制御部131は、L側のDPBリスト141aを管理情報格納部140から取得する(S103)。
次に、第1制御部131は、フレームメモリマッピングリスト142aを取得する。また、第1制御部131は、取得したDPBリスト141a及びフレームメモリマッピングリスト142aを参照して、ビュー内参照用の参照ピクチャのベースアドレスを取得する(S104)。
次に、第1制御部131は、上記ステップS102〜S104で得られた復号対象ピクチャ及び参照ピクチャのベースアドレス、及びDPBリスト141aを設定し、復号部321を起動する(S105)。なお、ストリームは1本に結合されているため、実施の形態2のような復号対象ストリームの設定は不要となる。
次に、復号部321は、ステップS105で設定された参照ピクチャのベースアドレスから参照ピクチャを取得し、取得した参照ピクチャを用いて符号化ビットストリーム110を復号することにより復号ピクチャを生成する。また、復号部321は、生成した復号ピクチャを、ステップS105で設定された復号対象ピクチャのベースアドレスに格納する。また、復号部321は、第1制御部131に当該復号対象ピクチャの復号処理が完了したことを通知する(S106)。
次に、第1制御部131は、ステップS106で復号処理が完了したピクチャのシンタックス情報113を復号部321から取得する(S107)。
次に、第1制御部131は、ステップS105で復号処理が完了したピクチャが、後続のピクチャの復号時に参照ピクチャとして用いられる場合は、ステップS107で取得したシンタックス情報113を用いて、管理情報格納部140内のDPBリスト141aを更新する(S108)。
次に、第1制御部131は、ステップS108におけるDPBリスト141aの更新により、DPBリスト141aから外れたピクチャが存在する場合、DPBリスト141aの該当ピクチャのインデックス201をフレームメモリ管理部150に通知する。フレームメモリ管理部150は、第1制御部131からインデックス201が通知された場合、フレームメモリマッピングリスト142aを更新する(S109)。
次に、第1制御部131は、ステップS107で得られたシンタックス情報113をビュー間参照用のシンタックス情報としてビュー間参照用シンタックス情報リスト143に格納する(S110)。
次に、第1制御部131は、ステップS102で得られたベースアドレスをビュー間参照用フレームメモリマッピングリスト144に格納する(S111)。
次に、第1制御部131は、入力される符号化ビットストリームがR側符号化ビットストリームのデータであれば、L側の復号処理を一旦、停止するとともに、フラグ格納部180に第1完了フラグをセットする(S112)。
次に、R側のピクチャの復号処理について説明する。
上記ステップS101〜S112の後、第2制御部132は、以下の処理ステップで、画像復号部320を制御し、符号化ビットストリーム310に結合されたR側符号化ビットストリーム111の復号処理を行う。
なお、第2制御部132による処理手順は、図13に示す処理と同様なので、図13を用いて説明を行う。
まず、第2制御部132は、フラグ格納部180に格納されている第2完了フラグをクリアする(S201)。
次に、第2制御部132は、R側符号化ビットストリーム111の復号処理において参照できるL側の復号ピクチャのシンタックス情報113を、管理情報格納部140内のビュー間参照用シンタックス情報リスト143から取得し、ビュー間参照ピクチャを特定する(S202)。
次に、第2制御部132は、R側符号化ビットストリーム111の復号処理において参照できるL側の復号ピクチャのベースアドレスを、管理情報格納部140内のビュー間参照用フレームメモリマッピングリスト144から取得する(S203)。
次に、第2制御部132は、復号対象ピクチャ(R側ピクチャ)の復号結果を格納するフレームメモリ170のベースアドレスをフレームメモリ管理部150から取得する(S204)。
次に、第2制御部132は、R側のDPBリスト141bを管理情報格納部140から取得する(S205)。
次に、第2制御部132は、フレームメモリマッピングリスト142bを取得する。また、第2制御部132は、取得したDPBリスト141b及びフレームメモリマッピングリスト142bを参照して、ビュー内参照用の参照ピクチャのベースアドレスを取得する(S206)。
次に、第2制御部132は、ステップS203、S204、S205及びS206で得られた復号対象ピクチャ、ビュー内参照用の参照ピクチャ及びビュー間参照用の参照ピクチャのベースアドレスと、復号対象ピクチャのDPBリスト141bとを復号部321に設定し、復号部321を起動する(S207)。なお、ストリームは1本に結合されているため、実施の形態2のような復号対象ストリームの設定は不要となる。
次に、復号部321は、ステップS207で設定されたビュー内参照用又はビュー間参照用のベースアドレスから参照ピクチャを取得し、取得した参照ピクチャを用いて符号化ビットストリーム111を復号することにより復号ピクチャを生成する。また、復号部321は、生成した復号ピクチャを、ステップS207で設定された復号対象ピクチャのベースアドレスに格納する。また、復号部321は、第2制御部132に当該ピクチャの復号処理が完了したことを通知する(S208)。
次に、第2制御部132は、ステップS208で復号が完了したピクチャのシンタックス情報113を復号部321から取得する(S209)。
次に、第2制御部132は、ステップS208で復号が完了したピクチャが、後続のピクチャの復号時に参照ピクチャにとして用いられる場合は、DPBリスト141bを更新する(S210)。
次に、第2制御部132は、ステップS210におけるDPBリスト141bの更新により、DPBリストから外れたピクチャが存在する場合、DPBリスト141bの該当ピクチャのインデックス201をフレームメモリ管理部150に通知する。フレームメモリ管理部150は、第2制御部132からインデックス201が通知された場合、フレームメモリマッピングリスト142bを更新する(S211)。
次に、第2制御部132は、入力される符号化ビットストリームがL側符号化ビットストリームのデータであれば、R側の復号処理を一旦、停止するとともに、フラグ格納部180に第2完了フラグをセットする(S212)。
なお、DPBリスト141a及び141bと、フレームメモリマッピングリスト142a及び142bと、ビュー間参照用シンタックス情報リスト143と、ビュー間参照用フレームメモリマッピングリスト144との1ピクチャ時間ごとの関係については実施の形態2と同様である。
このように、本発明の実施の形態4に係る画像復号装置100Cは、符号化ビットストリーム110及び111を結合して1本の符号化ビットストリーム310とすることで復号処理の同期をとることができる。
また、本発明の実施の形態4に係る画像復号装置100Cは、R側符号化ビットストリーム111の復号処理の際に、共通でアクセスできるビュー間参照用シンタックス情報リスト143を介してL側符号化ビットストリーム110の参照ピクチャのシンタックス管理情報を知ることができる。これにより、画像復号装置100Cは、視点間予測を用いて符号化された符号化ビットストリームの復号が可能になる。
なお、本発明の実施の形態4に係る画像復号装置100Cは、H.264規格に限らずその他の規格に基づく符号化ビットストリームの復号にも適用可能である。
また、本実施の形態では、ストリーム結合部190は符号化ビットストリーム110と111とをピクチャ単位(フレーム単位)で交互に出力することにより符号化ビットストリーム310を生成しているが、フィールド構造などの場合は2フィールドピクチャ単位で交互に出力してもよい。また、ストリーム結合部190は、H.264規格で定義されているパラメータセット単位(ヘッダ復号処理単位)又はスライス単位などのNALユニット単位で符号化ビットストリーム110と111とを交互に出力してもよい。
また、本実施の形態で述べている第1制御部131及び第2制御部132は、実際はプロセッサを2個搭載してもよいし、論理的な2つのスレッドであってもよい。
また、本実施の形態ではL側符号化ビットストリーム110をベースビューとし、R側符号化ビットストリーム111をノンベースビューとしているが、R側符号化ビットストリーム111をベースビューとし、L側符号化ビットストリーム110をノンベースビューとしてもよい。
また、本実施の形態では2視点符号化ビットストリームについて述べているが3視点以上の符号化ビットストリームでも本発明の効果が得られることは言うまでもない。
また、本実施の形態では、DPBリスト141a及び141bと、フレームメモリマッピングリスト142a及び142bとを、R側符号化ビットストリーム111とL側符号化ビットストリーム110とで個別に管理していたが、DPBリスト141a及び141bと、フレームメモリマッピングリスト142a及び142bとのうちの少なくとも一方を1つのリストによって管理し、統一したインデックスを付与してもよい。
また、本実施の形態におけるDPBリスト141a及び141bに格納するシンタックス情報は一例であり、本実施の形態によって限定するものではない。
また、本実施の形態ではNALヘッダの解析によって、符号化ビットストリーム110のデータか111のデータかを判別しているが、例えば、復号部321が識別可能なスタートコードと異なるビット列をストリーム結合部190が符号化ビットストリーム310に挿入してもよい。
(実施の形態5)
図24は、本発明の実施の形態5に係る画像復号装置100Dの構成を示すブロック図である。なお、図23と同様の要素には同様の符号を付しており、重複する説明は省略する。
具体的には、図24に示す画像復号装置100Dは、管理情報格納部240の構成が、図23に示す管理情報格納部140の構成と異なる。さらに具体的には、管理情報格納部240は、図23に示すフレームメモリマッピングリスト142a及び142bの代わりにフレームメモリマッピングリスト142cを格納する。言い換えると、管理情報格納部240の構成は、図20に示す管理情報格納部240と同様である。
本実施の形態の画像復号装置100Dに入力される符号化ビットストリーム110及び111は、H.264−MVCを用いて符号化されている。また、H.264−MVC符号化の特徴及び本実施の形態の画像復号装置の構成との関連についての説明はすでに実施の形態1で述べられている通りである。
上記のようにH.264規格及びH.264−MVC規格に対応づけられ、構成された本発明の実施の形態5の画像復号装置100Dについて、その動作を説明する。
本実施の形態では、実施の形態3と同様に、フレームメモリは合計9枚のピクチャが格納できる領域を備えているものとする。
まず、本実施の形態5に係る画像復号装置100Dは、L側符号化ビットストリーム110から復号処理を開始する。また、第1制御部131と第2制御部132とは実施の形態4と同様に交互に動作することで符号化ビットストリーム110及び111の復号処理の同期をとる。
また、DPBリスト141a及び141bと、フレームメモリマッピングリスト142cと、ビュー間参照用シンタックス情報リスト143と、ビュー間参照用フレームメモリマッピングリスト144との1ピクチャ時間ごとの関係は図22と同様である。
このように、本発明の実施の形態5に係る画像復号装置100Dは、符号化ビットストリーム110及び111を結合して1本の符号化ビットストリーム310とすることで復号処理の同期をとることができる。
また、本発明の実施の形態5に係る画像復号装置100Dは、R側符号化ビットストリーム111の復号処理の際に、共通でアクセスできるビュー間参照用シンタックス情報リスト143を介してL側符号化ビットストリーム110の参照ピクチャのシンタックス管理情報を知ることができる。これにより、画像復号装置100Dは、視点間予測を用いて符号化された符号化ビットストリームの復号が可能になる。
さらに、本発明の実施の形態5に係る画像復号装置100Dは、フレームメモリマッピングリスト142cをL側符号化ビットストリーム110とR側符号化ビットストリーム111とで共通に管理することでフレームメモリ容量を削減することができ、コストを下げることができる。
なお、本発明の実施の形態5に係る画像復号装置100Dは、H.264規格に限らずその他の規格に基づく符号化ビットストリームの復号にも適用可能である。
また、本実施の形態では、ストリーム結合部190は符号化ビットストリーム110と111とをピクチャ単位(フレーム単位)で交互に出力することにより符号化ビットストリーム310を生成しているが、フィールド構造などの場合は2フィールドピクチャ単位で交互に出力してもよい。また、ストリーム結合部190は、H.264規格で定義されているパラメータセット単位(ヘッダ復号処理単位)又はスライス単位などのNALユニット単位で符号化ビットストリーム110と111とを交互に出力してもよい。
また、本実施の形態で述べている第1制御部131及び第2制御部132は、実際はプロセッサを2個搭載してもよいし、論理的な2つのスレッドであってもよい。
また、本実施の形態ではL側符号化ビットストリーム110をベースビューとし、R側符号化ビットストリーム111をノンベースビューとしているが、R側符号化ビットストリーム111をベースビューとし、L側符号化ビットストリーム110をノンベースビューとしてもよい。
また、本実施の形態では2視点符号化ビットストリームについて述べているが3視点以上の符号化ビットストリームでも本発明の効果が得られることは言うまでもない。
また、本実施の形態では、DPBリスト141a及び141bを、R側符号化ビットストリーム111とL側符号化ビットストリーム110とで個別に管理していたが、1つのリストによって管理し統一したインデックスを付与してもよい。
また、本実施の形態におけるDPBリスト141a及び141bに格納するシンタックス情報は一例であり、本実施の形態によって限定するものではない。
また、本実施の形態ではNALヘッダの解析によって、符号化ビットストリーム110のデータか111のデータかを判別しているが、例えば、復号部321が識別可能なスタートコードと異なるビット列をストリーム結合部190が符号化ビットストリーム310に挿入してもよい。
(実施の形態6)
図25は、本発明の実施の形態6に係る画像復号装置100Eの構成を示すブロック図である。なお、図23と同様の要素には同様の符号を付しており、重複する説明は省略する。
図25に示す画像復号装置100Eは、制御部230の構成が、図23に示す制御部130の構成と異なる。また、画像復号装置100Eは、フラグ格納部180を備えない点が図23に示す画像復号装置100Cと異なる。
制御部230は、第1制御部231を備える。
第1制御部231は、符号化ビットストリーム110及び符号化ビットストリーム111が結合された符号化ビットストリーム310の復号処理を制御する。
第1制御部231は、DPBリスト141a及びビュー間参照用シンタックス情報リスト143と、フレームメモリマッピングリスト142aと、ビュー間参照用フレームメモリマッピングリスト144とをもとに、符号化ビットストリーム310に結合された符号化ビットストリーム110の復号処理の制御を行う。また、第1制御部231は、DPBリスト141b及びビュー間参照用シンタックス情報リスト143と、フレームメモリマッピングリスト142bと、ビュー間参照用フレームメモリマッピングリスト144とをもとに、符号化ビットストリーム310に結合された符号化ビットストリーム111の復号処理の制御を行う。
図26は、第1制御部231の処理を示す図である。
図26のように、第1制御部231は、ベースビューであるL側符号化ビットストリーム110の参照ピクチャのシンタックス情報113をビュー間参照用シンタックス情報リスト143に格納する。また、第1制御部231は、ノンベースビューであるR側符号化ビットストリーム111の復号時には、ビュー間参照用シンタックス情報リスト143を取得する。
本実施の形態の画像復号装置100Eに入力される符号化ビットストリーム110及び111は、H.264−MVCを用いて符号化されている。また、H.264−MVC符号化の特徴及び本実施の形態の画像復号装置の構成との関連についての説明はすでに実施の形態1で述べられている通りである。
上記のようにH.264規格及びH.264−MVC規格に対応づけられ、構成された本発明の実施の形態6の画像復号装置100Eについて、その動作を説明する。
本実施の形態の画像復号装置100Eは、次のように動作することで符号化ビットストリーム310の復号処理を行う。
まず、L側のピクチャの復号処理について説明する。
第1制御部231は、以下の処理ステップで、復号部321を制御し、符号化ビットストリーム310に結合されたL側符号化ビットストリーム110のピクチャ復号処理を行う。
図27は、画像復号装置100EによるL側の復号処理のフローチャートである。
まず、第1制御部231は、復号対象ピクチャの復号結果を格納するフレームメモリ170のベースアドレスをフレームメモリ管理部150から取得する(S301)。
次に、第1制御部231は、L側のDPBリスト141aを管理情報格納部140から取得する(S302)。
次に、第1制御部231は、フレームメモリマッピングリスト142aを取得する。また、第1制御部231は、取得したDPBリスト141a及びフレームメモリマッピングリスト142aを参照して、ビュー内参照用の参照ピクチャのベースアドレスを取得する(S303)。
次に、第1制御部231は、上記ステップS301〜S303で得られた復号対象ピクチャ及び参照ピクチャのベースアドレス、及びDPBリスト141aを設定し、復号部321を起動する(S304)。
次に、復号部321は、ステップS304で設定された参照ピクチャのベースアドレスから参照ピクチャを取得し、取得した参照ピクチャを用いて符号化ビットストリーム110を復号することにより復号ピクチャを生成する。また、復号部321は、生成した復号ピクチャを、ステップS304で設定された復号対象ピクチャのベースアドレスに格納する。また、復号部321は、第1制御部231に当該復号対象ピクチャの復号処理が完了したことを通知する(S305)。
次に、第1制御部231は、ステップS305で復号処理が完了したピクチャのシンタックス情報113を復号部321から取得する(S306)。
次に、第1制御部231は、ステップS304で復号処理が完了したピクチャが、後続のピクチャの復号時に参照ピクチャとして用いられる場合は、ステップS306で取得したシンタックス情報113を用いて、管理情報格納部140内のDPBリスト141aを更新する(S307)。
次に、第1制御部231は、ステップS307におけるDPBリスト141aの更新により、DPBリスト141aから外れたピクチャが存在する場合、DPBリスト141aの該当ピクチャのインデックス201をフレームメモリ管理部150に通知する。フレームメモリ管理部150は、第1制御部231からインデックス201が通知された場合、フレームメモリマッピングリスト142aを更新する(S308)。
次に、第1制御部231は、ステップS306で得られたシンタックス情報113をビュー間参照用のシンタックス情報としてビュー間参照用シンタックス情報リスト143に格納する(S309)。
次に、第1制御部231は、ステップS301で得られたベースアドレスをビュー間参照用フレームメモリマッピングリスト144に格納する(S310)。
また、第1制御部231は、入力される符号化ビットストリームがR側符号化ビットストリームのデータであれば、次に、R側の復号処理を開始する。
次に、R側のピクチャの復号処理について説明する。
上記ステップS401〜S410の後、第1制御部231は、以下の処理ステップで、画像復号部320を制御し、符号化ビットストリーム310に結合されたR側符号化ビットストリーム111の復号処理を行う。
図28は、画像復号装置100EによるR側の復号処理のフローチャートである。
まず、第1制御部231は、R側符号化ビットストリーム111の復号処理において参照できるL側の復号ピクチャのシンタックス情報113を、管理情報格納部140内のビュー間参照用シンタックス情報リスト143から取得し、ビュー間参照ピクチャを特定する(S401)。
次に、第1制御部231は、R側符号化ビットストリーム111の復号処理において参照できるL側の復号ピクチャのベースアドレスを、管理情報格納部140内のビュー間参照用フレームメモリマッピングリスト144から取得する(S402)。
次に、第1制御部231は、復号対象ピクチャ(R側ピクチャ)の復号結果を格納するフレームメモリ170のベースアドレスをフレームメモリ管理部150から取得する(S403)。
次に、第1制御部231は、R側のDPBリスト141bを管理情報格納部140から取得する(S404)。
次に、第1制御部231は、フレームメモリマッピングリスト142bを取得する。また、第1制御部231は、取得したDPBリスト141b及びフレームメモリマッピングリスト142bを参照して、ビュー内参照用の参照ピクチャのベースアドレスを取得する(S405)。
次に、第1制御部231は、ステップS402、S403、S404及びS405で得られた復号対象ピクチャ、ビュー内参照用の参照ピクチャ及びビュー間参照用の参照ピクチャのベースアドレスと、復号対象ピクチャのDPBリスト141bとを復号部321に設定し、復号部321を起動する(S406)。
次に、復号部321は、ステップS406で設定されたビュー内参照用又はビュー間参照用のベースアドレスから参照ピクチャを取得し、取得した参照ピクチャを用いて符号化ビットストリーム111を復号することにより復号ピクチャを生成する。また、復号部321は、生成した復号ピクチャを、ステップS406で設定された復号対象ピクチャのベースアドレスに格納する。また、復号部321は、第1制御部231に当該ピクチャの復号処理が完了したことを通知する(S407)。
次に、第1制御部231は、ステップS407で復号が完了したピクチャのシンタックス情報113を復号部321から取得する(S408)。
次に、第1制御部231は、ステップS407で復号が完了したピクチャが、後続のピクチャの復号時に参照ピクチャとして用いられる場合は、DPBリスト141bを更新する(S409)。
次に、第1制御部231は、ステップS409におけるDPBリスト141bの更新により、DPBリストから外れたピクチャが存在する場合、DPBリスト141bの該当ピクチャのインデックス201をフレームメモリ管理部150に通知する。フレームメモリ管理部150は、第1制御部231からインデックス201が通知された場合、フレームメモリマッピングリスト142bを更新する(S410)。
また、第1制御部231は、入力される符号化ビットストリームがL側符号化ビットストリームのデータであれば、次に、L側の復号処理を開始する。
なお、DPBリスト141a及び141bと、フレームメモリマッピングリスト142a及び142bと、ビュー間参照用シンタックス情報リスト143と、ビュー間参照用フレームメモリマッピングリスト144との1ピクチャ時間ごとの関係については実施の形態2と同様である。
このように、本発明の実施の形態6に係る画像復号装置100Eは、符号化ビットストリーム110及び111を結合して1本の符号化ビットストリーム310とすることで復号処理の同期をとることができる。
また、本発明の実施の形態6に係る画像復号装置100Eは、1つの第1制御部231で符号化ビットストリーム110及び111の制御を行うことでビュー間参照用シンタックス情報リスト143を介してL側符号化ビットストリーム110の参照ピクチャのシンタックス管理情報を知ることができる。これにより、画像復号装置100Eは、視点間予測を用いて符号化された符号化ビットストリームの復号が可能になる。
なお、本発明の実施の形態6に係る画像復号装置100Eは、H.264規格に限らずその他の規格に基づく符号化ビットストリームの復号にも適用可能である。
また、本実施の形態では、ストリーム結合部190は符号化ビットストリーム110と111とをピクチャ単位(フレーム単位)で交互に出力することにより符号化ビットストリーム310を生成しているが、フィールド構造などの場合は2フィールドピクチャ単位で交互に出力してもよい。また、ストリーム結合部190は、H.264規格で定義されているパラメータセット単位(ヘッダ復号処理単位)又はスライス単位などのNALユニット単位で符号化ビットストリーム110と111とを交互に出力してもよい。
また、本実施の形態で述べている第1制御部231は、実際はプロセッサを1個搭載してもよいし、論理的な1つのスレッドであってもよい。
また、本実施の形態ではL側符号化ビットストリーム110をベースビューとし、R側符号化ビットストリーム111をノンベースビューとしているが、R側符号化ビットストリーム111をベースビューとし、L側符号化ビットストリーム110をノンベースビューとしてもよい。
また、本実施の形態では2視点符号化ビットストリームについて述べているが3視点以上の符号化ビットストリームでも本発明の効果が得られることは言うまでもない。
また、本実施の形態では、DPBリスト141a及び141bと、フレームメモリマッピングリスト142a及び142bとを、R側符号化ビットストリーム111とL側符号化ビットストリーム110とで個別に管理していたが、DPBリスト141a及び141bと、フレームメモリマッピングリスト142a及び142bとのうちの少なくとも一方を1つのリストによって管理し、統一したインデックスを付与してもよい。
また、本実施の形態におけるDPBリスト141a及び141bに格納するシンタックス情報は一例であり、本実施の形態によって限定するものではない。
また、本実施の形態ではNALヘッダの解析によって、符号化ビットストリーム110のデータか111のデータかを判別しているが、例えば、復号部321が識別可能なスタートコードと異なるビット列をストリーム結合部190が符号化ビットストリーム310に挿入してもよい。
(実施の形態7)
図29は、本発明の実施の形態7に係る画像復号装置100Fの構成を示すブロック図である。なお、図25と同様の要素には同様の符号を付しており、重複する説明は省略する。
具体的には、図29に示す画像復号装置100Fは、管理情報格納部240の構成が、図25に示す管理情報格納部140の構成と異なる。さらに具体的には、管理情報格納部240は、図25に示すフレームメモリマッピングリスト142a及び142bの代わりにフレームメモリマッピングリスト142cを格納する。言い換えると、管理情報格納部240の構成は、図20に示す管理情報格納部240と同様である。
本実施の形態の画像復号装置100Fに入力される符号化ビットストリーム110及び111は、H.264−MVCを用いて符号化されている。また、H.264−MVC符号化の特徴及び本実施の形態の画像復号装置の構成との関連についての説明はすでに実施の形態1で述べられている通りである。
上記のようにH.264規格及びH.264−MVC規格に対応づけられ、構成された本発明の実施の形態7の画像復号装置100Fについて、その動作を説明する。
本実施の形態では、実施の形態3と同様に、フレームメモリ170は合計9枚のピクチャが格納できる領域を備えているものとする。
まず、本実施の形態の画像復号装置100Fは、L側符号化ビットストリーム110から復号処理を開始する。第1制御部231は実施の形態6と同様に動作することで符号化ビットストリーム310の復号処理を行う。
なお、DPBリスト141a及び141bと、フレームメモリマッピングリスト142cと、ビュー間参照用シンタックス情報リスト143と、ビュー間参照用フレームメモリマッピングリスト144との1ピクチャ時間ごとの関係は図22と同様である。
このように、本発明の実施の形態7に係る画像復号装置100Fは、符号化ビットストリーム110及び111を結合して1本の符号化ビットストリーム310とすることで復号処理の同期をとることができる。
また、本発明の実施の形態7に係る画像復号装置100Fは、1つの第1制御部231で符号化ビットストリーム110及び111の制御を行うことでビュー間参照用シンタックス情報リスト143を介してL側符号化ビットストリームの参照ピクチャのシンタックス管理情報を知ることができる。これにより、画像復号装置100Fは、視点間予測を用いて符号化された符号化ビットストリームの復号が可能になる。
さらに、本発明の実施の形態7に係る画像復号装置100Fは、フレームメモリマッピングリスト142cをL側符号化ビットストリームとR側符号化ビットストリームで共通に管理することでフレームメモリ170の容量を削減することができる。よって、画像復号装置100Fは、コストを下げることができる。
なお、本発明の実施の形態7に係る画像復号装置100Fは、H.264規格に限らずその他の規格に基づく符号化ビットストリームの復号にも適用可能である。
また、本実施の形態では、ストリーム結合部190は符号化ビットストリーム110と111とをピクチャ単位(フレーム単位)で交互に出力することにより符号化ビットストリーム310を生成しているが、フィールド構造などの場合は2フィールドピクチャ単位で交互に出力してもよい。また、ストリーム結合部190は、H.264規格で定義されているパラメータセット単位(ヘッダ復号処理単位)又はスライス単位などのNALユニット単位で符号化ビットストリーム110と111とを交互に出力してもよい。
また、本実施の形態で述べている第1制御部231は、実際はプロセッサを1個搭載してもよいし、論理的な1つのスレッドであってもよい。
また、本実施の形態ではL側符号化ビットストリーム110をベースビューとし、R側符号化ビットストリーム111をノンベースビューとしているが、R側符号化ビットストリーム111をベースビューとし、L側符号化ビットストリーム110をノンベースビューとしてもよい。
また、本実施の形態では2視点符号化ビットストリームについて述べているが3視点以上の符号化ビットストリームでも本発明の効果が得られることは言うまでもない。
また、本実施の形態では、DPBリスト141a及び141bを、R側符号化ビットストリーム111とL側符号化ビットストリーム110とで個別に管理していたが、1つのリストによって管理し統一したインデックスを付与してもよい。
また、本実施の形態におけるDPBリスト141a及び141bに格納するシンタックス情報は一例であり、本実施の形態によって限定するものではない。
また、本実施の形態ではNALヘッダの解析によって、符号化ビットストリーム110のデータか111のデータかを判別しているが、例えば、復号部321が識別可能なスタートコードと異なるビット列をストリーム結合部190が符号化ビットストリーム310に挿入してもよい。
また、上記実施の形態1〜7に係る画像復号装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又はすべてを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
また、本発明の実施の形態1〜7に係る、画像復号装置の機能の一部又は全てを、CPU等のプロセッサがプログラムを実行することにより実現してもよい。
さらに、本発明は上記プログラムであってもよいし、上記プログラムが記録された記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
また、上記実施の形態1〜7に係る、画像復号装置、及びその変形例の機能のうち少なくとも一部を組み合わせてもよい。
また、上記で用いた数字は、すべて本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。また、構成要素間の接続関係は、本発明を具体的に説明するために例示するものであり、本発明の機能を実現する接続関係はこれに限定されない。
また、上記画像復号装置の構成は、本発明を具体的に説明するために例示するためのものであり、本発明に係る画像復号装置は、上記構成の全てを必ずしも備える必要はない。言い換えると、本発明に係る画像復号装置は、本発明の効果を実現できる最小限の構成のみを備えればよい。
同様に、上記の画像復号装置による画像復号方法は、本発明を具体的に説明するために例示するためのものであり、本発明に係る画像復号方法は、上記ステップの全てを必ずしも含む必要はない。言い換えると、本発明に係る画像復号方法は、本発明の効果を実現できる最小限のステップのみを含めばよい。また、上記のステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
更に、本発明の主旨を逸脱しない限り、本実施の形態に対して当業者が思いつく範囲内の変更を施した各種変形例も本発明に含まれる。