JP2006502673A6 - ディジタルイメージセンサデータのインストリームロスレス圧縮 - Google Patents
ディジタルイメージセンサデータのインストリームロスレス圧縮 Download PDFInfo
- Publication number
- JP2006502673A6 JP2006502673A6 JP2004543695A JP2004543695A JP2006502673A6 JP 2006502673 A6 JP2006502673 A6 JP 2006502673A6 JP 2004543695 A JP2004543695 A JP 2004543695A JP 2004543695 A JP2004543695 A JP 2004543695A JP 2006502673 A6 JP2006502673 A6 JP 2006502673A6
- Authority
- JP
- Japan
- Prior art keywords
- image sensor
- digital image
- sensor data
- histogram
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007906 compression Methods 0.000 title claims abstract description 95
- 230000001186 cumulative Effects 0.000 claims abstract description 11
- 230000000873 masking Effects 0.000 claims abstract description 10
- 238000005315 distribution function Methods 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 68
- 241001522296 Erithacus rubecula Species 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 238000007616 round robin method Methods 0.000 abstract description 3
- UIIMBOGNXHQVGW-UHFFFAOYSA-M buffer Substances [Na+].OC([O-])=O UIIMBOGNXHQVGW-UHFFFAOYSA-M 0.000 description 22
- 230000003044 adaptive Effects 0.000 description 16
- 230000004069 differentiation Effects 0.000 description 11
- 230000000875 corresponding Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000006011 modification reaction Methods 0.000 description 2
- 101700050037 CDF2 Proteins 0.000 description 1
- 101700005820 CDF3 Proteins 0.000 description 1
- 101700010918 CPP1 Proteins 0.000 description 1
- 101710009978 LE16 Proteins 0.000 description 1
- 241001442055 Vipera berus Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 101700052859 cdf-1 Proteins 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000002093 peripheral Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 230000001360 synchronised Effects 0.000 description 1
Images
Abstract
ディジタルイメージセンサデータワード群をインストリーム圧縮する方法及びシステム。ディジタルイメージセンサデータワードのうち最下位ビットから所定ビット数分をマスクし又はドロップさせることにより(図5中の54)画像データのフレームにおけるデータ量を減らす。このマスキングの後、ディジタルイメージセンサデータに交番的に現れるワード同士を減算することによりエントロピーが低減されたデータモデルを得る(図5中の56及び64)。そのビット幅を合計するとディジタルイメージセンサデータワードのビット幅に等しくなるようそのビット幅が設定されている所定個数のチャネルへと、ディジタルイメージセンサデータの差分ワード群を分割する(図5中の65)。各チャネルについて個々別々の累積分布関数による処理を実行し(図5中の66、68及び70)多重化する(図5中の72)。多重化されたディジタルイメージセンサデータを算術圧縮符号化処理により符号化する(図5中の74)。本方法及びシステムでは更に除算不要型算術符号化方法を使用して符号化用ハードウェアの必要条件を緩和する。そして、本方法及びシステムではラウンドロビン方式削除手法を使用してヒストグラム内の元の個数を適応的に固定する。
Description
本願は、この参照を以てその全内容が本願に繰り入れられるところの2002年10月11日付米国暫定特許出願第60/417978号に基づく優先権主張を伴っている。
本発明は、その処理や保存(格納)に際しディジタルイメージセンサデータをインストリーム圧縮即ちオンザフライ圧縮できるようにするファームウェア及び処理技術に関する。
通常、CMOSイメージセンサ等のイメージセンサを用いて画像データを取得したら、後のアクセス例えばコンピュータやネットワークやプリンタへのダウンロードに備え、イメージセンサからの画像データを保存しておくのが望ましい。そのようにすれば、ダウンロード先のコンピュータにてその画像データを保存乃至操作することや、ダウンロード先のネットワークにてその画像データを保存乃至転送することや、ダウンロード先のプリンタにてその画像データをプリントアウトすることができる。
図1に、従来におけるディジタル画像記録システム例えばディジタルカメラの基本ブロック構成を示す。この図に示す画像信号記録システム1は、レンズ2、イメージセンサ3、カメラ信号処理回路4、画像信号圧縮回路5、記録モード選択回路6、カード識別回路7、システムコントローラ8、モニタスクリーン9、カードソケット10、PCカード11及び基準情報保存回路12を備えている。
システム1においては、レンズ2によってイメージセンサ3上に画像が収束形成され、イメージセンサ3によってこの画像が電気的な画像信号に変換され、白バランス回路等の既知回路を内蔵するカメラ信号処理回路4によってこの画像信号が処理され、処理された画像信号が圧縮回路5によって圧縮され、圧縮により得られた静止画像データがソケット10を介しPCカード11内に保存・格納される。また、記録される画像は、画像信号記録システム1のオペレータがモニタできるよう、モニタスクリーン9上に表示される。
看取できる通り、この図に示した構成は、JPEG圧縮や自動露出や白バランス等のプロセスをその内部で実行するハイエンドカメラを実現する際に、採用される構成である。即ち、この図は、その内部でJPEG圧縮や自動露出や白バランス等のプロセスを実行しないローエンドカメラにてどのような構成が普通かを、示すものではない。
通常の乃至既存のローエンドカメラは、単純に、生画像をRAM上に捕捉(キャプチャ)し、その画像を画像データ保存用不揮発性メモリ例えばフラッシュメモリへと転送する、といった構成を採る。ユーザがこのディジタルカメラのシャッタボタンを押す等すると、イメージセンサにより画像が取得され、取得された画像のフレームがイメージセンサから画像データ保存用不揮発性メモリへと転送される。しかしながら、この画像フレーム転送は、単一画像フレームに対して割り当てられている時間内、即ちイメージセンサのフレームレートにより定まるある時間内に、行わねばならない。これは、普通、イメージセンサが画像データを単一フレーム長より長くは保持できないためである。
イメージセンサの使い道にもよるが、フラッシュメモリの特性には、イメージセンサからのデータを初期的に保存する媒体としては最善ではない面がある。より具体的には、フラッシュメモリによるデータ受付速度が通常のイメージセンサフレーム時間に見合った速度でない、ということが、多くのディジタル画像利用分野に関して判明している。言い換えれば、フラッシュメモリが低速すぎて所定の画像フレーム到来周期内に画像フレームの全体を受け取れない、といったことがしばしばある。
ディジタルスチルカメラの分野においては、画像に圧縮を施すことが望ましいとされている。これは、不揮発性メモリ内に保存できる画像の枚数を増やすと同時に、そのカメラからホストへと画像をダウンロードする際の所要時間を短縮するためである。また、不揮発性メモリへの書込速度はイメージセンサにおけるデータレート期待値より低いため、カメラ内にフレームバッファを設けるのが普通である。従って、画像データは、通常、イメージセンサからフレームバッファへと転送されその上で画像圧縮が施される。これは、フレームバッファに格納されている画像データに対しては素早いアクセスが可能であり従って複雑な画像圧縮手法も適用可能であるためであるが、典型的な圧縮手法例えばJPEG圧縮が望ましくない場合もある。
従って、フラッシュメモリをイメージセンサからのデータの初期保存に好適利用できるシステム乃至方法を得ることが、望まれている。また、フラッシュメモリが通常のイメージセンサフレーム時間に見合った速度でデータを受け取ることができるシステム乃至方法を得ることが、望まれている。更に、フラッシュメモリが十分高速でデータを受け取ることができ所定の画像フレーム周期内で画像フレーム全体を受け取ることができるシステム乃至方法を得ることが、望まれている。加えて、イメージセンサとフレームバッファの間で圧縮を行うようにしフレームバッファのサイズ及びフレームバッファに要するコストを抑えることができるシステム乃至方法を得ることが、望まれている。
本発明の第1の構成に係るディジタルイメージセンサデータワード群インストリーム圧縮方法は、シーンを捕捉し捕捉したシーンをディジタルイメージセンサデータワード群に変換するステップと、当該ディジタルイメージセンサデータワード群を圧縮するステップと、圧縮されたディジタルイメージセンサデータワード群を一時メモリ内に保存するステップと、一時メモリから恒久メモリへとディジタルイメージセンサデータワード群を転送するステップと、を有する。
本発明の第2の構成に係るディジタルイメージセンサデータワード群圧縮用インストリームモデリング方法は、その最下位ビットから所定ビット数に亘り各ディジタルイメージセンサデータワードをマスクするステップと、ディジタルイメージセンサデータに交番的に現れるワード同士を減算することによりエントロピーが低減されたデータモデルを得るステップと、を有する。
本発明の第3の構成に係るディジタルイメージセンサデータワード群圧縮用インストリーム符号化方法は、そのビット幅を合計するとディジタルイメージセンサデータワードのビット幅に等しくなるようそのビット幅が設定されている所定個数のチャネルへと、ディジタルイメージセンサデータワードを分割するステップと、個々別々の累積分布関数による処理をディジタルイメージセンサデータの各チャネルについて実行するステップと、分布化されたディジタルイメージセンサデータを多重化するステップと、多重化されたディジタルイメージセンサデータを算術圧縮符号化処理により符号化するステップと、を有する。
本発明の第4の構成に係るディジタルイメージセンサデータワード群インストリーム圧縮方法は、その最下位ビットから所定ビット数に亘り各ディジタルイメージセンサデータワードをマスクするステップと、ディジタルイメージセンサデータに交番的に現れるワード同士を減算することによりエントロピーが低減されたデータモデルを得るステップと、そのビット幅を合計するとディジタルイメージセンサデータワードのビット幅に等しくなるようそのビット幅が設定されている所定個数のチャネルへと、ディジタルイメージセンサデータの差分ワードを分割するステップと、個々別々の累積分布関数による処理をディジタルイメージセンサデータの各チャネルについて実行するステップと、分布化されたディジタルイメージセンサデータを多重化するステップと、多重化されたディジタルイメージセンサデータを算術圧縮符号化処理により符号化するステップと、を有する。
本発明の第5の構成に係る除算不要型算術符号化方法は、ヒストグラム内の元の個数を2のべき乗に固定するステップと、ヒストグラムのビン内にある元の個数を判別するステップと、ヒストグラムのビン内にある元の個数の判別値に対してビットシフト処理を実行することによりシンボル符号化確率を探索するステップと、を有する。
本発明の第6の構成に係るヒストグラム内元個数適応固定方法は、ヒストグラムに追加すべき新たなデータ元を得るステップと、この新たなデータ元をヒストグラムに追加するステップと、新たなデータ元が追加される順序を追跡するステップと、追跡により得られた順序に従いヒストグラムからデータ元を削除するステップと、を有する。
本発明のもう一つの構成に係るヒストグラム内元個数適応固定方法は、ヒストグラムに追加すべき新たなデータ元を得るステップと、この新たなデータ元をヒストグラムに追加するステップと、ヒストグラムに新たなデータ元を追加するときに、そのビン内の元の個数を示すビン値をインクリメントするステップと、ヒストグラム内の現在のビンが元削除の対象か判別するステップと、ヒストグラム内の現在のビンが元削除の対象であると判別されたときに、ヒストグラム内の現在のビンから削除する元の個数を表す値を減らすステップと、削除する元の個数を表す値が減らされたときに、ヒストグラムから元を削除するステップと、を有する。
本発明は、様々なコンポーネント若しくはステップによって又はそれらの様々な配置乃至組合せによって、実現することができる。添付図面は好適な実施形態を説明するためのものであり、図面に基づき本発明を限定解釈してはならない。
以下、本発明の好適な実施形態に関して説明する。但し、本発明を本願に記載の実施形態に限定する意図はないことを理解されたい。むしろ、添付した請求の範囲に記載の通り、本発明の技術的範囲及び思想には、本願に記載の実施形態に対する代替物、変形物乃至均等物まで包含され得る。
また、本発明を全般的に理解できるようにするため、以下の説明では図面を参照する。図中、同一の又は等価な構成要素に対しては一貫して同様の参照符号を付してある。また、本発明を示す図面における尺度乃至縮尺が均一ではないことに注意すべきであろう。即ち、本発明の特徴及び基本概念を適切に描き出すため、本発明に係る図面においては意図的に、特定領域を他の領域に対し拡大又は縮小して描いてある。
先に述べたように、ディジタルスチルカメラの分野においては、不揮発性メモリに保存できる画像の枚数を増やすため及びカメラからホストへと画像をダウンロードする際の所要時間を短縮するため、画像に圧縮を施すことが望ましいとされている。この要請に応えるため並びにフレームバッファのサイズ及びフレームバッファに要するコストを抑えるため、本発明においては、イメージセンサとフレームバッファとの間で圧縮を施すこととしている。また、このような圧縮を実現するため、本発明においては、ハードウェアを効率的に利用する圧縮エンジンによってインストリーム画像圧縮を行わせることとしている。
更に、イメージセンサから来るデータストリームは生のベイヤ(Bayer)データから構成されている。ベイヤデータは、あるロー(行)では赤色画素と緑色画素とが交番的に現れ、その隣のローでは緑色画素と青色画素が交番的に現れる、といった画素配列乃至配色を有するデータである。このような配色下では、一つおきに画素を取り出して作成したデータセットにおける相関性が、隣り合っている画素を隣り合っているままに取り出して作成した単純な画素列における相関性に比べて、強いものになりやすい。また、ローバッファを用いないでインストリーム圧縮を行うためには、データのモデリングを一次元的なものにしなければならない。そこで、本発明においては、画素を一つおきに取り出して差分を求めその結果を符号化する一次予測モデルを採用することとしている。
これらを実現するため、本発明においては、図2に例示するようにSRAMを含む回路構成を採用している。
図2に、本発明の実施形態に係りディジタル画像の捕捉及び保存を実行可能なイメージャシステム例について、コンポーネント間の関係をブロック図により示す。この図に示すイメージャシステムは、画像シーンを捕捉し電気信号乃至画像データに変換するイメージャ20を備えている。コントローラ30は、ASIC等のハードウェアコントローラ又はファームウェアコントローラとして実現されており、イメージャ20とメモリユニットとの間でのデータ転送を管理している。即ち、コントローラ30は、イメージャ20が指令に応じて画像を捕捉しているときに、イメージャ20から圧縮エンジン40へと画像データフレームを転送させる。圧縮エンジン40はコントローラ30を構成するコンポーネントであり、Verilogで記述することにより実現できる。コントローラ30は、圧縮エンジン40によりイメージャ20からの画像データをインストリーム圧縮しながら、圧縮した画像データをSRAM48に転送して一時保存させる。1フレーム分の画像データがまるまる圧縮されSRAM48に保存された時点で、コントローラ30はSRAM48内の画像データをフラッシュメモリ45に送る。
注記すべきことに、本発明においては、圧縮エンジン40による画像データのインストリーム圧縮を、イメージャ20からの画像データ転送に使用するクロックレートにて実行しなければならない。即ち、利用するシステムクロックのレートを画像データ転送レートよりも高めて圧縮エンジン40に対し多くの処理時間を与えることが、できない。
しかしながら、多くの用途では、SRAM48はシステムクロックレートでは動作させることができず、例えばシステムクロックの1/3以下のレートでしかデータを取り扱うことができない。この条件下では、圧縮エンジン40は、SRAM48に書き込む各圧縮画像データワード毎に、3クロックサイクル分の処理時間を利用することができる。即ち、圧縮エンジン40は、実質的に、画像データストリーム転送を管理するシステムクロックに比して3倍速いクロックで制御されているかのように、動作する。後により詳細に説明するように、このような状況乃至条件を利用すれば、コントローラ30、イメージャ20及びSRAM48間で高効率データ転送を実行できる。
なお、図2においては、イメージャ20とコントローラ30の間のデータバスと、コントローラ30とSRAM48の間のデータバスと、SRAM48とフラッシュメモリ45の間のデータバスとが、別々のバスであるかのように描かれている。しかしながら、本発明を実施するに際してそのようなバス構成を採る必要はなく、イメージャシステムコンポーネント間でのデータ転送は単一のバスによって行うことができる。言い換えれば、本発明に係る思想は、一種類のデータバスしか利用していない構成或いは各種コンポーネント間のデータ転送全てを単一のデータバス上で行う構成を、包含している。
更に注記すべきことに、以下の説明では本発明を単一バスシステムにより実施する例を示すけれども、単一バスシステムは本発明に係る思想を実現する上で必須の事項ではない。
本発明によれば、フラッシュメモリに係る帯域幅制限乃至速度制限を、所定の画像フレーム取得期間にて取得された画像データフレームを受け取って保存する一時バッファ、例えば図2中のSRAM48を用いることにより補償できる。一時バッファに画像データフレームを保存しておけば、保存したデータを後でフラッシュメモリへとルーティングしまた当該フラッシュメモリ内に恒久的に保存させることができる。
ここに、既に幾つかの利用分野において判明していることであるが、使用するイメージセンサに比肩してそのデータ保存能力が十分でないSRAMを使用する場合、データ保存問題が発生し得る。例えば、SRAMのデータ保存能力が1MBであるとする。この場合、130万画素ディジタルCMOSイメージセンサから8ビット幅画素からなる画像データを受け取りこれをそのままSRAMに保存しようとしても、130万バイトにもなる画像データフレームを丸ごとそのSRAM内に保持することはどうやっても不可能である。この場合に最もよいのは、単一フレーム取得期間(普通は例えば10ms以下の時間)内に画像データフレームを丸ごと保存できるよう、一時バッファのサイズを設定し或いは画像データフレームのサイズを調整することである。本発明によれば、このデータ保存問題を様々な形で解決できる。
まず、本発明の実施形態としては、イメージセンサからのデータストリームをSRAMとフラッシュメモリとに振り分け、これらSRAM及びフラッシュメモリの双方を用い、同一フレーム期間に係るセンサ画像データを保存する、という実施形態を示すことができる。この実施形態においては、SRAMに向かうストリームにおけるデータレートと、フラッシュメモリに向かうストリームにおけるデータレートとを足すと、イメージセンサにおけるデータレートに等しくなる。従って、フラッシュメモリに向かうストリームにおけるデータレートを最大限まで高めればSRAMに向かうストリームにおけるデータレートを最低限まで低くすることができ、従ってSRAMのサイズ及び速度を最小化できる。例えば、130万画素イメージセンサを10フレーム/secで動作させており従ってイメージセンサからのデータレートが13MB/secである場合、フラッシュメモリに向かうストリームにおけるデータレートを最大値例えば5MB/secまで高めれば、SRAMに向かうストリームにおけるデータレートを8MB/secまで下げることができる。1フレーム分の画像の取得を終えた時点では、フラッシュメモリ内には500KBのデータが、またSRAM内には800KBのデータがあるから、この段階でSRAM内にある800KBのデータをフラッシュメモリに転送すれば、フラッシュメモリ内に画像フレーム全体のデータを恒久保存することができる。
本発明の実施形態としては、第2に、イメージセンサからデータを受け取るのに複数個のSRAMバッファを使用する実施形態を示すことができる。例えば、1MBのSRAMを512KBのSRAMと共に用いれば、十分に、単一フレーム取得期間内に130万バイトの画像データフレーム全部を一時保存することができる。
本発明の実施形態としては、第3に、単一フレーム取得期間内にてイメージセンサから画像データを受け取りつつ且つその画像データをSRAMに書き込むのに先立ち、当該画像データをインストリーム圧縮即ちオンザフライ圧縮する実施形態を示すことができる。このとき圧縮率を十分に高くすれば、使用しているイメージセンサに比肩してそのデータ保存能力が劣る(小さな)SRAM内に、画像データフレーム全体を取り込むことができる。
例えば、データ圧縮率を十分高くすれば、1MBのSRAM内に130万画素イメージセンサからの画像データを取り込むこともできる。引き続いて、SRAM内に保存されている圧縮画像データを(圧縮状態のままで又は展開して)フラッシュメモリへと送れば、その画像データをより恒久的に保存することができる。
注記すべきことに、大概の用途では、画像データを圧縮状態でフラッシュメモリに送る方がよい。これは、フラッシュメモリ内に圧縮状態でデータを保存すれば、フラッシュメモリのデータ保存能力が相対的に高まり、より容量が小さくまた安価なフラッシュメモリを使用可能になるからである。また、フラッシュメモリ上の画像データが圧縮されていれば、フラッシュメモリから後段階への画像データの転送例えばPCへの転送を迅速に行うことが可能で、その際に必要となるデータ転送能力も低いものでよい。
図4に、本発明に係る制御手法のフロー、特に上掲のインストリーム画像データ圧縮を実現する実施形態におけるフローを示す。この図に示した実施形態においては、コントローラはまず新規画像フレームの開始を待ち(S12)、新規画像フレームの開始をうけて圧縮エンジンをリセットする(S16)。コントローラは更に現フレームの新規ローの開始を待ち(S18)、新規ローの開始をうけて(S20)イメージャから画像データを1ワード取得し(S22)そのデータを圧縮エンジンへと送る(S24)。
圧縮エンジンにデータを1ワードを送るたびに、コントローラは、圧縮エンジンによる圧縮が済んだデータがあるかどうか、即ちSRAMへと転送してよい圧縮データがあるかどうかをチェックする(S26)。転送してよい圧縮データがなければ、コントローラは現ローの画像データを処理し終えたかどうかをチェックする(S28)。現ローの処理が終わっていない場合は、コントローラは、イメージャからデータをもう1ワード取得し(S22)圧縮エンジンに送る。現ローの処理が終わっている場合は、コントローラは更に現フレームの処理が終わっているかどうかをチェックする(S30)。現フレームの処理が終わっていない場合は、コントローラはイメージャからの新規ローの画像データを待ち新規ローが始まったらその画像データを受け取る。現フレームの処理が終わっている場合は、コントローラは新規フレームの開始を待つ。
圧縮エンジンから転送してよい圧縮データがあるかどうかをコントローラがチェックした結果(S26)、転送してよい圧縮データがあるとの判別結果が得られた場合は、コントローラはその圧縮データのSRAMへの送信を開始する(S32)。SRAMへのデータ送信を始めた後、コントローラは、圧縮エンジンが圧縮中のデータで満杯になっていないかどうか、並びに圧縮エンジンが現画像データローを全部処理し終えていないかどうかを、チェックする(S34)。圧縮エンジンが圧縮すべきデータで満杯になっている場合は、コントローラはSRAMへのデータ書込を実行し(S36)、現ローについての圧縮処理が終了したかどうかをチェックする(S28)。
圧縮エンジンが圧縮中のデータで満杯になっておらず且つ現画像データローを全部処理し終えていない場合は、コントローラは、可能であればライトサイクルタイムのうちSRAMが必要としていない期間を利用して、イメージャからデータを1ワード取得し圧縮エンジンに送信する(S38)。そして、コントローラは、現SRAMライトサイクル中にそのデータワードをSRAMに書き込む(S36)。このように、本発明の好適な実施形態は、コントローラとイメージャ及びSRAMとの間のデータ転送に単一データバスを必須的に又は好適に採用するアーキテクチャ乃至システムにおいて、利用することができる。
図3に、SRAMに宛ててデータバス上に送出したデータに関しシステムクロックとSRAMタイミング条件との対応関係の例を示す。この例におけるシステムクロック周期は20nsecである。また、この例においてはSRAMのライトサイクルとして80nsecを必要としている。即ち、SRAMは80nsec毎に1ワードの新規データを受け取れる。但し、SRAMに送るべきデータがデータバス上で有効となっていなければならないのは、80nsecのSRAMライトサイクルのうちライトイネーブル信号(SRAM WEN)がセットされている一部期間例えば40nsecの間のみである。
このようにSRAMライトサイクル中の一部期間のみでデータが有効であればよいという条件下では、SRAMライトサイクル中の他の一部期間にてデータバスを他の目的、例えばイメージャから圧縮エンジンへのデータ転送に利用できる。そこで、本発明においては、SRAMライトサイクルのうち当該他の目的に利用可能な期間を好適に利用することにより、単一データバス上で且つ同一SRAMライトサイクル内でイメージャからのデータと圧縮データとを効率的に多重化し、データバスのより効率的な利用を図ると共に、圧縮エンジンに対しより多くの時間を与えSRAMに送る画像データを処理させる。従って、実質的に、圧縮エンジンはSRAMにおけるクロックレートより高いクロックレートにて動作する。即ち、この手法を用いることによって、圧縮エンジンにおけるデータ圧縮速度やSRAMにおけるデータ保存速度に見合った速度(これらを収容できる速度)までイメージセンサのフレームレートを落とす必要がなくなる。
さて、本発明に係る手法によるデータ圧縮においては、一般に二種類のタスクが必要となる。そのうち第1のタスクはモデリングタスクであり、第2のタスクはコーディングタスクである。モデリングタスクは、データに含まれる各種の冗長性を記述するようデータをモデリングし、これによりデータセットのエントロピーを低減するタスクである。コーディングタスクは、データを符号化することにより圧縮されたデータを得るタスクである。
まずデータモデリングタスクについて考えるに、一般に、画像情報は冗長性の高い情報であり、この冗長性を利用すれば画像データのエントロピーを低減することができる。ここに、データセットはそのデータ自体のエントロピーまでしかロスレス圧縮できないのであるから、高エントロピーデータセットは低エントロピーデータセットに比べて小幅にしか圧縮できない。この制約に抗するため、本発明においては、CALIC(Context Adaptive Lossless Image Compression)等で採用されている予測モデル等、様々なデータモデルを好適に選択及び採用することにより、データセットのエントロピーを低減することとしている。
モデリング手法を使用する際には、多くの場合、ローバッファ及び関連ハードウェアが必要とされる。しかしながら、イメージャ関連分野の多くでは、ハードウェアに課される制約が厳しく、これらローバッファ及び関連する典型的なハードウェアを使用することができない。例えば、注目画素に隣接する画素のデータ値を調べ、それによりそれら隣接画素間に位置する注目画素のデータ値を予測する、というモデリング手法においては、しばしばローバッファが必要となるが、ハードウェア的制約が厳しくその種のローバッファを用いることができないイメージャシステムにおいては、隣接画素を利用したモデリング手法を用いることができない。このような場合に望ましいのは、イメージャシステムの特性に応じてハードウェア上の制約条件を緩和することや、一次予測モデリング手法等、ハードウェア上の制約条件に相応したモデリング手法を採用することである。
そこで、本発明においては、イメージセンサから画像データとして与えられる生ベイヤデータを対象として一次予測モデリング手法を適用することとしている。生ベイヤデータは、あるローにおいては赤色画素と緑色画素が交互に現れ、その次のローにおいては緑色画素と青色画素が交互に現れる、といった色配置を有する複数のローから構成されるデータである。従って、生ベイヤデータにおいては、同一ロー内にあり間に1画素を挟んでいる2個の画素間のデータの相関性(同一ロー内で交番的に現れる画素のデータ間の相関性)が、隣り合っている画素間の相関性に比べて強くなる。
本一次予測モデリング手法においては、このような相関性パターンを前提としている。即ち、本手法では、同一ローに属する同色画素のうち互いに最も近い位置にある2個の同色画素のデータ値同士は概ね等しいものである、との想定の下に両データ値間の差分を求め、求めた差分(誤差分)を符号化する。この処理、即ちベイヤ差分化処理は、符号化対象とされている注目画素のデータ値を、イメージセンサの画素アレイ上で当該着目画素と同一ローにあり且つ当該着目画素から見て2カラム(列)前にある画素のデータ値から減ずることによって、実現できる。
このようなベイヤ差分化処理を施すことによって、画像データセットにおけるエントロピーをかなり低減することができる。例えば、原画像データ中のある画像をエントロピー符号化したとき9%分圧縮できるならベイヤ差分化処理であれば25%分圧縮でき、また原画像データ中の別の画像をエントロピー符号化したとき28%圧縮できるならベイヤ差分化処理であれば55%圧縮できる、といった具合である。従って、ベイヤ差分化処理は、エントロピーを低減し圧縮率を高める強力な手法として、採用できるものである。
しかしながら、ベイヤ差分化処理だけでは所望の圧縮率を保証できない。これは、先に説明したように、バッファメモリたるSRAMの保存容量が画像データのフレームを丸ごと保存するのに必要な容量より小さいことに、関連している。
そこで、本発明においては、ベイヤ差分化処理を用いつつ所望の圧縮率を実現するため、ビットドロッピングと称する手法を採用することとしている。本発明に係るビットドロッピング手法においては、まず、イメージセンサによって取得した画像データフレームを圧縮してバッファメモりたるSRAMに送る際、圧縮画像データフレームの全体をSRAM内に十分に保存できるかどうかを判別する。SRAM内に圧縮画像データフレーム全体が入りきらないと判別した場合は、コントローラは、次フレームの画像データを取得したとき、各画素値の最下位ビット(LSB)をドロップさせる処理を、ベイヤ差分化処理及び圧縮処理に先だってそのフレームの画像データに施す。
ホワイトノイズ画像であれば、8ビット幅画像データの下位1ビットをドロップさせることにより圧縮率をおよそ12.5%高めることができる。また、画像データのLSBをドロップさせてもなおSRAM内に圧縮画像データフレーム全体が入りきらない場合は、コントローラは、その次に受け取る画像データフレームから、画像データストリーム中の各ワード毎に下位2ビットを指定してドロップさせる。本発明においては、バッファたるSRAM内に画像データフレーム全体を保存できる程に高い圧縮率が得られるまで、下位ビットをドロップさせていく処理が断続的に繰り返される。
図5の左半分に、上述したベイヤ差分化処理及びビットドロッピング処理を実行するためのブロック構成を示す。この構成においては、まず、図示しないイメージセンサ20により取得された画像データ50がFIFO52に送られる。FIFO52は、送られてくる画像データワード値を相連続する3画素に亘り保持する。画像データワードから下位ビットをドロップさせる必要があるときは、相応するマスク54を構成すべく、プログラマブルファームウェアその他によりドロップ対象下位ビット数を指定する。このマスク54は、画素データ値に対して適用されるマスクであり、例えばバレルシフタ等により構成できる。
マスク54によってビットドロッピングが施された画素データは、ベイヤ差分化処理を施すべくパイプライン56(例えば二段階乃至2バイトのパイプライン)に送られる。パイプライン56は、図示の如く時間的に相連続する3画素分のデータ値58、60及び62を保持しており、そのうち交番関係にある画素ワード58及び62の間の差分が、減算器64により求められる。これによって、エントロピーが低減されたデータモデル即ちデータ圧縮用符号化の対象となるデータモデルが得られる。
このモデリングを経た画像データストリームは符号化され、それによって得られた圧縮画像データストリームはバッファたるSRAMに保存される。本発明にて採用でき画像データストリームを好適に符号化できる手法には、様々なものがある。
符号化手法の第1の例は、辞書ベースランレングス符号化手法の一つであるLZW法である。この手法は非常にハードウェア集約的であるため全ての用途において好適であるとは言い難い。加えて、LZW法を実施するには大規模な適応ルックアップテーブル群が必要であり、一般にその処理能力を増すにもテーブルの個数乃至規模を増やす措置を執る。更に、LZW法ではこれらルックアップテーブル間のマッチングが必要であり、単一クロックサイクル内で処理を実行し終えるのは難しい。
符号化手法の第2の例はハフマン(Huffman)符号化である。ハフマン符号化も多くの用途にて採用可能であるが、LZW法と同様、ハードウェア生産性がさほど高くない。これは、ツリーを保存する必要があるため及び可変長符号化テーブルルックアップ処理を実行する必要があるためである。
圧縮手法のうち多くの用途に適しているのは算術符号化である。算術符号化を用いれば、計算結果たる圧縮符号を単一クロックサイクル内で得ることができ、この符号化によりそのデータセットのエントロピーまでデータを圧縮できる。
中でも適応算術符号化は高圧縮率を実現できる手法であり、好適にも、累積ヒストグラム内にデータ値を保存していくこと、即ちヒストグラムの移動加算(移動総和)処理を行うことにより、実現できる。
本発明においてデータストリームの符号化に算術符号化を採用するのは、算術符号化では大規模なハードウェアルックアップテーブルやツリーが不要であるからである。また、算術符号化であれば、計算結果たる符号化シンボルを単一クロックサイクル内で効率的に得ることができる。更に、算術符号化を用いれば、確率分布の如何によらずそのデータセットのエントロピーまでデータを圧縮することができる。確率分布の如何によらないため、後に述べるチャネル分割を採用できる。
高圧縮率を達成するには適応算術符号化が有用である。しかしながら、適応算術符号化に当たっては二種類のハードウェア集約的処理が必要となる。そのうち一つは適応ヒストグラムから確率を計算するための除算であり、もう一つは算術エンコーダの状態変数をリスケールするための乗算である。但し、ある種の手法を使用すれば、乗算なしで算術エンコーダを実現でき、ひいてはエンコーダ機能を実現するハードウェアに課される条件を緩和できる。
本発明においては、ハードウェアを更に節約するため、除算不要の適応ヒストグラム処理手法を使用することとしている。次に、除算不要型適応ヒストグラム処理手法を、例を用いてより詳細に説明する。
まず、M個のビンを有するヒストグラムを考える。各ビンにおける度数をそれぞれm1、m2、…、mMとすると、このヒストグラムに含まれる元(element)の個数NはN=m1+m2+…+mMとなり、算術エンコーダが符号化のためシークするシンボルそれぞれの符号化確率はpx=mx/Nとなる。
この確率計算における除算をなくすため、本発明に係る適応ヒストグラム処理手法では、2のべき乗となるようNを固定・保持することによって、単なるビットシフトでNによる除算を実行できるようにしている。また、Nを固定・保持するため、本発明においては、新たな元が到来するたびに、加重ラウンドロビン方式に従いヒストグラムから元を削除する。このプロセスを図8に示す。
図8中、ステップS100ではk及びxに共に0をセットすることによりデータ構造が初期化され、ヒストグラムの各ビンが0にセットされる。ステップS102では次のシンボルyを待つ。次のシンボルyを受け取ったとき、このプロセスにおいてはシンボルyがヒストグラムに追加される。即ち、ステップS104にて、ビンyに属する元の個数を示すmyの値が1インクリメントされる。ステップS106では、削除加重係数kが0であるかどうかが判別される。なお、削除対象ビンについてのkは削除すべき元の個数を与えている。
ステップS106にてkが0であると判別されると、このプロセスは次のビンに進む。即ち、ステップS108にて、元を削除すべきビンを示すxの値が1インクリメントされる。但し、ヒストグラム中に含まれるビンの個数に達したらこの計数値xの値は0に戻される。ステップS112では、k=(mx)/4の式により削除加重係数kがリセットされる。
ステップS106にて逆にkが0でないと判別されると、このプロセスにおいては削除加重係数kがk=k−1なる処理によりデクリメントされる(S110)。ステップS114では、ヒストグラムからシンボルが削除される。即ち、ビンxに含まれる元の個数を示すmx(但しmxは常に0より大きい)が1デクリメントされる。もしmxが1に等しければ元の追加も削除も行われない。
しかしながら、ここで、ヒストグラムを保存する必要があることが問題となる。例えば、各画素(ワード)のビット幅が8ビットである画像データにおいては、256個のビンを有するヒストグラムが必要である。また、各種の画像について実験的に明らかになっている通り、各データビンにおけるデータ桁数を10ビット程のデータ桁数即ち1024バイト分のデータに相当するデータ桁数とするのが望ましい。そのようにすれば、符号化対象データ窓のサイズが大きすぎて符号化用の統計情報に局部的な情報が正確に現れない、といったことがないよう、またそれでいて、当該データ窓のサイズが小さすぎ有意な統計情報を得るには不十分なデータしか利用できない、といったこともないよう、良好なトレードオフを図ることができる。言い換えれば、各ビンにおけるデータ深度を10ビットとすることにより、適応ヒストグラムの陳腐化を防ぎつつも良好な統計情報を得るのに十分なデータを得る、という良好なトレードオフを実現できる。
しかし、各ビンのデータ桁数を10ビットにするということは、10×256=2560ビット分のデータ保存レジスタが必要であるということである。このとき、圧縮処理がクロックレートにより規制乃至拘束されており従って圧縮対象ワード毎にもう利用できるクロックサイクルが余っていないのであれば、更新を施すのに全データビンに対して同時アクセスできねばならないことからして当該データ保存レジスタをSRAM内で実現することはできない。
このようにハードウェアに対する要求が高水準であると、ヒストグラムを用いた適応符号化手法による8ビットデータ値の圧縮符号化は、多くの用途にとり採用困難なものになってしまいかねない。そこで、本発明においては、8ビット幅画像データのストリームにおける各ワードを複数のチャネルに分割し、各チャネルを別個のデータストリームとして処理する、という手法を用いることにより、この困難性を克服している。以下より詳細に説明するように、このようなチャネル分割手法を用いても、データストリームを分割しない手法により得られるものに比肩する圧縮率を得ることができる。
本発明に係るチャネル分割手法の第1実施形態においては、8ビット幅画像データストリームを分割して二通りの4ビット幅データストリームとし、これら二通りの4ビット幅データストリームに対し、それぞれヒストグラムを用いて算術符号化を適用する。従って、この符号化プロセスにおいては、符号化に用いる統計情報の変化が、2個のヒストグラムによりLSB側のチャネルとMSB側のチャネルとに分けて追尾、追跡される。このようにすれば、単一チャネルで処理した場合に比べて、ハードウェアが満たすべき条件が顕著に緩和される。それは、本実施形態にて必要とする2個のヒストグラムにおけるビン数が各16個で足り、またヒストグラムにおけるデータ桁数を9ビットに減らせるからである。結果として、ヒストグラムレジスタでは2×9×16=288ビットを計数できればよくなり、8ビット幅の画像データストリームをそのまま処理した場合に対して1/10近くまでヒストグラムレジスタ規模乃至個数が小さくなる。
本発明に係るチャネル分割手法は更に拡張することができる。例えば、8ビット幅画像データストリームを、3個のデータストリーム即ち3個の別個なチャネルに分割することも可能である。分割の仕方は色々であり、例えば、MSBからLSBへと順に3ビット−2ビット−3ビット、2ビット−3ビット−3ビット等のパターンとなるよう、2ビット幅のチャネル1個と3ビット幅のチャネル2個とに分ければよい。
このように3個のチャネルに分割することによって、8ビット幅画像データチャネルを分割しないで処理した場合に得られる圧縮結果と同様の圧縮結果を得つつ、ヒストグラムのビンにおけるデータ桁数を8ビットに落とすことができる。3個のチャネルに分割されたヒストグラムを実現するため必要となるハードウェアは、レジスタの個数で言って2×8×8+4×8=160個まで顕著に縮小される。即ち、適応ヒストグラムを実現するのに必要なレジスタの個数が、データストリームを分割しない場合に比べ1/16まで減る。このような画像データチャネル分割は、その用途に適合する限りにおいて、また使用するチャネル個数に相応する個数のクロックサイクルを利用できる限りにおいて、更に拡張することができる。
先に示した図5の右半分には、本発明におけるチャネル分割手法を実施するための装置構成の一例が示されている。この構成においては、上述の如く減算処理によってベイヤ差分化処理が施された8ビット幅画像データワードが、チャネルスプリッタ65によって複数のチャネルに分割される。図示した例は、MSBからLSBへと順に3ビット−3ビット−2ビットとなるパターンに従い、3個のチャネルに分割する例である。チャネルスプリッタ65は単純なレジスタにより実現することができる。また、分割によって得られた3個のチャネルにはそれぞれ別々のヒストグラムが対応づけられており、各チャネルは対応するヒストグラム即ち3個の累積分布関数(CDF)66、68及び70のうち対応するものへと送られる。これら3個のCDF66、68及び70から得られるデータはマルチプレクサ72により多重化され、更に好適な算術圧縮符号化実行回路74により後述の通り符号化される。その結果として得られる圧縮画像データは、画素データ毎にビット数が変わり得るデータであり、FIFO76へ、更にイメージャコントローラ30によってSRAM48へと送られて、SRAM48内に一時保存される。
さて、次に、本発明にて各データチャネルのCDF即ちヒストグラムに対し適用するヒストグラム保存更新手法について説明する。先にも述べたことであるが、ヒストグラムに算術符号化を適用する際の乗算処理はある種の手法を使用すればなくすことができるため、本発明においては算術符号化に際する乗算処理を不要にしている。また、本発明に係る適合符号化手法においては更に、符号化実行中におけるヒストグラム内元数Nの変動に対処するため必要となる除算処理をも、簡素化している。
即ち、本発明においては、所与のヒストグラムにおける元の個数Nを2のべき乗に固定するという条件を付加することによって、各除算処理をビットシフト処理へと単純化している。この条件を成立させるには、ヒストグラムにデータ元を1個追加する毎に1個のデータ元をヒストグラムから削除しなければならない。これは、元の追加順序を追跡しその順序で元を削除するというFIFO式のアプローチを用いることによっても実現できるが、それには本発明に比べて大規模なハードウェアが必要となる。
本発明において使用するのは、それぞれヒストグラム内の何れかのビンを指し示す2個のポインタ、即ち追加ポインタ及び削除ポインタである。概略、ヒストグラムに追加すべき新たなデータ元がパイプラインから供給されると、追加ポインタにより指し示されているビンに属する元の個数がインクリメントされ、削除ポインタにより指し示されているビンに属する元の個数がデクリメントされる。
理論的的に言えば、8ビット幅のデータを3個の別々なチャネルに分割するということは、近似的に、元々の8ビット幅のデータストリームを3個のチャネルの幾何学的分布として扱うことである。先に述べたようにこの近似は成立しているため、上述の除算不要型適応ヒストグラム手法を用いた場合、チャネル分割を全く行わない場合と比肩し得る結果が得られる。なお、分割により得られるチャネルの個数を増やすと性能が劣化することや、それでいてハードウェア規模削減の効果がさほど増大しないことからすれば、本発明を実施するに際してはチャネル個数を3個とするのが妥当であろう。
上述した各種の手法を組み合わせれば、ハードウェア生産性が高いロスレスインストリーム画像圧縮手法を実現できる。本発明においては、様々なクラスの画像について、平均で46%の圧縮率を実現できる。図9に、チャネル分割について他の実施形態を示す。この実施形態においては、自己完結型の圧縮エンジンに小出力FIFOを付加し、可変長符号化によって生じるジッタをこのFIFOにより吸収するようにしてる。
図9に示す構成においては、ベイヤ差分化処理モジュール乃至回路200はデータを受け取って8ビット幅のデータワードを出力する。この8ビット幅データワードはスプリッタ乃至マスク210により3個のチャネルに分割される。例えば、先に好適な実施形態として示したように、8ビット幅データワードは2個の3ビットデータワードと1個の2ビットデータワードとに分割される。分割により得られたデータワードは、先に説明したラウンドロビン方式除算不要型適応ヒストグラム220に供給される。ラウンドロビン方式除算不要型適応ヒストグラム220は3個のヒストグラム221、223及び225を有しており、これら3個のヒストグラム221、223及び225からのデータはマルチプレクサ230により多重化され、更に好適な算術圧縮符号化実行回路240により後述の通り符号化される。その結果得られる圧縮画像データは、画素データ毎にビット数が変わり得るデータであり、FIFO250へと送られる。
図9に示した圧縮エンジンは、RAMやプロセッサといった周辺デバイスがなくとも機能し得る自己完結型の圧縮エンジンであり、その内部に含まれるレジスタの総数は269個である。0.35μmプロセスにより作成した場合、この圧縮エンジンは0.3mm2の面積内に収まり、そのゲート個数は約7000個となる。
図6に、本発明に係るヒストグラム保存更新手法について他の実施形態を示す。この図に示すのは、特に、本実施形態においてロスレスインストリーム画像圧縮を実現する手順の流れである。
図6に示す手順においては、まず、ヒストグラム即ちCDFを既知の値に設定することにより、各ビン内の元の個数が等しくなるよう(CDFが等化されるよう)システムが初期化される(S80)。後述の通り、圧縮データとこれを展開して得られる展開データとの間の対応関係を正確に保つには、圧縮エンジンのエンコーダとこれに対応するデコーダとが何れも画像データストリーム内の共通位置から処理を開始しなければならないのであるから、CDFの等化は重要な処理である。また、ステップS80においては、削除ポインタSUB_POINTERが、0番目のビンを指し示すようセットされ、所与のビンから何個のデータ元が削除されたかを表す削除カウントSUB_COUNTが、1にリセットされ、削除ポインタSUB_POINTERによって指し示されているビンから削除されるデータ元の総数を示す削除最大値SUB_MAXが、そのビンの値PDF[SUB_POINTER]を所定の除算係数ここでは4で除した値にセットされる。この除算係数は、そのヒストグラム内のビン同士の間における元の個数の相互比率が一定に保持されるという条件が満たされるよう、選択する。この条件を満足させるため、所与のビン内の元の個数をある比例係数例えば4で除した個数に相応する個数の符号化サイクルに亘り、当該所与のビンを指し示すよう削除ポインタSUB_POINTERを保持する。
CDFの初期化が終わった後は、システムは、チャネル分割パイプから新たなデータ元が到来するのを待つ(S82)。新たなデータ元がCDFに到来すると(S84)、CDFのビンのうち削除ポインタSUB_POINTERにより指し示されているビンがチェックされる。即ち、そのビンがデータ値の元を1個より多く含んでいるかどうかが判別される。なお、従来方式に従い算術符号化を行うには、CDFの各ビンに少なくとも1個の元が含まれていなければならない。そのビンが1個より多くの元を含んでいる場合、新たな元の値と等しくなるよう追加ポインタADD_POINTERの値が更新される(S88)。
次のステップS90においては、追加ポインタADD_POINTERが現在指し示しているビン番号以上のビン番号を有する全てのビンに1を加算し(元を1個追加し)、削除ポインタSUB_POINTERが現在指し示しているビン番号以上のビン番号を有する全てのビンから1を減算する(元を1個削除する)ことにより、ヒストグラムが更新される。この更新を終えた後は、ステップS92にて、削除カウントSUB_COUNTが削除最大値SUB_MAXと等しいかどうかが判別される。等しくなければステップ94にて削除カウントSUB_COUNTがインクリメントされ、CDFは次の元を待つ状態となる(S82)。
削除カウントSUB_COUNTが削除最大値SUB_MAXと等しいならば、ステップS96にて、次のビンを指し示すこととなるよう削除ポインタSUB_POINTERがインクリメントされ、現在のCDFにおける現在のビンの値と等しくなるよう削除最大値SUB_MAXがリセットされ、そして削除カウントSUB_COUNTが1にリセットされる。この更新を終えた後は、システムは次のデータ元を待つ状態となる(S82)。以上で、CDFに含まれるデータ値項目の個数を一定に保持する処理の1サイクルが終わる。
本発明においては、このヒストグラム更新手法と、画像データをチャネル分割することによりヒストグラムのサイズを相対的に小さくする手法とが、互いに関わり合っている。即ち、ヒストグラムサイズが比較的小さいと削除ポインタがヒストグラム全体を比較的短い時間で周回できるため、CDFによるデータ統計が陳腐化することを防ぎつつも十分な量のデータを得て良好な結果をもたらすことができる。このようにチャネル分割手法を用いることにより、システムに課せられるハードウェア上の必要条件を緩和しつつシステムの性能を高めることができる。即ち、従来であれば、性能を向上させるには往々にして例えば16ビットや24ビットへとチャネルサイズを増すようにしていたが、本発明はこれとは対照的であり、データチャネルのサイズを小さくすることによってより良い結果を得ることができる。
データを複数のチャネルに分割しつつも良好な圧縮率を得ることができる、というこの効果は、特に、算術符号化を用いることによって得られたものである。他の圧縮手法例えばハフマン符号化では、各元をある整数ビット数に符号化する必要があるため、高スキューな統計情報を、算術符号化程にはデータセットのエントロピーに近づけることができない。一例として画像データの上位ビット群を考えると、ベイヤ差分化処理を経た画像における上位ビット群は0になることが多く、ハフマン符号化ではこのような0値にも最低1ビットのコードを割り当てねばならないが、算術符号化であれば表すべき情報に対して必要最小個数のビットのみが割り当てられる。
画像データチャネルを圧縮するための算術符号化手法には様々な実施形態があり、その中には乗算不要型の実施形態も含まれる。その際、従来型信号シフト加算処理による2ビット乗算処理よりは、3ビット乗算処理を用いる方が性能上は望ましい。即ち、桁数一杯か3ビットかでは結果に目立った差が生じないが、3ビットか2ビットかでは結果の差が数パーセント程にもなる。
従って、3ビット乗算処理を用いるとシフト加算処理が新たに追加されそれに伴いハードウェアを追加する必要が生じるものの、3ビット乗算処理を用いることによる圧縮率向上効果によってこの問題は穴埋めされることとなる。一実施形態においては、キャリオーバの効果を抑えるために8ビットのガードレジスタを用い、またこのキャリオーバレジスタが8個又はそれ以上連続する「1」で一杯になったときにビットスタッフィングを実行する。また、符号化処理は、拡張型チャネル分割を可能にするため、相並行して実行される複数の処理に分割できる。ここで認識しておくべきことに、結果として得られる高い効率と、多重化を伴う比較的複雑な信号経路及び複雑な決定ツリーを含む算術エンコーダを複製乃至再現できねばならないという条件との間には、トレードオフの関係がある。
図7に、先に述べた圧縮処理に相応する展開処理のための構成を示す。この構成による展開処理は、画像データ処理の様々な段階で実行できる。例えば、更なる処理や保存のためその画像データをダウンロードした先のコンピュータやネットワークにおいて、この処理を行うことができる。展開処理においては、圧縮データ100がデコーダ102に送られ復号される。また、デコーダ102における展開処理は、復号データと元々の非圧縮データとの間に正しい対応関係が生じるようマルチプレクサ104と同期して、即ちマルチプレクサ104が3個のヒストグラム即ちCDF1 66、CDF2 68及びCDF3 70から得られるデータを多重化する動作と同期して、行う。
その結果得られたデータはデマルチプレクサ106に送られ、デマルチプレクサ106は、このデータを、画像データ圧縮に先だって行われたチャネル分割時のチャネル個数に相当する個数のチャネルに分割する。更に、レジスタ108においては、チャネルに分割されたデータに基づき、8ビット幅一杯のデータワードが再構成される。再構成された画像データワードは、3個のデータワード112、114及び116を保持可能な二段階パイプライン110に送られる。これらのデータワードのうち間に1ワードを挟んでいるデータワード即ち交番的に現れているデータワード112及び116は加算器118により互いに加算され、これにより、先に施されたベイヤ差分化処理の効果が補償される。この加算によって得られるのは再構築された展開データ120であり、この展開データ120は更なる処理や保存のため所望に応じ後段に送られる。
注記すべきことに、上述した各種のプロセスは、本発明の技術的範囲及び思想を離れることなく、ハードウェア的にもファームウェア的にもソフトウェア的にも実行できる。
以上、本発明の様々な実施形態乃至実施例に関して説明したが、本件技術分野における習熟者であれば認め得るように、本発明の技術的範囲及び思想は明細書及び図面中の記載の特定部分により限定されるべきものではなく、むしろそれらに基づく各種変形物乃至改変物を包含するものである。
Claims (26)
- (a)シーンを捕捉し捕捉したシーンをディジタルイメージセンサデータワード群に変換するステップと、
(b)当該ディジタルイメージセンサデータワード群を圧縮するステップと、
(c)圧縮されたディジタルイメージセンサデータワード群を一時メモリ内に保存するステップと、
(d)一時メモリから恒久メモリへとディジタルイメージセンサデータワード群を転送するステップと、
を有するディジタルイメージセンサデータワード群インストリーム圧縮方法。 - 請求項1記載の方法において、一時メモリから恒久メモリへと転送されるディジタルイメージセンサデータワード群が、圧縮されたディジタルイメージセンサデータワード群である方法。
- 請求項1記載の方法において、圧縮されたディジタルイメージセンサデータワード群が、一時メモリから恒久メモリへの転送に先立ち展開される方法。
- 請求項1記載の方法において、一時メモリがSRAMである方法。
- 請求項1記載の方法において、恒久メモリがフラッシュメモリである方法。
- 請求項1記載の方法において、ディジタルイメージセンサデータワード群を圧縮するステップが、
(b1)ディジタルイメージセンサデータワードのうち最下位ビットから所定ビット数分をマスクするステップと、
(b2)マスクされたディジタルイメージセンサデータワード群を符号化することにより圧縮されたディジタルイメージセンサデータワード群を生成するステップと、
を含む方法。 - 請求項1記載の方法において、ディジタルイメージセンサデータワード群を圧縮するステップが、
(b1)ディジタルイメージセンサデータに交番的に現れるワード同士を減算することによりエントロピーが低減されたデータモデルを得るステップと、
(b2)ディジタルイメージセンサデータの差分ワード群を符号化することにより圧縮されたディジタルイメージセンサデータワード群を生成するステップと、
を含む方法。 - 請求項1記載の方法において、ディジタルイメージセンサデータワード群を圧縮するステップが、
(b1)ディジタルイメージセンサデータワードのうち最下位ビットから所定ビット数分をマスクするステップと、
(b2)ディジタルイメージセンサデータに交番的に現れるワード同士を減算することによりエントロピーが低減されたデータモデルを得るステップと、
(b3)ディジタルイメージセンサデータの差分ワード群を符号化することにより圧縮されたディジタルイメージセンサデータワード群を生成するステップと、
を含む方法。 - 請求項1記載の方法において、ディジタルイメージセンサデータワード群を圧縮するステップが、
(b1)そのビット幅を合計するとディジタルイメージセンサデータワードのビット幅に等しくなるようそのビット幅が設定されている所定個数のチャネルへと、ディジタルイメージセンサデータワードを分割するステップと、
(b2)個々別々の累積分布関数による処理をディジタルイメージセンサデータの各チャネルについて実行するステップと、
(b3)分布化されたディジタルイメージセンサデータを多重化するステップと、
(b4)多重化されたディジタルイメージセンサデータを算術圧縮符号化処理により符号化するステップと、
を含む方法。 - 請求項1記載の方法において、ディジタルイメージセンサデータワード群を圧縮するステップが、
(b1)ディジタルイメージセンサデータワードのうち最下位ビットから所定ビット数分をマスクするステップと、
(b2)そのビット幅を合計するとディジタルイメージセンサデータワードのビット幅に等しくなるようそのビット幅が設定されている所定個数のチャネルへと、マスクされたディジタルイメージセンサデータワードを分割するステップと、
(b3)個々別々の累積分布関数による処理をディジタルイメージセンサデータの各チャネルについて実行するステップと、
(b4)分布化されたディジタルイメージセンサデータを多重化するステップと、
(b5)多重化されたディジタルイメージセンサデータを算術圧縮符号化処理により符号化するステップと、
を含む方法。 - 請求項1記載の方法において、ディジタルイメージセンサデータワード群を圧縮するステップが、
(b1)ディジタルイメージセンサデータに交番的に現れるワード同士を減算することによりエントロピーが低減されたデータモデルを得るステップと、
(b2)そのビット幅を合計するとディジタルイメージセンサデータワードのビット幅に等しくなるようそのビット幅が設定されている所定個数のチャネルへと、ディジタルイメージセンサデータの差分ワードを分割するステップと、
(b3)個々別々の累積分布関数による処理をディジタルイメージセンサデータの各チャネルについて実行するステップと、
(b4)分布化されたディジタルイメージセンサデータを多重化するステップと、
(b5)多重化されたディジタルイメージセンサデータを算術圧縮符号化処理により符号化するステップと、
を含む方法。 - 請求項1記載の方法において、ディジタルイメージセンサデータワード群を圧縮するステップが、
(b1)ディジタルイメージセンサデータワードのうち最下位ビットから所定ビット数分をマスクするステップと、
(b2)ディジタルイメージセンサデータに交番的に現れるワード同士を減算することによりエントロピーが低減されたデータモデルを得るステップと、
(b3)そのビット幅を合計するとディジタルイメージセンサデータワードのビット幅に等しくなるようそのビット幅が設定されている所定個数のチャネルへと、ディジタルイメージセンサデータの差分ワードを分割するステップと、
(b4)個々別々の累積分布関数による処理をディジタルイメージセンサデータの各チャネルについて実行するステップと、
(b5)分布化されたディジタルイメージセンサデータを多重化するステップと、
(b6)多重化されたディジタルイメージセンサデータを算術圧縮符号化処理により符号化するステップと、
を含む方法。 - (a)その最下位ビットから所定ビット数に亘り各ディジタルイメージセンサデータワードをマスクするステップと、
(b)ディジタルイメージセンサデータに交番的に現れるワード同士を減算することによりエントロピーが低減されたデータモデルを得るステップと、
を有するディジタルイメージセンサデータワード群圧縮用インストリームモデリング方法。 - (a)そのビット幅を合計するとディジタルイメージセンサデータワードのビット幅に等しくなるようそのビット幅が設定されている所定個数のチャネルへと、ディジタルイメージセンサデータワードを分割するステップと、
(b)個々別々の累積分布関数による処理をディジタルイメージセンサデータの各チャネルについて実行するステップと、
(c)分布化されたディジタルイメージセンサデータを多重化するステップと、
(d)多重化されたディジタルイメージセンサデータを算術圧縮符号化処理により符号化するステップと、
を有するディジタルイメージセンサデータワード群圧縮用インストリーム符号化方法。 - (a)その最下位ビットから所定ビット数に亘り各ディジタルイメージセンサデータワードをマスクするステップと、
(b)ディジタルイメージセンサデータに交番的に現れるワード同士を減算することによりエントロピーが低減されたデータモデルを得るステップと、
(c)そのビット幅を合計するとディジタルイメージセンサデータワードのビット幅に等しくなるようそのビット幅が設定されている所定個数のチャネルへと、ディジタルイメージセンサデータの差分ワードを分割するステップと、
(d)個々別々の累積分布関数による処理をディジタルイメージセンサデータの各チャネルについて実行するステップと、
(e)分布化されたディジタルイメージセンサデータを多重化するステップと、
(f)多重化されたディジタルイメージセンサデータを算術圧縮符号化処理により符号化するステップと、
を有するディジタルイメージセンサデータワード群インストリーム圧縮方法。 - (a)ヒストグラム内の元の個数を2のべき乗に固定するステップと、
(b)ヒストグラムのビン内にある元の個数を判別するステップと、
(c)ヒストグラムのビン内にある元の個数の判別値に対してビットシフト処理を実行することによりシンボル符号化確率を探索するステップと、
を有する除算不要型算術符号化方法。 - 請求項16記載の方法において、新たな元が到来するたびにヒストグラムから元を適応的に削除することによりヒストグラム内の元の個数が固定される方法。
- 請求項16記載の方法において、新たな元が到来するたびに加重ラウンドロビン方式に従いヒストグラムから元を適応的に削除することによりヒストグラム内の元の個数が固定される方法。
- 請求項17記載の方法において、新たな元の到来に応じたヒストグラムからの元の削除が、元が追加された順序を追跡しその順序に従い元を削除することにより行われる方法。
- 請求項19記載の方法において、元が追加されまた削除される順序の追跡が、ヒストグラムに追加すべき新たなデータ元が得られたときに、追加ポインタが指し示しているビンの値をインクリメントし且つ削除ポインタが指し示しているビンの値をデクリメントすることにより、行われる方法。
- (a)ヒストグラムに追加すべき新たなデータ元を得るステップと、
(b)この新たなデータ元をヒストグラムに追加するステップと、
(c)新たなデータ元が追加される順序を追跡するステップと、
(d)追跡により得られた順序に従いヒストグラムからデータ元を削除するステップと、
を有するヒストグラム内元個数適応固定方法。 - 請求項21記載の方法において、元が追加されまた削除される順序の追跡が、ヒストグラムに追加すべき新たなデータ元が得られたときに、追加ポインタが指し示しているビンの値をインクリメントし且つ削除ポインタが指し示しているビンの値をデクリメントすることにより、行われる方法。
- (a)ヒストグラムに追加すべき新たなデータ元を得るステップと、
(b)この新たなデータ元をヒストグラムに追加するステップと、
(c)ヒストグラムに新たなデータ元を追加するときに、そのビン内の元の個数を示すビン値をインクリメントするステップと、
(d)ヒストグラム内の現在のビンが元削除の対象であるか判別するステップと、
(e)ヒストグラム内の現在のビンが元削除の対象であると判別されたときに、ヒストグラム内の現在のビンから削除する元の個数を表す値を減らすステップと、
(f)削除する元の個数を表す値が減らされたときに、ヒストグラムから元を削除するステップと、
を有するヒストグラム内元個数適応固定方法。 - 請求項23記載の方法において、更に、
(g)ヒストグラム内の現在のビンが元削除の対象でないと判別されたときに、元を削除しようとしていたビンから次のビンへと進むステップと、
(h)ヒストグラム内の現在のビンから削除する元の個数を表す値を所定値にリセットするステップと、
を有する方法。 - 請求項24記載の方法において、上記所定値が、ヒストグラム内の現在のビンから削除する元の個数を4で除した値と等しい方法。
- 請求項23記載の方法において、ヒストグラム内の現在のビンから削除する元の個数を表す値が1に等しいときには、ヒストグラムから元を削除しない方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41798202P | 2002-10-11 | 2002-10-11 | |
US60/417,978 | 2002-10-11 | ||
PCT/US2003/032220 WO2004034331A2 (en) | 2002-10-11 | 2003-10-14 | In-stream lossless compression of digital image sensor data |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006502673A JP2006502673A (ja) | 2006-01-19 |
JP2006502673A6 true JP2006502673A6 (ja) | 2006-07-06 |
Family
ID=38476987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004543695A Pending JP2006502673A (ja) | 2002-10-11 | 2003-10-14 | ディジタルイメージセンサデータのインストリームロスレス圧縮 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1559072A2 (ja) |
JP (1) | JP2006502673A (ja) |
AU (1) | AU2003284067A1 (ja) |
WO (1) | WO2004034331A2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8904044B2 (en) | 2007-09-28 | 2014-12-02 | International Business Machines Corporation | Adapting compression techniques over data based on context |
CN105258804B (zh) * | 2015-08-17 | 2018-10-26 | 电子科技大学 | 发送和接收太赫兹或者红外焦平面探测器阵列数据的方法 |
KR102152346B1 (ko) * | 2019-01-30 | 2020-09-04 | 스노우 주식회사 | 이미지 파일의 블록 간 차이를 통한 압축율 향상 방법 및 시스템 |
KR102185668B1 (ko) * | 2019-01-30 | 2020-12-02 | 스노우 주식회사 | 이미지 파일의 픽셀 변환을 통한 압축율 향상 방법 및 시스템 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2916158A1 (de) * | 1979-04-20 | 1980-10-30 | Siemens Ag | Geraet zur anzeige von haeufigkeitsverteilungen von messwerten o.dgl. ueber einen einstellbaren messbereich |
JPH04181884A (ja) * | 1990-11-16 | 1992-06-29 | Sony Corp | 映像信号記録装置 |
US5546080A (en) * | 1994-01-03 | 1996-08-13 | International Business Machines Corporation | Order-preserving, fast-decoding arithmetic coding arithmetic coding and compression method and apparatus |
DE4419364A1 (de) * | 1994-06-03 | 1995-12-07 | Bosch Gmbh Robert | Verfahren zur Echtzeitermittlung des Offsetanteils eines Meßsignals |
US5867114A (en) * | 1996-02-29 | 1999-02-02 | Mitel Corporation | Method and apparatus for performing data compression |
US7369161B2 (en) * | 1999-06-08 | 2008-05-06 | Lightsurf Technologies, Inc. | Digital camera device providing improved methodology for rapidly taking successive pictures |
US20020135683A1 (en) * | 1999-12-20 | 2002-09-26 | Hideo Tamama | Digital still camera system and method |
JP2002111942A (ja) * | 2000-09-29 | 2002-04-12 | Matsushita Electric Ind Co Ltd | 画像処理装置 |
KR100869657B1 (ko) * | 2001-03-05 | 2008-11-21 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 신호를 압축하는 장치 및 방법 |
-
2003
- 2003-10-14 AU AU2003284067A patent/AU2003284067A1/en not_active Abandoned
- 2003-10-14 WO PCT/US2003/032220 patent/WO2004034331A2/en active Application Filing
- 2003-10-14 EP EP03776298A patent/EP1559072A2/en not_active Withdrawn
- 2003-10-14 JP JP2004543695A patent/JP2006502673A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040135903A1 (en) | In-stream lossless compression of digital image sensor data | |
US6124811A (en) | Real time algorithms and architectures for coding images compressed by DWT-based techniques | |
CN101253761B (zh) | 图像编码设备和图像编码方法 | |
KR100246878B1 (ko) | 역이산 코사인변환 프로세서, 이산 코사인 변환계수의 매트릭스를 역변환하기 위한 방법 및 그 장치 | |
KR100347508B1 (ko) | 촬상 장치 | |
US8031958B2 (en) | Image signal processing apparatus, camera system and image signal processing method | |
EP0506294A2 (en) | Hierarchical variable length decoder for digital video data | |
JP2952196B2 (ja) | 映像信号符号化装置及び方法 | |
US9525880B2 (en) | Lossless video data compressor with very high data rate | |
US11445160B2 (en) | Image processing device and method for operating image processing device | |
CN102017636B (zh) | 影像的解码 | |
US11991347B2 (en) | Image processing device | |
US10609382B2 (en) | Method and apparatus for compressing video data | |
US20210250575A1 (en) | Image processing device | |
JP2000244922A (ja) | 画像データ圧縮方法 | |
US11190810B2 (en) | Device and method for compressing image data using quantization parameter and entropy tables | |
JP2006502673A6 (ja) | ディジタルイメージセンサデータのインストリームロスレス圧縮 | |
JP2006502673A (ja) | ディジタルイメージセンサデータのインストリームロスレス圧縮 | |
JP6946671B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2000244744A (ja) | 画像データ圧縮方法及び画像データ管理方法 | |
TWI795480B (zh) | 用於執行資料解壓縮的影像處理裝置及用於執行資料壓縮的影像處理裝置 | |
US20040179592A1 (en) | Image coding apparatus | |
JP3228943B2 (ja) | 符号化装置及び復号装置及びそれらの方法及び画像処理装置 | |
JP3218226B2 (ja) | 符号化装置及び復号装置及びそれらの方法及び画像処理装置 | |
JP2004140879A (ja) | デジタルカメラおよびデジタルカメラにおける画像処理方法 |