JP4779207B2 - 動きベクトル変換装置及び動きベクトル変換方法 - Google Patents
動きベクトル変換装置及び動きベクトル変換方法 Download PDFInfo
- Publication number
- JP4779207B2 JP4779207B2 JP2001009301A JP2001009301A JP4779207B2 JP 4779207 B2 JP4779207 B2 JP 4779207B2 JP 2001009301 A JP2001009301 A JP 2001009301A JP 2001009301 A JP2001009301 A JP 2001009301A JP 4779207 B2 JP4779207 B2 JP 4779207B2
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- conversion
- image
- horizontal
- mpeg4
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Television Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【産業上の利用分野】
本発明は、動きベクトル変換装置及び動きベクトル変換方法に関し、特に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルTV、インターネット等のネットワークを介して受信する際、或いは、光ディスク、磁気ディスク、フラッシュメモリ等の記憶媒体上で処理する際に用いられる動きベクトル変換装置及び動きベクトル変換方法に関する。
【0002】
【従来の技術】
近年、画像情報をディジタルデータとして取り扱う際、画像情報特有の冗長性を利用し、効率の高い情報の伝送及び蓄積を目的とした、例えば離散コサイン変換(Discrete Cosine Transform、以下、DCTと記す。)等の直交変換と動き補償により圧縮する方式に準拠した装置が、放送局などの情報配信及び一般家庭における情報受信の双方において普及しつつある。
【0003】
特に、MPEG(Moving Picture Experts Group)によって標準化されているMPEG2は、汎用画像符号化方式としてISO/IEC 13818−2に定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅している。そのためMPEG2は、プロフェッショナル用途からコンシューマ用途まで、広範なアプリケーションに今後とも用いられるものと予想される。
【0004】
このようなMPEG2圧縮方式を用いることにより、例えば720×480画素をもつ標準解像度の飛び越し走査画像であれば4〜8Mbpsの符号量(以下、ビットレートと記す。)を、1920×1088画素をもつ高解像度の飛び越し走査画像であれば18〜22Mbpsのビットレートを割り当てることで、高い圧縮率と良好な画質の実現が可能である。
【0005】
MPEG2は、主として放送用に適合する高画質符号化を対象としていたが、MPEG1よりも低いビットレート、つまり、より高い圧縮率の符号化方式には対応していなかった。ところが携帯端末の普及とともに、今後より高圧縮率の符号化方式のニーズが高まると予想されたことからMPEG4符号化方式の標準化が行われ、画像符号化方式に関しては、1998年12月にISO/IEC 14496−2として国際標準に承認されている。
【0006】
ところで、ディジタル放送に対応するように一旦符号化されたMPEG2画像圧縮情報(以下、MPEG2ビットストリームと記す。)を携帯端末等で処理するためには、より低いビットレートのMPEG4画像圧縮情報(以下、MPEG4ビットストリームと記す。)に変換することが要求される。
【0007】
MPEG2ビットストリームをMPEG4ビットストリームに変換する従来の画像情報変換装置として、例えば、図18に示す画像情報変換装置100があげられる。画像情報変換装置100は、MPEG2画像情報復号化部101と、解像度/フレームレート変換部102と、MPEG4画像情報符号化部103とを少なくとも備えている。画像情報変換装置100に入力されたMPEG2ビットストリームは、MPEG2画像情報復号化部101により復号される。
【0008】
ここで、画像情報変換装置100に入力されるMPEG2ビットストリームは、水平方向及び垂直方向に8成分(以下、8×8という。他も同様とする。)の離散コサイン変換(Discrete Cosine Transformation; DCT)係数からなるブロックを単位として構成される。MPEG2画像情報復号化部101は、8×8DCT係数のすべてを用いて復号処理を行うことができるが、水平方向に低域4成分及び垂直方向に8成分(以下、4×8という。)のDCT係数や、水平方向及び垂直方向ともに低域4成分(以下、4×4という。)のDCT係数のみを用いた復号処理を行うこともできる。
【0009】
なお、このような4×8DCT係数を用いた復号処理を4×8ダウンデコードと記し、4×4DCT係数を用いた復号処理を4×4ダウンデコードと記す。MPEG2画像情報復号化部101は、4×8ダウンデコードや4×4ダウンデコードによる処理を採用することにより、ダウンデコードによる画質劣化を最小限に抑えながら、演算量とビデオメモリ容量を削減するとともに、後段のダウンサンプリング処理を簡略化することができる。
【0010】
MPEG2画像情報復号化部101により復号された画像は、解像度/フレームレート変換部102へ伝送され、任意の異なる解像度及びフレームレートを持つ画像に変換され、さらに、MPEG4画像情報符号化部103により、MPEG4ビットストリームへ符号化される。
【0011】
従来の画像情報変換装置100は、MPEG4画像符号化部103において画像信号を符号化する際、動きベクトルを検出する演算処理量が全演算処理量の約60〜70パーセントを占めるため、画像のリアルタイム処理が困難となり時間遅延が発生する場合があった。また、処理時間の遅延を解消しようとすると処理回路の部品点数が増加し、装置自体の構成が大規模になる等の問題点があった。
【0012】
しかし、上述の問題点は、MPEG画像符号化回路103における演算処理量を減らすことで解消されている。図19に示す画像情報変換装置200では、MPEG2ビットストリームの動きベクトルをMPEG4ビットストリームの動きベクトルに変換することにより、処理の高速化が図られている。すなわち、上述した画像情報変換装置100のMPEG4画像情報符号化部103では、動きベクトルの検出に大きな演算処理量を要していたが、画像情報変換装置200のMPEG4画像情報符号化部204では、MPEG4の符号化の際に動きベクトルを検出する必要がないので、演算量が低減されて処理が高速化されている。
【0013】
画像情報変換装置200は、図19に示すように、入力されたMPEG2ビットストリームを復号するとともに、MPEG2の動きベクトル、画像サイズ等のパラメータを取り出すMPEG2画像情報復号化部201と、MPEG2画像情報復号化部201で取り出されたパラメータ及び外部から入力された画像サイズ調整フラグに基づいて、MPEG2画像情報復号化部201で復号された画像の解像度及びフレームレートを変換する解像度/フレームレート変換部202とを有している。
【0014】
解像度/フレームレート変換部202は、MPEG2画像情報復号化部201で取り出されたMPEG2動きベクトル、画像サイズ等のパラメータに基づいてMPEG2画像情報復号化部201で復号された画像の解像度及びフレームレートを変換する解像度フレーム変換部205と、外部から入力された画像サイズ調整フラグに基づいて、解像度フレーム変換部205にて解像度及びフレームレートを変換された画像に対して画素の補填又は除去を行う画素補填/除去部206とを有している。
【0015】
また、画像情報変換装置200は、MPEG2画像情報復号化部201から送られたMPEG2の動きベクトルをMPEG4の動きベクトルに変換する動きベクトル変換部203と、解像度/フレームレート変換部202にて解像度及びフレームレートを変換された画像を動きベクトル変換部203から送られたMPEG4動きベクトルに基づいてMPEG4ビットストリームに符号化して出力するMPEG4画像情報符号化部204とを有している。
【0016】
動きベクトル変換部203は、解像度/フレームレート変換部202における解像度変換の際に、MPEG2画像情報復号化部201から送られたMPEG2動きベクトル、画像サイズ等のパラメータや外部から供給された画像サイズ調整フラグに基づいて、MPEG4動きベクトルを生成する。
【0017】
MPEG4ビットストリームにおける被写体の動きベクトルの水平成分は、解像度変換前の動きベクトルの水平成分と画像の横方向の解像度変換レートによって求めることができる。同様にして、解像度変換後の垂直成分は、解像度変換前の動きベクトルの垂直成分と画像の縦方向の解像度変換レートによって求められる。このように、変換後のMPEG4ビットストリームにおける動きベクトルと解像度変換前のMPEG2ビットストリームにおける動きベクトルとの間には、相関関係がある。
【0018】
したがって、画像情報変換装置200は、このような相関関係に基づいて、MPEG2のマクロブロック動きベクトルやマクロブロックタイプ等のパラメータを利用することで、入力されたMPEG2ビットストリームをMPEG4ビットストリームの動きベクトルへ変換している。
【0019】
これら解像度変換の前後の動きベクトルの相関について説明する。解像度/フレームレート変換部202が画像の解像度を縦・横ともに1/2にするダウンサンプリング処理について説明する。縦方向のダウンサンプリング処理は、入力した飛び越し走査画像の第一フィールド(top field:トップフィールド)、第二フィールド(bottom field:ボトムフィールド)を抽出し、順次走査画像に変換する。一方、横方向のダウンサンプリング処理は、ダウンサンプリングフィルタを用いて、1/2の解像度に変換する。また、低ビットレート化を実現するために、解像度変換による圧縮だけではなく、画像内符号化画像(以下、Iピクチャと記す。)及び画像間予測符号化画像(以下、Pピクチャと記す。)のみで構成される第一フィールド又は第二フィールドを抜き出すことによって、時間軸方向のフレームレートを低下させている。
【0020】
解像度・フレーム変換を行った画像は、MPEG4画像符号化方式で符号化できるように、外部から入力される画像サイズ調整フラグに基づいて画素補填又は画素除去が施され、縦・横の画素数が16の倍数とされる。
【0021】
次に、解像度/フレームレート変換部202が画像サイズ調整フラグを用いて画像の解像度を変更する処理について説明する。
【0022】
MPEG画像復号化部201から解像度/フレームレート変換部202へと送出される画像の解像度がm画素×n画素であるとする。m、nは、ともに16の倍数である。したがって、縦横両方向に対して1/2にダウンサンプリングされたm/2画素画像及びn/2画素画像は、16の整数倍であるか、16で割ったときに8画素の余りを生じるか、8画素の不足を生じる画素数となっている。
【0023】
m/2画素画像及びn/2画素画像が16の倍数の場合、MPEG4符号化方式に適応しているため画像処理は行わない。解像度・フレーム変換部202は、縦横の画素数がm/2及びn/2である画像をそのまま出力する。
【0024】
m/2画素画像及びn/2画素画像が16の倍数でない場合は、MPEG4符号化方式に適用していないため、画像サイズ調整フラグに基づいた画像処理が必要となる。画像サイズ調整フラグは、画素の補填、又は画素の除去を行うためのフラグである。
【0025】
解像度/フレームレート変換部202は、m/2画素画像及びn/2画素画像が16で割って8画素が余る画素数である場合、余った8画素分の画像を除去する。すなわち、解像度/フレームレート変換部202からの出力画像は、(m/2−8)画素又は(n/2−8)画素となる。
【0026】
一方、解像度/フレームレート変換部202は、m/2画素画像及びn/2が画素画像16で割って8画素不足する場合、8画素を補填する。すなわち、解像度/フレームレート変換部202は、8画素分の画像を新たに作成した8画素、もとの画像から複製した8画素、又は画像に適した8画素で補填して、行又は列の先頭、或いは、行又は列の後部から付け加える。すなわち、解像度/フレームレート変換部202からの出力画像は、(m/2+8)画素又は(n/2+8)画素となる。
【0027】
結果として、解像度/フレームレート変換部202は、変換後の画像解像度の縦と横の画素数が16の倍数であるMPEG4符号化方式に適した画像サイズを有した画像を出力している。
【0028】
解像度変換前と変換後のベクトルの相関が大きいため、動きベクトル変換部203において、変換後の8×8ブロックの動きベクトルは、変換前の16×16マクロブロックの動きベクトルより求めることができる。更に、動きベクトル変換部203では、MPEG4画像符号化方式により符号化するのに用いる動きベクトルのうち、4つの8×8動きベクトルと16×16動きベクトルが生成されてる。
【0029】
次いで、動きベクトル変換部203がMPEG2復号化方式により復号された画像における動きベクトルをMPEG4符号化方式により符号化する処理を図20に示す動きベクトル変換部203の詳細な構造図を用いて説明する。
【0030】
動きベクトル変換部203は、具体的には、入力されたMPEG2ビットストリーム内の動きベクトルをMPEG2ビットストリームにおける16×16動きベクトルからMPEG4ビットストリームにおける8×8動きベクトルへと変換する動きベクトル変換部207と、動きベクトル変換部207において変換された動きベクトルを画像サイズ調整フラグに基づいて調整する動きベクトル調整部208と、MPEG4ビットストリームにおける8×8動きベクトルからMPEG416×16動きベクトルへと変換する動きベクトル変換部209と、MPEG2イントラマクロブロックに対して動きベクトルを補正する補正部210とから構成されている。
【0031】
動きベクトル変換部207は、入力されたMPEG2のマクロブロックの動きベクトルとマクロブロックタイプを変換している。この変換動作が図21に示されている。飛び越し走査のMPEG2ビットストリームでは、一般的にフレーム構造が用いられてるため、ここではフレーム構造の場合の処理のみを説明する。
【0032】
ステップS100において、動きベクトル変換部207は、MPEG2画像情報復号化部201から入力した動きベクトルがイントラ(画像内)マクロブロックであるか、インター(画像間)スキップマクロブロックであるかを判別する。
【0033】
動きベクトル変換部207は、入力した動きベクトルがイントラマクロブロックであった場合、ステップS101において、8×8マクロブロックの動きベクトルを0に設定し、更に、イントラであることを示すイントラモードフラグを設ける。
【0034】
一方、入力した動きベクトルがインタースキップマクロブロックであった場合、ステップS102において、動きベクトルを0に設定し、MPEG4の8×8動きベクトルへ変換する。
【0035】
ステップS100において、入力した動きベクトルがインターマクロブロックであった場合、動きベクトル変換部207は、ステップS103において、動き補償された動きベクトルを含む画像がフレーム予測に基づくものであるか、フィールド予測に基づくものであるかを判別する。
【0036】
動きベクトル変換部207は、入力した動きベクトルを含む画像がフレーム予測に基づくものであった場合、ステップS103において、フレーム予測に適した動きベクトルへと変換する。
【0037】
一方、入力した動きベクトルを含む画像がフィールド予測であった場合、動きベクトル変換部207は、ステップS105において、更に、第一フィールド予測であるか、第二フィールド予測であるかを判別する。
【0038】
入力した動きベクトルを含む画像が第一フィールド予測に基づく場合、動きベクトル変換部207は、ステップS106において、第一フィールド予測に適した動きベクトルへ変換する。
【0039】
一方、入力した動きベクトルを含む画像が第二フィールド予測に基づく場合、動きベクトル変換部207は、ステップS107において、第二フィールド予測に適した動きベクトルへと変換する。
【0040】
ここで、入力した動きベクトルを含む画像がフレーム予測に基づく場合の変換処理であるステップS104における動きベクトル変換の概念を図22に示す。
【0041】
変換後の動きベクトルの水平成分は、変換前の動きベクトルの水平成分と画像の横方向の解像度変換レートから求められ、垂直成分は、変換前の動きベクトルの垂直成分と画像の縦方向の解像度変換レートから求められる。すなわち、横方向の解像度及び縦方向の解像度を1/2に変換すると変換後の動きベクトルの水平成分及び垂直成分も変換前の1/2になる。
【0042】
例えば、図22(a)及び図22(b)に示すように、変換前に(8,12)であった動きベクトルMVは、変換された後、(4,6)成分の動きベクトルMV’となる。ただし、この場合は、整数画素の中間値(半画素)の間隔を1としている。解像度変換前の動きベクトルを示した図22(a)では、整数画素の位置が黒丸で示され、半画素の位置がひし形で示されている。また、解像度変換後の動きベクトルを示した図22(b)では、半画素の位置は、白丸で示されている。
【0043】
変換前の整数画素の位置に示されている動きベクトルは、変換後は、整数画素、又は半画素の位置に示される。ところが、変換前に半画素の位置に示されていた動きベクトルは、変換した後は、参照する画素がなくなる。そこで、変換前の動きベクトルが半画素の位置を示している場合、変換後の動きベクトルも予測画像の半画素の位置を示すようにしている。
【0044】
復号された画像信号には、量子化による歪みが含まれているため、そのまま予測画像として使用すると予測効率が低下し、画質劣化を引き起こす場合がある。これを低減するために、低減通過フィルタに相当する参照画面での各画素間を1:1で直線補間した半画素精度を選択することで画質劣化を回避している。従来の画像情報変換装置100におけるMPEG4画像符号化方式による符号化においても、予測効率を向上し画質劣化を防ぐために、MPEG2で動きベクトルが半画素の位置に示されている場合は、MPEG4のフォーマットに変換した際も半画素の位置に示すように変換している。
【0045】
このときの変換前と変換後の動きベクトルの対応関係が図23に示されている。図23において、[MV/2]は、MVを2で割った整数部を示している。すなわち、返還前の動きベクトルMVを4で割った余りが1のときは、変換後の動きベクトルの半画素位置に示し、それ以外の場合は、整数画素位置に示している。
【0046】
次に、入力した動きベクトルを含む画像がフィールド予測に基づく場合の変換処理であるステップS106及びステップS107における動きベクトル変換について示す。まず、入力した動きベクトルを含む画像が第一フィールド予測に基づく場合における動きベクトル変換の概念について示す。動きベクトルの水平成分は、動きベクトルを含む画像がフレーム予測に基づく場合と同様の処理で行われる。動きベクトルの垂直成分は、第一フィールドを抽出することにより、解像度を1/2に変換することが可能である。また、第一フィールド予測を行っているため、変換前の動きベクトルは、そのまま変換後の動きベクトルになる。
【0047】
これに対し、入力した動きベクトルを含む画像が第二フィールド予測である場合の動きベクトル変換を図24に示す。動きベクトルは、解像度変換されると、第一フィールドのみが抽出されるため、変換後の動きベクトルは、第一フィールドの画素値が参照画像として用いられる。そのため、MPEG2で予測画像として用いた第二フィールドの画素値に基づく動きベクトルを解像度変換後の第一フィールドの画素値に変換するように動きベクトルの時空間補正が行われている。
【0048】
図24には、第二フィールドから予測された動きベクトルMVbottomから近似的に第一フィールドから予測された動きベクトルMVtopに変換するための空間的な補正を行う手法が模式的に示されている。すなわち、第二フィールド予測された動きベクトルMVbottomの場合、動きベクトルMVbottomの垂直成分に1を加える。第二フィールド予測で求めた動きベクトルMVbottomの垂直成分に1を足すことで1行繰り上げられ、第二フィールドが第一フィールドと同様の空間位置に達する。その結果、第二フィールド予測で求めた動きベクトルMVbottomは、空間上において、第一フィールド予測で求めた動きベクトルMVtopに相当する位置に近似される。
【0049】
空間補正が施された後、第一フィールドに相当する空間位置に近似された第二フィールド予測動きベクトルMVbottomの垂直成分、すなわち、近似第一フィールド予測を予測動きベクトルとしたときの垂直成分MVtop,vは、以下に示す式(1)で表される。
【0050】
【数1】
【0051】
また、飛び越し走査のMPEG2画像圧縮情報には第一フィールドと第二フィールドとの間に時間ずれがあるため、第二フィールドから近似された第一フィールドと実際の第一フィールドと間の時間ずれを補正する必要がある。第一フィールドと第二フィールドの時間的位置関係が図25に示されている。
【0052】
図25において、第一フィールドと第二フィールドの間隔を1とし、aをIピクチャの第二フィールドとPピクチャの第一フィールドとの間隔であるとすると、aは、1、3、5、7・・・のような奇数になる。なお、aが1の場合は、画像の構成がIPPP・・・の場合である。時間補正を施した後の動きベクトルMV’の垂直成分を、式(2)に示す。
【0053】
【数2】
【0054】
式(1)を式(2)に代入することによって、入力した動きベクトルを含む画像が第二フィールド予測である場合、第一フィールドに近似するための時間空間補正を施した後の動きベクトルの垂直成分MVv’は、以下に示される式(3)として表される。一方、変換後の動きベクトルの水平成分は、変換前の動きベクトルに(a+1)/aをかけて時間補正を行った後、図23に示した対応関係に基づいて求められる。
【0055】
【数3】
【0056】
MPEG2で予測画像として用いた第二フィールドの画素値を解像度変換後の第一フィールドの画素値に変換するための時空間補正は、動きベクトルの垂直成分に対して時間的補正を行った後、空間的な補正を行う方法でもよい。その場合、変換後の動きベクトルMVv’の垂直成分を式(4)に示す。なお、水平成分は、空間補正を行ってから時間補正を行う場合(空間・時間補正)と時間補正を行ってから空間補正を行う場合(時間・空間補正)とでは、同様の値となる。
【0057】
【数4】
【0058】
空間・時間補正を行った場合と、時間・空間補正を行った場合の変換後の動きベクトルの垂直成分の差、すなわち、式(3)と式(4)との差は、1/aとなっている。したがって、aの値に応じて変換後の動きベクトルの垂直成分の差による影響が異なる。そのため、aが1の場合と、3、5、7・・・の場合とで補正方法を変えている。
【0059】
a=1の場合について示す。式(3)にa=1を代入すると、変換後の動きベクトルの垂直成分MVv’は、以下に示す式(5)として表され、式(4)にa=1を代入すると、変換後の動きベクトルの垂直成分MVv’は、以下に示す式(6)として表される。
【0060】
【数5】
【0061】
その結果、変換前の動きベクトルMVbottomに、0、1、2・・・を代入すると、式(5)による値は2、4、6・・・のような偶数になる。すなわち、空間・時間補正を行うと、変換前の動きベクトルは、整数画素の位置に示しても、半画素の位置に示しても、変換後は、全て整数画素の位置に示されることになる。
【0062】
また、式(6)による値は、1、3、5のような奇数になる。すなわち、時間・空間補正を行うと、変換前の動きベクトルは、整数画素の位置に示しても、半画素の位置に示しても、変換後は、全て半画素の位置に示されることになる。
【0063】
したがって、変換前に整数画素の位置を示す動きベクトルが変換後も整数画素の位置を示すようにするためには、空間・時間補正が用いられ、変換前に半画素の位置を示す動きベクトルが変換後も半画素の位置を示すようにするためには、時間・空間補正が用いられている。
【0064】
このように、変換前の動きベクトルに対して、空間補正及び時間補正を交互に施す、又は、これらの補正の両方を施している。
【0065】
動きベクトル変換部207において、以上の動きベクトル変換処理が終了すると、動きベクトル変換部207は、補正前のMPEG4に基づく8×8動きベクトルを動きベクトル調整部208に対して送出する。
【0066】
動きベクトル調整部208は、動きベクトル変換部207からのMPEG4の8×8動きベクトルを外部から入力された画像サイズ調整フラグに基づいて画像サイズに適した動きベクトルに調整し、出力している。このとき、動きベクトル調整部208が画像サイズ調整フラグに基づいて、画像サイズに適した動きベクトルを出力する処理を図26に示す。
【0067】
動きベクトル調整部208は、ステップS110において、m画素×n画素で入力される画像サイズに対するm/ 2画素画像及びn/ 2画素画像が16の倍数であるか否かを判別する。
【0068】
動きベクトル調整部208は、m/2画素画像及びn/2画素画像がともに16の倍数であった場合、動きベクトル変換部203からのMPEG4の8×8動きベクトルを処理することなくそのまま出力している。
【0069】
一方、動きベクトル調整部208は、m画素×n画素で入力される画像に対するm/2画素画像、n/2画素画像のいずれかが16の倍数でない場合、ステップS111において、外部から入力された画像サイズ調整フラグに応じて、画素を除去するか否かを判別する。画像を除去する場合、除去された8画素分の8×8動きベクトルを出力しないで、他の8×8動きベクトルを出力している。
【0070】
画素を除去しない場合、動きベクトル調整部208は、画素を補填する。動きベクトル調整部208は、画素補填の場合、補填された8画素の8×8動きベクトルをゼロとして設定し、受け取った他の8×8動きベクトルと併せて送出している。
【0071】
動きベクトル変換部203がMPEG2復号化方式により復号された画像の動きベクトルをMPEG4符号化方式により符号化する処理を図27に示す構成図を用いて説明する。図27に示す動きベクトル変換部203は、図20に示された動きベクトル変換部203に、マクロブロック情報バッファ211が加えられた構造である。
【0072】
動きベクトル変換部209は、マクロブロックを構成する4つのブロックのうち、イントラでないマクロブロックから変換されたブロックの動きベクトルの和をイントラでないマクロブロックから変換されたブロックの数で割った平均を16×16動きベクトルとして送出する。
【0073】
第1の方法として、MPEG4の8×8動きベクトルをMPEG4の16×16動きベクトルへ変換する動きベクトル変換部209は、MPEG2の16×16動きベクトルをMPEG4の8×8動きベクトルへ変換する動きベクトル変換部207において変換されたMPEG4の8×8動きベクトルのうち、最も符号化効率が高いと考えられるマクロブロックより生成された動きベクトルを選択し、MPEG4の16×16動きベクトルとして出力している。符号化効率の判定は、マクロブロック情報バッファ211に格納された画像情報変換装置200に入力されるMPEG2ビットストリームにおけるマクロブロックごとの情報に基づいて行われている。すなわち、第1の方法は、4つのマクロブロックのうち、最も非ゼロDCT(離散コサイン変換)係数の少ないマクロブロックを符号化効率が高いとする方法である。
【0074】
第2の方法は、4つのマクロブロックのうち、輝度成分のDCT係数に割り当てられたビット数が最も少ないマクロブロックを符号化効率が高いとする方法である。
【0075】
第3の方法は、4つのマクロブロックのうち、DCT係数に割り当てられたビット数が最も少ないマクロブロックを符号化効率が高いとする方法である。 第4の方法は、4つのマクロブロックのうち、動きベクトル等を含めたマクロブロックに割り当てられた全ビット数が最も少ないマクロブロックを符号化効率が高いとする方法である。
【0076】
第5の方法は、4つのマクロブロックのうち、割り当てられた量子化スケールが最も小さいマクロブロックを符号化効率が高いとする方法である。
【0077】
第6の方法は、4つのマクロブロックのうち、コンプレクシティXとして定められる変数が最も低いマクロブロックを符号化効率が高いとする方法である。コンプレクシティとは、各マクロブロックに割り当てられた量子化スケールQ、及びビット数Bを用いて以下に示す式(7)として計算される変数である。ここで、ビット数Bは、マクロブロック全体に割り当てられたビット数でもよいし、DCT係数に割り当てられたビット数でもよいし、輝度成分に割り当てられたDCT係数に割り当てられたビット数でもよい。
【0078】
【数6】
【0079】
図27に示された動きベクトル変換部203では、第2の方法を採用して、動きベクトル変換部209においては、動きベクトル変換部207において生成された当該マクロブロックに対するMPEG4の8×8動きベクトルのうち、最も重み付けが高いと考えられるマクロブロックより生成された動きベクトルを2回重複して数え、合計5つの8×8動きベクトルのうち、中間の長さをもつ動きベクトルを最も符号化効率が高い動きベクトルとして選択し、MPEG4の16×16動きベクトルとして出力している。ここで、動きベクトルの長さの比較は、水平方向、垂直方向のそれぞれの長さの2乗根の和を用いている。
【0080】
重み付け判定は、マクロブロック情報バッファ211に格納された画像情報変換装置200に入力されたMPEG2ビットストリームにおけるマクロブロックごとの情報に基づいて行う。
【0081】
すなわち、第1の方法では、4つのマクロブロックのうち、非ゼロDCT係数が最も少ないマクロブロックを重み付けが高いとしている。
【0082】
第2の方法では、4つのマクロブロックのうち、輝度成分のDCT係数に割り当てられたビット数が最も少ないマクロブロックを重み付けが高いとしている。
【0083】
第3の方法では、4つのマクロブロックのうち、DCT係数に割り当てられたビット数が最も少ないマクロブロックを重み付けが高いとしている。
【0084】
第4の方法は、4つのマクロブロックのうち、動きベクトル等を含めたマクロブロックに割り当てられた全ビット数が最も少ないマクロブロックを重み付けが高いとしている。
【0085】
第5の方法は、4つのマクロブロックのうち、割り当てられた量子化スケールが最も小さいマクロブロックを重み付けが高いとしている。
【0086】
第6の方法は、4つのマクロブロックのうち、上述のコンプレクシティXが最も低いマクロブロックを重み付けが高いとしている。
【0087】
一方、画像サイズ調整フラグによる動きベクトル調整部208より出力された画像サイズに適した8×8動きベクトルは、MPEG2のイントラマクロブロックに対する補正部210に入力される。補正部210において、MPEG2ビットストリームにおけるイントラマクロブロックから変換されたの8×8動きベクトルは、動きベクトル変換部209によって変換された16×16動きベクトルに置き換え、補正される。補正後の8×8動きベクトルと、動きベクトル変換部209で求めた16×16動きベクトルとが合わされて、MPEG4の動きベクトルとして送出されている。
【0088】
図28に示すように、MPEG2のイントラマクロブロックに対する補正部210は、そのブロックがイントラマクロブロックに対応する場合に立つイントラモードフラグの状態に応じて、スイッチ221を切り換えて補正を行う。すなわち、補正部210は、イントラモードフラグが立っている場合には、スイッチ221をAに倒して処理を補正処理部221に進める。補正処理部221は、イントラマクロブロックに対応する0に設定されたMPEG4の8×8ブロックの動きベクトルを、動きベクトル変換部209で変換されたMPEG4の16×16動きベクトルに置き換える。
【0089】
なお、このような置き換え処理の代わりに、補正処理部221は、イントラマクロブロックに対応するMPEG4の8×8ブロックの動きベクトルを、そのイントラマクロブロックの周辺に存在するインターマクロブロックの動きベクトルから変換された動きベクトルに置き換えることもできる。
【0090】
また、補正処理部221は、イントラマクロブロックに対応するMPEG4の8×8ブロックの動きベクトルを、そのイントラマクロブロックに一番近いインターマクロブロックの動きベクトルから変換された動きベクトルに置き換えることもできる。
【0091】
なお、4つのブロックともイントラマクロブロックから変換された場合は、4つともに動きベクトルが0となり、動きベクトル変換部209によって求められる16×16動きベクトルも0となるため、MPEG4画像符号化に用いる動きベクトルは0となり、マクロブロックタイプがイントラモードとなる。また、イントラモードフラグが立たない場合、すなわち、MPEG2ではイントラマクロブロックがない場合、スイッチがB方向に倒れ、入力された8×8動きベクトルがそのまま出力されている。
【0092】
図29には、MPEG4の8×8動きベクトル及びMPEG4の16×16動きベクトルを格納する動きベクトルバッファ223と、画像内符号化画像のVOP(Video Object Plane)(以下、I−VOPと記す。)から画像間予測符号化画像(以下、Pピクチャと記す。)(以下、P−VOPと記す。)へと変換するI/P変換部224とを備えた補正部210の一例が示されている。
【0093】
I/P変換部224は、イントラマクロブロックに対する動きベクトルを補正する補正部210において生成された当該マクロブロックに対するMPEG4の8×8動きベクトル及びMPEG4の16×16動きベクトルを入力し、指定されたMPEG4における8×8動きベクトル及びMPEG4の16×16動きベクトルを送出する。送出する動きベクトルの指定は、I−VOPからP−VOPへと変換するきベクトル変換フラグの情報に基づいて行う。
【0094】
すなわち、MPEG2の変換フレームのフレームタイプがイントラフレームモードであり、変換後のMPEG4のVOPタイプがP−VOPであるとき、I−VOPからP−VOPへと変換する動きベクトル変換フラグが作動し、直前に入力されたMPEG4のP−VOPの動きベクトル情報が動きベクトル情報バッファ223に保存される。動きベクトル変換フラグが作動しないときは、入力された動きベクトルが直接出力される。
【0095】
MPEG2の16×16動きベクトル情報のないイントラフレームより変換するMPEG4動きベクトルの場合、直前のMPEG4のP−VOPフレームに該当するMPEG2の16×16動きベクトルから生成されたMPEG4の8×8動きベクトル及びMPEG4の16×16動きベクトルを出力とすることによって、MPEG4画像情報符号化部204における符号化効率の低減を最小にすることが可能である。
【0096】
MPEG4のI−VOPからP−VOPへとI/P変換部224は、変換フレームがMPEG2イントラフレームからMPEG4のP−VOPへ変換されるフレームの場合、動きベクトル情報バッファ223に保存された直前に変換されたP−VOPのVOP内における同座標値を有する当該ブロックの8×8動きベクトルを入力する。I/P変換部224は、入力された動きベクトル情報に基づいて、動きベクトルが0である場合の予測画素値と入力画像画素値との残差比較をブロック単位及びマクロブロック単位で行い、動きベクトル0の予測に基づいてする残差が直前のP−VOPの動きベクトルを用いた残差より少ない場合、8×8動きベクトル情報又は16×16動きベクトル情報を0に置き換えている。
【0097】
例示した従来の画像情報変換装置200では、上述のようにして、MPEG2のIピクチャからMPEG4のP−VOPへ変換する工程で、直前のMPEG4のP−VOPに使用された動きベクトル及び動きベクトルが0のときの予測残差の少ない動きベクトルをMPEG4の8×8動きベクトル及び16×16動きベクトルとすることによって、MPEG4のP−VOPの動きベクトルを生成し、画像情報変換装置の構成要素であるMPEG4画像符号化部204における符号化効率の低減を最小にしている。
【0098】
更に、MPEG4画像情報符号化部204は、動きベクトルの検出を行わず、変換された動きベクトルを用いて画像信号を符号化するのみである。この場合、結果として、MPEG4画像情報符号化部204では動きベクトル検出を行わないことになるため、MPEG4画像情報符号化部204における演算処理量を削減している。
【0099】
上述のように、画像情報変換装置200は、MPEG2ビットストリームの動きベクトルからMPEG4ビットストリームの動きベクトルへの変換を行うこと、或いは、動きベクトル以外にもMPEG2方式での復号に用いたパラメータ又はMPEG4形式への変換後のパラメータを採用することによって、MPEG4画像情報符号化部204における演算処理量を削減し、時間遅延を低減している。
【0100】
【発明が解決しようとする課題】
従来の画像情報変換装置200では、動きベクトル変換部209において、動きベクトル変換部207の出力となるMPEG4の8×8動きベクトルの平均値を算出している。画像情報変換装置200は、MPEG4における8×8動きベクトルの代表値を選択することで、MPEG4における16×16動きベクトルを生成している。
【0101】
しかしながら、従来の画像情報変換装置200では、MPEG2に基づく動きベクトルをMPEG4に基づく動きベクトルに変換する際、画素数(空間解像度)、SNR(画素値の量子化精度)、フレーム数等を拡大、縮小、増加、減少する等のスケーリング処理により、動きベクトルの精度に誤差が発生し、符号化効率が低下するという問題点があった。
【0102】
そこで本発明は、上述した従来の実情に鑑みてなされたものであり、符号化処理工程における符号化効率の低下を軽減する動きベクトル変換装置及び動きベクトル変換方法を提供することを目的とする。
【0103】
【課題を解決するための手段】
本発明は、水平方向及び垂直方向ともに16成分の離散コサイン変換係数からなるマクロブロックから構成される飛び越し走査の画像を符号化した入力画像圧縮情報を、水平方向及び垂直方向ともに16成分の離散コサイン変換係数からなるマクロブロックから構成され、飛び越し走査の画像に対して水平方向及び垂直方向ともに1/2のサイズを有する順次走査の画像を符号化した出力画像圧縮情報へと変換する際、動きベクトルを変換する動きベクトル変換装置において、入力画像圧縮情報のマクロブロックは、変換により水平方向及び垂直方向ともに8成分のブロックに変換され、入力画像圧縮情報のマクロブロックを動き補償する第1の動きベクトルに基づいて、出力画像圧縮情報のマクロブロックを構成し、水平方向及び垂直方向ともに8成分のブロック又は16成分のブロックを動き補償する第2の動きベクトルを生成する変換手段と、第2の動きベクトルを中心としたサーチウィンドウ内を検索し、最も予測誤差が少ない整数画素の動きベクトルを選択する動きベクトル整数画素検索手段と、動きベクトル整数画素検索手段で選択された動きベクトルの水平成分MVhの半画素値[MVh/2]、[MVh/2]+1、[MVh/2]−1、及び垂直成分MVvの、半画素値[MVv/2]、[MVv/2]+1、[MVv/2]−1からなる周辺9半画素を検索し、最も予測誤差が少ない動きベクトルを選択する動きベクトル半画素検索手段とを有し、変換手段は、動きベクトル整数画素検索手段で選択された水平方向及び垂直方向ともに8成分のブロックを動き補償する動きベクトルを受け取り、水平方向及び垂直方向ともに16成分のブロックを動き補償する動きベクトルを生成することにより、上述した課題を達成する。
【0104】
また、本発明は、水平方向及び垂直方向ともに16成分の離散コサイン変換係数からなるマクロブロックから構成される飛び越し走査の画像を符号化した入力画像圧縮情報を、水平方向及び垂直方向ともに16成分の離散コサイン変換係数からなるマクロブロックから構成され、飛び越し走査の画像に対して水平方向及び垂直方向ともに1/2のサイズを有する順次走査の画像を符号化した出力画像圧縮情報へと変換する際、動きベクトルを変換する動きベクトル変換方法において、入力画像圧縮情報のマクロブロックは、変換により水平方向及び垂直方向ともに8成分のブロックに変換され、入力画像圧縮情報のマクロブロックを動き補償する第1の動きベクトルに基づいて、出力画像圧縮情報のマクロブロックを構成し、水平方向及び垂直方向ともに8成分のブロック又は16成分のブロックを動き補償する第2の動きベクトルを生成する変換工程と、第2の動きベクトルを中心としたサーチウィンドウ内を検索し、最も予測誤差が少ない整数画素の動きベクトルを選択する動きベクトル整数画素検索工程と、動きベクトル整数画素検索工程で選択された動きベクトルの水平成分MVhの半画素値[MVh/2]、[MVh/2]+1、[MVh/2]−1、及び垂直成分MVvの、半画素値[MVv/2]、[MVv/2]+1、[MVv/2]−1からなる周辺9半画素を検索し、最も予測誤差が少ない動きベクトルを選択する動きベクトル半画素検索工程とを有し、変換工程では、動きベクトル整数画素検索工程で選択された水平方向及び垂直方向ともに8成分のブロックを動き補償する動きベクトルを受け取り、水平方向及び垂直方向ともに16成分のブロックを動き補償する動きベクトルを生成することにより、上述した課題を達成する。
【0105】
【発明の実施の形態】
以下、図面を参照し、本発明の実施例について説明する。本発明の実施の形態として示す画像情報変換装置は、MPEG(Moving Picture Experts Group)によって標準化されたMPEG2画像圧縮情報に基づく水平方向及び垂直方向ともに16成分の離散コサイン変換係数からなるマクロブロック(以下、16×16マクロブロックと記す。)を補正して、MPEG4画像圧縮情報に基づく水平方向及び垂直方向ともに8成分のブロック(以下、8×8ブロックと記す。)を生成し、更に、このMPEG2画像圧縮情報に基づく8×8ブロックをMPEG4画像圧縮情報に基づく16×16マクロブロックへと変換する画像情報変換装置であって、MPEG4の8×8ブロックのうち、最も符号化効率が高い8×8ブロックを選択し、これをMPEG4の16×16マクロブロックとする動きベクトル変換部を備え、更に、動きベクトル変換部において変換された動きベクトルを受け取り、当該動きベクトルの値に基づいて動きベクトルを再検索し、補正する動きベクトル検索補正部を備えることにより、動きベクトル変換時における動きベクトル精度の誤差を抑え、符号化効率の低下を防ぐものである。
【0106】
画像情報変換装置1は、図1に示すように、MPEG2画像情報復号化部11と、解像度/フレームレート変換部12と、動きベクトル変換部13と、動きベクトル補正部14と、MPEG4画像情報符号化部15とを備えている。更に、解像度/フレームレート変換部12は、解像度フレーム変換部16と、画像補填・除去部17とを有する。動きベクトル補正部14は、具体的には、図2に示すように、動きベクトル整数画素検索部18と、動きベクトル半画素検索部19とを有している。
【0107】
画像情報変換装置1において入力されたMPEG2ビットストリームとしての画像を図3(a)に、画像情報変換装置1から出力されるMPEG4ビットストリームとしての画像を図3(b)に示す。
【0108】
図3(a)に示す解像度変換前の現フレーム50の左下には、太陽51及び山52が表示されているものとする。また、現フレーム50の太陽51は、前フレームでは領域53に位置していたものとする。そして、図中のMVは、前フレームの太陽54の位置を始点として現フレーム50の太陽51に向かう動きベクトルを表している。なお、この動きベクトルMVは、フレームの水平成分及び垂直成分にそれぞれ分解することができる。
【0109】
一方、図3(b)に示す解像度変換後の現フレーム55に左下には、太陽56及び山57が表示されているとする。また、現フレーム55の太陽56は、前フレームでは図中の領域58に位置していたものとする。そして、図中の動きベクトルMV’は、前フレームの太陽59の位置を始点として現フレーム55の太陽56に向かう動きベクトルを表している。なお、この動きベクトルMV’も、フレームの水平成分及び垂直成分にそれぞれ分解することができる。
【0110】
解像度変換後の動きベクトルMV’は、解像度変換前の動きベクトルMVから解像度変換レートに基づいて求めることができる。すなわち、解像度変換後の動きベクトルMV’の水平成分は、解像度変換前の動きベクトルMVの水平成分MVhと、水平方向(横方向)の解像度変換レートとを用いることによって求められる。同様に解像度変換後の動きベクトルMV’の垂直成分は、解像度変換前の動きベクトルMVvの垂直成分と、垂直方向(縦方向)の解像度変換レートとを用いることによって求められる。このように、解像度変換前のMPEG2ビットストリームにおける動きベクトルと変換後のMPEG4ビットストリームにおける動きベクトルとの間には、相関関係がある。
【0111】
したがって、画像情報変換装置1は、このような相関関係に基づいて、MPEG2のマクロブロック動きベクトルやマクロブロックタイプ等のパラメータを利用することで、入力されたMPEG2ビットストリームをMPEG4ビットストリームの動きベクトルへ簡潔に変換している。
【0112】
続いて、画像情報変換装置1の各部における処理を具体的に説明する。MPEG2画像情報復号化部11は、MPEG2ビットストリームを入力し、復号化処理を施して解像度/フレームレート変換部12へと送出する。MPEG2画像情報復号化部11は、水平及び垂直方向成分に対して、入力されたMPEG2ビットストリームの8次のDCT(離散コサイン変換)係数の全てを用いた復号処理を行う。
【0113】
解像度/フレームレート変換部12は、MPEG2画像情報復号化部11からのMPEG2ビットストリームに解像度・フレームレート変換を施し、外部から入力された画像サイズ調整フラグに基づいて、MPEG4画像符号化に適した解像度とされた画像を出力する。画像サイズ調整フラグとは、解像度/フレームレート変換部12に入力される画像のうち、縦・横の画素数が16の倍数でない画像に対して、16の整数倍になるように画素を補填するか、画素を除去するかを判別するためのフラグである。
【0114】
解像度/フレームレート変換部12が画像の解像度を縦・横ともに1/2にする画素間引き処理(以下、ダウンサンプリング処理と記す。)を図4に例示する。縦方向のダウンサンプリング処理は、入力した飛び越し走査画像の第一フィールド(top field:トップフィールド)、第二フィールド(bottom field:ボトムフィールド)を抽出し、順次走査画像に変換する。一方、横方向のダウンサンプリング処理は、ダウンサンプリングフィルタを用いて、1/2の解像度に変換する。また、低ビットレート化を実現するために、解像度変換による圧縮だけではなく、画像内符号化画像(以下、Iピクチャと記す。)及び画像間予測符号化画像(以下、Pピクチャと記す。)のみで構成される第一フィールド又は第二フィールドを抜き出すことによって、時間軸方向のフレームレートを低下させている。
【0115】
例えば、図4(a)に示されるIピクチャと双方向予測符号化画像(以下、Bピクチャと記す。)とを含むMPEG2の第一フィールドのIBBPBBの画像は、解像度・フレーム変換の際にBピクチャを抜き出すことによって、図4(b)に示されたIPPPの第一フィールドの構成になる。解像度・フレーム変換を行った画像は、MPEG4画像符号化方式で符号化できるように、外部から入力される画像サイズ調整フラグに基づいて画素補填又は画素除去が施され、縦・横の画素数が16の倍数とされる。
【0116】
画像の垂直方向のダウンサンプリングは、図4(a)の第一フィールド(top field:トップフィールド)及び図4(b)の第二フィールド(bottom field:ボトムフィールド)から第一フィールドを抽出して、飛び越し走査の画像を図4(c)に示す順次走査の画像に変換することにより行う。この変換により、画像の垂直方向の解像度は1/2になる。なお、垂直方向のダウンサンプリングは、図4(a)及び(b)に示すフレームから図4(b)に示す第二フィールドを抽出することによって行ってもよい。
【0117】
実際には、垂直方向のダウンサンプリングは、ビットレートを低下させるためのフレームレート変換と同時に行われる。すなわち、図4(c)に示す順次走査の画像は、IBBPのピクチャのうちでIピクチャ及びPピクチャから抽出された第一フィールドから構成される。
【0118】
これにより、図4(a)及び(b)に示されたIBBPのフレームから構成される飛び越し走査の画像は、解像度・フレーム変換後、図4(c)に示すようにIPの第一フィールドから構成される順次走査の画像になる。解像度/フレーム変換を行った画像は、MPEG4画像符号化方式により符号化できるように、縦・横の画素数がともに16の倍数にする。そのため、外部から入力される画像サイズ調整フラグにより、画素の補填、或いは、画素の除去を行う。画像サイズ調整フラグは、解像度/フレームレート変換部12の外部から入力され、画像の縦・横の画素数が16の倍数でない場合に対し、画像への画素補填若しくは、除去を判別するためのフラグである。
【0119】
次に、解像度/フレームレート変換部12が画像サイズ調整フラグを用いて画像の解像度を変更する処理について、図5を用いて説明する。具体的には、解像度/フレームレート変換部12において、画像補填・除去部17は、外部から入力される画像サイズ調整フラグに基づいて、画素の補填又は除去を行うことにより画像の水平方向及び垂直方向の画素数がともに16の倍数になるようにする。これによって、画像のサイズは、MPEG4画像情報符号化部15で行われる16×16マクロブロックの符号化に適合するようになる。
【0120】
画像補填・除去部17における処理は、図5に示すような手順によって行われる。
【0121】
図5(a)に示すように、解像度/フレームレート変換部12には、MPEG2画像情報復号化部11で水平方向及び垂直方向ともに16成分のDCT係数からなるマクロブロックごとに復号され、16×16マクロブロックを構成要素とした画像が入力される。したがって、入力された画像を水平方向にm画素及び垂直方向にn画素とすると、m及びnはともに16の倍数である。
【0122】
この画像は、解像度/フレームレート変換部12の解像度フレーム変換部16によって、水平方向及び垂直方向ともに1/2に解像度変換され、水平方向にm/2画素及び垂直方向にn/2画素から構成されるようになる。このように解像度変換により水平方向にm/2画素及び垂直方向にn/2画素から構成されるようになった画像が画像補填・除去部17に入力されるが、これらm/2及びn/2は、16で割り切れる場合と、16で割ると8余る場合とがある。
【0123】
そこで、画像補填・除去部17においては、図5のS1に示すように、m/2及びn/2が16の倍数である場合とそうでない場合によって処理を分岐させている。
【0124】
すなわち、図5(b)に示すように、m/2及びn/2がともに16の倍数の場合には、画像のサイズはMPEG4の画像圧縮符号化に適合する。したがって、この場合には、画像補填・除去部17は、画素の補填又は除去を行うことなく水平方向にm/2及び垂直方向にn/2画素の画像をそのまま出力する。
【0125】
m/2又はn/2の少なくとも一方が16で割ると8余る場合には、画像のサイズは、MPEG4の画像圧縮符号化に適合していない。したがって、この場合には、画像補填/除去部5bは、画像のサイズをMPEG4の画像圧縮符号化に適合させるために、画素の補填又は除去を行うことにより画像のサイズを変更する。
【0126】
なお、以下では便宜上、水平方向のm/2画素が16で割り切れない場合について例示するが、垂直方向のn/2画素が16で割り切れない場合や、水平方向のm/2画素及び垂直方向のn/2画素がともに16で割り切れない場合についても同様である。
【0127】
画像補填・除去部17は、外部から入力された画像サイズ調整フラグに応じて、画像へ8画素を補填する処理と、画像から8画素を除去する処理をスイッチS2で切り換える。
【0128】
すなわち、画像サイズ調整フラグに応じて8画素を除去する場合には、スイッチS2で画素の除去を選択する。この場合には、図5(c)に示すように、水平方向にm/2画素の画像の例えば後部から水平方向に8画素が除去される。これによって、画像は水平方向にはm/2−8画素(すなわち、16で割り切れる画素数)から構成されるようになる。同様に、画像の水平方向に先頭から画素を除去することもできる。
【0129】
一方、画像調整フラグに応じて8画素を補填する場合には、スイッチS2で画素の補填を選択する。この場合には、図5(d)に示すように、水平方向にm/2画素の画像の例えば後部に8画素が補填される。これによって、画素は水平方向にはm/2+8画素(すなわち、16で割り切れる画素数)から構成されるようになる。同様に、画像の水平方向に先頭に画素を補填することもできる。なお、画像に補填する画素は、新たに作成したり、補填前の画像から複製したり、画像に適した画素を選択したものを使用することができる。
【0130】
このような画像補填・除去部17における画素の補填又は除去により、画像の水平方向及び垂直方向の画素数はともに16の倍数になり、MPEG4画像情報符号化部15におけるMPEG4ビットストリームへの符号化に適合するようになる。結果として、解像度/フレームレート変換部12は、変換後の画像解像度の縦と横の画素数が16の倍数であるMPEG4符号化方式に適した画像サイズを有した画像を出力する。
【0131】
続いて、動きベクトル変換部13が動きベクトルを変換する処理について、図6を用いて説明する。
【0132】
図6(a)はMPEG2画像情報復号化部201より出力された画像を表している。図6(b)は、図6(a)に示す画像を解像度/フレームレート変換部12で水平方向及び垂直方向ともに1/2の解像度に変換された画像を表している。
【0133】
例えば、図6(a)に示した解像度変換前の画像における左上の16×16マクロブロック61は、解像度/フレームレート変換部12によって、図6(b)に示した変換後の画像における左上の8×8ブロック62に変換される。同様に、図6(a)に示した解像度変換前の画像における4つの16×16マクロブロック63は、解像度/フレームレート変換部12による解像度変換後の画像における4つの8×8ブロック64に対応している。これら4つの8×8ブロック64によって、1つの16×16マクロブロックが構成される。
【0134】
解像度変換前の画像における4つの16×16マクロブロック63の各マクロブロックの動きベクトルMV1,MV2,MV3,MV4は、解像度変換後の画像における4つの8×8ブロック64の動きベクトルmv1、mv2、mv3、mv4にそれぞれ対応している。
【0135】
なお、16×16マクロブロックの動きベクトルを16×16動きベクトル、8×8ブロックの動きベクトルを8×8動きベクトルと称する。
【0136】
解像度/フレームレート変換部12による解像度変換の前後の画像に対応する動きベクトルの相関により、解像度変換後の8×8ブロックの動きベクトルは、解像度変換前の16×16マクロブロックの動きベクトルより求めることができる。したがって、解像度変換前の4つの16×16マクロブロック63の動きベクトルMV1,MV2,MV3,MV4から、解像度変換後の4つのブロック64の動きベクトルmv1,mv2,mv3,mv4をそれぞれ求めることができる。
【0137】
次いで、動きベクトル変換部13がMPEG2復号化方式により復号された画像における動きベクトルをMPEG4符号化方式により符号化する処理を図7に示す構成図を用いて説明する。
【0138】
動きベクトル変換部13は、具体的には、入力されたMPEG2ビットストリーム内の動きベクトルをMPEG2ビットストリームにおける16×16動きベクトルからMPEG4ビットストリームにおける8×8動きベクトルへと変換するMPEG2_16×16MV→MPEG4_8×8MV動きベクトル変換部20と、MPEG2_16×16MV→MPEG4_8×8MV動きベクトル変換部20において変換された動きベクトルを画像サイズ調整フラグに基づいて調整する動きベクトル調整部21と、MPEG4ビットストリームにおける8×8動きベクトルからMPEG4の16×16動きベクトルへと変換するMPEG4_8×8MV→MPEG4_16×16MV動きベクトル変換部22と、MPEG2イントラマクロブロックに対して動きベクトルを補正する動きベクトル補正部23とから構成されている。
【0139】
MPEG2_16×16MV→MPEG4_8×8MVMPEG4_8×8MV→MPEG4_16×16MV動きベクトル変換部22は、MPEG2画像情報復号化部11から入力されたMPEG2のマクロブロックの動きベクトルとマクロブロックタイプとを変換する。このときの変換動作を図8に示す。飛び越し走査のMPEG2ビットストリームでは、一般的にフレーム構造が用いられてるため、ここではフレーム構造の場合の処理のみを説明する。
【0140】
ステップS11において、MPEG2_16×16MV→MPEG4_8×8MV動きベクトル変換部20は、MPEG2画像情報復号化部11からの動きベクトルがイントラマクロブロックであるか、インタースキップマクロブロックであるかを判別する。
【0141】
MPEG2_16×16MV→MPEG4_8×8MV動きベクトル変換部20は、入力した動きベクトルがイントラマクロブロックであった場合、ステップS12において、8×8マクロブロックの動きベクトルを0に設定し、更に、イントラであることを示すイントラモードフラグを設ける。
【0142】
一方、入力した動きベクトルがインタースキップマクロブロックであった場合、ステップS13において、動きベクトルを0に設定し、MPEG4の8×8動きベクトルへ変換する。
【0143】
ステップS11において、入力した動きベクトルがインターマクロブロックであった場合、MPEG2_16×16MV→MPEG4_8×8MV動きベクトル変換部20は、ステップS14において、動き補償された動きベクトルを含む画像がフレーム予測に基づくものであるか、フィールド予測に基づくものであるかを判別する。
【0144】
MPEG2_16×16MV→MPEG4_8×8MV動きベクトル変換部20は、入力した動きベクトルを含む画像がフレーム予測に基づくものであった場合、ステップS15において、フレーム予測に適した動きベクトルへと変換する。
【0145】
一方、入力した動きベクトルを含む画像がフィールド予測であった場合、MPEG4_8×8MV→MPEG4_16×16MV動きベクトル変換部22は、ステップS16において、更に、第一フィールド予測であるか、第二フィールド予測であるかを判別する。
【0146】
入力した動きベクトルを含む画像が第一フィールド予測に基づく場合、MPEG2_16×16MV→MPEG4_8×8MV動きベクトル変換部20は、ステップS17において、第一フィールド予測に適した動きベクトルへ変換する。
【0147】
一方、入力した動きベクトルを含む画像が第二フィールド予測に基づく場合、MPEG2_16×16MV→MPEG4_8×8MV動きベクトル変換部20は、ステップS18において、第二フィールド予測に適した動きベクトルへと変換する。
【0148】
ここで、入力した動きベクトルを含む画像がフレーム予測に基づく場合の変換処理としてのステップS15における動きベクトル変換の概念を図9に示す。
【0149】
図3で説明したように、変換後の動きベクトルの水平成分は、変換前の動きベクトルの水平成分と画像の横方向の解像度変換レートから求められ、垂直成分は、変換前の動きベクトルの垂直成分と画像の縦方向の解像度変換レートから求められる。すなわち、横方向の解像度及び縦方向の解像度を1/2に変換すると変換後の動きベクトルの水平成分及び垂直成分も変換前の1/2になる。
【0150】
図3(a)に示す解像度変換前の画像には、現フレームにおける太陽51及び山52が表示されている。解像度変換前の動きベクトルMVは、前フレームの太陽54の位置を始点とし、現フレームの太陽51の位置に向かっている。すなわち、解像度変換前の16×16動きベクトルであるこの動きベクトルMVは、(0,0)から(8,12)に向かっている。
【0151】
ここで、動きベクトルMVは、水平方向及び垂直方向のそれぞれについて、画像を構成する整数画素a1に相当する位置0,2,4,・・・と、隣接する整数画素a1の間の位置1,3,5,・・・に想定された仮想的な半画素a2とを用いて表されている。なお、この半画素a2は、動きベクトルMVを整数画素a1に相当する位置の1/2の精度で表すために想定された実在しない画素である。
【0152】
一方、図3(b)に示す解像度変換後の画像は、図3(a)に示した画像の解像度を1/2に変換したものである。
【0153】
この解像度変換により、水平方向及び垂直方向について、図3(a)に示した位置0,4,8,・・・に相当する整数画素a1が残り、図3(b)に示した整数画素b1の位置0’,2’,4’,・・・に相当するようになる。図3(a)に示した位置2,6,10,・・・に相当する整数画素a1は捨てられる。なお、図3(b)においては、動きベクトルMV’を整数画素b1に相当する位置0’,2’,4’,・・・の1/2の精度で表すために、隣接する整数画素b1の間の位置1’,3’,5’,・・・に仮想的な半画素b2が想定されている。
【0154】
解像度変換後の動きベクトルMV’も、前フレームの太陽59の位置を始点とし、現フレームの太陽56の位置に向かっている。すなわち、解像度変換後の8×8動きベクトルであるこの動きベクトルMV’は、(0,0)から(4’,6’)に向かっている。
【0155】
このような画像の解像度変換に応じて、解像度変換前の動きベクトルMVから解像度変換後の動きベクトルMV’への変換を行うものとする。すなわち、解像度変換後の動きベクトルMV’の水平成分MVh’は、画像の水平方向の解像度変換レートに応じて1/2倍に変換される。同様に、解像度変換後の動きベクトルMV’の垂直成分MVv’も、画像の垂直成分の解像度変換レートに応じて1/2倍に変換される。
【0156】
例えば、図3(a)に示した(0,0)から(8,12)に向かう解像度変換前の動きベクトルMVは、水平成分8及び垂直成分12であるので、解像度変換レートに応じて1/2倍されて水平成分4及び垂直成分6となる。したがって、図3(b)に示す(0,0)から(4,6)に向かう解像度変換後の動きベクトルMV’が得られる。
【0157】
ところで、解像度変換後の動きベクトルMV’は、水平成分及び垂直成分に相当する整数画素b1又は半画素b2が存在しないことがある。なお、以下の説明では便宜上動きベクトルの水平成分についてのみ言及するが、垂直成分についても同様である。
【0158】
すなわち、図3(a)の上部に対応関係を示すように、解像度変換前の画像において、解像度変換前の動きベクトルMVの水平成分MVhが整数画素a1に相当する0,4,8,・・・のとき、すなわち水平成分MVhを4で割った余りが0となるときには、解像度変換レートに応じて1/2倍して得た解像度変換後の動きベクトルMV’の水平成分MVh’は、0’,2’,4’,・・・となり、解像度変換後の画像における整数画素b1に相当する。同様に、解像度変換前の動きベクトルMVの水平成分MVhが整数画素a1に相当する2,6,10,・・・のとき、すなわち水平成分MVhを4で割った余りが2となるときには、解像度変換レートに応じて1/2倍して得た解像度変換後の動きベクトルMV’の水平成分MVh’は、1’,3’,5’,・・・となり、解像度変換後の画像における半画素b2に相当する。また、解像度変換前の動きベクトルMVの水平成分MVhが半画素a2に相当する1,3,5,7,・・・のときには、解像度変換前の動きベクトルMVの水平成分MVhを解像度変換レートに応じて1/2倍した値1/2,3/2,5/2,7/2,・・・に相当する画素が存在しない。
【0159】
しかし、従来のように半画素動きベクトルを生成し、これを中心に再検索を行う場合、半画素値をサーチウィンドウ内で予め求める工程を必要とするため、処理工程が増えることになる。
【0160】
そこで、本実施の形態においては、かかる場合には、解像度変換後の動きベクトルMV’の水平成分MVh’は、サーチウィンドウ内で最も予測差が少ない整数画素の動きベクトルを求め、次にその整数画素周辺の9半画素値を検索するようにしている。
【0161】
したがって、解像度変換前の動きベクトルMVの水平成分MVhが整数画素a1に相当する2,6,10,・・・のとき解像度変換レートに応じて1/2倍して得た解像度変換後の動きベクトルMV’の水平成分MVh’が1’,3’,5’,・・・となり、解像度変換後の画像における半画素値b2に相当する場合、すなわち水平成分MVhを4で割った余りが2となる場合、及び解像度変換前の動きベクトルMVの水平成分MVhを解像度変換レートに応じて1/2倍した値1/2,3/2,5/2,7/2,・・・等に相当する画素が存在しない場合は、整数画素b2に相当する0’,2’,2’,4’,・・・に変換する。
【0162】
これら解像度変換前の動きベクトルMVの水平成分MVhと、解像度変換後の動きベクトルMV’の関係を図10に示す。なお、この図10においては、解像度変換前の動きベクトルMVの水平成分又は垂直成分の値をMVと表記している。
【0163】
すなわち、解像度変換前の動きベクトルMVの水平成分を4で割った余りが0の場合には、解像度変換後の動きベクトルMV’の水平成分[MV/2]は整数画素b1に相当する。したがって、解像度変換後の動きベクトルMV’の水平成分を[MV/2]とする。
【0164】
解像度変換前の動きベクトルMVの水平成分を4で割った余りが1の場合には、解像度変換前の動きベクトルMVの水平成分を解像度変換レートに応じて1/2倍した値[MV/2]とする。
【0165】
解像度変換前の動きベクトルMVの水平成分を4で割った余りが2の場合には、解像度変換後の動きベクトルMV’の水平成分は、[MV/2]+1とする。
【0166】
解像度変換前の動きベクトルMVの水平成分を4で割った余りが3の場合には、解像度変換前の動きベクトルMVの水平成分を解像度変換レートに応じて1/2倍した値[MV/2]−1に対応させる。
【0167】
このように、本実施の形態では、まずサーチウィンドウ内で最も予測誤差が少ない整数画素の動きベクトルを求め、次に、その整数画素周辺の9半画素値を検索することにより、半画素値をサーチウィンドウ内で予め求める工程を削減している。
【0168】
次に、入力した動きベクトルを含む画像がフィールド予測に基づく場合の変換処理であるステップS17及びステップS18における動きベクトル変換の概念について図11に示す。
【0169】
まず、ステップS17における入力した動きベクトルを含む画像が第一フィールド予測に基づく場合の動きベクトル変換の概念について示す。動きベクトルの水平成分は、動きベクトルを含む画像がフレーム予測に基づく図9に示した場合と同様の処理で行われる。すなわち、変換前の動きベクトルが半画素の位置を示している場合、変換後の動きベクトルも予測画像の最も近接した整数画素の位置を示すようにする。
【0170】
動きベクトルの垂直成分は、図11(a)に示すように、第一フィールドのラインa3及び第二フィールドのラインa4のうち、第一フィールドのラインa3を取り出す間引き処理を行うことにより、解像度を1/2にする解像度変換が行われる。図11(b)には、第一フィールドのラインb3を取り出すことで、垂直方向に解像度が1/2になった画像が示されている。また、第一フィールド予測を行っているため、解像度変換前の動きベクトルMVは、そのまま解像度変換後の動きベクトルMV’になる。
【0171】
続いて、ステップS18における動きベクトルを含む画像が第二フィールド予測に基づく場合の動きベクトル変換の概念図を図12に示す。図12(a)において、第一フィールドのラインa3及び第二フィールドのラインa4のうち、第一フィールドのラインa3を取り出す間引きを行うことにより、解像度を1/2にする解像度変換が行われる。このため、この第二フィールド予測の場合においても、解像度変換後には第一フィールドの画素値を参照画像として用いる。
【0172】
図12(b)には、参照画像として用いられる第一フィールドのラインb3のみから構成される解像度変換後の画像が示されている。しかし、飛び越し走査のMPEG2画像圧縮情報では第一フィールドの画像と第二フィールドの画像には、時間的及び空間的なずれがある。このため、MPEG2で予測画像として用いた第二フィールドの画素値を解像度変換後の第一フィールド予測に変換するように、動きベクトルの時間的及び空間的な補正を行う。
【0173】
まず、第二フィールド予測から近似的に第一フィールド予測に変換するための空間的補正として、動きベクトルの垂直成分に1を加える。これによって、図12(a)に示すように、第二フィールド予測で求めた動きベクトルMVbottomは、垂直成分に1を加えることにより垂直方向に一行を繰り上げられ、第二フィールドが第一フィールドと同様の位置に達し、第一フィールド予測の近似動きベクトルMVtopが得られる。このような空間的な補正によって、第二フィールド予測で求めた動きベクトルMVbottomの空間的な位置は、第一フィールド予測で求めた動きベクトルと同様になる。
【0174】
式(8)は、近似第一フィールド、すなわち第一フィールドと同様な空間位置にある第二フィールドを空間的な補正によって予測したときの動きベクトルMVtopの垂直成分を表している。
【0175】
【数7】
【0176】
次に、第二フィールドから近似された第一フィールドと実際の第一フィールドとの時間ずれの補正を行う。
【0177】
図13は、時間ずれの補正を説明する図である。すなわち、図13(a)における各フレームは、第一フィールド及び第二フィールドから構成されるが、第一フィールドと第二フィールドの時間間隔を1とすると、Iピクチャの第二フィールドとPピクチャの第一フィールドの時間間隔をaは1,3,5,・・・の値を取り得る。
【0178】
図中には、Iピクチャの第一フィールドを参照してPピクチャの第一フィールドを予測する動きベクトルMVtopと、Iピクチャの第二フィールドを参照してPピクチャの第一フィールドを予測する動きベクトルMVbottomとが示されている。
【0179】
図13(b)には、図13(a)に示した画像に解像度変換及びフレームレート変換により変換されたIピクチャの第一フィールド及びPピクチャの第一フィールドと、解像度変換後の動きベクトルMV’が示されている。
【0180】
これらの時間間隔の比率により、第二フィールドを参照する動きベクトルMVbottomから近似した近似MVtopを用いて、時間のずれを補正して解像度変換後の動きベクトルMV’を得るためには式(9)を適用する。
【0181】
【数8】
【0182】
式(8)を式(9)に代入すると、解像度変換後の動きベクトルMV’の垂直成分は、式(10)のようになる。
【0183】
【数9】
【0184】
なお、解像度変換後の動きベクトルの水平成分に対しては、解像度変換前の動きベクトルMVbottomに(a+1)/aを乗じ、時間的な補正を行った後、先に図10に示したように変換される。すなわち、解像度変換前に半画素に相当する動きベクトルは、解像度変換後にも半画素に相当する動きベクトルに変換される。
【0185】
場合によっては、動きベクトルの垂直成分に対して時間的補正を行った後、空間的な補正を行ってもよい。その場合、動きベクトルMV’の垂直成分は、式(11)で与えられる。
【0186】
【数10】
【0187】
なお、解像度変換後の動きベクトルMV’の水平成分は、空間補正を行ってから時間補正を行う空間・時間補正と時間補正を行ってから空間補正を行う時間・空間補正のいずれでも同様な値となる。
【0188】
式(10)と式(11)の差、すなわち、空間・時間補正を行った場合と、時間・空間補正を行った場合の動きベクトルの垂直成分の差は1/aになる。したがって、aの値によって、空間・時間補正と時間・空間補正との差による影響が異なる。そこで、aが1の場合と、1より大きい、すなわち3,5,7,・・・の2つの場合における補正方法を説明する。
【0189】
まず、aが1の場合について、式(10)のaに1を代入すると、動きベクトルの垂直成分は式(12)になる。
【0190】
【数11】
【0191】
式(12)のaに1を代入し、動きベクトルの垂直成分は式(13)になる。
【0192】
【数12】
【0193】
その結果、解像度変換前の動きベクトルMVbottomに0,1,2,・・・を代入すると、式(12)による値は2,4,6,・・・のような偶数になる。すなわち、空間・時間補正を行うと、解像度変換前の動きベクトルMVbottomは整数画素又は半画素に位置しても、解像度変換後の動きベクトルMV’は、全て整数画素に位置する。
【0194】
また、式(13)による値は、1,3,5,・・・のような奇数になる。すなわち、時間・空間補正を行うと、解像度変換前の動きベクトルMVは整数画素又は半画素に位置しても、解像度変換後の動きベクトルMV’は、全て半画素に位置する。
【0195】
したがって、解像度変換前に整数画素に位置する動きベクトルMVbottomに対して、解像度変換後の動きベクトルMV’を整数画素に位置するようにする場合、空間・時間補正を行う。また、解像度変換前に半画素に位置する動きベクトルMVbottomに対して、解像度変換後の動きベクトルMV’を半画素に位置するようにする場合、時間・空間補正を行う。
【0196】
すなわち、解像度変換後の動きベクトルMV’の垂直成分を求めるために、解像度変換前の動きベクトルMVbottomに対し、空間補正、時間補正を交互に使用して解像度変換後の動きベクトルMV’に変換する。若しくは、解像度変換前の動きベクトルMVbottomの全てに対して時間・空間補正を行う。
【0197】
以上の動きベクトル変換処理が終了した後、動きベクトル変換部12から、MPEG4の8×8動きベクトルが出力される。
【0198】
次に、画像情報変換装置1における動きベクトル補正部14について説明する。動きベクトル補正部14は、動きベクトル変換部13においてMPEG2に基づく動きベクトルをMPEG4に基づく動きベクトルに変換する際、画素数(空間解像度)、SNR(画素値の量子化精度)、フレーム数等を拡大、縮小、増加、減少するスケーリング処理により発生した動きベクトルの誤差を補正し、より精度の高い動きベクトルを求める処理を行う。
【0199】
具体的には、動きベクトル補正部14は、入力されたMPEG4の8×8動きベクトルの周辺画素に対して、水平方向に+−2整数画素、垂直方向に+−1画素の動きベクトル検索を行う。すなわち、動きベクトル補正部14は、再検索の際のサーチウィンドウを動きベクトル変換部13によって求められた動きベクトルを中心に水平方向に5画素、垂直方向に3画素の領域に抑えている。これにより、動きベクトル検索の処理数を大幅に減少させて、符号化効率の低下を防ぐことを可能としている。
【0200】
また、図2に示した動きベクトル整数画素検索部18は、指定されたサーチウィンドウ内で最も予測画素値が少ない整数画素動きベクトルを選択する。動きベクトル半画素検索部19は、整数画素値で選択された最小予測誤差の動きベクトルの周辺9半画素値を検索し、最も予測誤差が少ない最適な動きベクトル値を送出する。
【0201】
動きベクトル補正部14は、サーチウィンドウの再検索画素数を設定するための動きベクトル補正方向情報フラグに基づいて、サーチウィンドウのサイズを設定している。図14及び図15を用いて、動きベクトル補正方向情報フラグについて説明する。
【0202】
図14(a)及び(b)では、MPEG2の動きベクトルにおける整数画素がc1で表され、MPEG4の8×8動きベクトルにおける整数画素がc1’で表されている。また、MPEG2の半画素位置は、d1で表されている。また、図14(a)には、変換前のMPEG2の動きベクトルが整数画素であり、変換後のMPEG4の8×8動きベクトルも整数画素である場合が示され、図14(b)には、変換前のMPEG2の動きベクトルが整数画素値であり、変換後のMPEG4の8×8動きベクトルが半画素精度である場合が示されている。
【0203】
図14(a)に示されるように、変換前のMPEG2の動きベクトルが整数画素であり、変換後のMPEG4の8×8動きベクトルも整数画素である場合、同位相の画素が存在し、変換前と変換後とで動きベクトルの画素値に歪みが生じないため、動きベクトルのサーチウィンドウは、動きベクトルの進行方向に対して対称に設定される。
【0204】
一方、図14(b)に示されるように、変換前のMPEG2の動きベクトルが整数画素値であり、変換後のMPEG4の8×8動きベクトルが半画素精度である場合、動きベクトルの進行方向に対して、繰り上げにより近似のMPEG4の整数画素に修正されるため、サーチウィンドウは、動きベクトルの進行方向に対して逆方向に大きくなるように設定することにより、検索処理工程を削減することが可能となる。例えば、動きベクトルと逆方向に2整数画素値分、順方向に1整数画素値分検索するようにする。このとき、動きベクトル変換時に、MPEG4動きベクトルを繰り下げることによって、これを近似のMPEG4の整数画素値とした場合、サーチウィンドウの設定は、動きベクトルの進行方向に対して順方向に大きくなるように設定される。
【0205】
図15(a)には、変換前のMPEG2の動きベクトルが半画素位置であり、変換後のMPEG4の8×8動きベクトルが整数画素である場合が示され、図15(b)には、変換前のMPEG2の動きベクトルが半画素位置であり、変換後のMPEG4の8×8動きベクトルも半画素精度である場合が示されている。
【0206】
図15(a)及び(b)に示されるように、変換前のMPEG2の動きベクトルが半画素位置であり、変換後のMPEG4の8×8動きベクトルが整数画素である場合、変換前のMPEG2動きベクトルが半画素精度を示し、MPEG4動きベクトルに変換する際に、最も近接したMPEG4整数画素値に修正するため、図14(b)に示した場合と同様に、歪みが生じる方向に応じて、サーチウィンドウは、動きベクトルの進行方向に対して順方向又は逆方向に大きくなるように設定される。
【0207】
これにより、動きベクトル補正部14は、動きベクトル再検索の際の処理工程数を減少させるため、動きベクトル変換部13から送出された動きベクトルの歪み方向を受け取って、動きベクトルの補正検索を行う際の最適なサーチウィンドウの大きさを設定することが可能となる。
【0208】
このように、画像情報変換装置1は、MPEG2ビットストリームを入力し、MPEG4における8×8動きベクトル及び16×16動きベクトルを求める際に、動きベクトル変換部13によりスケーリングされた動きベクトルに対して、動きベクトル補正部14において最適なサーチウィンドウの大きさを設定して再検索し、補正することによって、MPEG4画像符号化部15における符号化効率の低減を最小とすることを可能としている。
【0209】
以上説明したように、本発明の実施の形態においては、MPEG2ビットストリームを入力して、MPEG4ビットストリームを出力する場合について説明したが、入力、出力ともこれに限らず、例えば、MPEG−1やH.263等の画像圧縮情報(ビットストリーム)に対応した画像情報変換装置に適用してもよい。
【0210】
なお、図1、2に示す画像情報変換装置1は、MPEG4における16×16動きベクトルも8×8動きベクトルと同様に処理を行うようにしているが、これを、最適なMPEG4における8×8動きベクトルを動きベクトル整数画素検索部により整数画素値として求め、当該整数画素値を再度動きベクトル変換部に入力し、MPEG4における16×16動きベクトルを求めてもよい。このような画像情報変換装置を図16及び図17に示す。画像情報変換装置2において、画像情報変換装置1と同様の構成は、同番号を付して示し、詳細な説明を省略する。
【0211】
画像情報変換装置2における動きベクトル変換部24は、整数画素精度で補正されたMPEG4の8×8動きベクトルを受け取り、この動きベクトルに基づいて、MPEG4の16×16動きベクトルを算出して送出する。
【0212】
図17に詳細を示す動きベクトル補正部25は、動きベクトル整数画素検索部26と動きベクトル半画素検索部27とを有する。動きベクトル整数画素検索部26は、動きベクトル変換部24からのMPEG4の16×16動きベクトルを受け取り、MPEG4の8×8動きベクトルを補正するのと同様に、入力されたMPEG4の16×16動きベクトルを中心としたサーチウィンドウ内を水平5画素、垂直3画素で再検索する。動きベクトル半画素検索部27は、整数画素値で選択された最小予測誤差の動きベクトルの周辺9半画素値を検索する。
【0213】
このような画像情報変換装置2は、最も予測誤差が少ない最適なMPEG4の16×16動きベクトル値を送出することが可能である。
【0214】
なお、画像情報変換装置1において、MPEG2画像情報復号化部11は、4×8ダウンデコード、若しくは、4×4ダウンデコードを行うことによって、画質劣化を最小限に抑えながら演算量とビデオメモリ容量とを削減してもよい。特に、ダウンサンプリング処理を簡略化することによって演算量とビデオメモリ容量とを削減してもよい。
【0215】
以上、画像情報変換装置1では、サーチウィンドウを水平5画素、垂直3画素と設定して説明したが、これに限らず、水平、垂直方向のサーチウィンドウの検索画素数は、任意に選択可能としてもよい。
【0216】
【発明の効果】
以上詳細に説明したように、本発明にかかる動きベクトル変換装置によれば、入力画像圧縮情報のマクロブロックは、変換により水平方向及び垂直方向ともに8成分のブロックに変換され、入力画像圧縮情報のマクロブロックを動き補償する第1の動きベクトルに基づいて、出力画像圧縮情報のマクロブロックを構成し、ブロックの各々を動き補償する第2の動きベクトルを生成し、この第2の動きベクトルのうち、符号化効率の最も高い動きベクトルを出力画像圧縮情報のマクロブロックを動き補償する第3の動きベクトルとする変換手段と、第1の動きベクトルに基づいて生成された第2の動きベクトルを再度入力し、当該第2の動きベクトルの値の近傍で第2の動きベクトルを再検索し補正する動きベクトル補正手段とを有することによって、動きベクトル変換手段により補正処理された動きベクトルに対して、動きベクトル検索補正手段において再検索して動きベクトルの精度の誤差を補正することで、符号化処理における符号化効率の低減を最小とすることが可能である。
【0217】
また、本発明にかかる動きベクトル変換方法によれば、水平方向及び垂直方向ともに16成分の離散コサイン変換係数からなるマクロブロックから構成される飛び越し走査の画像を符号化した入力画像圧縮情報を、水平方向及び垂直方向ともに16成分の離散コサイン変換係数からなるマクロブロックから構成され、飛び越し走査の画像に対して水平方向及び垂直方向ともに1/2のサイズを有する順次走査の画像を符号化した出力画像圧縮情報へと変換する際、動きベクトルを変換する動きベクトル変換方法において、入力画像圧縮情報のマクロブロックは、変換により水平方向及び垂直方向ともに8成分のブロックに変換され、入力画像圧縮情報のマクロブロックを動き補償する第1の動きベクトルに基づいて、出力画像圧縮情報のマクロブロックを構成し、ブロックの各々を動き補償する第2の動きベクトルを生成し、この第2の動きベクトルのうち、符号化効率の最も高い動きベクトルを出力画像圧縮情報のマクロブロックを動き補償する第3の動きベクトルとし、第1の動きベクトルに基づいて生成された第2の動きベクトルを再度入力し、当該第2の動きベクトルの値の近傍で第2の動きベクトルを再検索し補正することにより、動きベクトル変換手段により補正処理された動きベクトルに対して、動きベクトルを再検索して動きベクトルの精度の誤差を補正することで、符号化処理における符号化効率の低減を最小とすることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態の一例として示す画像情報変換装置の構成を説明するブロック図である。
【図2】本発明の実施の形態の一例として示す画像情報変換装置の動きベクトル補正部の構成を説明するブロック図である。
【図3】MPEG2ビットストリームにおける動きベクトルとMPEG4ビットストリームにおける動きベクトルとの間の相関関係を説明する図である。
【図4】本発明の実施の形態の一例として示す画像情報変換装置の解像度/フレームレート変換部における変換動作を説明する図である。
【図5】本発明の実施の形態の一例として示す画像情報変換装置の解像度/フレームレート変換部が画像サイズ調整フラグを用いて画像の解像度を変更する処理を説明する図である。
【図6】本発明の実施の形態の一例として示す画像情報変換装置の動きベクトル変換部が動きベクトルを変換する処理を説明する図である。
【図7】本発明の実施の形態の一例として示す画像情報変換装置の動きベクトル変換部の構成を説明するブロック図である。
【図8】本発明の実施の形態の一例として示す画像情報変換装置の動きベクトル変換部における動きベクトル変換部がMPEG2の16×16動きベクトルをMPEG4の8×8動きベクトルへと変換する動作を説明する図である。
【図9】MPEG2の16×16動きベクトルからMPEG4の8×8動きベクトルへ変換する際、画像がフレーム構造かつフレーム予測の場合の変換動作を模式的に説明する図である。
【図10】本発明の実施の形態の一例として示す画像情報変換装置がMPEG2画像圧縮情報における半画素精度の動きベクトルをMPEG4画像圧縮情報の8×8動きベクトルへと変換するときの動きベクトルの対応関係を示す図である。
【図11】本発明の実施の形態の一例として示す画像情報変換装置がMPEG2の16×16動きベクトルからMPEG4の8×8動きベクトルへ変換する際、画像がフレーム構造かつ第一フィールド予測の場合の変換動作を模式的に説明する図である。
【図12】本発明の実施の形態の一例として示す画像情報変換装置がMPEG2の16×16動きベクトルからMPEG4の8×8動きベクトルへ変換する際、画像がフレーム構造かつ第二フィールド予測の場合の変換動作を模式的に説明する図である。
【図13】本発明の実施の形態の一例として示す画像情報変換装置の解像度/フレームレート変換部における変換動作を説明する図である。
【図14】本発明の実施の形態の一例として示す画像情報変換装置が動きベクトル補正方向情報フラグに基づいた画素補正を説明する図である。
【図15】本発明の実施の形態の一例として示す画像情報変換装置が動きベクトル補正方向情報フラグに基づいた画素補正を説明する図である。
【図16】本発明の実施の形態の一例として示す画像情報変換装置の構成を説明するブロック図である。
【図17】本発明の実施の形態の一例として示す画像情報変換装置の動きベクトル補正部の構成を説明するブロック図である。
【図18】従来の画像情報変換装置の構成を説明するブロック図である。
【図19】従来の画像情報変換装置の構成を説明するブロック図である。
【図20】従来の画像情報変換装置における動きベクトル変換部の構成を説明するブロック図である。
【図21】従来の画像情報変換装置の動きベクトル変換部における動きベクトル変換部がMPEG2の16×16動きベクトルをMPEG4の8×8動きベクトルへと変換する動作を説明する図である。
【図22】従来の画像情報変換装置がMPEG2の16×16動きベクトルからMPEG4の8×8動きベクトルへ変換する際、画像がフレーム構造かつフレーム予測の場合の変換動作を模式的に説明する図である。
【図23】従来の画像情報変換装置がMPEG2画像圧縮情報における半画素精度の動きベクトルをMPEG4画像圧縮情報の8×8動きベクトルへと変換するときの動きベクトルの対応関係を示す図である。
【図24】従来の画像情報変換装置がMPEG2の16×16動きベクトルからMPEG4の8×8動きベクトルへ変換する際、画像がフレーム構造かつフィールド予測の場合の変換動作を模式的に説明する図である。
【図25】従来の画像情報変換装置の解像度/フレームレート変換部における変換動作を説明する図である。
【図26】従来の画像情報変換装置が画素サイズ調整フラグに基づいて画像サイズに適した動きベクトルを出力する処理を示すフローチャートである。
【図27】従来の画像情報変換装置における動きベクトル変換部の構成を説明するブロック図である。
【図28】従来の画像情報変換装置における補正部の構成を説明するブロック図である。
【図29】従来の画像情報変換装置における動きベクトル変換部の構成を説明するブロック図である。
【符号の説明】
1,2 画像情報変換装置、11 MPEG2画像情報復号化部、12 解像度/フレームレート変換部、13,24 動きベクトル変換部、14,25 動きベクトル補正部、15 MPEG4画像情報符号化部、16 解像度フレーム変換部、17 画像補填・除去部、18,26 動きベクトル整数画素検索部、19,27 動きベクトル半画素検索部、20 動きベクトル変換部、21 動きベクトル調整部、22 動きベクトル変換部、23 動きベクトル補正部
Claims (6)
- 水平方向及び垂直方向ともに16成分の離散コサイン変換係数からなるマクロブロックから構成される飛び越し走査の画像を符号化した入力画像圧縮情報を、水平方向及び垂直方向ともに16成分の離散コサイン変換係数からなるマクロブロックから構成され、上記飛び越し走査の画像に対して水平方向及び垂直方向ともに1/2のサイズを有する順次走査の画像を符号化した出力画像圧縮情報へと変換する際、動きベクトルを変換する動きベクトル変換装置において、
上記入力画像圧縮情報のマクロブロックは、上記変換により水平方向及び垂直方向ともに8成分のブロックに変換され、上記入力画像圧縮情報のマクロブロックを動き補償する第1の動きベクトルに基づいて、上記出力画像圧縮情報のマクロブロックを構成し、水平方向及び垂直方向ともに8成分のブロック又は16成分のブロックを動き補償する第2の動きベクトルを生成する変換手段と、
上記第2の動きベクトルを中心としたサーチウィンドウ内を検索し、最も予測誤差が少ない整数画素の動きベクトルを選択する動きベクトル整数画素検索手段と、
上記動きベクトル整数画素検索手段で選択された動きベクトルの水平成分MVhの半画素値[MVh/2]、[MVh/2]+1、[MVh/2]−1、及び垂直成分MVvの、半画素値[MVv/2]、[MVv/2]+1、[MVv/2]−1からなる周辺9半画素を検索し、最も予測誤差が少ない動きベクトルを選択する動きベクトル半画素検索手段とを有し、
上記変換手段は、上記動きベクトル整数画素検索手段で選択された水平方向及び垂直方向ともに8成分のブロックを動き補償する動きベクトルを受け取り、水平方向及び垂直方向ともに16成分のブロックを動き補償する動きベクトルを生成する動きベクトル変換装置。 - 上記サーチウィンドウを水平5画素、垂直3画素と設定する設定手段を備える請求項1記載の動きベクトル変換装置。
- 上記入力画像圧縮情報は、MPEG(Moving Picture Experts Group)によって標準化されたMPEG2規格に基づくものであり、上記出力画像圧縮情報は、MPEG4規格に基づくものである請求項1記載の動きベクトル変換装置。
- 水平方向及び垂直方向ともに16成分の離散コサイン変換係数からなるマクロブロックから構成される飛び越し走査の画像を符号化した入力画像圧縮情報を、水平方向及び垂直方向ともに16成分の離散コサイン変換係数からなるマクロブロックから構成され、上記飛び越し走査の画像に対して水平方向及び垂直方向ともに1/2のサイズを有する順次走査の画像を符号化した出力画像圧縮情報へと変換する際、動きベクトルを変換する動きベクトル変換方法において、
上記入力画像圧縮情報のマクロブロックは、上記変換により水平方向及び垂直方向ともに8成分のブロックに変換され、上記入力画像圧縮情報のマクロブロックを動き補償する第1の動きベクトルに基づいて、上記出力画像圧縮情報のマクロブロックを構成し、水平方向及び垂直方向ともに8成分のブロック又は16成分のブロックを動き補償する第2の動きベクトルを生成する変換工程と、
上記第2の動きベクトルを中心としたサーチウィンドウ内を検索し、最も予測誤差が少ない整数画素の動きベクトルを選択する動きベクトル整数画素検索工程と、
上記動きベクトル整数画素検索工程で選択された動きベクトルの水平成分MVhの半画素値[MVh/2]、[MVh/2]+1、[MVh/2]−1、及び垂直成分MVvの、半画素値[MVv/2]、[MVv/2]+1、[MVv/2]−1からなる周辺9半画素を検索し、最も予測誤差が少ない動きベクトルを選択する動きベクトル半画素検索工程とを有し、
上記変換工程では、上記動きベクトル整数画素検索工程で選択された水平方向及び垂直方向ともに8成分のブロックを動き補償する動きベクトルを受け取り、水平方向及び垂直方向ともに16成分のブロックを動き補償する動きベクトルを生成する動きベクトル変換方法。 - 上記サーチウィンドウは、水平5画素、垂直3画素である請求項4記載の動きベクトル変換方法。
- 上記入力画像圧縮情報は、MPEG(Moving Picture Experts Group)によって標準化されたMPEG2規格に基づくものであり、上記出力画像圧縮情報は、MPEG4規格に基づくものである請求項4記載の動きベクトル変換方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001009301A JP4779207B2 (ja) | 2001-01-17 | 2001-01-17 | 動きベクトル変換装置及び動きベクトル変換方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001009301A JP4779207B2 (ja) | 2001-01-17 | 2001-01-17 | 動きベクトル変換装置及び動きベクトル変換方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002218468A JP2002218468A (ja) | 2002-08-02 |
JP4779207B2 true JP4779207B2 (ja) | 2011-09-28 |
Family
ID=18876806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001009301A Expired - Fee Related JP4779207B2 (ja) | 2001-01-17 | 2001-01-17 | 動きベクトル変換装置及び動きベクトル変換方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4779207B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5207693B2 (ja) * | 2007-09-18 | 2013-06-12 | キヤノン株式会社 | 画像符号化装置及び画像符号化方法 |
JP5564939B2 (ja) * | 2009-12-25 | 2014-08-06 | 株式会社三洋物産 | 遊技機 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1066088A (ja) * | 1996-08-16 | 1998-03-06 | Ricoh Co Ltd | 多地点テレビ会議制御装置 |
JP2933561B2 (ja) * | 1997-03-26 | 1999-08-16 | 日本電気通信システム株式会社 | 動画符号変換装置 |
JPH10336672A (ja) * | 1997-05-30 | 1998-12-18 | Oki Electric Ind Co Ltd | 符号化方式変換装置およびその動きベクトル検出方法 |
JP4164903B2 (ja) * | 1998-08-04 | 2008-10-15 | 日本ビクター株式会社 | 動画像符号列変換装置及びその方法 |
JP2000165883A (ja) * | 1998-11-27 | 2000-06-16 | Matsushita Electric Ind Co Ltd | 動きベクトル検出装置 |
JP3855522B2 (ja) * | 1999-02-23 | 2006-12-13 | 松下電器産業株式会社 | 動画変換装置 |
-
2001
- 2001-01-17 JP JP2001009301A patent/JP4779207B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002218468A (ja) | 2002-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4682410B2 (ja) | 画像処理装置及び画像処理方法 | |
EP1528812B1 (en) | Predicting motion vectors for fields forward-predicted interlaced video frames | |
JP4193406B2 (ja) | 映像データ変換装置および映像データ変換方法 | |
US8514939B2 (en) | Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing | |
JP2007251497A (ja) | 動画像符号化方法、動画像符号化装置、動画像符号化プログラム | |
WO2012098845A1 (ja) | 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置 | |
JP5560009B2 (ja) | 動画像符号化装置 | |
JP4622077B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2009296300A (ja) | 画像符号化装置および方法 | |
JP2002152752A (ja) | 画像情報変換装置及び方法 | |
JP4779207B2 (ja) | 動きベクトル変換装置及び動きベクトル変換方法 | |
JP2002010267A (ja) | 動きベクトル変換装置及び方法 | |
JP4264811B2 (ja) | 画像復号化装置及び画像復号化方法 | |
JP4556286B2 (ja) | 動きベクトル変換装置及び方法 | |
JP2002044669A (ja) | 画像情報変換装置及び方法 | |
JP4529295B2 (ja) | 動きベクトル変換方法及び変換装置 | |
JP2001309389A (ja) | 動きベクトル変換装置及び方法 | |
JP5946980B1 (ja) | 画像復号化方法 | |
JP6181242B2 (ja) | 画像復号化方法 | |
JP5951915B2 (ja) | 画像復号化方法 | |
JP5911982B2 (ja) | 画像復号化方法 | |
JP5750191B2 (ja) | 画像復号化方法 | |
JP2002199399A (ja) | 動きベクトル変換方法及び変換装置 | |
JP4505992B2 (ja) | 画像情報変換装置及び方法 | |
JP2002135785A (ja) | 動きベクトル変換方法及び変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091001 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091006 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100413 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100607 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101005 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110607 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110620 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140715 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140715 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |