(57)【要約】【課題】  動き補償画像符号化装置又は符号化方法において、動きベクトル決定のための演算処理量を軽減し、実時間で動画像情報の符号化処理を行うことを可能とする。【解決手段】動き補償画像符号化において、動きベクトルの検索（１２0）を、マクロブロック及びマクロブロックを分割したサブブロックについて整数画素精度で検索し（１２２）、その検索結果によって小数画素精度で動きベクトルの検索を行うべきブロック形状を形状モードとして決定し（１２４）、その形状モードのブロックについて少数画素精度で動きベクトルの検索を行って（１２５）、予測画像を得るため動きベクトルとする。【選択図】  図１
2006165840.tif 000002
【特許請求の範囲】
【請求項１】
動画像のフレームを分割したブロック単位で動き検索を行い、検索した動きベクトルを用いて動き補償予測を行い生成した予測画像と上記動画像との間の差分信号及び動き情報を符号化する動画像情報の符号化装置であって、
上記動き検索を行う動き検索部が、第１の複数画素ブロック及び上記第１の複数画素ブロックを分割した複数種の形状のサブブロックの動きベクトルの探索を整数画素精度で行う第１の動きベクトル探索部と、上記第１の動きベクトル探索部で得られた情報を用いて、上記複数種の形状ブロックの１ないし複数の形状を選択する形状モード選択部と、上記形状モード選択部で選択された１ないし複数のサブブロックに対して小数画素精度の動きベクトル探索を行う第２の動きベクトル探索部をもつことを特徴とする動画像情報の符号化装置。
【請求項２】
請求項１記載の動画像情報の符号化装置において、形状モード選択部が上記第１の動きベクトル探索部による動きベクトルの各種形状ブロックの符号化コストを計算し、符号化コスト値が最小の形状を決める手段をもち、上記第２の動きベクトル探索部が上記符号化コスト値が最小の形状ブロックについて小数画素精度の動きベクトル探索を行うことを特徴とする動画像情報の符号化装置。
【請求項３】
請求項１記載の動画像情報の符号化装置において、形状モード選択部が上記第１の動きベクトル探索部による動きベクトルの各種形状ブロックの符号化コスト値を計算し、符号化コスト値が小さい順に複数の形状を決める手段をもち、上記第２の動きベクトル探索部が上記複数の形状ブロックについて小数画素精度の動きベクトル探索を行い、上記複数の形状ブロックについて小数画素精度の動きベクトルによる各種形状ブロックの符号化コスト値を計算し、上記形状モード選択部がその符号化コスト値が最小の形状を決める手段を持つことを特徴とする動画像情報の符号化装置。
【請求項４】
請求項１又は２記載の動画像情報の符号化装置であって、上記動き検索を行う動き検索部が第２の動きベクトル探索部を駆動するか否かを決定する制御を行う符号化モード選択切り換え処理部を有し、上記動き検索部は、第２の動きベクトル探索部を駆動しないと決定したとき、第２の動きベクトル探索部を駆動せず、全ての形状モードに対し小数画素精度の動きベクトル検索を行い、動きベクトルを決定する手段をもつことを特徴とする動画像情報の符号化装置。
【請求項５】
請求項１ないし4の一つに記載の動画像情報の符号化装置において、上記記載の第１の複数画素ブロック葉１６ｘ１６画素のマクロブロックであり、上記サブブロックは１６ｘ８画素、8x16画素、8x8画素、4x8画素、8x4画素、4x4画素のブロックであり、上記小数画素精度は1/２画素精度、1/４画素精度であることを特徴とする動画像情報の符号化装置。
【請求項６】
動画像のフレームを分割したブロック単位で動き検索を行い、検索した動きベクトルをもちいて動き補償予測を行い生成した予測画像と上記動画像との間の差分信号及び動き情報を符号化する動画像情報の符号化手順をコンピュータに実行させるためのプログラムであって、
上記動き検索を行う手順が、第１の複数画素ブロック及び上記第１の複数画素ブロックを分割した複数種の形状のサブブロックの動きベクトルの探索を整数画素精度で行う第１のステップと、
上記第１のステップで得られた情報を用いて、上記複数種の形状ブロックの１ないし複数を選択する第２のステップと、
上記第２のステップで選択された１ないし複数のサブブロックに対して小数画素精度の動きベクトル探索を行う第３のステップをもつことを特徴とするプログラム。
【請求項７】
請求項６記載の動画像情報のプログラムにおいて、上記第２のステップが符号化コストを計算し、その符号化コスト値が最小の形状ブロックを識別する形状モード情報を作る第4ステップを有することを特徴とするプログラム。
【請求項８】
請求項６記載の動画像情報のプログラムにおいて、上記第２のステップが符号化コスト値を計算し、その符号化コスト値が小さい順に複数の形状ブロック種別を識別する第5ステップと、上記第5ステップで得られた複数の形状ブロッに対して小数画素精度の動きベクトル探索を行う第６のステップと、第６のステップで得られた動きベクトルによる符号化コスト値を計算し、その符号化コスト値が最小の形状ブロックを識別する形状モード情報を作る第７ステップを有することを特徴とするプログラム。
【請求項９】
請求項６７記載のプログラムにおいて、
上記第１のステップの後に第２のステップを行うか否かを決定するステップを有し、第２のステップを行うと決定したときは上記第２のステップを実行し、第２のステップを行わないと決定したときは全ての形状のサブブロックについて小数画素精度の動きベクトルの検索を行い動きベクトルを決める第７ステップと、第7ステップで決められた小数画素精度の動きベクトルの中で符号化コストの最小のものを選択する第8ステップとを有することを特徴とするプログラム。
【請求項１０】
請求項6ないし9の一つに記載のプログラムにおいて、上記第１の複数画素ブロックは１６ｘ１６画素のマクロブロックであり、上記サブブロックは１６ｘ８画素、8x16画素、8x8画素、4x8画素、8x4画素、4x4画素のブロックであり、上記小数画素精度は1/２画素精度、1/４画素精度であることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動き補償画像符号化装置及び符号化方法、さらに詳しく言えば、動画像のフレームを分割したブロック単位で動き補償予測を行い生成した予測画像と上記動画像との間の差分信号及び動き情報すなわち動きベクトルを符号化する動画像情報の圧縮符号化技術、特に動きベクトルの探索技術に関するものである。
【背景技術】
【０００２】
近年、MPEG（Moving Picture Experts Group）に代表されるように、内挿符号化、動き補償予測、直交変換、量子化、可変長符号化を用いた動画像符号化装置が広く普及している。動き補償予測では、参照フレームから動きを推定し、予測残差信号と動きベクトル情報を符号化している。ITU−T Recommendation H.263やISO／IEC International Standard 14496−2(MPEG−4 Visual)などの国際標準化動画像符号化方式では、フレーム画像をマクロブロックと呼ばれる16ｘ１６画素のブロックに分割し、さらにマクロブロックを8x8画素ブロックに分けて、各ブロック単位で動き補償予測を行っている。
【０００３】
また、より高圧縮率な符号化方式である規格H.264/AVCでは、マクロブロックを16x8、8x16、8x8、4x8、8x4、4x4画素の複数のブロック（サブブロック）に分割し、各ブロック単位で動き補償予測を行っている（非特許文献１参照）。複数のサブブロックを用いることで、平坦で動きの少ない画像から細かい複雑な動きをする画像に至るまで、適応的に動き予測を行うことが可能となる。
上記MPEG-4やH.264/AVC符号化方式では、1/2、1/4画素精度の動き補償予測が行われて
いる。１/2、1/4画素精度の動き補償予測とは、実際に得られる整数画素位置の画素を用いて内挿処理を行い、仮想的に1/2画素位置や1/4画素位置の画素値を作りだすことで動き予測精度を向上させる方法である。
【０００４】
従来の動画像情報符号化では、マクロブロック及びサブブロックの全てに対して小数画素精度の動き情報（動きベクトル）を検索して、その後で最適の動きベクトルを決定している。また、ブロックの形状、大きさによって動きベクトル検索の画素精度を変える技術が、例えば特許文献１で提案されている。
【０００５】
【非特許文献１】Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG : "Text of International Standard of Joint Video Specification", ITU-T Rec. H.264 | ISO/IEC 14496-10 Advanced Video Coding, (December, 2003).
【特許文献１】特開2004−48552号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のように、H.264/AVCのようなマクロブロック及びサブブロックのようなブロック形状の種類が多数存在する場合に、マクロブロック及び複数種のサブブロック全てに対して小数画素精度の動きベクトルを求め、最適の動きベクトルを決定し、予測画像を得て、動き補償予測画像符号化を行う方式では、予測画像を生成のための演算量が膨大になる。特に大きいサイズの画像フレームに対しては、実時間で符号化処理を行うことが困難である。
【０００７】
ブロックの形状、大きさによって動きベクトル検索の画素精度を固定的に変える技術では、符号化効率が低下する場合がある。また、演算量の観点から、符号化効率の悪いブロック形状に対しても、固定的に少数画素精度が割当てられる場合がある。
従って本発明の目的は、動き補償画像符号化を行う際に、マクロブロック及び複数種のサブブロックの動きベクトルを整数精度及び小数画素精度で検索し、動きベクトルを探索する符号化方式において、画質を実質的に保持しながら、動きベクトル探索処理演算量の大幅な削減を実現する動き補償動画像符号化装置及び動き補償動画像符号化をコンピュータで実施させるためのプログラムを提供するものである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本願において開示する代表的な発明概要は以下のとおりである。
本願の動き補償動画像符号化装置は、動きベクトル探索部が、第１の複数画素ブロック及び上記第１の複数画素ブロックを分割した複数種の形状の小ブロック（サブブロック）の動きベクトル探索を整数画素精度で行う第１の動きベクトル探索部と、上記第１の動きベクトル探索部で得られた情報を用いて、上記サブブロックの１ないし複数種を選択する形状モード選択部と、上記形状モード選択部で選択された１ないし複数種のサブブロックに対して小数画素精度の動きベクトル探索を行う第２の動きベクトル探索部をもつ。すなわち、小数画素精度の動きベクトル探索を行うブロック種別の決定を、第１の複数画素ブロック及び上記第１の複数画素ブロック分割した複数種の形状の小ブロック動きベクトルの探索を整数画素精度で行って得られた情報に基づいて実行する形状モード選択部とを持つ。
【発明の効果】
【０００９】
本発明により、MPEG-4やH.264/AVC符号化方式の動画像符号化のように、マクロブロック及びマクロブロックを分割した複数種の小ブロックに対して、1/2、1/4画素精度の動き補償予測を行う場合に、1/2、1/4画素精度の動ベクトル探索の対象のブロックが大幅に軽減されるため、内挿演算処理量を大幅に削減することができ、符号化処理を高速に行うことができる。
【発明を実施するための最良の形態】
【００１０】
＜実施例１＞
図１は本発明による動き補償画像符号化装置の一実施例の構成を示すブロック構成図を示す。同図に示すように、動き補償画像符号化装置は、画像情報のデータを記憶する原画像メモリ101、イントラ予測部102、符号化モード判定部103、直交変換部104、量子化部105、逆量子化部109、逆直交変換部110、逆イントラ処理部112、フレームメモリ113、ループ内フィルタ114、動き検出・動き補償部120、符号化部106、送信バッファ107、レート制御部108をもつ。
【００１１】
上記構成において、動き検出・動き補償部120aを除いては、従来知られている画像情報符号化装置と実質的に同じである。すなわち原画像メモリ101は、符号化される原画像フレームのデータを一時的にバッファリングする。上記バッファリングされた画像フレームのデータを１６×１６の画素からなるマクロブロック単位で読み出し、イントラ予測部102及び動き検出・動き補償部120aに入力する。イントラ予測部102は、符号化しようとするマクロブロックがある同じ画像フレームで既に符号化された隣接ブロックの境界画素の信号レベルから予測ブロックの画素の信号レベルを予測し、それらの差分を取って残差成分を作り、その残差成分の情報に基づいてイントラモード符号化の選択が行われる。
【００１２】
一方、インターモード符号化の予測処理を行う動き検出・動き補償部120aでは、フレームメモリ113に格納されている参照画像フレームから、探索ブロック、すなわち原画像メモリ101から入力し符号化しようとするマクロブロックと最も画像が似ているブロックの位置を検出し、その位置の画像を予測画像とする。上記画像が似ている位置の検出は、原画像と予測画像の残差成分や発生符号量が最も小さくなる参照画像ブロックが選択される。
符号化モード判定部103では、イントラ予測部102で選択されたイントラモード符号化と動き検出・動き補償部120aで選択された情報を利用したインターモード符号化との符号化効率の高い方の符号化モードが選択される。符号化モード判定部103において選択された符号化対象信号すなわち画像の予測誤差信号は、直交変換部104、量子化部105、符号化部106、送信バッファ107へ伝送される。ここで、直交変換部104では、DCT等の直交変換が行われ、直交変換係数に変換する。直交変換係数は、量子部105で量子化処理が行われる。量子部105で量子化された変換係数は、符号化部106により、可変長符号化、算術符号化等の可逆符号化が行われた後、送信バッファ107に蓄積され、画像圧縮情報として出力される。
【００１３】
また、量子化部105より出力された変換係数は、逆量子化部109により入力され、逆量子化が施され、逆直交変換化部110において逆直交変換が施された後、符号化モード判定部103でイントラモードが選択された画像の符号は逆イントラ処理部112により、逆イントラ予測が行われる。逆イントラ予測が行われた復号化画像情報は、ループ内フィルタ112によりデブロック処理が行われ、ブロック歪みが除去された後、フレームメモリ113に格納される。なおループ内フィルタ112は適用してもしなくても良い。
【００１４】
一方、符号化モード判定部103でインターモードが選択された画像は、逆直交変換化部110において逆直交変換が施された後、動き検出・動き補償部120aにおいて作られた予測画像ブロックの動き補償がなされた画像信号と加算器116で加算される。加算器116の出力は、ループ内フィルタ112によりデブロック処理が行われ、ブロック歪みが除去された後、フレームメモリ113に格納される。
【００１５】
動き検出・動き補償部120aでは、フレームメモリ113に格納されている画像データを参照画像として用いてマクロブロック単位に動きベクトルが検出され、検出された動きベクトルに対応する参照画像ブロックの画像の動き補償が行なわれ、予測画像（動き補償された画像ブロック）として生成される。その際、動き検出・動き補償部120aで利用されるフレームメモリに格納されているフレーム数は複数であってもよい。
動き検出・動き補償部120aで検出された動きベクトル情報も符号化部106に送られ、可変長符号化、算術符号化等の可逆符号に変換される。動き検出・動き補償部120aで得られた予測画像は減算器115及び加算器116加えられる。減算器115では原画像と予測画像の差分が取られ、その残差成分情報は形状モード符号化選択時に利用される。
次に、本発明の主要部である動き検出・動き補償部120aの構成動作を図２，３及び４を参照して説明する。
【００１６】
図4は、動き検出・動き補償部120aの機能構成、処理の流れを示すフローチャート図である。
動き検出・動き補償部120aでは、動き探索制御部121の制御に従って、符号化対象画像ブロックと参照フレームメモリ１１３のからの参照画素データが整数画素精度動きベクトル探索制御部122に取り込まれる。整数画素精度動きベクトル探索制御部122では、図２に示すような複数種類のブロック201,202,203,204，0205,206、及び207（16 x 16のマクロブロック及び16x8(202)、8x16(203)、8x8(204)、4x8(205)、8x4(206)）、4x4(207)画素の複数ブロック）のそれぞれについて整数画素精度の動きベクトルをブロックマッチング法に基づいた演算処理によって求める（図４、ステップ４０１）。この段階では、全部ロックに対してブロックマッチングの演算処理が行われるが、次に述べる仮想画素を作る内挿演算を必要としないので、演算は高速に行われる。図２の各ブロックの辺に示す数字は画素の行数及び列数を示す。
【００１７】
動きベクトル探索は探索ブロックとフレームメモリ113の予測画像フレームの上記探索ブロックに対応する位置の近傍のブロックをブロックマッチング法に基づいて行い、誤差量が最小となる位置を整数画素動きベクトルとする。誤差量は原画像と予測画像の二乗誤差の和（SSD）や、差分絶対値の和（SAD）などを用いる。
【００１８】
符号化コスト値計算部１２３は、動きベクトル探索制御部122で検索した複数種類のブロックそれぞれの整数画素精度の動きベクトルに対する動きベクトルを用いた形状モード符号化による符号量を算出する（図４、ステップ４０２）と共に、各動きベクトルの符号量予測誤差を算出する。動きベクトルの符号量Rは、周囲のブロックの動きベクトルから算出された動きベクトルの予測値と動きベクトル探索で求められた動きベクトルとの差分値（MVD）を可逆符号化することによって算出される。但し、ステップ401で得られる動きベクトルは整数画素精度である。動きベクトルとの差分値MVDを整数画素精度MVDと呼ぶことにする。さらに、符号化コスト計算部123は、検出された上記各ブロックの動きベクトルのときの差分絶対値の和（SAD）情報と上記整数画素精度MVDを用いて符号化コスト値の算出を行う（図４、ステップ４０３）。
【００１９】
ブロック形状モード選択部124は、符号化コスト計算部123で得られた各ブロックの上記符号化コスト値が最小となるブロック形状を選択し、選択したブロック形状を指定する情報を形状モード信号として動き探索制御部121に送る（図４、ステップ４０４）。
動き探索制御部121は小数画素精度動きベクトル探索部125に対し上記形状モード信号に対
応する形状のブロックの小数画素精度動きベクトル探索命令を送る（図４、ステップ４０5）。小数画素精度動きベクトル探索部125は上記形状モード信号に対応する形状のブロックを選択し、選択されたブロックの仮想画素を内挿処理演算によって作り、内挿処理演算によって求められる仮想画素を含む参照画素ブロックを生成する。そして原画像ブロックと仮想画素を含む参照画素ブロックとのブロックマッチング法によって小数画素精度の動きベクトル探索を行う（図４、ステップ４０5）。上記内挿処理演算によって求められる仮想画素の生成はフィルタ演算処理によって実現される。
フィルタ演算処理による輝度成分の1/2画素精度と1/4画素精度の仮想画素の生成ついて説
明する。
【００２０】
図３は、内挿処理演算によって求められる仮想画素を説明するための画素配列の例を示す図で
ある。図３は便宜上実在の６ｘ６画素（例えば、Ａ、Ｂ，〜Ｒ，Ｓ，Ｔなど）、1/2画素精度検出のための仮想画素（a,b,c,〜ｌ、ｍなど），及び1/4画素精度の仮想画素を例示する。1/2画素精度の仮想画素c(301)は、整数画素E(303)、F(304)、G(305)、H(306)、I(307)、J(308)を用いて次式（数式１）の演算によって生成される。
【００２１】
c=round((E-5*F+20*G+20*H-5*I+J)/32)          （数式１）
ここで、roundは丸めを示す。数字５，２０、などはフィルタ係数を示す。
さらに1/4画素精度のフィルタ演算においては、1/2画素精度で得られた仮想画素値の平均
値をとって求められる。例えば、図2に示す1/4画素精度の仮想画素cc（302）は1/2画素c(301)
とg(309)を用いて次式（数式２）の演算によって求められる。
【００２２】
cc= round((c+g)/2)                                    （数式2）
一般的に、内挿処理演算はフィルタ処理のため、フィルタ係数が多いほど演算量も多くなる。
ここで、符号化コスト値はSADではなく、原画像と予測画像の二乗誤差の和（SSD）でも良い。ただし、SADやＳＳＤだけではブロック形状の小さいモードが選択されやすくなり符号化効率が低下するため、動きベクトルの差分符号量を考慮した評価関数が一般的に用いられる。動きベクトルの差分符号量を考慮した評価関数を用いて符号化コスト値を求める際に利用する予測動きベクトルは、隣接ブロックの小数画素精度の動きベクトルが得られないときは、整数画素精度の動きベクトル情報を用いることにする。例えば、マクロブロック単位でパイプライン処理に基づいて整数画素精度の動きベクトル探索と小数画素精度の動きベクトル探索が異なるステージで符号化処理が行われる場合、図10に示すように、符号化対象マクロブロック(1002)の符号化コスト値計算に利用する周辺の動きベクトル情報A〜M(A〜Ｂの升目は4ｘ4画素のブロック)のうち符号化対象マクロブロックの1つ前のマクロブロック(1001)のＡ〜Ｄのブロックは整数画素精度の動きベクトルしか用いることができない。そこで、本方法を用いることにより、ブロック形状モードの選択処理を小数画素精度の動きベクトル探索処理が終了するまで待つ必要がなく、整数画素精度の動きベクトル探索直後に実行できるため高速に符号化処理を行うことが可能となる。なお、整数画素精度の動きベクトル差分符号量と、小数画素精度の動きベクトル差分符号量はほぼ同等であるため、符号化コスト値の差はほとんど変わらず符号化性能低下への影響も小さい。本方法は、以下の実施例についても適用できる。
動き補償部１２６は、上記小数画素精度動きベクトル探索部125で選択された形状モードの小数画素精度の動きベクトル情報及び予測誤差情報を利用して予測画像を作成する。動きベクトル情報の一部は符号化部１０６に加えられ符号化される。また、予測画像は減算器１１５に加えられる。
＜実施例2＞
図５は本発明による動き補償画像符号化装置をＣＰＵなどの信号処理装置を用いて構成した実施例の構成を示すブロック図である。図１の実施例１と同一機能ブロックについては図１と同一番号を付して説明を省く。図１に示したデータ伝送及び制御は図5に示す制御部502で行われる。また、原画像メモリ101、フレームメモリ113からのデータはDMA読出部509により読み込まれ、動き検出・動き補償部120へ伝送される。
【００２３】
動き検出・動き補償部120aは、動き探索制御部121、整数画素精度動き探索部122、小数精度動き探索部125、動き補償部126、動き探索用メモリ503から構成されている。また、イントラモードを選択するイントラ予測部102、イントラモードとインターモードを選択する符号化モード判定部103、可逆符号化を行う係数符号化部106、レート制御を行うレート制御部108、デブロックフィルタ処理を行うループ内フィルタ１１４は、それぞれ図５のイントラ予測部102、符号化モード判定部103 、符号化部106、レート制御部108、フィルタ演算部511に対応している。また、図１の直交変換部104、量子化部105、逆量子化部109、逆直交変換部110は、直交変換部・逆直交変換部/量子化・逆量子化部510に対応している。フィルタ演算部511で処理されたデータは、DMA書込部512で、フレームメモリ113（図示せず）に書き込まれる。図４に示した動きベクトル探索の各ステップを実行するプログラムを記憶した記録媒体が備えられ、そのプログラムを実行することによって、図５の動きベクトル探索部（点線で囲む部分）が実現される。
＜実施例３＞
図６は本発明による動き補償画像符号化装置の他の実施例の構成を示すブロック図を示す。本実施例は、小数画素精度の動きベクトル探索を行う前に形状モードの選択を行うか行わないかの選択を行うようにしたものである。一般的に、画素精度を上げれば、動き補償予測による残差成分が小さくなり、その結果発生符号量が削減されるため、予測効率が高くなる。一方、画素精度を上げれば、それに伴うフィルタ処理が多くなり演算負荷も高くなる。
【００２４】
図１に示した実施例１で説明した動き補償画像符号化装置と実質的の同じ機能ブロックについては、図１に示した番号と同じ番号を付して、その詳細な説明を省く。図１に示した実施例１と本実施例の動き補償画像符号化装置との違いは、図１に示した実施例１の構成に形状モード選択切り換え処理部601が追加された点である。形状モード選択切り換え処理部601は、入力画像やフレームレート、発生符号量などに基づいて、適応的に小数画素精度の動きベクトル探索前に形状モード選択処理を行うか行わないかを決定する。例えば、図6に示すレート制御部108では、対象マクロブロックの符号量を取得し、その発生符号量が多ければ、次に処理するマクロブロックの符号量を減らすために量子化パラメータ値を大きくするように制御が行われている。そのため、量子化誤差が大きくなり、画質が低下するので、整数画素精度、小数画素精度の動きベクトル探索が終了後に形状モードを選択して予測精度を上げる。
【００２５】
次に動き検出・動き補償部１２０bの機能構成及び処理の流れについて説明する。
図７は、図６の実施例における動き検出・動き補償部120bの機能構成、処理の流れを示すフローチャート図である。同図において、整数画素精度の動きベクトル探索401、動きベクトル符号量算出402、符号化コスト値の算出403処理は、実施例１と同じであるが、形状モード選択処理は以下のように行う。
【００２６】
形状モード選択切り換え処理部601では、小数画素精度の動きベクトル探索前に形状モード選択を行うか行わないかを決定するフラグ（以下形状モード選択フラグと呼ぶ）が用意されており、形状モード選択フラグの値が“0”の時は、動き検出・動き補償部120ｂは形状モード選択の処理404、処理404の結果に基づく小数画素精度の動きベクトル探索405を行わずに、全てのブロック（マクロブロック及びサブブロック）に対して小数画素精度の動きベクトル探索行う（ステップ602）。そして、動きベクトルの符号量を算出する（ステップ603）。小数画素精度の動きベクトル探索（ステップ602）で得られた誤差量やステップ603で得られた動きベクトル情報の符号量を用いて符号化コスト値の算出を行う（ステップ604）。符号化コスト値はSADを用いても良いし、SSDやその他の評価関数を用いても良い。そして、全ての形状モードで符号化コスト値の算出が終了したら符号化コスト値が最も小さくなるモードを選択する（ステップ606）。
【００２７】
一方、形状モードフラグの値が“1”の時は、動き検出・動き補償部120bは、小数画素精度の動きベクトル探索（ステップ405）前に形状モード選択処理を行う(ステップ404)。そして、選択された形状モードに対してのみ、小数画素精度の動きベクトル探索を行い（ステップ405）、動き検出・動き補償予測処理を終了する。なお、形状モード選択フラグの“1”、“0”の関係は、これに固定化されるものではなく、ON、OFFなど2値判別できるものであれば何でも良い。また、逆の関連付けを行ってもよい。
【００２８】
形状モード選択フラグの切り換え単位は、例えばマクロブロック、スライス、フレーム、シーケンス単位がある。また、小数画素精度の動きベクトル探索前に形状モード選択処理を行うか行わないかの判定をユーザが任意に行っても良い。その際、装置の構成としては図6に示す入力ようにユーザ入力部602を追加する。ユーザ入力部では、ユーザから入力された小数画素精度の動きベクトル探索前に形状モード選択処理を行うか行わないかの命令を受け取り、形状モード選択フラグを立てるか、立てないかの信号を形状モード選択切り換え部601へ送る。
【００２９】
本実施例の構成により、例えばＨＤ(High Definition)等の大きな画像を符号化処理する場合、整数画素精度の動きベクトル探索後に形状モードを選択し、選択された形状モードに対してのみ小数画素精度の動きベクトル探索を行うことで、処理時間を短縮することができる。逆に、QCIF(Quarter Common Intermediate Format)等の小さい画像を符号化する場合、処理演算量が少ないため、すべての形状モードに対して整数画素精度、小数画素精度の動きベクトル探索を行ってから形状モードを選択することで、予測効率の高さを優先して処理することができる。同様に符号化処理装置の性能が高い、すなわち短時間で多くのブロックを処理できる符号化装置においては、すべての形状モードに対して整数画素精度、小数画素精度の動きベクトル探索を行ってから形状モードを選択することで予測効率の高さを優先して処理を行うことができる。
以上のように、本実施例では、入力画像サイズや符号化装置の性能によって、予測効率と演算負荷とのトレードオフを制御することで自由度の高い映像符号化を行うことができる。
＜実施例４＞
図８は本発明による動画像情報符号化装置の更に他の実施例の構成を示すブロック図である。本実施例は、小数画素精度の動きベクトル探索前に選択される選択される形状モードの数を決定する構成とした。すなわち、整数画素精度の動きベクトル探索終了後に複数の形状モードを選択するようにした動き補償動画像情報符号化装置である。前記実施例で説明した動画像情報符号化装置との違いは、形状モード数決定部801が追加された点である。図１に示した実施例１で説明した動画像符号化装置と実質的の同じ機能ブロックについては、図１に示した番号と同じ番号を付して、その詳細な説明を省く。具体的には、入力画像サイズに応じてn段階にわけ(ここでnはブロック形状モード数)、HDのような大きい画像においては、1モード、ＳＤＴＶ画像においては、２モードというように、画像サイズが大きいものから小さいものに対して選択する形状モード数を増やしていく。
【００３０】
また、符号化時のフレームレートに応じて、閾値をn個用意（Th1>Th2>Th3>・・・>Ｔｈnとする) し、フレームレートがある閾値以内(例えばTh1<閾値<Th2)ならば、モード数は2というように決定する。ここで、閾値Tｈは値が大きいほど選択するブロック形状モード数は少なくなるように設定する。以上、入力画像とフレームレートにおいて例を示したが、この他、符号化装置の性能に応じても同様に決定することができる。つまり、演算処理量に余裕のあるときには、ブロック形状モード数を増やし、逆に、演算処理量に余裕のないときには、ブロック形状モード数を少なくするように決定すればよい。
【００３１】
形状モード数決定部801は、小数画素精度の動きベクトル探索前に選択される形状モードの数を決定する。選択する形状モードの数は、ユーザが任意に決定しても良いし、入力画像やフレームレート、発生符号量に応じて適応的に決定されるようにしても良い。形状モード数決定部801では、選択する形状モードの数を決定するフラグ（以下形状モード数決定フラグと呼ぶ）が用意されており、複数の形状モードの中から、形状モード数決定フラグの値だけ小数画素精度の動きベクトル探索が行われる。
形状モード数決定部801及び動き検出・動き補償部120cの構成及び処理の流れについて説明する。
【００３２】
図９は、動き検出・動き補償部120ｃの機能構造及び処理の流れを示す。前記実施例と同様に、整数画素精度の動きベクトル探索(ステップ401)、動きベクトルの符号量算出(ステップ402)、符号化コスト値の算出(ステップ403)を行う。符号化コスト値の算出(ステップ403)後、ステップ403で得られた符号化コスト値の算出の情報に基づいて、複数の形状モードを選択する（ステップ803）。例えば、形状モード数決定フラグが3であれば、符号化コスト値の小さい上位3つのブロック形状に対して、小数画素精度の動きベクトル探索を行う。なお、符号化コスト値はSADを用いても良いし、SSDやその他の評価関数を用いても良い。なお、形状モード数決定フラグの値３は、これに固定化されるものではなく、ブロック種別の識別が判別できるものであれば何でも良い。
【００３３】
動き検出・動き補償部120は、選択された複数の形状モードそれぞれについて、小数画素精度の動きベクトル探索(ステップ802)で得られた動きベクトルの符号量を算出する（ステップ803）。そして、小数画素精度の動きベクトル探索で得られた誤差量や動きベクトルに基づいて算出された符号量を用いて符号化コスト値の算出を行う(ステップ804)。符号化コスト値はSADでも良いしSSDやその他の評価関数でも良い。選択された全ての複数の形状モードにたいして符号化コスト値の算出が終了すると(ステップ807)、選択された複数の形状モードの中で符号化コスト値が最も小さいモードを最終的に選択する（ステップ805）。
上記形状モード数決定フラグの値は、例えばマクロブロック、スライス、フレーム、シーケンス単位で変更することができる。
入力画像サイズがHDのような非常に大きい場合でも、符号化処理装置の性能が非常に高い場合には、すべての形状モードに対して小数画素精度の動きベクトル探索はできなくても複数の形状モードに対してはできうる場合がある。しかし、実施例3では、整数画素精度の動きベクトル探索終了後に選択する形状モード数は1モードのみであったため、予測効率と演算負荷とのトレードオフを細かく制御することはできなかった。
一方、本実施例によれば、上記のような条件で符号化処理を行う場合においても、複数の形状モードに対して小数画素精度の動きベクトル探索を行うことが可能なため、予測効率と演算負荷とのトレードオフを細かく制御することができる。つまり、実施例3よりもさらに自由度の高い映像符号化を行うことが可能といえる。
【００３４】
上記実施例では、常に画像入力の単位をフレームとして説明してきたが、インタレース画像入力を想定する画像入力をフィールドとする場合においても、適用される。また、動き検出・動き補償部120において、フレームメモリから参照される予測画像が時間的に前後のフレームから作られる場合においても適用できる。
尚、本願は、MPEG符号化方法以外であっても、複数種類の形状モードが想定されている動き補償を用いた符号化方法に適応することができ、処理量低減の効果を奏する。
【図面の簡単な説明】
【００３５】
【図１】本発明による動き補償画像符号化装置の一実施例の構成を示すブロック図である。
【図２】マクロブロック及びサブブロックを示す図である。
【図３】整数画素位置及び、小数画素位置を示した図である。
【図４】実施例1の符号化処理における動き補償予測処理ステップを示したフロー図である。
【図５】本発明による動き補償画像符号化装置をＣＰＵなどの信号処理装置を用いて構成した実施例の構成を示すブロック図である。
【図６】本発明による動き補償画像符号化装置の他の実施例の構成を示すブロック図である。
【図７】図６の実施例における動き検出・動き補償部120の機能、処理の流れを示すフロー図である。
【図８】本発明による動き補償画像符号化装置の更に他の実施例の構成を示すブロック図である。
【図９】図８の動き検出・動き補償部120の処理の流れを示すフロー図である。
【図１０】マクロブロックと動きベクトル検索の画素精度説明のための画素分布図である。
【符号の説明】
【００３６】
101…原画像メモリ；  102…イントラ予測部；  103…符号化モード判定部；  
104…直交変換部；  105…量子化部；  106…符号化部；  107…送信バッファ；  
108…レート部制御；  109…逆量子化部；  110…逆直交変換部；  
120…動き検出・動き補償部;  112…逆イントラ予測処理部;  113…フレームメモリ;  
114…ループ内フィルタ；  115…減算器；  116…加算器；  
601…形状モード選択切り換え処理部;  801…形状モード数決定部；   
201…16x16モード；  202…16x8モード；  203…8x16モード；  
204…8x8モード；  205…8x4モード；  206…4x8モード;  207…4x4モード；  
301,309…1/２画素；  302…1/4画素；  303,304,305,306,307,308…整数画素;  
501…ＣＰＵ；  502…制御部;503…動き探索メモリ；  509…DMA読出部；  
511…フィルタ演算部；  512…DMA書込部。
【図１】
2006165840.tif 000003
【図２】
2006165840.tif 000004
【図３】
2006165840.tif 000005
【図４】
2006165840.tif 000006
【図５】
2006165840.tif 000007
【図６】
2006165840.tif 000008
【図７】
2006165840.tif 000009
【図８】
2006165840.tif 000010
【図９】
2006165840.tif 000011
【図１０】
2006165840.tif 000012