JP4124686B2 - Image data processing device - Google Patents
Image data processing device Download PDFInfo
- Publication number
- JP4124686B2 JP4124686B2 JP2003089750A JP2003089750A JP4124686B2 JP 4124686 B2 JP4124686 B2 JP 4124686B2 JP 2003089750 A JP2003089750 A JP 2003089750A JP 2003089750 A JP2003089750 A JP 2003089750A JP 4124686 B2 JP4124686 B2 JP 4124686B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- image
- image data
- code
- encoding
- 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.)
- Expired - Lifetime
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、CCDやCMOSセンサなどの撮像素子から取り込んだ画像データを処理する画像データ処理装置に関するものである。
【0002】
近年、デジタルカメラの記録画素数は拡大の一途を辿っており、それに応じて処理負荷が益々重くなる傾向にある。そのため、デジタルカメラにおけるデータ処理システムでは、連写速度を高める目的でバッファメモリを搭載することが多い。同システムにおいて、少しでも処理能力を高めるためにはバッファメモリを極力有効に使用することが望まれており、データ処理の途中で発生する中間データによるバッファの専有を避ける技術が重要な課題となっている。
【0003】
【従来の技術】
デジタルカメラにおいて、例えば、原色ベイヤー配列で配置された単版式の撮像素子のデータを記録する場合、撮像素子から入力される生データを一旦バッファメモリに格納した後、該メモリからデータを読み出して3版化のための補間処理やファイル圧縮のためのJPEG圧縮などの処理が行われている。この場合、理想的には、撮像素子からの入力データを、バッファメモリを使用することなく記録対象のデータであるJPEGデータに変換し、変換結果をバッファメモリに蓄積することができれば、バッファメモリを最大限に有効活用することが可能となる。しかしながら、撮像素子からのデータ入力は一定の順序を保って入力され、その順番は必ずしも後処理の回路(補間回路等)で都合の良い順番になっていない。その一例として、インタレース型のスキャンを行う撮像素子を用いる場合、フィールド単位でデータが入力されてくるが、そのデータを補間する補間回路はフィールド単位ではなくフレーム単位で処理を行うため、先行するフィールドのデータをバッファメモリに一旦待避しておく必要がある。また、補間回路は大きなラインメモリを必要とし、回路量の制約から矩形に分割して補間処理を行うといった形態をとる。そのため、フレーム単位で読み出し可能な撮像素子(具体的には、プログレッシブ型のスキャンを行う撮像素子)を用いた場合でも、バッファメモリへのデータ待避が必要となる。さらに、JPEG圧縮の処理では、8×8画素単位の矩形(ブロック単位)で圧縮処理を行うことが決められているため、撮像素子からのデータ入力の順番がその処理に適合することはほとんど有り得ない。
【0004】
一方、高画質なデジタルカメラでは、カメラ内部での補間処理を行わず、生データを記録しておいて、後にソフトウェアにより補間処理を行うものもあり、この記録方法はRAW記録と呼ばれている。RAW記録の場合、補間前の生データに対して適当な符号化を行ってファイルサイズを小さくする技術がしばしば用いられる。また、この符号化は、隣接するデータ間では相関が強いことを利用して、差分を符号化するのが一般的である。この場合、一旦バッファメモリに待避させた非圧縮の生データを改めて符号化するという処理が行われる。これは、RAW記録を行うデジタルカメラであっても、付属のモニタによって記録画像を確認したり、サムネールを作成したりする必要があるためである。すなわち、画像確認のためのデータ作成や、サムネール作成のために補間処理を行わねばならず、補間回路の処理対象となりうるフレームデータを一旦はバッファメモリ上に展開する必要が生じるためである。また、データ間の相関を利用しないで、単純に非可逆な非線型圧縮(例えば、γ補正による圧縮)等によりデータ圧縮を行うものであればバッファメモリにおけるデータの展開は不要となるが、階調が失われて画質が劣化するといった問題が生じてしまう。
【0005】
因みに、特許文献1では、要求される処理速度と品質によって処理経路を動的に変更する技術が提案されている。また、特許文献2では、バッファメモリへ格納されたデータに対して効率よく矩形処理を行う手法が提案されている。
【0006】
【特許文献1】
特開2001−45427号公報
【特許文献2】
特開2000−354193号公報
【0007】
【発明が解決しようとする課題】
上述したように、従来の画像データ処理装置では、撮像素子から入力される大量の生データ(非圧縮データ)をバッファメモリに待避する必要があるため、バッファメモリを有効に利用して補間処理等を行うことができなかった。
【0008】
また、上記特許文献1,2においても、容量の大きなRAWデータを一旦はバッファメモリに待避しなければならないといった問題には言及されておらず、その問題を解決するには至っていない。
【0009】
本発明は上記問題点を解決するためになされたものであって、その目的は、画像データを記憶するためのメモリを有効的に使用して処理能力を向上することができる画像データ処理装置を提供することにある。
【0010】
【課題を解決するための手段】
図1は、本発明の原理説明図である。すなわち、画像データ処理装置10は、画像入力手段11と、符号化手段12と、記憶手段13と、復号化手段14と、補間手段15とを備える。画像入力手段11には、撮像素子から画像データが入力される。符号化手段12では、画像入力手段11から送出される画像データについて、隣接する撮像素子間のデータの相関を利用して符号化処理が行われる。なお、この符号化処理においては、例えば、隣接するデータの差分を求めてその差分を符号化することでデータ圧縮が行われる。また、画像データが複数の種類に区別される場合には、同一種別の近隣データ間で差分が求められ、その差分が符号化される。そして、符号化手段12により符号化されたデータが記憶手段13に格納される。復号化手段14では、記憶手段13から符号データを取り込んで該データの復号化処理が行われ、該復号化手段14により復号化された画像データが補間手段15に入力される。その補間手段15によって、画像データの補間処理が行われて画像表示に必要なデータが生成される。この場合、記憶手段13に対して、非圧縮の大容量のデータを記憶するのではなく、符号化により圧縮したデータが記憶されるので、記憶手段13を有効活用することが可能となり、画像データ処理装置10の処理能力が向上される。
【0011】
また、撮像素子からの画像データが画像入力手段11を介して符号化手段12に順次入力される。符号化手段12では、水平方向の相関のみを使用してライン毎に独立して画像データの符号化が行われる。その符号化に際して、水平ラインでの先頭の符号データの書き込み位置情報(アドレス)が書き込み位置保持手段24により記憶手段13に記憶される。この書き込み位置情報の記憶は、各ラインの先頭データを符号化する度に行われ、書き込み位置はライン番号に応じて設定された位置である。
【0012】
さらに、読み出し位置保持手段34により、記憶手段13に記憶した位置情報(アドレス)が読み出され、その位置情報が参照されることにより、該記憶手段13に格納されている符号列からラインの先頭の符号データが特定される。
【0013】
このように構成することで、任意のラインの先頭から復号化処理を行うことが可能となる。その結果、画像の全体ではなく、画像をトリミングして表示する場合に、復号化処理が迅速に行われる。
【0014】
図2に示すように、第1記憶手段43には、復号化手段14により復号されたデータが画素の種別毎に記憶される。この第1記憶手段43に記憶すべきデータは指示手段により指示される。また、復号化手段14に入力される符号データの位置情報が監視手段47により監視され、第2記憶手段45には、第1記憶手段43の記憶データに対応する符号データの位置情報が記憶される。この場合、第1及び第2記憶手段43,45に記憶した情報を用いれば、第2記憶手段45の位置情報により復号を再開すべき位置を特定し、第1記憶手段43のデータを使用して、ライン途中の任意の位置から復号を再開することが可能となる。
【0015】
さらに、第1及び第2記憶手段43,45を複数備えることにより、各記憶手段43,44に複数ライン分のデータと位置情報が記憶される。これにより、JPEG等の矩形処理を実現することが可能となる。
【0016】
【発明の実施の形態】
(第1実施形態)
以下、本発明を具体化した第1実施形態を図面に従って説明する。
【0017】
図3は、本実施形態の画像データ記録装置10を示すブロック回路図である。なお、この画像データ記録装置10は、例えば、デジタルカメラに搭載され、撮影した画像のデータを記録する。
【0018】
画像データ記録装置10は、画像データ入力部11、符号化部12、バッファメモリ13、復号化部14、補間部15、レジスタ16、CPU17、及び記録媒体18を備え、それぞれバス19を介して情報の授受が可能に接続されている。なお、本実施形態の画像データ記録装置10では、画像データ入力部11、符号化部12、復号化部14、補間部15、レジスタ16、及びCPU17が1チップの半導体集積回路(LSI)上に形成されており、該LSIの外付け部品としてバッファメモリ13及び記録媒体18が接続されている。また、バッファメモリ13及び記録媒体18へのデータ入出力は、16ビットのバス幅のデータバスを介して行われる。
【0019】
画像データ入力部11には、図示しない撮像素子からの画像データが入力される。本実施形態において、撮像素子(具体的には、例えばCCDセンサ)に設けられるカラーフィルタは、図4に示すように原色ベイヤー配列のものを使用しており、全画素読み出し方式(プログレッシブ・スキャン)により、各画素に対応する画像データが順次入力される。具体的には、複数の水平ラインについて上から下に順次走査される。また、1水平走査期間において、図4における左端の素子のデータから順次入力される。
【0020】
画像データ入力部11は、撮像素子からの画像データに基づいて、画質制御に必要となる明るさや色合いに関する色情報の抽出処理を行うとともに、その処理後の画像データを符号化部12に送出する。なお、図4の第1ライン、第3ライン等の奇数ラインについては、赤色に関する色情報(データR)と緑色に関する色情報(データGr)が抽出される。また、第2ライン、第4ライン等の偶数ラインについては、緑色に関する色情報(データGb)と青色に関する色情報(データB)とが抽出される。
【0021】
符号化部12は、画像データを受け取ると、該画像データを順次符号化することでデータ圧縮を行う。この符号化は、近傍に位置する画素間の情報は相関が深いことを利用して行う。具体的には、同一種別(各色別)の隣り合う画素間における差分を算出し、その算出した差分に対して可変長の符号を割り当てる方法により符号化を行う。なお、符号化処理に用いる可変長符号はレジスタ16に格納されている。
【0022】
符号化部12には、先ず、第1ラインのデータR0,Gr0,R1,Gr1,…が順に入力されるため、データ圧縮の手順としては、これらの入力データから連続する同一種別のデータ間での差分(具体的には、Rn−Rn-1,Grn−Grn-1)を算出する。この際、ライン先頭のデータR0,Gr0については、差分を取るための対象データが存在しないため、固定値と差分を取る必要があり、本実施形態では、その固定値を「0」とする。すなわち、算出結果として得られる差分データは順に、(R0−0),(Gr0−0),(R1−R0),(Gr1−Gr0),…となる。
【0023】
なおここで、CPU17が適当な固定値をレジスタ16に設定するよう構成してもよく、その構成によりデータの圧縮率の向上を図ることが可能となる。
また、符号化部12は、演算結果(差分データ)に対して可変長符号を割り当てることでデータを圧縮し、その符号を16ビットのデータに詰めていき、16ビットのデータ単位でバッファメモリ13に格納する。
【0024】
そして、第1ライン目に関するデータの符号化が終了すると、次の第2ラインの画像データGb0,B0,Gb1,B1,…が順に入力されてくるので、符号化部12は、上記と同じ手順で符号化を行いバッファメモリ13にデータを格納する。この手順を1フレームのライン数分繰り返すことで、撮像素子から取り込まれた画像データが圧縮された状態でバッファメモリ13に取り込まれることとなる。
【0025】
そして、バッファメモリ13に1フレーム分の画像データの取り込みが完了した時点で、該画像データが外部の記録媒体18に書き込まれて画像記録が行われる。
【0026】
また、本実施形態の画像データ記録装置10においては、取り込んだ画像を確認するためのモニタを備え、その画像確認のための動作が必要となる。具体的には、モニタに表示可能なデータを作成するために、バッファメモリ13に一旦貯えたデータを読み出して補間処理を行う必要がある。
【0027】
この場合、バッファメモリ13の格納データは可変長符号化されたデータであり、その格納データを対象として補間処理を行う必要があるため、復号化部14がバッファメモリ13から符号データを読み出して該データの復号を行う。そして、復号化部14が、その復号後の画像データを補間部15へ送出するようにしている。
【0028】
復号化部14で行われる復号化処理としては、符号化部12で行われる符号化処理の逆の処理である。すなわち、復号化部14は、バッファメモリ13から取り込んだ符号データを差分データにデコードし、その差分データを順次加算する。各ラインの先頭データについては、差分を算出するときに用いた固定値(具体的には、「0」)を加算することになる。
【0029】
また、補間部15は、その復号化後の画像データに対して補間処理を行い、モニタに表示可能なデータを作成して該データをモニタへ送出する。この補間処理では、画像データ入力部11で抽出した色情報(各々1色分の色情報)について、その色情報以外の残り2色の情報を、周辺画素の色情報から推定して演算する。これにより、3原色の色情報を含むデータが生成される。
【0030】
図5は、符号化部12の具体的な構成を示すブロック回路図である。
符号化部12は、シフトレジスタ21、減算器22、符号化ロジック回路23、アドレスカウンタ24、及びセレクタ25,26を備える。
【0031】
符号化部12において、画像データ入力部11から送出された画像データがシフトレジスタ21に順次格納される。シフトレジスタ21は、画像データ(16ビットの入力データ)を格納するための2つのレジスタ21a,21bを備える。そして、シフトレジスタ21は、入力データを初段のレジスタ21aにラッチするとともに、後段のレジスタ21bにデータをシフトする。例えば、シフトレジスタ21が、初段のレジスタ21aに第1ラインの先頭データR0を保持しているときに、2番目のデータGr0が画像データ入力部11から入力されると、該データGr0を初段のレジスタ21aにラッチするとともに、データR0を後段のレジスタ21bにシフトする。
【0032】
減算器22には、画像データ入力部11からのデータと、シフトレジスタ21の後段のレジスタ21bに保持されているデータとが入力される。減算器22はそれらデータを用いて、各データ間の差分を演算する。ここで、シフトレジスタ21における後段のレジスタ21bにデータR0が保持され、初段のレジスタにデータGr0が保持されており、さらに、画像データ入力部11からデータR1が入力される場合、データR1からデータR0が減算されて差分データ(R1−R0)が算出される。このように、減算器22では、同一種別の画素について、隣り合う画素間の差分データが算出される。
【0033】
符号化ロジック回路23には、減算器22の算出結果である差分データが入力される。符号化ロジック回路23は、差分データに対応する符号を割り当てる。ここでは、レジスタ16に格納された可変長符号の符号表を参照することで差分データの符号化がなされる。従って、符号化ロジック回路23において割り当てられる各符号のデータ長は異なるため、符号化ロジック回路23は、符号した各符号データを16ビットのデータとして順次詰めていき、16ビット単位のデータとして出力する。
【0034】
アドレスカウンタ24は、バッファメモリ13にデータの書き込みを行うためのアドレスを発生するカウンタである。なお、第1ラインの先頭符号の書き込みをする際には、外部から入力される初期アドレスがアドレスカウンタ24に設定される。そして、符号化ロジック回路23から16ビットのデータが出力される度に、アドレスカウンタ24のカウント値が「1」ずつカウントアップされる。
【0035】
セレクタ25は、CPU17から入力される制御信号S1に基づいて、アドレスカウンタ24で保持されているカウンタ値(アドレス値)と、外部から入力されるアドレス値とのいずれか一方を選択的にバッファメモリ13に出力する。
【0036】
また、セレクタ26は、CPU17から入力される制御信号S2に基づいて、アドレスカウンタ24のアドレス値と、符号化ロジック回路23から出力されるデータとのいずれか一方を選択的にバッファメモリ13に出力する。
【0037】
バッファメモリ13では、セレクタ25から入力されるアドレス値に基づいて、書き込み対象となるアドレスが指定され、その指定されたアドレスにセレクタ26からのデータが書き込まれる。
【0038】
本実施形態の符号化部12は、1ライン分の画像データに関する符号化処理を開始するのに先立って、シフトレジスタ21における各レジスタ21a,21bのデータを「0」にクリアする。これにより、各ラインの先頭データの差分を算出する際には、該先頭データから減算する固定データが「0」になる。
【0039】
このように構成した符号化部12において、減算器22は、同一種別の隣り合う画素について、各画素から得られる画像データ間の差分データを常に出力している。従って、符号化ロジック回路23では、減算器22から入力されてくる差分データに対して、順次符号の割り当てを行いながら16ビットのデータに詰めてデータ出力を行う。これにより、一連の符号化処理が実施される。そして、符号化ロジック回路23から出力されたデータは、セレクタ26を介してバッファメモリ13に書き込まれる。
【0040】
また、各ラインの符号列について先頭の符号データをバッファメモリ13に記憶する際には、そのアドレス(位置情報)を記憶するよう構成している。つまり、バッファメモリ13には、符号化されたデータを記憶するデータ記憶領域とデータのアドレスを記憶するアドレス記憶領域とが設けられている。そして、先頭の符号データをデータ記憶領域に記憶する際には、それに先立ってアドレスカウンタ24が保持しているアドレス値をアドレス記憶領域に書き込むための処理が行われる。
【0041】
具体的に、符号化ロジック回路23が第1ラインの先頭データR0を符号化しそのデータを書き込む場合、先ず、アドレスカウンタ24に、外部から入力される初期値が設定される。そして、セレクタ25は、制御信号S1に基づいて外部から入力されるアドレス値をバッファメモリ13に出力し、セレクタ26は制御信号S2に基づいてアドレスカウンタ24に設定した初期値のカウント値(アドレス値)をバッファメモリ13に出力する。ここで、外部からセレクタ25に入力されるアドレス値は、バッファメモリ13におけるアドレス記憶領域を示す値である。また、アドレスカウンタ24に設定される初期値は、バッファメモリ13におけるデータ記憶領域の先頭アドレスを示す値である。従って、バッファメモリ13には、外部から入力されたアドレス値により指定されるアドレス記憶領域に、データ記憶領域の先頭アドレス(第1ラインの符号列を記憶するためのアドレス)が記憶される。
【0042】
そのアドレスの記憶後、符号化ロジック回路23で符号化したデータを書き込む場合、セレクタ25は、制御信号S1に基づいてアドレスカウンタ24のカウント値(アドレス値)をバッファメモリ13に出力し、セレクタ26は、制御信号S2に基づいて符号化ロジック回路23の符号データをバッファメモリ13に出力する。従って、バッファメモリ13には、アドレスカウンタ24のアドレス値により指定されるデータ記憶領域に、符号データが記憶される。以降は、符号化ロジック回路23から符号データが順次出力され、そのデータ出力の都度、アドレスカウンタ24のカウント値が「1」ずつインクリメントされる。そして、アドレスカウンタ24のカウント値で指定されるアドレスに符号化ロジック回路23の出力データ(符号データ)が順次記憶されていく。
【0043】
また、ラインの最終データを処理したときに16ビットに満たないデータが残った場合、符号化ロジック回路23では、その残りの部分に「0」又は「1」を詰めてデータを出力する。そして、そのデータの書き込みが行われ、第1ラインの画像データの符号化処理が終了される。
【0044】
その後、第2ライン以降の画像データも同様に符号化処理が実施され、該符号化処理は1フレームのライン数分だけ繰り返し実施される。その結果、1フレームに対応する全ての画像データが符号化されバッファメモリ13に格納される。なお、第2ライン以降においても、ライン先頭の画像データを処理する場合、セレクタ25は、制御信号S1に基づいて外部から入力されるアドレス値をバッファメモリ13に出力し、セレクタ26は、制御信号S2に基づいてアドレスカウンタ24のアドレス値をバッファメモリ13に出力する。これにより、バッファメモリ13のアドレス記憶領域には、各ラインの符号列を格納している先頭アドレスが記憶される。
【0045】
図6は、復号化部14の構成を示すブロック回路図である。
復号化部14は、復号化ロジック回路31、加算器32、シフトレジスタ33、アドレスカウンタ34、及びセレクタ35を備える。
【0046】
復号化部14において、復号化ロジック回路31は、バッファメモリ13から符号データを読み出してデータの復号を行い、その復号により得られた差分データを出力する。加算器32は、復号化ロジック回路31から出力される差分データとシフトレジスタ33の出力データに基づいて、差分をとる前の画像データに組み立て直すための加算を行う。シフトレジスタ33は、加算器32から入力されるデータを初段のレジスタ33aにラッチするとともに後段のレジスタ33bにデータをシフトし、その後段のレジスタ33bのデータを前記加算器32に戻す。
【0047】
アドレスカウンタ34は、バッファメモリ13におけるデータの読み出しアドレスを発生するカウンタである。セレクタ35は、CPU17から入力される制御信号S3に基づいて、アドレスカウンタ34で保持されているアドレス値と、外部から入力されるアドレス値とのいずれか一方を選択的にバッファメモリ13に出力する。
【0048】
上述したように、本実施形態では、バッファメモリ13に、符号データに加えて、各ラインの符号列の先頭アドレスが記憶されている。そして、復号化部14において、先頭アドレスを参照することにより、任意のラインから復号化処理を開始することが可能となっている。
【0049】
具体的に、Lライン目の符号列の先頭から復号化処理を開始する場合、先ず、セレクタ35は、制御信号S3に基づいて外部から入力されるアドレス値をバッファメモリ13に出力する。そして、アドレスカウンタ34は、そのアドレス値に応じてバッファメモリ13から読み出されたデータを取り込む。ここで、外部から入力されるアドレス値は、復号の対象とするLライン目の符号列の先頭アドレスを格納しているアドレスを指定する。つまり、アドレスカウンタ34には、Lライン目の符号列の先頭アドレスが格納される。なお、各ラインに対応した先頭アドレスを格納するためのアドレスは、システムとして予め設定されている。その設定情報は、固定値としてもよいし、CPU17のアクセス可能なメモリ領域上に記憶させる構成としてもよい。
【0050】
ここで、セレクタ35は、制御信号S3に基づいて、アドレスカウンタ34から出力されるアドレス値をバッファメモリ13に出力する。これにより、バッファメモリ13において、Lラインの符号列を格納している先頭アドレスから符号データが読み出される。また、バッファメモリ13からデータを読み出す度に、アドレスカウンタ34が「1」ずつインクリメントされ、そのアドレスカウンタ34のカウント値がセレクタ35を介して、次の読み出し対象のアドレス値としてバッファメモリ13に出力される。その結果、Lライン目の符号データがバッファメモリ13から順次読み出されることとなる。
【0051】
バッファメモリ13から読み出された符号データは、復号化ロジック回路31で復号されて、同一種別の隣接する画素間の差分データが復元される。この差分データは、加算器32において、同一種別の直前の画像データに加算されて元の画像データとして復元される。これにより、撮像素子からの画像データを完全に復元することが可能となり、その復元した画像データが加算器32から後段の補間部15へ順次送出される。
【0052】
ここで、加算器32の出力データは、補間部15へ入力されるとともに、シフトレジスタ33にも入力される。シフトレジスタ33において、そのデータが入力されると、該データを初段のレジスタ33aにラッチするとともに、初段のレジスタ33aに保持していたデータを後段のレジスタ33bにシフトする。シフトレジスタ33は、そのシフト結果として、後段のレジスタ33bのデータを加算器32に戻す。
【0053】
このように構成することで、シフトレジスタ33から加算器32に戻されるデータは、復号化ロジック回路31で復号された差分データを加算すべき直前の画像データになる。また、1ライン分の画像データに関する復号化処理を開始するのに先立って、シフトレジスタ33における各レジスタ33a,33bのデータを「0」にクリアする。こうすることで、各ラインの先頭の画像データを復元するのに必要となる固定値の「0」が自動的にシフトレジスタ33から加算器32に入力されることとなる。
【0054】
このように、画像データ記録装置10を構成すると、バッファメモリ13に書き込んだ符号データを、任意のラインから読み出しで復号することが可能となる。これにより、補間部15においては、バッファメモリ13に取り込んだ全画像データを補間処理の対象とするのではなく、必要に応じてトリミングした画像データを対象として補間処理が実施される。
【0055】
撮像素子から入力される各画像データは、水平方向のみではなく、垂直方向の近隣画素についても強い相関を持つ。従って、ラインの先頭データと固定値との差分をとるのではなく、垂直方向に存在する同一種別の近傍画素、すなわち、2ライン前の画像データと差分をとることで圧縮率をより高めることが可能となる。しかしながら、本実施形態では、その垂直方向の相関を立ち、水平方向のみの相関を利用した符号化を行った上で、各ラインの先頭符号のアドレスを記憶することにより、簡単に任意のラインから復号を開始することを可能としている。
【0056】
また従来、符号化による圧縮、特に、近隣画像の相関を利用した符号化による圧縮をした場合では、トリミングした画像データを補間処理の対象とするときにも、復号化の際には、符号データの先頭から順次復号を行っていかねばならないといった問題があった。そのため、復元した画像データに対して、公知の画像圧縮技術であるJPEG圧縮の矩形処理を行う場合には、冗長処理が発生してしまう。
【0057】
また、JPEG圧縮の場合、リスタートマーカと呼ばれるコードが符号列に一定のインターバルで挿入されており、符号列の中からリスタートマーカのコードをサーチすることで、一定のインターバル単位で画像データを切り出すことが可能である。しかし、リスタートマーカをサーチする処理には相当な時間がかかってしまう。
【0058】
これに対して、本実施形態では、各ラインの先頭符号のアドレスを記憶し、それを参照することで任意のラインから復号が簡単に開始される。よって、JPEG圧縮の矩形処理を行う場合にも、冗長処理が発生することが回避される。
【0059】
以上記述したように、上記実施形態によれば、下記の効果を奏する。
(1)バッファメモリ13に対して非圧縮の大容量のデータを待避する必要がないので、バッファメモリ13を有効活用することができる。これにより、バッファメモリ13の容量を削減することが可能となる。また、バッファメモリの容量を変更しない場合には、デジタルカメラにおける連続処理可能な画像数を増すことができる。つまり、画像データ記録装置10を用いることにより、デジタルカメラのシステムコストと処理能力の向上を図ることができる。
【0060】
(2)任意のラインの先頭から復号化処理を行うことが可能であるため、画像をトリミングする場合の復号化処理を迅速に行うことができる。また、JPEG圧縮の矩形処理を行う場合にも、第1ラインから符号化を行う必要がなくなることから、従来技術のように冗長処理が発生することを回避できる。
【0061】
(第2実施形態)
上記第1実施形態において、復号化部14で復号された画像データは後段の補間部15に送られて補間処理が行われる。補間部15にはラインメモリ(図示略)が設けられており、そのラインメモリを用いて補間処理が行われる。このラインメモリを必要とする理由は、所定の画素に着目して補間処理をする際に、その着目した画素の上下のラインにある画素の色情報を使用するからである。
【0062】
具体的には、図4に示すベイヤー配列の場合、第1ライン、第3ライン等の奇数ラインでは、赤色のデータRと緑色のデータGrは存在するが、青色のデータBは存在しない。また、第2ライン、第4ライン等の偶数ラインでは、緑色のデータGbと青色のデータBは存在するが赤色のデータRは存在しない。そして、補間処理では、全ての画素について、赤・緑・青のデータのうち欠落した情報を補って赤・緑・青の色情報の揃ったデータ化が行われる。それ故、単一ラインの画像データだけでは、各色情報を補間処理で補うことができない。
【0063】
従って、最も原始的な補間方法、例えば、欠落した情報を近傍画素の情報により埋める最近傍法を用いる場合においても、少なくとも1ライン分の画像データを記憶させ、2ラインの画像データを一度に参照する必要がある。この最近傍法を採用する場合であれば、1ライン分のデータ記憶で済むが、より高精度な補間を実現するためには参照範囲を広げる必要があり、高画質なデジタルカメラなどにおいては、10数ラインもの情報を用いて補間処理が行われている。そのため、補間部15を構成する回路としてラインメモリを大量に搭載する必要が生じ、回路規模を増大させる原因になっている。
【0064】
そこで、図7に示すように、ラインメモリのサイズを、全画像の水平サイズ(水平ライン上にある全画素数のデータを記憶するためのサイズ)S10よりも小さなサイズS20とすることで、回路規模の増大を抑制している。そして、全画像を処理する際には、ラインメモリのサイズS20で横幅が設定される短冊状の領域(Block1〜BlockX)に分割して補間処理を行う。具体的な処理の順番としては、図7におけるBlock1のLine1〜LineY,Block2のLine1〜LineY,…,BlockXのLine1〜LineYとなる。従って、この順番で補間部15にデータを供給する必要がある。
【0065】
図8に示す本実施形態の復号化部41は、上述した順序で補間部15にデータを供給可能に構成されている。なお、図8において、第1実施形態の復号化部14と同等の構成については同一の記号を付している。
【0066】
本実施形態の復号化部41は、復号化ロジック回路31、加算器32、シフトレジスタ33,43、アドレスカウンタ34、セレクタ35,44、データカウンタ42、レジスタ45、及びデクリメンタ46を備える。すなわち、復号化部41は、第1実施形態の復号化部14との相違点として、データカウンタ42、シフトレジスタ43、セレクタ44、レジスタ45、デクリメンタ46が追加されている。以下、第1実施形態との相違点を中心に説明する。
【0067】
データカウンタ42は、各領域(Block1〜BlockX)の幅情報を記憶しており、読み出しデータをカウントしたカウント値とブロックの幅情報とに基づいて許可信号をシフトレジスタ43に出力する。具体的には、図7に示す各領域の右端にあるデータRとデータGとを復号する際に、データカウンタ42は許可信号をシフトレジスタ43に出力する。このとき、シフトレジスタ43は、その許可信号に応答して動作し、加算器32から出力されるデータRとデータGとを順次ラッチすることで、各データR,Gを初段のレジスタ43aと後段のレジスタ43bとに記憶する。
【0068】
復号化ロジック回路31は、読み出しデータである16ビットの符号データを復号する際に、その16ビットのうちで復号されずに残っているビット数を表す4ビットの履歴情報を記憶しており、その履歴情報を使用してデータの復号を行っている。ここで、4ビットの履歴情報が0000であった場合には、取り込んだ16ビットの符号データのうち、復号されずに残っているビットがないことを意味し、履歴情報が0001〜1111である場合、その数値が復号されずに残っているビット数を示す。
【0069】
そして、復号化ロジック回路31は、各ブロックの右端にあるデータRとデータGとを復号したとき、4ビットの履歴情報をレジスタ45に送出してその情報をレジスタ45に記憶させる。またこのとき、アドレスカウンタ34は、アドレス値をレジスタ45に送出してそのアドレス値をレジスタ45に記憶させる。デクリメンタ46は、レジスタ45に記憶されたアドレス値を取り込み、アドレス値から「1」を減算し、その減算したアドレス値を出力する。
【0070】
セレクタ35は、CPU17から入力される制御信号S4に基づいて、アドレスカウンタ34からのアドレス値と、レジスタ45からのアドレス値と、デクリメンタ46からのアドレス値と、外部から入力されるアドレス値とのいずれか1つを選択的にバッファメモリ13に出力する。また、セレクタ44は、CPU17から入力される制御信号S5に基づいて、シフトレジスタ33からのデータとシフトレジスタ43からのデータとのいずれか一方を選択的に加算器32に出力する。
【0071】
このように構成した復号化部41において、Block1の復号化処理を終えた後、Block2のLine1から復号を再開する場合、レジスタ45の記憶情報から先頭の符号アドレスを特定して符号データを読み出す。ここで、レジスタ45の記憶情報は、既に復号が終了したBlock1の画素(右端にある画素)の右隣の画素に対する符号位置を示している。例えば、レジスタ45において、復号化ロジック回路31から記憶した4ビットの履歴情報が0000を示していた場合、アドレスカウンタ34から記憶したアドレス値が次の画素に対する符号アドレスになる。従って、セレクタ35は、制御信号S4に基づいて、レジスタ45から出力されるアドレス値をバッファメモリ13に出力する。これにより、そのアドレス値に対応する有効な符号データをバッファメモリ13から読み出す。
【0072】
また、レジスタ45に記憶されている4ビットの履歴情報が0000でない場合には、既に、次の画素に対する符号データが一部取り込まれていることを意味する。従って、セレクタ35は、制御信号S4に基づいて、デクリメンタ46から出力されるアドレス値をバッファメモリ13に出力する。これにより、そのアドレス値に対応する有効な符号データをバッファメモリ13から読み出す。
【0073】
ここで、Block2の符号データはライン途中にある符号データであるが、既に復号化処理を行ったBlock1に続く領域のデータであるので、レジスタ45の記憶情報に基づいて、Block2の画素に対する符号データの位置(アドレス)を特定することができる。つまり、復号化ロジック回路31は、レジスタ45から取得した4ビットの履歴情報を使用することで、Block2の先頭の符号データから復号を再開する。
【0074】
そして、その符号データの復号を再開する際には、Block2における先頭の2画素について、シフトレジスタ43に記憶したデータを用いる。具体的には、シフトレジスタ43は、データカウンタ42から出力される許可信号に応答して動作し、加算器32からデータが出力されると、各レジスタ43a,43bに記憶している各データ(Block1の右端にあるデータRとデータG)を順次出力する。このとき、セレクタ44は、制御信号S5に基づいてシフトレジスタ43からのデータを加算器32に出力する。加算器32は、そのデータを復号化ロジック回路31から出力される差分データに加算し、その加算結果により元の画像データに復元する。そして、加算器32はその画像データを補間部15及びシフトレジスタ33,43に出力する。
【0075】
また、Block3以降の復号化処理についても同様に既に復号を終えた領域に続く場合であれば、ライン途中からでも復号の再開が可能である。
本実施形態において、データカウンタ42が指示手段に相当し、シフトレジスタ43が第1記憶手段に相当する。また、復号化ロジック回路31とアドレスカウンタ34が監視手段に相当し、レジスタ45が第2記憶手段に相当する。
【0076】
なお、復号化部41において、シフトレジスタ43及びレジスタ45は、複数ライン数分用意されているが便宜上、図示を省略している。例えば、補間後のデータに対して、直接JPEGのような矩形処理を行う場合には、8×8画素のブロック単位で処理が行われる。この場合には、シフトレジスタ43及びレジスタ45を8ライン分設け、補間回路の処理方式を加味して、JPEG処理に必要な8ラインを常に出力するに足るライン数(8ライン+補間の参照ライン数−1)の記録を残すように構成する。
【0077】
以上記述したように、上記実施形態によれば、下記の効果を奏する。
(1)バッファメモリ13に対して非圧縮の大容量のデータを待避する必要がない。さらに、シフトレジスタ43及びレジスタ45が複数用意されることにより、バッファメモリ13の格納データを使用したJPEG等の矩形処理の実現についても解決することができる。
【0078】
上記実施の形態は、次に示すように変更することもできる。
・上記実施形態において、全てのラインにおける先頭符号のアドレスを記憶して、任意のラインから符号化処理を開始できる構成としたが、これに限定されるものではない。システムとしてトリミングを行うためのラインが予め設定されるものでは、トリミングに必要なラインの先頭符号のアドレスのみを記憶する構成としてもよい。またこの場合、先頭符号のアドレスを記憶する必要がない各ラインにおける先頭データの符号化に際しては、固定値との差分をとるのではなく、2ライン前の画素のデータとの差分を取る処理(垂直方向の相関を利用した符号化処理)を行うようにしてもよい。
【0079】
・上記実施形態では、各ラインの符号列の先頭アドレスと符号データとをバッファメモリ13に記憶する構成としたが、符号データを記憶するバッファメモリ13とは別の記憶手段(例えば、レジスタ16)に先頭アドレスを記憶する構成としてもよい。
【0080】
・符号化部12における符号化処理は、画像データの差分を算出して符号化するものであったが、それ以外に、FFT(フーリエ変換)やDCT(離散コサイン変換)等を用いて符号化するものでもよい。要は、隣接する撮像素子間のデータの相関を利用して符号化処理を行うものであればよい。
【0081】
・全画素読み出し方式のスキャン(プログレッシブ・スキャン)を行う撮像素子に具体化したが、インタレース方式のスキャンを行う撮像素子に具体化してもよい。また、撮像素子としては、CCDセンサ以外に、CMOSセンサを用いてもよい。
【0082】
・画像データ記録装置10は、バッファメモリ13に格納した符号データを外部の記録媒体18に記憶する構成であるが、補間部15にて補間処理が施された補間後のデータを記録媒体18に記録する構成としてもよい。
【0083】
・上記実施形態では、外部の記録媒体18に画像データを記録する画像データ記録装置10に具体化するものであったが、これ以外に、記録機能を省略してモニタに表示するための補間処理を行う画像データ処理装置に具体化してもよい。
【0084】
以上の様々な実施の形態をまとめると、以下のようになる。
(付記1)撮像素子からの画像データを入力する画像入力手段と、画像データを一旦格納する記憶手段と、前記記憶手段に格納した画像データに基づいて補間処理を行う補間手段とを備えた画像データ処理装置であって、
前記画像入力手段から送出される画像データについて、隣接する前記撮像素子間のデータの相関を利用して符号化処理を行い、符号化したデータを前記記憶手段に格納する符号化手段と、
前記記憶手段からデータを取り込んで該データの復号化処理を行い、復号化したデータを前記補間手段に入力する復号化手段と
を備えたことを特徴とする画像データ処理装置。
(付記2)前記符号化手段は、前記撮像素子間の画像データの差分を求め、該差分を符号化することでデータ圧縮し、
前記復号化手段は、前記記憶手段から取り込んだ符号データを前記差分に復号し、その差分を用いて元の画像データに復元することを特徴とする付記1に記載の画像データ処理装置。
(付記3)前記画像入力手段は、前記画像データから画質制御に必要な色情報を抽出し、該抽出した色情報を含む画像データを前記符号化手段に送出することを特徴とする付記1に記載の画像データ処理装置。
(付記4)前記補間手段は、前記画像入力手段が抽出した色情報について、所定画素の色情報以外の色情報を、該所定画素の周辺画素の色情報から推定して演算する補間処理を行うことを特徴とする付記3に記載の画像データ処理装置。
(付記5)前記記憶手段に格納したデータ又は前記補間手段にて補間処理が施された補間後のデータを記憶する記録媒体を備えることを特徴とする付記1に記載の画像データ処理装置。
(付記6)撮像素子からの画像データが前記画像入力手段を介して順次入力され、前記符号化手段は、水平方向の相関のみを使用してライン毎に独立して画像データの符号化を行うものであり、
前記水平ラインの先頭の符号データについて、その符号データの書き込み位置情報を記憶する書き込み位置保持手段を備えたことを特徴とする付記1に記載の画像データ処理装置。
(付記7)前記符号化手段は、前記撮像素子間の画像データの差分を求め、該差分を符号化することでデータ圧縮するものであり、各ラインにおける先頭の画像データの差分を求める際には、その差分を求める初期値として固定値を用いることを特徴とする付記6に記載の画像データ処理装置。
(付記8)前記書き込み位置情報を読み出し、その位置情報を参照することにより、該記憶手段に格納されている符号列からラインの先頭の符号データを特定する読み出し位置保持手段を備えたことを特徴とする付記6に記載の画像データ処理装置。
(付記9)前記復号化手段により復号されたデータを画素の種別毎に記憶するための第1記憶手段と、
前記第1記憶手段に対して記憶すべきデータを指示する指示手段と、
前記復号化手段に入力される符号データの位置情報を監視する監視手段と、
前記第1記憶手段に記憶したデータに対応する符号データの位置情報を記憶するための第2記憶手段と
を備えたことを特徴とする付記1〜8のいずれかに記載の画像データ処理装置。
(付記10)前記第1及び第2記憶手段を複数備え、各記憶手段に複数ライン分の前記データ及び位置情報を記憶するようにしたことを特徴とする付記9に記載の画像データ処理装置。
(付記11)前記第1記憶手段に記憶したデータと、前記第2記憶手段に記憶した位置情報とに基づいて、ライン途中から復号化処理を再開することを特徴とする付記9又は10に記載の画像データ処理装置。
【0085】
【発明の効果】
以上詳述したように、本発明によれば、画像データ処理装置において、メモリを有効的に使用することにより、処理能力を向上することができる。
【図面の簡単な説明】
【図1】 本発明の原理説明図である。
【図2】 復号化手段を示すブロック回路図である。
【図3】 第1実施形態の画像データ記録装置のブロック回路図である。
【図4】 原色ベイヤー配列のパターンを示す説明図である。
【図5】 符号化部を示すブロック回路図である。
【図6】 復号化部を示すブロック回路図である。
【図7】 補間部での処理単位を示す説明図である。
【図8】 第2実施形態の復号化部を示すブロック回路図である。
【符号の説明】
10 画像データ処理装置としての画像データ記録装置
11 画像入力手段としての画像データ入力部
12 符号化手段としての符号化部
13 記憶手段としてのバッファメモリ
14 復号化手段としての復号化部
15 補間手段としての補間部
24 書き込み位置保持手段としてのアドレスカウンタ
31 監視手段を構成する復号化ロジック回路
34 読み出し位置保持手段としてのアドレスカウンタ
42 指示手段としてのデータカウンタ
43 第1記憶手段としてのシフトレジスタ
45 第2記憶手段としてのレジスタ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image data processing apparatus that processes image data captured from an image sensor such as a CCD or CMOS sensor.
[0002]
In recent years, the number of recording pixels of a digital camera has been steadily increasing, and the processing load tends to become heavier accordingly. For this reason, data processing systems in digital cameras often have a buffer memory for the purpose of increasing the continuous shooting speed. In this system, it is desired to use the buffer memory as effectively as possible in order to increase the processing capacity as much as possible, and the technology to avoid the exclusive use of the buffer by the intermediate data generated during the data processing becomes an important issue. ing.
[0003]
[Prior art]
In a digital camera, for example, when recording data of a monolithic image sensor arranged in a primary color Bayer array, raw data input from the image sensor is temporarily stored in a buffer memory, and then the data is read from the memory. Interpolation processing for versioning and JPEG compression for file compression are performed. In this case, ideally, if the input data from the image sensor is converted into JPEG data that is data to be recorded without using the buffer memory, and the conversion result can be stored in the buffer memory, the buffer memory is It is possible to make the most effective use. However, the data input from the image sensor is input in a fixed order, and the order is not necessarily a convenient order in a post-processing circuit (such as an interpolation circuit). As an example, when an image sensor that performs interlaced scanning is used, data is input in units of fields, but an interpolation circuit that interpolates the data performs processing in units of frames instead of units of fields. It is necessary to temporarily save the field data in the buffer memory. In addition, the interpolation circuit requires a large line memory and takes a form in which interpolation processing is performed by dividing into rectangles due to restrictions on the circuit amount. For this reason, even when an image sensor that can be read in frame units (specifically, an image sensor that performs progressive scanning) is used, it is necessary to save data in the buffer memory. Furthermore, in the JPEG compression process, it is determined that the compression process is performed in a rectangle (block unit) of 8 × 8 pixels. Therefore, the order of data input from the image sensor can hardly match the process. Absent.
[0004]
On the other hand, some high-quality digital cameras do not perform interpolation processing inside the camera, but instead record raw data and later perform interpolation processing by software. This recording method is called RAW recording. . In the case of RAW recording, a technique for reducing the file size by appropriately encoding the raw data before interpolation is often used. Moreover, this encoding generally encodes a difference using the fact that the correlation between adjacent data is strong. In this case, a process of re-encoding the uncompressed raw data once saved in the buffer memory is performed. This is because even a digital camera that performs RAW recording needs to check a recorded image or create a thumbnail using an attached monitor. That is, interpolation processing must be performed for data creation for image confirmation and thumbnail creation, and frame data that can be processed by the interpolation circuit needs to be once expanded on the buffer memory. In addition, if data compression is performed by simply irreversible nonlinear compression (for example, compression by γ correction) without using correlation between data, data expansion in the buffer memory is unnecessary. The problem is that the tone is lost and the image quality deteriorates.
[0005]
Incidentally,
[0006]
[Patent Document 1]
JP 2001-45427 A
[Patent Document 2]
JP 2000-354193 A
[0007]
[Problems to be solved by the invention]
As described above, in the conventional image data processing apparatus, since it is necessary to save a large amount of raw data (uncompressed data) input from the image sensor in the buffer memory, interpolation processing or the like using the buffer memory effectively Could not do.
[0008]
In the above-mentioned
[0009]
The present invention has been made to solve the above-described problems, and an object of the present invention is to provide an image data processing apparatus capable of effectively using a memory for storing image data and improving processing capability. It is to provide.
[0010]
[Means for Solving the Problems]
FIG. 1 is an explanatory diagram of the principle of the present invention. That is, the image
[0011]
In addition, image data from the image sensor is sequentially input to the
[0012]
Further, the position information (address) stored in the
[0013]
With this configuration, it is possible to perform a decoding process from the beginning of an arbitrary line. As a result, when the image is trimmed and displayed instead of the entire image, the decoding process is quickly performed.
[0014]
As shown in FIG. 2, the
[0015]
Further, by providing a plurality of first and second storage means 43 and 45, data and position information for a plurality of lines are stored in the storage means 43 and 44, respectively. Thereby, rectangular processing such as JPEG can be realized.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
(First embodiment)
A first embodiment of the present invention will be described below with reference to the drawings.
[0017]
FIG. 3 is a block circuit diagram showing the image
[0018]
The image
[0019]
Image data from an image sensor (not shown) is input to the image
[0020]
Based on the image data from the image sensor, the image
[0021]
When receiving the image data, the
[0022]
First, the first line of data R0, Gr0, R1, Gr1,... Is input to the
[0023]
Here, the
The
[0024]
Then, when the encoding of the data relating to the first line is completed, the image data Gb0, B0, Gb1, B1,... Of the next second line are sequentially input, so that the
[0025]
Then, when the image data for one frame has been taken into the
[0026]
Further, the image
[0027]
In this case, the data stored in the
[0028]
The decoding process performed by the
[0029]
Further, the
[0030]
FIG. 5 is a block circuit diagram showing a specific configuration of the
The
[0031]
In the
[0032]
The
[0033]
Difference data that is a calculation result of the
[0034]
The
[0035]
Based on the control signal S1 input from the
[0036]
The
[0037]
In the
[0038]
The
[0039]
In the
[0040]
Further, when the head code data of the code string of each line is stored in the
[0041]
Specifically, when the
[0042]
When the data encoded by the
[0043]
Further, when data less than 16 bits remains when the final data of the line is processed, the
[0044]
Thereafter, the image data for the second and subsequent lines is similarly encoded, and the encoding process is repeated for the number of lines in one frame. As a result, all image data corresponding to one frame is encoded and stored in the
[0045]
FIG. 6 is a block circuit diagram showing a configuration of the
The
[0046]
In the
[0047]
The
[0048]
As described above, in the present embodiment, the
[0049]
Specifically, when the decoding process is started from the head of the L-th line code string, first, the
[0050]
Here, the
[0051]
Code data read out from the
[0052]
Here, the output data of the
[0053]
With this configuration, the data returned from the
[0054]
As described above, when the image
[0055]
Each image data input from the image sensor has a strong correlation not only in the horizontal direction but also in neighboring pixels in the vertical direction. Therefore, rather than taking the difference between the head data of the line and the fixed value, the compression rate can be further increased by taking the difference from the neighboring pixels of the same type that exist in the vertical direction, that is, the image data two lines before. It becomes possible. However, in the present embodiment, the correlation in the vertical direction is established, the encoding using only the correlation in the horizontal direction is performed, and the address of the head code of each line is stored, so that an arbitrary line can be easily obtained. It is possible to start decoding.
[0056]
Conventionally, in the case of compression by encoding, particularly compression by encoding using the correlation of neighboring images, the code data is also used for decoding even when the trimmed image data is to be subjected to interpolation processing. There has been a problem that decoding must be performed sequentially from the top of the. For this reason, when JPEG compression rectangular processing, which is a known image compression technique, is performed on the restored image data, redundant processing occurs.
[0057]
In the case of JPEG compression, a code called a restart marker is inserted into the code string at a certain interval, and by searching for the code of the restart marker from the code string, image data is obtained in a certain interval unit. It is possible to cut out. However, it takes a considerable time to search for the restart marker.
[0058]
In contrast, in the present embodiment, the address of the head code of each line is stored, and decoding is easily started from any line by referring to the address. Therefore, it is possible to avoid redundant processing even when JPEG compression rectangle processing is performed.
[0059]
As described above, according to the above embodiment, the following effects can be obtained.
(1) Since it is not necessary to save a large amount of uncompressed data with respect to the
[0060]
(2) Since the decoding process can be performed from the head of an arbitrary line, the decoding process when an image is trimmed can be quickly performed. Also, when JPEG compression rectangular processing is performed, it is not necessary to perform encoding from the first line, so that it is possible to avoid occurrence of redundant processing as in the prior art.
[0061]
(Second Embodiment)
In the first embodiment, the image data decoded by the
[0062]
Specifically, in the case of the Bayer array shown in FIG. 4, red data R and green data Gr exist, but blue data B does not exist in odd lines such as the first line and the third line. In the even lines such as the second line and the fourth line, the green data Gb and the blue data B exist, but the red data R does not exist. In the interpolation process, all the pixels are converted into data in which red, green, and blue color information is aligned by compensating for missing information in the red, green, and blue data. Therefore, each color information cannot be supplemented by interpolation processing with only a single line of image data.
[0063]
Therefore, even when using the most primitive interpolation method, for example, the nearest neighbor method in which missing information is filled with neighboring pixel information, at least one line of image data is stored and two lines of image data are referenced at once. There is a need to. If this nearest neighbor method is used, data for one line can be stored, but in order to realize more accurate interpolation, it is necessary to widen the reference range. Interpolation processing is performed using as many as ten lines of information. Therefore, it is necessary to mount a large amount of line memory as a circuit constituting the
[0064]
Therefore, as shown in FIG. 7, the size of the line memory is set to a size S20 smaller than the horizontal size of all images (size for storing data of the total number of pixels on the horizontal line) S10. The increase in scale is suppressed. When all the images are processed, interpolation processing is performed by dividing into strip-shaped areas (
[0065]
The
[0066]
The
[0067]
The data counter 42 stores the width information of each area (
[0068]
When the
[0069]
When decoding the data R and data G at the right end of each block, the
[0070]
Based on the control signal S4 input from the
[0071]
In the
[0072]
If the 4-bit history information stored in the
[0073]
Here, although the code data of
[0074]
When the decoding of the code data is resumed, the data stored in the
[0075]
Similarly, the decoding process after Block 3 can be resumed from the middle of the line as long as it continues to the area where the decoding has already been completed.
In the present embodiment, the data counter 42 corresponds to an instruction unit, and the
[0076]
In the
[0077]
As described above, according to the above embodiment, the following effects can be obtained.
(1) It is not necessary to save a large amount of uncompressed data in the
[0078]
The above embodiment can be modified as follows.
In the above embodiment, the address of the head code in all lines is stored, and the encoding process can be started from any line. However, the present invention is not limited to this. If the line for trimming is preset as the system, only the address of the head code of the line necessary for trimming may be stored. Also, in this case, when encoding the head data in each line that does not need to store the address of the head code, a process of taking a difference from the pixel data of the previous two lines instead of taking a difference from a fixed value ( (Encoding processing using vertical correlation) may be performed.
[0079]
In the above embodiment, the head address and code data of the code string of each line are stored in the
[0080]
The encoding process in the
[0081]
Although the present invention is embodied in an image sensor that performs all pixel readout scanning (progressive scan), it may be embodied in an image sensor that performs interlaced scanning. In addition to the CCD sensor, a CMOS sensor may be used as the image sensor.
[0082]
The image
[0083]
In the above-described embodiment, the image
[0084]
The various embodiments described above can be summarized as follows.
(Additional remark 1) Image provided with the image input means which inputs the image data from an image pick-up element, the memory | storage means which stores image data once, and the interpolation means which performs an interpolation process based on the image data stored in the said memory | storage means A data processing device,
Encoding means for performing encoding processing on the image data sent from the image input means using the correlation of data between the adjacent image sensors, and storing the encoded data in the storage means;
Decoding means for fetching data from the storage means, decoding the data, and inputting the decoded data to the interpolation means;
An image data processing apparatus comprising:
(Additional remark 2) The said encoding means calculates | requires the difference of the image data between the said image sensors, and compresses data by encoding this difference,
The image data processing apparatus according to
(Additional remark 3) The said image input means extracts the color information required for image quality control from the said image data, and sends the image data containing the extracted color information to the said encoding means. The image data processing apparatus described.
(Additional remark 4) The said interpolation means performs the interpolation process which estimates and calculates color information other than the color information of a predetermined pixel from the color information of the surrounding pixel of this predetermined pixel about the color information extracted by the said image input means The image data processing device according to attachment 3, wherein the image data processing device is described above.
(Additional remark 5) The image data processing apparatus of
(Appendix 6) Image data from the image sensor is sequentially input via the image input means, and the encoding means encodes image data independently for each line using only horizontal correlation. Is,
The image data processing apparatus according to
(Additional remark 7) The said encoding means calculates | requires the difference of the image data between the said image sensors, and compresses data by encoding this difference, and when calculating | requiring the difference of the head image data in each line The image data processing apparatus according to appendix 6, wherein a fixed value is used as an initial value for obtaining the difference.
(Additional remark 8) It has the reading position holding means which specifies the code data at the head of the line from the code string stored in the storage means by reading the writing position information and referring to the position information The image data processing device according to appendix 6.
(Supplementary Note 9) First storage means for storing data decoded by the decoding means for each pixel type;
Instruction means for instructing data to be stored in the first storage means;
Monitoring means for monitoring position information of code data input to the decoding means;
Second storage means for storing position information of code data corresponding to the data stored in the first storage means;
The image data processing device according to any one of
(Supplementary note 10) The image data processing apparatus according to supplementary note 9, wherein a plurality of the first and second storage units are provided, and the data and position information for a plurality of lines are stored in each storage unit.
(Supplementary note 11) The
[0085]
【The invention's effect】
As described above in detail, according to the present invention, it is possible to improve the processing capability by effectively using the memory in the image data processing apparatus.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating the principle of the present invention.
FIG. 2 is a block circuit diagram showing decoding means.
FIG. 3 is a block circuit diagram of the image data recording apparatus of the first embodiment.
FIG. 4 is an explanatory diagram showing a primary color Bayer array pattern.
FIG. 5 is a block circuit diagram showing an encoding unit.
FIG. 6 is a block circuit diagram showing a decoding unit.
FIG. 7 is an explanatory diagram showing a processing unit in an interpolation unit.
FIG. 8 is a block circuit diagram showing a decoding unit of a second embodiment.
[Explanation of symbols]
10. Image data recording device as image data processing device
11 Image data input unit as image input means
12 Encoding unit as encoding means
13 Buffer memory as storage means
14 Decoding unit as decoding means
15 Interpolation section as interpolation means
24 Address counter as writing position holding means
31 Decoding logic circuit constituting monitoring means
34 Address counter as reading position holding means
42 Data counter as instruction means
43 Shift register as first storage means
45 Register as second storage means
Claims (4)
前記画像入力手段から送出される画像データについて、隣接する前記撮像素子間のデータの相関を利用して符号化処理を行い、符号化したデータを前記記憶手段に格納する符号化手段と、
前記記憶手段からデータを取り込んで該データの復号化処理を行い、復号化したデータを前記補間手段に入力する復号化手段と、
前記復号化手段により復号されたデータを画素の種別毎に記憶するための第1記憶手段と、
前記第1記憶手段に対して記憶すべきデータを指示する指示手段と、
前記復号化手段に入力される符号データの位置情報を監視する監視手段と、
前記第1記憶手段に記憶したデータに対応する符号データの位置情報を記憶するための第2記憶手段と
を備えたことを特徴とする画像データ処理装置。An image data processing apparatus comprising image input means for inputting image data from an image sensor, storage means for temporarily storing image data, and interpolation means for performing interpolation processing based on the image data stored in the storage means. There,
Encoding means for performing encoding processing on the image data sent from the image input means using the correlation of data between the adjacent image sensors, and storing the encoded data in the storage means;
Decoding means for fetching data from the storage means, performing decoding processing on the data, and inputting the decoded data to the interpolation means ;
First storage means for storing data decoded by the decoding means for each pixel type;
Instruction means for instructing data to be stored in the first storage means;
Monitoring means for monitoring position information of code data input to the decoding means;
An image data processing apparatus comprising: second storage means for storing position information of code data corresponding to data stored in the first storage means .
水平ラインの先頭の符号データについて、その符号データの書き込み位置情報を記憶する書き込み位置保持手段を備えたことを特徴とする請求項1に記載の画像データ処理装置。Image data from the image sensor is sequentially input via the image input means, and the encoding means encodes image data independently for each line using only horizontal correlation,
The head of the code data of horizontal lines, the image data processing apparatus according to claim 1, further comprising a writing position holding means for storing the writing position information of the code data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003089750A JP4124686B2 (en) | 2003-03-28 | 2003-03-28 | Image data processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003089750A JP4124686B2 (en) | 2003-03-28 | 2003-03-28 | Image data processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004297653A JP2004297653A (en) | 2004-10-21 |
JP4124686B2 true JP4124686B2 (en) | 2008-07-23 |
Family
ID=33403530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003089750A Expired - Lifetime JP4124686B2 (en) | 2003-03-28 | 2003-03-28 | Image data processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4124686B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5203692B2 (en) | 2007-12-26 | 2013-06-05 | 三星電子株式会社 | Imaging method, imaging apparatus, and program |
-
2003
- 2003-03-28 JP JP2003089750A patent/JP4124686B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2004297653A (en) | 2004-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101226877B1 (en) | Encoding device, encoding method, encoding program, and imaging device | |
US8134612B2 (en) | Digital camera for recording a still image while shooting a moving image | |
JP4130207B2 (en) | Image processing display device and image processing display method | |
JP5520122B2 (en) | Data converter | |
JP5092536B2 (en) | Image processing apparatus and program thereof | |
US7443428B2 (en) | Image processing device | |
KR20090064272A (en) | Recording apparatus, reproduciton apparatus, recording method, reproduction method and storing medium having computer program to perform the same | |
JP5393331B2 (en) | Imaging device | |
JP4124686B2 (en) | Image data processing device | |
KR20090066192A (en) | Apparatus for writing, method of writing, apparatus for playing, method of playing, and computer readable medium for recording program | |
JP4333270B2 (en) | Image processing apparatus, image processing system, imaging apparatus, and image processing method | |
JP2011029809A (en) | Image processing device, image processing method, and image capturing device | |
US7787700B2 (en) | Signal processing method, signal processing apparatus, computer-readable medium and a data recording medium | |
US5751886A (en) | Video image processing apparatus | |
JP2000244744A (en) | Image data compression method and image data management method | |
JP7020782B2 (en) | Reproduction device and its control method | |
US8031245B2 (en) | Imaging apparatus and methods, and storing medium having computer program to perform the methods | |
JP4720494B2 (en) | Imaging apparatus, imaging method and program, and recording medium | |
JP2004282305A (en) | Image processing system | |
KR19990006992A (en) | Placement method of image number | |
JP3027023B2 (en) | Digital electronic still camera, operation method thereof, and digital image reproducing apparatus and method | |
JPH04211575A (en) | Orthogonal convertion operation device | |
WO2009150795A1 (en) | Image reproduction device | |
JP3647102B2 (en) | Imaging device | |
JP2009038782A (en) | Image processor, image processing method, program for image processing method, and recording medium recording program for image processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060308 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080411 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080430 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080502 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4124686 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140516 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |