(本発明の基礎となった知見)
本発明者は、「背景技術」の欄において記載した画像符号化方法に関し、以下の問題が生じることを見出した。なお、以下において、画像は、複数のピクチャで構成される動画像、1つのピクチャで構成される静止画、および、ピクチャの一部等のいずれでもよい。
近年の画像符号化方式として、MPEG−4 AVC/H.264およびHEVC(High Efficiency Video Coding)がある。これらの画像符号化方式では、符号化済みの参照ピクチャを用いるインター予測が利用可能である。
また、これらの画像符号化方式では、ロングターム参照ピクチャと呼ばれる参照ピクチャが用いられる場合がある。例えば、参照ピクチャをDPB(Decoded Picture Buffer:復号ピクチャバッファ)に長く維持する場合、参照ピクチャはロングターム参照ピクチャとして用いられてもよい。
また、HEVCでは、AMVP(Adaptive Motion Vector Prediction)モードと呼ばれるモードがある。AMVPモードでは、隣接ブロックの動きベクトル等からカレントブロックの動きベクトルを予測することにより得られる予測動きベクトルが、カレントブロックの動きベクトルの符号化に用いられる。
さらに、HEVCでは、時間予測動きベクトルが利用可能である。時間予測動きベクトルは、符号化済みのco−locatedピクチャ内のco−locatedブロックの動きベクトルから導出される。co−locatedピクチャにおけるco−locatedブロックの座標は、符号化対象のカレントピクチャにおけるカレントブロックの座標に対応する。
ここでは、co−locatedブロックの動きベクトルをco−located動きベクトルと呼ぶ場合がある。また、co−locatedブロックの参照ピクチャをco−located参照ピクチャと呼ぶ場合がある。co−locatedブロックは、co−located動きベクトルおよびco−located参照ピクチャを用いて符号化される。なお、co−locatedはcollocatedまたはコロケーティッドと記載される場合がある。
同様に、カレントブロックの動きベクトルをカレント動きベクトルと呼ぶ場合がある。また、カレントブロックの参照ピクチャをカレント参照ピクチャと呼ぶ場合がある。カレントブロックは、カレント動きベクトルおよびカレント参照ピクチャを用いて符号化される。
上記のカレントブロックおよびco−locatedブロックは、それぞれ、予測ユニット(PU:Prediction Unit)である。予測ユニットは、画像のブロックであり、予測のデータ単位として定義される。HEVCでは、符号化のデータ単位として符号化ユニット(CU:Coding Unit)が、予測ユニットとは別に定義される。予測ユニットは、符号化ユニット内のブロックである。以下に記載のブロックは、予測ユニットまたは符号化ユニットに置き換えられてもよい。
符号化ユニットおよび予測ユニットのサイズは、一定ではない。例えば、1つのピクチャが様々なサイズの複数の符号化ユニットを含む場合があり、また、1つのピクチャが様々なサイズの複数の予測ユニットを含む場合がある。
そのため、カレントブロックの領域に正確に一致するブロックがco−locatedピクチャにおいて定義されない場合もある。したがって、HEVCでは、co−locatedブロックは、co−locatedピクチャに含まれる複数のブロックから、予め定められた選択方法によって選択される。
時間予測動きベクトルは、選択されたco−locatedブロックの動きベクトルをPOC(ピクチャオーダーカウント)距離に従ってスケーリングすることによって、生成される。POCは、表示順においてピクチャに割り当てられる序数である。POC距離は、2つのピクチャの間の時間的距離に対応する。POC距離に基づくスケーリングは、POCベースのスケーリングとも呼ばれる。次に示される式1は、co−locatedブロックの動きベクトルに対してPOCベースのスケーリングを行う演算式である。
pmv=(tb/td)×colmv ・・・(式1)
ここで、colmvは、co−locatedブロックの動きベクトルである。pmvは、co−locatedブロックの動きベクトルから導出される時間予測動きベクトルである。tbは、符号付きPOC距離であり、カレントピクチャからカレント参照ピクチャまでの差である。tdは、符号付きPOC距離であり、co−locatedピクチャからco−located参照ピクチャまでの差である。
有効な時間予測動きベクトルが存在する場合、当該時間予測動きベクトルは予測動きベクトル候補の順序付きリストに入れられる。予測動きベクトル候補の順序付きリストからカレント動きベクトルの符号化に用いられる予測動きベクトルが選択される。そして、選択された予測動きベクトルは、符号化ストリームにおけるパラメータによって示される。
図1は、参考例に係る画像符号化装置の動作を示すフローチャートである。特に、図1は、インター予測によって画像を符号化する処理を示す。
まず、画像符号化装置は、複数の参照ピクチャのそれぞれをショートターム参照ピクチャまたはロングターム参照ピクチャに分類する(S101)。画像符号化装置は、符号化ストリームのヘッダに、複数の参照ピクチャのそれぞれの分類を示す情報を書き込む(S102)。
次に、画像符号化装置は、動き検出によって、カレント参照ピクチャおよびカレント動きベクトルを特定する(S103)。次に、画像符号化装置は、予測動きベクトルを導出する(S104)。導出処理の詳細については、後述する。
次に、画像符号化装置は、カレント動きベクトルから予測動きベクトルを減算して、差分動きベクトルを導出する(S105)。次に、画像符号化装置は、カレント参照ピクチャおよびカレント動きベクトルを用いて動き補償を行うことにより、予測ブロックを生成する(S106)。
次に、画像符号化装置は、カレントブロックから予測ブロックを減算して、残差ブロックを生成する(S107)。最後に、画像符号化装置は、残差ブロックと、差分動きベクトルと、カレント参照ピクチャを示す参照インデックスとを符号化して、これらを含む符号化ストリームを生成する(S108)。
図2は、参考例に係る画像復号装置の動作を示すフローチャートである。特に、図2は、インター予測によって画像を復号する処理を示す。
まず、画像復号装置は、符号化ストリームを取得し、符号化ストリームのヘッダを解析(parse)することにより、複数の参照ピクチャのそれぞれの分類を示す情報を取得する(S201)。また、画像復号装置は、符号化ストリームを解析することにより、残差ブロックと、差分動きベクトルと、カレント参照ピクチャを示す参照インデックスとを取得する(S202)。
次に、画像復号装置は、予測動きベクトルを導出する(S203)。導出処理の詳細については、後述する。次に、画像復号装置は、差分動きベクトルに予測動きベクトルを加算して、カレント動きベクトルを生成する(S204)。次に、画像復号装置は、カレント参照ピクチャおよびカレント動きベクトルを用いて動き補償を行うことにより、予測ブロックを生成する(S205)。最後に、画像復号装置は、残差ブロックに予測ブロックを加算して、再構成ブロックを生成する(S206)。
図3は、図1および図2に示された導出処理の詳細を示すフローチャートである。以下は、画像符号化装置の動作を示す。符号化を復号に読み替えれば、画像復号装置の動作も、画像符号化装置の動作と同様である。
まず、画像符号化装置は、co−locatedピクチャを選択する(S301)。次に、画像符号化装置は、co−locatedピクチャ内のco−locatedブロックを選択する(S302)。そして、画像符号化装置は、co−located参照ピクチャおよびco−located動きベクトルを特定する(S303)。次に、画像符号化装置は、POCベースのスケーリングを行う導出方式に従って、予測動きベクトルを導出する(S304)。
図4は、図3に示された導出処理に用いられるco−locatedブロックを説明するための図である。co−locatedブロックは、co−locatedピクチャ内の複数のブロックから選択される。
co−locatedピクチャは、カレントブロックを含むカレントピクチャとは異なる。例えば、co−locatedピクチャは、表示順でカレントピクチャの直前または直後のピクチャである。より具体的には、例えば、co−locatedピクチャは、Bピクチャの符号化(双予測の符号化)に用いられる2つの参照ピクチャリストのいずれかにおける1番目の参照ピクチャである。
co−locatedピクチャにおいてサンプルc0を含む第1ブロックは、co−locatedブロックの1番目の候補であり、プライマリco−locatedブロックとも呼ばれる。co−locatedピクチャにおいてサンプルc1を含む第2ブロックは、co−locatedブロックの2番目の候補であり、セカンダリco−locatedブロックとも呼ばれる。
カレントブロックの左上のサンプルtlの座標が(x、y)であり、カレントブロックの幅がwであり、カレントブロックの高さがhである場合、サンプルc0の座標は(x+w、y+h)である。また、この場合、サンプルc1の座標は(x+(w/2)−1、y+(h/2)−1)である。
第1ブロックが利用可能でない場合、第2ブロックがco−locatedブロックとして選択される。第1ブロックが利用可能でない場合として、カレントブロックがピクチャの右または下の端であるため、第1ブロックが存在しない場合、あるいは、第1ブロックがイントラ予測で符号化された場合等がある。
以下、再度、図3を参照して、時間予測動きベクトルを導出する処理のより具体的な例を説明する。
まず、画像符号化装置は、co−locatedピクチャを選択する(S301)。次に、画像符号化装置は、co−locatedブロックを選択する(S302)。図4に示されたサンプルc0を含む第1ブロックが利用可能である場合、第1ブロックがco−locatedブロックとして選択される。第1ブロックが利用可能でなく、かつ、図4に示されたサンプルc1を含む第2ブロックが利用可能である場合、第2ブロックがco−locatedブロックとして選択される。
利用可能なco−locatedブロックが選択された場合、画像符号化装置は、時間予測動きベクトルを利用可能として設定する。利用可能なco−locatedブロックが選択されなかった場合、画像符号化装置は、時間予測動きベクトルを利用不可として設定する。
時間予測動きベクトルが利用可能として設定された場合、画像符号化装置は、co−located動きベクトルを基準動きベクトルとして特定する。また、画像符号化装置は、co−located参照ピクチャを特定する(S303)。そして、画像符号化装置は、基準動きベクトルから、式1のスケーリングによって、時間予測動きベクトルを導出する(S304)。
以上の処理によって、画像符号化装置および画像復号装置は、時間予測動きベクトルを導出する。
しかしながら、カレントピクチャ、カレント参照ピクチャ、co−locatedピクチャおよびco−located参照ピクチャの関係によって、適切な時間予測動きベクトルを導出することが困難な場合がある。
例えば、カレント参照ピクチャがロングターム参照ピクチャである場合、カレント参照ピクチャからカレントピクチャまでの時間的距離が長い可能性がある。また、co−located参照ピクチャがロングターム参照ピクチャである場合、co−located参照ピクチャからco−locatedピクチャまでの時間的距離が長い可能性がある。
これらの場合、POCベースのスケーリングによって、極端に大きいまたは小さい時間予測動きベクトルが生成される可能性がある。これにより、予測精度が劣化し、符号化効率が劣化する。特に、固定のビット数では、極端に大きいまたは小さい時間予測動きベクトルが適切に表現されず、予測精度の劣化、および、符号化効率の劣化が顕著に生じる。
このような問題を解決するために、本発明の一態様に係る画像符号化方法は、複数のピクチャにおける複数のブロックのそれぞれを符号化する画像符号化方法であって、符号化対象のカレントブロックを含むピクチャとは異なるピクチャに含まれるブロックであるco−locatedブロックの動きベクトルから、前記カレントブロックの動きベクトルの符号化に用いられる予測動きベクトルの候補を導出する導出ステップと、導出された前記候補をリストに追加する追加ステップと、前記候補が追加された前記リストから、前記予測動きベクトルを選択する選択ステップと、前記カレントブロックの動きベクトルおよび前記カレントブロックの参照ピクチャを用いて前記カレントブロックを符号化し、選択された前記予測動きベクトルを用いて前記カレントブロックの動きベクトルを符号化する符号化ステップとを含み、前記導出ステップでは、前記カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるか、および、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定し、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれロングターム参照ピクチャであると判定された場合、前記co−locatedブロックの動きベクトルから、時間的距離に基づくスケーリングを行わない第1導出方式によって、前記候補を導出し、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれショートターム参照ピクチャであると判定された場合、前記co−locatedブロックの動きベクトルから、時間的距離に基づくスケーリングを行う第2導出方式によって、前記候補を導出する。
これにより、予測動きベクトルの候補が、極端に大きくなったり、極端に小さくなったりせずに、適切に導出される。したがって、予測精度の向上が可能になり、符号化効率の向上が可能になる。
例えば、前記導出ステップでは、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャのうち、一方がロングターム参照ピクチャであると判定され、他方がショートターム参照ピクチャであると判定された場合、前記co−locatedブロックの動きベクトルから前記候補を導出せず、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれロングターム参照ピクチャであると判定された場合、または、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれショートターム参照ピクチャであると判定された場合、前記co−locatedブロックの動きベクトルから前記候補を導出してもよい。
これにより、予測精度が低いと予想される場合、予測動きベクトルの候補は、co−locatedブロックの動きベクトルから、導出されない。したがって、予測精度の劣化が抑制される。
また、例えば、前記符号化ステップでは、さらに、前記カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを示す情報、および、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを示す情報を符号化してもよい。
これにより、各参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを示す情報が符号化側から復号側へ通知される。したがって、符号化側と復号側とで、同様の判定結果が得られ、同様の処理が行われる。
また、例えば、前記導出ステップでは、前記カレントブロックの参照ピクチャから前記カレントブロックを含むピクチャまでの時間的距離を用いて、前記カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定し、前記co−locatedブロックの参照ピクチャから前記co−locatedブロックを含むピクチャまでの時間的距離を用いて、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。
これにより、各参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかが、時間的距離に基づいて、簡潔かつ適切に判定される。
また、例えば、前記導出ステップでは、前記co−locatedブロックの符号化が行われる期間に、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。
これにより、co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかが、より正確に判定される。
また、例えば、前記導出ステップでは、前記カレントブロックの符号化が行われる期間に、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。
これにより、co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかの情報が、長期間にわたって維持されなくてもよい。
また、例えば、前記導出ステップでは、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれロングターム参照ピクチャであると判定された場合、前記co−locatedブロックの動きベクトルを前記候補として導出し、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれショートターム参照ピクチャであると判定された場合、前記co−locatedブロックの参照ピクチャから前記co−locatedブロックを含むピクチャまでの時間的距離に対する、前記カレントブロックの参照ピクチャから前記カレントブロックを含むピクチャまでの時間的距離の比率を用いて、前記co−locatedブロックの動きベクトルのスケーリングを行うことによって、前記候補を導出してもよい。
これにより、2つの参照ピクチャがロングターム参照ピクチャである場合、スケーリングが省かれ、演算量が低減する。そして、2つの参照ピクチャがショートターム参照ピクチャである場合、予測動きベクトルの候補が、時間的距離に基づいて、適切に導出される。
また、例えば、前記導出ステップでは、さらに、前記カレントブロックの参照ピクチャがショートターム参照ピクチャであると判定され、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであると判定された場合、前記co−locatedブロックから前記候補を導出せず、ショートターム参照ピクチャを参照して符号化された別のco−locatedブロックを選択し、前記別のco−locatedブロックの動きベクトルから前記第2導出方式によって前記候補を導出してもよい。
これにより、予測精度の高い候補を導出するためのブロックが選択される。したがって、予測精度が向上する。
また、本発明の一態様に係る画像復号方法は、複数のピクチャにおける複数のブロックのそれぞれを復号する画像復号方法であって、復号対象のカレントブロックを含むピクチャとは異なるピクチャに含まれるブロックであるco−locatedブロックの動きベクトルから、前記カレントブロックの動きベクトルの復号に用いられる予測動きベクトルの候補を導出する導出ステップと、導出された前記候補をリストに追加する追加ステップと、前記候補が追加された前記リストから、前記予測動きベクトルを選択する選択ステップと、選択された前記予測動きベクトルを用いて前記カレントブロックの動きベクトルを復号し、前記カレントブロックの動きベクトルおよび前記カレントブロックの参照ピクチャを用いて前記カレントブロックを復号する復号ステップとを含み、前記導出ステップでは、前記カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるか、および、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定し、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれロングターム参照ピクチャであると判定された場合、前記co−locatedブロックの動きベクトルから、時間的距離に基づくスケーリングを行わない第1導出方式によって、前記候補を導出し、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれショートターム参照ピクチャであると判定された場合、前記co−locatedブロックの動きベクトルから、時間的距離に基づくスケーリングを行う第2導出方式によって、前記候補を導出する画像復号方法でもよい。
これにより、予測動きベクトルの候補が、極端に大きくなったり、極端に小さくなったりせずに、適切に導出される。したがって、予測精度の向上が可能になり、符号化効率の向上が可能になる。
例えば、前記導出ステップでは、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャのうち、一方がロングターム参照ピクチャであると判定され、他方がショートターム参照ピクチャであると判定された場合、前記co−locatedブロックの動きベクトルから前記候補を導出せず、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれロングターム参照ピクチャであると判定された場合、または、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれショートターム参照ピクチャであると判定された場合、前記co−locatedブロックの動きベクトルから前記候補を導出してもよい。
これにより、予測精度が低いと予想される場合、予測動きベクトルの候補は、co−locatedブロックの動きベクトルから、導出されない。したがって、予測精度の劣化が抑制される。
また、例えば、前記復号ステップでは、さらに、前記カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを示す情報、および、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを示す情報を復号し、前記導出ステップでは、前記カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを示す情報を用いて、前記カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定し、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを示す情報を用いて、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。
これにより、各参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを示す情報が符号化側から復号側へ通知される。したがって、符号化側と復号側とで、同様の判定結果が得られ、同様の処理が行われる。
また、例えば、前記導出ステップでは、前記カレントブロックの参照ピクチャから前記カレントブロックを含むピクチャまでの時間的距離を用いて、前記カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定し、前記co−locatedブロックの参照ピクチャから前記co−locatedブロックを含むピクチャまでの時間的距離を用いて、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。
これにより、各参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかが、時間的距離に基づいて、簡潔かつ適切に判定される。
また、例えば、前記導出ステップでは、前記co−locatedブロックの復号が行われる期間に、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。
これにより、co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかが、より正確に判定される。
また、例えば、前記導出ステップでは、前記カレントブロックの復号が行われる期間に、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。
これにより、co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかの情報が長期間維持されなくてもよい。
また、例えば、前記導出ステップでは、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれロングターム参照ピクチャであると判定された場合、前記co−locatedブロックの動きベクトルを前記候補として導出し、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれショートターム参照ピクチャであると判定された場合、前記co−locatedブロックの参照ピクチャから前記co−locatedブロックを含むピクチャまでの時間的距離に対する、前記カレントブロックの参照ピクチャから前記カレントブロックを含むピクチャまでの時間的距離の比率を用いて、前記co−locatedブロックの動きベクトルのスケーリングを行うことによって、前記候補を導出してもよい。
これにより、2つの参照ピクチャがロングターム参照ピクチャである場合、スケーリングが省かれ、演算量が低減する。そして、2つの参照ピクチャがショートターム参照ピクチャである場合、予測動きベクトルの候補が、時間的距離に基づいて、適切に導出される。
また、例えば、前記導出ステップでは、さらに、前記カレントブロックの参照ピクチャがショートターム参照ピクチャであると判定され、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであると判定された場合、前記co−locatedブロックから前記候補を導出せず、ショートターム参照ピクチャを参照して復号された別のco−locatedブロックを選択し、前記別のco−locatedブロックの動きベクトルから前記第2導出方式によって前記候補を導出してもよい。
これにより、予測精度の高い候補を導出するためのブロックが選択される。したがって、予測精度が向上する。
また、本発明の一態様に係るコンテンツ供給方法は、前記画像符号化方法により符号化された画像データが記録されたサーバから、外部の端末からの要求に応じて、前記画像データを送信する。
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの非一時的な記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
図5は、本実施の形態に係る画像符号化装置のブロック図である。図5に示された画像符号化装置500は、画像をブロック毎に符号化して、符号化された画像を含む符号化ストリームを出力する。具体的には、画像符号化装置500は、減算部501、変換部502、量子化部503、エントロピー符号化部504、逆量子化部505、逆変換部506、加算部507、ブロックメモリ508、ピクチャメモリ509、イントラ予測部510、インター予測部511および選択部512を備える。
減算部501は、画像符号化装置500に入力された画像から予測画像を減算することにより差分画像を出力する。変換部502は、減算部501から出力された差分画像を周波数変換することにより、複数の周波数係数を生成する。量子化部503は、変換部502で生成された複数の周波数係数を量子化することにより、複数の量子化係数を生成する。エントロピー符号化部504は、量子化部503で生成された複数の量子化係数を符号化することにより、符号化ストリームを生成する。
逆量子化部505は、量子化部503で生成された複数の量子化係数を逆量子化することにより、複数の周波数係数を復元する。逆変換部506は、逆量子化部505で復元された複数の周波数係数を逆周波数変換することにより、差分画像を復元する。加算部507は、逆変換部506で復元された差分画像に予測画像を加算することにより、画像を復元(再構成)する。加算部507は、復元された画像(再構成画像)をブロックメモリ508およびピクチャメモリ509に格納する。
ブロックメモリ508は、加算部507で復元された画像をブロック毎に記憶するためのメモリである。また、ピクチャメモリ509は、加算部507で復元された画像をピクチャ毎に記憶するためのメモリである。
イントラ予測部510は、ブロックメモリ508を参照して、イントラ予測を行う。すなわち、イントラ予測部510は、ピクチャ内の画素値をそのピクチャ内の他の画素値から予測する。これによって、イントラ予測部510は、予測画像を生成する。また、インター予測部511は、ピクチャメモリ509を参照して、インター予測を行う。すなわち、インター予測部511は、ピクチャ内の画素値を他のピクチャ内の画素値から予測する。これによって、インター予測部511は、予測画像を生成する。
選択部512は、イントラ予測部510で生成された予測画像、および、インター予測部511で生成された予測画像のいずれかを選択し、選択された予測画像を減算部501および加算部507に出力する。
図5には示されていないが、画像符号化装置500は、デブロックフィルタ部を備えてもよい。そして、デブロックフィルタ部が、加算部507で復元された画像に対してデブロックフィルタ処理を行うことにより、ブロック境界付近のノイズを除去してもよい。また、画像符号化装置500は、画像符号化装置500における各処理を制御する制御部を備えてもよい。
図6は、本実施の形態に係る画像復号装置のブロック図である。図6に示された画像復号装置600は、符号化ストリームを取得し、画像をブロック毎に復号する。具体的には、画像復号装置600は、エントロピー復号部601、逆量子化部602、逆変換部603、加算部604、ブロックメモリ605、ピクチャメモリ606、イントラ予測部607、インター予測部608および選択部609を備える。
エントロピー復号部601は、符号化ストリームに含まれる符号化された複数の量子化係数を復号する。逆量子化部602は、エントロピー復号部601で復号された複数の量子化係数を逆量子化することにより、複数の周波数係数を復元する。逆変換部603は、逆量子化部602で復元された複数の周波数係数を逆周波数変換することにより、差分画像を復元する。
加算部604は、逆変換部603で復元された差分画像に予測画像を加算することにより、画像を復元(再構成)する。加算部604は、復元された画像(再構成画像)を出力する。また、加算部604は、復元された画像をブロックメモリ605およびピクチャメモリ606に格納する。
ブロックメモリ605は、加算部604で復元された画像をブロック毎に記憶するためのメモリである。また、ピクチャメモリ606は、加算部604で復元された画像をピクチャ毎に記憶するためのメモリである。
イントラ予測部607は、ブロックメモリ605を参照して、イントラ予測を行う。すなわち、イントラ予測部607は、ピクチャ内の画素値をそのピクチャ内の他の画素値から予測する。これによって、イントラ予測部607は、予測画像を生成する。また、インター予測部608は、ピクチャメモリ606を参照して、インター予測を行う。すなわち、インター予測部608は、ピクチャ内の画素値を他のピクチャ内の画素値から予測する。これによって、インター予測部608は、予測画像を生成する。
選択部609は、イントラ予測部607で生成された予測画像、および、インター予測部608で生成された予測画像のいずれかを選択し、選択された予測画像を加算部604に出力する。
図6には示されていないが、画像復号装置600は、デブロックフィルタ部を備えてもよい。そして、デブロックフィルタ部が、加算部604で復元された画像に対してデブロックフィルタ処理を行うことにより、ブロック境界付近のノイズを除去してもよい。また、画像復号装置600は、画像復号装置600における各処理を制御する制御部を備えてもよい。
上記の符号化処理および復号処理は、符号化ユニット毎に行われる。変換処理、量子化処理、逆変換処理および逆量子化処理は、符号化ユニット内の変換ユニット(TU:Transform Unit)毎に行われる。予測処理は、符号化ユニット内の予測ユニット毎に行われる。
図7は、図5に示された画像符号化装置500の動作を示すフローチャートである。特に、図7は、インター予測によって画像を符号化する処理を示す。
まず、インター予測部511は、複数の参照ピクチャのそれぞれをショートターム参照ピクチャまたはロングターム参照ピクチャに分類する(S701)。
ロングターム参照ピクチャは、長期間の利用に適した参照ピクチャである。また、ロングターム参照ピクチャは、ショートターム参照ピクチャよりも長く利用するための参照ピクチャとして定義される。そのため、ロングターム参照ピクチャは、ピクチャメモリ509に長く維持される可能性が高い。また、ロングターム参照ピクチャは、カレントピクチャに依存しない絶対的なPOCで指定される。一方、ショートターム参照ピクチャは、カレントピクチャからの相対的なPOCで指定される。
次に、エントロピー符号化部504は、符号化ストリームのヘッダに、複数の参照ピクチャのそれぞれの分類を示す情報を書き込む(S702)。すなわち、エントロピー符号化部504は、複数の参照ピクチャのそれぞれがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを示す情報を書き込む。
次に、インター予測部511は、動き検出によって、符号化対象(予測対象)のカレントブロックの参照ピクチャおよび動きベクトルを特定する(S703)。次に、インター予測部511は、予測動きベクトルを導出する(S704)。導出処理の詳細については、後述する。
次に、インター予測部511は、カレント動きベクトルから予測動きベクトルを減算して、差分動きベクトルを導出する(S705)。次に、インター予測部511は、カレント参照ピクチャおよびカレント動きベクトルを用いて動き補償を行うことにより、予測ブロックを生成する(S706)。
次に、減算部501は、カレントブロック(原画像)から予測ブロックを減算して、残差ブロックを生成する(S707)。最後に、エントロピー符号化部504は、残差ブロックと、差分動きベクトルと、カレント参照ピクチャを示す参照インデックスとを符号化して、これらを含む符号化ストリームを生成する(S708)。
図8は、図6に示された画像復号装置600の動作を示すフローチャートである。特に、図8は、インター予測によって画像を復号する処理を示す。
まず、エントロピー復号部601は、符号化ストリームを取得し、符号化ストリームのヘッダを解析(parse)することにより、複数の参照ピクチャのそれぞれの分類を示す情報を取得する(S801)。すなわち、エントロピー復号部601は、複数の参照ピクチャのそれぞれがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを示す情報を取得する。
また、エントロピー復号部601は、符号化ストリームを解析することにより、残差ブロックと、差分動きベクトルと、カレント参照ピクチャを示す参照インデックスとを取得する(S802)。
次に、インター予測部608は、予測動きベクトルを導出する(S803)。導出処理の詳細については、後述する。次に、インター予測部608は、差分動きベクトルに予測動きベクトルを加算して、カレント動きベクトルを生成する(S804)。次に、インター予測部608は、カレント参照ピクチャおよびカレント動きベクトルを用いて動き補償を行うことにより、予測ブロックを生成する(S805)。最後に、加算部604は、残差ブロックに予測ブロックを加算して、再構成ブロックを生成する(S806)。
図9は、図7および図8に示された導出処理の詳細を示すフローチャートである。以下は、主に、図5のインター予測部511の動作を示す。符号化を復号に読み替えれば、図6のインター予測部608の動作も、図5のインター予測部511の動作と同様である。
まず、インター予測部511は、利用可能な複数の参照ピクチャから、co−locatedピクチャを選択する(S901)。利用可能な複数の参照ピクチャは、符号化済みのピクチャであり、ピクチャメモリ509に維持されているピクチャである。
次に、インター予測部511は、co−locatedピクチャ内のco−locatedブロックを選択する(S902)。そして、インター予測部511は、co−located参照ピクチャおよびco−located動きベクトルを特定する(S903)。
次に、インター予測部511は、カレント参照ピクチャおよびco−located参照ピクチャのいずれかがロングターム参照ピクチャであるか否かを判定する(S904)。そして、カレント参照ピクチャおよびco−located参照ピクチャのいずれかがロングターム参照ピクチャであると判定された場合(S904でYes)、インター予測部511は、第1導出方式に従って、予測動きベクトルを導出する(S905)。
第1導出方式は、co−located動きベクトルを用いる方式である。より具体的には、第1導出方式は、POCベースのスケーリングなしで、直接、co−located動きベクトルを予測動きベクトルとして導出する方式である。第1導出方式は、予め定められた一定の比率でco−located動きベクトルをスケーリングすることにより、予測動きベクトルを導出する方式でもよい。
カレント参照ピクチャおよびco−located参照ピクチャのいずれもがロングターム参照ピクチャでないと判定された場合(S904でNo)、インター予測部511は、第2導出方式に従って、予測動きベクトルを導出する(S906)。すなわち、カレント参照ピクチャおよびco−located参照ピクチャの両方がショートターム参照ピクチャであると判定された場合、インター予測部511は、第2導出方式に従って、予測動きベクトルを導出する。
第2導出方式は、カレント参照ピクチャと、co−located参照ピクチャと、co−located動きベクトルとを用いる方式である。より具体的には、第2導出方式は、co−located動きベクトルに対してPOCベースのスケーリング(式1)を行うことにより、予測動きベクトルを導出する方式である。
以下、再度、図9を参照して、時間予測動きベクトルを導出する処理のより具体的な例を説明する。先に説明された導出処理は、以下のように変更されてもよい。
まず、インター予測部511は、co−locatedピクチャを選択する(S901)。より具体的には、スライスヘッダパラメータslice_typeがBであり、かつ、スライスヘッダパラメータcollocated_from_l0_flagが0である場合、ピクチャRefPicList1[0]がco−locatedピクチャとして選択される。ピクチャRefPicList1[0]は、順序付き参照ピクチャリストRefPicList1における1番目の参照ピクチャである。
スライスヘッダパラメータslice_typeがBでない場合、または、スライスヘッダパラメータcollocated_from_l0_flagが0でない場合、ピクチャRefPicList0[0]がco−locatedピクチャとして選択される。ピクチャRefPicList0[0]は、順序付き参照ピクチャリストRefPicList0における1番目の参照ピクチャである。
次に、インター予測部511は、co−locatedブロックを選択する(S902)。図4に示されたサンプルc0を含む第1ブロックが利用可能である場合、第1ブロックがco−locatedブロックとして選択される。第1ブロックが利用可能でなく、かつ、図4に示されたサンプルc1を含む第2ブロックが利用可能である場合、第2ブロックがco−locatedブロックとして選択される。
利用可能なco−locatedブロックが選択された場合、インター予測部511は、時間予測動きベクトルを利用可能として設定する。利用可能なco−locatedブロックが選択されなかった場合、インター予測部511は、時間予測動きベクトルを利用不可として設定する。
時間予測動きベクトルが利用可能として設定された場合、インター予測部511は、co−located動きベクトルを基準動きベクトルとして特定する。また、インター予測部511は、co−located参照ピクチャを特定する(S903)。co−locatedブロックが複数の動きベクトルを有する場合、すなわち、co−locatedブロックが複数の動きベクトルを用いて符号化された場合、インター予測部511は、所定の優先順位に従って、基準動きベクトルを選択する。
例えば、カレント参照ピクチャがショートターム参照ピクチャである場合、インター予測部511は、複数の動きベクトルのうち、ショートターム参照ピクチャ内の位置を指し示す動きベクトルを優先して基準動きベクトルとして選択してもよい。
つまり、インター予測部511は、ショートターム参照ピクチャ内の位置を指し示す動きベクトルが存在する場合、その動きベクトルを基準動きベクトルとして選択する。そして、インター予測部511は、ショートターム参照ピクチャ内の位置を指し示す動きベクトルが存在しない場合、ロングターム参照ピクチャ内の位置を指し示す動きベクトルを基準動きベクトルとして選択する。
その後、カレント参照ピクチャおよびco−located参照ピクチャのいずれかがロングターム参照ピクチャである場合(S904でYes)、インター予測部511は、基準動きベクトルを時間予測動きベクトルとして導出する(S905)。
一方、2つの参照ピクチャのいずれもがロングターム参照ピクチャでない場合(S904でNo)、インター予測部511は、基準動きベクトルからPOCベースのスケーリングによって時間予測動きベクトルを導出する(S906)。
上記の通り、時間予測動きベクトルは、利用可能または利用不可として設定される。インター予測部511は、利用可能として設定された時間予測動きベクトルを予測動きベクトル候補の順序付きリストに入れる。順序付きリストは、時間予測動きベクトルに限らず、様々な動きベクトルを予測動きベクトル候補として保持する。
インター予測部511は、順序付きリストから、1つの予測動きベクトルを選択し、選択された予測動きベクトルを用いて、カレント動きベクトルを予測する。その際、インター予測部511は、順序付きリストから、カレント動きベクトルに最も近い予測動きベクトル、あるいは、カレント動きベクトルを最も高い符号化効率で符号化することが可能な予測動きベクトルを選択する。選択された予測動きベクトルに対応するインデックスは、符号化ストリームに書き込まれる。
以上の処理によって、時間予測動きベクトルが、co−located動きベクトルから、極端に大きくなったり、極端に小さくなったりせずに、適切に導出される。したがって、予測精度が向上し、符号化効率が向上する。
なお、各参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかは、時間によって変更されてもよい。例えば、ショートターム参照ピクチャが、後に、ロングターム参照ピクチャに変更されてもよい。逆に、ロングターム参照ピクチャが、後に、ショートターム参照ピクチャに変更されてもよい。
また、インター予測部511は、co−locatedブロックの符号化が行われる期間に、co−located参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。そして、画像符号化装置500は、co−locatedブロックの符号化が行われてからカレントブロックの符号化が行われるまで、判定結果を保持するための追加のメモリを有してもよい。
この場合、co−located参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかが、より正確に判定される。
あるいは、インター予測部511は、カレントブロックの符号化が行われる期間に、co−located参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。
この場合、co−located参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかの情報が、長期間にわたって維持されなくてもよい。
また、インター予測部511は、カレント参照ピクチャからカレントピクチャまでの時間的距離を用いて、カレント参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。
例えば、カレント参照ピクチャからカレントピクチャまでの時間的距離が所定の閾値よりも大きい場合、インター予測部511は、カレント参照ピクチャがロングターム参照ピクチャであると判定する。そして、時間的距離が所定の閾値以下である場合、インター予測部511は、カレント参照ピクチャがショートターム参照ピクチャであると判定する。
同様に、インター予測部511は、co−located参照ピクチャからco−locatedピクチャまでの時間的距離を用いて、co−located参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。
例えば、co−located参照ピクチャからco−locatedピクチャまでの時間的距離が所定の閾値よりも大きい場合、インター予測部511は、co−located参照ピクチャがロングターム参照ピクチャであると判定する。そして、時間的距離が所定の閾値以下である場合、インター予測部511は、co−located参照ピクチャがショートターム参照ピクチャであると判定する。
そして、画像復号装置600のインター予測部608が、画像符号化装置500のインター予測部511と同様に、各参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを時間的距離に基づいて判定してもよい。この場合、各参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを示す情報は符号化されなくてもよい。
本実施の形態で示されたその他の処理についても、画像復号装置600の各構成要素が、画像符号化装置500において対応する構成要素と同様の処理を行うことにより、高い符号化効率で符号化された画像が適切に復号される。
また、以上に示された動作は、他の実施の形態においても適用可能である。本実施の形態に示された構成および動作が、他の実施の形態に組み込まれてもよいし、他の実施の形態に示される構成および動作が、本実施の形態に組み込まれてもよい。
(実施の形態2)
本実施の形態に係る画像符号化装置および画像復号装置の構成は実施の形態1と同様である。そのため、図5の画像符号化装置500の構成、および、図6の画像復号装置600の構成を用いて、本実施の形態に係るこれらの動作を説明する。
また、本実施の形態に係る画像符号化装置500は、実施の形態1と同様に、図7に示された動作を行う。また、本実施の形態に係る画像復号装置600は、実施の形態1と同様に、図8に示された動作を行う。本実施の形態では、予測動きベクトルの導出処理が、実施の形態1とは異なる。以下、詳細に説明する。
図10は、本実施の形態に係る導出処理の詳細を示すフローチャートである。本実施の形態に係るインター予測部511は、図9に示された動作に代えて、図10に示された動作を行う。以下は、主に、図5のインター予測部511の動作を示す。符号化を復号に読み替えれば、図6のインター予測部608の動作も、図5のインター予測部511の動作と同様である。
まず、インター予測部511は、利用可能な複数の参照ピクチャから、co−locatedピクチャを選択する(S1001)。次に、インター予測部511は、co−locatedピクチャ内のco−locatedブロックを選択する(S1002)。そして、インター予測部511は、co−located参照ピクチャおよびco−located動きベクトルを特定する(S1003)。
次に、インター予測部511は、カレント参照ピクチャがロングターム参照ピクチャであるか否かを判定する(S1004)。そして、カレント参照ピクチャがロングターム参照ピクチャであると判定された場合(S1004でYes)、インター予測部511は、実施の形態1と同様の第1導出方式に従って、予測動きベクトルを導出する(S1005)。
カレント参照ピクチャがロングターム参照ピクチャでないと判定された場合(S1004でNo)、インター予測部511は、co−located参照ピクチャがロングターム参照ピクチャであるか否かを判定する(S1006)。
そして、co−located参照ピクチャがロングターム参照ピクチャでないと判定された場合(S1006でNo)、インター予測部511は、実施の形態1と同様の第2導出方式に従って、予測動きベクトルを導出する(S1007)。すなわち、カレント参照ピクチャおよびco−located参照ピクチャの両方がショートターム参照ピクチャであると判定された場合、インター予測部511は、第2導出方式に従って、予測動きベクトルを導出する。
co−located参照ピクチャがロングターム参照ピクチャであると判定された場合(S1006でYes)、インター予測部511は、co−locatedピクチャ内の別のco−locatedブロックを選択する(S1008)。図10の例では、ショートターム参照ピクチャを参照して符号化されたブロックが別のco−locatedブロックとして選択される。
その後、インター予測部511は、別のco−locatedブロックに対応するco−located参照ピクチャとco−located動きベクトルとを特定する(S1009)。次に、インター予測部511は、POCベースのスケーリングを用いる第2導出方式に従って、予測動きベクトルを導出する(S1010)。
すなわち、カレントブロックの参照ピクチャがショートターム参照ピクチャであり、co−locatedブロックの参照ピクチャがロングターム参照ピクチャである場合、インター予測部511は、そのco−locatedブロックの動きベクトルから予測動きベクトルを導出しない。この場合、インター予測部511は、ショートターム参照ピクチャを参照して符号化された別のco−locatedブロックを選択し、選択された別のco−locatedブロックの動きベクトルから予測動きベクトルを導出する。
例えば、カレントブロックの参照ピクチャがショートターム参照ピクチャであり、co−locatedブロックの参照ピクチャがロングターム参照ピクチャである場合、インター予測部511は、ショートターム参照ピクチャを参照して符号化されたブロックを探索する。そして、インター予測部511は、ショートターム参照ピクチャを参照して符号化されたブロックを別のco−locatedブロックとして選択する。
別の例として、カレントブロックの参照ピクチャがショートターム参照ピクチャであり、co−locatedブロックの参照ピクチャがロングターム参照ピクチャである場合、初めに、インター予測部511は、ショートターム参照ピクチャを参照して符号化されたブロックを探索する。
そして、ショートターム参照ピクチャを参照して符号化されたブロックが存在する場合、インター予測部511は、そのブロックを別のco−locatedブロックとして選択する。ショートターム参照ピクチャを参照して符号化されたブロックが存在しない場合、次に、インター予測部511は、ロングターム参照ピクチャを参照して符号化されたブロックを探索する。そして、ロングターム参照ピクチャを参照して符号化されたブロックを別のco−locatedブロックとして選択する。
また、例えば、まず、インター予測部511は、図4の第1ブロックをco−locatedブロックとして選択する。そして、カレント参照ピクチャがショートターム参照ピクチャであり、co−located参照ピクチャがロングターム参照ピクチャである場合、次に、インター予測部511は、図4の第2ブロックをco−locatedブロックとして新たに選択する。
上記の例において、図4の第2ブロックの参照ピクチャがショートターム参照ピクチャである場合にのみ、インター予測部511は、第2ブロックをco−locatedブロックとして選択してもよい。さらに、co−locatedブロックとして選択されるブロックは、図4の第2ブロックに限らず、その他のブロックがco−locatedブロックとして選択されてもよい。
図11は、本実施の形態に係るco−locatedブロックを説明するための図である。図11には、co−locatedピクチャ内にサンプルc0、c1、c2およびc3が示されている。図11のサンプルc0およびc1は、図4のサンプルc0およびc1と同等である。サンプルc1を含む第2ブロックだけでなく、サンプルc2を含む第3ブロック、または、サンプルc3を含む第4ブロックが、別のco−locatedブロックとして選択されてもよい。
サンプルc2の座標は(x+w−1、y+h−1)である。サンプルc3の座標は(x+1、y+1)である。
インター予測部511は、第1ブロック、第2ブロック、第3ブロックおよび第4ブロックの順で、それらが利用可能であるか否かを判定する。そして、インター予測部511は、利用可能なブロックを最終的なco−locatedブロックとして決定する。ブロックが利用可能でない例として、ブロックが存在しない場合、あるいは、ブロックがイントラ予測で符号化された場合等がある。
インター予測部511は、カレント参照ピクチャがショートターム参照ピクチャである場合、ロングターム参照ピクチャを参照して符号化されたブロックを利用可能でないと判定してもよい。
上記では、co−locatedブロックの選択方法の例が説明されているが、co−locatedブロックの選択方法は、上記で説明された例に限られない。サンプルc0、c1、c2またはc3以外のサンプルを含むブロックが、co−locatedブロックとして選択されてもよい。また、それらの優先順位は、本実施の形態で示される例に限られない。
以下、再度、図10を参照して、時間予測動きベクトルを導出する処理のより具体的な例を説明する。先に説明された導出処理は、以下のように変更されてもよい。
まず、インター予測部511は、実施の形態1と同様に、co−locatedピクチャを選択する(S1001)。そして、インター予測部511は、図11に示されたサンプルc0を含む第1ブロックをco−locatedブロックとして選択し、co−located参照ピクチャを特定する(S1002およびS1003)。
次に、インター予測部511は、co−locatedブロックが利用可能であるか否かを判定する。その際、カレント参照ピクチャがショートターム参照ピクチャであり、かつ、co−located参照ピクチャがロングターム参照ピクチャである場合、インター予測部511は、co−locatedブロックが利用可能でないと判定する(S1004およびS1006)。
co−locatedブロックが利用可能でない場合、インター予測部511は、利用可能な別のco−locatedブロックを探索して選択する(S1008)。具体的には、インター予測部511は、図11のサンプルc1を含む第2ブロック、サンプルc2を含む第3ブロック、および、サンプルc3を含む第4ブロックの中から、ショートターム参照ピクチャを参照して符号化されたブロックを選択する。そして、インター予測部511は、co−locatedブロックの参照ピクチャを特定する(S1009)。
利用可能なco−locatedブロックが選択された場合、インター予測部511は、時間予測動きベクトルを利用可能として設定する。利用可能なco−locatedブロックが選択されなかった場合、インター予測部511は、時間予測動きベクトルを利用不可として設定する。
時間予測動きベクトルが利用可能として設定された場合、インター予測部511は、co−located動きベクトルを基準動きベクトルとして特定する(S1003およびS1009)。co−locatedブロックが複数の動きベクトルを有する場合、すなわち、co−locatedブロックが複数の動きベクトルを用いて符号化された場合、インター予測部511は、実施の形態1と同様に所定の優先順位に従って、基準動きベクトルを選択する。
そして、カレント参照ピクチャおよびco−located参照ピクチャのいずれかがロングターム参照ピクチャである場合(S1004でYes)、インター予測部511は、基準動きベクトルを時間予測動きベクトルとして導出する(S1005)。
一方、カレント参照ピクチャおよびco−located参照ピクチャのいずれもがロングターム参照ピクチャでない場合(S1004でNo)、インター予測部511は、基準動きベクトルから、POCベースのスケーリングによって、時間予測動きベクトルを導出する(S1007およびS1010)。
時間予測動きベクトルが利用不可として設定された場合、インター予測部511は、時間予測動きベクトルを導出しない。
以上の通り、本実施の形態では、カレントブロックの参照ピクチャがショートターム参照ピクチャであり、かつ、co−locatedブロックの参照ピクチャがロングターム参照ピクチャである場合、そのco−locatedブロックの動きベクトルから時間予測動きベクトルは導出されない。
カレント参照ピクチャおよびco−located参照ピクチャのうち、一方がロングターム参照ピクチャであり、他方がショートターム参照ピクチャである場合、予測精度の高い時間予測動きベクトルを導出することは、非常に困難である。そこで、本実施の形態に係る画像符号化装置500および画像復号装置600は、上記の動作によって、予測精度の劣化を抑制する。
(実施の形態3)
本実施の形態に係る画像符号化装置および画像復号装置の構成は実施の形態1と同様である。そのため、図5の画像符号化装置500の構成、および、図6の画像復号装置600の構成を用いて、本実施の形態に係るこれらの動作を説明する。
また、本実施の形態に係る画像符号化装置500は、実施の形態1と同様に、図7に示された動作を行う。また、本実施の形態に係る画像復号装置600は、実施の形態1と同様に、図8に示された動作を行う。本実施の形態では、予測動きベクトルの導出処理が、実施の形態1とは異なる。以下、詳細に説明する。
図12は、本実施の形態に係る導出処理の詳細を示すフローチャートである。本実施の形態に係るインター予測部511は、図9に示された動作に代えて、図12に示された動作を行う。以下は、主に、図5のインター予測部511の動作を示す。符号化を復号に読み替えれば、図6のインター予測部608の動作も、図5のインター予測部511の動作と同様である。
まず、インター予測部511は、利用可能な複数の参照ピクチャから、co−locatedピクチャを選択する(S1201)。次に、インター予測部511は、co−locatedピクチャ内のco−locatedブロックを選択する(S1202)。そして、インター予測部511は、co−located参照ピクチャおよびco−located動きベクトルを特定する(S1203)。
次に、インター予測部511は、カレント参照ピクチャがロングターム参照ピクチャであるか否かを判定する(S1204)。そして、カレント参照ピクチャがロングターム参照ピクチャであると判定された場合(S1204でYes)、インター予測部511は、実施の形態1と同様の第1導出方式に従って、予測動きベクトルを導出する(S1205)。
カレント参照ピクチャがロングターム参照ピクチャでないと判定された場合(S1204でNo)、インター予測部511は、co−located参照ピクチャがロングターム参照ピクチャであるか否かを判定する(S1206)。
そして、co−located参照ピクチャがロングターム参照ピクチャでないと判定された場合(S1206でNo)、インター予測部511は、実施の形態1と同様の第2導出方式に従って、予測動きベクトルを導出する(S1207)。すなわち、カレント参照ピクチャおよびco−located参照ピクチャの両方がショートターム参照ピクチャであると判定された場合、インター予測部511は、第2導出方式に従って、予測動きベクトルを導出する。
co−located参照ピクチャがロングターム参照ピクチャであると判定された場合(S1206でYes)、インター予測部511は、別のco−locatedピクチャを選択する(S1208)。そして、インター予測部511は、別のco−locatedピクチャ内の別のco−locatedブロックを選択する(S1209)。図12の例では、ショートターム参照ピクチャを参照して符号化されたブロックが別のco−locatedブロックとして選択される。
その後、インター予測部511は、別のco−locatedブロックに対応するco−located参照ピクチャとco−located動きベクトルとを特定する(S1210)。次に、インター予測部511は、POCベースのスケーリングを用いる第2導出方式に従って、予測動きベクトルを導出する(S1211)。
すなわち、カレントブロックの参照ピクチャがショートターム参照ピクチャであり、co−locatedブロックの参照ピクチャがロングターム参照ピクチャである場合、インター予測部511は、そのco−locatedブロックから予測動きベクトルを導出しない。
この場合、インター予測部511は、別のco−locatedピクチャを選択する。そして、インター予測部511は、選択された別のco−locatedピクチャから、ショートターム参照ピクチャを参照して符号化された別のco−locatedブロックを選択する。インター予測部511は、選択された別のco−locatedブロックの動きベクトルから予測動きベクトルを導出する。
例えば、カレント参照ピクチャがショートターム参照ピクチャであり、co−located参照ピクチャがロングターム参照ピクチャである場合、インター予測部511は、ショートターム参照ピクチャを参照して符号化されたブロックを含むピクチャを探索する。そして、インター予測部511は、ショートターム参照ピクチャを参照して符号化されたブロックを含むピクチャを別のco−locatedピクチャとして選択する。
別の例として、カレント参照ピクチャがショートターム参照ピクチャであり、co−located参照ピクチャがロングターム参照ピクチャである場合、初めに、インター予測部511は、ショートターム参照ピクチャを参照して符号化されたブロックを含むピクチャを探索する。
そして、ショートターム参照ピクチャを参照して符号化されたブロックを含むピクチャが存在する場合、インター予測部511は、そのピクチャを別のco−locatedピクチャとして選択する。
ショートターム参照ピクチャを参照して符号化されたブロックを含むピクチャが存在しない場合、次に、インター予測部511は、ロングターム参照ピクチャを参照して符号化されたブロックを含むピクチャを探索する。そして、インター予測部511は、ロングターム参照ピクチャを参照して符号化されたブロックを含むピクチャを別のco−locatedピクチャとして選択する。
また、例えば、ピクチャRefPicList0[0]がco−locatedピクチャである場合、ピクチャRefPicList1[0]が別のco−locatedピクチャである。ピクチャRefPicList1[0]がco−locatedピクチャである場合、ピクチャRefPicList0[0]が別のco−locatedピクチャである。
すなわち、Bピクチャの符号化(双予測の符号化)において用いられる2つの参照ピクチャリストのうち、一方の参照ピクチャリストの1番目のピクチャがco−locatedピクチャであり、他方の参照ピクチャリストの1番目のピクチャが別のco−locatedピクチャである。
以下、再度、図12を参照して、時間予測動きベクトルを導出する処理のより具体的な例を説明する。先に説明された導出処理は、以下のように変更されてもよい。
まず、インター予測部511は、ピクチャRefPicList0[0]およびピクチャRefPicList1[0]のうちの一方をco−locatedピクチャとして選択する(S1201)。そして、インター予測部511は、選択されたco−locatedピクチャから、図11に示されたサンプルc0を含む第1ブロックをco−locatedブロックとして選択し、co−located参照ピクチャを特定する(S1202およびS1203)。
次に、インター予測部511は、co−locatedブロックが利用可能であるか否かを判定する。その際、カレント参照ピクチャがショートターム参照ピクチャであり、かつ、co−located参照ピクチャがロングターム参照ピクチャである場合、インター予測部511は、co−locatedブロックが利用可能でないと判定する(S1204およびS1206)。
co−locatedブロックが利用可能でない場合、インター予測部511は、利用可能なco−locatedブロックを新たに選択する。例えば、インター予測部511は、図11のサンプルc1を含む第2ブロックをco−locatedブロックとして選択する。そして、インター予測部511は、co−located参照ピクチャを特定する。
利用可能なco−locatedブロックが選択されなかった場合、インター予測部511は、別のco−locatedピクチャを選択する。その際、インター予測部511は、ピクチャRefPicList0[0]およびピクチャRefPicList1[0]のうちの他方をco−locatedピクチャとして選択する(S1208)。
そして、インター予測部511は、選択されたco−locatedピクチャから、図11に示されたサンプルc0を含む第1ブロックをco−locatedブロックとして選択し、co−located参照ピクチャを特定する(S1209およびS1210)。
次に、インター予測部511は、co−locatedブロックが利用可能であるか否かを判定する。その際、前の判定と同様に、カレント参照ピクチャがショートターム参照ピクチャであり、かつ、co−located参照ピクチャがロングターム参照ピクチャである場合、インター予測部511は、co−locatedブロックが利用可能でないと判定する。
co−locatedブロックが利用可能でない場合、インター予測部511は、利用可能なco−locatedブロックを新たに選択する(S1209)。具体的には、インター予測部511は、図11のサンプルc1を含む第2ブロックをco−locatedブロックとして選択する。そして、インター予測部511は、co−located参照ピクチャを特定する(S1210)。
最終的に、利用可能なco−locatedブロックが選択された場合、インター予測部511は、時間予測動きベクトルを利用可能として設定する。利用可能なco−locatedブロックが選択されなかった場合、インター予測部511は、時間予測動きベクトルを利用不可として設定する。
時間予測動きベクトルが利用可能として設定された場合、インター予測部511は、co−locatedブロックの動きベクトルを基準動きベクトルとして特定する(S1203およびS1210)。co−locatedブロックが複数の動きベクトルを有する場合、すなわち、co−locatedブロックが複数の動きベクトルを用いて符号化された場合、インター予測部511は、実施の形態1と同様に所定の優先順位に従って、基準動きベクトルを選択する。
そして、カレント参照ピクチャおよびco−located参照ピクチャのいずれかがロングターム参照ピクチャである場合(S1204でYes)、インター予測部511は、基準動きベクトルを時間予測動きベクトルとして導出する(S1205)。
一方、カレント参照ピクチャおよびco−located参照ピクチャのいずれもがロングターム参照ピクチャでない場合(S1204でNo)、インター予測部511は、基準動きベクトルから、POCベースのスケーリングによって、時間予測動きベクトルを導出する(S1207およびS1211)。
時間予測動きベクトルが利用不可として設定された場合、インター予測部511は、時間予測動きベクトルを導出しない。
以上の通り、本実施の形態に係る画像符号化装置500および画像復号装置600は、複数のピクチャから、時間予測動きベクトルの導出に適したブロックを選択し、選択されたブロックの動きベクトルから、時間予測動きベクトルを導出する。これにより、符号化効率が向上する。
(実施の形態4)
本実施の形態は、実施の形態1〜3に含まれる特徴的な構成および特徴的な手順を確認的に示す。
図13Aは、本実施の形態に係る画像符号化装置のブロック図である。図13Aに示された画像符号化装置1300は、複数のピクチャにおける複数のブロックのそれぞれを符号化する。また、画像符号化装置1300は、導出部1301、追加部1302、選択部1303および符号化部1304を備える。
例えば、導出部1301、追加部1302および選択部1303は、図5のインター予測部511等に対応する。符号化部1304は、図5のエントロピー符号化部504等に対応する。
図13Bは、図13Aに示された画像符号化装置1300の動作を示すフローチャートである。
導出部1301は、co−locatedブロックの動きベクトルから、予測動きベクトルの候補を導出する(S1301)。co−locatedブロックは、符号化対象のカレントブロックを含むピクチャとは異なるピクチャに含まれるブロックである。予測動きベクトルは、カレントブロックの動きベクトルの符号化に用いられる。
候補の導出において、導出部1301は、カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定する。また、導出部1301は、co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定する。
ここで、カレントブロックの参照ピクチャおよびco−locatedブロックの参照ピクチャがそれぞれロングターム参照ピクチャであると判定された場合、導出部1301は、co−locatedブロックの動きベクトルから第1導出方式によって候補を導出する。第1導出方式は、時間的距離に基づくスケーリングを行わない導出方式である。
一方、カレントブロックの参照ピクチャおよびco−locatedブロックの参照ピクチャがそれぞれショートターム参照ピクチャであると判定された場合、導出部1301は、co−locatedブロックの動きベクトルから第2導出方式によって候補を導出する。第2導出方式は、時間的距離に基づくスケーリングを行う導出方式である。
追加部1302は、導出された候補をリストに追加する(S1302)。選択部1303は、候補が追加されたリストから、予測動きベクトルを選択する(S1303)。
符号化部1304は、カレントブロックの動きベクトルおよびカレントブロックの参照ピクチャを用いてカレントブロックを符号化する。また、符号化部1304は、選択された予測動きベクトルを用いてカレントブロックの動きベクトルを符号化する(S1304)。
図14Aは、本実施の形態に係る画像復号装置のブロック図である。図14Aに示された画像復号装置1400は、複数のピクチャにおける複数のブロックのそれぞれを復号する。また、画像復号装置1400は、導出部1401、追加部1402、選択部1403および復号部1404を備える。
例えば、導出部1401、追加部1402および選択部1403は、図6のインター予測部608等に対応する。復号部1404は、図6のエントロピー復号部601等に対応する。
図14Bは、図14Aに示された画像復号装置1400の動作を示すフローチャートである。
導出部1401は、co−locatedブロックの動きベクトルから、予測動きベクトルの候補を導出する(S1401)。co−locatedブロックは、復号対象のカレントブロックを含むピクチャとは異なるピクチャに含まれるブロックである。予測動きベクトルは、カレントブロックの動きベクトルの復号に用いられる。
候補の導出において、導出部1401は、カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定する。また、導出部1401は、co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定する。
ここで、カレントブロックの参照ピクチャおよびco−locatedブロックの参照ピクチャがそれぞれロングターム参照ピクチャであると判定された場合、導出部1401は、co−locatedブロックの動きベクトルから第1導出方式によって候補を導出する。第1導出方式は、時間的距離に基づくスケーリングを行わない導出方式である。
一方、カレントブロックの参照ピクチャおよびco−locatedブロックの参照ピクチャがそれぞれショートターム参照ピクチャであると判定された場合、導出部1401は、co−locatedブロックの動きベクトルから第2導出方式によって候補を導出する。第2導出方式は、時間的距離に基づくスケーリングを行う導出方式である。
追加部1402は、導出された候補をリストに追加する(S1402)。選択部1403は、候補が追加されたリストから、予測動きベクトルを選択する(S1403)。
復号部1404は、選択された予測動きベクトルを用いてカレントブロックの動きベクトルを復号する。また、復号部1404は、カレントブロックの動きベクトルおよびカレントブロックの参照ピクチャを用いてカレントブロックを復号する(S1404)。
以上の処理によって、予測動きベクトルの候補が、co−locatedブロックの動きベクトルから、極端に大きくなったり、極端に小さくなったりせずに、適切に導出される。したがって、予測精度の向上が可能になり、符号化効率の向上が可能になる。
なお、導出部1301および1401は、カレントブロックの参照ピクチャおよびco−locatedブロックの参照ピクチャのうち、一方がロングターム参照ピクチャであると判定され、他方がショートターム参照ピクチャであると判定された場合、co−locatedブロックの動きベクトルから候補を導出しなくてもよい。
この場合、導出部1301および1401は、さらに、ショートターム参照ピクチャを参照して符号化または復号された別のco−locatedブロックを選択し、別のco−locatedブロックから第2導出方式によって候補を導出してもよい。あるいは、この場合、導出部1301および1401は、別の導出方式で候補を導出してもよい。あるいは、この場合、導出部1301および1401は、最終的に、時間予測動きベクトルに対応する候補を導出しなくてもよい。
また、導出部1301および1401は、カレントブロックの参照ピクチャからカレントブロックを含むピクチャまでの時間的距離を用いて、カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。
また、導出部1301および1401は、co−locatedブロックの参照ピクチャからco−locatedブロックを含むピクチャまでの時間的距離を用いて、co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。
また、導出部1301および1401は、co−locatedブロックの符号化または復号が行われる期間に、co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。
また、導出部1301および1401は、カレントブロックの符号化または復号が行われる期間に、co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。
また、第1導出方式は、co−locatedブロックの動きベクトルを候補として導出する方式でもよい。第2導出方式は、co−locatedブロックの参照ピクチャからco−locatedブロックを含むピクチャまでの時間的距離に対する、カレントブロックの参照ピクチャからカレントブロックを含むピクチャまでの時間的距離の比率を用いて、co−locatedブロックの動きベクトルのスケーリングを行うことによって、候補を導出する方式でもよい。
また、符号化部1304は、さらに、カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを示す情報、および、co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを示す情報を符号化してもよい。
また、復号部1404は、さらに、カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを示す情報、および、co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを示す情報を復号してもよい。
そして、導出部1401は、復号された情報を用いて、前記カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。また、導出部1401は、復号された情報を用いて、co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定してもよい。
また、参照ピクチャの分類を示す情報はパラメータとして符号化ストリームにおいて次に示す位置に格納されてもよい。
図15Aは、参照ピクチャの分類を示すパラメータの格納位置の第1例を示す図である。図15Aのように、参照ピクチャの分類を示すパラメータは、シーケンスヘッダに格納されてもよい。シーケンスヘッダは、シーケンスパラメータセットとも呼ばれる。
図15Bは、参照ピクチャの分類を示すパラメータの格納位置の第2例を示す図である。図15Bのように、参照ピクチャの分類を示すパラメータは、ピクチャヘッダに格納されてもよい。ピクチャヘッダは、ピクチャパラメータセットとも呼ばれる。
図15Cは、参照ピクチャの分類を示すパラメータの格納位置の第3例を示す図である。図15Cのように、参照ピクチャの分類を示すパラメータは、スライスヘッダに格納されてもよい。
また、予測モード(インター予測またはイントラ予測)を示す情報はパラメータとして符号化ストリームにおいて次に示す位置に格納されてもよい。
図16は、予測モードを示すパラメータの格納位置の例を示す図である。図16のように、このパラメータは、CUヘッダ(符号化ユニットヘッダ)に格納されてもよい。このパラメータは、符号化ユニット内の予測ユニットがインター予測で符号化されたかイントラ予測で符号化されたかを示す。co−locatedブロックが利用可能であるか否かの判定に、このパラメータが用いられてもよい。
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の画像符号化装置などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、複数のピクチャにおける複数のブロックのそれぞれを符号化する画像符号化方法であって、符号化対象のカレントブロックを含むピクチャとは異なるピクチャに含まれるブロックであるco−locatedブロックの動きベクトルから、前記カレントブロックの動きベクトルの符号化に用いられる予測動きベクトルの候補を導出する導出ステップと、導出された前記候補をリストに追加する追加ステップと、前記候補が追加された前記リストから、前記予測動きベクトルを選択する選択ステップと、前記カレントブロックの動きベクトルおよび前記カレントブロックの参照ピクチャを用いて前記カレントブロックを符号化し、選択された前記予測動きベクトルを用いて前記カレントブロックの動きベクトルを符号化する符号化ステップとを含み、前記導出ステップでは、前記カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるか、および、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定し、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれロングターム参照ピクチャであると判定された場合、前記co−locatedブロックの動きベクトルから、時間的距離に基づくスケーリングを行わない第1導出方式によって、前記候補を導出し、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれショートターム参照ピクチャであると判定された場合、前記co−locatedブロックの動きベクトルから、時間的距離に基づくスケーリングを行う第2導出方式によって、前記候補を導出する画像符号化方法を実行させる。
また、このプログラムは、コンピュータに、複数のピクチャにおける複数のブロックのそれぞれを復号する画像復号方法であって、復号対象のカレントブロックを含むピクチャとは異なるピクチャに含まれるブロックであるco−locatedブロックの動きベクトルから、前記カレントブロックの動きベクトルの復号に用いられる予測動きベクトルの候補を導出する導出ステップと、導出された前記候補をリストに追加する追加ステップと、前記候補が追加された前記リストから、前記予測動きベクトルを選択する選択ステップと、選択された前記予測動きベクトルを用いて前記カレントブロックの動きベクトルを復号し、前記カレントブロックの動きベクトルおよび前記カレントブロックの参照ピクチャを用いて前記カレントブロックを復号する復号ステップとを含み、前記導出ステップでは、前記カレントブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるか、および、前記co−locatedブロックの参照ピクチャがロングターム参照ピクチャであるかショートターム参照ピクチャであるかを判定し、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれロングターム参照ピクチャであると判定された場合、前記co−locatedブロックの動きベクトルから、時間的距離に基づくスケーリングを行わない第1導出方式によって、前記候補を導出し、前記カレントブロックの参照ピクチャおよび前記co−locatedブロックの参照ピクチャがそれぞれショートターム参照ピクチャであると判定された場合、前記co−locatedブロックの動きベクトルから、時間的距離に基づくスケーリングを行う第2導出方式によって、前記候補を導出する画像復号方法を実行させてもよい。
また、各構成要素は、回路であってもよい。これらの回路は、全体として1つの回路を構成してもよいし、それぞれ別々の回路であってもよい。また、各構成要素は、汎用的なプロセッサで実現されてもよいし、専用のプロセッサで実現されてもよい。
以上、一つまたは複数の態様に係る画像符号化装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
例えば、画像符号化復号装置が、画像符号化装置および画像復号装置を備えてもよい。また、特定の処理部が実行する処理を別の処理部が実行してもよい。また、処理を実行する順番が変更されてもよいし、複数の処理が並行して実行されてもよい。
(実施の形態5)
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
図17は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図17のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局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の例に限らず、図18に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
図19は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)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の構成を図20に示す。情報再生/記録部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はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図21に光ディスクである記録メディア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の構成は例えば図19に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
図22Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
さらに、携帯電話ex114の構成例について、図22Bを用いて説明する。携帯電話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において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態6)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG−2、MPEG4−AVC、VC−1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG−2トランスポートストリーム形式のデジタルストリームである。
図23は、多重化データの構成を示す図である。図23に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(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が、それぞれ割り当てられている。
図24は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
図25は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図25における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図25の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
図26は、多重化データに最終的に書き込まれる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フィルタへの転送開始時刻を示す。多重化データには図26下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号は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時間の情報を持つ。
図27はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
多重化データ情報ファイルは、図28に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
多重化データ情報は図28に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
ストリーム属性情報は図29に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
また、本実施の形態における動画像復号化方法のステップを図30に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
(実施の形態7)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図31に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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(実施の形態8)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図32は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
より具体的には、駆動周波数切替え部ex803は、図31のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図31の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態6で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態6で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図34のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
図33は、本実施の形態の方法を実施するステップを示している。まず、ステップ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を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
(実施の形態9)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図35Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明の一態様は、インター予測に特徴を有していることから、例えば、インター予測については専用の復号処理部ex901を用い、それ以外のエントロピー復号、デブロッキング・フィルタ、逆量子化のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
また、処理を一部共有化する他の例を図35Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。