(57)【要約】      （修正有）【課題】既に符号化されているデータを再符号化するために要する処理時間を従来よりも短縮する。【解決手段】既にＭＰＥＧ符号化されているビット列をＶＬＣテーブルに基づいて、逆符号化する（ステップＳ１１）。これによって得られたＤＣＴ係数の「ｒｕｎ」と「ｌｅｖｅｌ」の組のうちの「ｌｅｖｅｌ」に対して、元量子化ステップサイズを乗算して簡易量子化係数を得る（ステップＳ１２）。次いで、この簡易量子化係数を元量子化ステップサイズよりも大きい新量子化ステップサイズで量子化する（ステップＳ１２’）。これによって得られた値を新たなＤＣＴ係数の「ｌｅｖｅｌ」とし、この「ｌｅｖｅｌ」とステップＳ１１において既に得られている元の「ｒｕｎ」との組をＶＬＣテーブルに基づいてエントロピー符号化する（ステップＳ１１’）。【選択図】図１
2005311714.tif 000002
【特許請求の範囲】
【請求項１】
量子化を経て符号化されたビット列を、決められた逆符号化アルゴリズムに従って、ゼロ係数の連続個数と非ゼロ係数の係数値との組に変換する逆符号化手段と、
前記逆符号化手段によって得られた前記非ゼロ係数の係数値に対し、前記ビット列が量子化されたときに用いられた量子化ステップサイズを乗算することによって、簡易量子化係数を求める簡易逆量子化手段と、
前記簡易逆量子化手段によって求められた簡易量子化係数を、前記量子化ステップサイズよりも大きい量子化ステップサイズを用いて量子化する簡易量子化手段と、
前記簡易量子化手段によって量子化されて得られた値を非ゼロ係数の係数値とし、前記ゼロ係数の連続個数と当該非ゼロ係数の係数値との組を、前記逆符号化アルゴリズムとは逆の符号化アルゴリズムに従ってビット列に変換して出力する符号化手段と
を備えた再符号化装置。
【請求項２】
指定された目標データ量を記憶する目標値記憶手段と、
前記符号化手段によって順次出力されてくるビット列の累積データ量に基づいて、前記符号化手段による変換が完了したときの前記ビット列の総データ量が前記目標値記憶手段によって記憶されている目標データ量とほぼ同じになるか否かを判断する判断手段と、
前記判断手段によって前記ビット列の総データ量が前記目標データ量と同じにならないと判断された場合、前記簡易量子化手段が量子化するために用いている量子化ステップサイズの値を調整する調整手段と
を備えた請求項１記載の再符号化装置。
【請求項３】
前記判断手段は、前記逆符号化手段によって前記変換がなされる前の前記ビット列の総データ量に対して、該ビット列のうち該逆符号化手段による前記変換が既に完了したビット列のデータ量が占める割合と、前記目標データ量に対して前記符号化手段によって出力されたビット列の累積データ量が占める割合とを比較し、前者の割合と後者の割合がほぼ同じではない場合には、前記符号化手段による変換が完了したときのビット列の総データ量が目標データ量とほぼ同じにならないと判断する請求項２記載の再符号化装置。
【請求項４】
前記調整手段は、前記判断手段によって後者の割合が前者の割合よりも小さいと判断された場合には、前記簡易量子化手段が量子化するために用いている量子化ステップサイズの値をより小さくする一方、前記判断手段によって後者の割合が前者の割合よりも大きいと判断された場合には、前記簡易量子化手段が量子化するために用いている量子化ステップサイズの値をより大きくする請求項３記載の再符号化装置。
【請求項５】
前記量子化を経て符号化されたビット列のうち再符号化に際して変更が必要なビット列部分に相当する前記ゼロ係数の連続個数と非ゼロ係数の係数値との組を抽出する抽出手段を備え、
前記簡易逆量子化手段は、前記抽出手段によって抽出された前記組に含まれる非ゼロ係数の係数値に前記量子化ステップサイズを乗算して簡易量子化係数を求める請求項１記載の再符号化装置。
【請求項６】
ＭＰＥＧ（Moving Picture Image Coding Experts Group）に規定された方法に従って符号化されたビット列を、エントロピー逆符号化のアルゴリズムに従って、値がゼロである離散コサイン係数のランと非ゼロの離散コサイン係数のレベルとの組に変換する逆符号化手段と、
前記逆符号化手段によって得られた非ゼロの離散コサイン係数のレベルに対し、前記ビット列がＭＰＥＧに規定された方法に従って量子化されたときに用いられた量子化ステップサイズを乗算することよって簡易量子化係数を求める簡易逆量子化手段と、
前記簡易逆量子化手段によって求められた簡易量子化係数を、前記量子化ステップサイズよりも大きい量子化ステップサイズで除算し、除算後の値から整数部分を抽出する簡易量子化手段と、
前記簡易量子化手段によって抽出された整数部分を非ゼロの離散コサイン係数のレベルとし、前記値がゼロである離散コサイン係数のランと当該非ゼロの離散コサイン係数のレベルとの組を、エントロピー符号化のアルゴリズムに従ってビット列に変換する符号化手段と
を備えた再符号化装置。
【請求項７】
量子化を経て符号化されたビット列を再符号化する再符号化装置が行う方法であって、
前記ビット列を決められた逆符号化アルゴリズムに従ってゼロ係数の連続個数と非ゼロ係数の係数値との組に変換するステップと、
前記非ゼロ係数の係数値に対し、前記ビット列が量子化されたときに用いられた量子化ステップサイズを乗算することによって簡易量子化係数を求めるステップと、
前記簡易量子化係数を前記量子化ステップサイズよりも大きい量子化ステップサイズを用いて量子化するステップと、
量子化されて得られた値を非ゼロ係数の係数値とし、前記ゼロ係数の連続個数と当該非ゼロ係数の係数値との組を、前記逆符号化アルゴリズムとは逆の符号化アルゴリズムに従ってビット列に変換して出力するステップと
を備えた再符号化方法。
【請求項８】
コンピュータに、
量子化を経て符号化されたビット列を、決められた逆符号化アルゴリズムに従って、ゼロ係数の連続個数と非ゼロ係数の係数値との組に変換する逆符号化機能と、
前記逆符号化機能によって得られた前記非ゼロ係数の係数値に対し、前記ビット列が量子化されたときに用いられた量子化ステップサイズを乗算することによって簡易量子化係数を求める簡易逆量子化機能と、
前記簡易逆量子化機能によって求められた簡易量子化係数を、前記量子化ステップサイズよりも大きい量子化ステップサイズを用いて量子化する簡易量子化機能と、
前記簡易量子化機能によって量子化されて得られた値を非ゼロ係数の係数値とし、前記ゼロ係数の連続個数と当該非ゼロ係数の係数値との組を、前記逆符号化アルゴリズムとは逆の符号化アルゴリズムに従ってビット列に変換して出力する符号化機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＭＰＥＧ（Moving Picture Image Coding Experts Group ）方式のような符号化方式で符号化されたデータをさらに再符号化するための技術に関する。
【背景技術】
【０００２】
画像データの圧縮技術としてよく知られているものの１つに、ＭＰＥＧ（Moving Picture Image Coding Experts Group）方式がある。このＭＰＥＧ方式に関しては様々な改良技術が提案されており、例えば特許文献１には、画像内の動きが多い場合であっても少ない場合であっても効率よく画像データを符号化するための技術が記載されている。
【０００３】
ここで、図８は、ＭＰＥＧに規定された方法で符号化された画像データ（以降、「ＭＰＥＧ符号化された画像データ」、又は単に「符号化データ」という）の構造を表す模式図である。図８に示すように、ＭＰＥＧ符号化された画像データは、シーケンス層、ＧＯＰ（Group of Pictures）層、ピクチャ層、スライス層、マクロブロック層及びブロック層というように階層的に構成されている。ここで、ＧＯＰはＭＰＥＧの特徴的な概念であり、Ｉピクチャ、ＰピクチャおよびＢピクチャという３種類のタイプのピクチャによって構成されている。また、各ＧＯＰの先頭部分には、画面フォーマット等を指定するためのシーケンスヘッダ（ＳＨ）が設けられている。ＧＯＰを構成するピクチャのうち、Ｉピクチャは、フレーム内符号化によって生成されており、Ｉピクチャ自身のデータのみで１つの画像に復号することが可能な独立ピクチャである。これに対し、Ｐピクチャ及びＢピクチャは非独立のピクチャであり、それぞれＰピクチャ自身或いはＢピクチャ自身のデータのみでは再生できない。具体的には、Ｐピクチャは、フレーム間順方向予測符号化により、前順のＩピクチャまたはＰピクチャとの差分を符号化したデータであるから、復号の際にはこれらの他のピクチャが必要である。また、Ｂピクチャは、フレーム間双方向予測符号化により、前順のＩピクチャまたはＰピクチャとの差分、および後順のＩピクチャまたはＰピクチャとの差分を符号化したデータであるから、復号の際にはこれらの他のピクチャが必要とされる。
【０００４】
１つのピクチャは、複数のスライスによって構成されている。このスライスは、開始コードを持つ一連のデータ列の最小単位であり、任意の個数のマクロブロック（ＭＢ）によって構成されている。また、スライスの開始コードの後には、このスライスに含まれる原画像データを量子化する際に用いた量子化ステップサイズ（ＱＳＣ）が記述されている。１つのマクロブロック（ＭＢ）は、４つの輝度信号ブロック（Ｙ）と、２つの色差信号ブロック（Ｃｂ，Ｃｒ）とによって構成されている。これらの各ブロックは８×８の画素からなる。ＭＰＥＧプレーヤは、上記のようなＭＰＥＧ符号化された画像データを順次復号することによって、ＧＯＰ単位で画像を再生することができる。
【０００５】
ところで、ＭＰＥＧ符号化により圧縮された画像データであっても、そのままではデータサイズが大きすぎて、ＤＶＤ（Digital Versatile Disk）のような記録媒体に記録したり、ネットワークを介してダウンロードさせたりするには適切ではない、という場合がある。このような場合には、ＭＰＥＧ符号化された画像データを復号して原画像データにいったん戻した後に、さらに高い圧縮率で再符号化してデータ量を小さくする必要がある。
【０００６】
このような再符号化を行う場合の処理の流れについて、図９を参照しながら説明する。図９の図中左側においてステップＳ１〜Ｓ５によって示された動作は復号時の動作を表しており、図中右側においてステップＳ１’〜Ｓ５’によって示された動作は符号化時の動作を表している。復号時において、まず、既に符号化されている画像データが記憶媒体から読み出されてビット列として入力されてくると、このビット列がエントロピー符号化された時とは逆のアルゴリズムに従って逆符号化される（ステップＳ１）。次いで、各ブロックのＤＣＴ（Direct Cosine Transform：離散コサイン変換）係数に対し、ビット列に含まれていた量子化ステップサイズ（ＱＳＣ）が乗算されることで逆量子化処理が行われる（ステップＳ２）。次に、このビット列の符号化時に動き補償処理がなされた時とは逆のアルゴリズムに従って、逆動き補償処理（逆ＭＣ処理）が行われる（ステップＳ３）。この後、ＩＤＣＴ（Inverse DCT：逆離散コサイン変換）処理が施され（ステップＳ４）、これによって得られたデータが各ピクチャ（Ｉピクチャ，Ｐピクチャ及びＢピクチャ）単位にまとめられ、さらに、これらの各ピクチャの順番が並べ替えられて原画像データとして出力される（ステップＳ５）。
【０００７】
次いで、データ量を小さくするための符号化処理に移行する。
事前に、この原画像データを再符号化した後のデータ量が目標値になるような補償係数（例えばビットレートなど）を予測しておく。この予測は経験則を踏まえた計算によってなされるため、予測した補償係数が必ずしも最適であるとは限らないが、ひとまず、この補償係数を用いて原画像データをＭＰＥＧ符号化する。具体的には、まず、原画像データがピクチャ単位（Ｉピクチャ，Ｂピクチャ，Ｐピクチャ）に分割され、さらに各ピクチャが８×８画素のブロックに分割される（ステップＳ５’）。次いで、これらのブロックに対しＤＣＴ（離散コサイン変換）処理が施され（ステップＳ４’）、さらに動き補償処理（ＭＣ処理）が行われる（ステップＳ３’）。この後、上記ＤＣＴ処理により求められた各ブロックのＤＣＴ係数が量子化ステップサイズによって除算され、その余りが丸められることによって量子化が施される（ステップＳ２’）。そして、量子化されたデータがエントロピー符号化される（ステップＳ１’）。このような処理を経て画像データを再符号化することができるが、前述したように、この再符号化された画像データのデータ量が当初予想していた目標値と同じになるとは限らない。そこで、再符号化後のデータ量が当初の目標値とどの程度の差があるかを特定し、その差をより小さくできるような補償係数を再計算により求める。そして、再計算して得た補償係数を用いて、もう一度ステップＳ５’→Ｓ４’→Ｓ３’→Ｓ２’→Ｓ１’の符号化処理を実行する。このようにすれば、ほぼ目標値と同じサイズの符号化データを得ることができる。
【０００８】
しかし、上述した方法では、符号化データをいったん復号して原画像データを得る必要があるうえに、符号化処理を必要に応じて２回行わなければならないために、相当多くの時間を要してしまうという問題がある。仮に符号化処理が１回で済んだとしても、例えば６ギガビット程度の符号化データを再符号化して３ギガビット程度にまでサイズダウンするような場合には、おおよそ５時間もの処理時間が必要となる。
【０００９】
【特許文献１】特開２００３−１７９９３１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、このような背景の下でなされたものであり、その目的は、既に符号化されているデータを再符号化するために要する処理時間を従来よりも短縮することにある。
【課題を解決するための手段】
【００１１】
上述した課題を解決するため、本発明は、量子化を経て符号化されたビット列を、決められた逆符号化アルゴリズムに従って、ゼロ係数の連続個数と非ゼロ係数の係数値との組に変換する逆符号化手段と、前記逆符号化手段によって得られた前記非ゼロ係数の係数値に対し、前記ビット列が量子化されたときに用いられた量子化ステップサイズを乗算することによって、簡易量子化係数を求める簡易逆量子化手段と、前記簡易逆量子化手段によって求められた簡易量子化係数を、前記量子化ステップサイズよりも大きい量子化ステップサイズを用いて量子化する簡易量子化手段と、前記簡易量子化手段によって量子化されて得られた値を非ゼロ係数の係数値とし、前記ゼロ係数の連続個数と当該非ゼロ係数の係数値との組を、前記逆符号化アルゴリズムとは逆の符号化アルゴリズムに従ってビット列に変換して出力する符号化手段とを備えた再符号化装置を提供する。
【００１２】
本発明によれば、量子化を経て符号化されたビット列をゼロ係数の連続個数と非ゼロ係数の係数値との組に変換し、この非ゼロ係数の係数値に元の量子化に用いられた量子化ステップサイズを乗算することによって簡易量子化係数を求める。さらにこの簡易量子化係数をより大きい量子化ステップサイズによって量子化し、これによって値を非ゼロ係数の係数値とし、この係数値とゼロ係数の連続個数との組をビット列に変換して出力する。従って、量子化を経て符号化されたビット列を従来のように完全に復号することなく再符号化することができるので、再符号化に要する処理時間を短縮することができる。
【００１３】
本発明の好ましい態様において、再符号化装置は、指定された目標データ量を記憶する目標値記憶手段と、前記符号化手段によって順次出力されてくるビット列の累積データ量に基づいて、前記符号化手段による変換が完了したときの前記ビット列の総データ量が前記目標値記憶手段によって記憶されている目標データ量とほぼ同じになるか否かを判断する判断手段と、前記判断手段によって前記ビット列の総データ量が前記目標データ量と同じにならないと判断された場合、前記簡易量子化手段が量子化するために用いている量子化ステップサイズの値を調整する調整手段とを備えるようにしてもよい。このようにすれば、符号化手段による変換が完了したときのビット列の総データ量を目標データ量とほぼ同じにすることが期待できる。
【００１４】
さらに上記態様においては、前記判断手段は、前記逆符号化手段によって前記変換がなされる前の前記ビット列の総データ量に対して、該ビット列のうち該逆符号化手段による前記変換が既に完了したビット列のデータ量が占める割合（図７に示すＳ１／Ａ１の割合）と、前記目標データ量に対して前記符号化手段によって出力されたビット列の累積データ量が占める割合（図７に示すＳ２／Ａ２の割合）とを比較する。そして、判断手段は、前者の割合と後者の割合がほぼ同じではない場合には、前記符号化手段による変換が完了したときのビット列の総データ量が目標データ量とほぼ同じにならないと判断する。そして、前記調整手段は、前記判断手段によって後者の割合が前者の割合よりも小さいと判断された場合には、前記簡易量子化手段が量子化するために用いている量子化ステップサイズの値をより小さくする一方、前記判断手段によって後者の割合が前者の割合よりも大きいと判断された場合には、前記簡易量子化手段が量子化するために用いている量子化ステップサイズの値をより大きくするようにすればよい。
【００１５】
また、本発明の別の態様においては、前記量子化を経て符号化されたビット列のうち再符号化に際して変更が必要なビット列部分に相当する前記ゼロ係数の連続個数と非ゼロ係数の係数値との組を抽出する抽出手段を備え、前記簡易逆量子化手段は、前記抽出手段によって抽出された前記組に含まれる非ゼロ係数の係数値に前記量子化ステップサイズを乗算して簡易量子化係数を求めるようにしてもよい。
【００１６】
また、本発明は、ＭＰＥＧ（Moving Picture Image Coding Experts Group）に規定された方法に従って符号化されたビット列を、エントロピー逆符号化のアルゴリズムに従って、値がゼロである離散コサイン係数のランと非ゼロの離散コサイン係数のレベルとの組に変換する逆符号化手段と、前記逆符号化手段によって得られた非ゼロの離散コサイン係数のレベルに対し、前記ビット列がＭＰＥＧに規定された方法に従って量子化されたときに用いられた量子化ステップサイズを乗算することよって簡易量子化係数を求める簡易逆量子化手段と、前記簡易逆量子化手段によって求められた簡易量子化係数を、前記量子化ステップサイズよりも大きい量子化ステップサイズで除算し、除算後の値から整数部分を抽出する簡易量子化手段と、前記簡易量子化手段によって抽出された整数部分を非ゼロの離散コサイン係数のレベルとし、前記値がゼロである離散コサイン係数のランと当該非ゼロの離散コサイン係数のレベルとの組を、エントロピー符号化のアルゴリズムに従ってビット列に変換する符号化手段とを備えた再符号化装置を提供する。
【００１７】
また、本発明は、量子化を経て符号化されたビット列を再符号化する再符号化装置が行う方法であって、前記ビット列を決められた逆符号化アルゴリズムに従ってゼロ係数の連続個数と非ゼロ係数の係数値との組に変換するステップと、前記非ゼロ係数の係数値に対し、前記ビット列が量子化されたときに用いられた量子化ステップサイズを乗算することによって簡易量子化係数を求めるステップと、前記簡易量子化係数を前記量子化ステップサイズよりも大きい量子化ステップサイズを用いて量子化するステップと、量子化されて得られた値を非ゼロ係数の係数値とし、前記ゼロ係数の連続個数と当該非ゼロ係数の係数値との組を、前記逆符号化アルゴリズムとは逆の符号化アルゴリズムに従ってビット列に変換して出力するステップとを備えた再符号化方法を提供する。この発明によれば、量子化を経て符号化されたビット列を従来のように完全に復号することなく再符号化することができるので、再符号化に要する処理時間を短縮することができる。
【００１８】
また、本発明は、コンピュータに、量子化を経て符号化されたビット列を、決められた逆符号化アルゴリズムに従って、ゼロ係数の連続個数と非ゼロ係数の係数値との組に変換する逆符号化機能と、前記逆符号化機能によって得られた前記非ゼロ係数の係数値に対し、前記ビット列が量子化されたときに用いられた量子化ステップサイズを乗算することによって簡易量子化係数を求める簡易逆量子化機能と、前記簡易逆量子化機能によって求められた簡易量子化係数を、前記量子化ステップサイズよりも大きい量子化ステップサイズを用いて量子化する簡易量子化機能と、前記簡易量子化機能によって量子化されて得られた値を非ゼロ係数の係数値とし、前記ゼロ係数の連続個数と当該非ゼロ係数の係数値との組を、前記逆符号化アルゴリズムとは逆の符号化アルゴリズムに従ってビット列に変換して出力する符号化機能とを実現させるためのプログラムを提供する。この発明によれば、量子化を経て符号化されたビット列を従来のように完全に復号することなく再符号化することができるので、再符号化に要する処理時間を短縮することができる。
【発明を実施するための最良の形態】
【００１９】
次に、本発明を実施するための最良の形態について説明する。
まず、図１の模式図を参照しながら、本実施形態における再符号化方法の概要について説明する。なお、以下の説明においては、ＭＰＥＧ２（Moving Picture Image Coding Experts Group-2）を用いた場合を想定している。図１の図中左側においてステップＳ１１，Ｓ１２によって示された動作は、ＭＰＥＧ符号化された画像データを簡易的に復号する場合の処理（以下、簡易復号処理という）の内容を表している。一方、図中右側においてステップＳ１１’，Ｓ１２’によって示された動作は、上記のようにして簡易復号された画像データを符号化する場合の処理（以下、簡易符号化処理という）の内容を表している。
【００２０】
簡易復号処理時において、既にＭＰＥＧ符号化されている画像データが記憶媒体から読み出されてビット列として入力されてくると、ＭＰＥＧ符号化時にこのビット列がエントロピー符号化された時とは逆のアルゴリズムに従って、このビット列を逆符号化する（ステップＳ１１）。具体的には、図２に示すようにして予め決められたＶＬＣ（Variable Length Code：可変長コードないし可変長ビット列）テーブルに基づいて、可変長のビット列を各ブロックのＤＣＴ（Direct Cosine Transform：離散コサイン変換）係数の「ｒｕｎ」と「ｌｅｖｅｌ」の組に変換する。ここで、「ｒｕｎ」とは、値がゼロのＤＣＴ係数が連続する個数を意味しており、「ｌｅｖｅｌ」とは、そのゼロのＤＣＴ係数の連続に続く非ゼロのＤＣＴ係数のレベル（係数値）を意味している。
【００２１】
次に、これらの「ｒｕｎ」と「ｌｅｖｅｌ」の組のうちの「ｌｅｖｅｌ」に対して、ステップＳ１１にて入力されたビット列に含まれていた量子化ステップサイズ（以下、元量子化ステップサイズという）を乗算する（ステップＳ１２）。この量子化ステップサイズは、スライスの開始コードの後に記述されている。本実施形態では、このステップＳ１２における乗算処理を「簡易逆量子化」と呼び、この簡易逆量子化によって得られた値を「簡易量子化係数」という。
【００２２】
以上で簡易復号処理は終了し、続いて簡易符号化処理に移行する。
まず、ステップＳ１２において得られた簡易量子化係数を、元量子化ステップサイズよりも大きい量子化ステップサイズ（以下、新量子化ステップサイズという）で量子化する（ステップＳ１２’）。即ち、簡易量子化係数を新量子化ステップサイズによって除算し、その余りを丸めて整数部分のみを抽出するという処理を行う。この新量子化ステップサイズは、再符号化された後において最初に意図したような目標データ量になるように予め予測されたものである。量子化ステップサイズを大きくするほどデータを圧縮する効果が大きくなるので、この点を踏まえて、計算により或いは予め定められたアルゴリズムに従って新量子化ステップサイズを予測すればよい。このような簡易量子化によって得られた値を新たなＤＣＴ係数の「ｌｅｖｅｌ」とし、この「ｌｅｖｅｌ」とステップＳ１１において既に得られている元の「ｒｕｎ」との組をエントロピー符号化する（ステップＳ１１’）。具体的には、上述したＶＬＣテーブルの内容に基づき、前述した逆符号化とは逆方向の変換アルゴリズムに従って、上記の「ｒｕｎ」と「ｌｅｖｅｌ」の組をそれに対応する可変長ビット列に変換（符号化）すればよい。
【００２３】
ただし、このようにして得られた符号化データのデータ量が当初予想していた目標データ量にほぼ同じになるとは限らないため、本実施形態では、ステップＳ１２’→ステップＳ１１’において順次処理を行っている最中に、新量子化ステップサイズを適切な値に調整するようにしている。具体的には、ステップＳ１１’の処理を経て順次出力される符号化データの累積データ量を監視しつつ、簡易符号化処理が全て完了したときに得られる符号化データの総データ量が目標データ量よりも相当大きくなるか又は相当小さくなることが予想されると、目標データ量との差分をより小さくするような新量子化ステップサイズを求め、それを用いてステップＳ１２’の簡易量子化処理を行うようにしている。
【００２４】
このように本実施形態では、ＤＣＴ係数の「ｒｕｎ」と「ｌｅｖｅｌ」の組を得た時点で復号に関連する処理を終了し、次いで、「ｌｅｖｅｌ」をより大きい新量子化ステップサイズで量子化することによって画像データを符号化する。この再符号化方法によれば、図９を用いて説明したステップＳ２→Ｓ３→Ｓ４→Ｓ５及びステップＳ５’→Ｓ４’→Ｓ３’→Ｓ２’の処理が不要となり、再符号化処理に要する時間を格段に短縮することが可能となる。特にステップＳ３，Ｓ４，Ｓ５，Ｓ５’，Ｓ４’，Ｓ３’においては、取り扱うべきデータのデータ量が格段に多いので多大な処理時間を要するが、本実施形態に係る再符号化方法によれば、これらの処理を省略することができるので、処理時間の短縮効果は非常に大きい。また、新量子化係数を調整しながら処理を進めるのでほぼ目標通りの再符号化が可能となり、従来のように２回以上符号化処理を繰り返す必要がほとんどない。本願発明者が再符号化に要する処理時間を実験的に求めて比較したところ、従来は６ギガビット程度の符号化データを３ギガビット程度に再符号化する場合に５時間程度を要していたのに対し、本実施形態に係る再符号化方法によれば処理時間を１５分程度にまで短縮可能なことが確認された。
【００２５】
以下、本実施形態の構成及び動作について詳細に説明する。
図３は、本実施形態に係る再符号化装置１００のハードウェア構成を示すブロック図である。この再符号化装置１００は一般的なコンピュータ装置と同様に、キーボードやマウス等の、使用者による操作内容に応じた操作信号を出力する操作部１１と、液晶ディスプレイやＣＲＴ（Cathode  Ray  Tube）ディスプレイ等の表示部１２と、ハードディスク等の大容量の不揮発性記憶部１３と、再符号化装置１００の全体を制御する制御部１４を備えている。制御部１４は、ＣＰＵ（Central Processing Unit）１４１などの演算装置と、ＲＯＭ（Read Only Memory）１４２やＲＡＭ（Random Access Memory）１４３などの各種メモリとを備えている。不揮発性記憶部１３には、ＣＰＵ１４１が図１に示したような処理を実行するための手順が記述された再符号化プログラムＰＲＧや、ＭＰＥＧ符号化された画像データなどが記憶されている。ＣＰＵ１４１は再符号化プログラムＰＲＧを実行することにより、操作部１１からの操作信号を受けて使用者の指示を入力したり、各種の情報を表示部１２に表示させたり、ＲＡＭ１４３や不揮発性記憶部１３にアクセスしたり、各種の演算処理を行ったりする。
【００２６】
図４は再符号化装置１００の機能構成を表すブロック図である。
ＣＰＵ１４１が再符号化プログラムＰＲＧを実行することによって、再符号化装置１００は大別して、簡易復号部１１０と簡易符号化部１２０という２つの機能を実現する。簡易復号部１１０は、上述したステップＳ１１，Ｓ１２を実行するための機能であり、バッファ部１１１と、逆符号化部１１２と、分離部１１３と、簡易逆量子化部１１４という機能を含んでいる。一方、簡易符号化部１２０は、上述したステップＳ１１’，Ｓ１２’を実行するための機能であり、簡易量子化部１２１と、多重化部１２２と、符号化部１２３と、データ量監視部１２４と、目標値記憶部１２５という機能を含んでいる。これらの各機能１１１〜１１４，１２１〜１２５は互いに協働して動作する。
【００２７】
次に、再符号化装置１００の動作を説明する。
ユーザが操作部１１を用いて目標データ量を入力し、再符号化を行うことを指示する操作を行うと、この操作に応じてＣＰＵ１４１は再符号化プログラムＰＲＧを実行する。まず最初に、ＣＰＵ１４１は不揮発性記憶部１３に記憶されているデータの中から、再符号化すべき画像データを抽出する。例えばDVD-Video/MPEG2フォーマットに従った画像データは、「ＩＦＯ」、「ＢＵＰ」、「ＶＯＢ」という３種類の拡張子のデータファイルによって構成されている。これらのうち拡張子「ＶＯＢ」のデータファイルには、ナビゲーションパックと呼ばれる制御データの他、音声データ、字幕データ、画像データが収められており、さらに画像データは、ヘッダ情報やＭＰＥＧ符号化された画像データ（実データ）及びパディングデータなどによって構成されている。これらの各種データのうち再符号化すべき対象はＭＰＥＧ符号化された画像データ（実データ）であるから、ＣＰＵ１４１は不揮発性記憶部１３内の拡張子「ＶＯＢ」のデータファイルからこのＭＰＥＧ符号化された画像データ（実データ）を順次読み出し、ビット列として簡易復号部１１０に供給する。このビット列はＲＡＭ１４３の一部の記憶領域に確保されているバッファ部１１１に格納される。また、ユーザによって入力された目標データ量は、ＲＡＭ１４３の一部の記憶領域に確保されている目標値記憶部１２５に格納される。
【００２８】
次に、逆符号化部１１２は、バッファ部１１１に格納されたビット列を順次読み出し、読み出したビット列を、再符号化プログラムＰＲＧ内に記述されているＶＬＣテーブルの内容に従って逆符号化する。例えば、図５に示すように、「０１００００００１１１０１０１０」というビット列の場合、「０１０００」が逆符号化されて「０，２」という「ｒｕｎ」と「ｌｅｖｅｌ」の組に分解され、次に続く「０００１１１１」が逆符号化されて「５，−１」という「ｒｕｎ」と「ｌｅｖｅｌ」の組に分解され、さらに次の「０１０１０」が逆符号化されて「２，１」という「ｒｕｎ」と「ｌｅｖｅｌ」の組に分解される。また、ビット列の最後の「１０」は、ＥＯＢ（End of Block）に変換される。逆符号化部１１２は、このようにして得られたデータを分離部１１３に供給する。またこのとき、逆符号化部１１２は、逆符号化して得られたデータから元量子化ステップサイズ（ここでは元量子化ステップサイズを「５」とする）を抽出し、これを簡易逆量子化部１１４に供給する。元量子化ステップサイズは各スライスの開始コードの直後の領域に記述されているから、逆符号化部１１２はこの領域から元量子化ステップサイズを読み出して簡易逆量子化部１１４に供給すればよい。
【００２９】
分離部１１３は、逆符号化部１１２から供給されてくるデータを、簡易逆量子化及び簡易量子化する必要があるデータと、その必要がないデータとに分離する。
ここで、図６は、ブロックを構成するデータの種類を示す図である。図６に示すように、ブロックは、ＤＤＳＬ（ＤＣＴ ＤＣ Size Luminance），ＤＤＳＣ（ＤＣＴ ＤＣ Size Chrominance），ＤＤＤ（ＤＣＴ ＤＣ Differential），ＦＤＣ（First ＤＣＴ Coefficients），ＳＤＣ（Subsequence ＤＣＴ Coefficients），ＥＯＢ（End of Block）という６種類のデータによって構成されている。このうち、ＦＤＣ及びＳＤＣは「ｒｕｎ」と「ｌｅｖｅｌ」の組を符号化したビット列であり、ＥＯＢはブロック内で以後のＤＣＴ係数が全てゼロであることを示すビット列であり、再符号化処理の前後でその内容が変更されるから、簡易逆量子化及び簡易量子化する必要があるデータである。一方、ＤＤＳＬ，ＤＤＳＣ，ＤＤＤは、再符号化処理の前後でその内容が変更されないから、簡易逆量子化及び簡易量子化する必要がないデータである。従って、分離部１１３は、ＦＤＣ，ＳＤＣ，ＥＯＢを簡易逆量子化及び簡易量子化する必要があるデータと判断し、これを抽出して簡易逆量子化部１１４に供給する。これとともに、分離部１１３は、ＤＤＳＬ，ＤＤＳＣ，ＤＤＤを簡易逆量子化及び簡易量子化する必要がないデータと判断し、これを分離データとして多重化部１２２に供給する。
【００３０】
簡易逆量子化部１１４は、ＦＤＣ及びＳＤＣのそれぞれに含まれるＤＣＴ係数の「ｌｅｖｅｌ」に対して、逆符号化部１１２によって供給されてきた元量子化ステップサイズを乗算することによって簡易量子化係数を求める。例えば図５に示す例では、簡易逆量子化部１１４は、「０，２」のｌｅｖｅｌ「２」に元量子化ステップサイズ「５」を乗算して簡易量子化係数「１０」を得て、「０，−１」のｌｅｖｅｌ「−１」に元量子化ステップサイズ「５」を乗算して簡易量子化係数「−５」を得て、「２，１」のｌｅｖｅｌ「１」に元量子化ステップサイズ「５」を乗算して簡易量子化係数「５」を得る。簡易逆量子化部１１４はこのようにして得られた簡易量子化係数を簡易符号化部１２０の簡易量子化部１２１に供給する。
【００３１】
簡易量子化部１２１は、簡易逆量子化部１１４から供給されてくる簡易量子化係数を新量子化ステップサイズで量子化する。この新量子化ステップサイズの値は、再符号化する前の符号化データのデータ量と目標データ量と大小関係や、元量子化ステップサイズの大きさなどを根拠に、経験則や計算或いは所定のアルゴリズムなどに基づいて簡易量子化部１２１が決定すればよい。ここでは、新量子化ステップサイズを「８」とする。例えば図５に示す例では、簡易量子化部１２１は、簡易量子化係数「１０」を新量子化ステップサイズ「８」で除算して余りを丸め、その整数部分を抽出して「１」を得る。同様に簡易量子化部１２１は簡易量子化係数「−５」を新量子化ステップサイズ「８」で除算し余りを丸めて「０」を得るし、簡易量子化係数「５」を新量子化ステップサイズ「８」で除算し余りを丸めて「０」を得る。
【００３２】
簡易量子化部１２１は、このようにして得られた値をＦＤＣ，ＳＤＣにおける非ゼロのＤＣＴ係数とし、これをゼロのＤＣＴ係数の「ｒｕｎ」と組にする。例えば図５に示す例では、簡易量子化部１２１は、「０，１」、「５，０」及び「２，０」という組と、「ＥＯＢ」を得る。そして、簡易量子化部１２１は、上記新量子化ステップサイズ（＝８）をスライスの開始コードの後に記述してから、上記のＦＤＣ，ＳＤＣ，ＥＯＢを、多重化部１２２に供給する。多重化部１２２は、このＦＤＣ，ＳＤＣ，ＥＯＢと、分離部１１３から供給されてきたＤＤＳＬ，ＤＤＳＣ，ＤＤＤを、ＭＰＥＧ２で規定されている順番で組み合わせ、ブロックデータとして符号化部１２３に供給する。
【００３３】
次いで、符号化部１２３は、上記ブロックデータをＶＬＣテーブルに従ってエントロピー符号化する。具体的には、符号化部１２３は、ＶＬＣテーブルを参照して、「ｒｕｎ」と「ｌｅｖｅｌ」の組を、それに対応するビット列（ＶＬＣ）に変換（符号化）する。即ち、前述した逆符号化とは逆のアルゴリズムに従って符号化することになる。例えば、図５に示すように、「０，１」という「ｒｕｎ」と「ｌｅｖｅｌ」の組はビット列「１０」に符号化され、「ＥＯＢ」はビット列「１０」に符号化される。ただし、「５，０」及び「２，０」という「ｒｕｎ」と「ｌｅｖｅｌ」の組は、ｌｅｖｅｌが「０」であるからビット列に符号化されない。以上の処理により、図５に例示した「０１００００００１１１０１０１０１０」という符号化ビット列を、より短いビット列である「１０１０」に再符号化することができる。符号化部１２３は、このようにして得られたビット列を出力して不揮発性記憶部１３に順次書き込んでいく。このとき、再符号化前の符号化データが前述したようなDVD-Video/MPEG2のデータに含まれていた場合には、再符号化の対象外であったナビゲーションパックや音声データ、字幕データ、画像データ（ヘッダ情報、パディングデータ）と再符号化された画像データとを多重化して不揮発性記憶部１３に書き込めばよい。
【００３４】
データ量監視部１２４は、判断部１２６と調整部１２７という２つの機能によって構成されている。判断部１２６は、符号化部１２３から出力されて不揮発性記憶部１３に書き込まれたビット列の累積データ量を常時監視しており、最終的に得られる符号化データの総データ量が目標値記憶部１２５に記憶された目標データ量とほぼ同じになるか否かを判断する。具体的な判断手法は以下の通りである。
【００３５】
図７は、再符号化処理中において、再符号化する前の符号化データのデータ量と、再符号化した後の符号化データのデータ量との関係を表した模式図である。図７において、再符号化する前の符号化データの総データ量をＡ１とし、このＡ１のうち既に逆符号化済みのデータ量をＳ１とする。また、目標データ量をＡ２とし、再符号化して得られた符号化データのデータ量をＳ２とする。ここで、再符号化処理が目標通りに進行するためには、再符号化前の符号化データのデータ量Ａ１に対して既に再符号化が完了した符号化データのデータ量Ｓ１が占める割合（Ｓ１／Ａ１）と、目標データ量Ａ２に対して再符号化によって得られた符号化データのデータ量Ｓ２が占める割合（Ｓ２／Ａ２）とはほぼ同じになるべきである。よって、再符号化処理が目標通りに進行するためには、これらＡ１，Ａ２，Ｓ１，Ｓ２の間に、Ｓ１／Ａ１＝Ｓ２／Ａ２という関係式が成り立つべきである。これに対し、再符号化処理が目標通りに進行していない場合には、Ｓ１／Ａ１＞Ｓ２／Ａ２、或いは、Ｓ１／Ａ１＜Ｓ２／Ａ２という状態となる。
【００３６】
そこで、本実施形態では、再符号化処理が目標通りに進行しているか否かを判定するための判定基準値として、ｄ＝Ｓ２−（Ａ２×Ｓ１／Ａ１）を定義している。判断部１２６は、この判定基準値ｄが予め決められた許容範囲内に収まる場合には、再符号化が完了したときの符号化データの総データ量が目標データ量とほぼ同じになると判断する。これはより具体的には、許容範囲を定める閾値（絶対値）をｄ１としたときに、判定基準値ｄが−ｄ１≦ｄ≦＋ｄ１という条件を満たす場合である。一方、判定基準値ｄが許容範囲を超えた場合には、再符号化が完了したときの符号化データの総データ量が目標データ量とほぼ同じにはならないと判断する。つまり、判定基準値ｄが、ｄ＜−ｄ１となる場合か、＋ｄ１＜ｄとなる場合である。この場合、判断部１２６は、判定基準値ｄがｄ＜−ｄ１という状態であるか、又は、＋ｄ１＜ｄという状態であるかということを調整部１２７に通知する。
【００３７】
調整部１２７は、前記判断手段から通知されてくる内容に応じて新量子化ステップサイズの大きさを調整する。例えば判定基準値ｄが＋ｄ１＜ｄを満たすときは、Ｓ２／Ａ２がＳ１／Ａ１よりも相当に大きい場合であるから、再符号化による圧縮効果が期待していたほど現れていないことを意味している。よって、調整部１２７は、現在用いている新量子化ステップサイズの値を大きくして圧縮率を高くする。例えば、新量子化ステップサイズとして「８」を用いている場合には、その新量子化ステップサイズを１つ大きくして「９」にする。一方、ｄ＜−ｄ１となるときは、Ｓ２／Ａ２がＳ１／Ａ１よりも相当に小さい場合であるから、期待以上の圧縮効果が現れていることを意味している。よって、調整部１２７は、現在用いている新量子化ステップサイズの値を小さくして圧縮率を低減させる。例えば、新量子化ステップサイズとして「８」を用いている場合には、その新量子化ステップサイズを１つ小さくして「７」にする。このように、簡易符号化処理が全て完了したときに得られる符号化データの総データ量が目標データ量よりも相当大きくなる又は相当小さくなることが予想されると、目標データ量との差分をより小さくするような新量子化ステップサイズを求め、それを用いて簡易量子化処理を行うようにしているので、ほぼ目標通りの再符号化が可能となる。
【００３８】
以上説明した実施形態はあくまでも例示であり、種々の変形例がある。
例えば実施形態では、ＭＰＥＧ２によって符号化された画像データについて本発明を適用する例で説明したが、符号化方式はＭＰＥＧ２に限らず、例えばＭＰＥＧ１（Moving Picture Image Coding Experts Group-1）であってもよい。また、ＪＰＥＧ（Joint Photographic Coding Experts Group）にも適用可能である。要するに、量子化の後にゼロ係数の連続個数と非ゼロ係数の係数値との組を得て、その組をある符号化アルゴリズムに従ってビット列に変換するような符号化方式であれば、本発明を適用することが可能である。
また、実施形態では、ブロックを構成するＤＤＳＬ，ＤＤＳＣ，ＤＤＤ，ＦＤＣ，ＳＤＣ，ＥＯＢという６種類のデータのうち、ＦＤＣ，ＳＤＣ，ＥＯＢを簡易逆量子化及び簡易量子化する必要があるデータと判断し、ＤＤＳＬ，ＤＤＳＣ，ＤＤＤを簡易逆量子化及び簡易量子化する必要がないデータと判断していた。これと同様の発想に従って、上記のＤＤＳＬ，ＤＤＳＣ，ＤＤＤ，ＦＤＣ，ＳＤＣ，ＥＯＢ以外のデータが含まれるデータを再符号化する場合においても、再符号化する必要があるデータとその必要がないデータに分離し、再符号化すべきデータのみを再符号化するようにしてもよい。
また、実施形態では、再符号化プログラムＰＲＧというソフトウェアを用いて再符号化装置を構成していたが、このソフトウェアの一部又は全部をハードウェアとして構成してもよい。例えば図４において実施形態に係る再符号化方法を実施するために必要な機能を列挙したが、これらの機能のうち一部又は全部をソフトウェアに頼らずハードウェアのみで実現するようにしてもよい。
また、実施形態では、簡易量子化部１２１が新量子化ステップサイズで量子化している最中に、必要に応じて、調整部１２７がこの新量子化ステップサイズを大きくしたり小さくするなどの調整を行っていた。この新量子化ステップサイズはもともとは元量子化ステップサイズよりも大きい値であったが、調整部１２７による調整の結果、調整後の新量子化ステップサイズが元量子化ステップサイズよりも小さくなってしまう場合もあり得る。ただし、再符号化してデータ量を小さくするという目的に鑑みると、上記のような特殊な現象は一時的に限定された期間しか発生しないはずであり、それ以外の期間においては、元量子化ステップサイズよりも大きい新量子化ステップサイズを用いて量子化するという事実があることに変わりはない。従って、仮に調整後の新量子化ステップサイズが元量子化ステップサイズよりも一時的に小さくなってしまうような場合を含む実施態様があったとしても、「特許請求の範囲」における「前記簡易逆量子化手段によって求められた簡易量子化係数を、前記量子化ステップサイズよりも大きい量子化ステップサイズを用いて量子化する簡易量子化手段」の範囲に上記実施態様は含まれるものとする。
なお、上述した再符号化プログラムＰＲＧは、磁気テープ、磁気ディスク、フロッピー（登録商標）ディスク、光記録媒体、光磁気記録媒体、ＣＤ（Compact Disk）−ＲＯＭ、ＤＶＤ、ＲＡＭなどの記録媒体に記録した状態で提供し得る。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施形態における再符号化方法の概要を示す模式図である。
【図２】同実施形態で用いるＶＬＣテーブルの内容の一例を示す図である。
【図３】同実施形態に係る再符号化装置のハードウェア構成を示すブロック図である。
【図４】同再符号化装置の機能構成を示すブロック図である。
【図５】ビット列を再符号化する場合の一例を示す図である。
【図６】ブロックを構成するデータの種類を表す図である。
【図７】再符号化処理中において、再符号化する前の符号化データのデータ量と、再符号化した後の符号化データのデータ量との関係を表した模式図である。
【図８】ＭＰＥＧ符号化されたデータの構造を表す図である。
【図９】従来の再符号化方法の概要を示す模式図である。
【符号の説明】
【００４０】
１００・・・再符号化装置、１１０・・・簡易復号部、１１１・・・バッファ部、１１２・・・逆符号化部、１１３・・・分離部、１１４・・・簡易逆量子化部、１２０・・・簡易符号化部、１２１・・・簡易量子化部、１２２・・・多重化部、１２３・・・符号化部、１２４・・・データ量監視部、１２５・・・・目標値記憶部。
【図１】
2005311714.tif 000003
【図２】
2005311714.tif 000004
【図３】
2005311714.tif 000005
【図４】
2005311714.tif 000006
【図５】
2005311714.tif 000007
【図６】
2005311714.tif 000008
【図７】
2005311714.tif 000009
【図８】
2005311714.tif 000010
【図９】
2005311714.tif 000011