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

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

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

特許5750249保留マクロブロックを使った画像エンコードの方法および装置ならびに保留マクロブロックを使った画像デコードの方法および装置
<>
  • 特許5750249-保留マクロブロックを使った画像エンコードの方法および装置ならびに保留マクロブロックを使った画像デコードの方法および装置 図000004
  • 特許5750249-保留マクロブロックを使った画像エンコードの方法および装置ならびに保留マクロブロックを使った画像デコードの方法および装置 図000005
  • 特許5750249-保留マクロブロックを使った画像エンコードの方法および装置ならびに保留マクロブロックを使った画像デコードの方法および装置 図000006
  • 特許5750249-保留マクロブロックを使った画像エンコードの方法および装置ならびに保留マクロブロックを使った画像デコードの方法および装置 図000007
  • 特許5750249-保留マクロブロックを使った画像エンコードの方法および装置ならびに保留マクロブロックを使った画像デコードの方法および装置 図000008
  • 特許5750249-保留マクロブロックを使った画像エンコードの方法および装置ならびに保留マクロブロックを使った画像デコードの方法および装置 図000009
  • 特許5750249-保留マクロブロックを使った画像エンコードの方法および装置ならびに保留マクロブロックを使った画像デコードの方法および装置 図000010
  • 特許5750249-保留マクロブロックを使った画像エンコードの方法および装置ならびに保留マクロブロックを使った画像デコードの方法および装置 図000011
  • 特許5750249-保留マクロブロックを使った画像エンコードの方法および装置ならびに保留マクロブロックを使った画像デコードの方法および装置 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5750249
(24)【登録日】2015年5月22日
(45)【発行日】2015年7月15日
(54)【発明の名称】保留マクロブロックを使った画像エンコードの方法および装置ならびに保留マクロブロックを使った画像デコードの方法および装置
(51)【国際特許分類】
   H04N 19/11 20140101AFI20150625BHJP
   H04N 19/147 20140101ALI20150625BHJP
   H04N 19/176 20140101ALI20150625BHJP
   H04N 19/436 20140101ALI20150625BHJP
   H04N 19/593 20140101ALI20150625BHJP
【FI】
   H04N19/11
   H04N19/147
   H04N19/176
   H04N19/436
   H04N19/593
【請求項の数】21
【外国語出願】
【全頁数】23
(21)【出願番号】特願2010-198005(P2010-198005)
(22)【出願日】2010年9月3日
(65)【公開番号】特開2011-61783(P2011-61783A)
(43)【公開日】2011年3月24日
【審査請求日】2013年5月27日
(31)【優先権主張番号】09305827.9
(32)【優先日】2009年9月10日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】501263810
【氏名又は名称】トムソン ライセンシング
【氏名又は名称原語表記】Thomson Licensing
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(72)【発明者】
【氏名】ジホン ヤン
(72)【発明者】
【氏名】ユ・モン リー
(72)【発明者】
【氏名】ホイ ジャン
【審査官】 山▲崎▼ 雄介
(56)【参考文献】
【文献】 特開2006−129285(JP,A)
【文献】 特開2006−246524(JP,A)
【文献】 特開2009−027693(JP,A)
【文献】 米国特許出願公開第2006/0002466(US,A1)
【文献】 特開2009−055542(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00−19/98
(57)【特許請求の範囲】
【請求項1】
画像データをエンコードする方法であって、
・第一予測手段によって、マクロブロックをそれぞれの隣接マクロブロックから予測する段階(p)であって、複数のマクロブロックが同時に予測され、該予測は少なくとも一つの開始点マクロブロックから出発し、どの一つのマクロブロックについての予測方向も、予測がどの空間方向に広がるかを定義するあらかじめ定義された成長パターンに従って左、右、上または下として選択される、段階と;
・第一判別手段によって、少なくとも一つのマクロブロックについて、選択された予測方向に従った符号化コストがある閾値よりも高いことを判別する段階(dt)と;
・前記判別がされると、第一マーク付け手段によって、前記少なくとも一つのマクロブロックを遅延予測のためにマークして(m)、前記少なくとも一つのマクロブロックのエンコードをスキップする段階と;
・第一エンコーダによって、遅延予測のためにマークされた前記少なくとも一つのマクロブロックを除いて前記画像のマクロブロックをエンコードする段階(e)であって、前記予測に基づいて残差データを決定するステップ(d)および前記残差データをエンコードするステップ(e)を含む、段階と;
・第二判別手段によって、前記少なくとも一つのマークされたマクロブロックの少なくとも一つのさらなる隣接マクロブロックがエンコードされたことを判別する段階と;
・第二予測手段によって、前記少なくとも一つのマークされたマクロブロックの少なくとも一つのさらなる隣接マクロブロックがエンコードされたあとに、前記少なくとも一つのマークされたマクロブロックを予測する段階(p)と;
・第二エンコード手段によって、前記画像のマークされたマクロブロックをエンコードする段階(e)であって、結果として得られるエンコード・データは前記マークを含む、段階とを含む、
方法。
【請求項2】
請求項1記載の方法であって、現在マクロブロックについて隣接マクロブロックがエンコードされたことを判別する前記段階の前に、第三判別手段によって、前記隣接マクロブロックが遅延予測のためにマークされたことと、現在マクロブロックが前記隣接マクロブロックと同じ予測方向を使うこととを判別し、前記判別がされると、第二マーク付け手段によって、現在マクロブロックも遅延予測のためにマークする段階を含む、方法。
【請求項3】
請求項1または2記載の方法であって、プロセッサによって、現在画像に従って前記閾値を計算する段階(c)をさらに含み、前記閾値がマクロブロック・レベルで導出される場合、前記閾値は前のマクロブロックについての閾値と、該前のマクロブロックのレート‐歪みコストの組み合わせによって計算される、方法。
【請求項4】
エンコードされた画像データをデコードする方法であって、
・抽出手段によって、少なくとも一つの開始点マクロブロックについてのデータを抽出する段階と(e);
・前記抽出手段によって、一つまたは複数のさらなるマクロブロックについて残差データを抽出する段階と(e);
・前記抽出手段によって、前記さらなるマクロブロックのうち少なくとも一つについて、遅延予測のためのマークである指標を抽出する段階(e)と;
・第一デコーダによって、前記開始点マクロブロックおよびさらなるマクロブロックをデコードする段階(dec)であって、前記デコードは前記開始点マクロブロックから出発して、左、右、上および下の予測方向を含むあらかじめ定義された成長パターンの順序で進み、前記成長パターンは予測がどの空間方向に広がるかを定義するものであり、前記デコードは、複数の前記さらなるマクロブロックを前記成長パターンに従って一つまたは複数のすでにデコードされた隣接マクロブロックから同時に予測して(p)前記残差データを加える(r)ステップを含み、遅延予測のためにマークされた前記少なくとも一つのマクロブロックの予測はスキップされる、段階と;
・第一判別手段によって、遅延予測のためにマークされた前記少なくとも一つのマクロブロックについて、さらなる隣接マクロブロックがデコードされたことを判別する段階と;
・該判別がされると、第二判別手段によって、前記少なくとも一つのマークされたマクロブロックを、その残差データおよび前記の少なくとも二つの利用可能なデコードされた隣接マクロブロックに従ってデコードする(p、r)段階とを含む、
方法。
【請求項5】
請求項1ないし4のうちいずれか一項記載の方法であって、前記少なくとも一つの開始点マクロブロックは前記画像のエッジ上にはない、方法。
【請求項6】
請求項1ないし3のうちいずれか一項記載の方法であって、エントロピー符号化器において前記エンコードされた画像データをエントロピー・エンコードする段階をさらに含む、方法。
【請求項7】
請求項1ないし3、6のうちいずれか一項記載の方法であって、エンコードが同時に二つ以上の開始点マクロブロックから開始される、方法。
【請求項8】
請求項1ないし3、6のうちいずれか一項記載の方法であって、前にエンコードされたマクロブロックに対して上、下、左または右に隣接する少なくとも二つのマクロブロックの前記予測が同時に実行される、方法。
【請求項9】
請求項4記載の方法であって、前記デコードする段階(dec)の前にエントロピー・デコーダにおいて、前記エンコードされた画像データをエントロピー・デコードする段階をさらに含む、方法。
【請求項10】
請求項4または9記載の方法であって、デコードが同時に二つ以上の開始点マクロブロックから開始される、方法。
【請求項11】
請求項1ないし10のうちいずれか一項記載の方法であって、前記あらかじめ定義された成長パターンが前記予測する段階のための次のマクロブロックを選択するために使われる、方法。
【請求項12】
画像データをエンコードする装置(ENC)であって、
・同時に複数のマクロブロックをそれぞれの隣接マクロブロックから予測する第一予測手段(P)であって、ここで、該予測は少なくとも一つの開始点マクロブロックから出発し、どの一つのマクロブロックについての予測方向も、左、右、上および下の方向の予測を含むあらかじめ定義された成長パターンに従って選択され、前記成長パターンは予測がどの空間方向に広がるかを定義するものである、第一予測手段と;
・少なくとも一つのマクロブロックについて、前記の選択された予測方向に従ったエンコード・コストがある閾値よりも高いことを判別する第一判別手段(DT)と;
・前記判別がされると、前記少なくとも一つのマクロブロックを遅延予測のためにマークするマーク付け手段(M)と;
・遅延予測のためにマークされた前記少なくとも一つのマクロブロックを除いて前記画像のマクロブロックをエンコードする第一エンコーダ(E)であって、前記予測に基づいて残差データを決定する残差決定手段(DTr,e)および前記残差データをエンコードする残差エンコード手段(E)を有し、遅延予測のためにマークされている前記少なくとも一つのマクロブロックをスキップする、第一エンコーダと;
・前記少なくとも一つのマークされたマクロブロックの少なくとも一つのさらなる隣接マクロブロックがエンコードされたことを判別する第二判別手段(DT)と;
・前記少なくとも一つのマークされたマクロブロックの少なくとも一つのさらなる隣接マクロブロックがエンコードされたあとに、前記少なくとも一つのマークされたマクロブロックを予測する第二予測手段(P)と;
・前記画像のマークされたマクロブロックをエンコードする第二エンコード手段(E)であって、結果として得られるエンコード・データは前記マークを含む、第二エンコード手段とを有する、
装置。
【請求項13】
請求項12記載の装置であって、現在マクロブロックについて、同じ予測方向を使う隣接マクロブロックが遅延予測のためにマークされたことを判別する第三判別手段(DT)と、前記判別がされると前記現在マクロブロックを遅延予測のためにマークする第二のマーク付け手段(M)とを有する、装置。
【請求項14】
前記エンコードされた画像データをエントロピー・エンコードするエントロピー符号化器をさらに有する、請求項12または13記載の装置。
【請求項15】
エンコードされた画像データをデコードする装置であって、
・少なくとも一つの開始点マクロブロックのデータ、一つまたは複数のさらなるマクロブロックの残差データおよび前記さらなるマクロブロックのうち少なくとも一つについて遅延予測のためのマークである指標を抽出する抽出手段(E,E,E)と;
・前記マクロブロックをデコードする第一デコーダ(DEC)とを有し、デコードは前記開始点マクロブロックから出発して、左、右、上および下の方向の予測を含むあらかじめ定義された成長パターンの順序で同時に複数の前記さらなるマクロブロックをデコードすることを進め、前記成長パターンは予測がどの空間方向に広がるかを定義するものであり、前記第一デコーダは、
・前記指標から、遅延予測のためにマークされている前記少なくとも一つのマクロブロックの予測および再構成が遅延されるべきであることを判別する第一判別手段(DT)と、前記さらなるマクロブロックを、前記成長パターンに従って一つまたは複数のすでにデコードされた隣接マクロブロックから予測する予測手段(P)と、前記残差データを加える再構成手段(R)とを有し、前記第一判別手段(DT)からの信号(SK)に基づいて、遅延予測のためにマークされた前記少なくとも一つのマクロブロックの予測および再構成がスキップされ;
・遅延予測のためにマークされた前記少なくとも一つのマクロブロックについて、前記第一デコーダがさらなる隣接マクロブロックをデコードしたことを判別する第二判別手段(DT)と;
・該判別がされると、前記少なくとも一つのマークされたマクロブロックを、その残差データおよび少なくとも二つの利用可能なデコードされた隣接マクロブロックに従ってデコードする第二デコーダ(DEC、P、R)とを有する、
装置。
【請求項16】
前記エンコードされた画像データが前記第一デコーダに入力される前に前記エンコードされた画像データをエントロピー・デコードするエントロピー・デコーダをさらに有する、請求項15記載の装置。
【請求項17】
エンコードが同時に二つ以上の開始点マクロブロックから開始される、請求項12ないし14のうちいずれか一項記載の装置。
【請求項18】
請求項12ないし14または17のうちいずれか一項記載の装置であって、前にエンコードされたマクロブロックに対して上、下、左または右に隣接する少なくとも二つのマクロブロックの前記予測が同時に実行される、装置。
【請求項19】
デコードが同時に二つ以上の開始点マクロブロックから開始される、請求項15または16記載の装置。
【請求項20】
請求項15、16または19のうちいずれか一項記載の装置であって、前にデコードされたマクロブロックに対して上、下、左または右に隣接する少なくとも二つのマクロブロックの前記予測が同時に実行される、装置。
【請求項21】
請求項12ないし20のうちいずれか一項記載の装置であって、前記あらかじめ定義された成長パターンが前記予測のための次のマクロブロックを選択するために使われる、装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像エンコード方法、画像デコード方法、画像エンコード装置および画像デコード装置に関する。
【背景技術】
【0002】
H.264/AVCでは、一フレーム内のマクロブロック(MB)は、左上位置の開始マクロブロックからラスタ・スキャン順に符号化される。各MBは、符号化されたMBのレート‐歪み(R-D: rate-distortion)コストが何であろうと、一つ一つ逐次的に符号化される。図1は、イントラ予測を実装するためにH.264/AVCが用いるラスタ・スキャン順を示している。ボールド体のマクロブロックはH.264/AVCにおける開始マクロブロックである。開始MBは画像毎に一つだけある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
マルチコア処理アーキテクチャが利用可能になると、H.264/AVCにおいて使用されるイントラ予測アルゴリズムの並列性を改善し、ビデオ・フレームの最適予測経路を見出してイントラ・フレームの符号化および圧縮パフォーマンスを改善することが望ましくなる。
【課題を解決するための手段】
【0004】
本発明は、H.264/AVCなどに好適なMB適応ベースのイントラ予測を提供する。
【0005】
本発明のある側面によれば、フレームは、イントラ・エンコードされる少なくとも一つの開始マクロブロック(シードMB)から出発して、イントラ予測される後続マクロブロックに進んで、符号化されることができる。ここで、同時に現在MB当たり二つ以上の隣接MBの予測を含む、あらかじめ定義された予測拡散パターン(prediction spread pattern)(本稿では成長パターン(growth pattern)と称される)が使われる。
【0006】
本稿では、「隣接(neighboring)」の用語は、現在MBの上、下、左または右のいずれかに関わらず、現在MBと共通のエッジを有するMBのみについて用いる。
【0007】
さらに、ある側面によれば、R-Dコスト(符号化コスト)が高いマクロブロックは、少なくとももう一つの隣接エッジが準備完了になり予測のために利用可能になるまで、処理から保留〔ホールド〕されることができる。すると、これらのMBについての予測はより簡単になり、より低い符号化コストで達成できる。そのような型のMBは本稿では「ホールドMB(Hold-MB)〔保留マクロブロック〕」と呼ばれる。
【0008】
エンコーダおよびデコーダは同じシードMBおよび予測順を使う必要があるので、両者があらかじめ定義される。それらはエンコーダおよびデコーダに暗黙的に、たとえば規格を通じて知られてもよい。ある実施形態では、成長パターンは、各現在MBについて、三つの隣接するMBが次の予測サイクルのために選択されるようなものである(画像のエッジの場合を除く)。
【0009】
本発明のある側面によれば、エンコードは、少なくとも一つのMBについて、選択された予測方向に従う符号化コストが高い(たとえばある閾値より高い)ことを判別し、該判別がされると前記少なくとも一つのMBを遅延予測(deferred prediction)のためにマークするステップを含む。結果として、前記少なくとも一つのMBのエンコードは、他のMBがエンコードされる間、前記少なくとも一つのマークされたMBの少なくとも一つのさらなる隣接MBがエンコードされるまで、スキップされる。次いで、前記少なくとも一つのマークされたMBが(今や少なくとも二つの)すでにエンコードされた隣接MBに基づいて予測される。
【0010】
ホールドMBとは、通例はあらかじめ定義された成長パターンが良好な符号化効率を与えるのに対して、あらかじめ定義された成長パターンを使うことが最適でない、例外的なMBである。これらのMBをホールドMBとして遅延予測のためにマークすることによって、あらかじめ定義された成長パターンの発想をより柔軟にする柔軟性の要素が導入される。
【0011】
本発明のある側面によれば、フレームは、複数のシード・マクロブロックから同時に符号化される。ここで、前記複数のシード・マクロブロックはイントラ予測されることができる。提案されるイントラ予測方法は、符号化されるフレーム内での諸マクロブロックの予測依存性を取り除くので、本方法は、多コアCPUプラットフォーム、GPGPU、セル(Cell)・プロセッサなどといった多コア・プラットフォーム上で効果的に実装できる。
【0012】
提案される方法の利点は、符号化パフォーマンスにおいてずっと効率的であり、並列処理アーキテクチャ上での実装により好適であるということである。
【0013】
本発明のある側面によれば、画像データをエンコードする方法が、MBをそれぞれの隣接MBから予測する段階であって、該予測は少なくとも一つの開始点MB(またはシードMB)から出発し、どの一つのMBについての予測方向もあらかじめ定義された成長パターンに従って左、右、上または下として選択される、段階と、少なくとも一つのMBについて、前記の選択された予測方向に従った符号化コストがある閾値よりも高いことを判別する段階と、前記判別がされると、前記少なくとも一つのMBを遅延予測のためにマークして、前記少なくとも一つのMBのエンコードをスキップする段階と、遅延予測のためにマークされた前記少なくとも一つのMBを除いて前記画像のMBをエンコードする段階であって、前記予測に基づいて残差データを決定するステップおよび前記残差データをエンコードするステップを含む、段階と、前記少なくとも一つのマークされたMBの少なくとも一つのさらなる隣接MBがエンコードされたあとに、前記少なくとも一つのマークされたMBを予測する段階と、前記画像のマークされたMBをエンコードする段階であって、結果として得られるエンコード・データは前記マークを含む、段階とを含む。
【0014】
別の側面によれば、エンコードされた画像データをデコードする方法が、
少なくとも一つの開始点MBについてのデータを抽出し、一つまたは複数のさらなるMBについて残差データを抽出し、前記さらなるMBのうち少なくとも一つについて、遅延予測のためのマークである指標を抽出する段階と、前記さらなるMBをデコードする段階とを有し、前記デコードは前記開始点MBから出発して、あらかじめ定義された左、右、上および下の予測方向を含む成長パターンの順番に進み、前記デコードは、前記さらなるMBを前記成長パターンに従って一つまたは複数のすでにデコードされた隣接MBから予測して前記残差データを加えるステップを含み、遅延予測のためにマークされた前記少なくとも一つのMBの予測はスキップされる、段階と、
遅延予測のためにマークされた前記少なくとも一つのMBについて、さらなる隣接MBがデコードされたことを判別し、該判別がされると、前記少なくとも一つのマークされたMBを、その残差データおよび前記の少なくとも二つの利用可能なデコードされた隣接MBに従ってデコードする段階とを含む。
【0015】
あるさらなる側面によれば、画像データをエンコードする装置が、
MBをそれぞれの隣接MBから予測する第一予測手段であって、ここで、該予測は少なくとも一つの開始点MBから出発し、どの一つのMBについての予測方向も、左、右、上および下の方向の予測を含むあらかじめ定義された成長パターンに従って選択される、第一予測手段と、少なくとも一つのMBについて、前記の選択された予測方向に従ったエンコード・コストがある閾値よりも高いことを判別する第一判別手段と、前記判別がされると、前記少なくとも一つのMBを遅延予測のためにマークするマーク付け手段と、遅延予測のためにマークされた前記少なくとも一つのMBを除いて前記画像のMBをエンコードする第一エンコーダであって、前記予測に基づいて残差データを決定する残差決定手段および前記残差データをエンコードする第一エンコード手段を有し、遅延予測のためにマークされている前記少なくとも一つのMBをスキップする、第一エンコーダと、前記少なくとも一つのマークされたMBの少なくとも一つのさらなる隣接MBがエンコードされたことを判別する第二判別手段と、前記少なくとも一つのマークされたMBの少なくとも一つのさらなる隣接MBがエンコードされたあとに、前記少なくとも一つのマークされたMBを予測する第二予測手段と、前記画像のマークされたMBをエンコードする第二エンコード手段であって、結果として得られるエンコード・データは前記マークを含む、第二エンコード手段とを有する。
【0016】
さらに別の側面によれば、エンコードされた画像データをデコードする装置が、
少なくとも一つの開始点MBのデータ、一つまたは複数のさらなるMBの残差データおよび前記さらなるMBのうち少なくとも一つについて、遅延予測のためのマークである指標を抽出する抽出手段と、前記さらなるMBをデコードする第一デコーダとを有し、前記デコードは前記開始点MBから出発して、あらかじめ定義された左、右、上および下の予測方向を含む成長パターンの順番に進み、前記デコーダは、
前記指標から、遅延予測のためにマークされた前記少なくとも一つのMBの予測および再構成が遅延されるべきであることを判別する第一判別手段と、
前記さらなるMBを、前記成長パターンに従って一つまたは複数のすでにデコードされた隣接MBから予測する予測手段および前記残差データを加える再構成手段を有する第一デコーダであって、前記判別手段からの信号に際して、遅延予測のためにマークされた前記少なくとも一つのMBの予測および再構成がスキップされる、第一デコーダと、
遅延予測のためにマークされた前記少なくとも一つのMBについて、前記第一デコーダがさらなる隣接MBをデコードしたことを判別する第二判別手段と、
該判別がされると、前記少なくとも一つのマークされたMBを、その残差データおよび前記の少なくとも二つの利用可能なデコードされた隣接MBに従ってデコードする第二デコーダとを有する。
【0017】
ある側面によれば、エンコードされた画像またはビデオ信号は、MBの遅延されたイントラ予測のための少なくとも一つの指標を含む。
【0018】
本発明の有利な実施形態が従属請求項、以下の記述および図面において開示される。
【0019】
本発明の例示的な実施形態が付属の図面を参照して記述される。
【図面の簡単な説明】
【0020】
図1】イントラ予測においてH.264/AVCにおいて使われるラスタ・スキャン順を示す図である。
図2】フレーム内の例示的な複数のシードMB(開始マクロブロック)の位置を示す図である。
図3】シードMBから出発するイントラ予測のための例示的な成長パターンを示す図である。
図4】複数のシードMBから出発する成長パターンによる画像部分の被覆を示す図である。
図5】推定されたホールドMBの原理を示す図である。
図6】エンコード方法のフローチャートである。
図7】デコード方法のフローチャートである。
図8】エンコード装置の例示的なブロック図である。
図9】デコード装置の例示的なブロック図である。
【発明を実施するための形態】
【0021】
本発明の一つの原理は、イントラ予測を実行するために、一度に一つのMBをエンコードするのではなく、画像(たとえばビデオ・フレーム)の複数のマクロブロックが同時に予測されるということである。符号化された各MBの(4つまでの)隣接MBが、共通のエッジを使って予測できる。高いR-Dコストをもって符号化される必要があるMBの予測を、さらなる隣接エッジが利用可能になるまで自動的に遅延させることを許容するホールドMB機構が導入される。したがって、よりよい圧縮効率が得られる。
【0022】
ある実施形態では、イントラ予測を実行するために一つのシード・マクロブロックを使う代わりに、画像のシード・マクロブロックとして複数のマクロブロックが選ばれる。符号化された各シードMBの四つの隣接MBはその共通エッジを使って予測できる。「シードMB」「開始MB」「シード開始MB」および「シード開始点〔出発点〕」の用語は本稿では等価に使われていることを注意しておく。
【0023】
H.264/AVCでは、各フレームの一つのMB(左上位置のMB)だけがシードMBとして使われる。本発明のある実施形態では、同時にイントラ予測を実行するために複数のシードMBが選ばれる。シードMBはフレーム内にランダムに分布していることができ、あるいは規則によって選択されることができ、あるいはあらかじめ定義されていることができる。より多くのシードMBが選ばれるほど、より高い並列性が導入される。図2では、W×H個のMBをもつ画像において、見本のシードMB設定が一例として示されている。斜線を付けたMBが見本のシードMBである。画像毎のシードMBの数は画像の大きさおよび並列処理のための利用可能な処理能力に依存する。今日一般的な画像の大きさおよび並列プロセッサについては、シードMBの例示的な数は15ないし25である。
【0024】
エンコーダおよびデコーダは同じ予測順を使う必要があるので、成長パターンはあらかじめ定義されている。成長パターンはエンコーダおよびデコーダに暗黙的に知られるのでもよい。たとえば、標準化されているのでもよい。ある実施形態では、成長パターンは、各現在MBについて、次の予測サイクルのために三つの隣接MBが選択されるというものである。
【0025】
ある実施形態では、さまざまな異なる成長パターンがあらかじめ定義され、エンコーダはそれらの成長パターンのうちの一つの特定のものを選択し、エンコードのためにどの成長パターンを使ったかを指示する指標をデコーダに送る。同じことは、シードMBおよびその位置についても当てはまる。
【0026】
図3は、例示的な成長パターンを示している。成長パターンは、どの空間方向に予測が広がるかを定義する。図3に示される成長パターンにおいて、予測はシード・マクロブロックRの全方向(上下左右)に均等に広がる。成長パターンの第一段階が図3のa)に示されている。シードMB Rから出発して、上下左右方向の四つの隣接MB(または隣り合うMB)A、B、C、Dがすべて予測される。並列処理の使用のため、それらのMBのすべてがシードMB Rから同時に予測される。(H.264/AVCにおけるのとは別に)上左予測を含め、方向性の予測が使用される。通例通り、予測された各MBはもとの(「親」または基準)MBと比較され、差分(残差)が決定され、残差がエンコードされる。さらなるMBを予測するための基準のはたらきをするため、それらのMBは次いで再構成される。
【0027】
図3のb)に示される第二段階では、第一世代MB A〜D(もとのMBまたは再構成されたMB)のそれぞれは、第二世代のMBを予測するための基準のはたらきをする。各第二世代MBは、該第二世代MBとエッジを共有する第一世代MB(単数または複数)から予測される。エッジを共有する二つの第一世代MBがあれば、異なる符号化モードが可能である。それら異なるモードの符号化コストが比較され、符号化コストが最小の解決策が使われる。
【0028】
この例示的な成長パターンでは、予測方向は好ましくは放射状である。すなわち、たとえばCの右にあるMB C1はCから予測される。Cの下でDの右にあるMB C2は、Cから、DからまたはCおよびDの両方から予測される。異なるイントラ符号化モードの比較によって、たとえばCからの予測が、Dからの予測より安価である(すなわち、結果として得られるデータがより小さくなる)ことが明らかになる。これは局所的な画像内容に依存する。よって、C2はCから予測され、残差が生成されてエンコードされ、イントラ符号化モード指標がエンコードに含められる。これは、そのMBの正しいデコードを保証する。多の第二世代MB A1、B1、D1、A2、B2、C2、D2はそれぞれの親MBから同じようにして予測される。一例として、二つの隣接する第一世代MB A、Bをもつ第二世代MB A2はその両者を予測のために使ってもよい。これは、空間的に対角線方向の(上左)イントラ予測につながる。こうして、図3のb)に示した第二段階では、前の世代の再構成された各MBが現在世代の二つ以上のMBを予測するために使われる。
【0029】
図3のc)に示される第三段階では、第二世代MB A1、A2、B1、B2、D2が第三世代MB A11、A12、A13、B11、B12、B13を予測するために使われる。図3のc)では、単一のシード開始点Rの成長パターンの一部のみが示されており、いくつかの第二世代MB C1、C2、D1は省略されていることを注意しておく。
【0030】
ここでもまた、各次世代MBは、該MBを予測するために利用可能な現在世代の一つまたは二つの隣接MBをもつ。よって、図3のb)に示された第三段階でも、そして図3のd)のようなその後の段階でも、前世代の再構成された各MBは、現在世代の二つ以上のMBを予測するために使われることができる。画像内容に依存して、前に再構成されたMBが一つのMBのみを予測するために使われる、あるいはMBを予測するために全く使われないことも可能である。
【0031】
記載される方法の一般的な利点は、すべての次世代予測が互いに独立なので、同時に実行されうるということである。同時予測の数は、
an=(4+an-1)×S (1)
に従って増加する。ここで、nは世代、anは世代当たりに予測されるMBの数、Sはシード開始点の数である。表1に例を示す(たとえば、一つのシードMBの場合、4個の第一世代MB、8個の第二世代MB、12個の第三世代MBがある、などである)。
【0032】
【表1】
表1:一つのシードMBについて(中央の列)およびS個のシードMBについて(右の列)の並列予測の数

特定のシード開始点の成長パターンは限られたエリアに制約されないものの、典型的には、原則として、菱形になりうる。成長パターンは、画像の端に到達したとき、あるいは別の成長パターンに出会ったときに終わる。画像内容に依存して、形の逸脱が可能である。これは、エンコード・アルゴリズムが柔軟であり、良好な符号化解決策のための予測方向を見出すことを許容する。複数のシード開始点が使われるとき、それらのシード開始点は、異なるシード開始点の菱形様の形が互いに補完するよう選択されうる。一例が図4に示されている。ここでは、1と記されている6個のMBがシードMBであり、それぞれの隣接MBは図のような順序で決定される。たとえば、第一段階では、第一世代予測のための隣接MB 2、……、5が(好ましくは同時に)決定され、上述したように(好ましくは同時に)予測される。第二段階では、第二世代予測のための新たな隣接MB 6、……、13が(好ましくは同時に)決定され、上述したように(好ましくは同時に)予測される。同時プロセスの数が現在利用可能な処理能力にとって大きくなりすぎる場合、いつでも同時処理を複数の逐次プロセスに分割することが可能である。たとえば、1000の同時プロセスの代わりに、2×500の同時プロセスのシーケンスを実行することが可能である、などである。
【0033】
記載される成長パターンの一つの利点は、一般に、単独MBのイントラ予測モードを除いて、パターンが拡散するために追加的な方向情報が必要されないということである。しかしながら、時に、拡散をわずかに修正し、何らかの追加的なガイド情報を提供することが有利であることが見出されている。
【0034】
本発明のある側面によれば、以下に述べるように、ホールドMBを使うことによって、拡散プロセスに追加的な自由度を加えることができる。(他のMBに比べて)比較的高い、たとえばある閾値より大きいR-DコストをもつMBに遭遇したとき、そのMBは処理を保留される。そのようなMBはホールドMBと呼ばれる。それらのMBの予測は、少なくとも一つのさらなる隣接MBが予測のために利用可能になるまで先送り〔遅延〕される。そのようなホールドMBをマークするために指標が使われる。ある実施形態では、各ホールドMBについてフラグがエンコードされ、そのようなホールドMBの予測は先送りされる。アルゴリズムは、他のMBについて上述したように通常通り進行する。デコーダはエンコーダに従う必要があるため、予測先送りマークもエンコーダ出力信号中にエンコードされる。ホールドMBに隣接する一つまたは複数の追加的なMBがエンコードされたとき(しがたって、デコードの際に、予測のために利用可能になるとき)、そのホールドMBは利用可能な隣接MBから予測される。通例、これはよりよい、より精密な予測につながる。MBはエンコードの順番にデコードされることを注意しておく。よって、ホールドMBのホールドを解決し、それを予測する時は、エンコーダおよびデコーダにおいて独立して検出できる。
【0035】
ある実施形態では、ホールドMBとマークされたMBは、少なくとも一つの追加的な隣接MBが利用可能であるときに、符号化コストには関わりなく予測される。通例、その追加的な隣接MBは予測のために使われる。
【0036】
別の実施形態では、符号化コストがまだ前記閾値より高く、そのホールドMBの別の隣接MBがまだエンコードされていない場合には、予測はさらに先送りされてもよい。この場合、予測が行われるのは、前記閾値未満の符号化コストでの予測を可能にする十分な数の隣接MBが利用可能であるときに、あるいは(最も遅くても)そのホールドMBのすべての隣接MBがエンコードされたときに、である。
【0037】
ある実施形態では、前記少なくとも一つの追加的な隣接MBは、ホールドMBを予測するために常に使われる。
【0038】
ある実施形態では、種々のイントラ符号化モードの予測品質および符号化コストが、新たに、それぞれの新しい追加的な隣接MBに関して比較され、R-D最適化を使って最良のイントラ符号化モードが決定される。
【0039】
デコーダはエンコーダと同じモードを使う必要がある。上述したモードのうちの異なるモードが使われることができる場合、実際に使われたモードについての個別のモード指標がエンコーダにおいてエンコードされ、デコーダにおいて検出される。これはたとえば、ヘッダ情報、管理情報などとしてである。
【0040】
ホールドMBについてのR-Dコストの閾値は、たとえば以下の方法の一つにおいて導出できる。ある実施形態では、初期値が全シードMBの平均R-Dコストに設定される。
【0041】
ある実施形態では、前記閾値は固定値であり、その固定値は、フレームをエンコードする前に、経験的データ、統計的解析、入力フレーム毎のシードMBの事前解析などから得られる履歴情報からあらかじめ定義されるか導出されることができる。
【0042】
別の実施形態では、閾値はMBレベル、フレーム・レベルまたはGOPレベルで適応的である。MBレベルの例では、MBの予測を先送りするためのR-Dコストの現在閾値(current threshold)thrcur
thrcur=w1×thrhis+w2×rd_costlast (ここでw1+w2=1) (2)
として計算できる。ここで、thrcurは現在MBについてのR-Dコスト閾値、thrhisは最後に符号化されたMBについてのR-Dコスト閾値、rd_costlastは最後のMBを符号化するためにR-Dコストである。w1およびw2は重み係数であり、これらはカスタマイズによってまたはプリセットを使って定義できる。例としては、w1=0.5/w2=0.5、w1=0.3/w2=0.7またはw1=0.9/w2=0.1である。閾値計算および使用は、デコードについては行う必要はない。
【0043】
図5に示されるようなある実施形態では、MBについての予測先送りを決定する進んだ方法が使われる。再構成されている隣接エッジが一つだけ利用可能である現在の未符号化MBについて、そのMBがホールドMBとしてマークされるか否かを、そのMBを実際にエンコードすることなく推定することができる。ホールドMBのその親MB(またはルート)への方向を示す変数「hold_direction〔ホールド方向〕」が導入される。現在MBについて、隣接MBがホールドMBであるか否かが検査される。隣接MBがホールドMBであり、現在のMBのそのルートへの方向が、その隣接するホールドMBの一つのホールド方向と同じであれば、現在のMBはホールドMBとしてマークされる。図5では、以前にエンコードされたマクロブロックSAが二つのマクロブロックAおよびSBのルートである。マクロブロックSBはマクロブロックBのルートである。マクロブロックAはホールドMBとして設定されており、ホールド方向は左である。すなわち、マクロブロックAだけからのその予測は、高価すぎると判定され、よって先送りにされたのである。マクロブロックBは、すでにホールドMBとしてマークされたその隣接マクロブロックAと同じ予測方向をもつので、ホールドMBであると推定される。
【0044】
ある実施形態では、マクロブロックBは、マクロブロックBからそのルート・マクロブロックSBへの方向が隣接ホールドMB Aのホールド方向と同じであるというだけの理由で、追加的な計算なしでホールドMBであると推定される。この実施形態の利点は、ホールドMBが簡単に決定でき、予測の数が減らされ、追加的な計算動作またはモードが要求されないということである。別のエッジからのマクロブロックMBRが利用可能なときに、ホールドMBが予測され、ホールド条件が解決されてもよい。図5では、そのような解決するマクロブロックMBRは右のエッジから来るように示されているが、この場合、マクロブロックBの下のエッジから、あるいは上または右のエッジから来てもよい。同じまたは別の成長パターンから来てもよい。
【0045】
もう一つの実施形態では、ホールドMBを決定するための上記の初期プロセスはマクロブロックBについて再び実行される。ある実施形態では、異なる閾値thrcurおよび/または修正された重みパラメータw1、w2が使用される。ホールド条件の解決が二つ以上のホールドMBが予測されることにつながるので、単独のホールドMBについてよりも高い符号化コストが受け容れ可能であってもよい。この実施形態の利点は、ホールド条件は比較的すぐ解決され、よってホールドMBはより早期に予測され、符号化されるということである。これは、同時に存在するホールドMBの量を減らす。
【0046】
いくつかのMBがホールドMBであると推定するという概念は、先のエンコード結果に基づいて望ましくない予測元からの悪い予測結果を防止することである。ホールドMBについてのさらなる予測元を待つことが、よりよい予測性能に(よって改善されたエンコード性能に)つながる。
【0047】
一般に、符号化されていないホールドMBのリストを維持することは必要でない。ある実施形態では、各現在MBの各隣接MBについて、すでにエンコードされているか否かが検査され、遅くとも隣接MBがエンコードされておらずその隣接MBの四つの隣接MBすべてが利用可能であるときにはその隣接MBはエンコードされる。これは、符号化コストに関わりなくであってもよいし、あるいはその隣接MBの隣接MBの一つ、一部または全部を使うモードのうちから最良の符号化モードを決定することによってでもよい。
【0048】
ある実施形態では、エンコード・プロセスはツー・パスの手順である。第一のパスは各MBの予測、符号化および再構成を実行する。MBが予測から保留される場合、そのMBはのちに予測される。第二のパスは、フレームの全MBに対してエントロピー符号化を実行する。ホールドMBとしてマークされているMBに遭遇すると、ビットストリーム中に指標flag_hold_MB〔フラグ・ホールドMB〕が挿入される。これは、デコーダに、このMBへのエントロピー・デコードを実行するがまだ予測はしないよう告げる。このMBの予測は、より多くの隣接エッジが利用可能になったときに行われる。そのことは、デコーダによって自律的に監督され、エンコーダとの同期的な処理を保証する。ある実施形態では、エンコーダはビットストリームを固定順(あらかじめ定義された成長パターン順)で出力する。デコーダはそれと同じ順序に従う。ホールドMBについては、デコーダはエントロピー・デコードのみを実行し、このMBについてのデコード・プロセスを完了するためにより多くのエッジを待つ。したがって、ビットストリーム中のMB順は、マクロブロック型(ホールドMBか非ホールドMBか)によらず固定された順序である。
【0049】
図6は、本発明のエンコード側面の一つの実施形態のフローチャートを示している。ここで、画像データをエンコードする方法が、MBをそれぞれの隣接MBから予測する段階(p)であって、該予測は少なくとも一つの開始点MBから出発し、どの一つのMBについての予測方向もあらかじめ定義された成長パターンに従って左、右、上または下として選択される、段階と、少なくとも一つのMBについて、(前記予測方向を使うときの)符号化コストがある閾値よりも高いことを判別する段階(dt)と、前記判別がされると、前記少なくとも一つのMBを遅延予測のためにマークして(m)、前記少なくとも一つのMBのエンコードをスキップする段階とを有する。さらなる段階は、遅延予測のためにマークされた前記少なくとも一つのMBを除いて前記画像のMBをエンコードする段階(e)である。エンコードする段階(e)は、前記予測に基づいて残差データを決定するステップ(d)および前記残差データをエンコードするステップ(e)を含む。前記少なくとも一つのマークされたMBの少なくとも一つのさらなる隣接MBがエンコードされたあとに、前記少なくとも一つのマークされたMBを予測する段階(p′)と、前記画像のマークされたMBをエンコードする段階(e)であって、結果として得られるエンコード・データは前記マークを含む、段階とを含む。初期段階(図示せず)において、隣接MBが決定される。予測する段階pおよびp′は上述したように同様だが同一ではない。ただし、簡単のために一つのブロックpとしてのみ示されている。
【0050】
本エンコード方法はさらに、現在MBについて、隣接MBが遅延予測のためにマークされたことを判別する段階(dt)を含む。ある実施形態では、前記段階は(少なくとも一つのMBについて符号化コストがある閾値より高いことを判別する前記段階より前に)隣接MBが現在MBと同じ予測方向を使うことを判別(dt)し、前記判別がされると、現在MBも遅延予測のためにマークする段階を含む。
【0051】
ある実施形態では、本エンコード方法はさらに、上述したように、現在画像に従って前記符号化コスト閾値を計算する段階(c)を含む(式(2)参照)。
【0052】
ある実施形態では、ビデオまたは画像データをエンコードする方法は:
(a)複数のあらかじめ定義された開始点MBを現在MBとして選択し、すべての開始点MBについて同時に以下の段階、すなわち
(b1)イントラ符号化モードを決定し、イントラ符号化を実行し、各開始点MBを再構成する段階と;
(b2)第一のループを、以下の段階、すなわち、
(c1)あらかじめ定義された成長パターンに従って、同時に各現在MBの少なくとも二つの隣接MBを選択する段階であって、各隣接MBは現在MBの上、下、左または右の方向にある、段階と;
(c2)現在MBを解放し、選択されたMBを現在MBとして設定し;現在MBのうちの複数について、同時に以下の段階、すなわち
(d1)現在MBについて、再構成された隣接MBに基づいて、複数の異なるイントラ符号化モードに従った符号化コストを推定し;
(d2)少なくとも一つのエンコード・モードの推定された符号化コストが閾値未満であるかどうかを判定し;
(d3)もしそうであれば(すなわち、少なくとも一つの推定された符号化コストが閾値未満であれば)、現在MBについてのイントラ符号化モードを選択し、該MBを選択されたエンコード・モードを使ってエンコードしてエンコードされたMBを再構成し;
(d4)もしそうでなければ(すなわち、どの推定された符号化コストも閾値未満でなければ)、現在MBについて予測延期指標(flag_hold_mb)を記憶し、現在MBについての第一のループを打ち切ってリスタートし;
(d5)現在MBの少なくとも一つの隣接MBについて、予測延期の指標(flag_hold_mb)が記憶されたかどうかを判定し、もしそうであれば、前記隣接MBについてのイントラ符号化モードを決定し、前記隣接MBを決定されたモードに従って符号化することによって、以前の予測延期を解決し;
(d6)少なくとも一つの現在MBが、エンコードされておらず予測延期指標(flag_hold_mb)が記憶されていない少なくとも一つの隣接MBを有する場合、第一のループを打ち切ってリスタートし;そうでない場合には第一のループを終了する段階;
を実行する段階と、
を繰り返すことによって実行する段階と、
を実行し、
(e)第一のループを終了後、各MBについてイントラ符号化されたMBデータのエントロピー・エンコードを実行し、予測延期指標(flag_hold_mb)がデコーダにおける使用のためにエンコードされたデータに含められる、
ことを含む。
【0053】
図7は、本発明のデコード側面の一つの実施形態のフローチャートを示している。ここで、エンコードされた画像データをデコードする方法が、
少なくとも一つの開始点MBについてのデータを抽出する段階と(e);
一つまたは複数のさらなるMBについて残差データを抽出する段階と(e);
前記さらなるMBのうち少なくとも一つについて、遅延予測のためのマークのはたらきをする指標を抽出する段階(e)と;
前記開始点MBおよびさらなるMBをデコードする段階(dec)とを有し、前記デコードは前記開始点MBから出発して(dec)、左、右、上および下の予測方向を含むあらかじめ定義された成長パターンの順番に進み、前記デコードは、前記さらなるMBを前記成長パターンに従って一つまたは複数のすでにデコードされた隣接MBから予測して(p)前記残差データを加える(r)ステップを含み、遅延予測のためにマークされた前記少なくとも一つのMBの予測はスキップされる(というより、実際には先送りされる)、段階と;
遅延予測のためにマークされた前記少なくとも一つのMBについて、さらなる隣接MBがデコードされたことを判別し(dt)、該判別がされると、前記少なくとも一つのマークされたMBを、その残差データおよび前記の少なくとも二つの利用可能なデコードされた隣接MBに従ってデコードする(p、r)段階とを含む。
【0054】
エンコード方法またはデコード方法のある実施形態では、前記少なくとも一つのシードMBは画像のエッジ上にはない。ある実施形態では、複数のシードMBが画像上に均等に、すなわち互いから最大距離をもって分布される。
【0055】
図8は、本発明のエンコード側面のある実施形態を示す。ここで、画像データをエンコードする装置(ENC)が、MBをそれぞれの隣接MBから予測する第一予測手段Pであって、ここで、該予測は少なくとも一つの開始点MBから出発し、どの一つのMBについての予測方向も、左、右、上および下の方向の予測を含むあらかじめ定義された成長パターンに従って選択される、第一予測手段と、
少なくとも一つのMBについて、前記の選択された予測方向に従ったエンコード・コストがある閾値よりも高いことを判別する第一判別手段DTと、
前記判別がされると、前記少なくとも一つのMBを遅延予測のためにマークするマーク付け手段Mと、
遅延予測のためにマークされた前記少なくとも一つのMBを除いて前記画像のMBをエンコードする第一エンコーダEであって、前記予測に基づいて残差データを決定する残差決定手段DTr,eおよび前記残差データをエンコードする残差エンコード手段Eを有し、遅延予測のためにマークされている前記少なくとも一つのMBをスキップする、第一エンコーダと、
前記少なくとも一つのマークされたMBの少なくとも一つのさらなる隣接MBがエンコードされたことを判別する第二判別手段DTと、
前記少なくとも一つのマークされたMBの少なくとも一つのさらなる隣接MBがエンコードされたあとに、前記少なくとも一つのマークされたMBを予測する第二予測手段Pと、
前記画像のマークされたMBをエンコードする第二エンコード手段Eであって、結果として得られるエンコード・データは前記マークを含む、第二エンコード手段とを有する。
【0056】
ある実施形態では、残差決定手段DTr,eにおいて実行される残差決定は、予測されたMBともとのMBとの間の比較を含む。ある実施形態では、第二判別手段DTが、現在エンコードされているMBについて、隣接MBがホールドMBとしてマークされたことを判別し、制御ユニットCtrlに信号を送る。制御ユニットCtrlは、メモリMEMからホールドMBのデータを取得してそれを第二予測手段Pおよび第二エンコード手段Eに与えることを実施する。それによりホールドMBが予測され、符号化されることができる。第二予測手段Pおよび第二のエンコード手段Eは、ここでは別個に描かれているが、第一予測手段Pおよび第一のエンコード手段Eと同一であってもよいことを注意しておく。
【0057】
ある実施形態では、エンコード装置はさらに、現在MBについて、同じ予測方向を使う隣接MBが遅延予測のためにマークされたことを判別する第三判別手段DTと、前記判別がされると現在MBを遅延予測のためにマークする第二のマーク付け手段Mとを有する。
【0058】
図9は、本発明のデコード側面のある実施形態を示している。ここで、エンコードされた画像データをデコードする装置が、
少なくとも一つの開始点MBのデータ、一つまたは複数のさらなるMBの残差データおよび前記さらなるMBのうち少なくとも一つについて、遅延予測のためのマークである指標を抽出する抽出手段E,E,Eと、
前記MBをデコードする第一デコーダDECとを有し、前記デコードは前記開始点MBから出発してD、左、右、上および下の予測方向を含むあらかじめ定義された成長パターンの順番に前記さらなるMBをデコードすることを進め、前記第一デコーダは、
前記指標から、前記少なくとも一つのMBの予測および再構成が遅延されるべきであることを判別する第一判別手段DTと、前記さらなるMBを、前記成長パターンに従って一つまたは複数のすでにデコードされた隣接MBから予測する予測手段Pおよび前記残差データを加える再構成手段Rを有し、前記第一判別手段DTからの信号SKに際して、遅延予測のためにマークされた前記少なくとも一つのMBの予測および再構成がスキップされる、第一デコーダと、
遅延予測のためにマークされた前記少なくとも一つのMBについて、前記第一デコーダにおいてさらなる隣接MBがデコードされたことを判別する第二判別手段DTr,dと、
該判別がされると、前記少なくとも一つのマークされたMBを、その残差データおよび少なくとも二つの利用可能なデコードされた隣接MBに従ってデコードする第二デコーダDECとを有する。
当業者には明白であるように、抽出手段E,E,Eは単一の手段であってもよく、あるいは二つまたは三つの別個の手段であってもよい。第二デコーダDECはホールドMBをデコードするために予測ユニットPおよび再構成ユニットRを有していてもよい。しかしながら、これらは上述した予測手段Pおよび再構成手段Rと同一であってもよい。
【0059】
ある実施形態では、エンコード装置は前記エンコードされた画像データをエントロピー・エンコードするエントロピー符号化器を有する。
【0060】
ある実施形態では、デコード装置は画像デコードの前に前記エントロピー・エンコードされた画像データをエントロピー・デコードするエントロピー・デコーダを有する。デコーダはメモリMEMからそのデータを受け取り、メモリMEMにそのデータを与えてもよい。
【0061】
たとえば特にMPEG符号化またはH.264/AVCに使用可能なある実施形態では、マクロブロックがホールドMBとしてマークされているか否かを示すために、単一ビットのインジケータがmacroblock_layer〔マクロブロック層〕シンタックス・テーブル中に挿入される。
【0062】
【表2】
表2:H.264/AVCについてのシンタックス例
マクロブロック層シンタックスの一例が表2に示されている。イントラ符号化されたフレームにおいて、シンタックス要素flag_hold_mb、たとえばフラグが、現在MBがホールドMBとしてマークされているか(flag_hold_mb=1)いないか(flag_hold_mb=0)を示す。
【0063】
本発明は純粋に例として記述してきたのであり、本発明の範囲から外れることなく細部の修正ができることは理解されるであろう。
【0064】
好ましい実施形態に適用された本発明の基本的な新しい特徴について図示し、記述し、指摘してきたが、記述された装置および方法における、開示されたデバイスの形および詳細やその動作におけるさまざまな省略および置換および変更が、本発明の精神から外れることなく当業者によってなしうることは理解されるであろう。本発明はマクロブロックに関して開示されてきたが、当業者は、本稿に記載される方法および装置が他のブロック・サイズに適用されうることを認識するであろう。実質的に同じ仕方で実質的に同じ機能を実行して同じ結果を達成する要素のあらゆる組み合わせが本発明の範囲内であることが明示的に意図される。記載された実施形態から別のものへの要素の置換も完全に意図され、考えられている。
【0065】
たとえば、エンコード手順における判別段階は、隣接MBの状態を判別するものと考えてもよい。隣接MBがホールドMBとしてマークされていれば、ホールド条件はある実施形態ではすぐ解除されてもよく、それにより、現在MBおよび隣接MBの両方がエンコードされる。別の実施形態では、ホールド条件は上記した条件のもとに現在MBについて推定されてもよく、それにより、現在MBおよび隣接MBが両方ともホールドMBとなる。後者の場合、推定は符号化コストに依存する条件付きであってもよく、符号化コスト閾値は軽減されてもよい。
【0066】
本記載ならびに(適切な場合には)請求項および図面において開示される各特徴は、独立して、あるいは任意の適切な組み合わせにおいて提供されてもよい。諸特徴は、適宜、ハードウェア、ソフトウェアまたは両者の組み合わせにおいて実装されうる。接続は、適用可能な場合には、無線接続または有線の、必ずしも直接や専用でない接続として実装されてもよい。
【0067】
請求項に現れる参照符号は単に例示のためであって、特許請求の範囲に対して限定する効果をもつものではない。
いくつかの付記を記載しておく。
〔付記1〕
画像データをエンコードする方法であって、
・マクロブロックをそれぞれの隣接マクロブロックから予測する段階(p)であって、複数のマクロブロックが同時に予測され、該予測は少なくとも一つの開始点マクロブロックから出発し、どの一つのマクロブロックについての予測方向も、予測がどの空間方向に広がるかを定義するあらかじめ定義された成長パターンに従って左、右、上または下として選択される、段階と;
・少なくとも一つのマクロブロックについて、選択された予測方向に従った符号化コストがある閾値よりも高いことを判別する段階(dt)と;
・前記判別がされると、前記少なくとも一つのマクロブロックを遅延予測のためにマークして(m)、前記少なくとも一つのマクロブロックのエンコードをスキップする段階と;
・遅延予測のためにマークされた前記少なくとも一つのマクロブロックを除いて前記画像のマクロブロックをエンコードする段階(e)であって、前記予測に基づいて残差データを決定するステップ(d)および前記残差データをエンコードするステップ(e)を含む、段階と;
・前記少なくとも一つのマークされたマクロブロックの少なくとも一つのさらなる隣接マクロブロックがエンコードされたことを判別する段階と;
・前記少なくとも一つのマークされたマクロブロックの少なくとも一つのさらなる隣接マクロブロックがエンコードされたあとに、前記少なくとも一つのマークされたマクロブロックを予測する段階(p)と;
・前記画像のマークされたマクロブロックをエンコードする段階(e)であって、結果として得られるエンコード・データは前記マークを含む、段階とを含む、
方法。
〔付記2〕
付記1記載の方法であって、現在マクロブロックについて隣接マクロブロックがエンコードされたことを判別する前記段階の前に、前記隣接マクロブロックが遅延予測のためにマークされたことと、現在マクロブロックが前記隣接マクロブロックと同じ予測方向を使うこととを判別し、前記判別がされると、現在マクロブロックも遅延予測のためにマークする段階を含む、方法。
〔付記3〕
付記1または2記載の方法であって、現在画像に従って前記の符号化コスト閾値を計算する段階(c)をさらに含み、前記符号化コスト閾値がマクロブロック・レベルで導出される場合、前記符号化閾値は前の符号化コスト閾値と、前のマクロブロックのレート‐歪みコストから計算される、方法。
〔付記4〕
エンコードされた画像データをデコードする方法であって、
・少なくとも一つの開始点マクロブロックについてのデータを抽出する段階と(e);
・一つまたは複数のさらなるマクロブロックについて残差データを抽出する段階と(e);
・前記さらなるマクロブロックのうち少なくとも一つについて、遅延予測のためのマークである指標を抽出する段階(e)と;
・前記開始点マクロブロックおよびさらなるマクロブロックをデコードする段階(dec)であって、前記デコードは前記開始点マクロブロックから出発して、左、右、上および下の予測方向を含むあらかじめ定義された成長パターンの順序で進み、前記成長パターンは予測がどの空間方向に広がるかを定義するものであり、前記デコードは、複数の前記さらなるマクロブロックを前記成長パターンに従って一つまたは複数のすでにデコードされた隣接マクロブロックから同時に予測して(p)前記残差データを加える(r)ステップを含み、遅延予測のためにマークされた前記少なくとも一つのマクロブロックの予測はスキップされる、段階と;
・遅延予測のためにマークされた前記少なくとも一つのマクロブロックについて、さらなる隣接マクロブロックがデコードされたことを判別する段階と;
・該判別がされると、前記少なくとも一つのマークされたマクロブロックを、その残差データおよび前記の少なくとも二つの利用可能なデコードされた隣接マクロブロックに従ってデコードする(p、r)段階とを含む、
方法。
〔付記5〕
付記1ないし4のうちいずれか一項記載の方法であって、前記少なくとも一つの開始点マクロブロックは前記画像のエッジ上にはない、方法。
〔付記6〕
付記1ないし5のうちいずれか一項記載の方法であって、前記エンコードされた画像データをエントロピー・エンコードする段階と、前記画像デコードの前に前記エントロピー・エンコードされた画像データをエントロピー・デコードする段階とをさらに含む、方法。
〔付記7〕
付記1ないし6のうちいずれか一項記載の方法であって、エンコードまたはデコードが同時に二つ以上の開始点マクロブロックから開始される、方法。
〔付記8〕
付記1ないし6のうちいずれか一項記載の方法であって、前にエンコードまたはデコードされたマクロブロックに対して上、下、左または右に隣接する少なくとも二つのマクロブロックの前記予測が同時に実行される、方法。
〔付記9〕
付記1ないし6のうちいずれか一項記載の方法であって、前記あらかじめ定義された成長パターンが前記予測する段階のための次のマクロブロックを選択するために使われ、前記あらかじめ定義された成長パターンは、現在マクロブロックについて、上、下、左および右方向にある三つの隣接するマクロブロックを選択することを含む、方法。
〔付記10〕
画像データをエンコードする装置(ENC)であって、
・同時に複数のマクロブロックをそれぞれの隣接マクロブロックから予測する第一予測手段(P)であって、ここで、該予測は少なくとも一つの開始点マクロブロックから出発し、どの一つのマクロブロックについての予測方向も、左、右、上および下の方向の予測を含むあらかじめ定義された成長パターンに従って選択され、前記成長パターンは予測がどの空間方向に広がるかを定義するものである、第一予測手段と;
・少なくとも一つのマクロブロックについて、前記の選択された予測方向に従ったエンコード・コストがある閾値よりも高いことを判別する第一判別手段(DT)と;
・前記判別がされると、前記少なくとも一つのマクロブロックを遅延予測のためにマークするマーク付け手段(M)と;
・遅延予測のためにマークされた前記少なくとも一つのマクロブロックを除いて前記画像のマクロブロックをエンコードする第一エンコーダ(E)であって、前記予測に基づいて残差データを決定する残差決定手段(DTr,e)および前記残差データをエンコードする残差エンコード手段(E)を有し、遅延予測のためにマークされている前記少なくとも一つのマクロブロックをスキップする、第一エンコーダと;
・前記少なくとも一つのマークされたマクロブロックの少なくとも一つのさらなる隣接マクロブロックがエンコードされたことを判別する第二判別手段(DT)と;
・前記少なくとも一つのマークされたマクロブロックの少なくとも一つのさらなる隣接マクロブロックがエンコードされたあとに、前記少なくとも一つのマークされたマクロブロックを予測する第二予測手段(P)と;
・前記画像のマークされたマクロブロックをエンコードする第二エンコード手段(E)であって、結果として得られるエンコード・データは前記マークを含む、第二エンコード手段とを有する、
装置。
〔付記11〕
付記10記載の装置であって、現在マクロブロックについて、同じ予測方向を使う隣接マクロブロックが遅延予測のためにマークされたことを判別する第三判別手段(DT)と、前記判別がされると前記現在マクロブロックを遅延予測のためにマークする第二のマーク付け手段(M)とを有する、装置。
〔付記12〕
前記エンコードされた画像データをエントロピー・エンコードするエントロピー符号化器をさらに有する、付記10または11記載の装置。
〔付記13〕
エンコードされた画像データをデコードする装置であって、
・少なくとも一つの開始点マクロブロックのデータ、一つまたは複数のさらなるマクロブロックの残差データおよび前記さらなるマクロブロックのうち少なくとも一つについて遅延予測のためのマークである指標を抽出する抽出手段(E,E,E)と;
・前記マクロブロックをデコードする第一デコーダ(DEC)とを有し、デコードは前記開始点マクロブロックから出発して、左、右、上および下の方向の予測を含むあらかじめ定義された成長パターンの順序で同時に複数の前記さらなるマクロブロックをデコードすることを進め、前記成長パターンは予測がどの空間方向に広がるかを定義するものであり、前記デコーダは、
・前記指標から、遅延予測のためにマークされている前記少なくとも一つのマクロブロックの予測および再構成が遅延されるべきであることを判別する第一判別手段(DT)と、前記さらなるマクロブロックを、前記成長パターンに従って一つまたは複数のすでにデコードされた隣接マクロブロックから予測する予測手段(P)と、前記残差データを加える再構成手段(R)とを有し、前記第一判別手段(DT)からの信号(SK)に基づいて、遅延予測のためにマークされた前記少なくとも一つのマクロブロックの予測および再構成がスキップされ;
・遅延予測のためにマークされた前記少なくとも一つのマクロブロックについて、前記第一デコーダがさらなる隣接マクロブロックをデコードしたことを判別する第二判別手段(DT)と;
・該判別がされると、前記少なくとも一つのマークされたマクロブロックを、その残差データおよび少なくとも二つの利用可能なデコードされた隣接マクロブロックに従ってデコードする第二デコーダ(DEC、P、R)とを有する、
装置。
〔付記14〕
前記画像デコードの前に前記エントロピー・エンコードされた画像データをエントロピー・デコードするエントロピー・デコーダをさらに有する、付記13記載の装置。
〔付記15〕
エンコードまたはデコードが同時に二つ以上の開始点マクロブロックから開始される、付記10ないし14のうちいずれか一項記載の装置。
〔付記16〕
付記10ないし15のうちいずれか一項記載の装置であって、前にエンコードまたはデコードされたマクロブロックに対して上、下、左または右に隣接する少なくとも二つのマクロブロックの前記予測が同時に実行される、装置。
〔付記17〕
付記10ないし15のうちいずれか一項記載の装置であって、前記あらかじめ定義された成長パターンが前記予測のための次のマクロブロックを選択するために使われ、前記あらかじめ定義された成長パターンは、現在マクロブロックについて、上、下、左および右方向にある三つの隣接するマクロブロックを選択することを含む、装置。
【符号の説明】
【0068】
p MBをそれぞれの隣接MBから予測する(predict)
dt 少なくとも一つのMBについて符号化コストが閾値よりも高いことを判別(determine)
m 前記少なくとも一つのMBを遅延予測のためにマーク(mark)
e マークされた前記少なくとも一つのMBを除いてMBをエンコード(encode)
前記予測に基づいて残差(residual)データを決定(determine)
残差データをエンコード
p′ マークされたMBを予測
e マークされたMBをエンコード
符号化コスト閾値(coding cost threshold)を計算(calculate)

少なくとも一つの開始点MB(starting point MB)についてのデータを抽出(extract)
一つまたは複数のさらなるMB(further MB)について残差データを抽出
遅延予測のためのマークのはたらきをする指標(indication)を抽出
dec 開始点MBおよびさらなるMBをデコード
dec 開始点MB(starting point MB)から出発
さらなるMB(further MB)を成長パターンに従って一つまたは複数のすでにデコードされた隣接MBから予測(predict)
残差データを加える
dt 遅延予測のためにマークされた前記少なくとも一つのMBについて、さらなる隣接MBがデコードされた(decoded)ことを判別(determine)
、r 少なくとも一つのマークされたMBを、その残差データおよび少なくとも二つの利用可能なデコードされた隣接MBに従ってデコード

ENC 画像データをエンコードする装置
MBをそれぞれの隣接MBから予測する(predict)第一予測手段
DT 少なくとも一つのMBについて、選択された予測方向に従ったエンコード・コストが閾値よりも高いことを判別する(determine)第一判別手段
M 少なくとも一つのMBを遅延予測のためにマークするマーク付け手段
遅延予測のためにマークされた少なくとも一つのMBを除いてMBをエンコードする第一エンコーダ
DTr,e 予測に基づいて残差データを決定する(determine)残差決定手段
残差(residual)データをエンコードする(encode)残差エンコード手段
DT 少なくとも一つのマークされたMBの少なくとも一つのさらなる隣接MBがエンコードされたことを判別する第二判別手段
少なくとも一つのマークされたMBの少なくとも一つのさらなる隣接MBがエンコードされたあとに、前記少なくとも一つのマークされたMBを予測する第二予測手段
マークされたMBをエンコードする第二エンコード手段
Ctrl 制御ユニット
MEM メモリ
DT 同じ予測方向を使う隣接MBが遅延予測のためにマークされたことを判別する第三判別手段
現在MBを遅延予測のためにマークする第二のマーク付け手段

,E,E 少なくとも一つの開始点MBのデータ、一つまたは複数のさらなるMBの残差データおよび前記さらなるMBのうち少なくとも一つについて、遅延予測のためのマークである指標を抽出する抽出手段
DEC MBをデコードする第一デコーダ
開始点MBから出発
DT 少なくとも一つのMBの予測および再構成が遅延される(deferred)べきであることを判別する第一判別手段
さらなるMBを、成長パターンに従って一つまたは複数のすでにデコードされた隣接MBから予測する予測手段
残差データを加える再構成手段
SK 信号
DTr,d さらなる隣接MBがデコードされたことを判別する第二判別手段
DEC マークされたMBを、その残差データおよび少なくとも二つの利用可能なデコードされた隣接MBに従ってデコードする第二デコーダ
予測ユニット
再構成ユニット
図1
図2
図3
図4
図5
図6
図7
図8
図9