ディジタル放送システムやサービス等において動画像信号を伝送・蓄積する場合、多くの動画像信号は圧縮符号化され伝送・蓄積される。近年では動画像信号の圧縮符号化方式としてISO/ICE IS13818-2(MPEG-2 VIDEO)等が規格化され、ディジタル放送システムやサービス等に用いられている。
放送局や家庭では、所定のビットレートで圧縮符号化された圧縮動画ストリームを異なるビットレートの圧縮動画ストリームに再符号化し、伝送あるいは蓄積する装置やアプリケーションが期待されている。例えばディジタル動画像信号録画装置における長時間録画機能があげられる。放送局から家庭に分配される圧縮動画ストリームは所定のビットレートで符号化されている。視聴者が長時間録画を目的とし、限られた記憶容量に分配された圧縮動画ストリームを録画する場合、分配時のビットレートよりも低いビットレートで圧縮動画ストリームを再符号化する必要がある。
以下、このようなビットレート変換を行う従来の再符号化方法および装置について、MPEG-2 VIDEOに従って圧縮符号化されている圧縮動画ストリーム(以下、MPEG-2ビットストリームという。)の場合を例に取って説明する。
図17に示すように、基本的な再符号化回路は、MPEG-2ビットストリームの復号器と符号化器とを直列に接続した構成となる。復号器には、可変長復号器201、逆量子化器202、および逆離散コサイン変換器203が設けられ、入力したMPEG-2ビットストリームから予測誤差信号R1(n)を得る。ここで、添え字‘1’は復号器で得られた信号であることを表し、‘n’は画像信号系列内の画像信号の時間方向の番号を表す(以下、同様である)。加算器204は、予測誤差信号R1(n)と予測画像信号MC[I1(n-1), V]と加算して復号された画像信号I1(n)を生成する。したがって、画像信号I1(n)は、次式で表される。
復号された画像信号I1(n)は符号化器へ供給されると共に、メモリ206で遅延され動き補償器205へ出力される。動き補償器205は、既に復号した画像信号I1(n-1)と可変長復号器201から供給される動きベクトルフィールドVを用いて動き補償MCを行い、予測画像信号MC[I1(n-1), V]を生成して加算器204へ出力する。
符号化器は復号器で復号した画像信号I1(n)の再符号化を行う。まず、減算器207は、復号した画像信号I1(n)から第2の予測画像信号MC[I2(n-1), V]を減算して予測誤差信号R2(n)を求める。ここで、添え字‘2’は符号化器で得られた信号であることを表し、‘n’は画像信号系列内の画像信号の時間方向の番号を表す(以下、同様である)。すなわち、予測誤差信号R2(n)は次式で表される。
予測画像信号MC[I2(n-1), V]は、動き補償器208において、既に復号した画像信号I2(n-1)と動きベクトルフィールドVを用いて動き補償を行うことで求められる。
符号化器には、離散コサイン変換器209、量子化器210、および可変長符号化器211が設けられ、得られた予測誤差信号R2(n)からビットレート変換されたMPEG-2ビットストリームを生成して出力する。
また量子化器210で得られた離散コサイン変換係数に対して、逆量子化器212が逆量子化を行い、さらに逆離散コサイン変換器213が逆離散コサイン変換を行うことで、予測誤差信号R2(n)+E2(n)が得られる。ただし、量子化と逆量子化は可逆変換ではないため、得られた予測誤差信号には誤差信号E2(n)が含まれることになる。
加算器214は、動き補償器208によって得られた予測画像信号MC[I2(n-1), V]と予測誤差信号R2(n)+E2(n)とを加算して画像信号I2(n)を求める。したがって、画像信号I2(n)は、式(2)を用いて、次のように表すことができる。
この画像信号I2(n)がメモリ215で遅延され動き補償器208へ出力される。動き補償器208は、既に復号した画像信号I2(n-1)と動きベクトルフィールドVを用いて動き補償MCを行い、予測画像信号MC[I2(n-1), V]を生成して減算器207へ出力する。
ところで、動き補償処理は、符号化を行う画像信号ブロックと相関の高い、既に復号した画像信号ブロックを選択すること、および選択したブロックを動きベクトルを用いてシフトすることで実現される。そのため、動き補償処理に対しては線形性が成り立つ。この動き補償処理の線形性を利用して装置構成を簡易化した従来技術が、特開平8−51631号公報、特許第3166501号、あるいは米国特許5,623,312号などに記載されている。これらの装置では、再量子化で生じた誤差信号に対して動き補償処理した結果を予測誤差信号に加える手段が設けられている。
ここでは、特開平8−51631号公報に記載された圧縮動画像再符号化装置を一例として説明する。まず、動き補償処理の線形性を適用した簡易化の過程を説明する。
上記式(3)よりI2(n)=I1(n) + E2(n)であるから、予測画像信号MC[I2(n-1), V]は、次式で表わすことができる。
ここで、動き補償処理の線形性より、次式が成り立つ。
予測誤差信号R2(n)については、式(2)に対して、式(1)、式(4)および式(5)を適用することで、次式が成り立つ。
この式(6)から、再符号化に必要な予測誤差信号R2(n)は、復号した予測誤差信号R1(n)から誤差信号E2(n)の動き補償処理結果(以下、誤差予測信号という。)を減算することで求められる。したがって、図15に示す再符号化装置に比べ、再符号化に必要なメモリの個数を削減でき、装置構成を簡易化することができるわけである。
図18は、このようにして簡易化された再符号化装置の一例(特開平8−51631号公報)を示す回路図である。可変長復号器301、逆量子化器302および逆離散コサイン変換器303によって入力であるMPEG-2ビットストリームから予測誤差信号R1(n)を求め、離散コサイン変換器306、量子化器308および可変長符号化器309によって予測誤差信号R2(n)から出力であるMPEG-2ビットストリームを求め、さらに逆量子化器310および逆離散コサイン変換器311によって予測誤差信号R2(n)+E2(n)を求める構成は、図17と同様である。
この簡易化された再符号化装置では、減算器304において、予測誤差信号R1(n)から誤差信号E2(n-1)の誤差予測信号MC[E2(n-1),V]を減算することで予測誤差信号R2(n)を求める。さらに、減算器307においては、逆離散コサイン変換器311から出力された予測誤差信号R2(n)+E2(n)から予測誤差信号R2(n)を減算することで誤差信号E2(n)を求め、メモリ312で遅延されて動き補償器305へ出力される。動き補償器305は、誤差信号E2(n)と動きベクトルフィールドVとを用いて誤差信号の動き補償MCを行い、誤差予測信号MC[E2(n-1),V]を生成して減算器304へ出力する。このように構成することで、再量子化で生じた誤差信号の動き補償処理が基本的に可能となる。
しかしながら、誤差信号の動き補償を実施し、その演算過程において有限長への丸め処理を行うと画質劣化が生じるという問題があった。以下、従来の再符号化装置における画質劣化の原因について説明する。ここでも、圧縮動画ストリームはMPEG-2 VIDEOに従って圧縮符号化されているものとする。周知のように、MPEG-2 VIDEOでは、動きベクトルの最小単位を隣接する画素の半分の長さとした半画素精度の動き補償処理が用いられている。動き補償処理において動きベクトルが整数値でない場合には、存在しない画素位置の画素値は補間により求められる。
図19に示すように、整数画素位置401、402、403、404における画素信号の画素値をそれぞれLa、Lb、Lc、Ldとした場合、MPEG-2 VIDEOでは補間する半画素位置405、406、407、408の画素信号の画素値Ia、Ib、Ic、Idは、それぞれ式7〜式10で求められる。
ここで、‘/’は、除算の結果をその値を超えない整数に丸める演算である。また、式7〜式10において画素値に1または2が加算されているのは、小数点以下の値を四捨五入するためである。このように半画素精度の動き補償処理を行った場合、画素値を整数値に丸めることによる誤差が生じる。以下、このような画素値および誤差信号の誤差値を整数値に丸めることによる誤差を「丸め誤差」と呼ぶ。
上述したように、図18に示す再符号化装置では、式5に示す線形性を利用することで装置構成を簡易化していた。この場合、式5の左辺は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]の丸め誤差の和とは等しくはならないので、式5は一般的に成立しない。その結果、このように簡易化された構成では、一般に、動き補償処理を行う際の丸め誤差が原因となって、図17に示す再符号化装置とは異なる結果が得られる。
丸め誤差が蓄積しなければ、丸め誤差による画質劣化の影響は実用上は小さいと考えられるから、確率的に丸め誤差の期待値が0になることが重要である。上記式6により、丸め誤差が生じるのはMC[E2(n-1), V]の項で示される動き補償処理においてであるから、MC[E2(n-1), V]における丸め誤差の期待値について考える。
図19に示した整数画素位置401、402、403、404における誤差信号の誤差値をそれぞれLa, Lb, Lc, Ldとした場合、半画素位置405、406、407、408における誤差信号の誤差値Ia, Ib, Ic, Idは、それぞれ式11〜式14により求めることができる。
図17の再符号化装置における式7〜式10と異なるのは、図18に示す簡易化された再符号化装置では、正負の値をもつ誤差信号に対して動き補償処理を行うからである。丸め方式としては、0を中心とした正負対称丸めが一般に用いられるので、式7〜式10を正負対称とした式11〜式14となる。
誤差信号を求めたい半画素位置が図19に示した405、406,407,408となる確率をそれぞれ1/4とすると、画素位置405における丸め誤差は明らかに0である。
画素位置406における丸め誤差は、La+Lbの正負および奇偶で異なる。La+Lbが0となる場合に丸め誤差は生じないので、0となる確率は考慮しない。そこでLa+Lbが正となる確率をp、負となる確率を(1-p)とする。また、La+Lbの奇偶の確率をそれぞれ1/2とする。画素位置406における丸め誤差は、La+Lbが偶数の場合は0、La+Lbが正かつ奇数の場合は1/2、La+Lbが負かつ奇数の場合は−1/2であり、その期待値は、0×(p+1-p)×1/2 + 1/2×p×1/2 + (-1/2)×(1-p)×1/2=(2p-1)/4となる。画素位置407における丸め誤差の期待値も画素位置406と同様に(2p-1)/4となる。
画素位置408における丸め誤差は、La+Lb+Lc+Ldの正負およびLa+Lb+Lc+Ldを4で割った余りで異なる。そこで、La+Lb+Lc+Ldが正となる確率をq、負となる確率を(1-q)とする。La+Lb+Lc+Ldが正の場合に、4で割った余りが0, 1, 2, 3である場合の丸め誤差は、それぞれ0,−1/4, 1/2, 1/4となる。この時、余りが0から3になる確率は等確率とする。また、La+Lb+Lc+Ldが負の場合に、La+Lb+Lc+Ldの絶対値を4で割った余りが0, 1, 2, 3である場合の丸め誤差は、それぞれ0, 1/4, −1/2, −1/4となる。この時、余りが0から3になる確率は等確率とする。これより画素位置408における丸め誤差の期待値は、q×(0×1/4-1/4×1/4+1/2×1/4×1/4) +(1-q)×(0×1/4+1/4×1/4-1/2×1/4-1/4×1/4)=(2q-1)/8となる。
よって、最終的な丸め誤差の期待値は、0×1/4+(2p-1)/4×1/4 + (2p-1)/4×1/4 + (2q-1)/8×1/4 = (2p-1)/8 + (2q-1)/32となる。これは、誤差信号の動き補償を行う度に、(2p-1)/8 +(2q-1)/32の丸め誤差が発生することを意味する。
ここで正負の確率が等確率とすれば、すなわちp=q=1/2とすれば、丸め誤差の期待値は0となり、丸め誤差は生じない。ただし、ここでは説明を簡単にするために奇遇および余りおよび誤差値の画素位置の確率を等確率と仮定している。
しかしながら、一般に、誤差信号における誤差値の正負は、画像特性や量子化特性等により異なり等確率とはならない。図20に、3種類のMPEG-2 VIDEOビットストリーム1,2,および3を実際に再符号化した場合の誤差値の分布を示す。
ここで、MPEG-2 VIDEOではフレーム内予測もしくはフレーム間予測を用いて圧縮される。フレーム内予測を用いて符号化されたフレームは動き補償が行われないため、動き補償における丸め誤差は発生しない。MPEG-2 VIDEOではIピクチャがそれにあたる。また、フレーム間予測を用いて符号化されたフレームのうち、参照画像として用いられないフレームは、丸め誤差が蓄積することはない。MPEG-2 VIDEOではBピクチャがそれにあたる。
そこで、参照画像として用いられ、動き補償予測を用いて圧縮されたPピクチャにおける丸め誤差の蓄積を防ぐことが重要となる。ここではIPPPP...の構造をもつMPEG-2 VIDEOビットストリームを用いて再符号化を行った。Iピクチャの間隔は30フレームである。
図20のグラフにおいて縦軸は輝度信号におけるフレームあたりの誤差値の平均値、横軸はフレーム番号を表す。図20から、一般には誤差信号における誤差値の正負は、画像特性や量子化特性等により異なり、等確率とはなっていないことがわかる。その結果、誤差値の分布によっては丸め誤差が正もしくは負の一定方向に蓄積することがあり、式11〜式14の補間処理を行うと画質劣化が生じる可能性がある。
圧縮動画像の符号化および復号化システムとして丸め誤差の蓄積を抑える方法は、種々提案されている。
たとえば、特開平11−317957号公報には、符号化時にプラスの丸め込み(切り上げ)方式とマイナスの丸め込み(切り捨て)方式とを切り換えることで丸め誤差の蓄積を抑制する方法が開示されている。同様に、特開平11−69345号公報にも、丸め方向が正の無限大方向になる方式と負の無限大方向になる方式とをほぼ同じ確率で選択することで丸め誤差の累積を回避する方法が開示されている。言い換えれば、上記式7〜式10のような一定方向(ここでは正の方向)への丸め方式だけを用いると、符号化時の丸め誤差が常に一定方向に蓄積され、画質劣化が生じてしまう。この丸め誤差の蓄積を回避するために、符号化する際に丸め方式の切り換えを行うわけである。
しかしながら、これら公報で開示されているのは、符号化および復号化システムとして丸め誤差の蓄積を抑える方法である。したがって、これら公報で開示された技術では、符号化時の参照画像と復号時の参照画像を一致させるために、符号化時に用いた丸め方式が復号化時に与えられていなければならない。そのため、圧縮動画ストリームに丸め方式の情報を含める必要がある。すなわち、符号化装置における丸め方式の切り換え情報を復号装置へ通知し、復号装置でも同じ丸め方式で丸め処理を行うようにする必要がある。上記公報に記載された方法は、言い換えれば、符号化方法で規定された動き補償処理の演算精度で生じる丸め誤差を抑制しようとするものである。
これに対して、本発明の属する再符号化技術は、符号化時の丸め方式には関係なく、入力した圧縮動画ストリームに対して何らかの変換(符号量の低減など)を行い、異なる圧縮動画ストリームとして出力するものである。したがって、復号装置では、その変換されたストリームを入力して画像信号を生成する。本発明の属する再符号化技術では、誤差信号の動き補償処理の演算過程において有限長への丸め処理を行った場合に生じる丸め誤差、言い換えれば、動き補償処理の演算精度が原因で生じる丸め誤差を打ち消すことを目的としている。言い換えれば、符号化方法で規定されていない動き補償処理の演算精度(低減された精度)で生じる丸め誤差を抑制しようとするものである。
したがって、特開平11−317957号公報や特開平11−69345号公報に記載された符号化方法を用いたとしても、図18に示すような簡易化された再符号化装置を用いて圧縮動画像ストリームデータを再符号化した場合には誤差信号E2(n)の丸め誤差が生じ、画質劣化が生じるであろう。すなわち、本発明の課題である丸め誤差は、上記公報に記載されている丸め誤差とは異なるものであり、これら公報に記載されている方法を用いても本発明の課題を解決することはできない。
本発明の目的は、誤差信号の動き補償処理過程において有限長への丸め処理を行う際の丸め誤差の蓄積を抑制して画質の劣化を防止でき、かつ簡易な構成を有する再符号化方法および装置を提供することにある。
本発明による再符号化方法は、所定符号化方式の圧縮動画像ストリームを入力して復号化し、有限長への丸め処理を含む画素精度未満単位の動き補償予測処理を実行した後、再度符号化する方法において、前記圧縮動画像ストリームの少なくとも一部を復号して得られる画像信号を再量子化し、再量子化する前の信号と再量子化した後の信号とから再量子化誤差信号を計算し、前記再量子化誤差信号に対して前記動き補償予測処理を実行する過程において、前記入力圧縮動画像ストリームが生成された際の符号化処理に依存しない処理単位毎に、前記丸め処理の丸め方式を変更する、ことを特徴とする。
前記所定符号化方式は、好ましくは、周波数空間への変換処理を組み合わせた符号化方式であり、前記圧縮動画像ストリームの少なくとも一部を復号して得られる画像信号は、前記圧縮動画像ストリームの少なくとも一部を復号して得られる周波数係数である。
また、丸め方式が変更される処理単位は、好ましくは、少なくとも1フレーム/フィールドあるいはフレーム/フィールド内の少なくとも1個の小ブロックであり、少なくとも1個の画素であってもよい。
本発明の一実施形態によれば、丸め方式は、異なるフレーム/フィールドの符号化タイプ毎に複数個予め設定されており、前記複数の丸め方式から1つが前記処理単位毎に選択されることを特徴とする。また、フレーム/フィールドの符号化タイプの少なくとも1つは前記丸め方式が固定されていることを特徴とする。
動き補償予測処理は複数の補間処理を有し、前記丸め方式は、前記複数の補間処理のそれぞれに対応して少なくとも1つ設定されていることが望ましい。
本発明の他の実施形態によれば、所定符号化方式の圧縮動画像ストリームを入力して復号化し、有限長への丸め処理を含む画素精度未満単位の動き補償予測処理を実行した後、再度符号化する方法において、前記圧縮動画像ストリームの少なくとも一部を復号して得られる画像信号を再量子化し、再量子化する前の信号と再量子化した後の信号とから再量子化誤差信号を計算し、前記再量子化誤差信号の統計情報を生成し、前記再量子化誤差信号に対して前記動き補償予測処理を実行する過程において、前記入力圧縮動画像ストリームが生成された際の符号化処理に依存しない処理単位毎に、前記統計情報に基づいて前記丸め処理の丸め方式を変更する、ことを特徴とする。
統計情報は、画素ごとの前記再量子化誤差信号の誤差値に基づいて生成されることを特徴とする。さらに、統計情報は、複数の画素における前記再量子化誤差信号の誤差値の平均値に基づいて生成されることが望ましい。統計情報は、フレーム/フィールド内の小ブロックにおける前記再量子化誤差信号の誤差値の平均値に基づいて生成されることが望ましい。
本発明の他の観点によれば、所定符号化方式の圧縮動画像ストリームを入力して復号化し、有限長への丸め処理を含む画素精度未満単位の動き補償予測処理を実行した後、再度符号化する圧縮画像の再符号化装置は、前記圧縮動画像ストリームの少なくとも一部を復号して得られる画像信号を再量子化する再量子化手段と、再量子化する前の信号と再量子化した後の信号とから再量子化誤差信号を計算する誤差計算手段と、前記再量子化誤差信号に対して前記動き補償予測処理を実行する誤差予測信号合成手段と、前記動き補償予測処理の過程において、前記入力圧縮動画像ストリームが生成された際の符号化処理に依存しない処理単位毎に、前記丸め処理の丸め方式を変更する丸め方式決定手段と、を有することを特徴とする。
本発明の一実施形態によれば、周波数空間への変換処理を組み合わせた符号化方式の圧縮動画像ストリームを入力して復号化し、有限長への丸め処理を含む画素精度未満単位の動き補償予測処理を実行した後、再度符号化する圧縮画像の再符号化装置は、前記圧縮動画像ストリームの少なくとも一部を復号して得られる第1画像信号を周波数空間へ変換して周波数係数を生成する変換手段と、前記周波数係数を再量子化する再量子化手段と、前記再量子化された信号を逆量子化する逆量子化手段と、逆量子化された信号を第2画像信号に変換する逆変換手段と、前記第1画像信号と前記第2画像信号とから再量子化誤差信号を計算する誤差計算手段と、前記再量子化誤差信号に対して前記動き補償予測処理を実行する誤差予測信号合成手段と、前記動き補償予測処理の過程において、前記入力圧縮動画像ストリームが生成された際の符号化処理に依存しない処理単位毎に、前記丸め処理の丸め方式を変更する丸め方式決定手段と、を有することを特徴とする。
本発明のさらに他の観点によれば、所定符号化方式の圧縮動画像ストリームを入力して復号化し、有限長への丸め処理を含む画素精度未満単位の動き補償予測処理を実行した後、再度符号化する圧縮画像の再符号化装置は、前記圧縮動画像ストリームの少なくとも一部を復号して得られる画像信号を再量子化する再量子化手段と、再量子化する前の信号と再量子化した後の信号とから再量子化誤差信号を計算する誤差計算手段と、前記再量子化誤差信号に対して前記動き補償予測処理を実行し、前記丸め処理による誤差値を生成する誤差予測信号合成手段と、前記丸め処理による誤差値の統計情報を蓄積する蓄積手段と、前記動き補償予測処理の過程において、前記入力圧縮動画像ストリームが生成された際の符号化処理に依存しない処理単位毎に、前記統計情報に基づいて前記丸め処理の丸め方式を変更する丸め方式決定手段と、を有することを特徴とする。
上述したように、本発明によれば、画像データのフレーム/フィールドあるいは小ブロックなどの所定処理単位ごとに、動き補償の丸め方式が変更されるために、丸め誤差の蓄積を抑制することができ、誤差値の分布が偏った場合でも、時間方向の平均では丸め誤差の期待値を0に近づけることができ、一定方向への丸め誤差の発生を抑えることができる。
さらに、丸め誤差の統計情報を用いることで、実際の誤差発生に応じて丸め方式を決定することができ、丸め誤差の蓄積をさらに効果的に抑制することができる。
以上詳細に説明したように、従来では誤差値などの分布によっては、丸め誤差が蓄積し画質劣化が生じていたのに対し、本発明によれば丸め誤差の期待値を0に近づけることができ、丸め誤差の蓄積を抑制し画質劣化が生じない。よって、高画質な再符号化を達成できる。
さらに、丸め誤差の統計情報を用いることで、実際の誤差発生に応じて丸め方式を決定することができ、丸め誤差の蓄積をさらに効果的に抑制することができる。
本発明では丸め誤差の蓄積が生じにくいため、誤差信号を記憶するための記憶容量を小さくできるという効果もある。さらに、丸め方式の条件を簡易にすることで、通常の方式と同等の画質を保ちつつ、プログラムの高速処理や装置の簡易化を実現できる。
以下、本発明の実施形態を説明するが、再符号化装置としての基本的構成は図16に示すものと同じである。したがって、可変長復号器や逆量子化器などの説明は省略し、本発明による動き補償器を中心に詳細に説明する。
(第1実施形態)図1は、本発明による再符号化装置の第1実施形態における動き補償部の構成を示すブロック図である。本発明による動き補償部10は、入力ビットストリームの符号化情報、丸め方式変更情報および参照誤差信号を入力し、誤差予測信号を出力する。動き補償部10は、丸め方式決定部101および誤差予測信号合成部102を含む。
丸め方式決定部101は、現在の丸め方式、丸め方式変更情報および符号化情報に基づいて次の丸め方式を決定し、誤差予測信号合成部102へ丸め方式情報を出力する。ここで丸め方式変更情報は、後述するように、丸め方式の変更を行う期間および条件に関する情報であり、例えば、誤差予測信号合成部102に予め組み込まれている設定可能な丸め方式(図2参照)のインデックスあるいは丸め方式の数式情報等である。丸め方式変更情報にしたがって、丸め方式決定部101は丸め方式を設定し、設定された丸め方式によって誤差予測信号合成部102は動き補償処理を実行する。
誤差予測信号合成部102は、参照する誤差信号E2(n-1)と、動きベクトル等の入力ストリームの符号化情報と、丸め決定部101から入力した丸め方式情報とを用いて誤差予測信号MC[E2(n-1),V]を求め、減算器20へ出力する。
ここでは、補間する誤差信号の画素位置や符号化モード等によってM種類の補間処理が存在するものとし、各補間処理において、複数の丸め方式Zが設定されている。たとえば、補間処理1では、K(1)個の丸め方式Z11〜Z1K(1)が存在し、同様に、補間処理Mでは、K(M)個の丸め方式ZM1〜ZMK(M)が存在するものとする。たとえば、各補間処理の複数の丸め方式を初期設定方式から順次あるいはランダムに選択する。
図2は、第1実施形態に用いられる丸め方式の一覧を示す図である。各補間処理において、入力ビットストリームに含まれる符号化情報等を用いた条件Cごとに丸め方式が存在するものとしても良い。たとえば、K(1)個の条件C11〜C1K(1)に対してそれぞれ丸め方式Z11〜Z1K(1)が存在し、同様に、補間処理Mでは、K(M)個の条件CM1〜CMK(M)に対してそれぞれ丸め方式ZM1〜ZMK(M)が存在してもよい。
図3は、本実施形態における丸め決定部101の動作を示すフローチャートである。補間処理の丸め方式に対しては初期値が与えられているものとする。また、丸め決定部101において、符号化情報は丸め方式の変更時判定および参照画像であるかどうかの判定で用いられる。
ステップS1では、丸め方式決定部101に供給される丸め方式変更情報および符号化情報を用いて丸め方式を変更をするか否かを判断する。丸め方式を変更する場合はステップS2へ、変更しない場合はステップS3へ移る。丸め方式の変更は、丸め方式変更情報によって定められたある処理単位ごとに行う。後述するように、フレーム/フィールド単位、あるいはフレーム/フィールド内のブロック単位などである。
ステップS2では、補間処理で求める誤差信号が、参照画像として用いられるか否かを符号化情報を用いて判断する。参照画像として用いられる場合はステップS4へ、そうでない場合はステップS5へ移る。
ステップS3では、丸め方式を変更せずに、前回の補間処理と同様の丸め方式を用いる。すなわち、このステップS3では何も行わずに、丸め方式の決定処理を終了する。
ステップS4では、丸め方式を変更する。補間する誤差信号の画素位置や符号化モード等によって複数種類の補間処理が存在するため、各補間処理における丸め方式を変更する。
ステップS5では、参照画像として用いられない誤差信号の丸め方式を決定する。参照画像として用いられない誤差信号の丸め誤差は蓄積されないので、丸め方式を初期値のままで用いる場合には、このステップでは何も行わず、そのまま丸め方式の決定処理を終了する。
ステップS6では、ステップS4で決定した丸め方式を、丸め方式情報として誤差予測信号合成部102へ出力し、丸め方式の決定処理を終了する。
次に、具体的な実施例を用いて、本実施形態の動作を詳細に説明する。
(1)第1実施形態の第1実施例第1実施例では、入力となる圧縮動画ストリームはMPEG-2 VIDEOストリームとし、誤差信号を整数値に丸めるものとする。MPEG-2 VIDEOにおいて、誤差信号の補間処理を行い、かつ参照画像信号となるのは前方向予測を用いたPピクチャのみである。本実施例では、丸め方式の変更はPピクチャに対してのみ行い、その期間は1フレームごとに行うという丸め変更情報が供給されるものとする。
丸め方式の変更期間および条件に関しては、輝度信号や各色信号ごとに変更したり、画像信号のあるブロックサイズごと、もしくは、あるフレーム数ごと、ある符号化タイプごとに変更したり、ある予測方式毎に変更したり、と様々なものが考えられる。例えば、MPEG-2 VIDEOでは、予測方式に順方向予測、逆方向予測、双方向予測があり、これらの予測方式には、フィールド予測、フレーム予測等がある。
丸め方式は、複数の補間処理、複数の条件ごとに設定可能である。例えば、MPEG-2 VIDEOでは、補間処理として、水平半画素丸め、垂直半画素丸め、水平・垂直半画素丸め、デュアルプライム丸め、双方向予測丸めの5種類がある。
また、条件としては、例えば輝度信号や各色差信号の信号による条件、フレーム動き補償やフィールド動き補償等の符号化情報を用いた条件、およびその組み合わせが考えられる。しかし、ここでは簡単化のために、条件による丸め方式の設定は行わず、上記5種類の補間処理に対して次に示す丸め方式を設定するものとする。
まず、PピクチャおよびBピクチャの丸め方式の初期値として、上記式12〜式14および次式15の丸め方式を与える。
式15は、Pピクチャのデュアルプライム予測時およびBピクチャの双方向予測時に用いられる丸め方式である。デュアルプライム予測および双方向予測では2つの画素信号LeとLfの平均をとる。
上記式12〜式15をまとめて、以下、上記5種類の補間処理に対する丸め方式の初期値を次のように記すこととする。
水平半画素の丸め:La+Lb>=0の場合には、丸め方式Z11:Ib=(La+Lb+1)/2、La+Lb<0の場合には、丸め方式Z12:Ib=(La+Lb)/2。
垂直半画素の丸め:La+Lc>=0の場合には、丸め方式Z21:Ic=(La+Lc+1)/2、La+Lc<0の場合には、丸め方式Z22:Ic=(La+Lc)/2。
水平・垂直半画素の丸め:La+Lb+Lc+Ld>=0の場合には、丸め方式Z31:Id=(La+Lb+Lc+Ld+2)/4、La+Lb+Lc+Ld <0の場合には、丸め方式Z32:Id=(La+Lb+Lc+Ld+1)/4。
デュアルプライム/双方向予測の丸め:Le+Lf>=0の場合には、丸め方式Z41:Ie=(Le+Lf+1)/2、Le+Lf<0の場合には、丸め方式Z42:Ie=(Le+Lf)/2。
図4は、本発明による第1実施例における丸め方式決定部の動作を示すフローチャートである。まず、各補間処理の丸め方式に対して上記初期値を与えておく。
ステップS11では、補間処理で求める誤差信号の位置がフレームの先頭かを符号化情報を用いて判断する。もしフレームの先頭であれば、ステップS12へ、そうでない場合はステップS13へ移る。
ステップS12では、補間処理で求める誤差信号がPピクチャであるか否かを符号化情報を用いて判断する。誤差信号がPピクチャの場合は、ステップS14へ、そうでない場合はステップS15へ移る。
ステップS13では、丸め方式を変更しない。この場合は、前回の処理と同様の丸め方式を用いて、丸め方式の決定処理を終了する。
ステップS14では、水平半画素、垂直半画素、水平垂直半画素、デュアルプライムの4種類の補間処理に対する丸め方式を変更する。第1実施例では、Pピクチャ1フレームごとに、補間処理内部における誤差値の和の正負に応じて丸め方式を設定している。
したがって、Pピクチャが偶数枚目の時には初期値と同様の丸め方式となる。すなわち、水平半画素の丸めの場合には、La+Lbが0以上の時に丸め方式Z11:Ib=(La+Lb+1)/2が、La+Lbが負の時に丸め方式Z12:Ib=(La+Lb)/2が設定され、垂直半画素の丸めの場合には、La+Lcが0以上の時に丸め方式Z21:Ic=(La+Lc+1)/2が、La+Lcが負の時に丸め方式Z22:Ic=(La+Lc)/2が設定され、水平・垂直半画素の丸めの場合には、La+Lb+Lc+Ldが0以上の時に丸め方式Z31:Id=(La+Lb+Lc+Ld+2)/4が、La+Lb+Lc+Ldが負の時に丸め方式Z32:Id=(La+Lb+Lc+Ld+1)/4が設定され、デュアルプライムの丸めの場合には、Le+Lfが0以上の時に丸め方式Z41:Ie=(Le+Lf+1)/2が、Le+Lfが負の時に丸め方式Z42:Ie=(Le+Lf)/2が設定される。
またPピクチャが奇数枚目の時には、次のように丸め方式が変更される。 すなわち、水平半画素の丸めの場合には、La+Lbが0以上の時に丸め方式Z12:Ib=(La+Lb)/2が、La+Lbが負の時に丸め方式Z11:Ib=(La+Lb+1)/2が設定され、垂直半画素の丸めの場合には、La+Lcが0以上の時に丸め方式Z22:Ic=(La+Lc)/2が、La+Lcが負の時に丸め方式Z21:Ic=(La+Lc+1)/2が設定され、水平・垂直半画素の丸めの場合には、La+Lb+Lc+Ldが0以上の時に丸め方式Z32:Id=(La+Lb+Lc+Ld+1)/4が、La+Lb+Lc+Ldが負の時に丸め方式Z31:Id=(La+Lb+Lc+Ld+2)/4が設定され、デュアルプライムの丸めの場合には、Le+Lfが0以上の時に丸め方式Z42:Ie=(Le+Lf)/2が、Le+Lfが負の時に丸め方式Z41:Ie=(Le+Lf+1)/2が設定される。
ステップS15では、Bピクチャの丸め方式を決定するが、本実施例ではBピクチャの丸め方式は初期値を用いるので、このステップでは何も行わないで、丸め方式の決定処理を終了する。
ステップS16では、ステップS14で決定した丸め方式を、丸め方式情報として誤差予測信号合成部102へ出力し、丸め方式の決定処理を終了する。
(2)第1実施形態の第2実施例第2実施例は、第1実施例における丸め方式の変更ステップ(図4のS14およびS15)が異なる。第2実施例では補完処理内部の条件によらず、つまり誤差値の和の正負よらず1つの丸め方式を設定している点で第1実施例と異なる。
図5は、本発明による第2実施例における丸め方式決定部の動作を示すフローチャートである。上述したように、まず、各補間処理の丸め方式に対して上記初期値を与えておく。続く、ステップS21〜S23は、図4のステップS11〜S13と同じである。
ステップS24では、第1実施例と同様に、水平半画素、垂直半画素、水平垂直半画素、デュアルプライムの4種類の補間処理に対する丸め方式を変更する。ただし、第1実施例とは異なり、Pピクチャ1フレームごとに、補間処理内部における誤差値の和の正負とは関係なく丸め方式を設定する。
具体的には、Pピクチャが偶数枚目の時には初期値と同様の丸め方式となる。すなわち、水平半画素の丸めの場合には、丸め方式Z11:Ib=(La+Lb+1)/2が設定され、垂直半画素の丸めの場合には、丸め方式Z21:Ic=(La+Lc+1)/2が設定され、水平・垂直半画素の丸めの場合には、丸め方式Z31:Id=(La+Lb+Lc+Ld+2)/4が設定され、デュアルプライムの丸めの場合には、丸め方式Z41:Ie=(Le+Lf+1)/2が設定される。
またPピクチャが奇数枚目の時には、次のように丸め方式が変更される。 すなわち、水平半画素の丸めの場合には、丸め方式Z12:Ib=(La+Lb)/2が設定され、垂直半画素の丸めの場合には、丸め方式Z22:Ic=(La+Lc)/2がが設定され、水平・垂直半画素の丸めの場合には、丸め方式Z32:Id=(La+Lb+Lc+Ld+1)/4が設定され、デュアルプライムの丸めの場合には、丸め方式Z42:Ie=(Le+Lf)/2が設定される。
ステップS25では、Bピクチャの丸め方式を決定するが、本実施例ではBピクチャの丸め方式は初期値を用いるので、このステップでは何も行わないで、丸め方式の決定処理を終了する。ただし、S24と同様に補間処理の内部条件によらず1つの丸め方式を用いる。
ステップS26では、ステップS24で決定した丸め方式を、丸め方式情報として誤差予測信号合成部102へ出力し、丸め方式の決定処理を終了する。
第2実施例では、各補間処理内部に一つの丸め方式を用いるので、補間処理内部の条件分岐が省略できる。このために、第1実施例に比べ、装置規模を小さくできる。また、プログラムなどの場合は、補間処理内部での条件分岐の判断が省略できるので、高速な処理を実現できる。
(第2実施形態)本発明の第2実施形態は、構成においては第1実施形態と同様であるが、第1実施形態と丸め方式決定部101においてフレームの符号化タイプごとに丸め方式を変更する点で動作が異なる。
図6は、本発明による第2実施形態における丸め方式決定部の動作を示すフローチャートである。ここでは、丸め方式決定部において、符号化情報が丸め方式の変更判定および符号化タイプの判定で用いられる。また、フレームの符号化タイプはW種類存在するものとし、K種類の符号化タイプ1〜Kに対しては丸め方式の変更を行い、残りの符号化タイプK+1〜Wに対しては初期値として設定された丸め方式を用いるものとする。
ステップS31では、丸め方式決定部101に供給される丸め方式変更情報および符号化情報を用いて丸め方式を変更をするか否かを判断する。丸め方式の変更は丸め方式変更情報によって定められたある処理単位ごとに行う。丸め方式を変更する場合は、ステップS32へ、そうでない場合はステップS33へ移る。ステップS33では、丸め方式を変更しない。この場合は、前回の処理と同様の丸め方式を用いて、丸め方式の決定処理を終了する。
ステップS32では、補間処理で求める誤差信号が、符号化タイプ1であるか否かを符号化情報を用いて判断する。符号化タイプ1である場合はステップS36へ、そうでない場合は符号化タイプ2の条件分岐処理へ移る。以下同様にして、符号化タイプKの条件分岐処理(ステップS34)まで、各符号化タイプを順次判別する。ステップS34において、符号化タイプKである場合はステップS37へ、そうでない場合には符号化タイプK+1〜Wであるか否か条件分岐処理(ステップS35)へ移る。
ステップS36では、符号化タイプ1の丸め方式を変更する。ここでは、M(1)種類の補間処理が存在するものとしている。続いてステップS39へ移る。同様に、各条件分岐ステップにおいて該当符号化タイプiであると判定された場合には、当該符号化タイプiの丸め方式を変更する。ここではM(i)種類の補間処理が存在するものとしている。
ステップS37では、符号化タイプKの丸め方式を変更する。ここではM(K)種類の補間処理が存在するものとしている。
ステップS38では、符号化タイプK+1〜Wの丸め方式を決定するが、これらの符号化タイプでは丸め方式を初期値を用いるので、このステップでは結局何も行わない。
上述したように第1実施形態においては、丸め方式は参照画像信号に対して同一の丸め方式を設定し、参照画像信号でない信号に対しては初期値として設定された丸め方式を設定していた。
これに対して、第2実施形態では、符号化タイプごとに丸め方式の設定もしくは初期値の丸め方式を用いるかを決定できる。その結果、符号化タイプの特性に応じた丸め方式を設定することができ、再符号化における画質劣化をより効果的に抑制することが可能となる。
(1)第2実施形態の実施例第2実施形態の実施例は、第1実施形態の第1実施例とBピクチャの丸め方式の変更ステップ(図4のS15)の動作が異なる。第1実施形態の第1実施例(図4)ではPピクチャ1フレームごとに丸め方式を変更していたのに対して、本実施例では、PピクチャだけでなくBピクチャについても1フレームごとに丸め方式を変更している。
図7は、本発明による第2実施形態の一実施例における丸め方式決定部の動作を示すフローチャートである。PピクチャおよびBピクチャの丸め方式の初期値としては第1実施形態の第1実施例と同様に与えられる。続く、ステップS41〜S44は、図4のステップS11〜S14と同じである。
ステップS45では、Bピクチャの各補間処理における丸め方式を変更する。水平半画素、垂直半画素、水平垂直半画素、および双方向予測の4種類の補間処理に対して丸め方式を変更する。本実施例では補間処理内部における誤差値の和の正負に応じて丸め方式を設定している。
したがって、Bピクチャ1フレームごとに丸め方式を変更する場合、Bピクチャのフレーム数が偶数枚の場合は初期値と同様の丸め方式となる。すなわち、水平半画素の丸めの場合には、La+Lbが0以上の時に丸め方式Z11:Ib=(La+Lb+1)/2が、La+Lbが負の時に丸め方式Z12:Ib=(La+Lb)/2が設定され、垂直半画素の丸めの場合には、La+Lcが0以上の時に丸め方式Z21:Ic=(La+Lc+1)/2が、La+Lcが負の時に丸め方式Z22:Ic=(La+Lc)/2が設定され、水平・垂直半画素の丸めの場合には、La+Lb+Lc+Ldが0以上の時に丸め方式Z31:Id=(La+Lb+Lc+Ld+2)/4が、La+Lb+Lc+Ldが負の時に丸め方式Z32:Id=(La+Lb+Lc+Ld+1)/4が設定され、双方向予測の丸めの場合には、Le+Lfが0以上の時に丸め方式Z41:Ie=(Le+Lf+1)/2が、Le+Lfが負の時に丸め方式Z42:Ie=(Le+Lf)/2が設定される。
またBピクチャが奇数枚目の時には、次のように丸め方式が変更される。 すなわち、水平半画素の丸めの場合には、La+Lbが0以上の時に丸め方式Z12:Ib=(La+Lb)/2が、La+Lbが負の時に丸め方式Z11:Ib=(La+Lb+1)/2が設定され、垂直半画素の丸めの場合には、La+Lcが0以上の時に丸め方式Z22:Ic=(La+Lc)/2が、La+Lcが負の時に丸め方式Z21:Ic=(La+Lc+1)/2が設定され、水平・垂直半画素の丸めの場合には、La+Lb+Lc+Ldが0以上の時に丸め方式Z32:Id=(La+Lb+Lc+Ld+1)/4が、La+Lb+Lc+Ldが負の時に丸め方式Z31:Id=(La+Lb+Lc+Ld+2)/4が設定され、双方向予測の丸めの場合には、Le+Lfが0以上の時に丸め方式Z42:Ie=(Le+Lf)/2が、Le+Lfが負の時に丸め方式Z41:Ie=(Le+Lf+1)/2が設定される。
ステップS46では、ステップS44あるいはS45で決定した丸め方式を、丸め方式情報として誤差予測信号合成部102へ出力し、丸め方式の決定処理を終了する。
上述したように、もし動き補償を行う誤差値の正負が1/2で発生するのであれば、誤差値の丸め誤差の期待値は0となり丸め誤差の蓄積は生じない。しかしながら、誤差値の分布が正に偏っている場合(たとえば、図18に示したストリーム1)、誤差信号の動き補償処理によって正方向の丸め誤差が生じることになる。
第1及び第2実施形態では、P/Bピクチャのフレーム毎に動き補償の丸め方式が変更されるために、このような丸め誤差の蓄積を抑制することができ、誤差値の分布が偏った場合でも一定方向への丸め誤差の発生を抑えることができる。
たとえば、図8(A)のような分布に対してPピクチャごとに四捨五入と切り捨ての2つの丸め方式を切り替えると、図8(B)に示すように、各Pピクチャにおいては丸め誤差は生じるものの、時間方向の平均では丸め誤差の期待値は0に近い値となる。その結果、丸め誤差の一定方向への蓄積を抑えることが可能となる。
図9は、MPEG-2 VIDEOビットストリームを実際に再符号化した場合の、色差信号のpeak signal to noise ratio(PSNR)を示すグラフである。ここで、縦軸はPSNRを表し、横軸はフレーム番号を表す。また、従来方式は、式11〜式14の丸め方式を用いた場合を表しており、実施例1および実施例2は、第1実施形態1の第1実施例および第2実施例の方式を用いたことを表している。入力となるMPEG-2 VIDEOビットストリームはIPPPP...の構造をもち、Iピクチャの間隔は60フレームである。
図9から明らかなように、従来方式は誤差蓄積が原因で画質劣化が生じているのに対し、本発明の第1実施形態を用いた場合は、誤差蓄積の蓄積が抑制されており、それによって画質劣化を抑える効果があることが分かる。
(第3実施形態)図10は、本発明による再符号化装置の第3実施形態における動き補償部の構成を示すブロック図である。第3実施形態による動き補償部10は、丸め方式決定部110、誤差予測信号合成部111、および統計情報蓄積部112を含む。
丸め方式決定部110は、丸め方式変更情報、入力ビットストリームの符号化情報、現在の丸め方式、および、統計情報蓄積部112から入力した丸め誤差値を用いて次の丸め方式を決定し、誤差予測信号合成部111へ丸め方式情報を供給する。
誤差予測信号合成部111は、参照する誤差信号と、動きベクトル等の入力ストリームの符号化情報と、丸め決定部110から供給される丸め方式情報を用いて誤差予測信号を求め出力する。また、補間処理で生じた丸め誤差値およびその位置情報を統計情報蓄積部112へ供給する。
統計情報蓄積部112は、誤差予測信号合成部111から供給された丸め誤差値を、既に蓄積していた丸め誤差値に加算し、その加算結果を丸め方式決定部110へ供給する。また、蓄積する画素位置の誤差信号がフレーム内予測であった場合には、蓄積していた画素位置の丸め誤差値を初期化する。
図11は、本発明による第3実施形態における丸め方式決定部の動作を示すフローチャートである。ステップS51〜S53、S55およびS56は、図4のステップS11〜S13、S15およびS16と同じである。動作が異なるのは、丸め方式の変更ステップS54である。
ステップS54では補間処理ごとに丸め方式を変更する。ここでは、M種類の補間処理が存在するものとしている。さらに各補間処理においては、丸め誤差値蓄積部112から入力した丸め誤差加算値および符号化情報を用いて決定されるN種類の丸め誤差値条件1〜Nごとに丸め方式を変更し、ステップS56へ移る。
第3実施形態では、実際に生じた丸め誤差について考慮して丸め方式を決定する。丸め誤差値の分布によっては、丸め誤差の期待値が0から離れた値になる場合があるからである。ここでは、実際の丸め誤差値を蓄積し、次の丸め処理で丸め誤差の期待値が0に近づくように丸め方式を調整する。その結果、第1実施形態の構成に比べ、丸め誤差の期待値を0に近い値にすることができ、丸め誤差の蓄積をより効果的に抑えることが可能となる。
(1)第3実施形態の実施例まず、統計情報蓄積部112について説明する。例えば、ある位置の誤差信号を丸め方式Z11:Ib=(La+Lb+1)/2で求めるとする。ここでLa=1, Lb=6とすると、Ib=4となる。丸めがない場合にはIb=3.5となるので、この誤差信号には+0.5の丸め誤差が生じることになる。この場合、誤差予測信号合成部111は、補間処理で生じた丸め誤差値+0.5およびその画素位置を統計情報蓄積部112へ出力する。
丸め誤差は誤差の最小単位ごとに生じるので、丸め誤差値の累和を蓄積するには最小単位ごとに丸め誤差値を加算すればよい。しかし、この場合には、画素数分の丸め誤差値を記憶するメモリが必要となる。そこで、例えば図13に示すように、あるブロックサイズごとの平均値や、輝度信号と色差信号の平均値の累和として蓄積することで、丸め誤差値を記憶するメモリ容量を削減することも可能である。
本実施例では、丸め方式の変更をマクロブロック毎とし、丸め誤差値の条件としては、誤差予測信号合成部111においてマクロブロックの補間時に参照される画素における丸め誤差値累和の平均値の正負で場合分けを行う。以下具体例を示す。
図12は、本発明による第3実施形態の一実施例における丸め方式決定部の動作を示すフローチャートである。まず、補間処理の丸め方式に対して初期値を与える。PピクチャおよびBピクチャの丸め方式としては、式12〜式15の丸め方式を用いる。
ステップS61では、補間処理で求める誤差信号の位置がマクロブロックの先頭か否かを符号化情報を用いて判断する。もしマクロブロックの先頭であれば、ステップS62へ、そうでない場合はステップS63へ移る。
ステップS62では、補間処理で求める誤差信号がPピクチャであるか否かを符号化情報を用いて判断する。誤差信号がPピクチャの場合は、ステップS64へ、そうでない場合はステップS65へ移る。
ステップS63では、丸め方式を変更しない。この場合は、前回の処理と同様の丸め方式を用いて、丸め方式の決定処理を終了する。
ステップS64では、水平半画素、垂直半画素、水平垂直半画素、デュアルプライムの4種類の補間処理に対する丸め方式を変更する。丸め方式は、マクロブロックにおける丸め誤差値累和の平均値の正負および誤差値の和の正負で場合分けし、決定される。
実際には、丸め誤差の累和平均値が0以上の場合は、丸め誤差が負となるような丸め方式を適用する。その結果、水平半画素の丸めの場合で、La+Lb>=0の時にも、またLa+Lb<0の時にも、丸め方式Z12:Ib=(La+Lb)/2が設定される。丸め誤差の累和平均値が負の場合は、丸め誤差が正となるような丸め方式を適用する。その結果、水平半画素の丸めの場合で、La+Lb>=0の時にも、またLa+Lb<0の時にも、丸め方式Z11:Ib=(La+Lb+1)/2が設定される。このようにLa+Lbの正負に関係なく、丸め方式は同じになる。
同様に、垂直半画素の丸めの場合には、丸め誤差の累和平均値が0以上で丸め方式Z22:Ic=(La+Lc)/2が、丸め誤差の累和平均値が負の場合で丸め方式Z21:Ic=(La+Lc+1)/2が設定される。水平・垂直半画素の丸めの場合には、丸め誤差の累和平均値が0以上で丸め方式Z32:Id=(La+Lb+Lc+Ld+1)/4が、丸め誤差の累和平均値が負の場合で丸め方式Z31:Id=(La+Lb+Lc+Ld+2)/4が設定される。デュアルプライムの丸めの場合には、丸め誤差の累和平均値が0以上で丸め方式Z42:Ie=(Le+Lf)/2が、丸め誤差の累和平均値が負の場合で丸め方式Z41:Ie=(Le+Lf+1)/2が設定される。
なお、ブロックサイズごとに丸め誤差値累和平均値を用いた場合には、図14に示すように、参照される画素の面積の重みづけ平均をとる等の方式が考えられる。図14では簡単のために、動き補償単位および累和を蓄積する単位を4画素ごととしている。
(再符号化装置の構成)図15は、本発明による再符号化装置の第1実施形態の構成を示すブロック図である。ここでは、動き補償器10以外は、図18に示す従来の再符号化装置と同様であるから、同じ参照番号を付して詳細は省略する。上述した動き補償器10の丸め動作によって、丸め誤差の蓄積が抑制され高画質な再符号化を達成できる。動き補償器10を図10に示す構成にしても、上述したような同様の効果を得ることができる。
なお、ここでは、離散コサイン変換(DCT)を用いた再符号化装置を例示したが、本発明はDCTを用いない場合でも適用可能であることはいうまでもない。さらに、本発明は、再量子化誤差信号の動き補償を用いた再符号化装置一般に適用可能であることもいうまでもない。
図16は、本発明による再符号化装置をインプリメントした情報処理システムの一例を示す概略的ブロック構成図である。本発明による動き補償器10を含む再符号化装置は、以上の説明から明らかなように、ハードウエアで構成することもできるが、コンピュータプログラムにより実現することも可能である。
図16に示す情報処理システムは、プロセッサ121、プログラムメモリ122、記憶媒体123および124からなる。記憶媒体123および124は、別個の記憶媒体であってもよいし、同一の記憶媒体の異なる記憶領域であってもよい。記憶媒体としては、ハードディスク等の磁気記録媒体を用いることができる。
プロセッサ121は、プログラムメモリ122に格納されたプログラムを実行することで、上述した第1、第2あるいは第3実施形態による再符号化装置の各機能をそれぞれ実現することができる。たとえば、プログラムメモリ122に、図15に示すブロック301〜312および動き補償器10を実現するプログラムを格納してプロセッサ121により実行してもよい。具体的には、ハードディスク123から高ビットレート(たとえば22Mbps)のビットストリームを入力し、プロセッサ121で上述した再符号化処理を行い、低ビットレート(たとえば10Mbps)のビットストリームをハードディスク124へ出力する。