(57)【特許請求の範囲】
【請求項１】
画像センサによって生成された複数のピクセルデータを含む画像データを取り込む画像取り込み器と、
デッド・ピクセルを識別するデータを記憶する第１のＲＡＭを備え、前記取り込まれた画像データ内のデッド・ピクセルを所定の有効ピクセルに置換するピクセル置換器と、
コンパンディングテーブルのエントリを保持する第２のＲＡＭを備え、前記ピクセル置換器から出力された画像データの各ピクセルデータを所定ビットのピクセルデータに変換するコンパンディング及びガンマ補正器と、
前記コンパンディング及びガンマ補正器の出力に結合したスケーリング器であって、画像データのサイズを調整するスケーリング器と、
前記スケーリング器に結合するとともに、量子化ならびに符号化のために使用される第３、第４のＲＡＭであって、量子化されたコードワード情報を保持する第３のＲＡＭと、コードワードの長さ情報を保持する第４のＲＡＭと、２つの近接ピクセル間の差分を出力するＤＰＣＭ器とを含んだデータ圧縮器であって、画像データを圧縮して出力するデータ圧縮器と、
前記ピクセル置換器の出力データ、前記コンパンディング及びガンマ補正器の出力データ、前記ＤＰＣＭ器の出力データ及び前記データ圧縮器の出力データを受け、所定の宛先に送り出すＤＭＡコントローラと、
前記ＤＭＡコントローラに接続するバスであるとともに、前記第１、第２、第３及び第４のＲＡＭのそれぞれとダイレクトに通信できるよう当該それぞれのＲＡＭに直接接続するバスと、
前記バスと結合し、前記第１、第２、第３及び第４のＲＡＭにデータをプリロードする手段と、
を備えたディジタル・カメラ。
【請求項２】
請求項１記載のディジタル・カメラにおいて、
前記データ圧縮器のＤＰＣＭ器が、
単一のアドレスによってインデクスされたとき量子化したコードを出力するように構成された第１のルックアップ・テーブル、
前記単一のアドレスによってインデクスされたとき、前記コードの長さを与えるように構成された第２のルックアップ・テーブル、及び
前記第１のルックアップ・テーブルおよび前記第２のルックアップ・テーブルに結合するとともに、該第１のルックアップ・テーブルおよび前記第２のルックアップ・テーブルに前記単一のアドレスを出力するために、該単一のアドレスを生成するよう構成された予測符号化回路とを備え、この予測符号化回路が、
入力ピクセル値と予測したピクセル値の差によって、前記単一のアドレスを発生するように構成された差分回路、
前記差分回路に結合され、この差分回路からの単一のアドレスによってインデクスされて逆量子化したコードを出力するよう構成された第３のルックアップ・テーブル、及び
この第３のルックアップ・テーブルから出力された前記逆量子化されたコードと直前の予測ピクセル値との和を、次の予測のために、その時点まで保持していた該直前の予測ピクセル値に代えて、更新保持するレジスタであって、前記差分回路が前記単一のアドレスを発生することができるよう、その保持している予測ピクセル値を該差分回路に出力するレジスタと
を備え、前記第１及び第３のルックアップ・テーブルが前記第３のＲＡＭに、前記第２のルックアップ・テーブルが前記第４のＲＡＭに保持されていることを特徴とするディジタル・カメラ。
【請求項３】
請求項１記載のディジタル・カメラにおいて、
前記データ圧縮器のＤＰＣＭ器は、
各アドレスに対して量子化したコードを出力するように構成された第１のルックアップ・テーブル、
前記各アドレスに対して前記量子化したコードのサイズ情報を与えるように構成された第２のルックアップ・テーブル、
前記第１のルックアップ・テーブルおよび前記第２のルックアップ・テーブルと通信する第１の予測符号化回路であって、その第１の予測符号化回路は、前記第１のルックアップ・テーブルおよび前記第２のルックアップ・テーブルにアドレスを与え、そのアドレスは、ピクセルのレッド・カラー・プレーン成分における、それに対応する誤差値に応答した信号とする第１の予測符号化回路、
前記第１のルックアップ・テーブルおよび前記第２のルックアップ・テーブルと通信する第２の予測符号化回路であって、その第２の予測符号化回路は、前記第１のルックアップ・テーブルおよび前記第２のルックアップ・テーブルにアドレスを与え、そのアドレスは、ピクセルのグリーン・カラー・プレーン成分における、それに対応する誤差値に応答した信号とする第２の予測符号化回路、
前記第１のルックアップ・テーブルおよび前記第２のルックアップ・テーブルと通信する第３の予測符号化回路であって、その第３の予測符号化回路は、前記第１のルックアップ・テーブルおよび前記第２のルックアップ・テーブルにアドレスを与え、そのアドレスは、ピクセルのブルー・カラー・プレーン成分における、それに対応する誤差値に応答した信号とする第３の予測符号化回路、
各アドレスに対して、エラー回復において用いられる逆量子化したコードを与える第３のルックアップ・テーブル、
とを備え、前記第１及び第３のルックアップ・テーブルが前記第３のＲＡＭに、前記第２のルックアップ・テーブルが第４のＲＡＭに保持されていることを特徴とするディジタル・カメラ。
【発明の詳細な説明】
発明の背景
１．  発明の分野
本発明は、画像圧縮ならびにコンピュータ・グラフィックに関する。より具体的には、本発明は画像処理ならびに画像圧縮を実行するためのアーキテクチャおよび方法に関する。
２．  従来技術の説明
ディジタル・カメラ等の小型ないしは携帯用の装置における画像圧縮は、データの記憶ならびに処理に関する要件を軽減しつつ、画質を許容可能な範囲に維持することを目的とする。記憶ならびに処理に関する要件が軽減されると、処理を実行するＶＬＳＩ（超大規模集積回路）チップがよりコンパクトになり、カメラの総合的な消費電力も抑えられる。静止画像ならびに動画ビデオの伝送または記憶のためのビット・レートの低減は、画像を取り込み、それをＰＣ（パーソナル・コンピュータ）または、より高度なデータ処理システムにダウンロードするための処理速度を高める。
画像圧縮テクニックは、ＶＬＳＩ等のハードウェアにより実行されるか、あるいはそれに代えてソフトウェアにより実行されるかによらず、「損失性」のテクニックと「非損失性」のテクニックに分類される。非損失性圧縮の場合は、圧縮画像を復元したとき、圧縮前のオリジナルの画像を再現することができる。つまり、圧縮比が画像のエントロピーに依存する非損失性圧縮は高い圧縮比を達成できない。したがって、オリジナルの画像情報をより多く保持することから演算負荷が高い。これに対して損失性圧縮では、オリジナルの画像の近似しか提供されない。換言すれば、損失性圧縮を使用した場合、非損失性テクニックと比較して高い圧縮比が得られるが画質の劣化がある。この種の損失性テクニックの１つ、「予測符号化」（ディジタル・パルス・コード変調（ＤＰＣＭ）とも呼ばれ、周知の技術である）と呼ばれるテクニックは、連続するピクセルの値を、すでに処理済みの隣接ピクセルの属性を線形合成することによって予測する。これにおいては、オリジナルの画像ピクセルと対応する予測済みピクセルの間の差として定義される誤差ピクセルが用いられる。この誤差ピクセルは量子化され、その後、バイナリ値にエンコードされる。伝統的に、量子化は符号化と区別して行われており、それが処理回路ないしはソフトウェア・アルゴリズムの複雑化を助長している。
この種の演算集約テクニックによって必要となるＶＬＳＩ回路は、ディジタル・カメラ等の画像圧縮が望まれる携帯型小型装置に望ましいとされる程度を超える。つまり、これらのテクニックを実現する一方で電力を節約し、かつ圧縮テクニックの精度を保持する、よりシンプルなアーキテクチャが望まれている。
発明の要旨
量子化済みコードを用意している第１のルックアップ・テーブル、そのコードの長さを備えている第２のルックアップ・テーブル、および、これらのルックアップ・テーブルをインデクスするためのアドレスを生成する予測符号化回路を備える画像圧縮装置が開示されている。
【図面の簡単な説明】
本発明における方法および装置の目的、特徴ならびに利点は、以下の図面を参照した説明から明らかになろう。
図１は、本発明の一実施形態のブロック図である。
図２は、本発明の第２の実施形態に従ったブロック図である。
図３は、本発明の第３の実施形態に従ったブロック図である。
図４は、本発明の一態様で実施するシステムのブロック図である。
発明の詳細な説明
以下、図面を参照して本発明の実施形態を説明する。ただし、この実施形態は、発明の特徴を説明するための一例であり、本発明を限定するものと解釈すべきではないことを理解されたい。実施形態の説明は、基本的にブロック図またはフローチャートを参照して行う。フローチャートについては、フローチャート内の各ブロックが、方法においてはステップを、装置においては当該方法のステップを実行するための装置要素を表すものとする。対応する装置要素をハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって構成するかは、実装仕方による。
図１は、本発明の一実施形態を示すブロック図である。
図１は、ルックアップ・テーブル・ベースの画像圧縮システムを表している。図１に示したシステムは、いくつかの点で従来の画像圧縮システムと明確に区別することができる。第１は、特殊な予測符号化または適応型逆相関回路が使用されていること、第２は、量子化とバイナリ符号化を統合された形で実行するために、ルックアップ・テーブルを使用することである。従来技術のシステムに、量子化ならびに符号化を統合したルックアップ・テーブルを使用するものはなく、以下説明する予測符号化に基づくルックアップ・テーブルを使用しているものもない。図１に示した装置は、ルックアップ・テーブルがＲＡＭ（ランダム・アクセス・メモリ）として実装可能である点、および回路を使用する従来技術のシステムに比較してより安価であり、より消費電力が低いという点において有利である。なお図１には、ルックアップ・テーブル圧縮の具体化を一例で示したが、これは単なる例示に過ぎない。当業者であれば、このルックアップ・テーブル・アーキテクチャを任意の画像ないしはデータ圧縮システムに適合させることは容易であろう。
図１においては、入力として、スケーリング・デバイスもしくはその他の画像取り込みデバイス、または画像情報の通信を行うようにセットアップされたポートからのピクセル・データＰｉが示されている。ピクセル・データＰｉは、圧縮が行われる画像内でピクセルを決めるのに関連する値（１ないし複数）を表す。これは、Ｒ（レッド）、Ｇ（グリーン）およびＢ（ブルー）のカラー・プレーン成分といった、カラーを表す単一の値もしくはそれらの値をグループ化した値とすることができる。通常、各Ｐｉは、ピクセル「成分」（Ｒ、Ｇ、またはＢ）であり、隣接成分により互いに補間され、スクリーンのレンダリングが可能な単一のＲＧＢ混合ピクセルを形成する。ピクセル成分の混合は、一般に、画像が最終的にディスプレイまたはプリンタに対して出力されるとき行われる。
８ビット符号なしの値として示されているそれぞれのＰｉは、差分回路１００に入力される。差分回路１００は、直前の予測済みピクセル成分Ｐ’ｉ−１とオリジナルのピクセル成分Ｐｉの差を演算する。差分回路１００は、予測符号化ならびに画像圧縮の分野では「誤差」またはデルタ値と呼ばれる９ビット符号付きの値Δ＝Ｐｉ−Ｐ’ｉ−１を生成し、出力する。後述するが、各ピクセル成分Ｐｉは、予測符号化回路によって提供される直前の予測済みピクセル成分Ｐ’ｉ−１を有する（各成分には直前の成分から予測した予測済みの成分が対応している）。この直前の予測済みピクセル成分Ｐ’ｉ−１が差分回路に供給され、次のピクセル成分Ｐｉのために使用される。
予測済みピクセル成分Ｐｉ’は、直前に参照した隣接ピクセル成分を一次結合で関連付けることによって生成される。予測符号化においては、任意数の隣接ピクセル成分を使用してピクセル成分値の予測を行うことができる。たとえば、一次元予測符号化は、北側に隣接するピクセル（同一列の１つ手前の行のピクセル）または西側に隣接するピクセル（同一行の１つ手前の列のピクセル）のいずれか一方を使用する。二次元予測符号化は、たとえば、北側と西側に隣接するピクセルを両方とも使用する。図１に示した実施形態は、西側に隣接するピクセルに基づく一次元予測符号化を採用している。
予測符号化回路１０は、次のように動作する。差分回路１００はＰｉとＰ’ｉ−１の間の差を表す９ビット符号付きの値Δを生成する。この「誤差」値Δは、ルックアップ・テーブル（ＬＵＴ）１１０のアドレスとして使用される。ＬＵＴ１１０は、逆量子化値を演算するためのルックアップ・テーブルである。ＬＵＴ１１０は、所定のΔすなわち誤差に対する量子化値ならびに逆量子化値の両方をストアすることができる。ＬＵＴ１１０の出力は、「復元後の」誤差値Δ’であり、図１に示した誤差回復回路で使用する。
ＬＵＴ１１０から出力された復元後誤差値Δ’は、量子化し、その後それを逆量子化した結果である。たとえば、誤差値Δ＝９６が量子化値１２を有する（９６を量子化した結果１２になる）とする。この量子化値１２は、逆量子化すると復元後誤差Δ’として、たとえば９８となる。これが量子化損失であり、これによって圧縮が可能になる。ルックアップ・テーブルの作成に使用されている量子化式は、９６や９８といった複数の値を１つの量子化値１２にマッピングする。逆量子化の際には、上述の例を用いれば、この量子化値「１２」が誤差値９６を量子化して得られたか、９８を量子化して得られたかによらず、値１２の逆量子化によって常に値９８が生成される。
この誤差は、すなわち誤差値をより小さな値のセットに量子化することに起因する誤差は、回復メカニズムを適用しない限り、ピクセルの１つの行全体にわたって伝播する可能性がある。誤差回復回路１５は、直前のピクセル成分値をフィードバックし、次の予測済みピクセル成分に対応する次の復元後誤差値Δ’に加えることによって、この誤差の伝播の低減を試みている。
加法回路１６０は、復元後誤差値Δ’に直前に予測したピクセルＰ’ｉ−１を加える。加算後の値Δ’＋Ｐ’ｉ−１は、レジスタ・ブロック１７０に入力され、次のΔ’の加算の準備が整うまで、そこにストアされ、保持される。またこの直前の予測済みピクセル成分Ｐ’ｉ−１は、差分回路１００にも入力され、現在のピクセル成分Ｐｉから減じられる。加法回路１６０およびレジスタ・ブロックからなる誤差回復回路１５は、基本的に復元プロセス、すなわち前方向画像圧縮プロセスの逆プロセスである。つまり、前者ではオリジナルの入力ピクセル成分値を使用して予測演算を行っているが、それに代えて復元（逆量子化）後のピクセル成分を使用し、次に続く予測済みの値を求めている。これは、受信側において（つまり圧縮間に）行われる予測をシミュレートしている。この結果、各成分に関する量子化誤差が特定ピクセルに限局される。
前述したように、予測符号化回路１０は、各ピクセル成分Ｐｉに対して誤差値Δを生成する。第２のＬＵＴ１２０は、統合された態様で量子化と符号化を実行する。ここでも再び例としてΔ＝９６が量子化値１２を有すると仮定する。ＬＵＴ１２０には、可能性のある範囲すべてにわたるΔ値が、量子化値およびそのキーワード（エンコード済み）をインデクスするためのアドレスとしてストアされている。
第３のＬＵＴ１３０は、長さ情報をストアし、８ビットのピクセル成分を前提としたとき、４ビットを使用して各コードワードのサイズを出力する。ＬＵＴ１２０によって与えられるコードワードは、特定の誤差値Δに関する量子化値と等価なバイナリ・コードである。パッキング回路１５０は、ＬＵＴ１３０から与えらるサイズ情報とＬＵＴ１２０によって与えられるバイナリ・コードワードの両方を使用することにより、他のコンポーネントまたはデバイスに対するデータ伝送のためにコードワードを配列し、順番に並べることができる。パッキング回路によって送出されるコードワードは、圧縮画像を表現する充分な情報を含み、その後の復元により、全画像に対応するＰｉ値のセットして予測符号化回路に渡されたオリジナルの取り込み画像にわずかな変更が加わったバージョンの画像を取り出すことができる。
図１に示した例においては、西側に隣接するピクセル成分を使用する一次元予測符号化が用いられている。このため、特定の行ｊの最初のピクセル成分Ｐ１はもっとも西側となり、Ｐ１には、直前の予測済みピクセル成分Ｐ０’がない。したがって、各行の最初のピクセルＰ１は、直接パッキング回路に供給されて、そのままエンコードされる必要がある。このオペレーションを可能にするため、最初のピクセル成分のエンコードを行うときはＰ１を選択し、Ｐ１の後のその行の残りのピクセルについてはＬＵＴ１２０から与えられるコードワードを選択するためのマルチプレクサ１４０が備わる。マルチプレクサ１４０によって選択された値、つまりＬＵＴ１２０からのコードワードまたはＰ１は、パッキング回路１５０によってパックされる。次に示す表１は、ある行の最初の４ピクセル分のピクセル成分Ｐ１、Ｐ２、Ｐ３、およびＰ４に関する値の一例である。
0003976353.tif 000002
最初のピクセル成分Ｐ１は、値９６を有する。レジスタ・ブロック１７０は新しいピクセル行の開始時にクリアされるので、差分回路１００にはそこから０が供給される。したがって、最初のピクセルに関する値Δ、Δ’、およびＰ’ｉ−１はすべて９６になる。Ｐ’は、ｉ＝２となるまで、実際には出力されない。
次のピクセル成分Ｐ２は、値１３を有する。Δの値は、Ｐ２−Ｐ’１＝１３−９６＝−８３である。Δ’は、逆量子化の値であり、−８３に対して値が求められ、たとえば−８４となる。Ｐ’２はΔ’＋Ｐ’１＝−８４＋９６＝−１２となる。同様にして、ｉ＝３、４、．．．に対する値を求めることができる。
変形実施形態の一例として、一次元符号化に代えて二次元予測符号化を使用してもよい。二次元予測符号化は、北側と西側に隣接するピクセルを両方とも使用し、アプローチに関しては、ルックアップ・テーブルを介する部分は類似となるが、フィードバック回路を介する部分は異なったものになる。この種の二次元予測符号化システムを図５に示す。
上記の演算を行う予測符号化回路１０は、ルックアップ・テーブル、つまりＬＵＴ１１０を使用するという点において有利である。この種のルックアップ・テーブルは、ＡＳＩＣないしはその他のより複雑な専用回路が与える機能を併せ持つので、それによって予測符号化回路を大幅に簡素化する。ＬＵＴ１１０は、次の表２に示したように、２列からなる表とすることができる。
0003976353.tif 000003
このようにＬＵＴ１１０は、値Δをアドレスとして使用し、対応する値Δ’をルックアップする、ＲＡＭ等によるシンプルなアドレス可能なメモリとすることができる。この種のＲＡＭルックアップ・テーブルは、同様な機能を従来の方法により実行する場合に用いられる量子化ならびに逆量子化回路に比較すると廉価である。ポータブル・ディジタル・カメラによるスチル画像取り込み等のアプリケーションにおいては、量子化および逆量子化をあらかじめ好ましく作成し、すべての取り込み画像に対して同じテーブルの値を使用するようにもできる。
以上に加えて図１に示した画像圧縮装置は、バイナリ／コードワードの符号化という複雑なプロシージャが回避される点においても有利である。バイナリ／コードワードの符号化においては、ある種のバイナリ形式、たとえば１の補数等により値が表現され、よく知られたホフマン符号化等の符号化スキームを使用してさらに符号化される。この種の符号化は、ビットワイズで実行され、そのため、可能性としてはＣＭＯＳ内に実装されたラッチやロジック・ゲートが使用される。このバイナリ／コードワードの符号化よりさらに複雑なのは、量子化のプロシージャである。量子化は、第１のセットの値をそれより小さい値のセットにマッピングする。画像圧縮においては、各種の式によって量子化がなされるが、その演算は、データ処理システムによっては容易になしえるが、小型のポータブル画像処理システムにとっては複雑すぎる。ディジタル・カメラ等の画像処理システムでは、数学的にかなり過酷なビジュアル応答等を表現する式を演算できることが要求される。カメラは、誤差すなわちデルタ値ｘと量子化値ｙに関係するこの種の式の演算を単に行うというだけでなく、圧縮を速くする迅速かつ効率的な方法によりそれを行わなければならない。高速圧縮によってディジタル・カメラは、それほどの間を置くことなく、次の写真を「撮る」つまり、次の画像を取り込むことが可能になる。これも同じことであるが、コンピュータ・システムにおいては、その処理パワーにより、また場合によっては専用ビデオ圧縮チップがそれに加わることによって、画像の圧縮を短時間に処理し得るが、ディジタル・カメラにポータブルかつ高コスト効果という条件を付するのであれば、こういった能力をあまり期待できない。つまり、画像圧縮スチル・カメラの焦点は、処理ステップ数ならびにその複雑性を抑えることに当てられることになる。本発明の各種実施形態ならびにその変形に従ったあらかじめ作成済みのルックアップ・テーブルは、この最終目的を達成することができる。
図２は、本発明の第２の実施形態に従ったブロック図である。
図２には、画像圧縮を実行するためのパイプライン・アーキテクチャが示されている。図１に示した予測符号化回路１０は、好ましくはピクセルの「成分」（Ｒ、Ｇ、またはＢ）に対して作用する。その点に関して図２には、図１に示した予測符号化回路１０に似ている。ピクセルのＲ成分すなわちレッドのカラー・プレーン成分を操作する第１の予測符号化回路２１０が示されている。同様に、２２０として示されている第２の予測符号化回路は、ピクセルのＧ成分すなわちグリーンのカラー・プレーン成分を操作し、２３０として示されている第３の予測符号化回路は、ピクセルのＢ成分すなわちブルーのカラー・プレーン成分を操作する。この実施形態においては、マルチプレクサ２０５が備わり、３つの出力ラインのいずれか１つを選択して入ってきたピクセル成分をそれに乗せる。２本の選択ラインＴＡＧ１およびＴＡＧ０は、成分のルーティングを行う２ビットのタグ情報に使用される。以下述べるように、ピクセル成分の順序は、復元の間のそれらの適切に混合できる。さらにこの実施形態は、各カラー成分について予測符号化の個別実行を保証する。つまりレッド・カラー値は、レッドの誤差値から予測され、グリーンはグリーンから、という形になる。これは、予測時に「カラー」をマッチングさせることによって予測符号化の生成を促進する。マルチプレクサは、異なるピクセル成分を検出するためのＲ、Ｇ、およびＢセンサが個別に備わる場合には省略しても良い。そういったシステムは、複数の成分を同時に処理できるので有利である。各予測符号化回路２１０、２２０、および２３０は、単一セットのＬＵＴ、すなわち第１のＬＵＴ「ｆ」２４０および第２のＬＵＴ「長さ」２５０からなるセットにアクセスすることができる。図１を参照して説明したように、ＬＵＴ２４０はＲＡＭないしはその他のメモリによるルックアップ・テーブルであり、インデクス用アドレス、すなわち予測符号化回路によって生成される誤差値を受け付ける。あらかじめ作成済みのＬＵＴ２４０は、このアドレスを使用して、２ステップの量子化および符号化プロセスを暗黙のうちに包含するコードワード等価値を与えることができる。ＬＵＴ２５０は、各インデクス用アドレス、すなわち予測符号化回路によって生成された誤差値に対応して、各コードワードの合計ビット数を示す長さ情報をパッキング回路に提供する。
ＬＵＴ２４０とＬＵＴ２５０を同時にインデクスするようにそれぞれの予測符号化回路を構成すると、単一ピクセルのカラー・プレーン成分の処理をパイプラインとする必要がなくなり、真のパラレル形式で処理することができる。これは、ほとんどの伝統的な画像検出において、Ｒ、Ｇ、およびＢ成分に対して検出時のビット数が等しく割り当てられていることから可能である。この条件に当てはまらないシステムにおいては、パラレル・アーキテクチャを修正し、それぞれの成分に対応する３つの個別サブテーブルを有するＬＵＴを備えてもよいが、等しいビット数となるように各成分を変換することもできる。どのような方法を用いたとしても、たとえば画像処理システムが、８ビットのＲ成分、８ビットのＧ成分、および８ビットのＢ成分を生成する場合には、可能性のあるすべての誤差値（−２５５から＋２５５までの範囲）に対応するコードワードの生成は、長さ２N+1−１のテーブルが１つあれば充分である。長さＬＵＴに関してもこれと同じことが言える。
各カラー・プレーン成分ごとにテーブルを分ける必要性はないが、各成分の誤差値に関して、その値がセンサの取り込みあるいは入力による、いずれのＲ、Ｇ、またはＢ成分を表しているかを識別することは重要である。これは、取り込みデバイス自体への記録のためだけでなく、ピクセルの再構成およびディスプレイ、プリンタもしくはその他の出力デバイスへのラスター化において、Ｒ、Ｇ、Ｂ成分を適切に「混合」し、ピクセルの最終色度を作り出すことを可能にする上でも望まれる。たとえば復元時に、ブルー（Ｂ）成分値がレッド（Ｒ）の予測に使用されたと仮定すると、結果として得られる混合カラーが、その画像のオリジナルのカラーを正しく表現しない可能性がある。パッキング回路は、それぞれの予測符号化回路によって与えられる誤差値に付随する「ＴＡＧ」情報を使用することによって、Ｒ、Ｇ、Ｂコードワードを任意の望ましい順序に並べることができるため、適切な組み合わせが保証される。ＴＡＧ情報（ＴＡＧ０およびＴＡＧ１）は、単純にＲ、Ｇ、またはＢを識別する２ビットのシーケンスであり、変更を受けることなくＬＵＴの出力まで渡される。ＴＡＧ情報は、インデクス・プロセスを複雑化させることのないように、最初に分離し、個別の信号ラインに沿って渡すことができる。
１つの実施形態においては、ピクセルをイメージ・センサの外に送出するとき、特定のパターン、たとえば当分野では周知の、次に示すバイエル・パターンに従ってピクセルの順序を設定する。
0003976353.tif 000004
上に例示したバイエル・パターンは、各偶数行にレッド・ピクセル（Ｒ）とグリーン・ピクセル（Ｇ１−偶数列グリーン）が交互に配置され、これらだけに対して、パッキング回路によって認識される００（Ｒ）および０１（Ｇ）のダグがそれぞれ付けられる。同様に奇数行は、Ｇ２ピクセルとＢピクセルが交互に配置され、これらだけに対して、１０（Ｇ２−奇数行グリーン）および１１（Ｂ）のダグがそれぞれ付けられる。パッキング・ユニットは、偶数行内においてはＲおよびＧ１のコードワードを交互に、奇数行においてはＧ２およびＢのコードワードを交互にパッキングする。これらのタグは、コードワードのカラーを識別するために使用される。ただし、このタグは、実際にパッキングされたビット・ストリーム内には包含されない。なお、グリーン・ピクセルの処理は奇数行と偶数行で異なり、このためそれぞれがＧ１およびＧ２として識別され、タグ０１および１０が付けられることに注意されたい。
図２を参照して説明したパラレル・アーキテクチャは、ＬＵＴベースの画像圧縮を完全に利用しており、２つのテーブルのみを使用して３つのカラー・プレーン成分すべての処理を行っている。この種の予測符号化画像圧縮スキームの１つの特徴は、カラー変換が存在しないことである。このスキームは、特定のカラー空間に依存しない。ディジタル・カメラの画像センサは、Ｒ、Ｇ、Ｂ成分の原理で動作することから、ＹＵＶ（Ｙ＝ルミナンス、Ｕ＝カラー、Ｖ＝クロミナンス）あるいはＣＭＹＫ（シアン、マゼンタ、イエロ、ブラック）等の他のカラー・フォーマットに変換することなく、Ｒ、Ｇ、Ｂに対して画像圧縮を実行することができる。
図３は、本発明の第３の実施形態に従ったブロック図である。
この図３は、画像取り込みデバイスの内部的な画像処理ならびに圧縮コンポーネントをブロック図で示している。ＣＭＯＳまたはＣＣＤセンサ等のセンサ３００は、適当なソースからカラー／強度値を表すピクセル成分を生成する。センサ３００によって生成された１０ビットのピクセル値は、取り込みインターフェース３１０に送られる。ディジタル・カメラ・アプリケーションにおけるセンサ３００は、一般に１つのエリアまたはロケーションにある１つの「センス」からＲ、Ｇ、またはＢのいずれかの成分を検出する。これらの成分は、表示または出力を目的として再構成するとき、互いに補間されてより高次（１６ビット、２４ビット等）のコンポジット・ピクセルを形成することができる。取り込みインターフェース３１０は、ＣＭＯＳセンサによって生成された画像を取り込み、各ピクセルごとにピクセルのカラー成分を識別するＴＡＧを付加する。ＴＡＧはそれぞれ２ビットであり、たとえば、００はＲ（レッド）、０１はＧ１（偶数行グリーン）、１０はＧ２（奇数行グリーン）、１１はＢ（ブルー）に対応する。
ピクセルの順序ならびにＧ１とＧ２の関係は、図２を参照した説明において前述したとおりである。一方、ＣＭＯＳ（相補形金属酸化膜半導体）ないしはＣＣＤ（電荷結合素子）において、センサ面内のいくつかのピクセル・セルが照明条件に対して適切に応答しないことは極く一般的なことである。この結果、それらのセルから生成されたピクセル値が不完全となることがある。これらのピクセルは「デッド・ピクセル」と呼ばれている。「ピクセル置換」ユニット３１５は、同じ行内の直前の有効ピクセルによって各デッド・ピクセルを置換する。
ＲＡＭテーブル３１６は、センサから供給されるデッド・ピクセルの行インデクスと列インデクスからなる。このＲＡＭテーブル３１６は、取り込み画像に関してデッド・ピクセルの位置を識別するとき使用される。コンパンディングおよびガンマ補正モジュール３２５は、ルックアップ・テーブル・ベースのコンバータであり、センサからのオリジナルの１０ビット（１０ｂとラベル付け）のピクセルを、たとえば補間により８ビットのピクセル値に変換する。このアーキテクチャにおいては、コンパンディングおよびガンマ補正が単一テーブルのルックアップ・オペレーションに統合されている。ガンマ補正は、出力表示デバイスにおいて正しいカラー・ルミナンスおよびコントラストを達成するために必要とされる。コンパンディングおよびガンマ補正モジュール３２５にはＲＡＭテーブル３２６が付随しており、コンパンディングテーブルのエントリが収められている。これには、それぞれのカラー・プレーンについて、（２10＝）１０２４個の８ビットのエントリがある。
続いて、空間スケーリング・ユニット３２７が使用されてオリジナルの画像が縮小される。ただし、オリジナルの画像のサイズがＭ×Ｎのとき、２：１スケーリング・オペレーションによってＭ／２×Ｎ／２に、４：１スケーリング・オペレーションによってＭ／４×Ｎ／４にそれぞれ画像サイズが縮小される。これにより画像が大きく望ましくないとき、それをコンパクトにすることができる。空間スケーリング・ユニット３２７にはＲＡＭ３２８が付随しており、スケーリング・オペレーションの間の中間記憶装置として使用される。たとえば、４：１のスケーリング・オペレーションは、２：１のスケーリング・オペレーションを連続して２回適用することによって具体化することができる。
スケーリングが行われたピクセル成分データは、次にＤＰＣＭユニット３３０およびエントロピー・エンコーダ３３５に渡される。ＤＰＣＭユニット３３０およびエントロピー・エンコーダ３３５は、ＲＡＭ３３２およびＲＡＭ３３４が、量子化ならびにバイナリ符号化の実行に充分な４つの情報を含んでいることから、従来技術の画像処理システムにおける場合に比べて実質的に複雑性が低い。ＤＰＣＭユニット３３０およびエントロピー・エンコーダ３３５は、スケーリング済みのピクセル・データが渡されると誤差値を生成し、その後この誤差値はコードワードにパッキングされる（詳細については図１の説明を参照されたい）。エントロピー・エンコーダ３３５は、個別のブロックとして図示されているが、実際にはＤＰＣＭユニット３３０から「分離」されているわけではなく、テーブルのルックアップに基づいて統合されている。量子化ならびにコードワード情報を有するＲＡＭ３３２および、コードワードの長さ情報を有するＲＡＭ３３４の使用によって、図１に示したパッキング回路１５０に類似のパッキング・ユニット３４０は、各種の長さ（３〜１６ビット）を取り得るコードワード・データをバイト単位で正しく配列することができる。データ・パッキング・ユニット３４０は、１６ビットのコードワード・データを生成し、それをＤＭＡコントローラに渡す。ＤＭＡコントローラは、コンパンディングおよびガンマ補正モジュール３２５からコンパンディングデータを、ピクセル置換ユニット３１５からピクセル置換データを、ＤＰＣＭユニット３３０から９ビットの量子化データを受け取り、統計、あるいはセンサ・アライメント等の各種目的のために使用する。このデータの長さは、バス３６０を介して、それに接続された他のユニット、モジュールおよびデバイスによって要求されたデータを転送できるように統一すべきである。重要なことは、ＤＭＡコントローラ３５０が、正しい内部アドレスを用いてデータ・パッキング・ユニット３４０からのパッキング済みのコードワード・データがバス３６０を介して適正に通信されるように準備も行うことであり、それによって正しいデータが正しい送り先に届けられる。バス・テクノロジー、アドレッシング・プロトコル、およびＤＭＡコントローラについては、このシステム設計の分野において周知であり、望ましいアプリケーションに適合するように修正／特化は容易である。
ＲＡＭテーブル３１６、３２６、３２８、３３２、および３３４のそれぞれは、バス３６０とダイレクトに通信し、それぞれのデータをロードし、その後必要に応じて修正することができる。これらのテーブルにデータをプリロードすることにより、特に量子化ならびに符号化については、数学演算用の内部回路が大幅に省略され、低コストのメモリ・ユニットに置き換えられる。
図４は、本発明を実施するシステムの一例のブロック図である。
図示したコンピュータ・システム４１０は、ＰＣ（パーソナル・コンピュータ）等の任意の汎用ないしは専用コンピュータあるいはデータ処理装置であり、カメラ４３０に接続されている。カメラ４３０は、被写体４４０のセンサ画像を取り込むために使用される、ディジタル・カメラ、ディジタル・ビデオ・カメラ、あるいは任意の画像取り込みデバイスないしは画像取り込みシステムとすることができる。基本的に取り込み画像は、ＲＯＭ、ＲＡＭ、または固定ディスク等の記憶デバイスとすることができる画像メモリ・ユニット４３４内に効果的にストアされるように、画像圧縮回路４３２によって圧縮される。ほとんどのディジタル・カメラにおいて画像は、まずストアされ、その後ダウンロードされる。これによってカメラ４３０は、付加的な遅れなしで次の被写体を撮ることができる。
本発明のこの実施形態における画像処理は、次のように動作する。最初に、画像圧縮テーブルの作成がまだ完了していなければ、コンピュータ・システム４１０を使用してその作成が行われる。望ましい量子化の式ないしは方法に従った画像圧縮テーブルの作成は、ＰｅｎｔｉｕｍTM（Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎの製品）等のプロセッサ４１２および、命令アドレスおよび結果のデータのストア／ロードに使用されるＲＡＭ等のメモリ４１１を使用して達成される。画像圧縮テーブルの作成に使用されるアプリケーションは、Ｃ＋＋等の言語を用いて記述されたソースから作成された実行可能ファイルとすることができる。この実行可能ファイルの命令は、量子化誤差値、コードワード等価値の演算、およびこれらの値ならびにその他の値をテーブルにインデクスするために必要な命令に対応しており、ディスク４１８ないしはメモリ４１１にストアされている。画像圧縮テーブルを作成するための演算マシンのプログラムについては、当業者であれば明らかであろう。
コンピュータ・システム４１０は、プロセッサとメモリの間で情報の転送を行うシステム・バス４１３、およびＩ／Ｏバス４１５をつなぐブリッジ４１４を備える。Ｉ／Ｏバス４１５には、ディスプレイ・アダプタ４１６、ディスク４１８等の各種のＩ／Ｏデバイスおよび、シリアル・ポート等のＩ／Ｏポート４１７が接続されている。本発明には、この種の多くのＩ／Ｏデバイス、バスおよびブリッジを組み合わせて使用することができ、ここに示した組み合わせは、こういった可能性のある組み合わせの単なる一例に過ぎない。
テーブルの作成が完了すると、Ｉ／Ｏポート４１７を介してそれが送られ、画像圧縮回路４３２によって使用されるＲＡＭまたはメモリとして画像圧縮回路４３２内にロードされる。一度ロードされたこのテーブルは、その後画像圧縮回路４３２によって使用可能になる。
センサは、画像、たとえば被写体４４０の画像を取り込むとき、各ピクセルについてＲ、Ｇ、またはＢ成分のいずれか１つを取り込み、その後これらのピクセル値が画像圧縮回路４３２に送られる。画像圧縮回路４３２は、ＩＣおよびその他のコンポーネントからなり、予測符号化等の画像圧縮スキームを実行する。画像圧縮回路４３２は、予測符号化式に従って初期誤差値を演算し、その後、対応する量子化誤差値ならびにコードワード等価値の両方をルックアップして誤差値を求め、それを画像メモリ・ユニット４３４にストアする。画像圧縮テーブル内の値をルックアップすることにより、カメラは、量子化の演算ならびにビットごとの符号化のためのステップを実行する必要がない。誤差値の量子化ならびに符号化を実行するために使用される回路の追加が回避されることから、カメラの総合的なコストが抑えられる。すべてのピクセル成分の処理が終了すると、カメラ４３０は次の画像を取り込むことができる。ユーザないしはアプリケーションから画像のダウンロードが希望され、あるいは要求されたとき、画像メモリ・ユニット内にパッキングされたデータ（コードワード）としてストアされている圧縮画像が画像メモリ・ユニット４３４からＩ／Ｏポート４１７に向けて転送される。Ｉ／Ｏポート４１７は、図示したバス・ブリッジ階層構造（Ｉ／Ｏバス４１５からブリッジ４１４へ、さらにシステム・バス４１３へという階層）を使用し、コードワード・ピクセルをメモリ４１１に一時的にストアし、あるいはそのオプションとしてディスク４１８にストアする。
圧縮画像は、プロセッサ４１２を使用して実行する適切なアプリケーション・ソフトウェア（またはハードウェア）によって復元される。画像圧縮テーブルがこのコンピュータ・システム上で作成されていることから、コードワードに対応する実際の誤差値に戻すための「ルックアップ」にそれを再使用することができる。誤差値は、逆予測符号化（または他の対応する画像復元スキーム）において、復元された画像４５０を生成するために使用される。復元された画像４５０は、続いて、ディスプレイ・アダプタ４１６を使用して、コンピュータ・システム４１０に接続されたモニタ４２０上に見えるようにレンダリングされる。前述したように、復元された画像は、ある種の補間方法によって相互に混合されたコンポジットＲ、Ｇ、およびＢ値を有し、したがってより高いビット解像度の画像を生成し得る。
ここで説明した実施形態は、単に本発明の原理を例示するものであり、本発明の範囲を限定するものと考えるべきではない。むしろ本発明の原理は、広範なシステムに適用されてここに説明した利点ならびに他の利点を達成し、あるいは同様に他の目的を満たすものである。
【図１】
0003976353.tif 000005
【図２】
0003976353.tif 000006
【図３】
0003976353.tif 000007
【図４】
0003976353.tif 000008