JP4556286B2 - 動きベクトル変換装置及び方法 - Google Patents
動きベクトル変換装置及び方法 Download PDFInfo
- Publication number
- JP4556286B2 JP4556286B2 JP2000132915A JP2000132915A JP4556286B2 JP 4556286 B2 JP4556286 B2 JP 4556286B2 JP 2000132915 A JP2000132915 A JP 2000132915A JP 2000132915 A JP2000132915 A JP 2000132915A JP 4556286 B2 JP4556286 B2 JP 4556286B2
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- conversion
- macroblock
- image
- compression information
- 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
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、動きベクトルを変換する動きベクトル変換装置及び方法に関し、詳しくは、離散コサイン変換等の直交変換と動き補償によって圧縮されたMPEG等の画像情報(ビットストリーム)を衛星放送、ケーブルTV、インターネット等のネットワークメディアを介して受信する際に、若しくは光、磁気ディスクのような記憶メディア上で処理する際に用いられる画像情報を変換する際に、動きベクトルを変換する動きベクトル変換装置及び方法に関する。
【0002】
【従来の技術】
近年、画像情報をディジタルとして取り扱い、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEGなどの画像情報圧縮方式が提供されている。そして、このような画像情報圧縮方法に準拠した装置は、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
【0003】
特に、MPEG2(ISO/IEC 13818−2)は、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する、汎用画像符号化方式として定義されている。
【0004】
すなわち、MPEG2符号化圧縮方式によれば、例えば、720×480画素を持つ標準解像度の飛び越し走査画像に4〜8Mbpsの符号量(ビットレート)を割り当て、1920×1088画素を持つ高解像度の飛び越し走査画像に対して18〜22Mbpsの符号量(ビットレート)を割り当てることにより、高い圧縮率と良好な画質の実現が可能となる。
【0005】
このようなことから、MPEG2は、プロフェッショナル用途及びコンシューマー用途の広範なアプリケーションに今後とも用いられるものと予想される。
しかし、MPEG2は、主として放送用に適合する高画質符号化を対象としており、例えばMPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。
【0006】
一方で、近年の携帯端末の普及により、今後とも高い圧縮率の符号化方式のニーズは高まると思われ、これに対応して、高い圧縮率を有するMPEG4符号化方式の標準化が行われている。この画像符号化方式に関しては、1998年12月にISO/IEC 14496−2として国際標準の規格が承認された。
【0007】
ところで、ディジタル放送用に一度符号化されたMPEG2画像圧縮情報(ビットストリーム)を、携帯端末上等で処理するのにより適した、より低い符号量(ビットレート)の画像圧縮情報(ビットストリーム)に変換したいというニーズがある。
【0008】
かかる目的を達成する従来の画像情報変換装置の例を図9に示す。すなわち、この画像情報変換装置は、飛び越し走査のMPEG2画像圧縮情報(ビットストリーム)を順次走査のMPEG4画像圧縮情報(ビットストリーム)に変換するものである。
【0009】
図9に示すように、この画像情報変換装置は、MPEG2画像圧縮情報(ビットストリーム)を復号する画像情報復号化部1と、画像情報復号化部1で復号された画像の解像度及びフレームレートを変換する解像度/フレームレート変換部2と、解像度/フレームレート変換部2で解像度及びフレームレートを変換された画像をMPEG4画像圧縮情報(ビットストリーム)に符号化する画像情報符号化部3とから構成される。
【0010】
画像情報変換装置に入力されたMPEG2画像圧縮情報(ビットストリーム)は、画像情報復号化部1により復号される。
【0011】
ここで、画像情報変換装置に入力されるMPEG2画像圧縮情報(ビットストリーム)は、水平方向及び垂直方向に共に8成分(以下、8×8という。他も同様とする。)の離散コサイン変換(discrete cosine transformation; DCT)係数からなるブロックを単位として構成される。MPEG2画像情報復号化部1は、8×8DCT係数のすべてを用いて復号処理を行うことができるが、水平方向に低域4成分及び垂直方向に8成分(以下、4×8という。)のDCT係数や、水平方向及び垂直方向共に低域4成分(以下、4×4という。)のDCT係数のみを用いた復号処理を行うこともできる。
【0012】
なお、以下の説明では、このような4×8DCT係数を用いた復号処理を4×8ダウンデコードと呼び、4×4DCT係数を用いた復号処理を4×4ダウンデコードと呼ぶことにする。画像情報復号化部1は、4×8ダウンデコードや4×4ダウンデコードによる処理を採用することにより、ダウンデコードによる画質劣化を最小限に抑えながら、演算量とビデオメモリ容量を削減すると共に、後段のダウンサンプリング処理を簡略化することができる。
【0013】
画像情報復号部1により復号された画像は、解像度/フレームレート変換部2へ伝送され、任意の異なる解像度及びフレームレートを持つ画像に変換され、さらに、画像情報符号化部3により、MPEG4画像圧縮情報(ビットストリーム)に符号化される。
【0014】
ところで、画像情報符号化部3においては、解像度/フレームレート変換部2において解像度及びフレームレートが変換された画像をMPEG4画像圧縮情報(ビットストリーム)に符号化する際に動きベクトルを検出することになるが、このときの動きベクトル検出演算には全演算処理量の約60〜70パーセントが費やされている。
【0015】
このように画像情報符号化部3における処理量が多いために、従来の画像情報変換装置では、画像情報をリアルタイムに変換することが難しく、その結果、画像情報の変換に時間遅延が発生したり、装置の規模が大きくなってしまうという問題があった。
【0016】
図10に示す画像情報変換装置は、かかる問題を解決するために提案されたものである。
【0017】
この画像情報変換装置においては、MPEG2画像圧縮情報(ビットストリーム)の動きベクトルをMPEG4画像圧縮情報(ビットストリーム)の動きベクトルに変換することにより、処理の高速化が図られている。すなわち、上述した図9の画像情報変換装置の画像情報符号化部3においては動きベクトルの検出に大きな演算処理量を要していたが、この図10に示す画像情報変換装置の画像情報符号化装置7ではMPEG4の符号化の際に動きベクトルを検出する必要がないので、演算量が低減されて処理が高速化される。
【0018】
この画像情報変換装置は、入力されたMPEG2画像圧縮情報(ビットストリーム)を復号すると共にMPEG2の動きベクトル、画像サイズ等のパラメータを取り出す画像情報復号化部4と、画像情報復号化部4で取り出されたパラメータ及び外部から入力された画像サイズ調整フラグに基づいて、画像情報復号化部4で復号された画像の解像度及びフレームレートを変換する解像度/フレームレート変換部5とを有している。
【0019】
解像度/フレームレート変換部5は、画像情報復号化部4で取り出されたMPEG2動きベクトル、画像サイズ等のパラメータに基づいて画像情報復号化部4で復号された画像の解像度及びフレームレートを変換する解像度/フレームレート変換部5aと、外部から入力された画像サイズ調整フラグに基づいて、解像度/フレームレート変換部5aにて解像度及びフレームレートを変換された画像に対して画素の補填又は除去を行う画素補填/除去部5bとを有している。
【0020】
また、画像情報変換装置は、画像情報復号化部4から送られたMPEG2の動きベクトルをMPEG4の動きベクトルに変換する動きベクトル変換部6と、解像度/フレームレート変換部5にて解像度及びフレームレートを変換された画像を動きベクトル変換部6から送られたMPEG4動きベクトルに基づいてMPEG4画像圧縮情報(ビットストリーム)に符号化して出力する画像情報符号化部7とを有している。
【0021】
この画像情報変換装置においては、解像度/フレームレート変換部5は、画像情報符号化部3におけるMPEG4画像圧縮情報(ビットストリーム)への符号化に適合するように、画像情報復号化部4から供給されMPEG2画像圧縮情報(ビットストリーム)が復号された画像の解像度及びフレームレートを変換する。
【0022】
動きベクトル変換部6は、解像度/フレームレート変換部5における解像度変換の際に、画像情報復号化部4から送られたMPEG2動きベクトル、画像サイズ等のパラメータや外部から供給された画像サイズ調整フラグに基づいて、MPEG4動きベクトルを生成する。
【0023】
動きベクトル変換部6における処理は、解像度変換前の画像に対応する動きベクトルと、解像度変換後の画像に対応する動きベクトルとが、大きな相関を有することを用いたものである。
【0024】
これら解像度変換の前後の動きベクトルの相関について、図11を用いて説明する。
【0025】
図11のAに示す解像度変換前の現フレーム20の左下には、太陽21及び山22が表示されているとする。また、現フレーム20の太陽21は、前フレームでは図中の網が掛けられた場所23に位置していたとする。そして、図中のMVは、前フレームの太陽24の位置を始点として現フレーム20の太陽21に向かう動きベクトルを表している。なお、この動きベクトルMVは、フレームの水平成分及び垂直成分にそれぞれ分解することができる。
【0026】
一方、図11のBに示す解像度変換後の現フレーム25に左下には、太陽26及び山27が表示されているとする。また、現フレーム25の太陽26は、前フレームでは図中の網が掛けられた部分28に位置していたとする。そして、図中の動きベクトルMV’は、前フレームの太陽29の位置を始点として現フレーム25の太陽26に向かう動きベクトルを表している。なお、この動きベクトルMV’も、フレームの水平成分及び垂直成分にそれぞれ分解することができる。
【0027】
ここで、解像度変換後の動きベクトルMV’は、解像度変換前の動きベクトルMVから解像度変換レートに基づいて求めることができる。
【0028】
すなわち、解像度変換後の動きベクトルMV’の水平成分は、解像度変換前の動きベクトルMVの水平成分と、水平方向(横方向)の解像度変換レートとを用いることによって求められる。同様に解像度変換後の動きベクトルMV’の垂直成分は、解像度変換前の動きベクトルMVの垂直成分と、垂直方向(縦方向)の解像度変換レートとを用いることによって求められる。
【0029】
このように、動きベクトル変換部6においては、解像度変換前の動きベクトルMVや画像サイズ等のパラメータに基づいて、解像度変換後の動きベクトルMV’への変換を行うことができる。
【0030】
すなわち、図10の動きベクトル変換部6においては、解像度変換の比率を用いて、解像度変換前のMPEG2動きベクトルMVから解像度変換後のMPEG4の動きベクトルMV’を得ることができる。したがって、この図10の動きベクトル変換部6においては画像から動きベクトルを抽出するための演算は必要がないので、上述した図9の画像情報変換装置と比較すると、画像を符号化する際の演算量が少なく、時間遅延が低減されて処理が高速化されている。
【0031】
なお、画像情報復号化部4は、マクロブロックの8×8DCT係数を用いた復号の他に、4×8DCT係数を用いた4×8ダウンデコードや4×4DCT係数を用いた4×4ダウンデコードを行うこともできる。このように、8×8DCT係数を用いた復号に代わって4×8ダウンデコードや4×4ダウンデコードを採用することにより、ダウンデコードによる画質劣化を最小限に抑えながら、演算量とビデオメモリ容量を削減することができる。さらに、これらのダウンデコードによって、後段のダウンサンプリング処理を簡略化することができる。
【0032】
画像情報復号化部4から出力された画像は、解像度/フレームレート変換部5へ送られ、解像度及びフレームレート変換を施された後、外部から入力された画像サイズ調整フラグによりMPEG4画像符号化に適した画像サイズに変換されて出力される。
【0033】
解像度/フレームレート変換部5は、解像度及びフレームレートを変換する解像度/フレームレート変換部5aと、解像度及びフレームレートが変換された画像に対して画素の補填又は除去を行う画素補填/除去部5bとを有している。
【0034】
解像度/フレームレート変換部5aは、画像復号化部4から供給された画像の解像度を変換する。ここでは、解像度/フレームレート変換部5は、水平方向及び垂直方向共に画像の解像度が1/2になるようなダウンサンプリングを行うものとする。
【0035】
まず、垂直方向のダウンサンプリングについて、図12を参照して説明する。
【0036】
MPEG2画像圧縮情報(ビットストリーム)を復号した飛び越し走査の各フレームの画像は、図12のAに示す第一フィールド及び図12のBに示す第二フィールドから構成される。
【0037】
図中には、表示順序にしたがって、フレーム内で符号化されたイントラ符号化画像(Iピクチャ)、前方の画像及び後方の画像を参照する双方向予測符号化画像(Bピクチャ)、前方の画像を参照する順方向予測符号化画像(Pピクチャ)の4つのフレームが示されている。
【0038】
なお、簡単のために、以下では、Iピクチャ、Pピクチャ及びBピクチャをそれぞれI、P及びBと略することがある。
【0039】
画像の垂直方向のダウンサンプリングは、図12のA及びBに示すフレームから、図12のAに示す第一フィールドを抽出して、飛び越し走査の画像を図12のCに示す順次走査の画像に変換することにより行う。この変換により、画像の垂直方向の解像度は1/2になる。
【0040】
なお、垂直方向のダウンサンプリングは、図12のA及びBに示すフレームからの図12のBに示す第二フィールドを抽出することによって行ってもよい。
【0041】
実際には、垂直方向のダウンサンプリングは、ビットレートを低下させるためのフレームレート変換と同時に行われる。すなわち、図12のCに示す順次走査の画像は、IBBPのピクチャの内でIピクチャ及びPピクチャから抽出された第一フィールドから構成される。
【0042】
これにより、図12のA及びBに示されたIBBPのフレームから構成される飛び越し走査の画像は、図12のCに示すようにIPの第一フィールドから構成される順次走査の画像になる。
【0043】
異常のように、解像度/フレームレート変換部5では、解像度変換と共に、同時に行われるなフレームレート変換によってビットレートをさらに低減している。
【0044】
一方、水平方向のダウンサンプリングについては、ダウンサンプリングフィルタにより解像度を1/2に変換することにより行う。例えば、ダウンサンプリングフィルタは、画像から画素を間引くことにより解像度の変換を行う。
【0045】
このようにして、解像度/フレームレート変換部5aに入力された飛び越し走査の画像は、解像度を水平方向及び垂直方向共に1/2に変換されると同時に、フレームレートを変換された順次走査の画像に変換される。
【0046】
解像度/フレームレート変換部5aにて解像度及びフレームレートを変換された画像は、画像の画素を補填又は除去する画素補填/除去部5bに送られる。
【0047】
画素補填/除去部5bは、画像情報符号化部7における符号化に適合するように、画素の補填又は除去を行うことにより画像サイズを調整する。
【0048】
具体的には、画素補填/除去部5bは、外部から入力される画像サイズ調整フラグに基づいて、画素の補填又は除去を行うことにより画像の水平方向及び垂直方向の画素数が共に16の倍数になるようにする。これによって、画像のサイズは、画像情報符号化部7で行われる16×16画素のマクロブロック単位の符号化に適合するようになる。
【0049】
画素補填/除去部5bにおける処理は、図13に示すような手順によって行われる。
【0050】
図13のAに示すように、解像度/フレームレート変換部5には、画像情報復号化部4で16×16DCT係数からなるマクロブロックごとに復号され、16×16画素のマクロブロックを構成要素とした画像が入力される。したがって、入力された画像を水平方向にm画素及び垂直方向にn画素とすると、m及びnは共に16の倍数である。
【0051】
この画像は、解像度/フレームレート変換部5の解像度/フレームレート変換部5aによって、水平方向及び垂直方向共に1/2に解像度変換され、水平方向にm/2画素及び垂直方向にn/2画素から構成されるようになる。
【0052】
このように解像度変換により水平方向にm/2画素及び垂直方向にn/2画素から構成されるようになった画像が画素補填/除去部5bに入力されるが、これらm/2及びn/2は、16で割り切れる場合と、16で割ると8余る場合とがある。
【0053】
そこで、画素補填/除去部5bにおいては、図13のS1に示すように、m/2及びn/2が16の倍数である場合とそうでない場合によって処理を分岐させている。
【0054】
すなわち、図13のBに示すように、m/2及びn/2が共に16の倍数の場合には、画像のサイズはMPEG4の画像圧縮符号化に適合する。したがって、この場合には、画素補填/除去部5bは、画素の補填又は除去を行うことなく水平方向にm/2及び垂直方向にn/2画素の画像をそのまま出力する。
【0055】
m/2又はn/2の少なくとも一方が16で割ると8余る場合には、画像のサイズは、MPEG4の画像圧縮符号化に適合していない。したがって、この場合には、画像補填/除去部5bは、画像のサイズをMPEG4の画像圧縮符号化に適合させるために、画素の補填又は除去を行うことにより画像のサイズを変更する。
【0056】
なお、以下では便宜上、水平方向のm/2画素が16で割り切れない場合について例示するが、垂直方向のn/2画素が16で割り切れない場合や、水平方向のm/2画素及び垂直方向のn/2画素が共に16で割り切れない場合についても同様である。
【0057】
画素補填/除去部5bは、外部から入力された画像サイズ調整フラグに応じて、画像へ8画素を補填する処理と、画像から8画素を除去する処理をスイッチS2で切り換える。
【0058】
すなわち、画像サイズ調整フラグに応じて8画素を除去する場合には、スイッチS2で画素の除去を選択する。
【0059】
この場合には、図13のCに示すように、水平方向にm/2画素の画像の例えば後部から水平方向に8画素が除去される。これによって、画像は水平方向にはm/2−8画素(すなわち、16で割り切れる画素数)から構成されるようになる。同様に、画像の水平方向に先頭から画素を除去することもできる。
【0060】
一方、画像調整フラグに応じて8画素を補填する場合には、スイッチS2で画素の補填を選択する。
【0061】
この場合には、図13のDに示すように、水平方向にm/2画素の画像の例えば後部に8画素が補填される。これによって、画素は水平方向にはm/2+8画素(すなわち、16で割り切れる画素数)から構成されるようになる。同様に、画像の水平方向に先頭に画素を補填することもできる。なお、画像に補填する画素は、新たに作成したり、補填前の画像から複製したり、画像に適した画素を選択したものを使用することができる。
【0062】
このような画素補填/除去部5bにおける画素の補填又は除去により、画像の水平方向及び垂直方向の画素数は共に16の倍数になり、画像情報符号化部7におけるMPEG4画像圧縮情報(ビットストリーム)への符号化に適合するようになる。
【0063】
図10に戻り、画像情報変換装置の画像情報復号化部4において、入力されたMPEG2画像圧縮情報(ビットストリーム)は、可変長符号の復号化が行われた後、Pピクチャに対する動きベクトルやマクロブロックタイプなどその他のパラメータが取り出される。
【0064】
動きベクトル変換部6においては、これらのパラメータを用いて動きベクトルの変換が行われる。この動きベクトル変換部6における動きベクトル変換方法について、図14を参照して説明する。
【0065】
図14のAは画像情報復号化部4より出力された画像を表している。図14のBは、図14のAに示す画像を解像度/フレームレート変換部5で水平方向及び垂直方向共に1/2の解像度に変換された画像を表している。
【0066】
例えば、図14のAに示した解像度変換前の画像における左上の16×16マクロブロック101は、解像度/フレームレート変換部5によって、図6のBに示した変換後の画像における左上の8×8ブロック102に変換される。
【0067】
同様に、図14のAに示した解像度変換前の画像における4つの16×16マクロブロック103は、解像度/フレームレート変換部5による解像度変換後の画像における2×2の4つの8×8ブロック104に対応している。これら4つの8×8ブロック104によって、一つの16×16マクロブロックが構成される。
【0068】
解像度変換前の画像における4つの16×16マクロブロック103の各マクロブロックの動きベクトルMV1,MV2,MV3,MV4は、解像度変換後の画像における4つの8×8ブロック104の動きベクトルmv1、mv2、mv3、mv4にそれぞれ対応している。
【0069】
なお、16×16マクロブロックの動きベクトルを16×16動きベクトルと、8×8ブロックの動きベクトルを8×8動きベクトルと称することにする。
【0070】
解像度/フレームレート変換部5による解像度変換の前後の画像に対応する動きベクトルの相関は前述したように大きいので、解像度変換後の8×8ブロックの動きベクトルは、解像度変換前の16×16マクロブロックの動きベクトルより求めることができる。したがって、解像度変換前の4つの16×16マクロブロック103の動きベクトルMV1,MV2,MV3,MV4から、解像度変換後の4つのブロック104の動きベクトルmv1,mv2,mv3,mv4をそれぞれ求めることができる。
【0071】
図10に戻り、MPEG2の動きベクトルをMPEG4の動きベクトルに変換する画像情報変換装置の動きベクトル変換部6の構成について説明する。
【0072】
この動きベクトル変換部6は、図15に示すように、入力されたMPEG2の動きベクトル、画像サイズ等のパラメータの内、MPEG2の16×16動きベクトルをMPEG4の8×8動きベクトルに変換する動きベクトル変換部8と、画像サイズ調整フラグに基づいた画像サイズの調整に対応して動きベクトルを調整する動きベクトル調整部9とを有している。
【0073】
また、動きベクトル変換部6は、動きベクトル調整部9から出力されたMPEG4の8×8動きベクトルをMPEG4の16×16動きベクトルに変換する動きベクトル変換部10と、MPEG4の16×16動きベクトルを用いてイントラマクロブロックに対する補正を行う動きベクトル補正部11とを有している。
【0074】
動きベクトル変換部8は、動きベクトル変換部6に入力されたMPEG2画像圧縮情報(ビットストリーム)中の動きベクトル、画像サイズ等のパラメータは、MPEG4の8×8動きベクトルに変換する。
【0075】
ここで、フレーム内で符号化するため動き補償を行わないMPEG2の16×16イントラマクロブロックに対しては、解像度変換したMPEG4の8×8ブロックが、動きベクトルを持つことを想定する。このため、動きベクトル変換部8では、その8×8ブロックに対する動きベクトルとして0を設定し、さらに後段の動きベクトル補正部11での処理を行うためにイントラモードフラグを設ける。なお、MPEG2では、イントラマクロブロックの場合、イントラモードフラグを立てるようになされている。
【0076】
動きベクトル変換部8から出力されたMPEG4の8×8動きベクトルは、動きベクトル調整部9において、画像サイズ調整フラグによって調整された画像に応じた調整が施される。
【0077】
動きベクトル調整部9より出力されたMPEG4の8×8動きベクトルは、動きベクトル変換部10において、MPEG4の16×16マクロブロックを構成する4つの8×8ブロックの動きベクトルの和を、動きベクトルの個数で割ることによりMPEG4の16×16マクロブロックの動きベクトルを算出する。
【0078】
これにより、図16に示すように、動きベクトル補正部11は、そのブロックがイントラマクロブロックに対応する場合に立つイントラモードフラグの状態に応じて、スイッチ21を切り換えて補正を行う。
【0079】
すなわち、動きベクトル補正部11は、イントラモードフラグが立っている場合には、スイッチ21を1に倒して処理を補正処理部21に進める。補正処理部21は、イントラマクロブロックに対応する0に設定されたMPEG4の8×8ブロックの動きベクトルを、動きベクトル変換部10で変換されたMPEG4の16×16動きベクトルに置き換える。
【0080】
なお、このような置き換えに代え、補正処理部21は、イントラマクロブロックに対応するMPEG4の8×8ブロックの動きベクトルを、そのイントラマクロブロックの周辺に存在するインターマクロブロックの動きベクトルから変換された動きベクトルに置き換えることもできる。
【0081】
また、補正処理部21は、イントラマクロブロックに対応するMPEG4の8×8ブロックの動きベクトルを、そのイントラマクロブロックに一番近いインターマクロブロックの動きベクトルから変換された動きベクトルに置き換えることもできる。
【0082】
さらに、MPEG2のマクロブロックタイプがスキップマクロブロックを示しているときには、MPEG4の各ブロックの動きベクトルは0に設定される。
【0083】
一方、イントラフラグモードが立たない場合には、動きベクトル補正部11はスイッチ21を2に倒す。この場合には、入力されたMPEG4の8×8動きベクトルがそのまま出力される。
【0084】
図10に戻り、動きベクトル変換部6からは、図15に示した動きベクトル補正部11を介したMPEG4の8×8動きベクトルと、動きベクトル変換部10にて変換されたMPEG4の16×16動きベクトルが出力される。
【0085】
図10の画像情報符号化部7では、解像度/フレームレート変換部5からの出力画像に対して、動きベクトル変換部6から出力されたMPEG4の16×16動きベクトル又はMPEG4の8×8動きベクトルを用いて、MPEG4画像符号化方式による符号化が行わる。そして、この画像情報変換装置からは、画像情報符号化部7で符号化されたMPEG4画像圧縮情報(ビットストリーム)が出力される。
【0086】
【発明が解決しようとする課題】
ところで、図15に示した動きベクトル変換部10においては、動きベクトル変換部8から出力されたMPEG4の8×8動きベクトルの平均値を算出し、この算出値をMPEG4の16×16動きベクトルとしている。
【0087】
しかしながら、平均値を算出することで、MPEG2画像圧縮情報(ビットストリーム)においては符号化効率の高かったMPEG2の16×16動きベクトルを持つマクロブロックが、隣接する符号化効率の低いマクロブロックに対するMPEG2の16×16動きベクトルに影響され、MPEG4画像圧縮情報(ビットストリーム)への符号化効率が低下するという問題点を有している。
【0088】
本発明は、上述の実情に鑑みて提案されるものであって、動きベクトルを変換する際に、画像圧縮情報への符号化効率が低下しないような動きベクトルを選択する動きベクトル変換装置及び方法を提供することを目的とする。
【0089】
【課題を解決するための手段】
上述の課題を解決するために、本発明は、水平方向及び垂直方向共に一定数成分の離散コサイン変換係数からなるマクロブロックから構成される、飛び越し走査の画像を符号化した入力画像圧縮情報を、水平方向及び垂直方向共に一定数成分の離散コサイン変換係数からなるマクロブロックから構成され、上記飛び越し走査の画像に対して解像度変換した順次走査の画像を符号化した出力画像圧縮情報に変換する際に動きベクトルを変換する動きベクトル変換装置において、上記入力画像圧縮情報のマクロブロックは上記変換により解像度変換されたブロックに変換され、上記入力画像圧縮情報のマクロブロックを動き補償する第1の動きベクトルに基づいて上記出力画像圧縮情報のマクロブロックを構成する上記ブロックをそれぞれ動き補償する第2の動きベクトルを生成し、この第2の動きベクトルの内で、動きベクトルの長さに基づいて、符号化効率の最も高いものを上記出力画像圧縮情報のマクロブロックを動き補償する第3の動きベクトルとする変換手段を有し、符号化効率のパラメータとして上記入力画像圧縮情報を構成するマクロブロックごとの動きベクトルの長さを用い、その中間値となる動きベクトルに対応するマクロブロックに対応する上記第2の動きベクトルを選択する。
【0090】
すなわち、本発明は、入力画像圧縮情報として飛び越し走査のMPEG2画像情報圧縮情報(ビットストリーム)を入力とし、出力画像圧縮情報として順次走査のMPEG4画像圧縮情報(ビットストリーム)を出力する際に、MPEG2画像圧縮情報(ビットストリーム)における画枠サイズ、及び、動きベクトルなどのマクロブロックごとの情報を入力とし、MPEG2の16×16動きベクトルをMPEG4の8×8に変換する動きベクトル変換部、画像サイズ調整フラグによる動きベクトル調整部、記憶手段であるマクロブロック情報バッファ、MPEG4の8×8動きベクトルをMPEG4の16×16に変換する動きベクトル変換部、MPEG2のイントラマクロブロックに対する動きベクトル補正部を有し、順次走査のMPEG4画像圧縮情報(ビットストリーム)符号化の際に高い符号化効率を与えるMPEG4の8×8動きベクトル及びMPEG4の16×16動きベクトルを出力するものである。
【0091】
MPEG2の16×16動きベクトルをMPEG4の8×8に変換する動きベクトル変換部においては、MPEG2の16×16動きベクトルをスケーリングし、また必要に応じて時間軸方向の補正をすることでMPEG4の8×8動きベクトルを生成し、画像サイズ調整フラグによる動きベクトルヘ調整部においては、MPEG4画像情報に符号化する際にマクロブロック単位の処理を行うことを可能にするための画枠調整を行い、マクロブロック情報バッファにおいては、入力されたMPEG2画像圧縮情報(ビットストリーム)における、ビット数、量子化スケール、非零DCT係数の個数といったマクロブロックごとの情報を格納し、MPEG4の8×8動きベクトルからMPEG4の16×16に変換する動きベクトル変換部においては、マクロブロック情報バッファに格納された情報を元に、MPEG4画像圧縮情報(ビットストリーム)の中の当該マクロブロックに対するMPEG4の8×8動きベクトルの内の1つを選択してMPEG4の16×16動きベクトルとし、MPEG2イントラマクロブロックに対する動きベクトル補正部においては、MPEG2画像圧縮情報(ビットストリーム)中の情報であるイントラモードフラグに応じた、MPEG4の8×8動きベクトルの補正を行う。
【0092】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【0093】
本発明を適用した動きベクトル変換装置の構成について、図1を参照して説明する。
【0094】
本実施の形態の動きベクトル変換装置は、飛び越し走査のMPEG2画像圧縮情報(ビットストリーム)を順次走査のMPEG4画像圧縮情報(ビットストリーム)に変換する画像情報変換装置に備えられ、入力されたMPEG2画像圧縮情報(ビットストリーム)のMPEG2の16×16動きベクトルをMPEG4画像圧縮情報(ビットストリーム)のMPEG4の16×16動きベクトル又はMPEG4の8×8動きベクトルに変換するものである。
【0095】
動きベクトル変換装置には、MPEG2の16×16動きベクトル、画像サイズ、MPEG2の16×16マクロブロック等のパラメータが入力される。
【0096】
動きベクトル変換装置は、入力されたMPEG2の16×16動きベクトルをMPEG4の8×8動きベクトルに変換する動きベクトル変換部12と、動きベクトル変換部12から出力されたMPEG4の8×8動きベクトルを画像サイズ調整フラグに基づいた画像サイズの調整に対応して調整する動きベクトル調整部13とを有している。
【0097】
また、動きベクトル変換装置は、入力されたマクロブロック情報を格納するマクロブロック情報バッファ14と、マクロブロック情報バッファ14に格納されたマクロブロック情報に基づいて、動きベクトル調整部13から出力されたMPEG4の8×8動きベクトルをMPEG4の16×16の動きベクトルに変換する動きベクトル変換部15とを有している。
【0098】
さらに、動きベクトル変換装置は、動きベクトル変換部15から送られたMPEG4の16×16動きベクトルに基づいて、動きベクトル調整部13から出力されたMPEG4の16×16動きベクトルを用いてイントラマクロブロックに対する補正を行う動きベクトル補正部16とを有している。
【0099】
そして、動きベクトル変換装置は、動きベクトル変換部15からのMPEG4の16×6動きベクトルと、動きベクトル補正部16からの8×8動きベクトルとを出力する。
【0100】
次に、動きベクトル変換部15におけるMPEG4の8×8動きベクトルからMPEG4の16×16動きベクトルへの変換の動作原理について説明する。
【0101】
本実施の形態では、動きベクトル変換部15は、動きベクトル調整部13から供給されるMPEG4の8×8動きベクトルの内、符号化効率が最も高いと思われるMPEG4の8×8マクロブロックの動きベクトルを選択する。そして、選択されたMPEG4の8×8動きベクトルをMPEG4の16×16動きベクトルとして出力する。
【0102】
ここで、動きベクトル変換部15は、マクロブロック情報バッファ14に格納されたマクロブロック情報に基づいて、MPEG4の8×8ブロックに対応するMPEG2の16×16マクロブロックの符号化効率を判定する。
【0103】
上述したように、動きベクトル変換部12における変換において、MPEG4の8×8ブロックにはMPEG2の16×16マクロブロックが対応している。符号化効率の判定は、MPEG4の16×16マクロブロックを構成する4つのMPEG4の8×8ブロックに対応する4つのMPEG2の16×16マクロブロックに対して行われる。
【0104】
具体的には、動きベクトル変換部15は、次に掲げるような方法により、4つのMPEG2の16×16マクロブロックの内、符号化効率の最も高いマクロブロックを判定する。
【0105】
第一の方法は、MPEG2の16×16マクロブロックを構成する16×16DCT係数の内、非零のDCT係数が最も少ないMPEG2の16×16マクロブロックを符号化効率の最も高いマクロブロックと判定するものである。
【0106】
第二の方法は、MPEG2の16×16マクロブロックは輝度成分及び色差成分より構成されるが、この内で輝度成分のDCT係数に割り当てられたビット数の最も少ないマクロブロックを符号化効率の最も高いマクロブロックと判定するものである。
【0107】
第三の方法は、MPEG2の16×16マクロブロックのDCT係数に割り当てられたビット数の最も少ないマクロブロックを符号化効率の最も高いマクロブロックと判定するものである。
【0108】
第四の方法は、動きベクトル等を含め、MPEG2の16×16マクロブロックに割り当てられた全ビット数の最も少ないマクロブロックを符号化効率の最も高いマクロブロックと判定するものである。
【0109】
第五の方法は、MPEG2の16×16マクロブロックのDCT係数を量子化するために割り当てられた量子化スケールが最も小さいマクロブロックを符号化効率の最も高いマクロブロックと判定するものである。
【0110】
第六の方法は、コンプレキシティXの最も低いMPEG2の16×16マクロブロックを符号化効率の最も高いマクロブロックと判定するものである。
【0111】
ここで、各マクロブロックに割り当てられたコンプレキシティXは、そのマクロブロックに割り当てられた量子化スケールQ、及びビット数Bを用いて以下のように計算される。
【0112】
【数1】
【0113】
ビット数Bは、マクロブロック全体に割り当てられたビット数、DCT係数に割り当てられたビット数、又は輝度成分に割り当てられたDCT係数に割り当てられたビット数のいずれでもよい。
【0114】
また、動きベクトル変換部15は、次に掲げるような方法により、4つのMPEG2の16×16マクロブロックの内、符号化効率の最も高いマクロブロックを判定してもよい。
【0115】
すなわち、符号化効率のパラメータとしてMPEG2の16×16マクロブロックごとの動きベクトルの長さを用い、その中間値となる動きベクトルに対応するマクロブロックを符号化効率の最も高いマクロブロックと判定するものである。
【0116】
上記中間値は、MPEG2の16×16マクロブロックごとの非零の離散コサイン変換係数の個数を用い、この個数の最も少ないマクロブロックを2回重複して数え、合計5つの動きベクトルから求めることことができる。
【0117】
また、上記中間値は、MPEG2の16×16マクロブロックごとの輝度成分の離散コサイン変換係数に割り当てられたビット数を用い、このビット数の最も少ないマクロブロックを2回重複して数え、合計5つの動きベクトルから求めることができる。
【0118】
さらに、上記中間値は、MPEG2の16×16マクロブロックごとの離散コサイン変換係数に割り当てられた全ビット数を用い、この全ビット数の最も少ないマクロブロックを2回重複して数え、合計5つの動きベクトルから求めることができる。
【0119】
そして、上記中間値は、MPEG2の16×16マクロブロックに割り当てられた量子化スケールを用い、この量子化スケールの最も少ないマクロブロックを2回重複して数え、合計5つの動きベクトルから求めることができる。
【0120】
さらにまた、上記中間値は、MPEG2の16×16マクロブロックごとに割り当てられたビット数Bおよび量子化スケールQに関して、上記コンプレキシティXを用い、このコンプレキシティXの最も少ないマクロブロックを2回重複して数え、合計5つの動きベクトルから中間値を求めることができる。
【0121】
このように、動きベクトル変換部15は、符号化効率の最も高いと思われるMPEG2の16×16マクロブロックに対応するMPEG4の8×8動きベクトルを選択し、この動きベクトルをMPEG4の16×16動きベクトルとしている。
【0122】
したがって、動きベクトル変換装置15を用いることにより、MPEG2画像圧縮情報(ビットストリーム)をMPEG4画像圧縮情報(ビットストリーム)に変換する際に、画像情報の符号化効率の低減を抑制することができる。
【0123】
次に、MPEG2の16×16動きベクトルをMPEG4の8×8動きベクトルに変換する動きベクトル変換部12の動作原理について、図2を参照して説明する。
【0124】
なお、動きベクトル変換部12には、MPEG2の16×16動きベクトルと共にマクロブロックタイプ等が入力されるものとする。
【0125】
最初のステップS11において、動きベクトル変換部12の処理は、入力されたマクロブロックタイプが、フレーム内で符号化されたイントラマクロブロック、フレーム間で予測符号化されたインターマクロブロック、又はスキップされるスキップマクロブロックのいずれであるかによって分岐する。
【0126】
すなわち、動きベクトル変換部12の処理は、マクロブロックタイプがイントラマクロブロックの場合にはステップS12に、スキップマクロブロックの場合にはステップS13に、インターマクロブロックの場合にはステップS14に、それぞれ進む。
【0127】
ステップS12において、動きベクトル変換部12は、イントラマクロブロックに対する処理を行う。動きベクトル変換部12は、まず、イントラマクロブロックに対しては、MPEG4の8×8動きベクトルを0に設定する。さらに、動きベクトル変換部12は、後段の動きベクトル補正部16における動きベクトルの補正の際に参照するために、イントラモードフラグを立てる。例えば、Iピクチャのイントラマクロブロックに対しては、イントラモードフラグが立つ。
【0128】
ステップS13において、動きベクトル変換部12は、スキップマクロブロックに対する処理を行う。すなわち、動きベクトル変換部12は、マクロブロックに対して、MPEG4の8×8動きベクトルを0に設定する。
【0129】
ステップS14において、動きベクトル変換部12の処理は、インターマクロブロックに対して、当該マクロブックがフレーム予測又はフィールド予測のいずれであるかによって分岐する。すなわち、動きベクトル変換部12は、フレーム予測の場合にはステップS15に、フィールド予測の場合にはステップS16に処理を進める。
【0130】
ステップS15において、動きベクトル変換部12は、フレーム予測のインターマクロブロックに対する動きベクトル変換の処理を行う。動きベクトル変換部12は、画像の解像度変換に応じて動きベクトルを変換する。
【0131】
図3を用いて、インターマクロブロックに対して、フレーム構造の画像にフレーム予測を行う場合の動きベクトル変換の様子を説明する。
【0132】
図3のAに示す解像度変換前の画像には、現フレームにおける太陽31及び山32が表示されている。解像度変換前の動きベクトルMVは、前フレームの太陽33の位置を始点とし、現フレームの太陽31の位置に向かっている。すなわち、解像度変換前の16×16動きベクトルであるこの動きベクトルMVは、(0,0)から(8,12)に向かっている。
【0133】
ここで、動きベクトルMVは、水平方向及び垂直方向のそれぞれついて、画像を構成する整数画素a1に相当する位置0,2,4,・・・と、隣接する整数画素a1の間の位置1,3,5,・・・に想定された仮想的な半画素a2とを用いて表されている。なお、この半画素a2は、動きベクトルMVを整数画素a1に相当する位置の1/2の精度で表すために想定された実在しない画素である。
【0134】
一方、図3のBに示す解像度変換後の画像は、図3のAに示した画像の解像度を1/2に変換したものである。
【0135】
この解像度変換により、水平方向及び垂直方向について、図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が想定されている。
【0136】
解像度変換後の動きベクトルMV’も、前フレームの太陽36の位置を始点とし、現フレームの太陽34の位置に向かっている。すなわち、解像度変換後の8×8動きベクトルであるこの動きベクトルMV’は、(0,0)から(4’,6’)に向かっている。
【0137】
このような画像の解像度変換に応じて、解像度変換前の動きベクトルMVから解像度変換後の動きベクトルMV’への変換を行うものとする。すなわち、解像度変換後の動きベクトルMV’の水平成分は、画像の水平方向の解像度変換レートに応じて1/2倍に変換される。同様に、解像度変換後の動きベクトルMV’の垂直成分も、画像の垂直成分の解像度変換レートに応じて1/2倍に変換される。
【0138】
例えば、図3のAに示した(0,0)から(8,12)に向かう解像度変換前の動きベクトルMVは、水平成分8及び垂直成分12であるので、解像度変換レートに応じて1/2倍されて水平成分4及び垂直成分6となる。したがって、図3のBに示す(0,0)から(4,6)に向かう解像度変換後の動きベクトルMV’が得られる。
【0139】
ところで、解像度変換後の動きベクトルMV’は、水平成分及び垂直成分に相当する整数画素b1又は半画素b2が存在しないことがある。なお、以下の説明では便宜上動きベクトルの水平成分についてのみ言及するが、垂直成分についても同様である。
【0140】
すなわち、図3のAの上部に対応関係を示すように、解像度変換前の画像において、解像度変換前の動きベクトルMVの水平成分が整数画素a1に相当する0,4,8,・・・のとき、すなわち水平成分を4で割った余りが0となるときには、解像度変換レートに応じて1/2倍して得た解像度変換後の動きベクトルMV’の水平成分は0’,2’,4’,・・・となり、解像度変換後の画像における整数画素b1に相当する。
【0141】
同様に、解像度変換前の動きベクトルMVの水平成分が整数画素a1に相当する2,6,10,・・・のとき、すなわち水平成分を4で割った余りが2となるときには、解像度変換レートに応じて1/2倍して得た解像度変換後の動きベクトルMV’の水平成分は1’,3’,5’,・・・となり、解像度変換後の画像における半画素b2に相当する。
【0142】
しかし、解像度変換前の動きベクトルMVの水平成分が半画素a2に相当する1,3,5,7,・・・のときには、解像度変換前の動きベクトルMVの水平成分を解像度変換レートに応じて1/2倍した値1/2,3/2,5/2,7/2,・・・には、相当する画素が存在しない。
【0143】
そこで、本実施の形態においては、かかる場合には、解像度変換後の動きベクトルMV’の水平成分は、半画素b2に相当する1’,1’,3’,3’,・・・に変換されるものとする。
【0144】
これら解像度変換前の動きベクトルMVの水平成分と、解像度変換後の動きベクトルMV’の関係をまとめて図4に示す。なお、この図4においては、解像度変換前の動きベクトルMVの水平成分又は垂直成分の値をMVと表記している。
【0145】
すなわち、解像度変換前の動きベクトルMVの水平成分を4で割った余りが0の場合には、解像度変換後の動きベクトルMV’の水平成分[MV/2]は整数画素b1に相当する。したがって、解像度変換後の動きベクトルMV’の水平成分を[MV/2]とする。
【0146】
解像度変換前の動きベクトルMVの水平成分を4で割った余りが1の場合には、解像度変換前の動きベクトルMVの水平成分を解像度変換レートに応じて1/2倍した値[MV/2]、解像度変換後の動きベクトルの水平成分に相当する画素は存在しない。この場合には、解像度変換後の動きベクトルMV’の水平成分は、[MV/2]+1として半画素b2に対応させる。
【0147】
解像度変換前の動きベクトルMVの水平成分を4で割った余りが2の場合には、解像度変換後の動きベクトルMV’の水平成分[MV/2]は半画素b2に相当する。この場合には、解像度変換後の動きベクトルMV’の水平成分を[MV/2]とする。
【0148】
解像度変換前の動きベクトルMVの水平成分を4で割った余りが3の場合には、解像度変換前の動きベクトルMVの水平成分を解像度変換レートに応じて1/2倍した値[MV/2]、解像度変換後の動きベクトルの水平成分に相当する画素は存在しない。この場合には、解像度変換後の動きベクトルMV’の水平成分は、[MV/2]として半画素b2に対応させる。
【0149】
このように、本実施の形態では、MPEG4画像符号化方式による符号化の予測効率が低減して画質が劣化することがないように、解像度変換前の動きベクトルMVが半画素a2に相当する場合には、解像度変換後の動きベクトルMV’も半画素b2に相当するように変換を行っている。
【0150】
なお、このような変換を行わないと、解像度変換前に動きベクトルMVが半画素a2に相当する場合には、解像度変換後の動きベクトルMV’に相当する画素がなくなり、復号された画像信号には、量子化による歪みが本来含まれているため、そのまま予測画像として使用すると予測効率が低下し、画質の劣化を引き起こす場合がある。
【0151】
このような画質の劣化を低減するために、低域フィルタに相当する参照画面での各画素間を1:1で直線補間した半画素精度を選択することもあり、これによっても画質劣化を避けることができる。
【0152】
図2に戻り、ステップS16において、フィールド予測のインターマクロブロックに対しては、動きベクトル変換部12の処理は、第一フィールド予測又は第二フィールド予測のいずれかによって分岐する。すなわち、第一フィールド予測の場合はステップS17に、第二フィールド予測の場合はステップS18に進む。
【0153】
第一フィールド予測である場合は、動きベクトル変換部12は、ステップS17において、第一フィールド予測に適した動きベクトルへの変換を行う。このような第一フィールド予測に適した動きベクトルへの変換について、図5を参照して説明する。
【0154】
図5のAに示すように、第一フィールドのラインa3及び第二フィールドのラインa4の内、第一フィールドのラインa3を取り出す間引きを行うことにより、解像度を1/2にする解像度変換が行われる。
【0155】
図5のBには、第一フィールドのラインb3を取り出すことで、垂直方向に解像度が1/2になった画像が示されている。また、第一フィールド予測を行っているため、解像度変換前の動きベクトルMVは、そのまま解像度変換後の動きベクトルMV’になる。
【0156】
なお、動きベクトルMVの水平成分については、図4に示したフレーム予測のインターマクロブロックの場合と同様な処理を行われるので説明を省略する。
【0157】
一方、図2のステップS18では、第二フィールド予測に適した動きベクトルの変換を行う。このステップS18における第二フィールド予測の動きベクトル変換について、図6を参照して説明する。
【0158】
図6のAにおいて、第一フィールドのラインa3及び第二フィールドのラインa4の内、第一フィールドのラインa3を取り出す間引きを行うことにより、解像度を1/2にする解像度変換が行われる。このため、この第二フィールド予測の場合においても、解像度変換後には第一フィールドの画素値を参照画像として用いる。
【0159】
図6のBには、参照画像として用いられる第一フィールドのラインb3のみから構成される解像度変換後の画像が示されている。
【0160】
しかし、飛び越し走査のMPEG2画像圧縮情報では第一フィールドの画像と第二フィールドの画像には、時間的及び空間的なずれがある。このため、MPEG2で予測画像として用いた第二フィールドの画素値を解像度変換後の第一フィールド予測に変換するように、動きベクトルの時間的及び空間的な補正を行う。
【0161】
まず、第二フィールド予測から近似的に第一フィールド予測に変換するための空間的補正として、動きベクトルの垂直成分に1を加える。これによって、図6のAに示すように、第二フィールド予測で求めた動きベクトルMVbottomは、垂直成分に1を加えることにより垂直方向に一行を繰り上げられ、第二フィールドが第一フィールドと同様の位置に達し、第一フィールド予測の近似動きベクトルMVtopが得られる。
【0162】
このような空間的な補正によって、第二フィールド予測で求めた動きベクトルMVbottomの空間的な位置は、第一フィールド予測で求めた動きベクトルと同様になる。
【0163】
式(2)は、近似第一フィールド、すなわち第一フィールドと同様な空間位置にある第二フィールドを空間的な補正によって予測した時の動きベクトルMVtopの垂直成分を表している。
【0164】
【数2】
【0165】
次に、第二フィールドから近似された第一フィールドと実際の第一フィールドとの時間ずれの補正を行う。
【0166】
図7は、時間ずれの補正を説明する図である。すなわち、図7のAにおける各フレームは、第一フィールド及び第二フィールドから構成されるが、第一フィールドと第二フィールドの時間間隔を1とすると、Iピクチャの第二フィールドとPピクチャの第一フィールドの時間間隔をaは1,3,5,・・・の値を取り得る。
【0167】
図中には、Iピクチャの第一フィールドを参照してPピクチャの第一フィールドを予測する動きベクトルMVtopと、Iピクチャの第二フィールドを参照してPピクチャの第一フィールドを予測する動きベクトルMVbottomとが示されている。
【0168】
図7のBには、図7のAに示した画像に解像度変換及びフレームレート変換により変換されたIピクチャの第一フィールド及びPピクチャの第一フィールドと、解像度変換後の動きベクトルMV’が示されている。
【0169】
これらの時間間隔の比率により、第二フィールドを参照する動きベクトルMVbottomから近似した近似MVtopを用いて、時間のずれを補正して解像度変換後の動きベクトルMV’を得るためには式(3)を適用する。
【0170】
【数3】
【0171】
式(2)を式(3)に代入すると、解像度変換後の動きベクトルMV’の垂直成分は、式(4)のようになる。
【0172】
【数4】
【0173】
なお、解像度変換後の動きベクトルの水平成分に対しては、、解像度変換前の動きベクトルMVbottomに(a+1)/aを乗じ、時間的な補正を行った後、先に図4に示したように変換される。すなわち、解像度変換前に半画素に相当する動きベクトルは、解像度変換後にも半画素に相当する動きベクトルに変換される。
【0174】
場合によっては、動きベクトルの垂直成分に対して時間的補正を行った後、空間的な補正を行ってもよい。その場合、動きベクトルMV’の垂直成分は、式(5)で与えられる。
【0175】
【数5】
【0176】
なお、解像度変換後の動きベクトルMV’の水平成分は、空間補正を行ってから時間補正を行う空間・時間補正と時間補正を行ってから空間補正を行う時間・空間補正のいずれでも同様な値となる。
【0177】
式(4)と式(5)の差、すなわち、空間・時間補正を行った場合と、時間・空間補正を行った場合の動きベクトルの垂直成分の差は1/aになる。したがって、aの値によって、空間・時間補正と時間・空間補正との差による影響が異なる。
【0178】
そこで、aが1の場合と、1より大きい、すなわち3,5,7,・・・の2つの場合における補正方法を説明する。
【0179】
まず、aが1の場合について、式(4)のaに1を代入すると、動きベクトルの垂直成分は式(6)になる。
【0180】
【数6】
【0181】
式(5)のaに1を代入し、動きベクトルの垂直成分は式(7)になる。
【0182】
【数7】
【0183】
その結果、解像度変換前の動きベクトルMVbottomに0,1,2,・・・を代入すると、式(6)による値は2,4,6,・・・のような偶数になる。すなわち、空間・時間補正を行うと、解像度変換前の動きベクトルMVbottomは整数画素又は半画素に位置しても、解像度変換後の動きベクトルMV’はすべて整数画素に位置する。
【0184】
また、式(7)による値は、1,3,5,・・・のような奇数になる。すなわち、時間・空間補正を行うと、解像度変換前の動きベクトルMVは整数画素又は半画素に位置しても、解像度変換後の動きベクトルMV’はすべて半画素に位置する。
【0185】
したがって、解像度変換前に整数画素に位置する動きベクトルMVbottomに対して、解像度変換後の動きベクトルMV’を整数画素に位置するようにする場合、空間・時間補正を行う。また、解像度変換前に半画素に位置する動きベクトルMVbottomに対して、解像度変換後の動きベクトルMV’を半画素に位置するようにする場合、時間・空間補正を行う。
【0186】
すなわち、解像度変換後の動きベクトルMV’の垂直成分を求めるために、解像度変換前の動きベクトルMVbottomに対し、空間補正、時間補正を交互に使用して解像度変換後の動きベクトルMV’に変換する。若しくは、解像度変換前の動きベクトルMVbottomに対して、すべてに時間・空間補正を行う。
【0187】
以上の動きベクトル変換処理が終了した後、動きベクトル変換部12から、MPEG4の8×8動きベクトルが出力される。
【0188】
図1に戻り、動きベクトル変換部12から出力されたMPEG4の8×8動きベクトルは、動きベクトル調整部13に送られる。動きベクトル調整部13は、外部から入力された画像サイズ調整フラグに基づいて動きベクトルを調整し、画像サイズに適した動きベクトルを出力する。
【0189】
この動きベクトル調整部13における動きベクトルの調整の処理について、図8を参照して説明する。
【0190】
動きベクトル調整部13には、動きベクトル変換部12からm画素×n画素の画像サイズ及びMPEG4の8×8動きベクトルが、外部から画像サイズ調整フラグが、それぞれ入力されている。
【0191】
動きベクトル調整部13の処理は、ステップS21において、m画素×n画素の入力画像サイズについてm/2及びn/2が共に16の倍数であるかどうかによって分岐する。
【0192】
すなわち、動きベクトル調整部13は、m/2及びn/2が共に16の倍数である場合には、MPEG4の8×8動きベクトルを処理することなくそのまま出力する。 一方、m/2,n/2のいずれかが16の倍数でない場合には、処理をステップS22に進める。
【0193】
動きベクトル調整部13の処理がステップS22以降に進む場合には、外部から入力された画像サイズ調整フラグを用いる。動きベクトル調整部13は、ステップS22において画素除去を行う場合には、8画素を除去した画像の動きベクトルを出力する。
【0194】
ステップS23において画素補填を行う場合には、動きベクトル調整部13は、8画素を補填した画像の動きベクトルを出力する。
【0195】
なお、上述の実施の形態では、入力としてMPEG2画像圧縮情報(ビットストリーム)を、出力としてMPEG4画像圧縮情報(ビットストリーム)を対象とした例を示したが、本発明はこれに限定されない。本発明は、入力又は出力を例えばMPEG1やH.263などの画像圧縮情報(ビットストリーム)とすることもできる。
【0196】
【発明の効果】
以上述べてきた様に、本発明は、飛び越し走査のMPEG2画像情報圧縮情報(ビットストリーム)を順次走査のMPEG4画像圧縮情報(ビットストリーム)に変換する際に用いられる動きベクトル変換装置において、MPEG4の8×8動きベクトルからMPEG4の16×16動きベクトルを生成する際、入力となるMPEG2画像圧縮情報(ビットストリーム)におけるマクロブロックごとの、ビット数、量子化スケール、コンプレキシティ、非零DCT係数の個数といった情報を利用し、最も符号化効率の高いと考えられるMPEG4の8×8動きベクトルを選択してMPEG4の16×16動きベクトルとすることで、MPEG4画像圧縮情報(ビットストリーム)への符号化効率を高めるものである。
【図面の簡単な説明】
【図1】本実施の形態による動きベクトル変換装置の構成を示すブロック図である。
【図2】動きベクトル変換装置の動きベクトル調整部における処理を示す図である。
【図3】図2において、フレーム予測のインターマクロブロックに対する動きベクトル変換を示す図である。
【図4】図3の変換の際の半画素精度の動きベクトルの取り扱いを示す図である。
【図5】図2において、第一フィールド予測のインターマクロブロックに対する動きベクトル変換を示す図である。
【図6】図2において、第二フィールド予測のインターマクロブロックに対する動きベクトル変換を示す図である。
【図7】図2において、第二フィールド予測のインターマクロブロックに対する動きベクトル変換に対する時間的な補正を示す図である。
【図8】動きベクトル変換装置の動きベクトル調整部における画像サイズ調整フラグによる調整を示す図である。
【図9】MPEG2画像圧縮情報(ビットストリーム)からMPEG4画像圧縮情報(ビットストリーム)への変換を実現する従来の例を示すブロック図である。
【図10】MPEG2画像圧縮情報(ビットストリーム)からMPEG4画像圧縮情報(ビットストリーム)に変換する画像情報変換装置の構成を示すブロック図である。
【図11】MPEG2画像圧縮情報(ビットストリーム)中の動きベクトルとMPEG4画像圧縮情報(ビットストリーム)中の動きベクトルとの相関を示す図である。
【図12】図10の画像情報変換装置の解像度/フレームレート変換部における処理を示す図である。
【図13】図10の画像情報変換装置の解像度/フレームレート変換部における画素の補填又は除去の処理を示す図である。
【図14】図10の画像情報変換装置の動きベクトル変換部における動きベクトル変換方法を示す図である。
【図15】図10の画像情報変換装置の動きベクトル変換部の構成を示すブロック図である。
【図16】図15の動きベクトル変換部の動きベクトル補正部の構成を示すブロック図である。
【符号の説明】
12 動きベクトル変換部、13 動きベクトル調整部、14 マクロブロック情報バッファ、15 動きベクトル変換部、16 動きベクトル補正部
Claims (16)
- 水平方向及び垂直方向共に一定数成分の離散コサイン変換係数からなるマクロブロックから構成される、飛び越し走査の画像を符号化した入力画像圧縮情報を、水平方向及び垂直方向共に一定数成分の離散コサイン変換係数からなるマクロブロックから構成され、上記飛び越し走査の画像に対して解像度変換した順次走査の画像を符号化した出力画像圧縮情報に変換する際に動きベクトルを変換する動きベクトル変換装置において、
上記入力画像圧縮情報のマクロブロックは上記変換により解像度変換されたブロックに変換され、上記入力画像圧縮情報のマクロブロックを動き補償する第1の動きベクトルに基づいて上記出力画像圧縮情報のマクロブロックを構成する上記ブロックをそれぞれ動き補償する第2の動きベクトルを生成し、この第2の動きベクトルの内で、動きベクトルの長さに基づいて、符号化効率の最も高いものを上記出力画像圧縮情報のマクロブロックを動き補償する第3の動きベクトルとする変換手段を有し、
符号化効率のパラメータとして上記入力画像圧縮情報を構成するマクロブロックごとの動きベクトルの長さを用い、その中間値となる動きベクトルに対応するマクロブロックに対応する上記第2の動きベクトルを選択する
動きベクトル変換装置。 - 上記入力画像圧縮情報は水平方向及び垂直方向共に16成分の離散コサイン変換係数からなるマクロブロックから構成され、上記出力画像圧縮情報は水平方向及び垂直方向共に16成分の離散コサイン変換係数からなるマクロブロックから構成され、上記飛び越し走査の画像に対して水平方向及び垂直方向共に1/2のサイズを有する順次走査の画像を符号化した出力画像圧縮情報に変換する請求項1記載の動きベクトル変換装置。
- 上記入力画像圧縮情報はMPEG2規格によるものであり、上記出力画像圧縮情報はMPEG4規格によるものである請求項1記載の動きベクトル変換装置。
- 上記変換手段は、上記第1の動きベクトルから解像度変換及び時間軸補正により上記第2の動きベクトルを生成する請求項1記載の動きベクトル変換装置。
- 上記中間値は、上記入力画像圧縮情報を構成するマクロブロックごとの非零の離散コサイン変換係数の個数を用い、この個数の最も少ないマクロブロックを2回重複して数え、合計5つの動きベクトルから求める請求項1記載の動きベクトル変換装置。
- 上記中間値は、上記入力画像圧縮情報を構成するマクロブロックごとの輝度成分の離散コサイン変換係数に割り当てられたビット数を用い、このビット数の最も少ないマクロブロックを2回重複して数え、合計5つの動きベクトルから求める請求項1記載の動きベクトル変換装置。
- 上記中間値は、上記入力画像圧縮情報を構成するマクロブロックごとの離散コサイン変換係数に割り当てられた全ビット数を用い、この全ビット数の最も少ないマクロブロックを2回重複して数え、合計5つの動きベクトルから求める請求項1記載の動きベクトル変換装置。
- 上記中間値は、上記入力画像圧縮情報を構成するマクロブロックに割り当てられた量子化スケールを用い、この量子化スケールの最も少ないマクロブロックを2回重複して数え、合計5つの動きベクトルから求める請求項1記載の動きベクトル変換装置。
- 上記中間値は、上記入力画像圧縮情報を構成するマクロブロックごとに割り当てられたビット数Bおよび量子化スケールQに関して、コンプレキシティXをX=Q×Bのように算出し、このコンプレキシティXを用い、このコンプレキシティXの最も少ないマクロブロックを2回重複して数え、合計5つの動きベクトルから中間値を求める請求項1記載の動きベクトル変換装置。
- 上記ビット数Bとして、当該マクロブロックの輝度成分の離散コサイン変換係数に割り当てられたビット数を用いる請求項9記載の動きベクトル変換装置。
- 上記ビット数Bとして、当該マクロブロックの離散コサイン変換係数に割り当てられたビット数を用いる請求項9記載の動きベクトル変換装置。
- 上記ビット数Bとして、当該マクロブロックに割り当てられた全ビット数を用いる請求項9記載の動きベクトル変換装置。
- 水平方向及び垂直方向共に一定数成分の離散コサイン変換係数からなるマクロブロックから構成される、飛び越し走査の画像を符号化した入力画像圧縮情報を、水平方向及び垂直方向共に一定数成分の離散コサイン変換係数からなるマクロブロックから構成され、上記飛び越し走査の画像に対して解像度変換した順次走査の画像を符号化した出力画像圧縮情報に変換する際に動きベクトルを変換する動きベクトル変換方法において、
上記入力画像圧縮情報のマクロブロックは上記変換により解像度変換されたブロックに変換され、
上記入力画像圧縮情報のマクロブロックを動き補償する第1の動きベクトルに基づいて上記出力画像圧縮情報のマクロブロックを構成する上記ブロックをそれぞれ動き補償する第2の動きベクトルを生成し、
この第2の動きベクトルの内で、動きベクトルの長さに基づいて、符号化効率の最も高いものを上記出力画像圧縮情報のマクロブロックを動き補償する第3の動きベクトルとし、
符号化効率のパラメータとして上記入力画像圧縮情報を構成するマクロブロックごとの動きベクトルの長さを用い、その中間値となる動きベクトルに対応するマクロブロックに対応する上記第2の動きベクトルを選択する
動きベクトル変換方法。 - 上記入力画像圧縮情報は水平方向及び垂直方向共に16成分の離散コサイン変換係数からなるマクロブロックから構成され、上記出力画像圧縮情報は水平方向及び垂直方向共に16成分の離散コサイン変換係数からなるマクロブロックから構成され、上記飛び越し走査の画像に対して水平方向及び垂直方向共に1/2のサイズを有する順次走査の画像を符号化した出力画像圧縮情報に変換する請求項13記載の動きベクトル変換方法。
- 上記入力画像圧縮情報はMPEG2規格によるものであり、上記出力画像圧縮情報はMPEG4規格によるものである請求項13記載の動きベクトル変換方法。
- 上記第1の動きベクトルから解像度変換及び時間軸補正により上記第2の動きベクトルを生成する請求項13記載の動きベクトル変換方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000132915A JP4556286B2 (ja) | 2000-04-27 | 2000-04-27 | 動きベクトル変換装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000132915A JP4556286B2 (ja) | 2000-04-27 | 2000-04-27 | 動きベクトル変換装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001313948A JP2001313948A (ja) | 2001-11-09 |
JP4556286B2 true JP4556286B2 (ja) | 2010-10-06 |
Family
ID=18641517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000132915A Expired - Fee Related JP4556286B2 (ja) | 2000-04-27 | 2000-04-27 | 動きベクトル変換装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4556286B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4622077B2 (ja) | 2000-10-11 | 2011-02-02 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
KR100681252B1 (ko) * | 2004-10-02 | 2007-02-09 | 삼성전자주식회사 | 트랜스코딩을 위해 출력 매크로블록 모드와 출력움직임벡터를 추정하는 방법 및 이를 이용한 트랜스코더 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10336672A (ja) * | 1997-05-30 | 1998-12-18 | Oki Electric Ind Co Ltd | 符号化方式変換装置およびその動きベクトル検出方法 |
-
2000
- 2000-04-27 JP JP2000132915A patent/JP4556286B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10336672A (ja) * | 1997-05-30 | 1998-12-18 | Oki Electric Ind Co Ltd | 符号化方式変換装置およびその動きベクトル検出方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2001313948A (ja) | 2001-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4682410B2 (ja) | 画像処理装置及び画像処理方法 | |
JP4378824B2 (ja) | 画像処理装置及び方法 | |
US8718143B2 (en) | Optical flow based motion vector estimation systems and methods | |
US9247250B2 (en) | Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing | |
KR100600419B1 (ko) | 움직임 보상된 예측 영상 부호화 및 복호화 | |
JPH11112973A (ja) | 映像信号変換装置及び映像信号変換方法 | |
JP2004048552A (ja) | 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置 | |
WO2003043344A2 (en) | Reduced-complexity video decoding using larger pixel-grid motion compensation | |
KR20200128375A (ko) | 인트라 예측 모드 스케일러블 코딩 방법 및 장치 | |
JP2009089332A (ja) | 動き予測方法及び動き予測装置 | |
JP4360093B2 (ja) | 画像処理装置および符号化装置とそれらの方法 | |
JP3797209B2 (ja) | 画像情報符号化方法及び装置、画像情報復号方法及び装置、並びにプログラム | |
JP2001508632A (ja) | 動き補償予測画像符号化および復号化 | |
JPH07212761A (ja) | 階層符号化装置及び階層復号化装置 | |
JP4622077B2 (ja) | 画像処理装置及び画像処理方法 | |
US8767831B2 (en) | Method and system for motion compensated picture rate up-conversion using information extracted from a compressed video stream | |
JP4556286B2 (ja) | 動きベクトル変換装置及び方法 | |
JP2002010267A (ja) | 動きベクトル変換装置及び方法 | |
JP4264811B2 (ja) | 画像復号化装置及び画像復号化方法 | |
JP2002262293A (ja) | 動画像復号装置および動画像復号方法 | |
JP4779207B2 (ja) | 動きベクトル変換装置及び動きベクトル変換方法 | |
AU2015255215B2 (en) | Image processing apparatus and method | |
JP2001309389A (ja) | 動きベクトル変換装置及び方法 | |
JP2002044669A (ja) | 画像情報変換装置及び方法 | |
JP4529295B2 (ja) | 動きベクトル変換方法及び変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091117 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100112 |
|
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: 20100629 |
|
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: 20100712 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130730 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |