(57)【要約】【課題】２値化したデータをエントロピー符号化する画像符号化装置であって、画像データをより高速に処理するための画像符号化装置を提供すること。【解決手段】画像符号化部１０と、エントロピー符号化部４０と、符号化データがエントロピー符号化された場合の符号量に対応する予測値を求める符号量予測部２０と、予測値と所定の閾値とを比較する符号量比較部３１と、比較の結果から、所定の単位の符号化データと、Ｉ＿ＰＣＭデータとの選択信号を出力するＩ＿ＰＣＭ判定部３０と、選択信号によって選択されたデータを出力する出力選択部８および出力部９とを備え、画像符号化部１０は、動き予測部２を有し、動き予測部２は、カレントマクロブロックについての予測値が前記閾値より大きい場合、次のマクロブロックの隣接マクロブロックの情報を修正して、次のマクロブロックの予測動きベクトルｍｖｐの算出を行なう画像符号化装置。【選択図】図３
2010279081.tif 000002
【特許請求の範囲】
【請求項１】
画像データを符号化する画像符号化手段と、
前記画像符号化手段によって得られた符号化データを２値化しエントロピー符号化するエントロピー符号化手段と、
前記エントロピー符号化手段が前記符号化データを２値化する前に、所定の単位の符号化データから得られる情報に基づき、前記所定の単位の符号化データがエントロピー符号化された場合の符号量に対応する予測値を求める予測手段と、
前記予測手段によって求められた前記予測値と所定の閾値とを比較する比較手段と、
前記比較手段による比較の結果、前記予測値が前記閾値より大きい場合、前記所定の単位の符号化データをエントロピー符号化する前のデータであるＩ＿ＰＣＭデータを出力すると判定する判定手段と、
前記判定手段により、前記Ｉ＿ＰＣＭデータを出力すると判定された場合、前記Ｉ＿ＰＣＭデータを出力し、前記Ｉ＿ＰＣＭデータを出力すると判定されなかった場合、前記エントロピー符号化手段によりエントロピー符号化されたデータを出力する出力手段と、を備え、
前記所定の単位はマクロブロックであり、
前記画像符号化手段は、
符号化対象マクロブロックに隣接する隣接マクロブロックの情報を用いて前記符号化対象マクロブロックの予測動きベクトルｍｖｐを算出する動き予測手段を有し、
前記動き予測手段は、
カレントマクロブロックと、符号化順で次に符号化される、次のマクロブロックとが隣接しているとき、前記カレントマクロブロックについての前記比較手段による比較の結果、前記予測値が前記閾値より大きい場合、
前記次のマクロブロックの隣接マクロブロックの情報を修正して、前記次のマクロブロックの予測動きベクトルｍｖｐの算出を行なう
画像符号化装置。
【請求項２】
画像データを符号化する画像符号化手段と、
前記画像符号化手段によって得られた符号化データを２値化しエントロピー符号化するエントロピー符号化手段と、
前記エントロピー符号化手段が前記符号化データを２値化する前に、所定の単位の符号化データから得られる情報に基づき、前記所定の単位の符号化データがエントロピー符号化された場合の符号量に対応する予測値を求める予測手段と、
前記予測手段によって求められた前記予測値と所定の閾値とを比較する比較手段と、
前記比較手段による比較の結果、前記予測値が前記閾値より大きい場合、前記所定の単位の符号化データをエントロピー符号化する前のデータであるＩ＿ＰＣＭデータを出力すると判定する判定手段と、
前記判定手段により、前記Ｉ＿ＰＣＭデータを出力すると判定された場合、前記Ｉ＿ＰＣＭデータを出力し、前記Ｉ＿ＰＣＭデータを出力すると判定されなかった場合、前記エントロピー符号化手段によりエントロピー符号化されたデータを出力する出力手段と、を備え、
前記所定の単位はマクロブロックであり、
前記画像符号化手段は、
（１）符号化対象マクロブロックに隣接する隣接マクロブロックの情報を用いて前記符号化対象マクロブロックの予測動きベクトルｍｖｐを算出し、
（２）前記予測動きベクトルｍｖｐを用いて前記符号化対象マクロブロックの動きベクトルｍｖを算出し、
（３）前記予測動きベクトルｍｖｐと前記動きベクトルｍｖとの差分ｍｖｄを算出する動き予測手段を有し、
前記動き予測手段は、
カレントマクロブロックと、符号化順で次に符号化される、次のマクロブロックとが隣接しているとき、前記次のマクロブロックに対して前記（１）（２）（３）の手順で予測
動きベクトルｍｖｐ、動きベクトルｍｖ、差分ｍｖｄの算出を行い、
前記カレントマクロブロックについての前記比較手段による比較の結果、前記予測値が前記閾値より大きい場合、
前記次のマクロブロックの隣接マクロブロックの情報を修正して、前記（１）の手順にて前記次のマクロブロックの予測動きベクトルｍｖｐを再度算出し、再度算出した前記予測動きベクトルｍｖｐと前記（２）の手順で求められている前記動きベクトルｍｖとを用いて、前記次のマクロブロックの差分ｍｖｄを再度算出する
画像符号化装置。
【請求項３】
画像データを符号化する画像符号化手段と、
前記画像符号化手段によって得られた符号化データを２値化しエントロピー符号化するエントロピー符号化手段と、
前記エントロピー符号化手段が前記符号化データを２値化する前に、所定の単位の符号化データから得られる情報に基づき、前記所定の単位の符号化データがエントロピー符号化された場合の符号量に対応する予測値を求める予測手段と、
前記予測手段によって求められた前記予測値と所定の閾値とを比較する比較手段と、
前記比較手段による比較の結果、前記予測値が前記閾値より大きい場合、前記所定の単位の符号化データをエントロピー符号化する前のデータであるＩ＿ＰＣＭデータを出力すると判定する判定手段と、
前記判定手段により、前記Ｉ＿ＰＣＭデータを出力すると判定された場合、前記Ｉ＿ＰＣＭデータを出力し、前記Ｉ＿ＰＣＭデータを出力すると判定されなかった場合、前記エントロピー符号化手段によりエントロピー符号化されたデータを出力する出力手段と、を備え、
前記所定の単位はマクロブロックであり、
前記画像符号化手段は、
（１）符号化対象マクロブロックに隣接する隣接マクロブロックの情報を用いて前記符号化対象マクロブロックの予測動きベクトルｍｖｐを算出し、
（２）前記予測動きベクトルｍｖｐを用いて前記符号化対象マクロブロックの動きベクトルｍｖを算出し、
（３）前記予測動きベクトルｍｖｐと前記動きベクトルｍｖとの差分ｍｖｄを算出する動き予測手段を有し、
前記動き予測手段は、
カレントマクロブロックと、符号化順で次に符号化される、次のマクロブロックとが隣接しているとき、前記次のマクロブロックに対して前記（１）（２）の手順で予測動きベクトルｍｖｐおよび動きベクトルｍｖの算出を行い、
前記比較手段は、
前記動き予測手段により、前記（３）の手順で前記次のマクロブロックに対しての差分ｍｖｄが算出される前に、前記カレントマクロブロックについて比較を実施し、
前記動き予測手段はさらに、
カレントマクロブロックに対する前記比較手段による比較の結果、前記予測値が前記閾値より大きい場合、
前記次のマクロブロックの隣接マクロブロックの情報を修正して、前記（１）の手順にて前記次のマクロブロックの予測動きベクトルｍｖｐを再度算出し、再度算出した前記予測動きベクトルｍｖｐと前記（２）の手順で求められている前記動きベクトルｍｖとを用いて、前記次のマクロブロックの差分ｍｖｄを算出する
画像符号化装置。
【請求項４】
入力された画像データのうち、少なくとも符号化対象のマクロブロックであるカレントマクロブロックを構成する画像データを記憶する記憶部と、
前記カレントマクロブロックに隣接するマクロブロックのうちの所定のマクロブロックの動きベクトルを用いて、前記カレントマクロブロックを構成する画像データの動きベクトルを算出するベクトル算出部と、
前記ベクトル算出部において算出された動きベクトルを基に、前記カレントマクロブロックを構成する画像データを符号化する画像符号化部と、
前記記憶部で記憶されている前記カレントマクロブロックを前記画像符号化部において符号化する前の画像データ、または、前記画像符号化部で符号化された画像データのいずれかを選択して出力する出力選択部と、を備え、
前記出力選択部が、前記カレントマクロブロックについて、前記記憶部で記憶されている画像データを選択して出力した場合、
前記ベクトル算出部は、前記カレントマクロブロックの動きベクトルを用いずに、前記カレントマクロブロックに対して符号化順で次のマクロブロックの予測動きベクトルを算出する
画像符号化装置。
【請求項５】
入力された画像データのうち、少なくとも符号化対象のマクロブロックであるカレントマクロブロックを構成する画像データを記憶する記憶部と、
前記カレントマクロブロックに隣接するマクロブロックのうちの所定のマクロブロックの動きベクトルを用いて、前記カレントマクロブロックを構成する画像データの動きベクトルを算出するベクトル算出部と、
前記ベクトル算出部において算出された動きベクトルを基に、前記カレントマクロブロックを構成する画像データを符号化する画像符号化部と、
前記記憶部で記憶されている前記カレントマクロブロックを前記画像符号化部において符号化する前の画像データ、または、前記画像符号化部で符号化された画像データのいずれかを選択して出力する出力選択部と、を備え、
前記出力選択部が、前記カレントマクロブロックについて、前記記憶部で記憶されている画像データを選択して出力した場合、
前記ベクトル算出部は、当該カレントマクロブロックを構成する画像データの動きベクトルを用いずに、前記カレントマクロブロックに対して符号化順で次のマクロブロックを構成する画像データの動きベクトルを予測し、予測した動きベクトルと前記ベクトル算出部が算出した前記カレントマクロブロックの動きベクトルとの差分値である差分ベクトルを算出し、
前記画像符号化部は、前記カレントマクロブロックを構成する符号化後の画像データに前記差分ベクトルを紐付けて出力する
画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像に関するデータを符号化する画像符号化装置に関し、特に、Ｈ．２６４／ＡＶＣの符号化装置に関する。
【背景技術】
【０００２】
デジタル技術の発展と共に、映像を符号化する技術も進化、発展してきている。しかし、映像情報、特に動画像の情報は、そのデータ量が非常に大きく、デジタル映像を符号化したものを放送やＤＶＤ等のメディアで転送する場合、転送量が非常に大きくなってしまう。得に、最近実用化されているハイビジョン放送では、従来のＳＤ（Ｓｔａｎｄａｒｄ  Ｄｅｆｉｎｉｔｉｏｎ）映像と比べて、６倍のデータ量となっている。
【０００３】
デジタル映像技術の発展と共に、増大するデータ量を処理するために、データを圧縮する技術がデジタル映像データに使用され、発展してきている。その発展は、映像データの特性を生かした映像データに特化した圧縮技術となって現れている。また、コンピュータやその他機器の情報処理能力の向上に伴い、圧縮技術における複雑な演算も可能となり、映像データの圧縮率は大幅に高められてきている。例えば、衛星、地上波デジタルハイビジョン放送で採用されている圧縮技術はＭＰＥＧ２と呼ばれる方式であり、衛星デジタルハイビジョン放送はＭＰＥＧ２によって映像データを約１／３０に圧縮している。
【０００４】
ＭＰＥＧ２の次の映像圧縮技術として規格化されたＡＶＣ／Ｈ．２６４は、ＭＰＥＧ２の２倍前後の圧縮率を実現する規格である。ＡＶＣ／Ｈ．２６４では、多くの圧縮化技術を実装し、それらを組み合わせることで高い圧縮率を実現している。そのため、演算量も大幅に増加している。
【０００５】
ＡＶＣ／Ｈ．２６４で実装されている圧縮化技術の一つにエントロピー符号化（可変長符号化）がある。エントロピー符号化の方式として、ＣＡＶＬＣとＣＡＢＡＣという２つの方式が用意されている。ＣＡＶＬＣは、Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ（コンテキスト適応型可変長符号化方式）の略であり、ＤＣＴ係数を符号化する際、連続する０の長さであるランとレベルを可変長符号化テーブルを用いてスキャンの方向と反対の方向から符号化を行なう方式である。
【０００６】
ＣＡＢＡＣは、Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ（コンテキスト適応型２値算術符号化方式）の略で、時間とともに変化する符号化対象の出現頻度を変化させる方式で、一般に算術符号化と呼ばれる方式である。ＣＡＢＡＣでは、通常の算術符号化のほかに、圧縮すべき符号ごとにコンテキストを付け、そのコンテキストごとに出現頻度の変更を行なっている。
【０００７】
ＣＡＢＡＣでの符号化は主に２つの処理に分けられる。１つ目は、Ｓｙｎｔａｘと呼ばれる符号化すべき多値情報を２値データに変換する２値化（ｂｉｎａｒｉｚａｔｉｏｎ）と呼ばれる処理であり、２つ目は、２値化によって変換された２値データに対してコンテキストを算出し算術符号化を行なう処理である。
【０００８】
算術符号化は、２値データのビット毎に０／１の出現確率を求めて符号化の処理を行ない、出現確率の更新も同時に行なう。そのため、ビット毎の処理となり、演算スピードは、通常１ビット／１クロックとなる。また、出現確率は、ビット毎に適応的に切り替えられ、ビットの値によって更新されるため、出力符号量を符号化前に正確に知ることは難しい。
【０００９】
また、ＡＶＣ／Ｈ．２６４において、マクロブロックの最大符号量は、４−２−０フォーマット、ｂｉｔ＿ｄｅｐｔｈ８ビットの場合で３２００ビットに制限されている。マクロブロックを符号化した結果、符合量が３２００ビットを超える場合は、そのマクロブロックの符号化の条件を変更して再度符号化を行なわなければならない。また、ｍｂ＿ｔｙｐｅをＩ＿ＰＣＭにして、符号化データの代わりにＩ＿ＰＣＭデータをビットストリームとして保存する方法もある。ＣＡＢＡＣで出力される符号量は、実際に符号化して符号化データを出力するまで正確に知ることは困難であるため、マクロブロックの最大符号量制限が満たされているかどうかの判定は、ＣＡＢＡＣ符号化後に行なわれている。
【００１０】
一方、算術符号化回路に入力されるデータ量を監視し、このデータ量がある単位内で一定量を超えた場合はこの入力データを符号化データとせず、違うパラメータで符号化したデータもしくは非圧縮データを入力データとする技術も開示されている（例えば、特許文献１）。
【００１１】
図１５は、従来の画像符号化装置の機能的な構成を示す機能ブロック図である。
【００１２】
図１５に示す画像符号化装置５０は、入力された画像データを符号化し、ビットストリームとして出力する従来の画像符号化装置の一例である。画像符号化装置５０の動作の概要を以下に説明する。
【００１３】
なお、画像データとは、動画像を構成するマクロブロックのデータ等の実体的なデータや、マクロブロックタイプ（ｍｂ＿ｔｙｐｅ）等の制御情報、その他の属性情報など、動画像に関するデータである。
【００１４】
符号化対象の動画像のデータが入力されると、動き予測部５１と面内予測部５２とＩ＿ＰＣＭデータバッファ５３とに入力される。動き予測部５１は、他のピクチャから、符号化対象ブロックと似ているブロックを検出し、符号化対象ブロックと検出された他のピクチャのブロックとの差分画像を求め、その差分画像と動きベクトルを出力する。面内予測部５２は、画面内の符号化対象のブロックの画像を、隣接するブロックの画像を用いて予測し、符号化対象ブロックの画像と予測された画像の差分画像を求め、その差分画像と予測の方式を表す情報を出力する。また、Ｉ＿ＰＣＭデータバッファ５３は、入力される動画像の原画データであるＩ＿ＰＣＭデータを格納するバッファである。
【００１５】
動き予測部５１または面内予測部５２から出力されたデータは、入力選択部５４に選択されることにより、直交変換の一種である離散コサイン変換（ＤＣＴ）を行なう直交変換部５５に入力される。直交変換部５５はＤＣＴによって得られるＤＣＴ係数を量子化部５６に出力し、量子化部５６によって量子化される。量子化されたＤＣＴ係数は、２値化器５７に入力され２値データとなってＣＡＢＡＣ符号化器５９によって符号化される。符号化されたデータは出力バッファ６１を経て出力選択部６１に入力される。
【００１６】
ここで、Ｉ＿ＰＣＭ判定部５８は、上記のデータの流れにおいて、２値化器５７からの出力データ量を監視し、２値化されたデータのデータ量から、ビットストリームとして出力するデータを、ＣＡＢＡＣ符号化器５９により符号化されたデータとするか、Ｉ＿ＰＣＭデータバッファ５３に格納されているＩ＿ＰＣＭデータとするかを判定することができる。または、ＣＡＢＡＣ符号化器５９からの出力データ量を監視し、実際の符号化後のデータ量である符号量が３２００ビットを越えるか否かで、ビットストリームとして出力するデータを、Ｉ＿ＰＣＭデータとするか符号化されたデータとするかを決定することができる。出力選択部６１は、Ｉ＿ＰＣＭ判定部５８の決定に従い、符号化されたデータまたはＩ＿ＰＣＭデータを出力する。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００４−１３５２５１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
ここで、ＡＶＣ／Ｈ．２６４では、面内予測、動き予測等に、前のマクロブロックの情報を用いている。従って、上記従来の技術のように、マクロブロックの最大符号量制限が満たされているかどうかの判定をＣＡＢＡＣ後に行なっていたのでは、そのマクロブロックのＣＡＢＡＣ符号化が終了するまで次のマクロブロックの面内予測、動き予測を行なうことができない。
【００１９】
本発明は、上記課題を考慮し、２値化したデータをエントロピー符号化する画像符号化装置であって、画像データをより高速に処理するための画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明の画像符号化装置は、画像データを符号化する画像符号化手段と、前記画像符号化手段によって得られた符号化データを２値化しエントロピー符号化するエントロピー符号化手段と、前記エントロピー符号化手段が前記符号化データを２値化する前に、所定の単位の符号化データから得られる情報に基づき、前記所定の単位の符号化データがエントロピー符号化された場合の符号量に対応する予測値を求める予測手段と、前記予測手段によって求められた前記予測値と所定の閾値とを比較する比較手段と、前記比較手段による比較の結果、前記予測値が前記閾値より大きい場合、前記所定の単位の符号化データをエントロピー符号化する前のデータであるＩ＿ＰＣＭデータを出力すると判定する判定手段と、前記判定手段により、前記Ｉ＿ＰＣＭデータを出力すると判定された場合、前記Ｉ＿ＰＣＭデータを出力し、前記Ｉ＿ＰＣＭデータを出力すると判定されなかった場合、前記エントロピー符号化手段によりエントロピー符号化されたデータを出力する出力手段とを備える。
【００２１】
この構成により、画像符号化装置は、所定の単位の符号化データが２値化される前に、出力するデータをＩ＿ＰＣＭデータとするか否かを判定できる。つまり、エントロピー符号化に係る処理を行なう前に、上記判定を行なうことにより画像データの処理の高速化が可能となる。
【００２２】
また、本発明の画像符号化装置において、前記所定の単位はマクロブロックであり、前記画像符号化手段は、符号化対象マクロブロックに隣接する隣接マクロブロックの情報を用いて前記符号化対象マクロブロックの予測動きベクトルｍｖｐを算出する動き予測手段を有し、前記動き予測手段は、カレントマクロブロックと、符号化順で次に符号化される、次のマクロブロックとが隣接しているとき、前記カレントマクロブロックについての前記比較手段による比較の結果、前記予測値が前記閾値より大きい場合、前記次のマクロブロックの隣接マクロブロックの情報を修正して、前記次のマクロブロックの予測動きベクトルｍｖｐの算出を行なうとしてもよい。
【００２３】
また、本発明の画像符号化装置において、前記所定の単位はマクロブロックであり、前記画像符号化手段は、（１）符号化対象マクロブロックに隣接する隣接マクロブロックの情報を用いて前記符号化対象マクロブロックの予測動きベクトルｍｖｐを算出し、（２）前記予測動きベクトルｍｖｐを用いて前記符号化対象マクロブロックの動きベクトルｍｖを算出し、（３）前記予測動きベクトルｍｖｐと前記動きベクトルｍｖとの差分ｍｖｄを算出する動き予測手段を有し、前記動き予測手段は、カレントマクロブロックと、符号化順で次に符号化される、次のマクロブロックとが隣接しているとき、前記次のマクロブロックに対して前記（１）（２）（３）の手順で予測動きベクトルｍｖｐ、動きベクトルｍｖ、差分ｍｖｄの算出を行い、前記カレントマクロブロックについての前記比較手段による比較の結果、前記予測値が前記閾値より大きい場合、前記次のマクロブロックの隣接マクロブロックの情報を修正して、前記（１）の手順にて前記次のマクロブロックの予測動きベクトルｍｖｐを再度算出し、再度算出した前記予測動きベクトルｍｖｐと前記（２）の手順で求められている前記動きベクトルｍｖとを用いて、前記次のマクロブロックの差分ｍｖｄを再度算出するとしてもよい。
【００２４】
また、本発明の画像符号化装置において、前記所定の単位はマクロブロックであり、前記画像符号化手段は、（１）符号化対象マクロブロックに隣接する隣接マクロブロックの情報を用いて前記符号化対象マクロブロックの予測動きベクトルｍｖｐを算出し、（２）前記予測動きベクトルｍｖｐを用いて前記符号化対象マクロブロックの動きベクトルｍｖを算出し、（３）前記予測動きベクトルｍｖｐと前記動きベクトルｍｖとの差分ｍｖｄを算出する動き予測手段を有し、前記動き予測手段は、カレントマクロブロックと、符号化順で次に符号化される、次のマクロブロックとが隣接しているとき、前記次のマクロブロックに対して前記（１）（２）の手順で予測動きベクトルｍｖｐおよび動きベクトルｍｖの算出を行い、前記比較手段は、前記動き予測手段により、前記（３）の手順で前記次のマクロブロックに対しての差分ｍｖｄが算出される前に、前記カレントマクロブロックについて比較を実施し、前記動き予測手段はさらに、カレントマクロブロックに対する前記比較手段による比較の結果、前記予測値が前記閾値より大きい場合、前記次のマクロブロックの隣接マクロブロックの情報を修正して、前記（１）の手順にて前記次のマクロブロックの予測動きベクトルｍｖｐを再度算出し、再度算出した前記予測動きベクトルｍｖｐと前記（２）の手順で求められている前記動きベクトルｍｖとを用いて、前記次のマクロブロックの差分ｍｖｄを算出するとしてもよい。
【００２５】
また、本発明の画像符号化装置は、入力された画像データのうち、少なくとも符号化対象のマクロブロックであるカレントマクロブロックを構成する画像データを記憶する記憶部と、前記カレントマクロブロックに隣接するマクロブロックのうちの所定のマクロブロックの動きベクトルを用いて、前記カレントマクロブロックを構成する画像データの動きベクトルを算出するベクトル算出部と、前記ベクトル算出部において算出された動きベクトルを基に、前記カレントマクロブロックを構成する画像データを符号化する画像符号化部と、前記記憶部で記憶されている前記カレントマクロブロックを前記画像符号化部において符号化する前の画像データ、または、前記画像符号化部で符号化された画像データのいずれかを選択して出力する出力選択部と、を備え、前記出力選択部が、前記カレントマクロブロックについて、前記記憶部で記憶されている画像データを選択して出力した場合、前記ベクトル算出部は、前記カレントマクロブロックの動きベクトルを用いずに、前記カレントマクロブロックに対して符号化順で次のマクロブロックの予測動きベクトルを算出するとしてもよい。
【００２６】
また、本発明の画像符号化装置は、入力された画像データのうち、少なくとも符号化対象のマクロブロックであるカレントマクロブロックを構成する画像データを記憶する記憶部と、前記カレントマクロブロックに隣接するマクロブロックのうちの所定のマクロブロックの動きベクトルを用いて、前記カレントマクロブロックを構成する画像データの動きベクトルを算出するベクトル算出部と、前記ベクトル算出部において算出された動きベクトルを基に、前記カレントマクロブロックを構成する画像データを符号化する画像符号化部と、前記記憶部で記憶されている前記カレントマクロブロックを前記画像符号化部において符号化する前の画像データ、または、前記画像符号化部で符号化された画像データのいずれかを選択して出力する出力選択部と、を備え、前記出力選択部が、前記カレントマクロブロックについて、前記記憶部で記憶されている画像データを選択して出力した場合、前記ベクトル算出部は、当該カレントマクロブロックを構成する画像データの動きベクトルを用いずに、前記カレントマクロブロックに対して符号化順で次のマクロブロックを構成する画像データの動きベクトルを予測し、予測した動きベクトルと前記ベクトル算出部が算出した前記カレントマクロブロックの動きベクトルとの差分値である差分ベクトルを算出し、前記画像符号化部は、前記カレントマクロブロックを構成する符号化後の画像データに前記差分ベクトルを紐付けて出力するとしてもよい。
【００２７】
また、前記所定の単位はマクロブロックであり、前記画像符号化手段は、前記画像データを直交変換する直交変換手段と、前記直交変換手段によって得られた係数を量子化する量子化手段とを有し、前記予測手段は、前記量子化手段によって得られた量子化後係数を、前記量子化後係数が２値化された場合のビット数に変換する係数変換手段と、マクロブロック毎に前記係数変換手段によって得られたビット数を加算し、加算により得られた値を前記予測値とする加算手段とを有するとしてもよい。
【００２８】
また、前記画像符号化手段は、更に、前記マクロブロックの動きベクトルを求める演算手段を有し、前記予測手段は、更に、前記演算手段によって得られた動きベクトルを、前記動きベクトルが２値化された場合のビット数に変換する動き変換手段を有し、前記加算手段は、マクロブロック毎に、前記係数変換手段によって得られたビット数と、前記動き変換手段によって得られたビット数とを加算し、加算により得られた値を前記予測値とするとしてもよい。
【００２９】
また、前記演算手段は、更に、前記マクロブロックの前記動きベクトル以外の符号化情報を求め、前記予測手段は、更に、前記演算手段よって得られた前記符号化情報を、前記符号化情報が２値化された場合のビット数に変換する符号化情報変換手段を有し、前記加算手段は、マクロブロック毎に、前記係数変換手段によって得られたビット数と、前記動き変換手段によって得られたビット数と、前記符号化情報変換手段によって得られたビット数とを加算し、加算により得られた値を前記予測値とするとしてもよい。
【００３０】
また、前記所定の単位はマクロブロックであり、前記画像符号化手段は、前記画像データを直交変換する直交変換手段と、前記直交変換手段によって得られた係数を量子化する量子化手段とを有し、前記予測手段は、前記量子化手段によって得られた量子化後係数を、前記量子化後係数がエントロピー符号化された場合の符号量に変換する係数変換手段と、マクロブロック毎に前記係数変換手段によって得られた符号量を加算し、加算した値を前記予測値とする加算手段とを有するとしてもよい。
【００３１】
また、前記画像符号化手段は、更に、前記マクロブロックの動きベクトルを求める演算手段を有し、前記予測手段は、更に、前記演算手段によって得られた動きベクトルを、前記動きベクトルがエントロピー符号化された場合の符号量に変換する動き変換手段を有し、前記加算手段は、マクロブロック毎に、前記係数変換手段によって得られた符号量と、前記動き変換手段によって得られた符号量とを加算し、加算した値を前記予測値とするとしてもよい。
【００３２】
また、前記演算手段は、更に、前記マクロブロックの前記動きベクトル以外の符号化情報を求め、前記予測手段は、更に、前記演算手段によって得られた前記符号化情報を、前記符号化情報がエントロピー符号化された場合の符号量に変換する符号化情報変換手段を有し、前記加算手段は、マクロブロック毎に、前記係数変換手段によって得られた符号量と、前記動き変換手段によって得られた符号量と、前記符号化情報変換手段によって得られた符号量とを加算し、加算した値を前記予測値とするとしてもよい。
【００３３】
また、前記所定の単位はマクロブロックであり、前記予測手段は、更に、前記マクロブロックをエントロピー符号化する際の条件となる符号化条件を取得し、前記符号化条件に応じて前記予測値を補正する補正手段を有するとしてもよい。
【００３４】
また、前記画像符号化手段は、前記画像データを直交変換する直交変換手段と、前記直交変換手段によって得られた係数を量子化する量子化手段とを有し、前記符号化条件は、前記マクロブロックが含まれるピクチャの種類、前記量子化手段が量子化する際の量子化パラメータの値、前記画像符号化装置から出力されるデータの出力レートの値、および、エントロピー符号化するｒｅｓｉｄｕａｌ＿ｂｌｏｃｋの種類の少なくとも１つであるとしてもよい。
【００３５】
また、前記画像符号化手段は、前記符号化データを直交変換する直交変換手段と、前記直交変換手段によって得られた係数を量子化する量子化手段と、前記量子化手段によって得られた量子化後係数を逆量子化する逆量子化手段と、前記逆量子化手段によって得られた値を逆直交変換することでローカルデコード画を得る逆直交変換手段とを備え、前記Ｉ＿ＰＣＭデータは、前記ローカルデコード画であるとしてもよい。
【００３６】
また、前記Ｉ＿ＰＣＭデータは、前記画像符号化装置に入力される画像データであるとしてもよい。
【００３７】
また、前記所定の単位はマクロブロックであり、前記閾値は、ＡＶＣ／Ｈ．２６４で規定されるマクロブロックの最大の符号量であるとしてもよい。
【００３８】
また、前記所定の単位はマクロブロックであり、前記閾値符号量が、ＡＶＣ／Ｈ．２６４で規定されるマクロブロックの最大の符号量から所定のマージン値を引いた値であるとしてもよい。
【００３９】
また、前記エントロピー符号化は、Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ（ＣＡＢＡＣ）であるとしてもよい。
【００４０】
また、本発明は、本発明の画像符号化装置が備える特徴的な構成部を有する集積回路として実現することもできる。また、本発明は、本発明の画像符号化装置が実行する特徴的な処理を含む画像符号化方法、および、当該画像符号化方法をコンピュータに実行させるプログラムとして実現することもできる。
【発明の効果】
【００４１】
本発明によれば、エントロピー符号化のための２値化処理を行なう前に、Ｉ＿ＰＣＭデータを出力するか否かの判定が行なわれる。これにより、画像データの処理を高速化することが可能となる。例えば、所定の単位をマクロブロックとした場合、マクロブロックの直交変換および量子化が完了したらすぐに、次の面内予測、動き予測の処理を行なうことが可能になる。従って、マクロブロック毎のパイプライン処理が容易になり、処理の高速化が可能となる。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施の形態の画像符号化装置の機能的な構成概要を示す機能ブロック図である。
【図２】図１に示す画像符号化装置の機能的な構成概要の別の一例を示す機能ブロック図である。
【図３】本発明の実施の形態の画像符号化装置の機能的な構成の具体例１を示す機能ブロック図である。
【図４】本発明の実施の形態の画像符号化装置の機能的な構成の具体例２を示す機能ブロック図である。
【図５】量子化後係数の値をビット数に変換するための変換テーブルの一例である。
【図６】本発明の実施の形態の画像符号化装置の機能的な構成の具体例３を示す機能ブロック図である。
【図７】本発明の実施の形態の画像符号化装置の機能的な構成の具体例４を示す機能ブロック図である。
【図８】本発明の実施の形態の画像符号化装置の機能的な構成の具体例５を示す機能ブロック図である。
【図９】本発明の実施の形態の画像符号化装置の機能的な構成の具体例６を示す機能ブロック図である。
【図１０】本発明の実施の形態の画像符号化装置の機能的な構成の具体例７を示す機能ブロック図である。
【図１１】本発明の実施の形態の画像符号化装置の機能的な構成の具体例８を示す機能ブロック図である。
【図１２】本発明の実施の形態の画像符号化装置の機能的な構成の具体例９を示す機能ブロック図である。
【図１３】符号化対象のマクロブロックの動き予測に係る処理の効率化の一例を説明するための図である。
【図１４】ｍｖｄの算出に係る処理のタイムチャートを示す図である。
【図１５】従来の画像符号化装置の機能的な構成を示す機能ブロック図である。
【発明を実施するための形態】
【００４３】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００４４】
図１は、本発明の実施の形態の画像符号化装置の機能的な構成概要を示す機能ブロック図である。まず、図１および図２を用いて本発明の実施の形態の画像符号化装置の構成および動作の概要を説明し、その後に、図３以降を用いて具体的な構成および動作を説明する。
【００４５】
図１に示す画像符号化装置１は、画像データを符号化しビットストリームとして出力する装置である。
【００４６】
図１に示すように、画像符号化装置１は、画像符号化部１０と、Ｉ＿ＰＣＭデータバッファ４と、出力選択部８と、出力部９と、符号量予測部２０と、Ｉ＿ＰＣＭ判定部３０と、エントロピー符号化部４０とを備える。
【００４７】
画像符号化部１０は、入力される画像データを符号化する処理部であり、動き予測部２と、面内予測部３と、入力選択部５と、直交変換部６と、量子化部７とを有している。
【００４８】
また、エントロピー符号化部４０は、画像符号化部１０によって得られた符号化データに対しＣＡＢＡＣ符号化処理を行なう処理部であり、２値化器４１と、ＣＡＢＡＣ符号化器４２とを有している。
【００４９】
なお、逆量子化および逆直交変換を行なう構成部等、画像符号化装置が本来有する構成部の図示については図の簡略化のために省略している。
【００５０】
画像符号化装置１に符号化対象の画像のデータが入力されると、動き予測部２と面内予測部３とＩ＿ＰＣＭデータバッファ４とに入力される。つまり、Ｉ＿ＰＣＭデータバッファ４には原画データがＩ＿ＰＣＭデータとして格納される。動き予測部２または面内予測部３から出力されたデータは、入力選択部５に選択されることにより、離散コサイン変換（ＤＣＴ）を行なう直交変換部６に入力される。直交変換部６はＤＣＴによって得られるＤＣＴ係数を量子化部７に出力し、量子化部７によって量子化される。
【００５１】
以上の動作の流れは、従来の画像符号化装置と同様である。しかし、本発明の実施の形態の画像符号化装置１は、符号量予測部２０が、量子化部７から出力される量子化後のＤＣＴ係数（以下、「量子化後係数」という。）等の符号化データのマクロブロック毎の値から、マクロブロック毎のＣＡＢＡＣ符号化後の符号量の予測値を求めることができる。
【００５２】
また、符号量予測部２０へ入力されるデータは、量子化部の出力に限らず、符号量が予測可能である符号化データであれば何でもよい。
【００５３】
図２は、図１に示す画像符号化装置の機能的な構成概要の別の一例を示す機能ブロック図である。
【００５４】
例えば、図２に示す画像符号化装置のように、入力選択部５により選択されたデータを、符号量予測部２０の入力データとすることもできる。入力選択部５の出力は、直交変換部、量子化部によって、ほぼ一意のデータに変換されるので、符号量予測部２０に、入力選択部５の出力を入力しても、同じ結果を得ることが可能である。ただし、符号量予測部２０に、入力選択部５の出力を入力する場合と、量子化部７の出力を入力する場合とでは、符号量予測部２０の内部は変える必要がある。
【００５５】
なお、入力選択部５から出力されるデータも、本発明の画像符号化装置における符号化データの一例である。
【００５６】
更に、Ｉ＿ＰＣＭ判定部３０は、符号量についての設定された閾値を有しており、予測値と閾値との比較を行なうことができる。
【００５７】
Ｉ＿ＰＣＭ判定部３０は、比較の結果に基づき出力選択部８に指示を行なう。具体的には、予測値が閾値より大きい場合、Ｉ＿ＰＣＭデータを選択する指示を行なう。また、予測値が閾値以下である場合、画像符号化部１０から出力される符号化データを選択する指示を行なう。
【００５８】
また、Ｉ＿ＰＣＭ判定部３０は、動き予測部２に対してもＩ＿ＰＣＭ判定の結果を通知する。この通知を受けた動き予測部の動作については、後述する具体例１０および具体例１１において説明する。
【００５９】
出力選択部８は、Ｉ＿ＰＣＭデータを選択する指示を受けると、Ｉ＿ＰＣＭデータバッファ４からＩ＿ＰＣＭデータを取得し、出力部９に出力する。また、“ｍｂ＿ｔｙｐｅ＝Ｉ＿ＰＣＭ”とした制御情報をエントロピー符号化部４０に出力する。
【００６０】
エントロピー符号化部４０は、入力された制御情報のみを２値化器４１とＣＡＢＡＣ符号化器４２により符号化し、出力部９に出力する。
【００６１】
出力部９は、出力選択部８が出力するＩ＿ＰＣＭデータと、エントロピー符号化部４０が出力する符号化された制御情報とをビットストリームとして外部に出力する。
【００６２】
また、出力選択部８は、符号化データを選択する指示を受けると、量子化部７から量子化後係数データを取得し、エントロピー符号化部４０に出力する。
【００６３】
エントロピー符号化部４０は、２値化器４１とＣＡＢＡＣ符号化器４２とにより、入力された量子化後係数データを符号化し、出力部９に出力する。出力部９は、エントロピー符号化部４０が出力する符号化されたデータをビットストリームとして外部に出力する。つまり、出力選択部８と出力部９とにより、本発明の画像符号化装置における出力手段が有する、Ｉ＿ＰＣＭ判定に基づきデータを出力する機能が発揮される。
【００６４】
このように、本発明の画像符号化装置１は、エントロピー符号化のための処理の前に、出力するビットストリームをＩ＿ＰＣＭデータとするか、エントロピー符号化処理を行なった符号化データとするかを決定することができる。
【００６５】
つまり、Ｉ＿ＰＣＭデータをビットストリームとして出力するか否かの判定（以下、「Ｉ＿ＰＣＭ判定」という。）をマクロブロック毎に行なうが、この判定のタイミングをより早く行なうことができる。また、最終的に、原画データであるＩ＿ＰＣＭデータがビットストリームとして出力される場合、エントロピー符号化のための処理を行なう必要がない。つまり、必要な動作の決定をより早いタイミングで行なうことにより、処理速度が向上する。
【００６６】
以下、画像符号化装置１について、符号量予測部２０およびＩ＿ＰＣＭ判定部３０の具体的な構成および動作を中心に、その動作と構成の具体例を説明する。
【００６７】
（具体例１）
図３は、画像符号化装置１の機能的な構成の具体例１を示す機能ブロック図である。
【００６８】
図３に示すように、Ｉ＿ＰＣＭ判定部３０は、符号量比較部３１と閾値記憶部３２とを有している。その他の構成部は、図１に示す画像符号化装置と同じである。
【００６９】
閾値記憶部３２は、Ｉ＿ＰＣＭ判定のための基準値となる、符号量の閾値を記憶する記憶部である。
【００７０】
符号量比較部３１は、符号量予測部２０から出力されるマクロブロック毎の符号量の予測値と閾値記憶部３２に記憶されている閾値とを比較する処理部である。比較の結果、予測値が閾値より大きい場合、出力選択部８に、Ｉ＿ＰＣＭデータを選択する指示を行なう。また、予測値が閾値以下である場合、出力選択部８に、画像符号化部１０から出力される量子化後係数と符号化情報とを選択する指示を行なう。その後のデータの流れは、図１を用いて説明した通りである。
【００７１】
ここで、閾値記憶部３２に記憶されている閾値は、例えば、ＡＶＣ／Ｈ．２６４に規定されるマクロブロックの最大符号量である３２００ビットである。つまり、画像符号化装置１において、符号量が３２００ビットを越えると予測されたマクロブロックについては、Ｉ＿ＰＣＭデータがビットストリームとして出力される。
【００７２】
なお、閾値記憶部３２に記憶されている閾値は、ＡＶＣ／Ｈ．２６４に規定されるマクロブロックの最大符号量と同一の値ではなく、より安全に判定を行なうために、最大符号量から一定のマージン値を引いた値でもよい。また、一定のマージン値を引いた値を閾値として閾値記憶部３２に記憶しておくのではなく、符号量比較部３１が、最大符号量である閾値から所定のマージン値を引いて、予測値との比較を行なってもよい。
【００７３】
また、Ｉ＿ＰＣＭ判定をマクロブロックの単位で行わなくてもよく、より大きな単位でもよく、また、より小さな単位でもよい。例えば、エントロピー符号化の規格等に応じて変更してもよい。
【００７４】
（具体例２）
図４は、画像符号化装置１の機能的な構成の具体例２を示す機能ブロック図である。
【００７５】
図４に示すように、符号量予測部２０は係数ビット数変換部２１と加算部２５とを有している。また、画像符号化装置１において、動き予測部２と面内予測部３と、入力選択部５とにより符号化方式演算部１０ａが構成されている。更に、マージ部１１を備えている。
【００７６】
符号化方式演算部１０ａは、入力された画像データから得られる符号化情報と、画素の差分データとを分けて出力する。画素の差分データは直交変換部６と量子化部７とを経て、マージ部１１に入力される。マージ部１１は、符号化方式演算部１０ａから出力される符号化情報と、量子化部７から得られる量子化後係数データとをマージする。
【００７７】
符号化情報とは、符号化対象のマクロブロックの動きベクトル、ｍｂ＿ｔｙｐｅ、イントラ予測方向等の情報であり。マクロブロックの符号化に関する情報である。
【００７８】
その他の構成部は、図３に示す画像符号化装置１と同じであり、Ｉ＿ＰＣＭ判定部３０は、符号量比較部３１と閾値記憶部３２とを有している。
【００７９】
係数ビット数変換部２１は、本発明の画像符号化装置における係数変換手段の一例であり、量子化部７から出力される量子化後係数の値を、その量子化後係数が２値化器４１で２値化された場合の２値データのビット数に変換する処理部である。
【００８０】
具体的には、係数ビット数変換部２１は、図５に示す変換テーブルを有しており、その変換テーブルを用い量子化後係数の値をビット数に変換する。
【００８１】
図５は、量子化後係数の値をビット数に変換するための変換テーブルの一例である。図５に示すように、量子化後係数の値が分かれば２値データのビット数は決定される。
【００８２】
係数ビット数変換部２１から出力されるビット数は、加算部２５においてマクロブロック毎に加算され、Ｉ＿ＰＣＭ判定部３０に出力される。この加算部２５においてマクロブロック毎に加算され出力されるビット数を、以下、「係数ビット数」という。つまり、係数ビット数は、予測値としてＩ＿ＰＣＭ判定部３０に出力される。
【００８３】
Ｉ＿ＰＣＭ判定部３０において、閾値記憶部３２には、符号量予測部２０から出力される係数ビット数を用いて、Ｉ＿ＰＣＭ判定を行なうための閾値が記憶されている。つまり、符号量予測部２０から出力される予測値は、マクロブロック毎のＣＡＢＡＣ符号化後の符号量の予測値ではなく、マクロブロック毎の算術符号化前の段階の２値データのビット数である。そのため、そのビット数に対応する閾値を有している。
【００８４】
符号量比較部３１は、符号量予測部２０から受け取った係数ビット数である予測値と、閾値記憶部３２に記憶されている閾値とを比較し、予測値が閾値より大きい場合、出力選択部８に、Ｉ＿ＰＣＭデータを選択する指示を行なう。また、予測値が閾値以下である場合、出力選択部８に、画像符号化部１０から出力される符号化データを選択する指示を行なう。その後のデータの流れは、図１を用いて説明した通りである。
【００８５】
このように、図４に示す画像符号化装置１は、１つの符号化対象のマクロブロックに含まれる全ての量子化後係数を２値データにした場合のビット数を予測値として求めることができる。更に、その予測値と閾値とを比較することにより、マクロブロック毎のＩ＿ＰＣＭ判定を行なうことができる。
【００８６】
なお、係数ビット数変換部２１は、図５に示す変換テーブルを用い量子化後係数の値をビット数に変換するとした。しかしながら変換テーブル以外の手段で変換してもよく、例えば同じ変換結果が得られる関数を用いて変換してもよい。以下の説明において、変換テーブルを用いて変換する場合も同様である。
【００８７】
（具体例３）
図６は、画像符号化装置１の機能的な構成の具体例３を示す機能ブロック図である。
【００８８】
図６に示す画像符号化装置１の機能的な構成は、図４に示す画像符号化装置１が有する構成部に加え、動きベクトルビット数変換部２２と加算部２７とを符号量予測部２０に有する構成である。
【００８９】
動きベクトルビット数変換部２２は、本発明の画像符号化装置における動き変換手段の一例であり、符号化方式演算部１０ａから出力される符号化情報の中から動きベクトルを取得し、動きベクトルが２値化器４１で２値化された場合の２値データのビット数に変換する処理部である。この変換には、図５に示す変換テーブル同様の変換テーブルが用いられる。つまり、動きベクトルビット数変換部２２は、１つの動きベクトルから１つの２値データのビット数が得られる変換テーブルを有しており、この変換テーブルを用いて、動きベクトルが２値化器４１で２値化された場合の２値データのビット数に変換する。
【００９０】
動きベクトルビット数変換部２２から出力されるビット数は、加算部２７においてマクロブロック毎に加算される。この図６に示す加算部２７においてマクロブロック毎に加算され出力されるビット数を、以下、「動きベクトルビット数」という。また、係数ビット数変換部２１から出力されるビット数も加算部２５においてマクロブロック毎に加算される。更に、加算部２５と加算部２７とから出力される係数ビット数と動きベクトルビット数との和が、Ｉ＿ＰＣＭ判定部３０に出力される。つまり、係数ビット数と動きベクトルビット数との和は、予測値としてＩ＿ＰＣＭ判定部３０に出力される。
【００９１】
Ｉ＿ＰＣＭ判定部３０において、閾値記憶部３２には、係数ビット数と動きベクトルビット数との和を用いて、Ｉ＿ＰＣＭ判定を行なうための閾値が記憶されている。つまり、予測値として符号量予測部２０から出力される係数ビット数と動きベクトルビット数との和に対応する閾値を有している。
【００９２】
符号量比較部３１は、符号量予測部２０から受け取った係数ビット数と動きベクトルビット数との和である予測値と、閾値記憶部３２に記憶されている閾値とを比較し、予測値が閾値より大きい場合、出力選択部８に、Ｉ＿ＰＣＭデータを選択する指示を行なう。また、予測値が閾値以下である場合、出力選択部８に、画像符号化部１０から出力される符号化データを選択する指示を行なう。その後のデータの流れは、図１を用いて説明した通りである。
【００９３】
このように、図６に示す画像符号化装置１は、１つの符号化対象のマクロブロックに含まれる全ての量子化後係数を２値データにした場合のビット数と、そのマクロブロックの全ての動きベクトルを２値データにした場合のビット数とを加算し、加算した値を予測値とする。これにより、図４に示す画像符号化装置１と比べて、実際に符号化対象のマクロブロックを２値化した際のビット数により近い値を予測値とすることができる。更に、その予測値と閾値とを比較することにより、マクロブロック毎のＩ＿ＰＣＭ判定を行なうことができる。
【００９４】
（具体例４）
図７は、画像符号化装置１の機能的な構成の具体例４を示す機能ブロック図である。
【００９５】
図７に示す画像符号化装置１の機能的な構成は、図６に示す画像符号化装置１の構成において、動きベクトルビット数変換部２２に換えて符号化情報ビット数変換部２３を符号量予測部２０に有する構成である。
【００９６】
符号化情報ビット数変換部２３は、符号化方式演算部１０ａから出力される符号化情報を取得し、動きベクトルを含む符号化情報が２値化器４１で２値化された場合の２値データのビット数に変換する処理部である。つまり、動きベクトルが２値化された場合のビット数と、動きベクトル以外の符号化情報が２値化された場合のビット数とを出力する処理部である。従って、図６に示す、動きベクトルビット数変換部２２の役割も兼ねている処理部である。
【００９７】
なお、符号化情報ビット数変換部２３により、本発明の画像符号化装置における動き変換手段と符号化情報変換手段とがそれぞれ有する、対象となるデータから２値化後のビット数を得る機能が実現される。
【００９８】
この符号化情報の変換には、図５に示す変換テーブルと同様の変換テーブルが用いられる。つまり、符号化情報ビット数変換部２３は、符号化情報に含まれる１つの動きベクトルや１つのｍｂ＿ｔｙｐｅ等の情報のそれぞれから１つの２値データのビット数がそれぞれ得られる１つ以上の変換テーブルを有しており、この変換テーブルを用いて、符号化情報が２値化器４１で２値化された場合の２値データのビット数に変換する。
【００９９】
符号化情報ビット数変換部２３から出力されるビット数は、加算部２７においてマクロブロック毎に加算される。この図７に示す加算部２７においてマクロブロック毎に加算され出力されるビット数を、以下、「符号化情報ビット数」という。また、係数ビット数変換部２１から出力されるビット数も加算部２５においてマクロブロック毎に加算される。
【０１００】
更に、加算部２５と加算部２７とから出力される係数ビット数と符号化情報ビット数との和が、Ｉ＿ＰＣＭ判定部３０に出力される。つまり、係数ビット数と符号化情報ビット数との和は、予測値としてＩ＿ＰＣＭ判定部３０に出力される。
【０１０１】
つまり、図６に示す画像符号化装置１では、量子化後係数および動きベクトルのマクロブロック毎の２値化後の２値データのビット数の和を予測値としているが、図７に示す画像符号化装置１では、更に、動きベクトル以外のｍｂ＿ｔｙｐｅ等の符号化情報も２値化後の２値データのビット数に変換し、マクロブロック毎に予測値に加えている。
【０１０２】
Ｉ＿ＰＣＭ判定部３０において、閾値記憶部３２には、係数ビット数と符号化情報ビット数との和を用いて、Ｉ＿ＰＣＭ判定を行なうための閾値が記憶されている。つまり、予測値として符号量予測部２０から出力される係数ビット数と符号化情報ビット数との和に対応する閾値を有している。
【０１０３】
符号量比較部３１は、符号量予測部２０から受け取った係数ビット数と符号化情報ビット数との和である予測値と、閾値記憶部３２に記憶されている閾値とを比較し、予測値が閾値より大きい場合、出力選択部８に、Ｉ＿ＰＣＭデータを選択する指示を行なう。また、予測値が閾値以下である場合、出力選択部８に、画像符号化部１０から出力される符号化データを選択する指示を行なう。その後のデータの流れは、図１を用いて説明した通りである。
【０１０４】
このように、図７に示す画像符号化装置１は、１つの符号化対象のマクロブロックに含まれる全ての量子化後係数を２値データにした場合のビット数と、そのマクロブロックの全ての動きベクトルを２値データにした場合のビット数と、そのマクロブロックの動きベクトル以外の全ての符号化情報を２値データにした場合のビット数とを加算し、加算した値を予測値とする。これにより、図６に示す画像符号化装置１と比べて、実際に符号化対象のマクロブロックを２値化した際のビット数により近い値を予測値とすることができる。更に、その予測値と閾値とを比較することにより、マクロブロック毎のＩ＿ＰＣＭ判定を行なうことができる。
【０１０５】
（具体例５）
図８は、画像符号化装置１の機能的な構成の具体例５を示す機能ブロック図である。
【０１０６】
図８に示す画像符号化装置１の機能的な構成は、図４に示す画像符号化装置１の構成において、係数ビット数変換部２１に換えて係数符号量変換部２４を符号量予測部２０に有する構成である。
【０１０７】
係数符号量変換部２４は、本発明の画像符号化装置における係数変換手段の別の一例であり、量子化部７から出力される量子化後係数の値を、その量子化後係数が２値化された後にＣＡＢＡＣ符号化器４２で符号化された場合の符号量に変換し、予測値として出力する処理部である。
【０１０８】
つまり、符号量予測部２０は、上述の図４、図６および図７に示す各画像符号化装置１における符号量予測部２０とは異なり、マクロブロック毎の量子化後係数を２値データにした場合のビット数を予測値として出力するのではなく、そのマクロブロック毎の２値データをＣＡＢＡＣ符号化した場合の符号量を予測値として出力する。
【０１０９】
係数符号量変換部２４は、１つの量子化後係数の値を符号化後の１つの符号量に変換するための変換テーブル、または、関数等を有している。これら変換テーブルおよび関数等は、実験値または理論値から求められる。図９および図１０を用いて後述する動きベクトル符号量変換部２６および符号化情報符号量変換部２８も同様の変換テーブルまたは関数を用い、それぞれに入力される情報を符号量に変換する。
【０１１０】
係数符号量変換部２４から出力された符号量は、加算部２５においてマクロブロック毎に加算される。この図８に示す加算部２５においてマクロブロック毎に加算され出力される符号量を、以下、「係数符号量」という。つまり、係数符号量は、予測値としてＩ＿ＰＣＭ判定部３０に出力される。
【０１１１】
Ｉ＿ＰＣＭ判定部３０において、閾値記憶部３２には、符号量予測部２０から出力される係数符号量を用いて、Ｉ＿ＰＣＭ判定を行なうための閾値が記憶されている。符号量予測部２０から出力される予測値は、量子化後係数のマクロブロック毎のＣＡＢＡＣ符号化後の符号量の予測値であり、閾値記憶部３２には、その予測値に対応する閾値が記憶されている。例えば、上述の、ＡＶＣ／Ｈ．２６４で規定されるマクロブロックの最大の符号量である３２００ビット以下の値が閾値として記憶されている。
【０１１２】
符号量比較部３１は、符号量予測部２０から受け取った係数符号量である予測値と、閾値記憶部３２に記憶されている閾値とを比較し、予測値が閾値より大きい場合、出力選択部８に、Ｉ＿ＰＣＭデータを選択する指示を行なう。また、予測値が閾値以下である場合、出力選択部８に、画像符号化部１０から出力される符号化データを選択する指示を行なう。その後のデータの流れは、図１を用いて説明した通りである。
【０１１３】
このように、図８に示す画像符号化装置１は、１つの符号化対象のマクロブロックに含まれる全ての量子化後係数をＣＡＢＡＣ符号化した場合の符号量を予測値として求めることができる。更に、その予測値と閾値とを比較することにより、マクロブロック毎のＩ＿ＰＣＭ判定を行なうことができる。
【０１１４】
（具体例６）
図９は、画像符号化装置１の機能的な構成の具体例６を示す機能ブロック図である。
【０１１５】
図９に示す画像符号化装置１の機能的な構成は、図８に示す画像符号化装置１が有する構成部に加え、動きベクトル符号量変換部２６と加算部２７とを符号量予測部２０に有する構成である。
【０１１６】
動きベクトル符号量変換部２６は、本発明の画像符号化装置における動き変換手段の別の一例であり、符号化方式演算部１０ａから出力される符号化情報の中から動きベクトルを取得し、動きベクトルが２値化され更にＣＡＢＡＣ符号化器４２で符号化された場合の符号量に変換する処理部である。この変換には上述のように変換テーブルまたは関数等が用いられる。
【０１１７】
動きベクトル符号量変換部２６から出力される符号量は、加算部２７においてマクロブロック毎に加算される。この図９に示す加算部２７においてマクロブロック毎に加算され出力される符号量を、以下、「動きベクトル符号量」という。また、係数符号量変換部２４から出力される符号量も加算部２５においてマクロブロック毎に加算される。更に、加算部２５と加算部２７とから出力される係数符号量と動きベクトル符号量との和が、Ｉ＿ＰＣＭ判定部３０に出力される。つまり、係数符号量と動きベクトル符号量との和は、予測値としてＩ＿ＰＣＭ判定部３０に出力される。
【０１１８】
Ｉ＿ＰＣＭ判定部３０において、閾値記憶部３２には、係数符号量と動きベクトル符号量との和を用いて、Ｉ＿ＰＣＭ判定を行なうための閾値が記憶されている。つまり、予測値として符号量予測部２０から出力される係数符号量と動きベクトル符号量との和に対応する閾値を有している。例えば、上述の、ＡＶＣ／Ｈ．２６４で規定されるマクロブロックの最大の符号量である３２００ビット以下の値が閾値として記憶されている。
【０１１９】
符号量比較部３１は、符号量予測部２０から受け取った係数符号量と動きベクトル符号量との和である予測値と、閾値記憶部３２に記憶されている閾値とを比較し、予測値が閾値より大きい場合、出力選択部８に、Ｉ＿ＰＣＭデータを選択する指示を行なう。また、予測値が閾値以下である場合、出力選択部８に、画像符号化部１０から出力される符号化データを選択する指示を行なう。その後のデータの流れは、図１を用いて説明した通りである。
【０１２０】
このように、図９に示す画像符号化装置１は、１つの符号化対象のマクロブロックに含まれる全ての量子化後係数をＣＡＢＡＣ符号化した場合の符号量と、そのマクロブロックの全ての動きベクトルをＣＡＢＡＣ符号化した場合の符号量とを加算し、加算した値を予測値とする。これにより、図８に示す画像符号化装置１と比べて、実際に符号化対象のマクロブロックをＣＡＢＡＣ符号化した際の符号量により近い値を予測値とすることができる。更に、その予測値と閾値とを比較することにより、マクロブロック毎のＩ＿ＰＣＭ判定を行なうことができる。
【０１２１】
（具体例７）
図１０は、画像符号化装置１の機能的な構成の具体例７を示す機能ブロック図である。
【０１２２】
図１０に示す画像符号化装置１の機能的な構成は、図９に示す画像符号化装置１の構成において、動きベクトル符号量変換部２６に換えて符号化情報符号量変換部２８を符号量予測部２０に有する構成である。
【０１２３】
符号化情報符号量変換部２８は、符号化方式演算部１０ａから出力される符号化情報を取得し、動きベクトルを含む符号化情報が２値化され更にＣＡＢＡＣ符号化器４２で符号化された場合の符号量に変換する処理部である。つまり、動きベクトルがＣＡＢＡＣ符号化された場合の符号量と、動きベクトル以外の符号化情報がＣＡＢＡＣ符号化された場合の符号量とを出力する処理部である。従って、図９に示す、動きベクトル符号量変換部２６の役割も兼ねている処理部である。
【０１２４】
なお、符号化情報符号量変換部２８により、本発明の画像符号化装置における動き変換手段と符号化情報変換手段とがそれぞれ有する、対象となるデータからエントロピー符号化後の符号量を得る機能が実現される。
【０１２５】
この符号化情報の変換には上述のように変換テーブルまたは関数等が用いられる。
【０１２６】
符号化情報符号量変換部２８から出力される符号量は、加算部２７においてマクロブロック毎に加算される。この図１０に示す加算部２７においてマクロブロック毎に加算され出力される符号量を、以下、「符号化情報符号量」という。また、係数符号量変換部２４から出力される符号量も加算部２５においてマクロブロック毎に加算される。更に、加算部２５と加算部２７とから出力される符号化情報符号量と動きベクトル符号量との和が、Ｉ＿ＰＣＭ判定部３０に出力される。つまり、係数符号量と符号化情報符号量との和は、予測値としてＩ＿ＰＣＭ判定部３０に出力される。
【０１２７】
つまり、図９に示す画像符号化装置１では、量子化後係数および動きベクトルのマクロブロック毎のＣＡＢＡＣ符号化後の符号量の和を予測値としているが、図１０に示す画像符号化装置１では、更に、動きベクトル以外のｍｂ＿ｔｙｐｅ等の符号化情報もＣＡＢＡＣ符号化後の符号量に変換し、マクロブロック毎に予測値に加えている。
【０１２８】
Ｉ＿ＰＣＭ判定部３０において、閾値記憶部３２には、係数符号量と符号化情報符号量との和を用いて、Ｉ＿ＰＣＭ判定を行なうための閾値が記憶されている。つまり、予測値として符号量予測部２０から出力される符号化情報符号量と動きベクトル符号量との和に対応する閾値を有している。
【０１２９】
符号量比較部３１は、符号量予測部２０から受け取った係数符号量と符号化情報符号量との和である予測値と、閾値記憶部３２に記憶されている閾値とを比較し、予測値が閾値より大きい場合、出力選択部８に、Ｉ＿ＰＣＭデータを選択する指示を行なう。また、予測値が閾値以下である場合、出力選択部８に、画像符号化部１０から出力される符号化データを選択する指示を行なう。その後のデータの流れは、図１を用いて説明した通りである。
【０１３０】
このように、図１０に示す画像符号化装置１は、１つの符号化対象のマクロブロックに含まれる全ての量子化後係数をＣＡＢＡＣ符号化した場合の符号量と、そのマクロブロックの全ての動きベクトルを２ＣＡＢＡＣ符号化した場合の符号量と、そのマクロブロックの動きベクトル以外の全ての符号化情報をＣＡＢＡＣ符号化した場合の符号量とを加算し、加算した値を予測値とする。これにより、図９に示す画像符号化装置１と比べて、実際に符号化対象のマクロブロックをＣＡＢＡＣ符号化した際の符号量により近い値を予測値とすることができる。更に、その予測値と閾値とを比較することにより、マクロブロック毎のＩ＿ＰＣＭ判定を行なうことができる。
【０１３１】
（具体例８）
図１１は、画像符号化装置１の機能的な構成の具体例８を示す機能ブロック図である。
【０１３２】
図１１に示す画像符号化装置１の機能的な構成は、図１０に示す画像符号化装置１の構成に加えて、値補正部２９を符号量予測部２０に有する構成である。
【０１３３】
値補正部２９は、符号化対象のマクロブロックのエントロピー符号化する際の条件となる符号化条件を取得し、その符号化条件に応じて符号量予測部２０において求められる予測値の補正を行なう処理部である。
【０１３４】
マクロブロックの符号化条件とは、例えば、マクロブロックが含まれるピクチャの種類（Ｉ／Ｐ／Ｂ）、ｍｂ＿ｔｙｐｅ、残差ブロック（ｒｅｓｉｄｕａｌ＿ｂｌｏｃｋ）の種類、量子化パラメータ、および、ターゲットとする出力レートなどである。これら符号化条件により、ＣＡＢＡＣ符号化後の符号量が変動するため、値補正部２９は、その変動に応じて予測値を補正する。
【０１３５】
具体的には、係数符号量変換部２４および符号化情報符号量変換部２８のそれぞれが有する、入力された情報から符号量に変換するための変換テーブルまたは関数を、これら符号化条件に応じて書き換える。これにより、予測値が補正される。
【０１３６】
これら符号化条件は、例えば、ピクチャ情報やスライス情報から得ることができ、ピクチャ情報およびスライス情報は、スライスヘッダ、ＳＰＳ、ＰＰＳから取得することができる。ピクチャ情報およびスライス情報は、所定の手段により値補正部２９に取得される。また、ターゲットの出力レートは、画像符号化装置１のユーザが所定の手段により画像符号化装置１に入力し、その出力レートの値は値補正部２９に取得される。
【０１３７】
従って、係数符号量変換部２４および符号化情報符号量変換部２８のそれぞれから出力される符号量は、符号化対象のマクロブロックの符号化条件に応じて補正されたものとなる。この２つの符号量はそれ加算部２５および加算部２７において加算され係数符号量および符号化情報符号量として出力される。更に、係数符号量と符号化情報符号量との和は、予測値としてＩ＿ＰＣＭ判定部３０に出力される。
【０１３８】
Ｉ＿ＰＣＭ判定部３０において、閾値記憶部３２には、符号量予測部２０から出力される係数符号量と符号化情報符号量との和を用いて、Ｉ＿ＰＣＭ判定を行なうための閾値が記憶されている。例えば、上述の、ＡＶＣ／Ｈ．２６４で規定されるマクロブロックの最大の符号量である３２００ビットが閾値として記憶されている。
【０１３９】
符号量比較部３１は、符号量予測部２０から受け取った係数ビット数と、閾値記憶部３２に記憶されている閾値とを比較し、予測値が閾値より大きい場合、出力選択部８に、Ｉ＿ＰＣＭデータを選択する指示を行なう。また、予測値が閾値以下である場合、出力選択部８に、画像符号化部１０から出力される符号化データを選択する指示を行なう。その後のデータの流れは、図１を用いて説明した通りである。
【０１４０】
このように、図１１に示す画像符号化装置１は、図１０に示す画像符号化装置１と同じく、１つの符号化対象のマクロブロックに含まれる全ての量子化後係数をＣＡＢＡＣ符号化した場合の符号量と、そのマクロブロックの全ての動きベクトルを２ＣＡＢＡＣ符号化した場合の符号量と、そのマクロブロックの動きベクトル以外の全ての符号化情報をＣＡＢＡＣ符号化した場合の符号量とを加算し、加算した値を予測値とする。
【０１４１】
図１１に示す画像符号化装置１は、更に、符号量予測部２０において予測値を求める際に、マクロブロックの符号化条件に応じた補正を行なった上で予測値を求めることができる。つまり、符号量予測部２０は、より正確なマクロブロック毎の符号量の予測値を出力することができる。更に、その予測値と閾値とを比較することにより、マクロブロック毎のＩ＿ＰＣＭ判定を行なうことができる。
【０１４２】
（具体例９）
図１２は、画像符号化装置１の機能的な構成の具体例９を示す機能ブロック図である。
【０１４３】
図１２に示す画像符号化装置１は、上述の各画像符号化装置１が備えるＩ＿ＰＣＭデータバッファ４に換えて、ローカルデコード画バッファ１２を備えている。また、画像符号化部１０には逆量子化部１７と逆直交変換部１６とが加えられている。なお、逆量子化部１７と逆直交変換部１６とは図１〜図４および図６〜図１１に図示していないが、上述のように画像符号化装置１が本来備える構成部である。
【０１４４】
図１２に示す画像符号化装置１において、量子化部７から出力される量子化後係数データは、逆量子化部１７にも入力され、逆量子化される。更に、逆量子化されたデータは逆直交変換部１６に入力され、逆直交変換されることでローカルデコード画となる。このローカルデコード画はローカルデコード画バッファ１２に格納される。また、このローカルデコード画は面内予測部３によって取得され、次のマクロブロックの画面内予測で参照される。
【０１４５】
また、図１２に示す画像符号化装置１において、符号量予測部２０およびＩ＿ＰＣＭ判定部３０の機能的な構成は、図１〜図４および図６〜図１１に示す各画像符号化装置における、いずれかの符号量予測部２０およびＩ＿ＰＣＭ判定部３０と同じ機能的な構成である。つまり、マクロブロック毎の２値化後の２値データの予測値、または、ＣＡＢＡＣ符号化後の符号量を符号量予測部２０が出力し、その予測値と閾値記憶部３２に記憶されている閾値とを比較することで、マクロブロック毎のＩ＿ＰＣＭ判定を行なう。
【０１４６】
しかし、図１２の画像符号化装置１は、上述の各画像符号化装置１とは異なり、予測値が閾値より大きい場合、動画像の原画データではなく、上述のローカルデコード画をＩ＿ＰＣＭデータとして出力する。
【０１４７】
Ｉ＿ＰＣＭデータとして原画データを使用する場合、次のマクロブロックの画面内予測に使用される参照画像がローカルデコード画像から原画データに変更されるため、判定前に次のマクロブロックの画面内予測が開始されている場合、次のマクロブロックの画面内予測処理を再度実行しなければならない。
【０１４８】
しかし、図１２に示すような構成の画像符号化装置１は、ローカルデコード画像をI＿ＰＣＭデータに使用するため、次のマクロブロックの画面内予測で参照される画素が変更されずに済み、次のマクロブロックの画面内予測の再実行処理が行われず、処理の速度が向上する。
【０１４９】
以上のように、本発明の実施の形態の画像符号化装置１は、符号化対象のデータが２値化される前に、マクロブロック毎のＩ＿ＰＣＭ判定を行なうことができる。また、その判定は、複数種の情報を利用することや、マクロブロックの符号化条件を用いることにより、より確度の高い判定を行なうことができる。
【０１５０】
このように、従来の画像符号化装置１より早いタイミングでＩ＿ＰＣＭ判定を行なうため、処理速度が向上する。また、結局はビットストリームとして出力されないデータを２値化するなどの無駄な処理を行なうことがなく、処理の効率を向上させることも可能である。
【０１５１】
また、本発明の実施の形態の画像符号化装置１は、従来より早いタイミングで行なう上記判定の結果を利用し、符号化対象のマクロブロックの動き予測に係る処理をより効率的に行なうことができる。このことによっても、画像符号化装置１全体としての処理速度を向上させることができる。
【０１５２】
以下、具体例１０および具体例１１として符号化対象のマクロブロックの動き予測の効率化について説明する。
【０１５３】
（具体例１０）
図１３は、符号化対象のマクロブロックの動き予測に係る処理の効率化の一例を説明するための図である。
【０１５４】
図１３（Ａ）は、予測動きベクトルの算出において参照されるマクロブロックを説明するための図である。図１３（Ａ）において１つの升目は１つのマクロブロックを表している。
【０１５５】
図１３（Ａ）に示す符号化対象マクロブロックに対し、左隣接マクロブロックの動きベクトルはｍｖＬＸＡ、上隣接マクロブロックの動きベクトルはｍｖＬＸＢ、右上隣接マクロブロックの動きベクトルはｍｖＬＸＣという。
【０１５６】
符号化対象のマクロブロックの予測動きベクトルｍｖｐＬＸは、ｍｖＬＸＡ、ｍｖＬＸＢおよびｍｖＬＸＣの３つの動きベクトルの中央値等を用いて求められる。
【０１５７】
図１３（Ｂ）は、図１３（Ａ）に示す複数のマクロブロックに記号を付与した図である。以下、［iv］とはローマ数字ivが付されたマクロブロックのことを指し、［v］とはローマ数vが付されたマクロブロックのことを指す。また、以下の処理は、例えば、図１に示す画像符号化装置１において行なわれる。また、他の図に示す各画像符号化装置１のいずれにおいてもＩ＿ＰＣＭ判定部３０が動き予測部２に対し指示を与えるパスを有することで実現される。
【０１５８】
まず、［iv］が動き予測によって符号化処理が行なわれた場合を考える。
【０１５９】
動き予測によって、［iv］のｍｖＬＸが得られる。［iv］のｍｖＬＸは、［v］のｍｖＬＸＡであるので、［v］は左隣接マクロブロックである［iv］のｍｖＬＸをｍｖＬＸＡとして用いてｍｖｐＬＸの算出、動き予測の処理を開始する。
【０１６０】
次に、Ｉ＿ＰＣＭ判定部３０により、［iv］について、Ｉ＿ＰＣＭをビットストリームとして出力すると判定された場合、［iv］のｍｖＬＸは変更になる。つまり、これは［v］のｍｖＬＸＡが変更されたことを意味するので、［v］のｍｖｐＬＸの算出処理を再度実行しなければならない。
【０１６１】
図１３（Ｃ）は、動き予測に係る処理のタイムチャートを示す図である。図においてＴ０、Ｔ１、・・・のそれぞれは、所定の連続する期間を示す記号である。以下に各期間に行われる処理の概要を説明する。なお、予測動きベクトルｍｖｐＬＸを、以下、単に「ｍｖｐ」と記す。また、以下の処理において動き予測に係る処理は動き予測部２が行ない、ＤＣＴ係数の算出は直交変換部６が行ない、量子化後係数の算出は量子化部７が行ない、Ｉ＿ＰＣＭ判定はＩ＿ＰＣＭ判定部３０が行なう。
【０１６２】
Ｔ０：［iv］の処理が開始され、［iv］のｍｖｐ算出と動き予測とが行なわれる。
【０１６３】
Ｔ１：［iv］のＤＣＴ係数および量子化後係数の算出が行われる。また、［v］のｍｖｐ算出と動き予測とが行なわれる。
【０１６４】
Ｔ２：［iv］のＩ＿ＰＣＭ判定が行なわれる。また、［v］のＤＣＴ係数および量子化後係数の算出が行なわれる。
【０１６５】
ここで、［iv］のＩ＿ＰＣＭ判定の結果、［iv］についてＩ＿ＰＣＭデータをビットストリームとして出力すると判定された場合、今までの［v］の処理をキャンセルし、［v］について再度ｍｖｐの算出を行なう旨の指示がＩ＿ＰＣＭ判定部３０から動き予測部２に対してなされる。
【０１６６】
Ｔ３：［v］のｍｖｐ算出と動き予測が行われる。また、［iv］のエントロピー符号化のための処理が行われる。
【０１６７】
ここで、従来の画像符号化装置であれば、上述の例でいうと、［iv］のエントロピー符号化のための処理が開始された後に、Ｉ＿ＰＣＭ判定が行われる。そのためＩ＿ＰＣＭ判定の結果に基づく［v］の再度の動き予測は、早くてもＴ４に開始されることとなる。
【０１６８】
しかしながら、本発明の実施の形態の画像符号化装置１においては、［iv］のエントロピー符号化のための処理が開始される前、具体的には２値化処理の開始前に、Ｉ＿ＰＣＭ判定が行われる。そのため、Ｉ＿ＰＣＭ判定の結果に基づく［v］の再度の動き予測に係る処理はＴ３に開始することができる。また、動き予測に係る処理に含まれるｍｖｐの算出には、変更になる［iv］の動きベクトルは用いずに、［v］の上隣接と右上隣接のマクロブロックである［ii］および［iii］の動きベクトルが用いられる。
【０１６９】
つまり、動き予測部２は、カレントマクロブロックと、符号化順で次に符号化される、次のマクロブロックとが隣接しているとき、カレントマクロブロックについての予測値が閾値より大きい場合、次のマクロブロックの隣接マクロブロックの情報を修正して、次のマクロブロックのｍｖｐの算出を行なう。なお、カレントマクロブロックとは、例えば上述の［iv］であり、この場合、次のマクロブロックは上述の［v］である。
【０１７０】
このように、従来より早いタイミングでＩ＿ＰＣＭ判定が行われることにより、あるマクロブロックについてＩ＿ＰＣＭデータをビットストリームとして出力すると判定された場合、従来より早いタイミングで、動き予測に係る処理のやり直しを開始することができる。つまり、動き予測に係る処理を効率よく進めることができる。
【０１７１】
結果として、画像符号化装置１全体としての処理速度を向上させることができる。
【０１７２】
（具体例１１）
上述の具体例１０では、従来より早いタイミングで行われるＩ＿ＰＣＭ判定の結果を利用し、動き予測に係る処理のやり直しを従来より早いタイミングで開始する処理の流れを説明した。
【０１７３】
ここで、図１３（ｃ）のタイムチャートに示すように動き予測に係る処理は、具体的には、予測動きベクトルであるｍｖｐの算出と、そのｍｖｐと参照するピクチャとから実際の動きベクトル（ｍｖ）を求める動き予測の処理と、ｍｖｐとｍｖの差分（ｍｖｄ）を算出する処理とで構成される。具体的には、ｍｖｄの算出は、ＡＶＣ／Ｈ．２６４に規格される以下の式に基づいて行われる。
【０１７４】
ｍｖＬＸ［０］＝ｍｖｐＬＸ［０］＋ｍｖｄ＿ｌＸ［ｍｂＰａｒｔＩｄｘ］［ｓｕｂＭｂＰａｒｔＩｄｘ］［０］  （式１）
ｍｖＬＸ［１］＝ｍｖｐＬＸ［１］＋ｍｖｄ＿ｌＸ［ｍｂＰａｒｔＩｄｘ］［ｓｕｂＭｂＰａｒｔＩｄｘ］［１］  （式２）
である。式を変形して、差分を示すｍｖｄ＿ｌＸは以下の式で求められる。
【０１７５】
ｍｖｄ＿ｌＸ［ｍｂＰａｒｔＩｄｘ］［ｓｕｂＭｂＰａｒｔＩｄｘ］［０］＝ｍｖＬＸ［０］−ｍｖｐＬＸ［０］  （式３）
ｍｖｄ＿ｌＸ［ｍｂＰａｒｔＩｄｘ］［ｓｕｂＭｂＰａｒｔＩｄｘ］［１］＝ｍｖＬＸ［１］−ｍｖｐＬＸ［１］  （式４）
【０１７６】
なお、（式１）〜（式４）においてかっこ内の“０”はベクトルのｘ軸成分を意味し、“１”は、ベクトルのｙ軸成分を意味する。また“ｍｂＰａｒｔＩｄｘ”および“ｓｕｂＭｂＰａｒｔＩｄｘ”は、それぞれ、マクロブロック内の位置を特定する情報である。
【０１７７】
つまり、上述の（式３）および（式４）から、予測動きベクトル（ｍｖｐ）と、そのｍｖｐと実際の動きベクトル（ｍｖ）との差分（ｍｖｄ）とは以下の数式を構成する。
【０１７８】
ｍｖｄ＝ｍｖ−ｍｖｐ  （式５）
【０１７９】
ｍｖｄは動きベクトルを示す情報として用いられ、小さいほうが、符号化した際の符号量が小さくなる、つまり、（式５）に示すように、ｍｖとｍｖｐとが近いほど、ｍｖｄの符号化後の符号量は小さくなる。従って、動き予測においては、符号化対象のマクロブロックについて、参照するピクチャ内でｍｖｐとｍｖとの差分が小さな画素ブロックが優先的に探索される。
【０１８０】
つまり、上述のように、Ｉ＿ＰＣＭ判定の結果に応じ、ｍｖｐの算出をやり直す場合、通常は、やり直しにより変更されたｍｖｐに応じｍｖが変更されることになる。
【０１８１】
しかしながら、本発明の実施の形態の画像符号化装置１は、ｍｖを変更せずに、変更されたｍｖｐと、すでに求められているｍｖとを用いｍｖｄを算出する。これにより、動き予測の処理を速く完了することができる。
【０１８２】
図１４は、ｍｖｄの算出に係る処理のタイムチャートを示す図である。図においてＴ０、Ｔ１、・・・のそれぞれは、所定の連続する期間を示す記号である。また、図中の“iv”および“v”は、図１３（Ｂ）に示す、複数のマクロブロックに付与された記号に対応する。以下に各期間に行われる処理の概要を説明する。なお、以下の処理において動き予測に係る処理は動き予測部２が行ない、ＤＣＴ係数の算出は直交変換部６が行ない、量子化後係数の算出は量子化部７が行ない、Ｉ＿ＰＣＭ判定はＩ＿ＰＣＭ判定部３０が行なう。
【０１８３】
Ｔ０：［iv］の処理が開始され、［iv］のｍｖｐ算出と動き予測が行なわれる。
【０１８４】
Ｔ１：［iv］のＤＣＴ係数、量子化後係数およびｍｖｄの算出が行なわれる。また、［v］のｍｖｐ算出と動き予測とが行なわれる。
【０１８５】
Ｔ２：［iv］のＩ＿ＰＣＭ判定が行なわれる。［v］のＤＣＴ係数および量子化後係数の算出が行なわれる。ここで、［iv］のＩ＿ＰＣＭ判定の結果、［iv］についてＩ＿ＰＣＭデータをビットストリームとして出力すると判定された場合、次の期間Ｔ３で［v］のｍｖｄ再計算を行なう旨の指示がＩ＿ＰＣＭ判定部３０から動き予測部２に対してなされる。
【０１８６】
Ｔ３：［v］のＩ＿ＰＣＭ判定と、ｍｖｄの再計算が行われる。このｍｖｄの再計算は、具体的には予測動きベクトルであるｍｖｐが算出され、このｍｖｐと、すでにＴ２において求められているｍｖとの差分を求めることにより、ｍｖｄが算出される。また、［iv］のエントロピー符号化のための処理が行なわれる。
【０１８７】
Ｔ４：［v］のエントロピー符号化のための処理が行なわれる。
【０１８８】
このように、従来より早いタイミングでＩ＿ＰＣＭ判定が行われることにより、あるマクロブロックについてＩ＿ＰＣＭデータをビットストリームとして出力すると判定された場合、従来より早いタイミングで、動き予測のやり直しを開始することができる。
【０１８９】
また、動き予測部２は、カレントマクロブロックと次のマクロブロックとが隣接しているとき、次のマクロブロックに対してｍｖｐ、ｍｖ、ｍｖｄの算出を行い、カレントマクロブロックについての予測値が閾値より大きい場合、次のマクロブロックの隣接マクロブロックの情報を修正してｍｖｐを再度算出し、そのｍｖｐと既に求められているｍｖとを用いて、次のマクロブロックのｍｖｄを再度算出する。
【０１９０】
つまり、動き予測の中でｍｖｄを算出する際に、新たなｍｖを求めることなく、すでに求められているｍｖと変更されたｍｖｐとでｍｖｄを求める。これにより、やり直しの動き予測を早く完了させることができる。結果として、画像符号化装置１全体としての処理速度を向上させることができる。
【０１９１】
なお、ｍｖｄの最初の算出を、直前のマクロブロックのＩ＿ＰＣＭ判定の前ではなく、Ｉ＿ＰＣＭ判定の後に行ってもよい。例えば、図１４に示すタイムチャートを用いると、［v］のｍｖｄ算出を、Ｔ２において、［iv］のＩ＿ＰＣＭ判定の後に行なってもよい。
【０１９２】
この場合、図１４に示すタイムチャートでは、［iv］についてＩ＿ＰＣＭデータをビットストリームとして出力すると判定されているため、［v］のｍｖｄの算出はＴ２で行なわれ、更にＴ３で再度行なわれている。しかし、上述のように、［iv］のＩ＿ＰＣＭ判定の後に、ｍｖｄの最初の算出を行なう場合、［iv］のＩ＿ＰＣＭ判定によりｍｖｐが変更されたか否かに関わらず、その時点のｍｖｐを用いてｍｖｄの算出を行えばよい。
【０１９３】
つまり、動き予測部２は、カレントマクロブロックと次のマクロブロックとが隣接しているとき、次のマクロブロックに対してｍｖｐおよびｍｖの算出を行う。また、ｍｖｄが算出される前にカレントマクロブロックについての予測値と閾値との比較が行われ、その比較の結果、予測値が閾値より大きい場合、動き予測部２は、次のマクロブロックの隣接マクロブロックの情報を修正して、ｍｖｐを再度算出し、そのｍｖｐとすでに求められているｍｖとを用いて次のマクロブロックのｍｖｄを算出する。
【０１９４】
これにより、［iv］のＩ＿ＰＣＭ判定の結果に関わらず、ｍｖｄの算出を１回行なうだけでよいことになる。
【０１９５】
以上のように、本発明の実施の形態の画像符号化装置１は、動き判定に係る処理、具体的にはｍｖｐの再計算においても、具体例１０の説明で述べたように、Ｉ＿ＰＣＭの判定が早く行われるので、ｍｖｐの再算出からｍｖの再探索までを早く実行することができる。
【０１９６】
また、具体例１１の説明で述べたように、ｍｖｄの再計算を行なう動き予測において、ｍｖｐが変更になった場合であっても、既存のｍｖを用いてｍｖｄを算出する。これにより、動き予測を早く完了することができる。
【０１９７】
また、これら、ｍｖｐの再計算およびｍｖｄの再計算のトリガは、上述のＩ＿ＰＣＭ判定の結果出力であるため、従来よりも早いタイミングでｍｖｐの再計算およびｍｖｄの再計算を開始することができる。
【０１９８】
このように、本発明の実施の形態の画像符号化装置１は、２値化したデータをエントロピー符号化する画像符号化装置であって、画像データをより高速に処理することができる。
【産業上の利用可能性】
【０１９９】
本発明は、２値化したデータをエントロピー符号化する画像符合化装置に利用することができる。具体的には、ＡＶＣ／Ｈ．２６４に規定されたデータ圧縮技術により符号化する、ハイビジョン映像などを出力する画像符合化装置として最適である。
【符号の説明】
【０２００】
１    画像符号化装置
２    動き予測部
３    面内予測部
４    ＰＣＭデータバッファ
５    入力選択部
６    直交変換部
７    量子化部
８    出力選択部
９    出力部
１０    画像符号化部
１０ａ    符号化方式演算部
１１    マージ部
１２    ローカルデコード画バッファ
１６    逆直交変換部
１７    逆量子化部
２０    符号量予測部
２１    係数ビット数変換部
２２    動きベクトルビット数変換部
２３    符号化情報ビット数変換部
２４    係数符号量変換部
２５    加算部
２６    ベクトル符号量変換部
２７    加算部
２８    符号化情報符号量変換部
２９    値補正部
３０    ＰＣＭ判定部
３１    符号量比較部
３２    閾値記憶部
４０    エントロピー符号化部
４１    ２値化器
４２    ＣＡＢＡＣ符号化器
【図１】
2010279081.tif 000003
【図２】
2010279081.tif 000004
【図４】
2010279081.tif 000005
【図５】
2010279081.tif 000006
【図６】
2010279081.tif 000007
【図７】
2010279081.tif 000008
【図８】
2010279081.tif 000009
【図９】
2010279081.tif 000010
【図１０】
2010279081.tif 000011
【図１１】
2010279081.tif 000012
【図１２】
2010279081.tif 000013
【図１３】
2010279081.tif 000014
【図１４】
2010279081.tif 000015
【図１５】
2010279081.tif 000016
【図３】
2010279081.tif 000017