(57)【要約】【課題】可変長符号または固定長符号を用いて圧縮符号化されたデータを安定的に転送可能とする。【解決手段】ＲＡＷ圧縮部５４は、圧縮ＲＡＷデータが書き込まれるＳＤＲＡＭのバースト長と等しいか、または、バースト長より短いデータ長をデータ単位として、データ単位毎に所定間隔Ｔintを空けて圧縮ＲＡＷデータを出力する。こうしてＲＡＷ圧縮部５４から当該データ単位で出力された圧縮ＲＡＷデータは、バスＩ／Ｆ５５に供給される。バスＩ／Ｆ５５のバッファにＳＤＲＡＭのバースト長分のデータが溜め込まれたら、バッファからバースト長分のデータが読み出されてバス２１を介してＳＤＲＡＭに転送される。バスＩ／Ｆ５５からバス２１に転送される転送データ量が平滑化され、バスＩ／Ｆ５５からバス２１に対して、突発的に大容量のデータ転送が発生することがなくなり、バス２１の混雑が緩和される。【選択図】図２
2009130563.tif 000002
【特許請求の範囲】
【請求項１】
データを第１のデータ単位でバス上に転送するデータ転送部と、
データに対して所定のデータ処理を施して、上記第１のデータ単位とデータサイズが等しいか、または、上記第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力するデータ処理部と
を有し、
上記データ処理部から出力されたデータを上記データ転送部から上記バス上に転送する
ことを特徴とするデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
上記バスに接続され、バースト長単位でのバースト転送が可能なメモリをさらに有し、
上記メモリに対して上記データ転送部により上記バスを介してデータを転送するようにされ、上記第１のデータ単位のデータサイズを上記バースト長と等しくした
ことを特徴とするデータ処理装置。
【請求項３】
請求項１に記載のデータ処理装置において、
上記データ処理部でなされる上記データ処理は、圧縮符号化処理である
ことを特徴とするデータ処理装置。
【請求項４】
請求項１に記載のデータ処理装置において、
上記データ処理部は、固定長符号を用いて上記データ処理を行う
ことを特徴とするデータ処理装置。
【請求項５】
請求項１に記載のデータ処理装置において、
上記データ処理部は、可変長符号を用いて上記データ処理を行う
ことを特徴とするデータ処理装置。
【請求項６】
請求項１に記載のデータ処理装置において、
上記データ処理部は、
少なくとも上記第１のデータ単位分の容量を持ち、上記データ処理を行ったデータを一時的に溜め込むバッファを備え、
上記バッファに溜め込まれたデータを上記第１のデータ単位毎に読み出す
ことを特徴とするデータ処理装置。
【請求項７】
請求項６に記載のデータ処理装置において、
上記バッファに対するアクセス状態と、上記データ転送部からの転送要求とに基づき該バッファの機能が破綻したか否かを判断し、破綻したと判断された場合に所定の処理を行うようにした
ことを特徴とするデータ処理装置。
【請求項８】
請求項７に記載のデータ処理装置において、
上記所定の処理は、上記データ処理を行ったデータを上記バッファに書き込まないようにした
ことを特徴とするデータ処理装置。
【請求項９】
請求項８に記載のデータ処理装置において、
上記データ処理部に対する上記データの供給は、転送要求に応じてなされ、
上記所定の処理は、さらに、上記転送要求を強制的に出力する
ことを特徴とするデータ処理装置。
【請求項１０】
請求項８に記載のデータ処理装置において、
上記所定の処理は、さらに、上記破綻が生じた位置を示す情報を保持する
ことを特徴とするデータ処理装置。
【請求項１１】
請求項８に記載のデータ処理装置において、
上記所定の処理は、さらに、上記バッファから読み出される上記データの、上記破綻が生じた位置に対して、上記破綻が生じた旨を示す符号を挿入する
ことを特徴とするデータ処理装置。
【請求項１２】
データを第１のデータ単位でバス上に転送するデータ転送のステップと、
データに対して所定のデータ処理を施して、上記第１のデータ単位とデータサイズが等しいか、または、上記第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力するデータ処理のステップと
を有し、
上記データ処理のステップにより出力されたデータを上記データ転送のステップにより上記バス上に転送する
ことを特徴とするデータ処理方法。
【請求項１３】
データを第１のデータ単位でバス上に転送するデータ転送のステップと、
データに対して所定のデータ処理を施して、上記第１のデータ単位とデータサイズが等しいか、または、上記第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力するデータ処理のステップと
を有し、
上記データ処理のステップにより出力されたデータを上記データ転送のステップにより上記バス上に転送する
ようにしたデータ処理方法をコンピュータに実行させる
ことを特徴とするデータ処理プログラム。
【請求項１４】
撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、該撮像信号に基づく静止画データに対する処理を該動画データの処理と並列的に行えるようにした撮像装置において、
光を光電変換で電気信号に変換し撮像信号として出力する撮像部と、
上記撮像部から出力された上記撮像信号に対して所定の信号処理を施し画像データとして出力する撮像信号処理部と、
第１の転送要求を出力し、該第１の転送要求に応じて上記撮像信号処理部から出力された上記画像データに対してフレームタイミング毎の処理を行い動画データを出力する動画データ処理部と、
第２の転送要求を出力し、該第２の転送要求に応じて上記撮像信号処理部から出力された上記画像データに対して所定のタイミングで処理を行い静止画データを出力する静止画データ処理部と
を有し、
上記静止画データ処理部は、
上記撮像信号処理部から出力された上記画像データを圧縮符号化する圧縮符号化部と、
上記圧縮符号化部から出力された上記圧縮画像データを第１のデータ単位でバス上に転送するデータ転送部と
を備え、
上記圧縮符号化部は、上記圧縮画像データを上記第１のデータ単位とデータサイズが等しいか、または、上記第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力するようにした
ことを特徴とする撮像装置。
【請求項１５】
請求項１４に記載の撮像装置において、
上記バスに接続され、バースト長単位でのバースト転送が可能なメモリをさらに有し、
上記メモリに対して上記データ転送部により上記バスを介してデータを転送するようにされ、上記第１のデータ単位のデータサイズを上記バースト長と等しくした
ことを特徴とする撮像装置。
【請求項１６】
請求項１４に記載の撮像装置において、
上記メモリおよび上記バスは、上記動画データおよび上記静止画データの転送処理で共有される
ことを特徴とする撮像装置。
【請求項１７】
請求項１４に記載の撮像装置において、
上記圧縮符号化部は、固定長符号を用いて上記圧縮符号化処理を行う
ことを特徴とする撮像装置。
【請求項１８】
請求項１４に記載の撮像装置において、
上記圧縮符号化部は、可変長符号を用いて上記圧縮符号化処理を行う
ことを特徴とする撮像装置。
【請求項１９】
請求項１４に記載の撮像装置において、
上記圧縮符号化部は、
少なくとも上記第１のデータ単位分の容量を持ち、上記圧縮符号化処理を行った圧縮画像データを一時的に溜め込むバッファを備え、
上記バッファに溜め込まれた上記圧縮画像データを上記第２のデータ単位毎に読み出す
ことを特徴とする撮像装置。
【請求項２０】
請求項１９に記載の撮像装置において、
上記静止画データ処理部は、上記バッファに対するアクセス状態と、上記データ転送部からの転送要求とに基づき該バッファの機能が破綻したか否かを判断し、破綻したと判断された場合に所定の処理を行うようにした
ことを特徴とする撮像装置。
【請求項２１】
請求項２０に記載の撮像装置において、
上記所定の処理は、上記圧縮符号化処理を行った圧縮画像データを上記バッファに書き込まないようにした
ことを特徴とする撮像装置。
【請求項２２】
請求項２１に記載の撮像装置において、
上記圧縮符号化部に対する上記画像データの供給は、上記第２の転送要求に応じてなされ、
上記所定の処理は、さらに、上記第２の転送要求を強制的に出力する
ことを特徴とする撮像装置。
【請求項２３】
請求項２１に記載の撮像装置において、
上記所定の処理は、さらに、上記破綻が生じた位置を示す情報を保持する
ことを特徴とする撮像装置。
【請求項２４】
請求項２１に記載の撮像装置において、
上記所定の処理は、さらに、上記バッファから読み出される上記圧縮画像データの、上記破綻が生じた位置に対して、上記破綻が生じた旨を示す符号を挿入する
ことを特徴とする撮像装置。
【請求項２５】
撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、該撮像信号に基づく静止画データに対する処理を該動画データの処理と並列的に行えるようにした撮像装置の制御方法において、
光を光電変換で電気信号に変換して撮像部から出力された上記撮像信号に対して所定の信号処理を施し画像データとして出力する撮像信号処理のステップと、
第１の転送要求を出力し、該第１の転送要求に応じて上記撮像信号処理のステップにより出力された上記画像データに対してフレームタイミング毎の処理を行い動画データを出力する動画データ処理のステップと、
第２の転送要求を出力し、該第２の転送要求に応じて上記撮像信号処理のステップにより出力された上記画像データに対して所定のタイミングで処理を行い静止画データを出力する静止画データ処理のステップと
を有し、
上記静止画データ処理のステップは、
上記撮像信号処理のステップにより出力された上記画像データを圧縮符号化する圧縮符号化のステップと、
上記圧縮符号化のステップにより出力された上記圧縮画像データを第１のデータ単位でバス上に転送するデータ転送のステップと
を備え、
上記圧縮符号化のステップは、上記圧縮画像データを上記第１のデータ単位とデータサイズが等しいか、または、上記第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力するようにした
ことを特徴とする撮像装置の制御方法。
【請求項２６】
撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、該撮像信号に基づく静止画データに対する処理を該動画データの処理と並列的に行えるようにした撮像装置の制御方法をコンピュータに実行させる制御プログラムにおいて、
光を光電変換で電気信号に変換して撮像部から出力された上記撮像信号に対して所定の信号処理を施し画像データとして出力する撮像信号処理のステップと、
第１の転送要求を出力し、該第１の転送要求に応じて上記撮像信号処理のステップにより出力された上記画像データに対してフレームタイミング毎の処理を行い動画データを出力する動画データ処理のステップと、
第２の転送要求を出力し、該第２の転送要求に応じて上記撮像信号処理のステップにより出力された上記画像データに対して所定のタイミングで処理を行い静止画データを出力する静止画データ処理のステップと
を有し、
上記静止画データ処理のステップは、
上記撮像信号処理のステップにより出力された上記画像データを圧縮符号化する圧縮符号化のステップと、
上記圧縮符号化のステップにより出力された上記圧縮画像データを第１のデータ単位でバス上に転送するデータ転送のステップと
を備え、
上記圧縮符号化のステップは、上記圧縮画像データを上記第１のデータ単位とデータサイズが等しいか、または、上記第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力する
ようにした撮像装置の制御方法をコンピュータに実行させる
ことを特徴とする撮像装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、動画像と静止画像とを記録可能なデータ処理装置、データ処理方法およびデータ処理プログラム、ならびに、撮像装置、撮像装置の制御方法および撮像装置の制御プログラムに関し、特に、動画像を記録しながら静止画像を記録する際に、データの転送量を分散させるようにした構成に関する。
【背景技術】
【０００２】
一般に、静止画像の撮影を主とするディジタルスチルカメラや、動画像の撮影を主とするディジタルビデオカメラの撮像素子の走査方法は、静止画撮影と動画撮影で各々適したものが主となり、その走査方法がシステム全体に大きく関与している。近年のディジタルスチルカメラは、数１００万以上の画素数を持つ撮像素子を使用しており、より高解像度な静止画像を記録するために、撮像素子からの出力として、１／３０秒若しくはそれ以上の時間をかけた順次走査を行った画像信号が採用されている。また、近年では、撮像素子から出力される撮像信号をそのまま用いたＲＡＷデータをそのまま用いることで、より高解像度の静止画像出力を実現する例も多くなっている。一方、ディジタルビデオカメラは、被写体の動解像度を上げるため、１／６０秒毎の飛越走査による画像信号が採用されることが多い。
【０００３】
このように、用途に応じて撮像素子の走査方法を適宜選択する場合において、１台の撮像装置において動画像と静止画像とを並列的に記録することを考える。
【０００４】
例えば静止画像記録の品位を優先したシステムの場合、１／３０秒毎若しくはそれ以上の順次走査による画像を用いて動画像を記録することになるため、動解像度が不足することになる。逆に、動画像記録の品位を優先したシステムの場合、静止画像を、静止画記録指示が行われた瞬間（例えばシャッタボタンを押した時点）の１枚の動画像から取得する方法が考えられる。この場合には、色差補正やガンマ補正など基本的な画質処理が動画主体となり、必ずしも静止画に適した処理が行われないおそれがある。
【０００５】
さらに、動画像記録と静止画像記録の両機能を、撮像素子と処理手段とを共通に用いて互いに高品位な画像取得を目的として実現しようとした場合、走査方法など撮像素子全体の動作切換が必要となってくる。その結果、例えば動画像記録の最中に、高解像度な静止画像記録の指示が行われた場合、撮像素子の制御の切り換えと撮像信号処理の動作切換とが必要となり、静止画像取得期間中は、撮像素子から出力される動画像に適した撮像信号が途切れてしまうため、動画像記録が時間的に不連続となるおそれがある。
【０００６】
この静止画記録に伴う動画像記録の不連続性を回避するための技術が、特許文献１に記載されている。この特許文献１の記載によれば、動画周期のＮ（Ｎ≧２）倍毎に動画像よりも高い解像度を有する撮像信号を出力することで、動画像の解像度や画質を落とすことなく高解像度な静止画を得ることを可能としている。一方、この特許文献１に記載の方法によれば、動画周期のＮ倍毎に静止画用の高解像度信号を出力することは、換言すれば、残りの（Ｎ−１）フレーム期間に出力される撮像信号は、動画用の解像度となってしまうことになる。
【特許文献１】特開２００２−４４５３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述の問題を回避するために、静止画記録に用いるＲＡＷデータをメモリに一時的に保存し、動画処理後にＲＡＷデータに対する処理（現像処理など）を行う方法が提案されている。この場合、ＲＡＷデータの保存に用いるメモリの記憶容量により記録可能な静止画像の枚数が制限されてしまうことになる。この制限を回避するために、このＲＡＷデータをメモリに一時的に保存する場合に、動画像の記録中、例えば水平ブランキング期間や垂直ブランキング期間にメモリからＲＡＷデータを読み出し、このＲＡＷデータに対して現像処理など所定の処理を施す方法も提案されている。
【０００８】
ここで、ＲＡＷデータに対して画質の劣化を抑えた圧縮符号化処理を施してメモリに転送し保存することで、システム全体としてメモリ帯域の増加を抑制することができる。これにより、動画記録動作中の静止画記録を、より確実に行うことが可能となる。
【０００９】
ＲＡＷデータに施す圧縮符号化方式としては、一定量のＲＡＷデータに対して固定長の符号を出力する方式と、可変長の符号を出力する方式とが考えられる。可変長符号を用いる方式は、固定長符号を用いる方式に比べ圧縮効率が高く、より好ましい。
【００１０】
ところが、可変長符号を用いてＲＡＷデータの圧縮符号化を行った場合、画像の絵柄や量子化を行う際の量子化スケールなどにより圧縮率に大きな変動が発生し、単位時間当たりの符号量の分布が変動することになる。これにより、システム全体のバス帯域の総和量が保証し難くなるという問題点があった。すなわち、動画記録動作中に静止画記録を行うような場合、ＲＡＷデータの圧縮率の変動に応じてメモリ帯域の確保が困難になり、処理が破綻する可能性があるという問題点があった。
【００１１】
また、ＲＡＷデータの圧縮符号化を固定長符号を用いて行った場合であっても、動画記録動作中に静止画記録を行うような場合に圧縮ＲＡＷデータのメモリへの転送処理などを安定的に行うためには、より広いメモリ帯域、バス帯域を必要とし、装置コストが嵩んでしまうという問題点があった。
【００１２】
したがって、この発明の目的は、可変長符号または固定長符号を用いて圧縮符号化されたデータを安定的に転送可能なデータ処理装置、データ処理方法およびデータ処理プログラム、ならびに、撮像装置、撮像装置の制御方法および撮像装置の制御プログラムを提供することにある。
【課題を解決するための手段】
【００１３】
上述した課題を解決するために、第１の発明は、データを第１のデータ単位でバス上に転送するデータ転送部と、データに対して所定のデータ処理を施して、第１のデータ単位とデータサイズが等しいか、または、第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力するデータ処理部とを有し、データ処理部から出力されたデータをデータ転送部からバス上に転送することを特徴とするデータ処理装置である。
【００１４】
また、第２の発明は、データを第１のデータ単位でバス上に転送するデータ転送のステップと、データに対して所定のデータ処理を施して、第１のデータ単位とデータサイズが等しいか、または、第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力するデータ処理のステップとを有し、データ処理のステップにより出力されたデータをデータ転送のステップによりバス上に転送することを特徴とするデータ処理方法である。
【００１５】
また、第３の発明は、データを第１のデータ単位でバス上に転送するデータ転送のステップと、データに対して所定のデータ処理を施して、第１のデータ単位とデータサイズが等しいか、または、第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力するデータ処理のステップとを有し、データ処理のステップにより出力されたデータをデータ転送のステップによりバス上に転送するようにしたデータ処理方法をコンピュータに実行させることを特徴とするデータ処理プログラムである。
【００１６】
また、第４の発明は、撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、撮像信号に基づく静止画データに対する処理を動画データの処理と並列的に行えるようにした撮像装置において、光を光電変換で電気信号に変換し撮像信号として出力する撮像部と、撮像部から出力された撮像信号に対して所定の信号処理を施し画像データとして出力する撮像信号処理部と、第１の転送要求を出力し、第１の転送要求に応じて撮像信号処理部から出力された画像データに対してフレームタイミング毎の処理を行い動画データを出力する動画データ処理部と、第２の転送要求を出力し、第２の転送要求に応じて撮像信号処理部から出力された画像データに対して所定のタイミングで処理を行い静止画データを出力する静止画データ処理部とを有し、静止画データ処理部は、撮像信号処理部から出力された画像データを圧縮符号化する圧縮符号化部と、圧縮符号化部から出力された圧縮画像データを第１のデータ単位でバス上に転送するデータ転送部とを備え、圧縮符号化部は、圧縮画像データを第１のデータ単位とデータサイズが等しいか、または、第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力するようにしたことを特徴とする撮像装置である。
【００１７】
また、第５の発明は、撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、撮像信号に基づく静止画データに対する処理を動画データの処理と並列的に行えるようにした撮像装置の制御方法において、光を光電変換で電気信号に変換して撮像部から出力された撮像信号に対して所定の信号処理を施し画像データとして出力する撮像信号処理のステップと、第１の転送要求を出力し、第１の転送要求に応じて撮像信号処理のステップにより出力された画像データに対してフレームタイミング毎の処理を行い動画データを出力する動画データ処理のステップと、第２の転送要求を出力し、第２の転送要求に応じて撮像信号処理のステップにより出力された画像データに対して所定のタイミングで処理を行い静止画データを出力する静止画データ処理のステップとを有し、静止画データ処理のステップは、撮像信号処理のステップにより出力された画像データを圧縮符号化する圧縮符号化のステップと、圧縮符号化のステップにより出力された圧縮画像データを第１のデータ単位でバス上に転送するデータ転送のステップとを備え、圧縮符号化のステップは、圧縮画像データを第１のデータ単位とデータサイズが等しいか、または、第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力するようにしたことを特徴とする撮像装置の制御方法である。
【００１８】
また、第６の発明は、撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、撮像信号に基づく静止画データに対する処理を動画データの処理と並列的に行えるようにした撮像装置の制御方法をコンピュータに実行させる制御プログラムにおいて、光を光電変換で電気信号に変換して撮像部から出力された撮像信号に対して所定の信号処理を施し画像データとして出力する撮像信号処理のステップと、第１の転送要求を出力し、第１の転送要求に応じて撮像信号処理のステップにより出力された画像データに対してフレームタイミング毎の処理を行い動画データを出力する動画データ処理のステップと、第２の転送要求を出力し、第２の転送要求に応じて撮像信号処理のステップにより出力された画像データに対して所定のタイミングで処理を行い静止画データを出力する静止画データ処理のステップとを有し、静止画データ処理のステップは、撮像信号処理のステップにより出力された画像データを圧縮符号化する圧縮符号化のステップと、圧縮符号化のステップにより出力された圧縮画像データを第１のデータ単位でバス上に転送するデータ転送のステップとを備え、圧縮符号化のステップは、圧縮画像データを第１のデータ単位とデータサイズが等しいか、または、第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力するようにした撮像装置の制御方法をコンピュータに実行させることを特徴とする撮像装置の制御プログラムである。
【００１９】
上述したように、第１、第２および第３の発明は、データに対して所定のデータ処理を施して、第１のデータ単位とデータサイズが等しいか、または、第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力し、第１のデータ単位でバス上に転送するようにしているため、バス上に転送されるデータが分散化される。
【００２０】
また、第４、第５および第６の発明は、撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、撮像信号に基づく静止画データに対する処理を動画データの処理と並列的に行えるようにするに当たり、光を光電変換で電気信号に変換して撮像部から出力された撮像信号に対して所定の信号処理を施し画像データとして出力し、第１の転送要求に応じて出力された画像データに対してフレームタイミング毎の処理を行い動画データを出力し、第２の転送要求に応じて出力された画像データに対して所定のタイミングで処理を行い静止画データを出力するようにされ、静止画データ処理は、画像データを圧縮符号化し、圧縮画像データを第１のデータ単位でバス上に転送し、圧縮符号化処理は、圧縮画像データを第１のデータ単位とデータサイズが等しいか、または、第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力するようにしているため、バス上に転送される圧縮画像データが分散化され、動画データと圧縮画像データとでバスを共有する場合でも、バス上で瞬間的なアクセスの混雑が発生することが抑制される。
【発明の効果】
【００２１】
第１、第２および第３の発明は、上述したように、データに対して所定のデータ処理を施して、第１のデータ単位とデータサイズが等しいか、または、第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力し、第１のデータ単位でバス上に転送するようにしているため、バス上に転送されるデータが分散化される効果がある。
【００２２】
また、第４、第５および第６の発明は、撮像素子から出力された撮像信号に基づく動画データに対する処理を行うと共に、撮像信号に基づく静止画データに対する処理を動画データの処理と並列的に行えるようにするに当たり、光を光電変換で電気信号に変換して撮像部から出力された撮像信号に対して所定の信号処理を施し画像データとして出力し、第１の転送要求に応じて出力された画像データに対してフレームタイミング毎の処理を行い動画データを出力し、第２の転送要求に応じて出力された画像データに対して所定のタイミングで処理を行い静止画データを出力するようにされ、静止画データ処理は、画像データを圧縮符号化し、圧縮画像データを第１のデータ単位でバス上に転送し、圧縮符号化処理は、圧縮画像データを第１のデータ単位とデータサイズが等しいか、または、第１のデータ単位を整数分割したデータサイズの第２のデータ単位毎に、所定の間隔を空けて出力するようにしているため、バス上に転送される圧縮画像データが分散化され、動画データと圧縮画像データとでバスを共有する場合でも、バス上で瞬間的なアクセスの混雑が発生することが抑制される効果がある。
【発明を実施するための最良の形態】
【００２３】
以下、この発明の実施の形態について説明する。先ず、理解を容易とするために、この発明に適用可能なシステムについて説明する。図１は、この発明の実施の一形態に適用可能な撮像装置１の一例の構成を示す。この撮像装置１は、光学系１０を介して入射された光を撮像素子１１で受光して電気信号に変換して撮像信号とし、この撮像信号を信号処理部２０で、信号処理部２０に接続される外部メモリであるＲＡＭ３５を用いて所定に処理して記録媒体３７に記録する。撮像装置１は、撮像信号を、動画データとして記録媒体３７に記録すると共に、撮影指示に応じたタイミングで取り込まれた静止画データとしても、記録媒体３７に記録することができるようにされている。
【００２４】
なお、以下では、簡単のために、撮像素子１１の有効画素数を水平２５６０画素、垂直１９２０画素とする。動画は、水平および垂直方向をそれぞれ１／４に縮小した水平６４０画素、垂直４８０画素を画枠とし、静止画は、撮像素子１１の有効画素をそのまま用いて、画枠を水平２５６０画素、垂直１９２０画素とする。
【００２５】
光学系１０は、レンズ系、絞り機構、フォーカス機構ズーム機構などを有し、後述するＣＰＵ(Central Processing Unit)３０の命令に基づく駆動部１３の制御やマニュアル操作などにより、絞りやフォーカス、ズームなどが制御されるようになっている。被写体からの光が光学系１０を介して撮像素子１１に入射される。撮像素子１１は、例えばＣＣＤ(Charge Coupled Device)からなり、入射された光を光電変換により電気信号に変換し、撮像信号としてライン順次で出力する。なお、撮像素子１１は、ＣＣＤに限らず、例えばＣＭＯＳ(Complementary Metal-Oxide Semiconductor)イメージャを用いてもよい。
【００２６】
フロントエンド（Ｆ／Ｅ）部１２は、例えばノイズ抑圧部、自動利得制御部およびＡ／Ｄ変換部を有し、撮像素子１１からアナログ信号として出力された撮像信号に対し、ノイズ抑圧部で例えば相関二重サンプリング処理を施してノイズを抑圧し、自動利得制御部でゲインを制御する。そして、Ａ／Ｄ変換部でディジタル撮像信号に変換して出力する。このディジタル撮像信号は、撮像素子１１の各画素それぞれに直接的に対応するデータからなるＲＡＷデータである。
【００２７】
なお、後述するタイミングジェネレータ１４により出力されるタイミング信号（クロックパルス）に基づき、撮像素子１１が、例えばフレームタイミング毎に光電変換が行われ撮像信号が出力されるように制御されると共に、フロントエンド部１２が、フレームタイミングに同期して処理が行われるように制御される。
【００２８】
信号処理部２０は、カメラ信号処理部２２、拡張画像処理部２３、解像度変換部２４、静止画コーデック（ＣＯＤＥＣ）部２５、動画コーデック部２６、表示制御部２７、ＣＰＵ３０、外部インターフェイス（Ｉ／Ｆ）部３３、メモリコントローラ３４および記録再生制御部３６の各処理ブロックを含み、これら各処理ブロックがそれぞれバス２１を介して接続される。
【００２９】
カメラ信号処理部２２は、フロントエンド部１２から出力されたＲＡＷデータが入力される。カメラ信号処理部２２は、入力されたＲＡＷデータを所定に補正し、バッファメモリを利用して、クロックをセンサ駆動系のクロックから信号処理部２０の内部クロックに乗せ換える。クロックが乗せ換えられたＲＡＷデータは、後段の動画処理に適した形式のデータに変換される。
【００３０】
また、ＲＡＷデータは、静止画の記録を行う場合には、所定に圧縮符号化されバス２１にも送り出される。カメラ信号処理部２２は、バス２１を介して供給される圧縮符号化されたＲＡＷデータの圧縮符号を復号して伸長し、さらに後段の静止画処理に適した形式のデータに変換する。
【００３１】
カメラ信号処理部２２は、さらに、ベースバンドの動画データや静止画データを拡大および／または縮小し、動画データの記録や出力画像データとして必要な解像度（サイズ）に変換する。この例では、動画データの記録のためには、撮像素子１１の有効画素に従い解像度が２５６０画素×１９２０画素のデータを、解像度が６４０画素×４８０画素のデータに縮小する。静止画記録については、この例では、この段階での解像度の変換は行わない。このように解像度変換がなされたベースバンドの動画データや静止画データがカメラ信号処理部２２から出力される。
【００３２】
ここで、ベースバンドのデータとは、例えばアナログ信号がディジタル信号に変換されたデータであり、圧縮符号化や変調などの各種処理が施されていない状態のデータを指す。この例では、撮像素子１１から出力されたアナログ信号がフロントエンド部１２によってディジタル信号に変換されたディジタル撮像信号のことをベースバンドのデータと適宜称する。
【００３３】
拡張画像処理部２３は、例えば被写体認識処理や超高速連写など、拡張的な画像処理を行う。被写体認識処理は、例えば予め学習されたパターン辞書などを用いて、画像から顔らしき部分を抽出する。超高速連写は、通常の動画データのフレームレートの６０ｆｐｓ(frame per second)に対し、例えば２４０ｆｐｓといった非常に高いフレームレートで撮像素子１１における電荷読み出しおよび撮像信号の出力を行うものである。超高速連写機能では、通常の動画データに比べて高速のデータ転送能力が要求されるため、処理部を別途、設けることが好ましい。
【００３４】
解像度変換部２４は、ベースバンドの動画データや静止画データの解像度を、後述する表示装置２８に表示するのに適した解像度に変換したり、記録モードに応じた解像度に変換する処理を行う。
【００３５】
静止画コーデック部２５は、ベースバンドの静止画データに対する圧縮符号化処理と、圧縮符号化された静止画データに対する復号処理とを行う。圧縮符号化方式の種類は、特に問わないが、例えばＪＰＥＧ(Joint Photographic Experts Group)方式が適用される。すなわち、静止画コーデック部２５は、供給された静止画データのフレームを例えば８×８画素といった所定サイズの符号化ブロックに分割し、この符号化ブロック毎にＤＣＴを行う。そして、ＤＣＴにより得られたＤＣＴ係数を所定の量子化スケールで量子化する。量子化されたデータは、ハフマン符号化などの可変長符号化によりさらに圧縮されて出力される。静止画コーデック部２５による圧縮静止画データの復号処理は、圧縮符号化処理の逆の処理を以て行われる。
【００３６】
動画コーデック部２６は、ベースバンドの動画データに対する圧縮符号化処理と、圧縮符号化された動画データに対する復号処理とを行う。圧縮符号化方式の種類は特に問わないが、例えばＭＰＥＧ２(Moving Pictures Experts Group 2)方式や、ＩＴＵ−Ｔ(International Telecommunication Union-Telecommunication Standarization Sector)勧告Ｈ．２６４あるいはＩＳＯ(International Organization for Standarization)／ＩＥＣ(International Electrotechnical Commission)国際標準１４４９６−１０（ＭＰＥＧ−４パート１０）Advanced Video Coding（以下、Ｈ．２６４｜ＡＶＣと略称する）方式などを適用することができる。以下では、動画コーデック部２６は、圧縮符号化方式としてＭＰＥＧ２方式を適用するものとする。
【００３７】
動画コーデック部２６は、例えば、供給された動画データのフレームを例えば８×８画素といった所定サイズの符号化ブロックに分割し、この符号化ブロック毎にＤＣＴを行う。そして、ＤＣＴにより得られたＤＣＴ係数を所定の量子化スケールで量子化する。また、動画コーデック部２６は、供給された動画データについて、動き補償を用いた予測符号化によるフレーム間符号化も行う。フレーム内符号化およびフレーム間符号化を施されたデータは、ハフマン符号化などの可変長符号化によりさらに圧縮されて出力される。動画コーデック部２６による圧縮動画データの復号処理は、圧縮符号化処理の逆の処理を以て行われる。
【００３８】
表示制御部２７は、供給された画像データを表示装置２８に表示可能な形式の信号に変換する。表示装置２８は、例えばＬＣＤ(Liquid Crystal Display)からなり、撮像装置１におけるビューファインダとして用いられると共に、記録媒体３７から再生された画像のモニタとして用いられる。また、表示制御部２７は、後述するＣＰＵ３０から供給される命令に基づき、表示装置２８に文字や図形を表示させるための表示信号を生成する。表示信号に応じた表示も、表示装置２８に表示される。例えば、撮像装置１に対する各種設定を行うための設定画面や、撮像装置１の各種状態を示す表示、カーソル表示などが表示装置２８に所定に表示される。
【００３９】
ＣＰＵ３０に、ＲＯＭ(Read Only Memory)３１と入力デバイス３２とが接続される。ＣＰＵ３０は、図示されないＲＡＭ(Random Access Memory)をワークメモリとして用い、ＲＯＭ(Read Only Memory)３１に予め記憶されたプログラムに従いこの撮像装置１の全体の動作を制御する。
【００４０】
例えば、ＣＰＵ３０は、バス２１を介して信号処理部２０の各部とコマンドやデータのやりとりを行い、信号処理部２０の各部を制御する。また、ＣＰＵ３０は、上述した入力デバイス３２に対する操作に応じた制御信号や撮像信号などに基づき、光学系１０のフォーカス、絞り、ズームなどを制御するための制御信号を生成し、駆動部１３に供給する。駆動部１３は、供給された制御信号に応じて光学系１０の各部の制御を行う。また、ＣＰＵ３０は、タイミングジェネレータ１４に対して、所定のクロックパルスを出力するようにコマンドを出す。
【００４１】
タイミングジェネレータ１４は、ＣＰＵ３０から供給されたこのコマンドに応じて、例えばフレーム同期信号や水平同期信号、垂直同期信号をといった、撮像素子１１から出力された撮像信号に対する処理に必要なタイミング信号を生成する。
【００４２】
入力デバイス３２は、この撮像装置１を操作するために用いられる各種の操作子が設けられ、各操作子に対する操作に応じた制御信号を出力する。例えば、電源部３９による電源供給のＯＮ／ＯＦＦを切り替える電源キー、撮影モードや記録モードといった撮像装置１における動作モードを切り換えるモード切り換えキー、カーソル移動のためのキーなどが設けられる。さらに、入力デバイス３２には、この撮像装置１で静止画を撮影する際に用いられるシャッタボタンや、動画や静止画を撮影する際に光学系１０のフォーカス、絞り、ズームなどを操作するための操作子なども設けられる。
【００４３】
外部Ｉ／Ｆ３３は、この撮像装置１と外部の機器との間でのデータのやりとりを制御する。
【００４４】
メモリコントローラ３４に対して、ＲＡＭ３５が接続される。ＲＡＭ３５は、例えばメモリバスクロックに同期して動作するＳＤＲＡＭ(Synchronous Dynamic Random-Access Memory)であって、データの入出力を所定のデータ長（バースト長）単位でバースト転送により行うことができる。ＲＡＭ３５は、バス２１に接続される各部と共用して用いられる。メモリコントローラ３４は、このＲＡＭ３５に対するアクセス制御を行う。バス２１に接続される各処理ブロックにおいて、ＲＡＭ３５に対する転送要求が発生した場合には、バス２１からメモリコントローラ３４に対して転送要求が渡され、メモリコントローラ３４は、この転送要求に従いＲＡＭ３５へのアクセスを発生させる。
【００４５】
記録再生制御部３６は、記録媒体３７に対するデータの記録制御や、記録媒体３７に記録されたデータの再生制御を行う。記録媒体３７としては、例えば着脱可能な不揮発性メモリを用いることができる。また、記録媒体３７として記録可能なタイプの光ディスクを用いることもできる。さらに、着脱可能または撮像装置１に内蔵されるハードディスクを記録媒体３７として用いることもできる。勿論、記録媒体３７は、従来から動画データの記録に用いられる磁気テープを適用することも可能である。
【００４６】
図２は、カメラ信号処理部２２の一例の構成を示す。カメラ信号処理部２２は、ＲＡＷ補正部５０、スイッチ部５１、信号処理部５２および解像度変換部５３を有すると共に、ＲＡＷ圧縮部５４およびＲＡＷ伸長部５６、ならびに、バスＩ／Ｆ５５、５７および５８を有する。
【００４７】
バスＩ／Ｆ５５、５７および５８は、ＲＡＭ３５のデータを一時的に溜め込むことができるバッファメモリを有する。バスＩ／Ｆ５５、５７および５８は、このバッファメモリに溜め込まれたデータを読み出し、バス２１に送り出すことができる。また、バスＩ／Ｆ５５、５７および５８は、ＲＡＭ３５からバースト長単位で読み出されたデータを一時的にバッファに溜め込み、所定のタイミングで出力することができるようにされている。
【００４８】
ＲＡＷ補正部５０は、補正処理部５０Ａおよび同期乗り換え部５０Ｂを有する。補正処理部５０Ａは、供給されたＲＡＷデータに対して欠陥補正やレンズ補正などの各種補正処理を施すと共に、ＲＡＷデータの配列に対してデモザイク処理を施し、後段での補正処理や色変換処理に適したデータ配列に並び替える。
【００４９】
同期乗り換え部５０Ｂは、センサ駆動系のクロックをシステム系のクロックへの乗り換え処理を行う。すなわち、カメラ信号処理部２２に供給されるデータは、撮像素子１１の出力であって、撮像素子１１から電荷を読み出す際の駆動クロックに同期している。一方、カメラ信号処理部２２から出力されるデータは、信号処理部２０内部のクロックに同期している必要がある。同期乗り換え部５０Ｂは、バッファメモリを有し、センサ駆動系のクロックに従いバッファメモリに入力データを書き込んでいき、システム系のクロックに従いバッファメモリからデータを読み出す。バッファメモリからのデータ読み出しは、同期乗り換え部５０Ｂに供給される転送要求に応じて行われる。
【００５０】
信号処理部５２からの転送要求Ａに応じて、同期乗り換え部５０ＢのバッファメモリからＲＡＷデータが読み出され、スイッチ部５１の一方の端子５１Ａを介して信号処理部５２に供給される。信号処理部５２は、ＲＡＷデータを後段の処理に適した形式の画像信号に変換する。例えば、信号処理部５２は、ＲＡＷデータを輝度信号Ｙと色差信号Ｃｂ／ＣｒとからなるＹ／Ｃ信号に変換する。
【００５１】
信号処理部５２は、さらに、ＲＡＷデータが変換された画像信号に対してホワイトバランス処理、ガンマ補正処理、エッジ強調処理など所定の画質補正処理を施す。なお、一般的に、動画像と静止画像とでは、求められる画質が異なると考えられている。そこで、信号処理部５２は、例えばＣＰＵ３０の制御により、動画データに対する処理を行う場合と、静止画データに対する処理を行う場合とで、これらの画質補正処理を行う際のパラメータを切り替えることができるようにされている。
【００５２】
信号処理部５２で信号処理された画像信号は、解像度変換部５３で例えば動作モードに応じた解像度に解像度変換され、バスＩ／Ｆ５８からの転送要求Ｃに応じて、バスＩ／Ｆ５８を介してバス２１に送り出される。
【００５３】
信号処理部５２からの転送要求Ａは、バスＩ／Ｆ５７にも供給される。バスＩ／Ｆ５７は、この転送要求Ａに応じて所定のタイミングで、例えばバス２１を介してメモリコントローラ３４に対してＲＡＭ３５に格納される圧縮ＲＡＷデータの読み出しを要求し、この要求に応じてＲＡＭ３５から読み出され転送された圧縮ＲＡＷデータを、ＲＡＷ伸長部５６に供給する。ＲＡＷ伸長部５６は、バスＩ／Ｆ５７を介して供給されたこの圧縮ＲＡＷデータに対し、後述するＲＡＷ圧縮部５４と逆の処理により復号処理を施し、伸長する。スイッチ部５１で端子５１Ｂが選択され、ＲＡＷ伸長部５６の出力は、スイッチ部５１の端子５１Ｂを介して信号処理部５２に供給される。
【００５４】
なお、信号処理部５２および解像度変換部５３の処理は、バスＩ／Ｆ５８から供給される転送要求Ｃと、信号処理部５２が出力する転送要求Ａに対する応答信号に基づき行われる。すなわち、信号処理部５２および解像度変換部５３では、出力相手側からのデータ転送要求と、入力相手側からのデータ出力応答とが共に有効となったときに、データの転送および信号処理が行われる。
【００５５】
バスＩ／Ｆ５５からの転送要求Ｂに応じて、同期乗り換え部５０ＢのバッファメモリからＲＡＷデータが読み出され、ＲＡＷ圧縮部５４に供給される。ＲＡＷ圧縮部５４は、供給されたＲＡＷデータを圧縮符号化して出力する。ＲＡＷ圧縮部５４では、より画質劣化の少ない圧縮符号化方式を適用すると、好ましい。
【００５６】
例えば、特開２００５−３１１７４３号公報に記載されるような、ガンマ曲線に似た変換カーブに基づき変換前データをよりビット長の短い変換後のデータに対応付ける変換テーブルを作成し、この変換テーブルを参照することでデータ長を短縮して圧縮符号化を行う方法を用いることができる。また、特開２００６−３５２５０９号公報に記載されるような、ガンマ曲線に似た変換カーブに基づく変換テーブルを用いた圧縮符号化方式に対し、さらにＤＰＣＭ(Defferential Pulse Code Modulation)方式による圧縮符号化方式を加えた方法を用いてもよい。
【００５７】
なお、ＲＡＷ圧縮部５４における圧縮符号化処理は、ＲＡＷデータの転送に対してリアルタイム性を重視してなされ、例えば、撮像素子１１の読み出し特性に基づきライン順次で行われる。これに限らず、ＲＡＷ圧縮部５４に複数ラインを格納可能なラインメモリを設け、水平８画素×垂直８画素からなるブロック単位で、静止画データを水平方向に順次走査して行うようにもできる。
【００５８】
ＲＡＷ圧縮部５４で圧縮符号化された圧縮ＲＡＷデータは、バスＩ／Ｆ５５を介してバス２１に送り出される。
【００５９】
このような構成による撮像装置１における一例の動作について、概略的に説明する。動画データの記録を主に行う動画データ記録モード時には、被写体からの光が光学系１０を介して撮像素子１１に入射され、光電変換により電気信号に変換され撮像信号としてフレームタイミング毎に出力される。撮像信号は、フロントエンド部１２によりノイズ抑圧処理やゲイン制御などの所定の処理を施され、さらにＡ／Ｄ変換されてＲＡＷデータとしてフレームタイミング毎に出力される。フロントエンド部１２から出力されたＲＡＷデータは、信号処理部２０に入力され、カメラ信号処理部２２に供給される。
【００６０】
ＲＡＷデータは、カメラ信号処理部２２において、補正処理部５０Ａで補正処理され、同期乗り換え部５０Ｂでセンサ駆動系クロックでバッファメモリに書き込まれる。信号処理部５２から出力された転送要求Ａに応じて、バッファメモリからＲＡＷデータが読み出される。このとき、バッファメモリからのデータの読み出しがシステム系クロックに従い行われ、クロックの乗せ換えが行われる。同期乗り換え部５０Ｂから出力されたＲＡＷデータは、スイッチ部５１を介して信号処理部５２に供給され、ベースバンドの動画データに変換され、解像度変換部５３で所定に解像度変換される。転送要求Ｃに応じて解像度変換部５３から動画データが出力され、バスＩ／Ｆ５８によりバス２１に転送され、ＲＡＭ３５に書き込まれる。
【００６１】
ＲＡＭ３５に書き込まれた動画データは、所定にＲＡＭ３５から読み出されバス２１を介して解像度変換部２４および動画コーデック部２６に供給される。解像度変換部２４は、供給された動画データの解像度を例えば表示装置２８に表示するのに適した解像度に変換する。解像度変換部２４で解像度が変換された動画データは、バス２１を介して表示制御部３７に供給され、記録モニタ画像として表示装置２８に表示される。
【００６２】
ＲＡＭ３５に書き込まれた動画データは、バス２１を介して動画コーデック部２６にも供給される。動画コーデック部２６は、例えばＭＰＥＧ２方式により圧縮符号化を行う。圧縮動画データは、バス２１を介してメモリコントローラ３４に供給され、ＲＡＭ３５に格納される。る。解像度変換された動画データは、バス２１を介してメモリコントローラ３４に供給され、ＲＡＭ３５に格納される。
【００６３】
なお、ＲＡＭ３５に書き込まれた動画データをバス２１を介して拡張画像処理部２３に供給して所定に画像処理を施し、その後、解像度変換部２４に供給するようにしてもよい。これに限らず、解像度変換部２４で解像度変換された動画データをバス２１を介して拡張画像処理部２３に供給し、画像処理を施すようにしてもよい。
【００６４】
記録再生制御部３６は、ＲＡＭ３５に所定量以上の圧縮動画データが溜め込まれると、ＲＡＭ３５から、例えば記録媒体３７の記録単位毎に圧縮動画データを読み出し、記録媒体３７に記録する。
【００６５】
動画データの記録中に静止画記録を行う場合には、先ず、例えば動画の記録中に、静止画の記録を指示するために、入力デバイス３２として設けられたシャッタボタンが押下される。シャッタボタンの押下に応じた制御信号が入力デバイス３２からＣＰＵ３０に供給される。ＣＰＵ３０は、この制御信号に基づき、撮像装置１の各部を、静止画記録を行うように制御する。
【００６６】
例えば、シャッタボタンが押下された直後のフレームタイミングのＲＡＷデータに基づく静止画データが取り込まれ記録される。すなわち、カメラ信号処理部２２において、シャッタボタンが押下されタイミングに対応するＲＡＷデータに対し、補正処理部５０Ａで所定に補正処理を施し同期乗り換え部５０Ｂでセンサ駆動系クロックでバッファメモリに書き込まれる。バッファメモリに書き込まれたＲＡＷデータは、転送要求Ｂに応じてシステム系クロックで読み出されてクロックが乗せ換えられ、ＲＡＷ圧縮部５４に供給される。ＲＡＷ圧縮部５４で圧縮符号化された圧縮ＲＡＷデータは、バスＩ／Ｆ５５を介してバス２１に送り出され、バス２１およびメモリコントローラ３４を介してＲＡＭ３５に格納される。
【００６７】
ＲＡＭ３５に格納された圧縮ＲＡＷデータは、所定のタイミングでＲＡＭ３５から読み出され、カメラ信号処理部２２に供給される。カメラ信号処理部２２に供給された圧縮ＲＡＷデータは、転送要求Ａに応じてバスＩ／Ｆ５７を介してＲＡＷ伸長部５６に供給され、圧縮符号を伸長される。伸長されたＲＡＷデータは、信号処理部５２でベースバンドの静止画データに変換され、解像度変換部５３で解像度変換を施され、バスＩ／Ｆ５８を介してバス２１に転送され、メモリコントローラ３４を介してＲＡＭ３５に書き込まれる。
【００６８】
ＲＡＭ３５に書き込まれたＲＡＷデータは、所定に読み出されてバス２１を介して静止画コーデック部２５に供給され、例えばＪＰＥＧ方式に従って圧縮符号化される。圧縮静止画データは、バス２１を介して記録再生制御部３６に供給され、動画データの記録が行われていないタイミングで記録媒体３７に記録される。圧縮静止画データを一旦ＲＡＭ３５に格納し、記録媒体３７に対して動画データの記録が行われていないタイミングでＲＡＭ３５から圧縮静止画データを読み出して記録媒体３７に記録するようにしてもよい。
【００６９】
なお、動画データの記録中に静止画データの記録を行う場合、動画データの記録を停止させないために、カメラ信号処理部２２におけるＲＡＷデータの圧縮符号化処理や、圧縮ＲＡＷデータのＲＡＭ３５に対する書き込みは、撮像素子１１の出力に同期してリアルタイムに行う必要がある。
【００７０】
一方、ＲＡＭ３５に格納された圧縮ＲＡＷデータの読み出しや、読み出されたＲＡＷデータのカメラ信号処理部２２における伸長処理および信号処理、静止画コーデック部２５における圧縮符号化処理、圧縮静止画データの記録再生制御部３６への供給などは、例えば撮像素子１１における駆動信号のブランキング期間といった、バス２１が混雑していないタイミングで行う。なお、静止画データに対する信号処理は、リアルタイム性が要求されないため、ＣＰＵ３０におけるソフトウェア処理や、汎用ＤＳＰ(Digital Signal Processor)を用いて低速で信号処理することが可能である。
【００７１】
次に、カメラ信号処理部２２における処理について説明する。図３は、カメラ信号処理部２２の動作モード毎のデータパスの例を示す。なお、図３において、メモリコントローラ３４は、省略されている。図３Ａは、動画データ記録モード時の一例のデータパスを示す。動画データ記録モードでは、撮像素子１１から出力されフロントエンド部１２を介してカメラ信号処理部２２に供給されたＲＡＷデータに対する動画データとしての処理と、当該動画データを表示装置２８に対して表示させるモニタリング処理とが行われる。動画データ記録モードでは、これらの処理がフレームタイミング毎の処理として行われる。
【００７２】
動画データ記録モードでは、スイッチ部５１において端子５１Ａが選択され、図３Ａに太線で例示されるように、ＲＡＷ補正部５０から例えばフレームタイミング毎に出力されるＲＡＷデータは、信号処理部５２からの転送要求Ａに応じてスイッチ部５１を介して信号処理部５２および解像度変換部５３に供給される。バスＩ／Ｆ５８からの転送要求Ｃに応じて解像度変換部５３からデータが出力され、このデータは、バスＩ／Ｆ５８を介してバス２１に転送され、ＲＡＭ３５に書き込まれる。ＲＡＭ３５に書き込まれたデータは、バス２１を介して後段の動画コーデック部２６や表示制御部２７に供給される。
【００７３】
この、動画データ記録モードにおいては、ＲＡＷ補正部５０での処理から、ＲＡＭ３５に対するデータの書き込みまでを、リアルタイムに行う必要がある。なお、ここでいうリアルタイムは、データの時間的な連続性を損ねることなく処理が可能であることをいうものとする。より具体的には、動画データの場合、フレームの連続性が損なわれることなく、データ伝送および各部におけるデータ処理が行われる場合に、リアルタイム処理が成立する。
【００７４】
図３Ｂおよび図３Ｃは、静止画データ記録モード時の一例のデータパスを示す。静止画データ記録モードにおいては、撮像素子１１からの撮像信号読み出しに伴うデータパスと、撮像信号が変換されたＲＡＷデータに対する信号処理を行うデータパスとで異なる。
【００７５】
図３Ｂは、撮像信号読み出しに伴う一例のデータパスを示す。この場合、図３Ｂに太線で例示されるように、バスＩ／Ｆ５５からの転送要求Ｂに応じてＲＡＷ補正部５０からＲＡＷデータが出力され、このＲＡＷデータがＲＡＷ圧縮部５４で所定に圧縮符号化されてバスＩ／Ｆ５５に供給される。この圧縮ＲＡＷデータは、バスＩ／Ｆ５５からバス２１に転送され、ＲＡＭ３５に書き込まれる。
【００７６】
図３Ｃは、このＲＡＭ３５に書き込まれた圧縮ＲＡＷデータに対する信号処理を行う際の一例のデータパスを示す。ＲＡＭ３５に書き込まれた圧縮ＲＡＭデータが所定に読み出される。ＲＡＭ３５から読み出された圧縮ＲＡＷデータは、バス２１およびバスＩ／Ｆ５７を介してＲＡＷ伸長部５６に供給され、端子５１Ｂが選択されたスイッチ部５１を介して信号処理部５２に供給される。ＲＡＷデータは、信号処理部５２および解像度変換部５３で所定に信号処理され、バスＩ／Ｆ５８からの転送要求Ｃに応じて解像度変換部５３から出力され、バスＩ／Ｆ５８およびバス２１を介してＲＡＭ３５に再び書き込まれる。ＲＡＭ３５に書き込まれたＲＡＷデータは、バス２１を介して後段の静止画コーデック部２５などに供給される。
【００７７】
静止画像データに対する処理は、リアルタイム性が要求されないため、ＲＡＭ３５からの圧縮ＲＡＷデータの読み出しは、例えばバス２１やＲＡＭ３５のアクセス帯域に余裕があるタイミングで行うことができる。
【００７８】
次に、カメラ信号処理部２２における処理について、より詳細に説明する。上述したように、同期乗り換え部５０Ｂでは、センサ駆動系のクロックに同期して入力されたＲＡＷデータをバッファメモリに一旦格納し、このバッファメモリからの読み出しをシステム系クロックに同期させて行うことで、クロックの乗せ替えを行っている。バッファメモリは、クロック乗せ換えと、バス２１における瞬間的なアクセス遅延を吸収可能な容量を、少なくとも有しているものとする。バッファメモリからの読み出しが行われない状態で、バッファメモリに対する書き込みが発生すると、バッファメモリがオーバーフローを起こし、バッファ機能が破綻することになる。
【００７９】
このように、バッファメモリに対するＲＡＷデータの読み書きの速度差によりバッファ破綻が発生する例としては、ＲＡＷ圧縮部５４で圧縮符号化された圧縮ＲＡＷデータが送り出されるバス２１において、データ転送量が増大してバス２１が混雑している場合が考えられる。例えばバスＩ／Ｆ５５は、バス２１が圧縮ＲＡＷデータよりも優先度が高いデータの転送で混雑している場合、例えば当該データの転送が終了するまで圧縮ＲＡＷデータをバス２１に送り出す処理を待機する。若しくは、ＲＡＷ圧縮部５４を制御してＲＡＷデータの圧縮処理を停止し、当該データの転送が終了しバッファメモリが空になるのを待機する。
【００８０】
また、ＲＡＷ圧縮部５４がＲＡＷデータの空間周波数成分に応じて圧縮率が変動する可変長符号化を用いてＲＡＷデータの圧縮符号化を行う場合、圧縮符号化するＲＡＷデータの高周波成分が多ければ、圧縮符号化後のデータ量が大きくなってしまう場合が有り得る。このような場合にも、バッファ破綻が発生する可能性がある。
【００８１】
バッファ破綻が発生した可能性がある場合、静止画データの記録を継続するためには、ＲＡＷデータの圧縮符号化処理およびその前段の処理を停止し、バッファメモリが空になるのを待つ必要がある。前段の処理は、例えば撮像素子１１からの撮像信号の出力、フロントエンド部１２からのＲＡＷデータの出力、補正処理部５０Ａにおける補正処理が含まれる。しかしながら、動画データの記録中に静止画データの記録が行われる場合、動画データの記録を連続的に行う必要があるため、これら前段の処理を中止することができない。
【００８２】
そこで、同期乗り換え部５０Ｂがバッファメモリの状態を監視し、バッファの破綻が検知されたら、破綻処理を行う。図４は、このような処理を行うようにされた同期乗り換え部５０Ｂの一例の構成を示す。同期乗り換え部５０Ｂは、バッファメモリ６０と、読み出し制御部６１とからなる。バッファメモリ６０は、先入れ先出し（ＦＩＦＯ：First In, First Out）制御のメモリであって、前処理側から供給される書き込みイネーブル信号を受けて、データの書き込みを行う。読み出し制御部６１は、上述した転送要求Ａおよび転送要求Ｂと、バッファメモリ６０の容量とに基づきバッファメモリ６０に対してデータの読み出し要求を出す。バッファメモリ６０の容量は、例えばバッファメモリが満杯（フル）状態および空（エンプティ）状態の何れかを示しているのみでもよい。
【００８３】
読み出し制御部６１は、バッファメモリ６０の容量が空ではなく、且つ、転送要求Ａおよび転送要求Ｂの双方が成立する場合に、バッファメモリ６０への読み出し要求をアクティブとしてバッファメモリ６０からデータを読み出し、信号処理部５２およびＲＡＷ圧縮部５４に対して出力する。
【００８４】
ここで、読み出し制御部６１は、バッファメモリ６０の容量と、転送要求Ａおよび転送要求Ｂとに基づき、バッファが破綻した可能性の有無を判断する。すなわち、バッファメモリ６０の容量がフル状態であって、少なくとも転送要求Ａまたは転送要求Ｂの何れか一方が成立しない場合に、バッファが破綻した可能性があると判断する。なお、転送要求が成立するか否かは、例えばその転送要求により行われるべき処理のタイミングに当該転送要求が読み出し制御部６１に到来しているか否かで判断することが考えられる。
【００８５】
図５は、バッファ破綻判定の一例の処理を示すフローチャートである。先ず、ステップＳ１００でバッファメモリ６０がフル状態であるか否かが判断される。フル状態ではないと判断されれば、処理はステップＳ１０１に移行され、例えば通常のデータ転送処理がなされる。
【００８６】
一方、ステップＳ１００でバッファメモリ６０がフル状態であると判断されたら、処理はステップＳ１０２に移行され、転送要求Ａおよび転送要求Ｂについて、成立の可否が判定される。転送要求Ａおよび転送要求Ｂが共に成立すると判断されれば、処理はステップＳ１０１に移行され、通常の転送処理が行われる。
【００８７】
ステップＳ１０２で、転送要求Ａまたは転送要求Ｂが成立しないと判断された場合には、バッファが破綻した可能性があるとされる。このとき、転送要求Ａまたは転送要求Ｂのうち何れか一方のみが成立しないと判断された場合を、部分破綻と呼び（ステップＳ１０３）、発生要因を例えば読み出し制御部６１の内部レジスタに保持する（ステップＳ１０４）。また、転送要求Ａと転送要求Ｂとが共に成立しないと判断された場合を、完全破綻と呼び（ステップＳ１０５）、発生要因を内部レジスタに保持する（ステップＳ１０６）。ＣＰＵ３０は、読み出し制御部６１の内部レジスタを読み出すことで、フレーム処理の単位で、部分破綻または完全破綻の何れが発生したか否かを知ることができる。
【００８８】
なお、読み出し制御部６１の内部レジスタに保持される発生要因は、例えば成立しないとされた転送要求の情報を用いることができる。一例として、転送要求Ａが成立しないとされ、部分破綻した可能性があるとされた場合には、転送要求Ａを示す情報を、読み出し制御部６１の内部レジスタに保持することが考えられる。他の例として、転送要求Ａおよび転送要求Ｂが共に成立しないとされ、完全破綻した可能性があるとされた場合には、転送要求Ａおよび転送要求Ｂをそれぞれ示す情報を読み出し制御部６１の内部レジスタに保持することが考えられる。
【００８９】
次に、この発明の実施の一形態について説明する。先ず、図６を用いて、ＲＡＷデータの圧縮符号化方式の種別による出力レートの違いについて説明する。なお、以下では、画像データ（ＲＡＷデータ）の圧縮符号化単位に対して、決められた長さの符号が割り当てられる場合を固定長符号化と呼び、圧縮符号化単位に対して割り当てられる符号長が決められていない場合を可変長符号化と呼ぶ。圧縮符号化単位は、例えば、単一画素、隣接する複数の画素（画素ブロックなど）、１または隣接する複数のラインを構成する画素である。
【００９０】
ＲＡＷデータの圧縮符号化を行わず、例えばＲＡＷデータをＲＡＷ圧縮部５４を通過させただけの場合（圧縮処理スルーと呼ぶ）には、出力レートは、撮像素子１１からの読み出しレートと略等価となる。ＲＡＷデータの圧縮符号化を固定長符号化で行った場合には、ＲＡＷデータを通過させただけの場合に比べ、ＲＡＷデータの圧縮率分だけ、出力レートが低下する。一方、ＲＡＷデータの圧縮符号化を可変長符号化で行った場合には、例えば圧縮符号化単位毎の画像の絵柄により割り当てられる符号量が変動するため、出力レートも、この符号化の処理に応じて変動する。
【００９１】
なお、上述の撮像装置１のように、圧縮ＲＡＷデータを格納するための外部メモリ（ＲＡＭ３５）としてＳＤＲＡＭを用いている場合、固定長符号化では圧縮符号化単位の固定符号長がＳＤＲＡＭのバースト長を超えていたり、可変長符号化処理では符号長の変動に伴い転送レートが局所的に粗密になることが起こり得る。このような場合、最大転送レートの予測が困難となり、システム全体としてのメモリ帯域の確保や、撮像素子１１からの読み出しにおけるリアルタイム性の保証が難しくなる。
【００９２】
そこで、この発明の実施の一形態では、圧縮符号化処理の出力を、外部メモリとして用いるＳＤＲＡＭのバースト長と同一か、当該バースト長よりも短いデータ長を単位として行うようにする。すなわち、ＲＡＷ圧縮部５４から出力される圧縮ＲＡＷデータが書き込まれるＲＡＭ３５のバースト長と等しいか、または、当該バースト長より短いデータ長をデータ単位として、ＲＡＷ圧縮部５４から圧縮ＲＡＷデータを出力する。こうしてＲＡＷ圧縮部５４から当該データ単位で出力された圧縮ＲＡＷデータは、バスＩ／Ｆ５５に供給され、ＲＡＭ３５のバースト長を単位としてバス２１に転送され、ＲＡＭ３５に書き込まれる。
【００９３】
このように、ＲＡＭ３５への書き込みのためにＲＡＷ圧縮部５４からバスＩ／Ｆ５５に圧縮ＲＡＷデータを出力する際に、当該圧縮ＲＡＷデータのデータ単位をＲＡＭ３５のバースト長と等しいか、または、当該バースト長より短いデータ長とすることで、バスＩ／Ｆ５５からバス２１に転送される転送データ量が平滑化される。これにより、バスＩ／Ｆ５５からバス２１に対して、突発的に大容量のデータ転送が発生することがなくなり、バス２１の混雑が緩和される。したがって、上述した完全破綻や部分破綻の発生を抑制することが可能となる。
【００９４】
図７は、この発明の実施の一形態によるＲＡＷ圧縮部５４の一例の構成を概略的に示す。図７の例では、ＲＡＷ圧縮部５４は、量子化部７０、符号化部７１、バッファ制御部７２および符号パッキングバッファ７３を有する。量子化部７０は、例えばＲＡＷ補正部５０から出力されたＲＡＷデータが供給される。量子化部７０は、供給されたＲＡＷデータを所定に量子化し、連続的な値からなるデータを離散的な値のデータに変換することで、データの圧縮を行う。上述の例では、例えばＲＡＷデータをガンマ曲線に似た変換カーブに対応付ける処理が量子化部７０で行われる。
【００９５】
符号化部７１は、量子化部７０でＲＡＷデータが量子化された量子化データを、所定の規則で符号化する。上述の例では、例えば量子化部７０でＲＡＷデータをガンマ曲線に似た変換カーブに対応付ける処理の結果に基づき変換テーブルが参照され、当該処理の結果に対応する符号が出力される。この変換テーブルを、一定量のＲＡＷデータに対して固定長の符号を出力するように構成することで、固定長符号を用いたＲＡＷデータの圧縮符号化を行うことができる。一方、この変換テーブルを、一定量のＲＡＷデータに対して可変長の符号を出力するように構成することで、可変長符号を用いたＲＡＷデータの圧縮符号化を行うことができる。この場合、例えば、上述の処理の結果の統計的な頻度に基づき決められた符号長からなる変換テーブルを用いることが考えられる。
【００９６】
符号パッキングバッファ７３は、符号化部７１で固定長または可変長で符号化された符号を一時的に溜め込む。符号パッキングバッファ７３は、例えば所定容量のメモリを２面（それぞれＡ面、Ｂ面と呼ぶ）有し、この２面のメモリを、符号化部７１側からの書き込みと、出力側（バスＩ／Ｆ５５側）からの読み出しとで排他処理させて実現させる。符号パッキングバッファ７３の各面は、例えば、少なくとも、このＲＡＷ圧縮部５４から出力された圧縮ＲＡＷデータが書き込まれるＲＡＭ３５のバースト長の容量を有するものとする。この例では、符号パッキングバッファ７３のＡ面およびＢ面の容量を、それぞれ６４バイトとしている。
【００９７】
なお、符号パッキングバッファ７３は、２面構成に限らず、ＦＩＦＯ制御のメモリにより構成することも可能である。
【００９８】
バッファ制御部７２は、符号パッキングバッファ７３における書き込みおよび読み出しを制御する。例えば、バッファ制御部７２は、符号パッキングバッファ７３に書き込まれているデータ容量を取得し、この容量に基づき符号パッキングバッファ７３におけるアクセス制御を行う。例えば、バッファ制御部７２は、当該容量に基づきＡ面およびＢ面の切り換えと、Ａ面および／またはＢ面に対するデータの書き込みおよび読み出しのタイミングなどの制御を行う。なお、バッファのＡ面とＢ面とを切り替える動作を、バッファ面フリップと呼ぶ。
【００９９】
また、バッファ制御部７２は、バスＩ／Ｆ５５からの転送要求に基づき符号パッキングバッファ７３からのデータの読み出しを行うと共に、符号パッキングバッファ７３がデータの書き込みを可能な状態であると判断した場合には、転送要求Ｂを出力する。一例として、バス２１が混雑しているなどの要因によりバスＩ／Ｆ５５からバッファ制御部７２に対して転送要求が出力されなければ、符号パッキングバッファ７３からのデータの読み出しが行われず、このとき、符号パッキングバッファ７３の容量がフル状態であれば、当該符号パッキングバッファ７３に対する書き込みが行えないため、転送要求Ｂが出力されない。
【０１００】
次に、ＲＡＷデータの圧縮符号化を固定長符号化を用いて行った場合のデータ転送制御の例を、より具体的に説明する。なお、ここでは、１画素のデータ長を１６ビットとし、外部メモリ（ＲＡＭ３５）のバースト長を３２バイトとする。また、バスＩ／Ｆ５５は、上述したように、ＲＡＭ３５のバースト長単位でデータを一時的に溜め込むことができるバッファメモリを有し、このバッファメモリから読み出したデータを、バス２１に対して出力する。
【０１０１】
図８は、圧縮処理スルーの場合における、圧縮ＲＡＷデータ転送の一例のタイミングチャートを示す。図８Ａは、ＲＡＷ圧縮部５４の一例の出力を示し、図８Ｂは、バスＩ／Ｆ５５の一例の出力を示す。バスＩ／Ｆ５５の出力がバス２１を介してＲＡＭ３５に転送される。圧縮処理スルーの場合、ＲＡＷ圧縮部５４は、１画素毎に入力されたＲＡＷデータをそのまま出力させる（図８Ａ）。出力されたデータは、バスＩ／Ｆ５５に供給される。撮像素子１１において画素データの間引き処理などを行っていなければ、出力データの転送レートは、撮像素子１１の読み出しレートと等価となる。バスＩ／Ｆ５５では、供給されたデータをバッファに溜め込みむ。バッファに溜め込まれたデータは、所定に読み出されてバス２１に対して出力される（図８Ｂ）。１画素のデータ長が１６ビットのこの例では、１６画素を単位として、ＲＡＭ３５に対するバースト転送が行われることになる。
【０１０２】
図９は、ＲＡＷ圧縮部５４において、従来の方法でデータ出力を行った場合の一例のタイミングチャートを示す。ここでは、説明を容易とするために、ＲＡＷ圧縮部５４では、圧縮符号化単位を６４画素とし、圧縮率を１／２とする。したがって、圧縮符号化単位毎に６４バイト（＝１６ビット×６４画素×１／２）の圧縮ＲＡＷデータが出力されることになる。
【０１０３】
ＲＡＷ圧縮部５４では、圧縮符号化されたＲＡＷデータをバッファに溜め込み、６４バイトの圧縮ＲＡＷデータが溜め込まれると、書き込み面と読み出し面とを切り替え、バッファから圧縮ＲＡＷデータを読み出す。読み出された圧縮ＲＡＷデータは、バスＩ／Ｆ５５に供給される（図９Ａ）。バスＩ／Ｆ５５は、３２バイト分の圧縮ＲＡＷデータが供給される毎に出力を行うため、図９Ｂに例示されるように、３２バイト単位のバースト転送が２回、連続されるような動作となる。
【０１０４】
この場合、例えば図８に示した圧縮スルーの場合に比べ、ＲＡＭ３５を共有する他の処理を待機させる時間が増大してしまうおそれがある。また、処理を待機させられる側において、処理がメモリ帯域を確保するためのバッファを設ける必要が生じる可能性があり、この場合、装置コストの増加を招いてしまうことになる。
【０１０５】
図１０および図１２は、この発明の実施の一形態によるデータ転送の例を示すタイミングチャートである。図１０は、圧縮符号化処理により出力されるデータ単位を、外部メモリ（ＲＡＭ３５）として用いるＳＤＲＡＭのバースト長と同一とした場合の例である。例えば、ＲＡＷ圧縮部５４において、バッファに溜め込まれた圧縮ＲＡＷデータを３２バイト分、読み出して出力し、所定の間隔Ｔintが経過したら、バッファに溜め込まれた、圧縮符号化単位の残りの３２バイト分の圧縮ＲＡＷデータを読み出して出力する（図１０Ａ）。
【０１０６】
ＲＡＷ圧縮部５４からの出力を、このように、ＲＡＭ３５のバースト長に対応するデータ長を単位として、圧縮符号化単位毎に間隔Ｔintを空けて行うことで、バスＩ／Ｆ５５によるバースト転送も、図１０Ｂに例示されるように分散的に行われる。これにより、ＲＡＭ３５を共有する他の処理を待機させる時間を、図９に示す転送方法に比べて短縮させることが可能となる。
【０１０７】
図１１は、図１０に示した、圧縮符号化処理により出力されるデータ単位を、外部メモリとして用いるＳＤＲＡＭのバースト長と同一とした場合の、ＲＡＷ圧縮部５４における符号パッキングバッファ７３の一例の読み出し制御を示すフローチャートである。なお、初期状態において、符号パッキングバッファ７３は、Ａ面が書き込み面、Ｂ面が読み出し面とされているものとする。また、上述したように、符号パッキングバッファ７３において、Ａ面およびＢ面は、それぞれ６４バイトの容量を有し、外部メモリ（ＲＡＭ３５）のバースト長は、３２バイトであるものとする。
【０１０８】
圧縮符号化処理が、例えば撮像素子１１のフレーム同期信号をトリガとして開始される。圧縮符号化処理が開始されると、符号化部７１から出力された圧縮ＲＡＷデータが符号パッキングバッファ７３の書き込み面に書き込まれる。この符号パッキングバッファ７３に対する書き込み制御については、後述する。ステップＳ１０で、書き込み面に書き込まれたデータ容量が６４バイトに達したか否かが判断され、６４バイトに達したと判断されれば、処理はステップＳ１１に移行される。ステップＳ１１では、符号パッキングバッファ７３のバッファ面がフリップされ、それまで書き込み面だった面が新たな読み出し面とされ、読み出し面だった面が新たな書き込み面とされる。なお、新たに書き込み面とされた面には、圧縮ＲＡＷデータの書き込みが、元の書き込み面に対する書き込みに引き継がれて行われる。
【０１０９】
次のステップＳ１２では、読み出し面から、外部メモリのバースト長と同一の、３２バイト分の圧縮ＲＡＷデータが読み出される。読み出された圧縮ＲＡＷデータは、ＲＡＷ圧縮部５４から出力されバスＩ／Ｆ５５に供給される。ステップＳ１３で、間隔Ｔintだけ処理が待たれ、間隔Ｔintが経過したら、ステップＳ１４で、符号パッキングバッファ７３の読み出し面から、上述のステップＳ１２で３２バイト分が読み出された残りの３２バイト分のデータが読み出される。
【０１１０】
そして、処理はステップＳ１０に戻され、符号パッキングバッファ７３の書き込み面に６４バイト分の圧縮ＲＡＷデータが書き込まれるのが待機される。
【０１１１】
なお、間隔Ｔintは、バス２１に対するデータの転送が分散化されるような値を選ぶのが好ましい。例えば、ＲＡＷ圧縮部５４に圧縮符号化単位分の画素データが供給される期間より短く、且つ、３２バイト毎の出力データが連続的に出力されないような値とする。ＲＡＭ３５に対するバースト転送の分散化を考慮した場合、例えば、ＲＡＷ圧縮部５４から圧縮符号化単位分のデータが出力される期間を等分するように、間隔Ｔintを設定することが考えられる。より具体的な例としては、撮像素子１１からの、圧縮符号化単位の１／２である３２画素分の読み出し周期に相当する時間を、ＲＡＷ圧縮部５４を駆動するクロック周波数に換算したクロック数を設定する。
【０１１２】
図１２は、圧縮符号化処理により出力されるデータ単位を、外部メモリ（ＲＡＭ３５）として用いるＳＤＲＡＭのバースト長よりも短くした場合の例である。圧縮符号化処理により出力されるデータ単位は、例えば外部メモリのバースト長を整数分割したサイズとされる。この図１２の例では、圧縮符号化単位である６４画素分、６４バイト（圧縮率が１／２の場合）の圧縮ＲＡＷデータを８分割し、８バイト毎に、間隔Ｔintに従いＲＡＷ圧縮部５４から出力するようにしている（図１２Ａ）。間隔Ｔintは、この例では、撮像素子１１からの、圧縮符号化単位の１／８である８画素分の読み出し周期に相当する時間に基づく。
【０１１３】
バスＩ／Ｆ５５は、４バイト毎にＲＡＷ圧縮部５４から供給される圧縮ＲＡＷデータをバッファに溜め込み、ＲＡＭ３５のバースト長に対応する３２バイト分の圧縮ＲＡＷデータがバッファに溜め込まれたら、バッファから圧縮ＲＡＷデータを読み出して、ＲＡＭ３５に対してバースト転送する（図１２Ｂ）。
【０１１４】
この場合、ＲＡＷ圧縮部５４からどのような単位でデータを出力するかは、バスＩ／Ｆ５５との接続関係や、ＲＡＷ圧縮部５４の符号パッキングバッファ７３をＦＩＦＯ制御のメモリとして構成した場合のバッファ容量などに応じて、適当に設定することができる。
【０１１５】
図１３は、図１２に示した、圧縮符号化処理により出力されるデータ単位を、外部メモリとして用いるＳＤＲＡＭのバースト長よりも短くした場合の、ＲＡＷ圧縮部５４における符号パッキングバッファ７３の一例の読み出し制御を示すフローチャートである。なお、初期状態において、符号パッキングバッファ７３は、Ａ面が書き込み面、Ｂ面が読み出し面とされているものとする。
【０１１６】
また、ここでは、符号パッキングバッファ７３において、Ａ面およびＢ面は、それぞれＬバイトの容量を有するものとし、圧縮符号化処理により、Ｍバイト単位でデータが出力されるものとする。ここで、Ｌバイトは、少なくとも外部メモリのバースト長分の容量とされ、Ｍバイトは、当該バースト長と等しいか、当該バースト長を整数分割したサイズとする。したがって、ＲＡＷ圧縮部５４からバスＩ／Ｆ５５に対して、Ｌ／Ｍ＝Ｎ回、データ転送を行うことで、符号パッキングバッファ７３の一方のバッファ面からの読み出しが完了されることになる。
【０１１７】
フローチャートの開始に先立って、転送回数Ｃtが０とされる。圧縮符号化処理が開始されると、ＲＡＷデータが圧縮された圧縮ＲＡＷデータが符号パッキングバッファ７３の書き込み面に書き込まれる。ステップＳ２０で、書き込み面に書き込まれたデータ容量がＬバイトに達したか否かが判断され、Ｌバイトに達したと判断されれば、処理はステップＳ２１に移行され、バッファ面がフリップされ書き込み面と読み出し面とが切り替えられる。新たに書き込み面とされた面には、圧縮ＲＡＷデータの書き込みが行われる。
【０１１８】
次のステップＳ２２では、読み出し面からＭバイト分の圧縮ＲＡＷデータが読み出される。読み出された圧縮ＲＡＷデータは、ＲＡＷ圧縮部５４から出力されバスＩ／Ｆ５５に供給される。ステップＳ２３で転送回数Ｃtが１だけインクリメントされ、ステップＳ２４で、間隔Ｔintだけ処理が待たれる。次のステップＳ２５で、転送回数ＣtがＮ回に達したか否かが判断される。達していないと判断されれば、処理はステップＳ２２に戻され、次のＭバイト分の転送が行われ、転送回数Ｃtがインクリメントされ（ステップＳ２３）、間隔Ｔintで待ち処理がなされる（ステップＳ２４）。
【０１１９】
一方、ステップＳ２５で、転送回数ＣtがＮ回に達したと判断されれば、処理はステップＳ２６に移行され、転送回数Ｃｔが０とされる。そして、処理がステップＳ２０に戻され、符号パッキングバッファ７３の書き込み面にＬバイト分の圧縮ＲＡＷデータが書き込まれるのが待機される。
【０１２０】
この図１３のフローチャートにおいて、Ｌバイトを６４バイトとし、Ｍバイトを８バイトとすれば、図１２のタイミングチャートの状態に一致することになる。また、Ｌバイトを６４バイトとし、Ｍバイトを３２バイトとすれば、上述した図１０のタイミングチャートの状態と一致し、図１１のフローチャートの処理と等価となる。このように、圧縮符号化処理により出力されるデータ単位を外部メモリのバースト長と同一とした場合の例は、当該データ単位を外部メモリのバースト長よりも短くした場合の例の特別な場合であるといえる。
【０１２１】
図１４は、符号パッキングバッファ７３に対する一例の書き込み制御を示すフローチャートである。この図１４に示す処理は、図１０および図１１を用いて説明した、圧縮符号化処理により出力されるデータ単位を、外部メモリとして用いるＳＤＲＡＭのバースト長と同一とした場合と、図１２および図１３を用いて説明した、当該データ単位を、外部メモリのバースト長よりも短くした場合とに共通して適用可能なものである。
【０１２２】
なお、符号パッキングバッファ７３は、初期状態においてＡ面が書き込み面、Ｂ面が読み出し面とされているものとする。また、上述したように、符号パッキングバッファ７３において、Ａ面およびＢ面は、それぞれ６４バイトの容量を有し、外部メモリ（ＲＡＭ３５）のバースト長は、３２バイトであるものとする。
【０１２３】
量子化部７０および符号化部７１で圧縮符号化処理が開始されると、ステップＳ３０で、符号パッキングバッファ７３から符号化部７１に対してデータの要求がなされる。例えばＲＡＷ圧縮部５４において、バッファ制御部７２により符号化部７１に対し、圧縮符号化された圧縮ＲＡＷデータを出力するように要求される。符号化部７１から出力された圧縮ＲＡＷデータは、符号パッキングバッファ７３の書き込み面に書き込まれる（ステップＳ３１）。符号パッキングバッファ７３の書き込み面に書き込まれたデータ容量が所定容量、例えばバッファ面の容量上限の６４バイトに達したら（ステップＳ３２）、処理はステップＳ３３に移行される。
【０１２４】
ステップＳ３３では、符号パッキングバッファ７３の読み出し面からのデータ読み出しが完了しているか否かが判断される。すなわち、符号パッキングバッファ７３は、既に書き込み面への書き込みが所定容量、例えば６４バイトに達すると、後述するようにバッファ面がフリップされ、新たに書き込み面とされた面に対するデータの書き込みが行われると共に、新たに読み出し面とされた面からのデータの読み出しが行われるように制御される。
【０１２５】
ステップＳ３３で、符号パッキングバッファ７３の読み出し面からの読み出しが完了していると判断されれば、処理はステップＳ３４に移行し、バッファ面がフリップされ、処理がステップＳ３０に戻される。
【０１２６】
一方、ステップＳ３３で、符号パッキングバッファ７３の読み出し面からの読み出しが完了してないと判断されたら、処理はステップＳ３５に移行され、破綻処理が行われる。すなわち、符号パッキングバッファ７３において、読み出し面からの読み出しが完了していなければ、バッファ面のフリップを行うことができない。一方、符号パッキングバッファ７３の書き込み面に対してバッファ容量の上限までデータの書き込みが行われていれば、バッファ面をフリップする必要がある。したがって、書き込み面に対してバッファ容量の上限までデータの書き込みが行われているのに関わらず、読み出し面からの読み出しが終了していない場合、バッファ機能が破綻することになる。
【０１２７】
ステップＳ３５では、このように、バッファ機能が破綻した場合の救済処理を行う。より具体的には、バッファ機能が破綻している間、空圧縮処理を行うと共に、空圧縮処理を行った画素のＲＡＷデータ上の座標が所定に保持される。例えば、少なくとも空圧縮処理が開始された座標と、終了された座標とがレジスタなどに保持される。また、ＲＡＷ補正部５０に対する転送要求Ｂを、強制的に発行しながら空圧縮処理を行う。これにより、破綻位置を正確に知ることができる。さらに、バッファ機能が破綻した旨を示すフラグ（破綻フラグと呼ぶ）をレジスタなどに所定に保持する。例えばＣＰＵ３０によりこの破綻フラグを読み出すことで、適切な破綻救済処理を実行可能とするものである。
【０１２８】
なお、空圧縮処理は、例えば、量子化部７０および符号化部７１において、圧縮符号化単位毎（この例では６４画素）に圧縮符号化された圧縮ＲＡＷデータを、符号パッキングバッファ７３に書き込まないようにする。
【０１２９】
一例として、量子化部７０および符号化部７１で実際に圧縮符号化処理を行い、その結果生成された圧縮ＲＡＷデータ例えば破棄し、符号化部７１から出力しないことも考えられる。すなわち、空圧縮処理により、バッファ機能の破綻から回復するまで、ＲＡＷ補正部５０からＲＡＷデータを出力させると共に、当該ＲＡＷデータに応じた書き込みを符号パッキングバッファ７３に対して発生させないようになされる。
【０１３０】
これに限らず、空圧縮処理は、ＲＡＷ圧縮部５４において、供給されたＲＡＷデータに対して何ら処理を行わないようにしてもよい。この場合、例えば当該ＲＡＷデータを破棄し、圧縮符号化を行った旨を示すステータスのみを所定に出力することが考えられる。
【０１３１】
ステップＳ３５で破綻処理が行われると、次のステップＳ３６で符号パッキングバッファ７３の読み出し面からの読み出しが完了したか否かが判断される。完了していないと判断されれば、処理はステップＳ３５に戻される。一方、読み出しが完了したと判断されたら、処理はステップＳ３７に移行され、符号パッキングバッファ７３の書き込み面に対し、空圧縮処理が行われた画素に対応する位置に、当該位置で破綻処理が行われたことを示す破綻コードが挿入される。そして、処理がステップＳ３０に戻される。
【０１３２】
なお、１フレームの画像について、データの総転送量が符号パッキングバッファ７３の各面の容量（この例では６４バイト）の倍数ではない場合には、符号パッキングバッファ７３への１フレームの画像の最終符号が書き込まれたことを検知し、所定に圧縮符号化動作を終了させる。すなわち、ＲＡＷ圧縮部５４は、１フレームの画像の最終のＲＡＷデータが符号パッキングバッファ７３に書き込まれたことを検知したら、符号パッキングバッファ７３の読み出し面からのデータの読み出しが完了するのを待って、バッファ面のフリップを強制的に行い、新たな読み出し面からデータを全て読み出し、圧縮符号化動作を終了させるようにする。
【０１３３】
１フレームの画像の最終符号を検知する方法は、様々に考えられる。一例として、ＲＡＷ圧縮部５４がＲＡＷ補正部５０から供給されるＲＡＷデータの数を計測し、計測されたＲＡＷデータの数に基づき１フレームの画像の最終符号を判断することができる。計測は、例えばフレームパルスを基準として行うことが考えられる。他の例として、ＲＡＷ補正部５０において１フレームの画像の最終のＲＡＷデータを出力しＲＡＷ圧縮部５４に供給する際に、当該ＲＡＷデータが１フレームの最終データである旨をＲＡＷ圧縮部５４に通知するようにもできる。
【０１３４】
上述のステップＳ３３において、符号パッキングバッファ７３に対する最初の書き込みの場合には、読み出し面に読み出すべきデータが未だ書き込まれていない状態となっている。したがって、この、最初の書き込み時にはステップＳ３３での判断処理を省略して、ステップＳ３２からステップＳ３４に直接的に処理を移行させる。
【０１３５】
次に、この発明の実施の一形態の変形例について説明する。上述の実施の一形態では、ＲＡＷ圧縮部５４で、固定長符号を用いてＲＡＷデータの圧縮符号化を行っていた。これに対し、この実施の一形態の変形例は、ＲＡＷ圧縮部５４で、可変長符号を用いてＲＡＷデータの圧縮符号化を行う場合の例である。
【０１３６】
図１５は、ＲＡＷ圧縮部５４において可変長符号を用いて圧縮符号化を行い、従来の方法でデータ出力を行った場合の一例のタイミングチャートを示す。上述と同様に、ＲＡＷ圧縮部５４では、圧縮符号化単位を６４画素とし、圧縮率を１／２とする。したがって、圧縮符号化単位毎に６４バイト（＝１６ビット×６４画素×１／２）の圧縮ＲＡＷデータが出力されることになる。
【０１３７】
図１５Ａは、可変長符号を用いて圧縮符号化を行った場合に、圧縮符号化単位（この例では６４画素）で圧縮符号化された圧縮ＲＡＷデータが、データサイズおよび出力タイミングが変動されながら、ＲＡＷ圧縮部５４から出力される様子を示している。
【０１３８】
バスＩ／Ｆ５５は、３２バイト分の圧縮ＲＡＷデータが供給される毎に出力を行うため、図１５Ｂに一例が示されるように、３２バイト単位のバースト転送が、供給される圧縮ＲＡＷデータのデータサイズに応じた回数だけ連続されるように行われる。図１５Ｂの例では、３０バイトの圧縮ＲＡＷデータに対して１回のバースト転送がなされ、４０バイトの圧縮ＲＡＷデータに対して２回のバースト転送が連続的に行われる。また、１２０バイトの圧縮ＲＡＷデータに対して４回のバースト転送が連続的に行われ、１３０バイトの圧縮ＲＡＷデータに対して５回のバースト転送が連続的に行われる。
【０１３９】
このように、可変長符号を用いて圧縮符号化を行った場合には、絵柄などに応じて圧縮符号化単位で圧縮率が変動し、外部メモリへのデータの転送密度も変動する。圧縮率が悪くなると、外部メモリへのデータ転送によるアクセスが密となる期間と、疎となる期間との差が大きくなり、外部メモリのメモリ帯域を確保することが難しくなる。
【０１４０】
図１６および図１７は、この発明の実施の一形態の変形例による、ＲＡＷ圧縮部５４におけるデータ出力の例を示すタイミングチャートである。図１６は、図１０を用いて説明したのと同様に、圧縮符号化により出力されるデータ単位を、外部メモリ（ＲＡＭ３５）として用いるＳＤＲＡＭのバースト長と同一とした場合の例である。
【０１４１】
ＲＡＷ圧縮部５４では、可変長符号を用いて圧縮符号化した圧縮ＲＡＷデータを、既に図１４のフローチャートを用いて説明した処理に従い、６４バイト毎に符号パッキングバッファ７３のＡ面およびＢ面に書き込み、図１１または図１３のフローチャートを用いて説明した処理に従い、符号パッキングバッファ７３のＡ面およびＢ面から、ＲＡＭ３５のバースト長に対応して３２バイト毎に、間隔Ｔintに従い読み出す（図１５Ａ）。バスＩ／Ｆ５５は、このＲＡＷ圧縮部５４から３２バイト毎に、間隔Ｔintを空けて供給される圧縮ＲＡＷデータを、バースト長である３２バイト毎にＲＡＭ３５にバースト転送する（図１５Ｂ）。
【０１４２】
したがって、図１５Ｂに例示されるように、ＲＡＭ３５へのデータ転送によるアクセスを、バースト長の単位で分散させることができる。またこのとき、間隔Ｔintにより、ＲＡＭ３５に対する最短のアクセス間隔を定義することができる。そのため、システム全体としてのメモリ帯域の保証が容易となる。またこれにより、メモリアクセスの集中を防止できるので、ピーク電流を抑制することも可能となる。
【０１４３】
図１７は、図１２を用いて説明したのと同様に、圧縮符号化処理により出力されるデータ単位を、外部メモリ（ＲＡＭ３５）として用いるＳＤＲＡＭのバースト長よりも短くした場合の例である。この図１７の例では、図１２と同様に、圧縮符号化単位である６４画素分、６４バイトの圧縮ＲＡＷデータを８分割し、８バイト毎に、間隔Ｔintに従いＲＡＷ圧縮部５４から出力するようにしている。
【０１４４】
すなわちＲＡＷ圧縮部５４では、可変長符号を用いて圧縮符号化した圧縮ＲＡＷデータを、既に図１４のフローチャートを用いて説明した処理に従い、６４バイト毎に符号パッキングバッファ７３のＡ面およびＢ面に書き込み、図１３のフローチャートを用いて説明した処理に従い、符号パッキングバッファ７３のＡ面およびＢ面から、８バイト毎に、間隔Ｔintに従い読み出す（図１７Ａ）。バスＩ／Ｆ５５は、このＲＡＷ圧縮部５４から８バイト毎に、間隔Ｔintを空けて供給される圧縮ＲＡＷデータをバッファに溜め込み、ＲＡＭ３５のバースト長に対応する３２バイト分の圧縮ＲＡＷデータがバッファに溜め込まれたら、バッファから圧縮ＲＡＷデータを読み出して、ＲＡＭ３５に対してバースト転送する（図１７Ｂ）。
【０１４５】
この場合でも、図１６を用いて説明した、圧縮符号化により出力されるデータ単位を外部メモリのバースト長と同一とした場合同様に、ＲＡＭ３５へのデータ転送によるアクセスを、バースト長の単位で分散させることができる。またこのとき、間隔Ｔintにより、ＲＡＭ３５に対する最短のアクセス間隔を定義することができる。そのため、システム全体としてのメモリ帯域の保証が容易となる。またこれにより、メモリアクセスの集中を防止できるので、ピーク電流を抑制することも可能となる。
【図面の簡単な説明】
【０１４６】
【図１】発明の実施の一形態に適用可能な撮像装置の一例の構成を示すブロック図である。
【図２】カメラ信号処理部の一例の構成を示すブロック図である。
【図３】カメラ信号処理部の動作モード毎のデータパスの例を示す略線図である。
【図４】同期乗り換え部の一例の構成を示すブロック図である。
【図５】バッファ破綻判定の一例の処理を示すフローチャートである。
【図６】ＲＡＷデータの圧縮符号化方式の種別による出力レートの違いについて説明するための略線図である。
【図７】発明の実施の一形態によるＲＡＷ圧縮部の一例の構成を概略的に示すブロック図である。
【図８】圧縮処理スルーの場合における、圧縮ＲＡＷデータ転送の一例のタイミングチャートである。
【図９】ＲＡＷ圧縮部において、従来の方法でデータ出力を行った場合の一例のタイミングチャートである。
【図１０】圧縮符号化処理により出力されるデータ単位を外部メモリのバースト長と同一とした場合における、圧縮ＲＡＷデータ転送の一例のタイミングチャートである。
【図１１】圧縮符号化処理により出力されるデータ単位を外部メモリのバースト長と同一とした場合の、符号パッキングバッファの一例の読み出し制御を示すフローチャートである。
【図１２】圧縮符号化処理により出力されるデータ単位を外部メモリのバースト長よりも短くした場合における、圧縮ＲＡＷデータ転送の一例のタイミングチャートである。
【図１３】圧縮符号化処理により出力されるデータ単位を外部メモリのバースト長よりも短くした場合の、符号パッキングバッファの一例の読み出し制御を示すフローチャートである。
【図１４】符号パッキングバッファに対する一例の書き込み制御を示すフローチャートである。
【図１５】可変長符号を用いて圧縮符号化を行い、従来の方法でデータ出力を行った場合における、圧縮ＲＡＷデータ転送の一例のタイミングチャートである。
【図１６】圧縮符号化により出力されるデータ単位を外部メモリのバースト長と同一とした場合における、圧縮ＲＡＷデータ転送の一例のタイミングチャートである。
【図１７】圧縮符号化処理により出力されるデータ単位を外部メモリのバースト長よりも短くした場合における、圧縮ＲＡＷデータ転送の一例のタイミングチャートである。
【符号の説明】
【０１４７】
１  撮像装置
１１  撮像素子
２１  バス
２２  カメラ信号処理部
３０  ＣＰＵ
３４  メモリコントローラ
３５  ＲＡＭ
５０  ＲＡＷ補正部
５０Ａ  補正処理部
５０Ｂ  同期乗り換え部
５４  ＲＡＷ圧縮部
５５，５７，５８  バスＩ／Ｆ
５６  ＲＡＷ伸長部
６０  バッファメモリ
６１  読み出し制御部
７０  量子化部
７１  符号化部
７２  バッファ制御部
７３  符号パッキングバッファ
【図１】
2009130563.tif 000003
【図２】
2009130563.tif 000004
【図３】
2009130563.tif 000005
【図４】
2009130563.tif 000006
【図５】
2009130563.tif 000007
【図６】
2009130563.tif 000008
【図７】
2009130563.tif 000009
【図８】
2009130563.tif 000010
【図９】
2009130563.tif 000011
【図１０】
2009130563.tif 000012
【図１１】
2009130563.tif 000013
【図１２】
2009130563.tif 000014
【図１３】
2009130563.tif 000015
【図１４】
2009130563.tif 000016
【図１５】
2009130563.tif 000017
【図１６】
2009130563.tif 000018
【図１７】
2009130563.tif 000019