(57)【特許請求の範囲】
【請求項１】
画像データの所定の単位を分割した処理単位毎に、互いに圧縮率が異なる複数の可変長圧縮モードにより圧縮することにより、前記可変長圧縮モード毎の符号量を算出する算出手段と、
算出された前記可変長圧縮モード毎の符号量及び前記画像データを固定長圧縮モードにより圧縮する際の符号量に基づいて、前記可変長圧縮モード及び前記固定長圧縮モードの中から、前記所定の単位に含まれる前記処理単位のうち、圧縮モードを選択している対象の前記処理単位までの符号量の累計が所定の符号量以下となり、且つ、量子化幅が最小となる圧縮モードを、前記処理単位毎に選択する選択手段と、
選択された前記圧縮モードにより前記処理単位の画像データを圧縮して圧縮データを生成する圧縮手段と、
を有する動画像符号化装置。
【請求項２】
前記所定の符号量は、
前記所定の単位に含まれる前記処理単位の数と、前記固定長圧縮モードにより前記所定の単位に含まれる前記処理単位に均等に符号を割り当てた場合の前記処理単位毎の符号量である平均符号量とを乗じた値を前記所定の単位に設定された目標符号量から減じた値に、前記平均符号量の値と既に圧縮モードが選択された前記処理単位の数とを乗じた値に加算した値である請求項１記載の動画像符号化装置。
【請求項３】
前記圧縮手段は、既に圧縮された前記処理単位における量子化幅に基づいて、前記選択手段が選択した圧縮モードにおける量子化幅を変更する請求項１記載の動画像符号化装置。
【請求項４】
前記圧縮手段は、可変長圧縮手段と固定長圧縮手段とを有し、
前記可変長圧縮手段は、既に生成された可変長符号に対応する可変長符号化前のシンボル値が正又は負の何れかに偏る場合に、新たに可変長符号化するシンボル値の正負を反転させる請求項１記載の動画像符号化装置。
【請求項５】
前記可変長圧縮手段は、生成する可変長符号が異なる複数の可変長符号化を行い、生成した可変長符号のうち符号量が最小である可変長符号を出力する請求項４記載の動画像符号化装置。
【請求項６】
前記圧縮手段は、
画素予測値と入力画素の画素値との差分を特定のビット長で表現した差分信号を量子化して圧縮データを生成し、
前記差分信号が前記選択手段で選択された前記圧縮モードの量子化幅以内になるよう、前記画像データの画素値の範囲の制限を行う制限手段を有することを特徴とする請求項１記載の動画像符号化装置。
【請求項７】
前記画像データは、複数のコンポーネント信号を有し、
前記圧縮手段は、量子化及び可変長符号化を含む圧縮を行い、前記圧縮データに、前記複数のコンポーネント信号のうち一のコンポーネント信号に対応する量子化幅に係る情報である量子化パラメータ、前記量子化幅と前記複数のコンポーネント信号のうち他のコンポーネント信号の量子化幅との差に係る情報である量子化パラメータオフセット、前記複数のコンポーネント信号毎の可変長符号表の識別情報、及び、前記複数のコンポーネント信号の可変長符号を含むシンボル値を含ませることを特徴とする請求項１記載の動画像符号化装置。
【請求項８】
前記圧縮手段は、さらに、前記複数のコンポーネント信号毎の予測を行い、前記圧縮データに、さらに、前記複数のコンポーネント信号毎の予測に関わる情報を含ませることを特徴とする請求項７記載の動画像符号化装置。
【請求項９】
一の画素の一のコンポーネント信号の可変長符号が、一のプレフィックスと一のサフィックスとの結合により表される場合に、
前記圧縮手段は、前記シンボル値に、複数のコンポーネント信号のプレフィックスが連続する符号列と、複数のコンポーネント信号のサフィックスが連続する符号列と、を含ませることを特徴とする請求項８記載の動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化に関する。
【背景技術】
【０００２】
従来から、動画像圧縮の技術分野においては、圧縮データが通る伝送路の帯域制限と圧縮データ格納領域のサイズ制限が伴うことが多く、動画像を所定のデータサイズ以下に圧縮するビットレート制御が重要である。ビットレート制御では、例えば、圧縮処理の際に、処理単位毎に量子化幅を制御することで、発生するデータ量、すなわち、符号量の調整を行う。量子化幅を示すパラメータを、Ｑｕａｎｔｉｚａｔｉｏｎ  Ｐａｒａｍｅｔｅｒ（以下、「ＱＰ」という。）と呼ぶ。【０００３】
基本的なビットレート制御として、発生する符号量が処理単位毎に一定に近くなるＣＢＲ（Ｃｏｎｓｔａｎｔ  Ｂｉｔ  Ｒａｔｅ）制御がある。ところで、画像中には、複雑な絵柄の領域と単純な絵柄の領域の両方が含まれるが、前者は圧縮困難度が高く、後者は圧縮困難度が低い。ＣＢＲ制御では、複雑な絵柄の領域と単純な絵柄の領域とに、同等の符号量を割り当てるため、単純な絵柄の領域にとっては十分な符号量が割り当てられるものの、複雑な絵柄の領域では符号量不足となってしまう。これにより、画像中の複雑な絵柄の領域で局所的に映像品質の劣化が発生する。【０００４】
そこで、例えば、各処理単位を圧縮する際に、発生符号量の処理単位による平均値が、処理単位あたりの目標符号量を超えないようにＱＰを選択する方式がある。また例えば、各処理単位を圧縮する際に、発生した符号量と処理単位あたりの目標符号量とのズレから、次に処理するべき処理単位に割り当てる符号量を決定付けるフィードバック方式等がある。【０００５】
例えば、特開２００８−４２９４３号公報（JP-A-2008-42943）では、異なる複数のＱＰにより量子化して生成する符号量とより低圧縮な圧縮方式による符号量とに基づいて、選択したＱＰによる圧縮又はより低圧縮な圧縮方式の何れかを、符号化単位毎に選択する画像圧縮符号化装置等の発明が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−４２９４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、JP-A-2008-42943に開示の画像圧縮符号化装置等の発明では、例えば、一のピクチャを圧縮して生成する符号の符号量が、必ず、所定の値より小さくなるか否かについては、考慮されていない。【０００８】
理想的な符号量制御は、発生する符号量を処理単位毎に可変とすることで、画像内の映像品質を一様に保ち、かつ、ＱＰを画像内で一定に近づけることで、画像を所定のデータサイズ以下に圧縮できる制御である。【０００９】
本発明は、上記の点に鑑みて、これらの問題を解消するために発明されたものであり、動画像データを圧縮して符号データを生成する際に、符号量が所定の値以下かつ復号画像の画質がよい符号データを生成することを目的としている。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の動画像符号化装置は次の如き構成を採用した。【００１１】
画像データの所定の単位を分割した処理単位毎に、互いに圧縮率が異なる複数の可変長圧縮モードにより圧縮することにより、前記可変長圧縮モード毎の符号量を算出する算出手段と、算出された前記可変長圧縮モード毎の符号量及び前記画像データを固定長圧縮モードにより圧縮する際の符号量に基づいて、前記可変長圧縮モード及び前記固定長圧縮モードの中から、前記所定の単位に含まれる前記処理単位のうち、圧縮モードを選択している対象の前記処理単位までの符号量の累計が所定の符号量以下となり、且つ、量子化幅が最小となる圧縮モードを、前記処理単位毎に選択する選択手段と、選択された前記圧縮モードにより前記処理単位の画像データを圧縮して圧縮データを生成する圧縮手段と、を有する構成とすることができる。 
【発明の効果】
【００１２】
本発明の動画像符号化装置によれば、動画像データを圧縮して符号データを生成する際に、符号量が所定の値以下かつ復号画像の画質がよい符号データを生成することが可能になる。
【図面の簡単な説明】
【００１３】
【図１】ＣＢＲ制御を説明する図。
【図２】画像における圧縮困難度と符号量の割り当てとの関係を示す図。
【図３】動画像符号化装置１０３を示すブロック図。
【図４】仮圧縮部１０５を示すブロック図。
【図５】符号量上限ラインの説明。
【図６】固定長圧縮部１０８の例を示すブロック図。
【図７】可変長圧縮部１０９の例を示すブロック図。
【図８】符号量上限ラインと制御線との関係を示す図。
【図９】可変長符号化部５３の例を示すブロック図。
【図１０】圧縮モード判定部１０６の例を示すブロック図。
【図１１】既に圧縮した画像の圧縮困難度に基づく圧縮モードの変更を説明する図。
【図１２】可変長符号化部５３の例を示すブロック図。
【図１３】既に観測された信号値と未だ観測されない信号とを示す図。
【図１４】符号反転前と符号反転後との信号ヒストグラムを示す図。
【図１５】動画像を圧縮する処理を示すフロー図。
【図１６】可変長圧縮部１０９による処理の詳細を示すフロー図。
【発明を実施するための形態】
【００１４】
以下、本実施の形態を図面に基づき説明する。
【００１５】
放送・通信・蓄積の何れの分野でも、動画像圧縮のビットレート制御は必須である。放送では、例えば、地上デジタル放送において、電波帯域の制限により、映像データ（ＭＰＥＧ−２）のビットレート制限が発生する。通信では、例えば、無線で映像データを送受信するケーブルレスな壁掛けテレビを実現しようとすれば、無線のデータ転送速度を満たすように圧縮する必要がある。蓄積では、例えば、デジタルバーサタイルディスク（ＤＶＤ）においては、ディスクからの読み出し速度の制限と、ディスク容量の制限を満たすように、動画像を圧縮する必要がある。
【００１６】
その他の例では、コーデックＬＳＩ等、大量の映像データを処理するシステムにおいて、映像データを格納するためのメモリーの入出力部に圧縮装置を備えることで、メモリー量やバス幅を低減できる。このように、動画像を所定のデータサイズ以下に圧縮するビットレート制御の重要度は非常に高い。
【００１７】
動画像圧縮では、まず、処理単位毎に、エントロピー削減処理を行い、次に、信号を量子化することでデータ量を削減する。処理単位とは、例えば、画素、画素ブロック、ＭＰＥＧにおけるマクロブロック（以下、「ＭＢ」という。）等である。またエントロピー削減処理とは、例えば、画像信号同士の差分演算や、画像に対するＤＣＴ等の直交変換である。
【００１８】
図１は、ＣＢＲ制御を説明する図である。図１の横軸は、処理単位のインデックスであり、例えば、ＭＢ毎の識別番号である。また、図１の縦軸は、処理単位毎に発生する符号量の累積値を表す。
【００１９】
図１の方式１は、各処理単位を圧縮する際に、発生符号量の累計値が目標符号量を超えないようにＱＰを選択する方式である。また、図１の方式２は、各処理単位を圧縮する際に、発生した符号量と目標符号量１とのズレから、次に処理するべき処理単位に割り当てる符号量を決定付けるフィードバック方式である。
【００２０】
ところで、処理単位毎に発生する符号量が一定に近くなる方式は、画質面での課題が残る。図２は、画像における圧縮困難度と符号量の割り当てとを説明する図である。図２の例では、符号化対象画像ｐ１は、横方向の中心付近に圧縮困難度が高い領域を有する。
【００２１】
図２（ａ）は、処理単位毎の符号量が一定となるように制御する例である。図２（ａ）のテーブルｔ１では、処理単位毎の画質と発生ビット量を示す。テーブルｔ１において、処理単位に付された数字は、画質を表し、（）内の数値は、発生ビット量を表す。画質を表す数値は、大きいほど画質が悪いことを表す。テーブルｔ１において、ハッチングが付された箇所は、数値の高い箇所である。テーブルｔ１では、画質を表す数値は、横方向の中心付近が高くなっている。また、各処理単位の発生ビット量は、全て１００である。
【００２２】
図２（ｂ）は、処理単位毎の画質が一定となるように制御する例である。図２（ｂ）のテーブルｔ２では、処理単位毎の発生ビット量が、８０から１４０であり、画質を表す数値は、１又は２である。図２（ｂ）は、図２（ａ）よりも、画像内の映像品質を一様に保ち、また、符号量の総和は、図２（ａ）よりも小さい。
【００２３】
〔第１の実施の形態〕
図３は、第１の実施形態に係る動画像符号化装置１０３の機能構成を説明する図である。動画像符号化装置１０３は、入力画像１０２が入力され、固定長圧縮モード符号量１０１に基づく圧縮モード判定により圧縮処理を行い、圧縮データ１１０を出力する。動画像符号化装置１０３は、画像ブロック用バッファ１０４、仮圧縮部１０５、圧縮モード判定部１０６、本圧縮部１０７を備える。
【００２４】
入力画像１０２は、ブロック毎に分割され、画像ブロック用バッファ１０４に格納される。入力画像１０２は、所定の圧縮率を保証する単位とし、画像フレームだけでなく、画素ラインや画像ブロックも含む概念である。本実施の形態では、入力画像１０２に対し、符号化の際の目標符号量を設定する。ブロックとは、画像を任意の方法で分割したもので、最小単位は画素、最大単位は画像全体とする。ブロックは、例えば、ＭＰＥＧにおける、フレーム、スライス、ＭＢ、ブロック、又は、画像シーケンス等の何れでもよい。画像ブロック用バッファ１０４に格納された画像のブロックは、仮圧縮部１０５にて複数の異なるＱＰにより仮圧縮され、ＱＰ毎に対応する符号量が得られる。
【００２５】
図４は、仮圧縮部１０５の機能構成を説明する図である。仮圧縮部１０５は、エントロピー削減処理部５１、量子化部５２、及び、可変長符号化部５３を有する。エントロピー削減処理部５１は、画像ブロック用バッファ１０４に格納されたブロックに対し、画素予測値との差分処理、又は、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）等の線形変換を行う。エントロピー削減処理部５１は、画素予測値との差分処理により、予測誤差値を生成する。量子化部５２は、エントロピー削減処理部５１が出力するブロック、又は、画像ブロック用バッファに格納されているブロックを量子化する。可変長符号化部５３は、量子化されたブロックを可変長符号化する。以上の処理により生成する符号の符号量が得られ、圧縮モード判定部１０６に送られる。
【００２６】
圧縮モード判定部１０６は、本圧縮部１０７により圧縮する際の圧縮モードを決定する。圧縮モード判定部１０６には、固定長圧縮モード符号量１０１が設定される。固定長圧縮モード符号量１０１は、ブロックに均等に符号を割り当てた場合の符号量以下となる値であり、ブロックの平均割り当て符号量以下となる値である。
【００２７】
圧縮モード判定部１０６は、処理単位毎に、符号量上限ラインを超えない範囲で、圧縮モードを選択する。圧縮モード判定部１０６は、仮圧縮部１０５で生成する符号量を評価した可変長圧縮モードと固定長圧縮モードとの中から一つの圧縮モードを選択する。圧縮判定部１０６が選択する圧縮モードは、例えば、量子化ステップサイズが最小となるモード、符号化歪みが最小となるモード、又は、Ｒａｔｅ−Ｄｉｓｔｏｒｔｉｏｎコスト（符号化歪み量＋符号量×ｌａｍｂｄａ、但し、ｌａｍｂｄａは係数）が最小となるモード等である。なお、Ｒａｔｅ−ＤｉｓｔｏｒｔｉｏｎコストＲＤは、次式（１）により表される。
（ＲＤ）＝（符号化歪み量）＋（符号量）×（ｌａｍｂｄａ）・・・（１）
但し、ｌａｍｂｄａは係数
【００２８】
図５は、圧縮モード判定部１０６が圧縮モードを判定する際の符号量上限ラインを説明する図である。図５は、横軸を処理単位、縦軸を発生符号量の累計としたグラフである。図５において、符号量上限ラインは、固定長圧縮モード符号量を傾きとし、目標符号量から固定長圧縮モード符号量×画像中の処理単位数を減算したものを切片とする、一次関数である。符号量上限ラインを超えなければ、圧縮データは所定のデータサイズに収まることを保証している。すなわち、全てのブロックを固定長圧縮モードで圧縮すれば、生成する圧縮データは所定のデータサイズに収まる。
【００２９】
なお、図５における符号量上限ラインは一例であり、この一次関数によって表される値に対し有効数字の桁数を減じた近似値でもよい。また、図５において、発生符号量一定ラインは、目標符号量を処理単位の数で除した値を傾きとする一次関数である。発生符号量一定ラインを、処理単位毎の符号量を設定する際の下限とするとよい。
【００３０】
本圧縮部１０７は、固定長圧縮部１０８と可変長圧縮部１０９とを有する。本圧縮部１０７は、入力画像１０２を所定のサイズ以下に圧縮し圧縮データ１１０を出力する。固定長圧縮部１０８には、固定長圧縮モード符号量１０１が設定される。本圧縮部１０７は、圧縮モード判定部１０６の選択結果に従い、固定長圧縮部１０８、又は、可変長圧縮部１０９の何れかで圧縮処理を行い、圧縮データ１１０を生成する。
【００３１】
図６は、固定長圧縮部１０８の構成の例を説明する図である。固定長圧縮部１０８は、エントロピー削減処理部８１、量子化部８２、及び、固定長符号化部８３を有する。画像ブロックは、エントロピー削減処理部８１によるエントロピー削減処理と量子化部８２による量子化の後、固定長符号生成部３０３により固定長符号化が行われる。なお、量子化部８２は、画像ブロックを直接量子化してもよい。これらの処理により、符号量が固定長圧縮モード符号量１０１以下となる圧縮データ１１０が得られる。
【００３２】
図７は、可変長圧縮部１０９の構成の例を説明する図である。可変長圧縮部１０９は、エントロピー削減処理部９１、量子化部９２、及び、可変長符号化部９３を有する。エントロピー削減処理部９１及び量子化部９２の作用は、仮圧縮部１０５が有するエントロピー削減処理部５１及び量子化部５２の作用と同一である。可変長符号化部９３は、量子化された画像ブロックを可変長符号化することにより圧縮データ１１０を出力する。
【００３３】
以上の処理により、入力画像１０２を所定のデータサイズの圧縮データ１１０に圧縮できる。第１の実施の形態によれば、圧縮モード判定部１０６における圧縮モード選択の自由度が大きく、ブロック毎の割り当て符号量を可変にすることが可能であるため、画質が画面内で一様に近くなり、ＣＢＲ制御よりも高品質な圧縮が可能となる。
【００３４】
〔第２の実施の形態〕
図３は、第２の実施形態に係る動画像符号化装置１０３の機能構成を説明する図である。動画像符号化装置１０３は、入力画像１０２が入力され、固定長圧縮モード符号量１０１に基づく圧縮モード判定により圧縮処理を行い、圧縮データ１１０を出力する。動画像符号化装置１０３は、画像ブロック用バッファ１０４、仮圧縮部１０５、圧縮モード判定部１０６、本圧縮部１０７を備える。
【００３５】
本実施の形態において、入力画像１０２は、第１の実施の形態と同様に、ブロックに分割され、画像ブロック用バッファ１０４に格納され、目標符号量が設定される。画像ブロック用バッファ１０４に格納された画像のブロックは、仮圧縮部１０５にて複数の異なるＱＰにより仮圧縮され、ＱＰ毎に対応する符号量が得られる。
【００３６】
図４は、仮圧縮部１０５の機能構成を説明する図である。本実施の形態において、仮圧縮部１０５の機能及び構成は第１の実施の形態と同一であるので、ここでは説明を省略する。
【００３７】
圧縮モード判定部１０６は、本圧縮部１０７により圧縮する際の圧縮モードを決定する。圧縮モード判定部１０６には、固定長圧縮モード符号量１０１が設定される。固定長圧縮モード符号量１０１は、ブロックに均等に符号を割り当てた場合の符号量以下となる値であり、ブロックの平均割り当て符号量以下となる値である。圧縮判定部１０６は、例えば第１の実施の形態で述べた方法を用いて、圧縮モードを選択する。
【００３８】
圧縮モード判定部１０６は、処理単位毎に、符号量上限ラインを超えない範囲で、圧縮モードを選択する。圧縮モード判定部１０６は、仮圧縮部１０５で生成する符号量を評価した可変長圧縮モードと固定長圧縮モードとの中から一つの圧縮モードを選択する。
【００３９】
図８は、圧縮モード判定部１０６が圧縮モードを判定する際の符号量上限ラインと制御線とを説明する図である。図８は、横軸を処理単位、縦軸を発生符号量の累計としたグラフである。図８において、符号量上限ラインは、固定長圧縮モード符号量を傾きとし、目標符号量から固定長圧縮モード符号量×画像中の処理単位数を減算したものを切片とする、一次関数である。符号量上限ラインを超えなければ、圧縮データは所定のデータサイズに収まることを保証している。すなわち、全てのブロックを固定長圧縮モードで圧縮すれば、生成する圧縮データは所定のデータサイズに収まる。
【００４０】
制御線は、符号量上限ライン以下の領域に位置し、画像データの所定の単位を圧縮する際に、圧縮の初期段階で符号量を多量に消費することを回避するために存在する。より詳細には、処理単位毎に、発生する符号量が制御線を超える場合に、圧縮モードを再度設定する。この際に、可変長圧縮におけるＱＰを大きくする、又は、固定長圧縮モードを選択する等の処理を行う。
【００４１】
図８における符号量上限ラインは一例であり、この一次関数によって表される値に対し有効数字の桁数を減じた近似値でもよい。また、図８において、発生符号量一定ラインは、目標符号量を処理単位の数で除した値を傾きとする一次関数である。発生符号量一定ラインを、処理単位毎の符号量を設定する際の下限とするとよい。図８に一例として示した制御線は、発生符号量一定ラインに定数のオフセットを加算したものとなっている。
【００４２】
本圧縮部１０７は、固定長圧縮部１０８と可変長圧縮部１０９とを有する。本圧縮部１０７は、入力画像１０２を所定のサイズ以下に圧縮し圧縮データ１１０を出力する。固定長圧縮部１０８には、固定長圧縮モード符号量１０１が設定される。本圧縮部１０７は、圧縮モード判定部１０６の選択結果に従い、固定長圧縮部１０８、又は、可変長圧縮部１０９の何れかで圧縮処理を行い、圧縮データ１１０を生成する。固定長圧縮部１０８及び可変長圧縮部１０９の機能及び構成は、第１の実施の形態と同一である。
【００４３】
以上の処理により、入力画像１０２を所定のデータサイズの圧縮データ１１０に圧縮できる。第２の実施の形態によれば、圧縮モード判定部１０６における圧縮モード選択の自由度が大きく、ブロック毎の割り当て符号量を可変にすることが可能であるため、画質が画面内で一様に近くなり、ＣＢＲ制御よりも高品質な圧縮が可能となる。
【００４４】
〔第３の実施の形態〕
図３は、第３の実施形態に係る動画像符号化装置１０３の機能構成を説明する図である。動画像符号化装置１０３は、入力画像１０２が入力され、固定長圧縮モード符号量１０１に基づく圧縮モード判定により圧縮処理を行い、圧縮データ１１０を出力する。動画像符号化装置１０３は、画像ブロック用バッファ１０４、仮圧縮部１０５、圧縮モード判定部１０６、本圧縮部１０７を備える。
【００４５】
本実施の形態において、入力画像１０２は、第１の実施の形態と同様に、ブロックに分割され、画像ブロック用バッファ１０４に格納され、目標符号量が設定される。画像ブロック用バッファ１０４に格納された画像のブロックは、仮圧縮部１０５にて複数の異なるＱＰにより仮圧縮され、ＱＰ毎に対応する符号量が得られる。
【００４６】
本実施の形態において、仮圧縮部１０５の構成は、第１の実施の形態とほぼ同一であり、可変長符号化部５３の機能が異なる。そこで、ここでは可変長符号化部５３について説明する。
【００４７】
図９は、可変長符号化部５３の機能構成の例を説明する図である。図９の可変長符号化部５３は、特性の異なる複数の可変長符号化部(ｉｄｘ=0,1,…M)を備えている。より詳細には、各可変長符号化部（ｉｄｘ）が可変長符号化処理を行う際の、可変長符号テーブルがそれぞれ異なる。可変長符号化部５３は、入力信号列に応じて符号量が最も少ない可変長符号化部（ｉｄｘ）を選択する。これにより、様々な入力画像に対して、適切な可変長符号テーブルを用いる圧縮処理を施すことができる。
【００４８】
なお、図９の例では、可変長符号化部（ｉｄｘ）が複数設けられる構成となっているが、複数の可変長符号テーブルを、一の可変長符号化部が切り替えて用いる構成でもよい。
【００４９】
以上の処理により生成する符号の符号量が得られ、圧縮モード判定部１０６に送られる。
【００５０】
圧縮モード判定部１０６は、本圧縮部１０７により圧縮する際の圧縮モードを決定する。圧縮モード判定部１０６には、固定長圧縮モード符号量１０１が設定される。固定長圧縮モード符号量１０１は、ブロックに均等に符号を割り当てた場合の符号量以下となる値であり、ブロックの平均割り当て符号量以下となる値である。圧縮判定部１０６は、例えば第１の実施の形態で述べた方法を用いて、圧縮モードを選択する。
【００５１】
圧縮モード判定部１０６は、処理単位毎に、符号量上限ラインを超えない範囲で、圧縮モードを選択する。圧縮モード判定部１０６は、仮圧縮部１０５で生成する符号量を評価した可変長圧縮モードと固定長圧縮モードとの中から一つの圧縮モードを選択する。
【００５２】
圧縮モード判定部１０６の処理の詳細は、第１の実施の形態と同様であるので、ここでは説明を省略する。また、本圧縮部１０７が有する固定長圧縮部１０８及び可変長圧縮部１０９の機能及び構成は、第１の実施の形態と同一である。
【００５３】
以上の処理により、入力画像１０２を所定のデータサイズの圧縮データ１１０に圧縮できる。この方式では、圧縮モード判定部１０６における圧縮モード選択の自由度が大きく、ブロック毎の割り当て符号量を可変にすることが可能であるため、画質が画面内で一様に近くなり、ＣＢＲ制御よりも高品質な圧縮が可能となる。
【００５４】
〔第４の実施の形態〕
図３は、第４の実施形態に係る動画像符号化装置１０３の機能構成を説明する図である。動画像符号化装置１０３は、入力画像１０２が入力され、固定長圧縮モード符号量１０１に基づく圧縮モード判定により圧縮処理を行い、圧縮データ１１０を出力する。動画像符号化装置１０３は、画像ブロック用バッファ１０４、仮圧縮部１０５、圧縮モード判定部１０６、本圧縮部１０７を備える。
【００５５】
本実施の形態において、入力画像１０２は、第１の実施の形態と同様に、ブロックに分割され、画像ブロック用バッファ１０４に格納され、目標符号量が設定される。画像ブロック用バッファ１０４に格納された画像のブロックは、仮圧縮部１０５にて複数の異なるＱＰにより仮圧縮され、ＱＰ毎に対応する符号量が得られる。
【００５６】
図４は、仮圧縮部１０５の機能構成を説明する図である。本実施の形態において、仮圧縮部１０５の機能及び構成は第１の実施の形態と同一であるので、ここでは説明を省略する。仮圧縮部１０５の処理により生成する符号の符号量が得られ、圧縮モード判定部１０６に送られる。
【００５７】
圧縮モード判定部１０６は、本圧縮部１０７により圧縮する際の圧縮モードを決定する。圧縮モード判定部１０６には、固定長圧縮モード符号量１０１が設定される。固定長圧縮モード符号量１０１は、ブロックに均等に符号を割り当てた場合の符号量以下となる値であり、ブロックの平均割り当て符号量以下となる値である。
【００５８】
圧縮モード判定部１０６は、処理単位毎に、符号量上限ラインを超えない範囲で、圧縮モードを選択する。圧縮モード判定部１０６は、仮圧縮部１０５で生成する符号量を評価した可変長圧縮モードと固定長圧縮モードとの中から一つの圧縮モードを選択する。圧縮判定部１０６は、例えば第１の実施の形態で述べた方法を用いて、圧縮モードを選択する。
【００５９】
圧縮モード判定部１０６の処理の詳細は、第１の実施の形態と同様であるので、ここでは説明を省略する。
【００６０】
図１０は、圧縮モード判定部１０６の機能構成の例を説明する図である。圧縮モード判定部１０６は、圧縮モード判定部６１と圧縮モードバッファ６２とを備える。圧縮モードバッファ６２には、既に圧縮した画像の圧縮の難しさを示す値である圧縮困難度が保持されている。圧縮困難度は、例えば、ＱＰであり、固定長圧縮モードにおいては、例えば、ＱＰの最大値＋１とするとよい。既に圧縮した画像とは、例えば、画像において一のブロックの直上のブロックを含むブロックラインに含まれる画像である。
【００６１】
圧縮モード判定部６１は、さらに、未圧縮のブロックの圧縮困難度を、既に圧縮された画像の圧縮困難度として近似する。圧縮困難なブロックが未圧縮のブロックから検出された場合には、ＱＰを大きくする圧縮モードの変更を行い、符号量を削減する。
【００６２】
図１１は、既に圧縮した画像の圧縮困難度に基づく圧縮モードの変更を説明する図である。図１１において、ＢＬ０は、１ブロックライン上のブロック毎のＱＰを示す。また図１１において、ＢＬ１は、現在圧縮しているブロックを含むブロックラインのブロック毎のＱＰである。また、「ＱＰａｖｅ」は、「前の画像の処理単位毎の圧縮モード値」の平均値である。
【００６３】
図１１において、圧縮困難度平均値ＱＰａｖｅと圧縮モードバッファに格納されたｎブロック先の圧縮困難度ＱＰとを比較し、ｎブロック先の圧縮困難度ＱＰが、ＱＰａｖｅよりも所定数大きい場合は、現在選択されている圧縮モードをＱＰが大きくなるように変更する。図１１では、ＢＬ０において、５番目のブロックの圧縮困難度ＱＰが、ＱＰａｖｅよりも１．５大きい。そこで、ＢＬ１においては、３番目のブロックのＱＰを１に設定する。なお、このＱＰ変更処理は、符号量に余裕がある場合は、必ずしも適用しなくてよい。例えば、圧縮済みデータの累積符号量が、図８における発生符号量一定ラインから定数のオフセットを減算したラインを超える場合に、ＱＰ変更処理を適用するようにしても良い。圧縮モード判定部６１が決定した圧縮モードに対応した圧縮困難度は、圧縮モードバッファ６２に格納される。
【００６４】
本圧縮部１０７は、固定長圧縮部１０８と可変長圧縮部１０９とを有する。本圧縮部１０７は、入力画像１０２を所定のサイズ以下に圧縮し圧縮データ１１０を出力する。固定長圧縮部１０８には、固定長圧縮モード符号量１０１が設定される。本圧縮部１０７は、圧縮モード判定部１０６の選択結果に従い、固定長圧縮部１０８、又は、可変長圧縮部１０９の何れかで圧縮処理を行い、圧縮データ１１０を生成する。固定長圧縮部１０８及び可変長圧縮部１０９の機能及び構成は、第１の実施の形態と同一である。
【００６５】
以上の処理により、入力画像１０２を所定のデータサイズの圧縮データ１１０に圧縮できる。この方式では、圧縮モード判定部１０６における圧縮モード選択の自由度が大きく、ブロック毎の割り当て符号量を可変にすることが可能であるため、画質が画面内で一様に近くなり、ＣＢＲ制御よりも高品質な圧縮が可能となる。
【００６６】
〔第５の実施の形態〕
図３は、第５の実施形態に係る動画像符号化装置１０３の機能構成を説明する図である。動画像符号化装置１０３は、入力画像１０２が入力され、固定長圧縮モード符号量１０１に基づく圧縮モード判定により圧縮処理を行い、圧縮データ１１０を出力する。動画像符号化装置１０３は、画像ブロック用バッファ１０４、仮圧縮部１０５、圧縮モード判定部１０６、本圧縮部１０７を備える。
【００６７】
本実施の形態において、入力画像１０２は、第１の実施の形態と同様に、ブロックに分割され、画像ブロック用バッファ１０４に格納され、目標符号量が設定される。画像ブロック用バッファ１０４に格納された画像のブロックは、仮圧縮部１０５にて複数の異なるＱＰにより仮圧縮され、ＱＰ毎に対応する符号量が得られる。
【００６８】
本実施の形態において、仮圧縮部１０５の構成は、第１の実施の形態とほぼ同一であり、可変長符号化部５３の機能が異なる。そこで、ここでは可変長符号化部５３について説明する。
【００６９】
図１２は、可変長符号化部５３の構成の第１の実施の形態とは異なる例を説明する図である。可変長符号化部５３は、正負反転部５３１と可変長符号化部５３２とを備える。正負反転部５３１は、入力される量子化後の信号列の正負を観測し、一定区間に入力された信号列が正に偏っている場合に、次に入力される信号は負である確率が高いとみなし、信号の正負を反転してから可変長符号化部５３２へ送る。なお、可変長符号化部５３２が可変長符号化するシンボルは、量子化後の変換係数等の他に、画素値でもよい。
【００７０】
図１３は、入力信号列における既に観測された信号と、未だ観測されない信号とを説明する図である。図１３では、観測された順に対応する値を左から順に並べ、未だ観測されていない値を記号「？」（疑問符）で示す。数値は、既に観測された信号の直前の信号との差分値である予測値である。図１３の例では、既に観測された信号の予測値は、全て正の値である。したがって、未だ観測されていない信号の予測値は、負の値になる確率が高いとみなし、新たに観測する信号の正負を反転させる。
【００７１】
図１４は、符号反転前と符号反転後との信号ヒストグラムを説明する図である。図１４において、符号を反転させることにより、入力信号の分布に偏りが発生している。より詳細には、入力信号列において、正負がほぼ等確率で発生する性質を利用し、局所的に信号の正負に偏りが見られた場合に符号を反転することで、入力信号の分布に偏りを発生させる。これにより、符号長が、正と負とで非対称の可変長符号テーブルを用いる際にエントロピーを減少させることができる。可変長符号化部５３は、入力信号を可変長符号化し、圧縮モード判定部１０６に送る。
【００７２】
圧縮モード判定部１０６は、本圧縮部１０７により圧縮する際の圧縮モードを決定する。圧縮モード判定部１０６には、固定長圧縮モード符号量１０１が設定される。固定長圧縮モード符号量１０１は、ブロックに均等に符号を割り当てた場合の符号量以下となる値であり、ブロックの平均割り当て符号量以下となる値である。
【００７３】
圧縮モード判定部１０６は、処理単位毎に、符号量上限ラインを超えない範囲で、圧縮モードを選択する。圧縮モード判定部１０６は、仮圧縮部１０５で生成する符号量を評価した可変長圧縮モードと固定長圧縮モードとの中から一つの圧縮モードを選択する。圧縮判定部１０６は、例えば第１の実施の形態で述べた方法を用いて、圧縮モードを選択する。
【００７４】
本圧縮部１０７の機能及び構成は、第１の実施の形態と同一である。
【００７５】
以上の処理により、入力画像１０２を所定のデータサイズの圧縮データ１１０に圧縮できる。この方式では、圧縮モード判定部１０６における圧縮モード選択の自由度が大きく、ブロック毎の割り当て符号量を可変にすることが可能であるため、画質が画面内で一様に近くなり、ＣＢＲ制御よりも高品質な圧縮が可能となる。
【００７６】
〔第６の実施の形態〕
図３は、第６の実施形態に係る動画像符号化装置１０３の機能構成を説明する図である。動画像符号化装置１０３は、入力画像１０２が入力され、固定長圧縮モード符号量１０１に基づく圧縮モード判定により圧縮処理を行い、圧縮データ１１０を出力する。動画像符号化装置１０３は、画像ブロック用バッファ１０４、仮圧縮部１０５、圧縮モード判定部１０６、本圧縮部１０７を備える。
【００７７】
入力画像１０２は、複数のコンポーネント信号を含む。複数のコンポーネント信号とは、例えば、ＲＧＢやＹＵＶ等である。本実施の形態において、入力画像１０２は、コンポーネント毎に、ブロックに分割され、画像ブロック用バッファ１０４に格納され、目標符号量が設定される。画像ブロック用バッファ１０４に格納された画像のブロックは、コンポーネント毎に、仮圧縮部１０５にて複数の異なるＱＰにより仮圧縮され、ＱＰ毎に対応する符号量が得られる。
【００７８】
図４は、仮圧縮部１０５の機能構成を説明する図である。仮圧縮部１０５は、エントロピー削減処理部５１、量子化部５２、及び、可変長符号化部５３を有する。エントロピー削減処理部５１は、画像ブロック用バッファ１０４に格納されたブロックに対し、画素予測値との差分処理、又は、ＤＣＴ等の線形変換を行う。
【００７９】
ここで、入力画像の画素値に対して、制限範囲を設ける。一般的に、画素予測値と入力画素との差分値のビット長は、入力画素のビット数＋１となる。例えば、８ビットの入力画素のとり得る値は０〜２５５で、差分信号のとり得る値は、−２５５〜２５５で符号付９ビットとなる。
【００８０】
そこで、入力画像の画素値を、あらかじめ量子化幅によってきまる範囲内に制限すれば、差分値を符号無しの値としてビット長を入力画素のビット長と同一に納めることができる。入力画素を復元する際には、画素予測値に、量子化誤差を含む差分値を加算したのち、キャリービットを破棄すればよい。この画素値の制限範囲は、入力画像を、量子化し、逆量子化し、画像復元を行った際に、誤差が、量子化幅以内に収まるように決定する。
【００８１】
例えば、ロスレス圧縮の場合、画素値が０、予測値が２５５の時は、差分値を−２５５ではなく＋１として取り扱う。画素復元時には、予測値２５５に差分値＋１を加算し、２５６が得られる。２５６は２進数で１００００００００なので、キャリービットを破棄し、下位８ビットを抜き出すことで、元の画素０が復元できる。
【００８２】
一方、ロッシー圧縮の場合、画素値が０、予測値が２５５のとき、差分信号を量子化幅３で量子化する例を考える。画素値の範囲の制限が無い場合、差分信号は＋１で、これを量子化幅３で量子化すると１／３＝０（四捨五入）となる。逆量子化して得られた差分値も３×０＝０のままなので、予測値２５５と差分値０からもとの画素値０を復元することができない。そこで、画素値を２〜２５３の間に制限するようにする。画素値０は値の制限により２として扱われ、予測値は２５５、差分信号は＋３となる。差分信号を量子化幅３で量子化すると、３／３＝１（四捨五入）となる。これを逆量子化すると、差分信号＋３が得られる。予測値２５５に差分信号＋３を加算すると２５８が得られる。２５８は２進数で１００００００１０なので、キャリービットを破棄し、下位８ビットを抜き出すことで、入力画素を２として復元できる（誤差２）。
【００８３】
この一連の処理により、符号化するためのシンボル数を減らすことができ、圧縮性能を向上し、回路規模を削減する効果がある。また、この処理は、高スループットで実現できる。そこで、この処理を適用しても良い。
【００８４】
量子化部５２は、エントロピー削減処理部５１が出力するブロック、又は、画像ブロック用バッファに格納されているブロックを量子化する。可変長符号化部５３は、量子化されたブロックを可変長符号化する。
【００８５】
本実施の形態において、可変長符号化部５３の機能及び構成は、第３の実施の形態と同一であるので、ここでは説明を省略する。
【００８６】
以上の処理により生成する符号の符号量が得られ、圧縮モード判定部１０６に送られる。
【００８７】
圧縮モード判定部１０６は、本圧縮部１０７により圧縮する際の圧縮モードを決定する。圧縮モード判定部１０６には、固定長圧縮モード符号量１０１が設定される。固定長圧縮モード符号量１０１は、ブロックに均等に符号を割り当てた場合の符号量以下となる値であり、ブロックの平均割り当て符号量以下となる値である。圧縮判定部１０６は、例えば第１の実施の形態で述べた方法を用いて、圧縮モードを選択する。
【００８８】
圧縮モード判定部１０６は、処理単位毎に、符号量上限ラインを超えない範囲で、圧縮モードを選択する。圧縮モード判定部１０６は、仮圧縮部１０５で生成する符号量を評価した可変長圧縮モードと固定長圧縮モードとの中から一つの圧縮モードを選択する。
【００８９】
圧縮モード判定部１０６の処理の詳細は、第１の実施の形態と同様であるので、ここでは説明を省略する。また、本圧縮部１０７が有する固定長圧縮部１０８及び可変長圧縮部１０９の機能及び構成は、第１の実施の形態と同一である。
【００９０】
圧縮データ１１０は、第１ＱＰ、ＱＰオフセット、ｉｄｘ、予測に係る情報、及び、画素毎に対応するシンボル値を有する。第１ＱＰは、複数のコンポーネントのうちの一のコンポーネント信号に対応する。ＱＰオフセットは、他のコンポーネント信号のＱＰと第１ＱＰとの差であり、第１ＱＰに加算することにより、他のコンポーネント信号のＱＰを算出する。ｉｄｘは、各コンポーネント信号の可変長符号化の方式を識別する情報である。予測に係る情報は、各コンポーネント信号の予測に関わる情報であり、予測方向及び予測値計算式等の情報を含む。
【００９１】
一つのシンボル値は、複数のコンポーネント信号を含む。一つのシンボル値は、連続する複数のプレフィックスと、連続する複数のサフィックスと、で構成される。連続する複数のプレフィクスの内の一つのプレフィクスと、連続する複数のサフィックスの内の一つのサフィックスと、から得られる第二シンボル値が、一つのコンポーネントの信号となる。第二シンボル値の例としては、プレフィックスが可変長のユーナリコード、サフィックス長がｉｄｘおよびプレフィクス長によって決定されるゴロムライス符号があげられる。
【００９２】
以下に、ＹＵＶ４４４フォーマットの画像を圧縮する際の圧縮データのデータ構造の例を２例示す。ＹＵＶ４４４＿ｃｏｍｐｒｅｓｓｉｏｎ＿ｄａｔａは、輝度Ｙに対し、色差Ｕ，Ｖが、それぞれＱＰオフセットを有する例である。
【００９３】
ＹＵＶ４４４＿ｃｏｍｐｒｅｓｓｉｏｎ＿ｄａｔａ
｛
・ＱＰ＿Ｙ                          （ＹのＱＰ）
・ＱＰ＿ｏｆｆｓｅｔＵ              （ＵのＱＰ＝ＱＰ＿Ｙ＋ＱＰ＿ｏｆｆｓｅｔＵ）
・ＱＰ＿ｏｆｆｓｅｔＶ              （ＶのＱＰ＝ＱＰ＿Ｙ＋ＱＰ＿ｏｆｆｓｅｔＶ）
・ＶＬＣ＿ｉｄｘＹ                  （Ｙの可変長符号化ｉｄｘ）
・ＶＬＣ＿ｉｄｘＵ                  （Ｕの可変長符号化ｉｄｘ）
・ＶＬＣ＿ｉｄｘＶ                  （Ｖの可変長符号化ｉｄｘ）
・ｓｙｍｂｏｌ＿ＹＵＶ４４４＿１    （ＹＵＶ圧縮シンボルの第一番目要素）
・ｓｙｍｂｏｌ＿ＹＵＶ４４４＿２    （ＹＵＶ圧縮シンボルの第二番目要素）
・・・
・ｓｙｍｂｏｌ＿ＹＵＶ４４４＿ｉ    （ＹＵＶ圧縮シンボルの第ｉ番目要素）
・・・
・ｓｙｍｂｏｌ  ＹＵＶ４４４＿ｎ    （ＹＵＶ圧縮シンボルの第ｎ番目要素）
｝
【００９４】
ｓｙｍｂｏｌＹＵＶ４４４＿ｉ        （ＹＵＶ圧縮シンボルの第ｉ番目要素）
｛
・ｐｒｅｆｉｘＹ    （Ｙを構成するシンボルのプレフィクス）
・ｐｒｅｆｉｘＵ    （Ｕを構成するシンボルのプレフィクス）
・ｐｒｅｆｉｘＶ    （Ｖを構成するシンボルのプレフィクス）
・ｓｕｆｆｉｘＹ    （Ｙを構成するシンボルのサフィックス）
・ｓｕｆｆｉｘＵ    （Ｕを構成するシンボルのサフィックス）
・ｓｕｆｆｉｘＶ    （Ｖを構成するシンボルのサフィックス）
｝
【００９５】
ｓｙｍｂｏｌＹＵＶ４４４＿ｉの例について、以下説明する。例えば、ｐｒｅｆｉｘは可変長のユーナリコードであり、ｓｕｆｆｉｘはｐｒｅｆｉｘ長と可変長符号化のｉｄｘにより決定される。以下の例では、Ｙのｓｕｆｆｉｘ長＝４、Ｕのｓｕｆｆｉｘ長＝５、Ｖのｓｕｆｆｉｘ長＝３である。
【００９６】
ここでは、それぞれのプレフィックスとサフィックスとを示すが、シンボル中では、これらのコードは、連続している。
ｐｒｅｆｉｘＹ  ０００００１
ｐｒｅｆｉｘＵ  ００００１
ｐｒｅｆｉｘＶ  ０１
ｓｕｆｆｉｘＹ  １０１０
ｓｕｆｆｉｘＵ  １１１１１
ｓｕｆｆｉｘＶ  １０１
【００９７】
この場合、Ｙ、Ｕ、Ｖのシンボルは、それぞれ以下の通りとなる。
Ｙのシンボル    ０００００１｜１０１０
Ｕのシンボル    ００００１｜１１１１１
Ｖのシンボル    ０１｜１０１
【００９８】
また、ＹＵＶ４４４＿ｃｏｍｐｒｅｓｓｉｏｎ＿ｄａｔａ２は、予測に関わる情報を有し、さらに、輝度Ｙに対し、色差Ｕ，Ｖが、共通のＱＰオフセットを有する例である。
ＹＵＶ４４４＿ｃｏｍｐｒｅｓｓｉｏｎ＿ｄａｔａ２
｛    
・ｐｒｅｄＭｏｄｅ＿Ｌｕｍａ        （Ｙの予測に関わる情報）
・ｐｒｅｄＭｏｄｅ＿Ｃｈｒｏｍａ    （ＵとＶの予測に関わる情報）
・ＱＰ＿Ｌｕｍａ                    （ＹのＱＰ）
・ＱＰ＿ｏｆｆｓｅｔＣｈｒｏｍａ    （ＵとＶのＱＰ＝ＱＰ＿Ｙ＋ＱＰ＿ｏｆｆｓｅｔＣｈｒｏｍａ）
・ＶＬＣ＿ｉｄｘＬｕｍａ            （Ｙの可変長符号化ｉｄｘ）
・ＶＬＣ＿ｉｄｘＣｈｒｏｍａ        （ＵとＶの可変長符号化ｉｄｘ）
・ｓｙｍｂｏｌ＿ＹＵＶ４４４＿１    （ＹＵＶ圧縮シンボルの第一番目要素）
・ｓｙｍｂｏｌ＿ＹＵＶ４４４＿２    （ＹＵＶ圧縮シンボルの第二番目要素）
・・・
・ｓｙｍｂｏｌ＿ＹＵＶ４４４＿ｉ    （ＹＵＶ圧縮シンボルの第ｉ番目要素）
・・・
・ｓｙｍｂｏｌ  ＹＵＶ４４４＿ｎ    （ＹＵＶ圧縮シンボルの第ｎ番目要素）
｝
【００９９】
次に、ＹＵＶ４２２フォーマットの画像を圧縮する際の圧縮データのデータ構造の例を示す。ＹＵＶ４２２＿ｃｏｍｐｒｅｓｓｉｏｎ＿ｄａｔａは、輝度Ｙに対し、色差Ｕ，Ｖが、それぞれＱＰオフセットを有する例である。ＹＵＶ４２２フォーマットの圧縮データは、輝度Ｙと色差Ｕとの組み合わせからなるシンボルの要素と、輝度Ｙと色差Ｖとの組み合わせからなるシンボルの要素とを有する。
【０１００】
ＹＵＶ４２２＿ｃｏｍｐｒｅｓｓｉｏｎ＿ｄａｔａ
｛
・ＱＰ＿Ｙ                  （ＹのＱＰ）
・ＱＰ＿ｏｆｆｓｅｔＵ      （ＵのＱＰ＝ＱＰ＿Ｙ＋ＱＰ＿ｏｆｆｓｅｔＵ）
・ＱＰ＿ｏｆｆｓｅｔＶ      （ＶのＱＰ＝ＱＰ＿Ｙ＋ＱＰ＿ｏｆｆｓｅｔＶ）
・ＶＬＣ＿ｉｄｘＹ          （Ｙの可変長符号化ｉｄｘ）
・ＶＬＣ＿ｉｄｘＵ          （Ｕの可変長符号化ｉｄｘ）
・ＶＬＣ＿ｉｄｘＶ          （Ｖの可変長符号化ｉｄｘ）
・ｓｙｍｂｏｌ＿ＹＵ＿１    （ＹＵ圧縮シンボルの第一番目要素）
・ｓｙｍｂｏｌ＿ＹＶ＿１    （ＹＶ圧縮シンボルの第一番目要素）
・・・
・ｓｙｍｂｏｌ＿ＹＵ＿ｉ    （ＹＵ圧縮シンボルの第ｉ番目要素）
・ｓｙｍｂｏｌ＿ＹＶ＿ｉ    （ＹＶ圧縮シンボルの第ｉ番目要素）
・・・
・ｓｙｍｂｏｌ＿ＹＵ＿ｎ    （ＹＵ圧縮シンボルの第ｎ番目要素）
・ｓｙｍｂｏｌ＿ＹＶ＿ｎ    （ＹＶ圧縮シンボルの第ｎ番目要素）
｝
【０１０１】
ｓｙｍｂｏｌＹＵ＿ｉ｛
・ｐｒｅｆｉｘＹ        （Ｙを構成するシンボルのプレフィクス）
・ｐｒｅｆｉｘＵ        （Ｕを構成するシンボルのプレフィクス）
・ｓｕｆｆｉｘＹ        （Ｙを構成するシンボルのサフィックス）
・ｓｕｆｆｉｘＵ        （Ｕを構成するシンボルのサフィックス）
｝
【０１０２】
ｓｙｍｂｏｌＹＶ＿ｉ｛
・ｐｒｅｆｉｘＹ          （Ｙを構成するシンボルのプレフィクス）
・ｐｒｅｆｉｘＶ          （Ｖを構成するシンボルのプレフィクス）
・ｓｕｆｆｉｘＹ          （Ｙを構成するシンボルのサフィックス）
・ｓｕｆｆｉｘＶ          （Ｖを構成するシンボルのサフィックス）
｝
【０１０３】
ｓｙｍｂｏｌＹＵｉの例について、以下説明する。例えば、ｐｒｅｆｉｘは可変長のユーナリコードであり、ｓｕｆｆｉｘはｐｒｅｆｉｘ長と可変長符号化のｉｄｘにより決定される。以下の例では、Ｙのｓｕｆｆｉｘ長＝２、Ｕのｓｕｆｆｉｘ長＝３である。
【０１０４】
ここでは、それぞれのプレフィックスとサフィックスとを示すが、シンボル中では、これらのコードは、連続している。
ｐｒｅｆｉｘＹ  ０００１
ｐｒｅｆｉｘＵ  ００１
ｓｕｆｆｉｘＹ  １１
ｓｕｆｆｉｘＵ  １０１
【０１０５】
この場合、Ｙ、Ｕ、Ｖのシンボルは、それぞれ以下の通りとなる。
Ｙのシンボル    ０００１｜１１
Ｕのシンボル    ００１｜１０１
【０１０６】
ｓｙｍｂｏｌＹＶｉの例について、以下説明する。例えば、ｐｒｅｆｉｘは可変長のユーナリコードであり、ｓｕｆｆｉｘはｐｒｅｆｉｘ長と可変長符号化のｉｄｘにより決定される。以下の例では、Ｙのｓｕｆｆｉｘ長＝２、Ｖのｓｕｆｆｉｘ長＝５である。
【０１０７】
ここでは、それぞれのプレフィックスとサフィックスとを示すが、シンボル中では、これらのコードは、連続している。
ｐｒｅｆｉｘＹ  ０００００１
ｐｒｅｆｉｘＶ  ０１
ｓｕｆｆｉｘＹ  ０１
ｓｕｆｆｉｘＶ  １０１０１
【０１０８】
この場合、Ｙ、Ｕ、Ｖのシンボルは、それぞれ以下の通りとなる。
Ｙのシンボル    ０００００１｜０１
Ｖのシンボル    ０１｜１０１０１
【０１０９】
以上の処理により、入力画像１０２を所定のデータサイズの圧縮データ１１０に圧縮できる。この方式では、圧縮モード判定部１０６における圧縮モード選択の自由度が大きく、ブロック毎の割り当て符号量を可変にすることが可能であるため、画質が画面内で一様に近くなり、ＣＢＲ制御よりも高品質な圧縮が可能となる。
【０１１０】
〔第７の実施の形態〕
本発明の実施の形態は、第１の実施の形態から第６の実施の形態のうち、何れか一以上の実施の形態が組み合わされたものでもよい。図１５は、動画像符号化装置１０３による動画像を圧縮する処理を説明するフロー図である。図１５の処理では、入力された画像データがブロックに分割され、所定の符号量以下となる圧縮モードが選択されて圧縮されることにより、圧縮データが生成される。
【０１１１】
図１５のステップＳ１０１では、入力画像１０２の所定の単位が、ブロックに分割され、画像ブロック用バッファ１０４に格納される。ステップＳ１０１に続くステップＳ１０２からステップＳ１０７の処理は、所定の単位に含まれるブロックの数だけ繰り返される。
【０１１２】
ステップＳ１０２では、仮圧縮部１０５が、複数の可変長圧縮モードによる圧縮処理を行い、生成する符号の符号量を算出する。ここでは、異なる複数のＱＰにより圧縮処理を行うとよい。また、一のＱＰに対し、異なる可変長符号テーブルを用いてもよい。
【０１１３】
ステップＳ１０２に続くステップＳ１０３では、圧縮モード判定部１０６が、ステップＳ１０２で符号量が算出された複数の可変長圧縮モードと固定長圧縮モードとの中から、一の圧縮モードを選択する。より詳細には、例えば、図７に基づいて、符号量が所定の値以下となる圧縮モードが選択される。圧縮判定部１０６は、例えば第１の実施の形態で述べた方法を用いて、圧縮モードを選択する。
【０１１４】
圧縮モード判定部１０６は、さらに、圧縮モードバッファ６２に、圧縮モードの情報を格納させる。この情報は、圧縮率に係る情報であり、例えば、ＱＰ等の量子化のパラメータ、ブロックの符号量、又は、圧縮率等である。ＱＰは、例えば、量子化ステップ幅でもよい。
【０１１５】
ステップＳ１０３に続いてステップＳ１０４に進む。ステップＳ１０４では、既に圧縮されたブロックの圧縮率に係る情報を利用し、圧縮モードを更新する。例えば、図１１に示す、１ブロックライン上のＱＰａｖｅを用いる処理があげられる。
【０１１６】
ステップＳ１０４に続いてステップＳ１０５に進み、ステップＳ１０４で選択された圧縮モードが、固定長圧縮モードであるか否かの判断がなされる。固定長圧縮モードである場合には、ステップＳ１０６に進み、固定長圧縮モードではない場合には、ステップＳ１０７に進む。
【０１１７】
ステップＳ１０５に続くステップＳ１０６では、固定長圧縮部１０８が、固定長圧縮モードにより各ブロックを符号化して圧縮データを生成する。一方、ステップＳ１０５に続くステップＳ１０７では、可変長圧縮部１０９が、可変長圧縮モードにより各ブロックを符号化して圧縮データを生成する。ステップＳ１０６又はステップＳ１０７の処理の後、未だ処理されていないブロックがある場合には、ステップＳ１０２に戻って処理を繰り返す。一方、全てのブロックが処理されている場合には、処理を終了する。
【０１１８】
図１６は、可変長圧縮部１０９による図１５のステップＳ１０７の処理の詳細を説明するフロー図である。ステップＳ２０１では、エントロピー削減処理が行われる。エントロピー削減処理は、画素毎の差分演算等の予測処理、又は、ＤＣＴ等による線形変換等である。ステップＳ２０１に続いてステップＳ２０２に進み、ステップＳ２０１でエントロピー削減処理された値に対し、量子化処理が行われる。なお、量子化処理は、エントロピー削減処理される前の値に対して行われてもよい。
【０１１９】
ステップＳ２０２に続いてステップＳ２０３に進み、既に生成された可変長符号に対して、入力された信号列が正又は負の何れか一に偏っているか否かの判断がなされる。正又は負に偏っている場合にはステップＳ２０４に進み、偏っていない場合にはステップＳ２０５に進む。ステップＳ２０３に続いてステップＳ２０４に進み、可変長符号化を行うシンボルの正負を反転する。ステップＳ２０４の後、ステップＳ２０５に進む。
【０１２０】
ステップＳ２０５では、異なる複数の可変長符号テーブルのそれぞれに対応する可変長符号を生成する。ステップＳ２０５に続いてステップＳ２０６に進み、ステップＳ２０５で生成された可変長符号のうち、符号量が最小の可変長符号を選択して出力する。なお、ステップＳ２０３からステップＳ２０５の処理は、図１５のステップＳ１０２において行われてもよい。
【０１２１】
（コンピュータ等による実現）
上述の各実施の形態の動画像符号化装置は、例えば、ＡＳＩＣ回路として実現されることができる。上述の各実施の形態の動画像符号化装置は、パーソナルコンピュータ（ＰＣ）等で実現されても構わない。また、上述の各実施の形態の動画像符号化方法は、例えば、ＣＰＵがＲＯＭやハードディスク装置等に記憶されたプログラムに従い、ＲＡＭ等のメインメモリをワークエリアとして使用し、実行される。
【０１２２】
本発明は、上述の実施の形態に限定されるものではない。本発明の主旨をそこなわない範囲で変更することが可能である。
【産業上の利用可能性】
【０１２３】
本発明の動画像符号化装置は、動画像を記録又は送信する装置に有用である。
【符号の説明】
【０１２４】
５１    エントロピー削減処理部
５２    量子化部
５３    可変長符号化部
６１    圧縮モード判定部
６２    圧縮モードバッファ
８１    エントロピー削減処理部
８２    量子化部
８３    固定長符号化部
９１    エントロピー削減処理部
９２    量子化部
９３    可変長符号化部
１０１  固定長圧縮モード符号量
１０２  入力画像
１０３  動画像符号化装置
１０４  画像ブロック用バッファ
１０５  仮圧縮部
１０６  圧縮モード判定部
１０７  本圧縮部
１０８  固定長圧縮部
１０９  可変長圧縮部
１１０  圧縮データ
３０３  固定長符号生成部
５３１  正負反転部
５３２  可変長符号化部
【図１】
0005524072.tif 000002
【図２】
0005524072.tif 000003
【図３】
0005524072.tif 000004
【図４】
0005524072.tif 000005
【図５】
0005524072.tif 000006
【図６】
0005524072.tif 000007
【図７】
0005524072.tif 000008
【図８】
0005524072.tif 000009
【図９】
0005524072.tif 000010
【図１０】
0005524072.tif 000011
【図１１】
0005524072.tif 000012
【図１２】
0005524072.tif 000013
【図１３】
0005524072.tif 000014
【図１４】
0005524072.tif 000015
【図１５】
0005524072.tif 000016
【図１６】
0005524072.tif 000017