JP2009130563A - データ処理装置、データ処理方法およびデータ処理プログラム、ならびに、撮像装置、撮像装置の制御方法および撮像装置の制御プログラム - Google Patents

データ処理装置、データ処理方法およびデータ処理プログラム、ならびに、撮像装置、撮像装置の制御方法および撮像装置の制御プログラム Download PDF

Info

Publication number
JP2009130563A
JP2009130563A JP2007302552A JP2007302552A JP2009130563A JP 2009130563 A JP2009130563 A JP 2009130563A JP 2007302552 A JP2007302552 A JP 2007302552A JP 2007302552 A JP2007302552 A JP 2007302552A JP 2009130563 A JP2009130563 A JP 2009130563A
Authority
JP
Japan
Prior art keywords
data
unit
processing
image data
output
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
Application number
JP2007302552A
Other languages
English (en)
Inventor
Yuji Kawamura
裕二 川村
Takeshi Yoshida
剛 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2007302552A priority Critical patent/JP2009130563A/ja
Publication of JP2009130563A publication Critical patent/JP2009130563A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】可変長符号または固定長符号を用いて圧縮符号化されたデータを安定的に転送可能とする。
【解決手段】RAW圧縮部54は、圧縮RAWデータが書き込まれるSDRAMのバースト長と等しいか、または、バースト長より短いデータ長をデータ単位として、データ単位毎に所定間隔Tintを空けて圧縮RAWデータを出力する。こうしてRAW圧縮部54から当該データ単位で出力された圧縮RAWデータは、バスI/F55に供給される。バスI/F55のバッファにSDRAMのバースト長分のデータが溜め込まれたら、バッファからバースト長分のデータが読み出されてバス21を介してSDRAMに転送される。バスI/F55からバス21に転送される転送データ量が平滑化され、バスI/F55からバス21に対して、突発的に大容量のデータ転送が発生することがなくなり、バス21の混雑が緩和される。
【選択図】図2

Description

この発明は、動画像と静止画像とを記録可能なデータ処理装置、データ処理方法およびデータ処理プログラム、ならびに、撮像装置、撮像装置の制御方法および撮像装置の制御プログラムに関し、特に、動画像を記録しながら静止画像を記録する際に、データの転送量を分散させるようにした構成に関する。
一般に、静止画像の撮影を主とするディジタルスチルカメラや、動画像の撮影を主とするディジタルビデオカメラの撮像素子の走査方法は、静止画撮影と動画撮影で各々適したものが主となり、その走査方法がシステム全体に大きく関与している。近年のディジタルスチルカメラは、数100万以上の画素数を持つ撮像素子を使用しており、より高解像度な静止画像を記録するために、撮像素子からの出力として、1/30秒若しくはそれ以上の時間をかけた順次走査を行った画像信号が採用されている。また、近年では、撮像素子から出力される撮像信号をそのまま用いたRAWデータをそのまま用いることで、より高解像度の静止画像出力を実現する例も多くなっている。一方、ディジタルビデオカメラは、被写体の動解像度を上げるため、1/60秒毎の飛越走査による画像信号が採用されることが多い。
このように、用途に応じて撮像素子の走査方法を適宜選択する場合において、1台の撮像装置において動画像と静止画像とを並列的に記録することを考える。
例えば静止画像記録の品位を優先したシステムの場合、1/30秒毎若しくはそれ以上の順次走査による画像を用いて動画像を記録することになるため、動解像度が不足することになる。逆に、動画像記録の品位を優先したシステムの場合、静止画像を、静止画記録指示が行われた瞬間(例えばシャッタボタンを押した時点)の1枚の動画像から取得する方法が考えられる。この場合には、色差補正やガンマ補正など基本的な画質処理が動画主体となり、必ずしも静止画に適した処理が行われないおそれがある。
さらに、動画像記録と静止画像記録の両機能を、撮像素子と処理手段とを共通に用いて互いに高品位な画像取得を目的として実現しようとした場合、走査方法など撮像素子全体の動作切換が必要となってくる。その結果、例えば動画像記録の最中に、高解像度な静止画像記録の指示が行われた場合、撮像素子の制御の切り換えと撮像信号処理の動作切換とが必要となり、静止画像取得期間中は、撮像素子から出力される動画像に適した撮像信号が途切れてしまうため、動画像記録が時間的に不連続となるおそれがある。
この静止画記録に伴う動画像記録の不連続性を回避するための技術が、特許文献1に記載されている。この特許文献1の記載によれば、動画周期のN(N≧2)倍毎に動画像よりも高い解像度を有する撮像信号を出力することで、動画像の解像度や画質を落とすことなく高解像度な静止画を得ることを可能としている。一方、この特許文献1に記載の方法によれば、動画周期のN倍毎に静止画用の高解像度信号を出力することは、換言すれば、残りの(N−1)フレーム期間に出力される撮像信号は、動画用の解像度となってしまうことになる。
特開2002−44531号公報
上述の問題を回避するために、静止画記録に用いるRAWデータをメモリに一時的に保存し、動画処理後にRAWデータに対する処理(現像処理など)を行う方法が提案されている。この場合、RAWデータの保存に用いるメモリの記憶容量により記録可能な静止画像の枚数が制限されてしまうことになる。この制限を回避するために、このRAWデータをメモリに一時的に保存する場合に、動画像の記録中、例えば水平ブランキング期間や垂直ブランキング期間にメモリからRAWデータを読み出し、このRAWデータに対して現像処理など所定の処理を施す方法も提案されている。
ここで、RAWデータに対して画質の劣化を抑えた圧縮符号化処理を施してメモリに転送し保存することで、システム全体としてメモリ帯域の増加を抑制することができる。これにより、動画記録動作中の静止画記録を、より確実に行うことが可能となる。
RAWデータに施す圧縮符号化方式としては、一定量のRAWデータに対して固定長の符号を出力する方式と、可変長の符号を出力する方式とが考えられる。可変長符号を用いる方式は、固定長符号を用いる方式に比べ圧縮効率が高く、より好ましい。
ところが、可変長符号を用いてRAWデータの圧縮符号化を行った場合、画像の絵柄や量子化を行う際の量子化スケールなどにより圧縮率に大きな変動が発生し、単位時間当たりの符号量の分布が変動することになる。これにより、システム全体のバス帯域の総和量が保証し難くなるという問題点があった。すなわち、動画記録動作中に静止画記録を行うような場合、RAWデータの圧縮率の変動に応じてメモリ帯域の確保が困難になり、処理が破綻する可能性があるという問題点があった。
また、RAWデータの圧縮符号化を固定長符号を用いて行った場合であっても、動画記録動作中に静止画記録を行うような場合に圧縮RAWデータのメモリへの転送処理などを安定的に行うためには、より広いメモリ帯域、バス帯域を必要とし、装置コストが嵩んでしまうという問題点があった。
したがって、この発明の目的は、可変長符号または固定長符号を用いて圧縮符号化されたデータを安定的に転送可能なデータ処理装置、データ処理方法およびデータ処理プログラム、ならびに、撮像装置、撮像装置の制御方法および撮像装置の制御プログラムを提供することにある。
上述した課題を解決するために、第1の発明は、データを第1のデータ単位でバス上に転送するデータ転送部と、データに対して所定のデータ処理を施して、第1のデータ単位とデータサイズが等しいか、または、第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力するデータ処理部とを有し、データ処理部から出力されたデータをデータ転送部からバス上に転送することを特徴とするデータ処理装置である。
また、第2の発明は、データを第1のデータ単位でバス上に転送するデータ転送のステップと、データに対して所定のデータ処理を施して、第1のデータ単位とデータサイズが等しいか、または、第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力するデータ処理のステップとを有し、データ処理のステップにより出力されたデータをデータ転送のステップによりバス上に転送することを特徴とするデータ処理方法である。
また、第3の発明は、データを第1のデータ単位でバス上に転送するデータ転送のステップと、データに対して所定のデータ処理を施して、第1のデータ単位とデータサイズが等しいか、または、第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力するデータ処理のステップとを有し、データ処理のステップにより出力されたデータをデータ転送のステップによりバス上に転送するようにしたデータ処理方法をコンピュータに実行させることを特徴とするデータ処理プログラムである。
また、第4の発明は、撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、撮像信号に基づく静止画データに対する処理を動画データの処理と並列的に行えるようにした撮像装置において、光を光電変換で電気信号に変換し撮像信号として出力する撮像部と、撮像部から出力された撮像信号に対して所定の信号処理を施し画像データとして出力する撮像信号処理部と、第1の転送要求を出力し、第1の転送要求に応じて撮像信号処理部から出力された画像データに対してフレームタイミング毎の処理を行い動画データを出力する動画データ処理部と、第2の転送要求を出力し、第2の転送要求に応じて撮像信号処理部から出力された画像データに対して所定のタイミングで処理を行い静止画データを出力する静止画データ処理部とを有し、静止画データ処理部は、撮像信号処理部から出力された画像データを圧縮符号化する圧縮符号化部と、圧縮符号化部から出力された圧縮画像データを第1のデータ単位でバス上に転送するデータ転送部とを備え、圧縮符号化部は、圧縮画像データを第1のデータ単位とデータサイズが等しいか、または、第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力するようにしたことを特徴とする撮像装置である。
また、第5の発明は、撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、撮像信号に基づく静止画データに対する処理を動画データの処理と並列的に行えるようにした撮像装置の制御方法において、光を光電変換で電気信号に変換して撮像部から出力された撮像信号に対して所定の信号処理を施し画像データとして出力する撮像信号処理のステップと、第1の転送要求を出力し、第1の転送要求に応じて撮像信号処理のステップにより出力された画像データに対してフレームタイミング毎の処理を行い動画データを出力する動画データ処理のステップと、第2の転送要求を出力し、第2の転送要求に応じて撮像信号処理のステップにより出力された画像データに対して所定のタイミングで処理を行い静止画データを出力する静止画データ処理のステップとを有し、静止画データ処理のステップは、撮像信号処理のステップにより出力された画像データを圧縮符号化する圧縮符号化のステップと、圧縮符号化のステップにより出力された圧縮画像データを第1のデータ単位でバス上に転送するデータ転送のステップとを備え、圧縮符号化のステップは、圧縮画像データを第1のデータ単位とデータサイズが等しいか、または、第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力するようにしたことを特徴とする撮像装置の制御方法である。
また、第6の発明は、撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、撮像信号に基づく静止画データに対する処理を動画データの処理と並列的に行えるようにした撮像装置の制御方法をコンピュータに実行させる制御プログラムにおいて、光を光電変換で電気信号に変換して撮像部から出力された撮像信号に対して所定の信号処理を施し画像データとして出力する撮像信号処理のステップと、第1の転送要求を出力し、第1の転送要求に応じて撮像信号処理のステップにより出力された画像データに対してフレームタイミング毎の処理を行い動画データを出力する動画データ処理のステップと、第2の転送要求を出力し、第2の転送要求に応じて撮像信号処理のステップにより出力された画像データに対して所定のタイミングで処理を行い静止画データを出力する静止画データ処理のステップとを有し、静止画データ処理のステップは、撮像信号処理のステップにより出力された画像データを圧縮符号化する圧縮符号化のステップと、圧縮符号化のステップにより出力された圧縮画像データを第1のデータ単位でバス上に転送するデータ転送のステップとを備え、圧縮符号化のステップは、圧縮画像データを第1のデータ単位とデータサイズが等しいか、または、第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力するようにした撮像装置の制御方法をコンピュータに実行させることを特徴とする撮像装置の制御プログラムである。
上述したように、第1、第2および第3の発明は、データに対して所定のデータ処理を施して、第1のデータ単位とデータサイズが等しいか、または、第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力し、第1のデータ単位でバス上に転送するようにしているため、バス上に転送されるデータが分散化される。
また、第4、第5および第6の発明は、撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、撮像信号に基づく静止画データに対する処理を動画データの処理と並列的に行えるようにするに当たり、光を光電変換で電気信号に変換して撮像部から出力された撮像信号に対して所定の信号処理を施し画像データとして出力し、第1の転送要求に応じて出力された画像データに対してフレームタイミング毎の処理を行い動画データを出力し、第2の転送要求に応じて出力された画像データに対して所定のタイミングで処理を行い静止画データを出力するようにされ、静止画データ処理は、画像データを圧縮符号化し、圧縮画像データを第1のデータ単位でバス上に転送し、圧縮符号化処理は、圧縮画像データを第1のデータ単位とデータサイズが等しいか、または、第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力するようにしているため、バス上に転送される圧縮画像データが分散化され、動画データと圧縮画像データとでバスを共有する場合でも、バス上で瞬間的なアクセスの混雑が発生することが抑制される。
第1、第2および第3の発明は、上述したように、データに対して所定のデータ処理を施して、第1のデータ単位とデータサイズが等しいか、または、第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力し、第1のデータ単位でバス上に転送するようにしているため、バス上に転送されるデータが分散化される効果がある。
また、第4、第5および第6の発明は、撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、撮像信号に基づく静止画データに対する処理を動画データの処理と並列的に行えるようにするに当たり、光を光電変換で電気信号に変換して撮像部から出力された撮像信号に対して所定の信号処理を施し画像データとして出力し、第1の転送要求に応じて出力された画像データに対してフレームタイミング毎の処理を行い動画データを出力し、第2の転送要求に応じて出力された画像データに対して所定のタイミングで処理を行い静止画データを出力するようにされ、静止画データ処理は、画像データを圧縮符号化し、圧縮画像データを第1のデータ単位でバス上に転送し、圧縮符号化処理は、圧縮画像データを第1のデータ単位とデータサイズが等しいか、または、第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力するようにしているため、バス上に転送される圧縮画像データが分散化され、動画データと圧縮画像データとでバスを共有する場合でも、バス上で瞬間的なアクセスの混雑が発生することが抑制される効果がある。
以下、この発明の実施の形態について説明する。先ず、理解を容易とするために、この発明に適用可能なシステムについて説明する。図1は、この発明の実施の一形態に適用可能な撮像装置1の一例の構成を示す。この撮像装置1は、光学系10を介して入射された光を撮像素子11で受光して電気信号に変換して撮像信号とし、この撮像信号を信号処理部20で、信号処理部20に接続される外部メモリであるRAM35を用いて所定に処理して記録媒体37に記録する。撮像装置1は、撮像信号を、動画データとして記録媒体37に記録すると共に、撮影指示に応じたタイミングで取り込まれた静止画データとしても、記録媒体37に記録することができるようにされている。
なお、以下では、簡単のために、撮像素子11の有効画素数を水平2560画素、垂直1920画素とする。動画は、水平および垂直方向をそれぞれ1/4に縮小した水平640画素、垂直480画素を画枠とし、静止画は、撮像素子11の有効画素をそのまま用いて、画枠を水平2560画素、垂直1920画素とする。
光学系10は、レンズ系、絞り機構、フォーカス機構ズーム機構などを有し、後述するCPU(Central Processing Unit)30の命令に基づく駆動部13の制御やマニュアル操作などにより、絞りやフォーカス、ズームなどが制御されるようになっている。被写体からの光が光学系10を介して撮像素子11に入射される。撮像素子11は、例えばCCD(Charge Coupled Device)からなり、入射された光を光電変換により電気信号に変換し、撮像信号としてライン順次で出力する。なお、撮像素子11は、CCDに限らず、例えばCMOS(Complementary Metal-Oxide Semiconductor)イメージャを用いてもよい。
フロントエンド(F/E)部12は、例えばノイズ抑圧部、自動利得制御部およびA/D変換部を有し、撮像素子11からアナログ信号として出力された撮像信号に対し、ノイズ抑圧部で例えば相関二重サンプリング処理を施してノイズを抑圧し、自動利得制御部でゲインを制御する。そして、A/D変換部でディジタル撮像信号に変換して出力する。このディジタル撮像信号は、撮像素子11の各画素それぞれに直接的に対応するデータからなるRAWデータである。
なお、後述するタイミングジェネレータ14により出力されるタイミング信号(クロックパルス)に基づき、撮像素子11が、例えばフレームタイミング毎に光電変換が行われ撮像信号が出力されるように制御されると共に、フロントエンド部12が、フレームタイミングに同期して処理が行われるように制御される。
信号処理部20は、カメラ信号処理部22、拡張画像処理部23、解像度変換部24、静止画コーデック(CODEC)部25、動画コーデック部26、表示制御部27、CPU30、外部インターフェイス(I/F)部33、メモリコントローラ34および記録再生制御部36の各処理ブロックを含み、これら各処理ブロックがそれぞれバス21を介して接続される。
カメラ信号処理部22は、フロントエンド部12から出力されたRAWデータが入力される。カメラ信号処理部22は、入力されたRAWデータを所定に補正し、バッファメモリを利用して、クロックをセンサ駆動系のクロックから信号処理部20の内部クロックに乗せ換える。クロックが乗せ換えられたRAWデータは、後段の動画処理に適した形式のデータに変換される。
また、RAWデータは、静止画の記録を行う場合には、所定に圧縮符号化されバス21にも送り出される。カメラ信号処理部22は、バス21を介して供給される圧縮符号化されたRAWデータの圧縮符号を復号して伸長し、さらに後段の静止画処理に適した形式のデータに変換する。
カメラ信号処理部22は、さらに、ベースバンドの動画データや静止画データを拡大および/または縮小し、動画データの記録や出力画像データとして必要な解像度(サイズ)に変換する。この例では、動画データの記録のためには、撮像素子11の有効画素に従い解像度が2560画素×1920画素のデータを、解像度が640画素×480画素のデータに縮小する。静止画記録については、この例では、この段階での解像度の変換は行わない。このように解像度変換がなされたベースバンドの動画データや静止画データがカメラ信号処理部22から出力される。
ここで、ベースバンドのデータとは、例えばアナログ信号がディジタル信号に変換されたデータであり、圧縮符号化や変調などの各種処理が施されていない状態のデータを指す。この例では、撮像素子11から出力されたアナログ信号がフロントエンド部12によってディジタル信号に変換されたディジタル撮像信号のことをベースバンドのデータと適宜称する。
拡張画像処理部23は、例えば被写体認識処理や超高速連写など、拡張的な画像処理を行う。被写体認識処理は、例えば予め学習されたパターン辞書などを用いて、画像から顔らしき部分を抽出する。超高速連写は、通常の動画データのフレームレートの60fps(frame per second)に対し、例えば240fpsといった非常に高いフレームレートで撮像素子11における電荷読み出しおよび撮像信号の出力を行うものである。超高速連写機能では、通常の動画データに比べて高速のデータ転送能力が要求されるため、処理部を別途、設けることが好ましい。
解像度変換部24は、ベースバンドの動画データや静止画データの解像度を、後述する表示装置28に表示するのに適した解像度に変換したり、記録モードに応じた解像度に変換する処理を行う。
静止画コーデック部25は、ベースバンドの静止画データに対する圧縮符号化処理と、圧縮符号化された静止画データに対する復号処理とを行う。圧縮符号化方式の種類は、特に問わないが、例えばJPEG(Joint Photographic Experts Group)方式が適用される。すなわち、静止画コーデック部25は、供給された静止画データのフレームを例えば8×8画素といった所定サイズの符号化ブロックに分割し、この符号化ブロック毎にDCTを行う。そして、DCTにより得られたDCT係数を所定の量子化スケールで量子化する。量子化されたデータは、ハフマン符号化などの可変長符号化によりさらに圧縮されて出力される。静止画コーデック部25による圧縮静止画データの復号処理は、圧縮符号化処理の逆の処理を以て行われる。
動画コーデック部26は、ベースバンドの動画データに対する圧縮符号化処理と、圧縮符号化された動画データに対する復号処理とを行う。圧縮符号化方式の種類は特に問わないが、例えばMPEG2(Moving Pictures Experts Group 2)方式や、ITU−T(International Telecommunication Union-Telecommunication Standarization Sector)勧告H.264あるいはISO(International Organization for Standarization)/IEC(International Electrotechnical Commission)国際標準14496−10(MPEG−4パート10)Advanced Video Coding(以下、H.264|AVCと略称する)方式などを適用することができる。以下では、動画コーデック部26は、圧縮符号化方式としてMPEG2方式を適用するものとする。
動画コーデック部26は、例えば、供給された動画データのフレームを例えば8×8画素といった所定サイズの符号化ブロックに分割し、この符号化ブロック毎にDCTを行う。そして、DCTにより得られたDCT係数を所定の量子化スケールで量子化する。また、動画コーデック部26は、供給された動画データについて、動き補償を用いた予測符号化によるフレーム間符号化も行う。フレーム内符号化およびフレーム間符号化を施されたデータは、ハフマン符号化などの可変長符号化によりさらに圧縮されて出力される。動画コーデック部26による圧縮動画データの復号処理は、圧縮符号化処理の逆の処理を以て行われる。
表示制御部27は、供給された画像データを表示装置28に表示可能な形式の信号に変換する。表示装置28は、例えばLCD(Liquid Crystal Display)からなり、撮像装置1におけるビューファインダとして用いられると共に、記録媒体37から再生された画像のモニタとして用いられる。また、表示制御部27は、後述するCPU30から供給される命令に基づき、表示装置28に文字や図形を表示させるための表示信号を生成する。表示信号に応じた表示も、表示装置28に表示される。例えば、撮像装置1に対する各種設定を行うための設定画面や、撮像装置1の各種状態を示す表示、カーソル表示などが表示装置28に所定に表示される。
CPU30に、ROM(Read Only Memory)31と入力デバイス32とが接続される。CPU30は、図示されないRAM(Random Access Memory)をワークメモリとして用い、ROM(Read Only Memory)31に予め記憶されたプログラムに従いこの撮像装置1の全体の動作を制御する。
例えば、CPU30は、バス21を介して信号処理部20の各部とコマンドやデータのやりとりを行い、信号処理部20の各部を制御する。また、CPU30は、上述した入力デバイス32に対する操作に応じた制御信号や撮像信号などに基づき、光学系10のフォーカス、絞り、ズームなどを制御するための制御信号を生成し、駆動部13に供給する。駆動部13は、供給された制御信号に応じて光学系10の各部の制御を行う。また、CPU30は、タイミングジェネレータ14に対して、所定のクロックパルスを出力するようにコマンドを出す。
タイミングジェネレータ14は、CPU30から供給されたこのコマンドに応じて、例えばフレーム同期信号や水平同期信号、垂直同期信号をといった、撮像素子11から出力された撮像信号に対する処理に必要なタイミング信号を生成する。
入力デバイス32は、この撮像装置1を操作するために用いられる各種の操作子が設けられ、各操作子に対する操作に応じた制御信号を出力する。例えば、電源部39による電源供給のON/OFFを切り替える電源キー、撮影モードや記録モードといった撮像装置1における動作モードを切り換えるモード切り換えキー、カーソル移動のためのキーなどが設けられる。さらに、入力デバイス32には、この撮像装置1で静止画を撮影する際に用いられるシャッタボタンや、動画や静止画を撮影する際に光学系10のフォーカス、絞り、ズームなどを操作するための操作子なども設けられる。
外部I/F33は、この撮像装置1と外部の機器との間でのデータのやりとりを制御する。
メモリコントローラ34に対して、RAM35が接続される。RAM35は、例えばメモリバスクロックに同期して動作するSDRAM(Synchronous Dynamic Random-Access Memory)であって、データの入出力を所定のデータ長(バースト長)単位でバースト転送により行うことができる。RAM35は、バス21に接続される各部と共用して用いられる。メモリコントローラ34は、このRAM35に対するアクセス制御を行う。バス21に接続される各処理ブロックにおいて、RAM35に対する転送要求が発生した場合には、バス21からメモリコントローラ34に対して転送要求が渡され、メモリコントローラ34は、この転送要求に従いRAM35へのアクセスを発生させる。
記録再生制御部36は、記録媒体37に対するデータの記録制御や、記録媒体37に記録されたデータの再生制御を行う。記録媒体37としては、例えば着脱可能な不揮発性メモリを用いることができる。また、記録媒体37として記録可能なタイプの光ディスクを用いることもできる。さらに、着脱可能または撮像装置1に内蔵されるハードディスクを記録媒体37として用いることもできる。勿論、記録媒体37は、従来から動画データの記録に用いられる磁気テープを適用することも可能である。
図2は、カメラ信号処理部22の一例の構成を示す。カメラ信号処理部22は、RAW補正部50、スイッチ部51、信号処理部52および解像度変換部53を有すると共に、RAW圧縮部54およびRAW伸長部56、ならびに、バスI/F55、57および58を有する。
バスI/F55、57および58は、RAM35のデータを一時的に溜め込むことができるバッファメモリを有する。バスI/F55、57および58は、このバッファメモリに溜め込まれたデータを読み出し、バス21に送り出すことができる。また、バスI/F55、57および58は、RAM35からバースト長単位で読み出されたデータを一時的にバッファに溜め込み、所定のタイミングで出力することができるようにされている。
RAW補正部50は、補正処理部50Aおよび同期乗り換え部50Bを有する。補正処理部50Aは、供給されたRAWデータに対して欠陥補正やレンズ補正などの各種補正処理を施すと共に、RAWデータの配列に対してデモザイク処理を施し、後段での補正処理や色変換処理に適したデータ配列に並び替える。
同期乗り換え部50Bは、センサ駆動系のクロックをシステム系のクロックへの乗り換え処理を行う。すなわち、カメラ信号処理部22に供給されるデータは、撮像素子11の出力であって、撮像素子11から電荷を読み出す際の駆動クロックに同期している。一方、カメラ信号処理部22から出力されるデータは、信号処理部20内部のクロックに同期している必要がある。同期乗り換え部50Bは、バッファメモリを有し、センサ駆動系のクロックに従いバッファメモリに入力データを書き込んでいき、システム系のクロックに従いバッファメモリからデータを読み出す。バッファメモリからのデータ読み出しは、同期乗り換え部50Bに供給される転送要求に応じて行われる。
信号処理部52からの転送要求Aに応じて、同期乗り換え部50BのバッファメモリからRAWデータが読み出され、スイッチ部51の一方の端子51Aを介して信号処理部52に供給される。信号処理部52は、RAWデータを後段の処理に適した形式の画像信号に変換する。例えば、信号処理部52は、RAWデータを輝度信号Yと色差信号Cb/CrとからなるY/C信号に変換する。
信号処理部52は、さらに、RAWデータが変換された画像信号に対してホワイトバランス処理、ガンマ補正処理、エッジ強調処理など所定の画質補正処理を施す。なお、一般的に、動画像と静止画像とでは、求められる画質が異なると考えられている。そこで、信号処理部52は、例えばCPU30の制御により、動画データに対する処理を行う場合と、静止画データに対する処理を行う場合とで、これらの画質補正処理を行う際のパラメータを切り替えることができるようにされている。
信号処理部52で信号処理された画像信号は、解像度変換部53で例えば動作モードに応じた解像度に解像度変換され、バスI/F58からの転送要求Cに応じて、バスI/F58を介してバス21に送り出される。
信号処理部52からの転送要求Aは、バスI/F57にも供給される。バスI/F57は、この転送要求Aに応じて所定のタイミングで、例えばバス21を介してメモリコントローラ34に対してRAM35に格納される圧縮RAWデータの読み出しを要求し、この要求に応じてRAM35から読み出され転送された圧縮RAWデータを、RAW伸長部56に供給する。RAW伸長部56は、バスI/F57を介して供給されたこの圧縮RAWデータに対し、後述するRAW圧縮部54と逆の処理により復号処理を施し、伸長する。スイッチ部51で端子51Bが選択され、RAW伸長部56の出力は、スイッチ部51の端子51Bを介して信号処理部52に供給される。
なお、信号処理部52および解像度変換部53の処理は、バスI/F58から供給される転送要求Cと、信号処理部52が出力する転送要求Aに対する応答信号に基づき行われる。すなわち、信号処理部52および解像度変換部53では、出力相手側からのデータ転送要求と、入力相手側からのデータ出力応答とが共に有効となったときに、データの転送および信号処理が行われる。
バスI/F55からの転送要求Bに応じて、同期乗り換え部50BのバッファメモリからRAWデータが読み出され、RAW圧縮部54に供給される。RAW圧縮部54は、供給されたRAWデータを圧縮符号化して出力する。RAW圧縮部54では、より画質劣化の少ない圧縮符号化方式を適用すると、好ましい。
例えば、特開2005−311743号公報に記載されるような、ガンマ曲線に似た変換カーブに基づき変換前データをよりビット長の短い変換後のデータに対応付ける変換テーブルを作成し、この変換テーブルを参照することでデータ長を短縮して圧縮符号化を行う方法を用いることができる。また、特開2006−352509号公報に記載されるような、ガンマ曲線に似た変換カーブに基づく変換テーブルを用いた圧縮符号化方式に対し、さらにDPCM(Defferential Pulse Code Modulation)方式による圧縮符号化方式を加えた方法を用いてもよい。
なお、RAW圧縮部54における圧縮符号化処理は、RAWデータの転送に対してリアルタイム性を重視してなされ、例えば、撮像素子11の読み出し特性に基づきライン順次で行われる。これに限らず、RAW圧縮部54に複数ラインを格納可能なラインメモリを設け、水平8画素×垂直8画素からなるブロック単位で、静止画データを水平方向に順次走査して行うようにもできる。
RAW圧縮部54で圧縮符号化された圧縮RAWデータは、バスI/F55を介してバス21に送り出される。
このような構成による撮像装置1における一例の動作について、概略的に説明する。動画データの記録を主に行う動画データ記録モード時には、被写体からの光が光学系10を介して撮像素子11に入射され、光電変換により電気信号に変換され撮像信号としてフレームタイミング毎に出力される。撮像信号は、フロントエンド部12によりノイズ抑圧処理やゲイン制御などの所定の処理を施され、さらにA/D変換されてRAWデータとしてフレームタイミング毎に出力される。フロントエンド部12から出力されたRAWデータは、信号処理部20に入力され、カメラ信号処理部22に供給される。
RAWデータは、カメラ信号処理部22において、補正処理部50Aで補正処理され、同期乗り換え部50Bでセンサ駆動系クロックでバッファメモリに書き込まれる。信号処理部52から出力された転送要求Aに応じて、バッファメモリからRAWデータが読み出される。このとき、バッファメモリからのデータの読み出しがシステム系クロックに従い行われ、クロックの乗せ換えが行われる。同期乗り換え部50Bから出力されたRAWデータは、スイッチ部51を介して信号処理部52に供給され、ベースバンドの動画データに変換され、解像度変換部53で所定に解像度変換される。転送要求Cに応じて解像度変換部53から動画データが出力され、バスI/F58によりバス21に転送され、RAM35に書き込まれる。
RAM35に書き込まれた動画データは、所定にRAM35から読み出されバス21を介して解像度変換部24および動画コーデック部26に供給される。解像度変換部24は、供給された動画データの解像度を例えば表示装置28に表示するのに適した解像度に変換する。解像度変換部24で解像度が変換された動画データは、バス21を介して表示制御部37に供給され、記録モニタ画像として表示装置28に表示される。
RAM35に書き込まれた動画データは、バス21を介して動画コーデック部26にも供給される。動画コーデック部26は、例えばMPEG2方式により圧縮符号化を行う。圧縮動画データは、バス21を介してメモリコントローラ34に供給され、RAM35に格納される。る。解像度変換された動画データは、バス21を介してメモリコントローラ34に供給され、RAM35に格納される。
なお、RAM35に書き込まれた動画データをバス21を介して拡張画像処理部23に供給して所定に画像処理を施し、その後、解像度変換部24に供給するようにしてもよい。これに限らず、解像度変換部24で解像度変換された動画データをバス21を介して拡張画像処理部23に供給し、画像処理を施すようにしてもよい。
記録再生制御部36は、RAM35に所定量以上の圧縮動画データが溜め込まれると、RAM35から、例えば記録媒体37の記録単位毎に圧縮動画データを読み出し、記録媒体37に記録する。
動画データの記録中に静止画記録を行う場合には、先ず、例えば動画の記録中に、静止画の記録を指示するために、入力デバイス32として設けられたシャッタボタンが押下される。シャッタボタンの押下に応じた制御信号が入力デバイス32からCPU30に供給される。CPU30は、この制御信号に基づき、撮像装置1の各部を、静止画記録を行うように制御する。
例えば、シャッタボタンが押下された直後のフレームタイミングのRAWデータに基づく静止画データが取り込まれ記録される。すなわち、カメラ信号処理部22において、シャッタボタンが押下されタイミングに対応するRAWデータに対し、補正処理部50Aで所定に補正処理を施し同期乗り換え部50Bでセンサ駆動系クロックでバッファメモリに書き込まれる。バッファメモリに書き込まれたRAWデータは、転送要求Bに応じてシステム系クロックで読み出されてクロックが乗せ換えられ、RAW圧縮部54に供給される。RAW圧縮部54で圧縮符号化された圧縮RAWデータは、バスI/F55を介してバス21に送り出され、バス21およびメモリコントローラ34を介してRAM35に格納される。
RAM35に格納された圧縮RAWデータは、所定のタイミングでRAM35から読み出され、カメラ信号処理部22に供給される。カメラ信号処理部22に供給された圧縮RAWデータは、転送要求Aに応じてバスI/F57を介してRAW伸長部56に供給され、圧縮符号を伸長される。伸長されたRAWデータは、信号処理部52でベースバンドの静止画データに変換され、解像度変換部53で解像度変換を施され、バスI/F58を介してバス21に転送され、メモリコントローラ34を介してRAM35に書き込まれる。
RAM35に書き込まれたRAWデータは、所定に読み出されてバス21を介して静止画コーデック部25に供給され、例えばJPEG方式に従って圧縮符号化される。圧縮静止画データは、バス21を介して記録再生制御部36に供給され、動画データの記録が行われていないタイミングで記録媒体37に記録される。圧縮静止画データを一旦RAM35に格納し、記録媒体37に対して動画データの記録が行われていないタイミングでRAM35から圧縮静止画データを読み出して記録媒体37に記録するようにしてもよい。
なお、動画データの記録中に静止画データの記録を行う場合、動画データの記録を停止させないために、カメラ信号処理部22におけるRAWデータの圧縮符号化処理や、圧縮RAWデータのRAM35に対する書き込みは、撮像素子11の出力に同期してリアルタイムに行う必要がある。
一方、RAM35に格納された圧縮RAWデータの読み出しや、読み出されたRAWデータのカメラ信号処理部22における伸長処理および信号処理、静止画コーデック部25における圧縮符号化処理、圧縮静止画データの記録再生制御部36への供給などは、例えば撮像素子11における駆動信号のブランキング期間といった、バス21が混雑していないタイミングで行う。なお、静止画データに対する信号処理は、リアルタイム性が要求されないため、CPU30におけるソフトウェア処理や、汎用DSP(Digital Signal Processor)を用いて低速で信号処理することが可能である。
次に、カメラ信号処理部22における処理について説明する。図3は、カメラ信号処理部22の動作モード毎のデータパスの例を示す。なお、図3において、メモリコントローラ34は、省略されている。図3Aは、動画データ記録モード時の一例のデータパスを示す。動画データ記録モードでは、撮像素子11から出力されフロントエンド部12を介してカメラ信号処理部22に供給されたRAWデータに対する動画データとしての処理と、当該動画データを表示装置28に対して表示させるモニタリング処理とが行われる。動画データ記録モードでは、これらの処理がフレームタイミング毎の処理として行われる。
動画データ記録モードでは、スイッチ部51において端子51Aが選択され、図3Aに太線で例示されるように、RAW補正部50から例えばフレームタイミング毎に出力されるRAWデータは、信号処理部52からの転送要求Aに応じてスイッチ部51を介して信号処理部52および解像度変換部53に供給される。バスI/F58からの転送要求Cに応じて解像度変換部53からデータが出力され、このデータは、バスI/F58を介してバス21に転送され、RAM35に書き込まれる。RAM35に書き込まれたデータは、バス21を介して後段の動画コーデック部26や表示制御部27に供給される。
この、動画データ記録モードにおいては、RAW補正部50での処理から、RAM35に対するデータの書き込みまでを、リアルタイムに行う必要がある。なお、ここでいうリアルタイムは、データの時間的な連続性を損ねることなく処理が可能であることをいうものとする。より具体的には、動画データの場合、フレームの連続性が損なわれることなく、データ伝送および各部におけるデータ処理が行われる場合に、リアルタイム処理が成立する。
図3Bおよび図3Cは、静止画データ記録モード時の一例のデータパスを示す。静止画データ記録モードにおいては、撮像素子11からの撮像信号読み出しに伴うデータパスと、撮像信号が変換されたRAWデータに対する信号処理を行うデータパスとで異なる。
図3Bは、撮像信号読み出しに伴う一例のデータパスを示す。この場合、図3Bに太線で例示されるように、バスI/F55からの転送要求Bに応じてRAW補正部50からRAWデータが出力され、このRAWデータがRAW圧縮部54で所定に圧縮符号化されてバスI/F55に供給される。この圧縮RAWデータは、バスI/F55からバス21に転送され、RAM35に書き込まれる。
図3Cは、このRAM35に書き込まれた圧縮RAWデータに対する信号処理を行う際の一例のデータパスを示す。RAM35に書き込まれた圧縮RAMデータが所定に読み出される。RAM35から読み出された圧縮RAWデータは、バス21およびバスI/F57を介してRAW伸長部56に供給され、端子51Bが選択されたスイッチ部51を介して信号処理部52に供給される。RAWデータは、信号処理部52および解像度変換部53で所定に信号処理され、バスI/F58からの転送要求Cに応じて解像度変換部53から出力され、バスI/F58およびバス21を介してRAM35に再び書き込まれる。RAM35に書き込まれたRAWデータは、バス21を介して後段の静止画コーデック部25などに供給される。
静止画像データに対する処理は、リアルタイム性が要求されないため、RAM35からの圧縮RAWデータの読み出しは、例えばバス21やRAM35のアクセス帯域に余裕があるタイミングで行うことができる。
次に、カメラ信号処理部22における処理について、より詳細に説明する。上述したように、同期乗り換え部50Bでは、センサ駆動系のクロックに同期して入力されたRAWデータをバッファメモリに一旦格納し、このバッファメモリからの読み出しをシステム系クロックに同期させて行うことで、クロックの乗せ替えを行っている。バッファメモリは、クロック乗せ換えと、バス21における瞬間的なアクセス遅延を吸収可能な容量を、少なくとも有しているものとする。バッファメモリからの読み出しが行われない状態で、バッファメモリに対する書き込みが発生すると、バッファメモリがオーバーフローを起こし、バッファ機能が破綻することになる。
このように、バッファメモリに対するRAWデータの読み書きの速度差によりバッファ破綻が発生する例としては、RAW圧縮部54で圧縮符号化された圧縮RAWデータが送り出されるバス21において、データ転送量が増大してバス21が混雑している場合が考えられる。例えばバスI/F55は、バス21が圧縮RAWデータよりも優先度が高いデータの転送で混雑している場合、例えば当該データの転送が終了するまで圧縮RAWデータをバス21に送り出す処理を待機する。若しくは、RAW圧縮部54を制御してRAWデータの圧縮処理を停止し、当該データの転送が終了しバッファメモリが空になるのを待機する。
また、RAW圧縮部54がRAWデータの空間周波数成分に応じて圧縮率が変動する可変長符号化を用いてRAWデータの圧縮符号化を行う場合、圧縮符号化するRAWデータの高周波成分が多ければ、圧縮符号化後のデータ量が大きくなってしまう場合が有り得る。このような場合にも、バッファ破綻が発生する可能性がある。
バッファ破綻が発生した可能性がある場合、静止画データの記録を継続するためには、RAWデータの圧縮符号化処理およびその前段の処理を停止し、バッファメモリが空になるのを待つ必要がある。前段の処理は、例えば撮像素子11からの撮像信号の出力、フロントエンド部12からのRAWデータの出力、補正処理部50Aにおける補正処理が含まれる。しかしながら、動画データの記録中に静止画データの記録が行われる場合、動画データの記録を連続的に行う必要があるため、これら前段の処理を中止することができない。
そこで、同期乗り換え部50Bがバッファメモリの状態を監視し、バッファの破綻が検知されたら、破綻処理を行う。図4は、このような処理を行うようにされた同期乗り換え部50Bの一例の構成を示す。同期乗り換え部50Bは、バッファメモリ60と、読み出し制御部61とからなる。バッファメモリ60は、先入れ先出し(FIFO:First In, First Out)制御のメモリであって、前処理側から供給される書き込みイネーブル信号を受けて、データの書き込みを行う。読み出し制御部61は、上述した転送要求Aおよび転送要求Bと、バッファメモリ60の容量とに基づきバッファメモリ60に対してデータの読み出し要求を出す。バッファメモリ60の容量は、例えばバッファメモリが満杯(フル)状態および空(エンプティ)状態の何れかを示しているのみでもよい。
読み出し制御部61は、バッファメモリ60の容量が空ではなく、且つ、転送要求Aおよび転送要求Bの双方が成立する場合に、バッファメモリ60への読み出し要求をアクティブとしてバッファメモリ60からデータを読み出し、信号処理部52およびRAW圧縮部54に対して出力する。
ここで、読み出し制御部61は、バッファメモリ60の容量と、転送要求Aおよび転送要求Bとに基づき、バッファが破綻した可能性の有無を判断する。すなわち、バッファメモリ60の容量がフル状態であって、少なくとも転送要求Aまたは転送要求Bの何れか一方が成立しない場合に、バッファが破綻した可能性があると判断する。なお、転送要求が成立するか否かは、例えばその転送要求により行われるべき処理のタイミングに当該転送要求が読み出し制御部61に到来しているか否かで判断することが考えられる。
図5は、バッファ破綻判定の一例の処理を示すフローチャートである。先ず、ステップS100でバッファメモリ60がフル状態であるか否かが判断される。フル状態ではないと判断されれば、処理はステップS101に移行され、例えば通常のデータ転送処理がなされる。
一方、ステップS100でバッファメモリ60がフル状態であると判断されたら、処理はステップS102に移行され、転送要求Aおよび転送要求Bについて、成立の可否が判定される。転送要求Aおよび転送要求Bが共に成立すると判断されれば、処理はステップS101に移行され、通常の転送処理が行われる。
ステップS102で、転送要求Aまたは転送要求Bが成立しないと判断された場合には、バッファが破綻した可能性があるとされる。このとき、転送要求Aまたは転送要求Bのうち何れか一方のみが成立しないと判断された場合を、部分破綻と呼び(ステップS103)、発生要因を例えば読み出し制御部61の内部レジスタに保持する(ステップS104)。また、転送要求Aと転送要求Bとが共に成立しないと判断された場合を、完全破綻と呼び(ステップS105)、発生要因を内部レジスタに保持する(ステップS106)。CPU30は、読み出し制御部61の内部レジスタを読み出すことで、フレーム処理の単位で、部分破綻または完全破綻の何れが発生したか否かを知ることができる。
なお、読み出し制御部61の内部レジスタに保持される発生要因は、例えば成立しないとされた転送要求の情報を用いることができる。一例として、転送要求Aが成立しないとされ、部分破綻した可能性があるとされた場合には、転送要求Aを示す情報を、読み出し制御部61の内部レジスタに保持することが考えられる。他の例として、転送要求Aおよび転送要求Bが共に成立しないとされ、完全破綻した可能性があるとされた場合には、転送要求Aおよび転送要求Bをそれぞれ示す情報を読み出し制御部61の内部レジスタに保持することが考えられる。
次に、この発明の実施の一形態について説明する。先ず、図6を用いて、RAWデータの圧縮符号化方式の種別による出力レートの違いについて説明する。なお、以下では、画像データ(RAWデータ)の圧縮符号化単位に対して、決められた長さの符号が割り当てられる場合を固定長符号化と呼び、圧縮符号化単位に対して割り当てられる符号長が決められていない場合を可変長符号化と呼ぶ。圧縮符号化単位は、例えば、単一画素、隣接する複数の画素(画素ブロックなど)、1または隣接する複数のラインを構成する画素である。
RAWデータの圧縮符号化を行わず、例えばRAWデータをRAW圧縮部54を通過させただけの場合(圧縮処理スルーと呼ぶ)には、出力レートは、撮像素子11からの読み出しレートと略等価となる。RAWデータの圧縮符号化を固定長符号化で行った場合には、RAWデータを通過させただけの場合に比べ、RAWデータの圧縮率分だけ、出力レートが低下する。一方、RAWデータの圧縮符号化を可変長符号化で行った場合には、例えば圧縮符号化単位毎の画像の絵柄により割り当てられる符号量が変動するため、出力レートも、この符号化の処理に応じて変動する。
なお、上述の撮像装置1のように、圧縮RAWデータを格納するための外部メモリ(RAM35)としてSDRAMを用いている場合、固定長符号化では圧縮符号化単位の固定符号長がSDRAMのバースト長を超えていたり、可変長符号化処理では符号長の変動に伴い転送レートが局所的に粗密になることが起こり得る。このような場合、最大転送レートの予測が困難となり、システム全体としてのメモリ帯域の確保や、撮像素子11からの読み出しにおけるリアルタイム性の保証が難しくなる。
そこで、この発明の実施の一形態では、圧縮符号化処理の出力を、外部メモリとして用いるSDRAMのバースト長と同一か、当該バースト長よりも短いデータ長を単位として行うようにする。すなわち、RAW圧縮部54から出力される圧縮RAWデータが書き込まれるRAM35のバースト長と等しいか、または、当該バースト長より短いデータ長をデータ単位として、RAW圧縮部54から圧縮RAWデータを出力する。こうしてRAW圧縮部54から当該データ単位で出力された圧縮RAWデータは、バスI/F55に供給され、RAM35のバースト長を単位としてバス21に転送され、RAM35に書き込まれる。
このように、RAM35への書き込みのためにRAW圧縮部54からバスI/F55に圧縮RAWデータを出力する際に、当該圧縮RAWデータのデータ単位をRAM35のバースト長と等しいか、または、当該バースト長より短いデータ長とすることで、バスI/F55からバス21に転送される転送データ量が平滑化される。これにより、バスI/F55からバス21に対して、突発的に大容量のデータ転送が発生することがなくなり、バス21の混雑が緩和される。したがって、上述した完全破綻や部分破綻の発生を抑制することが可能となる。
図7は、この発明の実施の一形態によるRAW圧縮部54の一例の構成を概略的に示す。図7の例では、RAW圧縮部54は、量子化部70、符号化部71、バッファ制御部72および符号パッキングバッファ73を有する。量子化部70は、例えばRAW補正部50から出力されたRAWデータが供給される。量子化部70は、供給されたRAWデータを所定に量子化し、連続的な値からなるデータを離散的な値のデータに変換することで、データの圧縮を行う。上述の例では、例えばRAWデータをガンマ曲線に似た変換カーブに対応付ける処理が量子化部70で行われる。
符号化部71は、量子化部70でRAWデータが量子化された量子化データを、所定の規則で符号化する。上述の例では、例えば量子化部70でRAWデータをガンマ曲線に似た変換カーブに対応付ける処理の結果に基づき変換テーブルが参照され、当該処理の結果に対応する符号が出力される。この変換テーブルを、一定量のRAWデータに対して固定長の符号を出力するように構成することで、固定長符号を用いたRAWデータの圧縮符号化を行うことができる。一方、この変換テーブルを、一定量のRAWデータに対して可変長の符号を出力するように構成することで、可変長符号を用いたRAWデータの圧縮符号化を行うことができる。この場合、例えば、上述の処理の結果の統計的な頻度に基づき決められた符号長からなる変換テーブルを用いることが考えられる。
符号パッキングバッファ73は、符号化部71で固定長または可変長で符号化された符号を一時的に溜め込む。符号パッキングバッファ73は、例えば所定容量のメモリを2面(それぞれA面、B面と呼ぶ)有し、この2面のメモリを、符号化部71側からの書き込みと、出力側(バスI/F55側)からの読み出しとで排他処理させて実現させる。符号パッキングバッファ73の各面は、例えば、少なくとも、このRAW圧縮部54から出力された圧縮RAWデータが書き込まれるRAM35のバースト長の容量を有するものとする。この例では、符号パッキングバッファ73のA面およびB面の容量を、それぞれ64バイトとしている。
なお、符号パッキングバッファ73は、2面構成に限らず、FIFO制御のメモリにより構成することも可能である。
バッファ制御部72は、符号パッキングバッファ73における書き込みおよび読み出しを制御する。例えば、バッファ制御部72は、符号パッキングバッファ73に書き込まれているデータ容量を取得し、この容量に基づき符号パッキングバッファ73におけるアクセス制御を行う。例えば、バッファ制御部72は、当該容量に基づきA面およびB面の切り換えと、A面および/またはB面に対するデータの書き込みおよび読み出しのタイミングなどの制御を行う。なお、バッファのA面とB面とを切り替える動作を、バッファ面フリップと呼ぶ。
また、バッファ制御部72は、バスI/F55からの転送要求に基づき符号パッキングバッファ73からのデータの読み出しを行うと共に、符号パッキングバッファ73がデータの書き込みを可能な状態であると判断した場合には、転送要求Bを出力する。一例として、バス21が混雑しているなどの要因によりバスI/F55からバッファ制御部72に対して転送要求が出力されなければ、符号パッキングバッファ73からのデータの読み出しが行われず、このとき、符号パッキングバッファ73の容量がフル状態であれば、当該符号パッキングバッファ73に対する書き込みが行えないため、転送要求Bが出力されない。
次に、RAWデータの圧縮符号化を固定長符号化を用いて行った場合のデータ転送制御の例を、より具体的に説明する。なお、ここでは、1画素のデータ長を16ビットとし、外部メモリ(RAM35)のバースト長を32バイトとする。また、バスI/F55は、上述したように、RAM35のバースト長単位でデータを一時的に溜め込むことができるバッファメモリを有し、このバッファメモリから読み出したデータを、バス21に対して出力する。
図8は、圧縮処理スルーの場合における、圧縮RAWデータ転送の一例のタイミングチャートを示す。図8Aは、RAW圧縮部54の一例の出力を示し、図8Bは、バスI/F55の一例の出力を示す。バスI/F55の出力がバス21を介してRAM35に転送される。圧縮処理スルーの場合、RAW圧縮部54は、1画素毎に入力されたRAWデータをそのまま出力させる(図8A)。出力されたデータは、バスI/F55に供給される。撮像素子11において画素データの間引き処理などを行っていなければ、出力データの転送レートは、撮像素子11の読み出しレートと等価となる。バスI/F55では、供給されたデータをバッファに溜め込みむ。バッファに溜め込まれたデータは、所定に読み出されてバス21に対して出力される(図8B)。1画素のデータ長が16ビットのこの例では、16画素を単位として、RAM35に対するバースト転送が行われることになる。
図9は、RAW圧縮部54において、従来の方法でデータ出力を行った場合の一例のタイミングチャートを示す。ここでは、説明を容易とするために、RAW圧縮部54では、圧縮符号化単位を64画素とし、圧縮率を1/2とする。したがって、圧縮符号化単位毎に64バイト(=16ビット×64画素×1/2)の圧縮RAWデータが出力されることになる。
RAW圧縮部54では、圧縮符号化されたRAWデータをバッファに溜め込み、64バイトの圧縮RAWデータが溜め込まれると、書き込み面と読み出し面とを切り替え、バッファから圧縮RAWデータを読み出す。読み出された圧縮RAWデータは、バスI/F55に供給される(図9A)。バスI/F55は、32バイト分の圧縮RAWデータが供給される毎に出力を行うため、図9Bに例示されるように、32バイト単位のバースト転送が2回、連続されるような動作となる。
この場合、例えば図8に示した圧縮スルーの場合に比べ、RAM35を共有する他の処理を待機させる時間が増大してしまうおそれがある。また、処理を待機させられる側において、処理がメモリ帯域を確保するためのバッファを設ける必要が生じる可能性があり、この場合、装置コストの増加を招いてしまうことになる。
図10および図12は、この発明の実施の一形態によるデータ転送の例を示すタイミングチャートである。図10は、圧縮符号化処理により出力されるデータ単位を、外部メモリ(RAM35)として用いるSDRAMのバースト長と同一とした場合の例である。例えば、RAW圧縮部54において、バッファに溜め込まれた圧縮RAWデータを32バイト分、読み出して出力し、所定の間隔Tintが経過したら、バッファに溜め込まれた、圧縮符号化単位の残りの32バイト分の圧縮RAWデータを読み出して出力する(図10A)。
RAW圧縮部54からの出力を、このように、RAM35のバースト長に対応するデータ長を単位として、圧縮符号化単位毎に間隔Tintを空けて行うことで、バスI/F55によるバースト転送も、図10Bに例示されるように分散的に行われる。これにより、RAM35を共有する他の処理を待機させる時間を、図9に示す転送方法に比べて短縮させることが可能となる。
図11は、図10に示した、圧縮符号化処理により出力されるデータ単位を、外部メモリとして用いるSDRAMのバースト長と同一とした場合の、RAW圧縮部54における符号パッキングバッファ73の一例の読み出し制御を示すフローチャートである。なお、初期状態において、符号パッキングバッファ73は、A面が書き込み面、B面が読み出し面とされているものとする。また、上述したように、符号パッキングバッファ73において、A面およびB面は、それぞれ64バイトの容量を有し、外部メモリ(RAM35)のバースト長は、32バイトであるものとする。
圧縮符号化処理が、例えば撮像素子11のフレーム同期信号をトリガとして開始される。圧縮符号化処理が開始されると、符号化部71から出力された圧縮RAWデータが符号パッキングバッファ73の書き込み面に書き込まれる。この符号パッキングバッファ73に対する書き込み制御については、後述する。ステップS10で、書き込み面に書き込まれたデータ容量が64バイトに達したか否かが判断され、64バイトに達したと判断されれば、処理はステップS11に移行される。ステップS11では、符号パッキングバッファ73のバッファ面がフリップされ、それまで書き込み面だった面が新たな読み出し面とされ、読み出し面だった面が新たな書き込み面とされる。なお、新たに書き込み面とされた面には、圧縮RAWデータの書き込みが、元の書き込み面に対する書き込みに引き継がれて行われる。
次のステップS12では、読み出し面から、外部メモリのバースト長と同一の、32バイト分の圧縮RAWデータが読み出される。読み出された圧縮RAWデータは、RAW圧縮部54から出力されバスI/F55に供給される。ステップS13で、間隔Tintだけ処理が待たれ、間隔Tintが経過したら、ステップS14で、符号パッキングバッファ73の読み出し面から、上述のステップS12で32バイト分が読み出された残りの32バイト分のデータが読み出される。
そして、処理はステップS10に戻され、符号パッキングバッファ73の書き込み面に64バイト分の圧縮RAWデータが書き込まれるのが待機される。
なお、間隔Tintは、バス21に対するデータの転送が分散化されるような値を選ぶのが好ましい。例えば、RAW圧縮部54に圧縮符号化単位分の画素データが供給される期間より短く、且つ、32バイト毎の出力データが連続的に出力されないような値とする。RAM35に対するバースト転送の分散化を考慮した場合、例えば、RAW圧縮部54から圧縮符号化単位分のデータが出力される期間を等分するように、間隔Tintを設定することが考えられる。より具体的な例としては、撮像素子11からの、圧縮符号化単位の1/2である32画素分の読み出し周期に相当する時間を、RAW圧縮部54を駆動するクロック周波数に換算したクロック数を設定する。
図12は、圧縮符号化処理により出力されるデータ単位を、外部メモリ(RAM35)として用いるSDRAMのバースト長よりも短くした場合の例である。圧縮符号化処理により出力されるデータ単位は、例えば外部メモリのバースト長を整数分割したサイズとされる。この図12の例では、圧縮符号化単位である64画素分、64バイト(圧縮率が1/2の場合)の圧縮RAWデータを8分割し、8バイト毎に、間隔Tintに従いRAW圧縮部54から出力するようにしている(図12A)。間隔Tintは、この例では、撮像素子11からの、圧縮符号化単位の1/8である8画素分の読み出し周期に相当する時間に基づく。
バスI/F55は、4バイト毎にRAW圧縮部54から供給される圧縮RAWデータをバッファに溜め込み、RAM35のバースト長に対応する32バイト分の圧縮RAWデータがバッファに溜め込まれたら、バッファから圧縮RAWデータを読み出して、RAM35に対してバースト転送する(図12B)。
この場合、RAW圧縮部54からどのような単位でデータを出力するかは、バスI/F55との接続関係や、RAW圧縮部54の符号パッキングバッファ73をFIFO制御のメモリとして構成した場合のバッファ容量などに応じて、適当に設定することができる。
図13は、図12に示した、圧縮符号化処理により出力されるデータ単位を、外部メモリとして用いるSDRAMのバースト長よりも短くした場合の、RAW圧縮部54における符号パッキングバッファ73の一例の読み出し制御を示すフローチャートである。なお、初期状態において、符号パッキングバッファ73は、A面が書き込み面、B面が読み出し面とされているものとする。
また、ここでは、符号パッキングバッファ73において、A面およびB面は、それぞれLバイトの容量を有するものとし、圧縮符号化処理により、Mバイト単位でデータが出力されるものとする。ここで、Lバイトは、少なくとも外部メモリのバースト長分の容量とされ、Mバイトは、当該バースト長と等しいか、当該バースト長を整数分割したサイズとする。したがって、RAW圧縮部54からバスI/F55に対して、L/M=N回、データ転送を行うことで、符号パッキングバッファ73の一方のバッファ面からの読み出しが完了されることになる。
フローチャートの開始に先立って、転送回数Ctが0とされる。圧縮符号化処理が開始されると、RAWデータが圧縮された圧縮RAWデータが符号パッキングバッファ73の書き込み面に書き込まれる。ステップS20で、書き込み面に書き込まれたデータ容量がLバイトに達したか否かが判断され、Lバイトに達したと判断されれば、処理はステップS21に移行され、バッファ面がフリップされ書き込み面と読み出し面とが切り替えられる。新たに書き込み面とされた面には、圧縮RAWデータの書き込みが行われる。
次のステップS22では、読み出し面からMバイト分の圧縮RAWデータが読み出される。読み出された圧縮RAWデータは、RAW圧縮部54から出力されバスI/F55に供給される。ステップS23で転送回数Ctが1だけインクリメントされ、ステップS24で、間隔Tintだけ処理が待たれる。次のステップS25で、転送回数CtがN回に達したか否かが判断される。達していないと判断されれば、処理はステップS22に戻され、次のMバイト分の転送が行われ、転送回数Ctがインクリメントされ(ステップS23)、間隔Tintで待ち処理がなされる(ステップS24)。
一方、ステップS25で、転送回数CtがN回に達したと判断されれば、処理はステップS26に移行され、転送回数Ctが0とされる。そして、処理がステップS20に戻され、符号パッキングバッファ73の書き込み面にLバイト分の圧縮RAWデータが書き込まれるのが待機される。
この図13のフローチャートにおいて、Lバイトを64バイトとし、Mバイトを8バイトとすれば、図12のタイミングチャートの状態に一致することになる。また、Lバイトを64バイトとし、Mバイトを32バイトとすれば、上述した図10のタイミングチャートの状態と一致し、図11のフローチャートの処理と等価となる。このように、圧縮符号化処理により出力されるデータ単位を外部メモリのバースト長と同一とした場合の例は、当該データ単位を外部メモリのバースト長よりも短くした場合の例の特別な場合であるといえる。
図14は、符号パッキングバッファ73に対する一例の書き込み制御を示すフローチャートである。この図14に示す処理は、図10および図11を用いて説明した、圧縮符号化処理により出力されるデータ単位を、外部メモリとして用いるSDRAMのバースト長と同一とした場合と、図12および図13を用いて説明した、当該データ単位を、外部メモリのバースト長よりも短くした場合とに共通して適用可能なものである。
なお、符号パッキングバッファ73は、初期状態においてA面が書き込み面、B面が読み出し面とされているものとする。また、上述したように、符号パッキングバッファ73において、A面およびB面は、それぞれ64バイトの容量を有し、外部メモリ(RAM35)のバースト長は、32バイトであるものとする。
量子化部70および符号化部71で圧縮符号化処理が開始されると、ステップS30で、符号パッキングバッファ73から符号化部71に対してデータの要求がなされる。例えばRAW圧縮部54において、バッファ制御部72により符号化部71に対し、圧縮符号化された圧縮RAWデータを出力するように要求される。符号化部71から出力された圧縮RAWデータは、符号パッキングバッファ73の書き込み面に書き込まれる(ステップS31)。符号パッキングバッファ73の書き込み面に書き込まれたデータ容量が所定容量、例えばバッファ面の容量上限の64バイトに達したら(ステップS32)、処理はステップS33に移行される。
ステップS33では、符号パッキングバッファ73の読み出し面からのデータ読み出しが完了しているか否かが判断される。すなわち、符号パッキングバッファ73は、既に書き込み面への書き込みが所定容量、例えば64バイトに達すると、後述するようにバッファ面がフリップされ、新たに書き込み面とされた面に対するデータの書き込みが行われると共に、新たに読み出し面とされた面からのデータの読み出しが行われるように制御される。
ステップS33で、符号パッキングバッファ73の読み出し面からの読み出しが完了していると判断されれば、処理はステップS34に移行し、バッファ面がフリップされ、処理がステップS30に戻される。
一方、ステップS33で、符号パッキングバッファ73の読み出し面からの読み出しが完了してないと判断されたら、処理はステップS35に移行され、破綻処理が行われる。すなわち、符号パッキングバッファ73において、読み出し面からの読み出しが完了していなければ、バッファ面のフリップを行うことができない。一方、符号パッキングバッファ73の書き込み面に対してバッファ容量の上限までデータの書き込みが行われていれば、バッファ面をフリップする必要がある。したがって、書き込み面に対してバッファ容量の上限までデータの書き込みが行われているのに関わらず、読み出し面からの読み出しが終了していない場合、バッファ機能が破綻することになる。
ステップS35では、このように、バッファ機能が破綻した場合の救済処理を行う。より具体的には、バッファ機能が破綻している間、空圧縮処理を行うと共に、空圧縮処理を行った画素のRAWデータ上の座標が所定に保持される。例えば、少なくとも空圧縮処理が開始された座標と、終了された座標とがレジスタなどに保持される。また、RAW補正部50に対する転送要求Bを、強制的に発行しながら空圧縮処理を行う。これにより、破綻位置を正確に知ることができる。さらに、バッファ機能が破綻した旨を示すフラグ(破綻フラグと呼ぶ)をレジスタなどに所定に保持する。例えばCPU30によりこの破綻フラグを読み出すことで、適切な破綻救済処理を実行可能とするものである。
なお、空圧縮処理は、例えば、量子化部70および符号化部71において、圧縮符号化単位毎(この例では64画素)に圧縮符号化された圧縮RAWデータを、符号パッキングバッファ73に書き込まないようにする。
一例として、量子化部70および符号化部71で実際に圧縮符号化処理を行い、その結果生成された圧縮RAWデータ例えば破棄し、符号化部71から出力しないことも考えられる。すなわち、空圧縮処理により、バッファ機能の破綻から回復するまで、RAW補正部50からRAWデータを出力させると共に、当該RAWデータに応じた書き込みを符号パッキングバッファ73に対して発生させないようになされる。
これに限らず、空圧縮処理は、RAW圧縮部54において、供給されたRAWデータに対して何ら処理を行わないようにしてもよい。この場合、例えば当該RAWデータを破棄し、圧縮符号化を行った旨を示すステータスのみを所定に出力することが考えられる。
ステップS35で破綻処理が行われると、次のステップS36で符号パッキングバッファ73の読み出し面からの読み出しが完了したか否かが判断される。完了していないと判断されれば、処理はステップS35に戻される。一方、読み出しが完了したと判断されたら、処理はステップS37に移行され、符号パッキングバッファ73の書き込み面に対し、空圧縮処理が行われた画素に対応する位置に、当該位置で破綻処理が行われたことを示す破綻コードが挿入される。そして、処理がステップS30に戻される。
なお、1フレームの画像について、データの総転送量が符号パッキングバッファ73の各面の容量(この例では64バイト)の倍数ではない場合には、符号パッキングバッファ73への1フレームの画像の最終符号が書き込まれたことを検知し、所定に圧縮符号化動作を終了させる。すなわち、RAW圧縮部54は、1フレームの画像の最終のRAWデータが符号パッキングバッファ73に書き込まれたことを検知したら、符号パッキングバッファ73の読み出し面からのデータの読み出しが完了するのを待って、バッファ面のフリップを強制的に行い、新たな読み出し面からデータを全て読み出し、圧縮符号化動作を終了させるようにする。
1フレームの画像の最終符号を検知する方法は、様々に考えられる。一例として、RAW圧縮部54がRAW補正部50から供給されるRAWデータの数を計測し、計測されたRAWデータの数に基づき1フレームの画像の最終符号を判断することができる。計測は、例えばフレームパルスを基準として行うことが考えられる。他の例として、RAW補正部50において1フレームの画像の最終のRAWデータを出力しRAW圧縮部54に供給する際に、当該RAWデータが1フレームの最終データである旨をRAW圧縮部54に通知するようにもできる。
上述のステップS33において、符号パッキングバッファ73に対する最初の書き込みの場合には、読み出し面に読み出すべきデータが未だ書き込まれていない状態となっている。したがって、この、最初の書き込み時にはステップS33での判断処理を省略して、ステップS32からステップS34に直接的に処理を移行させる。
次に、この発明の実施の一形態の変形例について説明する。上述の実施の一形態では、RAW圧縮部54で、固定長符号を用いてRAWデータの圧縮符号化を行っていた。これに対し、この実施の一形態の変形例は、RAW圧縮部54で、可変長符号を用いてRAWデータの圧縮符号化を行う場合の例である。
図15は、RAW圧縮部54において可変長符号を用いて圧縮符号化を行い、従来の方法でデータ出力を行った場合の一例のタイミングチャートを示す。上述と同様に、RAW圧縮部54では、圧縮符号化単位を64画素とし、圧縮率を1/2とする。したがって、圧縮符号化単位毎に64バイト(=16ビット×64画素×1/2)の圧縮RAWデータが出力されることになる。
図15Aは、可変長符号を用いて圧縮符号化を行った場合に、圧縮符号化単位(この例では64画素)で圧縮符号化された圧縮RAWデータが、データサイズおよび出力タイミングが変動されながら、RAW圧縮部54から出力される様子を示している。
バスI/F55は、32バイト分の圧縮RAWデータが供給される毎に出力を行うため、図15Bに一例が示されるように、32バイト単位のバースト転送が、供給される圧縮RAWデータのデータサイズに応じた回数だけ連続されるように行われる。図15Bの例では、30バイトの圧縮RAWデータに対して1回のバースト転送がなされ、40バイトの圧縮RAWデータに対して2回のバースト転送が連続的に行われる。また、120バイトの圧縮RAWデータに対して4回のバースト転送が連続的に行われ、130バイトの圧縮RAWデータに対して5回のバースト転送が連続的に行われる。
このように、可変長符号を用いて圧縮符号化を行った場合には、絵柄などに応じて圧縮符号化単位で圧縮率が変動し、外部メモリへのデータの転送密度も変動する。圧縮率が悪くなると、外部メモリへのデータ転送によるアクセスが密となる期間と、疎となる期間との差が大きくなり、外部メモリのメモリ帯域を確保することが難しくなる。
図16および図17は、この発明の実施の一形態の変形例による、RAW圧縮部54におけるデータ出力の例を示すタイミングチャートである。図16は、図10を用いて説明したのと同様に、圧縮符号化により出力されるデータ単位を、外部メモリ(RAM35)として用いるSDRAMのバースト長と同一とした場合の例である。
RAW圧縮部54では、可変長符号を用いて圧縮符号化した圧縮RAWデータを、既に図14のフローチャートを用いて説明した処理に従い、64バイト毎に符号パッキングバッファ73のA面およびB面に書き込み、図11または図13のフローチャートを用いて説明した処理に従い、符号パッキングバッファ73のA面およびB面から、RAM35のバースト長に対応して32バイト毎に、間隔Tintに従い読み出す(図15A)。バスI/F55は、このRAW圧縮部54から32バイト毎に、間隔Tintを空けて供給される圧縮RAWデータを、バースト長である32バイト毎にRAM35にバースト転送する(図15B)。
したがって、図15Bに例示されるように、RAM35へのデータ転送によるアクセスを、バースト長の単位で分散させることができる。またこのとき、間隔Tintにより、RAM35に対する最短のアクセス間隔を定義することができる。そのため、システム全体としてのメモリ帯域の保証が容易となる。またこれにより、メモリアクセスの集中を防止できるので、ピーク電流を抑制することも可能となる。
図17は、図12を用いて説明したのと同様に、圧縮符号化処理により出力されるデータ単位を、外部メモリ(RAM35)として用いるSDRAMのバースト長よりも短くした場合の例である。この図17の例では、図12と同様に、圧縮符号化単位である64画素分、64バイトの圧縮RAWデータを8分割し、8バイト毎に、間隔Tintに従いRAW圧縮部54から出力するようにしている。
すなわちRAW圧縮部54では、可変長符号を用いて圧縮符号化した圧縮RAWデータを、既に図14のフローチャートを用いて説明した処理に従い、64バイト毎に符号パッキングバッファ73のA面およびB面に書き込み、図13のフローチャートを用いて説明した処理に従い、符号パッキングバッファ73のA面およびB面から、8バイト毎に、間隔Tintに従い読み出す(図17A)。バスI/F55は、このRAW圧縮部54から8バイト毎に、間隔Tintを空けて供給される圧縮RAWデータをバッファに溜め込み、RAM35のバースト長に対応する32バイト分の圧縮RAWデータがバッファに溜め込まれたら、バッファから圧縮RAWデータを読み出して、RAM35に対してバースト転送する(図17B)。
この場合でも、図16を用いて説明した、圧縮符号化により出力されるデータ単位を外部メモリのバースト長と同一とした場合同様に、RAM35へのデータ転送によるアクセスを、バースト長の単位で分散させることができる。またこのとき、間隔Tintにより、RAM35に対する最短のアクセス間隔を定義することができる。そのため、システム全体としてのメモリ帯域の保証が容易となる。またこれにより、メモリアクセスの集中を防止できるので、ピーク電流を抑制することも可能となる。
発明の実施の一形態に適用可能な撮像装置の一例の構成を示すブロック図である。 カメラ信号処理部の一例の構成を示すブロック図である。 カメラ信号処理部の動作モード毎のデータパスの例を示す略線図である。 同期乗り換え部の一例の構成を示すブロック図である。 バッファ破綻判定の一例の処理を示すフローチャートである。 RAWデータの圧縮符号化方式の種別による出力レートの違いについて説明するための略線図である。 発明の実施の一形態によるRAW圧縮部の一例の構成を概略的に示すブロック図である。 圧縮処理スルーの場合における、圧縮RAWデータ転送の一例のタイミングチャートである。 RAW圧縮部において、従来の方法でデータ出力を行った場合の一例のタイミングチャートである。 圧縮符号化処理により出力されるデータ単位を外部メモリのバースト長と同一とした場合における、圧縮RAWデータ転送の一例のタイミングチャートである。 圧縮符号化処理により出力されるデータ単位を外部メモリのバースト長と同一とした場合の、符号パッキングバッファの一例の読み出し制御を示すフローチャートである。 圧縮符号化処理により出力されるデータ単位を外部メモリのバースト長よりも短くした場合における、圧縮RAWデータ転送の一例のタイミングチャートである。 圧縮符号化処理により出力されるデータ単位を外部メモリのバースト長よりも短くした場合の、符号パッキングバッファの一例の読み出し制御を示すフローチャートである。 符号パッキングバッファに対する一例の書き込み制御を示すフローチャートである。 可変長符号を用いて圧縮符号化を行い、従来の方法でデータ出力を行った場合における、圧縮RAWデータ転送の一例のタイミングチャートである。 圧縮符号化により出力されるデータ単位を外部メモリのバースト長と同一とした場合における、圧縮RAWデータ転送の一例のタイミングチャートである。 圧縮符号化処理により出力されるデータ単位を外部メモリのバースト長よりも短くした場合における、圧縮RAWデータ転送の一例のタイミングチャートである。
符号の説明
1 撮像装置
11 撮像素子
21 バス
22 カメラ信号処理部
30 CPU
34 メモリコントローラ
35 RAM
50 RAW補正部
50A 補正処理部
50B 同期乗り換え部
54 RAW圧縮部
55,57,58 バスI/F
56 RAW伸長部
60 バッファメモリ
61 読み出し制御部
70 量子化部
71 符号化部
72 バッファ制御部
73 符号パッキングバッファ

Claims (26)

  1. データを第1のデータ単位でバス上に転送するデータ転送部と、
    データに対して所定のデータ処理を施して、上記第1のデータ単位とデータサイズが等しいか、または、上記第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力するデータ処理部と
    を有し、
    上記データ処理部から出力されたデータを上記データ転送部から上記バス上に転送する
    ことを特徴とするデータ処理装置。
  2. 請求項1に記載のデータ処理装置において、
    上記バスに接続され、バースト長単位でのバースト転送が可能なメモリをさらに有し、
    上記メモリに対して上記データ転送部により上記バスを介してデータを転送するようにされ、上記第1のデータ単位のデータサイズを上記バースト長と等しくした
    ことを特徴とするデータ処理装置。
  3. 請求項1に記載のデータ処理装置において、
    上記データ処理部でなされる上記データ処理は、圧縮符号化処理である
    ことを特徴とするデータ処理装置。
  4. 請求項1に記載のデータ処理装置において、
    上記データ処理部は、固定長符号を用いて上記データ処理を行う
    ことを特徴とするデータ処理装置。
  5. 請求項1に記載のデータ処理装置において、
    上記データ処理部は、可変長符号を用いて上記データ処理を行う
    ことを特徴とするデータ処理装置。
  6. 請求項1に記載のデータ処理装置において、
    上記データ処理部は、
    少なくとも上記第1のデータ単位分の容量を持ち、上記データ処理を行ったデータを一時的に溜め込むバッファを備え、
    上記バッファに溜め込まれたデータを上記第1のデータ単位毎に読み出す
    ことを特徴とするデータ処理装置。
  7. 請求項6に記載のデータ処理装置において、
    上記バッファに対するアクセス状態と、上記データ転送部からの転送要求とに基づき該バッファの機能が破綻したか否かを判断し、破綻したと判断された場合に所定の処理を行うようにした
    ことを特徴とするデータ処理装置。
  8. 請求項7に記載のデータ処理装置において、
    上記所定の処理は、上記データ処理を行ったデータを上記バッファに書き込まないようにした
    ことを特徴とするデータ処理装置。
  9. 請求項8に記載のデータ処理装置において、
    上記データ処理部に対する上記データの供給は、転送要求に応じてなされ、
    上記所定の処理は、さらに、上記転送要求を強制的に出力する
    ことを特徴とするデータ処理装置。
  10. 請求項8に記載のデータ処理装置において、
    上記所定の処理は、さらに、上記破綻が生じた位置を示す情報を保持する
    ことを特徴とするデータ処理装置。
  11. 請求項8に記載のデータ処理装置において、
    上記所定の処理は、さらに、上記バッファから読み出される上記データの、上記破綻が生じた位置に対して、上記破綻が生じた旨を示す符号を挿入する
    ことを特徴とするデータ処理装置。
  12. データを第1のデータ単位でバス上に転送するデータ転送のステップと、
    データに対して所定のデータ処理を施して、上記第1のデータ単位とデータサイズが等しいか、または、上記第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力するデータ処理のステップと
    を有し、
    上記データ処理のステップにより出力されたデータを上記データ転送のステップにより上記バス上に転送する
    ことを特徴とするデータ処理方法。
  13. データを第1のデータ単位でバス上に転送するデータ転送のステップと、
    データに対して所定のデータ処理を施して、上記第1のデータ単位とデータサイズが等しいか、または、上記第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力するデータ処理のステップと
    を有し、
    上記データ処理のステップにより出力されたデータを上記データ転送のステップにより上記バス上に転送する
    ようにしたデータ処理方法をコンピュータに実行させる
    ことを特徴とするデータ処理プログラム。
  14. 撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、該撮像信号に基づく静止画データに対する処理を該動画データの処理と並列的に行えるようにした撮像装置において、
    光を光電変換で電気信号に変換し撮像信号として出力する撮像部と、
    上記撮像部から出力された上記撮像信号に対して所定の信号処理を施し画像データとして出力する撮像信号処理部と、
    第1の転送要求を出力し、該第1の転送要求に応じて上記撮像信号処理部から出力された上記画像データに対してフレームタイミング毎の処理を行い動画データを出力する動画データ処理部と、
    第2の転送要求を出力し、該第2の転送要求に応じて上記撮像信号処理部から出力された上記画像データに対して所定のタイミングで処理を行い静止画データを出力する静止画データ処理部と
    を有し、
    上記静止画データ処理部は、
    上記撮像信号処理部から出力された上記画像データを圧縮符号化する圧縮符号化部と、
    上記圧縮符号化部から出力された上記圧縮画像データを第1のデータ単位でバス上に転送するデータ転送部と
    を備え、
    上記圧縮符号化部は、上記圧縮画像データを上記第1のデータ単位とデータサイズが等しいか、または、上記第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力するようにした
    ことを特徴とする撮像装置。
  15. 請求項14に記載の撮像装置において、
    上記バスに接続され、バースト長単位でのバースト転送が可能なメモリをさらに有し、
    上記メモリに対して上記データ転送部により上記バスを介してデータを転送するようにされ、上記第1のデータ単位のデータサイズを上記バースト長と等しくした
    ことを特徴とする撮像装置。
  16. 請求項14に記載の撮像装置において、
    上記メモリおよび上記バスは、上記動画データおよび上記静止画データの転送処理で共有される
    ことを特徴とする撮像装置。
  17. 請求項14に記載の撮像装置において、
    上記圧縮符号化部は、固定長符号を用いて上記圧縮符号化処理を行う
    ことを特徴とする撮像装置。
  18. 請求項14に記載の撮像装置において、
    上記圧縮符号化部は、可変長符号を用いて上記圧縮符号化処理を行う
    ことを特徴とする撮像装置。
  19. 請求項14に記載の撮像装置において、
    上記圧縮符号化部は、
    少なくとも上記第1のデータ単位分の容量を持ち、上記圧縮符号化処理を行った圧縮画像データを一時的に溜め込むバッファを備え、
    上記バッファに溜め込まれた上記圧縮画像データを上記第2のデータ単位毎に読み出す
    ことを特徴とする撮像装置。
  20. 請求項19に記載の撮像装置において、
    上記静止画データ処理部は、上記バッファに対するアクセス状態と、上記データ転送部からの転送要求とに基づき該バッファの機能が破綻したか否かを判断し、破綻したと判断された場合に所定の処理を行うようにした
    ことを特徴とする撮像装置。
  21. 請求項20に記載の撮像装置において、
    上記所定の処理は、上記圧縮符号化処理を行った圧縮画像データを上記バッファに書き込まないようにした
    ことを特徴とする撮像装置。
  22. 請求項21に記載の撮像装置において、
    上記圧縮符号化部に対する上記画像データの供給は、上記第2の転送要求に応じてなされ、
    上記所定の処理は、さらに、上記第2の転送要求を強制的に出力する
    ことを特徴とする撮像装置。
  23. 請求項21に記載の撮像装置において、
    上記所定の処理は、さらに、上記破綻が生じた位置を示す情報を保持する
    ことを特徴とする撮像装置。
  24. 請求項21に記載の撮像装置において、
    上記所定の処理は、さらに、上記バッファから読み出される上記圧縮画像データの、上記破綻が生じた位置に対して、上記破綻が生じた旨を示す符号を挿入する
    ことを特徴とする撮像装置。
  25. 撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、該撮像信号に基づく静止画データに対する処理を該動画データの処理と並列的に行えるようにした撮像装置の制御方法において、
    光を光電変換で電気信号に変換して撮像部から出力された上記撮像信号に対して所定の信号処理を施し画像データとして出力する撮像信号処理のステップと、
    第1の転送要求を出力し、該第1の転送要求に応じて上記撮像信号処理のステップにより出力された上記画像データに対してフレームタイミング毎の処理を行い動画データを出力する動画データ処理のステップと、
    第2の転送要求を出力し、該第2の転送要求に応じて上記撮像信号処理のステップにより出力された上記画像データに対して所定のタイミングで処理を行い静止画データを出力する静止画データ処理のステップと
    を有し、
    上記静止画データ処理のステップは、
    上記撮像信号処理のステップにより出力された上記画像データを圧縮符号化する圧縮符号化のステップと、
    上記圧縮符号化のステップにより出力された上記圧縮画像データを第1のデータ単位でバス上に転送するデータ転送のステップと
    を備え、
    上記圧縮符号化のステップは、上記圧縮画像データを上記第1のデータ単位とデータサイズが等しいか、または、上記第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力するようにした
    ことを特徴とする撮像装置の制御方法。
  26. 撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、該撮像信号に基づく静止画データに対する処理を該動画データの処理と並列的に行えるようにした撮像装置の制御方法をコンピュータに実行させる制御プログラムにおいて、
    光を光電変換で電気信号に変換して撮像部から出力された上記撮像信号に対して所定の信号処理を施し画像データとして出力する撮像信号処理のステップと、
    第1の転送要求を出力し、該第1の転送要求に応じて上記撮像信号処理のステップにより出力された上記画像データに対してフレームタイミング毎の処理を行い動画データを出力する動画データ処理のステップと、
    第2の転送要求を出力し、該第2の転送要求に応じて上記撮像信号処理のステップにより出力された上記画像データに対して所定のタイミングで処理を行い静止画データを出力する静止画データ処理のステップと
    を有し、
    上記静止画データ処理のステップは、
    上記撮像信号処理のステップにより出力された上記画像データを圧縮符号化する圧縮符号化のステップと、
    上記圧縮符号化のステップにより出力された上記圧縮画像データを第1のデータ単位でバス上に転送するデータ転送のステップと
    を備え、
    上記圧縮符号化のステップは、上記圧縮画像データを上記第1のデータ単位とデータサイズが等しいか、または、上記第1のデータ単位を整数分割したデータサイズの第2のデータ単位毎に、所定の間隔を空けて出力する
    ようにした撮像装置の制御方法をコンピュータに実行させる
    ことを特徴とする撮像装置の制御プログラム。
JP2007302552A 2007-11-22 2007-11-22 データ処理装置、データ処理方法およびデータ処理プログラム、ならびに、撮像装置、撮像装置の制御方法および撮像装置の制御プログラム Pending JP2009130563A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007302552A JP2009130563A (ja) 2007-11-22 2007-11-22 データ処理装置、データ処理方法およびデータ処理プログラム、ならびに、撮像装置、撮像装置の制御方法および撮像装置の制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007302552A JP2009130563A (ja) 2007-11-22 2007-11-22 データ処理装置、データ処理方法およびデータ処理プログラム、ならびに、撮像装置、撮像装置の制御方法および撮像装置の制御プログラム

Publications (1)

Publication Number Publication Date
JP2009130563A true JP2009130563A (ja) 2009-06-11

Family

ID=40821060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007302552A Pending JP2009130563A (ja) 2007-11-22 2007-11-22 データ処理装置、データ処理方法およびデータ処理プログラム、ならびに、撮像装置、撮像装置の制御方法および撮像装置の制御プログラム

Country Status (1)

Country Link
JP (1) JP2009130563A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013114647A (ja) * 2011-12-01 2013-06-10 Exvision Inc ジェスチャー入力システム
WO2014084072A1 (ja) * 2012-11-29 2014-06-05 ソニー株式会社 イメージセンサおよびそのデータ伝送方法、情報処理装置および情報処理方法、電子機器、並びにプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013114647A (ja) * 2011-12-01 2013-06-10 Exvision Inc ジェスチャー入力システム
WO2014084072A1 (ja) * 2012-11-29 2014-06-05 ソニー株式会社 イメージセンサおよびそのデータ伝送方法、情報処理装置および情報処理方法、電子機器、並びにプログラム
CN104854854A (zh) * 2012-11-29 2015-08-19 索尼公司 图像传感器及其数据传输方法、信息处理装置及方法、电子设备和程序
JPWO2014084072A1 (ja) * 2012-11-29 2017-01-05 ソニーセミコンダクタソリューションズ株式会社 イメージセンサおよびそのデータ伝送方法、情報処理装置および情報処理方法、電子機器、並びにプログラム
CN104854854B (zh) * 2012-11-29 2019-04-05 索尼半导体解决方案公司 图像传感器及其数据传输方法、信息处理装置及方法、电子设备和程序
US10362220B2 (en) 2012-11-29 2019-07-23 Sony Semiconductor Solutions Corporation Conversation of pixel data into compression format of pixels

Similar Documents

Publication Publication Date Title
JP5056370B2 (ja) 撮像装置、撮像装置の制御方法および撮像装置の制御プログラム、ならびに、データ処理装置、データ処理方法およびデータ処理プログラム
US8743227B2 (en) Imaging apparatus and control method for reducing a load of writing image data on a recording medium
JP4508132B2 (ja) 撮像装置、撮像回路、および撮像方法
US7705895B2 (en) Image taking apparatus and image-taking method
JP2006352509A (ja) 画像データ処理装置、画像データ処理方法およびプログラム
US10003767B2 (en) Image processing apparatus and image processing method
JP2000278589A (ja) 画像信号処理装置
JP5141324B2 (ja) 撮像装置および撮像装置の制御方法、ならびに、信号処理装置および信号処理方法
JP5496047B2 (ja) 画像再生方法、画像再生装置、画像再生プログラム、撮像システム、および再生システム
JP2008113070A (ja) 撮像装置および撮像方法
JPWO2010050089A1 (ja) 動画像圧縮符号化における符号化処理方法及び符号化処理装置
JP2012085001A5 (ja)
US7440629B2 (en) Image encoding apparatus and image encoding method
US9179065B2 (en) Image processing apparatus, image processing method, and program product
US10360660B2 (en) Image processing apparatus and image processing method for handling raw images
KR20100061311A (ko) 촬상장치 및 촬상장치의 제어 방법
JP2009130563A (ja) データ処理装置、データ処理方法およびデータ処理プログラム、ならびに、撮像装置、撮像装置の制御方法および撮像装置の制御プログラム
JP2008113112A (ja) 撮像装置
JP4103276B2 (ja) 画像記録装置および方法
JP2009130561A (ja) 撮像装置、撮像装置の制御方法および撮像装置の制御プログラム
US8953055B2 (en) Image pickup apparatus
JP2010074597A (ja) 画像処理装置、画像処理方法、プログラムおよび撮像装置
JP2009232004A (ja) 信号処理装置および信号処理方法、ならびに、撮像装置および撮像装置の制御方法
JP2010147531A (ja) 撮像装置と撮像方法
JP2013219682A (ja) 撮像装置