(57)【要約】【課題】予測動きベクトルの最適化によって符号化効率や画質の改善をはかる。【解決手段】第１復号化処理部５２１は、符号化ストリームを復号化して差分動きベクトルを得る。第２復号化処理部５２２は、符号化ストリームを復号化して予測動きベクトル選択情報を得る。動きベクトル選択部５２５は、復号化対象のブロックに対して予測動きベクトルの候補を設定して、該候補から予測動きベクトル選択情報で示された動きベクトルを予測動きベクトルとして選択する。加算部５２６は、差分動きベクトルと予測動きベクトルを加算して復号化対象のブロックの動きベクトルを算出する。予測動きベクトルを最適化して符号化効率や画質を改善する。【選択図】        図１２
2011259204.tif 000002
【特許請求の範囲】
【請求項１】
符号化ストリームを復号化して差分動きベクトルを得る第１復号化処理部と、
前記符号化ストリームを復号化して予測動きベクトル選択情報を得る第２復号化処理部と、
復号化対象のブロックに対して予測動きベクトルの候補を設定して、該候補から前記予測動きベクトル選択情報で示された動きベクトルを予測動きベクトルとして選択する動きベクトル選択部と、
前記差分動きベクトルと前記予測動きベクトルを加算して前記復号化対象のブロックの動きベクトルを算出する加算部と
を有する画像復号化装置。
【請求項２】
前記動きベクトル選択部は、前記復号化対象のブロックに隣接する復号化済みの隣接ブロックの動きベクトルを用いて前記予測動きベクトルの候補を設定する請求項１記載の画像復号化装置。
【請求項３】
前記第２復号化処理部は、前記符号化ストリームを復号化して前記復号化対象のブロックのサイズを取得し、
前記動きベクトル選択部は、前記復号化対象のブロックのサイズに応じてケース分けを行い、ケースごとに前記予測動きベクトルの候補を設定する請求項２記載の画像復号化装置。
【請求項４】
前記動きベクトル選択部は、前記復号化対象のブロックのサイズが大きいとき、ブロックサイズが小さい場合に比べて予測動きベクトルの候補を多くする請求項３記載の画像復号化装置。
【請求項５】
前記隣接ブロックの動きベクトルの相違に応じてケース分けを行うケース分類部をさらに有し、
前記動きベクトル選択部は、前記ケース分類部で判別されたケースごとに前記予測動きベクトルの候補を設定する請求項２記載の画像復号化装置。
【請求項６】
前記動きベクトル選択部は、予め設定されている閾値を超える相違を生じた動きベクトルのそれぞれを前記予測動きベクトルの候補とする請求項５記載の画像復号化装置。
【請求項７】
符号化ストリームを復号化して差分動きベクトルを得る工程と、
前記符号化ストリームを復号化して予測動きベクトル選択情報を得る工程と、
復号化対象のブロックに対して予測動きベクトルの候補を設定して、該候補から前記予測動きベクトル選択情報で示された動きベクトルを予測動きベクトルとして選択する工程と、
前記差分動きベクトルと前記予測動きベクトルを加算して前記復号化対象のブロックの動きベクトルを算出する工程と
を設けた画像復号化方法。
【請求項８】
画像復号化をコンピュータで実行させるプログラムであって、
符号化ストリームを復号化して差分動きベクトルを得る手順と、
前記符号化ストリームを復号化して予測動きベクトル選択情報を得る手順と、
復号化対象のブロックに対して予測動きベクトルの候補を設定して、該候補から前記予測動きベクトル選択情報で示された動きベクトルを予測動きベクトルとして選択する手順と、
前記差分動きベクトルと前記予測動きベクトルを加算して前記復号化対象のブロックの動きベクトルを算出する手順と
を前記コンピュータで実行させるプログラム。
【請求項９】
符号化対象のブロックに対して予測動きベクトルの候補を設定して、該候補から符号化効率が最良となる動きベクトルを予測動きベクトルとして選択する動きベクトル選択部と、
前記動きベクトル選択部で選択された前記予測動きベクトルと前記符号化対象のブロックの動きベクトルとの差分を示す差分動きベクトルの符号化を行う第１符号化処理部と、
前記予測動きベクトルの候補からいずれの動きベクトルが選択されたかを示す予測動きベクトル選択情報の符号化を行う第２符号化処理部と
を有する画像符号化装置。
【請求項１０】
前記動きベクトル選択部は、前記符号化対象のブロックに隣接する符号化済みの隣接ブロックの動きベクトルを用いて前記予測動きベクトルの候補を設定する請求項９記載の画像符号化装置。
【請求項１１】
前記動きベクトル選択部は、前記符号化対象のブロックのサイズに応じてケース分けを行い、ケースごとに前記予測動きベクトルの候補を設定する請求項１０記載の画像符号化装置。
【請求項１２】
前記動きベクトル選択部は、前記符号化対象のブロックのサイズが大きいとき、ブロックサイズが小さい場合に比べて予測動きベクトルの候補を多くする請求項１１記載の画像符号化装置。
【請求項１３】
前記動きベクトル選択部は、前記隣接ブロックの動きベクトルを選択的に複数用いて前記予測動きベクトルの候補とし、該候補とする動きベクトルの選択では、隣接ブロックの中で互いに離れているブロックの動きベクトルを選択する請求項１２記載の画像符号化装置。
【請求項１４】
前記隣接ブロックの動きベクトルの相違に応じてケース分けを行うケース分類部をさらに有し、
前記動きベクトル選択部は、前記ケース分類部で判別されたケースごとに前記予測動きベクトルの候補を設定する請求項１０記載の画像符号化装置。
【請求項１５】
前記動きベクトル選択部は、予め設定されている閾値を超える相違を生じた動きベクトルのそれぞれを前記予測動きベクトルの候補とする請求項１４記載の画像符号化装置。
【請求項１６】
前記第２符号化処理部は、前記予測動きベクトルの候補が複数であるとき、該候補からいずれの動きベクトルが選択されたかを示す予測動きベクトル選択情報の符号化を行う請求項９記載の画像符号化装置。
【請求項１７】
前記予測動きベクトルの候補ごとに発生確率を予め求めておき、
前記第２符号化処理部は、発生確率の高い動きベクトルを示す予測動きベクトル選択情報は、発生確率の低い動きベクトルを示す予測動きベクトル選択情報に比べて割り当てる符号量を少なくする請求項９記載の画像符号化装置。
【請求項１８】
符号化対象のブロックに対して予測動きベクトルの候補を設定して、該候補から符号化効率が最良となる動きベクトルを予測動きベクトルとして選択する工程と、
前記選択された予測動きベクトルと前記符号化対象のブロックの動きベクトルとの差分を示す差分動きベクトルの符号化を行う工程と、
前記予測動きベクトルの候補からいずれの動きベクトルが選択されたかを示す予測動きベクトル選択情報の符号化を行う工程と
を設けた画像符号化方法。
【請求項１９】
画像符号化をコンピュータで実行させるプログラムであって、
符号化対象のブロックに対して予測動きベクトルの候補を設定して、該候補から符号化効率が最良となる動きベクトルを予測動きベクトルとして選択する手順と、
前記選択された予測動きベクトルと前記符号化対象のブロックの動きベクトルとの差分を示す差分動きベクトルの符号化を行う手順と、
前記予測動きベクトルの候補からいずれの動きベクトルが選択されたかを示す予測動きベクトル選択情報の符号化を行う手順と
を前記コンピュータで実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像復号化装置と画像符号装置およびその方法とプログラムに関する。詳しくは、予測動きベクトルの最適化によって符号化効率と画質の改善をはかる。
【背景技術】
【０００２】
近年、画像情報をディジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を行う装置、例えば離散コサイン変換等の直交変換と動き補償により圧縮するＭＰＥＧなどの方式に準拠した装置が、放送局や一般家庭において普及しつつある。
【０００３】
特に、ＭＰＥＧ２（ＩＳＯ／ＩＥＣ１３８１８−２）は、汎用画像符号化方式として定義されており、プロフェッショナル用途およびコンシューマー用途の広範なアプリケーションに現在広く用いられている。このＭＰＥＧ２圧縮方式を用いることにより、例えば７２０×４８０画素を持つ標準解像度の飛び越し走査画像であれば、４〜８Ｍｂｐｓ符号量（ビットレート）を割り当てることで良好な画質の実現が可能である。また、１９２０×１０８８画素を持つ高解像度の飛び越し走査画像であれば１８〜２２Ｍｂｐｓの符号量（ビットレート）を割り当てることで良好な画質の実現が可能である。
【０００４】
ＭＰＥＧ２は主として放送用に適合する高画質符号化を対象としていたが、ＭＰＥＧ１より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してＭＰＥＧ４符号化方式の標準化が行われた。画像符号化方式に関しては、１９９８年１２月にＩＳＯ／ＩＥＣ１４４９６−２としてその規格が国際標準に承認された。
【０００５】
さらに、近年、当初テレビ会議用の画像符号化を目的として、Ｈ.２６Ｌ（ＩＴＵ−Ｔ  Ｑ６／１６  ＶＣＥＧ）という標準の規格化が進んでいる。Ｈ．２６ＬはＭＰＥＧ２やＭＰＥＧ４といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、ＭＰＥＧ４の活動の一環として、このＨ．２６Ｌをベースに、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。標準化のスケジュールとしては、２００３年３月にはＨ．２６４およびＭＰＥＧ−４  Ｐａｒｔ１０  （以下「Ｈ．２６４／ＡＶＣ(Advanced Video Coding)」と記す）という名の下に国際標準となった。
【０００６】
また、Ｈ．２６４／ＡＶＣ方式では、複数のブロックサイズの各々について動きベクトルの探索を行うことから演算量が膨大になり、処理時間の長期化、並びに演算回路に高い処理能力が要求される。このため、特許文献１の発明では、隣接ブロックの動きベクトルのメディアンを予測動きベクトルとして用いることにより、動きベクトルの探索に伴う処理時間の短縮、並びに演算量の削減がはかられている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−０２５０３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、画像データの符号化では、符号化対象のブロックの動きベクトルと予測動きベクトルとの差分を取り、その差分動きベクトルを符号化してストリーム情報に含めることで、符号量の削減が行われている。ここで、Ｈ．２６４／ＡＶＣ方式のように隣接ブロックの動きベクトルの中央値（メディアン）を予測動きベクトルとして用いる場合、必ずしも中央値が最適な予測動きベクトルとは限らない。
【０００９】
図１は、従来の予測動きベクトルの決定方法を説明するための図である。なお、符号化対象のブロックと隣接する隣接ブロックの中で、符号化対象のブロックを符号化処理するときに、既に符号化処理が行われている符号化済みのブロック、例えば左側の隣接ブロックの動きベクトルを動きベクトルＭＶ＿Ａとする。また、上側および右上側の隣接ブロックの動きベクトルをそれぞれ動きベクトルＭＶ＿Ｂ，ＭＶ＿Ｃとする。
【００１０】
図１の（Ａ）に示すように、予測ブロックサイズ（動き補償ブロックサイズ）が小さいとき、隣接ブロックの動きベクトルＭＶ＿Ａ，ＭＶ＿Ｂ，ＭＶ＿Ｃは、符号化対象のブロックの動きベクトルＭＶｏｂとの差が少ない場合が多い。すなわち、中央値ＭＶ＿mdを用いたとき予測精度が高い。しかし、図１の（Ｂ）に示すように、予測ブロックサイズが大きいとき、隣接ブロックでは符号化対象のブロックから離れている領域が含まれることになる。このため、中央値ＭＶ＿mdと符号化対象のブロックの動きベクトルＭＶｏｂとの差が大きい場合が生じて、予測ブロックサイズが小さい場合に比べて、予測精度が低下するおそれがある。
【００１１】
そこで、この発明では、予測動きベクトルの最適化によって符号化効率と画質の改善をはかることができる画像復号化装置と画像符号装置およびその方法とプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
この発明の第１の側面は、符号化ストリームを可逆復号化して差分動きベクトルを得る第１復号化処理部と、前記符号化ストリームを可逆復号化して予測動きベクトル選択情報を得る第２復号化処理部と、復号化対象のブロックに対して予測動きベクトルの候補を設定して、該候補から前記予測動きベクトル選択情報で示された動きベクトルを予測動きベクトルとして選択する動きベクトル選択部と、前記差分動きベクトルと前記予測動きベクトルを加算して前記復号化対象のブロックの動きベクトルを算出する加算部とを有する画像復号化装置にある。
【００１３】
この発明では、復号化対象のブロックに対して、このブロックに隣接する復号化済みの隣接ブロックの動きベクトルを用いて予測動きベクトルの候補が設定される。また、予測動きベクトルの候補は、例えば符号化対象のブロックのサイズに応じてケース分けが行われてケースごとに設定される。ここで、ブロックのサイズが大きいときは、ブロックサイズが小さい場合に比べて予測動きベクトルの候補が多く設定される。また、例えば復号化済みの隣接ブロックの動きベクトルの相違に応じてケース分けが行われてケースごとに予測動きベクトルの候補が設定される。また、閾値を超える相違を生じた動きベクトルは、それぞれ予測動きベクトルの候補とされる。この候補の中から、符号化ストリームを復号化して得られた予測動きベクトル選択情報で示された動きベクトルが予測動きベクトルとして選択される。この予測動きベクトルと符号化ストリームを復号化して得られた差分動きベクトルを加算して復号化対象のブロックの動きベクトルが算出される。
【００１４】
この発明の第２の側面は、符号化ストリームを復号化して差分動きベクトルを得る工程と、前記符号化ストリームを復号化して予測動きベクトル選択情報を得る工程と、復号化対象のブロックに対して予測動きベクトルの候補を設定して、該候補から前記予測動きベクトル選択情報で示された動きベクトルを予測動きベクトルとして選択する工程と、前記差分動きベクトルと前記予測動きベクトルを加算して前記復号化対象のブロックの動きベクトルを算出する工程とを設けた画像復号化方法にある。
【００１５】
この発明の第３の側面は、画像復号化をコンピュータで実行させるプログラムであって、符号化ストリームを復号化して差分動きベクトルを得る手順と、前記符号化ストリームを復号化して予測動きベクトル選択情報を得る手順と、復号化対象のブロックに対して予測動きベクトルの候補を設定して、該候補から前記予測動きベクトル選択情報で示された動きベクトルを予測動きベクトルとして選択する手順と、前記差分動きベクトルと前記予測動きベクトルを加算して前記復号化対象のブロックの動きベクトルを算出する手順とを前記コンピュータで実行させるプログラムにある。
【００１６】
この発明の第４の側面は、符号化対象のブロックに対して予測動きベクトルの候補を設定して、該候補から符号化効率が最良となる動きベクトルを予測動きベクトルとして選択する動きベクトル選択部と、前記動きベクトル選択部で選択された前記予測動きベクトルと前記符号化対象のブロックの動きベクトルとの差分を示す差分動きベクトルの符号化を行う第１符号化処理部と、前記予測動きベクトルの候補からいずれの動きベクトルが選択されたかを示す予測動きベクトル選択情報の符号化を行う第２符号化処理部とを有する画像符号化装置にある。
【００１７】
この発明では、符号化対象のブロックに対して、このブロックに隣接する符号化済みの隣接ブロックの動きベクトルを用いて予測動きベクトルの候補が設定される。また、予測動きベクトルの候補は、例えば符号化対象のブロックのサイズに応じてケース分けが行われてケースごとに設定される。ここで、ブロックのサイズが大きいときは、ブロックサイズが小さい場合に比べて予測動きベクトルの候補が多く設定される。また、例えば隣接ブロックの動きベクトルの相違に応じてケース分けが行われて、ケースごとに予測動きベクトルの候補が設定される。また、閾値を超える相違を生じた動きベクトルが、それぞれ予測動きベクトルの候補とされる。この候補から予測動きベクトルが選択されて、選択された予測動きベクトルと符号化対象のブロックの動きベクトルとの差分を示す差分動きベクトルが符号化される。また、予測動きベクトルの候補が複数であるとき、複数の候補からいずれの動きベクトルが選択されたかを示す予測動きベクトル選択情報が符号化される。さらに、候補からの予測動きベクトルの選択では、符号化効率が最良となる動きベクトルが予測動きベクトルとして選択される。
【００１８】
この発明の第５の側面は、符号化対象のブロックに対して予測動きベクトルの候補を設定して、該候補から符号化効率が最良となる動きベクトルを予測動きベクトルとして選択する工程と、前記選択された予測動きベクトルと前記符号化対象のブロックの動きベクトルとの差分を示す差分動きベクトルの符号化を行う工程と、前記予測動きベクトルの候補からいずれの動きベクトルが選択されたかを示す予測動きベクトル選択情報の符号化を行う工程とを設けた画像符号化方法にある。
【００１９】
この発明の第６の側面は、画像符号化をコンピュータで実行させるプログラムであって、符号化対象のブロックに対して予測動きベクトルの候補を設定して、該候補から符号化効率が最良となる動きベクトルを予測動きベクトルとして選択する手順と、前記選択された予測動きベクトルと前記符号化対象のブロックの動きベクトルとの差分を示す差分動きベクトルの符号化を行う手順と、前記予測動きベクトルの候補からいずれの動きベクトルが選択されたかを示す予測動きベクトル選択情報の符号化を行う手順とを前記コンピュータで実行させるプログラムにある。
【００２０】
なお、本発明のプログラムは、例えば、様々なプログラムを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、または、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【発明の効果】
【００２１】
この発明によれば、画像の復号化では、復号化対象のブロックに対して、このブロックと復号化済みの隣接ブロックの動きベクトルを用いて予測動きベクトルの候補が設定される。また、符号化ストリームを可逆復号化して得られた予測動きベクトル選択情報で示された動きベクトルが候補から選択されて予測動きベクトルとされる。この予測動きベクトルと符号化ストリームを可逆復号化して得られた差分動きベクトルを加算して復号化対象のブロックの動きベクトルが算出される。また、画像の符号化では、符号化対象のブロックに対して予測動きベクトルの候補が設定されて、この候補から符号化効率が最良となる動きベクトルが予測動きベクトルとして選択される。また、予測動きベクトルと符号化対象のブロックの動きベクトルとの差分を示す差分動きベクトルと、候補からいずれの動きベクトルが選択されたかを示す予測動きベクトル選択情報の符号化が行われる。このように、予測動きベクトルの候補から符号化効率が最良となる動きベクトルが選択されて用いられるので、動きベクトルの伝送に要する符号量の削減が可能となり、符号化効率を改善できる。また、動きベクトルの伝送に要する符号量の削減に伴い、量子化データのビットレートを高めることが可能となり画質の改善をはかることができる。
【図面の簡単な説明】
【００２２】
【図１】従来の予測動きベクトルの決定方法を説明するための図である。
【図２】画像符号化装置の構成を示した図である。
【図３】予測ブロックサイズに応じたケース分類とケースごとの予測動きベクトルの候補を説明するための図である。
【図４】可逆符号化部における動きベクトルに関する構成を示す図である。
【図５】画像符号化処理で用いる予測ブロックサイズを示した図である。
【図６】画像符号化処理動作を示すフローチャートである。
【図７】予測処理を示すフローチャートである。
【図８】イントラ予測処理を示すフローチャートである。
【図９】インター予測処理を示すフローチャートである。
【図１０】可逆符号化部で行われる動きベクトルに関する符号化処理を示すフローチャートである。
【図１１】画像復号化装置の構成を示した図である。
【図１２】可逆復号化部における動きベクトルに関する構成を示す図である。
【図１３】画像復号化処理動作を示すフローチャートである。
【図１４】可逆復号化部で行われる動きベクトルに関する復号化処理を示すフローチャートである。
【図１５】予測処理を示すフローチャートである。
【図１６】隣接ブロックの動きベクトルの違い応じたケース分類とケースごとの予測動きベクトルの候補を説明するための図である。
【図１７】可逆符号化部における動きベクトルに関する他の構成を示す図である。
【図１８】可逆符号化部で行われる動きベクトルに関する他の符号化処理を示すフローチャートである。
【図１９】可逆復号化部における動きベクトルに関する構成を示す図である。
【図２０】可逆復号化部で行われる動きベクトルに関する他の復号化処理を示すフローチャートである。
【図２１】同等の動きを生じているブロックの連続性に応じたケース分類を説明するための図である。
【図２２】ケースごとの予測動きベクトルの候補を示す図である。
【図２３】可逆符号化部で行われる動きベクトルに関する他の符号化処理を示すフローチャートである。
【図２４】可逆復号化部で行われる動きベクトルに関する他の復号化処理を示すフローチャートである。
【図２５】予測動きベクトルの候補ごとの発生確率を例示した図である。
【図２６】テレビジョン装置の概略構成を例示した図である。
【図２７】携帯電話機の概略構成を例示した図である。
【図２８】記録再生装置の概略構成を例示した図である。
【図２９】撮像装置の概略構成を例示した図である。
【発明を実施するための形態】
【００２３】
以下、発明を実施するための形態について説明する。なお、説明は以下の順序で行う。
１．画像符号化装置の構成
２．動きベクトルの予測方法
３．可逆符号化部の構成
４．画像符号化装置の動作
５．画像復号化装置の構成
６．可逆復号化部の構成
７．画像復号化装置の動作
８．動きベクトルの他の予測方法
９．可逆符号化部の他の構成
１０．他の構成の可逆符号化部の動作
１１．可逆復号化部の他の構成
１２．他の構成の可逆復号化部の動作
１３．動きベクトルの他の予測方法
１４．可逆符号化部の他の構成と動作
１５．可逆復号化部の他の構成と動作
１６．予測動きベクトル識別情報の符号化処理
１７．ソフトウェア処理の場合
１８．電子機器に適用した場合
【００２４】
＜１．画像符号化装置の構成＞
図２は、画像符号化装置の構成を示している。画像符号化装置１０は、アナログ／ディジタル変換部（Ａ／Ｄ変換部）１１、画面並び替えバッファ１２、減算部１３、直交変換部１４、量子化部１５、可逆符号化部１６、蓄積バッファ１７、レート制御部１８を備えている。さらに、画像符号化装置１０は、逆量子化部２１、逆直交変換部２２、加算部２３、デブロッキングフィルタ２４、フレームメモリ２５、セレクタ２６、イントラ予測部３１、動き予測・補償部３２、予測画像・最適モード選択部３３を備えている。
【００２５】
Ａ／Ｄ変換部１１は、アナログの画像信号をディジタルの画像データに変換して画面並べ替えバッファ１２に出力する。
【００２６】
画面並べ替えバッファ１２は、Ａ／Ｄ変換部１１から出力された画像データに対してフレームの並べ替えを行う。画面並べ替えバッファ１２は、符号化処理に係るＧＯＰ（Group of Pictures）構造に応じてフレームの並べ替えを行い、並べ替え後の画像データを減算部１３とイントラ予測部３１と動き予測・補償部３２に出力する。
【００２７】
減算部１３には、画面並べ替えバッファ１２から出力された画像データと、後述する予測画像・最適モード選択部３３で選択された予測画像データが供給される。減算部１３は、画面並べ替えバッファ１２から出力された画像データと予測画像・最適モード選択部３３から供給された予測画像データとの差分である予測誤差データを算出して、直交変換部１４に出力する。
【００２８】
直交変換部１４は、減算部１３から出力された予測誤差データに対して、離散コサイン変換（DCT；Discrete Cosine Transform）、カルーネン・レーベ変換等の直交変換処理を行う。直交変換部１４は、直交変換処理を行うことにより得られた変換係数データを量子化部１５に出力する。
【００２９】
量子化部１５には、直交変換部１４から出力された変換係数データと、後述するレート制御部１８からレート制御信号が供給されている。量子化部１５は変換係数データの量子化を行い、量子化データを可逆符号化部１６と逆量子化部２１に出力する。また、量子化部１５は、レート制御部１８からのレート制御信号に基づき量子化パラメータ（量子化スケール）を切り替えて、量子化データのビットレートを変化させる。
【００３０】
可逆符号化部１６には、量子化部１５から出力された量子化データと、後述するイントラ予測部３１と動き予測・補償部３２および予測画像・最適モード選択部３３から予測モード情報が供給される。なお、予測モード情報には、イントラ予測またはインター予測に応じて、予測ブロックサイズを示すマクロブロックタイプ、予測モード、動きベクトル情報、参照ピクチャ情報等が含まれる。可逆符号化部１６は、量子化データに対して例えば可変長符号化または算術符号化等により可逆符号化処理を行い、符号化ストリームを生成して蓄積バッファ１７に出力する。また、可逆符号化部１６は、予測モード情報を可逆符号化して、符号化ストリームの例えばヘッダ情報に付加する。また、可逆符号化部１６は、予測動きベクトルの候補を設定して、この候補から符号化効率が最良となる動きベクトルを予測動きベクトルとして選択する。可逆符号化部１６は、この予測動きベクトルと符号化対象のブロックの動きベクトルとの差分を示す差分動きベクトル、および予測動きベクトルの候補からいずれの動きベクトルが選択されたかを示す予測動きベクトル選択情報の可逆符号化を行って、符号化ストリームに付加する。
【００３１】
蓄積バッファ１７は、可逆符号化部１６からの符号化ストリームを蓄積する。また、蓄積バッファ１７は、蓄積した符号化ストリームを伝送路に応じた伝送速度で出力する。
【００３２】
レート制御部１８は、蓄積バッファ１７の空き容量の監視を行い、空き容量に応じてレート制御信号を生成して量子化部１５に出力する。レート制御部１８は、例えば蓄積バッファ１７から空き容量を示す情報を取得する。レート制御部１８は空き容量が少なくなっているとき、レート制御信号によって量子化データのビットレートを低下させる。また、レート制御部１８は蓄積バッファ１７の空き容量が十分大きいとき、レート制御信号によって量子化データのビットレートを高くする。
【００３３】
逆量子化部２１は、量子化部１５から供給された量子化データの逆量子化処理を行う。逆量子化部２１は、逆量子化処理を行うことで得られた変換係数データを逆直交変換部２２に出力する。
【００３４】
逆直交変換部２２は、逆量子化部２１から供給された変換係数データの逆直交変換処理を行うことで得られたデータを加算部２３に出力する。
【００３５】
加算部２３は、逆直交変換部２２から供給されたデータと予測画像・最適モード選択部３３から供給された予測画像データを加算して復号画像データを生成して、デブロッキングフィルタ２４とフレームメモリ２５に出力する。
【００３６】
デブロッキングフィルタ２４は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタ処理を行う。デブロッキングフィルタ２４は、加算部２３から供給された復号画像データからブロック歪みを除去するフィルタ処理を行い、フィルタ処理後の復号画像データをフレームメモリ２５に出力する。
【００３７】
フレームメモリ２５は、加算部２３から供給された復号画像データとデブロッキングフィルタ２４から供給されたフィルタ処理後の復号画像データとを保持する。
【００３８】
セレクタ２６は、イントラ予測を行うためにフレームメモリ２５から読み出されたフィルタ処理前の復号画像データをイントラ予測部３１に供給する。また、セレクタ２６は、インター予測を行うためフレームメモリ２５から読み出されたフィルタ処理後の復号画像データを動き予測・補償部３２に供給する。
【００３９】
イントラ予測部３１は、画面並べ替えバッファ１２から出力された符号化対象画像の画像データとフレームメモリ２５から読み出したフィルタ処理前の復号画像データを用いて、候補となるすべてのイントラ予測モードのイントラ予測処理を行う。さらに、イントラ予測部３１は、各イントラ予測モードに対してコスト関数値を算出して、算出したコスト関数値が最小となるイントラ予測モード、すなわち符号化効率が最良となるイントラ予測モードを、最適イントラ予測モードとして選択する。イントラ予測部３１は、最適イントラ予測モードで生成された予測画像データと最適イントラ予測モードに関する予測モード情報、および最適イントラ予測モードでのコスト関数値を予測画像・最適モード選択部３３に出力する。また、イントラ予測部３１は、後述するようにコスト関数値の算出で用いる発生符号量を得るため、各イントラ予測モードのイントラ予測処理において、イントラ予測モードに関する予測モード情報を可逆符号化部１６に出力する。
【００４０】
動き予測・補償部３２は、マクロブロックに対応するすべての予測ブロックサイズ（動き補償ブロックサイズ）で動き予測・補償処理を行う。動き予測・補償部３２は、画面並べ替えバッファ１２から読み出された符号化対象画像における各予測ブロックサイズの画像ごとに、フレームメモリ２５から読み出されたフィルタ処理後の復号画像データを用いて動きベクトルを検出する。さらに、動き予測・補償部３２は、検出した動きベクトルに基づいて復号画像に動き補償処理を施して予測画像の生成を行う。また、動き予測・補償部３２は、各予測ブロックサイズに対してコスト関数値を算出して、算出したコスト関数値が最小となる予測ブロックサイズ、すなわち符号化効率が最良となる予測ブロックサイズを、最適インター予測モードとして選択する。動き予測・補償部３２は、最適インター予測モードで生成された予測画像データと最適インター予測モードに関する予測モード情報、および最適インター予測モードでのコスト関数値を予測画像・最適モード選択部３３に出力する。また、動き予測・補償部３２は、コスト関数値の算出で用いる発生符号量を得るため、各予測ブロックサイズでのインター予測処理において、インター予測モードに関する予測モード情報を可逆符号化部１６に出力する。なお、動き予測・補償部３２は、インター予測モードとして、スキップドマクロブロックやダイレクトモードの予測も行う。
【００４１】
また、動き予測・補償部３２は、可逆符号化部１６で予測動きベクトルの候補から、符号化効率が最良となる動きベクトルを選択するため、予測動きベクトルの候補ごとにコスト関数値を算出する。動き予測・補償部３２は、算出したコスト関数値を可逆符号化部１６に通知する。予測動きベクトルの候補ごとのコスト関数値の算出は、各予測ブロックサイズでコスト関数値を算出するときに行ってもよく、決定された最適インター予測モードにおいて、予測動きベクトルの候補ごとのコスト関数値を算出してもよい。
【００４２】
予測画像・最適モード選択部３３は、イントラ予測部３１から供給されたコスト関数値と動き予測・補償部３２から供給されたコスト関数値を、マクロブロック単位で比較して、コスト関数値が少ない方を、符号化効率が最良となる最適モードとして選択する。また、予測画像・最適モード選択部３３は、最適モードで生成した予測画像データを減算部１３と加算部２３に出力する。さらに、予測画像・最適モード選択部３３は、最適モードの予測モード情報を可逆符号化部１６に出力する。なお、予測画像・最適モード選択部３３は、スライス単位でイントラ予測またはインター予測を行う。
【００４３】
＜２．動きベクトルの予測方法＞
本願では、予測ブロックサイズ（動き補償ブロックサイズ）に応じたケース分類を行い、ケースごとに予測動きベクトルの候補を予め設定しておく。その後、各候補を用いて符号量の算出を行い、符号化効率が最良となる候補すなわち符号量が最小となる候補を、予測動きベクトルに決定する。ここで、図１を用いて説明したように、予測ブロックサイズが大きいときは、小さいときに比べて動きベクトルの予測精度が低下するおそれがある。したがって、ケース分類では、予測ブロックサイズが大きいとき、予想動きベクトルの候補を多くして、符号化効率が最良となる動きベクトルを選択できるようにする。
【００４４】
図３は、予測ブロックサイズに応じたケース分類とケースごとの予測動きベクトルの候補を示している。例えば、予測ブロックサイズが８×８画素以下であるときケースＳ０、８×８画素よりも大きく１６×１６画素以下であるときケースＳ１、１６×１６画素以上であるときケースＳ２とする。
【００４５】
ケースＳ０では、符号化済みの隣接ブロックのいずれか１つのブロックの動きベクトル、または符号化済みの隣接ブロックの動きベクトルから中央値を候補とする。なお、図３では、左側の隣接ブロックの動きベクトルＭＶ＿Ａ、または、左側と上側および右上側の隣接ブロックの動きベクトルＭＶ＿Ａ，ＭＶ＿Ｂ，ＭＶ＿Ｃの中央値ＭＶ＿mdを候補とした場合を例示している。
【００４６】
ケースＳ１では、符号化済みの隣接ブロックのいずれか２つのブロックの動きベクトルを候補とする。ここで、動きベクトルが候補とされている２つのブロック間の距離が短い場合、符号化効率が最良となる予測動きベクトルを選択できないおそれがある。例えば図３の（Ｂ）に示す動きベクトルＭＶ＿Ｂ，ＭＶ＿Ｃが候補として設定されている場合、符号化対象のブロックの動きベクトルが動きベクトルＭＶ＿Ａに近いと、符号化効率が最良となる予測動きベクトルを選択することができない。したがって、隣接ブロックの動きベクトルを選択的に複数用いて予測動きベクトルの候補とするときは、符号化済みの隣接ブロックの中で互いに離れているブロックの動きベクトルを選択する。例えば、左側の隣接ブロックの動きベクトルＭＶ＿Ａを第１候補、右上側の隣接ブロックの動きベクトルＭＶ＿Ｃを第２候補とする。
【００４７】
ケースＳ２では、ケースＳ１よりも多くの候補、すなわち符号化済みのすべての隣接ブロックの動きベクトルを候補とする。例えば、左側の隣接ブロックの動きベクトルＭＶ＿Ａを第１候補、上側の隣接ブロックの動きベクトルＭＶ＿Ｂを第２候補、右上側の隣接ブロックの動きベクトルＭＶ＿Ｃを第３候補とする。さらに、参照ピクチャにおける符号化対象と同一のブロックの動きベクトルＭＶ＿coを第４候補とする。
【００４８】
このように、予測ブロックサイズ（動き補償ブロックサイズ）に応じてケース分類を行い、該当するケースの候補から符号化効率が最良となる動きベクトルを予測動きベクトルに決定する。
【００４９】
＜３．可逆符号化部の構成＞
図４は、可逆符号化部における動きベクトルに関する構成を示している。可逆符号化部１６は、動きベクトル記憶部１６１、動きベクトル選択部１６５、減算部１６６、第１符号化処理部１６７、第２符号化処理部１６８を備えている。
【００５０】
動きベクトル記憶部１６１は、符号化対象のブロックに隣接した符号化済みの隣接ブロックの動きベクトルを用いて予測動きベクトルの候補を設定するため、ブロックごとの動きベクトルを記憶する。なお、動きベクトル記憶部１６１は、ダイレクトモードに対応するため、参照ピクチャにおける符号化対象と同一のブロックの動きベクトルも記憶してもよい。
【００５１】
動きベクトル選択部１６５は、動き予測・補償部３２や予測画像・最適モード選択部３３から供給された予測ブロックサイズ情報に基づき、動きベクトル記憶部１６１に記憶されている隣接ブロックの動きベクトルや参照ピクチャにおける符号化対象と同一のブロックの動きベクトルから予測動きベクトルの候補を設定する。また、動きベクトル選択部１６５は、動き予測・補償部３２で算出されたコスト関数値に基づき、予測動きベクトルの候補から予測動きベクトルを決定する。動きベクトル選択部１６５は、決定した予測動きベクトルを減算部１６６に出力する。
【００５２】
減算部１６６は、動き予測・補償部３２または予測画像・最適モード選択部３３からの動きベクトル情報で示された動きベクトルと、動きベクトル選択部１６５から出力された予測動きベクトルとの差分である差分動きベクトルを算出する。減算部１６６は、差分動きベクトルを示す差分動きベクトル情報を第１符号化処理部１６７に出力する。
【００５３】
第１符号化処理部１６７は、可変長符号化（ＶＬＣ）テーブルまたは算術符号を用いて差分動きベクトル情報の符号化を行う。また、第２符号化処理部１６８は、ＶＬＣテーブルまたは算術符号を用いて予測ブロックサイズ情報と予測動きベクトル選択情報の符号化を行う。なお、予測動きベクトル選択情報は、予測動きベクトルの候補からいずれの動きベクトルが予測動きベクトルに決定されたかを示す情報であり、例えばフラグが用いられる。第１符号化処理部１６７と第２符号化処理部１６８で符号化された情報は、上述のように符号化ストリームのヘッダ情報に付加される。
【００５４】
＜４．画像符号化装置の動作＞
次に、画像符号化処理動作について説明する。図５は、画像符号化処理で用いる予測ブロックサイズを示している。Ｈ．２６４／ＡＶＣ方式では、図５の（Ｃ）（Ｄ）に示すように１６×１６画素〜４×４画素の予測ブロックサイズが規定されている。また、Ｈ．２６４／ＡＶＣ方式よりも拡張された大きさのマクロブロックを用いる場合、例えば３２×３２画素のマクロブロックを用いる場合、例えば図５の（Ｂ）に示す予測ブロックサイズが規定される。また、例えば６４×６４画素のマクロブロックを用いる場合、例えば図５の（Ａ）に示す予測ブロックサイズが規定される。
【００５５】
なお、図５において、「Ｓｋｉｐ／ｄｉｒｅｃｔ」は、動き予測・補償部３２において、スキップドマクロブロックやダイレクトモードを選択したときの予測ブロックサイズであることを示している。また、「ＭＥ」は動き補償ブロックサイズであることを示している。また、「Ｐ８×８」は、マクロブロックのサイズを小さくした下位の階層でさらに分割できることを示している。
【００５６】
図６は、画像符号化処理動作を示すフローチャートである。ステップＳＴ１１において、Ａ／Ｄ変換部１１は入力された画像信号をＡ／Ｄ変換する。
【００５７】
ステップＳＴ１２において画面並べ替えバッファ１２は、画像並べ替えを行う。画面並べ替えバッファ１２は、Ａ／Ｄ変換部１１より供給された画像データを記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【００５８】
ステップＳＴ１３において減算部１３は、予測誤差データの生成を行う。減算部１３は、ステップＳＴ１２で並び替えられた画像の画像データと予測画像・最適モード選択部３３で選択された予測画像データとの差分を算出して予測誤差データを生成する。予測誤差データは、元の画像データに比べてデータ量が小さい。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
【００５９】
ステップＳＴ１４において直交変換部１４は、直交変換処理を行う。直交変換部１４は、減算部１３から供給された予測誤差データを直交変換する。具体的には、予測誤差データに対して離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数データを出力する。
【００６０】
ステップＳＴ１５において量子化部１５は、量子化処理を行う。量子化部１５は、変換係数データを量子化する。量子化に際しては、後述するステップＳＴ２５の処理で説明されるように、レート制御が行われる。
【００６１】
ステップＳＴ１６において逆量子化部２１は、逆量子化処理を行う。逆量子化部２１は、量子化部１５により量子化された変換係数データを量子化部１５の特性に対応する特性で逆量子化する。
【００６２】
ステップＳＴ１７において逆直交変換部２２は、逆直交変換処理を行う。逆直交変換部２２は、逆量子化部２１により逆量子化された変換係数データを直交変換部１４の特性に対応する特性で逆直交変換する。
【００６３】
ステップＳＴ１８において加算部２３は、復号画像データの生成を行う。加算部２３は、予測画像・最適モード選択部３３から供給された予測画像データと、この予測画像と対応する位置の逆直交変換後のデータを加算して、復号画像データを生成する。
【００６４】
ステップＳＴ１９においてデブロッキングフィルタ２４は、フィルタ処理を行う。デブロッキングフィルタ２４は、加算部２３より出力された復号画像データをフィルタリングしてブロック歪みを除去する。
【００６５】
ステップＳＴ２０においてフレームメモリ２５は、復号画像データを記憶する。フレームメモリ２５は、フィルタ処理前の復号画像データとフィルタ処理後の復号画像データを記憶する。
【００６６】
ステップＳＴ２１においてイントラ予測部３１と動き予測・補償部３２は、それぞれ予測処理を行う。すなわち、イントラ予測部３１は、イントラ予測モードのイントラ予測処理を行い、動き予測・補償部３２は、インター予測モードの動き予測・補償処理を行う。予測処理の詳細は、図７を参照して後述するが、この処理により、候補となるすべての予測モードでの予測処理がそれぞれ行われ、候補となるすべての予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードが選択され、選択された予測モードで生成された予測画像とそのコスト関数および予測モード情報が予測画像・最適モード選択部３３に供給される。
【００６７】
ステップＳＴ２２において予測画像・最適モード選択部３３は、予測画像データの選択を行う。予測画像・最適モード選択部３３は、イントラ予測部３１および動き予測・補償部３２より出力された各コスト関数値に基づいて、符号化効率が最良となる最適モードに決定する。さらに、予測画像・最適モード選択部３３は、決定した最適モードの予測画像データを選択して、減算部１３と加算部２３に供給する。この予測画像が、上述したように、ステップＳＴ１３，ＳＴ１８の演算に利用される。なお、選択した予測画像データに対応する予測モード情報は、可逆符号化部１６に出力される。
【００６８】
ステップＳＴ２３において可逆符号化部１６は、可逆符号化処理を行う。可逆符号化部１６は、量子化部１５より出力された量子化データを可逆符号化する。すなわち、量子化データに対して可変長符号化や算術符号化等の可逆符号化が行われて、データ圧縮される。このとき、上述したステップＳＴ２２において可逆符号化部１６に入力された予測モード情報（例えばマクロブロックタイプや予測モード、参照ピクチャ情報等を含む）や動きベクトルに関する情報なども可逆符号化される。さらに、量子化データを可逆符号化して生成された符号化ストリームのヘッダ情報に、予測モード情報等の可逆符号化データが付加される。
【００６９】
ステップＳＴ２４において蓄積バッファ１７は、蓄積処理を行う。蓄積バッファ１７は、可逆符号化部１６から出力される符号化ストリームを蓄積する。この蓄積バッファ１７に蓄積された符号化ストリームは、適宜読み出されて伝送路を介して復号側に伝送される。
【００７０】
ステップＳＴ２５においてレート制御部１８は、レート制御を行う。レート制御部１８は、蓄積バッファ１７で符号化ストリームを蓄積するとき、オーバーフローまたはアンダーフローが蓄積バッファ１７で発生しないように、量子化部１５の量子化動作のレートを制御する。
【００７１】
次に、図７のフローチャートを参照して、図６のステップＳＴ２１における予測処理を説明する。
【００７２】
ステップＳＴ３１において、イントラ予測部３１はイントラ予測処理を行う。イントラ予測部３１は処理対象のブロックの画像を、候補となるすべてのイントラ予測モードでイントラ予測する。なお、イントラ予測において参照される復号画像の画像データは、デブロッキングフィルタ２４によりフィルタ処理が行われることなくフレームメモリ２５に記憶されている復号画像データが用いられる。イントラ予測処理の詳細は後述するが、この処理により、候補となるすべてのイントラ予測モードでイントラ予測が行われ、候補となるすべてのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、すべてのイントラ予測モードの中から、符号化効率が最良となる１つのイントラ予測モードが選択される。
【００７３】
ステップＳＴ３２において、動き予測・補償部３２はインター予測処理を行う。動き予測・補償部３２は、フレームメモリ２５に記憶されているフィルタ処理後の復号画像データを用いて、候補となるすべてのインター予測モード（すべての予測ブロックサイズ）のインター予測処理を行う。インター予測処理の詳細は後述するが、この処理により、候補となるすべてのインター予測モードで予測処理が行われ、候補となるすべてのインター予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、すべてのインター予測モードの中から、符号化効率が最良となる１つのインター予測モードが選択される。
【００７４】
次に、図７のステップＳＴ３１におけるイントラ予測処理について図８のフローチャートを参照して説明する。
【００７５】
ステップＳＴ４１でイントラ予測部３１は、各予測モードのイントラ予測を行う。イントラ予測部３１は、フレームメモリ２５に記憶されているフィルタ処理前の復号画像データを用いて、イントラ予測モードごとに予測画像データを生成する。
【００７６】
ステップＳＴ４２でイントラ予測部３１は、各予測モードに対するコスト関数値を算出する。コスト関数値としては、Ｈ．２６４／ＡＶＣ方式における参照ソフトウェアであるＪＭ(Joint Model)で定められているように、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて行う。
【００７７】
すなわち、High Complexity モードにおいては、ステップＳＴ４１の処理として、候補となるすべての予測モードに対して、仮に可逆符号化処理までを行い、次の式（１）で表されるコスト関数値を各予測モードに対して算出する。
Cost(Mode∈Ω)=Ｄ+λ・Ｒ            ・・・（１）
Ωは、当該ブロック乃至マクロブロックを符号化するための候補となる予測モードの全体集合を示している。Ｄは、予測モードで符号化を行った場合の復号画像と入力画像との差分エネルギー（歪み）を示している。Ｒは、直交変換係数や予測モード情報等を含んだ発生符号量、λは、量子化パラメータＱＰの関数として与えられるラグランジュ乗数である。
【００７８】
つまり、High Complexity Modeでの符号化を行うには、上記パラメータＤおよびＲを算出するため、候補となるすべての予測モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
【００７９】
一方、Low Complexity モードにおいては、ステップＳＴ４１の処理として、候補となるすべての予測モードに対して、予測画像の生成、および、動きベクトル情報や予測モード情報などのヘッダビットまでを算出し、次の式（２）で表されるコスト関数値を各予測モードに対して算出する。
Cost(Mode∈Ω)=Ｄ+QPtoQuant(QP)・Header＿Bit      ・・・（２）
Ωは、当該ブロック乃至マクロブロックを符号化するための候補となる予測モードの全体集合を示している。Ｄは、予測モードで符号化を行った場合の復号画像と入力画像との差分エネルギー（歪み）を示している。Header＿Bitは、予測モードに対するヘッダビット、QPtoQuantは、量子化パラメータＱＰの関数として与えられる関数である。
【００８０】
すなわち、Low Complexity Modeにおいては、それぞれの予測モードに関して、予測処理を行う必要があるが、復号化画像までは必要ないため、High Complexity Modeより低い演算量での実現が可能である。
【００８１】
ステップＳＴ４３でイントラ予測部３１は、最適イントラ予測モードを決定する。イントラ予測部３１は、ステップＳＴ４２において算出されたコスト関数値に基づいて、それらの中から、コスト関数値が最小値である１つのイントラ予測モードを選択して最適イントラ予測モードに決定する。
【００８２】
次に、図９のフローチャートを参照して、図７のステップＳＴ３２のインター予測処理について説明する。
【００８３】
ステップＳＴ５１で動き予測・補償部３２は、各予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、動き予測・補償部３２は、各予測モードの処理対象のブロックについて、動きベクトルと参照画像をそれぞれ決定する。
【００８４】
ステップＳＴ５２で動き予測・補償部３２は、各予測モードに対して動き補償を行う。動き予測・補償部３２は、各予測モード（各予測ブロックサイズ）について、ステップＳＴ５１で決定された動きベクトルに基づいて、参照画像に対する動き補償を行い、各予測モードについて予測画像データを生成する。
【００８５】
ステップＳＴ５３で動き予測・補償部３２は、各予測モードに対して動きベクトル情報の生成を行う。動き予測・補償部３２は、各予測モードで決定された動きベクトルを示す動きベクトル情報を生成する。生成された動きベクトル情報は、次のステップＳＴ５４におけるコスト関数値の算出にも用いられて、予測画像・最適モード選択部３３で対応する予測画像が選択された場合には、予測モード情報に含まれて可逆符号化部１６へ出力される。
【００８６】
ステップＳＴ５４で動き予測・補償部３２は、各インター予測モードに対して、コスト関数値の算出を行う。動き予測・補償部３２は、上述した式（１）または式（２）を用いてコスト関数値の算出を行う。コスト関数値の算出では、第１符号化処理部１６７と第２符号化処理部１６８で符号化された情報を含めた発生符号量を用いる。なお、インター予測モードに対するコスト関数値の算出には、Ｈ．２６４／ＡＶＣ方式において定められているSkip ModeおよびDirect Modeのコスト関数値の評価も含まれる。
【００８７】
ステップＳＴ５５で動き予測・補償部３２は、最適インター予測モードを決定する。動き予測・補償部３２は、ステップＳＴ５４において算出されたコスト関数値に基づいて、それらの中から、コスト関数値が最小値である１つの予測モードを選択して最適インター予測モードに決定する。
【００８８】
次に、可逆符号化部１６で行われる動きベクトルに関する符号化処理について、図１０のフローチャートを用いて説明する。なお、図１０では、図３に示すようにケース分類と候補の設定を行った場合を示している。
【００８９】
ステップＳＴ６１で可逆符号化部１６は、予測ブロックサイズ情報を取得する。
【００９０】
ステップＳＴ６２で可逆符号化部１６は、ケースＳ０に該当するか否か判別する。可逆符号化部１６は、予測ブロックサイズが８×８画素以下であるときケースＳ０に該当すると判別してステップＳＴ６３に進み、予測ブロックサイズが８×８画素以下でないときステップＳＴ６４に進む。
【００９１】
ステップＳＴ６３で可逆符号化部１６は、ケースＳ０の候補を予測動きベクトルに決定する。可逆符号化部１６は、ケースＳ０の候補である動きベクトルＭＶ＿Ａ（または動きベクトルＭＶ＿md）を予測動きベクトルに決定してステップＳＴ６９に進む。
【００９２】
ステップＳＴ６４で可逆符号化部１６は、ケースＳ１に該当するか否か判別する。可逆符号化部１６は、予測ブロックサイズが１６×１６画素以下であるときケースＳ１に該当すると判別してステップＳＴ６５に進み、予測ブロックサイズが１６×１６画素以下でないときステップＳＴ６８に進む。
【００９３】
ステップＳＴ６５で可逆符号化部１６は、ケースＳ１の候補から予測動きベクトルに決定する。可逆符号化部１６は、ケースＳ１であるとき、図３に示すように動きベクトルＭＶ＿Ａ、動きベクトルＭＶ＿Ｃが予測動きベクトルの候補とされている。したがって、可逆符号化部１６は、第１候補である動きベクトルＭＶ＿Ａを用いたときのコスト関数値と、第２候補である動きベクトルＭＶ＿Ｃを用いたときのコスト関数値を比較して、コスト関数値が小さい動きベクトルを予測動きベクトルに決定する。
【００９４】
ステップＳＴ６６で可逆符号化部１６は、予測動きベクトル選択情報を生成する。可逆符号化部１６は、ステップＳＴ６５で決定された符号化効率が最良となる予測動きベクトルを示す予測動きベクトル選択情報を生成する。例えば、可逆符号化部１６は、予測動きベクトル選択情報としてフラグを用い、動きベクトルＭＶ＿Ａが予測動きベクトルに決定されたときはフラグを「０」、動きベクトルＭＶ＿Ｃが予測動きベクトルに決定されたときはフラグを「１」に設定する。
【００９５】
ステップＳＴ６７で可逆符号化部１６は、ケースＳ２の候補から予測動きベクトルに決定する。可逆符号化部１６は、ケースＳ２であるとき、図３に示すように動きベクトルＭＶ＿Ａ、動きベクトルＭＶ＿Ｂ、動きベクトルＭＶ＿Ｃ、動きベクトルＭＶ＿coが予測動きベクトルの候補とされている。したがって、可逆符号化部１６は、第１〜第４候補である動きベクトルＭＶ＿Ａ，ＭＶ＿Ｂ，ＭＶ＿Ｃ，ＭＶ＿coをそれぞれ用いたときのコスト関数値を比較して、コスト関数値が小さい動きベクトルを予測動きベクトルに決定する。
【００９６】
ステップＳＴ６８で可逆符号化部１６は、予測動きベクトル選択情報を生成する。可逆符号化部１６は、ステップＳＴ６８で決定された符号化効率が最良となる予測動きベクトルを示す予測動きベクトル選択情報を生成する。例えば、可逆符号化部１６は、予測動きベクトル選択情報としてフラグを用い、動きベクトルＭＶ＿Ａが予測動きベクトルに決定されたときはフラグを「０」、動きベクトルＭＶ＿Ｂが予測動きベクトルに決定されたときはフラグを「１」に設定する。また、可逆符号化部１６は、動きベクトルＭＶ＿Ｃが予測動きベクトルに決定されたときはフラグを「２」、動きベクトルＭＶ＿coが予測動きベクトルに決定されたときはフラグを「３」に設定する。
【００９７】
ステップＳＴ６９で可逆符号化部１６は、可逆符号化処理を行う。可逆符号化部１６は、ステップＳＴ６３，６５，６７で決定した予測動きベクトルと符号化対象のブロックの動きベクトルとの差分動きベクトルを示す情報を可逆符号化する。また、可逆符号化部１６は、予測動きベクトル選択情報と予測ブロックサイズを示す情報等を可逆符号化する。
【００９８】
このように、本願発明の画像符号化装置および方法では、予測ブロックサイズの大きさに応じて、予測動きベクトルの候補が設定されて、候補の中から符号化効率が最良となる動きベクトルが予測動きベクトルに決定される。したがって、動きベクトルの伝送に要する符号量の削減が可能となり、符号化効率を改善できる。また、動きベクトルの伝送に要する符号量の削減に伴い、量子化データのビットレートを高めることが可能となるので画質を改善できる。また、ケースＳ０のように予測動きベクトルの候補が１つである場合には、予測動きベクトル選択情報が不要である。したがって、予測動きベクトルの候補が複数である場合にのみ予測動きベクトル選択情報を伝送することで、符号化効率をさらに改善できる。
【００９９】
＜５．画像復号化装置の構成＞
入力画像を符号化して生成された符号化ストリームは、所定の伝送路や記録媒体等を介して画像復号化装置に供給されて復号される。
【０１００】
図１１は、画像復号化装置の構成を示している。画像復号化装置５０は、蓄積バッファ５１、可逆復号化部５２、逆量子化部５３、逆直交変換部５４、加算部５５、デブロッキングフィルタ５６、画面並べ替えバッファ５７、ディジタル／アナログ変換部（Ｄ／Ａ変換部）５８を備えている。さらに、画像復号化装置５０は、フレームメモリ６１、セレクタ６２，６５、イントラ予測部６３、動き補償部６４を備えている。
【０１０１】
蓄積バッファ５１は、伝送されてきた符号化ストリームを蓄積する。可逆復号化部５２は、蓄積バッファ５１より供給された符号化ストリームを、図２の可逆符号化部１６の符号化方式に対応する方式で復号化する。
【０１０２】
可逆復号化部５２は、符号化ストリームのヘッダ情報を復号して得られた予測モード情報をイントラ予測部６３や動き補償部６４、デブロッキングフィルタ５６に出力する。また、可逆復号化部５２は、復号化対象のブロックと復号化済みの隣接ブロックの動きベクトルを用いて予測動きベクトルの候補を設定する。可逆復号化部５２は、符号化ストリームを可逆復号化して得られた予測動きベクトル選択情報に基づき、予測動きベクトルの候補から動きベクトルを選択して、選択した動きベクトルを予測動きベクトルとする。また、可逆復号化部５２は、符号化ストリームを可逆復号化して得られた差分動きベクトルに予測動きベクトルを加算して復号化対象のブロックの動きベクトルを算出して、動き補償部６４に出力する。
【０１０３】
逆量子化部５３は、可逆復号化部５２で復号された量子化データを、図２の量子化部１５の量子化方式に対応する方式で逆量子化する。逆直交変換部５４は、図２の直交変換部１４の直交変換方式に対応する方式で逆量子化部５３の出力を逆直交変換して加算部５５に出力する。
【０１０４】
加算部５５は、逆直交変換後のデータとセレクタ６５から供給される予測画像データを加算して復号画像データを生成してデブロッキングフィルタ５６とフレームメモリ６１に出力する。
【０１０５】
デブロッキングフィルタ５６は、加算部５５から供給された復号画像データに対してフィルタ処理を行い、ブロック歪みを除去してからフレームメモリ６１に供給し蓄積させるとともに、画面並べ替えバッファ５７に出力する。
【０１０６】
画面並べ替えバッファ５７は、画像の並べ替えを行う。すなわち、図２の画面並べ替えバッファ１２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられて、Ｄ／Ａ変換部５８に出力される。
【０１０７】
Ｄ／Ａ変換部５８は、画面並べ替えバッファ５７から供給された画像データをＤ／Ａ変換し、図示せぬディスプレイに出力することで画像を表示させる。
【０１０８】
フレームメモリ６１は、加算部５５から供給されたフィルタ処理前の復号画像データとデブロッキングフィルタ２４から供給されたフィルタ処理後の復号画像データとを保持する。
【０１０９】
セレクタ６２は、可逆復号化部５２から供給された予測モード情報に基づき、イントラ予測が行われた予測ブロックの復号化が行われるとき、フレームメモリ６１から読み出されたフィルタ処理前の復号画像データをイントラ予測部６３に供給する。また、セレクタ２６は、可逆復号化部５２から供給された予測モード情報に基づき、インター予測が行われた予測ブロックの復号化が行われるとき、フレームメモリ６１から読み出されたフィルタ処理後の復号画像データを動き補償部６４に供給する。
【０１１０】
イントラ予測部６３は、可逆復号化部５２から供給された予測モード情報に基づいて予測画像の生成を行い、生成した予測画像データをセレクタ６５に出力する。
【０１１１】
動き補償部６４は、可逆復号化部５２から供給された予測モード情報や動きベクトルに基づいて動き補償を行い、予測画像データを生成してセレクタ６５に出力する。すなわち、動き補償部６４は、可逆復号化部５２から供給された動きベクトルおよび参照フレーム情報に基づいて、参照フレーム情報で示された参照画像に対して、動きベクトルに基づき動き補償を行い、予測ブロックサイズの予測画像データを生成する。
【０１１２】
セレクタ６５は、イントラ予測部６３で生成された予測画像データを加算部５５に供給する。また、セレクタ６５は、動き補償部６４で生成された予測画像データを加算部５５に供給する。
【０１１３】
＜６．可逆復号化部の構成＞
図１２は、可逆復号化部における動きベクトルに関する構成を示している。可逆復号化部５２は、第１復号化処理部５２１、第２復号化処理部５２２、動きベクトル記憶部５２３、動きベクトル選択部５２５、加算部５２６とを備えている。
【０１１４】
第１復号化処理部５２１は、第１符号化処理部１６７で行われた符号化に対応する復号化処理を行う。第１復号化処理部５２１は、ＶＬＣテーブルまたは算術符号を用いて符号化ストリームの可逆復号化処理を行い、差分動きベクトル情報を生成する。
【０１１５】
第２復号化処理部５２２は、第２符号化処理部１６８で行われた符号化に対応する復号化処理を行う。第２復号化処理部５２２は、ＶＬＣテーブルまたは算術符号を用いて符号化ストリームの可逆復号化処理を行い、予測ブロックサイズ情報と予測動きベクトル選択情報等を生成する。
【０１１６】
動きベクトル記憶部５２３は、復号化対象のブロックに隣接した復号化済みの隣接ブロックの動きベクトル等を用いて予測動きベクトルを決定するため、ブロックごとの動きベクトルを記憶する。なお、動きベクトル記憶部５２３は、ダイレクトモードに対応するとき参照ピクチャにおける符号化対象と同一のブロックの動きベクトルも記憶する。
【０１１７】
動きベクトル選択部５２５は、第２復号化処理部５２２から出力された予測ブロックサイズ情報に基づきケース分類を行い、動きベクトル記憶部１６１に記憶されている隣接ブロックの動きベクトルおよび参照ピクチャにおける符号化対象と同一のブロックの動きベクトルから、予測動きベクトルの候補を設定する。このケース分類および予測動きベクトルの候補の設定は、符号化側の動きベクトル選択部１６５と等しくする。さらに、動きベクトル選択部５２５は、第２復号化処理部５２２から出力された予測動きベクトル選択情報に基づき、予測動きベクトルの候補から動きベクトルを選択して予測動きベクトルとして加算部５２６に出力する。
【０１１８】
加算部５２６は、第１復号化処理部５２１から出力された差分動きベクトル情報で示された差分動きベクトルに、動きベクトル選択部５２５から出力された予測動きベクトルを加算することで、符号化対象のブロックの動きベクトルを算出して動き補償部６４に出力する。
【０１１９】
＜７．画像復号化装置の動作＞
次に、図１３のフローチャートを参照して、画像復号化装置５０で行われる画像復号処理動作について説明する。
【０１２０】
ステップＳＴ８１で蓄積バッファ５１は、伝送されてきた符号化ストリームを蓄積する。ステップＳＴ８２で可逆復号化部５２は、可逆復号化処理を行う。可逆復号化部５２は、蓄積バッファ５１から供給される符号化ストリームを復号化する。すなわち、図２の可逆符号化部１６により符号化された各ピクチャの量子化データが得られる。また、可逆復号化部５２、符号化ストリームのヘッダ情報に含まれている予測モード情報の可逆復号化を行い、得られた予測モード情報をデブロッキングフィルタ５６やセレクタ６２，６５に供給する。さらに、可逆復号化部５２は、予測モード情報がイントラ予測モードに関する情報である場合、予測モード情報をイントラ予測部６３に出力する。また、可逆復号化部５２は、予測モード情報がインター予測モードに関する情報である場合、予測モード情報を動き補償部６４に出力する。
【０１２１】
ステップＳＴ８３において逆量子化部５３は、逆量子化処理を行う。逆量子化部５３は、可逆復号化部５２により復号された量子化データを、図２の量子化部１５の特性に対応する特性で逆量子化する。
【０１２２】
ステップＳＴ８４において逆直交変換部５４は、逆直交変換処理を行う。逆直交変換部５４は、逆量子化部５３により逆量子化された変換係数データを、図２の直交変換部１４の特性に対応する特性で逆直交変換する。
【０１２３】
ステップＳＴ８５において加算部５５は、復号画像データの生成を行う。加算部５５は、逆直交変換処理を行うことにより得られたデータと、後述するステップＳＴ８９で選択された予測画像データを加算して復号画像データを生成する。これにより元の画像が復号される。
【０１２４】
ステップＳＴ８６においてデブロッキングフィルタ５６は、フィルタ処理を行う。デブロッキングフィルタ５６は、加算部５５より出力された復号画像データのフィルタ処理を行い、復号画像に含まれているブロック歪みを除去する。
【０１２５】
ステップＳＴ８７においてフレームメモリ６１は、復号画像データの記憶処理を行う。
【０１２６】
ステップＳＴ８８においてイントラ予測部６３と動き補償部６４は、予測処理を行う。イントラ予測部６３と動き補償部６４は、可逆復号化部５２から供給される予測モード情報に対応してそれぞれ予測処理を行う。
【０１２７】
すなわち、可逆復号化部５２からイントラ予測の予測モード情報が供給された場合、イントラ予測部６３は、予測モード情報に基づいてイントラ予測処理を行い、予測画像データを生成する。また、可逆復号化部５２からインター予測の予測モード情報が供給された場合、動き補償部６４は、予測モード情報に基づき動き補償を行い、予測画像データを生成する。
【０１２８】
ステップＳＴ８９において、セレクタ６５は予測画像データの選択を行う。すなわち、セレクタ６５は、イントラ予測部６３から供給された予測画像と動き補償部６４で生成された予測画像データを選択して加算部５５に供給して、上述したように、ステップＳＴ８５において逆直交変換部５４の出力と加算させる。
【０１２９】
ステップＳＴ９０において画面並べ替えバッファ５７は、画像並べ替えを行う。すなわち画面並べ替えバッファ５７は、図２の画像符号化装置１０の画面並べ替えバッファ１２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０１３０】
ステップＳＴ９１において、Ｄ／Ａ変換部５８は、画面並べ替えバッファ５７からの画像データをＤ／Ａ変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０１３１】
次に、可逆復号化部５２で行われる動きベクトルに関する復号化処理について、図１４のフローチャートを用いて説明する。なお、図１４においても、図３に示すようにケース分類と候補の設定が行われている場合を示している。
【０１３２】
ステップＳＴ１０１で可逆復号化部５２は、予測ブロックサイズ情報の取得を行う。可逆復号化部５２は、蓄積バッファ５１に蓄積された符号化ストリームの復号化を行い復号化対象のブロックについての予測ブロックサイズ情報を取得する。
【０１３３】
ステップＳＴ１０２で可逆復号化部５２は、ケースＳ０に該当するか否か判別する。可逆復号化部５２は、復号化対象のブロックのサイズである予測ブロックサイズが８×８画素以下であるときケースＳ０に該当すると判別してステップＳＴ１０３に進み、予測ブロックサイズが８×８画素以下でないときステップＳＴ１０４に進む。
【０１３４】
ステップＳＴ１０３で可逆復号化部５２は、ケースＳ０の候補を予測動きベクトルに決定する。可逆復号化部５２は、ケースＳ０の候補である動きベクトルＭＶ＿Ａ（または動きベクトルＭＶ＿md）を予測動きベクトルに決定してステップＳＴ１０９に進む。
【０１３５】
ステップＳＴ１０４で可逆復号化部５２は、ケースＳ１に該当するか否か判別する。可逆復号化部５２は、予測ブロックサイズが１６×１６画素以下であるときケースＳ１に該当すると判別してステップＳＴ１０５に進み、予測ブロックサイズが１６×１６画素以下でないときステップＳＴ１０７に進む。
【０１３６】
ステップＳＴ１０５で可逆復号化部５２は、予測動きベクトル選択情報の取得を行う。可逆復号化部５２は、蓄積バッファ５１に蓄積された符号化ストリームの復号化を行い復号化対象のブロックについての予測動きベクトル選択情報を取得する。
【０１３７】
ステップＳＴ１０６で可逆復号化部５２は、ケースＳ１の候補から予測動きベクトルに決定する。可逆復号化部５２は、ケースＳ１において予測動きベクトル選択情報で示された候補を予測動きベクトルに決定してステップＳＴ１０９に進む。例えば、可逆復号化部５２は、予測動きベクトル情報がフラグ「０」であるとき、動きベクトルＭＶ＿Ａを予測動きベクトルとする。また、可逆復号化部５２は、予測動きベクトル情報がフラグ「１」であるとき、動きベクトルＭＶ＿Ｃを予測動きベクトルとする。
【０１３８】
ステップＳＴ１０７で可逆復号化部５２は、予測動きベクトル選択情報の取得を行う。可逆復号化部５２は、蓄積バッファ５１に蓄積された符号化ストリームの復号化を行い復号化対象のブロックについての予測動きベクトル選択情報を取得する。
【０１３９】
ステップＳＴ１０８で可逆復号化部５２は、ケースＳ２の候補から予測動きベクトルに決定する。可逆復号化部５２は、ケースＳ２において予測動きベクトル選択情報で示された候補を予測動きベクトルに決定してステップＳＴ１０９に進む。例えば、可逆復号化部５２は、予測動きベクトル情報がフラグ「０」であるとき動きベクトルＭＶ＿Ａを予測動きベクトルとする。可逆復号化部５２は、予測動きベクトル情報がフラグ「１」であるとき、動きベクトルＭＶ＿Ｂを予測動きベクトルとする。可逆復号化部５２は、予測動きベクトル情報がフラグ「２」であるとき動きベクトルＭＶ＿Ｃを予測動きベクトルとする。また、可逆復号化部５２は、予測動きベクトル情報がフラグ「３」であるとき、動きベクトルＭＶ＿coを予測動きベクトルとする。
【０１４０】
ステップＳＴ１０９で可逆復号化部５２は、動きベクトル算出処理を行う。可逆復号化部５２は、ステップＳＴ１０３，１０５，１０７で決定した予測動きベクトルと、符号化ストリームの可逆復号化を行うことにより得られた復号化対象のブロックの差分動きベクトルを加算して、復号化対象のブロックの動きベクトルを算出する。可逆復号化部５２は、算出した動きベクトルを動き補償部６４に出力する。
【０１４１】
次に、図１５のフローチャートを参照して、図１３のステップＳＴ８８の予測処理について説明する。
【０１４２】
ステップＳＴ１１１で可逆復号化部５２は、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号化部５２は、可逆復号化を行うことにより得られた予測モード情報がイントラ予測モード情報であるとき、予測モード情報をイントラ予測部６３に供給してステップＳＴ１１２に進む。また、可逆復号化部５２は、予測モード情報がイントラ予測モード情報でないとき、予測モード情報を動き補償部６４に供給してステップＳＴ１１３に進む。
【０１４３】
ステップＳＴ１１２でイントラ予測部６３は、イントラ予測処理を行う。イントラ予測部６３は、セレクタ６２を介して供給された復号画像データと予測モード情報を用いてイントラ予測を行い、予測画像データを生成する。
【０１４４】
ステップＳＴ１１３で動き補償部６４は、インター予測処理を行う。動き補償部６４は、可逆復号化部５２からの予測モード情報や動きベクトルに基づいて、セレクタ６２を介して供給された復号画像データの動き補償を行う。さらに、動き補償部６４は、動き補償により生成した予測画像データをセレクタ６５に出力する。
【０１４５】
このように、本願発明の画像復号化装置および方法では、予測ブロックサイズの大きさに応じて予測動きベクトルの候補が設定されて、候補の中から画像符号化装置で選択された動きベクトルが予測動きベクトルに決定される。したがって、画像符号化装置において、予測ブロックサイズの大きさに応じて設定した予測動きベクトルの候補から最適な動きベクトルを選択して符号化効率や画質の改善がはかられても、符号化ストリームの復号化を画像復号化装置で正しく行うことができる。
【０１４６】
＜８．動きベクトルの他の予測方法＞
ところで、上述の動きベクトルの予測方法は、予測ブロックサイズに応じて予測動きベクトルの候補を設けて、候補の中から符号化効率が最良となる動きベクトルを予測動きベクトルに決定した。しかし、予測動きベクトルの候補は、予測ブロックサイズに限らず符号化済みまたは復号化済みの隣接ブロックの動きベクトルの違い応じて、予測動きベクトルの候補を設けるようにしてもよい。さらに、隣接ブロックの動きベクトルの違いと予測ブロックサイズに応じて予測動きベクトルの候補を設けてもよい。
【０１４７】
図１６は、隣接ブロックの動きベクトルの違い応じたケース分類とケースごとの予測動きベクトルの候補を示している。
【０１４８】
図１６の（Ａ）に示すように、ケースＭ０は、左側の隣接ブロックの動きベクトルＭＶ＿Ａと、上側の隣接ブロックの動きベクトルＭＶ＿Ｂと、右上側の隣接ブロックの動きベクトルＭＶ＿Ｃの違いが少ない場合とする。また、図１６の（Ｂ）に示すように、ケースＭ１は、動きベクトルＭＶ＿Ａと動きベクトルＭＶ＿Ｂと動きベクトルＭＶ＿Ｃの中で、動きベクトルＭＶ＿Ａと他の動きベクトルとの相違が予め設定されている閾値より大きい場合とする。また、図１６の（Ｃ）に示すように、ケースＭ２は、動きベクトルＭＶ＿Ａと動きベクトルＭＶ＿Ｂと動きベクトルＭＶ＿Ｃの中で、動きベクトルＭＶ＿Ｃと他の動きベクトルとの相違が閾値より大きい場合とする。さらに、図１６の（Ｄ）に示すように、ケースＭ３は、動きベクトルＭＶ＿Ａと動きベクトルＭＶ＿Ｂと動きベクトルＭＶ＿Ｃのそれぞれで動きベクトルの相違が閾値より大きいとき場合とする。
【０１４９】
このように、隣接ブロックの動きベクトルの違い応じてケース分類を行い、図１６の（Ｅ）に示すように、ケースごとに予測動きベクトルの候補を設定する。予測動きベクトルの候補の設定では、予め設定されている閾値を超える相違を生じた動きベクトルのそれぞれを予測動きベクトルの候補とする。
【０１５０】
ケースＭ０では、隣接ブロック間で動きベクトルの相違が少ないことから、何れか１つの隣接ブロックの動きベクトルを予測動きベクトルの候補とする。例えば上側の隣接ブロックの動きベクトルＭＶ＿Ｂを、予測動きベクトルの候補とする。また他の隣接ブロックの動きベクトルを候補としてもよい。
【０１５１】
ケースＭ１では、予め設定されている閾値を超える相違を生じた動きベクトル例えば左側の隣接ブロックの動きベクトルＭＶ＿Ａを第１候補、右上側の隣接ブロックの動きベクトルＭＶ＿Ｃを第２候補とする。なお、動きベクトルＭＶ＿Ａと動きベクトルＭＶ＿Ｂの相違が閾値を超えても、動きベクトルＭＶ＿Ｂと動きベクトルＭＶ＿Ｃの相違が少ないので、動きベクトルＭＶ＿Ｂと動きベクトルＭＶ＿Ｃの何れか一方を候補とする。
【０１５２】
ケースＭ２では、例えば左側の隣接ブロックの動きベクトルＭＶ＿Ａを第１候補、右上側の隣接ブロックの動きベクトルＭＶ＿Ｃを第２候補とする。
【０１５３】
ケースＭ３では、各隣接ブロック間で動きベクトルの相違が閾値を超えていることから、例えば左側の隣接ブロックの動きベクトルＭＶ＿Ａを第１候補、上側の隣接ブロックの動きベクトルＭＶ＿Ｂを第２候補、右上側の隣接ブロックの動きベクトルＭＶ＿Ｃを第３候補とする。
【０１５４】
＜９．可逆符号化部の他の構成＞
図１７は、可逆符号化部における動きベクトルに関する他の構成を示している。可逆符号化部１６は、動きベクトル記憶部１６１、ケース分類部１６２、動きベクトル選択部１６５ａ、減算部１６６、第１符号化処理部１６７、第２符号化処理部１６８を備えている。
【０１５５】
動きベクトル記憶部１６１は、符号化対象のブロックよりも前に符号化が行われる隣接ブロックの動きベクトルを用いて予測動きベクトルの決定を行うため、ブロックごとの動きベクトルを記憶する。なお、動きベクトル記憶部１６１は、ダイレクトモードに対応するとき参照ピクチャにおける符号化対象と同一のブロックの動きベクトルも記憶する。
【０１５６】
ケース分類部１６２は、隣接ブロックの動きベクトルの違い応じてケース分類を行い、ケース分類結果を動きベクトル選択部１６５ａに供給する。
【０１５７】
動きベクトル選択部１６５ａは、ケース分類結果に基づき、動きベクトル記憶部１６１に記憶されている隣接ブロックの動きベクトルや参照ピクチャにおける符号化対象と同一のブロックの動きベクトルから予測動きベクトルの候補を設定する。また、動きベクトル選択部１６５ａは、動き予測・補償部３２から供給されたコスト関数値に基づき、予測動きベクトルの候補から予測動きベクトルを決定する。動きベクトル選択部１６５ａは、決定した予測動きベクトルを減算部１６６に出力する。また、動きベクトル選択部１６５ａは、予測ブロックサイズに応じたケース分類も合わせて行う場合、予測ブロックサイズ情報とケース分類結果に基づき、動きベクトル記憶部１６１に記憶されている隣接ブロックの動きベクトルおよび参照ピクチャにおける符号化対象と同一のブロックの動きベクトルから予測動きベクトルの候補を設定する。動きベクトル選択部１６５ａで決定された予測動きベクトルは、減算部１６６に出力される。例えば、予測ブロックサイズが１６×１６画素以下のときには予測ブロックサイズに応じたケース分類を行い、１６×１６画素よりも大きいときには隣接ブロックの動きベクトルの違い応じたケース分類を行ってケースごとの予測動きベクトルの候補を設定する。このように、予測ブロックサイズが大きく予測精度が低下するような場合、動きベクトルの違い応じたケース分類を行うようにすれば、隣接ブロックの動きベクトルの相違が少ないときは候補の数が少なくなるので、予測動きベクトルを効率良く決定できる。
【０１５８】
減算部１６６は、動き予測・補償部３２または予測画像・最適モード選択部３３からの動きベクトル情報で示された動きベクトルと、動きベクトル選択部１６５ａから出力された予測動きベクトルとの差分である差分動きベクトルを算出する。減算部１６６は、算出した差分動きベクトルを示す差分動きベクトル情報を第１符号化処理部１６７に出力する。
【０１５９】
第１符号化処理部１６７は、ＶＬＣテーブルまたは算術符号を用いて差分動きベクトル情報の符号化を行う。また、第２符号化処理部１６８は、ＶＬＣテーブルまたは算術符号を用いて予測ブロックサイズ情報と予測動きベクトル選択情報の符号化を行う。第１符号化処理部１６７と第２符号化処理部１６８で符号化された情報は、上述のように符号化ストリームのヘッダ情報に付加される。
【０１６０】
＜１０．他の構成の可逆符号化部の動作＞
次に、可逆符号化部１６で行われる動きベクトルに関する他の符号化処理について、図１８のフローチャートを用いて説明する。なお、図１８では、図１６に示すようにケース分類と候補の設定を行った場合を示している。また、隣接ブロックの動きベクトルの違いと予測ブロックサイズに応じて予測動きベクトルの候補を設ける場合、例えば符号化対象のブロックの予測ブロックサイズが１６×１６画素よりも大きい場合、図１８の処理を行えばよい。
【０１６１】
ステップＳＴ１２１で可逆符号化部１６は、隣接ブロックの動きベクトルの差分を算出する。可逆符号化部１６は、例えば左側の隣接ブロックの動きベクトルＭＶ＿Ａと上側の隣接ブロックの動きベクトルＭＶ＿Ｂとの差分動きベクトルＭＶＤ＿ＡＢを算出する。また、可逆符号化部１６は、上側の隣接ブロックの動きベクトルＭＶ＿Ｂと右上側の隣接ブロックの動きベクトルＭＶ＿Ｃとの差分動きベクトルＭＶＤ＿ＢＣを算出する。
【０１６２】
ステップＳＴ１２２で可逆符号化部１６は、差分動きベクトルＭＶＤ＿ＡＢが閾値よりも小さいか否か判別する。可逆符号化部１６は、差分動きベクトルＭＶＤ＿ＡＢの水平成分ＭＶＤ＿ＡＢxが閾値Ｔｈabxよりも小さく、差分動きベクトルＭＶＤ＿ＡＢの垂直成分ＭＶＤ＿ＡＢyが閾値Ｔｈabyよりも小さいときステップＳＴ１２３に進む。また、可逆符号化部１６は、他の場合にステップＳＴ１２７に進む。
【０１６３】
ステップＳＴ１２３で可逆符号化部１６は、差分動きベクトルＭＶＤ＿ＢＣが閾値よりも小さいか否か判別する。可逆符号化部１６は、差分動きベクトルＭＶＤ＿ＢＣの水平成分ＭＶＤ＿ＢＣxが閾値Ｔｈbcxよりも小さく、差分動きベクトルＭＶＤ＿ＢＣの垂直成分ＭＶＤ＿ＢＣyが閾値Ｔｈbcyよりも小さいときステップＳＴ１２４に進む。また、可逆符号化部１６は、他の場合にステップＳＴ１２５に進む。
【０１６４】
ステップＳＴ１２４で可逆符号化部１６は、ケースＭ０の候補を予測動きベクトルに決定する。可逆符号化部１６は、ステップＳＴ１２２とステップＳＴ１２３の条件を満たすときケースＭ０に該当することから、ケースＭ０の候補である動きベクトルＭＶ＿Ｂを予測動きベクトルに決定してステップＳＴ１３２に進む。
【０１６５】
ステップＳＴ１２５で可逆符号化部１６は、ケースＭ２の候補から予測動きベクトルに決定する。可逆符号化部１６は、ステップＳＴ１２２の条件を満たしステップＳＴ１２３の条件を満たさないときケースＭ２に該当することから、ケースＭ２の候補から予測動きベクトルに決定する。可逆符号化部１６は、ケースＭ２であるとき、図１６に示すように動きベクトルＭＶ＿Ａ、動きベクトルＭＶ＿Ｃが予測動きベクトルの候補とされている。したがって、可逆符号化部１６は、第１候補である動きベクトルＭＶ＿Ａを用いたときのコスト関数値と、第２候補である動きベクトルＭＶ＿Ｃを用いたときのコスト関数値を比較して、コスト関数値が小さい動きベクトルを予測動きベクトルに決定する。
【０１６６】
ステップＳＴ１２６で可逆符号化部１６は、予測動きベクトル選択情報を生成する。可逆符号化部１６は、ステップＳＴ１２５で決定した予測動きベクトルを示す予測動きベクトル選択情報を生成する。例えば、可逆符号化部１６は、予測動きベクトル選択情報としてフラグを用いる。可逆符号化部１６は、動きベクトルＭＶ＿Ａが予測動きベクトルに決定されたときはフラグを「０」、動きベクトルＭＶ＿Ｃが予測動きベクトルに決定されたときはフラグを「１」に設定してステップＳＴ１３２に進む。
【０１６７】
ステップＳＴ１２２からステップＳＴ１２７に進むと、可逆符号化部１６は、差分動きベクトルＭＶＤ＿ＢＣが閾値よりも小さいか否か判別する。可逆符号化部１６は、差分動きベクトルＭＶＤ＿ＢＣの水平成分ＭＶＤ＿ＢＣxが閾値Ｔｈbcxよりも小さく、差分動きベクトルＭＶＤ＿ＢＣの垂直成分ＭＶＤ＿ＢＣyが閾値Ｔｈbcyよりも小さいときステップＳＴ１２８に進む。また、可逆符号化部１６は、他の場合にステップＳＴ１３０に進む。
【０１６８】
ステップＳＴ１２８で可逆符号化部１６は、ケースＭ１候補から予測動きベクトルに決定する。可逆符号化部１６は、ステップＳＴ１２２の条件を満たさずステップＳＴ１２７の条件を満たすときケースＭ１に該当することから、ケースＭ１の候補から予測動きベクトルに決定する。可逆符号化部１６は、ケースＭ１であるとき、図１６に示すように動きベクトルＭＶ＿Ａ、動きベクトルＭＶ＿Ｃが予測動きベクトルの候補とされている。したがって、可逆符号化部１６は、第１候補である動きベクトルＭＶ＿Ａを用いたときのコスト関数値と、第２候補である動きベクトルＭＶ＿Ｃを用いたときのコスト関数値を比較して、コスト関数値が小さい動きベクトルを予測動きベクトルに決定する。
【０１６９】
ステップＳＴ１２９で可逆符号化部１６は、予測動きベクトル選択情報を生成する。可逆符号化部１６は、ステップＳＴ１２８で決定した予測動きベクトルを示す予測動きベクトル選択情報を生成する。例えば、可逆符号化部１６は、予測動きベクトル選択情報としてフラグを用いる。可逆符号化部１６は、動きベクトルＭＶ＿Ａが予測動きベクトルに決定されたときはフラグを「０」、動きベクトルＭＶ＿Ｃが予測動きベクトルに決定されたときはフラグを「１」に設定してステップＳＴ１３２に進む。
【０１７０】
ステップＳＴ１３０で可逆符号化部１６は、ケースＭ３候補から予測動きベクトルに決定する。可逆符号化部１６は、ステップＳＴ１２２およびステップＳＴ１２７の条件を満たさないときケースＭ３に該当することから、ケースＭ３の候補から予測動きベクトルに決定する。可逆符号化部１６は、ケースＭ３であるとき、図１６に示すように動きベクトルＭＶ＿Ａ、動きベクトルＭＶ＿Ｂ、動きベクトルＭＶ＿Ｃが予測動きベクトルの候補とされている。したがって、可逆符号化部１６は、第１候補である動きベクトルＭＶ＿Ａを用いたときのコスト関数値と、第２候補である動きベクトルＭＶ＿Ｂを用いたときのコスト関数値と、第３候補である動きベクトルＭＶ＿Ｃを用いたときのコスト関数値を比較する。可逆符号化部１６は、比較結果に基づき、コスト関数値が小さい動きベクトルを予測動きベクトルに決定する。
【０１７１】
ステップＳＴ１３１で可逆符号化部１６は、予測動きベクトル選択情報を生成する。可逆符号化部１６は、ステップＳＴ１３０で決定した予測動きベクトルを示す予測動きベクトル選択情報を生成する。例えば、可逆符号化部１６は、予測動きベクトル選択情報としてフラグを用いる。可逆符号化部１６は、動きベクトルＭＶ＿Ａが予測動きベクトルに決定されたときはフラグを「０」に設定する。また、可逆符号化部１６は、動きベクトルＭＶ＿Ｂが予測動きベクトルに決定されたときはフラグを「１」、動きベクトルＭＶ＿Ｃが予測動きベクトルに決定されたときはフラグを「２」に設定してステップＳＴ１３２に進む。
【０１７２】
ステップＳＴ１３２で可逆符号化部１６は、可逆符号化処理を行う。可逆符号化部１６は、ステップＳＴ１２４，１２５，１２８，１３０で決定した予測動きベクトルと符号化対象のブロックの動きベクトルとの差分を可逆符号化する。また、可逆符号化部１６は、予測動きベクトル選択情報と予測ブロックサイズを示す情報等を可逆符号化する。
【０１７３】
このように、本願の画像符号化装置および方法では、隣接ブロックの動きベクトルの相違に応じて、予測動きベクトルの候補が設定されて、候補の中から符号化効率が最良となる動きベクトルが予測動きベクトルに決定される。したがって、符号化効率や画質の改善をはかることができる。また、ケースＭ０のように予測動きベクトルの候補が１つである場合には、予測動きベクトル選択情報が不要である。したがって、予測動きベクトルの候補が複数である場合にのみ予測動きベクトル選択情報を伝送することで、符号化効率をさらに改善できる。
【０１７４】
＜１１．可逆復号化部の他の構成＞
図１９は、可逆復号化部における動きベクトルに関する他の構成を示している。可逆復号化部５２は、第１復号化処理部５２１、第２復号化処理部５２２、動きベクトル記憶部５２３、ケース分類部５２４、動きベクトル選択部５２５ａ、加算部５２６とを備えている。
【０１７５】
第１復号化処理部５２１は、第１符号化処理部１６７で行われた符号化に対応する復号化処理を行う。第１復号化処理部５２１は、ＶＬＣテーブルまたは算術符号を用いて符号化ストリームの可逆復号化処理を行い、差分動きベクトル情報を生成する。
【０１７６】
第２復号化処理部５２２は、第２符号化処理部１６８で行われた符号化に対応する復号化処理を行う。第２復号化処理部５２２は、ＶＬＣテーブルまたは算術符号を用いて符号化ストリームの可逆復号化処理を行い、予測ブロックサイズ情報と予測動きベクトル選択情報等を生成する。
【０１７７】
動きベクトル記憶部５２３は、符号化対象のブロックよりも前に符号化が行われる隣接ブロックの動きベクトル等を用いて予測動きベクトルを決定するため、ブロックごとの動きベクトルを記憶する。なお、動きベクトル記憶部５２３は、ダイレクトモードに対応するとき参照ピクチャにおける符号化対象と同一のブロックの動きベクトルも記憶する。
【０１７８】
ケース分類部５２４は、隣接ブロックの動きベクトルの違い応じてケース分類を行い、
このケース分類は、符号化側のケース分類部１６２と等しくする。このケース分類は、符号化側のケース分類部１６２と等しくする。
【０１７９】
動きベクトル選択部５２５ａは、ケース分類結果に基づき、動きベクトル記憶部５２３に記憶されている隣接ブロックの動きベクトルおよび参照ピクチャにおける符号化対象と同一のブロックの動きベクトルから、予測動きベクトルの候補を設定する。この予測動きベクトルの候補の設定は、符号化側の動きベクトル選択部１６５ａと等しくする。さらに、動きベクトル選択部５２５ａは、第２復号化処理部５２２から出力された予測動きベクトル選択情報に基づき、予測動きベクトルの候補から動きベクトルを選択して予測動きベクトルとして加算部５２６に出力する。また、動きベクトル選択部５２５ａは、予測ブロックサイズに応じたケース分類も合わせて行う場合、予測ブロックサイズ情報とケース分類結果と予測動きベクトル選択情報に基づき、動きベクトル記憶部５２３に記憶されている隣接ブロックの動きベクトルから予測動きベクトルの候補を設定する。さらに、動きベクトル選択部５２５ａは、予測動きベクトルの候補から予測動きベクトル選択情報に基づき予測動きベクトルを決定して加算部５２６に出力する。このようにすれば、例えば予測ブロックサイズが１６×１６画素よりも大きいとき、隣接ブロックの動きベクトルの違い応じたケース分類とケースごとの予測動きベクトルの候補を設定して、符号化効率が最良となる予測動きベクトルを決定されても、画像復号化装置でこの予測動きベクトルを用いて復号化処理を行うことができる。
【０１８０】
加算部５２６は、第１復号化処理部５２１から出力された差分動きベクトル情報で示された差分動きベクトルに、動きベクトル選択部５２５ａから出力された予測動きベクトルを加算する。加算部５２６は、差分動きベクトルと予測動きベクトルを加算することで、符号化対象のブロックにおける動きベクトルを算出して動き補償部６４に出力する。
【０１８１】
＜１２．他の構成の可逆復号化部の動作＞
次に、可逆復号化部５２で行われる動きベクトルに関する他の復号化処理について、図２０のフローチャートを用いて説明する。なお、図２０においても、図１６に示すようにケース分類と候補の設定が行われている場合を示している。また、画像符号化において、例えば符号化対象のブロックの予測ブロックサイズが１６×１６画素よりも大きい場合、図１８の処理が行われるとき、予測モード情報で示された予測ブロックサイズが１６×１６画素よりも大きい場合、図２０の処理を行うようにする。
【０１８２】
ステップＳＴ１４１で可逆復号化部５２は、復号化済みである隣接ブロックの動きベクトルの差分を算出する。例えば、可逆復号化部５２は、左側の隣接ブロックの動きベクトルＭＶ＿Ａと上側の隣接ブロックの動きベクトルＭＶ＿Ｂとの差分動きベクトルＭＶＤ＿ＡＢを算出する。また、可逆復号化部５２は、上側の隣接ブロックの動きベクトルＭＶ＿Ｂと右上側の隣接ブロックの動きベクトルＭＶ＿Ｃとの差分動きベクトルＭＶＤ＿ＢＣを算出する。
【０１８３】
ステップＳＴ１４２で可逆復号化部５２は、差分動きベクトルＭＶＤ＿ＡＢが閾値よりも小さいか否か判別する。可逆復号化部５２は、差分動きベクトルＭＶＤ＿ＡＢの水平成分ＭＶＤ＿ＡＢxが閾値Ｔｈabxよりも小さく、差分動きベクトルＭＶＤ＿ＡＢの垂直成分ＭＶＤ＿ＡＢyが閾値Ｔｈabyよりも小さいときステップＳＴ１４３に進む。また、可逆復号化部５２は、他の場合にステップＳＴ１４７に進む。
【０１８４】
ステップＳＴ１４３で可逆復号化部５２は、差分動きベクトルＭＶＤ＿ＢＣが閾値よりも小さいか否か判別する。可逆復号化部５２は、差分動きベクトルＭＶＤ＿ＢＣの水平成分ＭＶＤ＿ＢＣxが閾値Ｔｈbcxよりも小さく、差分動きベクトルＭＶＤ＿ＢＣの垂直成分ＭＶＤ＿ＢＣyが閾値Ｔｈbcyよりも小さいときステップＳＴ１４４に進む。また、可逆復号化部５２は、他の場合にステップＳＴ１４５に進む。
【０１８５】
ステップＳＴ１４４で可逆復号化部５２は、ケースＭ０の候補を予測動きベクトルに決定する。可逆復号化部５２は、ステップＳＴ１４２とステップＳＴ１４３の条件を満たすときケースＭ０に該当することから、ケースＭ０の候補である動きベクトルＭＶ＿Ｂを予測動きベクトルに決定してステップＳＴ１５２に進む。
【０１８６】
ステップＳＴ１４５で可逆復号化部５２は、予測動きベクトル選択情報の取得を行う。可逆復号化部５２は、蓄積バッファ５１に蓄積された符号化ストリームの復号化を行い復号化対象のブロックについての予測動きベクトル選択情報を取得する。
【０１８７】
ステップＳＴ１４６で可逆復号化部５２は、ケースＭ２の候補から予測動きベクトルに決定する。可逆復号化部５２は、ステップＳＴ１４２の条件を満たしておりステップＳＴ１４３の条件を満たしていないときケースＭ２に該当することから、ケースＭ２において予測動きベクトル選択情報で示された候補を予測動きベクトルに決定する。例えば、可逆復号化部５２は、予測動きベクトル選択情報がフラグ「０」を示しているとき、動きベクトルＭＶ＿Ａを予測動きベクトルに決定する。また、可逆復号化部５２は、予測動きベクトル選択情報がフラグ「１」を示しているとき、動きベクトルＭＶ＿Ｃを予測動きベクトルに決定する。
【０１８８】
ステップＳＴ１４２からステップＳＴ１４７に進むと、可逆復号化部５２は、差分動きベクトルＭＶＤ＿ＢＣが閾値よりも小さいか否か判別する。可逆復号化部５２は、差分動きベクトルＭＶＤ＿ＢＣの水平成分ＭＶＤ＿ＢＣxが閾値Ｔｈbcxよりも小さく、差分動きベクトルＭＶＤ＿ＢＣの垂直成分ＭＶＤ＿ＢＣyが閾値Ｔｈbcyよりも小さいときステップＳＴ１４８に進む。また、可逆復号化部５２は、他の場合にステップＳＴ１５０に進む。
【０１８９】
ステップＳＴ１４８で可逆復号化部５２は、予測動きベクトル選択情報の取得を行う。可逆復号化部５２は、蓄積バッファ５１に蓄積された符号化ストリームの復号化を行い復号化対象のブロックについての予測動きベクトル選択情報を取得する。
【０１９０】
ステップＳＴ１４９で可逆復号化部５２は、ケースＭ１の候補から予測動きベクトルに決定する。可逆復号化部５２は、ステップＳＴ１４２の条件を満たしておらずステップＳＴ１４３の条件を満たしているときケースＭ１に該当することから、ケースＭ１において予測動きベクトル選択情報で示された候補を予測動きベクトルに決定する。例えば、可逆復号化部５２は、予測動きベクトル選択情報がフラグ「０」を示しているとき、動きベクトルＭＶ＿Ａを予測動きベクトルに決定する。また、可逆復号化部５２は、予測動きベクトル選択情報がフラグ「１」を示しているとき、動きベクトルＭＶ＿Ｃを予測動きベクトルに決定する。
【０１９１】
ステップＳＴ１５０で可逆復号化部５２は、予測動きベクトル選択情報の取得を行う。可逆復号化部５２は、蓄積バッファ５１に蓄積された符号化ストリームの復号化を行い復号化対象のブロックについての予測動きベクトル選択情報を取得する。
【０１９２】
ステップＳＴ１５１で可逆復号化部５２は、ケースＭ３の候補から予測動きベクトルに決定する。可逆復号化部５２は、ステップＳＴ１４２とステップＳＴ１４７の条件を満たしておらずケースＭ３に該当することから、ケースＭ３において予測動きベクトル選択情報で示された候補を予測動きベクトルに決定する。例えば、可逆復号化部５２は、予測動きベクトル選択情報がフラグ「０」を示しているとき、動きベクトルＭＶ＿Ａを予測動きベクトル、予測動きベクトル選択情報がフラグ「１」を示しているとき、動きベクトルＭＶ＿Ｂを予測動きベクトルに決定する。また、可逆復号化部５２は、予測動きベクトル選択情報がフラグ「２」を示しているとき、動きベクトルＭＶ＿Ｃを予測動きベクトルに決定する。
【０１９３】
ステップＳＴ１５２で可逆復号化部５２は、動きベクトル算出処理を行う。可逆復号化部５２は、ステップＳＴ１４４，１４６，１４９，１５１で決定した予測動きベクトルと、符号化ストリームの可逆復号化を行うことにより得られた復号化対象のブロックの差分動きベクトルを加算して、復号化対象のブロックの動きベクトルを算出する。可逆復号化部５２は、算出した動きベクトルを動き補償部６４に出力する。
【０１９４】
このように、本願発明の画像復号化装置および方法では、復号化済みの隣接ブロックの動きベクトルの相違に応じて、予測動きベクトルの候補が設定されて、候補の中から画像符号化装置で選択された動きベクトルが予測動きベクトルに決定される。したがって、画像符号化装置において、隣接ブロックの動きベクトルの相違に応じて設定した予測動きベクトルの候補から最適な動きベクトルを選択して符号化効率や画質の改善がはかられても、符号化ストリームの復号化を画像復号化装置で正しく行える。また、隣接ブロックの動きベクトルの相違に応じてケース分類が行われることから、ケース分類に関する情報を符号化ストリームに含める必要もない。
【０１９５】
＜１３．動きベクトルの他の予測方法＞
次に、動きベクトルの他の予測方法として、符号化済みまたは復号化済みの隣接ブロックの動きベクトルに基づき、同等の動きを生じているブロックの連続性の判別して、判別結果に基づき予測動きベクトルの候補を設けた場合について説明する。
【０１９６】
図２１は、同等の動きを生じているブロックの連続性に応じたケース分類を説明するための図である。同等の動きを生じているブロックの連続性の判定は、隣接ブロックにおいて隣り合うブロックとの動きベクトルの差を用いて行う。なお、連続性の判定では、右上側に位置する隣接ブロックと左側に位置する隣接ブロックとの動きベクトルの差を含めてもよい。２つのブロックが同等の動きを示している場合、算出した差分動きベクトルの大きさ（動き量）は小さい。したがって、連続性の判別は、２つのブロックの差分動きベクトルの大きさが閾値以下であるとき同等の動きを生じているブロック、差分動きベクトルの大きさが閾値よりも大きいときは２つのブロックが異なる動きを生じているブロックと判別する。
【０１９７】
連続性の判別は、例えば、図２１に示すように、左側の隣接ブロックの動きベクトルＭＶ＿Ａと、左上側の隣接ブロックの動きベクトルＭＶ＿Ｄとの差分動きベクトルＭＶＤ＿ＡＤを算出する。この差分動きベクトルＭＶＤ＿ＡＤが閾値Ｔｊad以下であるときは判定結果（ＭｏＤ＿ＡＤ）を「０」、閾値Ｔｊadより大きいときは判定結果（ＭｏＤ＿ＡＤ）を「１」とする。なお、判定結果「０」は、２つのブロックが同等の動きを生じている連続するブロックであることを示している。また、判定結果「１」は、２つのブロックが異なる動きを生じている非連続のブロックであることを示している。
【０１９８】
同様に、左上側の隣接ブロックの動きベクトルＭＶ＿Ｄと、上側の隣接ブロックの動きベクトルＭＶ＿Ｂとの差分動きベクトルＭＶＤ＿ＤＢを算出して、差分動きベクトルＭＶＤ＿ＤＢと閾値Ｔｊdbとの比較に基づきＭｏＤ＿ＤＢを決定する。また、上側の隣接ブロックの動きベクトルＭＶ＿Ｂと、右上側の隣接ブロックの動きベクトルＭＶ＿Ｃとの差分動きベクトルＭＶＤ＿ＢＣを算出して、差分動きベクトルＭＶＤ＿ＢＣと閾値Ｔｊbcとの比較に基づきＭｏＤ＿ＢＣを決定する。また、右上側の隣接ブロックの動きベクトルＭＶ＿Ｃと、左側の隣接ブロックの動きベクトルＭＶ＿Ａとの差分動きベクトルＭＶＤ＿ＣＡを算出して、差分動きベクトルＭＶＤ＿ＣＡと閾値Ｔｊcaとの比較に基づきＭｏＤ＿ＣＡを決定する。
【０１９９】
次に、ケース分類は、連続性の判定結果であるＭｏＤ＿ＡＤ，ＭｏＤ＿ＤＢ，ＭｏＤ＿ＢＣ，ＭｏＤ＿ＣＡを用いて行う。さらに、分類されたケースに応じて予測動きベクトルの候補を決定する。なお、予測動きベクトルの候補は、予め学習によってケースごとに決定しておく。
【０２００】
図２２は、ケースごとの予測動きベクトルの候補を例示している。例えばケースｍ０は、ＭｏＤ＿ＡＤ＝０、ＭｏＤ＿ＤＢ＝０、ＭｏＤ＿ＢＣ＝０、ＭｏＤ＿ＣＡ＝０の場合であり、予測動きベクトルの第１候補を動きベクトルＭＶ＿Ａとする。また、ケースｍ８は、ＭｏＤ＿ＡＤ＝１、ＭｏＤ＿ＤＢ＝０、ＭｏＤ＿ＢＣ＝０、ＭｏＤ＿ＣＡ＝０の場合であり、予測動きベクトルの第１候補を動きベクトルＭＶ＿Ａ、第２候補を動きベクトルＭＶ＿Ｃとする。また、ケースｍ１５は、ＭｏＤ＿ＡＤ＝１、ＭｏＤ＿ＤＢ＝１、ＭｏＤ＿ＢＣ＝１、ＭｏＤ＿ＣＡ＝１の場合であり、予測動きベクトルの第１候補を動きベクトルＭＶ＿Ａ、第２候補をＭＶ＿Ｂ、第３候補をＭＶ＿Ｃとする。
【０２０１】
＜１４．可逆符号化部の他の構成と動作＞
同等の動きを生じているブロックの連続性の判別結果に基づき予測動きベクトルの候補を設ける場合、可逆符号化部における動きベクトルに関する他の構成は、図１７と同様とする。なお、図１７におけるケース分類部１６２は、同等の動きを生じているブロックの連続性の判別結果に基づきケース分類を行い、ケース分類結果を動きベクトル選択部１６５ａに供給する。また、動きベクトル選択部１６５ａは、ケース分類結果に基づき、図２２に示すように、予測動きベクトルの候補を設定する。
【０２０２】
図２３は、可逆符号化部１６で行われる動きベクトルに関する他の符号化処理を示すフローチャートである。
【０２０３】
ステップＳＴ１６１で可逆符号化部１６は、隣接ブロックの動きベクトルの差分を算出する。可逆符号化部１６は、隣接ブロック間で、隣り合うブロックとの動きベクトルの差を算出する。また、可逆符号化部１６は、右上側に位置する隣接ブロックと左側に位置する隣接ブロックとの動きベクトルの差を算出する。すなわち、可逆符号化部１６は、差分動きベクトルＭＶＤ＿ＡＤ，ＭＶＤ＿ＤＢ，ＭＶＤ＿ＢＣ，ＭＶＤ＿ＣＡを算出してステップＳＴ１６２に進む。
【０２０４】
ステップＳＴ１６２で可逆符号化部１６は、ＭｏＤを決定する。可逆符号化部１６は、差分動きベクトルＭＶＤ＿ＡＤと閾値Ｔｊadを比較してＭｏＤ＿ＡＤを決定する。可逆符号化部１６は、差分動きベクトルＭＶＤ＿ＡＤが閾値Ｔｊad以下であるときＭｏＤ＿ＡＤを「０」とする。また、可逆符号化部１６は、差分動きベクトルＭＶＤ＿ＡＤが閾値Ｔｊadよりも大きいときＭｏＤ＿ＡＤを「１」とする。同様に、可逆符号化部１６は、差分動きベクトルＭＶＤ＿ＤＢ，ＭＶＤ＿ＢＣ，ＭＶＤ＿ＣＡと、閾値Ｔｊdb，Ｔｊbc，Ｔｊcaを比較して、ＭｏＤ＿ＤＢ，ＭｏＤ＿ＢＣ，ＭｏＤ＿ＣＡを決定してステップＳＴ１６３に進む。
【０２０５】
ステップＳＴ１６３で可逆符号化部１６は、ケース分類を行う。可逆符号化部１６は、ＭｏＤ＿ＡＤとＭｏＤ＿ＤＢとＭｏＤ＿ＢＣおよびＭｏＤ＿ＣＡの値に基づき、例えば図２２のようにケース分類を行ってステップＳＴ１６４に進む。
【０２０６】
ステップＳＴ１６４は、判別されたケースにおける候補から予測動きベクトルに決定する。可逆符号化部１６は、ステップＳＴ１６３で判別されたケースにおける予測動きベクトルの候補から、予測動きベクトルに決定する。可逆符号化部１６は、判別されたケースにおいて予測動きベクトルの候補が１つであるときは、この候補を予測動きベクトルに決定する。例えば、図２２に示すように、ＭｏＤ＿ＡＤ＝０、ＭｏＤ＿ＤＢ＝０、ＭｏＤ＿ＢＣ＝０、ＭｏＤ＿ＣＡ＝０であるケースｍ０では、予測動きベクトルの候補が動きベクトルＭＶ＿Ａの１つである。したがって、動きベクトルＭＶ＿Ａを予測動きベクトルに決定する。
【０２０７】
可逆符号化部１６は、判別されたケースにおいて予測動きベクトルの候補が複数であるとき、各候補を用いたときのコスト関数値を算出して、コスト関数値が最も小さい候補を予測動きベクトルに決定する。
【０２０８】
例えば、図２２に示すように、ＭｏＤ＿ＡＤ＝１、ＭｏＤ＿ＤＢ＝０、ＭｏＤ＿ＢＣ＝０、ＭｏＤ＿ＣＡ＝０であるケースｍ８では、予測動きベクトルの候補が動きベクトルＭＶ＿Ａ，ＭＶ＿Ｃの２つである。したがって、可逆符号化部１６は、第１候補である動きベクトルＭＶ＿Ａを用いたときのコスト関数値と、第２候補である動きベクトルＭＶ＿Ｃを用いたときのコスト関数値を比較して、コスト関数値が小さい動きベクトルを予測動きベクトルに決定する。
【０２０９】
ステップＳＴ１６５で可逆符号化部１６は、予測動きベクトル選択情報を生成する。可逆符号化部１６は、ステップＳＴ１６４で決定した予測動きベクトルを示す予測動きベクトル選択情報を生成する。例えば、可逆符号化部１６は、予測動きベクトル選択情報としてフラグを用いる。可逆符号化部１６は、第１候補が予測動きベクトルに決定されたときはフラグを「０」、第２候補が予測動きベクトルに決定されたときはフラグを「１」、第３候補が予測動きベクトルに決定されたときはフラグを「２」に設定してステップＳＴ１６６に進む。
【０２１０】
ステップＳＴ１６６で可逆符号化部１６は、可逆符号化処理を行う。可逆符号化部１６は、ステップＳＴ１６４で決定した予測動きベクトルと符号化対象のブロックの動きベクトルとの差分を可逆符号化する。また、可逆符号化部１６は、予測動きベクトル選択情報と予測ブロックサイズを示す情報等を可逆符号化する。
【０２１１】
このように、同等の動きを生じているブロックの連続性の判別結果に応じて、予測動きベクトルの候補が設定されて、候補の中から符号化効率が最良となる動きベクトルが予測動きベクトルに決定される。したがって、符号化効率や画質の改善をはかることができる。また、予測動きベクトルの候補が１つである場合には、予測動きベクトル選択情報が不要である。したがって、予測動きベクトルの候補が複数である場合にのみ予測動きベクトル選択情報を伝送することで、符号化効率をさらに改善できる。
【０２１２】
＜１５．可逆復号化部の他の構成と動作＞
同等の動きを生じているブロックの連続性の判別結果に基づき予測動きベクトルの候補を設ける場合、可逆復号化部における動きベクトルに関する他の構成は、図１９と同様とする。なお、図１９におけるケース分類部５２４は、同等の動きを生じているブロックの連続性の判別結果に基づきケース分類を行い、ケース分類結果を動きベクトル選択部５２５ａに供給する。また、動きベクトル選択部５２５ａは、ケース分類結果に基づき、図２２に示すように、予測動きベクトルの候補を設定する。
【０２１３】
図２４は、可逆復号化部５２で行われる動きベクトルに関する他の復号化処理を示すフローチャートである。なお、図２４においても、図２１，２２に示すようにケース分類と候補の設定が行われている場合を示している。また、画像符号化において、例えば符号化対象のブロックの予測ブロックサイズが１６×１６画素よりも大きい場合、図２３の処理が行われるとき、予測モード情報で示された予測ブロックサイズが１６×１６画素よりも大きい場合、図２４の処理を行うようにする。
【０２１４】
ステップＳＴ１７１で可逆復号化部５２は、復号化済みである隣接ブロックの動きベクトルの差分を算出する。例えば、可逆復号化部５２は、隣接ブロック間で、隣り合うブロックとの動きベクトルの差を算出する。また、可逆符号化部１６は、右上側に位置する隣接ブロックと左側に位置する隣接ブロックとの動きベクトルの差を算出する。すなわち、可逆符号化部１６は、差分動きベクトルＭＶＤ＿ＡＤ，ＭＶＤ＿ＤＢ，ＭＶＤ＿ＢＣ，ＭＶＤ＿ＣＡを算出してステップＳＴ１７２に進む。
【０２１５】
ステップＳＴ１７２で可逆復号化部５２は、ＭｏＤを決定する。可逆復号化部５２は、差分動きベクトルＭＶＤ＿ＡＤと閾値Ｔｊadを比較してＭｏＤ＿ＡＤを決定する。可逆復号化部５２は、差分動きベクトルＭＶＤ＿ＡＤが閾値Ｔｊad以下であるときＭｏＤ＿ＡＤを「０」とする。また、可逆復号化部５２は、差分動きベクトルＭＶＤ＿ＡＤが閾値Ｔｊadよりも大きいときＭｏＤ＿ＡＤを「１」とする。同様に、可逆復号化部５２は、差分動きベクトルＭＶＤ＿ＤＢ，ＭＶＤ＿ＢＣ，ＭＶＤ＿ＣＡと、閾値Ｔｊdb，Ｔｊbc，Ｔｊcaを比較して、ＭｏＤ＿ＤＢ，ＭｏＤ＿ＢＣ，ＭｏＤ＿ＣＡを決定してステップＳＴ１７３に進む。
【０２１６】
ステップＳＴ１７３で可逆復号化部５２は、ケース分類を行う。可逆復号化部５２は、ＭｏＤ＿ＡＤとＭｏＤ＿ＤＢとＭｏＤ＿ＢＣおよびＭｏＤ＿ＣＡの値に基づき、例えば図２１，２２のようにケース分類を行ってステップＳＴ１７４に進む。
【０２１７】
ステップＳＴ１７４で可逆復号化部５２は、予測動きベクトル選択情報の取得を行う。可逆復号化部５２は、蓄積バッファ５１に蓄積された符号化ストリームの復号化を行い復号化対象のブロックについての予測動きベクトル選択情報を取得してステップＳＴ１７５に進む。
【０２１８】
ステップＳＴ１７５で可逆復号化部５２は、判別されたケースにおける候補から予測動きベクトルに決定する。可逆復号化部５２は、ステップＳＴ１７３で判別されたケースにおける予測動きベクトルの候補から、ステップＳＴ１７４で取得した予測動きベクトル選択情報に基づき予測動きベクトルを決定する。可逆復号化部５２は、判別されたケースにおいて予測動きベクトルの候補が１つであるときは、この候補を予測動きベクトルに決定する。例えば、ＭｏＤ＿ＡＤ＝０、ＭｏＤ＿ＤＢ＝０、ＭｏＤ＿ＢＣ＝０、ＭｏＤ＿ＣＡ＝０であるケースｍ０では、予測動きベクトルの候補が動きベクトルＭＶ＿Ａの１つである。したがって、動きベクトルＭＶ＿Ａを予測動きベクトルに決定する。
【０２１９】
また、可逆復号化部５２は、判別されたケースにおいて予測動きベクトルの候補が複数であるとき、予測動きベクトル選択情報が示す候補を予測動きベクトルを決定する。例えば、ＭｏＤ＿ＡＤ＝１、ＭｏＤ＿ＤＢ＝０、ＭｏＤ＿ＢＣ＝０、ＭｏＤ＿ＣＡ＝０であるケースｍ８では、予測動きベクトルの候補が動きベクトルＭＶ＿Ａ，ＭＶ＿Ｃの２つである。ここで、予測動きベクトル選択情報がフラグ「０」を示しているとき、第１候補である動きベクトルＭＶ＿Ａを予測動きベクトルに決定する。また、予測動きベクトル選択情報がフラグ「１」を示しているとき、第２候補である動きベクトルＭＶ＿Ｃを予測動きベクトルに決定する。
【０２２０】
ステップＳＴ１７６で可逆復号化部５２は、動きベクトル算出処理を行う。可逆復号化部５２は、ステップＳＴ１７５で決定した予測動きベクトルと、符号化ストリームの可逆復号化を行うことにより得られた復号化対象のブロックの差分動きベクトルを加算して、復号化対象のブロックの動きベクトルを算出する。可逆復号化部５２は、算出した動きベクトルを動き補償部６４に出力する。
【０２２１】
このように、本願発明の画像復号化装置および方法では、復号化済みの隣接ブロックについて、同等の動きを生じているブロックの連続性を判別して、この判別結果に応じて、予測動きベクトルの候補が設定される。さらに、候補の中から画像符号化装置で選択された動きベクトルが予測動きベクトルに決定される。したがって、画像符号化装置において、同等の動きを生じているブロックの連続性に応じて設定した予測動きベクトルの候補から最適な動きベクトルを選択して符号化効率や画質の改善がはかられても、符号化ストリームの復号化を画像復号化装置で正しく行える。また、隣接ブロックの動きベクトルの相違に応じてケース分類が行われることから、ケース分類に関する情報を符号化ストリームに含める必要もない。
【０２２２】
＜１６．予測動きベクトル識別情報の符号化処理＞
また、隣接するブロックの動きベクトルに応じてケース分類を行う場合、予め候補ごとに発生確率を求めておき、第２符号化処理部では発生確率に応じて符号化を行うことで、符号量をさらに削減できる。図２５は、予測動きベクトルの候補ごとの発生確率を例示している。例えば、ケースＭ１において、動きベクトルＭＶ＿Ａの発生確率が「３０％」、動きベクトルＭＶ＿Ｃの発生確率が「７０％」とする。また、ケースＭ２において、動きベクトルＭＶ＿Ａの発生確率が「７０％」、動きベクトルＭＶ＿Ｃの発生確率が「３０％」とする。さらに、ケースＭ３において、動きベクトルＭＶ＿Ａの発生確率が「３５％」、動きベクトルＭＶ＿Ｂの発生確率が「３５％」、動きベクトルＭＶ＿Ｃの発生確率が「３０％」とする。
【０２２３】
第２符号化処理部１６８は予測動きベクトル情報の符号化において、予測動きベクトルが発生確率の高い動きベクトルであるときは、発生確率の低い動きベクトルであるときよりもビット長を短くする。すなわち、ケースＭ１の場合、予測動きベクトルが動きベクトルＭＶ＿Ｃであるときは、動きベクトルＭＶ＿Ａであるときよりもビット長が短くなるように符号化を行う。また、ケースＭ２の場合、予測動きベクトルが動きベクトルＭＶ＿Ａであるときは、動きベクトルＭＶ＿Ｃであるときよりもビット長が短くなるように符号化を行う。
【０２２４】
このように、予測動きベクトルの候補ごとに発生確率を予め求めておき、発生確率の高い動きベクトルを示す予測動きベクトル選択情報は、発生確率の低い動きベクトルを示す予測動きベクトル選択情報に比べて割り当てる符号量を少なくする。このようにすれば、予測動きベクトル情報の圧縮率を高くできる。
【０２２５】
＜１７．ソフトウェア処理の場合＞
明細書中において説明した一連の処理はハードウェア、またはソフトウェア、または両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることも可能である。
【０２２６】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。または、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的または永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
【０２２７】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０２２８】
プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２２９】
＜１８．電子機器に適用した場合＞
また、以上においては、符号化方式／復号方式としてＨ．２６４／ＡＶＣ方式が用いられたが、本発明は、その他の動き予測・補償処理を行う符号化方式／復号方式を用いる画像符号化装置／画像復号装置に適用することもできる。
【０２３０】
さらに、本発明は、例えば、ＭＰＥＧ，Ｈ．２６ｘ等のように、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルＴＶ（テレビジョン）、インターネット、および携帯電話機などのネットワークメディアを介して受信する際に、あるいは、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
【０２３１】
上述した画像符号化装置１０や画像復号化装置５０は、任意の電子機器に適用することができる。以下にその例について説明する。
【０２３２】
図２６は、本発明を適用したテレビジョン装置の概略構成を例示している。テレビジョン装置９０は、アンテナ９０１、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、表示部９０６、音声信号処理部９０７、スピーカ９０８、外部インタフェース部９０９を有している。さらに、テレビジョン装置９０は、制御部９１０、ユーザインタフェース部９１１等を有している。
【０２３３】
チューナ９０２は、アンテナ９０１で受信された放送波信号から所望のチャンネルを選局して復調を行い、得られたストリームをデマルチプレクサ９０３に出力する。
【０２３４】
デマルチプレクサ９０３は、ストリームから視聴対象である番組の映像や音声のパケットを抽出して、抽出したパケットのデータをデコーダ９０４に出力する。また、デマルチプレクサ９０３は、ＥＰＧ（Electronic Program Guide）等のデータのパケットを制御部９１０に供給する。なお、スクランブルが行われている場合、デマルチプレクサ等でスクランブルの解除を行う。
【０２３５】
デコーダ９０４は、パケットの復号化処理を行い、復号処理化によって生成された映像データを映像信号処理部９０５、音声データを音声信号処理部９０７に出力する。
【０２３６】
映像信号処理部９０５は、映像データに対して、ノイズ除去やユーザ設定に応じた映像処理等を行う。映像信号処理部９０５は、表示部９０６に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成する。また、映像信号処理部９０５は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それを番組の映像データに重畳する。映像信号処理部９０５は、このようにして生成した映像データに基づいて駆動信号を生成して表示部９０６を駆動する。
【０２３７】
表示部９０６は、映像信号処理部９０５からの駆動信号に基づき表示デバイス（例えば液晶表示素子等）を駆動して、番組の映像などを表示させる。
【０２３８】
音声信号処理部９０７は、音声データに対してノイズ除去などの所定の処理を施し、処理後の音声データのＤ／Ａ変換処理や増幅処理を行いスピーカ９０８に供給することで音声出力を行う。
【０２３９】
外部インタフェース部９０９は、外部機器やネットワークと接続するためのインタフェースであり、映像データや音声データ等のデータ送受信を行う。
【０２４０】
制御部９１０にはユーザインタフェース部９１１が接続されている。ユーザインタフェース部９１１は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部９１０に供給する。
【０２４１】
制御部９１０は、ＣＰＵ(Central Processing Unit)やメモリ等を用いて構成されている。メモリは、ＣＰＵにより実行されるプログラムやＣＰＵが処理を行う上で必要な各種のデータ、ＥＰＧデータ、ネットワークを介して取得されたデータ等を記憶する。メモリに記憶されているプログラムは、テレビジョン装置９０の起動時などの所定のタイミングでＣＰＵにより読み出されて実行される。ＣＰＵは、プログラムを実行することで、テレビジョン装置９０がユーザ操作に応じた動作となるように各部を制御する。
【０２４２】
なお、テレビジョン装置９０では、チューナ９０２、デマルチプレクサ９０３、映像信号処理部９０５、音声信号処理部９０７、外部インタフェース部９０９等と制御部９１０を接続するためバス９１２が設けられている。
【０２４３】
このように構成されたテレビジョン装置では、デコーダ９０４に本願の画像復号化装置（画像復号化方法）の機能が設けられる。このため、放送局側で本願の画像符号化装置の機能を用いることにより、符号化効率や画質の改善がはかられて符号化ストリームの生成が行われても、テレビジョン装置で符号化ストリームの復号化を正しく行うことができる。
【０２４４】
図２７は、本発明を適用した携帯電話機の概略構成を例示している。携帯電話機９２は、通信部９２２、音声コーデック９２３、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、制御部９３１を有している。これらは、バス９３３を介して互いに接続されている。
【０２４５】
また、通信部９２２にはアンテナ９２１が接続されており、音声コーデック９２３には、スピーカ９２４とマイクロホン９２５が接続されている。さらに制御部９３１には、操作部９３２が接続されている。
【０２４６】
携帯電話機９２は、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
【０２４７】
音声通話モードにおいて、マイクロホン９２５で生成された音声信号は、音声コーデック９２３で音声データへの変換やデータ圧縮が行われて通信部９２２に供給される。通信部９２２は、音声データの変調処理や周波数変換処理等を行い送信信号を生成する。また、通信部９２２は、送信信号をアンテナ９２１に供給して図示しない基地局へ送信する。また、通信部９２２は、アンテナ９２１で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、得られた音声データを音声コーデック９２３に供給する。音声コーデック９２３は、音声データのデータ伸張やアナログ音声信号への変換を行いスピーカ９２４に出力する。
【０２４８】
また、データ通信モードにおいて、メール送信を行う場合、制御部９３１は、操作部９３２の操作によって入力された文字データを受け付けて、入力された文字を表示部９３０に表示する。また、制御部９３１は、操作部９３２におけるユーザ指示等に基づいてメールデータを生成して通信部９２２に供給する。通信部９２２は、メールデータの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ９２１から送信する。また、通信部９２２は、アンテナ９２１で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、メールデータを復元する。このメールデータを、表示部９３０に供給して、メール内容の表示を行う。
【０２４９】
なお、携帯電話機９２は、受信したメールデータを、記録再生部９２９で記憶媒体に記憶させることも可能である。記憶媒体は、書き換え可能な任意の記憶媒体である。例えば、記憶媒体は、ＲＡＭや内蔵型フラッシュメモリ等の半導体メモリ、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、ＵＳＢメモリ、またはメモリカード等のリムーバブルメディアである。
【０２５０】
データ通信モードにおいて画像データを送信する場合、カメラ部９２６で生成された画像データを、画像処理部９２７に供給する。画像処理部９２７は、画像データの符号化処理を行い符号化データを生成する。
【０２５１】
多重分離部９２８は、画像処理部９２７で生成された符号化データと、音声コーデック９２３から供給された音声データを所定の方式で多重化して通信部９２２に供給する。通信部９２２は、多重化データの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ９２１から送信する。また、通信部９２２は、アンテナ９２１で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、多重化データを復元する。この多重化データを多重分離部９２８に供給する。多重分離部９２８は、多重化データの分離を行い、符号化データを画像処理部９２７、音声データを音声コーデック９２３に供給する。画像処理部９２７は、符号化データの復号化処理を行い画像データを生成する。この画像データを表示部９３０に供給して、受信した画像の表示を行う。音声コーデック９２３は、音声データをアナログ音声信号に変換してスピーカ９２４に供給して、受信した音声を出力する。
【０２５２】
このように構成された携帯電話装置では、画像処理部９２７に本願の画像符号化装置（画像符号化方法）や画像復号化装置（画像復号化方法）の機能が設けられる。したがって、画像データの通信を行う際に、符号化効率や画質を改善することができる。
【０２５３】
図２８は、本発明を適用した記録再生装置の概略構成を例示している。記録再生装置９４は、例えば受信した放送番組のオーディオデータとビデオデータを、記録媒体に記録して、その記録されたデータをユーザの指示に応じたタイミングでユーザに提供する。また、記録再生装置９４は、例えば他の装置からオーディオデータやビデオデータを取得し、それらを記録媒体に記録させることもできる。さらに、記録再生装置９４は、記録媒体に記録されているオーディオデータやビデオデータを復号して出力することで、モニタ装置等において画像表示や音声出力を行うことができるようにする。
【０２５４】
記録再生装置９４は、チューナ９４１、外部インタフェース部９４２、エンコーダ９４３、ＨＤＤ（Hard Disk Drive）部９４４、ディスクドライブ９４５、セレクタ９４６、デコーダ９４７、ＯＳＤ（On-Screen Display）部９４８、制御部９４９、ユーザインタフェース部９５０を有している。
【０２５５】
チューナ９４１は、図示しないアンテナで受信された放送信号から所望のチャンネルを選局する。チューナ９４１は、所望のチャンネルの受信信号を復調して得られた符号化ストリームをセレクタ９４６に出力する。
【０２５６】
外部インタフェース部９４２は、ＩＥＥＥ１３９４インタフェース、ネットワークインタフェース部、ＵＳＢインタフェース、フラッシュメモリインタフェース等の少なくともいずれかで構成されている。外部インタフェース部９４２は、外部機器やネットワーク、メモリカード等と接続するためのインタフェースであり、記録する映像データや音声データ等のデータ受信を行う。
【０２５７】
エンコーダ９４３は、外部インタフェース部９４２から供給された映像データや音声データが符号化されていないとき所定の方式で符号化を行い、符号化ストリームをセレクタ９４６に出力する。
【０２５８】
ＨＤＤ部９４４は、映像や音声等のコンテンツデータ、各種プログラムやその他のデータ等を内蔵のハードディスクに記録し、また再生時等にそれらを当該ハードディスクから読み出す。
【０２５９】
ディスクドライブ９４５は、装着されている光ディスクに対する信号の記録および再生を行う。光ディスク、例えばＤＶＤディスク（ＤＶＤ−Ｖｉｄｅｏ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等）やＢｌｕ−ｒａｙディスク等である。
【０２６０】
セレクタ９４６は、映像や音声の記録時には、チューナ９４１またはエンコーダ９４３からのいずれかのストリームを選択して、ＨＤＤ部９４４やディスクドライブ９４５のいずれかに供給する。また、セレクタ９４６は、映像や音声の再生時に、ＨＤＤ部９４４またはディスクドライブ９４５から出力されたストリームをデコーダ９４７に供給する。
【０２６１】
デコーダ９４７は、ストリームの復号化処理を行う。デコーダ９４７は、復号処理化を行うことにより生成された映像データをＯＳＤ部９４８に供給する。また、デコーダ９４７は、復号処理化を行うことにより生成された音声データを出力する。
【０２６２】
ＯＳＤ部９４８は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それをデコーダ９４７から出力された映像データに重畳して出力する。
【０２６３】
制御部９４９には、ユーザインタフェース部９５０が接続されている。ユーザインタフェース部９５０は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部９４９に供給する。
【０２６４】
制御部９４９は、ＣＰＵやメモリ等を用いて構成されている。メモリは、ＣＰＵにより実行されるプログラムやＣＰＵが処理を行う上で必要な各種のデータを記憶する。メモリに記憶されているプログラムは、記録再生装置９４の起動時などの所定のタイミングでＣＰＵにより読み出されて実行される。ＣＰＵは、プログラムを実行することで、記録再生装置９４がユーザ操作に応じた動作となるように各部を制御する。
【０２６５】
このように構成された記録再生装置では、エンコーダ９４３に本願の画像符号化装置（画像符号化方法）の機能、デコーダ９４７に画像復号化装置（画像復号化方法）の機能が設けられて、符号化効率や画質を改善して、映像の記録再生を効率よく行うことができる。
【０２６６】
図２９は、本発明を適用した撮像装置の概略構成を例示している。撮像装置９６は、被写体を撮像し、被写体の画像を表示部に表示させたり、それを画像データとして、記録媒体に記録する。
【０２６７】
撮像装置９６は、光学ブロック９６１、撮像部９６２、カメラ信号処理部９６３、画像データ処理部９６４、表示部９６５、外部インタフェース部９６６、メモリ部９６７、メディアドライブ９６８、ＯＳＤ部９６９、制御部９７０を有している。また、制御部９７０には、ユーザインタフェース部９７１が接続されている。さらに、画像データ処理部９６４や外部インタフェース部９６６、メモリ部９６７、メディアドライブ９６８、ＯＳＤ部９６９、制御部９７０等は、バス９７２を介して接続されている。
【０２６８】
光学ブロック９６１は、フォーカスレンズや絞り機構等を用いて構成されている。光学ブロック９６１は、被写体の光学像を撮像部９６２の撮像面に結像させる。撮像部９６２は、ＣＣＤまたはＣＭＯＳイメージセンサを用いて構成されており、光電変換によって光学像に応じた電気信号を生成してカメラ信号処理部９６３に供給する。
【０２６９】
カメラ信号処理部９６３は、撮像部９６２から供給された電気信号に対してニー補正やガンマ補正、色補正等の種々のカメラ信号処理を行う。カメラ信号処理部９６３は、カメラ信号処理後の画像データを画像データ処理部９６４に供給する。
【０２７０】
画像データ処理部９６４は、カメラ信号処理部９６３から供給された画像データの符号化処理を行う。画像データ処理部９６４は、符号化処理を行うことにより生成された符号化データを外部インタフェース部９６６やメディアドライブ９６８に供給する。また、画像データ処理部９６４は、外部インタフェース部９６６やメディアドライブ９６８から供給された符号化データの復号化処理を行う。画像データ処理部９６４は、復号化処理を行うことにより生成された画像データを表示部９６５に供給する。また、画像データ処理部９６４は、カメラ信号処理部９６３から供給された画像データを表示部９６５に供給する処理や、ＯＳＤ部９６９から取得した表示用データを、画像データに重畳させて表示部９６５に供給する。
【０２７１】
ＯＳＤ部９６９は、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを生成して画像データ処理部９６４に出力する。
【０２７２】
外部インタフェース部９６６は、例えば、ＵＳＢ入出力端子などで構成され、画像の印刷を行う場合に、プリンタと接続される。また、外部インタフェース部９６６には、必要に応じてドライブが接続され、磁気ディスク、光ディスク等のリムーバブルメディアが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、インストールされる。さらに、外部インタフェース部９６６は、ＬＡＮやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。制御部９７０は、例えば、ユーザインタフェース部９７１からの指示にしたがって、メモリ部９６７から符号化データを読み出し、それを外部インタフェース部９６６から、ネットワークを介して接続される他の装置に供給させることができる。また、制御部９７０は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース部９６６を介して取得し、それを画像データ処理部９６４に供給したりすることができる。
【０２７３】
メディアドライブ９６８で駆動される記録メディアとしては、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアが用いられる。また、記録メディアは、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ＩＣカード等であってもよい。
【０２７４】
また、メディアドライブ９６８と記録メディアを一体化し、例えば、内蔵型ハードディスクドライブやＳＳＤ（Solid State Drive）等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
【０２７５】
制御部９７０は、ＣＰＵやメモリ等を用いて構成されている。メモリは、ＣＰＵにより実行されるプログラムやＣＰＵが処理を行う上で必要な各種のデータ等を記憶する。メモリに記憶されているプログラムは、撮像装置９６の起動時などの所定のタイミングでＣＰＵにより読み出されて実行される。ＣＰＵは、プログラムを実行することで、撮像装置９６がユーザ操作に応じた動作となるように各部を制御する。
【０２７６】
このように構成された撮像装置では、画像データ処理部９６４に本願の画像符号化装置（画像符号化方法）や画像復号化装置（画像復号化方法）の機能が設けられる。したがって、撮像画像をメモリ部９６７や記録メディア等に記録する際に、符号化効率や画質の改善をはかり撮像画像の記録再生を効率よく行うことができる。
【０２７７】
さらに、本発明は、上述した発明の実施の形態に限定して解釈されるべきではない。この発明の実施の形態は、例示という形態で本発明を開示しており、本発明の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【産業上の利用可能性】
【０２７８】
この発明の画像復号化装置と画像符号装置およびその方法とプログラムでは、画像の復号化において、復号化対象のブロックに対して、このブロックと復号化済みの隣接ブロックの動きベクトルを用いて予測動きベクトルの候補が設定される。また、符号化ストリームを可逆復号化して得られた予測動きベクトル選択情報で示された動きベクトルが候補から選択されて予測動きベクトルとされる。この予測動きベクトルと符号化ストリームを可逆復号化して得られた差分動きベクトルを加算して復号化対象のブロックの動きベクトルが算出される。また、画像の符号化では、符号化対象のブロックに対して予測動きベクトルの候補が設定されて、この候補から符号化効率が最良となる動きベクトルが予測動きベクトルとして選択される。また、予測動きベクトルと符号化対象のブロックの動きベクトルとの差分を示す差分動きベクトルと、候補からいずれの動きベクトルが選択されたかを示す予測動きベクトル選択情報の符号化が行われる。このため、予測動きベクトルの候補から符号化効率が最良となる動きベクトルが選択されて用いられるので、動きベクトルの伝送に要する符号量の削減が可能となり、符号化効率を改善できる。また、動きベクトルの伝送に要する符号量の削減に伴い、量子化データのビットレートを高めることが可能となり画質の改善をはかることができる。したがって、ＭＰＥＧ、Ｈ.２６ｘ等のように、ブロック単位で符号化を行うことにより得られた画像情報（ビットストリーム）を、衛星放送、ケーブルＴＶ、インターネット、携帯電話などのネットワークメディアを介して送受信する際に、若しくは光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる画像復号化装置や画像符号化装置等に適している。
【符号の説明】
【０２７９】
１０・・・画像符号化装置、１１・・・Ａ／Ｄ変換部、１２，５７・・・画面並べ替えバッファ、１３，１６６・・・減算部、１４・・・直交変換部、１５・・・量子化部、１６・・・可逆符号化部、１７，５１・・・蓄積バッファ、１８・・・レート制御部、２１，５３・・・逆量子化部、２２，５４・・・逆直交変換部、２３，５５，５２６・・・加算部、２４，５６・・・デブロッキングフィルタ、２５，６１・・・フレームメモリ、２６，６２，６５、９４６・・・セレクタ、３１，６３・・・イントラ予測部、３２・・・動き予測・補償部、３３・・・予測画像・最適モード選択部、５０・・・画像復号化装置、５２・・・可逆復号化部、５８・・・Ｄ／Ａ変換部、６４・・・動き補償部、９０・・・テレビジョン装置、９２・・・携帯電話機、９４・・・記録再生装置、９６・・・撮像装置、１６１，５２３・・・動きベクトル記憶部、１６２，５２４・・・ケース分類部、１６５，１６５ａ，５２５，５２５ａ・・・動きベクトル選択部、１６７・・・第１符号化処理部、１６８・・・第２符号化処理部、５２１・・・第１復号化処理部、５２２・・・第２復号化処理部、９０１、９２１・・・アンテナ、９０２、９４１・・・チューナ、９０３・・・デマルチプレクサ、９０４，９４７・・・デコーダ、９０５・・・映像信号処理部、９０６・・・表示部、９０７・・・音声信号処理部、９０８・・・スピーカ、９０９、９４２、９６６・・・外部インタフェース部、９１０、９３１，９４９，９７０・・・制御部、９１１，９３２，９７１・・・ユーザインタフェース部、９１２，９３３，９７２・・・バス、９２２・・・通信部、９２３・・・音声コーデック、９２４・・・スピーカ、９２５・・・マイクロホン、９２６・・・カメラ部、９２７・・・画像処理部、９２８・・・多重分離部、９２９・・・記録再生部、９３０・・・表示部、９４３・・・エンコーダ、９４４・・・ＨＤＤ部、９４５・・・ディスクドライブ、９４８、９６９・・・ＯＳＤ部、９６１・・・光学ブロック、９６２・・・撮像部、９６３・・・カメラ信号処理部、９６４・・・画像データ処理部、９６５・・・表示部、９６７・・・メモリ部、９６８・・・メディアドライブ
【図１】
2011259204.tif 000003
【図２】
2011259204.tif 000004
【図３】
2011259204.tif 000005
【図４】
2011259204.tif 000006
【図５】
2011259204.tif 000007
【図６】
2011259204.tif 000008
【図７】
2011259204.tif 000009
【図８】
2011259204.tif 000010
【図９】
2011259204.tif 000011
【図１０】
2011259204.tif 000012
【図１１】
2011259204.tif 000013
【図１２】
2011259204.tif 000014
【図１３】
2011259204.tif 000015
【図１４】
2011259204.tif 000016
【図１５】
2011259204.tif 000017
【図１６】
2011259204.tif 000018
【図１７】
2011259204.tif 000019
【図１８】
2011259204.tif 000020
【図１９】
2011259204.tif 000021
【図２０】
2011259204.tif 000022
【図２１】
2011259204.tif 000023
【図２２】
2011259204.tif 000024
【図２３】
2011259204.tif 000025
【図２４】
2011259204.tif 000026
【図２５】
2011259204.tif 000027
【図２６】
2011259204.tif 000028
【図２７】
2011259204.tif 000029
【図２８】
2011259204.tif 000030
【図２９】
2011259204.tif 000031