(57)【要約】【課題】元画像データにリングピクセルなどの画像データを付加して画像処理をする場合においても、メモリを有効に利用できるようにすると共に、画像処理の処理速度低下を招かない。【解決手段】画像データ転送部２４は、データインタフェース部２３を通じてＲＡＭに記憶されたベイヤーデータを画像データ処理ブロック２５，２６，２７に転送する際に、画像データ処理ブロックに送信する直前に画像処理で必要となるデータ（リングピクセル）を付加して送信する。画像データ転送部２４は、転送対象とするピクセル位置を指定し、このピクセル位置に該当するデータが存在しない場合には（リングピクセル位置）、ピクセル位置を元画像データ中のデータのあるピクセル位置に変換して該当データをリングピクセルのデータとして画像データ処理ブロックに転送する。【選択図】      図２
2006211402.tif 000002
【特許請求の範囲】
【請求項１】
元画像データに所定の画像データを付加して画像処理を実行するカメラ装置において、
複数のピクセル位置の各々に対応するデータを含む元画像データを記憶する記憶手段と、
画像データに対して複数のピクセル位置のデータをもとにした画像処理を実行する画像処理手段と、
前記画像処理手段による画像処理の対象としてデータを転送すべきピクセル位置を発生する発生手段と、
前記発生手段によって発生されたピクセル位置に対応するデータが、前記記憶手段により記憶された元画像データにあるか否かを判定する判定手段と、
前記判定手段によってデータが無いと判定されたピクセル位置を前記記憶手段に記憶されたデータが有るピクセル位置に変換するピクセル変換手段と、
前記判定手段による判定結果に基づいて、前記発生手段により発生されたピクセル位置あるいは前記ピクセル変換手段によって変換されたピクセル位置の何れかを選択する選択手段と、
前記選択手段によって選択されたピクセル位置に対応して前記記憶手段に記憶されたデータを前記画像処理手段に転送する転送手段と
を具備したことを特徴とするカメラ装置。
【請求項２】
前記画像データを構成する各データのピクセル位置を、前記記憶手段に記憶された元画像データのデータ位置に変換する変換手段を備え、
前記転送手段は、前記発生手段により順次発生されるピクセル位置に対応して前記変換手段により順次変換されるデータ位置のデータを前記画像処理手段に順次転送することを特徴とする請求項１記載のカメラ装置。
【請求項３】
前記画像処理手段は、処理すべき画像データを構成する複数のデータの転送順序に基づいて各データのピクセル位置を認識して画像処理を実行し、
前記発生手段は、前記画像処理手段がピクセル位置を認識するデータの転送順序に対応して順次ピクセル位置を発生することを特徴とする請求項１記載のカメラ装置。
【請求項４】
前記画像処理手段は、画像処理の結果として出力すべきピクセル範囲に対して、このピクセル範囲の周辺に位置するピクセル位置のデータを必要とする画像処理であり、
前記発生手段は、前記元画像データ全体のピクセル範囲が前記画像処理手段による画像処理の結果として出力されるよう、前記元画像データ全体のピクセル範囲の周辺に位置するピクセル位置を含むピクセル位置を発生することを特徴とする請求項１記載のカメラ装置。
【請求項５】
前記記憶手段には元画像データとして、撮像素子によって取得されたベイヤーデータあるいはＹＵＶデータが記憶され、
前記記憶手段に前記ＹＵＶデータが記憶されている場合に、複数ピクセルのデータを１ピクセル単位のデータに変換して転送することを特徴とする請求項１記載のカメラ装置。
【請求項６】
前記発生手段は、
前記記憶手段に記憶される元画像データの上下左右方向の周辺に位置するピクセル位置を含めて指定するもので、
前記発生手段によって上下左右方向で発生されるピクセル位置の数をカウントするカウント手段と、
前記カウント手段によってカウントされる数が所定値となるまで、前記記憶手段により記憶された元画像データに対応するデータが無いピクセル位置を発生するピクセル位置発生手段と
を具備したことを特徴とする請求項１記載のカメラ装置。
【請求項７】
前記カウント手段によりカウントされる所定値は、左右方向と上下方向で個別に設定されることを特徴とする請求項６記載のカメラ装置。
【請求項８】
メモリに記憶された画像データを画像処理手段に順次転送して、複数のピクセル位置のデータをもとにした画像処理を実行させるカメラ装置において、
前記メモリに記憶された複数のピクセル位置の各々に対応するデータを含む画像データを一時記憶する記憶手段と、
前記記憶手段に記憶された画像データを前記画像処理手段に転送する毎に、前記記憶手段に記憶された画像データの周辺に付加するピクセルのピクセル数をカウントする付加ピクセルカウント手段と、
前記付加ピクセルカウント手段によって所定のピクセル数がカウントされた後の前記画像処理手段に転送するデータのピクセル位置を逐次順番に発生するピクセル位置発生手段と、
前記付加ピクセルカウント手段によって所定のピクセル数までカウントされていない場合に、前記記憶手段に記憶されたデータに対する所定のピクセル位置を指定するピクセル位置指定手段と、
前記付加ピクセルカウント手段によって所定のピクセル数までカウントされていない場合に、前記ピクセル位置指定手段によって指定されたピクセル位置を選択し、前記付加ピクセルカウント手段によって所定のピクセル数までカウントされている場合に、前記ピクセル位置発生手段によって発生されたピクセル位置を選択して、前記記憶手段に記憶された該当するピクセル位置のデータを転送する転送手段と
を具備したことを特徴とするカメラ装置。
【請求項９】
元画像データに所定の画像データを付加して画像処理を実行する画像処理方法において、
複数のピクセル位置の各々に対応するデータを含む元画像データを記憶する記憶ステップと、
複数のピクセル位置のデータをもとにした画像処理の対象としてデータを転送すべきピクセル位置を発生する発生ステップと、
前記発生ステップによって発生されたピクセル位置に対応するデータが、前記記憶ステップにより記憶された元画像データにあるか否かを判定する判定ステップと、
前記判定ステップによってデータが無いと判定されたピクセル位置を前記記憶ステップにより記憶されたデータが有るピクセル位置に変換するピクセル変換ステップと、
前記判定ステップによる判定結果に基づいて、前記発生ステップにより発生されたピクセル位置あるいは前記ピクセル変換ステップによって変換されたピクセル位置の何れかを選択する選択ステップと、
前記選択ステップによって選択されたピクセル位置に対応して前記記憶ステップにより記憶されたデータを前記画像処理の対象として転送する転送ステップとを具備したことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルスチルカメラ、デジタルビデオカメラなどのカメラ装置、同カメラ装置における画像処理方法に関する。
【背景技術】
【０００２】
デジタルスチルカメラ、デジタルビデオカメラなどのカメラ装置では、ＣＣＤ（Charge Coupled Device）などの撮像素子によって入力された元画像データ（ベイヤーデータ）がバッファメモリに転送され展開記憶され、その後、ＹＵＶデータへの変換、画像の拡大／縮小、ＭＰＥＧ４デコード時のデブロックフィルタ処理などの画像処理が施されている。
【０００３】
通常、ベイヤーデータに対する画像処理を実行する場合、例えばＹＵＶデータに変換する場合には、ＹＵＶデータを１ピクセル生成するのに、該当ピクセルの周辺の複数ピクセル、例えば縦５ピクセル×横５ピクセルのベイヤーデータが必要となる。
【０００４】
従来では、周辺のピクセルを含む画像処理を実行する画像処理方法として、撮像素子で得た画像データ（ベイヤーデータ）を所定数ライン単位で順次画像処理回路に転送する場合に、次に転送する所定数ライン分の画像データのうちの上位１乃至複数ライン分の画像データを付加した状態で転送する方法が考えられている（特許文献１）。
【特許文献１】特開２００３−１８６１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このように、特許文献１に記載されている画像処理方法では、所定数ライン分の画像データを転送する場合に、次に転送する所定数ライン分の画像データのうちの一部を付加して転送することで、画像処理に必要となるデータを補っていた。
【０００６】
ところで、元のベイヤーデータを所望の画像サイズのＹＵＶデータに変換する場合、例えば６４０×４８０ピクセルのベイヤーデータを６４０×４８０ピクセルのＹＵＶデータに変換したい場合には、ＹＵＶデータを１ピクセル生成するのに該当ピクセルの周辺の複数ピクセルを用いるため、元のベイヤーデータの周辺に複数のピクセルが必要となる。
【０００７】
この場合、特許文献１に記載された画像処理方法では、次に転送する所定数ライン分の画像データのうちの一部を付加して転送するだけであるため、所望の画像サイズのＹＵＶデータを生成することができない。
【０００８】
これに対し、ベイヤーデータの外周に画像処理に必要なデータ（リングピクセル）を付加する方法がある。この場合では、バッファメモリに展開されたベイヤーデータに対して、リングピクセル分のデータを外周にコピーすることになり、ベイヤーデータとリングピクセルによるメモリ上での占有領域が大きくなり、メモリを有効に使えなくなるという問題があった。また、元のベイヤーデータより大きな画像サイズになるため、メモリから画像処理を実行する回路へ転送するデータ量が増えることになり、画像処理速度が遅くなるという問題があった。
【０００９】
さらに、ＹＵＶ４２２の元画像の場合、２ピクセル分がパッキングされて１データになっているため、左右方向へのリングピクセルの付加が必要な量が奇数ピクセルの場合にも、偶数ピクセル分データを付加しなければならないため、その分のメモリ上での占有領域が大きくなり、メモリを有効に使えないという問題があった。
【００１０】
本発明の課題は、元画像データにリングピクセルなどの画像データを付加して画像処理をする場合においても、メモリを有効に利用できるようにすると共に、画像処理の処理速度低下を招かないカメラ装置、画像処理方法、及び画像処理方法を提供することにある。
【課題を解決するための手段】
【００１１】
請求項１記載の発明は、元画像データに所定の画像データを付加して画像処理を実行するカメラ装置において、複数のピクセル位置の各々に対応するデータを含む元画像データを記憶する記憶手段と、画像データに対して複数のピクセル位置のデータをもとにした画像処理を実行する画像処理手段と、前記画像処理手段による画像処理の対象としてデータを転送すべきピクセル位置を発生する発生手段と、前記発生手段によって発生されたピクセル位置に対応するデータが、前記記憶手段により記憶された元画像データにあるか否かを判定する判定手段と、前記判定手段によってデータが無いと判定されたピクセル位置を前記記憶手段に記憶されたデータが有るピクセル位置に変換するピクセル変換手段と、前記判定手段による判定結果に基づいて、前記発生手段により発生されたピクセル位置あるいは前記ピクセル変換手段によって変換されたピクセル位置の何れかを選択する選択手段と、前記選択手段によって選択されたピクセル位置に対応して前記記憶手段に記憶されたデータを前記画像処理手段に転送する転送手段とを具備したことを特徴とする。
【００１２】
請求項２記載の発明は、請求項１記載の発明において、前記画像データを構成する各データのピクセル位置を、前記記憶手段に記憶された元画像データのデータ位置に変換する変換手段を備え、前記転送手段は、前記発生手段により順次発生されるピクセル位置に対応して前記変換手段により順次変換されるデータ位置のデータを前記画像処理手段に順次転送することを特徴とする。
【００１３】
請求項３記載の発明は、請求項１記載の発明において、前記画像処理手段は、処理すべき画像データを構成する複数のデータの転送順序に基づいて各データのピクセル位置を認識して画像処理を実行し、前記発生手段は、前記画像処理手段がピクセル位置を認識するデータの転送順序に対応して順次ピクセル位置を発生することを特徴とする。
【００１４】
請求項４記載の発明は、請求項１記載の発明において、前記画像処理手段は、画像処理の結果として出力すべきピクセル範囲に対して、このピクセル範囲の周辺に位置するピクセル位置のデータを必要とする画像処理であり、前記発生手段は、前記元画像データ全体のピクセル範囲が前記画像処理手段による画像処理の結果として出力されるよう、前記元画像データ全体のピクセル範囲の周辺に位置するピクセル位置を含むピクセル位置を発生することを特徴とする。
【００１５】
請求項５記載の発明は、請求項１記載の発明において、前記記憶手段には元画像データとして、撮像素子によって取得されたベイヤーデータあるいはＹＵＶデータが記憶され、前記記憶手段に前記ＹＵＶデータが記憶されている場合に、複数ピクセルのデータを１ピクセル単位のデータに変換して転送することを特徴とする。
【００１６】
請求項６記載の発明は、請求項１記載の発明において、前記発生手段は、前記記憶手段に記憶される元画像データの上下左右方向の周辺に位置するピクセル位置を含めて指定するもので、前記発生手段によって上下左右方向で発生されるピクセル位置の数をカウントするカウント手段と、前記カウント手段によってカウントされる数が所定値となるまで、前記記憶手段により記憶された元画像データに対応するデータが無いピクセル位置を発生するピクセル位置発生手段とを具備したことを特徴とする。
【００１７】
請求項７記載の発明は、請求項６記載の発明において、前記カウント手段によりカウントされる所定値は、左右方向と上下方向で個別に設定されることを特徴とする。
【００１８】
請求項８記載の発明は、メモリに記憶された画像データを画像処理手段に順次転送して、複数のピクセル位置のデータをもとにした画像処理を実行させるカメラ装置において、前記メモリに記憶された複数のピクセル位置の各々に対応するデータを含む画像データを一時記憶する記憶手段と、前記記憶手段に記憶された画像データを前記画像処理手段に転送する毎に、前記記憶手段に記憶された画像データの周辺に付加するピクセルのピクセル数をカウントする付加ピクセルカウント手段と、前記付加ピクセルカウント手段によって所定のピクセル数がカウントされた後の前記画像処理手段に転送するデータのピクセル位置を逐次順番に発生するピクセル位置発生手段と、前記付加ピクセルカウント手段によって所定のピクセル数までカウントされていない場合に、前記記憶手段に記憶されたデータに対する所定のピクセル位置を指定するピクセル位置指定手段と、前記付加ピクセルカウント手段によって所定のピクセル数までカウントされていない場合に、前記ピクセル位置指定手段によって指定されたピクセル位置を選択し、前記付加ピクセルカウント手段によって所定のピクセル数までカウントされている場合に、前記ピクセル位置発生手段によって発生されたピクセル位置を選択して、前記記憶手段に記憶された該当するピクセル位置のデータを転送する転送手段とを具備したことを特徴とする。
【００１９】
請求項９記載の発明は、元画像データに所定の画像データを付加して画像処理を実行する画像処理方法において、複数のピクセル位置の各々に対応するデータを含む元画像データを記憶する記憶ステップと、複数のピクセル位置のデータをもとにした画像処理の対象としてデータを転送すべきピクセル位置を発生する発生ステップと、前記発生ステップによって発生されたピクセル位置に対応するデータが、前記記憶ステップにより記憶された元画像データにあるか否かを判定する判定ステップと、前記判定ステップによってデータが無いと判定されたピクセル位置を前記記憶ステップにより記憶されたデータが有るピクセル位置に変換するピクセル変換ステップと、前記判定ステップによる判定結果に基づいて、前記発生ステップにより発生されたピクセル位置あるいは前記ピクセル変換ステップによって変換されたピクセル位置の何れかを選択する選択ステップと、前記選択ステップによって選択されたピクセル位置に応じて前記記憶ステップにより記憶されたデータを前記画像処理の対象として転送する転送ステップとを具備したことを特徴とする。
【発明の効果】
【００２０】
請求項１及び９記載の発明によれば、画像処理の対象としてデータを転送する際に、転送すべきピクセル位置に対応するデータがない場合、すなわち元画像データに付加すべきピクセル位置が発生された場合には、このピクセル位置を記憶手段に記憶された実データを示すピクセル位置に変換し、該当するデータ位置のデータを画像処理手段に転送するので、画像処理の結果として得られる画像データのサイズを減少させることなく、且つ、元画像データに対してデータを付加する処理をメモリ上で行った上でデータ転送する必要がないため処理スピードが向上され、またメモリの記憶容量を元画像データに対してデータを付加するための処理のために消費されないので有効に利用することができる。
【００２１】
請求項２記載の発明によれば、請求項１の発明の効果に加えて、前記記憶手段としての実メモリの構成やデータの格納形式を変更する場合でも、前記画像処理手段、前記発生手段、前記判定手段、前記ピクセル変換手段の変更などを行うことなく、前記変換手段のみを変更することで対応できるので、メモリ利用の自由度が増し、メモリ増設なども容易になる。
【００２２】
請求項３記載の発明によれば、請求項１の発明の効果に加えて、画像処理手段に対して処理対象となる画像データを受け渡す場合に、大容量のバッファ領域を必要とすることがなく、メモリを節約することができる。
【００２３】
請求項４記載の発明によれば、請求項１の発明の効果に加えて、周辺ピクセルの情報を必要とする画像処理を、元画像データのサイズを減少させることなく実行することができる。
【００２４】
請求項５記載の発明によれば、請求項１の発明の効果に加えて、元画像データとしてベイヤーデータまたはＹＵＶデータとすることができ、複数のピクセル位置のデータがパッキングされたＹＵＶデータの場合には、これをベイヤーデータと同様に１ピクセル単位のデータに変換することができるので、元画像データがＹＵＶデータである場合であっても、元画像データに対するデータの付加をメモリの記憶容量を消費することなく実行することができる。
【００２５】
請求項６記載の発明によれば、請求項１の発明の効果に加えて、元画像データに付加されるデータのピクセル位置を元画像の上下左右方向のそれぞれについてカウントできるようにすることで、上下左右方向に付加するピクセル数を画像処理に応じて設定することが可能となる。
【００２６】
請求項７記載の発明によれば、請求項６の発明の効果に加えて、元画像データに付加するピクセル数を上下左右方向で個別に設定することで、画像処理に応じて上下左右方向で異なるピクセル数のデータを付加することが可能となる。
【００２７】
請求項８記載の発明によれば、メモリに記憶された画像データを画像処理の対象として転送する際に、画像データに対する付加ピクセル数を所定のピクセル数までカウントされていない場合には、ピクセル位置指定手段によって指示された元画像データ中の所定のピクセル位置のデータを転送することで、画像データに対して所定のピクセル数のデータを付加して画像処理に供することができ、これにより処理スピードが向上され、またメモリの記憶容量を元画像データに対してデータを付加するための処理のために消費されないので有効に利用することができる。
【発明を実施するための最良の形態】
【００２８】
以下、図面を参照して本発明の実施の形態について説明する。
【００２９】
図１は、本実施形態におけるカメラ装置の画像処理に関連する主要な構成を示すブロック図である。
【００３０】
図１に示すように、本実施形態におけるカメラ装置には、ＣＰＵ１、ＡＳＩＣ（Application Specific Integrated Circuit）２、ＲＡＭ３、ＲＯＭ４、光学レンズ系５、ＣＣＤ６、サンプルホールド回路（Ｓ／Ｈ）７、Ａ／Ｄ変換回路（Ａ／Ｄ）８、キー入力部９、ＬＣＤ（Liquid Crystal Display）１０などを有して構成されている。
【００３１】
ＣＰＵ１は、ＲＯＭ４に記憶されたプログラムを実行することによりカメラ装置全体の制御を司るもので、コントロールバス１１を介してＡＳＩＣ２に制御信号を出力し、ＡＳＩＣ２における各種のデータ入出力処理や画像処理などを制御する。
【００３２】
ＡＳＩＣ２は、ＣＰＵ１の制御のもとで、本実施形態における画像データへのデータ付加を伴う画像処理など各種処理を実行する。ＡＳＩＣ２では、撮像系からの画像データの入力、キー入力部９におけるキー入力制御、ＬＣＤ１０における表示制御などを実行する。また、ＡＳＩＣ２は、画像データについてＲＡＭ３とのＤＭＡ（Direct Memory Access）制御を行いながら各種の画像処理を行う。
【００３３】
ＲＡＭ３は、画像データなどを記憶するもので、データバス１２を通じてＡＳＩＣ２との間でデータが転送される。ＲＯＭ４は、ＣＰＵ１により実行されるプログラムを格納する。
【００３４】
撮像系には、光学レンズ系５、ＣＣＤ６、サンプルホールド回路７、及びＡ／Ｄ変換回路８が含まれている。撮影モードにおいては、光学レンズ系５に対して、モータの駆動により絞り位置や通常撮影に応じたレンズ位置に移動される。光学レンズ系５の撮影光軸後方に配置された撮像素子であるＣＣＤ６は、走査駆動されて、一定周期毎に結像した光像に対応する光電変換出力を行う。この光電変換出力は、アナログ値の信号の状態でＲＧＢの各原色成分毎に適宜ゲイン調整された後に、サンプルホールド回路７でサンプルホールドされ、Ａ／Ｄ変換回路８でデジタルデータに変換される。
【００３５】
キー入力部９は、電源キー、シャッタキー、モードスイッチ、メニューキー、選択キー、ズームボタン、及び十字キー（カーソルキー）等から構成され、それらのキー操作に伴なう信号がＡＳＩＣ２（後述するキー入力制御部２１）へ送出される。
【００３６】
ＬＣＤ１０は、撮影モード時に電子ファインダとしてスルー画像をリアルタイム表示したり、シャッタキーの操作に伴って撮像された撮影画像を表示する。
【００３７】
なお、図示していないが、図１に示す構成の他に音声入出力やストロボ駆動に関係する機能、また撮像された画像を記録するための記録媒体として着脱自在に装着されているメモリカードや固定的に内蔵されている内蔵メモリが設けられる。
【００３８】
図２は、図１に示すＡＳＩＣ２の詳細な構成を示すブロック図である。  
ＡＳＩＣ２には、ＬＣＤ制御部２０、キー入力制御部２１、ＣＣＤ制御部２２、データインタフェース（Ｉ／Ｆ）部２３、画像データ転送部２４の他、画像データ処理ブロックとして画像処理部２５、画素数変換部２６、デブロッキングフィルタ部２７などの機能が設けられている。
【００３９】
ＬＣＤ制御部２０は、ＬＣＤ１０を駆動して画像の表示を制御する。
【００４０】
キー入力制御部２１は、キー入力部９に対するユーザ操作に伴うキー入力情報を取り込む。
【００４１】
ＣＣＤ制御部２２は、撮像系（ＣＣＤ６）の制御を行い、ＣＣＤ６により取得された画像データ（ベイヤーデータ）を取り込み、データインタフェース部２３に出力する。
【００４２】
データインタフェース部２３は、ＣＣＤ制御部２２の制御によりＣＣＤ６から取得された画像データのＲＡＭ３への書き込みや、ＲＡＭ３に書き込まれた画像データの読み込み、あるいは画像データ転送部２４から画像データ処理ブロックにより各種画像処理された後の画像データのＲＡＭ３への書き込みなどのデータ制御を行う。
【００４３】
画像データ転送部２４は、データインタフェース部２３と画像データ処理ブロックとの間のデータ転送を制御する。画像データ転送部２４は、ＣＰＵ１の制御により、データインタフェース部２３を介して入力される画像データを、画像データ処理ブロックの何れか、すなわち画像処理部２５、画素数変換部２６、デブロッキングフィルタ部２７の何れかに転送し、各画像処ブロックにおいて処理された画像データをデータインタフェース部２３に転送する。画像データ転送部２４は、画像データ処理ブロックに画像データを転送する際、画像処理の対象となる元画像データに対して、画像処理で必要とするリングピクセルを元画像の周辺に付加して画像データ処理ブロックに転送する。画像データ転送部２４は、元画像データに対して付加するリングピクセルを、ＣＰＵ１の制御により画像処理の内容に応じてピクセル数を選択的に変更することができる。
【００４４】
画像処理部２５は、例えばベイヤーデータをＹＵＶデータに変換する画像処理を実行する。
【００４５】
画素数変換部２６は、画像を拡大あるいは縮小するために、画像データに対する補間処理によって画像数を変換する拡大・縮小処理を行う。
【００４６】
デブロッキングフィルタ部２７は、ＭＰＥＧ４デコード時にブロッキングノイズを緩和するためのフィルタ処理を実行する。
【００４７】
画像データ処理ブロックにおける画像処理では、処理対象とする注目ピクセルに対して、その周辺のピクセルのデータを用いて処理を実行する。従って、例えば画像処理によって得られるＹＵＶデータの画像サイズを元画像データと同じにする場合、元画像の周辺にリングピクセルを付加し、このリングピクセルの画像データを含めて画像処理を実行することで対応する。本実施形態では、画像処理に必要なリングピクセルを、ＲＡＭ３に展開記憶された画像データに対して付加するのではなく、ＲＡＭ３に記憶された元画像データを画像データ処理ブロックに転送する際に、画像データ転送部２４において画像処理の必要性に応じてリングピクセルのデータを付加していく。画像データ処理ブロックでは、処理すべき画像データを構成する複数のデータの転送順序に基づいて各データのピクセル位置を認識しながらそれぞれの画像処理を実行し、画像データ転送部２４は、画像データ処理ブロックにおいて画像処理を実行する際に認識されるデータの転送順序に対応して順次ピクセル位置を発生させながら、該当するデータを画像データ処理ブロックに順次転送する。
【００４８】
次に、本実施形態におけるカメラ装置における画像処理の動作について説明する。  
以下の説明では、横６４０×縦４８０のベイヤーデータを同じ画像サイズのＹＵＶ４２２の画像データへ変換する場合を例にして説明する。なお、データバス１２は３２ビットバスとし、ＤＭＡは１６バーストとする。
【００４９】
まず、撮像系（ＣＣＤ６）により撮影された画像データがＣＣＤ制御部２２により取り込まれ、データインタフェース部２３を介してＲＡＭ３に書き込まれる。図３には、ＲＡＭ３に展開記憶された画像データ（ベイヤーデータ）を示している。図３に示すベイヤーデータは、１ピクセルが８ビットのデータである。
【００５０】
ここで、ベイヤーデータを画像処理部２５においてＹＵＶデータに変換するために、図４に示すように、ベイヤーデータ（画像処理部２５が処理するデータブロック）の周辺に３ピクセル分のリングピクセルが必要であるものとする。
【００５１】
画像データ転送部２４は、データインタフェース部２３を介して、ＲＡＭ３に記憶されたベイヤーデータを順次読み込み、図５に示すように、所定単位（ベルト単位）のデータ毎に垂直方向に分割（例えば１６ピクセル単位で３０分割）し、必要に応じてリングピクセル（例えば３ピクセル）を付加しながら、画像処理部２５に対して垂直方向に１ピクセル単位（８ビット）でデータを転送する（画像データ転送部２４についての詳細な構成と動作については後述する）。図５では、１つのベルトの上下左右にそれぞれ３ピクセルのデータを付加して画像処理部２５に転送する。
【００５２】
ＲＡＭ３に記憶されたベイヤーデータ全体については、図６に示すように、ベルト単位で画像処理部２５にデータが転送される。１ベルト目のデータについては、画像データ転送部２４によりベルトの上に３ピクセル分のラインを付加して１９ライン目まで（１６ライン＋下リングピクセル３ライン）を転送する。すなわち、１ベルト目と２ベルト目の間のように、画像データが存在する場合には、画像データ転送部２４によりリングピクセル付加を行わず、元のデータを画像処理部２５に出力する。２ベルト目から２９ベルト目までは２２ライン（３＋１６＋３ライン）となる。また、３０ベルト目（最終ベルト）では１９ライン目（上リングピクセル３ライン＋１６ライン）を転送し、画像データ転送部２４によりベルトの下に３ピクセル分のラインを付加して転送する。
【００５３】
なお、図６では、各ベルトの上下のリングピクセルのみについて説明しているが、各ベルトの左右に対してそれぞれ３ピクセルのリングピクセルのデータが画像データ転送部２４により付加されて画像処理部２５に転送される（詳細については後述する）。
【００５４】
画像処理部２５は、画像データ転送部２４から所定の順番で転送されたデータに対して、分割単位（ベルト単位）ごとに各データのピクセル位置を認識しながらデータを処理し、６４０×１６ピクセルのＹＵＶデータを生成し、画像データ転送部２４に出力する。
【００５５】
画像データ転送部２４は、画像処理部２５からの画像データを、データインタフェース部２３を介してＲＡＭ３に書き込む。
【００５６】
このように、画像処理部２５においてベイヤーデータをＹＵＶデータに変換する処理にリングピクセルのデータが必要な場合に、ＲＡＭ３に展開記憶されたベイヤーデータに対して付加するのではなく、画像データ転送部２４において、画像処理部２５に対してデータを出力する直前に付加するようにしているため、ＲＡＭ３では元画像データのみを記憶させておくだけで良く画像データの占有領域を増大させることがない。
【００５７】
次に、画像データに対してリングピクセルを付加する処理を実行するための画像データ転送部２４の詳細な構成と動作について説明する。  
まず、画像データ転送部２４のリングピクセルを付加する機能構成の概略について説明する。
【００５８】
（１）画像データ記憶。
【００５９】
まず、ＣＣＤ６によって取得された画像データ（各ピクセル位置のデータを含む）を実メモリ（入力バッファ）に記憶する。ここでは、例えばベルト単位で複数回に分けてＣＣＤ６により取得された画像データが読み込まれて一時記憶されるものとする。例えば、実メモリ（入力バッファ）に記憶されるデータのデータ長を３２ビットとして記憶する。
【００６０】
なお、実メモリ（入力バッファ）はベルト単位で画像データを記憶するだけでなく、画像データ全体を記憶する構成（記憶容量）とすることもできる。また、データ長も３２ビットに限らない。
【００６１】
（２）ピクセル範囲設定。
【００６２】
画像データ処理ブロックに転送する画像データにおけるピクセル範囲（Ｘmin Ｙmin，Ｘmax，Ｙmax）と、このピクセル範囲の周辺に画像処理の内容に応じて付加されるリングピクセルを含む全体のピクセル範囲（Ｘmin0 ，Ｙmin0，Ｘmax0，Ｙmax0）を設定する。ここでは、ピクセル範囲（Ｘmin Ｙmin，Ｘmax，Ｙmax）は、１つのベルトの画像データとなる。
【００６３】
（３）ピクセル位置指定。
【００６４】
全体のピクセル範囲（Ｘmin0 ，Ｙmin0，Ｘmax0，Ｙmax0）における転送すべきピクセル位置（Ｘ，Ｙ）を逐次順番に指定する。図７には、全体のピクセル範囲における画像データのピクセル範囲と、転送すべきピクセル位置を示している。
【００６５】
例えば、実メモリ（入力バッファ）にはベルト単位で画像データが記憶される場合には、複数のベルトのそれぞれについて順番に処理する。１つのベルトの画像データに対する処理は、Ｙ方向、Ｘ方向の順で順次ピクセル位置を更新していく。
【００６６】
なお、前述した説明では、実メモリにベルト単位で画像データが記憶される場合を例にして説明しているが、ベルト単位に分割した処理に限定されるものではない。また、この画像データに対するピクセル位置の指定順序は、Ｙ方向、Ｘ方向の順に限定されない。
【００６７】
（４）ピクセル位置判定。
【００６８】
ピクセル位置（Ｘ，Ｙ）がピクセル範囲（Ｘmin Ｙmin，Ｘmax，Ｙmax）に含まれるか否か、すなわち指定されたピクセル位置に対応するデータの有無を判定する。ここでは条件（Ｘ＜Ｘmin）ｏｒ（Ｘ＞Ｘmax）ｏｒ（Ｙ＜Ｙmin）ｏｒ（Ｙ＞Ｙmax）を満たす場合に、指定されたピクセル位置に対応するデータが存在しないと判定することができる。
【００６９】
（４）ピクセル位置変換。
【００７０】
転送すべきピクセル位置（Ｘ，Ｙ）を、ピクセル範囲（Ｘmin Ｙmin，Ｘmax，Ｙmax）内の転送対象とするデータのピクセル位置に変換する。
【００７１】
例えば、２×２ピクセルが単位ブロックであるベイヤーデータなどの場合に、（Ｘ＜Ｘmin）の場合は、（Ｘmin＋（（Ｘmin−１−Ｘ）／２）の余り）をＸに変換し、（Ｘ＞Ｘmax）の場合は、（Ｘmax＋（（Ｘ−Ｘmin＋１）／２）の余り）をＸに変換し、（Ｙ＜Ｙmin）の場合は、（Ｙmin＋（（Ｙmin−１−Ｙ）／２）の余り）をＹに変換し、（Ｙ＞Ｙmax）の場合は、（Ｙmax＋（（Ｙ−Ｙmin＋１）／２）の余り）をＹに変換する。
【００７２】
（５）ピクセル位置選択。
【００７３】
ピクセル位置判定の判定結果に基づいて、ピクセル位置指定において転送すべきとして指定されたピクセル位置（Ｘ，Ｙ）か、ピクセル位置変換によって変換されたピクセル位置（Ｘ，Ｙ）の何れかを選択する。すなわち、ピクセル位置指定により指定されたピクセル位置に対応するデータが存在しないと判定した場合には、ピクセル位置変換によって変換されたピクセル位置（Ｘ，Ｙ）を選択する。
【００７４】
（６）メモリアドレス変換。
【００７５】
ピクセル位置選択によって選択されたピクセル位置（Ｘ，Ｙ）を、画像データが記憶された実メモリのメモリアドレス及びデータビット位置に変換する。
【００７６】
ここでは、ＣＣＤ６によって取得されたデータ（画素情報）を一時記憶する実メモリ（入力バッファ）の構成および格納方法に応じて、適宜ピクセル位置とメモリアドレスの変換を行う。例えば、１画素が８ビット、実メモリのデータ長が３２ビットなどの場合は、メモリアドレスおよびデータビット位置によって１つのピクセル位置が指定される。
【００７７】
（７）データ転送制御。
【００７８】
メモリアドレス変換による変換により得られたメモリアドレス（及びデータビット位置）に従い、所定タイミングによるデータ転送を制御する。
【００７９】
次に、画像データ転送部２４の詳細について説明する。図８は、画像データ転送部２４のリングピクセルを付加するための構成を示すブロック図である。
【００８０】
図８に示すように、画像データ転送部２４には、入力バッファ３０、アドレス生成部３１、垂直ラインカウンタ３２、垂直リングピクセルカウンタ３３、水平ピクセルカウンタ３４、水平リングピクセルカウンタ３５、データ選択部３６、データセレクタ３７が設けられている。
【００８１】
入力バッファ３０は、データインタフェース部２３から入力されるデータを記憶するもので、例えば入力データ用に３２ビット×１６バースト×３２ライン分のバッファ領域、出力データ用に３２ビット×１６バースト×１６ライン分のバッファ領域が設けられている。なお、入力バッファ３０のバッファ領域はこれに限るものではない。
【００８２】
アドレス生成部３１は、垂直ラインカウンタ３２のカウンタ値と垂直リングピクセルカウンタ３３によるカウンタ値に応じた入力バッファ３０のアドレスを生成する。入力バッファ３０が示すアドレスにより、３２ビット（４ピクセル）のデータが読み出される。
【００８３】
垂直ラインカウンタ３２は、入力バッファ３０に記憶されたデータのアドレスを生成するためにライン数をカウントする。
【００８４】
垂直リングピクセルカウンタ３３は、入力バッファ３０に記憶されたデータに付加する垂直方向のリングピクセル（垂直リングピクセル）の数をカウントする。
【００８５】
水平ピクセルカウンタ３４は、入力バッファ３０に記憶されたデータの１ライン中のピクセル位置をカウントする。
【００８６】
水平リングピクセルカウンタ３５は、入力バッファ３０に記憶されたデータに付加する水平方向のリングピクセル（水平リングピクセル）の数をカウントする。
【００８７】
データ選択部３６は、水平ピクセルカウンタ３４あるいは水平リングピクセルカウンタ３５の何れかを選択し、この選択されたカウンタによりカウントされた値を出力する。
【００８８】
データセレクタ３７は、データ選択部３６から出力された値をもとに、アドレス生成部３１が示すアドレスのデータ（３２ビット）から１ピクセル（８ビット）分のデータを選択して画像処理部２５に出力する。なお、データセレクタ３７は、画像データが記憶される入力バッファ３０の構成やバッファリングの方法に応じて、画像処理部２５に転送すべきデータ（例えば１ピクセル）を選択できるように構成される。
【００８９】
次に、図８に示す画像データ転送部２４におけるリングピクセルを付加する動作について説明する。
【００９０】
画像データ転送部２４の入力バッファ３０には、入力データ用に３２ビット×１６バースト×３２ライン分の記憶容量が設けられており、ＲＡＭ３に記憶されたベイヤーデータが１ピクセル８ビットなので６４ピクセル×３２ライン分を取り込むことができる。画像データのサイズが水平６４０ピクセルなので（図３）、この入力バッファ３０への取り込みを１０回繰り返すことで１ベルト分のデータを処理することができる。
【００９１】
なお、出力データ用に３２ビット×１６バースト×１６ライン分の記憶容量が設けられ、画像処理部２５における画像処理によって得られるＹＵＶ４２２の画像データが３２ビットで２ピクセル分なので、３２ピクセル×１６ライン分を取り込むことができる。画像サイズが水平６４０ピクセルなので、この入力バッファ３０のデータ取り込みを２０回繰り返すことで１ベルト分のデータを処理できる。
【００９２】
まず、１ベルト目については、ＲＡＭ３から読み込まれたデータ（３２ビット×１６バースト×１９ライン分）が、図９のように入力バッファ３０に書き込まれる。
【００９３】
図９において記載されている番号は、ライン番号と水平ピクセル番号を表したもので、１−１は１ライン目の１ピクセル、２−５は２ライン目の５ピクセルを示している。入力バッファ３０への書き込み時には、３２ビット毎に３２ライン分あけてデータ書き込みを行う。例えば、１−１，１−２，１−３，１−４のデータ（３２ビット）を書き込んだ後は、３２ライン分の容量のあとに１−５，１−６，１−７，１−８のデータを書き込む。
【００９４】
画像データ転送部２４は、垂直ラインカウンタ３２と水平ピクセルカウンタ３４によって、入力バッファ３０に記憶された転送すべきデータに対応するピクセル位置をカウントし、また入力バッファ３０に記憶されたデータに対して付加するリングピクセルをカウントする（ピクセル範囲設定、ピクセル位置指定）。
【００９５】
画像処理部２５へのデータは、垂直ラインカウンタ３２によりカウントされるベルトのライン数分連続したバッファアドレスからデータを読み出し、この読み出した３２ビット中の８ビットを水平ピクセルカウンタ３４によりカウントされる値に応じて選択して出力する。
【００９６】
ここでは、図４に示すように、入力バッファ３０に記憶されたデータに対して３ピクセル分のリングピクセルを付加するため、垂直リングピクセルカウンタ３３と水平ピクセルカウンタ３４によって３ピクセルをカウントする。
【００９７】
垂直ラインカウンタ３２、垂直リングピクセルカウンタ３３、水平ピクセルカウンタ３４、水平リングピクセルカウンタ３５の初期値をそれぞれ１とする。垂直ラインカウンタ３２は、垂直リングピクセルカウンタ３３がリングピクセル分のカウントを終了するまでカウントが停止される。また、水平ピクセルカウンタ３４は、水平リングピクセルカウンタ３５がリングピクセル分のカウントを終了するまでカウントが停止される。
【００９８】
アドレス生成部３１は、垂直リングピクセルカウンタ３３によりカウントされるリングピクセルの位置が奇数位置である場合には、垂直ラインカウンタ３２によりカウントされているカウンタ値に＋１した値に応じたアドレスを生成し、偶数位置である場合にはカウンタ値に応じたアドレスを生成する。
【００９９】
また、データ選択部３６は、水平リングピクセルカウンタ３５によりカウントされるリングピクセルの位置が奇数位置である場合には、水平ピクセルカウンタ３４によりカウントされているカウンタ値に＋１した値、偶数位置である場合にはカウンタ値を選択する。
【０１００】
データセレクタ３７は、データ選択部３６によって選択されたカウンタ値に応じて、アドレス生成部３１が生成したアドレスに記憶された３２ビット中の８ビットを選択して画像処理部２５に出力する（メモリアドレス変換）。
【０１０１】
垂直リングピクセルカウンタ３３と水平リングピクセルカウンタ３５によりリングピクセル分のカウントが終了するまでは、垂直ラインカウンタ３２と水平ピクセルカウンタ３４のカウント値に該当するピクセル位置に対応するデータがないものとし（ピクセル位置判定）、垂直ラインカウンタ３２と水平ピクセルカウンタ３４によりカウントされたカウント値をもとに、入力バッファ３０に記憶されたデータを出力するためのピクセル位置をアドレス生成部３１とデータ選択部３６によって求める（ピクセル位置選択、ピクセル位置変換）。
【０１０２】
従って、１ベルト目では、図１０中に矢印で示すように、入力バッファ３０に記憶されたデータが２−２，１−２，２−２，１−２，２−２、３−２，４−２…の順番で画像処理部２５に出力される。
【０１０３】
同様に、ベルトの最後でもリングピクセル分カウンタを停止し、垂直リングピクセルカウンタ３３が奇数位置では、垂直ラインカウンタ３２によるラインカウンタ値＋１、偶数位置ではラインカウンタ値によりバッファアドレスを生成し、水平ピクセルカウンタ３４が奇数位置では水平ピクセルカウンタ値−１、偶数位置では水平ピクセルカウンタ値により、３２ビット中８ビットを選択することで図１０に示すような順番でデータを画像処理部２５に出力する。
【０１０４】
２ベルト目から最終ベルトの１つ前のベルトまでについては、上下に位置するベルトのデータ（３ライン）を用いるため、水平方向（左右）のみについて前述と同様にしてリングピクセルの付加を行う。図１１には、２ベルト目のデータを示す。図１１に示すように、上リングピクセル３ラインは、１４〜１６ラインのデータがリングピクセルとして付加され、下リングピクセル３ラインは、３３〜３５ラインのデータが付加されている。
【０１０５】
最終ベルトのベルト開始位置でのリングピクセル付加は、垂直リングピクセルカウンタ３３が奇数位置では、垂直ラインカウンタ３２によるラインカウンタ値−１、偶数位置ではラインカウンタ値によりバッファアドレスを生成し、水平リングピクセルカウンタ３５が奇数位置を示す場合には水平ピクセルカウンタ３４による水平ピクセルカウンタ値＋１、偶数位置では水平ピクセルカウンタ値により３２ビット中８ビットを選択して出力する。また、ベルトの終了位置では、垂直リングピクセルカウンタ３３が奇数位置では、垂直ラインカウンタ３２によるラインカウンタ値−１、偶数位置ではラインカウンタ値によりバッファアドレスを生成し、水平リングピクセルカウンタ３５が奇数位置を示す場合には水平ピクセルカウンタ３４による水平ピクセルカウンタ値−１、偶数位置では水平ピクセルカウンタ値により、３２ビット中８ビットを選択して出力する。
【０１０６】
このようにして、本実施形態では、画像データ処理ブロックに対してデータを出力する直前に、画像データ転送部２４によってリングピクセルを付加するようにしているため、ＲＡＭ３に記憶された元画像データに対する加工を行うことが無い。従って、処理スピードを速くすることができ、ＲＡＭ３において画像データを記憶するために要する容量を少なくして、ＲＡＭ３の容量をより有効に活用することができる。
【０１０７】
なお、前述した説明では、リングピクセルとして３ピクセル分のデータを付加するものとして説明しているが、リングピクセルのピクセル数は任意に変更することができる。また、上下左右方向に付加するリングピクセルのピクセル数についても個別に変更することができる。すなわち、前述したように、画像データ転送部２４の垂直リングピクセルカウンタ３３及び水平リングピクセルカウンタ３５において付加すべきピクセル数をカウントし、このカウント値に応じて画像処理部２５に出力すべきデータのピクセル位置を求めてデータを出力することができる。これにより、画像データ処理ブロックにおいて実行される、リングピクセルを利用した各種の画像処理に対応することができる。
【０１０８】
また、前述した説明では、ＣＣＤ６を含む撮像系により取得されてＲＡＭ３に記憶されたベイヤーデータに対してリングピクセルを付加する場合について説明しているが、同様にして、ＲＡＭ３に記憶された元画像データをＹＵＶデータとし、このＹＵＶデータに対してリングピクセルを付加して画像データ処理ブロックに出力することもできる。
【０１０９】
例えば、ＹＵＶ４２２データは、２ピクセルが３２ビットデータにパッキングされている。画像データ処理ブロックでは、１ピクセル単位でデータが必要とすると、元画像データの最外周に当たるＹＵＶデータの１ピクセル分（２４ビットデータ）を水平、垂直リングピクセルカウンタ分繰り返し出力することでリングピクセルを付加する。これにより、例えば１ベルト目では、図１２に示すように、元画像データの外周部のデータがリングピクセルとして付加された例を示している。
【０１１０】
なお、ＲＡＭ３からの２ピクセル分（３２ビットデータ）から１ピクセル分（２４ビットデータ）へのデータの変換は図１３に示すように行う。図１３（ａ）に示すように、２ピクセルがパッキングされた３２ビットデータを、図１３（ｂ）に示すように、１ピクセルが２４ビットのデータに変換する。
【０１１１】
このようにして、ＹＵＶ４２２データを元画像データとする場合には、２ピクセル分パッキングされたデータを１ピクセル単位に変換してリングピクセルとして付加することができる。こうして、ベイヤーデータだけでなく、元画像データをＹＵＶデータデータとした場合にも対応することができる。
【０１１２】
また、前述した説明では、デジタルスチルカメラやデジタルビデオカメラなどのカメラ装置を対象としているが、カメラ機能付きの携帯電話機や携帯型の情報処理装置（ＰＤＡ（personal digital assistant）やＰＣ（Personal Computer）など）に適用することもできる。
【０１１３】
さらに、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組み合わせにより種々の発明が抽出され得る。例えば、実施の形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも１つが解決でき、発明の効果の欄で述べられている効果の少なくとも１つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【０１１４】
【図１】本発明の実施形態におけるカメラ装置の画像処理に関連する主要な構成を示すブロック図。
【図２】図１に示すＡＳＩＣ２の詳細な構成を示すブロック図。
【図３】本実施形態におけるＲＡＭ３に展開記憶された画像データ（ベイヤーデータ）の一例を示す図。
【図４】本実施形態におけるベイヤーデータの周辺に付加されるリングピクセルを示す図。
【図５】本実施形態における画像処理部２５へのデータ転送を説明するための図。
【図６】本実施形態における画像処理部２５へのベルト単位でのデータ転送を説明するための図。
【図７】本実施形態における全体のピクセル範囲における画像データのピクセル範囲と転送すべきピクセル位置を示す図。
【図８】本実施形態における画像データ転送部２４のリングピクセルを付加するための構成を示すブロック図。
【図９】本実施形態における入力バッファ３０に記憶されるデータの一例を示す図。
【図１０】本実施形態における１ベルト目に付加されるリングピクセルを示す図。
【図１１】本実施形態における２ベルト目に付加されるリングピクセルを示す図。
【図１２】本実施形態における元画像データをＹＵＶデータとした場合の１ベルト目に付加されるリングピクセルを示す図。
【図１３】本実施形態における２ピクセル分（３２ビットデータ）から１ピクセル分（２４ビットデータ）へのデータの変換を示す図。
【符号の説明】
【０１１５】
１…ＣＰＵ、２…ＡＳＩＣ、３…ＲＡＭ、４…ＲＯＭ、５…光学レンズ系、６…ＣＣＤ、７…サンプルホールド回路、８…Ａ／Ｄ変換回路、９…キー入力部、１０…ＬＣＤ、１１…コントロールバス、１２…データバス、２０…ＬＣＤ制御部、２１…キー入力制御部、２２…ＣＣＤ制御部、２３…データインタフェース部、２４…画像データ転送部、２５…画像処理部２５、２６…画素数変換部、２７…デブロッキングフィルタ部、３０…入力バッファ、３１…アドレス生成部、３２…垂直ラインカウンタ、３３…垂直リングピクセルカウンタ、３４…水平ピクセルカウンタ、３５…水平リングピクセルカウンタ、３６…データ選択部、３７…データセレクタ。
【図１】
2006211402.tif 000003
【図２】
2006211402.tif 000004
【図３】
2006211402.tif 000005
【図４】
2006211402.tif 000006
【図５】
2006211402.tif 000007
【図６】
2006211402.tif 000008
【図７】
2006211402.tif 000009
【図８】
2006211402.tif 000010
【図９】
2006211402.tif 000011
【図１０】
2006211402.tif 000012
【図１１】
2006211402.tif 000013
【図１２】
2006211402.tif 000014
【図１３】
2006211402.tif 000015