(57)【特許請求の範囲】
【請求項１】
動き補償および量子化を用いた所定符号化方式の圧縮動画ビットストリームを入力として、少なくとも量子化された信号を逆量子化して復号信号を計算する第１ステップと、
蓄積した過去の誤差信号を動き補償して補正信号を計算する第２ステップと、
前記復号信号から前記補正信号を減算して再符号化する信号を計算し、前記再符号化する信号を再量子化し、再度符号化変換して圧縮動画ビットストリームを出力する第３ステップと、
再量子化による誤差である現在の前記誤差信号を計算して蓄積する第４ステップと、
を有する圧縮動画ビットストリームの再符号化処理をコンピュータに実行させるプログラムにおいて、
前記誤差信号の計算方法として、
前記再符号化する信号と、前記再量子化した信号を逆量子化した第２復号信号と、を用いて前記誤差信号を求める第１の計算方法と、
前記復号信号と、前記第２復号信号と、前記補正信号と、を用いて前記誤差信号を求める第２の計算方法と、
が用意され、
前記第１ステップで得られる前記復号信号の信号値および分布情報と、前記第４ステップで得られる前記第２復号信号の信号値および分布情報と、の少なくとも一方を計測する第５ステップと、
前記第５ステップで計測された信号値および分布情報の少なくとも一方に基づいて前記複数の計算方法の演算量を推定する第６ステップと、
前記第６ステップの推定結果に従って最も演算量の少ない計算方法を選択し、前記誤差信号を計算する第７ステップと、
を含むことを特徴とする圧縮動画ビットストリームの再符号化コンピュータプログラム。
【請求項２】
前記所定符号化方式は周波数領域への変換処理を組み合わせた符号化方式であり、前記復号信号は空間領域の画像信号を周波数係数で表現した周波数復号信号であり、前記補正信号は周波数係数で表現される周波数補正信号であり、前記再符号化する信号は周波数係数で表現される周波数符号化信号であり、前記第２復号信号は周波数係数で表現される周波数第２復号信号であり、
前記周波数補正信号は、過去の蓄積した空間領域の誤差信号である空間誤差信号と、当該空間誤差信号を周波数変換した周波数誤差信号とのいずれかを用いて計算されることを特徴とする請求項１記載の圧縮動画ビットストリームの再符号化コンピュータプログラム。
【請求項３】
前記信号値および分布情報は、周波数係数が零である位置を示す情報であることを特徴とする請求項２記載の圧縮動画ビットストリームの再符号化コンピュータプログラム。
【請求項４】
前記信号値および分布情報は、複数の周波数係数が零である位置を示す情報であることを特徴とする請求項２記載の圧縮動画ビットストリームの再符号化コンピュータプログラム。
【請求項５】
前記信号値および分布情報は、周波数係数の非零係数が複数個の予め設定された周波数領域に属するか否かを示す範囲情報であることを特徴とする請求項２記載の圧縮動画ビットストリームの再符号化コンピュータプログラム。
【請求項６】
再符号化処理または復号処理の単位毎に、
前記復号信号が全て零であるかを計測するステップと、
全て零であれば、前記再符号化する信号を零として再符号化し、前記補正信号を現在の前記誤差信号として蓄積するステップと、
を含むことを特徴とする請求項１記載の圧縮動画ビットストリームの再符号化コンピュータプログラム。
【請求項７】
再符号化処理または復号処理単位毎に、
前記復号信号が全て零であるかを計測するステップと、
全て零であれば、前記再符号化する信号を零として再符号化し、前記周波数補正信号を現在の前記周波数誤差信号および前記空間誤差信号の一方で蓄積するステップと、
を含むことを特徴とする請求項２記載の圧縮動画ビットストリームの再符号化コンピュータプログラム。
【請求項８】
周波数領域への変換処理および量子化を用いた所定符号化方式の圧縮動画ビットストリームを入力として、少なくとも量子化された信号を逆量子化して周波数復号信号を計算し、過去の蓄積した空間領域の誤差信号である空間誤差信号と当該空間誤差信号を周波数変換した周波数誤差信号とのいずれか一方を動き補償して周波数補正信号を計算し、前記周波数復号信号から前記周波数補正信号を減算して周波数符号化信号を計算し、前記周波数符号化信号を再量子化し、再度符号化変換して圧縮動画ビットストリームを出力し、再量子化による誤差である現在の前記周波数誤差信号および前記空間誤差信号の一方を計算して蓄積し、前記周波数補正信号の計算に供する再符号化方法において、
前記空間誤差信号および前記周波数誤差信号の一方を計算する計算方法として、
前記周波数符号化信号と、前記再量子化した信号を逆量子化した周波数第２復号信号と、を用いる第１の計算方法と、
前記周波数復号信号と、前記周波数第２復号信号と、前記周波数補正信号と、を用いる第２の計算方法と、
を用意し、
前記周波数復号信号の信号値および分布情報と、前記周波数第２復号信号の信号値および分布情報と、の少なくとも一方を計測する第１ステップと、
前記第１ステップで計測された信号値および分布情報の少なくとも一方に基づいて前記複数の計算方法の演算量を推定する第２ステップと、
前記第２ステップの推定結果に従って最も演算量の少ない計算方法を選択し、前記空間誤差信号および前記周波数誤差信号の一方を計算するステップと、
を有することを特徴とする圧縮動画ビットストリームの再符号化方法。
【請求項９】
再符号化処理または復号処理単位毎に、
前記復号信号が全て零であるかを計測するステップと、
全て零であれば、前記再符号化する信号を零として再符号化し、前記周波数補正信号を現在の前記周波数誤差信号および前記空間誤差信号の一方として蓄積するステップと、
を有することを特徴とする請求項８記載の圧縮動画ビットストリームの再符号化方法。
【請求項１０】
周波数領域への変換処理および量子化を用いた所定符号化方式の圧縮動画ビットストリームを入力として、少なくとも量子化された信号を逆量子化して周波数復号信号を計算する手段と、過去の蓄積した空間領域の誤差信号である空間誤差信号と、当該空間誤差信号を周波数変換した周波数誤差信号とのいずれか一方を動き補償して周波数補正信号を計算する手段と、前記周波数復号信号から前記周波数補正信号を減算して周波数符号化信号を計算する手段と、前記周波数符号化信号を再量子化し、再度符号化変換して圧縮動画ビットストリームを生成する手段と、再量子化による誤差である現在の前記周波数誤差信号および前記空間誤差信号の一方を計算して蓄積し前記周波数補正信号の計算に供する手段と、を有する再符号化装置において、
前記周波数符号化信号と前記再量子化した信号を逆量子化した周波数第２復号信号とを用いる第１の計算方法と、前記周波数復号信号と前記周波数第２復号信号と前記周波数補正信号とを用いる第２の計算方法とを用意して、これらの計算方法で前記空間誤差信号および前記周波数誤差信号の一方を計算可能な計算手段と、
前記周波数復号信号の信号値および分布情報と、前記周波数第２復号信号の信号値および分布情報と、の少なくとも一方を計測する計測手段と、
前記計測手段で計測された信号値および分布情報の少なくとも一方に基づいて前記複数の計算方法の演算量を推定する推定手段と、
前記推定手段による推定結果に従って最も演算量の少ない計算方法を選択し、前記計算手段により前記空間誤差信号および前記周波数誤差信号の一方を計算させる制御手段と、
を有することを特徴とする圧縮動画ビットストリームの再符号化装置。
【請求項１１】
再符号化処理または復号処理単位毎に、
前記復号信号が全て零であるかを計測する手段と、
全て零であれば、前記再符号化する信号を零として再符号化し、前記周波数補正信号を現在の前記周波数誤差信号および前記空間誤差信号の一方として蓄積する手段と、
を有することを特徴とする請求項１０記載の圧縮動画ビットストリームの再符号化装置。
【請求項１２】
前記周波数符号化信号の計算方法が２種類存在し、前記２種類の計算方法は、前記周波数復号信号と前記周波数補正信号とを用いて周波数符号化信号を計算する方法、および前記周波数復号信号を用いて周波数符号化信号を計算する方法であり、
前記２種類の計算方法を、予め定めた処理単位ごとに選択するステップを含むことを特徴とする請求項２記載の圧縮動画ビットストリームの再符号化コンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は圧縮動画像の再符号化技術に係り、特に入力した圧縮動画ビットストリームの符号量を低減して出力する圧縮動画像再符号化プログラム、方法および装置に関する。
【０００２】
【従来の技術】
ディジタル放送システムやサービス等において動画像信号を伝送・蓄積する場合、多くの動画像信号は圧縮符号化され伝送・蓄積される。近年では動画像信号の圧縮符号化方式としてISO/ICE IS13818-2(MPEG-2 VIDEO)等が規格化され、ディジタル放送システムやサービス等に用いられている。
【０００３】
放送局や家庭では、所定のビットレートで圧縮符号化された圧縮動画ビットストリームを異なるビットレートの圧縮動画ビットストリームに再符号化し、伝送あるいは蓄積するアプリケーションや装置が期待されている。例えばディジタル動画像信号録画装置における長時間録画機能があげられる。放送局から家庭に分配される圧縮動画ビットストリームは所定のビットレートで符号化されている。これを視聴者が長時間録画を目的とし、限られた記憶容量に録画する場合、分配時のビットレートよりも低いビットレートで圧縮動画ビットストリームを再符号化する必要がある。
【０００４】
以下、このようなビットレート変換を行う従来の再符号化装置について、MPEG-2 VIDEOに従って圧縮符号化されている圧縮動画ビットストリーム（以下、MPEG-2ビットストリームという。）の場合を例にとって説明する。
【０００５】
MPEG-2 VIDEOでは離散コサイン変換とフレーム間予測を組み合わせたハイブリッド符号化方式が採用されており、Ｉ、Ｐ、Ｂの３つのピクチャタイプが存在する。Ｉピクチャはフレーム内予測だけを用いて符号化されるピクチャであり、Ｐピクチャはフレーム内予測および前方向フレーム間予測を用いて符号化されるピクチャであり、Ｂピクチャはフレーム内予測および双方向フレーム間予測（前方向、逆方向予測も含む。）を用いて符号化されるピクチャである。
【０００６】
ＩおよびＰピクチャはフレーム間予測の参照画像として用いられる。また、MPEG-2 VIDEOの符号化は、複数のブロックで構成されるマクロブロックという単位ごとに行われる。１ブロックは８画素×８ラインもしくは８×８離散コサイン変換係数で構成される。
【０００７】
図３５に基本的な再符号化装置を示す。再符号化装置はMPEG-2ビットストリームの復号器と符号化器とを直列に接続した構成となる。復号器は、MPEG-2ビットストリームを画像信号に復号し、復号した画像信号と再利用可能な符号化情報とを符号化器へ供給する。
【０００８】
可変長復号器２０１は、入力したMPEG-2ビットストリームから、符号化モードや動きベクトルなどのマクロブロック符号化情報およびレベル値を復号すると共に、復号したレベル値を逆量子化器２０２へ供給する。ここで、レベル値は低周波成分から順にスキャニングされて1次元情報に変換されているので、可変長復号器２０１では２次元情報への変換も行う。逆量子化器２０２はレベル値に対して逆量子化を行い、離散コサイン変換係数ＤＣＴ[R1(n)]を求め、逆離散コサイン変換器２０３へ供給する。以下、可変長復号器２０１と逆量子化器２０２とをまとめて変換係数復号部２１という。
【０００９】
ここで、ＤＣＴ[R1(n)]は予測誤差信号Ｒ１（ｎ）を離散コサイン変換して得られる係数を表し、添え字‘１’は復号器で得られた信号であることを表し、‘ｎ’は画像信号系列内の画像信号の時間方向の番号を表す（以下、同様である）。逆離散コサイン変換器２０３は、離散コサイン変換係数ＤＣＴ［Ｒ１（ｎ）］に逆離散コサイン変換を行うことで予測誤差信号Ｒ１（ｎ）を求め、加算器２０４へ供給する。MPEG-2 VIDEOでは離散コサイン変換および逆離散コサイン変換は８×８のブロック単位で行われる。
【００１０】
動き補償器２０５は、マクロブロックの符号化方式がフレーム間予測であれば、既に復号した画像信号Ｉ１（ｎ−１）と可変長復号器２０１から供給される動きベクトルＶとを用いて動き補償ＭＣを行い、予測画像信号ＭＣ［Ｉ１（ｎ−１），Ｖ］を求めて加算器２０４へ供給する。
【００１１】
加算器２０４は、フレーム間予測であれば、予測誤差信号Ｒ１(n)と予測画像信号MC[I1(n-1), V]とを加算して画像信号Ｉ１（ｎ）を求め、フレーム内予測であれば、予測誤差信号R1(n)を画像信号I1(n)とする。復号された画像信号Ｉ１（ｎ）は符号化器へ供給される。また、ピクチャタイプがＩ、Ｐピクチャの場合は、画像信号Ｉ1(n)は参照画像として、メモリ２０６で遅延され動き補償器２０５へ供給される。
【００１２】
符号化器は、復号器で復号した画像信号Ｉ1(n)の再符号化を行う。動き補償器２０８は、フレーム間予測であれば、既に復号した画像信号I2(n-1)と動きベクトルＶとを用いて動き補償ＭＣを行い、予測画像信号MC[I2(n-1), V]を求め、減算器２０７へ供給する。また、ピクチャタイプがＰピクチャの場合は、予測画像信号MC[I2(n-1), V]を加算器２１４へ供給する。
【００１３】
減算器２０７は、フレーム間予測であれば、復号した画像信号I1(n)から第２の予測画像信号MC[I2(n-1), V]を減算して予測誤差信号R2(n)を求め、離散コサイン変換器２０９へ供給する。また、フレーム内予測であれば、復号した画像信号I1(n)を予測誤差信号R2(n)として離散コサイン変換器２０９へ供給する。ここで、添え字‘２’は符号化器で得られた信号であることを表し、‘ｎ’は画像信号系列内の画像信号の時間方向の番号を表す（以下、同様である）。
【００１４】
離散コサイン変換器２０９は、予測誤差信号R2(n)に離散コサイン変換を行うことで離散コサイン変換係数DCT[R2(n)]を求め、再量子化器２１０へ供給する。再量子化器２１０は、離散コサイン変換係数DCT［R2（ｎ）］に量子化を行うことでレベル値を求め、可変長符号化器２１１へ供給する。可変長符号化器２１１はレベル値およびマクロブロック符号化情報を符号化し、ビットレート変換したMPEG-2ビットストリームを生成して出力する。
【００１５】
また、ピクチャタイプがＩ、Ｐピクチャの場合は、以下の処理を行うことで画像信号I2(n)を復号し参照画像を生成する。逆量子化器２１２は再量子化した離散コサイン変換係数に逆量子化を行うことで離散コサイン変換係数DCT[R2(n)+E2(n)]を求め、逆離散コサイン変換器２１３へ供給する。以下、再量子化器２１０、可変長符号化器２１１および逆量子化器２１２の構成をまとめて変換係数符号化部２２という。
【００１６】
ここで、量子化と逆量子化は可逆変換ではないため、逆量子化器で求めた離散コサイン変換係数には誤差DCT[E2(n)]が含まれる。逆離散コサイン変換器２１３は、離散コサイン変換係数DCT[R2(n)+E2(n)]に逆離散コサイン変換を行うことで予測誤差信号R2(n)+E2(n)を求め、加算器２１４へ供給する(以下、E2(n)を誤差信号という。)。
【００１７】
加算器２１４は、フレーム間予測であれば、動き補償器２０８によって得られた予測画像信号MC[I2(n-1), V]と予測誤差信号R2(n)+E2(n)とを加算して画像信号I2(n)を求め、フレーム内予測であれば、予測誤差信号R2(n)+E2(n)を画像信号I2(n)とする。画像信号I2(n)はメモリ２１５で遅延され動き補償器２０８へ供給される。
【００１８】
上述した基本的構成の再符号化装置を用いることで、ビットレート変換したMPEG-2ストリームを生成できるが、処理量が膨大なこと、復号した画像信号を蓄積するためのメモリが必要であるという問題がある。
【００１９】
そこで、再符号化装置を簡易化した従来技術が、特開平８−５１６３１号公報、米国特許５，６２３，３１２号、特開２００１−１８６５１９号公報、および特許第３１６６５０１号などに記載されている。ここでは、特開平８−５１６３１号公報および特開２００１−１８６５１９号公報に記載された圧縮動画像再符号化装置を例として説明する。
【００２０】
図３６は、特開平８−５１６３１号公報に記載された再符号化装置の一例を示す回路図である。この再符号化装置には、図３５と同様に変換係数復号部２１が設けられ、入力したMPEG-2ビットストリームから離散コサイン変換係数DCT[R1(n)]を求め、減算器３０１へ供給する。動き補償器３０６は、フレーム間予測であれば、既に復号した誤差信号E2(ｎ-1）と変換係数復号部２１から供給される動きベクトルＶを用いて動き補償ＭＣを行い、誤差予測信号MC[E2(n-1),V]を求め、離散コサイン変換器３０２へ供給する。誤差信号E2(ｎ-1）はメモリ３０５に蓄積されている。以下、メモリ３０５および動き補償器３０６の構成をまとめて誤差信号動き補償部３１という。
【００２１】
離散コサイン変換器３０２は、フレーム間予測であれば、誤差予測信号MC[E2(n-1),V]に離散コサイン変換を行うことで離散コサイン変換係数DCT[MC[E2(n-1),V]]を求め、減算器３０１へ供給する。
【００２２】
減算器３０１は、フレーム間予測であれば、離散コサイン変換係数DCT[R1(n)]から離散コサイン変換係数DCT[MC[E2(n-1),V]]を減算して離散コサイン変換係数DCT[R2(n)]を求め、変換係数符号化部２２へ供給する。また、フレーム内予測であれば、離散コサイン変換係数DCT[R1(n)]を離散コサイン変換係数DCT[R2(n)]として、変換係数符号化部２２へ供給する。なお、変換係数符号化部２２は、上述した図３５の変換係数符号化部２２と同様である。
【００２３】
変換係数符号化部２２は、離散コサイン変換係数DCT[R2(n)]から、ビットレート変換したMPEG-2ビットストリームを生成して出力する。
【００２４】
また、ピクチャタイプがＩ、Ｐピクチャの場合は、以下の処理を行うことで誤差信号E2(n)を復号する。変換係数符号化部２２は、離散コサイン変換係数DCT[R2(n)+E2(n)]を減算器３０３へ供給する。減算器３０３は、離散コサイン変換係数DCT[R2(n)+E2(n)]から離散コサイン変換係数DCT[R2(n)]を減算して離散コサイン変換係数DCT[E2(n)]を求め、逆離散コサイン変換器３０４へ供給する。逆離散コサイン変換器３０４は、離散コサイン変換係数DCT[E2(n)]に逆離散コサイン変換を行うことで誤差信号E2(n)を求め、誤差信号動き補償部３１へ供給する。
【００２５】
図３７は、特開２００１−１８６５１９公報に記載された従来の再符号化装置の一例を示す回路図である。この再符号化装置は、米国特許５，６２３，３１２号に記載の再符号化装置に、離散コサイン変換係数分布推定部４０４および差分画素分布推定部４０７が追加された構成となっている。
【００２６】
具体的には、図３７に示すように、変換係数復号部２１は、入力したMPEG-2ビットストリームから離散コサイン変換係数DCT[R1(n)]を求め、加算器４０１へ供給する。また、ピクチャタイプがＩ、Ｐピクチャの場合は、離散コサイン変換係数DCT[R1(n)]を減算器４０３へ供給する。
【００２７】
誤差信号動き補償部３１は、フレーム間予測であれば、既に復号した誤差信号-E2(ｎ-1）と動きベクトルVを用いて動き補償ＭＣを行い、誤差予測信号MC[-E2(n-1),V]を求め、差分画素分布推定部４０７へ供給する。また、ピクチャタイプがＩ、Ｐピクチャの場合は、加算器４０６へ供給する。
【００２８】
差分画素分布推定部４０７は、フレーム間予測であれば、誤差予測信号MC[-E2(n-1),V]の値を調べ、有意な画素が存在しない場合には、全ての誤差予測信号の値を零に設定し、離散コサイン変換４０２へ供給する。離散コサイン変換器４０２は、フレーム間予測であれば、誤差予測信号MC[-E2(n-1),V]に離散コサイン変換を行うことで、離散コサイン変換係数DCT[MC[-E2(n-1),V]]を求め、加算器４０１へ供給する。
【００２９】
加算器４０１は、フレーム間予測であれば、離散コサイン変換係数DCT[R1(n)]とDCT[MC[-E2(n-1),V]]とを加算して離散コサイン変換係数DCT[R2(n)]を求め、変換係数符号化部２２へ供給する。また、フレーム内予測であれば、離散コサイン変換係数DCT[R1(n)]を離散コサイン変換係数DCT[R2(n)]とし、変換係数符号化部２２へ供給する。
【００３０】
変換係数符号化部２２は、ビットレート変換したMPEG-2ビットストリームを生成して出力する。また、ピクチャタイプがＩ、Ｐピクチャの場合は、以下の処理を行うことで誤差信号-E2(n)を復号する。
【００３１】
変換係数符号化部２２は、離散コサイン変換係数DCT[R2(n)+E2(n)]を減算器４０３へ供給する。減算器４０３は、離散コサイン変換係数DCT[R1(n)]から離散コサイン変換係数DCT[R2(n)+E2(n)]を減算して、離散コサイン変換係数DCT[-E2(n)-MC[-E2(n-1),V]]を求め、離散コサイン変換係数分布推定部４０４に供給する。
【００３２】
離散コサイン変換係数分布推定部４０４は、離散コサイン変換係数DCT[-E2(n)-MC[-E2(n-1),V]]の分布を調べ、有意な係数が存在しない場合には、全ての係数を零に設定し、逆離散コサイン変換４０５へ供給する。逆離散コサイン変換４０５は、離散コサイン変換係数DCT[-E2(n)-MC[-E2(n-1),V]]に逆離散コサイン変換を行うことで誤差信号-E2(n)-MC[-E2(n-1),V]を求め、加算器４０６に供給する。加算器４０６は、フレーム間予測であれば、誤差予測信号MC[-E2(n-1),V]と誤差信号-E2(n)-MC[-E2(n-1),V]とを加算して誤差信号-E2(n)を求め、誤差信号動き補償部３１へ供給し、フレーム内予測であれば、誤差信号-E2(n)-MC[-E2(n-1),V]を誤差信号-E2(n)とし、誤差信号動き補償部３１へ供給する。
【００３３】
このように、誤差信号の動き補償を用いた再符号化装置では、処理量の増加や必要となるメモリ容量を抑えることができ、図３５の再符号化装置と等価な処理を実現できる。
【００３４】
【発明が解決しようとする課題】
しかしながら、上記従来の再符号化装置は効率的な処理を実現できない。入力圧縮動画ビットストリームの符号化情報が出力圧縮動画ビットストリームに複製されたり復号処理に用いたりされてはいるものの、再符号化処理の高速化には用いられておらず、また、圧縮動画ビットストリームの特性を考慮していないためである。
【００３５】
特開２００１−１８６５１９号公報に記載された再符号化装置では、離散コサイン変換係数の分布、誤差予測信号の値を調べているが、入力圧縮動画ビットストリームの符号化情報は用いていない。また、分布推定部において有意でないと判断された場合は、全ての離散コサイン変換係数は零に設定されてしまう。その結果、本来の結果とは異なる結果が得られることになる。
【００３６】
本発明の目的は、画質劣化を抑制し、高速かつ効率的にビットレート変換を実現する再符号化プログラム、再符号化装置および方法を提供することにある。
【００３７】
【課題を解決するための手段】
本発明の第１実施形態によれば、
動き補償および量子化を用いた所定符号化方式の圧縮動画ビットストリームを入力として、少なくとも量子化された信号を逆量子化して復号信号を計算する第１ステップと、
蓄積した過去の誤差信号を動き補償して補正信号を計算する第２ステップと、
前記復号信号から前記補正信号を減算して再符号化する信号を計算し、前記再符号化する信号を再量子化し、再度符号化変換して圧縮動画ビットストリームを出力する第３ステップと、
再量子化による誤差である現在の前記誤差信号を計算して蓄積する第４ステップと、
を有する圧縮動画ビットストリームの再符号化処理をコンピュータに実行させるプログラムにおいて、
前記誤差信号の計算方法として、
前記再符号化する信号と、前記再量子化した信号を逆量子化した第２復号信号と、を用いて前記誤差信号を求める第１の計算方法と、
前記復号信号と、前記第２復号信号と、前記補正信号と、を用いて前記誤差信号を求める第２の計算方法と、
が用意され、
前記第１ステップで得られる前記復号信号の信号値および分布情報と、前記第４ステップで得られる前記第２復号信号の信号値および分布情報と、の少なくとも一方を計測する第５ステップと、
前記第５ステップで計測された信号値および分布情報の少なくとも一方に基づいて前記複数の計算方法の演算量を推定する第６ステップと、
前記第６ステップの推定結果に従って最も演算量の少ない計算方法を選択し、前記誤差信号を計算する第７ステップと、
を含むことを特徴とする。
【００３８】
本発明の第２実施形態によれば、上述の第１実施形態において、前記所定符号化方式は周波数領域への変換処理を組み合わせた符号化方式であり、前記復号信号は空間領域の画像信号を周波数係数で表現した周波数復号信号であり、前記補正信号は周波数係数で表現される周波数補正信号であり、前記再符号化する信号は周波数係数で表現される周波数符号化信号であり、前記第２復号信号は周波数係数で表現される周波数第２復号信号であり、前記周波数補正信号は、過去の蓄積した空間領域の第１誤差信号である空間第１誤差信号と、当該空間第１誤差信号を周波数変換した周波数第１誤差信号とのいずれかを用いて計算されることを特徴とする。
【００３９】
ここで、前記信号値および分布情報は前記参照する信号の信号値および分布情報であり、周波数係数が零である位置の情報、複数の周波数係数が零である位置の情報、あるいは周波数係数の非零係数が複数個の予め設定された周波数領域に属するかの情報であってもよい。
【００４０】
第１実施形態および第２実施形態によれば、信号および制御情報の少なくとも一方を参照して信号値および分布情報を計測し、その信号値および分布情報を用いて補正信号を計算する。そのため、補正信号の計算に必要な演算量を削減できる。
【００４１】
本発明の第３実施形態、第６実施形態および第７実施形態によれば、上記第２実施形態において、周波数補正信号は、少なくとも、前記周波数符号化信号と前記周波数第２復号信号とを用いて現在の前記周波数第１誤差信号および前記空間第１誤差信号の一方を計算するステップを含む第１の計算方法と、前記周波数復号信号と、前記周波数第２復号信号と、蓄積した過去の前記周波数第１誤差信号および前記空間第１誤差信号の一方と、を用いて現在の前記周波数第１誤差信号および前記空間第１誤差信号の一方を計算するステップを含む第２の計算方法と、を含む複数の計算方法によって計算可能であり、
前記複数の計算方法の各演算量を推定するステップと、前記推定結果に従って最も演算量の少ない計算方法を選択し、前記周波数補正信号を計算するステップと、を含むことを特徴とする。
【００４２】
複数の周波数補正信号の計算方法から最も演算量の少ない計算方法を選択するために、単一の周波数補正信号の計算よりも処理量を削減できる。
【００４３】
本発明の第４実施形態によれば、再符号化処理または復号処理の単位毎に、前記復号信号が全て零であるかを計測するステップと、全て零であれば、前記再符号化する信号を零として再符号化し前記補正信号を現在の前記第１誤差信号として蓄積するステップと、を含むことを特徴とする。
【００４４】
本発明の第５実施形態および第６実施形態によれば、第２実施形態において、再符号化処理または復号処理単位毎に、前記復号信号が全て零であるかを計測するステップと、全て零であれば、前記再符号化する信号を零として再符号化し、前記周波数補正信号を現在の前記周波数第１誤差信号および前記空間第１誤差信号の一方で蓄積するステップと、を含むことを特徴とする。
【００４５】
また、前記周波数復号信号と、前記周波数第２復号信号と、蓄積した過去の前記周波数第１誤差信号または前記空間第１誤差信号と、を用いて、現在の前記周波数第１誤差信号または前記空間第１誤差信号を計算してもよい。
【００４６】
また、前記周波数符号化信号と前記周波数第２復号信号とを用いて、現在の前記周波数第１誤差信号または前記空間第１誤差信号を計算してもよい。
【００４７】
第４実施形態、第５実施形態および第６実施形態によれば、信号零判定手段を備えており、復号信号が全て零であると判定された場合、通常の再符号化よりも簡略な方式を適用する。そのため、従来の再符号化方法に比べ演算量を削減できる。
【００４８】
本発明の第８実施形態によれば、第２実施形態において、前記周波数符号化信号の計算方法が２種類存在し、前記２種類の計算方法は、前記周波数復号信号と前記周波数補正信号とを用いて周波数符号化信号を計算する方法、および前記周波数復号信号を用いて周波数符号化信号を計算する方法であり、前記２種類の計算方法を、再符号化処理に依存しない処理単位ごとに選択するステップを含むことを特徴とする。
【００４９】
第８実施形態は、ある定めた処理単位ごとにのみ、前記周波数復号信号と前記周波数補正信号とを用いて周波数符号化信号を計算する。そのため、前記周波数復号信号を用いて周波数符号化信号を計算する場合は、演算量を削減できる。
【００５０】
本発明の第９実施形態によれば、第２実施形態において、符号化処理または復号処理単位毎に、前記再量子化を行う量子化幅が前記逆量子化を行う量子化幅以下、または、前記再量子化を行う量子化幅と前記逆量子化を行う量子化幅の差の絶対値が閾値以下かを判定するステップと、前記判定条件が成立した場合に、前記逆量子化を行う量子化幅を前記再量子化を行う量子化幅として、前記周波数復号信号を前記周波数符号化信号として再符号化し、前記周波数補正信号を現在の前記周波数第１誤差信号および前記空間第１誤差信号の一方として蓄積するステップと、を含むことを特徴とする。
【００５１】
第９実施形態では、再量子化を行う量子化幅および逆量子化を行う量子化幅の判定条件の判定結果に応じて、前記周波数符号化信号を計算する。そして前記判定条件が成立した場合は、通常の再符号化よりも簡略な方式を適用する。そのため、従来の再符号化方法に比べ演算量を削減できる。
【００５２】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００５３】
１）第１実施形態
１−１）構成
図１を参照すると、本発明による再符号化装置の第１実施形態は、復号処理部１１、符号化処理部１２、信号補正部１３、および信号分布測定部１４を含む。
【００５４】
復号処理部１１は、入力した圧縮動画ビットストリームから、少なくとも量子化された信号を逆量子化して復号信号を計算し、符号化処理部１２へ供給する。また、復号信号を現在の第１誤差信号の計算に用いる場合は、信号補正部１３および信号分布計測部１４へ供給し、復号時に得られた制御情報を信号分布計測部１４へ供給する。
【００５５】
符号化処理部１２は、復号信号と信号補正部１３から供給される補正信号とを用いて再符号化する信号を計算し、再符号化する信号を再量子化し、再度符号化して圧縮動画ビットストリームを出力する。また、再符号化する信号または再量子化した信号を逆量子化した第２復号信号を現在の第１誤差信号の計算に用いる場合は、信号補正部１３および信号分布計測部１４へ供給し、符号化時に得られた制御情報を信号分布計測部１４へ供給する。
【００５６】
信号分布計測部１４は、復号時および再符号化時の少なくとも一方で得られた制御情報と、復号信号と、補正信号と、再符号化する信号と、第２復号信号と、復号信号、補正信号、再符号化する信号および第２復号信号の少なくとも１つを用いて計算した第２誤差信号と、のうち少なくとも１つの信号を参照して、信号値および分布情報の少なくとも一方を計測し、信号補正部１３における補正信号の計算を制御する。ここで、信号値は、画像信号であれば画素値、周波数信号であれば周波数係数の値である。
【００５７】
信号補正部１３は、蓄積した過去の第１誤差信号を用いて信号分布計測部１４の制御に従い補正信号を計算し、符号化処理部１２へ供給する。また、補正信号を現在の第１誤差信号の計算に用いる場合は、信号補正部１３および信号分布計測部１４へ供給する。また、復号信号、補正信号、再符号化する信号または第２復号信号を用いて、信号分布計測部１４の制御に従い、現在の第１誤差信号を計算および蓄積し前記補正信号の計算に供する。
【００５８】
１−２）動作
図２は、本発明による第１実施形態の動作を示すフローチャートである。
【００５９】
まずステップＳ１０１では、入力した圧縮動画ビットストリームから、少なくとも量子化された信号を逆量子化して復号信号を計算する。また、復号信号が現在の第１誤差信号の計算に用いられる場合は復号時の制御情報を作成する。
【００６０】
続いて、ステップＳ１０２では、信号値または分布情報、および蓄積した過去の第１誤差信号を用いて補正信号を計算し、ステップＳ１０３へ移る。
【００６１】
ステップＳ１０３では、復号信号および補正信号を用いて再符号化する信号を計算し、次に再符号化する信号を再量子化し、再度符号化して圧縮動画ビットストリームを出力する。また、第２復号信号が現在の第１誤差信号の計算に用いられる場合は符号化時の制御情報を作成する。
【００６２】
続いて、ステップＳ１０４では、復号時および再符号化時の少なくとも一方で得られた制御情報と、復号信号と、補正信号と、再符号化する信号と、第２復号信号と、復号信号、補正信号、再符号化する信号および第２復号信号の少なくとも１つを用いて計算した第２誤差信号と、のうち少なくとも１つの信号を参照して、信号値および分布情報の少なくとも一方を計測する。
【００６３】
ステップＳ１０５では、信号値および分布情報と、復号信号、補正信号、再符号化する信号および第２復号信号の少なくとも１つを用いて計算した現在の第１誤差信号とを蓄積し、再符号化処理を終了する。
【００６４】
上述したように、本発明による第１実施形態では、信号および制御情報を参照して、信号値および分布情報の少なくとも一方を計測する手段、および、信号値および分布情報を用いて補正信号を計算する手段を備えている。そのため、補正信号の計算に必要な演算量を削減できる。
【００６５】
２）第２実施形態
本発明による第２実施形態では、上記第１実施形態と、圧縮動画ビットストリームの符号化方式として周波数空間への変換処理と、を組み合わせていることを特徴としている。以下、周波数変換処理として離散コサイン変換（ＤＣＴ）を用いた再符号化装置を例示するが、本発明は、これに限定されるものではなく、アダマール変換やウェーブレット変換などの周波数変換であれば適用可能であることはいうまでもない。
【００６６】
２−１）第１構成例
図３を参照すると、本発明による再符号化装置の第２実施形態では、変換係数復号部５１、変換係数符号化部５２、誤差信号動き補償部３１、減算器５０３、減算器５０６、変換係数分布計測器５０７、逆離散コサイン変換器５０８、加算器５０９、および離散コサイン変換器５１０を含む。
【００６７】
変換係数復号部５１は、入力した圧縮動画ビットストリームから離散コサイン変換係数DCT[R1(n)]を求め、減算器５０３へ供給する。また、画像信号がフレーム間予測で参照される場合は、離散コサイン変換係数DCT[R1(n)]を減算器５０６へ供給し、離散コサイン変換係数DCT[R1(n)]の分布や係数値などの変換係数情報を変換係数分布計測器５０７へ供給する。
【００６８】
なお、従来技術で説明した図３５に示す変換係数復号部２１と比較すると、図３に示す第２実施形態の変換係数復号部５１は、可変長復号器５０１および逆量子化器５０２が離散コサイン変換係数DCT[R1(n)]の変換係数情報を出力する点で異なる。ここで、変換係数情報は、可変長復号器５０１および逆量子化器５０２の一方が出力する場合もある。
【００６９】
誤差信号動き補償部３１は、フレーム間予測であれば、誤差予測信号MC[E2(n-1),V]を求め、離散コサイン変換器５１０へ供給する。また、画像信号がフレーム間予測で参照される場合は、誤差予測信号MC[E2(n-1),V]を加算器５０９へ供給する。
【００７０】
離散コサイン変換器５１０は、フレーム間予測であれば、誤差予測信号MC[E2(n-1),V]に離散コサイン変換を行うことで離散コサイン変換係数DCT[MC[E2(n-1),V]]を求め、減算器５０３へ供給する。
【００７１】
減算器５０３は、フレーム間予測であれば、離散コサイン変換係数DCT[R1(n)]から離散コサイン変換係数DCT[MC[E2(n-1),V]]を減算して、離散コサイン変換係数DCT[R2(n)]を求め、変換係数符号化部５２へ供給し、フレーム内予測であれば、離散コサイン変換係数DCT[R1(n)]を離散コサイン変換係数DCT[R2(n)]として変換係数符号化部５２へ供給する。
【００７２】
変換係数符号化部５２は、ビットレート変換した圧縮動画ビットストリームを生成して出力する。また、画像信号がフレーム間予測で参照される場合は、以下の処理を行うことで誤差信号E2(n)を復号する。
【００７３】
まず、変換係数符号化部５２は、離散コサイン変換係数DCT[R2(n)+E2(n)]を減算器５０６へ供給し、離散コサイン変換係数DCT[R2(n)+E2(n)]の変換係数情報を変換係数分布計測器５０７へ供給する。なお、従来技術で説明した図３５に示す変換係数符号化部２２と比較すると、図３に示す第２実施形態の変換係数符号化部５２は、可変長符号化器５０４および逆量子化器５０５が離散コサイン変換係数DCT[R2(n)+E2(n)]の変換係数情報を出力する点で異なる。ここで、変換係数情報は、可変長符号化器５０４と逆量子化器５０５の一方が出力する場合もある。
【００７４】
減算器５０６は、離散コサイン変換係数DCT[R2(n)+E2(n)]から離散コサイン変換係数DCT[R１(n)]を減算して離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]を求め、変換係数分布計測器５０７および逆離散コサイン変換器５０８へ供給する。
【００７５】
変換係数分布計測器５０７は、離散コサイン変換係数DCT[R1(n)]と離散コサイン変換係数DCT[R2(n)+E2(n)]の変換係数情報、および離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]から当該離散コサイン変換係数の変換係数情報を作成し、逆離散コサイン変換５０８へ供給する。ここで、計測の処理量を削減するために、離散コサイン変換係数DCT[R1(n)]と離散コサイン変換係数DCT[R2(n)+E2(n)]の変換係数情報から離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]の変換係数情報を作成する場合もある。
【００７６】
逆離散コサイン変換器５０８は、変換係数情報を用いて、離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]に逆離散コサイン変換を行うことで誤差信号E2(n)-MC[E2(n-1),V]を求め、加算器５０９へ供給する。ここで逆離散コサイン変換器５０８は複数の処理手段を備えており、変換係数情報を用いて処理手段を切り替える。
【００７７】
加算器５０９は、フレーム間予測であれば、誤差信号E2(n)-MC[E2(n-1),V]と誤差予測信号MC[E2(n-1),V]とを加算して誤差信号E2(n)を求め、誤差信号動き補償部３１へ供給し、フレーム内予測であれば、誤差信号E2(n)-MC[E2(n-1),V]を誤差信号E2(n)として誤差信号動き補償部３１へ供給する。
【００７８】
以上の説明では、空間領域の誤差信号E2(n)に対して動き補償を行った。しかし、本発明は離散コサイン変換係数DCT[E2(n)]を生成するような再符号化装置であれば適用可能である。例えば、後述するように、周波数領域での動き補償を用いた図５の構成も適用可能である。
【００７９】
２−２）第１動作例
図４は、図３に示した第１構成例の動作を示すフローチャートである。
【００８０】
ステップＳ１では、再符号化対象となるブロックが参照画像か否かを判断する。参照画像となる場合はステップＳ２へ、参照画像とならない場合はステップＳ３へ移る。
【００８１】
ステップＳ２では、入力した圧縮動画ビットストリームから、符号化モードや動きベクトルなどの符号化情報、および離散コサイン変換係数DCT[R1(n)]を求め、離散コサイン変換係数DCT[R1(n)]の変換係数情報を作成し、ステップＳ４へ移る。
【００８２】
ステップＳ３では、入力した圧縮動画ビットストリームから、符号化モードや動きベクトルなどの符号化情報、および離散コサイン変換係数DCT[R1(n)]を求め、ステップＳ４へ移る。
【００８３】
ステップＳ４では、再符号化対象となるブロックがフレーム間予測を用いて符号化されたか否かを判断する。フレーム間予測を用いて符号化されている場合はステップＳ５へ、フレーム内予測を用いて符号化されている場合は離散コサイン変換係数DCT[R1(n)]を離散コサイン変換係数DCT[R2(n)]としてステップＳ６へ移る。
【００８４】
ステップＳ５では、既に復号した誤差信号E2(ｎ-1）と動きベクトルＶを用いて動き補償ＭＣを行い、誤差予測信号MC[E2(n-1),V]を求める。続いて、誤差予測信号MC[E2(n-1),V]に離散コサイン変換を行うことで離散コサイン変換係数DCT[MC[E2(n-1),V]]を求める。次に離散コサイン変換係数DCT[R1(n)]から離散コサイン変換係数DCT[MC[E2(n-1),V]]を減算して、離散コサイン変換係数DCT[R2(n)]を求め、ステップＳ６へ移る。
【００８５】
ステップＳ６では、再符号化対象となるブロックが参照画像か否かを判断する。参照画像となる場合はステップＳ７へ、参照画像とならない場合はステップＳ８へ移る。
【００８６】
ステップＳ７では、符号化情報および離散コサイン変換係数DCT［R2（ｎ）］を符号化し、ビットレート変換した圧縮動画ビットストリームを生成する。続いて、逆量子化を行うことで離散コサイン変換係数DCT[R2(n)+E2(n)]を求める。次に、離散コサイン変換係数DCT[R2(n)+E2(n)]の変換係数情報を作成し、ステップＳ９へ移る。
【００８７】
ステップＳ８では、符号化情報および離散コサイン変換係数DCT［R2（ｎ）］を符号化し、ビットレート変換した圧縮動画ビットストリームを生成し、再符号化処理を終了する。
【００８８】
ステップＳ９では、離散コサイン変換係数DCT[R2(n)+E2(n)]から離散コサイン変換係数DCT[R１(n)]を減算して離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]を求め、ステップＳ１０へ移る。
【００８９】
ステップＳ１０では、離散コサイン変換係数DCT[R1(n)]と離散コサイン変換係数DCT[R2(n)+E2(n)]の変換係数情報、および離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]から離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]の変換係数情報を作成する。次に、離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]の変換係数情報を用いて、離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]に逆離散コサイン変換を行うことで誤差信号E2(n)-MC[E2(n-1),V]を求め、ステップＳ１１へ移る。
【００９０】
ステップＳ１１では、再符号化対象となるブロックがフレーム間予測を用いて符号化されたか否かを判断する。フレーム間予測を用いて符号化されている場合はステップＳ１２へ、フレーム内予測を用いて符号化されている場合は、誤差信号E2(n)-MC[E2(n-1), V]を誤差信号E2(n)としステップＳ１３へ移る。
【００９１】
ステップＳ１２では、誤差信号E2(n)-MC[E2(n-1), V]と誤差予測信号MC[E2(n-1), V]とを加算して誤差信号E2(n)を求め、ステップＳ１３へ移る。
【００９２】
ステップＳ１３では、誤差信号E2(n)をメモリに格納し、再符号化処理を終了する。
【００９３】
２−３）第２構成例
上記第１構成例では、空間領域の誤差信号E2(n)に対して動き補償を行ったが、次に説明するように、周波数領域での動き補償を用いた構成も可能である。
【００９４】
図５において、周波数領域動き補償器５１８は、フレーム間予測であれば、既に復号した離散コサイン変換係数DCT[E2(ｎ-1）]と変換係数復号部５１から供給される動きベクトルＶを用いて周波数領域動き補償DCT[ＭＣ]を行い、離散コサイン変換係数DCT[MC[E2(n-1),V]]を求め、減算器５０３へ供給する。また、画像信号がフレーム間予測で参照される場合は、離散コサイン変換係数DCT[MC[E2(n-1),V]]を加算器５１９へ供給する。離散コサイン変換係数DCT[E2(ｎ-1）]はメモリ５１７に蓄積されている。以下、メモリ５１７および周波数領域動き補償器５１８の構成をまとめて周波数領域誤差信号動き補償部５３という。
【００９５】
変換係数分布計測器５０７は、離散コサイン変換係数DCT[R1(n)]と離散コサイン変換係数DCT[R2(n)+E2(n)]の変換係数情報、および離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]から離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]の変換係数情報を作成し、加算器５１９へ供給する。
【００９６】
加算器５１９は、複数の処理手段を備えており、変換係数情報を用いて処理手段を切り替える。すなわち、変換係数情報を用いて、フレーム間予測であれば、離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]と離散コサイン変換係数DCT[MC[E2(n-1),V]]とを加算して離散コサイン変換係数DCT[E2(n)]を求め、周波数領域誤差信号動き補償部５３へ供給する。フレーム内予測であれば、離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]を離散コサイン変換係数DCT[E2(n)]として周波数領域誤差信号動き補償部５３へ供給する。
【００９７】
２−４）第２動作例
図６は、図５に示した第２構成例の動作を示すフローチャートである。図４に示す第１実施形態のフローチャートと同様のステップには同一の参照番号を付し、異なる動作を示すステップについて詳細に説明する。
【００９８】
ステップＳ４においてフレーム間予測であると判断された場合（Ｓ４のＹＥＳ）、ステップＳ１２１において、既に復号した離散コサイン変換係数DCT[E2(ｎ-1）]と動きベクトルＶを用いて動き補償ＭＣを行い、離散コサイン変換係数DCT[MC[E2(n-1),V]]を求める。次に、離散コサイン変換係数DCT[R1(n)]から離散コサイン変換係数DCT[MC[E2(n-1),V]]を減算して、離散コサイン変換係数DCT[R2(n)]を求め、ステップＳ６へ移る。
【００９９】
また、ステップＳ１１においてフレーム間予測であると判断された場合（Ｓ１１のＹＥＳ）、ステップＳ１２２において、離散コサイン変換係数DCT[R1(n)]と離散コサイン変換係数DCT[R2(n)+E2(n)]の変換係数情報、および離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]から離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]の変換係数情報を作成する。次に、離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]の変換係数情報を用いて、離散コサイン変換係数DCT[E2(n)-MC[E2(n-1), V]]と離散コサイン変換係数DCT[MC[E2(n-1), V]]とを加算して離散コサイン変換係数DCT[E2(n)]を求め、ステップＳ１２３へ移る。
【０１００】
ステップＳ１２３では、離散コサイン変換係数DCT[E2(n)]をメモリに格納し、再符号化処理を終了する。
【０１０１】
これより第２実施形態は周波数領域でも適用可能であることが分かる。また、以降の実施形態でも同様に適用可能である。
【０１０２】
２−５）具体的動作例
次に、具体例を用いて、第２実施形態における第１構成例の動作例を詳細に説明する。ここでは、入力となる圧縮動画ビットストリームはMPEG-2 VIDEOビットストリームとするが、本発明はこれに限定されるものではなく、他方式により圧縮符号化された圧縮動画像ストリームに対しても同様な処理により再符号化を実現できる。
【０１０３】
２−５−１）分布情報
まず、変換係数情報の一つである分布情報に関して説明する。
【０１０４】
図７に画像信号の８×８離散コサイン変換係数の例を示す。分布情報としては、例えば有意(非零)係数の存在する位置情報がある。この場合、図７(a)では分布情報として、有意係数が存在する(0,0)、(0,1)、(0,2)、(1,0)、(1,2)、(1,3)、(2,0)、(2,1)、(2,2)、(3,0)、(3,2)の位置情報を保持する。ここで(0,0)は０行、０列の位置を表す。以下同様である。
【０１０５】
また、各有意係数の位置情報を保持するのではなく、全てが零となる行や列の位置情報を保持することなども考えられる。この場合、図７(a)では、全てが零となる4,5,6,7行目および4,5,6,7列目の位置情報を保持することになる。以上の例では零係数の位置情報に着目している。これは、零係数の位置情報を利用することで逆離散コサイン変換の処理量を削減できるからである。以下に具体例を示す。
【０１０６】
MPEG-2 VIDEOでは、次式に示す８×８逆離散コサイン変換が用いられる。
【０１０７】
【数１】
0004134572.tif 000002
【数２】
0004134572.tif 000003
ここで、f(x,y)は予測誤差信号、F(u,v)は離散コサイン変換係数を表す。
【０１０８】
図７(b)のように有意係数が(0,0)にのみ存在する変換係数を考える。この場合、零係数の位置情報を利用しなければ、数１および数２に従い逆離散コサイン変換を行うことになるが、位置情報を利用すれば、有意係数は直流成分のみに存在することが分かる。その結果、数１及び数２の８×８逆離散コサイン変換は次式で簡略化でき、逆離散コサイン変換の処理量を削減できる。
【０１０９】
【数３】
0004134572.tif 000004
例として、有意係数の位置情報や零となる行列の位置情報を考えたが、分布情報としては様々なものが考えられる。本実施例では、有意係数が複数のある定めた範囲で、どの範囲に含まれているかを分布情報(以下、範囲情報という。）として保持する。
【０１１０】
具体的には、離散コサイン変換係数が図８に示す４つの範囲のうちどの範囲に属するかを範囲情報として保持する。図７(a)の離散コサイン変換係数の場合は、"低域4×4"および"8×8成分"の範囲に属することになるが、この場合は範囲の狭い"低域4×4成分"の範囲に属するものとする。同様に、図７(b)の場合は、"低域1×1成分"の範囲に属する。
【０１１１】
なお、本実施例では４種類の範囲を用いるが、範囲は任意の係数位置の組み合わせおよび任意の種類の設定が可能であることはいうまでもない。また、本実施例では分布情報を用いるが、係数値から得られる最大値、平均、分散などの統計情報を用いることも可能である。
【０１１２】
２−５−２）具体的動作
図９は、図３に示す第１構成例の具体的動作を示すフローチャートである。処理はマクロブロック単位で行い、ピクチャタイプや量子化マトリックスなどの符号化情報は復号されているものとする。
【０１１３】
ステップＳ２１では、再符号化対象となるブロックのピクチャタイプがＩピクチャまたはＰピクチャか否かを判断する。ＩピクチャまたはＰピクチャである場合はステップＳ２２へ、Ｂピクチャである場合はステップＳ２３へ移る。
【０１１４】
ステップＳ２２では、入力したMPEG-2ビットストリームから、符号化モードや動きベクトルなどの符号化情報、および離散コサイン変換係数DCT[R1(n)]を求める。また、本実施例では離散コサイン変換係数DCT[R1(n)]が、"有意係数なし"、"低域1×1成分"、"低域4×4成分"、"8×8成分"のどの範囲に属するか判定し、範囲情報として保持する。そして、ステップＳ２４へ移る。
【０１１５】
範囲判定
ステップＳ２２における範囲判定処理について説明する。MPEG-2 VIDEOでは、ブロックの係数が全て零であることを示す情報(coded block pattern、skipped macroblock)が含まれているので、この符号化情報を用いて、ブロックが"有意係数なし"かを判定できる。
【０１１６】
次に、”有意係数なし”以外の範囲判定について説明する。まず、MPEG-2 VIDEOにおける離散コサイン変換係数の復号過程について説明する。
【０１１７】
前述したように、MPEG-2 VIDEOでは離散コサイン変換係数を量子化した結果であるレベル値は、ある定められた順にスキャニングされ、１次元情報に変換、符号化される。
【０１１８】
具体的な変換方法としては、図１０に示すようなジグザグスキャンとオルタネートスキャンが用いられる。また、レベル値をスキャン順でみたとき非零となるレベル値の間には多くの零レベルが存在するため、MPEG-2では連続する零の個数(RUN)と、その直後のレベル値(LEVEL)をまとめて符号化が行われる。さらに、ある係数以降のレベル値が全て零になることが多いので、ブロックの終了を意味するフラグ(EOB: end of block)が用いられる。ただし、フレーム内符号化の直流成分のみは異なる符号化方式が用いられる。離散コサイン変換係数の復号は、符号化の逆変換を行うことになる。
【０１１９】
復号処理の具体例を図１１に示す。この例では(5,2)、(6,-1)、(0,-1)、(3,-1)、EOBで構成されるフレーム間予測、ジグザグスキャンされたブロックの復号を行う。ここで(5,2)は零の個数が５個であり、その直後のレベル値が２であることを表す。
【０１２０】
まず、１次元情報はスキャン順に従い、２次元情報に変換される。次に、２次元情報に変換されたレベル値に対して、MPEG-2 VIDEOで規定された逆量子化処理に従い逆量子を行い、離散コサイン変換係数を求める。
【０１２１】
以上の説明から分かるように、RUN,LEVEL情報から有意係数の位置情報が得られるので、可変長復号時、逆量子化時、および可変長符号化時に変換係数がどの範囲に属するか判定できる。
【０１２２】
図９に戻って、ステップＳ２３では、入力したMPEG-2ビットストリームから、符号化モードや動きベクトルなどの符号化情報、および離散コサイン変換係数DCT[R1(n)]を求め、ステップＳ２４へ移る。
【０１２３】
ステップＳ２４では、再符号化対象となるブロックがフレーム間予測を用いて符号化されたか否かを判断する。フレーム間予測を用いて符号化されている場合はステップＳ２５へ、フレーム内予測を用いて符号化されている場合は離散コサイン変換係数DCT[R1(n)]を離散コサイン変換係数DCT[R2(n)]としてステップＳ２６へ移る。
【０１２４】
ステップＳ２５では、既に復号した誤差信号E2(ｎ-1）と動きベクトルＶを用いて動き補償ＭＣを行い、誤差予測信号MC[E2(n-1),V]を求める。続いて、誤差予測信号MC[E2(n-1),V]に離散コサイン変換を行うことで離散コサイン変換係数DCT[MC[E2(n-1),V]]を求める。次に、離散コサイン変換係数DCT[R1(n)]から離散コサイン変換係数DCT[MC[E2(n-1),V]]を減算して、離散コサイン変換係数DCT[R2(n)]を求め、ステップＳ２６へ移る。
【０１２５】
ステップＳ２６では、再符号化対象となるブロックのピクチャタイプがＩピクチャまたはＰピクチャか否かを判断する。ＩピクチャまたはＰピクチャである場合はステップＳ２７へ、Ｂピクチャである場合はステップＳ２８へ移る。
【０１２６】
ステップＳ２７では、符号化情報および離散コサイン変換係数DCT［R2（ｎ）］を符号化し、ビットレート変換したMPEG-2ビットストリームを生成する。続いて、逆量子化を行うことで離散コサイン変換係数DCT[R2(n)+E2(n)]を求める。次に、離散コサイン変換係数DCT[R2(n)+E2(n)]が、"有意係数なし"、"低域1x1成分"、"低域４ｘ４成分"、"８ｘ８成分"のどの範囲に属するか判定し、範囲情報として保持する。そして、ステップＳ２９へ移る。
【０１２７】
ステップＳ２８では、符号化情報および離散コサイン変換係数DCT［R2（ｎ）］を符号化し、ビットレート変換したMPEG-2ビットストリームを生成し、再符号化処理を終了する。
【０１２８】
ステップＳ２９では、離散コサイン変換係数DCT[R2(n)+E2(n)]から離散コサイン変換係数DCT[R１(n)]を減算して離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]を求め、ステップＳ３０へ移る。
【０１２９】
ステップＳ３０では、離散コサイン変換係数DCT[R1(n)]と離散コサイン変換係数DCT[R2(n)+E2(n)]の範囲情報から、離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]の範囲情報を求める。
【０１３０】
本実施例では、広い方の範囲を離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]の範囲情報とする。より精度の高い範囲判定を行う場合には、変換係数の減算を行い、零判定を行う。次に、離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]の範囲情報を用いて、逆離散コサイン変換の処理手段を選択し、離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]に逆離散コサイン変換を行うことで誤差信号E2(n)-MC[E2(n-1),V]を求め、ステップＳ３１へ移る。
【０１３１】
ステップＳ３１では、再符号化対象となるブロックがフレーム間予測を用いて符号化されたか否かを判断する。フレーム間予測を用いて符号化されている場合はステップＳ３２へ、フレーム内予測を用いて符号化されている場合は、誤差信号E2(n)-MC[E2(n-1), V]を誤差信号E2(n)としステップＳ３３へ移る。
【０１３２】
ステップＳ３２では、誤差信号E2(n)-MC[E2(n-1), V]と誤差予測信号MC[E2(n-1), V]とを加算して誤差信号E2(n)を求め、ステップＳ３３へ移る。
【０１３３】
ステップＳ３３では、誤差信号E2(n)をメモリに格納し、再符号化処理を終了する。
【０１３４】
図１２は、MPEG-2ビットストリームを実際に再符号化した場合に、減算器５０６の出力ブロックが属する範囲の割合を示した表である。ここで、計測したブロックはPピクチャかつフレーム間予測を用いたブロックである。入力となるMPEG-2ビットストリームは６Mbpsで符号化されており、再符号化は３Mbpsで行う。また、MPEG-2ビットストリームのgroup of pictures (GOP)構成は、IPPPPPP...およびIBBPBBPBB...の２種類であり、Ｉピクチャの間隔は15フレームである。
【０１３５】
図１２からも明らかなように、MPEG-2ビットストリームにおける離散コサイン変換係数の約４４％〜６６％は"低域４ｘ４成分"の範囲内である。そこで、零係数の位置情報を用いて逆離散コサイン変換を行えば、通常の８ｘ８逆離散コサイン変換に比べ処理量を削減できる。
【０１３６】
第２実施形態は、変換係数情報を求める手段、および変換係数情報を用いて、複数の逆離散コサイン変換処理を切り替え可能な逆離散コサイン変換手段を備えている。そのため、逆離散コサイン変換の処理量を削減できる。
【０１３７】
３）第３実施形態
次に、本発明の第３実施形態について図面を参照して詳細に説明する。ここでは、第２実施形態と異なる構成および動作について説明する。
【０１３８】
図１３を参照すると、本発明による再符号化装置の第３実施形態は、第２実施形態にモード判定器５１１が追加され、さらに２つの選択可能な処理パスを備えている。第１の処理パスが選択されると第２実施形態と同様の構成となり、第２の処理パスが選択されると図３６に示した従来の再符号化装置と同様の構成となる。以下、第１の処理パスをモード３−１、第２の処理パスをモード３−２という。
【０１３９】
モード判定器５１１は、離散コサイン変換係数DCT[R1(n)]およびDCT[R2(n)]の変換係数情報および各ブロックの処理量から、各モードにおける全体の処理量を推定し、処理量の少ないモードを選択する。ここで、フレーム内予測の場合は、モード３−２が選択される。なお、図１３ではモード３−２が選択されている。
【０１４０】
まず、モード判定器５１１がモード３−１を選択した場合の動作を説明する。減算器５０６は、離散コサイン変換係数DCT[R2(n)+E2(n)]から離散コサイン変換係数DCT[R１(n)]を減算して離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]を求め、逆離散コサイン変換器５０８へ供給する。
【０１４１】
逆離散コサイン変換器５０８は、変換係数情報を用いて、離散コサイン変換係数DCT[E2(n)-MC[E2(n-1),V]]に逆離散コサイン変換を行うことで誤差信号E2(n)-MC[E2(n-1),V]を求め、加算器５０９へ供給する。加算器５０９は、誤差信号E2(n)-MC[E2(n-1),V]と誤差予測信号MC[E2(n-1),V]とを加算して誤差信号E2(n)を求め、誤差信号動き補償部３１へ供給する。
【０１４２】
次に、モード判定器５１１がモード３−２を選択した場合の動作を説明する。減算器５０６は、離散コサイン変換係数DCT[R2(n)+E2(n)]から離散コサイン変換係数DCT[R2(n)]を減算して離散コサイン変換係数DCT[E2(n)]を求め、逆離散コサイン変換器５０８へ供給する。逆離散コサイン変換器５０８は、変換係数情報を用いて、離散コサイン変換係数DCT[E2(n)]に逆離散コサイン変換を行うことで誤差信号E2(n)を求め、誤差信号動き補償部３１へ供給する。
【０１４３】
第３実施形態では、変換係数の分布計測処理量を削減するために変換係数分布計測器５０７は離散コサイン変換係数DCT[R1(n)]およびDCT[R2(n)+E2(n)]のみから変換係数情報を作成し、モード判定器５１１へ供給する。
【０１４４】
より精度の高い変換係数情報を作成するには図１４に示した構成をとる。図１４の構成では、減算器５１２および減算器５１３が各モードにおける離散コサイン変換係数の減算を行い、変換係数分布計測器５０７に供給する。
【０１４５】
以上の説明では、第１の処理パスとして第２実施形態を用いた。しかし、第３実施形態における処理パスは、誤差信号E2(n)または周波数変換係数DCT[E2(n)]を生成するような再符号化装置であれば適用可能である。
【０１４６】
図１５は、モード３−１の処理パスが図１３と異なる例を示すブロック図である。図１５ではモード３−１が選択されている。この構成においてもモード判定器５１１が処理量の少ないモードを選択する動作は同様である。ここでは、図１３と異なる構成および動作について説明する。
【０１４７】
図１５において、モード判定器５１１がモード３−１を選択した場合、逆離散コサイン変換器５０８は、変換係数情報を用いて、離散コサイン変換係数DCT[R2(n)+E2(n)]に逆離散コサイン変換を行うことで予測誤差信号R2(n)+E2(n)を求め、加算器５０９へ供給する。
【０１４８】
加算器５０９は、フレーム間予測であれば、誤差予測信号MC[E2(n-1), V]と予測誤差信号R2(n)+E2(n)とを加算して予測誤差信号R1(n)+E2(n)を求め、減算器５１５へ供給する。また、フレーム内予測であれば、予測誤差信号R2(n)+E2(n)を予測誤差信号R1(n)+E2(n)として減算器５１５へ供給する。
【０１４９】
逆離散コサイン変換器５１４は、変換係数情報を用いて、離散コサイン変換係数DCT[R1(n)]に逆離散コサイン変換を行うことで予測誤差信号R1(n)を求め、減算器５１５へ供給する。減算器５１５は、予測誤差信号R1(n)+E2(n)から予測誤差信号R1(n)を減算して誤差信号E2(n)を求め、誤差信号動き補償部３１へ供給する。
【０１５０】
図１６は、第３実施形態の動作を示すフローチャートである。ここでは、図４に示す第２実施形態と同様のステップには同一の参照番号を付し、第２実施形態と異なる動作に関してのみ説明する。
【０１５１】
ステップＳ４１では、離散コサイン変換係数DCT[R1(n)]とDCT[R2(n)]の変換係数情報、および各ブロックの処理量から、各モード全体の処理量を推定し、処理量の少ないモードを選択する。
【０１５２】
続いて、ステップＳ４２では、選択されたモードがモード３−１か否かを判断する。モード３−１であればステップＳ４３へ、モード３−２であればステップＳ４４へ移る。
【０１５３】
ステップＳ４３では、再符号化方式２−１を用いて誤差信号E2(n)を求め、メモリに格納し再符号化処理を終了する。
【０１５４】
ステップＳ４４では、再符号化方式２−２を用いて誤差信号E2(n)を求め、メモリに格納し再符号化処理を終了する。
【０１５５】
３−１）第３実施形態の動作例
次に、具体的な実施例を用いて第３実施形態の動作を詳細に説明する。この実施例では、入力となる圧縮動画ビットストリームは同様にMPEG-2 VIDEOビットストリームとする。
【０１５６】
図１７は、図１３に示す構成例の動作を示すフローチャートである。処理はマクロブロック単位で行い、ピクチャタイプや量子化マトリックスなどの符号化情報は復号されているものとする。なお、第２実施形態の動作を示す図９のフローチャートと同様のステップには同一参照番号を付して説明は省略する。
【０１５７】
図１７において、ステップ２７を完了すると、ステップＳ５１において、離散コサイン変換係数DCT[R1(n)]と離散コサイン変換係数DCT[R2(n)+E2(n)]の範囲からモード選択を行う。このステップでは、各モードにおける全体の処理量から、処理量の少ないモードを選択する。本実施例の場合、モード３−１とモード３−２の処理量は、逆離散コサイン変換および加減算の処理量で決まる。処理量は実装方法によって大きく異なるが、本実施例では"低域４ｘ４成分"の離散コサイン変換および加算器５０９の加算の処理量は、"８ｘ８成分"の離散コサイン変換の処理量よりも少ないとする。その結果、離散コサイン変換係数DCT[R1(n)]およびDCT[R2(n)+E2(n)]の範囲情報が共に"８ｘ８成分"の場合にモード３−２を選択し、それ以外の場合は、モード３−１を選択することとする。ただし、フレーム内予測の場合は、モード３−２を選択する。
【０１５８】
ここで、モード３−２における全体の処理量を求めるには、減算器５０６の出力である離散コサイン変換係数の範囲情報も考慮すべきであるが、減算器５０６の出力には量子化前の離散コサイン変換係数が含まれるため、多くの離散コサイン係数は"8×8成分”の範囲に属する。そこで、本実施例では離散コサイン変換係数DCT[R1(n)]およびDCT[R2(n)+E2(n)]の範囲から、２つのモードの処理量を推定し、モード選択を行う。
【０１５９】
図１８は、MPEG-2ビットストリームを実際に図１３の方式を用いて再符号化した場合に、減算器５０６の出力ブロックが属する範囲の割合を示した表である。ここで、計測したブロックはPピクチャかつフレーム間予測を用いたブロックである。入力ストリームなどは図１２と同様である。図１８からも明らかなように、MPEG-2ビットストリームにおける離散コサイン変換係数の約８３〜９４％が"８ｘ８成分"の範囲に属する。
【０１６０】
ステップＳ５２では、選択されたモードがモード３−１か否かを判断する。モード３−１であればステップＳ２９へ、モード３−２であればステップＳ５３へ移る。
【０１６１】
ステップＳ５３では、離散コサイン変換係数DCT[R2(n)+E2(n)]から離散コサイン変換係数DCT[R2(n)]を減算して離散コサイン変換係数DCT[E2(n)]を求め、ステップＳ５４へ移る。
【０１６２】
ステップＳ５４では、離散コサイン変換係数DCT[R1(n)]と離散コサイン変換係数DCT[R2(n)+E2(n)]の範囲情報を用いて、離散コサイン変換係数DCT[E2(n)]に逆離散コサイン変換を行うことで誤差信号E2(n)を求め、ステップＳ３３へ移る。
【０１６３】
第３実施形態は、変換係数情報および各ブロックの処理量から、各モードにおける全体の処理量を推定し、最も処理量の少ない再符号化方式を選択するモード判定手段を備える。そのため、単一のモードの再符号化方式よりも処理量を削減できる。
【０１６４】
４）第４実施形態
次に、本発明の第４実施形態について図面を参照して詳細に説明する。ただし、図１に示す第１実施形態と同様のブロックには同一の参照番号を付し、ここでは第１実施形態と異なる構成および動作について説明する。
【０１６５】
図１９を参照すると、本発明の第４実施形態による再符号化装置では、第１実施形態の構成に信号零判定部１５が追加されている。また第４実施形態は、２つの処理パスを備えている。第１の処理パスは通常の再符号化パスであり、第２の処理パスに関して以下説明する。なお、第１の処理パスをモード４−１、第２の処理パスをモード４−２という。
【０１６６】
入力した圧縮動画ビットストリームから、少なくとも一部の信号を復号し、復号信号または復号時に得られた制御情報を信号零判定部１５に供給する。信号零判定部１５は、復号信号または復号時に得られた制御情報から符号化処理単位または復号処理単位毎に復号信号が全て零であるかを判定する。もし、全て零の場合はモード４−２を選択し、そうでない場合はモード４−１を選択する。図１９ではモード４−２が選択されている。モード４−１が選択された場合の動作は、第１実施形態の動作と同様である。したがって、ここではモード４−２が選択された場合の動作を説明する。
【０１６７】
モード４−２が選択された場合、符号化処理部１２は符号化信号を零として再度符号化を行う。信号補正部１３は、蓄積した信号を用いて補正信号を計算し、信号補正部１３へ供給する。
【０１６８】
図２０は、図１９に示す第４実施形態の動作を示すフローチャートである。ここでは、図２に示す第１実施形態のフローチャートと異なる動作に関してのみ説明する。
【０１６９】
ステップＳ１１１では、復号信号が全て零であるか否かを判断する。全て零であればステップＳ１１２へ、そうでなければステップＳ１０３へ移る。
【０１７０】
ステップＳ１１２では、符号化信号を零とし再度符号化を行い、計算した補正信号を蓄積して再符号化処理を終了する。
【０１７１】
上述したように、第４実施形態では、信号零判定手段を備えており、復号信号が全て零であると判定された場合、通常の再符号化よりも簡略な方式を適用する。その結果、従来の再符号化装置に比べ処理量を削減できる。
【０１７２】
５）第５実施形態
次に、本発明の第５実施形態について図面を参照して詳細に説明する。第５実施形態は、第４実施形態に対して、圧縮動画ビットストリームの符号化方式として周波数空間への変換処理を組み合わせていることを特徴としている。ここでは、図３に示す第２実施形態と同様のブロックには同一参照番号を付し、第２実施形態と異なる構成および動作について説明する。
【０１７３】
図２１を参照すると、本発明の第５実施形態による再符号化装置は、図３に示す第２実施形態に変換係数零判定器５１６が追加された構成となっている。また第５実施形態は２つの処理パスを備えている。第１の処理パスは第２実施形態と同様であり、第２の処理パスに関して以下説明する。ここでは、第１の処理パスをモード５−１、第２の処理パスをモード５−２という。
【０１７４】
変換係数復号部５１は、入力した圧縮動画ビットストリームから離散コサイン変換係数DCT[R1(n)]を求め、離散コサイン変換係数DCT[R1(n)]の変換係数情報を変換係数零判定器５１６へ供給する。
【０１７５】
変換係数零判定器５１６は、離散コサイン変換係数DCT[R1(n)]の変換係数情報から離散コサイン変換係数に有意係数が含まれるかを判定する。もし、離散コサイン変換係数に有意係数が含まれている場合はモード５−１を選択し、離散コサイン変換係数DCT[R1(n)]の変換係数情報を変換係数分布計測器５０７へ供給する。もし、有意係数が含まれていない（全ての変換係数が零の）場合はモード５−２を選択する。図２１ではモード５−２が選択されている。モード５−１が選択された場合の動作は第２実施形態の動作と同様であるから、モード５−２が選択された場合の動作を説明する。
【０１７６】
モード５−２が選択された場合、変換係数符号化部５２は離散コサイン変換係数DCT[R2(n)]を零とし、ビットレート変換した圧縮動画ビットストリームを生成して出力する。
【０１７７】
誤差信号動き補償部３１は、画像信号がフレーム間予測で参照される場合、フレーム間予測であれば、誤差予測信号MC[E2(n-1),V]を求め、誤差予測信号MC[E2(n-1),V]を誤差信号E2(n)とし、誤差信号動き補償部３１へ供給する。フレーム内予測であれば、誤差信号E2(n)を零とし、誤差信号動き補償部３１へ供給する。
【０１７８】
なお、図５に示す第２実施形態の実施例と同様に、周波数領域での動き補償を用いた図２６の構成も適用可能である。
【０１７９】
図２２は、図２１に示した第５実施形態の動作を示すフローチャートである。ここでは、図４に示す第２実施形態のフローチャートと異なる動作に関してのみ説明する。
【０１８０】
図２２において、フレーム間予測である場合（ステップＳ４のＹＥＳ）、ステップＳ６１において、既に復号した誤差信号E2(ｎ-1）と動きベクトルＶを用いて動き補償ＭＣを行い、誤差予測信号MC[E2(n-1),V]を求め、ステップＳ６２へ移る。
【０１８１】
ステップＳ６２では、変換係数情報を用いて再符号化対象となるブロックに有意係数が含まれるか否かを判断する。有意係数が含まれる場合はステップＳ６３へ、全ての係数が零の場合はステップＳ６へ移る。
【０１８２】
ステップＳ６３では、誤差予測信号MC[E2(n-1),V]に離散コサイン変換を行うことで離散コサイン変換係数DCT[MC[E2(n-1),V]]を求める。次に、離散コサイン変換係数DCT[R1(n)]から離散コサイン変換係数DCT[MC[E2(n-1),V]]を減算して、離散コサイン変換係数DCT[R2(n)]を求め、ステップＳ６へ移る。
【０１８３】
ステップＳ６において参照画像であると判定された場合には、ステップＳ６４において、変換係数情報を用いて再符号化対象となるブロックに有意係数が含まれるか否かを判断する。有意係数が含まれる場合はステップＳ７へ、全ての係数が零の場合はステップＳ６５へ移る。
【０１８４】
ステップＳ６５では、離散コサイン変換係数DCT［R2（ｎ）］を零とし、変換係数および符号化情報を符号化し、ビットレート変換した圧縮動画ビットストリームを生成する。フレーム間予測であれば、誤差予測信号MC[E2(n-1),V]を誤差信号E2(n)とし、フレーム内予測であれば、誤差信号E2(n)を零とし、ステップＳ１３へ移る。
【０１８５】
次に、具体的な実施例を用いて、第５実施形態の動作を詳細に説明する。この実施例では、入力となる圧縮動画ビットストリームは同様にMPEG-2 VIDEOビットストリームとする。
【０１８６】
図２３は、第５実施形態の第１実施例の動作を示すフローチャートである。本実施例では、ブロックごとに零判定を行うのでブロック単位の動作を示す。ここで、MPEG-2 VIDEOでは動き補償はマクロブロック単位で行われるが、フローチャートを簡略にするため、ブロック単位に行うものとしている。
【０１８７】
MPEG-2 VIDEOでの零判定は、前述したようにブロックの係数が全て零であることを示す情報(coded block pattern、skipped macroblock)を用いればよい。
【０１８８】
以下、図９に示す第２実施形態のフローチャートと異なる動作に関してのみ説明する。
【０１８９】
図２３において、フレーム間予測である場合（ステップＳ２４のＹＥＳ）、ステップＳ７１において、既に復号した誤差信号E2(ｎ-1）と動きベクトルＶを用いて動き補償ＭＣを行い、誤差予測信号MC[E2(n-1),V]を求め、ステップＳ７２へ移る。
【０１９０】
ステップＳ７２では、復号時の情報を用いて再符号化対象となるブロックに有意係数が含まれるか否かを判断する。有意係数が含まれる場合はステップＳ７３へ、全ての係数が零の場合はステップＳ２６へ移る。
【０１９１】
ステップＳ７３では、誤差予測信号MC[E2(n-1),V]に離散コサイン変換を行うことで離散コサイン変換係数DCT[MC[E2(n-1),V]]を求める。次に、離散コサイン変換係数DCT[R1(n)]から離散コサイン変換係数DCT[MC[E2(n-1),V]]を減算して、離散コサイン変換係数DCT[R2(n)]を求め、ステップＳ２６へ移る。
【０１９２】
ＩピクチャあるいはＰピクチャである場合（ステップＳ２６のＹＥＳ）、ステップＳ７４では、復号時の情報を用いて再符号化対象となるブロックに有意係数が含まれるか否かを判断する。有意係数が含まれる場合はステップＳ２７へ、全ての係数が零の場合はステップＳ７５へ移る。
【０１９３】
ステップＳ７５では、離散コサイン変換係数DCT［R2（ｎ）］を零とし、変換係数および符号化情報を符号化し、ビットレート変換したMPEG-2ビットストリームを生成する。また、フレーム間予測であれば、誤差予測信号MC[E2(n-1),V]を誤差信号E2(n)とし、フレーム内予測であれば、誤差信号E2(n)を零とし、ステップＳ３３へ移る。
【０１９４】
図２４は、MPEG-2ビットストリームを実際に再符号化した場合に、入力の変換係数に有意係数が含まれていないブロックが、出力の変換係数で有意係数をもつ割合を示した表である。入力ストリームなどは図１２と同様である。
【０１９５】
図２４からも明らかなように、入力の変換係数に有意係数が含まれない場合に、出力の変換係数に有意係数が含まれる割合は３．３％以内であり、低いことが分かる。
【０１９６】
図２５は、入力ストリームに有意係数が含まれないブロックの割合が高く、誤差蓄積の影響の大きい(GOP構成IPPP....)シーケンス４を再符号化した場合の、輝度信号の原画像に対するpeak signal to noise ratio(PSNR)を示すグラフである。ここで、縦軸はPSNRを表し、横軸はフレーム番号を表す。
【０１９７】
このグラフでは、第２実施形態の実施例を用いた場合と、簡略方式を適用した第５実施形態の実施例を用いた場合とを表している。グラフから明らかなように、２つの方式の平均PSNRはどちらも24.98dBであり、簡略化による画質劣化の影響は小さい。また、誤差蓄積による画質劣化も生じていないことが分かる。
【０１９８】
第５実施形態は、離散コサイン変換係数零判定手段を備えており、変換係数に有意係数が含まれないと判定された場合、通常の再符号化よりも簡略な方式を適用する。簡略方式は離散コサイン変換、量子化、および逆離散コサイン変換の処理を省略するので、従来の再符号化装置に比べ処理量を削減できる。簡略方式を適用することで画質劣化が生じるが、もともと入力の変換係数に有意係数が含まれない場合に、出力の変換係数に有意係数が含まれる割合は低いので、画質劣化の影響は小さい。
【０１９９】
ただし、再量子化の量子化幅で、出力の変換係数に有意係数が含まれる割合は異なる。そこで、変換係数零判定器５１６は再量子化の量子化幅がある定めた閾値を超えた場合のみ、第２の処理パス（モード５−２）を選択するように動作させてもよい。
【０２００】
６）第６実施形態
次に、本発明の第６実施形態について図面を参照して詳細に説明する。
【０２０１】
第６実施形態は、第３実施形態と第５実施形態を組み合わせた構成である。ここでは、第３実施形態および第５実施形態と異なる構成および動作について説明する。
【０２０２】
図２７を参照すると、本発明の第６実施形態による再符号化装置は、２つの処理パスを備えている。第１の処理パスは図３６に示す再符号化装置の構成と同じであり、第２の処理パスは第５実施形態の第２パス(モード５−２)と同じである。以下、第１の処理パスをモード６−１、第２の処理パスをモード６−２という。
【０２０３】
図２７に示すように、第６実施形態における変換係数零判定器５１６は、離散コサイン変換係数DCT[R1(n)]の変換係数情報から離散コサイン変換係数に有意係数が含まれるかを判定し、処理パスを選択する。そのため、第３実施形態におけるモード判定器５１１は不要である。
【０２０４】
また、第２実施形態の場合と同様に、周波数領域での動き補償を用いた図３０の構成も適用可能である。この構成の場合は、加算器５１９も存在しないので変換係数分布計測器５０７は不要である。
【０２０５】
図２８は、図２７に示した第６実施形態の動作を示すフローチャートである。以下、図２２に示す第５実施形態のフローチャートと異なる動作に関してのみ説明する。
【０２０６】
図２８において、ステップＳ８１では、離散コサイン変換係数DCT[R2(n)+E2(n)]から離散コサイン変換係数DCT[R2(n)]を減算して離散コサイン変換係数DCT[E2(n)]を求め、ステップＳ８２へ移る。
【０２０７】
ステップＳ８２では、変換係数情報を用いて、離散コサイン変換係数DCT[E2(n)]に逆離散コサイン変換を行い、誤差信号E2(n)を求め、ステップＳ１３へ移る。
【０２０８】
図２９は、MPEG-2ビットストリームを復号した場合に、入力の変換係数が属する範囲の割合を示した表である。ここで、計測したブロックはPピクチャかつフレーム間予測を用いたブロックである。入力ストリームなどは図１２と同様である。図２９からも明らかなように、MPEG-2ビットストリームにおける入力変換係数の約２５〜４９％は"有意係数なし"の範囲に属する。
【０２０９】
第６実施形態は、第５実施形態と同様に離散コサイン変換係数零判定手段を備えており、変換係数に有意係数が含まれないと判定された場合、通常の再符号化よりも簡略な方式を適用する。その結果、図３６に示した従来の再符号化装置に比べ処理量を削減できる。
【０２１０】
７）第７実施形態
第３実施形態では、図１６及び１７において説明したように、変換係数情報および各ブロックの処理量から２つのモードにおける処理量を推定し、処理量の少ないモードを選択していた。
【０２１１】
これに対して、第７実施形態によれば、再符号化装置はＮ種類の再符号化方式を備える。この場合、変換係数情報および各ブロックの処理量からＮ種類のモードにおける全体の処理量を推定し、処理量の少ないモードを選択する。そのため、最も処理量の少ない再符号化方式を選択するので、再符号化の処理量を削減できる。ここで、言うまでもなく、第７実施形態も、第３実施形態と同様に、誤差信号E2(n)または離散コサイン変換係数DCT[E2(n)]を生成するような再符号化方式であれば適用可能であり、さらには第５実施形態のような簡略方式も適用可能である。
【０２１２】
図３１は、第７実施形態の動作を示すフローチャートである。以下、図１６に示す第３実施形態のフローチャートと異なる動作に関してのみ説明する。
【０２１３】
ステップＳ９１では、離散コサイン変換係数DCT[R1(n)]およびDCT[R2(n)]の変換係数情報および各ブロックの処理量から、Ｎ種のモードにおける全体の処理量を推定し、処理量の少ないモードを選択する。
【０２１４】
続いて、ステップＳ９２では、モード７−１が選択されたか否かを判断する。モード７−１が選択された場合はステップＳ９３へ移り、モード７−２が選択された場合はモード７−２の選択へ移る。
【０２１５】
ステップＳ９３では、再符号化方式７−１を用いて誤差信号E2(n)を求め、メモリに格納して再符号化処理を終了する。モード７−２の判定以降はステップＳ９２およびステップＳ９３と同様の処理を行う。ステップＳ９４では、モード７−(Ｎ−１)が選択されたか否かを判断する。モード７−（Ｎ−１）が選択された場合はステップＳ９５へ、モード７−Ｎが選択された場合はステップＳ９６へ移る。
【０２１６】
ステップＳ９５では、再符号化方式５−(Ｎ−１)を用いて誤差信号E2(n)を求めてメモリに格納し、再符号化処理を終了する。ステップＳ９６では、再符号化方式５−Ｎを用いて誤差信号E2(n)を求めてメモリに格納し、再符号化処理を終了する。
【０２１７】
８）第８実施形態
図２２に示す第５実施形態では、有意係数が存在した場合（ステップＳ６２のＹＥＳ）にステップＳ６３を実行するのに対して、第８実施形態による再符号化装置は、入力する圧縮動画ビットストリームの再符号化処理に依存しない処理単位ごとにステップＳ６３を行うことを特徴としている。
【０２１８】
図３２は、本発明の第８実施形態の動作を示すフローチャートである。以下、図２２に示す第５実施形態のフローチャートと異なる動作に関してのみ説明する。
【０２１９】
図３２において、ステップＳ１３１では、離散コサイン変換係数DCT[R1(n)]を補正する時期であるか否かを判断する。補正時であればステップＳ６３へ、補正時でない場合にはステップＳ６へ移る。
【０２２０】
第８実施形態では、ある定めた処理単位ごとにのみ、離散コサイン変換係数DCT[R1(n)]の補正を行う。そのため、補正を行わない場合は、離散コサイン変換および減算の処理量を削減できる。離散コサイン変換係数DCT[R1(n)]の補正を行う処理単位としては、様々なものが考えられる。例えば、１フレームおきに、あるいは複数のブロックおきに補正を行うこと等が考えられる。
【０２２１】
なお、第２実施形態の場合と同様に、第８実施形態は周波数領域での動き補償を用いた構成にも適用可能である。
【０２２２】
９）第９実施形態
図２２に示す第５実施形態では、有意係数が存在した場合（ステップＳ６２のＹＥＳ）にステップＳ６３を実行するのに対して、第９実施形態による再符号化装置は、再量子化を行う量子化幅が逆量子化を行う量子化幅以下、あるいは再量子化を行う量子化幅と逆量子化を行う量子化幅の差の絶対値がある定めた閾値以下であるか否かを判定し、前記の条件が成立しなかった場合に、ステップＳ６３を行うことを特徴としている。
【０２２３】
図３３は、第９実施形態の動作を示すフローチャートである。以下、図２２に示す第５実施形態のフローチャートと異なる動作に関してのみ説明する。
【０２２４】
ステップＳ１４１では、再量子化を行う量子化幅が逆量子化を行う量子化幅以下、あるいは再量子化を行う量子化幅と逆量子化を行う量子化幅の差の絶対値がある定めた閾値以下であるか否かを判断する。前記条件が成立する場合はステップＳ６へ、成立しない場合はステップＳ６３へ移る。
【０２２５】
ステップＳ１４２では、再量子化を行う量子化幅が逆量子化を行う量子化幅以下、あるいは再量子化を行う量子化幅と逆量子化を行う量子化幅の差の絶対値がある定めた閾値以下であるか否かを判断する。前記条件が成立する場合は、逆量子化を行った量子化幅を再量子化を行う量子化幅に設定しステップＳ６５へ、成立しない場合はステップＳ７へ移る。
【０２２６】
第９実施形態は、再量子化を行う量子化幅および逆量子化を行う量子化幅の判定条件の判定結果に応じて、離散コサイン変換係数DCT[R1(n)]の補正を行う。そのため、補正を行わない場合には離散コサイン変換および減算の処理量を削減できる。さらに、量子化を行う量子化幅を再量子化を行う量子化幅に設定しているため、再量子化による誤差は生じない。そのため、再量子化および逆離散コサイン変換の処理量も削減できる。
【０２２７】
なお、第２実施形態の場合と同様に、第９実施形態は周波数領域での動き補償を用いた構成にも適用可能である。
【０２２８】
１０）コンピュータシステム
図３４は、本発明による再符号化装置をインプリメントした情報処理システムの一例を示す概略的ブロック構成図である。本発明による再符号化装置は、以上の説明からも明らかなように、ハードウェアで構成することもできるが、コンピュータプログラムにより実現することも可能である。
【０２２９】
図３４に示す情報処理システムは、プロセッサ６０１、プログラムメモリ６０２、記憶媒体６０３および６０４からなる。記憶媒体６０３および６０４は、別個の記憶媒体であってもよいし、同一の記憶媒体の異なる記憶領域であってもよい。記憶媒体としては、ハードディスク等の磁気記憶媒体を用いることができる。
【０２３０】
【発明の効果】
以上詳細に説明したように、本発明によれば、信号および制御情報を参照して信号値または分布情報を計測し、その信号値または分布情報を用いて補正信号を計算する。このために、補正信号の計算に必要な演算量を削減することができ、高速なビットレート変換を実現できる。
【０２３１】
また、複数の周波数補正信号の計算方法から最も演算量の少ない計算方法を選択することで、単一の周波数補正信号の計算よりも処理量をさらに削減することができる。
【０２３２】
さらに、信号零判定手段を設けることで、復号信号が全て零であると判定された場合、通常の再符号化よりも簡略な方式を適用することができ、従来の再符号化方法に比べ演算量を削減することができる。
【図面の簡単な説明】
【図１】本発明による再符号化装置の第１実施形態の構成を示すブロック図である。
【図２】本発明による第１実施形態における動作を示すフローチャートである。
【図３】本発明による再符号化装置の第２実施形態の構成を示すブロック図である。
【図４】本発明による図３に示した第２実施形態における動作を示すフローチャートである。
【図５】本発明による再符号化装置の第２実施形態の異なる構成を示すブロック図である。
【図６】本発明による図５に示した第２実施形態における動作を示すフローチャートである。
【図７】（a)は８×８離散コサイン変換係数の一例を示す図であり、(b)は８×８離散コサイン変換係数の別の例を示す図である。
【図８】本発明による第２実施形態における有意係数が存在する範囲を示す図である。
【図９】本発明による図３に示した第２実施形態の実施例における動作を示すフローチャートである。
【図１０】MPEG-2 VIDEOにおけるスキャン順を示す図である。
【図１１】MPEG-2 VIDEOにおける離散コサイン変換係数の復号処理を示す図である。
【図１２】(a)はGOP構成がIPPP・・・のストリームを再符号化した場合の、離散コサイン変換係数の属する範囲の割合を示す図であり、(b)はGOP構成がIBBP・・・のストリームを再符号化した場合の、離散コサイン変換係数の属する範囲の割合を示す図である。
【図１３】本発明による再符号化装置の第３実施形態の構成を示すブロック図である。
【図１４】本発明による再符号化装置の第３実施形態の異なる構成を示すブロック図である。
【図１５】本発明による再符号化装置の第３実施形態の異なる構成を示すブロック図である。
【図１６】本発明による第３実施形態における動作を示すフローチャートである。
【図１７】本発明による第３実施形態の実施例における動作を示すフローチャートである。
【図１８】(a)はGOP構成がIPPP・・・のストリームを再符号化した場合の、離散コサイン変換係数の属する範囲の割合を示す図であり、(b)はGOP構成がIBBP・・・のストリームを再符号化した場合の、離散コサイン変換係数の属する範囲の割合を示す図である。
【図１９】本発明による再符号化装置の第４実施形態の構成を示すブロック図である。
【図２０】本発明による第４実施形態における動作を示すフローチャートである。
【図２１】本発明による再符号化装置の第５実施形態の構成を示すブロック図である。
【図２２】本発明による図２１に示した第５実施形態における動作を示すフローチャートである。
【図２３】本発明による図２１に示した第５実施形態の実施例における動作を示すフローチャートである。
【図２４】(a)はGOP構成がIPPP・・・のストリームを再符号化した場合の、入力の変換係数に有意係数が含まれない場合に出力の変換係数に有意係数が含まれる割合を示す図であり、(b)はGOP構成がIBBP・・・のストリームを再符号化した場合の、入力の変換係数に有意係数が含まれない場合に出力の変換係数に有意係数が含まれる割合を示す図である。
【図２５】MPEG-2ビットストリームを実際に再符号化した場合の、輝度信号の原画像に対するpeak signal to noise ratio (PSNR)を示すグラフである。
【図２６】本発明による再符号化装置の第５実施形態の異なる構成を示すブロック図である。
【図２７】本発明による再符号化装置の第６実施形態の構成を示すブロック図である。
【図２８】本発明による図２７に示した第６実施形態における動作を示すフローチャートである。
【図２９】(a)はGOP構成がIPPP・・・のストリームを再符号化した場合の、離散コサイン変換係数の属する範囲の割合を示す図であり、(b)はGOP構成がIBBP・・・のストリームを再符号化した場合の、離散コサイン変換係数の属する範囲の割合を示す図である。
【図３０】本発明による再符号化装置の第６実施形態の異なる構成を示すブロック図である。
【図３１】本発明による第７実施形態における動作を示すフローチャートである。
【図３２】本発明による第８実施形態における動作を示すフローチャートである。
【図３３】本発明による第９実施形態における動作を示すフローチャートである。
【図３４】本発明による再符号化装置をインプリメントした情報処理システムの一例を示す概略的ブロック構成図である。
【図３５】基本的な再符号化装置の回路構成を示すブロック図である。
【図３６】従来の再符号化装置の回路構成の一例を示すブロック図である。
【図３７】従来の再符号化装置の回路構成の一例を示すブロック図である。
【符号の説明】
１１  復号処理部
１２  符号化処理部
１３  信号補正部
１４  信号分布計測部
１５  信号零判定部
２１  変換係数復号部
２２  変換係数符号化部
２０１  可変長復号器
２０２  逆量子化器
２０３  逆離散コサイン変換器
２０４  加算器
２０５  動き補償器
２０６  メモリ
２０７  減算器
２０８  動き補償器
２０９  離散コサイン変換器
２１０  再量子化器
２１１  可変長符号化器
２１２  逆量子化器
２１３  逆離散コサイン変換器
２１４  加算器
２１５  メモリ
３１  誤差信号動き補償部
３０１  減算器
３０２  離散コサイン変換器
３０３  減算器
３０４  逆離散コサイン変換器
３０５  メモリ
３０６  動き補償器
４０１  加算器
４０２  離散コサイン変換器
４０３  減算器
４０４  離散コサイン変換係数分布推定部
４０５  逆離散コサイン変換器
４０６  加算器
４０７  差分画素分布推定部
５１  変換係数復号部
５２  変換係数符号化部
５３  周波数領域誤差信号動き補償部
５０１  可変長復号器
５０２  逆量子化器
５０３  減算器
５０４  可変長符号化器
５０５  逆量子化器
５０６  減算器
５０７  変換係数分布計測器
５０８  逆離散コサイン変換器
５０９  加算器
５１０  離散コサイン変換器
５１１  モード判定器
５１２  減算器
５１３  減算器
５１４  逆離散コサイン変換器
５１５  減算器
５１６  変換係数零判定器
５１７  メモリ
５１８  周波数領域動き補償器
５１９  加算器
６０１  プロセッサ
６０２  プログラムメモリ
６０３  記憶媒体
６０４  記憶媒体
【図１】
0004134572.tif 000005
【図２】
0004134572.tif 000006
【図３】
0004134572.tif 000007
【図４】
0004134572.tif 000008
【図５】
0004134572.tif 000009
【図６】
0004134572.tif 000010
【図７】
0004134572.tif 000011
【図８】
0004134572.tif 000012
【図９】
0004134572.tif 000013
【図１０】
0004134572.tif 000014
【図１１】
0004134572.tif 000015
【図１２】
0004134572.tif 000016
【図１３】
0004134572.tif 000017
【図１４】
0004134572.tif 000018
【図１５】
0004134572.tif 000019
【図１６】
0004134572.tif 000020
【図１７】
0004134572.tif 000021
【図１８】
0004134572.tif 000022
【図１９】
0004134572.tif 000023
【図２０】
0004134572.tif 000024
【図２１】
0004134572.tif 000025
【図２２】
0004134572.tif 000026
【図２３】
0004134572.tif 000027
【図２４】
0004134572.tif 000028
【図２５】
0004134572.tif 000029
【図２６】
0004134572.tif 000030
【図２７】
0004134572.tif 000031
【図２８】
0004134572.tif 000032
【図２９】
0004134572.tif 000033
【図３０】
0004134572.tif 000034
【図３１】
0004134572.tif 000035
【図３２】
0004134572.tif 000036
【図３３】
0004134572.tif 000037
【図３４】
0004134572.tif 000038
【図３５】
0004134572.tif 000039
【図３６】
0004134572.tif 000040
【図３７】
0004134572.tif 000041