(本発明の基礎となった知見)
非特許文献1では、復号対象ブロックがBスライス等に含まれる場合に、復号対象ブロックは、復号対象ピクチャ(復号対象ブロックが含まれるピクチャ)とは異なる2つのピクチャを参照ピクチャとして用いてインター予測復号される。
図1は、復号対象ブロックのインター予測復号において参照される2つのピクチャを説明するための図である。図1に記載の「300」から「304」は、ピクチャ番号(PicNum)を示す。図1では、ピクチャ番号が「300」から「304」である複数のピクチャは、表示順(PicOrderCnt)の値の昇準で並べられている。
復号対象ブロック(Curr_Blk)は、ピクチャ番号「302」の復号対象ピクチャ(CurrPic)に含まれる。この例では、復号対象ブロックは、表示順で前方に存在するピクチャ番号「301」のピクチャと、表示順で後方に存在するピクチャ番号「304」のピクチャとを参照ピクチャとして用いてインター予測復号される。
以下において、矢印の始点は、復号に利用する(参照する)ピクチャ(復号対象ピクチャ)の位置を示す。また、矢印の終点は、復号に利用される(参照される)ピクチャ(参照ピクチャ)の位置を示す。
図2Aおよび図2Bは、参照ピクチャリストを示す図である。具体的には、図2Aは、1つ目の参照ピクチャを特定するための参照ピクチャリストL0(RefPicList0)を示す。また図2Bは、2つ目の参照ピクチャを特定するための参照ピクチャリストL1(RefPicList1)を示す。
各参照ピクチャリストは、復号対象ブロックのインター予測に用いる参照ピクチャを、ピクチャ番号ではなく、ピクチャ番号よりも値が小さいインデクス値で特定するためのリストである。つまり、復号対象ブロックが、どのピクチャを参照ピクチャとして用いてインター予測復号すればよいかは、この参照ピクチャリスト中のインデクスの値で与えられる。
各参照ピクチャリストは、復号対象ブロックが含まれるBスライスの復号時に初期化(生成)される。初期化では、参照ピクチャリストL0と参照ピクチャリストL1とにおいて、小さい値を有するインデクスに対応するピクチャ番号が異なるようにピクチャ番号が並べられる。
図2Aおよび図2Bでは、各参照ピクチャリストは、復号対象ピクチャのピクチャ番号「302」より小さいピクチャ番号を含む第1部分と、ピクチャ番号「302」より大きいピクチャ番号を含む第2部分とに分けられる。そして、参照ピクチャリストL0では、第1部分および第2部分は、第1部分および第2部分の順番で並べられる。また、参照ピクチャリストL1では、第1部分および第2部分は、第2部分および第1部分の順番で並べられる。
また、第1部分内では、ピクチャ番号は降順に並べられる(「301」、「300」、・・・)。また、第2部分内では、ピクチャ番号は昇順に並べられる(「303」、「304」、・・・)。
例えば、符号列を解析することによりインデクスの値「0」が得られた場合、復号対象ピクチャのインター予測復号に用いられる参照ピクチャとして、以下の2つのピクチャが決定される。1つ目の参照ピクチャは、参照ピクチャリストL0においてインデクスの値「0」で特定されるピクチャ番号「301」のピクチャである。また、2つ目の参照ピクチャは、参照ピクチャリストL1においてインデクスの値「0」で特定されるピクチャ番号「303」のピクチャである。
また、図1の例では、1つ目のインデクス(refIdxL0)の値として、参照ピクチャリスト0においてピクチャ番号「301」を特定するための「0」が与えられる。また、2つ目のインデクス(refIdxL1)の値として、参照ピクチャリスト1においてピクチャ番号「304」を特定するための「1」が与えられる。
図3は、インデクスの値とピクチャ番号との対応関係を説明するための図である。図3では、インデクスの値(refIdxL0の値とrefIdxL1の値)が増加するほど、対応するピクチャ番号のピクチャは、復号対象ピクチャ(picNum=302)からより遠ざかる。
特に、参照ピクチャリスト1においては、小さい値のインデクスに、復号対象ピクチャより後(greater than PicOrderCnt(CurrPic))のピクチャ(復号済みのピクチャであり、かつメモリに保持されているピクチャ)のピクチャ番号が降順で設定されている。以下では、この設定ルールをRule1と呼ぶ。このRule1に従うと、参照ピクチャリストL1においてインデクスの値「0」で特定されるピクチャは、図3では、ピクチャ番号303のピクチャとなる(RefPicList1[0]=303)。
さらに、参照ピクチャリストを用いて特定される参照ピクチャ内のどのブロック位置を参照するのかを示す動きベクトル(mvL0、mvL1)の符号化方法および復号方法について様々な検討がされている。1つ目の方法は、符号列からの情報を用いずに、符号化済(復号済)データから動きベクトルを直接導出する方法(H.264ダイレクトモード)である。2つ目の方法は、予測動きベクトルを導出し、符号列から差分動きベクトルを取得し、予測動きベクトルと差分動きベクトルとを用いて動きベクトルを導出する方法(H.264予測動きベクトル導出を経由するモード)である(非特許文献1の式(8−174)および式(8−175)等を参照)。
[(1)H.264ダイレクトモード]
H.264では、ダイレクトモードと呼ばれる、予測画像を生成するための動きベクトルの導出モードが存在する(非特許文献1の8.4.1.2.1節、3.45節等)。H.264のダイレクトモードは、時間ダイレクトモードと空間ダイレクトモードとの2つのモードを含む。
時間ダイレクトモード(temporal mode)では、復号対象ブロックと(時間的に異なるピクチャに含まれるが)空間的に同じ位置のブロックであるco_locatedブロック(Col_Blk)の動きベクトル(mvCol)を所定の比でスケールリングした結果が利用される。
空間ダイレクトモード(special direct mode)では、復号対象ブロックと(時間的には同じ表示時刻のピクチャに含まれるが)空間的に異なる位置のブロックの動きベクトルに関する情報(以下、動き情報(motion data)と呼ぶ)が利用される。
図4は、時間ダイレクトモードにおいて利用される情報を説明するための図である。
時間ダイレクトモードでは、まず、Col_Blkの動き情報が取得される。Col_Blkは、参照ピクチャリストL1においてインデクスの値「0」により特定されるピクチャに含まれる、復号対象ブロックと同じ位置のブロックである。図4に示すように、前述のRule1に基づいて初期化された参照ピクチャリストL1では、インデクス値「0」により特定されるピクチャは、ピクチャメモリ中に時間的に後方のピクチャが存在しないなどの特別な場合を除き、復号対象ピクチャに最も表示時間的に近い後方のピクチャとなる。
次に、時間ダイレクトモードでは、Curr_Blkの動きベクトルが、Col_Blkの動き情報を用いて導出される。動き情報には以下が含まれる。
(i)Col_Blkのインター予測に用いられた参照ピクチャ(refIdxL0[refidx])
図4では、Col_Blkの参照ピクチャとしてピクチャ番号301のピクチャが用いられている(RefPicList0[1]=301)。
(ii)Col_Blkのインター予測に用いられた動きベクトル(mvL0Col)
図4では、ピクチャ番号301のピクチャ中の破線矢印が、Col_Blkのインター予測に用いられる1つ目の動きベクトル(mvL0Col)を示す。
図5Aおよび図5Bは、時間ダイレクトモードにおけるスケーリング処理を説明するための図である。スケーリング処理は、mvL0Colの値を、参照ピクチャまでの距離の比を用いてスケーリングすることにより、Curr_BlkのmvL0とmvL1とを導出する処理である。
具体的には、図5Aは、復号対象ブロックおよびco−locatedブロックの参照構造と、co−locatedブロックの動きベクトルとを簡略化して説明するための図である。また、図5Bは、スケーリング処理の概念を説明するための図である。
スケーリング処理は、簡単には、図5Bに示す三角形DEFと三角形ABCとの相似を観念すればよい。
三角形DEFは、Col_Blkについての三角形である。点Dは、Col_Blkの位置を示す。点Eは、参照ピクチャにおいてCol_Blkに対応する位置を示す。また、点Eは、mvL0Colの始点の位置も示す。
点Fは、mvL0Colの終点の位置を示す。
三角形ABCは、Curr_Blkについての三角形である。点Aは、Curr_Blkの位置を示す。点Bは、参照ピクチャにおいてCurr_Blkに対応する位置を示す。また、点Bは、mvL0の始点の位置を示す。点Cは、mvL0の終点の位置を示す。
スケーリング処理では、まず、STEP1で、Curr_Blkを含むピクチャから参照ピクチャまでの相対距離(tb)に対する、Col_Blkを含むピクチャから参照ピクチャまでの相対距離(tx)の比をScaleFactorとして導出する。例えばこの図5Bでは、tb(=302−301=1)に対するtx(=303−301=2)の比(tb/tx=1/2=0.5)がScaleFactorとして導出される。このScaleFactorは、三角形ABCと三角形DEFと相似比(1/2)と一致する。
次に、STEP2で、mvL0Colと、導出されたScaleFactorとを乗算することにより、mvL0を導出する。
最後に、STEP3で、STEP2で導出されたmvL0とmvL0Colの逆ベクトルとを加算することにより、mvL1を導出する。
図6は、非特許文献1に記載されたスケーリング処理の式を示す図である。図6に示す式は、非特許文献1の8.4.1.2.3節「Derivation process for temporal direct luma motion vector and reference index prediction mode」に記載されている。
図7は、空間ダイレクトモードを説明するための図である。
この空間ダイレクトモードでは、復号対象ブロック(Curr_Blk)に隣接するブロック(隣接ブロックA〜D)から前述の動き情報(動きベクトルおよび参照インデクス)を取得する。
取得された動き情報のうち、参照インデクス(refIdxLXN)の値として最も小さい「0」を含む自然数(minPositive値)をもつブロックの動き情報(refIdxL0およびrefIdxL1とそれに対応するmvL0およびmvL1)がそのまま用いられる(非特許文献1の式(8−186)および(8−187))。具体的には、以下の計算によりrefIdxL0とrefIdxL1とがそれぞれ導出される。
refIdxL0 = MinPositive(refIdxL0A,MinPositive(refIdxL0B,refIdxL0C)) (8-186)
refIdxL1 = MinPositive(refIdxL1A,MinPositive(refIdxL1B,refIdxL1C)) (8-187)
この空間ダイレクトモードでは、動きベクトルmvL0またはmvL1は、そのまま利用される。つまり、復号対象ブロックと隣接ブロックとは同じピクチャに含まれるので、動きベクトルのスケーリング処理は不要である。
[(2)H.264動き予測ベクトル導出を経由するモード]
図8は、H.264における、動き(検出結果)ベクトル(mvLX)と動き予測ベクトル(mvpLX)と動き差分ベクトル(mvdLX)との関係を説明するための図である。
図8において、mvLxは、インター予測に用いられる動き(検出結果)ベクトル(v)を示す。また、mvpLXは、動きベクトルの復号に用いられる動き予測ベクトル(p)を示す。また、mvdLXは、動きベクトル(v)と動き予測ベクトル(p)との差分ベクトルである動き差分ベクトル(d)を示す。復号時には、mvLXは、水平成分および垂直成分の各々について、mvpLXとmvdLXとを用いて導出される。
水平成分:mvLX[0]=mvpLX[0]+mvdLX[0]
垂直成分:mvLX[1]=mvpLX[1]+mvdLX[1]
一方、符号化時には、符号化効率の観点から最適なmvLX(mvLX[0],mvLX[1])が探索され、探索結果に従ってmvdLXの水平成分[0]および垂直成分[1]の各々が符号化される。
水平成分:mvdLX[0]=mvLX[0]−mvpLX[0]
垂直成分:mvdLX[1]=mvLX[1]−mvpLX[0]
また、非特許文献2には、co−locatedブロックから導出された動きベクトルを動き予測ベクトルとして用いて、動きベクトルを符号化する方法が開示されている。
このようにco−locatedブロックから導出された動きベクトルを動画像の符号化に用いる場合に、co−locatedブロックが適切に設定されなければ、符号化効率が低下する場合がある。
そこで、本発明の一態様に係る動画像符号化方法は、動きベクトルを含む少なくとも1つのエントリを有するリストを用いて、動画像を符号化する動画像符号化方法であって、(a)符号化対象ピクチャとは異なるピクチャに含まれるブロックであって前記符号化対象ピクチャに含まれる符号化対象ブロックの位置に対応する位置のブロックであるco−locatedブロックを含むピクチャと、(b)前記符号化対象ピクチャとが同一のビューに属するか否かを判定する判定ステップと、前記co−locatedブロックを含むピクチャと前記符号化対象ピクチャとが異なるビューに属する場合に、前記co−locatedブロックの位置を補正する補正ステップと、前記co−locatedブロックから導出される動きベクトルを含むエントリを前記リストに追加する追加ステップとを含み、前記補正ステップは、前記co−locatedブロックを含むピクチャが属するビューと、前記符号化対象ピクチャが属するビューとの間の視差ベクトルを取得する視差ベクトル取得ステップと、取得された前記視差ベクトルの分、前記co−locatedブロックの位置を補正する位置補正ステップとを含む。
これによれば、co−locatedブロックを含むピクチャが属するビューが、符号化対象ピクチャが属するビューと異なる場合には、2つのビュー間における視差ベクトルを用いて、co−locatedブロックの位置を補正することができる。そして、位置が補正されたco−locatedブロックの動きベクトルを含むエントリをリストに追加することができる。したがって、符号化対象ブロックを符号化する際に、より適切な位置のブロックをco−locatedブロックとして用いることができ、符号化効率を向上させることができる。
例えば、前記補正ステップでは、前記co−locatedブロックを含むピクチャと前記符号化対象ピクチャとが異なるビューに属する場合であって、前記co−locatedブロックを含むピクチャが参照ピクチャリストの1番目のエントリによって特定されるピクチャである場合に、前記co−locatedブロックの位置を補正してもよい。
これによれば、co−locatedブロックを含むピクチャが参照ピクチャリストの1番目のエントリによって特定されるピクチャである場合に、co−locatedブロックの位置を補正することができる。
例えば、前記動画像符号化方法は、さらに、前記リストが有する少なくとも1つのエントリのうちの1つに含まれる動きベクトルを動き予測ベクトルとして用いて、前記符号化対象ブロックの動きベクトルを符号化する符号化ステップを含んでもよい。
これによれば、リストが有する少なくとも1つのエントリのうちの1つに含まれる動きベクトルを動き予測ベクトルとして用いて、符号化対象ブロックの動きベクトルを符号化することができる。したがって、動きベクトルの符号化効率を向上させることが可能となる。
例えば、前記動画像符号化方法は、さらに、前記リストが有する少なくとも1つのエントリのうちの1つに含まれる動きベクトルを用いて、前記符号化対象ブロックの予測画像を生成する予測ステップを含んでもよい。
これによれば、リストが有する少なくとも1つのエントリのうちの1つに含まれる動きベクトルを用いて、符号化対象ブロックの予測画像を生成することができる。したがって、予測画像の予測精度を向上させることができ、符号化効率を向上させることが可能となる。
例えば、前記動画像符号化方法は、さらに、第1規格に準拠する第1符号化処理、または第2規格に準拠する第2符号化処理に、符号化処理を切り替える切り替えステップと、切り替えられた前記符号化処理が準拠する前記第1規格または前記第2規格を示す識別情報をビットストリームに付加する付加ステップとを含み、前記符号化処理が前記第1符号化処理に切り替えられた場合に、前記第1符号化処理として、前記判定ステップと、前記補正ステップと、前記追加ステップとが行われてもよい。
これによれば、第1規格に準拠する第1符号化処理と第2規格に準拠する第2符号化処理とを切り替えることが可能となる。
また、本発明の一態様に係る動画像復号方法は、動きベクトルを含む少なくとも1つのエントリを有するリストを用いて、符号化された動画像を復号する動画像復号方法であって、(a)復号対象ピクチャとは異なるピクチャに含まれるブロックであって前記復号対象ピクチャに含まれる復号対象ブロックの位置に対応する位置のブロックであるco−locatedブロックを含むピクチャと、(b)前記復号対象ピクチャとが同一のビューに属するか否かを判定する判定ステップと、前記co−locatedブロックを含むピクチャと前記復号対象ピクチャとが異なるビューに属する場合に、前記co−locatedブロックの位置を補正する補正ステップと、前記co−locatedブロックから導出される動きベクトルを含むエントリを前記リストに追加する追加ステップとを含み、前記補正ステップは、前記co−locatedブロックを含むピクチャが属するビューと、前記復号対象ピクチャが属するビューとの間の視差ベクトルを取得する視差ベクトル取得ステップと、取得された前記視差ベクトルの分、前記co−locatedブロックの位置を補正する位置補正ステップとを含む。
これによれば、co−locatedブロックを含むピクチャが属するビューが、復号対象ピクチャが属するビューと異なる場合には、2つのビュー間における視差ベクトルを用いて、co−locatedブロックの位置を補正することができる。そして、位置が補正されたco−locatedブロックの動きベクトルを含むエントリをリストに追加することができる。したがって、復号対象ブロックを復号する際に、より適切な位置のブロックをco−locatedブロックとして用いることができ、符号化効率を向上させることができる。
例えば、前記補正ステップでは、前記co−locatedブロックを含むピクチャと前記復号対象ピクチャとが異なるビューに属する場合であって、前記co−locatedブロックを含むピクチャが参照ピクチャリストの1番目のエントリによって特定されるピクチャである場合に、前記co−locatedブロックの位置を補正してもよい。
これによれば、co−locatedブロックを含むピクチャが参照ピクチャリストの1番目のエントリによって特定されるピクチャである場合に、co−locatedブロックの位置を補正することができる。
例えば、前記動画像復号方法は、さらに、前記リストが有する少なくとも1つのエントリのうちの1つに含まれる動きベクトルを動き予測ベクトルとして用いて、前記復号対象ブロックの動きベクトルを復元する復元ステップを含んでもよい。
これによれば、リストが有する少なくとも1つのエントリのうちの1つに含まれる動きベクトルを動き予測ベクトルとして用いて、復号対象ブロックの動きベクトルを復元することができる。したがって、動きベクトルの符号化効率を向上させることが可能となる。
例えば、前記動画像復号方法は、さらに、前記リストが有する少なくとも1つのエントリのうちの1つに含まれる動きベクトルを用いて、前記復号対象ブロックの予測画像を生成する予測ステップを含んでもよい。
これによれば、リストが有する少なくとも1つのエントリのうちの1つに含まれる動きベクトルを用いて、復号対象ブロックの予測画像を生成することができる。したがって、予測画像の予測精度を向上させることができ、符号化効率を向上させることが可能となる。
例えば、前記動画像復号方法は、さらに、ビットストリームに付加された第1規格または第2規格を示す識別情報に応じて、前記第1規格に準拠する第1復号処理、または前記第2規格に準拠する第2復号処理に、復号処理を切り替える切り替えステップを含み、前記復号処理が第1復号処理に切り替えられた場合に、前記第1復号処理として、前記判定ステップと、前記補正ステップと、前記追加ステップとが行われてもよい。
これによれば、第1規格に準拠する第1復号処理と第2規格に準拠する第2復号処理とを切り替えることが可能となる。
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
図9Aは、実施の形態1における動画像符号化装置100の構成を示すブロック図である。ここでは、動画像符号化装置100は、動きベクトルを含む少なくとも1つのエントリを有する動き予測ベクトル候補リストを用いて、マルチビュー動画像を符号化する。
動画像符号化装置100は、図9Aに示す通り、主に、減算部111、変換部112、量子化部113、エントロピー符号化部114、逆量子化部115、逆変換部116、加算部117、メモリ118、イントラ・インター予測部101を含む。また、動画像符号化装置100は、これらを制御する符号化制御部102を備える。
動画像符号化装置100は、動画像系列として1以上の動画像系列の、動画像を順にあるいは並列に入力し、これら1以上の動画像系列を1つの符号化済みビットストリームとして出力する。
減算部111は、動画像系列[s]の所定の時刻の入力画像信号(部分画像信号)と予測画像信号(導出された部分予測画像信号)との差分である残差信号を出力する。
変換部112および量子化部113は、残差信号を処理(周波数変換および量子化)して量子化済残差信号を出力する。
エントロピー符号化部114は、量子化済残差信号および復号制御信号をエントロピー符号化し、符号化済ビットストリームを出力する。
逆量子化部115および逆変換部116は、量子化済残差信号を処理(逆量子化および逆周波数変換)し、復元済残差信号を出力する。
加算部117は、復元済残差信号と予測画像信号とを加算し、復号画像信号を出力する。
イントラ・インター予測部101は、復号画像信号を所定の単位(例えばフレームあるいはブロック等)でメモリ118に蓄積する。さらに、イントラ・インター予測部101は、符号化制御部102の指示に従って、予測画像信号(例えば、復号画像信号と動きベクトルとに基づいて導出された画素値)を生成し、減算部111および加算部117に出力する。
符号化制御部102は、ピクチャをどのような制御パラメータで符号化するか(このパラメータは、復号制御信号に対応することになる)を試行し、試行結果に従って制御パラメータを決定する。そして、符号化制御部102は、決定された制御パラメータを図9Aに示す各処理部(特に、イントラ・インター予測部101)に対し与える。制御パラメータを決定するための試行は、例えば、図9Aの点線で示す符号化済ビットストリーム(FeedBack)のビット長を短くすることを目的とするCost関数等を用いて行われる。符号化制御部102は、例えば、ある画像データの符号化のための制御パラメータ(例えば、インター予測およびイントラ予測の区別)を決定し、復号に必要な情報(復号制御信号)を抽出してエントロピー符号化部114に出力する。復号制御信号は、例えば、slice毎に、予測タイプ(pred_type)、動き予測ベクトル候補指定インデクス(mvp_idx_lX)、および動き差分ベクトル(mvdLX)等を含む。
本実施の形態では、符号化制御部102は、入力された動画像信号の系列[s](sは1以上)の特性に対応する系列特性情報の入力を受信する。
図9Bは、実施の形態1における符号化制御部102の構成を示すブロック図である。図9Bに示すように、符号化制御部102は、判定部121と、補正部122と、追加部125とを備える。
判定部121は、co−locatedブロックを含むピクチャと、(b)符号化対象ピクチャとが同一のビューに属するか否かを判定する。co−locatedブロックは、符号化対象ピクチャとは異なるピクチャに含まれるブロックであって、符号化対象ブロックの位置に対応する位置のブロックである。なお、符号化対象ブロックの位置に対応する位置とは、符号化対象ピクチャとは異なるピクチャ内の、符号化対象ブロックの位置と同一の位置だけではなく、符号化対象ブロックの位置の近傍の位置を含む。
補正部122は、co−locatedブロックを含むピクチャと符号化対象ピクチャとが異なるビューに属する場合に、co−locatedブロックの位置を補正する。つまり、補正部122は、co−locatedブロックのピクチャ内の位置を補正する。図9Bに示すように、補正部122は、視差ベクトル取得部123と、位置補正部124とを有する。
視差ベクトル取得部123は、co−locatedブロックを含むピクチャが属するビューと、符号化対象ピクチャが属するビューとの間の視差ベクトルを取得する。
位置補正部124は、取得された視差ベクトルの分、co−locatedブロックの位置を補正する。つまり、位置補正部124は、元のco−locatedブロックの位置を視差ベクトルが示す方向へ視差ベクトルが示す距離だけ移動させることにより、co−locatedブロックの位置を補正する。
追加部125は、co−locatedブロックから導出される動きベクトルを含むエントリをリストに追加する。本実施の形態では、追加部125は、co−locatedブロックから導出される動きベクトルを含むエントリを動き予測ベクトルの候補として動き予測ベクトル候補リストに追加する。
なお、追加部125は、co−locatedブロックから導出される動きベクトルと参照ピクチャインデックスとを含むエントリをマージ候補としてマージ候補リストに追加してもよい。なお、マージ候補とは、符号化対象ブロックの符号化に用いる動きベクトルと参照ピクチャインデックスとの組の候補である。
図10は、実施の形態1における動画像符号化方法を示すフローチャートである。
ステップS210では、符号化制御部102は、符号化対象ブロック(Curr_Blk)を含む予測ブロック(PU)の単位で動き予測ベクトル候補リスト(mvpListLX)を生成(導出)し出力する(mvpListLX生成ステップ)。
ステップS230では、符号化制御部102は、mvpListLXの更新処理を行い、mvpListLXを出力する(更新ステップ)。更新処理は、mvpListLXの入力を受信し、mvpListLXを更新し、更新されたmvpListLXを出力する、処理である。更新処理は、例えばエントリを追加する、リストの他方からエントリを複製する、エントリを削除する等の処理である。この更新処理は、復号側と暗黙的(implicit)に共有されたルールに従う。なお、この更新処理は、実行されなくてもよい。
ステップS240では、符号化制御部102は、各PUについてのmvp_idx_lXの値を含む符号化制御情報を決定する(決定ステップ)。また、符号化制御部102は、リストからエントリを選択する。
ステップS250では、イントラ・インター予測部101は、符号化制御情報に基づいて、符号化対象ブロックの予測画像を生成する。本実施の形態では、さらに、エントロピー符号化部114は、リストから選択されたエントリに含まれる動きベクトル(動き予測ベクトル)を用いて、符号化対象ブロックの動きベクトルを符号化する。つまり、エントロピー符号化部114は、動き予測ベクトルと符号化対象ブロックの動きベクトルとの差分を符号化する。
図11は、動き予測ベクトル候補リストの概念を説明するための図である。具体的には、図11は、動き予測ベクトル候補リストに含まれる複数の動き予測ベクトルの候補と、動き予測ベクトル候補リストから選択された動き予測ベクトルとの関係を示す。本実施の形態では、H.264における動き予測ベクトルの場合(図8)と比べて、1以上の動き予測ベクトルの候補が存在する点が異なる。これらの候補の中から、mvp_idx_lXのインデクス値に基づいて決定されたベクトル(候補)が、動き予測ベクトルとして、動き(検出結果)ベクトルの符号化に利用される。
図12Aおよび図12Bは、実施の形態1における動き予測ベクトル候補リストの一例を示す図である。
図12Aは、(後述する複数の動画像系列についての特別な場合を除く場合に、)ステップS210で出力される予測方向0のリストに順に追加(append)される動き予測ベクトルの候補の一例を示す。候補[0]として、図13に示すN=Aのブロック群に含まれる隣接ブロックA[0..k]のうちいずれかのブロックA[i]]のエントリがリストに追加される。また、候補[1]として、図13に示すN=Bのブロック群に含まれる隣接ブロックB[0..k]のいずれかのブロックB[i]のエントリがリストに追加される。また、候補[2]として、図13に示すco−locatedブロック(Col_Blk)のエントリがリストに追加される。各エントリには、前述した動き情報(ブロックの動きベクトルと参照ピクチャインデクスとの組)が含まれる。なお、以下において、Curr_Blkの左方に隣接するN=Aのブロック群をブロック群Aと呼び、Curr_Blkの上方に隣接するN=Bのブロック群をブロック群Bと呼ぶ。
図12Bは、予測方向1のリストに順に追加される動き予測ベクトルの候補の一例を示す。ここでは、例えば、N=Bのブロック群が利用できない場合を説明している。
なお、図12Aおよび図12Bでは、予測方向毎に動き予測ベクトル候補リストが分けられているが、1つのリストに予測方向0と予測方向1との両方の動き情報をマージして持ってもよい(mergeモードの場合)。
図13は、隣接ブロックの位置と、co−locatedブロックの位置とを示す図である。ブロック群A(A0,A1)と、ブロック群B(B0,B1,B2)とが示されている。図13において、currentPUは、現在の符号化対象ブロックを含む予測単位ブロック(PU)を示している。
図14は、動き予測ベクトル候補リストの生成処理のフローチャートである。具体的には、図14は、図10のステップS210の処理の詳細を示すフローチャートである。以下の処理に先立って、符号化制御部102は、各フラグ(availableFlagLXAおよびavailableFlagLXB等)の値を0に初期化する。 符号化制御部102は、まず、mvpListLXの1つ目の候補(エントリ)を生成する処理を行う(S400)。ステップS400では、符号化制御部102は、ブロック群Aに含まれるブロックA0、A1から候補を導出するための処理を実行する。なお、ブロックA0およびA1の両方がイントラ予測を用いている場合等、ブロック群Aから候補を導出できない場合もあり得る。
詳細には、ステップS410において、符号化制御部102は、ブロック群Aから、スケーリング処理(Scaling)なしで利用できる動きベクトルを持つブロックを検索する。検索は、A0、A1の順で行われる。符号化制御部102は、検索に成功した場合、availableFlagLXAに「1」をセットする。また、符号化制御部102は、検索されたブロックの動きベクトルをmvpListLXに追加する。
ステップS420において、符号化制御部102は、availableFlagLXAが「0」であるか否か(ステップS410で検索に失敗したか否か)を判定する。
availableFlagLXAが「0」である場合は(S420でtrue)、ステップS430において、符号化制御部102は、ブロック群A(A0、A1)から、利用できる動きベクトルを持つブロックを検索する。検索は、A0、A1の順で行われる。この検索に成功した場合、符号化制御部102は、検索されたブロックの動きベクトルに対してスケーリング処理を実行し、スケーリング後の動きベクトルをmvpListLxに追加する。スケーリング処理とは、動きベクトルを拡大・縮小する処理である。なお、スケーリング処理については、非特許文献2の式(8−130)〜(8−134)等を利用できる。
次に、符号化制御部102は、mvpListLXの2つ目の候補を生成する処理を行う(S500)。ステップS500では、符号化制御部102は、ブロック群B(B0,B1,B2)から候補を導出するための処理を実行する。なお、ブロックB0、B1、B2の全てがイントラ予測を用いている場合等、ブロック群Bから候補を導出できない場合もあり得る。
詳細には、ステップS510において、符号化制御部102は、ブロック群Bから、スケーリング処理なしで利用できる動きベクトルを持つブロックを検索する。検索は、B0、B1、B2の順で行われる。符号化制御部102は、検索に成功した場合、availableFlagLXBに「1」をセットする。また、符号化制御部102は、検索されたブロックの動きベクトルをmvpListLXに追加する。
ステップS520において、符号化制御部102は、availableFlagLXBが「0」であるか否かを判定する。
availableFlagLXBが「0」である場合(S520でtrue)、符号化制御部102は、ステップS530において、ブロック群B(B0、B1、B2)から動きベクトルを利用できるブロックを検索する。検索は、B0、B1、B2の順で行われる。この検索に成功した場合、符号化制御部102は、検索されたブロックの動きベクトルに対してスケーリング処理を実行し、スケーリング後の動きベクトルをmvpListLXに追加する。
最後に、符号化制御部102は、co−locatedブロックに対する処理を行う。詳細には、ステップS600において、符号化制御部102は、必要に応じてスケーリング処理された、co−locatedブロックの動きベクトルをmvpListLXに追加する。
図15は、複数の動画像系列[s]を対象とした場合のco−locatedブロックを説明するための図である。
図15において、横軸は、画像の表示タイミング(時刻)を示す。縦軸は、動画像系列の番号を示す。複数の動画像系列の一例として、ビューの異なる3つの動画像が示されている。図9Aにおける動画像系列[s]の個々は、ベースビュー0、ノンベースビュー1、ノンベースビュー2にそれぞれ対応する。各ビューは、図15の例のとおり、ピクチャ(画像信号)P0・・・P11を含む。
符号化対象ブロック(Curr_Blk)は、時刻tのP8に含まれるブロックである。画像信号P8は、ノンベースビュー2に属している。
なお、図15において、ピクチャP5、P3、P8、およびP11に示す黒丸(x1,y1)は、そのピクチャ内における相対座標位置が同じ位置の座標を示している。ピクチャP5、P3、P8、およびP11のサイズが同じ場合には、黒丸の座標は全て同じ値となる。
時刻t−1の時点のピクチャP5の黒丸(x1,y1)からピクチャP3の白丸への矢印で示す視差ベクトル(disparity vector[t−1])は、符号化対象ブロックの符号化の時点で最も新しい座標変換ベクトルである。この座標変換ベクトルは、ノンベースビュー2とベースビュー0との間で、基準物体の位置する座標を合わせるために、符号化装置が取得するベクトルである。この例であれば、ノンベースビュー2とベースビュー0とでは、ピクチャP3中に示す黒丸と白丸の差分だけ、基準物体の位置する座標がずれている。
この視差ベクトルは、復号側でも同じように抽出あるいは導出可能なことを条件に、符号化対象ブロックの符号化時点までに動きベクトル探索の結果で得られた動きベクトルであってもよいし、事前に系列間情報として与えられるものであってもよい。また、視差ベクトルは、SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)、またはスライスヘッダ等に、co−locatedブロック(Col_Blk)を含むピクチャに対する視差ベクトルを付随させ、復号化装置に明示的に示唆するようにしても構わない。
さて、図2Aおよび図2Bを用いて説明したとおり、従来のco_locatedブロックの概念は、「(時間方向に異なるピクチャに含まれるが)位置的に復号化ブロックと略等しい位置に位置するブロック」である。例えば、符号化対象ブロックのco−locatedブロックは、ピクチャP11にハッチングして示すブロック(Col_Blk)である。
図16は、実施の形態1においてco−locatedブロック用のエントリを動き予測ベクトル候補リストに追加する際に指定されるco−locatedブロックの位置の補正を説明するための図である。
この補正は、co−locatedブロックを含むピクチャを指定する側の参照ピクチャリスト(RePicListLX)の最初(1番目)のエントリのピクチャを、符号化対象ブロックの含まれるビューとは異なるビューのピクチャと定めた場合に適用される。この場合には、符号化対象ブロックの符号化時点で得られている(復号時点で得られている)更新された視差ベクトル(disparity vector[t−1])を用いて、co−locatedブロックの位置を補正する。そして、補正された位置のブロックの動き情報を、co−localtedブロックの動き情報としてリストに追加する。ここでは、1番目のエントリとは、リストが有するエントリのうち、最も小さいインデックスの値を有するエントリである。ピクチャP6のうち、(x1,y1)の地点から直前の視差ベクトル分だけオフセットされた位置のブロック(図中のハッチング領域)がco_locatedブロックとして利用される。
図17は、実施の形態1におけるco−locatedブロックの動き情報を動き予測ベクトル候補リストへ追加する処理のフローチャートである。具体的には、図17は、図14のステップS600の処理の詳細を示すフローチャートである。
ステップS901では、判定部121は、(a)参照ピクチャリストのエントリによって特定されるピクチャであって、co−locatedブロックを含むピクチャと、(b)符号化対象ピクチャと、が同一ビューに属するか否かを判定する。
ここで、(a)のピクチャは、RefPicListL[1−collocated_direction flag][0]のピクチャである。H.264と同じく参照ピクチャリストL1を用いる場合は、RefPicListL1[0](1番目のエントリ)のピクチャである。なお、本実施の形態では、co−locatedブロックを含むピクチャをRefPicListL[1−collocated_direction flag][0]としたが、必ずしもこれに限らない。例えば、co−locatedブロックを含むピクチャを、RefPicListL[1−collocated_direction flag][colPic_idx]としてもよい。この場合、パラメータ(colPic_idx)によって、どのピクチャをco−locatedブロックを含むピクチャとして用いるかを指定できるようになる。また、colPic_idxをSPS、PPS、またはスライスヘッダ等のヘッダ情報としてビットストリームに付随させ、復号化装置にco−locatedブロックを含むピクチャを明示的に示唆するようにしても構わない。
ステップS901の判定結果がtrueの場合、従来と同じようにco−locateブロックの位置は補正されない。
ステップS901の判定結果がfalseの場合、視差ベクトル取得部123は、co−locatedブロックを含むピクチャが属するビューと符号化対象ピクチャが属するビューとの間での視差ベクトルを取得する(S903)。そして、位置補正部124は、取得した視差ベクトルの分、co_locatedブロックの位置(co_loclated_block_position(x,y))を補正する(S905)。
最後に、追加部125は、補正された位置、あるいは、そのままの位置のco−locatedブロックの動き情報を動き予測ベクトル候補リストに追加する(S907)。
図18Aおよび図18Bは、実施の形態1においてco−locatedブロックの位置が補正される場合の動き予測ベクトル候補リストの一例を示す図である。つまり、図18Aおよび図18Bは、図17の処理により生成された動き予測ベクトル候補リストを示す。図12Aおよび図12Bの動き予測ベクトル候補リストと比較して、N=Colの場合に追加されるブロックの位置が、ビュー間の視差ベクトルを反映したものとなっている。
図19は、実施の形態1における動き予測ベクトルを決定する処理のフローチャートである。つまり、図19は、mvp_idx_l0の値およびmvp_idx_l1の値の組を決定する処理のフローチャートである。具体的には、図19は、図10のステップS240の処理の詳細を示すフローチャートである。ステップS240では、符号化制御部102は、動き予測ベクトル候補の各組の符号化効率を算出する。そして、符号化制御部102は、どの動き予測ベクトル候補の組(L0用とL1用)を用いたときに、動き(検出結果)ベクトルの符号化効率が良いかを検証する。そして、符号化制御部102は、符号化効率が良い動き予測ベクトル候補を、動きベクトルの符号化に用いる動き予測ベクトルとして決定する。これにより、動きベクトルの符号化に用いるmvp_idx_l0の値およびmvp_idx_l1の値が1つ決定される。
詳細には、ステップS301では、符号化制御部102は、mvp_idx_l0に0をセットする。さらに、符号化制御部102は、後述するステップS302〜S308の実行後に、mvp_idx_l0を1インクリメントする。符号化制御部102は、ステップS302〜S308を繰り返し実行する。
ステップS302では、符号化制御部102は、availableFlagL0[mvp_idx_l0]が1か否かを判定する。
ステップS302でavailableFlagL0[mvp_idx_l0]が1ではない場合(S302でfalse)、符号化制御部102は、ステップS309に移行する。
一方、ステップS302でavailableFlagL0[mvp_idx_l0]が1の場合(S302でtrue)、符号化制御部102は、ステップS303に移行する。
ステップS303では、符号化制御部102は、mvp_idx_l1に0をセットする。さらに、符号化制御部102は、後述するステップS304およびS305の実行後に、mvp_idx_l1を1インクリメントする。符号化制御部102は、ステップS304およびS305を繰り返し実行する。
ステップS304では、符号化制御部102は、availableFlagL1[mvp_idx_l1]が1か否かを判定する。
ステップS304でavailableFlagL1[mvp_idx_l1]が1ではない場合(S304でfalse)、符号化制御部102は、ステップS308に移行する。
一方、ステップS304でavailableFlagL1[mvp_idx_l1]が1の場合(S304でtrue)、符号化制御部102は、ステップS305に移行する。
ステップS305では、符号化制御部102は、現在の予測動きベクトルインデックスの組(mvp_idx_l0、mvp_idx_l1)で示される予測動きベクトル候補の組(mvpListL0[mvp_idx_l0]、mvpListL1[mvp_idx_l1])(以下、適宜「現在の予測動きベクトル候補の組」と称する)を用いて、インター符号化を試行する。
ステップS306では、符号化制御部102は、mvp_idx_lxとして仮設定されている予測動きベクトルインデックスの組の値で示される予測動きベクトル候補の組(mvpListL0[mvp_idx_l0]、mvpListL1[mvp_idx_l1])(以下、適宜「仮設定されている予測動きベクトル候補の組」と称する)の符号化効率と、現在の予測動きベクトル候補の組の符号化効率とを比較する。
ステップS306において、現在の予測動きベクトル候補の組の符号化効率より、仮設定されている予測動きベクトル候補の組の符号化効率が良い場合は(S306でNo)、符号化制御部102は、ステップS308に移行する。
一方、ステップS306において、現在の予測動きベクトル候補の組の符号化効率の方が、仮設定されている予測動きベクトル候補の組の符号化効率よりも良い場合は(S306でYes)、符号化制御部102は、ステップS307に移行し、予測動きベクトルインデックスの組mvp_idx_lx(mvp_idx_l0、mvp_idx_l1)に、現在の(mvp_idx_l0、mvp_idx_l1)の値を設定する。なお、予測動きベクトルインデックスの組mvp_idx_lx(mvp_idx_l0、mvp_idx_l1)に値が設定されていない場合は、現在の(mvp_idx_l0、mvp_idx_l1)の値を設定する。
ステップS308では、符号化制御部102は、mvpListL1[mvp_idx_l1]が候補リストの最後の候補であるか否かを判定する(図19では「mvp_idx_l1が全部終わった?」と記載)。例えば、図18Bに示す候補リストmvpListL1の場合、候補リストのサイズが2であることから、mvp_idx_l1==1(=候補リストサイズ−1)の場合、最後の候補であると判定する。mvpListL1[mvp_idx_l1]が候補リストの最後の候補ではないと判定した場合、符号化制御部102は、ステップS303に戻り、mvp_idx_l1を1インクリメントする(S303)。
一方、ステップS308において、mvpListL1[mvp_idx_l1]が候補リストの最後の候補であると判定した場合、符号化制御部102は、ステップS309に移行する。
ステップS309では、符号化制御部102は、mvpListL0[mvp_idx_l0]が候補リストの最後の候補であるか否かを判定する(図19では「mvp_idx_l0が全部終わった?」と記載)。例えば、図18Aに示す候補リストmvpListL0の場合、候補リストのサイズが3であることから、mvp_idx_l0==2(=候補リストサイズ−1)の場合、最後の候補であると判定する。mvpListL0[mvp_idx_l0]が候補リストの最後の候補ではないと判定した場合、符号化制御部102は、ステップS301に戻り、mvp_idx_l0を1インクリメントする(S301)。
一方、ステップS309において、mvpListL0[mvp_idx_l0]が候補リストの最後の候補であると判定した場合、符号化制御部102は、ステップS310に移行する。
ステップS310では、符号化制御部102は、mvp_idx_lx(mvp_idx_l0、mvp_idx_l1)を、予測動きベクトルインデックスの組として決定する。
図20は、実施の形態1におけるイントラ・インター符号化のフローチャートである。具体的には、図20は、図10のステップS250の処理の詳細を示すフローチャートである。
ステップS252では、イントラ・インター予測部101は、動き(検出結果)ベクトルmvLXを用いて、符号化対象ブロックの予測画像を生成し、生成した予測画像を示す予測画像信号を出力する。減算部111は、入力画像信号から予測画像信号を減算して残差信号を生成する。変換部112は、残差信号を画像領域から周波数領域に変換し、量子化部113は、周波数領域に変換された残差信号を量子化して量子化済残差信号を生成する。エントロピー符号化部114は、量子化済残差信号を符号化する。
ステップS254では、エントロピー符号化部114は、動き予測ベクトル候補指定インデクスの値を符号化する。つまり、エントロピー符号化部114は、mvp_idx_lx(mvp_idx_l0,mvp_idx_l1)を符号化する。
ステップS256では、エントロピー符号化部114は、動き差分ベクトルmvdLXを符号化する。
エントロピー符号化部114は、符号化した量子化済残差信号、動き予測ベクトルインデックスの組mvp_idx_lx(mvp_idx_l0、mvp_idx_l1)および動き差分ベクトルmvdLXを含む符号化ビットストリームを生成し、出力する。
(実施の形態1の効果)
このように、本実施の形態における動画像符号化方法によれば、co−locatedブロックを含むピクチャが属するビューが、符号化対象ピクチャが属するビューと異なる場合には、2つのビュー間における視差ベクトルを用いて、co−locatedブロックのピクチャ内の位置を補正することができる。そして、補正された位置のco−locatedブロックの動きベクトルを含むエントリをリストに追加することができる。したがって、そもそも2つのピクチャが属するビューが異なるにもかかわらず、まったく同じ位置(図16の黒丸)のブロックの動き情報を利用して符号化することが減少する。つまり、符号化対象ブロックを符号化する際に、より適切な位置のブロックをco−locatedブロックとして用いることができ、符号化効率の向上が期待される。
なお、動き予測ベクトル候補のための(動き予測ベクトルモード)ためのco−locatedブロックの位置の補正について説明したが、HEVCのマージモードにおけるco−locatedブロックに対しても上記の補正を適用することができる。つまり、位置が補正されたco−locatedブロックの動き情報を用いて、符号化対象ブロックの予測画像が生成されてもよい。
なお、本実施の形態において、動画像符号化装置100は、図9Aに示す構成要素をすべて備える必要はない。例えば、動画像符号化装置100は、図9Bに示す構成要素のみを備えてもよい。つまり、動画像符号化方法は、図17に示すステップのみを含んでもよい。このような場合であっても、より適切な位置のブロックをco−locatedブロックとして用いることができ、符号化効率を向上させることができる。
なお、本実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、本実施の形態の動画像符号化装置などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、動きベクトルを含む少なくとも1つのエントリを有するリストを用いて、動画像を符号化する動画像符号化方法であって、(a)符号化対象ピクチャとは異なるピクチャに含まれるブロックであって前記符号化対象ピクチャに含まれる符号化対象ブロックの位置に対応する位置のブロックであるco−locatedブロックを含むピクチャと、(b)前記符号化対象ピクチャとが同一のビューに属するか否かを判定する判定ステップと、前記co−locatedブロックを含むピクチャと前記符号化対象ピクチャとが異なるビューに属する場合に、前記co−locatedブロックの位置を補正する補正ステップと、前記co−locatedブロックから導出される動きベクトルを含むエントリを前記リストに追加する追加ステップとを含み、前記補正ステップは、前記co−locatedブロックを含むピクチャが属するビューと、前記符号化対象ピクチャが属するビューとの間の視差ベクトルを取得する視差ベクトル取得ステップと、取得された前記視差ベクトルの分、前記co−locatedブロックの位置を補正する位置補正ステップとを含む動画像符号化方法を実行させる。
(実施の形態2)
実施の形態2では、実施の形態1の動画像符号化装置100によって出力された符号化済ビットストリームを復号する動画像復号装置200について説明する。
図21Aは、実施の形態2における動画像復号装置200の構成を示すブロック図である。
動画像復号装置200は、符号化済ビットストリームの入力を受信し、復号画像信号を表示順に出力する。ここでは、動画像復号装置200は、動きベクトルを含む少なくとも1つのエントリを有するリストを用いて、符号化されたマルチビュー動画像を復号する。
図21Aに示すように、動画像復号装置200は、エントロピー復号部211、逆量子化部212、逆変換部213、加算部214、メモリ215、イントラ・インター予測部201、および、復号制御部202を備える。図21Aにおいて、図9Aの動画像符号化装置100内の各部と同一名称の各部の機能は、図9Aの動画像符号化装置100内の各部の機能に対応する。
エントロピー復号部211は、符号化済ビットストリームの入力を受信し、量子化済残差信号および復号制御情報などを出力する。復号制御情報には、動き予測ベクトル候補指定インデクスmvp_idx_lx(mvp_idx_l0,mvp_idx_l1)、および、動き差分ベクトルmvdLX(mvdL0,mvdL1)が含まれる。
逆量子化部212および逆変換部213は、量子化済残差信号を処理(逆量子化および逆周波数変換)して復元済残差信号を加算部214に出力する。
加算部214は、復元済残差信号と予測画像信号とを加算し、復号画像信号を出力する。
復号制御部202は、図18Aおよび図18Bに示す動き予測ベクトル候補リスト(mvpListL0およびmvpListL1)を、後述する方法で生成する。さらに、復号制御部202は、生成された候補リストから、動き予測ベクトル候補指定インデクスmvp_idx_lx(mvp_idx_l0,mvp_idx_l1)に従って動き予測ベクトルを選択する。そして、復号制御部202は、動き予測ベクトル、および、動き差分ベクトルmvdLX(mvdL0,mvdL1)を用いて、動き(検出結果)ベクトルを復元する。
イントラ・インター予測部201は、復元された動きベクトルを用いて、復号画像信号から予測画像信号を生成し、出力する。
図21Bは、実施の形態2における復号制御部202の構成を示すブロック図である。図21Bに示すように、復号制御部202は、判定部221と、補正部222と、追加部225とを備える。
判定部221は、実施の形態1における判定部121と同様に、co−locatedブロックを含むピクチャと、(b)復号対象ピクチャとが同一のビューに属するか否かを判定する。
補正部222は、実施の形態1における補正部122と同様に、co−locatedブロックを含むピクチャと復号対象ピクチャとが異なるビューに属する場合に、co−locatedブロックの位置を補正する。つまり、補正部222は、co−locatedブロックのピクチャ内の位置を補正する。図21Bに示すように、補正部222は、視差ベクトル取得部223と、位置補正部224とを有する。
視差ベクトル取得部223は、実施の形態1における視差ベクトル取得部123と同様に、co−locatedブロックを含むピクチャが属するビューと、復号対象ピクチャが属するビューとの間の視差ベクトルを取得する。
位置補正部224は、実施の形態1における位置補正部124と同様に、取得された視差ベクトルの分、co−locatedブロックの位置を補正する。
追加部225は、実施の形態1における追加部125と同様に、co−locatedブロックから導出される動きベクトルを含むエントリをリストに追加する。本実施の形態では、追加部225は、co−locatedブロックから導出される動きベクトルを含むエントリを、動き予測ベクトルの候補として、動き予測ベクトル候補リストに追加する。
なお、追加部225は、co−locatedブロックから導出される動きベクトルと参照ピクチャインデックスとを含むエントリをマージ候補としてマージ候補リストに追加してもよい。
図22は、実施の形態2における動画像復号方法を示すフローチャートである。
ステップS1100では、復号制御部202は、動き予測ベクトル候補リスト(mvpListX)を生成する。このステップS1100の処理は、符号化側のステップS210の処理に対応する。
ステップS1130では、復号制御部202は、mvpListLXの更新処理を行い、mvpListLXを出力する。この更新処理は、符号化側と暗黙的(implicit)に共有されたルールに従う。なお、この更新処理は、実行されなくてもよい。
ステップS1154では、エントロピー復号部211は、符号化ビットストリームから、動き予測ベクトル候補指定インデクス(mvp_idx_lx)を抽出する。
ステップS1156では、エントロピー復号部211は、符号化ビットストリームから、動き差分ベクトル(mvdLX)を抽出する。
ステップS1158では、復号制御部202は、動きベクトル(mvLX)を復元する。具体的には、復号制御部202は、以下に示すように、動き差分ベクトルmvdLXと動き予測ベクトルmvpListLX[mvp_idx_lx]とを加算して、動きベクトルmvLXを求める。
mvLX=mvpListLX[mvp_idx_lx]+mvdLX
ステップS1160では、イントラ・インター予測部201は、復元された動きベクトルを用いてインター予測を行うことにより、予測画像信号を生成する。そして、加算部214は、予測画像信号と復元済残差信号とを加算することにより、復号画像信号を生成する。
図23は、実施の形態2における動き予測ベクトル候補リストの生成処理のフローチャートである。具体的には、図23は、図22のステップS1100の処理の詳細を示すフローチャートである。
ステップS2301では、復号制御部202は、ブロック群Aから、利用可能な動きベクトルを持つブロックを検索する。復号制御部202は、検索されたブロックの動きベクトルをmvpListLXに追加する。なお、ステップS2301の処理は、図14のステップS400と同一である。
ステップS2303では、ブロック群Bから、利用可能な動きベクトルを持つブロックを検索する。復号制御部202は、検索されたブロックの動きベクトルをmvpListLXに追加する。なお、ステップS2301の処理は、図14のステップS500と同一である。
最後に、ステップS2305では、復号制御部202は、必要に応じてスケーリング処理された動きベクトルであってco−locatedブロックの動きベクトルを含むエントリをmvpListLXに追加する。なお、ステップS2305の処理は、図14のステップS600の処理と同一である。
図24は、実施の形態2におけるco−locatedブロックの動き情報を動き予測ベクトル候補リストへ追加する処理のフローチャートである。具体的には、図17は、図23のステップS2305の処理の詳細を示すフローチャートである。
まず、ステップS2401では、判定部221は、(a)co−locatedブロックを含むピクチャと、(b)符号化対象ブロックを含むピクチャ(符号化対象ピクチャ)と、が同一ビューに属するか否かを判定する。本実施の形態では、判定部221は、(a)参照ピクチャリストのエントリ0(1番目のエントリ)によって特定されるピクチャであって、co−locatedブロックを含むピクチャと、(b)符号化対象ブロックを含むピクチャ(符号化対象ピクチャ)と、が同一ビューに属するか否かを判定する。
この判定は、ステップS901と同様である。例えばco−locatedブロックを含むピクチャを特定するための参照ピクチャリストがL1である場合(あるいはフラグにより判定された場合)、図2Bに示す通り、co−locatedブロックを含むピクチャは、RefPicListL1[0]が示すピクチャ番号(picNum)のピクチャである。なお、本実施の形態では、co−locatedブロックを含むピクチャをRefPicListL[1−collocated_direction flag][0]としたが、必ずしもこれに限らない。例えば、co−locatedブロックを含むピクチャを、RefPicListL[1−collocated_direction flag][colPic_idx]としてもよい。この場合、SPS、PPS、またはスライスヘッダ等のヘッダ情報としてビットストリームに付随されたパラメータ(colPic_idx)を抽出することによって、どのピクチャをco−locatedブロックを含むピクチャとして用いるかを決定するようにしても構わない。
ここで、ステップS2401の判定結果がtrueの場合(2つのピクチャが同一ビューに属する場合(ビューが1つしかない場合も含む))、ステップS2407に進む。
一方、ステップS2401の判定結果がfalseの場合(2つのピクチャが同一ビューに属さない場合)、ステップS2403に進む。
ステップS2403では、ステップS903と同様に、視差ベクトル取得部223は、co−locatedピクチャを含むピクチャが属するビュー(例えば、図16におけるベースビュー0)と、復号対象ブロックを含むピクチャが属するビュー(例えば、図16におけるノンベースビュー2)との間における視差ベクトル(disparity vector)を取得する。
なお、視差ベクトル取得部223は、前述したとおり、例えば復号対象ブロック近傍の過去の複数の視差ベクトルを統計処理したものを取得してもよいし、最新の1つの視差ベクトルを取得してもよい。また、視差ベクトル取得部223は、SPS、PPS、またはスライスヘッダ等に付随された視差ベクトルであって、co−locatedブロックを含むピクチャに対する視差ベクトルを、SPS、PPS、またはスライスヘッダ等から抽出することにより、視差ベクトルを取得しても構わない。
次に、ステップS2405では、位置補正部224は、取得された視差ベクトルを用いて、co−locatedブロックの位置を補正する。このステップS2405の処理は、図17のステップS905に対応する。
最後に、ステップS2407では、追加部225は、補正された位置、あるいは、そのままの位置のco−locatedブロックの動き情報(動きベクトルおよび参照ピクチャインデクス)を、co−locatedブロック用のエントリ(N=Col)の値として、予測動きベクトル候補リストに追加する。
図25は、実施の形態2におけるco−locatedブロックの動き情報を動き予測ベクトル候補リストへ追加する処理をpseudoコードで示す。つまり、図25は、図24のフローチャートをpseudoコードで表したものである。
1行目の記述は、co−locatedブロックとして指定されたブロックを含むピクチャのピクチャ番号をcolPicの値に設定する処理を示す。co_located_l0_flagは、参照ピクチャリストL1ではなく参照ピクチャリストL0をco−locatedブロックを含むピクチャを特定するために使う場合に1が設定されるフラグである。
2行目の記述は、図24のステップS2401の判定処理を示す。すなわち、2行目の記述は、(a)colPicのピクチャが属するビューと、(b)復号対象ピクチャ(currPicのピクチャ)が属するビューとが、異なる(同一でない)か、同一であるかを判定する処理を示す。
3行目の記述は、図24のステップS2403およびステップS2405の処理を示す。すなわち、3行目の記述は、判定結果がtrueである場合(つまり、(a)colPicのピクチャが属するビューと(b)currPicのピクチャが属するビューとが異なる場合)に、co−locatedブロックの位置であるco_located_positionを、currPicのピクチャが属するビューとcolPicのピクチャが属するビューとの間の最新の視差ベクトル(disparity_vector)を用いて、co_located_positionを補正する処理を示す。
5行目の記述は、図24のステップS2407の処理を示す。すなわち、5行目の記述は、colPicのピクチャ内のco_located_positionが示す位置に位置するブロックの動き情報を予測動きベクトル候補リストに追加する処理を示す。
このように、本実施の形態における動画像復号方法によれば、co−locatedブロックを含むピクチャが属するビューが、復号対象ピクチャが属するビューと異なる場合には、2つのビュー間における視差ベクトルを用いて、co−locatedブロックのピクチャ内の位置を補正することができる。そして、補正された位置のco−locatedブロックの動きベクトルを含むエントリをリストに追加することができる。したがって、復号対象ブロックを復号する際に、より適切な位置のブロックをco−locatedブロックとして用いることができ、符号化効率を向上させることができる。
さらに、このco−locatedブロックの位置の補正方法は、暗示的に符号化側と復号化側とで共有することができるので、シンタクスの追加を要さない。したがって、シンタクスが追加されなくても、co−locatedブロックの位置を補正することができ、co−locatedブロックの動き情報を用いた動き予測ベクトルの予測精度の向上が期待される。
なお、動き予測ベクトル候補のための(動き予測ベクトルモード)ためのco−locatedブロックの位置の補正について説明したが、HEVCのマージモードにおけるco−locatedブロックに対しても上記の補正を適用することができる。つまり、位置が補正されたco−locatedブロックの動き情報を用いて、復号対象ブロックの予測画像が生成されてもよい。
なお、本実施の形態において、動画像復号装置200は、図21Aに示す構成要素をすべて備える必要はない。例えば、動画像復号装置200は、図21Bに示す構成要素のみを備えてもよい。つまり、動画像復号方法は、図24に示すステップのみを含んでもよい。このような場合であっても、より適切な位置のブロックをco−locatedブロックとして用いることができ、符号化効率を向上させることができる。
なお、co−locatedブロックの位置は、復号対象ブロックの位置と厳密に同じ位置である必要はない。例えば、図26のような位置関係のものもco−locatedブロックの位置として含まれる。本実施の形態では、いずれの位置にしても、2つのビューの違いに応じて基準とする位置を、視差ベクトルを用いて補正することにより、符号化効率を向上させることができる。
なお、本実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、本実施の形態の動画像復号装置などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、動きベクトルを含む少なくとも1つのエントリを有するリストを用いて、符号化された動画像を復号する動画像復号方法であって、(a)復号対象ピクチャとは異なるピクチャに含まれるブロックであって前記復号対象ピクチャに含まれる復号対象ブロックの位置に対応する位置のブロックであるco−locatedブロックを含むピクチャと、(b)前記復号対象ピクチャとが同一のビューに属するか否かを判定する判定ステップと、前記co−locatedブロックを含むピクチャと前記復号対象ピクチャとが異なるビューに属する場合に、前記co−locatedブロックの位置を補正する補正ステップと、前記co−locatedブロックから導出される動きベクトルを含むエントリを前記リストに追加する追加ステップとを含み、前記補正ステップは、前記co−locatedブロックを含むピクチャが属するビューと、前記復号対象ピクチャが属するビューとの間の視差ベクトルを取得する視差ベクトル取得ステップと、取得された前記視差ベクトルの分、前記co−locatedブロックの位置を補正する位置補正ステップとを含む動画像復号方法を実行させる。
以上、1つまたは複数の態様に係る動画像符号化装置および動画像復号装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、1つまたは複数の態様の範囲内に含まれてもよい。
例えば、上記実施の形態1および2において、動画像符号化装置および動画像復号装置は、空間的に隣接するブロック(隣接ブロック)から導出された動きベクトルを含むエントリをリストに追加する場合に、ブロック群Aに含まれるブロックから導出された動きベクトルを含むエントリ、および、ブロック群Bに含まれるブロックから導出されて動きベクトルを含むエントリの順にエントリを追加していたが、必ずしもこのような順番で追加する必要はない。例えば、動画像符号化装置および動画像復号装置は、ブロック群Aとブロック群Bとを区別せずに、エントリを追加してもよい。また、3以上の隣接ブロックからそれぞれ導出された動きベクトルを含むエントリがリストに追加されてもよい。
また、上記実施の形態1および2において、動き予測ベクトル候補リストが有する各エントリには、参照ピクチャインデックスが含まれていたが、参照ピクチャインデックスは含まれなくてもよい。
(実施の形態3)
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
図27は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図27のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(登録商標)(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い(即ち、本発明の一態様に係る画像符号化装置として機能する)、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
また、これら符号化・復号化処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
なお、コンテンツ供給システムex100の例に限らず、図28に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
図29は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
また、テレビex300は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305(本発明の一態様に係る画像符号化装置または画像復号装置として機能する)を有する信号処理部ex306と、復号化した音声信号を出力するスピーカex307、復号化した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
まず、テレビex300がアンテナex204等により外部から取得した多重化データを復号化し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した多重化データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号化し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号化方法を用いて復号化する。復号化した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から多重化データを読み出してもよい。次に、テレビex300が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318、ex319、ex320、ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図30に示す。情報再生/記録部ex400は、以下に説明する要素ex401、ex402、ex403、ex404、ex405、ex406、ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図31に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図29に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
図32Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
さらに、携帯電話ex114の構成例について、図32Bを用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex357から出力する。
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し(即ち、本発明の一態様に係る画像符号化装置として機能する)、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調部(変調/復調回路部)ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し(即ち、本発明の一態様に係る画像復号装置として機能する)、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態4)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG−2、MPEG4−AVC、VC−1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG−2トランスポートストリーム形式のデジタルストリームである。
図33は、多重化データの構成を示す図である。図33に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラフィックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC−3、Dolby Digital Plus、MLP、DTS、DTS−HD、または、リニアPCMのなどの方式で符号化されている。
多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
図34は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
図35は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図35における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図35の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
図36は、多重化データに最終的に書き込まれるTSパケットの形式を示している。TSパケットは、ストリームを識別するPIDなどの情報を持つ4ByteのTSヘッダとデータを格納する184ByteのTSペイロードから構成される188Byte固定長のパケットであり、上記PESパケットは分割されTSペイロードに格納される。BD−ROMの場合、TSパケットには、4ByteのTP_Extra_Headerが付与され、192Byteのソースパケットを構成し、多重化データに書き込まれる。TP_Extra_HeaderにはATS(Arrival_Time_Stamp)などの情報が記載される。ATSは当該TSパケットのデコーダのPIDフィルタへの転送開始時刻を示す。多重化データには図36下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
また、多重化データに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT(Program Association Table)、PMT(Program Map Table)、PCR(Program Clock Reference)などがある。PATは多重化データ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPIDは0で登録される。PMTは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival Time Clock)とPTS・DTSの時間軸であるSTC(System Time Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
図37はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
多重化データ情報ファイルは、図38に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
多重化データ情報は図38に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
ストリーム属性情報は図39に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
また、本実施の形態における動画像復号化方法のステップを図40に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
(実施の形態5)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図41に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
また、上記では、制御部ex501が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex501の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(実施の形態6)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図42は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
より具体的には、駆動周波数切替え部ex803は、図41のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図41の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態4で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態4で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図44のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
図43は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4−AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を高く設定し、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、CPUex502の駆動を停止させることなく、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、CPUex502の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、CPUex502の駆動を一時停止させることも考えられる。この場合は、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
(実施の形態7)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図45Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
また、処理を一部共有化する他の例を図45Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。