(57)【特許請求の範囲】
【請求項１】
画面間スキップモード、イントラモード、及びインターモードの３つの予測方式の何れかの予測モードと、イントラモード又はインターモードが選択される場合に適用される所定のブロックサイズとで規定される符号化モードを選択し、選択された符号化モードで符号化する画像処理装置であって、
学習モードと高速動作モードとを備え、
前記学習モードでは、
学習原画像内のブロック画像を各符号化モードで符号化し、
各符号化モードにおける符号化コストを求め、
前記ブロック画像の空間解像度、ＱＰ、最も符号量が小さくなる符号化モード、及び前記最も符号量が小さくなる符号化モードによる差分信号、の対応関係から、前記高速モードで使用する第１の判定器と第２の判定器と第３の判定器を構築し、
前記高速動作モードでは、
高速処理する画像のブロック画像を符号化する場合に、
画面間スキップモード、前記規定されたブロックサイズの内の１つのブロックサイズに適用したイントラモード、前記規定されたブロックサイズの内の1つのブロックサイズに適用したインターモード、のそれぞれについて差分信号を求めて第１の判定器に入力するとももに、高速処理する画像の空間解像度、ＱＰ、インターモードの場合はさらに差分ベクトル信号を求めて前記第１の判定器に入力することにより、各符号化モード毎の尤度を出力させ、最も尤度の高い符号化モードの予測方式を選択し、
次に、以下の（ａ）乃至（ｃ）の何れかの工程をなすことを特徴とする画像処理装置。
（ａ）前記第１の判定器で、予測方式として、画面間スキップモードが選択された場合には、該画面間スキップモードで予測、符号化を行う。
（ｂ）前記第１の判定器で、予測方式として、イントラモードが選択された場合には、前記規定されたブロックサイズの内の他のブロックサイズに適用したイントラモードについての差分信号を求めて第２の判定器に入力するとももに、高速処理画像の空間解像度、ＱＰを前記第２の判定器に入力することにより、各符号化モード毎の尤度を出力させ、そのうちの最も尤度の高い符号化モードのブロックサイズを選択し、その選択されたブロックサイズを適用したイントラモードで予測、符号化する。
（ｃ）第１の判定器で、予測方式として、インターモードが選択された場合には、前記規定されたブロックサイズの内の他のブロックサイズに適用したインターモードについての差分信号と差分ベクトル情報を求めて第３の判定器に入力するとももに、高速処理画像の空間解像度、ＱＰ、差分ベクトル情報を前記第３の判定器に入力することにより、全ブロックサイズに適用したインターモードの各尤度を出力させ、最も尤度の高い符号化モードのブロックサイズを選択して、選択されたブロックサイズを適用したインターモードで予測、符号化する。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像を符号化するための技術に関する。
【背景技術】
【０００２】
画像の圧縮符号化処理において、当該処理に用いられる最適な圧縮パラメータを得るために学習機能を利用することが知られている。例えば特許文献１には、観測者が圧縮パラメータを変更しつつ客観的画質評価を行い、この評価により画質が良いとされた画像の圧縮パラメータを用いて画像の統計的性質をニューラルネットワークによる学習し、最適な圧縮パラメータを生成することが開示されている。
【０００３】
【特許文献１】特開平７−１８４０６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ネットワークを介して映像ストリームを配信する場合や、受信したテレビジョン映像信号を圧縮してハードディスクに随時格納する場合は、リアルタイムに符号化画像を生成する必要があるため画像の符号化処理を高速化する必要がある。このような場合には、高画質と符号化処理の高速化の両立が要求されるが、上記特許文献１はこのようなことについては考慮されていない。また、特許文献１は、観測者によって変更された圧縮パラメータを用いて学習しているため、装置の実使用時においてリアルタイムに学習することができず、好適なパラメータを得ることが困難となる。
【０００５】
本発明は、上記課題に鑑みて為されたものであって、その目的は、符号化処理を高速化させつつ高画質を得るのに好適な技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、入力画像を符号化するための符号化モードを所定の演算モデルを用いて判定する第１モード判定部と、該第１モード判定部によって判定された符号化モードとそれに対応する画像の状態に関する情報とを教師信号として、該符号化モードと該情報との対応関係についての統計情報を学習する第２のモード判定部を備えることを特徴とする。
【０００７】
上記のような構成において、例えば上記第１及び第２のモード判定部を備える装置の初期使用時においては、上記第１の判定部を選択し、所定の演算モデル（例えばRD-Optimization方式）に従い符号化モードの判別を行う。このとき、第２の判定部は、その判別結果の統計をそのときの画像状態に対応させて学習する。そして、例えば所定時間経過後に第２の判定部を選択し、これにより符号化モードを判定するようにすれば、様々な状態の画像に対して適した符号化モードを、上記学習の結果に応じて所定の演算モデルを用いることなく迅速に判別することができる。このとき、第２の判別部は、学習の結果として得られた、画像状態毎に対応した最も尤度の高い符号化モードを選択して判別することが好ましい。
【０００８】
上記第１及び第２のモード判定部の選択は、符号化モードを切り替えるための切替部に対する操作に応答するようにしてもよい。
【発明の効果】
【０００９】
本発明によれば、符号化処理を高速化させつつ高画質を得ることが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【実施例１】
【００１１】
まず、本発明が適用され得る画像処理装置の一例について図１２を用いて説明する。本実施例では、画像処理装置としてＨＤＤ（ハードディスクドライブ）や半導体メモリ（例えばフラッシュメモリ）等の記録媒体を内蔵するテレビジョン受信機を例にして説明するが、符号化処理を有する装置であれば、どのようなものにでも適用できる。例えば、ビデオカメラ、カメラ機能を内蔵した携帯電話、ＨＤＤレコーダ、ＤＶＤレコーダ等にも本発明は同様に適用できる。
【００１２】
図１２において、画像取込部１は、例えばテレビジョン信号を受信するチューナであり、ここで取り込まれた画像は符号化部２に供給される。符号化部２は、入力された画像に対して符号化処理を行って圧縮符号化し、例えばＨＤＤなどの記録媒体を含む記録部３に供給される。ここで、符号化部２は、MPEG 2 (Moving Picture Experts Group)、MPEG-4、H.264/AVC (Advanced Video Coding)規格等の所定の符号化方式を用いて画像の符号化処理を行う。本実施例では、MPEG-4と比べて２倍程度の圧縮率で動画像の符号化を行うことが可能なH.264/AVC規格で符号化処理を行うものとするが、これに限られるものではない。当然ながら、他の符号化方式も使用することができる。
【００１３】
記録部３は、符号化部２によって圧縮符号化された画像を記録する。記録部３から読み出された画像は、復号部４によって復号されて映像信号として信号処理部５に供給される。信号処理部５では、上記映像信号に対し例えば色補正、コントラスト補正、ガンマ補正などの所定の信号処理を施して、例えばＰＤＰ(plasma display panel)または液晶パネル等で構成された表示部６に供給する。表示部６では、供給された映像信号に応じて画像の表示を行う。また制御部７は、例えばＣＰＵで構成されており、画像取込部１、符号化部２、記録部３、復号化部４、及び信号処理部５に対して制御信号を供給して各部の制御を行う。また制御部７は、ユーザからの指令が入力される指令入力端子と電気的に接続されており、ユーザの指令に応じて上記符号化部２を制御するように構成される。
【００１４】
かかる画像処理装置は、例えばテレビジョン信号をリアルタイムに画像を圧縮符号化してＨＤＤ等の記録媒体に随時記録するため、符号化部２における符号化処理を高速にする必要がある。また、表示部６に表示される画像の画質劣化が抑制されるように、符号化処理を行うことが望まれる。そのために本実施例では、符号化部２における符号化処理、特に符号化処理を行う際に用いられる符号化モードを判別する処理に、学習機能を持たせて当該判別処理を高速化したものである。以下、本実施例に係る符号化処理の詳細について説明する。ここで、符号化モードとは、画面内(Intra)符号化モード、画面間スキップ(PSkip)符号化モード、画面間(Inter)符号化モードや、更にはブロックマッチング処理を行う際のブロックの種類やサイズ（例えば8×8、8×4、4×8、4×4のブロック）、更にはこれらの組み合わせ等を含むものとする。
【００１５】
図１は、図１２に示された符号化部２の一具体例を示している。上記画像取込部１からの画像のストリームは、原画像メモリ(101)に入力され原画像のデータとして記憶される。原画像メモリ(101)から読み出された原画像は、ブロック分割部(102)に供給される。ブロック分割部(102)は、原画像を予め設定された数種類の大きさを持つ複数のブロックに分割して動き探索部(103)、予測画像生成部(104)、第１のモード判定部である学習用モード判定部(107)、及び第２のモード判定部である高速動作モード判定部(108)にそれぞれ供給される。動き探索部(103)では、ブロック分割部(102)からのブロック画像と参照画像メモリ(106)に保持されている参照画像とを用いて、上記ブロック画像と相関性の高い（すなわち当該ブロック画像との差分が最も小さい）参照画像内のブロックを探索する。そして上記ブロック画像と相関性が高いとされた参照画像内のブロックとを用いて、当該ブロック画像における動きベクトルを計算する。この動きベクトルは、予測画像生成部(104)と第１スイッチ部(110)に供給される。予測画像生成部(104)では、動き探索部(103)からの動きベクトル情報等を用いて各符号化モードで符号化した場合の予測画像を作成し、第１スイッチ部(110)に供給する。
【００１６】
第１のスイッチ部(110)は、制御部７からの制御信号に応答して、ブロック分割部(102)からのブロック画像、動き探索部(103)からの動きベクトル、及び予測画像生成部(104)からの予測画像を、学習用モード判定部(107)及び高速動作モード判定部(108)のいずれかに供給するように切り替えられる。
【００１７】
学習用モード判定部(107)では、所定の演算モデルに従い、入力された予測画像とブロック画像との差分信号を生成し、この差分信号と入力された動きベクトルを用いて各モードの符号化コストを算出して最適な符号化モードを判定する。そして学習用モード判定部(107)は、判定された符号化モードと、その符号化モードに対応する画像の状態に関する情報（すなわち、当該符号化モードの判別に必要な情報）を含む学習データを、教師信号として高速動作モード判定部(108)に出力する。
【００１８】
高速動作モード判定部(108)は、上記学習データである教師信号を用いて、上記画像の状態に関する情報と符号化モードとの対応関係についての統計とって学習動作を行う。つまり、高速動作モード判定部(108)は、上記教師信号を用いて得られた統計情報から、画像状態毎に判別される尤度の高い符号化モードを学習する。そして高速動作モード判定部(108)に、ある画像状態の画像が入力されたときに、上記学習の結果に従って、当該画像状態に対応する最高尤度の符号化モードを選択して判別する。
【００１９】
第２スイッチ部(111)は、制御部７からの制御信号に応答して、学習用モード判定部(107)及び高速動作モード判定部(108)からのいずれか一方の符号化モードを選択するように構成されている。すなわち、第２スイッチ部(111)は、学習用モード判定部(107)及び高速動作モード判定部(108)からのいずれか一方の符号化モードが符号化処理部(109)に供給されるように切替動作を行う。尚、第１のスイッチ部(110)及び第２スイッチ部(111)は、学習用モード判定部(107)を使用するときはいずれも学習用モード判定部(107)を選択し、高速動作モード判定部(108)を使用するときは、いずれも高速動作モード判定部(108)を選択するように動作する。
【００２０】
符号化処理部(109)は、上記第２スイッチ部(111)からの符号化モードを用いて符号化ストリームを生成して図１２に示された記録部３に供給する。また、この符号化ストリームは、復号処理部(105)にも供給され、ここで復号処理が行われる。復号処理部(105)で復号された画像は、上記参照画像として参照画像メモリ(106)に記憶される。
【００２１】
次に、学習用モード判定部(107)について説明する。本実施例に係る学習用モード判定部(107)は、ブロック単位で上記符号化モードを決定するための演算モデルとして、例えば高い圧縮率を得るために有利なRD-Optimization方式と呼ばれるアルゴリズムを上記所定の演算モデルとして用いている。このRD-Optimization方式については、例えば下記参考文献１に紹介されている。
〔参考文献１〕G. Sullivan and T. Wiegand : "Rate-Distortion Optimization for Video Compression", IEEE Signal Processing Magazine, vol. 15,no. 6, pp.74-90, (November, 1998).
RD-Optimization方式では、次のようにして符号化モードを決定している。まず、候補となるすべてのモードで該当マクロブロックの予測画像を生成して原画像との差分信号を生成し、DCTと量子化を施して一度仮符号化を行う。次に、その仮符号化したデータをIDCT(Inverse DCT：逆離散コサイン変換)と逆量子化を施して復号する。そして、その復号されたデータから実際の画像の歪み量と発生符号量を測定してラグランジュ未定乗数法で最適化する。これによって、画質劣化が極力少なくなる符号化モードを決定している。一般的にこの方式は理想的なモードの選択を行うことが可能であることが知られている。
【００２２】
しかしながら、かかる方式は、仮符号化と復号を行う処理の演算量が非常に大きく多大な時間を要する。このため、差分信号に対して符号化・復号処理を行わずに符号化後の画質を予測してモード選択を行うことで高速化を図る手法も提案されている。例えば、H.264標準化リファレンスソフトであるJM(Joint Model)は、RD-Optimization方式を用いない高速化方式が導入されている。しかしながら、JMに導入される高速化方式は、モード判定に利用する符号化コストを主に予測誤差の一次式で近似するため、予測精度が十分ではなく画質が低下する。更に、候補となるすべての符号化モードに対して予測画像を生成するため演算量も大きい。
【００２３】
従って、本実施例では、高画質を維持するのに好適なRD-Optimization方式を学習用モード判定部(107)における演算モデルとして用いている。かかる学習用モード判定部(107)の一具体例を図２に示す。図２において、差分信号生成部(201)は、上記第１スイッチ部(110)を介して供給された予測画像と原画像（ブロック画像）を用いて、当該ブロック内の画素毎に差分値を計算する。この差分値は、符号化処理部(202)と教師信号生成部(206)に供給される。符号化処理部(202)では、入力された差分信号に対して、指定されたサイズ（例えば8×8）でブロック単位のDCT(Discrete Cosine Transformation：離散コサイン変換)と量子化を行う。この符号化処理で得られたDCT係数と量子化パラメータは、復号処理部(203)に供給される。
【００２４】
復号処理部(203)では、符号化されたデータに対して逆量子化とIDCT(Inverse DCT：逆DCT)を行って差分信号に復号してコスト計算部(204)に出力する。コスト計算部では、復号された差分信号と、第１のスイッチ部(110)を介して入力された動きベクトル情報とに基づいて該当モードの符号化コストを計算してモード決定部(205)に供給する。モード決定部(205)では、符号化コストの最も小さい符号化モードを最適モードとして選択して決定し、その結果を第２のスイッチ部(111)と教師信号生成部(206)に出力する。
【００２５】
教師信号生成部(206)は、上記差分信号生成部(201)からの差分信号とモード決定部(205)からの符号化モードに基づいて、高速動作モード判定部(108)で利用される学習データとしての教師信号を生成し、これを高速動作モード判定部(108)に供給する。すなわち、本実施例に係る高速動作モード判定部(108)は、RD-Optimization方式による符号化モード判別処理をモデルとして、その入力（画像の状態としてのブロック画像と予測画像との差分及び動きベクトル）に対する出力（符号化モード）を学習するようにしている。
【００２６】
続いて、本実施例に係る高速動作モード判定部(108)を説明する。図３は、本実施例に係る高速動作モード判定部(108)の基本的構成を示しており、該高速動作モード判定部(108)は、予測画像と原画像の差分信号を生成する差分信号生成部(301)と、多段に接続された判別部(302)〜(306)を備える。本実施例に係る高速動作モード判定部(108)は、各動作モードにおいて、次のように動作する。
（１）学習モード：
このモードは、学習用モード判定部(107)において実行される所定演算モデルに従った符号化モード判別の処理結果とそれに対応する画像状態の情報を用いて、学習を行うモードである。このとき、第１のスイッチ部(110)は、学習用モード判定部(107)を選択しており、ブロック分割部(102)からのブロック画像、動き探索部(103)からの動きベクトル、及び予測画像生成部(104)からの予測画像は高速モード判定部(108)に供給されず、学習用モード判定部(107)に供給される。尚、第２のスイッチ部(111)も学習用モード判定部(107)を選択しており、学習用モード判定部(107)における演算結果である符号化モードが第２のスイッチ部(111)を介して符号化処理部(109)に供給される。
【００２７】
上記のように、学習モードにおいてはブロック画像、動きベクトル及び予測画像は高速動作モード判定部(108)に供給されないが、学習用モード判定部(107)からの教師信号が供給される。この教師信号は、多段に接続された複数の判定部(302)〜(306)のそれぞれに入力される。判定器(302)〜(306)は、それぞれ学習用モード判定部(107)での演算結果である符号化モードと画像状態に関する情報との対応関係についての統計を取る。そしてその統計情報によって、学習用モード判定部(107)に入力（つまり画像状態）と出力（つまり判別された符号化モード）との関係を学習する。尚、第１段階判定部(302)は大まかな符号化モードの判定を行い、必要に応じて、それに接続される第２段階判定部１(303)、第２段階判定部ｎ(304)、及び／または第ｓ段階判定部１(305)、第ｓ段階判定部ｍ(306)にて詳細な判別を行ってもよい。ここで、ｎ、ｓ、ｍは２以上の整数である。すなわち、第２段階判定部及び第ｓ段階判定部は、それぞれ複数（ｎまたはｍ個）で構成するようにしてもよい。
（２）高速動作モード：
このモードは、高速動作モード判定部(108)における各判定部での学習結果を利用して高速に（上記学習用モード判定部(107)における演算処理よりも速く）符号化モードを判別するモードである。このとき、第１のスイッチ部(110)は、高速動作モード判定部(108)を選択しており、ブロック分割部(102)からのブロック画像、動き探索部(103)からの動きベクトル、及び予測画像生成部(104)からの予測画像は高速モード判定部に供給される（当然、これらは学習用モード判定部(107)には供給されない）。尚、第２のスイッチ部(111)も高速動作モード判定部(108)を選択しており、高速動作モード判定部(108)における判定結果である符号化モードが第２のスイッチ部(111)を介して符号化処理部(109)に供給される。
【００２８】
入力されたブロック画像と予測画像は、差分信号生成部(301)に入力される。差分信号生成部(301)は、ブロック画像を原画像としてこの原画像と予測画像との差分を画素毎に計算し、第１段階判定部(302)に供給する。第１段階判定部(302)では、差分信号生成部(301)からの差分信号と動きベクトルの情報とを画像状態として入力し、これに対応する符号化モードを上記学習した統計情報を利用して選択し判別する。ここで選択される符号化モードは、当該入力された画像の情報に対して、上記所定演算モデルで判別される尤度の最も高い符号化モードとする。すなわち、高速動作モード判定部(108)は、上記学習によって、画像の状態毎に対応する符号化モードの尤度を把握する。そして、ある画像が入力されたときに、その画像状態に対応する最も尤度の高い符号化モードを選択すれば、所定演算モデルである例えばRD-Optimization方式による演算を行わなくとも最適な符号化モードを得ることができる。
【００２９】
第１段階判定部(302)では符号化モードの大まかな判定を行った後、判定結果に応じてモード判定処理を終了するか、もしくは第２段階判定部(303)(304)のうちどの判別部を次の判定処理に利用するかを決定する。このような判定処理を多段的に行う。そして最終段階である第s段階判定部(305)(306)では、ほぼ確実に最適な符号化モードが決定され、モード判定処理を終了する。これら判別部で判定された最適な符号化モードは、上記学習用モード判定部(107)の出力に代えて、第２のスイッチ(111)を介して符号化処理部(109)に供給する。
【００３０】
これら判定部は、学習の機能を利用していれば具体的な方法は問わない。例えば、ニューラルネットワーク、カーネル法に基づくSVM(Support Vector Machine)、k近傍法などを利用した非線形判別器を用いてもよい。またSVM、線形判別式分析などを利用した線形判別器を用いてもよい。更に、候補となる符号化モードで符号化を行った際の尤度を計算してもよい。更にまた、ベイズネット、隠れマルコフモデル、決定木学習など確率的な手段によって判定規則そのものを学習させてもよい。また、ブースティングを利用するなどの手段により、複数の判別器を組み合わせてもよい。
【００３１】
次に、本発明に係る高速動作モード判定部(108)の一具体例について図４〜図７を参照しつつ説明する。これは、図３に示された各判別部(302)〜(306)をニューラルネットワークで構成した例を示している。本具体例は、16×16ピクセルサイズのマクロブロック単位で、4×4または16×16ブロックの画面内(Intra)予測方式、16×16ブロックの画面間スキップ(PSkip)方式、8×8、8×16、16×8または16×16ブロックの画面間(Inter)予測方式の合計7種類の符号化モードから、最適な符号化モードを選択する。ここで、画面間スキップ(PSkip)方式とは、差分情報を用いずに、動きベクトルで示された参照画像内のブロックの画像をそのまま使用する方式である。
【００３２】
本例に係る高速動作モード判定部(108)は、予測画像と原画像の差分信号を生成する差分信号生成部(401)と、Intra方式、PSkip方式、Inter方式の中から最適な符号化方式を選択するニューラルネットワーク１(402)からなる第１段階判定部とを備える。更に、Intra方式の中で最適なブロックサイズを決定するニューラルネットワーク２(403)とInter方式の中で最適なブロックサイズを決定するニューラルネットワーク３(404)の２種類の判定部からなる第２段階判定部を備える。
【００３３】
学習モードにおいては、図３に示された例と同様に、各ニューラルネットワークは学習用モード判定部(107)からの教師信号が入力されており、この教師信号を用いて画像状態に関する情報と符号化モードとの対応関係の統計をとり、学習を行う。
【００３４】
高速動作モードでは、第１のスイッチ部(110)からのブロック画像と予測画像とが、差分信号生成部(401)に入力される。差分信号生成部(401)では、入力されたブロック画像を原画像としては、予測画像との差分を画素毎に生成してニューラルネットワーク１(402)に供給する。ニューラルネットワーク１(402)は、この入力された差分信号に対応する最適な符号化モードを、Intra方式、PSkip方式、Inter方式の中から選択する。ここでの選択は、第３図の例と同様に、Intra方式、PSkip方式、Inter方式の中で最も尤度の高いものを選択するように構成する。PSkipモードが選択された場合は、その結果を第２のスイッチ(111)へ出力して符号化モードの選択処理を終了する。一方、Intra方式が選択された場合は、符号化処理の際の最適なブロックサイズを決定するために、ニューラルネットワーク２(403)で引き続き判定処理を行う。また、Inter方式が選択された場合は、符号化処理の際の最適なブロックサイズを決定するために、ニューラルネットワーク３(404)で引き続き判定処理を行う。ニューラルネットワーク２(403)、ニューラルネットワーク３(405)では、各符号化方式に対して、学習して得られた最適なブロックサイズ（すなわち各符号化方式に対して最も尤度の高いブロックサイズ）を選択する。その結果を第２のスイッチ(111)へ出力してモード選択処理を終了する。
【００３５】
ここで、ニューラルネットワークとは、複数のしきい値論理ユニットを入力層から出力層まで階層的に配置したネットワークのことである。フィードフォーワード型のネットワークでは、ユニット間の結合は隣接する層間でのみ存在し、かつ入力層から出力層へ向かう一方向である。結合されたユニット間には結合の重み付けが与えられ、上位階層のユニットへの入力は、下位階層のユニット群が出力する値の積和となる。学習を行う際には、出力層で所望の結果が得られるようにこれらの重み付けを調整する。ニューラルネットワークを利用して符号化モードの選択規則を多次元で近似することで、予測誤差を一次式で算出するJMの高速化手法に比べて、主に符号化コストについて高精度の予測を行うことが可能になる。
【００３６】
図５は、図４に示されたニューラルネットワーク１(402)の一具体例が示されている。本例に係るニューラルネットワーク１(402)は、入力層に５個、出力層に３個のユニットを持つフィードフォーワード型のネットワークである。また、中間層に関しては層数、ユニット数ともに特に指定されていないが、例えば７個のユニットを持つ１層の中間層を設定してもよい。このニューラルネットワーク１には、学習用モード判定部(107)からの教師信号に含まれる学習データとして、例えばQP(Quantization Parameter：量子化パラメータ)、空間解像度、4×4ブロックのIntraモード(I4x4)で予測したときの予測歪み（差分信号）、PSkipモードで予測したときの予測歪み、8×8ブロックのInterモードで予測したときの予測歪みが入力される。尚、予測歪とは、あるブロックにおける画素毎の原画像と参照画像との差分の総和であり、以下では差分信号と呼ぶ場合も有る。
【００３７】
そしてこれらの情報、信号が入力されると、Intraモード、PSkipモード、Interモードの各モードで符号化した場合の尤度が出力される。これら３つの符号化モードに対する尤度の内、最も高いものを最適な符号化方式とされる。ここで、図５に示された入力において最も尤度の高い符号化方式が例えばInterモードである場合、高速動作モードで同じような入力があったときは、Interモードが選択される。
【００３８】
図６は、図４に示されたニューラルネットワーク２(403)を一具体例が示されている。ニューラルネットワーク２(403)は、入力層に４個、出力層に２個のユニットを持つフィードフォーワード型のネットワークである。また、中間層に関しては層数、ユニット数ともに特に指定されていないが、例えば５個のユニットを持つ１層の中間層を設定してもよい。このニューラルネットワーク２には、学習用モード判定部(107)からの教師信号に含まれる学習データとして、例えばQP、空間解像度、4×4ブロックのIntraモード(I4x4)で予測したときの差分信号、16×16ブロックのIntraモード(I16x16)で予測したときの差分信号が入力される。そしてこれらの情報、信号が入力されると、I4x4モード、I16x16モードで符号化した場合の尤度が出力される。これら２つの符号化モードに対する尤度の内、最も高いものを最適な符号化方式とされる。ここで、図６に示された入力において最も尤度の高い符号化方式が例えばI4x4モードである場合、高速動作モードで同じような入力があったときは、I4x4モードが選択される。
【００３９】
図７は、図４に示されたニューラルネットワーク３(404)を一具体例が示されている。ニューラルネットワーク３(404)は、入力層に１１個、出力層に４個のユニットを持つフィードフォーワード型のネットワークである。また、中間層に関しては層数、ユニット数ともに特に指定されていないが、例えば１０個のユニットを持つ１層の中間層を設定してもよい。この例では、16×16サイズのマクロブロックは、さらに4個の8×8ブロックに分割されるものとする。このニューラルネットワーク３には、学習用モード判定部(107)からの教師信号に含まれる学習データとして、QP、空間解像度、8×8ブロック単位で算出したベクトルの差分情報、8×8ブロック単位で算出した差分信号情報が入力される。そしてこれらの情報、信号が入力されると、8×8ブロックのInterモード(P8×8)、8×16ブロックのInterモード(P8×16)、16×8ブロックのInterモード(P16×8)、16×16ブロックのInterモード(P16×16)で符号化した場合の尤度が出力される。ここで、図７に示された入力において最も尤度の高い符号化方式が例えばP16×8モードである場合、高速動作モードで同じような入力があったときは、P16×8モードが選択される。
【００４０】
一般的に、動画像を符号化する際の処理時間の大半が、画面間予測を行うための動き探索部(103)で消費されている。そのため、Inter予測モードにおける予測画像と原画像の差分信号を生成するための計算コストは非常に大きい。よって、Interモードのすべてのブロックサイズについて差分信号を生成し、ニューラルネットワーク３(404)に入力すると莫大な計算時間がかかる。そのため、本例では、8×8ブロックのInterモードに対してのみ動き探索を行って予測信号を生成することで高速化を実現している。一方、Intra予測モードにおいて、予測画像と原画像との差分信号を生成するための計算コストはそれほど大きくない。そのため、本例に係るニューラルネットワーク２(403)では、Intra予測モードのすべてのブロックサイズで差分信号を生成して入力することで、予測精度を高めている。このように、本実施例では、予測信号を生成する処理負荷の大きさに応じて入力パラメータを調整することで、画質と処理速度を向上するようにしている。
【００４１】
上述した本実施例における高速動作モード判定処理部(108)の処理の流れを図８に示す。まずステップ802で、３種類の符号化モードI4x4、PSkip、P8×8で差分信号を生成し、ニューラルネットワーク１へ入力する。次にステップ803で、ニューラルネットワーク１(402)がPSkipモードを選択したか、つまりPSkipモードの尤度が最も高いかを判定する。その判定の結果、「yes」であるならば、該当マクロブロックの最適符号化モードはPSkipであるとしてステップ807へ進み、モード選択処理を終了する。また、ステップ803における判定がが「no」である場合はステップ804へ進む。
【００４２】
ステップ804では、ニューラルネットワーク１(402)がIntraモードを選択したか、つまりIntraモードの尤度が最も高いかを判定する。その判定の結果、「yes」であるならばステップ805へ進む。ステップ805では、Intraモードにおけるもう一つのブロックサイズI16×16で差分信号を作成してI8×8の差分信号とともにニューラルネットワーク２(403)へ入力する。そして、ニューラルネットワーク２(403)出力層において最も尤度の高い符号化モードを最適モードとして選択し、ステップ807へ進んで選択処理を終了する。
【００４３】
一方、ステップ804での判定の結果、「no」である、すなわちニューラルネットワーク１がInterモードを選択したならば（つまりInterモードの尤度が最も高ければ）ステップ806へ進む。ステップ806では、P8×8の差分信号と動きベクトル情報をニューラルネットワーク３(404)へ入力する。そしてその出力層において最も尤度の高い符号化モードを最適モードとして選択し、ステップ807へ進んでモード選択処理を終了する。
【００４４】
上記ニューラルネットワークを用いた学習の手法については、本実施例では特に限定されないが、例えば誤差逆伝播法(BP法:Back Propagation method)を利用すれば大きな効果が見られる。BP法については、例えば下記参考文献２の第３章に詳しく解説されている。
〔参考文献２〕石井 健一郎, 上田 修功, 前田 英作, 村瀬 洋:”わかりやすいパターン認識”, オーム社, 1998.
また上記の実施例では、RD-Optimization方式の選択規則を学習しているが、学習させる選択規則はこのような客観的判断に基づくものでなくてもよい。例えば、人による画質評価のような主観的判断に基づくものでも構わない。
【００４５】
さらに、上記学習用モード選択部(107)及び高速動作モード判定部(108)で用いられる予測信号の作成順序は問わない。例えば、マクロブロック単位で動きベクトルを探索してモードの選択を行ってもよいし、画面単位あるいはスライス単位で一括してベクトル探索を行った後でモード選択を行ってもよい。
【００４６】
また、高速動作モード判定部(108)において、符号化モードの選択を行うのと同時に動きベクトルの補正を行うことで、さらなる高速化が可能になる。例えば、動き探索部(103)に対して、時間をかけて小数精度まで探索を行う学習用動き探索部と、整数精度までの探索しか行わない高速動作動き探索部の２種類を用意して両者の結果の差分情報を学習するようにしてもよい。そして、高速動作モード判定部(108)で画面間予測方式が最適であると判断された場合には、学習された統計情報を基に動きベクトル量の補正を行ってもよい。これにより、高速で動き探索を行うことができるようになる。
【００４７】
上記本実施例の構成によれば、高速かつ高画質で動画像を符号化することが可能になる。また、利用者の環境下で定期的に学習を繰り返すことで、利用環境に適した符号化モードを判別して符号化を行えるようになり、より画質を向上させることができる。例えば本実施例に係る画像処理装置をデジタルカメラに適用した場合、当該デジタルカメラの購入後しばらく学習モードで撮影を行ってパラメータの調整を行うことで、カメラの特性や撮影環境に応じた適切な符号化モードを学習することができる。そして、しばらく学習モードで撮影した後に高速動作モードで撮影すれば、当該高速動作モードは学習モードで学習した結果を反映し、様々なシーンに応じて高速に最適な符号化が行える。また、本実施例によれば、画像処理装置の使用時間が長くなれば、その分様々な画像に対する学習結果が蓄積されるので、使用する時間が長くなるほど符号化に係る時間が短縮される。
【００４８】
このようなモードの切替は、当該画像処理装置のユーザの手動により切り換えてもよい。例えば、デジタルカメラに手動スイッチやメニュー画面を表示させ、これに対する操作に応答して符号化のモードを選択、切替してもよい。この手動で入力された指令に応答して、制御部９は、上述した第１のスイッチ部(110)及び第２のスイッチ部(111)を制御する。つまり、ユーザが学習モードを選択したときは、制御部９は、第１のスイッチ部(110)及び第２のスイッチ部(111)が学習用モード判定部(107)を選択するように制御する。一方、ユーザが高速動作モードを選択したときは、制御部９は、第１のスイッチ部(110)及び第２のスイッチ部(111)が高速動作モード判定部(108)を選択するように制御する。
【００４９】
上記学習用モード判定部(107)と高速動作モード判定部(108)との切り替えは、上記のようにユーザの指示によって手動で行ってもよいし、自動的に行っても構わない。自動的に行う場合は、例えば学習モードの動作時間を基に切り替えるようにしてもよい。例えば、本実施例に係る画像処理装置が適用されたデジタルカメラの場合、ユーザにおける初期使用（初期動作）時は、自動的に学習モードを選択するように、上記制御部９が第１及び第２のスイッチ部を制御する。制御部９は、カウンタ機能を有しており、当該装置を最初に使用してからの動作時間、つまり学習モードで動作した時間をカウントする。そしてそのカウント値が72時間を超えた場合、制御部９は自動的に高速動作モードを選択するように上記第１及び第２のスイッチ部を制御する。すなわち、この例では、上記72時間の学習モードの動作を、いわゆる「ならし動作」としている。この「ならし動作」終了後に、高画質で高速な符号化が行えるようになる。
【００５０】
当然、モードの切替は、手動と自動の両方を組み合わせてもよい。上記「ならし動作」終了後も、撮影シーンが変化すれば、その都度手動で学習モードを選択するようにしてもよい。
【００５１】
上記自動的なモード切替において、例えば学習用モード判定部(107)は処理時間が大きいため、学習モードにおいてはフレームレートを落とすなどの工夫を行って処理速度を向上させてもよい。これにより、処理速度を落とすことなく両者を切り替えて利用することが可能になる。また、両者を並行して動作させる場合には、通常は一方のみが動作している状態で、一部の期間もしくは時間では両者が並行して動作するようにしても構わない。
【００５２】
さらに、本実施例では、撮影環境に特化した符号化処理を構築することが可能である、このため、テレビ会議システムや監視システムなど、撮影する場所や映像の性質がある程度限定される場合に、本実施例に係る符号化処理を利用すると特に効果的である。
【実施例２】
【００５３】
次に、本発明の第２実施例について、図９〜図１１を参照しつつ説明する。本実施例は、制御部９がＣＰＵで構成される場合に、このＣＰＵの負荷、つまりＣＰＵの使用率に応じて学習モードと高速動作モードとを自動的に切り替えるようにしたものである。本実施例は、制御部９に代えて、もしくは制御部９にＣＰＵ使用率計測部(190)を設け、これにより第１のスイッチ(110)及び第２のスイッチ(111)を制御する点が第１実施例と異なっている。その他の点については第１実施例と同様である。
【００５４】
本実施例に係るＣＰＵ使用率計測部(190)は、例えばＣＰＵのリソースの空きがあるかを計測し、もし空きが有る場合に高速モード判定部(108)と並行して学習用モード判定部(107)を動作させるように第１及び第２スイッチを切り替えるように制御する。つまり本実施例では、高動作速モード判定部(108)は常に動作しており、部分的に学習用モード判定部(107)が動作してその結果を高速動作モード判定部(108)に反映させるようにしている。
【００５５】
このように構成すれば、本実施例が適用される画像処理装置の利用回数が多くなるにつれて、符号化効率が向上する特徴がある。図１０は、一定のビットレートで符号化を行った場合における、本実施例に係る画像処理装置の使用時間と歪み量との関係を示している。また図１１は、本実施例に係る画像処理装置の使用時間とビットレートとの関係を示している。各図において、時刻t1から時刻t2まで、時刻t3から時刻t4まで、及び時刻t5から時刻t6までの３区間で、学習用モード判定部(107)が選択されて動作されるものとする。この図から明らかなように、学習用モード判定部(107)が高速動作モード判定部(108)と並行して動作する期間は、符号化効率が徐々に向上されている。すなわち、図１０から、学習を行うことにより画質が向上することが、図１１から、学習を行うことにより発生符号量が減少することが理解される。
【００５６】
このように、本実施例によれば、利用回数に応じて符号化処理が高速化されるとともに、符号化に伴う画質劣化が低減され画質が向上される。
【産業上の利用可能性】
【００５７】
本発明は、例えばハードディスクレコーダ、携帯電話、デジタルカメラ、監視システム、テレビ会議システム等の動画像を符号化する機能を備えた画像処理装置に適用され得る。
【図面の簡単な説明】
【００５８】
【図１】第１実施例に係る符号化部の一構成例を示す図
【図２】学習用モード判定部107の一具体例を示す図
【図３】高速動作モード判定部108の基本的構成の一例を示す図
【図４】高速動作モード判定部108の一具体例を示す図
【図５】図４に示されたニューラルネットワーク１(402)の一具体例を示す図
【図６】図４に示されたニューラルネットワーク２(403)の一具体例を示す図
【図７】図４に示されたニューラルネットワーク３(404)の一具体例を示す図
【図８】高速動作モード判定部108における符号化モード判定の処理の流れを示す図
【図９】本発明に係る第２実施例の一構成例を示す図
【図１０】第２実施例の効果を示す図
【図１１】第２実施例の効果を示す図
【図１２】本発明が適用される画像処理装置の一構成例を示す図。
【符号の説明】
【００５９】
１０１…原画像メモリ、１０２…ブロック分割部、１０３…動き探索部、１０４…予測画像生成部、１０５…復号処理部、１０６…参照画像メモリ、１０７…学習用モード判定部、１０８…高速動作モード判定部、１０９…符号化処理部、１１０…第１のスイッチ、１１１…第２のスイッチ。
【図１】
0004735375.tif 000002
【図２】
0004735375.tif 000003
【図３】
0004735375.tif 000004
【図４】
0004735375.tif 000005
【図５】
0004735375.tif 000006
【図６】
0004735375.tif 000007
【図７】
0004735375.tif 000008
【図８】
0004735375.tif 000009
【図９】
0004735375.tif 000010
【図１０】
0004735375.tif 000011
【図１１】
0004735375.tif 000012
【図１２】
0004735375.tif 000013