(57)【特許請求の範囲】
【請求項１】
画像データをサブバンド毎に複数のビットプレーンで表現しビットプレーン毎に符号化する符号化装置であって、
サブバンド毎に破棄すべきビットプレーン及び符号化すべきビットプレーンのうちのいずれか一方を決定するテーブルデータを設けてなり、
前記テーブルデータは、符号化すべきデータ量が多くなる条件から少くなる条件まで複数種類設け、任意に選択可能な構成とされてなり、
前記画像データの一単位に対し前記複数種類のテーブルデータのそれぞれにしたがって符号化した際の符号化すべきデータ量を算出し、算出された当該符号化すべきデータ量に応じて前記複数種類のテーブルデータの何れかを選択可能な構成とされてなる符号化装置。
【請求項２】
前記デーブルデータはサブバンドの高周波成分程破棄するビットプレーン数が多くなるように生成されてなる請求項１に記載の符号化装置。
【請求項３】
前記複数種類のテーブルデータを与えられた圧縮率に応じて適宜選択する構成の請求項１に記載の符号化装置。
【請求項４】
前記複数種類のテーブルデータは与えられた最大処理時間に応じて適宜選択する構成の請求項１に記載の符号化装置。
【請求項５】
前記画像データは２次元離散ウェーブレット変換後に得られる係数データよりなる請求項１乃至４のいずれか一項に記載の符号化装置。
【請求項６】
画像データをサブバンド毎に複数のビットプレーンで表現しビットプレーン毎に符号化する符号化装置であって、
サブバンド毎に破棄すべきビットプレーン及び符号化すべきビットプレーンのうちのいずれか一方を決定するテーブルデータを設けてなり、
前記テーブルデータは、符号化すべきデータ量が多くなる条件から少くなる条件まで複数種類設け、任意に選択可能な構成とされてなり、
前記画像データを最初にロスレスで圧縮し、その際に符号化と同時にテーブルデータに示されるビットプレーン毎に発生される対応する符号の符号量の値を取得し、当該取得された値に符号化するビットプレーン枚数を掛け合わせることにより前記複数種類のテーブルデータの夫々にしたがって符号化した際の符号化すべきデータ量を算出して予測し、当該予測結果に応じて前記複数種類のテーブルデータのいずれかを選択可能な構成とされてなる符号化装置。
【請求項７】
画像データをサブバンド毎に複数のビットプレーンで表現しビットプレーン毎に符号化する符号化装置であって、
サブバンド毎に破棄すべきビットプレーン及び符号化すべきビットプレーンのうちのいずれか一方を決定するテーブルデータを設けてなり、
前記テーブルデータは、符号化すべきデータ量が多くなる条件から少くなる条件まで複数種類設け、任意に選択可能な構成とされてなり、
前記画像データが動画の画像データよりなる場合、一のフレームを前記複数種類のテーブルデータのうちの一のテーブルデータを用いて符号化し、次のフレームを符号化する際、前記一のテーブルデータを用いた結果得られた圧縮率に応じて前記複数種類のテーブルデータのいずれかを選択可能な構成とされてなる符号化装置。
【請求項８】
画像データをサブバンド毎に複数のビットプレーンで表現しビットプレーン毎に符号化する符号化装置であって、
サブバンド毎に破棄すべきビットプレーン及び符号化すべきビットプレーンのうちのいずれか一方を決定するテーブルデータを設けてなり、
前記テーブルデータは、符号化すべきデータ量が多くなる条件から少くなる条件まで複数種類設け、任意に選択可能な構成とされてなり、
前記画像データとしての一枚の画像をタイルに分割して符号化する際、一つ前に符号化したタイルの符号量データに応じて、次のタイルを符号化する際に使用すべきテーブルデータを前記複数種類のテーブルデータから選択可能な構成とされてなる符号化装置。
【請求項９】
画像データをサブバンド毎に複数のビットプレーンで表現しビットプレーン毎に符号化する符号化方法であって、
サブバンド毎に破棄すべきビットプレーン及び符号化すべきビットプレーンのうちのいずれか一方を決定するテーブルデータを使用するものとされ、
前記テーブルデータは、符号化すべきデータ量が多くなる条件から少くなる条件まで複数種類設け、適宜選択可能な構成とされ、
前記画像データの一単位に対し前記複数種類のテーブルデータのそれぞれにしたがって符号化した際の符号化すべきデータ量を算出し、算出された当該符号化すべきデータ量に応じて前記複数種類のテーブルデータの何れかを選択可能な構成とされてなる符号化方法。
【請求項１０】
前記デーブルデータはサブバンドの高周波成分程破棄するビットプレーン数が多くなるように生成されてなる請求項９に記載の符号化方法。
【請求項１１】
前記複数種類のテーブルデータは与えられた圧縮率に応じて適宜選択する構成の請求項９に記載の符号化方法。
【請求項１２】
前記複数種類のテーブルデータは与えられた最大処理時間に応じて適宜選択する構成の請求項９に記載の符号化方法。
【請求項１３】
前記画像データは２次元離散ウェーブレット変換後に得られる係数データよりなる構成の請求項９乃至１２のいずれか一項に記載の符号化方法。
【請求項１４】
画像データをサブバンド毎に複数のビットプレーンで表現しビットプレーン毎に符号化する符号化方法であって、
サブバンド毎に破棄すべきビットプレーン及び符号化すべきビットプレーンのうちのいずれか一方を決定するテーブルデータを設けてなり、
前記テーブルデータは、符号化すべきデータ量が多くなる条件から少くなる条件まで複数種類設け、任意に選択可能な構成とされてなり、
前記画像データを最初にロスレスで圧縮し、その際に符号化と同時にテーブルデータに示されるビットプレーン毎に発生される対応する符号の符号量の値を取得し、当該取得された値に符号化するビットプレーン枚数を掛け合わせることにより前記複数種類のテーブルデータの夫々にしたがって符号化した際の符号化すべきデータ量を算出して予測し、当該予測結果に応じて前記複数種類のテーブルデータのいずれかを選択可能な構成とされてなる符号化方法。
【請求項１５】
画像データをサブバンド毎に複数のビットプレーンで表現しビットプレーン毎に符号化する符号化方法であって、
サブバンド毎に破棄すべきビットプレーン及び符号化すべきビットプレーンのうちのいずれか一方を決定するテーブルデータを設けてなり、
前記テーブルデータは、符号化すべきデータ量が多くなる条件から少くなる条件まで複数種類設け、任意に選択可能な構成とされてなり、
前記画像データが動画の画像データよりなる場合、一のフレームを前記複数種類のテーブルデータのうちの一のテーブルデータを用いて符号化し、次のフレームを符号化する際、前記一のテーブルデータを用いた結果得られた圧縮率に応じて前記複数種類のテーブルデータのいずれかを選択可能な構成とされてなる符号化方法。
【請求項１６】
画像データをサブバンド毎に複数のビットプレーンで表現しビットプレーン毎に符号化する符号化方法であって、
サブバンド毎に破棄すべきビットプレーン及び符号化すべきビットプレーンのうちのいずれか一方を決定するテーブルデータを設けてなり、
前記テーブルデータは、符号化すべきデータ量が多くなる条件から少くなる条件まで複数種類設け、任意に選択可能な構成とされてなり、
前記画像データとしての一枚の画像をタイルに分割して符号化する際、一つ前に符号化したタイルの符号量データに応じて、次のタイルを符号化する際に使用すべきテーブルデータを前記複数種類のテーブルデータから選択可能な構成とされてなる符号化方法。
【請求項１７】
画像データをサブバンド毎に複数のビットプレーンで表現しビットプレーン毎に符号化する符号化プロセスの実行に使用されるソフトウェアプログラムであって、
サブバンド毎に破棄すべきビットプレーン及び符号化すべきビットプレーンのうちのいずれか一方を決定するために、符号化すべきデータ量が多くなる条件から少くなる条件まで複数種類設けられたテーブルデータを任意に選択するための手段としてコンピュータを機能させる構成とされ、
前記画像データの一単位に対し前記複数種類のテーブルデータのそれぞれにしたがって符号化した際の符号化すべきデータ量を算出し、算出された当該符号量に応じて前記複数種類のテーブルデータの何れかを選択するための手段としてコンピュータを機能させる構成とされてなるソフトウェアプログラム。
【請求項１８】
画像データをサブバンド毎に複数のビットプレーンで表現しビットプレーン毎に符号化する符号化プロセスの実行に使用されるソフトウェアプログラムであって、
サブバンド毎に破棄すべきビットプレーン及び符号化すべきビットプレーンのうちのいずれか一方を決定するために、符号化すべきデータ量が多くなる条件から少くなる条件まで複数種類設けられたテーブルデータを任意に選択するための手段としてコンピュータを機能させる構成とされ、
前記画像データを最初にロスレスで圧縮し、その際に符号化と同時にテーブルデータに示されるビットプレーン毎に発生される対応する符号の符号量の値を取得し、当該取得された値に符号化するビットプレーン枚数を掛け合わせることにより前記複数種類のテーブルデータの夫々にしたがって符号化した際の符号化すべきデータ量を算出して予測し、当該予測結果に応じて前記複数種類のテーブルデータのいずれかを選択するための手段としてコンピュータを機能させる構成とされてなるソフトウェアプログラム。
【請求項１９】
画像データをサブバンド毎に複数のビットプレーンで表現しビットプレーン毎に符号化する符号化プロセスの実行に使用されるソフトウェアプログラムであって、
サブバンド毎に破棄すべきビットプレーン及び符号化すべきビットプレーンのうちのいずれか一方を決定するために、符号化すべきデータ量が多くなる条件から少くなる条件まで複数種類設けられたテーブルデータを任意に選択するための手段としてコンピュータを機能させる構成とされ、
前記画像データが動画の画像データよりなる場合、一のフレームを前記複数種類のテーブルデータのうちの一のテーブルデータを用いて符号化し、次のフレームを符号化する際、前記一のテーブルデータを用いた結果得られた圧縮率に応じて前記複数種類のテーブルデータのいずれかを選択するための手段としてコンピュータを機能させる構成とされてなるソフトウェアプログラム。
【請求項２０】
画像データをサブバンド毎に複数のビットプレーンで表現しビットプレーン毎に符号化する符号化プロセスの実行に使用されるソフトウェアプログラムであって、
サブバンド毎に破棄すべきビットプレーン及び符号化すべきビットプレーンのうちのいずれか一方を決定するために、符号化すべきデータ量が多くなる条件から少くなる条件まで複数種類設けられたテーブルデータを任意に選択するための手段としてコンピュータを機能させる構成とされ、
前記画像データとしての一枚の画像をタイルに分割して符号化する際、一つ前に符号化したタイルの符号量データに応じて、次のタイルを符号化する際に使用すべきテーブルデータを前記複数種類のテーブルデータから選択するための手段としてコンピュータを機能させる構成とされてなるソフトウェアプログラム。
【請求項２１】
請求項１７乃至２０のうちの何れか一項に記載のソフトウェアプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像圧縮のための符号化方法に係り、特に静止画圧縮技術の次世代国際標準方式「ＪＰＥＧ−２０００」に合致した符号化方式の効率化を図る技術に関する。
【０００２】
【従来の技術】
近年デジタルスチルカメラ、デジタルコピアの記録部分、監視カメラ、デジタルビデオストレージ、デジタルカメラ（動画記録用）等に関わる画像記録分野における画像蓄積の効率化を目的として様々な試みがなされているが、特にこれまでこの分野における主流技術であったＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）の次世代技術としてのＪＰＥＧ−２０００による技術が注目されている。
【０００３】
図１にこのＪＰＥＧ−２０００による符号化プロセスの流れを示し、図２及び図３には、図１の各ステップにおける処理の概要を一部模式的に示す。
【０００４】
図１において、まず、入力される画像データに対し、複数レベルの2次元離散ウエーブレット変換（ＤＷＴ）を行う（１０１）。
【０００５】
この際、図２に示す如く、予め処理する画像をタイルと呼ばれる複数の矩形ブロックに分割して処理することが可能である。このように画像を複数のタイルに分割する場合は、後に続く2次元離散ウエーブレット変換（ＤＷＴ）、量子化、エントロピー符号化の各処理は、このタイルの単位での処理となる。
【０００６】
図２は、画像を予め各々１２８×１２８画素の大きさのタイルに分割し、そのように分割されたタイル毎の画像データに対して、レベル２の2次元離散ウエーブレット変換を行った場合の様子を概念的に示す。
【０００７】
１２８×１２８画素の画像データは、このレベル２の2次元離散ウエーブレット変換により、大きさが３２×３２画素の４つのサブバンド２LL、２HL、２LH、２HH毎，及び大きさが６４×６４画素の３つのサブバンド１HL、１LH、１HH毎のウエーブレット係数データに変換される。
【０００８】
ＪＰＥＧ−２０００では、ウエーブレット変換のフィルタ係数としては、可逆、非化逆の２通りの係数が規定されている。具体的には、可逆・非化逆を統一的に扱う場合は可逆のフィルタ係数が用いられ、より高いレート・ひずみ特性を実現する場合には非化逆のフィルタ係数が用いられる。
【０００９】
次に、このようにして得られたウエーブレット係数データに対し、次式で示されるような式によりスカラー量子化が行われる（１０２）。
【００１０】
【数１】
0004111259.tif 000002
ここで、sign(a)はウエーブレット係数データａの符号、｜a｜はａの絶対値、Δｂはサブバンド毎に決められた量子化ステップ、
【００１１】
【数２】
0004111259.tif 000003
はフロア関数を夫々示す。ただし、可逆ウエーブレット係数を用いた場合は、このスカラー量子化のステップは実施されない。
【００１２】
次に上述のウエーブレット変換後、あるいは量子化後の係数データを、各サブバンド毎、あるいはサブバンドを複数の矩形領域に分割したコードブロック毎にエントロピー符号化していく。
【００１３】
このエントロピー符号化は図１に示されるように、後段の２値算術符号器（１０４）に与えるコンテキストを上記係数データから生成する係数モデリングのステップ（１０３）と、実際に符号化を行う算術符号器（１０４）によるステップとよりなる。
【００１４】
その具体的な手順としては以下の通りである。
【００１５】
▲１▼一つのサブバンド、あるいはコードブロックの係数データを（符号）＋（絶対値）に変換する。
【００１６】
この場合、係数の絶対値は、係数のビット毎のビットプレーンに分割し、そのMSB側のビットプレーンから順にビットプレーン毎にエントロピー符号化を行う。
【００１７】
図３は、一例として２LLのサブバンドの係数の絶対値を各画素のビット毎にビットプレーン（ゼロビットプレーン、ビットプレーンＮ，ビットプレーンＮ−１，．．．、ビットプレーン１、ビットプレーン０）に分割した様子を示す。
【００１８】
▲２▼なお、この場合、上記ビットプレーンのうち上位ビットから数えて初めて有効なビット（０以外のビット）が出現するビットプレーンまでは、これらをゼロビットプレーンとしてエントロピー符号化は行わず、初めて０以外のビットが出現したビットプレーン（図３の場合、ビットプレーンＮ）からエントロピー符号化を開始する。
【００１９】
図３の例では、上位２ビットプレーンがゼロビットプレーンであり、３ビットプレーン目で初めて０以外のビットが出現し、このビットプレーンNからビットプレーン０までの計N+1枚のビットプレーンについてエントロピー符号化を行う。
【００２０】
▲３▼エントロピー符号化を行うビットプレーンに関しては、基本的に１枚のビットプレーンについて３回スキャンを実行して符号化を行なう。この符号化のためにスキャンを実行する過程をコーディングパスと称し、各パスは以下のように呼ばれている。
【００２１】
１）significance  propagation  pass
２）magnitude  refinement  pass
３）cleanup  pass
ビットプレーン上の各ビットは特定の規則に従って分類され、夫々のビットの周辺ビットの状態から生成されたコンテキストを用いていずれかひとつのパスで符号化される。
【００２２】
具体的には、図３に示す如く、最初に符号化するビットプレーンNは、cleanup  passのみで符号化されるが、それ以降のビットプレーンは、それぞれ上に記した３つのパスで符号化される。すなわち、N+1枚のビットプレーンが存在する場合、合計３N＋１回のコーディングパスにより符号化が行われることになる。
【００２３】
▲４▼次に算術符号器（１０４）にて、上記の各パスで発生する符号化ビットとそれに対応するコンテキストによりエントロピー符号を生成する。
【００２４】
こうして生成されたエントロピー符号（ＭＱ符号）は、図１に示す符号形成のステップ（１０５）で最終的なＪＰＥＧ−２０００のビットストリームとしてまとめられる。
【００２５】
符号形成部（１０５）では、まず、前記算術符号器（１０４）で生成された各パス単位で発生した符号を、複数パス毎にまとめる。このようにしてまとめられた単位をレイヤと呼ぶ。
【００２６】
図４は、３Ｎ＋１個のパス毎に算術符号器で生成された符号をレイヤ０からレイアＬまでのＬ＋１個のレイヤにまとめている様子の概念を示す。同図では、上記係数データからマルチプレクサによって、該当ビットデータと、その符号化に必要なコンテキストデータとが選択されて算術符合器（１０４）に入力され、算術符合器によってビットプレーン毎、コーディングパス毎に符号が発生された後、上記の如く、そのようにして得られた各符号をレイヤ毎にまとめる様子が概念的に示されている。
【００２７】
さらに、図５に示すように、サブバンド毎、レイア毎にまとめられた符号を並べて最終的なビットストリームとする。ここで、サブバンド毎、レイア毎のまとまりをパケットと呼び、各パケットはそれぞれのパケットの情報を示すパケットヘッダーと上述の如く算術符号部で生成されたエントロピー符号とよりなる。
【００２８】
ここでは、入力画像データが単色である場合を示したが、例えばＲＧＢのような複数色（成分：コンポーネント）よりなる画像の場合、同様に各色（成分：コンポーネント）毎にサブバンド毎、レイア毎のパケットを生成し、それらを規定された順番に並べることでＪＰＥＧ−２０００のビットストリームを得ることができる（図６）。
【００２９】
図６は、3色（コンポーネント０、１，２）より成る画像をＪＰＥＧ−２０００で符号化した場合のビットストリームの例を示す。
【００３０】
ここでＪＰＥＧ−２０００による符号化方式は、いったん符号化されたビットストリームを復号することなく符号状態のままで再度圧縮して、必要な圧縮率を得られるという特徴を有する。
【００３１】
これは、これまでに説明した如くＪＰＥＧ−２０００による符号は、パケットと呼ばれるコンポーネント（色成分）毎、サブバンド（解像度）毎、レイヤー毎の符号の組み合わせで構成されているため、例えばいったん符号化を行った後で、その符号化の圧縮率が所望の圧縮率より悪いという場合、復号した際の画質面からみて優先順位の低いパケットの符号データから順次破棄していくことで、比較的画質を下げることなく圧縮率を上げる操作が可能であることによる。
【００３２】
図６で示される符号は可逆（ロスレス）符号であるが、例えば図７に示すように、図６に示される符号の各コンポーネントの１ＨＬ、１ＬＨ、１ＨＨのレイヤＬのパケットを破棄することにより、ロッシー（非可逆）ではあるが、図６の符号をさらに圧縮した（圧縮率を上げた）符号を得ることができる（再圧縮）。
【００３３】
【発明が解決しようとする課題】
しかし、上述の再圧縮では、1画面（一枚の画像）のすべての符号化を終えてから、各パケット毎の符号の切れ目を判断して、所定のパケットの符号を破棄すると言う作業が必要なため、その判断処理等にある程度の時間が必要となり、高速性を要求される動画の符号化処理の場合等には問題となる場合がある。
【００３４】
そこで本発明では、動画などの高速の符号化における適用が可能なように、符号化動作を行いながら効率的に符号量、圧縮率の制御を行うことが可能な方法を提供することを目的とする。
【００３５】
また、ＪＰＥＧ−２０００による符号化方式は、上述の如く画像データをウエーブレット変換した後、その係数データをビットプレーン毎にエントロピー符号化するが、画像によってウエーブレット変換後の、ゼロビットプレーンの数が異なり、、すなわち符号化すべきビットプレーン数が異なる可能性がある。このため算術符号器での処理速度が一定である場合、画像によって符号化に要される処理時間が異なり、動画の符号化などでは例えば３０フレーム/ｓの制限処理時間の条件を満足できない場合が生じ得る恐れがある。
【００３６】
そこで本発明では、動画などに対する高速の符号化の場合であっても、所定の処理時間内に処理可能なように符号化を制御する方法を提供することを第２の目的とする。
【００３７】
更に、本発明では、上記符号量制御、及び符号化処理時間の制御を同一の装置で同時に実現することが可能な符号化方法を提供することを第３の目的とする。
【００３８】
【課題を解決するための手段】
上記課題の解決のため、本発明によれば、画像データをサブバンド毎に複数のビットプレーンで表現しビットプレーン毎に符号化する符号化プロセスにおいて、予め、サブバンド毎に破棄すべきビットプレーン及び符号化すべきビットプレーンのうちのいずれか一方を決定するテーブルデータを、符号化すべきデータ量が多くなる条件から少くなる条件まで複数種類設けておき、与えられた種々の仕様条件に応じてそれらのうちから任意の条件のテーブルデータを選択する構成とした。
【００３９】
そして、上記種々の仕様条件は、所望の圧縮率であったり、或いは最大処理所要時間とされ、それらの仕様条件に応じて任意のテーブルデータを単に選択することにより、任意に且つ容易に圧縮率を制御可能であり、或いは動画等の圧縮処理等の場合においても容易に最大処理所要時間を保証できるため、リアルタイムの画像処理を達成し得る。更に、圧縮率の制御と最大処理時間の保証との両方を同時に達成可能である。
【００４０】
【発明の実施の形態】
以下に本発明の実施例について、図面を参照しながら詳細に説明する。
【００４１】
本発明の実施例では、あらかじめ用意したテーブルデータにしたがって、各コンポーネント毎、各サブバンド毎にエントロピー符号化を行うビットプレーンの数、あるいは実行するコーディングパスの数を決定して最終的に生成される符号量を制御する。このテーブルデータの例を図８に示す。
【００４２】
図８の例では、テーブルが０から７（テーブルＮＯ）まで設けられ、各テーブルは各サブバンドにおいてLSBのビットプレーンから数えて何枚のビットプレーンを破棄するかの枚数を表している。例えば、このテーブルデータのうち、テーブル３を選択した場合、サブバンド２LLに関しては、ゼロビットプレーンを除く全てのビットプレーンを符号化し、サブバンド２HL,２LHの夫々に関しては、ゼロビットプレーンと最下位ビットの1枚のビットプレーンを除く全てのビットプレーンを符号化し、サブバンド２HH、１HL、１LHの夫々に関しては、ゼロビットプレーンと最下位ビットのビットプレーンから数えて２枚のビットプレーンを除く全てのビットプレーンを符号化し、サブバンド１HHに関しては、ゼロビットプレーンと最下位ビットのビットプレーンから数えて３枚のビットプレーンを除く全てのビットプレーンを符号化する。
【００４３】
この様子を図９に示す（テーブル３を選択した場合）。
【００４４】
同図に示す如く、ゼロビットプレーンの枚数は画像によってサブバンド毎に異なるが、破棄すべきビットプレーンの枚数を規定することによって算術符号器（１０４）で発生される符号の符号量を制御することができる。
【００４５】
図８のテーブルデータの例では、テーブル７を選択した場合、ゼロビットプレーン以外の全てのビットプレーンを符号化することとなるためロスレスの符号化となり、テーブル６、５、４、．．．と図８の上側に移行するにしたがって、破棄するビットプレーンの枚数が増え、圧縮率が大きくなることになる。また、図８において、各テーブルにおいて右側に向かうにしたがって、すなわち高周波のサブバンドに向かうにしたがって破棄するビットプレーンの枚数が増す。このようにテーブルデータを構成することにより、比較的画質の劣化を招くことなく圧縮率を向上させ得る。
【００４６】
なお、ここでは、例として単色の画像の符号化について説明したが、複数色（コンポーネント）の画像についても同様に、同様のテーブルデータを使用することによって結果的に発生する符号の符号量を制御することが可能である。この場合、各コンポーネント毎に独自のテーブルデータを設けることもできるし、或いはコンポーネントによらず共通のテーブルデータを使用して制御することも可能であることは言うまでも無い。
【００４７】
又、図８に示すテーブルデータでは、破棄するビットプレーンの枚数を規定しているが、逆にゼロビットプレーン以外に符号化するビットプレーン枚数を規定するテーブルデータとすることも可能である。また、ビットプレーン枚数ではなく、先に説明した符号化のコーディングパスの数（図３参照）を規定（制限）することも可能であり、そのように構成することにより、より細かく符号量の調整を行うことができる。
【００４８】
次に、上記のと如く予め複数種類のテーブルデータを用意しておき、そのなかから１つのテーブルデータを選択する方法について説明する。
【００４９】
第１の方法は、一枚の画像を一度、適当なテーブルデータを用いて符号化し、それによって得られた符号圧縮率が予定より悪ければさらに小さなテーブルナンバー（圧縮率を上げる方向）のテーブルデータを選択して、そのテーブルデータにしたがって再度符号化する（やり直し）というものである。
【００５０】
さらに、この際、例えば最初に図８の符号化でテーブル７を用いてロスレスで圧縮し、その際に符号化と同時にテーブルに示される各ビットプレーン毎に発生される対応する符号の符号量の値をデータとして残しておくようにすることが可能である。そうすることによって、図１０に示す如く、夫々の場合毎に符号化するビットプレーン枚数を掛け合わせることによって、テーブル０〜７の夫々にしたがって符号化した際の各符号量を算出して予測することが可能なため、このデータを参照することにより、２回目の符号化では最適な圧縮率を得ることのできるテーブルを選択することが可能となる。
【００５１】
上に説明した例では、一枚の画像を少なくとも２回は符号化する必要があり、比較的手間を要する。そこで、動画の符号化などの場合には、この点を解決するため、最初のフレームを適当なテーブルを用いて符号化し、次のフレームを符号化する際は、前のフレームの圧縮率が予定より悪ければより圧縮率の上がるテーブルを用いて符号化し、前のフレームの圧縮率が予定より良ければ同じテーブルかあるいは符号量の多くなるテーブルを用いて符号化を行うよう構成することもできる。このようにすることによって、リアルタイムで符号化を行なうことが可能となる。
【００５２】
また、図１１に示すように、前述の如く一枚の画像を複数枚びタイルに分割して符号化する場合には、一つ前に符号化したタイルの符号量データから、上記のフレーム毎の処理の場合と同様に、次のタイルを符号化する時に使用するテーブルを決定するよう構成することもできる。
【００５３】
次に、符号化処理時間を所定の時間内に収める方法について、図１２を用いて説明する。この場合も、先ほどと同様のテーブルデータを使用するものとする。
【００５４】
まず、ウエーブレット変換（１０１）が終了した時点で各サブバンド毎のゼロビットプレーン枚数が判明する。その結果が、例えば図１２のゼロビットプレーン数（Z）で示したように、２LL：１ビットプレーン、２HL：１ビットプレーン、２LH：２ビットプレーン、．．．であったとする（図９に示す例が対応する）。
【００５５】
さらに、ウエーブレット変換後に得られた係数データのビット数がわかっているので、そこからゼロビットプレーンに対応するビット数の値を差し引くことで、可逆で符号化するとした場合に各サブバンド毎に符号化することになるビットプレーン枚数が計算できる。図１２の例では、可逆符号化時の符号化ビットプレーン数（P)で表している。
【００５６】
ここで図８のテーブルデータを用い、テーブル０を用いた場合に、符号化すべきサブバンド毎のビットプレーン枚数を算出する。この場合、例えば、２LLでは１ビットプレーンを破棄するため、符号化するのは６−１＝５ビットプレーン、２HLでは2ビットプレーン破棄するので符号化するのは６−２＝４ビットプレーン、．．．となる。その結果が図１２において、テーブル０を用いた際の処理ビットプレーン数として示されている。
【００５７】
ここで、各サブバンド毎の係数データのデータ量は異なっている。図９で示すように、２LL、２HL、２LH、２HHの各サブバンドには３２×３２画素分の係数データが存在し、１HL、１LH、１HHの各サブバンドには６４×６４画素分の係数データが存在する。ここで便宜上３２×３２画素分のデータ量を1単位とすると、図１２のデータ数（D）で表されているように、各サブバンド毎の係数データのデータ量は、夫々１，１，１，１，４，４，４となる。
【００５８】
以下に示すように、先ほど算出したテーブル０を用いた場合に符号化すべきビットプレーン枚数と、これらのサブバンド毎のデータ量により、テーブル０を用いた場合に符号化すべきデータ量３４（３２×３２画素分を1単位として）が求まる。
５（２LLのビットプレーン数）×１（２LLのデータ量）
＋４（２HLのビットプレーン数）×１（２HLのデータ量）
＋３（２LHのビットプレーン数）×１（２LHのデータ量）
＋２（２HHのビットプレーン数）×１（２HHのデータ量）
＋１（１HLのビットプレーン数）×４（１HLのデータ量）
＋３（１LHのビットプレーン数）×４（１LHのデータ量）
＋１（１HHのビットプレーン数）×４（１HHのデータ量）
=  ３４
さらに、図８のテーブルデータのテーブル１〜テーブル７の各々を用いて符号化した場合に符号化すべきデータ量も同様に求めることができる。この結果が図１２のの右端の列に記載してある数字（符号化時のデータ量）である。
【００５９】
例えばテーブル３の場合（図９の例がこれに対応する）の計算例を以下に示す。
６（２LLのビットプレーン数）×１（２LLのデータ量）
＋５（２HLのビットプレーン数）×１（２HLのデータ量）
＋４（２LHのビットプレーン数）×１（２LHのデータ量）
＋３（２HHのビットプレーン数）×１（２HHのデータ量）
＋２（１HLのビットプレーン数）×４（１HLのデータ量）
＋４（１LHのビットプレーン数）×４（１LHのデータ量）
＋２（１HHのビットプレーン数）×４（１HHのデータ量）
=  ５０
算術符号器（１０４）における符号化の速度は回路構成上決まるものであり、ここでは算術符合器によって３２×３２画素分（上記１単位）のデータ量を符号化処理できる時間を仮にX(ns)とする。例えば１枚の画像を最大Ｙ(ns)で処理する必要がある場合、算術符号器が処理できる単位時間あたりの最大のデータ量は、Ｙ／Ｘとなるので、先ほど求めたテーブル１〜テーブル７の夫々を用いて符号化した場合、符号化すべきデータ量のデータから、そのデータ量がＹ／Ｘを超えない最大のテーブルを選択して符号化することで符号化処理時間を所定の時間内に収めることができる。
【００６０】
また、１枚の画像をタイルに分割して符号化する場合には、タイル毎に同様の処理をすることで上記同様最大の処理時間を保証する符号化が実施可能である。
【００６１】
このように、テーブルデータを使用し、多少制御方法を変える（図８のテーブルデータに含まれるテーブルの選択）だけで符号化の結果発生される符号量を制御することと同時に画像の最大処理時間を保証することを達成することができる。
【００６２】
また、上記の如く、図８に示す如くのテーブルデータは、復号した場合に画質に与える影響の少ない順番に破棄するビットプレーンを決めて行くことで、必要な圧縮率に対して復号時に得られる画像の画質の劣化を最小限にすることが可能である。
【００６３】
なお、本発明は、図８に示す如くのテーブルデータから所望のテーブルを選択する動作を実行するための回路をＬＳＩ等のＩＣ上に構成し、そのＩＣをディジタルスチルカメラ等に組み込んで撮影画像を圧縮して記録媒体に記録する際に使用するよう構成することによって実施可能であり、或いは、上記動作をコンピュータに実行させるソフトウェアプログラム或いはファームウェアの形態で提供し、それをディジタルカメラ等にインストール・埋め込むことによっても実施可能である。更に、上記ソフトウェアプログラム或いは図８に示す如くのテーブルデータを記録したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体の形態でも実施可能であることは言うまでもない。
【００６４】
【発明の効果】
このように、本発明によれば、テーブルデータを用いて符号量の制御をするため、高速性を必要とする符号化処理においても、処理の遅延を招くことなく必要な圧縮率を容易に達成可能である。
【００６５】
又、テーブルデータを用いて符号化するデータ量を制御するため、符号化に要する処理時間をも制御可能であり、動画の符号化等においてもリアルタイムの符号化処理を実現可能である。
【００６６】
更に、上記符号量の制御と所要処理時間の保証の両方を容易に確実に達成し得る。
【図面の簡単な説明】
【図１】本発明を適用可能なＪＰＥＧ−２０００にしたがった符号化プロセスの一例を示すプロセス図である。
【図２】図１の符号化プロセスのうちのウェーブレット変換処理を説明するための図である。
【図３】図１の符号化プロセスにおけるビットプレーンの概念を説明するための図である。
【図４】図１の符号化プロセスにおける、算術符合器で得られた符号をレイヤ毎にまとめる処理を説明するための図である。
【図５】図１の符号化プロセスにおける、サブバンド毎、レイヤ毎にまとめられたパケットによるビットストリームの概念を示す図である。
【図６】図５のビットストリームを構成する符号を色成分（コンポーネント）毎、サブバンド毎に並べた状態を示す図である。
【図７】図６の構成において、ロッシーな圧縮を行なう場合の概念を示す図である。
【図８】本発明の実施例で使用されるテーブルデータを示す図である。
【図９】各サブバンド毎のビットプレーン構成において破棄するビットプレーンの一例を示す図である。
【図１０】図８のテーブルデータの各テーブル毎の符号化すべきデータ量の一例を示す図である。
【図１１】画像をタイルに分割して符号化処理する場合に本発明を適用した場合の概念を示す図である。
【図１２】本発明の実施例の符号化処理において、図８のテーブルデータの各テーブルを用いた場合の符号化すべきデータ量の計算方法の一例を説明す売るための図である。
【符号の説明】
１０１    ２次元離散ウェーブレット変換処理
１０２    量子化処理
１０３    算術符号器（算術符号化処理）
１０４    係数モデリング処理
１０５    符号形成処理
【図１】
0004111259.tif 000004
【図２】
0004111259.tif 000005
【図３】
0004111259.tif 000006
【図４】
0004111259.tif 000007
【図５】
0004111259.tif 000008
【図６】
0004111259.tif 000009
【図７】
0004111259.tif 000010
【図８】
0004111259.tif 000011
【図９】
0004111259.tif 000012
【図１０】
0004111259.tif 000013
【図１１】
0004111259.tif 000014
【図１２】
0004111259.tif 000015