画像データ処理装置および画像データ処理方法
【課題】撮像素子で撮像された複数の画像の連続的な処理を円滑化する。
【解決手段】変換部12は、撮像素子11で撮像された画像それぞれについて、第1の画像形式の第1の画像データと第2の画像形式の第2の画像データとを生成し、第1の画像データと第2の画像データとを時分割で出力する。演算部13は、変換部12が時分割で出力した第1および第2の画像データを取得し、第1の画像データを用いて表示装置14に撮像された画像を表示する処理を行い、第2の画像データを用いて記憶装置15に撮像された画像を記録する処理を行う。
【解決手段】変換部12は、撮像素子11で撮像された画像それぞれについて、第1の画像形式の第1の画像データと第2の画像形式の第2の画像データとを生成し、第1の画像データと第2の画像データとを時分割で出力する。演算部13は、変換部12が時分割で出力した第1および第2の画像データを取得し、第1の画像データを用いて表示装置14に撮像された画像を表示する処理を行い、第2の画像データを用いて記憶装置15に撮像された画像を記録する処理を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像素子で撮像された画像のデータを処理する画像データ処理装置および画像データ処理方法に関する。
【背景技術】
【0002】
現在、デジタルカメラやカメラ機能を備えた携帯電話機など、撮像素子で撮像された画像のデジタルデータを扱う電子機器が広く利用されている。このような電子機器は、撮像された画像を、LCD(Liquid Crystal Display)などの表示装置に表示すると共に、フラッシュメモリなどの記憶装置に記録することが多い。また、複数の画像を短い時間間隔で連続的に撮像できる機能(いわゆる、連写機能)を備えた電子機器もある。
【0003】
なお、記憶装置にJPEG(Joint Photographic Experts Group)形式で画像を記録するため、撮像素子から得られる画像データからYUVデータを生成してバッファメモリに格納し、バッファメモリに格納されたYUVデータからJPEGデータを生成する装置が提案されている(例えば、特許文献1参照)。また、YUVデータの画像とRGBデータの画像を同時に表示するため、第1のメモリに格納されたYUVデータをRGBデータに変換して読み出すと同時に、第2のメモリに格納されたRGBデータを読み出し、両者をミキシングするディスプレイ駆動装置が提案されている(例えば、特許文献2参照)。
【0004】
また、複数チャンネルの画像を同時に記録・転送するために、各チャンネルの圧縮画像データに識別フラグを付加し、識別フラグに基づいて複数チャンネルの圧縮画像データを多重化する装置が提案されている(例えば、特許文献3参照)。また、撮像の際の画面のちらつきを抑制するため、シャッターボタンが押下される直前の画像と押下された後の画像との間に、押下直前の画像を加工して作成した画像を表示装置に表示する携帯情報端末が提案されている(例えば、特許文献4参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−88806号公報
【特許文献2】特開2002−185978号公報
【特許文献3】特開平6−125540号公報
【特許文献4】特開2005−204210号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、撮像された画像を表示装置に表示すると共に記憶装置に記録するとき、表示用の画像データの画像形式と記録用の画像データの画像形式とが異なることがある。例えば、表示用にYUVデータを使用し、記録用にJPEGデータを使用する場合が考えられる。しかし、その場合、表示処理と記録処理とを行う演算装置の負荷が高くなりやすい。例えば、DSP(Digital Signal Processor)が撮像素子から取得した画像データをYUVデータに変換し、演算装置がYUVデータを用いて表示処理を行うと共にYUVデータをエンコードして記録用のJPEGデータを生成する場合、エンコードの負荷が大きい。
【0007】
例えば、連写時など、撮像素子で撮像された複数の画像に対して連続的に表示処理および記録処理を行う場合に、演算装置の負荷が大きな問題となる。すなわち、演算装置の負荷がボトルネックとなり、一度に連続的に処理できる画像の枚数が少なくなる、画像が表示および記録される時間間隔が長くなる(レートが下がる)、などの問題が生じ得る。これにより、例えば、連写可能時間が短くなる、連写時の撮像レートが小さくなるなど、電子機器の連写機能が制限されてしまう可能性がある。例えば、演算装置がエンコード処理を完了させる前に次の画像データが投入された場合、エンコード処理が完了するまで投入された画像データはエンコード処理待ちとして滞留する。また、演算装置が記憶装置への記録処理を完了させる前に次の画像データに対するエンコード処理が完了した場合、記録処理が完了するまで次の画像データは記録処理待ちとして滞留する。各種処理待ちの画像データが増加するにつれ滞留中の画像を保持する記憶領域が枯渇し、その結果、連写機能が制限される。
【0008】
本発明はこのような点に鑑みてなされたものであり、撮像素子で撮像された複数の画像の連続的な処理を円滑に実行することができる画像データ処理装置および画像データ処理方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、撮像素子で撮像された複数の画像のデータを処理する画像データ処理装置が提供される。この画像データ処理装置は、変換部と演算部を有する。変換部は、撮像された画像それぞれについて、第1の画像形式の第1の画像データと第2の画像形式の第2の画像データとを生成し、第1の画像データと第2の画像データとを時分割で出力する。演算部は、変換部が時分割で出力した第1および第2の画像データを取得し、第1の画像データを用いて表示装置に撮像された画像を表示する処理を行い、第2の画像データを用いて記憶装置に撮像された画像を記録する処理を行う。
【0010】
また、上記課題を解決するために、撮像素子で撮像された複数の画像のデータを処理する、変換部と演算部とを有する装置が実行する画像データ処理方法が提供される。この画像データ処理方法では、変換部が、撮像された画像それぞれについて、第1の画像形式の第1の画像データと第2の画像形式の第2の画像データとを生成し、第1の画像データと第2の画像データとを時分割で出力する。演算部が、時分割で出力された第1および第2の画像データのうち第1の画像データを用いて、表示装置に撮像された画像を表示する処理を行う。また、演算部が、時分割で出力された第1および第2の画像データのうち第2の画像データを用いて、記憶装置に撮像された画像を記録する処理を行う。
【発明の効果】
【0011】
上記画像データ処理装置および画像データ処理方法によれば、撮像素子で撮像された複数の画像の連続的な処理を円滑に実行することができる。
【図面の簡単な説明】
【0012】
【図1】第1の実施の形態の画像データ処理装置を示す図である。
【図2】第2の実施の形態の携帯電話機を示すブロック図である。
【図3】イメージDSPを示すブロック図である。
【図4】CPUの表示・保存機能を示すブロック図である。
【図5】画像データのフォーマット例を示す図である。
【図6】画像データのヘッダのフォーマット例を示す図である。
【図7】イメージDSP処理を示すフローチャートである。
【図8】CPU処理を示すフローチャートである。
【図9】JPEGバイナリデータの第1の挿入方法を示す図である。
【図10】JPEGバイナリデータの第2の挿入方法を示す図である。
【図11】JPEGバイナリデータの第3の挿入方法を示す図である。
【図12】画像データの転送の流れを示すシーケンス図である。
【発明を実施するための形態】
【0013】
以下、本実施の形態を、図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の画像データ処理装置を示す図である。第1の実施の形態に係る画像データ処理装置10は、撮像素子11、変換部12、演算部13、表示装置14および記憶装置15を有する。
【0014】
撮像素子11は、光を電子信号に変換することで、画像を撮像する半導体回路である。撮像素子11として、例えば、CCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサを用いることができる。撮像素子11は、所定のフレームレートで連続的に画像を撮像することができる。撮像素子11は、例えば、撮像された複数の画像のRAWデータを順次出力する。
【0015】
変換部12は、撮像素子11で撮像された複数の画像それぞれについて、第1の画像形式の第1の画像データと、第2の画像形式の第2の画像データとを生成する。例えば、撮像素子11が出力したRAWデータに基づいて、第1の画像データとしてYUVデータを生成し、第2の画像データとしてJPEGデータを生成する。そして、変換部12は、第1の画像データと第2の画像データとを時分割で出力する。例えば、同一の画像についての第1の画像データと第2の画像データとを続けて出力することで、第1の画像データと第2の画像データとが交互に出力されるようにする。
【0016】
演算部13は、変換部12が時分割で出力した第1の画像データと第2の画像データとを取得する。そして、演算部13は、第1の画像データを用いて、撮像された画像を表示装置14に表示する処理を行う。例えば、第1の画像データを表示装置14に出力する。また、演算部13は、第2の画像データを用いて、撮像された画像を記憶装置15に記録する処理を行う。例えば、撮像された画像それぞれにファイル名を付与し、第2の画像データを含むファイルを記憶装置15に書き込む。演算部13は、例えば、交互に取得する第1の画像データと第2の画像データとを用いて、表示処理と記録処理を交互に行う。
【0017】
ここで、変換部12は、変換部12と演算部13との間におけるデータ転送の効率化という観点から、第1の画像データおよび第2の画像データそれぞれを、共通のフォーマットに挿入して出力してもよい。その場合、演算部13は、共通のフォーマットから、当該フォーマットに挿入されている第1の画像データまたは第2の画像データを抽出する。共通のフォーマットのサイズは、記憶装置15に記録する画像の画素数、すなわち、第2の画像データの画素数に応じて決定してもよい。また、フォーマットは、挿入された画像データの画像形式を示すヘッダ情報を含んでもよい。その場合、演算部13は、ヘッダ情報を参照して、画像データの抽出方法を切り替える。
【0018】
表示装置14は、撮像された複数の画像を順次表示する。表示装置14としては、例えば、LCDや有機EL(Electro Luminescence)ディスプレイを用いることができる。表示装置14は、例えば、演算部13からYUVデータを3fps(frame per second)で取得し、撮像された画像を3fpsで表示する。なお、画面のちらつきを抑制するため、演算部13は、撮像された画像の間に、黒画像などのダミー画像を表示装置14に表示させるよう制御してもよい。
【0019】
記憶装置15は、撮像された複数の画像を順次記録する。記憶装置15としては、例えば、フラッシュメモリなどの不揮発性メモリを用いることができる。記憶装置15は、画像データ処理装置10内に固定して設けられていてもよいし、着脱可能であってもよい。記憶装置15には、例えば、演算部13によりJPEGデータを含むファイルが3fpsで書き込まれる。画像データ処理装置10は、記憶装置15に記録される画像の画素数を変更できるようにしてもよい。その場合、演算部13が変換部12に、第2の画像データの生成の際の画素数を指定するようにしてもよい。
【0020】
このような画像データ処理装置10では、変換部12が、撮像素子11で撮像された複数の画像それぞれについて、第1の画像形式の第1の画像データと第2の画像形式の第2の画像データとを生成し、第1の画像データと第2の画像データとを時分割で出力する。演算部13が、時分割で出力された第1の画像データおよび第2の画像データのうち第1の画像データを用いて、表示装置14に複数の画像を表示する処理を行う。また、演算部13が、時分割で出力された第1の画像データおよび第2の画像データのうち第2の画像データを用いて、記憶装置15に複数の画像を記録する処理を行う。
【0021】
これにより、複数の画像の連続的な処理を円滑に実行することができる。すなわち、変換部12が表示用の画像データと記録用の画像データの両方を生成して時分割で出力するため、複数の画像を連続的に表示および記録する場合でも、演算部13の負荷を抑制できる。よって、演算部13の負荷がボトルネックとなって複数の画像の連続処理が制限されてしまう(例えば、連写可能時間が制限されてしまう)ことを抑制できる。
【0022】
また、変換部12が共通のフォーマットを用いて第1の画像データと第2の画像データを出力することで、演算部13が第1の画像データと第2の画像データを交互に抽出することが容易となる。共通のフォーマットを用いることは、例えば、JPEGのように画素数が同じでも画像によってデータ長が異なる画像形式を扱う場合に有効である。例えば、JPEGデータとYUVデータが、共通のフォーマットではなくそれぞれ独自のフォーマットを用いて出力されると、演算部13では可変長データと固定長データの切り替えに時間を要し、フレームレートの低下の原因となる。一方、JPEGデータとYUVデータが共通のフォーマットを用いて出力されると、演算部13では切り替えに要する時間が抑制され、JPEGデータとYUVデータの抽出が容易となる。
【0023】
なお、画像データ処理装置10は、デジタルカメラや携帯電話機などの様々な電子機器に搭載することができる。また、撮像素子11、表示装置14および記憶装置15は、画像データ処理装置10の外部にあってもよい。すなわち、変換部12は、画像データ処理装置10の外部の撮像素子から、撮像された画像のデータを取得してもよい。また、演算部13は、画像データ処理装置10の外部の表示装置に画像を表示してもよく、画像データ処理装置10の外部の記憶装置に画像を記録してもよい。
【0024】
以下に説明する第2の実施の形態では、カメラ機能を備えた携帯電話機の例を挙げる。ただし、第2の実施の形態で説明する画像データ処理方法は、デジタルカメラや通話機能をもたない情報端末装置など、携帯電話機以外の電子機器に応用可能である。
【0025】
[第2の実施の形態]
図2は、第2の実施の形態の携帯電話機を示すブロック図である。第2の実施の形態に係る携帯電話機100は、イメージセンサ110、イメージDSP120、CPU(Central Processing Unit)130、ディスプレイ140、フラッシュメモリ150、ROM(Read Only Memory)161、RAM(Random Access Memory)162、無線通信部163、キーパッド164、マイクロホン165およびスピーカ166を有する。
【0026】
イメージセンサ110は、光を電子信号に変換する半導体回路である。イメージセンサ110として、例えば、CCDセンサやCMOSセンサを用いることができる。イメージセンサ110は、撮像した画像のRAWデータを、イメージDSP120に出力する。イメージセンサ110は、ユーザが連写操作(例えば、シャッターボタンを押下し続ける操作)を行うと、所定のフレームレートで、撮像した画像のRAWデータを連続出力する。
【0027】
イメージDSP120は、画像データの画像形式を変換する回路である。イメージDSP120は、イメージセンサ110から取得したRAWデータから、1枚の画像に対してYUVデータとJPEGデータの両方を生成する。そして、イメージDSP120は、YUVデータとJPEGデータを、時分割でCPU130に出力する。連写時は、YUVデータとJPEGデータを、それぞれ3fpsで交互に出力する。
【0028】
CPU130は、携帯電話機100が備える機能を制御する演算装置である。CPU130は、ROM161に格納されているプログラムをRAM162に展開して実行する。CPU130が実行するプログラムには、カメラ機能を制御するプログラムが含まれる。
【0029】
カメラ機能に関して、CPU130は、撮像された画像をディスプレイ140に表示する処理とフラッシュメモリ150に記録する処理を行う。例えば、CPU130は、イメージDSP120からYUVデータとJPEGデータを時分割で取得する。そして、取得したYUVデータをディスプレイ140に出力すると共に、取得したJPEGデータを含む画像ファイルをフラッシュメモリ150に格納する。連写時は、CPU130は、撮像された画像を表示する処理と記録する処理を、それぞれ3fpsで交互に実行する。
【0030】
ディスプレイ140は、CPU130が生成する操作画面や、イメージセンサ110で撮像された画像を表示する表示装置である。ディスプレイ140として、例えば、LCDを用いることができる。ディスプレイ140は、YUVデータをCPU130から取得して、画像を表示する。連写時には、撮像された画像のYUVデータを3fpsで取得し、撮像された画像を順次表示する。ただし、画面のちらつきを抑制するため、撮像された画像の間に黒画像を表示する。黒画像データは、CPU130から取得する。
【0031】
フラッシュメモリ150は、画像データを含む各種のデータを記憶する不揮発性メモリである。フラッシュメモリ150には、CPU130により、JPEGデータを含む画像ファイルが書き込まれる。連写時には、撮像された画像に対応する画像ファイルが3fpsで順次書き込まれる。なお、フラッシュメモリ150は、携帯電話機100に対して着脱可能なカード型メモリであってもよい。また、フラッシュメモリ150に代えて、他の種類の不揮発性の記憶媒体を用いてもよい。
【0032】
ROM161は、CPU130で実行されるプログラムおよび当該プログラムの実行に伴って参照されるデータを予め記憶するメモリである。ROM161に格納されたプログラムおよびデータは、CPU130により読み出される。ROM161に格納されているプログラムには、カメラ機能を制御するためのプログラムが含まれる。なお、ROM161に代えて、フラッシュメモリなど書き換え可能な不揮発性メモリを用いてもよい。
【0033】
RAM162は、CPU130で実行されるプログラムおよび当該プログラムの実行に伴って参照されるデータの少なくとも一部を一時的に記憶する揮発性メモリである。CPU130により、RAM162への書き込みおよびRAM162からの読み出しが行われる。なお、RAM162に代えて、他の種類のメモリを用いてもよい。
【0034】
無線通信部163は、CPU130の制御のもと、無線基地局など他の無線通信装置と無線通信を行う。例えば、無線通信部163は、携帯電話機100が備えるアンテナを介して受信した無線信号を復調および復号し、得られた受信データをCPU130に出力する。また、CPU130から取得した送信データを符号化および変調し、得られた送信信号をアンテナを介して無線出力する。
【0035】
キーパッド164は、複数の入力キーを備えた入力デバイスである。キーパッド164は、ユーザにより何れかの入力キーが押下されると、押下された入力キーを示す入力信号をCPU130に出力する。入力キーには、数字やアルファベットなどの文字を入力するための文字キーと、イメージセンサ110による撮像の開始・終了や無線による通話の開始・終了などを指示するための機能キーが含まれる。
【0036】
マイクロホン165は、音の物理振動を電気信号に変換して音声入力を受け付け、音声信号としての電気信号をCPU130に出力する。例えば、ユーザが通話を行っているとき、ユーザの声や携帯電話機100側の背景雑音がマイクロホン165から入力される。
【0037】
スピーカ166は、CPU130の制御のもと、音声信号としての電気信号を物理振動に変換して音を再生する。例えば、携帯電話機100のユーザが通話を行っているとき、通話相手の声や通話相手側の背景雑音がスピーカ166から出力される。
【0038】
なお、イメージセンサ110は、第1の実施の形態の撮像素子11の一例である。イメージDSP120は、変換部12の一例である。CPU130は、演算部13の一例である。ディスプレイ140は、表示装置14の一例である。フラッシュメモリ150は、記憶装置15の一例である。
【0039】
図3は、イメージDSPを示すブロック図である。イメージDSP120は、YUV変換部121、画素数変換部122、JPEGエンコード部123および多重化部124を有する。
【0040】
YUV変換部121は、イメージセンサ110から取得したRAWデータを、1画像分ずつYUVデータに変換する。そして、YUVデータを、画素数変換部122およびJPEGエンコード部123に出力する。
【0041】
ここで、YUVデータは、Y成分のデータ(Yデータ)とCb成分のデータ(Cbデータ)とCr成分のデータ(Crデータ)とを含む。Yデータは、輝度信号の集合である。Cbデータは、輝度信号と青色成分(B)の差を示す色差信号の集合である。Crデータは、輝度信号と赤色成分(R)の差を示す色差信号の集合である。第2の実施の形態では例えば、画像形式としてYUV422を想定する。YUV422では、隣接する2画素が、2バイトのY信号と1バイトのCb信号と1バイトのCr信号によって表現される。ただし、YUV422以外の画像形式を用いることも可能である。
【0042】
画素数変換部122は、YUV変換部121から取得したYUVデータに対して、画素数の変換(通常は、画素数の削減、すなわち、画像の縮小)を行う。変換後の画素数は、ディスプレイ140の画素数に対応する。これは、ディスプレイ140よりも画素数の多い画像をフラッシュメモリ150に記録できるようにするためである。ディスプレイ140の画素数は、例えば、640×480画素である。そして、画素数変換部122は、画素数を変換した後のYUVデータを多重化部124に出力する。
【0043】
JPEGエンコード部123は、YUV変換部121から取得したYUVデータを、JPEGデータにエンコードする。例えば、JPEGエンコード部123は、YUVデータの8×8画素毎に、離散コサイン変換(DCT:Discrete Cosine Transform)を行い、周波数成分の配列を得る。そして、JPEGエンコード部123は、JPEGデータを多重化部124に出力する。なお、JPEGデータの画像(フラッシュメモリ150に記録する画像)の画素数が、CPU130から撮像開始前に指定される。
【0044】
多重化部124は、画素数変換部122から取得したYUVデータと、JPEGエンコード部123から取得したJPEGデータとを、時分割多重しCPU130に出力する。例えば、多重化部124は、YUVデータの転送とJPEGデータの転送に共通に用いるフォーマットに、YUVデータまたはJPEGデータを挿入する。そして、YUVデータを含むフォーマットのデータとJPEGデータを含むフォーマットのデータを、交互に出力する。なお、多重化部124は、CPU130から指定されたJPEGデータの画像の画素数に基づいて、フォーマットのサイズを撮像開始前に決定する。
【0045】
図4は、CPUの表示・保存機能を示すブロック図である。携帯電話機100では、CPU130が所定のプログラムを実行することで、カメラ設定部131、分離部132、表示処理部133、黒画像生成部134および保存処理部135の機能が実現される。
【0046】
カメラ設定部131は、JPEGデータの画像(フラッシュメモリ150に記録する画像)の画素数を、イメージDSP120に対して指定する。画像の画素数は、例えば、撮像開始前にユーザがキーパッド164を用いて、複数の画素数の候補の中から選択する。画像の画素数は、例えば、300万画素に設定することが考えられる。また、カメラ設定部131は、イメージDSP120に対して指定した画素数に基づいて、イメージDSP120から取得するデータのフォーマットのサイズを、撮像開始前に算出しておく。
【0047】
分離部132は、イメージDSP120から取得するデータを、YUVデータを含むフォーマットのデータとJPEGデータを含むフォーマットのデータとに分離する。フォーマットにYUVデータとJPEGデータの何れが挿入されているかは、後述するように、フォーマットに含まれるヘッダ情報に基づいて判断する。分離部132は、YUVデータを含むフォーマットのデータを、表示処理部133に出力する。また、JPEGデータを含むフォーマットのデータを、保存処理部135に出力する。
【0048】
表示処理部133は、分離部132から取得したデータのフォーマットから、YUVデータを抽出する。そして、抽出したYUVデータを、ディスプレイ140に出力する。連写時には、表示処理部133は、撮像された画像のYUVデータの間に、黒画像生成部134から取得した黒画像のYUVデータを、ディスプレイ140に出力する。すなわち、撮像された画像と黒画像を、それぞれ3fpsで交互にディスプレイ140に表示する。また、表示処理部133は、撮像された画像のYUVデータを取得した際、シャッター音が鳴るよう、スピーカ166にシャッター音の音声信号を出力する。
【0049】
黒画像生成部134は、ディスプレイ140の全面に黒画像を表示するためのYUVデータを生成し、表示処理部133に出力する。なお、撮像された画像の間にディスプレイ140に表示する画像は、所定のダミー画像であればよく、黒画像でなくてもよい。
【0050】
保存処理部135は、分離部132から取得したデータのフォーマットから、JPEGデータを抽出する。JPEGデータは可変長のデータであるため、後述するように、ヘッダ情報を参照してJPEGデータが挿入されている位置を特定する。そして、保存処理部135は、抽出したJPEGデータを含むファイルを生成し、所定の規則に従ってファイル名を付与して、フラッシュメモリ150に格納する。
【0051】
図5は、画像データのフォーマット例を示す図である。図5に示したフォーマットのデータが、イメージDSP120からCPU130に転送される。フォーマットは、Y領域とCb領域とCr領域を含む。Y領域・Cb領域・Cr領域それぞれの前には、固定長の(例えば、4ライン分の)ヘッダ領域が設けられている。
【0052】
フォーマットの全体のサイズは、JPEGデータの画像の画素数に応じて決まる。Y領域とCb領域とCr領域のサイズの比は、YUVデータに含まれるYデータとCbデータとCrデータのデータ量の比に一致することが好ましい。YUVデータの画像形式としてYUV422を用いた場合、Y領域とCb領域とCr領域のサイズの比は、2:1:1である。Y領域とCb領域とCr領域のサイズの比を一定にすることで、フォーマット内の各領域の位置を算出することが容易となる。
【0053】
YUVデータを含むフォーマットでは、Y領域に、固定長(例えば、640×480バイト)のYデータが挿入される。Y領域の残りの部分には、任意のビット列であるダミーデータが挿入される。また、Cb領域に、固定長(例えば、640×240バイト)のCbデータが挿入される。Cb領域の残りの部分には、ダミーデータが挿入される。同様に、Cr領域に、固定長(例えば、640×240バイト)のCrデータが挿入される。Cr領域の残りの部分には、ダミーデータが挿入される。表示処理部133は、フォーマットからダミーデータを除去することで、YUVデータを得ることができる。
【0054】
JPEGデータを含むフォーマットでは、Y領域・Cb領域・Cr領域の一部または全部に、JPEGエンコードによって得られるバイナリデータである、可変長のJPEGデータが挿入される。保存処理部135は、フォーマットからJPEGバイナリデータを抽出することで、JPEGファイルを生成することができる。
【0055】
ここで、JPEGバイナリデータの挿入方法は、幾つかの方法が考えられる。例えば、Y領域にのみJPEGバイナリデータを挿入する方法がある。その場合、Y領域にJPEGバイナリデータ全体が収まるようフォーマットのサイズが算出される。また、Y領域・Cb領域・Cr領域を順にJPEGバイナリデータで埋めていく方法や、JPEGバイナリデータをY領域・Cb領域・Cr領域のサイズ比(例えば、2:1:1)で3分割し、Y領域・Cb領域・Cr領域に挿入する方法もある。その場合、Y領域・Cb領域・Cr領域全体でJPEGバイナリデータが収まるようフォーマットのサイズが算出される。
【0056】
ヘッダ領域には、ヘッダ情報が挿入される。ヘッダ情報は、フォーマットのサイズを示す情報や、シャッタースピードなどのEXIF(Exchangeable Image File Format)のメタ情報を含む。また、ヘッダ情報は、画像データの画像形式を示す情報や、Y領域・Cb領域・Cr領域への画像データの挿入方法を示す情報などを含む。
【0057】
図6は、画像データのヘッダのフォーマット例を示す図である。図6に示すヘッダ情報が、フォーマットの先頭(Y領域の前)のヘッダ領域に挿入される。このヘッダ領域は、例えば、4ラインの固定長とする。ヘッダ情報は、YUVデータとJPEGデータの転送に関する情報として、32バイトのバイト列を含む。
【0058】
32バイトのうち8バイトは、画像形式およびJPEGバイナリデータの分割の有無を示すバイト列である。YUV422データが挿入されている場合、“YUV422”を示す文字コード“59 55 56 34 32 32 00 00”が設定される。JPEGバイナリデータが分割されずに挿入されている場合、“JPEG1”を示す文字コード“4A 50 45 47 31 00 00 00”が設定される。JPEGバイナリデータが3分割されて挿入されている場合、“JPEG3”を示す文字コード“4A 50 45 47 33 00 00 00”が設定される。
【0059】
32バイトのうち3×8=24バイトは、Y領域・Cb領域・Cr領域に挿入されたJPEGバイナリデータのサイズを示すバイト列である。YUV422データが挿入されている場合、任意のバイト列であるダミーバイトが設定される。JPEGバイナリデータがY領域のみに挿入されている場合、JPEGバイナリデータのサイズを示す8バイトの数値と、2×8バイトのダミーバイトとが設定される。JPEGバイナリデータが3分割されて挿入されている場合、Y領域のJPEGバイナリデータのサイズを示す8バイトの数値と、Cb領域のJPEGバイナリデータのサイズを示す8バイトの数値と、Cr領域のJPEGバイナリデータのサイズを示す8バイトの数値とが設定される。
【0060】
図7は、イメージDSP処理を示すフローチャートである。このフローチャートは、連写時にイメージDSP120が実行する処理を示している。以下、図7に示す処理をステップ番号に沿って説明する。
【0061】
(ステップS11)JPEGエンコード部123は、例えば、連写開始前に、CPU130から指定された画素数を、生成するJPEGデータの画像の画素数として設定する。多重化部124は、例えば、連写開始前に、CPU130から指定された画素数に基づいて、フォーマットのサイズを設定する。画素数が大きいほど、フォーマットのサイズを大きくする。また、JPEGエンコード部123は、イメージセンサ110で撮像される画像の方向、すなわち、携帯電話機100が縦向きか横向きかが、CPU130から通知される。
【0062】
ここで、フォーマットのサイズの算出方法は、予めCPU130と共通に設定される。算出方法は、前述の通り、JPEGバイナリデータの転送にY領域・Cb領域・Cr領域の何れが使用され得るかによって異なる。Y領域・Cb領域・Cr領域の全てを使用した方が、フォーマットのサイズが小さくて済む。多重化部124は、画素数とフォーマットのサイズとの対応関係を示す情報を予め保持していてもよい。
【0063】
(ステップS12)YUV変換部121は、イメージセンサ110から取得した画像1枚分のRAWデータを、YUVデータに変換する。そして、YUVデータを、画素数変換部122とJPEGエンコード部123の両方に出力する。
【0064】
(ステップS13)画素数変換部122は、YUV変換部121から取得したYUVデータの画像の画素数を、ディスプレイ140の画素数に合うように変換する。例えば、画素数を、VGA(Video Graphics Array)サイズの640×480画素に変換する。
【0065】
(ステップS14)多重化部124は、画素数変換部122から取得したYUVデータをフォーマットに挿入し、CPU130に出力する。すなわち、多重化部124は、YデータをY領域に挿入し、CbデータをCb領域に挿入し、CrデータをCr領域に挿入する。また、ヘッダ領域に、YUVデータであることを示す識別情報を挿入する。
【0066】
(ステップS15)JPEGエンコード部123は、CPU130から通知されている画像の方向に応じて、YUV変換部121から取得したYUVデータに対し、画像の回転操作を行う。撮像される画像の方向がフラッシュメモリ150に記録すべき画像の方向と一致している場合は、回転操作を行わなくてよい。
【0067】
(ステップS16)JPEGエンコード部123は、DCTなどの演算を行うことで、YUVデータをJPEGデータにエンコードする。
(ステップS17)多重化部124は、JPEGエンコード部123から取得したJPEGデータを、バイナリデータとしてフォーマットに挿入し、CPU130に出力する。JPEGバイナリデータの挿入方法には、前述の通り、幾つかの方法が考えられる。例えば、JPEGバイナリデータを3分割しY領域・Cb領域・Cr領域に挿入する。また、多重化部124は、ヘッダ領域に、JPEGデータであることを示す識別情報およびJPEGバイナリデータの挿入方法を示す情報を挿入する。
【0068】
(ステップS18)YUV変換部121は、連写が終了したか、すなわち、イメージセンサ110からのRAWデータの供給が停止したか判断する。連写が終了した場合、処理を終了する。連写が終了していない場合、処理をステップS12に進める。
【0069】
このように、イメージDSP120は、連写時、表示用のYUVデータと記録用のJPEGデータを、共通のフォーマットに挿入して交互に出力する。なお、図7の例では、各画像についてYUVデータを先に出力しJPEGデータを後に出力したが、YUVデータとJPEGデータの出力順序を逆にしてもよい。
【0070】
図8は、CPU処理を示すフローチャートである。このフローチャートは、連写時に、CPU130がプログラムを実行することで実現される処理を示している。以下、図8に示す処理をステップ番号に沿って説明する。
【0071】
(ステップS21)カメラ設定部131は、例えば、連写開始前に、フラッシュメモリ150に記録する画像の画素数を、イメージDSP120に対して指定する。画素数は、例えば、ユーザの画面操作によって複数の画素数の候補の中から1つ(例えば、300万画素)が選択される。また、カメラ設定部131は、画素数に基づいて、イメージDSP120が画像データの出力に用いるフォーマットのサイズを算出する。フォーマットのサイズの算出方法は、前述の通り、予めイメージDSP120と共通に設定されている。カメラ設定部131は、画素数とフォーマットのサイズとの対応関係を示す情報を予め保持していてもよい。また、カメラ設定部131は、携帯電話機の向き(縦向きまたは横向き)を検出し、撮像される画像の方向をイメージDSP120に通知する。
【0072】
(ステップS22)分離部132は、イメージDSP120から画像1枚分のデータを取得すると、ヘッダ領域から画像形式を示す識別情報を抽出する。
(ステップS23)分離部132は、ステップS22で抽出した識別情報に基づいて、フォーマットに挿入されている画像データがYUVデータであるか否か判断する。YUVデータの場合、処理をステップS24に進める。YUVデータでない場合、すなわち、JPEGデータである場合、処理をステップS27に進める。
【0073】
(ステップS24)表示処理部133は、ステップS21でカメラ設定部131が算出したフォーマットのサイズに基づいて、Y領域・Cb領域・Cr領域の位置を算出する。そして、フォーマットの各領域に含まれるダミーデータを除去する。
【0074】
(ステップS25)表示処理部133は、シャッター音を示す音声信号を、スピーカ166に出力する。これにより、スピーカ166でシャッター音が再生される。
(ステップS26)表示処理部133は、フォーマットに含まれるダミーデータを除去することで得られたYUVデータを、ディスプレイ140に出力する。これにより、ディスプレイ140に、イメージセンサ110で撮像された画像が表示される。そして、処理をステップS30に進める。
【0075】
(ステップS27)保存処理部135は、ステップS21でカメラ設定部131が算出したフォーマットのサイズに基づいて、Y領域・Cb領域・Cr領域の位置を算出する。また、ヘッダ領域から、JPEGバイナリデータの挿入方法を示す情報を抽出する。そして、保存処理部135は、Y領域・Cb領域・Cr領域の中の挿入範囲を特定し、バイナリデータとして挿入されているJPEGデータを抽出する。
【0076】
(ステップS28)保存処理部135は、ステップS27で抽出したJPEGデータを含む画像ファイルを生成する。そして、生成した画像ファイルを、所定の規則に基づいてファイル名を付与して、フラッシュメモリ150に格納する。
【0077】
(ステップS29)黒画像生成部134は、ディスプレイ140に表示する黒画像のデータを生成する。表示処理部133は、黒画像生成部134が生成した黒画像データを、ディスプレイ140に出力する。これにより、撮像された画像がステップS26において表示される合間に、黒画像がディスプレイ140に表示される。
【0078】
(ステップS30)分離部132は、連写が終了したか、すなわち、イメージDSP120からの画像データの供給が停止したか判断する。連写が終了した場合、処理を終了する。連写が終了していない場合、処理をステップS22に進める。
【0079】
図9は、JPEGバイナリデータの第1の挿入方法を示す図である。第1の挿入方法では、Y領域・Cb領域・Cr領域のうちY領域のみに、JPEGバイナリデータが挿入される。よって、JPEGバイナリデータがY領域に収まるように、JPEG画像の画素数に応じてフォーマットのサイズが決定される。
【0080】
時刻tでは、ある画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。時刻t+1では、時刻tと同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。JPEGバイナリデータは、Y領域のみに挿入される。
【0081】
時刻t+2では、時刻tと異なる画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。YUVデータのサイズは、時刻tと同じである。時刻t+3では、時刻t+2と同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。JPEGバイナリデータは、Y領域のみに挿入される。ただし、JPEGバイナリデータのサイズは、時刻t+1と異なる可能性がある。
【0082】
時刻t+4では、時刻t+2と異なる画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。YUVデータのサイズは、時刻t+2と同じである。時刻t+5では、時刻t+4と同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。JPEGバイナリデータは、Y領域のみに挿入される。ただし、JPEGバイナリデータのサイズは、時刻t+3と異なる可能性がある。
【0083】
図10は、JPEGバイナリデータの第2の挿入方法を示す図である。第2の挿入方法では、JPEGバイナリデータがY領域とCb領域とCr領域とのサイズの比(例えば、2:1:1)に従って3分割され、Y領域・Cb領域・Cr領域に挿入される。よって、JPEGバイナリデータがY領域・Cb領域・Cr領域の全体に収まるように、JPEG画像の画素数に応じてフォーマットのサイズが決定される。
【0084】
時刻tでは、ある画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。時刻t+1では、時刻tと同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。JPEGバイナリデータは、3つの領域に分散して挿入される。
【0085】
時刻t+2では、時刻tと異なる画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。YUVデータのサイズは、時刻tと同じである。時刻t+3では、時刻t+2と同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。JPEGバイナリデータは、3つの領域に分散して挿入される。ただし、各領域のJPEGバイナリデータのサイズは、時刻t+1と異なる可能性がある。
【0086】
時刻t+4では、時刻t+2と異なる画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。YUVデータのサイズは、時刻t+2と同じである。時刻t+5では、時刻t+4と同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。JPEGバイナリデータは、3つの領域に分散して挿入される。ただし、各領域のJPEGバイナリデータのサイズは、時刻t+3と異なる可能性がある。
【0087】
図11は、JPEGバイナリデータの第3の挿入方法を示す図である。第3の挿入方法では、Y領域・Cb領域・Cr領域のうちY領域から順に、JPEGバイナリデータを埋めていく。よって、JPEGバイナリデータがY領域・Cb領域・Cr領域の全体に収まるように、JPEG画像の画素数に応じてフォーマットのサイズが決定される。
【0088】
時刻tでは、ある画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。時刻t+1では、時刻tと同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。ここでは、JPEGバイナリデータのサイズが、Y領域のサイズより大きく、Y領域とCb領域のサイズの合計以下である。よって、JPEGバイナリデータは、Y領域・Cb領域・Cr領域のうち、Y領域とCb領域に挿入される。
【0089】
時刻t+2では、時刻tと異なる画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。YUVデータのサイズは、時刻tと同じである。時刻t+3では、時刻t+2と同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。ここでは、JPEGバイナリデータのサイズが、Y領域のサイズより小さい。よって、JPEGバイナリデータは、Y領域・Cb領域・Cr領域のうちY領域のみに挿入される。
【0090】
時刻t+4では、時刻t+2と異なる画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。YUVデータのサイズは、時刻t+2と同じである。時刻t+5では、時刻t+4と同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。ここでは、JPEGバイナリデータのサイズが、Y領域とCb領域のサイズの合計より大きい。よって、JPEGバイナリデータは、3つの領域に挿入される。
【0091】
図12は、画像データの転送の流れを示すシーケンス図である。連写時、イメージセンサ110、イメージDSP120、CPU130、ディスプレイ140およびフラッシュメモリ150の間で、図12に示すような流れでデータが転送される。
【0092】
イメージセンサ110は、撮像した画像のRAWデータをイメージDSP120に出力する(ステップS31)。イメージDSP120は、RAWデータをYUVデータに変換し、CPU130に出力する(ステップS32)。CPU130は、YUVデータをディスプレイ140に出力する(ステップS33)。イメージDSP120は、YUVデータをJPEGデータにエンコードし、CPU130に出力する(ステップS34)。CPU130は、JPEGデータをフラッシュメモリ150に格納し(ステップS35)、黒画像データをディスプレイ140に出力する(ステップS36)。
【0093】
そして、次の画像について、ステップS31〜S36と同様の処理が行われる(ステップS37〜S42)。このように、イメージセンサ110で撮像された各画像に対する表示処理および記録処理が、連写が終了するまで繰り返される。なお、YUVデータおよびJPEGデータの取得(ステップS32,S34)と表示処理および記録処理(ステップS33,S35)とは、RAM162上のバッファに画像データを一時的に格納することで、非同期で実行することができる。よって、CPU130は、表示処理(ステップS33)を、JPEGデータの取得(ステップS34)後に実行してもよい。
【0094】
このような第2の実施の形態の携帯電話機100によれば、連写時の画像の連続的な表示および記録を円滑に実行することができる。すなわち、イメージDSP120が、表示用のYUVデータと記録用のJPEGデータの両方を生成して交互に出力するため、CPU130の負荷が軽減される。また、イメージDSP120が、共通のフォーマットを用いて画像データを出力するため、CPU130が異なる画像形式の画像データを交互に抽出することが容易となる。よって、CPU130の負荷がボトルネックとなって連写可能時間が制限されてしまうことを抑制できる。例えば、携帯電話機100では、CPU130はカメラ機能の制御以外の処理も実行することから、負荷の低減は有効である。
【0095】
また、イメージDSP120が、YUVデータとJPEGデータを生成するため、フラッシュメモリ150に記録する画像の画素数を、ディスプレイ140の画素数より大きくすることが容易となる。また、イメージDSP120が、JPEG画像の画素数に応じてフォーマットのサイズを変えることで、フォーマットのサイズの増大を抑制でき、処理の負荷を軽減できる。また、イメージDSP120が、JPEGバイナリデータをフォーマット内のY領域・Cb領域・Cr領域に分散して挿入することで、フォーマットのサイズの増大を抑制でき、処理の負荷を軽減できる。また、イメージDSP120が、フォーマットのヘッダ領域内に画像形式を示す識別情報を挿入することで、CPU130が取得した画像データの画像形式を容易に判断できるようになる。また、撮像された画像の間に黒画像を表示することで、表示用の画像データと記録用の画像データが交互にイメージDSP120から出力されることに伴う画像のちらつきを抑制できる。
【符号の説明】
【0096】
10 画像データ処理装置
11 撮像素子
12 変換部
13 演算部
14 表示装置
15 記憶装置
【技術分野】
【0001】
本発明は、撮像素子で撮像された画像のデータを処理する画像データ処理装置および画像データ処理方法に関する。
【背景技術】
【0002】
現在、デジタルカメラやカメラ機能を備えた携帯電話機など、撮像素子で撮像された画像のデジタルデータを扱う電子機器が広く利用されている。このような電子機器は、撮像された画像を、LCD(Liquid Crystal Display)などの表示装置に表示すると共に、フラッシュメモリなどの記憶装置に記録することが多い。また、複数の画像を短い時間間隔で連続的に撮像できる機能(いわゆる、連写機能)を備えた電子機器もある。
【0003】
なお、記憶装置にJPEG(Joint Photographic Experts Group)形式で画像を記録するため、撮像素子から得られる画像データからYUVデータを生成してバッファメモリに格納し、バッファメモリに格納されたYUVデータからJPEGデータを生成する装置が提案されている(例えば、特許文献1参照)。また、YUVデータの画像とRGBデータの画像を同時に表示するため、第1のメモリに格納されたYUVデータをRGBデータに変換して読み出すと同時に、第2のメモリに格納されたRGBデータを読み出し、両者をミキシングするディスプレイ駆動装置が提案されている(例えば、特許文献2参照)。
【0004】
また、複数チャンネルの画像を同時に記録・転送するために、各チャンネルの圧縮画像データに識別フラグを付加し、識別フラグに基づいて複数チャンネルの圧縮画像データを多重化する装置が提案されている(例えば、特許文献3参照)。また、撮像の際の画面のちらつきを抑制するため、シャッターボタンが押下される直前の画像と押下された後の画像との間に、押下直前の画像を加工して作成した画像を表示装置に表示する携帯情報端末が提案されている(例えば、特許文献4参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−88806号公報
【特許文献2】特開2002−185978号公報
【特許文献3】特開平6−125540号公報
【特許文献4】特開2005−204210号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、撮像された画像を表示装置に表示すると共に記憶装置に記録するとき、表示用の画像データの画像形式と記録用の画像データの画像形式とが異なることがある。例えば、表示用にYUVデータを使用し、記録用にJPEGデータを使用する場合が考えられる。しかし、その場合、表示処理と記録処理とを行う演算装置の負荷が高くなりやすい。例えば、DSP(Digital Signal Processor)が撮像素子から取得した画像データをYUVデータに変換し、演算装置がYUVデータを用いて表示処理を行うと共にYUVデータをエンコードして記録用のJPEGデータを生成する場合、エンコードの負荷が大きい。
【0007】
例えば、連写時など、撮像素子で撮像された複数の画像に対して連続的に表示処理および記録処理を行う場合に、演算装置の負荷が大きな問題となる。すなわち、演算装置の負荷がボトルネックとなり、一度に連続的に処理できる画像の枚数が少なくなる、画像が表示および記録される時間間隔が長くなる(レートが下がる)、などの問題が生じ得る。これにより、例えば、連写可能時間が短くなる、連写時の撮像レートが小さくなるなど、電子機器の連写機能が制限されてしまう可能性がある。例えば、演算装置がエンコード処理を完了させる前に次の画像データが投入された場合、エンコード処理が完了するまで投入された画像データはエンコード処理待ちとして滞留する。また、演算装置が記憶装置への記録処理を完了させる前に次の画像データに対するエンコード処理が完了した場合、記録処理が完了するまで次の画像データは記録処理待ちとして滞留する。各種処理待ちの画像データが増加するにつれ滞留中の画像を保持する記憶領域が枯渇し、その結果、連写機能が制限される。
【0008】
本発明はこのような点に鑑みてなされたものであり、撮像素子で撮像された複数の画像の連続的な処理を円滑に実行することができる画像データ処理装置および画像データ処理方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、撮像素子で撮像された複数の画像のデータを処理する画像データ処理装置が提供される。この画像データ処理装置は、変換部と演算部を有する。変換部は、撮像された画像それぞれについて、第1の画像形式の第1の画像データと第2の画像形式の第2の画像データとを生成し、第1の画像データと第2の画像データとを時分割で出力する。演算部は、変換部が時分割で出力した第1および第2の画像データを取得し、第1の画像データを用いて表示装置に撮像された画像を表示する処理を行い、第2の画像データを用いて記憶装置に撮像された画像を記録する処理を行う。
【0010】
また、上記課題を解決するために、撮像素子で撮像された複数の画像のデータを処理する、変換部と演算部とを有する装置が実行する画像データ処理方法が提供される。この画像データ処理方法では、変換部が、撮像された画像それぞれについて、第1の画像形式の第1の画像データと第2の画像形式の第2の画像データとを生成し、第1の画像データと第2の画像データとを時分割で出力する。演算部が、時分割で出力された第1および第2の画像データのうち第1の画像データを用いて、表示装置に撮像された画像を表示する処理を行う。また、演算部が、時分割で出力された第1および第2の画像データのうち第2の画像データを用いて、記憶装置に撮像された画像を記録する処理を行う。
【発明の効果】
【0011】
上記画像データ処理装置および画像データ処理方法によれば、撮像素子で撮像された複数の画像の連続的な処理を円滑に実行することができる。
【図面の簡単な説明】
【0012】
【図1】第1の実施の形態の画像データ処理装置を示す図である。
【図2】第2の実施の形態の携帯電話機を示すブロック図である。
【図3】イメージDSPを示すブロック図である。
【図4】CPUの表示・保存機能を示すブロック図である。
【図5】画像データのフォーマット例を示す図である。
【図6】画像データのヘッダのフォーマット例を示す図である。
【図7】イメージDSP処理を示すフローチャートである。
【図8】CPU処理を示すフローチャートである。
【図9】JPEGバイナリデータの第1の挿入方法を示す図である。
【図10】JPEGバイナリデータの第2の挿入方法を示す図である。
【図11】JPEGバイナリデータの第3の挿入方法を示す図である。
【図12】画像データの転送の流れを示すシーケンス図である。
【発明を実施するための形態】
【0013】
以下、本実施の形態を、図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の画像データ処理装置を示す図である。第1の実施の形態に係る画像データ処理装置10は、撮像素子11、変換部12、演算部13、表示装置14および記憶装置15を有する。
【0014】
撮像素子11は、光を電子信号に変換することで、画像を撮像する半導体回路である。撮像素子11として、例えば、CCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサを用いることができる。撮像素子11は、所定のフレームレートで連続的に画像を撮像することができる。撮像素子11は、例えば、撮像された複数の画像のRAWデータを順次出力する。
【0015】
変換部12は、撮像素子11で撮像された複数の画像それぞれについて、第1の画像形式の第1の画像データと、第2の画像形式の第2の画像データとを生成する。例えば、撮像素子11が出力したRAWデータに基づいて、第1の画像データとしてYUVデータを生成し、第2の画像データとしてJPEGデータを生成する。そして、変換部12は、第1の画像データと第2の画像データとを時分割で出力する。例えば、同一の画像についての第1の画像データと第2の画像データとを続けて出力することで、第1の画像データと第2の画像データとが交互に出力されるようにする。
【0016】
演算部13は、変換部12が時分割で出力した第1の画像データと第2の画像データとを取得する。そして、演算部13は、第1の画像データを用いて、撮像された画像を表示装置14に表示する処理を行う。例えば、第1の画像データを表示装置14に出力する。また、演算部13は、第2の画像データを用いて、撮像された画像を記憶装置15に記録する処理を行う。例えば、撮像された画像それぞれにファイル名を付与し、第2の画像データを含むファイルを記憶装置15に書き込む。演算部13は、例えば、交互に取得する第1の画像データと第2の画像データとを用いて、表示処理と記録処理を交互に行う。
【0017】
ここで、変換部12は、変換部12と演算部13との間におけるデータ転送の効率化という観点から、第1の画像データおよび第2の画像データそれぞれを、共通のフォーマットに挿入して出力してもよい。その場合、演算部13は、共通のフォーマットから、当該フォーマットに挿入されている第1の画像データまたは第2の画像データを抽出する。共通のフォーマットのサイズは、記憶装置15に記録する画像の画素数、すなわち、第2の画像データの画素数に応じて決定してもよい。また、フォーマットは、挿入された画像データの画像形式を示すヘッダ情報を含んでもよい。その場合、演算部13は、ヘッダ情報を参照して、画像データの抽出方法を切り替える。
【0018】
表示装置14は、撮像された複数の画像を順次表示する。表示装置14としては、例えば、LCDや有機EL(Electro Luminescence)ディスプレイを用いることができる。表示装置14は、例えば、演算部13からYUVデータを3fps(frame per second)で取得し、撮像された画像を3fpsで表示する。なお、画面のちらつきを抑制するため、演算部13は、撮像された画像の間に、黒画像などのダミー画像を表示装置14に表示させるよう制御してもよい。
【0019】
記憶装置15は、撮像された複数の画像を順次記録する。記憶装置15としては、例えば、フラッシュメモリなどの不揮発性メモリを用いることができる。記憶装置15は、画像データ処理装置10内に固定して設けられていてもよいし、着脱可能であってもよい。記憶装置15には、例えば、演算部13によりJPEGデータを含むファイルが3fpsで書き込まれる。画像データ処理装置10は、記憶装置15に記録される画像の画素数を変更できるようにしてもよい。その場合、演算部13が変換部12に、第2の画像データの生成の際の画素数を指定するようにしてもよい。
【0020】
このような画像データ処理装置10では、変換部12が、撮像素子11で撮像された複数の画像それぞれについて、第1の画像形式の第1の画像データと第2の画像形式の第2の画像データとを生成し、第1の画像データと第2の画像データとを時分割で出力する。演算部13が、時分割で出力された第1の画像データおよび第2の画像データのうち第1の画像データを用いて、表示装置14に複数の画像を表示する処理を行う。また、演算部13が、時分割で出力された第1の画像データおよび第2の画像データのうち第2の画像データを用いて、記憶装置15に複数の画像を記録する処理を行う。
【0021】
これにより、複数の画像の連続的な処理を円滑に実行することができる。すなわち、変換部12が表示用の画像データと記録用の画像データの両方を生成して時分割で出力するため、複数の画像を連続的に表示および記録する場合でも、演算部13の負荷を抑制できる。よって、演算部13の負荷がボトルネックとなって複数の画像の連続処理が制限されてしまう(例えば、連写可能時間が制限されてしまう)ことを抑制できる。
【0022】
また、変換部12が共通のフォーマットを用いて第1の画像データと第2の画像データを出力することで、演算部13が第1の画像データと第2の画像データを交互に抽出することが容易となる。共通のフォーマットを用いることは、例えば、JPEGのように画素数が同じでも画像によってデータ長が異なる画像形式を扱う場合に有効である。例えば、JPEGデータとYUVデータが、共通のフォーマットではなくそれぞれ独自のフォーマットを用いて出力されると、演算部13では可変長データと固定長データの切り替えに時間を要し、フレームレートの低下の原因となる。一方、JPEGデータとYUVデータが共通のフォーマットを用いて出力されると、演算部13では切り替えに要する時間が抑制され、JPEGデータとYUVデータの抽出が容易となる。
【0023】
なお、画像データ処理装置10は、デジタルカメラや携帯電話機などの様々な電子機器に搭載することができる。また、撮像素子11、表示装置14および記憶装置15は、画像データ処理装置10の外部にあってもよい。すなわち、変換部12は、画像データ処理装置10の外部の撮像素子から、撮像された画像のデータを取得してもよい。また、演算部13は、画像データ処理装置10の外部の表示装置に画像を表示してもよく、画像データ処理装置10の外部の記憶装置に画像を記録してもよい。
【0024】
以下に説明する第2の実施の形態では、カメラ機能を備えた携帯電話機の例を挙げる。ただし、第2の実施の形態で説明する画像データ処理方法は、デジタルカメラや通話機能をもたない情報端末装置など、携帯電話機以外の電子機器に応用可能である。
【0025】
[第2の実施の形態]
図2は、第2の実施の形態の携帯電話機を示すブロック図である。第2の実施の形態に係る携帯電話機100は、イメージセンサ110、イメージDSP120、CPU(Central Processing Unit)130、ディスプレイ140、フラッシュメモリ150、ROM(Read Only Memory)161、RAM(Random Access Memory)162、無線通信部163、キーパッド164、マイクロホン165およびスピーカ166を有する。
【0026】
イメージセンサ110は、光を電子信号に変換する半導体回路である。イメージセンサ110として、例えば、CCDセンサやCMOSセンサを用いることができる。イメージセンサ110は、撮像した画像のRAWデータを、イメージDSP120に出力する。イメージセンサ110は、ユーザが連写操作(例えば、シャッターボタンを押下し続ける操作)を行うと、所定のフレームレートで、撮像した画像のRAWデータを連続出力する。
【0027】
イメージDSP120は、画像データの画像形式を変換する回路である。イメージDSP120は、イメージセンサ110から取得したRAWデータから、1枚の画像に対してYUVデータとJPEGデータの両方を生成する。そして、イメージDSP120は、YUVデータとJPEGデータを、時分割でCPU130に出力する。連写時は、YUVデータとJPEGデータを、それぞれ3fpsで交互に出力する。
【0028】
CPU130は、携帯電話機100が備える機能を制御する演算装置である。CPU130は、ROM161に格納されているプログラムをRAM162に展開して実行する。CPU130が実行するプログラムには、カメラ機能を制御するプログラムが含まれる。
【0029】
カメラ機能に関して、CPU130は、撮像された画像をディスプレイ140に表示する処理とフラッシュメモリ150に記録する処理を行う。例えば、CPU130は、イメージDSP120からYUVデータとJPEGデータを時分割で取得する。そして、取得したYUVデータをディスプレイ140に出力すると共に、取得したJPEGデータを含む画像ファイルをフラッシュメモリ150に格納する。連写時は、CPU130は、撮像された画像を表示する処理と記録する処理を、それぞれ3fpsで交互に実行する。
【0030】
ディスプレイ140は、CPU130が生成する操作画面や、イメージセンサ110で撮像された画像を表示する表示装置である。ディスプレイ140として、例えば、LCDを用いることができる。ディスプレイ140は、YUVデータをCPU130から取得して、画像を表示する。連写時には、撮像された画像のYUVデータを3fpsで取得し、撮像された画像を順次表示する。ただし、画面のちらつきを抑制するため、撮像された画像の間に黒画像を表示する。黒画像データは、CPU130から取得する。
【0031】
フラッシュメモリ150は、画像データを含む各種のデータを記憶する不揮発性メモリである。フラッシュメモリ150には、CPU130により、JPEGデータを含む画像ファイルが書き込まれる。連写時には、撮像された画像に対応する画像ファイルが3fpsで順次書き込まれる。なお、フラッシュメモリ150は、携帯電話機100に対して着脱可能なカード型メモリであってもよい。また、フラッシュメモリ150に代えて、他の種類の不揮発性の記憶媒体を用いてもよい。
【0032】
ROM161は、CPU130で実行されるプログラムおよび当該プログラムの実行に伴って参照されるデータを予め記憶するメモリである。ROM161に格納されたプログラムおよびデータは、CPU130により読み出される。ROM161に格納されているプログラムには、カメラ機能を制御するためのプログラムが含まれる。なお、ROM161に代えて、フラッシュメモリなど書き換え可能な不揮発性メモリを用いてもよい。
【0033】
RAM162は、CPU130で実行されるプログラムおよび当該プログラムの実行に伴って参照されるデータの少なくとも一部を一時的に記憶する揮発性メモリである。CPU130により、RAM162への書き込みおよびRAM162からの読み出しが行われる。なお、RAM162に代えて、他の種類のメモリを用いてもよい。
【0034】
無線通信部163は、CPU130の制御のもと、無線基地局など他の無線通信装置と無線通信を行う。例えば、無線通信部163は、携帯電話機100が備えるアンテナを介して受信した無線信号を復調および復号し、得られた受信データをCPU130に出力する。また、CPU130から取得した送信データを符号化および変調し、得られた送信信号をアンテナを介して無線出力する。
【0035】
キーパッド164は、複数の入力キーを備えた入力デバイスである。キーパッド164は、ユーザにより何れかの入力キーが押下されると、押下された入力キーを示す入力信号をCPU130に出力する。入力キーには、数字やアルファベットなどの文字を入力するための文字キーと、イメージセンサ110による撮像の開始・終了や無線による通話の開始・終了などを指示するための機能キーが含まれる。
【0036】
マイクロホン165は、音の物理振動を電気信号に変換して音声入力を受け付け、音声信号としての電気信号をCPU130に出力する。例えば、ユーザが通話を行っているとき、ユーザの声や携帯電話機100側の背景雑音がマイクロホン165から入力される。
【0037】
スピーカ166は、CPU130の制御のもと、音声信号としての電気信号を物理振動に変換して音を再生する。例えば、携帯電話機100のユーザが通話を行っているとき、通話相手の声や通話相手側の背景雑音がスピーカ166から出力される。
【0038】
なお、イメージセンサ110は、第1の実施の形態の撮像素子11の一例である。イメージDSP120は、変換部12の一例である。CPU130は、演算部13の一例である。ディスプレイ140は、表示装置14の一例である。フラッシュメモリ150は、記憶装置15の一例である。
【0039】
図3は、イメージDSPを示すブロック図である。イメージDSP120は、YUV変換部121、画素数変換部122、JPEGエンコード部123および多重化部124を有する。
【0040】
YUV変換部121は、イメージセンサ110から取得したRAWデータを、1画像分ずつYUVデータに変換する。そして、YUVデータを、画素数変換部122およびJPEGエンコード部123に出力する。
【0041】
ここで、YUVデータは、Y成分のデータ(Yデータ)とCb成分のデータ(Cbデータ)とCr成分のデータ(Crデータ)とを含む。Yデータは、輝度信号の集合である。Cbデータは、輝度信号と青色成分(B)の差を示す色差信号の集合である。Crデータは、輝度信号と赤色成分(R)の差を示す色差信号の集合である。第2の実施の形態では例えば、画像形式としてYUV422を想定する。YUV422では、隣接する2画素が、2バイトのY信号と1バイトのCb信号と1バイトのCr信号によって表現される。ただし、YUV422以外の画像形式を用いることも可能である。
【0042】
画素数変換部122は、YUV変換部121から取得したYUVデータに対して、画素数の変換(通常は、画素数の削減、すなわち、画像の縮小)を行う。変換後の画素数は、ディスプレイ140の画素数に対応する。これは、ディスプレイ140よりも画素数の多い画像をフラッシュメモリ150に記録できるようにするためである。ディスプレイ140の画素数は、例えば、640×480画素である。そして、画素数変換部122は、画素数を変換した後のYUVデータを多重化部124に出力する。
【0043】
JPEGエンコード部123は、YUV変換部121から取得したYUVデータを、JPEGデータにエンコードする。例えば、JPEGエンコード部123は、YUVデータの8×8画素毎に、離散コサイン変換(DCT:Discrete Cosine Transform)を行い、周波数成分の配列を得る。そして、JPEGエンコード部123は、JPEGデータを多重化部124に出力する。なお、JPEGデータの画像(フラッシュメモリ150に記録する画像)の画素数が、CPU130から撮像開始前に指定される。
【0044】
多重化部124は、画素数変換部122から取得したYUVデータと、JPEGエンコード部123から取得したJPEGデータとを、時分割多重しCPU130に出力する。例えば、多重化部124は、YUVデータの転送とJPEGデータの転送に共通に用いるフォーマットに、YUVデータまたはJPEGデータを挿入する。そして、YUVデータを含むフォーマットのデータとJPEGデータを含むフォーマットのデータを、交互に出力する。なお、多重化部124は、CPU130から指定されたJPEGデータの画像の画素数に基づいて、フォーマットのサイズを撮像開始前に決定する。
【0045】
図4は、CPUの表示・保存機能を示すブロック図である。携帯電話機100では、CPU130が所定のプログラムを実行することで、カメラ設定部131、分離部132、表示処理部133、黒画像生成部134および保存処理部135の機能が実現される。
【0046】
カメラ設定部131は、JPEGデータの画像(フラッシュメモリ150に記録する画像)の画素数を、イメージDSP120に対して指定する。画像の画素数は、例えば、撮像開始前にユーザがキーパッド164を用いて、複数の画素数の候補の中から選択する。画像の画素数は、例えば、300万画素に設定することが考えられる。また、カメラ設定部131は、イメージDSP120に対して指定した画素数に基づいて、イメージDSP120から取得するデータのフォーマットのサイズを、撮像開始前に算出しておく。
【0047】
分離部132は、イメージDSP120から取得するデータを、YUVデータを含むフォーマットのデータとJPEGデータを含むフォーマットのデータとに分離する。フォーマットにYUVデータとJPEGデータの何れが挿入されているかは、後述するように、フォーマットに含まれるヘッダ情報に基づいて判断する。分離部132は、YUVデータを含むフォーマットのデータを、表示処理部133に出力する。また、JPEGデータを含むフォーマットのデータを、保存処理部135に出力する。
【0048】
表示処理部133は、分離部132から取得したデータのフォーマットから、YUVデータを抽出する。そして、抽出したYUVデータを、ディスプレイ140に出力する。連写時には、表示処理部133は、撮像された画像のYUVデータの間に、黒画像生成部134から取得した黒画像のYUVデータを、ディスプレイ140に出力する。すなわち、撮像された画像と黒画像を、それぞれ3fpsで交互にディスプレイ140に表示する。また、表示処理部133は、撮像された画像のYUVデータを取得した際、シャッター音が鳴るよう、スピーカ166にシャッター音の音声信号を出力する。
【0049】
黒画像生成部134は、ディスプレイ140の全面に黒画像を表示するためのYUVデータを生成し、表示処理部133に出力する。なお、撮像された画像の間にディスプレイ140に表示する画像は、所定のダミー画像であればよく、黒画像でなくてもよい。
【0050】
保存処理部135は、分離部132から取得したデータのフォーマットから、JPEGデータを抽出する。JPEGデータは可変長のデータであるため、後述するように、ヘッダ情報を参照してJPEGデータが挿入されている位置を特定する。そして、保存処理部135は、抽出したJPEGデータを含むファイルを生成し、所定の規則に従ってファイル名を付与して、フラッシュメモリ150に格納する。
【0051】
図5は、画像データのフォーマット例を示す図である。図5に示したフォーマットのデータが、イメージDSP120からCPU130に転送される。フォーマットは、Y領域とCb領域とCr領域を含む。Y領域・Cb領域・Cr領域それぞれの前には、固定長の(例えば、4ライン分の)ヘッダ領域が設けられている。
【0052】
フォーマットの全体のサイズは、JPEGデータの画像の画素数に応じて決まる。Y領域とCb領域とCr領域のサイズの比は、YUVデータに含まれるYデータとCbデータとCrデータのデータ量の比に一致することが好ましい。YUVデータの画像形式としてYUV422を用いた場合、Y領域とCb領域とCr領域のサイズの比は、2:1:1である。Y領域とCb領域とCr領域のサイズの比を一定にすることで、フォーマット内の各領域の位置を算出することが容易となる。
【0053】
YUVデータを含むフォーマットでは、Y領域に、固定長(例えば、640×480バイト)のYデータが挿入される。Y領域の残りの部分には、任意のビット列であるダミーデータが挿入される。また、Cb領域に、固定長(例えば、640×240バイト)のCbデータが挿入される。Cb領域の残りの部分には、ダミーデータが挿入される。同様に、Cr領域に、固定長(例えば、640×240バイト)のCrデータが挿入される。Cr領域の残りの部分には、ダミーデータが挿入される。表示処理部133は、フォーマットからダミーデータを除去することで、YUVデータを得ることができる。
【0054】
JPEGデータを含むフォーマットでは、Y領域・Cb領域・Cr領域の一部または全部に、JPEGエンコードによって得られるバイナリデータである、可変長のJPEGデータが挿入される。保存処理部135は、フォーマットからJPEGバイナリデータを抽出することで、JPEGファイルを生成することができる。
【0055】
ここで、JPEGバイナリデータの挿入方法は、幾つかの方法が考えられる。例えば、Y領域にのみJPEGバイナリデータを挿入する方法がある。その場合、Y領域にJPEGバイナリデータ全体が収まるようフォーマットのサイズが算出される。また、Y領域・Cb領域・Cr領域を順にJPEGバイナリデータで埋めていく方法や、JPEGバイナリデータをY領域・Cb領域・Cr領域のサイズ比(例えば、2:1:1)で3分割し、Y領域・Cb領域・Cr領域に挿入する方法もある。その場合、Y領域・Cb領域・Cr領域全体でJPEGバイナリデータが収まるようフォーマットのサイズが算出される。
【0056】
ヘッダ領域には、ヘッダ情報が挿入される。ヘッダ情報は、フォーマットのサイズを示す情報や、シャッタースピードなどのEXIF(Exchangeable Image File Format)のメタ情報を含む。また、ヘッダ情報は、画像データの画像形式を示す情報や、Y領域・Cb領域・Cr領域への画像データの挿入方法を示す情報などを含む。
【0057】
図6は、画像データのヘッダのフォーマット例を示す図である。図6に示すヘッダ情報が、フォーマットの先頭(Y領域の前)のヘッダ領域に挿入される。このヘッダ領域は、例えば、4ラインの固定長とする。ヘッダ情報は、YUVデータとJPEGデータの転送に関する情報として、32バイトのバイト列を含む。
【0058】
32バイトのうち8バイトは、画像形式およびJPEGバイナリデータの分割の有無を示すバイト列である。YUV422データが挿入されている場合、“YUV422”を示す文字コード“59 55 56 34 32 32 00 00”が設定される。JPEGバイナリデータが分割されずに挿入されている場合、“JPEG1”を示す文字コード“4A 50 45 47 31 00 00 00”が設定される。JPEGバイナリデータが3分割されて挿入されている場合、“JPEG3”を示す文字コード“4A 50 45 47 33 00 00 00”が設定される。
【0059】
32バイトのうち3×8=24バイトは、Y領域・Cb領域・Cr領域に挿入されたJPEGバイナリデータのサイズを示すバイト列である。YUV422データが挿入されている場合、任意のバイト列であるダミーバイトが設定される。JPEGバイナリデータがY領域のみに挿入されている場合、JPEGバイナリデータのサイズを示す8バイトの数値と、2×8バイトのダミーバイトとが設定される。JPEGバイナリデータが3分割されて挿入されている場合、Y領域のJPEGバイナリデータのサイズを示す8バイトの数値と、Cb領域のJPEGバイナリデータのサイズを示す8バイトの数値と、Cr領域のJPEGバイナリデータのサイズを示す8バイトの数値とが設定される。
【0060】
図7は、イメージDSP処理を示すフローチャートである。このフローチャートは、連写時にイメージDSP120が実行する処理を示している。以下、図7に示す処理をステップ番号に沿って説明する。
【0061】
(ステップS11)JPEGエンコード部123は、例えば、連写開始前に、CPU130から指定された画素数を、生成するJPEGデータの画像の画素数として設定する。多重化部124は、例えば、連写開始前に、CPU130から指定された画素数に基づいて、フォーマットのサイズを設定する。画素数が大きいほど、フォーマットのサイズを大きくする。また、JPEGエンコード部123は、イメージセンサ110で撮像される画像の方向、すなわち、携帯電話機100が縦向きか横向きかが、CPU130から通知される。
【0062】
ここで、フォーマットのサイズの算出方法は、予めCPU130と共通に設定される。算出方法は、前述の通り、JPEGバイナリデータの転送にY領域・Cb領域・Cr領域の何れが使用され得るかによって異なる。Y領域・Cb領域・Cr領域の全てを使用した方が、フォーマットのサイズが小さくて済む。多重化部124は、画素数とフォーマットのサイズとの対応関係を示す情報を予め保持していてもよい。
【0063】
(ステップS12)YUV変換部121は、イメージセンサ110から取得した画像1枚分のRAWデータを、YUVデータに変換する。そして、YUVデータを、画素数変換部122とJPEGエンコード部123の両方に出力する。
【0064】
(ステップS13)画素数変換部122は、YUV変換部121から取得したYUVデータの画像の画素数を、ディスプレイ140の画素数に合うように変換する。例えば、画素数を、VGA(Video Graphics Array)サイズの640×480画素に変換する。
【0065】
(ステップS14)多重化部124は、画素数変換部122から取得したYUVデータをフォーマットに挿入し、CPU130に出力する。すなわち、多重化部124は、YデータをY領域に挿入し、CbデータをCb領域に挿入し、CrデータをCr領域に挿入する。また、ヘッダ領域に、YUVデータであることを示す識別情報を挿入する。
【0066】
(ステップS15)JPEGエンコード部123は、CPU130から通知されている画像の方向に応じて、YUV変換部121から取得したYUVデータに対し、画像の回転操作を行う。撮像される画像の方向がフラッシュメモリ150に記録すべき画像の方向と一致している場合は、回転操作を行わなくてよい。
【0067】
(ステップS16)JPEGエンコード部123は、DCTなどの演算を行うことで、YUVデータをJPEGデータにエンコードする。
(ステップS17)多重化部124は、JPEGエンコード部123から取得したJPEGデータを、バイナリデータとしてフォーマットに挿入し、CPU130に出力する。JPEGバイナリデータの挿入方法には、前述の通り、幾つかの方法が考えられる。例えば、JPEGバイナリデータを3分割しY領域・Cb領域・Cr領域に挿入する。また、多重化部124は、ヘッダ領域に、JPEGデータであることを示す識別情報およびJPEGバイナリデータの挿入方法を示す情報を挿入する。
【0068】
(ステップS18)YUV変換部121は、連写が終了したか、すなわち、イメージセンサ110からのRAWデータの供給が停止したか判断する。連写が終了した場合、処理を終了する。連写が終了していない場合、処理をステップS12に進める。
【0069】
このように、イメージDSP120は、連写時、表示用のYUVデータと記録用のJPEGデータを、共通のフォーマットに挿入して交互に出力する。なお、図7の例では、各画像についてYUVデータを先に出力しJPEGデータを後に出力したが、YUVデータとJPEGデータの出力順序を逆にしてもよい。
【0070】
図8は、CPU処理を示すフローチャートである。このフローチャートは、連写時に、CPU130がプログラムを実行することで実現される処理を示している。以下、図8に示す処理をステップ番号に沿って説明する。
【0071】
(ステップS21)カメラ設定部131は、例えば、連写開始前に、フラッシュメモリ150に記録する画像の画素数を、イメージDSP120に対して指定する。画素数は、例えば、ユーザの画面操作によって複数の画素数の候補の中から1つ(例えば、300万画素)が選択される。また、カメラ設定部131は、画素数に基づいて、イメージDSP120が画像データの出力に用いるフォーマットのサイズを算出する。フォーマットのサイズの算出方法は、前述の通り、予めイメージDSP120と共通に設定されている。カメラ設定部131は、画素数とフォーマットのサイズとの対応関係を示す情報を予め保持していてもよい。また、カメラ設定部131は、携帯電話機の向き(縦向きまたは横向き)を検出し、撮像される画像の方向をイメージDSP120に通知する。
【0072】
(ステップS22)分離部132は、イメージDSP120から画像1枚分のデータを取得すると、ヘッダ領域から画像形式を示す識別情報を抽出する。
(ステップS23)分離部132は、ステップS22で抽出した識別情報に基づいて、フォーマットに挿入されている画像データがYUVデータであるか否か判断する。YUVデータの場合、処理をステップS24に進める。YUVデータでない場合、すなわち、JPEGデータである場合、処理をステップS27に進める。
【0073】
(ステップS24)表示処理部133は、ステップS21でカメラ設定部131が算出したフォーマットのサイズに基づいて、Y領域・Cb領域・Cr領域の位置を算出する。そして、フォーマットの各領域に含まれるダミーデータを除去する。
【0074】
(ステップS25)表示処理部133は、シャッター音を示す音声信号を、スピーカ166に出力する。これにより、スピーカ166でシャッター音が再生される。
(ステップS26)表示処理部133は、フォーマットに含まれるダミーデータを除去することで得られたYUVデータを、ディスプレイ140に出力する。これにより、ディスプレイ140に、イメージセンサ110で撮像された画像が表示される。そして、処理をステップS30に進める。
【0075】
(ステップS27)保存処理部135は、ステップS21でカメラ設定部131が算出したフォーマットのサイズに基づいて、Y領域・Cb領域・Cr領域の位置を算出する。また、ヘッダ領域から、JPEGバイナリデータの挿入方法を示す情報を抽出する。そして、保存処理部135は、Y領域・Cb領域・Cr領域の中の挿入範囲を特定し、バイナリデータとして挿入されているJPEGデータを抽出する。
【0076】
(ステップS28)保存処理部135は、ステップS27で抽出したJPEGデータを含む画像ファイルを生成する。そして、生成した画像ファイルを、所定の規則に基づいてファイル名を付与して、フラッシュメモリ150に格納する。
【0077】
(ステップS29)黒画像生成部134は、ディスプレイ140に表示する黒画像のデータを生成する。表示処理部133は、黒画像生成部134が生成した黒画像データを、ディスプレイ140に出力する。これにより、撮像された画像がステップS26において表示される合間に、黒画像がディスプレイ140に表示される。
【0078】
(ステップS30)分離部132は、連写が終了したか、すなわち、イメージDSP120からの画像データの供給が停止したか判断する。連写が終了した場合、処理を終了する。連写が終了していない場合、処理をステップS22に進める。
【0079】
図9は、JPEGバイナリデータの第1の挿入方法を示す図である。第1の挿入方法では、Y領域・Cb領域・Cr領域のうちY領域のみに、JPEGバイナリデータが挿入される。よって、JPEGバイナリデータがY領域に収まるように、JPEG画像の画素数に応じてフォーマットのサイズが決定される。
【0080】
時刻tでは、ある画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。時刻t+1では、時刻tと同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。JPEGバイナリデータは、Y領域のみに挿入される。
【0081】
時刻t+2では、時刻tと異なる画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。YUVデータのサイズは、時刻tと同じである。時刻t+3では、時刻t+2と同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。JPEGバイナリデータは、Y領域のみに挿入される。ただし、JPEGバイナリデータのサイズは、時刻t+1と異なる可能性がある。
【0082】
時刻t+4では、時刻t+2と異なる画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。YUVデータのサイズは、時刻t+2と同じである。時刻t+5では、時刻t+4と同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。JPEGバイナリデータは、Y領域のみに挿入される。ただし、JPEGバイナリデータのサイズは、時刻t+3と異なる可能性がある。
【0083】
図10は、JPEGバイナリデータの第2の挿入方法を示す図である。第2の挿入方法では、JPEGバイナリデータがY領域とCb領域とCr領域とのサイズの比(例えば、2:1:1)に従って3分割され、Y領域・Cb領域・Cr領域に挿入される。よって、JPEGバイナリデータがY領域・Cb領域・Cr領域の全体に収まるように、JPEG画像の画素数に応じてフォーマットのサイズが決定される。
【0084】
時刻tでは、ある画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。時刻t+1では、時刻tと同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。JPEGバイナリデータは、3つの領域に分散して挿入される。
【0085】
時刻t+2では、時刻tと異なる画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。YUVデータのサイズは、時刻tと同じである。時刻t+3では、時刻t+2と同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。JPEGバイナリデータは、3つの領域に分散して挿入される。ただし、各領域のJPEGバイナリデータのサイズは、時刻t+1と異なる可能性がある。
【0086】
時刻t+4では、時刻t+2と異なる画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。YUVデータのサイズは、時刻t+2と同じである。時刻t+5では、時刻t+4と同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。JPEGバイナリデータは、3つの領域に分散して挿入される。ただし、各領域のJPEGバイナリデータのサイズは、時刻t+3と異なる可能性がある。
【0087】
図11は、JPEGバイナリデータの第3の挿入方法を示す図である。第3の挿入方法では、Y領域・Cb領域・Cr領域のうちY領域から順に、JPEGバイナリデータを埋めていく。よって、JPEGバイナリデータがY領域・Cb領域・Cr領域の全体に収まるように、JPEG画像の画素数に応じてフォーマットのサイズが決定される。
【0088】
時刻tでは、ある画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。時刻t+1では、時刻tと同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。ここでは、JPEGバイナリデータのサイズが、Y領域のサイズより大きく、Y領域とCb領域のサイズの合計以下である。よって、JPEGバイナリデータは、Y領域・Cb領域・Cr領域のうち、Y領域とCb領域に挿入される。
【0089】
時刻t+2では、時刻tと異なる画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。YUVデータのサイズは、時刻tと同じである。時刻t+3では、時刻t+2と同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。ここでは、JPEGバイナリデータのサイズが、Y領域のサイズより小さい。よって、JPEGバイナリデータは、Y領域・Cb領域・Cr領域のうちY領域のみに挿入される。
【0090】
時刻t+4では、時刻t+2と異なる画像のYUVデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。YUVデータのサイズは、時刻t+2と同じである。時刻t+5では、時刻t+4と同一の画像のJPEGバイナリデータを含むフォーマットのデータが、イメージDSP120からCPU130に転送される。ここでは、JPEGバイナリデータのサイズが、Y領域とCb領域のサイズの合計より大きい。よって、JPEGバイナリデータは、3つの領域に挿入される。
【0091】
図12は、画像データの転送の流れを示すシーケンス図である。連写時、イメージセンサ110、イメージDSP120、CPU130、ディスプレイ140およびフラッシュメモリ150の間で、図12に示すような流れでデータが転送される。
【0092】
イメージセンサ110は、撮像した画像のRAWデータをイメージDSP120に出力する(ステップS31)。イメージDSP120は、RAWデータをYUVデータに変換し、CPU130に出力する(ステップS32)。CPU130は、YUVデータをディスプレイ140に出力する(ステップS33)。イメージDSP120は、YUVデータをJPEGデータにエンコードし、CPU130に出力する(ステップS34)。CPU130は、JPEGデータをフラッシュメモリ150に格納し(ステップS35)、黒画像データをディスプレイ140に出力する(ステップS36)。
【0093】
そして、次の画像について、ステップS31〜S36と同様の処理が行われる(ステップS37〜S42)。このように、イメージセンサ110で撮像された各画像に対する表示処理および記録処理が、連写が終了するまで繰り返される。なお、YUVデータおよびJPEGデータの取得(ステップS32,S34)と表示処理および記録処理(ステップS33,S35)とは、RAM162上のバッファに画像データを一時的に格納することで、非同期で実行することができる。よって、CPU130は、表示処理(ステップS33)を、JPEGデータの取得(ステップS34)後に実行してもよい。
【0094】
このような第2の実施の形態の携帯電話機100によれば、連写時の画像の連続的な表示および記録を円滑に実行することができる。すなわち、イメージDSP120が、表示用のYUVデータと記録用のJPEGデータの両方を生成して交互に出力するため、CPU130の負荷が軽減される。また、イメージDSP120が、共通のフォーマットを用いて画像データを出力するため、CPU130が異なる画像形式の画像データを交互に抽出することが容易となる。よって、CPU130の負荷がボトルネックとなって連写可能時間が制限されてしまうことを抑制できる。例えば、携帯電話機100では、CPU130はカメラ機能の制御以外の処理も実行することから、負荷の低減は有効である。
【0095】
また、イメージDSP120が、YUVデータとJPEGデータを生成するため、フラッシュメモリ150に記録する画像の画素数を、ディスプレイ140の画素数より大きくすることが容易となる。また、イメージDSP120が、JPEG画像の画素数に応じてフォーマットのサイズを変えることで、フォーマットのサイズの増大を抑制でき、処理の負荷を軽減できる。また、イメージDSP120が、JPEGバイナリデータをフォーマット内のY領域・Cb領域・Cr領域に分散して挿入することで、フォーマットのサイズの増大を抑制でき、処理の負荷を軽減できる。また、イメージDSP120が、フォーマットのヘッダ領域内に画像形式を示す識別情報を挿入することで、CPU130が取得した画像データの画像形式を容易に判断できるようになる。また、撮像された画像の間に黒画像を表示することで、表示用の画像データと記録用の画像データが交互にイメージDSP120から出力されることに伴う画像のちらつきを抑制できる。
【符号の説明】
【0096】
10 画像データ処理装置
11 撮像素子
12 変換部
13 演算部
14 表示装置
15 記憶装置
【特許請求の範囲】
【請求項1】
撮像素子で撮像された複数の画像のデータを処理する画像データ処理装置であって、
前記撮像された画像それぞれについて、第1の画像形式の第1の画像データと第2の画像形式の第2の画像データとを生成し、前記第1の画像データと前記第2の画像データとを時分割で出力する変換部と、
前記変換部が時分割で出力した前記第1および第2の画像データを取得し、前記第1の画像データを用いて表示装置に前記撮像された画像を表示する処理を行い、前記第2の画像データを用いて記憶装置に前記撮像された画像を記録する処理を行う演算部と、
を有することを特徴とする画像データ処理装置。
【請求項2】
前記変換部は、前記第1および第2の画像データそれぞれを、前記第1の画像データと前記第2の画像データとに共通に使用するフォーマットに挿入して出力することを特徴とする請求項1記載の画像データ処理装置。
【請求項3】
前記フォーマットは、挿入されている画像データの画像形式を示すヘッダ情報を含み、
前記演算部は、前記ヘッダ情報を参照して、前記フォーマットに挿入されている前記第1の画像データまたは前記第2の画像データを抽出する、
ことを特徴とする請求項2記載の画像データ処理装置。
【請求項4】
前記演算部は、前記第2の画像データの画素数を前記変換部に対して指定し、
前記変換部は、前記演算部から指定された前記第2の画像データの画素数に応じて、前記フォーマットのサイズを変更する、
ことを特徴とする請求項2記載の画像データ処理装置。
【請求項5】
前記第1の画像データは、複数の成分のデータを含み、
前記フォーマットは、前記複数の成分に対応する複数の領域を含み、
前記変換部は、前記第2の画像データを、前記複数の領域のうち所定の一の領域に挿入するか、または、前記複数の領域に分散させて挿入する、
ことを特徴とする請求項2記載の画像データ処理装置。
【請求項6】
前記演算部は、前記第2の画像データを取得したとき、ダミー画像を前記表示装置に表示する処理を行うことを特徴とする請求項1記載の画像データ処理装置。
【請求項7】
前記変換部は、前記撮像素子から前記複数の画像のデータを順次取得し、前記第1の画像データと前記第2の画像データとを交互に出力することを特徴とする請求項1記載の画像データ処理装置。
【請求項8】
撮像素子で撮像された複数の画像のデータを処理する、変換部と演算部とを有する装置が実行する画像データ処理方法であって、
前記変換部が、前記撮像された画像それぞれについて、第1の画像形式の第1の画像データと第2の画像形式の第2の画像データとを生成し、前記第1の画像データと前記第2の画像データとを時分割で出力し、
前記演算部が、時分割で出力された前記第1および第2の画像データのうち前記第1の画像データを用いて、表示装置に前記撮像された画像を表示する処理を行い、
前記演算部が、時分割で出力された前記第1および第2の画像データのうち前記第2の画像データを用いて、記憶装置に前記撮像された画像を記録する処理を行う、
ことを特徴とする画像データ処理方法。
【請求項1】
撮像素子で撮像された複数の画像のデータを処理する画像データ処理装置であって、
前記撮像された画像それぞれについて、第1の画像形式の第1の画像データと第2の画像形式の第2の画像データとを生成し、前記第1の画像データと前記第2の画像データとを時分割で出力する変換部と、
前記変換部が時分割で出力した前記第1および第2の画像データを取得し、前記第1の画像データを用いて表示装置に前記撮像された画像を表示する処理を行い、前記第2の画像データを用いて記憶装置に前記撮像された画像を記録する処理を行う演算部と、
を有することを特徴とする画像データ処理装置。
【請求項2】
前記変換部は、前記第1および第2の画像データそれぞれを、前記第1の画像データと前記第2の画像データとに共通に使用するフォーマットに挿入して出力することを特徴とする請求項1記載の画像データ処理装置。
【請求項3】
前記フォーマットは、挿入されている画像データの画像形式を示すヘッダ情報を含み、
前記演算部は、前記ヘッダ情報を参照して、前記フォーマットに挿入されている前記第1の画像データまたは前記第2の画像データを抽出する、
ことを特徴とする請求項2記載の画像データ処理装置。
【請求項4】
前記演算部は、前記第2の画像データの画素数を前記変換部に対して指定し、
前記変換部は、前記演算部から指定された前記第2の画像データの画素数に応じて、前記フォーマットのサイズを変更する、
ことを特徴とする請求項2記載の画像データ処理装置。
【請求項5】
前記第1の画像データは、複数の成分のデータを含み、
前記フォーマットは、前記複数の成分に対応する複数の領域を含み、
前記変換部は、前記第2の画像データを、前記複数の領域のうち所定の一の領域に挿入するか、または、前記複数の領域に分散させて挿入する、
ことを特徴とする請求項2記載の画像データ処理装置。
【請求項6】
前記演算部は、前記第2の画像データを取得したとき、ダミー画像を前記表示装置に表示する処理を行うことを特徴とする請求項1記載の画像データ処理装置。
【請求項7】
前記変換部は、前記撮像素子から前記複数の画像のデータを順次取得し、前記第1の画像データと前記第2の画像データとを交互に出力することを特徴とする請求項1記載の画像データ処理装置。
【請求項8】
撮像素子で撮像された複数の画像のデータを処理する、変換部と演算部とを有する装置が実行する画像データ処理方法であって、
前記変換部が、前記撮像された画像それぞれについて、第1の画像形式の第1の画像データと第2の画像形式の第2の画像データとを生成し、前記第1の画像データと前記第2の画像データとを時分割で出力し、
前記演算部が、時分割で出力された前記第1および第2の画像データのうち前記第1の画像データを用いて、表示装置に前記撮像された画像を表示する処理を行い、
前記演算部が、時分割で出力された前記第1および第2の画像データのうち前記第2の画像データを用いて、記憶装置に前記撮像された画像を記録する処理を行う、
ことを特徴とする画像データ処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−59115(P2012−59115A)
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2010−203027(P2010−203027)
【出願日】平成22年9月10日(2010.9.10)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願日】平成22年9月10日(2010.9.10)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]