(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-01
(45)【発行日】2022-07-11
(54)【発明の名称】映像コーディングシステムにおけるイントラ予測関連情報を使用する映像デコード方法およびその装置
(51)【国際特許分類】
H04N 19/70 20140101AFI20220704BHJP
H04N 19/11 20140101ALI20220704BHJP
H04N 19/136 20140101ALI20220704BHJP
H04N 19/176 20140101ALI20220704BHJP
【FI】
H04N19/70
H04N19/11
H04N19/136
H04N19/176
(21)【出願番号】P 2020570416
(86)(22)【出願日】2019-07-01
(86)【国際出願番号】 KR2019007967
(87)【国際公開番号】W WO2020017785
(87)【国際公開日】2020-01-23
【審査請求日】2020-12-17
(32)【優先日】2018-07-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】キム スンファン
(72)【発明者】
【氏名】ユ ソンミ
(72)【発明者】
【氏名】イ リン
(72)【発明者】
【氏名】イム チェヒョン
(72)【発明者】
【氏名】チェ チャンウォン
(72)【発明者】
【氏名】チェ チュンカ
(72)【発明者】
【氏名】ホ チン
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2018/064956(WO,A1)
【文献】国際公開第2017/205703(WO,A1)
【文献】国際公開第2017/204427(WO,A1)
【文献】Sri Nitchith Akula, et al.,Description of SDR, HDR and 360° video coding technology proposal considering mobile application scenario by Samsung, Huawei, GoPro, and HiSilicon,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-J0024,10th Meeting: San Diego, US,2018年04月,p.42
【文献】Mohammed Golam Sarwer, Chih-Wei Hsu, Yu-Wen Huang, and Shaw-Min Lei,CE3-related: Intra mode coding,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0243-v2,11th Meeting: Ljubljana, SI,2018年07月,pp.1-8
【文献】Anand Meher Kotra, Biao Wang, Zhijie Zhao, and Jianle Chen,CE3 3.2.3: Intra mode signaling without non-MPM list,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0368-r1,11th Meeting: Ljubljana, SI,2018年07月,pp.1-4
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
映像デコード装置により実行される映像デコード方法であって、
現ブロックに
関する残りの(remaining)イントラ予測モード情報をパージングするステップと、
前記現ブロックの隣接サンプルを導出するステップと、
前記現ブロックの
最確モード(Most Probable Mode
;MPM)候補を有するMPMリストを
導出するステップと、
予め設定された順序に基づいて前記MPM候補を除外した残りのイントラ予測モードを再整列するステップと、
前記
残りのイントラ予測モード情報
および前記再整列された残りのイントラ予測モードに基づいて前記現ブロックのイントラ予測モードを導出するステップであって、前記イントラ予測モードは、
前記再整列された残りのイントラ予測モードのうちの前記残りのイントラ予測モード情報によって示されるイントラ予測モー
ドであるステップと、
前記隣接サンプルおよび前記イントラ予測モードに基づいて前記現ブロックの予測サンプルを導出するステップと、
前記予測サンプルに基づいて復元ピクチャを導出するステップと、を有し、
前記
残りのイントラ予測モード情報は、
トランケートされたバイナリ(Truncated Binary
;TB)二進化(binarization)プロセスを介してコーディングされ、
前記TB二進化プロセスに
関する前記残りのイントラ予測情報の最大値を表す二進化パラメータは、60であ
り、
前記残りのイントラ予測モード情報の値がNである場合、前記再整列された残りのイントラ予測モードのうちのN+1番目のイントラ予測モードは、前記現ブロックの前記イントラ予測モードとして導出され、
前記予め設定された順序は、{0,1,50,18,49,10,12,19,11,34,2,17,54,33,46,51,35,15,13,45,22,14,66,21,47,48,23,53,58,16,42,20,24,44,26,43,55,52,37,29,39,41,25,9,38,56,30,36,32,28,62,27,40,8,3,7,57,6,31,4,65,64,5,59,60,61,63}である、映像デコード方法。
【請求項2】
前記現ブロックのMPMフラグが取得され、
前記MPMフラグは、前記MPM候補から前記現ブロックのイントラ予測モードが導出されるかどうかを示す
、請求項1に記載の映像デコード方法。
【請求項3】
前記MPMフラグが、前記MPM候補から前記現ブロックの前記イントラ予測モードが導出されないと示す場合、前記
残りのイントラ予測モード情報に基づいて前記現ブロックの前記イントラ予測モードが導出される
、請求項2に記載の映像デコード方法。
【請求項4】
前記
残りのイントラ予測モード情報の値が特定値より小さい場合、前記
残りのイントラ予測モード情報は、kビットの二進値に
よって二進化され、
前記
残りのイントラ予測モード情報の値が特定値より大きいまたは同じ場合、前記
残りのイントラ予測モード情報は、k+1ビットの二進値に
よって二進化される
、請求項1に記載の映像デコード方法。
【請求項5】
前記特定値および前記kは、前記TB二進化プロセスに
関する前記二進化パラメータに基づいて導出される
、請求項4に記載の映像デコード方法。
【請求項6】
前記特定値および前記kは、以下の数式に基づいて導出され、
【数1】
cMaxは、前記二進化パラメータを示し、uは、前記特定値を示す
、請求項5に記載の映像デコード方法。
【請求項7】
前記二進化パラメータは、全イントラ予測モードの個数から前記MPM候補の個数を引いた値から1を引いた値である
、請求項6に記載の映像デコード方法。
【請求項8】
前記
残りのイントラ予測モード情報の値がNである場合、前記
残りのイントラ予測モード情報は、イントラモードマップ(intra mode map)におけるN+1番目のイントラ予測モードを
示す、請求項1に記載の映像デコード方法。
【請求項9】
前記イントラモードマップは、予め設定された順序のイントラ予測モードから
前記MPM候補を除外したイントラ予測モードを
表す、請求項8に記載の映像デコード方法。
【請求項10】
前記隣接サンプルは、前記現ブロックの左上側コーナ隣接サンプル、上側隣接サンプル、および左側隣接サンプルを有し、
前記現ブロックのサイズがW×Hであり、前記現ブロックの左上端(top-left)サンプル位置のx成分が0およびy成分が0である場合、前記左側隣接サンプルは、p[-1][0]ないしp[-1][2H-1]であり、前記左上側コーナ隣接サンプルは、p[-1][-1]であり、前記上側隣接サンプルは、p[0][-1]ないしp[2W-1][-1]である
、請求項1に記載の映像デコード方法。
【請求項11】
映像エンコード装置により実行される映像エンコード方法であって、
現ブロックの隣接サンプルを導出するステップと、
前記現ブロックの
最確モード(Most Probable Mode
;MPM)候補を有するMPMリストを
導出するステップと、
予め設定された順序に基づいて前記MPM候補を除外した残りのイントラ予測モードを再整列するステップと、
前記再整列された残りのイントラ予測モードに基づいて前記現ブロックのイントラ予測モードを決定
するステップであって、前記イントラ予測モードは、前記
再整列された残りのイントラ予測モードのうちの一つであるステップと、
前記隣接サンプルおよび前記イントラ予測モードに基づいて前記現ブロックの予測サンプルを生成するステップと、
前記現ブロックに
関する残りの(remaining)イントラ予測モード情報を有する
画像情報をエンコードするステップと、を有し、
前記
残りのイントラ予測モード情報は、前記現ブロックの前記イントラ予測モードを
表し、
前記
残りのイントラ予測モード情報は、
トランケートされたバイナリ(Truncated Binary
;TB)二進化(binarization)プロセスを介してコーディングされ、
前記TB二進化プロセスに
関する前記残りのイントラ予測情報の最大値を表す二進化パラメータは、60であ
り、
前記残りのイントラ予測モード情報の値がNである場合、前記残りのイントラ予測モード情報は、前記再整列された残りのイントラ予測モードのうちのN+1番目のイントラ予測モードを前記現ブロックの前記イントラ予測モードとして示し、
前記予め設定された順序は、{0,1,50,18,49,10,12,19,11,34,2,17,54,33,46,51,35,15,13,45,22,14,66,21,47,48,23,53,58,16,42,20,24,44,26,43,55,52,37,29,39,41,25,9,38,56,30,36,32,28,62,27,40,8,3,7,57,6,31,4,65,64,5,59,60,61,63}である、映像エンコード方法。
【請求項12】
前記
残りのイントラ予測モード情報の値が特定値より小さい場合、前記
残りのイントラ予測モード情報は、kビットの二進値に
よって二進化され、
前記
残りのイントラ予測モード情報の値が特定値より大きいまたは同じ場合、前記
残りのイントラ予測モード情報は、k+1ビットの二進値に
よって二進化される
、請求項
11に記載の映像エンコード方法。
【請求項13】
前記特定値および前記kは、前記TB二進化プロセスに
関する前記二進化パラメータに基づいて導出される
、請求項
12に記載の映像エンコード方法。
【請求項14】
前記特定値および前記kは、以下の数式に基づいて導出され、
【数2】
cMaxは、前記二進化パラメータを示し、uは、前記特定値を示す
、請求項
13に記載の映像エンコード方法。
【請求項15】
画像に関するデータの送信方法であって、
現ブロックに関する残りのイントラ予測モード情報を有する画像情報のビットストリームを取得するステップと、
前記残りのイントラ予測モード情報を有する前記画像情報のビットストリームを有する前記データ送信するステップと、を有し、
前記現ブロックの最確モード(Most Probable Mode;MPM)候補を除外した残りのイントラ予測モードは、予め設定された順序に基づいて再整列され、
前記残りのイントラ予測モード情報は、前記再整列された残りのイントラ予測モードのうちの前記現ブロックのイントラ予測モードを表し、
前記残りのイントラ予測モード情報は、トランケートされたバイナリ(Truncated Binary;TB)二進化(binarization)プロセスを介してコーディングされ、
前記TB二進化プロセスに関する前記残りのイントラ予測情報の最大値を表す二進化パラメータは、60であり、
前記残りのイントラ予測モード情報の値がNである場合、前記残りのイントラ予測モード情報は、前記再整列された残りのイントラ予測モードのうちのN+1番目のイントラ予測モードを前記現ブロックの前記イントラ予測モードとして示し、
前記予め設定された順序は、{0,1,50,18,49,10,12,19,11,34,2,17,54,33,46,51,35,15,13,45,22,14,66,21,47,48,23,53,58,16,42,20,24,44,26,43,55,52,37,29,39,41,25,9,38,56,30,36,32,28,62,27,40,8,3,7,57,6,31,4,65,64,5,59,60,61,63}である、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像コーディング技術に関し、より詳しくは、映像コーディングシステムにおけるイントラ予測関連情報を使用する映像デコード(復号)方法および装置に関する。
【背景技術】
【0002】
最近、HD(High Definition)映像およびUHD(Ultra High Definition)映像などの高解像度、高品質の映像に対する需要が多様な分野で増加している。映像データが高解像度、高品質になるほど既存の映像データに比べて相対的に送信される情報量またはビット量が増加するため、既存の有無線広帯域回線などの媒体を利用して映像データを送信し、または既存の記憶(格納)媒体を利用して映像データを記憶する場合、送信コスト(費用)と記憶コストが増加する。
【0003】
それによって、高解像度、高品質映像の情報を効果的に送信または記憶し、再生するために高効率の映像圧縮技術が要求される。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の技術的課題は、映像コーディング効率を上げる方法および装置を提供することにある。
【0005】
本発明の他の技術的課題は、現ブロックのイントラ予測モードを示す情報をコーディングする方法および装置を提供することにある。
【0006】
本発明の他の技術的課題は、MPM候補を除外した残りの(remaining)イントラ予測モードのうち、現ブロックのイントラ予測モードを指す情報をコーディングする方法および装置を提供することにある。
【課題を解決するための手段】
【0007】
本発明の一実施例によると、デコード装置により実行される映像デコード方法が提供される。この方法は、現ブロックに対するリメイニング(remaining;残りの)イントラ予測モード情報をパージングするステップと、現ブロックの隣接サンプルを導出するステップと、現ブロックのMPM候補を有するMPMリストを構成するステップと、リメイニングイントラ予測モード情報に基づいて現ブロックのイントラ予測モードを導出するステップであって、イントラ予測モードは、MPM候補を除外した残りのイントラ予測モードのうちの一つであるステップと、隣接サンプルおよびイントラ予測モードに基づいて現ブロックの予測サンプルを導出するステップと、予測サンプルに基づいて復元ピクチャを導出するステップと、を有し、リメイニングイントラ予測モード情報は、TB二進化プロセスを介してコーディングされ、TB二進化プロセスに対する二進化パラメータは、60であることを特徴とする。
【0008】
本発明の他の一実施例によると、映像デコーディングを実行するデコード装置が提供される。このデコード装置は、現ブロックに対するリメイニングイントラ予測モード情報をパージングするエントロピ復号(デコード)部と、現ブロックの隣接サンプルを導出し、現ブロックのMPM候補を有するMPMリストを構成し、リメイニングイントラ予測モード情報に基づいて現ブロックのイントラ予測モードを導出し、イントラ予測モードは、MPM候補を除外した残りのイントラ予測モードのうちの一つであり、隣接サンプルおよびイントラ予測モードに基づいて現ブロックの予測サンプルを導出し、予測サンプルに基づいて復元ピクチャを導出する予測部と、を有し、リメイニングイントラ予測モード情報は、TB二進化プロセスを介してコーディングされ、TB二進化プロセスに対する二進化パラメータは、60であることを特徴とする。
【0009】
本発明の他の一実施例によると、エンコード(符号化)装置により実行されるビデオエンコード方法を提供する。この方法は、現ブロックの隣接サンプルを導出するステップと、現ブロックのMPM(Most Probable Mode)候補を有するMPMリストを構成するステップと、現ブロックのイントラ予測モードを決定し、イントラ予測モードは、MPM候補を除外した残りのイントラ予測モードのうちの一つであるステップと、隣接サンプルおよびイントラ予測モードに基づいて現ブロックの予測サンプルを生成するステップと、現ブロックに対するリメイニング(remaining)イントラ予測モード情報を有する映像情報をエンコードするステップと、を有し、リメイニングイントラ予測モード情報は、現ブロックのイントラ予測モードを示し、リメイニングイントラ予測モード情報は、TB(Truncated Binary)二進化(binarization)プロセスを介してコーディングされ、TB二進化プロセスに対する二進化パラメータは、60であることを特徴とする。
【0010】
本発明の他の一実施例によると、ビデオエンコード装置を提供する。エンコード装置は、現ブロックの隣接サンプルを導出し、現ブロックのMPM(Most Probable Mode)候補を有するMPMリストを構成し、現ブロックのイントラ予測モードを決定し、イントラ予測モードは、MPM候補を除外した残りのイントラ予測モードのうちの一つであり、隣接サンプルおよびイントラ予測モードに基づいて現ブロックの予測サンプルを生成する予測部と、現ブロックに対するリメイニング(remaining)イントラ予測モード情報を有する映像情報をエンコードするエントロピ符号化(エンコード)部と、を有し、リメイニングイントラ予測モード情報は、現ブロックのイントラ予測モードを示し、リメイニングイントラ予測モード情報は、TB(Truncated Binary)二進化(binarization)プロセスを介してコーディングされ、TB二進化プロセスに対する二進化パラメータは、60であることを特徴とする。
【発明の効果】
【0011】
前述した本発明によると、可変バイナリコードであるトランケートされたバイナリコードに基づいて現ブロックのイントラ予測を示す情報をコーディングすることができ、これを介してイントラ予測モードを示すための情報のシグナリングオーバーヘッドを減らすことができ、全般的なコーディング効率を向上させることができる。
【0012】
また、本発明によると、選択可能性が高いイントラ予測モードを小さいビットのバイナリコードと対応する値の情報で表すことができ、これを介してイントラ予測情報のシグナリングオーバーヘッドを減らすことができ、全般的なコーディング効率を向上させることができる。
【図面の簡単な説明】
【0013】
【
図1】本発明が適用されることができるビデオエンコード装置の構成を概略的に説明する図である。
【
図2】ビデオエンコード装置により実行される映像エンコード方法の一例を示す図である。
【
図3】本発明が適用されることができるビデオデコード装置の構成を概略的に説明する図である。
【
図4】デコード装置により実行される映像デコード方法の一例を示す図である。
【
図5】イントラ予測ベースの映像エンコード方法の一例を示す図である。
【
図6】イントラ予測ベースの映像デコード方法の一例を示す図である。
【
図7】65個の予測方向のイントラ方向性モードを例示的に示す図である。
【
図8】イントラ予測を実行する一例を示す図である。
【
図9】上記現ブロックのイントラ予測に使われる上記隣接サンプルを例示的に示す図である。
【
図10】上記現ブロックの隣接ブロックを例示的に示す図である。
【
図11】上記現ブロックの隣接ブロックのうち、既存のイントラ予測モードでエンコードされた隣接ブロックとLIPモードでエンコードされた隣接ブロックとを例示的に示す図である。
【
図12】MPM候補および残りのイントラ予測モードを含むn個のイントラ予測モードを示すための情報をコーディングする方法を例示的に示す図である。
【
図13】MPM候補および残りのイントラ予測モードを含むn個のイントラ予測モードを示すための情報をコーディングする方法を例示的に示す図である。
【
図14】本発明によるエンコード装置による映像エンコード方法を概略的に示す図である。
【
図15】本発明による映像エンコード方法を実行するエンコード装置を概略的に示す図である。
【
図16】本発明によるデコード装置による映像デコード方法を概略的に示す図である。
【
図17】本発明による映像デコード方法を実行するデコード装置を概略的に示す図である。
【
図18】本発明が適用されるコンテンツストリーミングシステム構造図を例示的に示す図である。
【発明を実施するための形態】
【0014】
本発明は、様々な変更を加えることができ、様々な実施例を有することができるため、特定の実施例を図面に例示して詳細に説明しようとする。しかしながら、これは、本発明を特定の実施例に限定しようとするものではない。本明細書で常用する用語は、単に特定の実施例を説明するために用いられるものであって、本発明の技術的な思想を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」または「有する」などの用語は、明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定するものであって、1つもしくは複数の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれを組み合わせたものなどの存在または付加の可能性を予め排除しないものとして理解しなければならない。
【0015】
一方、本発明で説明される図面上の各構成は、相異なる特徴的な機能に関する説明の便宜のために独立して示されたものであって、各構成が互いに別個のハードウェアまたは別個のソフトウェアで実現されることを意味するものではない。例えば、各構成のうち2つ以上の構成が結合されて1つの構成をなすこともでき、1つの構成を複数の構成に分けることもできる。各構成が統合および/または分離された実施例も本発明の本質から外れない限り、本発明の権利範囲に含まれる。
【0016】
以下、添付の図面を参照して、本発明の好ましい実施例をより詳細に説明する。以下、図面上の同一の構成要素に対しては同一の参照符号を使用し、同一の構成要素に対して重複する説明は省略する。
【0017】
一方、本発明は、ビデオ/映像コーディングに関する。例えば、本発明で開示された方法/実施例は、VVC(Versatile Video Coding)標準、EVC(Essential Video Coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd Generation Of Audio Video Coding Standard)または次世代ビデオ/イメージコーディング標準(例えば、H.267、H.268など)に開示された方法に適用されることができる。
【0018】
本明細書において、ピクチャ(picture)は、一般的に特定時間帯の一つの映像を示す単位を意味し、スライス(slice)は、コーディングにおいてピクチャの一部を構成する単位である。一つのピクチャは、複数のスライスで構成されることができ、必要によって、ピクチャおよびスライスは、互いに混用されることができる。
【0019】
ピクセル(pixel)またはペル(pel)は、一つのピクチャ(または、画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用されることができる。サンプルは、一般的にピクセルまたはピクセルの値を示し、輝度(ルマ)成分のピクセル/ピクセルの値のみを示してもよく、彩度(クロマ)成分のピクセル/ピクセルの値のみを示してもよい。
【0020】
ユニット(unit)は、画像処理の基本単位を示す。ユニットは、ピクチャの特定領域および該当領域に対する情報のうちの少なくとも一つを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用されてもよい。一般的な場合、M×Nのブロックは、M個の列およびN個の行からなるサンプルまたは変換係数(transform coefficient)の集合を示すことができる。
【0021】
図1は、本発明が適用されることができるビデオエンコード装置の構成を概略的に説明する図面である。
【0022】
図1を参照すると、ビデオエンコード装置100は、ピクチャ分割部105、予測部110、残差(レジデュアル)処理部120、エントロピ符号化(エンコーディング)部130、加算部140、フィルタ部150、およびメモリ160を含むことができる。残差処理部120は、減算部121、変換部122、量子化部123、再整列部124、逆量子化部125、および逆変換部126を含むことができる。
【0023】
ピクチャ分割部105は、入力されたピクチャを少なくとも一つの処理ユニット(processing unit)に分割できる。
【0024】
一例として、処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれる。この場合、コーディングユニットは、最大コーディングユニット(largest coding unit、LCU)からQTBT(Quad-Tree Binary-Tree)構造によって再帰的に(recursively)分割されることができる。例えば、一つのコーディングユニットは、四分木(クアッドツリー)構造および/または二分木(バイナリツリー)構造に基づいて、下位デプスの(deeper)複数のコーディングユニットに分割されることができる。この場合、例えば、四分木構造が先に適用され、二分木構造が後に適用されることができる。あるいは、二分木構造が先に適用されることもできる。それ以上分割されない最終コーディングユニットに基づいて、本発明によるコーディング手順が実行されることができる。この場合、映像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使われることができ、または、必要によって、コーディングユニットは、再帰的に(recursively)より下位デプスのコーディングユニットに分割されて最適なサイズのコーディングユニットが最終コーディングユニットとして使われることができる。ここで、コーディング手順とは、後述する予測、変換、および復元などの手順を含むことができる。
【0025】
他の例として、処理ユニットは、コーディングユニット(coding unit、CU)、予測ユニット(prediction unit、PU)または変換ユニット(transform unit、TU)を含むこともできる。コーディングユニットは、最大コーディングユニット(largest coding unit、LCU)から四分木構造によって下位デプスの(deeper)コーディングユニットに分割(split)されることができる。この場合、映像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使われることができ、または、必要によって、コーディングユニットは、再帰的に(recursively)より下位デプスのコーディングユニットに分割されて最適なサイズのコーディングユニットが最終コーディングユニットとして使われることができる。最小コーディングユニット(smallest coding unit、SCU)が設定された場合、コーディングユニットは、最小コーディングユニットより小さいコーディングユニットに分割されることができない。ここで、最終コーディングユニットとは、予測ユニットまたは変換ユニットにパーティショニングまたは分割される基盤となるコーディングユニットを意味する。予測ユニットは、コーディングユニットからパーティショニング(partitioning)されるユニットであって、サンプル予測のユニットである。このとき、予測ユニットは、サブブロック(subblock)に分けられることもできる。変換ユニットは、コーディングユニットから四分木構造によって分割されることができ、変換係数を導出(誘導)するユニットおよび/または変換係数から残差信号(residual signal)を導出するユニットである。以下、コーディングユニットは、コーディングブロック(coding block、CB)、予測ユニットは、予測ブロック(prediction block、PB)、変換ユニットは、変換ブロック(transform block、TB)、とも呼ばれる。予測ブロックまたは予測ユニットは、ピクチャ内でブロック形態の特定領域を意味し、予測サンプルのアレイ(array)を含むことができる。また、変換ブロックまたは変換ユニットは、ピクチャ内でブロック形態の特定領域を意味し、変換係数または残差サンプルのアレイを含むことができる。
【0026】
予測部110は、処理対象ブロック(以下、現ブロックという)に対する予測を実行し、上記現ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部110で実行される予測の単位は、コーディングブロック、または変換ブロック、または予測ブロックである。
【0027】
予測部110は、現ブロックにイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができる。一例として、予測部110は、CU単位にイントラ予測またはインター予測が適用されるかを決定することができる。
【0028】
イントラ予測の場合、予測部110は、現ブロックが属するピクチャ(以下、現ピクチャ)内の現ブロックの外部の参照サンプルに基づいて現ブロックに対する予測サンプルを導出することができる。このとき、予測部110は、(i)現ブロックの隣接(neighboring)参照サンプルの平均(average)または補間(interpolation)に基づいて予測サンプルを導出することができ、(ii)現ブロックの隣接参照サンプルのうち、予測サンプルに対して特定(予測)方向に存在する参照サンプルに基づいて上記予測サンプルを導出することもできる。(i)の場合は、非方向性モードまたは非角度モードと呼ばれ、(ii)の場合は、方向性(directional)モードまたは角度(angular)モードと呼ばれる。イントラ予測における予測モードは、例えば、33個の方向性予測モードと少なくとも2個以上の非方向性モードとを有することができる。非方向性モードは、DC予測モードおよび平面(プラナー)モード(Planarモード)を含むことができる。予測部110は、隣接ブロックに適用された予測モードを利用し、現ブロックに適用される予測モードを決定することもできる。
【0029】
インター予測の場合、予測部110は、参照ピクチャ上で動きベクトルにより特定されるサンプルに基づいて、現ブロックに対する予測サンプルを導出することができる。予測部110は、スキップ(skip)モード、マージ(merge)モード、およびMVP(Motion Vector Prediction)モードのうちのいずれか一つを適用して現ブロックに対する予測サンプルを導出することができる。スキップモードおよびマージモードの場合、予測部110は、隣接ブロックの動き情報を現ブロックの動き情報として利用できる。スキップモードの場合、マージモードと違って予測サンプルとオリジナル(原本)サンプルとの間の差(残差)が送信されない。MVPモードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(Motion Vector Predictor)として利用し、現ブロックの動きベクトル予測子として利用して現ブロックの動きベクトルを導出することができる。
【0030】
インター予測の場合、隣接ブロックは、現ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャ(reference picture)に存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。上記時間的隣接ブロックを含む参照ピクチャは、コロケート(同一位置)ピクチャ(collocated Picture、colPic)とも呼ばれる。動き情報(motion information)は、動きベクトルおよび参照ピクチャインデックスを含むことができる。予測モード情報および動き情報などの情報は、(エントロピ)エンコードされてビットストリーム形態で出力されることができる。
【0031】
スキップモードおよびマージモードで時間的隣接ブロックの動き情報が利用される場合、参照ピクチャリスト(reference picture list)上の最上位ピクチャが参照ピクチャとして利用されることもできる。参照ピクチャリスト(Picture Order Count)に含まれる参照ピクチャは、現ピクチャと該当参照ピクチャとの間のPOC(Picture Order Count)の差に基づいて整列されることができる。POCは、ピクチャの表示(ディスプレイ)順序に対応し、コーディング順序と区分されることができる。
【0032】
減算部121は、オリジナルサンプルと予測サンプルとの間の差である残差サンプルを生成する。スキップモードが適用される場合には、前述したように残差サンプルを生成しない。
【0033】
変換部122は、変換ブロック単位に残差サンプルを変換して変換係数(transform coefficient)を生成する。変換部122は、該当変換ブロックのサイズと、該当変換ブロックと空間的に重なるコーディングブロックまたは予測ブロックに適用された予測モードと、によって変換を実行することができる。例えば、上記変換ブロックと重なる上記コーディングブロックまたは上記予測ブロックにイントラ予測が適用され、上記変換ブロックが4×4の残差アレイ(array)である場合、残差サンプルは、DST(Discrete Sine Transform)変換カーネルを利用して変換され、その他の場合、残差サンプルは、DCT(Discrete Cosine Transform)変換カーネルを利用して変換できる。
【0034】
量子化部123は、変換係数を量子化し、量子化された変換係数を生成することができる。
【0035】
再整列部124は、量子化された変換係数を再整列する。再整列部124は、係数スキャン(scanning)方法を介してブロック形態の量子化された変換係数を1次元ベクトル形態で再整列できる。ここで、再整列部124は、別途の構成で説明したが、量子化部123の一部であってもよい。
【0036】
エントロピ符号化部130は、量子化された変換係数に対するエントロピ符号化を実行することができる。エントロピ符号化は、例えば、指数ゴロム(exponential Golomb)、CAVLC(Context-Adaptive Variable Length Coding)、CABAC(Context-Adaptive Binary Arithmetic Coding)などのエンコード方法を含むことができる。エントロピ符号化部130は、量子化された変換係数以外にビデオ復元に必要な情報(例えば、シンタックス要素(syntax element)の値など)を共にまたは別途にエントロピ符号化することもできる。エンコードされた情報は、ビットストリーム形態でNAL(Network Abstraction Layer)ユニット単位で送信または記憶されることができる。
【0037】
逆量子化部125は、量子化部123で量子化された値(量子化された変換係数)を逆量子化し、逆変換部126は、逆量子化部125で逆量子化された値を逆変換して残差サンプルを生成する。
【0038】
加算部140は、残差サンプルと予測サンプルとを加算してピクチャを復元する。残差サンプルと予測サンプルとは、ブロック単位に加算されて復元ブロックが生成されることができる。ここで、加算部140は、別途の構成で説明したが、予測部110の一部であってもよい。一方、加算部140は、復元部(reconstruction module)または復元ブロック生成部とも呼ばれる。
【0039】
復元されたピクチャ(reconstructed picture)に対してフィルタ部150は、デブロッキングフィルタおよび/またはサンプル適応オフセット(sample adaptive offset)を適用することができる。デブロックフィルタリングおよび/またはサンプル適応オフセットを介して、復元ピクチャ内のブロック境界のアーチファクトや量子化過程(処理、プロセス)における歪曲が補正されることができる。サンプル適応オフセットは、サンプル単位に適用されることができ、デブロックフィルタリングの過程が完了した後に適用されることができる。フィルタ部150は、ALF(Adaptive Loop Filter)を復元されたピクチャに適用することもできる。ALFは、デブロッキングフィルタおよび/またはサンプル適応オフセットが適用された後の復元されたピクチャに対して適用されることができる。
【0040】
メモリ160は、復元ピクチャ(デコードされたピクチャ)またはエンコーディング/デコーディングに必要な情報を記憶することができる。ここで、復元ピクチャは、上記フィルタ部150によりフィルタリング手順が完了した復元ピクチャである。上記記憶された復元ピクチャは、他のピクチャの(インター)予測のための参照ピクチャとして活用されることができる。例えば、メモリ160は、インター予測に使われる(参照)ピクチャを記憶することができる。このとき、インター予測に使われるピクチャは、参照ピクチャセット(reference picture set)または参照ピクチャリスト(reference picture list)により指定されることができる。
【0041】
図2は、ビデオエンコード装置により実行される映像エンコード方法の一例を示す。
図2を参照すると、上記映像エンコード方法は、ブロックパーティショニング(block partitioning)、イントラ/インター予測、変換(transform)、量子化(quantization)、およびエントロピ符号化(entropy encoding)過程を含むことができる。例えば、現ピクチャは、複数のブロックに分割されることができ、イントラ/インター予測を介して現ブロックの予測ブロックが生成されることができ、上記現ブロックの入力ブロックと上記予測ブロックとの減算を介して上記現ブロックの残差ブロックが生成されることができる。この後、上記残差ブロックに対する変換を介して係数(coefficient)ブロック、すなわち、上記現ブロックの変換係数が生成されることができる。上記変換係数は、量子化およびエントロピ符号化されてビットストリームに記憶されることができる。
【0042】
図3は、本文書が適用されることができるビデオデコード装置の構成を概略的に説明する図面である。
【0043】
図3を参照すると、ビデオデコード装置300は、エントロピ復号(デコーディング)部310、残差(レジデュアル)処理部320、予測部330、加算部340、フィルタ部350、およびメモリ360を含むことができる。予測部330は、インター予測部331およびイントラ予測部332を含むことができる。ここで、残差処理部320は、再整列部321、逆量子化部322、および逆変換部323を含むことができる。
【0044】
ビデオ情報を含むビットストリームが入力されると、ビデオデコード装置300は、ビデオエンコード装置でビデオ情報が処理されたプロセスに対応してビデオを復元することができる。
【0045】
例えば、ビデオデコード装置300は、ビデオエンコード装置で適用された処理ユニットを利用してデコーディングを実行することができる。したがって、ビデオデコーディングの処理ユニットは、一例としてコーディングユニットであり、他の例としてコーディングユニット、予測ユニットまたは変換ユニットである。コーディングユニットは、最大コーディングユニットから四分木構造および/または二分木構造によって分割されることができる。
【0046】
予測ユニットおよび変換ユニットが場合によってさらに使用されることができ、この場合、予測ブロックは、コーディングユニットから導出またはパーティショニングされるブロックであって、サンプル予測のユニットである。このとき、予測ユニットは、サブブロックに分けられることもできる。変換ユニットは、コーディングユニットから四分木構造によって分割されることができ、変換係数を導出するユニットまたは変換係数から残差信号を導出するユニットである。
【0047】
エントロピ復号部310は、ビットストリームをパージングしてビデオ復元またはピクチャ復元に必要な情報を出力することができる。例えば、エントロピ復号部310は、指数ゴロム符号化、CAVLCまたはCABACなどのコーディング方法に基づいてビットストリーム内の情報をデコードし、ビデオ復元に必要なシンタックスエレメントの値、残差に対する変換係数の量子化された値を出力することができる。
【0048】
より詳細には、CABACエントロピ復号方法は、ビットストリームで各シンタックス要素に該当するBINを受信し、デコーディング対象シンタックス要素情報と隣接およびデコーディング対象ブロックのデコーディング情報または以前ステップでデコードされたシンボル/BINの情報とを利用してコンテキスト(context)モデルを決定し、決定されたコンテキストモデルによってBINの発生確率を予測してBINの算術復号(デコーディング)(arithmetic decoding)を実行することで、各シンタックス要素の値に該当するシンボルを生成することができる。このとき、CABACエントロピ復号方法は、コンテキストモデルの決定後、次のシンボル/BINのコンテキストモデルのためにデコードされたシンボル/BINの情報を利用してコンテキストモデルをアップデートすることができる。
【0049】
エントロピ復号部310でデコードされた情報のうちの予測に関する情報は、予測部330に提供され、エントロピ復号部310でエントロピ復号が実行された残差値、すなわち、量子化された変換係数は、再整列部321に入力されることができる。
【0050】
再整列部321は、量子化されている変換係数を2次元のブロック形態で再整列できる。再整列部321は、エンコード装置で実行された係数スキャンに対応して再整列を実行することができる。ここで、再整列部321は、別途の構成で説明したが、逆量子化部322の一部であってもよい。
【0051】
逆量子化部322は、量子化されている変換係数を(逆)量子化パラメータに基づいて逆量子化して変換係数を出力することができる。このとき、量子化パラメータを導出するための情報は、エンコード装置からシグナリングされることができる。
【0052】
逆変換部323は、変換係数を逆変換して残差サンプルを導出することができる。
【0053】
予測部330は、現ブロックに対する予測を実行し、上記現ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部330で実行される予測の単位は、コーディングブロック、または変換ブロック、または予測ブロックである。
【0054】
予測部330は、上記予測に関する情報に基づいて、イントラ予測を適用するか、またはインター予測を適用するかを決定することができる。このとき、イントラ予測およびインター予測のうちのいずれを適用するかを決定する単位と予測サンプルを生成する単位とは異なる。併せて、インター予測およびイントラ予測において、予測サンプルを生成する単位も異なる。例えば、インター予測およびイントラ予測のうちのいずれを適用するかは、CU単位に決定できる。また、例えば、インター予測において、PU単位に予測モードを決定して予測サンプルを生成することができ、イントラ予測において、PU単位に予測モードを決定し、TU単位に予測サンプルを生成することもできる。
【0055】
イントラ予測の場合、予測部330は、現ピクチャ内の隣接参照サンプルに基づいて現ブロックに対する予測サンプルを導出することができる。予測部330は、現ブロックの隣接参照サンプルに基づいて方向性モードまたは非方向性モードを適用して現ブロックに対する予測サンプルを導出することができる。このとき、隣接ブロックのイントラ予測モードを利用して現ブロックに適用する予測モードが決定されることもできる。
【0056】
インター予測の場合、予測部330は、参照ピクチャ上で動きベクトルにより参照ピクチャ上で特定されるサンプルに基づいて現ブロックに対する予測サンプルを導出することができる。予測部330は、スキップ(skip)モード、マージ(merge)モード、およびMVPモードのうちのいずれか一つを適用して現ブロックに対する予測サンプルを導出することができる。このとき、ビデオエンコード装置で提供された現ブロックのインター予測に必要な動き情報、例えば、動きベクトル、参照ピクチャインデックスなどに関する情報は、上記予測に関する情報に基づいて取得または誘導されることができる。
【0057】
スキップモードおよびマージモードの場合、隣接ブロックの動き情報が現ブロックの動き情報として利用されることができる。このとき、隣接ブロックは、空間的隣接ブロックおよび時間的隣接ブロックを含むことができる。
【0058】
予測部330は、使用可能な隣接ブロックの動き情報でマージ候補リストを構成し、マージインデックスがマージ候補リスト上で指示する情報を現ブロックの動きベクトルとして使用することができる。マージインデックスは、エンコード装置からシグナリングされることができる。動き情報は、動きベクトルおよび参照ピクチャを含むことができる。スキップモードおよびマージモードで時間的隣接ブロックの動き情報が利用される場合、参照ピクチャリスト上の最上位ピクチャが参照ピクチャとして利用されることができる。
【0059】
スキップモードの場合、マージモードと違って予測サンプルとオリジナルサンプルとの間の差(残差)が送信されない。
【0060】
MVPモードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として利用して現ブロックの動きベクトルが誘導されることができる。このとき、隣接ブロックは、空間的隣接ブロックおよび時間的隣接ブロックを含むことができる。
【0061】
一例として、マージモードが適用される場合、復元された空間的隣接ブロックの動きベクトルおよび/または時間的隣接ブロックであるColブロックに対応する動きベクトルを利用し、マージ候補リストが生成されることができる。マージモードでは、マージ候補リストから選択された候補ブロックの動きベクトルが現ブロックの動きベクトルとして使われる。上記予測に関する情報は、上記マージ候補リストに含まれている候補ブロックの中から選択された最適な動きベクトルを有する候補ブロックを指示するマージインデックスを含むことができる。このとき、予測部330は、上記マージインデックスを利用し、現ブロックの動きベクトルを導出することができる。
【0062】
他の例として、MVP(Motion Vector Prediction)モードが適用される場合、復元された空間的隣接ブロックの動きベクトルおよび/または時間的隣接ブロックであるColブロックに対応する動きベクトルを利用し、動きベクトル予測子候補リストが生成されることができる。すなわち、復元された空間的隣接ブロックの動きベクトルおよび/または時間的隣接ブロックであるColブロックに対応する動きベクトルは、動きベクトル候補として使われることができる。上記予測に関する情報は、上記リストに含まれている動きベクトル候補の中から選択された最適な動きベクトルを指示する予測動きベクトルインデックスを含むことができる。このとき、予測部330は、上記動きベクトルインデックスを利用し、動きベクトル候補リストに含まれている動きベクトル候補の中から、現ブロックの予測動きベクトルを選択することができる。エンコード装置の予測部は、現ブロックの動きベクトルと動きベクトル予測子との間の動きベクトル差分(MVD)を求めることができ、これをエンコードしてビットストリーム形態で出力できる。すなわち、MVDは、現ブロックの動きベクトルから上記動きベクトル予測子を引いた値として求められる。このとき、予測部330は、上記予測に関する情報に含まれている動きベクトル差分を取得し、上記動きベクトル差分と上記動きベクトル予測子との加算を介して現ブロックの上記動きベクトルを導出することができる。また、予測部は、参照ピクチャを指示する参照ピクチャインデックスなどを上記予測に関する情報から取得または誘導できる。
【0063】
加算部340は、残差サンプルと予測サンプルとを加算して現ブロックまたは現ピクチャを復元することができる。加算部340は、残差サンプルと予測サンプルとをブロック単位に加算して現ピクチャを復元することもできる。スキップモードが適用された場合には残差が送信されないため、予測サンプルが復元サンプルになることができる。ここで、加算部340は、別途の構成で説明したが、予測部330の一部であってもよい。一方、加算部340は、復元部または復元ブロック生成部とも呼ばれる。
【0064】
フィルタ部350は、復元されたピクチャにデブロックフィルタリングサンプル適応オフセット、および/またはALFなどを適用することができる。このとき、サンプル適応オフセットは、サンプル単位に適用されることができ、デブロックフィルタリング以後に適用されることもできる。ALFは、デブロックフィルタリングおよび/またはサンプル適応オフセット以後に適用されることもできる。
【0065】
メモリ360は、復元ピクチャ(デコードされたピクチャ)またはデコーディングに必要な情報を記憶することができる。ここで、復元ピクチャは、上記フィルタ部350によりフィルタリング手順が完了した復元ピクチャである。例えば、メモリ360は、インター予測に使われるピクチャを記憶することができる。このとき、インター予測に使われるピクチャは、参照ピクチャセットまたは参照ピクチャリストにより指定されることもできる。復元されたピクチャは、他のピクチャに対する参照ピクチャとして利用されることができる。また、メモリ360は、復元されたピクチャを出力順序によって出力することもできる。
【0066】
図4は、デコード装置により実行される映像デコード方法の一例を示す。
図4を参照すると、上記映像デコード方法は、エントロピ復号(entropy decoding)、逆量子化(inverse quantization)、逆変換(inverse transform)、およびイントラ/インター予測過程を含むことができる。例えば、デコード装置では、上記エンコード方法の逆過程が実行されることができる。具体的には、ビットストリームに対するエントロピ復号を介して量子化された変換係数が取得されることができ、上記量子化された変換係数に対する逆量子化過程を介して現ブロックの係数ブロック、すなわち、変換係数が取得されることができる。上記変換係数に対する逆変換を介して上記現ブロックの残差ブロックが導出されることができ、イントラ/インター予測を介して導出された上記現ブロックの予測ブロックと上記残差ブロックとの加算を介して上記現ブロックの復元ブロック(reconstructed block)が導出されることができる。
【0067】
一方、前述した内容のようにイントラ予測が実行される場合、サンプル間の相関関係が利用されることができ、オリジナルブロックと予測ブロックとの間の差、すなわち、残差(residual)が取得されることができる。上記残差には、前述した変換および量子化が適用されることができ、これを介して空間的冗長性(リダンダンシ)(spatial redundancy)が除去されることができる。具体的には、イントラ予測が使われるエンコード方法およびデコード方法は、後述の通りである。
【0068】
図5は、イントラ予測ベースの映像エンコード方法の一例を示す。
図5を参照すると、エンコード装置は、現ブロックに対するイントラ予測モードを導出し(S500)、現ブロックの隣接参照サンプルを導出することができる(S510)。エンコード装置は、上記イントラ予測モードおよび上記隣接参照サンプルに基づいて上記現ブロック内の予測サンプルを生成することができる(S520)。この場合、エンコード装置は、予測サンプルフィルタリング手順を実行することができる(S530)。予測サンプルフィルタリングは、ポストフィルタリングと呼ばれる。上記予測サンプルフィルタリング手順により、上記予測サンプルのうちの一部または全部がフィルタリングされることができる。場合によって、S530手順は省略されることができる。
【0069】
エンコード装置は、(フィルタリングされた)予測サンプルに基づいて、上記現ブロックに対する残差サンプルを生成することができる(S540)。エンコード装置は、上記イントラ予測モードを示す予測モード情報および上記残差サンプルに関する残差情報を含む映像情報をエンコードすることができる(S550)。エンコードされた映像情報は、ビットストリーム形態で出力されることができる。出力されたビットストリームは、記憶媒体またはネットワークを介してデコード装置に伝達されることができる。
【0070】
図6は、イントラ予測ベースの映像デコード方法の一例を示す。
図6を参照すると、デコード装置は、上記エンコード装置で実行された動作と対応する動作を実行することができる。例えば、デコード装置は、受信した予測モード情報に基づいて現ブロックに対するイントラ予測モードを導出することができる(S600)。デコード装置は、上記現ブロックの隣接参照サンプルを導出することができる(S610)。デコード装置は、上記イントラ予測モードおよび上記隣接参照サンプルに基づいて上記現ブロック内の予測サンプルを生成することができる(S620)。この場合、デコード装置は、予測サンプルフィルタリング手順を実行することができる(S630)。予測サンプルフィルタリングは、ポストフィルタリングと呼ばれる。上記予測サンプルフィルタリング手順により、上記予測サンプルのうちの一部または全部がフィルタリングされることができる。場合によって、S630手順は省略されることができる。
【0071】
デコード装置は、受信した残差情報に基づいて、上記現ブロックに対する残差サンプルを生成することができる(S640)。デコード装置は、上記(フィルタリングされた)予測サンプルおよび上記残差サンプルに基づいて上記現ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成することができる(S650)。
【0072】
一方、現ブロックにイントラ予測が適用される場合、前述した内容のようにエンコード装置/デコード装置は、上記現ブロックに対するイントラ予測モードを導出することができ、上記イントラ予測モードに基づいて上記現ブロックの予測サンプルを導出することができる。すなわち、エンコード装置/デコード装置は、上記現ブロックの隣接参照サンプルに基づいて方向性モードまたは非方向性モードを適用して上記現ブロックの上記予測サンプルを導出することができる。
【0073】
参考までに、例えば、イントラ予測モードは、2個の非方向性(non-directional、または非角度性(non-angular))イントラ予測モードと65個の方向性(directional、または角度性(angular))イントラ予測モードとを含むことができる。上記非方向性イントラ予測モードは、0番である平面(planar)イントラ予測モードおよび1番であるDCイントラ予測モードを含むことができ、上記方向性イントラ予測モードは、2番ないし66番の65個のイントラ予測モードを含むことができる。ただし、これは例示に過ぎず、本発明は、イントラ予測モードの数が異なる場合にも適用されることができる。一方、場合によって、67番イントラ予測モードがさらに使用されることができ、上記67番イントラ予測モードは、LM(Linear Model)モードを示すことができる。
【0074】
図7は、65個の予測方向のイントラ方向性モードを例示的に示す。
【0075】
図7を参照すると、左上向対角予測方向を有する34番イントラ予測モードを中心に、水平方向性(horizontal directionality)を有するイントラ予測モードと垂直方向性(vertical directionality)を有するイントラ予測モードとを区分することができる。
図7のHおよびVは、各々、水平方向性および垂直方向性を意味し、-32~32の数字は、サンプルグリッド位置(ポジション)(sample grid position)上で1/32単位の変位を示す。2番ないし33番イントラ予測モードは水平方向性を有し、34番ないし66番イントラ予測モードは垂直方向性を有する。18番イントラ予測モードおよび50番イントラ予測モードは、各々、水平イントラ予測モード(horizontal intra prediction mode)、垂直イントラ予測モード(vertical intra prediction mode)を示し、2番イントラ予測モードは、左下向対角イントラ予測モードと呼ばれ、34番イントラ予測モードは、左上向対角イントラ予測モードと呼ばれ、66番イントラ予測モードは、右上向対角イントラ予測モードと呼ばれる。
【0076】
一方、上記予測モード情報は、MPM(Most Probable Mode)が上記現ブロックに適用されるか、またはリメイニングモード(remaining mode)が適用されるかを示すフラグ情報(例えば、prev_intra_luma_pred_flag)を含むことができる。また、上記現ブロックに上記MPMが適用される場合、上記予測モード情報は、上記イントラ予測モード候補(例えば、MPM候補)のうちの一つを指すインデックス情報(例えば、mpm_idx)をさらに含むことができる。一方、上記現ブロックに対する上記イントラ予測モード候補は、MPM候補リストまたはMPMリストで構成されることができる。すなわち、上記現ブロックに対する上記MPM候補リストまたは上記MPMリストが構成されることができ、上記MPM候補リストまたは上記MPMリストは、上記イントラ予測モード候補を含むことができる。
【0077】
また、上記現ブロックに上記MPMが適用されない場合、上記予測モード情報は、上記イントラ予測モード候補を除外した残りのイントラ予測モードのうちの一つを指すリメイニングイントラ予測モード情報(例えば、rem_inra_luma_pred_mode)をさらに含むことができる。上記リメイニングイントラ予測モード情報は、MPMリメインダ(remainder)情報と示すこともできる。
【0078】
デコード装置は、上記予測モード情報に基づいて上記現ブロックのイントラ予測モードを決定することができる。上記予測モード情報は、後述するコーディング方法を介してエンコード/デコードされることができる。例えば、上記予測モード情報は、トランケートされたバイナリコード(truncated binary code)またはトランケートされたライスバイナリコード(truncated Rice binary code)に基づくエントロピコーディング(例えば、CABAC、CAVLC)を介してエンコード/デコードされることができる。
【0079】
図8は、イントラ予測を実行する一例を示す。
図8を参照すると、一般的なイントラ予測は、3個のステップ(step)で実行されることができる。例えば、現ブロックにイントラ予測が適用される場合、エンコード装置/デコード装置は、参照サンプルを構成することができ(S800)、上記参照サンプルに基づいて上記現ブロックに対する予測サンプルを導出することができ(S810)、上記予測サンプルに対するポストフィルタリングを実行することができる(S820)。エンコード装置/デコード装置の予測部は、上記現ブロックのアンノウンサンプル(unknown samples)を生成するためにイントラ予測モードおよび知られた隣接参照サンプル(known neighbouring reference samples)の利点(advantages)を取得することができる。
【0080】
図9は、上記現ブロックのイントラ予測に使われる上記隣接サンプルを例示的に示す。
図9を参照すると、上記現ブロックのサイズがW×Hである場合、上記現ブロックの上記隣接サンプルは、2W個の上側隣接サンプル、2H個の左側隣接サンプルおよび左上側コーナ隣接サンプルを含むことができる。例えば、上記現ブロックのサイズがW×Hであり、上記現ブロックの左上端(top-left)サンプル位置(ポジション)のx成分が0およびy成分が0である場合、上記左側隣接サンプルは、p[-1][0]ないしp[-1][2H-1]であり、上記左上側コーナ隣接サンプルは、p[-1][-1]であり、上記上側隣接サンプルは、p[0][-1]ないしp[2W-1][-1]である。上記現ブロックの対象サンプルを基準にして上記現ブロックのイントラ予測モードの予測方向に位置する隣接サンプルに基づいて上記対象サンプルの予測サンプルが導出されることができる。一方、複数のラインの隣接サンプルが上記現ブロックのイントラ予測に使われることもできる。
【0081】
一方、エンコード装置は、ビットレート(bit rate)とディストーション(distortion)とを共同(連係)で(jointly)最適化(optimizing)して上記現ブロックに対する最適なイントラ予測モードを決定することができる。この後、エンコード装置は、上記最適なイントラ予測モードに関する予測モード情報をビットストリームにコーディングできる。デコード装置は、上記予測モード情報をパージングして上記最適なイントラ予測モードを導出することができ、上記イントラ予測モードに基づいて上記現ブロックのイントラ予測を実行することができる。しかしながら、イントラ予測モードの増加した個数は、シグナリングオーバーヘッド(signaling overhead)を最小にするための効率的なイントラ予測モードコーディングを必要とする。
【0082】
したがって、本発明は、イントラ予測に関する情報を送信するにあたってシグナリングオーバーヘッドを減らすための実施例を提案する。
【0083】
一方、後述する実施例におけるオペレータ(operator;演算子)は、以下の表のように定義されることができる。
【0084】
【0085】
表1を参照すると、Floor(x)は、x以下の最大整数値を示すことができ、Log2(u)は、uの2を底(base)とするログ値を示すことができ、Ceil(x)は、x以上の最小整数値を示すことができる。例えば、Floor(5.93)の場合、5.93以下の最大整数値は、5であるため、5を示すことができる。
【0086】
また、表1を参照すると、x>>yは、xをy回右シフト(right shift)する演算子を示すことができ、x<<yは、xをy回左シフト(left shift)する演算子を示すことができる。
【0087】
一般的に、コーディングしようとする現ブロックと隣接ブロックとは、類似する映像特性を有することができる。したがって、上記現ブロックと上記隣接ブロックとは、互いに同じまたは類似するイントラ予測モードを有する確率が高くて、上記現ブロックに適用されるイントラ予測モードを導出するために上記隣接ブロックのイントラ予測モードに基づいて上記現ブロックのMPMリストが決定されることができる。すなわち、例えば、上記MPMリストは、隣接ブロックのイントラ予測モードをMPM候補に含むことができる。
【0088】
上記現ブロックのMPMリストを構成するために使われる上記現ブロックの隣接ブロックは、下記のように示すことができる。
【0089】
図10は、上記現ブロックの隣接ブロックを例示的に示す。
図10を参照すると、上記現ブロックの上記隣接ブロックは、左側隣接ブロック、上側隣接ブロック、左下側隣接ブロック、右上側隣接ブロックおよび/または左上側隣接ブロックを含むことができる。ここで、上記現ブロックのサイズがW×Hであり、現ブロックの左上端(top-left)サンプル位置のx成分が0およびy成分が0である場合、上記左側隣接ブロックは(-1,H-1)座標のサンプルを含むブロックであり、上記上側隣接ブロックは(W-1,-1)座標のサンプルを含むブロックであり、上記右上側隣接ブロックは(W,-1)座標のサンプルを含むブロックであり、上記左下側隣接ブロックは(-1,H)座標のサンプルを含むブロックであり、上記左上側隣接ブロックは(-1,-1)座標のサンプルを含むブロックである。
【0090】
一方、本実施例では、イントラ予測が適用される場合、効率的にMPMリストを生成する方法を提案する。本実施例では、既存のイントラ予測モードと線形補間イントラ予測(linear interpolation intra prediction、LIP)モードとが共に使われる場合を説明する。より多くのイントラ予測符号化技術が共に使われても同じ方法で拡張されることができる。
【0091】
図11は、上記現ブロックの隣接ブロックのうち、既存のイントラ予測モードでエンコードされた隣接ブロックとLIPモードでエンコードされた隣接ブロックとを例示的に示す。
【0092】
図11を参照すると、上記現ブロックの上記隣接ブロックは、左側隣接ブロック(L)、上側隣接ブロック(A)、左下側隣接ブロック(BL)、右上側隣接ブロック(AR)および/または左上側隣接ブロック(AL)を含むことができる。また、
図11を参照すると、上側隣接ブロック(A)、左上側隣接ブロック(AL)、右上側隣接ブロック(AR)は、既存のイントラ予測を使用したエンコーディング(Conventional intra coding、Con.Intra)方法を介してエンコードされることができ、左側隣接ブロック(L)、左下側隣接ブロック(BL)は、上記LIPイントラ予測を使用した符号化(linear interpolation intra prediction、LIP)方法を介してエンコードされることができる。
【0093】
本発明は、現ブロックが既存のイントラ予測エンコード方法を使用してエンコードされる場合、MPMリスト生成時、隣接ブロックのうち、既存のイントラ予測エンコード方法を使用してエンコードされたブロックを優先してMPMリストを生成することができる。それに対し、現ブロックがLIPイントラ予測エンコード方法を使用してエンコードされる場合、MPMリスト生成時、隣接ブロックのうち、LIPイントラ予測エンコード方法を使用してエンコードされたブロックを優先してMPMリストを生成する方式を提案する。
【0094】
例えば、現ブロックが既存のイントラ予測エンコード方法を使用してエンコードされる場合、上記現ブロックのMPMリストは、下記のように構成されることができる。
【0095】
一例として、下記のように隣接ブロックの符号化情報を優先してMPMリストが生成されることができる。
【0096】
1ステップ:既存のMPMリスト生成順序通りに隣接ブロックを探索しながら、隣接ブロックのうち、既存のイントラ予測エンコード方法を使用してエンコードされたブロック(すなわち、上記ブロックのイントラ予測モード)を先にMPMリストに追加
【0097】
2ステップ:再びMPMリスト生成順序通りに隣接ブロックを探索しながらLIPイントラ予測エンコード方法を使用してエンコードされたブロック(すなわち、上記ブロックのイントラ予測モード)を再びMPMリストに追加
【0098】
3ステップ:MPMリスト内に方向性を有するモード(Planar、DCモードを除外)を順次探索しながら該当モードに-1、+1したモードをMPMリスト内に追加
【0099】
4ステップ:デフォルトモードをMPMリストに追加
【0100】
一方、前述した過程中に重複するモードがある、または該当ブロックで予測モードを使用することができない場合、MPMリストに追加せずに次のブロックが探索されることができる。また、6個のMPM候補が生成された場合、MPMリスト生成過程が終了されることができる。前述した過程によるMPM候補導出のための探索順序は、下記の通りである。
【0101】
MPMリスト:A→Planar→DC→AR→AL→L→BL→(A、AR、AL、L、BLモードに対して-1、+1モード生成過程)→デフォルトモードを追加
【0102】
また、一例として、下記のように、隣接ブロックのエンコーディング情報だけでなく、MPMリスト生成時に追加される全てのモード情報を優先してMPMリストが生成されることができる。
【0103】
1ステップ:既存のMPMリスト生成順序通りに隣接ブロックを探索しながら、隣接ブロックのうち、既存のイントラ予測エンコード方法を使用してエンコードされたブロック(すなわち、上記ブロックのイントラ予測モード)を先にMPMリストに追加
【0104】
2ステップ:次のMPMリスト内に生成された方向性を有するモードを順次探索しながら該当モードに-1、+1したモードをMPMリスト内に追加
【0105】
3ステップ:再び隣接ブロックを探索しながらLIPイントラ予測方法に符号化されたブロックのモード情報をMPMリストに追加
【0106】
4ステップ:MPMリスト内に追加で生成されたモード(線形補間画面内の予測方法に追加されたモード)に対して-1、+1したモードをMPMリスト内に追加
【0107】
5ステップ:デフォルトモードをMPMリストに追加
【0108】
一方、前述した過程中に重複するモードがある、または該当ブロックで予測モードを使用することができない場合、MPMリストに追加せずに次のブロックが探索されることができる。また、6個のMPM候補が生成された場合、MPMリスト生成過程が終了されることができる。前述した過程によるMPM候補導出のための探索順序は、下記の通りである。
【0109】
MPMリスト:A→Planar→DC→AR→AL→(A、AR、ALモードに対して-1、+1モード生成過程)→L→BL→(L、BLモードに対して-1、+1モード生成過程)→デフォルトモードを追加
【0110】
また、例えば、現ブロックがLIPイントラ予測エンコード方法を使用してエンコードされる場合、上記現ブロックのMPMリストは、下記のように構成されることができる。前述した場合とは異なり、LIPイントラ予測モードを優先してMPMリストを生成する。
【0111】
一例として、下記のように隣接ブロックの符号化情報を優先してMPMリストが生成されることができる。
【0112】
1ステップ:既存のMPMリスト生成順序通りに隣接ブロックを探索しながら、隣接ブロックのうち、既存のLIPイントラ予測エンコード方法を使用してエンコードされたブロック(すなわち、上記ブロックのイントラ予測モード)を先にMPMリストに追加
【0113】
2ステップ:再びMPMリスト生成順序通りに隣接ブロックを探索しながら,LIPイントラ予測エンコード方法を使用してエンコードされたブロックを再びMPMリストに追加
【0114】
3ステップ:MPMリスト内に方向性を有するモード(Planar、DCモード除外)を順次探索しながら該当モードに-1、+1したモードをMPMリスト内に追加
【0115】
4ステップ:デフォルトモードをMPMリストに追加
【0116】
一方、前述した過程中に重複するモードがある、または該当ブロックで予測モードを使用することができない場合、MPMリストに追加せずに次のブロックが探索されることができる。また、6個のMPM候補が生成された場合、MPMリスト生成過程が終了されることができる。前述した過程によるMPM候補導出のための探索順序は、下記の通りである。
【0117】
MPMリスト:A→Planar→DC→AR→AL→L→BL→(A、AR、AL、l、BLモードに対して-1、+1モード生成過程)→デフォルトモードを追加
【0118】
また、一例として、下記のように、隣接ブロックのエンコーディング情報だけでなく、MPMリスト生成時に追加される全てのモード情報を優先してMPMリストが生成されることができる。
【0119】
1ステップ:既存のMPMリスト生成順序通りに隣接ブロックを探索しながら、隣接ブロックのうち、LIPイントラ予測エンコード方法を使用してエンコードされたブロック(すなわち、上記ブロックのイントラ予測モード)を先にMPMリストに追加
【0120】
2ステップ:MPMリスト内に生成された方向性を有するモードを順次探索しながら該当モードに-1、+1したモードをMPMリスト内に追加
【0121】
3ステップ:そして、再び隣接ブロックを探索しながら既存のイントラ予測方法でエンコードされたブロックのモード情報をMPMリストに追加
【0122】
4ステップ:MPMリスト内に追加で生成されたモード(既存のイントラ予測方法で追加されたモード)に対して-1、+1したモードをMPMリスト内に追加
【0123】
5ステップ:デフォルトモードをMPMリストに追加
【0124】
一方、前述した過程中に重複するモードがある、または該当ブロックで予測モードを使用することができない場合、MPMリストに追加せずに次のブロックが探索されることができる。また、6個のMPM候補が生成された場合、MPMリスト生成過程が終了されることができる。前述した過程によるMPM候補導出のための探索順序は、下記の通りである。
【0125】
MPMリスト:A→Planar→DC→AR→AL→(A、AR、ALモードに対して-1、+1モード生成過程)→L→BL→(L、BLモードに対して-1、+1モード生成過程)→デフォルトモードを追加
【0126】
前述のように、既存のイントラ予測エンコーディングおよびLIPイントラ予測エンコーディングが使われる場合に対するMPMリスト生成方法が提案されることができる。また、他のイントラ予測エンコード方法が適用されても前述した方法でMPMリストが生成されることができる。すなわち、現ブロックがエンコードされている予測方法と同じ予測方法でエンコードされた隣接ブロックを優先してMPMリストが生成されることができる。
【0127】
また、前述したMPMリスト生成方法でMPMリスト内の候補モード(すなわち、MPM候補)の個数は、イントラ予測モードの数によって可変に決まることができ、上記候補モード生成のための隣接ブロックの位置は、ランダム(任意)に(randomly)決定されることができる。あるいは、探索する隣接ブロックの個数および探索順序もランダムに決定されることができる。また、MPMリスト内の候補モードの個数によって上記デフォルトモードの個数が可変に決まることができる。また、デフォルトモードセットに決定されるモードがランダムに決定されることができる。
【0128】
デコード装置は、上記現ブロックのMPMリストを構成することができ、上記MPMリストのMPM候補のうちのMPMインデックスが指すMPM候補を、上記現ブロックのイントラ予測モードとして導出することができる。上記MPM候補のうちの一つが上記現ブロックに対する最適なイントラ予測モードである場合、MPMインデックスをシグナリングすることでオーバーヘッドが最小になることができる。上記MPM候補を指すインデックスは、トランケートされた単進符号(ユーナリコード)(truncated unary code)でコーディングされることができる。すなわち、上記MPMインデックスは、トランケートされた単進符号(Truncated Unary code)を使用して二進化されることができる。トランケートされた単進符号を介して二進化された上記MPMインデックスの値は、以下の表のように示すことができる。
【0129】
【0130】
表2を参照すると、上記MPMインデックスは、示す値によって1個ないし5個のBINの二進値(binary value)として導出されることができる。トランケートされた単進符号を介して二進化された上記MPMインデックスの値が小さいほど二進値のBINが少ないため、MPM候補の順序がビット量を減らすときに重要である。また、上記トランケートされた単進符号は、トランケートされたライスコード(Truncated Rice code)と示すこともできる。
【0131】
例えば、上記現ブロックのMPM(Most Probable Mode)リストは、6個のMPM候補を含むことができ、上記MPM候補は、左側隣接ブロックのイントラ予測モード、上側隣接ブロックのイントラ予測モード、平面イントラ予測モード、DCイントラ予測モード、左下側隣接ブロックのイントラ予測モード、右上側隣接ブロックのイントラ予測モード、左上側隣接ブロックのイントラ予測モードの順に構成されることができる。一方、上記現ブロックに対する最適なイントラ予測モードが上記MPMリストに含まれない場合、MPMフラグは、例外を表示するようにシグナリングされることができる。すなわち、上記MPMフラグは、上記現ブロックに適用されるイントラ予測モードが上記MPM候補に含まれるか、または上記MPM候補に含まれない残りのイントラ予測モードに含まれるかを示すことができる。具体的には、上記MPMフラグの値が1である場合、上記MPMフラグは、上記現ブロックのイントラ予測モードがMPM候補(MPMリスト)に含まれることを示すことができ、上記MPMフラグの値が0である場合、上記MPMフラグは、上記現ブロックに対するイントラ予測モードがMPM候補(MPMリスト)に含まれずに上記残りのイントラ予測モードに含まれることを示すことができる。
【0132】
一方、上記現ブロックに対する最適なイントラ予測モード、すなわち、上記現ブロックに適用されるイントラ予測モードを示すインデックスは、可変長コーディング(variable length coding)または固定長コーディング(fixed length coding)を使用してコーディングされることができる。また、上記MPMリストに含まれるMPM候補の個数は、イントラ予測モードの個数に基づいて決定されることができる。例えば、イントラ予測モードの個数が増加するにつれて上記MPM候補の個数が増加する場合もあるが、そうでない場合もある。例えば、上記MPMリストは、3個のMPM候補、5個の候補または6個のMPM候補を含むことができる。
【0133】
一方、前述した内容のように、上記現ブロックに適用されるイントラ予測モードを示すインデックスは、可変長コーディング(variable length coding)または固定長コーディング(fixed length coding)を使用してコーディングされることができる。ここで、上記インデックスが可変長コーディングでコーディングされる場合、早い(先)順序のイントラ予測モード(すなわち、上記インデックスの値が小さいケースに該当するイントラ予測モード)が選択される確率が高いほど、映像のイントラ予測モードを示す予測モード情報のビット量を減らすことができ、固定長コーディングが使われる場合よりコーディング効率が向上することができる。
【0134】
上記可変長コーディングとして、トランケートされたバイナリコーディングが使われることができる。
【0135】
例えば、全u個のシンボルが上記トランケートされたバイナリコーディングでコーディングされる場合、1番目のl個のシンボルは、kビットが使われてコーディングされることができ、u-l個のシンボル、すなわち、上記全u個のシンボルから上記l個のシンボルを除外したシンボルは、k+1ビットが使われてコーディングされることができる。ここで、上記1番目のl個のシンボルは、早い順序のl個のシンボルを示すことができる。一方、上記シンボルは、情報が示すことができる値である。
【0136】
ここで、上記kは、以下の数式のように導出されることができる。
【0137】
【0138】
また、上記lは、以下の数式のように導出されることができる。
【0139】
【0140】
例えば、上記トランケートされたバイナリコーディングが使われるシンボルの個数によるkおよびlは、以下の表のように導出されることができる。
【0141】
【0142】
また、例えば、全シンボルの個数が61である場合(u=61)、上記トランケートされたバイナリコーディングによる各シンボルに対する二進値は、以下の表のように導出されることができる。
【0143】
【0144】
表4を参照すると、全シンボルの個数が61個(すなわち、cMax+1)である場合、上記kは、5として導出されることができ、上記lは、3として導出されることができる。したがって、シンボル0ないし2は、5個のビット数を有する二進値でコーディングされることができ、残りのシンボルは、6(すなわち、k+1)個のビット数を有する二進値でコーディングされることができる。
【0145】
一方、上記シンボルは、イントラ予測モードリストのインデックスを示すことができる。すなわち、上記シンボルは、特定順序のイントラ予測モードのインデックスを示すことができる。例えば、上記イントラ予測モードリストは、下記のようにモード番号が増加する順に構成されたリストである。
【0146】
{0,1,2,...,64,65,66}
【0147】
あるいは、例えば、上記イントラ予測モードリストは、下記のように予め定義(既定義)された(pre-defined)順に構成されたリストである。
【0148】
{66,50,34,...,2,18}
【0149】
本発明は、前述したトランケートされたバイナリコーディングを使用してイントラ予測モードを示すための情報をコーディングする方式を提案する。
【0150】
図12は、MPM候補および残りのイントラ予測モードを含むn個のイントラ予測モードを示すための情報をコーディングする方法を例示的に示す。
【0151】
図12を参照すると、エンコード装置は、m個のMPM候補を含むMPMリストを構成する(S1200)。この後、エンコード装置は、予め定義されたイントラ予測モードリストから上記MPM候補を除去することができる(S1210)。この後、上記(n-m)個の残りのイントラ予測モードを示すインデックスを、上記トランケートされたバイナリコードを使用してコーディングすることができる(S1220)。すなわち、上記(n-m)個の残りのイントラ予測モードのうちの一つを示すインデックスを、上記トランケートされたバイナリコードを使用してコーディングすることができる。例えば、上記インデックスの値がNである場合、上記リメイニングイントラ予測モード情報は、上記(n-m)個の残りのイントラ予測モードでN+1番目のイントラ予測モードを指すことができる。前述した内容のように、上記(n-m)個の残りのイントラ予測モードを示すインデックスは、上記トランケートされたバイナリコードでコーディングされることができる。すなわち、例えば、上記インデックスの値がNである場合、上記インデックスは、上記トランケートされたバイナリコードで上記Nに対応する二進値に二進化されることができる。
【0152】
一方、上記イントラ予測モードリストは、イントラモードマップ(intra mode map)として示すこともできる。上記イントラモードマップは、全u個のイントラ予測モードの予め定義された(pre-defined)順序を示すことができる。すなわち、上記イントラモードマップは、予め設定(既設定)された順序のイントラ予測モードからMPM候補を除外したイントラ予測モードを示すことができる。全イントラ予測モードから上記m個のMPM候補を除外した残りのイントラ予測モードは、上記イントラモードマップによる順序(すなわち、予め設定された順序)で上記インデックスのシンボルにマッピングされることができる。例えば、上記m個のMPM候補を除外したイントラ予測モードのうち、上記イントラモードマップで1番目の順序であるイントラ予測モードのインデックスは0であり、n番目の順序であるイントラ予測モードのインデックスはn-1である。
【0153】
また、トランケートされたバイナリコードの1番目のl個のシンボルが残りのシンボルより小さいビット数を使用し、一例として、レート歪最適化(Rate-Distortion Optimization、RDO)プロセスで最適なイントラ予測モードとして選択される確率が高いイントラ予測モードが早い順序に含まれるイントラモードマップが提案されることができる。例えば、上記イントラモードマップは、下記の通りである。すなわち、上記予め設定された順序のイントラ予測モードは、下記の通りである。
【0154】
{0,1,50,18,49,10,12,19,11,34,2,17,54,33,46,51,35,15,13,45,22,14,66,21,47,48,23,53,58,16,42,20,24,44,26,43,55,52,37,29,39,41,25,9,38,56,30,36,32,28,62,27,40,8,3,7,57,6,31,4,65,64,5,59,60,61,63}
【0155】
例えば、イントラ予測モードの個数が67個であり、MPM候補の個数が6個である場合(すなわち、6個のMPMモードが使われる場合)、61個の残りのイントラ予測モードは、トランケートされたバイナリコードを使用してコーディングされることができる。すなわち、上記残りのイントラ予測モードに対するインデックスは、上記トランケートされたバイナリコードに基づいてコーディングされることができる。上記6個のMPM候補が導出された場合、上記イントラモードマップは、上記6個のMPM候補を除外して整列されることができる。すなわち、上記イントラモードマップは、予め設定された順序のイントラ予測モードからMPM候補を除外したイントラ予測モードを示すことができる。この後、ビット量を減らすために、早い順序のl個(61であるuに対するlは3)のイントラ予測モード、すなわち、上記残りのイントラ予測モードのうち、上記イントラモードマップで早い順序の3個のイントラ予測モードは、kビット(61であるuに対するkは5)である00000、00001、および00010でコーディングされることができる。すなわち、上記61個の残りのイントラ予測モードのうち、上記イントラモードマップによる1番目のイントラ予測モードのインデックスは00000の二進値、2番目のイントラ予測モードのインデックスは00001の二進値、3番目のイントラ予測モードのインデックスは00010の二進値でコーディングされることができる。また、上記3個のイントラ予測モード以外の58個のイントラ予測モードは、000100、000101のような6ビットのトランケートされたバイナリコードでコーディングされることができる。すなわち、上記3個のイントラ予測モード以外の58個のイントラ予測モードのインデックスは、000100、000101のような6ビットの二進値でコーディングされることができる。
【0156】
本発明は、上記トランケートされたバイナリコーディングを使用してイントラ予測モードを示すための情報をコーディングする他の実施例も提案する。
【0157】
図13は、MPM候補および残りのイントラ予測モードを含むn個のイントラ予測モードを示すための情報をコーディングする方法を例示的に示す。
【0158】
図13を参照すると、エンコード装置は、m個のMPM候補を含むMPMリストを構成する(S1300)。この後、エンコード装置は、上記MPM候補のうちの方向性イントラ予測モードのオフセットをTBCリストに含めることができる(S1310)。例えば、上記MPM候補である方向性イントラ予測モードがn番イントラ予測モードである場合、上記nにオフセットを合わせたn+offset番イントラ予測モードが導出されることができ、上記n+offset番イントラ予測モードを含むTBCリストが構成されることができる。ここで、上記オフセットは、-1、+1、-2、+2、...、-4、+4から始まることができる。この後、上記(n-m)個の残りのイントラ予測モードを示すインデックスを上記トランケートされたバイナリコードを使用してコーディングすることができる(S1320)。前述した内容のように、上記(n-m)個の残りのイントラ予測モードを示すインデックスは、上記トランケートされたバイナリコードでコーディングされることができる。
【0159】
例えば、イントラ予測モードの個数が67個であり、MPM候補の個数が6個である場合、61個の残りのイントラ予測モードは、トランケートされたバイナリコードを使用してコーディングされることができる。すなわち、上記残りのイントラ予測モードに対するインデックスは、上記トランケートされたバイナリコードに基づいてコーディングされることができる。例えば、上記MPMリストに含まれている6個のMPM候補が{50,8,0,1,66,54}である場合、上記TBCリストは、{49,51,7,9,65,53,55,,}で構成されることができる。具体的には、上記MPM候補のうちの方向性イントラ予測モードは、50番イントラ予測モード、8番イントラ予測モード、66番イントラ予測モード、54番イントラ予測モードであり、上記50番イントラ予測モード、上記8番イントラ予測モード、上記66番イントラ予測モード、および上記54番イントラ予測モードとオフセットとに基づいて導出されたイントラ予測モードが上記TBCリストに追加されることができる。
【0160】
この後、ビット量を減らすために、早い順序のl個(61であるuに対するlは3)のイントラ予測モード、すなわち、上記残りのイントラ予測モードのうち、上記TBCリストで早い順序の3個のイントラ予測モードは、kビット(61であるuに対するkは5)である00000、00001、および00010でコーディングされることができる。すなわち、上記TBCリストで1番目のイントラ予測モードである49番イントラ予測モードのインデックスは00000の二進値、2番目のイントラ予測モードである51番イントラ予測モードのインデックスは00001の二進値、3番目のイントラ予測モードである7番イントラ予測モードのインデックスは00010の二進値でコーディングされることができる。また、上記3個のイントラ予測モード以外の58個のイントラ予測モードは、000100、000101のような6ビットのトランケートされたバイナリコードでコーディングされることができる。すなわち、上記3個のイントラ予測モード以外の58個のイントラ予測モードのインデックスは、000100、000101のような6ビットの二進値でコーディングされることができる。
【0161】
一方、上記MPMインデックスは、mpm_idx[x0+i][y0+j](または、mpm_idx)シンタックス要素の形態でシグナリングされることができ、上記リメイニングイントラ予測モード情報は、rem_intra_luma_pred_mode[x0+i][y0+j](または、rem_intra_luma_pred_mode)シンタックス要素の形態でシグナリングされることができる。あるいは、上記MPMインデックスは、intra_luma_mpm_idx[xCb][yCb]シンタックス要素の形態でシグナリングされることができ、上記リメイニングイントラ予測モード情報は、intra_luma_mpm_remainder[xCb][yCb]シンタックス要素の形態でシグナリングされることができる。ここで、上記MPMインデックスは、上記MPM候補のうちの一つを指すことができ、上記リメイニングイントラ予測モード情報は、上記MPM候補以外の残りのイントラ予測モードのうちの一つを指すことができる。また、アレイインデックス(array indices)(x0+i、y0+i)は、ピクチャの左上端ルマサンプルを基準とする予測ブロックの左上端ルマサンプルの位置(x0+i,y0+i)を指すことができる。また、アレイインデックス(array indices)(xCb,yCb)は、ピクチャの左上端ルマサンプルを基準とする予測ブロックの左上端ルマサンプルの位置(xCb,yCb)を指すことができる。
【0162】
また、リメイニングモードコーディング(remaining mode coding)のための二進化(binarization)は、cMax値が(num_intra_mode-mpm_idx)と同じトランケートされたバイナリ(Truncated Binary、TB)二進化プロセス(binarization process)を呼び出す(invoking)ことで導出されることができる。すなわち、リメイニングモードコーディング(remaining mode coding)のための二進化(binarization)は、cMax値が全イントラ予測モードの個数からMPM候補の個数を引いた値であるトランケートされたバイナリ二進化プロセスで実行されることができる。ここで、上記num_intra_modeは、全イントラ予測モードの個数を示すことができ、上記mpm_idxは、MPM候補の個数を示すことができる。また、例えば、上記cMaxは、60に予め設定されることができる。あるいは、上記cMaxは、全イントラ予測モードの個数からMPM候補の個数を引いた値に予め設定されることができ、または、上記cMaxは、全イントラ予測モードの個数からMPM候補の個数を引いた値から1を引いた値に予め設定されることができる。
【0163】
具体的には、上記トランケートされたバイナリ二進化プロセスは、下記のように実行されることができる。
【0164】
上記プロセスの入力(input)は、synVal値およびcMax値を有するシンタックスエレメント(syntax element)に対するTB二進化に対する要求(request)である。ここで、上記synValは、上記シンタックスエレメントの値を示すことができ、上記cMaxは、上記シンタックスエレメントが示すことができる最大値を示すことができる。また、上記プロセスの出力(output)は、上記シンタックスエレメントのTB二進化である。シンタックスエレメントsynValのTB二進化プロセスのBINストリング(bin string)は、後述のように指定されることができる。
【0165】
【0166】
ここで、上記cMaxが0である場合、シンタックスエレメントのTB二進化は、ヌル(NULL)BINストリングである。
【0167】
また、上記cMaxが0でなく、上記synValがuより小さい場合、TB BINストリングは、kに設定された入力symbolValおよびcMaXを有するsynValに対する固定長(Fixed Length、FL)二進化プロセスを呼び出して導出されることができる。すなわち、上記cMaxが0でなく、上記synValがuより小さい場合、TB BINストリングは、kに設定された入力symbolValおよびkに設定されたcMaXを有するsynValに対するFL二進化プロセスに基づいて導出されることができる。後述する固定長二進化プロセスにおける二進値の長さ、すなわち、ビット数を導出する数式4によると、上記kに設定されたcMaXに対してビット数は、kとして導出されることができる。したがって、上記synValがuより小さい場合、上記synValに対するkビットの二進値が導出されることができる。
【0168】
また、上記cMaxが0でなく、上記synValがuより大きいまたは同じ場合、TB BINストリングは、(k+1)に設定された入力symbolValおよびcMaXを有するsynVal+uに対する固定長(Fixed Length、FL)二進化プロセスを呼び出して導出されることができる。すなわち、上記cMaxが0でなく、上記synValがuより大きいまたは同じ場合、TB BINストリングは、(k+1)に設定された入力symbolValおよび(k+1)に設定されたcMaXを有するsynVal+uに対するFL二進化プロセスに基づいて導出されることができる。後述する固定長二進化プロセスにおける二進値の長さ、すなわち、ビット数を導出する数式4によると、上記(k+1)に設定されたcMaXに対してビット数は、(k+1)として導出されることができる。したがって、上記synValがuより大きいまたは同じ場合、上記synValに対する(k+1)ビットの二進値が導出されることができる。
【0169】
また、他の例として、リメイニングモードコーディング(remaining mode coding)のための二進化(binarization)は、cMax値が(num_intra_mode-mpm_idx-1)と同じ固定長(Fixed Length、FL)二進化プロセス(binarization process)を呼び出す(invoking)ことで導出されることができる。すなわち、リメイニングモードコーディング(remaining mode coding)のための二進化(binarization)は、cMax値が全イントラ予測モードの個数からMPM候補の個数を引いた値から1を引いた値であるFL二進化プロセスで実行されることができる。ここで、上記num_intra_modeは、全イントラ予測モードの個数を示すことができ、上記mpm_idxは、MPM候補の個数を示すことができる。
【0170】
具体的には、上記FL二進化プロセスは、下記のように実行されることができる。
【0171】
上記プロセスの入力(input)は、cMaxおよびFL二進化に対する要求(request)である。また、上記プロセスの出力(output)は、各symbolVal値を対応BINストリング(bin string)と関連させるFL二進化である。
【0172】
FL二進化は、シンボル値symbolValの固定長ビットである符号無し(unsigned)整数(インティジャ)BINストリング(integer bin string)を使用して構成されることができる。
【0173】
ここで、上記固定長は、以下の数式のように導出されることができる。
【0174】
【0175】
ここで、上記fixedLengthは、上記固定長を示すことができる。
【0176】
上記FL二進化のためのBINのインデクシング(indexing)は、binIdx=0が最も重要なビットと関連することができ、binIdx値が増加するほど重要でないビットと関連し、binIdx値が最も大きい場合が最も重要でないビットに関連することができる。
【0177】
前述した内容に対してリメイニングイントラ予測モード情報は、TR二進化プロセスまたはFL二進化プロセスで二進化されてコーディングされることができる。
【0178】
例えば、上記MPMフラグ、上記MPMインデックス、およびリメイニングイントラ予測モード情報は、以下の表のように二進化されることができる。
【0179】
【0180】
ここで、prev_intra_luma_pred_flag[][]は、上記MPMフラグを示すシンタックスエレメントであり、rem_intra_luma_pred_mode[][]は、上記リメイニングイントラ予測モード情報を示すシンタックスエレメントであり、mpm_idx[][]は、上記MPMインデックスを示すシンタックスエレメントである。前述した表5を参照すると、上記MPMフラグは、FL二進化プロセスで二進化されることができ、上記FL二進化プロセスの入力パラメータであるcMaxは、1に予め設定されることができる。また、前述した表5を参照すると、上記リメイニングイントラ予測モード情報は、FL二進化プロセスで二進化されることができ、上記FL二進化プロセスの入力パラメータであるcMaxは、全イントラ予測モードの個数からMPM候補の個数を引いた値である。例えば、全イントラ予測モードの個数が67個であり、MPM候補の個数が6個である場合、61個の残りの(remaining)イントラ予測モードを0から60まで考慮すると(すなわち、上記残りのイントラ予測モードを指すインデックス値が0ないし60である場合)、上記cMaxは60である。他の一例として、上記61個の残りのイントラ予測モードを1から61まで考慮すると(すなわち、上記残りのイントラ予測モードを指すインデックス値が1ないし61である場合)、上記cMaxは61である。一方、例えば、上記MPM候補の個数は、3個である場合もある。また、前述した表5を参照すると、上記MPMインデックスは、トランケートされたライス(Truncated Rice、TR)二進化プロセスで二進化されることができ、上記TR二進化プロセスの入力パラメータであるcMaxは、MPM候補の個数から1を引いた値であり、cRiceParamは0である。例えば、MPM候補の個数が6個である場合、上記cMaxは5である。一方、例えば、上記MPM候補の個数が3個である場合もある。
【0181】
あるいは、例えば、上記MPMインデックスおよびリメイニングイントラ予測モード情報は、以下の表のように二進化されることができる。
【0182】
【0183】
ここで、rem_intra_luma_pred_mode[][]は、上記リメイニングイントラ予測モード情報を示すシンタックスエレメントであり、mpm_idx[][]は、上記MPMインデックスを示すシンタックスエレメントである。前述した表5を参照すると、上記リメイニングイントラ予測モード情報は、TB二進化プロセスで二進化されることができ、上記TB二進化プロセスの入力パラメータであるcMaxは、全イントラ予測モードの個数からMPM候補の個数を引いた値から1を引いた値である。例えば、全イントラ予測モードの個数が67個であり、MPM候補の個数が6個である場合、上記cMaxは60である。すなわち、例えば、上記cMaxは、60に予め設定されることができる。例えば、全イントラ予測モードの個数が67個であり、MPM候補の個数が6個である場合、61個の残りの(remaining)イントラ予測モードを0から60まで考慮すると(すなわち、上記残りのイントラ予測モードを指すインデックス値が0ないし60である場合)、上記cMaxは60である。他の一例として、上記61個の残りのイントラ予測モードを1から61まで考慮すると(すなわち、上記残りのイントラ予測モードを指すインデックス値が1ないし61である場合)、上記cMaxは61である。すなわち、上記cMaxは、上記リメイニングイントラ予測モード情報が示すことができる最大値である。一方、例えば、上記MPM候補の個数は、3個である場合もある。また、前述した表6を参照すると、上記MPMインデックスは、トランケートされたライス(Truncated Rice、TR)二進化プロセスで二進化されることができ、上記TR二進化プロセスの入力パラメータであるcMaxは、MPM候補の個数から1を引いた値であり、cRiceParamは0である。例えば、MPM候補の個数が6個である場合、上記cMaxは5である。一方、例えば、上記MPM候補の個数が3個である場合もある。
【0184】
一方、一例として、上記MPMインデックスは、コンテキストモデルに基づいてエンコード/デコードされることができる。本発明は、コンテキストモデルに基づいて上記MPMインデックスをエンコード/デコードする方法と関連して、上記コンテキストモデルをイントラ予測モードに基づいて導出する方式を提案する。
【0185】
例えば、上記MPMインデックスに対するコンテキストモデルの割り当て(assignment)は、下記の表の通りである。
【0186】
【0187】
ここで、例えば、NUM_INTRA_MODEは、上記MPMリストに含まれているM番目のMPM候補が示すイントラ予測モードの番号を示すことができる。すなわち、上記M番目のMPM候補がN番イントラ予測モードである場合、上記NUM_INTRA_MODEは、Nを示すことができる。また、mpmCtxは、上記MPMインデックスに対する上記コンテキストモデルを示すことができる。この場合、上記MPMリストに含まれているM番目のMPM候補に基づいてMPMインデックスのM番目のBINに対するコンテキストモデル(context model)が導出されることができる。ここで、上記Mは3以下である。
【0188】
例えば、現ブロックに対するイントラ予測モード情報における1番目のBINに対するコンテキストモデルは、上記MPMリストに含まれている1番目の候補に基づいて導出されることができる。また、2番目のBINに対するコンテキストモデルは、上記MPMリストに含まれている2番目の候補に基づいて導出されることができ、3番目のBINに対するコンテキストモデルは、上記MPMリストに含まれている3番目の候補に基づいて導出されることができる。
【0189】
一方、イントラ予測モードの番号は、下記の表の通りである。
【0190】
【0191】
前述した表7を参照すると、上記M番目のMPM候補が示す上記イントラ予測モードの番号がDCイントラ予測モードの番号(すなわち、1)である場合または上記イントラ予測モードの番号が平面イントラ予測モード(すなわち、0)である場合、上記MPMインデックスのM番目のBINに対するコンテキストモデルは、コンテキストモデル1として導出されることができる。すなわち、上記M番目のMPM候補がDCイントラ予測モードである場合または上記M番目のMPM候補が平面イントラ予測モードである場合、上記MPMインデックスのM番目のBINに対するコンテキストモデルは、コンテキストモデル1として導出されることができる。
【0192】
また、前述した条件に該当せず、上記M番目のMPM候補が示す上記イントラ予測モードの番号が34より小さいまたは同じ場合、上記MPMインデックスのM番目のBINに対するコンテキストモデルは、コンテキストモデル2として導出されることができる。すなわち、上記M番目のMPM候補がDCイントラ予測モードおよび上記イントラ予測モードが平面イントラ予測モードでなく、上記M番目のMPM候補が2番イントラ予測モードないし34番イントラ予測モードである場合、上記MPMインデックスのM番目のBINに対するコンテキストモデルは、コンテキストモデル2として導出されることができる。
【0193】
また、前述した全ての条件に該当しない場合、上記MPMインデックスのM番目のBINに対するコンテキストモデルは、コンテキストモデル2またはコンテキストモデル3として導出されることができる。すなわち、上記M番目のMPM候補が35番イントラ予測モードないし66番イントラ予測モードである場合、上記MPMインデックスのM番目のBINに対するコンテキストモデルは、コンテキストモデル2またはコンテキストモデル3として導出されることができる。
【0194】
あるいは、他の例として、上記MPMインデックスに対するコンテキストモデルの割り当て(assignment)は、下記の表の通りである。
【0195】
【0196】
例えば、前述した表9を参照すると、上記M番目のMPM候補が示す上記イントラ予測モードの番号が平面イントラ予測モード(すなわち、0)である場合、上記MPMインデックスのM番目のBINに対するコンテキストモデルは、コンテキストモデル1として導出されることができる。すなわち、上記M番目のMPM候補が平面イントラ予測モードである場合、上記MPMインデックスのM番目のBINに対するコンテキストモデルは、コンテキストモデル1として導出されることができる。
【0197】
また、前述した条件に該当せず、上記M番目のMPM候補が示す上記イントラ予測モードの番号がDCイントラ予測モードの番号(すなわち、1)である場合、上記MPMインデックスのM番目のBINに対するコンテキストモデルは、コンテキストモデル2として導出されることができる。すなわち、上記M番目のMPM候補が平面イントラ予測モードでなく、上記M番目のMPM候補がDCイントラ予測モードである場合、上記MPMインデックスのM番目のBINに対するコンテキストモデルは、コンテキストモデル2として導出されることができる。
【0198】
また、前述した条件に該当せず、上記M番目のMPM候補が示す上記イントラ予測モードの番号が34より小さいまたは同じ場合、上記MPMインデックスのM番目のBINに対するコンテキストモデルは、コンテキストモデル3として導出されることができる。すなわち、上記M番目のMPM候補がDCイントラ予測モードおよび平面イントラ予測モードでなく、上記M番目のMPM候補が2番イントラ予測モードないし34番イントラ予測モードである場合、上記MPMインデックスのM番目のBINに対するコンテキストモデルは、コンテキストモデル3として導出されることができる。
【0199】
また、前述した全ての条件に該当しない場合、上記MPMインデックスのM番目のBINに対するコンテキストモデルは、コンテキストモデル4として導出されることができる。すなわち、上記M番目のMPM候補がDCイントラ予測モード、平面イントラ予測モード、2番イントラ予測モードないし34番イントラ予測モードでなく、35番イントラ予測モードないし66番イントラ予測モードである場合、上記MPMインデックスのM番目のBINに対するコンテキストモデルは、コンテキストモデル4として導出されることができる。
【0200】
また、例えば、上記MPMインデックスのコンテキストベースのコーディングされたBINを有するシンタックスエレメントに対するctxIncは、以下の表のように割り当てられることができる。
【0201】
【0202】
ここで、rem_intra_luma_pred_mode[][]は、リメイニングイントラ予測モード情報を示すシンタックスエレメントであり、mpm_idx[][]は、MPMインデックスを示すシンタックスエレメントである。また、binIdxは、シンタックスエレメントのBINインデックスを示すことができる。
【0203】
表10を参照すると、上記MPMインデックスのBIN0、BIN1、BIN2は、コンテキストモデルに基づいてコーディングされることができ、上記BIN0に対するctxIncは0、上記BIN1に対するctxIncは1、上記BIN2に対するctxIncは2、として導出されることができる。一方、上記MPMインデックスのBIN3およびBIN4は、バイパス(bypass)コーディングが適用されることができる。上記バイパスコーディングは、特定の確率分布を有するコンテキストモデルを適用する代わりに均一な確率分布(例えば、50:50)を適用してコーディングする方法を示すことができる。
【0204】
一方、例えば、上記MPMフラグおよび上記MPMインデックスがコンテキストモデルに基づいてコーディングされる場合、上記MPMフラグおよび上記MPMインデックスの初期化タイプ(initialization type)によるコンテキストモデルのコンテキストインデックス(ctxIdx)は、以下の表のように割り当てられることができる。
【0205】
【0206】
ここで、initTypeは、上記初期化タイプを示すことができ、prev_intra_luma_pred_flag[][]は、上記MPMフラグを示すシンタックス要素であり、mpm_idx[][]は、上記MPMインデックスを示すシンタックス要素である。また、上記ctxTableは、該当シンタックス要素のコンテキストモデルを示すコンテキストインデックスによる初期値を示す表を指すことができる。例えば、また、上記MPMフラグのコンテキストインデックスによる初期値は、後述する表13に基づいて導出されることができ、上記MPMインデックスのコンテキストインデックスによる初期値は、後述する表14に基づいて導出されることができる。
【0207】
ここで、上記初期化タイプの値は、スライスタイプおよび/またはCABACイニシャルフラグに基づいて導出されることができる。例えば、上記初期化タイプの値は、下記のように導出されることができる。
【0208】
【0209】
表12を参照すると、現ブロックが含まれている現スライスのスライスタイプがIスライス(Intra slice、I-slice)であるとき、上記初期化タイプの値は、0として導出されることができる。また、表12を参照すると、上記現スライスのスライスタイプがPスライス(Predictive slice、P-slice)であるとき、CABACイニシャルフラグの値が1である場合、上記初期化タイプの値は、2として導出されることができ、上記CABACイニシャルフラグの値が0である場合、上記初期化タイプの値は、1として導出されることができる。また、表12を参照すると、上記現スライスのスライスタイプがBスライス(Bi-predictive slice、B-slice)であるとき、CABACイニシャルフラグの値が1である場合、上記初期化タイプの値は、1として導出されることができ、上記CABACイニシャルフラグの値が0である場合、上記初期化タイプの値は、2として導出されることができる。一方、前述した表12による上記初期化タイプを導出する方法は、ビデオ/イメージコーディング標準に開示された方法である。
【0210】
再び、表11を参照すると、上記初期化タイプの値が0である場合、上記MPMフラグに対するコンテキストインデックスは、0として導出されることができ、上記初期化タイプの値が1である場合、上記MPMフラグに対するコンテキストインデックスは、1として導出されることができ、上記初期化タイプの値が2である場合、上記MPMフラグに対するコンテキストインデックスは、2として導出されることができる。上記コンテキストインデックスは、上記MPMフラグをコーディングするためのコンテキストモデルを指すことができる。したがって、上記初期化タイプの値が0である場合、上記MPMフラグに対するコンテキストモデルは、コンテキストモデル0として導出されることができ、上記初期化タイプの値が1である場合、上記MPMフラグに対するコンテキストモデルは、コンテキストモデル1として導出されることができ、上記初期化タイプの値が2である場合、上記MPMフラグに対するコンテキストモデルは、コンテキストモデル2として導出されることができる。
【0211】
また、表11を参照すると、上記初期化タイプの値が0である場合、上記MPMインデックスに対するコンテキストインデックスは、0、1または2として導出されることができ、上記初期化タイプの値が1である場合、上記MPMインデックスに対するコンテキストインデックスは、3、4または5として導出されることができ、上記初期化タイプの値が2である場合、上記MPMインデックスに対するコンテキストインデックスは、6、7または8として導出されることができる。
【0212】
一方、上記コンテキストインデックスは、ctxIncとctxIdxOffsetとの和として導出されることができる。上記ctxIdxOffsetは、初期化タイプに他のコンテキストインデックスの値のうちの最低値を示すことができる。
【0213】
例えば、前述した表10を参照すると、上記MPMインデックスの上記BIN0に対するctxIncは0、上記BIN1に対するctxIncは1、上記BIN2に対するctxIncは2、として導出されることができる。また、前述した表11を参照すると、上記初期化タイプの値が0である場合、上記MPMインデックスに対するctxIdxOffsetは、0として導出されることができ、上記初期化タイプの値が1である場合、上記MPMインデックスに対するctxIdxOffsetは、3として導出されることができ、上記初期化タイプの値が2である場合、上記MPMインデックスに対するctxIdxOffsetは、6として導出されることができる。したがって、上記初期化タイプの値が0である場合、上記MPMインデックスの上記BIN0に対するコンテキストインデックスは、0として導出され、上記MPMインデックスの上記BIN1に対するコンテキストインデックスは、1として導出され、上記MPMインデックスの上記BIN2に対するコンテキストインデックスは、2として導出されることができる。したがって、上記初期化タイプの値が0である場合、上記MPMインデックスの上記BIN0に対するコンテキストモデルは、コンテキストモデル0として導出され、上記MPMインデックスの上記BIN1に対するコンテキストモデルは、コンテキストモデル1として導出され、上記MPMインデックスの上記BIN2に対するコンテキストモデルは、コンテキストモデル2として導出されることができる。また、上記初期化タイプの値が1である場合、上記MPMインデックスの上記BIN0に対するコンテキストインデックスは3、上記MPMインデックスの上記BIN1に対するコンテキストインデックスは4、上記MPMインデックスの上記BIN2に対するコンテキストインデックスは5、として導出されることができる。したがって、上記初期化タイプの値が0である場合、上記MPMインデックスの上記BIN0に対するコンテキストモデルは、コンテキストモデル3として導出され、上記MPMインデックスの上記BIN1に対するコンテキストモデルは、コンテキストモデル4として導出され、上記MPMインデックスの上記BIN2に対するコンテキストモデルは、コンテキストモデル5として導出されることができる。また、上記初期化タイプの値が2である場合、上記MPMインデックスの上記BIN0に対するコンテキストインデックスは、6として導出され、上記MPMインデックスの上記BIN1に対するコンテキストインデックスは、7として導出され、上記MPMインデックスの上記BIN2に対するコンテキストインデックスは、8として導出されることができる。したがって、上記初期化タイプの値が0である場合、上記MPMインデックスの上記BIN0に対するコンテキストモデルは、コンテキストモデル6として導出され、上記MPMインデックスの上記BIN1に対するコンテキストモデルは、コンテキストモデル7として導出され、上記MPMインデックスの上記BIN2に対するコンテキストモデルは、コンテキストモデル8として導出されることができる。
【0214】
上記MPMフラグのコンテキストモデル、すなわち、コンテキストインデックスの値による初期値は、以下の表のように導出されることができる。
【0215】
【0216】
表13を参照すると、上記MPMフラグの上記コンテキストインデックスの値が0である場合、上記MPMフラグのコンテキストモデルの初期値は184であり、上記コンテキストインデックスの値が1である場合、上記MPMフラグのコンテキストモデルの初期値は154であり、上記コンテキストインデックスの値が2である場合、上記MPMフラグのコンテキストモデルの初期値は183である。
【0217】
また、上記MPMインデックスのコンテキストモデル、すなわち、コンテキストインデックスの値による初期値は、以下の表のように導出されることができる。
【0218】
【0219】
表14を参照すると、上記MPMインデックスの上記コンテキストインデックスの値が0ないし8のうちの一つである場合、上記MPMインデックスのコンテキストモデルの初期値は154である。
【0220】
一方、前述した表10に示すように、シンタックスエレメントに対するctxIncが割り当てられることができるが、他の例も提案されることができる。例えば、コンテキストベースのコーディングされたBINを有する上記MPMフラグ、上記MPMインデックス、および上記リメイニングイントラ予測モード情報のシンタックスエレメントに対するctxIncは、以下の表のように割り当てられることができる。
【0221】
【0222】
ここで、prev_intra_luma_pred_flag[][]は、MPMフラグを示すシンタックスエレメントであり、mpm_idx[][]は、MPMインデックスを示すシンタックスエレメントであり、rem_intra_luma_pred_mode[][]は、リメイニングイントラ予測モード情報を示すシンタックスエレメントである。また、binIdxは、シンタックスエレメントのBINインデックスを示すことができる。
【0223】
表15を参照すると、上記MPMフラグのBIN0は、コンテキストモデルに基づいてコーディングされることができ、上記BIN0に対するctxIncは、0として導出されることができる。また、表15を参照すると、上記MPMインデックスのBIN0、BIN1、BIN2は、コンテキストモデルに基づいてコーディングされることができる。例えば、上記MPMインデックスの上記BIN0に対するctxIncは0、上記BIN1に対するctxIncは1、上記BIN2に対するctxIncは2、として導出されることができる。一方、上記MPMインデックスのBIN3およびBIN4は、バイパス(bypass)コーディングが適用されることができる。上記バイパスコーディングは、特定の確率分布を有するコンテキストモデルを適用する代わりに均一な確率分布(例えば、50:50)を適用してコーディングする方法を示すことができる。
【0224】
図14は、本発明によるエンコード装置による映像エンコード方法を概略的に示す。
図14に開示された方法は、
図1に開示されたエンコード装置により実行されることができる。具体的には、例えば、
図14のS1400ないしS1430は、上記エンコード装置の予測部により実行されることができ、S1440は、上記エンコード装置のエントロピ符号化部により実行されることができる。また、図示されてはいないが、上記現ブロックに対するオリジナルサンプルおよび予測サンプルに基づいて上記現ブロックに対する残差サンプルを導出する過程は、上記エンコード装置の減算部により実行されることができ、上記残差サンプルに基づいて上記現ブロックに対する残差に関する情報を生成する過程は、上記エンコード装置の変換部により実行されることができ、上記残差に関する情報をエンコードする過程は、上記エンコード装置のエントロピ符号化部により実行されることができる。
【0225】
エンコード装置は、現ブロックの隣接サンプルを導出する(S1400)。上記隣接サンプルは、上記現ブロックの左上側コーナ隣接サンプル、上側隣接サンプル、および左側隣接サンプルを含むことができる。例えば、上記現ブロックのサイズがW×Hであり、上記現ブロックの左上端(top-left)サンプル位置のx成分が0およびy成分が0である場合、上記左側隣接サンプルは、p[-1][0]ないしp[-1][2H-1]であり、上記左上側コーナ隣接サンプルは、p[-1][-1]であり、上記上側隣接サンプルは、p[0][-1]ないしp[2W-1][-1]である。
【0226】
エンコード装置は、上記現ブロックのMPM(Most Probable Mode)候補を含むMPMリストを構成する(S1410)。ここで、一例として、上記MPMリストは、3個のMPM候補、5個のMPM候補または6個のMPM候補を含むことができる。
【0227】
例えば、エンコード装置は、上記現ブロックの隣接ブロックに基づいて上記現ブロックの上記MPMリストを構成することができ、上記MPMリストは、6個のMPM候補を含むことができる。上記隣接ブロックは、上記現ブロックの上記左側隣接ブロック、上記上側隣接ブロック、上記左下側隣接ブロック、上記右上側隣接ブロックおよび/または上記左上側隣接ブロックを含むことができる。エンコード装置は、上記現ブロックの隣接ブロックを特定順序によって探索でき、隣接ブロックのイントラ予測モードを導出された順に上記MPM候補として導出することができる。例えば、エンコード装置は、上記左側隣接ブロックのイントラ予測モード、上記上側隣接ブロックのイントラ予測モード、平面イントラ予測モード、DCイントラ予測モード、上記左下側隣接ブロックのイントラ予測モード、上記右上側隣接ブロックのイントラ予測モード、上記左上側隣接ブロックのイントラ予測モードの順序で探索してMPM候補を導出して上記現ブロックの上記MPMリストを構成することができる。一方、上記探索後、6個のMPM候補が導出されない場合、MPM候補として導出されたイントラ予測モードに基づいてMPM候補が導出されることができる。例えば、上記MPM候補として導出されたイントラ予測モードがN番イントラ予測モードである場合、エンコード装置は、上記N+1番イントラ予測モードおよび/またはN-1番イントラ予測モードを上記現ブロックのMPM候補として導出することができる。
【0228】
エンコード装置は、上記現ブロックのイントラ予測モードを決定する(S1420)。エンコード装置は、多様なイントラ予測モードを実行して最適なRDコストを有するイントラ予測モードを上記現ブロックに対するイントラ予測モードとして導出することができる。上記イントラ予測モードは、2個の非方向性イントラ予測モードおよび65個のイントラ方向性予測モードのうちの一つである。上記2個の非方向性イントラ予測モードは、イントラDCモードおよびイントラ平面モードを含むことができることは、前述した通りである。
【0229】
例えば、上記イントラ予測モードは、上記MPM候補を除外した残りのイントラ予測モードのうちの一つである。ここで、上記残りのイントラ予測モードは、全イントラ予測モードから上記MPMリストに含まれているMPM候補を除外したイントラ予測モードである。また、この場合、エンコード装置は、上記現ブロックの上記イントラ予測モードを指すリメイニング(remaining)イントラ予測モード情報をエンコードすることができる。
【0230】
また、例えば、エンコード装置は、上記MPMリストのMPM候補の中から最適なRDコストを有するMPM候補を選択することができ、上記選択されたMPM候補を上記現ブロックに対するイントラ予測モードとして決定できる。この場合、エンコード装置は、上記MPM候補の中から上記選択されたMPM候補を指すMPMインデックスをエンコードすることができる。
【0231】
エンコード装置は、上記隣接サンプルおよび上記イントラ予測モードに基づいて上記現ブロックの予測サンプルを生成する(S1430)。エンコード装置は、上記イントラ予測モードに基づいて上記現ブロックの上記隣接サンプルのうちの少なくとも一つの隣接サンプルを導出することができ、上記隣接サンプルに基づいて上記予測サンプルを生成することができる。
【0232】
エンコード装置は、上記現ブロックに対するリメイニング(remaining)イントラ予測モード情報を含む映像情報をエンコードする(S1440)。エンコード装置は、上記現ブロックに対する上記リメイニングイントラ予測モード情報を含む映像情報をビットストリーム形態で出力できる。上記リメイニングイントラ予測モード情報は、rem_intra_luma_pred_modeまたはintra_luma_mpm_remainderシンタックス要素の形態でシグナリングされることができる。
【0233】
また、一例として、上記リメイニングイントラ予測モード情報は、TB(Truncated Binary、TB)二進化(binarization)プロセスを介してコーディングされることができる。上記TB二進化プロセスに対する二進化パラメータは、予め設定されることができる。例えば、上記二進化パラメータの値は、60または61である。すなわち、一例として、上記パラメータの値は、全イントラ予測モードの個数からMPM候補の個数を引いた値から1を引いた値である。ここで、上記二進化パラメータは、前述したcMaxを示すことができる。上記二進化パラメータは、コーディングされた上記リメイニングイントラ予測モード情報の最大値を示すことができる。すなわち、上記二進化パラメータは、コーディングされた上記リメイニングイントラ予測モード情報が示すことができる最大値を示すことができる。
【0234】
前述のように、上記リメイニングイントラ予測モード情報は、TB二進化プロセスを介してコーディングされることができる。したがって、上記リメイニングイントラ予測モード情報の値が特定値より小さい場合、上記リメイニングイントラ予測モード情報は、kビットの二進値に二進化されることができる。また、上記リメイニングイントラ予測モード情報の値が特定値より大きいまたは同じ場合、上記リメイニングイントラ予測モード情報は、k+1ビットの二進値に二進化されることができる。上記特定値および上記kは、上記二進化パラメータに基づいて導出されることができる。例えば、上記特定値および上記kは、前述した数式3に基づいて導出されることができる。一例として、上記二進化パラメータの値が60である場合、上記特定値は、3として導出されることができ、上記kは、5として導出されることができる。
【0235】
一方、上記現ブロックの上記イントラ予測モードが上記残りのイントラ予測モードのうちの一つである場合、エンコード装置は、上記現ブロックに対する上記リメイニング(remaining)イントラ予測モード情報をエンコードすることができる。すなわち、上記現ブロックのイントラ予測モードが上記残りのイントラ予測モードのうちの一つである場合、上記映像情報は、上記リメイニングイントラ予測モード情報を含むことができる。上記リメイニングイントラ予測モード情報は、上記残りのイントラ予測モードのうち、上記現ブロックの上記イントラ予測モードを指すことができる。ここで、上記残りのイントラ予測モードは、上記MPMリストの上記MPM候補に含まれない残りのイントラ予測モードを示すことができる。
【0236】
また、例えば、上記映像情報は、上記現ブロックに対するMPM(Most Probable Mode)フラグを含むことができる。上記MPMフラグは、上記現ブロックの上記イントラ予測モードが上記MPM候補に含まれるか、または上記MPM候補に含まれない上記残りのイントラ予測モードに含まれるかを示すことができる。すなわち、上記MPMフラグは、上記MPM候補で上記現ブロックのイントラ予測モードが導出されるかどうかを示すことができる。具体的には、上記MPMフラグの値が1である場合、上記MPMフラグは、上記現ブロックのイントラ予測モードがMPM候補に含まれることを示すことができ、上記MPMフラグの値が0である場合、上記MPMフラグは、上記現ブロックの上記イントラ予測モードがMPM候補に含まれないこと、すなわち、上記残りのイントラ予測モードに含まれることを示すことができる。上記MPMフラグは、prev_intra_luma_pred_flagまたはintra_luma_mpm_flagシンタックス要素の形態でシグナリングされることができる。
【0237】
あるいは、上記現ブロックの上記イントラ予測モードが上記MPM候補に含まれている場合、エンコード装置は、上記MPMフラグをエンコードしないこともある。すなわち、上記現ブロックの上記イントラ予測モードが上記MPM候補に含まれている場合、上記イントラ予測情報は、上記MPMフラグを含まないこともある。
【0238】
一方、上記MPMフラグは、コンテキストモデルに基づいてコーディングされることができる。例えば、上記MPMフラグに対する上記コンテキストモデルは、上記現スライスの初期化タイプに基づいて導出されることができる。例えば、上記初期化タイプは、前述した表12のように導出されることができる。また、上記コンテキストモデルのコンテキストインデックスが0である場合、上記コンテキストモデルの初期値は184、上記コンテキストモデルのコンテキストインデックスが1である場合、上記コンテキストモデルの初期値は154、上記コンテキストモデルのコンテキストインデックスが2である場合、上記コンテキストモデルの初期値は183、として導出されることができる。
【0239】
一方、上記現ブロックのイントラ予測モードが上記MPM候補に含まれている場合、エンコード装置は、上記MPMインデックスをエンコードすることができる。すなわち、上記現ブロックのイントラ予測モードが上記MPM候補に含まれている場合、上記現ブロックのイントラ予測情報は、上記MPMインデックスを含むことができる。上記MPMインデックスは、MPMリストのMPM候補のうちの一つを指すMPMインデックスを示すことができる。上記MPMインデックスは、mpm_idxまたはintra_luma_mpm_idxシンタックス要素の形態でシグナリングされることができる。
【0240】
一方、例えば、上記MPMインデックスは、TR(Truncated Rice、TR)二進化(binarization)プロセスを介して二進化されることができる。上記TR二進化プロセスに対する二進化パラメータは、予め設定されることができる。あるいは、例えば、上記二進化パラメータの値は、MPM候補の個数から1を引いた値に設定されることができる。上記MPM候補の個数が6である場合、上記二進化パラメータは、5に設定されることができる。ここで、上記二進化パラメータは、前述したcMaxを示すことができる。上記二進化パラメータは、コーディングされる上記MPMインデックスの最大値を示すことができる。また、上記TR二進化プロセスに対するcRiceParamが0に予め設定されることができる。
【0241】
また、上記MPMインデックスは、コンテキストモデルに基づいてコーディングされることができる。
【0242】
この場合、例えば、上記MPMリストに含まれているN番目のMPM候補に基づいて、上記MPMインデックスに対するN番目のBINに対するコンテキストモデル(context model)が導出されることができる。
【0243】
上記N番目の候補に基づいて導出される上記N番目のBINに対するコンテキストモデルは、下記の通りである。
【0244】
一例として、上記N番目のMPM候補が示す上記イントラ予測モードがDCイントラ予測モードまたは平面(planar)イントラ予測モードである場合、上記N番目のBINに対する上記コンテキストモデルは、コンテキストモデル1として導出されることができ、上記N番目のMPM候補が示す上記イントラ予測モードが上記DCイントラ予測モードおよび上記平面イントラ予測モードでなく、2番イントラ予測モードないし34番イントラ予測モードである場合、上記N番目のBINに対する上記コンテキストモデルは、コンテキストモデル2として導出されることができ、上記N番目のMPM候補が示す上記イントラ予測モードが上記DCイントラ予測モード、上記平面イントラ予測モード、2番イントラ予測モードないし34番イントラ予測モードでなく、35番イントラ予測モードないし66番イントラ予測モードである場合、上記N番目のBINに対する上記コンテキストモデルは、コンテキストモデル3として導出されることができる。
【0245】
あるいは、一例として、上記N番目のMPM候補が示す上記イントラ予測モードが平面(planar)イントラ予測モードである場合、上記N番目のBINに対する上記コンテキストモデルは、コンテキストモデル1として導出されることができ、上記N番目のMPM候補が示す上記イントラ予測モードが上記平面イントラ予測モードでなく、DCイントラ予測モードである場合、上記N番目のBINに対する上記コンテキストモデルは、コンテキストモデル2として導出されることができ、上記N番目のMPM候補が示す上記イントラ予測モードが上記平面イントラ予測モードおよび上記DCイントラ予測モードでなく、2番イントラ予測モードないし34番イントラ予測モードである場合、上記N番目のBINに対する上記コンテキストモデルは、コンテキストモデル3として導出されることができ、上記N番目のMPM候補が示す上記イントラ予測モードが上記平面イントラ予測モード、上記DCイントラ予測モード、および上記2番イントラ予測モードないし34番イントラ予測モードでなく、35番イントラ予測モードないし66番イントラ予測モードである場合、上記N番目のBINに対する上記コンテキストモデルは、コンテキストモデル4として導出されることができる。
【0246】
あるいは、一例として、上記MPMインデックスの上記N番目のBINに対する上記コンテキストモデルは、上記N番目のBINのBINインデックスおよび上記現スライスの初期化タイプに基づいて導出されることができる。例えば、上記N番目のBINに対する上記コンテキストモデルのコンテキストインデックスは、ctxIncとctxIdxOffsetとの和として導出されることができる。また、上記N番目のBINのBINインデックスが0である場合、上記ctxIncは0、上記N番目のBINのBINインデックスが1である場合、上記ctxIncは1、上記N番目のBINのBINインデックスが2である場合、上記ctxIncは2、として導出されることができる。また、上記初期化タイプの値が0である場合、上記ctxIdxOffsetは0、上記初期化タイプの値が1である場合、上記ctxIdxOffsetは3、上記初期化タイプの値が2である場合、上記ctxIdxOffsetは6、として導出されることができる。一方、上記コンテキストモデルの初期値は、154として導出されることができる。
【0247】
一方、一例として、エンコード装置は、上記現ブロックに対するオリジナルサンプルおよび予測サンプルに基づいて上記現ブロックに対する残差サンプルを導出することができ、上記残差サンプルに基づいて上記現ブロックに対する残差に関する情報を生成することができ、上記残差に関する情報をエンコードすることができる。上記映像情報は、上記残差に関する情報を含むことができる。
【0248】
一方、上記ビットストリームは、ネットワークまたは(デジタル)記憶媒体を介してデコード装置に送信されることができる。ここで、ネットワークは、放送網および/または通信網などを含むことができ、デジタル記憶媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなどの多様な記憶媒体を含むことができる。
【0249】
図15は、本発明による映像エンコード方法を実行するエンコード(エンコーディング)装置を概略的に示す。
図14に開示された方法は、
図15に開示されたエンコード装置により実行されることができる。具体的には、例えば、
図15の上記エンコード装置の予測部は、
図14のS1400ないしS1430を実行することができ、
図15の上記エンコード装置のエントロピ符号化(エントロピーエンコーディング)部は、
図14のS1440を実行することができる。また、図示してはいないが、上記現ブロックに対するオリジナルサンプルおよび予測サンプルに基づいて上記現ブロックに対する残差サンプルを導出する過程は、
図15の上記エンコード装置の減算部により実行されることができ、上記残差サンプルに基づいて上記現ブロックに対する残差に関する情報を生成する過程は、
図15の上記エンコード装置の変換部により実行されることができ、上記残差に関する情報をエンコードする過程は、
図15の上記エンコード装置のエントロピ符号化部により実行されることができる。
【0250】
図16は、本発明によるデコード装置による映像デコード方法を概略的に示す。
図16に開示された方法は、
図3に開示されたデコード装置により実行されることができる。具体的には、例えば、
図16のS1600は、上記デコード装置のエントロピ復号部により実行されることができ、S1610ないしS1650は、上記デコード装置の予測部により実行されることができる。また、図示してはいないが、ビットストリームを介して現ブロックの予測に関する情報および/または残差に関する情報を取得する過程は、上記デコード装置のエントロピ復号部により実行されることができ、上記残差情報に基づいて上記現ブロックに対する上記残差サンプルを導出する過程は、上記デコード装置の逆変換部により実行されることができ、上記現ブロックの予測サンプルおよび上記残差サンプルに基づいて復元ピクチャを生成する過程は、上記デコード装置の加算部により実行されることができる。
【0251】
デコード装置は、現ブロックに対するリメイニング(remaining)イントラ予測モード情報をパージングする(S1600)。デコード装置は、ビットストリームから上記現ブロックに対する上記リメイニングイントラ予測モード情報を含む映像情報を取得することができ、上記リメイニングイントラ予測モード情報をパージングすることができる。
【0252】
例えば、上記映像情報は、上記現ブロックのMPM候補を除外した残りのイントラ予測モードのうちの一つを示す上記リメイニングイントラ予測モード情報を含むことができる。この場合、デコード装置は、上記リメイニングイントラ予測モード情報が示すイントラ予測モードを上記現ブロックのイントラ予測モードとして導出することができる。ここで、上記残りのイントラ予測モードは、上記MPMリストの上記MPM候補に含まれない残りのイントラ予測モードを示すことができる。上記リメイニングイントラ予測モード情報は、rem_intra_luma_pred_modeまたはintra_luma_mpm_remainderシンタックス要素の形態でシグナリングされることができる。
【0253】
また、一例として、上記リメイニングイントラ予測モード情報は、TB(Truncated Binary、TB)二進化(binarization)プロセスを介してコーディングされることができる。上記TB二進化プロセスに対する二進化パラメータは、予め設定されることができる。例えば、上記二進化パラメータの値は、60または61である。すなわち、一例として、上記パラメータの値は、全イントラ予測モードの個数からMPM候補の個数を引いた値から1を引いた値である。ここで、上記二進化パラメータは、前述したcMaxを示すことができる。上記二進化パラメータは、コーディングされた上記リメイニングイントラ予測モード情報の最大値を示すことができる。すなわち、上記二進化パラメータは、コーディングされた上記リメイニングイントラ予測モード情報が示すことができる最大値を示すことができる。
【0254】
前述のように、上記リメイニングイントラ予測モード情報は、TB二進化プロセスを介してコーディングされることができる。したがって、上記リメイニングイントラ予測モード情報の値が特定値より小さい場合、上記リメイニングイントラ予測モード情報は、kビットの二進値に二進化されることができる。また、上記リメイニングイントラ予測モード情報の値が特定値より大きいまたは同じ場合、上記リメイニングイントラ予測モード情報は、k+1ビットの二進値に二進化されることができる。上記特定値および上記kは、上記二進化パラメータに基づいて導出されることができる。例えば、上記特定値および上記kは、前述した数式3に基づいて導出されることができる。一例として、上記二進化パラメータの値が60である場合、上記特定値は、3として導出されることができ、上記kは、5として導出されることができる。
【0255】
一方、上記映像情報は、上記現ブロックのMPM(Most Probable Mode)フラグを含むことができる。すなわち、例えば、上記現ブロックのMPMフラグが取得されることができ、上記MPMフラグは、上記MPM候補で上記現ブロックのイントラ予測モードが導出されるかどうかを示すことができる。
【0256】
一例として、上記MPMフラグが上記MPM候補で上記現ブロックのイントラ予測モードが導出されると示す場合、すなわち、上記MPMフラグの値が1である場合、デコード装置は、ビットストリームから上記現ブロックに対するMPMインデックスを取得することができる。すなわち、上記MPMフラグの値が1である場合、上記映像情報は、上記MPMインデックスを含むことができる。あるいは、上記映像情報は、上記MPMフラグを含まず、この場合、デコード装置は、上記MPMフラグの値を1として導出することができる。上記MPMインデックスは、MPMリストのMPM候補のうちの一つを指すMPMインデックスを示すことができる。上記MPMインデックスは、mpm_idxまたはintra_luma_mpm_idxシンタックス要素の形態でシグナリングされることができる。
【0257】
また、上記MPMフラグが上記MPM候補で上記現ブロックの上記イントラ予測モードが導出されないと示す場合、すなわち、上記MPMフラグの値が0である場合、上記リメイニングイントラ予測モード情報に基づいて上記現ブロックの上記イントラ予測モードが導出されることができる。すなわち、上記MPMフラグが上記MPM候補で上記現ブロックの上記イントラ予測モードが導出されないと示す場合、デコード装置は、ビットストリームから上記現ブロックに対するリメイニング(remaining)イントラ予測モード情報をパージングすることができる。すなわち、上記MPMフラグの値が0である場合、上記映像情報は、上記残りのイントラ予測モードのうちの一つを指す上記リメイニングイントラ予測モード情報を含むことができる。
【0258】
一方、上記MPMフラグは、コンテキストモデルに基づいてコーディングされることができる。例えば、上記MPMフラグに対する上記コンテキストモデルは、上記現スライスの初期化タイプに基づいて導出されることができる。例えば、上記初期化タイプは、前述した表12のように導出されることができる。また、上記コンテキストモデルのコンテキストインデックスが0である場合、上記コンテキストモデルの初期値は184、上記コンテキストモデルのコンテキストインデックスが1である場合、上記コンテキストモデルの初期値は154として導出され、上記コンテキストモデルのコンテキストインデックスが2である場合、上記コンテキストモデルの初期値は、183として導出されることができる。
【0259】
一方、上記MPMインデックスは、TR(Truncated Rice、TR)二進化(binarization)プロセスを介して二進化されることができる。上記TR二進化プロセスに対する二進化パラメータは、予め設定されることができる。あるいは、例えば、上記二進化パラメータの値は、MPM候補の個数から1を引いた値に設定されることができる。上記MPM候補の個数が6である場合、上記二進化パラメータは、5に設定されることができる。ここで、上記二進化パラメータは、前述したcMaxを示すことができる。上記二進化パラメータは、コーディングされる上記MPMインデックスの最大値を示すことができる。また、上記TR二進化プロセスに対するcRiceParamが0に予め設定されることができる。
【0260】
また、上記MPMインデックスは、コンテキストモデルに基づいてコーディングされることができる。
【0261】
この場合、例えば、上記MPMリストに含まれているN番目のMPM候補に基づいて上記MPMインデックスに対するN番目のBINに対するコンテキストモデル(context model)が導出されることができる。
【0262】
上記N番目の候補に基づいて導出される上記N番目のBINに対するコンテキストモデルは、下記の通りである。
【0263】
一例として、上記N番目のMPM候補が示す上記イントラ予測モードがDCイントラ予測モードまたは平面(planar)イントラ予測モードである場合、上記N番目のBINに対する上記コンテキストモデルは、コンテキストモデル1として導出されることができ、上記N番目のMPM候補が示す上記イントラ予測モードが上記DCイントラ予測モードおよび上記平面イントラ予測モードでなく、2番イントラ予測モードないし34番イントラ予測モードである場合、上記N番目のBINに対する上記コンテキストモデルは、コンテキストモデル2として導出されることができ、上記N番目のMPM候補が示す上記イントラ予測モードが上記DCイントラ予測モード、上記平面イントラ予測モード、2番イントラ予測モードないし34番イントラ予測モードでなく、35番イントラ予測モードないし66番イントラ予測モードである場合、上記N番目のBINに対する上記コンテキストモデルは、コンテキストモデル3として導出されることができる。
【0264】
あるいは、一例として、上記N番目のMPM候補が示す上記イントラ予測モードが平面(planar)イントラ予測モードである場合、上記N番目のBINに対する上記コンテキストモデルは、コンテキストモデル1として導出されることができ、上記N番目のMPM候補が示す上記イントラ予測モードが上記平面イントラ予測モードでなく、DCイントラ予測モードである場合、上記N番目のBINに対する上記コンテキストモデルは、コンテキストモデル2として導出されることができ、上記N番目のMPM候補が示す上記イントラ予測モードが上記平面イントラ予測モードおよび上記DCイントラ予測モードでなく、2番イントラ予測モードないし34番イントラ予測モードである場合、上記N番目のBINに対する上記コンテキストモデルは、コンテキストモデル3として導出されることができ、上記N番目のMPM候補が示す上記イントラ予測モードが上記平面イントラ予測モード、上記DCイントラ予測モード、および上記2番イントラ予測モードないし34番イントラ予測モードでなく、35番イントラ予測モードないし66番イントラ予測モードである場合、上記N番目のBINに対する上記コンテキストモデルは、コンテキストモデル4として導出されることができる。
【0265】
あるいは、一例として、上記MPMインデックスの上記N番目のBINに対する上記コンテキストモデルは、上記N番目のBINのBINインデックスおよび上記現スライスの初期化タイプに基づいて導出されることができる。例えば、上記N番目のBINに対する上記コンテキストモデルのコンテキストインデックスは、ctxIncとctxIdxOffsetとの和として導出されることができる。また、上記N番目のBINのBINインデックスが0である場合、上記ctxIncは0、上記N番目のBINのBINインデックスが1である場合、上記ctxIncは1、上記N番目のBINのBINインデックスが2である場合、上記ctxIncは2、として導出されることができる。また、上記初期化タイプの値が0である場合、上記ctxIdxOffsetは0、上記初期化タイプの値が1である場合、上記ctxIdxOffsetは3、上記初期化タイプの値が2である場合、上記ctxIdxOffsetは6、として導出されることができる。一方、上記コンテキストモデルの初期値は154として導出されることができる。
【0266】
デコード装置は、上記現ブロックの隣接サンプルを導出する(S1610)。上記隣接サンプルは、上記現ブロックの左上側コーナ隣接サンプル、上側隣接サンプル、および左側隣接サンプルを含むことができる。例えば、上記現ブロックのサイズがW×Hであり、上記現ブロックの左上端(top-left)サンプル位置のx成分が0およびy成分が0である場合、上記左側隣接サンプルは、p[-1][0]ないしp[-1][2H-1]であり、上記左上側コーナ隣接サンプルはp[-1][-1]であり、上記上側隣接サンプルは、p[0][-1]ないしp[2W-1][-1]である。
【0267】
デコード装置は、上記現ブロックのMPM(Most Probable Mode)候補を含むMPMリストを構成する(S1620)。例えば、デコード装置は、上記現ブロックの隣接ブロックに基づいて上記現ブロックのMPM(Most Probable Mode)リストを構成することができる。ここで、一例として、上記MPMリストは、3個のMPM候補、5個のMPM候補または6個のMPM候補を含むことができる。
【0268】
一例として、デコード装置は、上記現ブロックの上記隣接ブロックに基づいて上記現ブロックの上記MPMリストを構成することができ、上記MPMリストは、6個のMPM候補を含むことができる。上記隣接ブロックは、上記現ブロックの上記左側隣接ブロック、上記上側隣接ブロック、上記左下側隣接ブロック、上記右上側隣接ブロックおよび/または上記左上側隣接ブロックを含むことができる。デコード装置は、上記現ブロックの隣接ブロックを特定順序によって探索することができ、隣接ブロックのイントラ予測モードを導出された順に上記MPM候補として導出することができる。例えば、デコード装置は、上記左側隣接ブロックのイントラ予測モード、上記上側隣接ブロックのイントラ予測モード、平面イントラ予測モード、DCイントラ予測モード、上記左下側隣接ブロックのイントラ予測モード、上記右上側隣接ブロックのイントラ予測モード、上記左上側隣接ブロックのイントラ予測モードの順序で探索してMPM候補を導出して上記現ブロックの上記MPMリストを構成することができる。一方、上記探索後、6個のMPM候補が導出されない場合、MPM候補として導出されたイントラ予測モードに基づいてMPM候補が導出されることができる。例えば、上記MPM候補として導出されたイントラ予測モードがN番イントラ予測モードである場合、デコード装置は、上記N+1番イントラ予測モードおよび/またはN-1番イントラ予測モードを上記現ブロックのMPM候補として導出することができる。
【0269】
デコード装置は、上記リメイニングイントラ予測モード情報に基づいて上記現ブロックのイントラ予測モードを導出する(S1630)。デコード装置は、上記リメイニングイントラ予測モード情報が示すイントラ予測モードを上記現ブロックのイントラ予測モードとして導出することができる。上記リメイニングイントラ予測モード情報は、残りのイントラ予測モードのうちの一つを示すことができる。上記イントラ予測モードは、上記MPM候補を除外した残りのイントラ予測モードのうちの一つである。
【0270】
一方、一例として、上記リメイニングイントラ予測モード情報の値がNである場合、上記リメイニングイントラ予測モード情報は、N番イントラ予測モードを指すことができる。
【0271】
また、他の例として、上記リメイニングイントラ予測モード情報の値がNである場合、上記リメイニングイントラ予測モード情報は、イントラモードマップ(intra mode map)でN+1番目のイントラ予測モードを指すことができる。上記イントラモードマップは、予め設定された順序のイントラ予測モードからMPM候補を除外したイントラ予測モードを示すことができる。例えば、上記予め設定された順序のイントラ予測モードは、下記の通りである。
【0272】
{0,1,50,18,49,10,12,19,11,34,2,17,54,33,46,51,35,15,13,45,22,14,66,21,47,48,23,53,58,16,42,20,24,44,26,43,55,52,37,29,39,41,25,9,38,56,30,36,32,28,62,27,40,8,3,7,57,6,31,4,65,64,5,59,60,61,63}
【0273】
また、他の例として、上記リメイニングイントラ予測モード情報の値がNである場合、上記リメイニングイントラ予測モード情報は、TBCリストでN+1番目のイントラ予測モードを指すことができる。上記TBCリストは、MPM候補のうちの方向性イントラ予測モードおよびオフセットに基づいて導出されたイントラ予測モードで構成されることができる。
【0274】
一方、上記MPMフラグの値が1である場合、デコード装置は、ビットストリームから上記現ブロックに対するMPMインデックスを取得することができ、上記MPMインデックスに基づいて上記現ブロックのイントラ予測モードを導出することができる。デコード装置は、上記MPMインデックスが指すMPM候補を上記現ブロックのイントラ予測モードで導出することができる。上記MPMインデックスは、上記MPMリストのMPM候補のうちの一つを指すことができる。
【0275】
デコード装置は、上記隣接サンプルおよび上記イントラ予測モードに基づいて上記現ブロックの予測サンプルを導出する(S1640)。デコード装置は、上記イントラ予測モードに基づいて上記現ブロックの隣接サンプルのうちの少なくとも一つの隣接サンプルを導出することができ、上記隣接サンプルに基づいて上記予測サンプルを生成することができる。
【0276】
デコード装置は、上記予測サンプルに基づいて復元ピクチャを導出する(S1650)。デコード装置は、予測モードによって上記予測サンプルを復元サンプルとして利用することもでき、または上記予測サンプルに残差サンプルを加えて復元サンプルを生成することもできる。デコード装置は、上記現ブロックに対する残差サンプルが存在する場合、上記現ブロックに対する残差に関する情報を受信することができ、上記残差に関する情報は、上記ペース(face)に関する情報に含まれることができる。上記残差に関する情報は、上記残差サンプルに対する変換係数を含むことができる。上記映像情報は、上記残差に関する情報を含むことができる。デコード装置は、上記残差情報に基づいて上記現ブロックに対する上記残差サンプル(または、残差サンプルアレイ)を導出することができる。デコード装置は、上記予測サンプルおよび上記残差サンプルに基づいて復元サンプルを生成することができ、上記復元サンプルに基づいて復元ブロックまたは復元ピクチャを導出することができる。
【0277】
一方、以後、デコード装置は、必要によって、主観的/客観的画質を向上させるためにデブロックフィルタリングおよび/またはSAO手順などのインループフィルタリング手順を上記復元ピクチャに適用できることは、前述の通りである。
【0278】
図17は、本発明による映像デコード方法を実行するデコード(デコーディング)装置を概略的に示す。
図16に開示された方法は、
図17に開示されたデコード装置により実行されることができる。具体的には、例えば、
図17の上記デコード装置のエントロピ復号(エントロピーデコーディング)部は、
図16のS1600を実行することができ、
図17の上記デコード装置の予測部は、
図16のS1610ないしS1650を実行することができる。また、図示してはいないが、ビットストリームを介して現ブロックの残差に関する情報を含む映像情報を取得する過程は、
図17の上記デコード装置のエントロピ復号部により実行されることができ、上記残差に関する情報に基づいて上記現ブロックに対する上記残差サンプルを導出する過程は、
図17の上記デコード装置の逆変換部により実行されることができ、予測サンプルおよび上記残差サンプルに基づいて復元ピクチャを生成する過程は、
図17の上記デコード装置の加算部により実行されることができる。
【0279】
前述した本発明によると、可変バイナリコードであるトランケートされたバイナリコードに基づいて現ブロックのイントラ予測を示す情報をコーディングすることができ、これを介してイントラ予測モードを示すための情報のシグナリングオーバーヘッドを減らすことができ、全般的なコーディング効率を向上させることができる。
【0280】
また、本発明によると、選択可能性が高いイントラ予測モードを小さいビットのバイナリコードおよび対応する値の情報で表すことができ、これを介してイントラ予測情報のシグナリングオーバーヘッドを減らすことができ、全般的なコーディング効率を向上させることができる。
【0281】
前述した実施例において、方法は、一連のステップまたはブロックで流れ図に基づいて説明されているが、本発明は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序でまたは同時に発生し得る。また、当業者であれば、流れ図に示すステップが排他的でなく、他のステップが含まれ、または流れ図の一つまたは複数のステップが本発明の範囲に影響を及ぼさずに削除可能であることを理解することができる。
【0282】
本文書で説明した実施例は、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で具現されて実行されることができる。例えば、各図面で示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で具現されて実行されることができる。この場合、具現のための情報(例えば、information on instructions)またはアルゴリズムがデジタル記憶媒体に記憶されることができる。
【0283】
また、本発明が適用されるデコード装置およびエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、記憶媒体、カムコーダ、ビデオオンデマンド(注文型ビデオ)(VoD)サービス提供装置、OTTビデオ(Over The Top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、運送手段端末(例えば、車両端末、飛行機端末、船舶端末など)および医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために使われることができる。例えば、OTTビデオ(Over The Top video)装置は、ゲームコンソール、ブルーレイプレイヤ、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recorder)などを含むことができる。
【0284】
また、本発明が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取りできる記録媒体に記憶されることができる。本発明によるデータ構造を有するマルチメディアデータもコンピュータが読み取りできる記録媒体に記憶されることができる。上記コンピュータが読み取りできる記録媒体は、コンピュータで読み取ることができるデータが記憶される全ての種類の記憶装置および分散記憶装置を含む。上記コンピュータが読み取りできる記録媒体は、例えば、ブルーレイディスク(BD)、ユニバーサルシリアル(汎用直列)バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピディスク、および光学データ記憶装置を含むことができる。また、上記コンピュータが読み取りできる記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で具現されたメディアを含む。また、エンコード方法によって生成されたビットストリームが、コンピュータが読み取りできる記録媒体に記憶され、または有無線通信ネットワークを介して送信されることができる。
【0285】
また、本発明の実施例は、プログラムコードによるコンピュータプログラム製品で具現されることができ、上記プログラムコードは、本発明の実施例によりコンピュータで実行されることができる。上記プログラムコードは、コンピュータにより読み取り可能なキャリア上に記憶されることができる。
【0286】
図18は、本発明が適用されるコンテンツストリーミングシステム構造図を例示的に示す。
【0287】
本発明が適用されるコンテンツストリーミングシステムは、概して、エンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア記憶装置、ユーザ装置、およびマルチメディア入力装置を含むことができる。
【0288】
上記エンコードサーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを上記ストリーミングサーバに送信する役割を果たす。他の例として、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置がビットストリームを直接生成する場合、上記エンコードサーバは、省略されることができる。
【0289】
上記ビットストリームは、本発明が適用されるエンコード方法またはビットストリーム生成方法により生成されることができ、上記ストリーミングサーバは、上記ビットストリームを送信または受信する過程で一時的に上記ビットストリームを記憶することができる。
【0290】
上記ストリーミングサーバは、ウェブサーバを介したユーザ要求に基づいてマルチメディアデータをユーザ装置に送信し、上記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体の役割を果たす。ユーザが上記ウェブサーバに所望のサービスを要求すると、上記ウェブサーバは、これをストリーミングサーバに伝達し、上記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、上記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、上記制御サーバは、上記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割を果たす。
【0291】
上記ストリーミングサーバは、メディア記憶装置(格納所)および/またはエンコードサーバからコンテンツを受信することができる。例えば、上記エンコードサーバからコンテンツを受信するようになる場合、上記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、上記ストリーミングサーバは、上記ビットストリームを一定時間の間記憶することができる。
【0292】
上記ユーザ装置の例として、携帯電話、スマートフォン(smartphone)、ノートブックコンピュータ(laptop computer)、デジタル放送用端末、PDA(Personal Digital Assistants)、PMP(Portable Multimedia Player)、ナビゲーション、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ULTRABOOK(登録商標))、ウェアラブルデバイス(wearable device、例えば、スマートウォッチ(ウォッチ型端末)(smartwatch)、スマートグラス(グラス型端末)(smart glass)、HMD(Head Mounted Display))、デジタルTV、デスクトップコンピュータ、デジタル署名(サイニジ)などがある。
【0293】
上記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運用されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。