(実施の形態1)
図1は、本発明の実施の形態1における動画像符号化装置の構成を示すブロック図である。この動画像符号化装置における動画像符号化方法を図1に示したブロック図を用いて(1)符号化の概要、(2)参照インデックス割り当て方法、(3)予測画像生成方法の順で説明する。
(1)符号化の概要
符号化対象となる動画像は表示を行う順にピクチャ単位でピクチャメモリ101に入力され、符号化を行う順にピクチャの並び替えを行う。図31は並び替えの例を示した図である。図31(a)は表示される順に並べられたピクチャであり、図31(b)は符号化を行う順に並び替えたピクチャの例である。ここでのB3、B6は時間的に前方および後方の両方を参照しているため、これらのピクチャを符号化する前に参照の対象となるピクチャを先に符号化する必要があることから、図31(b)ではP4、P7が先に符号化されるように並び替えられている。さらに各々のピクチャはマクロブロックと呼ばれる例えば水平16×垂直16画素のブロックに分割されブロック単位で以降の処理が行われる。
ピクチャメモリ101から読み出された入力画像信号は差分演算部112に入力され、動き補償符号化部107の出力である予測画像信号との差分を取ることによって得られる差分画像信号を予測残差符号化部102に出力する。予測残差符号化部102では周波数変換、量子化等の画像符号化処理を行い残差符号化信号を出力する。残差符号化信号は予測残差復号化部104に入力され、逆量子化、逆周波数変換等の画像復号化処理を行い残差復号化信号を出力する。加算演算部113では前記残差復号化信号と予測画像信号との加算を行い再構成画像信号を生成し、得られた再構成画像信号の中で以降の画面間予測で参照される可能性がある信号をピクチャメモリ105に格納する。
一方、ピクチャメモリ101から読み出されたマクロブロック単位の入力画像信号は動きベクトル検出部106にも入力される。ここでは、ピクチャメモリ105に格納されている再構成画像信号を探索対象とし、最も入力画像信号に近い画像領域を検出することによってその位置を指し示す動きベクトルを決定する。動きベクトル検出はマクロブロックをさらに分割したブロック単位で行われ、得られた動きベクトルは動きベクトル記憶部108に格納される。
このとき、現在標準化中のH.26Lでは複数のピクチャを参照対象として使用することができるため、参照するピクチャを指定するための識別番号がブロックごとに必要となる。その識別番号を参照インデックスと呼び、参照インデックス・ピクチャ番号変換部111において、ピクチャメモリ105中のピクチャの持つピクチャ番号との対応を取ることにより参照ピクチャを指定することが可能となる。参照インデックス・ピクチャ番号変換部111における動作の詳細は(2)において詳しく説明する。
動き補償符号化部107では、上記処理によって検出された動きベクトルおよび参照インデックスを用いて、ピクチャメモリ105に格納されている再構成画像信号から予測画像に最適な画像領域を取り出す。得られた画像領域の画素値に対して線形予測による補間処理等の画素値変換処理を施すことによって最終的な予測画像とする。その際に使用する線形予測係数は線形予測係数生成部110によって生成され線形予測係数記憶部109に格納される。この予測画像生成方法については(3)において詳しく説明する。
上記の一連の処理によって出力された線形予測係数、参照インデックス、動きベクトル、残差符号化信号等の符号化情報に対して符号列生成部103において可変長符号化を施すことにより、この符号化装置が出力する符号列が得られる。
以上の処理の流れは画面間予測符号化を行った場合の動作であったが、スイッチ114およびスイッチ115によって画面内予測符号化との切り替えがなされる。画面内符号化を行う場合は、動き補償による予測画像の生成は行わず、同一画面内の符号化済み領域から符号化対象領域の予測画像を生成し差分を取ることによって差分画像信号を生成する。差分画像信号は画面間予測符号化の場合と同様に、予測残差符号化部102において残差符号化信号に変換され、符号列生成部103において可変長符号化を施されることにより出力される符号列が得られる。
(2)参照インデックス割り当て方法
次に、図1の参照インデックス・ピクチャ番号変換部111における参照インデックス割り当て方法について図3、図4を用いて説明する。
図3は、ピクチャ番号に対する2つの参照インデックスの割り当て方法を説明するための図である。図のような表示される順に並べられたピクチャ列があったとき、ピクチャ番号は符号化される順番に割り振られている。参照インデックスをピクチャ番号に割り当てるためのコマンドはピクチャをさらに分割した符号化単位であるスライスのヘッダに記述され、1つのスライスを符号化する毎に割り振り方が更新されることになる。前記コマンドは、直前に参照インデックスに割り当てたピクチャ番号と現在割り当てを行っているピクチャ番号との差分値を参照インデックスの数だけ連続して指示するものである。
図3の第1参照インデックスの例を用いると、まずコマンドとして"−1"が与えられたので、現在符号化の対象としているピクチャ番号16番から1を引くことにより、ピクチャ番号15番が参照インデックス0番に割り当てられる。次に"−4"が与えられたので、直前に割り当てを行ったピクチャ番号15番から4を引くことにより、ピクチャ番号11番が参照インデックス1番に割り当てられる。以下同様の処理によって各ピクチャ番号の割り当てが行われる。第2参照インデックスの場合も同様である。
図34に示した従来の方法による参照インデックス割り当て方法では、全ての参照インデックスはそれぞれ別々のピクチャ番号に対応付けられている。一方、図3の例では、割り当て方法は従来のものと全く同じ方法を用いているが、コマンドの値を変更することにより同じピクチャ番号に対して複数の参照インデックス番号が対応付けられている。
図4は参照インデックスの割り当てを行った結果を示したものである。各ピクチャ番号には第1参照インデックスおよび第2参照インデックスがそれぞれ独立に割り当てられているが、1つのピクチャ番号に対して複数の参照インデックスが割り当てられているものもあることが分かる。本発明の符号化方法では、この例のように複数の参照インデックスが割り当てられているピクチャ番号が少なくとも1つ以上あるものとする。
参照インデックスを参照ピクチャの決定のみに使用する場合であれば、従来の方法のように1つのピクチャ番号に対して1つの参照インデックスを割り当てる方法が最も符号化効率の良い方法である。しかし、参照インデックスを使用して予測画像の生成における線形予測係数の重み付け係数セットを選択する場合は、従来の方法では同じ参照ピクチャを持つブロック全てにおいて同じ線形予測係数を使用しなくてはならないため、最適な予測画像が生成されない可能性が非常に高くなってしまう。
そこで、本発明のように1つのピクチャ番号に対して複数の参照インデックスが割り当てることを可能とすることにより、同じ参照ピクチャを持つ場合でも、ブロックごとに複数の線形予測係数の重み付け係数セットの候補の中から最適なものを選択することが可能となり、より符号化効率の高い予測画像を生成することが可能となる。
なお、以上の説明では全ての参照ピクチャが参照用メモリに蓄積されるものとしてピクチャ番号が与えられている場合の例を示していたが、ピクチャ番号は符号化を行った直前のピクチャが蓄積された場合のみ、当該ピクチャに値が1つ増加したピクチャ番号が付与されていくものであり、蓄積されないピクチャがあった場合でも参照用メモリ内ではピクチャ番号の連続性は保たれ、前記方法をそのまま使用することが可能である。
(3)予測画像生成方法
次に、図1の動き補償符号化部107における予測画像生成方法について図5を用いて説明する。線形予測による予測画像生成方法は従来法と全く同様であるが、同じピクチャに対して複数の参照インデックス番号を対応付けることが可能となったため、線形予測係数を選択する際の自由度が高くなっている。
ピクチャB16は現在符号化の対象としているBピクチャであり、ブロックBL01およびブロックBL02は前記Bピクチャに属する符号化対象のブロックである。BL01は第1参照ピクチャをピクチャP11、第2参照ピクチャをピクチャB15とし、それぞれのピクチャに属するブロックBL11およびBL21を参照して予測画像を作成する。同様にBL02も第1参照ピクチャをピクチャP11、第2参照ピクチャをピクチャB15とし、それぞれのピクチャに属するブロックBL12およびBL22を参照して予測画像を作成する。
第1参照ピクチャおよび第2参照ピクチャはBL01、BL02共に同じものを参照しているが、(2)において説明した参照インデックスの割り当て方法を用いることにより、第1参照インデックスref1および第2参照インデックスref2はBL01とBL02とで異なる値を取ることが可能となる。図4を例にとると、ピクチャ番号11に対応する第1参照インデックスは1と3が、ピクチャ番号15に対応する第2参照インデックスは1と6が割り振られている。
その結果、これらの参照インデックスの組み合わせは、(ref1、ref2)=(1、1)、(1、6)、(3、1)、(3、6)の4通りが考えられ、これらの中から最適な重み付け係数セットを導き出す組み合わせをブロックごとに選択することが可能となっている。図5では例としてBL01がref1=1、ref2=1、BL02がref1=3、ref2=6としている。
図35にあるような従来の方法によって対応付けられた参照インデックスの組み合わせでは、図5のような例ではBL01、BL02共に(ref1、ref2)=(1、1)の組み合わせしか選択できなかったため、選択することのできる線形予測係数の重み付け係数セットも1通りしかなかった。一方、本発明では選択範囲が4通りに拡張されているため、最適な重み付け係数セットが選択できる可能性が高くなると言える。
1つのピクチャの符号列は、ピクチャ共通情報領域および複数のスライスデータ領域から構成される。図6はそのうちのスライスデータ領域の構成を示したものである。さらにスライスデータ領域は、スライスヘッダ領域および複数のブロックデータ領域から構成される。ここではブロックデータ領域の例として図5におけるBL01、BL02に対応する各ブロックの領域が示されている。BL01に含まれるref1およびref2はこのブロックが参照する2枚のピクチャを指し示す第1参照インデックスおよび第2参照インデックスをそれぞれ指示するものである。
またスライスヘッダ領域には前記線形予測を行うための重み付け係数セットを与えるためのデータ(pset0、pset1、pset2、・・・・)がref1用およびref2用それぞれに記述されている。このときのpsetは(2)で説明した参照インデックスの個数と同じで数だけ設定することができる。つまり、図3のように第1参照インデックス、第2参照インデックスを共に0から9までの10個を使用した場合は、psetもref1用、ref2用共に0から9までの10個を設定することが可能である。
図7は前記スライスヘッダ領域に含まれる前記重み付け係数セットの例を表に示したものである。識別子psetで示された各々のデータはw1、w2、c、dの4つ値を持ち、ref1およびref2の値によってダイレクトに参照できるように構成されている。また、スライスヘッダ領域には前記参照インデックスをピクチャ番号に割り当てるためのコマンド列idx_cmd1およびidx_cmd2が記述されている。
図6のBL01に記述されたref1およびref2によって図7のref1用およびref2用のテーブルからそれぞれ1組の重み付け係数セットが選択される。この2組の重み付け係数セットを用いて参照画像の画素値に対して線形予測を施すことによって予測画像を生成する。
このように1つのピクチャ番号に対して複数の参照インデックスが割り当てる符号化方法を用いることにより、線形予測係数の重み付け係数セットの候補を複数作成できるようになり、その中から最適なものを選択することが可能となる。たとえば、第1参照インデックスが2つ、第2参照インデックスが2つ割り当てられていた場合は4通りの重み付け係数セットを選択の候補とすることができ、第1参照インデックスが3つ、第2参照インデックスが3つ割り当てられていた場合は9通りの重み付け係数セットを選択の候補とすることができる。
この線形予測という方法はフェードやフラッシュのように画面全体もしくは一部分の明度が大きく変化するような場合に特に大きな効果が得られる。多くの場合、その明度の変化の度合いは画面の部分部分によって異なる。そのため、本発明のように複数の重み付け係数セットの中からブロックごとに最適なものを選択できるような構成を持つことは画像の符号化において非常に有効である。
ここで、重み付け係数セットを決定し予測画像の生成するまでの処理の流れについて詳細に説明する。
図8は、図1の線形予測係数生成部110、線形予測係数記憶部109、および動き補償符号化部107における予測画像を生成する機能構成を示した機能ブロック図である。
線形予測係数生成部110、線形予測係数記憶部109a、線形予測係数記憶部109b、平均値算出部107a、および線形予測演算部107bにより予測画像が生成される。
線形予測係数生成部110によって生成された重み付け係数セットは線形予測係数記憶部109aおよび線形予測係数記憶部109bに格納されている。平均値算出部107aは、動き検出の処理によって決定された第1参照インデックスref1によって選択される1組の重み付け係数セット(w1_1,w2_1,c_1,d_1)を線形予測係数記憶部109aより獲得し、同様に第2参照インデックスref2によって選択される1組の重み付け係数セット(w1_2,w2_2,c_2,d_2)を線形予測係数記憶部109bより獲得する。
そして平均値算出部107aは、線形予測係数記憶部109a、109bより獲得したそれぞれの重み付け係数セットのパラメータごとの平均を取り、実際に線形予測に使用する重み付け係数セット(w1,w2,c,d)とし、線形予測演算部107bに出力する。線形予測演算部107bは、得られた重み付け係数セット(w1,w2,c,d)を基に、式1を用いて予測画像を演算し出力する。
また、図9は予測画像を生成する他の機能構成を示す機能ブロック図である。線形予測係数生成部110、線形予測係数記憶部109a、線形予測係数記憶部109b、線形予測演算部107c、線形予測演算部107d、および平均値算出部107eにより、予測画像が生成される。
線形予測係数生成部110によって生成された重み付け係数セットは線形予測係数記憶部109aおよび線形予測係数記憶部109bに格納されている。線形予測演算部107cは、動き検出の処理によって決定された第1参照インデックスref1によって選択される1組の重み付け係数セット(w1_1,w2_1,c_1,d_1)を線形予測係数記憶部109aより獲得し、その重み付け係数セットを基に、式1を用いて予測画像を演算して平均値算出部107eに出力する。
同様に、線形予測演算部107dは、動き検出の処理によって決定された第2参照インデックスref2を基に選択される1組の重み付け係数セット(w1_2,w2_2,c_2,d_2)を線形予測係数記憶部109bより獲得し、その重み付け係数セットを基に式1を用いて予測画像を演算して平均値算出部107eに出力する。
平均値算出部107eは、線形予測演算部107c,線形予測演算部107dのそれぞれから出力される予測画像の各画素の平均値をとり、最終的な予測画像を生成し出力する。
図10(a)は、予測画像を生成する他の機能構成を示す機能ブロック図である。線形予測係数生成部110、線形予測係数記憶部109c、線形予測係数記憶部109d、平均値算出部107f,線形予測演算部107gにより予測画像が生成される。
線形予測係数生成部110によって生成された重み付け係数セットは線形予測係数記憶部109cおよび線形予測係数記憶部109dに格納されている。平均値算出部107fは、動き検出の処理によって決定された第1参照インデックスref1によって選択される1組の重み付け係数セット(w1_1、w2_1,c_1,d_1)のうち、c_1,d_1のパラメータを線形予測係数記憶部109cより獲得し、同様に第2参照インデックスref2によって選択される1組の重み付け係数セット(w1_2、w2_2,c_2,d_2)のうち、c_2,d_2のパラメータを線形予測係数記憶部109dより獲得する。平均値算出部107fは、線形予測係数記憶部109cおよび線形予測係数記憶部109dより獲得したc_1とc_2の平均値と、d_1とd_2の平均値を算出してc、dを求め線形予測演算部107gに出力する。
また、線形予測演算部107gは、上記重み付け係数セット(w1_1、w2_1,c_1,d_1)のうち、w1_1のパラメータを線形予測係数記憶部109cより獲得し、上記重み付け係数セット(w1_2、w2_2,c_2,d_2)のうち、w2_2のパラメータを線形予測係数記憶部109dより獲得し、平均値算出部107fによりそれぞれの平均を求めてc、dを獲得し、式1を用いて予測画像を演算し出力する。
すなわち、線形予測演算部107gは、線形予測係数記憶部109cより得られた重み付け係数セット(w1_1、w2_1,c_1,d_1)と、線形予測係数記憶部109dより得られた重み付け係数セット(w1_2、w2_2,c_2,d_2)のうち、実際に線形予測で使用する重み付け係数セット(w1、w2,c,d)を決定する際に、下記の規則を用いている。
w1=w1_1,w2=w2_2,c=(c_1とc_2の平均),d=(d_1とd_2の平均)
このように図10(a)で説明した予測画像の生成においては、線形予測係数記憶部109cは重み付け係数セットのうちw2_1を必要としない。そのため、ref1用の重み付け係数セットにw2は必要でない。よって符号列を小さくすることも可能である。
また、線形予測係数記憶部109dは重み付け係数セットのうちw1_2を必要としない。そのため、ref2用の重み付け係数セットにw1は必要でない。よって符号列を小さくすることも可能である。
図10(b)は、予測画像を生成する他の機能構成を示す機能ブロック図である。線形予測係数生成部110、線形予測係数記憶部109e、線形予測係数記憶部109f、線形予測演算部107hにより予測画像が生成される。
線形予測係数生成部110によって生成された重み付け係数セットは線形予測係数記憶部109eおよび線形予測係数記憶部109fに格納されている。線形予測演算部107hは、動き検出の処理によって決定された第1参照インデックスref1によって選択される1組の重み付け係数セット(w1_1、w2_1,c_1,d_1)のうちの一部であるw1_1,c_1,d_1のパラメータを線形予測係数記憶部109eより獲得し、同様に第2参照インデックスref2を基に選択される1組の重み付け係数セット(w1_2、w2_2,c_2,d_2)のうちの一部であるw2_2のパラメータを線形予測係数記憶部109fより獲得する。線形予測演算部107hは、線形予測係数記憶部109e,線形予測係数記憶部109fより獲得したw1_1,c_1,d_1,w2_2を基に、式1を用いて、予測画像を演算し出力する。
すなわち、線形予測演算部107hは、線形予測係数記憶部109eより得られた重み付け係数セット(w1_1、w2_1,c_1,d_1)と、線形予測係数記憶部109fより得られた重み付け係数セット(w1_2、w2_2,c_2,d_2)のうち、実際に線形予測で使用する重み付け係数セット(w1、w2,c,d)を決定する際に、下記の規則を用いている。
w1=w1_1,w2=w2_2,c=c_1,d=d_1
また、図10(b)で説明した予測画像の生成においては、線形予測係数記憶部109eは重み付け係数セットのうちw2_1を必要としない。そのため、ref1用の重み付け係数セットにw2は必要でない。よって符号列を小さくすることができる。
また、線形予測係数記憶部109fは重み付け係数セットのうちw1_2,c_2,d_2を必要としない。そのため、ref2用の重み付け係数セットにw1,c,dは必要でない。よって符号列を小さくすることができる。
また、w1、w2、c、dのパラメータのうちの1つもしくは複数個を固定の値として使用することも可能である。図11は図10(a)における機能構成に対して、dのみを固定の値として使用した場合の機能ブロック図である。線形予測係数生成部110、線形予測係数記憶部109i、線形予測係数記憶部109j、平均値算出部107j、線形予測演算部107kにより予測画像が生成される。
第1参照インデックスref1によって線形予測係数記憶部109iから選択される係数は(w1_1、c_1)のみであり、第2参照インデックスref2によって線形予測係数記憶部109jから選択される係数は(w2_2、c_2)のみである。平均値算出部107jは、線形予測係数記憶部109iおよび線形予測係数記憶部109jより獲得したc_1とc_2の平均値を算出してcを求め線形予測演算部107kに出力する。
また、線形予測演算部107kは、w1_1のパラメータを線形予測係数記憶部109iより獲得し、w2_2のパラメータを線形予測係数記憶部109jより獲得し、cのパラメータを平均値算出部107jfより獲得し、dのパラメータとして予め決められたある固定の値を使用し、式1を用いて予測画像を算出し出力する。つまり、式1の係数(w1、w2,c,d)には下記の値が入力されることになる。
w1=w1_1,w2=w2_2,c=(c_1とc_2の平均),d=(固定値)
これを式1に代入すると下記の式1aが得られる。
P(i)=(w1_1×Q1(i)+w2_2×Q2(i))/pow(2,d)+(c_1+c_2)/2 (式1a)
(pow(2,d)は2のd乗を示す)
さらに式1aを変形することにより式1bのような式が得られる。線形予測演算部107kにおける線形予測の演算方法は式1bのような形式で用いた場合も式1の形式で用いた場合も全く同様に扱うことが可能である。
P(i)=(w1_1×Q1(i)/pow(2,d−1)+c_1+w2_2×Q2(i)/pow(2,d−1)+c_2)/2 (式1b)
(pow(2,d−1)は2のd−1乗を示す)
なお、式1bではpow(2,d−1)となっているが、dは固定の値であるため、d'=d−1としてd'を線形予測演算部107kへの入力とすることによりpow(2,d')としてシステムを構成してもよい。
また、図11で説明した予測画像の生成においては、線形予測係数記憶部109iは重み付け係数セットのうちw1_1とc_1のみを必要とし、線形予測係数記憶部109jは重み付け係数セットのうちw2_2とc_2のみを必要とするため、それ以外のパラメータを符号化する必要がない。よって符号列を小さくすることができる。
なお、dの値として使用する予め決定された固定の値とは、常に同じ値を使用することも可能であるが、スライスヘッダに前記固定の値を記述することによってスライスごとに切り替えることも可能である。同様に、ピクチャ共通情報領域またはシーケンス共通情報領域に記述することによりピクチャごとまたはシーケンスごとに切り替えることも可能である。
上記の線形予測方法を用いたときのスライスデータ領域の構成の例を図12に示す。図6と異なる点は、dがスライスヘッダ領域に1つだけ記述されている点と、ref1用のpsetとしてw1_1とc_1のみが記述されている点である。図13は前記スライスヘッダ領域に含まれる前記重み付け係数セットの例を表に示したものである。識別子psetで示された各々のデータはw1_1、c_1もしくはw2_2、c_2の2つの値を持ち、ref1およびref2の値によって直接参照できるように構成されている。
なお、線形予測係数生成部110では、ピクチャの特徴を調べることによって重み付け係数セットを生成し、動き補償符号化部107において、図8、図9、図10、図11で説明した方法を用いて予測画像を作成し、最も予測誤差が最小になるような2つの参照インデックスref1およびref2の組み合わせを決定する。なお、図10(a)、(b)、図11のように全てのパラメータを必要としない方法を用いる場合は、符号化装置の線形予測係数生成部110において重み付け係数セット作成する段階で、必要の無いパラメータの作成処理を省略することも可能である。
また、図10(a)、(b)、図11のような方法では、線形予測係数生成部110において重み付け係数セット作成する際に、例えばw1_1やw2_2のように、ref1用の重み付け係数セットとref2用の重み付け係数セットをそれぞれ独立に最適なものを探索して作成することが可能である。つまり、この方法を用いると符号化装置において重み付け係数セットを作成するための処理量を削減することが可能となる。
なお、上記の符号化方法は2つの参照ピクチャをもつBピクチャに関するものであったが、1つの参照ピクチャしか持たないPピクチャおよびBピクチャにおける単一ピクチャ参照符号化モードにおいても同様の処理を行うことが可能である。この場合は第1参照インデックスもしくは第2参照インデックスのどちらか一方のみを使用し、図6の符号列におけるスライスヘッダ領域中のpsetおよびidx_cmdは、ブロックデータ領域中に記述される参照インデックスに従って、ref1用もしくはref2用のもののみを記述することになる。
また、線形予測の方法は従来の方法で説明した式1に替えて下記の式3を使用する。このとき、Q1(i)は参照されたブロックの画素値、P(i)は符号化対象ブロックの予測画像の画素値とし、w1、w2、c、dは選択された重み付け係数セットによって与えられる線形予測係数である。
P(i)=(w1×Q1(i)+w2×Q1(i))/pow(2,d)+c(式3)
(pow(2,d)は2のd乗を示す)
なお、線形予測の式として式3の代わりに式4を使用することも可能である。このとき、Q1(i)は参照されたブロックの画素値、P(i)は符号化対象ブロックの予測画像の画素値とし、w1、c、dは選択された重み付け係数セットによって与えられる線形予測係数である。
P(i)=(w1×Q1(i))/pow(2,d)+c (式4)
(pow(2,d)は2のd乗を示す)
式1および式3を使用する場合は、w1、w2、c、dの4つのパラメータが必要だったが、式4を使用する場合は、w1、c、dの3つのパラメータのみで線形予測を行うことができる。つまり、Pピクチャのようにピクチャ全体で第1参照インデックスもしくは第2参照インデックスのどちらか一方のみしか使用されない場合は、スライスヘッダ領域に記述する重み付け係数セットのデータの項目数をそれぞれ3つずつに減らすことが可能となる。
式3を用いた場合はBピクチャとPピクチャとで構成を変更せずに両方に対応した線形予測を実現することが可能となる。また、式4を用いた場合はPピクチャのヘッダ領域に記述するデータ量を削減することができ、さらに計算が単純化されるため処理量の削減も実現することが可能となる。ただし、いずれの方法においても、本発明において提案する参照インデックスの割り振り方法はそのまま適用することができるため、符号化効率の高い予測画像を作成することが可能であり、画像の符号化において非常に有効である。
ところで、動き補償において参照するピクチャは、各々のピクチャに割り当てられた参照インデックスを指定することによって決定される。その際に、参照することが可能なピクチャの最大枚数を符号列のピクチャ共通情報部分に記述していた。
図38は、参照することが可能なピクチャの最大枚数を記述した符号列の模式図である。図に示すように符号列のピクチャ共通情報にref1用のピクチャの最大数Max_pic1と、ref2用のピクチャの最大数Max_pic2を記述していた。
符号化において必要とする情報は、実際のピクチャの最大枚数ではなく、ピクチャを指定するために使用する参照インデックスの取り得る最大値である。
従来の方法では、1つのピクチャには1つの参照インデックスしか割り当てられなかったため、前述のピクチャの最大枚数を記述することによって矛盾は生じなかったが、特に本発明のように、ピクチャ番号に複数の参照インデックスが割り当てられる場合には、その違いが大きく影響する。
上述したように、符号列には参照インデックスをピクチャ番号に割り当てるためにコマンド列idx_cmd1、およびidx_cmd2が記述されている。このコマンド列idx_cmd1、およびidx_cmd2の各コマンドを基に、ピクチャ番号と参照インデックスとを対応づけていく。このときに、参照インデックスの最大値を知ることで、すべての参照インデックスとピクチャ番号との対応づけが行われたことがわかり、コマンド列idx_cmd1、およびidx_cmd2におけるコマンドの終端を知ることができる。
そこで、本実施の形態では、従来のピクチャの最大枚数の代わりに、利用可能な参照インデックスの最大数をピクチャのヘッダであるピクチャ共通情報部分に記述している。もしくは、ピクチャの最大枚数と参照インデックスの最大数の両者を記述する。
図23は、ピクチャの符号列のピクチャ共通情報に参照インデクッスの最大数を記述した状態を示している。ピクチャの共通情報部分には、ref1用の利用可能な参照インデックスの最大数Max_idx1、およびref2用の利用可能な参照インデックスの最大数Max_idx2を記述している。
なお、図23では、ピクチャ共通情報に参照インデクッスの最大数を記述しているが、これに加えて、スライスデータ領域に参照インデクッスの最大数を記述する構成としてもよい。例えば、ピクチャでの参照インデクッスの最大数が8、当該ピクチャ中のスライス1で必要な参照インデクッスの最大数が8、スライス2で必要な参照インデクッスの最大数が4であるというように、スライスによって必要な参照インデクッスの最大数がピクチャ共通情報領域に記述された最大数と異なる場合に、スライス毎に必要な参照インデクッスの最大数を明示することができる。
すなわち、ピクチャ共通情報に記述された参照インデクッスの最大数をピクチャ中の各スライスに共通するデフォルト値として、必要な参照インデクッスの最大数がデフォルト値と異なるスライスについてはスライスヘッダに記述するようにしてもよい。
なお、図23および図38ではではピクチャ共通情報領域とスライスデータ領域とをひとまとめにして符号列としている例を示したが、ピクチャ共通情報領域とスライスデータ領域はそれぞれ独立した符号列とすることも可能であり、この場合も全く同様に扱うことができる。
(実施の形態2)
本発明の実施の形態2における動画像符号化方法について説明する。なお、符号化装置の構成および符号化の処理の流れおよび参照インデックスの割り当て方法は実施の形態1と全く同様であるため、ここでは説明を省略する。
実施の形態1では動き補償において予測画像を生成する際に、式1もしくは式3もしくは式4を用いて画素ごとに線形予測を行っている。しかし、これらの式はいずれも乗算処理を含むものであり、全ての画素に対してこのような演算を行うことを考えると、処理量が非常に大きくなってしまう。
そこで式1の代わりに式5、式3の代わりに式6、式4の代わりに式7を使用することも可能である。これらの式は乗算を使用することなくビットシフト演算のみで計算を行うことができるため、処理量を少なく抑えることが可能となる。このとき、Q1(i)、Q2(i)は参照されたブロックの画素値、P(i)は符号化対象ブロックの予測画像の画素値とし、m、n、cは選択された重み付け係数セットによって与えられる線形予測係数である。
P(i)=±pow(2,m)×Q1(i) ±pow(2,n)×Q2(i)+c (式5)
P(i)=±pow(2,m)×Q1(i) ±pow(2,n)×Q1(i)+c (式6)
P(i)=±pow(2,m)×Q1(i)+c (式7)
(pow(2,m)は2のm乗を、pow(2,n)は2のn乗を示す。)
実施の形態1と同様に、同時に2枚のピクチャを参照して予測画像を生成するときは式5を使用し、1枚のピクチャのみを参照して予測画像を生成するときは式6もしくは式7を使用する。これらの式では正負の符号を表す識別子が必要となるため、予測演算に必要な重み付け係数セットは、式5および式6の場合は(sign1、m、sign2、n、c)、式7の場合は(sign1、m、c)となる。sign1は1つめの正負の符号を、sign2は2つめの正負の符号を識別するパラメータである。パラメータの個数は実施の形態1よりも増加しているが、sign1およびsign2はそれぞれ1ビットで表現することができるため符号量の増加はほとんど無い。
ここで、重み付け係数セットを決定し、式5を使用し同時に2枚のピクチャを参照して予測画像の生成するまでの処理の流れについて詳細に説明する。
まず、予測画像を生成する機能構成が図8である場合について説明する。平均値算出部107aは、線形予測係数記憶部109aより重み付け係数セット(sign1_1,m_1,sign2_1,n_1,c_1)を得る。また、平均値算出部107aは、線形予測係数記憶部109bより重み付け係数セット(sign1_2,m_2,sign2_2,n_2,c_2)を得る。
平均値算出部107aは、線形予測係数記憶部109a、線形予測係数記憶部109bより得た重み付け係数セットのパラメータ毎の平均値を求め、重み付け係数セット(sign1,m,sign2,n,c)とする。線形予測演算部107bは、平均値算出部107aが出力する重み付け係数セット(sign1,m,sign2,n,c)を基に、式5を用いて予測画像を演算する。
なお、図8に記載した線形予測係数記憶部109a等より得られる重み付け係数セット(w1_1,w2_1,c_1,d_1)等は、実施の形態1で説明した式1の場合の例におけるものであり、式5を用いて予測画像を求める場合についてのパラメータについては図示していないが、そのまま置き換えることが可能である。以下に説明する図9、図10の場合も同様である。
次に、予測画像を生成する機能構成が図9である場合について説明する。線形予測演算部107cは、線形予測係数記憶部109aより得た重み付け係数セット(sign1_1,m_1,sign2_1,n_1,c_1)を基に予測画像を演算する。線形予測演算部107dは、線形予測係数記憶部109bより得た重み付け係数セット(sign1_2,m_2,sign2_2,n_2,c_2)を基に予測画像を演算する。そして平均値算出部107eは、線形予測演算部107c,107dのそれぞれが演算した予測画像の各画素の平均を求め、予測画像とする。
この場合、線形予測演算部107cは、重み付け係数セット(sign1_1,m_1,sign2_1,n_1,c_1)を基に式5を用いて、最初に予測画像を演算するため、乗算を使用することなく、ビットシフト演算で計算することができる。線形予測演算部107dも同様である。一方、図8の場合であると、最初に重み付け係数セット(sign1_1,m_1,sign2_1,n_1,c_1)と重み付け係数セット(sign1_2,m_2,sign2_2,n_2,c_2)の平均を求めるため、m_1とm_2の平均値あるいはn_1とn_2の平均値が整数にならない場合があり、すなわち2の指数にあたる部分が整数にならないため、処理量が多くなってしまう可能性がある。また、2の指数にあたる部分が整数になるように丸め処理をおこなうと誤差が大きくなってしまう可能性がある。
次に、予測画像を生成する機能構成が図10(a)である場合について説明する。線形予測演算部107gは、線形予測係数記憶部109cより得たビットシフト演算に用いられる係数であるパラメータsign1_1,m_1と、線形予測係数記憶部109cより得たビットシフト演算に用いられる係数であるパラメータsign2_2,n_2と、各線形予測係数記憶部109c,109dより得たパラメータc_1とc_2を平均値算出部107fが平均して求めた平均値cとを基に式5を用いて予測画像を演算する。
この場合においても、ビットシフト演算に用いられる係数は、線形予測係数記憶部109cあるいは線形予測係数記憶部109dよりそのまま得た値であるので、式5における2の指数部分が整数となる。そのため、ビットシフト演算で計算することができ、処理量を少なくすることが可能となる。
予測画像を生成する機能構成が図10(b)である場合について説明する。線形予測演算部107hは、線形予測係数記憶部109eより得たパラメータsign1_1,m_1,c_1と、線形予測係数記憶部109fより得たパラメータsign2_2,n_2とを基に式5を用いて予測画像を演算する。
この場合においても、ビットシフト演算に用いられる係数は、線形予測係数記憶部109e、あるいは線形予測係数記憶部109fよりそのまま得た値であるので、式5における2の指数部分が整数となる。そのため、ビットシフト演算で計算することができ、処理量を少なくすることが可能となる。
図10(a)(b)の場合は、実施の形態1における図10(a)(b)の説明と同様に符号列に付加して送らなくてもよいパラメータがあり、符号列を小さくすることが可能である。
以上、実施の形態2で説明したような線形予測式を用いると、乗算を使用することなくビットシフト演算で計算することができるため実施の形態1に比べて処理量を大幅に削減することが可能となる。
なお、上記実施の形態では式1、式3、式4の代わりに式5、式6、式7を用い、符号化するパラメータセットも(w1、w2、c、d)の代わりに(sign1、m、sign2、n、c)を用いて線形予測を行うことによってビットシフト演算のみでの計算を実現し処理量の削減を図っていたが、別のアプローチとして式1、式3、式4および(w1、w2、c、d)をそのまま用いたまま、w1およびw2をビットシフト演算可能な値のみ選択可能として制限することによってビットシフト演算のみでの計算を実現し処理量の削減を行うことも可能である。
図1の線形予測係数生成部110において、w1およびw2の各値を決定する際に、その選択肢としてビットシフト演算可能な値のみを選択し図6および図12の符号列中のw1およびw2にそのまま選択された値を記述する。これによって実施の形態1と全く同様の構成のまま線形予測のための処理量の削減を図ることが可能となり、さらに係数の選択肢が制限されることにより係数の決定を容易に行うことが可能となる。
また、さらに限定する方法として、w1およびw2を常に1として選択するように制限し、直流成分であるc1およびc2のみ最適な値を線形予測係数生成部110において生成することも可能である。図11の構成の場合を例にとると、ref1用として(1、c_1)、ref2用として(1、c_2)をパラメータセットとして符号化する。この場合、予測画像の画素値P(i)は、(式1a)中のw1_1およびw2_2を1に置き換えた次式により求められる。
P(i)=(Q1(i)+Q2(i))/pow(2,d)+(c_1+c_2)/2
(pow(2,d)は2のd乗を示す)
これによって実施の形態1と全く同様の構成のまま線形予測のための処理量を大幅に削減することが可能となり、さらに不確定の係数がc_1およびc_2のみとなるため係数の決定方法の大幅な単純化が可能となる。
図24は、ピクチャの符号列のピクチャ共通情報に、線形予測をビットシフト演算のみで行うことが可能であるかを示すフラグsft_flg、および直流成分であるcのみで線形予測を行うことが可能であるかを示すフラグdc_flgを記述した例を示している。復号化装置ではこれらフラグを参照せずに復号することも可能であるが、これらフラグを参照することにより、ビットシフト演算のみでの線形予測に適した構成での復号を行うことや、直流成分のみでの線形予測に適した構成での復号を行うことが可能となるため、復号化装置の構成によっては非常に重要な情報となる場合がある。
なお、図24ではピクチャ共通情報領域とスライスデータ領域とをひとまとめにして符号列としている例を示したが、ピクチャ共通情報領域とスライスデータ領域はそれぞれ独立した符号列とすることも可能であり、この場合も全く同様に扱うことができる。また、図24の例ではピクチャ共通情報領域にsft_flgおよびdc_flgを記述しているが、シーケンス共通情報領域やその他の独立した共通情報領域に記述する場合も全く同様に扱うことができる。また、これらの2つのフラグは両方同時に使用する場合のみでなく、sft_flgのみもしくはdc_flgのみで使用することも可能であり、それらの場合も同様に扱うことができる。
(実施の形態3)
本発明の実施の形態3における動画像符号化方法について説明する。なお、符号化装置の構成および符号化の処理の流れおよび参照インデックスの割り当て方法は実施の形態1と全く同様であるため、ここでは説明を省略する。
従来の技術において説明したように、実施の形態1および実施の形態2のように線形予測係数の重み付け係数セットから求める予測式を用いて予測画像を生成するのではなく、式2aおよび式2bのように予め決めた固定式を用いて予測画像を求める方法があった。この方法を用いると、予測画像を求めるときの重み付け係数セットを符号化して送る必要がないため符号量を削減できるという利点があった。また、線形予測の計算式が単純であるため、少ない処理量で線形予測を大幅に削減することが可能であった。しかし、この固定式を用いた方法であると、選択することのできる線形予測式が式2aおよび式2bの2通りしかないため、予測精度が悪くなってしまうという問題があった。
そこで本実施の形態では式2a,式2bの代わりに式8a,8bを使用する。これらの式は式2a,式2bにC1およびC2を加えたものである。演算としては加算の回数が増加するだけであるため、元の式と比較しても処理量の増加はほとんど無い。このとき、Q1(i)、Q2(i)は参照されたブロックの画素値、P(i)は符号化対象ブロックの予測画像の画素値とし、C1、C2は選択された重み付け係数セットによって与えられる線形予測係数である。
P(i)=2×(Q1(i)+C1)−(Q2(i)+C2) (式8a)
P(i)=(Q1(i)+C1+Q2(i)+C2)/2 (式8b)
式8a,8bは同時に2枚のピクチャを参照して予測画像を生成するときの予測式であるが、1枚のピクチャのみを参照して予測画像を生成するときは実施の形態で説明した式3、式4の代わりに式9を使用する。
P(i)=Q1(i)+C1 (式9)
この方法を用いるために必要な重み付け係数セットは、ref1用として(C1)、ref2用として(C2)のみである。そのため、この方法を用いた場合のピクチャの符号列の例は図14にようになり、スライスヘッダ領域には線形予測を行うための重み付け係数セット(pset0、pset1、pset2、・・・・)がref1用およびref2用それぞれに記述され、それぞれの重み付け係数セットの中身はCのみとなる。同様に、図15は前記スライスヘッダ領域に含まれる重み付け係数セットの例を表に示したものであるが、図7とは異なり、各重み付け係数セットの要素はCのみとなっている。
図16は、図1の線形予測係数生成部110、線形予測係数記憶部109、および動き補償符号化部107における予測画像を生成する機能構成を示した機能ブロック図である。
線形予測係数生成部110、線形予測係数記憶部109g、線形予測係数記憶部109h、および線形予測演算部107iにより予測画像が生成される。
線形予測係数生成部110によって生成された重み付け係数セットは線形予測係数記憶部109gおよび線形予測係数記憶部109hに格納されている。動き検出の処理によって決定された第1参照インデックスref1、および第2参照インデックスref2により線形予測係数記憶部109gおよび109hよりそれぞれ1つの構成要素のみを持つ重み付け係数セット(C1)および(C2)が獲得される。それらの値は線形予測演算部107iに入力され、式8a,式8bを用いて線形予測がなされ、予測画像が生成される。
同様に、1枚のみを参照して線形予測を行う場合は図16のref1もしくはref2のどちらかのみにより重み付け係数セット(C1)もしくは(C2)が獲得され、式9を用いて線形予測がなされ、予測画像が生成される。
なお、線形予測係数生成部110では、ピクチャの特徴を調べることによって重み付け係数セット(C1)および(C2)を生成し、図16で説明した方法を用いて予測画像を作成し、最も予測誤差が最小になるような2つの参照インデックスref1およびref2の組み合わせを決定する。
このように、本実施の形態では使用するパラメータの数がref1用、ref2用にそれぞれ1つずつのみでよいため、符号化装置においてパラメータの値を決定する処理が容易に行え、さらに符号列に記述するデータの量を削減することができる。また線形予測式も乗算等の複雑な演算を必要としないため、演算量も最小限に抑えることが可能である。また従来の固定式を用いた方法で欠点とされていた予測精度の悪さも、C1およびC2という係数を用いることにより大幅に改善することが可能である。
なお、本実施の形態で説明した線形予測の方法は、複数の参照インデックスが同一のピクチャを参照することが可能であるかどうかに関わらず用いることが可能である。
(実施の形態4)
本発明の実施の形態4における動画像符号化方法について説明する。なお、符号化装置の構成および符号化の処理の流れおよび参照インデックスの割り当て方法は実施の形態1と全く同様であるため、ここでは説明を省略する。
各々のピクチャはピクチャ番号と共に、表示時間もしくはそれに代わるものを示すための表示順情報というものが割り当てられている。図39は、その1例としてピクチャ番号と表示順情報とを並べて示した図である。表示順情報は表示される順番に従ってある値が割り当てられる。この図の例では、1ピクチャごとに1ずつ増加する値が使用されている。線形予測を行うための式で用いられる係数の値をこれらの表示順情報を用いて生成する方法について実施の形態4において説明する。
実施の形態1では動き補償において予測画像を生成する際に、式1もしくは式3もしくは式4を用いて画素ごとに線形予測を行っている。しかし、これらの線形予測を行うためには係数のデータが必要であり、前記実施の形態では、スライスヘッダ領域に重み付け係数セットとして符号列中に係数のデータを記述し、予測画像の作成に用いていた。しかし、高い符号化効率が得られる反面、重み付け係数セットのデータを作成するための処理が必要となり、また、重み付け係数セットを符号列中に記述することによるビット量の増加も発生する。
そこで式1の代わりに式10、式11a、式12aを用いて線形予測を行うことも可能である。これらの式は各々の参照ピクチャが持つ表示順情報のみから重み付け係数を決定することができるため、別途重み付け係数セットを符号化する必要がない。
このとき、Q1(i)、Q2(i)は参照されたブロックの画素値、P(i)は符号化対象ブロックの予測画像の画素値とし、V0、V1は重み付け係数、T0は符号化対象ピクチャの表示順情報、T1は第1参照インデックスによって指定されたピクチャの表示順情報、T2は第2参照インデックスによって指定されたピクチャの表示順情報である。
P(i)=V1×Q1(i)+V2×Q2(i) (式10)
V1=(T2−T0)/(T2−T1) (式11a)
V2=(T0−T1)/(T2−T1) (式12a)
例として図39において、符号化対象ピクチャが16番、第1参照インデックスによって指定されたピクチャが11番、第2参照インデックスによって指定されたピクチャが10番とすると、それぞれのピクチャの表示順情報は15、13、10となるため、下記のような線形予測式が決定される。
V1=(10−15)/(10−13)=5/3
V2=(15−13)/(10−13)=−2/3
P(i)=5/3×Q1(i)−2/3×Q2(i)
式1を用いた重み付け係数セットを用いて線形予測を行う方法と比較すると係数の値の自由度が低いため最適な予測画像の作成は困難と言えるが、式2a、式2bを用いた2つの式からなる固定式を2枚の参照ピクチャの位置関係によって切り替える方法と比較すると線形予測式としてより効率の良い式を生成することができる。
なお、第1参照インデックスおよび第2参照インデックスが同じピクチャを参照している場合は、T1=T2となってしまい、式11a、式12aが成立しない。そこで、参照される2枚のピクチャが同じ表示順情報を持つ場合はV1およびV2の値として1/2を用いて線形予測を行うものとする。その場合の線形予測式は下記のようになる。
V1=1/2
V2=1/2
P(i)=1/2×Q1(i)+1/2×Q2(i)
また、第1参照インデックスおよび第2参照インデックスが異なるピクチャを参照しているが、それらのピクチャが同じ表示順情報を持つ場合にも、T1=T2となってしまい、式11a、式12aが成立しない。このように、参照される2枚のピクチャが同じ表示順情報を持つ場合はV1およびV2の値として1/2を用いて線形予測を行うものとする。
このように、参照される2枚のピクチャが同じ表示順情報を持つ場合には、予め設定された値を係数として用いる構成とすればよい。予め設定された値を係数としては、上記の1/2の例のように同じ重みを有する係数としてもよい。
ところで、上記の実施の形態のように式10を用いると、線形予測を行うために乗算および除算が必要となる。式10による線形予測演算は符号化対象ブロック内の全ての画素に対して演算を行うため、乗算が加わることによる処理量の増加は非常に大きなものとなる。
そこで、実施の形態2の考え方と同様にして、V1およびV2を2のべき乗に近似することにより、線形予測の演算をシフト演算のみで行うことを可能とし、処理量の削減を図ることができる。その場合の線形予測式として、式11a、式12aの代わりに式11b、式12bを用いる。ただし、v1およびv2は整数とする。
V1=±pow(2,v1)=apx((T2−T0)/(T2−T1)) (式11b)
V2=±pow(2,v2)=apx((T0−T1)/(T2−T1)) (式12b)
(pow(2,v1)は2のv1乗を、pow(2,v2)は2のv2乗を示す。)
(=apx()は()内の値を左辺の値に近似することを示す。)
なお、式11a、式12aの代わりに式11c、式12cを用いることも可能である。ただし、v1は整数とする。
V1=±pow(2,v1)=apx((T2−T0)/(T2−T1)) (式11c)
V2=1−V1 (式12c)
(pow(2,v1)は2のv1乗を示す。)
(=apx()は()内の値を左辺の値に近似することを示す。)
なお、式11a、式12aの代わりに式11d、式12dを用いることも可能である。ただし、v1は整数とする。
V1=1−V2 (式11d)
V2=±pow(2,v2)=apx((T0−T1)/(T2−T1)) (式12d)
(pow(2,v2)は2のv2乗を示す。)
(=apx()は()内の値を左辺の値に近似することを示す。)
なお、2のべき乗への近似の方法は、式11bを例にとると、v1の値を1ずつ変化させたとき、±pow(2,v1)と(T2−T0)/(T2−T1)とが最も近くなるときの±pow(2,v1)の値とする。
例として図39において、符号化対象ピクチャが16番、第1参照インデックスによって指定されたピクチャが11番、第2参照インデックスによって指定されたピクチャが10番とすると、それぞれのピクチャの表示順情報は15、13、10となるため、(T2−T0)/(T2−T1)および±pow(2,v1)は下記のようになる。
(T2−T0)/(T2−T1)=(10−15)/(10−13)=5/3
+pow(2,0)=1、+pow(2,1)=2
5/3は1よりも2に近いため、近似の結果V1=2となる。
また、別の近似の方法として、表示順情報T1およびT2の2つの値の関係によって切り上げによる近似、切り下げによる近似を切り替えることも可能である。
その場合、T1がT2よりも時間的に後方にある場合は、V1およびV2の両者に対して切り上げによる近似を行い、T1がT2よりも時間的に前方にある場合は、V1およびV2の両者に対して切り下げによる近似を行う。逆に、T1がT2よりも時間的に後方にある場合は、V1およびV2の両者に対して切り下げによる近似を行い、T1がT2よりも時間的に前方にある場合は、V1およびV2の両者に対して切り上げによる近似を行うことも可能である。
また、別の表示順情報を用いた近似の方法として、T1がT2よりも時間的に後方にある場合は、V1に関する式においては切り上げによる近似を行い、V2に関する式においては切り下げによる近似を行う。これにより2つの係数の値が互いに離れるため、外挿補間に適した値が得られやすくなる。逆に、T1がT2よりも時間的に前方にある場合は、V1に関する式とV2に関する式とでその両者の値を比較したときに、値の小さい方は切り上げによる近似を行い、値の大きい方は切り下げによる近似を行う。これにより2つの係数の値が互いに近づくため、内挿補間に適した値が得られやすくなる。
例として図39において、符号化対象ピクチャが16番、第1参照インデックスによって指定されたピクチャが11番、第2参照インデックスによって指定されたピクチャが10番とすると、それぞれのピクチャの表示順情報は15、13、10となり、T1はT2よりも時間的に後方にあるため、V1に関する式においては切り上げによる近似を行い、V2に関する式においては切り下げによる近似を行う。その結果、式11bおよび式12bは下記のように計算される。
(1)式11bについて
(T2−T0)/(T2−T1)=(10−15)/(10−13)=5/3
+pow(2,0)=1、+pow(2,1)=2
切り上げによる近似を行った結果V1=2となる。
(2)式12bについて
(T0−T1)/(T2−T1)=(15−13)/(10−13)=−2/3
−pow(2,0)=−1、−pow(2,−1)=−1/2
切り下げによる近似を行った結果V2=−1となる。なお、上記実施の形態では線形予測の式は式10の1つであったが、従来の技術で説明した式2aおよび式2bの2つの式からなる固定式による線形予測方法と組み合わせて用いることも可能である。その場合、式2aの代わりに式10を使用し、式2bはそのまま使用する。つまり、第1参照インデックスによって指定されるピクチャが第2参照インデックスによって指定されるピクチャよりも表示順において後ろにある場合は式10を使用し、それ以外の場合は式2bを使用する。
また逆に、式2bの代わりに式10を使用し、式2aはそのまま使用することも可能である。つまり、第1参照インデックスによって指定されるピクチャが第2参照インデックスによって指定されるピクチャよりも表示順において後ろにある場合は式2aを使用し、それ以外の場合は式10を使用する。ただし、このとき参照される2枚のピクチャが同じ表示順情報を持つ場合はV1およびV2の値として1/2を用いて線形予測を行う。
また、実施の形態3の考え方と同様にして、係数Cのみをスライスヘッダ領域に記述して線形予測に使用することも可能である。その場合、式10の代わりに式13を用いる。V1およびV2の求め方は上記実施の形態と同様である。
P(i)=V1×(Q1(i)+C1)+V2×(Q2(i)+C2) (式13)
係数を生成するための処理が必要になり、さらに、スライスヘッダ領域に係数データを符号化する必要があるが、V1およびV2の精度が低い場合でもC1およびC2を用いることによってより高い精度の線形予測を行うことが可能となる。特にV1およびV2を2のべき乗に近似して線形予測を行う場合において有効である。
なお、式13を用いた場合の線形予測では、1つのピクチャに1つの参照インデックスが割り当てられている場合でも、また、1つのピクチャに複数の参照インデックスが割り当てられている場合でも、同様に扱うことが可能である。
なお、式11a、式12a、式11b、式12b、式11c、式12c、式11d、式12dの各式の値の計算では、取り得る値の組み合わせがスライスごとにある程度限られているため、スライスを符号化する再に1度だけ演算を行っておけばよく、式10や式13のように符号化対象ブロックのすべての画素に対して演算を行う必要はないため、全体の処理量への影響は小さいと考えられる。
なお、本発明の実施の形態における表示順情報は、表示の順番に限定されるものではなく、実際の表示時間や、表示時間に伴って値が大きくなる所定のピクチャを基準とした各ピクチャの参照順序であっても良い。
(実施の形態5)
本発明の実施の形態5における動画像符号化方法について説明する。なお、符号化装置の構成および符号化の処理の流れおよび参照インデックスの割り当て方法は実施の形態1と全く同様であるため、ここでは説明を省略する。
従来の方法では固定式を用いて予測画像の生成を行う場合と、線形予測係数の重み付け係数セットを用いて予測画像の生成を行う場合とを符号列のピクチャ共通情報部分に記述されるフラグを用いることによって必要に応じて切り替えることを可能としていた。
本実施の形態では、さらに実施の形態1から実施の形態4で説明した各種の線形予測方法をフラグを用いて切り替える方法について説明する。
図17(a)は、上記切り替えを制御するための5つのフラグ(p_flag、c_flag、d_flag、t_flag、s_flag)を符号列中のスライスヘッダ領域に記述する場合の構成である。
図17(b)に示したように、p_flagは重み付け係数が符号化されているかどうかを示すためのフラグである。また、c_flagはref1用およびref2用のパラメータのうち、パラメータC(C1およびC2)に関するデータのみが符号化されているかどうかを示すフラグである。また、t_flagは線形予測を行うための重み付け係数を参照ピクチャの表示順情報を用いて生成するかどうかを示すフラグである。また、s_flagは線形予測を行うための重み付け係数をシフト演算で計算ができるように2のべき乗に近似するかどうかを示すフラグである。
また、d_flagは式2aおよび式2bで示されたような、予め設定されている2つの固定式を用いて線形予測を行う際に、ref1によって指定されるピクチャとref2によって指定されるピクチャの時間的な位置関係によって2つの式を切り替えるかどうかを示すフラグである。つまり、このフラグによって切り替えるように指定された場合は、従来の方法と同様に、ref1によって指定されるピクチャがref2によって指定されるピクチャよりも表示順において後にある場合は式2aを使用し、それ以外の場合は式2bを使用して線形予測を行う。一方、このフラグによって切り替えを行わないように指定された場合は、ref1によって指定されるピクチャがref2によって指定されるピクチャの位置関係に関係なく、常に式2bを使用して線形予測を行う。
なお、切り替えずに使用する式を式2bの代わりに式2aを用いた場合も同様に扱うことが可能である。
図1に示す符号化装置では動き補償符号化部107において、各スライスごとに、重み付け係数セットに関するデータを符号化するか否かを決定し、それに基づいてフラグp_flagの情報を符号列生成部103に出力し、図17(a)に示すように符号列中に記述する。これによって、処理能力の高い装置では重み付け係数セットを使用して線形予測を行い、処理能力の低い装置では重み付け係数セットを使用せずに線形予測を行うといった使い分けが可能となる。
同様に、図1に示す符号化装置では動き補償符号化部107において、各スライスごとに、画像データのDC成分に相当するパラメータC(C1およびC2)に関するデータのみ符号化するか否かを決定し、それに基づいてフラグc_flagの情報を符号列生成部103に出力し、図17(a)に示すように符号列中に記述する。これによって、処理能力の高い装置では全ての重み付け係数セットを使用して線形予測を行い、処理能力の低い装置では直流成分のみを使用して線形予測を行うといった使い分けが可能となる。
同様に、図1に示す符号化装置では動き補償符号化部107において、各スライスごとに、固定式を使用して線形予測を行う場合に、2つの式を切り替えて符号化するか否かを決定し、それに基づいてフラグd_flagの情報を符号列生成部103に出力し、図17(a)に示すように符号列中に記述する。これによって、画面の明度が時間的にほとんど変わらないような場合は片方の固定式のみを用いて線形予測を行い、画面の明度が時間的に変化するような場合は2つの固定式を切り替えて使用して線形予測を行うといった使い分けが可能となる。
同様に、図1に示す符号化装置では動き補償符号化部107において、各スライスごとに、線形予測を行うための係数を参照ピクチャの表示順情報を用いて生成するか否かを決定し、それに基づいてフラグt_flagの情報を符号列生成部103に出力し、図17(a)に示すように符号列中に記述する。これによって、符号量に余裕がある場合は重み付け係数セットを符号化して線形予測を行い、符号量に余裕がない場合は表示順情報から係数を生成して線形予測を行うといった使い分けが可能となる。
同様に、図1に示す符号化装置では動き補償符号化部107において、各スライスごとに、線形予測を行うための係数をシフト演算で計算できるように2のべき乗に近似するか否かを決定し、それに基づいてフラグs_flagの情報を符号列生成部103に出力し、図17(a)に示すように符号列中に記述する。これによって、処理能力の高い装置では重み付け係数を近似しないで使用して線形予測を行い、処理能力の低い装置では重み付け係数を2のべき乗に近似して使用しシフト演算で実現できる線形予測を行うといった使い分けが可能となる。
例えば、(1)(p、c、d、t、s_flag)=(1、0、0、0、1)である場合は、全ての重み付け係数セットが符号化され、実施の形態2で説明したように、係数を2のべき乗で表すことによりシフト演算のみで線形予測を行い予測画像を生成したことが示される。
また、(2)(p、c、d、t、s_flag)=(1、1、1、0、0)である場合は、パラメータC(C1およびC2)に関するデータのみが符号化され、実施の形態3で説明した固定式に係数Cを加えることによって予測画像を生成する方法を用い、さらに2つの固定式を切り替えて使用したことが示される。
また、(3)(p、c、d、t、s_flag)=(0、0、0、0、0)である場合は、重み付け係数セットは何も符号化されない。つまり、従来の方法である固定式のうち式2bのみを用いた予測画像の生成方法を用いたことが示される。
また、(4)(p、c、d、t、s_flag)=(0、0、1、1、1)である場合は、重み付け係数セットは何も符号化されないが、実施の形態4で説明したように、重み付け係数を参照ピクチャの表示順情報から生成し、さらに係数を2のべき乗で近似することによりシフト演算のみで線形予測を行い、さらに2つの固定式を切り替えて使用して予測画像を生成したことが示される。
なお、上記実施の形態では各々1ビットからなる5つのフラグ(p_flag、c_flag、d_flag、t_flag、s_flag)を用いて判別を行っているが、5つのフラグの代わりに5ビットからなる1つのフラグのみで表現することも可能である。また、その場合、5ビットで表現するのではなく可変長符号化を用いて符号化することも可能である。
なお、上記実施の形態では各々1ビットからなる5つのフラグ(p_flag、c_flag、d_flag、t_flag、s_flag)を全て用いているが、そのうちの1部分のフラグのみを用いて線形予測方法の切り替えを行う場合も同様に扱うことが可能である。その場合、図17(a)に示したフラグは必要なもののみを符号化して記述することになる。
従来の方法では、固定式を用いた予測画像の生成と、線形予測係数の重み付け係数セットを用いた予測画像の生成とを切り替えるためのフラグを符号列のピクチャ共通情報部分に設けて、ピクチャ単位で切り替えることを可能としていた。しかし、この方法であると、ピクチャ毎にしか予測画像の生成方法を切り替えることができなかった。
しかし、本実施の形態で説明したように、この切り替えフラグを符号列のスライスヘッダに設けるようにして、ピクチャを構成するスライスごとにいずれの方法で予測画像を生成するかを切り替えることを可能とすることにより、例えば、複雑な画像を持つスライスでは重み付け係数セットを用いた予測画像の生成を行い、単純な画像を持つスライスでは固定式を用いた予測画像の生成を行うことにより、処理量の増加を最小限に抑えつつ画質の向上を図ることが可能となる。
なお、上記実施の形態ではスライスヘッダ領域に5つのフラグ(p_flag、c_flag、d_flag、t_flag、s_flag)を記述してスライスごとに判別を行っているが、ピクチャ共通情報領域にこれらのフラグを記述することにより、ピクチャ単位で切り替えるようにすることも可能である。また、スライスを構成するブロックごとに切り替えフラグを設けることにより、さらにブロック単位で最適な方法で予測画像の生成を行うことも可能である。
なお、本発明の実施の形態における表示順情報は、表示の順番に限定されるものではなく、実際の表示時間や、表示時間に伴って値が大きくなる所定のピクチャを基準とした各ピクチャの参照順序であっても良い。
(実施の形態6)
図2は、本発明の実施の形態6における動画像復号化装置の構成を示すブロック図である。この動画像復号化装置における動画像復号化方法を図2に示したブロック図を用いて(1)復号化の概要、(2)参照インデックス割り当て方法、(3)予測画像生成方法の順で説明する。ただし、以下の説明では実施の形態1の動画像符号化方法で生成された符号列が入力されるものとする。
(1)復号化の概要
まず入力された符号列から符号列解析部201によって、スライスヘッダ領域から線形予測用の重み付け係数セットのデータ列、および参照インデックス割り当て用コマンド列を、さらにブロック符号化情報領域から参照インデックスおよび動きベクトル情報および予測残差符号化データ等の各種の情報が抽出される。図6は前記符号化情報が符号列に含まれている様子を示した図である。
符号列解析部201で抽出された線形予測用の重み付け係数セットのデータ列は線形予測係数記憶部206に、参照インデックス割り当て用コマンド列は参照インデックス・ピクチャ番号変換部207に、参照インデックスは動き補償復号化部204に、動きベクトル情報は動きベクトル記憶部205に、予測残差符号化信号は予測残差復号化部202にそれぞれ出力される。
予測残差復号化部202では入力された残差符号化信号に対して、逆量子化、逆周波数変換等の画像復号化処理を施し残差復号化信号を出力する。加算演算部208では前記残差復号化信号と動き補償復号化部204から出力される予測画像信号との加算を行い再構成画像信号を生成し、得られた再構成画像信号は以降の画面間予測での参照に使用するため、および表示用に出力するためにピクチャメモリ203に格納される。
動き補償復号化部204では、動きベクトル記憶部205から入力される動きベクトルおよび符号列解析部201から入力される参照インデックスを用いて、ピクチャメモリ203に格納されている再構成画像信号から予測画像に最適な画像領域を取り出す。このとき、参照インデックス・ピクチャ番号変換部207において、符号列解析部201から与えられた参照インデックスとピクチャ番号との対応を取ることによりピクチャメモリ203中の参照ピクチャを指定する。
参照インデックス・ピクチャ番号変換部207における動作の詳細は(2)において詳しく説明する。さらに、得られた画像領域の画素値に対して動き補償復号化部204において線形予測による補間処理等の画素値変換処理を施すことによって最終的な予測画像を作成する。その際に使用する線形予測係数は線形予測係数記憶部206に格納されているデータから参照インデックスを検索キーとすることによって獲得される。
この予測画像生成方法については(3)において詳しく説明する。
上記の一連の処理によって生成された復号化画像はピクチャメモリ203に格納され、表示されるタイミングに従って表示用画像信号として出力される。
以上の処理の流れは画面間予測復号化を行った場合の動作であったが、スイッチ209によって画面内予測復号化との切り替えがなされる。画面内復号化を行う場合は、動き補償による予測画像の生成は行わず、同一画面内の復号化済み領域から復号化対象領域の予測画像を生成し加算を行うことによって復号化画像を生成する。復号化画像は画面間予測復号化の場合と同様に、ピクチャメモリ203に格納され、表示されるタイミングに従って表示用画像信号として出力される。
(2)参照インデックス割り当て方法
次に、図2の参照インデックス・ピクチャ番号変換部207における参照インデックス割り当て方法について図3、図4を用いて説明する。
図3は、ピクチャ番号に対する2つの参照インデックスの割り当て方法を説明するための図である。図のような表示される順に並べられたピクチャ列があったとき、ピクチャ番号は復号化される順番に割り振られている。参照インデックスをピクチャ番号に割り当てるためのコマンドはピクチャをさらに分割した復号化単位であるスライスのヘッダに記述され、1つのスライスを復号化する毎に割り振り方が更新されることになる。前記コマンドは、直前に参照インデックスに割り当てたピクチャ番号と現在割り当てを行っているピクチャ番号との差分値を参照インデックスの数だけ連続して指示するものである。
図3の第1参照インデックスの例を用いると、まずコマンドとして"−1"が与えられたので、現在復号化の対象としているピクチャ番号16番から1を引くことにより、ピクチャ番号15番が参照インデックス0番に割り当てられる。次に"−4"が与えられたので、直前に割り当てを行ったピクチャ番号15番から4を引くことにより、ピクチャ番号11番が参照インデックス1番に割り当てられる。以下同様の処理によって各ピクチャ番号の割り当てが行われる。第2参照インデックスの場合も同様である。
図34に示した従来の方法による参照インデックス割り当て方法では、全ての参照インデックスはそれぞれ別々のピクチャ番号に対応付けられている。一方、図3の例では、割り当て方法は従来のものと全く同じ方法を用いているが、コマンドの値を変更することにより同じピクチャ番号に対して複数の参照インデックス番号が対応付けられている。
図4は参照インデックスの割り当てを行った結果を示したものである。各ピクチャ番号には第1参照インデックスおよび第2参照インデックスがそれぞれ独立に割り当てられているが、1つのピクチャ番号に対して複数の参照インデックスが割り当てられているものもあることが分かる。本発明の復号化方法では、この例のように複数の参照インデックスが割り当てられているピクチャ番号が少なくとも1つ以上あるものとする。
参照インデックスを参照ピクチャの決定のみに使用する場合であれば、従来の方法のように1つのピクチャ番号に対して1つの参照インデックスを割り当てる方法が最も効率の良い方法である。しかし、参照インデックスを使用して予測画像の生成における線形予測係数の重み付け係数セットを選択する場合は、従来の方法では同じ参照ピクチャを持つブロック全てにおいて同じ線形予測係数を使用しなくてはならないため、最適な予測画像が生成されない可能性が非常に高くなってしまう。そこで、本発明のように1つのピクチャ番号に対して複数の参照インデックスが割り当てることを可能とすることにより、同じ参照ピクチャを持つ場合でも、ブロックごとに複数の線形予測係数の重み付け係数セットの候補の中から最適なものを選択することが可能となり、より予測精度の高い予測画像を生成することが可能となる。
なお、以上の説明では全ての参照ピクチャが参照用メモリに蓄積されるものとしてピクチャ番号が与えられている場合の例を示していたが、ピクチャ番号は符号化を行った直前のピクチャが蓄積された場合のみ値が1つずつ増加していくものであり、蓄積されないピクチャがあった場合でも参照用メモリ内ではピクチャ番号の連続性は保たれ、前記方法をそのまま使用することが可能である。
(3)予測画像生成方法
次に、図2の動き補償復号化部204における予測画像生成方法について図5を用いて説明する。線形予測による予測画像生成方法は従来法と全く同様であるが、同じピクチャに対して複数の参照インデックス番号を対応付けることが可能となったため、線形予測係数を選択する際の自由度が高くなっている。
ピクチャB16は現在復号化の対象としているBピクチャであり、ブロックBL01およびブロックBL02は前記Bピクチャに属する復号化対象のブロックである。BL01は第1参照ピクチャをピクチャP11、第2参照ピクチャをピクチャB15とし、それぞれのピクチャに属するブロックBL11およびBL21を参照して予測画像を作成する。同様にBL02も第1参照ピクチャをピクチャP11、第2参照ピクチャをピクチャB15とし、それぞれのピクチャに属するブロックBL12およびBL22を参照して予測画像を作成する。
第1参照ピクチャおよび第2参照ピクチャはBL01、BL02共に同じものを参照しているが、(2)において説明した参照インデックスの割り当て方法を用いることにより、第1参照インデックスref1および第2参照インデックスref2はBL01とBL02とで異なる値を取ることが可能となる。図4を例にとると、ピクチャ番号11に対応する第1参照インデックスは1と3が、ピクチャ番号15に対応する第2参照インデックスは1と6が割り振られている。その結果、これらの参照インデックスの組み合わせは、(ref1、ref2)=(1、1)、(1、6)、(3、1)、(3、6)の4通りが考えられ、これらの中から最適な重み付け係数セットを導き出す組み合わせをブロックごとに選択することが可能となっている。図5では例としてBL01がref1=1、ref2=1、BL02がref1=3、ref2=6としている。
図35にあるような従来の方法によって対応付けられた参照インデックスの組み合わせでは、図5のような例ではBL01、BL02共に(ref1、ref2)=(1、1)の組み合わせしか選択できなかったため、選択することのできる線形予測係数の重み付け係数セットも1通りしかなかった。一方、本発明では選択範囲が4通りに拡張されているため、最適な重み付け係数セットが選択できる可能性が高くなると言える。
1つのピクチャの符号列は、ピクチャ共通情報領域および複数のスライスデータ領域から構成される。図6はそのうちのスライスデータ領域の構成を示したものである。さらにスライスデータ領域は、スライスヘッダ領域および複数のブロックデータ領域から構成される。ここではブロックデータ領域の例として図5におけるBL01、BL02に対応する各ブロックの領域が示されている。
BL01に含まれるref1およびref2はこのブロックが参照する2枚のピクチャを指し示す第1参照インデックスおよび第2参照インデックスをそれぞれ指示するものである。またスライスヘッダ領域には前記線形予測を行うための重み付け係数セットを与えるためのデータ(pset0、pset1、pset2、・・・・)がref1用およびref2用それぞれに記述されている。このときのpsetは(2)で説明した参照インデックスの個数と同じで数だけ設定することができる。つまり、図3のように第1参照インデックス、第2参照インデックスを共に0から9までの10個を使用した場合は、psetもref1用、ref2用共に0から9までの10個を設定することが可能である。
図7は前記スライスヘッダ領域に含まれる前記重み付け係数セットの例を表に示したものである。識別子psetで示された各々のデータはw1、w2、c、dの4つ値を持ち、ref1およびref2の値によってダイレクトに参照できるように構成されている。また、スライスヘッダ領域には前記参照インデックスをピクチャ番号に割り当てるためのコマンド列idx_cmd1およびidx_cmd2が記述されている。
図6のBL01に記述されたref1およびref2によって図7のref1用およびref2用のテーブルからそれぞれ1組の重み付け係数セットが選択される。この2組の重み付け係数セットを用いて参照画像の画素値に対して線形予測を施すことによって予測画像を生成する。
ここで、重み付け係数セットを決定し予測画像の生成するまでの処理の流れについて詳細に説明する。
図18は、図2の線形予測係数記憶部206と動き補償復号化部204における予測画像を生成する機能構成を示した機能ブロック図である。
線形予測係数記憶部206aと、線形予測係数記憶部206bと、平均値算出部204aと、線形予測演算部204bにより予測画像が生成される。
平均値算出部204aは、符号列解析部201より出力されるref1によって選択される1組の重み付け係数セット(w1_1,w2_1,c_1,d_1)を線形予測係数記憶部206aより獲得し、符号列解析部201より出力されるref2によって選択される1組の重み付け係数セット(w1_2,w2_2,c_2,d_2)を線形予測係数記憶部206bより獲得する。
そして平均値算出部204aは、線形予測係数記憶部206a,206bより獲得したそれぞれの重み付け係数セットのパラメータごとの平均を取り、実際に線形予測に使用する重み付け係数セット(w1,w2,c,d)とし、線形予測演算部204bに出力する。線形予測演算部204bは、重み付け係数セット(w1,w2,c,d)を基に、式1を用いて予測画像を演算し出力する。
また、図19は予測画像を生成する他の機能構成を示す機能ブロック図である。線形予測係数記憶部206a,線形予測係数記憶部206b,線形予測演算部204c,線形予測演算部204d,および平均値算出部204eにより、予測画像が生成される。
線形予測演算部204cは、符号列解析部201より出力されるref1によって選択される1組の重み付け係数セット(w1_1,w2_1,c_1,d_1)を線形予測係数記憶部206aより獲得し、その重み付け係数セットを基に、式1を用いて予測画像を演算して平均値算出部204eに出力する。
同様に、線形予測演算部204dは、符号列解析部201より出力されるref2によって選択される1組の重み付け係数セット(w1_2,w2_2,c_2,d_2)を線形予測係数記憶部206bより獲得し、その重み付け係数セットを基に式1を用いて予測画像を演算して平均値算出部204eに出力する。
平均値算出部204eは、線形予測演算部204c,線形予測演算部204dのそれぞれから出力される予測画像の各画素の平均値をとり、最終的な予測画像を生成し出力する。
図20(a)は、予測画像を生成する他の機能構成を示す機能ブロック図である。線形予測係数記憶部206c,線形予測係数記憶部206d,平均値算出部204f,線形予測演算部204gにより予測画像が生成される。
平均値算出部204fは、符号列解析部201より出力されるref1によって選択される1組の重み付け係数セット(w1_1、w2_1,c_1,d_1)のうち、c_1,d_1のパラメータを線形予測係数記憶部206cより獲得し、符号列解析部201より出力されるref2によって選択される1組の重み付け係数セット(w1_2、w2_2,c_2,d_2)のうち、c_2,d_2のパラメータを線形予測係数記憶部206dより獲得する。平均値算出部204fは、線形予測係数記憶部206cおよび線形予測係数記憶部206dより獲得したc_1とc_2の平均値と、d_1とd_2の平均値を算出してc、dを求め線形予測演算部204gに出力する。
また、線形予測演算部204gは、上記重み付け係数セット(w1_1、w2_1,c_1,d_1)のうち、w1_1のパラメータを線形予測係数記憶部206cより獲得し、上記重み付け係数セット(w1_2、w2_2,c_2,d_2)のうち、w2_2のパラメータを線形予測係数記憶部206dより獲得し、平均値算出部204fによりそれぞれの平均を求めてc、dを獲得して、式1を用いて予測画像を演算し出力する。
すなわち、線形予測演算部204gは、線形予測係数記憶部206cより得られた重み付け係数セット(w1_1、w2_1,c_1,d_1)と、線形予測係数記憶部206dより得られた重み付け係数セット(w1_2、w2_2,c_2,d_2)のうち、実際に線形予測で使用する重み付け係数セット(w1、w2,c,d)を決定する際に、下記の規則を用いている。
w1=w1_1,w2=w2_2,c=(c_1とc_2の平均),d=(d_1とd_2の平均)
図20(b)は、予測画像を生成する他の機能構成を示す機能ブロック図である。線形予測係数記憶部206e,線形予測係数記憶部206f,線形予測演算部204hにより予測画像が生成される。
線形予測演算部204hは、符号列解析部201より出力されるref1によって選択される1組の重み付け係数セット(w1_1、w2_1,c_1,d_1)のうちの一部であるw1_1,c_1,d_1のパラメータを線形予測係数記憶部206eより獲得し、符号列解析部201より出力されるref2によって選択される1組の重み付け係数セット(w1_2、w2_2,c_2,d_2)のうちの一部であるw2_2のパラメータを線形予測係数記憶部206fより獲得する。線形予測演算部204hは、線形予測係数記憶部206e,線形予測係数記憶部206fより獲得したw1_1,c_1,d_1,w2_2を基に、式1を用いて、予測画像を演算し出力する。
すなわち、線形予測演算部204hは、線形予測係数記憶部206eより得られた重み付け係数セット(w1_1、w2_1,c_1,d_1)と、線形予測係数記憶部206fより得られた重み付け係数セット(w1_2、w2_2,c_2,d_2)のうち、実際に線形予測で使用する重み付け係数セット(w1、w2,c,d)を決定する際に、下記の規則を用いている。
w1=w1_1,w2=w2_2,c=c_1,d=d_1
また、w1、w2、c、dのパラメータのうちの1つもしくは複数個を固定の値として使用することも可能である。図21は図20(a)における機能構成に対して、dのみを固定の値として使用した場合の機能ブロック図である。線形予測係数記憶部206g,線形予測係数記憶部206h,平均値算出部204i、線形予測演算部204jにより予測画像が生成される。
第1参照インデックスref1によって線形予測係数記憶部206gから選択される係数は(w1_1、c_1)のみであり、第2参照インデックスref2によって線形予測係数記憶部206hから選択される係数は(w2_2、c_2)のみである。平均値算出部204iは、線形予測係数記憶部206gおよび線形予測係数記憶部206hより獲得したc_1とc_2の平均値を算出してcを求め線形予測算出部204jに出力する。
また、線形予測演算部204jは、w1_1のパラメータを線形予測係数記憶部206gより獲得し、w2_2のパラメータを線形予測係数記憶部206hより獲得し、cのパラメータを平均値算出部204iより獲得し、dのパラメータとして予め決められたある固定の値を使用し、式1を用いて予測画像を算出し出力する。この場合式1は実施の形態1で説明した通り式1bのようにして変形して扱うことも可能である。
なお、dの値として使用する予め決定された固定の値とは、常に同じ値を使用することも可能であるが、符号化装置においてスライスヘッダに前記固定の値が記述されている場合は、符号列解析部201において前記固定の値を抽出することによりスライスごとに切り替えることも可能である。同様に、ピクチャ共通情報領域またはシーケンス共通情報領域に記述することによりピクチャごとまたはシーケンスごとに切り替えることも可能である。
なお、上記の復号化方法は2つの参照ピクチャをもつBピクチャに関するものであったが、1つの参照ピクチャしか持たないPピクチャおよびBピクチャにおける単一ピクチャ参照復号化モードにおいても同様の処理を行うことが可能である。この場合は第1参照インデックスもしくは第2参照インデックスのどちらか一方のみを使用し、図6の符号列におけるスライスヘッダ領域中のpsetおよびidx_cmdは、ブロックデータ領域中に記述される参照インデックスに従って、ref1用もしくはref2用のもののみを記述することになる。また、線形予測の方法は従来の方法で説明した式1に替えて式3もしくは式4を使用する。
式1および式3を使用する場合は、w1、w2、c、dの4つのパラメータが必要だったが、式4を使用する場合は、w1、c、dの3つのパラメータのみで線形予測を行うことができる。つまり、Pピクチャのようにピクチャ全体で第1参照インデックスもしくは第2参照インデックスのどちらか一方のみしか使用されない場合は、スライスヘッダ領域に記述する重み付け係数セットのデータの項目数をそれぞれ3つずつに減らすことが可能となる。
式3を用いた場合はBピクチャとPピクチャとで構成を変更せずに両方に対応した線形予測を実現することが可能となる。また、式4を用いた場合はPピクチャのヘッダ領域に記述するデータ量を削減することができ、さらに計算が単純化されるため処理量の削減も実現することが可能となる。ただし、いずれの方法においても、本発明において提案する参照インデックスの割り振り方法はそのまま適用することができるため、予測精度の高い予測画像を作成することが可能であり、画像の復号化において非常に有効である。
ところで、動き補償において参照するピクチャは、各々のピクチャに割り当てられた参照インデックスを指定することによって決定される。その際に、参照することが可能なピクチャの最大枚数を符号列のピクチャ共通情報部分に記述していた。
図38は、参照することが可能なピクチャの最大枚数を記述した符号列の模式図である。図に示すように符号列のピクチャ共通情報にref1用のピクチャの最大数Max_pic1と、ref2用のピクチャの最大数Max_pic2を記述していた。
復号化において必要とする情報は、実際のピクチャの最大枚数ではなく、ピクチャを指定するために使用する参照インデックスの取り得る最大値である。
従来の方法では、1つのピクチャには1つの参照インデックスしか割り当てられなかったため、前述のピクチャの最大枚数を記述することによって矛盾は生じなかったが、特に本発明のように、ピクチャ番号に複数の参照インデックスが割り当てられる場合には、その違いが大きく影響する。
上述したように、符号列には参照インデックスをピクチャ番号に割り当てるためにコマンド列idx_cmd1、およびidx_cmd2が記述されている。このコマンド列idx_cmd1、およびidx_cmd2の各コマンドを基に、ピクチャ番号と参照インデックスとを対応づけていく。このときに、参照インデックスの最大値を知ることで、すべての参照インデックスとピクチャ番号との対応づけが行われたことがわかり、コマンド列idx_cmd1、およびidx_cmd2におけるコマンドの終端を知ることができる。
そこで、本実施の形態では、従来のピクチャの最大枚数の代わりに、利用可能な参照インデックスの最大数をピクチャのヘッダであるピクチャ共通情報部分に記述している。もしくは、ピクチャの最大枚数と参照インデックスの最大数の両者を記述する。
図23は、ピクチャの符号列のピクチャ共通情報に参照インデクッスの最大数を記述した状態を示している。ピクチャの共通情報部分には、ref1用の利用可能な参照インデックスの最大数Max_idx1、およびref2用の利用可能な参照インデックスの最大数Max_idx2を記述している。
なお、図23では、ピクチャ共通情報に参照インデクッスの最大数を記述しているが、これに加えて、スライスデータ領域に参照インデクッスの最大数を記述する構成としてもよい。例えば、ピクチャでの参照インデクッスの最大数が8、当該ピクチャ中のスライス1で必要な参照インデクッスの最大数が8、スライス2で必要な参照インデクッスの最大数が4であるというように、スライスによって必要な参照インデクッスの最大数がピクチャ共通情報領域に記述された最大数と異なる場合に、スライス毎に必要な参照インデクッスの最大数を明示することができる。
すなわち、ピクチャ共通情報に記述された参照インデクッスの最大数をピクチャ中の各スライスに共通するデフォルト値として、必要な参照インデクッスの最大数がデフォルト値と異なるスライスについてはスライスヘッダに記述するようにしてもよい。
なお、図23および図38ではピクチャ共通情報領域とスライスデータ領域とをひとまとめにして符号列としている例を示したが、ピクチャ共通情報領域とスライスデータ領域はそれぞれ独立した符号列とすることも可能であり、この場合も全く同様に扱うことができる。
(実施の形態7)
本発明の実施の形態7における動画像復号化方法について説明する。なお、復号化装置の構成および復号化の処理の流れおよび参照インデックスの割り当て方法は実施の形態6と全く同様であるため、ここでは説明を省略する。
実施の形態6では動き補償において予測画像を生成する際に、式1もしくは式3もしくは式4を用いて画素ごとに線形予測を行っている。しかし、これらの式はいずれも乗算処理を含むものであり、全ての画素に対してこのような演算を行うことを考えると、処理量が非常に大きくなってしまう。
そこで式1の代わりに式5、式3の代わりに式6、式4の代わりに式7を使用することも可能である。これらの式は乗算を使用することなくビットシフト演算のみで計算を行うことができるため、処理量を少なく抑えることが可能となる。
実施の形態6と同様に、同時に2枚のピクチャを参照して予測画像を生成するときは式5を使用し、1枚のピクチャのみを参照して予測画像を生成するときは式6もしくは式7を使用する。これらの式では正負の符号を表す識別子が必要となるため、予測演算に必要な重み付け係数セットは、式5および式6の場合は(sign1、m、sign2、n、c)、式7の場合は(sign1、m、c)となる。sign1は1つめの正負の符号を、sign2は2つめの正負の符号を識別するパラメータとする。パラメータの個数は実施の形態3よりも増加しているが、sign1およびsign2はそれぞれ1ビットで表現することができるため符号量の増加はほとんど無い。
ここで、重み付け係数セットを決定し、式5を使用し同時に2枚のピクチャを参照して予測画像の生成するまでの処理の流れについて詳細に説明する。
まず、予測画像を生成する機能構成が図18である場合について説明する。平均値算出部204aは、線形予測係数記憶部206aより重み付け係数セット(sign1_1,m_1,sign2_1,n_1,c_1)を得る。また、平均値算出部204aは、線形予測係数記憶部206bより重み付け係数セット(sign1_2,m_2,sign2_2,n_2,c_2)を得る。
平均値算出部204aは、線形予測係数記憶部206a,線形予測係数記憶部206bより得た重み付け係数セットのパラメータ毎の平均値を求め、重み付け係数セット(sign1,m,sign2,n,c)とする。線形予測演算部204bは、平均値算出部204aが出力する重み付け係数セット(sign1,m,sign2,n,c)を基に、式5を用いて予測画像を演算する。
なお、図18に記載した線形予測係数記憶部206a等より得られる重み付け係数セット(w1_1,w2_1,c_1,d_1)等は、実施の形態6で説明した式1の場合の例におけるものであり、式5を用いて予測画像を求める場合についてのパラメータについては図示していないがそのまま置き換えることが可能である。以下に説明する図19、図20の場合も同様である。
次に、予測画像を生成する機能構成が図19である場合について説明する。線形予測演算部204cは、線形予測係数記憶部206aより得た重み付け係数セット(sign1_1,m_1,sign2_1,n_1,c_1)を基に予測画像を演算する。線形予測演算部204dは、線形予測係数記憶部206bより得た重み付け係数セット(sign1_2,m_2,sign2_2,n_2,c_2)を基に予測画像を演算する。そして平均値算出部204eは、線形予測演算部204c,204dのそれぞれが演算した予測画像の各画素の平均を求め、予測画像とする。
この場合、線形予測演算部204cは、重み付け係数セット(sign1_1,m_1,sign2_1,n_1,c_1)を基に式5を用いて、最初に予測画像を演算するため、乗算を使用することなく、ビットシフト演算で計算することができる。線形予測演算部204dも同様である。一方、図18の場合であると、最初に重み付け係数セット(sign1_1,m_1,sign2_1,n_1,c_1)と重み付け係数セット(sign1_2,m_2,sign2_2,n_2,c_2)の平均を求めるため、m_1とm_2の平均値あるいはn_1とn_2の平均値が整数にならない場合があり、すなわち2の指数にあたる部分が整数にならないため、処理量が多くなってしまう可能性がある。また、2の指数にあたる部分が整数になるように丸め処理をおこなうと誤差が大きくなってしまう可能性がある。
次に、予測画像を生成する機能構成が図20(a)である場合について説明する。線形予測演算部204gは、線形予測係数記憶部206cより得たビットシフト演算に用いられる係数であるパラメータsign1_1,m_1と、線形予測係数記憶部206cより得たビットシフト演算に用いられる係数であるパラメータsign2_2,n_2と、各線形予測係数記憶部206c,206dより得たパラメータc_1とc_2を平均値算出部204fが平均して求めた平均値cとを基に式9を用いて予測画像を演算する。
この場合においても、ビットシフト演算に用いられる係数は、線形予測係数記憶部206cあるいは線形予測係数記憶部206dよりそのまま得た値であるので、式5における2の指数部分が整数となる。そのため、ビットシフト演算で計算することができ、処理量を少なくすることが可能となる。
予測画像を生成する機能構成が図20(b)である場合について説明する。線形予測演算部204hは、線形予測係数記憶部206eより得たパラメータsign1_1,m_1,c_1と、線形予測係数記憶部206fより得たパラメータsign2_2,n_2とを基に式9を用いて予測画像を演算する。
この場合においても、ビットシフト演算に用いられる係数は、線形予測係数記憶部206e、あるいは線形予測係数記憶部206fよりそのまま得た値であるので、式5における2の指数部分が整数となる。そのため、ビットシフト演算で計算することができ、処理量を少なくすることが可能となる。
図20(a)(b)の場合は、実施の形態3における図10(a)(b)の説明と同様に符号列に付加して送らなくてもよいパラメータがあり、符号列を小さくすることが可能である。
以上、実施の形態7で説明したような線形予測式を用いると、乗算を使用することなくビットシフト演算で計算することができるため実施の形態6に比べて処理量を大幅に削減することが可能となる。
なお、上記実施の形態では式1、式3、式4の代わりに式5、式6、式7を用い、符号化するパラメータセットも(w1、w2、c、d)の代わりに(sign1、m、sign2、n、c)を用いて線形予測を行うことによってビットシフト演算のみでの計算を実現し処理量の削減を図っていたが、別のアプローチとして式1、式3、式4および(w1、w2、c、d)をそのまま用いたまま、w1およびw2をビットシフト演算可能な値のみ選択可能として制限することによって実施の形態6と全く同様の構成のままビットシフト演算のみでの計算を実現し処理量の削減を行うことも可能である。
また、さらに限定する方法として、w1およびw2を常に1として選択するように制限し、直流成分であるc1およびc2のみ任意の値を持つような符号列を入力とすることも可能である。図21の構成の場合を例にとると、ref1用として(1、c_1)、ref2用として(1、c_2)をパラメータセットとして符号化されているものする。この場合、予測画像の画素値P(i)は、(式1a)中のw1_1およびw2_2を1に置き換えた次式により求められる。
P(i)=(Q1(i)+Q2(i))/pow(2,d)+(c_1+c_2)/2
(pow(2,d)は2のd乗を示す)
これによって実施の形態6と全く同様の構成のまま線形予測のための処理量を大幅に削減することが可能となる。
さらに、図24のようにピクチャの符号列のピクチャ共通情報に、線形予測をビットシフト演算のみで行うことが可能であるかを示すフラグsft_flg、および直流成分であるcのみで線形予測を行うことが可能であるかを示すフラグdc_flgが記述されている場合、復号化装置ではこれらフラグを参照することにより、ビットシフト演算のみでの線形予測に適した構成での復号を行うことや、直流成分のみでの線形予測に適した構成での復号を行うことが可能となり、復号化装置の構成によっては大幅な処理量の削減が可能となる。
(実施の形態8)
本発明の実施の形態8における動画像復号化方法について説明する。なお、復号化装置の構成および復号化の処理の流れおよび参照インデックスの割り当て方法は実施の形態6と全く同様であるため、ここでは説明を省略する。
従来の技術において説明したように、実施の形態6および実施の形態7のように線形予測係数の重み付け係数セットから求める予測式を用いて予測画像を生成するのではなく、式2aおよび式2bのように予め決めた固定式を用いて予測画像を求める方法があった。この方法を用いると、予測画像を求めるときの重み付け係数セットを符号化して送る必要がないため符号量を削減できるという利点があった。また、線形予測の計算式が単純であるため、少ない処理量で線形予測を大幅に削減することが可能であった。しかし、この固定式を用いた方法であると、選択することのできる線形予測式が式2aおよび式2bの2通りしかないため、予測精度が悪くなってしまうという問題があった。
そこで本実施の形態では式2a,式2bの代わりに式8a,8bを使用する。これらの式は式2a,式2bにC1およびC2を加えたものである。演算としては加算の回数が増加するだけであるため、元の式と比較しても処理量の増加はほとんど無い。
式8a,8bは同時に2枚のピクチャを参照して予測画像を生成するときの予測式であるが、1枚のピクチャのみを参照して予測画像を生成するときは実施の形態で説明した式3、式4の代わりに式9を使用する。
この方法を用いるために必要な重み付け係数セットは、ref1用として(C1)、ref2用として(C2)のみである。そのため、この方法を用いた場合のピクチャの符号列の例は図14にようになり、スライスヘッダ領域には線形予測を行うための重み付け係数セット(pset0、pset1、pset2、・・・・)がref1用およびref2用それぞれに記述され、それぞれの重み付け係数セットの中身はCのみとなる。同様に、図15は前記スライスヘッダ領域に含まれる重み付け係数セットの例を表に示したものであるが、図7とは異なり、各重み付け係数セットの要素はCのみとなっている。
図22は、図2の線形予測係数記憶部206と動き補償復号化部204における予測画像を生成する機能構成を示した機能ブロック図である。
線形予測係数記憶部206aと、線形予測係数記憶部206bと、線形予測演算部204aにより予測画像が生成される。
符号列解析部201より出力される第1参照インデックスref1および第2参照インデックスref2によりを線形予測係数記憶部206aおよび206bよりそれぞれ1つの構成要素のみを持つ重み付け係数セット(C1)および(C2)が獲得される。それらの値は線形予測演算部204aに入力され、式8a,8bを用いて線形予測がなされ、予測画像が生成される。
同様に、1枚のみを参照して線形予測を行う場合は図22のref1もしくはref2のどちらかのみにより重み付け係数セット(C1)もしくは(C2)が獲得され、式9を用いて線形予測がなされ、予測画像が生成される。
このように、本実施の形態では使用するパラメータの数がref1用、ref2用にそれぞれ1つずつのみでよいため、符号列に記述するデータの量を削減することができる。また線形予測式も乗算等の複雑な演算を必要としないため、演算量も最小限に抑えることが可能である。また従来の固定式を用いた方法で欠点とされていた予測精度の悪さも、C1およびC2という係数を用いることにより大幅に改善することが可能である。
なお、本実施の形態で説明した線形予測の方法は、複数の参照インデックスが同一のピクチャを参照することが可能であるかどうかに関わらず用いることが可能である。
(実施の形態9)
本発明の実施の形態9における動画像復号化方法について説明する。なお、復号化装置の構成および復号化の処理の流れおよび参照インデックスの割り当て方法は実施の形態6と全く同様であるため、ここでは説明を省略する。
各々のピクチャはピクチャ番号と共に、表示時間もしくはそれに代わるものを示すための表示順情報というものが割り当てられている。図39は、その1例としてピクチャ番号と表示順情報とを並べて示した図である。表示順情報は表示される順番に従ってある値が割り当てられる。この図の例では、1ピクチャごとに1ずつ増加する値が使用されている。線形予測を行うための式で用いられる係数の値をこれらの表示順情報を用いて生成する方法について実施の形態9において説明する。
実施の形態6では動き補償において予測画像を生成する際に、式1もしくは式3もしくは式4を用いて画素ごとに線形予測を行っている。しかし、これらの線形予測を行うためには係数のデータが必要であり、前記実施の形態では、スライスヘッダ領域に重み付け係数セットとして符号列中に係数のデータを記述し、予測画像の作成に用いていた。しかし、高い符号化効率が得られる反面、重み付け係数セットのデータを作成するための処理が必要となり、また、重み付け係数セットを符号列中に記述することによるビット量の増加も発生する。
そこで式1の代わりに式10、式11a、式12aを用いて線形予測を行うことも可能である。これらの式は各々の参照ピクチャが持つ表示順情報のみから重み付け係数を決定することができるため、別途重み付け係数セットを符号化する必要がない。
例として図39において、符号化対象ピクチャが16番、第1参照インデックスによって指定されたピクチャが11番、第2参照インデックスによって指定されたピクチャが10番とすると、それぞれのピクチャの表示順情報は15、13、10となるため、下記のような線形予測式が決定される。
V1=(10−15)/(10−13)=5/3
V2=(15−13)/(10−13)=−2/3
P(i)=5/3×Q1(i)−2/3×Q2(i)
式1を用いた重み付け係数セットを用いて線形予測を行う方法と比較すると係数の値の自由度が低いため最適な予測画像の作成は困難と言えるが、式2a、式2bを用いた2つの式からなる固定式を2枚の参照ピクチャの位置関係によって切り替える方法と比較すると線形予測式としてより効率の良い式を生成することができる。
なお、第1参照インデックスおよび第2参照インデックスが同じピクチャを参照している場合は、T1=T2となってしまい、式11a、式12aが成立しない。そこで、参照される2枚のピクチャが同じ表示順情報を持つ場合はV1およびV2の値として1/2を用いて線形予測を行うものとする。その場合の線形予測式は下記のようになる。
V1=1/2
V2=1/2
P(i)=1/2×Q1(i)+1/2×Q2(i)
また、第1参照インデックスおよび第2参照インデックスが異なるピクチャを参照しているが、それらのピクチャが同じ表示順情報を持つ場合にも、T1=T2となってしまい、式11a、式12aが成立しない。このように、参照される2枚のピクチャが同じ表示順情報を持つ場合はV1およびV2の値として1/2を用いて線形予測を行うものとする。
このように、参照される2枚のピクチャが同じ表示順情報を持つ場合には、予め設定された値を係数として用いる構成とすればよい。予め設定された値を係数としては、上記の1/2の例のように同じ重みを有する係数としてもよい。
ところで、上記の実施の形態のように式10を用いると、線形予測を行うために乗算および除算が必要となる。式10による線形予測演算は符号化対象ブロック内の全ての画素に対して演算を行うため、乗算が加わることによる処理量の増加は非常に大きなものとなる。
そこで、実施の形態7の考え方と同様にして、V1およびV2を2のべき乗に近似することにより、線形予測の演算をシフト演算のみで行うことを可能とし、処理量の削減を図ることができる。その場合の線形予測式として、式11a、式12aの代わりに式11b、式12bを用いる。
なお、式11a、式12aの代わりに式11c、式12cを用いることも可能である。
なお、式11a、式12aの代わりに式11d、式12dを用いることも可能である。
なお、2のべき乗への近似の方法は、式11bを例にとると、v1の値を1ずつ変化させたとき、±pow(2,v1)と(T2−T0)/(T2−T1)とが最も近くなるときの±pow(2,v1)の値とする。
例として図39において、復号化対象ピクチャが16番、第1参照インデックスによって指定されたピクチャが11番、第2参照インデックスによって指定されたピクチャが10番とすると、それぞれのピクチャの表示順情報は15、13、10となるため、(T2−T0)/(T2−T1)および±pow(2,v1)は下記のようになる。
(T2−T0)/(T2−T1)=(10−15)/(10−13)=5/3
+pow(2,0)=1、+pow(2,1)=2
5/3は1よりも2に近いため、近似の結果V1=2となる。
また、別の近似の方法として、表示順情報T1およびT2の2つの値の関係によって切り上げによる近似、切り下げによる近似を切り替えることも可能である。
その場合、T1がT2よりも時間的に後方にある場合は、V1およびV2の両者に対して切り上げによる近似を行い、T1がT2よりも時間的に前方にある場合は、V1およびV2の両者に対して切り下げによる近似を行う。逆に、T1がT2よりも時間的に後方にある場合は、V1およびV2の両者に対して切り下げによる近似を行い、T1がT2よりも時間的に前方にある場合は、V1およびV2の両者に対して切り上げによる近似を行うことも可能である。
また、別の表示順情報を用いた近似の方法として、T1がT2よりも時間的に後方にある場合は、V1に関する式においては切り上げによる近似を行い、V2に関する式においては切り下げによる近似を行う。これにより2つの係数の値が互いに離れるため、外挿補間に適した値が得られやすくなる。逆に、T1がT2よりも時間的に前方にある場合は、V1に関する式とV2に関する式とでその両者の値を比較したときに、値の小さい方は切り上げによる近似を行い、値の大きい方は切り下げによる近似を行う。これにより2つの係数の値が互いに近づくため、内挿補間に適した値が得られやすくなる。
例として図39において、復号化対象ピクチャが16番、第1参照インデックスによって指定されたピクチャが11番、第2参照インデックスによって指定されたピクチャが10番とすると、それぞれのピクチャの表示順情報は15、13、10となり、T1はT2よりも時間的に後方にあるため、V1に関する式においては切り上げによる近似を行い、V2に関する式においては切り下げによる近似を行う。その結果、式11bおよび式12bは下記のように計算される。
(1)式11bについて
(T2−T0)/(T2−T1)=(10−15)/(10−13)=5/3
+pow(2,0)=1、+pow(2,1)=2
切り上げによる近似を行った結果V1=2となる。
(2)式12bについて
(T0−T1)/(T2−T1)=(15−13)/(10−13)=−2/3
−pow(2,0)=−1、−pow(2,−1)=−1/2
切り下げによる近似を行った結果V2=−1となる。
なお、上記実施の形態では線形予測の式は式10の1つであったが、従来の技術で説明した式2aおよび式2bの2つの式からなる固定式による線形予測方法と組み合わせて用いることも可能である。その場合、式2aの代わりに式10を使用し、式2bはそのまま使用する。つまり、第1参照インデックスによって指定されるピクチャが第2参照インデックスによって指定されるピクチャよりも表示順において後ろにある場合は式10を使用し、それ以外の場合は式2bを使用する。
また逆に、式2bの代わりに式10を使用し、式2aはそのまま使用することも可能である。つまり、第1参照インデックスによって指定されるピクチャが第2参照インデックスによって指定されるピクチャよりも表示順において後ろにある場合は式2aを使用し、それ以外の場合は式10を使用する。ただし、このとき参照される2枚のピクチャが同じ表示順情報を持つ場合はV1およびV2の値として1/2を用いて線形予測を行う。
また、実施の形態8の考え方と同様にして、係数Cのみをスライスヘッダ領域に記述して線形予測に使用することも可能である。その場合、式10の代わりに式13を用いる。V1およびV2の求め方は上記実施の形態と同様である。
係数を生成するための処理が必要になり、さらに、スライスヘッダ領域に係数データを符号化する必要があるが、V1およびV2の精度が低い場合でもC1およびC2を用いることによってより高い精度の線形予測を行うことが可能となる。特にV1およびV2を2のべき乗に近似して線形予測を行う場合において有効である。
なお、式13を用いた場合の線形予測では、1つのピクチャに1つの参照インデックスが割り当てられている場合でも、また、1つのピクチャに複数の参照インデックスが割り当てられている場合でも、同様に扱うことが可能である。
なお、式11a、式12a、式11b、式12b、式11c、式12c、式11d、式12dの各式の値の計算では、取り得る値の組み合わせがスライスごとにある程度限られているため、スライスを符号化する再に1度だけ演算を行っておけばよく、式10や式13のように符号化対象ブロックのすべての画素に対して演算を行う必要はないため、全体の処理量への影響は小さいと考えられる。
なお、本発明の実施の形態における表示順情報は、表示の順番に限定されるものではなく、実際の表示時間や、表示時間に伴って値が大きくなる所定のピクチャを基準とした各ピクチャの参照順序であっても良い。
(実施の形態10)
本発明の実施の形態10における動画像復号化方法について説明する。なお、復号化装置の構成および復号化の処理の流れおよび参照インデックスの割り当て方法は実施の形態6と全く同様であるため、ここでは説明を省略する。
従来の方法では固定式を用いて予測画像の生成を行う場合と、線形予測係数の重み付け係数セットを用いて予測画像の生成を行う場合とを符号列のピクチャ共通情報部分に記述されるフラグを用いることによって必要に応じて切り替えることを可能としていた。
本実施の形態では、さらに実施の形態6から実施の形態9で説明した各種の線形予測方法をフラグを用いて切り替える方法について説明する。
図17(a)は、上記切り替えを制御するための5つのフラグ(p_flag、c_flag、d_flag、t_flag、s_flag)を符号列中のスライスヘッダ領域に記述する場合の構成である。
図17(b)に示したように、p_flagは重み付け係数が符号化されているかどうかを示すためのフラグである。また、c_flagはref1用およびref2用のパラメータのうち、パラメータC(C1およびC2)に関するデータのみが符号化されているかどうかを示すフラグである。また、t_flagは線形予測を行うための重み付け係数を参照ピクチャの表示順情報を用いて生成するかどうかを示すフラグである。また、s_flagは線形予測を行うための重み付け係数をシフト演算で計算ができるように2のべき乗に近似するかどうかを示すフラグである。
また、d_flagは式2aおよび式2bで示されたような、予め設定されている2つの固定式を用いて線形予測を行う際に、ref1によって指定されるピクチャとref2によって指定されるピクチャの時間的な位置関係によって2つの式を切り替えるかどうかを示すフラグである。つまり、このフラグによって切り替えるように指定された場合は、従来の方法と同様に、ref1によって指定されるピクチャがref2によって指定されるピクチャよりも表示順において後にある場合は式2aを使用し、それ以外の場合は式2bを使用して線形予測を行う。一方、このフラグによって切り替えを行わないように指定された場合は、ref1によって指定されるピクチャがref2によって指定されるピクチャの位置関係に関係なく、常に式2bを使用して線形予測を行う。
なお、切り替えずに使用する式を式2bの代わりに式2aを用いた場合も同様に扱うことが可能である。
図2に示す復号化装置では符号列解析部201においてフラグp_flagの値を解析し、その結果に基づいて、重み付け係数セットに関するデータを復号化し予測画像の生成を行うのかどうかの指示を動き補償復号化部204に出力し、線形予測による動き補償を行う。これによって、処理能力の高い装置では重み付け係数セットを使用して線形予測を行い、処理能力の低い装置では重み付け係数セットを使用せずに線形予測を行うといった使い分けが可能となる。
同様に、図2に示す復号化装置では符号列解析部201においてフラグc_flagの値を解析し、その結果に基づいて、画像データのDC成分に相当するパラメータC(C1およびC2)に関するデータのみ復号化し固定式による予測画像の生成を行うのかどうかの指示を動き補償復号化部204に出力し、線形予測による動き補償を行う。これによって、処理能力の高い装置では全ての重み付け係数セットを使用して線形予測を行い、処理能力の低い装置では直流成分のみを使用して線形予測を行うといった使い分けが可能となる。
同様に、図2に示す復号化装置では符号列解析部201においてフラグd_flagの値を解析し、その結果に基づいて、固定式を使用して線形予測を行う場合に、2つの式を切り替えて符号化するかどうかの指示を動き補償復号化部204に出力し、線形予測による動き補償を行う。これによって、画面の明度が時間的にほとんど変わらないような場合は片方の固定式のみを用いて線形予測を行い、画面の明度が時間的に変化するような場合は2つの固定式を切り替えて使用して線形予測を行うといった使い分けが可能となる。
同様に、図2に示す復号化装置では符号列解析部201においてフラグt_flagの値を解析し、その結果に基づいて、線形予測を行うための係数を参照ピクチャの表示順情報を用いて生成するかどうかの指示を動き補償復号化部204に出力し、線形予測による動き補償を行う。これによって、符号量に余裕がある場合は重み付け係数セットを符号化して線形予測を行い、符号量に余裕がない場合は表示順情報から係数を生成して線形予測を行うといった使い分けが可能となる。
同様に、図2に示す復号化装置では符号列解析部201においてフラグs_flagの値を解析し、その結果に基づいて、線形予測を行うための係数をシフト演算で計算できるように2のべき乗に近似するかどうかの指示を動き補償復号化部204に出力し、線形予測による動き補償を行う。これによって、処理能力の高い装置では重み付け係数を近似しないで使用して線形予測を行い、処理能力の低い装置では重み付け係数を2のべき乗に近似して使用しシフト演算で実現できる線形予測を行うといった使い分けが可能となる。
例えば、(1)(p、c、d、t、s_flag)=(1、0、0、0、1)である場合は、全ての重み付け係数セットが復号化され、実施の形態7で説明したように、係数を2のべき乗で表すことによりシフト演算のみで線形予測を行い予測画像を生成することが指示される。
また、(2)(p、c、d、t、s_flag)=(1、1、1、0、0)である場合は、パラメータC(C1およびC2)に関するデータのみが復号化され、実施の形態8で説明した固定式に係数Cを加えることによって予測画像を生成する方法を用い、さらに2つの固定式を切り替えて使用することが指示される。
また、(3)(p、c、d、t、s_flag)=(0、0、0、0、0)である場合は、重み付け係数セットは何も復号化されない。つまり、従来の方法である固定式のうち式2bのみを用いた予測画像の生成方法を用いることが指示される。
また、(4)(p、c、d、t、s_flag)=(0、0、1、1、1)である場合は、重み付け係数セットは何も復号化されないが、実施の形態9で説明したように、重み付け係数を参照ピクチャの表示順情報から生成し、さらに係数を2のべき乗で近似すことによりシフト演算のみで線形予測を行い、さらに2つの固定式を切り替えて使用して予測画像を生成することが指示される。
なお、上記実施の形態では各々1ビットからなる5つのフラグ(p_flag、c_flag、d_flag、t_flag、s_flag)を用いて判別を行っているが、5つのフラグの代わりに5ビットからなる1つのフラグのみで表現することも可能である。また、その場合、5ビットで表現するのではなく可変長復号化を用いて復号化することも可能である。
なお、上記実施の形態では各々1ビットからなる5つのフラグ(p_flag、c_flag、d_flag、t_flag、s_flag)を全て用いているが、そのうちの1部分のフラグのみを用いて線形予測方法の切り替えを行う場合も同様に扱うことが可能である。その場合、図17(a)に示したフラグは必要なもののみが符号化されて記述されていることになる。
従来の方法では、固定式を用いた予測画像の生成と、線形予測係数の重み付け係数セットを用いた予測画像の生成とを切り替えるためのフラグを符号列のピクチャ共通情報部分に設けて、ピクチャ単位で切り替えることを可能としていた。しかし、この方法であると、ピクチャ毎にしか予測画像の生成方法を切り替えることができなかった。
しかし、本実施の形態で説明したように、この切り替えフラグを符号列のスライスヘッダに設けるようにして、ピクチャを構成するスライスごとにいずれの方法で予測画像を生成するかを切り替えることを可能とすることにより、例えば、複雑な画像を持つスライスでは重み付け係数セットを用いた予測画像の生成を行い、単純な画像を持つスライスでは固定式を用いた予測画像の生成を行うことにより、処理量の増加を最小限に抑えつつ画質の向上を図ることが可能となる。
なお、上記実施の形態ではスライスヘッダ領域に5つのフラグ(p_flag、c_flag、d_flag、t_flag、s_flag)を記述してスライスごとに判別を行っているが、ピクチャ共通情報領域にこれらのフラグを記述することにより、ピクチャ単位で切り替えるようにすることも可能である。また、スライスを構成するブロックごとに切り替えフラグを設けることにより、さらにブロック単位で最適な方法で予測画像の生成を行うことも可能である。
なお、本発明の実施の形態における表示順情報は、表示の順番に限定されるものではなく、実際の表示時間や、表示時間に伴って値が大きくなる所定のピクチャを基準とした各ピクチャの参照順序であっても良い。
(実施の形態11)
本発明の実施の形態11における動画像の符号化方法および復号化方法について説明する。なお、符号化装置および復号化装置の構成および符号化および復号化の処理の流れおよび参照インデックスの割り当て方法は実施の形態1および実施の形態6と全く同様であるため、ここでは説明を省略する。
本実施の形態は実施の形態5および実施の形態10において説明した内容と同様の技術に関する説明である。
パラメータセットが符号化されているかどうかを示すフラグp_flagと、ref1用およびref2用のパラメータのうち、パラメータC(C1およびC2)に関するデータのみが符号化されているかどうかを示すフラグc_flagと、をスライス毎に示す。
図1に示す符号化装置では動き補償符号化部107において、各スライスごともしくはブロックごとに、パラメータセットに関するデータを符号化するか否かを決定し、それに基づいてフラグp_flagの情報を符号列生成部103に出力し、図40(a)に示すように符号列中に記述する。
同様に、図1に示す符号化装置では動き補償符号化部107において、各スライスごともしくはブロックごとに、画像データのDC成分に相当するパラメータC(C1,C2)に関するデータのみ符号化するか否かを決定し、それに基づいてフラグc_flagの情報を符号列生成部103に出力し、図40(a)に示すように符号列中に記述する。
一方、図2に示す復号化装置では符号列解析部201において前記切り替えフラグp_flagとフラグc_flgとの値を解析し、その結果に基づいて、例えばダウンロードしたパラメータセットを用いて予測画像を生成するのか、あるいは固定式を用いて予測画像を生成するのかの指示を動き補償復号化部204に出力し、線形予測による動き補償を行う。
例えば、図40(b)に示すように、(1)フラグp_flagが1であり、フラグc_flagが0である場合には、符号化装置において全てのパラメータセットが符号化される。また、(2)フラグp_flagが1であり、フラグc_flagが1である場合には、符号化装置においてパラメータC(C1およびC2)に関するデータのみが符号化される。さらに、(3)フラグp_flagが0であり、フラグc_flagが0である場合には、符号化装置においてパラメータセットは何も符号化されない。なお、図40(b)に示すようにフラグの値を決定すると、フラグp_flagによって画像データのDC成分が符号化されているかが判別できる。
符号化装置において、前記(1)の場合は、例えば図8から図10で説明したようにパラメータは処理される。前記(2)の場合は、例えば図16で説明したようにパラメータは処理される。前記(3)の場合は、例えば固定式を用いてパラメータは処理される。
復号化装置において、前記(1)の場合は、例えば図18から図20で説明したようにパラメータは処理される。前記(2)の場合は、例えば図22で説明したようにパラメータは処理される。前記(3)の場合は、例えば固定式を用いてパラメータは処理される。
さらに、組み合わせた場合の別の例について、以下に、具体的に説明する。
上記の例では、フラグp_flag、フラグc_flagを用いて明示的にパラメータを符号化する(受信させるか)を切り替えたが、前記フラグを用いず、可変長符号化テーブル(VLCテーブル)を用いることも可能である。
図41に示すように、固定式2aと固定式2bを切り替えるかどうかの選択も、さらに明示的に行うことができる。
ここで、固定式2の切り替えを行わないとは、以下を意味する。例えば、上記で従来の技術では、第1参照インデックスによって指定されるピクチャが第2参照インデックスによって指定されるピクチャよりも表示順において後にある場合は、固定の係数からなる固定式である式2aを選択し、それ以外は固定の係数からなる固定式である式2bを選択して、予測画像を生成する、ことを説明した。一方、図41に示す例で、切り替えを行わないと指示された場合は、第1参照インデックスによって指定されるピクチャが第2参照インデックスによって指定されるピクチャよりも符号化順において後にある場合であっても、固定の係数からなる固定式である式2bを選択して、予測画像を生成するようにすることを意味する。
固定式2aと固定式2bを切り替えるかどうかの選択も明示的に行うためのフラグv_flagの情報は符号列生成部103から出力され図41(a)に示すように符号列中に記述される。
図41(b)にフラグv_flagによる処理の例を示す。図41(b)に示すようにフラグv_flagが1のとき、パラメータの符号化は行わず(符号化装置でパラメータはダウンロードされない。以下同様)、固定式2の切り替えは行わない。また、フラグv_flagが01のとき、パラメータの符号化は行わず、固定式2の切り替えは行う。また、フラグv_flagが0000のとき、パラメータの符号化はパラメータCのみ行い、固定式2の切り替えは行わない。
また、フラグv_flagが0001のとき、パラメータの符号化はパラメータCのみ行い、固定式2の切り替えを行う。また、フラグv_flagが0010のとき、パラメータの符号化はパラメータ全てについて行い、固定式12の切り替えは行わない。また、フラグv_flagが0011のとき、パラメータの符号化はパラメータ全てについて行い、固定式12の切り替えを行う。
なお、v_flagが0010および0011のときはパラメータ全てが符号化されているので、固定式を使用せずに、重み付けパラメータを用いた線形予測を行うことが可能であり、その場合は固定式を切り替えて使用するかどうかの判別は無視される。
なお、フラグv_flagの切り替えは、図1に示す符号化装置では動き補償符号化部107において行い、図2に示す復号化装置では動き補償復号化部204において行うことができる。また、フラグv_flagでなく、上記のフラグp_flagとフラグc_flagに加え、固定式を切り替えるかどうかを示すフラグd_flagを用いるようにしてもよい。
以上で示したように、フラグを用いることで、パラメータを符号化装置において符号化して、符号化されたパラメータを復号化装置で受信(ダウンロード)するかどうかを切り替えることができるようになる。これにより、アプリケーションの特性や、復号化装置側の処理能力によって、符号化する(受信させる)パラメータを明示的に切り替えることができる。
また、固定式の切り替えを明示的に変更可能にすることで、画質の向上を図る手段が増え、ひいては符号化効率の向上も図ることが可能になる。また、復号化装置で有していない固定式がある場合でも、明示的に固定式を変更することによって、明示的に選択した固定式による予測画像の生成が可能になる。
なお、図40中のフラグの配置は図示するものに限られない。また、フラグの値は上記で説明したものに限られない。また、2種類のフラグを用いると、4通りのパラメータの用い方を明示することが可能になるので、上記で説明した以外のパラメータの用い方を割り当てるようにしてもよい。また、上記の例で全てのパラメータを送ると説明したが、例えば図10および図20で説明したように必要なパラメータセットを全て送るようにしてもよい。
(実施の形態12)
さらに、上記各実施の形態で示した画像符号化方法または画像復号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図25は、上記実施の形態1から実施の形態11の画像符号化方法または画像復号化方法を格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
図25(b)は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図25(a)は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムとしての画像符号化方法が記録されている。
また、図25(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムとしての画像符号化方法または画像復号化方法をフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記画像符号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
(実施の形態13)
図26から図29は、上記実施の形態で示した符号化処理または復号化処理を行う機器、およびこの機器を用いたシステムを説明する図である。
図26は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図26のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。
また、カメラ116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。
なお、画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した動画像符号化装置あるいは動画像復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図27は、上記実施の形態で説明した動画像符号化方法と動画像復号化方法を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex115について図28を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信信号を増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声信号に変換した後、これを音声出力部ex208を介して出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
画像符号化部ex312は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信信号を変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
次に、画像復号化部ex309は、本願発明で説明した画像復号化装置を備えた構成であり、画像データの符号化ビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声信号に変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図29に示すようにディジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報の符号化ビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置により符号化ビットストリームを復号化してこれを再生する。
また、記録媒体であるCDやDVD等の蓄積メディアex402に記録した符号化ビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
なお、カーナビゲーションex413の構成は例えば図28に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
このように、上記実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。