画像処理装置
【課題】 画像データの解像度が高くなっても回路規模を縮小しかつ生産コストを抑制することができる。
【解決手段】 メモリコントローラは、イメージメモリに記憶されている1画面分の画像データを、各ライン毎にNピクセルずつ垂直方向に読み出して解像度変換回路に供給する。
【解決手段】 メモリコントローラは、イメージメモリに記憶されている1画面分の画像データを、各ライン毎にNピクセルずつ垂直方向に読み出して解像度変換回路に供給する。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、静止画撮像装置に用いて好適な画像処理装置に関し、特に回路規模を削減した画像処理装置に関する。
【0002】
【従来の技術】ディジタル・スチル・カメラは、CCDイメージセンサで得られた画像データをメモリや記録媒体に取り込み、その後画像データをいわゆるパーソナル・コンピュータ等に転送している。このようなディジタル・スチル・カメラは、今までは、VGA(Video Graphics Array)システム対応型のものがほとんどであった。
【0003】例えば図16に示すように、かかるディジタル・スチル・カメラ200は、画像信号を生成するCCDイメージセンサ201と、入力処理/画像処理回路202と、画像データの読み出し又は書き込みの処理を行うメモリコントローラ203と、所定の方式の出力画像に変換する出力処理回路204と、撮影時の被写体の状況を表示するファインダ205と、CPUバス206を介して、圧縮された画像データを記録する記録部207と、画像データの圧縮又は伸張処理を行う圧縮/伸張回路208と、画像データを記憶すべく例えばDRAM等からなるメモリ209と、装置全体を制御するCPU210とを備える。
【0004】被写体の撮影開始前においては、ユーザは、ファインダ205に表示される被写体像を確認する必要がある(ファインダモード)。このとき、CCDイメージセンサ201は、被写体からの撮像光によって光電変換して得られた画像信号を入力処理/画像処理回路202に供給する。入力処理/画像処理回路202は、例えば上記画像信号に相関二重サンプリング処理を行ってディジタル化し、さらにガンマ補正,ニー処理,カメラ処理等の所定の信号処理を行って、メモリコントローラ203に供給する。メモリコントローラ203は、CPU210の制御に応じて、入力処理/画像処理回路202からの画像データを出力処理回路204に供給する。出力処理回路204は、画像データを例えばNTSC(NationalTelevision System Committee)方式にエンコードし、さらにアナログ化してファインダ205に供給する。これにより、ファインダ205には、撮影の対象たる被写体が表示される。
【0005】一方、ユーザが図示しないシャッタボタンを押して記録モードに移行すると、メモリコントローラ203は、入力処理/画像処理回路202から供給される画像データをメモリ209に書き込む。CPU210は、メモリ209から画像データを読み出し、当該画像データを圧縮/伸張回路208において例えばJPEG(Joint Photographic Experts Group)圧縮処理を行って、記録部207に記録する。
【0006】また、ユーザの所定の操作によって再生モードに移行すると、CPU210は、記録部207から画像データを読み出し、当該画像データを圧縮/伸張回路208においてJPEG伸張処理を行った後、メモリコントローラ203,出力処理回路204を介してファインダ205に供給する。かくして、ファインダ205には、撮影された画像が表示されることになる。
【0007】
【発明が解決しようとする課題】入力処理/画像処理回路202は、水平方向及び垂直方向における画像処理機能を有し、CCDイメージセンサ201から供給される画像データの信号をY,Cb,Crの信号に変換する。入力処理/画像処理回路202は、水平方向バッファと、水平方向画像処理回路と、垂直方向バッファと、垂直方向画像処理回路とを備える。
【0008】水平方向バッファは、画像データをバッファリングして、例えば1画素,2画素,3画素分遅延した画像データをそれぞれ上記水平方向画像処理回路に供給する。水平方向画像処理回路は、上記各画像データに所定の係数を乗じて合成することによって水平方向の画像処理を行う。垂直方向バッファは、1ライン,2ライン,3ライン分遅延した画像データを、それぞれ上記垂直方向画像処理回路に供給する。垂直方向画像処理回路は、垂直方向バッファからの各画像データに所定の係数を乗じて合成することによって垂直方向の画像処理を行う。
【0009】ここで、例えば図17に示すように、上記垂直方向バッファ202aは、垂直タップ数に対応した数のラインバッファを備え、これらのラインバッファを直列に接続して構成される。これらのラインバッファには、入力される画像データの水平サイズに対応した分の画像データが記憶される。
【0010】入力処理/画像処理回路202に供給される画像データが例えば図18に示す画像Aのサイズの場合、図17に示すように、画像Aの画像データはラインバッファの約1/2を占有する。同様に、画像Bの画像データはラインバッファの約2/3を占有し、画像Cの画像データはラインバッファの全部を占有する。
【0011】このように、ラインバッファは、少なくとも画像データの1ライン分を記憶することができる容量を備えていなければならない。したがって、画像データのサイズが大きくなればなるほど垂直方向バッファの回路規模が大きくなって、生産コストが高くなるという問題が生じる。本発明は、このような実情を鑑みて提案されたものであり、画像データのサイズ大きくなっても回路規模を縮小しかつ生産コストを抑制することができる画像処理装置を提供することを目的とする。
【0012】
【課題を解決するための手段】上述の課題を解決するために、本発明に係る画像処理装置は、少なくとも1枚の画像データを記憶する記憶手段と、上記記憶手段から、水平方向又は垂直方向にN画素分の画像データを1行毎又は1列毎に繰り返し読み出すことによって水平方向又は垂直方向におけるN画素分の画像データを垂直方向又は水平方向に全て読み出すことを、上記1枚分の画像データ全体に対して行う読出し手段と、N画素分の画像データを記憶するバッファメモリが直列に接続され、上記読出し手段によって読み出された画像データが上記直列に接続されたバッファメモリの一方に入力されて、各バッファメモリから遅延した画像データを出力する遅延手段と、上記遅延手段の各バッファメモリが出力する画像データに重み付けを行って合成することによって水平方向又は垂直方向の画像データの画像処理を行う信号処理手段とを備える。
【0013】上記画像処理装置では、遅延手段を構成する各バッファメモリの記憶容量を少なくし、記憶手段から、水平方向又は垂直方向にN画素分の画像データを1行毎又は1列毎に繰り返し読み出すことによって水平方向又は垂直方向におけるN画素分の画像データを垂直方向又は水平方向に全て読み出すことを1枚分の画像データ全体に対して行って上記遅延手段に供給することによって、上記画像処理手段において上記各バッファメモリからの画像データに基づいて画像処理を行う。
【0014】
【発明の実施の形態】以下、本発明の実施の形態について、図面を参照しながら説明する。
【0015】本発明は、例えば図1に示す構成のディジタル・スチル・カメラ1に適用される。ディジタル・スチル・カメラ1は、画像信号を生成する画像生成部10と、画像データに所定の信号処理を行う信号処理部20と、SDRAMからなるイメージメモリ32と、信号処理部20の制御を行う制御部40とを備える。
【0016】画像生成部10は、画像信号を生成する個体撮像素子、例えばCCDイメージセンサ11と、上記画像信号にサンプルホールド処理及びディジタル化処理を行って画像データを出力するサンプル/ホールド−アナログ/ディジタル回路(以下、「S/H−A/D回路」という。)12と、タイミング信号を発生するタイミングジェネレータ13とを備える。このタイミングジェネレータ13は、信号処理部20から供給される同期信号に基づいて、画像生成部10の各回路を制御する水平同期信号及び垂直同期信号を発生するものである。
【0017】CCDイメージセンサ11は、例えば80万画素からなるXGA(eXtendedGraphics Array:1024×768)相当の画像データを生成する。CCDイメージセンサ11は、タイミングジェネレータ13からの同期信号に基づいて駆動され、毎秒30フレームの画像信号を出力する。なお、CCDイメージセンサ11は、画像信号の間引き機能を有し、制御部40の制御に従って、画像信号の垂直方向成分を1/2,1/3,1/4・・・に間引いて出力することができる。
【0018】S/H−A/D回路12も、上記タイミングジェネレータ13からの同期信号に基づき、所定のサンプリング間隔でサンプルホールド及びA/D変換処理を行い、この画像データを信号処理部20に供給する。
【0019】信号処理回路20は、1個のLSI(Large Scale Integrated circuit)によって構成される。信号処理部20は、画像生成部10からの画像データに入力処理とカメラ処理を行う入力処理回路21と、イメージメモリ32に対する画像データの読み出し/書き込みを制御するメモリコントローラ22と、NTSC/PAL(Phase Alternation by Line) エンコーダ23と、画像データをアナログ化して外部に出力するD/Aコンバータ24と、同期信号を発生してタイミングジェネレータ13に供給するシンク・ジェネレータ26とを備える。
【0020】また、信号処理部20は、イメージメモリ32のインターフェースであるメモリインターフェース27と、画像データの解像度変換処理を行う解像度変換回路28と、画像データの圧縮/伸張処理を行うJPEG(Joint Photographic Experts Group)エンコーダ/デコーダ29と、JPEGエンコーダ/デコーダ29のインターフェースであるJPEGインターフェース30と、制御部40の後述するCPUとデータの送受信を行うためのインターフェースであるホスト・インターフェース31とを備える。
【0021】入力処理回路21は、S/H−A/D回路12からの画像データにディジタルクランプ,シェーディング補正,アパーチャ補正、ガンマ補正,色処理等を行って、メモリコントローラ22に供給する。入力処理回路21は、入力データを信号処理してY,Cb,Crに変換する機能を持つ。入力処理回路21は、画像データの解像度が例えばVGA(Video Graphics Array)フォーマットよりも大きいときは、その解像度を低くする処理も行うことができる。また、入力処理回路21は、オート・フォーカス,オート・アイリスの検波処理を行って、そのデータを制御部40に送り、フォーカス機構,アイリス機構の自動調整を行う。さらに、入力処理回路21は、画像データを構成する3原色信号の信号レベルを検出してオートホワイトバランス調整も行う。メモリコントローラ22は、入力処理回路21や他の回路から供給される画像データをメモリインターフェース27を介してイメージメモリ32に書き込み、また、イメージメモリ32の画像データをメモリインターフェース27を介して読み出す制御を行う。このとき、メモリコントローラ22は、イメージメモリ32に記憶された画像データに基づいて、CCDイメージセンサ11に欠陥画素があるかを検出することも行う。
【0022】メモリコントローラ22は、イメージメモリ32から読み出した画像データを例えばNTSC/PALエンコーダ23に供給する。NTSC/PALエンコーダ23は、メモリコントローラ22から画像データ供給されると、この画像データにNTSC方式又はPAL方式のエンコードを行ってD/Aコンバータ24に供給する。D/Aコンバータ24は、かかる画像データをアナログ化して外部端子25を介して出力する。
【0023】メモリコントローラ22は、メモリコントローラ22から読み出した画像データを解像度変換回路28に供給して解像度変換処理を行わせ、また、解像度変換回路28が出力する解像度変換済みの画像データをイメージメモリ32に書き込む。
【0024】メモリコントローラ22は、JPEGインターフェース30を介して画像データをJPEGエンコーダ/デコーダ29に供給して静止画の圧縮処理を行わせ、さらに、JPEGエンコーダ/デコーダ29で伸張処理された画像データをイメージメモリ32に書き込むことも行う。
【0025】イメージメモリ32は、上述のように画像データを記憶するだけでなく、いわゆるキャラクタジェネレータのデータであるOSD(On Screen Display) データも記憶する。ここにいうOSDデータは、ビットマップデータからなる。メモリコントローラ22は、上記OSDデータの読み出し/書き込みも制御している。なお、画像データとOSDデータとの合成は、NTSC/PALエンコーダ23において行われる。
【0026】上記制御部40は、信号処理部20の各回路を制御するCPU(Central Processing Unit) 41と、画像データやその他の制御データを一時格納するDRAM(Dynamic Random Access Memory)42と、CPU41の制御プログラムが記憶されているROM(Read Only Memory)43と、例えばフラッシュメモリからなる記録装置51と画像データをやりとりするためのインターフェースであるフラッシュメモリ・インターフェース44と、例えばIrLED からなる通信回路52のインターフェースであるIrDAインターフェース45とを備える。
【0027】例えば、CPU41は、JPEGエンコーダ/デコーダ29で圧縮された画像データを、フラッシュメモリ・インターフェース44を介してフラッシュメモリからなる記録装置51に書き込み、また、この記録装置51から画像データを読み出してJPEGエンコーダ/デコーダ29に供給する。また、CPU41は、JPEGエンコーダ/デコーダ29からの画像データや記録装置51から読み出した画像データを、IrDAインターフェース45,通信回路52を介して赤外光として外部に出力する。
【0028】ここで、上記ディジタル・スチル・カメラ1の簡略的な構成を図2に示す。
【0029】入力処理回路21は、CCDイメージセンサ11からの画像データを画像データバス33を介してイメージメモリ32に供給する。NTSC/PALエンコーダ23は、イメージメモリ32からの画像データを所定のエンコード処理を行ってファインダ36に供給する。これにより、ファインダ36には、被写体の映像が表示される。なお、上記ファインダ36は、VGAフォーマットまでの画像データに対応して画像を表示するものである。
【0030】また、メモリコントローラ22は、イメージメモリ32と画像データバス33につながる各信号処理回路の間のデータ転送を行う。解像度変換回路28は、イメージメモリ32からの画像データの解像度変換処理を行い、結果をイメージメモリ32に供給する。JPEGエンコーダ/デコーダ29は、イメージメモリ32からの画像データをJPEG方式で圧縮し、CPUバス34を介してCPU41に供給する。CPU41は、かかる圧縮処理済みの画像データをCPUバス34を介して記録装置51に書き込む。また、CPU41は、圧縮処理済みの画像データを、CPUバス34,通信回路52を介して、外部に出力することもできる。
【0031】このように、図2によると、信号処理部20では、各回路は画像データバス33を介して接続されている。上記画像データバス33は、仮想的なバスであり、上記各回路でやりとりする画像データの転送帯域に限界があることを示すものである。
【0032】信号処理部20において、NTSC/PALエンコーダ23や解像度変換回路28等その他各回路は、画像データを処理を開始する前に、画像データを要求することを示すリクエスト信号(request)をメモリコントローラ22に送信する。また、これらの各回路は、画像データの処理が終了した後、上記画像データを出力するときもリクエスト信号をメモリコントローラ22に送信する。
【0033】一方、メモリコントローラ22は、各回路からのリクエスト信号を受信すると、各回路の中から優先順位の高いものを選択し、選択した回路に対してアクノリッジ(acknowledge) 信号を送信する。ここで、アクノリッジ信号とは、当該信号を受信する回路に対して画像データを供給すること又は当該信号を受信した回路が出力する画像データを受け取る準備ができたことを示す信号をいう。そして、メモリコントローラ22は、イメージメモリ32から画像データを読み出し、上記アクノリッジ信号の送信先の回路に対して画像データバス33を介して供給する。また、メモリコントローラ22は、上記アクノリッジ信号の送信先の回路が出力した画像データを受け取って、この画像データをイメージメモリ32に書き込む処理を行う。
【0034】なお、メモリコントローラ22は、各回路から同時にリクエスト信号を受信したときは、リアルタイムで処理することが必要な回路を優先的に選択することができる。例えば、メモリコントローラ22は、ファインダ36に被写体の映像を表示させるときは、入力処理回路21,NTSC/PALエンコーダ23を優先して選択する。また、メモリコントローラ22は、画像データバス33における画像データのバス占有使用率を判断して、当該占有率に応じて各回路の優先順位を決定してもよい。
【0035】なお、メモリコントローラ22は、画像データバス33の転送帯域制限内で各回路に画像データを供給することができるのであれば、時分割で各回路にアクノリッジ信号を送信して、各回路がそれぞれ所定の処理を行うように制御してもよい。これにより、メモリコントローラ22は、事実上、各回路に対してリアルタイムでデータアクセスして、各回路からの画像データをイメージメモリ32に書き込んだり、イメージメモリ32の画像データを読み出して各回路に供給することができる。
【0036】さらに、メモリコントローラ22は、画像データバス33を介して図示しない外部回路とアクセスする場合であっても、当該外部回路が上述したリクエスト信号を送信したりアクノリッジ信号を受信することができるものであれば、画像データバス33の転送帯域制限範囲内で、信号処理部20内の各回路と同様に時分割で同時にアクセスすることができる。すなわち、メモリコントローラ22は、画像データバス33の帯域の範囲内であれば、信号処理部20内の回路や外部回路の数を問わず、これらの各回路に対して時分割で同時にアクセスすることができる。
【0037】以上のように、メモリコントローラ22は、画像データバス33の調停やイメージメモリ32と各回路間における画像データの書き込み/読み出しの制御、さらに、CPUバス34に対してデータ転送を行っている。
【0038】次に、上記信号処理部20における画像データの具体的な流れについて、図3を用いて説明する。
【0039】入力処理回路21は、画像生成部10からの画像データに所定の信号処理を行うCCDインターフェース21aと、CCDインターフェース21aの処理を行うために検波処理を行う検波回路21bと、画像データの変換処理を行うカメラ・ディジタル・シグナル・プロセッサ(以下、「カメラDSP」という。)21cとを備える。
【0040】CCDインターフェース21aは、図1に示すS/H−A/D回路12からの赤信号,緑信号,青信号(R,G,B)で構成される画像データに対してディジタルクランプ,ホワイトバランス調整,ガンマ補正等の処理を行ったり、必要に応じて画像データの水平方向成分の間引き処理も行う。CCDインターフェース21aは、かかる処理を行った後、画像データをカメラDSP21cに供給したり、画像データバス33を介してメモリコントローラ22に供給する。
【0041】検波回路21bは、CCDインターフェース21aの画像データからオートフォーカス,オートアイリス,ホワイトバランス調整のための検波処理を行う。
【0042】カメラDSP21cは、CCDインターフェース21aからのRGBからなる画像データを、輝度信号Y及びクロマ信号(色差信号)Cb,Crからなる画像データに変換する。また、カメラDSP21cは、かかる処理を行うとともに、画像データの解像度を簡易的に変換する簡易解像度変換回路21dを有する。
【0043】簡易解像度変換回路21dは、CCDイメージセンサ11が生成する画像データの解像度が例えばVGAフォーマットより大きい場合に、画像データの解像度を低く変換するものである。
【0044】簡易解像度変換回路21dは、具体的には図4に示すように、色差信号の分離を行うB−Y/R−Y分離回路61と、水平方向の補間処理を行う水平方向線形補間回路62と、色差信号の合成を行うB−Y/R−Y合成回路63と、各信号に1水平走査期間(1H期間)の遅延を与える1H遅延回路64と、垂直方向線形補間回路65とを備える。
【0045】B−Y/R−Y分離回路61は、カメラDSP21cからの画像データからクロマ信号Cb,Crである色差信号B−Y,R−Yをそれぞれ分離して水平方向線形補間回路62に供給する。水平方向線形補間回路62は、輝度信号Y,色差信号B−Y,R−Yにそれぞれ水平方向の補間処理を行って水平方向の解像度を低くして、補間処理済みの輝度信号Y及び色差信号B−Y,R−YをB−Y/R−Y合成回路63に供給する。
【0046】B−Y/R−Y合成回路63は、色差信号B−Y,R−Yを合成し、水平方向線形補間回路62からの輝度信号Y及び合成された色差信号B−Y,R−Yを1H遅延回路64及び垂直方向線形補間回路65に供給する。1H遅延回路64は、輝度信号Y及び色差信号B−Y,R−Yにそれぞれ1H期間の遅延を与えて垂直方向線形補間回路65に供給する。垂直方向線形補間回路65は、B−Y/R−Y合成回路63及び1H遅延回路64からの輝度信号Y及び色差信号B−Y,R−Yに基づいて垂直方向の線形補間処理を行い、この結果、水平方向及び垂直方向の解像度が低くなった輝度信号Y’及び色差信号(B−Y)’,(R−Y)’からなる画像データを出力する。
【0047】また、解像度変換回路28は、例えば[p×q]の画像データを[m×n]の画像データに変換する解像度変換処理を行うものである。解像度変換回路28は、主に、CCDイメージセンサ11で生成された画像データが高解像度のときに所定の解像度に抑えるために行う処理であるが、低解像度の画像データを高解像度になるように処理してもよい。
【0048】解像度変換回路28は、具体的には図5に示すように、画像データバス33から入力される画像データを記憶する入力バッファ71と、入力バッファ71からの画像データを水平方向にバッファリングする水平方向バッファ72と、水平方向バッファ72からの画像データに水平方向の解像度変換処理を行う水平方向変換処理回路73と、水平方向変換処理回路73からの画像データを垂直方向にバッファリングする垂直方向バッファ74と、垂直方向の解像度変換処理を行う垂直方向変換処理回路75と、出力の際にバッファリングをする出力バッファ76とを備える。
【0049】なお、解像度変換回路28は、画像データの解像度変換を行う準備ができたときは、イメージメモリ32から画像データを読み出すようにメモリコントローラ22に要求する(リード)リクエスト信号を出力し、さらに、画像データの変換処理後に当該画像データをイメージメモリ32に書き込むようにメモリコントローラ22に要求する(ライト)リクエスト信号を出力する。また、解像度変換回路28は、メモリコントローラ22が上記リクエスト信号に応答したことを示すアクノリッジ信号を受信する。
【0050】一方、上記水平方向バッファ72は、図6に示すように、1画素分の遅延を与える第1の遅延回路81,第2の遅延回路82,第3の遅延回路83を直列に接続して構成される。したがって、第1の遅延回路81は1画素分遅延した画像データを出力し、第2の遅延回路82は2画素分遅延した画像データを出力し、第3の遅延回路83は3画素分遅延した画像データを出力する。
【0051】水平方向変換処理回路73は、図6に示すように、第1から第4の乗算器84,85,86,87と、第1から第3の加算器88,89,90とを備える。場合によっては、加算器90の後にデータを正規化するための回路が付加される。
【0052】第1の乗算器84は、入力バッファ71から供給される画像データに所定の係数を乗じて加算器88に供給する。第2の乗算器85は、第1の遅延回路81から供給される画像データに所定の係数を乗じて加算器88に供給する。第3の乗算器86は、第2の遅延回路82から供給される画像データに所定の係数を乗じて加算器89に供給する。第4の乗算器87は、第3の遅延回路83から供給される画像データに所定の係数を乗じて加算器90に供給する。第1の加算器88は、各画像データを合成して第2の加算器89に供給する。第2の加算器89は、各画像データを合成して第3の加算器90に供給する。第3の加算器90は、各画像データを合成し、これを水平方向の解像度変換処理済みの画像データとして垂直方向バッファ74に供給する。
【0053】以上のように水平方向変換処理回路73は、1画素分ずつ遅延のある画像データにそれぞれ所定の重み付けを行って合成することによって、水平方向の画素間を補ったり又は間引く処理を行ったりして、水平方向の解像度を変換する。
【0054】垂直方向バッファ74は、例えば図6に示すように、1ライン分の遅延を与える第1から第3のバッファメモリ91,92,93を直列に接続して構成される。したがって、第1のバッファメモリ91は1ライン分遅延した画像データを出力し、第2のバッファメモリ92は2ライン分遅延した画像データを出力し、第3のバッファメモリ93は3ライン分遅延した画像データを出力する。
【0055】垂直方向変換処理回路75は、図6に示すように、第5から第8の乗算器94,95,96,97と、第4から第6の加算器98,99,100とを備える。場合によっては、加算器90の後にデータを正規化するための回路が付加される。
【0056】第5の乗算器94は、水平方向変換回路73から供給される画像データに所定の係数を乗じて第4の加算器98に供給する。第6の乗算器95は、第1のラインメモリ91から供給される画像データに所定の係数を乗じて第4の加算器98に供給する。第7の乗算器96は、第2のラインメモリ92から供給される画像データに所定の係数を乗じて第5の加算器99に供給する。第8の乗算器97は、第3のラインメモリ93から供給される画像データに所定の係数を乗じて第6の加算器100に供給する。第4の加算器98は、各画像データを合成して第5の加算器99に供給する。第5の加算器99は、各画像データを合成して第6の加算器100に供給する。第6の加算器100は、各画像データを合成し、これを垂直方向の解像度変換処理済みの画像データとして出力する。
【0057】以上のように垂直方向変換処理回路75は、1ライン分ずつ遅延のある画像データにそれぞれ所定の重み付けを行って合成することによって、垂直方向の画素間を補う処理を行ったり又は間引く処理を行ったりして、垂直方向の解像度を変換する。
【0058】なお、解像度変換回路28は、図6において、水平方向の解像度変換処理を行ってから垂直方向の解像度変換処理を行っているが、図7に示すように、垂直方向の解像度変換処理を行ってから水平方向の解像度変換処理を行ってもよい。すなわち、解像度変換回路28は、入力バッファ71からの画像データを垂直方向バッファ74に供給し、垂直方向バッファ74,垂直方向変換処理回路75,水平方向バッファ72,水平方向変換処理回路73の順に各処理を行うような構成にしてもよい。
【0059】また、垂直方向バッファ74における第1から第3のバッファメモリ91,92,93は、1ライン(1H)分の画像データを記憶することができるとしたが、図8に示すように、1ラインより少ない例えばNピクセル(ピクセル長N)の画像データを記憶することができるものであってもよい。このとき、メモリコントローラ22は、図9に示すように、イメージメモリ32に記憶されている画像データをNピクセル毎に読み出す必要がある。
【0060】具体的には、メモリコントローラ22は、イメージメモリ32に記憶されている1画面分の画像データを、各ライン毎にNピクセルずつ垂直方向に読み出す。ここで、図10に示すように、1画面はp×q[ピクセル]からなり、左上のピクセルの座標を(1,1)、右上のピクセルの座標を(p,1)、左下のピクセルの座標を(1,q)、右下のピクセルの座標を(p,q)とする。
【0061】メモリコントローラ22は、図11に示すように、最初に、水平方向にNピクセル分の画像データを、1行目,2行目,・・・q行目の順にライン毎に読み出す。これにより、メモリコントローラ22は、左端からNピクセル分の画像データ、すなわち(1,1)(1,q)(N,q)(N,1)で囲まれる範囲(N×qピクセル分)の画像データ(以下、「画像データ群(1)」という。)を読み出す。
【0062】メモリコントローラ22は、次に、(N−1,1)(N−1,q)(N−2,q)(N−2,1)で囲まれる範囲の画像データ(以下、「画像データ群(2)」という。以下同様。)を読み出す。ここで、メモリコントローラ22は、列(1)及び画像データ群(2)を読み出すと、(N−1)列目及びN列目の画像データを2度読み出すことになる。
【0063】この理由は、垂直方向変換処理回路75は、周辺のピクセルから補間処理を行うため、第1から第3のバッファメモリ91,92,93の最初と最後に記憶されているピクセルについては処理結果の対象としないからである。例えば、(N,1)のピクセルは、画像データ群(1)が読み出されたときは、垂直方向の補間処理結果の対象とならない。しかし、この(N,1)のピクセルは、画像データ群(2)が読み出されるときにも読み出され、このときに補間処理結果の対象となる。
【0064】同様にして、メモリコントローラ22は、直前の画像データ群のうち最後の2列目分の画像データを含むようにして水平方向にNピクセル分の画像データを各ライン毎に読み出し、これにより、画像データ群を解像度変換回路28に供給する。
【0065】解像度変換回路28の垂直方向バッファ74には、第1から第3のバッファメモリ91,92,93の容量に合致した画像データが各ライン毎に供給される。したがって、第1から第3のバッファメモリ91,92,93には、それぞれ1ラインずつずれた画像データが記憶されることになる。垂直方向変換処理回路75は、垂直方向バッファ74の第1から第3のバッファメモリ91,92,93からの各画像データに基づいて、垂直方向の解像度変換処理を行うことができる。
【0066】以上のように、メモリコントローラ22は、垂直方向画像度変換に必要なバッファメモリの容量が1ライン分に満たなくても、バッファメモリの容量に合わせて読み出しを行うことによって、解像度変換回路28に垂直方向の解像度変換を行わせることができる。
【0067】なお、ここでは、画像データ群の間の読み出し重複は2列となっているが重複が2列より大きい場合や、重複がない場合も考えられる。また、解像度変換に限らず、カメラ信号処理等の画像信号処理にも適用される。
【0068】また、ここでは、バッファメモリが垂直方向の補間処理に用いられている場合を例に挙げて説明したが、バッファメモリが水平方向の補間処理に用いられている場合であっても同様である。
【0069】すなわち、例えば図12に示すように、解像度変換回路28がNピクセル分の容量のバッファメモリからなる水平方向バッファ72aを用いて水平方向の解像度変換を行う場合であってもよい。メモリコントローラ22は、図13に示すように、垂直方向にNピクセル分の画像データを、1列目,2列目,・・・p行目の順に各列毎に読み出せばよい。なお、メモリコントローラ22は、上述した垂直補間処理の場合と同様に、バッファメモリの最初と最後に記憶される画像データに対しては、水平補間処理の対象になるように2度読み出す必要がある。
【0070】このように、メモリコントローラ22は、Nピクセル分のデータ容量からなる第1から第3のバッファメモリ91,92,93に対しても、水平方向及び垂直方向の解像度変換処理が行われるように、イメージメモリ32から画像データを読み出すことができる。これにより、水平方向バッファ72及び垂直方向バッファ74の回路規模を小さくして生産コストを削減することができる。
【0071】NTSC/PALエンコーダ23は、上述したエンコードを行うだけでなく、エンコード処理を行う前に必要に応じて画像データの解像度を高くする簡易解像度変換回路23aを有する。
【0072】簡易解像度変換回路23aは、イメージメモリ32上の画像データが表示に必要な解像度より低い場合に、ファインダ36の表示規格に合うような解像度変換を行う。
【0073】簡易解像度変換回路23aは、具体的には図14に示すように、画像データバス33からの画像データを記憶するラインメモリ101と、垂直方向に画像データの補間処理を行う垂直方向線形補間回路(以下、「V方向線形補間回路」という。)102と、水平方向補間回路103とを備える。
【0074】ラインメモリ81は、入力端子inからの画像データを1ライン分記憶し、かかる画像データを記憶した順に垂直方向線形補間回路82に供給する。垂直方向線形補間回路82は、上記入力端子inからの画像データと垂直方向線形補間回路82からの画像データに所定の重み付けをすることにより垂直方向の線形補間をする。次に水平方向の補間として、Yは7次のフィルタ、Cb,Crは3次のフィルタによる補間を行っており、これは解像度を2倍に上げる補間のみである。そして、画像データを出力端子outを介して出力する。
【0075】例えば、上記入力端子inから入力される画像データをa、ラインメモリ101から読み出される画像データをb、重み付けを行うための係数をg(0≦g≦1)、V方向線形補間回路102が出力する画像データをcとすると、V方向線形補間回路102は以下の演算を行う。
【0076】c=g*a+(1−g)*bなお、出力端子out から出力された画像データは、上述したように、エンコード処理される。
【0077】以上のように、ディジタル・スチル・カメラ1は、信号処理系においては信号処理部20とCPU41とのいわゆる2チップで構成されている。したがって、各信号処理回路がそれぞれチップ構成となっている複数チップの場合に比べて、基板面積を縮小することができ、さらに消費電力を削減することができる。
【0078】また、信号処理部20は、CPUを含めたチップ構成となっていないので、CPU41に関わるアプリケーションの変更が生じた場合でもそれに対応して信号処理を行うことができる。すなわち、CPUを含めたチップ構成の場合、当該CPUのアプリケーションの変更が生じたときにはそれに対応してチップの再構成をすることは不可能である。しかし、上記信号処理部20は、アプリケーション毎に最適な構成のCPUを用いて、所定の信号処理を行うことができる。
【0079】かかる構成のディジタル・スチル・カメラ1は、撮影前に被写体の状態や位置等を確認するためのファインダモード、確認した被写体の映像を撮影する記録モード、撮影された被写体像の写りを確認するための再生モードを有し、各モードに応じて処理を行う。
【0080】ファインダモードでは、ユーザは、図示しないシャッタボタンを押圧して被写体を撮影する前に、ファインダ36に表示される被写体の様子を観察する必要がある。このファインダモードでは、CPU41は、メモリコントローラ22やその他各回路を以下のように制御する。なお、各モードの説明については主に図3を用い、適宜図15を参照するものとする。
【0081】上記ファインダモードにおいて、CCDイメージセンサ11は、垂直方向成分を1/3に間引いた画像信号を生成し、S/H−A/D回路12を介してディジタル化された画像データをCCDインターフェース21aに供給する。
【0082】CCDインターフェース21aは、図15(A)に示すクロックに同期して、信号処理を行う。具体的には、CCDインターフェース21aは、図15(B)に示すように、画像生成部10から供給される画像データの水平方向成分を1/3に間引く処理をし、さらに、ガンマ補正等を行ってカメラDSP21cに供給する。CCDインターフェース21aは、1/3間引きの結果、340×256に変換した画像データをカメラDSP21cに供給する。
【0083】カメラDSP21cは、図15(C)に示すように、間引き処理後の画像データにデータ変換処理を行って、YCrCbの画像データに変換する。カメラDSP21cは、さらに簡易解像度変換回路21dにおいて画像データの解像度を低くすべく解像度変換をして(340×256→320×240)、かかる変換処理後の画像データを画像データバス33を介してメモリコントローラ22に供給する。
【0084】ここで、簡易解像度変換回路21dは、後の処理に必要な程度に簡易的に解像度を低くしている。これにより、CCDイメージセンサ11で生成される画像データが高解像度であっても、画像データバス33において上記画像データが占める転送帯域を小さくすることにより画像データバス33の渋滞を回避し、ファインダモードのリアルタイム性を維持することができる。
【0085】メモリコントローラ22は、上記画像データをイメージメモリ32に書き込み、さらに、図15(D)に示すように、イメージメモリ32から画像データを読み出し、画像データバス33を介してNTSC/PALエンコーダ23に供給する。メモリコントローラ22は、同時に、図15(E)に示すように、イメージメモリ32に記憶されているOSDデータも読み出し、画像データバス33を介してNTSC/PALエンコーダ23に供給する。図15(F)は上記のリアルタイム処理を可能とする画像データバス33上の転送の様子を示す。
【0086】NTSC/PALエンコーダ23は、画像データバス33から供給される画像データにNTSC方式の場合は320×240→640×240、PAL方式の場合は320×240→640×288の解像度変換処理を行って、変換処理後の画像データをNTSC/PALエンコーダ23に供給する。NTSC/PALエンコーダ23は、さらに、画像データをNTSC方式あるいはPAL方式に変換してOSDデータを合成し、これを図2に示すファインダ36に供給する。これにより、ファインダ36には、被写体の画像及び字幕情報等がリアルタイムで表示される。
【0087】なお、NTSC/PALエンコーダ23は、解像度が小さいものに対してはそれが大きくなるように解像度変換を行い、例えば320×200の画像データが供給された場合にも、NTSC方式の場合640×240、PAL方式の場合640×288の画像データに変換して出力する。
【0088】以上のように、ディジタル・スチル・カメラ1は、ファインダモードにおいては、図15(F)に示すタイミングで、CCDイメージセンサ11で生成された画像データの解像度を簡易的に低くしてデータ量を減らし、画像データが画像データバス33の帯域制限内に収まるようにして、さらに表示に必要なだけ出力段階で解像度を高くしてファインダ36に表示している。
【0089】これにより、ディジタル・スチル・カメラ1は、画像データが高解像度であっても、比較的処理時間を要する大がかりな間引き処理を行うことなく画像データバス33の帯域制限内に抑えることによって、リアルタイムで被写体の画像をファインダ36に表示させることができる。
【0090】なお、CPU41は、予め優先して処理を行う回路(CCDインターフェース21a,カメラDSP21c,NTSC/PALエンコーダ23)を設定しておき、時分割で、これらの回路の他に他の回路でも信号処理をしている場合には、画像データのデータ量に応じて優先度の高い上記各回路の処理を優先して行うようにしてもよい。
【0091】また、簡易解像度変換部21dは、CPU41の制御に基づいて、画像データのデータ量が大きいときは、リアルタイムで処理することを優先すべく、画質を多少落として高速にデータ処理を行うようにすることもできる。これにより、ファインダモードでは、画像生成部10で生成される画像データのデータ量が多くても、よりリアルタイムで処理を行うことができる。
【0092】また、電子ズーム機能を備えるディジタル・スチル・カメラ1の場合には、CPU41は、以下のようにして各回路を制御してもよい。
【0093】メモリコントローラ22は、CCDインターフェース21a,カメラDSP21cを介して供給される画像データをイメージメモリ32に書き込み、そして、イメージメモリ32から当該画像データを読み出して解像度変換回路28に供給する。解像度変換回路28は、電子ズーム機能によって入力した画像の一部分を拡大した画像データを作成し、イメージメモリ32へ出力する。この画像データをイメージメモリ32から読み出し、NTSC/PALエンコーダ23を介してファインダ36に出力する。これにより、電子的にズーム処理された画像データを生成することができる。
【0094】上述したように、ファインダモードでは、CPU41は、リアルタイム性を最優先するため、比較的時間のかかる処理を各回路に行わせていない。しかしながら、CPU41は、画像データバス33の転送帯域の許す範囲内であれば、メモリコントローラ22やその他の回路に様々な処理を行わせてもよい。
【0095】例えば、メモリコントローラ22は、CCDインターフェース21a等から供給された画像データを記憶するイメージメモリ32から、当該画像データを読み出し、画像データバス33を介してNTSC/PALエンコーダ23に供給するとともにJPEGエンコーダ/デコーダ29にも供給してもよい。このとき、ファインダ36はリアルタイムで被写体の映像を表示する一方、JPEGエンコーダ/デコーダ29は画像データのJPEG圧縮処理を行う。
【0096】JPEGエンコーダ/デコーダ29は、静止画像の圧縮/伸張処理を行うものであり、高画素の画像をリアルタイムで処理をすることはできない。そこで、JPEGエンコーダ/デコーダ29は、画像データバス33から供給される画像データのコマ数(フレーム数又はフィールド数)を所定数ずつ間引いて圧縮処理を行ったり、また、画像の一部を切り取って解像度を低くして圧縮処理を行ってもよい。これにより、コマ落としの静止画像を連続して撮影したり、解像度の低い静止画像を連続して撮影することができる。
【0097】ユーザは、上述したファインダモードにおいてファインダ36に表示される被写体の様子を観察し、被写体を撮影すると決定すると、次に図示しないシャッタボタンを押圧する。
【0098】ディジタル・スチル・カメラ1は、上記シャッタボタンが押圧されると、記録モードに移行する。記録モードになると、CPU41は、ファインダモードの制御を行いながら、撮影された被写体の画像を記録装置51に記録すべく、メモリコントローラ22やその他各回路を以下のように制御する。
【0099】CCDイメージセンサ11は、シャッタボタンの押圧に同期して間引き処理を停止して、XGAフォーマットの画像信号を生成し、S/H−A/D回路12を介してディジタル化された画像データをCCDインターフェース21aに供給する。
【0100】CCDインターフェース21aは、S/H−A/D回路12から供給される画像データを、カメラDSP21cでなく、画像データバス33を介してメモリコントローラ22に供給する。メモリコントローラ22は、画像データをイメージメモリ32に書き込んだ後、当該画像データを読み出し、画像データバス33を介してカメラDSP21cに供給する。カメラDSP21cは、RGBからなる画像データをY,Cb,Crからなる画像データに変換する。
【0101】ここで、カメラDSP21cには、イメージメモリ32に一度書き込まれた画像データが供給される。すなわち、カメラDSP21cは、CCDインターフェース21aから直接供給される画像データではなく、イメージメモリ32からの画像データに対してデータ変換処理を行う。したがって、カメラDSP21cは、高速にデータ変換処理を行う必要はなく、画像データバス33が空いているときにかかる処理を実行してもよい。換言すると、記録モードでは、カメラDSP21cは、リアルタイムで処理する必要がないので、画像データに対して処理速度より画質の向上を優先してデータ変換処理を行い、かかる変換処理済みの画像データを画像データバス33を介してメモリコントローラ22に供給する。メモリコントローラ22は、この画像データをイメージメモリ32に書き込む。
【0102】メモリコントローラ22は、イメージメモリ32から上記画像データを読み出してJPEGエンコーダ/デコーダ29に供給する。JPEGエンコーダ/デコーダ29は、画像データをJPEG圧縮して、CPUバス34を介して、図2に示す記録装置51に書き込む。
【0103】以上のように、CPU41は、記録モードの時のように、リアルタイムで処理を行う必要のない場合には、一度画像データをイメージメモリ32に書き込んでから所定の処理を行うことによって、回路規模の増大を防ぎつつ画像データバス33の転送帯域を有効に利用して高画素の画像を処理することができる。
【0104】なお、CPU41は、上記記録モードにおいて、XGAフォーマットの画像データをそのまま記録装置51に記録していたが、解像度変換回路28で画像データの解像度変換を行ってから記録装置51に記録してもよい。具体的には、CPU41は、メモリコントローラ22を介してイメージメモリ32から読み出した画像データを、解像度変換回路28にVGAに対応するように解像度変換を行わせて(1024×768→640×480)、かかる画像データをJPEGエンコーダ/デコーダ29に圧縮させてから記録装置51に記録してもよい。
【0105】ユーザは、被写体の撮影後、撮影した画像を確認したいときには、撮影した画像を再生すべく、図示しない再生ボタンを押圧する。
【0106】ディジタル・スチル・カメラ1は、上記再生ボタンが押圧されると、再生モードに移行する。そして、再生モードになると、CPU41は、撮影された被写体の画像データを記録装置51から読み出すべく、各回路を以下のように制御する。
【0107】CPU41は、上記再生ボタンの押圧を検出すると、記録装置51から画像データを読み出して一時DRAM42に格納した後、CPUバス34を介してJPEGエンコーダ/デコーダ29に供給する。JPEGエンコーダ/デコーダ29は、記録装置51から読み出された画像データにJPEG伸張処理を行ってXGAフォーマットの画像データを得て、画像データバス33を介してメモリコントローラ22に供給する。
【0108】メモリコントローラ22は、上記画像データをイメージメモリ32に書き込み、さらに、当該画像データをイメージメモリ32から読み出して、画像データバス33を介して解像度変換回路28に供給する。
【0109】解像度変換回路28は、画像データがVGAフォーマットに対応するように解像度変換を行い(NTSC方式では1024×768→640×480、PAL方式では1024×768→640×576)、画像データバス33を介してメモリコントローラ22に供給する。メモリコントローラ22は、解像度変換処理済みの画像データをイメージメモリ32に書き込み、そして、当該画像データをイメージメモリ32から読み出して、NTSC/PALエンコーダ23を介してファインダ36に供給する。これにより、ファインダ36には、記録装置51に記録されていた画像データに基づく画像が表示される。
【0110】すなわち、CPU41は、記録装置51に記録されいる画像データの解像度が高いので、この解像度を低くしてから画像データをファインダ36に供給している。
【0111】また、CPU41は、ファインダモード,記録モード,再生モードの各モードについてそれぞれ優先して処理する回路の優先順位を決定しておき、いずれかのモードに移行した場合に上記優先順位に従って各回路に処理を実行させてもよい。これにより、各モードの処理内容に応じて画像データの信号処理を効率的に行うことができる。
【0112】上述した実施の形態では、XGA相当の画像データを処理する場合を例に挙げて説明したが、本発明は、これに限定されず、例えば100万画素以上からなる画像データを処理する場合についても適用することができるのは勿論である。
【0113】
【発明の効果】以上詳細に説明したように、本発明に係る画像処理装置によれば、遅延手段を構成する各バッファメモリの記憶容量を少なくし、記憶手段から、水平方向又は垂直方向にN画素分の画像データを1行毎又は1列毎に繰り返し読み出すことによって水平方向又は垂直方向におけるN画素分の画像データを垂直方向又は水平方向に全て読み出すことを1枚分の画像データ全体に対して行って上記遅延手段に供給することによって、上記画像処理手段において上記各バッファメモリからの画像データに基づいて画像処理を行うことができる。すなわち、バッファメモリの記憶容量を少なくしても任意のサイズの画像データの信号処理を行うことができるので、上記遅延手段の回路規模を縮小してコストを削減することができる。
【図面の簡単な説明】
【図1】本発明を適用したディジタル・スチル・カメラの構成を示すブロック図である。
【図2】上記ディジタル・スチル・カメラの概略構成を示すブロック図である。
【図3】上記ディジタル・スチル・カメラの信号処理部における画像データの流れを説明するためのブロック図である。
【図4】上記信号処理部の入力処理回路における簡易解像度変換回路の構成を示すブロック図である。
【図5】上記信号処理部の解像度変換回路の構成を示すブロック図である。
【図6】上記解像度変換回路の水平方向バッファ,水平方向変換処理回路,垂直方向バッファ,垂直方向変換処理回路の具体的な構成を示すブロック図である。
【図7】上記解像度変換回路の他の構成を示すブロック図である。
【図8】上記解像度変換回路の垂直方向バッファの構成を示すブロック図である。
【図9】メモリコントローラがイメージメモリから画像データ読み出すときの手法について説明する図である。
【図10】1画面を構成するピクセルの座標位置を説明する図である。
【図11】メモリコントローラがイメージメモリから画像データ読み出すときの手法について説明する図である。
【図12】上記解像度変換回路の水平方向バッファがラインバッファから構成されているときの構成を示すブロック図である。
【図13】メモリコントローラがイメージメモリから画像データ読み出すときの手法について説明する図である。
【図14】上記信号処理部のNTSC/PALエンコーダにおける簡易解像度変換回路の構成を示すブロック図である。
【図15】ファインダモードにおける各回路の信号処理の内容を説明するタイミングチャートである。
【図16】従来のディジタル・スチル・カメラの構成について説明するブロック図である。
【図17】上記ディジタル・スチル・カメラの解像度変換回路における垂直方向バッファの構成を示すブロック図である。
【図18】画像データの大きさを示す図である。
【符号の説明】
1 ディジタル・スチル・カメラ、20 信号処理部、21 入力処理回路、22 メモリコントローラ、23 NTSC/PALエンコーダ、28 解像度変換回路、32 イメージメモリ、33 画像データバス、34 CPUバス、40 制御部、41 CPU
【0001】
【発明の属する技術分野】本発明は、静止画撮像装置に用いて好適な画像処理装置に関し、特に回路規模を削減した画像処理装置に関する。
【0002】
【従来の技術】ディジタル・スチル・カメラは、CCDイメージセンサで得られた画像データをメモリや記録媒体に取り込み、その後画像データをいわゆるパーソナル・コンピュータ等に転送している。このようなディジタル・スチル・カメラは、今までは、VGA(Video Graphics Array)システム対応型のものがほとんどであった。
【0003】例えば図16に示すように、かかるディジタル・スチル・カメラ200は、画像信号を生成するCCDイメージセンサ201と、入力処理/画像処理回路202と、画像データの読み出し又は書き込みの処理を行うメモリコントローラ203と、所定の方式の出力画像に変換する出力処理回路204と、撮影時の被写体の状況を表示するファインダ205と、CPUバス206を介して、圧縮された画像データを記録する記録部207と、画像データの圧縮又は伸張処理を行う圧縮/伸張回路208と、画像データを記憶すべく例えばDRAM等からなるメモリ209と、装置全体を制御するCPU210とを備える。
【0004】被写体の撮影開始前においては、ユーザは、ファインダ205に表示される被写体像を確認する必要がある(ファインダモード)。このとき、CCDイメージセンサ201は、被写体からの撮像光によって光電変換して得られた画像信号を入力処理/画像処理回路202に供給する。入力処理/画像処理回路202は、例えば上記画像信号に相関二重サンプリング処理を行ってディジタル化し、さらにガンマ補正,ニー処理,カメラ処理等の所定の信号処理を行って、メモリコントローラ203に供給する。メモリコントローラ203は、CPU210の制御に応じて、入力処理/画像処理回路202からの画像データを出力処理回路204に供給する。出力処理回路204は、画像データを例えばNTSC(NationalTelevision System Committee)方式にエンコードし、さらにアナログ化してファインダ205に供給する。これにより、ファインダ205には、撮影の対象たる被写体が表示される。
【0005】一方、ユーザが図示しないシャッタボタンを押して記録モードに移行すると、メモリコントローラ203は、入力処理/画像処理回路202から供給される画像データをメモリ209に書き込む。CPU210は、メモリ209から画像データを読み出し、当該画像データを圧縮/伸張回路208において例えばJPEG(Joint Photographic Experts Group)圧縮処理を行って、記録部207に記録する。
【0006】また、ユーザの所定の操作によって再生モードに移行すると、CPU210は、記録部207から画像データを読み出し、当該画像データを圧縮/伸張回路208においてJPEG伸張処理を行った後、メモリコントローラ203,出力処理回路204を介してファインダ205に供給する。かくして、ファインダ205には、撮影された画像が表示されることになる。
【0007】
【発明が解決しようとする課題】入力処理/画像処理回路202は、水平方向及び垂直方向における画像処理機能を有し、CCDイメージセンサ201から供給される画像データの信号をY,Cb,Crの信号に変換する。入力処理/画像処理回路202は、水平方向バッファと、水平方向画像処理回路と、垂直方向バッファと、垂直方向画像処理回路とを備える。
【0008】水平方向バッファは、画像データをバッファリングして、例えば1画素,2画素,3画素分遅延した画像データをそれぞれ上記水平方向画像処理回路に供給する。水平方向画像処理回路は、上記各画像データに所定の係数を乗じて合成することによって水平方向の画像処理を行う。垂直方向バッファは、1ライン,2ライン,3ライン分遅延した画像データを、それぞれ上記垂直方向画像処理回路に供給する。垂直方向画像処理回路は、垂直方向バッファからの各画像データに所定の係数を乗じて合成することによって垂直方向の画像処理を行う。
【0009】ここで、例えば図17に示すように、上記垂直方向バッファ202aは、垂直タップ数に対応した数のラインバッファを備え、これらのラインバッファを直列に接続して構成される。これらのラインバッファには、入力される画像データの水平サイズに対応した分の画像データが記憶される。
【0010】入力処理/画像処理回路202に供給される画像データが例えば図18に示す画像Aのサイズの場合、図17に示すように、画像Aの画像データはラインバッファの約1/2を占有する。同様に、画像Bの画像データはラインバッファの約2/3を占有し、画像Cの画像データはラインバッファの全部を占有する。
【0011】このように、ラインバッファは、少なくとも画像データの1ライン分を記憶することができる容量を備えていなければならない。したがって、画像データのサイズが大きくなればなるほど垂直方向バッファの回路規模が大きくなって、生産コストが高くなるという問題が生じる。本発明は、このような実情を鑑みて提案されたものであり、画像データのサイズ大きくなっても回路規模を縮小しかつ生産コストを抑制することができる画像処理装置を提供することを目的とする。
【0012】
【課題を解決するための手段】上述の課題を解決するために、本発明に係る画像処理装置は、少なくとも1枚の画像データを記憶する記憶手段と、上記記憶手段から、水平方向又は垂直方向にN画素分の画像データを1行毎又は1列毎に繰り返し読み出すことによって水平方向又は垂直方向におけるN画素分の画像データを垂直方向又は水平方向に全て読み出すことを、上記1枚分の画像データ全体に対して行う読出し手段と、N画素分の画像データを記憶するバッファメモリが直列に接続され、上記読出し手段によって読み出された画像データが上記直列に接続されたバッファメモリの一方に入力されて、各バッファメモリから遅延した画像データを出力する遅延手段と、上記遅延手段の各バッファメモリが出力する画像データに重み付けを行って合成することによって水平方向又は垂直方向の画像データの画像処理を行う信号処理手段とを備える。
【0013】上記画像処理装置では、遅延手段を構成する各バッファメモリの記憶容量を少なくし、記憶手段から、水平方向又は垂直方向にN画素分の画像データを1行毎又は1列毎に繰り返し読み出すことによって水平方向又は垂直方向におけるN画素分の画像データを垂直方向又は水平方向に全て読み出すことを1枚分の画像データ全体に対して行って上記遅延手段に供給することによって、上記画像処理手段において上記各バッファメモリからの画像データに基づいて画像処理を行う。
【0014】
【発明の実施の形態】以下、本発明の実施の形態について、図面を参照しながら説明する。
【0015】本発明は、例えば図1に示す構成のディジタル・スチル・カメラ1に適用される。ディジタル・スチル・カメラ1は、画像信号を生成する画像生成部10と、画像データに所定の信号処理を行う信号処理部20と、SDRAMからなるイメージメモリ32と、信号処理部20の制御を行う制御部40とを備える。
【0016】画像生成部10は、画像信号を生成する個体撮像素子、例えばCCDイメージセンサ11と、上記画像信号にサンプルホールド処理及びディジタル化処理を行って画像データを出力するサンプル/ホールド−アナログ/ディジタル回路(以下、「S/H−A/D回路」という。)12と、タイミング信号を発生するタイミングジェネレータ13とを備える。このタイミングジェネレータ13は、信号処理部20から供給される同期信号に基づいて、画像生成部10の各回路を制御する水平同期信号及び垂直同期信号を発生するものである。
【0017】CCDイメージセンサ11は、例えば80万画素からなるXGA(eXtendedGraphics Array:1024×768)相当の画像データを生成する。CCDイメージセンサ11は、タイミングジェネレータ13からの同期信号に基づいて駆動され、毎秒30フレームの画像信号を出力する。なお、CCDイメージセンサ11は、画像信号の間引き機能を有し、制御部40の制御に従って、画像信号の垂直方向成分を1/2,1/3,1/4・・・に間引いて出力することができる。
【0018】S/H−A/D回路12も、上記タイミングジェネレータ13からの同期信号に基づき、所定のサンプリング間隔でサンプルホールド及びA/D変換処理を行い、この画像データを信号処理部20に供給する。
【0019】信号処理回路20は、1個のLSI(Large Scale Integrated circuit)によって構成される。信号処理部20は、画像生成部10からの画像データに入力処理とカメラ処理を行う入力処理回路21と、イメージメモリ32に対する画像データの読み出し/書き込みを制御するメモリコントローラ22と、NTSC/PAL(Phase Alternation by Line) エンコーダ23と、画像データをアナログ化して外部に出力するD/Aコンバータ24と、同期信号を発生してタイミングジェネレータ13に供給するシンク・ジェネレータ26とを備える。
【0020】また、信号処理部20は、イメージメモリ32のインターフェースであるメモリインターフェース27と、画像データの解像度変換処理を行う解像度変換回路28と、画像データの圧縮/伸張処理を行うJPEG(Joint Photographic Experts Group)エンコーダ/デコーダ29と、JPEGエンコーダ/デコーダ29のインターフェースであるJPEGインターフェース30と、制御部40の後述するCPUとデータの送受信を行うためのインターフェースであるホスト・インターフェース31とを備える。
【0021】入力処理回路21は、S/H−A/D回路12からの画像データにディジタルクランプ,シェーディング補正,アパーチャ補正、ガンマ補正,色処理等を行って、メモリコントローラ22に供給する。入力処理回路21は、入力データを信号処理してY,Cb,Crに変換する機能を持つ。入力処理回路21は、画像データの解像度が例えばVGA(Video Graphics Array)フォーマットよりも大きいときは、その解像度を低くする処理も行うことができる。また、入力処理回路21は、オート・フォーカス,オート・アイリスの検波処理を行って、そのデータを制御部40に送り、フォーカス機構,アイリス機構の自動調整を行う。さらに、入力処理回路21は、画像データを構成する3原色信号の信号レベルを検出してオートホワイトバランス調整も行う。メモリコントローラ22は、入力処理回路21や他の回路から供給される画像データをメモリインターフェース27を介してイメージメモリ32に書き込み、また、イメージメモリ32の画像データをメモリインターフェース27を介して読み出す制御を行う。このとき、メモリコントローラ22は、イメージメモリ32に記憶された画像データに基づいて、CCDイメージセンサ11に欠陥画素があるかを検出することも行う。
【0022】メモリコントローラ22は、イメージメモリ32から読み出した画像データを例えばNTSC/PALエンコーダ23に供給する。NTSC/PALエンコーダ23は、メモリコントローラ22から画像データ供給されると、この画像データにNTSC方式又はPAL方式のエンコードを行ってD/Aコンバータ24に供給する。D/Aコンバータ24は、かかる画像データをアナログ化して外部端子25を介して出力する。
【0023】メモリコントローラ22は、メモリコントローラ22から読み出した画像データを解像度変換回路28に供給して解像度変換処理を行わせ、また、解像度変換回路28が出力する解像度変換済みの画像データをイメージメモリ32に書き込む。
【0024】メモリコントローラ22は、JPEGインターフェース30を介して画像データをJPEGエンコーダ/デコーダ29に供給して静止画の圧縮処理を行わせ、さらに、JPEGエンコーダ/デコーダ29で伸張処理された画像データをイメージメモリ32に書き込むことも行う。
【0025】イメージメモリ32は、上述のように画像データを記憶するだけでなく、いわゆるキャラクタジェネレータのデータであるOSD(On Screen Display) データも記憶する。ここにいうOSDデータは、ビットマップデータからなる。メモリコントローラ22は、上記OSDデータの読み出し/書き込みも制御している。なお、画像データとOSDデータとの合成は、NTSC/PALエンコーダ23において行われる。
【0026】上記制御部40は、信号処理部20の各回路を制御するCPU(Central Processing Unit) 41と、画像データやその他の制御データを一時格納するDRAM(Dynamic Random Access Memory)42と、CPU41の制御プログラムが記憶されているROM(Read Only Memory)43と、例えばフラッシュメモリからなる記録装置51と画像データをやりとりするためのインターフェースであるフラッシュメモリ・インターフェース44と、例えばIrLED からなる通信回路52のインターフェースであるIrDAインターフェース45とを備える。
【0027】例えば、CPU41は、JPEGエンコーダ/デコーダ29で圧縮された画像データを、フラッシュメモリ・インターフェース44を介してフラッシュメモリからなる記録装置51に書き込み、また、この記録装置51から画像データを読み出してJPEGエンコーダ/デコーダ29に供給する。また、CPU41は、JPEGエンコーダ/デコーダ29からの画像データや記録装置51から読み出した画像データを、IrDAインターフェース45,通信回路52を介して赤外光として外部に出力する。
【0028】ここで、上記ディジタル・スチル・カメラ1の簡略的な構成を図2に示す。
【0029】入力処理回路21は、CCDイメージセンサ11からの画像データを画像データバス33を介してイメージメモリ32に供給する。NTSC/PALエンコーダ23は、イメージメモリ32からの画像データを所定のエンコード処理を行ってファインダ36に供給する。これにより、ファインダ36には、被写体の映像が表示される。なお、上記ファインダ36は、VGAフォーマットまでの画像データに対応して画像を表示するものである。
【0030】また、メモリコントローラ22は、イメージメモリ32と画像データバス33につながる各信号処理回路の間のデータ転送を行う。解像度変換回路28は、イメージメモリ32からの画像データの解像度変換処理を行い、結果をイメージメモリ32に供給する。JPEGエンコーダ/デコーダ29は、イメージメモリ32からの画像データをJPEG方式で圧縮し、CPUバス34を介してCPU41に供給する。CPU41は、かかる圧縮処理済みの画像データをCPUバス34を介して記録装置51に書き込む。また、CPU41は、圧縮処理済みの画像データを、CPUバス34,通信回路52を介して、外部に出力することもできる。
【0031】このように、図2によると、信号処理部20では、各回路は画像データバス33を介して接続されている。上記画像データバス33は、仮想的なバスであり、上記各回路でやりとりする画像データの転送帯域に限界があることを示すものである。
【0032】信号処理部20において、NTSC/PALエンコーダ23や解像度変換回路28等その他各回路は、画像データを処理を開始する前に、画像データを要求することを示すリクエスト信号(request)をメモリコントローラ22に送信する。また、これらの各回路は、画像データの処理が終了した後、上記画像データを出力するときもリクエスト信号をメモリコントローラ22に送信する。
【0033】一方、メモリコントローラ22は、各回路からのリクエスト信号を受信すると、各回路の中から優先順位の高いものを選択し、選択した回路に対してアクノリッジ(acknowledge) 信号を送信する。ここで、アクノリッジ信号とは、当該信号を受信する回路に対して画像データを供給すること又は当該信号を受信した回路が出力する画像データを受け取る準備ができたことを示す信号をいう。そして、メモリコントローラ22は、イメージメモリ32から画像データを読み出し、上記アクノリッジ信号の送信先の回路に対して画像データバス33を介して供給する。また、メモリコントローラ22は、上記アクノリッジ信号の送信先の回路が出力した画像データを受け取って、この画像データをイメージメモリ32に書き込む処理を行う。
【0034】なお、メモリコントローラ22は、各回路から同時にリクエスト信号を受信したときは、リアルタイムで処理することが必要な回路を優先的に選択することができる。例えば、メモリコントローラ22は、ファインダ36に被写体の映像を表示させるときは、入力処理回路21,NTSC/PALエンコーダ23を優先して選択する。また、メモリコントローラ22は、画像データバス33における画像データのバス占有使用率を判断して、当該占有率に応じて各回路の優先順位を決定してもよい。
【0035】なお、メモリコントローラ22は、画像データバス33の転送帯域制限内で各回路に画像データを供給することができるのであれば、時分割で各回路にアクノリッジ信号を送信して、各回路がそれぞれ所定の処理を行うように制御してもよい。これにより、メモリコントローラ22は、事実上、各回路に対してリアルタイムでデータアクセスして、各回路からの画像データをイメージメモリ32に書き込んだり、イメージメモリ32の画像データを読み出して各回路に供給することができる。
【0036】さらに、メモリコントローラ22は、画像データバス33を介して図示しない外部回路とアクセスする場合であっても、当該外部回路が上述したリクエスト信号を送信したりアクノリッジ信号を受信することができるものであれば、画像データバス33の転送帯域制限範囲内で、信号処理部20内の各回路と同様に時分割で同時にアクセスすることができる。すなわち、メモリコントローラ22は、画像データバス33の帯域の範囲内であれば、信号処理部20内の回路や外部回路の数を問わず、これらの各回路に対して時分割で同時にアクセスすることができる。
【0037】以上のように、メモリコントローラ22は、画像データバス33の調停やイメージメモリ32と各回路間における画像データの書き込み/読み出しの制御、さらに、CPUバス34に対してデータ転送を行っている。
【0038】次に、上記信号処理部20における画像データの具体的な流れについて、図3を用いて説明する。
【0039】入力処理回路21は、画像生成部10からの画像データに所定の信号処理を行うCCDインターフェース21aと、CCDインターフェース21aの処理を行うために検波処理を行う検波回路21bと、画像データの変換処理を行うカメラ・ディジタル・シグナル・プロセッサ(以下、「カメラDSP」という。)21cとを備える。
【0040】CCDインターフェース21aは、図1に示すS/H−A/D回路12からの赤信号,緑信号,青信号(R,G,B)で構成される画像データに対してディジタルクランプ,ホワイトバランス調整,ガンマ補正等の処理を行ったり、必要に応じて画像データの水平方向成分の間引き処理も行う。CCDインターフェース21aは、かかる処理を行った後、画像データをカメラDSP21cに供給したり、画像データバス33を介してメモリコントローラ22に供給する。
【0041】検波回路21bは、CCDインターフェース21aの画像データからオートフォーカス,オートアイリス,ホワイトバランス調整のための検波処理を行う。
【0042】カメラDSP21cは、CCDインターフェース21aからのRGBからなる画像データを、輝度信号Y及びクロマ信号(色差信号)Cb,Crからなる画像データに変換する。また、カメラDSP21cは、かかる処理を行うとともに、画像データの解像度を簡易的に変換する簡易解像度変換回路21dを有する。
【0043】簡易解像度変換回路21dは、CCDイメージセンサ11が生成する画像データの解像度が例えばVGAフォーマットより大きい場合に、画像データの解像度を低く変換するものである。
【0044】簡易解像度変換回路21dは、具体的には図4に示すように、色差信号の分離を行うB−Y/R−Y分離回路61と、水平方向の補間処理を行う水平方向線形補間回路62と、色差信号の合成を行うB−Y/R−Y合成回路63と、各信号に1水平走査期間(1H期間)の遅延を与える1H遅延回路64と、垂直方向線形補間回路65とを備える。
【0045】B−Y/R−Y分離回路61は、カメラDSP21cからの画像データからクロマ信号Cb,Crである色差信号B−Y,R−Yをそれぞれ分離して水平方向線形補間回路62に供給する。水平方向線形補間回路62は、輝度信号Y,色差信号B−Y,R−Yにそれぞれ水平方向の補間処理を行って水平方向の解像度を低くして、補間処理済みの輝度信号Y及び色差信号B−Y,R−YをB−Y/R−Y合成回路63に供給する。
【0046】B−Y/R−Y合成回路63は、色差信号B−Y,R−Yを合成し、水平方向線形補間回路62からの輝度信号Y及び合成された色差信号B−Y,R−Yを1H遅延回路64及び垂直方向線形補間回路65に供給する。1H遅延回路64は、輝度信号Y及び色差信号B−Y,R−Yにそれぞれ1H期間の遅延を与えて垂直方向線形補間回路65に供給する。垂直方向線形補間回路65は、B−Y/R−Y合成回路63及び1H遅延回路64からの輝度信号Y及び色差信号B−Y,R−Yに基づいて垂直方向の線形補間処理を行い、この結果、水平方向及び垂直方向の解像度が低くなった輝度信号Y’及び色差信号(B−Y)’,(R−Y)’からなる画像データを出力する。
【0047】また、解像度変換回路28は、例えば[p×q]の画像データを[m×n]の画像データに変換する解像度変換処理を行うものである。解像度変換回路28は、主に、CCDイメージセンサ11で生成された画像データが高解像度のときに所定の解像度に抑えるために行う処理であるが、低解像度の画像データを高解像度になるように処理してもよい。
【0048】解像度変換回路28は、具体的には図5に示すように、画像データバス33から入力される画像データを記憶する入力バッファ71と、入力バッファ71からの画像データを水平方向にバッファリングする水平方向バッファ72と、水平方向バッファ72からの画像データに水平方向の解像度変換処理を行う水平方向変換処理回路73と、水平方向変換処理回路73からの画像データを垂直方向にバッファリングする垂直方向バッファ74と、垂直方向の解像度変換処理を行う垂直方向変換処理回路75と、出力の際にバッファリングをする出力バッファ76とを備える。
【0049】なお、解像度変換回路28は、画像データの解像度変換を行う準備ができたときは、イメージメモリ32から画像データを読み出すようにメモリコントローラ22に要求する(リード)リクエスト信号を出力し、さらに、画像データの変換処理後に当該画像データをイメージメモリ32に書き込むようにメモリコントローラ22に要求する(ライト)リクエスト信号を出力する。また、解像度変換回路28は、メモリコントローラ22が上記リクエスト信号に応答したことを示すアクノリッジ信号を受信する。
【0050】一方、上記水平方向バッファ72は、図6に示すように、1画素分の遅延を与える第1の遅延回路81,第2の遅延回路82,第3の遅延回路83を直列に接続して構成される。したがって、第1の遅延回路81は1画素分遅延した画像データを出力し、第2の遅延回路82は2画素分遅延した画像データを出力し、第3の遅延回路83は3画素分遅延した画像データを出力する。
【0051】水平方向変換処理回路73は、図6に示すように、第1から第4の乗算器84,85,86,87と、第1から第3の加算器88,89,90とを備える。場合によっては、加算器90の後にデータを正規化するための回路が付加される。
【0052】第1の乗算器84は、入力バッファ71から供給される画像データに所定の係数を乗じて加算器88に供給する。第2の乗算器85は、第1の遅延回路81から供給される画像データに所定の係数を乗じて加算器88に供給する。第3の乗算器86は、第2の遅延回路82から供給される画像データに所定の係数を乗じて加算器89に供給する。第4の乗算器87は、第3の遅延回路83から供給される画像データに所定の係数を乗じて加算器90に供給する。第1の加算器88は、各画像データを合成して第2の加算器89に供給する。第2の加算器89は、各画像データを合成して第3の加算器90に供給する。第3の加算器90は、各画像データを合成し、これを水平方向の解像度変換処理済みの画像データとして垂直方向バッファ74に供給する。
【0053】以上のように水平方向変換処理回路73は、1画素分ずつ遅延のある画像データにそれぞれ所定の重み付けを行って合成することによって、水平方向の画素間を補ったり又は間引く処理を行ったりして、水平方向の解像度を変換する。
【0054】垂直方向バッファ74は、例えば図6に示すように、1ライン分の遅延を与える第1から第3のバッファメモリ91,92,93を直列に接続して構成される。したがって、第1のバッファメモリ91は1ライン分遅延した画像データを出力し、第2のバッファメモリ92は2ライン分遅延した画像データを出力し、第3のバッファメモリ93は3ライン分遅延した画像データを出力する。
【0055】垂直方向変換処理回路75は、図6に示すように、第5から第8の乗算器94,95,96,97と、第4から第6の加算器98,99,100とを備える。場合によっては、加算器90の後にデータを正規化するための回路が付加される。
【0056】第5の乗算器94は、水平方向変換回路73から供給される画像データに所定の係数を乗じて第4の加算器98に供給する。第6の乗算器95は、第1のラインメモリ91から供給される画像データに所定の係数を乗じて第4の加算器98に供給する。第7の乗算器96は、第2のラインメモリ92から供給される画像データに所定の係数を乗じて第5の加算器99に供給する。第8の乗算器97は、第3のラインメモリ93から供給される画像データに所定の係数を乗じて第6の加算器100に供給する。第4の加算器98は、各画像データを合成して第5の加算器99に供給する。第5の加算器99は、各画像データを合成して第6の加算器100に供給する。第6の加算器100は、各画像データを合成し、これを垂直方向の解像度変換処理済みの画像データとして出力する。
【0057】以上のように垂直方向変換処理回路75は、1ライン分ずつ遅延のある画像データにそれぞれ所定の重み付けを行って合成することによって、垂直方向の画素間を補う処理を行ったり又は間引く処理を行ったりして、垂直方向の解像度を変換する。
【0058】なお、解像度変換回路28は、図6において、水平方向の解像度変換処理を行ってから垂直方向の解像度変換処理を行っているが、図7に示すように、垂直方向の解像度変換処理を行ってから水平方向の解像度変換処理を行ってもよい。すなわち、解像度変換回路28は、入力バッファ71からの画像データを垂直方向バッファ74に供給し、垂直方向バッファ74,垂直方向変換処理回路75,水平方向バッファ72,水平方向変換処理回路73の順に各処理を行うような構成にしてもよい。
【0059】また、垂直方向バッファ74における第1から第3のバッファメモリ91,92,93は、1ライン(1H)分の画像データを記憶することができるとしたが、図8に示すように、1ラインより少ない例えばNピクセル(ピクセル長N)の画像データを記憶することができるものであってもよい。このとき、メモリコントローラ22は、図9に示すように、イメージメモリ32に記憶されている画像データをNピクセル毎に読み出す必要がある。
【0060】具体的には、メモリコントローラ22は、イメージメモリ32に記憶されている1画面分の画像データを、各ライン毎にNピクセルずつ垂直方向に読み出す。ここで、図10に示すように、1画面はp×q[ピクセル]からなり、左上のピクセルの座標を(1,1)、右上のピクセルの座標を(p,1)、左下のピクセルの座標を(1,q)、右下のピクセルの座標を(p,q)とする。
【0061】メモリコントローラ22は、図11に示すように、最初に、水平方向にNピクセル分の画像データを、1行目,2行目,・・・q行目の順にライン毎に読み出す。これにより、メモリコントローラ22は、左端からNピクセル分の画像データ、すなわち(1,1)(1,q)(N,q)(N,1)で囲まれる範囲(N×qピクセル分)の画像データ(以下、「画像データ群(1)」という。)を読み出す。
【0062】メモリコントローラ22は、次に、(N−1,1)(N−1,q)(N−2,q)(N−2,1)で囲まれる範囲の画像データ(以下、「画像データ群(2)」という。以下同様。)を読み出す。ここで、メモリコントローラ22は、列(1)及び画像データ群(2)を読み出すと、(N−1)列目及びN列目の画像データを2度読み出すことになる。
【0063】この理由は、垂直方向変換処理回路75は、周辺のピクセルから補間処理を行うため、第1から第3のバッファメモリ91,92,93の最初と最後に記憶されているピクセルについては処理結果の対象としないからである。例えば、(N,1)のピクセルは、画像データ群(1)が読み出されたときは、垂直方向の補間処理結果の対象とならない。しかし、この(N,1)のピクセルは、画像データ群(2)が読み出されるときにも読み出され、このときに補間処理結果の対象となる。
【0064】同様にして、メモリコントローラ22は、直前の画像データ群のうち最後の2列目分の画像データを含むようにして水平方向にNピクセル分の画像データを各ライン毎に読み出し、これにより、画像データ群を解像度変換回路28に供給する。
【0065】解像度変換回路28の垂直方向バッファ74には、第1から第3のバッファメモリ91,92,93の容量に合致した画像データが各ライン毎に供給される。したがって、第1から第3のバッファメモリ91,92,93には、それぞれ1ラインずつずれた画像データが記憶されることになる。垂直方向変換処理回路75は、垂直方向バッファ74の第1から第3のバッファメモリ91,92,93からの各画像データに基づいて、垂直方向の解像度変換処理を行うことができる。
【0066】以上のように、メモリコントローラ22は、垂直方向画像度変換に必要なバッファメモリの容量が1ライン分に満たなくても、バッファメモリの容量に合わせて読み出しを行うことによって、解像度変換回路28に垂直方向の解像度変換を行わせることができる。
【0067】なお、ここでは、画像データ群の間の読み出し重複は2列となっているが重複が2列より大きい場合や、重複がない場合も考えられる。また、解像度変換に限らず、カメラ信号処理等の画像信号処理にも適用される。
【0068】また、ここでは、バッファメモリが垂直方向の補間処理に用いられている場合を例に挙げて説明したが、バッファメモリが水平方向の補間処理に用いられている場合であっても同様である。
【0069】すなわち、例えば図12に示すように、解像度変換回路28がNピクセル分の容量のバッファメモリからなる水平方向バッファ72aを用いて水平方向の解像度変換を行う場合であってもよい。メモリコントローラ22は、図13に示すように、垂直方向にNピクセル分の画像データを、1列目,2列目,・・・p行目の順に各列毎に読み出せばよい。なお、メモリコントローラ22は、上述した垂直補間処理の場合と同様に、バッファメモリの最初と最後に記憶される画像データに対しては、水平補間処理の対象になるように2度読み出す必要がある。
【0070】このように、メモリコントローラ22は、Nピクセル分のデータ容量からなる第1から第3のバッファメモリ91,92,93に対しても、水平方向及び垂直方向の解像度変換処理が行われるように、イメージメモリ32から画像データを読み出すことができる。これにより、水平方向バッファ72及び垂直方向バッファ74の回路規模を小さくして生産コストを削減することができる。
【0071】NTSC/PALエンコーダ23は、上述したエンコードを行うだけでなく、エンコード処理を行う前に必要に応じて画像データの解像度を高くする簡易解像度変換回路23aを有する。
【0072】簡易解像度変換回路23aは、イメージメモリ32上の画像データが表示に必要な解像度より低い場合に、ファインダ36の表示規格に合うような解像度変換を行う。
【0073】簡易解像度変換回路23aは、具体的には図14に示すように、画像データバス33からの画像データを記憶するラインメモリ101と、垂直方向に画像データの補間処理を行う垂直方向線形補間回路(以下、「V方向線形補間回路」という。)102と、水平方向補間回路103とを備える。
【0074】ラインメモリ81は、入力端子inからの画像データを1ライン分記憶し、かかる画像データを記憶した順に垂直方向線形補間回路82に供給する。垂直方向線形補間回路82は、上記入力端子inからの画像データと垂直方向線形補間回路82からの画像データに所定の重み付けをすることにより垂直方向の線形補間をする。次に水平方向の補間として、Yは7次のフィルタ、Cb,Crは3次のフィルタによる補間を行っており、これは解像度を2倍に上げる補間のみである。そして、画像データを出力端子outを介して出力する。
【0075】例えば、上記入力端子inから入力される画像データをa、ラインメモリ101から読み出される画像データをb、重み付けを行うための係数をg(0≦g≦1)、V方向線形補間回路102が出力する画像データをcとすると、V方向線形補間回路102は以下の演算を行う。
【0076】c=g*a+(1−g)*bなお、出力端子out から出力された画像データは、上述したように、エンコード処理される。
【0077】以上のように、ディジタル・スチル・カメラ1は、信号処理系においては信号処理部20とCPU41とのいわゆる2チップで構成されている。したがって、各信号処理回路がそれぞれチップ構成となっている複数チップの場合に比べて、基板面積を縮小することができ、さらに消費電力を削減することができる。
【0078】また、信号処理部20は、CPUを含めたチップ構成となっていないので、CPU41に関わるアプリケーションの変更が生じた場合でもそれに対応して信号処理を行うことができる。すなわち、CPUを含めたチップ構成の場合、当該CPUのアプリケーションの変更が生じたときにはそれに対応してチップの再構成をすることは不可能である。しかし、上記信号処理部20は、アプリケーション毎に最適な構成のCPUを用いて、所定の信号処理を行うことができる。
【0079】かかる構成のディジタル・スチル・カメラ1は、撮影前に被写体の状態や位置等を確認するためのファインダモード、確認した被写体の映像を撮影する記録モード、撮影された被写体像の写りを確認するための再生モードを有し、各モードに応じて処理を行う。
【0080】ファインダモードでは、ユーザは、図示しないシャッタボタンを押圧して被写体を撮影する前に、ファインダ36に表示される被写体の様子を観察する必要がある。このファインダモードでは、CPU41は、メモリコントローラ22やその他各回路を以下のように制御する。なお、各モードの説明については主に図3を用い、適宜図15を参照するものとする。
【0081】上記ファインダモードにおいて、CCDイメージセンサ11は、垂直方向成分を1/3に間引いた画像信号を生成し、S/H−A/D回路12を介してディジタル化された画像データをCCDインターフェース21aに供給する。
【0082】CCDインターフェース21aは、図15(A)に示すクロックに同期して、信号処理を行う。具体的には、CCDインターフェース21aは、図15(B)に示すように、画像生成部10から供給される画像データの水平方向成分を1/3に間引く処理をし、さらに、ガンマ補正等を行ってカメラDSP21cに供給する。CCDインターフェース21aは、1/3間引きの結果、340×256に変換した画像データをカメラDSP21cに供給する。
【0083】カメラDSP21cは、図15(C)に示すように、間引き処理後の画像データにデータ変換処理を行って、YCrCbの画像データに変換する。カメラDSP21cは、さらに簡易解像度変換回路21dにおいて画像データの解像度を低くすべく解像度変換をして(340×256→320×240)、かかる変換処理後の画像データを画像データバス33を介してメモリコントローラ22に供給する。
【0084】ここで、簡易解像度変換回路21dは、後の処理に必要な程度に簡易的に解像度を低くしている。これにより、CCDイメージセンサ11で生成される画像データが高解像度であっても、画像データバス33において上記画像データが占める転送帯域を小さくすることにより画像データバス33の渋滞を回避し、ファインダモードのリアルタイム性を維持することができる。
【0085】メモリコントローラ22は、上記画像データをイメージメモリ32に書き込み、さらに、図15(D)に示すように、イメージメモリ32から画像データを読み出し、画像データバス33を介してNTSC/PALエンコーダ23に供給する。メモリコントローラ22は、同時に、図15(E)に示すように、イメージメモリ32に記憶されているOSDデータも読み出し、画像データバス33を介してNTSC/PALエンコーダ23に供給する。図15(F)は上記のリアルタイム処理を可能とする画像データバス33上の転送の様子を示す。
【0086】NTSC/PALエンコーダ23は、画像データバス33から供給される画像データにNTSC方式の場合は320×240→640×240、PAL方式の場合は320×240→640×288の解像度変換処理を行って、変換処理後の画像データをNTSC/PALエンコーダ23に供給する。NTSC/PALエンコーダ23は、さらに、画像データをNTSC方式あるいはPAL方式に変換してOSDデータを合成し、これを図2に示すファインダ36に供給する。これにより、ファインダ36には、被写体の画像及び字幕情報等がリアルタイムで表示される。
【0087】なお、NTSC/PALエンコーダ23は、解像度が小さいものに対してはそれが大きくなるように解像度変換を行い、例えば320×200の画像データが供給された場合にも、NTSC方式の場合640×240、PAL方式の場合640×288の画像データに変換して出力する。
【0088】以上のように、ディジタル・スチル・カメラ1は、ファインダモードにおいては、図15(F)に示すタイミングで、CCDイメージセンサ11で生成された画像データの解像度を簡易的に低くしてデータ量を減らし、画像データが画像データバス33の帯域制限内に収まるようにして、さらに表示に必要なだけ出力段階で解像度を高くしてファインダ36に表示している。
【0089】これにより、ディジタル・スチル・カメラ1は、画像データが高解像度であっても、比較的処理時間を要する大がかりな間引き処理を行うことなく画像データバス33の帯域制限内に抑えることによって、リアルタイムで被写体の画像をファインダ36に表示させることができる。
【0090】なお、CPU41は、予め優先して処理を行う回路(CCDインターフェース21a,カメラDSP21c,NTSC/PALエンコーダ23)を設定しておき、時分割で、これらの回路の他に他の回路でも信号処理をしている場合には、画像データのデータ量に応じて優先度の高い上記各回路の処理を優先して行うようにしてもよい。
【0091】また、簡易解像度変換部21dは、CPU41の制御に基づいて、画像データのデータ量が大きいときは、リアルタイムで処理することを優先すべく、画質を多少落として高速にデータ処理を行うようにすることもできる。これにより、ファインダモードでは、画像生成部10で生成される画像データのデータ量が多くても、よりリアルタイムで処理を行うことができる。
【0092】また、電子ズーム機能を備えるディジタル・スチル・カメラ1の場合には、CPU41は、以下のようにして各回路を制御してもよい。
【0093】メモリコントローラ22は、CCDインターフェース21a,カメラDSP21cを介して供給される画像データをイメージメモリ32に書き込み、そして、イメージメモリ32から当該画像データを読み出して解像度変換回路28に供給する。解像度変換回路28は、電子ズーム機能によって入力した画像の一部分を拡大した画像データを作成し、イメージメモリ32へ出力する。この画像データをイメージメモリ32から読み出し、NTSC/PALエンコーダ23を介してファインダ36に出力する。これにより、電子的にズーム処理された画像データを生成することができる。
【0094】上述したように、ファインダモードでは、CPU41は、リアルタイム性を最優先するため、比較的時間のかかる処理を各回路に行わせていない。しかしながら、CPU41は、画像データバス33の転送帯域の許す範囲内であれば、メモリコントローラ22やその他の回路に様々な処理を行わせてもよい。
【0095】例えば、メモリコントローラ22は、CCDインターフェース21a等から供給された画像データを記憶するイメージメモリ32から、当該画像データを読み出し、画像データバス33を介してNTSC/PALエンコーダ23に供給するとともにJPEGエンコーダ/デコーダ29にも供給してもよい。このとき、ファインダ36はリアルタイムで被写体の映像を表示する一方、JPEGエンコーダ/デコーダ29は画像データのJPEG圧縮処理を行う。
【0096】JPEGエンコーダ/デコーダ29は、静止画像の圧縮/伸張処理を行うものであり、高画素の画像をリアルタイムで処理をすることはできない。そこで、JPEGエンコーダ/デコーダ29は、画像データバス33から供給される画像データのコマ数(フレーム数又はフィールド数)を所定数ずつ間引いて圧縮処理を行ったり、また、画像の一部を切り取って解像度を低くして圧縮処理を行ってもよい。これにより、コマ落としの静止画像を連続して撮影したり、解像度の低い静止画像を連続して撮影することができる。
【0097】ユーザは、上述したファインダモードにおいてファインダ36に表示される被写体の様子を観察し、被写体を撮影すると決定すると、次に図示しないシャッタボタンを押圧する。
【0098】ディジタル・スチル・カメラ1は、上記シャッタボタンが押圧されると、記録モードに移行する。記録モードになると、CPU41は、ファインダモードの制御を行いながら、撮影された被写体の画像を記録装置51に記録すべく、メモリコントローラ22やその他各回路を以下のように制御する。
【0099】CCDイメージセンサ11は、シャッタボタンの押圧に同期して間引き処理を停止して、XGAフォーマットの画像信号を生成し、S/H−A/D回路12を介してディジタル化された画像データをCCDインターフェース21aに供給する。
【0100】CCDインターフェース21aは、S/H−A/D回路12から供給される画像データを、カメラDSP21cでなく、画像データバス33を介してメモリコントローラ22に供給する。メモリコントローラ22は、画像データをイメージメモリ32に書き込んだ後、当該画像データを読み出し、画像データバス33を介してカメラDSP21cに供給する。カメラDSP21cは、RGBからなる画像データをY,Cb,Crからなる画像データに変換する。
【0101】ここで、カメラDSP21cには、イメージメモリ32に一度書き込まれた画像データが供給される。すなわち、カメラDSP21cは、CCDインターフェース21aから直接供給される画像データではなく、イメージメモリ32からの画像データに対してデータ変換処理を行う。したがって、カメラDSP21cは、高速にデータ変換処理を行う必要はなく、画像データバス33が空いているときにかかる処理を実行してもよい。換言すると、記録モードでは、カメラDSP21cは、リアルタイムで処理する必要がないので、画像データに対して処理速度より画質の向上を優先してデータ変換処理を行い、かかる変換処理済みの画像データを画像データバス33を介してメモリコントローラ22に供給する。メモリコントローラ22は、この画像データをイメージメモリ32に書き込む。
【0102】メモリコントローラ22は、イメージメモリ32から上記画像データを読み出してJPEGエンコーダ/デコーダ29に供給する。JPEGエンコーダ/デコーダ29は、画像データをJPEG圧縮して、CPUバス34を介して、図2に示す記録装置51に書き込む。
【0103】以上のように、CPU41は、記録モードの時のように、リアルタイムで処理を行う必要のない場合には、一度画像データをイメージメモリ32に書き込んでから所定の処理を行うことによって、回路規模の増大を防ぎつつ画像データバス33の転送帯域を有効に利用して高画素の画像を処理することができる。
【0104】なお、CPU41は、上記記録モードにおいて、XGAフォーマットの画像データをそのまま記録装置51に記録していたが、解像度変換回路28で画像データの解像度変換を行ってから記録装置51に記録してもよい。具体的には、CPU41は、メモリコントローラ22を介してイメージメモリ32から読み出した画像データを、解像度変換回路28にVGAに対応するように解像度変換を行わせて(1024×768→640×480)、かかる画像データをJPEGエンコーダ/デコーダ29に圧縮させてから記録装置51に記録してもよい。
【0105】ユーザは、被写体の撮影後、撮影した画像を確認したいときには、撮影した画像を再生すべく、図示しない再生ボタンを押圧する。
【0106】ディジタル・スチル・カメラ1は、上記再生ボタンが押圧されると、再生モードに移行する。そして、再生モードになると、CPU41は、撮影された被写体の画像データを記録装置51から読み出すべく、各回路を以下のように制御する。
【0107】CPU41は、上記再生ボタンの押圧を検出すると、記録装置51から画像データを読み出して一時DRAM42に格納した後、CPUバス34を介してJPEGエンコーダ/デコーダ29に供給する。JPEGエンコーダ/デコーダ29は、記録装置51から読み出された画像データにJPEG伸張処理を行ってXGAフォーマットの画像データを得て、画像データバス33を介してメモリコントローラ22に供給する。
【0108】メモリコントローラ22は、上記画像データをイメージメモリ32に書き込み、さらに、当該画像データをイメージメモリ32から読み出して、画像データバス33を介して解像度変換回路28に供給する。
【0109】解像度変換回路28は、画像データがVGAフォーマットに対応するように解像度変換を行い(NTSC方式では1024×768→640×480、PAL方式では1024×768→640×576)、画像データバス33を介してメモリコントローラ22に供給する。メモリコントローラ22は、解像度変換処理済みの画像データをイメージメモリ32に書き込み、そして、当該画像データをイメージメモリ32から読み出して、NTSC/PALエンコーダ23を介してファインダ36に供給する。これにより、ファインダ36には、記録装置51に記録されていた画像データに基づく画像が表示される。
【0110】すなわち、CPU41は、記録装置51に記録されいる画像データの解像度が高いので、この解像度を低くしてから画像データをファインダ36に供給している。
【0111】また、CPU41は、ファインダモード,記録モード,再生モードの各モードについてそれぞれ優先して処理する回路の優先順位を決定しておき、いずれかのモードに移行した場合に上記優先順位に従って各回路に処理を実行させてもよい。これにより、各モードの処理内容に応じて画像データの信号処理を効率的に行うことができる。
【0112】上述した実施の形態では、XGA相当の画像データを処理する場合を例に挙げて説明したが、本発明は、これに限定されず、例えば100万画素以上からなる画像データを処理する場合についても適用することができるのは勿論である。
【0113】
【発明の効果】以上詳細に説明したように、本発明に係る画像処理装置によれば、遅延手段を構成する各バッファメモリの記憶容量を少なくし、記憶手段から、水平方向又は垂直方向にN画素分の画像データを1行毎又は1列毎に繰り返し読み出すことによって水平方向又は垂直方向におけるN画素分の画像データを垂直方向又は水平方向に全て読み出すことを1枚分の画像データ全体に対して行って上記遅延手段に供給することによって、上記画像処理手段において上記各バッファメモリからの画像データに基づいて画像処理を行うことができる。すなわち、バッファメモリの記憶容量を少なくしても任意のサイズの画像データの信号処理を行うことができるので、上記遅延手段の回路規模を縮小してコストを削減することができる。
【図面の簡単な説明】
【図1】本発明を適用したディジタル・スチル・カメラの構成を示すブロック図である。
【図2】上記ディジタル・スチル・カメラの概略構成を示すブロック図である。
【図3】上記ディジタル・スチル・カメラの信号処理部における画像データの流れを説明するためのブロック図である。
【図4】上記信号処理部の入力処理回路における簡易解像度変換回路の構成を示すブロック図である。
【図5】上記信号処理部の解像度変換回路の構成を示すブロック図である。
【図6】上記解像度変換回路の水平方向バッファ,水平方向変換処理回路,垂直方向バッファ,垂直方向変換処理回路の具体的な構成を示すブロック図である。
【図7】上記解像度変換回路の他の構成を示すブロック図である。
【図8】上記解像度変換回路の垂直方向バッファの構成を示すブロック図である。
【図9】メモリコントローラがイメージメモリから画像データ読み出すときの手法について説明する図である。
【図10】1画面を構成するピクセルの座標位置を説明する図である。
【図11】メモリコントローラがイメージメモリから画像データ読み出すときの手法について説明する図である。
【図12】上記解像度変換回路の水平方向バッファがラインバッファから構成されているときの構成を示すブロック図である。
【図13】メモリコントローラがイメージメモリから画像データ読み出すときの手法について説明する図である。
【図14】上記信号処理部のNTSC/PALエンコーダにおける簡易解像度変換回路の構成を示すブロック図である。
【図15】ファインダモードにおける各回路の信号処理の内容を説明するタイミングチャートである。
【図16】従来のディジタル・スチル・カメラの構成について説明するブロック図である。
【図17】上記ディジタル・スチル・カメラの解像度変換回路における垂直方向バッファの構成を示すブロック図である。
【図18】画像データの大きさを示す図である。
【符号の説明】
1 ディジタル・スチル・カメラ、20 信号処理部、21 入力処理回路、22 メモリコントローラ、23 NTSC/PALエンコーダ、28 解像度変換回路、32 イメージメモリ、33 画像データバス、34 CPUバス、40 制御部、41 CPU
【特許請求の範囲】
【請求項1】 少なくとも1枚の画像データを記憶する記憶手段と、上記記憶手段から、水平方向又は垂直方向にN画素分の画像データを1行毎又は1列毎に繰り返し読み出すことによって水平方向又は垂直方向におけるN画素分の画像データを垂直方向又は水平方向に全て読み出すことを、上記1枚分の画像データ全体に対して行う読出し手段と、N画素分の画像データを記憶するバッファメモリが直列に接続され、上記読出し手段によって読み出された画像データが上記直列に接続されたバッファメモリの一方に入力されて、各バッファメモリから遅延した画像データを出力する遅延手段と、上記遅延手段の各バッファメモリが出力する画像データに重み付けを行って合成することによって水平方向又は垂直方向の画像データの信号処理を行う手段とを備える画像処理装置。
【請求項2】 上記遅延手段の各バッファメモリは、上記記憶手段に記憶される1枚の画像データの水平ラインのデータ量よりも少ない記憶容量からなることを特徴とする請求項1記載の画像処理装置。
【請求項3】 上記読出し手段は、上記水平方向又は垂直方向におけるN画素分の画像データを垂直方向又は水平方向に全て読み出すことを、少なくとも水平方向2画素分又は少なくとも垂直方向2画素分の画像データを重複して読み出しながら上記1枚分の画像データ全体に対して行うことを特徴とする請求項1記載の画像処理装置。
【請求項1】 少なくとも1枚の画像データを記憶する記憶手段と、上記記憶手段から、水平方向又は垂直方向にN画素分の画像データを1行毎又は1列毎に繰り返し読み出すことによって水平方向又は垂直方向におけるN画素分の画像データを垂直方向又は水平方向に全て読み出すことを、上記1枚分の画像データ全体に対して行う読出し手段と、N画素分の画像データを記憶するバッファメモリが直列に接続され、上記読出し手段によって読み出された画像データが上記直列に接続されたバッファメモリの一方に入力されて、各バッファメモリから遅延した画像データを出力する遅延手段と、上記遅延手段の各バッファメモリが出力する画像データに重み付けを行って合成することによって水平方向又は垂直方向の画像データの信号処理を行う手段とを備える画像処理装置。
【請求項2】 上記遅延手段の各バッファメモリは、上記記憶手段に記憶される1枚の画像データの水平ラインのデータ量よりも少ない記憶容量からなることを特徴とする請求項1記載の画像処理装置。
【請求項3】 上記読出し手段は、上記水平方向又は垂直方向におけるN画素分の画像データを垂直方向又は水平方向に全て読み出すことを、少なくとも水平方向2画素分又は少なくとも垂直方向2画素分の画像データを重複して読み出しながら上記1枚分の画像データ全体に対して行うことを特徴とする請求項1記載の画像処理装置。
【図4】
【図8】
【図1】
【図2】
【図11】
【図12】
【図14】
【図3】
【図5】
【図13】
【図6】
【図7】
【図9】
【図10】
【図15】
【図16】
【図17】
【図18】
【図8】
【図1】
【図2】
【図11】
【図12】
【図14】
【図3】
【図5】
【図13】
【図6】
【図7】
【図9】
【図10】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2000−92349(P2000−92349A)
【公開日】平成12年3月31日(2000.3.31)
【国際特許分類】
【出願番号】特願平10−331612
【出願日】平成10年11月20日(1998.11.20)
【出願人】(000002185)ソニー株式会社 (34,172)
【公開日】平成12年3月31日(2000.3.31)
【国際特許分類】
【出願日】平成10年11月20日(1998.11.20)
【出願人】(000002185)ソニー株式会社 (34,172)
[ Back to top ]