(57)【要約】  本発明はロスレスの、近ロスレスの、及び損失のあるデジタル画像データの圧縮と伸張に関する。画像データが圧縮・伸張されるときに、一時的データ蓄積のための外部RAMリソースが必要のなく、画像データがon-the-flyで圧縮・伸張される。アルゴリズムを実装するために、必要なシリコン量は極めて少なく、高いパフォーマンスと低い電力消費が得られる。前記実装は、Bayerフィルタパターンを持つ画像センサからの生の画像データのために最適化されるが、どのカラーフィルタの画像センサからのデータについても使用できる。圧縮アルゴリズムはライン インデキシング フォーマットを含み、圧縮済み画像の高速サブサンプリングを可能にする。又、画像の特定部分を伸張する可能性を持つ。これは、パフォーマンスを改善し、ズーミングと後処理時における、一時的RAM記憶に対するニーズを大きく低減させる。【選択図】図３
2008501261.tif 000002
【特許請求の範囲】
【請求項１】
画像センサから得られる生のデジタル画像データについての、ロスレスのon-the-fly圧縮のための方法であって、以下を有している方法。
少なくともセンサ インテグレーション タイム、センサ温度及び画像データのアナログ及びデジタルゲインに関係する情報を受信すること；
画像センサから得られる１つ又はそれ以上のカラープレーンにおける複数のピクセル値からなる生のデジタル画像データを受信すること；
前記受信した生の画像データのピクセル値分布を調整し、ピクセル値にゲインを適用し、圧縮用データにプレコンディションすること；但し、ゲインは受信情報を使って少なくとも部分的に決定される。
近傍の複数ピクセルの複数クラスタにおける複数ピクセルのピクセル値を、前記クラスタの別のピクセル値を使って、予測するために２つ又はそれ以上予測ルーチンを提供すること；
前記受信された情報、クラスタサイズ、及び、画像データ又は各クラスタのための適切な予測ルーチンを選択し、使うこと；
各クラスタと各カラープレーンに対し、以下により、ピクセル予測誤差を生成すること、
―選択された予測ルーチンを使ってピクセル値を予測すること、但し、前記ピクセル予測誤差は予測ピクセル値とプレコンディションされたピクセル値との差から導かれるものである；
―各クラスタに対しエントロピ数を決定すること；
２つ又はそれ以上の統計的符号化スキームを提供すること。但し、各々は、クラスタのピクセル予測誤差のためにコードと対応するコード長を決定する。
各クラスタのピクセル予測誤差を、各カラープレーン毎に、以下のように符号化すること、
―前記クラスタのカラープレーンに対し、エントロピ数と受信情報を使って、適切な統計的符号化スキームを決定し選択すること、及び
―選択した統計的符号化スキームにより、ピクセル予測誤差及びクラスタのエントロピを符号化すること；
画像の各ラインに対応するビットストリームの長さを決め、前記ラインに対応する前記ビットストリームに長さを付加し、及び/又はインデックステーブルに前記長さを記憶させること。
【請求項２】
更に、ピクセル予測誤差の生成の前に、画像センサの固有のノイズと誤差の補償するために、画像データを処理することを特徴とする請求項１に記載のon-the-fly圧縮のための方法。
【請求項３】
クラスタのエントロピ数が、クラスタにおける最大及び最小ピクセル値の差及び、クラスタにおけるピクセル値の変化（variation）を反映するために決められる、請求項１に記載のon-the-fly圧縮のための方法。
【請求項４】
ピクセル値を予測するのに使われるクラスタは固定サイズで、１次元のクラスタであることを特徴とする請求項１に記載のon-the-fly圧縮のための方法。
【請求項５】
クラスタは８×１の固定サイズをもつことを特徴とする請求項１に記載のon-the-fly圧縮のための方法。
【請求項６】
デジタル画像プロセッサにより、画像センサからのデジタル画像データを圧縮するのに使われるソフトウェアを記憶する電子的記憶メディア。但し、前記ソフトウェアはデジタル画像プロセッサにより、請求項１の複数ステップを実行される。
【請求項７】
画像センサから得られる生のデジタル画像データについての、近ロスレスのon-the-fly圧縮のための方法であって、以下を有している方法。
少なくともセンサ インテグレーション タイム、センサ温度及び画像データのアナログゲインに関係する情報を、画像センサから受信すること；
１つ又はそれ以上のカラープレーンにおける複数のピクセル値からなる生のデジタル画像データを画像センサから受信すること；
前記受信した生の画像データのピクセル値分布を調整し、ピクセル値にゲインを適用し、圧縮用データにプレコンディションすること；但しゲインは受信情報により少なくとも部分的に決定される。
画像データのピクセル値をガンマ補正すること；
前記ガンマ補正されたピクセル値のLSB(least significant bits)の１つ又はそれ以上を削減すること；
各カラープレーンに関して、近傍の複数ピクセルの複数クラスタにおける複数ピクセルのピクセル値を、前記クラスタの別のピクセル値を使って予測することにより、ピクセル予測誤差を生成すること。但し、ピクセル予測誤差は予測ピクセル値とプレコンディションされたピクセル値との差から導かれるものである；
各クラスタのピクセル予測誤差を符号化すること；
画像の各ラインに対応するビットストリームの長さを決め、前記ラインに対応する前記ビットストリームに長さを付加し、及びインデックステーブルに前記長さを記憶させること。
【請求項８】
デジタル画像プロセッサにより、画像センサからのデジタル画像データを圧縮するのに使われるソフトウェアを記憶する電子的記憶メディア。但し、前記ソフトウェアはデジタル画像プロセッサにより、請求項７の複数ステップを実行される。
【請求項９】
画像データを伸張する方法であって、次のものを含む方法。
圧縮時に適用される、１つ又はそれ以上の統計的符号化スキームを使って、符号化されたピクセル予測誤差を復号すること；
復号されたピクセル予測誤差及び圧縮時に適用される予測ルーチンを使って、ピクセル値を算出すること；及び
算出されたピクセル値の逆ガンマ補正を実行すること。
【請求項１０】
画像全体を伸張することなく、圧縮済み画像の特定部分だけを検索する請求項９に記載の画像データを伸張する方法であって、復号する前に、次のステップを含む方法。
インデックスの付いた圧縮画像データを提供すること。但し、インデックスの付いた部分はサブサンプリング、ズーミング、パンニング、クロッピングのために適していること；
・伸張用に選択されるインデックスのついた部分を識別するために埋め込まれたライン インデックス テーブル又は単独のライン インデックス テーブルを使うこと。
【請求項１１】
デジタル画像データを圧縮するための画像圧縮部であって、前記セクションはデジタル画像処理装置に接続され、少なくとも次に関係する情報を受信する。センサ インテグレーション タイム、センサ温度及び画像データのアナログゲイン、及び、“１つ又はそれ以上のカラープレーンにおける複数のピクセル値からなる生のデジタル画像データに関係する情報”、ガンマ補正データを保持する圧縮部、“クラスタ内の別のピクセル値を使った近傍の複数ピクセルの複数クラスタにおける複数ピクセルのピクセル値を予測する、少なくとも２つの予測ルーチン”、及び“少なくとも２つの統計的符号化スキーム（各々は、クラス他のピクセル予測誤差のためにコードと対応するコード長を決定する）”。前記圧縮部は以下を有する；
生のデジタル画像データを受信し、前記受信したデータのピクセル値分布を調整し、ピクセル値にゲインを適用し、圧縮のためにデータをプレコンディションするために接続されるプレコンディショニングブロック；但し、ゲインは受信情報により少なくとも部分的に決定される。
ガンマ補正データに基づきピクセル値のガンマ補正を行い、各ガンマ補正されたピクセル値に対しビット数を削減するためのビット削減ブロック。
前記プレコンディショニングされたデータを受信し、選択された予測ルーチンを使ってピクセル予測誤差を生成するために接続される予測ブロック。但し、予測ブロックは、各クラスタ及び各カラープレーン毎に、次のための処理手段を有している；
―選択された予測ルーチンを使ってピクセル値を予測すること、但し、前記ピクセル予測誤差は予測ピクセル値とプレコンディションされたピクセル値との差から導かれるものである、
―各クラスタに対しエントロピ数を決定すること；
各クラスタのピクセル予測誤差を符号化する符号化ブロック。但し、前記符号化ブロックは、各クラスタ及び各カラープレーン毎に、選択した統計的符号化スキームを使って、ピクセル予測誤差及びクラスタのエントロピを符号化するための処理手段を有する；及び
画像の各ラインに対応するビットストリームの長さを決め、前記ラインに対応する前記ビットストリームに長さを付加し、及びインデックステーブルに前記長さを記憶させるためのインデキシング ブロック。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロスレスの(lossless)即ち、可逆の（reversible）、近ロスレスの（near-lossless）、及び損失あるデジタル画像データの圧縮と伸張(decompression)に関する。特に、本発明は、一時的データ蓄積のための外部RAM（Random Access Memory）リソースが必要のない、画像データをon-the-flyで圧縮（伸張）することに関する。
【背景技術】
【０００２】
画像の解像度は常に向上しており、それに伴うフレームレートも向上している。結果、システムの帯域幅、伝送メディアの帯域幅並びに一時記憶（例えばRAM）と永久記憶の記憶容量（例えばHDD（Hard Disk Drive））に対する要望が拡大している。もし画像データが圧縮されれば、これらの機能ブロックの問題は軽減されることになる。歴史的には、メモリと永久記憶メディアの帯域幅はデータプロセス手段のようには急速に増大することはなかった。このことは、on-the-fly画像圧縮を使うことは、メモリ及び永久記録メディア帯域幅（memory and permanent storage media bandwidths）について、単に技術的改良を行う場合に比して、更に高いシステムパフォーマンスを実現することを意味している。より少ないメモリと永久記憶を必要とされるので、より高いパフォーマンスはより低いシステムコストで代替することができる。この場合、より低いパフォーマンスのメモリと記憶手段が使われる。もう１つの利点は、特に携帯製品について、消費電力を低減できることである。というのは画像圧縮に必要な電力は追加のメモリと追加の永久記憶手段が必要とする電力より遥かに少なくできるからである。
【０００３】
JPEG（Joint Photographic Experts Group）のような工業標準に基づく従前の解決方法は、ハードウェアに大量のシリコンを必要とし、ソフトウェアで実行される時には、しばしば極めて動作が遅い。−これは、特に、従来の１色当たり８ビットから、１色当たり、例えば１６ビットへピクセルのbit−depthを増加させる場合そうであった。今日、より高いbit−depthがハイエンドのデジタル画像処理においては当然のことになっている。これは色信頼性（color fidelity）を改善するもので、更に高度な画像処理を可能にし、これにより、以前より更に満足のいく結果を得ることができる。仮にJPEG又は同様な圧縮アルゴリズムが使われるときには、圧縮に先立ち、生の（raw）画像データが完全にキャリブレートされ、補間され、エンハンスされなければならない。この概略が図１のブロックダイアグラムに示されているが、これはシステムの複雑性とコストを増大し、高品質の画像を生成する能力を低減するものである。ユーザとの対話（user interaction）の組合せで、多くの画像エンハンスメントが最適結果のために必要とされるからである。大量の処理リソースは通常、デジタルカメラのような携帯装置の形で存在しない。従って、画像データの処理について改良を行う必要がある。
【０００４】
EP1 173 005には、異なる複数のカラープレーンを正方形セクションにマッピングし、これらを独立に圧縮することにより、生の色画像データを圧縮する方法が記載されている。更に、伸張されたファイルはリマッピングされて、カラー画像データのオリジナルパターンが復元されることが記載されている。
【０００５】
US6,614,483は単純な、損失のある画像圧縮方法を説明している。同方法は損失のあるやり方で画像データを圧縮するもので、ピクセル値をloss factorで分割し、画像データのpoolにおいて、それにより均等に分配されるリニアロス（linear loss）を生成するものである。画像品質の観点からすると、このアプローチは、ペーパ又はコンピュータモニタの暗部エリアで、伸張された画像のデジタルノイズ量を増大させるという点で不利である。なぜなら、より適正な表現のデータを作成するための画像処理には、画像データをγ関数(γ function)で乗算する演算を必要とするからである。
【０００６】
US6,614,483で説明されているアルゴリズムは、実際に圧縮する前に、データが色抽出ユニットで処理することを要件としている。この色抽出ユニットは極めて単純なピクセル補間を行い、各ピクセルに対し、赤、緑、ブルー値を生成している。これは後の段階において高品質な画像を生成する可能性を直ちに減ずるものである。
【０００７】
US6,614,483に記載されている、可変長符号化（VL encoding）は、主要な（leading）“０”と“１”の検出と１の補数VL符号化との組合せに基づく。この形式の符号化は、low color bit-depth（例えば８ビット）の画像データに適合しているが、高画質画像処理の特徴である、high color bit-depth（例えば16ビット）及び比較的高いエントロピ量の画像データを使うときには、みじめな結果を招く。
【０００８】
US6,614,483に説明されている実施例の、もう１つの限定は、それは、少なくとも、画像データの２つの隣接するライン（adjacent limes）を保持し、単純な色補間を行うための外部又は内部バッファを必要とすることである。高解像度画像センサを使うと、一時記憶の必要量はかなり高くなる。このため、仮にバッファが圧縮を行うブロックと一緒に実施される場合、システムコストが増大する。安価な外部記憶（例えば、ダイナミックRAM,DRAM）を使うことは、パフォーマンスの観点からしばしば受け入れ難い。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明はデジタル画像データのon-the-fly圧縮及び伸張を提供する。本発明は、画像データを圧縮（伸張）する間に、一時的データ記憶のためには外部RAMリソースを必要としない。本コンテキストにおいて、on-the-flyは、画像センサから読み出されたり、関連する圧縮部（compression section）へ入力するのと同一レートで、データが処理され、圧縮又は伸張されることを意味する。
【００１０】
高品質デジタル画像処理において重要なフィーチャは、記録データを、出来るだけ速く、記憶し又は伝送し、出来るだけ迅速に次の撮影のためにカメラを準備することである。
【００１１】
本発明の１つの目的は、画像データの迅速なon-the-fly圧縮を行い、小さな圧縮画像データファイルを生成し、それを安価に、効率的に蓄積し、及び/又は、伝送することである。
【００１２】
プロの写真家は画像データの処理についてのトータルコントロールを要求する。というのは、異なる複数のジョブに対して、異なる複数の処理ツールが望まれるからである。圧縮する前に処理されていなかった（例えば、色補間による）画像データは、より小さい画像データファイルを与える。それは圧縮され、蓄積され、より高速に伝送することができる。
【００１３】
本発明の別の目的は、圧縮される画像データファイルサイズを縮減するために、生の画像データを圧縮するための方法と装置を提供することである。本方法と装置は、本来のノイズ（inherent noise）とカメラのひずみ（artifacts）に関して、生データをキャリブレーションするフィーチャを有してよい。
【００１４】
損失ある圧縮は、より小さい圧縮画像データファイルを生成し、高速な安価なファイルの処理を可能にする。しかし、伸張画像（decompressed image）の品質を悪化させる。本発明において、ほぼ損失のない圧縮がガンマ関数を使って実行され、視覚的にロスレスの圧縮を提供する。それは後の画像後処理（例えば、モニタ又はプリント上の記録済み画像を表示することに関して）と同様のやり方で画像データに影響を与える。この後処理は常に、ガンマ曲線を適用し、画像センサのリニア応答をより対数的な応答に変換する。この対数的応答は最終結果がモニタ上で、又はプリンタのような別の出力装置上で正確に見えるように使われるものである。画像を表示する時にそのsignificanceが抑圧されるビットを故意に削減することによっても、目に付く損失はない。このような削減は、ほぼロスレスといわれる。このプロセスは、表示する前に行われる最終画像エンハンスメント処理により除去されるだろうデータを、除去するものである。本発明において、ガンマ曲線は、低い値に対し最大情報量を保存するというビット削減機能を内蔵する。なお、より高い値はより大きいエラーを含む。同種のビット削減は常に最終処理済み画像について行われるのであるから、これは最終画像において目で見えるものではない。
【００１５】
本発明の別の目的は、圧縮に先立ち、ガンマ補正とビット削減を行い、ほぼロスレスの画像データ圧縮を行うための方法と装置を提供することである。対応する逆ガンマ補正はデータを伸張する時に実行される。
【００１６】
ピクセル値を予測するときに、予測の正確さとスピードとの間の選択をしなければならない。エンコードや記憶には誤差を小さくする必要があるが、高等な予測アルゴリズムは予測誤差を少なくでき、圧縮率を大きくできる。単純な予測ルーチンは、より早いが、より品質が悪い。特に変化の多い画像データに対しては、圧縮率は小さい。画像データはon-the-flyで圧縮されるものであるから、本発明では、スピードについてはプライオリティが高い。本発明の発明者らは効率的な統計的符号化ルーチンが、単純な予測ルーチンの品質の悪い予測を補償できることを発見した。それにより、圧縮率を大きく低減することなく圧縮スピードを大きくすることができる。
【００１７】
従って、本発明のもう１つの目的は、‘単純で、迅速な予測ルーチン’及び、‘単純な予測ルーチンが持つ大きい予測誤差を効率的に符号化するのに適合する、改良された符号化ルーチン’を適用する方法と装置を提供することである。
【課題を解決するための手段】
【００１８】
上記目的を満たすために、本発明は、第１のアスペクトにおいては、画像センサから得られる生のデジタル画像データについての、ロスレスのon-the-fly圧縮のための方法を提供する。この方法は以下を有している。
・少なくともセンサ インテグレーション タイム、センサ温度、並びに画像データのアナ  ログ及びデジタルゲインに関係する情報を受信すること；
・画像センサから得られる１つ又はそれ以上のカラープレーン(color planes)における、  複数のピクセル値からなる生のデジタル画像データを受信すること；
・前記受信した生の画像データのピクセル値分布を調整し、前記複数ピクセル値にゲイン  を適用し、圧縮用データにプレコンディションすること；但し、ゲインは前記受信情報  を使って少なくとも部分的に決定される。
・近傍の複数ピクセル（neighboring pixels）の複数クラスタにおける複数ピクセルのピ  クセル値を、前記クラスタの別のピクセル値を使って予測するために、２つ又はそれ以  上予測ルーチンを提供すること；
・前記受信された情報、クラスタサイズ、及び、画像データ又は各クラスタのための適切  な予測ルーチンを選択し、使うこと；
・各クラスタと各カラープレーンに対し、以下により、ピクセル予測誤差を生成すること  、
―選択された予測ルーチンを使ってピクセル値を予測すること、但し、前記ピクセル予    測誤差は予測ピクセル値とプレコンディションされたピクセル値との差から導かれる    ものである；
―各クラスタに対しエントロピ数を決定すること；
・２つ又はそれ以上の統計的符号化スキームを提供すること。但し、各々は、クラスタの  ピクセル予測誤差のためにコードと対応するコード長を決定する。
・各クラスタの予測誤差を、各カラープレーン毎に、以下のように符号化すること、
―前記クラスタのカラープレーンに対し、エントロピ数と受信情報を使って、適切な統    計的符号化スキームを決定し選択すること、及び
―選択した統計的符号化スキームにより、ピクセル予測誤差及びクラスタのエントロピ    を符号化すること；
・画像の各ラインに対応するビットストリームの長さを決め、前記ラインに対応する前記  ビットストリームに長さを付加し、及び/又はインデックステーブルに前記長さを記憶  させること。
【００１９】
前記方法は、ピクセル予測誤差の生成の前に、画像センサの固有のノイズと誤差を補償するための画像データを処理することが好ましい。
【００２０】
クラスタにおける最大及び最小ピクセル値の差及び、クラスタにおけるピクセル値の変化（variation）を反映するために、クラスタのエントロピ数を決めることが好ましい。予測を単純に、迅速にするために、複数のピクセル値を予測するのに使われるクラスタは好ましくは固定サイズで、１次元のクラスタである。例えば、８×１ピクセルの固定サイズのを持つような１次元のクラスタである。
【００２１】
第２のアスペクトにおいて、本発明は、画像センサからの生のデジタル画像データの近ロスレスのon-the-fly圧縮のための方法を提供する。この方法は以下を有している：
―少なくともセンサ インテグレーション タイム、センサ温度及び画像データのアナロ    グゲインに関係する情報を、画像センサから受信すること；
―１つ又はそれ以上のカラープレーン(color planes)における複数のピクセル値からな    る生のデジタル画像データを画像センサから受信すること；
―前記受信した生の画像データのピクセル値分布を調整し、ピクセル値にゲインを適用    し、圧縮用データにプレコンディションすること；但し、ゲインは受信情報を使って    少なくとも部分的に決定される。
―画像データのピクセル値をガンマ補正すること；
―前記ガンマ補正されたピクセル値のLSB(least significant bits)の１つ又はそれ以    上を削減すること；
―各カラープレーンに関して、近傍の複数ピクセルの複数クラスタにおける複数ピクセ    ルのピクセル値を、前記クラスタの別のピクセル値を使って予測することにより、ピ    クセル予測誤差を生成すること。但し、ピクセル予測誤差は予測ピクセル値とプレコ    ンディションされたピクセル値との差から導かれるものである；
―各クラスタのピクセル予測誤差を符号化すること；
―画像の各ラインに対応するビットストリームの長さを決め、前記ラインに対応する前    記ビットストリームに長さを付加し、及びインデックステーブルに前記長さを記憶さ    せること。
【００２２】
ビット削減及び圧縮の前に行う、画像データのガンマ補正のユニークな特徴は、ガンマ補正を行う場合には、通常技術でデータを表現する前に逆ガンマ補正を実行しなければならないことである。従って、第３のアスペクトによると、本発明は、圧縮された画像データの伸張を有するための方法を提供する。前記方法は以下のものを含む。
―圧縮時に使った、１つ又はそれ以上の統計的符号化スキームを使って、符号化された    ピクセル予測誤差を復号すること；
―復号されたピクセル予測誤差及び圧縮時に使った予測ルーチンを使って、ピクセル値    を算出すること；及び
―算出されたピクセル値の逆ガンマ補正を実行すること。
【００２３】
高品質画像ファイルは、通常かなり大きく、典型的には数百メガバイトである。現在使用できる演算能力を使う場合、全画像を処理すると、負荷が重く、時間を要する。従って、本発明は後処理のために圧縮された画像の特定部分だけを検索し、それによりファイルサイズと処理負荷を大きく削減するやり方を提供する。よって、復号する前に、伸張方法は以下を含むことが好ましい。
・インデックスの付いた圧縮画像データを提供すること。但し、インデックスの付いた部  分はサブサンプリング、ズーミング、パンニング(panning)、クロッピング(cropping)  のために適していること；
・伸張用に選択されるインデックスのついた部分を識別するために埋め込まれた（embedd  ed）ラインインデックステーブル又は、単独の(separate)ラインインデックステーブル  を使うこと。
【００２４】
第１と第２のアスペクトによる方法はソフトウェア又はハードウェアで実行される。第４と第５によると、その方法はソフトウェアで実行される。本発明は、画像センサーから得られるデジタル画像データを圧縮するのにデジタル画像プロセッサが使うソフトウェアを記憶する電子的記憶メディアを提供する。第１又は第２のアスペクトの方法ステップを実行する際に、ソフトウェアはデジタル画像プロセッサにより実行される。
【００２５】
上記方法はソフトウェア及び/又はハードウェアで実装されるアルゴリズムにより実行される。ハードウェアにおいてアルゴリズムを実行するには極く限られた量のシリコンが要求されるだけであり、処理速度に関するパフォーマンスは極めて高い。特に極めて低い電力消費に関して、パフォーマンスは極めて高い。
【００２６】
第３のアスペクトによると、本方法はハードウェアで実装される。本発明はデジタル画像データを圧縮するための画像圧縮部を提供する。同圧縮部はデジタル画像装置に接続され、少なくとも以下に関係する情報を受信する。即ち、センサ インテグレーション タイム、センサ温度及び画像データのアナログゲイン、及び、“１つ又はそれ以上のカラープレーンにおける複数のピクセル値を含む生のデジタル画像データ”、ガンマ補正データを保持する圧縮部、“クラスタ内の別のピクセル値を使った近傍の複数ピクセル（neighboring pixels）の複数クラスタにおけるピクセルのピクセル値を予測する、少なくとも２つの予測ルーチン”、及び、少なくとも２つの統計的符号化スキーム（各スキームは、クラスタのピクセル予測誤差のためにコードと対応するコード長を決定する）。前記圧縮部は以下を有する。
・生のデジタル画像データを受信し、前記受信したデータのピクセル値分布を調整し、ピ  クセル値にゲインを適用し、圧縮のためにデータをプレコンディションするために接続  されるプレコンディショニングブロック；但し、ゲインは受信情報を使って少なくとも  部分的に決定される。
・ガンマ補正データに基づきピクセル値のガンマ補正を行い、各ガンマ補正されたピクセ  ル値に対しビット数を削減するためのビット削減ブロック。
・前記プレコンディショニングされたデータを受信し、選択された予測ルーチンを使って  ピクセル予測誤差を生成する予測ブロック。但し、予測ブロックは、各クラスタ及び各  カラープレーン毎に、以下のための処理手段を有している；
―選択された予測ルーチンを使ってピクセル値を予測すること、但し、前記ピクセル予    測誤差は予測ピクセル値とプレコンディションされたピクセル値との差から導かれる    ものである、
―各クラスタに対しエントロピ数を決定すること；
・各クラスタのピクセル予測誤差を符号化する符号化ブロック。但し、前記符号化ブロッ  クは、各クラスタ及び各カラープレーン毎に、選択した統計的符号化スキームを使って  、ピクセル予測誤差及びクラスタのエントロピを符号化するための処理手段を有する；  及び
・画像の各ラインに対応するビットストリームの長さを決め、前記ラインに対応する前記  ビットストリームに長さを付加し、及びインデックステーブルに前記長さを記憶させる  ためのインデキシング ブロック。
【００２７】
圧縮アルゴリズムはライン インデキシング フォーマットを有している。これにより圧縮済み画像のサブサンプリングを高速化することができる。ライン インデキシングが圧縮済み画像のサブサンプリングの高速化のために使われる。データの圧縮されたストリームにおける誤差は１つのラインに影響するだけであるから、それは又、エラー訂正を改善する。ライン インデキシングは圧縮済みストリームと個別ファイルに埋め込まれる。圧縮ファイルがサブサンプルされたり、HDDのような低速メディアから直接フラッシュメディア等にズームされる必要がある場合、インデキシング ファイルを個別ファイルに設けるとパフォーマンスが改善される。仮にインデキシングファイルが圧縮済みストリームにだけ埋め込まれても、インデキシング情報を引出すためには、圧縮されたファイル全部をメモリに読み出す必要がある。インデキシングファイルは圧縮された高解像度画像のサイズと比べると極めて小さいので、圧縮ファイルを使って得られるパフォーマンスの利益と比べれば、記憶スペースが余分に必要であるという不利益は小さい。ライン インデキシング フォーマットを使うと、画像の関心のある部分を伸張させることが可能になる。圧縮済み画像データをズーミングしたり、別の後処理を行う時に、これはパフォーマンスを改善し、一時的RAM記憶に対するニーズを小さくする。
【００２８】
生の画像データとは画像センサから読み出されたピクセル値のみを有するデータを意味する。このデータは増幅され、変換されるが、新しいピクセル値（例えば、色補間により）はそのデータに付加されない。１つ以上の値がセンサのピクセルから読み出される場合は、前記データは各ピクセルに対し複数の値を有している。１つのタイプの画像センサ（例えば、FoveonX3）は入射光の異なる波長インターバルに対応する各ピクセルから、三値を読み出してよい。可能な限りデータを高速に伝送し記憶し取得することが目的であるから、データを多く生成する必要はないし、本発明は生データで動作することが好ましい。しかし、圧縮アルゴリズムは補間データに適用してもよい。
【００２９】
前記したように、本発明は高速な単純な予測法に適用することが好ましい。好ましい実施例によれば、ルーチンの１つの特徴は、小さい固定サイズで１次元のクラスタ（例えば、１×８クラスタ）が予測法で使われる。これは速度を増加させるが、より多くの、より大きい予測誤差を引き起こすかも知れない。これは効率的な適応型統計的符号化で補償されるが。
【００３０】
圧縮アルゴリズムは画像センサの、インテグレーションタイム、温度、“最適パフォーマンスに統計的符号化器を適合させ、前処理するガンマ曲線を適合させるためのゲイン”に関する情報を使うから、適応型である。
【００３１】
US6,614,483の欠点に関して、本発明は次の有利な点を提供する：
―圧縮・伸張された画像データについて目で見える劣化を回避するために調整可能で、    損失を招くステージに対する新規なソルーション。
―圧縮はラインを基礎にしており、ラインの第２ピクセルは同じ色フィルタを有してい    るという事実を使っているから、圧縮前に特定の色抽出と補間を行う必要性のない圧    縮アルゴリズム。Predictor又は他のステージは特定の色フィルタの部分を追跡する    必要はない。−これにより更に効率的なアルゴリズムが得られ、ソフトウェア及び、    より小さいシリコンのフットプリント（footprint）で実装されるときにより高いパ    フォーマンスが生成される。また、ASIC/FGPA(Application Specific Integrated Ci    rcuit/Field Programmable Gate Array)で実装される時には、より高いパフォーマン    スが生れる。本発明のロスレス(lossless)及び近ロスレス（near-lossless）の性質    により、後のステージで高品質の画像処理を行うことができる。
―ラインに基づく圧縮法は、一時的記憶のための外部と内部のバッファに対する必要性    を減じる。また、それによりコストを低減し、パフォーマンスを高める。
【００３２】
複数出力を持つ画像センサに対しアルゴリズムを適切にして、アルゴリズムを容易に実装することが出来る。―小さなシリコンのフットプリントは並列的な画像圧縮を容易にする。所定量の入力チャネルがある時、アルゴリズムをカスタマイズすることにより、多数の画像出力がサポートされる。
【００３３】
本アルゴリズムを使って、複数のロスレス圧縮比を達成することができ、先端技術の算術的圧縮技術で達成することができるものと同程度に良好である。しかし、先端技術の算術的圧縮技術と比べると、複雑度は小さい。
【発明を実施するための最良の形態】
【００３４】
本発明を図面を参照しながら説明する。
【００３５】
〈本発明の詳細な説明〉
本発明は、高品質画像データのロスレス又は、近ロスレスの圧縮アルゴリズムを行うための圧縮部を有するデジタル画像システムを提供する。前記アルゴリズムに対応するブロックダイアグラムが図２ＡとＢに示されている。前記アルゴリズムは新規な構成を有しており、画像データの、極めて高速なon-the-fly圧縮を可能にする。デジタル画像システムは携帯可能で、カメラ操作システムにより制御されるデジタルカメラのデジタルカメラバック(digital camera back)であることができる。
【００３６】
以下において、画像圧縮に関係する画像システムの部分の実施例を図３を使って説明する。圧縮部10は画像センサ12の近くに配置され、アナログ増幅器13とＡＤ変換器（ＡＤＣ）14を介してセンサ12から直接、データを受け取る。圧縮部は幾つかのブロックとプロセッサから構成され、圧縮に関連する種々の操作を行うもので、種々のブロックにより使用されるルーチン、テーブル等を持ち、メモリ11に接続されている。メモリ１１は、各ブロックに接続している、より小さいメモリで構成されている。ファイルを記憶又は転送するために、圧縮部は圧縮済み画像データファイルをユニット15に導く。圧縮部10が実装する圧縮アルゴリズムは、幾つかの設定及び画像センサの複数パラメータによる圧縮を実行する。これらは画像データのノイズと統計に影響を与える。これは、インテグレーションタイム（又は露光/シャッタータイム）、センサ温度、ＩＳＯ設定及び画像データのアナログゲインであることができる。従って、図３に示される実施例はユニット16を含む。前記ユニット16は、ユーザ及び/又はカメラ操作システムが定義した、画像センサの設定を保持する。通常、ユニット16はカメラ操作プロセッサの一部分を構成する。システムは温度センサ１７を有する。これはカメラ操作システムにより制御されることができる。画像センサに関連する情報は圧縮部に与えられ、画像データの一般的なノイズレベルと統計を予測するのに使われる。
【００３７】
圧縮部10は、アルゴリズムの種々のステージに対応して複数のブロックを有している。圧縮部及び前記ブロックはハードウェア又はソフトウェアにより実装されることができる。アルゴリズムハードウェア（例えば、ASIC,FPGA）又はソフトウェア（DSPのようなプロセッサを使う）を実装することにより、最大のパフォーマンスを得ることができる。これは外部RAM容量を必要とするものではない。前記アルゴリズムは容易にパラレル処理アーキテクチャに適合し、最大のパフォーマンスを行うものである。別のものとして、アルゴリズムは、圧縮部10に含まれるデジタル画像プロセッサにより使用され、圧縮部10に含まれる電子的記憶メディア上に格納されるソフトウェアに実装されることができる。前記アルゴリズムを実行するために、前記ソフトウェアはデジタル画像プロセッサにより実行されることができる。
【００３８】
図３に示されるように、圧縮部10は、デジタル画像フロントエンドにおけるアナログ・デジタル変換器14から直接入力される、生の画像データを扱うように最適化される。画像センサ14は色フィルタパターンのどのような構成（例えば、Bayerパターン）をも持つことができる。いくつかの画像センサは、補間の必要なく、赤、グリーン、青の色成分を画像センサに生成する。これらセンサはセンサのモノクロムタイプで完全にサポートされている。圧縮部10は予め処理され補間されたデータで動作し、各ピクセルに対し、三つの色パラメータを示すことができる。好ましい実施例において、この処理はシリコンを節約し、圧縮スピードを上げ、圧縮画像データのサイズを最小にするために延期される（postponed）。
【００３９】
図2AとBのブロックダイアグラムに示されるように、本発明による圧縮アルゴリズムはロスレス圧縮モードと近ロスレス圧縮モードを有している。カメラ操作システムにおいて、ユーザはモードを選択することができる。
【００４０】
アルゴリズムの関連ステージの概略を次に説明する。以下各ステージについての詳細な説明を行う。
―黒キャリブレーション(オープショナル)。カメラ固有のノイズを除去する。
―プレコンディショニング。データを圧縮ステージのパフォーマンスに調和させるため    に画像データを作成する。
―ガンマ補正とビット削減（近ロスレスに限る）。画像表示（プリンタ、モニタ）で行    うことに類似したガンマ補正を行う。ビット削減は補正されたデータについて行われ    、削減されたビットは表示画像においてsignificantではない。伸張のときに、逆ガ    ンマ補正が行われる。
―クラスタリング。定義したサイズの複数クラスタでグループ化する。
―予測。クラスタの別のピクセル値を使って、クラスタの各ピクセルに対する値の予測    方法を選択するためにノイズ情報を使う。予測された値の誤差がクラスタのエントロ    ピ数と共に使われる。
―符号化。エントロピ数を使って、ピクセルの予測誤差のために最適符号化値を選択し    、ピクセル予測誤差とエントロピ数をエンコードする。
―ストリーム生成。各クラスタのためのエントロピレベルに関する追加的情報と共に、    各ラインに対し符号化されたピクセル値の最終圧縮ストリームを生成する。
―インデックスの生成。符号化されたラインのサイズが記憶され、後処理の機能（例え    ば、ズーム）のために高速アクセスを可能にする。
【００４１】
圧縮された画像データの復号は、上記のことを逆に行う。
【００４２】
〈黒キャリブレーション〉
図２ＡとＢのブロックダイアグラムにより概略を示される実施例において、生の画像データの黒キャリブレーションを行い、固定パターンノイズを除去することができる。前記固定パターンノイズは温度及び画像センサアレイのintegration timeの関数として生成される。画像センサが照明されない時、引算される固定パターンが得られるので、このプロセスは黒キャリブレーションと呼ばれている。画像データを圧縮する前には、このステージは必要ではないが、デジタル静止画像処理において特に重要である、高画像品質を得るためには、最終処理画像の前に何らかの黒キャリブレーションを実行しなければならない。出来るだけ早い段階で固定パターンノイズを除去すれば、後の段階でこれを使うために画像データ共に黒キャリブレーションファイルを蓄積する必要がないという利点がある。いくつかの画像センサは固定パターンノイズを持つ。それは簡単に特徴付けでき、それにより、簡単に除去できる。−固定パターンノイズが予測及び/又は、適応的に(adaptively)除去することができるので、黒キャリブレーションファイルを引算する必要性は無く、簡単に除去できる。この場合、図２Ａ及びＢにおいて示される黒レファレンスバッファはもはや必要ではなく、画像処理システムは更に削減することができる。
【００４３】
黒レファレンス画像を引算することにより固定パターンノイズを除去することは別にして、dead columns、クラスタ欠陥等のような傷を補正することができる。黒キャリブレーションされ、傷が補正されたデータはプレコンディショニングステージに送られる。
【００４４】
〈プレコンディショニング〉
プレコンディショニングステージでは、画像センサから、又は前の黒キャリブレーションステージから直接データを受け取る。プレコンディショニングステージでは、次のステージが最上の実行を行い、それにより最適の圧縮比と画像品質を生成することが出来るように、入力される画像データに条件付けを行う。入力データが取り込んだもの（captures）の間に大きな相違がないような統計的分布を持つ画像値を持つようにすることにより、プレコンディションイングが行われる。
【００４５】
このプレコンディショニングの必要性を理解するためには、種々の画像取込設定の下での、画像データの性質に関する情報が更に必要になる。通常、センサからの最大アナログ信号は低いISO出力（例えば100）に制限されているから、高いISO値（例えば1600）で取込まれた画像は、画像センサからの小さい信号を補償するために、或るステージでデジタル的に増幅される(gained)。図４はISO100ヒストグラムの例である。100から1600に高めるには、16のゲインファクタが必要である（アナログ及び/又はデジタルのゲイン）。ISO1600画像は正確に露出されたものであるから、生のピクセル値を有しており、最大ピクセル値/16より小さい。図５はISO1600ヒストグラムの例を示す。圧縮部の後段の１つは統計的符号化器を有しているから、前記統計が、圧縮される画像データの現実の統計から極めて乖離している場合には、このエンコーダは最適では実行されない。
【００４６】
低いISO画像と高いISO画像の統計を同等なものにする１つの方法は、高いISO画像の（アナログ又はデジタルの）生の画像データを得ることである。
【００４７】
別のソルーションは画像データに基づいて又は、最適な統計的符号化の表示を補助する別の入力を使って、その統計を適応させる統計的エンコーダを持つことである。それは、画像データをこのステージに受け渡す前に統計的エンコーダをファインチューニングするために極めてシンプルな方法を提供するから、ISO、画像センサのインテグレーション タイムと画像センサの温度についての知識を使うと更に有益である。
【００４８】
図５のヒストグラムのような画像データを得るための別の理由は、損失の多い画像圧縮が行われるときに、それが最終的高ISO画像（final high ISO image）の画質を改善するからである。もし事前圧縮ゲインが適用されなかったとき（no precompression gain were applied）、圧縮の損失部分がもたらす誤差は最終処理画像で拡大される。最終画像に至る前に厳密な画像エンハンスメント処理を経る必要があるので、高いISO画像で誤差を減らすことは特に重要である。もしビット削減ステージの後で、多くのデジタル増幅（digital gain）が行われるならば、最終処理画像は、多くの量子誤差を持つことになり、これは、画像“banding”として知られる望ましくない現象をもたらす。総じて言えば、損失あるステージの前に増幅することは、最終画像の品質を考える時には、しばしば有利である。
【００４９】
画像データの性質及びロスレスの又は、損失のある圧縮の選択に依存して、プレコンディショニング ステージは、バイパスされたり又は、使用されたりする。プレコンディショニング ゲイン ステージをバイパスすることはゲインを１に設定することと等価である。
【００５０】
〈ビット−削減〉
アルゴリズムの次のステージは、選択的な損失のあるビット削減ステージで、圧縮比を調整するのに使われる。ロスレスの圧縮を行う場合はこのステージはバイパスされる。
【００５１】
一般的に言えば、損失のある基本的圧縮スキームは２つある。
―損失のある変換スキーム。写真サンプルが取得され、小セグメントに切断され、新規    な基礎スペース（a new basis space）に変換される。その結果の値はビット削減さ    れ、エントロピ符号化される。
―損失のある予測スキーム（lossy predictive scheme）。現在の画像フレームを予測    するのに、前のデータが使われる。予測されたデータと現実のデータとの間の誤差は    、予測を再生産するのに必要な別の情報と共に、符号化される。
【００５２】
本圧縮アルゴリズムの損失あるステージ（lossy stage）は予測スキームで動作し、損失ある変換スキーム（例えばJPEG）で動作する圧縮方法として、変換コーディング（transform coding）を適用しない。
【００５３】
JPEG圧縮に使われる離散的コサイン変換は、複数の“blocky”圧縮アーティファクト及び”blurry”圧縮アーティファクトを起こす。高いコントラスト画像を圧縮するときに（典型的には、ストライプ又はチェックボードパターンを含む８×８ピクセル スクェアで）、これらは振動パターンを生成することがある。これらの圧縮アーティファクトは後の処理で除去することは極めて困難である。
【００５４】
本圧縮アルゴリズムがもたらす圧縮アーティファクトは通常、色”banding”として見ることができる単純な量子化誤差である。その粗い色遷移は極めて低いbit depthから生じる。本発明の利点は、このbanding圧縮アーティファクトが簡単に除去できることである。
【００５５】
本発明の圧縮アルゴリズムによると、画像データプールにおいて情報量を削減する前に、ガンマ補正を行う。ガンマ補正はルックアップテーブル、数学的関数、または真のガンマ曲線に対する折線リニア近似（piecewise linear approximation）としてとして実装することができる。ア曲線の例を図７に示す。
【００５６】
ガンマ関数（gamma-function）を適用した後では、ピクセル当たりのビット量を、高い数（例えば１６ビット）から最終処理画像の色当たりのbit depthに適合する数字（例えば、ピクセル当たり８ビット）に削減することができる。ガンマ補正がルックアップテーブルとして実装されるならば、そのテーブルにビット削減部分を埋め込むと有利である。そうすることにより、これはテーブルのサイズを減らし、ハードウェアの実装コスト及び基本的なシステムの問題を減らすからである。ガンマ関数を使って近ロスレスデータ削減を実装すると、圧縮、伸張、最終画像エンハンスメントステージで処理された後でも、極めて高品質の画像を生成できる。これは、ガンマ曲線が最終画像エンハンスメントプロセスで使われ、予測ステージの前に使われガンマ曲線と同一のcompanding関数を生成するという事実による。全ピクセル値のリニア分割は最終画像の暗いエリアにおけるデータの、目に見える損失を生み、ノイズの多く見える低品質の画像を作り出す。圧縮比は、各ピクセルのbit depthを減らすことにより、簡単に変えることが出来る。ビット削減をより高くすればするほど、より高い圧縮比が達成される。
【００５７】
ビルトインされたビット削減機能を持つガンマテーブルの例をテーブル１に示す。
【００５８】
【表１】
2008501261.tif 000003
【００５９】
別の損失のあるステージの実装も可能であるが、本発明の損失ある部分の明白な利点は、極めて単純であるが、表示された画像に印象を残すような結果を与えることである。また、本質的にロスレスである圧縮ステージの実装に影響を与えることなく、独立したステージとして追加できる。
【００６０】
損失あるステージの多少高度な実装は、同じ色の近傍の複数ピクセル（neighboring pixels）の、より低いビット（lower bits）の平均関数（averaging function,ビットを除去する前の）を更に含んでもよい。これは良い結果をもたらすだろう。ＬＳＢ（the least significant bits）が取り除かれなくても、ビット削減ステージの後のＬＳＢの値に影響を与えるからである。予測ステージの前の最もsignificanceの低いピクセルを平均化すると、ＬＳＢをより少なく捨てることができる。その理由は、“平均化関数は、ＳＮ比を改善する。又、画像データが大量のノイズを含み、真値を予測することが困難である場合に、平均化関数により予測ステージのパフォーマンスを改善する”からである。
【００６１】
画像データにおけるノイズの一般的レベルに関する情報を使うと、損失ステージにファインチューンし、ノイズ抑圧を適正に行い、最終画像エンハンスメント処理によって、いずれ後に除去されるデータ量を除去することができる。初期のステージで、データ削減後に適正にノイズ抑圧を行うと、画像品質を損なうことなく、画像圧縮比が改善される。
【００６２】
〈クラスタリング〉
損失ステージの後で、データはクラスタリング ステージに入る。このステージでは、データは適正なサイズのクラスタにグループ化される。高スループット パフォーマンス、低コスト、Bayerフィルタ パターン センサからの画像データのための良好な圧縮比、のための最適なクラスタサイズは、図８に示されるような１ラインに水平８ピクセルからなる８×１クラスタである。多少高い圧縮比は、クラスタサイズ８×２、６×２、８×４、６×４、４×４、６×６、８×８等により達成される。図９は８×８クラスタを示す。
【００６３】
１ラインより多い画像データからのデータを必要とするクラスタサイズを使うと、次のラインを圧縮するために、メモリにおいて少なくとも１つ余分のラインをバッファ（蓄積）できるように、画像圧縮の実装を行わねばならない。より高いパフォーマンスのためには、遅いアクセスタイム、外部メモリに対する電力消費の大きいアクセスを回避し、このデータは、同一のシリコン上で圧縮エンジンとして利用できなければならない。外部メモリに対するアクセスは、システムコストを増大させるか又は、パフォーマンスを減少させる。そして、on-the-flyでデータをコンプレス（compress）することを不可能にし、それにより画像センサから読み出す際にデータを削減するという大きな利益を失うことになる。高速メモリで多数のラインをバッファするという問題は、複数の出力を持つ高パフォーマンスの画像センサを使う時に、明らかになる。数千のピクセル（＞4000ピクセル/ラインは今日ありふれている）であるラインを持つこれらセンサは、同時に同一画像の離れた部分からデータを供給し、それにより少なくともバッファリングに対する要求を倍加させ、圧縮エンジン実装の複雑性とパフォーマンスに対する要求を増大する。４出力、5000ピクセルのラインを持つ画像センサを使い、８×８サイズのクラスタを選択すると、バッファリング容量に対する要求は少なくともピクセル当たり16ビットで175ｋBである。もしそれが高速オンチップのSRAM（例えばcache）として実装されるならば、これは極めて高価である。それは、低電力、高パフォーマンスのＤＳＰ又は、現在、他の商用的に利用可能なプロセッサでは利用できない。その理由で、８×８クラスタを持つソルーションは、より低いバンド幅（オンチップソルーションと比較して）と典型的に高い電力消費を持つが比較的に安価な、外部メモリの使用を必要とする。現在の技術では、８×８クラスタ上の実装は、より大きいボードスペースを使い、より大きい電力を使い、より低いパフォーマンスをもち、ハイエンドの画像センサからの画像データをon-the-flyでcompressすることができない。未来のチップ技術を使えば、８×８クラスタに基づく本発明によるソルーションは、これらの欠点はない。
【００６４】
８×１クラスタは低コストだが、圧縮比が僅かに低いという、１つの不利益だけで、上記の問題を解決する。８×１クラスタのもう１つの利点は、多くの標準的なプロセッサのキャシュ ライン サイズ(cache line size)、及び標準的なメモリインターフェースのバースト能力（burst capability）と適合することである。
【００６５】
〈予測〉
小クラスタサイズ及び、シンプルな予測ルーチンにより、本圧縮アルゴリズムは、適応的ワン−パス（one-pass）予測と符号化ステージを使い、圧縮比について妥協することなく、より高いスループットレートを達成する。このアプローチは、適応型ツーパス(two-pass)符号化ステージに基づく典型的なソルーションとはかなり異なっている。前記適応型ツーパス符号化ステージでは、現実の符号化を行うために、全ての画像データは最初に分析されて、全画像データの第２パスを行う前に、最適符号化が決定される。前記ワン−パス方法はより高速で、ツーパス符号化法よりメモリの必要性が小さい。
【００６６】
前記ワン−パス法は可能である。何故なら、ノイズレベルの一般的トレンドと画像データの統計を画像センサの設定情報から導くことができるからである。この情報により、アルゴリズムは適切な予測ルーチンを選択でき、それにより、予測法を選択する前に全データプールを分析する必要性は無くなる。一例として、データの一般的ノイズレベルが極めて高いとき、単純な予測法を選択することは好ましいことである。というのは、どんなに進んだ予測法でもランダムノイズを予測することは出来ないからである。高速で単純なワンパス予測ルーチンを選択し、クラスタレベルで適応した符号化ルーチンを提供する代わりに、より高速な、より効率の良い圧縮が提供される。
【００６７】
各クラスタ内では、画像データエントロピが決定され、その後、各クラスタに対し最適な符号化を選択するために使われる。前記クラスタ内の最大と最小のピクセル値の間の差及び、クラスタにおけるピクセル値の変化が反映されるように、クラスタのエントロピ数が決められる。
【００６８】
クラスタ化された画像データは予測セクタに入力される。そこで、クラスタの各ピクセル値は、前の複数ピクセルからの情報を使って予測される。１つのピクセルは、同じ色の前のピクセル値から予測される、又は、異なる色の前のピクセル値から予測される。Bayler画像データに対する極めてシンプルな予測では、１つのピクセルが同じ色の前のピクセルと同じ値を持つと予測される。少し高度な予測では、１つより多くの前ピクセルを使い、次のピクセルを予測するものである。予測されるピクセルに最も近接したピクセル上の重み（weight）で重み付けされる複数のピクセルを使用すると少しよい結果をもたらす。１ラインより多いラインを持つクラスタサイズを使うと、予測ピクセルから短距離にある、水平方向、垂直方向の、同じ色の複数ピクセルを使ってピクセル値を予測するのに使うことができる。
【００６９】
コントラスト情報はグリーンピクセルにだけ制限しているのではないから、別の色のピクセルを使って、ピクセルを予測に役立てることは有益である。予測ステージがどの程度進んでいるかは、圧縮画像の通常のノイズ量に大きく依存する。画像において大量のノイズがある時、極めて進歩した予測アルゴリズムでも圧縮比を大きく改善することはできない。何故なら、ランダムノイズを予測することは不可能であるからである。画像にノイズが少ない又は、ノイズ抑圧をする損失ステージを追加すると、更に高度な予測の有利さが増す。
【００７０】
損失ステージは、例えば、予測値と真値(correct value)との差として算出される現実の数字（より小さい）と異なる予測誤差を許容することにより予測ステージ内に含ませることができる。
【００７１】
ピクセル値が予測されたときには、現実の値と差（誤差）は、そのピクセルを符号化するための値として一時的に記憶される。クラスタの全ピクセルに対する予測誤差が決定されたとき、そのブロック内のエントロピ量に対する数字が、前記クラスタ内の各色に対する最大予測誤差として得られる。エントロピ数とピクセル予測誤差は符号化ステージに渡される。
【００７２】
〈符号化〉
符号化ステージはエントロピ数を使って、クラスタ内の各カラープレーンのピクセル予測誤差に対する最適符号化値を選択し、これにより符号化を適応的に調整し、各クラスタ内の画像データに対する最短の可能性のあるコードを生成する。各クラスタ内で、エントロピ数が自身符号化される。その後、ピクセル予測誤差が符号化される。仮にエントロピ数が前のクラスタから、変化しなかった場合、エントロピ コードは最短コードで符号化され、前の値が依然として有効であると表示される。
【００７３】
本発明の符号化ステージは、クラスタを符号化する際、種々の統計的符号化スキームを使う。スキームの選択はクラスタのエントロピ数及び、センサからの一般的ノイズと統計的情報に依存する。好ましい実施例において、統計的符号化スキームは、クラスタの予測誤差に対する異なる統計的符号化値を持つ小さい複数のテーブルである。複数のテーブルは、数学の公式に基づく符号化法と組合せられて、可変サイズの入力データに対する許容できるショートコードを提供する。例えば、小さいエントロピ数を持つ、画像データの一般的ノイズレベルが低い、クラスタに対しては、小さなピクセルの複数の予測誤差は、それら予測誤差に対応する統計的に最適な符号化値にマッピングされる。これに対し、大きなピクセル予測値はストレートにエンコードされる。エントロピ数と画像データの一般ノイズレベルとの別の組合せに対しては、符号化スキームは、中位又は大きい予測誤差を手助けしてもよい。符号化スキームは曲線または数学の公式により表現することができる。
【００７４】
次の表２は統計的入力に基づく符号化テーブルの例を示す。高い値（high value）は低い値より生起確率が高い。
【００７５】
【表２】
2008501261.tif 000004
【００７６】
いくつかの小さいテーブルを使うと、例えば、大きなハフマン 符号化テーブルを使わなくてすむ。ハフマンテーブルでは、16ビットピクセルデータに対し、高速アクセス可能な蓄積のために１Mビットを使う。これに対し、本発明の単純なバージョンではたった220ビットを使うだけである。
【００７７】
より圧縮比を高くするためには、前記の符号化の補完としてラン−レングス符号化を使うことが出来るが、より複雑になり、スループットパフォーマンスがより低くなる可能性がある。有利な点は極めて低いエントロピ領域を持つ画像に対し、圧縮比を大きく出来ることである。現実にラン−レングス符号化は、損失ある圧縮又は極めて低ノイズレベルの画像データとの組合せにおいて有効である。
【００７８】
〈ストリームとインデックス生成〉
符号化されたデータはストリーム生成ステージに渡される。そこで、画像データの最終的な圧縮ストリームが生成される。各ラインのピクセルは、各クラスタに対するエントロピレベルに関する追加情報と共に符号化されたピクセル値のストリームに変換される。各ラインの端部では、符号化されたラインのサイズがピクセル値の符号化ストリームに追加される。圧縮画像が低速メディア上に蓄積される時には、ラインのサイズは別々のインデックステーブルに蓄積され、後処理関数（postprocessing functions:例えば、ズーム）に対する高速アクセスを可能にする。
【００７９】
最終圧縮画像は一時的に（例えばRAMに）及び/又は、永久記憶メディア（例えばHDDに）上に記憶される。インデックスファイルは画像ファイルと共に蓄積され、後のステージにおいて圧縮された画像ストリームから抽出されることができる。メディア（有線、無線、光学、等）に載せて圧縮されたファイルを転送するが、この転送は圧縮済み画像データによる制限されたバンド幅要件のためにパフォーマンスの改善をもたらす。
【００８０】
〈後処理〉
画像キャリブレーションは、最終画像エンハンスメントステージまで延ばされる。前記ステージで、極めて高度な画像センサキャリブレーション技術を使うことができ、最終画像品質が改善されるからである。画像エンハンスメントを後のステージへ遅らせることは大きな利点がある。後のステージでは、更に多くのプロセッサー リソースが利用できるし、処理時間及び消費電力は小さいからである。最終画像キャリブレーションと画像エンハンスメントは、圧縮ブロックを有する同一の物理的ユニットにより実施されてよい。画像キャリブレーション及び画像エンハンスメントは、コンピュータのようなプロセッサ リソースを持つ別の物理的ユニットで処理される。伸張は、標準的なコンピュータで動くアルゴリズムの標準的なソフトウェア実装を使って、極めて高速に行われる。
【００８１】
本発明は、極めて安定した圧縮比をもたらす。本発明は、“システムデザインとの関係で、時折、極めて高い圧縮比を生成するが、時には全く圧縮しないアルゴリズム”に比べ有益である。決定論的な圧縮（deterministic compression）パフォーマンスは、大量のオーバーヘッド（overhead）を要求しない周囲のデジタル画像システムのデザインを可能にするが、低減されたデータを使って、高いパフォーマンス及び/又は低いシステムコストを達成することが出来る。擬似圧縮設定を使うと、技術的に高品質の画像は、それが完全に処理されたときのサイズと比較して、１/８に圧縮される。達成される画像品質は、標準ベースラインJPEGセットで１/８圧縮で達成される品質より優れたものである。どの画像を圧縮しても、目で見た画像アーティファクトは全くない。
【００８２】
後の高速の、選択的な伸張（later high-speed selective decompression）のために、高品質の画像データを圧縮することができるので、本発明は、“高品質の画像が保存され、高速に検索され、後処理される画像バンキングシステム”において極めて有用である。選択的な伸張の能力を使用し、データ検索及び修正を更に高速に出来る。ありふれた標準で、新規な高品質画像データフォーマットを生成することができるが、それは、RAW画像データに付随する後処理指令(postponing directives)を持つ圧縮されたRAWデータを含む。
【図面の簡単な説明】
【００８３】
【図１】従来の技術によるフローチャートである。
【図２Ａ】本発明による圧縮アルゴリズムの第１のモードのブロックダイアグラムである。
【図２Ｂ】本発明による圧縮アルゴリズムの第２のモードのブロックダイアグラムである。
【図３】本発明による方法とアルゴリズムを実装するために使うデジタルシステムの実施例である。
【図４】ＩＳＯ100の生の画像データのためのヒストグラムである。
【図５】ＩＳＯ1600の生の画像データのためのヒストグラムである。
【図６】ゲインされたＩＳＯ1600の生の画像データのためのヒストグラムである。
【図７】ガンマ曲線の例を示す。
【図８】８×１ピクセルクラスタを示す。
【図９】８×８ピクセルクラスタを示す。
【図１０】複数の出力画像センサの例を示す。
【図１】
2008501261.tif 000005
【図２Ａ】
2008501261.tif 000006
【図２Ｂ】
2008501261.tif 000007
【図３】
2008501261.tif 000008
【図４】
2008501261.tif 000009
【図５】
2008501261.tif 000010
【図６】
2008501261.tif 000011
【図７】
2008501261.tif 000012
【図８】
2008501261.tif 000013
【図９】
2008501261.tif 000014
【図１０】
2008501261.tif 000015
【手続補正書】
【提出日】平成18年3月28日(2006.3.28)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
上記目的を満たすために、本発明は、第１のアスペクトにおいては、画像センサから得られる生のデジタル画像データについての、ロスレス又は近ロスレスのon-the-fly圧縮のための方法を提供する。この方法は以下を有している。
・少なくともセンサ インテグレーション タイム、センサ温度、並びに画像データのアナ  ログ及びデジタルゲインに関係する情報を受信すること；
・画像センサから得られる１つ又はそれ以上のカラープレーン(color planes)における、  複数のピクセル値からなる生のデジタル画像データを受信すること；
・前記受信した生の画像データのピクセル値分布を調整し、前記複数ピクセル値にゲイン  を適用し、圧縮用データにプレコンディションすること；但し、ゲインは前記受信情報  を使って少なくとも部分的に決定される。
・近傍の複数ピクセル（neighboring pixels）の複数クラスタにおける複数ピクセルのピ  クセル値を、前記クラスタの別のピクセル値を使って予測するために、２つ又はそれ以  上予測ルーチンを提供すること；
・前記受信された情報、クラスタサイズ、及び、画像データ又は各クラスタのための適切  な予測ルーチンを選択し、使うこと；
・各クラスタと各カラープレーンに対し、以下により、ピクセル予測誤差を生成すること  、
―選択された予測ルーチンを使ってピクセル値を予測すること、但し、前記ピクセル予    測誤差は予測ピクセル値とプレコンディションされたピクセル値との差から導かれる    ものである；
―各クラスタに対しエントロピ数を決定すること；
・２つ又はそれ以上の統計的符号化スキームを提供すること。但し、各々は、クラスタの  ピクセル予測誤差のためにコードと対応するコード長を決定する。
・各クラスタの予測誤差を、各カラープレーン毎に、以下のように符号化すること、
―前記クラスタのカラープレーンに対し、エントロピ数と受信情報を使って、適切な統    計的符号化スキームを決定し選択すること、及び
―選択した統計的符号化スキームにより、ピクセル予測誤差及びクラスタのエントロピ    を符号化すること；
・画像の各ラインに対応するビットストリームの長さを決め、前記ラインに対応する前記  ビットストリームに長さを付加し、及び/又はインデックステーブルに前記長さを記憶  させること。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
近ロスレスon-the-fly圧縮方法は、ピクセル予測誤差を生成し、符号化する前に実行される次のステップを更に有する。
―画像データのピクセル値をガンマ補正すること；
―前記ガンマ補正されたピクセル値のLSB(least significant bits)の１つ又はそれ以    上を削減すること；
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
ビット削減及び圧縮の前に行う、画像データのガンマ補正のユニークな特徴は、ガンマ補正を行う場合には、通常技術でデータを表現する前に逆ガンマ補正を実行しなければならないことである。従って、近ロスレスの圧縮法は更に、圧縮された画像データの伸張を有するための方法を提供する。前記方法は以下のものを含む。
―圧縮時に使った、１つ又はそれ以上の統計的符号化スキームを使って、符号化された    ピクセル予測誤差を復号すること；
―復号されたピクセル予測誤差及び圧縮時に使った予測ルーチンを使って、ピクセル値    を算出すること；及び
―算出されたピクセル値の逆ガンマ補正を実行すること。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
第１のアスペクトによる方法はソフトウェア又はハードウェアで実行される。ソフトウェアで実行される場合は、本発明は、画像センサーから得られるデジタル画像データを圧縮するのにデジタル画像プロセッサが使うソフトウェアを記憶する電子的記憶メディアを提供する。第１又は第２のアスペクトの方法ステップを実行する際に、ソフトウェアはデジタル画像プロセッサにより実行される。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
第２のアスペクトによると、本方法はハードウェアで実装される。本発明はデジタル画像データを圧縮するための画像圧縮部を提供する。同セクションはデジタル画像装置に接続され、少なくとも以下に関係する情報を受信する。即ち、センサ インテグレーション タイム、センサ温度及び画像データのアナログゲイン、及び、“１つ又はそれ以上のカラープレーンにおける複数のピクセル値を含む生のデジタル画像データ”、ガンマ補正データを保持する圧縮部、“クラスタ内の別のピクセル値を使った近傍の複数ピクセル（neighboring pixels）の複数クラスタにおけるピクセルのピクセル値を予測する、少なくとも２つの予測ルーチン”、及び、少なくとも２つの統計的符号化スキーム（各スキームは、クラスタのピクセル予測誤差のためにコードと対応するコード長を決定する）。前記圧縮部は以下を有する。
・生のデジタル画像データを受信し、前記受信したデータのピクセル値分布を調整し、ピ  クセル値にゲインを適用し、圧縮のためにデータをプレコンディションするために接続  されるプレコンディショニングブロック；但し、ゲインは受信情報を使って少なくとも  部分的に決定される。
・ガンマ補正データに基づきピクセル値のガンマ補正を行い、各ガンマ補正されたピクセ  ル値に対しビット数を削減するためのビット削減ブロック。
・前記プレコンディショニングされたデータを受信し、選択された予測ルーチンを使って  ピクセル予測誤差を生成する予測ブロック。但し、予測ブロックは、各クラスタ及び各  カラープレーン毎に、以下のための処理手段を有している；
―選択された予測ルーチンを使ってピクセル値を予測すること、但し、前記ピクセル予    測誤差は予測ピクセル値とプレコンディションされたピクセル値との差から導かれる    ものである、
―各クラスタに対しエントロピ数を決定すること；
・各クラスタのピクセル予測誤差を符号化する符号化ブロック。但し、前記符号化ブロッ  クは、各クラスタ及び各カラープレーン毎に、選択した統計的符号化スキームを使って  、ピクセル予測誤差及びクラスタのエントロピを符号化するための処理手段を有する；  及び
・画像の各ラインに対応するビットストリームの長さを決め、前記ラインに対応する前記  ビットストリームに長さを付加し、及びインデックステーブルに前記長さを記憶させる  ためのインデキシング ブロック。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
前記ワン−パス法は可能である。何故なら、ノイズレベルの一般的トレンドと画像データの統計を画像センサの設定情報から導くことができるからである。この情報により、アルゴリズムは適切な予測ルーチンを選択でき、それにより、予測法を選択する前に全データプールを分析する必要性は無くなる。一例として、データの一般的ノイズレベルが極めて高いとき、単純な予測法を選択することは好ましいことである。というのは、どんなに進んだ予測法でもランダムノイズを予測することは出来ないからである。高速で単純なワンパス予測ルーチンを選択し、クラスタレベルで適応した符号化ルーチンを提供することにより、より高速な、より効率の良い圧縮が提供される。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００７０
【補正方法】変更
【補正の内容】
【００７０】
損失ステージは、例えば、予測値と真値(correct value)との差として算出される現実の数字(例えば、より小さいことにより（e.g.by being smaller than）)と異なる予測誤差を許容することにより予測ステージ内に含ませることができる。
【手続補正書】
【提出日】平成18年5月10日(2006.5.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像センサから得られる生のデジタル画像データについての、ロスレスのon-the-fly圧縮のための方法であって、以下を有している方法。
少なくともセンサ インテグレーション タイム、センサ温度及び画像データのアナログ及びデジタルゲインに関係する情報を受信すること；
画像センサから得られる１つ又はそれ以上のカラープレーンにおける複数のピクセル値からなる生のデジタル画像データを受信すること；
前記受信した生の画像データのピクセル値分布を調整し、ピクセル値にゲインを適用し、圧縮用データにプレコンディションすること；但し、ゲインは受信情報を使って少なくとも部分的に決定される。
近傍の複数ピクセルの複数クラスタにおける複数ピクセルのピクセル値を、前記クラスタの別のピクセル値を使って、予測するために２つ又はそれ以上予測ルーチンを提供すること；
前記受信された情報、クラスタサイズ、及び、画像データ又は各クラスタのための適切な予測ルーチンを選択し、使うこと；
各クラスタと各カラープレーンに対し、以下により、ピクセル予測誤差を生成すること、
―選択された予測ルーチンを使ってピクセル値を予測すること、但し、前記ピクセル予測誤差は予測ピクセル値とプレコンディションされたピクセル値との差から導かれるものである；
―各クラスタに対しエントロピ数を決定すること；
２つ又はそれ以上の統計的符号化スキームを提供すること。但し、各々は、クラスタのピクセル予測誤差のためにコードと対応するコード長を決定する。
各クラスタのピクセル予測誤差を、各カラープレーン毎に、以下のように符号化すること、
―前記クラスタのカラープレーンに対し、エントロピ数と受信情報を使って、適切な統計的符号化スキームを決定し選択すること、及び
―選択した統計的符号化スキームにより、ピクセル予測誤差及びクラスタのエントロピを符号化すること；
画像の各ラインに対応するビットストリームの長さを決め、前記ラインに対応する前記ビットストリームに長さを付加し、及び/又はインデックステーブルに前記長さを記憶させること。
【請求項２】
更に、ピクセル予測誤差の生成の前に、画像センサの固有のノイズと誤差の補償するために、画像データを処理することを特徴とする請求項１に記載のon-the-fly圧縮のための方法。
【請求項３】
クラスタのエントロピ数が、クラスタにおける最大及び最小ピクセル値の差及び、クラスタにおけるピクセル値の変化（variation）を反映するために決められる、請求項１に記載のon-the-fly圧縮のための方法。
【請求項４】
ピクセル値を予測するのに使われるクラスタは固定サイズで、１次元のクラスタであることを特徴とする請求項１に記載のon-the-fly圧縮のための方法。
【請求項５】
クラスタは８×１の固定サイズをもつことを特徴とする請求項１に記載のon-the-fly圧縮のための方法。
【請求項６】
デジタル画像プロセッサにより、画像センサからのデジタル画像データを圧縮するのに使われるソフトウェアを記憶する電子的記憶メディア。但し、前記ソフトウェアはデジタル画像プロセッサにより、請求項１の複数ステップを実行される。
【請求項７】
ピクセル予測誤差を生成し、符号化する前に実行される以下のステップを更に有する、請求項１に記載の近ロスレスのon-the-fly圧縮のための方法。
画像データのピクセル値をガンマ補正すること；
前記ガンマ補正されたピクセル値のLSB(least significant bits)の１つ又はそれ以上を削減すること；
【請求項８】
デジタル画像プロセッサにより、画像センサからのデジタル画像データを圧縮するのに使われるソフトウェアを記憶する電子的記憶メディア。但し、前記ソフトウェアはデジタル画像プロセッサにより、請求項７の複数ステップを実行される。
【請求項９】
画像データを伸張するために以下のステップを有する請求項７に記載の方法。
圧縮時に適用される、１つ又はそれ以上の統計的符号化スキームを使って、符号化されたピクセル予測誤差を復号すること；
復号されたピクセル予測誤差及び圧縮時に適用される予測ルーチンを使って、ピクセル値を算出すること；および
算出されたピクセル値の逆ガンマ補正を実行すること。
【請求項１０】
画像全体を伸張することなく、圧縮済み画像の特定部分だけを検索する請求項９に記載の画像データを伸張する方法であって、復号する前に、次のステップを含む方法。
インデックスの付いた圧縮画像データを提供すること。但し、インデックスの付いた部分はサブサンプリング、ズーミング、パンニング、クロッピングのために適していること；
・伸張用に選択されるインデックスのついた部分を識別するために埋め込まれたライン インデックス テーブル又は単独のライン インデックス テーブルを使うこと。
【請求項１１】
デジタル画像データを圧縮するための画像圧縮部であって、前記セクションはデジタル画像処理装置に接続され、少なくとも次に関係する情報を受信する。センサ インテグレーション タイム、センサ温度及び画像データのアナログゲイン、及び、“１つ又はそれ以上のカラープレーンにおける複数のピクセル値からなる生のデジタル画像データに関係する情報”、ガンマ補正データを保持する圧縮部、“クラスタ内の別のピクセル値を使った近傍の複数ピクセルの複数クラスタにおける複数ピクセルのピクセル値を予測する、少なくとも２つの予測ルーチン”、及び“少なくとも２つの統計的符号化スキーム（各々は、クラス他のピクセル予測誤差のためにコードと対応するコード長を決定する）”。前記圧縮部は以下を有する；
生のデジタル画像データを受信し、前記受信したデータのピクセル値分布を調整し、ピクセル値にゲインを適用し、圧縮のためにデータをプレコンディションするために接続されるプレコンディショニング ブロック；但し、ゲインは受信情報により少なくとも部分的に決定される。
ガンマ補正データに基づきピクセル値のガンマ補正を行い、各ガンマ補正されたピクセル値に対しビット数を削減するためのビット削減ブロック。
前記プレコンディショニングされたデータを受信し、選択された予測ルーチンを使ってピクセル予測誤差を生成するために接続される予測ブロック。但し、予測ブロックは、各クラスタ及び各カラープレーン毎に、次のための処理手段を有している；
―選択された予測ルーチンを使ってピクセル値を予測すること、但し、前記ピクセル予測誤差は予測ピクセル値とプレコンディションされたピクセル値との差から導かれるものである、
―各クラスタに対しエントロピ数を決定すること；
各クラスタのピクセル予測誤差を符号化する符号化ブロック。但し、前記符号化ブロックは、各クラスタ及び各カラープレーン毎に、選択した統計的符号化スキームを使って、ピクセル予測誤差及びクラスタのエントロピを符号化するための処理手段を有する；及び
画像の各ラインに対応するビットストリームの長さを決め、前記ラインに対応する前記ビットストリームに長さを付加し、及びインデックステーブルに前記長さを記憶させるためのインデキシング ブロック。
【国際調査報告】
2008501261.tif 000016
2008501261.tif 000017
2008501261.tif 000018
2008501261.tif 000019
2008501261.tif 000020
2008501261.tif 000021
2008501261.tif 000022
2008501261.tif 000023