(57)【要約】  【課題】  並列処理のために隣接ブロックの必要なベクトル情報等が得られない場合でも、高速な符号化処理を実現可能な画像情報符号化装置を提供することにある。  【解決手段】  ＭＰＥＧ４／ＡＶＣ等の画像符号化方式に基づく画像圧縮情報を出力する画像情報符号化装置において、所定のブロックがスキップモードや、スペーシャルダイレクトモードであるか否かのモード判定を行う際に、所定の隣接ブロックの全てについて動きベクトル情報等が計算されている必要があるが、全体の処理を高速化するために各ブロックについて並列処理を行っている場合は、所定の隣接ブロックの動きベクトル情報等が全て得られるとは限らない。この場合に、隣接ブロックの動きベクトル情報等の計算を待つことなくモード判定が行えるよう、隣接ブロックの代わりに、他の近傍ブロックの動きベクトル情報等を擬似的に用いてモード判定を行う。【選択図】  図２
2005244503.tif 000002
【特許請求の範囲】
【請求項１】
動き予測を用いて画像情報の符号化処理を行う画像情報符号化装置において、
前記符号化処理は、動きベクトル情報と係数情報のうち少なくとも１つを省略してブロックについての符号化を行い、復号側では、所定のルールによって前記省略された情報を復元可能である符号化モードを有し、
前記ブロックが前記符号化モードで符号化可能か否かを、前記ブロックに隣接する所定の隣接ブロックの動き情報からなる候補情報を用いて判定する判定手段と、
少なくとも１つの前記隣接ブロックの前記動き情報が利用できない場合に、前記利用できない動き情報に代えて擬似的な動き情報を生成し、前記候補情報として提供する擬似算出手段とを有することを特徴とする画像情報符号化装置。
【請求項２】
請求項１に記載の画像情報符号化装置において、
前記擬似的な動き情報が、前記利用できない動き情報を有する隣接ブロックの近傍にある近傍ブロックの、利用可能な動き情報であることを特徴とする画像情報符号化装置。
【請求項３】
請求項１に記載の画像情報符号化装置において、
前記擬似的な動き情報が、特定の値であることを特徴とする画像情報符号化装置。
【請求項４】
請求項１に記載の画像情報符号化装置において、
前記符号化モードには、前記動きベクトル情報と前記係数情報を省略して符号化する第１のモードが含まれ、
前記判定手段と前記擬似算出手段は、第１のモードの前記判定および前記生成に関しては、前記動きベクトル情報を前記動き情報として扱うことを特徴とする画像情報符号化装置。
【請求項５】
請求項１に記載の画像情報符号化装置において、
前記符号化モードには、前記動きベクトル情報を省略して符号化する第２のモードが含まれ、
前記判定手段と前記擬似算出手段は、前記第２のモードの前記判定および前記生成に関しては、前記動きベクトル情報および参照インデックス情報を前記動き情報として扱うことを特徴とする画像情報符号化装置。
【請求項６】
請求項２に記載の画像情報符号化装置において、
前記符号化が、ＭＰＥＧ４／ＡＶＣの規格に従って行われ、
前記判定手段は、前記擬似的な動き情報と、前記ＭＰＥＧ４／ＡＶＣの規格によって算出された動き情報が一致しない場合は、前記擬似的な動き情報を前記候補情報として用いないことを特徴とする画像情報符号化装置。
【請求項７】
請求項２に記載の画像情報符号化装置において、
前記符号化が、ＭＰＥＧ４／ＡＶＣの規格に従って行われ、
前記判定手段は、前記擬似的な動き情報と、前記ＭＰＥＧ４／ＡＶＣの規格によって算出された動き情報が一致しない場合、前記擬似的な動き情報は、
前記符号化モードが前記動きベクトル情報と前記係数情報を省略して符号化する第１のモードである場合には、１６×１６のブロックの候補動きベクトル情報とし、
前記符号化モードが前記動きベクトル情報を省略して符号化する第２のモードである場合には、１６×１６または８×８のブロックの候補動きベクトル情報とすることを特徴とする画像情報符号化装置。
【請求項８】
請求項２に記載の画像情報符号化装置において、
前記近傍ブロックは、前記ブロックに関して、前記利用できない動き情報を有する隣接ブロックより空間的な距離が大きいものが選択されることを特徴とする画像情報符号化装置。
【請求項９】
動き予測を用いて画像情報の符号化処理を行う画像情報符号化方法において、
前記符号化処理は、動きベクトル情報と係数情報のうち少なくとも１つを省略してブロックについての符号化を行い、復号側では、所定のルールによって前記省略された情報を復元可能である符号化モードを有し、
前記ブロックが前記符号化モードで符号化可能か否かを、前記ブロックに隣接する所定の隣接ブロックの動き情報からなる候補情報を用いて判定する判定ステップと、
少なくとも１つの前記隣接ブロックの前記動き情報が利用できない場合に、前記利用できない動き情報に代えて擬似的な動き情報を生成し、前記候補情報として提供する擬似算出ステップとを有することを特徴とする画像情報符号化方法。
【請求項１０】
請求項９に記載の画像情報符号化方法において、
前記擬似的な動き情報が、前記利用できない動き情報を有する隣接ブロックの近傍にある近傍ブロックの、利用可能な動き情報であることを特徴とする画像情報符号化方法。
【請求項１１】
請求項９に記載の画像情報符号化方法において、
前記擬似的な動き情報が、特定の値であることを特徴とする画像情報符号化方法。
【請求項１２】
請求項９に記載の画像情報符号化方法において、
前記符号化モードには、前記動きベクトル情報と前記係数情報を省略して符号化する第１のモードが含まれ、
前記判定ステップと前記擬似算出ステップは、第１のモードの前記判定および前記生成に関しては、前記動きベクトル情報を前記動き情報として扱うことを特徴とする画像情報符号化方法。
【請求項１３】
請求項９に記載の画像情報符号化方法において、
前記符号化モードには、前記動きベクトル情報を省略して符号化する第２のモードが含まれ、
前記判定ステップと前記擬似算出ステップは、前記第２のモードの前記判定および前記生成に関しては、前記動きベクトル情報および参照インデックス情報を前記動き情報として扱うことを特徴とする画像情報符号化方法。
【請求項１４】
請求項１０に記載の画像情報符号化方法において、
前記符号化が、ＭＰＥＧ４／ＡＶＣの規格に従って行われ、
前記判定ステップは、前記擬似的な動き情報と、前記ＭＰＥＧ４／ＡＶＣの規格によって算出された動き情報が一致しない場合は、前記擬似的な動き情報を前記候補情報として用いないことを特徴とする画像情報符号化方法。
【請求項１５】
請求項１０に記載の画像情報符号化方法において、
前記符号化が、ＭＰＥＧ４／ＡＶＣの規格に従って行われ、
前記判定ステップは、前記擬似的な動き情報と、前記ＭＰＥＧ４／ＡＶＣの規格によって算出された動き情報が一致しない場合、前記擬似的な動き情報は、
前記符号化モードが前記動きベクトル情報と前記係数情報を省略して符号化する第１のモードである場合には、１６×１６のブロックの候補動きベクトル情報とし、
前記符号化モードが前記動きベクトル情報を省略して符号化する第２のモードである場合には、１６×１６または８×８のブロックの候補動きベクトル情報とすることを特徴とする画像情報符号化方法。
【請求項１６】
請求項１０に記載の画像情報符号化方法において、
前記近傍ブロックは、前記ブロックに関して、前記利用できない動き情報を有する隣接ブロックより空間的な距離が大きいものが選択されることを特徴とする画像情報符号化方法。
【請求項１７】
コンピュータに、
動き予測を用いて画像情報の符号化処理を行う画像情報符号化方法を実行させるためのプログラムであって、
前記画像情報符号化方法は、動きベクトル情報と係数情報のうち少なくとも１つを省略してブロックについての符号化を行い、復号側では、所定のルールによって前記省略された情報を復元可能である符号化モードを有し、
前記ブロックが前記符号化モードで符号化可能か否かを、前記ブロックに隣接する所定の隣接ブロックの動き情報からなる候補情報を用いて判定する判定ステップと、
少なくとも１つの前記隣接ブロックの前記動き情報が利用できない場合に、前記利用できない動き情報に代えて擬似的な動き情報を生成し、前記候補情報として提供する擬似算出ステップとを有する。
【請求項１８】
請求項１７に記載のプログラムにおいて、
前記擬似的な動き情報が、前記利用できない動き情報を有する隣接ブロックの近傍にある近傍ブロックの、利用可能な動き情報であることを特徴とするプログラム。
【請求項１９】
請求項１７に記載のプログラムにおいて、
前記擬似的な動き情報が、特定の値であることを特徴とするプログラム。
【請求項２０】
請求項１７に記載のプログラムにおいて、
前記符号化モードには、前記動きベクトル情報と前記係数情報を省略して符号化する第１のモードが含まれ、
前記判定ステップと前記擬似算出ステップは、第１のモードの前記判定および前記生成に関しては、前記動きベクトル情報を前記動き情報として扱うことを特徴とするプログラム。
【請求項２１】
請求項１７に記載のプログラムにおいて、
前記符号化モードには、前記動きベクトル情報を省略して符号化する第２のモードが含まれ、
前記判定ステップと前記擬似算出ステップは、前記第２のモードの前記判定および前記生成に関しては、前記動きベクトル情報および参照インデックス情報を前記動き情報として扱うことを特徴とするプログラム。
【請求項２２】
請求項１８に記載のプログラムにおいて、
前記符号化が、ＭＰＥＧ４／ＡＶＣの規格に従って行われ、
前記判定ステップは、前記擬似的な動き情報と、前記ＭＰＥＧ４／ＡＶＣの規格によって算出された動き情報が一致しない場合は、前記擬似的な動き情報を前記候補情報として用いないことを特徴とするプログラム。
【請求項２３】
請求項１８に記載のプログラムにおいて、
前記符号化が、ＭＰＥＧ４／ＡＶＣの規格に従って行われ、
前記判定ステップは、前記擬似的な動き情報と、前記ＭＰＥＧ４／ＡＶＣの規格によって算出された動き情報が一致しない場合、前記擬似的な動き情報は、
前記符号化モードが前記動きベクトル情報と前記係数情報を省略して符号化する第１のモードである場合には、１６×１６のブロックの候補動きベクトル情報とし、
前記符号化モードが前記動きベクトル情報を省略して符号化する第２のモードである場合には、１６×１６または８×８のブロックの候補動きベクトル情報とすることを特徴とするプログラム。
【請求項２４】
請求項１８に記載のプログラムにおいて、
前記近傍ブロックは、前記ブロックに関して、前記利用できない動き情報を有する隣接ブロックより空間的な距離が大きいものが選択されることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＭＰＥＧ（Moving Picture Experts Group）、Ｈ.２６ｘ等の様に、離散コサイン変換またはカルーネン・レーベ変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルテレビジョン、インターネット、携帯電話などのネットワークを介して受信する際に、若しくは光、磁気ディスク、フラッシュメモリのような記憶媒体上で処理する際に用いられる画像情報符号化装置に関する。
【背景技術】
【０００２】
近年、画像情報をディジタルとして取り扱い、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するＭＰＥＧなどの方式に準拠した画像情報符号化装置や復号化装置が、放送局などの情報配信、および一般家庭における情報受信の双方において普及しつつある。
【０００３】
特に、ＭＰＥＧ２（ＩＳＯ（International Organization for Standardization）／ＩＥＣ（International Electrotechnical Commition） １３８１８−２）は、汎用画像符号化方式として定義されている。またＭＰＥＧ２は、飛び越し走査画像および順次走査画像の双方、並びに標準解像度画像および高精細画像を網羅する標準で、現在、プロフェッショナル用途およびコンシューマー用途の広範なアプリケーションに広く用いられている。このＭＰＥＧ２圧縮方式を用いることにより、例えば７２０×４８０の画素を持つ標準解像度の飛び越し走査画像であれば４〜８Ｍｂｐｓ（Bit per Second）、１９２０×１０８８の画素を持つ高解像度の飛び越し走査画像であれば１８〜２２Ｍｂｐｓの符号量（ビットレート）を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
【０００４】
ＭＰＥＧ２は、主として放送用に適合する高画質符号化を対象としていたが、ＭＰＥＧ１より小さい符号量（低ビットレート）、つまり、より高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してＭＰＥＧ４符号化方式の標準化が行われた。画像符号化方式に関しては、１９９８年１２月にＩＳＯ／ＩＥＣ １４４９６−２という規格が国際標準として承認された。
【０００５】
さらに、近年、当初テレビ会議用の画像符号化を目的として策定されたＨ.２６Ｌ（ＩＴＵ（International Telecommunication Union）−Ｔ  Ｑ６／１６  ＶＣＥＧ）という標準の規格化が進んでいる。Ｈ．２６Ｌは、ＭＰＥＧ２やＭＰＥＧ４といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、ＭＰＥＧ４の活動の一環として、このＨ．２６Ｌをベースに、Ｈ．２６Ｌではサポートされない機能も取り入れ、より高い符号化効率を実現する標準化がＪｏｉｎｔ  Ｍｏｄｅｌ  ｏｆ  Ｅｎｈａｎｃｅｄ−Ｃｏｍｐｒｅｓｓｉｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇとして行われ、２００３年３月には、Ｈ．２６４／ＡＶＣ（Advanced Video Coding）という規格が国際標準として認められた。この規格は、ＭＰＥＧ−４  Ｐａｒｔ１０とも称される。この明細書では、以降、この規格を適宜ＡＶＣ（ＡＶＣ規格）と称する。また、非特許文献１には、この規格に基づく処理の内容が記載されている。
【非特許文献１】「Draft Errata List with Revision-Marked Corrections for H.264/AVC」, JVT-1050, Thomas Wiegand et al., Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG, 2003
【０００６】
ここで、ＡＶＣ規格に基づいた従来の画像情報符号化装置を、図６のブロック図を参照して説明する。図６の画像情報符号化装置１００は、Ａ／Ｄ変換部１０１、画面並べ替えバッファ１０２、加算器１０３、直交変換部１０４、量子化部１０５、可逆符号化部１０６、蓄積バッファ１０７、逆量子化部１０８、逆直交変換部１０９、デブロックフィルタ１１０、フレームメモリ１１１、イントラ予測部１１２、動き予測・補償部１１３、およびレート制御部１１４を含む。
【０００７】
入力信号（画像信号）は、まず、Ａ／Ｄ変換部１０１に提供され、そこでディジタル信号に変換される。次に、出力となる画像圧縮情報のＧＯＰ（Group of Pictures）構造に応じ、画面並べ替えバッファ１０２においてフレームの並べ替えが行われる。
【０００８】
イントラ符号化、すなわち単一のフレームを用いてする符号化が行われる画像に関しては、入力画像と、イントラ予測部１１２により生成される画素値の差分情報が直交変換部１０４に入力され、ここで離散コサイン変換、カルーネン・レーベ変換等の直交変換が施される。直交変換部１０４の出力となる変換係数は、量子化部１０５に提供され、そこで量子化処理が施される。量子化部１０５の出力となる、量子化された変換係数は、可逆符号化部１０６に送出され、ここで可変長符号化、算術符号化等の可逆符号化が施された後、蓄積バッファ１０７に蓄積され、画像圧縮情報として画像情報符号化装置１００から出力される。
【０００９】
量子化部１０５の挙動は、レート制御部１１４によって制御される。量子化部１０５の出力である、量子化された変換係数は、逆量子化部１０８に入力され、さらに逆直交変換部１０９において逆直交変換処理が施されて復号化画像情報となり、デブロックフィルタ１１０においてブロック歪の除去が行われた後、フレームメモリ１１１に蓄積される。イントラ予測部１１２において、当該ブロック／マクロブロックに対して適用されたイントラ予測モードに関する情報は、可逆符号化部１０６に伝送され、画像圧縮情報におけるヘッダ情報の一部として符号化される。
【００１０】
一方、インター符号化、すなわち複数のフレームの画像情報を用いて符号化が行われる画像に関しては、まず、符号化対象の画像の情報が、動き予測・補償部１１３に入力される。これとともに、参照される、他のフレームの画像情報がフレームメモリ１１１より動き予測・補償部１１３に入力され、そこで動き予測・補償処理が行われ、参照画像情報が生成される。この参照画像情報は、加算器１０３に送られ、ここで当該画像情報との差分信号に変換される。動き予測・補償部１１３は、同時に動きベクトル情報を可逆符号化部１０６に出力し、その情報はやはり可変長符号化、算術符号化といった可逆符号化処理が施され、画像圧縮情報のヘッダ部に挿入される。その他の処理はイントラ符号化に関するものと同様である。
【００１１】
次に、図７のブロック図を参照して、離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換と動き補償により画像圧縮を実現する画像情報復号化装置１２０について説明する。この画像情報復号化装置１２０は、蓄積バッファ１２１、可逆復号化部１２２、逆量子化部１２３、逆直交変換部１２４、加算器１２５、画面並べ替えバッファ１２６、Ｄ／Ａ変換部１２７、フレームメモリ１２８、動き予測・補償部１２９、イントラ予測部１３０、およびデブロックフィルタ１３１から構成される。
【００１２】
入力情報（画像圧縮情報）は、まず、蓄積バッファ１２１に格納された後、可逆復号化部１２２に転送される。ここで、定められた画像圧縮情報のフォーマットに基づき、可変長復号化、算術復号化等の処理が行われる。これとともに、当該フレームがイントラ符号化されたものである場合、可逆復号化部１２２においては、画像圧縮情報のヘッダ部に格納されたイントラ予測モード情報をも復号化し、その情報をイントラ予測部１３０に伝送する。当該フレームがインター符号化されたものである場合、可逆復号化部１２２においては、画像圧縮情報のヘッダ部に格納された動きベクトル情報をも復号化し、その情報を動き予測・補償部１２９に転送する。
【００１３】
可逆復号化部１２２の出力となる、量子化された変換係数は、逆量子化部１２３に入力され、ここで変換係数として出力される。変換係数は、逆直交変換部１２４において、定められた方式に基づき、４次の逆直交変換が施される。当該フレームがイントラ符号化されたものである場合には、逆直交変換処理が施された画像情報と、イントラ予測部１３０において生成された予測画像とが、加算器１２５において合成され、さらに、デブロックフィルタ１３１においてブロック歪の除去が行われた後、画面並べ替えバッファ１２６に格納され、Ｄ／Ａ変換部１２７でのＤ／Ａ変換処理の後に出力される。
【００１４】
当該フレームがインター符号化されたものである場合には、動き予測・補償部１２９において、可逆復号化部１２２で可逆復号化処理が施された動きベクトル情報、およびフレームメモリ１２８に格納された画像情報を元に参照画像が生成され、この参照画像と、逆直交変換部１２４の出力とが、加算器１２５において合成される。その他の処理はイントラ符号化されたフレームと同様である。
【００１５】
ところで、図６に示した画像情報符号化装置１００においては、高い圧縮効率を実現するために、動き予測・補償部１１３が重要な役割を果たす。ＡＶＣ符号化方式においては、以下に述べる３つの方式を導入することで、従来のＭＰＥＧ２やＭＰＥＧ４等の画像符号化方式と比較して高い圧縮効率を実現している。
【００１６】
すなわち、第一の方式は、複数フレームの参照（Multiple Reference Frame）、第二の方式は、可変ブロックサイズを利用した動き予測・補償、第三の方式は、１／４画素精度の動き補償である。
【００１７】
第一の方式は、複数フレームの参照である。ＡＶＣ符号化方式においては、動き予測・補償に関して、前のフレームを１以上参照することができる。ＭＰＥＧ２やＭＰＥＧ４では、直前のフレームのみが動き予測・補償の際に参照されていた。直前のフレームを参照することによって、符号化するフレームに関しては、移動したオブジェクトの動きを表す動きベクトルとオブジェクト画像の差分データのみで、そのフレームを再現でき、符号化データの圧縮率を高めることができる。しかしながら、ＡＶＣ符号化方式のように、参照するフレームを複数にすれば、差分データをさらに低減させることが期待でき、圧縮率がより向上する。
【００１８】
図８に示すように、１つの当該（カレント）フレームに属するマクロブロックの処理に関して、複数のフレームを参照することが可能である。こうした処理は、画像情報符号化装置１００の動き予測・補償部１１３では、以前のフレームをフレームメモリ１１１に蓄積することによって、画像情報復号化装置１２０の動き予測・補償部１２９では、以前のフレームをフレームメモリ１２８に蓄積することによって実現可能である。
【００１９】
第二の方式は、可変ブロックサイズを利用した動き予測・補償である。ＡＶＣ符号化方式においては、図９に示すように、一つのマクロブロックを最小で８（ピクセル）×８（ピクセル）の動き補償ブロックに分割することが可能である。さらに、８×８の動き補償ブロックに関しては、最小で４×４のサブマクロブロック（パーティション）に分割することが可能である。各マクロブロックにおいて、それぞれの動き補償ブロックは、別個の動きベクトル情報を持つことが可能である。
【００２０】
ここで、ＡＶＣ符号化方式で生成されたビデオシーケンスの階層を大きな単位のものから表すと、フレーム（ピクチャー）＞スライス−＞マクロブロック−＞サブマクロブロック−＞ピクセルの順となる。４×４のサブマクロブロックを単にブロックと呼ぶこともある。ここでは、マクロブロックおよびサブマクロブロックを適宜「ブロック」と称することとする。
【００２１】
第三の方式は、１／４画素精度の動き補償処理である。この処理について、図１０を参照して説明する。最初に、１／２画素精度の画素値が生成され、その後１／４画素精度の画素値が計算される。１／２画素精度の画素値の生成については、以下の６ｔａｐ  ＦＩＲ（Finite Impulse Response）フィルタが定義されている。
｛１，−５，２０，２０，−５，１｝      ・・・（式１）
【００２２】
図１０において、大文字の英字で表記された部分は、整数画素（Integer Sample）を表しており、小文字の英字で表記された部分は、分数画素（Fractional Sample、例えば、１／２画素または１／４画素）を表している。１／２画素精度の画素値ｂ、およびｈに関しては、近傍の整数画素精度の画素値と上記フィルタを用いて以下のように求められる。
ｂ１＝（Ｅ−５Ｆ＋２０Ｇ＋２０Ｈ−５Ｉ＋Ｊ）      ・・・（式２）
ｈ１＝（Ａ−５Ｃ＋２０Ｇ＋２０Ｍ−５Ｒ＋Ｔ）      ・・・（式３）
さらに、以下のようにクリップ処理を行い、ｂおよびｈを求める。
ｂ＝Ｃｌｉｐ１（（ｂ１＋１６）＞＞５）      ・・・（式４）
ｈ＝Ｃｌｉｐ１（（ｈ１＋１６）＞＞５）      ・・・（式５）
ここで、Ｃｌｉｐ１（ｘ）＝Ｃｌｉｐ３（０，２５５，ｘ）であり、
Ｃｌｉｐ３は、以下のように定義される。
【数１】
2005244503.tif 000003
また、「ｘ＞＞ｙ」は、２の補数表記の２進数であるｙに対して、右にｘビットシフトすることを表す。
【００２３】
１／２画素精度の画素値ｊについては、まず、上述したｂやｈと同様の方法で、ａａ，ｂｂ，ｃｃ，ｄｄ，ｅｅ，ｆｆ，ｇｇ，およびｈｈを生成した後、以下の式７または式８のうちいずれかで求められるｊ１を元にして、式９により求められる。
ｊ１＝ｃｃ−５ｄｄ＋２０ｈ＋２０ｍ−５ｅｅ＋ｆｆ      ・・・（式７）
ｊ１＝ａａ−５ｂｂ＋２０ｂ＋２０ｓ−５ｇｇ＋ｈｈ      ・・・（式８）
ｊ＝Ｃｌｉｐ１（（ｊ１＋５１２）＞＞１０）              ・・・（式９）
【００２４】
１／４画素精度の画素値、ａ，ｃ，ｄ，ｎ，ｆ，ｉ，ｋ，ｑについては、以下の式１０ないし式１７のように、整数画素精度の画素値と、１／２画素精度の画素値の線形内挿により求められる。
ａ＝（Ｇ＋ｂ＋１）＞＞１      ・・・（式１０）
ｃ＝（Ｈ＋ｂ＋１）＞＞１      ・・・（式１１）
ｄ＝（Ｇ＋ｈ＋１）＞＞１      ・・・（式１２）
ｎ＝（Ｍ＋ｈ＋１）＞＞１      ・・・（式１３）
ｆ＝（ｂ＋ｊ＋１）＞＞１      ・・・（式１４）
ｉ＝（ｈ＋ｊ＋１）＞＞１      ・・・（式１５）
ｋ＝（ｊ＋ｍ＋１）＞＞１      ・・・（式１６）
ｑ＝（ｊ＋ｓ＋１）＞＞１      ・・・（式１７）
【００２５】
また、１／４画素精度の画素値ｅ，ｇ，ｐ，ｒは、以下の式１８ないし式２１のように、１／２画素精度の画素値の線形内挿により求められる。
ｅ＝（ｂ＋ｈ＋１）＞＞１      ・・・（式１８）
ｇ＝（ｂ＋ｍ＋１）＞＞１      ・・・（式１９）
ｐ＝（ｈ＋ｓ＋１）＞＞１      ・・・（式２０）
ｒ＝（ｍ＋ｓ＋１）＞＞１      ・・・（式２１）
【００２６】
次に、ＡＶＣ符号化方式において規定されている動きベクトル符号化方式を、図１１を参照して説明する。図１１には、ブロックＥと、その周囲のブロックＡ、Ｂ、Ｃ、およびＤが表されている。ここで、ブロックＡないしＥは、マクロブロックやサブマクロブロックであってもよい。カレントブロックである（すなわち、動き補償処理の対象となる）ブロックＥに関する動きベクトルの予測値の生成には、原則として隣接ブロックＡ、Ｂ、Ｃに対する動きベクトル情報等が用いられる。この処理は、メディアン予測（Median Prediction）と呼ばれる。
【００２７】
また、ブロックＣが、当該ピクチャー（フレーム）内、若しくは、当該スライス内に存在しない、若しくは処理順序の都合により、ブロックＣの動きベクトル情報および参照フレームを用いることができない時、動き補償処理は、ブロックＣの動きベクトル情報および参照フレームの代わりに、ブロックＤの動きベクトル情報および参照フレームを用いる。
【００２８】
またさらに、動き補償ブロックＢ、Ｃ、Ｄが全て当該ピクチャー内、若しくは当該スライス内に存在しない場合には、ブロックＡに対する動きベクトル情報および参照フレームが用いられる。
【００２９】
上記以外で、イントラ符号化されている場合、または当該ピクチャー若しくはスライス内に存在しないなどの理由で動き補償に関する情報を用いた符号化が不可能である場合、その動きベクトル値は０であり、また、参照インデックス（refIdx）の値は−１となる。
【００３０】
次に、Ｐピクチャー（フレーム）におけるスキップモードに関して説明する。ＡＶＣにおいては、Ｐピクチャーで、「スキップモード」と呼ばれる特殊な符号化方式が定義されている。これは、動きベクトル情報と係数情報をビットストリーム中に埋め込まず、復号化の際には、ある一定のルールの元に、動きベクトル情報を復元するモードであり、これにより、符号化されるビット数を節約することができ、より高い符号化効率を実現することが可能となる。
【００３１】
このスキップモードは、ブロックサイズが１６×１６のブロックについてのみの特殊なモードとなっている。スキップモードの動きベクトル情報等に関しては、参照インデックス（refIdxL0）の値は０で、以下に示す３つの条件の内一つでも成立した場合には、動きベクトルの値の両成分（ｘ、ｙ）がともに０となり、その他の場合には、上述のメディアン予測の結果を動きベクトルの値とする。ここで、カレントブロックはブロックＥであるとする。
【００３２】
条件１：ブロックＡまたはブロックＢが使用不可である場合。
条件２：ブロックＡの参照インデックス（refIdxL0A）の値が０で、且つ動きベクトル値が０である場合。
条件３：ブロックＢの参照インデックス（refIdxL0B）の値が０で、且つ動きベクトル値が０である場合。
【００３３】
図１２Ａは、図１１で説明したブロックＡないしＥのブロックサイズがすべて１６×１６である例を示したものである。
【００３４】
図１２Ｂは、カレントブロックＥが１６×１６のブロックサイズであり、ブロックＡが８×４、ブロックＢが４×８、ブロックＣが１６×８である場合を示している。この場合も、上記と同様、スキップモードの判定がされる。ここで、ブロックＥの隣接ブロックが小さなサイズである場合は、複数のブロックがブロックＥに接することになるが、ブロックＥの左上の角が接するブロックをそれぞれブロックＡ、Ｄ、Ｂとし、ブロックＥの右上の角が接するブロックをブロックＣとする。
【００３５】
次に、Ｂピクチャーのダイレクトモードについて説明する。ダイレクトモードは、ブロックサイズ１６×１６または８×８についての特殊なモードであり、Ｐピクチャーへの適用はない。上述したスキップモード同様、動きベクトル情報が伝送されないため、復号化の際には、隣接するブロックの情報からこれらの動きベクトル情報を生成するが、符号化における動き補償処理の係数情報は伝送される。ダイレクトモードのうち、１６×１６のブロックに関しては、量子化処置の結果、係数情報が０となった場合には、係数情報を有しないスキップモードとして扱うことも可能である。
【００３６】
ダイレクトモードには、後述するように、スペーシャルダイレクトモードと、テンポラルダイレクトモードが存在し、スライスのヘッダに含まれるパラメータ（例えば、「direct_spatial_mv_pred_flag」）を用いて、当該スライスではどちらが用いられるかを指定することが可能である。
【００３７】
最初に、スペーシャルダイレクトモードに関して説明する。スペーシャルダイレクトモード予測を行う前に、以下のように所定のフラグ（例えば、「colZeroFlag」）の値を設定する。
【００３８】
すなわち、以下の全てが「真」である時、４×４ブロック単位、あるいは８×８ブロック単位でフラグ「colZeroFlag」の値を１とし、これ以外の時、０とする。
（ａ）RefPictList1[0]によって参照される参照フレーム（ピクチャー）が、短期間の参照ピクチャー（short-term reference picture）としてマークされたものである
（ｂ）コロケートマクロブロックに対する参照インデックスの値が０である
（ｃ）コロケートブロックの動きベクトル情報ｍｖCol[0]およびｍｖCol[1]の両方が、１／４画素精度で-1〜1の間の値である(コロケートマクロブロックが、フィールドマクロブロックである場合には、垂直方向に関しては、フィールド単位での１／４画素精度である)。
【００３９】
フラグ「colZeroFlag」の値が１である時、若しくは隣接ブロックが全てイントラである等の状況により、当該ブロックに対する動きベクトル（ｐｍｖ）を生成することが不可能である場合には、ｍｖ（動きベクトル）＝０を当該ブロックに対して適用する。これ以外の時、メディアン予測により生成される動きベクトル値を当該ブロックに対して適用する。
【００４０】
参照インデックスはList０、List１共に図１２に示した近接ブロックＡ、Ｂ、Ｃ（またはＤ）の最小値を用いる。
【００４１】
次に、テンポラルダイレクトモードについて説明する。前向き動きベクトルＭＶ０と後ろ向き動きベクトルＭＶ１は、後続のフレーム（ピクチャー）ＲＬ１のコロケーションブロックで用いられている動きベクトルＭＶＣから求められる。図１３において、フレームＢの所定のブロック１５１に関する前のフレームＲＬ０に対する前向き動きベクトル情報をＭＶ０、後続のフレームＲＬ１に対する動きベクトル情報をＭＶ1とし、フレームＲＬ１のコロケートブロック１５０の動きベクトル情報をＭＶＣとする。テンポラルダイレクトモードにおいては、ＭＶＣおよび、フレームＢおよび参照フレームＲＬ０、ＲＬ１の時間軸上の距離ＴＤＤ、ＴＤＤから、ＭＶ０およびＭＶ1を以下の式２２、式２３により生成する。
ＭＶ０＝（ＴＤＢ／ＴＤＤ）ＭＶＣ                ・・・（式２２）
ＭＶ１＝（（ＴＤＤ−ＴＤＢ）／ＴＤＤ）ＭＶＣ      ・・・（式２３）
【００４２】
ところで、ＡＶＣにおいては、上述の通り、多くの動き補償モードが定義されており、図６に示したような従来の画像情報符号化装置１００において、それぞれのマクロブロックに対して最適なモードの選択を行うことは、高圧縮率の画像圧縮情報の生成するために重要な技術である。
【００４３】
この技術に関連する、ＡＶＣ標準化のための動きベクトル探索方式が、非特許文献２に開示されている。
【非特許文献２】「Rate-Distortion Optimization for Video Compression」, G. Sullivan and T. Wiegand, IEEE Signal Processing Magazine, Nov. 1998
【００４４】
この方式（ＲＤ（Rate-Distortion）最適化とも称される）では、全ての精度の動き探索において、以下の値を最小にする動きベクトルが探索結果として出力される。
Ｊ（ｍ，λＭＯＴＩＯＮ）＝ＳＡ（Ｔ）Ｄ（ｓ，ｃ（ｍ））＋λＭＯＴＩＯＮ・Ｒ（ｍ−ｐ）    ・・・（式２４）
【００４５】
ここで、ｍ＝（ｍｘ、ｍｙ）Ｔは動きベクトル、ｐ＝（ｐｘ，ｐｙ）Ｔは予測動きベクトル、λＭＯＴＩＯＮは動きベクトルに対するラグランジュ（Lagrange）乗数を表す。また、Ｒ（ｍ−ｐ）は、テーブルルックアップによって求められる動きベクトル差分の発生情報量である。ＡＶＣ符号化方式において、エントロピー符号化は、ＵＶＬＣ（Universal Variable Length Code）に基づく方法と、ＣＡＢＡＣ（Context-based Adaptive Binary Arithmetic Coding）に基づく方法の２つが規定されているが、発生情報量は、ＣＡＢＡＣが用いられる場合であってもＵＶＬＣによるものを用いる。歪は以下の式２５によって求められる。
【数２】
2005244503.tif 000004
【００４６】
上記式２５において、sは現フレームの画像信号を、cは参照フレームの画像信号を表す。１／２画素精度以下の動きベクトルの補正の際には、離散コサイン変換でなく、アダマール変換を用いて求められるＳＡＴＤ（Sum of Absolute Transform Difference）が用いられる。ラグランジュ乗数λＭＯＴＩＯＮは以下のように与えられる。すなわち、ＩおよびＰフレームに対しては、式２６により、Ｂフレームについては、式２７により与えられる。
λＭＯＤＥ，Ｐ＝（０．８５＊２ＱＰ／３）１／２          ・・・（式２６）
λＭＯＤＥ，Ｂ＝（４＊０．８５＊２ＱＰ／３）１／２      ・・・（式２７）
ここで、ＱＰは、量子化パラメータを意味する。
【００４７】
参照フレームとしては、以下の式２８の値を最小にするフレームが選択される。
Ｊ（ＲＥＦ｜λＭＯＴＩＯＮ）＝ＳＡＴＤ（ｓ，ｃ（ＲＥＦ，ｍ（ＲＥＦ）））＋λＭＯＴＩＯＮ・（Ｒ（ｍ（ＲＥＦ）−ｐ（ＲＥＦ））＋Ｒ（ＲＥＦ））      ・・・（式２８）
ここで、Ｒ（ＲＥＦ）は、参照フレームの発生情報量をＵＶＬＣで求めたものである。
【００４８】
ＢフレームにおけるＮ×Ｍブロックの予測方向は、以下の式２９の値を最小にするものが選択される。
Ｊ（ＰＤＩＲ｜λＭＯＴＩＯＮ）＝ＳＡＴＤ（ｓ，ｃ（ＰＤＩＲ，ｍ（ＰＤＩＲ）））＋λＭＯＴＩＯＮ・（Ｒ（ｍ（ＰＤＩＲ）−ｐ（ＰＤＩＲ））＋Ｒ（ＲＥＦ（ＰＤＩＲ）））      ・・・（式２９）
【００４９】
マクロブロックモードは、以下の式３０の値を最小にするものが選択される。
Ｊ（ｓ，ｃ，ＭＯＤＥ｜ＱＰ，λＭＯＤＥ）＝ＳＳＤ（ｓ，ｃ，ＭＯＤＥ｜ＱＰ）＋λＭＯＤＥ・Ｒ（ｓ，ｃ，ＭＯＤＥ｜ＱＰ）      ・・・（式３０）
ここで、ＱＰは、マクロブロックの量子化パラメータを、λＭＯＤＥは、モード選択のためのラグランジュ乗数を表す。
【００５０】
選択の候補となるＭＯＤＥは、フレームタイプ毎に以下の式３１ないし３３のようにまとめられる。
【数３】
2005244503.tif 000005
ここで、ＳＫＩＰは、１６×１６モードで、動きベクトル残差、および係数残差が送られないものを表し、ＳＳＤは、以下の式３４に定義されるような誤差二乗和を表す。なお、ｓは現フレームの画像信号、ｃは参照フレームの画像信号を表す。
【数４】
2005244503.tif 000006
【００５１】
Ｒ（ｓ，ｃ，ＭＯＤＥ｜ＱＰ）は、ＭＯＤＥとＱＰを選択した場合のマクロブロックの発生情報量を表す。発生情報量の中には、ヘッダ、動きベクトル、直交変換係数など全ての情報に対応するものが含まれる。ｃＹ［ｘ，ｙ，ＭＯＤＥ｜ＱＰ］、ｓＹ［ｘ，ｙ］は、再構成画像、および元画像の輝度成分を表し、ｃＵ、ｃＶや、ｓＵ、ｓＶは色差成分を表す。
【００５２】
ラグランジュ乗数λＭＯＴＩＯＮは、Ｉフレーム、Ｐフレーム、およびＰフレームに対して、それぞれ以下の式３５、３６により与えられる。
Ｉ，Ｐフレーム：    λＭＯＤＥ，Ｐ＝０．８５＊２ＱＰ／３          ・・・（式３５）
Ｂフレーム    ：    λＭＯＤＥ，Ｂ＝４＊０．８５＊２ＱＰ／３      ・・・（式３６）
ここで、ＱＰは、量子化パラメータを表す。
【００５３】
８×８ブロックの分割の際も、マクロブロックのモード決定の場合と同様の選択処理が行われる。以下の式３７の値を最小にするような分割モードが選択される。
Ｊ（ｓ，ｃ，ＭＯＤＥ｜ＱＰ，λＭＯＤＥ）＝ＳＳＤ（ｓ，ｃ，ＭＯＤＥ｜ＱＰ）＋λＭＯＤＥ・Ｒ（ｓ，ｃ，ＭＯＤＥ｜ＱＰ）      ・・・（式３７）
ここで、ＱＰは、マクロブロックの量子化パラメータ、λＭＯＤＥは、モード選択の際に用いられるラグランジュ乗数を表す。
【００５４】
ＭＯＤＥで表される選択モードの候補はＰフレーム、Ｂフレームについてそれぞれ以下の式３８、３９のように定められる。
【数５】
2005244503.tif 000007
【発明の開示】
【発明が解決しようとする課題】
【００５５】
ところで、図６に示したような従来の画像情報符号化装置１００を、実時間で動作するハードウェアとして実現する場合、高速化技術として、パイプライン処理のような並列処理が不可欠である。また、高速化のための動き探索の方法によっては、規格が定めたルールに則った方法で算出したスキップモード、またはスペーシャルダイレクトモードの動きベクトルが、動きベクトルの探索範囲に含まれない場合も生じうる。
【００５６】
このような場合、スキップモード、またはスペーシャルダイレクトモードに関しては、通常の動き探索処理とは別に、それらの動きベクトルに対して別途動き探索処理を行う必要がある。
【００５７】
これらのモード判定には、隣接するマクロブロックの動きベクトル情報が必要となる。しかしながら、パイプライン処理によって各マクロブロックについての処理が所定の順序で終了しない場合は、これらの隣接するマクロブロックの動きベクトル情報が得られず、スキップモードおよびスペーシャルダイレクトモードの判定をする際の妨げとなる。
【００５８】
従って、この発明の目的は、ＡＶＣ等の画像符号化方式に基づく画像圧縮情報を出力する画像情報符号化装置において、パイプライン等の並列処理のために隣接ブロックの必要なベクトル情報等が得られない場合でも、擬似的な情報を生成することによって、高速な符号化処理を実現することである。
【００５９】
また、この発明のさらなる目的は、ＡＶＣ等の画像符号化方式に基づく画像圧縮情報を出力する画像情報符号化装置において、スキップモードまたはスペーシャルダイレクトモードの判定に使用される動きベクトル情報と参照インデックス情報を擬似的に算出することによって、並列処理による高速化処理を実現しつつ、効果的なモード設定を行う手段を提供することである。
【課題を解決するための手段】
【００６０】
この発明の第１の実施態様は、動きベクトル情報と係数情報のうち少なくとも１つを省略してブロックについての符号化を行い、復号側では、所定のルールによって省略された情報を復元可能である符号化モードを有し、ブロックが符号化モードで符号化可能か否かを、ブロックに隣接する所定の隣接ブロックの動き情報からなる候補情報を用いて判定する判定手段と、少なくとも１つの隣接ブロックの動き情報が利用できない場合に、利用できない動き情報に代えて擬似的な動き情報を生成し、候補情報として提供する擬似算出手段とを有する、動き予測を用いて画像情報の符号化処理を行う画像情報符号化装置である。
【００６１】
この発明の第２の実施態様は、動きベクトル情報と係数情報のうち少なくとも１つを省略してブロックについての符号化を行い、復号側では、所定のルールによって省略された情報を復元可能である符号化モードを有し、ブロックが符号化モードで符号化可能か否かを、ブロックに隣接する所定の隣接ブロックの動き情報からなる候補情報を用いて判定する判定ステップと、少なくとも１つの隣接ブロックの動き情報が利用できない場合に、利用できない動き情報に代えて擬似的な動き情報を生成し、候補情報として提供する擬似算出ステップとを有する、動き予測を用いて画像情報の符号化処理を行う画像情報符号化方法である。
【００６２】
この発明の第３の実施態様は、コンピュータに、動き予測を用いて画像情報の符号化処理を行う画像情報符号化方法を実行させるためのプログラムであって、画像情報符号化方法は、動きベクトル情報と係数情報のうち少なくとも１つを省略してブロックについての符号化を行い、復号側では、所定のルールによって省略された情報を復元可能である符号化モードを有し、ブロックが符号化モードで符号化可能か否かを、ブロックに隣接する所定の隣接ブロックの動き情報からなる候補情報を用いて判定する判定ステップと、少なくとも１つの隣接ブロックの動き情報が利用できない場合に、利用できない動き情報に代えて擬似的な動き情報を生成し、候補情報として提供する擬似算出ステップとを有する。
【発明の効果】
【００６３】
この発明によれば、ＡＶＣ等の画像符号化方式に基づく画像圧縮情報を出力する画像情報符号化装置において、パイプライン等の並列処理のために隣接ブロックの必要なベクトル情報等が得られない場合でも、擬似的な情報を生成することによって、高速な符号化処理を実現することができる。
【００６４】
また、この発明によれば、ＡＶＣ等の画像符号化方式に基づく画像圧縮情報を出力する画像情報符号化装置において、スキップモードまたはスペーシャルダイレクトモードの判定に使用される動きベクトル情報と参照インデックス情報を擬似的に算出することによって、並列処理による高速化処理を実現しつつ、効果的なモード設定を行う手段が提供される。
【発明を実施するための最良の形態】
【００６５】
この発明の画像情報符号化装置について説明する前に、パイプライン等の高速化処理のために隣接ブロックの必要なベクトル情報等が得られない場合の具体的な例について、図１を参照して説明する。今、図１Ａにおいて、Ｘを、現在処理が行われているマクロブロック、Ａを隣接マクロブロックとすると、Ｘについて動き探索処理を行っている時点で、Ａについての動きベクトル情報が必ずしも確定しているとは限らない。これは、前述したように、並列処理によって、各マクロブロックに対する各処理フェーズが並行して実行されるためである。また、図１Ｂにおいて、Ｘを、現在処理が行われているマクロブロック、Ｂ、Ｃ、Ｄを隣接マクロブロックとすると、Ｘに対する動き補償処理を行っている時点で、Ｂ、Ｃ、Ｄに対する動きベクトル情報が必ずしも確定しているとは限らない。
【００６６】
この発明では、このように、パイプライン等の高速化処理のために隣接ブロックの必要なベクトル情報等が得られない場合でも、擬似的な動きベクトル情報を生成することによって、後続の処理を円滑に実行し、結果的に高速な符号化処理が実現される。
【００６７】
この発明の画像情報符号化装置は、上述した課題を解決するために、Ａ／Ｄ変換装置、画面並べ替えバッファ、加算器、直交変換装置、量子化装置、可逆符号化装置、蓄積バッファ、逆量子化装置、逆直交変換装置、デブロックフィルタ、フレームメモリ、イントラ予測装置、動き予測・補償装置、候補動きベクトル情報算出装置、レート制御装置を備え、スキップモードおよびスペーシャルダイレクトモードの候補動きベクトル情報として使用される動きベクトル情報を擬似的に算出する方法を導入することにより、パイプライン等による高速化処理を実現する手段を提供する。
【００６８】
さらに、こうして擬似的に求められた動きベクトル情報および参照インデックス（参照フレーム）情報が、ＡＶＣ規格のルールに従って算出された動きベクトル情報および参照インデックス情報とそれぞれ一致しなかった場合には、これらの情報を、スキップモードまたはスペーシャルダイレクトモード以外のモードとして判定を行うことで、圧縮効率のさらなる改善が期待できる。こうした動きベクトル情報は、スキップモードについては、１６×１６のブロックに関してであり、一方、スペーシャルダイレクトモードに関しては、１６×１６もしくは８×８のブロックに関するものである。また、ここでは、動きベクトル情報および参照インデックス情報をまとめて適宜「動き情報」と呼ぶことにする。
【００６９】
ここで、図２を参照して、この発明の第１の実施形態に係る画像情報符号化装置について説明する。図２は、第１の実施形態に係る画像情報符号化装置の構成を表すブロック図である。画像情報符号化装置１０は、Ａ／Ｄ変換部１１、画面並べ替えバッファ１２、加算器１３、直交変換部１４、量子化部１５、可逆符号化部１６、蓄積バッファ１７、逆量子化部１８、逆直交変換部１９、デブロックフィルタ２０、フレームメモリ２１、イントラ予測部２２、動き予測・補償部２３、擬似算出部２４、モード判定部２５、およびレート制御部２６を含む装置である。
【００７０】
Ａ／Ｄ変換部１１は、入力となるアナログ画像信号をディジタル画像信号に変換し、そのディジタル画像信号を画面並べ替えバッファ１２に送出する。ディジタル画像信号を受信した画面並べ替えバッファ１２は、そのディジタル画像信号からなる各フレームを、出力となる画像圧縮情報のＧＯＰ構造に応じて並べ替える。加算器１３は、入力フレームがインター符号化される場合、その入力フレームと参照フレームの差分の生成を行う。
【００７１】
直交変換部１４は、入力フレーム、または入力フレームと参照フレームの差分値に、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、量子化部１５は、直交変換が施された変換係数の量子化処理を行う。可逆符号化部１６は、量子化部１５から、量子化された変換係数を受信し、これに可変長符号化、算術符号化等の可逆符号化処理を行い蓄積バッファ１７に送出する。蓄積バッファ１７は、可逆変換された画像圧縮情報を可逆符号化部１６から受信し、これらを蓄積する。
【００７２】
逆量子化部１８は、量子化された変換係数の量子化部１５から受信し、これらの逆量子化を行う。逆直交変換部１９は、逆量子化が施された直交変換係数の逆直交変換を行い、デブロックフィルタ２０は、復号画像に含まれるブロック歪の除去を行い、これらの処理を経た復号画像がフレームメモリ２１に蓄積される。フレームメモリ２１で、これらの復号画像が蓄積されるのは、動き予測・補償処理のためである。
【００７３】
動き予測・補償部２３は、フレームメモリ２１に格納された復号画像を入力して、動きベクトル情報の探索並びに動き補償処理を行う。擬似算出部２４は、並列処理による高速化を可能とすることを目的として、スキップモードまたはスペーシャルダイレクトモードの判定に使用される動きベクトル情報を擬似的に算出する。イントラ予測部２２は、フレームメモリ２１に格納された復号画像を入力して、イントラ予測処理を行う。モード判定部２５は、動き予測・補償部２３およびイントラ予測部２２からの出力を受信して、モード（スキップモード、スペーシャルモード）の判定を行う。
【００７４】
また、レート制御部２６は、蓄積バッファ１７からの情報を元にしたフィードバック制御により、量子化部１５の動作の制御を行う。
【００７５】
図６に示した従来の画像情報符号化装置１００と異なる点は、動き予測・補償部２３、擬似算出部２４、およびモード判定部２５における処理内容である。以下では、これらの構成要素の処理を中心に画像情報符号化装置１０の処理について説明する。
【００７６】
ここで、図３を参照して、擬似算出部２４の処理内容を説明する。図１２に関連して説明した通り、図３において、マクロブロックＸに対する動き予測・補償処理が行われている場合、当該マクロブロックのスキップモードまたはスペーシャルダイレクトモードの判定を行うためには、マクロブロックＡ、Ｂ、Ｃ、（Ｘがフレームの境界にあたる等の理由でＣがない場合は、Ｃの代わりにＤ）の動きベクトルと参照インデックス（refIdx）情報が確定している必要がある。
【００７７】
しかしながら、並列処理による画像符号化処理を行う場合は、例えば、各マクロブロックに対する各処理フェーズが並列に実行されるため、あるマクロブロックについて動き予測・補償処理が行われている時点で、この処理に必要な他のマクロブロックの情報が既に得られているとは限らない。
【００７８】
そこで、マクロブロックＡ、Ｂ、Ｃ、Ｄの動きベクトル情報および参照インデックス情報がない場合は、これらの代わりに、図３に示すマクロブロックＡ’、Ｂ’、Ｃ’、Ｄ’、Ａ’’、Ｂ’’、Ｃ’’、Ｄ’’、・・・の動きベクトル情報および参照インデックス情報を擬似的に算出し、モード判定のために使用する（すなわち、これらの動きベクトル情報を候補動きベクトルとして用いる）。
【００７９】
例えば、マクロブロックＢ、Ｃの動きベクトル情報および参照インデックス情報は確定しているが、マクロブロックＡの動きベクトル情報および参照インデックス情報が確定していない場合には、図４に示すように、ブロックＡ’の動きベクトル情報および参照インデックス情報も用いて、マクロブロックＸにモード判定を行う。スペーシャルダイレクトモードにおいては、ブロックＡ’についての参照インデックス情報が用いられる。
【００８０】
次に、モード判定部２５の処理について説明する。上述のように、擬似算出部２４で算出された動きベクトル情報（および参照インデックス情報）は、ＡＶＣ規格のルールに従って算出される、所定のマクロブロックに関する動きベクトル情報の内容と完全に一致するとは限らない。同様に、参照インデックス情報の内容も一致するとは限らない。
【００８１】
そこで、モード判定部２５は、規格のルールに従って算出した、マクロブロックの動きベクトル情報と、擬似算出部２４で擬似的に算出した動きベクトル情報との比較を行う。さらに、スペーシャルダイレクトモードの場合には、Ｌｉｓｔ０およびＬｉｓｔ１の各参照フレームに関して参照インデックス情報が一致するかどうかも検査する。
【００８２】
動きベクトル情報と参照インデックス情報の内容が一致した場合、擬似算出部２４で算出した候補動きベクトルをスキップモード、またはスペーシャルダイレクトモードの候補動きベクトル情報として用い、任意のモード判定処理を行う。このとき、上述したＲＤ最適化に基づくモード判定を行っても良い。
【００８３】
また、動きベクトル情報が一致しなかった場合には、擬似算出部２４で算出された候補動きベクトル情報を破棄するかまたは、１６×１６のブロックの候補動きベクトルまたは８×８の候補動きベクトルとする。その後、任意のモード判定を行う。上述のように、スキップモードの場合は、１６×１６のブロックの動きベクトル情報として用いられ、スペーシャルダイレクトモードの場合には、１６×１６もしくは８×８のブロックの動きベクトル情報として用いられる。
【００８４】
次に、上述したモード判定処理の手順について、図５のフローチャートを参照して説明する。図５には、３つの点線ブロックＡないしＣが記されているが、これは、点線ブロックＡ内の処理は動き予測・補償部２３で行われ、点線ブロックＢ内の処理はイントラ予測部２２で行われ、点線ブロックＣ内の処理はモード判定部２５で行われることを表している。
【００８５】
まず、ステップＳ１では、スキップモードまたはスペーシャルダイレクトモードの判定に使用するために、動きベクトル情報（および参照インデックス情報）が、擬似算出部２４において算出される。ここでは、これらの情報を情報Ｘとする。擬似算出部２４は、図３に示したように、マクロブロックＸのモード判定に関しては、マクロブロックＡの動きベクトル情報の処理が終わっていない場合は、マクロブロックＡ’の動きベクトル情報を取得し、さらに、マクロブロックＡ’の動きベクトル情報の処理が終わっていない場合は、マクロブロックＡ’’の動きベクトル情報を取得し、動きベクトル情報が取得できない場合に、順次マクロブロックＸから遠い（すなわち、Ａ−Ｘ間より空間的な距離が大きい）マクロブロックの動きベクトル情報を取得するよう制御される。
【００８６】
図３に示す例では、Ａ、Ａ’、Ａ’’・・・は規則的に選択される。すなわち、Ａ’は、Ｘが接しているＡの辺に対向する（Ａの）辺に接しているブロックであり、Ａ’’は、Ａが接しているＡ’の辺に対向する（Ａ’の）辺に接しているブロックである。
【００８７】
このような擬似算出部２４の動作は、マクロブロックＢ、Ｃ、およびＤについても同様である。また、この例では、マクロブロックＡの動きベクトル情報の処理が終わっていない場合に、その代わりとしてマクロブロックＡ’の動きベクトル情報を取得するようにしているが、動きベクトル情報が求まっている限り、どのマクロブロックの（あるいは、どのような相対的位置関係にある）動きベクトル情報を取得するかは、適宜定めることができる。また、マクロブロックＡの動きベクトル情報の代わりに、複数の他のマクロブロックの動きベクトル情報を使用するようにしてもよい。
【００８８】
ステップＳ１が終了すると、ステップＳ４において、情報Ｘについて、モード判定に使用する評価指標が算出される。こうした指標は、実際にいくつかのマクロブロックを対象に量子化を行って、結果的に必要な符号量を推定するために必要となる。ここでは、例えば、アダマール変換のような処理が行われる。
【００８９】
また、動き予測・補償部２３においては、１６×１６や１６×８といった各ブロックサイズに対して最適な動きベクトル情報を探索し（ステップＳ２）、さらに、その動きベクトル情報について、モード判定に使用する評価指標を算出する（ステップＳ３）。ここで、動きベクトルの探索には、周辺ブロックの動きベクトル情報等は使用されない。従って、周辺ブロックのベクトル情報等が全て計算されていない場合でも、その計算結果を待たずに、独自に算出することができる。
【００９０】
イントラ予測部２２においては、その１つのフレームから得られる情報から、モード判定に使用する評価指標が算出される（ステップＳ５）。ステップＳ３およびステップＳ５の処理は、ステップＳ４と同時に実行される必要はなく、後述するステップＳ１０の処理までに終了していれば足りる。
【００９１】
次に、ステップＳ６において、上述した規格の方法を用いて、スキップモード、またはスペーシャルダイレクトモードの候補動きベクトル情報（および参照インデックス情報）が算出される。これらの情報を、以降では、情報Ｙと呼ぶことにする。これらの情報は、ステップＳ３で既に算出されている場合には、その結果を利用するように構成しても良い。
【００９２】
ステップＳ７において、情報Ｘと情報Ｙとの比較が行われる。情報Ｘと情報Ｙが等しい場合、ステップＳ９に進み、情報Ｘが、スキップモードおよびスペーシャルダイレクトモードの判定を行うために使用される候補動きベクトル情報とされる。
【００９３】
一方、情報Ｘと情報Ｙが等しくない場合、ステップＳ８に進み、そこで、情報Ｘが破棄され、あるいは、１６×１６のブロックまたは８×８のブロックの候補動きベクトル情報とされる。この場合に情報Ｘを候補動きベクトルとすることによって、圧縮効率が改善する可能性がある。
【００９４】
上記のような手順で候補動きベクトル情報が決定されると、各処理で算出された各候補の評価指標をもとに、ステップＳ１１で任意のモード判定が行われる。
【００９５】
次に、この発明の第２の実施形態に係る画像情報符号化装置について説明する。この実施形態の画像情報符号化装置が有する構成要素は、図２に示した第１の実施形態に係る画像情報符号化装置と同様のものであるため、ブロック図については省略する。相違点は、擬似算出部の処理内容にある。従って、ここでは、この擬似算出部（以降では、２４’の符号を付することにする）の処理を中心に説明する。
【００９６】
擬似算出部２４’では、確定した周辺ブロックの情報を使用せず、全ての情報を特定の値、例えば０にセットする。すなわち、スキップモードにおいては、動きベクトルの値を各成分共に０にセットし、スペーシャルダイレクトモードでは、Ｌｉｓｔ０、Ｌｉｓｔ１についての参照インデックスの値を０とし、かつ、Ｌｉｓｔ０、Ｌｉｓｔ１についての動きベクトルの値も０とする。その他の処理は、上述した第１の実施形態と同様である。
【００９７】
この実施形態では、擬似算出部２４’で、スキップモード、またはスペーシャルダイレクトモードの判定のための動きベクトル情報に関する計算を省くことができる。
【００９８】
このように、画像情報符号化装置は、並列処理による高速化を妨げないように構成されるが、こうした機能の実装については、例えば、ＰＣ（パーソナル・コンピュータ）のようなコンピュータを用いてソフトウエアで行うことも可能である（ソフトウエア・エンコーディング）。例えば、ＣＰＵ（Central Processing Unit）、メモリ、ハードディスク、記録媒体駆動装置、ネットワーク・インタフェース、およびこれらを互いに接続するバスによって構成されるＰＣを用いた実施を考える。
【００９９】
ここで、ＣＰＵは、ＤＳＰ（Digital Signal Processor）等のコプロセッサを備えるものであってもよい。メモリにロードされたプログラムの指令に基づき、ＣＰＵは、上述したＡ／Ｄ変換部１１等の各部の機能を実行する。必要に応じて、データの一時的な記憶には、高速アクセスが可能なメモリを用いる。画面並べ替えバッファ１２や蓄積バッファ１７といったバッファや、フレームメモリ２１などには、メモリが使用される。
【０１００】
このような機能を実現するプログラムは、通常ハードディスク等の外部記憶装置に記憶されており、ユーザ等によって符号化処理が指示された場合にメモリにロードされる。また、プログラムは、ＣＤ（Compact Disc）−ＲＯＭ（Read Only Memory）やＤＶＤ（Digital Versatile Disk）−ＲＯＭに記憶され、記録媒体駆動装置を介して、ハードディスク等に読み込まれうる。また、他の態様では、パーソナルコンピュータが、ネットワーク・インタフェースを介してインターネット等のネットワークに接続されている場合、プログラムは、他のコンピュータやサイトから、当該ネットワークを介してハードディスク等に記録されうる。
【０１０１】
以上、ＡＶＣ画像圧縮情報を出力する画像情報符号化装置を例にこの発明の特徴を述べてきたが、この発明の適用範囲はこれに限られるものではない。ＭＰＥＧ−１／２／４や、Ｈ．２６３等、動き予測を用いており、また動きベクトル符号化にＤＰＣＭを用いている任意の画像符号化方式に基づく画像圧縮情報を出力する画像情報符号化装置に適用可能である。
【図面の簡単な説明】
【０１０２】
【図１】マクロブロックの動き補償処理の手順を説明するために用いる略線図である。
【図２】この発明の第１の実施形態に係る画像情報符号化装置の構成を示すブロック図である。
【図３】この発明の候補動きベクトル情報の擬似的な算出を説明するために用いる略線図である。
【図４】この発明の候補動きベクトル情報の擬似的な算出を説明するために用いる略線図である。
【図５】この発明の第１の実施形態に係る画像情報符号化装置の処理手順を表すフローチャートである。
【図６】従来の画像情報符号化装置の構成を示すブロック図である。
【図７】従来の画像情報復号化装置の構成を示すブロック図である。
【図８】動き予測・補償処理における複数フレームの参照を表す略線図である。
【図９】マクロブロックとサブマクロブロックを示す略線図である。
【図１０】１／４画素精度の動き補償処理を説明するための略線図である。
【図１１】動きベクトル符号化方式におけるメディアン予測を説明するための略線図である。
【図１２】スキップモード、スペーシャルダイレクトモードを説明するために用いる略線図である。
【図１３】テンポラルダイレクトモードを説明するための略線図である。
【符号の説明】
【０１０３】
１１・・・Ａ／Ｄ変換部、１２・・・画面並べ替えバッファ、１３・・・加算器、１４・・・直交変換部、１５・・・量子化部、１６・・・可逆符号化部、１７・・・蓄積バッファ、１８・・・逆量子化部、１９・・・逆直交変換部、２０・・・デブロックフィルタ、２１・・・フレームメモリ、２２・・・イントラ予測部、２３・・・動き予測・補償部、２４・・・擬似算出部、２５・・・モード判定部、２６・・・レート制御部
【図１】
2005244503.tif 000008
【図２】
2005244503.tif 000009
【図３】
2005244503.tif 000010
【図４】
2005244503.tif 000011
【図５】
2005244503.tif 000012
【図６】
2005244503.tif 000013
【図７】
2005244503.tif 000014
【図８】
2005244503.tif 000015
【図９】
2005244503.tif 000016
【図１０】
2005244503.tif 000017
【図１１】
2005244503.tif 000018
【図１２】
2005244503.tif 000019
【図１３】
2005244503.tif 000020