(57)【要約】【課題】メモリコストの増加を抑制して適切な画像処理を行う。【解決手段】画像処理制御装置は、制御部を具備するものである。ここで、制御部は、画像処理部による画像処理の対象となる画像データを構成する画素を分割して、この分割された画素を縦横変換するように制御するものである。また、制御部は、メモリのデータアクセス単位の１以上の整数倍のサイズで、その変換された画像データをメモリに書き込むように制御するものである。【選択図】図２
2013196236.tif 000002
【特許請求の範囲】
【請求項１】
画像処理部による画像処理の対象となる画像データを構成する画素を分割して前記分割された画素を縦横変換し、メモリのデータアクセス単位の１以上の整数倍のサイズで前記変換された画像データを前記メモリに書き込むように制御する制御部を具備する画像処理制御装置。
【請求項２】
前記制御部は、前記画像処理の対象となる画像データを、前記メモリから前記データアクセス単位の１以上の整数倍で読み出すように制御する請求項１記載の画像処理制御装置。
【請求項３】
前記制御部は、前記メモリの前記データアクセス単位の境界から前記画像処理の対象となる画像データの読み出しを開始し、前記画像処理に応じて前記読み出し開始位置と前記読み出しサイズとを前記データアクセス単位の１以上の整数倍のサイズの範囲内で変化させるように制御する請求項２記載の画像処理制御装置。
【請求項４】
前記制御部は、前記メモリから前記データアクセス単位で読み出されるデータ内に、前記画像データを構成する垂直方向のラインのうちの１つのラインに含まれる連続する複数の画素の要素のデータが含まれるように、前記分割および前記縦横変換を行うように制御する請求項１記載の画像処理制御装置。
【請求項５】
前記画像処理の対象となる画像データを、前記メモリから前記データアクセス単位の１以上の整数倍で読み出す読出部をさらに具備する請求項１記載の画像処理制御装置。
【請求項６】
前記分割および前記縦横変換を行い、前記変換された画像データの前記メモリへの書き込みサイズを前記メモリのデータアクセス単位の１以上の整数倍のサイズとする変換部と、
前記変換された画像データを前記メモリに書き込み、前記画像処理の対象となる画像データとする書込部と
をさらに具備する請求項１記載の画像処理制御装置。
【請求項７】
前記変換部は、前記画像データをラスターブロック変換することにより前記画像データを分割し、前記分割された画素の要素の配置を特定方向に９０度回転させることにより前記縦横変換を行う請求項６記載の画像処理制御装置。
【請求項８】
前記画像処理部は、前記画像データにおける水平方向の位置に応じて前記画像データにおける垂直方向のずれ量または拡大縮小率のうちの少なくとも何れかが異なる画像処理を行う請求項１記載の画像処理制御装置。
【請求項９】
前記画像処理部により前記画像処理が施された画像データを、前記分割および前記縦横変換を行う前の配置と同一の配置となるように変換する第２変換部をさらに具備する請求項１記載の画像処理制御装置。
【請求項１０】
前記第２変換部は、前記画像処理部により前記画像処理が施された画像データを構成する画素の要素の配置を特定方向とは逆方向に９０度回転させ、前記逆方向に９０度回転された画像データをブロックラスター変換することにより前記同一の配置となるための変換を行う請求項９記載の画像処理制御装置。
【請求項１１】
前記メモリは、前記画像データの記憶領域における所定ラインの一端のアドレスと、前記所定ラインの１つ上または１つ下のラインの他の一端のアドレスとが連続となるように配置されており、前記所定ラインの一端のアクセスの次にアクセスがある場合には、前記所定ラインの１つ上または１つ下のラインの前記他の一端にアクセスする請求項１記載の画像処理制御装置。
【請求項１２】
画像処理部による画像処理の対象となる画像データを構成する画素を分割して前記分割された画素を縦横変換する変換手順と、
メモリのデータアクセス単位の１以上の整数倍のサイズで前記変換された画像データを前記メモリに書き込む書込手順と
を具備する画像処理制御方法。
【請求項１３】
画像処理部による画像処理の対象となる画像データを構成する画素を分割して前記分割された画素を縦横変換する変換手順と、
メモリのデータアクセス単位の１以上の整数倍のサイズで前記変換された画像データを前記メモリに書き込む書込手順と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、画像処理制御装置に関する。詳しくは、画像データについて画像処理を行う画像処理制御装置および画像処理制御方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
従来、デジタルスチルカメラやデジタルビデオカメラ（例えば、カメラ一体型レコーダ）等の撮像装置により生成された画像データを扱う画像処理制御装置が広く普及している。例えば、画像に生じる歪みを補正する画像処理制御装置が存在する。
【０００３】
例えば、画像データを左周りに９０度回転させ、その回転された画像データに対して補正処理を実行し、その補正処理が実行された画像データを右周りに９０度回転させる画像処理装置が提案されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１１４２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の従来技術によれば、左周りに９０度回転させた画像データに対して補正処理を実行することにより、画像に生じる歪みを補正することができる。
【０００６】
ここで、上述の補正を行う場合には、画像データの垂直方向および水平方向の両方に対応する必要があるため、アクセス単位の小さいメモリが必要となる。また、その領域は、画像データ全体となるため、比較的大きい容量のメモリが必要となる。しかしながら、一般的なメモリは、ある一定の長さ単位でアクセスすることが通常である。このため、例えば、容量が大きくアクセス単位の小さいメモリを画像処理に用いる場合には、その画像処理にかかるメモリのコストが増加することが想定される。
【０００７】
本技術はこのような状況に鑑みて生み出されたものであり、メモリコストの増加を抑制して適切な画像処理を行うことを目的とする。
【課題を解決するための手段】
【０００８】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、画像処理部による画像処理の対象となる画像データを構成する画素を分割して上記分割された画素を縦横変換し、メモリのデータアクセス単位の１以上の整数倍のサイズで上記変換された画像データを上記メモリに書き込むように制御する制御部を具備する画像処理制御装置およびその画像処理制御方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、画像処理部による画像処理の対象となる画像データを構成する画素を分割して、この分割された画素を縦横変換し、メモリのデータアクセス単位の１以上の整数倍のサイズで、その変換された画像データをメモリに書き込むという作用をもたらす。
【０００９】
また、この第１の側面において、上記制御部は、上記画像処理の対象となる画像データを、上記メモリから上記データアクセス単位の１以上の整数倍で読み出すように制御するようにしてもよい。これにより、画像処理の対象となる画像データを、メモリからデータアクセス単位の１以上の整数倍で読み出すという作用をもたらす。
【００１０】
また、この第１の側面において、上記制御部は、上記メモリの上記データアクセス単位の境界から上記画像処理の対象となる画像データの読み出しを開始し、上記画像処理に応じて上記読み出し開始位置と上記読み出しサイズとを上記データアクセス単位の１以上の整数倍のサイズの範囲内で変化させるように制御するようにしてもよい。これにより、メモリのデータアクセス単位の境界から、画像処理の対象となる画像データの読み出しを開始し、その画像処理に応じて読み出し開始位置と読み出しサイズとを、データアクセス単位の１以上の整数倍のサイズの範囲内で変化させるという作用をもたらす。
【００１１】
また、この第１の側面において、上記制御部は、上記メモリから上記データアクセス単位で読み出されるデータ内に、上記画像データを構成する垂直方向のラインのうちの１つのラインに含まれる連続する複数の画素の要素のデータが含まれるように、上記分割および上記縦横変換を行うように制御するようにしてもよい。これにより、メモリからデータアクセス単位で読み出されるデータ内に、画像データを構成する垂直方向のラインのうちの１つのラインに含まれる連続する複数の画素の要素のデータが含まれるように、分割および縦横変換を行うという作用をもたらす。
【００１２】
また、この第１の側面において、上記画像処理の対象となる画像データを、上記メモリから上記データアクセス単位の１以上の整数倍で読み出す読出部をさらに具備するようにしてもよい。これにより、画像処理の対象となる画像データを、メモリからデータアクセス単位の１以上の整数倍で読み出すという作用をもたらす。
【００１３】
また、この第１の側面において、上記分割および上記縦横変換を行い、上記変換された画像データの上記メモリへの書き込みサイズを上記メモリのデータアクセス単位の１以上の整数倍のサイズとする変換部と、上記変換された画像データを上記メモリに書き込み、上記画像処理の対象となる画像データとする書込部とをさらに具備するようにしてもよい。これにより、分割および縦横変換を行い、この変換された画像データのメモリへの書き込みサイズをメモリのデータアクセス単位の１以上の整数倍のサイズとし、その変換された画像データをメモリに書き込み、画像処理の対象となる画像データとするという作用をもたらす。
【００１４】
また、この第１の側面において、上記変換部は、上記画像データをラスターブロック変換することにより上記画像データを分割し、上記分割された画素の要素の配置を特定方向に９０度回転させることにより上記縦横変換を行うようにしてもよい。これにより、ラスターブロック変換することにより画像データを分割し、この分割された画素の要素の配置を特定方向に９０度回転させることにより縦横変換を行うという作用をもたらす。
【００１５】
また、この第１の側面において、上記画像処理部は、上記画像データにおける水平方向の位置に応じて上記画像データにおける垂直方向のずれ量または拡大縮小率のうちの少なくとも何れかが異なる画像処理を行うようにしてもよい。これにより、画像データにおける水平方向の位置に応じて、画像データにおける垂直方向のずれ量または拡大縮小率のうちの少なくとも何れかが異なる画像処理を行うという作用をもたらす。
【００１６】
また、この第１の側面において、上記画像処理部により上記画像処理が施された画像データを、上記分割および上記縦横変換を行う前の配置と同一の配置となるように変換する第２変換部をさらに具備するようにしてもよい。これにより、画像処理部により画像処理が施された画像データを、分割および縦横変換を行う前の配置と同一の配置となるように変換するという作用をもたらす。
【００１７】
また、この第１の側面において、上記第２変換部は、上記画像処理部により上記画像処理が施された画像データを構成する画素の要素の配置を特定方向とは逆方向に９０度回転させ、上記逆方向に９０度回転された画像データをブロックラスター変換することにより上記同一の配置となるための変換を行うようにしてもよい。これにより、画像処理部により画像処理が施された画像データを構成する画素の要素の配置を特定方向とは逆方向に９０度回転させ、この逆方向に９０度回転された画像データをブロックラスター変換することにより同一の配置となるための変換を行うという作用をもたらす。
【００１８】
また、この第１の側面において、上記メモリは、上記画像データの記憶領域における所定ラインの一端のアドレスと、上記所定ラインの１つ上または１つ下のラインの他の一端のアドレスとが連続となるように配置されており、上記所定ラインの一端のアクセスの次にアクセスがある場合には、上記所定ラインの１つ上または１つ下のラインの上記他の一端にアクセスするようにしてもよい。これにより、所定ラインの一端のアクセスの次にアクセスがある場合には、所定ラインの１つ上または１つ下のラインの他の一端にアクセスするという作用をもたらす。
【発明の効果】
【００１９】
本技術によれば、メモリコストの増加を抑制して適切な画像処理を行うことができるという優れた効果を奏し得る。
【図面の簡単な説明】
【００２０】
【図１】本技術の第１の実施の形態における撮像装置１００の内部構成例を示すブロック図である。
【図２】本技術の第１の実施の形態におけるリサイズ歪補正部２００の機能構成例を示すブロック図である。
【図３】本技術の第１の実施の形態におけるラスターブロック変換部２２０によるラスターブロック変換例およびブロックラスター変換部２６０によるブロックラスター変換例を示す図である。
【図４】本技術の第１の実施の形態におけるブロック回転部２３０によるブロック回転例およびブロック逆回転部２５０によるブロック逆回転例を示す図である。
【図５】本技術の第１の実施の形態におけるメモリ３１０への書き込み例およびメモリ３１０からの読み出し例を模式的に示す図である。
【図６】本技術の第１の実施の形態における垂直歪補正部２４０による垂直歪補正の一例を模式的に示す図である。
【図７】本技術の第１の実施の形態におけるメモリ３１０におけるリングバッファの配置構成例を模式的に示す図である。
【図８】本技術の第１の実施の形態におけるメモリ３１０におけるリングバッファの配置構成例を模式的に示す図である。
【図９】本技術の第１の実施の形態におけるメモリ３１０の読み出しおよび書き込みの流れの一例を模式的に示す図である。
【図１０】本技術の第１の実施の形態におけるメモリ３１０への画像データの読み出し順序および書き込み順序の一例も模式的に示すである。
【図１１】本技術の第１の実施の形態における擬似リングバッファの領域のサイズの一例を模式的に示す図である。
【図１２】本技術の第１の実施の形態における撮像装置１００に用いられるメモリの一例（メモリ５５０）を示す図である。
【図１３】本技術の第１の実施の形態における撮像装置１００に用いられるメモリの読み出し方法の一例を示す図である。
【図１４】本技術の第１の実施の形態におけるメモリのアクセス方向と処理方向とフィルタのタップ方向との関係例を示す図である。
【図１５】本技術の第１の実施の形態におけるリサイズ歪補正部２００による画像処理の処理手順の一例を示すフローチャートである。
【図１６】本技術の第１の実施の形態における撮像装置１００の撮像動作に係る遅延を模式的に示す図である。
【図１７】本技術の第１の実施の形態における撮像装置１００の撮像動作に係る遅延を模式的に示す図である。
【図１８】本技術の第１の実施の形態における撮像装置１００の撮像動作に係る遅延を模式的に示す図である。
【図１９】本技術の第１の実施の形態における垂直歪補正処理に用いられる画像データの取得例を示す図である。
【図２０】本技術の第１の実施の形態の変形例におけるリサイズ歪補正部８００の機能構成例を示すブロック図である。
【図２１】本技術の第１の実施の形態の変形例におけるリサイズ歪補正部８５０の機能構成例を示すブロック図である。
【発明を実施するための形態】
【００２１】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（画像処理制御：メモリのデータアクセス単位の１以上の整数倍のサイズを書き込みサイズとする画素をメモリに書き込み、その画素を画像処理に用いる例）
２．変形例
【００２２】
＜１．第１の実施の形態＞
［撮像装置の構成例］
図１は、本技術の第１の実施の形態における撮像装置１００の内部構成例を示すブロック図である。
【００２３】
撮像装置１００は、バス１０１と、レンズ１１０と、撮像素子１２０と、Ａ／Ｄ（Analog/Digital）変換部１３０と、信号処理部１４０と、リサイズ歪補正部２００と、符号化部１５０と、記憶部１８０と、表示部１９０とを備える。また、撮像装置１００は、ＣＰＵ（Central Processing Unit）１６０と、操作受付部１６１と、ＲＯＭ（Read Only Memory）１７０と、ＲＡＭ（Random Access Memory）３００とを備える。なお、撮像装置１００を構成する各部の間で行われるやりとりは、バス１０１を介して行われる。また、撮像装置１００は、例えば、被写体を撮像して画像データを生成し、これらの画像データについて各種画像処理を行うことが可能なデジタルスチルカメラやデジタルビデオカメラ（例えば、カメラ一体型レコーダ）により実現することができる。なお、撮像装置１００は、特許請求の範囲に記載の画像処理制御装置の一例である。
【００２４】
レンズ１１０は、被写体からの光を集光する複数のレンズ（ズームレンズ、フォーカスレンズ等）から構成され、これらのレンズおよびアイリスを介して入射された被写体からの光が撮像素子１２０に供給される。
【００２５】
撮像素子１２０は、レンズ１１０を介して入射された光（被写体からの入射光）を光電変換することにより画像信号（アナログ信号）を生成するイメージセンサであり、生成された画像信号（アナログ信号）をＡ／Ｄ変換部１３０に供給する。すなわち、レンズ１１０を介して入射された被写体の光学像（被写体像）が撮像素子１２０の撮像面に結像され、この状態で撮像素子１２０が撮像処理を行うことにより画像信号（アナログ信号）が生成される。なお、撮像素子１２０として、例えば、ＣＣＤ（Charge Coupled Device）センサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサ等を用いることができる。
【００２６】
Ａ／Ｄ変換部１３０は、撮像素子１２０から供給された画像信号（アナログ信号）について、増幅やノイズ除去等のアナログ信号処理、Ａ／Ｄ変換処理等を行うことにより画像信号（デジタル信号）を生成するものである。そして、Ａ／Ｄ変換部１３０は、生成された画像信号（デジタル信号）を画像データとしてＲＡＭ３００に書き込む。
【００２７】
信号処理部１４０は、ＲＡＭ３００に書き込まれた画像データ（デジタル信号）を読み出し、この読み出された画像データについて各種のデジタル信号処理を施すものである。そして、信号処理部１４０は、そのデジタル信号処理が施された画像データをＲＡＭ３００に書き込む。
【００２８】
リサイズ歪補正部２００は、ＲＡＭ３００に書き込まれた画像データ（デジタル信号処理が施された画像データ）を読み出し、この読み出された画像データについてリサイズ処理および歪補正処理を行うものである。ここで、リサイズ処理は、例えば、記憶部１８０への記録に適した解像度変換とする処理である。また、歪補正処理は、例えば、画像データにおける水平歪および垂直歪を補正する処理である。そして、リサイズ歪補正部２００は、そのリサイズおよび歪補正がされた画像データをＲＡＭ３００に書き込む。
【００２９】
符号化部１５０は、ＲＡＭ３００に書き込まれた画像データ（リサイズおよび歪補正がされた画像データ）を読み出し、この読み出された画像データについて符号化を行うものである。そして、符号化部１５０は、その符号化された画像データをＲＡＭ３００に書き込む。
【００３０】
このように生成された画像データ（符号化された画像データ）が、ＲＡＭ３００から読み出され、この読み出された画像データが画像ファイルとして記憶部１８０に記録される。記憶部１８０として、例えば、テープ（例えば、磁気テープ）、光ディスク（例えば、記録可能なＤＶＤ（Digital Versatile Disc））を用いることができる。また、記憶部１８０として、例えば、磁気ディスク（例えば、ハードディスク）、半導体メモリ（例えば、メモリカード）、光磁気ディスク（例えば、ＭＤ（MiniDisc））を用いるようにしてもよい。
【００３１】
ＲＯＭ１７０は、読み出し専用のメモリであり、各種制御プログラム等を記憶するものである。
【００３２】
ＲＡＭ３００は、ＣＰＵ１６０のメインメモリ（主記憶装置）に用いられるメモリであり、ＣＰＵ１６０において実行されるプログラムの作業領域等を備え、ＣＰＵ１６０が各種の処理を行う上で必要なプログラムやデータが一時的に保持される。また、ＲＡＭ３００は、各種の画像処理のための画像保存領域を備える。
【００３３】
ＣＰＵ１６０は、各種制御プログラムに基づいて、撮像装置１００の各部を制御するものである。また、ＣＰＵ１６０は、操作受付部１６１により受け付けられた操作入力等に基づいて撮像装置１００の各部を制御する。
【００３４】
操作受付部１６１は、ユーザにより操作された操作入力を受け付ける操作部であり、この受け付けられた操作入力の内容をデジタルデータに変換する。そして、この変換後のデジタルデータがＲＡＭ３００に書き込まれる。このようにＲＡＭ３００に書き込まれたデータをＣＰＵ１６０が読み出し、ＣＰＵ１６０がユーザの指示に基づいた処理を実行する。
【００３５】
表示部１９０は、ＣＰＵ１６０の制御に基づいて、各種画像を表示するものである。例えば、表示部１９０は、撮像モードが設定されている場合には、撮像素子１２０により生成された画像をモニタリング画像（いわゆる、スルー画像）として表示する。表示部１９０として、例えば、有機ＥＬ（Electro Luminescence）、ＬＣＤ（Liquid Crystal Display）等の表示パネルを用いることができる。また、表示部１９０として、例えば、使用者がその指を表示面に接触または近接することにより操作入力を行うことが可能なタッチパネルを用いるようにしてもよい。
【００３６】
［リサイズ歪補正部の機能構成例]
図２は、本技術の第１の実施の形態におけるリサイズ歪補正部２００の機能構成例を示すブロック図である。
【００３７】
リサイズ歪補正部２００は、水平歪補正部２１０と、ラスターブロック変換部２２０と、ブロック回転部２３０と、垂直歪補正部２４０と、ブロック逆回転部２５０と、ブロックラスター変換部２６０とを備える。なお、メモリ３１０は、図１に示すＲＡＭ３００に対応する。また、制御部２７０は、図１に示すＣＰＵ１６０に対応する。
【００３８】
水平歪補正部２１０は、入力された画像データについて水平歪補正処理を行うものであり、その水平歪補正処理が施された画像データをラスターブロック変換部２２０に出力する。
【００３９】
ラスターブロック変換部２２０は、水平歪補正部２１０から出力された画像データをブロック化するためのラスターブロック変換処理を行うものであり、ブロック化された画像データをブロック回転部２３０に出力する。ここで、ラスターブロック変換部２２０は、ブロック回転部２３０による回転処理後の画像データの横幅（水平方向のサイズ）が、その回転後に書き込むメモリ３１０のアクセス単位（データアクセス単位）の１以上の整数倍になるようにブロック化を行う。ここで、データアクセス単位は、最もデータ転送効率のよいアクセス時の１回のアドレス発行でのアクセスを意味するものとする。このように、ブロック化を行うことにより、後段のブロック回転部２３０による回転処理時のメモリ量を削減することができる。なお、ラスターブロック変換については、図３（ａ）を参照して詳細に説明する。
【００４０】
ブロック回転部２３０は、ラスターブロック変換部２２０から出力された画像データ（ブロック化された画像データ）について配置の回転処理を行うものであり、回転処理が施された画像データをラスター状にメモリ３１０に書き込む。また、ブロック回転部２３０は、画像データ（ブロック化された画像データ）を構成する画素の要素単位で回転（９０度の左回転）を行う。この場合には、ブロック回転部２３０は、少量の内部メモリ２３１（図４（ａ）に示す）にアクセス単位が小さいアクセスを行う。ここで、上述したように、横幅がデータアクセス単位の１以上の整数倍となった画像データ（ブロック化された画像データ）は、ラスター状にメモリ３１０に書き込まれるため、メモリ３１０には、データアクセス単位の倍数アクセスにすることができる。なお、ブロック回転については、図４（ａ）を参照して詳細に説明する。また、ラスターブロック変換部２２０およびブロック回転部２３０は、特許請求の範囲に記載の変換部の一例である。また、ブロック回転部２３０は、特許請求の範囲に記載の書込部の一例である。
【００４１】
メモリ３１０は、ブロック回転部２３０により回転された画像データ（ブロック化された画像データ）を保持するメモリであり、保持されている画像データ（ブロック化された画像データ）を垂直歪補正部２４０に供給する。なお、メモリ３１０への書き込み方法については、図５（ａ）、図１０等を参照して詳細に説明する。
【００４２】
垂直歪補正部２４０は、メモリ３１０に保持されている画像データ（ブロック化された画像データ）について垂直歪補正処理を行うものであり、垂直歪補正処理が施された画像データをブロック逆回転部２５０に出力する。ここで、垂直歪補正部２４０は、データアクセス単位の境界から、データアクセス単位の１以上の整数倍のアクセスを行い、一定幅を出力するために必要なデータを含む画像データを、バースト境界からバースト長の倍数で読み出す。なお、垂直歪補正部２４０は、特許請求の範囲に記載の読出部および画像処理部の一例である。
【００４３】
ここで、メモリ３１０には、回転された画像データが保持されているため、垂直歪補正部２４０は、ラスター方向に読み出し開始位置をずらしたり、読み出し長を変化させたりして効率の良いアクセスを行うことができる。また、後段にブロック逆回転部２５０があるため、垂直歪補正部２４０は、垂直歪補正処理後の出力データの幅をブロック逆回転前の横幅にする必要がある。なお、メモリ３１０からの読み出し方法については、図５（ｂ）、図６等を参照して詳細に説明する。
【００４４】
ブロック逆回転部２５０は、垂直歪補正部２４０から出力された画像データ（ブロック化された画像データ）について配置の逆回転処理を行うものであり、逆回転された画像データをブロックラスター変換部２６０に出力する。また、ブロック逆回転部２５０は、画像データ（ブロック化された画像データ）を構成する画素の要素単位で逆回転（９０度の右回転）を行う。この場合には、ブロック逆回転部２５０は、少量の内部メモリ２５１（図４（ｂ）に示す）にアクセス単位が小さいアクセスを行う。なお、ブロックのサイズは、前後の処理部のメモリアクセス単位に基づいて、メモリアクセスがアクセス単位の整数倍になるように決定される。
【００４５】
ブロックラスター変換部２６０は、ブロック逆回転部２５０から出力された画像データ（ブロック化された画像データ）について、ブロックラスター変換処理を行うものであり、ブロックラスター変換処理が施された画像データをラスター出力する。なお、ブロックラスター変換については、図３（ｂ）を参照して詳細に説明する。なお、ブロック逆回転部２５０およびブロックラスター変換部２６０は、特許請求の範囲に記載の第２変換部の一例である。
【００４６】
制御部２７０は、リサイズ歪補正部２００の各部を制御するものである。例えば、制御部２７０は、画像処理部（垂直歪補正部２４０）による画像処理の対象となる画像データを構成する画素を分割し、この分割された画素を縦横変換するように制御する。また、制御部２７０は、メモリ３１０のデータアクセス単位の１以上の整数倍のサイズで、その変換された画像データをメモリ３１０に書き込むように制御する。また、制御部２７０は、画像処理の対象となる画像データを、メモリ３１０からデータアクセス単位の１以上の整数倍で読み出すように制御する。また、制御部２７０は、メモリ３１０のデータアクセス単位の境界から画像処理の対象となる画像データの読み出しを開始するように制御する。この場合に、制御部２７０は、画像処理に応じて読み出し開始位置と読み出しサイズとを、データアクセス単位の１以上の整数倍のサイズの範囲内で変化させるように制御する。また、制御部２７０は、メモリ３１０からデータアクセス単位で読み出されるデータ内に、画像データを構成する垂直方向のラインのうちの１つのラインに含まれる連続する複数の画素の要素のデータが含まれるように、分割および縦横変換を行うように制御する。
【００４７】
なお、後段の処理がブロックの場合には、ブロックラスター変換処理の代わりに、ブロックサイズ変換処理を行うようにしてもよい。この例を図２０に示す。また、後段の処理のブロックサイズが同じ場合には、ブロックラスター変換処理やブロックサイズ変換処理を省略することができる。この例を図２１に示す。
【００４８】
［ラスターブロック変換例およびブロックラスター変換例］
図３は、本技術の第１の実施の形態におけるラスターブロック変換部２２０によるラスターブロック変換例およびブロックラスター変換部２６０によるブロックラスター変換例を示す図である。なお、図３では、一般的なラスターブロック変換およびブロックラスター変換の一例を示す。具体的には、縦（垂直方向）をブロック縦とし、横（水平方向）をラスター幅とする２つのバンクを使用して、ブロックラスター変換、ラスターブロック変換を行う例を示す。ここで、バンクは、メモリを管理する際の管理単位である。
【００４９】
図３（ａ）には、ラスターブロック変換部２２０によるラスターブロック変換例を示す。すなわち、図３（ａ）では、縦をブロック縦とし、横をラスター幅とする２つのバンク４０１、４０２を使用して、ラスターブロック変換を行う例を示す。
【００５０】
例えば、バンク４０１、４０２には、水平歪補正部２１０から出力された画像データがラスター状に交互に書き込まれる。例えば、水平歪補正部２１０から出力された画像データが、バンク４０１→バンク４０２→バンク４０１→バンク４０２→…の順序で書き込まれる。この場合において、例えば、水平歪補正部２１０から出力された画像データがバンク４０１に書き込まれている間、バンク４０２に書き込まれた画像データが、ブロック化され、このブロック化された画像データがブロック回転部２３０に出力される。例えば、横幅Ｗ１乃至Ｗ４により特定される画像データ（ブロック化された画像データ）がブロック回転部２３０に順次出力される。
【００５１】
図３（ｂ）には、ブロックラスター変換部２６０によるブロックラスター変換例を示す。すなわち、図３（ｂ）では、縦をブロック縦とし、横をラスター幅とする２つのバンク４０３、４０４を使用して、ラスターブロック変換を行う例を示す。
【００５２】
例えば、バンク４０３、４０４には、ブロック逆回転部２５０から出力された画像データ（ブロック化された画像データ）がブロック単位でラスター状に交互に書き込まれる。例えば、横幅Ｗ５乃至Ｗ８により特定される画像データ（ブロック化された画像データ）がブロック単位でラスター状に書き込まれる。例えば、ブロック逆回転部２５０から出力された画像データが、バンク４０３→バンク４０４→バンク４０３→バンク４０４→…の順序で書き込まれる。この場合において、例えば、ブロック逆回転部２５０から出力された画像データがバンク４０４に書き込まれている間、バンク４０３に書き込まれた画像データが順次出力される。
【００５３】
なお、図３では、２バンクを使用してブロックラスター変換、ラスターブロック変換を行う例を示すが、１バンクを使用して行うようにしてもよく、３以上のバンクを使用して行うようにしてもよい。
【００５４】
［ブロック回転例およびブロック逆回転例］
図４は、本技術の第１の実施の形態におけるブロック回転部２３０によるブロック回転例およびブロック逆回転部２５０によるブロック逆回転例を示す図である。なお、図４では、上述したように、画像データを構成する画素の要素単位で回転（９０度の左回転）および逆回転（９０度の右回転）を行う例を示す。
【００５５】
図４（ａ）には、少量の内部メモリ２３１を用いたブロック回転部２３０によるブロック回転例を示す。なお、図４（ａ）および（ｂ）では、説明の容易のため、比較的少ない数の画素のみを用いて説明する。
【００５６】
ここで、回転対象となる画像データ（ブロック化された画像データ）４２１の横幅Ｗ１１は、ラスターブロック変換に用いられるメモリ（バンク４０１、４０２）のバースト長の倍数である。また、画像データ４２１の縦幅Ｈ１１は、画像データ４２１の回転後の書き込み先となるメモリ３１０のバースト長の倍数になるライン数である。
【００５７】
また、回転された画像データ（ブロック化された画像データ）４２２の横幅Ｗ１２は、書き込み先となるメモリ３１０のバースト長の倍数である。
【００５８】
なお、画像データ４２１、４２２を構成する各矩形は、画素を示し、各矩形の内部には、各画素を識別するための符号（Ｙ００、Ｙ１０等）を付して示す。すなわち、画像データ４２１、４２２を構成する各矩形のうち、同一の符号が付されている矩形は、同一の画素を意味する。また、図４（ｂ）に示す画像データ４２３、４２４を構成する各矩形についても同様である。
【００５９】
図４（ａ）に示すように、ブロック回転部２３０は、少量の内部メモリ２３１にアクセス単位が小さいアクセスを行うことにより、画像データ４２１の配置を９０度左側に回転させて、画像データ４２２とする。
【００６０】
図４（ｂ）には、少量の内部メモリ２５１を用いたブロック逆回転部２５０によるブロック逆回転例を示す。
【００６１】
ここで、逆回転対象となる画像データ（ブロック化された画像データ）４２３の横幅Ｗ１３は、垂直歪補正部２４０から出力された長さに対応する。また、逆回転された画像データ（ブロック化された画像データ）４２４の横幅Ｗ１４は、ブロックラスター変換に用いられるメモリ（バンク４０３、４０４）のバースト長の倍数である。
【００６２】
図４（ｂ）に示すように、ブロック回転部２３０は、少量の内部メモリ２５１にアクセス単位が小さいアクセスを行うことにより、画像データ４２３の配置を９０度右側に回転させて、画像データ４２４とする。また、逆回転後の画像データ４２４に対応するブロックのサイズは、前後の処理のメモリアクセス単位に基づいて、メモリアクセスがアクセス単位の整数倍になるように決定される。
【００６３】
［メモリへの書き込み例およびメモリからの読み出し例］
図５は、本技術の第１の実施の形態におけるメモリ３１０への書き込み例およびメモリ３１０からの読み出し例を模式的に示す図である。
【００６４】
図５（ａ）には、水平歪補正部２１０により水平歪補正処理が施された画像データ４３０をメモリ３１０に書き込む場合における流れを模式的に示す。
【００６５】
最初に、ラスターブロック変換部２２０が、画像データ４３０についてラスターブロック変換を行い、画像データ４３０をブロック化（例えば、ブロック４３１乃至４３４）する。なお、ブロック４３１乃至４３４は、ブロック化された画像データであり、それぞれを太線の矩形で示す。また、配置の回転が把握し易いように、ブロック４３１乃至４３４内には、４つの符号を付して示す。例えば、ブロック４３１には、符号Ａ乃至Ｄが付されている。なお、符号Ａ乃至Ｐが内部に付されている矩形は、ブロック４３１乃至４３４の回転が把握し易いように付すものであり、各画素を示すものではない。また、ブロック４３５乃至４３８、４４１乃至４４４についても同様である。
【００６６】
続いて、ブロック回転部２３０が、ブロック４３１乃至４３４を回転させ、回転後のブロック４３１乃至４３４をメモリ３１０に書き込む。図５（ａ）では、メモリ３１０に書き込まれるブロック４３１乃至４３４と、メモリ３１０に書き込まれたブロック４３５乃至４３８との関係を太線の矢印で模式的に示す。
【００６７】
図５（ｂ）には、メモリ３１０に書き込まれたブロック４３５乃至４３８を画像データ４４０とする場合における流れを模式的に示す。
【００６８】
最初に、垂直歪補正部２４０が、メモリ３１０に書き込まれたブロック４３５乃至４３８について、垂直歪補正処理を行う。そして、ブロック逆回転部２５０が、垂直歪補正処理が施されたブロック４３５乃至４３８を逆回転させる。この逆回転後の各ブロックをブロック４４１乃至４４４として示す。
【００６９】
続いて、ブロックラスター変換部２６０が、ブロック４４１乃至４４４についてブロックラスター変換を行い、ブロック４４１乃至４４４を画像データ４４０とする。
【００７０】
このように、ラスターブロック変換部２２０は、画像処理部（垂直歪補正部２４０）による画像処理の対象となる画像データを構成する画素をその画像処理（垂直歪補正処理）の処理単位となるブロック単位に分割する。
【００７１】
また、ブロック回転部２３０は、その分割された画素の要素の配置をブロック単位で縦横変換し、ブロック単位の画素のメモリ３１０への書き込みサイズをメモリ３１０のデータアクセス単位の１以上の整数倍のサイズとする。また、ブロック回転部２３０は、その変換された画像データをブロック単位でメモリ３１０に書き込み、画像処理（垂直歪補正処理）の対象となる画像データとする。
【００７２】
すなわち、メモリ３１０からデータアクセス単位で読み出されるデータ内に、画像データを構成する垂直方向のラインのうちの１つのラインに含まれる連続する複数の画素の要素のデータが含まれるように、分割および縦横変換が行われる。
【００７３】
垂直歪補正部２４０は、メモリ３１０からの読み出しサイズがデータアクセス単位の１以上の整数倍のサイズとなるように、画像処理（垂直歪補正処理）の対象となる画像データをメモリ３１０からブロック単位で読み出す。
【００７４】
また、垂直歪補正部２４０は、画像データにおける水平方向の位置に応じて、画像データにおける垂直方向のずれ量が異なる画像処理を行う。すなわち、垂直歪補正部２４０は、画像データにおける水平方向の位置に応じて、画像データにおける垂直方向の歪補正処理を行う。なお、他の画像処理部が、画像データにおける水平方向の位置に応じて、画像データにおける垂直方向の拡大縮小率が異なる画像処理を行う場合についても、同様に適用することができる。
【００７５】
また、ブロック逆回転部２５０およびブロックラスター変換部２６０は、画像処理部（垂直歪補正部２４０）により画像処理が施された画像データを、分割および縦横変換を行う前の配置と同一の配置となるように変換する。
【００７６】
［垂直歪補正例］
図６は、本技術の第１の実施の形態における垂直歪補正部２４０による垂直歪補正の一例を模式的に示す図である。
【００７７】
ここで、図５で示したように、メモリ３１０には、回転された画像データ（ブロック化された画像データ）が保持されている。また、垂直歪補正部２４０は、メモリ３１０に保持されている画像データ（ブロック化されて回転された画像データ）について、ラスター方向に読み出し開始位置をずらしたり、読み出し長を変化させたりすることにより、垂直歪補正を行う。図６では、メモリ３１０における読み出し開始位置および読み出し終了位置を矢印により模式的に示す。また、メモリ３１０には、画像データ（ブロック化された画像データ）が保持されているため、ラスター方向に読み出し位置をずらしたり、読み出し長を変化させたりすることができる。このため、効率の良いアクセスを行うことができる。
【００７８】
例えば、図６に示す例では、メモリ３１０に保持されている画像データ（ブロック化されて回転された画像データ）に含まれる物体４５１が、直線状の物体となるように、垂直歪補正を行う場合を想定する。この場合には、垂直歪補正部２４０は、メモリ３１０に保持されている画像データについて、各矢印で示すように、ラスター方向に読み出し開始位置をずらしたり、読み出し長を変化させたりすることにより、垂直歪補正を行う。そして、垂直歪補正部２４０は、垂直歪補正後の画像データ（ブロック化された画像データ）４５５をブロック逆回転部２５０に出力する。
【００７９】
ここで、メモリ３１０における読出対象となる画像データは、一定の幅を出力するために必要なデータを含み、バースト境界からバースト長の倍数で読み出される。また、後段でブロック逆回転があるため、画像処理後（垂直歪補正処理後）の出力データの幅は、ブロック逆回転前の横幅とする必要がある。
【００８０】
このように、垂直歪補正部２４０は、メモリ３１０のデータアクセス単位の境界から画像処理（垂直歪補正処理）の対象となる画像データの読み出しを開始する。そして、垂直歪補正部２４０は、その画像処理に応じて、読み出し開始位置と、読み出しサイズとを、データアクセス単位の１以上の整数倍のサイズの範囲内で変化させることができる。
【００８１】
［リングバッファの構成例］
図７は、本技術の第１の実施の形態におけるメモリ３１０におけるリングバッファの配置構成例を模式的に示す図である。図７（ａ）には、擬似的にリングバッファに見せる疑似リングバッファの構成例を示す。図７（ｂ）には、リングバッファの構成例を示す。
【００８２】
図７（ｂ）に示すリングバッファは、領域（１−１、１−２等）の左端から右端に順次アクセスし、右端になるとアドレス計算で左端に戻すアドレス計算が必要になる。例えば、１−１、１−２、…、１−６、１−７の次は、１−１をアクセスするようにアドレス計算が行われる。この場合におけるアクセスの順序を太線の矢印で模式的に示す。
【００８３】
同様に、図７（ｂ）に示すリングバッファは、２−１、２−２、…、２−６、２−７の次は、２−１をアクセスするようにアドレス計算が行われる。このように、図７（ｂ）に示すリングバッファでは、横幅が２の整数乗の大きさであれば容易ではあるが、領域のサイズが限定されてしまう。そこで、本技術の第１の実施の形態では、図７（ａ）に示す疑似リングバッファを用いる。
【００８４】
図７（ａ）に示す疑似リングバッファは、領域（１−１、１−２等）の左端から右端にアクセスして、右端になると１つ下の左端にアクセスする。この場合に、アドレスを連続にすることは容易であり、アドレス計算では何の対応も必要ない。
【００８５】
例えば、図７（ａ）に示す疑似リングバッファは、１−１、１−２、…、１−６、１−７の次は、２−１をアクセスするようにアドレス計算が行われる。この場合におけるアクセスの順序を太線の矢印で模式的に示す。同様に、図７（ａ）に示す疑似リングバッファは、２−１、２−２、…、２−６、２−７の次は、３−１をアクセスするようにアドレス計算が行われる。
【００８６】
このように、図７（ａ）に示す例では、右端を越える毎に、下側に１ラインずつずれていくため、右端から左端にまたがる回数分だけ下側に余分な領域が必要となる。この回数が少ない場合には、メモリ容量の増加を抑制することができ、アドレス計算も特段の対応を要しない。これにより、メモリ容量を削減することができる。
【００８７】
図８は、本技術の第１の実施の形態におけるメモリ３１０におけるリングバッファの配置構成例を模式的に示す図である。図８（ａ）には、メモリ３１０におけるリングバッファのメモリアドレスの配置構成例を示し、図８（ｂ）には、時間軸におけるリングバッファのメモリアドレスの配置構成例を示す。
【００８８】
図８（ｂ）に示すように、図８（ａ）に示すメモリ３１０における右端の領域Ｃのメモリ３１０上で連続するメモリアドレスが、領域Ｃの１ライン下の左端の領域Ｄになるようにする。
【００８９】
なお、図８では、右端の領域のメモリ上で連続するメモリアドレスが、１ライン下側の左端の領域となる例を示すが、右端の領域のメモリ上で連続するメモリアドレスが、１ライン上側の左端の領域となるように構成するようにしてもよい。ただし、この場合には、上側に余分な領域が必要となる。
【００９０】
このように、メモリ３１０は、画像データの記憶領域における所定ラインの一端のアドレスと、所定ラインの１つ上または１つ下のラインの他の一端のアドレスとが連続となるように配置されている。また、メモリ３１０は、所定ラインの一端のアクセスの次にアクセスがある場合には、その所定ラインの１つ上または１つ下のラインの他の一端にアクセスする。
【００９１】
［疑似リングバッファの読み出し例および書き込み例］
図９は、本技術の第１の実施の形態におけるメモリ３１０の読み出しおよび書き込みの流れの一例を模式的に示す図である。図９では、ライト領域４６１乃至４６９と、リード領域４７１乃至４７７との遷移を時系列で示す。
【００９２】
最初に、ブロック回転部２３０により回転された画像データ（ブロック化された画像データ）が書き込まれるライト（Write）領域４６１がメモリ３１０における左上端部に設定される。
【００９３】
続いて、ブロック回転部２３０により回転された画像データ（ブロック化された画像データ）のライト領域４６１への書き込みが終了した場合には、次のライト領域４６２が設定される。以降も同様に、ライト領域４６３、４６４が設定される。
【００９４】
ここで、ライト領域４６５がメモリ３１０における右端部に達した場合には、メモリ３１０における１ライン下側の左端部の領域が、ライト領域４６６として設定される。すなわち、このタイミングでは、ライト領域として、メモリ３１０における両端部の領域がライト領域４６５および４６６として設定される。
【００９５】
続いて、ブロック回転部２３０により回転された画像データ（ブロック化された画像データ）のライト領域４６５および４６６への書き込みが終了した場合には、ライト領域４６６と同じラインの次のライト領域４６７が設定される。以降も同様に、ライト領域４６８、４６９が設定される。
【００９６】
また、ブロック回転部２３０により回転された画像データ（ブロック化された画像データ）のライト領域４６１への書き込みが終了した場合には、その画像データを読み出すためのリード領域４７１が設定される。例えば、ライト領域４６３の設定時にリード領域４７１が設定される。以降も同様に、ライト領域４６４乃至４６７を追いかけるようにリード領域４７２乃至４７４が設定される。
【００９７】
ここで、リード領域４７５がメモリ３１０における右端部に達した場合には、ライト領域と同様に、メモリ３１０における１ライン下側の左端部の領域が、リード領域４７６として設定される。すなわち、このタイミングでは、リード領域として、メモリ３１０における両端部の領域がリード領域４７５および４７６として設定される。
【００９８】
続いて、垂直歪補正部２４０によるリード領域４７５および４７６からの画像データ（ブロック化された画像データ）の読み出しが終了した場合には、リード領域４７６と同じラインの次のリード領域４７７が設定される。以降も同様に、リード領域が設定される。
【００９９】
［画像データの読み出し順序例および書き込み順序例］
図１０は、本技術の第１の実施の形態におけるメモリ３１０への画像データの読み出し順序および書き込み順序の一例も模式的に示すである。
【０１００】
図１０（ａ）には、メモリ３１０に設定されているライト領域４６７およびリード領域４７４を示す。なお、メモリ３１０と、ライト領域４６７およびリード領域４７４との関係は、図９と同様である。
【０１０１】
図１０（ｂ）には、ライト領域４６７への書き込み順序と、リード領域４７４からの読み出し順序とを示す。
【０１０２】
ここで、ライト領域４６７内の矩形は、ブロック回転部２３０により回転された画像データ（ブロック化された画像データ）を模式的に示し、その矩形内に付された数字は、書き込み順序を示す。すなわち、ブロック回転部２３０により回転された画像データ（ブロック化された画像データ）は、数字１乃至４の順序でライト領域４６７に書き込まれる。
【０１０３】
また、リード領域４７４内の矢印は、垂直歪補正部２４０により読み出される画像データ（ブロック化された画像データ）を模式的に示し、その矢印の上側に付された数字は、読み出し順序を示す。すなわち、垂直歪補正部２４０、数字１乃至５の順序でリード領域４７４から読み出される。
【０１０４】
［擬似リングバッファの領域のサイズ例］
図１１は、本技術の第１の実施の形態における擬似リングバッファの領域のサイズの一例を模式的に示す図である。
【０１０５】
図１１（ａ）には、擬似リングバッファの領域５００のサイズの一例を模式的に示す。ここで、擬似リングバッファの領域の縦幅（垂直方向のサイズ）をＨ２１とし、その横幅（水平方向のサイズ）をＷ２１とする。
【０１０６】
図１１（ｂ）には、垂直歪補正の処理対象となる画像（回転された画像）５１０を模式的に示す。ここで、画像５１０の縦幅（垂直方向のサイズ）をＨ２５とし、その横幅（水平方向のサイズ）をＷ２５とする。
【０１０７】
この場合に、擬似リングバッファの領域５００の縦幅の最小値ＴＭ１は、次の式１により求めることができる。
ＴＭ１＝Ｈ２５＋Ｈ２２  …式１
【０１０８】
ここで、Ｈ２２は、（Ｗ２５／Ｗ２１）を整数に切り上げた値から１を減算することにより求めることができる。
【０１０９】
また、擬似リングバッファの領域５００の横幅Ｗ２１は、リード（Read）およびライト（Write）がそれぞれ追い越しせずに読み書きができる値とすることができる。なお、リードおよびライトは、同時に行うようにしてもよいし、時分割で行うようにしてもよい。
【０１１０】
［使用されるメモリ例］
図１２は、本技術の第１の実施の形態における撮像装置１００に用いられるメモリの一例（メモリ５５０）を示す図である。
【０１１１】
図１２には、データバス幅Ｂ１がそもそも１画素の１要素のデータ量よりも大きいメモリ５５０を示す。すなわち、メモリ５５０は、データバス幅Ｂ１が、１画素の１つの色のビット数（Ｂ２で示す）よりも大きいメモリである。例えば、データバス幅Ｂ１は、３２ビット（bits）であり、１画素の１つの色のビット数（Ｂ２で示す）は、８ビット（bits）である。
【０１１２】
このデータバス幅Ｂ１で１画素の１つの色を読み出すと、余ったビットの分だけ帯域や電力が無駄になる。
【０１１３】
図１３は、本技術の第１の実施の形態における撮像装置１００に用いられるメモリの読み出し方法の一例を示す図である。図１３（ａ）および（ｂ）では、１つのアドレス指定で必要とされるデータを太線の矩形で示す。
【０１１４】
図１３（ａ）には、１アクセスについて、複数のサイクルでデータが入出力されるバーストメモリの読み出し方法の一例を示す。このバーストメモリは、バースト長に含まれるデータ量が、１画素の１要素のデータ量よりも大きい。すなわち、１つのアドレス指定により、出力されるデータ量が、１画素の１つの色のビット数よりも大きくなる。このため、この読み出し方法では、１画素の１つの色を読み出すと、不必要なデータを読み出してしまうことになる。
【０１１５】
図１３（ｂ）には、アドレスの最小発行間隔（最小アドレス発行間隔）によりデータをできるだけ転送する場合において、１アドレスの発行により出力されるデータ量が、１画素の１要素のデータ量よりも大きいバーストメモリの読み出し方法の一例を示す。このように、データバスを最大限使用するアクセスを行う場合でも、１つのアドレス指定により、出力されるデータ量が、１画素の１つの色のビット数よりも大きくなる。このため、この読み出し方法では、１画素の１つの色を読み出すと、不必要なデータを読み出してしまうことになる。
【０１１６】
このように、撮像装置１００には、画像データの全体等を保存する高密度、広帯域なメモリを用いることができる。このメモリは、図１２および図１３に示すように、バス幅が広く、バースト長も長いＳＤＲ／ＤＤＲ等の１アクセスで多くのデータが出力されるメモリである。なお、ＳＤＲは、ＳＤＲＡＭ（Synchronous DRAM（Dynamic Random Access Memory））を意味し、ＤＤＲは、ＤＤＲ−ＳＤＲＡＭを意味する。
【０１１７】
なお、本技術の第１の実施の形態では、画像処理部（リサイズ歪補正部２００）が、１画素の１要素ずつ処理する場合を想定したが、複数の要素や画素を同時処理したりした場合は、その分だけ制約を緩和することができる。ただし、メモリアクセス単位を跨いだ場合等は緩和することができない。
【０１１８】
［メモリのアクセス方向と処理方向とフィルタのタップ方向との関係例］
図１４は、本技術の第１の実施の形態におけるメモリのアクセス方向と処理方向とフィルタのタップ方向との関係例を示す図である。なお、図１４では、比較例として、図１４（ｂ）には、単純に行う場合の関係例を示し、図１４（ｃ）には、従来の方法で行う場合の関係例を示す。
【０１１９】
ここで、メモリのアクセス方向は、メモリの読み書き方向を意味し、メモリへの書き込み方向を矢印６０１乃至６０３で示し、メモリからの読み出し方向を矢印６０５乃至６０７で示す。
【０１２０】
また、メモリの処理方向は、画像処理（歪補正処理）の方向を意味し、矢印６１１乃至６１３で示す。また、メモリのフィルタのタップ方向は、画像処理にフィルタを用いる場合のフィルタのタップをとる方向を意味し、矢印６１５乃至６１７で示す。なお、図１４（ａ）乃至（ｃ）の左側には、メモリにおけるフィルタのタップの一例を太線の矩形で模式的に示す。
【０１２１】
図１４（ｂ）および（ｃ）に示すように、単純に行う場合や、従来の方法で行う場合は、少なくとも１つの方向の向きが異なる。このため、アクセス単位が小さくなったり、転送効率を犠牲にしたりする必要がある。
【０１２２】
これに対して、本技術の第１の実施の形態では、図１４（ａ）に示すように、全ての方向を１つの方向とすることができるため、アクセス単位を小さくしたり、転送効率を犠牲にしたりする必要はない。
【０１２３】
［撮像装置の動作例］
図１５は、本技術の第１の実施の形態におけるリサイズ歪補正部２００による画像処理の処理手順の一例を示すフローチャートである。
【０１２４】
最初に、水平歪補正部２１０により水平歪補正がされた画像データが、ラスターブロック変換部２２０に入力される（ステップＳ９０１）。続いて、ラスターブロック変換部２２０は、ラスターブロック変換に必要なライン数となったか否かを判断し（ステップＳ９０２）、ラスターブロック変換に必要なライン数となっていない場合には、ステップＳ９０１に戻る。
【０１２５】
また、ラスターブロック変換に必要なライン数となった場合には（ステップＳ９０２）、ラスターブロック変換部２２０は、ラスターブロック変換処理を行い、このラスターブロック変換処理によりブロック化された画像データを出力する（ステップＳ９０３）。続いて、ブロック回転部２３０は、そのブロック化された画像データについて、ブロック回転処理を行い（ステップＳ９０４）、この回転後のブロックをメモリ３１０に書き込む（ステップＳ９０５）。なお、ステップＳ９０１乃至Ｓ９０４は、特許請求の範囲に記載の変換手順の一例である。また、ステップＳ９０５は、特許請求の範囲に記載の書込手順の一例である。
【０１２６】
続いて、垂直歪補正部２４０は、垂直歪補正に必要なデータがメモリ３１０に書き込まれたか否かを判断し（ステップＳ９０６）、垂直歪補正に必要なデータがメモリ３１０に書き込まれていない場合には、ステップＳ９０１に戻る。
【０１２７】
また、垂直歪補正に必要なデータがメモリ３１０に書き込まれた場合には（ステップＳ９０６）、垂直歪補正部２４０は、垂直歪補正処理を行う（ステップＳ９０７）。続いて、ブロック逆回転部２５０は、その垂直歪補正された画像データが、ブロック逆回転に必要な量となったか否かを判断し（ステップＳ９０８）、その垂直歪補正された画像データがブロック逆回転に必要な量となっていない場合には、ステップＳ９０６に戻る。
【０１２８】
また、垂直歪補正された画像データが、ブロック逆回転に必要な量となった場合には（ステップＳ９０８）、ブロック逆回転部２５０は、その垂直歪補正された画像データについて、ブロック逆回転処理を行う（ステップＳ９０９）。
【０１２９】
続いて、ブロックラスター変換部２６０は、その逆回転された画像データが、ブロックラスター変換に必要な量となったか否かを判断する（ステップＳ９１０）。そして、その逆回転された画像データが、ブロックラスター変換に必要な量となっていない場合には、ステップＳ９０６に戻る。
【０１３０】
また、逆回転された画像データが、ブロックラスター変換に必要な量となった場合には（ステップＳ９１０）、ブロックラスター変換部２６０は、その逆回転された画像データについてブロックラスター変換処理を行う（ステップＳ９１１）。そして、ブロックラスター変換部２６０は、そのブロックラスター変換された画像データをラスター出力する（ステップＳ９１１）。
【０１３１】
続いて、全ての画素の処理が終了したか否かが判断され（ステップＳ９１２）、全ての画素の処理が終了した場合には、画像処理の動作を終了する。一方、全ての画素の処理が終了していない場合には（ステップＳ９１２）、ステップＳ９０１に戻る。
【０１３２】
［遅延の比較例］
図１６乃至図１８は、本技術の第１の実施の形態における撮像装置１００の撮像動作に係る遅延を模式的に示す図である。また、図１６乃至図１８では、撮像装置１００の撮像動作に係る遅延と、他の撮像動作に係る遅延との比較例を示す。
【０１３３】
図１６（ａ）には、撮像装置１００を用いて動画やスルー画像（電子ズームなし）を表示する場合における表示遅延を模式的に示す。なお、図１６（ａ）の上側には、各処理を時系列で示し、図１６（ａ）の下側には、その際における信号の流れを示す。また、図１６（ｂ）、図１７の上下の関係についても同様である。
【０１３４】
また、図１６（ｂ）には、他の装置を用いて動画やスルー画像（電子ズームなし）を表示する場合における表示遅延を模式的に示す。
【０１３５】
図１６（ｂ）に示すように、露光処理７１１後に、カメラ処理／水平歪補正処理７１２および垂直歪補正処理７１３を順次行う場合には、２Ｖ程度の遅延が生じる。すなわち、画像データ（例えば、ＹＣ）７１７、７１９について、短冊処理やブロック処理により垂直歪補正処理７１８が行われるため、メモリ（例えば、ＤＲＡＭ）へのアクセス効率が悪くなる。なお、短冊処理やブロック処理に用いられる短冊やブロックの取得例については、図１９に示す。
【０１３６】
これに対して、本技術の第１の実施の形態では、図１６（ａ）に示すように、露光処理７０１後に、カメラ処理／水平垂直歪補正処理７０２を行う。すなわち、水平歪補正処理および垂直歪補正処理を同時に行うことができる。また、表示の際には、前段の処理がラスター出力であるため、追いかけ読み出しをすることができる。このため、０．５Ｖ遅延程度以下に、表示遅延を削減することができる。
【０１３７】
図１７（ａ）には、撮像装置１００を用いて動画やスルー画像（電子ズームあり）を表示する場合における表示遅延を模式的に示す。また、図１７（ｂ）には、他の装置を用いて動画やスルー画像（電子ズームあり）を表示する場合における表示遅延を模式的に示す。
【０１３８】
図１７（ｂ）に示すように、露光処理７５１後に、カメラ処理／水平歪補正処理／水平リサイズ処理７５２および垂直歪補正処理／垂直リサイズ処理７５３を順次行う場合には、２Ｖ程度の遅延が生じる。また、画像データ（例えば、ＹＣ）７５７、７５９について、短冊処理やブロック処理により垂直歪補正処理／垂直リサイズ処理７５８が行われるため、図１６（ｂ）に示す例と同様に、メモリ（例えば、ＤＲＡＭ）へのアクセス効率が悪くなる。
【０１３９】
これに対して、本技術の第１の実施の形態では、図１７（ａ）に示すように、露光処理７３１後に、カメラ処理／水平垂直歪補正処理７３２を行う。すなわち、水平歪補正処理および垂直歪補正処理を同時に行うことができる。また、表示の際には、前段の処理がラスター出力であるため、追いかけ読み出しをすることができる。ただし、電子ズームが行われる場合には、リサイズ処理７３３で１．０Ｖ遅延の遅延が必要である。このため、１．５Ｖ遅延程度以下に、表示遅延を削減することができる。
【０１４０】
図１８（ａ）には、撮像装置１００を用いて静止画の記録処理を行う場合における遅延を模式的に示す。また、図１８（ｂ）には、他の装置を用いて静止画の記録処理を行う場合における遅延を模式的に示す。
【０１４１】
図１８（ｂ）に示すように、ＲＡＷデータ７８１について、カメラ処理７８２および水平歪補正処理７８３を順次行うことにより、画像データ（例えば、ＹＣ）７８４、７８５が生成される。この画像データ（例えば、ＹＣ）７８４、７８５について、細い短冊による短冊処理により垂直歪補正処理７８６を行うため、メモリ（例えば、ＤＲＡＭ）へのアクセス効率が悪くなる。
【０１４２】
これに対して、本技術の第１の実施の形態では、図１８（ａ）に示すように、ＲＡＷデータ７７１について、カメラ処理７７２と、水平歪補正処理７７３と、垂直歪補正処理７７４とを順次行うことにより、画像データ（例えば、ＪＰＥＧ）７７５が生成される。この画像データ（例えば、ＪＰＥＧ）７７５は、広い短冊による短冊処理により垂直歪補正処理７７４が行われるため、メモリ（例えば、ＤＲＡＭ）へのアクセス効率がよい。
【０１４３】
［短冊やブロックの取得例］
図１９は、本技術の第１の実施の形態における垂直歪補正処理に用いられる画像データの取得例を示す図である。ここで、垂直歪補正処理には、横幅が狭い方が都合がよいため、ブロックや縦方向に長い短冊が使用される。また、図１９（ａ）乃至（ｃ）では、取得対象となる１つの領域を点線の矩形で囲んで示す。
【０１４４】
図１９（ａ）には、縦方向に長い短冊例（左側）と、重複部分を有する縦方向に長い短冊例（右側）を示す。
【０１４５】
図１９（ｂ）には、横方向に長い短冊例（左側）と、重複部分を有する横方向に長い短冊例（右側）を示す。
【０１４６】
図１９（ｃ）には、ブロック例（左側）と、重複部分を有するブロック例（右側）を示す。
【０１４７】
＜２．変形例＞
本技術の第１の実施の形態では、ブロック逆回転処理がされた画像データ（ブロック化された画像データ）についてブロックラスター変換処理を行う例を示した。ただし、上述したように、後段の処理がブロックの場合には、ブロックラスター変換処理を省略することができる。そこで、この変形例では、後段の処理がブロックの場合における撮像装置の例を示す。なお、この変形例における撮像装置の構成については、図１に示す例と略同様である。このため、本技術の第１の実施の形態と共通する部分については、その説明の一部を省略する。
【０１４８】
［リサイズ歪補正部の機能構成例]
図２０は、本技術の第１の実施の形態の変形例におけるリサイズ歪補正部８００の機能構成例を示すブロック図である。なお、リサイズ歪補正部８００は、図２に示すリサイズ歪補正部２００の一部を変形したものである。このため、リサイズ歪補正部２００と共通する部分については、その説明の一部を省略する。また、制御部２７０の図示を省略するが、リサイズ歪補正部８００の各部は、制御部２７０により制御される。また、リサイズ歪補正部８００は、後段の処理がブロックであるが、そのブロックのサイズが異なる場合の例である。
【０１４９】
リサイズ歪補正部８００は、ブロックサイズ変換部８１０を備える。すなわち、リサイズ歪補正部８００は、ブロックラスター変換部２６０の代わりに、ブロックサイズ変換部８１０を設けたものである。
【０１５０】
ブロックサイズ変換部８１０は、ブロック逆回転部２５０から出力された画像データ（ブロック化された画像データ）について、ブロックサイズ変換処理を行うものであり、ブロックサイズが変換された画像データを出力する。すなわち、後段の処理に用いられるブロックサイズに変換される。
【０１５１】
［リサイズ歪補正部の機能構成例]
図２１は、本技術の第１の実施の形態の変形例におけるリサイズ歪補正部８５０の機能構成例を示すブロック図である。なお、リサイズ歪補正部８５０は、図２に示すリサイズ歪補正部２００の一部（ブロックラスター変換部２６０）を省略したものである。このため、リサイズ歪補正部２００と共通する部分については、その説明の一部を省略する。また、制御部２７０の図示を省略するが、リサイズ歪補正部８５０の各部は、制御部２７０により制御される。また、リサイズ歪補正部８５０は、後段の処理がブロックであり、そのブロックのサイズが同一である場合の例である。
【０１５２】
すなわち、リサイズ歪補正部８５０は、ブロック逆回転部２５０から出力された画像データ（ブロック化された画像データ）を出力データとする。
【０１５３】
このように、後段の処理のブロックサイズが同じ場合には、ブロックラスター変換処理やブロックサイズ変換処理を省略することができる。
【０１５４】
ここで、上述したように、画像データを回転させて画像処理を行うことは可能であった。ただし、その画像処理に使用されるメモリは、小さい単位（例えば、１画素単位）でアクセスを行うメモリである。すなわち、その画像処理に使用されるメモリは、画像データ全体を保存するメモリとして通常使用されるメモリ（例えば、アクセス単位が大きく、大容量かつ広帯域のメモリ）ではない。このため、その画像処理を行う場合には、メモリのコストが増加することが想定される。
【０１５５】
ここで、一般に行われている水平垂直歪補正について説明する。例えば、画像データにおける中心から垂直方向や水平方向にずれるに従って、その領域を拡大することにより、歪みを補正して適切な画像データを得ることができる。
【０１５６】
ここで、水平方向について歪補正を行う場合には、ライン単位での処理であるため、メモリからライン単位で読み出して水平方向の歪補正処理を行い、ライン単位で書き込むことにより処理を行うことができる。
【０１５７】
しかしながら、水平方向について歪補正を行う場合には、その垂直補正処理は垂直方向の処理となるため、ライン単位で入力した画像データをそのまま処理することはできない。そこで、画像データを回転させることにより、垂直補正を行うことができる。例えば、ラスターの画像データを垂直方向に第１メモリに書き込み、この第１メモリに書き込まれた画像データについて垂直画像処理により水平方向に読み出し、この処理後に水平方向に第２メモリに書き込む。続いて、第２メモリに書き込まれた画像データを垂直方向に読み出し、ラスターの画像データとする。
【０１５８】
しかしながら、このように画像処理を行う場合には、画像データを書き込むメモリは、垂直方向および水平方向の両方に対応する必要があるため、アクセス単位の小さいメモリが必要となる。また、画像データ全体が書き込まれるため、画像データ全体を書き込むことが可能な領域を備える比較的大きい容量のメモリが必要となる。しかしながら、容量が大きくアクセス単位の小さいメモリは、一般的ではない。すなわち、このように画像処理を行う場合には、使用されるメモリが制限されることになる。
【０１５９】
例えば、一般的なメモリは、ある一定の長さ単位でアクセスすることが通常である。このため、このように画像処理を行う場合には、水平方向のアクセスは問題ないが、垂直方向のアクセスでは、所定倍（一定の長さ単位により特定される倍数）の画像データのアクセスが必要となり、帯域や電力が増加してしまう。
【０１６０】
そこで、本技術の実施の形態では、画像処理（垂直歪補正処理）前の配置の回転をブロック単位で行い、メモリアクセス単位内に画像処理で使用する複数の画素のデータを含ませる。これにより、読み書きともにアクセス単位を大きくすることができる。また、その後の画像処理でもアクセス単位の境界から、アクセス単位の１以上の整数倍の長さでアクセスを行うことができる。すなわち、画像処理の効率を向上させることができ、メモリを削減することができる。また、表示遅延を改善することができる。
【０１６１】
さらに、画像を保存するメモリとして通常使用されるメモリ（例えば、アクセス単位が大きく、大容量かつ広帯域のメモリ）を利用することができ、メモリコスト削減を図ることができる。また、使用するメモリの転送効率を高くすることができ、他のメモリアクセスする画像処理部と同じメモリを容易に利用することができるため、メモリ数の削減も可能となる。また、アクセス単位の小さなメモリは、回転に必要な容量だけであるため、小容量で可能である。すなわち、メモリコストの増加を抑制して適切な画像処理を行うことができる。
【０１６２】
また、水平位置により垂直方向の位置や拡大縮小率が異なる画像処理（例えば、歪補正）において、事前に前処理を行い、アクセス単位の大きなメモリを利用することができるため、低コスト化を図ることができる。
【０１６３】
なお、本技術の実施の形態における画像処理については、ＹＣ色空間により画像処理を行うようにしてもよく、撮像素子１２０から読み出されたＲＡＷデータ（原色ＲＧＢや補色ＹＭＣ等）等のように別の色空間で行うようにしてもよい。また、本技術の実施の形態では、垂直方向の画像処理の一例として垂直方向の歪補正を例にして説明したが、補正ではなく意図的に行う変形処理等を行う場合についても本技術の実施の形態を適用することができる。
【０１６４】
また、本技術の実施の形態では、画像処理制御装置の一例として撮像装置１００について説明したが、画像データの撮像動作や加工等の各種画像処理を行う他の画像処理制御装置についても本技術の実施の形態を適用することができる。例えば、パーソナルコンピュータ、画像記録装置、画像加工装置、画像再生装置、携帯端末、ＰＤＡ（Personal Digital Assistants）、ゲーム機等の画像処理制御装置に適用することができる。
【０１６５】
また、本技術の実施の形態では、各画像処理を撮像装置１００内において行う例を示したが、その処理の一部を他の装置において行う場合についても本技術の実施の形態を適用することができる。例えば、その処理の一部を、撮像装置１００との間で通信が可能な撮像装置１００の筐体外の装置（例えば、サーバ、パーソナルコンピュータ）で行う場合についても本技術の実施の形態を適用することができる。この場合には、撮像装置１００およびその筐体外の装置により構成される画像処理システムにより、本技術の実施の形態を実現することができる。
【０１６６】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【０１６７】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disk）、メモリカード、ブルーレイディスク（Blu-ray Disc（登録商標））等を用いることができる。
【０１６８】
なお、本技術は以下のような構成もとることができる。
（１）  画像処理部による画像処理の対象となる画像データを構成する画素を分割して前記分割された画素を縦横変換し、メモリのデータアクセス単位の１以上の整数倍のサイズで前記変換された画像データを前記メモリに書き込むように制御する制御部を具備する画像処理制御装置。
（２）  前記制御部は、前記画像処理の対象となる画像データを、前記メモリから前記データアクセス単位の１以上の整数倍で読み出すように制御する前記（１）に記載の画像処理制御装置。
（３）  前記制御部は、前記メモリの前記データアクセス単位の境界から前記画像処理の対象となる画像データの読み出しを開始し、前記画像処理に応じて前記読み出し開始位置と前記読み出しサイズとを前記データアクセス単位の１以上の整数倍のサイズの範囲内で変化させるように制御する前記（２）に記載の画像処理制御装置。
（４）  前記制御部は、前記メモリから前記データアクセス単位で読み出されるデータ内に、前記画像データを構成する垂直方向のラインのうちの１つのラインに含まれる連続する複数の画素の要素のデータが含まれるように、前記分割および前記縦横変換を行うように制御する前記（１）から（３）のいずれかに記載の画像処理制御装置。
（５）  前記画像処理の対象となる画像データを、前記メモリから前記データアクセス単位の１以上の整数倍で読み出す読出部をさらに具備する前記（１）から（４）のいずれかに記載の画像処理制御装置。
（６）  前記分割および前記縦横変換を行い、前記変換された画像データの前記メモリへの書き込みサイズを前記メモリのデータアクセス単位の１以上の整数倍のサイズとする変換部と、
前記変換された画像データを前記メモリに書き込み、前記画像処理の対象となる画像データとする書込部と
をさらに具備する前記（１）から（５）のいずれかに記載の画像処理制御装置。
（７）  前記変換部は、前記画像データをラスターブロック変換することにより前記画像データを分割し、前記分割された画素の要素の配置を特定方向に９０度回転させることにより前記縦横変換を行う前記（６）に記載の画像処理制御装置。
（８）  前記画像処理部は、前記画像データにおける水平方向の位置に応じて前記画像データにおける垂直方向のずれ量または拡大縮小率のうちの少なくとも何れかが異なる画像処理を行う前記（１）から（９）のいずれかに記載の画像処理制御装置。
（９）  前記画像処理部により前記画像処理が施された画像データを、前記分割および前記縦横変換を行う前の配置と同一の配置となるように変換する第２変換部をさらに具備する前記（１）から（８）のいずれかに記載の画像処理制御装置。
（１０）  前記第２変換部は、前記画像処理部により前記画像処理が施された画像データを構成する画素の要素の配置を特定方向とは逆方向に９０度回転させ、前記逆方向に９０度回転された画像データをブロックラスター変換することにより前記同一の配置となるための変換を行う前記（９）に記載の画像処理制御装置。
（１１）  前記メモリは、前記画像データの記憶領域における所定ラインの一端のアドレスと、前記所定ラインの１つ上または１つ下のラインの他の一端のアドレスとが連続となるように配置されており、前記所定ラインの一端のアクセスの次にアクセスがある場合には、前記所定ラインの１つ上または１つ下のラインの前記他の一端にアクセスする前記（１）から（１０）のいずれかに記載の画像処理制御装置。
（１２）  画像処理部による画像処理の対象となる画像データを構成する画素を分割して前記分割された画素を縦横変換する変換手順と、
メモリのデータアクセス単位の１以上の整数倍のサイズで前記変換された画像データを前記メモリに書き込む書込手順と
を具備する画像処理制御方法。
（１３）  画像処理部による画像処理の対象となる画像データを構成する画素を分割して前記分割された画素を縦横変換する変換手順と、
メモリのデータアクセス単位の１以上の整数倍のサイズで前記変換された画像データを前記メモリに書き込む書込手順と
をコンピュータに実行させるプログラム。
【符号の説明】
【０１６９】
１００  撮像装置
１０１  バス
１１０  レンズ
１２０  撮像素子
１３０  Ａ／Ｄ変換部
１４０  信号処理部
１５０  符号化部
１６０  ＣＰＵ
１６１  操作受付部
１７０  ＲＯＭ
１８０  記憶部
１９０  表示部
２００、８００、８５０  リサイズ歪補正部
２１０  水平歪補正部
２２０  ラスターブロック変換部
２３０  ブロック回転部
２３１  内部メモリ
２４０  垂直歪補正部
２５０  ブロック逆回転部
２５１  内部メモリ
２６０  ブロックラスター変換部
２７０  制御部
３００  ＲＡＭ
３１０、５５０  メモリ
４０１〜４０４  バンク
８１０  ブロックサイズ変換部
【図１】
2013196236.tif 000003
【図２】
2013196236.tif 000004
【図３】
2013196236.tif 000005
【図４】
2013196236.tif 000006
【図５】
2013196236.tif 000007
【図６】
2013196236.tif 000008
【図７】
2013196236.tif 000009
【図８】
2013196236.tif 000010
【図９】
2013196236.tif 000011
【図１０】
2013196236.tif 000012
【図１１】
2013196236.tif 000013
【図１２】
2013196236.tif 000014
【図１３】
2013196236.tif 000015
【図１４】
2013196236.tif 000016
【図１５】
2013196236.tif 000017
【図１６】
2013196236.tif 000018
【図１７】
2013196236.tif 000019
【図１８】
2013196236.tif 000020
【図１９】
2013196236.tif 000021
【図２０】
2013196236.tif 000022
【図２１】
2013196236.tif 000023