(57)【要約】【課題】本発明は、符号化処理に要する伝送効率を格段と向上し得る符号化装置及び符号化方法を実現するものである。【解決手段】各符号化手段が符号化処理を行う際に１フレーム当りの発生符号量を一定にさせるように、読出制御手段は、取り除くビットプレーンの数を決定するようにしたことにより、ユーザから見て比較的細かい情報である部分に相当する所定数分のビットプレーンを取り除いた分だけ、各符号化手段がそれぞれ符号化処理を行う前段階での処理時間の変動を未然に防止することができるようにした。【選択図】        図９
2004320216.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データをフィルタリング処理を施すことによりフィルタリング係数を生成するフィルタリング生成手段と、
上記フィルタリング係数を各画素の最上位ビットから最下位ビットまでの複数のビットプレーンに分割する分割手段と、
上記複数のビットプレーンのうち、下位側から所定数の上記ビットプレーンを取り除いた後、残りの各上記ビットプレーンのみを読み出して並列的に出力する読出制御手段と、
上記読出制御手段により並列的に出力された上記複数のビットプレーンについてそれぞれ符号化処理する複数の符号化手段と
を具え、各上記符号化手段が上記符号化処理を行う際に１フレーム当りの発生符号量を一定にさせるように、上記読出制御手段は、取り除く上記ビットプレーンの数を決定する
ことを特徴とする符号化装置。
【請求項２】
上記読出制御手段は、
上記記憶手段に記憶されている各上記ビットプレーンのうち下位側かつ上記階層レベルの低い側から所定数の上記ビットプレーンを取り除く
ことを特徴とする請求項１に記載の符号化装置。
【請求項３】
各上記符号化手段による符号化処理の結果に基づいて、１フレーム当りの発生符号量を一定にさせるためにフィードフォワードさせるレート制御手段
を具えることを特徴とする請求項１に記載の符号化装置。
【請求項４】
入力された画像データをフィルタリング処理を施すことによりフィルタリング係数を生成する第１のステップと、
上記フィルタリング係数を各画素の最上位ビットから最下位ビットまでの複数のビットプレーンに分割する第２のステップと、
分割された上記複数のビットプレーンのうち、下位側から所定数の上記ビットプレーンを取り除いた後、残りの上記複数のビットプレーンのみを読み出して並列的に出力する第３のステップと、
並列的に出力された上記複数のビットプレーンについてそれぞれ符号化処理する第４のステップと
を具え、上記第４のステップにおいて各上記符号化処理を行う際に１フレーム当りの発生符号量を一定にさせるように、上記第３のステップでは、取り除く上記ビットプレーンの数を決定する
ことを特徴とする符号化方法。
【請求項５】
上記第３のステップでは、
各上記ビットプレーンのうち下位側かつ上記階層レベルの低い側から所定数の上記ビットプレーンを取り除く
ことを特徴とする請求項４に記載の符号化方法。
【請求項６】
上記第４のステップにおける各上記符号化処理の結果に基づいて、１フレーム当りの発生符号量を一定にさせるために必要な上記第３のステップにおいて取り除く上記ビットプレーンの数を設定した後、当該第３のステップにフィードバックさせる第６のステップ
を具えることを特徴とする請求項４に記載の符号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は符号化装置及び符号化方法に関し、例えばＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐｅ  ）２０００規格に準拠した符号化装置及び符号化方法に適用して好適なものである。
【０００２】
【従来の技術】
近年、新しいデータ圧縮方式として、ＪＰＥＧ２０００規格と呼ばれる圧縮方式が規格化されている。
【０００３】
【発明が解決しようとする課題】
ところで、かかるＪＰＥＧ２０００規格による符号化方式では、符号化処理が煩雑で伝送時間の短縮化を図ることが望まれていた。
【０００４】
本発明は以上の点を考慮してなされたもので、符号化処理に要する伝送効率を格段と向上し得る符号化装置及び符号化方法を提案するものである。
【０００５】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、入力された画像データをフィルタリング処理を施すことによりフィルタリング係数を生成するフィルタリング生成手段と、フィルタリング係数を各画素の最上位ビットから最下位ビットまでの複数のビットプレーンに分割する分割手段と、複数のビットプレーンのうち、下位側から所定数のビットプレーンを取り除いた後、残りの各ビットプレーンのみを読み出して並列的に出力する読出制御手段と、読出制御手段により並列的に出力された複数のビットプレーンについてそれぞれ符号化処理する複数の符号化手段とを設け、各符号化手段が符号化処理を行う際に１フレーム当りの発生符号量を一定にさせるように、読出制御手段は、取り除くビットプレーンの数を決定するようにした。
【０００６】
この結果この符号化装置では、ユーザから見て比較的細かい情報である部分に相当する所定数分のビットプレーンを取り除いた分だけ、各符号化手段がそれぞれ符号化処理を行う前段階での処理時間の変動を未然に防止することができる。
【０００７】
また本発明においては、入力された画像データをフィルタリング処理を施すことによりフィルタリング係数を生成する第１のステップと、フィルタリング係数を各画素の最上位ビットから最下位ビットまでの複数のビットプレーンに分割する第２のステップと、分割された複数のビットプレーンのうち、下位側から所定数のビットプレーンを取り除いた後、残りの複数のビットプレーンのみを読み出して並列的に出力する第３のステップと、並列的に出力された複数のビットプレーンについてそれぞれ符号化処理する第４のステップとを設け、第４のステップにおいて各符号化処理を行う際に１フレーム当りの発生符号量を一定にさせるように、第３のステップでは、取り除くビットプレーンの数を決定するようにした。
【０００８】
この結果この符号化方法では、ユーザから見て比較的細かい情報である部分に相当する所定数分のビットプレーンを取り除いた分だけ、各符号化処理を行う前段階での処理時間の変動を未然に防止することができる。
【０００９】
【発明の実施の形態】
以下図面について、本発明の一実施の形態を詳述する。
【００１０】
（１）本実施の形態による符号化装置の構成
図１において、１は全体として符号化装置を示し、外部からビデオ入力部（ＶＩＮ：Ｖｉｄｅｏ  Ｉｎ）２に動画像データ（例えばＩＴＵ−Ｒ  ＢＴ６５６規格に対応する標準動画像信号）Ｄ１が入力されると、このビデオ入力部２は、ＣＰＵ３の制御の下で、当該動画像データに時間多重されている各コンポーネントデータ（輝度Ｙ及び色差Ｃｂ、Ｃｒ）を分離した後、当該各コンポーネントデータＤ２ごとに画像符号化領域を抽出してレジスタＲ１Ｅに送出する。
【００１１】
レジスタＲ１Ｅは、ビデオ入力部２から与えられた各コンポーネントデータＤ２を一旦格納すると共に、それぞれ元の画像データの１フレーム分ごとに分けて順次インターフェースＰＳＧを介してＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４に記憶させる。その際、レジスタＲ１Ｅは、各コンポーネントデータＤ２ごとに１フレーム内のＳＤＲＡＭ４のアドレスを発生するようになされている。
【００１２】
続いてＣＰＵ３は、ＳＤＲＡＭ４に記憶されたフレーム単位の各コンポーネントデータＤ２を読み出してインターフェースＰＳＧ及びレジスタＲ２Ｅを介してウェーブレット変換部（ＤＷＴ：Ｄｉｓｃｒｅｔｅ  Ｗａｖｅｌｅｔ  Ｔｒａｎｓｆｏｒｍ）５に送出する。
【００１３】
その際レジスタＲ２Ｅでは、後述するウェーブレット変換に必要な画像の順番情報を管理しており、各コンポーネントデータＤ２ごとに１フレーム内のＳＤＲＡＭ４のアドレスを発生する。
【００１４】
このウェーブレット変換部５は、低域周波数通過型及び高域周波数通過型の２分割フィルタ（図示せず）を有し、当該各２分割フィルタを用いて、各コンポーネントデータＤ２に基づく画像をそれぞれ水平方向及び垂直方向に周波数及び時間の双方で分割する処理（すなわちウェーブレット変換処理）を施す。
【００１５】
すなわちウェーブレット変換処理は、ある周波数帯を取り出すと共に低域周波数を２：１で間引き再びフィルタをかける操作を繰り返すことにより、再帰的に低域を分割していくようにして、高域周波数から段階的に周波数成分を抽出する処理である（以下、当該各段階をレベルと呼ぶ）。
【００１６】
この結果、各コンポーネントデータＤ２に基づく画像は、図２に示すように、各レベル（本実施の形態の場合５レベルまで）ごとに、水平方向が低域周波数側で垂直方向が高域周波数側の成分（以下、これをＬＨ成分と呼ぶ）、水平方向が高域周波数側で垂直方向が低域周波数側の成分（以下、これをＨＬ成分と呼ぶ）、水平方向が高域周波数側で垂直方向が高域周波数側の成分（以下、これをＨＨ成分と呼ぶ）、水平方向が低域周波数側で垂直方向が低域周波数側の成分（以下、これをＬＬ成分と呼ぶ）に分割される。
【００１７】
ウェーブレット変換部５において、各レベルごとに、ＬＨ成分、ＨＬ成分、ＨＨ成分及びＬＬ成分に画像が分割された各コンポーネントデータＤ３は、量子化部（Ｑ：ｑｕａｎｔｕｍ）６を介して量子化された後、ビットプレーン変換部（ＷＴＢ：Ｗｏｒｄ  ｔｏ  Ｂｉｔｐｌａｎｅ）７に供給される。なお各コンポーネントデータＤ３のうち最終階層レベル以外のＬＬ成分は、量子化部６及びビットプレーン変換部７の各処理を行うことなく、レジスタＲ４Ｅ及びインターフェースＰＳＧを介してそのままＳＤＲＡＭ４に記憶される。
【００１８】
ビットプレーン変換部７は、ウェーブレット変換された各コンポーネントデータＤ３について、図３（Ａ）に示すように、例えば６４×６４（＝４０９６）個のワードを１個のコードブロックＣＢとして、階層レベルごとにかつ帯域周波数ごとに、当該コードブロック単位に分割する。
【００１９】
さらにビットプレーン変換部７は、各コードブロックＣＢ（図３（Ａ））について、各画素の最上位ビット（ｂｉｔ１５）が集まって構成するプレーンＢＰ１５から最下位ビット（ｂｉｔ０）が集まって構成するプレーンＢＰ０までの１６枚のビットプレーンＢＰ０〜ＢＰ１５に分割する。その際、ビットプレーン変換部７は、各コンポーネントデータについての各コードブロックに対する０ビットのビットプレーン（以下、これをゼロビットプレーンと呼ぶ）を検出する。
【００２０】
この後、ＣＰＵ３は、ビットプレーン変換部７から出力された各コードブロックをレジスタＲ４Ｅに一旦格納しながら順次インターフェースＰＳＧを介してＳＤＲＡＭ４に記憶させる。
【００２１】
続いてＣＰＵ３は、ＳＤＲＡＭ４に記憶された各ビットプレーンを読み出しながら、インターフェースＰＳＧ及びレジスタＲ５Ｅを介してそれぞれ対応するビットモデル部（ＣＢＭ：Ｃｏｅｆｆｉｃｉｅｎｔ  Ｂｉｔ  Ｍｏｄｅｌｉｎｇ）８Ａ（８Ａ０〜８ＡＸ（本実施の形態ではＸ＝１５））及び続く算術符号化部（ＡＣ：Ａｒｉｔｈｍａｔｉｃ）９Ａ（９Ａ０〜９ＡＸ）にパラレルに送出する。
【００２２】
その際、ＣＰＵ３は、ＳＤＲＡＭ４から読み出した各ビットプレーンのうち実際にビットが１であるビットプレーン（以下、これを処理ビットプレーンと呼ぶ）の数がコードブロック毎に相違することから、当該各コードブロックに対応するビットモデル部８Ａの処理時間が変動するのを防止するように、レジスタＲ５Ｅの入出力状態を制御するようになされている。
【００２３】
ここで量子化後のコードブロックＣＢは、図４（Ａ）のように１６枚のビットプレーンから構成され、図４（Ｂ）に示すように、最上位ビットの正負を表す１枚のビットプレーン（以下、これを符号ビットプレーンと呼ぶ）ＢＰ１５と、その下位にある何枚かのゼロビットプレーンＢＰＺと、さらに下位にある何枚かの処理ビットプレーンＢＰＹとを有する。
【００２４】
そしてＣＰＵ３は、ビットプレーン変換部７からレジスタＲ４Ｅを介して送られてくるビットプレーンを監視しながら、必要なビットプレーンのみをレジスタＲ５Ｅに送出するようにレート制御を実行させる。
【００２５】
ここでビットモデル部８Ａは、レジスタＲ５Ｅからパラレルで供給される各コードブロックにおける各ビットプレーンの各ビットに相当するコンテクストを作成した後、当該各ビットに同期させて対応する算術符号化部９Ａに送出する。
【００２６】
このビットモデル部８Ａは、後段の算術符号化部９Ａにおいて算術符号する順番に各ビット及び相当するコンテクストを出力する。
【００２７】
ここで算術符号化部９Ａでは、ＪＰＥＧ２０００規格に準拠するエントロピー符号化をビットプレーン毎に独立して行うようになされている。従って、ＣＰＵ３は、必要最小限のビットプレーンのみを符号化するために、各ビットモデル部８Ａにそれぞれ供給する必要なビットプレーン数を確定させる。
【００２８】
すなわち上述した図４（Ｂ）の１６枚のビットプレーンのうち処理ビットプレーンＢＰＹの下位の何枚かを非処理ビットプレーンＢＰＷとすることにより（図４（Ｃ））、残りの処理ビットプレーンＢＰＸ（Ｘ：Ｙ−Ｗ）のみが処理対象とされる。
【００２９】
そして各算術符号化部９Ａは、対応するビットモデル部８Ａから送られてきたビットに対してコンテクスト毎の発生確率を演算して符号化ストリームを作成する。
【００３０】
一般の算術符号化方法とは、第１に、入力ビットが「０」又は「１」である点、第２に、入力ビットを符号化するのではなくＭＰＳ（Ｍｏｒｅ  Ｐｒｏｂａｂｌｅ  Ｓｙｍｂｏｌ）及びＬＰＳ（Ｌｅｓｓ  Ｐｒｏｂａｂｌｅ  Ｓｙｍｂｏｌ）を符号化する点、第３に、入力ビットの出現確率は入力ビットに従い学習する点、第４に、区間分割の乗算演算を加算演算によって近似する点が相違する。
【００３１】
この後、ＣＰＵ３は、各算術符号化部９Ａからそれぞれ出力された符号化後のコードブロックをレジスタＲ６Ｅに一旦格納しながら符号化ストリームとしてインターフェースＰＳＧを介してＳＤＲＡＭ４に記憶させる。
【００３２】
その際、ＣＰＵ３は、各算術符号化部９Ａにおいて符号化処理に要する時間が相違するため、当該各算術符号化部９Ａを監視し一定の符号化ストリームが作成されたら次から次へのＳＤＲＡＭ４に記憶させるようにレジスタＲ６Ｅを制御する。
【００３３】
続いてＣＰＵ３は、ＳＤＲＡＭ４に記憶された符号化ストリームの中でレート制御により決定された符号化ストリームのみを読み出しながら、インターフェースＰＳＧ及びレジスタＲ７Ｅを介してフォーマット生成部（ＦＭＴ：ｆｏｒｍａｔ）１０に送出する。
【００３４】
このフォーマット生成部１０は、レジスタＲ６Ｅを介してＣＰＵ３によってＳＤＲＡＭ４から読み出された符号化ストリームについて、当該符号化ストリームがエントロピー符号化された符号列であるため、所望のストリーム順番に形成しかつ付加情報（ヘッダ）を追加してＪＰＥＧ２０００規格に準拠したデータストリームを作成した後、外部出力する。
【００３５】
なおＣＰＵ３には、ワークメモリとしてのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２が接続され、必要に応じて各種データを読出し又は書込みし得るようになされている。
【００３６】
（２）符号化ビットプレーン数の確定方法
伝送レート制御により切り捨てられるビットプレーンは、結果としてビットモデル部８Ａ及び算術符号化部９Ａの各処理を行う必要がない。しかし伝送レート制御は算術符号化部９Ａにおいて計算された発生符号量を基に制御する。そこで各ビットプレーンの係数からビットモデル部８Ａ及び算術符号化部９Ａの各処理を行わず簡易な方法で計算し、発生符号量を予測する。この方法で計算された発生符号量を予測発生符号量と呼ぶ。
【００３７】
この予測発生符号量に対して伝送レート制御と同じ手法で必要なビットプレーンを確定し処理ビットプレーンとする。当然予測発生符号量はビットモデル部８Ａ及び算術符号化部９Ａの各処理を行って得られた発生符号量とは異なるため確定された必要なビットプレーンに余裕をもったビットプレーンを処理ビットプレーンとする。例えば図１２の灰色部分が予測発生符号量より求められた必要なビットプレーンとすると処理ビットプレーンとして各コードブロックもう１ビットプレーン加えて処理ビットプレーンとする。
【００３８】
上述したようにＣＰＵ３は、レジスタＲ５Ｅを制御して各ビットモデル部８Ａに供給するコードブロックのビットプレーン数を制御することにより、当該各ビットモデル部８Ａに対応する算術符号化部９Ａにおける処理時間を最小限に抑える。
【００３９】
その際、ＣＰＵ３は、各ビットモデル部８Ａにそれぞれ供給する必要なビットプレーン数を確定させる一方、必要でないビットプレーン（ＬＳＢ側）を切り捨てるのであるが、以下に必要なビットプレーン数の確定方法について説明する。
【００４０】
具体的には、ＣＰＵ３は、図５に示すような機能ブロックで表されるアルゴリズムを有し、有意サンプル計算部３Ａ、符号量推定部３Ｂ、１次レート制御部３Ｃ及び２次レート制御部３Ｄから構成される。
【００４１】
まずＣＰＵ３内の有意サンプル計算部３Ａでは、各コードブロックの各ビットプレーンについて、初めて“ｓｉｇｎｉｆｉｃａｎｔ”（有意）になったサンプルの数を計算して出力する。
【００４２】
具体的には、ＣＰＵ３は、図６に示す有意サンプル計算処理手順ＲＴ１をステップＳＰ０から開始し、続くステップＳＰ１においてコードブロック番号ｃｂを「０」とした後、ステップＳＰ２に進んで、全てのサンプルｓについてｓｉｇｎｉｆｉｃａｎｔ〔ｓ〕を「０」と初期化する。
【００４３】
そしてＣＰＵ３は、ステップＳＰ３に進んで、コードブロック番号ｃｂのビットプレーン番号ｂｐで初めて“ｓｉｇｎｉｆｉｃａｎｔ”（有意である状態、すなわち既に「１」であるビットを符号化済みであること）になったサンプルの数をＣｏｕｎｔＮｅｗＳｉｇ〔ｃｂ〕〔ｂｐ〕としたとき、ビットプレーン番号ｂｐを０でかつＣｏｕｎｔＮｅｗＳｉｇ〔ｃｂ〕〔ｂｐ〕を０に設定した後、ステップＳＰ４に進む。このビットプレーン番号ｂｐはＭＳＢ側からＬＳＢ側に向けて番号が割り当てられている。
【００４４】
このステップＳＰ４において、ＣＰＵ３は、コードブロック番号ｃｂ及びビットプレーン番号ｂｐにおいて未処理のサンプルｓを１つ選んだ後、ステップＳＰ５に進んで、ｓｉｇｎｉｆｉｃａｎｔ〔ｓ〕が０でかつサンプルｓのビットプレーン番号ｂｐ番目のビットが「１」か否かを判断する。
【００４５】
このステップＳＰ５において肯定結果が得られたとき、ＣＰＵ３は、ステップＳＰ６に進んで、ｓｉｇｎｉｆｉｃａｎｔ〔ｓ〕を１とし、かつＣｏｕｎｔＮｅｗＳｉｇ〔ｃｂ〕〔ｂｐ〕に「１」を加えた後、ステップＳＰ７に進む。一方ステップＳＰ５において否定結果が得られたとき、ＣＰＵ３はそのままステップＳＰ７に進む。
【００４６】
次にステップＳＰ７において、ＣＰＵ３は、未処理サンプルがあるか否かを判断し、肯定結果が得られた場合には再度ステップＳＰ４に戻って上述と同様の処理を繰り返す一方、否定結果が得られた場合にはステップＳＰ８に進んで、ＣｏｕｎｔＮｅｗＳｉｇ〔ｃｂ〕〔ｂｐ〕を後段の符号量推定部３Ｂに出力する。
【００４７】
そしてＣＰＵ３は、ステップＳＰ９に進んで、未処理ビットプレーンがあるか否かを判断し、肯定結果が得られた場合には、ステップＳＰ１０に進んでビットプレーン番号に「１」を加えた後、再度ステップＳＰ３に戻って上述と同様の処理を繰り返す一方、否定結果が得られた場合には全てのビットプレーンが処理されたと判断してそのままステップＳＰ１１に進む。
【００４８】
このステップＳＰ１１において、ＣＰＵ３は、未処理コードブロックがあるか否かを判断し、肯定結果が得られた場合には、ステップＳＰ１２に進んでコードブロック番号に「１」を加えた後、再度ステップＳＰ２に戻って上述と同様の処理を繰り返す一方、否定結果が得られた場合には全てのコードブロックが処理されたと判断してステップＳＰ１３に進んで当該有意サンプル計算処理手順ＲＴ１を終了する。
【００４９】
このようにしてＣＰＵ３内の有意サンプル計算部３Ａでは、各コードブロックにおける各ビットプレーンについて、初めて有意になったサンプルの数を計算して出力することができる。
【００５０】
続いてＣＰＵ３内の符号量推定部３Ｂでは、各コードブロックの各ビットプレーンについて、そのビットプレーンで発生する符号量の推定値を出力する。そしてＣＰＵ３内の１次レート制御部３Ｃでは、ビットプレーン毎の推定符号量を入力とし、固定ビット・トランケーション（切り捨て）による制御を行い、全てのコードブロックで必要なビットプレーン数とを出力する。
【００５１】
因みにＣＰＵ３内の２次レート制御部３Ｄでは、後述するように、ビットプレーン毎の推定符号量のみならず、１フレーム当りの発生符号量を一定にさせるために伝送レートを制御させる量（以下、これを目標符号量と呼ぶ）をも入力として、固定ビット・トランケーションによるレート制御を行うようになされている。
【００５２】
具体的には、ＣＰＵ３は、図７に示す符号量推定及び１次レート制御処理手順ＲＴ２をステップＳＰ２０から開始し、続くステップＳＰ２１においてビットプレーン番号を「０」かつ利用可能なバイト数を目標バイト数に設定した後、ステップＳＰ２２に進んで、コードブロック番号ｃｂを「０」かつ推定符号量Ｂｉｔｓ〔ｃｂ〕を「０」と初期化する。
【００５３】
そしてＣＰＵ３は、ステップＳＰ２３に進んで、ビットプレーン番号ｂｐが「０」か否かを判断し、肯定結果が得られた場合には、ステップＳＰ２４に進んでＣｏｕｎｔＭＲ〔ｃｂ〕〔ｂｐ〕を「０」にした後、ステップＳＰ２５に進む。一方ステップＳＰ２３において、否定結果が得られた場合には、ＣＰＵ３はステップＳＰ２６に進んでコードブロック番号ｃｂのビットプレーン番号ｂｐでＭＲ（Ｍａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔ）符号化を行う数を表すＣｏｕｎｔＭＲ〔ｃｂ〕〔ｂｐ〕を、ビットプレーン番号が一つ前のＣｏｕｎｔＭＲ〔ｃｂ〕〔ｂｐ−１〕とＣｏｕｎｔＮｅｗＳｉｇ〔ｃｂ〕〔ｂｐ−１〕とを加算した値に設定した後、ステップＳＰ２５に進む。なおＣｏｕｎｔＭＲ〔ｃｂ〕〔ｂｐ〕は、ｉ＝０〜ｂｐ−１としたときのΣ（ｉ＝０〜ｂｐ−１）ＣｏｕｎｔＮｅｗＳｉｇ〔ｃｂ〕〔ｉ〕として定義される。
【００５４】
このステップＳＰ２５において、ＣＰＵ３は、一時的な推定符号量ＢｉｔｓＴｍｐを、ＲａｔｉｏＮｅｗＳｉｇ及びＲａｔｉｏＭＲをそれぞれパラメータとしたとき、ＣｏｕｎｔＮｅｗＳｉｇ〔ｃｂ〕〔ｂｐ〕×ＲａｔｉｏＮｅｗＳｉｇ＋ＣｏｕｎｔＭＲ〔ｃｂ〕〔ｂｐ〕×ＲａｔｉｏＭＲとして表し、利用可能なバイト数（ＡｖａｉｌａｂｌｅＢｙｔｅｓ）を８で割って小数部分を切り捨てるように、推定符号量をバイト数に変換すると共に、推定符号量Ｂｉｔｓ〔ｃｂ〕に一時的な推定符号量ＢｉｔｓＴｍｐを加算する。
【００５５】
続いてＣＰＵ３は、ステップＳＰ２７において、利用可能なバイト数が０以下であるか否かを判断し、否定結果が得られた場合にはステップＳＰ２８に進んで、未処理コードブロックがあるか否かを判断する一方、肯定結果が得られた場合にはそのままステップＳＰ２９に進んで当該符号量推定及び１次レート制御処理手順ＲＴ２を終了する。
【００５６】
このステップＳＰ２８において肯定結果が得られた場合には、ＣＰＵ３は、ステップＳＰ３０に進んでコードブロック番号ｃｂに「１」を加えた後、再度ステップＳＰ２３に戻って上述と同様の処理を繰り返す一方、否定結果が得られた場合には全てのコードブロックが処理されたと判断してステップＳＰ３１に進む。
【００５７】
そしてステップＳＰ３１において、ＣＰＵ３は、未処理ビットプレーンがあるか否かを判断し、肯定結果が得られた場合には、ステップＳＰ３２に進んでビットプレーン番号ｂｐに「１」を加えた後、再度ステップＳＰ２２に戻って上述と同様の処理を繰り返す一方、否定結果が得られた場合には全てのビットプレーンが処理されたと判断してそのままステップＳＰ２９に進んで当該符号量推定及び１次レート制御処理手順ＲＴ２を終了する。
【００５８】
このようにしてＣＰＵ３内の符号量推定部３Ｂ及び１次レート制御部３Ｃでは、各コードブロックにおける各ビットプレーンについて、当該ビットプレーンで発生する推定符号量を出力すると共に、ビットプレーン毎の推定符号量とに基づいて、全てのコードブロックで必要なビットプレーン数を確定することができる。
【００５９】
（３）レート制御
フォーマット生成部１０から送出する１フレーム当りの発生符号量を一定にさせるために伝送レートを制御させる目標符号量を基準として、ＣＰＵ３（図５では、２次レート制御部３Ｄ）は、ＭＳＢ側からＬＳＢ側の方向にかつ低域周波数側から高域周波数側の順に、輝度Ｙ及び色差Ｃｂ、Ｃｒのコンポーネントの順番で、ビットプレーン単位で目標符号量になるまで選択する。
【００６０】
上述した符号化ビットプレーン数の確定方法では、予測発生符号量に対して必要なビットプレーンを確定したが、レート制御ではビットモデル部８Ａ及び算術符号化部９Ａの処理を行って得られた発生符号量を基に固定ビット・トラケーションによる制御を行うようになされている。
【００６１】
具体的には、ＣＰＵ３は、図１３に示す発生符号量予測処理手順ＲＴ３をステップＳＰ４０から開始し、続くステップＳＰ４１において、利用可能なバイト数（ＡｖａｉｌａｂｌｅＢｙｔｅｓ）を目標バイト数からヘッダ類（メインヘッダ（Ｍａｉｎ  ｈｅａｄｅｒ）、タイルパートヘッダ（Ｔｉｌｅｐａｒｔ  ｈｅａｄｅｒ）、パケットヘッダ（Ｐａｃｋｅｔ  ｈｅａｄｅｒ））の符号量を差し引いた値となるように設定する。
【００６２】
因みに符号化ストリーム全体として、目標符号量内に収まるように、予めヘッダ類の符号量を計算し又は見積もる必要がある。この場合、パケットヘッダの符号量は確定できないので、大まかな値を用いることを前提としている。
【００６３】
そしてＣＰＵ３は、ステップＳＰ４２に進んで、ビットプレーン番号ｂｐを「０」に設定した後、さらにステップＳＰ４３に進んでコードブロック番号ｃｂを「０」に設定する。
【００６４】
続いてＣＰＵ３は、ステップＳＰ４４に進んで、コードブロック番号ｃｂ及びビットプレーン番号ｂｐの実際の発生符号量のバイト数Ｂｙｔｅｓ（ｃｂ、ｂｐ）を検出すると共に、当該バイト数Ｂｙｔｅｓ（ｃｂ、ｂｐ）を利用可能なバイト数（ＡｖａｉｌａｂｌｅＢｙｔｅｓ）から差し引いた後、ステップＳＰ４５に進む。
【００６５】
このステップＳＰ４５において、ＣＰＵ３は、利用可能なバイト数が０以下であるか否かを判断し、否定結果が得られた場合にはステップＳＰ４６に進んで、未処理コードブロックがあるか否かを判断する一方、肯定結果が得られた場合にはステップＳＰ４７に進む。
【００６６】
このステップＳＰ４６において肯定結果が得られた場合には、ＣＰＵ３は、ステップＳＰ４８に進んでコードブロック番号ｃｂに「１」を加えた後、再度ステップＳＰ４３に戻って上述と同様の処理を繰り返す一方、否定結果が得られた場合には全てのコードブロックが処理されたと判断してステップＳＰ４９に進む。
【００６７】
そしてステップＳＰ４９において、ＣＰＵ３は、未処理ビットプレーンがあるか否かを判断し、肯定結果が得られた場合には、ステップＳＰ５０に進んでビットプレーン番号ｂｐに「１」を加えた後、再度ステップＳＰ４２に戻って上述と同様の処理を繰り返す一方、否定結果が得られた場合には全てのビットプレーンが処理されたと判断してそのままステップＳＰ５１に進んで当該発生符号量予測処理手順ＲＴ３を終了する。
【００６８】
これに対してステップＳＰ４５の肯定結果として進んだステップＳＰ４７において、ＣＰＵ３は、利用可能なバイト数が０であるか否かを判断し、否定結果が得られた場合にはステップＳＰ５２に進んで、コードブロック番号ｃｂが「０」であるか否かを判断する一方、肯定結果が得られた場合にはそのままステップＳＰ５１に進んで当該発生符号量予測処理手順ＲＴ３を終了する。
【００６９】
このステップＳＰ５２においてコードブロック番号ｃｂが「０」と判断された場合には、ステップＳＰ５３に進んで、コードブロック番号ｃｂから「１」を差し引いた後、ステップＳＰ５１に進んで当該発生符号量予測処理手順ＲＴ３を終了する。
【００７０】
一方、ステップＳＰ５２においてコードブロック番号ｃｂが「０」でないと判断された場合には、ステップＳＰ５４に進んで、コードブロック番号ｃｂを最大値ｃｂｍａｘにすると共にビットプレーン番号ｂｐから「１」を差し引いた後、ステップＳＰ５１に進んで当該発生符号量予測処理手順ＲＴ３を終了する。
【００７１】
ここで実際上、算術符号化部９Ａにおいて計算された各ビットプレーンの発生符号量を１フレーム分蓄積した状態を図８に示す。縦軸にビットプレーン、横軸にコードブロックを割り当て、１フレームのコードブロック数を表す。
【００７２】
この図２に示すコードブロック分割を例にすると、レベル３の各成分は２個、レベル２の各成分は６個、レベル１の各成分は２０個の合計８６個から構成される。図８において斜線部分はストリームの存在するビットプレーン、すなわち発生符号量がゼロでない有意なビットプレーンである。ビットプレーン変換部７において検出されたゼロビットプレーンは符号を発生しない。
【００７３】
ここで、有意なビットプレーン（図８の斜線部分）をＭＳＢ側のビットでかつレベル数の多い方（図８の左上）から順番に発生符号量を積算する。積算し続けて目標符号量を超える場合は、目標符号量を超えない最大の積算値のビットプレーンで終える。すなわち図９において、縦軸がビット３（ｂｉｔ３）で横軸がレベル１（Ｌｅｖｅｌ）のＨＬ成分の途中で終える。積算し続けて目標符号量を超えない場合は、全てのビットプレーンについて行う。以上積算されたビットプレーンを必要なビットプレーン（図９の斜線部分）と確定する。
【００７４】
実際には各ウェーブレットの階層レベルと帯域に重みをつける。すなわちウェーブレット変換部５（図１）より得られた係数を量子化部６において量子化する。
【００７５】
図１０の例においては、レベル３のＬＬ成分は１で割り（量子化しない）、レベル３のＨＬ成分及びＬＨ成分は２で割り、レベル３のＨＨ成分は４で割るような量子化を行う。またレベル２のＨＬ成分及びＬＨ成分は１６で割り、レベル２のＨＨ成分は３２で割るような量子化を行う。さらにレベル１のＨＬ成分及びＬＨ成分は１２８で割り、レベル１のＨＨ成分は２５６で割るような量子化を行う。
【００７６】
このように図８に対応する図１１に示すような量子化されたビットプレーンに対して伝送レートの制御を行い、図１２に示すように、必要なビットプレーンを確定する。
【００７７】
このようにしてＣＰＵ３では、各コードブロックにおける各ビットプレーンについて、ＭＳＢ側からＬＳＢ側の方向にかつ低域周波数側から高域周波数側の順に、輝度Ｙ及び色差Ｃｂ、Ｃｒのコンポーネントの順番で、ビットプレーン単位で目標符号量になるまで選択することにより、最終的に固定ビット・トランケーションによるレート制御を行うことができる。
【００７８】
（４）本実施の形態による動作及び効果
以上の構成において、この符号化装置１では、ウェーブレット変換処理された各コンポーネントデータＤ３について、所定サイズのワードをコードブロックとして、階層レベルごとにかつ帯域周波数ごとに分割した後、さらに当該各コードブロックを、各画素の最上位ビットから最下位ビットまでの複数のビットプレーンに分割する。
【００７９】
その際、複数のビットプレーンのうち、ＭＳＢ側のビットでかつレベル数の多い方の有意な状態にあるビットプレーンを残す一方、細かい情報が割り当てられた下位（ＬＳＢ側）のビットプレーンを切り取るように、ＳＤＲＡＭ４から読み出してレジスタＲ５Ｅに供給するコードブロック単位のデータをレート制御する。
【００８０】
この結果、各ビットモデル部８Ａは、レジスタＲ５Ｅからパラレルで供給される各コードブロックにおける各ビットプレーンの各ビットに相当するコンテクストを作成した後、対応する各算術符号化部９Ａにおいて、当該コンテクストを各ビットに同期させて順番にＪＰＥＧ２０００規格に準拠するエントロピー符号化処理を行う際に、必要最小限の時間で処理させることができる。
【００８１】
そして各算術符号化部９Ａは、対応するビットモデル部８Ａから送られてきたビットに対してコンテクスト毎の発生確率を演算した後、各算術符号化部９Ａの演算結果に基づいて、各コードブロックにおける各ビットプレーンについて、ＭＳＢ側からＬＳＢ側の方向にかつ低域周波数側から高域周波数側の順に、輝度Ｙ及び色差Ｃｂ、Ｃｒのコンポーネントの順番で、ビットプレーン単位で目標符号量になるまで選択するようにして、１フレーム当りの発生符号量を一定にさせたストリームをＳＤＲＡＭ４を介してフォーマット生成部１０に送る。フォーマット生成部１０は、所望のストリーム順番に並べ替えると共にヘッダ類を付加して符号化ストリームを作成する。
【００８２】
以上の構成によれば、この符号化装置１では、ＪＰＥＧ２０００規格に準拠する符号化処理を行う際に、ユーザから見て比較的細かい情報である部分を取り除くようにして、１フレーム当りの発生符号量を一定になるようにデータの伝送レートを制御することにより、符号化処理を最小限の時間に抑えることができ、かくして符号化処理に要する伝送効率を向上することができる。さらにビットモデル部８Ａと算術符号化部９Ａの前に発生符号量を予測することにより、ビットモデル部８Ａ及び算術符号化部９Ａの各処理を最小限に抑えることができる。
【００８３】
（５）他の実施の形態
なお上述のように本実施の形態においては、本発明の符号化装置として図１に示す構成のものを適用するようにした場合について述べたが、本発明はこれに限らず、ユーザから見て比較的細かい情報である部分に相当する所定数分のビットプレーンを取り除いて符号化処理に要する伝送効率を向上し、符号化処理を最小限の時間に抑えられることができれば、この他種々の構成のものに広く適用することができる。
【００８４】
また本実施の形態においては、フレーム単位のウェーブレット変換を施したウェーブレット係数で所定サイズのコードブロック（フィルタリング係数）に分割するフィルタリング生成手段として、図１のウェーブレット変換部５を適用するようにして、画像データを高域周波数側から再帰的かつ階層的に低域周波数成分を抽出した後、階層レベルごとにかつ帯域周波数ごとに、各コードブロックに分割するようにした場合について述べたが、本発明はこれに限らず、入力された画像データをフィルタリング処理を施すことによりフィルタリング係数を生成することができれば、この他種々の構成のものに広く適用することができる。
【００８５】
さらに本実施の形態においては、フィルタリング生成手段により分割されたコードブロック（フィルタリング係数）を、各画素の最上位ビットから最下位ビットまでの複数のビットプレーンに分割する分割手段として、図１のビットプレーン変換部７を適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成のものに広く適用することができる。
【００８６】
さらに本実施の形態においては、ビットプレーン変換部（分割手段）７により分割された複数のビットプレーンをＳＤＲＡＭ４（図１）に記憶するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成からなる記憶手段に記憶させるようにしても良い。
【００８７】
さらに本実施の形態においては、ＳＤＲＡＭ４に記憶されている複数のビットプレーンのうち、下位側から所定数のビットプレーンを取り除いた後、残りの各ビットプレーンのみを読み出して並列的に出力する読出制御手段として、ＣＰＵ３を適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成のものに広く適用することができる。
【００８８】
【発明の効果】
上述のように本発明によれば、符号化装置において、入力された画像データをフィルタリング処理を施すことによりフィルタリング係数を生成するフィルタリング生成手段と、フィルタリング係数を各画素の最上位ビットから最下位ビットまでの複数のビットプレーンに分割する分割手段と、複数のビットプレーンのうち、下位側から所定数のビットプレーンを取り除いた後、残りの各ビットプレーンのみを読み出して並列的に出力する読出制御手段と、読出制御手段により並列的に出力された複数のビットプレーンについてそれぞれ符号化処理する複数の符号化手段とを設け、各符号化手段が符号化処理を行う際に１フレーム当りの発生符号量を一定にさせるように、読出制御手段は、取り除くビットプレーンの数を決定するようにしたことにより、ユーザから見て比較的細かい情報である部分に相当する所定数分のビットプレーンを取り除いた分だけ、各符号化手段がそれぞれ符号化処理を行う前段階での処理時間の変動を未然に防止することができ、かくして符号化処理に要する伝送効率を格段と向上し得る符号化装置を実現できる。
【００８９】
また本発明によれば、符号化方法において、入力された画像データをフィルタリング処理を施すことによりフィルタリング係数を生成する第１のステップと、フィルタリング係数を各画素の最上位ビットから最下位ビットまでの複数のビットプレーンに分割する第２のステップと、分割された複数のビットプレーンのうち、下位側から所定数のビットプレーンを取り除いた後、残りの複数のビットプレーンのみを読み出して並列的に出力する第３のステップと、並列的に出力された複数のビットプレーンについてそれぞれ符号化処理する第４のステップとを設け、第４のステップにおいて各符号化処理を行う際に１フレーム当りの発生符号量を一定にさせるように、第３のステップでは、取り除くビットプレーンの数を決定するようにしたことにより、ユーザから見て比較的細かい情報である部分に相当する所定数分のビットプレーンを取り除いた分だけ、各符号化処理を行う前段階での処理時間の変動を未然に防止することができ、かくして符号化処理に要する伝送効率を格段と向上し得る符号化方法を実現できる。
【図面の簡単な説明】
【図１】本実施の形態による符号化装置の構成を示すブロック図である。
【図２】ウェーブレット変換処理の説明に供する略線的な平面図である。
【図３】コードブロック及びビットレーンの説明に供する略線図である。
【図４】量子化後のコードブロック及びこれに対応するビットプレーンの内容の説明に供する略線図である。
【図５】ＣＰＵの機能ブロックの説明に供する略線図である。
【図６】有意サンプル計算処理手順の説明に供するフローチャートである。
【図７】符号量推定及び１次レート制御処理手順の説明に供するフローチャートである。
【図８】１フレーム分蓄積された各ビットプレーンの発生符号量の説明に供する平面図である。
【図９】１フレーム分蓄積された各ビットプレーンの発生符号量の説明に供する平面図である。
【図１０】１フレーム分蓄積された各ビットプレーンの発生符号量の説明に供する平面図である。
【図１１】１フレーム分蓄積された各ビットプレーンの発生符号量の説明に供する平面図である。
【図１２】１フレーム分蓄積された各ビットプレーンの発生符号量の説明に供する平面図である。
【図１３】発生符号量予測処理手順の説明に供するフローチャートである。
【符号の説明】
１……符号化装置、２……ビデオ入力部、３……ＣＰＵ、４……ＳＤＲＡＭ、５……ウェーブレット変換部、６……量子化部、７……ビットプレーン変換部、８Ａ……ビットモデル部、９Ａ……算術符号化部、１０……フォーマット生成部、１１……レート制御部、ＰＳＧ……インターフェース、Ｒ１Ｅ〜Ｒ７Ｅ……レジスタ、ＲＴ１……有意サンプル計算処理手順、ＲＴ２……符号量推定及び１次レート制御処理手順、ＲＴ３……発生符号量予測処理手順。
【図１】
2004320216.tif 000003
【図２】
2004320216.tif 000004
【図３】
2004320216.tif 000005
【図４】
2004320216.tif 000006
【図５】
2004320216.tif 000007
【図６】
2004320216.tif 000008
【図７】
2004320216.tif 000009
【図８】
2004320216.tif 000010
【図９】
2004320216.tif 000011
【図１０】
2004320216.tif 000012
【図１１】
2004320216.tif 000013
【図１２】
2004320216.tif 000014
【図１３】
2004320216.tif 000015