(57)【要約】【課題】  画像符号化装置における消費電力を削減する。【解決手段】  画像解析器101は、入力画像を符号化単位のブロックに分割し、符号化単位のブロックごとに、入力画像の画面内予測に関する解析情報を生成する。画面内予測器104は、入力画像を予測単位のブロックに分割し、画面内予測を行って予測単位のブロックの予測残差を生成する。符号化/復号器105は、予測単位のブロックの予測残差または直流成分を符号化する。符号化制御器103は、符号化単位のブロックごとに、解析情報に基づき符号化/復号器105の符号化結果を推定し、推定に基づき画面内予測器104および符号化/復号器105を制御する。【選択図】  図1
2014082639.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を符号化単位のブロックに分割し、前記符号化単位のブロックごとに、前記入力画像の画面内予測に関する解析情報を生成する解析手段と、
前記入力画像を予測単位のブロックに分割し、前記画面内予測を行って前記予測単位のブロックの予測残差を生成する予測手段と、
前記予測単位のブロックの予測残差または直流成分を符号化する符号化手段と、
前記符号化単位のブロックごとに、前記解析情報に基づき前記符号化手段の符号化結果を推定し、前記推定に基づき前記予測手段および前記符号化手段を制御する制御手段とを有することを特徴とする画像符号化装置。
【請求項２】
前記解析手段は、前記画面内予測を行って前記符号化単位のブロックの予測残差を生成する生成手段を有し、
前記解析手段は、前記符号化単位のブロックの予測残差から前記解析情報を生成することを特徴とする請求項1に記載された画像符号化装置。
【請求項３】
前記生成手段は、前記画面内予測の予測モードとして直流予測モード、垂直予測モード、水平予測モードの少なくとも一つを備えることを特徴とする請求項2に記載された画像符号化装置。
【請求項４】
前記生成手段は、前記符号化単位のブロックの境界にフィルタ処理を適用して、前記画面内予測用の参照ブロックを生成する予測モードを有し、
前記解析手段は、前記フィルタ処理の中間結果に基づき、前記符号化単位のブロックの境界における物体のエッジ情報を抽出し、前記エッジ情報を前記解析情報の一部とすることを特徴とする請求項2に記載された画像符号化装置。
【請求項５】
前記制御手段は、前記解析情報が表す前記入力画像の画像特性情報に応じて前記符号化手段が使用する量子化パラメータを制御することを特徴とする請求項1から請求項4の何れか一項に記載された画像符号化装置。
【請求項６】
前記符号化単位のブロックごとに、前記制御手段は、前記解析情報に基づき画面内予測符号化を行った場合に量子化値がすべてゼロになる前記予測単位のブロックのブロック数を推定し、前記ブロック数が最大になる前記画面内予測の予測モードを判定することを特徴とする請求項1から請求項5の何れか一項に記載された画像符号化装置。
【請求項７】
前記制御手段は、前記ブロック数、および、前記判定した予測モードに基づき、前記予測手段および前記符号化手段における前記符号化単位のブロックのサイズを決定することを特徴とする請求項6に記載された画像符号化装置。
【請求項８】
前記予測手段は、前記判定された予測モードに基づき、前記画面内予測を行う場合の予測モードを探索することを特徴とする請求項6または請求項7に記載された画像符号化装置。
【請求項９】
前記制御手段は、前記ブロック数に基づき、前記予測手段に前記画面内予測を行う場合の予測モードを探索させるか否かを制御することを特徴とする請求項6または請求項7に記載された画像符号化装置。
【請求項１０】
前記制御手段は、前記ブロック数が所定の閾値を超える場合、前記予測手段および前記符号化手段を制御して、前記量子化値がすべてゼロになると推定した前記予測単位のブロックについて前記解析情報から得られる当該ブロックの直流成分を符号化し、前記量子化値のすべてがゼロにはならないと推定した前記予測単位のブロックを前記判定した予測モードによって前記画面内予測符号化することを特徴とする請求項6または請求項7に記載された画像符号化装置。
【請求項１１】
さらに、動き予測を行って、前記符号化単位のブロックの予測残差を生成する動き予測手段を有し、
前記制御手段は、前記動き予測手段の予測結果および前記解析情報に基づき前記符号化手段を制御して、前記予測手段が生成する予測残差、または、前記動き予測手段が生成する予測残差を符号化することを特徴とする請求項1から請求項10の何れか一項に記載された画像符号化装置。
【請求項１２】
解析手段、予測手段、符号化手段、制御手段を有する画像符号化装置の画像符号化方法であって、
前記解析手段が、入力画像を符号化単位のブロックに分割し、前記符号化単位のブロックごとに、前記入力画像の画面内予測に関する解析情報を生成し、
前記予測手段が、前記入力画像を予測単位のブロックに分割し、前記画面内予測を行って前記予測単位のブロックの予測残差を生成し、
前記符号化手段が、前記予測単位のブロックの予測残差または直流成分を符号化し、
前記制御手段が、前記符号化単位のブロックごとに、前記解析情報に基づき前記符号化手段の符号化結果を推定し、前記推定に基づき前記予測手段および前記符号化手段を制御することを特徴とする画像符号化方法。
【請求項１３】
コンピュータを請求項1から請求項11の何れか一項に記載された画像符号化装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の符号化に関する。
【背景技術】
【０００２】
ディジタル技術の進展によりディジタルカメラやディジタルビデオカメラを用いたディジタル動画撮影が普及した。ディジタル動画像は、半導体メモリに代表される記録媒体に効率よく記録するため、一般に圧縮（符号化）される。動画像の符号化方式としては、H.264/MPEG-4 AVC（以下、H.264）が広く使用されている（非特許文献1参照）。
【０００３】
近年、H.264の後継として、さらに高効率な符号化方式の国際標準化活動が開始され、JCT-VC (Joint Collaborative Team on Video Coding)がISO/IECとITU-Tの間で設立された。JCT-VCは、High Efficiency Video Coding (HEVC)方式の標準化を進めている（非特許文献2参照）。
【０００４】
H.264やHEVCは、符号化効率を向上させるために、従来から利用されている動きベクトルによる動き予測を用いた画面間予測符号化に加え、画面内における画素間の相関を利用して画面内予測を行い符号化する画面内予測符号化を採用する。
【０００５】
また、圧縮された映像のビットレートが限定される状況において主観画質を向上させるために、画像の特性情報を抽出して画面内で適応的に量子化パラメータを変化させる、適応量子化制御技術が知られている（特許文献1参照）。
【０００６】
H.264においては、画面内予測の単位である予測ブロックサイズが三種類存在し、かつ、各予測ブロックサイズにおける予測モードが最大9モード存在する。HEVCにおいては、選択可能な画面内予測の予測モード数および予測ブロックサイズがH.264に比べて増加する。つまり、符号化の際は、多くの予測モードの中から符号化に使用する予測モードおよび予測ブロックサイズを探索し決定する必要がある。
【０００７】
しかし、リアルタイムで映像を符号化する画像符号化装置において、多数の候補が存在する予測モードや予測ブロックサイズを網羅的に探索すると消費電力の増大を招く。また、前述した画像の特性情報を抽出する処理を画像符号化装置に実装すると、一般に、消費電力が増加する。
【０００８】
特許文献2は、画面内予測または動き予測を行った後の予測残差を評価し、予測残差の統計値が閾値以下ならば直交変換処理を省略して、消費電力を低減する技術を開示する。しかし、特許文献2の技術において省略可能な処理は直交変換処理および量子化処理に限られ、消費電力が大きい画面内予測および動きベクトル探索を伴う動き予測に消費される消費電力を削減することはできない。さらに、特許文献2の技術は、画像特性情報の抽出に消費される電力を削減することができない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第03707118号公報
【特許文献２】特開2008-154060号公報
【非特許文献】
【００１０】
【非特許文献１】「Advanced video coding for generic audio visua services」ITU-T H.264 (03/2010)
【非特許文献２】JCT-VC 寄書 JCTVC-F335.doc（http://phenix.int-evry.fr/jct/doc_end_ser/documents/6_Torino/wg11/）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、画像符号化装置における消費電力を削減することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１３】
本発明にかかる画像符号化装置は、入力画像を符号化単位のブロックに分割し、前記符号化単位のブロックごとに、前記入力画像の画面内予測に関する解析情報を生成する解析手段と、前記入力画像を予測単位のブロックに分割し、前記画面内予測を行って前記予測単位のブロックの予測残差を生成する予測手段と、前記予測単位のブロックの予測残差または直流成分を符号化する符号化手段と、前記符号化単位のブロックごとに、前記解析情報に基づき前記符号化手段の符号化結果を推定し、前記推定に基づき前記予測手段および前記符号化手段を制御する制御手段とを有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、画像符号化装置における消費電力を削減することができる。
【図面の簡単な説明】
【００１５】
【図１】実施例1の画像符号化装置の構成例を説明するブロック図。
【図２】符号化/復号器の構成例を説明するブロック図。
【図３】画像解析器の詳細な構成例を説明するブロック図。
【図４】16×16画素単位の簡易的な画面内予測を説明する図。
【図５】画面内予測器がサポートする予測モードの一例を示す図。
【図６】16×16画素のブロックを4×4画素のサブブロックに16分割した様子およびサブブロックのインデックスを示す図。
【図７】画面内予測器における画面内予測および符号化制御器に伝達される入力画面の解析情報を説明するタイミングチャート。
【図８】DC予測の予測残差から得られた解析情報に応じて各画像に与えられたデフォルトの量子化パラメータを増減するアルゴリズムを示す図。
【図９】符号化結果を推定するアルゴリズムを示す図。
【図１０】画像解析器および符号化装置の符号化処理を説明するフローチャート。
【図１１】画像解析器および符号化装置の符号化処理を説明するフローチャート。
【図１２】サブブロックの予測符号化と局所復号を説明するフローチャート。
【図１３】ブロックサイズの拡大を説明する図。
【図１４】HEVCのDC予測においてフィルタ処理によって生成される参照画素群を示す図。
【図１５】実施例3の画像解析器の詳細な構成例を示す図。
【図１６】実施例4の画像符号化装置の構成例を説明するブロック図。
【図１７】画像解析器および符号化装置の符号化処理を説明するフローチャート。
【図１８】画像解析器および符号化装置の符号化処理を説明するフローチャート。
【図１９】画面間予測符号化を説明するフローチャート。
【発明を実施するための形態】
【００１６】
以下、本発明にかかる実施例の画像符号化を図面を参照して詳細に説明する。なお、以下では、水平16画素、垂直16画素の16×16画素のブロック単位に符号化を行う例を説明する。また、画面内予測を使用した画面内予測符号化により入力画像を符号化する例を説明する。
【実施例１】
【００１７】
［装置の構成］
図1のブロック図により実施例1の画像符号化装置の構成例を説明する。画像符号化装置は、図1に示すように画像解析器101と符号化装置102を有する。
【００１８】
符号化装置102において、符号化制御器103は、符号化処理の開始前に装置外部から、符号化対象の画面（フレーム画像）に対するデフォルトの量子化パラメータを入力する。デフォルトの量子化パラメータは、装置外部において、前画面（前フレーム）までの符号化の結果である発生符号量と目標符号量に基づき決定される。符号化制御器103は、デフォルトの量子化パラメータを基準として、後述する適応量子化制御を行って、実際の量子化に使用する量子化パラメータを符号化/復号器105に伝達する。
【００１９】
また、符号化制御器103は、符号化装置102の内部処理を行う画面内予測器104、符号化/復号器105、多重化器106、画面内補償器107のパラメータ設定し、動作開始を指示するなどの制御を行う。さらに、符号化制御器103は、後述する符号化結果の推定、符号化ブロックパターンの生成、および、符号化ブロックパターンのエントロピ符号化を行う。
【００２０】
符号化処理が開始されると、画面内予測器104は、符号化対象の画面（フレーム画像）を入力し、所定のブロックサイズである4×4画素の予測対象ブロックについて予測モードの探索を行う。画面内予測器104は、隣接ブロックの復号画素を画面内予測用のメモリ108から読み込む。そして、探索対象の予測モードに対応した参照画素群である参照ブロックを生成し、予測対象ブロックと参照ブロックの予測残差（差分値）を算出し、予測残差に対する評価値を算出する。
【００２１】
評価値の算出には、絶対値化した予測残差を予測対象ブロック内で合計した値であるSAD (sum of absolute difference)や、後述するアクティビティを使用する。画面内予測器104は、評価値が最小になる予測モードを発生符号量が最も小さい予測モードに決定する。そして、決定した予測モードを示す情報を多重化器106と面内補償器107に出力するとともに、当該予測モードを使用した場合の予測残差を符号化/復号器105に出力する。
【００２２】
符号化/復号器105は、画面内予測器104が出力する予測残差の符号化処理および局所復号処理を行う。なお、詳細は後述するが、予測残差の直交変換→量子化→エントロピ符号化が「予測残差符号化」であり、量子化値の逆量子化→逆直交変換が「局所復号」である。
【００２３】
多重化器106は、符号化/復号器105が出力する符号データ、画面内予測器104が出力する予測モード、符号化制御器103が出力するエントロピ符号化された符号化ブロックパターンを多重化した符号化ストリームを出力する。
【００２４】
画面内補償器107は、符号化/復号器105が局所復号した予測残差（以下、復号予測残差）に予測モードに対応する参照画素値を加算（補償）し、局所復号した画素（以下、局所復号画素）を画面内予測用のメモリ108に記録する。メモリ108に記録された局所復号画素は、後続ブロックの画面内予測に使用される参照ブロックの生成に利用される。
【００２５】
●予測残差符号化/局所復号器
図2のブロック図により符号化/復号器105の構成例を説明する。
【００２６】
図2において、直交変換器201は、所定の変換ブロックサイズである4×4画素の変換ブロック単位に予測残差を直交変換して、直交変換係数を量子化器202に出力する。量子化器202は、符号化制御器103から入力される量子化パラメータに基づき直交変換係数を量子化し、量子化した直交変換係数（以下、量子化値）をエントロピ符号化器203に出力する。
【００２７】
エントロピ符号化器203は、量子化値をエントロピ符号化した符号化データを多重化器106に出力するとともに、変換ブロック内の量子化値のすべてがゼロか否を表す符号化結果を変換ブロックごとに符号化制御器103に伝達する。
【００２８】
以下では、変換ブロックサイズにおいて量子化値がすべてゼロの場合の符号化結果を「Not Coded」と定義し、ゼロではない量子化値が一つでも存在する場合の符号化結果を「Coded」と定義する。また、変換ブロックごと、または、後述するサブブロックごとの符号化結果を16×16画素ブロックごとに統合した情報を「符号化ブロックパターン」と定義する。
【００２９】
符号化結果が「Not Coded」となった変換ブロックは、後述する符号化ブロックパターンのみで復号が可能であるため、エントロピ符号化203は、当該変換ブロックの予測残差の符号化データを多重化器106に出力しない。
【００３０】
なお、符号化結果は、変換ブロック内の直流成分係数（DC係数）を除く、すべての交流成分係数（AC係数）に対してのみ定義することが可能である。符号化結果がAC係数についてのみ定義される場合は「Not Coded」であってもDC係数がエントロピ符号化され、符号データが発生することがある。以下では、AC係数に対して符号化結果を定義するものとする。
【００３１】
逆量子化器204は、量子化値を逆量子化し、逆量子化によって得た直交変換係数を逆直交変換器205に出力する。逆直交変換器205は、変換ブロック単位に、直交変換係数を逆直交変換した復号予測残差を画面内補償器107に出力する。
【００３２】
●画像解析器
上記のように、画面内予測および予測残差符号化は多くの処理を含み、多くの電力を消費する。この問題を解決するため、実施例1は、図1に示す画像解析器101が算出する解析情報を活用して、画面内予測および予測残差符号化の消費電力を低減する。図3のブロック図により画像解析器101の詳細な構成例を説明する。
【００３３】
画面内予測器301は、入力画面を符号化単位である16×16画素の画像ブロックに分割し、簡易的な画面内予測を行う。つまり、画面内予測器301は、画面内予測器104が備える予測モード数に比べて少ない、かつ、参照ブロックの生成に乗算器を必要としない予測モードのみを備える。図4により16×16画素単位の簡易的な画面内予測を説明する。
【００３４】
画面内予測器301は、予測対象の画像ブロックXの画面内予測を行うための参照ブロックを、ブロックAの右端の局所復号画素p[-1, 0]〜p[-1, 15]と、ブロックBの下端の局所復号画素p[0, -1]〜p[15, -1]から生成する。
【００３５】
図5により画面内予測器301がサポートする予測モードの一例を示す。なお、画面内予測器301は、図5に示す予測モードの少なくとも一つをサポートすればよい。図5(a)は直流予測モード（DC予測モード）を示し、ブロックA、Bの局所復号画素を使用して下式に従い参照ブロックを生成する。
pred[x, y] = (Σyp[-1, y] + Σxp[x, -1] + 16)/32      …(1)
ここで、x（0≦x≦15）は16×16画素ブロック内の水平位置を示す変数、
y（0≦y≦15）は16×16画素ブロック内の垂直位置を示す変数、
pred[x, y]は16×16画素の参照ブロック内の画素の値。
【００３６】
図5(b)は垂直予測モードを示し、ブロックBの局所復号画素を使用して下式に従い参照ブロックを生成する。
pred[x, y] = p[x, -1]      …(2)
【００３７】
図5(c)は水平予測モードを示し、ブロックAの局所復号画素を使用して下式に従い参照ブロックを生成する。
pred[x, y] = p[-1, y]      …(3)
【００３８】
画面内予測器301は、画面内予測が完了した画像ブロックの右端および下端の画素を、後続の画像ブロックの画面内予測における参照ブロックの生成用に画面内予測用のメモリ302に記録する。そして、画像ブロックと参照ブロックの予測残差（差分）を予測残差ブロックとして算出し、予測残差ブロックをアクティビティ算出器303、勾配判定器304、最大残差算出器305に伝達する。
【００３９】
アクティビティ算出器303は、予測残差ブロックe[x, y]を4×4画素の予測残差サブブロックeSUB[i, x, y]に分割し、サブブロック単位でアクティビティactSUB[i]を計算する。インデックスi（0≦i≦15）は、予測残差ブロック内における各サブブロックを示す。図6により16×16画素のブロックを4×4画素のサブブロックに16分割した様子およびサブブロックのインデックスを示す。
【００４０】
アクティビティ算出器303は、サブブロック内の予測残差の平均値であるactAVE[i]を算出する。そして、算出したactAVE[i]と、予測残差eSUB[i, x, y]の差分絶対値を、サブブロック内で合計した結果をサブブロックのアクティビティactSUB[i]とする（式(4)）。
actSUB[i] = ΣiΣxΣyabs(eSUB[i, x, y] - actAVE[i])      …(4)
ここで、0≦i≦15、
0≦x≦3、
0≦y≦3、
abs()は絶対値を求める関数。
【００４１】
勾配判定器304は、サブブロックへの分割は行わず、16×16画素の予測残差ブロック単位に勾配情報gradBLKを算出する。下式は、垂直方向の勾配gradVを算出する式であり、予測残差ブロックの上端の画素の値と下端の画素の値の差分絶対値を、ブロック内で合計した結果が垂直方向の勾配gradVである。
gradV = Σxabs(e[x, 15] - e[x, 0])      …(5)
ここで、0≦x≦15。
【００４２】
下式は、水平方向の勾配gradHを算出する式であり、予測残差ブロックの左端と右端の画素の値の差分絶対値を、ブロック内で合計した結果が水平方向の勾配gradHである。
gradH = Σyabs(e[15, y] - e[0, y])      …(6)
ここで、0≦y≦15。
【００４３】
勾配判定器304は、垂直方向の勾配gradVおよび水平方向の勾配gradHを算出した後、それらを比較し、大きい方の値を予測残差ブロックの勾配値gradBLKとして出力する。
gradBLK = max(gradV, gradH)      …(7)
ここで、max()は大きい方の値を出力する関数。
【００４４】
最大残差算出器305は、16×16画素の予測残差ブロックを4×4画素のサブブロックに分割し、各サブブロックにおける最大の絶対値を最大残差maxRES[i]として出力する。
【００４５】
これらアクティビティ情報actSUB[i]、勾配情報gradBLK、最大残差maxRES[i]を総称して「解析情報」と呼ぶ。多重化器306は、アクティビティ情報actSUB[i]、勾配情報gradBLK、最大残差maxRES[i]を時分割で多重する。これらアクティビティ情報actSUB[i]、勾配情報gradBLK、最大残差maxRES[i]を総称して「解析情報」と呼ぶ。多重化器306は、画像解析器101と符号化制御器103を直結するダイレクトバスを介して、入力画面の解析情報を符号化制御器103に伝達する。
【００４６】
図7のタイミングチャートにより画面内予測器301における画面内予測および符号化制御器103に伝達される入力画面の解析情報を説明する。図7に示すように、画面内予測器301がDC予測を行うと予測残差ブロックの解析情報が符号化制御器103へ伝達される。その後、垂直予測、水平予測についての解析情報が、順次、符号化制御器103へ伝達される。
【００４７】
なお、解析情報の伝達方法は、ダイレクトバスを用いた時分割多重に限定されるわけではない。例えば、各解析情報を画像解析器101のレジスタに記録し、符号化制御器103がレジスタバス経由で当該レジスタから解析情報を読み込んでもよい。その場合、多重化器306と符号化制御器103がレジスタバスにより相互接続されている必要がある。
【００４８】
●符号化制御器
符号化制御器103は、画像解析器101から受け取った解析情報に応じて、入力画面における適応量子化制御および符号化結果の推定を行う。まず、適応量子化制御について説明する。
【００４９】
適応量子化制御
適応量子化制御は、解析情報のうち、DC予測の予測残差から算出されたアクティビティ情報actSUB[i]および勾配情報gradBLKに応じて量子化パラメータを増減することで主観画質を向上させる。
【００５０】
DC予測においては、入力画像の空間周波数や画像特性に関する情報は失われない。入力画像とDC予測の予測残差は同じ画像特性情報を有し、予測残差から算出される統計情報を画像特性情報として適応量子化制御に使用することができる。一方、水平予測および垂直予測の予測残差は、参照ブロック自体が空間周波数特性をもつため、予測残差における画像特性情報が変化して、不適切な適応量子化制御になる可能性がある。従って、解析情報としてDC予測の予測残差を使用する。
【００５１】
また、人間の視覚特性を考慮すると、アクティビティが高い箇所は量子化による画質劣化が主観上目立ち難い。一方、アクティビティが低い箇所（平坦な箇所）は量子化による画質劣化が目立ち易い。また、画面内で一様の勾配がある箇所は、アクティビティが低い箇所と同様に量子化による画質劣化が目立ち易い。
【００５２】
図8によりDC予測の予測残差から得られた解析情報に応じて各画像に与えられたデフォルトの量子化パラメータを増減するアルゴリズムを示す。図8においてactSUMは各予測残差サブブロックのアクティビティactSUB[0]〜actSUB[15]を合計した値である。actth1、actth2（actth1＜actth2）は、アクティビティ合計値actSUMの閾値として使用する固定値である。同様に、gradth1、gradth2（gradth1＜gradth2）は、勾配情報gradBLKの閾値として使用する固定値である。
【００５３】
上述したように、アクティビティが「高い」箇所は画質劣化が目立ち難いから、符号化制御器103は、符号量を削減するために量子化パラメータを増加させる（図8の例では+4）。逆に、アクティビティが「低い」箇所は、主観画質への影響が大きいから量子化パラメータを減少させ（図8の例では-4）、符号量は増加するが画質劣化を抑える。
【００５４】
また、アクティビティが「中」の箇所において、符号化制御器103は、勾配情報gradBLKによって量子化パラメータを制御する。つまり、勾配が小さい箇所は量子化パラメータを増加させ（図8の例では+2）、勾配が大きい箇所は量子化パラメータを減少させる（図8の例では-2）。アクティビティも勾配も中の箇所は量子化パラメータを変化させない（つまり±0）。
【００５５】
このように、符号化制御器103は、人間の視覚特性に応じて適応量子化制御を行うことにより、圧縮された映像のビットレートが限定される状況において、主観画質を向上させることができる。
【００５６】
符号化結果の推定
次に、符号化結果の推定について説明する。符号化制御器103は、解析情報および量子化パラメータを基に符号化結果がCodedかNot Codedかを推定する。
【００５７】
図9により符号化結果を推定するアルゴリズムを示す。符号化結果の推定アルゴリズムは、4×4画素の予測残差サブブロックのアクティビティactSUB[i]および最大残差maxRES[i]を入力とする。
【００５８】
図9において、actqpは、アクティビティactSUB[i]の閾値で、量子化パラメータに応じて決定される値である。resqpは、最大残差maxRES[i]の閾値で、量子化パラメータに応じて決定される値である。図9に示すように、符号化制御器103は、アクティビティactSUB[i]および最大残差maxRES[i]を量子化パラメータによって決まる閾値と比較して、符号化結果がCodedかNot Codedかを推定する。
【００５９】
アクティビティactSUB[i]が小さい予測残差サブブロックは、実際に直交変換や量子化を行わずとも、符号化結果がNot Codedになると推定することが可能である。また、画面に一画素分だけ大きな値の予測残差をもつ場合、予測残差サブブロックとしてのアクティビティactSUB[i]が比較的小さくとも、直交変換すると大きな値の直交変換係数をもちCodedになることがある。このような局所的に大きな予測残差が発生する場合を考慮して、アクティビティactSUB[i]と最大残差maxRES[i]の両者を使用して符号化結果を推定し、符号化結果の推定精度を向上させる。
【００６０】
また、量子化パラメータが大きい場合は、より大きな値の直交変換係数がゼロになる。従って、量子化パラメータが大きくなるほど閾値actqpおよびresqpを大きくして、符号化結果の推定精度を向上させる。
【００６１】
［符号化処理］
図10と図11のフローチャートにより画像解析器101および符号化装置102の符号化処理を説明する。なお、図10と図11は符号化対象の一画面分の符号化処理を示す。
【００６２】
符号化制御器103は、入力画面に対するデフォルトの量子化パラメータを入力する(S101)。デフォルトの量子化パラメータは、上述したように、装置外部の符号量制御に基づき決定される。
【００６３】
次に、画像解析器101は、入力画面から16×16画素ブロックを取得する(S102)。そして、画面内予測器301によりDC予測/垂直予測/水平予測の各予測モードを用いて簡易的な画面内予測を行い、16×16画素ブロックの予測残差ブロックを算出する(S103)。さらに、アクティビティ算出器303、勾配判定器304、最大残差算出器305により、各予測モードの予測残差ブロックの解析情報を算出し、多重化器306により入力画面の解析情報を符号化制御器103に伝達する(S104)。
【００６４】
次に、符号化制御器103は、主観画質向上のために、DC予測の解析情報を用いて、図8に示した適応量子化制御を行う(S105)。さらに、DC予測/垂直予測/水平予測の各予測モードについて、図9に示した予測残差サブブロックごとの符号化結果の推定を行い、Not Codedになるサブブロックの数NNCが最多になる予測モードを判定する(S106)。以下、ステップS106で判定された予測モードを「判定予測モード」と呼ぶ。
【００６５】
次に、画面内予測器104は入力画面から16×16画素ブロックを取得し(S107)、符号化制御器103は判定予測モードにおいてNot Codedと推定されるサブブロック数NNCと、所定の閾値Nthを比較する(S108)。なお、閾値Nthは、通常の画面内予測を行うか、低消費電力モード符号化を行うかを判定する閾値である。
【００６６】
符号化制御器103は、ステップS108の比較結果に基づき、16×16画素ブロックの画面内予測符号化を制御する。判定予測モードにおいてNot Codedと推定されるサブブロック数が閾値以下（NNC≦Nth）の場合、符号化制御器103は、通常の画面内予測による符号化を行うと判定して、処理をステップS109に進める。
【００６７】
通常の画面内予測において、画面内予測器104は、16×16画素ブロックを分割した4×4画素サブブロックについて全予測モードを探索して予測モードを決定する(S109)。なお、全予測モードを網羅的に探索せずに、判定予測モードに基づき予測モードを探索してもよい。そして、詳細は後述するが、画面内予測器104および符号化/復号器105などによって、4×4画素サブブロックの予測符号化および局所復号が実行される(S110)。4×4画素サブブロックの処理が終了すると、符号化制御器103は、16×16画素ブロックの全サブブロックの処理が終了したか否かを判定し(S111)、未了の場合は処理をステップS109に戻す。また、16×16画素ブロックの全サブブロックの処理が終了すると処理はステップS121に進む。
【００６８】
一方、判定予測モードにおいてNot Codedと推定されるサブブロック数が閾値を超える（NNC＞Nth）場合、符号化制御器103は、低消費電力モード符号化を行うと判定する。そして、サブブロックの符号化結果の推定に応じて処理を分岐する(S112)。判定予測モードにおいてCodedと推定されたサブブロックに対しては判定予測モードによる予測符号化および局所復号が行われる(S113)。
【００６９】
また、判定予測モードにおいてNot Codedと推定されたサブブロックの場合、符号化制御器103は、当該サブブロックのDC係数のみを符号化/復号器105に供給して符号化および局所復号を実行させる(S114)。なお、当該サブブロックのDC係数は、アクティビティ算出に使用された予測残差の平均値であるactAVE[i]を参照して得ることができる。
【００７０】
つまり、ステップS114において、符号化/復号器105は、当該サブブロックのDC係数に対する量子化とエントロピ符号化を行い、量子化したDC係数を逆量子化して局所復号予測残差とする。多重化器106は、量子化DC係数の符号データを符号化ストリームに多重化する。画面内補償器107は、当該サブブロックの参照ブロックとDC係数に対応する復号予測残差を加算して局所復号画素を生成し、局所復号画素の一部をメモリ108に記録する。なお、Not Codedとなったサブブロックは局所復号してもAC係数は全部ゼロであるためDC係数のみが復号される。
【００７１】
4×4画素サブブロックの処理が終了すると、符号化制御器103は、16×16画素ブロックの全サブブロックの処理が終了したか否かを判定し(S115)、未了の場合は処理をステップS112に戻す。また、16×16画素ブロックの全サブブロックの処理が終了すると処理はステップS121に進む。
【００７２】
16×16画素ブロックの処理が終了すると、符号化制御器103は、ステップS110、ステップS113、ステップS114で算出された符号化結果（後述するステップS137で得られる）を統合して、符号化ブロックパターンを生成する(S121)。そして、符号化ブロックパターンをエントロピ符号化し、予測モードなどとともにヘッダ情報として多重化器106に伝達する(S122)。多重化器106は、ヘッダ情報を符号化ストリームに多重化する(S123)。
【００７３】
符号化制御器103は、符号化ブロックパターンの生成にステップS106の推定結果ではなく、実際の予測符号化において得られた符号化結果を参照する。この理由は、符号化制御器103が符号化結果をCodedと推定しても、実際にはNot Codedになるケースがあるためである。なお、実際の予測符号化で得られた符号化結果をエントロピ符号化器203（図2参照）に伝達し、エントロピ符号化器203が符号化ブロックパターンのエントロピ符号化を行い、符号化された符号化ブロックパターンを多重化器106に出力することもできる。
【００７４】
次に、符号化制御器103は、入力画面のすべての16×16画素ブロックの符号化処理が終了したか否かを判定し(S124)、未了であれば処理をステップS102に戻して次の16×16画素ブロックの符号化を行う。また、入力画面のすべての16×16画素ブロックの符号化処理が終了した場合は、一画面分の符号化処理を完了する。
【００７５】
●サブブロックの予測符号化と局所復号
図12のフローチャートによりサブブロックの予測符号化と局所復号(S110、S113)を説明する。
【００７６】
画面内予測器104は、隣接ブロックの復号画素をメモリ108から読み込み、予測モードに対応した参照画素群である参照ブロックを生成し、サブブロックと参照ブロックの予測残差を算出する(S131)。なお、ここで使用される予測モードは、ステップS109で決定された予測モード、または、判定予測モードである。
【００７７】
次に、符号化/復号器105は、直交変換器201による予測残差の直交変換(S132)、量子化器202による直交変換係数の量子化(S133)、エントロピ符号化器203による量子化値のエントロピ符号化(S134)により符号データを生成する。また、逆量子化器204による量子化値の逆量子化(S135)、逆直交変換器205による逆量子化によって得た直交変換係数の逆直交変換(S136)により局所復号予測残差を生成する。
【００７８】
その際、量子化器202および逆量子化器204は、符号化制御器103から入力される適応量子化制御が施された量子化パラメータを用いる。また、エントロピ符号化器203は、サブブロックの量子化値の符号化結果がCodedかNot Codedかを判定し、符号化結果を符号化制御器103に伝達する(S137)。
【００７９】
多重化器106は、符号データを符号化ストリームに多重化する(S138)。画面内補償器107は、予測モードに基づきサブブロックの参照ブロックを生成し、参照ブロックと復号予測残差を加算して局所復号画素を生成して、局所復号画素の一部をメモリ108に記録する(S139)。
【００８０】
ステップS109において、画面内予測器104が探索する予測モードの候補は、H.264の場合は最大九候補、HEVCの場合は最大34候補になり、予測モードの探索において、多くの電力と処理時間が消費される。さらに、予測残差の符号化における直交変換と量子化は、乗算器や除算器を使用するため、やはり多くの消費電力を必要とする。
【００８１】
本実施例によれば、ステップS108において低消費電力モード符号化を行うと判定された16×16画素ブロックの予測モードの探索や、Not Codedと推定されたサブブロックのAC係数の予測残差符号化を省略することができる。これら処理は多くの電力を消費し、これら処理を省略することによって消費電力の大幅削減が期待される。
【００８２】
一方、画像解析器101の画面内予測器301は、参照ブロックの生成に乗算器を必要としない、消費電力が小さい一部の予測モードのみをサポートし、消費電力のオーバヘッドは僅かである。画像には、一般に、少ない予測モードでもNot Codedになる領域（平坦な領域など）が存在する。このような領域に属するブロックは、低消費電力モード符号化を行い、大幅な消費電力の削減が期待される。
【００８３】
［変形例］
符号化制御器103は、符号化装置102の内部処理のクロック信号を制御する、クロック制御機能を備えることが望ましい。Not Codedと推定されたサブブロックの処理が省略された期間、画面内予測器104と符号化/復号器105に供給するクロック信号を停止して、クロック信号によって消費される電力も大幅に削減することができる。
【００８４】
また、適応量子化制御のための画像特性情報の抽出には、符号化結果の推定とほぼ同じ解析情報を使用することができる。従って、僅かな処理の追加によって画像特性情報を抽出することが可能になり、処理の大きなオーバヘッド（消費電力の増加）なしに、適応量子化制御による高画質化を実現することができる。
【００８５】
図10から図12に示した処理は、CPUが実行するプログラムとして実装することが可能である。プログラムを実行する際、低消費電力モード符号化を行うブロックについては、予測モードの探索(S109)および予測残差の符号化処理(S110、S113)が不要になり、処理の高速化が実現される。また、処理のオーバヘッドなしに画像特性情報を抽出して、適応量子化制御による高画質化を実現することもできる。
【００８６】
なお、図10から図12に示した処理は輝度成分の処理を想定しているが、一般に画像には輝度成分とともに色差成分が含まれる。色差成分についても、画像解析器101および符号化制御器103で符号化結果を推定してもよいし、画面内予測器104と符号化/復号器105を色差成分の処理のみ行うモードで起動してもよい。後者の場合、当該ブロックを低消費電力モード符号化する場合は、色差成分の画面内予測の予測モードとして、輝度成分の画面内予測に最も近い予測モードを使用することが低消費電力の観点から望ましい。
【００８７】
また、画像解析器101の動作説明、および、図10から図12に示した処理は、サブブロックのサイズとして4×4画素を想定しているが、本実施例は、特定のサブブロックサイズに限定されるわけではない。例えば、16×16画素ブロックを8×8画素の四つのサブブロックとして符号化することも可能である。その場合、8×8画素のサブブロックに基づき、符号化制御器103における符号化結果の推定、および、画面内予測器104の画面内予測を行う。
【００８８】
さらに、符号化単位である符号化ブロックサイズも16×16画素に限定されない。例えば、HEVCで規定される32×32画素や64×64画素のような符号化ブロックサイズにも対応可能である。
【００８９】
本実施例において、消費電力の削減度合い（または処理の高速化）と符号化効率（発生符号量）はトレードオフの関係にある。図10に示すステップS107における低消費電力モード符号化を行うか否かを判定する閾値Nthを小さくすると、予測モード探索を省略するサブブロックが増加して削減される消費電力が大きくなる。しかし、閾値Nthを小さくし過ぎると、サブブロック単位の予測モード探索が行われ難くなり、Codedと推定されたサブブロックの符号量が増加する傾向になる。逆に、閾値Nthを大きくし過ぎると、符号量が減少する反面、予測モード探索が省略されるサブブロックが減少して、消費電力の削減効果は低下する。
【００９０】
このトレードオフの関係を利用して、画像符号化装置を備える撮像機器などにおいて、電池残量に余裕がある場合には閾値Nthを大きくし、電池残量に余裕がない場合は閾値Nthを小さくする制御も可能である。
【００９１】
また、本実施例において、消費電力の削減度合いと画質もトレードオフの関係にある。図9に示す閾値actqp、resqpを大きくすると、Not Codedと推定されるサブブロック数NNCが増加し、低消費電力モード符号化されるブロック数が増加する。しかし、本来CodedになるサブブロックをNot Codedとして処理すれば画質劣化が発生し、閾値actqp、resqpを大きくすると画質劣化の発生確率が大きくなる。逆に、閾値actqp、resqpを小さくすると画質劣化の発生確率が小さくなる反面、Not Codedと推定されるサブブロック数が減少し、消費電力の削減効果は低下する。
【００９２】
この消費電力と画質のトレードオフの関係についても、上記のような電池残量に応じた制御が可能である。つまり、電池残量に余裕がある場合には閾値actqp、resqpを小さくし、電池残量に余裕がない場合は閾値actqp、resqpを大きくする。
【００９３】
画面内予測器104は、隣接ブロックの局所復号画素から画面内予測のための参照ブロックを生成する。これに対して、画像解析器101の画面内予測器301は、隣接ブロックの入力画素から参照ブロックを生成する。量子化パラメータが小さく（高ビットレート）、入力画素と局所復号画素の差分が小さい場合は入力画素の値と局所復号画素の値は近く、画質に与える影響は小さい。しかし、量子化パラメータが大きく（低ビットレート）、入力画素と局所復号画素の差分が大きい場合、本来CodedになるサブブロックをNot Codedと推定した場合の画質劣化が大きくなる問題がある。
【００９４】
低ビットレートにおける画質劣化の問題は、ステップS108で低消費電力モード符号化を行うと判定した全サブブロックについて、ステップS112の判定を行わず、ステップS113の処理を行うことによって解決可能である。電力削減効果は低下するものの、多数の予測モードを探索することに比べれば、依然、消費電力を大きく削減することが可能である。
【００９５】
また、画像解析器101の画面内予測器301が使用する予測モードは上記の三つの予測モードに限定されず、どのような予測モードも使用することが可能である。例えば、消費電力の削減に効果的であることが予めわかっている予測モードを追加すれば消費電力を効果的に削減することができる。しかし、あまり効果的ではない予測モードを追加すると、処理のオーバヘッドにより消費電力が増加する。
【００９６】
また、画像解析器101が算出する解析情報は、前述したアクティビティ、勾配、最大残差に限定されない。例えば、アクティビティに代わる分散の使用や、簡易的な直交変換（アダマール変換等）を施した直交変換係数の使用など、如何なる統計情報も使用することが可能である。勿論、勾配の算出も、如何なる構成により勾配情報を算出してもよいし、他の種類の画像特性情報を画像解析器101に追加することも容易である。
【実施例２】
【００９７】
以下、本発明にかかる実施例2の画像符号化を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００９８】
実施例1では、4×4画素のサブブロック単位に符号化結果を推定し、ブロックごとに符号化結果を統合した符号化ブロックパターンをヘッダ情報として符号化ストリームに多重化する例を説明した。しかし、低ビットレートの符号化においては、符号化ブロックパターンをはじめとするヘッダ情報についても、できる限り少ない情報量にすることが望ましい。HEVCには、符号化結果を定義する変換のブロックサイズに自由度があり、符号化においてこれらサイズを適応的に決定することができる。ヘッダ情報の符号量の削減にはサブブロックのサイズを大きくすることが望ましい。実施例2では、解析情報に基づいてサブブロックサイズを適応的に決定する例を説明する。
【００９９】
実施例2の符号化制御器103は、処理対象ブロック（16×16画素）内の全サブブロック（4×4画素または8×8画素）がNot Codedか否か、および、判定予測モードがDC予測か否かを判定する。全サブブロックがNot Coded、かつ、判定予測モードがDC予測の場合（以下、拡大条件）、処理対象ブロック内の画素がほぼ同値である確率が高い。処理対象ブロック内の画素がすべて同値であれば、16×16画素ブロックで変換してもすべてのAC係数はゼロになる。
【０１００】
従って、拡大条件を満たす場合、16×16画素ブロックを変換ブロックサイズとし、16×16画素単位の符号化結果をNot Codedとし、符号化ブロックパターンを生成する。その結果、4×4画素サブブロックごとに符号化結果を定義する場合に比べて、符号化ブロックパターンの符号量が削減される。このヘッダ情報の情報量の削減は、特に低ビットレートでの符号化時に効果が大きい。
【０１０１】
また、ブロック内の画素がすべて同値の平坦ブロックは、隣接するブロック群も平坦ブロックである可能性が高く、処理対象ブロックと周辺ブロックを合体して、より大きく拡大したブロックサイズを符号化単位として符号化することが可能である。
【０１０２】
図13によりブロックサイズの拡大を説明する。符号化制御器103は、図13(a)の状態において拡大条件を判定する。拡大条件が満たされる場合、まず変換のブロックサイズを16×16画素とし、16×16画素ブロックの符号化結果をNot Codedとする。
【０１０３】
隣接するブロックについても同様の判定を行う。図13(b)に示す四つの16×16画素ブロックすべてにおいて拡大条件が満たされる場合、符号化単位と変換のブロックサイズを32×32画素とし、32×32画素ブロックの符号化結果をNot Codedにする（図13(c)）。なお、図13(b)に示すような状態は、画面の平坦箇所では高い頻度で発生する。
【０１０４】
符号化単位を32×32画素として符号化ブロックパターンを生成すると、符号化単位が4×4画素の場合に比べて、符号化ブロックパターンの符号量を削減することができる。また、隣接ブロックにおいて拡大条件が満たされなかった場合も、図13(b)に示すように、符号化単位を16×16画素として、符号化ブロックパターンの符号量を削減することができる。
【０１０５】
また、ブロックサイズの拡大により削減されるヘッダ情報は符号化ブロックパターンに限らない。予測ブロックサイズの適応的な変化により、予測モードに関するヘッダ情報の符号量も削減することが可能である。
【０１０６】
HEVCなど、予測や変換のブロックサイズを適応的に定められる場合、符号化結果の推定に基づいて適応的にブロックサイズを決定すれば、ヘッダ情報の符号量を大幅に削減することが可能になる。
【０１０７】
また、上記の変換ブロックサイズの拡大は、どのようなブロックサイズも適用可能である。例えば、16×8画素や32×16画素など、正方形ではない変換ブロックサイズや予測ブロックサイズに適用することが可能である。
【実施例３】
【０１０８】
以下、本発明にかかる実施例3の画像符号化を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１０９】
実施例3では、DC予測時に行われるフィルタ処理と組み合わせることで、実施例1、2で説明した解析情報に加え、ブロック境界における物体のエッジ情報を取得する例を説明する。なお、16×16画素または4×4画素単位に解析情報を取得した場合、16×16画素のブロック境界に存在する物体のエッジ情報を抽出することはできない。
【０１１０】
図14によりHEVCのDC予測においてフィルタ処理によって生成される参照画素群を示す。HEVCのDC予測においては、ブロック上端と左端の係数に下式のフィルタ処理を適用してDC予測時の参照ブロックを算出する。
DCVAL = (Σyp[-1, y] + Σyp[x, -1] + 16)/32            …(8)
pred[0, 0] = (p[-1, 0] + 2×DCVAL + p[0, -1] + 2)/4      …(9)
pred[x, 0] = (p[x, -1] + 3×DCVAL + 2)/4                …(10)
pred[0, y] = (p[-1, y] + 3×DCVAL + 2)/4                …(11)
pred[x, y] = DCVAL                                    …(12)
ここで、0≦x≦15、
0≦y≦15。
【０１１１】
上記の式(10)(11)は下のように変形することが可能であり、乗算器を使用せず、より簡素化した構成にすることが可能である。
pred[x, 0] = {4×DCVAL - (DCVAL - p[x, -1] - 2)}/4      …(13)
pred[0, y] = {4×DCVAL - (DCVAL - p[-1, y] - 2)}/4      …(14)
【０１１２】
式(13)(14)の中間結果である第二項は、参照ブロックと隣接ブロック（ブロックAおよびブロックB）とのブロック境界における差分値を示す。物体のエッジは一般に連続性を有し、図14における処理対象ブロックであるブロックXとブロックBの境界に物体のエッジが位置する場合、ブロックAの画素群とブロックBの画素群の差が大きくなる。画素群の差が大きくなると、式(13)(14)の第二項であるブロックAとブロックBの平均であるDCVALの差が大きくなるから、第二項の値をブロック境界検出のための情報に使用することが可能である。
【０１１３】
図15により実施例3の画像解析器101の詳細な構成例を示す。画面内予測器1401は、式(8)(9)(12)-(14)を用いてDC予測を行う。なお、画面内予測器1401は、実施例1と同様の水平予測と垂直予測を行う。画面内予測器1401は、DC予測に伴い、隣接ブロックと参照ブロック間の差分値である式(13)(14)の第二項の値（差分値）をエッジ抽出器1402に伝達する。
【０１１４】
エッジ抽出器1402は、式(13)の第二項の合計値（水平方向の差分値の合計）を水平方向の物体のエッジ情報、式(14)の第二項の合計値（垂直方向の差分値の合計）を垂直方向の物体のエッジ情報として算出する。エッジ抽出器1402は、算出した物体のエッジ情報を解析情報の一部として多重化器306を介して符号化制御器103に伝達する。
【０１１５】
符号化制御器103は、物体のエッジ情報を参照して、主観的に目立ち易い物体のエッジの上で画質劣化が発生しないように適応量子化制御を行う。また、エッジ情報が失われないように変換ブロックサイズを決定することも可能である。
【０１１６】
このように、実施例1の構成にフィルタ処理の中間結果の抽出と、僅かな処理を追加することで、物体のエッジ情報を画像特性情報に追加することができる。その結果、実施例1と同等の低消費電力化を実現しながら、適応量子化制御による更なる高画質化を実現することができる。
【実施例４】
【０１１７】
以下、本発明にかかる実施例4の画像符号化を説明する。なお、実施例4において、実施例1-3と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１１８】
実施例1では、画面内予測のみを用いて各ブロックの符号化を行う例を説明した。実施例4では、画面内予測に加え、動き予測を用いて画面間（フレーム間）予測符号化を行う例を説明する。
【０１１９】
［装置の構成］
図16のブロック図により実施例4の画像符号化装置の構成例を説明する。
【０１２０】
動き予測器153は、所定の動きベクトル探索アルゴリズムによって動きベクトル候補を算出する。なお、特定の動きベクトル探索アルゴリズムには依存せず、一般に使用されるどのような動きベクトル探索アルゴリズムも適用することが可能である。
【０１２１】
次に、動き予測器153は、動きベクトル候補に対応する局所復号画像の画素を動き予測用のメモリ159から読み込んで参照ブロックを生成する。そして、参照ブロックと入力画面のブロックの予測残差についてアクティビティを算出する。
【０１２２】
動き予測器153は、動きベクトル探索アルゴリズムによって算出したすべての動きベクトル候補についてアクティビティを算出すると、最小のアクティビティを有する動きベクトル候補を符号化に使用する動きベクトルに決定する。そして、決定した動きベクトルをエントロピ符号化し、符号化した動きベクトルを多重化器106に伝達するとともに、決定した動きベクトルにおける入力画面のブロックと参照ブロックの予測残差を選択器(SEL)154に出力する。
【０１２３】
符号化制御器103は、画像解析器101が算出したアクティビティ、および、動き予測器1503が探索した動きベクトルに対応するアクティビティを入力する。そして、両アクティビティを比較して、当該ブロックを画面内予測符号化した場合の符号量と、当該ブロックを画面間予測符号化した場合の符号量のどちらが小さいかを予測する。そして、予測結果に基づき選択器(SEL)154と157を制御する。
【０１２４】
選択器(SEL)154は、符号化制御器103の制御に従い、画面内予測器104が出力する予測残差または動き予測器1503が出力する予測残差を選択的に符号化/復号器105に出力する。
【０１２５】
多重化器106は、符号化制御器103により画面間予測符号化が選択された場合は、予測残差をエントロピ符号化した符号データと符号化ブロックパターンに加え、符号化された動きベクトルを多重化した符号化ストリームを出力する。
【０１２６】
動き補償器156は、符号化/復号器105が出力する局所復号予測残差に動き予測に使用された参照ブロックを加算した局所復号画像を選択器(SEL)157に出力する。選択器(SEL)157は、符号化制御器103の制御に従い、画面内補償器107が出力する局所復号画像または動き補償器156が出力する局所復号画像を選択的にポストフィルタ158に出力する。
【０１２７】
ポストフィルタ158は、デブロッキングフィルタなどのフィルタ処理を局所復号画像に施して局所復号画像の画質劣化を低減し、フィルタ処理後の局所復号画像をメモリ159に記録する。メモリ159に記録された局所復号画像は、後続画面の動き予測に使用される参照ブロックの生成に利用される。
【０１２８】
［符号化処理］
図17と図18のフローチャートにより画像解析器101および符号化装置102の符号化処理を説明する。なお、図17と図18は符号化対象の一画面分の符号化処理を示す。また、ステップS101からS106の処理は図10に示す実施例1の処理と同様であり、その詳細説明を省略する。
【０１２９】
画面内予測器104および動き予測器153は入力画面から16×16画素ブロックを取得し(S151)、符号化制御器103は判定予測モードにおいてNot Codedと推定されるサブブロック数NNCと、所定の閾値Nthを比較する(S152)。なお、閾値Nthは、通常の画面内予測を行うか、低消費電力モード符号化を行うかを判定する閾値である。
【０１３０】
ステップS152の判定において、判定予測モードにおけるNot Codedと推定されるサブブロック数が閾値を超える（NNC＞Nth）場合、16×16画像ブロックは画面内予測符号化でも充分な符号量の削減が可能と予測される。そこで、符号化制御器103は、当該16×16画素ブロックを画面内予測符号化するために処理をステップS161に進める。
【０１３１】
一方、判定予測モードにおけるNot Codedと推定されるサブブロック数が閾値以下（NNC≦Nth）の場合、符号化制御器103は、画面内予測符号化の符号量と画面間予測符号化の符号量を比較するために処理をステップS153に進める。動き予測器153は、16×16画素ブロックの動きベクトルを決定し、決定した動きベクトルに対応する参照ブロックと16×16画素ブロックの予測残差を算出して、最小アクティビティを算出する(S153)。
【０１３２】
次に、符号化制御器103は、動き予測器153が算出した最小アクティビティ、および、画像解析器101が算出した予測残差の最小アクティビティを比較して、16×16画素ブロックの符号化方法を決定する(S154)。なお、画像解析器101によるアクティビティの算出はステップS104で行われ、符号化制御器103は、それらアクティビティの中で最小のものを比較に用いる。
【０１３３】
符号化制御器103は、画像解析器101が算出した最小アクティビティの方が小さい場合は当該16×16画素ブロックを画面内予測符号化すると決定して処理を図10に示すステップS109およびステップS110と同様の処理を行う。16×16画素ブロックの全サブブロックの処理が終了したか否かを判定し(S111)、未了の場合は処理をステップS109に戻す。また、16×16画素ブロックの全サブブロックの処理が終了すると処理をステップS163に進める。他方、動き予測器153が算出した最小アクティビティの方が小さい場合は当該16×16画素ブロックを画面間予測符号化すると決定して処理をステップS155に進める。
【０１３４】
画面間予測符号化において、動き予測器153は、ステップS151と同様の動きベクトル探索を4×4画素サブブロック単位に行い、サブブロックの動きベクトルを決定する(S155)。サブブロックの動きベクトル探索は、一般に、ステップS153で決定された動きベクトルが探索開始点になる。そして、詳細は後述するが、動き予測器153および符号化/復号器105などによって、4×4画素サブブロックの画面間予測符号化および局所復号が実行される(S156)。4×4画素サブブロックの処理が終了すると、符号化制御器103は、16×16画素ブロックの全サブブロックの処理が終了したか否かを判定し(S157)、未了の場合は処理をステップS155に戻す。また、16×16画素ブロックの全サブブロックの処理が終了すると処理はステップS163に進む。
【０１３５】
一方、NNC＞Nthの場合、または、画像解析器101が算出した最小アクティビティの方が小さい場合、符号化制御器103は、画面内予測符号化を行うと判定する。そして、注目サブブロックの符号化結果の推定に応じて処理を分岐する(S161)。Codedと推定されたサブブロックの場合、図10に示すステップS113と同様の処理を行い、16×16画素ブロックの全サブブロックの処理が終了したか否かを判定し(S162)、未了の場合は処理をステップS161に戻す。また、16×16画素ブロックの全サブブロックの処理が終了すると処理はステップS163に進む。
【０１３６】
また、判定予測モードにおいてNot Codedと推定されたサブブロックの場合、図11のステップS114と同様の処理（DC係数のみの符号化）を行う。そして、16×16画素ブロックの全サブブロックの処理が終了したか否かを判定し(S162)、未了の場合は処理をステップS161に戻す。また、16×16画素ブロック内の全サブブロックの処理が終了すると処理はステップS163に進む。
【０１３７】
16×16画素ブロックの処理が終了すると、符号化制御器103は、ポストフィルタ処理器158により局所復号画像にフィルタ処理を施し、フィルタ処理を施した局所復号画像をメモリ159に記録する(S163)。以降の処理は、図11に示すステップS121からS124の処理と同様であり、その詳細説明を省略する。
【０１３８】
●画面間予測符号化
図19のフローチャートにより画面間予測符号化(S156)を説明する。
【０１３９】
動き予測器153は、決定した動きベクトルを符号化し、符号化した動きベクトルを多重化器106に伝達する(S201)。そして、決定した動きベクトルに対応する局所復号画像の画素をメモリ159から読み込んで参照ブロックを生成し、参照ブロックとサブブロックの予測残差を算出し、予測残差を選択器(SEL)154に出力する(S202)。
【０１４０】
符号化/復号器105は、ステップS202で算出された予測残差について、図12に示すステップS132からS137と同様の処理を行う。つまり、直交変換(S132)、量子化(S133)、エントロピ符号化(S134)を行って符号データを生成し、量子化値の逆量子化(S135)、逆直交変換(S136)を行って局所復号予測残差を生成する。そして、量子化には適応量子化制御が施された量子化パラメータを用い、サブブロックの各量子化値の符号化結果がCodedかNot Codedかを示す判定結果が符号化制御器103に伝達される(S137)。
【０１４１】
多重化器106は、符号データおよび符号化された動きベクトルを符号化ストリームに多重化する(S203)。動き補償器156は、局所復号予測残差とステップS153で使用された参照ブロックを加算して局所復号画像を生成する(S204)。
【０１４２】
動き予測器153は、符号化および局所復号した、異なる時刻の画面を参照画像として予測を行うため、メモリ159は一画面以上の復号画像を蓄積する必要がある。画像符号化装置102をLSIとして実装する場合、コストを考慮すると、大きなサイズを必要とするメモリ159として、記憶容量当りのコストが安いDRAMチップをLSIの外部に実装することが考えられる。ただし、外部のDRAMのアクセスによる消費電力は、LSI内部のメモリ（例えばメモリ108）のアクセスによって消費される電力よりも大きい。
【０１４３】
適切な動きベクトルを探索するには、動きベクトルの探索範囲をブロックサイズに比べて充分大きくする必要がある（例えば16×16画素ブロックごとに64×64画素）。DRAMから動きベクトル探索範囲の画像データを読み込みながら、多数存在する動きベクトル候補それぞれについて参照ブロックを生成する必要があるため、動きベクトルの探索処理は、一般に、非常に多くの電力を消費する。動きベクトル探索を伴う画面間予測符号化においては、一般に、画面内予測符号化よりも多くの電力を消費する。
【０１４４】
しかし、一般に、画面間予測符号化を画面内予測符号化で代替すると符号量が増加する問題がある。実施例4においては、予め抽出される解析情報を用いて充分符号量の削減が可能であることを確認してから、簡易画面内予測を行うため符号量の増加を抑えることができる。
【０１４５】
実施例1で説明したように、入力画面の中の平坦な領域は画像解析器101による画面内予測処理で充分に符号量を低減することができ、符号化結果がNot Codedと推定されることが多い。低消費電力モード符号化すると判定されたブロックは、画面間予測符号化の代わりに消費電力が少ない画面内予測符号化を行えば、とくに符号化結果がNot Codedと推定されるサブブロックにおいて、大幅に消費電力を低減することができる。
【０１４６】
［変形例］
実施例4においても、実施例1の変形例と同様に、符号化制御器103が符号化装置102の内部処理へのクロック信号を制御するクロック制御機能を備えることが望ましい。低消費電力モード符号化を行うと決まった場合、符号化制御器103は、実施例1のクロック信号の停止に加え、動き予測器1503へのクロック信号を停止して消費電力を削減する。
【０１４７】
また、画像特性情報についても、実施例1と同様に、僅かな処理の追加で画像特性情報を抽出することが可能になり、処理の大きなオーバヘッド（消費電力の増加）なしに、適応量子化制御による高画質化を実現することができる。
【０１４８】
図17から図19に示した処理は、実施例1と同様に、CPUが実行するプログラムとして実装することが可能である。プログラムを実行する際、低消費電力モードに相当する符号化を行うブロックについては、動き予測処理(S153)を省略することが可能であり、処理の高速化を実現することができる。
【０１４９】
また、動き予測単位であるブロックサイズも4×4画素や16×16画素に限定されない。例えば、HEVCで規定される32×32画素や64×64画素のようなブロックサイズも動き予測単位として使用可能である。
【０１５０】
実施例4において、消費電力の削減度合い（または処理の高速化）と符号化効率（発生符号量）はトレードオフの関係にある。図17のステップS107における低消費電力モード符号化の閾値Nthを小さくすると、動き予測を省略するサブブロックが増加して削減される消費電力が大きくなる。しかし、閾値Nthを小さくし過ぎると、符号化結果がCodedと推定されるサブブロックの動き予測が行われ難くなり、符号量の増加する傾向になる。逆に、閾値Nthを大きくし過ぎると、符号量が減少する反面、低消費電力モード符号化するブロックが減少して、消費電力の削減効果は低下する。従って、実施例1と同様に、画像符号化装置を備える撮像機器などにおいて、電池残量に応じた適応制御も実現可能である。
【０１５１】
このように、上記の実施例によれば、例えば画面の中の平坦な箇所において簡易的な画面内予測により画面内予測符号化を行って、画面内予測の予測モードの探索や動きベクトルの探索のために消費される電力を低減することが可能になる。また、消費電力および回路規模を大幅に増大することなく、画像特性情報の抽出を行うことが可能になる。
【０１５２】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ（又はCPUやMPU等）がプログラムを読み出して実行する処理である。
【図１】
2014082639.tif 000003
【図２】
2014082639.tif 000004
【図３】
2014082639.tif 000005
【図４】
2014082639.tif 000006
【図５】
2014082639.tif 000007
【図６】
2014082639.tif 000008
【図７】
2014082639.tif 000009
【図８】
2014082639.tif 000010
【図９】
2014082639.tif 000011
【図１０】
2014082639.tif 000012
【図１１】
2014082639.tif 000013
【図１２】
2014082639.tif 000014
【図１３】
2014082639.tif 000015
【図１４】
2014082639.tif 000016
【図１５】
2014082639.tif 000017
【図１６】
2014082639.tif 000018
【図１７】
2014082639.tif 000019
【図１８】
2014082639.tif 000020
【図１９】
2014082639.tif 000021