(57)【特許請求の範囲】
【請求項１】
Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌを使った算術符号化を使用して動画像を符号化する方法であって、
発生頻度初期化手段が、フレームまたはフィールドの符号化開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、予め指定された値に設定する手順と、
発生頻度蓄積手段が、フレームまたはフィールドの符号化終了時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を蓄積する手順と、
発生頻度指定手段が、フレームまたはフィールドの符号化開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、前記発生類度蓄積手順で蓄積された発生頻度に設定する手順と、
発生頻度予備蓄積手段が、フレームまたはフィールドの符号化終了時に前記発生頻度蓄積手段によって蓄積されている発生頻度情報を複写して蓄積する手順と、
発生頻度予備指定手段が、フレームまたはフィールドの符号化開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、前記発生頻度予備蓄積手段で蓄積された発生頻度に設定する手順と、を有し、
フレームまたはフィールドの符号化開始時に、発生頻度初期化手段または発生頻度指定手段または発生頻度予備指定手段のうち、発生頻度情報によって算術される符号量が最も少なくなる手段を選択し、該選択した結果を示す情報を符号化することを特徴とする動画像符号化方法。
【請求項２】
Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌを使った算術符号化を使用して動画像を符号化する方法であって、
発生頻度初期化手段が、フレームまたはフィールドの符号化モードとして、フレーム内符号化、前方向予測フレーム間符号化、両方向予測フレーム間符号化のうち参照画像との間の予測誤差が最も小さいものを選択し、フレームまたはフィールドの符号化開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、予め指定された値に設定する手順と、
発生頻度蓄積手段が、フレーム内符号化または前方向予測フレーム間符号化を使用した、フレームまたはフィールドの符号化終了時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を蓄積する手順と、
発生頻度両方向蓄積手段が、両方向予測フレーム間符号化を使用した、フレームまたはフィールドの符号化終了時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を蓄積する手順と、
発生頻度指定手段が、フレームまたはフィールドの符号化開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生類度を、前記発生頻度蓄積手段で蓄積された発生頻度に設定する手順と、
発生頻度両方向指定手段が、両方向予測フレーム間符号化を使用した、フレームまたはフィールドの符号化開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、前記発生頻度両方向蓄積手段で蓄積された発生頻度に設定する手順と、を有し、
フレーム内符号化または前方向予測フレーム間符号化を使用した、フレームまたはフィールドの符号化開始時には、発生頻度初期化手段または発生頻度指定手段のうち、発生頻度によって算術される符号量が最も少なくなる手段を選択し、
両方向予測フレーム間符号化を使用した、フレームまたはフィールドの符号化開始時には、発生頻度初期化手段または発生頻度指定手段または発生頻度両方向指定手段のうち、発生頻度によって算術される符号量が最も少なくなる手段を選択する
ことを特徴とする動画像符号化方法。
【請求項３】
請求項２に記載の動画像符号化方法であって、
フレームまたはフィールドの符号化開始時に、発生頻度初期化手段または発生頻度指定手段または発生頻度両方向指定手段のうち何れを使用したのかを示す情報を符号化する
ことを特徴とする動画像符号化方法。
【請求項４】
Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌを使った算術符号化を使用して動画像符号化データを復号する方法であって、
発生頻度初期化手段が、フレームまたはフィールドの復号開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、予め指定された値に設定する手順と、
発生頻度蓄積手段が、フレームまたはフィールドの復号終了時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を蓄積する手順と、
発生頻度指定手段が、フレームまたはフィールドの復号開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、前記発生頻度蓄積手段で蓄積された発生頻度に設定する手順と、
発生頻度予備蓄積手段が、フレームまたはフィールドの復号終了時に、前記発生頻度蓄積手段によって蓄積されている発生頻度情報を複写して蓄積する手順と、
発生頻度予備指定手段が、フレームまたはフィールドの復号開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、前記発生頻度予備蓄積手段で蓄積された発生頻度に設定する手順と、を有し、
フレームまたはフィールドの復号開始時に、発生頻度初期化手段または発生頻度指定手段または発生頻度予備指定手段のうち何れを使用して復号できるのかを示す符号化情報を復号し、その情報に従って発生頻度初期化手段または発生頻度指定手段または発生頻度予備指定手段のうち何れを使用するかを選択する
ことを特徴とする動画像復号方法。
【請求項５】
Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌを使った算術復号を使用して動画像を復号する方法であって、
発生頻度初期化手段が、フレームまたはフィールドの復号開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、予め指定された値に設定する手順と、
発生頻度蓄積手段が、フレーム内符号化または前方向予測フレーム間符号化を使用した、フレームまたはフィールドの復号終了時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を蓄積する手順と、
発生頻度両方向蓄積手段が、両方向予測フレーム間符号化を使用した、フレームまたはフィールドの復号終了時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を蓄積する手順と、
発生頻度指定手段が、フレームまたはフィールドの復号開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、前記発生頻度蓄積手段で蓄積された発生頻度に設定する手順と、
発生頻度両方向指定手段が、両方向予測フレーム間符号化を使用した、フレームまたはフィールドの復号開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、前記発生頻度両方向蓄積手段で蓄積された発生頻度に設定する手順と、を有し、
フレーム内符号化または前方向予測フレーム間符号化を使用した、フレームまたはフィールドの復号開始時に、発生頻度初期化手段または発生頻度指定手段のうち何れかを選択し、両方向予測フレーム間符号化を使用した、フレームまたはフィールドの復号開始時に、発生頻度初期化手段または発生頻度指定手段または発生頻度両方向指定手段のうち何れかを選択するにあたり、
フレームまたはフィールドの復号開始時に、発生頻度初期化手段または発生頻度指定手段または発生頻度両方向指定手段のうち何れを使用して復号できるのかを示す符号化情報を復号し、その情報に従って選択する
ことを特徴とする動画像復号方法。
【請求項６】
請求項１から３のいずれか１項に記載の動画像符号化方法における手順を、コンピュータに実行させるためのプログラムとした
ことを特徴とする動画像符号化方法の実行プログラム。
【請求項７】
請求項１から３のいずれか１項に記載の動画像符号化方法における手順を、コンピュータに実行させるためのプログラムとし、
該プログラムを、該コンピュータが読み取りできる記録媒体に記録した
ことを特徴とする動画像符号化方法の実行プログラムを記録した記録媒体。
【請求項８】
請求項４または５のいずれか１項に記載の動画像復号方法における手順を、コンピュータに実行させるためのプログラムとした
ことを特徴とする動画像復号方法の実行プログラム。
【請求項９】
請求項４または５のいずれか１項に記載の動画像復号方法における手順を、コンピュータに実行させるためのプログラムとし、
該プログラムを、該コンピュータが読み取りできる記録媒体に記録した
ことを特徴とする動画像復号方法の実行プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像符号化及び動画像復号に関する技術である。
【０００２】
【従来の技術】
一般的に動画像符号化では時間方向の相関を使って高い符号化効率を実現するため、フレーム間予測符号化を用いている。フレームの符号化モードには、フレーム間の相関を使わずに符号化するＩフレームと、過去に符号化した１フレームから予測するＰフレームと、過去に符号化した２フレームから予測することができるＢフレームがある。Ｐフレームでは、ＩフレームまたはＰフレームから予測し、Ｂフレームでは、ＩフレームまたはＰフレームまたはＢフレームから予測することができる。特に映像符号化方式Ｈ．２６３では参照画像メモリに複数フレーム分の復号画像を蓄積しておき、そのメモリから参照画像を選択して予測することができる。
【０００３】
また、Ｐフレームは入力動画像における時間を過去のフレームから予測するが、Ｂフレームでは過去のフレームだけではなく未来のフレームから予測することができる。
【０００４】
図７−（ａ）に動画像の予測関係の例を示す。Ｂフレームで２フレームから予測する場合（両方向予測）には、２フレームからの画像情報を補間して、１フレーム分の画像情報を作成して予測画像を作成する。第１フレームから第７フレームの符号化モードをＩＢＢＰＢＢＰの順序で符号化する場合には、図７−（ａ）に示す予測関係があるため、実際に符号化する場合には、図７−（ｂ）に示すように１４２３７５６の順序でフレームを符号化する。
【０００５】
また、Ｉフレームを先頭にしたフレームの集合をＧＯＰに設定することにより、ＧＯＰ単位の符号化データのランダムアクセス機能を容易に実現できる。ＧＯＰは、特定のフレームまたはフィールドの符号化データの前に、ＧＯＰ先頭であることを示す情報を含めることによって、そのフレームまたはフィールドが、そのフレームまたはフィールド以降の複数フレームまたはフィールドで構成されるＧＯＰの先頭であることを指定することが可能である。ＭＰＥＧ−２では特有なビットパターンを持つ符号を挿入することによりＧＯＰの先頭であることを指定する。ＧＯＰの先頭であることを示す符号間で１ＧＯＰの符号化データを構成することができる。なお、符号化データ中にＧＯＰの先頭であることを示す情報を符号化するのではなく、符号化データ外でＧＯＰ構成情報を指定することも可能である。
【０００６】
また、インタレース動画像は１フレーム内に２フィールド持つ構成となるが、同様に各フィールド毎に予測関係を設定することができる。
【０００７】
さらに画像を分割した、例えばマクロブロックのような領域毎に、これらの符号化モードを指定することができる。映像符号化方式Ｈ．２６３では、Ｉフレーム内ではフレーム内画像情報のみを使って符号化するＩマクロブロックのみある。Ｐフレーム内ではＩマクロブロックの他に過去に符号化した１フレームから予測するＰマクロブロックがある。マクロブロック毎に参照する画像を変更することも可能である。Ｂフレーム内では、Ｉマクロブロックの他にＢマクロブロックがある。ＢマクロブロックではＰマクロブロックと同様に過去に符号化した１フレームから予測する前方向予測モードまたは逆方向予測モードと、２フレームから予測する両方向予測モードがある。
【０００８】
また、各フレームの符号化情報をエントロピー符号化する方法に算術符号化を使う方法がある。ＪＢＩＧやＪＢＩＧ２やＪＰＥＧ２０００では、符号化シンボル毎に２値化してＣｏｎｔｅｘｔ  Ｍｏｄｅｌを設定し、Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌ毎の発生頻度情報を使って符号化データを符号化する。ＩＴＵ−Ｔ勧告の動画像符号化方式Ｈ．２６４（現時点ではＨ．２６Ｌと呼ばれている）のテストモデルＴＭＬ−９では、フレーム毎にマクロブロック符号化シンボルにＣｏｎｔｅｘｔ  Ｍｏｄｅｌを設定して算術符号化する方法が規定されている。発生頻度情報としては、例えばＪＢＩＧ２では国際標準文書（ＩＳＯ／ＩＥＣ  １４４９２）に記載の、Ｑｅ値とＡ−ｒｅｇｉｓｔｅｒとＣ−ｒｅｇｉｓｔｅｒの値が該当する。
【０００９】
これらの映像符号化方法ではフレーム毎にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度情報を初期化して算術符号化する。Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度はフレーム内でマクロブロック番号が大きくなるほど安定するため符号化効率が高くなる。
【００１０】
【発明が解決しようとする課題】
時間方向の相関性が高いフレーム間では、Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌ毎の発生確率も相関性が高い。従来のようにフレーム毎に初期化をする方法では、フレーム後半で安定した発生頻度になっているにも関わらず、次のフレームの先頭では初期値を使うため符号化効率が低下する問題がある。
【００１１】
本発明は、上記従来の問題点を解決し、Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌ毎の発生頻度情報を使って、高い符号化効率で符号化データを符号化し、復号することができる動画像符号化方法と装置、及び動画像復号方法と装置を提供することを課題とする。
【００１６】
【課題を解決するための手段】
以上の課題を解決するために、請求項１の発明は、Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌを使った算術符号化を使用して動画像を符号化する方法であって、発生頻度初期化手段が、フレームまたはフィールドの符号化開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、予め指定された値に設定する手順と、発生頻度蓄積手段が、フレームまたはフィールドの符号化終了時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を蓄積する手順と、発生頻度指定手段が、フレームまたはフィールドの符号化開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、前記発生類度蓄積手順で蓄積された発生頻度に設定する手順と、発生頻度予備蓄積手段が、フレームまたはフィールドの符号化終了時に前記発生頻度蓄積手段によって蓄積されている発生頻度情報を複写して蓄積する手順と、発生頻度予備指定手段が、フレームまたはフィールドの符号化開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、前記発生頻度予備蓄積手段で蓄積された発生頻度に設定する手順と、を有し、フレームまたはフィールドの符号化開始時に、発生頻度初期化手段または発生頻度指定手段または発生頻度予備指定手段のうち、発生頻度情報によって算術される符号量が最も少なくなる手段を選択し、該選択した結果を示す情報を符号化する特徴とする。
【００１８】
また、請求項２の発明は、Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌを使った算術符号化を使用して動画像を符号化する方法であって、発生頻度初期化手段が、フレームまたはフィールドの符号化モードとして、フレーム内符号化、前方向予測フレーム間符号化、両方向予測フレーム間符号化のうち参照画像との間の予測誤差が最も小さいものを選択し、フレームまたはフィールドの符号化開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、予め指定された値に設定する手順と、発生頻度蓄積手段が、フレーム内符号化または前方向予測フレーム間符号化を使用した、フレームまたはフィールドの符号化終了時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を蓄積する手順と、発生頻度両方向蓄積手段が、両方向予測フレーム間符号化を使用した、フレームまたはフィールドの符号化終了時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を蓄積する手順と、発生頻度指定手段が、フレームまたはフィールドの符号化開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生類度を、前記発生頻度蓄積手段で蓄積された発生頻度に設定する手順と、発生頻度両方向指定手段が、両方向予測フレーム間符号化を使用した、フレームまたはフィールドの符号化開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、前記発生頻度両方向蓄積手段で蓄積された発生頻度に設定する手順と、を有し、フレーム内符号化または前方向予測フレーム間符号化を使用した、フレームまたはフィールドの符号化開始時には、発生頻度初期化手段または発生頻度指定手段のうち、発生頻度によって算術される符号量が最も少なくなる手段を選択し、両方向予測フレーム間符号化を使用した、フレームまたはフィールドの符号化開始時には、発生頻度初期化手段または発生頻度指定手段または発生頻度両方向指定手段のうち、発生頻度によって算術される符号量が最も少なくなる手段を選択する特徴とする。
【００１９】
また、請求項３の発明は、請求項２に記載の動画像符号化方法であって、フレームまたはフィールドの符号化開始時に、発生頻度初期化手段または発生頻度指定手段または発生頻度両方向指定手段のうち何れを使用したのかを示す情報を符号化する特徴とする。
【００２３】
また、請求項４の発明は、Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌを使った算術符号化を使用して動画像符号化データを復号する方法であって、発生頻度初期化手段が、フレームまたはフィールドの復号開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、予め指定された値に設定する手順と、発生頻度蓄積手段が、フレームまたはフィールドの復号終了時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を蓄積する手順と、発生頻度指定手段が、フレームまたはフィールドの復号開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、前記発生頻度蓄積手段で蓄積された発生頻度に設定する手順と、発生頻度予備蓄積手段が、フレームまたはフィールドの復号終了時に、前記発生頻度蓄積手段によって蓄積されている発生頻度情報を複写して蓄積する手順と、発生頻度予備指定手段が、フレームまたはフィールドの復号開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、前記発生頻度予備蓄積手段で蓄積された発生頻度に設定する手順と、を有し、フレームまたはフィールドの復号開始時に、発生頻度初期化手段または発生頻度指定手段または発生頻度予備指定手段のうち何れを使用して復号できるのかを示す符号化情報を復号し、その情報に従って発生頻度初期化手段または発生頻度指定手段または発生頻度予備指定手段のうち何れを使用するかを選択する特徴とする。
【００２５】
また、請求項５の発明は、Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌを使った算術復号を使用して動画像を復号する方法であって、発生頻度初期化手段が、フレームまたはフィールドの復号開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、予め指定された値に設定する手順と、発生頻度蓄積手段が、フレーム内符号化または前方向予測フレーム間符号化を使用した、フレームまたはフィールドの復号終了時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を蓄積する手順と、発生頻度両方向蓄積手段が、両方向予測フレーム間符号化を使用した、フレームまたはフィールドの復号終了時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を蓄積する手順と、発生頻度指定手段が、フレームまたはフィールドの復号開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、前記発生頻度蓄積手段で蓄積された発生頻度に設定する手順と、発生頻度両方向指定手段が、両方向予測フレーム間符号化を使用した、フレームまたはフィールドの復号開始時にＣｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度を、前記発生頻度両方向蓄積手段で蓄積された発生頻度に設定する手順と、を有し、フレーム内符号化または前方向予測フレーム間符号化を使用した、フレームまたはフィールドの復号開始時に、発生頻度初期化手段または発生頻度指定手段のうち何れかを選択し、両方向予測フレーム間符号化を使用した、フレームまたはフィールドの復号開始時に、発生頻度初期化手段または発生頻度指定手段または発生頻度両方向指定手段のうち何れかを選択するにあたり、フレームまたはフィールドの復号開始時に、発生頻度初期化手段または発生頻度指定手段または発生頻度両方向指定手段のうち何れを使用して復号できるのかを示す符号化情報を復号し、その情報に従って選択する特徴とする。
【００２７】
また、請求項６の発明は、請求項１から３のいずれか１項に記載の動画像符号化方法における手順を、コンピュータに実行させるためのプログラムとした特徴とする。
【００２８】
また、請求項７の発明は、請求項１から３のいずれか１項に記載の動画像符号化方法における手順を、コンピュータに実行させるためのプログラムとし、該プログラムを、該コンピュータが読み取りできる記録媒体に記録した特徴とする。
【００２９】
また、請求項８の発明は、請求項４または５のいずれか１項に記載の動画像復号方法における手順を、コンピュータに実行させるためのプログラムとした特徴とする。
【００３０】
また、請求項９の発明は、請求項４または５のいずれか１項に記載の動画像復号方法における手順を、コンピュータに実行させるためのプログラムとし、該プログラムを、該コンピュータが読み取りできる記録媒体に記録した特徴とする。
【００３５】
請求項１及び請求項４に記載の発明によれば、過去に符号化した２フレーム分の発生頻度を蓄積しておき、フレームまたはフィールド開始時に、蓄積しておいた発生頻度の中から１つを選択することができる。これにより、例えば、最も符号量の少ない発生頻度を選択して使用することができ、符号化効率を向上させることができる。
【００３６】
また、請求項１及び請求項４に記載の発明によれば、過去に符号化した２フレーム分の発生頻度を蓄積しておき、フレームまたはフィールド開始時に、蓄積しておいた発生頻度の中から１つを選択し、どちらを使用したのかを示す情報を符号化することができる。そのため、復号側で、フレームまたはフィールドを復号する時に、この情報に従って発生頻度を選択することができる。
【００３７】
請求項２及び請求項５に記載の発明によれば、Ｉフレーム（フィールド）またはＰフレーム（フィールド）符号化時の初期化において、予め設定した初期値や直前のフレーム（フィールド）符号化終了時の発生頻度情報を使用するのではなく、それ以前に符号化したＩまたはＰフレームの終了時の発生頻度を使用することができる。これによりＢフレーム（フィールド）を交えて符号化する場合に、Ｂフレーム（フィールド）後の、Ｉフレーム（フィールド）またはＰフレーム（フィールド）の符号化時において、過去のＩまたはＰフレーム（フィールド）符号化終了時の発生頻度を使用することができ、符号化効率を向上させることができる。例えば図７−（ｂ）の順序で符号化された場合に、２番目のＰフレームを符号化する時に、直前のＢフレーム符号化終了時の発生頻度を使用するのではなく、１番目のＰフレーム符号化終了時の発生頻度を使用することができる。また、この発明によれば、Ｂフレーム（フィールド）の復号を行わずにＩフレーム（フィールド）とＰフレーム（フィールド）のみ復号する場合において、Ｉフレーム（フィールド）またはＰフレーム（フィールド）の初期化処理を直前に復号したフレーム（フィールド）の発生頻度で行うことができる。そのため、映像の早送り再生などでＢフレーム（フィールド）の復号を行わない、復号処理の軽減をすることができる。
【００３８】
また、請求項３及び請求項５に記載の発明によれば、過去に符号化した発生頻度を蓄積しておき、フレームまたはフィールド開始時に、蓄積しておいた発生頻度の中から１つを選択し、どちらを使用したのかを示す情報を符号化することができる。そのため、復号側で、フレームまたはフィールドを復号する時に、この情報に従って発生頻度を選択することができる。
【００３９】
【発明の実施の形態】
以下、本発明の実施形態例を図面を参照して説明する。
【００４０】
本発明の第１の実施形態例として、フレーム符号化終了時に発生頻度情報を蓄積するメモリが１フレーム分のみあり、次のフレーム符号化開始時に発生頻度情報の初期化を行うか、蓄積した発生頻度情報を使うのかを選択する場合の例を示す。どちらを使用したのかを示す情報を符号化するものとする。フレームはマクロブロックに分割され、マクロブロック毎に動き補償とＤＣＴ（離散コサイン変換）を行うものとする。
【００４１】
動画像符号化装置の構成図を図１に示す。前フレームとの類似度を判定するフレーム類似度判定部１０９と、フレーム類似度に従って発生頻度を初期化するかどうかを決定する初期化決定部１０８と、初期化したかどうかを示す初期化情報を符号化する初期化情報符号化部１１０と、マクロブロック毎に、動き補償を行うかどうかを示す符号化モードを決定する符号化モード決定部１０１と、動き補償を行う動き補償部１０２と、動き補償を行った場合には予測誤差をＤＣＴし、行わなかった場合には画像情報をＤＣＴし、ＤＣＴ係数を２次元可変長符号化する予測誤差符号化部１０３と、符号化モードと動きベクトルとＤＣＴ係数をＣｏｎｔｅｘｔ  Ｍｏｄｅｌ毎に２値化して算術符号化を行う算術符号化部１０４と、フレーム内の全マクロブロックの算術符号化が終了した時の各ＣｏｎｔｅｘｔＭｏｄｅｌの発生頻度情報を蓄積する発生頻度蓄積部１０５と、発生頻度情報を予め指定された値に初期化する発生頻度初期化部１０６と、発生頻度情報を発生頻度蓄積部１０５に蓄積されている値に設定する発生頻度指定部１０７と、で構成される。
【００４２】
フレーム類似度判定部１０９では、フレーム類似度を２フレーム間の各画素の、絶対値差分和の大きさから決定する。絶対値差分和が予め設定した閾値よりも大きい場合にはフレーム類似度が小さいと判定し、閾値よりも小さい場合にはフレーム類似度か大きいと判定する。また、初期化決定部１０８は、フレーム類似度が小さい場合には初期化を行い、大きい場合に初期化を行わない。
【００４３】
符号化モード決定部１０１では、Ｐフレームでは１つの参照画像との間で動き探索を行って動きベクトルと予測誤差を求め、予測誤差が予め設定した閾値よりも大きい場合には符号化モードを動き補償を行わないイントラモードに決定し、予測誤差が小さい場合には符号化モードを動き補償を行う前予測モードに決定する。Ｂフレームでは２つの参照画像との間でそれぞれ動き探索を行って動きベクトルと予測画像を求め、第１の参照画像との間の予測誤差（第１予測誤差）と第２の参照画像との間の予測誤差（第２予測誤差）と両方向予測誤差を求め、全ての予測誤差が予め設定した閾値よりも大きい場合には符号化モードを動き補償を行わないイントラモードに決定し、いずれかの予測誤差が予め設定した閾値よりも小さい場合には、符号化モードを、最も値の小さい予測誤差となる動き補償を行うモードに決定する。第１予測誤差が最も小さい場合には前予測モードにし、第２予測誤差が最も小さい場合には後予測モードにし、両方向予測誤差が最も小さい場合には両予測モードに決定する。
【００４４】
算術符号化部１０４では、符号化モードと動きベクトルとＤＣＴ係数の２次元可変長符号の値を２進数で表現し、各情報の２の補数位置をＣｏｎｔｅｘｔ  Ｍｏｄｅｌとする。Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌ毎にＭＱ−ｃｏｄｅｒで算術符号化する。ＭＱ−ｃｏｄｅｒは、ＪＢＩＧ２で採用されている算術符号化の方法である。ＭＱ−ｃｏｄｅｒで使用する、発生頻度蓄積部１０５には各Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度情報を蓄積する。
【００４５】
このような前提の下で図７−（ｂ）の順序で動画像を符号化する場合の各部による処理の手順を示す。
【００４６】
第１フレームでは発生頻度情報を初期化する。初期化情報を符号化する。Ｉフレームであるため全マクロブロックで符号化モード決定部１０１はイントラモードに決定し、画像情報をＤＣＴして２次元可変長符号化する。算術符号化部１０４は各マクロブロックの符号化モードと２次元可変長符号化データを算術符号化する。最後のマクロブロックを算術符号化した後、発生頻度蓄積部１０５は発生頻度情報を蓄積する。動きベクトルに関する発生頻度情報としては、発生頻度初期化部１０６に設定されている初期値を蓄積する。
【００４７】
第２フレームではフレーム類似度判定部１０９で第１フレームとの間のフレーム類似度を判定する。初期化決定部１０８は、フレーム類似度が大きい場合には、発生頻度蓄積部１０５に蓄積されている発生頻度を発生頻度指定部１０７により算術符号化部１０４で使用する発生頻度の初期値に設定する。フレーム類似度が小さい場合には、発生頻度初期化部１０６により算術符号化部１０４で使用する発生頻度の初期値を予め設定されている初期値に設定する。Ｐフレームであるため符号化モード決定部１０１はイントラモードまたは前予測モードに決定する。イントラモードの場合には画像情報をＤＣＴして２次元可変長符号化する。前予測モードの場合には動き補償し、予測誤差をＤＣＴして２次元可変長符号化する。算術符号化部１０４は各マクロブロックの符号化モードと動きベクトルと２次元可変長符号化データを算術符号化する。イントラモードでは動きベクトルを算術符号化しない。最後のマクロブロックを算術符号化した後、発生頻度蓄積部１０５は発生頻度情報を蓄積する。
【００４８】
第３フレームではフレーム類似度判定部１０９で第２フレームとの間のフレーム類似度を判定する。初期化決定部１０８は、フレーム類似度が大きい場合には、発生頻度蓄積部１０５に蓄積されている発生頻度を発生頻度指定部１０７により算術符号化部１０４で使用する発生頻度の初期値に設定する。フレーム類似度が小さい場合には、発生頻度初期化部１０７により算術符号化部１０４で使用する発生頻度の初期値を予め設定されている初期値に設定する。Ｂフレームであるため符号化モード決定部１０１はイントラモードまたは前予測モードまたは後予測モードまたは両予測モードに決定する。イントラモードの場合には画像情報をＤＣＴして２次元可変長符号化する。前予測モードまたは後予測モードまたは両予測モードの場合には動き補償し、予測誤差をＤＣＴして２次元可変長符号化する。算術符号化部１０４は各マクロブロックの符号化モードと２種類の動きベクトル（前方向動きベクトルと後方向動きベクトル）と２次元可変長符号化データを算術符号化する。イントラモードでは動きベクトルを算術符号化しない。前予測モードでは後方向動きベクトルを算術符号化せず、後予測モードでは前方向動きベクトルを算術符号化しない。最後のマクロブロックを算術符号化した後、発生頻度蓄積部１０５は発生頻度情報を蓄積する。
【００４９】
第４フレームはＢフレームであるため第３フレームと同様な処理を行う。第５フレームはＰフレームであるため第２フレームと同様な処理を行う。第６、第７フレームはＢフレームであるため第３フレームと同様な処理を行う。
【００５０】
以上の処理により図７−（ｂ）の順序で７枚のフレームを符号化する。
【００５１】
次に、ここで作成された符号化データを復号する手順を示す。
【００５２】
動画像復号装置の構成例を図２に示す。発生頻度情報を初期化するかどうかを示す初期化情報を復号する初期化情報復号部１１４と、マクロブロック毎に、符号化モードと動きベクトルとＤＣＴ係数２次元可変長符号を算術復号する算術復号部１１１と、符号化モードから動きベクトルを算術復号するかどうかを決定する符号化モード判定部１１２と、２次元可変長符号からＤＣＴ係数を復号する予測誤差復号部１１３と、符号化モードで動き補償をすると判定された場合には動き補償を行う動き補償部１０２と、フレーム内の全マクロブロックの算術符号化が終了した時の各Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度情報を蓄積する発生頻度蓄積部１０５と、発生頻度情報を予め指定された値に初期化する発生頻度初期化部１０６と、発生頻度情報を発生頻度蓄積部１０５に蓄積されている値に設定する発生頻度指定部１０７と、で構成される。
【００５３】
このような構成の元で次のように復号される。
【００５４】
第１フレームで、まず初期化情報を復号する。初期化情報により、発生頻度初期化部１０６により算術復号部１１１で使用する発生頻度の初期値を予め設定されている初期値に設定する。続いてマクロブロック毎に次のように復号される。算術復号部１１１は符号化モードを復号する。符号化モード判定部１１２は、符号化モードがイントラモードであるため動きベクトルを復号しないと判定する。算術復号部１１１は動きベクトルを復号しない。算術復号部１１１は２次元可変長符号を復号する。予測誤差復号部１１３は２次元可変長符号を復号して画像情報を求める。以上の処理を全てのマクロブロックに対して行う。最後のマクロブロックを算術復号した後、発生頻度蓄積部１０５は発生頻度情報を蓄積する。動きベクトルに関する発生頻度情報としては、発生頻度初期化部１０６に設定されている初期値を蓄積する。
【００５５】
第２フレームで、まず初期化情報を復号する。初期化情報に従って、発生頻度蓄積部１０５に蓄積されている発生頻度を発生頻度指定部１０７により算術復号部１１１で使用する発生頻度の初期値に設定するか、または発生頻度初期化部１０６により算術復号部１１１で使用する発生頻度の初期値を予め設定されている初期値に設定するかの何れかを行う。続いてマクロブロック毎に次のように復号される。算術復号部１１１は符号化モードを復号する。符号化モード判定部１１２は、符号化モードがイントラモードである場合には動きベクトルを復号しないと判定する。この場合、算術復号部１１１は動きベクトルを復号しない。符号化モードが前予測モードである場合には動きベクトルを復号すると判定する。この場合、算術復号部１１１は動きベクトルを復号する。続いて算術復号部１１１は２次元可変長符号を復号する。符号化モードがイントラモードの場合、予測誤差復号部１１３は２次元可変長符号を復号して画像情報を求める。符号化モードが前予測モードの場合、予測誤差復号部１１３は２次元可変長符号を復号して予測誤差を求め、動き補償部１０２は動きベクトルを使って予測画像と予測誤差から画像情報を求める。以上の処理を全てのマクロブロックに対して行う。最後のマクロブロックを算術復号した後、発生頻度蓄積部１０５は発生頻度情報を蓄積する。
【００５６】
第３フレームで、まず初期化情報を復号する。初期化情報に従って、発生頻度蓄積部１０５に蓄積されている発生頻度を発生頻度指定部１０７により算術復号部１１１で使用する発生頻度の初期値に設定するか、または発生頻度初期化部１０６により算術復号部１１１で使用する発生頻度の初期値を予め設定されている初期値に設定するかの何れかを行う。続いてマクロブロック毎に次のように復号される。算術復号部１１１は符号化モードを復号する。符号化モード判定部１１２は、符号化モードがイントラモードである場合には動きベクトルを復号しないと判定する。この場合、算術復号部１１１は動きベクトルを復号しない。符号化モードが前予測モードまたは後予測モードである場合には１つ動きベクトルを復号すると判定する。この場合、算術復号部１１１は１つ動きベクトルを復号する。符号化モードが両予測モードである場合には２つ動きベクトルを復号すると判定する。この場合、算術復号部１１１は２つ動きベクトルを復号する。続いて算術復号部１１１は２次元可変長符号を復号する。符号化モードがイントラモードの場合、予測誤差復号部１１３は２次元可変長符号を復号して画像情報を求める。符号化モードが前予測モードまたは後予測モードまたは両予測モードの場合、予測誤差復号部１１３は２次元可変長符号を復号して予測誤差を求め、動き補償部１０２は動きベクトルを使って予測画像と予測誤差から画像情報を求める。以上の処理を全てのマクロブロックに対して行う。最後のマクロブロックを算術復号した後、発生頻度蓄積部１０５は発生頻度情報を蓄積する。
【００５７】
第４フレームはＢフレームであるため第３フレームと同様な処理を行う。第５フレームはＰフレームであるため第２フレームと同様な処理を行う。第６、第７フレームはＢフレームであるため第３フレームと同様な処理を行う。
【００５８】
以上の処理により図７−（ｂ）の順序で７枚のフレームを復号する。
【００５９】
以上のように第１の実施形態例によれば、フレーム毎に算術符号化の発生頻度情報を初期化するかどうかを決定しながら、動画像を符号化することができる。また初期化するかどうかの情報を符号化データ中に含めるため、復号側でも正確に算術復号を行え、復号画像を得ることができる。
【００６０】
なお、本実施形態例では、フレーム類似度によって発生頻度情報を初期化するかどうかを判定し、初期化するかどうかの情報を符号化したが、この情報を符号化せず、フレームの符号化モードに従って、初期化するかどうかを判定することも可能である。例えば、第１フレームのＩフレームのみ初期化を行い、途中の第２フレームから第７フレームまでのＰフレームまたはＢフレームでは初期化を行わない。この場合には初期化するかどうかの情報を符号化しなくてもよく、符号化効率を向上させることができる。また特定の符号化モードのフレームのみ、初期化するかどうかの情報を符号化する方法も可能である。
【００６１】
さらに、本実施形態例の構成にフレーム符号化終了時に発生頻度情報を蓄積するかどうかを選択する仕組みを備えると、特定の符号化モードのフレームのみ発生頻度情報を蓄積することも可能である。例えばＩフレームとＰフレーム符号化終了時のみ発生頻度情報を蓄積するようにすると、第５フレームのＰフレームを符号化開始時に、第２フレームのＰフレーム符号化終了時の発生頻度情報を初期値とすることができる。この方法によれば、動画像の早送り再生の時に、途中のＢフレームを復号せずにＩフレームとＰフレームのみ復号することが可能である。ただし、この構成では、第４フレームのＢフレームの符号化に第３フレームのＢフレーム符号化終了時の発生頻度情報を使うことはできない。
【００６２】
なお、動画像符号化装置に、フレーム符号化終了時に発生頻度情報を蓄積するかどうかを指定する情報を符号化する仕組みを備え、動画像復号装置に、この情報を復号する仕組みを備えると、符号化モードとは無関係に発生頻度情報の蓄積をするかどうかを選択することができ、符号化郊率がよくなるように、発生頻度を蓄積することができる。
【００６３】
また、ＧＯＰの先頭かどうかに従って、初期化するかどうかを判定することも可能である。例えば本実施形態例の７フレームが１ＧＯＰを構成する場合には、ＧＯＰの先頭フレームである第１フレームのみ初期化を行い、途中の第２フレームから第７フレームまでは初期化を行わない。この場合にも初期化するかどうかの情報を符号化しなくてもよく、符号化効率を向上させることができる。
【００６４】
また、本実施形態例ではフレームの符号化の例を示したが、インタレース動画像においてはフィールドの符号化に適用しても良い。また、本実施形態例ではフレーム間予測符号化を使用した動画像符号化の動作を示したが、フレーム内符号化のみで構成される動画像符号化に適用しても良い。
【００６５】
次に、本発明の第２の実施形態例として、フレーム符号化終了時の発生頻度情報を蓄積するメモリが２フレーム分あり、次のフレーム符号化開始時に発生頻度情報の初期化を行うか、あるいは蓄積した２種類の発生頻度情報をうち、どちらを使うのかを選択する場合の例を示す。
【００６６】
動画像符号化装置の構成図を図３に示す。フレーム内の全マクロブロックの算術符号化が終了した時の各Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度情報を蓄積する発生頻度蓄積部１０５と、前フレーム符号化終了時に発生頻度蓄積部１０５に蓄積された発生頻度情報を再度蓄積する発生頻度予備蓄積部１１６と、発生頻度蓄積部１０５に蓄積している発生頻度情報（以後Ｐ１と呼ぶ）と発生頻度予備蓄積部１１６に蓄積している発生頻度情報（以後Ｐ２と呼ぶ）と予め設定されている初期値のうち、どれが最も符号化効率が高いかを判定する発生頻度類似度判定部１１７と、発生頻度類似度に従って発生頻度をＰ１に設定するのかＰ２に設定するのか初期化するのかのいずれかを決定する初期化決定部１０８と、初期化したかどうか、また発生頻度をＰ１に設定したのかＰ２に設定したのかを示す初期化情報を符号化する初期化情報符号化部１１０と、マクロブロック毎に、動き補償を行うかどうかを示す符号化モードを決定する符号化モード決定部１０１と、動き補償を行う動き補償部１０２と、動き補償を行った場合には予測誤差をＤＣＴし、行わなかった場合には画像情報をＤＣＴし、ＤＣＴ係数を２次元可変長符号化する予測誤差符号化部１０３と、符号化モードと動きベクトルとＤＣＴ係数をＣｏｎｔｅｘｔ  Ｍｏｄｅｌ毎に２値化して算術符号化を行う算術符号化部１０４と、発生頻度情報を予め指定された値に初期化する発生頻度初期化部１０６と、発生頻度情報を発生頻度蓄積部１０５に蓄積されている値に設定する発生頻度指定部１０７と、発生頻度情報を発生頻度予備蓄積部１１６に蓄積されている値に設定する発生頻度予備指定部１１５と、で構成される。
【００６７】
発生頻度類似度判定部１１７と初期化決定部１０８と初期化情報符号化部１１０以外の動作は第１の実施形態例と同様である。発生頻度類似度判定部１１７では、現フレーム先頭マクロブロックを、発生頻度蓄積部１０５に蓄積された発生頻度情報を使って算術符号化した符号量Ｂ１と、発生頻度予備蓄積部１１６に蓄積された発生頻度情報を使って算術符号化した符号量Ｂ２と、発生頻度情報を初期化して算術符号化した符号量Ｂ３を求める。初期化決定部１０８では、発生頻度類似度判定部１１７で求めた符号量を比較し、最も値の小さい方法を初期化方法に決定する。初期化情報符号化部１１０では、初期化情報として、予め設定した初期値で初期化するかどうかの情報１ビット（１の場合には初期化し、０の場合には初期化しない）を符号化する。この情報が０の場合には更に、発生頻度蓄積部１０５に蓄積された発生頻度情報を使うか、または発生頻度予備蓄積部１１６に蓄積された発生頻度情報を使うのかを示す情報１ビットを符号化する。符号は前者の場合には０、後者の場合には１とする。
【００６８】
このような前提の下で図７−（ｂ）の順序で動画像を符号化する場合の各部による処理の手順を示す。
【００６９】
第１フレームでは、Ｉフレームであるため全マクロブロックで符号化モード決定部１０１はイントラモードに決定し、画像情報をＤＣＴして２次元可変長符号化する。発生頻度情報を予め設定した初期値で初期化する。初期化情報として１を符号化する。算術符号化部１０４は各マクロブロックの符号化モードと２次元可変長符号化データを算術符号化する。最後のマクロブロックを算術符号化した後、発生頻度蓄積部１０５は発生頻度情報を蓄積する。動きベクトルに関する発生頻度情報としては、発生頻度初期化部１０６に設定されている初期値を蓄積する。
【００７０】
第２フレームでは、Ｐフレームであるため符号化モード決定部１０１はイントラモードまたは前予測モードに決定する。イントラモードの場合には画像情報をＤＣＴして２次元可変長符号化する。前予測モードの場合には動き補償し、予測誤差をＤＣＴして２次元可変長符号化する。発生頻度類似度判定部１１７は、先頭マクロブロックの符号化モードと動きベクトルと２次元可変長符号化データを、２種類の初期値で算術符号化し発生符号量（Ｂ１，Ｂ３）を求める。イントラモードでは動きベクトルを算術符号化しない。初期化決定部１０８は、Ｂ１，Ｂ３を比較し発生符号量の少ない方を選択し初期値に決定する。発生頻度初期化部１０６と、発生頻度指定部１０７のうち、初期値として選択されたものを実行し、算術符号化部１０４の初期値とする。算術符号化部１０４は各マクロブロックの符号化モードと動きベクトルと２次元可変長符号化データを算術符号化する。イントラモードでは動きベクトルを算術符号化しない。最後のマクロブロックを算術符号化した後、発生頻度予備蓄積部１１６は発生頻度蓄積部１０５に蓄積されている発生頻度情報を蓄積する。発生頻度蓄積部１０５は現フレームの発生頻度情報を蓄積する。
【００７１】
第３フレームでは、Ｂフレームであるため符号化モード決定部１０１はイントラモードまたは前予測モードまたは後予測モードまたは両予測モードに決定する。イントラモードの場合には画像情報をＤＣＴして２次元可変長符号化する。前予測モードまたは後予測モードまたは両予測モードの場合には動き補償し、予測誤差をＤＣＴして２次元可変長符号化する。発生頻度類似度判定部１１７は、先頭マクロブロックの符号化モードと動きベクトルと２次元可変長符号化データを、３種類の初期値で算術符号化し発生符号量（Ｂ１，Ｂ２，Ｂ３）を求める。イントラモードでは動きベクトルを算術符号化しない。初期化決定部１０８は、Ｂ１，Ｂ２，Ｂ３を比較し発生符号量の少ないものを選択し初期値に決定する。発生頻度初期化部１０６と、発生頻度指定部１０７と、発生頻度予備指定部１１５のうち、初期値として選択されたものを実行し、算術符号化部１０４の初期値とする。算術符号化部１０４は各マクロブロックの符号化モードと２種類の動きベクトル（前方向動きベクトルと後方向動きベクトル）と２次元可変長符号化データを算術符号化する。イントラモードでは動きベクトルを算術符号化しない。前予測モードでは後方向動きベクトルを算術符号化せず、後予測モードでは前方向動きベクトルを算術符号化しない。最後のマクロブロックを算術符号化した後、発生頻度予備蓄積部１１６は発生頻度蓄積部１０５に蓄積されている発生頻度情報を蓄積する。発生頻度蓄積部１０５は現フレームの発生頻度情報を蓄積する。
【００７２】
第４フレームはＢフレームであるため第３フレームと同様な処理を行う。第５フレームはＰフレームであるため第２フレームと同様な処理を行う。第６、第７フレームはＢフレームであるため第３フレームと同様な処理を行う。
【００７３】
以上の処理により図７−（ｂ）の順序で７枚のフレームを符号化する。
【００７４】
次に、ここで作成された符号化データを復号する手順を示す。
【００７５】
動画像復号装置の構成例を図４に示す。フレーム内の全マクロブロックの算術復号が終了した時の各Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度情報を蓄積する発生頻度蓄積部１０５と、前フレーム復号終了時に発生頻度蓄積部１０５に蓄積された発生頻度情報を再度蓄積する発生頻度予備蓄積部１１６と、発生頻度情報を予め設定した初期値で初期化するかどうか、発生頻度蓄積部１０５に蓄積されている発生頻度情報（Ｐ１）で初期化するか、発生頻度予備蓄積部１１６に蓄積されている発生頻度情報（Ｐ２）で初期化するかどうかを示す初期化情報を復号する初期化情報復号部１１４と、マクロブロック毎に、符号化モードと動きベクトルとＤＣＴ係数２次元可変長符号を算術復号する算術復号部１１１と、符号化モードから動きベクトルを算術復号するかどうかを決定する符号化モード判定部１１２と、２次元可変長符号からＤＣＴ係数を復号する予測誤差復号部１１３と、符号化モードで動き補償をすると判定された場合には動き補償を行う動き補償部１０２と、発生頻度情報を予め指定された値に初期化する発生頻度初期化部１０６と、発生頻度情報を発生頻度蓄積部１０５に蓄積されている値に設定する発生頻度指定部１０７と、発生頻度情報を発生頻度予備蓄積部１１６に蓄積されている値に設定する発生頻度予備指定部１１５と、で構成される。
【００７６】
このような構成の元で次のように復号される。
【００７７】
第１フレームで、まず初期化情報を復号する。初期化情報により、発生頻度初期化部１０６により算術復号部１１１で使用する発生頻度の初期値を予め設定されている初期値に設定する。続いてマクロブロック毎に次のように復号される。算術復号部１１１は符号化モードを復号する。符号化モード判定部１１２は、符号化モードがイントラモードであるため動きベクトルを復号しないと判定する。算術復号部１１１は動きベクトルを復号しない。算術復号部１１１は２次元可変長符号を復号する。予測誤差復号部１１３は２次元可変長符号を復号して画像情報を求める。以上の処理を全てのマクロブロックに対して行う。最後のマクロブロックを算術復号した後、発生頻度蓄積部１０５は発生頻度情報を蓄積する。動きベクトルに関する発生頻度情報としては、発生頻度初期化部１０６に設定されている初期値を蓄積する。
【００７８】
第２フレームで、まず初期化情報を復号する。初期化情報に従って、発生頻度蓄積部１０５に蓄積されている発生頻度を発生頻度指定部１０７により算術復号部１１１で使用する発生頻度の初期値に設定するか、または発生頻度初期化部１０６により算術復号部１１１で使用する発生頻度の初期値を予め設定されている初期値に設定するかの何れかを行う。続いてマクロブロック毎に次のように復号される。算術復号部１１１は符号化モードを復号する。符号化モード判定部１１２は、符号化モードがイントラモードである場合には動きベクトルを復号しないと判定する。この場合、算術復号部１１１は動きベクトルを復号しない。符号化モードが前予測モードである場合には動きベクトルを復号すると判定する。この場合、算術復号部１１１は動きベクトルを復号する。続いて算術復号部１１１は２次元可変長符号を復号する。符号化モードがイントラモードの場合、予測誤差復号部１１３は２次元可変長符号を復号して画像情報を求める。符号化モードが前予測モードの場合、予測誤差復号部１１３は２次元可変長符号を復号して予測誤差を求め、動き補償部１０２は動きベクトルを使って予測画像と予測誤差から画像情報を求める。以上の処理を全てのマクロブロックに対して行う。最後のマクロブロックを算術復号した後、発生頻度予備蓄積部１１６は発生頻度蓄積部１０５に蓄積されている発生頻度情報を蓄積し、発生頻度蓄積部１０５は現フレームの発生頻度情報を蓄積する。
【００７９】
第３フレームでは、まず初期化情報を復号する。初期化情報に従って、発生頻度蓄積部１０５に蓄積されている発生頻度を発生頻度指定部１０７により算術復号部１１１で使用する発生頻度の初期値に設定するか、または発生頻度予備蓄積部１１６に蓄積されている発生頻度を発生頻度予備指定部１１５により算術復号部で使用する発生頻度の初期値に設定するか、または発生頻度初期化部１０６により算術復号部１１１で使用する発生頻度の初期値を予め設定されている初期値に設定するかの何れかを行う。続いて、マクロブロック毎に次のように復号される。算術復号部１１１は符号化モードを復号する。符号化モード判定部１１２は、符号化モードがイントラモードである場合には動きベクトルを復号しないと判定する。この場合、算術復号部１１１は動きベクトルを復号しない。符号化モードが前予測モードまたは後予測モードである場合には１つ動きベクトルを復号すると判定する。この場合、算術復号部１１１は１つ動きベクトルを復号する。符号化モードが両予測モードである場合には２つ動きベクトルを復号すると判定する。この場合、算術復号部１１１は２つ動きベクトルを復号する。続いて算術復号部１１１は２次元可変長符号を復号する。符号化モードがイントラモードの場合、予測誤差復号部１１３は２次元可変長符号を復号して画像情報を求める。符号化モードが前予測モードまたは後予測モードまたは両予測モードの場合、予測誤差復号部１１３は２次元可変長符号を復号して予測誤差を求め、動き補償部１０２は動きベクトルを使って予測画像と予測誤差から画像情報を求める。以上の処理を全てのマクロブロックに対して行う。最後のマクロブロックを算術復号した後、発生頻度予備蓄積部１１６は発生頻度蓄積部１０５に蓄積されている発生頻度情報を蓄積し、発生頻度蓄積部１０５は現フレームの発生頻度情報を蓄積する。
【００８０】
第４フレームはＢフレームであるため第３フレームと同様な処理を行う。第５フレームはＰフレームであるため第２フレームと同様な処理を行う。第６、第７フレームはＢフレームであるため第３フレームと同様な処理を行う。
【００８１】
以上の処理により図７−（ｂ）の順序で７枚のフレームを復号する。
【００８２】
以上のように第２の実施形態例によれば、フレーム毎に算術符号化の発生頻度情報を初期化するかどうか、または過去に符号化した２フレームの発生頻度情報のうちどちらを使って初期化するかどうかを決定しながら、最も符号化効率が高くなるように動画像を符号化することができる。また初期化するかどうか、また過去に符号化した２フレームの発生頻度情報のうちどちらを使って初期化するのかを示す情報を符号化データ中に含めるため、復号側でも正確に算術復号を行え、復号画像を得ることができる。
【００８３】
なお、本実施形態例では、フレーム類似度によって発生頻度情報を初期化するかどうかを判定し、初期化するかどうかの情報を符号化したが、この情報を符号化せず、フレームの符号化モード等に従って、初期化するかどうかを判定することも可能である。
【００８４】
また、動画像符号化装置に、フレーム符号化終了時に発生頻度情報を蓄積するかどうかを指定する情報を符号化する仕組みを備え、動画像復号装置に、この情報を復号する仕組みを備える構成も可能である。この構成では、無関係に発生頻度情報の蓄積をするかどうかを選択することができ、符号化効率がよくなるように、発生頻度を蓄積することができる。
【００８５】
また、本実施形態例ではフレームの符号化の例を示したが、インタレース動画像においてはフィールドの符号化に適用しても良い。また、本実施形態例ではフレーム間予測符号化を使用した動画像呼号化の動作を示したが、フレーム内符号化のみで構成される動画像符号化に適用しても良い。
【００８６】
次に、第３の実施形態例として、Ｂフレーム符号化終了時の発生頻度情報を蓄積するメモリを別途備え、次のＢフレーム符号化開始時に発生頻度情報の初期化を行うか、あるいは蓄積した２種類の発生頻度情報をうち、どちらを使うのかを選択する場合の例を示す。
【００８７】
動画像符号化装置の構成図を図５に示す。ＩフレームまたはＰフレーム内の全マクロブロックの算術符号化が終了した時の各Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度情報を蓄積する発生頻度蓄積部１０５と、Ｂフレーム符号化終了時に発生頻度情報を蓄積する発生頻度両方向蓄積部１１９と、ＩフレームまたはＰフレームの符号化開始時に、発生頻度蓄積部１０５に蓄積している発生頻度情報（以後Ｐ１と呼ぶ）と予め設定されている初期値のうち、どれが最も符号化効率が高いかを判定し、またＢフレームの符号化開始時に、発生頻度蓄積部１０５に蓄積している発生頻度情報（以後Ｐ１と呼ぶ）と発生頻度両方向蓄積部１１９に蓄積している発生頻度情報（以後Ｐ２と呼ぶ）と予め設定されている初期値のうち、どれが最も符号化効率が高いかを判定する発生頻度類似度判定部１１７と、発生頻度類似度に従って発生頻度をＰ１に設定するのかＰ２に設定するのか初期化するのかのいずれかを決定する初期化決定部１０８と、初期化したかどうか、また発生頻度をＰ１に設定したのかＰ２に設定したのかを示す初期化情報を符号化する初期化情報符号化部１１０と、マクロブロック毎に、動き補償を行うかどうかを示す符号化モードを決定する符号化モード決定部１０１と、動き補償を行う動き補償部１０２と、動き補償を行った場合には予測誤差をＤＣＴし、行わなかった場合には画像情報をＤＣＴし、ＤＣＴ係数を２次元可変長符号化する予測誤差符号化部１０３と、符号化モードと動きベクトルとＤＣＴ係数をＣｏｎｔｅｘｔ  Ｍｏｄｅｌ毎に２値化して算術符号化を行う算術符号化部１０４と、発生頻度情報を予め指定された値に初期化する発生頻度初期化部１０６と、発生頻度情報を発生頻度蓄積部１０５に蓄積されている値に設定する発生頻度指定部１０７と、発生頻度情報を発生頻度両方向蓄積部１１９に蓄積されている値に設定する発生頻度両方向指定部１１８と、で構成される。
【００８８】
発生頻度類似度判定部１１７と初期化情報符号化部１１０以外の動作は第２の実施形態例と同様である。発生頻度類似度判定部１１７では、現フレーム先頭マクロブロックを、発生頻度蓄積部１０５に蓄積された発生頻度情報を使って算術符号化した符号量Ｂ１と、発生頻度両方向蓄積部１１９に蓄積された発生頻度情報を使って算術符号化した符号量Ｂ２と、発生頻度情報を初期化して算術符号化した符号量Ｂ３を求める。初期化情報符号化部１１０では、ＩフレームまたはＰフレームの場合には、初期化情報として、予め設定した初期値で初期化するかどうかの情報１ビット（１の場合には初期化し、０の場合には初期化しない）を符号化する。Ｂフレームの場合には、この情報が０の場合には更に、発生頻度蓄積部１０５に蓄積された発生頻度情報を使うか、または発生頻度両方向蓄積部１１９に蓄積された発生頻度情報を使うのかを示す情報１ビットを符号化する。符号は前者の場合には０、後者の場合には１とする。発生頻度両方向蓄積部１１９に蓄積される発生頻度情報は予め指定された初期値に設定されているものとする。
【００８９】
このような前提の下で図７−（ｂ）の順序で動画像を符号化する場合の各部による処理の手順を示す。
【００９０】
第１フレームでは、Ｉフレームであるため全マクロブロックで符号化モード決定部１０１はイントラモードに決定し、画像情報をＤＣＴして２次元可変長符号化する。発生頻度情報を予め設定した初期値で初期化する。初期化情報として１を符号化する。算術符号化部１０４は各マクロブロックの符号化モードと２次元可変長符号化データを算術符号化する。最後のマクロブロックを算術符号化した後、発生頻度蓄積部１０５は発生頻度情報を蓄積する。動きベクトルに関する発生頻度情報としては、発生頻度初期化部１０６に設定されている初期値を蓄積する。
【００９１】
第２フレームでは、Ｐフレームであるため符号化モード決定部１０１はイントラモードまたは前予測モードに決定する。イントラモードの場合には画像情報をＤＣＴして２次元可変長符号化する。前予測モードの場合には動き補償し、予測誤差をＤＣＴして２次元可変長符号化する。発生頻度類似度判定部１１７は、先頭マクロブロックの符号化モードと動きベクトルと２次元可変長符号化データを、２種類の初期値で算術符号化し発生符号量（Ｂ１，Ｂ３）を求める。イントラモードでは動きベクトルを算術符号化しない。初期化決定部１０８は、Ｂ１，Ｂ３を比較し発生符号量の少ない方を選択し初期値に決定する。発生頻度初期化部１０６と、発生頻度指定部１０７のうち、初期値として選択されたものを実行し、算術符号化部１０４の初期値とする。算術符号化部１０４は各マクロブロックの符号化モードと動きベクトルと２次元可変長符号化データを算術符号化する。イントラモードでは動きベクトルを算術符号化しない。最後のマクロブロックを算術符号化した後、発生頻度蓄積部１０５は現フレームの発生頻度情報を蓄積する。
【００９２】
第３フレームでは、Ｂフレームであるため符号化モード決定部１０１はイントラモードまたは前予測モードまたは後予測モードまたは両予測モードに決定する。イントラモードの場合には画像情報をＤＣＴして２次元可変長符号化する。前予測モードまたは後予測モードまたは両予測モードの場合には動き補償し、予測誤差をＤＣＴして２次元可変長符号化する。発生頻度類似度判定部１１７は、先頭マクロブロックの符号化モードと動きベクトルと２次元可変長符号化データを、３種類の初期値で算術符号化し発生符号量（Ｂ１，Ｂ２，Ｂ３）を求める。イントラモードでは動きベクトルを算術符号化しない。初期化決定部１０８は、Ｂ１，Ｂ２，Ｂ３を比較し発生符号量の少ないものを選択し初期値に決定する。発生頻度初期化部１０６と、発生頻度指定部１０７と、発生頻度両方向指定部１１８のうち、初期値として選択されたものを実行し、算術符号化部１０４の初期値とする。算術符号化部１０４は各マクロブロックの符号化モードと２種類の動きベクトル（前方向動きベクトルと後方向動きベクトル）と２次元可変長符号化データを算術符号化する。イントラモードでは動きベクトルを算術符号化しない。前予測モードでは後方向動きベクトルを算術符号化せず、後予測モードでは前方向動きベクトルを算術符号化しない。最後のマクロブロックを算術符号化した後、発生頻度両方向蓄積部１１９は現フレームの発生頻度情報を蓄積する。
【００９３】
第４フレームはＢフレームであるため第３フレームと同様な処理を行う。第５フレームはＰフレームであるため第２フレームと同様な処理を行う。第６、第７フレームはＢフレームであるため第３フレームと同様な処理を行う。
【００９４】
以上の処理により図７−（ｂ）の順序で７枚のフレームを符号化する。
【００９５】
次に、ここで作成された符号化データを復号する手順を示す。
【００９６】
動画像復号装置の構成例を図６に示す。ＩフレームまたはＰフレーム内の全マクロブロックの算術復号が終了した時の各Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌの発生頻度情報を蓄積する発生頻度蓄積部１０５と、Ｂフレーム復号終了時に発生頻度情報を蓄積する発生頻度両方向蓄積部１１９と、発生頻度情報を予め設定した初期値で初期化するかどうか、発生頻度蓄積部１０５に蓄積されている発生頻度情報（Ｐ１）で初期化するか、発生頻度両方向蓄積部１１９に蓄積されている発生頻度情報（Ｐ２）で初期化するかどうかを示す初期化情報を復号する初期化情報復号部１１４と、マクロブロック毎に、符号化モードと動きベクトルとＤＣＴ係数２次元可変長符号を算術復号する算術復号部１１１と、符号化モードから動きベクトルを算術復号するかどうかを決定する符号化モード判定部１１２と、２次元可変長符号からＤＣＴ係数を復号する予測誤差復号部１１３と、符号化モードで動き補償をすると判定された場合には動き補償を行う動き補償部１０２と、発生頻度情報を予め指定された値に初期化する発生頻度初期化部１０６と、発生頻度情報を発生頻度蓄積部１０５に蓄積されている値に設定する発生頻度指定部１０７と、発生頻度情報を発生頻度両方向蓄積部１１９に蓄積されている値に設定する発生頻度両方向指定部１１８と、で構成される。発生頻度両方向蓄積部１１９に蓄積される発生頻度情報は予め指定された初期値に設定されているものとする。
【００９７】
このような構成の元で次のように復号される。
【００９８】
第１フレームで、まず初期化情報を復号する。初期化情報により、発生頻度初期化部１０６により算術復号部１１１で使用する発生頻度の初期値を予め設定されている初期値に設定する。続いてマクロブロック毎に次のように復号される。算術復号部１１１は符号化モードを復号する。符号化モード判定部１１２は、符号化モードがイントラモードであるため動きベクトルを復号しないと判定する。算術復号部１１１は動きベクトルを復号しない。算術復号部１１１は２次元可変長符号を復号する。予測誤差復号部１１３は２次元可変長符号を復号して画像情報を求める。以上の処理を全てのマクロブロックに対して行う。最後のマクロブロックを算術復号した後、発生頻度蓄積部１０５は発生頻度情報を蓄積する。動きベクトルに関する発生頻度情報としては、発生頻度初期化部１０６に設定されている初期値を蓄積する。
【００９９】
第２フレームで、まず初期化情報を復号する。初期化情報に従って、発生頻度蓄積部１０５に蓄積されている発生頻度を発生頻度指定部１０７により算術復号部１１１で使用する発生頻度の初期値に設定するか、または発生頻度初期化部１０６により算術復号部１１１で使用する発生頻度の初期値を予め設定されている初期値に設定するかの何れかを行う。続いてマクロブロック毎に次のように復号される。算術復号部１１１は符号化モードを復号する。符号化モード判定部１１２は、符号化モードがイントラモードである場合には動きベクトルを復号しないと判定する。この場合、算術復号部１１１は動きベクトルを復号しない。符号化モードが前予測モードである場合には動きベクトルを復号すると判定する。この場合、算術復号部１１１は動きベクトルを復号する。続いて算術復号部１１１は２次元可変長符号を復号する。符号化モードがイントラモードの場合、予測誤差復号部１１３は２次元可変長符号を復号して画像情報を求める。符号化モードが前予測モードの場合、予測誤差復号部１１３は２次元可変長符号を復号して予測誤差を求め、動き補償部１０２は動きベクトルを使って予測画像と予測誤差から画像情報を求める。以上の処理を全てのマクロブロックに対して行う。最後のマクロブロックを算術復号した後、発生頻度蓄積部１０５は現フレームの発生頻度情報を蓄積する。
【０１００】
第３フレームで、まず初期化情報を復号する。初期化情報に従って、発生頻度蓄積部１０５に蓄積されている発生頻度を発生頻度指定部１０７により算術復号部１１１で使用する発生頻度の初期値に設定するか、または発生頻度両方向蓄積部１１９に蓄積されている発生頻度を発生頻度両方向指定部１１８により算術復号部１１１で使用する発生頻度の初期値に設定するか、または発生頻度初期化部１０６により算術復号部１１１で使用する発生頻度の初期値を予め設定されている初期値に設定するかの何れかを行う。続いてマクロブロック毎に次のように復号される。算術復号部１１１は符号化モードを復号する。符号化モード判定部１１２は、符号化モードがイントラモードである場合には動きベクトルを復号しないと判定する。この場合、算術復号部１１１は動きベクトルを復号しない。符号化モードが前予測モードまたは後予測モードである場合には１つ動きベクトルを復号すると判定する。この場合、算術復号部１１１は１つ動きベクトルを復号する。符号化モードが両予測モードである場合には２つ動きベクトルを復号すると判定する。この場合、算術復号部１１１は２つ動きベクトルを復号する。続いて算術復号部１１１は２次元可変長符号を復号する。符号化モードがイントラモードの場合、予測誤差復号部１１３は２次元可変長符号を復号して画像情報を求める。符号化モードが前予測モードまたは後予測モードまたは両予測モードの場合、予測誤差復号部１１３は２次元可変長符号を復号して予測誤差を求め、動き補償部１０２は動きベクトルを使って予測画像と予測誤差から画像情報を求める。以上の処理を全てのマクロブロックに対して行う。最後のマクロブロックを算術復号した後、発生頻度両方向蓄積部１１８は現フレームの発生頻度情報を蓄積する。
【０１０１】
第４フレームはＢフレームであるため第３フレームと同様な処理を行う。第５フレームはＰフレームであるため第２フレームと同様な処理を行う。第６、第７フレームはＢフレームであるため第３フレームと同様な処理を行う。
【０１０２】
以上の処理により図７−（ｂ）の順序で７枚のフレームを復号する。
【０１０３】
以上のように第３の実施形態例によれば、ＩまたはＰフレーム符号化時に算術符号化の発生頻度情報を初期化するかどうか、または過去に符号化したＩまたはＰフレームの発生頻度情報を使って初期化するかどうかを決定しながら、さらにＢフレーム符号化時に算術符号化の発生頻度情報を初期化するかどうか、または過去に符号化した２フレームの発生頻度情報のうちどちらを使って初期化するかどうかを決定しながら、最も符号化効率が高くなるように動画像を符号化することができる。また初期化するかどうか、また過去に符号化した２フレームの発生頻度情報のうちどちらを使って初期化するのかを示す情報を符号化データ中に含めるため、復号側でも正確に算術復号を行え、復号画像を得ることができる。
【０１０４】
なお、本実施形態例では、初期化情報を符号化したが、これを符号化せず、フレームの符号化モードや符号化したフレーム数に従って、初期化方法を判定することも可能である。例えば、第１フレームのＩフレームのみ予め設定された初期値により初期化を行い、途中の第２フレームと第５フレームのＰフレームと、第３フレームと第６フレームのＢフレームでは発生頻度蓄積部１０５に蓄積された発生頻度により初期化を行い、第４フレームと第７フレームのＢフレームでは発生頻度両方向蓄積部１１９に蓄積された発生頻度により初期化を行うこともできる。この場合には初期化するかどうかの情報を符号化しなくてもよく、符号化効率を向上させることができる。また特定の符号化モードのフレームのみ、初期化するかどうかの情報を符号化する方法も可能である。
【０１０５】
この方法によれば、動画像の早送り再生の時に、途中のＢフレームを復号せずにＩフレームとＰフレームのみ復号することが可能である。第２の実施形態例と異なり、この構成では、第４フレームのＢフレームの符号化に第３フレームのＢフレーム符号化終了時の発生頻度情報を使うこともできる。
【０１０６】
なお、動画像符号化装置に、フレーム符号化終了時に発生頻度情報を蓄積するかどうかを指定する情報を符号化する仕組みを備え、動画像復号装置に、この情報を復号する仕組みを備えると、発生頻度情報の蓄積をするかどうかを選択することができ、符号化効率がよくなるように、発生頻度を蓄積することができる。
【０１０７】
また、本実施形態例ではフレームの符号化の例を示したが、インタレース動画像においてはフィールドの符号化に適用しても良い。
【０１０８】
なお、図１〜図６で示した装置における各部の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、あるいは、これらの図を用いて説明した処理の手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラム、あるいは、コンピュータにその処理の手順を実行させるためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えば、ＦＤ（フロッピーディスク（登録商標））や、ＭＯ、ＲＯＭ、メモリカード、ＣＤ、ＤＶＤ、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【０１０９】
【発明の効果】
本発明によれば、Ｃｏｎｔｅｘｔ  Ｍｏｄｅｌを使った算術符号化を使用して動画像を符号化する場合に、フレーム毎またはフィールド毎に発生頻度を初期化するかどうかを選択することができる。そのため、時間方向の相関性が高いフレーム間では、前フレームで安定した発生頻度を使用することができ、符号化効率を向上させることができる。
【０１１０】
また、フレームの符号化モードにより発生頻度を初期化するかどうかを選択する場合には、初期化するかどうかの情報を符号化せずに、復号側に初期化するかどうかを指定することができる。
【０１１１】
また、フレームまたはフィールドの符号化モードまたはＧＯＰの先頭かどうかの情報を使う場合には、初期化するかどうかの情報を符号化せずに、復号側に初期化するかどうかを指定することができる。
【０１１２】
また、フレームまたはフィールド開始時に、蓄積しておいた発生頻度の中から符号量の少ない発生頻度の方を選択して使用することができ、符号化効率を向上させることができる。
【０１１３】
また、同タイプのフレームまたはフィールドの終了時の発生頻度情報を用いて初期化することができ、符号化効率を向上させることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態例における画像符号化装置の構成図
【図２】本発明の第１の実施形態例における画像復号装置の構成図
【図３】本発明の第２の実施形態例における画像符号化装置の構成図
【図４】本発明の第２の実施形態例における画像復号装置の構成図
【図５】本発明の第３の実施形態例における画像符号化装置の構成図
【図６】本発明の第３の実施形態例における面像復号装置の構成図
【図７】予測関係の例の説明図
【符号の説明】
１０１…符号化モード決定部
１０２…動き補償部
１０３…予測誤差符号化部
１０４…算術符号化部
１０５…発生頻度蓄積部
１０６…発生頻度初期化部
１０７…発生頻度指定部
１０８…初期化決定部
１０９…フレーム類似度判定部
１１０…初期化情報符号化部
１１１…算術復号部
１１２…符号化モード判定部
１１３…予測誤差復号部
１１４…初期化情報復号部
１１５…発生頻度予備指定部
１１６…発生頻度予備蓄積部
１１７…発生頻度類似度判定部
１１８…発生頻度両方向指定部
１１９…発生頻度両方向蓄積部
【図１】
0003864098.tif 000002
【図２】
0003864098.tif 000003
【図３】
0003864098.tif 000004
【図４】
0003864098.tif 000005
【図５】
0003864098.tif 000006
【図６】
0003864098.tif 000007
【図７】
0003864098.tif 000008