(本発明の基礎となった知見)
既に標準化されている、H.264と呼ばれる動画像符号化方式では、情報量の圧縮のために、Iピクチャ、Pピクチャ、Bピクチャという3種類のピクチャタイプを用いている。Iピクチャは、インター予測符号化処理を行わない、すなわち、ピクチャ内予測(以降、イントラ予測と呼ぶ)符号化処理を行うピクチャである。Pピクチャは、表示時間順で、符号化対象ピクチャの前方または後方にある既に符号化済みの1つのピクチャを参照してインター予測符号化を行うピクチャである。Bピクチャは、表示時間順で、符号化対象ピクチャの前方または後方にある既に符号化済みの2つのピクチャを参照してインター予測符号化を行うピクチャである。
インター予測符号化においては、参照ピクチャを特定するための参照ピクチャリストを生成する。参照ピクチャリストは、インター予測で参照する符号化済みの参照ピクチャに参照ピクチャインデックスを割り当てたリストである。例えば、Bピクチャでは、2つのピクチャを参照して符号化を行えるため、2つの参照ピクチャリスト(L0、L1)を保持する。
図1は、Bピクチャにおける参照ピクチャリストの一例を説明するための図である。図1における参照ピクチャリスト0(L0)は、双方向予測における予測方向0の参照ピクチャリストの例であり、参照ピクチャインデックス0の値0に表示順2の参照ピクチャ0、参照ピクチャインデックス0の値1に表示順1の参照ピクチャ1、参照ピクチャインデックス0の値2に表示順0の参照ピクチャ2を割り当てている。つまり、符号化対象ピクチャに対して、表示順で時間的に近い順に参照ピクチャインデックスを割り当てている。一方、参照ピクチャリスト1(L1)は、双方向予測における予測方向1の参照ピクチャリストの例であり、参照ピクチャインデックス1の値0に表示順1の参照ピクチャ1、参照ピクチャインデックス1の値1に表示順2の参照ピクチャ0、参照ピクチャインデックス2の値2に表示順0の参照ピクチャ2を割り当てている。このように、各参照ピクチャに対して、予測方向毎に異なる参照ピクチャインデックスを割り当てることや(図1の参照ピクチャ0、1)、同じ参照ピクチャインデックスを割り当てることが可能である(図1の参照ピクチャ2)。
また、H.264と呼ばれる動画像符号化方式では、Bピクチャにおける各符号化対象ブロックのインター予測の符号化モードとして、予測画像データと符号化対象ブロックとの画像データの差分値と、予測画像データ生成に用いた動きベクトルとを符号化する動きベクトル検出モードがある。動きベクトル検出モードは、予測方向として、符号化対象ピクチャの前方または後方にある既に符号化済みの2つのピクチャを参照して予測画像を生成する双方向予測と、前方または後方にある既に符号化済みの1つのピクチャを参照して予測画像を生成する片方向予測を選択することができる。
また、H.264と呼ばれる動画像符号化方式では、Bピクチャの符号化において、動きベクトルを導出する際に、時間予測動きベクトルモードと呼ぶ符号化モードを選択することができる。
図2は、時間予測動きベクトルモードにおけるインター予測符号化方法を説明するための図である。図2は、時間予測動きベクトルモードにおける動きベクトルを示す説明図であり、ピクチャB2のブロックaを時間予測動きベクトルモードで符号化する場合を示している。この場合、ピクチャB2の後方にある参照ピクチャであるピクチャP3中の、ブロックaと同じ位置にあるブロックb(以下、co−locatedブロック)を符号化した際に用いた動きベクトルvbを利用する。動きベクトルvbは、ブロックbが符号化された際に用いられた動きベクトルであり、ピクチャP1を参照している。ブロックaは、動きベクトルvbと平行な動きベクトルを用いて、前方向参照ピクチャであるピクチャP1と、後方参照ピクチャであるピクチャP3とから参照ブロックを取得し、2方向予測を行って符号化される。すなわち、ブロックaを符号化する際に用いられる動きベクトルは、ピクチャP1に対しては動きベクトルva1、ピクチャP3に対しては動きベクトルva2となる。
また、BピクチャやPピクチャにおける各符号化対象ブロックのインター予測モードとして、マージモードが検討されている。マージモードでは、符号化対象ブロックの隣接ブロックから動きベクトルや参照ピクチャインデックスをコピーして、符号化対象ブロックの符号化を行う。この際に、コピーに用いた隣接ブロックのインデックス等をビットストリームに付随させることによって、復号化時にも、その動きベクトルや参照ピクチャインデックスを選択できる。
図3は、マージモードにおいて用いられる隣接ブロックの動きベクトルおよび参照ピクチャインデックスの一例を示す図である。図3において、符号化対象ブロックの左隣接の符号化済みブロックは隣接ブロックAであり、符号化対象ブロックの上隣接の符号化済みブロックは隣接ブロックBであり、符号化対象ブロックの右上隣接の符号化済みブロックは隣接ブロックCであり、符号化対象ブロックの左下隣接の符号化済みブロックは隣接ブロックDである。
また、図3において、隣接ブロックAは予測方向0の片方向予測で符号化されたブロックであり、予測方向0の参照ピクチャインデックスRefL0_Aの示す参照ピクチャに対し、予測方向0の動きベクトルMvL0_Aを持つ。ここで、MvL0とは、参照ピクチャリスト0(L0)により特定した参照ピクチャを参照する動きベクトルであり、MvL1とは、参照ピクチャリスト1(L1)により特定した参照ピクチャを参照する動きベクトルである。また、隣接ブロックBは予測方向1の片方向予測で符号化されたブロックであり、予測方向1の参照ピクチャインデックスRefL1_Bの示す参照ピクチャに対し、予測方向1の動きベクトルMvL1_Bを持つ。また、隣接ブロックCはイントラ予測で符号化されたブロックである。また、隣接ブロックDは予測方向0の片方向予測で符号化されたブロックであり、予測方向0の参照ピクチャインデックスRefL0_Dの示す参照ピクチャに対し、予測方向0の動きベクトルMvL0_Dを持つ。
図3のような場合では、符号化対象ブロックの動きベクトルや参照ピクチャインデックスとして、例えば、隣接ブロックA、B、C、およびDの動きベクトルおよび参照ピクチャインデックスと、co−locatedブロックを用いて求めた時間予測動きベクトルモードによる動きベクトルおよび参照ピクチャインデックスとの中から、符号化対象ブロックの動きベクトルおよび参照ピクチャインデックスとして、最も符号化効率の良いもの選択する。そして、選択した隣接ブロックを表すマージブロックインデックスをビットストリームに付随させる。例えば、隣接ブロックAを選択した場合、予測方向0の動きベクトルMvL0_Aおよび参照ピクチャインデックスRefL0_Aを用いて符号化対象ブロックを符号化する。そして、図4に示すように、隣接ブロックAを用いたことを表すマージブロックインデックスの値0のみをビットストリームに付随させることで、動きベクトルおよび参照ピクチャインデックスの情報量を削減できる。
図4は、マージブロック候補リストの一例を示す図である。
図4に示すように、マージモードでは、マージが不可能である候補(以下、マージ不可能候補)と、予測方向、動きベクトルおよび参照ピクチャインデックスが他の候補のそれらと一致するような候補(以下、重複候補)とを、マージブロック候補から削除する。さらに、その代わりとして、動きベクトルの値が水平成分および垂直成分ともに0でかつ、参照ピクチャインデックスの値が0であるような零ベクトル候補等を新規候補として追加する。このようにマージ可能な候補の数を増やすことにより符号化効率を向上する。
ここで、マージが不可能であるということは、マージブロック候補がイントラ予測で符号化されている場合や、スライスやピクチャ境界外にある場合や、まだ符号化されていない等を表している。図4の例では、隣接ブロックCがイントラ予測のため、その隣接ブロックCであるマージブロック候補は、マージ不可能候補であり、マージブロック候補リストに追加されない。また、図4において、five_minus_max_num_merge_candは、マージブロック候補リストサイズ(マージ候補数)を算出するためのパラメータであり、スライスヘッダ、SPS(Sequence Parameter Set)、または、PPS(Picture Parameter Set)等のヘッダ情報に含まれるパラメータとしてビットストリームに付加される。マージブロック候補リストサイズは5からfive_minus_max_num_merge_candを減算することにより算出される。
図5は、マージブロック候補リストサイズとマージブロックインデックスに割り当てられるビット列との関係を示す図である。
マージブロックインデックスには、マージブロック候補リストサイズの大きさに応じて、図5に示すように、ビット列が割り当てられて、そのマージブロックインデックスは可変長符号化される。このように、マージモードでは、マージブロックインデックスに割り当てるビット列を、マージブロック候補リストサイズの大きさによって変化させることにより、符号量を削減している。
また、BピクチャやPピクチャにおける各符号化対象ブロックのインター予測モードとして、図4のようなマージブロック候補リストを用いたスキップモードが検討されている。例えば、図4のように作成したマージブロック候補リストを用いて、マージモードと同様に符号化対象ブロックの隣接ブロックから動きベクトルおよび参照ピクチャインデックスをコピーして、符号化対象ブロックの符号化を行う。その結果、符号化対象ブロックのすべての予測誤差データが0であれば、スキップフラグを1にセットし、スキップフラグおよびマージブロックインデックスをビットストリームに付随させることによって、スキップモードを実現する。
しかしながら、従来のスキップモードは、符号化対象ブロックの動きベクトルとして、マージブロック候補のいずれかの動きベクトルをコピーして用いるため、例えば、連続する静止画像等に対し、インター予測を用いて符号化する際に、ノイズ等の影響により動きベクトルを零ベクトルに固定することができず、符号化効率が低下するという課題がある。
このような課題を解決するために、本発明の一態様に係る動画像符号化方法は、マージ候補の予測方向、動きベクトルおよび参照ピクチャインデックスをマージして、符号化対象ブロックを符号化する動画像符号化方法であって、符号化対象ピクチャ内のすべてのブロックをスキップモードで符号化するかどうかを判定するピクチャスキップ判定ステップと、前記符号化対象ピクチャと異なるピクチャに含まれる、前記符号化対象ブロックに時間的に隣接するブロックを参照するかどうかを示す第1のフラグを、前記判定の結果に基づいて設定する第1のフラグ設定ステップと、マージ候補数を決定するためのパラメータの値を、前記判定の結果に基づいて設定するパラメータ設定ステップと、前記符号化対象ピクチャに含まれる各ブロックに対して、当該ブロックをスキップモードで符号化するかどうかを示す第2のフラグを、前記判定の結果に基づいて設定する第2のフラグ設定ステップと、前記符号化対象ブロックと同一ピクチャ内にある、前記符号化対象ブロックに空間的に隣接するブロックまたは、前記符号化対象ピクチャと異なるピクチャに含まれる、前記符号化対象ブロックに時間的に隣接するブロックである隣接ブロックを含む、少なくとも1つ以上の候補から、前記マージに用いることが可能な少なくとも1つの候補をそれぞれマージ候補として、前記第1のフラグおよび前記マージ候補数に基づいて決定するマージ候補決定ステップと、決定された少なくとも1つのマージ候補の中から、前記符号化対象ブロックの符号化に用いられるマージ候補を選択するマージ候補選択ステップと、選択された前記マージ候補を特定するためのインデックスを前記マージ候補数の値に応じて符号化し、ビットストリームに付随させるインデックス符号化ステップと、を有する。
これにより、符号化対象ピクチャ内のすべてのブロックをスキップモードで符号化するかどうかの判定の結果に基づいて、第1のフラグ、パラメータおよび第2のフラグがそれぞれ設定されるため、マージブロック候補(マージ候補)を用いたスキップモードの動きベクトルを零ベクトルに固定することができる。その結果、符号化効率を向上することができる。
また、前記ピクチャスキップ判定ステップで、すべてのブロックをスキップモードで符号化すると判定された場合には、前記第1のフラグ設定ステップでは、前記時間的に隣接するブロックを参照しないことを示す値に、前記第1のフラグを設定してもよい。
また、前記ピクチャスキップ判定ステップで、すべてのブロックをスキップモードで符号化すると判定された場合には、前記パラメータ設定ステップでは、前記マージ候補数が1に決定されるための値に、前記パラメータを設定してもよい。
また、前記ピクチャスキップ判定ステップで、すべてのブロックをスキップモードで符号化すると判定された場合には、前記第2のフラグ設定ステップでは、前記符号化対象ピクチャに含まれる各ブロックに対して、当該ブロックをスキップモードで符号化することを示す前記第2のフラグを設定してもよい。
また、前記ピクチャスキップ判定ステップでは、さらに、前記判定の結果を示すピクチャスキップフラグを前記ビットストリームに付随し、前記第1のフラグ設定ステップでは、前記ピクチャスキップフラグに基づいて前記第1のフラグを設定し、前記パラメータ設定ステップでは、前記ピクチャスキップフラグに基づいて前記パラメータの値を設定し、前記第2のフラグ設定ステップでは、前記ピクチャスキップフラグに基づいて、前記符号化対象ピクチャに含まれる各ブロックに対して前記第2のフラグを設定してもよい。
また、前記第1のフラグ設定ステップでは、前記ピクチャスキップフラグが、すべてのブロックをスキップモードで符号化することを示す場合は、前記時間的に隣接するブロックを参照しないことを示す値に前記第1のフラグを設定して、前記ビットストリームに前記第1のフラグを付随せず、前記ピクチャスキップフラグが、すべてのブロックをスキップモードで符号化することはないことを示す場合は、前記第1のフラグを前記ビットストリームに付随してもよい。
また、前記パラメータ設定ステップでは、前記ピクチャスキップフラグが、すべてのブロックをスキップモードで符号化することを示す場合は、前記マージ候補数が1に決定されるための値に前記パラメータを設定して、前記ビットストリームに前記パラメータを付随せず、前記ピクチャスキップフラグが、すべてのブロックをスキップモードで符号化することはないことを示す場合は、前記パラメータを前記ビットストリームに付随してもよい。
また、前記第2のフラグ設定ステップでは、前記ピクチャスキップフラグが、すべてのブロックをスキップモードで符号化することを示す場合は、前記符号化対象ピクチャに含まれる各ブロックに対して、当該ブロックをスキップモードで符号化することを示す前記第2のフラグを設定して、前記ビットストリームに前記第2のフラグを付随せず、前記ピクチャスキップフラグが、すべてのブロックをスキップモードで符号化することはないことを示す場合は、前記符号化対象ピクチャに含まれる各ブロックに対して設定される前記第2のフラグを前記ビットストリームに付随してもよい。
また、前記インデックス符号化ステップでは、前記マージ候補数が1の場合は、選択された前記マージ候補を特定するための前記インデックスを前記ビットストリームに付随しなくてもよい。
上述の課題を解決するために、本発明の一態様に係る動画像復号化方法は、マージ候補の予測方向、動きベクトルおよび参照ピクチャインデックスをマージして、復号化対象ブロックを復号化する動画像復号化方法であって、復号化対象ピクチャと異なるピクチャに含まれる、前記復号化対象ブロックに時間的に隣接するブロックを参照するかどうかを示す第1のフラグを復号化する第1のフラグ復号化ステップと、マージ候補数を決定するためのパラメータの値を復号化するパラメータ復号化ステップと、前記復号化対象ピクチャに含まれる各ブロックに設定された、当該ブロックをスキップモードで復号化するかどうかを示す第2のフラグを復号化する第2のフラグ復号化ステップと、前記復号化対象ブロックと同一ピクチャ内にある、前記復号化対象ブロックに空間的に隣接するブロックまたは、前記復号化対象ピクチャと異なるピクチャに含まれる、前記復号化対象ブロックに時間的に隣接するブロックである隣接ブロックを含む、少なくとも1つ以上の候補から、前記マージに用いることが可能な少なくとも1つの候補をそれぞれマージ候補として、前記第1のフラグおよび前記マージ候補数に基づいて決定するマージ候補決定ステップと、決定された少なくとも1つのマージ候補の中から、前記復号化対象ブロックの復号化に用いられるマージ候補を特定するためのインデックスを、前記マージ候補数の値に応じて復号化するインデックス復号化ステップと、を有する。
また、前記動画像復号化方法は、さらに、前記復号化対象ピクチャ内のすべてのブロックをスキップモードで復号化するかどうかを示すピクチャスキップフラグを復号化するピクチャスキップフラグ復号化ステップを有し、前記第1のフラグ復号化ステップでは、前記ピクチャスキップフラグに基づいて前記第1のフラグを復号化し、前記パラメータ復号化ステップでは、前記ピクチャスキップフラグに基づいて前記パラメータの値を復号化し、前記第2のフラグ復号化ステップでは、前記ピクチャスキップフラグに基づいて、前記復号化対象ピクチャに含まれる各ブロックに対して設定された前記第2のフラグを復号化してもよい。
また、前記第1のフラグ復号化ステップでは、前記ピクチャスキップフラグの値が1の場合は、前記第1のフラグを復号化しなくてもよい。
また、前記パラメータ復号化ステップでは、前記ピクチャスキップフラグの値が1の場合は、前記パラメータを復号化しなくてもよい。
また、前記第2のフラグ復号化ステップでは、前記ピクチャスキップフラグの値が1の場合は、前記第2のフラグを復号化しなくてもよい。
また、前記インデックス復号化ステップでは、前記マージ候補数が1の場合は、復号化に用いられる前記マージ候補を特定するためのインデックスを復号化しなくてもよい。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
図6は、本実施の形態に係る動画像符号化方法を用いた動画像符号化装置の構成の一例を示すブロック図である。
動画像符号化装置100は、図6に示すように、減算部101と、直交変換部102と、量子化部103と、逆量子化部104と、逆直交変換部105と、加算部106、ブロックメモリ107と、フレームメモリ108と、イントラ予測部109と、インター予測部110と、インター予測制御部111と、ピクチャタイプ決定部112と、スイッチ113と、マージブロック候補算出部114と、colPicメモリ115と、可変長符号化部116と、ピクチャスキップ判定部117とを備える。
減算部101は、ブロック毎に、入力画像列に含まれる入力画像データから予測画像データを減算することにより予測誤差データを生成する。
直交変換部102は、生成された予測誤差データに対し、画像領域から周波数領域への変換を行う。
量子化部103は、周波数領域に変換された予測誤差データに対し、量子化処理を行う。
逆量子化部104は、量子化部103によって量子化処理された予測誤差データに対し、逆量子化処理を行う。
逆直交変換部105は、逆量子化処理された予測誤差データに対し、周波数領域から画像領域への変換を行う。
加算部106は、ブロック毎に、予測画像データと、逆直交変換部105によって逆量子化処理された予測誤差データとを加算することにより、再構成画像データを生成する。
ブロックメモリ107には、再構成画像データがブロック単位で保存される。
フレームメモリ108には、再構成画像データがフレーム単位で保存される。
ピクチャタイプ決定部112は、Iピクチャ、Bピクチャ、およびPピクチャのいずれのピクチャタイプで入力画像データを符号化するかを決定する。そして、ピクチャタイプ決定部112は、決定されたピクチャタイプを示すピクチャタイプ情報を生成する。
イントラ予測部109は、ブロックメモリ107に保存されているブロック単位の再構成画像データを用いてイントラ予測を行うことにより、符号化対象ブロックのイントラ予測画像データを生成する。
インター予測部110は、フレームメモリ108に保存されているフレーム単位の再構成画像データと、動き検出等により導出した動きベクトルとを用いてインター予測を行うことにより、符号化対象ブロックのインター予測画像データ(予測画像)を生成する。
スイッチ113は、符号化対象ブロックがイントラ予測符号化される場合に、イントラ予測部109によって生成されたイントラ予測画像データを、符号化対象ブロックの予測画像データとして減算部101および加算部106に出力する。一方、スイッチ113は、符号化対象ブロックがインター予測符号化される場合に、インター予測部110によって生成されたインター予測画像データを、符号化対象ブロックの予測画像データとして減算部101および加算部106に出力する。
ピクチャスキップ判定部117は、後述する方法で、ピクチャスキップフラグの値を算出し、その算出されたピクチャスキップフラグをマージブロック候補算出部114に出力する。ここで、ピクチャスキップフラグが1と設定された場合は、ピクチャ内のすべてのブロックは、零ベクトルの動きベクトルを用いたスキップモードで符号化される。
マージブロック候補算出部114は、後述する方法で、符号化対象ブロックの隣接ブロックの動きベクトル等、および、colPicメモリ115に格納されているco−locatedブロックの動きベクトル等(colPic情報)を用いて、マージモードおよびスキップモードのマージブロック候補(マージ候補)を導出する。そして、マージブロック候補算出部114は、マージブロック候補リストサイズ(マージ候補数)を算出する。また、マージブロック候補算出部114は、導出したマージブロック候補に対して、マージブロックインデックスの値を割り当てる。そして、マージブロック候補算出部114は、マージブロック候補とマージブロックインデックスとを、インター予測制御部111に送信する。また、マージブロック候補算出部114は、算出したマージブロック候補リストサイズ(具体的には、five_minus_max_num_merge_cand)を可変長符号化部116に送信する。
インター予測制御部111は、ピクチャスキップフラグの値に応じて、符号化対象ブロックを、スキップモードで符号化するか、動き検出により導出された動きベクトルを用いる動きベクトル符号化モード(動きベクトル検出モード)で符号化するか、または、マージモードで符号化するかを判断する。つまり、インター予測制御部111は、スキップモード、動きベクトル符号化モード、およびマージモードの中から、符号化対象ブロックに適用される予測モード(符号化モードまたは予測符号化モード)を決定する。また、インター予測制御部111は、その予測モードがスキップモードであれば、スキップモードかどうかを表すスキップフラグ(第2のフラグ)、および、決定したマージブロック候補に対応するマージブロックインデックスを、可変長符号化部116に送信する。さらに、インター予測制御部111は、符号化対象ブロックの動きベクトル等を含むcolPic情報をcolPicメモリ115に転送する。
可変長符号化部116は、量子化処理された予測誤差データ、スキップフラグ、およびピクチャタイプ情報(ピクチャタイプ)に対し、可変長符号化処理を行うことで、ビットストリームを生成する。また、可変長符号化部116は、符号化に用いるマージブロックインデックスに、マージブロック候補リストサイズに応じたビット列を割り当てて、割り当てられたビット列に対して可変長符号化を行う。
図7は、本実施の形態に係る動画像符号化装置100によって行われる動画像符号化方法を示すフローチャートである。まず、S100では、後述する方法で、ピクチャスキップ判定を行い、ピクチャスキップフラグの値を決定する。S101では、ピクチャスキップフラグが1かどうかを判定し、その判定結果が真ならば(S101のYes)、S102において、enable_temporal_mvp_flag(第1のフラグ)に0を設定する。ここで、enable_temporal_mvp_flagは、co−locatedブロックの動きベクトルから時間予測動きベクトルモードによる動きベクトルを算出するかどうかを表すフラグである。このフラグは、スライスヘッダ、SPS(Sequence Parameter Set)、または、PPS(Picture Parameter Set)等のヘッダ情報に付加される。enable_temporal_mvp_flagの値が1であれば、そのフラグは、co−locatedブロックの動きベクトルから時間予測動きベクトルモードによる動きベクトルを算出し、そのco−locatedブロックをco−locatedマージブロックとしてマージブロック候補リストに追加することを表す。また、enable_temporal_mvp_flagの値が0であれば、そのフラグは、co−locatedブロックの動きベクトルから時間予測動きベクトルモードによる動きベクトルの算出を行わないことを表す。S103では、five_minus_max_num_merge_candに4を設定し、S104では、上述のスキップフラグであるskip_flagに1を設定する。
このように、S101において、ピクチャスキップフラグの値が1であると判定される場合は、enable_temporal_mvp_flagに値0、five_minus_max_num_merge_candに値4、skip_flagに値1が設定される。
一方、S101の判定結果が偽の場合は(S101のNo)、S110において、enable_temporal_mvp_flagに値1が設定され、S111において、five_minus_max_num_merge_candに値0が設定され、S112において、skip_flagに値0が設定される。なお、本実施の形態では、S111において、five_minus_max_num_merge_candに値0を設定するとしたが、必ずしもこれには限らず、0以外の値を設定するようにしても構わない。
S105では、後述する方法で、符号化対象ブロックの隣接ブロックおよびco−locatedブロックからマージブロック候補を生成し、また、マージブロック候補リストサイズを算出する。例えば、図3のような場合では、符号化対象ブロックの動きベクトルや参照ピクチャインデックスに対して、例えば、隣接ブロックA、B、CおよびDと、co−locatedブロックの動きベクトルから時間予測動きベクトルモードによって算出した動きベクトル等を含むco−locatedマージブロックとをマージブロック候補とする。そして、five_minus_max_num_merge_candの値が0の場合、つまり、マージブロック候補リストサイズが5の場合は、図4のように各マージブロック候補に対してマージブロックインデックスを割当てる。また、five_minus_max_num_merge_candの値が4の場合、つまり、マージブロック候補リストサイズが1の場合は、図9のように1つのマージブロック候補に対して1つのマージブロックインデックスを割当てる。
マージブロックインデックスの符号化では、値の小さいマージブロックインデックスに対し短い符号が割り振られる。即ち、マージブロックインデックスの値が小さい場合に必要な情報量が少なくなる。一方、値が大きくなると、必要な情報量が大きくなる。従って、より精度の高い動きベクトルや参照ピクチャインデックスとなる可能性の高いマージブロック候補に対して、値の小さいマージブロックインデックスを割り当てると、符号化効率が高くなる。例えば、マージブロックとして選ばれた回数をマージブロック候補毎に計測し、その回数が多いマージブロック候補に対し、値の小さいマージブロックインデックスを割り振る等が考えられる。具体的には、隣接ブロックの中から選択されたマージブロックを特定しておき、符号化対象ブロックの符号化の際に、特定したマージブロックに対するマージブロックインデックスの値を小さくすることが考えられる。
なお、ブロックが、イントラ予測で符号化されたブロックである場合や、ピクチャやスライスの境界外などに位置する場合や、まだ符号化されていない場合など、動きベクトル等の情報を保持しない場合には、そのブロックはマージブロック候補として利用できないと判断される。本実施の形態では、マージブロック候補として利用できないブロックをマージ不可能候補とし、マージブロック候補として利用できるブロックをマージ可能候補と記述する。また、他のいずれかのマージブロック候補と、動きベクトル、参照ピクチャインデックス、および、予測方向が一致しているマージブロック候補を重複候補と呼ぶ。図3の場合では、隣接ブロックCがイントラ予測で符号化されたブロックであるため、隣接ブロックCをマージ不可能候補とする。
S106では、skip_flagを可変長符号化し、S107では、skip_flagが1かどうかを判定する。S107の判定結果が真の場合は(S107のYes)、S108において、符号化対象ブロックをスキップモードで符号化する。具体的には、スキップモードの予測画像生成に用いるマージブロック候補のマージブロックインデックスを、マージブロック候補リストサイズの大きさに従って可変長符号化する。なお、マージブロック候補リストサイズが1の場合は、マージブロックインデックスの値は0と推定できるため、マージブロックインデックスをビットストリームに付加しないことにより、符号化効率を向上するようにしても構わない。S107の判定結果が偽の場合は(S107のNo)、S109において、動き検出により導出された動きベクトルを用いて生成したインター予測画像の予測誤差と、マージブロック候補によって生成したマージモードの予測画像の予測誤差とを比較する等によって決定した予測符号化モードで、符号化対象ブロックを符号化する。つまり、マージモードまたは動きベクトル符号化モードで符号化対象ブロックを符号化する。
なお、本実施の形態では、図4のように、隣接ブロックAに対応するマージブロックインデックスの値を0とし、隣接ブロックBに対応するマージブロックインデックスの値を1とし、co−locatedマージブロックに対応するマージブロックインデックスの値を2とし、隣接ブロックDに対応するマージブロックインデックスの値を3としている。しかし、必ずしも、マージブロックインデックスの割り当て方は、この例に限らない。例えば、後述する方法を用いて零ベクトル候補等の新規候補を追加した場合などには、元々のマージブロック候補には小さい値を割り振り、新規候補には大きい値を割り振るように、元々のマージブロック候補を優先するようにしても構わない。また、必ずしも、マージブロック候補は、隣接ブロックA、B、C、およびDに限定されず、例えば、左下隣接ブロックDの上に位置する隣接ブロック等をマージブロック候補としても構わない。また、必ずしもすべての隣接ブロックを使用することに限定されず、例えば、隣接ブロックAおよびBのみをマージブロック候補としても良い。
また、本実施の形態では、図7のS108において、マージブロックインデックスをビットストリームに付随するとしたが、マージブロック候補リストサイズが1の場合は、マージブロックインデックスを付随させないようにしても構わない。これにより、マージブロックインデックスの情報量を削減できる。
なお、例えば、S100の処理はピクチャスキップ判定部117によって行われ、S101〜S105およびS110〜S112の各処理はマージブロック候補算出部114によって行われる。また、例えば、S106の処理は可変長符号化部116によって行われ、S107〜S109の各処理は、インター予測部110およびインター予測制御部111を含む構成要素群によって行われる。
図8は、図7のS100の詳細な処理の一例を示すフローチャートである。つまり、このフローチャートは、ピクチャスキップ判定部117が、符号化対象ピクチャの動き量を検出することによって、ピクチャスキップフラグの値を決める処理の一例を示す。以下、図8に基づいて詳細に説明する。
S100aでは、符号化対象ピクチャと参照ピクチャとを用いたブロックマッチング等により、ピクチャ間の全体の動き量を検出する。なお、画面全体の動き量は、符号化済みのピクチャを符号化する際に用いた動きベクトルの平均値等から算出するなど、どのような方法を用いて算出しても構わない。S100bでは、画面全体の動き量が所定の閾値以下であるかどうかを判定する。その判定結果が真ならば(S100bのYes)、符号化対象ピクチャが動きの少ないピクチャであると判定し、S100cにおいて、ピクチャスキップフラグに1を設定する。S100bの判定結果が偽ならば(S100bのNo)、S100dにおいて、ピクチャスキップフラグに0を設定する。このように、画面全体の動き量に応じてピクチャスキップフラグを設定することにより、例えば、連続する静止画像のような場合には、常にピクチャスキップフラグを1に設定でき、ピクチャスキップを用いることで符号化効率を向上できる。
図10は、図7のS105の詳細な処理の一例を示すフローチャートである。つまり、このフローチャートは、マージブロック候補およびマージブロック候補リストサイズを算出する方法を表す。以下、図10について説明する。
S105aでは、five_minus_max_num_merge_candを用いて、マージブロック候補リストサイズを算出する。S105bでは、マージブロック候補[N]がco−locatedマージブロックではない、または、enable_temporal_mvp_flagの値が1であるかどうかを判定する。この判定結果が真ならば(S105bのYes)、S105cにおいて、マージブロック候補[N]がマージ可能かどうかを判定し、マージ可能候補数を更新する。ここで、Nは各マージブロック候補を表すためのインデックス値であり、本実施の形態では0から4までの値をとる。具体的には、マージブロック候補[0]には図3の隣接ブロックA、マージブロック候補[1]には図3の隣接ブロックB、マージブロック候補[2]にはco−locatedマージブロック、マージブロック候補[3]には図3の隣接ブロックC、マージブロック候補[4]には図3の隣接ブロックDを割り振る。また、マージ可能かどうかの判定には、マージブロック候補[N]がイントラ予測されるブロックかどうか、スライスまたはピクチャ境界外に位置するブロックかどうか、または、まだ符号化されていないブロックかどうかを判定する。この判定結果が真ならば、マージブロック候補[N]をマージ不可能候補と判定し、偽ならば、マージブロック候補[N]をマージ可能候補と判定する。
S105dでは、マージブロック候補[N]の動きベクトル、参照ピクチャインデックス、および予測方向を取得して、マージブロック候補リストに追加する。S105bの判定結果が偽、つまり、マージブロック候補[N]がco−locatedマージブロックで、かつ、enable_temporal_mvp_flagが0の場合は(S105のNo)、マージブロック候補[N]をマージブロック候補リストに追加しない。
S105eでは、S105bからS105dまでの処理を繰り返すことによって算出したマージ可能候補数がマージブロック候補リストサイズより小さいかどうかを判定する。この判定結果が真ならば(S105eのYes)、S105fにおいて、新規候補として、マージブロック候補に零ベクトル候補を追加する。ここで、零ベクトル候補とは、動きベクトルの水平成分および垂直成分がともに値0であって、かつ、参照ピクチャインデックスが0であるような候補を示す。S105gでは、マージブロック候補リストサイズ以下の候補に、マージブロックインデックスを割り当てる。ここで、新規候補を追加する際には、元々あるマージブロック候補に小さいマージブロックインデックスが割りあたるように、マージブロックインデックスの再割当を行ってもよい。つまり、新規候補には値の大きいマージブロックインデックスを割当てるなど、元々あるマージブロック候補を優先するようにしても構わない。これによりマージブロックインデックスの符号量を削減できる。
図11は、ピクチャスキップフラグが1の場合における各ブロックのスキップモードの動きベクトルを示す図である。つまり、図11は、図7のS100において、ピクチャスキップフラグを1に設定し、図7および図10のフローチャートに従って、各ブロックのスキップモードの動きベクトルを算出した例を表す。
ピクチャの左上端に位置するブロックAを符号化する場合は、ピクチャスキップフラグが1に設定されると、マージブロック候補リストサイズが1、かつ、隣接ブロックがピクチャ境界の外にある。そのため、すべてのブロックがマージ不可能、かつ、enable_temporal_mvp_flagの値が0のため、マージブロック候補リストには零ベクトル候補のみが追加される。その結果、零ベクトルを用いたスキップモードによるブロックAの符号化が行われる。
ピクチャの上端に位置する符号化対象ブロックBを符号化する場合は、ピクチャスキップフラグが1に設定されると、マージブロック候補リストサイズが1、かつ、左隣接ブロックのみマージ可能、かつ、enable_temporal_mvp_flagの値が0となる。したがって、マージブロック候補リストには、ブロックAの動きベクトル、つまり、零ベクトル候補のみが追加される。その結果、零ベクトルを用いたスキップモードによるブロックBの符号化が行われる。
ピクチャの左端に位置する符号化対象ブロックCを符号化する場合は、ピクチャスキップフラグが1に設定されると、マージブロック候補リストサイズが1、かつ、上隣接ブロックのみマージ可能、かつ、enable_temporal_mvp_flagの値が0となる。したがって、マージブロック候補リストには、ブロックAの動きベクトル、つまり、零ベクトル候補のみが追加される。その結果、零ベクトルを用いたスキップモードによるブロックCの符号化が行われる。
符号化対象ブロックDを符号化する場合は、ピクチャスキップフラグが1に設定されると、マージブロック候補リストサイズが1、かつ、左隣接ブロックがマージ可能、かつ、enable_temporal_mvp_flagの値が0となる。したがって、マージブロック候補リストには、ブロックCの動きベクトル、つまり、零ベクトル候補のみが追加される。その結果、零ベクトルを用いたスキップモードによるブロックDの符号化が行われる。
このように、ピクチャスキップフラグの値が1の場合は、enable_temporal_mvp_flagに値0、five_minus_max_num_merge_candに値4(マージブロック候補リストサイズに値1)、skip_flagに値1を設定することによって、ピクチャ内のすべてのブロックを、零ベクトルを用いたスキップモードで符号化することができる。
このように、本実施の形態によれば、ピクチャスキップフラグの値を1に設定することによって、ピクチャ内のすべてのブロックを、零ベクトルを用いたスキップモードで符号化することができ、特に、連続する静止画像等に対する符号化効率を向上することができる。より具体的には、ピクチャスキップフラグの値が1の場合は、enable_temporal_mvp_flagに値0、skip_flagに値1を設定することによって、ピクチャ内のすべてのブロックを、零ベクトルを用いたスキップモードで符号化することができる。さらに、five_minus_max_num_merge_candに値4(マージブロック候補リストサイズに値1)に設定することによって、マージブロックインデックスを送信する必要がなくなるため、ピクチャスキップ時の符号化効率を向上することができる。
なお、本実施の形態では、five_minus_max_num_merge_candに値4(マージブロック候補リストサイズに値1)を設定し、マージブロック候補の零ベクトル候補を用いることによって、ピクチャ内のすべてのブロックを、零ベクトル候補を用いたスキップモードで符号化するとしたが、必ずしもこれには限らない。例えば、five_minus_max_num_merge_candに値5(マージブロック候補リストサイズに値0)を設定し、マージブロック候補リストサイズが0の場合は、零ベクトルを用いたスキップモードで符号化することにより、マージブロック候補の算出を省略する。これにより、処理量を削減しながら、ピクチャ内のすべてのブロックを、零ベクトルを用いたスキップモードで符号化するようにしても構わない。
なお、本実施の形態は、符号化対象ブロックの隣接ブロックから動きベクトルや参照ピクチャインデックスをコピーして、符号化対象ブロックの符号化を行うマージモードを用いた例を示したが、必ずしもこれに限らない。例えば、図9のように作成したマージブロック候補リストを用いて、動きベクトル検出モードの動きベクトルを符号化するようにしても構わない。つまり、動きベクトル検出モードの動きベクトルから、マージブロックインデックスで指定したマージブロック候補の動きベクトルを減ずることにより差分を求め、その差分および、マージブロックインデックスをビットストリームに付随するようにしても構わない。また、動きベクトル検出モードの参照ピクチャインデックスRefIdx_MEと、マージブロック候補の参照ピクチャインデックスRefIdx_Mergeを用いて、マージブロック候補の動きベクトルMV_Mergeをスケーリングし、動きベクトル検出モードの動きベクトルからスケーリング後のマージブロック候補の動きベクトルscaledMV_Mergeを減ずることにより差分を求め、その差分および、マージブロックインデックスをビットストリームに付随するようにしても構わない。スケーリングの式の例を以下の(式1)に示す。
(式1)scaledMV_Merge=
MV_Merge×(POC(RefIdx_ME)−curPOC)/(POC(RefIdx_Merge)−curPOC)
ここで、POC(RefIdx_ME)は、参照ピクチャインデックスRefIdx_MEが示す参照ピクチャの表示順、POC(RefIdx_Merge)は、参照ピクチャインデックスRefIdx_Mergeが示す参照ピクチャの表示順、curPOCは、符号化対象ピクチャの表示順を示す。
(実施の形態2)
図12は、本実施の形態に係る動画像復号化方法を用いた動画像復号化装置の構成の一例を示すブロック図である。
動画像復号化装置300は、例えば、実施の形態1に係る動画像符号化装置100によって生成されたビットストリームに含まれる符号化画像をブロック毎に復号化する。このような動画像復号化装置300は、図12に示すように、可変長復号化部301と、逆量子化部302と、逆直交変換部303と、加算部304と、ブロックメモリ305と、フレームメモリ306と、イントラ予測部307と、インター予測部308と、インター予測制御部309と、スイッチ310と、マージブロック候補算出部311と、colPicメモリ312とを備える。
可変長復号化部301は、入力されたビットストリームに対し、可変長復号化処理を行い、ピクチャタイプ情報(ピクチャタイプ)、スキップフラグ、マージブロック候補リストサイズ(具体的には、five_minus_max_num_merge_cand)および量子化係数を生成する。また、可変長復号化部301は、マージブロック候補リストサイズを用いて、マージブロックインデックスの可変長復号化処理を行う。
逆量子化部302は、可変長復号化処理によって得られた量子化係数に対し、逆量子化処理を行う。
逆直交変換部303は、逆量子化処理によって得られた直交変換係数を、周波数領域から画像領域へ変換することにより、予測誤差データを生成する。
ブロックメモリ305には、予測誤差データと予測画像データとが加算されて生成された復号化画像列が、ブロック単位で保存される。
フレームメモリ306には、復号化画像列がフレーム単位で保存される。
イントラ予測部307は、ブロックメモリ305に保存されているブロック単位の復号化画像列を用いてイントラ予測することにより、復号化対象ブロックの予測画像データを生成する。
インター予測部308は、フレームメモリ306に保存されているフレーム単位の復号化画像列を用いてインター予測することにより、復号化対象ブロックのインター予測画像データ(予測画像)を生成する。
スイッチ310は、復号化対象ブロックがイントラ予測復号化される場合に、イントラ予測部307によって生成されたイントラ予測画像データを、復号化対象ブロックの予測画像データとして加算部304に出力する。一方、スイッチ310は、復号化対象ブロックがインター予測復号化される場合に、インター予測部308によって生成されたインター予測画像データを、復号化対象ブロックの予測画像データとして加算部304に出力する。
マージブロック候補算出部311は、後述する方法で、マージブロック候補リストサイズを算出し、復号化対象ブロックの隣接ブロックの動きベクトル等、および、colPicメモリに格納されているco−locatedブロックの動きベクトル等(colPic情報)を用いて、マージモードおよびスキップモードのマージブロック候補を導出する。また、マージブロック候補算出部311は、導出した各マージブロック候補に対し、マージブロックインデックスの値を割当て、マージブロック候補とマージブックインデックスとをインター予測制御部309に送信する。
インター予測制御部309は、復号化されたスキップフラグが「0」ならば、動きベクトル検出モードまたはマージモードの情報を用いて、インター予測部308にインター予測画像を生成させる。一方、スキップフラグが「1」ならば、インター予測制御部309は、複数のマージブロック候補から、復号化したマージブロックインデックスに基づいて、インター予測に用いる動きベクトル、参照ピクチャインデックスおよび予測方向を決定する。そして、インター予測制御部309は、決定された動きベクトル、参照ピクチャインデックスおよび予測方向を用いて、インター予測部308にインター予測画像を生成させる。また、インター予測制御部309は、復号化対象ブロックの動きベクトル等を含むcolPic情報をcolPicメモリ312に転送する。
最後に、加算部304は、予測画像データと予測誤差画像データとを加算することにより、復号化画像列を生成する。
図13は、本実施の形態に係る動画像復号化装置300によって行われる動画像復号化方法を示すフローチャートである。まず、S300では、enable_temporal_mvp_flagを復号化し、S301では、five_minus_max_num_merge_candを復号化する。S302では、図10に示す方法と同様の方法で、マージブロック候補リストサイズを算出し、復号化対象ブロックの隣接ブロックおよびco−locatedブロックからマージブロック候補を生成する。S303では、算出したマージブロック候補リストサイズを用いて、ビットストリーム中のマージブロックインデックスを可変長復号化する。なお、マージブロック候補リストサイズが1の場合は、マージブロックインデックスを復号化せずに、マージブロックインデックスの値を0と推定するようにしても構わない。S304では、ビットストリーム中のskip_flagを復号化し、S305では、skip_flagが1かどうかを判定する。S305の判定結果が真であれば(S305のYes)、S306において、マージブロックインデックスの示すマージブロック候補の動きベクトル、参照ピクチャインデックス、および、予測方向を用いて、スキップモードのインター予測画像を生成する。つまり、スキップモードで復号化対象ブロックを復号化する。S305の判定結果が偽ならば(S305のNo)、S307において、マージモードまたは動きベクトル符号化モードの情報を用いて、インター予測画像を生成する。つまり、マージモードまたは動きベクトル符号化モードで復号化対象ブロックを復号化する。
なお、例えば、S300、S301、S303およびS304の各処理は可変長復号化部301によって行われ、S303の処理はマージブロック候補算出部311によって行われる。また、例えば、S305〜S307の各処理はインター予測制御部309およびインター予測部308を含む構成要素群によって行われる。
図14は、本実施の形態におけるシンタックスの一例を示す図である。具体的には、このシンタックスは、enable_temporal_mvp_flag、five_minus_max_num_merge_candおよび、skip_flagをビットストリームに付随させる際のシンタックスである。
このように、本実施の形態では、ピクチャスキップフラグの値を1に設定することによって、ピクチャ内のすべてのブロックを、零ベクトルを用いたスキップモードで符号化することによって生成されたビットストリーム、特に、連続する静止画像等の符号化効率を向上したビットストリームを、適切に復号化することができる。より具体的には、ピクチャスキップフラグの値が1の場合は、enable_temporal_mvp_flagに値0、skip_flagに値1が設定される。この設定によって、ピクチャ内のすべてのブロックが、零ベクトルを用いたスキップモードで符号化されることによって生成されたビットストリームを、適切に復号化することができる。さらに、five_minus_max_num_merge_candに値4(マージブロック候補リストサイズに値1)が設定されることによって、動画像符号化装置100はマージブロックインデックスを送信する必要がなくなる。したがって、本実施の形態における動画像復号化装置300は、ピクチャスキップ時の符号化効率を向上したビットストリームを適切に復号化することができる。
(実施の形態3)
図15は、本実施の形態に係る動画像符号化方法を用いた動画像符号化装置の構成の一例を示すブロック図である。なお、本実施の形態は、ピクチャスキップフラグをビットストリームに付加する点のみ、実施の形態1と異なり、その他の点は同様のため説明を省略する。
動画像符号化装置100aは、図15に示すように、減算部101と、直交変換部102と、量子化部103と、逆量子化部104と、逆直交変換部105と、加算部106、ブロックメモリ107と、フレームメモリ108と、イントラ予測部109と、インター予測部110と、インター予測制御部111と、ピクチャタイプ決定部112と、スイッチ113と、マージブロック候補算出部114と、colPicメモリ115と、可変長符号化部116aと、ピクチャスキップ判定部117とを備える。
ピクチャスキップ判定部117は、図8に示す方法と同様の方法で、ピクチャスキップフラグの値を算出する。ここで、ピクチャスキップフラグが1と設定された場合は、ピクチャ内のすべてのブロックが、零ベクトルの動きベクトルを用いたスキップモードで符号化される。そして、ピクチャスキップ判定部117は、その算出されたピクチャスキップフラグをマージブロック候補算出部114および可変長符号化部116aに出力する。
マージブロック候補算出部114は、後述する方法で、符号化対象ブロックの隣接ブロックの動きベクトル等、および、colPicメモリ115に格納されているco−locatedブロックの動きベクトル等(colPic情報)を用いて、マージモードおよびスキップモードのマージブロック候補を導出する。そして、マージブロック候補算出部114は、マージブロック候補リストサイズを算出する。また、マージブロック候補算出部114は、導出したマージブロック候補に対して、マージブロックインデックスの値を割り当てる。そして、マージブロック候補算出部114は、マージブロック候補とマージブロックインデックスとを、インター予測制御部111に送信する。また、マージブロック候補算出部114は、算出したマージブロック候補リストサイズを可変長符号化部116aに送信する。
可変長符号化部116aは、スキップフラグ、マージブロックインデックス、ピクチャタイプおよびマージブロック候補リストサイズ(具体的には、five_minus_max_num_merge_cand)だけでなく、ピクチャスキップフラグに対しても可変長符号化を行う。
図16は、本実施の形態に係る動画像符号化装置100aによって行われる動画像符号化方法を示すフローチャートである。まず、S500では、図8に示す方法と同様の方法で、ピクチャスキップ判定を行い、ピクチャスキップフラグの値を決定する。そして、ピクチャスキップフラグをヘッダに付加する。S501では、ピクチャスキップフラグが1かどうかを判定し、その判定結果が真ならば(S501のYes)、S502において、enable_temporal_mvp_flagに0を設定する。S503では、five_minus_max_num_merge_candに4を設定し、S504では、skip_flagに1を設定する。
このように、S501において、ピクチャスキップフラグの値が1であると判定される場合は、enable_temporal_mvp_flagに値0、five_minus_max_num_merge_candに値4、skip_flagに値1が設定される。
一方、S501の判定結果が偽の場合は(S501のNo)、S510において、enable_temporal_mvp_flagに値1を設定してヘッダに付加し、S511において、five_minus_max_num_merge_candに値0を設定してヘッダに付加する。そして、S512において、skip_flagに値0が設定される。
このように、ピクチャスキップ時(S501のYes)にenable_temporal_mvp_flag、および、five_minus_max_num_merge_candをビットストリームに付加しないことで、符号化効率を向上することができる。なお、本実施の形態では、S511において、five_minus_max_num_merge_candに値0を設定するとしたが、必ずしもこれには限らず、0以外の値を設定するようにしても構わない。
S505では、図10に示す方法と同様の方法で、符号化対象ブロックの隣接ブロックおよびco−locatedブロックからマージブロック候補を生成し、また、マージブロック候補リストサイズを算出する。S506では、ピクチャスキップフラグの値に応じてskip_flagを可変長符号化する。具体的には、ピクチャスキップフラグが1の場合は、skip_flagは1と推定できるため、skip_flagをビットストリームに付加しない。ピクチャスキップフラグが0の場合は、skip_flagを可変長符号化してビットストリームに付加する。これにより、ピクチャスキップ時にskip_flagをビットストリームに付加することを省略できるため、符号化効率を向上することができる。
S507では、skip_flagが1かどうかを判定する。S507の判定結果が真の場合は(S507のYes)、S508において、符号化対象ブロックをスキップモードで符号化する。具体的には、スキップモードの予測画像生成に用いるマージブロック候補のマージブロックインデックスを、マージブロック候補リストサイズの大きさに従って可変長符号化する。なお、マージブロック候補リストサイズが1の場合は、マージブロックインデックスの値は0と推定できるため、マージブロックインデックスをビットストリームに付加しないことにより、符号化効率を向上するようにしても構わない。S507の判定結果が偽の場合は(S507のNo)、S509において、動き検出により導出された動きベクトルを用いて生成したインター予測画像の予測誤差と、マージブロック候補によって生成した予測画像の予測誤差とを比較する等によって決定した予測符号化モードで、符号化対象ブロックを符号化する。つまり、マージモードまたは動きベクトル符号化モードで符号化対象ブロックを符号化する。
なお、例えば、S500の処理はピクチャスキップ判定部117および可変長符号化部116aによって行われ、S501〜S505およびS510〜S512の各処理はマージブロック候補算出部114および可変長符号化部116aによって行われる。また、例えば、S506の処理は可変長符号化部116aによって行われ、S507〜S509の各処理は、インター予測部110およびインター予測制御部111を含む構成要素群によって行われる。
なお、本実施の形態では、図4のように、隣接ブロックAに対応するマージブロックインデックスの値を0とし、隣接ブロックBに対応するマージブロックインデックスの値を1とし、co−locatedマージブロックに対応するマージブロックインデックスの値を2とし、隣接ブロックDに対応するマージブロックインデックスの値を3としている。しかし、必ずしも、マージブロックインデックスの割り当て方は、この例に限らない。例えば、後述する方法を用いて零ベクトル候補等の新規候補を追加した場合などには、元々のマージブロック候補には小さい値を割り振り、新規候補には大きい値を割り振るように、元々のマージブロック候補を優先するようにしても構わない。また、必ずしも、マージブロック候補は、隣接ブロックA、B、C、およびDに限定されず、例えば、左下隣接ブロックDの上に位置する隣接ブロック等をマージブロック候補としても構わない。また、必ずしもすべての隣接ブロックを使用することに限定されず、例えば、隣接ブロックAおよびBのみをマージブロック候補としても良い。
また、本実施の形態では、図16のS508において、マージブロックインデックスをビットストリームに付随するとしたが、マージブロック候補リストサイズが1の場合は、マージブロックインデックスを付随させないようにしても構わない。これにより、マージブロックインデックスの情報量を削減できる。
このように、本実施の形態によれば、ピクチャスキップフラグの値を1に設定し、ヘッダに付加することによって、ピクチャ内のすべてのブロックを、零ベクトルを用いたスキップモードで符号化することができ、特に、連続する静止画像等の符号化効率を向上することができる。より具体的には、ピクチャスキップフラグの値が1の場合は、enable_temporal_mvp_flagに値0、skip_flagに値1を設定することによって、ピクチャ内のすべてのブロックを、零ベクトルを用いたスキップモードで符号化することができる。さらに、five_minus_max_num_merge_candに値4(マージブロック候補リストサイズに値1)に設定することによって、マージブロックインデックスを送信する必要がなくなるため、ピクチャスキップ時の符号化効率を向上することができる。さらに、ピクチャスキップフラグが1の場合は、skip_flag、enable_temporal_mvp_flag、および、five_minus_max_num_merge_candをビットストリームに付加しないことにより、符号化効率を向上することができる。
なお、本実施の形態では、five_minus_max_num_merge_candに値4(マージブロック候補リストサイズに値1)を設定し、マージブロック候補の零ベクトル候補を用いることによって、ピクチャ内のすべてのブロックを、零ベクトル候補を用いたスキップモードで符号化するとしたが、必ずしもこれには限らない。例えば、five_minus_max_num_merge_candに値5(マージブロック候補リストサイズに値0)を設定し、マージブロック候補リストサイズが0の場合は、零ベクトルを用いたスキップモードで符号化することにより、マージブロック候補の算出を省略する。これにより、処理量を削減しながら、ピクチャ内のすべてのブロックを、零ベクトルを用いたスキップモードで符号化するようにしても構わない。
(実施の形態4)
図17は、本実施の形態に係る動画像復号化方法を用いた動画像復号化装置の構成の一例を示すブロック図である。なお、本実施の形態は、ビットストリームからピクチャスキップフラグを復号化する点のみ、実施の形態2と異なり、その他の点は同様のため説明を省略する。
動画像復号化装置300aは、例えば、実施の形態3に係る動画像符号化装置100aによって生成されたビットストリームに含まれる符号化画像をブロック毎に復号化する。このような動画像復号化装置300aは、図17に示すように、可変長復号化部301aと、逆量子化部302と、逆直交変換部303と、加算部304と、ブロックメモリ305と、フレームメモリ306と、イントラ予測部307と、インター予測部308と、インター予測制御部309と、スイッチ310と、マージブロック候補算出部311と、colPicメモリ312とを備える。
可変長復号化部301aは、入力されたビットストリームに対し、可変長復号化処理を行い、ピクチャタイプ情報(ピクチャタイプ)、ピクチャスキップフラグ、スキップフラグ、マージブロック候補リストサイズ(具体的には、five_minus_max_num_merge_cand)および量子化係数を生成する。また、可変長復号化部301aは、マージブロック候補リストサイズを用いて、マージブロックインデックスの可変長復号化処理を行う。
マージブロック候補算出部311は、後述する方法で、マージブロック候補リストサイズを算出し、復号化対象ブロックの隣接ブロックの動きベクトル等、および、colPicメモリに格納されているco−locatedブロックの動きベクトル等(colPic情報)を用いて、マージモードおよびスキップモードのマージブロック候補を導出する。また、マージブロック候補算出部311は、導出した各マージブロック候補に対し、マージブロックインデックスの値を割当て、マージブロック候補とマージブロックインデックスとを、インター予測制御部309に送信する。
インター予測制御部309は、復号化されたスキップフラグが「0」ならば、動きベクトル検出モードまたはマージモードの情報を用いて、インター予測部308にインター予測画像を生成させる。一方、スキップフラグが「1」ならば、インター予測制御部309は、複数のマージブロック候補から、復号化したマージブロックインデックスに基づいて、インター予測に用いる動きベクトル、参照ピクチャインデックスおよび予測方向を決定する。そして、インター予測制御部309は、決定された動きベクトル、参照ピクチャインデックスおよび予測方向を用いて、インター予測部308にインター予測画像を生成させる。また、インター予測制御部309は、復号化対象ブロックの動きベクトル等を含むcolPic情報をcolPicメモリ312に転送する。
最後に、加算部304は、予測画像データと予測誤差画像データとを加算することにより、復号化画像列を生成する。
図18は、本実施の形態に係る動画像復号化装置300aによって行われる動画像復号化方法を示すフローチャートである。まず、S700では、ビットストリームから、ピクチャスキップフラグを復号化する。S701では、ピクチャスキップフラグが0かどうかを判定する。その判定結果が真ならば(S701のYes)、S702において、enable_temporal_mvp_flagを復号化し、S703において、five_minus_max_num_merge_candを復号化する。
一方、S701の判定結果が偽ならば(S701のNo)、S704において、enable_temporal_mvp_flagに値0を設定し、S705において、five_minus_max_num_merge_candに値4を設定する。S706では、図10に示す方法と同様の方法で、マージブロック候補リストサイズを算出し、復号化対象ブロックの隣接ブロックおよびco−locatedブロックからマージブロック候補を生成する。S707では、算出したマージブロック候補リストサイズを用いて、ビットストリーム中のマージブロックインデックスを可変長復号化する。なお、マージブロック候補リストサイズが1の場合は、マージブロックインデックスを復号化せずに、マージブロックインデックスを0と推定するようにしても構わない。S708では、ピクチャスキップフラグが0かどうかを判定する。この判定結果が真ならば(S708のYes)、S709において、skip_flagを復号化する。S708の判定結果が偽ならば(S708のNo)、S710において、skip_flagに値1を設定する。S711では、skip_flagが1かどうかを判定する。S711の判定結果が真であれば(S711のYes)、S712において、マージブロックインデックスの示すマージブロック候補の動きベクトル、参照ピクチャインデックス、および、予測方向を用いて、スキップモードのインター予測画像を生成する。つまり、スキップモードで復号化対象ブロックを復号化する。S711の判定結果が偽ならば(S711のNo)、S713において、マージモードまたは動きベクトル符号化モードの情報を用いて、インター予測画像を生成する。つまり、マージモードまたは動きベクトル符号化モードで復号化対象ブロックを復号化する。
なお、例えば、S700〜S705およびS707〜S710の各処理は可変長復号化部301aによって行われ、S706の処理はマージブロック候補算出部311によって行われる。また、例えば、S711〜S713の各処理はインター予測制御部309およびインター予測部308を含む構成要素群によって行われる。
図19は、本実施の形態におけるシンタックスの一例を示す図である。具体的には、このシンタックスは、ピクチャスキップフラグ(picture_skip_flag)、enable_temporal_mvp_flag、five_minus_max_num_merge_candおよび、skip_flagをビットストリームに付随させる際のシンタックスである。なお、ピクチャスキップフラグは、SPSやPPS等の他のヘッダに付加するようにしても構わない。
このように、本実施の形態では、ピクチャスキップフラグの値を1に設定し、ヘッダに付加することによって、ピクチャ内のすべてのブロックを、零ベクトルを用いたスキップモードで符号化することによって生成されたビットストリーム、特に、連続する静止画像等の符号化効率を向上したビットストリームを、適切に復号化できる。より具体的には、ピクチャスキップフラグの値が1の場合は、enable_temporal_mvp_flagに値0、skip_flagに値1が設定される。この設定によって、ピクチャ内のすべてのブロックが、零ベクトルを用いたスキップモードで符号化されることによって生成されたビットストリームを、適切に復号化することができる。さらに、five_minus_max_num_merge_candに値4(マージブロック候補リストサイズに値1)が設定されることによって、動画像符号化装置100aはマージブロックインデックスを送信する必要がなくなる。したがって、本実施の形態における動画像復号化装置300aは、ピクチャスキップ時の符号化効率を向上したビットストリームを適切に復号化することができる。さらに、ピクチャスキップフラグが1の場合は、skip_flag、enable_temporal_mvp_flag、および、five_minus_max_num_merge_candはビットストリームに付加されない。したがって、本実施の形態における動画像復号化装置300aは、上述の各情報が付加されないことによって符号化効率を向上したビットストリームを、適切に復号化することができる。
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の動画像符号化装置などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに以下の動画像符号化方法を実行させる。この動画像符号化方法は、マージ候補の予測方向、動きベクトルおよび参照ピクチャインデックスをマージして、符号化対象ブロックを符号化する動画像符号化方法であって、符号化対象ピクチャ内のすべてのブロックをスキップモードで符号化するかどうかを判定するピクチャスキップ判定ステップと、前記符号化対象ピクチャと異なるピクチャに含まれる、前記符号化対象ブロックに時間的に隣接するブロックを参照するかどうかを示す第1のフラグを、前記判定の結果に基づいて設定する第1のフラグ設定ステップと、マージ候補数を決定するためのパラメータの値を、前記判定の結果に基づいて設定するパラメータ設定ステップと、前記符号化対象ピクチャに含まれる各ブロックに対して、当該ブロックをスキップモードで符号化するかどうかを示す第2のフラグを、前記判定の結果に基づいて設定する第2のフラグ設定ステップと、前記符号化対象ブロックと同一ピクチャ内にある、前記符号化対象ブロックに空間的に隣接するブロックまたは、前記符号化対象ピクチャと異なるピクチャに含まれる、前記符号化対象ブロックに時間的に隣接するブロックである隣接ブロックを含む、少なくとも1つ以上の候補から、前記マージに用いることが可能な少なくとも1つの候補をそれぞれマージ候補として、前記第1のフラグおよび前記マージ候補数に基づいて決定するマージ候補決定ステップと、決定された少なくとも1つのマージ候補の中から、前記符号化対象ブロックの符号化に用いられるマージ候補を選択するマージ候補選択ステップと、選択された前記マージ候補を特定するためのインデックスを前記マージ候補数の値に応じて符号化し、ビットストリームに付随させるインデックス符号化ステップと、を有する。
また、ここで、上記各実施の形態の動画像復号化装置などを実現するソフトウェアは、次のようなプログラムである。すなわち、このプログラムは、コンピュータに以下の動画像復号化方法を実行させる。この動画像復号化方法は、マージ候補の予測方向、動きベクトルおよび参照ピクチャインデックスをマージして、復号化対象ブロックを復号化する動画像復号化方法であって、復号化対象ピクチャと異なるピクチャに含まれる、前記復号化対象ブロックに時間的に隣接するブロックを参照するかどうかを示す第1のフラグを復号化する第1のフラグ復号化ステップと、マージ候補数を決定するためのパラメータの値を復号化するパラメータ復号化ステップと、前記復号化対象ピクチャに含まれる各ブロックに設定された、当該ブロックをスキップモードで復号化するかどうかを示す第2のフラグを復号化する第2のフラグ復号化ステップと、前記復号化対象ブロックと同一ピクチャ内にある、前記復号化対象ブロックに空間的に隣接するブロックまたは、前記復号化対象ピクチャと異なるピクチャに含まれる、前記復号化対象ブロックに時間的に隣接するブロックである隣接ブロックを含む、少なくとも1つ以上の候補から、前記マージに用いることが可能な少なくとも1つの候補をそれぞれマージ候補として、前記第1のフラグおよび前記マージ候補数に基づいて決定するマージ候補決定ステップと、決定された少なくとも1つのマージ候補の中から、前記復号化対象ブロックの復号化に用いられるマージ候補を特定するためのインデックスを、前記マージ候補数の値に応じて復号化するインデックス復号化ステップと、を有する。
以上、本発明の一つまたは複数の態様に係る動画像符号化装置および動画像復号化装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つまたは複数の態様の範囲内に含まれてもよい。
(実施の形態5)
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
図20は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図20のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局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の例に限らず、図21に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
図22は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)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の構成を図23に示す。情報再生/記録部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はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図24に光ディスクである記録メディア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の構成は例えば図22に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
図25Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
さらに、携帯電話ex114の構成例について、図25Bを用いて説明する。携帯電話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トランスポートストリーム形式のデジタルストリームである。
図26は、多重化データの構成を示す図である。図26に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(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が、それぞれ割り当てられている。
図27は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
図28は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図28における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図28の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
図29は、多重化データに最終的に書き込まれる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フィルタへの転送開始時刻を示す。多重化データには図29下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号は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時間の情報を持つ。
図30はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
多重化データ情報ファイルは、図31に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
多重化データ情報は図31に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
ストリーム属性情報は図32に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
また、本実施の形態における動画像復号化方法のステップを図33に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
(実施の形態7)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図34に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などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図35は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
より具体的には、駆動周波数切替え部ex803は、図34のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図34の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態6で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態6で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図37のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
図36は、本実施の形態の方法を実施するステップを示している。まず、ステップ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などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図38Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
また、処理を一部共有化する他の例を図38Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。