(57)【要約】【課題】  フラッシュ等で急激な輝度変化が発生した場合であっても、符号化による画質劣化を防止或いは軽減する。【解決手段】  イントラ符号化及びインター符号化によって画像データを符号化する画像符号化装置において、画像データにおける各ピクチャを第１のブロック単位で符号化する符号化部（１０８、１１５）と、ピクチャ毎に輝度変化を検出し、輝度変化の影響を受けたブロックを検出する輝度変化検出部（１０５）と、輝度変化検出部による検出結果に基づいて、第１のブロックが輝度変化の影響を受けたブロックである場合は、当該第１のブロックに割当てる符号量を増やすようにする符号量調整手段（１１７，１１８）とを備える。【選択図】  図１
2007274671.tif 000002
【特許請求の範囲】
【請求項１】
イントラ符号化及びインター符号化によって画像データを符号化する画像符号化装置であって、
前記画像データにおける各ピクチャを第１のブロック単位で符号化する符号化手段と、
前記ピクチャ毎に輝度変化を検出し、前記輝度変化の影響を受けたブロックを検出する輝度変化検出手段と、
前記輝度変化検出手段による検出結果に基づいて、前記第１のブロックが前記輝度変化の影響を受けたブロックである場合は、前記第１のブロックに割当てる符号量を増やすようにする符号量調整手段とを有することを特徴とする画像符号化装置。
【請求項２】
前記ピクチャを構成する各フィールド画像からそれぞれ評価値を算出する評価値算出手段をさらに有し、
前記輝度変化検出手段は、前記各フィールド画像から算出される各評価値の差に基づいて、前記輝度変化の影響を受けたブロックを検出することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記第１のブロックまたは前記第１のブロックよりも大きな第２のブロック毎に評価値を算出する評価値算出手段をさらに有し、
前記輝度変化検出手段は、前記評価値算出手段の算出結果に基づいて、前記ピクチャの輝度変化を前記第１のブロック毎に検出することを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記評価値算出手段は、前記第１のブロックまたは前記第２のブロック内の画素値を用いて評価値を算出することを特徴とする請求項３に記載の画像符号化装置。
【請求項５】
前記評価値算出手段は、前記ピクチャを構成する各フィールド画像からそれぞれ評価値を算出するものであって、
前記輝度変化検出手段は、前記各フィールド画像から算出される各評価値の差に基づいて、前記輝度変化の影響を受けたブロックを検出することを特徴とする請求項４に記載の画像符号化装置。
【請求項６】
前記符号量調整手段は、レート制御手段と、量子化係数設定手段とを有し、
前記量子化係数設定手段は、前記レート制御手段によって決定された目標符号量に従って、前記第１のブロック毎に量子化係数を設定するものであって、
前記第１のブロックが前記輝度変化の影響を受けたブロックである場合は、前記量子化係数がより小さくなるように補正した値を設定することを特徴とする請求項１に記載の画像符号化装置。
【請求項７】
前記輝度変化検出手段は、画像データの中からフラッシュの影響を受けたブロックを検出することを特徴とする請求項１に記載の画像符号化装置。
【請求項８】
イントラ符号化及びインター符号化によって画像データを符号化する画像符号化方法であって、
前記画像データにおける各ピクチャを第１のブロック単位で符号化する符号化工程と、
前記ピクチャ毎に輝度変化を検出し、前記輝度変化の影響を受けたブロックを検出する輝度変化検出工程と、
前記輝度変化検出工程における検出結果に基づいて、前記第１のブロックが前記輝度変化の影響を受けたブロックである場合には、前記第１のブロックに割当てる符号量を増やすようにする符号量調整工程とを有することを特徴とする画像符号化方法。
【請求項９】
前記ピクチャを構成する各フィールド画像からそれぞれ評価値を算出する評価値算出工程をさらに有し、
前記輝度変化検出工程は、前記各フィールド画像から算出される各評価値の差に基づいて、前記輝度変化の影響を受けたブロックを検出することを特徴とする請求項８に記載の画像符号化方法。
【請求項１０】
前記第１のブロックまたは前記第１のブロックよりも大きな第２のブロック毎に評価値を算出する評価値算出工程をさらに有し、
前記輝度変化検出工程は、前記評価値算出工程の算出結果に基づいて、前記ピクチャの輝度変化を前記第１のブロック毎に検出することを特徴とする請求項８に記載の画像符号化方法。
【請求項１１】
前記評価値算出工程は、前記第１のブロックまたは前記第２のブロック内の画素値を用いて評価値を算出することを特徴とする請求項１０に記載の画像符号化方法。
【請求項１２】
前記評価値算出工程は、前記ピクチャを構成する各フィールド画像からそれぞれ評価値を算出するものであって、
前記輝度変化検出工程は、前記各フィールド画像から算出される各評価値の差に基づいて、前記輝度変化の影響を受けたブロックを検出することを特徴とする請求項１１に記載の画像符号化方法。
【請求項１３】
前記符号量調整工程は、レート制御工程と、量子化係数設定工程とを有し、
前記量子化係数設定工程は、前記レート制御工程において決定された目標符号量に従って、前記第１のブロック毎に量子化係数を設定するものであって、
前記第１のブロックが前記輝度変化の影響を受けたブロックである場合は、前記量子化係数がより小さくなるように補正した値を設定することを特徴とする請求項８に記載の画像符号化方法。
【請求項１４】
前記輝度変化検出工程は、画像データの中からフラッシュの影響を受けたブロックを検出することを特徴とする請求項８に記載の画像符号化方法。
【請求項１５】
イントラ符号化及びインター符号化によって画像データを符号化する画像符号化方法をコンピュータに実行させるプログラムであって、
前記画像データにおける各ピクチャを第１のブロック単位で符号化する符号化工程と、
前記ピクチャ毎に輝度変化を検出し、前記輝度変化の影響を受けたブロックを検出する輝度変化検出工程と、
前記輝度変化検出工程における検出結果に基づいて、前記第１のブロックが前記輝度変化の影響を受けたブロックである場合には、前記第１のブロックに割当てる符号量を増やすようにする符号量調整工程とを有する画像符号化方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１６】
イントラ符号化及びインター符号化によって画像データを符号化する画像符号化方法をコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、
前記画像データにおける各ピクチャを第１のブロック単位で符号化する符号化工程と、
前記ピクチャ毎に輝度変化を検出し、前記輝度変化の影響を受けたブロックを検出する輝度変化検出工程と、
前記輝度変化検出工程における検出結果に基づいて、前記第１のブロックが前記輝度変化の影響を受けたブロックである場合には、前記第１のブロックに割当てる符号量を増やすようにする符号量調整工程とを有する画像符号化方法をコンピュータに実行させるプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置及び画像符号化方法に関し、例えばストロボ等がフラッシュしたときのピクチャに対する符号化制御に用いて好適な技術に関する。
【背景技術】
【０００２】
従来、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）では画面内の情報で符号化を行うイントラ符号化と画面間差分を用いるインター符号化を行っている。前記のインター符号化では、符号化対象ピクチャと参照ピクチャとの差分を符号化するようにしている。
【０００３】
符号化処理では、与えられたレートに基づき、そのピクチャに割り当てられる符号量を定め、さらに、その符号量から１つのマクロブロックに与えられる目標符号量を算出するようにしている。そして、そのマクロブロックの目標符号量に基づき、量子化係数を決定し、その決定した量子化係数で量子化を行っている（例えば、特許文献１参照。）。
【０００４】
また、ＭＰＥＧ  コーダ／デコーダ（ＭＰＥＧコーデック）を搭載した撮像装置も既に製品化されており、これに関連する先行技術文献も既に存在する（例えば、特許文献２参照。）。特許文献２には、シャッタ速度情報に応じて符号化制御を行うことが開示されている。
【特許文献１】特開２００３―１０２００７号公報
【特許文献２】特開２００１―０２５０１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の如き従来の技術においては、例えばストロボ等がフラッシュしたときのピクチャに適した符号化制御について言及したものはなかった。
【０００６】
例えばＭＰＥＧコーデックを撮像装置で用いるような状況では、動画を撮影中に静止画撮影のためのストロボがフラッシュすることが考えられる。或いは、動画を撮影中に、同じ被写体を撮影する他のカメラによってストロボが発光されることも考えられる。これらの場合、撮像している被写体に急激な輝度変化が発生する。
【０００７】
このため、その被写体を撮像して得た映像信号を符号化する際に悪影響が出ることが懸念される。具体的には、例えばフラッシュによって映像に急激な輝度変化が起こったときからしばらくの間、映像の変化に符号化器が対応することができずに、符号化効率が低下してしまい、画質が劣化するといった問題点があった。
【０００８】
本発明は上述の問題点にかんがみ、符号化すべき画像データ中に、例えばストロボがフラッシュしたときのような急激な輝度変化が起こったピクチャが含まれている場合であっても、符号化によって発生する画質劣化を防止または軽減できる画像符号化装置及び画像符号化方法を提示することを目的とする。
【課題を解決するための手段】
【０００９】
上述の目的は、イントラ符号化及びインター符号化によって画像データを符号化する画像符号化装置であって、前記画像データにおける各ピクチャを第１のブロック単位で符号化する符号化手段と、前記ピクチャ毎に輝度変化を検出し、前記輝度変化の影響を受けたブロックを検出する輝度変化検出手段と、前記輝度変化検出手段による検出結果に基づいて、前記第１のブロックが前記輝度変化の影響を受けたブロックである場合は、前記第１のブロックに割当てる符号量を増やすようにする符号量調整手段とを有することを特徴とする画像符号化装置によって達成される。
【００１０】
また、上述の目的は、イントラ符号化及びインター符号化によって画像データを符号化する画像符号化方法であって、前記画像データにおける各ピクチャを第１のブロック単位で符号化する符号化工程と、前記ピクチャ毎に輝度変化を検出し、前記輝度変化の影響を受けたブロックを検出する輝度変化検出工程と、前記輝度変化検出工程における検出結果に基づいて、前記第１のブロックが前記輝度変化の影響を受けたブロックである場合には、前記第１のブロックに割当てる符号量を増やすようにする符号量調整工程とを有することを特徴とする画像符号化方法によっても達成される。
【００１１】
また、上述の目的は、イントラ符号化及びインター符号化によって画像データを符号化する画像符号化方法をコンピュータに実行させるプログラムであって、前記画像データにおける各ピクチャを第１のブロック単位で符号化する符号化工程と、前記ピクチャ毎に輝度変化を検出し、前記輝度変化の影響を受けたブロックを検出する輝度変化検出工程と、前記輝度変化検出工程における検出結果に基づいて、前記第１のブロックが前記輝度変化の影響を受けたブロックである場合には、前記第１のブロックに割当てる符号量を増やすようにする符号量調整工程とを有する画像符号化方法をコンピュータに実行させることを特徴とするプログラムによっても達成される。
【００１２】
さらに、上述の目的は、イントラ符号化及びインター符号化によって画像データを符号化する画像符号化方法をコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、前記画像データにおける各ピクチャを第１のブロック単位で符号化する符号化工程と、前記ピクチャ毎に輝度変化を検出し、前記輝度変化の影響を受けたブロックを検出する輝度変化検出工程と、前記輝度変化検出工程における検出結果に基づいて、前記第１のブロックが前記輝度変化の影響を受けたブロックである場合には、前記第１のブロックに割当てる符号量を増やすようにする符号量調整工程とを有する画像符号化方法をコンピュータに実行させるプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００１３】
本発明によれば、符号化すべき画像データ中に急激な輝度変化が起こったピクチャが含まれている場合であっても、符号化によって発生する画質劣化を防止または軽減できる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しながら本発明の好適な実施形態について詳細に説明する。
【００１５】
図１は、本発明の一実施形態である撮像装置１００の概略構成ブロック図である。撮像装置１００は画像符号化装置としての構成及び機能を有するものである。なお、図１においては、静止画撮影に関連するストロボやシャッタ等、並びに音声処理に関連するマイクや音声信号処理部等の構成に関する記載は省略している。
【００１６】
図１において、１０１はレンズであり、１０２は撮像素子であり、１０３はカメラ信号処理部であり、１０４は画面並び替え部であり、１０４ａはメモリである。また、１０５は評価値計算部であり、１０６は第１のスイッチであり、１０７は例えば離散コサイン変換（ＤＣＴ）による直交変換部（以下、ＤＣＴ部と称す）であり、１０８は量子化部である。また、１０９は逆量子化部であり、１１０は例えば逆離散コサイン変換（ＩＤＣＴ）による逆直交変換部（以下、ＩＤＣＴ部と称す）であり、１１１は加算器であり、１１２は第２のスイッチであり、１１３は動き補償予測部である。また、１１４は減算器であり、１１５は可変長符号化部であり、１１６はバッファであり、１１７はレート制御部であり、１１８は量子化係数算出部であり、１１９は記録媒体である。
【００１７】
撮像装置１００で行われる符号化には、イントラ符号化とインター符号化の二種類がある。イントラ符号化とは、同一ピクチャ内のデータのみで符号化を行うものであり、インター符号化とは、ピクチャ間予測も行って符号化するものである。
【００１８】
符号化によって生成されるピクチャには、同一ピクチャ内の全てのデータをイントラ符号化したものをＩピクチャ、前方向のピクチャ間予測を含むＰピクチャ、及び前方向及び後方向のピクチャ間予測を含むＢピクチャがある。そして、Ｉピクチャから次のＩピクチャの手前のピクチャまでをグループオブピクチャ（ＧＯＰ）という。なお、以下では、フレーム単位で符号化する場合を例にして説明する。
【００１９】
次に、図１を参照しながら本実施形態の動作を説明する。
【００２０】
レンズ１０１を通過した被写体像は、画像素子１０２によって、１フィールド或いは１フレーム単位の画像信号に変換されて、カメラ信号処理部１０３に入力される。カメラ信号処理部１０３では、画像信号をデジタル処理し、画像信号を用いて補正値を決定し、入力された画像信号を補正した画像データを生成する。そして生成した画像データを色差信号、輝度信号に分けて１フレーム単位で画面並び替え部１０４に供給する。
【００２１】
画面並び替え部１０４は、複数フレームを記憶できるメモリ１０４ａを持っており、入力されたフレームの順番を入れ替えて出力する。画面並び替え部１０４に第１フレーム、第２フレーム、第３フレーム、・・・と順番に入力されると、符号化の順番を考慮して画面並び替えを行い、例えば、第３フレーム、第１フレーム、第２フレーム、・・・と出力する。さらに、画面並び替え部１０４に付随するメモリ１０４ａに記憶された画像データを用いて、評価値計算部１０５は、例えばストロボのフラッシュを受けたときのような、急激な輝度変化が起こった画像ブロックの検出を行う。本実施形態においては、このような急激な輝度変化を検出するブロック（以下、フラッシュ検出ブロックと称す）を２４×２４画素として以下の説明を行う。
【００２２】
図２は、評価値算出を行う画素ブロックと計算式の説明図である。
【００２３】
評価値計算部１０５は、メモリ１０４ａに記憶されているフレーム毎に、図２に記した式に基づいて、ＴＯＰ  Ｆｉｅｌｄの画素値の合計値とＢｏｔｔｏｍ  Ｆｉｅｌｄの画素値の合計値との差分絶対値和Ａを算出することによって、輝度変化の判定を行う。例えばフラッシュを受けたフレームならば、片フィールドのみにフラッシュの影響を受けているため、フィールド毎の合計値で両者に大きな差が発生する。このような評価値算出を上記したフラッシュ検出ブロック毎に行って、ブロック単位でのフラッシュ検出を行う。また、各ブロックで算出された差分絶対値和の総和をとることによって、フィールド間の差分絶対値和を算出可能であり、フラッシュを受けたフレームか否かの判定が出来る。
【００２４】
図３（ａ）はフラッシュ時の画像の例であり、図３（ｂ）はフラッシュ検出ブロックを表した図である。図３（ａ）のように、ストロボ等のフラッシュを受けた画像は、片フィールドのみがフラッシュの影響を受ける。また、フラッシュを受けた場合、その発光位置に近い箇所に強く影響が出るが、遠い箇所にはあまり影響が出ない。このため、図３（ａ）の例のように、手前の人物のみがフラッシュの影響を強く受けているとすると、評価値計算部１０５によって、手前の人物に重なるブロック、すなわち図３（ｂ）で示される黒いブロックが、フラッシュを受けたブロックとして検出される。なお、フラッシュ検出ブロックについて、２４×２４画素からなる大きさを例にあげたが、サイズはこれに限らない。フラッシュ検出ブロックをマクロブロック（例えば、１６×１６画素）と同じサイズと同じにしても良いし、そうでなくても構わない。
【００２５】
フラッシュ検出ブロックがマクロブロック単位であれば、フラッシュ検出ブロックにより検出したブロックがそのままフラッシュの影響を受けるマクロブロックとなる。また、フラッシュ検出ブロックがマクロブロック単位でない場合はフラッシュの影響を受けるマクロブロックを指定する必要がある。
【００２６】
図４は、フラッシュ検出ブロックからフラッシュが検出されたマクロブロックを指定するフローチャートである。図４を用いて、フラッシュ検出ブロック単位でフラッシュを検出し、さらにフラッシュの影響を受けるマクロブロックを指定する動作を説明する。
【００２７】
まず前提として、マクロブロックアドレス毎にフラグを持ち、初期値を０としておく。ＭＢ［ａ］（ただしａはマクロブロックアドレス）として表現する。
【００２８】
評価値計算部１０５によって、フラッシュ検出ブロック毎に制御を行う（ステップＳ４０１）。次に、フラッシュ検出ブロックのデータから評価値を算出する（ステップＳ４０２）。次に、出力された評価値から、フラッシュの影響を受けたブロックか否かの判定を行う（ステップＳ４０３）。
【００２９】
ステップＳ４０３の判定の結果、フラッシュの影響を受けたブロックと判断されれば（Ｓ４０３でＹＥＳのとき）、フラッシュ検出ブロックがどのマクロブロックを含んでいるか、またはどのマクロブロックに含まれているかを判断し、その関係するマクロブロックアドレスを全て算出し、カウンタｉを０とする（ステップＳ４０４）。ステップＳ４０４において算出されたアドレスをＡｄ［ｔ］（ただし、ｔは個数）で表現する。次に、マクロブロックのフラグＭＢＡｄ［ｉ］に１を入力する（ステップＳ４０５）。次に、関係するマクロブロックアドレスが全て終了したかを判定する（ステップＳ４０６）。
【００３０】
ステップＳ４０６の判定の結果、マクロブロックアドレスが全て終了しなければ（Ｓ４０６でＮＯのとき）、カウンタｉをインクリメントし（ステップＳ４０７）、その後ステップＳ４０５へ戻り前述した処理をｔ個分繰り返し行う。
【００３１】
一方、ステップＳ４０３でフラッシュ判定のないブロックと判断された場合（Ｓ４０３でＮＯのとき）、或いはステップＳ４０６でマクロブロックアドレスが全て終了したと判定された場合（Ｓ４０６でＹＥＳのとき）には、当該フラッシュ検出ブロックの処理を終了する。こうしてフラッシュの影響を受けたマクロブロックが特定される。
【００３２】
この様子を図で表わすと以下のようになる。図６（ａ）はフラッシュ検出ブロックの配列を表す図であり、図６（ｂ）はマクロブロックの配列を表す図であり、図６（ｃ）は（ａ）と（ｂ）を重ね合わせた様子を表わす図である。図６の各図によって、フラッシュ検出ブロックの０番がフラッシュを受けたブロックである場合、マクロブロックの０，１，ｍ，ｍ＋１番がフラッシュの影響を受けたマクロブロックとして特定されることになることを示している。
【００３３】
図１に戻り、説明を続ける。
【００３４】
符号化するピクチャタイプがＩピクチャの場合、第１のスイッチ１０６は接点Ａ側に倒れる。これにより、画面並び替え部１０４から出力された画像データは、第１のスイッチ１０６を介して、ＤＣＴ部１０７に入力されて直交変換される。このとき、評価値計算部１０５によりフラッシュの影響を受けたと判定されたマクロブロックに対しては、ＤＣＴ部１０７では強制的にフィールドＤＣＴとして演算を行う。
【００３５】
また、ピクチャタイプがＰ、Ｂピクチャの場合、第１のスイッチ１０６は接点Ｂ側に倒れる。画面並び替え部１０４から出力された画像データは、動き補償予測部１１３からの予測画像データと減算器１１４で減算される。減算器１１４は、時間軸方向の冗長度を落とすために設けられる。
【００３６】
減算器１１４で時間軸方向の冗長度を落とした画像データは、第１のスイッチ１０６を介して、ＤＣＴ部１０７に入力され、直交変換される。全てのピクチャに対して、ＤＣＴ部１０７で直交変換された画像データは、量子化部１０８で量子化される。
【００３７】
量子化部１０８では、量子化係数算出部１１８から出力された量子化係数を用いて量子化を行う。量子化された画像データは、逆量子化部１０９と可変長符号化部１１５に入力される。また、画面並び替え部１０４から出力された画像データは動き補償予測部１１３にも入力される。
【００３８】
量子化された画像データは逆量子化部１０９で逆量子化され、ＩＤＣＴ部１１０で逆直交変換される。逆直交変換された画像データは、第２のスイッチ１１２がＯＦＦされ、動き補償予測部１１３に入力される。動き補償予測部１１３は次のインター符号化のために、入力される各データを用いて予測画像データを出力する。予測画像データは減算器１１４に供給されるとともに、スイッチ１１２をＯＮすることによって加算器１１１にも供給される。加算器１１１は、予測画像データと逆直交変換された画像データとによる画像データの復元に用いられる。
【００３９】
量子化されたデータは、可変長符号化部１１５に入力され、可変長符号化され、バッファ１１６に入力される。バッファ１１６内の画像データは、記録媒体１１９に記録される。また、レート制御部１１７は、バッファ１１６内に一時蓄積される画像データから符号化データ量を算出し、その符号化データ量をもとに符号化のレート制御を行う。レート制御部１１７は、定められたビットレートに基づいて、符号化するピクチャの目標符号量を決定する。量子化係数算出部１１８は、上記目標符号量にしたがって、量子化係数を算出する。
【００４０】
図５は、量子化係数を決定する手順を説明するフローチャートである。図５を用いてレート制御部１１７及び量子化係数算出部１１８に関わる動作説明を行う。
【００４１】
レート制御部１１７及び量子化係数算出部１１８が動作を開始すると（ステップＳ５０１）、残目標符号量から残マクロブロック数を割り、マクロブロックあたりの目標符号量を算出する（ステップＳ５０２）。次に、これまでの量子化係数と算出された目標符号量から次の量子化係数（Ｑ値）を算出する（ステップＳ５０３）。次に、量子化係数算出部１１８は評価値計算部１０５から情報を取得し、算出した量子化係数が与えられるマクロブロックがフラッシュの影響を受けたマクロブロックか否かを判定する（ステップＳ５０４）。
【００４２】
ステップＳ５０４の判定の結果、フラッシュの影響を受けないマクロブロックはステップＳ５０６に進む（Ｓ５０４でＮＯのとき）。また、フラッシュの影響を受けたマクロブロックであれば（Ｓ５０４でＹＥＳのとき）、算出された量子化係数よりも小さい新たな量子化係数を再算出して、量子化係数（Ｑ値）を補正する（ステップＳ５０５）。すなわち、割当てる符号量を増やすように調整して高画質化を図る。その後、ステップＳ５０６に進む。ステップＳ５０６では決定された量子化係数に従って、マクロブロックの符号化を行う（ステップＳ５０６）。次に、ピクチャ内のマクロブロック全ての符号化が終了したか否かを判定する（ステップＳ５０７）。
【００４３】
ステップＳ５０７の判定の結果、ピクチャ全体の符号化が終了していない場合は（Ｓ５０７でＮＯのとき）、直前に符号化したマクロブロックの符号量を算出する（ステップＳ５０８）。その後、ステップＳ５０２に戻って前回の残目標符号量より直前に符号化したマクロブロックの符号量を減算し、新たな残目標符号量を算出して（ステップＳ５０２）、以降の処理を繰り返す。一方、ステップＳ５０７の判定の結果、ピクチャ全体の符号化が終了した場合は（Ｓ５０７でＹＥＳのとき）、処理を終了する（ステップＳ５０９）。
【００４４】
また、あらかじめ評価値を算出したピクチャ全体に関わる図３（ｂ）のようなマップを持っていれば、マクロブロックの量子化係数の上げ下げを記憶しておくことができる。この場合、ピクチャ内でフラッシュの影響を受けるマクロブロックの個数（割合）に応じて量子化係数の補正幅を調整することが可能であり、その補正幅に関する情報を記憶できる。
【００４５】
さらに、マクロブロックの境界で量子化係数が大きく異なる場合、そこでブロックノイズが発生する。符号化前にピクチャ全てのデータが揃っているため、フラッシュの影響を受けるマクロブロックの周囲に補正をかけることも可能である。以上のように、本実施形態においては、フラッシュ等の急激な輝度変化の影響を受けるマクロブロック及びその周辺マクロブロックの量子化を変更し、画質を向上させることができる。
【００４６】
（本発明に係る他の実施形態）
上述した本発明の実施形態における画像符号化装置を構成する各手段、並びに画像記録方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び上記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００４７】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能である。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００４８】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図４，５に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接されてもよい。あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００４９】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００５０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００５１】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどである。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）なども含む。
【００５２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、前記ホームページから本発明のコンピュータプログラムそのものをダウンロードすることによっても供給できる。もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００５３】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００５４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００５５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００５６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００５７】
【図１】本発明の一実施形態である撮像装置の概略構成ブロック図である。
【図２】評価値計算を行う画素ブロックと計算式の説明図である。
【図３】（ａ）はフラッシュ時の画像の例であり、（ｂ）はフラッシュ検出ブロックを表した図である。
【図４】本発明におけるフラッシュ検出ブロックからフラッシュが検出されたマクロブロックを指定する手順を説明するフローチャートである。
【図５】本発明における量子化係数を決定する手順を説明するフローチャートである。
【図６】（ａ）はフラッシュ検出ブロックの配列を表す図であり、（ｂ）はマクロブロックの配列を表す図であり、（ｃ）は両者を重ね合わせた様子を表わす図である。
【符号の説明】
【００５８】
１００  撮像装置
１０１  レンズ
１０２  撮像素子
１０３  カメラ信号処理部
１０４  画面並べ替え部
１０４ａ  メモリ
１０５  評価値計算部
１０６  第１のスイッチ
１０７  直交変換部
１０８  量子化部
１０９  逆量子化部
１１０  逆直交変換部
１１１  加算器
１１２  第２のスイッチ
１１３  動き補償予測部
１１４  減算器
１１５  可変長符号化部
１１６  バッファ
１１７  レート制御部
１１８  量子化係数算出部
１１９  記録媒体
【図１】
2007274671.tif 000003
【図２】
2007274671.tif 000004
【図３】
2007274671.tif 000005
【図４】
2007274671.tif 000006
【図５】
2007274671.tif 000007
【図６】
2007274671.tif 000008