(57)【特許請求の範囲】
【請求項１】
ＩＳＯ／ＩＥＣ  １３８１８−２により符号化されたビットストリームを入力データとし、
ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義される１６種類の可変長符号シンボルのすベて、あるいは１６種類の可変長符号シンボルのうちの１種類以上の任意の個数のシンボルを再圧縮対象シンボルとして、
該入力データを再圧縮する方法であって、
該入力データを該再圧縮対象シンボルのデータとその他のデータとに分離するステップと、
該再圧縮対象シンボルのデータを再圧縮するに当り、該可変長符号シンボルごとに、各可変長符号シンボルの各インデックスに対応する符号の発生頻度を算出するステップとを実行し、
再圧縮する際に、前記各可変長符号シンボルごとの各インデックスの発生頻度を元に、前記入力データ中の再圧縮対象シンボルを、算術符号を用いるか、あるいは前記発生頻度を元に可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、再符号化する方法において、
入力データの内、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１４および表Ｂ−１５で定義されるＤＣＴ係数の二次元可変長符号シンボルを再圧縮対象シンボルとする時、
該二次元可変長符号シンボルを復号することによりその時点のジグザグスキャン位置を算出し、記録するステップと、
該ジグザグスキャン位置ごとに、前記二次元可変長符号シンボルの各インデックスに対応する符号の発生頻度を算出するステップとを実行し、
再圧縮する際に、前記ジグザグスキャン位置ごとの該二次元可変長符号シンボルの各インデックスの発生頻度を元に、前記入力データ中の再圧縮対象シンボルを、算術符号を用いるか、あるいは前記発生頻度を元に可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、再符号化する
ことを特徴とする符号化データ再圧縮方法。
【請求項２】
ＩＳＯ／ＩＥＣ  １３８１８−２により符号化されたビットストリームを入力データとし、
ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義される１６種類の可変長符号シンボルのすベて、あるいは１６種類の可変長符号シンボルのうちの１種類以上の任意の個数のシンボルを再圧縮対象シンボルとして、
該入力データを再圧縮する方法であって、
該入力データを該再圧縮対象シンボルのデータとその他のデータとに分離するステップと、
該再圧縮対象シンボルのデータを再圧縮するに当り、該可変長符号シンボルごとに、各可変長符号シンボルの各インデックスに対応する符号の発生頻度を算出するステップとを実行し、
再圧縮する際に、前記各可変長符号シンボルごとの各インデックスの発生頻度を元に、前記入力データ中の再圧縮対象シンボルを、算術符号を用いるか、あるいは前記発生頻度を元に可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、再符号化する方法において、
入力データの内、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１４および表Ｂ−１５で定義されるＤＣＴ係数の二次元可変長符号シンボルを再圧縮対象シンボルとする時、
該ＤＣＴ係数を量子化した際の量子化ステップを復号し、記録するステップと、
該量子化ステップごとに、該二次元可変長符号シンボルの各インデックスに対応する符号の発生頻度を算出するステップとを実行し、
再圧縮する際に、前記量子化ステップごとの前記ＤＣＴ係数二次元可変長符号シンボルの各インデックスの発生頻度を元に、前記入力データ中の再圧縮対象シンボルを、算術符号を用いるか、あるいは前記発生頻度を元に可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、再符号化する
ことを特徴とする符号化データ再圧縮方法。
【請求項３】
請求項１により再圧縮されたデータを入力データとし、これを前記ビットストリームに復元する方法であって、
入力データを、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義される可変長符号シンボルが算術符号化を用いて再圧縮されたデータである復元対象データと、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義されるシンボル以外のデータである非復元対象データとに分離するステップと、
復元器における前記可変長符号シンボルの各インデックスの発生頻度を元に、該復元対象データに算術復号を行うか、あるいは可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして可変長復号を行い、対応する該可変長符号シンボルのインデックスを算出するステップと、あわせて該シンボルの発生頻度を更新するステップと、
ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６のうち、該可変長符号シンボルに対応する表に従って、該算出されたインデックスに対応する可変長符号を算出するステップとを実行し、
該可変長符号と非復元対象データとを多重化し、ＩＳＯ／ＩＥＣ  １３８１８−２に従ったビットストリームとして出力する方法において、
入力データの内、算術符号化を用いて再圧縮されたＤＣＴ変換係数のデータを復元するに当り、その時点のジグザグスキャン位置を算出し、記録するステップと、
ジグザグスキャン位置ごとの二次元可変長符号シンボルの各インデックスの発生頻度を元に、該ＤＣＴ変換係数データを算術復号を行うか、あるいは可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして可変長復号を行い、対応する二次元可変長符号のインデックスを算出するステップと、
あわせて該ジグザグスキャン位置ごとの二次元可変長符号シンボルの各インデックスの発生頻度を更新するステップと、
ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１４あるいは表Ｂ−１５に示される表に従って、前記算出されたインデックスに対応する二次元可変長符号を出力するステップとを実行する
ことを特徴とする符号化データ復元方法。
【請求項４】
請求項２により再圧縮されたデータを入力データとし、これを前記ビットストリームに復元する方法であって、
入力データを、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義される可変長符号シンボルが算術符号化を用いて再圧縮されたデータである復元対象データと、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義されるシンボル以外のデータである非復元対象データとに分離するステップと、
復元器における前記可変長符号シンボルの各インデックスの発生頻度を元に、該復元対象データに算術復号を行うか、あるいは可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして可変長復号を行い、対応する該可変長符号シンボルのインデックスを算出するステップと、あわせて該シンボルの発生頻度を更新するステップと、
ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６のうち、該可変長符号シンボルに対応する表に従って、該算出されたインデックスに対応する可変長符号を算出するステップとを実行し、
該可変長符号と非復元対象データとを多重化し、ＩＳＯ／ＩＥＣ  １３８１８−２に従ったビットストリームとして出力する方法において、
入力データの内、算術符号化を用いて再圧縮されたＤＣＴ変換係数のデータを復元するに当り、該ＤＣＴ変換係数の量子化ステップを算出し、記録するステップと、
該量子化ステップごとの二次元可変長符号シンボルの各インデックスの発生頻度を元に、該ＤＣＴ変換係数データを算術復号を行うか、あるいは可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、可変長復号を行い、対応する二次元可変長符号のインデックスを算出するステップと、
あわせて該量子化ステップごとの二次元可変長符号シンボルの各インデックスの発生頻度を更新するステップと、
ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１４あるいは表Ｂ−１５に示される表に従って、前記算出されたインデックスに対応する二次元可変長符号を出力するステップとを実行する
ことを特徴とする符号化データ復元方法。
【請求項５】
ＩＳＯ／ＩＥＣ  １３８１８−２により符号化されたビットストリームを入力データとし、
ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義される１６種類の可変長符号シンボルのすベて、あるいは１６種類の可変長符号シンボルのうちの１種類以上の任意の個数のシンボルを再圧縮対象シンボルとして、入力データを再圧縮する方法について、
コンピュータに
該入力データを該再圧縮対象シンボルのデータとその他のデータとに分離するステップと、
該再圧縮対象シンボルのデータを再圧縮するに当り、該可変長符号シンボルごとに、各可変長符号シンボルの各インデックスに対応する符号の発生頻度を算出するステップとを実行させ、
再圧縮する際に、前記各可変長符号シンボルごとの各インデックスの発生頻度を元に、前記入力データ中の再圧縮対象シンボルを、算術符号を用いるか、あるいは前記発生頻度を元に可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、再符号化させ、かつ
入力データの内、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１４および表Ｂ−１５で定義されるＤＣＴ係数の二次元可変長符号シンボルを再圧縮対象シンボルとする時、
該二次元可変長符号シンボルを復号することによりその時点のジグザグスキャン位置を算出し、記録するステップと、
該ジグザグスキャン位置ごとに、前記二次元可変長符号シンボルの各インデックスに対応する符号の発生頻度を算出するステップとを実行させ、
再圧縮する際に、前記ジグザグスキャン位置ごとの該二次元可変長符号シンボルの各インデックスの発生頻度を元に、前記入力データ中の再圧縮対象シンボルを、算術符号を用いるか、あるいは前記発生頻度を元に可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、再符号化させる
手順からなるデータを再圧縮する方法を実行させるためのプログラムを記録した記録媒体。
【請求項６】
ＩＳＯ／ＩＥＣ  １３８１８−２により符号化されたビットストリームを入力データとし、
ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義される１６種類の可変長符号シンボルのすベて、あるいは１６種類の可変長符号シンボルのうちの１種類以上の任意の個数のシンボルを再圧縮対象シンボルとして、入力データを再圧縮する方法について、
コンピュータに
該入力データを該再圧縮対象シンボルのデータとその他のデータとに分離するステップと、
該再圧縮対象シンボルのデータを再圧縮するに当り、該可変長符号シンボルごとに、各可変長符号シンボルの各インデックスに対応する符号の発生頻度を算出するステップとを実行させ、
再圧縮する際に、前記各可変長符号シンボルごとの各インデックスの発生頻度を元に、前記入力データ中の再圧縮対象シンボルを、算術符号を用いるか、あるいは前記発生頻度を元に可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、再符号化させ、かつ
入力データの内、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１４および表Ｂ−１５で定義されるＤＣＴ係数の二次元可変長符号シンボルを再圧縮対象シンボルとする時、
該ＤＣＴ係数を量子化した際の量子化ステップを復号し、記録するステップと、
該量子化ステップごとに、該二次元可変長符号シンボルの各インデックスに対応する符号の発生頻度を算出するステップとを実行させ、
再圧縮する際に、前記量子化ステップごとの前記ＤＣＴ係数二次元可変長符号シンボルの各インデックスの発生頻度を元に、前記入力データ中の再圧縮対象シンボルを、算術符号を用いるか、あるいは前記発生頻度を元に可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、再符号化させる
手順からなるデータを再圧縮する方法を実行させるためのプログラムを記録した記録媒体。
【請求項７】
請求項１により再圧縮されたデータを入力データとし、これを前記ビットストリームに復元する方法について、
コンピュータに
該入力データを、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義される可変長符号シンボルが算術符号化を用いて再圧縮されたデータである復元対象データと、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義されるシンボル以外のデータである非復元対象データとに分離するステップと、
復元器における前記可変長符号シンボルの各インデックスの発生頻度を元に、該復元対象データに算術復号を行うか、あるいは可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、可変長復号を行い、対応する該可変長符号シンボルのインデックスを算出するステップと、あわせて該シンボルの発生頻度を更新するステップと、
ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６のうち、該可変長符号シンボルに対応する取決めに従って、該算出されたインデックスに対応する可変長符号を算出するステップとを実行させ、
該可変長符号と非復元対象データとを多重化し、ＩＳＯ／ＩＥＣ  １３８１８−２によりビットストリームとして出力させ、かつ
入力データの内、算術符号化を用いて再圧縮されたＤＣＴ変換係数のデータを復元するに当り、その時点のジグザグスキャン位置を算出し、記録するステップと、
ジグザグスキャン位置ごとの二次元可変長符号シンボルの各インデックスの発生頻度を元に、該ＤＣＴ変換係数データを算術復号を行うか、あるいは可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、可変長復号を行い、対応する二次元可変長符号のインデックスを算出するステップと、
あわせて該ジグザグスキャン位置ごとの二次元可変長符号シンボルの各インデックスの発生頻度を更新するステップと、
ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１４あるいは表Ｂ−１５に示される表に従って、前記算出されたインデックスに対応する二次元可変長符号を出力するステップとを実行させる
手順からなるビットストリームを復元する方法を実行させるためのプログラムを記録した記録媒体。
【請求項８】
請求項２により再圧縮されたデータを入力データとし、これを前記ビットストリームに復元する方法について、
コンピュータに
該入力データを、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義される可変長符号シンボルが算術符号化を用いて再圧縮されたデータである復元対象データと、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義されるシンボル以外のデータである非復元対象データとに分離するステップと、
復元器における前記可変長符号シンボルの各インデックスの発生頻度を元に、該復元対象データに算術復号を行うか、あるいは可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、可変長復号を行い、対応する該可変長符号シンボルのインデックスを算出するステップと、あわせて該シンボルの発生頻度を更新するステップと、
ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６のうち、該可変長符号シンボルに対応する取決めに従って、該算出されたインデックスに対応する可変長符号を算出するステップとを実行させ、
該可変長符号と非復元対象データとを多重化し、ＩＳＯ／ＩＥＣ  １３８１８−２によりビットストリームとして出力させ、かつ
入力データの内、算術符号化を用いて再圧縮されたＤＣＴ変換係数のデータを復元するに当り、該ＤＣＴ変換係数の量子化ステップを算出し、記録するステップと、
該量子化ステップごとの二次元可変長符号シンボルの各インデックスの発生頻度を元に、該ＤＣＴ変換係数データを算術復号を行うか、あるいは可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、可変長復号を行い、対応する二次元可変長符号のインデックスを算出するステップと、
あわせて該量子化ステップごとの二次元可変長符号シンボルの各インデックスの発生頻度を更新するステップと、
ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１４あるいは表Ｂ−１５に示される表に従って、前記算出されたインデックスに対応する二次元可変長符号を出力するステップとを実行させる
手順からなるビットストリームを復元する方法を実行させるためのプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化データの再圧縮方法および再圧縮されたデータの復元方法ならびにコンピュータにそれらの方法を実行させるためのプログラムを記録した記録媒体に関するものである。
【０００２】
【従来の技術】
ＩＳＯ／ＩＥＣ  １３８１８−２（ＭＰＥＧ−２）は動画像圧縮標準として有用な符号化方式であり、放送、ＤＶＤメディアヘの映像の蓄積など、幅広い分野に利用されている。当該ＭＰＥＧ−２においては、動画像信号の時間的冗長度を動き補償予測により抑圧し、その予測差分信号の空間的冗長度を離散コサイン変換（ＤＣＴ）符号化により抑圧する。ＭＰＥＧ−２における符号量の大半はＤＣＴ変換係数を符号化するために費される。
【０００３】
ＭＰＥＧ−２では、予測差分画像を８×８の矩形領域に分割し、該矩形領域内の画素値に対してＤＣＴを施すことで、ＤＣＴ変換係数を算出し、これを量子化してレベルを算出する。
【０００４】
量子化された前記ＤＣＴ変換係数に対してジグザグスキャンと呼ばれる順序で、低周波成分から高周波に向かって一次元に並べ替えられる。その上で、ゼロ係数の継続個数ラン（ＲＵＮ）と、それに続く非ゼロ係数のレベル（ＬＥＶＥＬ）との組合せに対して、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内（動画像圧縮標準としての符号化方式において示されるもの）の表Ｂ−１４に示される発生頻度に応じた可変長符号化を用いて符号化がなされる。
【０００５】
イントラマクロブロックあるいは、フレーム内符号化を行うフレームに関しては、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１５に示される可変長符号を用いて同様に符号化がなされる。
【０００６】
そして、最後の非ゼロ係数の後には、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１４あるいは表Ｂ−１５に記載される End of Block （ＥＯＢ）とよばれる符号が付与される。ＥＯＢは該矩形単位の変換係数の符号が終了したことを示す符号である。
【０００７】
ＭＰＥＧ−２の符号化方法の概略を図１に示す。
図中の符号１は符号化対象画像、３はＭＰＥＧ２符号化データ、２４は動きベクトル符号化部、２５は動きベクトル符号化データ、６２はブロック分割部、６３はマクロブロック、６５は参照画像、６６は動き予測部、６７は動きベクトル、６８は動き補償部、６９は動き補償予測ブロック、７０は減算器、７１は動き補償予測誤差、７２はＤＣＴ部、７３はＤＣＴ変換係数、７４は量子化部、７５は量子化後変換係数、７６は係数符号化部、７７は可変長符号化データ、７８は多重化部、７９は逆量子化部、８０は量子化代表値、８１は逆ＤＣＴ部、８２は復号差分ブロック、８３は加算器、８４は局部復号ブロック、８５はフレームメモリを表している。
【０００８】
まず、符号化対象画像１はブロック分割部６２に入力され１６画素×１６ラインのマクロブロック６３に分割される。
【０００９】
動き予測部６６では、ブロック分割部６２より入力される各マクロブロック６３ごとに、フレームメモリ８５より入力される参照画像６５との間の動き量を検出し、得られた動きベクトル６７を動き補償部６８に送る。ここで、各マクロブロック６３の動きベクトル６７は、参照画像６５において、着目マクロブロックとのマッチング度が最も高いブロックの座標と着目マクロブロックの座標との変位として表される。
【００１０】
次に、動き補償部６８では、各マクロブロックの動きベクトル６７とフレームメモリ８５に蓄積された参照画像６５とから動き補償予測ブロック６９を生成する。ここで得られた動き補償予測ブロック６９はマクロブロック６３と共に減算器７０に入力される。両者の差分すなわち動き補償予測誤差７１は、ＤＣＴ部７２にてＤＣＴが施され、ＤＣＴ変換係数７３を量子化部７４に出力する。ここで、ＤＣＴのブロックサイズは８×８である。量子化部７４ではＤＣＴ変換係数７３が量子化され、量子化後変換係数７５となる。量子化後変換係数７５は係数符号化部７６において二次元可変長圧縮符号化され、可変長符号化データ７７として多重化部７８に出力される。一方、動きベクトル６７は動きベクトル符号化部２４において符号化され、得られた動きベクトル符号化データ２５は可変長符号化データ７７と共に多重化部７８にて多重化され、ＭＰＥＧ２符号化データ３として伝送される。
【００１１】
なお、復号器と同じ復号画像を符号化器内でも得るため、量子化後変換係数７５は逆量子化部７９にて量子化代表値８０に戻され、逆ＤＣＴ部８１で逆ＤＣＴを施されることにより、復号差分ブロック８２となる。復号差分ブロック８２と動き補償予測ブロック６９とは加算器８３で加算され、局部復号ブロック８４となる。この局部復号ブロック８４はフレームメモリ８５に局部復号画像として蓄積され、次のフレームの符号化時に参照画像として用いられる。
【００１２】
【発明が解決しようとする課題】
ＭＰＥＧ−２は高効率な画像符号化方式であるが、可変長符号を採用しているため、エントロピーと比較して平均符号長が長くなり、符号化効率が低減する。
【００１３】
また、ＭＰＥＧ−２では、イントラマクロブロックとインターマクロブロックとで、別の可変長符号化テーブルを用いて符号化する事ができるが、画像の特性に応じて符号化テーブルを切替える事が出来ない。このため、動きの多い映像を符号化するときの予測差分画像と動きの少ない映像の予測差分画像、あるいは、空間的な解像度の高い映像を符号化するときとぼけた映像を符号化するときなど、明らかに映像の特性が異なる場合や、
あるいは、異なる符号化レートで映像を符号化する場合など、
予測差分信号に対応する符号化データである、ＲＵＮとＬＥＶＥＬの二次元可変長符号の発生頻度とに偏りがある場合でも、同一の可変長符号化テーブルを用いて符号化がなされる。このため、エントロピーと比較して可変長符号の平均符号長が長くなる。
【００１４】
さらに、ＭＰＥＧ−２では、その標準化の際に、ハードウェア化を考慮し、なるべく複雑な処理を行わないよう標準化されたため、ある矩形ブロックのＤＣＴ変換係数を二次元可変長符号化するに当り、該矩形ブロックの量子化ステップや、ジグザグスキャンのスキャン位置などを考慮したＲＵＮとＬＥＶＥＬの符号化は行われず、固定された可変長符号化テーブルを利用して符号化されている。このため、符号化効率が低減する。
【００１５】
本発明の目的は、上記の問題点を解決し、任意のＭＰＥＧ−２符号化データをそのシンタックスに従って解析し、再圧縮対象シンボルを算術符号を用いるか、あるいは動的に可変長符号を生成して、再圧縮する方法、および、該再圧縮されたデータを復号する事により、その復号データとして、前記ＭＰＥＧ−２符号化データを出力する復元方法を提供することにある。
【００１６】
【課題を解決するための手段】
本発明は、上記の問題点を解決するためになされたものであり、以下に述べるような手段を採用している。例えばＩＳＯ／ＩＥＣ  １３８１８−２により符号化されたビットストリームを入力データとし、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義される１６種類の可変長符号シンボルのすべて、あるいは１６種類の可変長符号シンボルのうちの１種類以上の任意の個数のシンボルを再圧縮対象シンボルとして、該入力データを再圧縮する方法であって、該入力データを該再圧縮対象シンボルのデータとその他のデータとに分離するステップと、該再圧縮対象シンボルのデータを再圧縮するに当り、該可変長符号シンボルごとに、各可変長符号シンボルの各インデックスに対応する符号の発生頻度を算出するステップとを実行し、再圧縮する際に、前記各可変長符号シンボルごとの各インデックスの発生頻度を元に、前記入力データ中の再圧縮対象シンボルを、算術符号を用いるか、あるいは前記発生頻度を元に可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、再符号化する事を特徴とする符号化データ再圧縮方法である。
【００１７】
即ち、請求項１に記載の符号化データ再圧縮方法においては、段落〔００１６〕の方法において、入力データの内、例えばＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１４および表Ｂ−１５で定義されるＤＣＴ係数の二次元可変長符号シンボルを再圧縮対象シンボルとする時、該二次元可変長符号シンボルを復号することによりその時点のジグザグスキャン位置を算出し、記録するステップと、該ジグザグスキャン位置ごとに、前記二次元可変長符号シンボルの各インデックスに対応する符号の発生頻度を算出するステップとを実行し、再圧縮する際に、前記ジグザグスキャン位置ごとの該二次元可変長符号シンボルの各インデックスの発生頻度を元に、前記入力データ中の再圧縮対象シンボルを、算術符号を用いるか、あるいは前記発生頻度を元に可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、再符号化する事を特徴とする。
【００１８】
請求項２に記載の符号化データ再圧縮方法においては、段落〔００１６〕の方法において、入力データの内、例えばＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１４および表Ｂ−１５で定義されるＤＣＴ係数の二次元可変長符号シンボルを再圧縮対象シンボルとする時、該ＤＣＴ係数を量子化した際の量子化ステップを復号し、記録するステップと、該量子化ステップごとに、該二次元可変長符号シンボルの各インデックスに対応する符号の発生頻度を算出するステップとを実行し、再圧縮する際に、前記量子化ステップごとの前記ＤＣＴ係数二次元可変長符号シンボルの各インデックスの発生頻度を元に、前記入力データ中の再圧縮対象シンボルを、算術符号を用いるか、あるいは前記発生頻度を元に可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、再符号化する事を特徴とする。
【００１９】
また本発明は、再圧縮されたデータを入力データとし、これを前記ビットストリームに復元する方法であって、入力データを、例えばＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義される可変長符号シンボルが算術符号化を用いて再圧縮されたデータである復元対象データと、例えばＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義されるシンボル以外のデータである非復元対象データとに分離するステップと、復元器における前記可変長符号シンボルの各インデックスの発生頻度を元に、該復元対象データに算術復号を行うか、あるいは可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして可変長復号を行い、対応する該可変長符号シンボルのインデックスを算出するステップと、あわせて該シンボルの発生頻度を更新するステップと、例えばＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６のうち、該可変長符号シンボルに対応する表に従って、該算出されたインデックスに対応する可変長符号を算出するステップとを実行し、該可変長符号と非復元対象データとを多重化し、ＩＳＯ／ＩＥＣ  １３８１８−２に従ったビットストリームとして出力することを特徴とする符号化データ復元方法を採用している。
【００２０】
即ち、請求項１により再圧縮されたデータを入力データとし、これを前記ビットストリームに復元する方法であって、段落〔００１９〕の方法の下で、入力データの内、算術符号化を用いて再圧縮されたＤＣＴ変換係数のデータを復元するに当り、その時点のジグザグスキャン位置を算出し、記録するステップと、ジグザグスキャン位置ごとの二次元可変長符号シンボルの各インデックスの発生頻度を元に、該ＤＣＴ変換係数データを算術復号を行うか、あるいは可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして可変長復号を行い、対応する二次元可変長符号のインデックスを算出するステップと、あわせて該ジグザグスキャン位置ごとの二次元可変長符号シンボルの各インデックスの発生頻度を更新するステップと、例えばＩＳＯ／ＩＥＣ  Appendix  Ｂ内の表Ｂ−１４あるいは表Ｂ−１５に示される表に従って、前記算出されたインデックスに対応する二次元可変長符号を出力するステップとを実行することを特徴とする符号化データ復元方法である。
【００２１】
そして請求項２により再圧縮されたデータを入力データとし、これを前記ビットストリームに復元する方法であって、段落〔００１９〕の方法の下で、入力データの内、算術符号化を用いて再圧縮されたＤＣＴ変換係数のデータを復元するに当り、該ＤＣＴ変換係数の量子化ステップを算出し、記録するステップと、該量子化ステップごとの二次元可変長符号シンボルの各インデックスの発生頻度を元に、該ＤＣＴ変換係数データを算術復号を行うか、あるいは可変長符号化テーブルを再生成し該可変長符号化テーブルを用いるかして、可変長復号を行い、対応する二次元可変長符号のインデックスを算出するステップと、あわせて該量子化ステップごとの二次元可変長符号シンボルの各インデックスの発生頻度を更新するステップと、ＩＳＯ／ＩＥＣ  Appendix  Ｂ内の表Ｂ−１４あるいは表Ｂ−１５に示される表に従って、前記算出されたインデックスに対応する二次元可変長符号を出力するステップとを実行することを特徴とする符号化データ復元方法である。
【００２２】
本発明にもとづいて、ＭＰＥＧ−２符号化データを再圧縮する事により、符号化データのデータ量が低減し、映像の配信、通信の帯域幅を有効に利用する事が可能になるばかりでなく、蓄積する際にも同容量の蓄積メディアに、より長い映像を記録するか、あるいは、より高画品質の映像を記録する事が可能となる。
【００２３】
また、再圧縮器にて再圧縮されたデータを復元器において復元する事により、再圧縮器に入力されたデータを完全に再現する事が可能であるため、本手法により、再圧縮、復元を行っても画品質にロスはない。
【００２４】
【発明の実施の形態】
以下、本発明の実施例を説明する。図２に、本発明に係る画像符号化方法の全体的な流れを示す。
【００２５】
図中の符号１は符号化対象画像、２はＭＰＥＧ２符号化器、３は符号化データ、４は再圧縮器、５は再圧縮データ、６は復元器、７は解凍後ＭＰＥＧ２データ、８はＭＰＥＧ２復号器、９は復号映像を表している。
【００２６】
入力画像あるいは動き補償予測差分画像などの符号化対象画像１は、ＭＰＥＧ２符号化器２で符号化され、ＭＰＥＧ２符号化データ３として、再圧縮器４に出力される。再圧縮器４は請求項１および請求項２に記載の発明の一実施例における再圧縮器である。再圧縮器４では、ＭＰＥＧ２符号化データ３が再圧縮され、再圧縮データ５が出力される。
【００２７】
再圧縮データ５は、請求項１および請求項２に記載の発明によりＭＰＥＧ２符号化データ３がさらに圧縮されたデータである。このデータ量は再圧縮前のデータ量より少ないため、映像データをこの再圧縮データ５として蓄積、伝送することにより、映像の配信、通信の帯域幅を有効に利用する事が可能になるばかりでなく、蓄積する際にも同容量の蓄積メディアに、より長い映像を記録するか、あるいは、より高画品質の映像を記録する事が可能となる。
【００２８】
再圧縮データ５は、復元器６により展開され、解凍後ＭＰＥＧ２データ７となる。解凍後ＭＰＥＧ２データ７は、ＭＰＥＧ２符号化データ３とまったく同一の符号化データであるため、いずれのＭＰＥＧ２のデータをＭＰＥＧ２復号器８で復号した場合も、同一の復号映像９を得る事が出来る。
【００２９】
図３は、請求項１および請求項２に記載の発明の一実施例における再圧縮器の流れとともに、再圧縮器４の構成を示す図である。
【００３０】
図中の符号３，４，５は図２に対応しており、３９はへッダ復号部、４０は解析後データ、４１は再圧縮シンボル分離部、４２は量子化ステップ値、４３は量子化ステップ値記憶部、４４はジグザグスキャン位置、４５はスキャン位置記憶部、４６は再圧縮対象データ、４７は可変長符号データ分離部、４８は非再圧縮対象データ、４９は多重化部、５０は再圧縮シンボル、５１は発生頻度算出部、５２は算術符号化部、５３は発生頻度、５４はジグザグスキャン位置、５５は量子化ステップ値、５６は算術符号を表している。
【００３１】
入力データであるＭＰＥＧ２符号化データ３がへッダ復号部３９に入力される。へッダ復号部３９では、ＩＳＯ／ＩＥＣ  １３８１８−２で定義されるシンタックスに従い、前記入力データの解析および復号が行われる。解析された符号化データは解析後データ４０として、再圧縮シンボル分離部４１に出力される。このとき、へッダ復号部３９では、前記入力データのうち、量子化ステップのデータを復号し、再圧縮対象マクロブロックの量子化ステップ値４２を算出し、量子化ステップ値記憶部４３に出力する。同時に、ＤＣＴ変換係数の符号化データを再圧縮するに当り、その二次元可変長符号を復号し、各二次元可変長符号のＲＵＮの値を加算することにより、該二次元可変長符号復号時のジグザグスキャン位置４４を算出し、該ジグザグスキャン位置４４を、スキャン位置記憶部４５に出力する。
【００３２】
再圧縮シンボル分離部４１では、解析後データ４０のうち、再圧縮を行うシンボルと、それ以外のシンボルに分離を行う。再圧縮を行うシンボルは、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義される可変長符号シンボルであり、これらのデータは、再圧縮対象データ４６として、可変長符号データ分離部４７に出力される。それ以外の符号化データは、固定長符号であれ可変長符号であれ、そのままの形で非再圧縮対象データ４８として、多重化部４９に出力される。
【００３３】
再圧縮対象データ４６は、可変長符号データ分離部４７において、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂに定義される１６種類の再圧縮シンボル５０に分離される。該再圧縮シンボル５０は以下の１６のシンボルであり、これらは発生頻度算出部５１内の対応する回路、および算術符号化部５２に出力される。この１６種類の全てを符号化対象シンボルにしても構わないし、あるいは、このうち幾つかを再圧縮の対象シンボルにしても構わない。
0003712919.tif 000002
この１６種類の再圧縮シンボル５０−１から再圧縮シンボル５０−１６は、発生頻度算出部５１内の発生頻度算出部５１−１から発生頻度算出部５１−１６にそれぞれ入力され、ここで各該再圧縮対象シンボルの発生頻度を各該発生頻度算出部でそれぞれ算出し、これを発生頻度５３−１から発生頻度５３−１６として対応する算術符号化部５２に出力する。
【００３４】
該発生頻度の算出方法としては、以下の３つの方法が考えられる。
〔方法１〕ＭＰＥＧ２符号化データ３内の全フレームから前もって各再圧縮シンボルの発生頻度を算出しておく。
〔方法２〕ＭＰＥＧ２符号化データ３において、現在再圧縮中のフレームから、再圧縮器・復元器間で前もって決められた、あるフレーム枚数分前までのフレームにおける発生頻度を用いる。
〔方法３〕ＭＰＥＧ２符号化データ３内の最初のフレームから、現在再圧縮中のフレームまでの発生頻度を用いる。
【００３５】
方法１から方法３の、いずれの方法を用いた場合も、再圧縮器４と復元器６とで前もって、該発生頻度の算出方法が同一の方法に決定されておれば良い。なお、方法１を採用した場合には、前もって算出された全フレームを通しての各再圧縮シンボルの発生頻度を、再圧縮データ５の中に符号化し、復元器６に伝送する必要がある。本明細書では、方法３を採用する事を想定して説明するが、方法１ないし方法３のいずれの方法を採用した場合にも、本発明を適用できる事は明白である。
【００３６】
ＤＣＴ変換係数の二次元可変長符号データである、再圧縮シンボル５０−１４および再圧縮シンボル５０−１５は、ＭＰＥＧ２符号化データ３のデータ量の大半を占める。このため、他の再圧縮シンボル５０−１から再圧縮シンボル５０−１３、および再圧縮シンボル５０−１６と同様に発生頻度を算出して後段の算術符号化部に出力しても良いが、以下に示す方法で、さらなる再圧縮を行っても良い。
【００３７】
第一の方法は、発生頻度算出部５１−１４あるいは発生頻度算出部５１−１５に、それぞれ再圧縮シンボル５０−１４あるいは再圧縮シンボル５０−１５が入力されたとき、スキャン位置記憶部４５から入力される、現在再圧縮中の矩形領域のジグザグスキャン位置５４に応じて、該ジグザグスキャン位置ごとにそれぞれ発生頻度５３−１４あるいは発生頻度５３−１５を算出する。
【００３８】
ＭＰＥＧ−２では、二種類のジグザグスキャンが定義されているが、そのうちの一つを図４に示す。シグザグスキャン位置５４とは、図４に示すジグザグスキャン順に、より低周波成分から高周波に向かって一次元に並べ替えられた０番から６３番の位置である。現在再圧縮中の矩形領域（ブロック）のジグザグスキャン位置５４に応じて、該ジグザグスキャン位置ごとに発生頻度を数えることは、すなわち具体的には、
ジグザグスキャン位置が０の時の、二次元可変長符号シンボルの各インデックスごとの発生頻度、
ジグザグスキャン位置が１の時の、二次元可変長符号シンボルの各インデックスごとの発生頻度、
ジグザグスキャン位置が２，３，…，６３の時の、二次元可変長符号シンボルの各インデックスごとの発生頻度、
を、それぞれ別々に算出し、後段の算術符号化部５２に出力する。
【００３９】
第二の方法は、発生頻度算出部５１−１４あるいは発生頻度算出部５１−１５に、それぞれ、再圧縮シンボル５０−１４あるいは再圧縮シンボル５０−１５が、入力されたとき、量子化ステップ値記憶部４３から入力される、再圧縮対象マクロブロックの量子化ステップ値５５に応じて該量子化ステップ値ごとに発生頻度を数える。つまり、
量子化ステップ値が１の時の、二次元可変長符号シンボルの各インデックスごとの発生頻度、
量子化ステップ値が２の時の、二次元可変長符号シンボルの各インデックスごとの発生頻度、
量子化ステップ値が３，…，６３の時の、二次元可変長符号シンボルの各インデックスごとの発生頻度、
を、それぞれ別々に算出し、後段の算術符号化部５２に出力する。
【００４０】
算術符号化部５２では、発生頻度算出部５１から入力される、各再圧縮シンボルの発生頻度５３を用いて、再圧縮シンボル５０が算術符号化され、算術符号５６として多重化部４９に出力される。算術符号化時の確率の更新には対応する発生頻度算出部５１より出力される発生頻度を用いる。多重化部４９では、入力された、各算術符号５６と、非再圧縮対象データ４８を多重化し、再圧縮データ５として出力する。
【００４１】
図５は、請求項３および請求項４に記載の発明の一実施例における復元器の流れとともに、復元器６の構成を示す図である。
【００４２】
図中の符号５，６，７は図２に対応しており、１０１はへッダ復号部、１０２は解析後データ、１０３は復元シンボル分離部、１０４は量子化ステップ値、１０５は量子化ステップ値記憶部、１０６はスキャン位置算出・記憶部、１０７はジグザグスキャン位置、１０８は復元対象データ、１０９は算術復号部、１１０は非復元対象データ、１１１は多重化部、１１２は発生頻度算出部、１１３はシンボル発生頻度、１１４は算術復号データ、１１５は可変長符号化部、１１７は量子化ステップ値、１１８は二次元可変長符号を表している。
【００４３】
入力データである再圧縮データ５が、へッダ復号部１０１に入力される。へッダ復号部１０１では、前記入力データの解析および復号が行われる。解析されたデータは解析後データ１０２として、復元シンボル分離部１０３に出力される。
【００４４】
再圧縮器４において、算術符号化を用いて再圧縮された、ＤＣＴ変換係数の符号化データを元の二次元可変長符号に復元するに当り、ヘッダ復号部１０１では、へッダ復号部３９と同様に、前記入力データのうち、量子化ステップのデータを復号し、復元対象マクロブロックの量子化ステップ値１０４を算出し、量子化ステップ値記憶部１０５に出力する。
【００４５】
復元シンボル分離部１０３では、解析後データ１０２のうち、再符号化器において算術符号化を用いて再圧縮されたデータに対して復元を行うシンボルと、それ以外のシンボルに分離を行う。復元を行うシンボルは、再圧縮器４と同様にＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂ内の表Ｂ−１から表Ｂ−１６で定義される可変長符号シンボルであり、これらのデータは、復元対象データ１０８として、算術復号部１０９に出力される。それ以外の符号化データは、非復元対象データ１１０として、多重化部１１１に出力される。
【００４６】
再圧縮対象データ１０８は、算術復号部１０９において、発生頻度算出部１１２より与えられる、各シンボル発生頻度１１３に基づいて算術復号され、復号された算術復号データ１１４は、対応する可変長符号化部１１５および、発生頻度算出部１１２に出力される。このとき、算術復号される対象のシンボルとは、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂに定義される１６個の可変長符号シンボルである。特に、算術復号データ１１４−１４，１１４−１５は、ＤＣＴ変換係数の符号化データであり、ゼロ係数の継続個数ラン（ＲＵＮ）と、それに続く非ゼロ係数のレベル（ＬＥＶＥＬ）からなる二次元のデータ列である。
【００４７】
算術復号データ１１４のうち、ＤＣＴ変換係数の符号化データである、算術復号データ１１４−１４および、算術復号データ１１４−１５に関しては、そのスキャン位置算出・記憶部１０６に出力される。スキャン位置算出・記憶部１０６では、算術復号データ１１４−１４あるいは算術復号データ１１４−１５の二次元データ列の内、“ＲＵＮ”の値を加算することにより、該二次元可変長符号復号時のジグザグスキャン位置１０７を算出し、次の再圧縮対象データ１０８を復号する際に用いるために、記憶しておく。
【００４８】
発生頻度算出部１１２では、次の再圧縮対象データ１０８を算術復号部１０９において復号するために必要な各シンボルの発生頻度の更新を行い、この更新された発生頻度を、発生頻度１１３として算術復号部１０９に出力する。
【００４９】
ＤＣＴ変換係数の各二次元可変長符号の発生頻度である、発生頻度１１３−１４および、発生頻度１１３−１５は、再圧縮器４で採用した発生頻度算出方法と同様の手法を採用して、それぞれ発生頻度算出部１１２−１４および１１２−１５で算出される。
【００５０】
すなわち、再圧縮器において、発生頻度５３−１４あるいは発生頻度５３−１５が、ジグザグスキャン位置ごとに算出されている場合は、復元器の発生頻度算出部１１２−１４，１１２−１５でも、同様にスキャン位置算出・記憶部１０６より入力されるジグザグスキャン位置１０７ごとに、発生頻度１１３−１４，１１３−１５を算出する。
【００５１】
あるいは、再圧縮器において、発生頻度５３−１４あるいは発生頻度５３−１５が、再圧縮対象マクロブロックの量子化ステップ値５５に応じて該量子化ステップ値ごとに発生頻度が算出されている場合は、復元器の発生頻度算出部１１２−１４，１１２−１５でも、同様に量子化ステップ値記憶部１０５より入力される復元対象マクロブロックの量子化ステップ値１１７に応じて発生頻度１１３−１４，１１３−１５を算出する。
【００５２】
可変長符号化部１１５では、ＩＳＯ／ＩＥＣ  １３８１８−２，Appendix  Ｂに定義される１６個の表を元に、可変長符号化部１１５にて復元されたＲＵＮおよびＬＥＶＥＬを二次元可変長符号化し、二次元可変長符号１１８を多重化部１１１に出力する。
【００５３】
多重化部１１１では、入力された、各二次元可変長符号１１８と、非復元対象データ１１０とを多重化し、ＭＰＥＧ２データ７として、出力する。
【００５４】
なお、図２および図３および図５に示した本実施例では、再圧縮器４において再圧縮シンボルを算術符号化を用いて再圧縮し、復元器６において算術復号を用いて元の符号に復元する例を示したが、算術符号化部５２を可変長符号再圧縮部とし、ここで、可変長符号化テーブルを新たに生成し、該可変長符号化テーブルを用いて、可変長符号により再圧縮を行い、
同様に、算術復号部１０９を可変長符号復元部とし、ここで、発生頻度１１３を用いて再圧縮部とまったく同様の可変長符号化テーブルを再構成し、可変長復号により復元を行う
ことも同様に可能である。
【００５５】
ＭＰＥＧ−２は高効率な画像符号化方式であるが、可変長符号を採用しているため、エントロピーと比較して平均符号長が長くなり、符号化効率が低減する。
【００５６】
また、ＭＰＥＧ−２では、画像の特性に応じて各符号化テーブルを切替える事が出来ず、二次元可変長符号の発生頻度に偏りがある場合でも、同一の可変長符号化テーブルを用いて符号化がされるため、本来のエントロピーと比較して効率が低下している。
【００５７】
上記において、符号化データ再圧縮方法および符号化データ復元方法について説明したが、これらの方法はプログラムの形で記述でき、当該記述したプログラムを記録媒体に記録しておくことができる、したがって、本発明は当該プログラムをも発明の対象とするものである。
【００５８】
【発明の効果】
以上説明したように、本発明によれば、ＭＰＥＧ−２符号化データを再圧縮する事により、符号化データのデータ量が低減し、映像の配信、通信の帯域幅を有効に利用する事が可能になるばかりでなく、蓄積する際にも同容量の蓄積メディアに、より長い映像を記録するか、あるいは、より高画品質の映像を記録する事が可能となる。
【００５９】
また、再圧縮器にて再圧縮されたデータを復元器において復元する事により、再圧縮器に入力されたデータを完全に再現する事が可能であるため、本手法により、再圧縮、復元を行っても画品質にロスはない。
【図面の簡単な説明】
【図１】ＭＰＥＧ−２の符号化方法の概略図を示す。
【図２】本発明に係る画像符号化方法の全体的な流れを示す。
【図３】  請求項１および請求項２に記載の発明の一実施例における再圧縮器の流れとともに、再圧縮器４の構成を示す図である。
【図４】ジグザグスキャン位置の一例を示す図である。
【図５】  請求項３および請求項４に記載の発明の一実施例における復元器の流れとともに、復元器６の構成を示す図である。
【符号の説明】
１：符号化対象画像
２：ＭＰＥＧ２符号化器
３：ＭＰＥＧ２符号化データ
４：再圧縮器
５：再圧縮データ
６：復元器
７：解凍後ＭＰＥＧ２データ
８：ＭＰＥＧ２復号器
９：復号映像
３９：へッダ復号部
４１：再圧縮シンボル分離部
４３：量子化ステップ値記憶部
４５：スキャン位置記憶部
４７：可変長符号データ分離部
４９：多重化部
５１：発生頻度算出部
５２：算術符号化部
【図１】
0003712919.tif 000003
【図２】
0003712919.tif 000004
【図３】
0003712919.tif 000005
【図４】
0003712919.tif 000006
【図５】
0003712919.tif 000007