特許第5669278号(P5669278)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ トムソン ライセンシングの特許一覧

特許5669278画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法
<>
  • 特許5669278-画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法 図000026
  • 特許5669278-画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法 図000027
  • 特許5669278-画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法 図000028
  • 特許5669278-画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法 図000029
  • 特許5669278-画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法 図000030
  • 特許5669278-画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法 図000031
  • 特許5669278-画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法 図000032
  • 特許5669278-画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法 図000033
  • 特許5669278-画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法 図000034
  • 特許5669278-画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法 図000035
  • 特許5669278-画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法 図000036
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5669278
(24)【登録日】2014年12月26日
(45)【発行日】2015年2月12日
(54)【発明の名称】画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法
(51)【国際特許分類】
   H04N 19/52 20140101AFI20150122BHJP
【FI】
   H04N19/52
【請求項の数】15
【全頁数】24
(21)【出願番号】特願2012-534624(P2012-534624)
(86)(22)【出願日】2010年10月13日
(65)【公表番号】特表2013-509063(P2013-509063A)
(43)【公表日】2013年3月7日
(86)【国際出願番号】EP2010065316
(87)【国際公開番号】WO2011047994
(87)【国際公開日】20110428
【審査請求日】2013年10月8日
(31)【優先権主張番号】0957342
(32)【優先日】2009年10月20日
(33)【優先権主張国】FR
(73)【特許権者】
【識別番号】501263810
【氏名又は名称】トムソン ライセンシング
【氏名又は名称原語表記】Thomson Licensing
(74)【代理人】
【識別番号】100115864
【弁理士】
【氏名又は名称】木越 力
(74)【代理人】
【識別番号】100121175
【弁理士】
【氏名又は名称】石井 たかし
(74)【代理人】
【識別番号】100134094
【弁理士】
【氏名又は名称】倉持 誠
(74)【代理人】
【識別番号】100123629
【弁理士】
【氏名又は名称】吹田 礼子
(72)【発明者】
【氏名】フランソワ,エドウアール
(72)【発明者】
【氏名】ソロー,ドミニク
(72)【発明者】
【氏名】ビエロン,ジエローム
(72)【発明者】
【氏名】マルタン,オーレリー
【審査官】 坂東 大五郎
(56)【参考文献】
【文献】 特開2004−048552(JP,A)
【文献】 国際公開第03/063503(WO,A1)
【文献】 米国特許出願公開第2008/0253457(US,A1)
【文献】 国際公開第2008/093936(WO,A1)
【文献】 特開2004−056823(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00−19/98
(57)【特許請求の範囲】
【請求項1】
画像シーケンスの現在のブロックを符号化する方法であって、
前記現在のブロックの近傍のブロックに関連付けられた少なくとも1つの候補動きベクトルを決定するステップと、
前記少なくとも1つの候補動きベクトルから予測動きベクトルを決定するステップと、
前記予測動きベクトルから前記現在のブロックを符号化するステップと、を含み、
前記予測動きベクトルが、
前記少なくとも1つの候補動きベクトルに対して補正動きベクトルを決定するステップであって、連続的に符号化され再構成された近傍のブロックと、該補正動きベクトルによって修正された前記少なくとも1つの候補動きベクトルによって動き補償された予測ブロックとの間で計算される歪みが最小になるように該補正動きベクトルを決定するステップと、
前記補正動きベクトルによって修正された前記少なくとも1つの候補動きベクトルから前記予測動きベクトルを決定するステップと、に従って決定される、前記方法。
【請求項2】
前記予測動きベクトルから前記現在のブロックを符号化するステップは、前記現在のブロックBcに関連付けられた現在の動きベクトルと前記予測動きベクトルとから計算された動きベクトル差分を決定するステップと、前記動きベクトル差分を符号化するステップと、を含む、請求項1に記載の方法。
【請求項3】
前記補正動きベクトルを決定するステップの間に、該補正動きベクトル(dx,dy)の座標の各々の値の範囲の大きさが動き補償の精度を表す第1の閾値aenhよりも小さい、請求項1または2に記載の方法。
【請求項4】
前記第1の閾値aenhは、動きベクトルの符号化の精度を表す第2の閾値acodよりも小さい、請求項3に記載の方法。
【請求項5】
前記第1の閾値aenhは1/8であり、前記第2の閾値acodは1/4である、請求項4に記載の方法。
【請求項6】
前記第1の閾値aenhは1/4であり、前記第2の閾値acodは、1/2である、請求項4に記載の方法。
【請求項7】
前記補正動きベクトルの座標(dx,dy)の各々は、前記候補動きベクトルの周りの[−acod+aenh,acod−aenh]に等しい間隔内で決定される、請求項4〜6のいずれか一項に記載の方法。
【請求項8】
前記少なくとも1つの候補動きベクトルを決定するステップは、
少なくとも2つの候補動きベクトルを決定するステップと、
前記少なくとも2つの候補動きベクトルを単一の動きベクトルに統合するステップと、
前記少なくとも2つの候補動きベクトルのうちから、前記単一の動きベクトルに最も近い動きベクトルを選択するステップと
を含む、請求項1〜7のいずれか1項に記載の方法。
【請求項9】
少なくとも2つの候補動きベクトルが決定され、前記補正動きベクトルを決定するステップは、前記少なくとも2つの候補動きベクトルの各々に対して補正動きベクトルを決定するステップを含み、前記予測動きベクトルを決定するステップは、前記補正動きベクトルの各々によって修正された前記候補動きベクトルを単一の予測動きベクトルに統合することを含む、請求項1〜7のいずれか1項に記載の方法。
【請求項10】
画像シーケンスの現在のブロックを再構成する方法であって、
前記現在のブロックの近傍のブロックに関連付けられた少なくとも1つの候補動きベクトルを決定するステップと、
前記少なくとも1つの候補動きベクトルから予測動きベクトルを決定するステップと、
前記予測動きベクトルから前記現在のブロックを再構成するステップと、を含み、
前記予測動きベクトルが、
補正動きベクトル(dx,dy)を決定するステップであって、再構成された近傍のブロックと、該補正動きベクトル(dx,dy)によって修正された前記少なくとも1つの候補動きベクトルによって動き補償された予測ブロックとの間で計算された歪みが最小になるように該補正動きベクトル(dx,dy)を決定するステップと、
前記補正動きベクトルによって修正された前記候補動きベクトルから前記予測動きベクトルを決定するステップと、に従って決定される、前記方法。
【請求項11】
前記補正動きベクトルを決定するステップの間に、該補正動きベクトル(dx,dy)の座標の各々の値の範囲の大きさが動き補償の精度を表す第1の閾値aenhよりも小さい、請求項10に記載の方法。
【請求項12】
前記第1の閾値aenhは、動きベクトルの符号化の精度を表す第2の閾値acodよりも小さい、請求項11に記載の方法。
【請求項13】
前記補正動きベクトルの座標(dx,dy)の各々は、前記候補動きベクトルの周りの[−acod+aenh,acod−aenh]に等しい間隔内で決定される、請求項12に記載の方法。
【請求項14】
画像シーケンスの現在のブロックを再構築する装置であって、
前記現在のブロックの近傍のブロックに関連付けられた少なくとも1つの候補動きベクトルを決定する手段と、
前記少なくとも1つの候補動きベクトルから予測動きベクトルを決定する手段と、
前記予測動きベクトルから前記現在のブロックを再構築する手段と、を含み、
前記予測動きベクトルを決定する手段が、
補正動きベクトル(dx,dy)を決定する手段であって、再構築された近傍のブロックと、該補正動きベクトル(dx,dy)によって修正された前記少なくとも1つの候補動きベクトルによって動き補償された予測ブロックとの間で計算された歪みが最小になるように該補正動きベクトル(dx,dy)を決定する手段と、
前記補正動きベクトルによって修正された前記候補動きベクトルから前記予測動きベクトルを決定する手段と、
を含む、前記装置。
【請求項15】
画像シーケンスの現在のブロックを符号化する符号化装置であって、
前記現在のブロックの近傍のブロックに関連付けられた少なくとも1つの候補動きベクトルを決定する手段と、
前記少なくとも1つの候補動きベクトルから予測動きベクトルを決定する手段と、
前記予測動きベクトルから前記現在のブロックを符号化する手段と、を備え、
前記予測動きベクトルを決定する手段が、
前記少なくとも1つの候補動きベクトルに対して補正動きベクトルを決定する手段であって、連続的に符号化され再構築された近傍のブロックと、該補正動きベクトルによって修正された前記少なくとも1つの候補動きベクトルによって動き補償された予測ブロックとの間で計算される歪みを最小にするように該補正動きベクトルを決定する手段と、
前記補正動きベクトルによって修正された前記少なくとも1つの候補動きベクトルから前記予測動きベクトルを決定する手段と、を含む、前記符号化装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像符号化の一般的な領域に関する。より具体的には、本発明は、画像シーケンスの各画素のブロックを符号化する方法、さらに、このようなブロックを再構成する方法に関する。
【背景技術】
【0002】
従来技術において、画像シーケンスを効率的に符号化し、図1に示されたような時間予測またはインター画像符号化(モード・インター)によって符号化する方法を使用することが知られている。画像Icの現在のブロックBcは、特に相関性を有する、以前に符号化され、再構成された参照画像Irefから補間されることがあるブロックBpからの時間予測によって符号化される。参照画像のブロックBpは、予測ブロックと呼ばれている。予測ブロックは、現在のブロックBcに関連付けられた動きブロックMVcを使用して特定される。動きベクトルMVcは、動き推定の方法、例えば、ブロック・ペアリング法(block pairing method)によって決定される。時間予測による既知の符号化方法によれば、動きベクトルMVcおよび残差データは、現在のブロックBcのストリームFにおいて号化される。残差データは、現在のブロックBcから予測ブロックBpを減算することによって得られる。再構成された参照画像Irefと現在のブロックBcに関連付けられた動きベクトルMVcとの、この残差データを使用することによって、現在のブロックBcを再構成することができる。
【0003】
さらに、現在のブロックBcに隣接するブロックA、B、およびCに関連付けられた動きベクトルを使用して、予測により現在のブロックBcに関連付けられた動きベクトルMVcを符号化することが本技術分野において知られている。図2を参照するに、ステップ10において、隣接するブロックA、B、およびCに関連付けられた動きベクトルのうちから1つ以上の候補動きベクトルMVctが決定される。一般的に、3つの候補動きベクトルが使用される。ブロックA、B、および/またはCのうちの1つが画像の外にあるとき、または、ブロックのうちの1つが時間予測によって符号化されていない(例えば、イントラモードで符号化されている)とき、例外が存在する。実際、後者の場合には、対象となるブロックに関連付けられた動きベクトルは存在しない。ステップ12において、予測動きベクトルMVpが候補動きベクトルMVctから決定される。予測動きベクトルMVpが、座標として、各候補動きベクトルの横軸中央値(abscissa median value)と各候補動きベクトルの縦軸中央値(ordinate median value)を有することが知られている。ステップ14において、現在のブロックBcは、予測動きベクトルMVpを考慮して符号化される。ブロックBcについて、現在のブロックBcから予測ブロックBpおよび動きベクトル差分MVdiffを減算することによって得られた残差データを符号化することが知られている。MVcおよびMVpから計算される動きベクトル差分MVdiffは、ストリームFにおいて号化される。MVdiffは、座標(MVx−MVpx;MVy−MVpy)を有し、ここで、(MVx;MVy)はMvcの座標であり、(MVpx;MVpy)はMVpの座標である。一般的に、残差データは、変換され、次に、量子化される。変換され次に量子化された残差データと動きベクトル差分MVdiffは、可変長符号化(VLC)タイプのエントロピー符号化によって符号化され、符号化されたデータとなる。
【0004】
図1および図2を参照して説明される動きベクトルMVcを符号化する方法は、符号化コストの観点からは、必ずしも効率的なものとは限らない。
【発明の概要】
【0005】
本発明の目的は、従来技術の欠点のうちの少なくとも1つを克服することにある。この目的のため、本発明は、画像シーケンスの現在のブロックを符号化する方法に関し、この方法は、
現在のブロックの近傍のブロックに関連付けられた少なくとも1つの候補動きブロックを決定するステップと、
少なくとも1つの候補動きベクトルから予測動きベクトルを決定するステップと、
予測動きベクトルから現在のブロックを符号化するステップと、を含む。
【0006】
予測動きベクトルが、
上記少なくとも1つの候補動きベクトルについて、連続的に符号化され、再構成された近傍のブロックと、補正動きベクトルによって修正された少なくとも1つの候補動きベクトルによって動き補償された予測ブロックとの間で計算された歪みが最小になるように補正動きベクトルを決定するステップと、
補正動きベクトルによって修正された少なくとも1つの候補動きベクトルから予測動きベクトルを決定するステップと、に従って決定されると有益である。
【0007】
本発明の特定の特徴によれば、符号化方法は、現在のブロックBcに関連付けられた現在の動きベクトルと予測動きベクトルとから計算された動きベクトル差分を決定するステップを含み、現在のブロックを符号化するステップは、動きベクトル差分を符号化するステップを含む。
【0008】
本発明の特定の態様によれば、補正動きベクトルの座標の各々の値の範囲の大きさが第1の閾値によって制限される。
【0009】
本発明の別の態様によれば、上記第1の閾値は、動きベクトルの符号化の精度を表す第2の閾値よりも小さい。
【0010】
本発明の特定の態様によれば、上記第1の閾値は、1/8であり、上記第2の閾値は、1/4である。
【0011】
本発明の特定の態様によれば、上記第1の閾値は、1/4であり、上記第2の閾値は、1/2である。
【0012】
本発明の別の特定の態様によれば、上記補正動きベクトルの座標の各々は、動きベクトルの符号化精度よりも高い精度で候補動きベクトルの周りの規定された間隔内で決定される。
【0013】
本発明の第1の実施形態によれば、
少なくとも1つの候補動きベクトルを決定するステップは、
少なくとも2つの候補動きベクトルを決定するステップと、
少なくとも2つの候補動きベクトルを統合して統合された動きベクトルにするステップと、
少なくとも2つの候補動きベクトルのうちから、統合された動きベクトルに最も近い動きベクトルを選択するステップと、を含む。
【0014】
本発明の第2の実施形態によれば、少なくとも2つの候補動きベクトルが決定され、補正動きベクトルを決定するステップは、少なくとも2つの候補動きベクトルの各々について、補正動きベクトルを決定するステップを含み、予測動きベクトルを決定するステップは、補正動きベクトルの各々によって修正された候補動きベクトルを統合して単一の予測動きベクトルにするステップを含む。
【0015】
さらに、本発明は、現在のブロックを再構成する方法に関し、この方法は、
上記現在のブロックの近傍のブロックに関連付けられた少なくとも1つの候補動きベクトルを決定するステップと、
少なくとも1つの候補動きベクトルから予測動きベクトルを決定するステップと、
上記予測動きベクトルから現在のブロックを再構成するステップと、を含む。
【0016】
予測動きベクトルは、
再構成された近傍のブロックと、補正動きベクトルによって修正された少なくとも1つの候補動きベクトルによって動き補償された予測ブロックとの間で計算された歪みが最小になるように補正動きベクトルを決定するステップと、上記補正動きベクトルによって修正された候補動きベクトルから予測動きベクトルを決定するステップと、に従って決定される。
【0017】
本発明の特定の態様によれば、再構成方法は、
上記現在のブロックについて、動きベクトル差分を復号するステップと、
上記現在のブロックについて、上記動きベクトル差分および上記予測動きベクトルから少なくとも1つの現在の動きベクトルを決定するステップと、
上記現在のブロックを上記現在の動きベクトルから再構成するステップと、をさらに含む。
【0018】
本発明に従った符号化および再構成の方法は、符号化効率を高める、即ち、一定の品質で画像シーケンスの符号化コストを低減し、所与の符号化コストで再構成された画像シーケンスの品質を高めるという利点を有する。
【0019】
本発明は、添付図面を参照して、以下の実施形態および実施例により良好に理解され、例示されるであろう。これらの実施形態および実施例は、決して限定的なものではない。
【図面の簡単な説明】
【0020】
図1】従来技術に係る時間予測を通じた符号化方法を示す図である。
図2】従来技術に係る現在のブロックを符号化する方法のフローチャートである。
図3】本発明の第1の実施形態に係る現在のブロックを符号化する方法のフローチャートである。
図4】本発明の第1の実施形態に係る現在のブロックを符号化する方法のステップを示す図である。
図5】本発明の第1の実施形態の変形例に係る現在のブロックを符号化する方法のフローチャートである。
図6】本発明の第2の実施形態に係る現在のブロックを符号化する方法のフローチャートである。
図7】本発明の第1の実施形態に係る現在のブロックを再構成する方法のフローチャートである。
図8】本発明の第1の実施形態の変形例に係る現在のブロックを再構成する方法のフローチャートである。
図9】本発明の第2の実施形態に係る現在のブロックを再構成する方法のフローチャートである。
図10】本発明に係る符号化装置を示す図である。
図11】本発明に係る復号装置を示す図である。
【発明を実施するための形態】
【0021】
画像シーケンスは、幾つかの、一連のピクチャの画像である。各画像は、各々が少なくとも1つの画像データに関連付けられている、複数の画素または、画像ポイントからなる。例えば、1つの画像データは、1つの輝度データ、または、1つの色差データである。
【0022】
用語「動きデータ」は、広い意味で理解されるべきである。動きデータは、動きベクトルを含み、画像シーケンスにおいて参照画像が識別できるようにする参照画像インデックスを含むことがある。さらに、動きデータは、予測ブロックを決定するために使用される補間タイプを示す1つの情報を含むことがある。実際、ブロックBcに関連付けられた動きベクトルMVcが整数座標を有していない場合には、画像データは、予測ブロックBpを決定するために、参照画像Irefにおいて補間されなければならない。ブロックに関連付けられた動きデータは、一般的には、動き推定方法、例えば、ブロック・ペアリングによって計算される。しかしながら、本発明は、動きベクトルがブロックに関連付けられるようにする方法に決して限定されるものではない。
【0023】
用語「残差データ」は、他のデータの抽出後に得られるデータを意味する。抽出は、一般的には、ソース・データから予測データを画素毎に減算することである。しかしながら、抽出は、より一般的な用語であり、特に、重み付け減算を含む。この用語「残差データ」は、用語「残差」と同義である。残差ブロックは、残差データが関連付けられた画素のブロックである。
【0024】
用語「変換された残差データ」は、変換が適用された残差データを意味する。離散コサイン変換(DCT)は、2003年9月にJ.Wiley&Son社によって出版されたI.E. Richardson氏の「H.264およびMPEG−4ビデオ圧縮(H.264 and MPEG−4 video compression)」と題された書籍のチャプタ3.4.2.2に記載されたこのような変換の例である。I.E. Richardson氏の書籍のチャプタ3.4.2.3に記載されたウェーブレット変換およびアダマール(Hadamard)変換は、別の例である。このような変換は、画像データのブロック、例えば残差輝度および/または色差のデータを「周波数データのブロック」または「係数のブロック」とも呼ばれる「変換されたデータのブロック」に「変換」する。
【0025】
用語「予測データ」は、他のデータを予測するために使用されるデータを意味する。予測ブロックは、予測データが関連付けられている画素のブロックである。
【0026】
予測ブロックは、予測するブロックが属する画像と同じ画像の1つのブロックまたは、幾つかのブロックから得られる(空間予測または画像内予測)。もしくは、予測ブロックは、予測するブロックが属する画像とは異なる画像の1つのブロック(一方向予測)または幾つかのブロック(双方向予測)から得られる(時間予測または画像間予測)。
【0027】
用語「再構成されたデータ」は、残差データを予測データと統合した後に得られるデータを意味する。この統合は、一般的には、予測データと残差データの画素毎の和である。しかしながら、統合は、より一般的なものであり、特に、重み付けされた和を含む。再構成されたブロックは、再構成された画像データが関連付けられた画素のブロックである。
【0028】
図3を参照するに、本発明は、画像シーケンスの現在のブロックを符号化する方法に関する。
【0029】
ステップ20において、座標(vx,vy)の候補動きベクトルMVctが現在のブロックBcに対して空間的に近傍のブロックに関連付けられた複数の動きベクトルのうちから決定される。この現在のブロックBcは、画像Icに属する。例えば、候補ベクトルMVctは、図1に示されているような、現在のブロックBcに隣接するブロックA、B、および/またはCの動きベクトルのうちの1つとして決定される。変形例によれば、候補動きベクトルMVctは、ブロックBcに対して空間的に近傍にあるブロックの動きベクトルとして決定されるが、この動きベクトルは、必ずしもブロックBcに隣接するブロックのものでなくともよい。決定された候補動きベクトルMVctが関連付けられた現在のブロックBcに対して近傍のブロックをBvと呼ぶ。デフォルトで保持されている動きベクトルは、例えば、現在のブロックBcの左側に位置する近傍のブロックに関連付けられた動きベクトルである。変形例によれば、デフォルトで保持されている動きベクトルは、例えば、図4に示されているように、現在のブロックBcの上側に位置する近傍のブロックに関連付けられた動きベクトルである。
【0030】
ステップ22において、座標(dx,dy)の補正動きベクトルΔMVが決定される。補正動きベクトルΔMVは、歪みを最小する手法によって決定される。この歪は、
【数1】
で示される、連続的に符号化され、再構成された近傍のブロックと、補正動きベクトルΔMVによって修正された候補動きベクトルMVctによって動き補償された予測ブロックとの間で計算される。その予測ブロックは、参照画像Irefに属する。例えば、以下の関数が使用される。
【数2】
ここで、
【数3】
は、MVct+ΔMVによって動き補償された予測ブロックである。
【数4】
は、画像Icにおける画素(x,y)の符号化され、再構成された1つの画像データの値である。
【数5】
は、参照画像の画素(x,y)の符号化され、再構成された1つの画像データの値である。
【0031】
変形例によれば、
【数6】
である。別の変形例によれば、
【数7】
である。
【0032】
ステップ22において、このようにE(.,.)を最小にする動きベクトルΔMVがサーチされる。例えば、想定される値(dx,dy)の各々について、E(dx,dy)の値が計算され、E(dx,dy)の値が最小となる値(dx,dy)が保持される。
【0033】
ステップ22の変形例によれば、補正動きベクトルΔMVは、座標dxおよびdyの各々の値の範囲の大きさが第1の閾値aenhよりも小さいという追加の制約においてE(.,.)を最小にするものであり、ここで、aenhは、動き補償のために認められた精度である。例えば、動きベクトルが1/4の画素の精度で符号化され、復号される場合には、aenh=1/8である。この変形例は、補正動きベクトルΔMVの決定のための計算の演算量を制限することを可能とする。実際、この変形例によれば、ΔMVは、候補ベクトルMVctの周りの限定された間隔でのみサーチされる。この間隔は、水平方向の成分および垂直方向の成分について、[−acod+aenh,acod−aenh]のように規定される。計算がより網羅的であり、より計算コストが大きな場合では、サーチは、[−R,R]のように規定されるより大きな間隔で行うことができ、サーチ範囲はR>aenhで表される。例えば、R=2.25の値を使用することができる。この後者の場合には、補正動きベクトルΔMVの座標は、精度aenhで、候補ベクトルMctの周りの間隔[−R,R]でサーチされる。
【0034】
ステップ24において、予測動きベクトルMVpは、補正動きベクトルΔMVによって修正される候補動きベクトルMVctから決定される。
MVp=MVct+ΔMV
【0035】
ステップ26において、現在のブロックBcが予測動きベクトルMVpを考慮して符号化される。ブロックBcについて、現在のブロックBcから予測ブロックBpおよび動きベクトル差分MVdiffを減算することによって得られた残差データを符号化することが知られている。MVcおよびMVpから計算される動きベクトル差分MVdiffは、ストリームFにおいて符号化される。MVdiffは、座標(MVx−MVpx;MVy−MVpy)を有し、ここで、Mvcの座標は(MVx;MVy)であり、MVpの座標は(MVpx;MVpy)である。一般的に、残差データは、変換され、次に、量子化される。変換され次に量子化された残差データおよび動きベクトル差分MVdiffは、可変長符号化(VLC)のタイプのエントロピー符号化、または、コンテクスト適応2値算術符号化(Context−Adaptive Binary Arithmetic Coding(CABAC))のタイプの符号化によって符号化され、符号化されたデータとなる。MVdiffに認められた最大の符号化精度は、acodである。エントロピー符号化方法の例は、I.E. Richardson氏による書籍のチャプタ6.5.4、さらに、「情報技術−オーディオビジュアル・オブジェクトの符号化−Part 10:アドバンスドビデオ符号化(Information technology − Coding of audio−visual objects Part 10: Advanced Video Coding)」と題されたISO/IEC 14496−10の文献のセクション9.3に記載されている。別の変形例によれば、コンテクストベースの適応可変長符号化(Context−based Adaptive Variable Lengh Coding(CAVLC))のタイプの方法を使用することができる。これは、「情報技術−オーディオビジュアル・オブジェクトの符号化−Part 10:アドバンスドビデオ符号化(Information technology − Coding of audio−visual objects Part 10: Advanced Video Coding)」と題されたISO/IEC 14496−10の文献のセクション9.2、さらに、I.E. Richardson氏の書籍のチャプタ6.4.13.2に記載されているようなものである。
【0036】
変形例によれば、SKIP符号化モードに従って現在のブロックBcが符号化される。この場合、現在のブロックBcについて、ストリームFにおいて号化される残差データや動きデータは存在しない。実際、ステップ24において決定される予測動きベクトルMVpから予測ブロックが決定され、この予測ブロックを現在のブロックから抽出することによって得られる残差ブロックの係数の全てが零である場合、現在のブロックBcを符号化するために「skip」符号化モードが保持される。
【0037】
図5に示された第1の実施形態の変形例によれば、候補動きベクトルMVctを決定するステップ20は、少なくとも2つの候補動きベクトルを決定するステップ200と、ステップ200において決定された複数の候補動きベクトルを統合して統合された動きベクトルにするステップ202と、統合された動きベクトルに従ってステップ200において決定された動きベクトルのうちから候補動きベクトルMVctを選択するステップ204と、を含む。図5において、図3のステップと同じステップを同じ参照符号を用いて特定し、さらなる説明を行わない。
【0038】
ステップ200において、現在のブロックBcに対して空間的に近傍のブロックに関連付けられた動きベクトルのうちから少なくとも2つの候補動きベクトルMVct1およびMVct2が決定される。例えば、候補動きベクトルMVct1およびMVct2は、図1に示されているような、現在のブロックBcに隣接するブロックA、B、および/またはCの動きベクトルとして決定される。変形例によれば、候補動きベクトルMVct1およびMVct2は、ブロックBcに対して空間的に近傍にあるブロックの動きベクトルとして決定され、ここで、これらの動きベクトルは、必ずしもブロックBcに隣接するブロックのものでなくともよい。候補動きベクトルMVct1が関連付けられた現在のブロックBcに対して近傍のブロックをBv1と呼び、候補動きベクトルMVct2が関連付けられた現在のブロックBcに対して近傍のブロックをBv2と呼ぶ。候補動きベクトルMVct1の座標は(vx1,vy1)であり、候補動きベクトルMVct2の座標は(vx2,vy2)である。
【0039】
ステップ202において、ステップ200で決定される各候補動きベクトルは、座標(MVfus(x),MVfus(y))の単一の動きベクトルMVfusに統合される。例えば、MVfus(x)=median(vx1,vx2,0)であり、MVfus(y)=median(vy1,vy2,0)である。変形例によれば、MVfus(x)=0.5×(vx1+vx2)であり、MVfus(y)=0.5×(vy1+vy2)である。
【0040】
ステップ204において、特定の基準において、MVfusに対して最も近い、ステップ200において決定される候補動きベクトルが、候補動きベクトルMVctとして選択される。例えば、||MVct2−MVfus||<||MVct1−MVfus||であれば、MVct=MVct2であり、そうでなければ、MVct=MVct1である。この基準は、例えば、基準L2である。この基準は、絶対値であってもよい。
【0041】
2つの候補動きベクトルMVct1およびMVct2を用いて説明されるこの変形例は、どのような数の動きベクトルにも同じように適用することができる。
【0042】
第2の実施形態が図6に示されている。
【0043】
ステップ30において、現在のブロックBcに対して空間的に近傍にあるブロックに関連付けられた動きベクトルのうちから少なくとも2つの候補動きベクトルMVct1およびMVct2が決定される。例えば、候補動きベクトルMVct1およびMVct2は、図1に示されているような、現在のブロックBcに隣接するブロックA、B、および/またはCの動きベクトルとして決定される。変形例によれば、候補動きベクトルMVct1およびMVct2は、ブロックBcに対して空間的に近傍にあるブロックの動きベクトルとして決定されるが、この動きベクトルは、必ずしもブロックBcに隣接するブロックのものでなくともよい。候補動きベクトルMVct1に関連付けられた現在のブロックBcに対して近傍のブロックをBv1と呼び、候補動きベクトルMVct2に関連付けられた現在のブロックBcに対して近傍のブロックをBv2と呼ぶ。
【0044】
ステップ32において、候補動きベクトルMVct1について、座標(dx1,dy1)の補正動きベクトルΔMV1が決定され、候補動きベクトルMVct2について、座標(dx2,dy2)の補正動きベクトルΔMV2が決定される。動きベクトルΔMV1は、連続的に符号化され、再構成された候補動きベクトルMVct1に関連付けられた近傍のブロックと補正動きベクトルΔMV1によって修正された候補動きベクトルMVct1によって動き補償された予測ブロックとの間で計算された歪みが最小になるように決定される。同様に、動きベクトルΔMV2は、連続的に符号化され、再構成された候補動きベクトルMVct2に関連付けられた近傍のブロックと補正動きベクトルΔMV2によって修正された候補動きベクトルMVct2によって動き補償された予測ブロックとの間で計算された歪みが最小になるように決定される。例えば、以下の関数が使用される。
【数8】
【0045】
変形例によれば、
【数9】
であり、
【数10】

である。別の変形例によれば、
【数11】
であり、
【数12】
である。
【0046】
ステップ32において、このようにE1(.,.)を最小にするΔMV1がサーチされ、E2(.,.)を最小にするΔMV2がサーチされる。例えば、想定される値(dx1,dy1)の各々について、E1(dx1,dy1)の値が計算され、E1(dx1,dy1)の値が最小となる値(dx1,dy1)が保持される。同様に、想定される値(dx2,dy2)の各々について、E2(dx2,dy2)の値が計算され、E2(dx2,dy2)の値が最小となる値(dx2,dy2)が保持される。
【0047】
ステップ32の変形例によれば、補正動きベクトルΔMV1およびΔMV2は、各々の、または、これらの座標dx1、dx2、dy1、およびdy2の値の範囲の大きさがaenhよりも小さいという追加の制約を有してE1(.,.)およびE2(.,.)をそれぞれ最小にするものであり、ここで、aenhは、動き補償のために認められた精度である。例えば、動きベクトルが1/4の画素の精度で符号化され、復号される場合には、aenh=1/8である。この変形例は、補正動きベクトルΔMV1およびΔMV2の決定のための計算の演算量を制限することを可能にする。実際、この変形例によれば、ΔMV1およびΔMV2は、候補ベクトルMVctおよびMVct2のそれぞれの周りの限定された間隔においてのみサーチされる。この間隔は、水平方向の成分および垂直方向の成分のそれぞれについて、[−acod+aenh,acod−aenh]のように規定される。計算がより網羅的であり、より計算コストが大きな場合では、サーチは、[−R,R]のように規定されるより大きな間隔で行うことができ、サーチ範囲はR>aenhで表される。例えば、R=2の値を使用することができる。この後者の場合では、補正動きベクトルの座標は、aenhの精度で、候補ベクトルの周りで、間隔[−R,R]内でサーチされる。
【0048】
ステップ34において、予測動きベクトルMVpは、補正動きベクトルΔMV1およびMV2によってそれぞれ修正された候補動きベクトルMVct1およびMVct2を統合することによって決定される。例えば、MVpx=median(vx1+dx1,vx2+dx2,0)であり、MVpy=median(vy1+dy1,vy2+dy2,0)である。変形例によれば、MVpx=min(vx1+dx1,vx2+dx2,0)であり、MVpy=min(vy1+dy1,vy2+dy2,0)である。別の変形例によれば、MVpx=0.5×(vx1+dx1+vx2+dx2)であり、MVpy=0.5×(vy1+dy1+vy2+dy2)である。
【0049】
ステップ36において、現在のブロックBcは、予測動きベクトルMVpを考慮して符号化される。ブロックBcについて、現在のブロックBcから予測ブロックBpおよび動きベクトル差分MVdiffを減算することによって得られた残差データを符号化することが知られている。MVcおよびMVpから計算される動きベクトル差分MVdiffは、ストリームFにおいて符号化される。MVdiffは、座標(MVx−MVpx; MVy−MVpy)を有し、ここで、Mvcの座標は(MVx;MVy)であり、MVpの座標は(MVpx;MVpy)である。一般的に、残差データは、変換され、次に、量子化される。変換され次に量子化された残差データおよび動きベクトル差分MVdiffは、可変長符号化(VLC)タイプのエントロピー符号化、または、コンテクスト適応2値算術符号化(CABAC)タイプの符号化によって符号化され、符号化されたデータとなる。MVdiffのために認められる最大の符号化精度はacodである。エントロピー符号化方法の例は、I.E. Richardson氏による書籍のチャプタ6.5.4、さらに、「情報技術−オーディオビジュアル・オブジェクトの符号化−Part 10:アドバンスドビデオ符号化(Information technology − Coding of audio−visual objects Part 10: Advanced Video Coding)」と題されたISO/IEC 14496−10の文献のセクション9.3に記載されている。別の変形例によれば、コンテクストベースの適応可変長符号化(CAVLC)のタイプの方法を使用することができる。これは、「情報技術−オーディオビジュアル・オブジェクトの符号化−Part 10:アドバンスドビデオ符号化(Information technology − Coding of audio−visual objects Part 10: Advanced Video Coding)」と題されたISO/IEC 14496−10の文献のセクション9.2、さらに、I.E. Richardson氏の書籍のチャプタ6.4.13.2に記載されているようなものである。
【0050】
変形例によれば、SKIP符号化モードに従って現在のブロックBcが符号化される。この場合、現在のブロックBcについて、ストリームFにおいて符号化される残差データや動きデータは存在しない。実際、ステップ24において決定される予測動きベクトルMVpから予測ブロックが決定され、この予測ブロックを現在のブロックから抽出することによって得られる残差ブロックの係数の全てが零である場合、現在のブロックBcを符号化するために「skip」符号化モードが保持される。
【0051】
2つの候補動きベクトルMVct1およびMVct2を用いて図5を参照して実施形態を説明しているが、実施形態は、どのような数の候補動きベクトルに適用することもできる。この場合、ステップ32において、各候補動きベクトルについて、補正動きベクトルが決定される。ステップ34において、予測動きベクトルMVpがこれらの各々の補正動きベクトルによって修正された候補動きベクトルから決定される。
【0052】
図7を参照するに、本発明は、さらに、画像シーケンスの現在のブロックを再構成する方法に関する。
【0053】
ステップ52において、座標(vx,vy)の候補動きベクトルMVctが現在のブロックBcに対して空間的に近傍のブロックに関連付けられた動きベクトルのうちから決定される。例えば、候補ベクトルMVctは、図1に示されているような、現在のブロックBcに隣接するブロックA、B、および/またはCの動きベクトルのうちの1つとして決定される。変形例によれば、候補動きベクトルMVctは、ブロックBcに対して空間的に近傍にあるブロックの動きベクトルとして決定されるが、この動きベクトルは、必ずしもブロックBcに隣接するブロックのものでなくともよい。決定された候補動きベクトルMVctに関連付けられた現在のブロックBcの近傍のブロックをBvと呼ぶ。デフォルトで保持される動きベクトルは、例えば、現在のベクトルBcの左側に位置する近傍のブロックに関連付けられた動きベクトルである。変形例によれば、デフォルトで保持される動きベクトルは、例えば、図4に示されているような現在のベクトルBcの上側に位置する近傍のブロックに関連付けられた動きベクトルである。ステップ52は、符号化方法のステップ20と同一である。
【0054】
ステップ54において、座標(dx,dy)の補正動きベクトルΔMVが決定される。補正動きベクトルΔMVは、歪みを最小する手法によって決定される。この歪は、
【数13】
で示される、
連続的に符号化され、再構成された近傍のブロックと、補正動きベクトルΔMVによって修正された候補動きベクトルMVctによって動き補償された予測ブロックとの間で計算される。予測ブロックは、参照画像Irefに属する。例えば、以下の関数が使用される。
【数14】
ここで、
【数15】
は、MVct+ΔMVによって動き補償された予測ブロックである。
【数16】
は、画像Icにおける画素(x,y)の符号化され、再構成された1つの画像データの値である
【数17】
は、参照画像の画素(x,y)の符号化され、再構成された1つの画像データの値である。
【0055】
変形例によれば、
【数18】
である。別の変形例によれば、
【数19】
である。
【0056】
ステップ54において、このようにE(.,.)を最小にする動きベクトルΔMVがサーチされる。例えば、想定される値(dx,dy)の各々について、E(dx,dy)の値が計算され、E(dx,dy)の値が最小となる値(dx,dy)が保持される。ステップ54は、符号化方法のステップ22と同じである。
【0057】
ステップ54の変形例によれば、補正動きベクトルΔMVは、座標dxおよびdyの各々の値の範囲の大きさが第1の閾値aenhよりも小さいという追加の制約を有してE(.,.)を最小にするものであり、ここで、aenhは、動き補償のために認められた精度である。例えば、動きベクトルが1/4の画素の精度で符号化され、復号される場合には、aenh=1/8である。この変形例は、補正動きベクトルΔMVの決定のための計算の演算量を制限することを可能とする。実際、この変形例によれば、ΔMVは、候補ベクトルMVctの周りの限定された間隔でのみサーチされる。この間隔は、水平方向の成分および垂直方向の成分について、[−acod+aenh,acod−aenh]のように規定される。計算がより網羅的であり、より計算コストが大きな場合では、サーチは、[−R,R]のように規定されるより大きな間隔で行うことができ、サーチ範囲はR>aenhで表される。例えば、R=2の値を使用することができる。この後者の場合には、補正動きベクトルΔMVの座標は、精度aenhで、候補ベクトルMctの周りの間隔[−R,R]でサーチされる。
【0058】
ステップ56において、予測動きベクトルMVpが補正動きベクトルΔMVによって修正される候補動きベクトルMVctから決定される。
MVp=MVct+ΔMV
ステップ56は、符号化方法のステップ24と同一である。
【0059】
ステップ58において、予測動きベクトルMVpを考慮して現在の動きブロックBcが再構成される。より具体的には、変換/量子化された残差データおよび動きベクトル差分MVdiffは、可変長符号化(VLC)のタイプのエントロピー符号化、または、コンテクスト適応2値算術符号化(CABAC)のタイプの符号化によって、ストリームFから復号される。変換/量子化された残差データは、逆量子化され、次に、逆変換によって、符号化方法のステップ26において使用されたものに変換される。現在のブロックBcの動きベクトルMVcは、動きベクトル差分MVdiffおよびステップ56において決定された予測動きベクトルMVpから再構成される。MVcは、座標(MVdiffx+MVpx;MVdiffy+MVpy)を有し、ここで、MVdiffの座標は、(MVdiffx;MVdiffy)であり、MVpの座標は、(MVpx;MVpy)である。予測ブロックは、動きベクトルMVcから再構成された参照画像において決定され、動きベクトルMVcによって動き補償された予測ブロックに関連する。予測ブロックは、次に、例えば、画素毎の加算により、現在のブロックについて、ストリームFから再構成された残差データのブロックに統合される。
【0060】
変形例によれば、現在のブロックBcは、SKIP符号化モードに従って再構成される。この場合、現在のブロックBcについて、ストリームFにおいて符号化された残差データや動きデータは存在しない。この場合、再構成されるブロックBcは、ステップ56において決定された予測動きベクトルMVpによって動き補償された予測ブロックである。
【0061】
図8に示されている変形例によれば、候補動きベクトルMVctを決定するステップ52は、少なくとも2つの動きベクトルを決定するステップ520と、ステップ520において決定された候補動きベクトルを統合して統合された動きベクトルにするステップ522と、統合された動きベクトルに従ってステップ520において決定された動きベクトルのうちから候補動きベクトルMVctを選択するステップ524と、を含む。ステップ520は、図5のステップ200と同一であり、ステップ522は、図5のステップ202と同一であり、ステップ524は、図5のステップ204と同一である。
【0062】
別の実施形態が図9に示されている。
【0063】
ステップ62において、現在のブロックBcに対して空間的に近傍のブロックに関連付けられた動きベクトルのうちから少なくとも2つの候補動きベクトルMVct1およびMVct2が決定される。例えば、候補ベクトルMVct1およびMVct2は、図1に示されているような、現在のブロックBcに隣接するブロックA、B、および/またはCとして決定される。変形例によれば、候補動きベクトルMVct1およびMVct2は、ブロックBcに対して空間的に近傍にあるブロックの動きベクトルとして決定されるが、この動きベクトルは、必ずしもブロックBcに隣接するブロックのものでなくともよい。候補動きベクトルMVct1が関連付けられた現在のブロックBcに対して近傍のブロックをBv1と呼び、候補動きベクトルMVct2が関連付けられた現在のブロックBcをBv2と呼ぶ。このステップ62は、図6のステップ30と同一である。
【0064】
ステップ64において、候補ベクトルMVct1について、座標(dx1,dy1)の補正動きベクトルΔMV1が決定され、候補動きベクトルMVct2について、座標(dx2,dy2)の補正動きベクトルΔMV2が決定される。補正動きベクトルΔMV1は、連続的に符号化され、再構成された候補動きベクトルMVct1に関連付けられた近傍のブロックと、補正動きベクトルΔMV1によって修正された候補動きベクトルMVct1によって動き補償された予測ブロックとの間で計算された歪みが最小になるように決定される。同様に、補正動きベクトルΔMV2は、連続的に符号化され、再構成された候補動きベクトルMVct2に関連付けられた近傍のブロックと、補正動きベクトルΔMV2によって修正された候補動きベクトルMVct2によって動き補償された予測ブロックとの間で計算された歪みが最小になるように決定される。例えば、以下の関数が使用される。
【数20】
【0065】
変形例によれば、
【数21】
であり、
【数22】
である。別の変形例によれば、
【数23】
であり、
【数24】
である。
【0066】
ステップ64において、このようにE1(.,.)を最小にするΔMV1がサーチされ、E2(.,.)を最小にするΔMV2がサーチされる。例えば、想定される値(dx1,dy1)の各々について、E1(dx1,dy1)の値が計算され、E1(dx1,dy1)の値が最小となる値(dx1,dy1)が保持される。同様に、想定される値(dx2,dy2)の各々について、E2(dx2,dy2)の値が計算され、E2(dx2,dy2)の値が最小となる値(dx2,dy2)が保持される。このステップ64は、図6のステップ32と同じである。
【0067】
ステップ64の変形例によれば、補正動きベクトルΔMV1およびΔMV2は、各々の、または、これらの座標dx1、dx2、dy1、およびdy2の値の範囲の大きさがaenhよりも小さいという追加の制約を有してE1(.,.)およびE2(.,.)をそれぞれ最小にするものであり、ここで、aenhは、動き補償のために認められた精度である。例えば、動きベクトルが1/4の画素の精度で符号化され、復号される場合には、aenh=1/8である。この変形例は、補正動きベクトルΔMV1およびΔMV2の決定のための計算の演算量を制限することを可能とする。実際、この変形例によれば、ΔMV1およびΔMV2は、候補ベクトルMVctおよびMVct2のそれぞれの周りの限定された間隔でのみサーチされる。この間隔は、水平方向の成分および垂直方向の成分について、[−acod+aenh,acod−aenh]のように規定される。計算がより網羅的であり、より計算コストが大きな場合では、サーチは、[−R,R]のように規定されるより大きな間隔で行うことができ、サーチ範囲はR>aenhで表される。例えば、R=2の値を使用することができる。この後者の場合には、補正動きベクトルΔMVの座標は、精度aenhで、候補ベクトルMVctの周りの間隔[−R,R]でサーチされる。
【0068】
ステップ66において、補正動きベクトルΔMV1およびΔMV2のそれぞれによって修正された候補動きベクトルMVct1およびMVct2を統合することによって、予測動きベクトルMVpが決定される。例えば、MVpx=median(vx1+dx1,vx2+dx2,0)であり、MVpy=median(vy1+dy1,vy2+dy2,0)である。変形例によれば、MVpx=min(vx1+dx1,vx2+dx2,0)であり、MVpy=min(vy1+dy1,vy2+dy2,0)である。別の変形例によれば、MVpx=0.5×(vx1+dx1+vx2+dx2)であり、MVpy=0.5×(vy1+dy1+vy2+dy2)である。このステップ66は、図6のステップ34と同じである。
【0069】
ステップ68において、現在のブロックBcは、予測動きベクトルMVpを考慮して再構成される。より具体的には、変換/量子化された残差データおよび動きベクトル差分MVdiffは、可変長符号化(VLC)のタイプのエントロピー符号化、または、コンテクスト適応2値算術符号化(CABAC)のタイプの符号化によって、ストリームFから復号される。変換/量子化された残差データは、逆量子化され、次に、逆変換によって、符号化方法のステップ26において使用されたものに変換される。現在のブロックBcの動きベクトルMVcは、動きベクトル差分MVdiffおよびステップ56において決定された予測動きベクトルMVpから再構成される。MVcは、座標(MVdiffx+MVpx;MVdiffx+MVpy)を有し、ここで、MVdiffの座標は、(MVdiffx;MVdiffy)であり、MVpの座標は、(MVpx;MVpy)である。予測ブロックは、動きベクトルMVcから再構成された参照画像において決定され、動きベクトルMVcによって動き補償された予測ブロックに関連する。予測ブロックは、次に、例えば、画素毎の加算により、現在のブロックについて、ストリームFから再構成された残差データのブロックに統合される。
【0070】
変形例によれば、現在のブロックBcは、SKIP符号化モードに従って再構成される。この場合、現在のブロックBcについて、ストリームFにおいて符号化された残差データや動きデータは存在しない。この場合、再構成されるブロックBcは、ステップ66において決定された予測動きベクトルMVpによって動き補償された予測ブロックである。
【0071】
単一の動きベクトルがブロックに関連付けられている場合(一方向予測)について本発明を説明しているが、本発明は、2つ以上の動きベクトルがブロックに関連付けられている場合(例えば、双方向予測)にも直接拡張される。この場合、各動きベクトルは、参照画像のリストに関連付けられている。例えば、H.264において、双方向タイプのブロックは、2つのリストL0およびL1を使用し、各リストについて、動きベクトルが規定される。双方向の場合においては、ステップ20〜24、または、30〜34は、各リストについて、独立に適用される。ステップ20において(また、ステップ30において)、1つの候補動きベクトルまたは複数の候補動きベクトルが現在のリストと同じリストの動きベクトルのうちから決定され、現在のブロックBcに対して空間的に近傍のブロックに関連付けられる。ステップ26において(また、ステップ36において)符号化された現在のブロックBcは、ステップ24(また、ステップ34)からの各リストの動きベクトルから符号化される。
【0072】
本発明に従った動きベクトルの符号化および再構成の方法は、補正動きベクトルを使用した動きベクトルの予測方法を改善するという利点を有する。従って、この方法は、品質および/または符号化コストの観点から、符号化効率を向上するという利点を有する。本発明に係る方法は、特に、「skip」符号化モードの選択を望ましいものにすることができる。これは、さらに、時間予測の場合に動きデータの符号化コストを低減するか、動きベクトルの精度を向上させ、一定のコストで動き補償の品質を向上させるものである。実際、予測動きベクトルMVpは、精度aenhを有し、符号化されたベクトル差分MVdiffは、精度acodを有し、従って、予測動きベクトルと符号化されたベクトル差分との和から生じる再構成されたベクトルMVcは、精度aenhを有する。従って、本発明に係る符号化および再構成の方法は、動きベクトルを特定の精度acodで符号化できるようにし、aenhと等しいより良好な精度の動きベクトルで動き補償を実行するものである。
【0073】
さらに、本発明は、図10を参照して説明される符号化装置12と図11を参照して説明される復号装置13に関する。図10および図11において、図示された各モジュールは、機能的なユニットであり、物理的に区別可能なユニットに対応することもあるし、物理的に区別可能でないユニットに対応することもある。例えば、これらのモジュール、または、モジュールのうちの幾つかは、単一のコンポーネントにグループ化されることもあれば、同一のソフトウエアの複数の機能を構成することもある。逆に、幾つかのモジュールは、別個の物理的なエンティティで構成されていてもよい。
【0074】
図10を参照するに、符号化装置12は、画像シーケンスに属する画像を入力部で受信する。各画像は、各々が画像データの少なくとも1つに関連付けられる画素のブロックに分割される。特に、符号化装置12は、時間予測を用いた符号化を実行する。時間予測による符号化、またはインター符号化に関連する符号化装置12のモジュールのみが図12に示されている。図示されていないが、ビデオ符号化器の技術における当業者よって知られている他のモジュールは、空間予測を用いて、または、空間予測を用いないでイントラ符号化を実施する。符号化装置12は、特に、例えば、画素毎の減算により、現在のブロックBcから予測ブロックBpを差し引いて残差画像データのブロック、または、残差ブロックBresを生成することが可能な計算モジュール1200を含む。符号化装置12は、さらに、残差ブロックBresを変換し、次に、量子化して量子化データにすることが可能なモジュール1202を含む。変換Tは、例えば、離散コサイン変換(DCT)である。符号化装置12は、さらに、量子化されたデータを符号化して符号化されたデータのストリームFにすることが可能なエントロピー符号化モジュール1204を含む。符号化装置12は、さらに、モジュール1202の逆の処理を実行するモジュール1206を含む。モジュール1206は、逆量子化Q−1を実行し、その後に逆変換T−1を実行する。モジュール1206は、例えば、このモジュール1206からのデータのブロックと予測ブロックBpとを画素毎に加算することによって統合し、メモリ1210に記憶される再構成された画像データのブロックを生成することが可能な計算モジュール1208に結合されている。
【0075】
符号化装置12は、ブロックBcとメモリ1210に記憶された参照画像Irefのブロックとの間で少なくとも1つの動きベクトルMVcを推定することが可能な動き推定モジュール1212をさらに含み、この参照画像Irefは、既に符号化され、再構成されているものである。変形例によれば、動き推定は、現在のブロックBcと、原参照画像Icとの間で実行され、この場合、メモリ1210は、動き推定モジュール1212に結合されていない。当業者にとって良く知られた方法によれば、動き推定モジュールは、1つの動きデータ、特に、動きベクトルについて、参照画像Irefをサーチし、これは、現在のブロックBcとこの1つの動きデータによって識別される参照画像Iref内のブロックとの間で計算されたエラーを最小にするように行われる。
【0076】
決定された動きデータは、動き推定モジュール1212によって決定モジュール1214に送信される。この決定モジュール1214は、所定のセットの符号化モードのうちから、ブロックBcのための符号化モードを選択することが可能である。保持される符号化モードは、例えば、ビットレート歪みタイプの基準を最小にするものである。しかしながら、本発明は、この選択方法に制限されるものではなく、保持されるモードは、別の基準、例えば、先験的なタイプの基準に従って選択することもできる。決定モジュール1214によって選択される符号化モード、さらに、例えば、時間予測モードまたはインターモードの場合の1つまたは複数の動きデータは、予測モジュール1216に送信される。予測モジュール1216は、符号化方法のステップ20〜24または30〜34を実施することが可能である。ステップ26および36は、符号化装置12のモジュールのセットを介して実施される。選択される符号化モジュール、さらに、反対の場合の1つまたは複数の動きデータは、追加的に、エントロピー符号化モジュール1204に送信されてストリームFの形態に符号化される。予測モジュール1216は、決定モジュール1214によって決定される符号化モードから予測モードBpを決定する。これは、動き推定モジュール1212によって決定される動きデータから決定されることもある(インター画像予測の場合)。
【0077】
図11を参照するに、復号モジュール13は、入力部において、画像シーケンスを表す符号化されたデータのストリームFを受信する。例えば、ストリームFは、チャンネルを介して符号化装置12によって送信される。復号装置13は、復号されたデータ、例えば、符号化モードおよび画像のコンテンツに関連する復号されたデータを生成することが可能なエントロピー復号モジュール1300を含む。
【0078】
復号装置13は、さらに、動きデータ再構成モジュールを含む。第1の実施形態によれば、動きデータ再構成モジュールは、上記動きデータを表すストリームFの部分を復号するエントロピー復号モジュール1300である。図13に示されていない変形例によれば、動きデータ再構成モジュールは、動き推定モジュールである。復号装置13を介して動きデータを再構成するこの解決法は、「テンプレート一致(template matching)」と呼ばれる。
【0079】
次に、画像のコンテンツに関連する復号されたデータは、逆量子化を行った後に逆変換を行うことが可能なモジュール1302に送信される。モジュール1302は、符号化されたストリームFを生成した符号化装置12のモジュール1206と同一である。モジュール1302は、例えば、このモジュール1302からのブロックと予測ブロックBpとを画素毎に加算することによって統合し、メモリ1306に記憶される再構成された現在のブロックBcを生成することが可能な計算モジュール1304に結合されている。復号装置13は、さらに、予測モジュール1308を含む。予測モジュール1308は、現在のブロックについて、エントロピー復号モジュール1300によって復号された符号化モードから予測ブロックBpを決定する。これは、動きデータ再構成モジュールによって決定された動きデータから決定されることもある。予測モジュール1308は、本発明に従った復号方法のステップ52〜56、または、62〜66を実行することが可能である。ステップ58および68は、復号装置12の各モジュールのセットによって実施される。
【0080】
勿論、本発明は、上述した実施形態の例に限定されるものではない。
【0081】
特に、当業者であれば、上述した各実施形態に対してどのような変形例を適用してもよく、各実施形態を組み合わせて様々な利点からの恩恵を受けることができる。特に、本発明は、現在のブロックに必ずしも隣接する候補動きベクトルのタイプに限定されるものでは決してない。さらに、1つの動きベクトルがブロックに関連付けられている場合(一方向予測)について本発明を説明しているが、本発明は、2つ以上の動きベクトルがブロックに関連付けられている場合(例えば、双方向予測)にも直接拡張される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11