IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ビー1、インスティテュート、オブ、イメージ、テクノロジー、インコーポレイテッドの特許一覧

<>
  • 特開-画像符号化/復号化方法及び装置 図1
  • 特開-画像符号化/復号化方法及び装置 図2
  • 特開-画像符号化/復号化方法及び装置 図3
  • 特開-画像符号化/復号化方法及び装置 図4
  • 特開-画像符号化/復号化方法及び装置 図5
  • 特開-画像符号化/復号化方法及び装置 図6
  • 特開-画像符号化/復号化方法及び装置 図7
  • 特開-画像符号化/復号化方法及び装置 図8
  • 特開-画像符号化/復号化方法及び装置 図9
  • 特開-画像符号化/復号化方法及び装置 図10
  • 特開-画像符号化/復号化方法及び装置 図11
  • 特開-画像符号化/復号化方法及び装置 図12
  • 特開-画像符号化/復号化方法及び装置 図13
  • 特開-画像符号化/復号化方法及び装置 図14
  • 特開-画像符号化/復号化方法及び装置 図15
  • 特開-画像符号化/復号化方法及び装置 図16
  • 特開-画像符号化/復号化方法及び装置 図17
  • 特開-画像符号化/復号化方法及び装置 図18
  • 特開-画像符号化/復号化方法及び装置 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024059861
(43)【公開日】2024-05-01
(54)【発明の名称】画像符号化/復号化方法及び装置
(51)【国際特許分類】
   H04N 19/52 20140101AFI20240423BHJP
   H04N 19/70 20140101ALI20240423BHJP
【FI】
H04N19/52
H04N19/70
【審査請求】有
【請求項の数】3
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024027815
(22)【出願日】2024-02-27
(62)【分割の表示】P 2021516609の分割
【原出願日】2019-09-24
(31)【優先権主張番号】10-2018-0114536
(32)【優先日】2018-09-24
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2018-0114540
(32)【優先日】2018-09-24
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2018-0114539
(32)【優先日】2018-09-24
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】521096049
【氏名又は名称】ビー1、インスティテュート、オブ、イメージ、テクノロジー、インコーポレイテッド
【氏名又は名称原語表記】B1 INSTITUTE OF IMAGE TECHNOLOGY, INC.
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【弁理士】
【氏名又は名称】赤岡 明
(74)【代理人】
【識別番号】100217940
【弁理士】
【氏名又は名称】三並 大悟
(72)【発明者】
【氏名】キム、ギベク
(57)【要約】      (修正有)
【課題】調効率よく予測動きベクトルを取得することにより、符号化性能を向上させる画像符号化/復号化装置を提供する。
【解決手段】画像符号化/復号化方法及び装置は、対象ブロックの動き情報候補リストを構成するステップと、動き情報候補リストから予測候補インデックスを選定するステップと、動きベクトル調整のためのオフセットを誘導するステップと、オフセットに基づいて復元された予測動きベクトルを介して対象ブロックの動きベクトルを復元するステップと、を含む。
【選択図】図19
【特許請求の範囲】
【請求項1】
対象ブロックの予測動き候補リストを構成するステップと、
前記動き候補リストから予測候補インデックスに基づいて予測動きベクトルを誘導するステップと、
予測動きベクトル調整オフセット情報を復元するステップと、
前記予測動きベクトルと前記予測動きベクトル調整オフセット情報に基づいて対象ブロックの動きベクトルを復元するステップとを含み、
前記動き候補リストは、空間的候補、時間的候補、統計的候補又は組み合わせ候補のうちの少なくとも一つを含む、画面間予測方法。
【請求項2】
前記予測動きベクトル調整オフセットは、オフセット適用フラグ又はオフセット選択情報のうちの少なくとも一つに基づいて決定される、請求項1に記載の画面間予測方法。
【請求項3】
前記予測動きベクトル調整オフセット情報の支援か否かに関する情報は、シーケンス、ピクチャ、サブピクチャ、スライス、タイル又はブリックのうちの少なくとも一つに含まれる、請求項1に記載の画面間予測方法。
【請求項4】
前記対象ブロックが併合モードで符号化された場合、前記対象ブロックの動きベクトルはゼロベクトルを用いて復元され、
前記対象ブロックが競争モードで符号化された場合、前記対象ブロックの動きベクトルは動きベクトル差分値を用いて復元される、請求項1に記載の画面間予測方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像符号化/復号化方法及び装置に関する。
【背景技術】
【0002】
インターネットと携帯端末の普及及び情報通信技術の発展に伴い、マルチメディアデータに対する利用が急増している。したがって、各種のシステムで画像予測を介して様々なサービスや作業を行うために、画像処理システムの性能及び効率の改善に対する必要性が大幅に増加しているが、このような雰囲気に呼応することができる研究開発の結果が不十分な実情である。
【0003】
このように、従来技術の画像符号化/復号化方法及び装置では、画像処理、特に画像符号化又は画像復号化に対する性能改善が求められている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、かかる問題点を解決するためのもので、その目的は、調整オフセットを用いて動きベクトル予測値に補正を行う画像符号化/復号化装置を提供することにある。
【課題を解決するための手段】
【0005】
上記目的を達成するための本発明の一実施形態による画像を復号化する方法は、対象ブロックの動き情報予測候補リストを構成するステップと、予測候補インデックスを選定するステップと、予測動きベクトル調整オフセットを誘導するステップと、対象ブロックの動き情報を復元するステップとを含む。
【0006】
ここで、動き情報予測候補リストを設定するステップは、既に含まれている候補及びオフセット情報に基づいて取得される候補と、新規候補及びオフセット情報に基づいて取得される候補とが重複しない場合に候補群に含むステップをさらに含むことができる。
【0007】
ここで、予測動きベクトル調整オフセットを誘導するステップは、オフセット適用フラグ及び/又はオフセット選択情報に基づいて誘導されるステップをさらに含むことができる。
【発明の効果】
【0008】
上述した本発明に係る画面間予測を使用する場合、効率よく予測動きベクトルを取得することにより、符号化性能を向上させることができる。
【図面の簡単な説明】
【0009】
図1】本発明の実施形態による画像符号化及び復号化システムを示す概念図である。
図2】本発明の一実施形態による画像符号化装置を示すブロック構成図である。
図3】本発明の一実施形態による画像復号化装置を示すブロック構成図である。
図4】本発明のブロック分割部で取得することができる様々な分割形態を示す例示図である。
図5】本発明の画面間予測を介して予測ブロックを取得する様々な場合を示す例示図である。
図6】本発明の一実施形態による参照ピクチャリストを構成する例示図である。
図7】本発明の一実施形態に係る移動外の動きモデルを示す概念図である。
図8】本発明の一実施形態に係るサブブロック単位の動き推定を示す例示図である。
図9】本発明の一実施形態に係る動き情報の符号化を示すフローチャートである。
図10】本発明の一実施形態に係る対象ブロックとそれに隣接するブロックの配置図である。
図11】本発明の一実施形態に係る統計的候補に関する例示図である。
図12】本発明の一実施形態に係る移動外の動きモデルによる統計的候補に関する概念図である。
図13】本発明の一実施形態に係る統計的候補として格納される各制御点位置の動き情報の構成に対する例示図である。
図14】本発明の一実施形態に係る動き情報符号化に関するフローチャートである。
図15】本発明の一実施形態に係る動きベクトル予測候補及び対象ブロックの動きベクトルに対する例示図である。
図16】本発明の一実施形態に係る動きベクトル予測候補及び対象ブロックの動きベクトルに対する例示図である。
図17】本発明の一実施形態に係る動きベクトル予測候補及び対象ブロックの動きベクトルに対する例示図である。
図18】本発明の一実施形態に係る複数の動きベクトル予測値の配置に関する例示図である。
図19】本発明の一実施形態に係る併合モードでの動き情報符号化に関するフローチャートである。
【発明を実施するための形態】
【0010】
本発明による画像符号化/復号化方法及び装置は、対象ブロックの予測動き候補リストを構成し、前記動き候補リストから予測候補インデックスに基づいて予測動きベクトルを誘導し、予測動きベクトル調整オフセット情報を復元し、前記予測動きベクトルと前記予測動きベクトル調整オフセット情報に基づいて対象ブロックの動きベクトルを復元することができる。
【0011】
本発明による画像符号化/復号化方法及び装置において、前記動き候補リストは、空間的候補、時間的候補、統計的候補又は組み合わせ候補のうちの少なくとも一つを含むことができる。
【0012】
本発明による画像符号化/復号化方法及び装置において、前記予測動きベクトル調整オフセットは、オフセット適用フラグ又はオフセット選択情報のうちの少なくとも一つに基づいて決定できる。
【0013】
本発明による画像符号化/復号化方法及び装置において、前記予測動きベクトル調整オフセット情報の支援か否かに関する情報は、シーケンス、ピクチャ、サブピクチャ、スライス、タイル又はブリックのうちの少なくとも一つに含まれ得る。
【0014】
本発明による画像符号化/復号化方法及び装置において、前記対象ブロックが併合モードで符号化された場合、前記対象ブロックの動きベクトルはゼロベクトルを用いて復元され、前記対象ブロックが競争モードで符号化された場合、前記対象ブロックの動きベクトルは動きベクトル差分値を用いて復元できる。
【0015】
[発明の実施のための形態]
本発明は、様々な変更を加えることができ、様々な実施形態を有することができるので、特定の実施形態を図面に例示し、詳細な説明に詳細に説明する。ところが、これは本発明を特定の実施形態について限定するものではなく、本発明の思想及び技術範囲に含まれるすべての変更、均等物乃至代替物を含むものと理解されるべきである。
【0016】
用語「第1」、「第2」などは多様な構成要素の説明に使用できるが、これらの構成要素は上記の用語によって限定されてはならない。これらの用語は、一つの構成要素を他の構成要素から区別する目的にのみ使われる。例えば、本発明の権利範囲から外れることなく、第1構成要素は第2構成要素と命名することができ、これと同様に、第2構成要素も第1構成要素と命名することができる。用語「及び/又は」は、複数の関連した記載項目の組み合わせ又は複数の関連した記載項目のいずれかを含む。
【0017】
ある構成要素が他の構成要素に「連結されて」いる或いは「接続されて」いるとした場合には、その他の構成要素に直接連結されている或いは接続されていることもあるが、それらの間に別の構成要素が介在することもあると理解されるべきである。これに対し、ある構成要素が他の構成要素に「直接連結されて」いる或いは「直接接続されて」いるとした場合には、それらの間に別の構成要素が介在しないと理解されるべきである。
【0018】
本発明で使用した用語は、単に特定の実施形態を説明するために使われたものであり、本発明を限定するものではない。単数の表現は、文脈上明白に異なる意味ではない限り、複数の表現を含む。本発明において、「含む」又は「有する」などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品又はこれらの組み合わせが存在することを指定するものであり、一つ又はそれ以上の他の特徴や数字、段階、動作、構成要素、部品又はこれらの組み合わせの存在又は付加可能性を予め排除しないと理解されるべきである。
【0019】
他に定義されない限り、技術的又は科学的な用語を含めてここで使用されるすべての用語は、本発明の属する技術分野における通常の知識を有する者によって一般的に理解されるのと同一であることを意味する。一般的に使用される辞典に定義されている用語は、関連技術の文脈上持つ意味と一致するものと解釈されるべきであり、本発明で明らかに定義しない限り、理想的又は過度に形式的な意味で解釈されない。
【0020】
通常、画像のカラーフォーマット(Color Format)に応じて一つ以上のカラー空間で構成できる。カラーフォーマットに応じて、一定の大きさを有する一つ以上のピクチャ、又は異なる大きさを有する一つ以上のピクチャで構成できる。一例として、YCbCrカラー構成において4:4:4、4:2:2、4:2:0、Monochrome(Yのみで構成)などのカラーフォーマットが支援できる。一例として、YCbCr4:2:0の場合、一つの輝度成分(本例では、Y)と二つの色差成分(本例では、Cb/Cr)で構成できる。このとき、色差成分と輝度成分の構成比は、横、横が1:2であり得る。一例として、4:4:4の場合は、横と縦が同じ構成比を持つことができる。上記の例のように一つ以上のカラー空間で構成される場合、ピクチャは、各カラー空間への分割を行うことができる。
【0021】
画像は、画像タイプ(例えば、ピクチャタイプ、サブピクチャタイプ、スライスタイプ、タイルタイプ、ブリックタイプなど)によってI、P、Bなどに分類することができるが、I画像タイプは、参照ピクチャを用いず、自体的に符号化される画像を意味することができ、P画像タイプは、参照ピクチャを用いて符号化を行うが、前方向予測のみを許容する画像を意味することができ、B画像タイプは、参照ピクチャを用いて符号化を行い、前/後方向予測を許容する画像を意味することができるが、符号化の設定に応じて、前記タイプの一部が結合(PとBを結合)されるか或いは他の構成の画像タイプが支援されてもよい。
【0022】
本発明で発生する様々な符号化/復号化情報は、明示的(Explicit)又は黙示的(Implicit)な処理が可能である。ここで、明示的な処理は、符号化/復号化情報をシーケンス、ピクチャ、サブピクチャ、スライス、タイル、ブリック(Brick)、ブロック、サブブロックなどで生成し、これをビットストリームに収録することができ、復号化器で符号化器と同じレベルの単位で関連情報をパーシング(Parsing)して復号化情報に復元するものと理解することができる。ここで、黙示的な処理は、符号化/復号化情報を符号化器と復号化器で同じ過程や規則などで処理するものと理解することができる。
【0023】
図1は本発明の実施形態による画像符号化及び復号化システムを示す概念図である。
【0024】
図1を参照すると、画像符号化装置105及び復号化装置100は、パーソナルコンピュータ(PC:Personal Computer)、ノートパソコン、携帯端末(PDA:Personal Digital Assistant)、携帯型マルチメディアプレーヤー(PMP:Portable Multimedia Player)、プレイステーションポータブル(PSP:PlayStation Portable)、無線通信端末(Wireless Communication Terminal)、スマートフォン(Smart Phone)又はTVなどのユーザー端末であるか、或いはアプリケーションサーバーやサービスサーバなどのサーバ端末であり、各種機器又は有無線通信網との通信を行うための通信モデムなどの通信装置、画像を符号化又は復号化するためにインター又はイントラ予測するための各種プログラムとデータを格納するためのメモリ(memory、120、125)、又はプログラムを実行して演算及び制御するためのプロセッサ(processor、110、115)などを備える様々な装置を含むことができる。
【0025】
また、画像符号化装置105によってビットストリームに符号化された画像は、リアルタイム又は非リアルタイムでインターネット、近距離無線通信システム、無線LAN網、WiBro網又は移動通信網などの有無線通信網(Network)などを介して、或いはケーブル又は汎用シリアルバス(USB:Universal Serial Bus)などの様々な通信インターフェースを介して画像復号化装置100に伝送されて画像復号化装置100で復号化されることにより画像に復元され、再生できる。また、画像符号化装置105によってビットストリームに符号化された画像は、コンピュータ可読記録媒体を介して画像符号化装置105から画像復号化装置100に伝達できる。
【0026】
前述した画像符号化装置と画像復号化装置は、それぞれ別個の装置であり得るが、実現によって一つの画像符号化/復号化装置に作られてもよい。その場合、画像符号化装置の一部の構成は、画像復号化装置の一部の構成と実質的に同一の技術要素であって、少なくとも同じ構造を含むか、或いは少なくとも同じ機能を行うように実現できる。
【0027】
したがって、以下の技術要素とこれらの作動原理などについての詳細な説明では、対応技術要素の重複説明を省略する。また、画像復号化装置は、画像符号化装置で行われる画像符号化方法を復号化に適用するコンピューティング装置に対応するので、以下の説明では、画像符号化装置を中心に説明する。
【0028】
コンピューティング装置は、画像符号化方法及び/又は画像復号化方法を実現するプログラムやソフトウェアモジュールを格納するメモリと、メモリに接続され、プログラムを行うプロセッサとを含むことができる。ここで、画像符号化装置は符号化器、画像復号化装置は復号化器とそれぞれ呼ばれることがある。
【0029】
図2は本発明の一実施形態による画像符号化装置を示すブロック構成図である。
【0030】
図2を参照すると、画像符号化装置20は、予測部200、減算部205、変換部210、量子化部215、逆量子化部220、逆変換部225、加算部230、フィルタ部235、符号化ピクチャバッファ240、及びエントロピー符号化部245を含むことができる。
【0031】
予測部200は、ソフトウェアモジュールである予測モジュール(prediction module)を用いて実現でき、符号化するブロックに対して画面内予測方式(Intra Prediction)や画面間予測方式(Inter Prediction)で予測ブロックを生成することができる。予測部200は、画像で現在符号化しようとする対象ブロック(Target Block)を予測して予測ブロックを生成することができる。言い換えれば、予測部200は、画像で符号化しようとする対象ブロックの各画素の画素値(pixel value)を画面内予測又は画面間予測によって予測して、生成された各画素の予測画素値(prediced pixel value)を有する予測ブロックを生成することができる。また、予測部200は、画面内予測モード又は画面間予測モードなどの予測モードに関する情報など、予測ブロックを生成するために必要な情報を符号化部へ伝達して、符号化部が予測モードに関する情報を符号化するようにすることができる。このとき、予測が行われる処理単位と、予測方法及び具体的な内容が定められる処理単位は、符号化の設定に応じて定められ得る。例えば、予測方法、予測モードなどは予測単位で決定され、予測の実行は変換単位で行われ得る。また、特定の符号化モードを使用する場合、予測部を介して予測ブロックを生成せず、原本ブロックをそのまま符号化して復号化部に伝送することも可能である。
【0032】
画面内予測部で予測方向に応じて使用する水平、垂直モードなどの方向性予測モードと、参照画素の平均、内挿などの方法を使用するDC、Planarなどの非方向性予測モードとを持つことができる。方向性及び非方向性モードを介して画面内予測モード候補群を構成することができ、35個の予測モード(方向性33個+非方向性2個)又は67個の予測モード(方向性65個+非方向性2個)、131個の予測モード(方向性129個+非方向性2個)などのさまざまな候補のうちのいずれかを候補群として使用することができる。
【0033】
画面内予測部は、参照画素構成部、参照画素フィルタ部、参照画素補間部、予測モード決定部、予測ブロック生成部、及び予測モード符号化部を含むことができる。参照画素構成部は、対象ブロックを中心に隣り合うブロックに属し、対象ブロックに隣接する画素を画面内予測のための参照画素として構成することができる。符号化の設定に応じて、最隣接する一つの参照画素ラインを参照画素として構成するか、或いはその他の隣接する一つの参照画素ラインを参照画素として構成することができ、複数の参照画素ラインを参照画素として構成することができる。もし参照画素の一部が利用可能でない場合には、利用可能な参照画素を用いて参照画素を生成することができ、全てが利用可能でない場合には、所定の値(例えば、ビット深度によって表現される画素値範囲の中央値など)を用いて参照画素を生成することができる。
【0034】
画面内予測部の参照画素フィルタ部は、符号化過程を経て、残っている劣化を減らすための目的で参照画素にフィルタリングを行うことができる。この際、使用されるフィルタは、3-tapフィルタ[1/4、1/2、1/4]、5-tapフィルタ[2/16、3/16、6/16、3/16、2/16]などの低域通過フィルタ(Low-pass Filter)であることができる。符号化情報(例えば、ブロックの大きさ、形状、予測モードなど)に基づいてフィルタリングの適用有無、フィルタリングの種類が決定できる。
【0035】
画面内予測部の参照画素補間部は、予測モードに応じて参照画素の線形補間過程を介して小数単位の画素を生成することができ、符号化情報に基づいて、適用される補間フィルタが決定できる。このとき、使用される補間フィルタは、4-tapキュービック(Cubic)フィルタ、4-tapガウス(Gaussian)フィルタ、6-tapウィナー(Wiener)フィルタ、8-tapカルマン(Kalman)フィルタなどが含まれ得る。低域通過フィルタを行う過程とは別に補間が行われるのが一般的であるが、二つの過程に適用されるフィルタを一つに統合してフィルタリング過程を行うこともできる。
【0036】
画面内予測部の予測モード決定部は、符号化費用を考慮して予測モード候補群のうちの少なくとも一つの最適の予測モードを選定することができ、予測ブロック生成部は、当該予測モードを使用して予測ブロックを生成することができる。予測モード符号化部で前記最適の予測モードを予測値に基づいて符号化することができる。このとき、予測値が当てはまる場合と予測値が当てはまらない場合に応じて適応的に予測情報を符号化することができる。
【0037】
画面内予測部で前記予測値をMPM(Most Probable Mode)とし、予測モード候補群に属する全体モードのうちの一部のモードをMPM候補群として構成することができる。MPM候補群には、所定の予測モード(例えば、DC、Planar、垂直、水平、対角線モードなど)又は空間的に隣接するブロック(例えば、左、上、左上、右上、左下ブロックなど)の予測モードなどが含まれ得る。また、MPM候補群に既に含まれたモードから誘導されるモード(方向性モードの場合、1、-1などの差)をMPM候補群として構成することができる。
【0038】
MPM候補群の構成のための予測モードの優先順位が存在することができる。前記優先順位に従って、MPM候補群に含まれる順序が定められることができ、前記優先順位に従ってMPM候補群の個数(予測モード候補群の個数に応じて定められる)だけ満たされると、MPM候補群の構成を完了することができる。このとき、空間的に隣接するブロックの予測モード、所定の予測モード、MPM候補群にまず含まれている予測モードから誘導されるモードの順序で優先順位が定められることができるが、その他の変形も可能である。
【0039】
例えば、空間的に隣接するブロックは、左-上-左下-右上-左上ブロックなどの順序で候補群に含むことができ、所定の予測モードは、DC-Planar-垂直-水平モードなどの順序で候補群に含むことができ、既に含まれたモードで+1、-1などを加算して取得されたモードを候補群に含めて合計6つのモードを候補群として構成することができる。又は、左-上-DC-Planar-左下-右上-左上-(左+1)-(左-1)-(上+1)などの一つの優先順位で候補群に含めて合計7つのモードを候補群として構成することができる。
【0040】
減算部205は、対象ブロックから予測ブロックを減算して残差ブロック(residual block)を生成することができる。つまり、減算部205は、符号化しようとする対象ブロックの各画素の画素値と、予測部を介して生成された予測ブロックの各画素の予測画素値との差を計算して、ブロック形状の残差信号(residual signal)である残差ブロックを生成することができる。また、減算部205は、後述するブロック分割部を介して取得されたブロック単位以外の単位に基づいて残差ブロックを生成することもできる。
【0041】
変換部210は、空間領域に属する信号を、周波数領域に属する信号に変換することができる。変換過程を経て取得される信号を変換係数(Transformed Coeffcient)という。例えば、減算部から伝達された残差信号を有する残差ブロックを変換して、変換係数を有する変換ブロックを取得することができるが、入力された信号は符号化の設定に応じて決定され、これは残差信号に限定されない。
【0042】
変換部は、残差ブロックをアダマール変換(Hadamard Transform)、離散サイン変換(DST Based-Transform:Discrete Sine Transform)、離散コサイン変換(DCT Based-Transform:Discrete Cosine Transform)などの変換技法を用いて変換することができ、これに限定されず、これを改良及び変形させた様々な変換技法が使用できる。
【0043】
前記変換技法のうちの少なくとも一つの変換技法が支援でき、各変換技法で少なくとも一つの詳細変換技法が支援できる。このとき、前記詳細変換技法は、各変換技法で基底ベクトルの一部が異なるように構成される変換技法であり得る。
【0044】
例えば、DCTの場合は、DCT-1~DCT-8のうちの一つ以上の詳細変換技法が支援でき、DSTの場合は、DST-1~DST-8のうちの一つ以上の詳細変換技法が支援できる。前記詳細変換技法の一部を構成して変換技法候補群を構成することができる。一例として、DCT-2、DCT-8、DST-7を変換技法候補群として構成して変換を行うことができる。
【0045】
変換は、水平/垂直方向に行われ得る。例えば、DCT-2の変換技法を用いて水平方向に1次元変換を行い、DST-7の変換技法を用いて垂直方向に1次元変換を行って合計2次元変換を行うことにより、空間領域の画素値を周波数領域に変換することができる。
【0046】
固定的な一つの変換技法を用いて変換を行うことができるか、或いは符号化の設定に応じて変換技法を適応的に選択して変換を行うことができる。このとき、適応的な場合には、明示的又は黙示的な方法を用いて変換技法を選択することができる。明示的な場合には、水平、垂直方向に適用されるそれぞれの変換技法選択情報又は変換技法セット選択情報がブロックなどの単位で発生することができる。黙示的な場合は、画像タイプ(I/P/B)、カラー成分、ブロックの大きさ/形状/位置、画面内予測モードなどに応じて符号化の設定が定義でき、これにより所定の変換技法が選択できる。
【0047】
また、符号化の設定に応じて前記一部の変換が省略される場合が可能である。つまり、明示的又は黙示的に水平/垂直単位のうちの一つ以上を省略することができることを意味する。
【0048】
変換部は、変換ブロックを生成するために必要な情報を符号化部へ伝達してこれを符号化するようにすることができ、それによる情報をビットストリームに収録してこれを復号化器へ伝送し、復号化器の復号化部は、これに対する情報をパーシングして逆変換過程に使用することができる。
【0049】
量子化部215は、入力された信号を量子化することができる。この時、量子化過程を経て取得される信号を量子化係数(Quantized Coefficient)という。例えば、変換部から伝達された残差変換係数を有する残差ブロックを量子化して、量子化係数を有する量子化ブロックを取得することができるが、入力された信号は符号化の設定に応じて決定され、これは残差変換係数に限定されない。
【0050】
量子化部は、変換された残差ブロックをデッドゾーン均一境界量子化(Dead Zone Uniform Threshold Quantization)、量子化重みマトリックス(Quantization Weighted Matrix)などの量子化技法を用いて量子化することができ、これに限定されず、これを改良及び変形させた様々な量子化技法が使用できる。
【0051】
符号化の設定に応じて、量子化過程は省略することができる。例えば、符号化の設定(例えば、量子化パラメータが0。すなわち、無損失圧縮環境)に応じて量子化過程を省略(逆過程も含む)することができる。他の例として、画像の特性に応じて量子化による圧縮性能が発揮されない場合には量子化過程を省略することができる。このとき、量子化ブロック(M×N)における、量子化過程が省略される領域は、全体領域又は一部領域(M/2×N/2、M×N/2、M/2×Nなど)であり、量子化省略選択情報は、黙示的又は明示的に定められ得る。
【0052】
量子化部は、量子化ブロックを生成するために必要な情報を符号化部へ伝達してこれを符号化するようにすることができ、それによる情報をビットストリームに収録してこれを復号化器へ伝送し、復号化器の復号化部は、これに対する情報をパーシングしてこれを逆量子化過程に使用することができる。
【0053】
上記例では、変換部と量子化部を介して残差ブロックを変換し量子化するという仮定の下に説明したが、残差信号を変換して、変換係数を有する残差ブロックを生成し、量子化過程を行わなくてもよく、残差ブロックの残差信号を変換係数に変換せずに量子化過程のみを行うことができるだけでなく、変換と量子化過程の両方を行わなくてもよい。これは符号化器の設定に応じて決定できる。
【0054】
逆量子化部220は、量子化部215によって量子化された残差ブロックを逆量子化する。つまり、逆量子化部220は、量子化周波数係数列を逆量子化して、周波数係数を有する残差ブロックを生成する。
【0055】
逆変換部225は、逆量子化部220によって逆量子化された残差ブロックを逆変換する。つまり、逆変換部225は、逆量子化された残差ブロックの周波数係数を逆変換して、画素値を有する残差ブロック、すなわち復元された残差ブロックを生成する。ここで、逆変換部225は、変換部210で使用した変換方式を逆に用いて逆変換を行うことができる。
【0056】
加算部230は、予測部200で予測された予測ブロックと、逆変換部225によって復元された残差ブロックとを加算して対象ブロックを復元する。復元された対象ブロックは、符号化ピクチャバッファ240に参照ピクチャ(又は参照ブロック)として格納され、対象ブロックの次のブロック又は向後の他のブロック、他のピクチャを符号化するときに参照ピクチャとして使用できる。
【0057】
フィルタ部235は、デブロッキングフィルタ、SAO(Sample Adaptive Offset)、ALF(Adaptive Loop Filter)などの一つ以上の後処理フィルタ過程を含むことができる。デブロッキングフィルタは、復元されたピクチャからブロック間の境界に生じたブロック歪みを除去することができる。ALFは、デブロッキングフィルタを介してブロックがフィルタリングされた後に復元された画像と、原本画像とを比較した値に基づいて、フィルタリングを行うことができる。SAOは、デブロッキングフィルタが適用された残差ブロックに対して、画素単位で原本画像とのオフセット差を復元することができる。このような後処理フィルタは、復元されたピクチャ又はブロックに適用できる。
【0058】
符号化ピクチャバッファ240は、フィルタ部235を介して復元されたブロック又はピクチャを格納することができる。符号化ピクチャバッファ240に格納された復元ブロック又はピクチャは、画面内予測又は画面間予測を行う予測部200に提供できる。
【0059】
エントロピー符号化部245は、生成された残差ブロックの量子化係数、変換係数、又は残差信号などを少なくとも一つのスキャン順序(例えば、ジグザグスキャン、垂直スキャン、水平スキャンなど)に応じてスキャンして量子化係数列、変換係数列、又は信号列を生成し、少なくとも一つのエントロピー符号化(Entropy Coding)技法を用いて符号化することができる。このとき、前記スキャン順序についての情報は、符号化の設定(例えば、画像タイプ、符号化モード、予測モード、変換種類など)に応じて定められることができ、黙示的に定めるか、或いは明示的に関連情報を生成することができる。
【0060】
また、各構成部から伝達される符号化情報を含む符号化データを生成してビットストリームとして出力することができ、これは、マルチプレクサ(MUX:Multiplexer)で実現できる。このとき、符号化技法として、指数ゴロム(Exponential Golomb)、CAVLC(Context-Adaptive Variable Length Coding)、CABAC(Context-Adaptive Binary Arithmetic Coding)などの方法を用いて符号化することができる。これに限定されず、これを改良及び変形させた様々な符号化技法が使用できる。
【0061】
前記残差ブロックデータと符号化/復号化過程で生成される情報などの構文要素に対するエントロピー符号化(本例では、CABACと仮定)を行うとき、エントロピー符号化装置は、2値化部(Binarizer)、文脈モデラー(Context Modeler)、バイナリ算術符号化部(Binary Arithmetic Coder)を含むことができる。このとき、バイナリ算術符号化部は、レギュラーコーディング部(Regular Coding Engine)とバイパスコーディング部(Bypass Coding Engine)を含むことができる。
【0062】
前記エントロピー符号化装置に入力される構文要素は、2進値ではないことがあるので、構文要素が2進値ではない場合、2値化部は、構文要素を2値化して0又は1からなるビンストリング(Bin String)を出力することができる。このとき、ビンは、0又は1からなるビットを示すもので、バイナリ算術符号化部によって符号化できる。このとき、0と1の発生確率に基づいてレギュラーコーディング部又はバイパスコーディング部のうちのいずれかが選択でき、これは符号化/復号化の設定に基づいて決定できる。構文要素が0と1の頻度が同じデータである場合には、バイパスコーディング部を使用することができ、そうでない場合には、レギュラーコーディング部を使用することができる。
【0063】
前記構文要素に対する2値化を行うときにさまざまな方法が使用できる。例えば、固定長2値化(Fixed Length Binarization)、単項2値化(Unary Binarization)、Rice2値化(Truncated Rice Binarization)、K-th Exp-Golomb2値化などが使用できる。また、構文要素が持つ値の範囲に応じて、符号のある2値化又は符号のない2値化が行われ得る。本発明で発生する構文要素に対する2値化過程は、上記の例で言及された2値化だけでなく、その他の追加的な2値化方法を含んで行われ得る。
【0064】
図3は本発明の一実施形態による画像復号化装置を示すブロック構成図である。
【0065】
図3を参照すると、画像復号化装置30は、エントロピー復号化部305、予測部310、逆量子化部315、逆変換部320、加減算器325、フィルタ330及び復号化ピクチャバッファ335を含んで構成できる。
【0066】
また、予測部310は、さらに画面内予測モジュール及び画面間予測モジュールを含んで構成できる。
【0067】
まず、画像符号化装置20から伝達された画像ビットストリームが受信されると、エントロピー復号化部305へ伝達できる。
【0068】
エントロピー復号化部305は、ビットストリームを復号化して、量子化された係数と各構成部へ伝達される復号化情報を含む復号化データを復号化することができる。
【0069】
予測部310は、エントロピー復号化部305から伝達されたデータに基づいて予測ブロックを生成することができる。このとき、復号化されたピクチャバッファ335に格納された参照画像に基づいて、デフォルト(default)構成技法を用いた参照ピクチャリストを構成することもできる。
【0070】
画面内予測部は、参照画素構成部、参照画素フィルタ部、参照画素補間部、予測ブロック生成部、予測モード復号化部を含むことができ、一部は符号化器と同じ過程を行い、一部は逆に誘導する過程を行うことができる。
【0071】
逆量子化部315は、ビットストリームとして提供されてエントロピー復号化部305によって復号化された量子化変換係数を逆量子化することができる。
【0072】
逆変換部320は、逆DCT、逆整数変換又はそれと類似する概念の逆変換技法を変換係数に適用して残差ブロックを生成することができる。
【0073】
このとき、逆量子化部315、逆変換部320は、先立って説明した画像符号化装置20の変換部210及び量子化部215で行った過程を逆に行い、様々な方法で実現できる。例えば、変換部210及び量子化部215と共有する同じ過程及び逆変換を使用することもでき、画像符号化装置20から変換及び量子化過程に関する情報(例えば、変換サイズ、変換形状、量子化タイプなど)を用いて変換及び量子化過程を逆に行うことができる。
【0074】
逆量子化及び逆変換過程を経た残差ブロックは、予測部310によって導出された予測ブロックと加算されて復元された画像ブロックが生成できる。このような加算は、加減算器325によって行われ得る。
【0075】
フィルタ330は、復元された画像ブロックに対して、必要に応じてブロッキング(blocking)現象を除去するためにデブロッキングフィルタを適用することもでき、前記復号化過程の前後に、別のループフィルタを、ビデオの品質を向上させるためにさらに使用することもできる。
【0076】
復元及びフィルタを経た画像ブロックは、復号化ピクチャバッファ335に格納できる。
【0077】
図示してはいないが、画像符号化/復号化装置にピクチャ分割部とブロック分割部をさらに含むことができる。
【0078】
ピクチャ分割部は、ピクチャを所定の分割単位に基づいて少なくとも一つの領域に分割又は区画することができる。ここで、前記分割単位は、サブピクチャ、スライス、タイル、ブリック、ブロック(例えば、最大符号化単位)などを含むことができる。
【0079】
ピクチャは、一つ以上のタイルの行又は一つ以上のタイルの列に分割することができる。このとき、タイルは、ピクチャの所定の長方形領域を含むブロック基盤の単位であることができる。このとき、タイルは、一つ以上のブリックに分割することができるが、ブリックは、タイルの行又は列単位のブロックで構成できる。
【0080】
スライスは、一つ以上の構成設定が可能であるが、そのうちの一つは、スキャン順序による束(例えば、ブロック、ブリック、タイルなど)で構成でき、そのうちの一つは、長方形領域を含む形態で構成でき、その他の追加的な定義が可能である。
【0081】
前記スライス構成に関する定義は、明示的に関連情報が発生することができるか、或いは黙示的に定められることができる。スライスだけでなく、各分割単位の構成に関する定義は、複数で設定が可能であり、これに関する選択情報が発生することができる。
【0082】
スライスは、ブロック、ブリック、タイルなどの長方形形状の単位で構成でき、前記分割単位に位置情報(例えば、左上側位置、右下側位置など)に基づいてスライス位置、大きさ情報を表現することができる。
【0083】
本発明では、ピクチャは一つ以上のサブピクチャで構成でき、サブピクチャは一つ以上のスライス又はタイル又はブリックで構成でき、スライスは一つ以上のタイル又はブリックで構成でき、タイルは一つ以上のブリックで構成できることを仮定して説明するが、これに限定されない。
【0084】
前記分割単位は、整数個のブロックで構成できるが、これに限定されず、整数個ではなく、小数個で構成されてもよい。つまり、整数個のブロックで構成されない場合には、サブブロックで少なくとも一つの分割単位が構成できる。
【0085】
長方形形状のスライス以外のサブピクチャやタイルなどの分割単位が存在することができるが、前記単位の位置、大きさの情報は、さまざまな方法に基づいて表現することができる。
【0086】
例えば、長方形単位の個数情報、長方形単位の列又は行の個数情報、長方形単位の列又は行単位の均等分割か否かについての情報、長方形単位の列又は行単位の幅又は高さ情報、長方形単位のインデックス情報などに基づいて、長方形形状の単位の位置及び大きさ情報を表現することができる。
【0087】
サブピクチャとタイルの場合、前記情報のうちの全部又は一部に基づいて各単位の位置及び大きさ情報などを表現することができ、これに基づいて一つ以上の単位に分割又は区画できる。
【0088】
一方、ブロック分割部を介して様々な単位と大きさのブロックに分割することができる。基本符号化単位(又は最大符号化単位。Coding Tree Unit。CTU)は、画像符号化過程で予測、変換、量子化などに対する基本(又は開始)単位を意味することができる。このとき、基本符号化単位は、カラーフォーマット(本例において、YCbCr)に応じて一つの輝度基本符号化ブロック(又は、最大符号化ブロック。Coding Tree Block。CTB)と二つの基本色差符号化ブロックで構成でき、カラーフォーマットに応じて各ブロックの大きさが定められ得る。分割過程に応じて符号化ブロック(Coding Block。CB)が取得できる。符号化ブロックは、一定の制限に応じてそれ以上の符号化ブロックに分割されていない単位と理解することができ、下位単位への分割の開始単位として設定できる。本発明において、ブロックは、四角形の形状にのみ制限せず、三角形や円形などの様々な形状を含む広い概念と理解することができる。
【0089】
後述する内容は、一つのカラー成分を対象とするが、カラーフォーマットによる比率(例えば、YCbCr4:2:0の場合、輝度成分と色差成分の横及び縦の長さ比は2:1)に比例して、他のカラー成分に変更適用できることを理解すべきである。また、他のカラー成分に依存的なブロック分割(例えば、Cb/CrにおいてYのブロック分割結果に依存的な場合)が可能であるが、各カラー成分に独立的なブロック分割が可能であることを理解すべきである。また、共通する一つのブロック分割設定(長さ比に比例することは考慮)を使用することができるが、カラー成分に応じて個別的なブロック分割設定が使用されることも考慮して理解する必要がある。
【0090】
ブロック分割部において、ブロックは、M×Nで表現でき、各ブロックの最大値と最小値が範囲内で取得できる。例えば、ブロックの最大値を256×256、最小値を4×4に定める場合には、サイズ2×2のブロック(本例において、mとnは2から8までの整数)又はサイズ2m×2mのブロック(本例において、mとnは2から128までの整数)又はサイズm×mのブロック(本例において、mとnは4から256までの整数)を取得することができる。ここで、mとnは同じでも同じでなくてもよく、前記最大値と最小値などのブロックが支援される範囲は一つ以上発生することができる。
【0091】
例えば、ブロックの最大大きさ及び最小大きさなどに関する情報が発生することができ、一部分割設定におけるブロックの最大大きさ及び最小大きさなどに関する情報が発生することができる。ここで、前者の場合は、画像内で発生可能な最大及び最小大きさに対する範囲の情報であり、後者の場合は、一部分割設定に基づいて発生可能な最大及び最小大きさに関する情報であり得る。ここで、前記分割設定は、画像タイプ(I/P/B)、カラー成分(YCbCrなど)、ブロック種類(符号化/予測/変換/量子化など)、分割種類(Index or Type)、分割方式(ツリー方式におけるQT、BT、TTなど、Index方式におけるSI2、SI3、SI4など)などによって定義できる。
【0092】
また、ブロックが持つことができる横/縦の長さ比(ブロックの形状)に対する制限が存在することができ、これに対する境界値の条件が設定できる。このとき、任意の境界値(k)以下/未満のブロックのみ支援でき、kはA/B(Aは横と縦のうちのより長いか同じ値、Bはその残りの値)のような横と縦の長さ比に基づいて定義でき、1.5、2、3、4などの1以上の実数であり得る。上記の例でのように画像における一つのブロックの形状に関する制限条件が支援されるか或いは分割設定に応じて一つ以上の制限条件が支援され得る。
【0093】
まとめると、上述した説明のような範囲及び条件と後述する分割設定などによってブロック分割の支援有無が定められ得る。例えば、ブロック(親ブロック)の分割による候補(子ブロック)が支援されるブロック条件を満足する場合には、当該分割は支援でき、満足しない場合には、当該分割は支援できない。
【0094】
ブロック分割部は、画像符号化装置及び復号化装置の各構成部に関係して設定でき、この過程を介してブロックの大きさと形状が定められ得る。このとき、設定されるブロックは構成部によって異なるように定義でき、予測部の場合は予測ブロック(Prediction Block)、変換部の場合は変換ブロック(Transform Block)、量子化部の場合は量子化ブロック(Quantization Block)などがこれに該当することができる。但し、これに限定されず、他の構成部によるブロック単位がさらに定義できる。本発明では、各構成部で入力と出力が長方形の形状である場合を中心に説明するが、一部の構成部では、他の形状(例えば、直角三角形など)の入力/出力が可能である。
【0095】
ブロック分割部の初期(又は開始)ブロックの大きさ及び形状は、上位単位から決定できる。前記初期ブロックは、より小さい大きさのブロックに分割でき、ブロックの分割による最適の大きさ及び形状が決定されると、そのブロックは、下位単位の初期ブロックに決定できる。ここで、上位単位は符号化ブロック、下位単位は予測ブロック又は変換ブロックであり得るが、これに限定されず、様々な変形の例が可能である。上記の例のように下位単位の初期ブロックが定められると、上位単位のように最適の大きさ及び形状のブロックを見付けるための分割過程が行われ得る。
【0096】
まとめると、ブロック分割部は、基本符号化ブロック(又は最大符号化ブロック)を少なくとも一つの符号化ブロックに分割することができ、符号化ブロックを少なくとも一つの予測ブロック/変換ブロック/量子化ブロックに分割することができる。また、予測ブロックは、少なくとも一つの変換ブロック/量子化ブロックに分割を行うことができ、変換ブロックは、少なくとも一つの量子化ブロックに分割を行うことができる。ここで、一部のブロックは、他のブロックと従属的な関係(つまり、上位単位と下位単位によって定義)を持ってもよく、独立した関係を持ってもよい。一例として、予測ブロックは、変換ブロックの上位単位であってもよく、変換ブロックと独立した単位であってもよく、ブロックの種類に応じて様々な関係設定が可能である。
【0097】
符号化の設定に応じて、上位単位と下位単位の結合有無が定められ得る。ここで、単位間の結合は、上位単位から下位単位への分割を行わず、上位単位のブロック(大きさ及び形状)で下位単位の符号化過程(例えば、予測部、変換部、逆変換部など)を行うことを意味する。つまり、複数の単位における分割過程が共有され、分割情報はその中の一つの単位(例えば、上位単位)で発生することを意味することができる。
【0098】
一例として、(符号化ブロックが予測ブロック、変換ブロックと結合される場合)符号化ブロックで予測過程、変換及び逆変換過程を行うことができる。
【0099】
一例として、(符号化ブロックが予測ブロックと結合される場合)符号化ブロックで予測過程を行うことができ、符号化ブロックと同じかより小さい変換ブロックで変換及び逆変換過程を行うことができる。
【0100】
一例として、(符号化ブロックが変換ブロックと結合される場合)符号化ブロックと同じかより小さい予測ブロックで予測過程を行うことができ、符号化ブロックで変換及び逆変換過程を行うことができる。
【0101】
一例として、(予測ブロックが変換ブロックと結合された場合)符号化ブロックと同じかより小さい予測ブロックで予測過程を行うことができ、予測ブロックで変換及び逆変換過程を行うことができる。
【0102】
一例として、(いずれのブロックでも結合されていない場合)符号化ブロックと同じかより小さい予測ブロックで予測過程を行うことができ、符号化ブロックと同じかより小さい変換ブロックで変換及び逆変換過程を行うことができる。
【0103】
上記の例において符号化、予測、変換ブロックに関する様々な場合を説明したが、これに限定しない。
【0104】
前記単位間の結合は、画像で固定的な設定が支援できるか、或いは様々な符号化要素を考慮して適応的な設定が支援できる。ここで、前記符号化要素は、画像タイプ、カラー成分、符号化モード(Intra/Inter)、分割の設定、ブロックの大きさ/形状/位置、横/縦の長さ比、予測関連情報(例えば、画面内予測モード、画面間予測モードなど)、変換関連情報(例えば、変換技法選択情報など)、量子化関連情報(例えば、量子化領域選択情報、量子化された変換係数符号化情報など)などを含むことができる。
【0105】
上述したように、最適な大きさ及び形状のブロックを見付けた場合、これに対するモード情報(例えば、分割情報など)が生成できる。モード情報は、ブロックの属する構成部で発生する情報(例えば、予測関連情報及び変換関連情報など)と一緒にビットストリームに収録されて復号化器へ伝送でき、復号化器で同じレベルの単位にパーシングされて画像復号化過程で使用できる。
【0106】
以下では、分割方式について説明し、説明の便宜のために、初期ブロックが正方形の形状であることを仮定するが、初期ブロックが長方形の形状である場合にも同一又は類似に適用することができるので、これに限定されるものではない。
【0107】
ブロック分割部は、様々な種類の分割を支援することができる。例えば、ツリーベースの分割又はインデックスベースの分割を支援することができ、その他の方法が支援することもできる。ツリーベースの分割は、様々な種類の情報(例えば、分割か否か、ツリー種類、分割方向など)で分割形態を決定することができ、インデックスベースの分割は、所定のインデックス情報で分割形態を決定することができる。
【0108】
図4は本発明のブロック分割部で取得することができる様々な分割形態を示す例示図である。
【0109】
本例では、1回の分割実行(又は過程)によって図4のような分割形態を取得する場合を仮定するが、これに限定されず、複数の分割動作によって取得される場合も可能である。また、図4に示されていない追加の分割形態が可能である。
【0110】
(ツリーベースの分割)
本発明のツリーベースの分割において四分木(Quad Tree。QT)、二分木(Binary Tree。BT)、三分木(Ternary Tree。TT)などが支援できる。一つのツリー方式が支援される場合は単一ツリー分割と呼び、二つ以上のツリー方式が支援される場合は多重ツリー分割と呼ぶことができる。
【0111】
QTの場合は、ブロックが水平と垂直方向にそれぞれ二分割(すなわち、四分割)される方式(n)を意味し、BTの場合は、ブロックが水平又は垂直のうちの一つの方向に二分割される方式(b乃至g)を意味し、TTの場合は、ブロックが水平又は垂直のうちの一つの方向に三分割される方式(h乃至m)を意味する。
【0112】
ここで、QTの場合は、分割方向を水平と垂直のうちのいずれかに限定して四分割する方式(o、p)を支援することもできる。また、BTの場合は、均等な大きさを有する方式(b、c)のみを支援するか、或いは非均等な大きさを有する方式(d乃至g)のみを支援するか、或いは両方の方式を混合して支援することができる。また、TTの場合は、分割が特定の方向に偏る配置(左→右又は上→下の方向に1:1:2、2:1:1など)を有する方式(h、j、k、m)のみ支援するか、或いは中央に配置(1:2:1など)される方式(i、l)のみを支援するか、或いは両方の方式を混合して支援することができる。また、分割方向を水平と垂直方向にそれぞれ四分割(すなわち、16分割)される方式(q)も支援することができる。
【0113】
そして、前記ツリー方式のうち、水平分割方向に限定してz分割する方式(b、d、e、h、i、j、o)を支援するか、或いは垂直分割方向に限定してz分割する方式(c、f、g、k、l、m、p)を支援するか、或いは両方の方式を混合して支援することができる。ここで、zは、2、3、4のような2以上の整数であり得る。
【0114】
本発明において、QTはn、BTはbとc、TTはiとlを支援する場合を仮定して説明する。
【0115】
符号化の設定に応じて前記ツリー分割のうちの一つ以上の方式が支援できる。例えば、QTを支援することができるか、或いはQT/BTを支援することができるか、或いはQT/BT/TTを支援することができる。
【0116】
上記の例は、基本ツリー分割がQTであり、その他のツリー支援有無に応じてBTとTTが追加分割方式に含まれる場合についての例であるが、様々な変形が可能である。このとき、その他のツリー支援有無についての情報(bt_enabled_flag、tt_enabled_flag、bt_tt_enabled_flagなど。0又は1の値を持つことができ、0であれば支援せず、1であれば支援)は、符号化の設定に応じて黙示的に定められるか、或いはシーケンス、ピクチャ、サブピクチャ、スライス、タイル、ブリックなどの単位で明示的に決定できる。
【0117】
分割情報は、分割か否かについての情報(tree_part_flag、又は、qt_part_flag、bt_part_flag、tt_part_flag、bt_tt_part_flag。0又は1の値を持つことができ、0であれば分割されず、1であれば分割される)が含まれ得る。また、分割方式(BTとTT)に応じて分割方向(dir_part_flag、又は、bt_dir_part_flag、tt_dir_part_flag、bt_tt_dir_part_flag。0又は1の値を持つことができ、0であれば<横/水平>であり、1であれば<縦/垂直>)についての情報が追加でき、これは、分割が行われる場合に発生可能な情報であることができる。
【0118】
複数のツリー分割が支援される場合には、様々な分割情報構成が可能である。次は、一つの深さ(Depth)レベル(つまり、支援される分割深さが一つ以上に設定されて再帰的な分割が可能であることもあるが、説明の便宜のための目的)で分割情報がどのように構成されているかについての例として仮定して説明する。
【0119】
一例(1)として、分割か否かについての情報を確認する。このとき、分割が行われない場合であれば、分割が終了する。
【0120】
もし分割が行われる場合であれば、分割の種類に関する選択情報(例えば、tree_idx。0であればQT、1であればBT、2であればTT)を確認する。このとき、選択される分割の種類に応じて分割方向情報をさらに確認し、次のステップ(分割深さが最大に達していない場合などの理由により追加分割が可能であれば、さらに最初から開始し、分割が不可能であれば、分割終了)に移行する。
【0121】
一例(2)として、一部のツリー方式(QT)に対する分割か否かについての情報を確認し、次のステップに移行する。このとき、分割が行われない場合であれば、一部のツリー方式(BT)の分割か否かについての情報を確認する。このとき、分割が行われない場合であれば、一部のツリー方式(TT)の分割か否かについての情報を確認する。このとき、分割が行われない場合であれば、分割が終了する。
【0122】
もし一部のツリー方式(QT)の分割が行われる場合であれば、次のステップに移行する。また、もし一部のツリー方式(BT)の分割が行われる場合であれば、分割方向情報を確認し、次のステップに移行する。また、もし一部のツリー分割方式(TT)の分割が行われる場合であれば、分割方向情報を確認し、次のステップに移行する。
【0123】
一例(3)として、一部のツリー方式(QT)に対する分割か否かについての情報を確認する。このとき、分割が行われない場合であれば、一部のツリー方式(BTとTT)の分割か否かについての情報を確認する。このとき、分割が行われない場合であれば、分割が終了する。
【0124】
もし一部のツリー方式(QT)の分割が行われる場合であれば、次のステップに移行する。また、もし一部のツリー方式(BTとTT)の分割が行われる場合であれば、分割方向情報を確認し、次のステップに移行する。
【0125】
上記の例は、ツリー分割の優先順位が存在(2番と3番の例)するか或いは存在しない場合(1番の例)であり得るが、様々な変形の例が可能である。また、上記の例において、現在ステップの分割は、以前ステップの分割結果とは無関係な場合を説明する例であるが、現在ステップの分割が以前ステップの分割結果に依存的な設定も可能である。
【0126】
例えば、1番乃至3番の例は、以前ステップで一部のツリー方式の分割(QT)が行われて現在ステップに移されてきた場合であれば、現在ステップでも同じツリー方式(QT)の分割が支援できる。
【0127】
一方、以前ステップで一部のツリー方式の分割(QT)が行われず、他のツリー方式の分割(BT又はTT)が行われて現在ステップに移されてきた場合であれば、一部のツリー方式の分割(QT)を除いて一部のツリー方式の分割(BTとTT)が現在ステップを含む後続ステップに支援される設定も可能である。
【0128】
上述したような場合には、ブロック分割に支援されるツリー構成が適応的であり得るということを意味するので、前述した分割情報構成も異なるように構成できることを意味する。(後述する例は3番の例と仮定)すなわち、上記の例において一部のツリー方式(QT)の分割が以前ステップで行われていない場合、現在ステップでは一部のツリー方式(QT)は考慮せずに分割過程が行われ得る。また、関連ツリー方式に関する分割情報(例えば、分割か否かについての情報、分割方向情報など。本例<QT>では、分割か否かについての情報)は除去して構成できる。
【0129】
上記の例は、ブロック分割が許容される場合(例えば、ブロックの大きさが最大値と最小値の間の範囲内に存在する。各ツリー方式の分割深さが最大深さ<許容深さ>に達しないなど)に対する適応的な分割情報構成に関する場合であり、ブロック分割が制限される場合(例えば、ブロックの大きさが最大値と最小値の間の範囲に存在しない。各ツリー方式の分割深さが最大深さに達するなど)にも適応的な分割情報構成が可能である。
【0130】
既に述べたように、本発明において、ツリーベースの分割は、再帰的な方式を用いて行われ得る。例えば、分割深さがkである符号化ブロックの分割フラグが0である場合、符号化ブロックの符号化は、分割深さがkである符号化ブロックで行われ、分割深さがkである符号化ブロックの分割フラグが1である場合、符号化ブロックの符号化は、分割方式に応じて、分割深さがk+1であるN個のサブ符号化ブロック(このとき、Nは2、3、4などの2以上の整数)で行われる。
【0131】
前記サブ符号化ブロックは、再び符号化ブロック(k+1)に設定され、前記過程を経て、サブ符号化ブロック(k+2)に分割できる。このような階層的分割方式は、分割範囲及び分割許容深さなどの分割設定に応じて決定できる。
【0132】
このとき、分割情報を表現するためのビットストリーム構造は、一つ以上のスキャン方法の中から選択することができる。例えば、分割深さの順序を基準に分割情報のビットストリームを構成することができるか、或いは分割か否かを基準に分割情報のビットストリームを構成することができる。
【0133】
例えば、分割深さの順序を基準とした場合、最初ブロックを基準に現レベルの深さでの分割情報を取得した後、次のレベルの深さでの分割情報を取得する方法であり、分割か否かを基準とした場合、最初ブロックを基準に分割されたブロックでの追加分割情報を優先的に取得する方法を意味し、他の追加のスキャン方法が考慮できる。
【0134】
最大ブロックの大きさと最小ブロックの大きさは、ツリーの種類に関係なく、(又はすべてのツリー)共通する設定を持つことができるか、或いは各ツリーに応じて個別的な設定を持つことができるか、或いは二つ以上のツリーに対する共通の設定を持つことができる。この時、最大ブロックの大きさは、最大符号化ブロックと同じかより小さく設定できる。もし所定の第1ツリーによる最大ブロックの大きさが最大符号化ブロックと同じでなければ、第1ツリーの最大ブロックの大きさに到達するまで所定の第2ツリー方式を用いて黙示的に分割を行う。
【0135】
そして、ツリーの種類に関係なく、共通の分割深さが支援できるか、或いは各ツリーに応じて個別的な分割深さが支援できるか、或いは二つ以上のツリーに対する共通の分割深さが支援できる。又は、一部のツリーには分割深さが支援され、一部のツリーには分割深さが支援されなくてもよい。
【0136】
前記設定情報に対する明示的な構文要素が支援でき、一部の設定情報は黙示的に定められてもよい。
【0137】
(インデックスベースの分割)
【0138】
本発明のインデックスベースの分割において、CSI(Constant Split Index)方式とVSI(Variable Split Index)方式などが支援できる。
【0139】
CSI方式は、所定の方向の分割によってk個のサブブロックが取得される方式であり得る。このとき、kは2、3、4などの2以上の整数であり得る。詳細には、ブロックの大きさ及び形状に関係なく、前記k値に基づいて、サブブロックの大きさ及び形状が定められる構成の分割方式であり得る。ここで、所定の方向は、水平、垂直、対角線(左上→右下方向、又は、左下→右上方向など)方向のうちの一つ又は二つ以上の方向が結合できる。
【0140】
本発明のインデックスベースのCSI分割方式は、水平又は垂直のうちのいずれかの方向にz個に分割される候補を含むことができる。このとき、zは、2、3、4などの2以上の整数であり、各サブブロックの横又は縦の長さのうち、いずれか一つは同じであり、他の一つは同じか異なり得る。前記サブブロックの横又は縦の長さ比はA:A:...:Aであって、A乃至Aは1、2、3などの1以上の整数であり得る。
【0141】
また、水平と垂直方向にそれぞれx、y個に分割される候補を含むことができる。このとき、xとyは1、2、3、4などの1以上の整数であり得るが、xとyが同時に1である場合(aが既に存在するので)は制限することができる。図4は、各サブブロックの横又は縦の長さ比が同じである場合を示しているが、異なる場合を含む候補を含んでもよい。
【0142】
また、一部の対角線方向(左上→右下方向)又は一部の対角線方向(左下→右上方向)のうちのいずれか一方向にw個に分割される候補を含むことができ、wは2、3などの2以上の整数であることができる。
【0143】
図4を参照すると、各サブブロックの長さ比によって対称的な分割形態(b)と非対称的な分割形態(d、e)に区分することができ、特定の方向に偏った分割形態(k、m)と中央に配置される分割形態(k)に区分することができる。サブブロックの長さ比だけでなく、サブブロックの形態などを含む様々な符号化要素によって分割形態を定義することができるが、符号化の設定に応じて、支援される分割形態が黙示的又は明示的に定められ得る。そこで、支援される分割形態に基づいてインデックスベースの分割方式での候補群が定められ得る。
【0144】
一方、VSI方式は、サブブロックの幅w又は高さhが固定されたまま、所定の方向の分割を介して一つ以上のサブブロックが取得される方式であり得る。wとhは1、2、4、8などの1以上の整数であり得る。詳細には、ブロックの大きさ及び形状と前記w又はnの値に基づいてサブブロックの個数が定められる構成の分割方式であり得る。
【0145】
本発明のインデックスベースのVSI分割方式は、サブブロックの横又は縦の長さのうちのいずれか一つを固定して分割される候補を含むことができる。又は、サブブロックの横と縦の長さを固定して分割される候補を含むことができる。サブブロックの横又は縦の長さが固定されるので、水平又は垂直方向に均等分割を許容する特徴を持つことができるが、これに限定されない。
【0146】
分割前のブロックがM×Nであり、サブブロックの横の長さが固定(w)されるか、或いは縦の長さが固定(h)されるか、或いは横と縦の長さが固定(w、h)される場合には、取得されるサブブロックの個数は、それぞれ(M*N)/w、(M*N)/h、(M*N)/w/hであることができる。
【0147】
符号化の設定に応じて、CSI方式のみ支援されるか、或いはVSI方式のみ支援されるか、或いは両方の方式とも支援されることができ、支援される方式についての情報が黙示的又は明示的に定められ得る。
【0148】
本発明では、CSI方式が支援される場合を仮定して説明する。
【0149】
符号化の設定に応じて、前記インデックス分割のうちの二つ以上の候補を含んで候補群を構成することができる。
【0150】
例えば、{a、b、c}、{a、b、c、n}、{a乃至g、n}のような候補群を構成することができるが、水平又は垂直方向に二分割されるか、或いは水平と垂直方向にそれぞれ二分割されるブロック形状のように、一般的な統計的特性に基づいて多く発生するものと予測されるブロック形状を候補群として構成する例であり得る。
【0151】
又は、{a、b}、{a、o}、{a、b、o}又は{a、c}、{a、p}、{a、c、p}のような候補群を構成することができるが、それぞれ水平と垂直方向に二分割、四分割される候補を含む。これは、特定の方向の分割が多く発生するものと予測されるブロック形状を候補群として構成する例であり得る。
【0152】
又は、{a、o、p}又は{a、n、q}のような候補群を構成することができるが、分割前のブロックよりも小さい大きさを有する分割が多く発生するものと予測されるブロック形状を候補群として構成する例であり得る。
【0153】
又は、{a、r、s}のような候補群を構成することができるが、分割前のブロックから他の方式(ツリー方式)を用いて長方形の形状に得ることができる最適な分割結果を得たものと判断し、非四角形の分割形態を候補群として構成する例であり得る。
【0154】
上記例のように様々な候補群の構成が可能であり、一つ以上の候補群の構成が様々な符号化要素を考慮して支援できる。
【0155】
前記候補群の構成が完了すると、さまざまな分割情報構成が可能である。
【0156】
例えば、分割されない候補(a)と分割される候補(b乃至s)を含んで構成される候補群からインデックス選択情報が発生することができる。
【0157】
又は、分割か否かを示す情報(分割形態がaであるか否か)が発生することができ、分割が行われる場合(aではない場合)に分割される候補(b乃至s)で構成される候補群からインデックス選択情報が発生することができる。
【0158】
上記説明以外の多様な方式の分割情報構成が可能であり、前記分割か否かを示す情報を除いては候補群で各候補のインデックスに固定長の2値化、可変長の2値化などの様々な方法を用いてバイナリビットが割り当てられ得る。もし候補群の個数が二つである場合には、インデックス選択情報に1ビットが割り当てられ、三つ以上である場合には、インデックス選択情報に1ビット以上が割り当てられ得る。
【0159】
ツリーベースの分割方式とは異なり、インデックスベースの分割方式は、多く発生すると予測される分割形態を選別的に候補群に構成する方式であることができる。
【0160】
そして、支援される候補群の個数に応じて、インデックス情報を表現するためのビット量が増加することができるので、ツリーベースの方式の階層的分割(再帰的分割)ではなく、単一階層分割(例えば、分割深さが0に限定)に適した方式であり得る。つまり、1回の分割動作を支援する方式であってもよく、インデックスベースの分割を介して取得されたサブブロックはそれ以上の追加の分割が不可能な方式であってもよい。
【0161】
このとき、より小さい大きさを有する同じ種類のブロックへの追加分割が不可能な場合(例えば、インデックス分割方式によって取得された符号化ブロックは、符号化ブロックへの追加分割が不可)を意味することができるが、他の種類のブロックへの追加分割が不可能な設定(例えば、符号化ブロックから符号化ブロックだけでなく、予測ブロックへの分割も不可)も可能である。もちろん、上記の例に限定されず、他の変形の例が可能である。
【0162】
次に、符号化要素のうちブロックの種類を中心にブロック分割の設定が定められる場合について考察する。
【0163】
まず、分割過程を介して符号化ブロックが取得できる。ここで、分割過程は、ツリーベースの分割方式が使用でき、ツリーの種類によって図4のa(no split)、n(QT)、b、c(BT)、i、l(TT)などの分割形態結果が得られる。符号化の設定に応じて、QT/QT+BT/QT+BT+TTなどの各ツリーの種類の様々な組み合わせが可能である。
【0164】
後述する例は、上記の過程によって取得された符号化ブロックを基礎に予測ブロックと変換ブロックが最終的に区画される過程を示し、各区画された大きさに基づいて予測、変換及び逆変換過程が行われる場合を仮定する。
【0165】
一例(1)として、符号化ブロックの大きさのまま予測ブロックが設定されて予測過程を行うことができ、符号化ブロック(又は予測ブロック)の大きさのまま変換ブロックが設定されて変換及び逆変換過程を行うことができる。予測ブロックと変換ブロックの場合は、符号化ブロックに基づいて設定されたため、別に発生する分割情報は存在しない。
【0166】
一例(2)として、符号化ブロックの大きさのまま予測ブロックが設定されて予測過程を行うことができる。変換ブロックの場合は、符号化ブロック(又は予測ブロック)を基礎に分割過程を介して変換ブロックが取得でき、取得された大きさに基づいて変換及び逆変換過程を行うことができる。
【0167】
ここで、分割過程は、ツリーベースの分割方式が使用でき、ツリーの種類に応じて、図4のa(no split)、b、c(BT)、i、l(TT)、n(QT)などの分割形態結果が得られる。符号化の設定に応じて、QT/BT/QT+BT/QT+BT+TTなどの各ツリーの種類の様々な組み合わせが可能である。
【0168】
ここで、分割過程は、インデックスベースの分割方式が使用でき、インデックスの種類に応じて、図4のa(no split)、b、c、dなどの分割形態の結果が得られる。符号化の設定に応じて、{a、b、c}、{a、b、c、d}などのさまざまな候補群の構成が可能である。
【0169】
一例(3)として、予測ブロックの場合は、符号化ブロックを基礎に分割過程を行うことにより予測ブロックが取得でき、取得された大きさに基づいて予測過程を行うことができる。変換ブロックの場合は、符号化ブロックの大きさのまま設定されて変換及び逆変換過程を行うことができる。本例は、予測ブロックと変換ブロックが互いに独立した関係を持つ場合に該当することができる。
【0170】
ここで、分割過程は、インデックスベースの分割方式が使用でき、インデックスの種類に応じて、図4のa(no split)、b乃至g、n、r、sなどの分割形態結果が得られる。符号化の設定に応じて、{a、b、c、n}、{a乃至g、n}、{a、r、s}などのさまざまな候補群の構成が可能である。
【0171】
一例(4)として、予測ブロックの場合は、符号化ブロックを基礎に分割過程を行うことにより予測ブロックが取得でき、取得された大きさに基づいて予測過程を行うことができる。変換ブロックの場合は、予測ブロックの大きさのまま設定されて変換及び逆変換過程を行うことができる。本例は、取得された予測ブロックの大きさのまま変換ブロックが設定される場合であってもよく、又はその逆の場合(変換ブロックの大きさのまま予測ブロックが設定)であってもよい。
【0172】
ここで、分割過程は、ツリーベースの分割方式が使用でき、ツリーの種類に応じて、図4のa(no split)、b、c(BT)、n(QT)などの分割形態が得られる。符号化の設定に応じて、QT/BT/QT+BTなどの各ツリーの種類の様々な組み合わせが可能である。
【0173】
ここで、分割過程は、インデックスベースの分割方式が使用でき、インデックスの種類に応じて、図4のa(no split)、b、c、n、o、pなどの分割形態が得られる。符号化の設定に応じて、{a、b}、{a、c}、{a、n}、{a、o}、{a、p}、{a、b、c}、{a、o、p}、{a、b、c、n}、{a、b、c、n、p}などのさまざまな候補群の構成が可能である。また、インデックスベースの分割方式のうち、VSI方式が単独で、又は前記CSI方式と組み合わせられて候補群が構成されてもよい。
【0174】
一例(5)として、予測ブロックの場合は、符号化ブロックを基礎に分割過程を行うことにより予測ブロックが取得でき、取得された大きさに基づいて予測過程を行うことができる。また、変換ブロックの場合も、符号化ブロックを基礎に分割過程を行うことにより予測ブロックが取得でき、取得された大きさに基づいて変換及び逆変換過程を行うことができる。本例は、符号化ブロックを基礎に予測ブロックと変換ブロックそれぞれの分割を行う場合であり得る。
【0175】
ここで、分割過程は、ツリーベースの分割方式とインデックスベースの分割方式が使用でき、4番の例と同一又は類似に候補群が構成できる。
【0176】
上記の例は、各種類のブロックの分割過程が共有されるか否かなどによって発生可能な一部の場合を説明しているが、これに限定されず、様々な変形の例が可能である。また、ブロックの種類だけでなく、様々な符号化要素が考慮されてブロック分割設定が定められ得る。
【0177】
このとき、符号化要素は、画像タイプ(I/P/B)、カラー成分(YCbCr)、ブロックの大きさ/形状/位置、ブロックの横/縦の長さ比、ブロックの種類(符号化ブロック、予測ブロック、変換ブロック、量子化ブロックなど)、分割状態、符号化モード(Intra/Inter)、予測関連情報(画面内予測モード、画面間予測モードなど)、変換関連情報(変換技法選択情報など)、量子化関連情報(量子化領域選択情報、量子化された変換係数符号化情報など)などが含まれ得る。
【0178】
本発明の一実施形態による画像符号化方法において、画面間予測は、次のとおりに構成できる。予測部の画面間予測は、参照ピクチャ構成ステップ、動き推定ステップ、動き補償ステップ、動き情報決定ステップ、及び動き情報符号化ステップを含むことができる。また、画像符号化装置は、参照ピクチャ構成ステップ、動き推定ステップ、動き補償ステップ、動き情報決定ステップ、及び動き情報符号化ステップを実現する参照ピクチャ構成部、動き推定部、動き補償部、動き情報決定部、及び動き情報符号化部を含むように構成することができる。前述した過程の一部は省略できるか、或いは他の過程が追加でき、前記記載された順序ではなく、他の順序で変更できる。
【0179】
本発明の一実施形態による画像復号化方法において、画面間予測は、次のとおりに構成できる。予測部の画面間予測は、動き情報復号化ステップ、参照ピクチャ構成ステップ、及び動き補償ステップを含むことができる。また、画像復号化装置は、動き情報復号化ステップ、参照ピクチャ構成ステップ、動き補償ステップを実現する動き情報復号化部、参照ピクチャ構成部、動き補償部を含むように構成することができる。前述した過程の一部が省略できるか、或いは他の過程が追加でき、前記記載された順序ではなく、他の順序に変更できる。
【0180】
画像復号化装置の参照ピクチャ構成部、動き補償部は、画像符号化装置の対応する構成と同じ役割を果たすので、詳細な説明は省略し、動き情報復号化部は、動き情報符号化部で使用した方式を逆に使用して行われ得る。ここで、動き補償部に介して生成される予測ブロックは、加算部へ送信することができる。
【0181】
図5は本発明の画面間予測を介して予測ブロックを取得する様々な場合を示す例示図である。
【0182】
図5を参照すると、一方向予測は、以前に符号化された参照ピクチャT-1、T-2から予測ブロック(A.前方向予測)を取得することができるか、或いは以後に符号化された参照ピクチャT+1、T+2から予測ブロック(B.後方向予測)を取得することができる。双方向予測は、以前に符号化された複数の参照ピクチャT-2乃至T+2から予測ブロック(C、D)を生成することができる。一般的に、P画像タイプは一方向予測、B画像タイプは双方向予測を支援することができる。
【0183】
上記の例のように、現在ピクチャの符号化に参照されるピクチャは、メモリから取得でき、現在ピクチャTを基準に、時間順序又はディスプレイ順序(Display Order)が現在ピクチャの以前である参照ピクチャと、時間順序又はディスプレイ順序が現在ピクチャの以後である参照ピクチャを含めて参照ピクチャリストを構成することができる。
【0184】
現在画像を基準に以前又は以後の画像だけでなく、現在画像で画面間予測Eを行うことができる。現在画像で画面間予測を行うことを無方向予測(Non-directional Prediction)と呼ぶことができる。これは、I画像タイプで支援されるか、或いはP/B画像タイプで支援されることができる。符号化の設定に応じて、支援される画像タイプが定められることができる。現在画像で画面間予測を行うことは、空間的相関性を利用して予測ブロックを生成するもので、時間的相関性を利用するための目的で他の画像で画面間予測を行うことが異なるだけであり、予測方法(例えば、参照画像、動きベクトルなど)は同一であり得る。
【0185】
ここで、画面間予測を行うことができる画像タイプとしてPとBピクチャである場合を仮定したが、その他の追加又は代替される様々な画像タイプにも適用可能である。例えば、所定の画像タイプは、画面内予測は支援せず、画面間予測のみを支援することができ、所定の方向(後方向)の画面間予測のみを支援することができ、所定の方向の画面間予測のみを支援することができる。
【0186】
参照ピクチャ構成部では、参照ピクチャリストを介して、現在ピクチャの符号化に使用される参照ピクチャを構成し、管理することができる。符号化の設定(例えば、画像タイプ、予測方向など)に応じて少なくとも一つの参照ピクチャリストを構成することができ、参照ピクチャリストに含まれている参照ピクチャから予測ブロックを生成することができる。
【0187】
一方向予測の場合、参照ピクチャリスト0(L0)又は参照ピクチャリスト1(L1)に含まれている少なくとも一つの参照ピクチャで画面間予測を行うことができる。また、双方向予測の場合、L0とL1を結合して生成される複合リストLCに含まれている少なくとも一つの参照ピクチャで画面間予測を行うことができる。
【0188】
例えば、一方向予測は、前方向参照ピクチャリストL0を使用した前方向予測Pred_L0と、後方向参照ピクチャリストL1を使用した後方向予測Pred_L1に区分することができる。双方向予測Pred_BIは、前方向参照ピクチャリストL0と後方向参照ピクチャリストL1を全て使用することができる。
【0189】
又は、前方向参照ピクチャリストL0を後方向参照ピクチャリストL1にコピーして、2つ以上の前方向予測を行うことも双方向予測に含まれることができ、後方向参照ピクチャリストL1を前方向参照ピクチャリストL0にコピーして、2つ以上の後方向予測を行うことも双方向予測に含まれることができる。
【0190】
前記予測方向は、当該方向を指示するフラグ情報(例えば、inter_pred_idc。この値はpredFlagL0、predFlagL1、predFlagBIによって調整可能であると仮定)によって表すことができる。predFlagL0は前方向予測か否かを示し、predFlagL1は後方向予測か否かを示す。双方向予測は、predFlagBIを介して予測状況を示すか、或いはpredFlagL0とpredFlagL1が同時に活性化する(例えば、各フラグが1である場合)ことを示すことができる。
【0191】
本発明では、前方向参照ピクチャリストを使用する前方向予測であり且つ一方向予測である場合を中心に説明するが、前記他の場合にも、同一または変更適用が可能である。
【0192】
一般的に、符号化するピクチャに対する最適の参照ピクチャを符号化器で決定し、当該参照ピクチャに対する情報を復号化器に明示的に伝送する方法を使用することができる。このため、参照ピクチャ構成部は、現在ピクチャの画面間予測に参照されるピクチャリストに対する管理を行うことができ、制限的なメモリサイズを考慮して参照ピクチャ管理のための規則を設定することができる。
【0193】
前記伝送される情報をRPS(Reference Picture Set)と定義することができ、RPSに選択されたピクチャは参照ピクチャとして区分されてメモリ(又はDPB)に格納され、RPSに選択されていないピクチャは非参照ピクチャとして区分されて一定時間後にメモリから除去され得る。メモリには、既に設定された数のピクチャ(例えば、14、15、16個のピクチャ又はそれ以上)を格納することができ、レベルと画像の解像度に応じてメモリのサイズが設定できる。
【0194】
図6は本発明の一実施形態による参照ピクチャリストを構成する例示図である。
【0195】
図6を参照すると、一般的に現在ピクチャ以前に存在する参照ピクチャT-1、T-2はL0に割り当てられ、現在ピクチャ以後に存在する参照ピクチャT+1、T+2はL1に割り当てられて管理できる。L0を構成するとき、L0の参照ピクチャ許容個数まで満たさない場合、L1の参照ピクチャを割り当てることができる。これと同様にL1を構成するとき、L1の参照ピクチャ許容個数まで満たさない場合、L0の参照ピクチャを割り当てることができる。
【0196】
また、現在ピクチャを少なくとも一つの参照ピクチャリストに含むことができる。例えば、L0又はL1に現在ピクチャを含むことができ、現在ピクチャ以前の参照ピクチャに、時間的順序がTである参照ピクチャ(又は現在ピクチャ)を追加してL0を構成することができ、現在ピクチャ以後の参照ピクチャに、時間的順序がTである参照ピクチャを追加してL1を構成することができる。
【0197】
参照ピクチャリストの構成は、符号化の設定に応じて定められることができる。
【0198】
現在ピクチャを参照ピクチャリストに含まず、参照ピクチャリストと区分される個別的なメモリを介して管理することができるか、或いは現在ピクチャを少なくとも一つの参照ピクチャリストに含めて管理することができる。
【0199】
例えば、現在ピクチャを参照ピクチャリストに含むか否かを指示する信号(curr_pic_ref_enabled_flag)によって決定できる。ここで、前記信号は、黙示的に決定されるか或いは明示的に発生する情報であることができる。
【0200】
詳細には、前記信号が非活性化された場合(例えば、curr_pic_ref_enabled_flag=0)には、いずれの参照ピクチャリストにも現在ピクチャを参照ピクチャとして含まず、前記信号が活性化された場合(例えば、curr_pic_ref_enabled_flag=1)には、所定の参照ピクチャリストに現在ピクチャを含むか否かが黙示的(例えば、L0にのみ追加、L1にのみ追加、L0とL1に同時に追加可能)に定めたられるか、或いは明示的に関連信号(例えば、curr_pic_ref_from_l0_flag、curr_pic_ref_from_l1_flag)が生成されて決定できる。前記信号は、シーケンス、ピクチャ、サブピクチャ、スライス、タイル、ブリックなどの単位で支援できる。
【0201】
ここで、現在ピクチャは、図6に示すように参照ピクチャリストの一番目又は最終目の順序に位置することができ、符号化の設定(例えば、画像のタイプ情報など)に応じてリスト内の配置順序が定められることができる。例えば、Iタイプには一番目に位置することができ、P/Bタイプには最終目に位置することができ、これに限定されず、他の変形の例が可能である。
【0202】
又は、現在ピクチャでブロックマッチング(又はテンプレートマッチング)を支援するか否かを指示する信号(ibc_enabled_flag)に応じて、個別的な参照ピクチャメモリを支援することができる。ここで、前記信号は、黙示的に決定されるか或いは明示的に発生する情報であることができる。
【0203】
詳細には、前記信号が非活性化された場合(例えば、ibc_enabled_flag=0)には、現在ピクチャでブロックマッチングを支援しないことを意味し、前記信号が活性化された場合(例えば、ibc_enabled_flag=1)には、現在ピクチャでブロックマッチングを支援し、このための参照ピクチャメモリを支援することができる。本例では、追加メモリを提供することを仮定したが、追加メモリを提供せずに、現在ピクチャのために支援される既存のメモリで直接ブロックマッチングを支援する設定も可能である。
【0204】
参照ピクチャ構成部は、参照ピクチャ補間部を含むことができ、画面間予測の補間精度に応じて、小数単位の画素のための補間過程を行うか否かが決定できる。例えば、整数単位の補間精度を有する場合には、参照ピクチャ補間過程は省略され、小数単位の補間精度を有する場合には、参照ピクチャ補間過程を行うことができる。
【0205】
参照ピクチャ補間過程に使用される補間フィルタの場合、符号化の設定に応じて黙示的に定められることができるか、或いは複数の補間フィルタの中から明示的に決定され得る。前記複数の補間フィルタの構成は、固定的な候補を支援するか、或いは符号化の設定に応じて適応的な候補を支援することができ、候補の個数は2、3、4又はそれ以上の整数であることができる。前記明示的に決定される単位は、シーケンス、ピクチャ、サブピクチャ、スライス、タイル、レブリック、ブロックなどの中から定められることができる。
【0206】
ここで、符号化の設定は、画像タイプ、カラー成分、対象ブロックの状態情報(例えば、ブロックの大きさ、形状、横/縦の長さ比など)、画面間予測の設定(例えば、動き情報符号化モード、動きモデル選択情報、動きベクトル精度選択情報、参照ピクチャ、参照方向など)などによって定められることができる。前記動きベクトル精度は、動きベクトル(すなわち、pmv+mvd)の精度を意味することができるが、動きベクトル予測値pmv又は動きベクトル差分値mvdの精度で置き換えられてもよい。
【0207】
ここで、補間フィルタの場合、k-tapのフィルタ長さを持つことができ、kは2、3、4、5、6、7、8又はそれ以上の整数であり得る。フィルタ係数は、ウィーナーフィルタ、カルマンフィルタなどの様々な係数特性を有する数式から誘導可能である。補間に使用されるフィルタ情報(例えば、フィルタ係数、タップ情報など)は、黙示的に定められるか誘導されることができ、或いは関連情報が明示的に生成されることができる。このとき、フィルタ係数は0を含んで構成できる。
【0208】
前記補間フィルタは、所定の画素単位に適用できるが、所定の画素単位は、整数又は小数単位に限定されるか、或いは整数と小数単位に適用できる。
【0209】
例えば、補間対象画素(すなわち、小数単位画素)を中心に水平方向又は垂直方向に隣接するk個の整数単位画素に補間フィルタを適用することができる。
【0210】
又は、補間対象画素を中心に水平方向又は垂直方向に隣接するp個の整数単位画素とq個の小数単位画素(p+q=k)に補間フィルタを適用することができる。このとき、補間に参照される小数単位の精度(例えば、1/4単位)は、補間対象画素と同じかそれより低い精度(例えば、2/4→1/2)で表現できる。
【0211】
補間対象画素のx、y成分のうちの一つのみ小数単位に位置する場合には、小数単位の成分方向(例えば、x軸は水平、y軸は垂直)に隣接するk個の画素に基づいて補間を行うことができる。補間対象画素のx、y成分の両方とも小数単位に位置する場合には、水平/垂直のうちのいずれか一方向に隣接するx個の画素に基づいて1次補間を行い、残りの方向に隣接するy個の画素に基づいて補間を行うことができる。このとき、xとyはkと同じ場合を説明するが、これに限定されず、xとyは異なる場合も発生してもよい。
【0212】
前記補間対象画素は、補間精度(1/m)によって取得でき、mは1、2、4、8、16、32又はそれ以上の整数であることができる。補間精度は、符号化の設定に応じて黙示的に定められることができるか、或いは明示的に関連情報を生成することができる。前記符号化の設定は、画像タイプ、カラー成分、参照ピクチャ、動き情報符号化モード、動きモデル選択情報などに基づいて定義できる。前記明示的に定められる単位は、シーケンス、サブピクチャ、スライス、タイル、ブリックなどの中から定められることができる。
【0213】
前記過程を介して対象ブロックの補間フィルタ設定を取得し、それに基づいて参照ピクチャ補間を行うことができる。また、前記補間フィルタ設定に基づく詳細補間フィルタ設定を取得し、それに基づいて参照ピクチャ補間を行うことができる。つまり、対象ブロックの取得された補間フィルタ設定とは、一つの固定的な候補を取得したことであってもよいが、複数の候補の使用可能性を取得したことであってもよいことを仮定する。後述する例の補間精度は、1/16単位である場合(例えば、補間対象画素は15個)を仮定する。
【0214】
前記詳細補間フィルタ設定に対する例として、所定の位置の第1画素単位には、複数の候補のうちの一つが適応的に使用でき、所定の位置の第2画素単位には、予め定められた一つの補間フィルタが使用できる。
【0215】
前記第1画素単位は、補間精度によって支援される全体小数単位の画素(本例では、1/16乃至15/16)の中で定められることができ、第1画素単位に含まれる画素の個数はa個であり、aは0、1、2、...(m-1)個の間で定められることができる。
【0216】
前記第2画素単位は、全体小数単位の画素から第1画素単位を除いた画素を含むことができ、第2画素単位に含まれる画素の個数は、補間対象画素の総個数から第1画素単位の画素を除去して誘導できる。本例では、画素単位を2つに区分する例を説明したが、これに限定せず、3つ以上に区分する場合も可能である。
【0217】
例えば、第1画素単位は、1/2、1/4、1/8などの倍数単位で表現される単位であることができる。一例として、1/2単位の場合には8/16、1/4単位の場合には{4/16、8/16、12/16}、1/8単位の場合には{2/16、4/16、6/16、8/16、10/16、12/16、14/16}位置の画素であることができる。
【0218】
詳細補間フィルタの設定は、符号化の設定に応じて定められることができるが、符号化の設定は、画像タイプ、カラー成分、対象ブロックの状態情報、画面間予測設定などによって定義できる。以下、さまざまな符号化要素による詳細補間フィルタ設定に関する例を考察する。説明の便宜のために、aが0である場合とc以上である場合(cは1以上の整数)を仮定する。
【0219】
例えば、カラー成分(輝度、色差)の場合、aは(1、0)、(0、1)、(1、1)であり得る。又は、動き情報符号化モード(併合モード、競争モード)の場合、aは(1、0)、(0、1)、(1、1)、(1、3)であることができる。又は、動きモデル選択情報(移動動き、移動外の動きA、移動外の動きB)の場合には、(0、1、1)、(1、0、0)、(1、1、1)、(1、3、7)であることができる。又は、動きベクトル精度(1/2、1/4、1/8)の場合には、(0、0、1)、(0、1、0)、(1、0、0)、(0、1、1)、(1、0、1)、(1、1、0)、(1、1、1)であることができる。又は、参照ピクチャ(現在ピクチャ、他のピクチャ)の場合には、(0、1)、(1、0)、(1、1)であることができる。
【0220】
前述したように複数の補間精度の中からいずれか一つを選択して補間過程が行われることができ、適応的な補間精度による補間過程が支援される場合(例えば、adaptive_ref_resolution_enabled_flag.0であれば、所定の補間精度を使用し、1であれば、複数の補間精度のいずれかを使用)には、精度選択情報(例えば、ref_resolution_idx)が生成できる。
【0221】
補間精度に応じて動き推定及び補償過程が実行でき、動きベクトルに対する表現単位及び格納単位も補間精度に基づいて決定できる。
【0222】
例えば、補間精度が1/2単位である場合には、動き推定及び補償過程は1/2単位で行われ、動きベクトルは1/2単位で表現され、符号化過程に使用できる。また、動きベクトルは1/2単位で格納され、他のブロックの動き情報符号化過程に参照できる。
【0223】
又は、補間精度が1/8単位である場合、動き推定及び補償過程は1/8単位で行われ、動きベクトルは1/8単位で表現されて符号化過程に使用でき、1/8単位で格納できる。
【0224】
また、動き推定及び補償過程と動きベクトルは、整数、1/2、1/4単位など、補間精度とは異なる単位で実行、表現及び格納できるが、これは、画面間予測方法/設定(例えば、動き推定/補償方法、動きモデル選択情報、動き情報符号化モードなど)に応じて適応的に決定できる。
【0225】
一例として、補間精度は1/8単位であると仮定するとき、移動動きモデルの場合、動き推定及び補償過程は1/4単位で行われ、動きベクトルは1/4単位で表現(本例は、符号化過程で単位を仮定)され、1/8単位で格納できる。移動外の動きモデルの場合、動き推定及び補償過程は1/8単位で行われ、動きベクトルは1/4単位で表現され、1/8単位で格納できる。
【0226】
一例として、補間精度は1/8単位であると仮定するとき、ブロックマッチングの場合、動き推定及び補償過程は1/4単位で行われ、動きベクトルは1/4単位で表現され、1/8単位で格納できる。テンプレートマッチングの場合、動き推定及び補償過程は1/8単位で行われ、動きベクトルは1/8単位で表現され、1/8単位で格納できる。
【0227】
一例として、補間精度は1/16単位であると仮定するとき、競争モードの場合、動き推定及び補償過程は1/4単位で行われ、動きベクトルは1/4単位で表現され、1/16単位で格納できる。併合モードの場合、動き推定及び補償過程は1/8単位で行われ、動きベクトルは1/4単位で表現され、1/16単位で格納できる。スキップモードの場合、動き推定及び補償過程は1/16単位で行われ、動きベクトルは1/4単位で表現され、1/16単位で格納できる。
【0228】
まとめると、画面間予測方法または設定、及び補間精度に基づいて、動き推定及び補償と動きベクトル表現及び格納単位が適応的に決定できる。詳細には、画面間予測方法又は設定に応じて動き推定及び補償と動きベクトル表現単位は適応的に定められることができ、動きベクトルの格納単位は補間精度に応じて定められることが一般的であり得るが、これに限定せず、様々な変形の例が可能である。また、上記の例では、一つのカテゴリー(例えば、動きモデル選択情報、動き推定/補償方法など)に応じた例示を挙げたが、2以上のカデゴリーが混合されて前記設定が定められる場合も可能である。
【0229】
また、前述したように補間精度情報が所定の値を持つか、或いは複数の精度のうちのいずれかに選択されることとは逆に、画面間予測方法又は設定に応じて支援される動き推定及び補償設定に基づいて参照ピクチャ補間精度が定められることができる。例えば、移動動きモデルの場合に1/8単位まで支援し、移動外の動きモデルの場合に1/16単位まで支援するとき、最も高い精度を有する移動外の動きモデルの精度単位に合わせて補間過程が行われ得る。
【0230】
つまり、移動動きモデル、移動外の動きモデル、競争モード、併合モード、スキップモードなどの支援される精度情報に対する設定に応じて、参照ピクチャ補間が行われ得る。この場合、前記精度情報が黙示的又は明示的に定められることができ、関連情報が明示的に生成される場合、シーケンス、ピクチャ、サブピクチャ、スライス、タイル、ブリックなどの単位に含まれることができる。
【0231】
動き推定部は、対象ブロックが所定の参照ピクチャの所定のブロックと高い相関性を持つかを推定(又は探索)する過程を意味する。予測が行われる対象ブロックの大きさ及び形状(M×N)は、ブロック分割部から取得できる。一例として、対象ブロックは4×4乃至128×128の範囲で決定できる。画面間予測は、予測ブロック単位で行われるのが一般的であり得るが、ブロック分割部の設定に応じて符号化ブロック、変換ブロックなどの単位で行われ得る。参照領域の推定可能な範囲内で推定を行い、少なくとも一つの動き推定方法を使用することができる。動き推定方法で画素単位の推定順序及び条件などを定義することができる。
【0232】
動き推定は、動き推定方法に基づいて行われ得る。例えば、動き推定過程のために比較しようとする領域は、ブロックマッチングの場合には対象ブロックであり、テンプレートマッチングの場合には対象ブロックを中心に設定される所定の領域(テンプレート)であることができる。前者の場合は、対象ブロックと参照領域の推定可能な範囲内で最大限に相関性が高いブロックを見つけることができ、後者の場合は、符号化の設定に応じて定義されるテンプレートと参照領域の推定可能な範囲内で最大限に相関性が高い領域を見つけることができる。
【0233】
動き推定は、動きモデル(Motion Model)に基づいて行われ得る。平行移動のみを考慮する移動動きモデル(Translation Motion Model)の他に、追加の動きモデルを使用して動き推定、補償を行うことができる。例えば、平行移動だけでなく、回転、遠近、ズームイン/ズームアウト(Zoom-in/out)などの動きを考慮する動きモデルを使用して動き推定、補償を行うことができる。これは、画像の地域的特性に応じて発生する前記様々な種類の動きを反映して予測ブロックを生成することにより、符号化性能を向上させるために支援できる。
【0234】
図7は本発明の一実施形態に係る移動外の動きモデルを示す概念図である。
【0235】
図7を参照すると、アフィンモデル(Affine Model)の一部の例示として、所定の位置の動きベクトルVとVに基づいて動き情報を表現する例を示している。複数の動きベクトルに基づいて動きを表現することができるので、正確な動き推定及び補償が可能である。
【0236】
上記の例のように、既に定義される動きモデルに基づいて画面間予測を行うが、追加の動きモデルに基づく画面間予測も支援できる。ここで、既に定義される動きモデルは移動動きモデルであり、追加の動きモデルはアフィンモデルである場合を仮定するが、これに限定されず、様々な変形が可能である。
【0237】
移動動きモデルの場合、一つの動きベクトルに基づいて動き情報(一方向予測を仮定)を表現することができ、動き情報を示すための制御点(基準点)は左上側座標である場合を仮定するが、これに限定しない。
【0238】
移動外の動きモデルの場合、さまざまな構成の動き情報で表現することができる。本例では、一つの動きベクトル(左上側座標を基準)に追加情報で表現される構成を仮定する。後述する例によって言及される一部の動き推定及び補償は、ブロック単位で行われなくてもよく、所定のサブブロック単位で行われてもよい。このとき、所定のサブブロックの大きさ及び位置は、各動きモデルに基づいて定められることができる。
【0239】
図8は本発明の一実施形態に係るサブブロック単位の動き推定を示す例示図である。詳細には、アフィンモデル(動きベクトル2つ)によるサブブロック単位の動き推定を示す。
【0240】
移動動きモデルの場合、対象ブロックに含まれる画素単位の動きベクトルは同一であることができる。つまり、画素単位に一括して適用される動きベクトルを持つことができ、一つの動きベクトルVを用いて動き推定、補償を行うことができる。
【0241】
移動外の動きモデル(アフィンモデル)の場合、対象ブロックに含まれる画素単位の動きベクトルは同一でなくてもよく、画素単位の個別的な動きベクトルが必要であってもよい。この際、対象ブロックの所定の制御点位置の動きベクトルV、Vに基づいて画素単位又はサブブロック単位の動きベクトルを誘導することができ、誘導された動きベクトルを用いて動き推定、補償を行うことができる。
【0242】
例えば、対象ブロック内のサブブロック又は画素単位の動きベクトル{例えば、(V、V)}は、V=(V1x-V0x)×x/M-(V1y-V0y)×y/N+V0x、V=(V1y-V0y)×x/M+(V1x-V0x)×y/N+V0yによる数式で導出できる。上記数式において、V{本例において、(V0x、V0y)}は、対象ブロックの左上側の動きベクトルを意味し、V{本例において、(V1x、V1y)}は、対象ブロックの右上側の動きベクトルを意味する。複雑度を考慮して、移動外の動きモデルの動き推定、動き補償は、サブブロック単位で行うことができる。
【0243】
ここで、前記サブブロック(M×N)の大きさは、符号化の設定に応じて定められることができ、固定的な大きさを有するか或いは適応的な大きさに設定できる。ここで、MとNは、2、4、8、16又はそれ以上の整数であることができ、MとNは同一であっても同一でなくてもよい。前記サブブロックの大きさは、シーケンス、ピクチャ、サブピクチャ、スライス、タイル、ブリックなどの単位で明示的に発生することができる。又は、黙示的に符号化器と復号化器の共通した約束によって定められることができるか、或いは符号化の設定によって定められることができる。
【0244】
ここで、符号化の設定は、対象ブロックの状態情報、画像タイプ、カラー成分、画面間予測設定情報(動き情報符号化モード、参照ピクチャ情報、補間精度、動きモデル選択情報など)などで一つ以上の要素によって定義できる。
【0245】
上記の例は、所定の移動外の動きモデルによるサブブロックの大きさを誘導し、それに基づいて動き推定及び補償を行う過程を説明した。上記の例のように動きモデルによるサブブロック又は画素単位の動き推定及び補償を行うことができ、これについての詳細な説明は省略する。
【0246】
以下、動きモデルに応じて構成される動き情報に関する様々な例を考察する。
【0247】
一例として、回転動きを表現する動きモデルの場合、一つの動きベクトルでブロックの移動動きを表現し、回転角度情報で回転動きを表現することができる。回転角度情報は、所定の位置(例えば、左上側の座標)を基準(0度)に測定でき、所定の角度範囲(例えば、-90度乃至90度の間)で所定の間隔(例えば、角度差分値が0度、11.25度、22.25度など)を持つk個の候補(kは1、2、3又はそれ以上の整数)で表現できる。
【0248】
ここで、回転角度情報は、動き情報符号化過程でそれ自体に符号化できるか、或いは隣接するブロックの動き情報(例えば、動きベクトル、回転角度情報)に基づいて符号化(例えば、予測+差分値情報)できる。
【0249】
又は、一つの動きベクトルでブロックの移動動きを表現し、一つ以上の追加動きベクトルでブロックの回転動きを表現することができる。このとき、追加動きベクトルの個数は1、2又はそれ以上の整数であることができ、追加動きベクトルの制御点は右上側、左下側、右下側座標の中から決定できるか、或いはその他のブロック内の座標を制御点として設定することができる。
【0250】
ここで、追加動きベクトルは、動き情報符号化過程でそれ自体に符号化できるか、或いは隣接するブロックの動き情報(例えば、移動動きモデル又は移動外の動きモデルによる動きベクトル)に基づいて符号化(例えば、予測+差分値情報)できるか、或いは回転動きを表現するブロック内の他の動きベクトルに基づいて符号化(例えば、予測+差分値情報)できる。
【0251】
一例として、ズームイン/ズームアウト状況などの大きさ調整又はスケーリング(Scaling)動きを表現する動きモデルの場合、一つの動きベクトルでブロックの移動動きを表現し、スケーリング情報で大きさ調整動きを表現することができる。スケーリング情報は、所定の位置(例えば、左上側の座標)を基準に水平又は垂直方向の拡張又は縮小を示すスケーリング情報で表現できる。
【0252】
ここで、水平又は垂直のうちの少なくとも一つの方向にスケーリングが適用できる。また、水平又は垂直方向に適用される個別的なスケーリング情報が支援できるか、又は共通に適用されるスケーリング情報が支援できる。所定の位置(左上側の座標)に前記スケーリング適用されたブロックの幅と高さが加算されて動き推定及び補償する位置が定められることができる。
【0253】
ここで、スケーリング情報は、動き情報符号化過程でそれ自体に符号化できるか、或いは隣接するブロックの動き情報(例えば、動きベクトル、スケーリング情報)に基づいて符号化(例えば、予測+差分値情報)できる。
【0254】
又は、一つの動きベクトルでブロックの移動動きを表現し、一つ以上の追加動きベクトルでブロックの大きさ調整を表現することができる。このとき、追加動きベクトルの個数は1、2つ又はそれ以上の整数であることができ、追加動きベクトルの制御点は右上側、左下側、右下側の座標の中で決定できるか、或いはその他のブロック内の座標を制御点として設定することができる。
【0255】
ここで、追加動きベクトルは、動き情報符号化過程でそれ自体に符号化できるか、或いは隣接するブロックの動き情報(例えば、移動動きモデル又は移動外の動きモデルによる動きベクトル)に基づいて符号化(例えば、予測+差分値情報)できるか、又はブロック内の所定の座標(例えば、右下側の座標)に基づいて符号化(例えば、予測+差分値)できる。
【0256】
上記の例で一部の動きを示すための表現に関する場合を説明したが、複数の動きを表現するための動き情報で表現されることも可能である。
【0257】
例えば、多様且つ複合的な動きを表現する動きモデルの場合、一つの動きベクトルでブロックの移動動きを表現し、回転角度情報で回転動きを表現し、スケーリング情報で大きさ調整を表現することができる。各動きに関する説明は、前述した例によって誘導することができるので、詳細な説明は省略する。
【0258】
又は、一つの動きベクトルでブロックの移動動きを表現し、一つ以上の追加動きベクトルでブロックのその他の動きを表現することができる。このとき、追加動きベクトルの個数は一つ、2つ又はそれ以上の整数であることができ、追加動きベクトルの制御点は右上側、左下側、右下側の座標の中で決定できるか、或いはその他のブロック内の座標を制御点として設定することができる。
【0259】
ここで、追加動きベクトルは、動き情報符号化過程でそれ自体に符号化できるか、或いは隣接するブロックの動き情報(例えば、移動動きモデル又は移動外の動きモデルによる動きベクトル)に基づいて符号化(例えば、予測+差分値情報)できるか、或いは様々な動きを表現するブロック内の他の動きベクトルに基づいて符号化(例えば、予測+差分値情報)できる。
【0260】
上記の説明は、アフィンモデルに関する内容であることができ、追加動きベクトルが一つ又は2つである場合を中心に説明する。まとめると、動きモデルによる動きベクトルの使用個数は、一つ、2つ、3つであり、動き情報を表現するために使用される動きベクトルの個数に応じて個別的な動きモデルとしてみなすことができることを仮定する。また、動きベクトルが一つである場合は、既に定義された動きモデルであることを仮定する。
【0261】
画面間予測のための複数の動きモデルが支援でき、追加動きモデルの支援を指示する信号(例えば、adaptive_motion_mode_enabled_flag)によって決定できる。ここで、前記信号が0であれば、既に定義された動きモデルが支援され、前記信号が1であれば、複数の動きモデルが支援され得る。前記信号は、シーケンス、ピクチャ、サブピクチャ、スライス、タイル、ブリック、ブロックなどの単位で発生することができるが、別に確認が不可能な場合には、既に定義された設定に応じて信号の値が割り当てられ得る。又は、符号化の設定に応じて、黙示的に支援するか否かが決定できる。又は、符号化の設定に応じて黙示的又は明示的な場合が決定されてもよい。ここで、符号化の設定は、画像タイプ、画像種類(例えば、0であれば一般画像、1であれば360度の画像)、カラー成分などで一つ以上の要素によって定義できる。
【0262】
前記過程を介して複数の動きモデルの支援か否かが定められることができる。次は、追加的に支援される動きモデルが2つ以上である場合を仮定し、シーケンス、ピクチャ、サブピクチャ、スライス、タイル、ブリックなどの単位で複数の動きモデルが支援される場合と決定されたことを仮定するが、一部例外される構成が存在することもできる。後述する例では、動きモデルA、B、Cが支援可能であり、Aは基本的に支援される動きモデルであり、BとCは追加的に支援可能な動きモデルであることを仮定する。
【0263】
支援される動きモデルに対する構成情報が前記単位で発生することができる。つまり、{A、B}、{A、C}、{A、B、C、}などの支援される動きモデルの構成が可能である。
【0264】
例えば、前記構成の候補にインデックス(0~2)を割り当ててこれを選択することができる。もしインデックス2が選択される場合には{A、C}、インデックス3が選択される場合には{A、B、C}が支援される動きモデル構成が決定できる。
【0265】
又は、所定の動きモデルの支援か否かを示す情報が個別に支援できる。つまり、Bの支援有無フラグ、Cの支援有無フラグが発生することができる。もし2つのフラグがすべて0であれば、Aのみ支援可能な場合であり得る。本例は、複数の動きモデルの支援か否かを示す情報が発生せずに処理される例であってもよい。
【0266】
上記例のように支援される動きモデルの候補群が構成されると、ブロック単位で候補群のうちのいずれかの動きモデルを明示的に決定して使用するか、或いは黙示的に使用することができる。
【0267】
一般に、動き推定部は、符号化装置に存在する構成であり得るが、予測方式(例えば、テンプレートマッチングなど)に従って復号化装置にも含まれ得る構成であることができる。例えば、テンプレートマッチングの場合、復号化器で対象ブロックの隣接テンプレートを介して動き推定を行って対象ブロックの動き情報を取得することができるからである。このとき、動き推定関連情報(例えば、動き推定範囲、動き推定方法<スキャン順序>など)は、黙示的に定められることができるか或いは明示的に生成され、シーケンス、ピクチャ、サブピクチャ、スライス、タイル、ブリックなどの単位に含まれ得る。
【0268】
動き補償部は、動き推定過程を介して決定された所定の参照ピクチャの一部ブロックのデータを対象ブロックの予測ブロックとして取得するための過程を意味する。詳細には、動き推定過程を介して取得された動き情報(例えば、参照ピクチャ情報、動きベクトル情報など)に基づいて、少なくとも一つの参照ピクチャの少なくとも一つの領域(又はブロック)から対象ブロックの予測ブロックを生成することができる。
【0269】
次のように動き補償方法に基づいて動き補償が行われ得る。
【0270】
ブロックマッチングの場合は、参照ピクチャで明示的に取得される対象ブロック(M×N)の動きベクトル(V、V)と対象ブロックの左上側の座標(P、P)を介して取得される座標(P+V、P+V)を基準に右にMだけ、下方にNだけ該当する領域のデータを対象ブロックの予測ブロックで補償することができる。
【0271】
テンプレートマッチングの場合は、参照ピクチャで黙示的に取得される対象ブロック(M×N)の動きベクトル(V、V)と対象ブロックの左上側の座標(P、P)を介して取得される座標(P+V、P+V)を基準に右にMだけ、下方にNだけ該当する領域のデータを対象ブロックの予測ブロックで補償することができる。
【0272】
また、次のように動きのモデルに基づいて動き補償が行われ得る。
【0273】
移動動きモデルの場合は、参照ピクチャで明示的に取得される対象ブロック(M×N)のいずれかの動きベクトル(V、V)と対象ブロックの左上側の座標(P、P)を介して取得される座標(P+V、P+V)を基準に右にMだけ、下方にNだけ該当する領域のデータを対象ブロックの予測ブロックで補償することができる。
【0274】
移動外の動きモデルの場合は、参照ピクチャで明示的に取得される対象ブロック(M×N)の複数の動きベクトル(V0x、V0y)、(V1x、V1y)を介して黙示的に取得されるm×n個のサブブロックの動きベクトル(Vmx、Vny)と各サブブロックの左上側の座標(Pmx、Pny)を介して取得される座標(Pmx+、Vnx、Pmy+、Vny)を基準に右にM/mだけ、下方にN/nだけ該当する領域のデータをサブブロックの予測ブロックで補償することができる。すなわち、前記サブブロックの予測ブロックを集めて対象ブロックの予測ブロックで補償することができる。
【0275】
動き情報決定部で対象ブロックの最適な動き情報を選定するための過程が行われ得る。一般的に、ブロックの歪み{例えば、対象ブロックと復元ブロックのDistortion。SAD(Sum of Absolute Difference)、SSD(Sum of Square Difference)など}と当該動き情報による発生ビット量が考慮されるレート-歪み(Rate-Distortion)技法を利用して、符号化費用の面で最適な動き情報を決定することができる。前記過程を経て決定される動き情報に基づいて生成される予測ブロックを減算部と加算部に送信することができる。また、一部の予測方式(例えば、テンプレートマッチングなど)に従って復号化装置にも含まれる構成であることができ、この場合、ブロックの歪みに基づいて決定できる。
【0276】
前記動き情報決定部に動き補償方法、動きモデルなどの画面間予測関連設定情報が考慮できる。例えば、複数の動き補償方法が支援される場合、動き補償方法選択情報とそれによる動きベクトル、参照ピクチャ情報などが最適な動き情報であることができる。又は、複数の動きモデルが支援される場合、動きモデル選択情報とそれによる動きベクトル、参照ピクチャ情報などが最適な動き情報であることができる。
【0277】
動き情報符号化部で前記動き情報決定過程を経て取得された対象ブロックの動き情報を符号化することができる。このとき、動き情報は、対象ブロックの予測のために参照した画像と領域に対する情報で構成できる。詳細には、参照した画像に対する情報(例えば、参照画像情報など)と参照した領域に関する情報(例えば、動きベクトル情報など)で構成できる。
【0278】
また、画面間予測関連設定情報(又は、選択情報など、例えば、動き推定/補償方法、動きモデルの選択情報など)も、対象ブロックの動き情報に含まれて構成できる。画面間予測関連設定に基づいて、前記参照画像と領域に対する情報(例えば、動きベクトルの個数など)が構成できる。
【0279】
参照画像と参照領域に関する情報を一つの組み合わせで構成して動き情報を符号化することができ、参照画像と参照領域に関する情報の組み合わせを動き情報符号化モードとして構成することができる。
【0280】
ここで、参照画像と参照領域に関する情報は、隣接するブロック又は所定の情報(例えば、現在ピクチャを基準に以前又は以後に符号化された画像、ゼロ動きベクトルなど)に基づいて取得できる。
【0281】
前記隣接するブロックは、対象ブロックと同じ空間に属し、対象ブロックに最隣接するブロック<inter_blk_A>、対象ブロックと同じ空間に属し、遠く隣接するブロック<inter_blk_B>、及び対象ブロックと同じでない空間に属するブロック<inter_blk_C>にカテゴリーを区分することができ、このうちの少なくとも一つのカテゴリーに属する隣接ブロック(候補ブロック)に基づいて参照画像と参照領域に関する情報を取得することができる。
【0282】
例えば、候補ブロックの動き情報又は参照ピクチャ情報に基づいて対象ブロックの動き情報を符号化することができ、候補ブロックの動き情報又は参照ピクチャ情報から誘導される情報(又は中間値、変換過程などを経た情報)に基づいて対象ブロックの動き情報を符号化することができる。つまり、対象ブロックの動き情報を候補ブロックから予測してそれに関する情報を符号化することができる。
【0283】
本発明における対象ブロックの動き情報は、一つ以上の動き情報符号化モードに基づいて符号化できる。ここで、動き情報符号化モードは、様々な定義が可能であるが、スキップモード(Skip mode)、併合モード(Merge mode)、競争モード(Comp mode)などで一つ以上を含むことができる。
【0284】
前述したテンプレートマッチングtmpに基づいて、前記動き情報符号化モードと結合されるか、或いは別個の動き情報符号化モードで支援されるか、或いは前記動き情報符号化モードのうちの全部又は一部の詳細構成に含まれ得る。これは、上位単位(例えば、ピクチャ、サブピクチャ、スライスなど)でテンプレートマッチングを支援するものと定められた場合を前提するが、支援有無についてのフラグが画面間予測の設定に一部の要素として考慮できる。
【0285】
前述した現在ピクチャでブロックマッチングを行う方法ibcに基づいて、前記動き情報符号化モードと結合されるか、或いは別個の動き情報符号化モードで支援されるか、或いは前記動き情報符号化モードのうちの全部又は一部の詳細構成に含まれ得る。これは、上位単位にて現在ピクチャ内でブロックマッチングすることを支援するものと定められた場合を前提するが、支援か否かについてのフラグが画面間予測の設定に一部の要素として考慮できる。
【0286】
前述した動きモデル(affine)に基づいて前記動き情報符号化モードと結合されるか、或いは別個の動き情報符号化モードで支援されるか、或いは前記動き情報符号化モードのうちのの全部又は一部の詳細構成に含まれ得る。これは、上位単位で移動外の動きモデルを支援するものと定められた場合を前提するが、支援か否かについてのフラグが画面間予測の設定に一部の要素として考慮できる。
【0287】
例えば、temp_inter、temp_tmp、temp_ibc、temp_affineなどの個別的な動き情報符号化モードが支援できる。又は、temp_inter_tmp、temp_inter_ibc、temp_inter_affine、temp_inter_tmp_ibcなどの結合される動き情報符号化モードが支援できる。又は、tempを構成する動き情報予測候補群のうちの、テンプレート基盤の候補、現在ピクチャ内でブロックマッチングを行う方法基盤の候補、アフィン基盤の候補が含まれて構成できる。
【0288】
ここで、tempは、スキップモード(skip)、併合モード(merge)、競争モード(comp)を意味することができる。一例として、スキップモードの場合にはskip_inter、skip_tmp、skip_ibc、skip_affine、併合モードの場合にはmerge_inter、merge_tmp、merge_ibc、merge_affine、競争モードの場合にはcomp_inter、comp_tmp、comp_ibc、comp_affineなどの動き情報符号化モードが支援されるのと同じである。
【0289】
もしスキップモード、併合モード、競争モードが支援され且つ各モードの動き情報予測候補群に前記要素を考慮した候補が含まれる場合には、スキップモード、併合モード、競争モードを区分するフラグによって一つのモードが選択できる。一例として、スキップモードであるか否かを示すフラグが支援されて1の値を持てば、スキップモードが選択され、0の値を持てば、併合モードであるか否かを示すフラグが支援され、1の値を持てば、併合モードが選択され、0の値を持てば、競争モードが選択され得る。そして、各モードの動き情報予測候補群に、inter、tmp、ibc、affineに基づく候補が含まれ得る。
【0290】
又は、一つの共通するモードの下に複数の動き情報符号化モードが支援される場合には、スキップモード、併合モード及び競争モードのいずれかを選択するためのフラグの他に、選択したモードの詳細モードを区分する追加フラグが支援されることも可能である。一例として、併合モード(merge mode)が選択されると、併合モードに関する詳細モードであるmerge_inter、merge_tmp、merge_ibc、merge_affineなどから選択することができるフラグが追加的に支援されることを意味する。又は、merge_interであるか否かを示すフラグが支援され、merge_interではない場合には、merge_tmp、merge_ibc、merge_affineなどから選択することができるフラグが追加的に支援されることも可能である。
【0291】
符号化の設定に応じて前記動き情報符号化モード候補のうちの全部又は一部を支援することができる。ここで、符号化の設定は、対象ブロックの状態情報、画像タイプ、画像種類、カラー成分、画面間予測支援設定(例えば、テンプレートマッチング支援か否か、現在ピクチャでブロックマッチングを支援するか否か、移動外の動きモデル支援要素など)などで一つ以上の要素によって定義できる。
【0292】
一例として、ブロックの大きさに応じて、支援される動き情報符号化モードが定められることができる。この際、ブロックの大きさは、第1閾値の大きさ(最小値)又は第2閾値の大きさ(最大値)によって支援範囲が定められることができ、各閾値の大きさは、ブロックの幅(W)と高さ(H)でW、H、W×H、W*Hで表現できる。第1閾値の大きさの場合、WとHは4、8、16又はそれ以上の整数であることができ、W*Hは16、32、64又はそれ以上の整数であることができる。第2閾値の大きさの場合、WとHは16、32、64又はそれ以上の整数であることができ、W*Hは64、128、256又はそれ以上の整数であることができる。上記の範囲は、第1閾値の大きさ又は第2閾値の大きさのうちのいずれか一方によって定められるか、或いはその両方によって定められることができる。
【0293】
この時、前記閾値の大きさは、固定的であるか、或いは画像(例えば、画像タイプなど)に応じて適応的であることができる。この時、前記第1閾値の大きさは、最小符号化ブロック、最小予測ブロック、最小変換ブロックなどの大きさに基づいて設定でき、前記第2閾値の大きさは、最大符号化ブロック、最大予測ブロック、最大変換ブロックなどの大きさに基づいて設定できる。
【0294】
一例として、画像タイプに応じて、支援される動き情報符号化モードが定められることができる。このとき、I画像タイプには、スキップモード、併合モード及び競争モードのうちの少なくとも一つを含むことができる。このとき、現在ピクチャでブロックマッチング(又はテンプレートマッチング)を行う方法、アフィンモデル(以下、要素という用語と呼ばれる)に関する個別的な動き情報符号化モードが支援できるか、或いは二つ以上の要素が結合されて動き情報符号化モードが支援できる。又は、所定の動き情報符号化モードに他の要素が動き情報予測候補群として構成できる。
【0295】
P/B画像タイプには、スキップモード、併合モード及び競争モードのうちの少なくとも一つを含むことができる。このとき、一般的な画面間予測、テンプレートマッチング、現在ピクチャでのブロックマッチングの実行、アフィンモデル(以下、要素という用語と呼ばれる)に関する個別的な動き情報符号化モードが支援できるか、或いは二つ以上の要素が結合されて動き情報符号化モードが支援できる。又は、所定の動き情報符号化モードに他の要素が動き情報予測候補群として構成できる。
【0296】
図9は本発明の一実施形態に係る動き情報の符号化を示すフローチャートである。
【0297】
図9を参照すると、対象ブロックの動き情報符号化モードを確認することができる(S900)。
【0298】
画面間予測に使用される所定の情報(例えば、動き情報など)を組み合わせ及び設定して動き情報符号化モードを定義することができる。前記所定の情報は、予測動きベクトル、動きベクトル差分値、差分動きベクトル精度、参照画像情報、参照方向、動きモデル情報、残差成分の有無情報などのうちの一つ以上を含むことができる。前記動き情報符号化モードは、スキップモード、併合モード及び競争モードのうちの少なくとも一つを含むことができ、この他の追加的なモードを含むこともできる。
【0299】
動き情報符号化モードに応じて、明示的に発生する情報と黙示的に定められる情報の構成及び設定が決定できる。このとき、明示的な場合には、各情報が個別に発生するか、或いは組み合わせ形態(例えば、インデックス形態)で発生することができる。
【0300】
一例として、スキップモード又は併合モードは、予測動きベクトル、参照画像情報、参照方向が(一つ)所定のインデックス情報に基づいて定義できる。この時、前記インデックスは、一つ以上の候補として構成することができ、各候補は、所定のブロックの動き情報に基づいて設定(例えば、該当ブロックの予測動きベクトル、参照画像情報、参照方向が一つの組み合わせとして構成)できる。また、動きベクトル差分値は、黙示的に処理(例えば、ゼロ(zero)ベクトル)できる。
【0301】
一例として、競争モードは、予測動きベクトル、参照画像情報、参照方向が(一つ以上)所定のインデックス情報に基づいて定義できる。この時、前記インデックスは、各情報に個別的に支援できるか、或いは二つ以上の情報の組み合わせに支援できる。この時、前記インデックスは、一つ以上の候補として構成することができ、各候補は、所定のブロックの動き情報に基づいて設定(例えば、予測動きベクトル等)されるか、或いは既に設定され値(例えば、現在ピクチャとの間隔を1、2、3などに処理、参照方向情報をL0、L1などに処理)で構成(例えば、参照画像情報、参照方向情報など)できる。また、動きベクトル差分値が明示的に発生することができ、動きベクトル差分値(例えば、ゼロ(zero)ベクトルではない場合)に応じて差分動きベクトル精度情報が追加的に発生することもできる。
【0302】
一例として、スキップモードは、残差成分の有無情報が黙示的に処理(例えば、<cbf_flag=0>に処理)され、動きモデルは、黙示的に所定の値(例えば、平行動きモデルを支援)に処理され得る。
【0303】
一例として、併合モード又は競合モードは、残差成分の有無情報が明示的に発生することができ、動きモデルは明示的に選択することができる。このとき、一つの動き情報符号化モード内に動きモデルを区分する情報が発生することができるか、或いは別途の動き情報符号化モードが支援できる。
【0304】
上記の説明で一つのインデックスが支援される場合には、インデックス選択情報は発生せず、二つ以上のインデックスが支援される場合には、インデックス選択情報が発生することができる。
【0305】
本発明では、二つ以上のインデックスで構成された候補群を動き情報予測候補群と称する。また、様々な所定の情報及び設定によって、既存の動き情報符号化モードを変更するか、或いは新しい動き情報符号化モードが支援されることもできる。
【0306】
図9を参照すると、対象ブロックの予測動きベクトルを誘導することができる(S910)。
【0307】
予測動きベクトルは、既に設定された値に定められることができるか、或いは予測動きベクトル候補群を構成してその中から選択することができる。前者の場合は、黙示的に定められる場合を意味し、後者の場合は、予測動きベクトルを選定するためのインデックス情報が明示的に発生することができる。
【0308】
ここで、前記既に設定された値の場合は、所定の位置の一つのブロック(例えば、左、上、左上、右上、左下方向のブロックなど)の動きベクトルに基づいて設定することができるか、或いは二つ以上のブロックの動きベクトルに基づいて設定することができるか、或いはデフォルト値(例えば、ゼロ(zero)ベクトルなど)に設定することができる。
【0309】
予測動きベクトルは、動き情報符号化モードに応じて、候補群構成設定が同じか或いは異なる。一例として、スキップモード/併合モード/競争モードは、それぞれa、b、c個の予測候補を支援することができ、各候補の個数は、同じか或いは異なるように構成できる。このとき、a、b、cは2、3、5、6、7などの1以上の整数で構成できる。候補群構成順序、設定などは、他の実施形態を介して説明する。後述する例において、スキップモードの候補群構成設定は、併合モードと同じ場合を仮定して説明するが、これに限定されず、一部は異なる構成を持ってもよい。
【0310】
前記インデックス情報に基づいて取得される予測動きベクトルは、そのまま対象ブロックの動きベクトルの復元に使用できるか、或いは参照方向、参照画像間の距離に基づいて調整できる。
【0311】
例えば、競争モードの場合は、参照画像情報が別に発生することができるが、現在ピクチャと対象モードの参照ピクチャとの距離と、予測動きベクトル候補ブロックを含むピクチャと当該ブロックの参照ピクチャとの距離とが互いに異なる場合、これを現在ピクチャと対象ブロックの参照ピクチャとの距離に合わせて調整を行うことができる。
【0312】
また、動きモデルに基づいて誘導される動きベクトルの個数が互いに異なることができる。つまり、左上側の制御点位置の動きベクトルの他に、動きモデルに基づいて右上側、左下側の制御点位置の動きベクトルがさらに誘導できる。
【0313】
図9を参照すると、対象ブロックの動きベクトル差分値を復元することができる(S920)。
【0314】
動きベクトル差分値は、スキップモードと併合モードでゼロ(zero)ベクトル値に誘導でき、競争モードで各成分の差分値情報を復元することができる。
【0315】
動きベクトルは、既に設定された所定の精度(例えば、補間精度に基づいて設定、又は動きモデル選択情報に基づいて設定など)に基づいて表現できる。又は、複数の精度のうちのいずれかに基づいて表現でき、そのための所定の情報が発生することができる。このとき、所定の情報は、動きベクトル精度の選択に関するものであることができる。
【0316】
例えば、動きベクトルの一つの成分が32/16であるとき、1/16画素単位の黙示的な精度の設定に基づいて、32に対する動き成分データが取得できる。又は、2画素単位の明示的な精度の設定に基づいて、動き成分が2/1に変換でき、2に対する動き成分データが取得できる。
【0317】
前記構成は、同一の精度を持つか、或いは同一の精度変換過程を介して取得された予測動きベクトルと動きベクトル差分値とを加算して得られた動きベクトルに対する精度処理に関する方法であることができる。
【0318】
また、動きベクトル差分値は、既に設定された所定の精度に応じて表現されるか、或いは複数の精度のうちのいずれか一つで表現され得る。このとき、後者の場合は、精度選択情報が発生することができる。
【0319】
前記精度は、1/16、1/8、1/4、1/2、1、2、4画素単位のうちの少なくとも一つを含むことができ、候補群の個数は、1、2、3、4、5、又はそれ以上の整数であることができる。ここで、支援される精度候補群構成(例えば、個数、候補などに区分)は、シーケンス、ピクチャ、サブピクチャ、スライス、タイル、ブリックなどの単位で明示的に定められることができる。又は、符号化の設定に応じて黙示的に定められることができる。ここで、符号化の設定は、画像タイプ、参照画像、カラー成分、動きモデル選択情報などの少なくとも一つの要素によって定義できる。
【0320】
次に、さまざまな符号化要素に応じて精度の候補が構成される場合を説明し、精度は動きベクトル差分値に関する説明を仮定して説明するが、これは動きベクトルにも類似または同一の適用が可能である。
【0321】
例えば、移動動きモデルの場合は、{1/4、1}、{1/4、1/2}、{1/4、1/2、1}、{1/4、1、4}、{1/4、1/2、1、4}などの候補群構成が可能であり、移動外の動きモデルの場合は、{1/16、1/4、1}、{1/16、1/8、1}、{1/16、1、4}、{1/16、1/4、1、2}、{1/16、1/4、1、4}などの精度候補群構成が可能である。これは、支援される最小精度が、前者の場合には1/4画素単位、後者の場合には1/16画素単位である場合を仮定し、最小精度以外の追加的な精度が候補群に含まれることができる。
【0322】
又は、参照画像が異なるピクチャの場合には、{1/4、1/2、1}、{1/4、1、4}、{1/4、1/2、1、4}などの候補群構成が可能であり、参照画像が現在ピクチャである場合には、{1、2}、{1、4}、{1、2、4}などの候補群構成が可能である。このとき、後者の場合は、ブロックマッチングなどのための小数単位の補間を行わない構成であることができ、小数単位の補間が行われる場合であれば、小数単位の精度候補を含んで構成することもできる。
【0323】
又は、カラー成分が輝度成分である場合には、{1/4、1/2、1}、{1/4、1、4}、{1/4、1/2、1、4}などの候補群が可能であり、カラー成分が色差成分である場合には、{1/8、1/4}、{1/8、1/2}、{1/8、1}、{1/8、1/4、1/2}、{1/8、1/2、2}、{1/8、1/4、1/2、2}などの候補群が可能である。このとき、後者の場合には、カラー成分の構成比(例えば、4:2:0、4:2:2、4:4:4など)に応じて輝度成分に比例する候補群を構成するか、或いは個別的な候補群を構成することができる。
【0324】
上記の例は、各符号化要素による精度候補が複数である場合を説明しているが、候補構成が一つである場合(すなわち、既に設定された最小精度で表現)も可能である。
【0325】
まとめると、競争モードで差分動きベクトル精度に基づいて、最小精度を有する動きベクトル差分値を復元することができ、スキップモードと併合モードでゼロ(zero)ベクトル値を有する動きベクトル差分値を誘導することができる。
【0326】
ここで、動きモデルに応じて、復元される動きベクトル差分値の個数が互いに異なることができる。つまり、左上側の制御点位置の動きベクトル差分値の他に、動きモデルに応じて、右上側、左下側の制御点位置の動きベクトル差分値がさらに誘導できる。
【0327】
また、複数の動きベクトル差分値に一つの差分動きベクトル精度が適用できるか、或いは各動きベクトル差分値に個別的な差分動きベクトル精度が適用できる。これは、符号化の設定に応じて定められることができる。
【0328】
また、少なくとも一つの動きベクトル差分値が0でない場合には、差分動きベクトル精度に関する情報が発生することができ、そうでない場合には、省略することもできるが、これに限定されない。
【0329】
図9を参照すると、対象ブロックの動きベクトルを復元することができる(S930)。
【0330】
本ステップの以前過程を介して取得した予測動きベクトルと動きベクトル差分値を取得し、これを加算して対象ブロックの動きベクトルを復元することができる。このとき、複数の精度の中からいずれかを選択して復元された場合には、精度統一過程が行われ得る。
【0331】
例えば、(動きベクトル精度に関連)予測動きベクトルと動きベクトル差分値とを加算して取得された動きベクトルは、精度選択情報に基づいて復元できる。又は、(差分動きベクトル精度に関連)動きベクトル差分値は、精度選択情報に基づいて復元でき、復元された動きベクトル差分値と予測動きベクトルとを加算して動きベクトルが取得できる。
【0332】
図9を参照すると、対象ブロックの動き情報に基づいて動き補償を行うことができる(S940)。
【0333】
動き情報は、前述した予測動きベクトル、動きベクトル差分値以外の参照画像情報、参照方向、動きモデル情報などを含むことができる。スキップモードと併合モードの場合、前記情報の一部(例えば、参照画像情報、参照方向など)は、黙示的に定められることができ、競争モードは、明示的に関連情報を処理することができる。
【0334】
前記過程を介して取得された動き情報に基づいて動き補償を行って予測ブロックを取得することができる。
【0335】
図9を参照すると、対象ブロックの残差成分に対する復号化を行うことができる(S950)。
【0336】
前記過程を介して取得された残差成分と予測ブロックとを加算することにより、対象ブロックを復元することができる。このとき、動き情報符号化モードに応じて、残差成分の有無情報に対する明示的又は黙示的な処理が可能である。
【0337】
図10は本発明の一実施形態に係る対象ブロックとそれに隣接するブロックの配置図である。
【0338】
図10を参照すると、対象ブロックを中心に左、上、左上、右上、左下方向などに隣接するブロック<inter_blk_A>、そして時間的に同一ではない空間(Col_Pic)に対象ブロックと対応するブロックを中心に中央、左、右、上、下、左上、右上、左下、右下方向などに隣接するブロック<inter_blk_B>が、対象モードの動き情報(例えば、動きベクトルなど)の予測のための候補ブロックとして構成できる。
【0339】
前記inter_blk_Aの場合は、ラスタースキャン又はz-スキャンなどの符号化順序に基づいて、隣接するブロックの方向が定められる例であることができ、さまざまなスキャン順序に従って既存の方向が除去されるか、或いは右、下、右下方向の隣接するブロックがさらに候補ブロックとして構成できる。
【0340】
図10を参照すると、Col_Picは、現在画像を基準に以前又は以後に隣接する画像(例えば、画像間の間隔が1である場合)であることができ、対応するブロックは、対象ブロックと画像内の位置が同一に設定できる。
【0341】
又は、Col_Picは、現在画像を基準に画像間の間隔が既に定義された画像(例えば、画像間の間隔がzである。zは1、2、3の整数)であることができ、対応するブロックは、対象ブロックの所定の座標(例えば、左上側)から所定の変位ベクトル(Disparity Vector、視差ベクトル)だけ移動した位置に設定できるが、既に定義された値に変位ベクトルが設定できる。
【0342】
又は、Col_Picは、隣接するブロックの動き情報(例えば、参照画像)に基づいて設定でき、前記変位ベクトルは、隣接するブロックの動き情報(例えば、動きベクトル)に基づいて設定され、対応するブロックの位置が定められることができる。
【0343】
このとき、k個の隣接するブロックが参照できるが、kは1、2又はそれ以上の整数であることができる。もしkが2以上である場合、隣接するブロックの動き情報(例えば、参照画像又は動きベクトル)の最大値、最小値、中間値、重み平均値などの演算に基づいてCol_Picと変位ベクトルが取得できる。例えば、前記変位ベクトルは、左側又は上側ブロックの動きベクトルとして設定でき、左側と左下側ブロックの動きベクトルの中間値又は平均値として設定できる。
【0344】
時間的候補の前記設定は、動き情報構成の設定などに基づいて定められることができる。例えば、ブロック単位の動き情報又はサブブロック単位の動き情報を動き情報予測候補群に含めようとする動き情報がブロック単位又はサブブロック単位で構成されるか否かなどによって、Col_Picの位置、対応するブロックの位置などが定められることができる。一例として、サブブロック単位の動き情報が取得される場合には、所定の変位ベクトルだけ移動した位置のブロックが、対応するブロックの位置として設定できる。
【0345】
上記の例は、Col_Picと対応するブロックの位置に関する情報が黙示的に定められる場合を示し、明示的に関連情報がシーケンス、ピクチャ、スライス、タイルグループ、タイル、ブリックなどの単位で発生することもできる。
【0346】
一方、サブピクチャ、スライス、タイルなどの分割単位区画が一つのピクチャ(例えば、現在ピクチャ)に制限されず画像間に共有されるとき、前記Col_Picに対応するブロックの位置が対象ブロックの属する分割単位とは異なる場合(つまり、対象ブロックの属する分割単位境界に掛けるか或いは外れる場合)には、所定の優先順位に基づく後続候補の動き情報に基づいて定められることができる。又は、対象ブロックと画像内の位置を同一に設定することができる。
【0347】
前述した空間的に隣接するブロックと時間的に隣接するブロックの動き情報は、対象ブロックの動き情報予測候補群に含まれることができ、これを空間的候補、時間的候補と称する。空間的候補と時間的候補はa、b個が支援でき、aとbは1~6又はそれ以上の整数であることができる。このとき、aはbよりも大きいか同じであることができる。
【0348】
空間的候補と時間的候補は、固定的な個数が支援できるか、或いは先行する動き情報予測候補の構成に応じて可変的な個数が支援(例えば、0個を含む)できる。
【0349】
また、対象ブロックと直ちに隣接していないブロック<inter_blk_C>が候補群の構成に考慮できる。
【0350】
一例として、対象ブロックを基準(例えば、左上側の座標)に所定の間隔差に位置するブロックの動き情報が候補群の包含対象となることができる。前記間隔は(動きベクトルの各成分に応じて)p、qであることができ、pとqは0、2、4、8、16、32などの2以上の整数であることができ、pとqは同一または異なることができる。つまり、対象ブロックの左上側の座標を(m、n)と仮定する場合、(m±p、n±q)位置を含むブロックの動き情報を候補群に含むことができる。
【0351】
一例として、対象ブロックの以前に符号化が完了したブロックの動き情報が候補群の包含対象となることができる。この際、対象ブロックを基準に所定の符号化順序(例えば、ラスタースキャン、Zスキャンなど)に基づいて、最近符号化が完了した所定個数のブロックが候補として考慮でき、FIFOなどの先入れ先出し方式で符号化の進行に従って符号化の順序が古いブロックが候補から除去できる。
【0352】
上記の例では、対象モードを基準に、既に符号化が完了した最隣接していないブロックの動き情報を候補群に含む場合を意味するので、これを統計的に候補と称する。
【0353】
このとき、統計的候補を取得するための基準ブロックとしては、対象ブロックを設定することができるが、対象ブロックの上位ブロック(例えば、対象ブロックが符号化ブロック<1>/予測ブロック<2>である場合、上位ブロックは、最大符号化ブロック<1>/符号化ブロック<2>など)を設定することもできる。統計的候補はk個が支援でき、kは1~6又はそれ以上の整数であることができる。
【0354】
前記空間的候補、時間的候補、統計的候補などの動き情報を組み合わせて取得された動き情報を候補群に含むことができる。例えば、候補群に既に含まれている複数(2つ、3つ又はそれ以上の)の動き情報の各成分に重み平均を適用して得られた候補を取得することができ、複数の動き情報の各成分に中央値、最大値、最小値などの過程を経て得られた候補を取得することができる。これを組み合わせ候補と称し、組み合わせ候補はr個が支援でき、rは1、2、3又はそれ以上の整数であることができる。
【0355】
組み合わせに使用される候補が参照画像の情報と同一でない場合、候補のうちのいずれかの参照画像情報に基づいて組み合わせ候補の参照画像情報として設定するか、或いは既に定義された値として設定することができる。
【0356】
前記統計候補又は組み合わせ候補は、固定的な個数が支援できるか、或いは先行する動き情報予測候補の構成に応じて可変的な個数が支援できる。
【0357】
また、(s、t)などの既に設定された値を持つデフォルト候補も、候補群に含むことができ、先行する動き情報予測候補の構成に応じて可変的な個数(0、1又はそれ以上の整数)が支援できる。このとき、sとtは、0を含んで設定でき、様々なブロックの大きさ(例えば、最大符号化/予測/変換ブロック、最小符号化/予測/変換ブロックの横又は縦の長さなど)に基づいて設定されることもできる。
【0358】
動き情報符号化モードに応じて、前記候補の中から動き情報予測候補群が構成でき、その他の追加的な候補が含まれて構成されてもよい。また、動き情報符号化モードに応じて、候補群の構成設定が同一または異なることができる。
【0359】
例えば、スキップモードと併合モードは共通に候補群を構成することができ、競争モードは個別的な候補群を構成することができる。
【0360】
ここで、候補群の構成設定は、候補ブロックのカテゴリー及び位置(例えば、左/上/左上/右上/左下方向の中から決定。決定された方向の中で動き情報が取得されるサブブロック位置など)、候補群の個数(例えば、全体個数、カテゴリー別の最大個数など)、候補構成方法(例えば、カテゴリー別の優先順位、カテゴリー内の優先順位など)などによって定義できる。
【0361】
動き情報予測候補群の個数(全体個数)はk個であることができ、kは1~6個又はそれ以上の整数であることができる。このとき、候補群の個数が一つである場合には、候補群選択情報が発生せず、既に定義された候補ブロックの動き情報が予測動き情報に設定されることを意味し、候補群の個数が2つ以上である場合には、候補群選択情報が発生することができる。
【0362】
前記候補ブロックのカテゴリーは、inter_blk_A、inter_blk_B、inter_blk_Cのうちのいずれか一つであることができる。このとき、inter_blk_Aが基本的に含まれるカテゴリーであることができ、別のカテゴリーが追加的に支援されるカテゴリーであることができるが、これに限定しない。
【0363】
上記の説明は、移動外の動きモデルに対する動き情報予測候補構成に関するものであることができ、移動外の動きモデル(アフィンモデル)も、同一又は類似の候補ブロックが候補群の構成に使用/参照できる。一方、アフィンモデルの場合は、移動動きモデルと動きベクトルの個数だけでなく、動き特性が異なるため、移動動きモデルの候補群構成とは異なる構成を持つことができる。
【0364】
例えば、候補ブロックの動きモデルがアフィンモデルである場合、候補ブロックの動きベクトルセットの構成をそのまま候補群に含むことができる。一例として、左上側、右上側の座標を制御点とする場合には、候補ブロックの左上側、右上側の座標の動きベクトルセットを一つの候補として候補群に含むことができる。
【0365】
又は、候補ブロックの動きモデルが移動動きモデルである場合、制御点の位置に基づいて設定される候補ブロックの動きベクトル組み合わせを一つのセットとして構成し、これを候補群に含むことができる。一例として、左上側、右上側、左下側の座標を制御点とする場合、左上側の制御点の動きベクトルは、対象ブロックの左、上、左上ブロックの動きベクトル(例えば、移動動きモデルの場合)に基づいて予測され、右上側の制御点の動きベクトルは、対象ブロックの上、右上側ブロックの動きベクトル(例えば、移動動きモデルの場合)に基づいて予測され、左下側の制御点の動きベクトルは、対象ブロックの左、左下ブロックの動きベクトルに基づいて予測できる。上記の例で制御点の位置に基づいて設定される候補ブロックの動きモデルが移動動きモデルである場合を説明したが、アフィンモデルである場合でも、制御点位置の動きベクトルのみを取得又は誘導して得る場合も可能である。つまり、対象ブロックの左上側、右上側、左下側の制御点の動きベクトルのために候補ブロックの左上側、右上側、左下側、右下側の制御点の中から動きベクトルが取得または誘導され得る。
【0366】
まとめると、候補ブロックの動きモデルがアフィンモデルである場合には、当該ブロックの動きベクトルセットを候補群に含む(A)ことができ、候補ブロックの動きモデルが移動動きモデルである場合には、対象ブロックの所定の制御点の動きベクトルの候補として考慮され、各制御点の組み合わせに応じて取得される動きベクトルセットを候補群に含む(B)ことができる。
【0367】
このとき、A又はB方法のうちの一つのみを使用して候補群を構成することができるか、或いはAとB方法の両方を使用して候補群を構成することができる。そして、A方法が先に構成され、B方法が後ろに構成され得るが、これに限定しない。
【0368】
図11は本発明の一実施形態に係る統計的候補に関する例示図を示す。
【0369】
図11を参照すると、図11のA乃至Lに該当するブロックは、対象モードを基準に所定の間隔だけ離れている符号化が完了したブロックを意味する。
【0370】
対象ブロックの動き情報のための候補ブロックが、対象ブロックに隣接するブロックに限定するとき、画像のさまざまな特性を反映しない場合が発生することができる。このため、現在ピクチャの以前に符号化が完了したブロックも候補ブロックとして考慮することができる。これに関するカテゴリーとしてinter_blk_Bを既に言及した。これを統計的候補と呼ぶ。
【0371】
動き情報予測候補群に含まれる候補ブロックの数は限定されるので、このための効率的な統計的候補の管理が必要であり得る。
【0372】
(1)対象ブロックを基準に所定の距離間隔を有する、既に設定された位置のブロックを候補ブロックとして考慮することができる。
【0373】
一例として、対象ブロックの所定の座標(例えば、左上側の座標など)を基準にx成分に限定して、一定の間隔を有するブロックを候補ブロックとして考慮することができ、(-4、0)、(-8、0)、(-16、0)、(-32、0)などの例が可能である。
【0374】
一例として、対象ブロックの所定の座標を基準にy成分に限定して、一定の間隔を有するブロックを候補ブロックとして考慮することができ、(0、-4)、(0、-8)、(0、-16)、(0、-32)などの例が可能である。
【0375】
一例として、対象ブロックの所定の座標を基準にxとy成分として0ではない一定の間隔を有するブロックを候補ブロックとして考慮することができ、(-4、-4)、(-4、-8)、(-8、-4)、(-16、16)、(16、-16)などの例が可能である。本例は、y成分に応じてx成分が正の符号を持つ場合が発生することができる。
【0376】
符号化の設定に応じて統計的候補として考慮される候補ブロックが制限的に定められることもできる。後述する例のために、図11を参照する。
【0377】
候補ブロックが所定の単位に属するか否かに応じて、統計的候補に分類することができる。ここで、所定の単位は、最大符号化ブロック、ブリック、タイル、スライス、サブピクチャ、ピクチャなどの中から定められることができる。
【0378】
例えば、対象ブロックと同一の最大符号化ブロックに属するブロックに限定して候補ブロックとして選定する場合、A乃至Cがその対象となることができる。
【0379】
又は、対象ブロックの属する最大符号化ブロックと左側の一つの最大符号化ブロックに属するブロックに限定して候補ブロックを選定する場合、A乃至C、H、Iがその対象となることができる。
【0380】
又は、対象ブロックの属する最大符号化ブロックと上側の最大符号化ブロックに属するブロックに限定して候補ブロックを選定する場合、A乃至C、E、Fがその対象となることができる。
【0381】
又は、対象ブロックと同じスライスに属するブロックに限定して候補ブロックとして選定する場合、A乃至Iがその対象となることができる。
【0382】
候補ブロックが対象ブロックを基準に所定の方向に位置するかによって、統計的候補に分類することができる。ここで、所定の方向は、左、上、左上、右上方向などで定められることができる。
【0383】
例えば、対象ブロックを基準に左、上方向に位置するブロックに限定して候補ブロックを選定する場合、B、C、F、I、Lがその対象となることがあります。
【0384】
又は、対象ブロックを基準に左、上、左上、右上方向に位置するブロックに限定して候補ブロックを選定する場合、A乃至Lがその対象となることができる。
【0385】
上記の例のように、統計的候補に考慮される候補ブロックが選定されても、動き情報予測候補群に含ませるための優先順位が存在することができる。つまり、統計的候補に支援される個数だけ優先順位から選定できる。
【0386】
前記優先順位は、所定の順序が支援でき、様々な符号化要素によって定められることもできる。前記符号化要素は、候補ブロックと対象モードとの距離(例えば、短い距離であるか否か。ブロック間の距離は、x成分とy成分に基づいて確認可能)、対象ブロックを基準に候補ブロックの相対的な方向(例えば、左、上、左上、右上方向。左→上→右上→左の順序など)などに基づいて定義できる。
【0387】
(2)対象ブロックを基準に所定の符号化順序に従って符号化が完了したブロックを候補ブロックとして考慮することができる。
【0388】
後述する例は、ラスタースキャン(例えば、最大符号化ブロック)、Zスキャン(例えば、符号化ブロック、予測ブロックなど)に従う場合を仮定するか、スキャン順序によって、後述する内容が変更適用できることを理解しなければならない。
【0389】
前述した(1)の例の場合、動き情報予測候補群の構成のための優先順位が支援できるのと同様に、本実施形態においても、所定の優先順位が支援できる。前記優先順位は、さまざまな符号化要素によって定められることができるが、説明の便宜のために、符号化順序に従って定められる場合を仮定する。後述する例では、候補ブロックと優先順位を一緒に考慮して説明する。
【0390】
符号化の設定に応じて統計的候補として考慮される候補ブロックが制限的に定められることができる。
【0391】
候補ブロックが所定の単位に属するか否かによって、統計的候補に分類することができる。ここで、所定の単位は、最大符号化ブロック、ブリック、タイル、スライス、サブピクチャ、ピクチャなどの中から定められることができる。
【0392】
例えば、対象ブロックと同じピクチャに属するブロックを候補ブロックとして選定する場合、J-D-E-F-G-K-L-H-I-A-B-Cのような候補ブロック及び優先順位がその対象となることができる。
【0393】
又は、対象ブロックと同じスライスに属するブロックを候補ブロックとして選定する場合、D-E-F-G-H-I-A-B-Cのような候補ブロック及び優先順位がその対象となることができる。
【0394】
候補ブロックが対象ブロックを基準に所定の方向に位置するかによって統計的候補に分類することができる。ここで、所定の方向は、左、上方向などに定められることができる。
【0395】
例えば、対象ブロックを基準に左方向に位置するブロックに限定して候補ブロックを選定する場合、K-L-H-I-A-B-Cのような候補ブロック及び優先順位がその対象となることができる。
【0396】
又は、対象ブロックを基準に上方向に位置するブロックに限定して候補ブロックを選定する場合、E-F-A-B-Cのような候補ブロック及び優先順位がその対象となることができる。
【0397】
上記の説明は、候補ブロックと優先順位が結合される場合を仮定して説明するが、これに限定されず、様々な候補ブロック及び優先順位の設定が可能である。
【0398】
前記(1)と(2)の説明を介して動き情報予測候補群に含まれる優先順位が支援できることを言及した。前記優先順位は、一つ以上支援できるが、候補ブロック全体を対象とする一つの優先順位が支援できるか、或いは候補ブロックを二つ以上のカテゴリーに分類し、カテゴリーに応じた個別的な優先順位が支援できる。前者の場合は、一つの優先順位でk個の候補ブロックを選定する例であることができ、後者の場合は、各優先順位(例えば、2つのカテゴリー)でp、q個(p+q=k)の候補ブロックを選定する例であることができる。この時、前記カテゴリーは、所定の符号化要素に基づいて区分でき、符号化要素は、所定の単位に属するか否か、候補ブロックが対象ブロックを基準に所定の方向に位置するか否かなどを含むことができる。
【0399】
前記(1)と(2)を介して説明した所定の単位(例えば、分割単位)に属するか否かに応じて、候補ブロックを選定する例示を説明した。前記分割単位とは別に、対象モードを基準に所定の範囲内に属するブロックに限定して候補ブロックを選定することができる。例えば、(x1、y1)、(x2、y2)、(x3、y3)などとx又はy成分の最小値、最大値などの範囲を定義する境界点によって確認できる。前記x1乃至y3などの値は、(絶対値基準)0、4、8などの整数であることができる。
【0400】
前述した(1)又は(2)のうちのいずれか一つの設定に基づいて統計的候補が支援できるか、或いは(1)と(2)とが混合された形式の統計的候補が支援できる。上記の説明によって統計的候補のための候補ブロックをどのように選定するかについて考察した。統計的候補に対する管理及び更新と、動き情報予測候補群に含まれる場合を後述する。
【0401】
動き情報予測候補群の構成は、ブロック単位で行われるのが一般的であり得るが、対象ブロックを中心に隣接するブロックの動き情報が同一または類似である可能性が高いからである。つまり、空間的候補、時間的候補の場合、対象モードに基づいて構成できる。
【0402】
一方、統計的候補は、候補ブロックの位置が対象ブロックとは隣接していないところを対象とするため、所定の単位に基づいて構成できる。前記所定の単位は、対象ブロックを含む上位ブロックであることができる。
【0403】
例えば、対象ブロックが予測ブロックである場合、予測ブロック単位で統計的候補を構成することができるか、或いは符号化ブロック単位で統計的候補を構成することができる。
【0404】
又は、対象ブロックが符号化ブロックである場合、符号化ブロック単位で統計的候補を構成することができるか、或いは先祖ブロック(例えば、深さ情報が対象ブロックと1以上の差など)単位で統計的候補を構成することができる。この際、先祖ブロックは、最大符号化ブロックを含むか、又は最大符号化ブロックに基づいて取得される単位(例えば、最大符号化ブロックの整数倍など)であることもできる。
【0405】
上記の例のように、対象ブロック又は上位単位に基づいて統計的候補が構成でき、後述する例では、対象ブロックに基づいて統計的候補が構成される場合を仮定する。
【0406】
また、統計的候補に関するメモリ初期化は、所定の単位に基づいて行われ得る。前記所定の単位は、ピクチャ、サブピクチャ、スライス、タイル、ブリック、ブロックなどの中から定められることができ、ブロックの場合は、最大符号化ブロックに基づいて設定できる。例えば、最大符号化ブロックの整数個(1、2、又はそれ以上の整数)、最大符号化ブロックの行又は列単位などに基づいて統計的候補に関するメモリ初期化が行われ得る。
【0407】
次に、統計的候補管理及び更新について説明する。統計的候補を管理するためのメモリが準備でき、最大k個のブロックの動き情報を格納することができる。このとき、kは1~6又はそれ以上の整数であることができる。前記メモリに格納される動き情報は、動きベクトル、参照ピクチャ、参照方向などの中から定められることができる。ここで、動きベクトルは、動きモデル選択情報に基づいてその個数(例えば、1~3個など)が定められることができる。説明の便宜のために、対象ブロックを基準に所定の符号化順序に従って符号化が完了したブロックを候補ブロックとして考慮する場合を中心に後述する。
【0408】
(case1)符号化の順序に従って先立って符号化が行われたブロックの動き情報が先だった順位に候補として含まれ得る。また、最大個数だけ満たされた場合に追加の候補によって更新されるとき、先立った順位にある候補が除去され、順位が1ずつ繰り上げられることができる。次の例示のうち、xは未だ候補構成がされていない空白であることを意味する。
【0409】
(例示)
1order-[a、x、x、x、x、x、x、x、x、x]
2order-[a、b、x、x、x、x、x、x、x、x]
...
9order-[a、b、c、d、e、f、g、h、i、x]
10order-[a、b、c、d、e、f、g、h、i、j]→j追加。いっぱい満たされる
11order-[b、c、d、e、f、g、h、i、j、k]→k追加。先頭のa除去、順序移動
【0410】
(case2)もし重複する動き情報が存在する場合、既に存在する候補は除去され、既存の候補の順序が繰り上げられて調整される。
【0411】
このとき、重複性は、動き情報が同一であることを意味する。これは、動き情報符号化モードによって定義できる。一例として、併合モードの場合、動きベクトル、参照ピクチャ、参照方向などに基づいて重複か否かを判断することができ、競争モードの場合、動きベクトル、参照ピクチャに基づいて重複か否かを判断することができる。このとき、競争モードの場合、各候補の参照ピクチャが同一である場合には、動きベクトルの比較を介して重複か否かを判断することができ、各候補の参照ピクチャが異なる場合には、各候補の参照ピクチャに基づいてスケーリングされた動きベクトルの比較を介して重複か否かを判断することができるが、これに限定されない。
【0412】
(例示)
1order-[a、b、c、d、e、f、g、x、x、x]
2order-[a、b、c、d、e、f、g、d、x、x]→dが入るが、重複
-[a、b、c、e、f、g、d、x、x、x]→既存のd除去、順序移動
【0413】
(case3)もし重複する動き情報が存在する場合、当該候補は所定の条件に基づいて長期保管される候補(長期候補)としてマーキングされて管理できる。
【0414】
前記長期候補のための別個のメモリが支援でき、動き情報の他に発生頻度などの情報が追加的に格納及び更新できる。次の例示において長期保管される候補のためのメモリは、()で表現できる。
【0415】
(例示)
1order-[()、b、c、d、e、f、g、h、i、j、k]
【0416】
2order-[()、b、c、d、e、f、g、h、i、j、k]→eが次の順序。
重複
-[(e)、b、c、d、f、g、h、i、j、k]→先頭への移動。長期マーキング
【0417】
3order-[(e)、c、d、f、g、h、i、j、k、l]→l追加でbを除去。
...
10order-[(e)、l、m、n、o、p、q、r、s、t]→lが次の順序。重複
-[(e、l)、m、n、o、p、q、r、s、t]→長期マーキング
11order-[(e、l)、m、n、o、p、q、r、s、t]→lが次の順序。重複3つ
-[(l、e)、m、n、o、p、q、r、s、t]→長期候補の順序を変更
【0418】
上記の例は、既存の統計的候補(短期候補)と統合管理される場合を示すが、短期候補とは別個に管理でき、長期候補の個数は0、1、2又はそれ以上の整数であることができる。
【0419】
短期候補の場合、符号化順序に基づいて先入れ先出し方式で管理できるが、長期候補の場合、短期候補の中で重複性が発生する候補に基づいて頻度数に応じて管理できる構成が可能である。長期候補の場合、メモリの更新過程で頻度数に応じて候補順序が変更できるが、これに限定されない。
【0420】
上記の例は、候補ブロックを二つ以上のカテゴリーに分類し、カテゴリーに応じた優先順位が支援される場合による一部の場合であることができる。動き情報予測候補群に統計的候補を含んで構成するとき、短期候補と長期候補でそれぞれa、b個を各候補内の優先順位に従って構成することができる。ここで、a、bは0、1、2又はそれ以上の整数であることができる。
【0421】
前記case1~3は、統計的候補による例示であり、(case1+case2)又は(case1+case3)の構成が可能であり、その他の様々な変形及び追加される形態で統計的候補が管理できる。
【0422】
図12は本発明の一実施形態に係る移動外の動きモデルによる統計的候補に関する概念図である。
【0423】
統計的候補は、移動動きモデルだけでなく、移動外の動きモデルにも支援される候補であることができる。移動動きモデルの場合に発生頻度が多いため、空間的又は時間的候補などで参照することができるブロックが多いが、移動外の動きモデルの場合に発生頻度が少ないため、空間的又は時間的候補以外の統計的候補が必要である場合であり得る。
【0424】
図12を参照すると、対象ブロックと同じ空間に属し、遠く隣接しているブロック<inter_blk_B>の動き情報{PV、PV}に基づいて対象ブロックの動き情報{TV、TV}を予測する場合(hmvp)を示す。
【0425】
前述した移動動きモデルの統計的候補と比較すると、メモリに格納する動き情報のうちの動きベクトルの個数が増えたものであり得る。そのため、統計的候補に関する基本概念は、移動動きモデルと同じか類似することができ、動きベクトルの個数を異ならせる構成で関連説明を誘導することができる。次に、移動外の動きモデルによる差異点に関する部分を重点を置いて後述する。後述する例では、制御点が3つ(例えば、v0、v1、v2)であるアフィンモデルの場合を仮定する。
【0426】
アフィンモデルの場合、メモリに格納される動き情報は、参照ピクチャ、参照方向、動きベクトルv0、v1、v2の中から定められることができる。ここで、格納される動きベクトルは、様々な形態で格納できる。例えば、動きベクトルがそのまま格納されるか、或いは所定の差分値情報が格納され得る。
【0427】
図13は本発明の一実施形態に係る統計的候補として格納される各制御点位置の動き情報の構成に対する例示図である。
【0428】
図13を参照すると、(a)は候補ブロックのv0、v1、v2の動きベクトルがv0、v1、v2で表現され、(b)は候補ブロックのv0の動きベクトルがv0で表現され、v1とv2の動きベクトルはv0の動きベクトルとの差分値v1、v2で表現される場合を示す。
【0429】
つまり、各制御点位置の動きベクトルをそのまま格納するか、或いは他の制御点位置の動きベクトルとの差分値を格納することができるが、これは、メモリ管理の面で考慮される構成の例であることができ、様々な変形の例が可能である。
【0430】
統計的候補に対する支援か否かは、シーケンス、ピクチャ、スライス、タイル、ブリックなどの単位で明示的に関連情報が生成できるか、或いは符号化の設定に応じて黙示的に定められることができる。前記符号化の設定は、前述した様々な符号化要素によって定義できるので、詳細な説明は省略する。
【0431】
ここで、統計的候補は、動き情報符号化モードに応じて支援か否かが定められることができる。又は、動きモデル選択情報に応じて支援か否かが定められることができる。例えば、merge_inter、merge_ibc、merge_affine、comp_inter、comp_ibc、comp_affineの中から統計候補が支援できる。
【0432】
もし移動動きモデルと移動外の動きモデルに統計的候補が支援される場合であれば、複数の統計的候補のためのメモリが支援できる。
【0433】
次に、動き情報符号化モードに応じて動き情報予測候補群を構成する方法について説明する。
【0434】
競争モードのための動き情報予測候補群(以下、競争モード候補群)はk個の候補を含むことができ、kは2、3、4又はそれ以上の整数であることができる。競争モード候補群は、空間的候補又は時間的候補のうちの少なくとも一つを含むことができる。
【0435】
空間的候補は、基準ブロックを中心に左、上、左上、右上、左下方向などに隣接するブロックのうちの少なくとも一つから誘導できる。又は、左方向に隣接するブロック(左、左下ブロック)と上側方向に隣接するブロック(左上、上、右上ブロック)から少なくとも一つの候補を誘導することができ、本設定を仮定して後述する。
【0436】
候補群を構成するための二つ以上の優先順位が存在することができる。左方向に隣接する領域では、左下-左順序の優先順位が設定でき、上側方向に隣接する領域では、右上-上-左上順序の優先順位が設定できる。
【0437】
上記の例は、対象ブロックの参照ピクチャが同じブロックでのみ空間的候補を誘導する構成であり得るが、対象ブロックの参照ピクチャに基づくスケーリング処理(以下で表示)を介して空間的候補を誘導することもできる。この場合、左方向に隣接する領域では、左-左下-左-左下又は左-左下-左下-左順序の優先順位が設定でき、上側方向に隣接する領域では、右上-上-左上-右上-上-左上又は右上-上-左上-左上-上-右上順序の優先順位が設定できる。
【0438】
時間的候補は、基準ブロックに対応するブロックを中心に、中央及び左、右、上、下、左上、右上、左下、右下方向などに隣接するブロックのうちの少なくとも一つから誘導できる。候補群構成のための優先順位が存在することができ、中央-左下-右-下、左下-中央-左上などの優先順位が設定できる。
【0439】
空間的候補の最大許容個数と時間的候補の最大許容個数との合計が競争モード候補群の個数よりも少ない設定を持つ場合には、空間的候補の候補群の構成とは関係なく、時間的候補を候補群に含むことができる。
【0440】
前記優先順位と各候補ブロックの使用可能性、及び時間的候補の最大許容個数(q個。1個と競争モード候補群の個数との間の整数)に基づいて、前記候補のうちの全部又は一部が候補群に含まれることができる。
【0441】
ここで、空間的候補の最大許容個数が併合モード候補群の個数と同一に設定される場合には、時間的候補は候補群に含まれることができず、空間的候補で最大許容個数だけ満たしていない場合には、時間的候補は候補群に含まれることができる設定は持つことができる。本例は、後者の場合を仮定する。
【0442】
ここで、時間的候補の動きベクトルは、候補ブロックの動きベクトル、及び現在画像と対象ブロックの参照画像との距離間隔に基づいて取得でき、時間的候補の参照画像は、現在画像と対象ブロックの参照画像との距離間隔に基づいて取得されるか、或いは時間的候補の参照画像に基づいて取得されるか、或いは既に定義された参照画像(例えば、参照ピクチャインデックスが0)に基づいて取得されることができる。
【0443】
もし空間的候補、時間的候補などで競争モード候補群を満たしていない場合、ゼロ(zero)ベクトルを含むデフォルトフ候補を介して候補群の構成を完了することができる。
【0444】
前記競争モードは、comp_interに関する説明を中心としたものであり、comp_ibc又はcomp_affineの場合に同様または異なる候補を対象に候補群を構成することができる。
【0445】
例えば、comp_ibcの場合、空間的候補、統計的候補、組み合わせ候補、デフォルト候補などから選定された所定の候補に基づいて候補群を構成することができる。このとき、空間的候補を優先して候補群を構成し、その次の統計的候補-組み合わせ候補-デフォルト候補などの順序で候補群を構成することができるが、これに限定されず、様々な順序が可能である。
【0446】
又は、comp_affineの場合、空間的候補、時間的候補、統計的候補、組み合わせ候補、デフォルト候補などの中から選定された所定の候補に基づいて候補群を構成することができる。詳細には、前記候補(例えば、一つのブロック)の動きベクトルセット候補を候補群に構成<1>するか、或いは制御点の位置に基づいた候補(例えば、2つ以上のブロック)の動きベクトルが組み合わせられた候補を候補群に構成<2>することができる。前記<1>に関する候補が先に候補群に含まれ、その次の<2>に関する候補が含まれる順序が可能であるが、これに限定されない。
【0447】
前述した様々な競争モード候補群の構成に関する詳細説明はcomp_interで誘導できるので、詳細な説明は省略する。
【0448】
競争モード候補群を構成する過程で、先に含まれている候補の中に、重複する動き情報が存在する場合には、先に含まれている候補者を維持したまま、その次の優先順位の候補を候補群に含むことができる。
【0449】
ここで、候補群を構成する前に、前記候補群の存在する動きベクトルは、対象ブロックの参照ピクチャと現在ピクチャとの距離に基づいてスケーリングが行われ得る。例えば、対象ブロックの参照ピクチャと現在ピクチャとの距離が、候補ブロックの参照ピクチャと候補ブロックの属するピクチャとの距離とが同じである場合には、動きベクトルを候補群に含むことができ、同一でない場合には、対象ブロックの参照ピクチャと現在ピクチャとの距離に合わせてスケーリングした動きベクトルを候補群に含むことができる。
【0450】
このとき、重複性は動き情報が同一であることを意味し、これは動き情報符号化モードによって定義できる。競争モードの場合、動きベクトル、参照ピクチャ、参照方向などに基づいて、重複するか否か判断することができる。例えば、少なくとも一つの動きベクトルの成分が異なる場合、重複しないと判断できる。前記重複性確認過程は、新しい候補を候補群に含ませるときに行われるのが一般的であり得るが、省略される場合への変形も可能である。
【0451】
併合モードのための動き情報予測候補群(以下、併合モード候補群)はk個の候補を含むことができ、kは2、3、4、5、6又はそれ以上の整数であることができる。併合モード候補群は、空間的候補又は時間的候補のうちの少なくとも一つを含むことができる。
【0452】
空間的候補は、基準ブロックを中心に左、上、左上、右上、左下方向などに隣接するブロックのうちの少なくとも一つから誘導できる。候補群構成のための優先順位が存在することができ、左-上-左下-右上-左上、左-上-右上-左下-左上、上-左-左下-左上-右上などの優先順位が設定できる。
【0453】
前記優先順位と各候補ブロックの使用可能性(例えば、符号化モード、ブロック位置などに基づいて判断)、及び空間的候補の最大許容個数(p個。1個と併合モード候補群の個数との間の整数)に基づいて、前記候補のうちの全部又は一部が候補群に含まれることができる。前記最大許容個数と使用可能性に基づいてtl-tr-bl-t3-l3の順序で候補群に含まれなくてもよく、もし最大許容個数が4個であり且つ候補ブロックの使用可能性がすべて真であれば、tlの動き情報は候補群に含まれず、もし一部の候補ブロックの使用可能性が偽であれば、tlの動き情報は候補群に含まれることができる。
【0454】
時間的候補は、基準ブロックに対応するブロックを中心に中央及び左、右、上、下、左上、右上、左下、右下方向などに隣接するブロックのうちの少なくとも一つから誘導できる。候補群の構成のための優先順位が存在することができ、中央-左下-右-下、左下-中央-左上などの優先順位が設定できる。
【0455】
前記優先順位と各候補ブロックの使用可能性、及び時間的候補の最大許容個数(q個。1個と併合モード候補群の個数との間の整数)に基づいて、前記候補のうちの全部又は一部が候補群に含まれることができる。
【0456】
ここで、時間的候補の動きベクトルは、候補ブロックの動きベクトルに基づいて取得でき、時間的候補の参照画像は、候補ブロックの参照画像に基づいて取得されるか、或いは既に定義された参照画像(例えば、参照ピクチャインデックスが0)に基づいて取得され得る。
【0457】
併合モード候補群に含まれる優先順位は、空間的候補-時間的候補又はその反対の設定が可能であり、空間的候補と時間的候補とが混合構成される優先順位が支援されることも可能である。本例では、空間的候補-時間的候補である場合を仮定する。
【0458】
また、統計的候補又は組み合わせ候補を併合モード候補群にさらに含むことができる。統計的候補と組み合わせ候補は、空間的候補と時間的候補の後ろに構成することができるが、これに限定されず、様々な優先順位の設定が可能である。
【0459】
統計的候補は、最大n個の動き情報が管理でき、このうちのz個の動き情報が統計的候補として併合モード候補群に含まれることができる。zは、併合モード候補群に既に含まれている候補構成に応じて可変的であることができ、0、1、2又はそれ以上の整数であることができ、nよりも小さいか同じであることができる。
【0460】
組み合わせ候補は、併合モード候補群内に既に含まれているn個の候補を組み合わせて誘導でき、nは2、3、4又はそれ以上の整数であることができる。前記組み合わせ候補の個数(n)は、シーケンス、ピクチャ、サブピクチャ、スライス、タイル、ブリック、ブロック等の単位で明示的に発生する情報であることができる。又は、符号化の設定に応じて黙示的に定められることができる。このとき、符号化の設定は、基準ブロックの大きさ、形状、位置、画像タイプ、カラー成分などの一つ以上の要因に基づいて定義できる。
【0461】
また、前記組み合わせ候補の個数は、併合モード候補群に満たしていない候補の個数に基づいて定められることができる。このとき、併合モード候補群に満たしていない候補の個数は、併合モード候補群の個数と既に満たされた候補の個数との差分値であることができる。つまり、既に併合モード候補群の構成が完了した場合であれば、組み合わせ候補は追加されなくてもよい。併合モード候補群の構成が完了していなければ、組み合わせ候補は追加できるが、併合モード候補群に満たされた候補が1つ以下である場合、組み合わせ候補は追加されない。
【0462】
もし空間的候補、時間的候補、統計的候補、組み合わせ候補などで併合モード候補群を満たしていない場合、ゼロ(zero)ベクトルを含むデフォルト候補を介して候補群の構成を完了することができる。
【0463】
前記併合モードは、merge_interに関する説明を中心としたものであり、merge_ibc又はmerge_affineの場合、異なる又は同様の候補を対象に候補群を構成することができる。
【0464】
例えば、merge_ibcの場合、空間的候補、統計的候補、組み合わせ候補、デフォルト候補などから選定された所定の候補に基づいて候補群を構成することができる。このとき、空間的候補を優先して候補群を構成し、その次の統計的候補-組み合わせ候補-デフォルト候補などの順序で候補群を構成することができるが、これに限定されず、様々な順序が可能である。
【0465】
又は、merge_affineの場合、空間的候補、時間的候補、統計的候補、組み合わせ候補、デフォルト候補などから選定された所定の候補に基づいて候補群を構成することができる。詳細には、前記候補(例えば、一つのブロック)の動きベクトルセット候補を候補群に構成<1>するか、或いは制御点の位置に基づく候補(例えば、二つ以上のブロック)の動きベクトルが組み合わせられた候補を候補群に構成<2>することができる。前記<1>に関する候補が先に候補群に含まれ、その次に<2>に関する候補が含まれる順序が可能であるが、これに限定されない。
【0466】
前述した様々な併合モード候補群の構成に関する詳細はmerge_interで誘導できるので、詳細な説明は省略する。
【0467】
併合モード候補群を構成する過程で、先に含まれている候補の中に重複する動き情報が存在する場合、先に含まれている候補を維持したまま、その次の優先順位の候補を候補群に含むことができる。
【0468】
このとき、重複性は動き情報が同一であることを意味し、これは動き情報符号化モードによって定義できる。併合モードの場合、動きベクトル、参照ピクチャ、参照方向などに基づいて、重複するか否かを判断することができる。例えば、少なくとも一つの動きベクトルの成分が異なる場合には、重複しないと判断できる。前記重複性確認過程は、新しい候補を候補群に含ませるときに行われるのが一般的であり得るが、省略される場合への変形も可能である。
【0469】
図14は本発明の一実施形態に係る動き情報符号化に関するフローチャートである。詳細には、競争モードで対象ブロックの動き情報に関する符号化であることができる。
【0470】
対象ブロックの動きベクトル予測候補リストを生成することができる(S1400)。前述した競争モード候補群が動きベクトル候補リストを意味することができ、これについての詳細な説明は省略する。
【0471】
対象ブロックの動きベクトル差分値を復元することができる(S1410)。動きベクトルのx、y成分に関する差分値が個別に復元でき、各成分の差分値は0以上の値を持つことができる。
【0472】
動きベクトル予測候補リストから対象モードの予測候補インデックスを選定することができる(S1420)。前記候補リストから前記候補インデックスに応じて取得された動きベクトルに基づいて、対象ブロックの動きベクトル予測値を誘導することができる。もし既に設定された一つの動きベクトル予測値が誘導できる場合には、予測候補インデックスの選定過程及びインデックス情報は省略できる。
【0473】
差分動きベクトル精度情報が誘導できる(S1430)。動きベクトルのx、y成分に共通に適用される精度情報が誘導されるか、或いは各成分に適用される精度情報が誘導され得る。もし動きベクトル差分値が0である場合には、精度情報は省略でき、本過程も省略できる。
【0474】
動きベクトル予測値に関する調整オフセットを誘導することができる(S1440)。前記オフセットは、動きベクトル予測値のx又はy成分に対して加算又は減算される値であり得る。前記オフセットは、xとy成分のうちのいずれかにのみ支援できるか、或いはxとy成分の両方に支援できる。
【0475】
動きベクトル予測値を(pmv_x、pmv_y)と仮定し、調整オフセットをoffset_x、offset_yと仮定すると、動きベクトル予測値は、(pmv_x+offset_x、pmv_y+offset_y)に調整(又は取得)できる。
【0476】
ここで、offset_xとoffset_yの絶対値は、それぞれ0、1、2又はそれ以上の整数であり、符号情報が一緒に考慮される値(1、-1、+2、-2など)を持つことができる。また、所定の精度に基づいてoffset_x、offset_yが定められることができる。前記所定の精度は、1/16、1/8、1/4、1/2、1画素単位などの中から定められることができ、補間精度、動きベクトル精度などに基づいて定められることもできる。
【0477】
例えば、補間精度が1/4画素単位である場合には、絶対値と符号情報に結合されて0、1/4、-1/4、2/4、-2/4、3/4、-3/4などに誘導できる。
【0478】
ここで、offset_xとoffset_yはそれぞれa、b個が支援でき、aとbは0、1、2又はそれ以上の整数であることができる。aとbは、固定的な値を持つことができるか、或いは可変的な値を持つことができる。また、aとbは同一又は同一でない値を持つことができる。
【0479】
動きベクトル予測値に対する調整オフセットの支援か否かは、シーケンス、ピクチャ、サブピクチャ、スライス、タイル、ブリックなどの単位で明示的に支援できるか、或いは符号化の設定に応じて黙示的に定められることができる。また、調整オフセットの設定(例えば、値の範囲、個数など)は、符号化の設定に応じて定められることができる。
【0480】
前記符号化の設定は、画像タイプ、カラー成分、対象ブロックの状態情報、動きモデルの選択情報(例えば、移動動きモデルか否か)、参照ピクチャ(例えば、現在ピクチャか否か)、差分動きベクトル精度選択情報(例えば、1/4、1/2、1、2、4単位のうちの所定の単位であるか否か)などの符号化要素のうちの少なくとも一つを考慮して定められることができる。
【0481】
例えば、ブロックの大きさに応じて調整オフセットの支援か否か及びオフセットの設定が定められることができる。この際、ブロックの大きさは、第1閾値の大きさ(最小値)又は第2閾値の大きさ(最大値)によって支援及び設定範囲が定められることができ、各閾値の大きさは、ブロックの幅(W)と高さ(H)でW、H、W×H、W*Hと表現できる。第1閾値の大きさの場合、WとHは4、8、16又はそれ以上の整数であることができ、W*Hは16、32、64又はそれ以上の整数であることができる。第2閾値の大きさの場合、WとHは16、32、64又はそれ以上の整数であることができ、W*Hは64、128、256又はそれ以上の整数であることができる。上記の範囲は、第1閾値の大きさ又は第2閾値の大きさのうちのいずれかによって定められるか、或いは両方によって定められることができる。
【0482】
この時、前記閾値の大きさは固定的であるか、或いは画像(例えば、画像タイプなど)に基づいて適応的であり得る。この時、前記第1閾値の大きさは、最小符号化ブロック、最小予測ブロック、最小変換ブロックなどの大きさに基づいて設定でき、前記第2閾値の大きさは、最大符号化ブロック、最大予測ブロック、最大変換ブロックなどの大きさに基づいて設定できる。
【0483】
また、調整オフセットは、動き情報予測候補群に含まれるすべての候補に適用できるか、或いは一部の候補にのみ適用できる。後述する例では、候補群に含まれるすべての候補を対象に適用される場合を仮定するが、0、1、2乃至候補群の最大個数の間で調整オフセットが適用される候補が選定できる。
【0484】
もし調整オフセットの支援がされていない場合は、本過程及び調整オフセット情報は省略できる。
【0485】
動きベクトル予測値と動きベクトル差分値とを加算して対象ブロックの動きベクトルを復元することができる(S1450)。このとき、動きベクトル予測値又は動きベクトル差分値を動きベクトル精度に統一させる過程が先行することができ、前述した動きベクトルスケーリング過程が先行するか或いは本過程で行われることもできる。
【0486】
前記構成及び順序は、一部の例示に過ぎず、これに限定されず、様々な変更が可能である。
【0487】
図15は本発明の一実施形態に係る動きベクトル予測候補及び対象ブロックの動きベクトルに対する例示図である。
【0488】
説明の便宜のために、動きベクトル予測候補は、2つが支援され、一つの成分(x又はy成分のうちのいずれか)の比較を仮定する。また、補間精度又は動きベクトル精度が1/4画素単位である場合を仮定する。また、差分動きベクトル精度は、1/4、1、4画素単位が支援される場合(例えば、1/4であるときは<0>、1であるときは<10>、4であるときは<11>に2値化すると仮定)を仮定する。また、動きベクトル差分値は、符号情報は省略され、単項2値化で処理される場合(例えば、0:<0>、1:<10>、2:<110>など)を仮定する。
【0489】
図15を参照すると、実際動きベクトル(X)は2の値を有し、候補1(A)は0、候補2(B)は1/4の値を有する。
【0490】
(差分動きベクトル精度が支援されない場合)
AとXとの距離(da)は8/4(9ビット)、BとXとの距離(db)は7/4(8ビット)であるため、ビット量発生の観点から、予測候補はBに選定できる。
【0491】
(差分動きベクトル精度が支援される場合)
daが8/4であるため、1画素単位精度(2ビット)、及び2/1に差分値情報(3ビット)が発生して、合計5ビットが発生することができる。一方、dbが7/4であるため、1/4画素単位精度(1ビット)、及び7/4に差分値情報(8ビット)が発生して合計9ビットが発生することができる。ビット量発生の観点から、予測候補はAに選定できる。
【0492】
上記の例のように差分動きベクトル精度が支援されない場合には、対象ブロックの動きベクトルとの距離間隔が短い候補が予測候補として選定されることが有利であり、差分動きベクトル精度が支援される場合には、対象ブロックの動きベクトルとの距離間隔だけでなく、精度情報に基づいて発生する情報量に基づいて予測候補として選定されることが重要であり得る。
【0493】
図16は本発明の一実施形態に係る動きベクトル予測候補及び対象ブロックの動きベクトルに対する例示図である。以下は、差分動きベクトル精度が支援される場合を仮定する。
【0494】
daが33/4であるため、1/4画素単位精度(1ビット)、及び33/4に差分値情報(34ビット)が発生して合計35ビットが発生することができる。一方、dbが21/4であるため、1/4画素単位精度(1ビット)、及び21/4に差分値情報(22ビット)が発生して合計23ビットが発生することができる。ビット量発生の観点から、予測候補はBに選定できる。
【0495】
図17は本発明の一実施形態に係る動きベクトル予測候補及び対象ブロックの動きベクトルに対する例示図である。以下、差分動きベクトル精度が支援され、調整オフセット情報が支援される場合を仮定する。
【0496】
本例において、調整オフセットは0、+1の候補を有し、調整オフセットが適用されたかに対するフラグ(1ビット)とオフセット選択情報(1ビット)が発生する場合を仮定する。
【0497】
図17を参照すると、A1とB1は予測候補インデックスに基づいて取得される動きベクトル予測値であることができ、A2とB2はA1とB1に調整オフセットが補正された新たな動きベクトル予測値であることができる。A1、A2、B1、B2とXとの距離はそれぞれda1、da2、db1、db2であることを仮定する。
【0498】
(1)da1が33/4であるため、1/4画素単位精度(1ビット)、オフセット適用フラグ(1ビット)、オフセット選択情報(1ビット)、及び33/4に差分値情報(34ビット)が発生して合計37ビットが発生することができる。
【0499】
(2)da2が32/4であるため、4画素単位精度(2ビット)、オフセット適用フラグ(1ビット)、オフセット選択情報(1ビット)、及び2/1に差分値情報(3ビット)が発生して合計7ビットが発生することができる。
【0500】
(3)db1が21/4であるため、1/4画素単位精度(1ビット)、オフセット適用フラグ(1ビット)、オフセット選択情報(1ビット)、及び21/4に差分値情報(22ビット)が発生して合計25ビットが発生することができる。
【0501】
(4)db2が20/4であるため、1画素単位精度(2ビット)、オフセット適用フラグ(1ビット)、オフセット選択情報(1ビット)、及び5/1に差分値情報(6ビット)が発生して合計10ビットが発生することができる。
【0502】
ビット量発生の観点から、予測候補はAに選定でき、オフセット選択情報は1番インデックス(本例において+1)に選定できる。
【0503】
上記の例を考察すると、従来の動きベクトル予測値に基づいて動きベクトル差分値を誘導する場合には、少量のベクトル値の差によって多くのビットが発生する場合が存在する。前記問題点は、動きベクトル予測値の調整によって解決することができる。
【0504】
動きベクトル予測値に調整オフセットを適用するために、所定のフラグが支援できる。前記所定のフラグは、オフセット適用フラグ、オフセット選択情報などで構成できる。
【0505】
(オフセット適用フラグのみ支援される場合)
【0506】
オフセット適用フラグが0であるときは、動きベクトル予測値にオフセットを適用せず、オフセット適用フラグが1であるときは、予め設定されたオフセットを予測動きベクトル値に対して加算又は減算することができる。
【0507】
(オフセット選択情報のみ支援される場合)
【0508】
オフセット選択情報に基づいて設定されたオフセットを予測動きベクトル値に対して加算又は減算することができる。
【0509】
(オフセット適用フラグとオフセット選択情報が支援される場合)
【0510】
オフセット適用フラグが0であるときは、動きベクトル予測値にオフセットを適用せず、オフセット適用フラグが1であるときは、オフセット選択情報に基づいて設定されたオフセットを予測動きベクトル値に対して加算又は減算することができる。後述する例において、本設定を仮定する。
【0511】
一方、オフセット適用フラグ及びオフセット選択情報が、場合に応じて不要に発生する情報として使用できる。つまり、オフセットが適用されなくても、既にゼロ(zero)値を持つか、或いは最大精度情報に基づいて情報量が減少する場合には、オフセット関連情報がむしろ非効率的であることができる。そこで、オフセット関連情報が常に明示的に発生する場合ではなく、所定の条件に応じて黙示的に発生する設定を支援する必要がある。
【0512】
次に、動き関連符号化順序は、(動きベクトル差分値の復元→差分動きベクトル精度の取得)に進行する場合を仮定する。本例において、動きベクトル差分値がx、y成分のうちの一つでも0ではない場合に差分動きベクトル精度が支援される場合と仮定する。
【0513】
動きベクトル差分値が0ではない場合、差分動きベクトル精度は、{1/4、1/2、1、4}画素単位の中から一つが選択できる。
【0514】
前記選択情報が所定のカテゴリーに属する場合には、調整オフセットに関する情報を黙示的に省略し、前記選択情報が所定のカテゴリーに属しない場合には、調整オフセットに関する情報を明示的に生成することができる。
【0515】
ここで、前記カテゴリーは、差分動きベクトル精度候補のうちの一つを含むことができ、{1/4}、{1/4、1/2}、{1/4、1/2、1}などのさまざまなカテゴリーの構成が可能である。ここで、最小精度は、前記カテゴリーに含まれる場合が可能である。
【0516】
例えば、差分動きベクトル精度が1/4画素単位(例えば、最小精度)である場合には、オフセット適用フラグが黙示的に0に設定(つまり、適用しない)され、差分動きベクトル精度が1/4画素単位ではない場合には、オフセット適用フラグが明示的に発生し、オフセット適用フラグが1である場合(つまり、オフセット適用)には、オフセット選択情報が発生することができる。
【0517】
又は、差分動きベクトル精度が4画素単位(例えば、最大精度)である場合には、オフセット適用フラグが明示的に発生し、オフセット適用フラグが1である場合には、オフセット選択情報が発生することができる。又は、差分動きベクトル精度が4画素単位ではない場合には、オフセット情報が黙示的に0に設定できる。
【0518】
上記の例は、差分動きベクトルが最小精度を指す場合には、オフセット関連情報が黙示的に省略され、差分動きベクトルが最大精度を指す場合には、オフセット関連情報が明示的に発生する場合を仮定するが、これに限定されない。
【0519】
図18は本発明の一実施形態に係る複数の動きベクトル予測値の配置に関する例示図である。
【0520】
前述した例によって動き情報予測候補群を構成するときに重複性チェックに関する部分を説明した。ここで、重複性とは、動き情報が同一であることを意味し、少なくとも一つの動きベクトルの成分が異なる場合は重複しないと判断できることを前述した。
【0521】
動きベクトル予測値に関する複数の候補は、重複性チェック過程を介して互いに重複しないものであり得る。但し、前記複数の候補の成分要素が非常に類似する場合(つまり、各候補のx又はy成分が所定の範囲内に存在。所定の範囲の幅又は高さは1、2又はそれ以上の整数。又は、範囲はオフセット情報に基づいて設定されることも可能である)、動きベクトル予測値及びオフセットが補正された動きベクトル予測値が重複する場合が発生することができる。そのための様々な設定が可能である。
【0522】
一例(C1)として、動き情報予測候補群構成ステップで、新規候補は、既に含まれている候補と互いに重複しない場合に候補群に含むことができる。つまり、前述した既存の説明と同じである場合であって候補自体の比較だけで重複しなければ、候補群に含むことができる構成であり得る。
【0523】
一例(C2)として、新規候補とそれに基づいてオフセットが加算されて取得された候補(group_A)と、既に含まれている候補とそれに基づいてオフセットが加算されて取得された候補(group_B)が所定の個数だけ重複しなければ、候補群に含むことができる。前記所定の個数は、0、1又はそれ以上の整数であることができる。もし所定の数が0個であれば、一つでも重複すると、当該新規候補は候補群に含まない構成であり得る。または、(C3)として、新規候補に所定のオフセット(これは調整オフセットとは異なる概念)を加算して候補群に含むことができるが、当該オフセットは、group_Bと重複しないようにgroup_Aを構成することができるようにする値であり得る。
【0524】
図18を参照すると、A、B、C、Dのカテゴリーに属する複数の動きベクトル(本例において、AX、BX、CX、DX、Xは1と2である。例えば、A1は、A2よりも先に候補群に含まれている候補)は、重複していない条件(候補動きベクトルが一つの成分でも異なる場合)に満足する場合であり得る。
【0525】
本例において、オフセットは、xとy成分にそれぞれ-1、0、1が支援される場合を仮定し、オフセットが補正された動きベクトル予測値は、図面において*で表現できる。また、破線(四角形)は、所定の動きベクトル予測値を中心にオフセットを加算して取得することができる範囲(例えば、group_A、group_Bなど)を意味する。
【0526】
Aカテゴリーの場合、A1とA2とが重複せず、group_A1とgroup_A2とは重複しない場合に該当することができる。
【0527】
B、C、Dカテゴリーの場合、B1/C1/D1とB2/C2/D2とが重複せず、group_B1/C1/D1とgroup_B2/C2/D2とが一部重複する場合に該当することができる。
【0528】
ここで、Bカテゴリーの場合、特別な措置を取ることなく候補群を構成する例であり得る(C1)。
【0529】
ここで、Cカテゴリーの場合、C2は重複性チェックステップで重複性が存在すると判断され、その次の優先順位にあるC3が候補群に含まれる構成であることができる(C2)。
【0530】
ここで、Dカテゴリーの場合、D2は重複性チェックステップで重複性が存在すると判断され、group_D2がgroup_D1と重複しないようにD2が補正される場合(つまり、D3。D3は候補群構成の優先順位に存在する動きベクトルではない)であることができる(C3)。
【0531】
前記様々なカテゴリーの中から予測モード候補群が構成される設定に適用できるか、或いは言及された場合以外の多様な方法が適用できる。
【0532】
図19は本発明の一実施形態に係る併合モードでの動き情報符号化に関するフローチャートである。詳細には、併合モードで対象ブロックの動き情報に関する符号化であることができる。
【0533】
対象ブロックの動き情報予測候補リストを生成することができる(S1900)。前述した併合モード候補群が動き情報予測候補リストを意味することができ、これについての詳細な説明は省略する。
【0534】
動き情報予測候補リストから対象モードの予測候補インデックスを選定することができる(S1910)。前記候補リストから前記候補インデックスに応じて取得された動き情報に基づいて、対象ブロックの動きベクトル予測値を誘導することができる。もし既に設定された一つの動き情報予測値が誘導できる場合は、予測候補インデックス選定過程及びインデックス情報は省略できる。
【0535】
動きベクトル予測値に関する調整オフセットを誘導することができる(S1920)。前記オフセットは、動きベクトル予測値のx又はy成分に対して加算又は減算される値であり得る。前記オフセットは、xとy成分のうちの一つのみに支援できるか、或いはxとy成分の両方に支援できる。
【0536】
本過程での調整オフセットは、前述した調整オフセットと同一又は類似する概念であることができるので、詳細な説明は省略し、差異点に関する部分を後述する。
【0537】
動きベクトル予測値を(pmv_x、pmv_y)、調整オフセットをoffset_x、offset_yと仮定すると、動きベクトル予測値は、(pmv_x+offset_x、pmv_y+offset_y)に調整(又は取得)できる。
【0538】
ここで、offset_xとoffset_yの絶対値は、それぞれ0、1、2、4、8、16、32、64、128などの整数であることができ、符号情報が一緒に考慮される値を持つことができる。また、所定の精度に基づいてoffset_x、offset_yが定められることができる。前記所定の精度は、1/16、1/8、1/4、1/2、1画素単位などの中から定められることができる。
【0539】
例えば、動きベクトル精度が1/4画素単位である場合には、絶対値と符号情報に結合されて0、1/4、-1/4、1/2、-1/2、1、-1、2、-2などに誘導できる。
【0540】
ここで、offset_xとoffset_yはそれぞれa、b個が支援でき、aとbは0、1、2、4、8、16、32などの整数であることができる。aとbは、固定的な値を持つことができるか、或いは可変的な値を持つことができる。また、aとbは同一又は同一でない値を持つことができる。
【0541】
動きベクトル予測値に対する調整オフセットの支援か否かは、シーケンス、ピクチャ、サブピクチャ、スライス、タイル、ブリックなどの単位で明示的に支援できるか、或いは符号化の設定に応じて黙示的に定められることができる。また、調整オフセットの設定(例えば、値の範囲、個数など)は、符号化の設定に応じて定められることができる。
【0542】
前記符号化の設定は、画像タイプ、カラー成分、対象ブロックの状態情報、動きモデル選択情報(例えば、移動動きモデルか否か)、参照ピクチャ(例えば、現在ピクチャか否か)などの符号化要素のうちの少なくとも一つを考慮して定められることができる。
【0543】
例えば、ブロックの大きさに応じて調整オフセットの支援か否か及びオフセットの設定が定められることができる。この際、ブロックの大きさは、第1閾値の大きさ(最小値)又は第2閾値の大きさ(最大値)によって支援及び設定範囲が定められることができ、各閾値の大きさは、ブロックの幅(W)と高さ(H)でW、H、W×H、W*Hと表現できる。第1閾値の大きさの場合、WとHは4、8、16又はそれ以上の整数であることができ、W*Hは16、32、64又はそれ以上の整数であることができる。第2閾値の大きさの場合、WとHは16、32、64又はそれ以上の整数であることができ、W*Hは64、128、256又はそれ以上の整数であることができる。前記範囲は、第1閾値の大きさまたは第2閾値の大きさのうちのいずれか一方によって定められるか、或いはその両方によって定められることができる。
【0544】
この時、前記閾値の大きさは、固定的であるか、画像(例えば、画像タイプなど)に応じて適応的であり得る。この時、前記第1閾値の大きさは、最小符号化ブロック、最小予測ブロック、最小変換ブロックなどの大きさに基づいて設定でき、前記第2閾値の大きさは、最大符号化ブロック、最大予測ブロック、最大変換ブロックなどの大きさに基づいて設定されることもできる。
【0545】
また、調整オフセットは、動き情報予測候補群に含まれるすべての候補に適用できるか、或いは一部の候補にのみ適用できる。後述する例では、候補群に含まれるすべての候補を対象に適用される場合を仮定するが、0、1、2乃至候補群の最大個数の間で調整オフセットが適用される候補が選定できる。
【0546】
動きベクトル予測値に調整オフセットを適用するための所定のフラグが支援できる。前記所定のフラグは、オフセット適用フラグ、オフセット絶対値情報、オフセット符号情報などを介して構成できる。
【0547】
もし調整オフセットの支援がされない場合は、本過程及び調整オフセット情報は省略できる。
【0548】
動きベクトル予測値を介して対象モードの動きベクトルを復元することができる(S1930)。動きベクトル以外の動き情報(例えば、参照ピクチャ、参照方向など)は、前記予測候補インデックスに基づいて取得できる。
【0549】
前記構成及び順序は、一部の例示に過ぎず、これに限定されず、様々な変更が可能である。併合モードでの調整オフセットを支援する背景説明は、競争モードの様々な例示を介して前述したので、詳細な説明は省略する。
【0550】
本発明に係る方法は、様々なコンピュータ手段を介して実行できるプログラム命令形態で実現され、コンピュータ可読媒体に記録できる。コンピュータ可読媒体は、プログラム命令、データファイル、データ構造などを単独で又は組み合わせて含むことができる。コンピュータ可読媒体に記録されるプログラム命令は、本発明のために特別に設計されて構成されたもの、又はコンピュータソフトウェア当業者に公知されて使用可能なものである。
【0551】
コンピュータ可読媒体の例には、ROM、RAM、フラッシュメモリ(flash memory)などのようにプログラム命令を格納及び実行するように特別に構成されたハードウェア装置が含まれ得る。プログラム命令の例には、コンパイラ(compiler)によって作られる機械語コードだけでなく、インタープリタ(interpreter)などを用いてコンピュータによって実行できる高級言語コードを含むことができる。上述したハードウェア装置は、本発明の動作を行うために少なくとも一つのソフトウェアモジュールとして作動するように構成でき、その逆も同様である。
【0552】
また、上述した方法又は装置は、その構成や機能の全部又は一部が結合されて実現されるか、分離されて実現され得る。
【0553】
上記では、本発明の好適な実施形態を参照して説明したが、当該技術分野の熟練した当業者は、下記の特許請求の範囲に記載された本発明の思想及び領域から逸脱することなく、本発明を多様に修正及び変更させることができることが理解できるだろう。
【産業上の利用可能性】
【0554】
本発明は、画像を符号化/復号化するために利用可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
【手続補正書】
【提出日】2024-02-29
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
画面間予測を行う画像復号化方法であって、
統計的併合候補群から統計的併合候補を含む対象ブロックの併合候補リストを構成するステップと、
候補インデックスに基づいて、前記併合候補リスト内で選択された併合候補から動きベクトルを決定するステップと、
決定された前記動きベクトルに基づいて、前記対象ブロックの予測ブロックを決定するステップと、を含み、
前記統計的併合候補群は、1つ以上の統計的併合候補を含み、前記統計的併合候補群内の統計的併合候補の数は、前記統計的併合候補の所定の最大数よりも大きくすることができず、
前記統計的併合候補は、前記対象ブロックの前に復号されるブロックの画面間予測情報を示し、前記併合候補リストは、前記対象ブロックに直ちに隣接しない前記統計的併合候補群内の1つ以上の統計的併合候補を含み、
前記統計的併合候補群は、前記対象ブロックの復号の完了後に、以下の方法で更新され、
前記対象ブロックの前記画面間予測情報が、前記統計的併合候補群内のいずれの統計的併合候補とも重複しない場合、前記対象ブロックの前記画面間予測情報を前記統計的併合候補群の最初の統計的併合候補として追加し、最後の統計的併合候補を前記統計的併合候補群から削除し、残った統計的併合候補の順序を修正することによって、前記統計的併合候補群を更新し、
前記対象ブロックの前記画面間予測情報が、前記統計的併合候補群のいずれかの統計的併合候補と重複する場合、前記対象ブロックの前記画面間予測情報を前記統計的併合候補群の前記最初の統計的併合候補として追加し、重複する統計的併合候補を前記統計的併合候補群から削除し、残った統計的併合候補の順序を修正することによって、前記統計的併合候補群を更新し、
前記統計的併合候補群は、前記対象ブロックが所定のデータユニットの先頭ブロックである場合に初期化される、
画像復号化方法。
【請求項2】
画面間予測を行う画像符号化方法であって、
統計的併合候補群から統計的併合候補を含む対象ブロックの併合候補リストを構成するステップと、
前記併合候補リスト内で選択された併合候補から動きベクトルを決定し、候補インデックスを使用して前記動きベクトルを符号化するステップと、
決定された前記動きベクトルに基づいて、前記対象ブロックの予測ブロックを決定するステップと、を含み、
前記統計的併合候補群は、1つ以上の統計的併合候補を含み、前記統計的併合候補群内の前記統計的併合候補の数は、前記統計的併合候補の所定の最大数よりも大きくすることができず、
前記統計的併合候補は、前記対象ブロックの前に符号化されるブロックの画面間予測情報を示し、前記併合候補リストは、前記対象ブロックに直ちに隣接しない前記統計的併合候補群内の1つ以上の統計的併合候補を含み、
前記統計的併合候補群は、前記対象ブロックの符号化の完了後に以下の方法で更新され、
前記対象ブロックの前記画面間予測情報が、前記統計的併合候補群内のいずれの統計的併合候補とも重複しない場合、前記対象ブロックの前記画面間予測情報を前記統計的併合候補群の最初の統計的併合候補として追加し、最後の統計的併合候補を前記統計的併合候補群から削除し、残った統計的併合候補の順序を修正することによって、前記統計的併合候補群を更新し、
前記対象ブロックの前記画面間予測情報が、前記統計的併合候補群のいずれかの統計的併合候補と重複する場合、前記対象ブロックの前記画面間予測情報を前記統計的併合候補群の前記最初の統計的併合候補として追加し、重複する統計的併合候補を前記統計的併合候補群から削除し、残った統計的併合候補の順序を修正することによって、前記統計的併合候補群を更新し、
前記統計的併合候補群は、前記対象ブロックが所定のデータユニットの先頭ブロックである場合に初期化される、画像符号化方法。
【請求項3】
画像符号化方法によって生成されたビットストリームを送信する方法であって、
前記画像符号化方法が、
統計的併合候補群から統計的併合候補を含む対象ブロックの併合候補リストを構成するステップと、
前記併合候補リスト内で選択された併合候補から動きベクトルを決定し、候補インデックスを使用して前記動きベクトルを符号化するステップと、
決定された前記動きベクトルに基づいて、前記対象ブロックの予測ブロックを決定するステップと、を含み、
前記統計的併合候補群は、1つ以上の統計的併合候補を含み、前記統計的併合候補群内の前記統計的併合候補の数は、前記統計的併合候補の所定の最大数よりも大きくすることができず、
前記統計的併合候補は、前記対象ブロックの前に符号化されるブロックの画面間予測情報を示し、前記併合候補リストは、前記対象ブロックに直ちに隣接しない前記統計的併合候補群内の1つ以上の統計的併合候補を含み、
前記統計的併合候補群は、前記対象ブロックの符号化の完了後に以下の方法で更新され、
前記対象ブロックの前記画面間予測情報が、前記統計的併合候補群内のいずれの統計的併合候補とも重複しない場合、前記対象ブロックの前記画面間予測情報を前記統計的併合候補群の最初の統計的併合候補として追加し、最後の統計的併合候補を前記統計的併合候補群から削除し、残った統計的併合候補の順序を修正することによって、前記統計的併合候補群を更新し、
前記対象ブロックの前記画面間予測情報が、前記統計的併合候補群のいずれかの統計的併合候補と重複する場合、前記対象ブロックの前記画面間予測情報を前記統計的併合候補群の前記最初の統計的併合候補として追加し、重複する統計的併合候補を前記統計的併合候補群から削除し、残った統計的併合候補の順序を修正することによって、前記統計的併合候補群を更新し、
前記統計的併合候補群は、前記対象ブロックが所定のデータユニットの先頭ブロックである場合に初期化される、
方法。
【外国語明細書】