(57)【特許請求の範囲】
【請求項１】
ピクチャ間予測符号化を行う動画像の符号化方法であって、
符号化対象ピクチャと参照ピクチャとに基づき動きベクトル探索を行い、前記符号化対象ピクチャの動きベクトルおよび予測画像を生成するステップと、
前記符号化対象ピクチャと前記予測画像との差分画像にかかる数値を量子化するステップと、
予め定められた、前記量子化するステップにおける量子化スケールと動きベクトル精度との対応づけを異ならせた複数の動きベクトル精度テーブルから、前記動画像のプロファイルおよび画像の大きさの少なくとも一方に基づき、一の動きベクトル精度テーブルを選択するステップとを含み、
前記動きベクトルおよび予測画像を生成するステップは、前記量子化スケールに基づき、選択した動きベクトル精度テーブルを参照した結果得られた精度で、前記動きベクトル探索を行うことを特徴とする符号化方法。
【請求項２】
前記動きベクトル精度テーブルを前記動画像が構成するストリームに含めることを特徴とする請求項１に記載の符号化方法。
【請求項３】
前記動きベクトル精度テーブルを、前記動画像が構成するストリームに、前記動画像を構成する所定の単位で複数定義することを特徴とする請求項１から２のいずれかに記載の符号化方法。
【請求項４】
前記動きベクトル精度テーブルに、前記量子化スケールの増加に伴い前記精度が減少するように設定したテーブルを含めることを特徴とする請求項１から３のいずれかに記載の符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を符号化する符号化方法に関する。
【背景技術】
【０００２】
ブロードバンドネットワークが急速に発展しており、高品質な動画像を利用したサービスに期待が集まっている。また、ＤＶＤなど大容量の記録媒体が利用されており、高画質の画像を楽しむユーザ層が広がっている。動画像を通信回線で伝送したり、記録媒体に蓄積するために不可欠な技術として圧縮符号化がある。動画像圧縮符号化技術の国際標準として、ＭＰＥＧ４の規格やＨ．２６４／ＡＶＣ規格がある。また、１つのストリームにおいて高画質のストリームと低画質のストリームを併せもつＳＶＣ（Scalable Video Coding）のような次世代画像圧縮技術がある。
【０００３】
高解像度の動画像をストリーム配信したり、記録媒体に蓄積する場合、通信帯域を圧迫しないように、あるいは、記憶容量が大きくならないように、動画ストリームの圧縮率を高める必要がある。動画像の圧縮効果を高めるために、動き補償フレーム間予測符号化が行われる。動き補償フレーム間予測符号化では、符号化対象フレームをブロックに分割し、既に符号化された参照フレームからの動きをブロック毎に予測して動きベクトルを検出し、差分画像とともに動きベクトル情報を符号化する。
【０００４】
Ｈ．２６４／ＡＶＣ規格では、動き補償において、よりきめ細かな予測を行うために、動き補償のブロックサイズを可変にしたり、動き補償の画素精度を１／４画素精度まで細かくすることができるようになっている。特許文献１には、動きベクトルを複数の精度で取得し、複数のブロックごとに符号量が最も小さくなる精度を選定する動画像符号化技術が開示されている。
【特許文献１】特開平１１−４６３６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
次世代画像圧縮技術であるＳＶＣ（Scalable Video Coding）では、時間的スケーラビリティを高めるために、ＭＣＴＦ（Motion Compensated Temporal Filtering、動き補償時間方向フィルタ）技術が検討されている。これは、時間軸方向のサブバンド分割に動き補償を組み合わせたものであり、階層的な動き補償を行うため、動きベクトルの情報が非常に多くなる。このように最近の動画圧縮符号化技術では、動きベクトルに関する情報量が増えることにより動画ストリーム全体のデータ量が増大する傾向にあり、動きベクトル情報に起因する符号量を削減する技術が一層求められている。
【０００６】
本発明はこうした状況に鑑みてなされたもので、その目的は、画質を低下させることなく符号量を削減することのできる動画像の符号化技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は符号化方法に関する。この方法は、ピクチャ間予測符号化を行う動画像の符号化方法であって、符号化対象ピクチャと参照ピクチャとに基づき動きベクトル探索を行い、符号化対象ピクチャの動きベクトルおよび予測画像を生成するステップと、符号化対象ピクチャと予測画像との差分画像にかかる数値を量子化するステップと、を含み、動きベクトルおよび予測画像を生成するステップは、量子化するステップにおける量子化スケールに応じた精度で動きベクトル探索を行うことを特徴とする。
【０００８】
「ピクチャ」は、フレーム、フィールド、ＶＯＰ（Video Object Plane）などを含む符号化の単位である。
【０００９】
量子化スケールは符号化対象の動画像に対してあらかじめ決定されていてもよいし、動画像を構成する所定の単位で、符号化処理の過程で調整されてもよい。後者の場合、調整後の量子化スケールに応じた動きベクトル探索の精度で、それ以後の動きベクトル探索を行ってもよいし、調整に用いた差分画像に対応するマクロブロックの動きベクトル探索を再度行ってもよい。
【００１０】
この態様によれば、量子化スケールに適した精度で動きベクトル探索を行うことができ、効率的な符号化データを取得することができる。
【００１１】
この方法はまた、予め定められた、量子化スケールと精度との対応づけを異ならせた複数の動きベクトル精度テーブルから、動画像の所定の特徴および符号化の種別の少なくとも一方に基づき、一の動きベクトル精度テーブルを選択するステップをさらに含んでもよい。このとき、動きベクトルおよび予測画像を生成するステップは、量子化スケールに基づき、選択した動きベクトル精度テーブルを参照した結果得られた精度で、動きベクトル探索を行う。
【００１２】
ここで「動きベクトル精度テーブル」は予め、ハードディスク、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）など、読み出し可能な記憶装置または記録媒体などに記憶しておいてもよい。「動画像の所定の特徴」とは動画像のプロファイル、画像の大きさなどのいずれか１つまたは組み合わせでもよい。また「符号化の種別」とは、ピクチャタイプ、スライスタイプ、マクロブロックのサイズなどのいずれか１つまたは組み合わせでもよい。また「複数の動きベクトル精度テーブル」には、量子化スケールの変化に対して、精度を大きく変化させるテーブル、精度を小さく変化させるテーブル、精度を固定値とするテーブルなどのいずれを含んでもよい。
【００１３】
この態様によれば、動画像の特徴や符号化の種別などにより精度の調整量を異ならせることができる。
【００１４】
またこの方法は、動画像が構成するストリームに、動きベクトル精度テーブルを含めてもよいし、予め定められた複数の動きベクトル精度テーブルから一の動きベクトル精度テーブルを特定するための識別情報を含めてもよい。このときも、動きベクトルおよび予測画像を生成するステップは、量子化スケールに基づき動きベクトル精度テーブルを参照した結果得られた精度で動きベクトル探索を行う。
【００１５】
この態様によれば、動画像ごとに最適な精度の調整量を指定することができる。
【００１６】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１７】
本発明によれば、画質を保ちながら動画像の符号量を削減することができる。
【発明を実施するための最良の形態】
【００１８】
図１は、実施の形態に係る符号化装置１００の構成図である。これらの構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされた画像符号化機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００１９】
本実施の形態の符号化装置１００は、国際標準化機関であるＩＳＯ（International Organization for Standardization）／ＩＥＣ（International Electrotechnical Commission）によって標準化されたＭＰＥＧ（Moving Picture Experts Group）シリーズの規格（ＭＰＥＧ−１、ＭＰＥＧ−２およびＭＰＥＧ−４）、電気通信に関する国際標準機関であるＩＴＵ−Ｔ（International Telecommunication Union-Telecommunication Standardization Sector）によって標準化されたＨ．２６ｘシリーズの規格（Ｈ．２６１、Ｈ．２６２およびＨ．２６３）、もしくは両方の標準化機関によって合同で標準化された最新の動画像圧縮符号化標準規格であるＨ．２６４／ＡＶＣ（両機関における正式勧告名はそれぞれMPEG-4 Part 10: Advanced Video CodingとH.264）に準拠して動画像の符号化を行う。
【００２０】
ＭＰＥＧシリーズの規格では、フレーム内符号化を行う画像フレームをＩ（Intra）フレーム、過去のフレームを参照画像として順方向のフレーム間予測符号化を行う画像フレームをＰ（Predictive）フレーム、過去と未来のフレームを参照画像として双方向のフレーム間予測符号化を行う画像フレームをＢフレームという。
【００２１】
一方、Ｈ．２６４／ＡＶＣでは、参照画像として利用できるフレームは、時間の先後を問わず、過去の２枚のフレームを参照画像としてもよく、未来の２枚のフレームを参照画像としてもよい。また、参照画像として利用できるフレームの枚数も問わず、３枚以上のフレームを参照画像として用いることもできる。したがって、ＭＰＥＧ−１／２／４では、Ｂフレームは双方向予測（Bi-directional prediction）フレームのことを指していたが、Ｈ．２６４／ＡＶＣでは、Ｂフレームは、参照画像の時間の先後は問わないため、双予測（Bi-predictive prediction）フレームのことを指すことに留意する。
【００２２】
なお、実施の形態では、符号化の単位としてフレームを例に挙げて説明するが、符号化の単位はフィールドであってもよい。また、符号化の単位はＭＰＥＧ−４におけるＶＯＰであってもよい。また、Ｉフレーム、Ｐフレーム、Ｂフレームに対応して、１フレームを水平方向に分割したスライス単位で予測符号化を行う場合は、それらのスライスをそれぞれ、Ｉスライス、Ｐスライス、Ｂスライスと呼ぶ。
【００２３】
符号化装置１００は、入力ストリームとしてフレーム単位で動画像の入力を受け取り、動画像を符号化し、符号化ストリームを出力する。入力された動画フレームはフレームメモリ８０に格納される。
【００２４】
動き補償部６０は、フレームメモリ８０に格納されている過去または未来の画像フレームを参照画像として利用し、ＰフレームまたはＢフレームのマクロブロック毎に動き補償を行い、動きベクトルと予測画像を生成する。動き補償部６０は、符号化対象のＰフレームまたはＢフレームの画像と予測画像の差分を取り、差分画像をＤＣＴ部２０に供給する。また、動き補償部６０は、生成した動きベクトルを可変長符号化部９０に供給する。
【００２５】
ＰフレームもしくはＢフレームの符号化処理の場合は、上述のように動き補償部６０が動作するが、Ｉフレームの符号化処理の場合は、動き補償部６０は動作せず、ここでは図示しないが、Ｉフレームはフレーム内予測が行われた後、ＤＣＴ部２０に供給される。
【００２６】
動きベクトルは、符号化対象のフレームを所定の画素数で分割したマクロブロックの動きを示すベクトルであり、マクロブロックのそれぞれに対し、最も誤差の小さい予測マクロブロックを参照画像から検出することによって得られる。動きベクトルの検出は、対象マクロブロックとマッチングする参照画像における参照マクロブロックを１画素単位または小数画素単位で探索ことにより行われる。以降、この動きベクトルの探索単位を動きベクトル精度と呼ぶ。本実施の形態では動きベクトル精度を、後に述べる量子化スケールによって決定する。
【００２７】
ＤＣＴ部２０は、動き補償部６０から供給された画像を離散コサイン変換（ＤＣＴ）し、得られたＤＣＴ係数を量子化部３０に与える。
【００２８】
量子化部３０は、ＤＣＴ係数を量子化し、可変長符号化部９０に与える。可変長符号化部９０は、差分画像の量子化されたＤＣＴ係数と、動き補償部６０から与えられた動きベクトルとを可変長符号化し、多重化部９２に与える。多重化部９２は、可変長符号化部９０から与えられた符号化後のＤＣＴ係数と動きベクトルとを多重化し、符号化ストリームを生成する。多重化部９２は、符号化ストリームを生成する際、符号化されたフレームを時間順序に並べ替える処理を行う。
【００２９】
一方、量子化部３０においてＤＣＴ係数を量子化する際の量子化スケールは、符号化されたＤＣＴ係数の符号量が符号化ストリーム全体で同程度となるように、次のように調整される。まず、可変長符号化部９０において符号化されたＤＣＴ係数の符号量がスケール決定部４０に与えられる。スケール決定部４０は、与えられた符号量に基づき、符号量が略均一になるように量子化スケールを決定し、量子化部３０に与える。具体的には、符号量が大きければ量子化スケールを大きくし、符号量が小さければ量子化スケールを小さくする。量子化部３０は以降のマクロブロックに対する処理において、スケール決定部４０から与えられた量子化スケールにてＤＣＴ係数を量子化する。スケール決定部４０において決定した量子化スケールはさらに、動き補償部６０にも与えられ、これに基づき動きベクトル精度が調整される。
【００３０】
図２は動き補償部６０の構成を示している。フレームメモリ８０と動き補償部６０は、ＳＢＵＳ８２により接続されている。動き補償部６０は、アドレスを指定してフレームメモリ８０にデータを要求し、フレームメモリ８０からＳＢＵＳ８２を介して伝送されるデータを受け取る。
【００３１】
動き補償部６０は、ＳＲＡＭ６６、動きベクトル検出部６２、精度決定部６７、メモリ６５、および動き補償予測部６８を有する。動きベクトル検出部６２は、フレームメモリ８０に保持された参照画像のうち、対象マクロブロックに対する所定の探索範囲内の画素データをＳＲＡＭ６６に転送し、その画素データを参照して動きベクトル探索を行う。求められた動きベクトルは動き補償予測部６８と可変長符号化部９０に与えられる。
【００３２】
精度決定部６７はスケール決定部４０より与えられた調整後の量子化スケールに基づき、メモリ６５に格納された動きベクトル精度テーブルを参照し、当該量子化スケールに対応した動きベクトル精度を取得する。動きベクトル精度テーブルは、量子化スケールと動きベクトル精度とを対応づけたテーブルであるが、詳細は後述する。精度決定部６７は取得した動きベクトル精度を動きベクトル検出部６２に与える。動きベクトル検出部６２は、以降のマクロブロックに対する動きベクトルの探索を、精度決定部６７から供給された動きベクトル精度で行う。
【００３３】
動き補償予測部６８は、動きベクトルを用いて対象マクロブロックを動き補償して予測画像を生成し、符号化対象画像と予測画像の差分画像をＤＣＴ部２０に出力する。
【００３４】
次に、量子化スケールに対応した動きベクトル精度について説明する。なお、以降の説明では、差分画像のＤＣＴ係数を量子化したデータを差分画像値、それを可変長符号化したデータを差分画像符号と呼ぶ。また動きベクトルを可変長符号化したデータを動きベクトル符号と呼ぶ。
【００３５】
図３は量子化スケールの大きさと動きベクトルの精度の変化による符号量の変化例を示す図である。同図では３つのパターンにおける差分画像符号、動きベクトル符号、およびその他の符号の符号量を示している。パターンＡは量子化スケールが小さく動きベクトル精度が例えば１／４画素と高い場合、パターンＢは量子化スケールが大きく動きベクトル精度が同じく高い場合、パターンＣは量子化スケールが大きく動きベクトル精度が例えば１画素と低い場合である。
【００３６】
パターンＡに対するパターンＢのように、動きベクトル精度が同じで量子化スケールが大きくなると、量子化された差分画像値のデータ量が減少するため、差分画像符号の符号量が減少する。一方、動きベクトル符号の符号量は変化しないため、動きベクトル占有率、すなわち動きベクトル符号量の、全体の符号量に占める割合は増加する。パターンＢに対するパターンＣのように、量子化スケールが同じで動きベクトル精度が低くなると、動きベクトル符号の符号量が減少するため、動きベクトル占有率は減少する。従って、パターンＡとパターンＣの動きベクトル占有率はより近い値となる。
【００３７】
動きベクトル占有率について考察すると次のようになる。まず一般的に、動きベクトル精度が高いと差分画像値が小さくなるため、差分画像符号の符号量が少なくなる。一方、パターンＡに対するパターンＢのように量子化スケールが大きくなると、差分画像値のうち、切り捨てられる部分が増加するため、動きベクトル精度が高いことによる差分画像符号の符号量削減効果が得られにくい。逆にパターンＣのように動きベクトル精度を低くしても、量子化スケールが大きく、精度低下による差分画像値の増加が量子化誤差の範囲内となれば、画質に対する影響は少ない。また、パターンＣに対するＢのように動きベクトルの精度が高くなると、動きベクトル符号の符号量が大きくなるため、動きベクトル符号に起因して全体の符号量が大きくなってしまう。これらのことから、量子化スケールが大きく差分画像符号の符号量が少ない場合は動きベクトル精度を低くし、結果として動きベクトル占有率を略一定に保つ方向で調整を行うことにより、少ない符号量でも効率的な符号化が実現できる。
【００３８】
次に、精度決定部６７が動きベクトル精度を決定する際に参照する動きベクトル精度テーブルについて説明する。動きベクトル精度テーブルは前述のとおり、量子化スケールと動きベクトル精度とを対応づけたテーブルであり、規格書や仕様書などで定義されているものをあらかじめメモリ６５に読み込んでおく。このとき、対応づけの異なる複数のテーブルを定義しておき、画像や符号化処理の所定の特徴によって、そのうちひとつを選択するようにしてもよい。所定の特徴とは、画像のプロファイル、画像の大きさ、フレームタイプ、スライスタイプ、マクロブロックのサイズなどである。またテーブルの選択肢には、動きベクトル精度を固定値とする場合を含めてよい。
【００３９】
一方、動きベクトル精度テーブルは、動画像の入力ストリームに含まれていてもよい。このとき、動きベクトル精度テーブル自体を入力ストリームに含めてもよいし、あらかじめメモリ６５などに読み込んだ動きベクトル精度テーブルの識別情報のうち１つを入力ストリームに含め、識別情報によって指定された動きベクトル精度テーブルを精度決定部６７が参照するようにしてもよい。この場合は、上述のように画像の特徴などからテーブルを選択せずとも、動画像に適した動きベクトル精度テーブルを臨機応変に指定することができる。さらに対応づけの異なる複数の動きベクトル精度テーブルを動画像の入力ストリームに含ませ、上述した画像や符号化処理の所定の特徴や、同じく入力ストリームに含まれる識別情報によって、そのうちひとつを選択するようにしてもよい。この場合も、状況に応じて最適の精度テーブルを取得することができるとともに、規格書や仕様書などで定義されているものをあらかじめメモリ６５に読み込んでおく必要がなく、仕様の変更などに対しても柔軟性を有する。
【００４０】
動きベクトル精度テーブル自体を入力ストリームに含める場合は、入力ストリームの生成時に、あらかじめ定義された複数のテーブルから適宜選択して読み込んでもよいし、動画像ごとに最適なテーブルを生成するようにしてもよい。動きベクトル精度テーブルは、入力ストリームに対して１つ定義されていてもよいし、さらに詳細な単位で定義されていてもよい。例えば、１つのフレーム単位、複数のフレーム単位、１つのスライス単位、複数のスライス単位、１つのマクロブロック単位、あるいは複数のマクロブロック単位などで定義されていてよい。また動きベクトル精度テーブルは、入力ストリーム中、複数のフレームもしくはスライスで共通化されているパラメータ設定部分にて定義してよい。
【００４１】
以下に動きベクトル精度テーブルの例を示す。ただし本実施の形態は以下の例示に限定されるものではない。また、量子化スケールの範囲は理解を容易にするため、その大きさを相対的に大、小、もしくは大、中、小で場合分けしているが、当然ながら絶対的な数値で場合分けしてよい。さらにこの場合分けの数値自体も、入力される動画像によって適宜決定してよい。
【００４２】
表１から表３は、画像の特徴などに依存させず、動きベクトル精度テーブルを１つだけ定義した場合の例を３つ示している。
【００４３】
【表１】
0004401341.tif 000002
【００４４】
【表２】
0004401341.tif 000003
【００４５】
【表３】
0004401341.tif 000004
【００４６】
上述のとおり、量子化スケールが大きいときは動きベクトル精度を高くする効果が得られにくいため、動きベクトル精度を低くして動きベクトル符号の符号量を小さくする。動きベクトル精度テーブルをどのように決定するかは、入力される動画像の性質に傾向があればその性質や、ハードウェア構成などに鑑み決定してよい。
【００４７】
表４および表５は、画像サイズによって動きベクトル精度テーブルを選択する際、選択肢となる動きベクトル精度テーブルの例を示している。表４は画像サイズが所定の基準値より小さい場合、表５は画像サイズがその基準値以上の場合にそれぞれ選択される動きベクトル精度テーブルである。ここでは画像サイズの場合分けを２つとしたが、３つ以上でもよい。
【００４８】
【表４】
0004401341.tif 000005
【００４９】
【表５】
0004401341.tif 000006
【００５０】
画像サイズが大きい場合、隣接画素間の類似性が高くなる。このため量子化スケールが大きくなると、動きベクトルの精度を低くしても差分画像符号の符号量が大きくなりにくい。従って表５に示すように、量子化スケールが大きい場合は動きベクトル精度を低くすることにより、動きベクトル符号の符号量を少なくする。画像サイズが小さく、隣接画素間の類似性が低い場合は、表４に示すように、動きベクトル精度を高い固定値とする。
【００５１】
表６および表７は、画像のプロファイルによって動きベクトル精度テーブルを選択する際、選択肢となる動きベクトル精度テーブルの例を示している。プロファイルは動画像の使用用途によって複数の種類が用意されている。例えばＨ．２６４／ＡＶＣでは、リアルタイム処理や双方向通信を想定したベースラインプロファイル、放送や蓄積メディアを想定したメインプロファイル、および、ストリーミングを想定した拡張プロファイルの３つのプロファイルがある。表６はそのうち、放送や蓄積メディアを想定したプロファイルの場合、表７はリアルタイム処理や双方向通信を想定したプロファイルの場合にそれぞれ選択される動きベクトル精度テーブルをそれぞれ示す。
【００５２】
【表６】
0004401341.tif 000007
【００５３】
【表７】
0004401341.tif 000008
【００５４】
処理にリアルタイム性が要求される場合、動きベクトルを算出するために使用できるハードウェア量や処理時間等、リソースに対するコストが大きく制限される。従って、リアルタイム性を要求されない表６の場合と比較し、表７では全体的に動きベクトル精度を低く抑えることにより、符号化の効率性を重視する。
【００５５】
表８および表９は、フレームタイプまたはスライスタイプによって動きベクトル精度テーブルを選択する際、選択肢となる動きベクトル精度テーブルの例を示している。表８はＰフレームまたはＰスライスの場合、表９はＢフレームまたはＢスライスの場合にそれぞれ選択される動きベクトル精度テーブルである。
【００５６】
【表８】
0004401341.tif 000009
【００５７】
【表９】
0004401341.tif 000010
【００５８】
Ｂフレームは過去と未来のフレームを参照画像とするため、過去のフレームのみを参照画像とするＰフレームに比べ、動きベクトルの数が２倍になる。従ってＢフレームはＰフレームより動きベクトル符号の符号量が多くなる。ＢスライスとＰスライスの関係も同様である。そこでＢフレームまたはＢスライスの場合は、表９に示すように、量子化スケールが大きいとき動きベクトル精度を低くすることにより、動きベクトル符号の符号量をより少なくする。ＰフレームまたはＰスライスの場合は表８に示すように動きベクトル精度を高い固定値とする。
【００５９】
表１０から表１２は、マクロブロックのサイズによって動きベクトル精度テーブルを選択する際、選択肢となる動きベクトル精度テーブルの例を示している。この例では、マクロブロックのサイズを大、中、小の３つの場合に分けている。例えば、１６×１６画素のマクロブロックを大、１６×８画素、８×１６画素、および８×８画素のマクロブロックを中、８×４画素、４×８画素、および４×４画素のマクロブロックを小とする。表１０、表１１、および表１２は、マクロブロックのサイズが大の場合、中の場合、小の場合にそれぞれ選択される動きベクトル精度テーブルである。マクロブロックのサイズの場合分けは２つ、または４つ以上でもよい。
【００６０】
【表１０】
0004401341.tif 000011
【００６１】
【表１１】
0004401341.tif 000012
【００６２】
【表１２】
0004401341.tif 000013
【００６３】
動きベクトルはマクロブロックごとに取得される。そのためマクロブロックのサイズが小さいほど、フレーム全体での動きベクトルの数が多くなる。例えば４×４画素のマクロブロックの場合は、１６×１６画素のマクロブロックの場合と比較して１６倍の動きベクトルが生成され、動きベクトル符号の符号量が多くなる。したがってマクロブロックのサイズが小さい場合ほど、量子化スケールが大きいときには動きベクトル精度を低くして、動きベクトル符号の符号量を少なくする。上記の例では、マクロブロックのサイズが大の場合に動きベクトル精度を高い固定値とするのに対し（表１０）、マクロブロックのサイズが中、小の場合は、量子化スケールが大きいとき、動きベクトル精度をそれぞれ中間値（表１１）、および低い値（表１２）とする。
【００６４】
以上述べた本実施の形態によれば、動きベクトル精度を量子化スケールに応じてマクロブロック単位で調整するため、動きベクトル符号を無駄に高精度で取得することがなくなり、動きベクトル符号の符号量を少なくすることができる。結果として画質への影響を少なく、全体的な符合量を少なくすることができる。また画像や符号化処理の特徴によって、または入力ストリーム内で、動きベクトル精度テーブルを定義することにより、動きベクトル精度の調整を行うかどうか、動きベクトル精度をどの値とするか、といった調整形態を選択する。この調整形態は入力ストリーム単位より詳細な単位でも切り替えることができる。結果として、本実施の適用の程度を臨機応変に調整し、効率的に上述の効果を得ることができる。
【００６５】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素などの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００６６】
例えば本実施の形態では、あるマクロブロックに対する差分画像値の符号化の結果調整された量子化スケールを、次のマクロブロックに対する動きベクトル探索の精度に反映させた。これに対し、調整後の量子化スケールを動きベクトル精度に反映させて、同じマクロブロックの動きベクトル探索をやり直すようにしてもよい。これにより、量子化スケールに応じた動きベクトル精度調整を、より厳密に行うことができる。
【００６７】
さらに、符号量によって量子化スケールを調整せず、入力ストリームに対して量子化スケールがあらかじめ定められている場合は、その量子化スケールの情報を入力ストリームやその他の記録媒体から取得し、その大きさに基づき、本実施の形態と同様の動きベクトル精度テーブルを参照してよい。この場合も、本実施の形態と同様の効果を得ることができる。
【図面の簡単な説明】
【００６８】
【図１】本実施の形態における符号化装置の構成を示す図である。
【図２】図１の動き補償部の構成を示す図である。
【図３】量子化スケールの大きさと動きベクトル精度の変化による符号量の変化を説明する図である。
【符号の説明】
【００６９】
２０  ＤＣＴ部、  ３０  量子化部、  ４０  スケール決定部、  ６０  動き補償部、  ６２  動きベクトル検出部、  ６５  メモリ、  ６６  ＳＲＡＭ、  ６７  精度決定部、  ６８  動き補償予測部、  ８０  フレームメモリ、  ９０  可変長符号化部、  ９２  多重化部、  １００  符号化装置。
【図１】
0004401341.tif 000014
【図２】
0004401341.tif 000015
【図３】
0004401341.tif 000016