JP2013196236A - 画像処理制御装置、画像処理制御方法およびプログラム - Google Patents

画像処理制御装置、画像処理制御方法およびプログラム Download PDF

Info

Publication number
JP2013196236A
JP2013196236A JP2012061385A JP2012061385A JP2013196236A JP 2013196236 A JP2013196236 A JP 2013196236A JP 2012061385 A JP2012061385 A JP 2012061385A JP 2012061385 A JP2012061385 A JP 2012061385A JP 2013196236 A JP2013196236 A JP 2013196236A
Authority
JP
Japan
Prior art keywords
image data
memory
image processing
unit
data
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
JP2012061385A
Other languages
English (en)
Inventor
Koji Ozaki
浩治 尾崎
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 JP2012061385A priority Critical patent/JP2013196236A/ja
Publication of JP2013196236A publication Critical patent/JP2013196236A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

【課題】メモリコストの増加を抑制して適切な画像処理を行う。
【解決手段】画像処理制御装置は、制御部を具備するものである。ここで、制御部は、画像処理部による画像処理の対象となる画像データを構成する画素を分割して、この分割された画素を縦横変換するように制御するものである。また、制御部は、メモリのデータアクセス単位の1以上の整数倍のサイズで、その変換された画像データをメモリに書き込むように制御するものである。
【選択図】図2

Description

本技術は、画像処理制御装置に関する。詳しくは、画像データについて画像処理を行う画像処理制御装置および画像処理制御方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
従来、デジタルスチルカメラやデジタルビデオカメラ(例えば、カメラ一体型レコーダ)等の撮像装置により生成された画像データを扱う画像処理制御装置が広く普及している。例えば、画像に生じる歪みを補正する画像処理制御装置が存在する。
例えば、画像データを左周りに90度回転させ、その回転された画像データに対して補正処理を実行し、その補正処理が実行された画像データを右周りに90度回転させる画像処理装置が提案されている(例えば、特許文献1参照。)。
特開2010−11429号公報
上述の従来技術によれば、左周りに90度回転させた画像データに対して補正処理を実行することにより、画像に生じる歪みを補正することができる。
ここで、上述の補正を行う場合には、画像データの垂直方向および水平方向の両方に対応する必要があるため、アクセス単位の小さいメモリが必要となる。また、その領域は、画像データ全体となるため、比較的大きい容量のメモリが必要となる。しかしながら、一般的なメモリは、ある一定の長さ単位でアクセスすることが通常である。このため、例えば、容量が大きくアクセス単位の小さいメモリを画像処理に用いる場合には、その画像処理にかかるメモリのコストが増加することが想定される。
本技術はこのような状況に鑑みて生み出されたものであり、メモリコストの増加を抑制して適切な画像処理を行うことを目的とする。
本技術は、上述の問題点を解消するためになされたものであり、その第1の側面は、画像処理部による画像処理の対象となる画像データを構成する画素を分割して上記分割された画素を縦横変換し、メモリのデータアクセス単位の1以上の整数倍のサイズで上記変換された画像データを上記メモリに書き込むように制御する制御部を具備する画像処理制御装置およびその画像処理制御方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、画像処理部による画像処理の対象となる画像データを構成する画素を分割して、この分割された画素を縦横変換し、メモリのデータアクセス単位の1以上の整数倍のサイズで、その変換された画像データをメモリに書き込むという作用をもたらす。
また、この第1の側面において、上記制御部は、上記画像処理の対象となる画像データを、上記メモリから上記データアクセス単位の1以上の整数倍で読み出すように制御するようにしてもよい。これにより、画像処理の対象となる画像データを、メモリからデータアクセス単位の1以上の整数倍で読み出すという作用をもたらす。
また、この第1の側面において、上記制御部は、上記メモリの上記データアクセス単位の境界から上記画像処理の対象となる画像データの読み出しを開始し、上記画像処理に応じて上記読み出し開始位置と上記読み出しサイズとを上記データアクセス単位の1以上の整数倍のサイズの範囲内で変化させるように制御するようにしてもよい。これにより、メモリのデータアクセス単位の境界から、画像処理の対象となる画像データの読み出しを開始し、その画像処理に応じて読み出し開始位置と読み出しサイズとを、データアクセス単位の1以上の整数倍のサイズの範囲内で変化させるという作用をもたらす。
また、この第1の側面において、上記制御部は、上記メモリから上記データアクセス単位で読み出されるデータ内に、上記画像データを構成する垂直方向のラインのうちの1つのラインに含まれる連続する複数の画素の要素のデータが含まれるように、上記分割および上記縦横変換を行うように制御するようにしてもよい。これにより、メモリからデータアクセス単位で読み出されるデータ内に、画像データを構成する垂直方向のラインのうちの1つのラインに含まれる連続する複数の画素の要素のデータが含まれるように、分割および縦横変換を行うという作用をもたらす。
また、この第1の側面において、上記画像処理の対象となる画像データを、上記メモリから上記データアクセス単位の1以上の整数倍で読み出す読出部をさらに具備するようにしてもよい。これにより、画像処理の対象となる画像データを、メモリからデータアクセス単位の1以上の整数倍で読み出すという作用をもたらす。
また、この第1の側面において、上記分割および上記縦横変換を行い、上記変換された画像データの上記メモリへの書き込みサイズを上記メモリのデータアクセス単位の1以上の整数倍のサイズとする変換部と、上記変換された画像データを上記メモリに書き込み、上記画像処理の対象となる画像データとする書込部とをさらに具備するようにしてもよい。これにより、分割および縦横変換を行い、この変換された画像データのメモリへの書き込みサイズをメモリのデータアクセス単位の1以上の整数倍のサイズとし、その変換された画像データをメモリに書き込み、画像処理の対象となる画像データとするという作用をもたらす。
また、この第1の側面において、上記変換部は、上記画像データをラスターブロック変換することにより上記画像データを分割し、上記分割された画素の要素の配置を特定方向に90度回転させることにより上記縦横変換を行うようにしてもよい。これにより、ラスターブロック変換することにより画像データを分割し、この分割された画素の要素の配置を特定方向に90度回転させることにより縦横変換を行うという作用をもたらす。
また、この第1の側面において、上記画像処理部は、上記画像データにおける水平方向の位置に応じて上記画像データにおける垂直方向のずれ量または拡大縮小率のうちの少なくとも何れかが異なる画像処理を行うようにしてもよい。これにより、画像データにおける水平方向の位置に応じて、画像データにおける垂直方向のずれ量または拡大縮小率のうちの少なくとも何れかが異なる画像処理を行うという作用をもたらす。
また、この第1の側面において、上記画像処理部により上記画像処理が施された画像データを、上記分割および上記縦横変換を行う前の配置と同一の配置となるように変換する第2変換部をさらに具備するようにしてもよい。これにより、画像処理部により画像処理が施された画像データを、分割および縦横変換を行う前の配置と同一の配置となるように変換するという作用をもたらす。
また、この第1の側面において、上記第2変換部は、上記画像処理部により上記画像処理が施された画像データを構成する画素の要素の配置を特定方向とは逆方向に90度回転させ、上記逆方向に90度回転された画像データをブロックラスター変換することにより上記同一の配置となるための変換を行うようにしてもよい。これにより、画像処理部により画像処理が施された画像データを構成する画素の要素の配置を特定方向とは逆方向に90度回転させ、この逆方向に90度回転された画像データをブロックラスター変換することにより同一の配置となるための変換を行うという作用をもたらす。
また、この第1の側面において、上記メモリは、上記画像データの記憶領域における所定ラインの一端のアドレスと、上記所定ラインの1つ上または1つ下のラインの他の一端のアドレスとが連続となるように配置されており、上記所定ラインの一端のアクセスの次にアクセスがある場合には、上記所定ラインの1つ上または1つ下のラインの上記他の一端にアクセスするようにしてもよい。これにより、所定ラインの一端のアクセスの次にアクセスがある場合には、所定ラインの1つ上または1つ下のラインの他の一端にアクセスするという作用をもたらす。
本技術によれば、メモリコストの増加を抑制して適切な画像処理を行うことができるという優れた効果を奏し得る。
本技術の第1の実施の形態における撮像装置100の内部構成例を示すブロック図である。 本技術の第1の実施の形態におけるリサイズ歪補正部200の機能構成例を示すブロック図である。 本技術の第1の実施の形態におけるラスターブロック変換部220によるラスターブロック変換例およびブロックラスター変換部260によるブロックラスター変換例を示す図である。 本技術の第1の実施の形態におけるブロック回転部230によるブロック回転例およびブロック逆回転部250によるブロック逆回転例を示す図である。 本技術の第1の実施の形態におけるメモリ310への書き込み例およびメモリ310からの読み出し例を模式的に示す図である。 本技術の第1の実施の形態における垂直歪補正部240による垂直歪補正の一例を模式的に示す図である。 本技術の第1の実施の形態におけるメモリ310におけるリングバッファの配置構成例を模式的に示す図である。 本技術の第1の実施の形態におけるメモリ310におけるリングバッファの配置構成例を模式的に示す図である。 本技術の第1の実施の形態におけるメモリ310の読み出しおよび書き込みの流れの一例を模式的に示す図である。 本技術の第1の実施の形態におけるメモリ310への画像データの読み出し順序および書き込み順序の一例も模式的に示すである。 本技術の第1の実施の形態における擬似リングバッファの領域のサイズの一例を模式的に示す図である。 本技術の第1の実施の形態における撮像装置100に用いられるメモリの一例(メモリ550)を示す図である。 本技術の第1の実施の形態における撮像装置100に用いられるメモリの読み出し方法の一例を示す図である。 本技術の第1の実施の形態におけるメモリのアクセス方向と処理方向とフィルタのタップ方向との関係例を示す図である。 本技術の第1の実施の形態におけるリサイズ歪補正部200による画像処理の処理手順の一例を示すフローチャートである。 本技術の第1の実施の形態における撮像装置100の撮像動作に係る遅延を模式的に示す図である。 本技術の第1の実施の形態における撮像装置100の撮像動作に係る遅延を模式的に示す図である。 本技術の第1の実施の形態における撮像装置100の撮像動作に係る遅延を模式的に示す図である。 本技術の第1の実施の形態における垂直歪補正処理に用いられる画像データの取得例を示す図である。 本技術の第1の実施の形態の変形例におけるリサイズ歪補正部800の機能構成例を示すブロック図である。 本技術の第1の実施の形態の変形例におけるリサイズ歪補正部850の機能構成例を示すブロック図である。
以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(画像処理制御:メモリのデータアクセス単位の1以上の整数倍のサイズを書き込みサイズとする画素をメモリに書き込み、その画素を画像処理に用いる例)
2.変形例
<1.第1の実施の形態>
[撮像装置の構成例]
図1は、本技術の第1の実施の形態における撮像装置100の内部構成例を示すブロック図である。
撮像装置100は、バス101と、レンズ110と、撮像素子120と、A/D(Analog/Digital)変換部130と、信号処理部140と、リサイズ歪補正部200と、符号化部150と、記憶部180と、表示部190とを備える。また、撮像装置100は、CPU(Central Processing Unit)160と、操作受付部161と、ROM(Read Only Memory)170と、RAM(Random Access Memory)300とを備える。なお、撮像装置100を構成する各部の間で行われるやりとりは、バス101を介して行われる。また、撮像装置100は、例えば、被写体を撮像して画像データを生成し、これらの画像データについて各種画像処理を行うことが可能なデジタルスチルカメラやデジタルビデオカメラ(例えば、カメラ一体型レコーダ)により実現することができる。なお、撮像装置100は、特許請求の範囲に記載の画像処理制御装置の一例である。
レンズ110は、被写体からの光を集光する複数のレンズ(ズームレンズ、フォーカスレンズ等)から構成され、これらのレンズおよびアイリスを介して入射された被写体からの光が撮像素子120に供給される。
撮像素子120は、レンズ110を介して入射された光(被写体からの入射光)を光電変換することにより画像信号(アナログ信号)を生成するイメージセンサであり、生成された画像信号(アナログ信号)をA/D変換部130に供給する。すなわち、レンズ110を介して入射された被写体の光学像(被写体像)が撮像素子120の撮像面に結像され、この状態で撮像素子120が撮像処理を行うことにより画像信号(アナログ信号)が生成される。なお、撮像素子120として、例えば、CCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサ等を用いることができる。
A/D変換部130は、撮像素子120から供給された画像信号(アナログ信号)について、増幅やノイズ除去等のアナログ信号処理、A/D変換処理等を行うことにより画像信号(デジタル信号)を生成するものである。そして、A/D変換部130は、生成された画像信号(デジタル信号)を画像データとしてRAM300に書き込む。
信号処理部140は、RAM300に書き込まれた画像データ(デジタル信号)を読み出し、この読み出された画像データについて各種のデジタル信号処理を施すものである。そして、信号処理部140は、そのデジタル信号処理が施された画像データをRAM300に書き込む。
リサイズ歪補正部200は、RAM300に書き込まれた画像データ(デジタル信号処理が施された画像データ)を読み出し、この読み出された画像データについてリサイズ処理および歪補正処理を行うものである。ここで、リサイズ処理は、例えば、記憶部180への記録に適した解像度変換とする処理である。また、歪補正処理は、例えば、画像データにおける水平歪および垂直歪を補正する処理である。そして、リサイズ歪補正部200は、そのリサイズおよび歪補正がされた画像データをRAM300に書き込む。
符号化部150は、RAM300に書き込まれた画像データ(リサイズおよび歪補正がされた画像データ)を読み出し、この読み出された画像データについて符号化を行うものである。そして、符号化部150は、その符号化された画像データをRAM300に書き込む。
このように生成された画像データ(符号化された画像データ)が、RAM300から読み出され、この読み出された画像データが画像ファイルとして記憶部180に記録される。記憶部180として、例えば、テープ(例えば、磁気テープ)、光ディスク(例えば、記録可能なDVD(Digital Versatile Disc))を用いることができる。また、記憶部180として、例えば、磁気ディスク(例えば、ハードディスク)、半導体メモリ(例えば、メモリカード)、光磁気ディスク(例えば、MD(MiniDisc))を用いるようにしてもよい。
ROM170は、読み出し専用のメモリであり、各種制御プログラム等を記憶するものである。
RAM300は、CPU160のメインメモリ(主記憶装置)に用いられるメモリであり、CPU160において実行されるプログラムの作業領域等を備え、CPU160が各種の処理を行う上で必要なプログラムやデータが一時的に保持される。また、RAM300は、各種の画像処理のための画像保存領域を備える。
CPU160は、各種制御プログラムに基づいて、撮像装置100の各部を制御するものである。また、CPU160は、操作受付部161により受け付けられた操作入力等に基づいて撮像装置100の各部を制御する。
操作受付部161は、ユーザにより操作された操作入力を受け付ける操作部であり、この受け付けられた操作入力の内容をデジタルデータに変換する。そして、この変換後のデジタルデータがRAM300に書き込まれる。このようにRAM300に書き込まれたデータをCPU160が読み出し、CPU160がユーザの指示に基づいた処理を実行する。
表示部190は、CPU160の制御に基づいて、各種画像を表示するものである。例えば、表示部190は、撮像モードが設定されている場合には、撮像素子120により生成された画像をモニタリング画像(いわゆる、スルー画像)として表示する。表示部190として、例えば、有機EL(Electro Luminescence)、LCD(Liquid Crystal Display)等の表示パネルを用いることができる。また、表示部190として、例えば、使用者がその指を表示面に接触または近接することにより操作入力を行うことが可能なタッチパネルを用いるようにしてもよい。
[リサイズ歪補正部の機能構成例]
図2は、本技術の第1の実施の形態におけるリサイズ歪補正部200の機能構成例を示すブロック図である。
リサイズ歪補正部200は、水平歪補正部210と、ラスターブロック変換部220と、ブロック回転部230と、垂直歪補正部240と、ブロック逆回転部250と、ブロックラスター変換部260とを備える。なお、メモリ310は、図1に示すRAM300に対応する。また、制御部270は、図1に示すCPU160に対応する。
水平歪補正部210は、入力された画像データについて水平歪補正処理を行うものであり、その水平歪補正処理が施された画像データをラスターブロック変換部220に出力する。
ラスターブロック変換部220は、水平歪補正部210から出力された画像データをブロック化するためのラスターブロック変換処理を行うものであり、ブロック化された画像データをブロック回転部230に出力する。ここで、ラスターブロック変換部220は、ブロック回転部230による回転処理後の画像データの横幅(水平方向のサイズ)が、その回転後に書き込むメモリ310のアクセス単位(データアクセス単位)の1以上の整数倍になるようにブロック化を行う。ここで、データアクセス単位は、最もデータ転送効率のよいアクセス時の1回のアドレス発行でのアクセスを意味するものとする。このように、ブロック化を行うことにより、後段のブロック回転部230による回転処理時のメモリ量を削減することができる。なお、ラスターブロック変換については、図3(a)を参照して詳細に説明する。
ブロック回転部230は、ラスターブロック変換部220から出力された画像データ(ブロック化された画像データ)について配置の回転処理を行うものであり、回転処理が施された画像データをラスター状にメモリ310に書き込む。また、ブロック回転部230は、画像データ(ブロック化された画像データ)を構成する画素の要素単位で回転(90度の左回転)を行う。この場合には、ブロック回転部230は、少量の内部メモリ231(図4(a)に示す)にアクセス単位が小さいアクセスを行う。ここで、上述したように、横幅がデータアクセス単位の1以上の整数倍となった画像データ(ブロック化された画像データ)は、ラスター状にメモリ310に書き込まれるため、メモリ310には、データアクセス単位の倍数アクセスにすることができる。なお、ブロック回転については、図4(a)を参照して詳細に説明する。また、ラスターブロック変換部220およびブロック回転部230は、特許請求の範囲に記載の変換部の一例である。また、ブロック回転部230は、特許請求の範囲に記載の書込部の一例である。
メモリ310は、ブロック回転部230により回転された画像データ(ブロック化された画像データ)を保持するメモリであり、保持されている画像データ(ブロック化された画像データ)を垂直歪補正部240に供給する。なお、メモリ310への書き込み方法については、図5(a)、図10等を参照して詳細に説明する。
垂直歪補正部240は、メモリ310に保持されている画像データ(ブロック化された画像データ)について垂直歪補正処理を行うものであり、垂直歪補正処理が施された画像データをブロック逆回転部250に出力する。ここで、垂直歪補正部240は、データアクセス単位の境界から、データアクセス単位の1以上の整数倍のアクセスを行い、一定幅を出力するために必要なデータを含む画像データを、バースト境界からバースト長の倍数で読み出す。なお、垂直歪補正部240は、特許請求の範囲に記載の読出部および画像処理部の一例である。
ここで、メモリ310には、回転された画像データが保持されているため、垂直歪補正部240は、ラスター方向に読み出し開始位置をずらしたり、読み出し長を変化させたりして効率の良いアクセスを行うことができる。また、後段にブロック逆回転部250があるため、垂直歪補正部240は、垂直歪補正処理後の出力データの幅をブロック逆回転前の横幅にする必要がある。なお、メモリ310からの読み出し方法については、図5(b)、図6等を参照して詳細に説明する。
ブロック逆回転部250は、垂直歪補正部240から出力された画像データ(ブロック化された画像データ)について配置の逆回転処理を行うものであり、逆回転された画像データをブロックラスター変換部260に出力する。また、ブロック逆回転部250は、画像データ(ブロック化された画像データ)を構成する画素の要素単位で逆回転(90度の右回転)を行う。この場合には、ブロック逆回転部250は、少量の内部メモリ251(図4(b)に示す)にアクセス単位が小さいアクセスを行う。なお、ブロックのサイズは、前後の処理部のメモリアクセス単位に基づいて、メモリアクセスがアクセス単位の整数倍になるように決定される。
ブロックラスター変換部260は、ブロック逆回転部250から出力された画像データ(ブロック化された画像データ)について、ブロックラスター変換処理を行うものであり、ブロックラスター変換処理が施された画像データをラスター出力する。なお、ブロックラスター変換については、図3(b)を参照して詳細に説明する。なお、ブロック逆回転部250およびブロックラスター変換部260は、特許請求の範囲に記載の第2変換部の一例である。
制御部270は、リサイズ歪補正部200の各部を制御するものである。例えば、制御部270は、画像処理部(垂直歪補正部240)による画像処理の対象となる画像データを構成する画素を分割し、この分割された画素を縦横変換するように制御する。また、制御部270は、メモリ310のデータアクセス単位の1以上の整数倍のサイズで、その変換された画像データをメモリ310に書き込むように制御する。また、制御部270は、画像処理の対象となる画像データを、メモリ310からデータアクセス単位の1以上の整数倍で読み出すように制御する。また、制御部270は、メモリ310のデータアクセス単位の境界から画像処理の対象となる画像データの読み出しを開始するように制御する。この場合に、制御部270は、画像処理に応じて読み出し開始位置と読み出しサイズとを、データアクセス単位の1以上の整数倍のサイズの範囲内で変化させるように制御する。また、制御部270は、メモリ310からデータアクセス単位で読み出されるデータ内に、画像データを構成する垂直方向のラインのうちの1つのラインに含まれる連続する複数の画素の要素のデータが含まれるように、分割および縦横変換を行うように制御する。
なお、後段の処理がブロックの場合には、ブロックラスター変換処理の代わりに、ブロックサイズ変換処理を行うようにしてもよい。この例を図20に示す。また、後段の処理のブロックサイズが同じ場合には、ブロックラスター変換処理やブロックサイズ変換処理を省略することができる。この例を図21に示す。
[ラスターブロック変換例およびブロックラスター変換例]
図3は、本技術の第1の実施の形態におけるラスターブロック変換部220によるラスターブロック変換例およびブロックラスター変換部260によるブロックラスター変換例を示す図である。なお、図3では、一般的なラスターブロック変換およびブロックラスター変換の一例を示す。具体的には、縦(垂直方向)をブロック縦とし、横(水平方向)をラスター幅とする2つのバンクを使用して、ブロックラスター変換、ラスターブロック変換を行う例を示す。ここで、バンクは、メモリを管理する際の管理単位である。
図3(a)には、ラスターブロック変換部220によるラスターブロック変換例を示す。すなわち、図3(a)では、縦をブロック縦とし、横をラスター幅とする2つのバンク401、402を使用して、ラスターブロック変換を行う例を示す。
例えば、バンク401、402には、水平歪補正部210から出力された画像データがラスター状に交互に書き込まれる。例えば、水平歪補正部210から出力された画像データが、バンク401→バンク402→バンク401→バンク402→…の順序で書き込まれる。この場合において、例えば、水平歪補正部210から出力された画像データがバンク401に書き込まれている間、バンク402に書き込まれた画像データが、ブロック化され、このブロック化された画像データがブロック回転部230に出力される。例えば、横幅W1乃至W4により特定される画像データ(ブロック化された画像データ)がブロック回転部230に順次出力される。
図3(b)には、ブロックラスター変換部260によるブロックラスター変換例を示す。すなわち、図3(b)では、縦をブロック縦とし、横をラスター幅とする2つのバンク403、404を使用して、ラスターブロック変換を行う例を示す。
例えば、バンク403、404には、ブロック逆回転部250から出力された画像データ(ブロック化された画像データ)がブロック単位でラスター状に交互に書き込まれる。例えば、横幅W5乃至W8により特定される画像データ(ブロック化された画像データ)がブロック単位でラスター状に書き込まれる。例えば、ブロック逆回転部250から出力された画像データが、バンク403→バンク404→バンク403→バンク404→…の順序で書き込まれる。この場合において、例えば、ブロック逆回転部250から出力された画像データがバンク404に書き込まれている間、バンク403に書き込まれた画像データが順次出力される。
なお、図3では、2バンクを使用してブロックラスター変換、ラスターブロック変換を行う例を示すが、1バンクを使用して行うようにしてもよく、3以上のバンクを使用して行うようにしてもよい。
[ブロック回転例およびブロック逆回転例]
図4は、本技術の第1の実施の形態におけるブロック回転部230によるブロック回転例およびブロック逆回転部250によるブロック逆回転例を示す図である。なお、図4では、上述したように、画像データを構成する画素の要素単位で回転(90度の左回転)および逆回転(90度の右回転)を行う例を示す。
図4(a)には、少量の内部メモリ231を用いたブロック回転部230によるブロック回転例を示す。なお、図4(a)および(b)では、説明の容易のため、比較的少ない数の画素のみを用いて説明する。
ここで、回転対象となる画像データ(ブロック化された画像データ)421の横幅W11は、ラスターブロック変換に用いられるメモリ(バンク401、402)のバースト長の倍数である。また、画像データ421の縦幅H11は、画像データ421の回転後の書き込み先となるメモリ310のバースト長の倍数になるライン数である。
また、回転された画像データ(ブロック化された画像データ)422の横幅W12は、書き込み先となるメモリ310のバースト長の倍数である。
なお、画像データ421、422を構成する各矩形は、画素を示し、各矩形の内部には、各画素を識別するための符号(Y00、Y10等)を付して示す。すなわち、画像データ421、422を構成する各矩形のうち、同一の符号が付されている矩形は、同一の画素を意味する。また、図4(b)に示す画像データ423、424を構成する各矩形についても同様である。
図4(a)に示すように、ブロック回転部230は、少量の内部メモリ231にアクセス単位が小さいアクセスを行うことにより、画像データ421の配置を90度左側に回転させて、画像データ422とする。
図4(b)には、少量の内部メモリ251を用いたブロック逆回転部250によるブロック逆回転例を示す。
ここで、逆回転対象となる画像データ(ブロック化された画像データ)423の横幅W13は、垂直歪補正部240から出力された長さに対応する。また、逆回転された画像データ(ブロック化された画像データ)424の横幅W14は、ブロックラスター変換に用いられるメモリ(バンク403、404)のバースト長の倍数である。
図4(b)に示すように、ブロック回転部230は、少量の内部メモリ251にアクセス単位が小さいアクセスを行うことにより、画像データ423の配置を90度右側に回転させて、画像データ424とする。また、逆回転後の画像データ424に対応するブロックのサイズは、前後の処理のメモリアクセス単位に基づいて、メモリアクセスがアクセス単位の整数倍になるように決定される。
[メモリへの書き込み例およびメモリからの読み出し例]
図5は、本技術の第1の実施の形態におけるメモリ310への書き込み例およびメモリ310からの読み出し例を模式的に示す図である。
図5(a)には、水平歪補正部210により水平歪補正処理が施された画像データ430をメモリ310に書き込む場合における流れを模式的に示す。
最初に、ラスターブロック変換部220が、画像データ430についてラスターブロック変換を行い、画像データ430をブロック化(例えば、ブロック431乃至434)する。なお、ブロック431乃至434は、ブロック化された画像データであり、それぞれを太線の矩形で示す。また、配置の回転が把握し易いように、ブロック431乃至434内には、4つの符号を付して示す。例えば、ブロック431には、符号A乃至Dが付されている。なお、符号A乃至Pが内部に付されている矩形は、ブロック431乃至434の回転が把握し易いように付すものであり、各画素を示すものではない。また、ブロック435乃至438、441乃至444についても同様である。
続いて、ブロック回転部230が、ブロック431乃至434を回転させ、回転後のブロック431乃至434をメモリ310に書き込む。図5(a)では、メモリ310に書き込まれるブロック431乃至434と、メモリ310に書き込まれたブロック435乃至438との関係を太線の矢印で模式的に示す。
図5(b)には、メモリ310に書き込まれたブロック435乃至438を画像データ440とする場合における流れを模式的に示す。
最初に、垂直歪補正部240が、メモリ310に書き込まれたブロック435乃至438について、垂直歪補正処理を行う。そして、ブロック逆回転部250が、垂直歪補正処理が施されたブロック435乃至438を逆回転させる。この逆回転後の各ブロックをブロック441乃至444として示す。
続いて、ブロックラスター変換部260が、ブロック441乃至444についてブロックラスター変換を行い、ブロック441乃至444を画像データ440とする。
このように、ラスターブロック変換部220は、画像処理部(垂直歪補正部240)による画像処理の対象となる画像データを構成する画素をその画像処理(垂直歪補正処理)の処理単位となるブロック単位に分割する。
また、ブロック回転部230は、その分割された画素の要素の配置をブロック単位で縦横変換し、ブロック単位の画素のメモリ310への書き込みサイズをメモリ310のデータアクセス単位の1以上の整数倍のサイズとする。また、ブロック回転部230は、その変換された画像データをブロック単位でメモリ310に書き込み、画像処理(垂直歪補正処理)の対象となる画像データとする。
すなわち、メモリ310からデータアクセス単位で読み出されるデータ内に、画像データを構成する垂直方向のラインのうちの1つのラインに含まれる連続する複数の画素の要素のデータが含まれるように、分割および縦横変換が行われる。
垂直歪補正部240は、メモリ310からの読み出しサイズがデータアクセス単位の1以上の整数倍のサイズとなるように、画像処理(垂直歪補正処理)の対象となる画像データをメモリ310からブロック単位で読み出す。
また、垂直歪補正部240は、画像データにおける水平方向の位置に応じて、画像データにおける垂直方向のずれ量が異なる画像処理を行う。すなわち、垂直歪補正部240は、画像データにおける水平方向の位置に応じて、画像データにおける垂直方向の歪補正処理を行う。なお、他の画像処理部が、画像データにおける水平方向の位置に応じて、画像データにおける垂直方向の拡大縮小率が異なる画像処理を行う場合についても、同様に適用することができる。
また、ブロック逆回転部250およびブロックラスター変換部260は、画像処理部(垂直歪補正部240)により画像処理が施された画像データを、分割および縦横変換を行う前の配置と同一の配置となるように変換する。
[垂直歪補正例]
図6は、本技術の第1の実施の形態における垂直歪補正部240による垂直歪補正の一例を模式的に示す図である。
ここで、図5で示したように、メモリ310には、回転された画像データ(ブロック化された画像データ)が保持されている。また、垂直歪補正部240は、メモリ310に保持されている画像データ(ブロック化されて回転された画像データ)について、ラスター方向に読み出し開始位置をずらしたり、読み出し長を変化させたりすることにより、垂直歪補正を行う。図6では、メモリ310における読み出し開始位置および読み出し終了位置を矢印により模式的に示す。また、メモリ310には、画像データ(ブロック化された画像データ)が保持されているため、ラスター方向に読み出し位置をずらしたり、読み出し長を変化させたりすることができる。このため、効率の良いアクセスを行うことができる。
例えば、図6に示す例では、メモリ310に保持されている画像データ(ブロック化されて回転された画像データ)に含まれる物体451が、直線状の物体となるように、垂直歪補正を行う場合を想定する。この場合には、垂直歪補正部240は、メモリ310に保持されている画像データについて、各矢印で示すように、ラスター方向に読み出し開始位置をずらしたり、読み出し長を変化させたりすることにより、垂直歪補正を行う。そして、垂直歪補正部240は、垂直歪補正後の画像データ(ブロック化された画像データ)455をブロック逆回転部250に出力する。
ここで、メモリ310における読出対象となる画像データは、一定の幅を出力するために必要なデータを含み、バースト境界からバースト長の倍数で読み出される。また、後段でブロック逆回転があるため、画像処理後(垂直歪補正処理後)の出力データの幅は、ブロック逆回転前の横幅とする必要がある。
このように、垂直歪補正部240は、メモリ310のデータアクセス単位の境界から画像処理(垂直歪補正処理)の対象となる画像データの読み出しを開始する。そして、垂直歪補正部240は、その画像処理に応じて、読み出し開始位置と、読み出しサイズとを、データアクセス単位の1以上の整数倍のサイズの範囲内で変化させることができる。
[リングバッファの構成例]
図7は、本技術の第1の実施の形態におけるメモリ310におけるリングバッファの配置構成例を模式的に示す図である。図7(a)には、擬似的にリングバッファに見せる疑似リングバッファの構成例を示す。図7(b)には、リングバッファの構成例を示す。
図7(b)に示すリングバッファは、領域(1−1、1−2等)の左端から右端に順次アクセスし、右端になるとアドレス計算で左端に戻すアドレス計算が必要になる。例えば、1−1、1−2、…、1−6、1−7の次は、1−1をアクセスするようにアドレス計算が行われる。この場合におけるアクセスの順序を太線の矢印で模式的に示す。
同様に、図7(b)に示すリングバッファは、2−1、2−2、…、2−6、2−7の次は、2−1をアクセスするようにアドレス計算が行われる。このように、図7(b)に示すリングバッファでは、横幅が2の整数乗の大きさであれば容易ではあるが、領域のサイズが限定されてしまう。そこで、本技術の第1の実施の形態では、図7(a)に示す疑似リングバッファを用いる。
図7(a)に示す疑似リングバッファは、領域(1−1、1−2等)の左端から右端にアクセスして、右端になると1つ下の左端にアクセスする。この場合に、アドレスを連続にすることは容易であり、アドレス計算では何の対応も必要ない。
例えば、図7(a)に示す疑似リングバッファは、1−1、1−2、…、1−6、1−7の次は、2−1をアクセスするようにアドレス計算が行われる。この場合におけるアクセスの順序を太線の矢印で模式的に示す。同様に、図7(a)に示す疑似リングバッファは、2−1、2−2、…、2−6、2−7の次は、3−1をアクセスするようにアドレス計算が行われる。
このように、図7(a)に示す例では、右端を越える毎に、下側に1ラインずつずれていくため、右端から左端にまたがる回数分だけ下側に余分な領域が必要となる。この回数が少ない場合には、メモリ容量の増加を抑制することができ、アドレス計算も特段の対応を要しない。これにより、メモリ容量を削減することができる。
図8は、本技術の第1の実施の形態におけるメモリ310におけるリングバッファの配置構成例を模式的に示す図である。図8(a)には、メモリ310におけるリングバッファのメモリアドレスの配置構成例を示し、図8(b)には、時間軸におけるリングバッファのメモリアドレスの配置構成例を示す。
図8(b)に示すように、図8(a)に示すメモリ310における右端の領域Cのメモリ310上で連続するメモリアドレスが、領域Cの1ライン下の左端の領域Dになるようにする。
なお、図8では、右端の領域のメモリ上で連続するメモリアドレスが、1ライン下側の左端の領域となる例を示すが、右端の領域のメモリ上で連続するメモリアドレスが、1ライン上側の左端の領域となるように構成するようにしてもよい。ただし、この場合には、上側に余分な領域が必要となる。
このように、メモリ310は、画像データの記憶領域における所定ラインの一端のアドレスと、所定ラインの1つ上または1つ下のラインの他の一端のアドレスとが連続となるように配置されている。また、メモリ310は、所定ラインの一端のアクセスの次にアクセスがある場合には、その所定ラインの1つ上または1つ下のラインの他の一端にアクセスする。
[疑似リングバッファの読み出し例および書き込み例]
図9は、本技術の第1の実施の形態におけるメモリ310の読み出しおよび書き込みの流れの一例を模式的に示す図である。図9では、ライト領域461乃至469と、リード領域471乃至477との遷移を時系列で示す。
最初に、ブロック回転部230により回転された画像データ(ブロック化された画像データ)が書き込まれるライト(Write)領域461がメモリ310における左上端部に設定される。
続いて、ブロック回転部230により回転された画像データ(ブロック化された画像データ)のライト領域461への書き込みが終了した場合には、次のライト領域462が設定される。以降も同様に、ライト領域463、464が設定される。
ここで、ライト領域465がメモリ310における右端部に達した場合には、メモリ310における1ライン下側の左端部の領域が、ライト領域466として設定される。すなわち、このタイミングでは、ライト領域として、メモリ310における両端部の領域がライト領域465および466として設定される。
続いて、ブロック回転部230により回転された画像データ(ブロック化された画像データ)のライト領域465および466への書き込みが終了した場合には、ライト領域466と同じラインの次のライト領域467が設定される。以降も同様に、ライト領域468、469が設定される。
また、ブロック回転部230により回転された画像データ(ブロック化された画像データ)のライト領域461への書き込みが終了した場合には、その画像データを読み出すためのリード領域471が設定される。例えば、ライト領域463の設定時にリード領域471が設定される。以降も同様に、ライト領域464乃至467を追いかけるようにリード領域472乃至474が設定される。
ここで、リード領域475がメモリ310における右端部に達した場合には、ライト領域と同様に、メモリ310における1ライン下側の左端部の領域が、リード領域476として設定される。すなわち、このタイミングでは、リード領域として、メモリ310における両端部の領域がリード領域475および476として設定される。
続いて、垂直歪補正部240によるリード領域475および476からの画像データ(ブロック化された画像データ)の読み出しが終了した場合には、リード領域476と同じラインの次のリード領域477が設定される。以降も同様に、リード領域が設定される。
[画像データの読み出し順序例および書き込み順序例]
図10は、本技術の第1の実施の形態におけるメモリ310への画像データの読み出し順序および書き込み順序の一例も模式的に示すである。
図10(a)には、メモリ310に設定されているライト領域467およびリード領域474を示す。なお、メモリ310と、ライト領域467およびリード領域474との関係は、図9と同様である。
図10(b)には、ライト領域467への書き込み順序と、リード領域474からの読み出し順序とを示す。
ここで、ライト領域467内の矩形は、ブロック回転部230により回転された画像データ(ブロック化された画像データ)を模式的に示し、その矩形内に付された数字は、書き込み順序を示す。すなわち、ブロック回転部230により回転された画像データ(ブロック化された画像データ)は、数字1乃至4の順序でライト領域467に書き込まれる。
また、リード領域474内の矢印は、垂直歪補正部240により読み出される画像データ(ブロック化された画像データ)を模式的に示し、その矢印の上側に付された数字は、読み出し順序を示す。すなわち、垂直歪補正部240、数字1乃至5の順序でリード領域474から読み出される。
[擬似リングバッファの領域のサイズ例]
図11は、本技術の第1の実施の形態における擬似リングバッファの領域のサイズの一例を模式的に示す図である。
図11(a)には、擬似リングバッファの領域500のサイズの一例を模式的に示す。ここで、擬似リングバッファの領域の縦幅(垂直方向のサイズ)をH21とし、その横幅(水平方向のサイズ)をW21とする。
図11(b)には、垂直歪補正の処理対象となる画像(回転された画像)510を模式的に示す。ここで、画像510の縦幅(垂直方向のサイズ)をH25とし、その横幅(水平方向のサイズ)をW25とする。
この場合に、擬似リングバッファの領域500の縦幅の最小値TM1は、次の式1により求めることができる。
TM1=H25+H22 …式1
ここで、H22は、(W25/W21)を整数に切り上げた値から1を減算することにより求めることができる。
また、擬似リングバッファの領域500の横幅W21は、リード(Read)およびライト(Write)がそれぞれ追い越しせずに読み書きができる値とすることができる。なお、リードおよびライトは、同時に行うようにしてもよいし、時分割で行うようにしてもよい。
[使用されるメモリ例]
図12は、本技術の第1の実施の形態における撮像装置100に用いられるメモリの一例(メモリ550)を示す図である。
図12には、データバス幅B1がそもそも1画素の1要素のデータ量よりも大きいメモリ550を示す。すなわち、メモリ550は、データバス幅B1が、1画素の1つの色のビット数(B2で示す)よりも大きいメモリである。例えば、データバス幅B1は、32ビット(bits)であり、1画素の1つの色のビット数(B2で示す)は、8ビット(bits)である。
このデータバス幅B1で1画素の1つの色を読み出すと、余ったビットの分だけ帯域や電力が無駄になる。
図13は、本技術の第1の実施の形態における撮像装置100に用いられるメモリの読み出し方法の一例を示す図である。図13(a)および(b)では、1つのアドレス指定で必要とされるデータを太線の矩形で示す。
図13(a)には、1アクセスについて、複数のサイクルでデータが入出力されるバーストメモリの読み出し方法の一例を示す。このバーストメモリは、バースト長に含まれるデータ量が、1画素の1要素のデータ量よりも大きい。すなわち、1つのアドレス指定により、出力されるデータ量が、1画素の1つの色のビット数よりも大きくなる。このため、この読み出し方法では、1画素の1つの色を読み出すと、不必要なデータを読み出してしまうことになる。
図13(b)には、アドレスの最小発行間隔(最小アドレス発行間隔)によりデータをできるだけ転送する場合において、1アドレスの発行により出力されるデータ量が、1画素の1要素のデータ量よりも大きいバーストメモリの読み出し方法の一例を示す。このように、データバスを最大限使用するアクセスを行う場合でも、1つのアドレス指定により、出力されるデータ量が、1画素の1つの色のビット数よりも大きくなる。このため、この読み出し方法では、1画素の1つの色を読み出すと、不必要なデータを読み出してしまうことになる。
このように、撮像装置100には、画像データの全体等を保存する高密度、広帯域なメモリを用いることができる。このメモリは、図12および図13に示すように、バス幅が広く、バースト長も長いSDR/DDR等の1アクセスで多くのデータが出力されるメモリである。なお、SDRは、SDRAM(Synchronous DRAM(Dynamic Random Access Memory))を意味し、DDRは、DDR−SDRAMを意味する。
なお、本技術の第1の実施の形態では、画像処理部(リサイズ歪補正部200)が、1画素の1要素ずつ処理する場合を想定したが、複数の要素や画素を同時処理したりした場合は、その分だけ制約を緩和することができる。ただし、メモリアクセス単位を跨いだ場合等は緩和することができない。
[メモリのアクセス方向と処理方向とフィルタのタップ方向との関係例]
図14は、本技術の第1の実施の形態におけるメモリのアクセス方向と処理方向とフィルタのタップ方向との関係例を示す図である。なお、図14では、比較例として、図14(b)には、単純に行う場合の関係例を示し、図14(c)には、従来の方法で行う場合の関係例を示す。
ここで、メモリのアクセス方向は、メモリの読み書き方向を意味し、メモリへの書き込み方向を矢印601乃至603で示し、メモリからの読み出し方向を矢印605乃至607で示す。
また、メモリの処理方向は、画像処理(歪補正処理)の方向を意味し、矢印611乃至613で示す。また、メモリのフィルタのタップ方向は、画像処理にフィルタを用いる場合のフィルタのタップをとる方向を意味し、矢印615乃至617で示す。なお、図14(a)乃至(c)の左側には、メモリにおけるフィルタのタップの一例を太線の矩形で模式的に示す。
図14(b)および(c)に示すように、単純に行う場合や、従来の方法で行う場合は、少なくとも1つの方向の向きが異なる。このため、アクセス単位が小さくなったり、転送効率を犠牲にしたりする必要がある。
これに対して、本技術の第1の実施の形態では、図14(a)に示すように、全ての方向を1つの方向とすることができるため、アクセス単位を小さくしたり、転送効率を犠牲にしたりする必要はない。
[撮像装置の動作例]
図15は、本技術の第1の実施の形態におけるリサイズ歪補正部200による画像処理の処理手順の一例を示すフローチャートである。
最初に、水平歪補正部210により水平歪補正がされた画像データが、ラスターブロック変換部220に入力される(ステップS901)。続いて、ラスターブロック変換部220は、ラスターブロック変換に必要なライン数となったか否かを判断し(ステップS902)、ラスターブロック変換に必要なライン数となっていない場合には、ステップS901に戻る。
また、ラスターブロック変換に必要なライン数となった場合には(ステップS902)、ラスターブロック変換部220は、ラスターブロック変換処理を行い、このラスターブロック変換処理によりブロック化された画像データを出力する(ステップS903)。続いて、ブロック回転部230は、そのブロック化された画像データについて、ブロック回転処理を行い(ステップS904)、この回転後のブロックをメモリ310に書き込む(ステップS905)。なお、ステップS901乃至S904は、特許請求の範囲に記載の変換手順の一例である。また、ステップS905は、特許請求の範囲に記載の書込手順の一例である。
続いて、垂直歪補正部240は、垂直歪補正に必要なデータがメモリ310に書き込まれたか否かを判断し(ステップS906)、垂直歪補正に必要なデータがメモリ310に書き込まれていない場合には、ステップS901に戻る。
また、垂直歪補正に必要なデータがメモリ310に書き込まれた場合には(ステップS906)、垂直歪補正部240は、垂直歪補正処理を行う(ステップS907)。続いて、ブロック逆回転部250は、その垂直歪補正された画像データが、ブロック逆回転に必要な量となったか否かを判断し(ステップS908)、その垂直歪補正された画像データがブロック逆回転に必要な量となっていない場合には、ステップS906に戻る。
また、垂直歪補正された画像データが、ブロック逆回転に必要な量となった場合には(ステップS908)、ブロック逆回転部250は、その垂直歪補正された画像データについて、ブロック逆回転処理を行う(ステップS909)。
続いて、ブロックラスター変換部260は、その逆回転された画像データが、ブロックラスター変換に必要な量となったか否かを判断する(ステップS910)。そして、その逆回転された画像データが、ブロックラスター変換に必要な量となっていない場合には、ステップS906に戻る。
また、逆回転された画像データが、ブロックラスター変換に必要な量となった場合には(ステップS910)、ブロックラスター変換部260は、その逆回転された画像データについてブロックラスター変換処理を行う(ステップS911)。そして、ブロックラスター変換部260は、そのブロックラスター変換された画像データをラスター出力する(ステップS911)。
続いて、全ての画素の処理が終了したか否かが判断され(ステップS912)、全ての画素の処理が終了した場合には、画像処理の動作を終了する。一方、全ての画素の処理が終了していない場合には(ステップS912)、ステップS901に戻る。
[遅延の比較例]
図16乃至図18は、本技術の第1の実施の形態における撮像装置100の撮像動作に係る遅延を模式的に示す図である。また、図16乃至図18では、撮像装置100の撮像動作に係る遅延と、他の撮像動作に係る遅延との比較例を示す。
図16(a)には、撮像装置100を用いて動画やスルー画像(電子ズームなし)を表示する場合における表示遅延を模式的に示す。なお、図16(a)の上側には、各処理を時系列で示し、図16(a)の下側には、その際における信号の流れを示す。また、図16(b)、図17の上下の関係についても同様である。
また、図16(b)には、他の装置を用いて動画やスルー画像(電子ズームなし)を表示する場合における表示遅延を模式的に示す。
図16(b)に示すように、露光処理711後に、カメラ処理/水平歪補正処理712および垂直歪補正処理713を順次行う場合には、2V程度の遅延が生じる。すなわち、画像データ(例えば、YC)717、719について、短冊処理やブロック処理により垂直歪補正処理718が行われるため、メモリ(例えば、DRAM)へのアクセス効率が悪くなる。なお、短冊処理やブロック処理に用いられる短冊やブロックの取得例については、図19に示す。
これに対して、本技術の第1の実施の形態では、図16(a)に示すように、露光処理701後に、カメラ処理/水平垂直歪補正処理702を行う。すなわち、水平歪補正処理および垂直歪補正処理を同時に行うことができる。また、表示の際には、前段の処理がラスター出力であるため、追いかけ読み出しをすることができる。このため、0.5V遅延程度以下に、表示遅延を削減することができる。
図17(a)には、撮像装置100を用いて動画やスルー画像(電子ズームあり)を表示する場合における表示遅延を模式的に示す。また、図17(b)には、他の装置を用いて動画やスルー画像(電子ズームあり)を表示する場合における表示遅延を模式的に示す。
図17(b)に示すように、露光処理751後に、カメラ処理/水平歪補正処理/水平リサイズ処理752および垂直歪補正処理/垂直リサイズ処理753を順次行う場合には、2V程度の遅延が生じる。また、画像データ(例えば、YC)757、759について、短冊処理やブロック処理により垂直歪補正処理/垂直リサイズ処理758が行われるため、図16(b)に示す例と同様に、メモリ(例えば、DRAM)へのアクセス効率が悪くなる。
これに対して、本技術の第1の実施の形態では、図17(a)に示すように、露光処理731後に、カメラ処理/水平垂直歪補正処理732を行う。すなわち、水平歪補正処理および垂直歪補正処理を同時に行うことができる。また、表示の際には、前段の処理がラスター出力であるため、追いかけ読み出しをすることができる。ただし、電子ズームが行われる場合には、リサイズ処理733で1.0V遅延の遅延が必要である。このため、1.5V遅延程度以下に、表示遅延を削減することができる。
図18(a)には、撮像装置100を用いて静止画の記録処理を行う場合における遅延を模式的に示す。また、図18(b)には、他の装置を用いて静止画の記録処理を行う場合における遅延を模式的に示す。
図18(b)に示すように、RAWデータ781について、カメラ処理782および水平歪補正処理783を順次行うことにより、画像データ(例えば、YC)784、785が生成される。この画像データ(例えば、YC)784、785について、細い短冊による短冊処理により垂直歪補正処理786を行うため、メモリ(例えば、DRAM)へのアクセス効率が悪くなる。
これに対して、本技術の第1の実施の形態では、図18(a)に示すように、RAWデータ771について、カメラ処理772と、水平歪補正処理773と、垂直歪補正処理774とを順次行うことにより、画像データ(例えば、JPEG)775が生成される。この画像データ(例えば、JPEG)775は、広い短冊による短冊処理により垂直歪補正処理774が行われるため、メモリ(例えば、DRAM)へのアクセス効率がよい。
[短冊やブロックの取得例]
図19は、本技術の第1の実施の形態における垂直歪補正処理に用いられる画像データの取得例を示す図である。ここで、垂直歪補正処理には、横幅が狭い方が都合がよいため、ブロックや縦方向に長い短冊が使用される。また、図19(a)乃至(c)では、取得対象となる1つの領域を点線の矩形で囲んで示す。
図19(a)には、縦方向に長い短冊例(左側)と、重複部分を有する縦方向に長い短冊例(右側)を示す。
図19(b)には、横方向に長い短冊例(左側)と、重複部分を有する横方向に長い短冊例(右側)を示す。
図19(c)には、ブロック例(左側)と、重複部分を有するブロック例(右側)を示す。
<2.変形例>
本技術の第1の実施の形態では、ブロック逆回転処理がされた画像データ(ブロック化された画像データ)についてブロックラスター変換処理を行う例を示した。ただし、上述したように、後段の処理がブロックの場合には、ブロックラスター変換処理を省略することができる。そこで、この変形例では、後段の処理がブロックの場合における撮像装置の例を示す。なお、この変形例における撮像装置の構成については、図1に示す例と略同様である。このため、本技術の第1の実施の形態と共通する部分については、その説明の一部を省略する。
[リサイズ歪補正部の機能構成例]
図20は、本技術の第1の実施の形態の変形例におけるリサイズ歪補正部800の機能構成例を示すブロック図である。なお、リサイズ歪補正部800は、図2に示すリサイズ歪補正部200の一部を変形したものである。このため、リサイズ歪補正部200と共通する部分については、その説明の一部を省略する。また、制御部270の図示を省略するが、リサイズ歪補正部800の各部は、制御部270により制御される。また、リサイズ歪補正部800は、後段の処理がブロックであるが、そのブロックのサイズが異なる場合の例である。
リサイズ歪補正部800は、ブロックサイズ変換部810を備える。すなわち、リサイズ歪補正部800は、ブロックラスター変換部260の代わりに、ブロックサイズ変換部810を設けたものである。
ブロックサイズ変換部810は、ブロック逆回転部250から出力された画像データ(ブロック化された画像データ)について、ブロックサイズ変換処理を行うものであり、ブロックサイズが変換された画像データを出力する。すなわち、後段の処理に用いられるブロックサイズに変換される。
[リサイズ歪補正部の機能構成例]
図21は、本技術の第1の実施の形態の変形例におけるリサイズ歪補正部850の機能構成例を示すブロック図である。なお、リサイズ歪補正部850は、図2に示すリサイズ歪補正部200の一部(ブロックラスター変換部260)を省略したものである。このため、リサイズ歪補正部200と共通する部分については、その説明の一部を省略する。また、制御部270の図示を省略するが、リサイズ歪補正部850の各部は、制御部270により制御される。また、リサイズ歪補正部850は、後段の処理がブロックであり、そのブロックのサイズが同一である場合の例である。
すなわち、リサイズ歪補正部850は、ブロック逆回転部250から出力された画像データ(ブロック化された画像データ)を出力データとする。
このように、後段の処理のブロックサイズが同じ場合には、ブロックラスター変換処理やブロックサイズ変換処理を省略することができる。
ここで、上述したように、画像データを回転させて画像処理を行うことは可能であった。ただし、その画像処理に使用されるメモリは、小さい単位(例えば、1画素単位)でアクセスを行うメモリである。すなわち、その画像処理に使用されるメモリは、画像データ全体を保存するメモリとして通常使用されるメモリ(例えば、アクセス単位が大きく、大容量かつ広帯域のメモリ)ではない。このため、その画像処理を行う場合には、メモリのコストが増加することが想定される。
ここで、一般に行われている水平垂直歪補正について説明する。例えば、画像データにおける中心から垂直方向や水平方向にずれるに従って、その領域を拡大することにより、歪みを補正して適切な画像データを得ることができる。
ここで、水平方向について歪補正を行う場合には、ライン単位での処理であるため、メモリからライン単位で読み出して水平方向の歪補正処理を行い、ライン単位で書き込むことにより処理を行うことができる。
しかしながら、水平方向について歪補正を行う場合には、その垂直補正処理は垂直方向の処理となるため、ライン単位で入力した画像データをそのまま処理することはできない。そこで、画像データを回転させることにより、垂直補正を行うことができる。例えば、ラスターの画像データを垂直方向に第1メモリに書き込み、この第1メモリに書き込まれた画像データについて垂直画像処理により水平方向に読み出し、この処理後に水平方向に第2メモリに書き込む。続いて、第2メモリに書き込まれた画像データを垂直方向に読み出し、ラスターの画像データとする。
しかしながら、このように画像処理を行う場合には、画像データを書き込むメモリは、垂直方向および水平方向の両方に対応する必要があるため、アクセス単位の小さいメモリが必要となる。また、画像データ全体が書き込まれるため、画像データ全体を書き込むことが可能な領域を備える比較的大きい容量のメモリが必要となる。しかしながら、容量が大きくアクセス単位の小さいメモリは、一般的ではない。すなわち、このように画像処理を行う場合には、使用されるメモリが制限されることになる。
例えば、一般的なメモリは、ある一定の長さ単位でアクセスすることが通常である。このため、このように画像処理を行う場合には、水平方向のアクセスは問題ないが、垂直方向のアクセスでは、所定倍(一定の長さ単位により特定される倍数)の画像データのアクセスが必要となり、帯域や電力が増加してしまう。
そこで、本技術の実施の形態では、画像処理(垂直歪補正処理)前の配置の回転をブロック単位で行い、メモリアクセス単位内に画像処理で使用する複数の画素のデータを含ませる。これにより、読み書きともにアクセス単位を大きくすることができる。また、その後の画像処理でもアクセス単位の境界から、アクセス単位の1以上の整数倍の長さでアクセスを行うことができる。すなわち、画像処理の効率を向上させることができ、メモリを削減することができる。また、表示遅延を改善することができる。
さらに、画像を保存するメモリとして通常使用されるメモリ(例えば、アクセス単位が大きく、大容量かつ広帯域のメモリ)を利用することができ、メモリコスト削減を図ることができる。また、使用するメモリの転送効率を高くすることができ、他のメモリアクセスする画像処理部と同じメモリを容易に利用することができるため、メモリ数の削減も可能となる。また、アクセス単位の小さなメモリは、回転に必要な容量だけであるため、小容量で可能である。すなわち、メモリコストの増加を抑制して適切な画像処理を行うことができる。
また、水平位置により垂直方向の位置や拡大縮小率が異なる画像処理(例えば、歪補正)において、事前に前処理を行い、アクセス単位の大きなメモリを利用することができるため、低コスト化を図ることができる。
なお、本技術の実施の形態における画像処理については、YC色空間により画像処理を行うようにしてもよく、撮像素子120から読み出されたRAWデータ(原色RGBや補色YMC等)等のように別の色空間で行うようにしてもよい。また、本技術の実施の形態では、垂直方向の画像処理の一例として垂直方向の歪補正を例にして説明したが、補正ではなく意図的に行う変形処理等を行う場合についても本技術の実施の形態を適用することができる。
また、本技術の実施の形態では、画像処理制御装置の一例として撮像装置100について説明したが、画像データの撮像動作や加工等の各種画像処理を行う他の画像処理制御装置についても本技術の実施の形態を適用することができる。例えば、パーソナルコンピュータ、画像記録装置、画像加工装置、画像再生装置、携帯端末、PDA(Personal Digital Assistants)、ゲーム機等の画像処理制御装置に適用することができる。
また、本技術の実施の形態では、各画像処理を撮像装置100内において行う例を示したが、その処理の一部を他の装置において行う場合についても本技術の実施の形態を適用することができる。例えば、その処理の一部を、撮像装置100との間で通信が可能な撮像装置100の筐体外の装置(例えば、サーバ、パーソナルコンピュータ)で行う場合についても本技術の実施の形態を適用することができる。この場合には、撮像装置100およびその筐体外の装置により構成される画像処理システムにより、本技術の実施の形態を実現することができる。
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disk)、メモリカード、ブルーレイディスク(Blu-ray Disc(登録商標))等を用いることができる。
なお、本技術は以下のような構成もとることができる。
(1) 画像処理部による画像処理の対象となる画像データを構成する画素を分割して前記分割された画素を縦横変換し、メモリのデータアクセス単位の1以上の整数倍のサイズで前記変換された画像データを前記メモリに書き込むように制御する制御部を具備する画像処理制御装置。
(2) 前記制御部は、前記画像処理の対象となる画像データを、前記メモリから前記データアクセス単位の1以上の整数倍で読み出すように制御する前記(1)に記載の画像処理制御装置。
(3) 前記制御部は、前記メモリの前記データアクセス単位の境界から前記画像処理の対象となる画像データの読み出しを開始し、前記画像処理に応じて前記読み出し開始位置と前記読み出しサイズとを前記データアクセス単位の1以上の整数倍のサイズの範囲内で変化させるように制御する前記(2)に記載の画像処理制御装置。
(4) 前記制御部は、前記メモリから前記データアクセス単位で読み出されるデータ内に、前記画像データを構成する垂直方向のラインのうちの1つのラインに含まれる連続する複数の画素の要素のデータが含まれるように、前記分割および前記縦横変換を行うように制御する前記(1)から(3)のいずれかに記載の画像処理制御装置。
(5) 前記画像処理の対象となる画像データを、前記メモリから前記データアクセス単位の1以上の整数倍で読み出す読出部をさらに具備する前記(1)から(4)のいずれかに記載の画像処理制御装置。
(6) 前記分割および前記縦横変換を行い、前記変換された画像データの前記メモリへの書き込みサイズを前記メモリのデータアクセス単位の1以上の整数倍のサイズとする変換部と、
前記変換された画像データを前記メモリに書き込み、前記画像処理の対象となる画像データとする書込部と
をさらに具備する前記(1)から(5)のいずれかに記載の画像処理制御装置。
(7) 前記変換部は、前記画像データをラスターブロック変換することにより前記画像データを分割し、前記分割された画素の要素の配置を特定方向に90度回転させることにより前記縦横変換を行う前記(6)に記載の画像処理制御装置。
(8) 前記画像処理部は、前記画像データにおける水平方向の位置に応じて前記画像データにおける垂直方向のずれ量または拡大縮小率のうちの少なくとも何れかが異なる画像処理を行う前記(1)から(9)のいずれかに記載の画像処理制御装置。
(9) 前記画像処理部により前記画像処理が施された画像データを、前記分割および前記縦横変換を行う前の配置と同一の配置となるように変換する第2変換部をさらに具備する前記(1)から(8)のいずれかに記載の画像処理制御装置。
(10) 前記第2変換部は、前記画像処理部により前記画像処理が施された画像データを構成する画素の要素の配置を特定方向とは逆方向に90度回転させ、前記逆方向に90度回転された画像データをブロックラスター変換することにより前記同一の配置となるための変換を行う前記(9)に記載の画像処理制御装置。
(11) 前記メモリは、前記画像データの記憶領域における所定ラインの一端のアドレスと、前記所定ラインの1つ上または1つ下のラインの他の一端のアドレスとが連続となるように配置されており、前記所定ラインの一端のアクセスの次にアクセスがある場合には、前記所定ラインの1つ上または1つ下のラインの前記他の一端にアクセスする前記(1)から(10)のいずれかに記載の画像処理制御装置。
(12) 画像処理部による画像処理の対象となる画像データを構成する画素を分割して前記分割された画素を縦横変換する変換手順と、
メモリのデータアクセス単位の1以上の整数倍のサイズで前記変換された画像データを前記メモリに書き込む書込手順と
を具備する画像処理制御方法。
(13) 画像処理部による画像処理の対象となる画像データを構成する画素を分割して前記分割された画素を縦横変換する変換手順と、
メモリのデータアクセス単位の1以上の整数倍のサイズで前記変換された画像データを前記メモリに書き込む書込手順と
をコンピュータに実行させるプログラム。
100 撮像装置
101 バス
110 レンズ
120 撮像素子
130 A/D変換部
140 信号処理部
150 符号化部
160 CPU
161 操作受付部
170 ROM
180 記憶部
190 表示部
200、800、850 リサイズ歪補正部
210 水平歪補正部
220 ラスターブロック変換部
230 ブロック回転部
231 内部メモリ
240 垂直歪補正部
250 ブロック逆回転部
251 内部メモリ
260 ブロックラスター変換部
270 制御部
300 RAM
310、550 メモリ
401〜404 バンク
810 ブロックサイズ変換部

Claims (13)

  1. 画像処理部による画像処理の対象となる画像データを構成する画素を分割して前記分割された画素を縦横変換し、メモリのデータアクセス単位の1以上の整数倍のサイズで前記変換された画像データを前記メモリに書き込むように制御する制御部を具備する画像処理制御装置。
  2. 前記制御部は、前記画像処理の対象となる画像データを、前記メモリから前記データアクセス単位の1以上の整数倍で読み出すように制御する請求項1記載の画像処理制御装置。
  3. 前記制御部は、前記メモリの前記データアクセス単位の境界から前記画像処理の対象となる画像データの読み出しを開始し、前記画像処理に応じて前記読み出し開始位置と前記読み出しサイズとを前記データアクセス単位の1以上の整数倍のサイズの範囲内で変化させるように制御する請求項2記載の画像処理制御装置。
  4. 前記制御部は、前記メモリから前記データアクセス単位で読み出されるデータ内に、前記画像データを構成する垂直方向のラインのうちの1つのラインに含まれる連続する複数の画素の要素のデータが含まれるように、前記分割および前記縦横変換を行うように制御する請求項1記載の画像処理制御装置。
  5. 前記画像処理の対象となる画像データを、前記メモリから前記データアクセス単位の1以上の整数倍で読み出す読出部をさらに具備する請求項1記載の画像処理制御装置。
  6. 前記分割および前記縦横変換を行い、前記変換された画像データの前記メモリへの書き込みサイズを前記メモリのデータアクセス単位の1以上の整数倍のサイズとする変換部と、
    前記変換された画像データを前記メモリに書き込み、前記画像処理の対象となる画像データとする書込部と
    をさらに具備する請求項1記載の画像処理制御装置。
  7. 前記変換部は、前記画像データをラスターブロック変換することにより前記画像データを分割し、前記分割された画素の要素の配置を特定方向に90度回転させることにより前記縦横変換を行う請求項6記載の画像処理制御装置。
  8. 前記画像処理部は、前記画像データにおける水平方向の位置に応じて前記画像データにおける垂直方向のずれ量または拡大縮小率のうちの少なくとも何れかが異なる画像処理を行う請求項1記載の画像処理制御装置。
  9. 前記画像処理部により前記画像処理が施された画像データを、前記分割および前記縦横変換を行う前の配置と同一の配置となるように変換する第2変換部をさらに具備する請求項1記載の画像処理制御装置。
  10. 前記第2変換部は、前記画像処理部により前記画像処理が施された画像データを構成する画素の要素の配置を特定方向とは逆方向に90度回転させ、前記逆方向に90度回転された画像データをブロックラスター変換することにより前記同一の配置となるための変換を行う請求項9記載の画像処理制御装置。
  11. 前記メモリは、前記画像データの記憶領域における所定ラインの一端のアドレスと、前記所定ラインの1つ上または1つ下のラインの他の一端のアドレスとが連続となるように配置されており、前記所定ラインの一端のアクセスの次にアクセスがある場合には、前記所定ラインの1つ上または1つ下のラインの前記他の一端にアクセスする請求項1記載の画像処理制御装置。
  12. 画像処理部による画像処理の対象となる画像データを構成する画素を分割して前記分割された画素を縦横変換する変換手順と、
    メモリのデータアクセス単位の1以上の整数倍のサイズで前記変換された画像データを前記メモリに書き込む書込手順と
    を具備する画像処理制御方法。
  13. 画像処理部による画像処理の対象となる画像データを構成する画素を分割して前記分割された画素を縦横変換する変換手順と、
    メモリのデータアクセス単位の1以上の整数倍のサイズで前記変換された画像データを前記メモリに書き込む書込手順と
    をコンピュータに実行させるプログラム。
JP2012061385A 2012-03-19 2012-03-19 画像処理制御装置、画像処理制御方法およびプログラム Pending JP2013196236A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012061385A JP2013196236A (ja) 2012-03-19 2012-03-19 画像処理制御装置、画像処理制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012061385A JP2013196236A (ja) 2012-03-19 2012-03-19 画像処理制御装置、画像処理制御方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2013196236A true JP2013196236A (ja) 2013-09-30

Family

ID=49395140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012061385A Pending JP2013196236A (ja) 2012-03-19 2012-03-19 画像処理制御装置、画像処理制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2013196236A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016040902A (ja) * 2014-08-11 2016-03-24 セイコーエプソン株式会社 撮像表示装置及びその制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016040902A (ja) * 2014-08-11 2016-03-24 セイコーエプソン株式会社 撮像表示装置及びその制御方法

Similar Documents

Publication Publication Date Title
JP4781229B2 (ja) 歪曲収差補正装置、撮像装置、及び歪曲収差補正装置の制御方法
US8861846B2 (en) Image processing apparatus, image processing method, and program for performing superimposition on raw image or full color image
JP5137374B2 (ja) メモリマッピング方法及び装置
JP4337463B2 (ja) 画像処理装置、画像処理システム、撮像装置および画像処理方法
US9313358B2 (en) Image processing apparatus
US9591170B2 (en) Image processing apparatus, and control method and program of image processing apparatus
JP5154361B2 (ja) 撮像装置及び撮像装置の制御方法
US20130265461A1 (en) Image processing apparatus, image capturing apparatus, and image processing method
JP2015219592A (ja) 画像処理装置、撮像装置、及び画像処理方法
JP2010081024A (ja) 画像補間処理装置
JP2013196236A (ja) 画像処理制御装置、画像処理制御方法およびプログラム
JP2009027422A (ja) 電子ズーム装置
JP5865696B2 (ja) 画像処理装置
JP2016095667A (ja) 画像処理装置および電子機器
KR101608347B1 (ko) 디지털 영상 신호 처리 장치 및 방법
JP6210742B2 (ja) データ処理装置およびデータ転送制御装置
JP4803224B2 (ja) 画像処理装置、画像処理システム、撮像装置および画像処理方法
US20190156463A1 (en) Image processing apparatus, image processing method, and program
JP4014486B2 (ja) 画像処理方法及び画像処理装置
JP2013126101A (ja) 撮像装置および撮像方法
JP2014093656A (ja) 信号処理回路、撮像装置及びプログラム
JP2006148821A (ja) ヒストグラム表示装置
KR101586844B1 (ko) 영상 처리 장치 및 방법
JP2022011993A (ja) 回路再構成装置、制御方法、及びプログラム
WO2009150795A1 (ja) 画像再生装置