(57)【要約】【課題】符号化処理に費やすメモリ帯域及び処理時間の増大を抑制することができる画像処理装置を提供する。【解決手段】Ｑ値設定部４０は、ソース画像ＳＤの注目画素Ａ１と注目画素Ａ１の近接画素Ｂ１，Ｃ１，Ｄ１との間のＳＡＤ値を算出する差分演算器４５と、ＳＡＤ値と閾値Ｔｈ１とを比較して比較結果ＣＭ１を算出する比較器４６とを有する。また、Ｑ値設定部４０は、比較結果ＣＭ１をソース画像ＳＤ全体で累積した累積値ＡＭ４と、閾値Ｔｈ５とを比較して比較結果ＣＭ５を算出する比較器６２と、比較結果ＣＭ５に基づいて、２つの設定値Ｑ１，Ｑ２のいずれか一方を選択し、選択した設定値をＱ値としてコーデック部３５に出力するマルチプレクサ５０とを有する。そして、コーデック部３５は、Ｑ値に基づいてソース画像ＳＤを符号化する。【選択図】図８
2015146491.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素が互いに直交する垂直方向及び水平方向に２次元状に配列された入力画像の注目画素と前記注目画素の近接画素との間の差分を算出する差分演算器と、
前記差分と第１閾値とを比較して第１比較結果を算出する第１比較器と、
前記第１比較結果を前記入力画像全体で累積した第１累積値と、第２閾値とを比較して第２比較結果を算出する第２比較器と、
前記第２比較結果に基づいて量子化テーブルを設定する設定回路と、
前記量子化テーブルに基づいて前記入力画像を符号化する符号化処理部と、
を有することを特徴とする画像処理装置。
【請求項２】
前記第２比較器は、前記第１比較結果をＩ×Ｊ画素（Ｉ及びＪは１以上の整数）を有するブロック毎に累積した第２累積値と、第３閾値とを比較して第３比較結果を算出するとともに、前記第３比較結果を前記入力画像全体で累積した前記第１累積値と前記第２閾値とを比較して前記第２比較結果を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２比較器は、
前記第１比較結果を前記入力画像における水平方向のＩ画素単位で累積した第３累積値と、第４閾値とを比較して第４比較結果を算出し、
前記第４比較結果を前記ブロックにおける垂直方向のＪライン単位で累積した前記第２累積値と、前記第３閾値とを比較して前記第３比較結果を算出し、
前記第３比較結果を前記入力画像における垂直方向のＪライン単位で累積した第４累積値と、第５閾値とを比較して第５比較結果を算出し、
前記第５比較結果を前記入力画像全体で累積した前記第１累積値と前記第２閾値とを比較して前記第２比較結果を算出することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記第２累積値を格納する記憶部を有し、
前記記憶部は、前記入力画像がｎ×ｍ個（ｎ及びｍは１以上の整数）の前記ブロックから構成される場合に、ｎ×ｍ個の記憶領域が２次元状に配列された配列メモリであることを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
複数の画素が互いに直交する垂直方向と水平方向に２次元状に配列された入力画像を入力するステップと、
前記入力画像の注目画素と前記注目画素の近接画素との間の差分を算出するステップと、
前記算出した差分と第１閾値とを比較して第１比較結果を算出するステップと、
前記第１比較結果を前記入力画像全体で累積して第１累積値を算出するステップと、
前記第１累積値と第２閾値とを比較して第２比較結果を算出するステップと、
前記第２比較結果に基づいて量子化テーブルを設定するステップと、
前記量子化テーブルに基づいて前記入力画像を符号化するステップと、
を有することを特徴とする画像処理方法。
【請求項６】
前記第１累積値を算出するステップは、
前記第１比較結果をＩ×Ｊ画素（Ｉ及びＪは１以上の整数）を有するブロック毎に累積して第２累積値を算出するステップと、
前記第２累積値と第３閾値とを比較して第３比較結果を算出するステップと、
前記第３比較結果を前記入力画像全体で累積して前記第１累積値を算出するステップと、
を有することを特徴とする請求項５に記載の画像処理方法。
【請求項７】
前記差分を算出するステップと、前記第１比較結果を算出するステップと、前記第２累積値を算出するステップと、前記第３比較結果を算出するステップとは、
前記各ブロックの１行１列目の画素を注目画素に設定し、前記注目画素と、前記注目画素から水平方向にＰ（Ｐは１以上の整数）画素以上離れた第１近接画素、及び前記注目画素から垂直方向にＰ画素以上離れた第２近接画素との差分を算出する第１ステップと、
前記注目画素を水平方向に１画素ずつ移動させて前記差分を算出する第２ステップと、
前記差分を算出する度に、前記第１比較結果を第３累積値に累積する第３ステップと、
（Ｉ−Ｐ＋１）画素単位の前記第１比較結果が前記第３累積値に累積される度に、前記第３累積値と第４閾値とを比較して第４比較結果を算出する第４ステップと、
前記第４比較結果を前記第２累積値に累積する第５ステップと、
前記注目画素を水平方向に（Ｉ−Ｐ＋１）画素移動させる度に、前記注目画素を水平方向に（Ｐ＋２）画素移動させて前記差分を算出する第６ステップと、
前記入力画像の水平方向の１ライン分の画素に対して前記第１ステップから前記第５ステップまでを繰り返す第７ステップと、
前記注目画素を垂直方向に１ライン移動させる度に、前記第１ステップから前記第６ステップまでを繰り返す第８ステップと、
（Ｊ−Ｐ＋１）ライン単位の前記第４比較結果が前記第２累積値に加算される度に、前記第２累積値と前記第３閾値とを比較して前記第３比較結果を算出する第９ステップと、
前記注目画素を垂直方向に（Ｊ−Ｐ＋１）ライン移動させる度に、前記注目画素を垂直方向に（Ｐ＋２）ライン移動させて前記第１ステップから前記第９ステップまでを繰り返す第１０ステップと、
を有することを特徴とする請求項６に記載の画像処理方法。
【請求項８】
画像データに対して所定の画像処理を施すステップを有し、
前記入力画像を入力するステップでは、前記所定の画像処理が施された画像データを前記入力画像として入力し、
前記所定の画像処理を施すステップと、前記入力画像を入力するステップ、及び前記差分を算出するステップ、及び前記第１比較結果を算出するステップ、及び前記第１累積値を算出するステップ、及び前記第２比較結果を算出するステップ、及び前記量子化テーブルを設定するステップとを並行して実施することを特徴とする請求項５〜７のいずれか一項に記載の画像処理方法。
【請求項９】
前記入力画像がｎ×ｍ個（ｎ及びｍは１以上の整数）の前記ブロックから構成される場合に、前記ブロック単位の第２累積値を、ｎ×ｍ個の記憶領域が２次元状に配列された配列メモリの対応する位置に格納するステップを有し、
全ての前記ブロックに対応する前記第２累積値が前記配列メモリに格納された後に、前記入力画像の一部がトリミングされた場合には、トリミングされたブロックに対応する位置の前記配列メモリの記憶領域から前記第２累積値を読み出し、読み出した前記第２累積値と前記第３閾値とを比較して第３比較結果を算出し、前記第３比較結果をトリミング後の入力画像全体で累積して前記第１累積値を算出することを特徴とする請求項６又は７に記載の画像処理方法。
【請求項１０】
撮像光学系と、前記撮像光学系を通過した光に応じた画像データを生成する撮像素子とを含む撮像部と、前記画像データに対して１又は複数の画像処理を施す画像処理装置とを有し、
前記画像処理装置は、
前記画像データを補正する画像補正部と、
前記補正後の画像データに対して所定の画像処理を施す画像処理部と、
前記所定の画像処理が施された画像データを入力画像として入力し、前記入力画像に基づいて、量子化テーブルを設定する設定部と、
前記量子化テーブルに基づいて、前記所定の画像処理が施された画像データを符号化する符号化処理部と、を有し、
前記設定部は、
複数の画素が互いに直交する垂直方向及び水平方向に２次元状に配列された前記入力画像の注目画素と前記注目画素の近接画素との間の差分を算出する差分演算器と、
前記差分と第１閾値とを比較して第１比較結果を算出する第１比較器と、
前記第１比較結果を前記入力画像全体で累積した第１累積値と、第２閾値とを比較して第２比較結果を算出する第２比較器と、
前記第２比較結果に基づいて量子化テーブルを設定する設定回路と、を有することを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び撮像装置に関するものである。
【背景技術】
【０００２】
従来、デジタルスチルカメラ等の撮像装置は、ＣＣＤ（Charge Coupled Devices）イメージセンサなどの撮像素子によって取得した撮像信号を画像データに変換し、その画像データに対して所定の画像処理を施してメモリに格納する。この撮像装置における画像処理としては、例えばＪＰＥＧ（Joint Photographic Experts Group）方式による符号化処理などが実行される。この符号化処理では、符号化対象の画像データ（ソース画像）と、Ｑ値（量子化テーブル）等のパラメータとに依存して、符号化後の画像データ（符号化データ）のデータ量が決定される。一般的には、ソース画像に高周波成分が多く含まれていると、符号化データのデータ量が増大する。また、図２０に示すように、同一のソース画像であっても、Ｑ値が大きくなるほど符号化データのデータ量が大きくなる（実線矢印参照）。この符号化データのデータ量が大きくなると、ＪＰＥＧによる符号化処理に費やすメモリ帯域及び処理時間が増大する。すると、符号化処理の後に実行される符号化データ転送や表示データ転送の遅延を引き起こし、必要とする画像データが間に合わない、所謂転送破綻を招く。例えば、表示部に表示データを転送する場合にメモリから表示データを読み出す処理が遅れると、表示部に表示データを出力するタイミングが間に合わなくなる転送破綻などを生じさせる。この転送破綻は、表示部における表示画像の乱れを生じさせる。
【０００３】
そこで、符号化データのデータ量を予測し、その予測結果に基づいてＱ値を小さくすることで実際の符号化データのデータ量を小さくする技術が提案されている（例えば、特許文献１，２参照）。例えば、ソース画像から複数の画素を間引いた画像データに対して仮の符号化処理を行い、その結果に基づいてＱ値を最適化し、その最適化したＱ値を用いてソース画像に対して符号化処理を実施する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−０９２３３２号公報
【特許文献２】特開２００８−３１２１９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、上述した技術では、上記間引いた画像データに対する仮の符号化処理とソース画像に対する符号化処理との少なくとも２回以上の符号化処理を行う必要がある。また、上記技術では、Ｑ値が最適化されるまで仮の符号化処理が複数回行われることもある。このように符号化処理の回数が増える分だけ、余分にメモリ帯域を消費するとともに、符号化処理にかかる時間が増大してしまう。
【課題を解決するための手段】
【０００６】
本発明の一観点によれば、複数の画素が互いに直交する垂直方向及び水平方向に２次元状に配列された入力画像の注目画素と前記注目画素の近接画素との間の差分を算出する差分演算器と、前記差分と第１閾値とを比較して第１比較結果を算出する第１比較器と、前記第１比較結果を前記入力画像全体で累積した第１累積値と、第２閾値とを比較して第２比較結果を算出する第２比較器と、前記第２比較結果に基づいて量子化テーブルを設定する設定回路と、前記量子化テーブルに基づいて前記入力画像を符号化する符号化処理部と、を有する。
【発明の効果】
【０００７】
本発明の一観点によれば、符号化処理に費やすメモリ帯域及び処理時間の増大を抑制することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】一実施形態の撮像装置を示すブロック図。
【図２】一実施形態の撮像装置の動作を示すフローチャート。
【図３】一実施形態のソース画像を示す説明図。
【図４】一実施形態のソース画像の入力順序を示す説明図。
【図５】（ａ）〜（ｄ）は、一実施形態のＱ値設定処理を示す説明図。
【図６】（ａ）〜（ｃ）は、一実施形態のＱ値設定処理を示す説明図。
【図７】（ａ）は、一実施形態の符号化処理を示す説明図、（ｂ）は、従来の符号化処理を示す説明図。
【図８】一実施形態のＱ値設定部の内部構成例を示すブロック図。
【図９】一実施形態のステートマシンのステート遷移を示す説明図。
【図１０】一実施形態の配列メモリの記憶領域を示す説明図。
【図１１】一実施形態のＱ値設定処理を示す説明図。
【図１２】一実施形態のＱ値設定処理を示す説明図。
【図１３】一実施形態のＱ値設定処理を示す説明図。
【図１４】一実施形態のＱ値設定処理を示す説明図。
【図１５】一実施形態のＱ値設定処理を示す説明図。
【図１６】一実施形態のＱ値設定処理を示す説明図。
【図１７】一実施形態のトリミング後のＱ値設定処理を示す説明図。
【図１８】一実施形態のトリミング後のＱ値設定処理を示す説明図。
【図１９】自然画像を示す説明図。
【図２０】Ｑ値と符号化データの画像サイズとの関係を示す特性図。
【発明を実施するための形態】
【０００９】
（第１実施形態）
以下、図１〜図１８に従って第１実施形態を説明する。
図１に示すように、撮像装置１は、撮像部１１と、画像処理プロセッサ（ＩＳＰ：Image Signal Processor）１２と、入力部１３と、メモリ１４と、メモリカード１５と、表示デバイス１６とを有している。
【００１０】
撮像部１１は、撮像光学系２１と、撮像素子部２２と、アナログフロントエンド（ＡＦＥ：Analog Front End）２３とを有している。
撮像光学系２１は、例えば、被写体からの光を集光する複数のレンズ（フォーカスレンズなど）や、これらのレンズを透過した光の量を調整する絞り等を含み、光学的な被写体像を撮像素子部２２に導く。撮像素子部２２は、例えば、ベイヤ配列のカラーフィルタと、撮像素子とを含む。撮像素子は、例えば、ＣＣＤ（Charge Coupled Device）イメージセンサである。撮像素子は、カラーフィルタを介して入射する光の量に応じた撮像信号（アナログ信号）を出力する。ＡＦＥ２３は、撮像素子部２２から出力されるアナログの撮像信号をデジタルの撮像データＧＤに変換するＡ／Ｄ変換回路を含み、撮像データＧＤを画像処理プロセッサ１２に出力する。また、ＡＦＥ２３は、画像処理プロセッサ１２から供給される制御信号を撮像素子部２２に出力する。
【００１１】
画像処理プロセッサ１２は、撮像部１１から出力される撮像データＧＤ（例えば、ＲＧＢ形式の画像データ（ベイヤデータ））に対して各種画像処理を施す。例えば、画像処理プロセッサ１２は、所定の処理段階で画像データをメモリ１４に一時的に格納する。すなわち、メモリ１４は作業メモリとして機能する。このメモリ１４は、例えば、同期式半導体メモリ（ＳＤＲＡＭ：Synchronous Dynamic Random Access Memory）などの書き換え可能なメモリである。また、画像処理プロセッサ１２は、メモリ１４に格納された各種画像処理後の画像データをメモリカード１５に格納したり、表示デバイス１６に表示したりする。
【００１２】
入力部１３は、ユーザにより操作されるシャッタボタンやメニューボタン等の各種スイッチを有している。この各種スイッチは、例えば、写真撮影、撮影条件の設定や表示方式の設定等を行うために使用される。
【００１３】
メモリカード１５は、例えば、コンパクトフラッシュ（登録商標）やＳＤメモリカード（登録商標）などの携帯型メモリカードである。
表示デバイス１６としては、例えば、液晶表示装置（ＬＣＤ：Liquid Crystal Display）や有機ＥＬ（Electronic Luminescence）を用いることができる。このような表示デバイス１６は、マトリクス状に配列された複数の表示画素を有している。すなわち、表示デバイス１６は、第１の配列方向である水平走査方向（水平方向）と、その水平走査方向と平面視で直交する垂直走査方向（垂直方向）とに配列された複数の表示画素を有している。また、表示デバイス１６としては、例えば、電子ビューファインダ（ＥＶＦ：Electronic View Finder）や、外部接続のためのインターフェース（例えば、ＨＤＭＩ（登録商標）：High-Definition Multimedia Interface）などを用いることもできる。
【００１４】
次に、画像処理プロセッサ１２の内部構成例を説明する。
画像処理プロセッサ１２は、ＣＰＵ（Central Processing Unit）３０と、センサインターフェース（Ｉ／Ｆ）３１と、入力画像補正部３２と、色処理部３３と、画像処理部３４と、コーデック部３５と、メモリカードＩ／Ｆ３６と、表示Ｉ／Ｆ３７と、ＤＭＡ調停部３８と、メモリコントローラ３９と、Ｑ値設定部４０とを有している。
【００１５】
ＣＰＵ３０は、画像処理プロセッサ１２全体を統括制御する。ＣＰＵ３０は、処理に必要な情報の各処理部への設定及びデータの書き込み／読み出し制御等を行う。ＣＰＵ３０は、撮像素子部２２のリセットを指令する制御信号を、ＡＦＥ２３を通じて撮像素子部２２に出力する。ＣＰＵ３０は、入力部１３の操作に応じて動作モードや各処理において必要な情報（パラメータ）を設定する。
【００１６】
センサＩ／Ｆ３１、入力画像補正部３２、色処理部３３、画像処理部３４、コーデック部３５、メモリカードＩ／Ｆ３６、表示Ｉ／Ｆ３７及びＤＭＡ調停部３８は、内部バスＢＵＳを介して互いに接続されている。ＤＭＡ調停部３８は、メモリコントローラ３９を介してメモリ１４と接続されている。
【００１７】
センサＩ／Ｆ３１は、撮像部１１から出力される撮像データＧＤ（ＲＧＢ形式の画像データ）を受け取り、その画像データＧＤをメモリ１４に格納する。
入力画像補正部３２は、メモリ１４から読み出した画像データＧＤに対して補正処理を施す。そして、入力画像補正部３２は、補正後の画像データをメモリ１４に格納する。画像データＧＤに対する補正は、例えば、明るさやコントラストを調整するガンマ補正処理、輝度むらを補正するシェーディング補正処理等である。
【００１８】
色処理部３３は、例えば、メモリ１４から読み出した補正後の画像データに対して、色空間変換処理を施す。そして、色処理部３３は、色空間変換後の画像データをメモリ１４に格納するとともに、色空間変換後の画像データをＱ値設定部４０に出力する。なお、色空間変換処理は、ＲＧＢ形式の画像データをＹＣｂＣｒ形式の画像データに変換する処理である。
【００１９】
画像処理部３４は、メモリ１４から読み出した色空間変換後の画像データに対して、色処理部３３における処理以外の他の画像処理を施す１つ又は複数の処理部である。画像処理部３４は、画像処理後の画像データをメモリ１４に格納する。画像処理部３４が行う処理は、例えば、画素数を増減する解像度変換処理、画像の輪郭（エッジ）を強調するエッジ強調処理、画像データに含まれるノイズを除去するノイズ除去処理等が含まれる。
【００２０】
コーデック部３５は、メモリ１４に格納された画像処理後の画像データを読み出し、その画像データを所定の方式（ここでは、ＪＰＥＧ（Joint Photographic Experts Group）方式）により符号化する。具体的には、コーデック部３５は、色空間変換処理後の画像データ（又は、画像処理部３４による画像処理後の画像データ）に対して、Ｑ値設定部４０で設定されたＱ値（量子化テーブル）を用いてＪＰＥＧによる符号化処理を施す。そして、コーデック部３５は、符号化後の画像データ（符号化データ）をメモリ１４に格納する。
【００２１】
メモリカードＩ／Ｆ３６は、撮像装置１に装着されるメモリカード１５と接続される。メモリカードＩ／Ｆ３６は、メモリ１４に格納されたデータ（例えば、符号化データ）をメモリカード１５に格納する。
【００２２】
表示Ｉ／Ｆ３７には、当該撮像装置１に設けられた表示デバイス１６が接続されている。表示デバイス１６は、撮像装置１の駆動源であるバッテリの残量、撮影モード、撮影フレーム、記憶された画像データの表示等に用いられる。例えば、表示Ｉ／Ｆ３７は、メモリ１４に格納されたデータを読み出し、そのデータに基づいて生成した表示データを表示デバイス１６に出力する。
【００２３】
センサＩ／Ｆ３１と、入力画像補正部３２と、色処理部３３と、画像処理部３４と、コーデック部３５と、メモリカードＩ／Ｆ３６と、表示Ｉ／Ｆ３７とは、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ：Direct Memory Access Controller）３１ａ〜３７ａをそれぞれ有している。ＤＭＡＣ３１ａ〜３７ａは、対応する処理部３１〜３７が行う処理に応じたアクセス要求を出力する。例えば、センサＩ／Ｆ３１は、撮像部１１から供給される画像データＧＤを、メモリ１４に格納する。このため、センサＩ／Ｆ３１のＤＭＡＣ３１ａは、書き込み要求（ライトリクエスト）を出力する。コーデック部３５は、メモリ１４から画像処理後の画像データを読み出すとともに、符号化後の画像データをメモリ１４に格納する。このため、コーデック部３５のＤＭＡＣ３５ａは、読み出し要求（リードリクエスト）及びライトリクエストを出力する。
【００２４】
ＤＭＡ調停部３８は、各処理部３１〜３７のＤＭＡＣ３１ａ〜３７ａから出力され競合する要求（リクエスト）を、例えば、各処理部３１〜３７に対応して設定された優先度に従って要求を調停し、１つの処理部に対するアクセスを許可する。アクセスが許可された処理部は、メモリ１４に対するアクセスのための制御信号を出力する。例えば読み出し要求の場合、メモリコントローラ３９は、制御信号に応じてメモリ１４からデータを読み出し、その読み出したデータを要求元の処理部に出力する。また、メモリコントローラ３９は、書き込み要求と、その要求元の処理部から出力されるデータをメモリ１４に出力し、メモリ１４はそのデータを記憶する。
【００２５】
Ｑ値設定部４０は、色処理部３３から入力する色空間変換後の画像データをソース画像ＳＤとして入力し、そのソース画像ＳＤに基づいて、コーデック部３５で用いるＱ値（量子化テーブル）を設定する。例えば、Ｑ値設定部４０は、ソース画像ＳＤの近接画素同士の画素値の差分（例えば、差分絶対値和）に基づいて、ソース画像ＳＤ内の位置毎の高周波成分の度合を予測し、その予測結果からＱ値を設定する。そして、Ｑ値設定部４０は、設定したＱ値をコーデック部３５に出力する。
【００２６】
次に、センサＩ／Ｆ３１、入力画像補正部３２、色処理部３３、及びコーデック部３５における処理の概要を説明する。
図２に示すステップＳ１において、まず、撮像部１１から出力される撮像データＧＤ（ＲＧＢ形式の画像データ）がセンサＩ／Ｆ３１で受信される。続いて、入力画像補正部３２において、センサＩ／Ｆ３１で受信された撮像データＧＤに対して各種の補正処理が施される（ステップＳ２）。次いで、色処理部３３において、上記補正処理後のＲＧＢ形式の画像データがＹＣｂＣｒ形式の画像データに変換される（ステップＳ３）。
【００２７】
このとき、Ｑ値設定部４０は、色処理部３３による色空間変換処理と並行して、色処理部３３から出力されるＹＣｂＣｒ形式の画像データをソース画像ＳＤとして取得する（ステップＳ４）。
【００２８】
図３に示すように、ソース画像ＳＤは、複数の画素（ここでは、Ｍ画素×Ｎ画素）が水平方向（行方向：図中の左右方向）及び垂直方向（列方向：図中の上下方向）に２次元状に配列された画像データである。すなわち、ソース画像ＳＤは、複数の画素が２次元の行列状に配列された画像データである。詳述すると、ソース画像ＳＤは、例えば、表示デバイス１６の表示画素に対応するＭ本、ここでは８ｍ本（ｍは整数）のラインデータＬ１〜ＬＭを含む。また、各ラインデータＬ１〜ＬＭは、Ｎ個、ここでは８ｎ個（ｎは整数）の画素データ（画素）を含む。
【００２９】
図４に示すように、上記ソース画像ＳＤは、図中の矢印で示したラスタ順に色処理部３３からＱ値設定部４０に入力される。すなわち、まず、ソース画像ＳＤのラインデータＬ１におけるＮ個の画素データが図中左端の画素データから順にＱ値設定部４０に入力され、続いて、ラインデータＬ２におけるＮ個の画素データが図中左端の画素データから順にＱ値設定部４０に入力される。
【００３０】
続いて、Ｑ値設定部４０は、取得したソース画像ＳＤにおける近接画素間の差分を算出する（ステップＳ５）。例えば、ソース画像ＳＤを所定サイズのブロック（例えば、Ｉ×Ｊ画素を有するブロック）単位で区切って、そのブロック単位で上記近接画素間の差分を累積する。本例では、図３に示すように、ソース画像ＳＤを最小符号化単位（Minimum Coded Unit：ＭＣＵ）、つまり８画素×８画素のブロックＭＢ単位で区切って、そのブロックＭＢ単位で上記近接画素間の差分を累積する。そして、種々の段階において、上記近接画素間の差分を、予め設定した閾値と比較する。この方法について、ソース画像ＳＤにおける左上のブロックＭＢに着目して説明する。なお、説明の便宜上、上記左上のブロックＭＢを「ブロックＭＢ１」と称する。
【００３１】
まず、図５（ａ）に示すように、ブロックＭＢ１内の左上の画素、つまり１行１列目の画素を注目画素Ａ１に設定し、その注目画素Ａ１と該注目画素Ａ１の近接画素Ｂ１，Ｃ１，Ｄ１との間の差分を算出する（ステップＳ５、第１ステップ）。例えば、注目画素Ａ１と近接画素Ｂ１，Ｃ１，Ｄ１との差分絶対値和（ＳＡＤ値：Sum of Absolute Difference）を算出する。具体的には、２つの画素間（ここでは、注目画素Ａ１と近接画素Ｂ１との間、注目画素Ａ１と近接画素Ｃ１との間、及び注目画素Ａ１と近接画素Ｄ１との間）の各画素値の差分の絶対値を求め、それら差分絶対値の総和を算出する。ここで、本例の近接画素Ｂ１，Ｃ１，Ｄ１は、注目画素Ａ１に隣接する隣接画素ではなく、注目画素Ａ１から１画素離れた画素である。すなわち、図５（ａ）における近接画素Ｂ１はブロックＭＢ１内の１行３列目の画素、近接画素Ｃ１はブロックＭＢ１内の３行１列目の画素、近接画素Ｄ１はブロックＭＢ１内の３行３列目の画素である。
【００３２】
続いて、Ｑ値設定部４０は、注目画素Ａ１と近接画素Ｂ１，Ｃ１，Ｄ１との間の差分絶対値和（以下、ＳＡＤ値ともいう）と閾値Ｔｈ１とを比較する（ステップＳ６）。ＳＡＤ値と閾値Ｔｈ１との大小関係を示す比較結果ＣＭ１は、水平８画素単位の累積値ＡＭ１に累積される（ステップＳ７）。ここで、閾値Ｔｈ１は、注目画素Ａ１と近接画素Ｂ１，Ｃ１，Ｄ１とを含む範囲内の高周波成分の度合を判定するための値（例えば、注目画素Ａ１と近接画素Ｂ１，Ｃ１，Ｄ１との間に高周波成分が多く含まれているか否かを判定するための値）であり、例えば、予め実行されたシミュレーション等の結果に基づいて設定される。例えば、閾値Ｔｈ１は、予め実行されたシミュレーション等に基づき算出された、注目画素Ａ１と近接画素Ｂ１，Ｃ１，Ｄ１との差分の度合と符号化データのサイズとの相関情報に基づいて設定される。
【００３３】
次に、図５（ｂ）に示すように、注目画素Ａ１をブロックＭＢ１内で水平方向に１画素シフト（移動）させる。そして、Ｑ値設定部４０は、シフトさせた注目画素Ａ１（ブロックＭＢ１内の１行２列目の画素）とその注目画素Ａ１の近接画素Ｂ１，Ｃ１，Ｄ１との間のＳＡＤ値を算出する（ステップＳ５）。このとき、注目画素Ａ１のシフト動作と併せて、近接画素Ｂ１，Ｃ１，Ｄ１もブロックＭＢ１内で水平方向に１画素シフトされる。このため、近接画素Ｂ１はブロックＭＢ１内の１行４列目の画素、近接画素Ｃ１はブロックＭＢ１内の３行２列目の画素、近接画素Ｄ１はブロックＭＢ１内の３行４列目の画素となる。続いて、Ｑ値設定部４０は、算出したＳＡＤ値と閾値Ｔｈ１とを比較する（ステップＳ６）。そして、Ｑ値設定部４０は、算出した比較結果ＣＭ１を上記累積値ＡＭ１（ここでは、注目画素Ａ１がブロックＭＢ１内の１行１列目の画素である場合の比較結果ＣＭ１）に累積する（ステップＳ７）。
【００３４】
同様に、注目画素Ａ１をブロックＭＢ１内で水平方向に１画素ずつシフトさせる毎にＳＡＤ値を算出し（第２ステップ）、そのＳＡＤ値と閾値Ｔｈ１との比較結果ＣＭ１を累積値ＡＭ１に累積する（ステップＳ５〜Ｓ７、第３ステップ）。そして、図５（ｃ）に示すように、注目画素Ａ１がブロックＭＢ１内の１行６列目の画素になった場合には、その注目画素Ａ１における比較結果ＣＭ１を累積値ＡＭ１に累積した後に、その累積値ＡＭ１を閾値Ｔｈ２と比較する（ステップＳ８、第４ステップ）。このときの累積値ＡＭ１は、注目画素Ａ１をブロックＭＢ１内の１行１列目の画素から１行６列目の画素までシフトさせた場合の比較結果ＣＭ１（閾値Ｔｈ１との大小比較結果）を累積した値である。ここで、注目画素Ａ１を１行６列目までシフトさせると、ブロックＭＢ１内の１行目の水平８画素（１行１列目から１行８列目までの８画素）が注目画素Ａ１及び近接画素Ｂ１の少なくとも一方に利用されたことになる。このため、閾値Ｔｈ２と比較される累積値ＡＭ１は、ブロックＭＢ１内の１行目における水平８画素の画素値に対応する差分（ＳＡＤ値）と閾値Ｔｈ１との大小比較結果を反映した値となる。したがって、上記ステップＳ８では、水平８画素分の累積値ＡＭ１が閾値Ｔｈ２（つまり、水平８画素に対応する閾値）と比較されることになる。そして、Ｑ値設定部４０は、累積値ＡＭ１と閾値Ｔｈ２との大小関係を示す比較結果ＣＭ２を累積値ＡＭ２に累積する（ステップＳ９、第５ステップ）。これにより、ＳＡＤ値と閾値Ｔｈ１との比較結果ＣＭ１（例えば、１ビットデータ）を６個累積した累積値ＡＭ１（例えば、１バイトデータ）が閾値Ｔｈ２と比較されて比較結果ＣＭ２（例えば、１ビットデータ）に圧縮され、その比較結果ＣＭ２が累積値ＡＭ２に累積される。
【００３５】
ここで、上記閾値Ｔｈ２は、ブロックＭＢ内の水平１ライン（ここでは、水平８画素）における高周波成分の度合を判定するための値（例えば、水平８画素に高周波成分が多く含まれているか否かを判定するための値）であり、例えば、予め実行されたシミュレーション等の結果に基づいて設定される。例えば、閾値Ｔｈ２は、予め実行されたシミュレーション等に基づき算出された、水平８画素における累積値ＡＭ１の大きさと符号化データのサイズとの相関情報に基づいて設定される。
【００３６】
次に、図５（ｄ）に示すように、注目画素Ａ１を水平方向に３画素分だけシフトさせる（第６ステップ）。すなわち、注目画素Ａ１をブロックＭＢ１内の６列目の画素までシフトさせた後は、残りの水平２画素（つまり、ブロックＭＢ１内の７列目及び８列目の画素）をスキップし、注目画素Ａ１をブロックＭＢ１の右隣のブロックＭＢの１行１列目の画素までシフトさせる。換言すると、本例では、ブロックＭＢ１（ブロックＭＢ）内の７列目の画素と８列目の画素とを注目画素Ａ１に設定しない。
【００３７】
上記右隣のブロックＭＢの１行１列目の画素に注目画素Ａ１が設定されると、そのブロックＭＢについても上記ステップＳ４〜Ｓ９の処理が実施される。その後も同様に、ソース画像ＳＤの水平１ライン分のブロックＭＢについてステップＳ４〜Ｓ９の処理が実施される（第７ステップ）。
【００３８】
次に、図６（ａ）に示すように、ソース画像ＳＤの１行目（つまり、ラインデータＬ１）における演算処理が終了すると、注目画素Ａ１を垂直方向に１行シフトさせ、さらに左端までシフトさせる。これにより、注目画素Ａ１がブロックＭＢ１の２行１列目の画素に設定される。すると、そのブロックＭＢ１の２行目の画素に対して上記ステップＳ４〜Ｓ９の処理が実施される（第８ステップ）。このとき、ステップＳ９の処理まで実施されると、ブロックＭＢ１の２行目の水平８画素に対応する累積値ＡＭ１が算出され、その累積値ＡＭ１と閾値Ｔｈ２との比較結果ＣＭ２が算出される。そして、算出された２行目における比較結果ＣＭ２が上記累積値ＡＭ２（ここでは、ブロックＭＢ１の１行目における比較結果ＣＭ２）に累積される。
【００３９】
その後も同様に、注目画素Ａ１が垂直方向に１行ずつシフトされ、ブロックＭＢ１の３行目における比較結果ＣＭ２、４行目における比較結果ＣＭ２、及び５行目における比較結果ＣＭ２が累積値ＡＭ２に順次累積される。そして、図６（ｂ）に示すように、注目画素Ａ１がブロックＭＢ１内の６行６列目の画素に設定された後に、ブロックＭＢ１の６行目における比較結果ＣＭ２が累積値ＡＭ２に累積されると、その累積値ＡＭ２が閾値Ｔｈ３と比較される（ステップＳ１０、第９ステップ）。このときの累積値ＡＭ２は、注目画素Ａ１をブロックＭＢ１内の１行１列目の画素から６行６列目の画素までシフトさせた場合の比較結果ＣＭ２（累積値ＡＭ１と閾値Ｔｈ２との大小比較結果）を累積した値である。ここで、注目画素Ａ１を６行６列目の画素までシフトさせると、ブロックＭＢ１内の全ての画素（１行１列目から８行８列目までの６４画素）が注目画素Ａ１及び近接画素Ｂ１，Ｃ１，Ｄ１の少なくとも一つに利用されたことになる。このため、閾値Ｔｈ３と比較される累積値ＡＭ２は、ブロックＭＢ１内の全ての画素の画素値に対応する差分（ＳＡＤ値）を反映した値となる。したがって、上記ステップＳ１０では、１つのブロックＭＢ分の累積値ＡＭ２が閾値Ｔｈ３（つまり、８×８画素のブロックＭＢに対応する閾値）と比較されたことになる。そして、Ｑ値設定部４０は、累積値ＡＭ２と閾値Ｔｈ３との大小関係を示す比較結果ＣＭ３を累積値ＡＭ３に累積する（ステップＳ１１）。これにより、累積値ＡＭ１と閾値Ｔｈ２との比較結果ＣＭ２（例えば、１ビットデータ）を６個累積した累積値ＡＭ２（例えば、１バイトデータ）が閾値Ｔｈ３と比較されて比較結果ＣＭ３（例えば、１ビットデータ）に圧縮され、その比較結果ＣＭ３が累積値ＡＭ３に累積される。
【００４０】
ここで、上記閾値Ｔｈ３は、１つのブロックＭＢ内における高周波成分の度合を判定するための値（例えば、１つのブロックＭＢに高周波成分が多く含まれているか否かを判定するための値）であり、例えば、予め実行されたシミュレーション等の結果に基づいて設定される。例えば、閾値Ｔｈ３は、予め実行されたシミュレーション等に基づき算出された、１つのブロックＭＢにおける累積値ＡＭ２の大きさと符号化データのサイズとの相関情報に基づいて設定される。
【００４１】
続いて、上述したステップＳ４〜Ｓ１１の処理により、上記ブロックＭＢ１と同じライン上（ここでは、ラインデータＬ１〜Ｌ８）に存在する全てのブロックＭＢにおける比較結果ＣＭ３が算出される。そして、ｎ個の比較結果ＣＭ３が累積値ＡＭ３に累積されると、その累積値ＡＭ３が閾値Ｔｈ４と比較される（ステップＳ１２）。このときの累積値ＡＭ３は、ソース画像ＳＤの垂直８ラインに存在するｎ個のブロックＭＢにおける比較結果ＣＭ３（累積値ＡＭ２と閾値Ｔｈ３との大小比較結果）を累積した値である。このため、閾値Ｔｈ４と比較される累積値ＡＭ３は、ソース画像ＳＤの垂直８ラインに存在する全ての画素の画素値に対応する差分（ＳＡＤ値）を反映した値となる。したがって、上記ステップＳ１２では、垂直８ライン分（ｎ個のブロックＭＢ分）の累積値ＡＭ３が閾値Ｔｈ４（つまり、垂直８ラインの画素に対応する閾値）と比較されたことになる。そして、Ｑ値設定部４０は、累積値ＡＭ３と閾値Ｔｈ４との大小関係を示す比較結果ＣＭ４を累積値ＡＭ４に累積する（ステップＳ１３）。これにより、累積値ＡＭ２と閾値Ｔｈ３との比較結果ＣＭ３（例えば、１ビットデータ）をｎ個累積した累積値ＡＭ３（例えば、ｎ／８バイトデータ）が閾値Ｔｈ４と比較されて比較結果ＣＭ４（例えば、１ビットデータ）に圧縮され、その比較結果ＣＭ４が累積値ＡＭ４に累積される。
【００４２】
ここで、上記閾値Ｔｈ４は、ｎ個のブロックＭＢ内における高周波成分の度合を判定するための値（例えば、ｎ個のブロックＭＢに高周波成分が多く含まれているか否かを判定するための値）であり、例えば、予め実行されたシミュレーション等の結果に基づいて設定される。例えば、閾値Ｔｈ４は、予め実行されたシミュレーション等に基づき算出された、ｎ個のブロックＭＢにおける累積値ＡＭ３の大きさと符号化データのサイズとの相関情報に基づいて設定される。
【００４３】
このようにソース画像ＳＤにおけるラインデータＬ１〜Ｌ８の画素に対する処理が終了すると、図６（ｃ）に示すように、注目画素Ａ１を垂直方向に３行分だけシフトさせ、さらに左端にシフトさせる（第１０ステップ）。これにより、ソース画像ＳＤ内において、注目画素Ａ１が９行１列目の画素、つまり上記ブロックＭＢ１の図中下のブロックＭＢ２の１行１列目の画素に設定される。すると、ブロックＭＢ２とそのブロックＭＢ２と同じライン（ここでは、ラインデータＬ９〜Ｌ１６）上に存在するブロックＭＢに対してステップＳ４〜Ｓ１３の処理が実施される。このとき、ステップＳ１３の処理まで実施されると、ラインデータＬ９〜Ｌ１６上に存在するｎ個のブロックＭＢにおける比較結果ＣＭ３が累積値ＡＭ３に累積され、その累積値ＡＭ３と閾値Ｔｈ４との比較結果ＣＭ４が算出される。そして、算出された比較結果ＣＭ４が、上記累積値ＡＭ４（ここでは、ラインデータＬ１〜Ｌ８における比較結果ＣＭ４）に累積される。
【００４４】
その後も同様にステップＳ４〜Ｓ１３の処理を繰り返し実施し、垂直８ライン単位で比較結果ＣＭ４を算出し、それら比較結果ＣＭ４を累積値ＡＭ４に順次累積する。そして、ｍ個の比較結果ＣＭ４が累積値ＡＭ４に累積されると、その累積値ＡＭ４が閾値Ｔｈ５と比較される（ステップＳ１４）。このときの累積値ＡＭ４は、ソース画像ＳＤ内の全てのブロックＭＢにおける比較結果ＣＭ４を累積した値である。すなわち、閾値Ｔｈ５と比較される累積値ＡＭ４は、ソース画像ＳＤ内の全ての画素の画素値に対応する差分（ＳＡＤ値）を反映した値となる。したがって、ステップＳ１４では、ソース画像ＳＤ単位、つまりフレームデータ単位の累積値ＡＭ４が閾値Ｔｈ５（つまり、Ｍ×Ｎ画素のフレームデータに対応する閾値）と比較されたことになる。そして、Ｑ値設定部４０は、累積値ＡＭ４と閾値Ｔｈ５との大小関係を示す比較結果ＣＭ５を算出する。これにより、累積値ＡＭ３と閾値Ｔｈ４との比較結果ＣＭ４（例えば、１ビットデータ）をｍ個累積した累積値ＡＭ４（例えば、ｎ×ｍ／６４バイトデータ）が閾値Ｔｈ５と比較されて比較結果ＣＭ５（例えば、１ビットデータ）に圧縮される。
【００４５】
ここで、上記閾値Ｔｈ５は、ソース画像ＳＤ全体における高周波成分の度合を判定するための値（例えば、ソース画像ＳＤ全体に高周波成分が多く含まれているか否かを判定するための値）であり、例えば、予め実行されたシミュレーション等の結果に基づいて設定される。例えば、閾値Ｔｈ５は、予め実行されたシミュレーション等に基づき算出された、フレームデータ単位の累積値ＡＭ４の大きさと符号化データのサイズとの相関情報に基づいて設定される。
【００４６】
次に、Ｑ値設定部４０は、比較結果ＣＭ５に基づいて、Ｑ値（量子化テーブル）を設定する（ステップＳ１５）。例えば、Ｑ値設定部４０は、フレームデータ単位の累積値ＡＭ４が閾値Ｔｈ５よりも小さい場合には、予め設定している初期値をＱ値に設定する。また、Ｑ値設定部４０は、累積値ＡＭ４が閾値Ｔｈ５よりも大きい場合には、Ｑ値を上記初期値よりも小さな値に変更（設定）する。
【００４７】
次に、ステップＳ１４において、コーデック部３５は、色空間変換処理後のＹＣｂＣｒ形式の画像データを、上記設定されたＱ値を用いてＪＰＥＧ方式により符号化する。
ここで、図７（ａ）に示すように、上記ステップＳ４〜Ｓ１５の処理、つまりＱ値設定部４０によるソース画像ＳＤの取得処理及びＱ値設定処理は、色処理部３３による色空間変換処理と並行して実施される。このため、色処理部３３からのＹＣｂＣｒ形式の画像データの出力が完了した後、短時間でＱ値を設定することができ、コーデック部３５による符号化処理を迅速に開始することができる。したがって、図７（ａ）及び図７（ｂ）に示すように、仮の符号化処理を実施する従来技術と比べて、符号化処理にかかる時間を短縮することができる。例えば、図７（ｂ）に示すように、従来技術では、色処理部３３による色空間変換処理が完了した後に、ソース画像から複数画素を間引いた画像データに対して仮の符号化処理が１回又は複数回（図示の例では、２回）実施されてＱ値が最適化される。その後、ソース画像に対して、最適化したＱ値を用いて符号化処理が実施される。このため、仮の符号化処理を実施する分だけ、ソース画像に対する実際の符号化処理を開始するタイミングが遅延し、その遅延分だけ符号化処理にかかる時間が増大する。
【００４８】
そして、ステップＳ１６における符号化処理が終了すると、符号化データがメモリ１４や表示デバイス１６等に転送される（ステップＳ１７）。
次に、図８及び図９に従ってＱ値設定部４０の内部構成例について説明する。
【００４９】
図８に示すように、Ｑ値設定部４０には、色処理部３３のバッファ３３ｂからＹＣｂＣｒ形式の画像データがソース画像ＳＤとして入力されるとともに、色処理部３３のカウンタ３３ｃからカウント値Ｈｓ，Ｖｓが入力される。カウント値Ｈｓ，Ｖｓは、色処理部３３からラスタ順に入力される画素データのソース画像ＳＤにおける位置情報を示している。具体的には、カウント値Ｈｓは画素データのソース画像ＳＤにおける水平方向の位置情報を示し、カウント値Ｖｓは画素データのソース画像ＳＤにおける垂直方向の位置情報を示している。
【００５０】
カウント値Ｈｓ，Ｖｓは、カウンタ４１に入力されるとともに、ステートマシン４２に入力される。カウンタ４１は、カウント値Ｈｓ，Ｖｓに基づいて、ブロックＭＢ単位の管理を行うためのカウント値ＭＨｓ，ＭＶｓを生成する。例えば、カウンタ４１は、カウント値Ｈｓに基づいて、水平８画素単位でカウント動作を繰り返してカウント値ＭＨｓを生成する。すなわち、カウンタ４１は、カウント値Ｈｓを入力する度にカウント値ＭＨｓを１→２→３→４→５→６→７→８とカウントアップし、カウント値Ｈｓを８回入力する度にカウント値ＭＨｓを１にリセットする。また、カウンタ４１は、カウント値Ｖｓに基づいて、垂直８ライン単位でカウント動作を繰り返してカウント値ＭＶｓを生成する。すなわち、カウンタ４１は、カウント値Ｖｓを入力する度にカウント値ＭＶｓを１→２→３→４→５→６→７→８とカウントアップし、カウント値Ｖｓを８回入力する度にカウント値ＭＶｓを１にリセットする。換言すると、カウント値ＭＨｓ，ＭＶｓは、色処理部３３から入力される画素データのブロックＭＢ毎における位置情報を示した値である。そして、カウンタ４１は、生成したカウント値ＭＨｓ，ＭＶｓをステートマシン４２に出力する。
【００５１】
ステートマシン４２は、カウント値Ｈｓ，Ｖｓ，ＭＨｓ，ＭＶｓに基づいて、現在のステートに応じた制御信号ＳＭを生成する。ステートマシン４２は、所定の遷移条件を満たしたときに、所望のステートに遷移する。
【００５２】
ここで、ステートマシン４２のステート遷移（状態遷移）について説明する。
図９に示すように、ステートマシン４２は、ステートＳＴ１〜ステートＳＴ８に遷移する。ステートＳＴ１は初期状態である。ステートマシン４２は、当該Ｑ値設定部４０によるＱ値設定処理が開始されると、ステートＳＴ１からステートＳＴ２に遷移する。
【００５３】
ステートマシン４２は、ステートＳＴ２のときに、「１」のカウント値Ｈｓが入力されるとステートＳＴ３に遷移する。すなわち、ステートマシン４２は、ステートＳＴ２のときに、ソース画像ＳＤにおける各ラインデータＬ１〜ＬＭの先頭（左端）の画素データがＱ値設定部４０に入力されるとステートＳＴ３に遷移する。
【００５４】
ステートマシン４２は、ステートＳＴ３のときに、「７」のカウント値ＭＨｓが入力されるとステートＳＴ４に遷移する。すなわち、ステートマシン４２は、ステートＳＴ３のときに、各ブロックＭＢにおける水平７画素目の画素データが入力されるとステートＳＴ４に遷移する。
【００５５】
ステートマシン４２は、ステートＳＴ４のときに、「１」のカウント値ＭＨｓが入力されると、ステートＳＴ３に遷移する。すなわち、ステートマシン４２は、各ブロックＭＢの水平８画素分の処理が終了する度に、ステートＳＴ４からステートＳＴ３に戻る。一方、ステートマシン４２は、ステートＳＴ４のときに、ブランク期間（データ未処理期間）を示す値（ここでは、「Ｂ」とする）のカウント値Ｈｓが入力されると、ステートＳＴ２に遷移する。すなわち、ステートマシン４２は、ソース画像ＳＤの水平１ライン分の処理が終了する度に、ステートＳＴ４からステートＳＴ２に戻る。
【００５６】
ステートマシン４２は、ステートＳＴ４のときに、「６」のカウント値ＭＶｓが入力され、且つ、「Ｂ」のカウント値Ｈｓが入力されると、ステートＳＴ５に遷移する。すなわち、ステートマシン４２は、ソース画像ＳＤの垂直６ライン分の処理が終了する度に、ステートＳＴ４からステートＳＴ５に遷移する。
【００５７】
ステートマシン４２は、ステートＳＴ５のときに、「８」のカウント値ＭＶｓが入力され、且つ、「Ｂ」のカウント値Ｈｓが入力されると、ステートＳＴ６に遷移する。すなわち、ステートマシン４２は、ソース画像ＳＤの垂直８ライン分の処理が終了する度に、ステートＳＴ５からステートＳＴ６に遷移する。
【００５８】
ステートマシン４２は、ステートＳＴ６に遷移した後、カウント値Ｖｓがソース画像ＳＤの最終のラインデータＬＭを示す「Ｍ」以外である場合には、所定の処理（例えば、累積値ＡＭ３と閾値Ｔｈ４との比較結果ＣＭ４を算出する処理）を終了後にステートＳＴ７に遷移する。また、ステートマシン４２は、ステートＳＴ７に遷移した後に所定の処理（例えば、比較結果ＣＭ４を累積値ＡＭ４に累積する処理）を終了すると、ステートＳＴ２に遷移する。
【００５９】
その一方で、ステートマシン４２は、ステートＳＴ６のときに、「Ｍ」のカウント値Ｖｓが入力されている場合には、所定の処理を終了後にステートＳＴ８に遷移する。すなわち、ステートマシン４２は、ソース画像ＳＤの全画素分の処理が終了するまでは、ステートＳＴ６からステートＳＴ７を介してステートＳＴ２に戻り、ソース画像ＳＤの全画素分の処理が終了した場合にステートＳＴ６からステートＳＴ８に遷移する。
【００６０】
ステートマシン４２は、ステートＳＴ８に遷移した後に、所定の処理（例えば、累積値ＡＭ４と閾値Ｔｈ５との比較結果ＣＭ５を算出する処理）を終了すると、ステートＳＴ１に遷移する。
【００６１】
そして、ステートマシン４２は、現在のステート（すなわち、ステートＳＴ１〜ステートＳＴ８のいずれか１つのステート）に応じた制御信号ＳＭを生成する。なお、制御信号ＳＭは、複数の制御信号をまとめて総称したものである。
【００６２】
図８に示すように、ソース画像ＳＤは、バッファ４３に格納される。バッファ４３は、例えば、ソース画像ＳＤの垂直３ライン分の画素データを保持することが可能な記憶容量を有している。バッファ４３は、保持した画素データの中から、注目画素Ａ１と近接画素Ｂ１，Ｃ１，Ｄ１とを、演算部４４に順次出力する。
【００６３】
演算部４４は、差分演算器４５と、比較器４６とを有している。差分演算器４５は、注目画素Ａ１と近接画素Ｂ１，Ｃ１，Ｄ１との差分（ここでは、ＳＡＤ値）を算出し、そのＳＡＤ値を比較器４６に出力する。比較器４６は、ＳＡＤ値と閾値Ｔｈ１とを比較し、ＳＡＤ値と閾値Ｔｈ１との大小関係を示す比較結果ＣＭ１を算出する。例えば、ＳＡＤ値が閾値Ｔｈ１よりも小さい場合には比較結果ＣＭ１が「０」となり、ＳＡＤ値が閾値Ｔｈ１以上の場合には比較結果ＣＭ１が「１」となる。
【００６４】
比較結果ＣＭ１は、マルチプレクサ４７に供給される。マルチプレクサ４７には、演算部６０から比較結果ＣＭ（例えば、比較結果ＣＭ２，ＣＭ３，ＣＭ４）が供給される。そして、マルチプレクサ４７は、ステートマシン４２からの制御信号ＳＭに基づいて、比較結果ＣＭ１及び比較結果ＣＭのいずれか一方を選択し、選択した値を入力値Ｅ１として演算部６０に出力する。
【００６５】
マルチプレクサ４８には、メモリ５１〜５４から累積値ＡＭ１〜ＡＭ４が供給される。このマルチプレクサ４８は、制御信号ＳＭに基づいて、累積値ＡＭ１〜ＡＭ４のうちの１つを選択し、選択した値を入力値Ｅ２として演算部６０に出力する。
【００６６】
演算部６０は、加算器６１と、比較器６２とを有している。加算器６１は、マルチプレクサ４７から入力される入力値Ｅ１と、マルチプレクサ４８から入力される入力値Ｅ２とを累積加算し、累積値ＡＭを比較器６２に出力する。例えば、加算器６１は、比較結果ＣＭ１（入力値Ｅ１）を累積値ＡＭ１（入力値Ｅ２）に累積加算し、累積加算後の累積値ＡＭ１（累積値ＡＭ）を比較器６２に出力する。
【００６７】
比較器６２には、マルチプレクサ４９から閾値Ｔｈが供給されるとともに、ステートマシン４２から制御信号ＳＭが供給される。マルチプレクサ４９には、複数（ここでは、４つ）の閾値Ｔｈ２〜Ｔｈ５が供給されるとともに、ステートマシン４２から制御信号ＳＭが供給される。そして、マルチプレクサ４９は、制御信号ＳＭに基づいて、閾値Ｔｈ２〜Ｔｈ５のうちの１つを選択し、選択した閾値を閾値Ｔｈとして比較器６２に出力する。
【００６８】
そして、比較器６２は、加算器６１からの累積値ＡＭとマルチプレクサ４９からの閾値Ｔｈとを比較し、累積値ＡＭと閾値Ｔｈとの大小関係を示す比較結果ＣＭを算出する。例えば、比較器６２は、累積値ＡＭ１（累積値ＡＭ）と閾値Ｔｈ２（閾値Ｔｈ）とを比較し、累積値ＡＭ１と閾値Ｔｈ２との大小関係を示す比較結果ＣＭ２（比較結果ＣＭ）を算出する。
【００６９】
アンド回路５５〜５８には、加算器６１からの累積値ＡＭが供給されるとともに、制御信号ＳＭが供給される。アンド回路５５の出力端子はメモリ５１に接続され、アンド回路５６の出力端子はメモリ５２に接続され、アンド回路５７の出力端子はメモリ５３に接続され、アンド回路５８の出力端子はメモリ５４に接続されている。アンド回路５５〜５８は、Ｌレベルの制御信号ＳＭに応答してＬレベル固定の出力信号をメモリ５１〜５４にそれぞれ出力する。これにより、メモリ５１〜５４に格納された累積値ＡＭ１〜ＡＭ４は「０」にリセットされる。一方、アンド回路５５〜５８は、Ｈレベルの制御信号ＳＭに応答して、加算器６１からの累積値ＡＭを、接続されるメモリ５１〜５４に格納する。
【００７０】
メモリ５１には、ＳＡＤ値と閾値Ｔｈ１との大小関係を示す比較結果ＣＭ１を累積加算した累積値ＡＭ１が格納される。
メモリ５２には、累積値ＡＭ１と閾値Ｔｈ２との大小関係を示す比較結果ＣＭ２を累積加算した累積値ＡＭ２が格納される。メモリ５２は、例えば、ｎ個の累積値ＡＭ２を格納可能な記憶容量を有している。本例のメモリ５２は、ｎ×ｍ個（つまり、ソース画像ＳＤ内の全てのブロックＭＢの個数）の累積値ＡＭ２を格納可能な記憶容量を有している。
【００７１】
図１０に示すように、本例のメモリ５２は、Ｘ軸方向（水平方向）とＹ軸方向（垂直方向）とに２次元状に配列されたデータ記憶領域を有する配列メモリである。詳述すると、メモリ５２は、Ｘ軸方向のｎ個（つまり、ソース画像ＳＤの水平方向に並ぶブロックＭＢの個数）の記憶領域と、Ｙ軸方向のｍ個（つまり、ソース画像ＳＤの垂直方向に並ぶブロックＭＢの個数）の記憶領域とが２次元状に配列された、ｎ×ｍ個の記憶領域を有している。すなわち、メモリ５２は、座標（１，１）の記憶領域から座標（ｎ，ｍ）の記憶領域までのｎ×ｍ個の記憶領域を有している。
【００７２】
このようなメモリ５２には、各ブロックＭＢの累積値ＡＭ２が２次元的に格納される。具体的には、累積値ＡＭ２は、メモリ５２（配列メモリ）の対応する位置、つまり当該累積値ＡＭ２の演算対象となるブロックＭＢのソース画像ＳＤ上の位置に対応する座標位置の記憶領域に記憶される。例えば、ソース画像ＳＤの左上のブロックＭＢに対応する累積値ＡＭ２が算出された場合には、その算出された累積値ＡＭ２が、メモリ５２の座標（１，１）の記憶領域に格納される。同様に、ソース画像ＳＤの右下のブロックＭＢに対応する累積値ＡＭ２が算出された場合には、その算出された累積値ＡＭ２が、メモリ５２の座標（ｎ，ｍ）の記憶領域に格納される。
【００７３】
メモリ５３には、累積値ＡＭ２と閾値Ｔｈ３との大小関係を示す比較結果ＣＭ３を累積加算した累積値ＡＭ３が格納される。メモリ５３は、例えば、ｎ個（つまり、ソース画像ＳＤの水平方向に並ぶブロックＭＢの個数）の累積値ＡＭ３を格納可能な記憶容量を有している。
【００７４】
メモリ５４には、累積値ＡＭ３と閾値Ｔｈ４との大小関係を示す比較結果ＣＭ４を累積加算した累積値ＡＭ４が格納される。メモリ５４は、例えば、ｍ個の比較結果ＣＭ４が累積加算された累積値ＡＭ４を格納可能な記憶容量を有している。
【００７５】
マルチプレクサ５０には、ソース画像ＳＤ全体の高周波成分の度合を示す累積値ＡＭ４と閾値Ｔｈ５との比較結果ＣＭ５が入力される。また、マルチプレクサ５０には、２つの設定値Ｑ１，Ｑ２が入力される。マルチプレクサ５０は、比較結果ＣＭ５に基づいて、２つの設定値Ｑ１，Ｑ２のうちの１つの設定値を選択し、選択した設定値をＱ値としてコーデック部３５に出力する。
【００７６】
次に、Ｑ値設定部４０の動作について説明する。以下では、説明の簡略化のために、比較結果ＣＭ１，ＣＭ２，ＣＭ３，ＣＭ４が１ビットデータである場合について説明する。
まず、ソース画像ＳＤのラインデータＬ１における演算処理について説明する。ここでも、説明の便宜上、ソース画像ＳＤの左上のブロックＭＢを「ブロックＭＢ１」と称して説明する。
【００７７】
図１１に示すように、時刻ｔ１においてＱ値設定処理が開始されると、ステートマシン４２がステートＳＴ１からステートＳＴ２に遷移する。その後、時刻ｔ２において、ソース画像ＳＤの左上（１行１列目）の画素データが注目画素Ａ１として差分演算器４５に入力される。すると、図５（ａ）に示した注目画素Ａ１と近接画素Ｂ１，Ｃ１，Ｄ１とのＳＡＤ値が差分演算器４５で算出され、そのＳＡＤ値と閾値Ｔｈ１とが比較され比較結果ＣＭ１が生成される。このとき、カウント値Ｈｓ，Ｖｓ，ＭＨｓ，ＭＶｓが全て「１」となり、ステートマシン４２がステートＳＴ２からステートＳＴ３に遷移する。すると、ステートマシン４２は、比較結果ＣＭ１を入力値Ｅ１として選択するための制御信号ＳＭをマルチプレクサ４７に出力し、累積値ＡＭ１を入力値Ｅ２として選択するための制御信号ＳＭをマルチプレクサ４８に出力する。さらに、ステートマシン４２は、比較器６２の動作を停止させるための制御信号ＳＭを出力する。このため、演算部６０では、比較結果ＣＭ１が累積値ＡＭ１に累積加算され、加算後の累積値ＡＭ１がメモリ５１に格納される。ここで、入力値Ｅ２として演算部６０に入力される累積値ＡＭ１は、初期値（ここでは、「０」）である。
【００７８】
次に、ソース画像ＳＤの１行２列目の画素が注目画素Ａ１として演算部４４に入力されると（図５（ｂ）参照）、その注目画素Ａ１におけるＳＡＤ値が算出され、そのＳＡＤ値と閾値Ｔｈ１との大小関係を示す比較結果ＣＭ１が算出される。続いて、算出された比較結果ＣＭ１が、メモリ５１から読み出された累積値ＡＭ１に累積加算され、加算後の累積値ＡＭ１がメモリ５１に再度格納される。
【００７９】
同様に、注目画素Ａ１をソース画像ＳＤの１行３列目の画素から１行６列目の画素まで１画素ずつシフトさせる度に、比較結果ＣＭ１を算出し、比較結果ＣＭ１を累積値ＡＭ１に累積加算する。このように、水平６画素分の比較結果ＣＭ１が累積値ＡＭ１に累積されると、水平８画素に対して差分演算が行われ、それら演算結果と閾値Ｔｈ１との大小比較結果が累積されたことになる。すなわち、ブロックＭＢの水平６画素分の比較結果ＣＭ１が累積された累積値ＡＭ１は、ブロックＭＢの水平８画素における高周波成分の度合を示した値となる。このとき、仮に、累積した６個の比較結果ＣＭ１が全て「１」であった場合には、累積値ＡＭ１は「６」となる。
【００８０】
続いて、時刻ｔ３において、カウント値ＭＨｓが「７」になると、ステートマシン４２がステートＳＴ３からステートＳＴ４に遷移する。このステートＳＴ４は、１行７列目の画素及び１行８列目の画素における処理が終了するまで継続される。また、ステートＳＴ４のときには、ソース画像ＳＤの画素データが注目画素Ａ１として演算部４４に入力されない。すなわち、ソース画像ＳＤの１行７列目の画素及び１行８列目の画素は注目画素Ａ１に設定されない。換言すると、注目画素Ａ１の１画素毎のシフト動作（つまり、ＳＡＤ値及び比較結果ＣＭ１の算出処理）が水平６画素分行われると、注目画素Ａ１のシフト動作が水平２画素分スキップされる。このため、ステートＳＴ４のときには、比較結果ＣＭ１の生成は行われない。このようなステートＳＴ４の期間では、マルチプレクサ４９から閾値Ｔｈ２（水平８画素分の閾値）が閾値Ｔｈとして比較器６２に供給されるとともに、加算器６１から累積値ＡＭ１が比較器６２に供給される。そして、累積値ＡＭ１と閾値Ｔｈ２とが比較器６２で比較され、累積値ＡＭ１と閾値Ｔｈ２との大小関係を示す比較結果ＣＭ２が比較結果ＣＭとして出力される。例えば、累積値ＡＭ１が閾値Ｔｈ２よりも小さい場合には比較結果ＣＭ２が「０」となり、累積値ＡＭ１が閾値Ｔｈ２以上の場合には比較結果ＣＭ２が「１」となる。
【００８１】
次いで、時刻ｔ４において、上記算出された比較結果ＣＭ２と、メモリ５２（具体的には、メモリ５２の座標（１，１）の記憶領域）から読み出された累積値ＡＭ２とが加算器６１に入力される。そして、加算器６１において比較結果ＣＭ２が累積値ＡＭ２に累積加算され、加算後の累積値ＡＭ２がメモリ５２の座標（１，１）の記憶領域に格納される。ここで、加算器６１に入力される累積値ＡＭ２は、初期値（ここでは、「０」）である。
【００８２】
このように本例では、ＳＡＤ値及び比較結果ＣＭ１の算出処理を行わない期間に、累積値ＡＭ１と閾値Ｔｈ２との比較、比較結果ＣＭ２を累積値ＡＭ２に累積加算、累積値ＡＭ２のメモリ５２への格納という処理を行っている。
【００８３】
そして、上記加算後の累積値ＡＭ２がメモリ５２に格納された後に、アンド回路５５にＬレベルの制御信号ＳＭが供給され、メモリ５２に格納されている累積値ＡＭ１（つまり、ブロックＭＢ１の１行目の画素データに対応する累積値ＡＭ１）が０にリセットされる。この後、メモリ５１には、次の水平６画素（ここでは、１行９列目〜１行１４列目の画素）に対応する累積値ＡＭ１が格納される。このように、ブロックＭＢ内の水平６画素の演算処理が終了する度に、メモリ５１には、直前の水平６画素分の比較結果ＣＭ１を累積した累積値ＡＭ１が格納されることになる。さらに、ブロックＭＢ内の水平８画素の処理が終了する度に、メモリ５１に格納された累積値ＡＭ１が０にリセットされる。このため、メモリ５１には、１ビットデータである比較結果ＣＭ１が６個累積された累積値ＡＭ１（例えば、３ビットのデータ）が格納される。したがって、メモリ５１は、少なくとも３ビットの記憶容量を有していれば十分である。
【００８４】
次に、時刻ｔ５において、カウント値ＭＨｓが「１」になると、ステートマシン４２がステートＳＴ４からステートＳＴ３に遷移する。このとき、カウント値Ｈｓが「９」となり、ソース画像ＳＤの１行９列目の画素データが注目画素Ａ１として演算部４４に入力され（図５（ｄ）参照）、その注目画素Ａ１に対応する比較結果ＣＭ１が生成される。このため、ブロックＭＢ１の右隣のブロックＭＢ（図５（ｄ）参照）における処理が開始されたことになる。その後、上述した時刻ｔ２〜ｔ５と同様の処理が実施される。これにより、比較結果ＣＭ２が生成され、その比較結果ＣＭ２が、メモリ５２の座標（２，１）の記憶領域から読み出された累積値ＡＭ２に累積加算される。そして、加算後の累積値ＡＭ２は、メモリ５２の座標（２，１）の記憶領域に再度格納される。
【００８５】
以後も同様に、ソース画像ＳＤの水平１ライン分の画素データについて演算処理が行われる。そして、ラインデータＬ１のＮ列目の画素データを含むブロックＭＢにおける累積値ＡＭ２が算出され、その累積値ＡＭ２がメモリ５１の座標（ｎ，１）の記憶領域に格納されると、ラインデータＬ１における演算処理が終了する。その後、時刻ｔ６において、カウント値Ｈｓがブランク期間（データ未処理期間）を示す値「Ｂ」になる。すると、ステートマシン４２がステートＳＴ４からステートＳＴ２に遷移し、ソース画像ＳＤのラインデータＬ２における先頭データの入力を待つ待ち状態となる。
【００８６】
次に、図１２に示す時刻ｔ７において、カウント値Ｈｓが「１」になると、ステートマシン４２がステートＳＴ２からステートＳＴ３に遷移する。このとき、カウント値Ｖｓが「２」となり、ソース画像ＳＤの２行１列目の画素データが注目画素Ａ１として演算部４４に入力され（図６（ａ）参照）、その注目画素Ａ１に対応する比較結果ＣＭ１が生成される。すなわち、ラインデータＬ２の先頭データが注目画素Ａ１として入力され、ラインデータＬ２の演算処理が開始されたことになる。その後、上述した時刻ｔ２〜ｔ５と同様の処理を実施することにより、ブロックＭＢ１の２行目の水平８画素に対応する比較結果ＣＭ２が生成される（時刻ｔ８参照）。そして、生成された比較結果ＣＭ２が、メモリ５２の座標（１，１）の記憶領域から読み出された累積値ＡＭ２（ここでは、ブロックＭＢ１の１行目の水平８画素に対応する比較結果ＣＭ２）に累積加算され、加算後の累積値ＡＭ２がメモリ５２の座標（１，１）の記憶領域に再度格納される。
【００８７】
続いて、上述したラインデータＬ１における演算処理と同様に、ラインデータＬ２の画素データに対して演算処理が実施される。その後も同様に、ラインデータＬ３，Ｌ４，Ｌ５，Ｌ６の画素データに対して演算処理が実施される。
【００８８】
そして、図１３に示す時刻ｔ９〜ｔ１０において、ソース画像ＳＤの６行１列目から６行８列目までの画素（つまり、ブロックＭＢ１における６行目の水平８画素）に対応する比較結果ＣＭ２が生成され、その比較結果ＣＭ２が累積値ＡＭ２に累積加算される。すると、この累積値ＡＭ２には、ブロックＭＢ１の１行目の水平８画素に対応する比較結果ＣＭ２から６行目の水平８画素に対応する比較結果ＣＭ２までの６個の比較結果ＣＭ２が累積されたことになる。このように、ブロックＭＢの６行分の比較結果ＣＭ２が累積値ＡＭ２に累積されると、ブロックＭＢの８行分の画素に対して差分演算が行われ、それら演算結果と閾値Ｔｈ１，Ｔｈ２との大小比較結果が累積されたことになる。すなわち、ブロックＭＢの６行分の比較結果ＣＭ２が累積された累積値ＡＭ２は、１つのブロックＭＢ全体における高周波成分の度合を示した値となる。このとき、仮に、累積した６個の比較結果ＣＭ２が全て「１」であった場合には、累積値ＡＭ２は「６」となる。そして、この累積値ＡＭ２がメモリ５２内の座標（１，１）の記憶領域に格納される。このように、メモリ５２の各記憶領域には、１ビットデータである比較結果ＣＭ２が６個累積された累積値ＡＭ２（例えば、３ビットデータ）が格納される。したがって、メモリ５２内の各記憶領域は、少なくとも３ビットの記憶容量を有していれば十分である。このため、メモリ５２内の各記憶領域の記憶容量を１バイトとした場合には、メモリ５２全体の記憶容量はｎ×ｍバイトとなる。
【００８９】
また、時刻ｔ１１においてラインデータＬ６における演算処理が終了すると、メモリ５２内の座標（１，１）から座標（ｎ，１）までの記憶領域にそれぞれ、対応する位置のブロックＭＢにおける高周波成分の度合を示す累積値ＡＭ２が格納されたことになる。
【００９０】
続いて、上述のようにラインデータＬ６における演算処理が終了した後（時刻ｔ１１参照）、カウント値ＭＶｓが「６」となり、且つ、カウント値Ｈｓが「Ｂ」となると、ステートマシン４２がステートＳＴ４からステートＳＴ５に遷移する。このステートＳＴ５は、ラインデータＬ７，Ｌ８における演算処理が終了するまで継続される。また、ステートＳＴ５のときには、ソース画像ＳＤの画素データが注目画素Ａ１として演算部４４に入力されない。すなわち、各ブロックＭＢにおける７行目及び８行目の画素は注目画素Ａ１に設定されない。換言すると、注目画素Ａ１のシフト動作が垂直２ライン分スキップされる。このため、ステートＳＴ５のときには、比較結果ＣＭ１及び比較結果ＣＭ２の生成は行われない。
【００９１】
図１４に示すように、ステートＳＴ５の期間では、累積値ＡＭ２と閾値Ｔｈ３（８×８画素分の閾値）とが比較され、累積値ＡＭ２と閾値Ｔｈ３との大小関係を示す比較結果ＣＭ３が生成される。例えば、累積値ＡＭ２が閾値Ｔｈ３よりも小さい場合には比較結果ＣＭ３が「０」となり、累積値ＡＭ２が閾値Ｔｈ３以上の場合には比較結果ＣＭ３が「１」となる。
【００９２】
詳述すると、時刻ｔ１２において、カウント値Ｈｓが「１」、カウント値Ｖｓが「８」、カウント値ＭＨｓが「１」、カウント値ＭＶｓが「８」となると、メモリ５２の座標（１，１）の記憶領域から読み出された累積値ＡＭ２が比較器６２に入力される。また、マルチプレクサ４９から閾値Ｔｈ３が比較器６２に供給される。そして、累積値ＡＭ２と閾値Ｔｈ３との大小関係を示す比較結果ＣＭ３が比較器６２で算出される。
【００９３】
続いて、時刻ｔ１３において、マルチプレクサ４７から上記算出された比較結果ＣＭ３が加算器６１に供給され、メモリ５３から読み出された累積値ＡＭ３がマルチプレクサ４８から加算器６１に供給される。このため、加算器６１において、比較結果ＣＭ３が累積値ＡＭ３に累積加算される。そして、加算後の累積値ＡＭ３がメモリ５３に再度格納される。ここで、加算器６１に入力される累積値ＡＭ３は、初期値（ここでは、「０」）である。
【００９４】
次いで、時刻ｔ１４において、メモリ５２の座標（２，１）の記憶領域から読み出された累積値ＡＭ２と閾値Ｔｈ３との大小関係を示す比較結果ＣＭ３が算出される。その後、時刻ｔ１５において、上記算出された比較結果ＣＭ３が、メモリ５３から読み出された累積値ＡＭ３に累積加算され、加算後の累積値ＡＭ３がメモリ５３に再度格納される。
【００９５】
このように、ブロックＭＢ単位毎に累積値ＡＭ２から算出された比較結果ＣＭ３が、累積値ＡＭ３に累積加算される。すなわち、本例では、図３に示すようにソース画像ＳＤ全体（１フレーム全体）をブロックＭＢ（ここでは、ＭＣＵ）単位で分割管理し、ブロックＭＢ内の画素値の差分の度合（高周波成分の度合）を示す比較結果ＣＭ３が累積値ＡＭ３に累積加算される。
【００９６】
その後も同様に、メモリ５２の座標（３，１）〜座標（ｎ，１）の記憶領域に格納された累積値ＡＭ２の各々と閾値Ｔｈ３との大小関係を示すｎ−２個の比較結果ＣＭ３が算出され、それらｎ−２個の比較結果ＣＭ３が累積値ＡＭ３に累積加算される。すると、この累積値ＡＭ３には、ｎ個の比較結果ＣＭ３が累積されたことになる。このように、ｎ個の比較結果ＣＭ３が累積値ＡＭ３に累積されると、ソース画像ＳＤの垂直８ライン分の画素に対して差分演算が行われ、それら演算結果と閾値Ｔｈ１〜Ｔｈ３との大小比較結果が累積されたことになる。すなわち、ｎ個の比較結果ＣＭ３が累積された累積値ＡＭ３は、ブロックＭＢを水平１ライン分並べた範囲（ソース画像ＳＤの垂直８ライン）における高周波成分の度合を示した値となる。このとき、仮に、累積したｎ個の比較結果ＣＭ３が全て「１」であった場合には、累積値ＡＭ３が「ｎ」となる。
【００９７】
このように本例では、ＳＡＤ値及び比較結果ＣＭ１，ＣＭ２の算出処理を行わない期間に、累積値ＡＭ２と閾値Ｔｈ３との比較、比較結果ＣＭ３を累積値ＡＭ３に累積加算、累積値ＡＭ３のメモリ５３への格納という処理を行っている。
【００９８】
次に、時刻ｔ１６において、カウント値ＭＶｓが「８」、カウント値Ｈｓが「Ｂ」になると、ステートマシン４２がステートＳＴ５からステートＳＴ６に遷移する。このステートＳＴ６の期間では、マルチプレクサ４９から閾値Ｔｈ４（垂直８ライン分の閾値、つまり、ｎ個のブロックＭＢ分の閾値）が比較器６２に供給されるとともに、メモリ５３から読み出された累積値ＡＭ３がマルチプレクサ４８から比較器６２に供給される。そして、累積値ＡＭ３と閾値Ｔｈ４とが比較器６２で比較され、それらの大小関係を示す比較結果ＣＭ４が算出される。例えば、累積値ＡＭ３が閾値Ｔｈ４よりも小さい場合には比較結果ＣＭ４が「０」となり、累積値ＡＭ３が閾値Ｔｈ４以上の場合には比較結果ＣＭ４が「１」となる。
【００９９】
次いで、時刻ｔ１７において、ステートマシン４２がステートＳＴ６からステートＳＴ７に遷移する。このステートＳＴ７の期間では、上記算出された比較結果ＣＭ４がマルチプレクサ４７から加算器６１に供給され、メモリ５４から読み出された累積値ＡＭ４がマルチプレクサ４８から加算器６１に供給される。このため、加算器６１において比較結果ＣＭ４が累積値ＡＭ４に累積加算される。そして、加算後の累積値ＡＭ４がメモリ５４に再度格納される。ここで、加算器６１に入力される累積値ＡＭ４は、初期値（ここでは、「０」）である。
【０１００】
このように本例では、垂直８ラインの画素に対する演算処理後のブランク期間（データ未処理期間）に、累積値ＡＭ３と閾値Ｔｈ４との比較、比較結果ＣＭ４を累積値ＡＭ４に累積加算、累積値ＡＭ４のメモリ５４への格納という処理を行っている。
【０１０１】
そして、上記加算後の累積値ＡＭ４がメモリ５４に格納された後に、アンド回路５７にＬレベルの制御信号ＳＭが供給され、メモリ５３に格納されている累積値ＡＭ３（つまり、ラインデータＬ１〜Ｌ８の画素データに対応する累積値ＡＭ３）が０にリセットされる。この後、メモリ５３には、次の垂直８ライン（ここでは、ラインデータＬ９〜Ｌ１６）の画素データに対応する累積値ＡＭ３が格納される。このように、ソース画像ＳＤの垂直８ライン単位の演算処理が終了する度に、メモリ５３には、直前の垂直８ライン分の比較結果ＣＭ３を累積した累積値ＡＭ３が格納されることになる。さらに、垂直８ライン単位の演算処理が終了する度に、メモリ５３に格納された累積値ＡＭ３が０にリセットされる。このため、メモリ５３には、１ビットデータである比較結果ＣＭ３がｎ個累積された累積値ＡＭ３が格納される。したがって、メモリ５３は、少なくともｎ／８バイトの記憶容量を有していれば十分である。
【０１０２】
その後、ステートマシン４２がステートＳＴ７からステートＳＴ２に遷移し、ソース画像ＳＤのラインデータＬ９における先頭データの入力を待つ待ち状態となる。
次に、図１５に示す時刻ｔ１８において、カウント値Ｈｓが「１」になると、ステートマシン４２がステートＳＴ２からステートＳＴ３に遷移する。このとき、カウント値Ｖｓが「９」となり、ソース画像ＳＤの９行１列目の画素データが注目画素Ａ１として演算部４４に入力される（図６（ｃ）参照）。すなわち、ブロックＭＢ１の下のブロックＭＢ（ラインデータ）における処理が開始されたことになる。その後、図１１〜図１４で説明した処理と同様の処理を実施することにより、メモリ５２内の座標（１，２）から座標（ｎ，２）までの記憶領域にそれぞれ、対応する位置のブロックＭＢの累積値ＡＭ２が格納される。また、ラインデータＬ９〜Ｌ１６の画素データに対応する累積値ＡＭ３が算出され、その累積値ＡＭ３と閾値Ｔｈ４との大小関係を示す比較結果ＣＭ４が算出される。そして、算出された比較結果ＣＭ４が、メモリ５４から読み出された累積値ＡＭ４に累積加算され、加算後の累積値ＡＭ４がメモリ５４に再度格納される。
【０１０３】
以後も同様に、ソース画像ＳＤの垂直８ライン単位で演算処理が実施され、その演算処理が終了する度に、垂直８ライン分の比較結果ＣＭ４が累積値ＡＭ４に累積加算される。
そして、図１６の時刻ｔ１９において、ラインデータＬＭにおける演算処理が終了してブランク期間になると、ステートマシン４２がステートＳＴ５からステートＳＴ６に遷移する。このステートＳＴ６の期間では、ラインデータＬＭを含む垂直８ライン分の累積値ＡＭ３と閾値Ｔｈ４との大小関係を示す比較結果ＣＭ４が算出される。
【０１０４】
次いで、時刻ｔ２０において、ステートマシン４２がステートＳＴ６からステートＳＴ８に遷移する。このステートＳＴ８の期間では、上記算出された比較結果ＣＭ４が、メモリ５４から読み出された累積値ＡＭ４に累積加算され、加算後の累積値ＡＭ４が比較器６２に入力される。これにより、累積値ＡＭ４には、ｍ個の比較結果ＣＭ４が累積されたことになる。このように、ｍ個の第４比較結果ＣＭ４が累積値ＡＭ４に累積されると、ソース画像ＳＤ内の全ての画素に対して差分演算が行われ、それら演算結果と閾値Ｔｈ１〜Ｔｈ４との大小比較結果が累積されたことになる。すなわち、ｍ個の比較結果ＣＭ４が累積された累積値ＡＭ４は、ソース画像ＳＤ全体における高周波成分の度合を示した値となる。そして、この累積値ＡＭ４がメモリ５４に格納される。このように、メモリ５４には、１ビットデータである比較結果ＣＭ４がｍ個累積された累積値ＡＭ４が格納される。したがって、メモリ５４は、少なくともｍ／８バイトの記憶容量を有していれば十分である。
【０１０５】
また、ステートＳＴ８の期間では、マルチプレクサ４９から閾値Ｔｈ５（Ｍ×Ｎ画素分の閾値、つまりｎ×ｍ個のブロックＭＢ分の閾値）が比較器６２に供給される。そして、累積値ＡＭ４と閾値Ｔｈ５とが比較器６２で比較され、それらの大小関係を示す比較結果ＣＭ５がマルチプレクサ５０に出力される。
【０１０６】
例えば、累積値ＡＭ４は、累積したｍ個の比較結果ＣＭ４が全て「１」であった場合には「ｍ」となる。このような累積値ＡＭ４が閾値Ｔｈ５以上の場合には、比較結果ＣＭ５が「１」となる。すると、マルチプレクサ５０において設定値Ｑ２が選択され、その設定値Ｑ２がＱ値（量子化テーブル）としてコーデック部３５に出力される（時刻ｔ２１参照）。すなわち、累積値ＡＭ４が閾値Ｔｈ５以上の場合には、ソース画像ＳＤにおける画素間の変動が大きい、つまり高周波成分の度合が大きいと判断され、初期値である設定値Ｑ１よりも小さい設定値Ｑ２がＱ値に設定される。その一方で、上記累積値ＡＭ４が閾値Ｔｈ５よりも小さい場合には、比較結果ＣＭ５が「０」となる。すると、マルチプレクサ５０において設定値Ｑ１が選択され、その設定値Ｑ１がＱ値としてコーデック部３５に出力される。すなわち、累積値ＡＭ４が閾値Ｔｈ５よりも小さい場合には、ソース画像ＳＤにおける画素間の変動が小さい、つまり高周波成分の度合いが小さいと判断され、初期値である設定値Ｑ１がＱ値に設定される。
【０１０７】
次に、図１１〜図１６で説明した処理によりＱ値が設定された後に、画像データＧＤの一部がトリミングされ、そのトリミングされた画像データに対して符号化処理が行われる場合のＱ値設定部４０の動作について説明する。以下では、説明の簡略化のために、ｎを「６」、ｍを「４」として説明する。
【０１０８】
例えば、図１７に示すように、ソース画像ＳＤにおける２行２列目から２行５列目までの４個のブロックＭＢと、３行２列目から３行５列目までの４個のブロックＭＢとを合わせた８個のブロックＭＢに含まれる画素データがトリミングされる。このとき、メモリ５２の各記憶領域には、トリミング前のソース画像ＳＤにおける累積値ＡＭ２（対応する位置のブロックＭＢの累積値ＡＭ２）が格納されている。
【０１０９】
そこで、図１８に示すように、メモリ５２における上記トリミングされた８個のブロックＭＢに対応する位置の記憶領域、つまり座標（２，２）、（３，２）、（４，２）、（５，２）、（２，３）、（３，３）、（４，３）、（５，３）の記憶領域に格納された累積値ＡＭ２を利用する。
【０１１０】
詳述すると、まず、メモリ５２の座標（２，２）の記憶領域から累積値ＡＭ２が読み出され、その累積値ＡＭ２が閾値Ｔｈ３と比較される。そして、累積値ＡＭ２と閾値Ｔｈ３との大小関係を示す比較結果ＣＭ３が、メモリ５３から読み出された累積値ＡＭ３（ここでは、初期値の「０」）に累積加算される。この加算後の累積値ＡＭ３がメモリ５３に再度格納される。その後も同様に、メモリ５２の座標（３，２）、（４，２）、（５，２）の記憶領域から累積値ＡＭ２が順次読み出され、それら累積値ＡＭ２と閾値Ｔｈ３との比較結果ＣＭ３が上記累積値ＡＭ３に順次加算される。このように、トリミング後のソース画像ＳＤにおける垂直８ライン分の比較結果ＣＭ３が累積値ＡＭ３に累積加算されると、その累積値ＡＭ３が閾値Ｔｈ４と比較される。なお、閾値Ｔｈ４は、トリミング後のソース画像ＳＤにおける水平方向に並んだ画素数（ブロックＭＢ数）に応じて、トリミング前の値から変更されている。
【０１１１】
次に、累積値ＡＭ３と閾値Ｔｈ４との大小関係を示す比較結果ＣＭ４が、メモリ５４から読み出された累積値ＡＭ４（ここでは、初期値の「０」）に累積加算される。この加算後の累積値ＡＭ４がメモリ５４に再度格納される。
【０１１２】
以後も同様に、メモリ５２の座標（２，３）、（３，３）、（４，３）、（５，３）の記憶領域から累積値ＡＭ２が順次読み出され、それら累積値ＡＭ２と閾値Ｔｈ３との比較結果ＣＭ３が累積値ＡＭ３に順次加算される。そして、４個の比較結果ＣＭ３が累積値ＡＭ３に加算されると、その累積値ＡＭ３と閾値Ｔｈ４との大小関係を示す比較結果ＣＭ４が上記累積値ＡＭ４に累積加算される。
【０１１３】
以上説明したように、トリミングされた全てのブロックＭＢに対応する累積値ＡＭ２を利用して累積値ＡＭ４が算出されると、その累積値ＡＭ４が閾値Ｔｈ５と比較され、それらの大小関係を示す比較結果ＣＭ５が算出される。そして、算出された比較結果ＣＭ５に基づいて、設定値Ｑ１，Ｑ２のいずれか一方の設定値がＱ値としてコーデック部３５に出力される。なお、上記閾値Ｔｈ５は、トリミング後のソース画像ＳＤにおけるブロックＭＢの個数に応じて、トリミング前の値から変更されている。
【０１１４】
このようにして、トリミング前にメモリ５２に格納された累積値ＡＭ２を利用することにより、トリミング後の画像データに対するＱ値を設定することができる。
以上説明した本実施形態によれば、以下の効果を奏することができる。
【０１１５】
（１）ソース画像ＳＤにおける画素間の画素値の差分と閾値Ｔｈ１とを比較し、その比較結果ＣＭ１をソース画像ＳＤ全体で累積した累積値ＡＭ４と閾値Ｔｈ５とを比較し、それら累積値ＡＭ４と閾値Ｔｈ５の比較結果ＣＭ５に基づいてＱ値を設定するようにした。これにより、仮の符号化処理を行うことなく、ソース画像ＳＤにおける画素値の差分（画素間の変動の大きさ）に基づいてＱ値を設定することができる。このため、仮の符号化処理を実施する場合に比べて、符号化処理にかかる処理時間を短縮することができ、符号化処理に費やすメモリ帯域を減らすことができる。
【０１１６】
（２）さらに、Ｑ値設定部４０によるＱ値設定処理を、色処理部３３による色空間変換処理と並行して行うようにしたため、符号化処理に費やす時間の増大を好適に抑制することができる。
【０１１７】
（３）ところで、上記従来技術では、ソース画像から所定の画素を間引いた画像データに対して仮の符号化処理を行うため、その間引いた画素に高周波成分が含まれている場合には、Ｑ値を適切に設定することができない。これに対し、本例では、ソース画像ＳＤから画素を間引くことなく、ソース画像ＳＤにおける全ての画素における差分に基づいてＱ値を設定するようにした。このため、ソース画像ＳＤ全体における高周波成分の度合に応じてＱ値を適切に設定することができる。
【０１１８】
（４）注目画素Ａ１から水平方向にＰ画素（ここでは、１画素）離れた画素を近接画素Ｂ１に設定し、注目画素Ａ１から垂直方向にＰ画素（ここでは、１画素）離れた画素を近接画素Ｃ１に設定し、注目画素Ａ１から斜め方向にＰ画素（ここでは、１画素）離れた画素を近接画素Ｄ１に設定するようにした。すなわち、近接画素Ｂ１，Ｃ１，Ｄ１を、注目画素Ａ１に隣接する隣接画素ではなく、注目画素Ａ１から１画素以上離れた画素に設定するようにした。これにより、注目画素Ａ１と近接画素Ｂ１，Ｃ１，Ｄ１との間の画素値の差分を算出することによって、ソース画像ＳＤにおける高周波成分の度合を適切に取得することができる。
【０１１９】
詳述すると、図１９に示すように、被写体が自然（ここでは、木）である自然画像の場合には、通常、輪郭部分において徐々に画素値が変化するため、隣接画素間では画素値の変動が小さい。このため、自然画像である場合には、隣接画素間の差分を取得してもその差分が比較的小さな値となり、自然画像における高周波成分の度合を適切に取得することができない。これに対し、本例では、注目画素Ａ１とその注目画素Ａ１から１画素以上離れた近接画素Ｂ１，Ｃ１，Ｄ１との間の差分を算出するようにした。これにより、自然画像である場合にも、輪郭部分における大きなレベル変動を得ることができ、ソース画像ＳＤ（自然画像）における高周波成分の度合を適切に取得することができる。
【０１２０】
（５）さらに、各ブロックＭＢにおける水平Ｉ画素（ここでは、水平８画素）の差分を算出する際に、（Ｉ−Ｐ＋１）回（ここでは、６回）の差分演算を行うようにした。また、ソース画像ＳＤの垂直Ｊライン（ここでは、垂直８ライン）分の差分を算出する際に、（Ｊ−Ｐ＋１）ライン（ここでは、６ライン）分の差分演算を行うようにした。これにより、隣接画素間の差分を算出する場合に比べて、差分演算の回数を減らすことができる。
【０１２１】
（６）ソース画像ＳＤにおける画素間の画素値の差分と閾値Ｔｈ１との大小関係を示す比較結果ＣＭ１が複数個累積された累積値ＡＭ１をメモリ５１に格納した。このように、画素値の差分（ＳＡＤ値）をメモリ５１に格納するのではなく、比較結果ＣＭ１（例えば、１ビットデータ）が複数個累積された累積値ＡＭ１をメモリ５１に格納するようにした。これにより、メモリ５１における記憶容量を小さくすることができる。
【０１２２】
さらに、累積値ＡＭ１と閾値Ｔｈ２との大小関係を示す比較結果ＣＭ２が複数個累積された累積値ＡＭ２をメモリ５２に格納し、累積値ＡＭ２と閾値Ｔｈ３との大小関係を示す比較結果ＣＭ３が複数個累積された累積値ＡＭ３をメモリ５３に格納するようにした。また、累積値ＡＭ３と閾値Ｔｈ４との大小関係を示す比較結果ＣＭ４が複数個累積された累積値ＡＭ４をメモリ５４に格納するようにした。このように、比較結果ＣＭ１〜ＣＭ３の累積結果である累積値ＡＭ１〜ＡＭ３を閾値Ｔｈ２〜Ｔｈ４とそれぞれ比較することで、複数の段階でデータ量を圧縮し、その圧縮されたデータ（比較結果ＣＭ２〜ＣＭ４）の累積結果をメモリ５２〜５４にそれぞれ格納するようにした。これにより、画素値の差分（ＳＡＤ値）をそのままメモリに格納する場合に比べて、メモリ５１〜５４における記憶容量を小さくすることができる。
【０１２３】
例えば、８ｎ×８ｍ画素からなるソース画像ＳＤ全体における隣接画素同士の差分を算出する場合（比較例）には、差分演算が（８ｎ−１）×（８ｍ−１）回行われるため、１つのＳＡＤ値をＡバイトとすると、Ａ×（８ｎ−１）×（８ｍ−１）バイトの記憶容量が必要になる。これに対し、本例では、説明の簡略化のため最低の記憶容量を１バイトとすると、メモリ５１の記憶容量が１バイト、メモリ５２の記憶容量がｎ×ｍバイト、メモリ５３の記憶容量がｎ／８バイト、メモリ５４の記憶容量がｍ／８バイトを有していれば十分である。以下に、本例と比較例との記憶容量を具体的に比較した例について説明する。
【０１２４】
ソース画像ＳＤのサイズを４０００×３０００画素とし、１つのＳＡＤ値を２バイトとすると、ｎ＝５００、ｍ＝３７５、Ａ＝２となる。このため、比較例では、約２４０００Ｋバイトの記憶容量が必要となる。これに対し、本例では、メモリ５１の記憶容量が１バイト、メモリ５２の記憶容量が約１８８Ｋバイト、メモリ５３の記憶容量が約６３バイト、メモリ５４の記憶容量が約４７バイトとなり、メモリ５１〜５４の合計の記憶容量が約１８８Ｋバイトとなる。このため、本例では、比較例に比べて、メモリ５１〜５４における記憶容量を大幅に小さくすることができる。
【０１２５】
（７）比較結果ＣＭ１と累積値ＡＭ１との加算演算、比較結果ＣＭ２と累積値ＡＭ２との加算演算、比較結果ＣＭ３と累積値ＡＭ３との加算演算、比較結果ＣＭ４と累積値ＡＭ４との加算演算を１つの加算器６１で行うようにした。また、累積値ＡＭ１と閾値Ｔｈ２との比較演算、累積値ＡＭ２と閾値Ｔｈ３との比較演算、累積値ＡＭ３と閾値Ｔｈ４との比較演算、累積値ＡＭ４と閾値Ｔｈ５との比較演算を１つの比較器６２で行うようにした。このように、１つの加算器６１を複数の加算演算処理で共用するようにし、１つの比較器６２を複数の比較演算処理で共用するようにした。これにより、Ｑ値設定部４０の回路規模の増大を好適に抑制することができる。
【０１２６】
（８）画像データＧＤの一部がトリミングされた場合に、トリミングされたブロックＭＢに対応する位置のメモリ５２の記憶領域に格納された累積値ＡＭ２を利用して、Ｑ値を再度設定するようにした。これにより、トリミング後の画像データにおけるＳＡＤ値を再度算出する場合に比べて、Ｑ値設定処理にかかる時間を減らすことができ、Ｑ値設定処理に費やすメモリ帯域を減らすことができる。ひいては、トリミングした画像データに対する符号化処理にかかる時間を減らすことができ、符号化処理に費やすメモリ帯域を減らすことができる。
【０１２７】
（他の実施形態）
なお、上記実施形態は、これを適宜変更した以下の態様にて実施することもできる。
・上記実施形態では、複数の段階（ここでは、注目画素Ａ１、水平８画素単位、ブロックＭＢ単位、垂直８ライン単位、フレームデータ単位）でＳＡＤ値及び累積値ＡＭ１〜ＡＭ４を閾値Ｔｈ１〜Ｔｈ５と比較し、比較結果ＣＭ１〜ＣＭ５を算出するようにした。すなわち、上記実施形態では、５つの段階でデータ量を圧縮するようにした。これに限らず、例えば、６つ以上の段階でデータ量を圧縮するようにしてもよいし、４つ以下の段階でデータ量を圧縮するようにしてもよい。
【０１２８】
例えば、４つの段階（注目画素Ａ１、水平８画素単位、ブロックＭＢ単位、フレームデータ単位）でデータ量を圧縮するようにしてもよい。この場合には、ブロックＭＢ単位の累積値ＡＭ２と閾値Ｔｈ３との大小関係を示す比較結果ＣＭ３が累積値ＡＭ４に累積される。そして、ｎ×ｍ個の比較結果ＣＭ３が累積値ＡＭ４に累積されると、その累積値ＡＭ４が閾値Ｔｈ５と比較されて比較結果ＣＭ５が算出される。
【０１２９】
また、２つの段階（注目画素Ａ１、フレームデータ単位）でデータ量を圧縮するようにしてもよい。この場合には、ＳＡＤ値と閾値Ｔｈ１との大小関係を示す比較結果ＣＭ１が累積値ＡＭ４に累積される。このとき、ブロックＭＢ単位での累積値の管理が行われない。このため、ソース画像ＳＤ全体において、（Ｎ−２）×（Ｍ−２）個のＳＡＤ値が算出され、（Ｎ−２）×（Ｍ−２）個の比較結果ＣＭ１が算出される。したがって、この場合には、（Ｎ−２）×（Ｍ−２）個の比較結果ＣＭ１が累積値ＡＭ４に累積されると、その累積値ＡＭ４が閾値Ｔｈ５と比較されて比較結果ＣＭ５が算出される。
【０１３０】
・上記実施形態では、近接画素Ｂ１，Ｃ１，Ｄ１を、注目画素Ａ１から１画素離れた画素に設定するようにした。これに限らず、例えば、近接画素Ｂ１，Ｃ１，Ｄ１を、注目画素Ａ１から２画素以上離れた画素に設定するようにしてもよいし、注目画素Ａ１に隣接する隣接画素に設定するようにしてもよい。
【０１３１】
・上記実施形態の差分演算において、近接画素Ｄ１を省略するようにしてもよい。
・上記実施形態では、メモリ５２を、ｎ×ｍ個の記憶領域を有する配列メモリとしたが、これに限定されない。例えば、メモリ５２を、１つの累積値ＡＭ２を格納可能な記憶容量を有するメモリとしてもよい。
【０１３２】
・上記実施形態では、閾値Ｔｈ１〜Ｔｈ５を１つの閾値としたが、閾値Ｔｈ１〜Ｔｈ５を複数の閾値に変更してもよい。
・上記実施形態における比較結果ＣＭ１〜ＣＭ５及び累積値ＡＭ１〜ＡＭ４のデータサイズは特に限定されない。例えば、上記実施形態では、比較結果ＣＭ１〜ＣＭ５を１ビットデータとしたが、比較結果ＣＭ１〜ＣＭ５のデータサイズを２ビット以上としてもよい。
【０１３３】
・上記実施形態におけるメモリ５１〜５４の記憶容量は特に限定されない。
・上記実施形態におけるブロックＭＢのサイズは特に限定されない。
・上記実施形態では、比較結果ＣＭ５に基づいて、２つの設定値Ｑ１，Ｑ２からＱ値を設定するようにしたが、３つ以上の設定値からＱ値を設定するようにしてもよい。
【０１３４】
・上記実施形態では、１つの加算器６１を複数の加算演算処理で共用するようにしたが、複数の加算演算処理にそれぞれ対応する加算器を設けるようにしてもよい。すなわち、４種類の加算演算処理がある場合に、４つの加算器を設けるようにしてもよい。
【０１３５】
・上記実施形態では、１つの比較器６２を複数の比較演算処理で共用するようにしたが、複数の比較演算処理にそれぞれ対応する比較器を設けるようにしてもよい。すなわち、４種類の比較演算処理がある場合に、４つの比較器を設けるようにしてもよい。
【０１３６】
・上記実施形態では、色空間変換処理後の画像データに基づいてＱ値を設定するようにした。これに限らず、色空間変換処理以外の画像処理後（例えば、解像度変換処理後やエッジ強調処理後）の画像データに基づいてＱ値を設定するようにしてもよい。
【０１３７】
・上記実施形態では、色空間変換処理後の画像データに対して符号化処理を施すようにした。これに限らず、色空間変換処理以外の画像処理、つまり画像処理部３４による画像処理後の画像データに対して符号化処理を施すようにしてもよい。この場合には、Ｑ値設定部４０によるＱ値設定処理が、色空間変換処理及び画像処理部３４による画像処理と並行して実施されることになる。
【０１３８】
以上の様々な実施の形態をまとめると、以下のようになる。
（付記１）
複数の画素が互いに直交する垂直方向及び水平方向に２次元状に配列された入力画像の注目画素と前記注目画素の近接画素との間の差分を算出する差分演算器と、
前記差分と第１閾値とを比較して第１比較結果を算出する第１比較器と、
前記第１比較結果を前記入力画像全体で累積した第１累積値と、第２閾値とを比較して第２比較結果を算出する第２比較器と、
前記第２比較結果に基づいて量子化テーブルを設定する設定回路と、
前記量子化テーブルに基づいて前記入力画像を符号化する符号化処理部と、
を有することを特徴とする画像処理装置。
（付記２）
前記第２比較器は、前記第１比較結果をＩ×Ｊ画素（Ｉ及びＪは１以上の整数）を有するブロック毎に累積した第２累積値と、第３閾値とを比較して第３比較結果を算出するとともに、前記第３比較結果を前記入力画像全体で累積した前記第１累積値と前記第２閾値とを比較して前記第２比較結果を算出することを特徴とする付記１に記載の画像処理装置。
（付記３）
前記第２比較器は、
前記第１比較結果を前記入力画像における水平方向のＩ画素単位で累積した第３累積値と、第４閾値とを比較して第４比較結果を算出し、
前記第４比較結果を前記ブロックにおける垂直方向のＪライン単位で累積した前記第２累積値と、前記第３閾値とを比較して前記第３比較結果を算出し、
前記第３比較結果を前記入力画像における垂直方向のＪライン単位で累積した第４累積値と、第５閾値とを比較して第５比較結果を算出し、
前記第５比較結果を前記入力画像全体で累積した前記第１累積値と前記第２閾値とを比較して前記第２比較結果を算出することを特徴とする付記２に記載の画像処理装置。
（付記４）
前記第２累積値を格納する記憶部を有し、
前記記憶部は、前記入力画像がｎ×ｍ個（ｎ及びｍは１以上の整数）の前記ブロックから構成される場合に、ｎ×ｍ個の記憶領域が２次元状に配列された配列メモリであることを特徴とする付記２又は３に記載の画像処理装置。
（付記５）
前記第２閾値及び前記第５閾値は、前記入力画像の画像サイズに応じて変更可能な閾値であることを特徴とする付記３に記載の画像処理装置。
（付記６）
前記近接画素は、前記注目画素から１画素以上離れた画素であることを特徴とする付記１〜５のいずれか一項に記載の画像処理装置。
（付記７）
複数の画素が互いに直交する垂直方向と水平方向に２次元状に配列された入力画像を入力するステップと、
前記入力画像の注目画素と前記注目画素の近接画素との間の差分を算出するステップと、
前記算出した差分と第１閾値とを比較して第１比較結果を算出するステップと、
前記第１比較結果を前記入力画像全体で累積して第１累積値を算出するステップと、
前記第１累積値と第２閾値とを比較して第２比較結果を算出するステップと、
前記第２比較結果に基づいて量子化テーブルを設定するステップと、
前記量子化テーブルに基づいて前記入力画像を符号化するステップと、
を有することを特徴とする画像処理方法。
（付記８）
前記第１累積値を算出するステップは、
前記第１比較結果をＩ×Ｊ画素（Ｉ及びＪは１以上の整数）を有するブロック毎に累積して第２累積値を算出するステップと、
前記第２累積値と第３閾値とを比較して第３比較結果を算出するステップと、
前記第３比較結果を前記入力画像全体で累積して前記第１累積値を算出するステップと、
を有することを特徴とする付記７に記載の画像処理方法。
（付記９）
前記差分を算出するステップと、前記第１比較結果を算出するステップと、前記第２累積値を算出するステップと、前記第３比較結果を算出するステップとは、
前記各ブロックの１行１列目の画素を注目画素に設定し、前記注目画素と、前記注目画素から水平方向にＰ（Ｐは１以上の整数）画素以上離れた第１近接画素、及び前記注目画素から垂直方向にＰ画素以上離れた第２近接画素との差分を算出する第１ステップと、
前記注目画素を水平方向に１画素ずつ移動させて前記差分を算出する第２ステップと、
前記差分を算出する度に、前記第１比較結果を第３累積値に累積する第３ステップと、
（Ｉ−Ｐ＋１）画素単位の前記第１比較結果が前記第３累積値に累積される度に、前記第３累積値と第４閾値とを比較して第４比較結果を算出する第４ステップと、
前記第４比較結果を前記第２累積値に累積する第５ステップと、
前記注目画素を水平方向に（Ｉ−Ｐ＋１）画素移動させる度に、前記注目画素を水平方向に（Ｐ＋２）画素移動させて前記差分を算出する第６ステップと、
前記入力画像の水平方向の１ライン分の画素に対して前記第１ステップから前記第５ステップまでを繰り返す第７ステップと、
前記注目画素を垂直方向に１ライン移動させる度に、前記第１ステップから前記第６ステップまでを繰り返す第８ステップと、
（Ｊ−Ｐ＋１）ライン単位の前記第４比較結果が前記第２累積値に加算される度に、前記第２累積値と前記第３閾値とを比較して前記第３比較結果を算出する第９ステップと、
前記注目画素を垂直方向に（Ｊ−Ｐ＋１）ライン移動させる度に、前記注目画素を垂直方向に（Ｐ＋２）ライン移動させて前記第１ステップから前記第９ステップまでを繰り返す第１０ステップと、
を有することを特徴とする付記８に記載の画像処理方法。
（付記１０）
画像データに対して所定の画像処理を施すステップを有し、
前記入力画像を入力するステップでは、前記所定の画像処理が施された画像データを前記入力画像として入力し、
前記所定の画像処理を施すステップと、前記入力画像を入力するステップ、及び前記差分を算出するステップ、及び前記第１比較結果を算出するステップ、及び前記第１累積値を算出するステップ、及び前記第２比較結果を算出するステップ、及び前記量子化テーブルを設定するステップとを並行して実施することを特徴とする付記７〜９のいずれか一項に記載の画像処理方法。
（付記１１）
前記入力画像がｎ×ｍ個（ｎ及びｍは１以上の整数）の前記ブロックから構成される場合に、前記ブロック単位の第２累積値を、ｎ×ｍ個の記憶領域が２次元状に配列された配列メモリの対応する位置に格納するステップを有し、
全ての前記ブロックに対応する前記第２累積値が前記配列メモリに格納された後に、前記入力画像の一部がトリミングされた場合には、トリミングされたブロックに対応する位置の前記配列メモリの記憶領域から前記第２累積値を読み出し、読み出した前記第２累積値と前記第３閾値とを比較して第３比較結果を算出し、前記第３比較結果をトリミング後の入力画像全体で累積して前記第１累積値を算出することを特徴とする付記８又は９に記載の画像処理方法。
（付記１２）
撮像光学系と、前記撮像光学系を通過した光に応じた画像データを生成する撮像素子とを含む撮像部と、前記画像データに対して１又は複数の画像処理を施す画像処理装置とを有し、
前記画像処理装置は、
前記画像データを補正する画像補正部と、
前記補正後の画像データに対して所定の画像処理を施す画像処理部と、
前記所定の画像処理が施された画像データを入力画像として入力し、前記入力画像に基づいて、量子化テーブルを設定する設定部と、
前記量子化テーブルに基づいて、前記所定の画像処理が施された画像データを符号化する符号化処理部と、を有し、
前記設定部は、
複数の画素が互いに直交する垂直方向及び水平方向に２次元状に配列された前記入力画像の注目画素と前記注目画素の近接画素との間の差分を算出する差分演算器と、
前記差分と第１閾値とを比較して第１比較結果を算出する第１比較器と、
前記第１比較結果を前記入力画像全体で累積した第１累積値と、第２閾値とを比較して第２比較結果を算出する第２比較器と、
前記第２比較結果に基づいて量子化テーブルを設定する設定回路と、を有することを特徴とする撮像装置。
【符号の説明】
【０１３９】
１  撮像装置
１１  撮像部
１２  画像処理プロセッサ
２１  撮像光学系
２２  撮像素子
３３  色処理部（画像処理部）
３４  画像処理部
３５  コーデック部（符号化処理部）
４０  Ｑ値設定部（設定部）
４５  差分演算器
４６  比較器（第１比較器）
５０  設定回路
５１，５３，５４  メモリ
５２  メモリ（記憶部）
６１  加算器
６２  比較器（第２比較器）
Ａ１  注目画素
Ｂ１  近接画素（第１近接画素）
Ｃ１  近接画素（第２近接画素）
Ｄ１  近接画素
ＣＭ１  比較結果（第１比較結果）
ＣＭ２  比較結果（第４比較結果）
ＣＭ３  比較結果（第３比較結果）
ＣＭ４  比較結果（第５比較結果）
ＣＭ５  比較結果（第２比較結果）
ＡＭ１  累積値（第３累積値）
ＡＭ２  累積値（第２累積値）
ＡＭ３  累積値（第４累積値）
ＡＭ４  累積値（第１累積値）
Ｔｈ１  閾値（第１閾値）
Ｔｈ２  閾値（第４閾値）
Ｔｈ３  閾値（第３閾値）
Ｔｈ４  閾値（第５閾値）
Ｔｈ５  閾値（第２閾値）
ＧＤ  画像データ
ＳＤ  ソース画像（入力画像）
ＭＢ  ブロック
【図１】
2015146491.tif 000003
【図２】
2015146491.tif 000004
【図３】
2015146491.tif 000005
【図４】
2015146491.tif 000006
【図５】
2015146491.tif 000007
【図６】
2015146491.tif 000008
【図７】
2015146491.tif 000009
【図８】
2015146491.tif 000010
【図９】
2015146491.tif 000011
【図１０】
2015146491.tif 000012
【図１１】
2015146491.tif 000013
【図１２】
2015146491.tif 000014
【図１３】
2015146491.tif 000015
【図１４】
2015146491.tif 000016
【図１５】
2015146491.tif 000017
【図１６】
2015146491.tif 000018
【図１７】
2015146491.tif 000019
【図１８】
2015146491.tif 000020
【図１９】
2015146491.tif 000021
【図２０】
2015146491.tif 000022