(57)【特許請求の範囲】
【請求項１】
所定符号化方式の圧縮動画像ストリームを入力して復号化し、有限長への丸め処理を含む画素精度未満単位の動き補償予測処理を実行した後、再度符号化する方法において、
前記圧縮動画像ストリームの少なくとも一部を復号して得られる画像信号を再量子化し、
再量子化する前の信号と再量子化した後の信号とから再量子化誤差信号を計算し、
前記再量子化誤差信号に対して前記動き補償予測処理を実行する過程において、前記丸め処理の丸め方式は複数存在し、前記丸め処理による丸め誤差値の正負の分布に応じて、前記丸め誤差値の時間方向の期待値が０になるように前記丸め方式を変更する、
ことを特徴とする圧縮動画像の再符号化方法。
【請求項２】
前記所定符号化方式は、周波数空間への変換処理を組み合わせた符号化方式であり、
前記圧縮動画像ストリームの少なくとも一部を復号して得られる画像信号は、前記圧縮動画像ストリームの少なくとも一部を復号して得られる周波数係数である、
ことを特徴とする請求項１記載の圧縮動画像の再符号化方法。
【請求項３】
少なくとも１フレーム／フィールド単位で前記丸め処理の丸め方式を変更することを特徴とする請求項１または２記載の圧縮動画像の再符号化方法。
【請求項４】
フレーム／フィールド内の少なくとも１個の小ブロック単位で前記丸め処理の丸め方式を変更することを特徴とする請求項１または２記載の圧縮動画像の再符号化方法。
【請求項５】
フレーム／フィールド内の少なくとも１個の画素単位で前記丸め処理の丸め方式を変更することを特徴とする請求項１または２記載の圧縮動画像の再符号化方法。
【請求項６】
前記丸め方式は、異なるフレーム／フィールドの符号化タイプ毎に複数個予め設定されており、予め設定した順序に従って、前記複数の丸め方式から１つが前記丸め処理の丸め方式を変更する単位毎に選択されることを特徴とする請求項１または２記載の圧縮動画像の再符号化方法。
【請求項７】
前記フレーム／フィールドの符号化タイプの少なくとも１つは前記丸め方式が固定されていることを特徴とする請求項６載の圧縮動画像の再符号化方法。
【請求項８】
前記動き補償予測処理は複数の補間処理を有し、前記丸め方式は、前記複数の補間処理のそれぞれに対応して少なくとも１つ設定されていることを特徴とする請求項１または２記載の圧縮動画像の再符号化方法。
【請求項９】
前記動き補償予測処理は複数の補間処理を有し、前記丸め方式は、前記複数の補間処理のそれぞれに対応して少なくとも１つ設定されていることを特徴とする請求項６記載の圧縮動画像の再符号化方法。
【請求項１０】
所定符号化方式の圧縮動画像ストリームを入力して復号化し、有限長への丸め処理を含む画素精度未満単位の動き補償予測処理を実行した後、再度符号化する圧縮画像の再符号化装置において、
前記圧縮動画像ストリームの少なくとも一部を復号して得られる画像信号を再量子化する再量子化手段と、
再量子化する前の信号と再量子化した後の信号とから再量子化誤差信号を計算する誤差計算手段と、
前記再量子化誤差信号に対して前記動き補償予測処理を実行する誤差予測信号合成手段と、
前記動き補償予測処理の過程において、前記丸め処理の丸め方式は複数存在し、前記丸め処理による丸め誤差値の正負の分布に応じて、前記丸め誤差値の時間方向の期待値が０になるように前記丸め方式を変更する丸め方式決定手段と、
を有することを特徴とする圧縮動画像の再符号化装置。
【請求項１１】
周波数空間への変換処理を組み合わせた符号化方式の圧縮動画像ストリームを入力して復号化し、有限長への丸め処理を含む画素精度未満単位の動き補償予測処理を実行した後、再度符号化する圧縮画像の再符号化装置において、
前記圧縮動画像ストリームの少なくとも一部を復号して得られる第１画像信号を周波数空間へ変換して周波数係数を生成する変換手段と、
前記周波数係数を再量子化する再量子化手段と、
前記再量子化された信号を逆量子化する逆量子化手段と、
逆量子化された信号を第２画像信号に変換する逆変換手段と、
前記第１画像信号と前記第２画像信号とから再量子化誤差信号を計算する誤差計算手段と、
前記再量子化誤差信号に対して前記動き補償予測処理を実行する誤差予測信号合成手段と、
前記動き補償予測処理の過程において、前記丸め処理による丸め誤差値の時間方向の期待値が０になるように前記丸め処理の丸め方式を変更する丸め方式決定手段と、
を有することを特徴とする圧縮動画像の再符号化装置。
【請求項１２】
所定符号化方式の圧縮動画像ストリームを入力して復号化し、有限長への丸め処理を含む画素精度未満単位の動き補償予測処理を実行した後、再量子化を行い、再度符号化する処理をコンピュータに実行させるためのプログラムにおいて、
前記入力圧縮動画像ストリームの画像が予め指定された符号化タイプあるいは予測方式であるか否かを判定するステップと、
予め指定された符号化タイプあるいは予測方式であれば、再量子化誤差信号に対して前記動き補償予測処理を実行する過程において、前記丸め処理の丸め方式は複数存在し、前記丸め処理による丸め誤差値の正負の分布に応じて、前記丸め誤差値の時間方向の期待値が０になるように前記丸め方式を変更するステップと、
を含むことを特徴とするコンピュータプログラム。
【請求項１３】
前記丸め方式は、異なる予測方式毎に複数個予め設定されており、予め設定された順序に従って、前記複数の丸め方式から１つが前記処理単位毎に選択されることを特徴とする請求項１または２記載の圧縮動画像の再符号化方法。
【請求項１４】
前記予測方式の少なくとも１つは前記丸め方式が固定されていることを特徴とする請求項１３載の圧縮動画像の再符号化方法。
【請求項１５】
少なくとも１フレーム／フィールド単位で前記丸め処理の丸め方式を変更することを特徴とする請求項１０または１１に記載の圧縮動画像の再符号化装置。
【請求項１６】
フレーム／フィールド内の少なくとも１個の小ブロック単位で前記丸め処理の丸め方式を変更することを特徴とする請求項１０または１１に記載の圧縮動画像の再符号化装置。
【請求項１７】
フレーム／フィールド内の少なくとも１個の画素単位で前記丸め処理の丸め方式を変更することを特徴とする請求項１０または１１に記載の圧縮動画像の再符号化装置。
【請求項１８】
前記画像が予め指定された符号化タイプあるいは予測方式であるか否かを判定するステップの前に、前記入力圧縮動画像ストリームが１フレーム／フィールドの先頭であるか否かを判定するステップを含み、１フレーム／フィールドの先頭である時に、以降のステップを処理することを特徴とする請求項１２に記載のコンピュータプログラム。
【請求項１９】
前記画像が予め指定された符号化タイプあるいは予測方式であるか否かを判定するステップの前に、前記入力圧縮動画像ストリームがフレーム／フィールド内の少なくとも１個の小ブロック単位の先頭であるか否かを判定するステップを含み、フレーム／フィールド内の少なくとも１個の小ブロック単位の先頭である時に、以降のステップを処理することを特徴とする請求項１２に記載のコンピュータプログラム。
【請求項２０】
前記画像が予め指定された符号化タイプあるいは予測方式であるか否かを判定するステップの前に、前記入力圧縮動画像ストリームがフレーム／フィールド内の少なくとも１個の画素単位の先頭であるか否かを判定するステップを含み、フレーム／フィールド内の少なくとも１個の画素単位の先頭である時に、以降のステップを処理することを特徴とする請求項１２に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は圧縮動画像の再符号化技術に係り、特に入力した圧縮動画像ストリームの符号量を低減して出力する圧縮動画像再符号化方法および装置に関する。
【背景技術】
【０００２】
ディジタル放送システムやサービス等において動画像信号を伝送・蓄積する場合、多くの動画像信号は圧縮符号化され伝送・蓄積される。近年では動画像信号の圧縮符号化方式としてISO/ICE IS１38１8-２(MPEG-２ VIDEO)等が規格化され、ディジタル放送システムやサービス等に用いられている。
【０００３】
放送局や家庭では、所定のビットレートで圧縮符号化された圧縮動画ストリームを異なるビットレートの圧縮動画ストリームに再符号化し、伝送あるいは蓄積する装置やアプリケーションが期待されている。例えばディジタル動画像信号録画装置における長時間録画機能があげられる。放送局から家庭に分配される圧縮動画ストリームは所定のビットレートで符号化されている。視聴者が長時間録画を目的とし、限られた記憶容量に分配された圧縮動画ストリームを録画する場合、分配時のビットレートよりも低いビットレートで圧縮動画ストリームを再符号化する必要がある。
【０００４】
以下、このようなビットレート変換を行う従来の再符号化方法および装置について、MPEG-2 VIDEOに従って圧縮符号化されている圧縮動画ストリーム(以下、MPEG-2ビットストリームという。)の場合を例に取って説明する。
【０００５】
図１７に示すように、基本的な再符号化回路は、MPEG-2ビットストリームの復号器と符号化器とを直列に接続した構成となる。復号器には、可変長復号器２０１、逆量子化器２０２、および逆離散コサイン変換器２０３が設けられ、入力したMPEG-2ビットストリームから予測誤差信号Ｒ１(n)を得る。ここで、添え字‘１’は復号器で得られた信号であることを表し、‘ｎ’は画像信号系列内の画像信号の時間方向の番号を表す（以下、同様である）。加算器２０４は、予測誤差信号Ｒ１(n)と予測画像信号MC[I1(n-1), V]と加算して復号された画像信号I1(n)を生成する。したがって、画像信号I1(n)は、次式で表される。
【０００６】
【数１】
0004539661.tif 000002
【０００７】
復号された画像信号I1(n)は符号化器へ供給されると共に、メモリ２０６で遅延され動き補償器２０５へ出力される。動き補償器２０５は、既に復号した画像信号I1(n-1)と可変長復号器２０１から供給される動きベクトルフィールドＶを用いて動き補償ＭＣを行い、予測画像信号MC[I1(n-1), V]を生成して加算器２０４へ出力する。
【０００８】
符号化器は復号器で復号した画像信号I1(n)の再符号化を行う。まず、減算器２０７は、復号した画像信号I1(n)から第２の予測画像信号MC[I2(n-１), V]を減算して予測誤差信号R2(n)を求める。ここで、添え字‘２’は符号化器で得られた信号であることを表し、‘ｎ’は画像信号系列内の画像信号の時間方向の番号を表す（以下、同様である）。すなわち、予測誤差信号R2(n)は次式で表される。
【０００９】
【数２】
0004539661.tif 000003
【００１０】
予測画像信号MC[I2(n-1), V]は、動き補償器２０８において、既に復号した画像信号I2(n-1)と動きベクトルフィールドＶを用いて動き補償を行うことで求められる。
【００１１】
符号化器には、離散コサイン変換器２０９、量子化器２１０、および可変長符号化器２１１が設けられ、得られた予測誤差信号R2(n)からビットレート変換されたMPEG-2ビットストリームを生成して出力する。
【００１２】
また量子化器２１０で得られた離散コサイン変換係数に対して、逆量子化器２１２が逆量子化を行い、さらに逆離散コサイン変換器２１３が逆離散コサイン変換を行うことで、予測誤差信号R2(n)+E2(n)が得られる。ただし、量子化と逆量子化は可逆変換ではないため、得られた予測誤差信号には誤差信号E2(n)が含まれることになる。
【００１３】
加算器２１４は、動き補償器２０８によって得られた予測画像信号MC[I2(n-1), V]と予測誤差信号R2(n)+E2(n)とを加算して画像信号I2(n)を求める。したがって、画像信号I2(n)は、式（２）を用いて、次のように表すことができる。
【００１４】
【数３】
0004539661.tif 000004
【００１５】
この画像信号I2(n)がメモリ２１５で遅延され動き補償器２０８へ出力される。動き補償器２０８は、既に復号した画像信号I2(n-1)と動きベクトルフィールドＶを用いて動き補償ＭＣを行い、予測画像信号MC[I2(n-1), V]を生成して減算器２０７へ出力する。
【００１６】
ところで、動き補償処理は、符号化を行う画像信号ブロックと相関の高い、既に復号した画像信号ブロックを選択すること、および選択したブロックを動きベクトルを用いてシフトすることで実現される。そのため、動き補償処理に対しては線形性が成り立つ。この動き補償処理の線形性を利用して装置構成を簡易化した従来技術が、特開平８−５１６３１号公報、特許第３１６６５０１号、あるいは米国特許５，６２３，３１２号などに記載されている。これらの装置では、再量子化で生じた誤差信号に対して動き補償処理した結果を予測誤差信号に加える手段が設けられている。
【００１７】
ここでは、特開平８−５１６３１号公報に記載された圧縮動画像再符号化装置を一例として説明する。まず、動き補償処理の線形性を適用した簡易化の過程を説明する。
【００１８】
上記式（３）よりI2(n)＝I1(n) + E2(n)であるから、予測画像信号MC[I2(n-1), V]は、次式で表わすことができる。
【００１９】
【数４】
0004539661.tif 000005
【００２０】
ここで、動き補償処理の線形性より、次式が成り立つ。
【００２１】
【数５】
0004539661.tif 000006
【００２２】
予測誤差信号R2(n)については、式（２）に対して、式（１）、式（４）および式（５）を適用することで、次式が成り立つ。
【００２３】
【数６】
0004539661.tif 000007
【００２４】
この式（６）から、再符号化に必要な予測誤差信号R2(n)は、復号した予測誤差信号R１(n)から誤差信号E2(n)の動き補償処理結果（以下、誤差予測信号という。）を減算することで求められる。したがって、図１５に示す再符号化装置に比べ、再符号化に必要なメモリの個数を削減でき、装置構成を簡易化することができるわけである。
【００２５】
図１８は、このようにして簡易化された再符号化装置の一例（特開平８−５１６３１号公報）を示す回路図である。可変長復号器３０１、逆量子化器３０２および逆離散コサイン変換器３０３によって入力であるMPEG-2ビットストリームから予測誤差信号R１(n)を求め、離散コサイン変換器３０６、量子化器３０８および可変長符号化器３０９によって予測誤差信号R2(n)から出力であるMPEG-2ビットストリームを求め、さらに逆量子化器３１０および逆離散コサイン変換器３１１によって予測誤差信号R2(n)+E2(n)を求める構成は、図１７と同様である。
【００２６】
この簡易化された再符号化装置では、減算器３０４において、予測誤差信号R1(n)から誤差信号E2(n-1)の誤差予測信号MC[E2(n-1),V]を減算することで予測誤差信号R2(n)を求める。さらに、減算器３０７においては、逆離散コサイン変換器３１１から出力された予測誤差信号R2(n)+E2(n)から予測誤差信号R2(n)を減算することで誤差信号E2(n)を求め、メモリ３１２で遅延されて動き補償器３０５へ出力される。動き補償器３０５は、誤差信号E2(n)と動きベクトルフィールドＶとを用いて誤差信号の動き補償ＭＣを行い、誤差予測信号MC[E2(n-1),V]を生成して減算器３０４へ出力する。このように構成することで、再量子化で生じた誤差信号の動き補償処理が基本的に可能となる。
【発明の開示】
【発明が解決しようとする課題】
【００２７】
しかしながら、誤差信号の動き補償を実施し、その演算過程において有限長への丸め処理を行うと画質劣化が生じるという問題があった。以下、従来の再符号化装置における画質劣化の原因について説明する。ここでも、圧縮動画ストリームはMPEG-2 VIDEOに従って圧縮符号化されているものとする。周知のように、MPEG-2 VIDEOでは、動きベクトルの最小単位を隣接する画素の半分の長さとした半画素精度の動き補償処理が用いられている。動き補償処理において動きベクトルが整数値でない場合には、存在しない画素位置の画素値は補間により求められる。
【００２８】
図１９に示すように、整数画素位置４０１、４０２、４０３、４０４における画素信号の画素値をそれぞれLa、Lb、Lc、Ldとした場合、MPEG-2 VIDEOでは補間する半画素位置４０５、４０６、４０７、４０８の画素信号の画素値Ia、Ib、Ic、Idは、それぞれ式７〜式１０で求められる。
【００２９】
【数７】
0004539661.tif 000008
【００３０】
【数８】
0004539661.tif 000009
【００３１】
【数９】
0004539661.tif 000010
【００３２】
【数１０】
0004539661.tif 000011
【００３３】
ここで、‘／’は、除算の結果をその値を超えない整数に丸める演算である。また、式７〜式１０において画素値に１または２が加算されているのは、小数点以下の値を四捨五入するためである。このように半画素精度の動き補償処理を行った場合、画素値を整数値に丸めることによる誤差が生じる。以下、このような画素値および誤差信号の誤差値を整数値に丸めることによる誤差を「丸め誤差」と呼ぶ。
【００３４】
上述したように、図１８に示す再符号化装置では、式５に示す線形性を利用することで装置構成を簡易化していた。この場合、式５の左辺はMC[(I1(n-1)+E2(n-1)), V]を生成する際に丸め誤差が生じ、右辺は第一項MC[I1(n-1), V]と第二項MC[E2(n-1), V]の各項で丸め誤差が生じる。
【００３５】
しかしながら、MC[(I1(n-1)+E2(n-1)), V]の丸め誤差と、右辺第一項MC[I1(n-1), V]の丸め誤差および第二項MC[E2(n-1), V]の丸め誤差の和とは等しくはならないので、式５は一般的に成立しない。その結果、このように簡易化された構成では、一般に、動き補償処理を行う際の丸め誤差が原因となって、図１７に示す再符号化装置とは異なる結果が得られる。
【００３６】
丸め誤差が蓄積しなければ、丸め誤差による画質劣化の影響は実用上は小さいと考えられるから、確率的に丸め誤差の期待値が０になることが重要である。上記式６により、丸め誤差が生じるのはMC[E2(n-1), V]の項で示される動き補償処理においてであるから、MC[E2(n-1), V]における丸め誤差の期待値について考える。
【００３７】
図１９に示した整数画素位置４０１、４０２、４０３、４０４における誤差信号の誤差値をそれぞれLa, Lb, Lc, Ldとした場合、半画素位置４０５、４０６、４０７、４０８における誤差信号の誤差値Ia, Ib, Ic, Idは、それぞれ式１１〜式１４により求めることができる。
【００３８】
【数１１】
0004539661.tif 000012
【００３９】
【数１２】
0004539661.tif 000013
【００４０】
【数１３】
0004539661.tif 000014
【００４１】
【数１４】
0004539661.tif 000015
【００４２】
図１７の再符号化装置における式７〜式１０と異なるのは、図１８に示す簡易化された再符号化装置では、正負の値をもつ誤差信号に対して動き補償処理を行うからである。丸め方式としては、０を中心とした正負対称丸めが一般に用いられるので、式７〜式１０を正負対称とした式１１〜式１４となる。
【００４３】
誤差信号を求めたい半画素位置が図１９に示した４０５、４０６，４０７，４０８となる確率をそれぞれ１／４とすると、画素位置４０５における丸め誤差は明らかに０である。
【００４４】
画素位置４０６における丸め誤差は、La+Lbの正負および奇偶で異なる。La+Lbが０となる場合に丸め誤差は生じないので、０となる確率は考慮しない。そこでLa+Lbが正となる確率をp、負となる確率を(1-p)とする。また、La+Lbの奇偶の確率をそれぞれ１／２とする。画素位置４０６における丸め誤差は、La+Lbが偶数の場合は０、La+Lbが正かつ奇数の場合は１／２、La+Lbが負かつ奇数の場合は−１／２であり、その期待値は、０×(p+1-p)×１/２ + １/２×p×１/２ + (-１/２)×(1-p)×１/２=(2p-1)/4となる。画素位置４０７における丸め誤差の期待値も画素位置４０６と同様に(2p-1)/4となる。
【００４５】
画素位置４０８における丸め誤差は、La+Lb+Lc+Ldの正負およびLa+Lb+Lc+Ldを４で割った余りで異なる。そこで、La+Lb+Lc+Ldが正となる確率をq、負となる確率を(1-q)とする。La+Lb+Lc+Ldが正の場合に、４で割った余りが0, １, ２, 3である場合の丸め誤差は、それぞれ０,−１／４, １／２, １／４となる。この時、余りが０から３になる確率は等確率とする。また、La+Lb+Lc+Ldが負の場合に、La+Lb+Lc+Ldの絶対値を４で割った余りが0, 1, ２, 3である場合の丸め誤差は、それぞれ０, １／４, −１／２, −１／４となる。この時、余りが０から３になる確率は等確率とする。これより画素位置４０８における丸め誤差の期待値は、q×(０×１/４-１/４×１/４+１/２×１/４×１/４) +(1-q)×(０×１/４+１/４×１/４-１/２×１/４-１/４×１/４)＝(2q-1)/8となる。
【００４６】
よって、最終的な丸め誤差の期待値は、０×１/４+(2p-1)/４×１/４ + (2p-1)/４×１/４ + (2q-1)/８×１/４ = (2p-1)/８ + (2q-1)/32となる。これは、誤差信号の動き補償を行う度に、(2p-1)/８ +(2q-1)/32の丸め誤差が発生することを意味する。
【００４７】
ここで正負の確率が等確率とすれば、すなわちp=q=1/2とすれば、丸め誤差の期待値は０となり、丸め誤差は生じない。ただし、ここでは説明を簡単にするために奇遇および余りおよび誤差値の画素位置の確率を等確率と仮定している。
【００４８】
しかしながら、一般に、誤差信号における誤差値の正負は、画像特性や量子化特性等により異なり等確率とはならない。図２０に、３種類のMPEG-2 VIDEOビットストリーム１，２，および３を実際に再符号化した場合の誤差値の分布を示す。
【００４９】
ここで、MPEG-2 VIDEOではフレーム内予測もしくはフレーム間予測を用いて圧縮される。フレーム内予測を用いて符号化されたフレームは動き補償が行われないため、動き補償における丸め誤差は発生しない。MPEG-2 VIDEOではＩピクチャがそれにあたる。また、フレーム間予測を用いて符号化されたフレームのうち、参照画像として用いられないフレームは、丸め誤差が蓄積することはない。MPEG-2 VIDEOではＢピクチャがそれにあたる。
【００５０】
そこで、参照画像として用いられ、動き補償予測を用いて圧縮されたＰピクチャにおける丸め誤差の蓄積を防ぐことが重要となる。ここではIPPPP...の構造をもつMPEG-2 VIDEOビットストリームを用いて再符号化を行った。Ｉピクチャの間隔は30フレームである。
【００５１】
図２０のグラフにおいて縦軸は輝度信号におけるフレームあたりの誤差値の平均値、横軸はフレーム番号を表す。図２０から、一般には誤差信号における誤差値の正負は、画像特性や量子化特性等により異なり、等確率とはなっていないことがわかる。その結果、誤差値の分布によっては丸め誤差が正もしくは負の一定方向に蓄積することがあり、式１１〜式１４の補間処理を行うと画質劣化が生じる可能性がある。
【００５２】
圧縮動画像の符号化および復号化システムとして丸め誤差の蓄積を抑える方法は、種々提案されている。
【００５３】
たとえば、特開平１１−３１７９５７号公報には、符号化時にプラスの丸め込み（切り上げ）方式とマイナスの丸め込み（切り捨て）方式とを切り換えることで丸め誤差の蓄積を抑制する方法が開示されている。同様に、特開平１１−６９３４５号公報にも、丸め方向が正の無限大方向になる方式と負の無限大方向になる方式とをほぼ同じ確率で選択することで丸め誤差の累積を回避する方法が開示されている。言い換えれば、上記式７〜式１０のような一定方向（ここでは正の方向）への丸め方式だけを用いると、符号化時の丸め誤差が常に一定方向に蓄積され、画質劣化が生じてしまう。この丸め誤差の蓄積を回避するために、符号化する際に丸め方式の切り換えを行うわけである。
【００５４】
しかしながら、これら公報で開示されているのは、符号化および復号化システムとして丸め誤差の蓄積を抑える方法である。したがって、これら公報で開示された技術では、符号化時の参照画像と復号時の参照画像を一致させるために、符号化時に用いた丸め方式が復号化時に与えられていなければならない。そのため、圧縮動画ストリームに丸め方式の情報を含める必要がある。すなわち、符号化装置における丸め方式の切り換え情報を復号装置へ通知し、復号装置でも同じ丸め方式で丸め処理を行うようにする必要がある。上記公報に記載された方法は、言い換えれば、符号化方法で規定された動き補償処理の演算精度で生じる丸め誤差を抑制しようとするものである。
【００５５】
これに対して、本発明の属する再符号化技術は、符号化時の丸め方式には関係なく、入力した圧縮動画ストリームに対して何らかの変換（符号量の低減など）を行い、異なる圧縮動画ストリームとして出力するものである。したがって、復号装置では、その変換されたストリームを入力して画像信号を生成する。本発明の属する再符号化技術では、誤差信号の動き補償処理の演算過程において有限長への丸め処理を行った場合に生じる丸め誤差、言い換えれば、動き補償処理の演算精度が原因で生じる丸め誤差を打ち消すことを目的としている。言い換えれば、符号化方法で規定されていない動き補償処理の演算精度（低減された精度）で生じる丸め誤差を抑制しようとするものである。
【００５６】
したがって、特開平１１−３１７９５７号公報や特開平１１−６９３４５号公報に記載された符号化方法を用いたとしても、図１８に示すような簡易化された再符号化装置を用いて圧縮動画像ストリームデータを再符号化した場合には誤差信号E2(n)の丸め誤差が生じ、画質劣化が生じるであろう。すなわち、本発明の課題である丸め誤差は、上記公報に記載されている丸め誤差とは異なるものであり、これら公報に記載されている方法を用いても本発明の課題を解決することはできない。
【００５７】
本発明の目的は、誤差信号の動き補償処理過程において有限長への丸め処理を行う際の丸め誤差の蓄積を抑制して画質の劣化を防止でき、かつ簡易な構成を有する再符号化方法および装置を提供することにある。
【課題を解決するための手段】
【００５８】
本発明による再符号化方法は、所定符号化方式の圧縮動画像ストリームを入力して復号化し、有限長への丸め処理を含む画素精度未満単位の動き補償予測処理を実行した後、再度符号化する方法において、前記圧縮動画像ストリームの少なくとも一部を復号して得られる画像信号を再量子化し、再量子化する前の信号と再量子化した後の信号とから再量子化誤差信号を計算し、前記再量子化誤差信号に対して前記動き補償予測処理を実行する過程において、前記入力圧縮動画像ストリームが生成された際の符号化処理に依存しない処理単位毎に、前記丸め処理の丸め方式を変更する、ことを特徴とする。
【００５９】
前記所定符号化方式は、好ましくは、周波数空間への変換処理を組み合わせた符号化方式であり、前記圧縮動画像ストリームの少なくとも一部を復号して得られる画像信号は、前記圧縮動画像ストリームの少なくとも一部を復号して得られる周波数係数である。
【００６０】
また、丸め方式が変更される処理単位は、好ましくは、少なくとも１フレーム／フィールドあるいはフレーム／フィールド内の少なくとも１個の小ブロックであり、少なくとも１個の画素であってもよい。
【００６１】
本発明の一実施形態によれば、丸め方式は、異なるフレーム／フィールドの符号化タイプ毎に複数個予め設定されており、前記複数の丸め方式から１つが前記処理単位毎に選択されることを特徴とする。また、フレーム／フィールドの符号化タイプの少なくとも１つは前記丸め方式が固定されていることを特徴とする。
【００６２】
動き補償予測処理は複数の補間処理を有し、前記丸め方式は、前記複数の補間処理のそれぞれに対応して少なくとも１つ設定されていることが望ましい。
【００６３】
本発明の他の実施形態によれば、所定符号化方式の圧縮動画像ストリームを入力して復号化し、有限長への丸め処理を含む画素精度未満単位の動き補償予測処理を実行した後、再度符号化する方法において、前記圧縮動画像ストリームの少なくとも一部を復号して得られる画像信号を再量子化し、再量子化する前の信号と再量子化した後の信号とから再量子化誤差信号を計算し、前記再量子化誤差信号の統計情報を生成し、前記再量子化誤差信号に対して前記動き補償予測処理を実行する過程において、前記入力圧縮動画像ストリームが生成された際の符号化処理に依存しない処理単位毎に、前記統計情報に基づいて前記丸め処理の丸め方式を変更する、ことを特徴とする。
【００６４】
統計情報は、画素ごとの前記再量子化誤差信号の誤差値に基づいて生成されることを特徴とする。さらに、統計情報は、複数の画素における前記再量子化誤差信号の誤差値の平均値に基づいて生成されることが望ましい。統計情報は、フレーム／フィールド内の小ブロックにおける前記再量子化誤差信号の誤差値の平均値に基づいて生成されることが望ましい。
【００６５】
本発明の他の観点によれば、所定符号化方式の圧縮動画像ストリームを入力して復号化し、有限長への丸め処理を含む画素精度未満単位の動き補償予測処理を実行した後、再度符号化する圧縮画像の再符号化装置は、前記圧縮動画像ストリームの少なくとも一部を復号して得られる画像信号を再量子化する再量子化手段と、再量子化する前の信号と再量子化した後の信号とから再量子化誤差信号を計算する誤差計算手段と、前記再量子化誤差信号に対して前記動き補償予測処理を実行する誤差予測信号合成手段と、前記動き補償予測処理の過程において、前記入力圧縮動画像ストリームが生成された際の符号化処理に依存しない処理単位毎に、前記丸め処理の丸め方式を変更する丸め方式決定手段と、を有することを特徴とする。
【００６６】
本発明の一実施形態によれば、周波数空間への変換処理を組み合わせた符号化方式の圧縮動画像ストリームを入力して復号化し、有限長への丸め処理を含む画素精度未満単位の動き補償予測処理を実行した後、再度符号化する圧縮画像の再符号化装置は、前記圧縮動画像ストリームの少なくとも一部を復号して得られる第１画像信号を周波数空間へ変換して周波数係数を生成する変換手段と、前記周波数係数を再量子化する再量子化手段と、前記再量子化された信号を逆量子化する逆量子化手段と、逆量子化された信号を第２画像信号に変換する逆変換手段と、前記第１画像信号と前記第２画像信号とから再量子化誤差信号を計算する誤差計算手段と、前記再量子化誤差信号に対して前記動き補償予測処理を実行する誤差予測信号合成手段と、前記動き補償予測処理の過程において、前記入力圧縮動画像ストリームが生成された際の符号化処理に依存しない処理単位毎に、前記丸め処理の丸め方式を変更する丸め方式決定手段と、を有することを特徴とする。
【００６７】
本発明のさらに他の観点によれば、所定符号化方式の圧縮動画像ストリームを入力して復号化し、有限長への丸め処理を含む画素精度未満単位の動き補償予測処理を実行した後、再度符号化する圧縮画像の再符号化装置は、前記圧縮動画像ストリームの少なくとも一部を復号して得られる画像信号を再量子化する再量子化手段と、再量子化する前の信号と再量子化した後の信号とから再量子化誤差信号を計算する誤差計算手段と、前記再量子化誤差信号に対して前記動き補償予測処理を実行し、前記丸め処理による誤差値を生成する誤差予測信号合成手段と、前記丸め処理による誤差値の統計情報を蓄積する蓄積手段と、前記動き補償予測処理の過程において、前記入力圧縮動画像ストリームが生成された際の符号化処理に依存しない処理単位毎に、前記統計情報に基づいて前記丸め処理の丸め方式を変更する丸め方式決定手段と、を有することを特徴とする。
【００６８】
上述したように、本発明によれば、画像データのフレーム／フィールドあるいは小ブロックなどの所定処理単位ごとに、動き補償の丸め方式が変更されるために、丸め誤差の蓄積を抑制することができ、誤差値の分布が偏った場合でも、時間方向の平均では丸め誤差の期待値を０に近づけることができ、一定方向への丸め誤差の発生を抑えることができる。
さらに、丸め誤差の統計情報を用いることで、実際の誤差発生に応じて丸め方式を決定することができ、丸め誤差の蓄積をさらに効果的に抑制することができる。
【発明の効果】
【００６９】
以上詳細に説明したように、従来では誤差値などの分布によっては、丸め誤差が蓄積し画質劣化が生じていたのに対し、本発明によれば丸め誤差の期待値を０に近づけることができ、丸め誤差の蓄積を抑制し画質劣化が生じない。よって、高画質な再符号化を達成できる。
さらに、丸め誤差の統計情報を用いることで、実際の誤差発生に応じて丸め方式を決定することができ、丸め誤差の蓄積をさらに効果的に抑制することができる。
本発明では丸め誤差の蓄積が生じにくいため、誤差信号を記憶するための記憶容量を小さくできるという効果もある。さらに、丸め方式の条件を簡易にすることで、通常の方式と同等の画質を保ちつつ、プログラムの高速処理や装置の簡易化を実現できる。
【発明を実施するための最良の形態】
【００７０】
以下、本発明の実施形態を説明するが、再符号化装置としての基本的構成は図１６に示すものと同じである。したがって、可変長復号器や逆量子化器などの説明は省略し、本発明による動き補償器を中心に詳細に説明する。
【００７１】
（第１実施形態）図１は、本発明による再符号化装置の第１実施形態における動き補償部の構成を示すブロック図である。本発明による動き補償部１０は、入力ビットストリームの符号化情報、丸め方式変更情報および参照誤差信号を入力し、誤差予測信号を出力する。動き補償部１０は、丸め方式決定部１０１および誤差予測信号合成部１０２を含む。
【００７２】
丸め方式決定部１０１は、現在の丸め方式、丸め方式変更情報および符号化情報に基づいて次の丸め方式を決定し、誤差予測信号合成部１０２へ丸め方式情報を出力する。ここで丸め方式変更情報は、後述するように、丸め方式の変更を行う期間および条件に関する情報であり、例えば、誤差予測信号合成部１０２に予め組み込まれている設定可能な丸め方式（図２参照）のインデックスあるいは丸め方式の数式情報等である。丸め方式変更情報にしたがって、丸め方式決定部１０１は丸め方式を設定し、設定された丸め方式によって誤差予測信号合成部１０２は動き補償処理を実行する。
【００７３】
誤差予測信号合成部１０２は、参照する誤差信号E2(n-1)と、動きベクトル等の入力ストリームの符号化情報と、丸め決定部１０１から入力した丸め方式情報とを用いて誤差予測信号MC[E2(n-1),V]を求め、減算器２０へ出力する。
【００７４】
ここでは、補間する誤差信号の画素位置や符号化モード等によってＭ種類の補間処理が存在するものとし、各補間処理において、複数の丸め方式Ｚが設定されている。たとえば、補間処理１では、Ｋ（１）個の丸め方式Ｚ11〜Ｚ1K(1)が存在し、同様に、補間処理Ｍでは、Ｋ（Ｍ）個の丸め方式ＺM1〜ＺMK(M)が存在するものとする。たとえば、各補間処理の複数の丸め方式を初期設定方式から順次あるいはランダムに選択する。
【００７５】
図２は、第１実施形態に用いられる丸め方式の一覧を示す図である。各補間処理において、入力ビットストリームに含まれる符号化情報等を用いた条件Ｃごとに丸め方式が存在するものとしても良い。たとえば、Ｋ（１）個の条件Ｃ11〜Ｃ1K(1)に対してそれぞれ丸め方式Ｚ11〜Ｚ1K(1)が存在し、同様に、補間処理Ｍでは、Ｋ（Ｍ）個の条件ＣM1〜ＣMK(M)に対してそれぞれ丸め方式ＺM1〜ＺMK(M)が存在してもよい。
【００７６】
図３は、本実施形態における丸め決定部１０１の動作を示すフローチャートである。補間処理の丸め方式に対しては初期値が与えられているものとする。また、丸め決定部１０１において、符号化情報は丸め方式の変更時判定および参照画像であるかどうかの判定で用いられる。
【００７７】
ステップＳ１では、丸め方式決定部１０１に供給される丸め方式変更情報および符号化情報を用いて丸め方式を変更をするか否かを判断する。丸め方式を変更する場合はステップＳ２へ、変更しない場合はステップＳ３へ移る。丸め方式の変更は、丸め方式変更情報によって定められたある処理単位ごとに行う。後述するように、フレーム／フィールド単位、あるいはフレーム／フィールド内のブロック単位などである。
【００７８】
ステップＳ２では、補間処理で求める誤差信号が、参照画像として用いられるか否かを符号化情報を用いて判断する。参照画像として用いられる場合はステップＳ４へ、そうでない場合はステップＳ５へ移る。
【００７９】
ステップＳ３では、丸め方式を変更せずに、前回の補間処理と同様の丸め方式を用いる。すなわち、このステップＳ３では何も行わずに、丸め方式の決定処理を終了する。
【００８０】
ステップＳ４では、丸め方式を変更する。補間する誤差信号の画素位置や符号化モード等によって複数種類の補間処理が存在するため、各補間処理における丸め方式を変更する。
【００８１】
ステップＳ５では、参照画像として用いられない誤差信号の丸め方式を決定する。参照画像として用いられない誤差信号の丸め誤差は蓄積されないので、丸め方式を初期値のままで用いる場合には、このステップでは何も行わず、そのまま丸め方式の決定処理を終了する。
【００８２】
ステップＳ６では、ステップＳ４で決定した丸め方式を、丸め方式情報として誤差予測信号合成部１０２へ出力し、丸め方式の決定処理を終了する。
【００８３】
次に、具体的な実施例を用いて、本実施形態の動作を詳細に説明する。
【００８４】
（１）第１実施形態の第１実施例第１実施例では、入力となる圧縮動画ストリームはMPEG-2 VIDEOストリームとし、誤差信号を整数値に丸めるものとする。MPEG-2 VIDEOにおいて、誤差信号の補間処理を行い、かつ参照画像信号となるのは前方向予測を用いたＰピクチャのみである。本実施例では、丸め方式の変更はＰピクチャに対してのみ行い、その期間は１フレームごとに行うという丸め変更情報が供給されるものとする。
【００８５】
丸め方式の変更期間および条件に関しては、輝度信号や各色信号ごとに変更したり、画像信号のあるブロックサイズごと、もしくは、あるフレーム数ごと、ある符号化タイプごとに変更したり、ある予測方式毎に変更したり、と様々なものが考えられる。例えば、MPEG-2 VIDEOでは、予測方式に順方向予測、逆方向予測、双方向予測があり、これらの予測方式には、フィールド予測、フレーム予測等がある。
【００８６】
丸め方式は、複数の補間処理、複数の条件ごとに設定可能である。例えば、MPEG-2 VIDEOでは、補間処理として、水平半画素丸め、垂直半画素丸め、水平・垂直半画素丸め、デュアルプライム丸め、双方向予測丸めの５種類がある。
【００８７】
また、条件としては、例えば輝度信号や各色差信号の信号による条件、フレーム動き補償やフィールド動き補償等の符号化情報を用いた条件、およびその組み合わせが考えられる。しかし、ここでは簡単化のために、条件による丸め方式の設定は行わず、上記５種類の補間処理に対して次に示す丸め方式を設定するものとする。
【００８８】
まず、ＰピクチャおよびＢピクチャの丸め方式の初期値として、上記式１２〜式１４および次式１５の丸め方式を与える。
【００８９】
【数１５】
0004539661.tif 000016
【００９０】
式１５は、Ｐピクチャのデュアルプライム予測時およびＢピクチャの双方向予測時に用いられる丸め方式である。デュアルプライム予測および双方向予測では２つの画素信号LeとLfの平均をとる。
【００９１】
上記式１２〜式１５をまとめて、以下、上記５種類の補間処理に対する丸め方式の初期値を次のように記すこととする。
【００９２】
水平半画素の丸め：La+Lb>=0の場合には、丸め方式Ｚ11：Ib=(La+Lb+1)/2、La+Lb<0の場合には、丸め方式Ｚ12：Ib=(La+Lb)/2。
【００９３】
垂直半画素の丸め：La+Lc>=0の場合には、丸め方式Ｚ21：Ic=(La+Lc+1)/2、La+Lc<0の場合には、丸め方式Ｚ22：Ic=(La+Lc)/2。
【００９４】
水平・垂直半画素の丸め：La+Lb+Lc+Ld>=0の場合には、丸め方式Ｚ31：Id=(La+Lb+Lc+Ld+2)/4、La+Lb+Lc+Ld <0の場合には、丸め方式Ｚ32：Id=(La+Lb+Lc+Ld+1)/4。
【００９５】
デュアルプライム／双方向予測の丸め：Le+Lf>=0の場合には、丸め方式Ｚ41：Ie=(Le+Lf+1)/2、Le+Lf<0の場合には、丸め方式Ｚ42：Ie=(Le+Lf)/2。
【００９６】
図４は、本発明による第１実施例における丸め方式決定部の動作を示すフローチャートである。まず、各補間処理の丸め方式に対して上記初期値を与えておく。
【００９７】
ステップＳ１１では、補間処理で求める誤差信号の位置がフレームの先頭かを符号化情報を用いて判断する。もしフレームの先頭であれば、ステップＳ１２へ、そうでない場合はステップＳ１３へ移る。
【００９８】
ステップＳ１２では、補間処理で求める誤差信号がＰピクチャであるか否かを符号化情報を用いて判断する。誤差信号がＰピクチャの場合は、ステップＳ１４へ、そうでない場合はステップＳ１５へ移る。
【００９９】
ステップＳ１３では、丸め方式を変更しない。この場合は、前回の処理と同様の丸め方式を用いて、丸め方式の決定処理を終了する。
【０１００】
ステップＳ１４では、水平半画素、垂直半画素、水平垂直半画素、デュアルプライムの４種類の補間処理に対する丸め方式を変更する。第１実施例では、Ｐピクチャ１フレームごとに、補間処理内部における誤差値の和の正負に応じて丸め方式を設定している。
【０１０１】
したがって、Ｐピクチャが偶数枚目の時には初期値と同様の丸め方式となる。すなわち、水平半画素の丸めの場合には、La+Lbが０以上の時に丸め方式Ｚ11：Ib=(La+Lb+1)/2が、La+Lbが負の時に丸め方式Ｚ12：Ib=(La+Lb)/2が設定され、垂直半画素の丸めの場合には、La+Lcが０以上の時に丸め方式Ｚ21：Ic=(La+Lc+1)/2が、La+Lcが負の時に丸め方式Ｚ22：Ic=(La+Lc)/2が設定され、水平・垂直半画素の丸めの場合には、La+Lb+Lc+Ldが０以上の時に丸め方式Ｚ31：Id=(La+Lb+Lc+Ld+2)/4が、La+Lb+Lc+Ldが負の時に丸め方式Ｚ32：Id=(La+Lb+Lc+Ld+1)/4が設定され、デュアルプライムの丸めの場合には、Le+Lfが０以上の時に丸め方式Ｚ41：Ie=(Le+Lf+1)/2が、Le+Lfが負の時に丸め方式Ｚ42：Ie=(Le+Lf)/2が設定される。
【０１０２】
またＰピクチャが奇数枚目の時には、次のように丸め方式が変更される。 すなわち、水平半画素の丸めの場合には、La+Lbが０以上の時に丸め方式Ｚ12：Ib=(La+Lb)/2が、La+Lbが負の時に丸め方式Ｚ11：Ib=(La+Lb+1)/2が設定され、垂直半画素の丸めの場合には、La+Lcが０以上の時に丸め方式Ｚ22：Ic=(La+Lc)/2が、La+Lcが負の時に丸め方式Ｚ21：Ic=(La+Lc+1)/2が設定され、水平・垂直半画素の丸めの場合には、La+Lb+Lc+Ldが０以上の時に丸め方式Ｚ32：Id=(La+Lb+Lc+Ld+1)/4が、La+Lb+Lc+Ldが負の時に丸め方式Ｚ31：Id=(La+Lb+Lc+Ld+2)/4が設定され、デュアルプライムの丸めの場合には、Le+Lfが０以上の時に丸め方式Ｚ42：Ie=(Le+Lf)/2が、Le+Lfが負の時に丸め方式Ｚ41：Ie=(Le+Lf+1)/2が設定される。
【０１０３】
ステップＳ１５では、Ｂピクチャの丸め方式を決定するが、本実施例ではＢピクチャの丸め方式は初期値を用いるので、このステップでは何も行わないで、丸め方式の決定処理を終了する。
【０１０４】
ステップＳ１６では、ステップＳ１４で決定した丸め方式を、丸め方式情報として誤差予測信号合成部１０２へ出力し、丸め方式の決定処理を終了する。
【０１０５】
（２）第１実施形態の第２実施例第２実施例は、第１実施例における丸め方式の変更ステップ(図４のＳ１４およびＳ１５)が異なる。第２実施例では補完処理内部の条件によらず、つまり誤差値の和の正負よらず１つの丸め方式を設定している点で第１実施例と異なる。
【０１０６】
図５は、本発明による第２実施例における丸め方式決定部の動作を示すフローチャートである。上述したように、まず、各補間処理の丸め方式に対して上記初期値を与えておく。続く、ステップＳ２１〜Ｓ２３は、図４のステップＳ１１〜Ｓ１３と同じである。
【０１０７】
ステップＳ２４では、第１実施例と同様に、水平半画素、垂直半画素、水平垂直半画素、デュアルプライムの４種類の補間処理に対する丸め方式を変更する。ただし、第１実施例とは異なり、Ｐピクチャ１フレームごとに、補間処理内部における誤差値の和の正負とは関係なく丸め方式を設定する。
【０１０８】
具体的には、Ｐピクチャが偶数枚目の時には初期値と同様の丸め方式となる。すなわち、水平半画素の丸めの場合には、丸め方式Ｚ11：Ib=(La+Lb+1)/2が設定され、垂直半画素の丸めの場合には、丸め方式Ｚ21：Ic=(La+Lc+1)/2が設定され、水平・垂直半画素の丸めの場合には、丸め方式Ｚ31：Id=(La+Lb+Lc+Ld+2)/4が設定され、デュアルプライムの丸めの場合には、丸め方式Ｚ41：Ie=(Le+Lf+1)/2が設定される。
【０１０９】
またＰピクチャが奇数枚目の時には、次のように丸め方式が変更される。 すなわち、水平半画素の丸めの場合には、丸め方式Ｚ12：Ib=(La+Lb)/2が設定され、垂直半画素の丸めの場合には、丸め方式Ｚ22：Ic=(La+Lc)/2がが設定され、水平・垂直半画素の丸めの場合には、丸め方式Ｚ32：Id=(La+Lb+Lc+Ld+1)/4が設定され、デュアルプライムの丸めの場合には、丸め方式Ｚ42：Ie=(Le+Lf)/2が設定される。
【０１１０】
ステップＳ２５では、Ｂピクチャの丸め方式を決定するが、本実施例ではＢピクチャの丸め方式は初期値を用いるので、このステップでは何も行わないで、丸め方式の決定処理を終了する。ただし、Ｓ２４と同様に補間処理の内部条件によらず１つの丸め方式を用いる。
【０１１１】
ステップＳ２６では、ステップＳ２４で決定した丸め方式を、丸め方式情報として誤差予測信号合成部１０２へ出力し、丸め方式の決定処理を終了する。
【０１１２】
第２実施例では、各補間処理内部に一つの丸め方式を用いるので、補間処理内部の条件分岐が省略できる。このために、第１実施例に比べ、装置規模を小さくできる。また、プログラムなどの場合は、補間処理内部での条件分岐の判断が省略できるので、高速な処理を実現できる。
【０１１３】
（第２実施形態）本発明の第２実施形態は、構成においては第１実施形態と同様であるが、第１実施形態と丸め方式決定部１０１においてフレームの符号化タイプごとに丸め方式を変更する点で動作が異なる。
【０１１４】
図６は、本発明による第２実施形態における丸め方式決定部の動作を示すフローチャートである。ここでは、丸め方式決定部において、符号化情報が丸め方式の変更判定および符号化タイプの判定で用いられる。また、フレームの符号化タイプはＷ種類存在するものとし、Ｋ種類の符号化タイプ１〜Ｋに対しては丸め方式の変更を行い、残りの符号化タイプＫ＋１〜Ｗに対しては初期値として設定された丸め方式を用いるものとする。
【０１１５】
ステップＳ３１では、丸め方式決定部１０１に供給される丸め方式変更情報および符号化情報を用いて丸め方式を変更をするか否かを判断する。丸め方式の変更は丸め方式変更情報によって定められたある処理単位ごとに行う。丸め方式を変更する場合は、ステップＳ３２へ、そうでない場合はステップＳ３３へ移る。ステップＳ３３では、丸め方式を変更しない。この場合は、前回の処理と同様の丸め方式を用いて、丸め方式の決定処理を終了する。
【０１１６】
ステップＳ３２では、補間処理で求める誤差信号が、符号化タイプ１であるか否かを符号化情報を用いて判断する。符号化タイプ１である場合はステップＳ３６へ、そうでない場合は符号化タイプ２の条件分岐処理へ移る。以下同様にして、符号化タイプＫの条件分岐処理（ステップＳ３４）まで、各符号化タイプを順次判別する。ステップＳ３４において、符号化タイプＫである場合はステップＳ３７へ、そうでない場合には符号化タイプＫ＋１〜Ｗであるか否か条件分岐処理（ステップＳ３５）へ移る。
【０１１７】
ステップＳ３６では、符号化タイプ１の丸め方式を変更する。ここでは、Ｍ（１）種類の補間処理が存在するものとしている。続いてステップＳ３９へ移る。同様に、各条件分岐ステップにおいて該当符号化タイプｉであると判定された場合には、当該符号化タイプｉの丸め方式を変更する。ここではＭ（ｉ）種類の補間処理が存在するものとしている。
【０１１８】
ステップＳ３７では、符号化タイプＫの丸め方式を変更する。ここではＭ（Ｋ）種類の補間処理が存在するものとしている。
【０１１９】
ステップＳ３８では、符号化タイプＫ＋１〜Ｗの丸め方式を決定するが、これらの符号化タイプでは丸め方式を初期値を用いるので、このステップでは結局何も行わない。
【０１２０】
上述したように第１実施形態においては、丸め方式は参照画像信号に対して同一の丸め方式を設定し、参照画像信号でない信号に対しては初期値として設定された丸め方式を設定していた。
【０１２１】
これに対して、第２実施形態では、符号化タイプごとに丸め方式の設定もしくは初期値の丸め方式を用いるかを決定できる。その結果、符号化タイプの特性に応じた丸め方式を設定することができ、再符号化における画質劣化をより効果的に抑制することが可能となる。
【０１２２】
（１）第２実施形態の実施例第２実施形態の実施例は、第１実施形態の第１実施例とＢピクチャの丸め方式の変更ステップ（図４のＳ１５）の動作が異なる。第１実施形態の第１実施例（図４）ではＰピクチャ１フレームごとに丸め方式を変更していたのに対して、本実施例では、ＰピクチャだけでなくＢピクチャについても１フレームごとに丸め方式を変更している。
【０１２３】
図７は、本発明による第２実施形態の一実施例における丸め方式決定部の動作を示すフローチャートである。ＰピクチャおよびＢピクチャの丸め方式の初期値としては第１実施形態の第１実施例と同様に与えられる。続く、ステップＳ４１〜Ｓ４４は、図４のステップＳ１１〜Ｓ１４と同じである。
【０１２４】
ステップＳ４５では、Ｂピクチャの各補間処理における丸め方式を変更する。水平半画素、垂直半画素、水平垂直半画素、および双方向予測の４種類の補間処理に対して丸め方式を変更する。本実施例では補間処理内部における誤差値の和の正負に応じて丸め方式を設定している。
【０１２５】
したがって、Ｂピクチャ１フレームごとに丸め方式を変更する場合、Ｂピクチャのフレーム数が偶数枚の場合は初期値と同様の丸め方式となる。すなわち、水平半画素の丸めの場合には、La+Lbが０以上の時に丸め方式Ｚ11：Ib=(La+Lb+1)/2が、La+Lbが負の時に丸め方式Ｚ12：Ib=(La+Lb)/2が設定され、垂直半画素の丸めの場合には、La+Lcが０以上の時に丸め方式Ｚ21：Ic=(La+Lc+1)/2が、La+Lcが負の時に丸め方式Ｚ22：Ic=(La+Lc)/2が設定され、水平・垂直半画素の丸めの場合には、La+Lb+Lc+Ldが０以上の時に丸め方式Ｚ31：Id=(La+Lb+Lc+Ld+2)/4が、La+Lb+Lc+Ldが負の時に丸め方式Ｚ32：Id=(La+Lb+Lc+Ld+1)/4が設定され、双方向予測の丸めの場合には、Le+Lfが０以上の時に丸め方式Ｚ41：Ie=(Le+Lf+1)/2が、Le+Lfが負の時に丸め方式Ｚ42：Ie=(Le+Lf)/2が設定される。
【０１２６】
またＢピクチャが奇数枚目の時には、次のように丸め方式が変更される。 すなわち、水平半画素の丸めの場合には、La+Lbが０以上の時に丸め方式Ｚ12：Ib=(La+Lb)/2が、La+Lbが負の時に丸め方式Ｚ11：Ib=(La+Lb+1)/2が設定され、垂直半画素の丸めの場合には、La+Lcが０以上の時に丸め方式Ｚ22：Ic=(La+Lc)/2が、La+Lcが負の時に丸め方式Ｚ21：Ic=(La+Lc+1)/2が設定され、水平・垂直半画素の丸めの場合には、La+Lb+Lc+Ldが０以上の時に丸め方式Ｚ32：Id=(La+Lb+Lc+Ld+1)/4が、La+Lb+Lc+Ldが負の時に丸め方式Ｚ31：Id=(La+Lb+Lc+Ld+2)/4が設定され、双方向予測の丸めの場合には、Le+Lfが０以上の時に丸め方式Ｚ42：Ie=(Le+Lf)/2が、Le+Lfが負の時に丸め方式Ｚ41：Ie=(Le+Lf+1)/2が設定される。
【０１２７】
ステップＳ４６では、ステップＳ４４あるいはＳ４５で決定した丸め方式を、丸め方式情報として誤差予測信号合成部１０２へ出力し、丸め方式の決定処理を終了する。
【０１２８】
上述したように、もし動き補償を行う誤差値の正負が１/2で発生するのであれば、誤差値の丸め誤差の期待値は０となり丸め誤差の蓄積は生じない。しかしながら、誤差値の分布が正に偏っている場合（たとえば、図１８に示したストリーム１）、誤差信号の動き補償処理によって正方向の丸め誤差が生じることになる。
【０１２９】
第１及び第２実施形態では、Ｐ／Ｂピクチャのフレーム毎に動き補償の丸め方式が変更されるために、このような丸め誤差の蓄積を抑制することができ、誤差値の分布が偏った場合でも一定方向への丸め誤差の発生を抑えることができる。
【０１３０】
たとえば、図８（Ａ）のような分布に対してＰピクチャごとに四捨五入と切り捨ての２つの丸め方式を切り替えると、図８（Ｂ）に示すように、各Ｐピクチャにおいては丸め誤差は生じるものの、時間方向の平均では丸め誤差の期待値は０に近い値となる。その結果、丸め誤差の一定方向への蓄積を抑えることが可能となる。
【０１３１】
図９は、MPEG-2 VIDEOビットストリームを実際に再符号化した場合の、色差信号のpeak signal to noise ratio(PSNR)を示すグラフである。ここで、縦軸はPSNRを表し、横軸はフレーム番号を表す。また、従来方式は、式１１〜式１４の丸め方式を用いた場合を表しており、実施例１および実施例2は、第１実施形態１の第１実施例および第２実施例の方式を用いたことを表している。入力となるMPEG-2 VIDEOビットストリームはIPPPP...の構造をもち、Ｉピクチャの間隔は６０フレームである。
【０１３２】
図９から明らかなように、従来方式は誤差蓄積が原因で画質劣化が生じているのに対し、本発明の第１実施形態を用いた場合は、誤差蓄積の蓄積が抑制されており、それによって画質劣化を抑える効果があることが分かる。
【０１３３】
（第３実施形態）図１０は、本発明による再符号化装置の第３実施形態における動き補償部の構成を示すブロック図である。第３実施形態による動き補償部１０は、丸め方式決定部１１０、誤差予測信号合成部１１１、および統計情報蓄積部１１２を含む。
【０１３４】
丸め方式決定部１１０は、丸め方式変更情報、入力ビットストリームの符号化情報、現在の丸め方式、および、統計情報蓄積部１１２から入力した丸め誤差値を用いて次の丸め方式を決定し、誤差予測信号合成部１１１へ丸め方式情報を供給する。
【０１３５】
誤差予測信号合成部１１１は、参照する誤差信号と、動きベクトル等の入力ストリームの符号化情報と、丸め決定部１１０から供給される丸め方式情報を用いて誤差予測信号を求め出力する。また、補間処理で生じた丸め誤差値およびその位置情報を統計情報蓄積部１１２へ供給する。
【０１３６】
統計情報蓄積部１１２は、誤差予測信号合成部１１１から供給された丸め誤差値を、既に蓄積していた丸め誤差値に加算し、その加算結果を丸め方式決定部１１０へ供給する。また、蓄積する画素位置の誤差信号がフレーム内予測であった場合には、蓄積していた画素位置の丸め誤差値を初期化する。
【０１３７】
図１１は、本発明による第３実施形態における丸め方式決定部の動作を示すフローチャートである。ステップＳ５１〜Ｓ５３、Ｓ５５およびＳ５６は、図４のステップＳ１１〜Ｓ１３、Ｓ１５およびＳ１６と同じである。動作が異なるのは、丸め方式の変更ステップＳ５４である。
【０１３８】
ステップＳ５４では補間処理ごとに丸め方式を変更する。ここでは、Ｍ種類の補間処理が存在するものとしている。さらに各補間処理においては、丸め誤差値蓄積部１１２から入力した丸め誤差加算値および符号化情報を用いて決定されるＮ種類の丸め誤差値条件１〜Ｎごとに丸め方式を変更し、ステップＳ５６へ移る。
【０１３９】
第３実施形態では、実際に生じた丸め誤差について考慮して丸め方式を決定する。丸め誤差値の分布によっては、丸め誤差の期待値が０から離れた値になる場合があるからである。ここでは、実際の丸め誤差値を蓄積し、次の丸め処理で丸め誤差の期待値が０に近づくように丸め方式を調整する。その結果、第１実施形態の構成に比べ、丸め誤差の期待値を０に近い値にすることができ、丸め誤差の蓄積をより効果的に抑えることが可能となる。
【０１４０】
（１）第３実施形態の実施例まず、統計情報蓄積部１１２について説明する。例えば、ある位置の誤差信号を丸め方式Ｚ11：Ib=(La+Lb+1)/2で求めるとする。ここでLa=1, Lb=6とすると、Ib=4となる。丸めがない場合にはIb=3.5となるので、この誤差信号には+0.5の丸め誤差が生じることになる。この場合、誤差予測信号合成部１１１は、補間処理で生じた丸め誤差値＋０．５およびその画素位置を統計情報蓄積部１１２へ出力する。
【０１４１】
丸め誤差は誤差の最小単位ごとに生じるので、丸め誤差値の累和を蓄積するには最小単位ごとに丸め誤差値を加算すればよい。しかし、この場合には、画素数分の丸め誤差値を記憶するメモリが必要となる。そこで、例えば図１３に示すように、あるブロックサイズごとの平均値や、輝度信号と色差信号の平均値の累和として蓄積することで、丸め誤差値を記憶するメモリ容量を削減することも可能である。
【０１４２】
本実施例では、丸め方式の変更をマクロブロック毎とし、丸め誤差値の条件としては、誤差予測信号合成部１１１においてマクロブロックの補間時に参照される画素における丸め誤差値累和の平均値の正負で場合分けを行う。以下具体例を示す。
【０１４３】
図１２は、本発明による第３実施形態の一実施例における丸め方式決定部の動作を示すフローチャートである。まず、補間処理の丸め方式に対して初期値を与える。ＰピクチャおよびＢピクチャの丸め方式としては、式１２〜式１５の丸め方式を用いる。
【０１４４】
ステップＳ６１では、補間処理で求める誤差信号の位置がマクロブロックの先頭か否かを符号化情報を用いて判断する。もしマクロブロックの先頭であれば、ステップＳ６２へ、そうでない場合はステップＳ６３へ移る。
【０１４５】
ステップＳ６２では、補間処理で求める誤差信号がＰピクチャであるか否かを符号化情報を用いて判断する。誤差信号がＰピクチャの場合は、ステップＳ６４へ、そうでない場合はステップＳ６５へ移る。
【０１４６】
ステップＳ６３では、丸め方式を変更しない。この場合は、前回の処理と同様の丸め方式を用いて、丸め方式の決定処理を終了する。
【０１４７】
ステップＳ６４では、水平半画素、垂直半画素、水平垂直半画素、デュアルプライムの４種類の補間処理に対する丸め方式を変更する。丸め方式は、マクロブロックにおける丸め誤差値累和の平均値の正負および誤差値の和の正負で場合分けし、決定される。
【０１４８】
実際には、丸め誤差の累和平均値が０以上の場合は、丸め誤差が負となるような丸め方式を適用する。その結果、水平半画素の丸めの場合で、La+Lb>=0の時にも、またLa+Lb<0の時にも、丸め方式Ｚ12：Ib=(La+Lb)/2が設定される。丸め誤差の累和平均値が負の場合は、丸め誤差が正となるような丸め方式を適用する。その結果、水平半画素の丸めの場合で、La+Lb>=0の時にも、またLa+Lb<0の時にも、丸め方式Ｚ11：Ib=(La+Lb+1)/2が設定される。このようにLa+Lbの正負に関係なく、丸め方式は同じになる。
【０１４９】
同様に、垂直半画素の丸めの場合には、丸め誤差の累和平均値が０以上で丸め方式Ｚ22：Ic=(La+Lc)/2が、丸め誤差の累和平均値が負の場合で丸め方式Ｚ21：Ic=(La+Lc+1)/2が設定される。水平・垂直半画素の丸めの場合には、丸め誤差の累和平均値が０以上で丸め方式Ｚ32：Id=(La+Lb+Lc+Ld+1)/4が、丸め誤差の累和平均値が負の場合で丸め方式Ｚ31：Id=(La+Lb+Lc+Ld+2)/4が設定される。デュアルプライムの丸めの場合には、丸め誤差の累和平均値が０以上で丸め方式Ｚ42：Ie=(Le+Lf)/2が、丸め誤差の累和平均値が負の場合で丸め方式Ｚ41：Ie=(Le+Lf+1)/2が設定される。
【０１５０】
なお、ブロックサイズごとに丸め誤差値累和平均値を用いた場合には、図１４に示すように、参照される画素の面積の重みづけ平均をとる等の方式が考えられる。図１４では簡単のために、動き補償単位および累和を蓄積する単位を４画素ごととしている。
【０１５１】
（再符号化装置の構成）図１５は、本発明による再符号化装置の第１実施形態の構成を示すブロック図である。ここでは、動き補償器１０以外は、図１８に示す従来の再符号化装置と同様であるから、同じ参照番号を付して詳細は省略する。上述した動き補償器１０の丸め動作によって、丸め誤差の蓄積が抑制され高画質な再符号化を達成できる。動き補償器１０を図１０に示す構成にしても、上述したような同様の効果を得ることができる。
【０１５２】
なお、ここでは、離散コサイン変換（ＤＣＴ）を用いた再符号化装置を例示したが、本発明はＤＣＴを用いない場合でも適用可能であることはいうまでもない。さらに、本発明は、再量子化誤差信号の動き補償を用いた再符号化装置一般に適用可能であることもいうまでもない。
【０１５３】
図１６は、本発明による再符号化装置をインプリメントした情報処理システムの一例を示す概略的ブロック構成図である。本発明による動き補償器１０を含む再符号化装置は、以上の説明から明らかなように、ハードウエアで構成することもできるが、コンピュータプログラムにより実現することも可能である。
【０１５４】
図１６に示す情報処理システムは、プロセッサ１２１、プログラムメモリ１２２、記憶媒体１２３および１２４からなる。記憶媒体１２３および１２４は、別個の記憶媒体であってもよいし、同一の記憶媒体の異なる記憶領域であってもよい。記憶媒体としては、ハードディスク等の磁気記録媒体を用いることができる。
【０１５５】
プロセッサ１２１は、プログラムメモリ１２２に格納されたプログラムを実行することで、上述した第１、第２あるいは第３実施形態による再符号化装置の各機能をそれぞれ実現することができる。たとえば、プログラムメモリ１２２に、図１５に示すブロック３０１〜３１２および動き補償器１０を実現するプログラムを格納してプロセッサ１２１により実行してもよい。具体的には、ハードディスク１２３から高ビットレート（たとえば２２Ｍｂｐｓ）のビットストリームを入力し、プロセッサ１２１で上述した再符号化処理を行い、低ビットレート（たとえば１０Ｍｂｐｓ）のビットストリームをハードディスク１２４へ出力する。
【図面の簡単な説明】
【０１５６】
【図１】本発明による再符号化装置の第１実施形態における動き補償部の構成を示すブロック図である。
【図２】第１実施形態に用いられる丸め方式の一覧を示す図である。
【図３】第１実施形態における丸め決定部１０１の動作を示すフローチャートである。
【図４】本発明による第１実施例における丸め方式決定部の動作を示すフローチャートである。
【図５】本発明による第２実施例における丸め方式決定部の動作を示すフローチャートである。
【図６】本発明による第２実施形態における丸め方式決定部の動作を示すフローチャートである。
【図７】本発明による第２実施形態の一実施例における丸め方式決定部の動作を示すフローチャートである。
【図８】（Ａ）は正に偏っている誤差値の分布を示す図であり、（ｂ）はＰピクチャごとに四捨五入と切り捨ての２つの丸め方式を切り替えた場合の誤差値の分布を示す図である。
【図９】MPEG-2 VIDEOビットストリームを実際に再符号化した場合の、色差信号のpeaksignal to noise ratio(PSNR)を示すグラフである。
【図１０】本発明による再符号化装置の第３実施形態における動き補償部の構成を示すブロック図である。
【図１１】本発明による第３実施形態における丸め方式決定部の動作を示すフローチャートである。
【図１２】本発明による第３実施形態の一実施例における丸め方式決定部の動作を示すフローチャートである。
【図１３】本発明による第３実施形態の一実施例の動作を説明するための模式図である。
【図１４】本発明による第３実施形態の一実施例の動作を説明するための模式図である。
【図１５】本発明による再符号化装置の第１実施形態の構成を示すブロック図である。
【図１６】本発明による再符号化装置をインプリメントした情報処理システムの一例を示す概略的ブロック構成図である。
【図１７】基本的の再符号化装置の回路構成を示すブロック図である。
【図１８】従来の再符号化装置の一例を示す回路図である。
【図１９】半画素精度の動き補償処理における補間処理を説明するための模式図である。
【図２０】輝度信号におけるフレームあたりの誤差値の平均値を示すグラフである。
【符号の説明】
【０１５７】
１０  動き補償部
１０１  丸め方式決定部
１０２  誤差予測信号合成部
１１０  丸め方式決定部
１１１  誤差予測信号合成部
１１２  統計情報蓄積部
２０１  可変長復号器
２０２  逆量子化器
２０３  逆離散コサイン変換器
２０４  加算器
２０５  動き補償器
２０６  メモリ
２０７  減算器
２０８  動き補償器
２０９  離散コサイン変換器
２１０  量子化器
２１１  可変長符号化器
２１２  逆量子化器
２１３  逆離散コサイン変換器
２１４  加算器
２１５  メモリ
３０１  可変長復号器
３０２  逆量子化器
３０３  逆離散コサイン変換器
３０４  減算器
３０５  動き補償器
３０６  離散コサイン変換器
３０７  減算器
３０８  量子化器
３０９  可変長符号化器
３１０  逆量子化器
３１１  逆離散コサイン変換器
３１２  メモリ
【図１】
0004539661.tif 000017
【図２】
0004539661.tif 000018
【図３】
0004539661.tif 000019
【図４】
0004539661.tif 000020
【図５】
0004539661.tif 000021
【図６】
0004539661.tif 000022
【図７】
0004539661.tif 000023
【図８】
0004539661.tif 000024
【図９】
0004539661.tif 000025
【図１０】
0004539661.tif 000026
【図１１】
0004539661.tif 000027
【図１２】
0004539661.tif 000028
【図１３】
0004539661.tif 000029
【図１４】
0004539661.tif 000030
【図１５】
0004539661.tif 000031
【図１６】
0004539661.tif 000032
【図１７】
0004539661.tif 000033
【図１８】
0004539661.tif 000034
【図１９】
0004539661.tif 000035
【図２０】
0004539661.tif 000036