(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】2019146245
(43)【公開日】20190829
(54)【発明の名称】動画像符号化装置、動画像復号装置、動画像符号化データ及び記録媒体
(51)【国際特許分類】
   H04N 19/52 20140101AFI20190802BHJP
【FI】
   !H04N19/52
【審査請求】有
【請求項の数】4
【出願形態】OL
【全頁数】56
(21)【出願番号】2019082932
(22)【出願日】20190424
(62)【分割の表示】2018017247の分割
【原出願日】20110721
(31)【優先権主張番号】2011050214
(32)【優先日】20110308
(33)【優先権主張国】JP
(31)【優先権主張番号】2010221460
(32)【優先日】20100930
(33)【優先権主張国】JP
(71)【出願人】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
【住所又は居所】東京都千代田区丸の内二丁目7番3号
(74)【代理人】
【識別番号】100123434
【弁理士】
【氏名又は名称】田澤 英昭
(74)【代理人】
【識別番号】100101133
【弁理士】
【氏名又は名称】濱田 初音
(74)【代理人】
【識別番号】100199749
【弁理士】
【氏名又は名称】中島 成
(74)【代理人】
【識別番号】100197767
【弁理士】
【氏名又は名称】辻岡 将昭
(74)【代理人】
【識別番号】100201743
【弁理士】
【氏名又は名称】井上 和真
(72)【発明者】
【氏名】伊谷 裕介
【住所又は居所】東京都千代田区丸の内二丁目7番3号 三菱電機株式会社内
(72)【発明者】
【氏名】関口 俊一
【住所又は居所】東京都千代田区丸の内二丁目7番3号 三菱電機株式会社内
(72)【発明者】
【氏名】杉本 和夫
【住所又は居所】東京都千代田区丸の内二丁目7番3号 三菱電機株式会社内
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA05
5C159NN11
5C159RC16
5C159RC38
(57)【要約】
【課題】所定のブロック単位に所定のダイレクトモードを選択して、符号量を削減することができるようにする。
【解決手段】動き補償予測部54は可変長復号部51から出力された符号化ブロックに係る符号化モードがダイレクトモードのインター符号化モードである場合、当該符号化ブロックの周囲に位置している復号済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該符号化ブロックが参照可能な復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルの中から、参照画像間の相関が高くなる方のダイレクトベクトルを選択し、そのダイレクトベクトルを用いて、当該符号化ブロックに対する動き補償予測処理を実施して予測画像を生成する処理を実施する。
【選択図】図5
【特許請求の範囲】
【請求項1】
最大ブロックサイズと階層数の上限値により入力画像を階層的に分割することで得られる符号化ブロックに係わる圧縮データ、符号化ブロックに係わる符号化モード及び動きベクトルを指定するための符号化ブロックに係わるインデックス情報、および当該インデックス情報に基づき選択される動きベクトル候補の数を変更するための制御情報が含まれるビットストリームに多重化されている符号化データに可変長復号処理を行う可変長復号部と、
上記インデックス情報に基づいて、1以上の動きベクトル候補の中から動きベクトルを選択し、選択された動きベクトルを用いて上記符号化ブロックに対し、動き補償予測処理を実施して予測画像を生成する動き補償予測手段と、を備え、
上記動き補償予測部は、上記インデックス情報に基づいて、上記符号化ブロックの周囲に位置する複数の復号済みブロックの動きベクトル候補から得られる空間動きベクトル、または上記符号化ブロックが参照可能な復号済みピクチャの動きベクトルから得られる時間動きベクトルを選択し、
上記動き補償予測部は、上記制御情報に基づいて、上記符号化ブロックの周囲に位置する複数の復号済みブロックから得られる空間動きベクトル、および上記符号化ブロックが参照可能な復号化済みピクチャの動きベクトルから得られる時間動きベクトルの少なくともいずれかを含む上記動きベクトル候補のリストを用意し、
上記動きベクトル候補は所定の順番でリスト化され、
上記動きベクトル候補の数はスライス単位で変更可能である、
ことを特徴とする動画像復号装置。
【請求項2】
符号化ブロックの周囲に位置する複数の符号化済みブロックから得られる空間動きベクトル、および上記符号化ブロックが参照可能な符号化済みピクチャの動きベクトルから得られる時間動きベクトルから動きベクトル候補を用意し、上記動きベクトル候補の中から選択された動きベクトルを用いて上記符号化ブロックに対し、動き補償予測処理を実施して予測画像を生成する動き補償予測部と、
選択された動きベクトル候補を示すインデックス情報と、上記可変長符号化部は上記動きベクトル候補の数を変更するための制御情報とを含むビットストリームを生成する可変長符号化部と、を備え、
上記動き補償予測部は、上記空間動きベクトルまたは上記時間動きベクトルから上記動きベクトル候補のリストを用意し、上記動きベクトル候補は所定の順番でリスト化され、
上記動きベクトル候補の数はスライス毎に変更可能である、
ことを特徴とする動画像符号化装置。
【請求項3】
予測画像を生成する際に実施された予測処理を示す符号化モードと、
予測画像と原画像との差分を圧縮処理して生成された圧縮データと、
上記予測画像を生成するための動き補償予測処理に用いられる動きベクトルに係わるインデックス情報と、
上記インデックス情報に基づいて選択される動きベクトル候補の数をスライスごとに変更するための制御情報と、
を備え、
上記インデックス情報および上記制御情報を用いた動き補償予測処理を実施して、上記予測画像を生成するとともに、上記差分と上記予測画像とに基づいて復号画像を生成する動画像復号装置によって復号される動画像符号化データであって、
上記動画像符号化データは、複数の符号化ブロックの符号化データが多重化されており、
各々の上記符号化データは、上記符号化モードと、上記圧縮データとを含み、
上記インデックス情報は、上記動きベクトルが、上記符号化ブロックの周囲に位置する複数の符号化済みブロックから得られる空間動きベクトル、および上記符号化ブロックが参照可能な符号化済みピクチャの動きベクトルから得られる時間動きベクトルの少なくともいずれかを含む動きベクトル候補から選択されたものである場合、上記動画像復号装置が選択された動きベクトル候補を特定する処理に用いられ、
上記動きベクトル候補は所定の順番でリスト化され、
上記動きベクトル候補はスライス単位で変更可能であり、
上記制御情報は、上記動画像復号装置が上記動きベクトル候補の数を変更する処理に用いられる、
ことを特徴とする動画像符号データ。
【請求項4】
予測画像を生成する際に実施された予測処理を示す符号化モードと、
予測画像と原画像との差分を圧縮処理して生成された圧縮データと、
上記予測画像を生成するための動き補償予測処理に用いられる動きベクトルに係わるインデックス情報と、
上記インデックス情報に基づいて選択される動きベクトル候補の数をスライスごとに変更するための制御情報と、
を備え、
上記インデックス情報および上記制御情報を用いた動き補償予測処理を実施して、上記予測画像を生成するとともに、上記差分と上記予測画像とに基づいて復号画像を生成する動画像復号装置によって復号される動画像符号化データを記録した記録媒体であって、
上記動画像符号化データは、複数の符号化ブロックの符号化データが多重化されており、
各々の上記符号化データは、上記符号化モードと、上記圧縮データとを含み、
上記インデックス情報は、上記動きベクトルが、上記符号化ブロックの周囲に位置する複数の符号化済みブロックから得られる空間動きベクトル、および上記符号化ブロックが参照可能な符号化済みピクチャの動きベクトルから得られる時間動きベクトルの少なくともいずれかを含む動きベクトル候補から選択されたものである場合、上記動画像復号装置が選択された動きベクトル候補を特定する処理に用いられ、
上記動きベクトル候補は所定の順番でリスト化され、
上記動きベクトル候補はスライス単位で変更可能であり、
上記制御情報は、上記動画像復号装置が上記動きベクトル候補の数を変更する処理に用いられる、
コンピューターで実行可能なビットストリームが記録されたコンピューター読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、画像圧縮符号化技術や圧縮画像データ伝送技術などに用いられる動画像符号化装置、動画像復号装置、動画像符号化データ及び記録媒体に関するものである。
【背景技術】
【0002】
例えば、MPEG(Moving Picture Experts Group)や「ITU−T H.26x」などの国際標準映像符号化方式では、輝度信号16×16画素と、その輝度信号16×16画素に対応する色差信号8×8画素とをまとめたブロックデータ(以下、「マクロブロック」と称する)を一単位として、動き補償技術や直交変換/変換係数量子化技術に基づいて圧縮する方法が採用されている。
動画像符号化装置及び動画像復号装置における動き補償処理では、前方または後方のピクチャを参照して、マクロブロック単位で動きベクトルの検出や予測画像の生成を行う。
このとき、1枚のピクチャのみを参照して、画面間予測符号化を行うものをPピクチャと称し、同時に2枚のピクチャを参照して、画面間予測符号化を行うものをBピクチャと称する。
【0003】
国際標準方式であるAVC/H.264(ISO/IEC 14496−10|ITU−T H.264)では、Bピクチャを符号化する際に、ダイレクトモードと呼ばれる符号化モードを選択することができる(例えば、非特許文献1を参照)。
即ち、符号化対象のマクロブロックには、動きベクトルの符号化データを持たず、符号化済みの他のピクチャのマクロブロックの動きベクトルや、周囲のマクロブロックの動きベクトルを用いる所定の演算処理で、符号化対象のマクロブロックの動きベクトルを生成する符号化モードを選択することができる。
【0004】
このダイレクトモードには、時間ダイレクトモードと空間ダイレクトモードの2種類が存在する。
時間ダイレクトモードでは、符号化済みの他ピクチャの動きベクトルを参照し、符号化済みピクチャと符号化対象のピクチャとの時間差に応じて動きベクトルのスケーリング処理を行うことで、符号化対象のマクロブロックの動きベクトルを生成する。
空間ダイレクトモードでは、符号化対象のマクロブロックの周囲に位置している少なくとも1つ以上の符号化済みマクロブロックの動きベクトルを参照し、それらの動きベクトルから符号化対象のマクロブロックの動きベクトルを生成する。
このダイレクトモードでは、スライスヘッダに設けられたフラグである“direct_spatial_mv_pred_flag”を用いることにより、スライス単位で、時間ダイレクトモード又は空間ダイレクトモードのいずれか一方を選択することが可能である。
ただし、ダイレクトモードの中で、変換係数を符号化しないモードをスキップモードと称する。以下、ダイレクトモードと記載するときは、スキップモードも含まれるものとする。
【0005】
ここで、図11は時間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。
図11において、「P」はPピクチャを表し、「B」はBピクチャを表している。
また、数字0−3はピクチャの表示順を示し、時間T0,T1,T2,T3の表示画像であることを表している。
ピクチャの符号化処理は、P0,P3,B1,B2の順番で行われているものとする。
【0006】
例えば、ピクチャB2の中のマクロブロックMB1を時間ダイレクトモードで符号化する場合を想定する。
この場合、ピクチャB2の時間軸上後方にある符号化済みピクチャのうち、ピクチャB2に一番近いピクチャP3の動きベクトルであって、マクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2の動きベクトルMVを用いる。
この動きベクトルMVはピクチャP0を参照しており、マクロブロックMB1を符号化する際に用いる動きベクトルMVL0,MVL1は、以下の式(1)で求められる。

【0007】
図12は空間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。
図12において、currentMBは、符号化対象のマクロブロックを表している。
このとき、符号化対象のマクロブロックの左横の符号化済マクロブロックAの動きベクトルをMVa、符号化対象のマクロブロックの上の符号化済マクロブロックBの動きベクトルをMVb、符号化対象のマクロブロックの右上の符号化済マクロブロックCの動きベクトルをMVcとすると、下記の式(2)に示すように、これらの動きベクトルMVa,MVb,MVcのメディアン(中央値)を求めることにより、符号化対象のマクロブロックの動きベクトルMVを算出することができる。
MV=median(MVa、MVb、MVc) (2)
空間ダイレクトモードでは、前方及び後方のそれぞれについて動きベクトルを求めるが、どちらも上記の方法を用いて求めることが可能である。
【0008】
なお、予測画像の生成に用いる参照画像は、参照に用いるベクトル毎に、参照画像リストして管理されており、2つのベクトルを用いる場合、各参照画像リストはリスト0、リスト1と称される。
参照画像リストに対して時間的に近いものから順番に格納され、通常はリスト0が前方向の参照画像を示し、リスト1が後方向の参照画像を示している。ただし、リスト1が前方向の参照画像を示し、リスト0は後方向の参照画像を示していてもよいし、リスト0とリスト1の双方が、前方向と後方向の参照画像を示していてもよい。また、並び順も時間的に近いものから並べる必要はない。
例えば、以下の非特許文献1には、参照画像リストがスライス毎に並び替えることが可能であることが記載されている。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】MPEG−4 AVC(ISO/IEC 14496−10)/ITU−T H.264規格
【発明の概要】
【発明が解決しようとする課題】
【0010】
従来の画像符号化装置は以上のように構成されているので、スライスヘッダに設けられたフラグである“direct_spatial_mv_pred_flag”を参照すれば、スライス単位で、時間ダイレクトモードと空間ダイレクトモードを切り替えることができる。しかし、マクロブロック単位では、時間ダイレクトモードと空間ダイレクトモードを切り替えることができないため、或るスライスに属している或るマクロブロックに対する最適なダイレクトモードが例えば空間ダイレクトモードであっても、当該スライスに対応するダイレクトモードが時間ダイレクトモードに決められていれば、当該マクロブロックに対して時間ダイレクトモードを使用しなければならず、最適なダイレクトモードを選択することができない。このような場合、最適なダイレクトモードを選択することができないため、不必要な動きベクトルを符号化しなければならず、符号量が増加してしまうなどの課題があった。
【0011】
この発明は上記のような課題を解決するためになされたもので、所定のブロック単位に最適な符号化モードを選択して、符号量を削減することができるような動画像符号化装置、動画像復号装置、動画像符号化データ及び当該動画像符号化データを記録した記録媒体を得ることを目的とする。
【課題を解決するための手段】
【0012】
この発明に係る動画像復号装置は、最大ブロックサイズと階層数の上限値により入力画像を階層的に分割することで得られる符号化ブロックに係わる圧縮データ、符号化ブロックに係わる符号化モード及び動きベクトルを指定するための符号化ブロックに係わるインデックス情報、および当該インデックス情報に基づき選択される動きベクトル候補の数を変更するための制御情報が含まれるビットストリームに多重化されている符号化データに可変長復号処理を行う可変長復号部と、インデックス情報に基づいて、1以上の動きベクトル候補の中から動きベクトルを選択し、選択された動きベクトルを用いて符号化ブロックに対し、動き補償予測処理を実施して予測画像を生成する動き補償予測手段と、を備え、動き補償予測部は、インデックス情報に基づいて、符号化ブロックの周囲に位置する複数の復号済みブロックの動きベクトル候補から得られる空間動きベクトル、または符号化ブロックが参照可能な復号済みピクチャの動きベクトルから得られる時間動きベクトルを選択し、動き補償予測部は、制御情報に基づいて、符号化ブロックの周囲に位置する複数の復号済みブロックから得られる空間動きベクトル、および符号化ブロックが参照可能な復号化済みピクチャの動きベクトルから得られる時間動きベクトルの少なくともいずれかを含む動きベクトル候補のリストを用意し、動きベクトル候補は所定の順番でリスト化され、動きベクトル候補の数はスライス単位で変更可能であることを特徴とするものである。
【発明の効果】
【0013】
この発明によれば、最大ブロックサイズと階層数の上限値により入力画像を階層的に分割することで得られる符号化ブロックに係わる圧縮データ、符号化ブロックに係わる符号化モード及び動きベクトルを指定するための符号化ブロックに係わるインデックス情報、および当該インデックス情報に基づき選択される動きベクトル候補の数を変更するための制御情報が含まれるビットストリームに多重化されている符号化データに可変長復号処理を行う可変長復号部と、インデックス情報に基づいて、1以上の動きベクトル候補の中から動きベクトルを選択し、選択された動きベクトルを用いて符号化ブロックに対し、動き補償予測処理を実施して予測画像を生成する動き補償予測手段と、を備え、動き補償予測部は、インデックス情報に基づいて、符号化ブロックの周囲に位置する複数の復号済みブロックの動きベクトル候補から得られる空間動きベクトル、または符号化ブロックが参照可能な復号済みピクチャの動きベクトルから得られる時間動きベクトルを選択し、動き補償予測部は、制御情報に基づいて、符号化ブロックの周囲に位置する複数の復号済みブロックから得られる空間動きベクトル、および符号化ブロックが参照可能な復号化済みピクチャの動きベクトルから得られる時間動きベクトルの少なくともいずれかを含む動きベクトル候補のリストを用意し、動きベクトル候補は所定の順番でリスト化され、動きベクトル候補の数はスライス単位で変更可能であるので、符号化ブロック単位に最適な符号化モードを選択して動画像の復号化処理を行うことが可能となる。
【図面の簡単な説明】
【0014】
【図1】この発明の実施の形態1による動画像符号化装置を示す構成図である。
【図2】この発明の実施の形態1による動画像符号化装置の動き補償予測部5を示す構成図である。
【図3】動き補償予測部5を構成しているダイレクトベクトル生成部23を示す構成図である。
【図4】ダイレクトベクトル生成部23を構成しているダイレクトベクトル判定部33を示す構成図である。
【図5】この発明の実施の形態1による動画像復号装置を示す構成図である。
【図6】この発明の実施の形態1による動画像復号装置の動き補償予測部54を示す構成図である。
【図7】この発明の実施の形態1による動画像符号化装置の処理内容を示すフローチャートである。
【図8】この発明の実施の形態1による動画像復号装置の処理内容を示すフローチャートである。
【図9】最大サイズの符号化ブロックが階層的に複数の符号化ブロックに分割される様子を示す説明図である。
【図10】(a)は分割後のパーティションの分布を示し、(b)は階層分割後のパーティションに符号化モードm(B)が割り当てられる状況を4分木グラフで示す説明図である。
【図11】時間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。
【図12】空間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。
【図13】メディアン予測の候補A1−An、B1−Bn、C,D,Eから空間ダイレクトベクトルを生成する方法を示す模式図である。
【図14】時間方向の距離に応じてスケーリングを行うことで、空間ダイレクトベクトルを生成する方法を示す模式図である。
【図15】前方予測画像と後方予測画像の類似度による評価値の算出例を示す説明図である。
【図16】動きベクトルの分散値を用いた評価式を示す説明図である。
【図17】空間ベクトルMV_A,MV_B,MV_Cや、時間ベクトルMV_1〜MV_8を示す説明図である。
【図18】複数の符号化済ベクトルから1つの候補ベクトルの生成を示す説明図である。
【図19】時間的に前にある画像のみを組み合わせて、評価値SADを算出する例を示す説明図である。
【図20】L字テンプレートに似ている画像の探索を示す説明図である。
【図21】符号化ブロックBのサイズがL=kMである例を示す説明図である。
【図22】(Ln+1,Mn+1)=(L/2,M/2)のように分割する例を示す説明図である。
【図23】図21又は図22のいずれかの分割を選択できる例を示す説明図である。
【図24】変換ブロックサイズ単位が階層構造になっている例を示す説明図である。
【図25】この発明の実施の形態3による動画像符号化装置の動き補償予測部5を示す構成図である。
【図26】動き補償予測部5を構成しているダイレクトベクトル生成部25を示す構成図である。
【図27】ダイレクトベクトル生成部25を構成している初期ベクトル生成部34を示す構成図である。
【図28】初期ベクトル生成部34を構成している初期ベクトル判定部73を示す構成図である。
【図29】この発明の実施の形態3による動画像復号装置の動き補償予測部54を示す構成図である。
【図30】動きベクトルの探索処理を示す説明図である。
【図31】この発明の実施の形態4による動画像符号化装置の動き補償予測部5を示す構成図である。
【図32】この発明の実施の形態4による動画像復号装置の動き補償予測部54を示す構成図である。
【図33】選択可能な動きベクトルと、その動きベクトルを示すインデックス情報とが記述されているダイレクトベクトル候補インデックスを示す説明図である。
【図34】1本のベクトルのインデックス情報だけを符号化する例を示す説明図である。
【図35】動き補償予測部5を構成しているダイレクトベクトル生成部26を示す構成図である。
【図36】この発明の実施の形態5による動画像符号化装置の動き補償予測部5を示す構成図である。
【図37】動き補償予測部5を構成しているダイレクトベクトル生成部27を示す構成図である。
【図38】この発明の実施の形態5による動画像復号装置の動き補償予測部54を示す構成図である。
【図39】動き補償予測部5を構成しているダイレクトベクトル生成部26を示す構成図である。
【図40】周囲のブロックとの相関関係を示す説明図である。
【図41】符号化ブロックのブロックサイズ毎に、選択可能な1以上の動きベクトルを示すリストの説明図である。
【図42】最大のブロックサイズが「128」であるリストの一例を示す説明図である。
【図43】符号化ブロックの分割パターン毎に、選択可能な1以上の動きベクトルを示すリストの説明図である。
【図44】動画像符号化装置におけるリスト情報の送信処理を示すフローチャートである。
【図45】動画像復号装置におけるリスト情報の受信処理を示すフローチャートである。
【図46】リスト内の「temporal」が選択可から選択不可に変更されているために、“オン”の変更フラグと変更後のリストを示すリスト情報を符号化している例を示す説明図である。
【図47】変更フラグが“オン”であるため、現在保持しているリストを変更している例を示す説明図である。
【図48】ブロックサイズ毎に変更フラグを用意し、選択可能な動きベクトルが変更されたブロックサイズに係るリスト情報だけを符号化している例を示す説明図である。
【図49】対象となるブロックからインター符号化されているブロックを探索し、そのブロック内に含まれる全てのベクトルを空間ベクトル候補とする例を示す説明図である。
【発明を実施するための形態】
【0015】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
この実施の形態1では、映像の各フレーム画像を入力し、近接フレーム間で動き補償予測を実施することで得られる予測差分信号に対して直交変換や量子化による圧縮処理を実施した後に可変長符号化を行ってビットストリームを生成する動画像符号化装置と、その動画像符号化装置から出力されたビットストリームを復号する動画像復号装置について説明する。
【0016】
この実施の形態1の動画像符号化装置は、映像信号の空間・時間方向の局所的な変化に適応して、映像信号を多様なサイズの領域に分割してフレーム内・フレーム間適応符号化を行うことを特徴としている。
一般的に映像信号は、空間・時間的に信号の複雑さが局所的に変化する特性を有している。空間的に見ると、ある特定の映像フレーム上では、空や壁などのような比較的広い画像領域中で均一な信号特性を持つ絵柄もあれば、人物や細かいテクスチャを持った絵画など小さい画像領域内で複雑なテクスチャパターンを持つ絵柄も混在することがある。
時間的に見ても、空や壁は局所的に時間方向の絵柄の変化が小さいが、動く人物や物体はその輪郭が時間的に剛体・非剛体の運動をするため、時間的な変化が大きい。
【0017】
符号化処理は、時間・空間的な予測によって信号電力やエントロピーの小さい予測差分信号を生成することで、全体の符号量を削減するが、予測のためのパラメータをできるだけ大きな画像信号領域に均一に適用できれば、当該パラメータの符号量を小さくすることができる。
一方、時間的・空間的に変化の大きい画像信号パターンに対して、同一の予測パラメータを適用すると、予測の誤りが増えるため、予測差分信号の符号量を削減することができない。
そこで、時間的・空間的に変化の大きい画像信号パターンに対しては、予測対象の領域を小さくして、予測のためのパラメータのデータ量を増やしても予測差分信号の電力・エントロピーを低減するほうが望ましい。
このような映像信号の一般的な性質に適応した符号化を行うため、この実施の形態1の動画像符号化装置では、所定の最大ブロックサイズから階層的に映像信号の領域を分割して、分割領域毎に予測処理や、予測差分の符号化処理を実施するようにしている。
【0018】
この実施の形態1の動画像符号化装置が処理対象とする映像信号は、輝度信号と2つの色差信号からなるYUV信号や、ディジタル撮像素子から出力されるRGB信号等の任意の色空間のカラー映像信号のほか、モノクロ画像信号や赤外線画像信号など、映像フレームが水平・垂直2次元のディジタルサンプル(画素)列から構成される任意の映像信号である。
各画素の諧調は8ビットでもよいし、10ビット、12ビットなどの諧調であってもよい。
ただし、以下の説明においては、特に断らない限り、入力される映像信号がYUV信号であるものとする。また、2つの色差成分U,Vが輝度成分Yに対して、サブサンプルされた4:2:0フォーマットの信号であるものとする。
なお、映像の各フレームに対応する処理データ単位を「ピクチャ」と称し、この実施の形態1では、「ピクチャ」は順次走査(プログレッシブスキャン)された映像フレームの信号として説明を行う。ただし、映像信号がインタレース信号である場合、「ピクチャ」は映像フレームを構成する単位であるフィールド画像信号であってもよい。
【0019】
図1はこの発明の実施の形態1による動画像符号化装置を示す構成図である。
図1において、符号化制御部1は動き補償予測処理(フレーム間予測処理)又はイントラ予測処理(フレーム内予測処理)が実施される際の処理単位となる符号化ブロックの最大サイズを決定するとともに、最大サイズの符号化ブロックが階層的に分割される際の上限の階層数を決定する処理を実施する。
また、符号化制御部1は利用可能な1以上の符号化モード(1以上のイントラ符号化モード、1以上のインター符号化モード(ダイレクトモードのインター符号化モードを含む))の中から、階層的に分割される各々の符号化ブロックに適する符号化モードを選択する処理を実施する。なお、符号化制御部1は符号化制御手段を構成している。
【0020】
ブロック分割部2は入力画像を示す映像信号を入力すると、その映像信号が示す入力画像を符号化制御部1により決定された最大サイズの符号化ブロックに分割するとともに、符号化制御部1により決定された上限の階層数に至るまで、その符号化ブロックを階層的に分割する処理を実施する。なお、ブロック分割部2はブロック分割手段を構成している。
【0021】
切替スイッチ3は符号化制御部1により選択された符号化モードがイントラ符号化モードであれば、ブロック分割部2により分割された符号化ブロックをイントラ予測部4に出力し、符号化制御部1により選択された符号化モードがインター符号化モードであれば、ブロック分割部2により分割された符号化ブロックを動き補償予測部5に出力する処理を実施する。
イントラ予測部4は切替スイッチ3からブロック分割部2により分割された符号化ブロックを受けると、符号化制御部1から出力されたイントラ予測パラメータを用いて、その符号化ブロックに対するイントラ予測処理を実施して予測画像を生成する処理を実施する。
なお、切替スイッチ3及びイントラ予測部4からイントラ予測手段が構成されている。
【0022】
動き補償予測部5はブロック分割部2により分割された符号化ブロックに適する符号化モードとして、符号化制御部1によりダイレクトモードのインター符号化モードが選択された場合、当該符号化ブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該符号化ブロックが参照可能な符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルの中から、参照画像間の相関が高くなる方のダイレクトベクトルを選択し、そのダイレクトベクトルを用いて、当該符号化ブロックに対する動き補償予測処理を実施して予測画像を生成する処理を実施する。
また、動き補償予測部5はブロック分割部2により分割された符号化ブロックに適する符号化モードとして、符号化制御部1によりダイレクトモード以外のインター符号化モードが選択された場合、当該符号化ブロックと動き補償予測フレームメモリ12に格納されている参照画像から動きベクトルを探索し、その動きベクトルを用いて、当該符号化ブロックに対する動き補償予測処理を実施して予測画像を生成する処理を実施する。
なお、切替スイッチ3及び動き補償予測部5から動き補償予測手段が構成されている。
【0023】
減算部6はブロック分割部2により分割された符号化ブロックから、イントラ予測部4又は動き補償予測部5により生成された予測画像を減算することで、差分画像(=符号化ブロック−予測画像)を生成する処理を実施する。なお、減算部6は差分画像生成手段を構成している。
変換・量子化部7は符号化制御部1から出力された予測差分符号化パラメータに含まれている変換ブロックサイズ単位で、減算部6により生成された差分画像の変換処理(例えば、DCT(離散コサイン変換)や、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を実施するとともに、その予測差分符号化パラメータに含まれている量子化パラメータを用いて、その差分画像の変換係数を量子化することで、量子化後の変換係数を差分画像の圧縮データとして出力する処理を実施する。なお、変換・量子化部7は画像圧縮手段を構成している。
【0024】
逆量子化・逆変換部8は符号化制御部1から出力された予測差分符号化パラメータに含まれている量子化パラメータを用いて、変換・量子化部7から出力された圧縮データを逆量子化し、その予測差分符号化パラメータに含まれている変換ブロックサイズ単位で、逆量子化の圧縮データの逆変換処理(例えば、逆DCT(逆離散コサイン変換)や、逆KL変換等の逆変換処理)を実施することで、逆変換処理後の圧縮データを局所復号予測差分信号として出力する処理を実施する。
【0025】
加算部9は逆量子化・逆変換部8から出力された局所復号予測差分信号とイントラ予測部4又は動き補償予測部5により生成された予測画像を示す予測信号を加算することで、局所復号画像を示す局所復号画像信号を生成する処理を実施する。
イントラ予測用メモリ10はイントラ予測部4により次回のイントラ予測処理で用いられる画像として、加算部9により生成された局所復号画像信号が示す局所復号画像を格納するRAMなどの記録媒体である。
【0026】
ループフィルタ部11は加算器9により生成された局所復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局所復号画像信号が示す局所復号画像を参照画像として動き補償予測フレームメモリ12に出力する処理を実施する。
動き補償予測フレームメモリ12は動き補償予測部5により次回の動き補償予測処理で用いられる参照画像として、ループフィルタ部11によるフィルタリング処理後の局所復号画像を格納するRAMなどの記録媒体である。
【0027】
可変長符号化部13は変換・量子化部7から出力された圧縮データと、符号化制御部1から出力された符号化モード及び予測差分符号化パラメータと、イントラ予測部4から出力されたイントラ予測パラメータ又は動き補償予測部5から出力されたインター予測パラメータを可変長符号化して、その圧縮データ、符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ/インター予測パラメータの符号化データが多重化されているビットストリームを生成する処理を実施する。なお、可変長符号化部13は可変長符号化手段を構成している。
【0028】
図2はこの発明の実施の形態1による動画像符号化装置の動き補償予測部5を示す構成図である。
図2において、切替スイッチ21は符号化制御部1により選択された符号化モードがダイレクトモード以外のインターモードである場合、ブロック分割部2により分割された符号化ブロックを動きベクトル探索部22に出力する一方、その符号化モードがダイレクトモードのインターモードである場合、ブロック分割部2により分割された符号化ブロックをダイレクトベクトル生成部23に出力する処理を実施する。
なお、ダイレクトベクトル生成部23では、ダイレクトベクトルを生成する際に、ブロック分割部2により分割された符号化ブロックを用いないので、その符号化ブロックをダイレクトベクトル生成部23に出力しないようにしてもよい。
【0029】
動きベクトル探索部22は切替スイッチ21から出力された符号化ブロックと動き補償予測フレームメモリ12に格納されている参照画像を参照しながら、インターモードで最適な動きベクトルを探索し、その動きベクトルを動き補償処理部24に出力する処理を実施する。
ダイレクトベクトル生成部23は当該符号化ブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該符号化ブロックが参照可能な符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルの中から、参照画像間の相関が高くなる方のダイレクトベクトルを選択する処理を実施する。
【0030】
動き補償処理部24は動きベクトル探索部22により探索された動きベクトル又はダイレクトベクトル生成部23により選択されたダイレクトベクトルと動き補償予測フレームメモリ12に格納されている1フレーム以上の参照画像を用いて、符号化制御部1から出力されたインター予測パラメータに基づいて動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
なお、動き補償処理部24は、動き補償予測処理を実施する際に用いたインター予測パラメータを可変長符号化部13に出力する。符号化制御部1により選択された符号化モードがダイレクトモード以外のインターモードである場合、動きベクトル探索部22により探索された動きベクトルを当該インター予測パラメータに含めて可変長符号化部13に出力する。
【0031】
図3は動き補償予測部5を構成しているダイレクトベクトル生成部23を示す構成図である。
図3において、空間ダイレクトベクトル生成部31は符号化済みのブロックの動きベクトル(符号化済みのブロックの動きベクトルは、図示せぬ動きベクトルメモリ、あるいは、動き補償予測部5の内部メモリに格納されている)の中から、符号化ブロックの周囲に位置している符号化済みのブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する処理を実施する。
時間ダイレクトベクトル生成部32は符号化済みのブロックの動きベクトルの中から、符号化ブロックが参照可能な符号化済みピクチャの動きベクトルであって、符号化ブロックと空間的に同じ位置にあるブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する処理を実施する。
【0032】
ダイレクトベクトル判定部33は空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出し、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。
【0033】
図4はダイレクトベクトル生成部23を構成しているダイレクトベクトル判定部33を示す構成図である。
図4において、動き補償部41は空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードのリスト0予測画像(例えば、空間ダイレクトモードの前方予測画像)と空間ダイレクトモードのリスト1予測画像(例えば、空間ダイレクトモードの後方予測画像)を生成するとともに、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードのリスト0予測画像(例えば、時間ダイレクトモードの前方予測画像)と時間ダイレクトモードのリスト1予測画像(例えば、時間ダイレクトモードの後方予測画像)を生成する処理を実施する。
【0034】
類似度算出部42は空間ダイレクトモードの評価値として、空間ダイレクトモードのリスト0予測画像(前方予測画像)とリスト1予測画像(後方予測画像)の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードのリスト0予測画像(前方予測画像)とリスト1予測画像(後方予測画像)の類似度を算出する処理を実施する。
ダイレクトベクトル選択部43は類似度算出部42により算出された空間ダイレクトモードにおけるリスト0予測画像(前方予測画像)とリスト1予測画像(後方予測画像)の類似度と、時間ダイレクトモードにおけるリスト0予測画像(前方予測画像)とリスト1予測画像(後方予測画像)の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、リスト0予測画像(前方予測画像)とリスト1予測画像(後方予測画像)の類似度が高い方のダイレクトモードのダイレクトベクトルを選択する処理を実施する。
【0035】
図5はこの発明の実施の形態1による動画像復号装置を示す構成図である。
図5において、可変長復号部51はビットストリームに多重化されている符号化データから階層的に分割されている各々の符号化ブロックに係る圧縮データ、符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ/インター予測パラメータを可変長復号して、その圧縮データ及び予測差分符号化パラメータを逆量子化・逆変換部55に出力するとともに、その符号化モード及びイントラ予測パラメータ/インター予測パラメータを切替スイッチ52に出力する処理を実施する。なお、可変長復号部51は可変長復号手段を構成している。
【0036】
切替スイッチ52は可変長復号部51から出力された符号化ブロックに係る符号化モードがイントラ符号化モードである場合、可変長復号部51から出力されたイントラ予測パラメータをイントラ予測部53に出力し、その符号化モードがインター符号化モードである場合、可変長復号部51から出力されたインター予測パラメータを動き補償予測部54に出力する処理を実施する。
イントラ予測部53は切替スイッチ52から出力されたイントラ予測パラメータを用いて、当該符号化ブロックに対するイントラ予測処理を実施して予測画像を生成する処理を実施する。
なお、切替スイッチ52及びイントラ予測部53からイントラ予測手段が構成されている。
【0037】
動き補償予測部54は可変長復号部51から出力された符号化ブロックに係る符号化モードがダイレクトモードのインター符号化モードである場合、当該符号化ブロックの周囲に位置している復号済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該符号化ブロックが参照可能な復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルの中から、参照画像間の相関が高くなる方のダイレクトベクトルを選択し、そのダイレクトベクトルを用いて、当該符号化ブロックに対する動き補償予測処理を実施して予測画像を生成する処理を実施する。
また、動き補償予測部54は可変長復号部51から出力された符号化ブロックに係る符号化モードがダイレクトモード以外のインター符号化モードである場合、可変長復号部51から出力されたインター予測パラメータに含まれている動きベクトルを用いて、当該符号化ブロックに対する動き補償予測処理を実施して予測画像を生成する処理を実施する。
なお、切替スイッチ52及び動き補償予測部54から動き補償予測手段が構成されている。
【0038】
逆量子化・逆変換部55は可変長復号部51から出力された予測差分符号化パラメータに含まれている量子化パラメータを用いて、可変長復号部51から出力された符号化ブロックに係る圧縮データを逆量子化し、その予測差分符号化パラメータに含まれている変換ブロックサイズ単位で、逆量子化の圧縮データの逆変換処理(例えば、逆DCT(逆離散コサイン変換)や、逆KL変換等の逆変換処理)を実施することで、逆変換処理後の圧縮データを復号予測差分信号(圧縮前の差分画像を示す信号)として出力する処理を実施する。なお、逆量子化・逆変換部55は差分画像生成手段を構成している。
【0039】
加算部56は逆量子化・逆変換部55から出力された復号予測差分信号とイントラ予測部53又は動き補償予測部54により生成された予測画像を示す予測信号を加算することで、復号画像を示す復号画像信号を生成する処理を実施する。なお、加算部56は復号画像生成手段を構成している。
イントラ予測用メモリ57はイントラ予測部53により次回のイントラ予測処理で用いられる画像として、加算部56により生成された復号画像信号が示す復号画像を格納するRAMなどの記録媒体である。
【0040】
ループフィルタ部58は加算器56により生成された復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の復号画像信号が示す復号画像を参照画像として動き補償予測フレームメモリ59に出力する処理を実施する。
動き補償予測フレームメモリ59は動き補償予測部54により次回の動き補償予測処理で用いられる参照画像として、ループフィルタ部58によるフィルタリング処理後の復号画像を格納するRAMなどの記録媒体である。
【0041】
図6はこの発明の実施の形態1による動画像復号装置の動き補償予測部54を示す構成図である。
図6において、切替スイッチ61は可変長復号部51から出力された符号化ブロックに係る符号化モードがダイレクトモード以外のインターモードである場合、可変長復号部51から出力されたインター予測パラメータ(動きベクトルを含む)を動き補償処理部63に出力し、その符号化モードがダイレクトモードのインターモードである場合、可変長復号部51から出力されたインター予測パラメータをダイレクトベクトル生成部62に出力する処理を実施する。
【0042】
ダイレクトベクトル生成部62は当該符号化ブロックの周囲に位置している復号済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該符号化ブロックが参照可能な復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルの中から、参照画像間の相関が高くなる方のダイレクトベクトルを選択する処理を実施する。
また、ダイレクトベクトル生成部62は切替スイッチ61から出力されたインター予測パラメータを動き補償処理部63に出力する処理を実施する。
なお、ダイレクトベクトル生成部62の内部構成は、図2のダイレクトベクトル生成部23と同じである。
【0043】
動き補償処理部63は切替スイッチ61から出力されたインター予測パラメータに含まれている動きベクトル又はダイレクトベクトル生成部62により選択されたダイレクトベクトルと動き補償予測フレームメモリ59に格納されている1フレームの参照画像を用いて、ダイレクトベクトル生成部62から出力されたインター予測パラメータに基づいて動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
【0044】
図1では、動画像符号化装置の構成要素である符号化制御部1、ブロック分割部2、切替スイッチ3、イントラ予測部4、動き補償予測部5、減算部6、変換・量子化部7、逆量子化・逆変換部8、加算部9、ループフィルタ部11及び可変長符号化部13のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、動画像符号化装置がコンピュータで構成される場合、符号化制御部1、ブロック分割部2、切替スイッチ3、イントラ予測部4、動き補償予測部5、減算部6、変換・量子化部7、逆量子化・逆変換部8、加算部9、ループフィルタ部11及び可変長符号化部13の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図7はこの発明の実施の形態1による動画像符号化装置の処理内容を示すフローチャートである。
【0045】
図5では、動画像復号装置の構成要素である可変長復号部51、切替スイッチ52、イントラ予測部53、動き補償予測部54、逆量子化・逆変換部55、加算部56及びループフィルタ部58のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、動画像復号装置がコンピュータで構成される場合、可変長復号部51、切替スイッチ52、イントラ予測部53、動き補償予測部54、逆量子化・逆変換部55、加算部56及びループフィルタ部58の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図8はこの発明の実施の形態1による動画像復号装置の処理内容を示すフローチャートである。
【0046】
次に動作について説明する。
最初に、図1の動画像符号化装置の処理内容を説明する。
まず、符号化制御部1は、動き補償予測処理(フレーム間予測処理)又はイントラ予測処理(フレーム内予測処理)が実施される際の処理単位となる符号化ブロックの最大サイズを決定するとともに、最大サイズの符号化ブロックが階層的に分割される際の上限の階層数を決定する(図7のステップST1)。
【0047】
符号化ブロックの最大サイズの決め方として、例えば、全てのピクチャに対して、入力画像の解像度に応じたサイズに決定する方法が考えられる。
また、入力画像の局所的な動きの複雑さの違いをパラメータとして定量化しておき、動きの激しいピクチャでは最大サイズを小さな値に決定し、動きが少ないピクチャでは最大サイズを大きな値に決定する方法などが考えられる。
上限の階層数については、例えば、入力画像の動きが激しい程、階層数を深くして、より細かい動きが検出できるように設定し、入力画像の動きが少なければ、階層数を抑えるように設定する方法が考えられる。
【0048】
また、符号化制御部1は、利用可能な1以上の符号化モード(M種類のイントラ符号化モード、N種類のインター符号化モード(ダイレクトモードのインター符号化モードを含む))の中から、階層的に分割される各々の符号化ブロックに適する符号化モードを選択する(ステップST2)。
符号化制御部1による符号化モードの選択方法は公知の技術であるため詳細な説明を省略するが、例えば、利用可能な任意の符号化モードを用いて、符号化ブロックに対する符号化処理を実施して符号化効率を検証し、利用可能な複数の符号化モードの中で、最も符号化効率がよい符号化モードを選択する方法などがある。
【0049】
ブロック分割部2は、入力画像を示す映像信号を入力すると、その映像信号が示す入力画像を符号化制御部1により決定された最大サイズの符号化ブロックに分割するとともに、符号化制御部1により決定された上限の階層数に至るまで、その符号化ブロックを階層的に分割する。
ここで、図9は最大サイズの符号化ブロックが階層的に複数の符号化ブロックに分割される様子を示す説明図である。
図9の例では、最大サイズの符号化ブロックは、第0階層の符号化ブロックBであり、輝度成分で(L,M)のサイズを有している。
また、図9の例では、最大サイズの符号化ブロックBを出発点として、4分木構造で、別途定める所定の深さまで階層的に分割を行うことによって、符号化ブロックBを得ている。
【0050】
深さnにおいては、符号化ブロックBはサイズ(L,M)の画像領域である。
ただし、LとMは同じであってもよいし異なっていてもよいが、図9の例ではL=Mのケースを示している。
以降、符号化ブロックBのサイズは、符号化ブロックBの輝度成分におけるサイズ(L,M)と定義する。
【0051】
ブロック分割部2は、4分木分割を行うため、常に(Ln+1,Mn+1)=(L/2,M/2)が成立する。
ただし、RGB信号などのように、全ての色成分が同一サンプル数を有するカラー映像信号(4:4:4フォーマット)では、全ての色成分のサイズが(L,M)になるが、4:2:0フォーマットを扱う場合、対応する色差成分の符号化ブロックのサイズは(L/2,M/2)である。
以降、第n階層の符号化ブロックBで選択しうる符号化モードをm(B)と記する。
【0052】
複数の色成分からなるカラー映像信号の場合、符号化モードm(B)は、色成分ごとに、それぞれ個別のモードを用いるように構成されてもよいが、以降、特に断らない限り、YUV信号、4:2:0フォーマットの符号化ブロックの輝度成分に対する符号化モードのことを指すものとして説明を行う。
符号化モードm(B)には、1つないし複数のイントラ符号化モード(総称して「INTRA」)、1つないし複数のインター符号化モード(総称して「INTER」)があり、符号化制御部1は、上述したように、当該ピクチャで利用可能な全ての符号化モードないしは、そのサブセットの中から、符号化ブロックBに対して最も符号化効率がよい符号化モードを選択する。
【0053】
符号化ブロックBは、図9に示すように、更に1つないし複数の予測処理単位(パーティション)に分割される。
以降、符号化ブロックBに属するパーティションをP(i: 第n階層におけるパーティション番号)と表記する。
符号化ブロックBに属するパーティションPの分割がどのようになされているかは符号化モードm(B)の中に情報として含まれる。
パーティションPは、すべて符号化モードm(B)に従って予測処理が行われるが、パーティションP毎に、個別の予測パラメータを選択することができる。
【0054】
符号化制御部1は、最大サイズの符号化ブロックに対して、例えば、図10に示すようなブロック分割状態を生成して、符号化ブロックBを特定する。
図10(a)の網がけ部分は分割後のパーティションの分布を示し、また、図10(b)は階層分割後のパーティションに符号化モードm(B)が割り当てられる状況を4分木グラフで示している。
図10(b)において、□で囲まれているノードが、符号化モードm(B)が割り当てられたノード(符号化ブロックB)を示している。
【0055】
切替スイッチ3は、符号化制御部1が各々の符号化ブロックBのパーティションPに対して最適な符号化モードm(B)を選択すると、その符号化モードm(B)がイントラ符号化モードであれば(ステップST3)、ブロック分割部2により分割された符号化ブロックBのパーティションPをイントラ予測部4に出力する。
一方、その符号化モードm(B)がインター符号化モードであれば(ステップST3)、ブロック分割部2により分割された符号化ブロックBのパーティションPを動き補償予測部5に出力する。
【0056】
イントラ予測部4は、切替スイッチ3から符号化ブロックBのパーティションPを受けると、符号化制御部1により選択された符号化モードm(B)に対応するイントラ予測パラメータを用いて、その符号化ブロックBのパーティションPに対するイントラ予測処理を実施して、イントラ予測画像Pを生成する(ステップST4)。
イントラ予測部4は、イントラ予測画像Pを生成すると、そのイントラ予測画像Pを減算部6及び加算部9に出力するが、図5の動画像復号装置でも同じイントラ予測画像Pを生成できるようにするため、そのイントラ予測パラメータを可変長符号化部13に出力する。この実施の形態1におけるイントラ予測処理は、AVC/H.264規格(ISO/IEC 14496−10)に定められるアルゴリズムに限定されないが、イントラ予測パラメータとしては、動画像符号化装置側と動画像復号装置側でまったく同じイントラ予測画像を生成するために必要な情報を含む必要がある。
【0057】
動き補償予測部5は、切替スイッチ3から符号化ブロックBのパーティションPを受けると、符号化制御部1により選択された符号化モードm(B)がダイレクトモードのインター符号化モードであれば、符号化ブロックBのパーティションPの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、符号化ブロックBが参照可能な符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する。
そして、動き補償予測部5は、その空間ダイレクトベクトル又は時間ダイレクトベクトルの中から、参照画像間の相関が高くなる方のダイレクトベクトルを選択し、そのダイレクトベクトル及び符号化モードm(B)に対応するインター予測パラメータを用いて、符号化ブロックBのパーティションPに対する動き補償予測処理を実施して、インター予測画像Pを生成する(ステップST5)。
【0058】
一方、符号化制御部1により選択された符号化モードm(B)がダイレクトモード以外のインター符号化モードであれば、動き補償予測部5は、符号化ブロックBのパーティションPと動き補償予測フレームメモリ12に格納されている参照画像から動きベクトルを探索し、その動きベクトル及び符号化モードm(B)に対応するインター予測パラメータを用いて、符号化ブロックBのパーティションPに対する動き補償予測処理を実施して、インター予測画像Pを生成する(ステップST5)。
動き補償予測部5は、インター予測画像Pを生成すると、そのインター予測画像Pを減算部6及び加算部9に出力するが、図5の動画像復号装置でも同じインター予測画像Pを生成できるようにするため、そのインター予測パラメータを可変長符号化部13に出力する。インター予測画像の生成に用いられたインター予測パラメータには、
・ 符号化ブロックB内のパーティション分割を記述するモード情報
・ 各パーティションの動きベクトル
・ 動き補償予測フレームメモリ12内に複数の参照画像を含む構成の場合、いずれの参照画像を用いて予測を行うかを示す参照画像指示インデックス情報
・ 複数の動きベクトル予測値候補がある場合にいずれの動きベクトル予測値を選択して使用するかを示すインデックス情報
・ 複数の動き補償内挿フィルタがある場合にいずれのフィルタを選択して使用するかを示すインデックス情報
・ 当該パーティションの動きベクトルが複数の画素精度(半画素、1/4画素、1/8画素など)を示すことが可能な場合、いずれの画素精度を使用するかを示す選択情報
などの情報を含み、動画像復号装置側でまったく同じインター予測画像を生成するために、可変長符号化部13によってビットストリームに多重化される。
動き補償予測部5の処理内容の概略は上記の通りであるが、詳細な処理内容は後述する。
【0059】
減算部6は、イントラ予測部4又は動き補償予測部5が予測画像(イントラ予測画像P、インター予測画像P)を生成すると、ブロック分割部2により分割された符号化ブロックBのパーティションPから、イントラ予測部4又は動き補償予測部5により生成された予測画像(イントラ予測画像P、インター予測画像P)を減算することで差分画像を生成し、その差分画像を示す予測差分信号eを変換・量子化部7に出力する(ステップST6)。
【0060】
変換・量子化部7は、減算部6から差分画像を示す予測差分信号eを受けると、符号化制御部1から出力された予測差分符号化パラメータに含まれている変換ブロックサイズ単位で、その差分画像の変換処理(例えば、DCT(離散コサイン変換)や、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を実施するとともに、その予測差分符号化パラメータに含まれている量子化パラメータを用いて、その差分画像の変換係数を量子化することで、量子化後の変換係数を差分画像の圧縮データとして逆量子化・逆変換部8及び可変長符号化部13に出力する(ステップST7)。
【0061】
逆量子化・逆変換部8は、変換・量子化部7から差分画像の圧縮データを受けると、符号化制御部1から出力された予測差分符号化パラメータに含まれている量子化パラメータを用いて、その差分画像の圧縮データを逆量子化し、その予測差分符号化パラメータに含まれている変換ブロックサイズ単位で、逆量子化の圧縮データの逆変換処理(例えば、逆DCT(逆離散コサイン変換)や、逆KL変換等の逆変換処理)を実施することで、逆変換処理後の圧縮データを局所復号予測差分信号eハット(電子出願の関係上、アルファベット文字に付いた「^」をハットと表記する)として加算部9に出力する(ステップST8)。
【0062】
加算部9は、逆量子化・逆変換部8から局所復号予測差分信号eハットを受けると、その局所復号予測差分信号eハットと、イントラ予測部4又は動き補償予測部5により生成された予測画像(イントラ予測画像P、インター予測画像P)を示す予測信号を加算することで、局所復号パーティション画像Pハットないしはその集まりとしての局所復号符号化ブロック画像である局所復号画像を生成する(ステップST9)。
加算部9は、局所復号画像を生成すると、その局所復号画像を示す局所復号画像信号をイントラ予測用メモリ10に格納するとともに、その局所復号画像信号をループフィルタ部11に出力する。
【0063】
ステップST3〜ST9の処理は、階層的に分割された全ての符号化ブロックBに対する処理が完了するまで繰り返し実施され、全ての符号化ブロックBに対する処理が完了するとステップST12の処理に移行する(ステップST10,ST11)。
【0064】
可変長符号化部13は、変換・量子化部7から出力された圧縮データと、符号化制御部1から出力された符号化モード(符号化ブロックの分割状態を示す情報を含む)及び予測差分符号化パラメータと、イントラ予測部4から出力されたイントラ予測パラメータ又は動き補償予測部5から出力されたインター予測パラメータをエントロピー符号化する。
可変長符号化部13は、エントロピー符号化の符号化結果である圧縮データ、符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ/インター予測パラメータの符号化データを多重化してビットストリームを生成する(ステップST12)。
【0065】
ループフィルタ部11は、加算器9から局所復号画像信号を受けると、その局所復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局所復号画像信号が示す局所復号画像を参照画像として動き補償予測フレームメモリ12に格納する(ステップST13)。
ループフィルタ部11 によるフィルタリング処理は、加算器9から出力される局所復号画像信号の最大符号化ブロックあるいは個々の符号化ブロック単位で行ってもよいし、1画面分のマクロブロックに相当する局所復号画像信号が出力された後に1画面分まとめて行ってもよい。
【0066】
次に、動き補償予測部5の処理内容を詳細に説明する。
動き補償予測部5の切替スイッチ21は、符号化制御部1により選択された符号化モードm(B)がダイレクトモード以外のインターモードである場合、ブロック分割部2により分割された符号化ブロックBのパーティションPを動きベクトル探索部22に出力する。
一方、符号化モードm(B)がダイレクトモードのインターモードである場合、ブロック分割部2により分割された符号化ブロックBのパーティションPをダイレクトベクトル生成部23に出力する。
ただし、ダイレクトベクトル生成部23では、ダイレクトベクトルの生成に符号化ブロックBのパーティションPを用いないので、当該符号化モードm(B)がダイレクトモードのインターモードであっても、符号化ブロックBのパーティションPをダイレクトベクトル生成部23に出力しないようにしてもよい。
【0067】
動き補償予測部5の動きベクトル探索部22は、切替スイッチ21から符号化ブロックBのパーティションPを受けると、そのパーティションPと動き補償予測フレームメモリ12に格納されている参照画像を参照しながら、インターモードで最適な動きベクトルを探索し、その動きベクトルを動き補償処理部24に出力する。
インターモードで最適な動きベクトルを探索する処理自体は公知の技術であるため詳細な説明を省略する。
【0068】
動き補償予測部5のダイレクトベクトル生成部23は、符号化モードm(B)がダイレクトモードである場合、符号化ブロックBのパーティションP毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部24に出力する。
なお、符号化ブロックBに属するパーティションPの分割状態を示す情報は、上述したように、符号化モードm(B)の中に含まれているので、ダイレクトベクトル生成部23は、符号化モードm(B)を参照することで、符号化ブロックBのパーティションPを特定することができる。
【0069】
即ち、ダイレクトベクトル生成部23の空間ダイレクトベクトル生成部31は、図示せぬ動きベクトルメモリ又は内部メモリにより格納されている符号化済みブロックの動きベクトルの中から、符号化ブロックBのパーティションPの周囲に位置している符号化済みブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する。
また、ダイレクトベクトル生成部23の時間ダイレクトベクトル生成部32は、符号化済みブロックの動きベクトルの中から、符号化ブロックBが参照可能な符号化済みピクチャの動きベクトルであって、符号化ブロックBのパーティションPと空間的に同じ位置にあるブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する。
【0070】
ここで、図11は時間ダイレクトモードで動きベクトル(時間ダイレクトベクトル)を生成する方法を示す模式図である。
例えば、ピクチャB2の中のブロックMB1が符号化対象のパーティションPであり、ブロックMB1を時間ダイレクトモードで符号化する場合を想定する。
この場合、ピクチャB2の時間軸上後方にある符号化済みピクチャのうち、ピクチャB2に一番近いピクチャP3の動きベクトルであって、ブロックMB1と空間的に同じ位置にあるブロックMB2の動きベクトルMVを用いる。
この動きベクトルMVはピクチャP0を参照しており、ブロックMB1を符号化する際に用いる動きベクトルMVL0,MVL1は、以下の式(3)で求められる。
【0071】

時間ダイレクトベクトル生成部32は、動きベクトルMVL0,MVL1を算出すると、その動きベクトルMVL0,MVL1を時間ダイレクトモードの時間ダイレクトベクトルとしてダイレクトベクトル判定部33に出力する。
ただし、時間ダイレクトベクトル生成部32における時間ダイレクトベクトルの生成方法は、図11に示すようなH.264方式を用いてもよいが、これに限るものではなく、他の方法を用いてもよい。
【0072】
図12は空間ダイレクトモードで動きベクトル(空間ダイレクトベクトル)を生成する方法を示す模式図である。
図12において、currentMBは、符号化対象のブロックであるパーティションPを表している。
このとき、符号化対象のブロックの左横の符号化済ブロックAの動きベクトルをMVa、符号化対象のブロックの上の符号化済ブロックBの動きベクトルをMVb、符号化対象のブロックの右上の符号化済ブロックCの動きベクトルをMVcとすると、下記の式(4)に示すように、これらの動きベクトルMVa,MVb,MVcのメディアン(中央値)を求めることにより、符号化対象のブロックの動きベクトルMVを算出することができる。
MV=median(MVa、MVb、MVc) (4)
【0073】
空間ダイレクトモードでは、リスト0及びリスト1のそれぞれについて動きベクトルを求めるが、どちらも上記の方法を用いて求めることが可能である。
空間ダイレクトベクトル生成部31は、上記のようにして、リスト0及びリスト1の動きベクトルMVを算出すると、リスト0及びリスト1の動きベクトルMVを空間ダイレクトモードの空間ダイレクトベクトルとしてダイレクトベクトル判定部33に出力する。
ただし、空間ダイレクトベクトル生成部31における空間ダイレクトベクトルの生成方法は、図12に示すようなH.264方式を用いてもよいが、これに限るものではなく、他の方法を用いてもよい。
【0074】
例えば、図13に示すように、メディアン予測の候補として、A1−An、B1−Bnから1つずつと、C,D,Eから1つの3つで、空間ダイレクトベクトルを生成するようにしてもよい。
また、空間ダイレクトベクトルの生成に用いるMV候補が違うref_Idxの場合は、図14に示すように、時間方向の距離に応じてスケーリングを行うようにしてもよい。
ただし、scaled_MVはスケーリング後のベクトル、MVはスケーリング前の動きベクトル、d(x)はxまでの時間的な距離を示している。
また、Xrは符号化対象のブロックが示す参照画像、Yrはスケーリングの対象となるブロック位置A−Dが示す参照画像を示している。
【0075】
ダイレクトベクトル生成部23のダイレクトベクトル判定部33は、空間ダイレクトベクトル生成部31が空間ダイレクトベクトルを生成すると、その空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出する。
また、ダイレクトベクトル判定部33は、時間ダイレクトベクトル生成部32が時間ダイレクトベクトルを生成すると、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する。
ダイレクトベクトル判定部33は、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、以下に記載するような判定手段によってダイレクトモードのダイレクトベクトルを選択して動き補償処理部24に出力する。
【0076】
以下、ダイレクトベクトル判定部33の処理内容を具体的に説明する。
ダイレクトベクトル判定部33の動き補償部41は、空間ダイレクトベクトル生成部31が空間ダイレクトベクトルMVL0,MVL1を生成すると、その空間ダイレクトベクトルMVL0を用いて、空間ダイレクトモードのリスト0予測画像を生成し、その空間ダイレクトベクトルMVL1を用いて、空間ダイレクトモードのリスト1予測画像を生成する。
ここで、図15は前方予測画像と後方予測画像の類似度による評価値の算出例を示す説明図であるが、図15の例では、空間ダイレクトモードのリスト0予測画像として、前方予測画像fspatialを生成し、空間ダイレクトモードのリスト1予測画像として、後方予測画像gspatialを生成している。
【0077】
また、動き補償部41は、時間ダイレクトベクトル生成部32がリスト0及びリスト1の動きベクトルMVである時間ダイレクトベクトルを生成すると、前方の動きベクトルMVである時間ダイレクトベクトルを用いて、時間ダイレクトモードのリスト0予測画像を生成し、後方の動きベクトルMVである時間ダイレクトベクトルを用いて、時間ダイレクトモードの時間ダイレクトモードのリスト1予測画像を生成する。
図15の例では、時間ダイレクトモードのリスト0予測画像として、時間ダイレクトモードの前方予測画像ftemporalを生成し、時間ダイレクトモードのリスト1予測画像として、後方予測画像gtemporalを生成している。
【0078】
ここでは、前方向の参照画像を示す参照画像リスト0と、後方向の参照画像を示す参照画像リスト1を用いて、リスト0予測画像として前方予測画像を生成し、リスト1予測画像として後方予測画像を生成するものについて示したが、後方向の参照画像を示す参照画像リスト0と、前方向の参照画像を示す参照画像リスト1を用いて、リスト0予測画像として後方予測画像を生成し、リスト1予測画像として前方予測画像を生成するようにしてもよい。
また、前方向の参照画像を示す参照画像リスト0と、更に前方向の参照画像を示す参照画像リスト1を用いて、リスト0予測画像及びリスト1予測画像として、前方予測画像を生成するようにしてもよい(詳細は後述する)。
【0079】
ダイレクトベクトル判定部33の類似度算出部42は、空間ダイレクトモードのリスト0予測画像とリスト1予測画像を生成すると、下記の式(6)のように、空間ダイレクトモードの評価値SADspatialを算出する。
式(6)では、説明の便宜上、空間ダイレクトモードのリスト0予測画像が前方予測画像fspatial、空間ダイレクトモードのリスト1予測画像が後方予測画像gspatialとしている。
SADspatial=|fspatial−gspatial| (6)
【0080】
また、類似度算出部42は、時間ダイレクトモードのリスト0予測画像とリスト1予測画像を生成すると、下記の式(7)のように、時間ダイレクトモードの評価値SADtemporalを算出する。
式(7)では、説明の便宜上、時間ダイレクトモードのリスト0予測画像が前方予測画像ftemporal、時間ダイレクトモードのリスト1予測画像が後方予測画像gtemporalとしている。
SADtemporal=|ftemporal−gtemporal|(7)
【0081】
なお、前方予測画像と後方予測画像間の差分が大きい程、2つの画像間の類似度が低くなり(2つの画像の差分絶対値和を示す評価値SADが大きくなる)、時間的な相関が低くなる。逆に、前方予測画像と後方予測画像間の差分が小さい程、2つの画像間の類似度が高くなり(2つの画像の差分絶対値和を示す評価値SADが小さくなる)、時間的な相関が高くなる。
また、ダイレクトベクトルで予測する画像は、符号化対象のブロックに似ている画像を予測するはずである。2つのベクトルを用いて予測画像を生成する場合、それぞれのベクトルが予測する画像は符号化対象のブロックに似ているはずであり、これは2つの参照画像の相関が高いことを示している。
したがって、評価値SADが小さい方のダイレクトベクトルを選択することで、参照画像間の相関が高いモードを選ぶことができ、ダイレクトモードの精度を高めることができる。
【0082】
ダイレクトベクトル判定部33のダイレクトベクトル選択部43は、類似度算出部42が空間ダイレクトモードの評価値SADspatialと、時間ダイレクトモードの評価値SADtemporalとを算出すると、その評価値SADspatialと評価値SADtemporalを比較することで、空間ダイレクトモードにおける前方予測画像fspatialと後方予測画像gspatialの類似度と、時間ダイレクトモードにおける前方予測画像ftemporalと後方予測画像gtemporalの類似度とを比較する。
【0083】
ダイレクトベクトル選択部43は、空間ダイレクトモードにおける前方予測画像fspatialと後方予測画像gspatialの類似度が、時間ダイレクトモードにおける前方予測画像ftemporalと後方予測画像gtemporalの類似度より高い場合(SADspatial≦SADtemporal)、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部24に出力する。
一方、時間ダイレクトモードにおける前方予測画像ftemporalと後方予測画像gtemporalの類似度が、空間ダイレクトモードにおける前方予測画像fspatialと後方予測画像gspatialの類似度より高い場合(SADspatial>SADtemporal)、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部24に出力する。
【0084】
動き補償処理部24は、符号化モードm(B)がダイレクトモードでないとき、動きベクトル探索部22から動きベクトルを受けると、その動きベクトルと動き補償予測フレームメモリ12に格納されている1フレームの参照画像を用いて、符号化制御部1から出力されたインター予測パラメータに基づいて動き補償予測処理を実施することで、予測画像を生成する。
一方、符号化モードm(B)がダイレクトモードであるとき、ダイレクトベクトル生成部23から動きベクトル(ダイレクトベクトル選択部43により選択されたダイレクトベクトル)を受けると、その動きベクトルと動き補償予測フレームメモリ12に格納されている1フレームの参照画像を用いて、符号化制御部1から出力されたインター予測パラメータに基づいて動き補償予測処理を実施することで、予測画像を生成する。
なお、動き補償処理部24の動き補償予測処理は公知の技術であるため詳細な説明を省略する。
【0085】
ここでは、類似度算出部42が差分絶対値和である評価値SADを算出し、ダイレクトベクトル選択部43が評価値SADを比較するものについて示したが、類似度算出部42が評価値として、前方予測画像と後方予測画像間の差分二乗和SSEを算出し、ダイレクトベクトル選択部43が差分二乗和SSEを比較するようにしてもよい。SSEを用いることにより処理量は増えるが、より正確に類似度を算出することが可能となる。
【0086】
次に、図5の画像復号装置の処理内容を説明する。
可変長復号部51は、図1の画像符号化装置から出力されたビットストリームを入力すると、そのビットストリームに対する可変長復号処理を実施して、1フレーム以上のピクチャから構成されるシーケンス単位あるいはピクチャ単位にフレームサイズを復号する(図8のステップST21)。
可変長復号部51は、図1の符号化制御部1と同様の手順で、動き補償予測処理(フレーム間予測処理)又はイントラ予測処理(フレーム内予測処理)が実施される際の処理単位となる符号化ブロックの最大サイズを決定するとともに、最大サイズの符号化ブロックが階層的に分割される際の上限の階層数を決定する(ステップST22)。
例えば、画像符号化装置において、符号化ブロックの最大サイズが、入力画像の解像度に応じて決定されている場合、先に復号しているフレームサイズに基づいて符号化ブロックの最大サイズを決定する。
なお、符号化ブロックの最大サイズ及び上限の階層数を示す情報がビットストリームに多重化されている場合には、そのビットストリームから復号した情報を参照する。
【0087】
ビットストリームに多重化されている最大サイズの符号化ブロックBの符号化モードm(B)には、最大サイズの符号化ブロックBの分割状態を示す情報が含まれているので、可変長復号部51は、ビットストリームに多重化されている最大サイズの符号化ブロックBの符号化モードm(B)を復号して、階層的に分割されている各々の符号化ブロックBを特定する(ステップST23)。
可変長復号部51は、各々の符号化ブロックBを特定すると、その符号化ブロックBの符号化モードm(B)を復号し、その符号化モードm(B)に属しているパーティションPの情報に基づいて、符号化ブロックBに属しているパーティションPを特定する。
可変長復号部51は、符号化ブロックBに属しているパーティションPを特定すると、パーティションP毎に、圧縮データ、符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ/インター予測パラメータを復号する(ステップST24)。
【0088】
切替スイッチ52は、可変長復号部51から符号化ブロックBに属しているパーティションPの符号化モードm(B)がイントラ符号化モードである場合(ステップST25)、可変長復号部51から出力されたイントラ予測パラメータをイントラ予測部53に出力する。
一方、パーティションPの符号化モードm(B)がインター符号化モードである場合(ステップST25)、可変長復号部51から出力されたインター予測パラメータを動き補償予測部54に出力する。
イントラ予測部53は、切替スイッチ52からイントラ予測パラメータを受けると、そのイントラ予測パラメータを用いて、その符号化ブロックBのパーティションPに対するイントラ予測処理を実施して、イントラ予測画像Pを生成する(ステップST26)。
【0089】
動き補償予測部54は、切替スイッチ52からインター予測パラメータを受けると、可変長復号部51から出力された符号化モードm(B)がダイレクトモードのインター符号化モードであれば、図1の動き補償予測部5と同様に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成する。
動き補償予測部54は、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成すると、図1の動き補償予測部5と同様に、その空間ダイレクトベクトル又は時間ダイレクトベクトルの中から、参照画像間の相関が高くなる方のダイレクトベクトルを選択し、そのダイレクトベクトル及びインター予測パラメータを用いて、符号化ブロックBのパーティションPに対する動き補償予測処理を実施して、インター予測画像Pを生成する(ステップST27)。
【0090】
一方、可変長復号部51から出力された符号化モードm(B)がダイレクトモード以外のインター符号化モードであれば、動き補償予測部54の動き補償処理部63が、切替スイッチ52から出力されたインター予測パラメータに含まれている動きベクトルを用いて、符号化ブロックBのパーティションPに対する動き補償予測処理を実施して、インター予測画像Pを生成する(ステップST27)。
【0091】
逆量子化・逆変換部55は、可変長復号部51から出力された予測差分符号化パラメータに含まれている量子化パラメータを用いて、可変長復号部51から出力された符号化ブロックに係る圧縮データを逆量子化し、その予測差分符号化パラメータに含まれている変換ブロックサイズ単位で、逆量子化の圧縮データの逆変換処理(例えば、逆DCT(逆離散コサイン変換)や、逆KL変換等の逆変換処理)を実施することで、逆変換処理後の圧縮データを復号予測差分信号(圧縮前の差分画像を示す信号)として加算部56に出力する(ステップST28)。
【0092】
加算部56は、逆量子化・逆変換部55から復号予測差分信号を受けると、その復号予測差分信号とイントラ予測部53又は動き補償予測部54により生成された予測画像を示す予測信号を加算することで復号画像を生成して、その復号画像を示す復号画像信号をイントラ予測用メモリ57に格納するとともに、その復号画像信号をループフィルタ部58に出力する(ステップST29)。
【0093】
ステップST23〜ST29の処理は、階層的に分割された全ての符号化ブロックBに対する処理が完了するまで繰り返し実施される(ステップST30)。
ループフィルタ部58は、加算器56から復号画像信号を受けると、その復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の復号画像信号が示す復号画像を参照画像として動き補償予測フレームメモリ59に格納する(ステップST31)。
ループフィルタ部58によるフィルタリング処理は、加算器56から出力される復号画像信号の最大符号化ブロックあるいは個々の符号化ブロック単位で行ってもよいし、1画面分のマクロブロックに相当する復号画像信号が出力された後に1画面分まとめて行ってもよい。
【0094】
以上で明らかなように、この実施の形態1によれば、予測処理が実施される際の処理単位となる符号化ブロックの最大サイズを決定するとともに、最大サイズの符号化ブロックが階層的に分割される際の上限の階層数を決定し、利用可能な1以上の符号化モードの中から、階層的に分割される各々の符号化ブロックに適する符号化モードを選択する符号化制御部1と、入力画像を符号化制御部1により決定された最大サイズの符号化ブロックに分割するとともに、符号化制御部1により決定された上限の階層数に至るまで、その符号化ブロックを階層的に分割するブロック分割部2とを設け、ブロック分割部2により分割された符号化ブロックに適する符号化モードとして、符号化制御部1によりダイレクトモードのインター符号化モードが選択された場合、動き補償予測部5が、当該符号化ブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該符号化ブロックが参照可能な符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルの中から、参照画像間の相関が高くなる方のダイレクトベクトルを選択し、そのダイレクトベクトルを用いて、当該符号化ブロックに対する動き補償予測処理を実施して予測画像を生成するように構成したので、所定のブロック単位に最適なダイレクトモードを選択して、符号量を削減することができる効果を奏する。
【0095】
また、この実施の形態1によれば、ビットストリームに多重化されている符号化データから階層的に分割されている各々の符号化ブロックに係る圧縮データ及び符号化モードを可変長復号する可変長復号部51を設け、可変長復号部51により可変長復号された符号化ブロックに係る符号化モードがダイレクトモードのインター符号化モードである場合、動き補償予測部54が、当該符号化ブロックの周囲に位置している復号済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該符号化ブロックが参照可能な復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルの中から、参照画像間の相関が高くなる方のダイレクトベクトルを選択し、そのダイレクトベクトルを用いて、その符号化ブロックに対する動き補償予測処理を実施して予測画像を生成するように構成したので、所定のブロック単位に最適なダイレクトモードを選択することができるような符号化データを復号可能な動画像復号装置が得られる効果を奏する。
【0096】
実施の形態2.
上記実施の形態1では、動き補償予測部5,54(具体的には、類似度算出部42)が、空間ダイレクトモードの評価値SADspatialとして、空間ダイレクトモードの前方予測画像fspatialと後方予測画像gspatialの類似度を算出する一方、時間ダイレクトモードの評価値SADtemporalとして、時間ダイレクトモードの前方予測画像ftemporalと後方予測画像gtemporalの類似度を算出するものについて示したが、空間ダイレクトモードの評価値として、符号化ブロックBの周囲に位置している符号化済みブロック(復号済みブロック)の動きベクトルの分散値σ(spatial)を算出する一方、時間ダイレクトモードの評価値として、符号化ブロックBが参照可能な符号化済みピクチャ(復号済みピクチャ)において、符号化ブロックBと空間的に同じ位置にあるブロックの周囲に位置している符号化済みブロック(復号済みブロック)の動きベクトルの分散値σ(temporal)を算出するようにしてもよく、上記実施の形態1と同様の効果を奏することができる。
【0097】
即ち、類似度算出部42が、空間ダイレクトモードの評価値SADspatialとして、空間ダイレクトモードの前方予測画像fspatialと後方予測画像gspatialの類似度を算出する代わりに、図16(a)に示すように、符号化ブロックBの周囲に位置している符号化済みブロック(復号済みブロック)の動きベクトルの分散値σ(spatial)を算出する(下記の式(8)を参照)。
また、類似度算出部42が、時間ダイレクトモードの評価値SADtemporalとして、時間ダイレクトモードの前方予測画像ftemporalと後方予測画像gtemporalの類似度を算出する代わりに、図16(b)に示すように、符号化ブロックBが参照可能な符号化済みピクチャ(復号済みピクチャ)において、符号化ブロックBと空間的に同じ位置にあるブロックの周囲に位置している符号化済みブロック(復号済みブロック)の動きベクトルの分散値σ(temporal)を算出する(下記の式(8)を参照)。
【0098】

また、mはspatial又はtemporalを示す記号である。
【0099】
ダイレクトベクトル選択部43は、動きベクトルの分散値σ(spatial)と動きベクトルの分散値σ(temporal)とを比較し、動きベクトルの分散値σ(spatial)が動きベクトルの分散値σ(temporal)より大きい場合、空間ダイレクトモードの動きベクトル(空間ダイレクトベクトル)の信頼性が低いと判断して、時間ダイレクトモードの動きベクトル(時間ダイレクトベクトル)を選択する。
一方、動きベクトルの分散値σ(temporal)が動きベクトルの分散値σ(spatial)より大きい場合、時間ダイレクトモードの動きベクトル(時間ダイレクトベクトル)の信頼性が低いと判断して、空間ダイレクトモードの動きベクトル(空間ダイレクトベクトル)を選択する。
【0100】
上記実施の形態1では、時間ダイレクトベクトルと空間ダイレクトベクトルを生成し、いずれか一方のダイレクトベクトルを選択するものについて示したが、その時間ダイレクトベクトルや空間ダイレクトベクトルの他に、他のベクトルを候補ベクトルとして加え、それらの候補ベクトルの中からダイレクトベクトルを選択するようにしてもよい。
例えば、図17のような空間ベクトルMV_A,MV_B,MV_Cや、時間ベクトルMV_1〜MV_8を候補ベクトルに加えて、これらの空間ベクトルや時間ベクトルからダイレクトベクトルを選択するようにしてもよい。
また、図18に示すように、複数の符号化済ベクトルから1つのベクトルを生成し、そのベクトルを候補ベクトルに加えるようにしてもよい。
このように、候補ベクトルを増やすことで処理量は増加するが、ダイレクトベクトルの確度が向上して、符号化効率を向上させることができる。
【0101】
上記実施の形態1では、特に言及していないが、ダイレクトベクトルの候補をスライス単位に決定するようにしてもよい。
どのベクトルを候補とするかを示す情報はスライスヘッダに多重する。
例えば、時間ベクトルに関しては、パンするような映像では時間ベクトルの効果が低いため、選択候補から外すようにする一方、カメラが固定な映像では空間ベクトルの効果が大きいため候補に加えるなどの方法が考えられる。
【0102】
候補となるベクトルが多い方が、より原画像に近い予測画像を生成することができるが、エンコーダの処理量が増大するため、効果がないベクトルは予め候補からはずしておくなど、映像の局所性を考慮して決定することにより、処理量と符号化効率のバランスを図ることができる。
候補となるベクトルの切り替えは、例えば、ベクトル毎にオン/オフのフラグを設け、そのフラグがオンのベクトルのみを候補とする方法が考えられる。
選択候補となる動きベクトルは、スライスヘッダで切り替えてもよいし、シーケンスヘッダやピクチャヘッダなど、上位レイヤで切り替えてもよい。また、選択候補となるセットを一つ以上用意して、その候補セットのインデックスを符号化するようにしてもよい。
【0103】
また、マクロブロックや符号化ブロック毎に切り替えてもよい。マクロブロックや符号化ブロック毎に切り替えることで、局所性を持たせることができ、符号化効率改善の効果がある。
また、選択候補はパーティションブロックサイズ毎に一意に決定しておいてもよい。一般的にブロックサイズが小さくなると空間的な相関が弱くなるため、メディアン予測で決定されるベクトルの予測精度が悪くなると考えられる。そのため、例えば、メディアン予測で決定される動きベクトルを候補から外すことで、符号化効率を落とさずに処理量を減らすことができる。
【0104】
上記実施の形態1では、時間ダイレクトベクトルと空間ダイレクトベクトルの双方が存在する場合を想定して説明したが、符号化ブロックBに対して、イントラ符号化処理を実施している場合などには、動きベクトルが存在しない場合もある。この場合、ゼロベクトルとする方法や、候補から外すなどの方法が考えられる。
ゼロベクトルとする場合は、候補が増えるため、符号化効率を向上させることができるが、処理量が増える。ダイレクトベクトルの候補から外す場合は処理量を減らすことができる。
【0105】
上記実施の形態1では、ダイレクトベクトルを生成するものについて示したが、そのダイレクトベクトルを通常の動きベクトルの符号化に使用する予測ベクトルとして使用するようにしてもよい。
ダイレクトベクトルを予測ベクトルとして使用することで、処理量は増加するが、予測の精度が上がるため、符号化効率を向上させることができる。
【0106】
上記実施の形態1では、符号化ブロックBより時間的に前にある画像と、後にある画像とを組み合わせて、評価値SADを算出する例を示したが(図15を参照)、図19に示すように、時間的に前にある画像のみを組み合わせて、評価値SADを算出するようにしてもよい。また、時間的に後にある画像のみを組み合わせて、評価値SADを算出するようにしてもよい。
この場合、時間ベクトルは、下記の式(9)(10)で表される。
【0107】

また、dは時間的な距離を示し、dはリスト0の参照画像の時間的距離を示し、dはリスト0の参照画像の時間的距離を示すものとする。
さらに、vcolとdcolは参照画像中で空間的に同じ位置にあるブロックのベクトルと、そのベクトルが示す参照画像の時間的な距離を示すものとする。
【0108】
2つの参照画像リストが同じ参照画像を示している場合であっても、リストに2枚以上の参照画像があれば、図19と同様の方法で適用可能である。
【0109】
上記実施の形態1では、2つの参照画像リストに2枚以上参照画像がある場合を想定しているが、実際は参照画像が1枚しかない場合も考えられる。
この場合、2つの参照画像リストに同じ参照画像がセットされていれば、時間ベクトルは使用せずに、空間ベクトルのみで判断することが考えられる。違う参照画像がセットされている場合は前述の方式で対応可能である。
【0110】
上記実施の形態1では、2方向からの予測処理を想定しているが、1方向だけの予測処理でもよい。1方向のベクトルから予測する場合は、どちらのベクトルを使用するかを示す情報を符号化して伝送する。これにより、オクルージョンなどの問題に対処することが可能となり、予測精度の向上に寄与する。
【0111】
上記実施の形態1のダイレクトモードでは、2本のベクトルを用いた予測を想定しているが、ベクトルの本数は3本以上であってもよい。
この場合、例えば、複数のベクトル候補のうち、閾値Th以下の評価値SADになる候補の全てを使用して予測画像を生成する方法が考えられる。また、参照画像リストもそのベクトル分保持している。
また、閾値Th以下の候補の全てを使用するのではなく、スライスヘッダなどに、予め使用する最大ベクトル数を定めておき、評価値の小さい候補から最大ベクトル数分用いて予測画像を生成するようにしてもよい。
一般的に、予測画像に用いる参照画像が多い程、性能が向上することが知られている。そのため、処理量は増えるが、符号化効率の向上に寄与する。
【0112】
上記実施の形態1では、参照画像間の評価によってベクトルを決定しているが、これは空間的に隣接する符号化済の画像と参照画像との比較で評価してもよい。
この場合は、図20に示すようなL字型の画像を用いて行うことが考えられる。
また、空間的に隣接する画像を用いる場合、パイプライン処理の都合で符号化済みの画像が間に合わない可能性もある。この場合、代わりに予測画像を用いることが考えられる。
【0113】
上記実施の形態1では、図9に示すように、符号化ブロックBのサイズがL=Mであるものを示したが、符号化ブロックBのサイズがL≠Mであってもよい。
例えば、図21に示すように、符号化ブロックBのサイズがL=kMとなる場合が考えられる。
次の分割では、(Ln+1,Mn+1)=(L,M)となり、以降の分割は、図9と同様の分割を行ってもよいし、(Ln+1,Mn+1)=(L/2,M/2)のように分割を行ってもよい(図22を参照)。
また、図23に示すように、図21と図22の分割のどちらかを選択できるようにしてもよい。選択できるようにした場合は、どちらの分割を選択したかを示すフラグを符号化する。このケースは、例えば、非特許文献1のH.264のような16×16を1つのブロックとするものを横に連結するだけで可能であるため、既存方式との互換性を維持することができる。
上記では、符号化ブロックBのサイズがL=kMとなる場合を示したが、kL=Mのように縦に連結したものであっても、同様の考えで分割が可能であることは言うまでもない。
【0114】
上記実施の形態1では、変換・量子化部7、逆量子化・逆変換部8,55が予測差分符号化パラメータに含まれている変換ブロックサイズ単位で変換処理(逆変換処理)を実施するものを示したが、変換ブロックサイズ単位は、変換処理単位によって一意に決定してもよいし、図24に示すように階層構造にしてもよい。この場合、各階層では分割するか否かを示すフラグを符号化する。
上記分割は、パーティション単位で行ってもよいし、符号化ブロック単位で行ってもよい。
上記変換は、正方形での変換を仮定しているが、長方形など、他の矩形での変換であってもよい。
【0115】
実施の形態3.
上記実施の形態1では、動き補償予測部5,54のダイレクトベクトル生成部23,62が、空間ダイレクトベクトルと時間ダイレクトベクトルを生成するものを示したが、その空間ダイレクトベクトルと時間ダイレクトベクトルを生成する際、初期探索点を決定し、その初期探索点の周囲を探索することで、ダイレクトベクトルを決定するようにしてもよい。
【0116】
図25はこの発明の実施の形態3による動画像符号化装置の動き補償予測部5を示す構成図であり、図において、図2と同一符号は同一または相当部分を示すので説明を省略する。
ダイレクトベクトル生成部25は空間ダイレクトベクトルと時間ダイレクトベクトルを生成する処理を実施する。
【0117】
図26は動き補償予測部5を構成しているダイレクトベクトル生成部25を示す構成図である。
図26において、初期ベクトル生成部34は符号化済みのブロックの動きベクトルから初期ベクトルを生成する処理を実施する。
動きベクトル探索部35は初期ベクトル生成部34により生成された初期ベクトルが示す初期探索点の周囲を探索することで、ダイレクトベクトルを決定する処理を実施する。
【0118】
図27はダイレクトベクトル生成部25を構成している初期ベクトル生成部34を示す構成図である。
図27において、空間ベクトル生成部71は例えば図3の空間ダイレクトベクトル生成部31と同様の方法で、符号化済みのブロックの動きベクトルから空間ベクトルを生成する処理を実施する。
時間ベクトル生成部72は例えば図3の時間ダイレクトベクトル生成部32と同様の方法で、符号化済みのブロックの動きベクトルから時間ベクトルを生成する処理を実施する。
初期ベクトル判定部73は空間ベクトル生成部71により生成された空間ベクトル又は時間ベクトル生成部72により生成された時間ベクトルのいずれか一方を初期ベクトルとして選択する処理を実施する。
【0119】
図28は初期ベクトル生成部34を構成している初期ベクトル判定部73を示す構成図である。
図28において、動き補償部81は図4の動き補償部41と同様の方法で、空間ダイレクトモードのリスト0予測画像、空間ダイレクトモードのリスト1予測画像、時間ダイレクトモードのリスト0予測画像及び時間ダイレクトモードのリスト1予測画像を生成する処理を実施する。
【0120】
類似度算出部82は図4の類似度算出部42と同様の方法で、空間評価値として、空間ダイレクトモードのリスト0予測画像とリスト1予測画像の類似度を算出するとともに、時間評価値として、時間ダイレクトモードのリスト0予測画像とリスト1予測画像の類似度を算出する処理を実施する。
初期ベクトル決定部83は類似度算出部82により算出された空間評価値と時間評価値を比較し、その比較結果にしたがって、空間ベクトル又は時間ベクトルを選択する処理を実施する。
【0121】
図29はこの発明の実施の形態3による動画像復号装置の動き補償予測部54を示す構成図であり、図において、図6と同一符号は同一または相当部分を示すので説明を省略する。
ダイレクトベクトル生成部64は空間ダイレクトベクトルと時間ダイレクトベクトルを生成する処理を実施する。
なお、ダイレクトベクトル生成部64の内部構成は、図25のダイレクトベクトル生成部25と同じである。
【0122】
次に動作について説明する。
上記実施の形態1と比較して、動き補償予測部5,54のダイレクトベクトル生成部23,62が、ダイレクトベクトル生成部25,64に代えられている点以外は同じであるため、ダイレクトベクトル生成部25,64の処理内容のみを説明する。
ただし、ダイレクトベクトル生成部25,64の処理内容は同じであるため、ダイレクトベクトル生成部25の処理内容を説明する。
【0123】
ダイレクトベクトル生成部25の初期ベクトル生成部34は、符号化済みのブロックの動きベクトルから初期ベクトルMV_firstを生成する。
即ち、初期ベクトル生成部34の空間ベクトル生成部71は、例えば、図3の空間ダイレクトベクトル生成部31と同様の方法で、符号化済みのブロックの動きベクトルから空間ベクトルを生成する。ただし、他の方法で空間ベクトルを生成するようにしてもよい。
初期ベクトル生成部34の時間ベクトル生成部72は、例えば、図3の時間ダイレクトベクトル生成部32と同様の方法で、符号化済みのブロックの動きベクトルから時間ベクトルを生成する。ただし、他の方法で時間ベクトルを生成するようにしてもよい。
【0124】
初期ベクトル生成部34の初期ベクトル判定部73は、空間ベクトル生成部71が空間ベクトルを生成し、時間ベクトル生成部72が時間ベクトルを生成すると、その空間ベクトル又は時間ベクトルの中から、いずれか一方のベクトルを初期ベクトルMV_firstとして選択する。
即ち、初期ベクトル判定部73の動き補償部81は、図4の動き補償部41と同様の方法で、空間ダイレクトモードのリスト0予測画像、空間ダイレクトモードのリスト1予測画像、時間ダイレクトモードのリスト0予測画像及び時間ダイレクトモードのリスト1予測画像を生成する。
【0125】
初期ベクトル判定部73の類似度算出部82は、図4の類似度算出部42と同様の方法で、空間評価値として、空間ダイレクトモードのリスト0予測画像とリスト1予測画像の類似度を算出するとともに、時間評価値として、時間ダイレクトモードのリスト0予測画像とリスト1予測画像の類似度を算出する。
初期ベクトル判定部73の初期ベクトル決定部83は、類似度算出部82により算出された空間評価値と時間評価値の比較結果を参照することで、空間ベクトル又は時間ベクトルのうち、予測画像間の類似度が高い方のベクトルを選択する。
【0126】
ダイレクトベクトル生成部25の動きベクトル探索部35は、初期ベクトル生成部34が初期ベクトルMV_firstを生成すると、図30に示すように、その初期ベクトルMV_firstが示す初期探索点(ブロック)を中心に、その周り±nの範囲を探索することで、ダイレクトベクトルを決定する。
探索の際の評価は、例えば、図28の類似度算出部82と同等の処理を行うようにしてもよい。この場合、初期ベクトルが示す位置をvとすると、下記の式(11)のように、探索の評価値SADを算出する。
ただし、探索範囲nは固定でもよいし、スライスヘッダなど上位ヘッダで決定してもよい。また、探索点の分布範囲(探索範囲)を正方形と仮定しているが、矩形でもよいし、ひし形などでもよい。
【0127】
動きベクトル探索部35は、探索の評価値SADを算出すると、探索範囲内において、評価値SADが最も小さい動きベクトルをダイレクトベクトルとして動き補償処理部24に出力する。
【0128】
この実施の形態3では、時間ベクトルと空間ベクトルを生成し、いずれか一方のベクトルを初期ベクトルとして選択するものについて示したが、その時間ベクトルや空間ベクトルの他に、他のベクトルを候補ベクトルとして加え、それらの候補ベクトルの中から初期ベクトルを選択するようにしてもよい。
例えば、図17のような空間ベクトルMV_A,MV_B,MV_Cや、時間ベクトルMV_1〜MV_8を候補ベクトルに加えて、これらの空間ベクトルや時間ベクトルから初期ベクトルを選択するようにしてもよい。
また、図18に示すように、複数の符号化済ベクトルから1つのベクトルを生成し、そのベクトルを候補ベクトルに加えるようにしてもよい。
このように、候補ベクトルを増やすことで処理量は増加するが、初期ベクトルの確度が向上して、符号化効率を向上させることができる。
【0129】
この実施の形態3では、ダイレクトベクトルの候補をスライス単位に決定するようにしてもよい。
どのベクトルを候補とするか示す情報はスライスヘッダに多重する。
例えば、時間ベクトルに関しては、パンするような映像では時間ベクトルの効果が低いため、選択候補から外すようにする一方、カメラが固定な映像では時間ベクトルの効果が大きいため候補に加えるなどの方法が考えられる。
【0130】
候補となるベクトルが多い方が、より原画像に近い予測画像を生成することができるが、エンコーダの処理量が増大するため、効果がないベクトルは予め候補からはずしておくなど、映像の局所性を考慮して決定することにより、処理量と符号化効率のバランスを図ることができる。
候補となるベクトルの切り替えは、例えば、ベクトル毎にオン/オフのフラグを設け、そのフラグがオンのベクトルのみを候補とする方法が考えられる。
選択候補となる動きベクトルは、スライスヘッダで切り替えてもよいし、シーケンスヘッダやピクチャヘッダなど、上位レイヤで切り替えてもよい。また、選択候補となるセットを一つ以上用意して、その候補セットのインデックスを符号化するようにしてもよい。
【0131】
また、マクロブロックや符号化ブロック毎に切り替えてもよい。マクロブロックや符号化ブロック毎に切り替えることで、局所性を持たせることができ、符号化効率改善の効果がある。
また、選択候補はパーティションブロックサイズ毎に一意に決定しておいてもよい。一般的にブロックサイズが小さくなると空間的な相関が弱くなるため、メディアン予測で決定されるベクトルの予測精度が悪くなると考えられる。そのため、例えば、メディアン予測で決定される動きベクトルを候補から外すことで、符号化効率を落とさずに処理量を減らすことができる。
【0132】
この実施の形態3では、時間ベクトルと空間ベクトルの双方が存在する場合を想定して説明したが、符号化ブロックBに対して、イントラ符号化処理を実施している場合などには、動きベクトルが存在しない場合もある。この場合、ゼロベクトルとする方法や、候補から外すなどの方法が考えられる。
ゼロベクトルとする場合は、候補が増えるため、符号化効率を向上させることができるが処理量が増える。ダイレクトベクトルの候補から外す場合は処理量を減らすことができる。
【0133】
この実施の形態3では、ダイレクトベクトルを生成するものについて示したが、そのダイレクトベクトルを通常の動きベクトルの符号化に使用する予測ベクトルとして使用するようにしてもよい。
ダイレクトベクトルを予測ベクトルとして使用することで、処理量は増加するが、予測の精度が上がるため、符号化効率を向上させることができる。
【0134】
この実施の形態3では、符号化ブロックBより時間的に前にある画像と、後にある画像とを組み合わせて、評価値SADを算出する例を示したが(図15を参照)、図19に示すように、時間的に前にある画像のみを組み合わせて、評価値SADを算出するようにしてもよい。また、時間的に後にある画像のみを組み合わせて、評価値SADを算出するようにしてもよい。
この場合、時間ベクトルは、下記の式(12)(13)で表される。
【0135】

また、dは時間的な距離を示し、dはリスト0の参照画像の時間的距離を示し、dはリスト0の参照画像の時間的距離を示すものとする。
さらに、vcolとdcolは参照画像中で空間的に同じ位置にあるブロックのベクトルと、そのベクトルが示す参照画像の時間的な距離を示すものとする。
【0136】
2つの参照画像リストが同じ参照画像を示している場合であっても、図19と同様の方法で適用可能である。
【0137】
この実施の形態3では、2つの参照画像リストに2枚以上参照画像がある場合を想定しているが、実際は参照画像が1枚しかない場合も考えられる。
この場合、2つの参照画像リストに同じ参照画像がセットされていれば、時間ベクトルは使用せずに、空間ベクトルのみで判断することが考えられる。違う参照画像がセットされている場合は前述の方式で対応可能である。
【0138】
この実施の形態3では、2方向からの予測処理を想定しているが、1方向だけの予測処理でもよい。1方向のベクトルから予測する場合は、どちらのベクトルを使用するか示す情報を符号化して伝送する。これにより、オクルージョンなどの問題に対処することが可能となり、予測精度の向上に寄与する。
【0139】
この実施の形態3では、2本のベクトルを用いた予測を想定しているが、ベクトルの本数は3本以上であってもよい。
この場合、例えば、複数のベクトル候補のうち、閾値Th以下の評価値SADになる候補の全てを使用して予測画像を生成する方法が考えられる。
また、閾値Th以下の候補の全てを使用するのではなく、スライスヘッダなどに、予め使用する最大ベクトル数を定めておき、評価値の小さい候補から最大ベクトル数分用いて予測画像を生成するようにしてもよい。
【0140】
この実施の形態3では、参照画像間の評価によってベクトルを決定しているが、これは空間的に隣接する符号化済の画像と参照画像との比較で評価してもよい。
この場合は、図20に示すようなL字型の画像を用いて行うことが考えられる。
また、空間的に隣接する画像を用いる場合、パイプライン処理の都合で符号化済みの画像が間に合わない可能性もある。この場合、代わりに予測画像を用いることが考えられる。
【0141】
この実施の形態3では、初期ベクトルを決定してから、動きベクトルの探索を行っているが、動きベクトルの探索を行うか否かをスライス単位でフラグを用いて決定するようにしてもよい。
この場合、符号化効率が落ちるが、処理量を大きく削減することができる効果がある。
ただし、フラグはスライス単位でもよいし、シーケンスやピクチャなどの上位レイヤで決定してもよい。フラグがオフであって、動き探索を行わない場合は、上記実施の形態1と同等の動作を行う。
【0142】
この実施の形態3では、ダイレクトベクトル生成部25,64が、ブロックサイズによらずに行うことを想定しているが、この処理は所定のサイズ以下の場合のみに制限してもよい。
所定のサイズ以下に制限するか否かを示すフラグや、どのブロックサイズ以下にするかを示す情報は、スライスなど上位ヘッダに多重してもよいし、最大CUサイズに応じて変化させてもよい。
ブロックサイズが小さくなると、参照画像間の相関が低くなり、誤差が大きくなる傾向にある。そのため、どちらのベクトルを選択しても、あまり性能に影響がでないケースも多く、大きなブロックサイズでの処理をオフにすることで、符号化性能を落とすことなく処理量を減らす効果がある。
【0143】
実施の形態4.
上記実施の形態1では、動き補償予測部5,54が、符号化ブロックの周囲に位置している符号化済みブロック(復号済みブロック)の動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該符号化ブロックが参照可能な符号化済みピクチャ(復号済みピクチャ)の動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルの中から、参照画像間の相関が高くなる方のダイレクトベクトルを選択するものについて示したが、動画像符号化装置の動き補償予測部5では、選択可能な1以上の動きベクトルの中から、予測画像の生成に適する動きベクトルを選択し、その動きベクトルを用いて、符号化ブロックに対する動き補償予測処理を実施して予測画像を生成するとともに、その動きベクトルを示すインデックス情報を可変長符号化部13に出力するようにしてもよい。
一方、動画像復号装置の動き補償予測部54では、ビットストリームに多重化されているインデックス情報が示す動きベクトルを用いて、符号化ブロックに対する動き補償予測処理を実施して予測画像を生成するようにしてもよい。
【0144】
図31はこの発明の実施の形態4による動画像符号化装置の動き補償予測部5を示す構成図であり、図において、図2と同一符号は同一または相当部分を示すので説明を省略する。
ダイレクトベクトル生成部26は選択可能な動きベクトルと、その動きベクトルを示すインデックス情報とが記述されているダイレクトベクトル候補インデックスを参照して、選択可能な1以上の動きベクトルの中から、予測画像の生成に適する動きベクトルを選択し、その動きベクトルをダイレクトベクトルとして動き補償処理部24に出力するとともに、その動きベクトルを示すインデックス情報を可変長符号化部13に出力する処理を実施する。
なお、可変長符号化部13は圧縮データや符号化モード等を可変長符号化する際、そのインデックス情報をインター予測パラメータに含めて可変長符号化する。
【0145】
図32はこの発明の実施の形態4による動画像復号装置の動き補償予測部54を示す構成図であり、図において、図6と同一符号は同一または相当部分を示すので説明を省略する。
ダイレクトベクトル生成部65は選択可能な動きベクトルと、その動きベクトルを示すインデックス情報とが記述されているダイレクトベクトル候補インデックスを入力し、そのダイレクトベクトル候補インデックスから、インター予測パラメータに含まれているインデックス情報が示す動きベクトルを読み出し、その動きベクトルをダイレクトベクトルとして動き補償処理部63に出力する処理を実施する。
【0146】
次に動作について説明する。
上記実施の形態1と比較して、動き補償予測部5,54のダイレクトベクトル生成部23,62が、ダイレクトベクトル生成部26,65に代えられている点以外は同じであるため、ダイレクトベクトル生成部26,65の処理内容のみを説明する。
【0147】
動き補償予測部5のダイレクトベクトル生成部26は、符号化モードm(B)がダイレクトモードである場合、符号化ブロックBのパーティションP毎に、ダイレクトベクトルを生成する。
即ち、ダイレクトベクトル生成部26は、図33に示すようなダイレクトベクトル候補インデックスを参照して、選択可能な1以上の動きベクトルの中から、予測画像の生成に適する動きベクトルを選択する。
図33の例では、5個の動きベクトルが選択可能な動きベクトルとして列挙されているが、空間予測では、「median」が一番多く選ばれるため、「median」にインデックス0が割り当てられている。
【0148】
ダイレクトベクトル生成部26は、予測画像の生成に適する動きベクトルを選択する際、下記の式(14)に示すように、選択可能な動きベクトルから得られる予測画像と原画像の歪と、選択可能な動きベクトルのインデックス符号量とからコストRを算出し、複数の動きベクトルの中で、コストRが最小の動きベクトルを選択する。

【0149】
ダイレクトベクトル生成部26は、コストRが最小の動きベクトルを選択すると、その動きベクトルをダイレクトベクトルとして動き補償処理部24に出力するとともに、その動きベクトルを示すインデックス情報を可変長符号化部13に出力する。
例えば、コストRが最小の動きベクトルとして「median」を選択していれば、インデックス0を可変長符号化部13に出力し、「MV_A」を選択していれば、インデックス1を可変長符号化部13に出力する。
可変長符号化部13は、ダイレクトベクトル生成部26からインデックス情報を受けると、圧縮データや符号化モード等を可変長符号化する際、そのインデックス情報をインター予測パラメータに含めて可変長符号化する。
【0150】
動き補償予測部54のダイレクトベクトル生成部65は、符号化モードm(B)がダイレクトモードである場合、符号化ブロックBのパーティションP毎に、ダイレクトベクトルを生成する。
即ち、ダイレクトベクトル生成部65は、図31のダイレクトベクトル生成部26と同じダイレクトベクトル候補インデックスを入力しており(例えば、図33のダイレクトベクトル候補インデックス)、切替スイッチ61からインデックス情報を含むインター予測パラメータを受けると、そのダイレクトベクトル候補インデックスから、そのインデックス情報が示す動きベクトルを読み出し、その動きベクトルをダイレクトベクトルとして動き補償処理部63に出力する。
例えば、インデックス情報がインデックス0であれば、ダイレクトベクトルとして「median」を出力し、インデックス情報がインデックス1であれば、ダイレクトベクトルとして「MV_A」を出力する。
【0151】
以上で明らかなように、この実施の形態4によれば、選択可能な1以上の動きベクトルの中から、予測画像の生成に適する動きベクトルを選択し、その動きベクトルを用いて、符号化ブロックに対する動き補償予測処理を実施して予測画像を生成するとともに、その動きベクトルを示すインデックス情報を可変長符号化部13に出力するように構成したので、上記実施の形態1と同様に、所定のブロック単位に最適なダイレクトモードを選択して、符号量を削減することができる効果を奏する。
【0152】
この実施の形態4では、選択可能な位置にある動きベクトルが存在する場合を想定して説明したが、符号化ブロックBに対して、イントラ符号化処理を実施している場合などには、動きベクトルが存在しない場合もある。この場合、ゼロベクトルとする方法や、候補から外すなどの方法が考えられる。
ゼロベクトルとする場合は、候補が増えるため、符号化効率を向上させることができるが、処理量が増える。ダイレクトベクトルの候補から外す場合は処理量を減らすことができる。
【0153】
この実施の形態4では、ダイレクトベクトルを生成するものについて示したが、そのベクトルを通常の動きベクトルの符号化に使用する予測ベクトルとして使用するようにしてもよい。
予測ベクトルとして使用することで、処理量は増加するが、予測の精度が上がるため、符号化効率を向上させることができる。
【0154】
この実施の形態4では、選択可能な動きベクトルの候補が固定されているが、選択可能な動きベクトルの候補をスライス単位に決定するようにしてもよい。
どのベクトルを候補とするか示す情報はスライスヘッダに多重する。
例えば、時間ベクトルに関しては、パンするような映像では時間ベクトルの効果が低いため、選択候補から外すようにする一方、カメラが固定な映像では時間ベクトルの効果が大きいため候補に加えるなどの方法が考えられる。
【0155】
候補となるベクトルが多い方が、より原画像に近い予測画像を生成することができるが、エンコーダの処理量が増大するため、効果がないベクトルは予め候補からはずしておくなど、映像の局所性を考慮して決定することにより、処理量と符号化効率のバランスを図ることができる。
候補となるベクトルの切り替えは、例えば、ベクトル毎にオン/オフのフラグを設け、そのフラグがオンのベクトルのみを候補とする方法が考えられる。
選択候補となる動きベクトルは、スライスヘッダで切り替えてもよいし、シーケンスヘッダやピクチャヘッダなど、上位レイヤで切り替えてもよい。また、選択候補となるセットを一つ以上用意して、その候補セットのインデックスを符号化するようにしてもよい。
また、マクロブロックや符号化ブロック毎に切り替えてもよい。マクロブロックや符号化ブロック毎に切り替えることで、局所性を持たせることができ、符号化効率の改善が図られる。
【0156】
この実施の形態4では、インデックスの順序を固定にしているが、インデックスの順序をスライス単位で変更するようにしてもよい。スライスによって選択されるベクトルに偏りがある場合、選択回数が多いベクトルに対して短い符号を割り当てるようにインデックス表を切り替えることで、符号化効率の向上が図られる。
切り替え情報の符号化は、個々のベクトルに対して、それぞれ順序を符号化してもよいし、複数のインデックスセットを用意し、どのインデックスセットを用いるかを示す情報を符号化するようにしてもよい。
また、デフォルト設定のみを決めておき、デフォルト設定と違う設定を使用するか否かを示すフラグを用意し、そのフラグがオンである場合に限り、インデックスセットを更新して設定を切り替える方法も考えられる。
【0157】
ここでは、スライス単位でインデックスの順序を切り替える例を示しているが、インデックスの順序をシーケンスやピクチャなど上位レイヤで決定してもよいことは言うまでもない。
また、パーティションブロックや符号化ブロック毎に切り替えてもよい。マクロブロックや符号化ブロック毎に切り替えることで、局所性を持たせることができ、符号化効率の改善が図られる。
【0158】
また、選択候補は、パーティションブロックサイズ毎に一意に決定しておいてもよい。一般的にブロックサイズが小さくなると空間的な相関が弱くなるため、メディアン予測で決定されるベクトルの予測精度が悪くなると考えられる。そのため、メディアン予測で決定されるインデックスの順序を変更することで、符号化効率の向上を図ることができる。
【0159】
この実施の形態4では、選択可能な動きベクトルが5個用意されているダイレクトベクトル候補インデックスを示したが、6個以上の動きベクトルを候補ベクトルとして用意するようにしてもよいし、5個より少ない動きベクトルを候補ベクトルとして用意してもよい。
例えば、図17に示すように、時間ベクトルの近傍のベクトルや、図18に示すように、周囲のベクトルの重み付け加算が行われたベクトルを候補ベクトルとして加えてもよい。
【0160】
この実施の形態4では、2方向からの予測処理を想定しているが、1方向だけの予測処理でもよい。1方向のベクトルから予測する場合は、どちらのベクトルを使用するかを示す情報を符号化して伝送する。これにより、オクルージョンなどの問題に対処することが可能となり、予測精度の向上に寄与する。
【0161】
この実施の形態4では、2本のベクトルを用いる両方向予測を想定しているが、ベクトルの本数は3本以上であってもよい。この場合、例えば、選択した全てのベクトルを示すインデックス情報を符号化してもよいし、逆に選択しないベクトルを示すインデックス情報を符号化してもよい。
あるいは、図34に示すように、1本のベクトルのインデックス情報だけを符号化し、そのベクトルが示す参照画像に近い画像を用いる方法が考えられる。
【0162】
この実施の形態4では、複数の動きベクトルの中で、コストRが最小の動きベクトルを選択するものを示したが、下記の式(15)に示すように、評価値SADを算出して、その評価値SADが閾値Th以下である動きベクトルを選択するようにしてもよい。
ただし、findexはインデックス情報を符号化しているベクトルが示す参照画像、gはベクトルMV_kが示す参照画像を表している。
【0163】
ここでは、評価値SADを用いる例を示しているが、例えば、SSEなどの別の手法で評価するようにしてもよいことは言うまでもない。
【0164】
使用するベクトルの本数を示す情報はスライス単位など上位ヘッダに多重するようにしてもよい。ベクトルの本数が増えると、符号化効率は向上するが、処理量が増えるため、トレードオフの関係にある。
また、スライス単位ではなく、符号化ブロックやパーティションなどより細かい単位で設定するようにしてもよい。この場合、画像の局所性に応じて処理量と符号化効率のバランスを図ることができる。
【0165】
この実施の形態4では、複数の選択可能な動きベクトルの中から、予測画像の生成に適する動きベクトルを選択するものを示したが、上記実施の形態3のように、複数の選択可能な動きベクトルの中から、初期ベクトルとして使用する動きベクトルを選択してから、その初期ベクトルの周囲を探索することで、最終的な動きベクトルを決定するようにしてもよい。この場合のダイレクトベクトル生成部26の構成は図35のようになる。
図35の初期ベクトル生成部36は、図26の初期ベクトル生成部34に相当する。
【0166】
実施の形態5.
この実施の形態5の動き補償予測部5,54は、上記実施の形態1(または、実施の形態2,3)の機能と、上記実施の形態4の機能とを有し、上記実施の形態1(または、実施の形態2,3)の機能と上記実施の形態4の機能をスライス単位で切り替えることが可能であり、いずれかの機能を使用して、予測画像を生成することができる。
【0167】
図36はこの発明の実施の形態5による動画像符号化装置の動き補償予測部5を示す構成図であり、図において、図31と同一符号は同一または相当部分を示すので説明を省略する。
ダイレクトベクトル生成部27はダイレクトモード切替フラグが、インデックス情報を送信しない旨を示す場合、図2のダイレクトベクトル生成部23(または、図25のダイレクトベクトル生成部25)と同様の方法で、ダイレクトベクトルを生成する一方、ダイレクトモード切替フラグが、インデックス情報を送信する旨を示す場合、図31のダイレクトベクトル生成部26と同様の方法で、ダイレクトベクトルを生成するとともに、そのダイレクトベクトルを示すインデックス情報を可変長符号化部13に出力する処理を実施する。
また、ダイレクトベクトル生成部27はダイレクトモード切替フラグを可変長符号化部13に出力する処理を実施する。
【0168】
図37は動き補償予測部5を構成しているダイレクトベクトル生成部27を示す構成図である。
図37において、切替スイッチ91はダイレクトモード切替フラグが、インデックス情報を送信しない旨を示す場合、符号化ブロックBのパーティションPを図2のダイレクトベクトル生成部23(または、図25のダイレクトベクトル生成部25)に相当する部分に出力し、インデックス情報を送信する旨を示す場合、符号化ブロックBのパーティションPを図31のダイレクトベクトル生成部26に相当する部分に出力する処理を実施する。
【0169】
図38はこの発明の実施の形態5による動画像復号装置の動き補償予測部54を示す構成図であり、図において、図32と同一符号は同一または相当部分を示すので説明を省略する。
ダイレクトベクトル生成部66はインター予測パラメータに含まれているダイレクトモード切替フラグが、インデックス情報を送信しない旨を示す場合、図6のダイレクトベクトル生成部62(または、図29のダイレクトベクトル生成部64)と同様の方法で、ダイレクトベクトルを生成する一方、ダイレクトモード切替フラグが、インデックス情報を送信する旨を示す場合、図32のダイレクトベクトル生成部65と同様の方法で、ダイレクトベクトルを生成する処理を実施する。
【0170】
次に動作について説明する。
動き補償予測部5のダイレクトベクトル生成部27は、図2のダイレクトベクトル生成部23(または、図25のダイレクトベクトル生成部25)の機能と、図31のダイレクトベクトル生成部26の機能とを有しており、外部から入力されたダイレクトモード切替フラグが、インデックス情報を送信しない旨を示す場合、図2のダイレクトベクトル生成部23(または、図25のダイレクトベクトル生成部25)と同様の方法で、ダイレクトベクトルを生成し、そのダイレクトベクトルを動き補償処理部24に出力する。
また、ダイレクトベクトル生成部27は、そのダイレクトモード切替フラグを可変長符号化部13に出力する。
【0171】
ダイレクトベクトル生成部27は、そのダイレクトモード切替フラグが、インデックス情報を送信する旨を示す場合、図32のダイレクトベクトル生成部65と同様の方法で、ダイレクトベクトルを生成し、そのダイレクトベクトルを動き補償処理部24に出力する。
また、ダイレクトベクトル生成部27は、そのダイレクトモード切替フラグとインデックス情報を可変長符号化部13に出力する。
【0172】
可変長符号化部13は、ダイレクトベクトル生成部27からダイレクトモード切替フラグを受けると、圧縮データや符号化モード等を可変長符号化する際、そのダイレクトモード切替フラグをインター予測パラメータに含めて可変長符号化する。
また、可変長符号化部13は、ダイレクトベクトル生成部27からダイレクトモード切替フラグとインデックス情報を受けると、圧縮データや符号化モード等を可変長符号化する際、そのダイレクトモード切替フラグとインデックス情報をインター予測パラメータに含めて可変長符号化する。
【0173】
動き補償予測部54のダイレクトベクトル生成部66は、可変長復号部51により復号されたインター予測パラメータを受けると、そのインター予測パラメータに含まれているダイレクトモード切替フラグが、インデックス情報を送信しない旨を示す場合、図6のダイレクトベクトル生成部62(または、図29のダイレクトベクトル生成部64)と同様の方法で、ダイレクトベクトルを生成する。
一方、ダイレクトモード切替フラグが、インデックス情報を送信する旨を示す場合、図32のダイレクトベクトル生成部65と同様の方法で、ダイレクトベクトルを生成する。
【0174】
一般的に、インデックス情報を送信するモードは、インデックス情報を送信しないモードと比べて付加情報が増える。そのため、低レートなど全符号量の中で付加情報の割合が大きい場合には、インデックス情報を送信しないモードの方が性能がよい。
一方、高レートの場合など全符号量の中で付加情報の割合が小さい場合には、インデックス情報を付加して最適なダイレクトベクトルを使用する方が、符号化効率の向上が見込まれる。
【0175】
この実施の形態5では、ダイレクトモード切替フラグがインター予測パラメータに含まれるものを示したが、ダイレクトモード切替フラグがスライスヘッダに多重されてもよいし、ピクチャやシーケンスヘッダに多重されてもよい。
【0176】
また、切り替えはパーティションサイズによって決定することも考えられる。
一般的にパーティションサイズが大きくなると、動きベクトルなどの付加情報の割合が相対的に小さくなる。そのため、ある一定以上の大きさの場合は、インデックス情報を送信するモードを選択し、それより小さい場合は、インデックス情報を送信しないモードを選択するなどの構成が考えられる。
上記のように、パーティションによって決定する場合、符号化ブロックサイズ毎に、どちらを使用するかを示すフラグをスライスヘッダなど上位ヘッダに多重するようにしてもよい。
【0177】
この実施の形態4では、ダイレクトモード切替フラグによって、上記実施の形態1の機能と上記実施の形態4の機能を切り替えるものを示したが、上記実施の形態2の機能と上記実施の形態4の機能を切り替えるようにしてもよいし、上記実施の形態3の機能と上記実施の形態4の機能を切り替えるようにしてもよい。
また、上記実施の形態1の機能と上記実施の形態2の機能を切り替えるようにしてもよいし、上記実施の形態1の機能と上記実施の形態3の機能を切り替えるようにしてもよいし、上記実施の形態2の機能と上記実施の形態3の機能を切り替えるようにしてもよい。
また、上記実施の形態1〜4の機能の中から、任意の機能を選択するようにしてもよい。
【0178】
この実施の形態5では、ダイレクトモード切替フラグによって、上記実施の形態1の機能と上記実施の形態4の機能を切り替えるものを示したが、これは切り替えるのではなくon/offのフラグとして用いてもよい。例えば、実施の形態1を使用するかどうかのon/offフラグとし、onの場合は実施の形態1と実施の形態4をどちらも行い、符号化効率の良い方のモードを選択し、その情報を符号化することが考えられる。このようにすることで画像の局所性に応じてダイレクトモードを切り替えることができ、符号化効率の向上に寄与する効果を奏する。
【0179】
上記では実施の形態1をon/offするとしたが、これは実施の形態4をon/offしてもよい。また、組み合わせは実施の形態2と4、実施の形態3と4の組み合わせでもよい。
【0180】
この実施の形態5では、複数の選択可能な動きベクトルの中から、予測画像の生成に適する動きベクトルを選択するものを示したが、上記実施の形態3のように、複数の選択可能な動きベクトルの中から、初期ベクトルとして使用する動きベクトルを選択してから、その初期ベクトルの周囲を探索することで、最終的な動きベクトルを決定するようにしてもよい。この場合のダイレクトベクトル生成部27の構成は図39のようになる。
図39の初期ベクトル生成部37は、図26の初期ベクトル生成部34に相当する。
【0181】
例えば、最大サイズを決定するとともに、最大サイズの符号化ブロックが階層的に分割される際の上限の階層数を決定し、利用可能な1以上の符号化モードの中から、階層的に分割される各々の符号化ブロックに適する符号化モードを選択すると書いたが、最大サイズあるいは階層数、符号化モードのいずれかもしくは全てをあらかじめ事前に決定しておいてもよい。
【0182】
実施の形態6.
上記実施の形態4では、動画像符号化装置における動き補償予測部5のダイレクトベクトル生成部26が、図33に示すようなダイレクトベクトル候補インデックスを参照して、選択可能な1以上の動きベクトルを把握するものを示したが、符号化制御部1が、符号化ブロックのブロックサイズに応じて、選択可能な1以上の動きベクトルリストを生成し、選択可能な1以上の動きベクトルを示すダイレクトベクトル候補リストとダイレクトベクトル候補インデックスを参照することで、ダイレクトモードベクトルを決定してもよい。
具体的には、以下の通りである。
【0183】
上述したように、選択可能な1以上の動きベクトルは、例えば、パーティションのブロックサイズ毎に一意に決定することができるが、図40に示すように、符号化ブロックであるパーティションのブロックサイズが大きい場合、周囲のブロックとの相関が高く、逆にパーティションのブロックサイズが小さい場合、周囲のブロックとの相関が低い。
したがって、パーティションのブロックサイズが小さい程、選択可能な動きベクトルの候補数を減らすことができる。
【0184】
そこで、符号化制御部1は、図41に示すように、予め、符号化ブロックであるパーティションのブロックサイズ毎に、選択可能な1以上の動きベクトルをリスト化している。
図41から明らかなように、パーティションのブロックサイズが小さい程、選択可能な動きベクトルの候補数を減らしており、例えば、ブロックサイズが「64」のパーティションでは、選択可能な動きベクトルの個数が「4」であるが、ブロックサイズが「8」のパーティションでは、選択可能な動きベクトルの個数が「2」である。
図42における「median」、「MV_A」、「MV_B」、「MV_C」、「temporal」は、図33における「median」、「MV_A」、「MV_B」、「MV_C」、「temporal」と対応している。
【0185】
符号化制御部1は、選択可能な1以上の動きベクトルを決定する際、例えば、図41のリストを参照して、符号化対象であるパーティションのブロックサイズに対応する1以上の動きベクトルを特定し、その1以上の動きベクトルを示すダイレクトベクトル候補リストを動き補償予測部5に出力する。
例えば、パーティションのブロックサイズが「64」である場合、選択可能な1以上の動きベクトルとして、「MV_A」、「MV_B」、「MV_C」、「temporal」を決定する。
また、パーティションのブロックサイズが「8」である場合、選択可能な1以上の動きベクトルとして、「median」、「temporal」を決定する。
【0186】
動き補償予測部5のダイレクトベクトル生成部26は、符号化制御部1からダイレクトベクトル候補リストを受けると、上記実施の形態4と同様に、そのダイレクトベクトル候補リストが示す1以上の動きベクトルの中から、予測画像の生成に適する動きベクトルを選択するが、パーティションのブロックサイズが小さい場合、選択可能な動きベクトルの候補数が少ないため、例えば、上記の式(15)に示すような評価値SADの算出数などが減り、動き補償予測部5の処理負荷が軽減される。
【0187】
このように、動画像符号化装置の符号化制御部1が、選択可能な1以上の動きベクトルを決定する場合、動画像復号装置においても、動画像符号化装置と全く同じ選択可能な1以上のダイレクトベクトル候補リストを持つ必要がある。
動画像復号装置の可変長復号部51は、符号化モードm(B)がダイレクトモードである場合、符号化ブロックBのパーティションP毎に、そのパーティションのブロックサイズを動き補償予測部54に出力するとともに、ビットストリームから可変長復号したインデックス情報(動画像符号化装置の動き補償予測部5で使用された動きベクトルを示す情報)を動き補償予測部54に出力する。
【0188】
動き補償予測部54のダイレクトベクトル生成部65は、可変長復号部51からパーティションのブロックサイズを受けると、上記実施の形態4のように、ダイレクトベクトルインデックスを入力し、ブロックサイズに応じて予め決めてある1以上の動きベクトル候補リストからダイレクトモードに用いる動きベクトルを出力する。
即ち、ダイレクトベクトル生成部65は、予め、パーティションのブロックサイズ毎に、選択可能な1以上の動きベクトルをリスト化しており(図41を参照)、選択可能な1以上の動きベクトルを決定する際、図41のリストとダイレクトベクトルインデックスを参照して、今回復号を行うパーティションのブロックサイズに対応する1以上の動きベクトルを出力する。
【0189】
例えば、パーティションのブロックサイズが「8」であるときに、インデックス情報がインデックス0であれば、ダイレクトベクトルとして「median」を出力し、インデックス情報がインデックス1であれば、ダイレクトベクトルとして「temporal」を出力する。
【0190】
以上で明らかなように、この実施の形態6によれば、符号化ブロックであるパーティションのブロックサイズに応じて、選択可能な1以上の動きベクトルを決定するように構成したので、周囲のブロックとの相関が低いパーティションでは、予測画像の生成に適する動きベクトル以外の動きベクトルを候補から除くことができるため、処理量の軽減を図ることができる効果を奏する。
【0191】
また、この実施の形態6によれば、選択可能な1以上の動きベクトルを決定する際、パーティションのブロックサイズが小さい程、選択可能な動きベクトルの候補数を減らすように構成したので、予測画像の生成に適する動きベクトル以外の動きベクトルを候補から除くことができるため、処理量の軽減を図ることができる効果を奏する。
【0192】
なお、この実施の形態6では、符号化ブロックであるパーティションのブロックサイズが最大で「64」の例を示したが、最大のブロックサイズが64以上でもよいし、64未満でもよい。
図42は、最大のブロックサイズが「128」であるリストの一例を示している。
図42の例では、符号化制御部1及び動き補償予測部54により保持されるリストは、最大のブロックサイズが「128」であるが、実際のパーティションのブロックサイズの最大が例えば「32」であるような場合には、上記リストの中の「32」以下の部分を参照すればよい。
【0193】
また、この実施の形態6では、符号化ブロックであるパーティションのブロックサイズに応じて、選択可能な1以上の動きベクトルを決定するものを示したが、符号化ブロックの分割パターンに応じて、選択可能な1以上の動きベクトルを決定するようにしてもよく、同様の効果を得ることができる。
図43は符号化ブロックの分割パターン毎に、選択可能な1以上の動きベクトルを示すリストの説明図である。
例えば、符号化ブロックであるパーティションが、2partH1である場合、選択可能な1以上の動きベクトルとして、「MV_A」、「MV_B」、「MV_C」、「temporal」を定めているが、符号化ブロックであるパーティションが、2partH2である場合、左のブロックである2partH1とは動きが異なる可能性が高い。
そのため、2partH2が選択可能な1以上の動きベクトルの中から、左のブロックの動きベクトルである「MV_A」を削除して、「MV_B」、「MV_C」、「temporal」を定めている。
【0194】
また、この実施の形態6では、時間方向のベクトルを用いているが、これは使用するメモリ量を削減するために、メモリに格納するデータサイズを圧縮してもよい。例えば最小ブロックサイズが4×4である場合、時間方向のベクトルは4×4単位で保持するのが通常であるが、これをさらに大きいブロックサイズで保持することが考えられる。
【0195】
上記のように時間方向のベクトルを圧縮して保持するとき、保持する単位よりも小さいブロックサイズで処理を行う場合、参照する位置が正しい位置を示さなくなるという問題がある。そのため、保持する単位よりも小さいブロックの場合の時間方向ベクトルを使用しない、という処理を行ってもよい。精度の低いベクトルを候補から外すことで、処理量の削減とインデックス符号量の削減という効果がある。
【0196】
また、この実施の形態6では、ダイレクトモードベクトルについて述べたが、これは通常の動きベクトル符号化に用いる予測ベクトルの決定に対して、同様の方式を用いてもよい。この方式を用いることで、処理量軽減と符号化効率改善の両面で効果がある。
【0197】
また、この実施の形態6で、ダイレクトベクトルの生成あるいは予測ベクトルの決定に用いる複数のベクトル候補に対して、ダイレクトベクトルあるいは予測したいベクトルのref_Idxと候補ベクトルのref_Idxが異なる(参照先のピクチャが異なる)場合に、図14に示すように、候補ベクトルに対して時間方向の距離に応じてスケーリング処理を行うように構成してもよい。ref_Idxが同じ場合は、時間方向の距離に応じたスケーリング処理は行わない。
ただし、scaled_MVはスケーリング後のベクトル、MVはスケーリング前の動きベクトル、d(x)はxまでの時間的な距離を示している。
また、Xrは符号化対象のブロックが示す参照画像、Yrはスケーリングの対象となるブロック位置A−Dが示す参照画像を示している。
【0198】
また、空間ベクトル候補は、図49に示すように、対象となるブロックからインター符号化されているブロックを探索し、そのブロック内に含まれる全てのベクトルを候補として使用するように構成してもよい。上述のように、ダイレクトベクトルあるいは予測したいベクトルの指すべき先の参照ピクチャと、これら候補ベクトルの指す参照ピクチャが同一の場合と異なる場合があり得るが、同一の参照ピクチャを指す候補ベクトルだけを候補として使用するように構成してもよいし、スケーリング処理で同一参照ピクチャを指すように補正を行うように構成してもよい。前者の場合は処理量を増やさずに精度の低いベクトルを候補から外す効果がある。後者の場合は、探索する分処理量は増えるが、選択候補を増やすことができるため符号量削減効果がある。
【0199】
また、式(16)のようなスケーリングを行う場合、インター符号化されているブロックを見つけた時点で、ダイレクトベクトルあるいは予測したいベクトルのref_Idxとは異なるref_Idxである候補ベクトルはスケーリングを行う(同じref_Idxの場合はスケーリングを行わない)としてもよいし、すべて探索した後で、同じref_Idxである候補ベクトルがなかった場合のみスケーリングを行うとしてもよい。処理量は増えるものの精度を高めたベクトルを候補に加えることが可能となるため、符号量削減効果がある。
【0200】
実施の形態7.
上記実施の形態6では、動画像符号化装置の符号化制御部1及び動画像復号装置の動き補償予測部54が、予め、選択可能な動きベクトルを示すリストを保持しているものを示したが、動画像符号化装置の可変長符号化部13が、そのリストを示すリスト情報を可変長符号化し、そのリスト情報の符号化データを、例えば、スライスヘッダに多重して、動画像復号装置側に伝送するようにしてもよい。
この場合、動画像復号装置の可変長復号部51は、スライスヘッダに多重されている符号化データからリスト情報を可変長復号して、そのリスト情報が示すリストを動き補償予測部54のダイレクトベクトル生成部65に出力することになる。
【0201】
このように、リストを示すリスト情報をスライス単位(あるいは、シーケンスやピクチャ単位などでもよい)で動画像復号装置側に伝送するようにしてもよいが、符号化制御部1により保持されているリストが変更された場合にだけ、変更後のリストを示すリスト情報を動画像復号装置側に伝送するようにしてもよい。
以下、具体的に処理内容を説明する。
図44は動画像符号化装置におけるリスト情報の送信処理を示すフローチャートであり、図45は動画像復号装置におけるリスト情報の受信処理を示すフローチャートである。
【0202】
動画像符号化装置の符号化制御部1は、上記実施の形態6と同様に、符号化ブロックであるパーティションのブロックサイズに応じて、選択可能な1以上の動きベクトルを決定するが、動きベクトルを決定する際に参照するリストが変更されているか否かを確認し、リストが前回と同じであれば(図44のステップST41)、前回とリストが同じである旨を動画像復号装置側に通知するため、変更フラグを“オフ”に設定する(ステップST42)。
可変長符号化部13は、符号化制御部1が変更フラグを“オフ”に設定すると、“オフ”の変更フラグを符号化して、その符号化データを動画像復号装置側に伝送する(ステップST43)。
【0203】
符号化制御部1は、前回とリストが異なる場合(ステップST41)、前回とリストが異なる旨を動画像復号装置側に通知するため、変更フラグを“オン”に設定する(ステップST44)。
可変長符号化部13は、符号化制御部1が変更フラグを“オン”に設定すると、“オン”の変更フラグと変更後のリストを示すリスト情報を符号化して、その符号化データを動画像復号装置側に伝送する(ステップST45)。
図46はリスト内の「temporal」が選択可から選択不可に変更されているために、“オン”の変更フラグと変更後のリストを示すリスト情報を符号化している例を示している。
【0204】
動画像復号装置の可変長復号部51は、符号化データから変更フラグを復号し(図45のステップST51)、その変更フラグが“オフ”であれば(ステップST52)、“オフ”の変更フラグを動き補償予測部54に出力する。
動き補償予測部54は、可変長復号部51から“オフ”の変更フラグを受けると、前回とリストが同じであると認識し、現在保持しているリストを参照対象に設定する(ステップST53)。
したがって、動き補償予測部54は、現在保持しているリストを参照して、今回復号を行うパーティションのブロックサイズに対応する1以上の動きベクトルを決定する。
【0205】
動画像復号装置の可変長復号部51は、変更フラグが“オン”であれば(ステップST52)、符号化データからリスト情報を復号し、“オン”の変更フラグとリスト情報を動き補償予測部54に出力する(ステップST54)。
動き補償予測部54は、可変長復号部51から“オン”の変更フラグとリスト情報を受けると、前回とリストが異なると認識し、そのリスト情報にしたがって現在保持しているリストを変更して、変更後のリストを参照対象に設定する(ステップST55)。
したがって、動き補償予測部54は、変更後のリストを参照して、今回復号を行うパーティションのブロックサイズに対応する1以上の動きベクトルを決定する。
図47は変更フラグが“オン”であるため、現在保持しているリストを変更している例を示している。
【0206】
以上で明らかなように、この実施の形態7によれば、選択可能な1以上の動きベクトルを示すリストが変更された場合に限り、変更後のリストを示すリスト情報を符号化して符号化データを生成するように構成したので、符号量の大幅な増加を招くことなく、リストの変更を受け付ける機能を実装することができる効果を奏する。
【0207】
この実施の形態7では、リストが示す選択可能な動きベクトルの一部が変更された場合でも、変更後のリストの全体を示すリスト情報を符号化する例を示したが、図48に示すように、ブロックサイズ毎に変更フラグを用意し、選択可能な動きベクトルが変更されたブロックサイズの変更フラグを“オン”にして、当該ブロックサイズに係るリスト情報だけを符号化するようにしてもよい。
図48の例では、ブロックサイズが「64」と「8」における動きベクトルは変更されていないため、変更フラグは“オフ”であり、当該ブロックサイズに係るリスト情報は符号化されない。
一方、ブロックサイズが「32」と「16」における動きベクトルは変更されているため、変更フラグは“オン”であり、当該ブロックサイズに係るリスト情報は符号化されている。
なお、いずれかのブロックサイズの変更フラグが“オン”である場合に限り、ブロックサイズ単位の変更フラグを符号化するようにして、いずれのブロックサイズの変更フラグも“オフ”である場合には、リスト単位の変更フラグ(“オフ”の変更フラグ)だけを符号化するようにしてもよい。
また、リスト単位の変更フラグを用いずに、ブロックサイズ単位の変更フラグだけを符号化するようにしてもよい。
【0208】
ここでは、ブロックサイズ毎に、選択可能な動きベクトルを変更できる例を示したが、符号化ブロックの分割パターン毎に、選択可能な動きベクトルを変更できるようにしてもよい。
【0209】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【0210】
1 符号化制御部(符号化制御手段)、2 ブロック分割部(ブロック分割手段)、3 切替スイッチ(イントラ予測手段、動き補償予測手段)、4 イントラ予測部(イントラ予測手段)、5 動き補償予測部(動き補償予測手段)、6 減算部(差分画像生成手段)、7 変換・量子化部(画像圧縮手段)、8 逆量子化・逆変換部、9 加算部、10 イントラ予測用メモリ、11 ループフィルタ部、12 動き補償予測フレームメモリ、13 可変長符号化部(可変長符号化手段)、21 切替スイッチ、22 動きベクトル探索部、23 ダイレクトベクトル生成部、24 動き補償処理部、25,26,27 ダイレクトベクトル生成部、31 空間ダイレクトベクトル生成部、32 時間ダイレクトベクトル生成部、33 ダイレクトベクトル判定部、34,36,37 初期ベクトル生成部、35 動きベクトル探索部、41 動き補償部、42 類似度算出部、43 ダイレクトベクトル選択部、51 可変長復号部(可変長復号手段)、52 切替スイッチ(イントラ予測手段、動き補償予測手段)、53 イントラ予測部(イントラ予測手段)、54 動き補償予測部(動き補償予測手段)、55 逆量子化・逆変換部(差分画像生成手段)、56 加算部(復号画像生成手段)、57 イントラ予測用メモリ、58 ループフィルタ部、59 動き補償予測フレームメモリ、61 切替スイッチ、62 ダイレクトベクトル生成部、63 動き補償処理部、64,65,66 ダイレクトベクトル生成部、71 空間ベクトル生成部、72 時間ベクトル生成部、73 初期ベクトル判定部、81 動き補償部、82 類似度算出部、83 初期ベクトル決定部、91 切替スイッチ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】