(57)【要約】【課題】同一箇所を参照して圧縮されたブロックが再生時に目立たないようにすること。【解決手段】画像処理装置は、動画の圧縮に用いられる動きベクトルを特定する動きベクトル特定部と、動画を構成する第１画像内の複数のブロックから動きベクトルを用いて参照される一のブロックを、動画を構成する第２画像内から検出するブロック検出部と、一のブロックが検出された場合に、複数のブロックに対してノイズを付加するノイズ付加部と、を備える。【選択図】図４
2013123090.tif 000002
【特許請求の範囲】
【請求項１】
動画の圧縮に用いられる動きベクトルを特定する動きベクトル特定部と、
前記動画を構成する第１画像内の複数のブロックから前記動きベクトルを用いて参照される一のブロックを、前記動画を構成する第２画像内から検出するブロック検出部と、
前記一のブロックが検出された場合に、前記複数のブロックに対してノイズを付加するノイズ付加部と、
を備える画像処理装置。
【請求項２】
前記動画は、圧縮対象の動画であり、
前記動きベクトル抽出部は、前記動画の圧縮に用いる動きベクトルを探索し、
前記ブロック検出部は、前記探索された動きベクトルを用いて前記複数のブロックから参照される前記一のブロックを検出する
請求項１に記載の画像処理装置。
【請求項３】
前記ノイズ付加部は、前記複数のブロックのうちの一部のブロックに対して、他のブロックとは互いに異なるノイズを付加する
請求項１または２に記載の画像処理装置。
【請求項４】
前記ノイズ付加部は、前記複数のブロックのうち位置が連続するブロックに対して、互いに異なるノイズを付加する
請求項３に記載の画像処理装置。
【請求項５】
前記ノイズ付加部は、前記位置が連続する複数のブロックに対して、位置の順でノイズ強度を変化させたノイズを付加する
請求項４に記載の画像処理装置。
【請求項６】
前記ノイズ付加部は、前記複数のブロックの位置のばらつきが大きいほど、前記複数のブロックに対して強度が小さいノイズを付加する
請求項１から５のいずれか一項に記載の画像処理装置。
【請求項７】
前記ノイズ付加部は、前記複数のブロックの数が多いほど、前記複数のブロックに対して強度が大きいノイズを付加する
請求項１から６のいずれか一項に記載の画像処理装置。
【請求項８】
前記ノイズ付加部は、前記動きベクトルに基づく予測画像との間のブロックの差分値が予め定められた値より小さいブロックに対してノイズを付加せず、前記ブロックの差分値が前記予め定められた値以上のブロックに対してノイズを付加する
請求項１から７のいずれか一項に記載の画像処理装置。
【請求項９】
前記ノイズ付加部は、高周波成分をより多く含むブロックに、強度が大きいノイズを付加する
請求項１から８のいずれか一項に記載の画像処理装置。
【請求項１０】
前記ノイズ付加部は、輝度信号にノイズを付加する
請求項１から９のいずれか一項に記載の画像処理装置。
【請求項１１】
前記一のブロックに対してデブロッキングフィルタを適用するデブロック処理部
をさらに備え、
前記ノイズ付加部は、前記一のブロックに適用する前記デブロッキングフィルタの強度を、前記一のブロック以外のブロックに適用する前記デブロッキングフィルタの強度より大きく設定する
請求項１から１０のいずれか一項に記載の画像処理装置。
【請求項１２】
前記動画を撮像する撮像部と、
請求項１から１１のいずれか一項に記載の画像処理装置と、
を備える撮像装置。
【請求項１３】
動画の圧縮に用いられる動きベクトルを抽出するステップと、
前記動画を構成する第１画像内の複数のブロックから前記動きベクトルを用いて参照される一のブロックを、前記動画を構成する第２画像内から検出するステップと、
前記一のブロックが検出された場合に、前記複数のブロックに対してノイズを付加するステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置およびプログラムに関する。
【背景技術】
【０００２】
復号された動画像信号に、復号された動画像信号の輝度信号に応じて適応的にノイズを付加する技術が知られている（例えば、特許文献１参照）。
［先行技術文献］
［特許文献］
［特許文献１］特開平８−１６３５９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
フレーム相関を用いてブロック毎に圧縮する動画圧縮方式において、同一フレーム内の複数のブロックが、他フレームの同一ブロックを参照して圧縮される場合がある。この場合、参照されたブロックの画像成分が、複数のブロックの画像成分として強く現れる場合がある。例えば、ビットレートが低い場合等に、差分信号の符号量が大きく削減されてしまい、参照されたブロックの画像パターンに類似した画像パターンが同一フレーム内に沢山現れてしまう場合がある。動画を再生すると、類似したパターンを持つ箇所が目立ってしまう場合がある。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、画像処理装置は、動画の圧縮に用いられる動きベクトルを特定する動きベクトル特定部と、動画を構成する第１画像内の複数のブロックから動きベクトルを用いて参照される一のブロックを、動画を構成する第２画像内から検出するブロック検出部と、一のブロックが検出された場合に、複数のブロックに対してノイズを付加するノイズ付加部と、を備える。
【０００５】
本発明の第２の態様においては、撮像装置は、動画を撮像する撮像部と、上記画像処理装置と、を備える。
【０００６】
本発明の第３の態様においては、プログラムは、動画の圧縮に用いられる動きベクトルを抽出するステップと、動画を構成する第１画像内の複数のブロックから動きベクトルを用いて参照される一のブロックを、動画を構成する第２画像内から検出するステップと、一のブロックが検出された場合に、複数のブロックに対してノイズを付加するステップと、をコンピュータに実行させる。
【０００７】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００８】
【図１】撮像装置１００のシステム構成図の一例を示す。
【図２】圧縮部１８０が有するブロック構成の一例を示す。
【図３】復号部１８２のブロック構成の一例を示す。
【図４】ノイズを付加する処理に関する機能等を説明するための模式図を示す。
【図５】マクロブロック数に対応するノイズ強度を説明する模式図を示す。
【図６】マクロブロックの位置分布に対応するノイズ強度を説明する模式図を示す。
【図７】連続するマクロブロックの数に対応するノイズ強度を説明する模式図を示す。
【図８】連続ブロック内の各ブロックに対するノイズ強度を説明する模式図を示す。
【図９】撮像装置１００の起動から終了までの処理フローを示す。
【図１０】動画撮影における動作フローの一例を示す。
【図１１】付加するノイズの強度を決定する動作フローの一例を示す。
【図１２】復号部１８２が復号処理をする場合の動作フローの一例を示す。
【発明を実施するための形態】
【０００９】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１０】
図１は、撮像装置１００のシステム構成図の一例を示す。撮像装置１００は、交換レンズ１２０およびカメラ本体１３０を備える。交換レンズ１２０は、レンズマウント接点１２１を有するレンズマウントを備え、カメラ本体１３０は、カメラマウント接点１３１を有するカメラマウントを備える。レンズマウントとカメラマウントが係合して交換レンズ１２０とカメラ本体１３０が一体化されると、レンズマウント接点１２１とカメラマウント接点１３１が接続される。撮像装置１００は一眼レフレックスカメラとして機能する。
【００１１】
被写体光は、光軸に沿って撮影光学系としてのレンズ群１２２を透過して、撮像素子１３２の受光面に結像する。レンズＭＰＵ１２３は、レンズマウント接点１２１およびカメラマウント接点１３１を介してカメラＭＰＵ１３３と接続され、相互に通信を実行しつつ協働して交換レンズ１２０とカメラ本体１３０を制御する。例えば、レンズＭＰＵ１２３は、カメラＭＰＵ１３３と協働して、画角内に設定された少なくとも１つの焦点調節領域の被写体に合焦するようレンズ群１２２の焦点調節を行う。例えば、レンズＭＰＵ１２３は、フォーカスレンズモータを制御して、レンズ群１２２を構成するフォーカスレンズ群を移動させる。これにより、レンズ群１２２の焦点調節が行われる。
【００１２】
メインミラー１５０は、レンズ群１２２を通過した被写体光束を反射する。メインミラー１５０は、レンズ群１２２の光軸を中心とする被写体光束中に斜設される斜設状態と、被写体光束から退避する退避状態を取り得る。メインミラー１５０が斜設状態にある場合、反射された被写体光束は光学ファインダ部１５６に導かれて、ユーザに観察される。ユーザは、光学ファインダ部１５６を通じて撮影の構図等を設定することができる。
【００１３】
斜設状態におけるメインミラー１５０の光軸近傍領域は、ハーフミラーとして形成されており、入射される被写体光束の一部が透過する。透過した被写体光束は、サブミラー１５１で反射されて、合焦センサ１４２へ導かれる。合焦センサ１４２は、被写体光束を受光して位相差信号を出力する複数の光電変換素子列を有する。合焦センサ１４２は、被写体像の特定の領域に対応して設けられる複数の焦点調整領域のそれぞれにおいて、合焦状態、前ピン状態、後ピン状態を検出することができる。合焦センサ１４２は、前ピン状態、後ピン状態の場合には、合焦状態からのずれ量も検出することができるように構成されている。カメラＭＰＵ１３３は、合焦状態からのズレ量に基づき、被写体までの距離を検出することができる。レンズ群１２２の焦点状態は、カメラＭＰＵ１３３等の処理によって、位相差信号を相関演算することで特定される。レンズ群１２２が有するフォーカスレンズの目標位置は、カメラＭＰＵ１３３等の制御によって焦点状態に基づき決定され、カメラＭＰＵ１３３等の制御によって、決定された目標位置に向けてフォーカスレンズの位置が制御される。このように、レンズ群１２２は、位相差検出方式で焦点状態が検出されて焦点調節が行われる。すなわち、メインミラー１５０がダウンし斜設状態にある場合、合焦センサ１４２からの出力を用いて、位相差検出方式で焦点状態を検出して焦点調節する。
【００１４】
メインミラー１５０が被写体光束から退避すると、サブミラー１５１はメインミラー１５０に連動して被写体光束から退避する。メインミラー１５０が退避状態にある場合、レンズ群１２２を通過した被写体光束は、撮像素子１３２の受光面に入射する。撮像素子１３２は、レンズ群１２２を通過した被写体光束により撮像する。撮像素子１３２は、撮像部として機能する。
【００１５】
撮像素子１３２は、受光面に形成された撮像用の光電変換素子群を有する。撮像用の光電変換素子群は、レンズ群１２２によって受光面に実質的に結像された被写体像を受光する。撮像素子１３２としては、例えばＣＭＯＳセンサ、ＣＣＤセンサ等の固体撮像素子を適用できる。撮像素子１３２は、被写体光束を受光することにより生じた蓄積電荷による画像信号としてのアナログ信号をＡ／Ｄ変換器１３４に供給する。Ａ／Ｄ変換器１３４は、撮像素子１３２から出力されたアナログの画像信号をデジタルの画像信号に変換して画像データとして出力する。撮像素子１３２は、カメラＭＰＵ１３３からの指示を受けた駆動部１４０により駆動される。
【００１６】
Ａ／Ｄ変換器１３４が出力した画像データは、ＳＤＲＡＭ１３６に記憶される。ＳＤＲＡＭ１３６の少なくとも一部のメモリ領域は、撮像により生成された画像データを一時的に記憶するバッファ領域として使用される。撮像素子１３２が被写体光束で連続して撮像した場合、撮像により順次に生成される画像データはＳＤＲＡＭ１３６に順次に記憶される。例えば、被写体光束で連続して静止画を撮像することにより得られた複数の静止画の画像データが、ＳＤＲＡＭ１３６に順次に記憶される。また、被写体光束で動画を撮像することにより得られた動画を構成する複数の画像の画像データが、ＳＤＲＡＭ１３６に順次に記憶される。動画を構成する複数の画像の画像データのそれぞれをフレームと呼ぶ場合がある。
【００１７】
ＡＳＩＣ１３５は、ＳＤＲＡＭ１３６に記憶された画像データを順次処理する。ＡＳＩＣ１３５は、画像処理機能に関連する回路を一つにまとめた集積回路であり、画像処理装置の一部として機能する。ＡＳＩＣ１３５は、ＳＤＲＡＭ１３６の少なくとも一部のメモリ領域を画像処理用のワークエリアとして使用して画像処理を行う。ＡＳＩＣ１３５は、例えば、撮像素子１３２から出力されたベイヤ配列の離散的な画像データから、色補間処理により各画素で各色の色を持つ画像データを生成する。また、ＡＳＩＣ１３５は、ガンマ補正、ホワイトバランス補正、輪郭強調処理等、予め定められた前処理を行う。
【００１８】
また、ＡＳＩＣ１３５は、画像データを、規格化された画像フォーマットの画像データに変換して出力する。例えば、ＡＳＩＣ１３５は、静止画の画像データを、ＪＰＥＧ規格に準拠した符号化形式で符号化された静止画データを生成するための画像処理を行う。また、ＡＳＩＣ１３５は、複数のフレームを、Ｈ．２６４、ＭＰＥＧ２等の規格に準拠した符号化方式で符号化された動画データを生成するための画像処理を行う。カメラＭＰＵ１３３は、ＡＳＩＣ１３５によって生成された静止画データ、動画データ等の画像データを、不揮発性の記録媒体の一例としての外部メモリ１６０に転送して記録させる。外部メモリ１６０としては、例えばフラッシュメモリ等の半導体メモリを例示することができる。
【００１９】
ＡＳＩＣ１３５は、外部メモリ１６０への記録用に処理される画像データに並行して、表示用の画像データを生成する。生成された表示用の画像データは、表示制御部１３７の制御に従って表示画像信号に変換され、液晶ディスプレイ等の表示デバイスとしての表示部１３８に表示される。また、画像の表示と共に、もしくは画像を表示することなく、撮像装置１００の各種設定に関する様々なメニュー項目も、表示制御部１３７の制御により表示部１３８に表示することができる。カメラＭＰＵ１３３は、表示制御部１３７を制御して、メニュー項目を表示部１３８に表示させる。
【００２０】
撮像装置１００は、上記の画像処理における各々の要素も含めて、カメラＭＰＵ１３３により直接的または間接的に制御される。システムメモリ１３９は、電気的に消去・記憶可能な不揮発性メモリであり、例えばフラッシュＲＯＭ等により構成される。システムメモリ１３９は、撮像装置１００の動作時に必要な定数、変数等の制御用のパラメータ、プログラム等を、撮像装置１００の非動作時にも失われないように記憶している。カメラＭＰＵ１３３は、定数、変数、プログラム等を適宜ＳＤＲＡＭ１３６に展開して、撮像装置１００の制御に利用する。カメラ本体１３０内の、ＡＳＩＣ１３５、ＳＤＲＡＭ１３６、システムメモリ１３９、表示制御部１３７、カメラＭＰＵ１３３、外部メモリ１６０は、バス等の接続インタフェース１４５により、相互に接続される。
【００２１】
操作入力部１４１は、ユーザによる設定操作等のユーザ操作を受け付ける。操作入力部１４１としては、電源スイッチ、レリーズボタン、動画撮影ボタン、各種操作ボタン、表示部１３８に一体に実装されたタッチパネル等を含む。カメラＭＰＵ１３３は、操作入力部１４１が操作されたことを検知して、操作に応じた動作を実行する。例えば、カメラＭＰＵ１３３は、レリーズボタンが操作された場合に、レリーズ動作を実行するよう撮像装置１００の各部を制御する。例えば、カメラＭＰＵ１３３は、撮像モードが連写撮影モードに設定されている場合、連続撮影の一例としての連写撮影を実行するよう撮像装置１００の各部を制御する。また、カメラＭＰＵ１３３は、動画撮影ボタンが操作された場合に、連続撮影の一例としての動画撮影を実行するよう撮像装置１００の各部を制御する。また、カメラＭＰＵ１３３は、表示部１３８に組み込まれたタッチパネルが操作された場合に、表示部１３８に表示されたメニュー項目および操作内容に応じた動作をするよう、撮像装置１００の各部を制御する。
【００２２】
カメラ本体１３０の各要素および外部メモリ１６０は、電源１７０から電力供給を受ける。電源１７０としては、カメラ本体１３０に対して着脱できる例えばリチウムイオン電池等の二次電池、系統電源等を例示することができる。カメラＭＰＵ１３３は、電源１７０の電源の状態を検出する。例えば、カメラＭＰＵ１３３は、電源１７０が二次電池であるか否かを判断する。カメラＭＰＵ１３３は、電源１７０が二次電池であると判断した場合、二次電池の残存容量を検出して、残存容量に応じて撮像装置１００の各部を制御する。また、カメラＭＰＵ１３３は、電源１７０から撮像装置１００の各部への電力供給を制御する。なお、二次電池は電池の一例であり、電池とは、実質的に充電することができない非充電式の電池を含む。
【００２３】
ＡＳＩＣ１３５は、圧縮部１８０、復号部１８２、および、ノイズ発生部１８４を有する。圧縮部１８０は、ＪＰＥＧ等の規格に準拠した符号化方式に従って、静止画の画像データを符号化する。また、圧縮部１８０は、Ｈ．２６４、ＭＰＥＧ２等の規格に準拠した符号化方式に従って、動画の画像データを符号化する。復号部１８２は、外部メモリ１６０から圧縮された画像像データを読み出して復号する。復号された画像データから、表示部１３８への表示用の画像データが生成される。
【００２４】
圧縮部１８０は、動きベクトルを探索して、フレーム間相関により動画のフレームを圧縮する。圧縮部１８０は、探索した動きベクトルに基づき、同一フレームの一の画像ブロックを参照する複数のマクロブロックを特定して、当該複数のマクロブロックに対してノイズを付加する。復号部１８２は、動画データを復号する場合に、復号により抽出した動きベクトルに基づき、同一フレームの一の画像ブロックを参照する複数のマクロブロックを特定して、当該複数のマクロブロックに対してノイズを付加する。なお、復号部１８２は、圧縮部１８０によりノイズが付加されずに圧縮された動画データに対して、ノイズを付加する処理を適用する。ノイズ発生部１８４は、圧縮部１８０および復号部１８２が付加するノイズを生成する。圧縮部１８０および復号部１８２が、フレームにノイズを付加することで、一の画像ブロックの画像成分が複数のマクロブロックに繰り返し現れることを抑制することができ、見た目の画質劣化を抑制することができる。
【００２５】
図２は、圧縮部１８０が有するブロック構成の一例を示す。ここでは、圧縮部１８０が有する機能ブロックのうち、動画を圧縮するための機能ブロックを取り上げて示す。圧縮部１８０は、動きベクトル探索部２００、予測画像生成部２１０、差分処理部２２０、ノイズ付加部２３０、変換部２４０、量子化部２５０、可変長符号化部２６０、逆量子化部２７０、逆変換部２７２、加算処理部２７４、および、デブロッキング部２８０を含む。
【００２６】
圧縮対象の動画を構成する各フレームは順次に、圧縮対象のフレームとしてＳＤＲＡＭ１３６から動きベクトル探索部２００および差分処理部２２０へ供給される。動きベクトル探索部２００は、動画の圧縮に用いる動きベクトルを探索する。具体的には、動きベクトル探索部２００は、圧縮対象のフレーム内の複数のマクロブロック毎に動きベクトルを探索する。予測画像生成部２１０は、動きベクトル探索部２００が探索した動きベクトル、および、圧縮対象のフレームが参照するフレームである参照フレームに基づき、予測画像をマクロブロック毎に生成する。参照フレームは、圧縮対象のフレームを圧縮する前に既に圧縮部１８０において圧縮されており、当該フレームがローカル復号されて、ＳＤＲＡＭ１３６に記憶されている。ローカル復号されたフレームは、ＳＤＲＡＭ１３６に確保されたフレームメモリ領域に一時的に記憶される。
【００２７】
差分処理部２２０は、圧縮対象のフレームの各マクロブロックから、対応する予測画像を減算して、得られた差分画像を変換部２４０に供給する。変換部２４０は、マクロブロック毎に、差分画像にＤＣＴ変換等の直交変換を施す。Ｈ．２６４等の符号化方式で符号化する場合、変換部２４０は、差分画像に整数変換を施す。差分処理部２２０により得られた各マクロブロックの差分画像は、ＳＤＲＡＭ１３６に一時的に記憶される。
【００２８】
ノイズ付加部２３０には、動きベクトル探索部２００により探索された動きベクトルと、符号化対象のフレームの各マクロブロックの差分画像が供給される。ノイズ付加部２３０は、動きベクトル探索部２００から供給された動きベクトルに基づいて、圧縮対象のフレーム内のマクロブロックのうち、同一の参照フレームの同一の画像ブロックを参照する複数のマクロブロックの有無を検出する。具体的には、ノイズ付加部２３０は、動きベクトル探索部２００により探索された動きベクトルを用いて複数のマクロブロックから参照される一の画像ブロックを検出する。ノイズ付加部２３０は、当該複数のマクロブロックが検出された場合、当該複数のマクロブロックの差分画像に、ノイズ発生部１８４が発生したノイズを付加する。一例として、ノイズ付加部２３０は、異なる画像ブロックを参照する複数のマクロブロックには、ノイズを付加しない。なお、ノイズ付加部２３０は、輝度信号の差分画像にノイズを付加する。ノイズ付加部２３０は、色差信号の差分画像にはノイズを付加しない。ノイズ付加部２３０により処理された差分画像は、変換部２４０に供給される。
【００２９】
変換部２４０は、各マクロブロックの差分画像に、ＤＣＴ変換等の直交変換を施す。Ｈ．２６４等に従って符号化する場合、変換部２４０は、各マクロブロックの差分画像に整数変換を施す。変換部２４０の処理により、差分画像は変換係数に変換されて、量子化部２５０に供給される。
【００３０】
量子化部２５０は、変換部２４０から供給された変換係数を量子化する。具体的には、量子化部２５０は、マクロブロックの各変換係数を、量子化テーブル中の対応する位置の量子化ステップ値で除算する。量子化部２５０により、フレームに対して不可逆圧縮が行われる。量子化部２５０は、量子化ステップ値を制御することにより、発生する符号量を制御する。例えば、量子化部２５０は、圧縮部１８０から出力される符号化後の符号量が予め定められた目標符号量に適合するように、量子化ステップ値を調節する。可変長符号化部２６０は、動きベクトル探索部２００から供給された動きベクトルとともに、量子化部２５０による量子化後の量子化データに可変長符号化を施す。可変長符号化部２６０から出力された１フレームの符号化済みデータはＳＤＲＡＭ１３６に記憶される。符号化済みフレームの集合としての動画データは、ＳＤＲＡＭ１３６から外部メモリ１６０に転送されて記録される。なお、ノイズ付加部２３０によりノイズが付加されたか否かを示す情報が、タグ情報等の付帯情報として動画データに付帯されて外部メモリ１６０に記録されてよい。
【００３１】
本圧縮対象のフレームが他のフレームを圧縮する場合に参照フレームとして使用される場合は、量子化部２５０により量子化された変換係数は、逆量子化部２７０、逆変換部２７２、加算処理部２７４およびデブロッキング部２８０を含む機能ブロックにより、ローカル復号される。具体的には、逆量子化部２７０は、量子化部２５０で量子化に用いられた量子化ステップ値を用いて、変換係数に逆量子化を施す。逆変換部２７２は、逆量子化で得られた変換係数に対して、変換部２４０で適用した変換処理の逆変換を行い、各マクロブロックの差分画像を生成する。加算処理部２７４は、逆変換部２７２における逆変換で得られた各マクロブロックの差分画像と、動きベクトル探索部２００で探索された動きベクトルで動き補償された参照フレームの画像ブロックとを加算する。デブロッキング部２８０は、加算処理部２７４における加算処理で得られたフレームに対してブロック・ノイズを低減するデブロッキングフィルタを適用する。デブロッキング部２８０により処理されたフレームは、参照フレームとしてフレームメモリに一時的に記憶される。フレームメモリに記憶された参照フレームは、前述したように、動きベクトル探索部２００における動きベクトルの探索、および、予測画像生成部２１０における予測画像の生成に使用される。
【００３２】
図３は、復号部１８２のブロック構成の一例を示す。ここでは、復号部１８２が有する機能ブロックのうち、動画データを復号するための機能ブロックを取り上げて示す。復号部１８２は、可変長復号部３００、動きベクトル抽出部３１０、逆量子化部３２０、逆変換部３３０、加算処理部３４０、予測画像生成部３５０、および、デブロッキング部３６０、ノイズ付加部３７０を含む。
【００３３】
復号対象の動画を構成する符号化された各フレームは順次に、復号対象のフレームとしてＳＤＲＡＭ１３６から可変長復号部３００へ供給される。可変長復号部３００は、復号対象のフレームに可変長復号を施す。可変長復号部３００における可変長復号により、動画データは量子化後の変換係数、動きベクトル等に復号される。逆量子化部３２０は、圧縮時に量子化に適用された量子化ステップ値を適用いて、変換係数に逆量子化を施す。逆変換部３３０は、逆量子化後の変換係数に対して、圧縮時に適用された変換処理の逆変換を行い、各マクロブロックの差分画像を生成する。
【００３４】
動きベクトル抽出部３１０は、可変長復号部３００により復号された復号データから各マクロブロックの動きベクトルを抽出して、予測画像生成部３５０およびノイズ付加部３７０に供給する。予測画像生成部３５０は、動きベクトル抽出部３１０から供給された動きベクトル、および、ＳＤＲＡＭ１３６に記憶された参照フレームから、各マクロブロックの予測画像を生成する。
【００３５】
加算処理部３４０は、逆変換部３３０における逆変換で得られた各マクロブロックの差分画像と、動きベクトル抽出部３１０で抽出された動きベクトルで動き補償された参照フレームの画像ブロックとを加算する。デブロッキング部３６０は、加算処理部２７４における加算処理で得られた復号フレームに対してブロック・ノイズを低減するデブロッキングフィルタを適用する。デブロッキング部２８０で処理された復号フレームは、ノイズ付加部３７０に供給される。
【００３６】
ノイズ付加部３７０は、抽出された動きベクトルを用いて複数のブロックから参照される一の画像ブロックを検出する。具体的には、ノイズ付加部３７０は、動きベクトル抽出部３１０から供給された動きベクトルに基づいて、同一の参照フレームの同一の画像ブロックを参照する複数のマクロブロックを検出する。ノイズ付加部３７０は、同一の参照フレームの同一の画像ブロックを参照する複数のマクロブロックが検出された場合、当該複数のマクロブロックの画像領域にノイズ発生部１８４が発生したノイズを付加する。一例として、ノイズ付加部３７０は、異なる画像ブロックを参照する複数のマクロブロックには、ノイズを付加しない。また、ノイズ付加部３７０は、輝度信号にノイズを付加する。ノイズ付加部３７０は、色差信号にはノイズを付加しない。なお、復号対象のフレームが圧縮部１８０においてノイズが付加されたフレームである場合、ノイズ付加部３７０はノイズを付加しない。
【００３７】
ノイズ付加部３７０により処理されたフレームは、ＳＤＲＡＭ１３６に復号フレームとしてＳＤＲＡＭ１３６に記憶される。デブロッキング部３６０によりデブロッキングフィルタが適用されたフレームは、上述した動き補償された画像ブロックの生成に用いられるべく、ＳＤＲＡＭ１３６に確保されたフレームメモリに記憶される。
【００３８】
図４は、ノイズを付加する処理に関する撮像装置１００の機能および動作を説明するための模式図を示す。参照フレーム４０１は、フレーム間相関を用いて圧縮する場合に、参照されるフレームである。参照フレーム４０１は、例えばＩフレーム、Ｐフレームである。処理フレーム４０２は、フレーム間相関を用いて圧縮されるフレームである。例えば、処理フレーム４０２は、Ｐフレーム、Ｂフレームである。デコードフレーム４０３は、圧縮された処理フレームを復号した復号後のフレームである。
【００３９】
ここでは、説明を簡単にするために、参照フレーム４０１のマクロブロック４１０ａ〜４１０ｅの画像領域の画像は、マクロブロック４１０ｆ〜４１０ｊの画像領域の画像と一致しているとする。また、処理フレームのマクロブロック４２０ａ〜４２０ｅの画像領域には、参照フレーム４０１のマクロブロック４１０ａ〜４１０ｅの画像領域に撮像された被写体と同一被写体が撮影されているとする。また、処理フレームのマクロブロック４２０ｆ〜４２０ｊの画像領域には、参照フレーム４０１のマクロブロック４１０ｆ〜４１０ｊの画像領域に撮像された被写体と同一被写体が撮影されているとする。
【００４０】
同一被写体を撮影した場合でも、ノイズ、小さなブレ等が原因で、入力画像の全ピクセルが完全に一致する可能性は非常に低い。また、参照フレームは圧縮後にローカル復号されたフレームであるので、入力フレームの全ピクセルが完全に一致していたとしても、全ピクセルが完全に一致する可能性は非常に低い。マクロブロック４２０ａ〜４２０ｅはそれぞれ参照フレーム４０１のマクロブロック４１０ａ〜４１０ｅを参照して圧縮される。マクロブロック４２０ａ〜４２０ｅがそれぞれ参照するマクロブロック４１０ａ〜４１０ｅは、参照フレーム４０１における対応する位置の近傍に存在する画像ブロックの中から、最も類似した画像ブロックを探索することで決定される。ビットレートが非常に低く、差分画像の符号量が量子化等で大きく削減された場合でも、デコードフレーム４０３の画像領域４３２には、参照フレームのマクロブロック４１０ａ〜４１０ｅの画像領域の像が現れる。
【００４１】
ここで、処理フレーム４０２のマクロブロック４２０ｆ〜４２０ｉについては、最も類似した画像ブロックを探索することで、同一のマクロブロック４１０ｆが参照するマクロブロックとして探索される。ビットレートが非常に低く、差分画像の符号量が量子化等で大きく削減されると、デコードフレーム４０３のマクロブロック４３０ｆ〜４３０ｉには、参照フレームのマクロブロック４１０ｆの画像成分が強く現れる。このように同一のパターンが複数のマクロブロックに現れると、動画を見る人の目にはそのパターンが目立って見えてしまう。また、マクロブロックのブロック境界が目立って見えてしまう。
【００４２】
撮像装置１００によると、ノイズ付加部２３０は、同一のマクロブロック４１０ｆを参照するマクロブロック４２０ｇ〜４２０ｉにノイズを付加する。本図において、マクロブロック４２０ｇ〜４２０ｉに対応するマクロブロック４４０ｇ〜４４０ｉにノイズを含むノイズデータ４０４を付加した場合のデコードフレーム４０５を模式的に示す。デコードフレーム４０５のマクロブロック４５０ｇ〜４５０ｉはノイズを含むものとなるが、デコードフレーム４０５に模式的に示されるように、同一パターンやブロック境界が目立って見えてしまうことを抑制することができる。例えばピクセル値が８ビットで表される場合、下位２ビット分の振幅のノイズを付加する。例えば、ピクセル値として、−３〜＋３の幅で変化するノイズを付加する。ノイズ付加部２３０は、ピクセル毎にノイズを加重してよい。
【００４３】
なお、ノイズ付加部２３０は、複数のブロックのうちの一部のブロックに対して、他のブロックとは異なるノイズを付加してよい。特に、ノイズ付加部２３０は、複数のマクロブロックのうち位置が連続するマクロブロックに対して、互いに異なるノイズを付加してよい。
【００４４】
ノイズとしては、疑似乱数に基づくランダムノイズを例示することができる。例えば、ノイズ発生部１８４は、動画の圧縮を開始する場合に、特定のシード値で初期化された後、一連の動画の圧縮が完了するまでの間、初期化されずに乱数値を連続的に発生する。ノイズ付加部２３０は、ノイズ発生部１８４から供給された乱数値を、マクロブロック内の複数のピクセルに予め定められた順で加算する。他のマクロブロックにも、ノイズ発生部１８４から供給される乱数値をピクセルに加算していく。これにより、ノイズ付加部２３０は、各マクロブロックに実質的に異なるノイズを付加することができる。このため、マクロブロックに同一パターンのノイズが付加されることを抑制することができ、付加したノイズが目立って見えてしまうことを未然に防ぐことができる。なお、マクロブロック毎に異なるシード値で初期化して発生させた乱数値をノイズとして付加することで、マクロブロック毎に異なるノイズを付加してもよい。
【００４５】
なお、ノイズ付加部２３０は、マクロブロックの全ピクセルにノイズを付加してよく、一部のピクセルにノイズを付加してもよい。例えば、ノイズ付加部２３０は、予め定められたピッチでノイズを付加してよい。後述するように、ノイズ付加部２３０は、付加するノイズ強度をマクロブロック毎に異ならせる。例えば、ノイズ付加部２３０は、位置が連続する複数のブロックに対して、位置の順でノイズ強度を変化させたノイズを付加する。ノイズ強度は、上述したノイズの振幅を指標とすることができる。また、ノイズ強度は、ノイズをピクセルに加重するピッチを例示することができる。例えば、１ピクセルおきに付加する場合より、２ピクセルおきに付加する場合の方が、ノイズ強度が大きいとみなすことができる。ノイズ強度を、上述したノイズの振幅およびピッチの組み合わせで調節されてよいことは言うまでもない。
【００４６】
なお、ノイズ付加部２３０は、動きベクトルに基づく予測画像との間のマクロブロックの差分値が予め定められた値より小さいマクロブロックに対してノイズを付加せず、マクロブロックの差分値が予め定められた値以上のマクロブロックに対してノイズを付加する。マクロブロックの差分値としては、差分画像のマクロブロック内での加算値を例示することができる。本図の例では、ノイズ付加部２３０は、マクロブロック４１０ｆを参照するマクロブロック４２０ｆ〜４２０ｉのうち、マクロブロック４２０ｆにはノイズを付加しない。予測画像との間の差分値が小さい場合は、画像内容が本当に類似している可能性が高い。したがって、参照する画像領域との間の差分値が予め定められた値より小さい場合は、ノイズを付加しないことで、画像内容が本当に類似した画像にノイズが付加される可能性を低減することができる。また、処理フレーム４０２の全体にノイズを付加するのではなく、マクロブロック４２０ｆ〜４２０ｉ等の一部のマクロブロックに対してノイズを付加するので、ノイズを付加することで符合量が著しく増加することを防ぐことができる。
【００４７】
ここでは、参照する画像ブロックの位置によってデコード後の見え方が変わってしまうことを分かり易く説明するべく、同一の被写体が撮影された場合を取り上げて説明した。自然画においては、マクロブロック４２０ａ〜４２０ｅのように、各マクロブロックが参照する位置はばらばらになる場合が多い。しかし、処理フレームと参照フレームとで画像無いように乖離があると、複数のマクロブロックが同一画像ブロックを参照する可能性が高まる。また、芝生、地面等のように微細なパターンを持つ被写体を撮像した場合、少しの違いで同一画像ブロックを参照する可能性が高まる。また、線状、格子状等、幾何学的な模様が多い被写体を撮像した場合も、同一画像ブロックが複数のマクロブロックから参照する可能性が高まる。これは、動きベクトルの探索が、処理対象のマクロブロックとの差分が最小となる画像ブロックを探索することで行われるためである。いずれにしても、処理フレームと参照フレームとで画像内容に乖離がある場合や、被写体が微細なパターン、特定パターンを持つ場合等に、複数のマクロブロックが同一画像ブロックを参照することとなる場合がある。動きベクトルが上手く探索されなかった場合も同様である。
【００４８】
ここでは説明を分かり易くすることを目的として、参照される画像ブロックは、マクロブロックに対応するとした。つまり、参照される画像ブロックは、マクロブロックとブロック境界が一致するとした。しかし、動きベクトルはピクセル単位またはサブピクセル精度で探索され得る。したがって、参照される画像ブロックはマクロブロックとブロック境界が一致しなくてよいことは言うまでもない。また、位置が完全に同一の画像ブロックだけでなく、多少位置ずれした画像ブロックを、同一の画像ブロックとしてみなすことができる。例えば、複数のマクロブロックがそれぞれ参照する画像ブロックの位置の差が予め定められた値以下である場合、当該複数のマクロブロックは同一の画像ブロックを参照するとみなしてよい。位置の差は、マクロブロックサイズに応じて決定されてよい。例えば、マクロブロックサイズが１６×１６ピクセルである場合、予め定められた値として４ピクセルを採用してよい。撮像装置１００の説明において、同一の画像ブロックを参照する複数のマクロブロックを、特定領域参照ブロックと総称する場合がある。
【００４９】
なお、本図では、フレームを圧縮する場合を取り上げて説明したが、動画を復号する場合も同様、特定領域参照ブロックにノイズを付加することができる。例えば、ノイズ付加部３７０は、復号対象の処理フレームを復号することで抽出された動きベクトルに基づいて、特定領域参照ブロックを特定することができる。そして、ノイズ付加部３７０は、復号してフレーム内の特定領域参照ブロックに対応する画像領域にノイズを付加すればよい。すなわち、動きベクトル探索部２００および動きベクトル抽出部３１０は、動画の圧縮に用いられる動きベクトルを特定する動きベクトル特定部の一例である。また、ノイズ付加部２３０およびノイズ付加部３７０は、動画を構成する第１画像内の複数のマクロブロックから動きベクトルを用いて参照される一のブロックを、動画を構成する第２画像内から検出し、当該一のブロックが検出された場合に、複数のブロックに対してノイズを付加するノイズ付加部の一例である。なお、マクロブロックおよび画像ブロックは、画像領域内の一部を占めるブロックの一例である。したがって、撮像装置１００の機能および動作を、ブロック単位で処理される種々の符号化方式に適用することができる。
【００５０】
図５は、特定領域参照ブロックのマクロブロック数に応じてノイズ強度を調整する処理を説明する模式図を示す。本例において、フレーム５０１では、マクロブロック５１０ａおよび５１０ｂが、同一フレーム内の同一の画像ブロックを参照する。また、フレーム５０２では、マクロブロック５２０ａ〜５２０ｃの３個のマクロブロックが、同一フレーム内の同一の画像ブロックを参照する。また、フレーム５０３では、マクロブロック５３０ａ〜５３０ｄの４個のマクロブロックが、同一フレーム内の同一の画像ブロックを参照する。
【００５１】
ノイズ付加部２３０は、３以上のマクロブロックが検出された場合に、マクロブロックの数に応じて、段階的に高いノイズ強度を決定する。例えば、特定領域参照ブロックのマクロブロック数が０〜２である場合は、ノイズ強度を０に決定する。ノイズ付加部２３０は、特定領域参照ブロックに含まれるマクロブロック数が３である場合は、ノイズ強度を１に決定し、特定領域参照ブロックに含まれるマクロブロック数が４である場合は、ノイズ強度を２に決定する。
【００５２】
このように、特定領域参照ブロックが検出されない場合には、ノイズ付加部２３０はノイズを付加しない。また、ノイズ付加部２３０は、特定領域参照ブロックに含まれるマクロブロック数が予め定められた値未満である場合、当該特定領域参照ブロックに対してはノイズを付加しない。ノイズ付加部２３０は、特定領域参照ブロックに含まれるマクロブロック数が予め定められた値以上である場合、当該特定領域参照ブロックに対してノイズを付加する。このように、ノイズ付加部２３０は、特定領域参照ブロックに含まれるブロック数が多いほど、大きいノイズ強度を決定する。
【００５３】
なお、ノイズ付加部２３０は、特定領域参照ブロックに含まれるマクロブロック数が、当該予め定められた値以上であり、かつ、予め定められたマクロブロック数の上限値以下である場合、当該マクロブロック数が多いほど大きいノイズ強度を決定してよい。特定領域参照ブロックに含まれるマクロブロック数が予め定められたマクロブロック数の上限値を超える場合、ノイズ強度として予め定められたノイズ強度の上限値を適用してよい。
【００５４】
システムメモリ１３９には、マクロブロック数に対応づけてノイズ強度が記憶されている。ノイズ強度は、撮像装置１００を制御するためのパラメータとして、当該マクロブロックの数に対応づけて記憶されてよい。ノイズ付加部２３０は、検出した特定領域参照ブロックに含まれるマクロブロック数をカウントして、得られたマクロブロック数に対応づけて記憶されているノイズ強度を、当該マクロブロックに対するノイズ強度として決定する。また、システムメモリ１３９には、ノイズ強度に対応づけて、ノイズの振幅およびピッチの組み合わせが記憶されている。ノイズ付加部２３０は、決定したノイズ強度に対応づけて記憶されているノイズの振幅およびピッチの組み合わせに従ってノイズを付加してよい。
【００５５】
このように、ノイズ付加部２３０は、特定領域参照ブロックに含まれる複数のブロックの数が多いほど、当該複数のブロックに対して強度が大きいノイズを付加する。特定領域参照ブロックに対してノイズを付加しない場合、特定領域参照ブロックのマクロブロック数が多くなるほど、同一パターンが人の目に認識され易くなる。しかし、特定領域参照ブロックのマクロブロック数が多いほど強いノイズを付加することで、同一パターンとして認識されにくくすることができる。
【００５６】
なお、第１の画像ブロックを参照する第１の特定領域参照ブロックと、第２の画像ブロックを参照する第２の特定領域参照ブロックが存在する場合、ノイズ付加部２３０は、第１の特定領域参照ブロックおよび第２の特定領域参照ブロックのそれぞれについて、独立にノイズ強度を決定してよい。例えば、ノイズ付加部２３０は、第１の特定領域参照ブロックに対するノイズ強度を、第１の特定領域参照ブロックに属するマクロブロックの数に基づき決定して、第２の特定領域参照ブロックに対するノイズ強度を、第２の特定領域参照ブロックに属するマクロブロックの数に基づき決定してよい。このように、特定領域ブロックが複数存在する場合、ノイズ付加部２３０は、特定領域参照ブロックのそれぞれに対するノイズ強度を、それぞれに属するマクロブロックの数に基づき決定してよい。
【００５７】
図６は、特定領域参照ブロックの位置分布に応じてノイズ強度を調節する処理を説明する模式図を示す。ノイズ付加部２３０は、特定領域参照ブロックに含まれる複数のマクロブロックの位置にけるばらつきが大きいほど、小さいノイズ強度を決定する。例えば、本図において、フレーム６０１において、マクロブロック６１０ａ〜６１０ｆが特定領域参照ブロックとして検出され、フレーム６０２において、マクロブロック６２０ａ〜６２０ｆが特定領域参照ブロックとして検出されたとする。マクロブロック６２０ａ〜６２０ｆよりも、マクロブロック６１０ａ〜６１０ｆの方が、マクロブロックの位置のばらつきが大きい。したがって、ノイズ付加部２３０は、マクロブロック６１０ａ〜６１０ｆに対するノイズ強度として、マクロブロック６２０ａ〜６２０ｆに対するノイズ強度より大きい値を決定する。
【００５８】
位置のばらつきとしては、一例として、位置の分散を指標として適用できる。システムメモリ１３９には、位置の分散に対応づけてノイズ強度が記憶されている。当該位置の分散に対応するノイズ強度は、撮像装置１００を制御するためのパラメータとして記憶されてよい。ノイズ付加部２３０は、検出した特定領域参照ブロックに含まれるマクロブロックの位置の分散を算出して、算出した位置の分散に対応づけて記憶されているノイズ強度を、当該マクロブロックに対するノイズ強度として決定する。
【００５９】
なお、ノイズ付加部２３０は、図５に関連して説明したマクロブロック数に対応するノイズ強度と、図６に関連して説明した位置分布に対応するノイズ強度の少なくとも一方に基づいて、特定領域参照ブロックに含まれる全体のマクロブロックに対するノイズ強度を決定してよい。例えば、ノイズ付加部２３０は、マクロブロック数に対応するノイズ強度と位置分布に対応するノイズ強度とを加算した値を、特定領域参照ブロックに含まれる全体のマクロブロックに対するノイズ強度として決定してよい。例えば、マクロブロック数に対応するノイズ強度が２であり、位置分布に対応するノイズ強度が３である場合、全体のマクロブロックに対するノイズ強度として４を適用してよい。なお、ノイズ付加部２３０は、マクロブロック数に対応するノイズ強度と位置分布に対応するノイズ強度とを重みづけ加算して、特定領域参照ブロックに含まれる全体のマクロブロックに対するノイズ強度を決定してよい。他にも、ノイズ付加部２３０は、マクロブロック数に対応するノイズ強度および位置分布に対応するノイズ強度のうち、最大のノイズ強度を、特定領域参照ブロックに含まれる全体のマクロブロックに対するノイズ強度として決定してもよい。
【００６０】
本図に関連して説明したように、ノイズ付加部２３０は、特定領域参照ブロックに含まれる複数のブロックの位置のばらつきが大きいほど、当該複数のブロックに対して強度が小さいノイズを付加する。具体的には、ノイズ付加部２３０は、当該複数のブロックの位置の分散が大きいほど、当該複数のブロックに対して強度が小さいノイズを付加する。
【００６１】
図７は、位置が連続するマクロブロック数に応じてノイズ強度を調整する処理を説明する模式図を示す。フレーム７０１から検出された特定領域参照ブロックに含まれる各マクロブロックは、他のフレーム内の画像ブロック７００に対応する位置の画像ブロックを参照する。本例において、当該特定領域参照ブロックに含まれるマクロブロックは、連続ブロック７１０ａ〜７１０ｄのいずれかに属する。連続ブロック７１０ａには、２個のマクロブロックが属する。連続ブロック７１０ｂには、３個のマクロブロックが属する。連続ブロック７１０ｃおよび７１０ｄには、４個のマクロブロックが属する。
【００６２】
ノイズ付加部２３０は、３以上のマクロブロックが属する連続マクロブロックに対して、連続するマクロブロックの数に応じて段階的に高いノイズ強度を決定する。例えば、属するマクロブロックの数が０〜２である場合は、当該連続マクロブロックに対するノイズ強度として０を決定する。ノイズ付加部２３０は、３個のマクロブロックが属する連続ブロック７１０ｂには、ノイズ強度を１に決定する。ノイズ付加部２３０は、４個のマクロブロックが属する連続ブロック７１０ｃおよび７１０ｄに対するノイズ強度として２を決定する。このように、ノイズ付加部２３０は、予め定められた個数以上のマクロブロックが属する連続ブロックに対して、ノイズを付加する。特に、ノイズ付加部２３０は、属するブロック数が多いほど、大きいノイズ強度を決定してよい。
【００６３】
なお、ノイズ付加部２３０は、属するマクロブロックの数が上記予め定められた個数以上であり、かつ、属するマクロブロックの数が予め定められた上限値以下である連続ブロックに対して、属するマクロブロック数が多いほど大きいノイズ強度を決定してよい。属するマクロブロックの数が予め定められたマクロブロック数の上限値を超える場合、ノイズ強度として予め定められたノイズ強度の上限値を適用してよい。
【００６４】
システムメモリ１３９には、連続ブロックに属するマクロブロックの数に対応づけてノイズ強度が記憶されている。当該マクロブロックの数に対応するノイズ強度は、撮像装置１００を制御するためのパラメータとして記憶されてよい。ノイズ付加部２３０は、連続ブロックに属するマクロブロックの数をカウントして、得られたマクロブロックの数に対応づけて記憶されているノイズ強度を、当該連続ブロックに対するノイズ強度として決定する。
【００６５】
連続ブロックに対してノイズを付加しない場合、連続ブロックに属するマクロブロック数が多くなるほど、同一パターンが人の目に認識され易くなる。しかし、属するマクロブロックの数がより多い連続ブロックに対してより強いノイズを付加することで、同一パターンとしてより認識されにくくすることができる。
【００６６】
なお、ノイズ付加部２３０は、図５および図６に関連して説明した特定領域参照ブロックに含まれる全体のマクロブロックに対するノイズ強度と、図７に関連して説明した連続ブロック毎に決定したノイズ強度とを考慮して、連続ブロックのそれぞれに対するノイズ強度を決定してよい。例えば、ノイズ付加部２３０は、全体のマクロブロックに対するノイズ強度と、連続ブロックのそれぞれに対するノイズ強度とを加算した値を、連続ブロックのそれぞれに対するノイズ強度として決定してよい。例えば、全体のマクロブロックに対するノイズ強度が４である場合、３個のマクロブロックが属する連続ブロックにはノイズ強度として５を適用し、４個のマクロブロックが属する連続ブロックにはノイズ強度として６を適用してよい。なお、ノイズ付加部２３０は、全体のマクロブロックに対するノイズ強度と、属するマクロブロック数に応じて決定した連続ブロックのそれぞれに対するノイズ強度とを重みづけ加算して、連続ブロックのそれぞれに対するノイズ強度を決定してもよい。
【００６７】
図８は、連続ブロック内の各ブロックに対するノイズ強度を調整する処理を説明する模式図を示す。フレーム８０１から検出された特定領域参照ブロックに含まれる各マクロブロックは、他のフレーム内の画像ブロック８００に対応する位置の画像ブロックを参照する。本例において、当該特定領域参照ブロックに含まれるマクロブロックは、連続ブロック８１０ａ〜８１０ｅのいずれかに属する。本図において、各連続ブロック８１０に属するマクロブロック内の数値は、それぞれのマクロブロックに適用されるノイズ強度を示す。本図に関連して説明するように、ノイズ付加部２３０は、位置が連続する複数のマクロブロックに対して、位置の順でノイズ強度を変化させたノイズを付加する。
【００６８】
ノイズ付加部２３０は、画像ブロック８００からより離れた位置にあるマクロブロックに、より大きいノイズ強度を適用する。例えば、本図において、連続ブロック８１０ａは画像ブロック８００の右方に連続する。ノイズ付加部２３０は、連続ブロック８１０ａ内のマクロブロックについて、より右方に位置するマクロブロックに対して、より大きいノイズ強度を決定する。また、連続ブロック８１０ｂは、画像ブロック８００の位置から上方向に連続する。ノイズ付加部２３０は、連続ブロック８１０ｂ内のマクロブロックについて、より上方に位置するマクロブロックに対して、より大きいノイズ強度を決定する。また、連続ブロック８１０ｃは、画像ブロック８００の上方の位置を中心として左右に連続する。ノイズ付加部２３０は、連続ブロック８１０ｃ内の上方に位置するマクロブロックに対するノイズ強度として１を決定し、より左方または右方に位置するマクロブロックに対して、より大きいノイズ強度を決定する。このように、ノイズ付加部２３０は、画像ブロック８００の位置からの距離に応じて、各マクロブロックに対するノイズ強度を決定する。
【００６９】
また、連続ブロック８１０ｄは、画像ブロック８００の左斜め下の位置に存在する。ノイズ付加部２３０は、画像ブロック８００の位置からの距離に応じてノイズ強度を設定する。例えば、最も近い右上のマクロブロックには、ノイズ強度として１を決定する。連続ブロック８１０に属する４個のマクロブロックのうち、右上のマクロブロックの次に画像ブロック８００に近いマクロブロックは、左上のマクロブロックおよび右下のマクロブロックである。これら左上および右下のマクロブロックは、画像ブロック８００からの距離は等しい。しかし、ノイズ付加部２３０は、それぞれのマクロブロックに対して異なるノイズ強度を決定してよい。本例においては、左上のマクロブロックのノイズ強度として２を決定し、右下のマクロブロックに対して３を決定する。そして、ノイズ付加部２３０は、左下のマクロブロックに対するノイズ強度として４を決定する。このように、連続マクロブロックにおいて、近接するマクロブロックには異なるノイズ強度を適用することで、ノイズが人の目に認識されにくくすることができる。
【００７０】
システムメモリ１３９には、参照する画像ブロックからの距離に対応づけてノイズ強度が記憶されている。当該距離に対応するノイズ強度は、撮像装置１００を制御するためのパラメータとして記憶されてよい。ノイズ付加部２３０は、連続ブロックに属するマクロブロックのそれぞれについて参照する画像ブロックからの距離を算出して、得られた距離に対応づけて記憶されているノイズ強度を、当該連続ブロックに属する各マクロブロックに対するノイズ強度として決定する。
【００７１】
本図に関連して説明した処理によれば、参照する画像ブロックから遠いほどノイズ強度を大きくすることができる。比較的に近い位置の画像ブロックを参照する場合、本当に類似した画像内容となる被写体の像である可能性が高い。しかし、比較的に遠い位置の画像ブロックを参照するマクロブロックは、符号量を削減することを目的に画像ブロックを探索した結果である可能性が高い。したがって、参照する画像ブロックから遠いほどノイズ強度を大きくすることで、本当に類似した画像内容を持つマクロブロックに対して強いノイズを付加してしまう可能性を低減することができる。
【００７２】
なお、ノイズ付加部２３０は、図７に関連して説明した連続ブロック毎に決定したノイズ強度と、図８に関連して説明した画像ブロックからの距離に基づき決定したノイズ強度とを考慮して、連続ブロックに属するマクロブロックのそれぞれに対するノイズ強度を決定してよい。例えば、ノイズ付加部２３０は、連続ブロック毎に決定したノイズ強度と、属するマクロブロックのそれぞれに対して決定したノイズ強度とを加算した値を、連続ブロックに属するマクロブロックに対するノイズ強度として決定してよい。例えば、ノイズ強度として５が決定された連続ブロックにおいて、距離に基づくノイズ強度として１が決定されたマクロブロックにはノイズ強度として６を適用し、距離に基づくノイズ強度として２が決定されたマクロブロックにはノイズ強度として７を適用してよい。なお、ノイズ付加部２３０は、連続ブロックに対するノイズ強度と属するマクロブロックのそれぞれに対して決定したノイズ強度とを重みづけ加算して、マクロブロックのそれぞれに対するノイズ強度を決定してもよい。
【００７３】
図９は、撮像装置１００の起動から終了までの処理フローを示す。本フローは、操作入力部１４１の一部としての電源ボタンがＯＮされた場合に、開始される。本フローは、カメラＭＰＵ１３３が主体となって撮像装置１００の各部を制御することにより実行される。
【００７４】
ステップＳ９００において、カメラＭＰＵ１３３は、初期設定を開始する。例えば、カメラＭＰＵ１３３は、撮像装置１００を制御するための各種パラメータ等を、システムメモリ１３９からＳＤＲＡＭ１３６に展開する。また、カメラＭＰＵ１３３は、例えば撮像モードスイッチ等を含む操作入力部１４１の状態、および、展開された各種パラメータに基づき、撮像装置１００の各部の動作条件を設定する。例えば、カメラＭＰＵ１３３は、撮像モードスイッチの位置に応じて、撮像モードを設定する。また、撮像モードに応じて、撮像条件や画像処理条件を設定する。例えば、撮像モードとしては、人物撮影に適した人物撮影モード、動物撮影に適した動物撮影モード、風景撮影に適した風景撮影モード等を例示することができる。また、カメラＭＰＵ１３３は、撮像装置１００を制御するための上述したノイズ付加に関するパラメータに従って、ＡＳＩＣ１３５がノイズ付加処理を実行する場合の動作条件を設定する。
【００７５】
続いて、ステップＳ９０２において、設定情報を表示部１３８に表示する。例えば、カメラＭＰＵ１３３は、撮像モード、撮像条件および画像処理条件等、各種動作条件の設定を実行する情報を、アイコン表示の種々の形式で表示部１３８に表示させる。
【００７６】
続いて、ステップＳ９０４において、カメラＭＰＵ１３３は、操作入力部１４１に対するユーザ操作に基づき、ユーザ指示を特定する。ユーザ指示が諸設定を実行する指示である場合、カメラＭＰＵ１３３が主体となって、指示された設定処理を行う（ステップＳ９０６）。設定処理としては、撮像モードを設定する処理、撮像条件を設定する処理、画像処理条件を設定する処理、動画撮影におけるフレームレートを設定する処理等を例示することができる。また、設定処理として、ユーザ操作に基づき、上述したノイズ付加処理を適用するか否かを指定する処理を例示することができる。
【００７７】
ステップＳ９０４において、ユーザ指示が撮像実行に関する指示であると判断された場合、撮像実行に関する処理を行う（ステップＳ９１２）。撮影実行に関する指示としては、ライブビューボタン、動画撮影ボタン、レリーズボタンに対する操作等を例示することができる。ステップＳ９０４におけるユーザ指示が画像の再生を実行する指示である場合、再生処理を実行する（ステップＳ９２２）。再生処理としては、外部メモリ１６０に記録された静止画および動画等をサムネイル表示する処理、ユーザにより指示された画像を表示する処理等を例示することができる。
【００７８】
ステップＳ９０４においてユーザ指示がない場合は、環境光を測光する測光処理を行う（ステップＳ９３２）。例えば、環境光の測光結果に基づき適正露出値を決定する。本測光処理は一定の時間間隔で実行され、現在の適正露出値が決定される。ステップＳ９３２で決定した現在の露出値を示す情報は、表示部１３８にリアルタイムに表示され、ユーザに提示される。
【００７９】
ステップＳ９０６、ステップＳ９１２、ステップＳ９２２、ステップＳ９３２の処理が完了すると、ステップＳ９０８に進み、電源をＯＦＦするか否かを判断する。例えば、電源ボタンがＯＦＦ位置に切り替えられた場合や、電源がＯＮされてから予め定められた期間、ユーザ指示無しの状態が継続した場合等に、電源をＯＦＦすると判断する。電源をＯＦＦすると判断した場合は動作を終了し、電源をＯＦＦしないと判断した場合はステップＳ９０４に処理を移行させる。
【００８０】
図１０は、動画撮影における動作フローの一例を示す。本例では、ステップＳ９１２の一部の処理として、動画撮影が指示された場合の動作フローを示す。本フローは、動画撮影ボタンが押し込まれた場合に、開始される。
【００８１】
ステップＳ１００２において、カメラＭＰＵ１３３が撮像装置１００の各部に動画撮影を指示することにより、動画撮影が開始される。動画撮影が開始されると、ＳＤＲＡＭ１３６にフレームが順次に取り込まれる。
【００８２】
ステップＳ１００４において、ＡＳＩＣ１３５は、圧縮対象のフレームを取り込む。ステップＳ１００６において、動きベクトル探索部２００は、マクロブロック毎に動きベクトルを探索する。ステップＳ１００８において、差分処理部２２０が、圧縮対象のフレームの各マクロブロックと、予測画像生成部２１０が生成した対応する予測画像との間の差分処理により、差分画像を生成する。
【００８３】
ステップＳ１０１０において、ノイズ付加部２３０は、各マクロブロックの動きベクトルおよび各マクロブロックの差分値に基づいて、ノイズを付加するべきマクロブロックを特定するとともに、付加するノイズの強度を算出する。ノイズ強度を算出する具体的な処理については、図１１に関連して説明する。ステップＳ１０１２において、ノイズ付加部２３０は、ステップＳ１０１０において算出したノイズ強度に従って、差分画像にノイズを付加する。例えば、ノイズ付加部２３０は、上述したノイズの振幅、ノイズを適用するピクセルのピッチ等、付加するノイズ強度を調節する指標値を、ノイズ強度に基づき選択し、選択した指標値に従ってノイズを付加してよい。続いて、各マクロブロックの差分画像を変換部２４０が直交変換し（ステップＳ１０１４）、得られた変換係数を量子化部２５０が量子化し（ステップＳ１０１６）、量子化された変換係数を可変長符号化部２６０が動きベクトルとともに可変長符号化する（ステップＳ１０１８）。
【００８４】
ステップＳ１０２０において、圧縮対象のフレームが後の圧縮処理で参照される可能性があるか否かを判断する。例えば、圧縮対象のフレームがＰフレームである場合に、参照される可能性があると判断する。参照されるフレームである場合、ローカル復号を開始する（ステップＳ１０２２）。具体的には、量子化された画像に対して、逆量子化部２７０による逆量子化、逆変換部２７２による逆変換、加算処理部２７４による加算処理、デブロッキング部２８０によるデブロッキング処理が適用され、フレームメモリに記憶される。続いて、ステップＳ１０２４に処理を進める。ステップＳ１０２０の判断において、圧縮対象のフレームが後の圧縮処理で参照される可能性がないと判断された場合は、ローカル復号をせずにステップＳ１０２４に処理を進める。
【００８５】
ステップＳ１０２４において、圧縮対象のフレームを全て処理したかを判断する。例えば、動画撮影ボタンが再度押し込まれて動画撮影が終了し、かつ、圧縮対象のフレームを全て圧縮したか否かを判断する。圧縮対象のフレームを全て処理した場合、本フローを終了する。圧縮対象のフレームを全て処理していない場合には、ステップＳ１００４に処理を移行する。
【００８６】
図１１は、付加するノイズの強度を決定する動作フローの一例を示す。本フローは、図１０のステップＳ１０１０の詳細な処理フローの一例である。
【００８７】
本フローが開始されると、ステップＳ１１０２において、ノイズ付加部２３０は、動きベクトル探索部２００により探索された動きベクトルに基づき、複数のマクロブロックから参照される一の画像ブロックを検出する。ここで、ノイズ付加部２３０は、動きベクトルおよび差分画像に基づき、差分画像の差分値が予め定められた値以下である複数のマクロブロックから参照される一の画像ブロックを検出する。そして、ノイズ付加部２３０は、当該一の画像ブロックを参照する特定領域参照ブロックを選択する。
【００８８】
ステップＳ１１０４において、ノイズ付加部２３０は、選択した特定領域参照ブロックに含まれるマクロブロックの数をカウントする。ステップＳ１１０６において、マクロブロックの位置分布を算出する。例えば、マクロブロックの位置の分散値を算出する。ステップＳ１１０８において、特定領域参照ブロックの全体のマクロブロックに対するノイズ強度を決定する。例えば、図５および図６に関連して説明したように、特定領域参照ブロックに含まれるマクロブロック数に対応するノイズ強度と、ステップＳ１１０６で算出した分散に対応するノイズ強度とに基づき、特定領域参照ブロックの全体のマクロブロックに対するノイズ強度を決定する。
【００８９】
ステップＳ１１１０において、特定領域参照ブロックのうち、位置が連続するマクロブロックが属する連続ブロックを一つ選択する。ステップＳ１１１２において、当該連続ブロックに属するマクロブロック数をカウントする。ステップＳ１１１４において、当該連続ブロックに対するノイズ強度を算出する。例えば、図７に関連して説明した手法を適用して、連続ブロックに対するノイズ強度を算出する。
【００９０】
ステップＳ１１１６において、連続ブロック内の各マクロブロックに対するノイズ強度を、参照ブロックからの距離に応じて算出する。例えば、図８に関連して説明した手法を適用して、各マクロブロックに対するノイズ強度を算出する。ステップＳ１１１８において、ステップＳ１１０８、ステップＳ１１１４、ステップＳ１１１６で算出したノイズ強度を加算して、各ブロックのそれぞれに対する総ノイズ強度を算出する。
【００９１】
ステップＳ１１２０において、全ての連続ブロックについてノイズ強度を算出する処理が完了したか否かを判断する。全ての連続ブロックについてノイズ強度を算出する処理が完了していない場合はステップＳ１１１０に処理を移行し、他の連続ブロックを選択する。全ての連続ブロックについてノイズ強度を算出する処理が完了した場合は、ステップＳ１２２２において、全ての特定領域参照ブロックについて処理が完了したかを判断する。全ての特定領域参照ブロックについて処理が完了していない場合は、ステップＳ１１０２に処理を移行し、他の画像ブロックを参照する特定領域参照ブロックを選択する。全ての特定領域参照ブロックについて処理が完了した場合は、本動作フローを終了する。
【００９２】
図１２は、復号部１８２が復号処理をする場合の動作フローの一例を示す。本例では、ステップＳ９２２の一部の処理として、動画の再生が指示された場合の動作フローの一例を示す。ここでは特に、圧縮部１８０によってノイズが付加されていない動画を再生する場合を示す。ノイズが付加されたか否かは、例えば動画データに付帯されたタグ情報等に基づき特定してよい。
【００９３】
本フローが開始されると、ステップＳ１２０２において、可変長復号部３００は復号対象のフレームを選択する。ステップＳ１２０４において、可変長復号部３００が可変長復号して、復号データを生成する。ステップＳ１２０６において、動きベクトル抽出部３１０は、復号データから、各マクロブロックの動きベクトルを抽出する。
【００９４】
ステップＳ１２０８において、ノイズ付加部３７０は、抽出された動きベクトルに基づいて、特定領域参照ブロックを検出して、検出された特定領域参照ブロックに含まれるマクロブロックに対するノイズ強度を算出する。ノイズ強度を算出する処理については、圧縮対象のフレームを圧縮する場合と同様の処理を適用することができる。具体的には、図１１で説明した動作と同様のフローを適用することができる。このため、ノイズ強度の算出する処理については説明を省略する。
【００９５】
ステップＳ１２１０において、各マクロブロックの画像を生成する。具体的には、逆量子化部３２０による逆量子化、逆変換部３３０による逆変換、加算処理部３４０による差分画像および予測画像の加算処理、およびデブロッキング部３６０によるデブロッキング処理を経て、各マクロブロックの画像が生成される。
【００９６】
ステップＳ１２１２において、ノイズ付加部３７０は、ステップＳ１２０８で決定したノイズ強度に従って、各マクロブロックの画像にノイズを付加する。例えば、ノイズ付加部３７０は、上述したノイズの振幅、ノイズを適用するピクセルのピッチ等、付加するノイズ強度を調節する指標値を、ノイズ強度に基づき選択し、選択した指標値に従ってノイズを付加してよい。
【００９７】
続いて、ステップＳ１２１４において、ＡＳＩＣ１３５は、ノイズ付加部３７０で処理されたフレームから、表示用フレームを生成する。ＡＳＩＣ１３５は、表示部１３８への表示に適したサイズのフレームを生成する。ステップＳ１２１４で生成された表示用フレームは、表示順に従って表示部１３８に順次に表示される。
【００９８】
ステップＳ１２１６において、復号対象のフレームが参照されるフレームであるか否かを判断する。参照されるフレームでない場合は、ステップＳ１２２０に処理を進める。参照されるフレームである場合は、復号したフレームをＳＤＲＡＭ１３６に確保したフレームメモリに記憶して、ステップＳ１２２０に処理を進める。
【００９９】
ステップＳ１２２０において、全てのフレームについて処理が完了したかを判断する。全てのフレームについて処理が完了していない場合は、ステップＳ１２０２に処理を移行して、復号対象の他のフレームを選択する。全てのフレームについて処理が完了した場合は、本フローを終了する。
【０１００】
上記の説明では、ノイズ付加部２３０、ノイズ付加部３７０は、例えば疑似乱数の乱数値等をノイズとして付加するとして説明した。しかし、ノイズを付加する他の手法として、デブロッキング部２８０およびデブロッキング部３６０におけるデブロッキングフィルタの強度を高める手法を採用してもよい。例えば、デブロッキング部２８０およびデブロッキング部３６０において、特定領域参照ブロックに含まれるマクロブロックに対して、他のマクロブロックよりも高い強度でデブロッキング処理が適用されるようにしてもよい。
【０１０１】
例えば、システムメモリ１３９には、ノイズ強度に対応するデブロッキングフィルタのパラメータが予め記憶されていてよい。ノイズ付加部２３０は、デブロッキング部２８０で特定領域参照ブロックに対して適用されるデブロッキングフィルタの強度を、決定したノイズ強度に従って制御してよい。例えば、それぞれのマクロブロックに対して決定されたノイズ強度に対応するパラメータで、それぞれのマクロブロックにデブロッキングフィルタを適用させてよい。この手法を採用する場合、ノイズ付加部２３０およびデブロッキング部２８０が、デブロッキングフィルタの強度を他のブロックに適用するデブロッキングフィルタの強度より大きく設定する機能ブロックとして機能する。復号部１８２におけるノイズ付加部３７０およびデブロッキング部３６０についても同様であるので、説明を省略する。
【０１０２】
上記の説明において、カメラＭＰＵ１３３の動作として説明した処理は、カメラＭＰＵ１３３がプログラムに従って撮像装置１００が有する各ハードウェアを制御することにより実現される。また、上記の説明においてＡＳＩＣ１３５により実現される処理は、プロセッサによって実現することができる。例えば、ＡＳＩＣ１３５の動作として説明した処理は、プロセッサがプログラムに従って撮像装置１００が有する各ハードウェアを制御することにより実現される。すなわち、本実施形態の撮像装置１００に関連して説明した処理は、プロセッサがプログラムに従って動作して各ハードウェアを制御することにより、プロセッサ、メモリ等を含む各ハードウェアとプログラムとが協働して動作することにより実現することができる。すなわち、当該処理を、いわゆるコンピュータ装置によって実現することができる。コンピュータ装置は、上述した処理の実行を制御するプログラムをロードして、読み込んだプログラムに従って動作して、当該処理を実行してよい。コンピュータ装置は、当該プログラムを記憶しているコンピュータ読取可能な記録媒体から当該プログラムをロードすることができる。
【０１０３】
本実施形態において、レンズ交換式カメラの一例である一眼レフレックスカメラとしての撮像装置１００の機能および動作を説明した。撮像装置としては、一眼レフレックスカメラの他に、ミラーレス一眼カメラ、コンパクトデジタルカメラ等のレンズ非交換式カメラ、ビデオカメラ、撮像機能付きの携帯電話機、撮像機能付きの携帯情報端末、撮像機能付きのゲーム機器等の娯楽装置等、撮像機能を有する種々の機器を適用の対象とすることができる。また、放送機器、テレビ等の映像機器等を、適用の対象とすることができる。これらの機器に限らず、パーソナルコンピュータ等のように、圧縮対象の動画データを取り込んで圧縮する処理、復号対象の動画データを取り込んで復号する処理等を行う電子機器を適用の対象とすることができる。
【０１０４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１０５】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１０６】
１００  撮像装置、１２０  交換レンズ、１２１  レンズマウント接点、１２２  レンズ群、１２３  レンズＭＰＵ、１３０  カメラ本体、１３１  カメラマウント接点、１３２  撮像素子、１３３  カメラＭＰＵ、１３４  Ａ／Ｄ変換器、１３５  ＡＳＩＣ、１３６  ＳＤＲＡＭ、１３７  表示制御部、１３８  表示部、１３９  システムメモリ、１４０  駆動部、１４１  操作入力部、１４２  合焦センサ、１４５  接続インタフェース、１５０  メインミラー、１５１  サブミラー、１５６  光学ファインダ部、１６０  外部メモリ、１７０  電源、１８０  圧縮部、１８２  復号部、１８４  ノイズ発生部、２００  ベクトル探索部、２１０  予測画像生成部、２２０  差分処理部、２３０  ノイズ付加部、２４０  変換部、２５０  量子化部、２６０  可変長符号化部、２７０  逆量子化部、２７２  逆変換部、２７４  加算処理部、２８０  デブロッキング部、３００  可変長復号部、３１０  ベクトル抽出部、３２０  逆量子化部、３３０  逆変換部、３４０  加算処理部、３５０  予測画像生成部、３６０  デブロッキング部、３７０  ノイズ付加部、４０１  参照フレーム、４０２  処理フレーム、４０３  デコードフレーム、４１０、４２０、４３０、５１０、５２０、５３０、６１０、６２０  マクロブロック、４３２  画像領域、５０１、５０２、５０３、６０１、６０２、７０１、８０１  フレーム、７００、８００  画像ブロック、７１０、８１０  連続ブロック
【図１】
2013123090.tif 000003
【図２】
2013123090.tif 000004
【図３】
2013123090.tif 000005
【図４】
2013123090.tif 000006
【図５】
2013123090.tif 000007
【図６】
2013123090.tif 000008
【図７】
2013123090.tif 000009
【図８】
2013123090.tif 000010
【図９】
2013123090.tif 000011
【図１０】
2013123090.tif 000012
【図１１】
2013123090.tif 000013
【図１２】
2013123090.tif 000014