以下に、発明を実施するための形態について図面を参照して説明する。
(実施の形態1) 動画像符号化装置および動画像復号装置の基本構成と動作.
まず、本発明の実施の形態1における動画像符号化装置を説明する。図1は、本発明の実施の形態1における、動画像符号化装置100の構成図である。図2は、本発明の実施の形態1における、動画像符号化装置100の各部と符号化制御部120との間の接続関係を示す構成図である。
実施の形態1の動画像符号化装置100は、入力部101、ピクチャ蓄積部102、動き情報蓄積部103、動き予測部104、参照解析部105、第1修正予測信号生成部106、第2修正予測信号生成部107、モード判定部108、減算部109、残差符号化部110、残差復号部111、加算部112、符号列生成部113、符号列蓄積部114、符号量制御部115、出力部116および符号化制御部120を少なくとも備える。また更に、片方向予測信号生成部117、双予測信号生成部118およびイントラ予測部119を含むように構成すると良く、実施の形態1においては、これら全てを含むものとして話を進める。
また、実施の形態1では、便宜上、動画像符号化処理全体の動作モードを符号化動作モードもしくは単に符号化モードと呼び、第1修正予測信号生成部106および第2修正予測信号生成部107における動作を基準とした動作モードを単に動作モードと呼ぶことにする。また、動き予測部104における動作モードを動き予測モードと呼ぶことにする。
入力部101は、例えば、図1で示されるような撮像装置131、伝送装置132、記録媒体134を利用する、もしくは利用しない記録装置133や蓄積装置135等から動画像信号として所定の空間解像度をもつ入力画像列を取得する。入力部101は、その入力画像列中の符号化対象となる対象ピクチャにおいて、現在符号化対象となっている空間領域内である対象領域内の信号を対象信号として、減算部109、モード判定部108、片方向予測信号生成部117、第1修正予測信号生成部106、第2修正予測信号生成部107、双予測信号生成部118に供給する。ここで、対象領域は、例えばAVCのように、対象ピクチャを空間的な2次元領域である所定の大きさの矩形領域(以後、ブロック)によって隙間なく分割し、現在符号化対象となっている対象ブロックとする。ここでは、対象領域の形状をブロックとしているが、任意形状により隙間なく分割し、各領域において対象となった領域の対象信号を供給するように構成しても良く、特に限定されないことに注意する。
ピクチャ蓄積部102は、参照ピクチャを蓄積し、必要に応じて各部に対して供給する。ここで、格納される参照ピクチャを容易に特定できるようにするために、例えば、ピクチャの順番を示すための番号であるPicture Order Count(以後、POC)と関連付けを行った上で蓄積すると良い。POCは、参照ピクチャを特定するための情報として、AVCで用いられている。ピクチャ蓄積部102は、加算部112で生成される復号信号を取得し、参照ピクチャとして蓄積する。ピクチャ蓄積部102は、片方向予測信号生成部117、第1修正予測信号生成部106、第2修正予測信号生成部107、双予測信号生成部118に対して、要求された参照ピクチャを供給する。ピクチャ蓄積部102は、加算部112から復号信号を取得する際に、符号化後に局部復号して得られる復号済み領域の画像信号を順次、取得し、局部復号領域の画像信号(以後、局部復号ピクチャ)として蓄積する。ピクチャ蓄積部102は、符号化対象ピクチャ全域の局部復号結果が得られると、局部復号ピクチャの画像信号を参照ピクチャとして保持するようにすると良い。ピクチャ蓄積部102は、イントラ予測部119に対して、要求された局部復号ピクチャを供給する。ピクチャ蓄積部102は、必要であれば、片方向予測信号生成部117、第1修正予測信号生成部106、第2修正予測信号生成部107、双予測信号生成部118に対しても、要求された局部復号ピクチャを供給するようにしても良い。ピクチャ蓄積部102は、各部に参照ピクチャもしくは局部復号ピクチャを供給する際に、参照情報が供給された場合には、参照情報からPOCを特定し、要求された参照ピクチャもしくは局部復号ピクチャを特定して供給する。
動き情報蓄積部103は、動き情報を蓄積する。ここで、動き情報は、予測動きベクトル情報、参照情報、修正された予測動きベクトル情報(以後、修正予測動きベクトル情報)、修正された参照情報(以後、修正参照情報)、動きベクトル情報および残差動きベクトル情報を含むものとする。動き情報蓄積部103は、対象ピクチャおよび参照ピクチャにおける予測処理の単位(以後、予測単位)ごとに利用される動き情報をまとめて管理する。例えば、AVCのように双予測を行う場合には、2つの動き情報を予測単位ごとに管理できるようにすると良い。ここで便宜上、一方をリスト0(以後、L0)側の動き情報、もう一方をリスト1(以後、L1)側の動き情報と呼ぶ。また、参照可能なピクチャに関する情報は、例えばAVCのように、参照リストとしてL0とL1で別々に管理されており、ref_idx_l0, ref_idx_l1といった参照情報に格納されている値によって参照ピクチャを特定できるようにすると良い。
動き情報蓄積部103は、どのような予測モードによって得られた動き情報であるかを特定することができるように、動き情報をモード情報と関連付けて管理する。動き情報蓄積部103は、どの参照ピクチャにおける、どの予測単位の領域(以後、参照予測領域)に属する動き情報であるかを特定することができるように、動き情報と、参照ピクチャを特定するための情報とを関連付けて管理する。参照ピクチャを特定するための情報として、例えばAVCで用いられているような、ピクチャの順番を示すための番号であるPOCや、ref_idxのような参照情報を利用すると良い。ここで、参照情報を利用した場合にて、例えばAVCのような構成の参照情報を利用する場合には、必要に応じて参照情報からPOCを特定することで、必要とする参照予測領域に属する動き情報を特定できるようになる。例えば、動き情報蓄積部103は、所定の動作モードに従って、第1修正予測信号生成部106、第2修正予測信号生成部107、片方向予測信号生成部117、双予測信号生成部118によって生成された動き情報のうちの少なくとも1つを取得し、蓄積する。その際、モード情報、POCもしくは参照情報、現在予測対象となっている予測領域(以後、対象予測領域)の位置情報に基づく関連付けがなされた上で蓄積される。
動き情報蓄積部103は、各部の要求に応じて、特定された格納済みの動き情報に含まれる情報のうち少なくとも1つを供給する。例えば、動き情報蓄積部103は、必要とする符号化済みで復号可能な領域(以後、復号可能領域)に属する動き情報を、特定するために、モード情報、POC、復号可能領域内における所望の予測領域の位置情報を動き予測部104から取得し、少なくとも特定した動きベクトル情報を動き予測部104に供給する。必要であれば、他の格納済みの動き情報も供給するようにしても構わない。ここで、復号可能領域には、参照ピクチャ内の領域、つまり参照予測領域や、対象ピクチャ内における符号化済み領域も含まれることに注意する。同様に、動き情報蓄積部103は、モード判定部108、第1修正予測信号生成部106、第2修正予測信号生成部107、片方向予測信号生成部117、双予測信号生成部118に対しても、これら各部からモード情報、POC、復号可能領域内における所望の予測領域の位置情報を取得し、特定された既に格納済みの動き情報の中から少なくとも1つを必要に応じて供給する。
動き予測部104は、例えば、AVCのような所定の動き予測処理により予測動きベクトル情報を生成し、生成の際に利用した参照情報とともに、参照解析部105、片方向予測信号生成部117、双予測信号生成部118に供給する。ここで、動き予測部104は、対象領域に対して、空間的相関性や時間的相関性の高いと考えられる復号可能領域に属する動き情報を取得するために、動き情報蓄積部103に対して、モード情報、POC、復号可能領域内における所望の予測領域の位置情報を供給し、特定された動き情報を、動き情報蓄積部103から取得する。動き予測部104は、この取得した動き情報を利用して動き予測処理を行う。また、動き情報が得られない場合には、所定のベクトル情報を予測動きベクトル情報として供給する。この場合、一般には、ゼロベクトルが用いられるが、他の所定のベクトル値であっても構わない。また、所定の動き予測処理は、異なる複数の動き予測処理を備え、切り替えて利用できるようにするとより良い構成となる。このような構成において、使用した動き予測処理を特定するための動き予測モードは、例えば、符号化制御部120が管理し、確定した動き予測モードから動き予測モード情報を生成して、符号列生成部113に供給するようにしても構わない。
参照解析部105は、動き予測部104から参照情報と予測動きベクトル情報を取得する。参照解析部105は、取得した参照情報に対して、所定の参照解析処理を行い、取得した予測動きベクトル情報の修正の可否を示す予測修正情報を生成する。ここで、予測修正情報は、修正が可能な場合には「1」、可能でない、または必要ない場合には「0」とする。参照解析部105は、取得した参照情報と予測動きベクトル情報、および生成した予測修正情報を、第1修正予測信号生成部106および第2修正予測信号生成部107に供給する。ここで、所定の参照解析処理では、修正の可否の条件として、例えば、取得した参照情報から、利用する参照ピクチャの位置を特定し、対象ピクチャとの位置関係を解析する。そして、対象ピクチャにより近い参照ピクチャが存在するか否かにより、修正の可否を判断するようにしても良い。また、別の条件として、単純に対象ピクチャにより近い参照ピクチャが存在するというだけではなく、参照情報が属している参照リストに登録されている参照ピクチャの中で、対象ピクチャにより近いものが存在するか否かにより、修正の可否を判断するようにしても良い。更に、上述のような条件に画質に関する情報を加えてもよい。例えば、参照ピクチャを符号化した際の画質を左右する情報に基づいて、最も品質が良く、対象ピクチャに近い参照ピクチャが存在するか否かによるものや、参照リスト内で、最も品質が良く、対象ピクチャに近い参照ピクチャが存在するか否かにより、修正の可否を判断するようにしても良い。ここで、符号化した際の画質を左右する情報として、例えば、量子化パラメータ情報や、ピクチャタイプ等を利用すると良い。
第1修正予測信号生成部106は、参照解析部105から、L0側の参照情報、予測動きベクトル情報および予測修正情報を取得する。第1修正予測信号生成部106は、参照解析部105から、取得可能であれば、L1側の参照情報および予測修正情報を取得する。第1修正予測信号生成部106は、入力部101から対象信号、ピクチャ蓄積部102から参照ピクチャを取得する。ここで、第1修正予測信号生成部106は、参照ピクチャを取得する際に、参照情報をピクチャ蓄積部102に供給する。
第1修正予測信号生成部106は、取得した各情報に基づいて、所定のL0側の情報を基準とした修正予測信号生成処理を行い、動作モードごとの参照情報、動きベクトル情報、残差動きベクトル情報および予測信号を生成する。更に動作モードに応じて、修正参照情報、修正予測動きベクトル情報を生成する。第1修正予測信号生成部106は、取得および生成した動作モードごとの動き情報を、動き情報蓄積部103に供給する。第1修正予測信号生成部106は、生成に利用した参照情報もしくは修正参照情報、生成した残差動きベクトル情報および予測信号を、動作モードごとにモード判定部108に供給する。第1修正予測信号生成部106における所定の修正予測信号生成処理に関する詳細は、後述する。
第2修正予測信号生成部107は、参照解析部105から、取得可能であれば、L1側の参照情報、予測動きベクトル情報および予測修正情報を取得する。第2修正予測信号生成部107は、参照解析部105から、取得可能であれば、L0側の参照情報および予測修正情報を取得する。ここで、第2修正予測信号生成部107と第1修正予測信号生成部106との違いとして、取得する情報が、L0とL1で入れ替わっていることに注意する。また、第2修正予測信号生成部107において、L1側の情報が得られない場合には、その後の処理を行わないようにすると良い。
第2修正予測信号生成部107は、入力部101から対象信号、ピクチャ蓄積部102から参照ピクチャを取得する。ここで、第2修正予測信号生成部107は、参照ピクチャを取得する際に、参照情報をピクチャ蓄積部102に供給する。
第2修正予測信号生成部107は、取得した各情報に基づいて、所定のL1側の情報を基準とした修正予測信号生成処理を行い、動作モードごとの参照情報、動きベクトル情報、残差動きベクトル情報および予測信号を生成する。更に動作モードに応じて、修正参照情報および修正予測動きベクトル情報を生成する。第2修正予測信号生成部107は、取得および生成した動作モードごとの動き情報を、動き情報蓄積部103に供給する。第2修正予測信号生成部107は、生成に利用した参照情報もしくは修正参照情報、生成した残差動きベクトル情報および予測信号を、動作モードごとにモード判定部108に供給する。第2修正予測信号生成部107における所定の修正予測信号生成処理に関する詳細は、後述する。
モード判定部108は、動作モードごとに、参照情報もしくは修正参照情報、生成した残差動きベクトル情報、予測信号を、第1修正予測信号生成部106、第2修正予測信号生成部107、片方向予測信号生成部117、双予測信号生成部118から取得する。モード判定部108は、取得可能であれば、予測信号を、イントラ予測部119から取得する。また、モード判定部108は、入力部101から、対象信号を取得する。
モード判定部108は、所定のモード判定処理、および動作モードを選択するための比較判定を行い、動作モードを確定し、動作モード情報を生成する。このモード判定処理において、モード判定部108は、動作モードごとに、取得した情報が必要とする情報量を求め、動作モードごとに情報量の比較を行う。そして、最も少ない情報量となる動作モードを選択して、その動作モードに確定する。また、動き予測部104の所定の動き予測処理が複数存在し、切り替えて利用することができる構成である場合には、各動き予測モードごとに動作モードを確定させた後に、最適な動作モードとなる動き予測モードを特定し、その時の動作モードを最終的に確定した動作モードにすると良い。
モード判定部108は、モード確定後、確定した動作モードによって得られた予測信号を、減算部109および加算部112に供給する。モード判定部108は、確定した動作モードに応じて、得られた残差動きベクトル情報、参照情報もしくは修正参照情報および動作モード情報を、符号列生成部113に供給する。
モード判定部108は、動作モードごとの情報量の算出例として以下の手法を用いることができる。モード判定部108は、対象信号から予測信号を減算して残差信号を算出し、残差動きベクトル情報、参照情報もしくは修正参照情報および動作モード情報とともに当該残差信号に対して所定の2値化を行った後に、所定のエントロピー符号化を行うことで得られる符号列の量を、動作モードごとの情報量とする。また、処理を軽減するために、残差動きベクトル情報、参照情報もしくは修正参照情報、動作モード情報等は所定の概算値で求め、残差信号に対しては、簡易的な符号化(PCM、DPCM、ADPCM等)や簡易的な周波数変換(アダマール変換、ハール変換等)を行った後の値を概算値とし、これらを合算した情報量を比較に利用するようにしても良い。また、更に処理を軽減するために、残差信号そのものを情報量として比較に利用するようにしても良い。以上のような情報量の求め方は一例であり、別の異なる方法により情報量を求めるようにしても良く、本来の情報量の大小関係が破綻しないような求め方であれば、特に限定されないことに注意する。
モード判定部108は、所定の動作モードや符号化済み領域から予測される動作モード、もしくは所定の先見情報に基づいて、より確からしい動作モードを選別し、片方向予測信号生成部117、双予測信号生成部118、イントラ予測部119、第1修正予測信号生成部106、第2修正予測信号生成部107のいずれかを機能させないように符号化制御部120に通知することで、事前に、不要な動作モードによる予測信号もしくは合成予測信号の生成処理を抑制するようにしても構わない。例えば、動き情報蓄積部103には、符号化済みで復号可能領域に属する動作モードや動き情報が蓄積されていることから、モード判定部108は、対象領域周辺の符号化済み復号可能領域に属する動作モードおよび動き情報を取得し、所定の動作モード選別処理に基づいて動作モードを選別し、必要とする処理を特定して符号化制御部120に通知するように構成しても良い。
減算部109は、入力部101から対象信号、モード判定部108から予測信号を取得し、当該対象信号から当該予測信号を減算することで、残差情報を生成し、残差符号化部110に供給する。
残差符号化部110は、減算部109から残差情報を取得し、所定の残差符号化処理により残差符号化後情報を生成し、残差復号部111および符号列生成部113に供給する。ここで、所定の残差符号化処理は、例えばAVC等のように、所定の直交変換、量子化を伴うようにすると良い。また、残差符号化部110は、発生符号量を制御するために、符号量制御部115から符号量制御情報を取得し、この符号量制御情報に従って所定の残差符号化処理を行うことにより、生成される残差符号化後情報の発生符号量を制御する。一般には、量子化パラメータを変動させることにより、量子化を行う際の量子化ステップを制御することで、発生符号量を変動させる。
残差復号部111は、残差符号化部110から、残差符号化後情報を取得し、所定の残差復号処理により復号残差情報を生成し、加算部112に供給する。ここで、所定の残差復号処理は、例えばAVC等のように、所定の逆量子化、逆直交変換を伴うようにすると良い。
加算部112は、モード判定部108から予測信号、残差復号部111から復号残差情報を取得し、当該予測信号に当該復号残差情報を加算することで復号信号を生成し、ピクチャ蓄積部102に供給する。
符号列生成部113は、モード判定部108から残差動きベクトル情報、参照情報もしくは修正参照情報および動作モード情報を取得するとともに、残差符号化部110から残差符号化後情報を取得する。符号列生成部113は、符号化制御部120から、動作が確定し、出力が必要な符号化パラメータを取得する。符号列生成部113は、所定の構文構造に従って、取得した各情報に基づく符号列を生成し、符号列蓄積部114に供給する。符号列生成部113は、符号列を生成する際に、所定のエントロピー符号化処理を伴って情報量を圧縮するように構成すると良い。ここで、所定のエントロピー符号化処理は、例えばAVCのエントロピー符号化処理である、CABACなどの算術符号化やCAVLCなどの可変長符号化によって符号列を生成するように構成すると良い。また、必要に応じてPCM等の異なるエントロピー符号化処理を採用したり、これらを切り替えて利用したりしても構わない。
符号列蓄積部114は、符号列生成部113から符号列を取得し、一時的に蓄積する。符号列蓄積部114は、一時的に蓄積された符号列の符号量を測定し、符号量制御部115に供給する。符号列蓄積部114は、一時的に蓄積された符号列を出力部116に供給する。
符号量制御部115は、符号列蓄積部114から符号量を取得し、取得した符号量に基づいて符号量制御処理を行うことで、符号量制御情報を生成し、残差符号化部110に供給する。ここで、符号量制御処理では、例えば、最終的に目標とする動画像の符号化伝送レートに近づけるように、取得した符号量に基づいて、次の符号化で用いる量子化パラメータの値を決定し、これを符号量制御情報とすると良い。
出力部116は、符号列蓄積部114から符号列を取得し、出力部116に接続されている外部の伝送装置141、記録媒体143を利用する、もしくは利用しない記録装置142や蓄積装置144等に出力する。
符号化制御部120は、動画像符号化装置100内に含まれる各部の動作や情報の入出力を制御し、動画像符号化処理の全体を管理する。符号化制御部120は、各部における動作モードや動作順序等の、動画像符号化装置100における動作を制御および確定させるための情報を、相互に関連付けて符号化パラメータとして管理し、確定した出力を必要とする符号化パラメータを、符号列生成部113に供給する。例えば、符号化パラメータの代表的なものとして、動き予測モード、動作モード、参照情報、量子化パラメータ、イントラ予測モード等があり、また、各部の動作を確定するためのモード全般が、符号化パラメータに含まれることに注意する。
符号化制御部120は、モード判定部108から、選別された動作モードに関する情報を取得し、不要となった各部を機能させず、選別された動作モードを実現するために必要な各部に対して、動作や情報の入出力を制御し、動画像符号化処理の全体を管理するようにしても構わない。
片方向予測信号生成部117は、入力部101から対象信号、ピクチャ蓄積部102からL0側またはL1側の参照ピクチャを取得する。ここで、片方向予測信号生成部117は、参照ピクチャを取得する際に、L0側またはL1側の参照情報をピクチャ蓄積部102に供給する。片方向予測信号生成部117は、動き予測部104からL0側またはL1側の参照情報および予測動きベクトル情報を取得する。片方向予測信号生成部117は、所定の片方向予測信号生成処理により動きベクトル情報、残差動きベクトル情報、予測信号を生成する。ここで、所定の片方向予測信号生成処理は、例えばAVCのように、所定の動き推定処理によって動きベクトル情報を特定し、特定された動きベクトル情報と予測動きベクトル情報から残差動きベクトル情報を生成する。そして、所定の片方向予測信号生成処理は、例えばAVCのように、所定の動き補償処理によって、特定された動きベクトル情報に基づいて参照ピクチャ内から予測信号を生成すると良い。片方向予測信号生成部117は、生成した動き情報を、動き情報蓄積部103に供給する。片方向予測信号生成部117は、生成に利用した参照情報、生成した残差動きベクトル情報および予測信号を、モード判定部108に供給する。
双予測信号生成部118は、入力部101から対象信号、ピクチャ蓄積部102からL0側およびL1側の参照ピクチャを取得する。ここで、双予測信号生成部118は、参照ピクチャを取得する際に、L0側およびL1側の参照情報をピクチャ蓄積部102に供給する。双予測信号生成部118は、動き予測部104からL0側およびL1側の参照情報と予測動きベクトル情報を取得する。双予測信号生成部118は、所定の双予測信号生成処理によりL0側とL1側の動きベクトル情報、残差動きベクトル情報および予測信号を生成する。そして、L0側の予測信号とL1側の予測信号とを合成することで、合成予測信号を生成する。ここで、所定の双予測信号生成処理は、例えばAVCのように、L0側とL1側のそれぞれにおいて、所定の動き推定処理によって動きベクトル情報を特定し、特定された動きベクトル情報と予測動きベクトル情報から残差動きベクトル情報を生成する。そして、所定の双予測信号生成処理は、例えばAVCのように、L0側とL1側のそれぞれにおいて、所定の動き補償処理によって、特定された動きベクトル情報に基づいて参照ピクチャ内から予測信号を生成すると良い。双予測信号生成部118は、生成したL0側およびL1側の動き情報を、動き情報蓄積部103に供給する。双予測信号生成部118は、生成に利用したL0側およびL1側の参照情報、ならびに生成した残差動きベクトル情報および合成予測信号を、モード判定部108に供給する。
イントラ予測部119は、ピクチャ蓄積部102から局部復号ピクチャを取得し、例えばAVCのように、所定のイントラ予測処理に基づいて、局部復号ピクチャから対象領域内の予測信号を生成し、モード判定部108に供給する。
次に、実施の形態1に係る動画像符号化装置100の基本動作を、図3のフローチャートを用いて以下に説明する。
まず、符号化制御部120は、ユーザ等から符号化開始要求を受けると、各部に対して符号化開始指令を送る。それに応じて、入力部101は、入力画像列を取得し、その中から符号化対象ピクチャを取得し(S101)、対象領域内の対象信号を、減算部109、モード判定部108、片方向予測信号生成部117、第1修正予測信号生成部106、第2修正予測信号生成部107および双予測信号生成部118に供給する。
その後、符号化制御部120は、動き予測部104に対して、動き予測開始指令を送る。動き予測部104は、符号化制御部120の指令を受けて、所定の動き予測処理(S102)を開始する。この所定の動き予測処理では、まず、動き予測部104は、動き情報蓄積部103に対して、モード情報、POC、復号可能領域内における所望の予測領域の位置情報を供給し、特定された動き情報を、動き情報蓄積部103から取得する。ここで、例えばAVCのように、対象領域に隣接する復号可能な領域に属する、少なくとも1つの領域の動き情報を取得するように、動き情報蓄積部103に対して各種情報を供給し、必要とする領域の動き情報を取得すると良い。その後、動き予測部104は、この取得した動き情報を利用して、例えばAVCのような所定の動き予測処理を行い、予測動きベクトル情報を生成する。また、動き情報が得られない場合には、所定のベクトル情報を予測動きベクトル情報とする。その後、動き予測部104は、生成の際に利用した参照情報とともに、予測動きベクトル情報を、参照解析部105、片方向予測信号生成部117および双予測信号生成部118に供給する。
その後、符号化制御部120は、参照解析部105に対して、参照解析開始指令を送る。参照解析部105は、符号化制御部120の指令を受けて、所定の参照解析処理(S103)を開始する。この参照解析処理では、まず、参照解析部105は、動き予測部104から参照情報および予測動きベクトル情報を取得する。その後、参照解析部105は、取得した参照情報に対して、所定の参照解析処理を行い、予測修正情報を生成する。その後、参照解析部105は、取得した参照情報と予測動きベクトル情報、および生成した予測修正情報を、第1修正予測信号生成部106および第2修正予測信号生成部107に供給する。
その後、符号化制御部120は、第1修正予測信号生成部106、第2修正予測信号生成部107、片方向予測信号生成部117、双予測信号生成部118およびイントラ予測部119に対して、予測信号生成開始指令を送る。第1修正予測信号生成部106、第2修正予測信号生成部107、片方向予測信号生成部117、双予測信号生成部118およびイントラ予測部119は、符号化制御部120の指令を受けて、各部における所定の予測信号生成処理を開始(S104)する。この予測信号生成処理では、第1修正予測信号生成処理(S104−1)、第2修正予測信号生成処理(S104−2)、片方向予測信号生成処理(S104−3)、双予測信号生成処理(S104−4)およびイントラ予測処理(S104−5)がそれぞれ行われる。各部は、取得および生成した動作モードごとの動き情報を、動き情報蓄積部103に供給し、生成に利用した参照情報もしくは修正参照情報、生成した残差動きベクトル情報および予測信号を、動作モードごとにモード判定部108に供給する。
ここで、上述の第1修正予測信号生成処理は、第1修正予測信号生成部106によって行われる。まず、第1修正予測信号生成部106は、参照解析部105から、L0側の参照情報、予測動きベクトル情報および予測修正情報を取得する。第1修正予測信号生成部106は、参照解析部105から、取得可能であれば、L1側の参照情報および予測修正情報を取得する。第1修正予測信号生成部106は、入力部101から対象信号、ピクチャ蓄積部102から参照ピクチャを取得する。ここで、第1修正予測信号生成部106は、参照ピクチャを取得する際に、参照情報をピクチャ蓄積部102に供給する。その後、第1修正予測信号生成部106は、取得した各情報に基づいて、所定のL0側の情報を基準とした修正予測信号生成処理を行い、動作モードごとの参照情報、動きベクトル情報、残差動きベクトル情報、予測信号を生成する。更に動作モードに応じて、修正参照情報および修正予測動きベクトル情報を生成する。第1修正予測信号生成部106は、取得および生成した動作モードごとの動き情報を、動き情報蓄積部103に供給する。第1修正予測信号生成部106は、生成に利用した参照情報もしくは修正参照情報、生成した残差動きベクトル情報および予測信号を、動作モードごとにモード判定部108に供給する。これにより、第1修正予測信号生成処理が完了する。
また、上述の第2修正予測信号生成処理は、第2修正予測信号生成部107によって行われる。まず、第2修正予測信号生成部107は、参照解析部105から、取得可能であれば、L1側の参照情報、予測動きベクトル情報および予測修正情報を取得する。第2修正予測信号生成部107は、参照解析部105から、取得可能であれば、L0側の参照情報および予測修正情報を取得する。第2修正予測信号生成部107は、入力部101から対象信号、ピクチャ蓄積部102から参照ピクチャを取得する。ここで、第2修正予測信号生成部107は、参照ピクチャを取得する際に、参照情報をピクチャ蓄積部102に供給する。その後、第2修正予測信号生成部107は、取得した各情報に基づいて、所定のL1側の情報を基準とした修正予測信号生成処理を行い、動作モードごとの参照情報、動きベクトル情報、残差動きベクトル情報、予測信号を生成する。更に動作モードに応じて、修正参照情報および修正予測動きベクトル情報を生成する。第2修正予測信号生成部107は、取得および生成した動作モードごとの動き情報を、動き情報蓄積部103に供給する。第2修正予測信号生成部107は、生成に利用した参照情報もしくは修正参照情報、生成した残差動きベクトル情報および予測信号を、動作モードごとにモード判定部108に供給する。これにより、第2修正予測信号生成処理が完了する。
また、上述の片方向予測信号生成処理は、片方向予測信号生成部117によって行われる。まず、片方向予測信号生成部117は、入力部101から対象信号、ピクチャ蓄積部102からL0側またはL1側の参照ピクチャを取得する。ここで、片方向予測信号生成部117は、参照ピクチャを取得する際に、L0側またはL1側の参照情報をピクチャ蓄積部102に供給する。片方向予測信号生成部117は、動き予測部104から、L0側またはL1側の参照情報および予測動きベクトル情報を取得する。その後、片方向予測信号生成部117は、所定の片方向予測信号生成処理により動きベクトル情報、残差動きベクトル情報および予測信号を生成する。その後、片方向予測信号生成部117は、生成した動き情報を、動き情報蓄積部103に供給する。片方向予測信号生成部117は、生成に利用した参照情報、生成した残差動きベクトル情報および予測信号を、モード判定部108に供給する。これにより、片方向予測信号生成処理が完了する。
また、上述の双予測信号生成処理は、双予測信号生成部118によって行われる。まず、双予測信号生成部118は、入力部101から対象信号、ピクチャ蓄積部102からL0側およびL1側の参照ピクチャを取得する。ここで、双予測信号生成部118は、参照ピクチャを取得する際に、L0側およびL1側の参照情報をピクチャ蓄積部102に供給する。双予測信号生成部118は、動き予測部104から、L0側およびL1側の参照情報および予測動きベクトル情報を取得する。その後、双予測信号生成部118は、所定の双予測信号生成処理によりL0側およびL1側の動きベクトル情報、残差動きベクトル情報および予測信号を生成し、L0側の予測信号とL1側の予測信号とを合成することで、合成予測信号を生成する。その後、双予測信号生成部118は、生成したL0側およびL1側の動き情報を、動き情報蓄積部103に供給する。双予測信号生成部118は、生成に利用したL0側およびL1側の参照情報、ならびに生成した残差動きベクトル情報および合成予測信号を、モード判定部108に供給する。これにより、双予測信号生成処理が完了する。
また、上述のイントラ予測処理は、イントラ予測部119によって行われる。まず、イントラ予測部119は、ピクチャ蓄積部102から、局部復号ピクチャを取得し、所定のイントラ予測処理に基づいて、局部復号ピクチャから対象領域内の予測信号を生成し、モード判定部108に供給する。これにより、イントラ予測処理が完了する。
以上のような予測信号生成処理が完了すると、符号化制御部120は、モード判定部108に対して、モード判定開始指令を送る。モード判定部108は、符号化制御部120の指令を受けて、モード判定処理(S105)を開始する。このモード判定処理では、まず、モード判定部108は、動作モードごとに、参照情報もしくは修正参照情報、生成した残差動きベクトル情報および予測信号を、第1修正予測信号生成部106、第2修正予測信号生成部107、片方向予測信号生成部117および双予測信号生成部118からそれぞれ取得する。モード判定部108は、取得可能であれば、予測信号を、イントラ予測部119から取得する。モード判定部108は、入力部101から対象信号を取得する。その後、モード判定部108は、動作モードを確定するための比較判定を行う。動作モードが確定した場合(S106のYES)、動作モード情報を生成する。その後、モード判定部108は、確定した動作モードによって得られた予測信号を、減算部109および加算部112に供給する。モード判定部108は、確定した動作モードに応じて、得られた残差動きベクトル情報、参照情報もしくは修正参照情報および動作モード情報を、符号列生成部113に供給する。動作モードが確定していない場合(S106のNO)、ステップS102に戻る。
その後、符号化制御部120は、減算部109に対して、残差信号生成開始指令を送る。減算部109は、符号化制御部120の指令を受けて、所定の残差信号生成処理(S107)を開始する。この所定の残差信号生成処理では、減算部109は、入力部101から対象信号、モード判定部108から予測信号を取得し、対象信号から予測信号を減算することで、残差情報を生成し、残差符号化部110に供給する。
その後、符号化制御部120は、残差符号化部110に対して、残差符号化開始指令を送る。残差符号化部110は、符号化制御部120の指令を受けて、所定の残差符号化処理(S108)を開始する。この所定の残差符号化処理では、残差符号化部110は、減算部109から残差情報を取得し、所定の残差符号化処理により残差符号化後情報を生成し、残差復号部111および符号列生成部113に供給する。
その後、符号化制御部120は、残差復号部111に対して、残差復号開始指令を送る。残差復号部111は、符号化制御部120の指令を受けて、所定の残差復号処理(S109)を開始する。この所定の残差復号処理では、残差復号部111は、残差符号化部110から残差符号化後情報を取得し、所定の残差復号処理により復号残差情報を生成し、加算部112に供給する。
その後、符号化制御部120は、加算部112に対して、復号信号生成開始指令を送る。加算部112は、符号化制御部120の指令を受けて、所定の復号信号生成処理(S110)を開始する。この所定の復号信号生成処理では、加算部112は、モード判定部108から予測信号、残差復号部111から復号残差情報を取得し、予測信号に復号残差情報を加算することで復号信号を生成し、ピクチャ蓄積部102に供給する。
符号化制御部120は、符号列生成部113に対して、符号列生成開始指令を送る。符号列生成部113は、符号化制御部120の指令を受けて、所定の符号列生成処理(S111)を開始する。この所定の符号列生成処理では、符号列生成部113は、モード判定部108から残差動きベクトル情報、参照情報もしくは修正参照情報および動作モード情報を取得するとともに、残差符号化部110から残差符号化後情報を取得する。符号列生成部113は、符号化制御部120から、動作が確定し、出力が必要な符号化パラメータを取得する。符号列生成部113は、所定の構文構造に従って、取得した各情報に基づく符号列を生成し、符号列蓄積部114に供給する。
その後、符号化制御部120は、符号量制御部115に対して、符号量制御開始指令を送る。符号量制御部115は、符号化制御部120の指令を受けて、所定の符号量制御処理(S112)を開始する。この所定の符号量制御処理では、符号量制御部115は、符号列蓄積部114から符号量を取得し、取得した符号量に基づいて符号量制御処理を行うことで、符号量制御情報を生成し、残差符号化部110に供給する。
その後、符号化制御部120は、符号化処理の進捗状態から、符号化対象ピクチャ全体の符号化が完了したかどうかを確認する(S113)。符号化対象ピクチャ全体の符号化が完了していない場合(S113のNO)は、符号化制御部120は、対象領域を次の対象領域に更新し、ステップS102に戻る。
符号化対象ピクチャ全体の符号化が完了した場合(S113のYES)、符号化制御部120は、符号列蓄積部114および出力部116に対して、出力開始指令を送る。符号列蓄積部114は、符号化制御部120の指令を受けて、符号列を出力部116に供給し、出力部116は、符号列蓄積部114から符号列を取得して、出力部116に接続されている外部の伝送装置141、記録媒体143を利用する、もしくは利用しない記録装置142や蓄積装置144等に出力する(S114)。
以上のようなステップにより、実施の形態1に係る動画像符号化装置100の基本動作が完了する。
ここで、実施の形態1の動画像符号化装置100の構成および動作により、以下のような効果が得られる。
まず、実施の形態1の動画像符号化装置100では、動き予測部104から少なくとも1本の予測動きベクトル情報が取得できる場合に、この1本の予測動きベクトル情報から、もう一方の予測動きベクトル情報を、修正予測動きベクトル情報として導出できる。それととともに、この修正予測動きベクトル情報を所定の動き探索により、参照先としてより良い位置に修正することで、動きベクトル情報を確定させることができる。この確定した動きベクトル情報に基づく予測信号と、最初に動き予測部104から得た予測動きベクトル情報に基づく予測信号とを合成することで、合成予測信号を生成することができる。また、確定した動きベクトル情報から、導出された修正予測動きベクトル情報を減算することで、残差動きベクトル情報を得ることができる。また、このような動作を特定するための動作モード情報を復号側に伝送することで、復号側でも同様の合成予測信号を得ることができる。したがって、実施の形態1の動画像符号化装置100では、1本分の残差動きベクトル情報を伝送するだけで、復号側で符号化側と同様の双予測ができるようになる。この点、従来においては、双予測を行う際、2本分の残差動きベクトル情報を伝送する必要があった。
また、従来の空間的、時間的ダイレクトモードのように、残差動きベクトル情報を利用せずに双予測を行った場合、予測信号の品質が低下してしまい、結果的に符号量が的確に抑制できない場合があった。この点、実施の形態1の動画像符号化装置100では、1本分の残差動きベクトル情報を利用することにより、より確からしい位置の動きベクトル情報となるように修正できるため、より良い予測信号もしくは合成予測信号を生成できる可能性を高めることができる。したがって、動きベクトル情報と予測信号を記述する際の全体の符号量を、従来よりも抑えることができる。
また、実施の形態1の動画像符号化装置100では、例えばAVCのような従来型の予測信号生成部である、片方向予測信号生成部117、双予測信号生成部118およびイントラ予測部119と、新たな構成要素である、第1修正予測信号生成部106および第2修正予測信号生成部107を備える。第1修正予測信号生成部106は、L0側の動き情報に基づいてL1側の修正予測動きベクトル情報を導出して予測信号もしくは合成予測信号を生成し、第2修正予測信号生成部107は、L1側の動き情報に基づいてL0側の修正予測動きベクトル情報を導出して予測信号もしくは合成予測信号を生成する。この構成によれば、従来型の予測信号生成部のみを備える構成と比較し、各動作モードで得られる予測信号もしくは合成予測信号、残差動きベクトル情報および参照情報を符号化した際の符号量が、より少なくなる動作モードを選択できる可能性がある。その場合、従来の符号量より少ない符号量の符号列を生成することができる。
また、実施の形態1の動画像符号化装置100では、所定の動作モードや符号化済み領域から予測される動作モード、もしくは所定の先見情報に基づいて、より確からしい動作モードを選別し、片方向予測信号生成部117、双予測信号生成部118、イントラ予測部119、第1修正予測信号生成部106および第2修正予測信号生成部107のいずれかを機能させないようにすることができる。これにより、実施の形態1の動画像符号化装置100では、予測信号を生成するまでの過程における演算量を軽減し、符号化にかかる時間を短縮することができる。
また、実施の形態1の動画像符号化装置100では、動き予測部104によって予測された参照情報を、参照解析部105によって参照先を変更して修正参照情報とする際に、参照先を変更せずに、参照情報を修正参照情報とする場合や、所定のルールや動作モードに基づいて復号側でも一意に修正参照情報が特定できる場合には、参照情報もしくは修正参照情報自体を符号化および伝送しないように構成することができる。これにより、実施の形態1の動画像符号化装置100では、更に動き情報に関する符号量を抑制し、符号化効率を向上させることができる。
次に、実施の形態1の動画像符号化装置100により生成された符号列を復号する、実施の形態1の動画像復号装置を説明する。図4は、本発明の実施の形態1における、動画像復号装置200の構成図である。図5は、本発明の実施の形態1における、動画像復号装置200の各部と復号制御部216との間の接続関係を示す構成図である。
実施の形態1の動画像復号装置200は、入力部201、ピクチャ蓄積部202、復号列生成部203、残差復号部204、加算部205、モード識別部206、動き情報蓄積部207、動き予測部208、参照解析部209、第1修正予測信号生成部210、第2修正予測信号生成部211、出力部212および復号制御部216を少なくとも備える。また更に、片方向予測信号生成部213、双予測信号生成部214およびイントラ予測部215を含むように構成すると良く、実施の形態1においては、これらを全て含むものとして話を進める。
入力部201は、例えば、図4で示されるような伝送装置231、記録媒体233を利用する、もしくは利用しない記録装置232や蓄積装置234等から符号列を取得し、復号列生成部203に供給する。ここで、取得した符号列は、例えば、実施の形態1の動画像符号化装置100によって生成されたものであると良い。また、取得した符号列は、他の同等な機能をもつものによって生成され、伝送や蓄積されたものであっても構わない。
ピクチャ蓄積部202は、動画像符号化装置100のピクチャ蓄積部102と同等の機能をもつ。ピクチャ蓄積部202は、参照ピクチャとして利用されないと判明しているピクチャを復号ピクチャとして蓄積する。ピクチャ蓄積部202は、表示タイミングに応じて、表示対象となった参照ピクチャもしくは復号ピクチャを出力部212に供給する。
復号列生成部203は、入力部201から符号列を取得し、所定の構文構造に基づいて復号列生成処理を行い、符号列から現在復号対象となっている領域(以後、復号対象領域)に属する、少なくとも残差動きベクトル情報、参照情報、動作モード情報、残差符号化後情報および符号化パラメータを生成する。その後、復号列生成部203は、残差動きベクトル情報、参照情報、動作モード情報をモード識別部206に供給し、残差符号化後情報を残差復号部204に供給し、符号化パラメータを復号パラメータとして復号制御部216にそれぞれ供給する。復号列生成部203は、復号列を生成する際に、動画像符号化装置100の所定のエントロピー符号化処理と対をなす所定のエントロピー復号処理を伴って復号するように構成すると良い。ここで、所定のエントロピー復号処理は、例えばAVCのエントロピー復号処理である、CABAC等の算術復号やCAVLC等の可変長復号によって復号列を生成するように構成すると良い。また、必要に応じてPCM等の異なるエントロピー復号処理を採用したり、これらを切り替えて利用したりしても構わない。
残差復号部204は、復号列生成部203から残差符号化後情報を取得し、所定の残差復号処理により復号残差情報を生成し、加算部205に供給する。ここで、所定の残差復号処理は、例えばAVC等のように、所定の逆量子化、逆直交変換を伴うようにすると良い。
加算部205は、モード識別部206から予測信号、残差復号部204から復号残差情報を取得し、当該予測信号に当該復号残差情報を加算することで復号信号を生成し、ピクチャ蓄積部202に供給する。
モード識別部206は、復号列生成部203から、復号対象領域に属する、残差動きベクトル情報、参照情報および動作モード情報を取得する。モード識別部206は、取得した動作モード情報を識別し、識別した動作モードに応じて各部が動作するように復号制御部216に通知する。モード識別部206は、取得した動き情報を、動作モード情報とともに動き情報蓄積部207に供給する。モード識別部206は、第1修正予測信号生成部210、第2修正予測信号生成部211、片方向予測信号生成部213、双予測信号生成部214およびイントラ予測部215の中から動作モードに応じた取得先を特定し、その取得先から予測信号を取得する。その後、モード識別部206は、取得した予測信号を加算部205に供給する。
動き情報蓄積部207は、動画像符号化装置100の動き情報蓄積部103と同等の機能をもつ。動き情報蓄積部207は、モード識別部206から、動作モード情報および動き情報を取得し、動き情報を格納する。動き情報蓄積部207は、第1修正予測信号生成部210、第2修正予測信号生成部211、片方向予測信号生成部213、双予測信号生成部214の中から動作モードに応じた供給先を特定し、その供給先に残差動きベクトル情報を供給する。
動き予測部208および参照解析部209は、動画像符号化装置100の動き予測部104および参照解析部105とそれぞれ同等の機能をもつため、説明を省略する。
第1修正予測信号生成部210は、動作モードに応じて、参照解析部209から、L0側の参照情報、予測動きベクトル情報および予測修正情報を取得する。第1修正予測信号生成部210は、参照解析部209から、取得可能であれば、L1側の参照情報および予測修正情報を取得する。第1修正予測信号生成部210は、ピクチャ蓄積部102から参照ピクチャを取得する。ここで、第1修正予測信号生成部210は、参照ピクチャを取得する際に、参照情報をピクチャ蓄積部202に供給する。第1修正予測信号生成部210は、動き情報蓄積部207から復号対象領域に属する残差動きベクトル情報を取得する。
第1修正予測信号生成部210は、取得した各情報に基づいて、所定のL0側の情報を基準とした修正予測信号生成処理を行い、動作モードに応じた参照情報、動きベクトル情報、予測信号を生成する。更に動作モードに応じて、修正参照情報および修正予測動きベクトル情報を生成する。第1修正予測信号生成部210は、取得および生成した動作モードに応じた動き情報を、動き情報蓄積部207に供給する。第1修正予測信号生成部210は、生成した予測信号をモード識別部206に供給する。第1修正予測信号生成部210における所定の修正予測信号生成処理に関する詳細は、後述する。
第2修正予測信号生成部211は、動作モードに応じて、参照解析部209から、取得可能であれば、L1側の参照情報、予測動きベクトル情報および予測修正情報を取得する。第2修正予測信号生成部211は、動作モードに応じて、参照解析部209から、取得可能であれば、L0側の参照情報および予測修正情報を取得する。第2修正予測信号生成部211は、ピクチャ蓄積部202から参照ピクチャを取得する。ここで、第2修正予測信号生成部211は、参照ピクチャを取得する際に、参照情報をピクチャ蓄積部202に供給する。第2修正予測信号生成部211は、動き情報蓄積部207から復号対象領域に属する残差動きベクトル情報を取得する。
第2修正予測信号生成部211は、取得した各情報に基づいて、所定のL1側の情報を基準とした修正予測信号生成処理を行い、動作モードに応じた参照情報、動きベクトル情報および予測信号を生成する。更に動作モードに応じて、修正参照情報および修正予測動きベクトル情報を生成する。第2修正予測信号生成部211は、取得および生成した動作モードに応じた動き情報を、動き情報蓄積部207に供給する。第2修正予測信号生成部211は、生成した予測信号をモード識別部206に供給する。第2修正予測信号生成部211における所定の修正予測信号生成処理に関する詳細は、後述する。
出力部212は、ピクチャ蓄積部202から、表示タイミングに応じて、表示対象となった参照ピクチャもしくは復号ピクチャを取得し、出力部212に接続されている外部の伝送装置241、記録媒体243を利用する、もしくは利用しない記録装置242や蓄積装置244、表示装置245等に対して供給することで、復号されたピクチャを出力する。
復号制御部216は、動画像復号装置200内に含まれる各部の動作や情報の入出力を制御し、動画像復号処理の全体を管理する。復号制御部216は、各部における動作モードや動作順序等の、動画像復号装置200における動作を制御および確定させるための情報である、相互に関連付けられた復号パラメータを、復号列生成部203から取得し、動画像復号処理の全体を管理する。復号制御部216は、モード識別部206によって識別された動作モードに応じた動作が各部で実行されるように、動画像復号装置200内に含まれる各部の動作や情報の入出力を制御する。
片方向予測信号生成部213は、動作モードから、L0側またはL1側のうちどちらの参照ピクチャを取得すべきか特定し、ピクチャ蓄積部202から、特定された方の参照ピクチャを取得する。ここで、片方向予測信号生成部213は、参照ピクチャを取得する際に、L0側またはL1側の参照情報をピクチャ蓄積部202に供給する。片方向予測信号生成部213は、動き予測部208から、特定されたL0側またはL1側の参照情報および予測動きベクトル情報を取得する。片方向予測信号生成部213は、動き情報蓄積部207から、復号対象領域に属する残差動きベクトル情報を取得する。片方向予測信号生成部213は、所定の片方向予測信号生成処理により、動きベクトル情報および予測信号を生成する。ここで、所定の片方向予測信号生成処理として、例えばAVCのように、取得した予測動きベクトル情報に残差動きベクトル情報を加算して動きベクトル情報を生成し、所定の動き補償処理によって、生成された動きベクトル情報に基づいて参照ピクチャ内から予測信号を生成すると良い。片方向予測信号生成部213は、生成した動き情報を動き情報蓄積部207に供給する。片方向予測信号生成部213は、生成した予測信号を、モード識別部206に供給する。
双予測信号生成部214は、動作モードに基づいて、ピクチャ蓄積部202からL0側およびL1側の参照ピクチャを取得する。ここで、双予測信号生成部214は、参照ピクチャを取得する際に、L0側およびL1側の参照情報をピクチャ蓄積部202に供給する。双予測信号生成部214は、動き予測部208から、L0側およびL1側の参照情報および予測動きベクトル情報を取得する。双予測信号生成部214は、動き情報蓄積部207から、復号対象領域に属するL0側およびL1側の残差動きベクトル情報を取得する。
双予測信号生成部214は、所定の双予測信号生成処理によりL0側およびL1側それぞれの動きベクトル情報および予測信号を生成し、L0側の予測信号とL1側の予測信号とを合成することで、合成予測信号を生成する。ここで、所定の双予測信号生成処理は、例えばAVCのように、L0側およびL1側においてそれぞれ対応する、取得した予測動きベクトル情報に残差動きベクトル情報を加算して動きベクトル情報を生成し、所定の動き補償によって、生成されたL0側およびL1側の動きベクトル情報に基づいて、L0側およびL1側のそれぞれに対応する参照ピクチャ内から、L0側およびL1側の予測信号を生成すると良い。双予測信号生成部214は、生成したL0側およびL1側のそれぞれの動き情報を動き情報蓄積部207に供給する。双予測信号生成部214は、生成したL0側およびL1側の予測信号をモード識別部206に供給する。
イントラ予測部215は、動作モードに応じて、ピクチャ蓄積部202から、局部復号ピクチャを取得し、例えばAVCのように、所定のイントラ予測処理に基づいて、局部復号ピクチャから復号対象領域内の予測信号を生成し、モード識別部206に供給する。
次に、実施の形態1に係る動画像復号装置200の基本動作を、図6のフローチャートを用いて以下に説明する。
まず、復号制御部216は、ユーザ等から復号開始要求を受けると、各部に対して復号開始指令を送る。それに応じて、入力部201は、符号列を取得し(S201)、復号列生成部203に供給する。
その後、復号制御部216は、復号列生成部203に対して、復号列生成開始指令を送る。復号列生成部203は、復号制御部216の指令を受けて、所定の復号列生成処理(S202)を開始する。この所定の復号列生成処理では、まず、復号列生成部203は、入力部201から符号列を取得し、所定の構文構造に基づいて復号列生成処理を行い、符号列から少なくとも残差動きベクトル情報、参照情報、動作モード情報、残差符号化後情報および符号化パラメータを生成する。その後、復号列生成部203は、残差動きベクトル情報、参照情報および動作モード情報をモード識別部206に供給し、残差符号化後情報を残差復号部204に供給し、符号化パラメータを復号パラメータとして復号制御部216にそれぞれ供給する。
その後、復号制御部216は、残差復号部204に対して、残差復号開始指令を送る。残差復号部204は、復号制御部216の指令を受けて、所定の残差復号処理(S203)を開始する。この所定の残差復号処理では、まず、残差復号部204は、復号列生成部203から残差符号化後情報を取得し、所定の残差復号処理により復号残差情報を生成し、加算部205に供給する。
次に、復号制御部216は、モード識別部206に対して、モード識別処理開始指令を送る。モード識別部206は、復号制御部216の指令を受けて、所定のモード識別処理(S204)を開始する。この所定のモード識別処理では、モード識別部206は、復号列生成部203から、復号対象領域に属する、残差動きベクトル情報、参照情報および動作モード情報を取得する。モード識別部206は、取得した動作モード情報を識別し、識別した動作モードに応じて各部が動作するように復号制御部216に通知する。モード識別部206は、取得した動き情報を、動作モード情報とともに動き情報蓄積部207に供給する。
次に、復号制御部216は、動き予測部208に対して、動き予測開始指令を送る。動き予測部208は、復号制御部216の指令を受けて、所定の動き予測処理(S205)を開始する。この所定の動き予測処理では、まず、動き予測部208は、例えばAVCのような、所定の動き予測処理により予測動きベクトル情報を生成し、生成の際に利用した参照情報とともに、参照解析部105、片方向予測信号生成部117、双予測信号生成部118の中から、動作モードに応じた供給先を特定し、その供給先に供給する。動き予測モードが取得できる場合には、動き予測モードから特定される所定の動き予測処理に基づいて、予測動きベクトル情報を生成する。
その後、復号制御部216は、動作モードから、予測信号生成処理において、第1修正予測信号生成処理または第2修正予測信号生成処理が必要であると判断した場合、参照解析部209に対して、参照解析処理開始指令を送る。参照解析部209は、復号制御部216の指令を受けて、所定の参照解析処理(S206)を開始する。動作モードから、予測信号生成処理において、第1修正予測信号生成処理および第2修正予測信号生成処理が必要ないと判断した場合には、ステップS206をスキップする。この所定の参照解析処理では、参照解析部209は、動き予測部208から復号対象領域に属する参照情報および予測動きベクトル情報を取得する。参照解析部209は、取得した参照情報に対して、所定の参照解析処理を行い、取得した予測動きベクトル情報の修正の可否を示す予測修正情報を、動作モードに応じて生成する。その後、参照解析部209は、取得した参照情報および予測動きベクトル情報、ならびに動作モードに応じて生成した予測修正情報を、動作モードに応じて、第1修正予測信号生成部210または第2修正予測信号生成部211に供給する。
その後、復号制御部216は、第1修正予測信号生成部210、第2修正予測信号生成部211、片方向予測信号生成部213、双予測信号生成部214およびイントラ予測部215の中から、動作モードにより特定されるものに対して、予測信号生成開始指令を送る。第1修正予測信号生成部210、第2修正予測信号生成部211、片方向予測信号生成部213、双予測信号生成部214およびイントラ予測部215は、復号制御部216から指令を受けた場合は、各部における所定の予測信号生成処理(S207)を開始する。この予測信号生成処理では、第1修正予測信号生成処理(S207−1)、第2修正予測信号生成処理(S207−2)、片方向予測信号生成処理(S207−3)、双予測信号生成処理(S207−4)およびイントラ予測処理(S207−5)の中で、動作モードにより特定された処理が行われる。各部は、取得および生成した動き情報を、動き情報蓄積部207に供給し、生成した予測信号をモード識別部206に供給する。
ここで、上述の第1修正予測信号生成処理は、第1修正予測信号生成部210によって行われる。まず、第1修正予測信号生成部210は、動作モードに応じて、参照解析部209から、L0側の参照情報、予測動きベクトル情報および予測修正情報を取得する。第1修正予測信号生成部210は、参照解析部209から、取得可能であれば、L1側の参照情報および予測修正情報を取得する。第1修正予測信号生成部210は、ピクチャ蓄積部102から参照ピクチャを取得する。ここで、第1修正予測信号生成部210は、参照ピクチャを取得する際に、参照情報をピクチャ蓄積部202に供給する。第1修正予測信号生成部210は、動き情報蓄積部207から復号対象領域に属する残差動きベクトル情報を取得する。
第1修正予測信号生成部210は、取得した各情報に基づいて、所定のL0側の情報を基準とした修正予測信号生成処理を行い、動作モードに応じた参照情報、動きベクトル情報、予測信号を生成する。更に動作モードに応じて、修正参照情報および修正予測動きベクトル情報を生成する。第1修正予測信号生成部210は、取得および生成した動作モードに応じた動き情報を動き情報蓄積部207に供給する。第1修正予測信号生成部210は、生成した予測信号をモード識別部206に供給する。これにより、第1修正予測信号生成処理が完了する。
また、上述の第2修正予測信号生成処理は、第2修正予測信号生成部211によって行われる。まず、第2修正予測信号生成部211は、動作モードに応じて、参照解析部209から、取得可能であれば、L1側の参照情報、予測動きベクトル情報および予測修正情報を取得する。第2修正予測信号生成部211は、動作モードに応じて、参照解析部209から、取得可能であれば、L0側の参照情報および予測修正情報を取得する。第2修正予測信号生成部211は、ピクチャ蓄積部202から参照ピクチャを取得する。ここで、第2修正予測信号生成部211は、参照ピクチャを取得する際に、参照情報をピクチャ蓄積部202に供給する。第2修正予測信号生成部211は、動き情報蓄積部207から復号対象領域に属する残差動きベクトル情報を取得する。
第2修正予測信号生成部211は、取得した各情報に基づいて、所定のL1側の情報を基準とした修正予測信号生成処理を行い、動作モードに応じた参照情報、動きベクトル情報、予測信号を生成する。更に動作モードに応じて、修正参照情報および修正予測動きベクトル情報を生成する。第2修正予測信号生成部211は、取得および生成した動作モードに応じた動き情報を動き情報蓄積部207に供給する。第2修正予測信号生成部211は、生成した予測信号をモード識別部206に供給する。これにより、第2修正予測信号生成処理が完了する。
また、上述の片方向予測信号生成処理は、片方向予測信号生成部213によって行われる。まず、片方向予測信号生成部213は、動作モードから、L0側またはL1側のうちどちらの参照ピクチャを取得すべきか特定し、ピクチャ蓄積部202から、特定されたほうの参照ピクチャを取得する。ここで、片方向予測信号生成部213は、参照ピクチャを取得する際に、L0側またはL1側の参照情報をピクチャ蓄積部202に供給する。片方向予測信号生成部213は、動き予測部208から、特定されたL0側またはL1側の参照情報および予測動きベクトル情報を取得する。片方向予測信号生成部213は、動き情報蓄積部207から、復号対象領域に属する残差動きベクトル情報を取得する。片方向予測信号生成部213は、所定の片方向予測信号生成処理により、動きベクトル情報および予測信号を生成する。片方向予測信号生成部213は、生成した動き情報を動き情報蓄積部207に供給する。片方向予測信号生成部213は、生成した予測信号をモード識別部206に供給する。これにより、片方向予測信号生成処理が完了する。
また、上述の双予測信号生成処理は、双予測信号生成部214によって行われる。まず、双予測信号生成部214は、動作モードに基づいて、ピクチャ蓄積部202からL0側およびL1側の参照ピクチャを取得する。ここで、双予測信号生成部214は、参照ピクチャを取得する際に、L0側およびL1側の参照情報をピクチャ蓄積部202に供給する。双予測信号生成部214は、動き予測部208から、L0側およびL1側の参照情報および予測動きベクトル情報を取得する。双予測信号生成部214は、動き情報蓄積部207から、復号対象領域に属するL0側およびL1側の残差動きベクトル情報を取得する。
双予測信号生成部214は、所定の双予測信号生成処理によりL0側およびL1側それぞれの動きベクトル情報および予測信号を生成し、L0側の予測信号とL1側の予測信号とを合成することで、合成予測信号を生成する。双予測信号生成部214は、生成したL0側およびL1側のそれぞれの動き情報を動き情報蓄積部207に供給する。双予測信号生成部214は、生成したL0側およびL1側の予測信号をモード識別部206に供給する。これにより、双予測信号生成処理が完了する。
また、上述のイントラ予測処理は、イントラ予測部215によって行われる。まず、イントラ予測部215は、ピクチャ蓄積部202から、局部復号ピクチャを取得し、例えばAVCのように、所定のイントラ予測処理に基づいて、局部復号ピクチャから復号対象領域内の予測信号を生成し、モード識別部206に供給する。これにより、イントラ予測処理が完了する。
以上のような予測信号生成処理が完了すると、復号制御部216は、モード識別部206および加算部205に対して、復号信号生成開始指令を送る。モード識別部206および加算部205は、復号制御部216からの指令を受けて、復号信号生成処理(S208)を開始する。まず、モード識別部206では、取得した動作モードに応じた予測信号を、加算部205に供給する。その後、加算部205は、モード識別部206から予測信号、残差復号部204から復号残差情報を取得し、当該予測信号に当該復号残差情報を加算することで復号信号を生成し、ピクチャ蓄積部202に供給する。
その後、復号制御部216は、復号処理の進捗状態から、復号対象となっている復号ピクチャ全体の復号が完了したかどうかを確認する(S209)。復号ピクチャ全体の復号が完了していない場合(S209のNO)は、復号制御部216は、復号対象領域を次の復号対象領域に更新し、ステップS202に戻る。
復号ピクチャ全体の復号が完了した場合(S209のYES)は、復号制御部216は、出力部212に対して、出力開始指令を送る。出力部212は、復号制御部216の指令を受けて、ピクチャ蓄積部202から表示対象となっている参照ピクチャもしくは復号ピクチャを取得し、復号画像として、出力部212に接続されている外部の伝送装置241、記録媒体243を利用する、もしくは利用しない記録装置142や蓄積装置144等に出力する(S210)。
以上のようなステップにより、実施の形態1に係る動画像復号装置200の基本動作が完了する。
ここで、実施の形態1の動画像復号装置200の構成および動作により、以下のような効果が得られる。
まず、実施の形態1の動画像復号装置200では、実施の形態1の動画像符号化装置100によって生成された符号列を取得し、復号列生成部203により、復号対象領域に属する、少なくとも残差動きベクトル情報、参照情報、動作モード情報、残差符号化後情報、および符号化パラメータを生成し、動き情報蓄積部207に蓄積することができる。動き情報蓄積部207は、復号済み領域に属する動作モードや動き情報を蓄積することができる。このような動き情報蓄積部207から、動作モードに応じて動き予測部208は、復号対象領域に属する動き情報と、復号対象領域周辺の領域に属する動き情報を取得し、動作モードに応じた所定の動き予測処理により、少なくとも1本の予測動きベクトル情報を取得することができる。これにより、動作モードに応じて、この1本の予測動きベクトル情報から、もう一方の予測動きベクトル情報を、修正予測動きベクトル情報として導出できる。それとともに、修正予測動きベクトル情報に残差動きベクトル情報を加算することで、動きベクトル情報を生成することができる。この確定した動きベクトル情報に基づく予測信号と、最初に動き予測部208から得た予測動きベクトル情報に基づく予測信号とを合成することで、合成予測信号を生成することができる。このように、実施の形態1の動画像復号装置200では、取得した符号列から、実施の形態1の動画像符号化装置100と同様の、動作モードに応じた動きベクトル情報、および予測信号もしくは合成予測信号を得ることができ、実施の形態1の動画像符号化装置100によって生成された符号列を正しく復号することができる。
また、実施の形態1の動画像復号装置200では、動作モードに従って、修正予測動きベクトル情報として導出する構成、残差動きベクトル情報を加算することにより動きベクトル情報を生成する構成、および予測信号もしくは合成予測信号を生成する構成を備える。これにより、従来では取得できない、もう一方の予測動きベクトル情報や動きベクトル情報を得ることができる。これにより、従来の空間的、時間的ダイレクトモードのように、残差動きベクトル情報を利用せずに双予測を行った場合に、予測信号の品質が低下してしまい、結果的に符号量が増大してしまう場合があった。この点、実施の形態1の動画像復号装置200では、従来の手法による符号量以下の符号量をもつ符号列から1本分の残差動きベクトル情報を復号し、より確からしい位置の動きベクトル情報となるように修正できるため、より良い予測信号もしくは合成予測信号を、従来の手法による符号量以下の符号量から生成できる。
また、実施の形態1の動画像復号装置200では、例えばAVCのような従来型の予測信号生成部である、片方向予測信号生成部213、双予測信号生成部214、イントラ予測部215と、新たな構成要素である、第1修正予測信号生成部210および第2修正予測信号生成部211を備える。第1修正予測信号生成部210は、L0側の動き情報に基づいてL1側の修正予測動きベクトル情報を導出して予測信号もしくは合成予測信号を生成する。第2修正予測信号生成部211は、L1側の動き情報に基づいてL0側の修正予測動きベクトル情報を導出して予測信号もしくは合成予測信号を生成する。この構成によれば、動作モードに応じて、実施の形態1の動画像符号化装置100によって生成された符号列を正しく復号することができる。このように、従来型の予測信号生成部のみを備える構成では達成し得なかった符号量で符号化された符号列を取得し、動作モードに応じて、復号に必要となる各部を機能させて、動作モードに応じた予測信号もしくは合成予測信号を生成し、正しく復号することができる。
(実施の形態2) 動画像符号化装置および動画像復号装置の詳細な構成と動作.
次に、実施の形態2の動画像符号化装置として、実施の形態1の動画像符号化装置100における、第1修正予測信号生成部106および第2修正予測信号生成部107をより詳細な構成によって実現したものについて示す。実施の形態2における、第1修正予測信号生成部106および第2修正予測信号生成部107の詳細な構成に関して、図7(A)、図7(B)を用いて説明する。
図7(A)における第1修正予測信号生成部106は、例えば、第1L0片側予測信号生成部106−1、第2L0片側予測信号生成部106−2、第1L0−L1片側予測信号生成部106−3、第2L0−L1片側予測信号生成部106−4、第1L0−L1双予測信号生成部106−5、第2L0−L1双予測信号生成部106−6、第3L0−L1双予測信号生成部106−7および第4L0−L1双予測信号生成部106−8のうち、少なくとも1つ、2つ以上の任意の組み合わせ、または全てによって構成されると良い。ここでは、全て用いられるものとして話を進める。ここで、各部の名称に付けられているL0−L1は、L0側の参照情報もしくは修正参照情報および予測動きベクトル情報に基づいて、L1側の動きベクトル情報が導出される構成であることを示している。
同様に、図7(B)における第2修正予測信号生成部107は、例えば、第1L1片側予測信号生成部107−1、第2L1片側予測信号生成部107−2、第1L1−L0片側予測信号生成部107−3、第2L1−L0片側予測信号生成部107−4、第1L1−L0双予測信号生成部107−5、第2L1−L0双予測信号生成部107−6、第3L1−L0双予測信号生成部107−7、第4L1−L0双予測信号生成部107−8のうち、少なくとも1つ、2つ以上の任意の組み合わせ、または全てによって構成されると良い。ここでは、全て用いられるものとして話を進める。ここで、各部の名称に付けられているL1−L0は、L1側の参照情報もしくは修正参照情報および予測動きベクトル情報に基づいて、L0側の動きベクトル情報が導出される構成であることを示している。
図8(A)〜(C)および図9(A)〜(C)は、図7(A)および図7(B)における各部の詳細を示した構成図である。図8(A)は、第1L0片側予測信号生成部106−1および第2L0片側予測信号生成部106−2の構成図である。図8(B)は、第1L0−L1片側予測信号生成部106−3および第2L0−L1片側予測信号生成部106−4の構成図である。図8(C)は、第1L0−L1双予測信号生成部106−5、第2L0−L1双予測信号生成部106−6、第3L0−L1双予測信号生成部106−7および第4L0−L1双予測信号生成部106−8の構成図である。
同様に、図9(A)は、第1L1片側予測信号生成部107−1および第2L1片側予測信号生成部107−2の構成図である。図9(B)は、第1L1−L0片側予測信号生成部107−3および第2L1−L0片側予測信号生成部107−4の構成図である。図9(C)は、第1L1−L0双予測信号生成部107−5、第2L1−L0双予測信号生成部107−6、第3L1−L0双予測信号生成部107−7および第4L1−L0双予測信号生成部107−8の構成図である。
図8(A)の構成は、L0側の動き情報を基本として、L0側の動きベクトル情報を生成し、L0側の予測信号を生成するための構成である。図8(A)の構成は、L0側動き情報取得部801、参照先変更部802、L0側動き導出部803、参照ピクチャ取得部804、対象ピクチャ取得部805、L0側動き探索部806、mvd生成部807および片側予測信号生成部808を含む。
L0側動き情報取得部801は、所定のL0側動き情報取得処理を行う。この所定のL0側動き情報取得処理では、L0側動き情報取得部801は、参照解析部105から、対象領域に属するL0側の動き情報としてL0側の参照情報と予測動きベクトル情報、そして予測修正情報を取得する。L0側動き情報取得部801は、取得したL0側の動き情報を参照先変更部802に供給する。
参照先変更部802は、所定の参照先変更処理を行う。この所定の参照先変更処理では、参照先変更部802は、L0側動き情報取得部801からL0側の動き情報を取得する。参照先変更部802は、L0側の予測修正情報が「1」である場合には、所定の参照先変更処理により、参照情報を修正し、修正参照情報を生成する。ここで、所定の参照先変更処理は、動作モードに応じて機能させず、参照情報を修正参照情報にすると良い。例えば、第1L0片側予測信号生成部106−1は、この所定の参照先変更処理を機能させず、参照情報を修正参照情報にすると良い。第1L0片側予測信号生成部106−1は、動作モードとして、L0側の予測動きベクトル情報をL0側の修正参照情報によって修正せず、L0側の動きベクトル情報を生成してL0側の予測信号を生成するような、第1L0片側予測モードで動作する。一方、第2L0片側予測信号生成部106−2は、この所定の参照先変更処理を機能させるようにすると良い。第2L0片側予測信号生成部106−2は、動作モードとして、L0側の予測動きベクトル情報をL0側の修正参照情報によって修正し、L0側の動きベクトル情報を生成してL0側の予測信号を生成するような、第2L0片側予測モードで動作する。参照先変更部802は、取得および生成した動き情報を、L0側動き導出部803および参照ピクチャ取得部804に供給する。
L0側動き導出部803は、所定のL0側動き導出処理を行う。この所定のL0側動き導出処理では、L0側動き導出部803は、参照先変更部802から、L0側の動き情報を取得する。その後、L0側動き導出部803は、L0側の参照情報および修正参照情報から、対象ピクチャと参照情報から特定される参照ピクチャとの間の時間間隔td_l0と、対象ピクチャと修正参照情報から特定される参照ピクチャとの間の時間間隔m_td_l0を求める。予測動きベクトル情報をmvp_l0、修正予測動きベクトル情報をm_mvp_l0とした時に、
m_mvp_l0 = mvp_l0 × m_td_l0 / td_l0
・・・(式1)
とすることで、L0側の修正予測動きベクトル情報を導出する。L0側動き導出部803は、取得および生成した動き情報を、L0側動き探索部806に供給する。
参照ピクチャ取得部804は、所定の参照ピクチャ取得処理を行う。この所定の参照ピクチャ取得処理では、参照ピクチャ取得部804は、参照先変更部802から、動き情報として修正参照情報を取得する。参照ピクチャ取得部804は、L0側の修正参照情報をピクチャ蓄積部102に供給し、特定された参照ピクチャを取得する。参照ピクチャ取得部804は、取得した参照ピクチャをL0側動き探索部806および片側予測信号生成部808に供給する。
対象ピクチャ取得部805は、所定の対象ピクチャ取得処理を行う。この所定の対象ピクチャ取得処理では、対象ピクチャ取得部805は、入力部101から対象信号を取得し、L0側動き探索部806に供給する。
L0側動き探索部806は、所定のL0側動き探索処理を行う。この所定のL0側動き探索処理では、L0側動き探索部806は、L0側動き導出部803からL0側の動き情報、参照ピクチャ取得部804から参照ピクチャおよび対象ピクチャ取得部805から対象信号をそれぞれ取得する。L0側動き探索部806は、取得した修正予測動きベクトル情報を利用して、例えばAVCのような、所定の動き探索処理を行い、動きベクトル情報を生成する。L0側動き探索部806は、取得および生成した動き情報を、mvd生成部807に供給する。
mvd生成部807は、所定のmvd生成処理を行う。この所定のmvd生成処理では、mvd生成部807は、L0側動き探索部806から動き情報を取得し、取得したL0側の動きベクトル情報からL0側の修正予測動きベクトル情報を減算し、L0側の残差動きベクトル情報を生成する。mvd生成部807は、取得および生成した動き情報を、片側予測信号生成部808に供給する。
片側予測信号生成部808は、所定の片側予測信号生成処理を行う。この所定の片側予測信号生成処理では、片側予測信号生成部808は、mvd生成部807から動き情報、参照ピクチャ取得部804から参照ピクチャを取得する。片側予測信号生成部808は、取得した動きベクトル情報に基づいて、例えばAVCのような、所定の動き補償処理により、予測信号を生成する。片側予測信号生成部808は、動作モードを特定するための動作モード情報、動き情報および予測信号を、モード判定部108に供給する。片側予測信号生成部808は、取得および生成した動き情報を、動作モード情報とともに動き情報蓄積部103に供給する。
図8(B)の構成は、L0側の動き情報を基本として、L1側の動きベクトル情報を生成し、L1側の予測信号を生成するための構成である。図8(B)の構成は、L0側動き情報取得部821、L1側参照情報取得部822、参照先変更部823、L1側動き導出部824、参照ピクチャ取得部825、対象ピクチャ取得部826、L1側動き探索部827、mvd生成部828および片側予測信号生成部829を含む。
L0側動き情報取得部821は、所定のL0側動き情報取得処理を行う。この所定のL0側動き情報取得処理では、L0側動き情報取得部821は、参照解析部105から、対象領域に属するL0側の動き情報としてL0側の参照情報と予測動きベクトル情報、そして予測修正情報を取得する。L0側動き情報取得部821は、取得したL0側の動き情報を、参照先変更部823に供給する。
L1側参照情報取得部822は、所定のL1側参照情報取得処理を行う。この所定のL1側参照情報取得処理では、L1側参照情報取得部822は、参照解析部105から、取得可能であれば、L1側の参照情報および予測修正情報を取得し、参照先変更部823に供給する。
参照先変更部823は、所定の参照先変更処理を行う。この所定の参照先変更処理では、参照先変更部823は、L0側動き情報取得部821からL0側の動き情報、L1側参照情報取得部822からL1側の参照情報および予測修正情報を取得する。参照先変更部823は、L1側の予測修正情報が「1」である場合には、所定の参照先変更処理により、参照情報を修正し、修正参照情報を生成する。ここで、所定の参照先変更処理は、動作モードに応じて機能させず、参照情報を修正参照情報にすると良い。例えば、第1L0−L1片側予測信号生成部106−3は、この所定の参照先変更処理を機能させず、参照情報を修正参照情報にすると良い。第1L0−L1片側予測信号生成部106−3は、動作モードとして、L0側の予測動きベクトル情報を、L1側の修正参照情報ではなく参照情報に基づいて修正し、L1側の動きベクトル情報を生成してL1側の予測信号を生成するような、第1L0−L1片側予測モードで動作する。また、第2L0−L1片側予測信号生成部106−4は、この所定の参照先変更処理を機能させるようにすると良い。第2L0−L1片側予測信号生成部106−4は、動作モードとして、L0側の予測動きベクトル情報を、L1側の修正参照情報に基づいて修正し、L1側の動きベクトル情報を生成してL1側の予測信号を生成するような、第2L0−L1片側予測モードで動作する。参照先変更部823は、取得および生成したL0側およびL1側の動き情報を、L1側動き導出部824および参照ピクチャ取得部825に供給する。
L1側動き導出部824は、所定のL1側動き導出処理を行う。この所定のL1側動き導出処理では、L1側動き導出部824は、参照先変更部823から、L0側およびL1側の動き情報を取得する。その後、L1側動き導出部824は、動作モードとして第1L0−L1片側予測モードで動作している場合、L0側の参照情報から、対象ピクチャとL0側の参照情報から特定される参照ピクチャとの間の時間間隔td_l0と、L1側の参照情報から、対象ピクチャとL1側の参照情報から特定される参照ピクチャとの間の時間間隔td_l1を求める。予測動きベクトル情報をmvp_l0、修正予測動きベクトル情報をm_mvp_l1とした時に、
m_mvp_l1 = mvp_l0 × td_l1 / td_l0
・・・(式2)
とすることで、L0側の予測動きベクトル情報から、L1側の修正予測動きベクトル情報を導出する。
また、L1側動き導出部824は、動作モードとして第2L0−L1片側予測モードで動作している場合、L0側の参照情報から、対象ピクチャとL0側の参照情報から特定される参照ピクチャとの間の時間間隔td_l0と、L1側の参照情報から、対象ピクチャとL1側の修正参照情報から特定される参照ピクチャとの間の時間間隔m_td_l1を求める。予測動きベクトル情報をmvp_l0、修正予測動きベクトル情報をm_mvp_l1とした時に、
m_mvp_l1 = mvp_l0 × m_td_l1 / td_l0
・・・(式3)
とすることで、L0側の予測動きベクトル情報から、L1側の修正参照情報に基づいてL1側の修正予測動きベクトル情報を導出する。ここで、L1側の参照情報とL1側の修正参照情報が同じである場合には、上述の(式3)によってL1側の修正予測動きベクトル情報を導出しても構わない。このようにすることで、処理を統一化することが可能となる。L1側動き導出部824は、取得および生成したL0側およびL1側の動き情報を、L1側動き探索部827に供給する。
参照ピクチャ取得部825は、所定の参照ピクチャ取得処理を行う。この所定の参照ピクチャ取得処理では、参照ピクチャ取得部825は、参照先変更部823から、L1側の動き情報として修正参照情報を取得する。参照ピクチャ取得部825は、L1側の修正参照情報をピクチャ蓄積部102に供給し、特定された参照ピクチャを取得する。参照ピクチャ取得部825は、取得した参照ピクチャをL1側動き探索部827および片側予測信号生成部829に供給する。
対象ピクチャ取得部826は、所定の対象ピクチャ取得処理を行う。この所定の対象ピクチャ取得処理では、対象ピクチャ取得部826は、入力部101から対象信号を取得し、L1側動き探索部827に供給する。
L1側動き探索部827は、所定のL1側動き探索処理を行う。この所定のL1側動き探索処理では、L1側動き探索部827は、L1側動き導出部824からL0側およびL1側の動き情報、参照ピクチャ取得部825から参照ピクチャ、および対象ピクチャ取得部826から対象信号をそれぞれ取得する。L1側動き探索部827は、取得したL1側の修正予測動きベクトル情報を利用して、例えばAVCのような、所定の動き探索処理を行い、L1側の動きベクトル情報を生成する。L1側動き探索部827は、取得および生成したL0側およびL1側の動き情報を、mvd生成部828に供給する。
mvd生成部828は、所定のmvd生成処理を行う。この所定のmvd生成処理では、mvd生成部828は、L1側動き探索部827からL0側およびL1側の動き情報を取得し、取得したL1側の動きベクトル情報からL1側の修正予測動きベクトル情報を減算し、L1側の残差動きベクトル情報を生成する。mvd生成部828は、取得および生成したL0側およびL1側の動き情報を、片側予測信号生成部829に供給する。
片側予測信号生成部829は、所定の片側予測信号生成処理を行う。この所定の片側予測信号生成処理では、片側予測信号生成部829は、mvd生成部828からL0側およびL1側の動き情報、参照ピクチャ取得部825から参照ピクチャを取得する。片側予測信号生成部829は、取得したL1側の動きベクトル情報に基づいて、例えばAVCのような、所定の動き補償処理により、予測信号を生成する。片側予測信号生成部829は、動作モードを特定するための動作モード情報、動き情報および予測信号を、モード判定部108に供給する。片側予測信号生成部829は、取得および生成したL0側およびL1側の動き情報を、動作モード情報とともに動き情報蓄積部103に供給する。
図8(C)の構成は、L0側の動き情報を基本として、L1側の動きベクトル情報を生成し、L0側の予測信号とL1側の予測信号を生成した上で、双予測信号となる合成予測信号を生成するための構成である。図8(C)の構成は、L0側動き情報取得部841、L1側参照情報取得部842、参照先変更部843、L0側動き導出部844、L1側動き導出部845、参照ピクチャ取得部846、対象ピクチャ取得部847、L1側動き探索部848、mvd生成部849および双予測信号生成部850を含む。
L0側動き情報取得部841は、所定のL0側動き情報取得処理を行う。この所定のL0側動き情報取得処理では、L0側動き情報取得部841は、参照解析部105から、対象領域に属するL0側の動き情報としてL0側の参照情報と予測動きベクトル情報、そして予測修正情報を取得する。L0側動き情報取得部841は、取得したL0側の動き情報を、参照先変更部843に供給する。
L1側参照情報取得部842は、所定のL1側参照情報取得処理を行う。この所定のL1側参照情報取得処理では、L1側参照情報取得部842は、参照解析部105から、取得可能であれば、L1側の参照情報および予測修正情報を取得し、参照先変更部843に供給する。
参照先変更部843は、所定の参照先変更処理を行う。この所定の参照先変更処理では、参照先変更部843は、L0側動き情報取得部821からL0側の動き情報、L1側参照情報取得部822からL1側の参照情報および予測修正情報を取得する。参照先変更部843は、L0側の予測修正情報が「1」である場合には、所定の参照先変更処理により、L0側の参照情報を修正し、L0側の修正参照情報を生成する。
同様に、参照先変更部843は、L1側の予測修正情報が「1」である場合には、所定の参照先変更処理により、L1側の参照情報を修正し、L1側の修正参照情報を生成する。ここで、所定の参照先変更処理は、動作モードに応じて機能させず、参照情報を修正参照情報にすると良い。例えば、第1L0−L1双予測信号生成部106−5は、この所定の参照先変更処理を機能させず、参照情報を修正参照情報にすると良い。第1L0−L1双予測信号生成部106−5は、動作モードとして、L0側は参照情報、L1側は参照情報を利用し、L0側の予測動きベクトル情報に対してL1側の参照情報を適用して修正することにより、L1側の修正予測動きベクトル情報を導出し、L0側の参照情報および予測動きベクトル情報からL0側の予測信号を生成するとともに、L1側の参照情報および修正予測動きベクトル情報からL1側の予測信号を生成した上で、合成予測信号を生成するような、第1L0−L1双予測モードで動作する。
また、第2L0−L1双予測信号生成部106−6は、この所定の参照先変更処理を機能させるようにすると良い。第2L0−L1双予測信号生成部106−6は、動作モードとして、L0側は参照情報、L1側は修正参照情報を利用し、L0側の予測動きベクトル情報に対してL1側の修正参照情報を適用して修正することにより、L1側の修正予測動きベクトル情報を導出し、L0側の参照情報および予測動きベクトル情報からL0側の予測信号を生成するとともに、L1側の修正参照情報および修正予測動きベクトル情報からL1側の予測信号を生成した上で、合成予測信号を生成するような、第2L0−L1双予測モードで動作する。
また、第3L0−L1双予測信号生成部106−7は、この所定の参照先変更処理を機能させるようにすると良い。第3L0−L1双予測信号生成部106−7は、動作モードとして、L0側は修正参照情報、L1側は参照情報を利用し、L0側の予測動きベクトル情報に対してL0側の修正参照情報を適用して修正することによりL0側の修正予測動きベクトル情報を導出し、更に、L0側の予測動きベクトル情報に対してL1側の参照情報を適用して修正することにより、L1側の修正予測動きベクトル情報を導出し、L0側の修正参照情報および修正予測動きベクトル情報からL0側の予測信号を生成するとともに、L1側の参照情報および修正予測動きベクトル情報からL1側の予測信号を生成した上で、合成予測信号を生成するような、第3L0−L1双予測モードで動作する。
また、第4L0−L1双予測信号生成部106−8は、この所定の参照先変更処理を機能させるようにすると良い。第4L0−L1双予測信号生成部106−8は、動作モードとして、L0側は修正参照情報、L1側は修正参照情報を利用し、L0側の予測動きベクトル情報に対してL0側の修正参照情報を適用して修正することによりL0側の修正予測動きベクトル情報を導出し、更に、L0側の予測動きベクトル情報に対してL1側の修正参照情報を適用して修正することにより、L1側の修正予測動きベクトル情報を導出し、L0側の修正参照情報および修正予測動きベクトル情報からL0側の予測信号を生成するとともに、L1側の修正参照情報および修正予測動きベクトル情報からL1側の予測信号を生成した上で、合成予測信号を生成するような、第4L0−L1双予測モードで動作する。
参照先変更部843は、取得および生成したL0側の動き情報をL0側動き導出部844に、取得および生成したL0側およびL1側の動き情報をL1側動き導出部845および参照ピクチャ取得部846に供給する。
L0側動き導出部844は、所定のL0側動き導出処理を行う。この所定のL0側動き導出処理では、L0側動き導出部844は、参照先変更部843から、L0側の動き情報を取得する。その後、L0側動き導出部844は、動作モードとして第1L0−L1双予測モードもしくは第2L0−L1双予測モードで動作している場合、この所定のL0側動き導出処理を機能させず、L0側の予測動きベクトル情報を修正予測動きベクトル情報にすると良い。
また、L0側動き導出部844は、動作モードとして第3L0−L1双予測モードもしくは第4L0−L1双予測モードで動作している場合、L0側の参照情報から、対象ピクチャとL0側の参照情報から特定される参照ピクチャとの間の時間間隔td_l0と、L0側の修正参照情報から、対象ピクチャとL0側の修正参照情報から特定される参照ピクチャとの間の時間間隔m_td_l0を求める。L0側の予測動きベクトル情報をmvp_l0、L0側の修正予測動きベクトル情報をm_mvp_l0とした時に、
m_mvp_l0 = mvp_l0 × m_td_l0 / td_l0
・・・(式4)
とすることで、L0側の予測動きベクトル情報から、L0側の修正予測動きベクトル情報を導出する。ここで、L0側の参照情報とL0側の修正参照情報が同じである場合には、上述の(式4)によってL0側の修正予測動きベクトル情報を導出しても構わない。このようにすることで、処理を統一化することが可能となる。L0側動き導出部844は、取得および生成したL0側の動き情報を、双予測信号生成部850に供給する。
L1側動き導出部845は、所定のL1側動き導出処理を行う。この所定のL1側動き導出処理では、L1側動き導出部845は、参照先変更部843から、L0側およびL1側の動き情報を取得する。その後、L1側動き導出部845は、動作モードとして第1L0−L1双予測モードもしくは第3L0−L1双予測モードで動作している場合、L0側の参照情報から、対象ピクチャとL0側の参照情報から特定される参照ピクチャとの間の時間間隔td_l0と、L1側の参照情報から、対象ピクチャとL1側の参照情報から特定される参照ピクチャとの間の時間間隔td_l1を求める。L0側の予測動きベクトル情報をmvp_l0、L1側の修正予測動きベクトル情報をm_mvp_l1とした時に、
m_mvp_l1 = mvp_l0 × td_l1 / td_l0
・・・(式5)
とすることで、L0側の予測動きベクトル情報から、L1側の修正予測動きベクトル情報を導出する。
また、L1側動き導出部845は、動作モードとして第2L0−L1双予測モードもしくは第4L0−L1双予測モードで動作している場合、L0側の参照情報から、対象ピクチャとL0側の参照情報から特定される参照ピクチャとの間の時間間隔td_l0と、L1側の参照情報から、対象ピクチャとL1側の修正参照情報から特定される参照ピクチャとの間の時間間隔m_td_l1を求める。予測動きベクトル情報をmvp_l0、修正予測動きベクトル情報をm_mvp_l1とした時に、
m_mvp_l1 = mvp_l0 × m_td_l1 / td_l0
・・・(式6)
とすることで、L0側の予測動きベクトル情報から、L1側の修正参照情報に基づいてL1側の修正予測動きベクトル情報を導出する。ここで、L1側の参照情報とL1側の修正参照情報が同じである場合には、上述の(式6)によってL1側の修正予測動きベクトル情報を導出しても構わない。このようにすることで、処理を統一化することが可能となる。L1側動き導出部845は、取得および生成したL0側およびL1側の動き情報を、L1側動き探索部848に供給する。
参照ピクチャ取得部846は、所定の参照ピクチャ取得処理を行う。この所定の参照ピクチャ取得処理では、参照ピクチャ取得部846は、参照先変更部843から、L0側およびL1側の動き情報として修正参照情報を取得する。参照ピクチャ取得部846は、L0側およびL1側の修正参照情報をピクチャ蓄積部102に供給し、特定されたL0側およびL1側の参照ピクチャを取得する。参照ピクチャ取得部846は、取得したL1側の参照ピクチャをL1側動き探索部827に供給する。参照ピクチャ取得部846は、取得したL0側およびL1側の参照ピクチャを双予測信号生成部850に供給する。
対象ピクチャ取得部847は、所定の対象ピクチャ取得処理を行う。この所定の対象ピクチャ取得処理では、対象ピクチャ取得部847は、入力部101から対象信号を取得し、L1側動き探索部848に供給する。
L1側動き探索部848は、所定のL1側動き探索処理を行う。この所定のL1側動き探索処理では、L1側動き探索部848は、L1側動き導出部845からL0側およびL1側の動き情報、参照ピクチャ取得部846から参照ピクチャ、および対象ピクチャ取得部847から対象信号をそれぞれ取得する。L1側動き探索部848は、取得したL1側の修正予測動きベクトル情報を利用して、例えばAVCのような、所定の動き探索処理を行い、L1側の動きベクトル情報を生成する。L1側動き探索部848は、取得および生成したL0側およびL1側の動き情報を、mvd生成部849に供給する。
mvd生成部849は、所定のmvd生成処理を行う。この所定のmvd生成処理では、mvd生成部849は、L1側動き探索部848からL0側およびL1側の動き情報を取得し、取得したL1側の動きベクトル情報からL1側の修正予測動きベクトル情報を減算し、L1側の残差動きベクトル情報を生成する。mvd生成部849は、取得および生成したL0側およびL1側の動き情報を、双予測信号生成部850に供給する。
双予測信号生成部850は、所定の双予測信号生成処理を行う。この所定の双予測信号生成処理では、双予測信号生成部850は、mvd生成部828からL0側およびL1側の動き情報、参照ピクチャ取得部825からL0側およびL1側の参照ピクチャを取得する。双予測信号生成部850は、取得したL0側の修正予測動きベクトル情報に基づいて、例えばAVCのような、所定の動き補償処理により、L0側の予測信号を生成する。また、双予測信号生成部850は、取得したL1側の動きベクトル情報に基づいて、例えばAVCのような、所定の動き補償処理により、L1側の予測信号を生成する。その後、双予測信号生成部850は、生成したL0側の予測信号とL1側の予測信号を合成した合成予測信号を生成することで、双予測信号を得る。双予測信号生成部850は、動作モードを特定するための動作モード情報、取得および生成したL0側およびL1側の動き情報および合成予測信号を、モード判定部108に供給する。また、双予測信号生成部850は、取得および生成したL0側およびL1側の動き情報を、動作モード情報とともに動き情報蓄積部103に供給する。
図8(A)の構成では、L0側の動き情報を基本として、L0側の動きベクトル情報を生成し、L0側の予測信号を生成するための構成であった。これに対し、図9(A)の構成では、L0側とL1側の扱いを逆として、L1側の動き情報を基本として、L1側の予測信号を生成するための構成とした点が図8(A)の構成と異なっている。図9(A)の構成における各部の詳細に関しては、L0側とL1側の扱いを逆として考えることで図8(A)の構成と同等の機能をもつと考えられることから、説明を省略する。
図8(B)の構成では、L0側の動き情報を基本として、L1側の動きベクトル情報を生成し、L1側の予測信号を生成するための構成であった。これに対し、図9(B)の構成では、L0側とL1側の扱いを逆として、L1側の動き情報を基本として、L0側の動きベクトル情報を生成し、L0側の予測信号を生成するための構成とした点が図8(B)の構成と異なっている。図9(B)の構成における各部の詳細に関しては、L0側とL1側の扱いを逆として考えることで図8(B)の構成と同等の機能をもつと考えられることから、説明を省略する。
図8(C)の構成では、L0側の動き情報を基本として、L1側の動きベクトル情報を生成し、L0側の予測信号とL1側の予測信号を生成した上で、双予測信号となる合成予測信号を生成するための構成であった。これに対し、図9(C)の構成は、L0側とL1側の扱いを逆として、L1側の動き情報を基本として、L0側の動きベクトル情報を生成し、L0側の予測信号とL1側の予測信号を生成した上で、双予測信号となる合成予測信号を生成するための構成とした点が図8(C)の構成と異なっている。図9(C)の構成における各部の詳細に関しては、L0側とL1側の扱いを逆として考えることで図8(C)の構成と同等の機能をもつと考えられることから、説明を省略する。
次に、図8(A)の構成における動作について、図10のフローチャートを用いて説明する。
まず、予測信号生成開始指令を受けると、L0側動き情報取得部801は、参照解析部105から、対象領域に属するL0側の動き情報としてL0側の参照情報、予測動きベクトル情報および予測修正情報を取得する(S301)。その後、L0側動き情報取得部801は、取得したL0側の動き情報を参照先変更部802に供給する。
参照先変更部802は、L0側動き情報取得部801からL0側の動き情報を取得する。参照先変更部802は、L0側の予測修正情報が「1」である場合には、所定の参照先変更処理により、参照情報を修正し、修正参照情報を生成する。このようにして、L0側の参照先を変更する(S302)。ここで、動作モードとして、第1L0片側予測モードの場合は、参照先変更処理を機能させず、参照情報を修正参照情報とすると良い。また、動作モードとして、第2L0片側予測モードの場合は、参照先変更処理を機能させるようにすると良い。その後、参照先変更部802は、取得および生成した動き情報を、L0側動き導出部803および参照ピクチャ取得部804に供給する。
次に、L0側動き導出部803は、参照先変更部802から、L0側の動き情報を取得する。その後、L0側動き導出部803は、所定のL0側動き導出処理を行い、L0側の修正予測動きベクトル情報を導出する(S303)。その後、L0側動き導出部803は、取得および生成した動き情報を、L0側動き探索部806に供給する。
その後、参照ピクチャ取得部804は、参照先変更部802から、動き情報として修正参照情報を取得する。参照ピクチャ取得部804は、L0側の修正参照情報をピクチャ蓄積部102に供給し、特定された参照ピクチャを取得する(S304)。参照ピクチャ取得部804は、取得した参照ピクチャをL0側動き探索部806および片側予測信号生成部808に供給する。
その後、対象ピクチャ取得部805は、入力部101から対象信号を取得し(S305)、L0側動き探索部806に供給する。
その後、L0側動き探索部806は、L0側動き導出部803からL0側の動き情報、参照ピクチャ取得部804から参照ピクチャ、および対象ピクチャ取得部805から対象信号をそれぞれ取得する。L0側動き探索部806は、取得した修正予測動きベクトル情報を利用して、例えばAVCのような、所定の動き探索処理を行うことでL0側の動き探索を行い、動きベクトル情報を確定させる(S306)。その後、L0側動き探索部806は、取得および生成した動き情報を、mvd生成部807に供給する。
次に、mvd生成部807は、L0側動き探索部806から動き情報を取得し、取得したL0側の動きベクトル情報からL0側の修正予測動きベクトル情報を減算し、L0側の残差動きベクトル情報を生成する(S307)。mvd生成部807は、取得および生成した動き情報を、片側予測信号生成部808に供給する。
その後、片側予測信号生成部808は、mvd生成部807から動き情報、参照ピクチャ取得部804から参照ピクチャを取得する。片側予測信号生成部808は、取得した動きベクトル情報に基づいて、例えばAVCのような、所定の動き補償処理により、L0側の予測信号を生成する(S308)。その後、片側予測信号生成部808は、動作モードを特定するための動作モード情報、動き情報および予測信号を、モード判定部108に供給する。また、片側予測信号生成部808は、取得および生成した動き情報を、動作モード情報とともに動き情報蓄積部103に供給する。
以上のステップにより、図8(A)の構成における動作が完了する。
次に、図8(B)の構成における動作について、図11のフローチャートを用いて説明する。
まず、予測信号生成開始指令を受けると、L0側動き情報取得部821は、参照解析部105から、対象領域に属するL0側の動き情報としてL0側の参照情報、予測動きベクトル情報および予測修正情報を取得する(S401)。その後、L0側動き情報取得部821は、取得したL0側の動き情報を、参照先変更部823に供給する。
L1側参照情報取得部822は、参照解析部105から、取得可能であれば、L1側の参照情報、予測修正情報を取得し(S402)、参照先変更部823に供給する。
その後、参照先変更部823は、L0側動き情報取得部821からL0側の動き情報、L1側参照情報取得部822からL1側の参照情報および予測修正情報を取得する。参照先変更部823は、L1側の予測修正情報が「1」である場合には、所定の参照先変更処理により、参照情報を修正し、修正参照情報を生成する。このようにしてL1側の参照先を変更する(S403)。ここで、動作モードとして、第1L0−L1片側予測モードの場合は、参照先変更処理を機能させず、参照情報を修正参照情報とすると良い。また、動作モードとして、第2L0−L1片側予測モードの場合は、参照先変更処理を機能させるようにすると良い。その後、参照先変更部823は、取得および生成したL0側およびL1側の動き情報を、L1側動き導出部824および参照ピクチャ取得部825に供給する。
その後、L1側動き導出部824は、参照先変更部823から、L0側およびL1側の動き情報を取得する。その後、L1側動き導出部824は、所定のL1側動き導出処理を行い、L0側からL1側の修正予測動きベクトル情報を導出する(S404)。その後、L1側動き導出部824は、取得および生成したL0側およびL1側の動き情報を、L1側動き探索部827に供給する。
次に、参照ピクチャ取得部825は、参照先変更部823から、L1側の動き情報として修正参照情報を取得する。参照ピクチャ取得部825は、L1側の修正参照情報をピクチャ蓄積部102に供給し、特定された参照ピクチャを取得する(S405)。その後、参照ピクチャ取得部825は、取得した参照ピクチャをL1側動き探索部827および片側予測信号生成部829に供給する。
その後、対象ピクチャ取得部826は、入力部101から対象信号を取得し(S406)、L1側動き探索部827に供給する。
次に、L1側動き探索部827は、L1側動き導出部824からL0側およびL1側の動き情報、参照ピクチャ取得部825から参照ピクチャ、ならびに対象ピクチャ取得部826から対象信号をそれぞれ取得する。その後、L1側動き探索部827は、取得したL1側の修正予測動きベクトル情報を利用して、例えばAVCのような、所定の動き探索処理を行い、L1側の動きベクトル情報を確定させる(S407)。その後、L1側動き探索部827は、取得および生成したL0側およびL1側の動き情報を、mvd生成部828に供給する。
その後、mvd生成部828は、L1側動き探索部827からL0側およびL1側の動き情報を取得し、取得したL1側の動きベクトル情報からL1側の修正予測動きベクトル情報を減算し、L1側の残差動きベクトル情報を生成する(S408)。その後、mvd生成部828は、取得および生成したL0側およびL1側の動き情報を、片側予測信号生成部829に供給する。
その後、片側予測信号生成部829は、mvd生成部828からL0側およびL1側の動き情報、参照ピクチャ取得部825から参照ピクチャを取得する。その後、片側予測信号生成部829は、取得したL1側の動きベクトル情報に基づいて、例えばAVCのような、所定の動き補償処理により、L1側の予測信号を生成する(S409)。片側予測信号生成部829は、動作モードを特定するための動作モード情報、動き情報および予測信号を、モード判定部108に供給する。片側予測信号生成部829は、取得および生成したL0側およびL1側の動き情報を、動作モード情報とともに動き情報蓄積部103に供給する。
以上のステップにより、図8(B)の構成における動作が完了する。
次に、図8(C)の構成における動作について、図12のフローチャートを用いて説明する。
まず、予測信号生成開始指令を受けると、L0側動き情報取得部841は、参照解析部105から、対象領域に属するL0側の動き情報としてL0側の参照情報、予測動きベクトル情報および予測修正情報を取得する(S501)。その後、L0側動き情報取得部841は、取得したL0側の動き情報を、参照先変更部843に供給する。
その後、L1側参照情報取得部842は、参照解析部105から、取得可能であれば、L1側の参照情報および予測修正情報を取得し(S502)、参照先変更部843に供給する。
次に、参照先変更部843は、L0側動き情報取得部821からL0側の動き情報、L1側参照情報取得部822からL1側の参照情報および予測修正情報を取得する。参照先変更部843は、L0側の予測修正情報が「1」である場合には、所定の参照先変更処理により、L0側の参照情報を修正し、L0側の修正参照情報を生成する。同様に、参照先変更部843は、L1側の予測修正情報が「1」である場合には、所定の参照先変更処理により、L1側の参照情報を修正し、L1側の修正参照情報を生成する。このようにして、L0側および/またはL1側の参照先を変更する(S503)。ここで、動作モードとして、第1L0−L1双予測モードの場合は、この所定の参照先変更処理を機能させず、参照情報を修正参照情報にすると良い。また、動作モードとして、第2L0−L1双予測モード、第3L0−L1双予測モードおよび第4L0−L1双予測モードの場合は、この所定の参照先変更処理を機能させるようにすると良い。その後、参照先変更部843は、取得および生成したL0側の動き情報をL0側動き導出部844、取得および生成したL0側およびL1側の動き情報をL1側動き導出部845および参照ピクチャ取得部846に供給する。
次に、L0側動き導出部844は、参照先変更部843から、L0側の動き情報を取得する。その後、L0側動き導出部844は、所定のL0側動き導出処理を行い、L0側からL0側の修正予測動きベクトル情報を導出する(S504)。その後、L0側動き導出部844は、取得および生成したL0側の動き情報を、双予測信号生成部850に供給する。
また、L1側動き導出部845は、参照先変更部843から、L0側およびL1側の動き情報を取得する。その後、L1側動き導出部845は、所定のL1側動き導出処理を行い、L0側からL1側の修正予測動きベクトル情報を導出する(S505)。その後、L1側動き導出部845は、取得および生成したL0側およびL1側の動き情報を、L1側動き探索部848に供給する。
参照ピクチャ取得部846は、参照先変更部843から、L0側およびL1側の動き情報として修正参照情報を取得する。その後、参照ピクチャ取得部846は、L0側およびL1側の修正参照情報をピクチャ蓄積部102に供給し、特定されたL0側およびL1側の参照ピクチャを取得する(S506)。その後、参照ピクチャ取得部846は、取得したL1側の参照ピクチャをL1側動き探索部827に供給する。また、参照ピクチャ取得部846は、取得したL0側およびL1側の参照ピクチャを双予測信号生成部850に供給する。
また、対象ピクチャ取得部847は、入力部101から対象信号を取得し(S507)、L1側動き探索部848に供給する。
次に、L1側動き探索部848は、L1側動き導出部845からL0側およびL1側の動き情報、参照ピクチャ取得部846から参照ピクチャ、および対象ピクチャ取得部847から対象信号をそれぞれ取得する。その後、L1側動き探索部848は、取得したL1側の修正予測動きベクトル情報を利用して、例えばAVCのような、所定の動き探索処理によってL1側の動き探索を行い、動きベクトル情報を確定させる(S508)。その後、L1側動き探索部848は、取得および生成したL0側およびL1側の動き情報を、mvd生成部849に供給する。
次に、mvd生成部849は、L1側動き探索部848からL0側およびL1側の動き情報を取得し、取得したL1側の動きベクトル情報からL1側の修正予測動きベクトル情報を減算し、L1側の残差動きベクトル情報を生成する(S509)。その後、mvd生成部849は、取得および生成したL0側およびL1側の動き情報を、双予測信号生成部850に供給する。
次に、双予測信号生成部850は、mvd生成部828からL0側およびL1側の動き情報、参照ピクチャ取得部825からL0側およびL1側の参照ピクチャを取得する。その後、双予測信号生成部850は、取得したL0側の修正予測動きベクトル情報に基づいて、例えばAVCのような、所定の動き補償処理により、L0側の予測信号を生成する(S510)。
また、双予測信号生成部850は、取得したL1側の動きベクトル情報に基づいて、例えばAVCのような、所定の動き補償処理により、L1側の予測信号を生成する(S511)。
その後、双予測信号生成部850は、生成したL0側の予測信号とL1側の予測信号を合成した合成予測信号を生成する(S512)ことで、双予測信号を得る。その後、双予測信号生成部850は、動作モードを特定するための動作モード情報、取得および生成したL0側およびL1側の動き情報、および合成予測信号を、モード判定部108に供給する。双予測信号生成部850は、取得および生成したL0側およびL1側の動き情報を、動作モード情報とともに動き情報蓄積部103に供給する。
以上のステップにより、図8(C)の構成における動作が完了する。
図9(A)の構成における動作は、図13のフローチャートによって示される。ここで、図9(A)の構成における動作は、図8(A)の構成における動作を示す図10において、L0側とL1側の扱いを逆として、動作させたものと同等であることから、説明を省略する。
図9(B)の構成における動作は、図14のフローチャートによって示される。ここで、図9(B)の構成における動作は、図8(B)の構成における動作を示す図11において、L0側とL1側の扱いを逆として、動作させたものと同等であることから、説明を省略する。
図9(C)の構成における動作は、図15のフローチャートによって示される。ここで、図9(C)の構成における動作は、図8(C)の構成における動作を示す図12において、L0側とL1側の扱いを逆として、動作させたものと同等であることから、説明を省略する。
ここで、実施の形態2の動画像符号化装置100の構成および動作により、以下のような効果が得られる。
まず、実施の形態2の動画像符号化装置100における、第1修正予測信号生成部106の構成を、図8(A)に示されるような、図7(A)の第1L0片側予測信号生成部106−1、第2L0片側予測信号生成部106−2を含むようにする。これにより、L0側の動き情報を基本として、L0側の動きベクトル情報を生成し、L0側の予測信号を生成できるようになる。これにより、実施の形態2の動画像符号化装置100において、L0側の動き情報だけしか利用できない場合においても、L0側の参照情報の参照先を変更できるようにすることで、より多くの動作モードによる動きベクトル情報や予測信号が得られるようになる。よって、多くの動作モードによる結果の中から、より少ない符号量で符号化できる動作モードを特定し、その動作モードで符号化して符号列を生成することができるようになる。また、実施の形態2の動画像符号化装置100のような構成をもつことにより、従来の手法により残差動きベクトル情報、参照情報および予測信号を符号化する際に必要となる符号量以下となるような、動作モードによる結果を選定し、符号化することで、従来の手法による符号量以下の符号量で符号列を生成できるようになる。
また、実施の形態2の動画像符号化装置100における、第2修正予測信号生成部107の構成を、図9(A)に示されるような、図7(B)の第1L1片側予測信号生成部107−1および第2L1片側予測信号生成部107−2を含むようにする。これにより、L1側の動き情報を基本として、L1側の動きベクトル情報を生成し、L1側の予測信号を生成できるようになる。したがって、上述の図8(A)に示されるような構成による効果と同様に、従来の手法による符号量以下の符号量で符号列を生成できるようになる。
また、実施の形態2の動画像符号化装置100における、第1修正予測信号生成部106の構成を、図8(B)に示されるような、図7(A)の第1L0−L1片側予測信号生成部106−3および第2L0−L1片側予測信号生成部106−4を含むようにする。これにより、L0側の動き情報を基本として、L1側の修正予測動きベクトル情報を導出し、L1側の動きベクトル情報を生成し、L1側の予測信号を生成することができるようになる。また、L1側の修正予測動きベクトル情報を導出する際に利用する参照情報に対して、所定の方法に基づいて参照先を変更することで修正参照情報を生成し、L1側の修正予測動きベクトル情報の導出に利用するような動作モードをもつことにより、より多くの動作モードによる動きベクトル情報や予測信号が得られるようになる。よって、多くの動作モードによる結果の中から、より少ない符号量で符号化できる動作モードを特定し、その動作モードで符号化して符号列を生成することができるようになる。また、実施の形態2の動画像符号化装置100のような構成をもつことにより、従来の手法により残差動きベクトル情報、参照情報および予測信号を符号化する際に必要となる符号量以下となるような、動作モードによる結果を選定し、符号化することで、従来の手法による符号量以下の符号量で符号列を生成できるようになる。
また、実施の形態2の動画像符号化装置100における、第2修正予測信号生成部107の構成を、図9(B)に示されるような、図7(B)の第1L1−L0片側予測信号生成部107−3および第2L1−L0片側予測信号生成部107−4を含むようにする。これにより、L1側の動き情報を基本として、L0側の修正予測動きベクトル情報を導出し、L0側の動きベクトル情報を生成し、L0側の予測信号を生成することができるようになる。したがって、上述の図8(B)に示されるような構成による効果と同様に、従来の手法による符号量以下の符号量で符号列を生成できるようになる。
また、実施の形態2の動画像符号化装置100における、第1修正予測信号生成部106の構成を、図8(C)に示されるような、図7(A)の第1L0−L1双予測信号生成部106−5、第2L0−L1双予測信号生成部106−6、第3L0−L1双予測信号生成部106−7および第4L0−L1双予測信号生成部106−8を含むようにする。これにより、L0側の動き情報を基本として、L1側の動きベクトル情報を生成し、L0側の予測信号とL1側の予測信号を生成した上で、双予測信号となる合成予測信号を生成することができるようになる。
(1)L0側およびL1側ともに参照先を変更しないようにする動作モードである第1L0−L1双予測モード、
(2)L0側は参照先を変更しないようにし、L1側の修正予測動きベクトル情報を導出する際に利用する参照情報に対して、所定の方法に基づいて参照先を変更することで修正参照情報を生成し、L1側の修正予測動きベクトル情報の導出に利用するような動作モードである第2L0−L1双予測モード、
(3)L0側の修正予測動きベクトル情報を導出する際に利用する参照情報に対して、所定の方法に基づいて参照先を変更することで修正参照情報を生成し、L0側の修正予測動きベクトル情報の導出に利用し、L1側は参照先を変更しないようにする動作モードである第3L0−L1双予測モード、
(4)L0側およびL1側ともに参照先を変更することでL0側およびL1側の修正参照情報を生成し、L0側およびL1側の修正予測動きベクトル情報の導出に利用するような動作モードである第4L0−L1双予測モード、
等をもつことにより、より多くの動作モードによる動きベクトル情報や予測信号が得られるようになる。よって、多くの動作モードによる結果の中から、より少ない符号量で符号化できる動作モードを特定し、その動作モードで符号化して符号列を生成することができるようになる。また、実施の形態2の動画像符号化装置100のような構成をもつことにより、従来の手法により残差動きベクトル情報、参照情報および予測信号を符号化する際に必要となる符号量以下となるような、動作モードによる結果を選定し、符号化することで、従来の手法による符号量以下の符号量で符号列を生成できるようになる。
第2L0−L1双予測モードにおいては、動き予測部104から得られるL0側の予測動きベクトル情報および参照情報の精度が良く、これらによって得られるL0側の予測信号の品質は良いが、動き予測部104から得られるL1側の参照情報に基づいて、L0側の予測動きベクトル情報から導出される修正予測動きベクトル情報の精度があまり良くない場合において有効に機能する。このような場合において、L1側の参照先を変更することで、導出される修正予測動きベクトル情報によって、より良い予測信号が得られそうな参照ピクチャに切り替えるとともに、動き探索を行って修正予測動きベクトル情報を修正し、更に良い予測信号が得られる動きベクトル情報を特定して得られる残差動きベクトル情報、参照情報もしくは修正参照情報および合成予測信号の情報量が、従来の手法による情報量以下となる場合に有効な動作モードとなる。
第3L0−L1双予測モードにおいては、動き予測部104から得られるL0側の参照情報から特定される参照ピクチャの品質があまり良くないが、動き予測部104から得られるL1側の参照情報に基づいて、L0側の予測動きベクトル情報から導出される修正予測動きベクトル情報の精度は比較的良い場合において有効に機能する。このような場合において、L0側の参照先を変更することで、より良い予測信号が得られそうな参照ピクチャに切り替えるとともに、L0側の修正予測動きベクトル情報を導出し、より良いL0側の予測信号を得ることで、L1側の予測信号と合成して得られる合成予測信号の品質を向上させて得られる残差動きベクトル情報、参照情報もしくは修正参照情報および合成予測信号の情報量が、従来の手法による情報量以下となる場合に有効な動作モードとなる。
第4L0−L1双予測モードにおいては、動き予測部104から得られるL0側およびL1側の参照情報から特定される参照ピクチャの品質があまり良くなく、またL0側の予測動きベクトル情報の精度があまり良くないために、L1側の修正予測動きベクトル情報の精度もあまり良くない場合において有効に機能する。このような場合において、L0側の参照先を変更することで、より良い予測信号が得られそうな参照ピクチャに切り替えるとともに、L0側の修正予測動きベクトル情報を導出し、より良いL0側の予測信号を得る。また、L1側の参照先を変更し、L0側の予測動きベクトル情報からL1側の修正予測動きベクトル情報を導出することで、より良い予測信号が得られそうな参照ピクチャに切り替えるとともに、動き探索を行ってL1側の修正予測動きベクトル情報を修正し、更に良い予測信号が得られる動きベクトル情報を特定することで、より良いL1側の予測信号を得る。このようにして、得られたL0側の予測信号とL1側の予測信号と合成して得られる合成予測信号の品質を向上させて得られる残差動きベクトル情報、参照情報もしくは修正参照情報および合成予測信号の情報量が、従来の手法による情報量以下となる場合に有効な動作モードとなる。
また、上述のような第1から第4のL0−L1双予測モードをもつことで、参照先の変更や、一方の修正予測動きベクトル情報に対して動き探索により修正することにより、従来の空間的、時間的なダイレクトモードでは難しかった、L0側の予測信号およびL1側の予測信号の品質を、少ない情報量で変化させ、合成予測信号の品質を従来の手法による合成予測信号の品質以上となるように制御することができる。
また、上述のような第1から第4のL0−L1双予測モードをもつことで、従来の手法による双予測のように、2つの予測動きベクトル情報から2つの動きベクトル情報を確定させるとともに、2つの残差動きベクトル情報を符号化する必要がなくなるため、動き情報に関して、より効率の良い符号列を生成することができる。
また、実施の形態2の動画像符号化装置100における、第2修正予測信号生成部107の構成を、図9(C)に示されるような、図7(B)の第1L1−L0双予測信号生成部107−5、第2L1−L0双予測信号生成部107−6、第3L1−L0双予測信号生成部107−7および第4L1−L0双予測信号生成部107−8を含むようにする。これにより、L1側の動き情報を基本として、L0側の動きベクトル情報を生成し、L0側の予測信号とL1側の予測信号を生成した上で、双予測信号となる合成予測信号を生成することができるようになる。したがって、上述の図8(C)に示されるような構成による効果と同様に、従来の手法による符号量以下の符号量で符号列を生成できるようになる。
次に、実施の形態2の動画像復号装置として、実施の形態1の動画像復号装置200における、第1修正予測信号生成部210および第2修正予測信号生成部211をより詳細な構成によって実現したものについて示す。実施の形態2における、第1修正予測信号生成部210および第2修正予測信号生成部211の詳細な構成に関して、図7(C)、図7(D)を利用して説明する。
図7(C)における第1修正予測信号生成部210は、例えば、第1L0片側予測信号生成部210−1、第2L0片側予測信号生成部210−2、第1L0−L1片側予測信号生成部210−3、第2L0−L1片側予測信号生成部210−4、第1L0−L1双予測信号生成部210−5、第2L0−L1双予測信号生成部210−6、第3L0−L1双予測信号生成部210−7および第4L0−L1双予測信号生成部210−8のうち、少なくとも1つ、2つ以上の任意の組み合わせ、または全てによって構成されると良い。ここでは、全て用いられるものとして話を進める。ここで、各部の名称に付けられているL0−L1は、L0側の参照情報もしくは修正参照情報および予測動きベクトル情報に基づいて、L1側の動きベクトル情報が導出される構成であることを示している。
同様に、図7(D)における第2修正予測信号生成部211は、例えば、第1L1片側予測信号生成部211−1、第2L1片側予測信号生成部211−2、第1L1−L0片側予測信号生成部211−3、第2L1−L0片側予測信号生成部211−4、第1L1−L0双予測信号生成部211−5、第2L1−L0双予測信号生成部211−6、第3L1−L0双予測信号生成部211−7および第4L1−L0双予測信号生成部211−8のうち、少なくとも1つ、2つ以上の任意の組み合わせ、または全てによって構成されると良い。ここでは、全て用いられるものとして話を進める。ここで、各部の名称に付けられているL1−L0は、L1側の参照情報もしくは修正参照情報および予測動きベクトル情報に基づいて、L0側の動きベクトル情報が導出される構成であることを示している。
図16(A)〜(C)および図17(A)〜(C)は、図7(C)、図7(D)における各部の詳細を示した構成図である。図16(A)は、第1L0片側予測信号生成部210−1および第2L0片側予測信号生成部210−2の構成図である。図16(B)は、第1L0−L1片側予測信号生成部210−3および第2L0−L1片側予測信号生成部210−4の構成図である。図16(C)は、第1L0−L1双予測信号生成部210−5、第2L0−L1双予測信号生成部210−6、第3L0−L1双予測信号生成部210−7および第4L0−L1双予測信号生成部210−8の構成図である。
同様に、図17(A)は、第1L1片側予測信号生成部211−1および第2L1片側予測信号生成部211−2の構成図である。図17(B)は、第1L1−L0片側予測信号生成部211−3および第2L1−L0片側予測信号生成部211−4の構成図である。図17(C)は、第1L1−L0双予測信号生成部211−5、第2L1−L0双予測信号生成部211−6、第3L1−L0双予測信号生成部211−7および第4L1−L0双予測信号生成部211−8の構成図である。
図16(A)の構成は、復号側において、L0側の動き情報を基本として、L0側の動きベクトル情報を生成し、L0側の予測信号を生成するための構成である。図16(A)の構成は、L0側動き情報取得部1601、参照先変更部1602、L0側動き導出部1603、mvd加算部1604、参照ピクチャ取得部1605および片側予測信号生成部1606を含む。
L0側動き情報取得部1601は、所定のL0側動き情報取得処理を行う。この所定のL0側動き情報取得処理では、L0側動き情報取得部1601は、参照解析部209から、復号対象領域に属するL0側の動き情報としてL0側の参照情報と予測動きベクトル情報、そして予測修正情報を取得する。L0側動き情報取得部1601は、取得したL0側の動き情報を、参照先変更部1602に供給する。
参照先変更部1602は、所定の参照先変更処理を行う。この所定の参照先変更処理では、参照先変更部1602は、L0側動き情報取得部1601からL0側の動き情報を取得する。参照先変更部1602は、L0側の予測修正情報が「1」である場合には、所定の参照先変更処理により、参照情報を修正し、修正参照情報を生成する。ここで、所定の参照先変更処理は、動作モードに応じて機能させず、参照情報を修正参照情報にすると良い。例えば、第1L0片側予測信号生成部210−1は、この所定の参照先変更処理を機能させず、参照情報を修正参照情報にすると良い。第1L0片側予測信号生成部210−1は、動作モードとして、L0側の予測動きベクトル情報をL0側の修正参照情報によって修正せず、L0側の動きベクトル情報を生成してL0側の予測信号を生成するような、第1L0片側予測モードで動作する。また、第2L0片側予測信号生成部210−2は、この所定の参照先変更処理を機能させるようにすると良い。第2L0片側予測信号生成部210−2は、動作モードとして、L0側の予測動きベクトル情報をL0側の修正参照情報によって修正し、L0側の動きベクトル情報を生成してL0側の予測信号を生成するような、第2L0片側予測モードで動作する。参照先変更部1602は、取得および生成した動き情報を、L0側動き導出部1603および参照ピクチャ取得部1605に供給する。
L0側動き導出部1603は、所定のL0側動き導出処理を行う。この所定のL0側動き導出処理では、L0側動き導出部1603は、参照先変更部1602から、L0側の動き情報を取得する。その後、符号化側のL0側動き導出部803と同様に、上述の(式1)に基づいて、L0側の修正予測動きベクトル情報を導出する。L0側動き導出部1603は、取得および生成した動き情報を、mvd加算部1604に供給する。
mvd加算部1604は、所定のmvd加算処理を行う。この所定のmvd加算処理では、mvd加算部1604は、L0側動き導出部1603から、L0側の動き情報を取得する。mvd加算部1604は、動き情報蓄積部207から復号対象領域に属する残差動きベクトル情報を取得する。mvd加算部1604は、取得したL0側の修正予測動きベクトル情報に、取得した残差動きベクトル情報を加算することで、L0側の動きベクトル情報を生成する。mvd加算部1604は、取得および生成したL0側の動き情報を、片側予測信号生成部1606に供給する。
参照ピクチャ取得部1605は、所定の参照ピクチャ取得処理を行う。この所定の参照ピクチャ取得処理では、参照ピクチャ取得部1605は、参照先変更部1602から、動き情報として修正参照情報を取得する。参照ピクチャ取得部1605は、L0側の修正参照情報をピクチャ蓄積部202に供給し、特定された参照ピクチャを取得する。参照ピクチャ取得部1605は、取得した参照ピクチャを片側予測信号生成部1606に供給する。
片側予測信号生成部1606は、所定の片側予測信号生成処理を行う。この所定の片側予測信号生成処理では、片側予測信号生成部1606は、mvd加算部1604から動き情報、参照ピクチャ取得部1605から参照ピクチャを取得する。片側予測信号生成部1606は、取得した動きベクトル情報に基づいて、例えばAVCのような、所定の動き補償処理により、予測信号を生成する。片側予測信号生成部1606は、動作モードを特定するための動作モード情報、動き情報および予測信号を、モード識別部206に供給する。片側予測信号生成部1606は、取得および生成したL0側の動き情報を、動作モード情報とともに動き情報蓄積部207に供給する。
図16(B)の構成は、復号側において、L0側の動き情報を基本として、L1側の動きベクトル情報を生成し、L1側の予測信号を生成するための構成である。図16(B)の構成は、L0側動き情報取得部1621、L1側参照情報取得部1622、参照先変更部1623、L1側動き導出部1624、mvd加算部1625、参照ピクチャ取得部1626および片側予測信号生成部1627を含む。
L0側動き情報取得部1621は、所定のL0側動き情報取得処理を行う。この所定のL0側動き情報取得処理では、L0側動き情報取得部1621は、参照解析部209から、復号対象領域に属するL0側の動き情報としてL0側の参照情報と予測動きベクトル情報、そして予測修正情報を取得する。L0側動き情報取得部1621は、取得したL0側の動き情報を、参照先変更部1623に供給する。
L1側参照情報取得部1622は、所定のL1側参照情報取得処理を行う。この所定のL1側参照情報取得処理では、L1側参照情報取得部1622は、参照解析部209から、取得可能であれば、L1側の参照情報、予測修正情報を取得し、参照先変更部1623に供給する。
参照先変更部1623は、所定の参照先変更処理を行う。この所定の参照先変更処理では、参照先変更部1623は、L0側動き情報取得部1621からL0側の動き情報、L1側参照情報取得部1622からL1側の参照情報および予測修正情報を取得する。参照先変更部1623は、L1側の予測修正情報が「1」である場合には、所定の参照先変更処理により、参照情報を修正し、修正参照情報を生成する。ここで、所定の参照先変更処理は、動作モードに応じて機能させず、参照情報を修正参照情報にすると良い。例えば、第1L0−L1片側予測信号生成部210−3は、この所定の参照先変更処理を機能させず、参照情報を修正参照情報にすると良い。第1L0−L1片側予測信号生成部210−3は、動作モードとして、L0側の予測動きベクトル情報を、L1側の修正参照情報ではなく参照情報に基づいて修正し、L1側の動きベクトル情報を生成してL1側の予測信号を生成するような、第1L0−L1片側予測モードで動作する。また、第2L0−L1片側予測信号生成部210−4は、この所定の参照先変更処理を機能させるようにすると良い。第2L0−L1片側予測信号生成部210−4は、動作モードとして、L0側の予測動きベクトル情報を、L1側の修正参照情報に基づいて修正し、L1側の動きベクトル情報を生成してL1側の予測信号を生成するような、第2L0−L1片側予測モードで動作する。参照先変更部1623は、取得および生成したL0側およびL1側の動き情報を、L1側動き導出部1624および参照ピクチャ取得部1626に供給する。
L1側動き導出部1624は、所定のL1側動き導出処理を行う。この所定のL1側動き導出処理では、L1側動き導出部1624は、参照先変更部1623から、L0側およびL1側の動き情報を取得する。その後、符号化側のL1側動き導出部824と同様に、動作モードに応じて、上述の(式2)もしくは(式3)に基づいて、L1側の修正予測動きベクトル情報を導出する。L1側動き導出部1624は、取得および生成したL0側およびL1側の動き情報を、mvd加算部1625に供給する。
mvd加算部1625は、所定のmvd加算処理を行う。この所定のmvd加算処理では、mvd加算部1625は、L1側動き導出部1624から、L0側およびL1側の動き情報を取得する。また、mvd加算部1625は、動き情報蓄積部207から復号対象領域に属する残差動きベクトル情報を取得する。mvd加算部1625は、取得したL1側の修正予測動きベクトル情報に、取得した残差動きベクトル情報を加算することで、L1側の動きベクトル情報を生成する。mvd加算部1625は、取得および生成したL0側およびL1側の動き情報を、片側予測信号生成部1627に供給する。
参照ピクチャ取得部1626は、所定の参照ピクチャ取得処理を行う。この所定の参照ピクチャ取得処理では、参照ピクチャ取得部1626は、参照先変更部1623から、L0側およびL1側の動き情報を取得する。参照ピクチャ取得部1626は、取得したL1側の修正参照情報をピクチャ蓄積部202に供給し、特定された参照ピクチャを取得する。参照ピクチャ取得部1626は、取得したL1側の参照ピクチャを片側予測信号生成部1606に供給する。
片側予測信号生成部1627は、所定の片側予測信号生成処理を行う。この所定の片側予測信号生成処理では、片側予測信号生成部1627は、mvd加算部1625からL0側およびL1側の動き情報、参照ピクチャ取得部1626からL1側の参照ピクチャを取得する。片側予測信号生成部1627は、取得したL1側の動きベクトル情報に基づいて、例えばAVCのような、所定の動き補償処理により、予測信号を生成する。片側予測信号生成部1627は、動作モードを特定するための動作モード情報、L0側およびL1側の動き情報、ならびに予測信号を、モード識別部206に供給する。片側予測信号生成部1627は、取得および生成したL0側およびL1側の動き情報を、動作モード情報とともに動き情報蓄積部207に供給する。
図16(C)の構成は、復号側において、L0側の動き情報を基本として、L1側の動きベクトル情報を生成し、L0側の予測信号とL1側の予測信号を生成した上で、双予測信号となる合成予測信号を生成するための構成である。図16(C)の構成は、L0側動き情報取得部1641、L1側参照情報取得部1642、参照先変更部1643、L0側動き導出部1644、L1側動き導出部1645、mvd加算部1646、参照ピクチャ取得部1647および双予測信号生成部1648を含む。
L0側動き情報取得部1641は、所定のL0側動き情報取得処理を行う。この所定のL0側動き情報取得処理では、L0側動き情報取得部1641は、参照解析部209から、復号対象領域に属するL0側の動き情報としてL0側の参照情報と予測動きベクトル情報、そして予測修正情報を取得する。L0側動き情報取得部1641は、取得したL0側の動き情報を、参照先変更部1643に供給する。
L1側参照情報取得部1642は、所定のL1側参照情報取得処理を行う。この所定のL1側参照情報取得処理では、L1側参照情報取得部1642は、参照解析部209から、取得可能であれば、L1側の参照情報および予測修正情報を取得し、参照先変更部1643に供給する。
参照先変更部1643は、所定の参照先変更処理を行う。この所定の参照先変更処理では、参照先変更部1643は、L0側動き情報取得部1641からL0側の動き情報、L1側参照情報取得部1642からL1側の参照情報および予測修正情報を取得する。参照先変更部1643は、L0側の予測修正情報が「1」である場合には、所定の参照先変更処理により、L0側の参照情報を修正し、L0側の修正参照情報を生成する。同様に、参照先変更部1643は、L1側の予測修正情報が「1」である場合には、所定の参照先変更処理により、L1側の参照情報を修正し、L1側の修正参照情報を生成する。ここで、所定の参照先変更処理は、動作モードに応じて機能させず、参照情報を修正参照情報にすると良い。例えば、動作モードとして、第1L0−L1双予測モードで動作する第1L0−L1双予測信号生成部210−5は、この所定の参照先変更処理を機能させず、参照情報を修正参照情報にすると良い。また、動作モードとして、第2L0−L1双予測モードで動作する第2L0−L1双予測信号生成部210−6、第3L0−L1双予測モードで動作する第3L0−L1双予測信号生成部210−7および第4L0−L1双予測モードで動作する第4L0−L1双予測信号生成部210−8は、この所定の参照先変更処理を機能させるようにすると良い。参照先変更部1643は、取得および生成したL0側の動き情報をL0側動き導出部1644、取得および生成したL0側およびL1側の動き情報をL1側動き導出部1645および参照ピクチャ取得部1647に供給する。
L0側動き導出部1644は、所定のL0側動き導出処理を行う。この所定のL0側動き導出処理では、L0側動き導出部1644は、参照先変更部1643から、L0側の動き情報を取得する。その後、符号化側のL0側動き導出部844と同様に、動作モードに応じて、上述の(式4)に基づいて、L0側の修正予測動きベクトル情報を導出する。L0側動き導出部1644は、取得および生成したL0側の動き情報を、双予測信号生成部1648に供給する。
L1側動き導出部1645は、所定のL1側動き導出処理を行う。この所定のL1側動き導出処理では、L1側動き導出部1645は、参照先変更部1643から、L0側およびL1側の動き情報を取得する。その後、符号化側のL1側動き導出部845と同様に、動作モードに応じて、上述の(式5)もしくは(式6)に基づいて、L1側の修正予測動きベクトル情報を導出する。L1側動き導出部1645は、取得および生成したL0側およびL1側の動き情報を、mvd加算部1646に供給する。
mvd加算部1646は、所定のmvd加算処理を行う。この所定のmvd加算処理では、mvd加算部1646は、L1側動き導出部1645から、L0側およびL1側の動き情報を取得する。mvd加算部1646は、動き情報蓄積部207から復号対象領域に属する残差動きベクトル情報を取得する。mvd加算部1646は、取得したL1側の修正予測動きベクトル情報に、取得した残差動きベクトル情報を加算することで、L1側の動きベクトル情報を生成する。mvd加算部1646は、取得および生成したL0側およびL1側の動き情報を、双予測信号生成部1648に供給する。
参照ピクチャ取得部1647は、所定の参照ピクチャ取得処理を行う。この所定の参照ピクチャ取得処理では、参照ピクチャ取得部1647は、参照先変更部1643から、L0側およびL1側の動き情報として修正参照情報を取得する。参照ピクチャ取得部1647は、L0側およびL1側の修正参照情報をピクチャ蓄積部202に供給し、特定されたL0側およびL1側の参照ピクチャを取得する。参照ピクチャ取得部1647は、取得したL0側およびL1側の参照ピクチャを双予測信号生成部1648に供給する。
双予測信号生成部1648は、所定の双予測信号生成処理を行う。この所定の双予測信号生成処理では、双予測信号生成部1648は、L0側動き導出部1644からL0側の動き情報、mvd加算部1646からL0側およびL1側の動き情報、ならびに参照ピクチャ取得部1647からL0側およびL1側の参照ピクチャをそれぞれ取得する。双予測信号生成部1648は、取得したL0側の修正予測動きベクトル情報に基づいて、例えばAVCのような、所定の動き補償処理により、L0側の予測信号を生成する。双予測信号生成部1648は、取得したL1側の動きベクトル情報に基づいて、例えばAVCのような、所定の動き補償処理により、L1側の予測信号を生成する。その後、双予測信号生成部1648は、生成したL0側の予測信号とL1側の予測信号を合成した合成予測信号を生成することで、双予測信号を得る。双予測信号生成部1648は、動作モードを特定するための動作モード情報、取得および生成したL0側およびL1側の動き情報、ならびに合成予測信号を、モード識別部206に供給する。双予測信号生成部1648は、取得および生成したL0側およびL1側の動き情報を、動作モード情報とともに動き情報蓄積部207に供給する。
図16(A)の構成では、L0側の動き情報を基本として、L0側の動きベクトル情報を生成し、L0側の予測信号を生成するための構成であった。これに対し、図17(A)の構成では、L0側とL1側の扱いを逆として、L1側の動き情報を基本として、L1側の予測信号を生成するための構成とした点が図16(A)と異なっている。図17(A)の構成における各部の詳細に関しては、L0側とL1側の扱いを逆として考えることで図16(A)の構成と同等の機能をもつと考えられることから、説明を省略する。
図16(B)の構成では、L0側の動き情報を基本として、L1側の動きベクトル情報を生成し、L1側の予測信号を生成するための構成であった。これに対し、図17(B)の構成では、L0側とL1側の扱いを逆として、L1側の動き情報を基本として、L0側の動きベクトル情報を生成し、L0側の予測信号を生成するための構成とした点が図16(B)の構成と異なっている。図17(B)の構成における各部の詳細に関しては、L0側とL1側の扱いを逆として考えることで図16(B)の構成と同等の機能をもつと考えられることから、説明を省略する。
図16(C)の構成では、L0側の動き情報を基本として、L1側の動きベクトル情報を生成し、L0側の予測信号とL1側の予測信号を生成した上で、双予測信号となる合成予測信号を生成するための構成であった。これに対し、図17(C)の構成では、L0側とL1側の扱いを逆として、L1側の動き情報を基本として、L0側の動きベクトル情報を生成し、L0側の予測信号とL1側の予測信号を生成した上で、双予測信号となる合成予測信号を生成するための構成とした点が図16(C)の構成と異なっている。図17(C)の構成における各部の詳細に関しては、L0側とL1側の扱いを逆として考えることで図16(C)の構成と同等の機能をもつと考えられることから、説明を省略する。
次に、図16(A)の構成における動作について、図18のフローチャートを用いて説明する。
まず、予測信号生成開始指令を受けると、L0側動き情報取得部1601は、参照解析部209から、復号対象領域に属するL0側の動き情報としてL0側の参照情報と予測動きベクトル情報、そして予測修正情報を取得する(S901)。その後、L0側動き情報取得部1601は、取得したL0側の動き情報を、参照先変更部1602に供給する。
その後、参照先変更部1602は、L0側動き情報取得部1601からL0側の動き情報を取得する。その後、参照先変更部1602は、動作モードに応じて、所定の参照先変更処理により、参照情報を修正し、修正参照情報を生成することで、L0側の参照先を変更する(S902)。その後、参照先変更部1602は、取得および生成した動き情報を、L0側動き導出部1603および参照ピクチャ取得部1605に供給する。
次に、L0側動き導出部1603は、参照先変更部1602から、L0側の動き情報を取得する。その後、L0側動き導出部1603は、所定のL0側動き導出処理を行い、L0側の修正予測動きベクトル情報を導出する(S903)。その後、L0側動き導出部1603は、取得および生成した動き情報を、mvd加算部1604に供給する。
その後、mvd加算部1604は、L0側動き導出部1603から、L0側の動き情報を取得する。mvd加算部1604は、動き情報蓄積部207から復号対象領域に属する残差動きベクトル情報を取得する。その後、mvd加算部1604は、所定のmvd加算処理により、取得したL0側の修正予測動きベクトル情報に、残差動きベクトル情報を加算して、L0側の動きベクトル情報を生成する(S904)。その後、mvd加算部1604は、取得および生成したL0側の動き情報を、片側予測信号生成部1606に供給する。
参照ピクチャ取得部1605は、参照先変更部1602から、動き情報として修正参照情報を取得する。その後、参照ピクチャ取得部1605は、L0側の修正参照情報をピクチャ蓄積部202に供給し、特定された参照ピクチャを取得する(S905)。その後、参照ピクチャ取得部1605は、取得した参照ピクチャを片側予測信号生成部1606に供給する。
次に、片側予測信号生成部1606は、mvd加算部1604から動き情報、参照ピクチャ取得部1605から参照ピクチャを取得する。その後、片側予測信号生成部1606は、所定の片側予測信号生成処理を行うことで、L0側の予測信号を生成する(S906)。その後、片側予測信号生成部1606は、動作モードを特定するための動作モード情報、動き情報および予測信号を、モード識別部206に供給する。片側予測信号生成部1606は、取得および生成したL0側の動き情報を、動作モード情報とともに動き情報蓄積部207に供給する。
以上のステップにより、図16(A)の構成における動作が完了する。
次に、図16(B)の構成における動作について、図19のフローチャートを用いて説明する。
まず、予測信号生成開始指令を受けると、L0側動き情報取得部1621は、参照解析部209から、復号対象領域に属するL0側の動き情報としてL0側の参照情報と予測動きベクトル情報、そして予測修正情報を取得する(S1001)。その後、L0側動き情報取得部1621は、取得したL0側の動き情報を、参照先変更部1623に供給する。
L1側参照情報取得部1622は、参照解析部209から、取得可能であれば、L1側の参照情報および予測修正情報を取得し(S1002)、参照先変更部1623に供給する。
次に、参照先変更部1623は、L0側動き情報取得部1621からL0側の動き情報、L1側参照情報取得部1622からL1側の参照情報および予測修正情報を取得する。その後、参照先変更部1623は、所定の参照先変更処理により、参照情報を修正し、修正参照情報を生成することで、L1側の参照先を変更する(S1003)。その後、参照先変更部1623は、取得および生成したL0側およびL1側の動き情報を、L1側動き導出部1624および参照ピクチャ取得部1626に供給する。
次に、L1側動き導出部1624は、参照先変更部1623から、L0側およびL1側の動き情報を取得する。その後、L1側動き導出部1624は、所定のL1側動き導出処理を行うことで、L0側からL1側の修正予測動きベクトル情報を導出する(S1004)。その後、L1側動き導出部1624は、取得および生成したL0側およびL1側の動き情報を、mvd加算部1625に供給する。
次に、mvd加算部1625は、L1側動き導出部1624から、L0側およびL1側の動き情報を取得する。mvd加算部1625は、動き情報蓄積部207から復号対象領域に属する残差動きベクトル情報を取得する。その後、mvd加算部1625は、所定のmvd加算処理により、取得したL1側の修正予測動きベクトル情報に、残差動きベクトル情報を加算して、L1側の動きベクトル情報を生成する(S1005)。その後、mvd加算部1625は、取得および生成したL0側およびL1側の動き情報を、片側予測信号生成部1627に供給する。
参照ピクチャ取得部1626は、参照先変更部1623から、L0側およびL1側の動き情報を取得する。その後、参照ピクチャ取得部1626は、取得したL1側の修正参照情報をピクチャ蓄積部202に供給し、特定された参照ピクチャを取得する(S1006)。その後、参照ピクチャ取得部1626は、取得したL1側の参照ピクチャを片側予測信号生成部1606に供給する。
次に、片側予測信号生成部1627は、mvd加算部1625からL0側およびL1側の動き情報、参照ピクチャ取得部1626からL1側の参照ピクチャを取得する。その後、片側予測信号生成部1627は、取得したL1側の動きベクトル情報に基づいて、所定の片側予測信号生成処理を行うことで、L1側の予測信号を生成する(S1007)。その後、片側予測信号生成部1627は、動作モードを特定するための動作モード情報、L0側およびL1側の動き情報、ならびに予測信号を、モード識別部206に供給する。片側予測信号生成部1627は、取得および生成したL0側およびL1側の動き情報を、動作モード情報とともに動き情報蓄積部207に供給する。
以上のステップにより、図16(B)の構成における動作が完了する。
次に、図16(C)の構成における動作について、図20のフローチャートを用いて説明する。
まず、予測信号生成開始指令を受けると、L0側動き情報取得部1641は、参照解析部209から、復号対象領域に属するL0側の動き情報としてL0側の参照情報と予測動きベクトル情報、そして予測修正情報を取得する(S1101)。その後、L0側動き情報取得部1641は、取得したL0側の動き情報を、参照先変更部1643に供給する。
L1側参照情報取得部1642は、参照解析部209から、取得可能であれば、L1側の参照情報および予測修正情報を取得し(S1102)、参照先変更部1643に供給する。
次に、参照先変更部1643は、L0側動き情報取得部1641からL0側の動き情報、L1側参照情報取得部1642からL1側の参照情報および予測修正情報を取得する。その後、参照先変更部1643は、動作モードに応じて、所定の参照先変更処理により、L0側の参照情報を修正し、L0側の修正参照情報を生成するとともに、L1側の参照情報を修正し、L1側の修正参照情報を生成することで、L0側およびL1側の参照先を変更する(S1103)。その後、参照先変更部1643は、取得および生成したL0側の動き情報をL0側動き導出部1644に、取得および生成したL0側およびL1側の動き情報をL1側動き導出部1645および参照ピクチャ取得部1647に供給する。
次に、L0側動き導出部1644は、参照先変更部1643から、L0側の動き情報を取得する。その後、L0側動き導出部1644は、動作モードに応じて、所定のL0側動き導出処理を行うことで、L0側の修正予測動きベクトル情報を導出する(S1104)。その後、L0側動き導出部1644は、取得および生成したL0側の動き情報を、双予測信号生成部1648に供給する。
L1側動き導出部1645は、参照先変更部1643から、L0側およびL1側の動き情報を取得する。その後、L1側動き導出部1645は、所定のL1側動き導出処理により、L0側からL1側の修正予測動きベクトル情報を導出する(S1105)。その後、L1側動き導出部1645は、取得および生成したL0側およびL1側の動き情報を、mvd加算部1646に供給する。
次に、mvd加算部1646は、L1側動き導出部1645から、L0側およびL1側の動き情報を取得する。mvd加算部1646は、動き情報蓄積部207から復号対象領域に属する残差動きベクトル情報を取得する。その後、mvd加算部1646は、所定のmvd加算処理により、取得したL1側の修正予測動きベクトル情報に、残差動きベクトル情報を加算して、L1側の動きベクトル情報を生成する(S1106)。その後、mvd加算部1646は、取得および生成したL0側およびL1側の動き情報を、双予測信号生成部1648に供給する。
参照ピクチャ取得部1647は、参照先変更部1643から、L0側およびL1側の動き情報として修正参照情報を取得する。その後、参照ピクチャ取得部1647は、L0側およびL1側の修正参照情報をピクチャ蓄積部202に供給し、特定されたL0側およびL1側の参照ピクチャを取得する(S1107)。その後、参照ピクチャ取得部1647は、取得したL0側およびL1側の参照ピクチャを双予測信号生成部1648に供給する。
次に、双予測信号生成部1648は、L0側動き導出部1644からL0側の動き情報、mvd加算部1646からL0側およびL1側の動き情報、参照ピクチャ取得部1647からL0側およびL1側の参照ピクチャを取得する。その後、双予測信号生成部1648は、取得したL0側の修正予測動きベクトル情報に基づいて、所定の双予測信号生成処理を行うことで、L0側の予測信号を生成する(S1108)。
また、双予測信号生成部1648は、取得したL1側の動きベクトル情報に基づいて、所定の双予測信号生成処理を行うことで、L1側の予測信号を生成する(S1109)。
その後、双予測信号生成部1648は、生成したL0側の予測信号とL1側の予測信号を合成して合成予測信号を生成する(S1110)。その後、双予測信号生成部1648は、動作モードを特定するための動作モード情報、取得および生成したL0側およびL1側の動き情報、ならびに合成予測信号を、モード識別部206に供給する。双予測信号生成部1648は、取得および生成したL0側およびL1側の動き情報を、動作モード情報とともに動き情報蓄積部207に供給する。
以上のステップにより、図16(C)の構成における動作が完了する。
図17(A)の構成における動作は、図21のフローチャートによって示される。ここで、図17(A)の構成における動作は、図16(A)の構成における動作を示す図18おいて、L0側とL1側の扱いを逆として、動作させたものと同等であることから、説明を省略する。
図17(B)の構成における動作は、図22のフローチャートによって示される。ここで、図17(B)の構成における動作は、図16(B)の構成における動作を示す図19おいて、L0側とL1側の扱いを逆として、動作させたものと同等であることから、説明を省略する。
図17(C)の構成における動作は、図23のフローチャートによって示される。ここで、図17(C)の構成における動作は、図16(C)の構成における動作を示す図20おいて、L0側とL1側の扱いを逆として、動作させたものと同等であることから、説明を省略する。
ここで、実施の形態2の動画像復号装置200の構成および動作により、以下のような効果が得られる。
まず、実施の形態2の動画像復号装置200における、第1修正予測信号生成部210の構成を、図16(A)に示されるような、図7(C)の第1L0片側予測信号生成部210−1および第2L0片側予測信号生成部210−2を含むようにする。これにより、L0側の動き情報を基本として、L0側の動きベクトル情報を生成し、L0側の予測信号を生成できるようになる。したがって、実施の形態2の動画像符号化装置100における、第1修正予測信号生成部106で、図8(A)に示されるような、図7(A)の第1L0片側予測信号生成部106−1および第2L0片側予測信号生成部106−2を利用するような動作モードに基づいて符号化された符号列を取得し、取得した符号列から、上述の動作モードに応じた動きベクトル情報、および予測信号もしくは合成予測信号を得ることができ、上述の動作モードに基づいて生成された符号列を正しく復号することができるようになる。
また、実施の形態2の動画像復号装置200における、第2修正予測信号生成部211の構成を、図17(A)に示されるような、図7(D)の第1L1片側予測信号生成部211−1、第2L1片側予測信号生成部211−2を含むようにする。これにより、L1側の動き情報を基本として、L1側の動きベクトル情報を生成し、L1側の予測信号を生成できるようになる。したがって、実施の形態2の動画像符号化装置100における、第2修正予測信号生成部107で、図9(A)に示されるような、図7(B)の第1L1片側予測信号生成部107−1、第2L1片側予測信号生成部107−2の構成を利用するような動作モードに基づいて符号化された符号列を取得し、取得した符号列から、上述の動作モードに応じた動きベクトル情報、および予測信号もしくは合成予測信号を得ることができ、上述の動作モードに基づいて生成された符号列を正しく復号することができるようになる。
また、実施の形態2の動画像復号装置200における、第1修正予測信号生成部210の構成を、図16(B)に示されるような、図7(C)の第1L0−L1片側予測信号生成部210−3および第2L0−L1片側予測信号生成部210−4を含むようにする。これにより、L0側の動き情報を基本として、L1側の修正予測動きベクトル情報を導出し、L1側の動きベクトル情報を生成し、L1側の予測信号を生成することができるようになる。したがって、実施の形態2の動画像符号化装置100における、第1修正予測信号生成部106で、図8(B)に示されるような、図7(A)の第1L0−L1片側予測信号生成部106−3および第2L0−L1片側予測信号生成部106−4の構成を利用するような動作モードに基づいて符号化された符号列を取得し、取得した符号列から、上述の動作モードに応じた動きベクトル情報、および予測信号もしくは合成予測信号を得ることができ、上述の動作モードに基づいて生成された符号列を正しく復号することができるようになる。
また、実施の形態2の動画像復号装置200における、第2修正予測信号生成部211の構成を、図17(B)に示されるような、図7(D)の第1L1−L0片側予測信号生成部211−3および第2L1−L0片側予測信号生成部211−4を含むようにする。これにより、L1側の動き情報を基本として、L0側の修正予測動きベクトル情報を導出し、L0側の動きベクトル情報を生成し、L0側の予測信号を生成することができるようになる。したがって、実施の形態2の動画像符号化装置100における、第1修正予測信号生成部106で、図9(B)に示されるような、図7(B)の第1L1−L0片側予測信号生成部107−3および第2L1−L0片側予測信号生成部107−4の構成を利用するような動作モードに基づいて符号化された符号列を取得し、取得した符号列から、上述の動作モードに応じた動きベクトル情報、および予測信号もしくは合成予測信号を得ることができ、上述の動作モードに基づいて生成された符号列を正しく復号することができるようになる。
また、実施の形態2の動画像復号装置200における、第1修正予測信号生成部210の構成を、図16(C)に示されるような、図7(C)の第1L0−L1双予測信号生成部210−5、第2L0−L1双予測信号生成部210−6、第3L0−L1双予測信号生成部210−7および第4L0−L1双予測信号生成部210−8を含むようにする。これにより、L0側の動き情報を基本として、L1側の動きベクトル情報を生成し、L0側の予測信号とL1側の予測信号を生成した上で、双予測信号となる合成予測信号を生成することができるようになる。したがって、実施の形態2の動画像符号化装置100における、第1修正予測信号生成部106で、図8(C)に示されるような、図7(A)の第1L0−L1双予測信号生成部106−5、第2L0−L1双予測信号生成部106−6、第3L0−L1双予測信号生成部106−7および第4L0−L1双予測信号生成部106−8の構成を利用するような動作モードに基づいて符号化された符号列を取得し、取得した符号列から、上述の動作モードに応じた動きベクトル情報、および予測信号もしくは合成予測信号を得ることができ、上述の動作モードに基づいて生成された符号列を正しく復号することができるようになる。
(1)L0側およびL1側ともに参照先を変更しないようにする動作モードである第1L0−L1双予測モード、
(2)L0側は参照先を変更しないようにし、L1側の修正予測動きベクトル情報を導出する際に利用する参照情報に対して、所定の方法に基づいて参照先を変更することで修正参照情報を生成し、L1側の修正予測動きベクトル情報の導出に利用するような動作モードである第2L0−L1双予測モード、
(3)L0側の修正予測動きベクトル情報を導出する際に利用する参照情報に対して、所定の方法に基づいて参照先を変更することで修正参照情報を生成し、L0側の修正予測動きベクトル情報の導出に利用し、L1側は参照先を変更しないようにする動作モードである第3L0−L1双予測モード、
(4)L0側およびL1側ともに参照先を変更することでL0側およびL1側の修正参照情報を生成し、L0側およびL1側の修正予測動きベクトル情報の導出に利用するような動作モードである第4L0−L1双予測モード、
等をもつことにより、上述の動作モードに基づいて生成された符号列を正しく復号することができるようになる。
また、実施の形態2の動画像符号化装置100側において、上述のような第1から第4のL0−L1双予測モードをもつことで、参照先の変更や、一方の修正予測動きベクトル情報に対して動き探索により修正することにより、従来の空間的、時間的なダイレクトモードでは難しかった、L0側の予測信号およびL1側の予測信号の品質を、少ない情報量で変化させ、合成予測信号の品質を従来の手法による合成予測信号の品質以上となるように制御することができる。実施の形態2の動画像復号装置200側においては、上述のような第1から第4のL0−L1双予測モードをもつことで、このようにして生成された符号列を取得し、正しく復号することができるようになる。
また、実施の形態2の動画像符号化装置100側において、上述のような第1から第4のL0−L1双予測モードをもつことで、従来の手法による双予測のように、2つの予測動きベクトル情報から2つの動きベクトル情報を確定させるとともに、2つの残差動きベクトル情報を符号化する必要がなくなるため、動き情報に関して、より効率の良い符号列を生成することができる。実施の形態2の動画像復号装置200側においては、上述のような第1から第4のL0−L1双予測モードをもつことで、このようにして生成された符号列を取得し、正しく復号することができるようになる。
また、実施の形態2の動画像復号装置200における、第2修正予測信号生成部211の構成を、図17(C)に示されるような、図7(D)の第1L1−L0双予測信号生成部211−5、第2L1−L0双予測信号生成部211−6、第3L1−L0双予測信号生成部211−7および第4L1−L0双予測信号生成部211−8を含むようにする。これにより、L1側の動き情報を基本として、L0側の動きベクトル情報を生成し、L0側の予測信号とL1側の予測信号を生成した上で、双予測信号となる合成予測信号を生成することができるようになる。したがって、実施の形態2の動画像符号化装置100における、第2修正予測信号生成部107で、図9(C)に示されるような、図7(B)の第1L1−L0双予測信号生成部107−5、第2L1−L0双予測信号生成部107−6、第3L1−L0双予測信号生成部107−7および第4L1−L0双予測信号生成部107−8の構成を利用するような動作モードに基づいて符号化された符号列を取得し、取得した符号列から、上述の動作モードに応じた動きベクトル情報、および予測信号もしくは合成予測信号を得ることができ、上述の動作モードに基づいて生成された符号列を正しく復号することができるようになる。
更に、実施の形態2の動画像符号化装置100および動画像復号装置200の第1および第2修正予測信号生成部における動作モードは、上述された動作モード以外にも、例えば、図24および図25に示されるような、修正予測モードインデックスに関連付けられた動作モードのうち少なくとも1つをもち、符号化制御部120および復号制御部216は、その動作モードに従って、各部の制御を行うように構成しても構わない。また、この修正予測モードインデックスを動作モード情報として符号化、復号するように構成しても構わない。
図24および図25に示される修正予測モードインデックスにおいて、例えば、第1L0−L1双予測モードの場合、図24の修正予測モードインデックス20に対応する。また、第2L0−L1双予測モードの場合、修正予測モードインデックス22に対応する。また、第3L0−L1双予測モードの場合、修正予測モードインデックス21に対応する。また、第4L0−L1双予測モードの場合、修正予測モードインデックス23に対応する。
図24に示される修正予測モードインデックスに対応する動作モードは、例えば、図8(C)、図9(C)、図16(C)、図17(C)のような構成で用いられると良い。また、図25に示される修正予測モードインデックスに対応する動作モードは、例えば、図8(A)、図8(B)、図9(A)、図9(B)、図16(A)、図16(B)、図17(A)、図17(B)のような構成で用いられると良い。
(実施の形態3) merge/AMVPとの関連付け.
ISO/IECおよびITU−Tにおける動画像符号化の規格化作業の中で新たな2つの動きベクトル情報の予測技術が検討されている。
1つ目の技術は、例えば、図26で示されるような対象予測ブロックの周囲に存在する符号化済みの隣接ブロックに属する動きベクトル情報や、図27で示されるような符号化済みで参照ピクチャもしくは非参照ピクチャとなっている、対象ピクチャとは時間が異なる別のピクチャにおける、予測対象ブロックと同一の空間位置にあるアンカーブロックの周辺ブロックに属する動きベクトル情報について、それぞれを予測動きベクトル情報の候補として適用した場合の発生符号量を評価し、予測動きベクトル情報を特定する手法である。
図26および図27では、予測動きベクトル情報の候補となる隣接ブロックの一例を示している。図26は、同一ピクチャ内の隣接ブロックの例であり、図27は時間が異なる別のピクチャの同一位置の周辺ブロックの例である。これらのブロックの動きベクトル情報を予測動きベクトル情報の候補とし、処理対象のブロックの動きベクトル情報と予測動きベクトル情報の候補との差分値の発生符号量を最小とする予測動きベクトル情報を選択する。選択した予測動きベクトル情報との差分値である残差動きベクトル情報と、当該予測動きベクトル情報に対応する隣接ブロックに関する付加情報を必要であれば符号化し、伝送する。この1つ目の技術の動作を特定するための動き予測モードとして、便宜上、Advanced動きベクトル予測(以後、AMVP)モードと呼ぶ。
2つ目の技術は、例えば、特開平10−276439号報にも開示されるように、処理対象ブロックと周囲の既符号化済みの隣接ブロックの動き情報が同一であれば、処理対象ブロックは自身の動き情報を符号化せずに、隣接ブロックの動き情報を符号化に使用する。このように、参照する動き情報を備える隣接ブロックを指定する付加情報を符号化することで、動き情報の符号量を削減する手法である。このような手法は、マージ(merge)と呼ばれ、動き情報の符号量削減の一手法として注目されている。この2つ目の技術の動作を特定するための動き予測モードとして、便宜上、merge(または、マージ)モードと呼ぶ。
図28(A)は、上述の2つの技術の概念を含めた、符号化の予測モードに基づいて符号化のモードを大別した図である。画像間予測(Interモード)の場合、まずマージ手法を使用するか否かでマージモードと非マージモードに分けられる。非マージモードは、ブロックマッチング等の動き検出を実際に行うモードであり、動き検出モードと言い換えることができる。マージモードは、更にskipモードと非skipモードに分けられる。skipモードは、参照する隣接ブロックの符号化情報により予測された予測信号を復号ピクチャとするため、残差情報は0となり残差情報の符号化伝送を必要とせず、符号化情報の参照先を表す参照情報であるインデックスのみを符号化伝送するモードである。skipモードの符号化情報はマージモードと同様であり、ここでは残差情報を符号化伝送する場合をマージモードと限定することにする。
Interモードの符号化の対象となる信号を分類した表を図28(B)に示す。skipモードでは、他のモードとは異なり、画像残差信号の符号化伝送を必要としないため、図28(A)の予測モードの分岐順に判定を行うよりも、先にskipモードの判定を行う方がモード判定に使用されるフラグの符号量を抑えることができる。
実施の形態3の動画像符号化装置100および動画像復号装置200では、上述のような新しい2つの技術を、実施の形態1や実施の形態2における、符号化側の動き予測部104および復号側の動き予測部208に導入した構成とすることができる。また、上述のような新しい2つの技術や、他の動き予測処理を、動き予測モードに応じて、動作を切り替えて符号化および復号できるように構成することもできる。
例えば、図3に示される実施の形態3の動画像符号化装置の動作は、AMVPモードにより特定された、予測動きベクトル情報の候補を利用するように構成することができる。ステップS102において、動き予測部104は、所定の動き予測処理としてAMVPモードを適用し、AMVP処理により特定された、少なくとも1つの予測動きベクトル情報の候補を、順次、参照解析部105に供給する。その後は図3に示されるステップを進み、ステップS105において、モード判定部108は、動き予測部104のAVMP処理において、予測動きベクトル情報の候補となったものに基づいて生成された、動作モードに応じた、参照情報もしくは修正参照情報、生成した残差動きベクトル情報、および予測信号を取得し、入力部101から対象信号を取得する。
その後、モード判定部108は、モード判定処理および動作モードを確定するための比較判定を行う。ここで、現在取得した参照情報もしくは修正参照情報、生成した残差動きベクトル情報、および予測信号の情報量が、他の動作モードによる情報量よりも大きい場合には、まだ動作モードが確定していない(S106のNO)ものとしてステップS102に戻る。ステップS102に戻ることで、動き予測部104は、AMVP処理により特定された、別の予測動きベクトル情報の候補を、参照解析部105に供給する。このような処理を繰り返し行い、ステップS106において、モード判定部108が、最も情報量が少なくなるような動作モードを特定する。その後のステップは、図3と同様の動作を行い、実施の形態3の動画像符号化装置100における基本動作を完了するように構成することができる。
同様に、例えば、図3に示される実施の形態3の動画像符号化装置100の動作は、マージモードにより特定された、予測動きベクトル情報の候補を利用するように構成することができる。ステップS102において、動き予測部104は、所定の動き予測処理としてマージモードを適用し、マージ処理により特定された、少なくとも1つの予測動きベクトル情報の候補を、順次、参照解析部105に供給する。その後は図3に示されるステップを進み、ステップS105において、モード判定部108は、動き予測部104のマージ処理において予測動きベクトル情報の候補となったものに基づいて生成された、動作モードに応じた、参照情報もしくは修正参照情報、生成した残差動きベクトル情報、および予測信号を取得し、入力部101から対象信号を取得する。
その後、モード判定部108は、モード判定処理および動作モードを確定するための比較判定を行う。ここで、現在取得した参照情報もしくは修正参照情報、生成した残差動きベクトル情報、および予測信号の情報量が、他の動作モードによる情報量よりも大きい場合には、まだ動作モードが確定していない(S106のNO)ものとしてステップS102に戻る。ステップS102に戻ることで、動き予測部104は、マージ処理により特定された、別の予測動きベクトル情報の候補を、参照解析部105に供給する。このような処理を繰り返し行い、ステップS106において、モード判定部108が、最も情報量が少なくなるような動作モードを特定する。その後のステップは、図3と同様の動作を行い、実施の形態3の動画像符号化装置100における基本動作を完了するように構成することができる。
このような、実施の形態3の動画像符号化装置100および動画像復号装置200の構成および動作により、以下のような効果が得られる。
まず、実施の形態3の動画像符号化装置100および動画像復号装置200の構成や動作に、AMVPモードを適用することで、実施の形態3の動画像符号化装置100の第1修正予測信号生成部106および/または第2修正予測信号生成部107において、AMVPモードにより厳選された少なくとも1つの予測動きベクトル情報の候補に基づいて、取得した予測動きベクトル情報候補のリスト側の情報を基準とした修正予測信号生成処理を行うことができる。これにより、AMVPモードによって、予測動きベクトル情報として利用できる候補が増加することから、AMVPモードではない所定の動き予測処理で供給される予測動きベクトル情報を利用して、修正予測信号生成処理を行って得られる修正予測動きベクトル情報とは異なったものを得ることができる。よって、AMVPモードではない場合よりも、異なる動きベクトル情報、残差動きベクトル情報、および予測信号を得ることができる。このような異なるものの中から、参照情報もしくは修正参照情報、生成した残差動きベクトル情報、および予測信号の情報量が、最も少なくなるような予測動きベクトル情報候補を特定し、動作モードを決定することができるようになる。つまり、より多様な動作モードによる結果の中から、より最善な結果を選択し、符号化することができるようになる。
また、AMVPモードにより厳選された少なくとも1つの予測動きベクトル情報の候補が得られることから、より確からしい予測動きベクトル情報として修正予測信号生成処理を行うことができる。よって、生成される修正予測動きベクトル情報の精度を高めることができる。その結果、修正予測動きベクトル情報に基づいて動き探索を行って動きベクトル情報を確定し、動きベクトル情報から修正予測動きベクトル情報を減算して得られる残差動きベクトル情報の情報量を低減することができるようになる。また、修正予測動きベクトル情報の精度が高まることにより、予測信号の品質をあまり低下させずに、動き探索自体の処理量を抑制するように構成することができるようになる。
また、AMVPモードによって、より確からしい予測動きベクトル情報が得られるようになることで、得られた予測動きベクトル情報のリスト側の予測信号の品質を高めることができるようになる。そして、得られた予測動きベクトル情報のリスト側の予測信号と、もう一方のリスト側の予測信号とを合成して得られる合成予測信号の品質を高めることができるようになる。ここで、もう一方のリスト側の予測信号とは、予測動きベクトル情報からもう一方のリスト側の修正予測動きベクトル情報を導出し、動きベクトル情報を特定し、動きベクトル情報に基づいて得られたもう一方のリスト側の予測信号のことである。したがって、AMVPモードではない場合よりも、合成予測信号の品質が良くなることから、得られる残差信号の情報量を更に低減することができるようになる。
また、マージモードを適用することで、実施の形態3の動画像符号化装置100の第1修正予測信号生成部106および/または第2修正予測信号生成部107において、マージモードにより厳選された少なくとも1つの予測動きベクトル情報の候補に基づいて、取得した予測動きベクトル情報候補のリスト側の情報を基準とした修正予測信号生成処理を行うことができる。これにより、マージモードによって、予測動きベクトル情報として利用できる候補が増加することから、マージモードではない所定の動き予測処理で供給される予測動きベクトル情報を利用して、修正予測信号生成処理を行って得られる修正予測動きベクトル情報とは異なったものを得ることができる。よって、マージモードではない場合よりも、異なる動きベクトル情報、残差動きベクトル情報、および予測信号を得ることができる。このような異なるものの中から、参照情報もしくは修正参照情報、生成した残差動きベクトル情報、および予測信号の情報量が、最も少なくなるような予測動きベクトル情報候補を特定し、動作モードを決定することができるようになる。つまり、より多様な動作モードによる結果の中から、より最善な結果を選択し、符号化することができるようになる。
また、マージモードにより厳選された少なくとも1つの予測動きベクトル情報の候補が得られることから、より確からしい予測動きベクトル情報として修正予測信号生成処理を行うことができる。よって、生成される修正予測動きベクトル情報の精度を高めることができる。その結果、修正予測動きベクトル情報に基づいて動き探索を行って動きベクトル情報を確定し、動きベクトル情報から修正予測動きベクトル情報を減算して得られる残差動きベクトル情報の情報量を低減することができるようになる。また、修正予測動きベクトル情報の精度が高まることにより、予測信号の品質をあまり低下させずに、動き探索自体の処理量を抑制するように構成することができるようになる。
また、マージモードによって、より確からしい予測動きベクトル情報が得られるようになることで、得られた予測動きベクトル情報のリスト側の予測信号の品質を高めることができるようになる。そして、得られた予測動きベクトル情報のリスト側の予測信号と、もう一方のリスト側の予測信号とを合成して得られる合成予測信号の品質を高めることができるようになる。ここで、もう一方のリスト側の予測信号とは、予測動きベクトル情報からもう一方のリスト側の修正予測動きベクトル情報を導出し、動きベクトル情報を特定し、動きベクトル情報に基づいて得られたもう一方のリスト側の予測信号のことである。したがって、マージモードではない場合よりも、合成予測信号の品質が良くなることから、得られる残差信号の情報量を更に低減することができるようになる。
更に、AMVPモード、マージモード、または他の所定の動き予測モードを、得られる結果の情報量に応じて、切り替えながら利用することで、得られる結果である、参照情報もしくは修正参照情報、生成した残差動きベクトル情報、および予測信号の情報量が最も少なくなる動作モードを特定することができるようになり、更に符号化効率を向上させることができるようになる。
(実施の形態4) 符号列、シンタックスの説明.
実施の形態4の動画像符号化装置100では、例えば、図29のような符号列を生成し、出力するような構成とすることができる。また、実施の形態4の動画像復号装置200では、このような符号列を取得し、正しく復号するような構成とすることができる。実施の形態4は、実施の形態1から実施の形態3までのような構成要素をもち、図29のような符号列を生成するように構成することができる。
この符号列は、次のような構成であると良い。図29は、実施の形態4によって生成される符号列の構成を説明するための概念図である。生成される符号列は、例えば、大別すると、ヘッダ情報2901およびデータ情報2902で構成される。このヘッダ情報2901内に、実施の形態4の動画像符号化装置100によって符号化されたものであることを示すためのフラグとしてのビット列2903が含まれるように構成することができる。また、ある所定の単位で実施の形態4の動画像符号化装置100による符号化を使用したか否かを判別できるように、より細かい処理単位におけるヘッダ情報内に、使用識別フラグとしてのビット列を含むようにすることができる。
例えば、ピクチャもしくはスライス単位で実施の形態4の動画像符号化装置100による符号化の使用を制御するために、ヘッダ情報2904およびデータ情報2905を含むピクチャもしくはスライスのヘッダ情報2904内に、実施の形態4の動画像符号化装置100による符号化の使用を制御するためのフラグとしてのビット列2906を含むようにしても良い。また、更に細かい処理単位、例えばマクロブロックや予測ブロックの単位で実施の形態4の動画像符号化装置100による符号化の使用を制御するために、ヘッダ情報2907およびデータ情報2908を含むマクロブロックや予測ブロックのヘッダ情報2907内に、実施の形態4の動画像符号化装置100による符号化の使用を制御するためのフラグとしてのビット列2909を含むようにしても良い。また、このようなヘッダ情報に対して、実施の形態4の動作モードを特定するためのモード情報をビット列として格納するように符号化ビット列を構成しても良い。更に、このようなヘッダ情報に対して、実施の形態4の動画像符号化装置100の各部の動作や初期状態を制御するためのパラメータ情報を、ビット列として格納するように符号化ビット列を構成しても良い。
次に、符号列の所定の構文構造である、シンタックスについて説明する。図29で示される符号列は、例えば、図30(A)、(B)のような構文を含むように構成すると良い。図30(A)、(B)は、ISO/IECおよびITU−Tにおいて規格化作業中の動画像符号化であるHEVCで定義されようとしているシンタックスの一部である。これは、予測ブロック(以後、PU)単位で必要となるヘッダ情報およびデータ情報の構文を示すためのシンタックスとなっている。
図30(A)、(B)のシンタックスでは、まず、PUの単位よりも大きな処理単位のシンタックス内に含まれているskip_flagを参照する。ここで、PUの単位よりも大きな処理単位、つまりPUより上位のシンタックスとしては、符号化ブロック(coding unit またはCU)の単位、符号化ツリー(coding tree)の単位、スライス(slice)の単位、スライスヘッダ(slice header)の単位、ピクチャ(picture parameter set)の単位、シーケンス(sequence parameter set)の単位のシンタックスであればよく、また、他のより上位に位置する単位であっても構わない。skip_flagに関しては、CUのシンタックス内に定義されているものとして話を進める。
skip_flagが真「1」で、更に参照する隣接ブロックの候補の総数NumMergeCandが1つを超える場合、符号化情報を参照する隣接ブロックの候補のリストであるマージリストのインデックスのシンタックス要素merge_idxが設置される。NumMergeCandが1つの場合は、その1つが参照する隣接ブロックとなるので、merge_idxを伝送せずとも参照する隣接ブロックの候補が確定する。次に、予測ブロックの予測モードが画像内予測(Intraモード)の場合、Intraモードに必要なシンタックス要素が設置されるが、詳細は省略する。次に、予測ブロックの予測モードが画像間予測(Interモード)の場合、マージモードか否かを示すフラグmerge_flagが設置される。merge_flagが真「1」で、更に参照する隣接ブロックの候補の総数NumMergeCandが1つを超える場合、マージモードが適用され、符号化情報を参照する隣接ブロックの候補のリストであるマージリストのインデックスのシンタックス要素merge_idxが設置される。NumMergeCandが1つの場合は、その1つが参照する隣接ブロックとなるので、merge_idxを伝送せずとも参照する隣接ブロックの候補が確定する。merge_flagが偽「0」の場合、マージモードを適用せず、通常の動きベクトル検出を行い、動きベクトルや参照ピクチャ番号等の符号化情報を伝送する場合である。
予測ブロック毎に、予測方向LX(X=0或いは1)に基づき、動きベクトル検出にて求められた参照ピクチャ番号を表すシンタックス要素ref_idx_lXと動きベクトルと予測ブロックの周囲の隣接ブロックの予測動きベクトルとの差分動きベクトルのシンタックス要素mvd_lX[][][i]が設置される。ここで、Xは0或いは1で予測方向を示し、iは差分動きベクトルの成分を表し、i=0はx成分を、i=1はy成分を表す。次に、予測動きベクトルの候補の総数NumMvpCand(LX)が1つを超える場合に、参照する予測動きベクトルの候補のリストであるMVPリストのインデックスのシンタックス要素mvp_idx_lXが設置される。NumMvpCand(LX)は、予測方向LX((X=0或いは1)で予測ブロックの予測動きベクトルの候補の総数を算出する関数を表す。また、動きベクトルの予測方法により予測動きベクトルの候補の総数NumMvpCand(LX,i)が1つの場合に、インデックスmvp_idx_lXは設置されず、符号化されない。予測動きベクトルの候補の総数が1つであれば、その1つが予測動きベクトルとなるので、mvp_idx_lXを伝送せずとも参照する予測動きベクトルの候補が確定する。以上のようなシンタックスに基づいて、HEVCではPUに関する符号化情報が格納される。
図30(A)、(B)のようなHEVCのシンタックスに対して、実施の形態4の動画像符号化装置100および動画像復号装置200では、例えば、図31(A)〜(C)から図34(A)〜(D)のようなシンタックスによる符号列を生成、および復号するように構成することができる。
図31(A)〜(C)は、符号化モードがマージモードであり、その上で実施の形態4の動作モードによって符号化される場合のPUにおけるシンタックスの一例を表している。図31(A)〜(C)の大部分のシンタックスは、図30(A)、(B)と同様であると良い。実施の形態4では、merge_idxが設置された後、PUよりも上位のシンタックス内において設置されるlp_bi_mode_flagを参照する。このlp_bi_mode_flagは、実施の形態4の動画像符号化装置100により符号化がされたか否かを表すフラグである。lp_bi_mode_flagが真「1」である場合には、次に、lp_bi_mode_idxが設置される。このlp_bi_mode_idxは、実施の形態4の動画像符号化装置100および動画像復号装置200の第1および第2修正予測信号生成部における動作モードを特定するための修正予測モードインデックスである。
その後、lp_bi_mode_idxで特定される動作モードから修正参照情報を必要とするか否かを特定し、内部情報としてLpBiModListとして保持する。このLpBiModListから、必要とする修正参照情報が、L0側もしくはL0側とL1側の両方である場合には、lp_bi_ref_idx0が設置される。更に、このLpBiModListから、必要とする修正参照情報が、L1側もしくはL0側とL1側の両方である場合には、次に、lp_bi_ref_idx1が設置される。このlp_bi_ref_idx0およびlp_bi_ref_idx1は、修正参照情報を特定するためのインデックスである。
その後、実施の形態4の動画像符号化装置100および動画像復号装置200の第1および第2修正予測信号生成部で利用する、1つ分の残差動きベクトル情報を特定するための、mvd_lp[][][0]およびmvd_lp[][][1]が配置される。lp_bi_mode_flagが偽「0」である場合には、実施の形態4の動作モードは利用しないため、実施の形態4の動作モードで必要とする符号化情報は配置されない。
図32(A)〜(C)は、符号化モードがマージモードであり、その上で実施の形態4の動作モードによって符号化される場合のPUにおけるシンタックスの別の一例を表している。この図32(A)〜(C)では、マージモードがPU単位で継続している間は、実施の形態4の動作モードを利用する場合、マージモードが開始したPUのlp_bi_mode_idxのみを利用し、PUごとにlp_bi_mode_idxを格納しないようなシンタックスとなっている。このようにすることで、動作モードを特定するためのインデックスを伝送するための符号量を削減することができるようになる。ここで、マージモードの継続は、内部情報としてMergeContinueとして管理し、マージモードが2回以上連続して発生している場合には「1」とし、それ以外は「0」とすることで、判断できるようにすると良い。
図33(A)〜(D)は、符号化モード自体が、実施の形態4の動作モードで符号化される場合のPUにおけるシンタックスの一例を表している。この図33(A)〜(D)では、実施の形態4の動作モードを利用したか否かを判断するために、inter_pred_flagに新たなモードとしてPred_LP_BIを追加し、inter_pred_flagがPred_LP_BIであった場合に、実施の形態4の動作モードで必要とする符号化情報を配置するようなシンタックスとなっている。また、このシンタックスでは、符号化モードとしてはマージモードではないが、マージ処理もしくはAMVP処理を利用して予測動きベクトル情報の候補を、実施の形態4の動作モードで利用できるような構成となっている。つまり、符号化モードとしては、マージモードやAMVPモードではないため、実施の形態4の動作モードでは、本来の符号化モードとしてのマージモードで配置されるmerge_idxの値や、本来の符号化モードとしてのAMVPモードで配置されるmvp_idx_l0およびmvp_idx_l1の値とは異なる値を設定することで、予測動きベクトル情報の候補の中から、実施の形態4の動作モードにおいて有効な予測動きベクトル情報を特定できるような構成となっている。
また、lp_bi_mode_idxから、実施の形態4の動作モードにおいて、マージモードに基づく動作モードであるか、AVMPモードに基づく動作モードであるかを特定し、内部情報であるBasePredModeとして保持し、BasePredModeがMerge、つまりマージモードである場合には、merge_idxが図33(A)〜(D)のように配置される。また、BasePredModeがMerge以外である場合、つまりAMVPモードである場合には、mvp_idx_lpが図33(A)〜(D)のように配置される。
図34(A)〜(D)は、符号化モード自体が、実施の形態4の動作モードで符号化される場合のPUにおけるシンタックスの別の一例を表している。図33(A)〜(D)ではinter_pred_flagによって実施の形態4の動作モードを利用したか否かを判断していたが、図34(A)〜(D)では、PUよりも上位のシンタックス内において設置されるlp_bi_mode_flagを参照して、実施の形態4の動作モードを利用したか否かを判断するような構成となっている。それ以外のシンタックスは、図33(A)〜(D)と同様である。
また、図31(A)〜(C)から図34(A)〜(D)のようなシンタックスにおいて、lp_bi_ref_idxl0およびlp_bi_ref_idxl1を配置せず、merge_idxやmvp_idx_lpから特定するように構成しても構わない。また、図31(A)〜(C)から図34(A)〜(D)のようなシンタックスにおいて、lp_bi_ref_idxl0およびlp_bi_ref_idxl1を配置せず、所定の参照解析処理に基づいて、所定のルールに基づいて参照先を特定するように構成しても構わない。
また、実施の形態4では、例えば、図31(A)〜(C)から図34(A)〜(D)のようなシンタックスにおいて、実施の形態4として追加した部分を組み合わせたシンタックスによる符号列を生成、および復号するように構成しても構わない。また、図31(A)〜(C)から図34(A)〜(D)のようなシンタックスは一例であり、実施の形態1から実施の形態3の構成で、符号化側および復号側で動作モードに応じて必要とする符号化情報を格納できるシンタックスであれば良い。
以上のようなシンタックスを含む符号列を生成および復号する、実施の形態4の動画像符号化装置100および動画像復号装置200の構成および動作により、以下のような効果が得られる。
まず、例えば、図31(A)〜(C)のようなシンタックスを含む符号列とすることで、符号化モードがマージモードである場合に、実施の形態4の動作モードを行うか否かを切り替えることができるようになる。また、符号化モードがマージモード(以後区別のため、符号化マージモード)であり、実施の形態4の動作モードを行う場合に、符号化マージモードで特定されたmerge_idxにより、実施の形態4の動作モードで利用する、予測動きベクトル情報の候補の中で、符号化マージモードで最良とされた予測動きベクトル情報および参照情報を候補の中から特定し、実施の形態4の動作モードで利用することができるようになる。したがって、実施の形態4の動作モードで新たに予測動きベクトル情報および参照情報を特定するための情報を符号列に含める必要がなくなることから、例えば、図31(A)〜(C)のようなシンタックスで、lp_bi_ref_idxl0およびlp_bi_ref_idxl1を配置しないようなシンタックスとすることで、この予測動きベクトル情報および参照情報を特定するための情報に必要となる符号量を削減することができ、符号列の符号化効率を向上させることができるようになる。
また、例えば、図31(A)〜(C)のようなシンタックスを含む符号列とすることで、実施の形態4の動作モードを行うか否かを、符号化マージモードの単位で制御することができるようになる。これにより、実施の形態4の動作モードで必要とする符号化情報を符号列に含める頻度を軽減することができ、符号列の符号化効率を向上させることができるようになる。
また、仮に、符号化マージモードで最良とされた予測動きベクトル情報および参照情報が、実施の形態4の動作モードでは最良な予測動きベクトル情報および参照情報ではなく、他の候補の中に最良なものがある場合であっても、図31(A)〜(C)のようなシンタックスや、図31(A)〜(C)のようなシンタックスに、更に、lp_bi_merge_idxをlp_bi_mode_idx以後に配置することで、実施の形態4の動作モードで最良となる予測動きベクトル情報を、候補の中から新たに選択することができるようになる。これにより、残差動きベクトル情報や予測信号もしくは合成予測信号の情報量を低減させることができ、符号列の符号化効率を向上させることができるようになる。ここで、lp_bi_merge_idxやlp_bi_ref_idxl0およびlp_bi_ref_idxl1は、これらのいずれか、もしくはいずれかとの組み合わせ、もしくは全てを、配置することができるようなシンタックスとすることで、実施の形態4の動作モードで最良となる予測動きベクトル情報や参照情報が得られるようにすることができるようになる。
また、例えば図31(A)〜(C)のようなシンタックスを含む符号列とすることで、1つ分の残差動きベクトル情報を特定するためのmvd_lpを含めることができるようになるため、符号化マージモードで最良とされた予測動きベクトル情報から、修正予測動きベクトル情報を導出し、残差動きベクトル情報を加算することで動きベクトル情報を生成し、この動きベクトル情報により予測動きベクトル情報とは異なるリスト側の予測信号を生成することができる。これにより、予測信号を特定するための動きベクトル情報を修正することができるようになり、本来の符号化マージモードで得られるL0側およびL1側の予測信号や、これらを合成して得られる合成予測信号よりも、品質の良い予測信号および合成予測信号を得ることができるようになる。
また、仮に、符号化マージモードで最良とされた予測動きベクトル情報および参照情報が、実施の形態4の動作モードでは最良な予測動きベクトル情報および参照情報ではなく、他の候補の中に最良なものがある場合において、図31(A)〜(C)のようなシンタックスや、図31(A)〜(C)のようなシンタックスに、更に、lp_bi_merge_idxをlp_bi_mode_idx以後に配置することで、実施の形態4の動作モードで最良となる予測動きベクトル情報を、候補の中から新たに選択できるようにし、mvd_lpから残差動きベクトル情報を特定し、符号化マージモードで選択された予測動きベクトル情報の候補の中から、最良な予測動きベクトル情報および参照情報を特定し、これらに基づいて修正予測動きベクトル情報を導出し、残差動きベクトル情報を加算することで動きベクトル情報を生成し、この動きベクトル情報により予測動きベクトル情報とは異なるリスト側の予測信号を生成することができる。これにより、予測信号を特定するための動きベクトル情報を修正することができるようになり、本来の符号化マージモードで得られるL0側およびL1側の予測信号や、これらを合成して得られる合成予測信号よりも、品質の良い予測信号および合成予測信号を得ることができるようになる。
また、図32(A)〜(C)のようなシンタックスを含む符号列とすることで、符号化マージモードが継続している間において、実施の形態4の動作モードを1つだけ含めるようにすることで、所定の処理単位、例えばPU単位ごとに、毎回動作モードを含めないようにすることができるようになる。これにより、動作モードを特定するための情報で必要となる符号量を削減することができ、符号列の符号化効率を向上させることができるようになる。
また、図33(A)〜(D)のような、符号化モード自体が、実施の形態4の動作モードで符号化されるようなシンタックスを含む符号列とすることで、符号化マージモードではないが、マージモードによって得られる予測動きベクトル情報および参照情報の候補や、符号化モードがAMVPモード(以後区別のため、符号化AMVPモード)ではないが、AMVPモードによって得られる予測動きベクトル情報および参照情報の候補の中から、実施の形態4の動作モードで最良となる予測動きベクトル情報を、候補の中から新たに選択することができるようになる。これにより、残差動きベクトル情報や予測信号もしくは合成予測信号の情報量を低減させることができ、符号列の符号化効率を向上させることができるようになる。ここで、lp_bi_merge_idxやlp_bi_ref_idxl0およびlp_bi_ref_idxl1は、これらのいずれか、もしくはいずれかとの組み合わせ、もしくは全てを、配置することができるようなシンタックスとすることで、実施の形態4の動作モードで最良となる予測動きベクトル情報や参照情報が得られるようにすることができるようになる。
また、例えば、図33(A)〜(D)のようなシンタックスを含む符号列とすることで、実施の形態4の動作モードを行うか否かを、実施の形態4の動作モードの単位で制御することができるようになる。これにより、実施の形態4の動作モードで必要とする符号化情報を符号列に含める頻度を高めることができるようになり、きめ細かな制御ができるようになることから、符号列の符号化効率を向上させることができるようになる。
また、図34(A)〜(D)のような、PUよりも上位のシンタックス内において設置されるlp_bi_mode_flagを参照して、実施の形態4の動作モードを利用したか否かを判断するようなシンタックスを含む符号列とすることで、実施の形態4の動作モードを行うか否かを、より大きな処理単位で制御することができるようになる。これにより、実施の形態4の動作モードで必要とする符号化情報を符号列に含める頻度を軽減することができ、符号列の符号化効率を向上させることができるようになる。
以上述べた実施の形態4の動画像符号化装置100が出力する動画像の符号列である、符号化ストリームは、そこで用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、実施の形態4の動画像符号化装置100に対応する実施の形態4の動画像復号装置200がこの特定のデータフォーマットの符号化ストリームを復号することができる。
(実施の形態5)
動画像符号化装置100と動画像復号装置200の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送しても良い。その場合、例えば、図35のように、実施の形態5の動画像符号化装置100が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置3500と、ネットワークから符号化データを受信して符号化ストリームに復元して実施の形態5の動画像復号装置200に供給する動画像受信装置3550とが設けられる。
動画像送信装置3500は、実施の形態5の動画像符号化装置100が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部3511と、パケット化された符号化データを、ネットワークを介して送信する送信部3512とを含む。動画像受信装置3550は、パケット化された符号化データを、ネットワークを介して受信する受信部3561と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、実施の形態5の動画像復号装置200に提供するパケット処理部3562とを含む。
(実施の形態6)
図36は、実施の形態1から実施の形態5の動画像符号化装置100および動画像復号装置200を、コンピュータを含む情報処理装置3600によって構成する例を示すブロック図である。実施の形態6の情報処理装置3600は、CPUに代表される中央処理制御装置3603、記録媒体や通信装置3606を介して、メモリに代表される一時記憶装置3605やHDDに代表される外部記憶装置3604に格納された符号化プログラム、復号プログラムにより、実施の形態1から実施の形態5における処理をソフトウェア処理により実行しても良い。また、プログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星デジタル放送のデータ放送として提供することも可能である。
また、本発明の実施の形態1から実施の形態6の動画像符号化装置、動画像符号化方法、動画像復号装置、動画像復号方法、および動画像復号プログラムの適用される範囲は、動画像を符号化および復号する装置、方法、プログラム、システム等であればよく、特に限定されるものではない。例えば、TVに代表される放送装置、携帯電話、スマートフォン、携帯型音楽プレーヤ、ゲーム装置、テレビ会議装置、監視装置、DVD−R/RW、BD−R/RW、HDD、SD、ホログラフィックメモリ等の追記および書き換え可能な記録媒体を利用した画像記録再生装置、デジタルカメラやカムコーダといった撮像記録再生装置、オーサリング等の画像記録編集装置、動画像の配信装置等に適用しても構わない。
以上、本発明をいくつかの実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。