(57)【特許請求の範囲】
【請求項１】
符号化を行う対象画像内の領域である符号化対象領域の動きベクトルを探索し、前記符号化対象領域の動きベクトルに基づいて前記対象画像の画面間予測を行うことによって画像の符号化を行う画像符号化装置であって、
予測される前記符号化対象領域の動きベクトルであって、前記符号化対象領域の周辺に位置する複数の周辺ブロックの動きベクトルを用いてあらかじめ定められた所定の規則に応じて決定される動きベクトルである予測ベクトルから、前記符号化対象領域の動きベクトルの探索開始点を決定し、前記探索開始点から前記符号化対象領域の動きベクトルの探索を開始する動き探索部と、
前記所定の規則に応じて前記予測ベクトルを算出する際に、前記符号化対象領域のサイズが取得できない場合には、前記複数の周辺ブロックのサイズ情報を用いて、前記符号化対象領域のサイズを推定して予測ベクトルを算出し、前記複数の周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、前記動きベクトルが取得できなかった周辺ブロックと前記符号化対象領域から見て前記対象画像内で同じ方向に位置する符号化済みのブロックの動きベクトルから前記予測ベクトルを算出する予測ベクトル推定部と、
前記動き探索部にて探索された前記符号化対象領域の動きベクトルと、前記予測ベクトルと、の差分値を符号化する可変長符号化部と、
を有する画像符号化装置。
【請求項２】
画像符号化装置は、前記対象画像を所定サイズのマクロブロックに分割し、マクロブロックを、選択可能な分割パターンで分割して前記符号化対象領域とするものであり、
前記予測ベクトル推定部は、前記符号化対象領域のサイズが取得できない場合には、該符号化対象領域を含むマクロブロックの上及び左で隣接するマクロブロックの分割パターンを参照し、あらかじめ定められた規則に従ってマクロブロックの最小分割単位を上下又は左右に順次統合していき、選択可能な分割パターンのうち最も近いパターンに決定すること
を特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記予測ベクトル推定部は、前記動きベクトルの少なくとも一つが取得できないときに、該取得できない動きベクトルに代えて前記同じ方向に位置する符号化済みのブロックの動きベクトルを用いて計算した動きベクトルの分散値が所定の閾値以上であった場合、前記同じ方向に位置する符号化済みのブロックよりも符号化対象領域との距離がより小さな符号化済みのブロックの動きベクトルを該取得できない動きベクトルの代わりに用いて前記予測ベクトルを算出すること
を特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
符号化を行う対象画像内の符号化対象マクロブロックを所定の分割パターンのいずれかで分割したブロックのそれぞれについて動きベクトルを探索し、該動きベクトルに基づいて前記対象マクロブロックの画面間予測を行うことによって画像の符号化を行う画像符号化装置であって、
前記ブロックに隣接する周辺ブロックの動きベクトルを用いて所定の規則に応じて決定される動きベクトルである予測ベクトルから、当該ブロックの動きベクトルの探索開始点を決定し、前記探索開始点から前記符号化対象領域の動きベクトルの探索を開始する動き探索部と、
前記所定の規則に応じて前記予測ベクトルを算出する際に、当該ブロックを有する前記符号化対象マクロブロックの分割パターンが未定の場合には、前記対象画像内の前記符号化対象マクロブロック以外の符号化済みマクロブロックの分割パターンから前記符号化対象領域の分割パターンを仮決定して予測ベクトルを算出し、前記周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、前記対象画像内の前記符号化対象マクロブロックの外のブロックの動きベクトルで代用して前記予測ベクトルを算出する予測ベクトル推定部と、
前記動き探索部にて探索された前記符号化対象領域の動きベクトルと、前記予測ベクトルと、の差分値を符号化する可変長符号化部と、を有し、
前記仮決定は、対象マクロブロックを所定分割パターンで分割したときに隣接関係にある２つのブロックからなるペアのそれぞれについて統合するか否かの判定をし、許容される分割パターンの中から、前記判定を合成した結果と同じ或いは最も近い分割パターンに決定するものであり、前記判定のそれぞれは、既に分割パターンが決定している周辺のマクロブロックを前記所定分割パターンで分割した場合の各ブロックの内、前記ペアと並びが同じ方向で、前記ペアと隣接するブロックを含むブロックのペアにおける統合状態と一致するように行い、
前記予測ベクトル推定部は、前記周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、前記対象画像内の前記符号化対象マクロブロック以外の複数の符号化済みマクロブロックに含まれる少なくとも３つのブロックの動きベクトルの分散値をしきい値と比較した結果に基づいて、前記代用する動きベクトルを複数の候補の中から決定することを特徴とする画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を符号化する画像符号化装置に関する。
【背景技術】
【０００２】
大容量の動画像情報をデジタルデータ化して記録、伝達する手法として、MPEG（Moving  Picture  Experts  Group）方式等の符号化方式が策定されており、MPEG-1規格、MPEG-2規格、MPEG-4規格、H.264/AVC（Advanced  Video  Coding）規格等として国際標準の符号化方式となっている。これらの方式はデジタル衛星放送、DVD（Digital  Versatile  Disc）、携帯電話、デジタルカメラなどにおける符号化方式として採用されており、現在ますます利用の範囲が広がり、身近なものとなってきている。
【０００３】
これらの規格では、符号化処理が完了した画像情報（以下、適宜「復号画像」という）を利用して符号化の対象である符号化対象画像（以下、単に「対象画像」という場合もある）をブロック単位で予測し、原画像との差分（以下、適宜「予測差分」という）を符号化することによって、動画像の持つ冗長性を除いて符号量を減らしている。特に、対象画像とは別の画像である参照画像を参照する画面間予測（フレーム間予測とも言われる）では、参照画像（復号画像）内において、対象画像の符号化対象ブロック（以下、「対象ブロック」という）と相関の高いブロック（以下、「参照ブロック」という）を指定することによって、高精度な予測を可能としている。その際、予測差分とは別に、対象ブロックの座標値と参照ブロックの座標値との差分として表される動きベクトルを符号化する。
【０００４】
動きベクトルの符号化では、対象ブロックの周辺に位置するブロックの動きベクトルから対象ブロックの動きベクトルを予測し（以下、「予測ベクトル」という）、この予測ベクトルとの差分を符号化する（例えば、特許文献１）。予測ベクトルの値によっては、発生符号量が大きく異なるため、参照画像中から対象ブロックと相関の高い参照ブロックを探索するための動き探索処理や、最適な予測方法（画面内予測もしくは画面間予測）を決定するモード選択処理を行う際に、この差分値を参照して発生符号量を見積もることがある。さらに、動き探索の精度を高めるために、予測ベクトルの値を用いて探索開始点を決定することもある。
【０００５】
また、近年、H.264/AVC等の標準規格に準拠した画像処理専用のLSIの開発が進んでいる（例えば、非特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２７８０９１号公報
【非特許文献】
【０００７】
【非特許文献１】“標準技術集（システムLSIのレイアウト）データベース：画像処理用LSI／データ圧縮用LSI”、[online]、日本国特許庁、[平成23年10月11日検索]、インターネット<URL：http://www.jpo.go.jp/shiryou/toushin/chousa/0007.html>
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、標準規格に準拠して予測ベクトルを算出するためには、対象ブロックのブロックサイズ情報、および対象ブロックの周辺に位置するブロック（周辺ブロック）のサイズと動きベクトルの情報が必要である。しかし、例えばLSIによるハードウェア技術を用いてエンコーダを実現する場合など、符号化処理がパイプライン処理性能の影響を受ける場合、対象ブロックの符号化処理の途中では、周辺ブロックの符号化が未だ完了しておらず、周辺ブロックのブロックサイズや動きベクトルなどの必要な情報が取得できない場合がある。また、処理量削減のため、例えば細かいブロック単位で動き探索を行い、それらの探索結果に基づいて対象ブロックのブロックサイズを決定する場合は、動き探索を行う際に対象ブロックのサイズが決定していない場合もある。
【０００９】
こういった場合は予測ベクトルが参照できなくなり、動き探索処理やモード選択処理の精度低下による符号化効率の著しい劣化を招くという問題があった。
【００１０】
そこで、本発明は上記課題に鑑み、予測ベクトルの算出に必要な諸情報を適切に推定することにより、動き探索処理やモード選択処理の精度低下を回避することを可能とする画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の一態様によれば、符号化を行う対象画像内の領域である符号化対象領域の動きベクトルを探索し、前記符号化対象領域の動きベクトルに基づいて前記対象画像の画面間予測を行うことによって画像の符号化を行う画像符号化装置であって、予測される前記符号化対象領域の動きベクトルであって、前記符号化対象領域の周辺に位置する周辺ブロックの動きベクトルを用いてあらかじめ定められた所定の規則に応じて決定される動きベクトルである予測ベクトルから、前記符号化対象領域の動きベクトルの探索開始点を決定し、前記探索開始点から前記符号化対象領域の動きベクトルの探索を開始する動き探索部と、前記所定の規則に応じて前記予測ベクトルを算出する際に、前記符号化対象領域のサイズが取得できない場合には、前記対象画像内の前記符号化対象領域以外の符号化済み領域のサイズから前記符号化対象領域のサイズを決定して予測ベクトルを算出し、前記周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、前記対象画像内の前記符号化対象領域以外の符号化済み領域の動きベクトルから前記予測ベクトルを算出する予測ベクトル推定部と、前記動き探索部にて探索された前記符号化対象領域の動きベクトルと、前記予測ベクトルと、の差分値を符号化する可変長符号化部と、を有する画像符号化装置が提供される。
【００１２】
この構成によれば、予測ベクトルを算出するために必要な情報が取得できないことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することができる。ひいては、符号化効率の低下を回避することが可能である。
【００１３】
また、本発明の他の態様によれば、前記予測ベクトル推定部は、前記符号化対象領域のサイズが取得できない場合には、前記周辺ブロックのサイズ情報を用いて、あらかじめ定められた規則に従って、前記符号化対象領域のブロックサイズを決定するようになっていてもよい。
【００１４】
この構成によれば、予測ベクトルを算出するために必要な符号化対象領域のサイズが取得できないことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することができる。ひいては、符号化効率の低下を回避することが可能である。
【００１５】
また、本発明の他の態様によれば、前記予測ベクトル推定部は、前記周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、前記対象画像内の前記符号化対象領域以外の複数の符号化済み領域の動きベクトルの分散値に基づいて、前記複数の符号化済み領域の動きベクトルのうち、いずれの動きベクトルを用いて前記予測ベクトルを算出するかを決定するようになっていてもよい。
【００１６】
この構成によれば、予測ベクトルを算出するために必要な周辺ブロックの動きベクトルの少なくとも一つが取得できないことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することができる。ひいては、符号化効率の低下を回避することが可能である。
【発明の効果】
【００１７】
本発明の一態様によれば、予測ベクトルを算出するために必要な情報が取得できないことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することが可能である。
【図面の簡単な説明】
【００１８】
【図１】H.264/AVCにおける動画像符号化処理について概念的に説明する図である。
【図２】H.264/AVCによる画面間予測処理について概念的に説明する図である。
【図３】H.264/AVCによる画面間予測において許容されるマクロブロックの分割パターンについて説明する図である。
【図４】H.264/AVCにおける予測ベクトルの計算方法について概念的に説明する図である。
【図５】予測ベクトルが正確に計算できない場合の一例について概念的に説明する図である。
【図６】本発明の一実施形態に係る画像符号化装置の構成の一例を示すブロック図である。
【図７】本発明の一実施形態に係る画像符号化装置における予測ベクトル推定部が対象ブロック内の小ブロックを統合するかどうかを判定する統合判定処理の一例を説明する図である。
【図８】本発明の一実施形態に係る画像符号化装置における予測ベクトル推定部が対象ブロック内の小ブロックを統合するかどうかを判定する統合判定処理の一例を説明する図である。
【図９】本発明の一実施形態に係る画像符号化装置における予測ベクトル推定部が統合判定結果に基づいてマクロブロック分割パターンを推定する方法の一例を示す図である。
【図１０】本発明の一実施形態に係る画像符号化装置における予測ベクトル推定部が対象ブロック内において左上に位置する８×８ブロックの動きベクトルを符号化するための予測ベクトルを算出する方法の一例を示す図である。
【図１１】本発明の一実施形態に係る画像符号化装置における予測ベクトル推定部が実行する処理手順の一例を示すフロー図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示される。
【００２０】
（H.264/AVCにおける符号化処理）
まず初めに、H.264/AVCにおける符号化処理と、その問題点について詳述する。
【００２１】
H.264/AVCでは、符号化処理が完了した復号画像を利用して符号化の対象である符号化対象画像を予測し、この符号化対象画像と原画像との差分（予測差分）を符号化することによって、動画像の持つ冗長性を減らして符号量を削減している。また、H.264/AVCでは、動画像の局所的性質を利用するために、画像を細かく分割したブロック単位で予測が行われる。
【００２２】
図１に示されるように、符号化処理は対象画像１０に対して、矢印１０１で示されるラスタースキャンの順序に従い、１６×１６画素（横画素×縦画素。以下同様。）で構成されるマクロブロック（MB：MacroBlock）１０２単位で実行される。なお、図１に示される対象画像１０において、網掛け部分はすでに符号化が完了した領域（既符号化領域）１０３を示し、それ以外の部分は符号化が完了していない領域（未符号化領域）１０４を示している。
【００２３】
また、予測方式には、大別して画面内予測と画面間予測が存在する。図２は、H.264/AVCによる画面間予測処理の動作について概念的に説明する図である。画面間予測を行う際には、符号化対象画像１０と同じ映像３０に含まれる画像であって、符号化済みの別画像である復号画像（参照画像）２０を参照し、対象画像１０中の予測対象である対象ブロック１０２と相関の高い参照ブロック（予測画像）２０２を参照画像２０中から探索する（動き探索）。このとき、両ブロックの差分として計算される予測差分に加えて、両ブロックの座標値の差分として表される動きベクトル（MV：Motion  Vector）１０５を符号化する。
【００２４】
一方、復号化の際には上記の逆の手順が行われる。すなわち、復号化された予測差分を参照画像２０中の参照ブロック（予測画像）２０２に加算することにより、復号画像を取得できる。
【００２５】
また、H.264/AVCでは、マクロブロックをさらに小さなサイズのブロックに分割し、この分割されたブロック単位で上記の画面間予測を行うことができる。図３は、画面間予測を行う際に許容されているマクロブロック１０２の分割パターンについて示す図である。すなわち、対象画像１０中のすべてのマクロブロック１０２は、あらかじめ定義された４×４画素サイズから１６×１６画素サイズまでの分割パターンの中から最適なものを選択して予測を行うことが可能である。
【００２６】
なお、マクロブロック１０２の分割パターンとは、具体的には、図３に示されるように、１６×１６、８×１６、１６×８、８×８、４×８、８×４、４×４画素サイズの分割パターンがあり得る。
【００２７】
図４は、動きベクトルを符号化する際に必要な予測ベクトル(PMV：Predictive  MV)について、概念的に説明する図である。対象ブロック１０２の動きベクトルは、符号化が完了している周辺ブロック（対象ブロックの左、上、右上のブロック）の動きベクトルMVA，MVB，MVCの中間値である予測ベクトルとの差分が符号化される（ただし、動きベクトルMVCが利用不可の場合は、対象ブロックの左上のブロックの動きベクトルMVDが代用される）。ここで、H.264/AVC規格では、動きベクトルを参照するブロックの位置を厳密に定めているが、対象ブロックの分割パターンによってその位置は異なる。
【００２８】
また、動きベクトルは予測ベクトルとの差分値として符号化されるため、予測ベクトルの値によって発生符号量が大きく異なる。そのため、高い符号化効率を実現するためには、動き探索処理やモード選択処理時にこの予測ベクトルの値を参照して符号量を見積もることが必要である。
【００２９】
図５は、動き探索処理やモード選択処理時に予測ベクトルが算出できない場合の２つの例について示す図である。１つ目の例は、以下のような場合である。例えば、最初に細かいブロック単位で動き探索を行い、その探索結果に基づいて対象ブロックの分割パターンを決定するエンコーダなどでは、動き探索処理時に対象ブロック１０２のサイズが決定していないことがある（図５（１））。
【００３０】
また、２つ目の例は、以下のような場合である。エンコーダをLSI実装する際など、パイプライン処理の影響を受ける場合には、符号化処理の途中段階では周辺ブロックの符号化が完了しておらず、参照すべき周辺ブロックの動きベクトルが決定していないことがある（図５（２））。
【００３１】
そこで、本実施形態に係る画像符号化装置は、このような予測ベクトルが算出できない２つのパターンに対処することを可能とするものである。
【００３２】
（画像符号化装置の構成）
図６は、本実施形態に係る画像符号化装置の構成例を示したものである。画像符号化装置１は、図６に示されるように、入力画像メモリ２１０と、ブロック分割部２１１と、画面内予測部２１３と、動き探索部２１２と、画面間予測部２１４と、モード選択部２１５と、減算部２１６と、周波数変換部２１７と、量子化処理部２１８と、可変長符号化部２１９と、逆量子化処理部２２０と、逆周波数変換部２２１と、加算部２２２と、参照画像メモリ２２３と、予測ベクトル推定部２２４とを有する。
【００３３】
入力画像メモリ２１０は、入力された原画像４０を保持する。ブロック分割部２１１は、原画像４０を所定の大きさの小領域に分割する。画面内予測部２１３は、ブロック分割部２１１で分割されたブロック単位で画面内予測を行う。画面間予測部２１４は、動き探索部２１２にて検出された動き量（動きベクトル）に基づいてブロック単位で画面間予測を行う。モード選択部２１５は、画像の性質に合致する予測モード（予測方法およびブロックサイズ）を決定する。
【００３４】
減算部２１６は、予測差分を生成する。周波数変換部２１７および量子化処理部２１８は、生成された予測差分に対して符号化を行う。可変長符号化部２１９は、符号の発生確率に応じた適応的符号化を行う。逆量子化処理部２２０および逆周波数変換部２２１は、周波数変換部２１７および量子化処理部２１８で符号化された予測差分を復号化する。加算部２２２は、復号化された予測差分を用いて復号画像を生成する。参照画像メモリ２２３は、生成された復号画像を保持して後の画面内予測または画面間予測に使用するためのメモリである。予測ベクトル推定部２２４は、予測ベクトルを推定する。
【００３５】
なお、図６に示される構成のうち、予測ベクトル推定部２２４以外の構成においては、従来の画面内予測もしくは画面間予測における処理とほぼ同様の処理が実行される。ただし、動き探索部２１２とモード選択部２１５においては、予測ベクトル推定部２２４の出力に応じて処理を実行する。これら以外の構成の機能については公知の技術であるので、ここでは、簡単に説明する。
【００３６】
入力画像メモリ２１０は、原画像４０に含まれる画像のうち一枚の画像を符号化対象画像１０として保持する。また、この符号化対象画像１０は、ブロック分割部２１１にて細かいブロックに分割され、動き探索部２１２、画面内予測部２１３、および画面間予測部２１４に出力される。
【００３７】
動き探索部２１２では、参照画像メモリ２２３に格納されている復号化済みの復号画像（参照画像２０）を用いて、対象ブロック１０２の動き量を計算し、動きベクトルを画面間予測部２１４に出力する。また、画面内予測部２１３および画面間予測部２１４では、それぞれ画面内予測処理および画面間予測処理をいくつかの大きさのブロック単位で実行し、モード選択部２１５にて最適な予測モードを選んで、画面内予測もしくは画面間予測のいずれかを選択する。
【００３８】
続いて、減算部２１６では、モード選択部２１５で選択された最適な予測符号化手段（画面内予測部２１３または画面間予測部２１４）による予測差分を生成し、周波数変換部２１７に渡す。周波数変換部２１７および量子化処理部２１８では、送られてきた予測差分に対して、指定された大きさのブロック単位でそれぞれDCT（離散コサイン変換）などの周波数変換および量子化処理を行い、可変長符号化部２１９および逆量子化処理部２２０に出力する。可変長符号化部２１９では、量子化済みの変換係数や動きベクトルなどのヘッダ情報について、符号の発生確率に基づき符号化を行って符号化ストリーム５０を生成する。
【００３９】
また、逆量子化処理部２２０および逆周波数変換部２２１では、量子化後の周波数変換係数に対して、それぞれ逆量子化および逆DCTなどの逆周波数変換を施し、予測差分を取得して加算部２２２に出力する。続いて、加算部２２２では、モード選択部２１５から出力される予測画像と、逆周波数変換部２２１から出力される復号化済みの予測差分とを加算して復号画像（参照画像２０）を生成する。そして、生成された復号画像は、参照画像メモリ２２３に格納される。
【００４０】
予測ベクトル推定部２２４は、H.264/AVC規格に準じて予測ベクトルを算出するための情報が取得できない場合に、これらの情報を推定して、予測ベクトルを算出する。なお、動き探索部２１２とモード選択部２１５では、予測ベクトル推定部２２４が推定した予測ベクトルの値を用いて符号量予測や探索開始点、モード選択の決定を行う。
【００４１】
上記説明した画像符号化装置１は、例えば、非特許文献１に記載の画像処理用LSIによって実現可能である。もしくは、図示しないCPU（Central  Processing  Unit）、RAM（Random  Access  Memory）等のメモリ、ハードディスク等の記憶装置、ネットワークインタフェース等の一般的なコンピュータの構成と同様の構成によりも実現可能である。つまり、画像符号化装置１の各構成の機能は、例えば、CPUがハードディスク等に記憶されているプログラムを読み出して実行することにより、もしくは、例えば、FPGA（Field  Programmable  Gate  Array）においてシーケンサロジックをカスタム設計することによっても実現可能である。
【００４２】
本実施形態に係る画像符号化装置１は、図５を用いて上述したように、対象ブロックのサイズが未確定である場合や参照すべき周辺ブロックの動きベクトルが決定していない場合に、予測ベクトル推定部２２４において、予測ベクトルの算出に必要な情報を予測して予測ベクトルを算出する点が特徴である。以下、予測ベクトル推定部２２４が実行する処理について詳細に説明する。
【００４３】
（対象ブロックのサイズが未確定である場合）
図５（１）のように、対象ブロック１０２のサイズが未確定である場合、予測ベクトル推定部２２４は、マクロブロックの分割パターンを推定して対象ブロック１０２のサイズを見積もることにより、予測ベクトルの算出を可能とする。
【００４４】
図７は、予測ベクトル推定部２２４が、符号化が完了している周辺ブロックの分割パターンを参照して対象ブロック１０２内の小ブロックを統合するかどうかの判定（統合判定）を行う手順について、その一例を説明する図である。ここでは、あらかじめ定められた基準（以下、「統合判定基準」という）に従って統合判定を繰り返すことにより、最終的なブロック分割パターンを推定する。また、同図は、対象ブロック１０２の左に隣接するマクロブロック１１１と上に隣接するマクロブロック１１２とを参照する場合の例について示している。本例では、理解を容易なものとするために、８×８サイズの小ブロックを用いて統合判定を行う場合について示す。
【００４５】
なお、H.264/AVC規格の場合、小ブロックのサイズは、４×４としても良いし、H.264/AVC以外の規格を用いる場合、すなわち、その規格においてマクロブロックに相当する小ブロック群のサイズが１６×１６以外の場合には、２×２や１６×１６など、どのようなサイズを用いても良い。
【００４６】
本例では、対象ブロック１０２の上２つの小ブロック（１）と（２）を統合するかどうかを判定するには、対象ブロック１０２の左隣接マクロブロック１１１の上２つの小ブロックａとｂの組、および、上隣接マクロブロック１１２の下２つの小ブロックｇとｈの組の少なくとも一組が、統合されているかどうかを確認すればよい。これらのうち少なくとも一組が統合されている場合には、対象ブロック１０２の小ブロック（１）と（２）とを統合すると判定する。
【００４７】
また、小ブロック（３）と（４）の統合については、対象ブロック１０２の左隣接マクロブロック１１１の上２つの小ブロックｃとｄが統合されていれば、小ブロック（３）と（４）とを統合すると判定する。
【００４８】
同様に、対象ブロック１０２の左２つの小ブロック（１）と（３）を統合するかどうかを判定するには、左隣接マクロブロック１１１の右２つの小ブロックｂとｄの組、および、上隣接マクロブロック１１２の下２つの小ブロックｅとｇの組の少なくとも一組が、統合されているかどうかを確認すればよい。
【００４９】
これらのうち少なくとも一組が統合されている場合には、対象ブロック１０２の小ブロック（１）と（３）とを統合すると判定する。また、小ブロック（２）と（４）の統合については、対象ブロック１０２の上隣接マクロブロック１１２の右２つの小ブロックｆとｈが統合されていれば、小ブロック（２）と（４）とを統合すると判定する。
【００５０】
ただし、図７の例はあくまで一例であり、統合判定基準３０１は周辺ブロックを参照していればどのようなものでもよく、参照するマクロブロックの位置も問わない。
【００５１】
図８は、左隣のマクロブロック１１１に対する符号化が未完了の場合などの理由により利用できない場合に、予測ベクトル推定部２２４が、対象ブロック１０２の上に隣接するマクロブロック１１２のみを参照して統合判定を行う手順について、その一例を説明する図である。
【００５２】
図８の統合判定基準３０２では、小ブロックｇとｈが統合されている場合には、対象ブロック１０２の小ブロック（１）と（２）、小ブロック（３）と（４）とを統合すると判定する。また、小ブロックｅとｇが統合されている場合には、対象ブロック１０２の小ブロック（１）と（３）が、小ブロックｆとｈが統合されている場合には、対象ブロック１０２の小ブロック（２）と（４）とを統合すると判定する。
【００５３】
図８の例についても、あくまで一例であり、統合判定基準３０２はどのようなものでもよく、参照するマクロブロックの位置も問わない。
【００５４】
図９は、統合判定結果に基づいてマクロブロック（ＭＢ）分割パターンを推定する方法について、一例を示している。８×８サイズの小ブロックを用いて統合判定を行った場合、マクロブロックの分割パターンは、図９に示されるように、１６×１６（ブロック４１１）、１６×８（ブロック４１２）、８×１６（ブロック４１３）、８×８（ブロック４１４）の４種類となる。
【００５５】
統合判定の結果、例えば対象ブロックの上２つの小ブロック（１）と（２）、および下２つの小ブロック（３）と（４）とが統合された場合（対象ブロック３１１）は、最も近い分割パターンは１６×８（ブロック４１２）であるため、この分割パターンが選択される。
【００５６】
しかし、例えば対象ブロックの上２つの小ブロック（１）と（２）、および右２つの小ブロック（２）と（４）とが統合された場合（対象ブロック３１２）は、最も近い分割パターンとして、１６×８（ブロック４１２）、８×１６（ブロック４１３）、８×８（ブロック４１４）が存在する。この場合、ビットレートや量子化パラメータ、周辺ブロックの動きベクトルなど別の符号化パラメータを参照するなどして、いずれか一つに決定する。例えば、ビットレートが高い場合にはより細かいブロックサイズを有する分割パターン（例えば、８×８（ブロック４１４））を選ぶようにすると効果的である。
【００５７】
また、予測ベクトル推定部２２４は、例えば、図７〜図９にて説明したように対象ブロック１０２のブロックサイズを決定し、決定したブロックサイズを用いて予測ベクトルを算出する。
【００５８】
（参照すべき周辺ブロックの動きベクトルが決定していない場合）
続いて、図５（２）のように、参照すべき周辺ブロックの動きベクトルが決定していない場合の予測ベクトルの算出方法について説明する。上述したように、予測ベクトルを算出する際に参照するようH.264/AVC標準規格で定められている周辺ブロックに対する符号化処理が未完了であるために、周辺ブロックの動きベクトル情報が得られない場合がある。
【００５９】
その場合、本例では、予測ベクトル推定部２２４は、対象ブロックの周辺に位置する周辺ブロックの参照可能な動きベクトルを複数参照してそれらの分散値を計算する。そして、その分散値に基づいて、動きベクトル情報が得られない周辺ブロック（以下、「参照不可ブロック」という）の代わりに参照するブロック（以下、「代替ブロック」という）を決定し、代替ブロックの動きベクトル情報を用いて予測ベクトルを算出する。
【００６０】
ここで、一般的に、動きベクトルの分散が小さい場合は、対象ブロックの近辺には大きな物体が存在する（描画されている）ことが多く、参照不可ブロックとの距離が比較的大きなブロックでも参照不可ブロックとの相関性が高い場合が多い。逆に、上記分散値が大きい場合は、対象ブロックの近辺に小さな物体が存在する（描画されている）ことが多く、参照不可ブロックとの距離が大きなブロックは、参照不可ブロックとの相関性が低いと想定される。
【００６１】
そのため、上記分散値が小さい場合には、対象ブロックとの距離が多少離れているブロックでも、対象ブロックから見て参照不可ブロックと近い方向のブロックを代替ブロックとして用い、逆にそれが大きい場合は距離が近いブロックを代替ブロックとして用いて予測ベクトルを推定する。
【００６２】
図１０は、左隣のブロック１１１の動きベクトルが未確定である場合に、対象ブロック１０２内において左上に位置する８×８ブロックの動きベクトルMV1を符号化するための予測ベクトルPMVMV1を算出する方法について、その一例を示す図である。本例では、本来参照すべき左隣のブロック１１１が参照不可であるため、この参照不可ブロックと同じ方向に位置するさらに一つ左のマクロブロック１１１’内における右上のブロックを利用し、その動きベクトルMVaを参照する。
【００６３】
具体的には、マクロブロック１１１’の動きベクトルMVaと、対象ブロック１０２の上、左上にそれぞれ隣接するブロック１１２、１１３の各動きベクトルMVc、MVdとの分散値ACTMVを計算し、これが閾値よりも小さければ（図１０（１））、左隣の参照ブロックと同じ方向にあるブロックの動きベクトルMVaを用いて予測ベクトルPMVMV1を推定する。
【００６４】
また、上記ACTMVの値が閾値以上であれば（図１０（２））、対象ブロック１０２との距離がより小さなブロック（本例では左上の隣接ブロック１１３)の動きベクトルMVdを用いて予測ベクトルPMVMV1を推定する。なお、図１０はあくまで一例であり、符号化が未完了である参照不可ブロックの代わりに利用する代替ブロックの位置や分散の計算方法は、本例に限定されるものではない。
【００６５】
また、分散値ACTMVと比較する閾値は固定値としてあらかじめ設定しておいても良いが、量子化パラメータや対象ブロックと代替ブロックとの距離などに応じて適応的に決定してもよい。具体的には、例えば、量子化パラメータが大きな値に設定されている場合には、閾値をより小さな値に設定すると、より精度良く予測ベクトルを算出することができる。
【００６６】
また、予測ベクトルPMVMV1を動き探索処理の探索開始点を決定するために用いる場合や、動き探索処理やモード選択処理等で符号量の見積もりに用いる場合など、その用途によって予測ベクトルPMVMV1の算出方法を変化させても良い。例えば、符号量の見積もりに用いる予測ベクトルは本実施例による方法にて計算を行い、探索処理の開始点を決定するための予測ベクトルは最も距離の近いブロックの動きベクトルをそのまま用いると効率的に予測ベクトルを算出することができる。
【００６７】
（予測ベクトル推定処理のフロー図）
図１１は、本実施形態に係る画像符号化装置１の予測ベクトル推定部２２４が実行する予測ベクトル推定処理の一例の流れを示すフローチャートである。
【００６８】
予測ベクトル推定部２２４は、対象ブロック１０２のブロックサイズが未確定である場合には（ステップＳ１０１：Ｙｅｓ）、符号化が完了している周辺ブロック（例えば、図７のブロック１１１およびブロック１１２、図８のブロック１１２等）の分割パターンを参照し、統合判定基準（例えば、図７の統合判定基準３０１、図８の統合判定基準３０２等）に応じて、対象ブロック内の小ブロックを統合するかどうかの判定を行う（ステップＳ１０２）。
【００６９】
そして、ステップＳ１０２における統合判定結果に最も近い分割パターンを選択する（ステップＳ１０３）。ステップＳ１０３で選択した分割パターンにより決定される対象ブロックのブロックサイズを用いて、予測ベクトルを算出し（ステップＳ１０４）、処理を終了する。
【００７０】
一方、ステップＳ１０１で、対象ブロック１０２のブロックサイズが未確定ではないが（ステップＳ１０１：Ｎｏ）、対象ブロック１０２の周辺ブロック（例えば、図１０のブロック１１１）の動きベクトルが未確定である場合には（ステップＳ１０５：Ｙｅｓ）、その他の周辺ブロックの動きベクトル（例えば、図１０の動きベクトルMVa，MVb，MVc）の分散値ACTMVを算出する（ステップＳ１０６）。
【００７１】
ステップＳ１０６で算出された分散値ACTMVが所定の閾値未満である場合には（ステップＳ１０７：Ｙｅｓ）、対象ブロック１０２から見て参照不可ブロック（例えば、図１０のブロック１１１）と近い方向のブロック（例えば、図１０のブロック１１１’）を代替ブロックとして用いて予測ベクトルを算出する（ステップＳ１０８）。
【００７２】
一方、ステップＳ１０６で算出された分散値ACTMVが所定の閾値以上である場合には（ステップＳ１０７：Ｎｏ）、対象ブロック１０２との距離がより小さなブロックの動きベクトル（例えば、図１０のブロック１１１のMVd）を用いて予測ベクトルを算出する（ステップＳ１０９）。
また、ステップＳ１０５で、対象ブロック１０２の周辺ブロックの動きベクトルが未確定でない場合には（ステップ１０５：No）、規格通りの方法にて予測ベクトルを算出する（ステップＳ１１０）。
【００７３】
なお、上記説明した予測ベクトル推定処理はあくまで一例であり、予測ベクトル推定部２２４が実行する処理は、これに限定されるものではない。
（変形例）
本実施形態では、予測および周波数変換をブロック単位で行っているが、それ以外にも例えば画像の背景から分離したオブジェクト単位で算出しても良い。また、本実施形態では、周波数変換の一例としてDCTを挙げているが、DST（Discrete  Sine  Transformation：離散サイン変換）、WT（Wavelet  Transformation：ウェーブレット変換）、DFT（Discrete  Fourier  Transformation：離散フーリエ変換）、KLT（Karhunen-Loeve  Transformation：カルーネン−レーブ変換）など、画素間相関除去に利用する直交変換ならどのようなものでも構わない。また、例えば、特に画面内予測を行わなくても、MPEG-1やMPEG-2のイントラ符号化のように、原画像に対して直接周波数変換を施しても構わない。可変長符号化も特に行わなくても良い。
【００７４】
また、本発明はH.262/MPEG-2、MPEG-4、H.263、H.264/AVCなど、動きベクトルを予測してその予測誤差を符号化して用いる方式ならどのような動画像符号化方式にも適用できる。
【００７５】
なお、本発明の範囲は、図示され記載された例示的な実施形態に限定されるものではなく、本発明が目的とするものと均等な効果をもたらすすべての実施形態をも含む。さらに、本発明の範囲は、すべての開示されたそれぞれの特徴のうち特定の特徴のあらゆる所望する組み合わせによって画されうる。
【００７６】
（付記）
以上に、本発明に係る実施形態について詳細に説明したことからも明らかなように、前述の実施形態の一部または全部は、以下の各付記のようにも記載することができる。しかしながら、以下の各付記は、あくまでも、本発明の単なる例示に過ぎず、本発明は、かかる場合のみに限るものではない。
【００７７】
（付記１）
符号化を行う対象画像内の領域である符号化対象領域の動きベクトルを探索し、前記符号化対象領域の動きベクトルに基づいて前記対象画像の画面間予測を行うことによって画像の符号化を行う画像符号化装置であって、
予測される前記符号化対象領域の動きベクトルであって、前記符号化対象領域の周辺に位置する周辺ブロックの動きベクトルを用いてあらかじめ定められた所定の規則に応じて決定される動きベクトルである予測ベクトルから、前記符号化対象領域の動きベクトルの探索開始点を決定し、前記探索開始点から前記符号化対象領域の動きベクトルの探索を開始する動き探索部と、
前記所定の規則に応じて前記予測ベクトルを算出する際に、前記符号化対象領域のサイズが取得できない場合には、前記対象画像内の前記符号化対象領域以外の符号化済み領域のサイズから前記符号化対象領域のサイズを決定して予測ベクトルを算出し、前記周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、前記対象画像内の前記符号化対象領域以外の符号化済み領域の動きベクトルから前記予測ベクトルを算出する予測ベクトル推定部と、
前記動き探索部にて探索された前記符号化対象領域の動きベクトルと、前記予測ベクトルと、の差分値を符号化する可変長符号化部と、
を有する画像符号化装置。
【００７８】
この構成によれば、予測ベクトルを算出するために必要な情報が取得できないことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することができる。ひいては、符号化効率の低下を回避することが可能である。
【００７９】
（付記２）
前記予測ベクトル推定部は、前記符号化対象領域のサイズが取得できない場合には、前記周辺ブロックのサイズ情報を用いて、あらかじめ定められた規則に従って、前記符号化対象領域のブロックサイズを決定すること
を特徴とする付記１に記載の画像符号化装置。
【００８０】
この構成によれば、予測ベクトルを算出するために必要な符号化対象領域のサイズが取得できない場合ことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することができる。ひいては、符号化効率の低下を回避することが可能である。
【００８１】
（付記３）
前記予測ベクトル推定部は、前記周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、前記対象画像内の前記符号化対象領域以外の複数の符号化済み領域の動きベクトルの分散値に基づいて、前記複数の符号化済み領域の動きベクトルのうち、いずれの動きベクトルを用いて前記予測ベクトルを算出するかを決定すること
を特徴とする付記１又は２に記載の画像符号化装置。
【００８２】
この構成によれば、予測ベクトルを算出するために必要な周辺ブロックの動きベクトルの少なくとも一つが取得できないことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することができる。ひいては、符号化効率の低下を回避することが可能である。
【００８３】
（付記４）
前記動き探索部は、前記予測ベクトル推定部にて算出された前記予測ベクトルに基づいて、動き探索開始点を決定することを特徴とする付記１から３のいずれか一項に記載の画像符号化装置。
【００８４】
（付記５）
複数の符号化モードの中から、一つの符号化モードを選択するモード選択部をさらに有し、
前記モード選択部は、前記予測ベクトル推定部にて算出された前記予測ベクトルから発生符号量を算出し、算出した前記発生符号量に基づいて前記一つの符号化モードを選択することを特徴とする付記１から４のいずれか一項に記載の画像符号化装置。
【００８５】
（付記６）
動き探索部と、予測ベクトル推定部と、可変長符号化部と、を備え、符号化を行う対象画像内の領域である符号化対象領域の動きベクトルを探索し、前記符号化対象領域の動きベクトルに基づいて前記対象画像の画面間予測を行うことによって画像の符号化を行う画像符号化装置が実行する画像符号化方法であって、
前記動き探索部が、予測される前記符号化対象領域の動きベクトルであって、前記符号化対象領域の周辺に位置する周辺ブロックの動きベクトルを用いてあらかじめ定められた所定の規則に応じて決定される動きベクトルである予測ベクトルから、前記符号化対象領域の動きベクトルの探索開始点を決定し、前記探索開始点から前記符号化対象領域の動きベクトルの探索を開始する第１のステップと、
前記予測ベクトル推定部が、前記所定の規則に応じて前記予測ベクトルを算出する際に、前記符号化対象領域のサイズが取得できない場合には、前記対象画像内の前記符号化対象領域以外の符号化済み領域のサイズから前記符号化対象領域のサイズを決定して予測ベクトルを算出し、前記周辺ブロックの動きベクトルの少なくとも一つが取得できない場合には、前記対象画像内の前記符号化対象領域以外の符号化済み領域の動きベクトルから前記予測ベクトルを算出する第２のステップと、
前記可変長符号化部が、前記第１のステップにて探索された前記符号化対象領域の動きベクトルと、前記予測ベクトルと、の差分値を符号化する第３のステップと、
を含むことを特徴とする画像符号化方法。
【００８６】
この構成によれば、予測ベクトルを算出するために必要な情報が取得できないことにより予測ベクトルが参照できない場合でも、予測ベクトルの算出に必要な諸情報を適切に推定して予測ベクトルを算出することができる。これにより、動き探索処理やモード選択処理の精度低下を回避することができる。ひいては、符号化効率の低下を回避することが可能である。
【符号の説明】
【００８７】
１  画像符号化装置
１０  符号化対象画像
２０  参照画像
３０  動画像
４０  原画像
５０  符号化ストリーム
１０１  ラスタースキャン順序
１０２  符号化対象ブロック
１１１  左隣接マクロブロック
１１２  上隣接マクロブロック
１１３  左上隣接マクロブロック
２１０  入力画像メモリ
２１１  ブロック分割部
２１２  探索部
２１３  画面内予測部
２１４  画面間予測部
２１５  モード選択部
２１６  減算部
２１７  周波数変換部
２１８  量子化処理部
２１９  可変長符号化部
２２０  逆量子化処理部
２２１  逆周波数変換部
２２２  加算部
２２３  参照画像メモリ
２２４  予測ベクトル推定部
３０１、３０２  統合判定基準
３１１、３１２  統合判定結果
４１１、４１２、４１３、４１４  マクロブロック分割パターン
【図１】
0005913911.tif 000002
【図２】
0005913911.tif 000003
【図３】
0005913911.tif 000004
【図４】
0005913911.tif 000005
【図５】
0005913911.tif 000006
【図６】
0005913911.tif 000007
【図７】
0005913911.tif 000008
【図８】
0005913911.tif 000009
【図９】
0005913911.tif 000010
【図１０】
0005913911.tif 000011
【図１１】
0005913911.tif 000012