(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024161032
(43)【公開日】2024-11-15
(54)【発明の名称】複数の参照線を用いたイントラ予測
(51)【国際特許分類】
H04N 19/11 20140101AFI20241108BHJP
【FI】
H04N19/11
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024139650
(22)【出願日】2024-08-21
(62)【分割の表示】P 2023025996の分割
【原出願日】2018-05-09
(31)【優先権主張番号】62/503,884
(32)【優先日】2017-05-09
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/511,757
(32)【優先日】2017-05-26
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】15/972,870
(32)【優先日】2018-05-07
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】リィウ,シャン
(72)【発明者】
【氏名】マ,シアン
(57)【要約】
【課題】複数の参照線を用いたイントラ予測を提供する。
【解決手段】ビデオ符号化装置が、ビデオ・データを含むビットストリームを受領する。装置は、イントラ予測モード部分集合を決定する。イントラ予測モード部分集合は、現在の画像ブロックについての複数の参照線に相関するイントラ予測モードを含み、現在の画像ブロックについての主要参照線に相関するイントラ予測モードを除外する。第一のイントラ予測モードがイントラ予測モード部分集合に含まれるときは、装置は代替イントラ予測モード・インデックスによって第一のイントラ予測モードをデコードする。第一のイントラ予測モードがイントラ予測モード部分集合に含まれないときは、装置は、イントラ予測モード・インデックスによって第一のイントラ予測モードをデコードする。装置は、第一のイントラ予測モードに基づいてデコードされた画像ブロックを含むビデオ・データを呈示する。
【選択図】
図9
【特許請求の範囲】
【請求項1】
ビデオ・コーディング装置によって実装される方法であって:
ビットストリームを受領する段階と;
符号化単位の参照線インデックスの値を決定する段階と;
前記参照線インデックスの値が追加的な参照線を示す場合、最確モードのリストからイントラ予測モードを決定する段階と;
前記イントラ予測モードに基づいて前記符号化単位をデコードする段階とを含む、
方法。
【請求項2】
前記参照線インデックスの値が主要参照線を示す場合、最確モードのリストを除外したモードのグループから前記イントラ予測モードを決定する段階をさらに含む、
請求項1に記載の方法。
【請求項3】
前記参照線インデックスの値が追加的な参照線を示す場合、前記最確モードのリストは最確モード・インデックスによって信号伝達される、請求項1に記載の方法。
【請求項4】
前記最確モードのリストを除外したモードのグループは、イントラ予測モード・インデックスによってインデックス付けされる、請求項2に記載の方法。
【請求項5】
前記最確モードのリストは、近傍の符号化単位によって使用されるイントラ予測モードを含む、請求項1ないし4のうちいずれか一項に記載の方法。
【請求項6】
前記参照線インデックスの値は、存在しない場合、ゼロに等しいと推定される、請求項1ないし4のうちいずれか一項に記載の方法。
【請求項7】
ビデオ・コーディング装置によって実装される方法であって:
符号化単位の参照線インデックスの値を決定する段階と;
前記参照線インデックスの値が追加的な参照線を示す場合、最確モードのリストからイントラ予測モードを決定する段階と;
前記イントラ予測モードに基づいて前記符号化単位をビットストリームにエンコードする段階と;
前記ビットストリームを前記ビデオ・コーディング装置のメモリに記憶する段階とを含む、
方法。
【請求項8】
前記参照線インデックスの値が主要参照線を示す場合、最確モードのリストを除外したモードのグループから前記イントラ予測モードを決定する段階をさらに含む、
請求項7に記載の方法。
【請求項9】
前記参照線インデックスの値が追加的な参照線を示す場合、前記最確モードのリストは最確モード・インデックスによって信号伝達される、請求項7に記載の方法。
【請求項10】
前記最確モードのリストを除外したモードのグループは、イントラ予測モード・インデックスによってインデックス付けされる、請求項8に記載の方法。
【請求項11】
前記最確モードのリストは、近傍の符号化単位によって使用されるイントラ予測モードを含む、請求項7ないし10のうちいずれか一項に記載の方法。
【請求項12】
前記参照線インデックスの値がゼロに等しい場合、前記参照線インデックスの値は前記ビットストリームから省かれる、請求項7ないし10のうちいずれか一項に記載の方法。
【請求項13】
命令を含んでいるメモリと;
前記命令と通信する一つまたは複数のプロセッサと
を有するビデオ・デコード装置であって、
前記一つまたは複数のプロセッサは前記命令を実行して請求項1ないし4のうちいずれか一項に記載の方法を実行する、
ビデオ・デコード装置。
【請求項14】
命令を含んでいるメモリと;
前記命令と通信する一つまたは複数のプロセッサと
を有するビデオ・エンコード装置であって、
前記一つまたは複数のプロセッサは前記命令を実行して請求項7ないし10のうちいずれか一項に記載の方法を実行する、
ビデオ・エンコード装置。
【請求項15】
請求項7ないし10のうちいずれか一項に記載の方法によってエンコードされた前記ビットストリームを受領する段階と;
前記ビットストリームを記憶デバイスに記憶する段階とを含む、
ビットストリームを記憶する方法。
【請求項16】
請求項7ないし10のうちいずれか一項に記載の方法によってエンコードされた前記ビットストリームを受領するように構成されたトランシーバと;
前記ビットストリームを記憶するように構成された記憶デバイスとを有する、
ビットストリームを記憶するためのシステム。
【請求項17】
請求項7ないし10のうちいずれか一項に記載の方法によってエンコードされたビットストリームを含んでいる、非一時的な記憶媒体。
【請求項18】
ビデオ・コーディング装置であって:
ビットストリームを受信または送信するように構成されたトランシーバであって、前記ビットストリームは参照線インデックスを含み、前記参照線インデックスが主要参照線を示す場合、符号化単位についての第一のイントラ予測モードがイントラ予測モード・リストから決定され;前記参照線インデックスが追加的な参照線のうちの一つを示す場合、前記符号化単位についての第二のイントラ予測モードが前記イントラ予測モード・リストの部分集合から決定される、トランシーバと;
前記ビットストリームを記憶するように構成された記憶装置とを有する、
装置。
【請求項19】
前記イントラ予測モード・リストの前記部分集合は、最確モード(MPM)リストに関連するイントラ予測モードのみを含む、請求項18に記載の装置。
【請求項20】
ビデオ・コーディング方法であって:
ビットストリームを受信または送信する段階であって、前記ビットストリームは参照線インデックスを含み、前記参照線インデックスが主要参照線を示す場合、符号化単位についての第一のイントラ予測モードがイントラ予測モード・リストから決定され;前記参照線インデックスが追加的な参照線のうちの一つを示す場合、前記符号化単位についての第二のイントラ予測モードが前記イントラ予測モード・リストの部分集合から決定される、段階と;
前記ビットストリームを記憶する段階とを含む、
方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本特許出願は、2018年5月7日に出願された「複数の参照線を用いたイントラ予測」と題する米国非仮特許出願第15/972,870号の優先権を主張し、同仮出願は2017年5月9日にShan Liuらにより出願された「複数の参照線を用いるイントラ予測のための方法および装置」と題する米国仮特許出願番号第62/503,884号および2017年5月26日にXiang Maらにより出願された「複数の参照線を用いるイントラ予測のための方法および装置」と題する米国仮特許出願番号第62/511,757号に対する優先権を主張し、それらの教示および開示は、ここにそれらを参照することによってそれらの全体において組み込まれる。
【0002】
連邦政府の助成を受けた研究または開発に関する陳述
該当なし。
【0003】
マイクロフィッシュ付録への参照
該当なし。
【背景技術】
【0004】
比較的短いビデオを描写するために必要とされるビデオ・データの量でさえもかなりなものになることがあり、それは、限られた帯域幅容量をもつ通信ネットワークを通じてデータがストリーミングされるかまたは他の仕方で通信されるときに困難を生じる可能性がある。そこで、ビデオ・データは、一般に、現代の電気通信ネットワークを通じて通信される前に圧縮される。ビデオのサイズは、記憶資源が限られている可能性があるため、ビデオが記憶装置に記憶されるときにも問題となる可能性がある。ビデオ圧縮装置は、しばしば、伝送または記憶に先立ってビデオ・データを符号化するためにソースにおいてソフトウェアおよび/またはハードウェアを使用し、それによりデジタル・ビデオ画像を表わすのに必要とされるデータの量を減少させる。圧縮されたデータは、その後、宛先において、ビデオ・データをデコードするビデオ圧縮解除装置によって受領される。ネットワーク資源が限られており、より高いビデオ品質の要求が絶えず増加しているため、画像品質にほとんどまたは全く犠牲なしに圧縮比を改善する改良された圧縮および圧縮解除技術が望ましい。
【発明の概要】
【0005】
ある実施形態では、本開示は、ビットストリームを受領するように構成された受領器と;前記受領器に結合されたプロセッサであって、イントラ予測モード部分集合を決定する段階であって、前記イントラ予測モード部分集合は、現在の画像ブロックについて複数の参照線に相関するイントラ予測モードを含み、現在の画像ブロックについての主要参照線に相関するイントラ予測モードを除くものである、段階と;第一のイントラ予測モードが前記イントラ予測モード部分集合に含まれるときは、代替イントラ予測モード・インデックスによって前記第一のイントラ予測モードをデコードし;前記第一のイントラ予測モードが前記イントラ予測モード部分集合に含まれないときは、イントラ予測モード・インデックスによって前記第一のイントラ予測モードをデコードする段階とを実行するよう構成されている、プロセッサと;前記プロセッサに結合されたディスプレイであって、前記第一のイントラ予測モードに基づいてデコードされた画像ブロックを含むビデオ・データを呈示する、ディスプレイとを含む。
【0006】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記プロセッサはさらに:前記第一のイントラ予測モードが前記イントラ予測モード部分集合に含まれるときは、前記参照線インデックスをデコードするよう構成されており、前記参照線インデックスは、前記第一のイントラ予測モードについて、前記複数の参照線からの第一の参照線を示し;前記プロセッサは、前記第一のイントラ予測モードが前記イントラ予測モード部分集合に含まれないときは、参照線インデックスをデコードしない。
【0007】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記参照線インデックスは前記ビットストリームにおける前記第一のイントラ予測モードの後に位置される。
【0008】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記イントラ予測モード部分集合は、開始方向性イントラ予測モード(starting directional intra-prediction mode、DirS)、終了方向性イントラ予測モード(ending directional intra-prediction mode、DirE)、およびDirSとDirEとの間のN個毎の方向性イントラ予測モードを含み、Nは所定の整数値である。
【0009】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記イントラ予測モード部分集合はさらに、平面予測モードおよび直流(Direct Current、DC)予測モードを含む。
【0010】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実施形態が提供するところでは、前記イントラ予測モード部分集合は、開始方向性イントラ予測モード(starting directional intra-prediction mode、DirS)、終了方向性イントラ予測モード(ending directional intra-prediction mode、DirE)、中間方向性イントラ予測モード(middle directional intra-prediction mode、DirD)、水平方向性イントラ予測モード(horizontal directional intra-prediction mode、DirH)、垂直方向性イントラ予測モード(vertical directional intra-prediction mode、DirV)、およびDirS、DirE、DirD、DirHおよびDirVのプラスまたはマイナスNの方向の有効な方向性イントラ予測モードを含み、Nは所定の整数値である。
【0011】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記イントラ予測モード部分集合はさらに、平面予測モードおよび直流(Direct Current、DC)予測モードを含む。
【0012】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記イントラ予測モード部分集合は、デコードされた隣接ブロックのために選択されたイントラ予測モードを含み、前記デコードされた隣接ブロックは、現在の画像ブロックに所定の隣接状態で位置されている。
【0013】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記イントラ予測モード部分集合は、現在の画像ブロックについての最確モード(most probable mode、MPM)リストに関連付けられたモードを含む。
【0014】
ある実施形態では、本開示は、予測ブロックとして符号化された画像ブロックを含むビットストリームをメモリに記憶するステップと;前記メモリに結合されたプロセッサによって、直流(Direct Current、DC)イントラ予測モードによってエンコードされた現在の予測ブロックを取得するステップと;現在の予測ブロックに関連付けられた複数の参照線のうちの少なくとも二つにおけるすべての参照サンプルの平均を決定することによって、現在の予測ブロックに対応する現在の画像ブロックを近似するDC予測値を決定するステップと;前記プロセッサによって、前記DC予測値に基づいて、現在の画像ブロックを再構成するステップと;現在の画像ブロックを含むビデオ・フレームをディスプレイ上に表示するステップと、を含む方法を含む。
【0015】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記DC予測値を決定することは、現在の予測ブロックへのN個の隣接する参照線におけるすべての参照サンプルの平均を決定することを含み、ここで、Nは所定の整数である。
【0016】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記DC予測値を決定することは、選択された参照線および対応する参照線内のすべての参照サンプルの平均を決定することを含む。
【0017】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記DC予測値を決定することは、隣接する参照線および選択された参照線内のすべての参照サンプルの平均を決定することを含む。
【0018】
ある実施形態では、本開示は、ビデオ符号化装置〔ビデオコーディング装置〕による使用のためのコンピュータ・プログラム製品を含む非一時的なコンピュータ読取可能媒体を含み、前記コンピュータ・プログラム製品は、前記非一時的なコンピュータ読取可能媒体に記憶されたコンピュータ実行可能命令を含み、前記命令は、プロセッサによって実行されたときに、前記ビデオ符号化装置に:受領器を介して、ビットストリームを受領する段階と;前記プロセッサによって、前記ビットストリームからイントラ予測モードを受領する段階であって、前記イントラ予測モードは、現在ブロックと選択された参照線との間の関係を示し、現在ブロックは、前記選択された参照線を含む複数の参照線と関連付けられている、段階と;前記プロセッサによって、前記選択された参照線を示す選択された符号語に基づいて、前記選択された参照線をデコードする段階であって、前記選択された符号語は前記選択された参照線の選択確率に基づく長さを含む、段階と;ディスプレイ上に、前記イントラ予測モードおよび前記選択された参照線に基づいてデコードされた画像ブロックを含むビデオ・データを呈示する段階とを実行させるものである、媒体を含む。
【0019】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記複数の参照線は複数の符号語によって示され、現在ブロックから最も遠い参照線が二番目に短い長さをもつ符号語によって示される。
【0020】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記複数の参照線は複数の符号語によって示され、現在ブロックから二番目に遠い参照線が二番目に短い長さをもつ符号語によって示される。
【0021】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記複数の参照線は複数の符号語によって示され、隣接参照線以外のあらかじめ定義された参照線が二番目に短い長さをもつ符号語によって示される。
【0022】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記複数の参照線は複数の符号語によって示され、前記複数の符号語は、クラスAグループおよびクラスBグループに分類され、クラスAグループは、クラスBグループ内の符号語の長さよりも短い長さをもつ符号語を含む。
【0023】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記複数の参照線が参照行および参照列を含み、現在ブロックについて記憶された参照行の数は、現在ブロックについて記憶された参照列の数の半分である。
【0024】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記複数の参照線が参照行および参照列を含み、現在ブロックについて記憶された参照行の数は、現在ブロックについて記憶された参照列の数から1を引いたものに等しい。
【0025】
任意的に、上記の側面のいずれかにおいて、前記側面の別の実装が提供するところでは、前記複数の参照線が参照行を含み、現在ブロックについて記憶された参照行の数は、デブロッキング・フィルタ動作によって用いられる参照行の数に基づいて選択される。
【0026】
明確のため、上記の実施形態の任意のものは、他の上記の実施形態の任意の一つまたは複数と組み合わされて、本開示の範囲内の新たな実施形態を作り出すことができる。
【0027】
これらおよび他の特徴は、添付の図面および特許請求の範囲に関連して参照される以下の詳細な説明から、より明確に理解されるであろう。
【図面の簡単な説明】
【0028】
本開示をより完全に理解するために、ここで添付の図面および詳細な説明に関連して参照される、以下の簡単な説明が参照される。ここで、同様の参照番号は同様の部分を表わす。
【0029】
【
図1】ビデオ信号を符号化する例示的な方法のフローチャートである。
【0030】
【
図2】ビデオ符号化のための例示的な符号化および復号(コーデック)システムの概略図である。
【0031】
【
図3】イントラ予測を実装しうる例示的なビデオ・エンコーダを示すブロック図である。
【0032】
【
図4】イントラ予測を実装しうる例示的なビデオ・デコーダを示すブロック図である。
【0033】
【
図5】ビデオ符号化に用いられる例示的なイントラ予測モードを示す概略図である。
【0034】
【
図6】ビデオ符号化におけるブロックの方向性関係の例を示す概略図である。
【0035】
【
図7】ブロックをイントラ予測で符号化するための主要参照線スキームの例を示す概略図である。
【0036】
【
図8】ブロックをイントラ予測で符号化するための代替参照線スキームの例を示す概略図である。
【0037】
【
図9】例示的なイントラ予測モード部分集合を示す概略図である。
【0038】
【
図10】ビデオ符号化ビットストリームにおける代替参照線についての例示的な条件付き信号伝達表現を示す概略図である。
【0039】
【
図11】ビデオ符号化ビットストリームにおける主要参照線についての例示的な条件付き信号伝達表現を示す概略図である。
【0040】
【
図12】代替参照線を用いたDCモード・イントラ予測のための例示的な機構を示す概略図である。
【0041】
【
図13】符号語で代替参照線を符号化するための例示的な機構を示す概略図である。
【0042】
【
図14】異なる数の行および列をもつ代替参照線を符号化するための例示的な機構を示す概略図である。
【0043】
【
図15】異なる数の行および列をもつ代替参照線を符号化するための別の例示的な機構を示す概略図である。
【0044】
【
図16】例示的なビデオ符号化装置の概略図である。
【0045】
【
図17】代替参照線をもつイントラ予測モード部分集合を用いたビデオ符号化の例示的方法のフローチャートである。
【0046】
【
図18】代替参照線をもつDCモード・イントラ予測を用いたビデオ符号化の例示的方法のフローチャートである。
【0047】
【
図19】選択確率に基づく符号語によって符号化された参照線を用いたビデオ符号化の例示的方法のフローチャートである。
【発明を実施するための形態】
【0048】
最初に、一つまたは複数の実施形態の例示的な実装が下記で提供されるが、開示されるシステムおよび/または方法は、現在既知であるまたは存在しているかどうかを問わず、任意の数の技術を使用して実施されうることが理解されるべきである。本開示は、決して、本願で示され記載される例示的な設計および実装を含む、以下に示される例示的な実装、図面および技術に限定されるべきではなく、付属の請求項の範囲およびその等価物の全範囲内で修正されてもよい。
【0049】
多くの方式が、ビデオ符号化プロセスの間にビデオ・データを圧縮するためにタンデムに用いられる。たとえば、ビデオ・シーケンスは画像フレームに分割される。次いで、画像フレームは画像ブロックに分割される。次いで、画像ブロックは、インター予測(異なるフレームにあるブロック間の相関)またはイントラ予測(同じフレーム内のブロック間の相関)によって圧縮されうる。イントラ予測では、現在の画像ブロックは、諸サンプルの参照線から予測される。参照線は近隣ブロックとも呼ばれる隣接画像ブロックからのサンプルを含む。現在ブロックからの諸サンプルは、最も近いルーマ(明るさ)またはクロマ(色)値をもつ参照線からの諸サンプルとマッチングされる。現在ブロックは、マッチする諸サンプルを示す予測モードとして符号化される。予測モードは、角度予測モード、直流(direct current、DC)モードおよび平面モードを含む。それらの予測モードによって予測された値と実際の値との間の差は、残差ブロックにおける残差値として符号化される。マッチングは、複数の参照線を用いることによって改善されてもよい。改善されたマッチングの結果、残差値が減少し、よって圧縮率が向上する。しかしながら、参照線の数を増すことは、マッチする参照線を一意的に識別するのに必要とされるビン(二値の値)の数を増すことがある。最適なマッチを決定するために複数の参照線が必要でない場合には、複数の参照線を識別することに関連する信号伝達オーバーヘッドの増加は、一般に複数の参照線に伴う圧縮利得を上回ることがあり、よって、全体のビットストリーム・ファイル・サイズを増加させてしまうことがある。この結果、そのような場合には符号化効率が低下する。
【0050】
本願では、複数の参照線に基づくイントラ予測に関係した信号伝達オーバーヘッドを減少させ、よって、ビデオ符号化システムにおける圧縮を増加させる、ビデオ符号化プロセスをサポートする諸機構が開示される。たとえば、イントラ予測モード部分集合を作成するための機構が開示される。すべてのイントラ予測モードが複数の参照線の完全な集合へのアクセスをもつことを許容することは、信号伝達オーバーヘッドが増大し、よって、最終的にエンコードすべき大きなファイル・サイズが生じることがありうる。
よって、イントラ予測モード部分集合は、代替参照線へのアクセスをもつイントラ予測モードの部分集合を含み、イントラ予測モード部分集合から除外されるモードは、主要参照線にアクセスすることに限定される。本明細書で使用されるところでは、主要参照線は、現在ブロックに最も近接して(たとえばすぐ隣接して)位置された参照線である。代替参照線は、主要参照線と、主要参照線よりも現在ブロックから離れた位置にある一組の参照線との両方を含む。
エンコーダは、代替参照線が有益である場合には、イントラ予測モード部分集合からのモードを使用し、主要参照線が十分である場合には、イントラ予測モード部分集合から除外されるモードを使用してもよい。イントラ予測モード部分集合の外部のモードは、主要参照線へのアクセスに限定されるので、イントラ予測モード部分集合に含まれないイントラ予測モードについては、参照線インデックスが省略されることができる。これは、イントラ予測モード情報の後に参照線インデックスをエンコードすることによって達成されてもよい。
イントラ予測モード情報がイントラ予測モードがイントラ予測モード部分集合に含まれないことを示す場合、デコーダは、参照線インデックスが含まれていないことをコンテキスト的に認識することができる。イントラ予測モード部分集合に含まれるイントラ予測モードは、あらかじめ決定されていてもよく(たとえば、テーブルに記憶されているおよび/またはハードコードされている)、および/または隣接ブロックのイントラ予測モード部分集合などに基づいてコンテキスト的に推定されてもよい。場合によっては、イントラ予測モード部分集合は、最確モード(MPM)リストに関連するモードを含むように選択されることができる。これにより、最も一般的に選択されるモードが代替参照線へのアクセスをもつことが許容される。さらに、イントラ予測モード部分集合におけるイントラ予測モードは、イントラ予測モード部分集合インデックスに基づいて信号伝達されることができる。イントラ予測モード部分集合は、完全なイントラ予測モード集合よりも少ない予測モードを含むので、イントラ予測モード部分集合インデックスは、一般に、より少ないビンで信号伝達されることができる。さらに、DCイントラ予測モードへの拡張が開示される。開示されるDCイントラ予測モードは、DC予測値が代替参照線に基づいて決定されることを許容しうる。また、特定の参照線を示す符号語サイズを凝縮するための機構も開示される。この機構では、参照線は、現在の画像サンプルからの距離に基づいてではなく、選択確率に基づいてインデックス付けされる。たとえば、選択される可能性が最も高い参照線インデックスは最も短いインデックスを受け取り、選択される可能性が最も低い参照線は最も長いインデックスを受け取る。この結果、ほとんどの場合、参照線インデックスのエンコードが小さくなる。参照線インデックスについての符号語は、前もって決定され、一貫して使用されてもよい(たとえば、テーブルに記憶されるおよび/またはハードコードされる)。さらに、特定のハードウェア設計は、参照線の列よりも参照線の行を記憶するために、より多くの記憶を必要とする。よって、画像サンプルを符号化するときに参照列よりも少ない参照行を記憶することをサポートする、よって、符号化の間の記憶要件の低減をサポートするための機構が開示される。
【0051】
図1は、ビデオ信号を符号化する例示的な方法100のフローチャートである。具体的には、ビデオ信号はエンコーダにおいてエンコードされる。エンコード・プロセスは、さまざまな機構を用いることによってビデオ信号を圧縮して、ビデオ・ファイル・サイズを低減する。より小さいファイル・サイズは、付随する帯域幅オーバーヘッドを低減しつつ、圧縮されたビデオ・ファイルをユーザーに送信することを許容する。次いで、デコーダは、圧縮されたビデオ・ファイルをデコードして、エンドユーザーへの表示のためにもとのビデオ信号を再構成する。デコード・プロセスは、デコーダがビデオ信号を整合的に再構成することを許容するよう、一般に、エンコード・プロセスをミラーしたものである。
【0052】
ステップ101では、ビデオ信号がエンコーダに入力される。たとえば、ビデオ信号はメモリに記憶された非圧縮ビデオ・ファイルであってもよい。別の例として、ビデオ・ファイルは、ビデオ・カメラなどのビデオ捕捉装置によって捕捉され、ビデオのライブ・ストリーミングをサポートするようにエンコードされてもよい。ビデオ・ファイルは、オーディオ成分およびビデオ成分の両方を含んでいてもよい。ビデオ成分は、シーケンスで見たときに視覚的な動きの印象を与える一連の画像フレームを含む。フレームは、本明細書においてルーマ成分と称される明るさおよびクロマ成分と称される色を用いて表現されるピクセルを含む。いくつかの例では、フレームはまた、三次元閲覧をサポートするための奥行き値をも含んでいてもよい。
【0053】
ステップ103では、ビデオはブロックに分割される。分割は、圧縮のために、各フレーム内のピクセルを正方形および/または長方形のブロックに細分することを含む。たとえば、符号化木を使用して、ブロックを分割し、次いで、さらなるエンコードをサポートする構成が達成されるまで、再帰的にブロックを細分していくことができる。よって、ブロックは、高効率ビデオ符号化(HEVC)(H.265およびMPEG-H Part 2としても知られる)では符号化木単位と称されることがある。たとえば、フレームのルーマ成分は、個々のブロックが比較的均一な照明値を含むまで、細分されてもよい。さらに、フレームのクロマ成分は、個々のブロックが比較的均一な色値を含むまで、細分されてもよい。よって、分割機構はビデオ・フレームの内容に依存して変化する。
【0054】
ステップ105では、ステップ103で分割された画像ブロックを圧縮するために、さまざまな圧縮機構が用いられる。たとえば、インター予測および/またはイントラ予測が用いられてもよい。インター予測は、共通のシーンにおけるオブジェクトが連続したフレームに現れる傾向があるという事実を利用するように設計されている。よって、参照フレーム内であるオブジェクトを描くブロックが、後続フレームにおいて繰り返し記述される必要はない。具体的には、テーブルのようなオブジェクトは、複数のフレームにわたって一定の位置に留まることがある。よって、テーブルは一度記述され、その後のフレームは参照フレームを参照することができる。パターン・マッチング機構を用いて、複数フレームにわたってオブジェクトをマッチングすることができる。さらに、たとえばオブジェクトの動きまたはカメラの動きのために、動いているオブジェクトが、複数フレームにわたって表現されることがある。個別的な例として、ビデオは、複数のフレームにわたってスクリーンを横切って移動する自動車を示すことがある。そのような動きを記述するために、動きベクトルを用いることができる。動きベクトルは、フレーム内のオブジェクトの座標から参照フレーム内のオブジェクトの座標までのオフセットを提供する二次元ベクトルである。このように、インター予測は、参照フレーム内の対応するブロックからのオフセットを示す動きベクトルの集合として、現在のフレーム内の画像ブロックをエンコードすることができる。
【0055】
イントラ予測は、共通フレーム内の諸ブロックをエンコードする。イントラ予測は、ルーマとクロマ成分がフレームにおいて集群化する傾向があるという事実を利用する。たとえば、木の一部における緑色のパッチは、同様の緑色のパッチに隣接して位置する傾向がある。イントラ予測は、複数の方向性予測モード(たとえばHEVCでは33個)、平面モード、およびDCモードを用いる。方向性モードは、現在ブロックが、対応する方向の隣接ブロックのサンプルと同様/同じであることを示す。平面モードは、行/列(たとえば平面)に沿った一連のブロックが、行の端における隣接ブロックに基づいて補間されうることを示す。平面モードは、事実上、値を変化させる際に比較的一定の傾きを用いることによって、行/列を通じた明るさ/色のなめらかな遷移を示す。DCモードは境界平滑化のために用いられ、ブロックが方向性予測モードの角度方向に関連するすべての隣接ブロックのサンプルに関連する平均値と同様/同じであることを示す。よって、イントラ予測ブロックは、実際の値の代わりに、さまざまな関係予測モード値として、画像ブロックを表現することができる。さらに、インター予測ブロックは、実際の値の代わりに、動きベクトル値として画像ブロックを表現することができる。いずれの場合も、予測ブロックは、場合によっては、画像ブロックを正確に表現しないことがある。差異はすべて残差ブロックに記憶される。ファイルをさらに圧縮するために、残差ブロックに変換が適用されてもよい。
【0056】
ステップ107では、さまざまなフィルタリング技術が適用されうる。HEVCでは、フィルタは、ループ内フィルタリング方式に従って適用される。上記で論じたブロック・ベースの予測は、デコーダにおいてブロック状画像の生成につながることがある。さらに、ブロック・ベースの予測方式は、ブロックをエンコードし、次いで、後で参照ブロックとして使用するために、エンコードされたブロックを再構成することがある。ループ内フィルタリング方式は、ノイズ抑制フィルタ、デブロッキング・フィルタ、適応ループ・フィルタ、およびサンプル適応オフセット(ample adaptive offset、SAO)フィルタをブロック/フレームに逐次的に適用する。これらのフィルタは、エンコードされたファイルが正確に再構成されることができるように、そのようなブロック・アーチファクトを緩和する。さらに、これらのフィルタは、再構成された参照ブロックにおけるアーチファクトを緩和し、それにより、アーチファクトが、再構成された参照ブロックに基づいてエンコードされるその後のブロックにおいて追加的なアーチファクトを生じる可能性が低くなる。
【0057】
いったんビデオ信号が分割され、圧縮され、フィルタリングされると、結果として得られたデータはステップ109でビットストリームにエンコードされる。ビットストリームは、上記で論じたデータと、デコーダで適正なビデオ信号再構成をサポートするために望まれる任意の信号伝達データとを含む。たとえば、そのようなデータは、パーティション・データ、予測データ、残差ブロック、およびデコーダに符号化命令を提供するさまざまなフラグを含んでいてもよい。ビットストリームは、要求に際してデコーダに向けて送信するためにメモリに記憶されてもよい。ビットストリームはまた、複数のデコーダに向けてブロードキャストおよび/またはマルチキャストされてもよい。ビットストリームの生成は逐次反復的なプロセスである。よって、ステップ101、103、105、107および109は、多くのフレームおよびブロックにわたって連続的におよび/または同時に発生することができる。
図1に示される順序は、議論の明確さおよび簡単さのために呈示されており、ビデオ符号化プロセスを特定の順序に限定することは意図されていない。
【0058】
デコーダはビットストリームを受領し、ステップ111でデコード・プロセスを開始する。具体的には、デコーダは、ビットストリームを対応するシンタックスおよびビデオ・データに変換するエントロピー復号方式を用いる。デコーダは、ビットストリームからのシンタックス・データを使用して、ステップ111で諸フレームについての諸パーティションを決定する。パーティション分割は、ステップ103におけるブロック・パーティション分割の結果と一致するべきである。ステップ111で用いられるエントロピー符号化/復号についてここで説明する。エンコーダは、入力画像(単数または複数)内の値の空間的位置決めに基づいていくつかの可能な選択肢からブロック分割方式を選択するなど、圧縮プロセスの間に多くの選択を行なう。厳密な選択を信号伝達することは、多数のビンを用いることがある。本明細書で使用されるところでは、ビンとは、変数として扱われる二値の値(たとえば、コンテキストに依存して変わりうるビット値)である。エントロピー符号化は、エンコーダが、許容可能なオプションの集合を残して、特定の場合に明らかに実現性のない任意のオプションを破棄することを許容する。次いで、それぞれの許容可能なオプションが、符号語を割り当てられる。符号語の長さは、許容可能なオプションの数に基づく(たとえば、2つのオプションについては一つのビン、3つから4つのオプションについては二つのビンなど)。次いで、エンコーダは、選択されたオプションについての符号語をエンコードする。この方式は、符号語が、あらゆる可能なオプションの潜在的には大きな集合からの選択を一意的に示すのではなく、許容可能なオプションの小さな部分集合からの選択を一意的に示すために望まれるだけの大きさなので、符号語のサイズを小さくする。次いで、デコーダは、エンコーダと同様の仕方で許容可能なオプションの集合を決定することによって、前記選択をデコードする。許容可能なオプションの集合を決定することによって、デコーダは、符号語を読み、エンコーダによってなされた選択を決定することができる。
【0059】
ステップ113では、デコーダはブロック・デコードを実行する。具体的には、デコーダは、逆変換を使用して残差ブロックを生成する。次いで、デコーダは、前記パーティション分割に従って画像ブロックを再構成するために、残差ブロックおよび対応する予測ブロックを使用する。予測ブロックは、ステップ105においてエンコーダで生成されるように、イントラ予測ブロックおよびインター予測ブロックの両方を含んでいてもよい。次いで、再構成された画像ブロックは、ステップ111で決定された分割データに従って、再構成されたビデオ信号のフレーム内に位置決めされる。ステップ113のためのシンタックスも、上記で論じたようにエントロピー符号化によってビットストリーム内で信号伝達されてもよい。
【0060】
ステップ115では、エンコーダにおけるステップ107と同様の仕方で、再構成されたビデオ信号のフレームに対してフィルタリングが実行される。たとえば、ノイズ抑制フィルタ、デブロッキング・フィルタ、適応ループ・フィルタ、およびSAOフィルタがフレームに適用されて、ブロッキング・アーチファクトを除去することができる。ひとたびフレームがフィルタリングされると、ビデオ信号は、エンドユーザーによる閲覧のために、ステップ117でディスプレイに出力されることができる。
【0061】
図2は、ビデオ符号化のための例示的な符号化および復号(コーデック)システム200の概略図である。具体的には、コーデック・システム200は、方法100の実装をサポートするための機能性を提供する。コーデック・システム200は、エンコーダおよびデコーダの両方で使用されるコンポーネントを描くために一般化されている。コーデック・システム200は、方法100のステップ101および103に関して論じたように、ビデオ信号を受領し、分割し、これにより、パーティション分割されたビデオ信号201が得られる。次いで、コーデック・システム200は、方法100のステップ105、107、および109に関して論じたように、エンコーダとして作用するときに、分割されたビデオ信号201を符号化ビットストリームに圧縮する。デコーダとして作用するとき、コーデック・システム200は、方法100のステップ111、113、115、および117に関して論じたように、ビットストリームから出力ビデオ信号を生成する。コーデック・システム200は、全般符号化器制御コンポーネント211と、変換スケーリングおよび量子化コンポーネント213と、イントラ・ピクチャー推定コンポーネント215と、イントラ・ピクチャー予測コンポーネント217と、動き補償コンポーネント219と、動き推定コンポーネント221と、スケーリングおよび逆変換コンポーネント229と、フィルタ制御解析コンポーネント227と、ループ内フィルタ・コンポーネント225と、復号ピクチャー・バッファ・コンポーネント223と、ヘッダ・フォーマッティングおよびコンテキスト適応二進算術符号化(Context adaptive binary arithmetic coding、CABAC)コンポーネント231とを含む。そのようなコンポーネントは、図示されるように結合される。
図2において、黒線はエンコード/デコードされるべきデータの動きを示し、破線は他のコンポーネントの動作を制御する制御データの動きを示す。エンコーダにおいては、コーデック・システム200のコンポーネントがすべて存在してもよい。デコーダは、コーデック・システム200のコンポーネントの部分集合を含んでいてもよい。たとえば、デコーダは、イントラ・ピクチャー予測コンポーネント217、動き補償コンポーネント219、スケーリングおよび逆変換コンポーネント229、ループ内フィルタ・コンポーネント225、および復号ピクチャー・バッファ・コンポーネント223を含んでいてもよい。ここで、これらのコンポーネントについて述べる。
【0062】
分割されたビデオ信号201は、捕捉されたビデオストリームであり、符号化木によってピクセルのブロックに分割されている。符号化木は、さまざまな分割モードを用いて、ピクセルのブロックをピクセルのより小さなブロックに分割する。そして、これらのブロックは、より小さなブロックにさらに細分されることができる。ブロックは、符号化木のノードと称されてもよい。より大きな親ノードが、より小さな子ノードに分割される。ノードが細分される回数は、ノード/符号化木の深さと称される。分割されたブロックは、場合によっては符号化単位(coding unit、CU)と称される。分割モードは、二分木(binary tree、BT)、三分木(triple tree、TT)および四分木(quad tree、QT)を含んでいてもよく、これらはそれぞれ、ノードを、使用される分割モードに依存して異なる形状のそれぞれ二つ、三つ、または四つの子ノードに分割するために使用される。分割されたビデオ信号201は、圧縮のために、全般符号化器制御コンポーネント211、変換スケーリングおよび量子化コンポーネント213、イントラ・ピクチャー推定コンポーネント215、フィルタ制御解析コンポーネント227、および動き推定コンポーネント221に転送される。
【0063】
全般符号化器制御コンポーネント211は、アプリケーションの制約条件に従って、ビデオ・シーケンスの諸画像をビットストリームに符号化することに関連する決定を行なうよう構成される。たとえば、全般符号化器制御コンポーネント211は、ビットレート/ビットストリーム・サイズ対再構成品質の最適化を管理する。そのような決定は、記憶スペース/帯域幅の利用可能性および画像解像度要件に基づいて行なわれてもよい。全般符号化器制御コンポーネント211はまた、バッファのアンダーランおよびオーバーランの問題を緩和するために、伝送速度に照らしてバッファの利用を管理する。これらの問題を管理するために、全般符号化器制御コンポーネント211は、他のコンポーネントによる分割、予測、およびフィルタリングを管理する。たとえば、全般符号化器制御コンポーネント211は、動的に、圧縮の複雑さを増加させて解像度を増加させ、帯域幅使用を増加させる、または、圧縮の複雑さを減少させて解像度および帯域幅使用を減少させることができる。よって、全般符号化器制御コンポーネント211は、ビットレートの懸念とビデオ信号再構成品質とのバランスを取るために、コーデック・システム200の他のコンポーネントを制御する。全般符号化器制御コンポーネント211は、他のコンポーネントの動作を制御する制御データを生成する。制御データはヘッダ・フォーマッティングおよびCABACコンポーネント231にも転送されて、デコーダでのデコードのためにパラメータを信号伝達するためにビットストリームにおいてエンコードされる。
【0064】
分割されたビデオ信号201は、インター予測のために、動き推定コンポーネント221および動き補償コンポーネント219にも送られる。分割されたビデオ信号201のフレームまたはスライスは、複数のビデオ・ブロックに分割されてもよい。動き推定コンポーネント221および動き補償コンポーネント219は、時間的予測を提供するために、一つまたは複数の参照フレーム内の一つまたは複数のブロックに対して、受領されたビデオ・ブロックのインター予測符号化を実行する。コーデック・システム200は、たとえばビデオ・データの各ブロックについて適切な符号化モードを選択するために、複数の符号化パス(pass)を実行してもよい。
【0065】
動き推定コンポーネント221および動き補償コンポーネント219は、高度に統合されていてもよいが、概念的な目的のために別個に図示されている。動き推定コンポーネント221によって実行される動き推定は、動きベクトルを生成するプロセスであり、動きベクトルはビデオ・ブロックについての動きを推定する。動きベクトルは、たとえば、現在のフレーム(または他の符号化単位)内の符号化されている現在ブロックに関する、参照フレーム(または他の符号化単位)内の予測ブロックに対するビデオ・ブロックの予測単位(prediction unit、PU)の変位を示してもよい。予測ブロックは、ピクセル差の点で、符号化されるべきブロックとよく一致することが見出されるブロックであり、ピクセル差は、差分絶対値和(sum of absolute difference、SAD)、平方差分和(sum of square difference、SSD)、または他の差分メトリックによって決定されうる。いくつかの例では、コーデック・システム200は、復号ピクチャー・バッファ223に格納された参照ピクチャーの整数未満のピクセル位置についての値を計算することができる。たとえば、ビデオ・コーデック・システム200は、参照ピクチャーの1/4ピクセル位置、1/8ピクセル位置または他の端数ピクセル位置の値を補間してもよい。したがって、動き推定コンポーネント221は、フル・ピクセル位置および端数ピクセル位置に対する動き探索を実行し、端数ピクセル精度をもつ動きベクトルを出力することができる。動き推定コンポーネント221は、PUの位置を参照画像の予測ブロックの位置と比較することによって、インター符号化されるスライス内のビデオ・ブロックのPUについての動きベクトルを計算する。動き推定コンポーネント221は、計算された動きベクトルを、動きデータとして、エンコードのために、ヘッダ・フォーマッティングおよびCABACコンポーネント231に対して出力し、動きを動き補償コンポーネント219に出力する。
【0066】
動き補償コンポーネント219によって実行される動き補償は、動き推定コンポーネント221によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関わってもよい。ここでもまた、いくつかの例では、動き推定コンポーネント221および動き補償コンポーネント219は機能的に統合されてもよい。現在のビデオ・ブロックのPUについての動きベクトルを受領すると、動き補償コンポーネント219は、動きベクトルが参照ピクチャー・リスト指す予測ブロックを位置特定してもよい。次いで、符号化されている現在のビデオ・ブロックのピクセル値から予測ブロックのピクセル値を減算してピクセル差分値を形成することによって、残差ビデオ・ブロックが形成される。一般に、動き推定コンポーネント221はルーマ・コンポーネントに関する動き推定を実行し、動き補償コンポーネント219はクロマ・コンポーネントとルーマ・コンポーネントの両方について、ルーマ・コンポーネントに基づいて計算された動きベクトルを使用する。予測ブロックおよび残差ブロックは、変換スケーリングおよび量子化コンポーネント213に転送される。
【0067】
分割されたビデオ信号201は、イントラ・ピクチャー推定コンポーネント215およびイントラ・ピクチャー予測コンポーネント217にも送られる。動き推定コンポーネント221および動き補償コンポーネント219と同様に、イントラ・ピクチャー推定コンポーネント215およびイントラ・ピクチャー予測コンポーネント217は高度に統合されていてもよいが、概念的な目的のために別個に図示されている。イントラ・ピクチャー推定コンポーネント215およびイントラ・ピクチャー予測コンポーネント217は、上述したフレーム間の動き推定コンポーネント221および動き補償コンポーネント219によって実行されるインター予測の代わりに、現在フレーム内のブロックに対して現在ブロックをイントラ予測する。特に、イントラ・ピクチャー推定コンポーネント215は、現在ブロックをエンコードするために使用するイントラ予測モードを決定する。いくつかの例では、イントラ・ピクチャー推定コンポーネント215は、複数のテストされたイントラ・ピクチャー予測モードから、現在ブロックをエンコードするために、適切なイントラ予測モードを選択する。次いで、選択されたイントラ予測モードは、エンコードのためにヘッダ・フォーマッティングおよびCABACコンポーネント231に転送される。
【0068】
たとえば、イントラ・ピクチャー推定コンポーネント215は、さまざまなテストされたイントラ予測モードについてレート‐歪み解析を用いてレート‐歪み値を計算し、テストされたモードのうちで最良のレート‐歪み特性を有するイントラ予測モードを選択する。レート‐歪み解析は、一般に、エンコードされたブロックと、該エンコードされたブロックを生成するためにエンコードされたもとのエンコードされていないブロックとの間の歪み(または誤差)の量と、エンコードされたブロックを生成するために使用されるビットレート(たとえば、ビット数)とを決定する。イントラ・ピクチャー推定コンポーネント215は、さまざまなエンコードされたブロックについての歪みおよびレートから比を計算し、そのブロックについてどのイントラ予測モードが最良のレート‐歪み値を示すかを決定する。加えて、イントラ・ピクチャー推定コンポーネント215は、レート‐歪み最適化(rate-distortion optimization、RDO)に基づく奥行きモデリング・モード(depth modeling mode、DMM)を使用して、奥行きマップの奥行きブロックを符号化するよう構成されてもよい。
【0069】
イントラ・ピクチャー予測コンポーネント217は、エンコーダ上で実装されるときは、イントラ・ピクチャー推定コンポーネント215によって決定された選択されたイントラ予測モードに基づく予測ブロックから残差ブロックを生成し、デコーダ上で実装されるときは、ビットストリームから残差ブロックを読み取ることができる。残差ブロックは、マトリクスとして表わされた、予測ブロックともとのブロックとの間の値の差を含む。次いで、残差ブロックは、変換スケーリングおよび量子化コンポーネント213に転送される。イントラ・ピクチャー推定コンポーネント215およびイントラ・ピクチャー予測コンポーネント217は、ルーマ・コンポーネントおよびクロマ・コンポーネントの両方に対して作用してもよい。
【0070】
変換スケーリングおよび量子化コンポーネント213は、残差ブロックをさらに圧縮するよう構成される。変換スケーリングおよび量子化コンポーネント213は、離散コサイン変換(discrete cosine transform、DCT)、離散サイン変換(discrete sine transform、DST)、または概念的に類似した変換などの変換を残差ブロックに適用し、残差変換係数値を含むビデオ・ブロックを生成する。ウェーブレット変換、整数変換、サブバンド変換、または他の型の変換が使用されることもできる。変換は、残差情報をピクセル値領域から変換領域、たとえば周波数領域に変換することができる。変換スケーリングおよび量子化コンポーネント213はまた、変換された残差情報を、たとえば周波数に基づいてスケーリングするようにも構成される。そのようなスケーリングは、異なる周波数情報が異なる粒度で量子化されるように、残差情報にスケール・ファクタを適用することに関わり、これは、再構成されるビデオの最終的な視覚的品質に影響を及ぼしうる。変換スケーリングおよび量子化コンポーネント213は、ビットレートをさらに低下させるために変換係数を量子化するようにも構成される。量子化プロセスは、係数のいくつかまたはすべてに関連するビット深さを低減してもよい。量子化の程度は、量子化パラメータを調整することによって修正されてもよい。いくつかの例では、変換スケーリングおよび量子化コンポーネント213は、次いで、量子化された変換係数を含むマトリクスの走査を実行してもよい。量子化された変換係数は、ヘッダ・フォーマッティングおよびCABACコンポーネント231に転送され、ビットストリーム内でエンコードされる。
【0071】
スケーリングおよび逆変換コンポーネント229は、動き推定をサポートするために変換スケーリングおよび量子化コンポーネント213の逆演算を適用する。スケーリングおよび逆変換コンポーネント229は、逆スケーリング、変換、および/または量子化を適用して、ピクセル領域の残差ブロックを再構成する。これは、たとえば、後に、別の現在ブロックの予測ブロックとなりうる参照ブロックとして使用するためである。動き推定コンポーネント221および/または動き補償コンポーネント219は、後のブロック/フレームの動き推定において使用するために、残差ブロックを対応する予測ブロックに加算することによって参照ブロックを計算することができる。スケーリング、量子化、および変換の間に生成されるアーチファクトを緩和するために、再構成された参照ブロックにフィルタが適用される。そうでなければ、そのようなアーチファクトは、後続のブロックが予測されるときに不正確な予測を引き起こす(そして、さらなるアーチファクトを生じる)ことがありうる。
【0072】
フィルタ制御解析コンポーネント227およびループ内フィルタ・コンポーネント225は、残差ブロックおよび/または再構成された画像ブロックに前記フィルタを適用する。たとえば、スケーリングおよび逆変換コンポーネント229からの変換された残差ブロックが、イントラ・ピクチャー予測コンポーネント217および/または動き補償コンポーネント219からの対応する予測ブロックと組み合わされて、もとの画像ブロックを再構成することができる。次いで、再構成された画像ブロックに前記フィルタが適用されうる。いくつかの例では、フィルタは、代わりに、残差ブロックに適用されてもよい。
図2の他のコンポーネントと同様に、フィルタ制御解析コンポーネント227およびループ内フィルタ・コンポーネント225は、高度に統合されており、一緒に実装されてもよいが、概念的な目的のために別々に描かれている。再構成された参照ブロックに適用されるフィルタは、特定の空間的領域に適用され、そのようなフィルタがどのように適用されるかを調整するための複数のパラメータを含む。フィルタ制御解析コンポーネント227は、再構成された参照ブロックを解析して、そのようなフィルタがどこで適用されるべきかを決定し、対応するパラメータを設定する。そのようなデータは、エンコードのために、フィルタ制御データとしてヘッダ・フォーマッティングおよびCABACコンポーネント231に転送される。ループ内フィルタ・コンポーネント225は、該フィルタ制御データに基づいて、そのようなフィルタを適用する。フィルタは、デブロッキング・フィルタ、ノイズ抑制フィルタ、SAOフィルタ、および適応ループ・フィルタを含んでいてもよい。そのようなフィルタは、例に依存して、空間/ピクセル領域で(たとえば、再構成されたピクセル・ブロックに対して)または周波数領域で適用されうる。
【0073】
エンコーダとして動作するとき、フィルタリングされた再構成された画像ブロック、残差ブロック、および/または予測ブロックは、上記で論じたような動き推定における後の使用のために、復号ピクチャー・バッファ223に格納される。デコーダとして動作するとき、復号ピクチャー・バッファ223は、再構成されフィルタリングされたブロックを記憶し、出力ビデオ信号の一部としてディスプレイに向かって転送する。復号ピクチャー・バッファ223は、予測ブロック、残差ブロック、および/または再構成された画像ブロックを記憶することができるいかなるメモリ・デバイスであってもよい。
【0074】
ヘッダ・フォーマッティングおよびCABACコンポーネント231は、コーデック・システム200のさまざまなコンポーネントからデータを受領し、デコーダに向けた伝送のために、そのようなデータを符号化ビットストリームにエンコードする。具体的には、ヘッダ・フォーマッティングおよびCABACコンポーネント231は、一般的な制御データおよびフィルタ制御データのような制御データをエンコードするためのさまざまなヘッダを生成する。さらに、イントラ予測および動きデータを含む予測データ、ならびに量子化された変換係数データの形の残差データは、すべてビットストリームにおいてエンコードされる。最終的なビットストリームは、もとの分割されたビデオ信号201を再構成するためにデコーダによって所望されるすべての情報を含む。そのような情報は、イントラ予測モード・インデックス・テーブル(符号語マッピング・テーブルとも称される)、さまざまなブロックについてのエンコード・コンテキストの定義、最も可能性の高いイントラ予測モードの指示、パーティション情報の指示なども含んでいてもよい。そのようなデータはエントロピー符号化を用いてエンコードされてもよい。たとえば、該情報は、コンテキスト適応可変長符号化(context adaptive variable length coding、CAVLC)、CABAC、シンタックス・ベースのコンテキスト適応二進算術符号化(syntax-based context-adaptive binary arithmetic coding、SBAC)、確率区間分割エントロピー符号化(probability interval partitioning entropy、PIPE)符号化、または別のエントロピー符号化技術を使用することによって、エンコードされうる。エントロピー符号化に続いて、符号化されたビットストリームは、別の装置(たとえば、ビデオ・デコーダ)に伝送されてもよく、または後の伝送または検索のためにアーカイブされてもよい。
【0075】
図3は、イントラ予測を実装することができる例示的なビデオ・エンコーダ300を示すブロック図である。ビデオ・エンコーダ300は、コーデック・システム200のエンコード機能を実装するため、および/または方法100のステップ101、103、105、107、および/または109を実装するために使用されてもよい。ビデオ・エンコーダ300は、入力ビデオ信号をパーティション分割し、前記の分割されたビデオ信号201と実質的に同様であるパーティション分割されたビデオ信号301を生じる。次いで、分割されたビデオ信号301は、エンコーダ300の諸コンポーネントによって圧縮され、ビットストリームにエンコードされる。
【0076】
具体的には、分割されたビデオ信号301は、インター予測のためにイントラ・ピクチャー予測コンポーネント317に転送される。イントラ・ピクチャー予測コンポーネント317は、イントラ・ピクチャー推定コンポーネント215およびイントラ・ピクチャー予測コンポーネント217と実質的に同様であってもよい。分割されたビデオ信号301は、復号ピクチャー・バッファ323内の参照ブロックに基づくインター予測のために、動き補償コンポーネント321にも転送される。動き補償コンポーネント321は、動き推定コンポーネント221および動き補償コンポーネント219と実質的に同様であってもよい。イントラ・ピクチャー予測コンポーネント317および動き補償コンポーネント321からの予測ブロックおよび残差ブロックは、残差ブロックの変換および量子化のために、変換および量子化コンポーネント313に転送される。変換および量子化コンポーネント313は、変換スケーリングおよび量子化コンポーネント213と実質的に同様であってもよい。変換され量子化された残差ブロックおよび対応する予測ブロックは(関連する制御データと一緒に)、ビットストリーム中に符号化するためにエントロピー符号化コンポーネント331に転送される。エントロピー符号化コンポーネント331は、ヘッダ・フォーマッティングおよびCABACコンポーネント231と実質的に同様であってもよい。
【0077】
変換され量子化された残差ブロックおよび/または対応する予測ブロックは、変換および量子化コンポーネント313から逆変換および量子化コンポーネント329にも転送される。動き補償コンポーネント321による使用のための参照ブロックに再構成するためである。逆変換および量子化コンポーネント329は、スケーリングおよび逆変換コンポーネント229と実質的に同様であってもよい。ループ内フィルタ・コンポーネント325におけるループ内フィルタも、例に依存して残差ブロックおよび/または再構成された参照ブロックに適用される。ループ内フィルタ・コンポーネント325は、実質的に、フィルタ制御解析コンポーネント227およびループ内フィルタ・コンポーネント225と同様であってもよい。ループ内フィルタ・コンポーネント325は、ノイズ抑制フィルタ、デブロッキング・フィルタ、SAOフィルタ、および/または適応ループ・フィルタのような複数のフィルタを含んでいてもよい。次いで、フィルタリングされたブロックは、動き補償コンポーネント321による参照ブロックでの使用のために、復号ピクチャー・バッファ323に格納される。復号ピクチャー・バッファ323は、復号ピクチャー・バッファ223と実質的に同様であってもよい。
【0078】
後に論じるように、イントラ・ピクチャー予測コンポーネント317は、隣接するブロックに関連する代替参照線を用いるイントラ予測モードを選択することによって、イントラ予測を実行してもよい。信号伝達オーバーヘッドを低減するために、イントラ・ピクチャー予測コンポーネント317は、代替参照線へのアクセスをもつイントラ予測モードの部分集合を含むイントラ予測モード部分集合を決定することができる。イントラ予測モード部分集合から除外されるモードは、主要参照線へのアクセスをもつ。次いで、イントラ・ピクチャー予測コンポーネント317は、より良好なマッチングを得るために、代替参照線を用いるイントラ予測モードを選択するか、または、より低い信号伝達オーバーヘッドをサポートするために、主要参照線を用いるイントラ予測モードを選択するオプションを有する。イントラ・ピクチャー予測コンポーネント317は、後に論じるように、代替参照線を使用するとき、符号化効率の増大をサポートするために、さまざまな他の機構を使用することもできる。
【0079】
図4は、イントラ予測を実装することができる例示的なビデオ・デコーダ400を示すブロック図である。ビデオ・デコーダ400は、コーデック・システム200のデコード機能を実装するため、および/または方法100のステップ111、113、115、および/または117を実装するために使用されてもよい。デコーダ400は、たとえばエンコーダ300から、ビットストリームを受領し、エンドユーザーに対して表示するために、該ビットストリームに基づいて、再構成された出力ビデオ信号を生成する。
【0080】
ビットストリームはエントロピー復号コンポーネント433によって受領される。エントロピー復号コンポーネント433は、エントロピー符号化コンポーネント331の逆関数を実行する。エントロピー復号コンポーネント433は、CAVLC、CABAC、SBAC、PIPE符号化、または他のエントロピー符号化技術などのエントロピー復号方式を実装するように構成される。たとえば、エントロピー復号コンポーネント433は、ビットストリーム内の符号語としてエンコードされた追加データを解釈するためのコンテキストを提供するために、ヘッダ情報を使用することができる。復号された情報は、一般的な制御データ、フィルタ制御データ、パーティション情報、動きデータ、予測データ、および残差ブロックからの量子化された変換係数のような、ビデオ信号をデコードするための任意の所望される情報を含む。量子化された変換係数は、残差ブロックに再構成するために、逆変換および量子化コンポーネント429に転送される。逆変換および量子化コンポーネント429は、逆変換および量子化コンポーネント329と実質的に同様であってもよい。
【0081】
再構成された残差ブロックおよび/または予測ブロックは、イントラ予測動作に基づいて画像ブロックに再構成するために、イントラ・ピクチャー予測コンポーネント417に転送される。イントラ・ピクチャー予測コンポーネント417は、イントラ・ピクチャー予測コンポーネント317と実質的に同様であってもよいが、逆に動作する。具体的には、イントラ・ピクチャー予測コンポーネント417は、予測モードを用いてフレーム内の参照ブロックを位置特定し、その結果に残差ブロックを適用して、イントラ予測された画像ブロックを再構成する。再構成されたイントラ予測された画像ブロックおよび/または残差ブロックおよび対応するインター予測データは、ループ内フィルタ・コンポーネント425を介して復号ピクチャー・バッファ・コンポーネント423に転送される。これらはそれぞれ、ループ内フィルタ・コンポーネント325および復号ピクチャー・バッファ・コンポーネント323と実質的に同様であってもよい。ループ内フィルタ・コンポーネント425は、再構成された画像ブロック、残差ブロックおよび/または予測ブロックをフィルタリングし、そのような情報は復号ピクチャー・バッファ・コンポーネント423に格納される。復号ピクチャー・バッファ・コンポーネント423からの再構成された画像ブロックは、インター予測のために動き補償コンポーネント421に転送される。動き補償コンポーネント421は、動き補償コンポーネント321と実質的に同様であってもよいが、逆に動作してもよい。具体的には、動き補償コンポーネント421は、参照ブロックからの動きベクトルを用いて予測ブロックを生成し、その結果に残差ブロックを適用して、画像ブロックを再構成する。結果として得られる再構成されたブロックは、ループ内フィルタ・コンポーネント425を介して復号ピクチャー・バッファ・コンポーネント423に転送されてもよい。復号ピクチャー・バッファ・コンポーネント423は、追加的な再構成された画像ブロックを格納し続ける。これらは、パーティション情報を介して、フレームに再構成されることができる。そのようなフレームは、シーケンスに配置されてもよい。このシーケンスは、再構成された出力ビデオ信号としてディスプレイに出力される。
【0082】
イントラ・ピクチャー予測コンポーネント317と同様に、イントラ・ピクチャー予測コンポーネント417は、代替参照線を用いるイントラ予測モードに基づいてイントラ予測を実行してもよい。具体的には、イントラ・ピクチャー予測コンポーネント417は、イントラ予測モード部分集合に割り当てられたモードを認識する。たとえば、イントラ予測モード部分集合は、決定されたMPMリストに対応することができ、メモリ内であらかじめ定義されていることができ、および/または、隣接ブロックのイントラ予測モードに基づいて決定されることができる。このように、現在ブロックについてのイントラ予測モードがイントラ予測モード部分集合にある場合には、イントラ・ピクチャー予測コンポーネント417は、ビットストリームから参照線インデックスを得ることができる。そうでない場合には、イントラ・ピクチャー予測コンポーネント417は、主要参照線がエンコーダによって意図されていることを推論的に決定できる。イントラ・ピクチャー予測コンポーネント417は、のちに論じるように、代替参照線を使用する場合に、符号化効率の増大をサポートするためにさまざまな他の機構を使用してもよい。
【0083】
図5は、ビデオ符号化において使用される例示的なイントラ予測モード500を示す概略図である。たとえば、イントラ予測モード500は、方法100のステップ105および113、コーデック・システム200のイントラ・ピクチャー推定コンポーネント215およびイントラ・ピクチャー予測コンポーネント217、エンコーダ300のイントラ・ピクチャー予測コンポーネント317、および/またはデコーダ400のイントラ・ピクチャー予測コンポーネント417によって使用されてもよい。具体的には、イントラ予測モード500は、画像ブロックを、選択された予測モードを含む予測ブロックと残りの残差ブロックとに圧縮するために使用されることができる。
【0084】
上述のように、イントラ予測は、現在の画像ブロックを、一つまたは複数の隣接するブロックの対応するサンプル(単数または複数)にマッチングさせることに関わる。すると、現在の画像ブロックは、選択された予測モード・インデックスおよび残差ブロックとして表わすことができ、これは、現在の画像ブロックに含まれるルーマ/クロマ値の全部を表わすよりもはるかに小さい。イントラ予測は、利用可能な参照フレームがない場合、または現在のブロックまたはフレームについてインター予測符号化が使用されない場合に使用されることができる。イントラ予測のための参照サンプルは、同じフレーム内の前に符号化された(または再構成された)隣接ブロックから導出されてもよい。H.264およびH.265/HEVCとしても知られる先進ビデオ符号化(Advanced Video Coding、AVC)は、隣接ブロックの境界サンプルの参照線をイントラ予測のための参照サンプルとして使用する。異なるテクスチャーまたは構造特性をカバーするために、多くの異なるイントラ予測モードが用いられる。H.265/HEVCは、現在ブロックを一つまたは複数の参照サンプルに空間的に相関付ける合計35通りのイントラ予測モード500をサポートする。具体的には、イントラ予測モード500は、モード2~34としてインデックス付けされる33の方向性予測モード、モード1としてインデックス付けされるDCモード、およびモード0としてインデックス付けされる平面モードを含む。
【0085】
エンコードの間、エンコーダは、現在ブロックのルーマ/クロマ値を、隣接する諸ブロックのエッジを通る参照線内の対応する参照サンプルのルーマ/クロマ値とマッチングする。参照線の一つとの最良マッチが見出されると、エンコーダは、最良マッチの参照線を指す方向性イントラ予測モード500の一つを選択する。議論の明確のため、特定の方向性イントラ予測モード500を参照するために、以下では頭字語を使用する。DirSは左下から時計回りにカウントするときの開始方向性イントラ予測モード(たとえばHEVCにおけるモード2)を表わす。DirEは左下から時計回りにカウントするときの終了方向性イントラ予測モード(たとえばHEVCではモード34)を表わす。DirDは左下から時計回りにカウントするときの中間の中方性イントラ符号化モード(たとえばHEVCにおけるモード18)を表わす。DirHは水平方向性イントラ予測モード(たとえばHEVCではモード10)を表わす。DirVは、垂直イントラ予測モード(たとえばHEVCにおけるモード26)を表わす。
【0086】
上記で論じたように、DCモードは、平滑化関数として作用し、現在ブロックの予測値を、隣接する諸ブロックを横断する参照線内のすべての参照サンプルの平均値として導出する。また、上記で論じたように、平面モードは、参照サンプルの参照線の下と左上または左上と右上にあるサンプルの間のなめらかな遷移(たとえば、値の一定の勾配)を示す予測値を返す。
【0087】
平面、DCおよびDirHからDirVまでの予測モードについては、参照線の上の行と参照線の左の列の両方におけるサンプルが参照サンプルとして使用される。DirSからDirH(DirSおよびDirHを含む)までの予測方向をもつ予測モードについては、参照線の左の列にある、以前に符号化され再構成された隣接ブロックの参照サンプルが参照サンプルとして使用される。DirVからDirE(DirVおよびDirEを含む)までの予測方向をもつ予測モードについては、参照線の上の行にある以前に符号化され再構成された隣接ブロックの参照サンプルが参照サンプルとして使用される。
【0088】
多くのイントラ予測モード500があるが、すべてのイントラ予測モード500がビデオ符号化の間に等しい確率で選択されるわけではない。さらに、隣接ブロックによって選択されたイントラ予測モード500は、統計的に、現在ブロックについて選択されるイントラ予測モード500と高い相関を有する。したがって、いくつかの例では、MPMリストが使用されてもよい。MPMリストは、選択される可能性が最も高いイントラ予測モード500の部分集合を含むリストである。現在ブロックのイントラ予測モードがMPMリストに含まれている場合、選択されたモードは、ビットストリームにおいて、MPMリスト・インデックスによって信号伝達されることができ、これは、イントラ予測モード500すべてを一意的に識別するために使用されるビンの数よりも少ないビンをもつ符号語を使用することができる。
【0089】
MPMリストは、いくつかの近隣のデコードされたブロックのイントラ予測モード500と、一般に高い選択確率をもついくつかのデフォルトのイントラ予測モードとで構築されてもよい。たとえば、H.265/HEVCでは、二つの隣接ブロック(現在ブロックの上の一つと左の一つ)のイントラ予測モードで、長さ3のMPMリストが構成される。重複モードの場合、MPMリストは、デフォルトで平面モード、DCモード、またはDirVモードとして、その順に割り当てられる。MPMリストがより長い長さを含む場合には、MPMリストは、さらなる隣接ブロックのイントラ予測モード500および/またはさらなるデフォルトのイントラ予測モード500をも含むことができる。MPMリストの長さおよび構築方式は、あらかじめ定義されていてもよい。
【0090】
図6は、ビデオ符号化における諸ブロック600の方向関係の例を示す概略図である。たとえば、諸ブロック600は、諸イントラ予測モード500を選択するときに使用されてもよい。よって、ブロック600は、方法100のステップ105および113、コーデック・システム200のイントラ・ピクチャー推定コンポーネント215およびイントラ・ピクチャー予測コンポーネント217、エンコーダ300のイントラ・ピクチャー予測コンポーネント317、および/またはデコーダ400のイントラ・ピクチャー予測コンポーネント417によって使用されてもよい。ビデオ符号化において、ブロック600は、ビデオ内容に基づいて分割され、よって、さまざまな形状およびサイズの多くの長方形および正方形を含むことができる。ブロック600は、説明の目的のために正方形として描かれており、よって、議論の明確さをサポートするために実際のビデオ符号化ブロックからは単純化されている。
【0091】
ブロック600は、現在ブロック601および隣接ブロック610を含む。現在ブロック610は、指定された時点において符号化されている任意のブロックである。隣接ブロック610は、現在ブロック601の左エッジまたは上エッジにすぐ隣接する任意のブロックである。ビデオ符号化は、一般に、左上から右下に進む。よって、隣接ブロック610は、現在ブロック601の符号化に先立ってエンコードされ、再構成されてもよい。現在ブロック601を符号化するとき、エンコーダは、現在ブロック601のルーマ/クロマ値を、隣接ブロック610のエッジをたどる参照線からの参照サンプル(単数または複数)とマッチングする。次いで、マッチが、マッチしたサンプル(または、DCまたは平面モードが選択されるときは諸サンプル)をポイントするため、たとえばイントラ予測モード500からのイントラ予測モードを選択するために使用される。その際、選択されたイントラ予測モードは、現在ブロック601のルーマ/クロマ値が、選択されたイントラ予測モードに対応する参照サンプルと実質的に同様であることを示す。差があれば、それは残差ブロックにおいて保持されることができる。次いで、選択されたイントラ予測モードがビットストリームにおいてエンコードされる。デコーダでは、現在ブロック601は、選択されたイントラ予測モードに対応する隣接ブロック610内の選択された参照線における諸参照サンプルのルーマ/クロマ値を(残差ブロックからの残差情報があればそれとともに)使用することによって再構成されることができる。
【0092】
図7は、イントラ予測でブロックを符号化するための主要参照線スキーム700の一例を示す概略図である。主要参照線スキーム700は、イントラ予測モード500を選択するときに使用されてもよい。よって、主要参照線スキーム700は、方法100のステップ105および113、コーデック・システム200のイントラ・ピクチャー推定コンポーネント215およびイントラ・ピクチャー予測コンポーネント217、エンコーダ300のイントラ・ピクチャー予測コンポーネント317、および/またはデコーダ400のイントラ・ピクチャー予測コンポーネント417によって使用されてもよい。
【0093】
主要参照線スキーム700は、参照サンプル712の主要参照線711を使用する。主要参照線711は、現在ブロック701のための参照サンプル712として、隣接するブロックのエッジ・サンプル(たとえばピクセル)を含む。本明細書で使用されるところの参照サンプル712は、ピクセルまたはそのサブ部分のクロマまたはルーマ値などの値である。現在ブロック701は、現在ブロック601と実質的に同様である。議論の目的で、主要参照線711は、現在ブロック701の上方の参照サンプル712を含む参照行713を含む。主要参照線711はまた、現在ブロック701の左側の参照サンプル712を含む参照列714をも含む。主要参照線スキーム700では、主要参照線711が使用され、主要参照線711は現在ブロック701にすぐ隣接する参照線である。よって、現在ブロック701は、イントラ予測の間、主要参照線711に含まれる参照サンプル712とできるだけ近くマッチングされる。
【0094】
図8は、イントラ予測でブロックを符号化するための代替参照線スキーム800の例を示す概略図である。代替参照線スキーム800は、イントラ予測モード500を選択するときに使用されてもよい。よって、代替参照線スキーム800は、方法100のステップ105および113、コーデック・システム200のイントラ・ピクチャー推定コンポーネント215およびイントラ・ピクチャー予測コンポーネント217、エンコーダ300のイントラ・ピクチャー予測コンポーネント317、および/またはデコーダ400のイントラ・ピクチャー予測コンポーネント417によって使用されてもよい。
【0095】
代替参照線スキーム800は、現在ブロック701と実質的に同様である現在ブロック801を使用する。複数の参照線811が、現在ブロック801から延在する。参照線811は、参照サンプル712と同様の参照サンプル812を含む。参照線811は、実質的に主要参照線711と同様であるが、現在ブロック801からさらに離れて延在する。代替参照線811を用いることにより、マッチング・アルゴリズムは、より多くの参照サンプル812へのアクセスをもつことができる。より多くの参照サンプルの存在は、場合によっては、現在ブロック801についてのより良好なマッチをもたらし、それはひいては予測モードが選択された後の、より少ない残差サンプルにつながることがありうる。代替参照線スキーム800は、複数線イントラ予測(multiple lines intra prediction、MLIP)と称されてもよく、統合ビデオ専門家チーム(Joint Video Experts Team、JVET)文書JVET-C0043、JVET-C0071、JVET-D0099、JVET-D0131およびJVET-D0149において詳細に論じられている。参照線811は、0からMまで番号を付けられてもよく、ここで、Mは任意の所定の定数値である。参照線811は、それぞれ参照行713および参照列714と同様である、図のような参照行813および参照列814を含んでいてもよい。
【0096】
エンコードの間、エンコーダは、RDOに基づいて参照線811から最良のマッチを選択することができる。具体的には、最も近い参照線(RefLine0)から最も遠い参照線(RefLineM)までM+1個の参照線が用いられる。ここで、Mはゼロより大きい。エンコーダは、最適なレート‐歪みコストをもつ参照線を選択する。選択された参照線のインデックスは、ビットストリーム内でデコーダに信号伝達される。ここで、RefLine0はオリジナル参照線(たとえば、主要参照線711)と呼ばれることがあり、RefLine1~RefLineMはさらなる参照線または代替参照線と呼ばれることがある。イントラ予測モード500のうちの任意のモードによる使用のためにさらなる参照線が選択されることができる。場合によっては、該さらなる参照線は、イントラ予測モード500の部分集合による使用のために選択されることができる(たとえば、DirS~DirEは、さらなる参照線を使用してもよい)。
【0097】
ひとたび参照線812が選択されると、参照線811のうちからの該選択された参照線のインデックスが、ビットストリームにおいてデコーダに信号伝達される。種々の参照線を用いることにより、より正確な予測信号が導出されることができ、これは、いくつかの場合において、残差サンプルを低減することによって符号化効率を増大させることができる。しかしながら、代替参照線811を使用することは、選択された参照線がデコーダに信号伝達されるので信号伝達オーバーヘッドを増加させる。使用される参照線811の数が増加するにつれて、選択された参照線を一意的に識別するために、より多くのビンが信号伝達の間に使用される。このように、代替参照線811を使用することは、マッチするサンプルが現在ブロック801にすぐ隣接する参照線内にあるときは、実際には符号化効率を低下させてしまうことがある。
【0098】
MLIPで支援される圧縮利点にもかかわらず、より高い符号化利得を達成するためにいくつかの領域が改善されることができる。たとえば、増大した圧縮を達成するために、イントラ予測モード部分集合が採用されてもよい。具体的には、いくつかのイントラ予測モードは、増大したマッチング精度をサポートするために代替参照線811を使用するように選択されてもよい。他のイントラ予測モードは、主要参照線711を使用し、代替参照線811を使用することに付随する信号伝達オーバーヘッドをやめるために選択されることができる。代替参照線811を使用するイントラ予測モードは、イントラ予測モード部分集合に含められてもよい。
【0099】
図9は、エンコーダまたはデコーダにおけるイントラ予測モードのビデオ符号化において使用するための、例示的なイントラ予測モード部分集合930を示す概略
図900である。代替参照線スキーム800および主要参照線スキーム700が組み合わせ/修正されて、イントラ予測モード・リスト920およびイントラ予測モード部分集合930の両方を使用することができる。イントラ予測モード・リスト920は、イントラ予測方式において使用されることのできるイントラ予測モード923(たとえばイントラ予測モード500)のすべてを含む。そのようなイントラ予測モード923はそれぞれ、対応するイントラ予測モード・インデックス921によってインデックス付けされてもよい。この例では、イントラ予測モードのいくつかは、代替参照線へのアクセスをもつ。代替参照線へのアクセスをもつイントラ予測モードは、代替参照線予測モード933としてイントラ予測モード部分集合930に格納される。イントラ予測モード部分集合930における代替参照線予測モード933は、代替イントラ予測モード・インデックス931によってインデックス付けされてもよい。代替イントラ予測モード・インデックス931は、イントラ予測モード部分集合930において、代替参照線予測モード933に番号付けし、それを示すために使用されるインデックス値である。より少ないイントラ予測モードがイントラ予測モード部分集合930に含まれるので、代替イントラ予測モード・インデックス931は、イントラ予測モード・インデックス921よりも少ないビンを含むことができる。よって、あるイントラ予測モードがイントラ予測モード部分集合930に含まれる場合、そのイントラ予測モードは、代替参照線にマッチングされることができる。あるイントラ予測モードがイントラ予測モード部分集合930に含まれない場合、そのイントラ予測モードは、主要参照線にマッチングされることができる。この方式は、イントラ予測モード・リスト920がテクスチャーおよび構造特性を詳細にカバーするために多くのイントラ予測モード923を含むという事実を利用する。しかしながら、代替参照線を用いる可能性は比較的低い。そこで、代替参照線の場合には、大まかな方向で十分である。したがって、のちに論じるような方式を用いて、イントラ予測モード部分集合930を構築するために、イントラ予測モード923はサンプリングされることができる。
【0100】
イントラ予測モード・リスト920およびイントラ予測モード部分集合930の両方の使用は、符号化効率の有意な増大を許容する。さらに、どのイントラ予測モードが代替参照線予測モード933として含まれるべきかの選択は、符号化効率に影響を及ぼす。たとえば、大きなモード範囲は、代替イントラ予測モード・インデックス931を表わすためにより多くのビットを使用するが、モード範囲がより小さい場合にはより少ないビットが使用される。ある実施形態では、イントラ予測モード部分集合930は、[DirS,DirE]内の二番目毎のイントラ予測モードを含み、ここで、[A,B]は整数要素xを含む集合を示し、B≧x≧Aである。具体的には、イントラ予測モード部分集合930は、予測モード{DirS,DirS+2,DirS+4,DirS+6,…,DirE}に関連付けられてもよく、ここで、{A,B,C,D}は、中括弧の間に挙げられているすべての要素を含む集合を示す。さらに、代替イントラ予測モード・インデックス931のモード範囲における選択されたイントラ予測モードを表すビット数が減らされる。そのような場合、代替イントラ予測モード・インデックス931は、イントラ予測モード・インデックス921を2で割ることによって導出することができる。
【0101】
別の実施形態では、イントラ予測モード部分集合930は、MPMリスト935内のイントラ予測モードを含む。上述のように、MPMリスト935は、選択される可能性が最も高い諸イントラ予測モードの部分集合を含む。この場合、イントラ予測モード部分集合930は、現在ブロックのデコードされたおよび/または再構成された隣接ブロックのイントラ予測モードを含むよう構成されてもよい。選択されたイントラ予測モードがMPMリスト935に含まれているかどうかを示すために、ビットストリームにおいてフラグが使用されてもよい。該選択されたイントラ予測モードがMPMリスト935にある場合、MPMリスト935インデックスが信号伝達される。そうでない場合、代替イントラ予測モード・インデックス931が信号伝達される。選択されたイントラ予測モードが、主要参照線モードであり、MPMリスト935に含まれない場合、イントラ予測モード・インデックス921が信号伝達されることができる。いくつかの例では、代替イントラ予測モード・インデックス931および/またはMPMリスト935インデックスが固定長である二進表現機構が使用されることができる。いくつかの例では、代替イントラ予測モード・インデックス931および/またはMPMリスト935インデックスは、コンテキスト・ベースの適応二進算術符号化(context-based adaptive binary arithmetic coding、CABAC)を介して符号化される。他の二進表現および/またはエントロピー符号化機構が使用されてもよい。使用される二進表現/エントロピー符号化機構はあらかじめ定義されている。イントラ予測モード部分集合930のモード範囲は、イントラ予測モード・リスト920よりも少ないイントラ予測モード(たとえば大まかなモード)を含む。よって、MPMリスト935内のイントラ予測モード(たとえば、隣接ブロックのモード)が、イントラ予測モード部分集合930モード範囲に含まれない場合、イントラ予測モード・インデックス921は、(たとえば2で)除算され、たとえば1を加算もしくは減算することによって、最も近い代替イントラ予測モード・インデックス931の値に丸められることができる。丸め機構は、あらかじめ定義されてもよい。隣接ブロックの相対位置、走査順序、および/またはMPMリスト935のサイズもあらかじめ定義されてもよい。
【0102】
具体例として、H.265に従って動作するエンコーダは、33のサイズの[DirS,DirE]のモード範囲を使用してもよい。イントラ予測モード部分集合930において二番目毎のモードが用いられる場合、代替イントラ予測モード・インデックス931についてのモード範囲のサイズは17である。MPMリスト935のサイズは1であってもよく、上隣の復号されたブロックのイントラ予測モードが、MPMリスト935を構築するために使用される。隣接ブロックのモードが代替イントラ予測モード・インデックス931のモード範囲にない場合(たとえば、モード3)、隣接ブロックのモードは、モード4(または2)に丸められる。個別的な例として、選択されたイントラ予測モードが、イントラ予測モード・インデックス921によればモード16である場合、および選択されたモードがMPMリスト935にない場合、選択されたイントラ予測モードは、8の代替イントラ予測モード・インデックス931(16/2=8)をもつことになる。固定長の二進表現法が用いられる場合、この例において、選択されたイントラ予測モードを示すために1000が使用されることができる。
【0103】
上記の例/実施形態は、イントラ予測モード部分集合930が、イントラ予測モード923の各奇数(または各偶数)を含むと想定している。しかしながら、上述の機構を使用しながら、イントラ予測モード部分集合930の中身を入れるために、他の機構が使用されることもできる。一例では、イントラ予測モード部分集合930は、[DirS,DirE]内のN番目毎のイントラ予測モードを含み、ここで、Nは、0,1,2,3,4等に等しい整数である。この例は{DirS,DirS+N,DirS+2N,…,DirE}と記述されることもできる。別の例として、イントラ予測モード部分集合930は、[DirS,DirE]内のN番目毎のイントラ予測モードならびに平面およびDCイントラ予測モードを含んでいてもよい。
【0104】
別の例では、イントラ予測モード部分集合930は、高い一般的な選択確率をもつイントラ予測モードを含む。よって、イントラ予測モード信号伝達コストが低減され、符号化効率が改善される。いくつかの例では、主方向をもつイントラ予測モードは、一般に、より高い一般的な確率で選択される(たとえば完全に垂直、水平など)。よって、イントラ予測モード部分集合930は、そのようなモードを含んでいてもよい。たとえば、イントラ予測モード部分集合930は、DirS、DirE、DirD、DirVおよびDirHのような主要方向性イントラ予測モードを含むことができる。主要モードへの近隣モードも、いくつかの例では含まれていてもよい。具体例として、イントラ予測モードDirS、DirE、DirD、DirV、DirHが、プラスまたはマイナスNのインデックスをもつ隣接イントラ予測モードと一緒にイントラ予測モード部分集合930に含まれる。これは、[DirS,DirS+N]、[DirE-N,DirE]、[DirD-N,DirD+N]、[DirH-N、DirH+N]、[DirV-N,DirV+N]として表わされてもよい。別の例では、イントラ予測モード部分集合930は、イントラ予測モードDirS、DirE、DirD、DirV、DirHならびにプラスまたはマイナスNのインデックスをもつ隣接イントラ予測モードおよびDCおよび平面モードを含む。
【0105】
別の例では、イントラ予測モード部分集合930は適応的に構築され、よって、あらかじめ定義されたイントラ予測モードを用いて定義されるのではない。たとえば、イントラ予測モード部分集合930は、現在ブロック(たとえば、現在ブロック601)の近隣のデコードされたブロック(たとえば隣接ブロック610)のイントラ予測モードを含んでいてもよい。隣接ブロックは現在ブロックの左および上に配置されてもよい。追加的な隣接ブロックも使用されてもよい。イントラ予測モード部分集合930のサイズおよび構成方式は、あらかじめ定義されている。別の例では、イントラ予測モード部分集合930は、隣接ブロックのイントラ予測モードと、DCおよび平面モードのようなある種の所定のデフォルト・イントラ予測モードとを含む。別の例では、イントラ予測モード部分集合930は、MPMリスト935内にイントラ予測モードを含む。
【0106】
ビットストリーム内の参照線インデックスを受け取ると、デコーダは、参照線インデックスが主要参照線を指すときは、イントラ予測モード・リスト920が含意されていると判断する。そのような場合、デコーダは、対応するイントラ予測モード923を決定するために、後続のイントラ予測モード・インデックス921を読むことができる。参照線インデックスが追加の参照線を指すときは、イントラ・モード部分集合930が含意される。そのような場合、デコーダは、対応する代替参照線予測モード933を決定するために、後続の代替イントラ予測モード・インデックス931を読むことができる。いくつかの例では、指示される代替参照線予測モード933がMPMリスト935内にある時を示すためにフラグが使用されてもよい。そのような場合、代替参照線予測モード933は、MPMリスト935によって用いられるインデックスに従って信号伝達されてもよい。
【0107】
上記のように、描画900は、代替参照線または主要参照線をもつイントラ予測モードを符号化するときに使用されうる。以下では、そのようなデータを符号化するための信号伝達方式を論じる。具体的には、参照線インデックスは、対応するイントラ予測モードのインデックスの後に信号伝達されることができる。さらに、参照線インデックスは、条件付きで信号伝達されることができる。たとえば、参照線インデックスは、イントラ予測モードが代替参照線に関連する場合には、信号伝達されることができ、イントラ予測モードが主要参照線に関係する場合には、省略されることができる。これは、イントラ予測モードがイントラ予測モード部分集合930に含まれない場合はいつでも、参照線インデックスを省略することを許容する。主要参照線の場合には参照線インデックスを示す必要がないからである。この手法は、信号伝達オーバーヘッドを減少させることによって、符号化効率を著しく向上させる。以下で論じる条件付き信号伝達方式は、この概念の例示的実装である。
【0108】
図10は、ビデオ符号化ビットストリームにおける代替参照線についての例示的な条件付き信号伝達表現1000を示す概略図である。たとえば、条件付き信号伝達表現1000は、エンコーダまたはデコーダにおけるイントラ予測モード500のようなイントラ予測モードを使用するビデオ符号化の間に、イントラ予測モード部分集合930が代替参照線スキーム800の一部として使用される場合に、ビットストリームにおいて使用されてもよい。具体的には、符号化装置が、代替参照線に関連する選択されたイントラ予測モードを含むイントラ予測データでビットストリームをエンコードまたはデコードするときは、条件付き信号伝達表現1000が使用される。あるいはまた、符号化装置が、主要参照線に関連する選択されたイントラ予測モードを含むイントラ予測データでビットストリームを符号化またはデコードするときは、のちに論じるように、その代わりに、条件付き信号伝達表現1100が使用される。
【0109】
条件付き信号伝達表現1000は、関連する分割情報を含む符号化単位1041のフィールドを含んでいてもよい。そのような分割情報は、ブロック境界をデコーダに対して示し、デコーダが、デコードされた画像ブロックを充填してフレームを生成することを許容する。符号化単位1041のフィールドは、コンテキストのために含まれ、条件付き信号伝達表現1000に関して論じられる他のフィールドに隣接して位置しても、しなくてもよい。条件付き信号伝達表現1000はさらに、フラグ1042を含む。フラグ1042は、後続の情報が代替参照線に関連するイントラ予測モードのためのものであることをデコーダに対して示す。たとえば、フラグ1042は、後続の情報が代替イントラ予測モード・インデックス931として符号化されるか、MPMリスト935インデックスとして符号化されるかを示してもよい。フラグ1042に続いて、たとえば代替イントラ予測モード・インデックス931を符号化するために、イントラ予測モード部分集合インデックス1043フィールドが使用される。いくつかの例では、イントラ予測モード部分集合インデックス1043フィールドは、上記で論じたように、MPMリスト935インデックスを保持するためのMPMリスト・インデックス・フィールドの代用とされる。いずれの場合も、デコーダは、フラグ1042およびインデックスに基づいて、関連する符号化単位1041について、選択されたイントラ予測モードを解読することができる。イントラ予測モード部分集合インデックス1043フィールドが選択されたイントラ予測モードが代替参照線に関係していることを示したので、どの参照線がマッチするサンプルを含むかをデコーダに対して示すために、参照線インデックス1044も含まれる。よって、イントラ予測モード部分集合インデックス1043は、隣接するブロック内のマッチするサンプルの方向を与え、参照線インデックス1044は、マッチするサンプルまでの距離を与える。この情報に基づいて、デコーダは、マッチするサンプルを決定し、マッチするサンプルを使用して予測ブロックを生成し、任意的に、予測ブロックをビットストリーム内の他の場所で符号化されている残差ブロックと組み合わせて、ピクセルのブロックを再構成することができる。
【0110】
図11は、ビデオ符号化ビットストリーム内の主要参照線についての例示的な条件付き信号伝達表現1100を示す概略図である。たとえば、条件付き信号伝達表現1100は、エンコーダまたはデコーダにおけるイントラ予測モード500のようなイントラ予測モードを使用するビデオ符号化の間に、イントラ予測モード・リスト920が主要参照線スキーム700の一部として使用される場合に、ビットストリームにおいて使用されてもよい。条件付き信号伝達表現1100は、符号化単位1041のフィールドと同様の仕方でパーティション情報をもつ符号化単位1141のフィールドを含んでいてもよい。条件付き信号伝達表現1100は、フラグ1042と実質的に類似するフラグ1142も含むが、この場合、該フラグは、選択されたイントラ予測モードがイントラ予測モード部分集合930と関連付けられていないことを示す。フラグ1142の情報に基づいて、次いで、イントラ予測モード・インデックス1145が、イントラ予測モード・インデックス921についてのモード範囲のインデックスとして解釈されることができる。さらに、選択されたイントラ予測モードが主要参照線と関連付けられていると判定されるので、参照線インデックスは省略される。
【0111】
したがって、条件付き信号伝達表現1000および条件付き信号伝達表現1100は、それぞれ、代替参照線を用いるイントラ予測モードまたは主要参照線を用いるイントラ予測モードのいずれかを信号伝達するために使用されることができる。これらのスキームは、上記で論じた例/実施形態の任意のものと一緒に使用されうる。一例では、[DirS,DirE]内のイントラ予測モードは、代替参照線を使用することができる。そのような場合、選択されたイントラ予測モードは[DirS,DirE]に含まれていない場合(たとえば、DCまたは平面モード)、参照線インデックスを信号伝達する必要はない。よって、参照インデックスは0に等しいと推定され、ここで、0は、現在ブロックにすぐ隣接する主要参照線を示す。そのような場合、すべての方向性参照がそのような場合には代替参照線を使用するので、イントラ予測モード部分集合930は使用されなくてもよい。まとめると、イントラ予測モードがDCまたは平面モードでない場合は常に、そのような例において参照線インデックスが信号伝達される。さらに、そのような場合において、イントラ予測モードがDCまたは平面モードであるときは常に、参照線インデックスは信号伝達されない。別の例では、イントラ予測モードがイントラ予測モード部分集合930にあるときはいつでも、参照線インデックスが信号伝達される。よって、イントラ予測モードがイントラ予測モード部分集合930に含まれない場合は常に、参照線インデックスは信号伝達されない。
【0112】
下記の表1は、選択されたモードがDCまたは平面モードの場合に参照インデックスが省略される場合を記述する例示的なシンタックス表である。
【表1】
上記の表1に示されるように、イントラ予測モードが平面でなく、DCでない場合、参照線インデックスは、この例では現在ブロックのxおよびy位置と一緒に、信号伝達される。
【0113】
下記の表2は、参照インデックスが、現在のイントラ予測モードがイントラ予測モード部分集合に含まれる場合には信号伝達され、それ以外の場合には省略される場合を記述する例示的なシンタックス表である。イントラ予測モード部分集合は、
図9に関して論じられる機構のいずれかに従って決定することができる。
【表2】
上記の表2に示されるように、イントラ予測モードがイントラ予測部分集合にある場合、参照線インデックスが信号伝達される。
【0114】
MLIPスキームに対して、独立して、または上記で論じた例/実施形態と組み合わせて、さらなる修正がなされることもできる。たとえば、多くのMLIPスキームでは、DCイントラ予測モードは主要参照線に限定される。そのような場合、DCイントラ予測モードは、参照線内のすべての参照サンプルの平均である予測値を生成する。これは、ブロック間の平滑化効果を生じる。のちに論じるように、DCイントラ予測モードは、複数の参照線におけるすべての参照サンプルの平均である予測値を生成するよう、MLIPスキームにおいて拡張されることができる。
【0115】
図12は、代替参照線1211を用いるDCモード・イントラ予測1200のための例示的な機構を示す概略図である。DCモード・イントラ予測1200は、たとえばイントラ予測モード500に従ってDCイントラ予測を実行するときに、エンコーダ300またはデコーダ400のようなエンコーダまたはデコーダにおいて使用されることができる。DCモード・イントラ予測1200方式は、イントラ予測モード部分集合930、条件付き信号伝達表現1000および1100との関連で使用されることができ、またはそのような例とは独立して使用されることができる。
【0116】
DCモード・イントラ予測1200は、0-Mと記される代替参照線1211とともに現在ブロックを使用する。そのようなものとして、任意の数の参照線1211を使用することができる。そのような参照線1211は、参照線811と実質的に同様であり、参照サンプル812と実質的に同様である参照サンプル1212を含む。すると、DC予測値1201は、複数の参照線1211内の参照サンプル1212の平均として計算される。一例では、DC予測値1201は、イントラ予測モード選択の間に参照線1211のどれが選択されるかに関わりなく、すべての参照線1211 0-M内のすべての参照サンプル1212の平均として計算される。これは、現在ブロックについて非常に堅牢なDC予測値1201を提供する。たとえば、四つの参照線1211がある場合、0から3としてインデックス付けされた参照線1211内のすべての参照サンプル1212の平均値が決定され、現在ブロックのDC予測値1201として設定される。そのような例では、参照線インデックスは、場合によっては、ビットストリームにおいて信号伝達されなくてもよい。
【0117】
別の例では、DC予測値1201は、選択された参照線および対応する参照線に基づいて決定される。これにより、DC予測値1201が、全部またはインデックス0の参照線のみではなく、二つの相関した参照線1211に基づいて決定されることができる。たとえば、四つの参照線1211が使用される場合、参照線1211は、0から4としてインデックス付けされてもよい。そのような場合、下記の表3は、参照線が選択されるときに使用される対応する参照線1211の例を示す。
【表3】
図のように、相関した参照線1211を使用して、DC予測値1201を決定することができる。そのような場合、デコーダは、選択された参照線インデックスがビットストリームにおいて信号伝達されると、両方の参照線1211を決定しうる。
【0118】
別の例では、DCモード・イントラ予測1200は、インデックス0の参照線(主要参照線)を常に使用することができ、さらなる参照線1211をも選択してもよい。これは、そのような選択が、DC予測値1201を、予測されるピクセル・ブロックの値により正確にマッチさせる場合である。下記の表4は、そのような例を示している。そのような場合、デコーダは、選択された参照線インデックスがビットストリームにおいて信号伝達されると、両方の参照線1211を決定しうる。
【表4】
【0119】
MLIPスキームに対して、独立して、または上記で論じた例/実施形態と組み合わせて、さらなる修正がなされることもできる。たとえば、多くのMLIPスキームでは、参照線は現在ブロックからの参照線の距離に基づいてインデックス付けされる。たとえば、JVET-C0071では、符号語0、10、110、および111が、それぞれ、RefLine0、RefLine1、RefLine2、およびRefLine3を示すために使用される。この手法は、選択される統計的確率がより高い参照線に対して、より短い符号語を割り当てることによって改善されることができる。多くの参照線がビットストリームにおいて信号伝達されるので、この機構を使用するとき、参照線信号伝達のための平均符号語長は減少する。この結果、符号化効率が向上する。符号語を用いた代替参照線信号伝達のための例示的な方式が下記で論じられる。
【0120】
図13は、符号語を用いて代替参照線を符号化するための例示的機構1300を示す概略図である。機構1300は、たとえばイントラ予測モード500に従ってイントラ予測を実行するとき、エンコーダ300またはデコーダ400のようなエンコーダまたはデコーダにおいて使用されることができる。機構1300は、イントラ予測モード部分集合930、条件付き信号伝達表現1000および1100、DCモード・イントラ予測1200と一緒に使用されることができ、または、そのような例とは独立して使用されることができる。
【0121】
機構1300は、イントラ予測および参照サンプルを含む対応する参照線1311によって符号化される現在ブロック1301を使用する。現在ブロック1301および参照線1311は、それぞれ、現在ブロック801および参照線811と実質的に同様であってもよい。現在ブロック1301は、参照線1311内の一つまたは複数の参照サンプルとマッチングされる。マッチに基づいて、イントラ予測モードおよび参照線1311が、マッチする参照サンプルを示すために選択される。選択されたイントラ予測モードは、上記で論じたようにビットストリームにおいて符号化される。さらに、選択された参照線のインデックスは、参照線符号語1315を使用することによって、ビットストリームにおいて符号化されることができる。参照線符号語1315は、参照線のインデックスを示す二進値である。さらに、参照線符号語1315は、さらにデータを圧縮するために先頭のゼロ値を省略する。よって、参照線1311は、場合によっては、単一の二進値を用いて信号伝達されることができる。
【0122】
機構1300では、参照線1311インデックスのための符号語1315の長さは、参照線1311から現在ブロック1301までの距離に関連付けられなくてもよい。代わりに、符号語1315は、符号語1315の長さと、対応する参照線1311が現在ブロック1301について用いられる参照線1311として選択される確率とに基づいて、参照線1311に割り当てられる。場合によっては、現在ブロック1301からより遠く離れた参照線1311が、現在ブロック1301にすぐ隣接する参照線1311よりも短い符号語が与えられてもよい。たとえば、0、10、110、および111の符号語1315を使用して、それぞれ、RefLine0、RefLine3、RefLine1、およびRefLine2を示すことができる。加えて、符号語1315の最初のビンまたは最初の二つのビンはコンテキスト符号化されてもよく、最後のビン(単数または複数)は、コンテキストなしでバイパス符号化されてもよい。コンテキストは、空間的な(たとえば上および左の)隣接ブロックから導出されてもよい。表5は、四つの参照線1311が使用される場合の符号語1315のための例示的な符号化方式を示す。
【表5】
表5に示されるように、参照線1311は、0ないし3としてインデックス付けされてもよい。ある例示的なMLIPスキームでは、そのようなインデックスは、現在ブロック1301からの距離に基づく符号語1315によって表わされ、最も近い参照線1311に最小の符号語が割り当てられ、最も遠い参照線1311に最大の符号語1315が割り当てられる。例示的な機構1および2において、最も可能性の高い参照線1311は、最短の符号語1315を受け取るインデックス0である。二番目に可能性が高い参照線1311は、最も遠い参照線(インデックス3)であり、これは二番目に短い符号語1315を受け取る。残りの符号語1315は、例に依存して、降順または昇順でインデックス1および2に割り当てられる。
【0123】
別の例では、インデックス0の参照線1311は、最も可能性の高い参照線1311のままであってもよい。さらに、二番目に可能性の高い参照線1311は、インデックス2の参照線1311であってもよい。この結果は表6のようになる。
【表6】
表6に示されるように、最も可能性の高い参照線1311はインデックス0を受け取り、これは最短の符号語1315を受け取る。二番目に可能性の高い参照線1311は、二番目に遠い参照線(インデックス2)であり、これは二番目に短い符号語1315を受け取る。残りの符号語1315は、例に依存して、降順または昇順でインデックス1および3に割り当てられる。
【0124】
上記の例は、より多数の参照線が使用される場合に拡張されることができる。たとえば、五つの参照線が使用される場合、表5の例は、表7に示されるように拡大されてもよい。
【表7】
表7に示されるように、最も可能性の高い参照線1311はインデックス0であり、これは最短の符号語1315を受け取る。二番目に可能性の高い参照線1311は、インデックス2に関連付けられた参照線1311であり、これは二番目に短い符号語1315を受け取る。残りの符号語1315は、例に依存して、降順または昇順でインデックス1、2、4、および5に割り当てられる。
【0125】
別の例では、参照線1311のインデックスは、クラスにソートされることができ、各クラスは、種々に配列されうる符号語1315の異なるグループに割り当てられることができる。たとえば、クラスAグループは、最も短い符号語1315を受け取ってもよく、クラスBは、最も長い符号語1315を受け取ってもよい。クラスA符号語1315およびクラスB符号語1315は、昇順または降順、またはそれらの任意の組み合わせで割り当てられてもよい。クラス構築スキームは、あらかじめ定義されてもよい。このスキームを明確にするため、下記の例が与えられる。下記の例は、下記の表8に示されように、0から5までインデックス付けされた六つの参照線1311を使用する。参照線1311は、所望に応じていずれかのクラスに割り当てられうる。たとえば、1、3、および5としてインデックス付けされた参照線1311がクラスAに割り当てられてもよく、2および4としてインデックス付けされた参照線1311がクラスBに割り当てられてもよい。0としてインデックス付けされた参照線1311は、常に最も高い確率の選択であってもよく、よって、常に最も短い符号語1315を有してもよい。クラスAは、インデックス0のための符号語1315以外の、最も短い符号語1315を割り当てられてもよい。次いで、クラスBは、最も長い符号語1315を割り当てられてもよい。そのようなスキームの結果が表8に示されている。
【表8】
表8の第一の例では、クラスAおよびクラスBの符号語1315は、独立して、両方ともインクリメント(降順)する。表8の第二の例では、クラスA符号語1315はインクリメントし(降順)、一方、クラスB符号語1315はデクリメントする(昇順)。表8の第三の例では、クラスA符号語1315はデクリメントし(昇順)、一方、クラスB符号語1315はインクリメントする(降順)。表9の第四の例では、クラスAおよびクラスBの符号語1315は、独立して両方ともデクリメントする(昇順)。任意の数の参照線および任意の数のクラスが、所望に応じて符号語1315を生成するために、このスキームにおいて使用されてもよい。
【0126】
MLIPスキームに対して、独立して、または上記で論じた例/実施形態と組み合わせて、さらなる修正がなされることもできる。たとえば、MLIPスキームは、行と列の両方をもつ代替参照線を使用する。多くのMLIPスキームでは、同一数の行および列が使用される。しかしながら、MLIPスキームがハードウェアで機能させられるとき、諸行の集合全体が、符号化の間、メモリに、たとえば中央処理装置(CPU)チップ上のライン・バッファに、記憶される。一方、列はキャッシュに記憶され、所望に応じてCPUバッファ上にプルされうる。よって、参照線行を使用することは、参照線列を使用することよりも、システム資源に関して計算的に高価である。ライン・バッファ・メモリ使用を減らすことが望ましいことがありうるので、下記のMLIPスキームは、異なる数の参照行および参照列を使用する。具体的には、下記のMLIPスキームは、参照列よりも少ない参照行を使用する。
【0127】
図14は、異なる数の行および列をもつ代替参照線を符号化するための例示的機構1400を示す概略図である。機構1400は、たとえば、イントラ予測モード500に従ってDCイントラ予測を実行するときに、エンコーダ300またはデコーダ400のようなエンコーダまたはデコーダで使用されることができる。機構1400は、イントラ予測モード部分集合930、条件付き信号伝達表現1000および1100、DCモード・イントラ予測1200、機構1300と一緒に使用することができ、または、そのような例とは独立して使用されることができる。
【0128】
機構1400は、0-Mと記される代替参照線1411をもつ現在ブロック1401を使用する。そのようなものとして、任意の数の参照線1411を使用することができる。そのような参照線1411は、参照線811および/または1211と実質的に同様であり、参照サンプル812および/または1212と実質的に同様である参照サンプルを含む。参照線1411は、現在ブロック1401の上方に位置された参照サンプルを含む参照行1413を含む。
参照線1411はまた、現在ブロック1401の左に位置された参照サンプルを含む参照列1414を含む。上記のように、MLIPスキームは、イントラ予測の間に、参照行1413のすべてをオンチップ・メモリに記憶し、これは資源集約的である。よって、メモリ使用量を減らすため、および/または符号化効率とメモリ使用量との間の特定のトレードオフを得るために、参照行1413の数は、参照列1414の数よりも少なくてもよい。
図14に示されるように、参照行1413の数は、参照列1414の数の半分であってもよい。たとえば、これは、最初の参照行1413と最後の参照行1413との間の参照行1413の半分を除去する(たとえば、RefLine0およびRefLine3を保持するが、RefLine1およびRefLine2を除去する)ことによって達成することができる。別の例では、奇数行1413または偶数行1413を除去することができる(たとえば、RefLine0およびRefLine2を保持するが、RefLine1およびRefLine3を除去する、またはその逆も)。行1413を除去するための機構1400は、あらかじめ定義されることができる。
【0129】
図15は、異なる数の行および列を有する代替参照線を符号化するための別の例示的機構1500を示す概略図である。機構1500は、たとえばイントラ予測モード500に従ってDCイントラ予測を実行するときに、エンコーダ300またはデコーダ400のようなエンコーダまたはデコーダで使用されることができる。機構1500は、イントラ予測モード部分集合930、条件付き信号伝達表現1000および1100、DCモード・イントラ予測1200、機構1300と一緒に使用されることができ、または、そのような例とは独立して使用されることができる。
【0130】
機構1500は、機構1400と実質的に同様であるが、参照行1513の異なる数を使用する。具体的には、機構1500は、0-Mと記される代替参照線1511をもつ現在ブロック1501を使用する。そのようなものとして、任意の数の参照線1511を使用することができる。そのような参照線1511は、参照線811および/または1211と実質的に同様であり、参照サンプル812および/または1212と実質的に同様である参照サンプルを含む。参照線1511は、現在ブロック1501の上方に位置する参照サンプルを含む参照行1513を含む。参照線1511はまた、現在ブロック1501の左に位置された参照サンプルを含む参照列1514を含む。
【0131】
この場合、参照行1513の数は、参照列1514の数からKを引いたものであり、ここで、Kは、参照列1514の数より小さい正の整数である。Kは、あらかじめ定義されていてもよく、あるいはシーケンス・パラメータ集合(Sequence Parameter Set、SPS)、ピクチャー・パラメータ集合(Picture Parameter Set、PPS)またはビットストリーム内のスライス・ヘッダにおいて信号伝達されてもよい。示される例では、参照行1513の数は、参照列1514の数から1を引いたものである。しかしながら、Kのいかなる値を用いてもよい。参照行1513は、任意のあらかじめ定義された機構を用いて除去される。
図15では、1としてインデックス付けされた参照線1511に関連する参照列1513が除去される。他の例では、2、3等としてインデックス付けされた参照線1511に関連する参照列1513が除去される。
【0132】
機構1400および/または1500を使用する場合、参照行の参照インデックスは、参照列の参照インデックスとは異なっていてもよい。参照行と参照列の数が上記で論じたように異なる場合に参照線インデックスを示すまたは導出するためのいくつかの機構を下記に呈示する。ある機構では、参照列インデックスと左行インデックスが別々に信号伝達される。たとえば、0からNumTopまでの間の参照行インデックスを信号伝達するために、一つのシンタックス要素が使用される。ここで、NumTopは参照行の数である(0とNumTopを含む)。0からNumLeftまでの間の参照列インデックスを信号伝達するためには、別のシンタックス要素が使用される。ここで、NumLeftは参照列の数である(0とNumLeftを含む)。
【0133】
別の機構では、一つのシンタックス要素が、参照行および参照列の両方のための参照線インデックスを信号伝達するために使用される。ほとんどの例では、NumLeftはNumTopよりも大きい。ただし、以下に記述される機構はNumTopがNumLeftより大きい状況にも当てはまる。NumLeft>NumTopの場合、ある機構では、参照列のインデックスは、上述の機構を使って信号伝達される。そのような場合、参照線インデックスは0からNumLeftまでの間(0とNumLeftを含む)である。参照行からの参照線または参照ピクセルが使用され、参照線インデックスがNumTopより大きい場合、NumTopのインデックスに関連付けられた参照線が信号伝達される。
【0134】
別の機構では、NumLeft>NumTopの場合、参照行のインデックスは、上述の機構を使って信号伝達される。そのような場合、参照インデックスは0からNumTopまでの間(0とNumTopを含む)である。参照行からの参照線またはピクセルが使用される場合、信号伝達された(またはパースされた)参照線インデックスが、選択された参照線を示す。NumLeftがNumTopより大きいので、参照列からの参照サンプルが選択されるとき、信号伝達された参照線インデックスを選択される参照列にマッピングするために、インデックス・マッピング・テーブルが使用される。例示的なマッピング・テーブル9~11は、下記のように示される。
【表9】
【表10】
【表11】
いくつかの例では、上記に示されるようなテーブル・マッピングは、実装に依存して、計算によって置き換えられてもよい。
【0135】
さらに、いくつかのイントラ予測モードは参照列を参照線として使用し、他のイントラ予測モードは参照行を参照線として使用する。一方、いくつかのイントラ予測モードは、参照行と参照列の両方を参照線として使用する。たとえば、インデックス範囲定義は、イントラ予測モードに依存してもよい。これは、位相プロセスと位相結果がインデックス範囲によって決定されるためである。
【0136】
具体的な例として、参照列を使用するイントラ予測モード(たとえば[DirS,DirH])はインデックス範囲[0,NumLeft]をもつ。参照行を使用するイントラ予測モード([DirV,DirE])はインデックス範囲[0,NumTop]をもつ。参照列と参照行の両方を使用するイントラ予測モードには二つの場合がありうる。第一の場合では、インデックス範囲は[0,NumTop](Modi1と記される)の間である。この場合、NumLeft>NumTopであり、インデックス範囲は[1,NumTop]である。したがって、NumLeft個の参照列から、いくつかの参照列が選択され、ここで、選択される参照列の数はNumtop以下である。選択機構は、エンコーダおよびデコーダにおいてあらかじめ定義されている。第二の場合では、インデックス範囲は[0,NumLeft]の間(Modi2と記される)である。この場合、たとえば信号伝達された参照線インデックスに基づいて、参照列のインデックスおよびインデックス参照行を決定するために、マッピング機構が使用される。マッピング機構はあらかじめ定義されている。たとえば、上記の表9~表11の任意のマッピング機構が使用されうる。
【0137】
別の具体例として、参照線の数が4であるとき、オンチップ・メモリ使用を低減するために、参照線RefLine1およびRefLine3の参照行が除去されてもよい。この場合、四つの参照列と二つの参照行が使用される。イントラ予測モードが参照列と参照行の両方を使用する場合、インデックス範囲は、選択された参照サンプル(単数または複数)を一意的に信号伝達するよう再定義される。この場合、イントラ予測モード[DirS,DirH]は[0,3]のインデックス範囲をもつ。イントラ予測モード[DirV,DirE]については、インデックス範囲は[0,1]である。
【0138】
参照列と参照行の両方を使用するイントラ予測モード(たとえば、平面、DCまたは(DirH,DirV)内のイントラ予測モード)については、インデックス範囲は[0,1](Modi1)であるか、またはインデックス範囲は[0,3](Modi2)である。インデックス範囲が[0,1](Modi1と記される)の場合、参照列のうちの二つが使用される(たとえば、RefLine0およびRefLine2の左側部分が使用される)。この場合、参照行と参照列の数は両方とも2である。残りの二つの参照列(たとえばRefLine1およびRefLine3)も使用されるように選択されてもよい。選択機構はあらかじめ定義されている。インデックス範囲が[0,3](Modi2と記される)である場合、参照列の数は4、参照行の数は2であり、インデックス範囲は[0,3]である。その際、インデックス・マッピング機構が採用される(たとえば、[0,1]内の参照列インデックスは参照行インデックス0に対応し、[2,3]内の参照列インデックスは参照行インデックス1に対応する)。他のマッピング機構を使用することもできる(たとえば、[0,2]内の列インデックスは行インデックス0に対応し、列3は行インデックス1に対応するなど)。しかしながら、使用されるマッピング機構は、あらかじめ定義される。
【0139】
参照インデックス符号化機構および参照線構築機構を組み合わせて、符号化効率を改善し、オンチップ・メモリ使用量を低減することができる。下記は、そのような機構の例示的な組み合わせである。この場合、最も遠い参照線のインデックスには最も短い符号語が割り当てられ、NumTopはNumLeftの半分である。さらに、参照線の数は4であり、表8のEx1が使用される。インデックス符号化機構については、NumTopがNumLeftより小さい場合、Modi1が使用され、RefLine0とRefLine3の列が保持される。この結果、下記の表12に示されるような参照線信号伝達機構が得られる。
【表12】
【0140】
この例では、イントラ予測モードが[DirS,DirH]の間である場合、インデックス範囲は[0,3]であり、参照線インデックスを表現する機構は表12に示される。参照列は、参照線インデックスに従って参照線として選択されることができる。さらに、イントラ予測モードが[DirV,DirE]の間である場合、インデックス範囲は[0,1]であり、参照線インデックスを表現する機構は表12に定義される。参照行は、参照線インデックスに応じて参照線として選択されることができる。この場合、RefLine0とRefLine3は考慮に入れられるが、RefLine1とRefLine2は考慮に入れられない。イントラ予測モードが[Planar,DC]および(DirH,DirV)の間である場合、インデックス範囲は[0,1]であり、参照線インデックスを表現する機構は表12に定義される。すると、参照列および参照行は、参照線インデックスに従って参照線として選択される。この場合、RefLine0とRefLine3は考慮に入れられるが、RefLine1とRefLine2は考慮に入れられない。同様に、上記で論じた二進表現テーブルが、さらに符号化効率を高めるために適用されてもよい。
【0141】
図16は、本開示のある実施形態によるビデオ符号化装置1600の概略図である。ビデオ符号化装置1600は、本稿に記載されるような開示される実施形態を実装するのに好適である。ビデオ符号化装置1600は、ネットワークを通じて上流および/または下流でデータを通信するための下流ポート1620、上流ポート1650、および/またはトランシーバ・ユニット(Tx/Rx)1610を有する。ビデオ符号化装置1600はまた、データを処理するための論理ユニットおよび/または中央処理装置(central processing unit、CPU)を含むプロセッサ1630と、データを記憶するためのメモリ1632とを含む。ビデオ符号化装置1600はまた、光学式または無線式の通信ネットワークを介したデータの通信のために、上流ポート1650および/または下流ポート1620に結合された、光‐電気(optical-to-electrical、OE)コンポーネント、電気‐光(electrical-to-optical、EO)コンポーネントおよび/または無線通信コンポーネントを有していてもよい。ビデオ符号化装置1600はまた、ユーザーとの間でデータを通信するための入力および/または出力(I/O)装置1660を含んでいてもよい。I/O装置1660は、ビデオ・データを表示するためのディスプレイ、オーディオ・データを出力するためのスピーカーなどの出力装置を含んでいてもよい。I/O装置1660はまた、キーボード、マウス、トラックボールなどの入力装置および/またはそのような出力装置と対話するための対応するインターフェースを含んでいてもよい。
【0142】
プロセッサ1630は、ハードウェアおよびソフトウェアによって実装される。プロセッサ1630は、一つまたは複数のCPUチップ、コア(たとえば、マルチコア・プロセッサ)、フィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)、特定用途向け集積回路(application specific integrated circuit、ASIC)、およびデジタル信号プロセッサ(digital signal processor、DSP)として実装されてもよい。プロセッサ1630は、下流ポート1620、Tx/Rx 1610 上流ポート1650、およびメモリ1632と通信する。プロセッサ1630は、符号化モジュール1614を有する。符号化モジュール1614は、方法1700、1800、1900、および/または上述の任意の他の機構といった、上述の開示された実施形態を実装する。さらに、符号化モジュール1614は、コーデック・システム200、エンコーダ300、デコーダ400を実装し、諸ブロック600をもつイントラ予測モード500を用いたイントラ予測を実行し、主要参照線スキーム700を使用し、代替参照線スキーム800を使用し、イントラ予測モード部分集合930を使用し、表現1000および/または1100を使用し、DCモード・イントラ予測1200を使用し、機構1300、1400および/または1500、ならびにそれらの任意の組み合わせを使用してもよい。したがって、符号化モジュール1614を含めることにより、ビデオ符号化装置1600の機能性が大幅に改善され、ビデオ符号化装置1600の異なる状態への変換が実施される。あるいはまた、符号化モジュール1614は、メモリ1632に記憶された命令として実装され、プロセッサ1630によって実行されることができる(たとえば、非一時的媒体に記憶されたコンピュータ・プログラム製品として)。
【0143】
メモリ1632は、ディスク、テープドライブ、ソリッドステートドライブ、リードオンリーメモリ(read only memory、ROM)、ランダムアクセスメモリ(random access memory、RAM)、フラッシュメモリ、三値連想記憶式メモリ(ternary content-addressable memory、TCAM)、スタティックランダムアクセスメモリ(static random access memory、SRAM)などの一つまたは複数のメモリタイプを含む。メモリ1632は、オーバーフロー・データ記憶装置として、そのようなプログラムが実行のために選択されたときにプログラムを記憶し、プログラム実行中に読み出される命令およびデータを記憶するために使用されてもよい。
【0144】
図17は、代替参照線をもつイントラ予測モード部分集合を用いるビデオ符号化の例示的方法1700のフローチャートである。たとえば、方法1700は、デコーダ400として機能するよう構成されたビデオ符号化装置1600上で動作してもよい。方法1700はまた、代替参照線スキーム800およびイントラ予測モード部分集合930との関連で、イントラ予測モード500を使用してもよい。
【0145】
ステップ1701では、ビットストリームが受領される。ビットストリームは、デコーダによって圧縮された圧縮ビデオ・データのエンコードを含む。ステップ1703では、イントラ予測モード部分集合930のようなイントラ予測モード部分集合が決定される。イントラ予測モード部分集合は、現在の画像ブロックについて複数の参照線に相関するイントラ予測モードを含み、現在の画像ブロックについての主要参照線に相関するイントラ予測モードを除外する。イントラ予測モード部分集合は、上記で論じたように、イントラ予測モードのさまざまなグループを含んでいてもよい。いくつかの例では、イントラ予測モード部分集合は、DirS、DirE、およびDirSとDirEとの間のN番目毎の方向性イントラ予測モードを含む。ここで、Nは、所定の整数値である。他の例では、イントラ予測モード部分集合はさらに、平面予測モードおよびDC予測モードを含んでいてもよい。さらなる例では、イントラ予測モード部分集合は、DirS、DirE、DirD、DirH、DirV、ならびにDirS、DirE、DirD、DirH、およびDirVのプラスまたはマイナスNの方向における有効な方向性イントラ予測モードを含み、ここでNは所定の整数値である。そのようなイントラ予測モード部分集合は、さらに、平面予測モードおよびDC予測モードを含んでいてもよい。さらに別の例では、イントラ予測モード部分集合は、現在の画像ブロックに所定の隣接状態で位置するデコードされた隣接ブロックのために選択されたイントラ予測モードを含む。さらに別の例では、イントラ予測モード部分集合は、当該ブロックのためのMPMリストに関連付けられたモードを含む。さらに、イントラ予測モード部分集合は、上記で論じたイントラ予測モードの任意の他の組み合わせを含んでいてもよい。
【0146】
任意的なステップ1705では、選択されたイントラ予測モードがイントラ予測モード部分集合に含まれるとき、選択されたイントラ予測モードは、イントラ予測モード部分集合インデックスによってデコードされる。任意的なステップ1707では、選択されたイントラ予測モードがイントラ予測モード部分集合に含まれない場合、選択されたイントラ予測モードはイントラ予測モード・インデックスによってデコードされる。選択されたイントラ予測モードは、
図9に関して論じられたように、いくつかの場合には、MPMインデックスに基づいてデコードされてもよい。
図10~
図11に関して論じられたように、インデックス付け方式を決定するためのコンテキストを提供するためにフラグが用いられてもよい。
【0147】
ステップ1709では、選択されたイントラ予測モードがイントラ予測モード部分集合に含まれるとき、前記エンコードしたものから、参照線インデックスがデコードされる。参照線インデックスは、選択されたイントラ予測モードについての、前記複数の参照線からの選択された参照線を示す。上記で論じたように、選択されたイントラ予測モードがイントラ予測モード部分集合に含まれない場合、ビットストリーム内の余分なビットを減らすために、参照線インデックスはデコードされない。ビットストリームにおけるそのような条件付き信号伝達をさらにサポートするために、前記エンコードにおいて、選択されたイントラ予測モードの後に、参照線インデックスが符号化されてもよい(たとえば、
図10~
図11に関して論じられたように)。
【0148】
ステップ1711では、ビデオ・データはディスプレイを介してユーザーに呈示される。ビデオ・データは、選択されたイントラ予測モードおよび対応する参照線(単数または複数)に基づいてデコードされた画像ブロックを含む。
【0149】
図18は、代替参照線をもつDCモード・イントラ予測を用いたビデオ符号化の例示的方法1800のフローチャートである。たとえば、方法1800は、デコーダ400として作用するよう構成されたビデオ符号化装置1600上で機能してもよい。方法1800は、代替参照線スキーム800およびDCモード・イントラ予測1200によるイントラ予測モード部分集合930との関連でイントラ予測モード500を使用してもよい。
【0150】
ステップ1801では、ビットストリームがメモリに記憶される。ビットストリームは、圧縮されたビデオ・データを含む。圧縮されたビデオ・データは、あるイントラ予測方式に従って予測ブロックとして符号化された画像ブロックを含む。ステップ1803では、DCイントラ予測モードによってエンコードされた現在予測ブロックが得られる。ステップ1805では、現在予測ブロックについて、DC予測値が決定される。DC予測値は、現在予測ブロックに関連する複数の参照線のうちの少なくとも二つにおけるすべての参照サンプルの平均を決定することによって、現在予測ブロックに対応する現在画像ブロックを近似する。よって、ステップ1805は、DC予測モードを代替参照線コンテキストに拡張する。いくつかの例において、DC予測値の決定は、現在予測ブロックに隣接するN個の参照線内のすべての参照サンプルの平均を決定することを含んでいてもよく、ここで、Nは所定の整数である。いくつかの例では、DC予測値の決定は、選択された参照線および対応する(たとえばあらかじめ定義された)参照線内のすべての参照サンプルの平均を決定することを含む。さらに別の例では、DC予測値の決定は、隣接する参照線(たとえばインデックス0をもつ参照線)およびビットストリームにおいて信号伝達された選択された参照線内のすべての参照サンプルの平均を決定することを含む。さらに、DC予測値は、上記で
図12に関して論じたようなスキームの任意の組み合わせを使って決定されてもよい。ステップ1807では、現在の画像ブロックが、DC予測値に基づいて再構成される。ブロック1809では、現在の画像ブロックを含むフレームがユーザーに表示される。
【0151】
図19は、選択確率に基づく符号語によって符号化された参照線を用いたビデオ符号化の例示的方法1900のフローチャートである。たとえば、方法1900は、デコーダ400として作用するよう構成されたビデオ符号化装置1600上で機能してもよい。方法1900はまた、機構1300を使って、代替参照線スキーム800およびイントラ予測モード部分集合930との関連でイントラ予測モード500を使用してもよい。さらに、
図14および
図15に関して論じたように、異なる数の参照行および参照列が、方法1900によって採用されてもよい。
【0152】
ステップ1901では、エンコードしたものを含むビットストリームが受領される。該エンコードしたものは、エンコーダによって圧縮されたビデオ・データを含んでいた。ステップ1903では、該エンコードしたものからイントラ予測モードがデコードされる。イントラ予測モードは、現在ブロックと選択された参照線内の参照サンプルとの関係を示す。さらに、現在ブロックは、選択された参照線(たとえば、代替参照線スキーム)を含む複数の参照線に関連付けられる。ステップ1905において、選択された参照線は、選択された参照線を示す選択された符号語に基づいてデコードされる。選択された符号語は、
図13に関して論じられたように、選択された参照線の選択確率に基づく長さを含む。たとえば、前記複数の参照線は、複数の符号語によって示されてもよい。さらに、現在ブロックから最も遠い参照線は、二番目に短い長さをもつ符号語によって示されてもよい。別の例では、現在ブロックから二番目に遠い参照線は、二番目に短い長さをもつ符号語によって示されてもよい。別の例では、隣接参照線以外のあらかじめ定義された参照線が、二番目に短い長さをもつ符号語によって示されてもよい。さらに別の例では、複数の符号語は、クラスAグループおよびクラスBグループにソートされてもよい。クラスAグループは、クラスBグループ内の符号語の長さよりも短い長さの符号語を含んでいてもよい。さらに、クラスAグループとクラスBグループは、互いに独立してインクリメントおよびデクリメントすることができる。さらなる例では、参照線は、
図14および
図15に関して論じられたように、異なる数の参照行および参照列を含んでいてもよい。たとえば、複数の参照線は、参照行および参照列を含んでいてもよい。さらに、現在ブロックについて記憶される参照行の数は、現在ブロックについて記憶される参照列の数の半分であってもよい。別の例では、現在ブロックについて記憶される参照行の数は、現在ブロックについて記憶される参照列の数から1を引いた数に等しくてもよい。別の例では、現在ブロックについて記憶される参照行の数は、デブロッキング・フィルタ操作によって使用される参照行の数に基づいて選択されてもよい。ステップ1907では、ビデオ・データがディスプレイを介してユーザーに呈示される。ビデオ・データは、イントラ予測モードおよび選択された参照線に基づいてデコードされた画像ブロックを含む。よって、方法1700、1800、および1900は、単独で、または任意の組み合わせで適用されて、イントラ予測を介してビデオを符号化するときの代替参照線スキームの有効性を改善することができる。
【0153】
ビットストリームを受領する受領手段と;イントラ予測モード部分集合を決定する処理手段であって、前記イントラ予測モード部分集合は、現在の画像ブロックについての複数の参照線に相関するイントラ予測モードを含み、前記現在の画像ブロックについての主要参照線に相関するイントラ予測モードを除く、段階と;第一のイントラ予測モードが前記イントラ予測モード部分集合に含まれる場合には、代替イントラ予測モード・インデックスによって前記第一のイントラ予測モードをデコードする段階と;前記第一のイントラ予測モードが前記イントラ予測モード部分集合に含まれない場合には、イントラ予測モード・インデックスによって前記第一のイントラ予測モードをデコードする段階とを実行するよう構成された処理手段と;前記第一のイントラ予測モードに基づいてデコードされた画像ブロックを含むビデオ・データを呈示する表示手段と、を備えるビデオ符号化装置。
【0154】
予測ブロックとして符号化された画像ブロックを含むビットストリームをメモリ手段に記憶する段階と:処理手段によって、直流(direct current、DC)イントラ予測モードによってエンコードされた現在の予測ブロックを取得する段階と;前記現在の予測ブロックに関連する複数の参照線のうち少なくとも二つの参照線におけるすべての参照サンプルの平均を決定することによって、前記現在の予測ブロックに対応する現在の画像ブロックを近似するためのDC予測値を決定する段階と;前記プロセッサによって、前記DC予測値に基づいて、前記現在の画像ブロックを再構成する段階と;前記現在の画像ブロックを含むビデオ・フレームを表示手段に表示する段階と、を含む、方法。
【0155】
ビットストリームを受領する受領手段と;処理手段であって、前記ビットストリームからイントラ予測モードをデコードする段階であって、前記イントラ予測モードは、現在ブロックと選択された参照線との間の関係を示し、前記現在ブロックは、前記選択された参照線を含む複数の参照線と関連付けられている、段階と;前記選択された参照線は、前記選択された参照線を示す選択された符号語に基づいて前記選択された参照線をデコードする段階であって、前記選択された符号語は、前記選択された参照線の選択確率に基づく長さを含む、段階とを実行するよう構成された処理手段と;前記イントラ予測モードおよび前記選択された参照線に基づいてデコードされた画像ブロックを含むビデオ・データを呈示する表示手段と、を備えるビデオ符号化装置。
【0156】
第一の構成要素と第二の構成要素との間に、ライン、トレース、または別の媒体を除いて介在する構成要素がない場合に、第一の構成要素は第二の構成要素に直接結合されている。第一の構成要素と第二の構成要素との間に、ライン、トレース、または別の媒体以外の介在する構成要素がある場合に、第一の構成要素は第二の構成要素に間接的に結合されている。用語「結合され」およびその変形は、直接結合されることおよび間接的に結合されることの両方を含む。用語「約」の使用は、特に断りのない限り、後続の数字の±10%を含む範囲を意味する。
【0157】
本開示においていくつかの実施形態が提供されたが、開示されたシステムおよび方法は、本開示の精神または範囲から逸脱することなく、多くの他の具体的形態で具現されうることが理解されうる。本願の例は、例示的なものであり、制約するものではないと考えられ、その意図は、本明細書に与えられる詳細に限定されるものではない。たとえば、さまざまな要素またはコンポーネントが別のシステムに組み合わされ、または統合されることができ、あるいはある種の特徴が省略されてもよく、または実装されなくてもよい。
【0158】
さらに、さまざまな実施形態において離散的または別個に記載および図示された技術、システム、サブシステム、および方法は、本開示の範囲から逸脱することなく、他のシステム、コンポーネント、技術、または方法と組み合わされまたは統合されることができる。変更、置換、および改変の他の例が当業者によって見きわめられ、本明細書に開示された精神および範囲から逸脱することなく、なされてもよい。
【外国語明細書】