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

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

▶ ウィルス インスティテュート オブ スタンダーズ アンド テクノロジー インコーポレイティドの特許一覧

特許7358515Block DPCM予測方法を使用するビデオ信号処理方法及び装置
<>
  • 特許-Block  DPCM予測方法を使用するビデオ信号処理方法及び装置 図1
  • 特許-Block  DPCM予測方法を使用するビデオ信号処理方法及び装置 図2
  • 特許-Block  DPCM予測方法を使用するビデオ信号処理方法及び装置 図3
  • 特許-Block  DPCM予測方法を使用するビデオ信号処理方法及び装置 図4
  • 特許-Block  DPCM予測方法を使用するビデオ信号処理方法及び装置 図5
  • 特許-Block  DPCM予測方法を使用するビデオ信号処理方法及び装置 図6
  • 特許-Block  DPCM予測方法を使用するビデオ信号処理方法及び装置 図7
  • 特許-Block  DPCM予測方法を使用するビデオ信号処理方法及び装置 図8
  • 特許-Block  DPCM予測方法を使用するビデオ信号処理方法及び装置 図9
  • 特許-Block  DPCM予測方法を使用するビデオ信号処理方法及び装置 図10
  • 特許-Block  DPCM予測方法を使用するビデオ信号処理方法及び装置 図11
  • 特許-Block  DPCM予測方法を使用するビデオ信号処理方法及び装置 図12
  • 特許-Block  DPCM予測方法を使用するビデオ信号処理方法及び装置 図13
  • 特許-Block  DPCM予測方法を使用するビデオ信号処理方法及び装置 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-29
(45)【発行日】2023-10-10
(54)【発明の名称】Block DPCM予測方法を使用するビデオ信号処理方法及び装置
(51)【国際特許分類】
   H04N 19/70 20140101AFI20231002BHJP
   H04N 19/593 20140101ALI20231002BHJP
【FI】
H04N19/70
H04N19/593
【請求項の数】 19
(21)【出願番号】P 2021573573
(86)(22)【出願日】2020-06-10
(65)【公表番号】
(43)【公表日】2022-08-30
(86)【国際出願番号】 KR2020007530
(87)【国際公開番号】W WO2020251260
(87)【国際公開日】2020-12-17
【審査請求日】2021-12-10
(31)【優先権主張番号】10-2019-0068630
(32)【優先日】2019-06-11
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】516079109
【氏名又は名称】ウィルス インスティテュート オブ スタンダーズ アンド テクノロジー インコーポレイティド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ドンチョル・キム
(72)【発明者】
【氏名】ゴンジュン・コ
(72)【発明者】
【氏名】ジェホン・ジュン
(72)【発明者】
【氏名】ジュヒョン・ソン
(72)【発明者】
【氏名】ジンサム・カク
【審査官】鉢呂 健
(56)【参考文献】
【文献】特表2022-534238(JP,A)
【文献】BROSS, Benjamin et al.,Versatile Video Coding (Draft 5),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Geneva, CH, 19-27 Mar. 2019, [JVET-N1001-v7],JVET-N1001 (version 7),ITU-T,2019年05月29日,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N1001-v7.zip>: JVET-N1001-v7.docx: pp.53-57,80-85,108-113,245-246
【文献】KANG, Jewon et al.,Non-RCE3: Explicit signaling of intra RDPCM,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 15th Meeting: Geneva, CH, 23 Oct. - 1 Nov. 2013, [JCTVC-O0178_r2],JCTVC-O0178 (version 3),ITU-T,2013年10月24日,<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC-O0178-v3.zip>: JCTVC-O0178_r2.docx.doc: pp.1-7
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
ビデオ信号デコーディング方法において、
ビットストリームからブロック基盤デルタパルス符号変調(Block-based Delta Pulse Code Modulation;BDPCM)の活性可否を示すBDPCM活性情報をパージングするステップと、
前記BDPCM活性情報がBDPCMの活性化を示し、現在ブロックの幅が第1値より小さいか同じであり、前記現在ブロックの高さが第2値より小さいか同じである場合、前記現在ブロックにBDPCMが適用されるのか否かを示すイントラBDPCM情報をビットストリームからパージングするステップと、
前記イントラBDPCM情報が前記現在ブロックにBDPCMを適用することを示す場合、前記現在ブロックに対するイントラBDPCM方向情報をビットストリームからパージングするステップであって、前記イントラBDPCM方向情報は、前記現在ブロックに適用される前記BDPCMの予測方向を示す、ステップと、
前記イントラBDPCM方向情報に基づいて前記現在ブロックを復元するステップと、を含み、
前記イントラBDPCM情報が、前記現在ブロックにBDPCMを適用することを示す場合、
前記ビットストリームから変換スキップ情報をパージングせず、前記変換スキップ情報は、前記現在ブロックに当たる変換ブロックに対して変換が適用されるのか否かを示し、
前記変換スキップ情報の値は、前記変換ブロックに対して前記変換が適用されないことを示す値に推論される、
とを特徴とするビデオ信号デコーディング方法。
【請求項2】
前記第1値及び前記第2値は、変換スキップを許容する最大ブロックサイズに関連することを特徴とする請求項1に記載のビデオ信号デコーディング方法。
【請求項3】
前記イントラBDPCM情報及び前記イントラBDPCM方向情報は、クロマ成分に関わらずルマ成分のためにパージングされることを特徴とする請求項1に記載のビデオ信号デコーディング方法。
【請求項4】
前記BDPCM活性情報は、シーケンスパラメータセットでシグナリングされることを特徴とする請求項1に記載のビデオ信号デコーディング方法。
【請求項5】
前記イントラBDPCM方向情報は、水平方向または垂直方向のうち一つを示すことを特徴とする請求項1に記載のビデオ信号デコーディング方法。
【請求項6】
前記イントラBDPCM方向情報が前記水平方向を示す場合、前記現在ブロックのイントラ予測モードは、前記水平方向に当たるイントラ予測モードであり、
前記イントラBDPCM方向情報が前記垂直方向を示す場合、前記現在ブロックの前記イントラ予測モードは、前記垂直方向に当たるイントラ予測モードであることを特徴とする請求項5に記載のビデオ信号デコーディング方法。
【請求項7】
前記イントラBDPCM方向情報の値が0である場合、前記イントラBDPCM方向情報は、前記水平方向を示し
前記イントラBDPCM方向情報の値が1である場合、前記イントラBDPCM方向情報は、前記垂直方向を示すことを特徴とする請求項に記載のビデオ信号デコーディング方法。
【請求項8】
前記現在ブロックのイントラ予測モードは、前記現在ブロックの後で復元される周辺ブロックのイントラ予測モードをシグナリングするためのイントラ予測モード候補に含まれることを特徴とする請求項に記載のビデオ信号デコーディング方法。
【請求項9】
ビデオ信号デコーディング装であって、
プロセッサを含み、
前記プロセッサは、
ビットストリームからブロック基盤デルタパルス符号変調(BDPCM)の活性可否を示すBDPCM活性情報をパージングし、
前記BDPCM活性情報がBDPCMの活性化を示し、現在ブロックの幅が第1値より小さいか同じであり、前記現在ブロックの高さが第2値より小さいか同じである場合、前記現在ブロックにBDPCMが適用されるのか否かを示すイントラBDPCM情報を前記ビットストリームからパージングし、
前記イントラBDPCM情報が前記現在ブロックにBDPCMを適用することを示す場合、前記現在ブロックに対するイントラBDPCM方向情報をビットストリームからパージングし、前記イントラBDPCM方向情報は、前記現在ブロックに適用される前記BDPCMの予測方向を示し、
前記イントラBDPCM方向情報に基づいて前記現在ブロックを復元し、
前記イントラBDPCM情報が前記現在ブロックに前記BDPCMを適用することを示す場合、
前記ビットストリームから変換スキップ情報をパージングせず、前記変換スキップ情報は、前記現在ブロックに当たる変換ブロックに対して変換が適用されるのか否かを示し、
前記変換スキップ情報の値は、前記変換ブロックに対して前記変換が適用されないことを示す値に推論されるように構成される、
ビデオ信号デコーディング装置。
【請求項10】
前記第1値及び前記第2値は、変換スキップを許容する最大ブロックサイズに関連する請求項に記載のビデオ信号デコーディング装置。
【請求項11】
前記イントラBDPCM情報及び前記イントラBDPCM方向情報は、クロマ成分に関わらずルマ成分のためにパージングされる請求項に記載のビデオ信号デコーディング装置。
【請求項12】
前記BDPCM活性情報は、シーケンスパラメータセットでシグナリングされる請求項に記載のビデオ信号デコーディング装置。
【請求項13】
前記イントラBDPCM方向情報は、水平方向または垂直方向のうち一つを示す請求項に記載のビデオ信号デコーディング装置。
【請求項14】
前記イントラBDPCM方向情報が前記水平方向を示す場合、前記現在ブロックのイントラ予測モードは、前記水平方向に当たるイントラ予測モードであり、
前記イントラBDPCM方向情報が前記垂直方向を示す場合、前記現在ブロックの前記イントラ予測モードは、前記垂直方向に当たるイントラ予測モードである請求項13に記載のビデオ信号デコーディング装置。
【請求項15】
記イントラBDPCM方向情報の値が0である場合、前記イントラBDPCM方向情報は、前記水平方向を示し
前記イントラBDPCM方向情報の値が1である場合、前記イントラBDPCM方向情報は、前記垂直方向を示す請求項14に記載のビデオ信号デコーディング装置。
【請求項16】
前記現在ブロックのイントラ予測モードは、前記現在ブロックの後で復元される周辺ブロックのイントラ予測モードをシグナリングするためのイントラ予測モード候補に含まれる請求項15に記載のビデオ信号デコーディング装置。
【請求項17】
デオ信号エンコーディング装置であって、
ロセッサを含み、
前記プロセッサは、
デコーディング方法を用いてデコーダによってデコーディングされるビットストリームを獲得するように構成され、
前記デコーディング方法は、
ビットストリームからブロック基盤デルタパルス符号変調(Block-based Delta Pulse Code Modulation;BDPCM)の活性可否を示すBDPCM活性情報をパージングするステップと、
前記BDPCM活性情報がBDPCMの活性化を示し、現在ブロックの幅が第1値より小さいか同じであり、前記現在ブロックの高さが第2値より小さいか同じである場合、前記現在ブロックにBDPCMが適用されるのか否かを示すイントラBDPCM情報をビットストリームからパージングするステップと、
前記イントラBDPCM情報が前記現在ブロックにBDPCMを適用することを示す場合、前記現在ブロックに対するイントラBDPCM方向情報をビットストリームからパージングするステップであって、前記イントラBDPCM方向情報は、前記現在ブロックに適用される前記BDPCMの予測方向を示す、ステップと、
前記イントラBDPCM方向情報に基づいて前記現在ブロックを復元するステップと、を含み、
前記イントラBDPCM情報が、前記現在ブロックにBDPCMを適用することを示す場合、
前記ビットストリームから変換スキップ情報をパージングせず、前記変換スキップ情報は、前記現在ブロックに当たる変換ブロックに対して変換が適用されるのか否かを示し、
前記変換スキップ情報の値は、前記変換ブロックに対して前記変換が適用されないことを示す値に推論される、
ビデオ信号エンコーディング装置。
【請求項18】
前記第1値及び前記第2値は、変換スキップを許容する最大ブロックサイズに関連する請求項17に記載のビデオ信号エンコーディング装置。
【請求項19】
ビットストリーム獲得方法であって、
デコーディング方法を利用してデコーダによってデコーディングされるようにビットストリームを獲得するステップを含み、
ビットストリームからブロック基盤デルタパルス符号変調(Block-based Delta Pulse Code Modulation;BDPCM)の活性可否を示すBDPCM活性情報をパージングするステップと、
前記BDPCM活性情報がBDPCMの活性化を示し、現在ブロックの幅が第1値より小さいか同じであり、前記現在ブロックの高さが第2値より小さいか同じである場合、前記現在ブロックにBDPCMが適用されるのか否かを示すイントラBDPCM情報をビットストリームからパージングするステップと、
前記イントラBDPCM情報が前記現在ブロックにBDPCMを適用することを示す場合、前記現在ブロックに対するイントラBDPCM方向情報をビットストリームからパージングするステップであって、前記イントラBDPCM方向情報は、前記現在ブロックに適用される前記BDPCMの予測方向を示す、ステップと、
前記イントラBDPCM方向情報に基づいて前記現在ブロックを復元するステップと、を含み、
前記イントラBDPCM情報が、前記現在ブロックにBDPCMを適用することを示す場合、
前記ビットストリームから変換スキップ情報をパージングせず、前記変換スキップ情報は、前記現在ブロックに当たる変換ブロックに対して変換が適用されるのか否かを示し、
前記変換スキップ情報の値は、前記変換ブロックに対して前記変換が適用されないことを示す値に推論される、
ことを特徴とするビットストリーム獲得方法
【発明の詳細な説明】
【技術分野】
【0001】
本開示はビデオ信号処理方法及び装置に関し、より詳しくは、ビデオ信号をエンコーディングするかデコーディングするビデオ信号処理方法及び装置に関する。
【背景技術】
【0002】
圧縮符号化とは、デジタル化した情報を通信回線を介して伝送するか、貯蔵媒体に適合した形態に貯蔵するための一連の信号処理技術を意味する。圧縮符号化の対象としては音声、映像、文字などの対象が存在するが、特に映像を対象とする圧縮符号化を行う技術をビデオ映像圧縮と称する。ビデオ信号に対する圧縮符号化は、空間的な相関関係、時間的な相関関係、確率的な相関関係などを考慮して剰余情報を除去することで行われる。しかし、最近の多様なメディア及びデータ伝送媒体の発展によって、より高効率のビデオ信号処理方法及び装置が求められている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本開示は、ビデオ信号のコーディング効率を上げるための目的を有する。
【課題を解決するための手段】
【0004】
本開示の一実施例によるビデオ信号を処理する方法は、ビットストリームからブロック基盤デルタパルス符号変調(Block-based Delta Pulse Code Modulation;BDPCM)の活性可否を示すBDPCM活性情報をパージングするステップと、BDPCM活性情報がBDPCMの活性化を示し、現在ブロックの幅が第1値より小さいか同じであり、現在ブロックの高さが第2値より小さいか同じである場合、現在ブロックにBDPCMが適用されるのか否かを示すイントラBDPCM情報をビットストリームからパージングするステップと、イントラBDPCM情報が現在ブロックにBDPCMを適用することを示す場合、現在ブロックに対するイントラBDPCM方向情報をビットストリームからパージングするステップと、イントラBDPCM方向情報に基づいて現在ブロックを復元するステップと、を含むことを特徴とする。
【0005】
本開示の一実施例によるビデオ信号を処理する方法の第1値及び第2値は、変換スキップを許容する最大ブロックサイズであることを特徴とする。
【0006】
本開示の一実施例によるビデオ信号を処理する方法のイントラBDPCM情報及びイントラBDPCM方向情報は、クロマ成分に関わらずルマ成分のためにパージングされることを特徴とする。
【0007】
本開示の一実施例によるビデオ信号を処理する方法のBDPCM活性情報は、シーケンス(sequence)でシグナリングされることを特徴とする。
【0008】
本開示の一実施例によるビデオ信号を処理する方法のイントラBDPCM情報が現在ブロックにBDPCMを適用することを示す場合、前記ビットストリームから前記現在ブロックに当たる変換ブロックの変換スキップ情報をパージングせず、変換スキップ情報は変換スキップ情報の値が第1推論値である場合、変換スキップ情報に当たるブロックに対して変換が適用されないことを示すことを特徴とする。
【0009】
本開示の一実施例によるビデオ信号を処理する方法は、変換スキップ情報が存在せず、イントラBDPCM情報が現在ブロックにBDPCMを適用することを示す場合、変換スキップ情報を第1推論値に推論するステップと、変換スキップ情報が存在せず、イントラBDPCM情報が現在ブロックにBDPCMを適用しないことを示す場合、変換スキップ情報を第2推論値に推論するステップと、を更に含むことを特徴とする。
【0010】
本開示の一実施例によるビデオ信号を処理する方法のイントラBDPCM方向情報は、水平方向または垂直方法のうち一つを示すことを特徴とする。
【0011】
本開示の一実施例によるビデオ信号を処理する方法は、イントラBDPCM方向情報が0である場合、複数のイントラモードのうち水平方向に当たるイントラ予測モードを現在ブロックのイントラ予測モードとして選択するステップと、イントラBDPCM方向情報が1である場合、複数のイントラモードのうち垂直方向に当たるイントラ予測モードを現在ブロックのイントラ予測モードとして選択するステップと、を含むことを特徴とする。
【0012】
本開示の一実施例によるビデオ信号を処理する方法の現在ブロックのイントラ予測モードは、現在ブロックの後で復元される周辺ブロックのイントラ予測モードを決定するために使用されることを特徴とする。
【0013】
本開示の一実施例によるビデオ信号処理装置はプロセッサ及びメモリを含み、プロセッサはメモリに保存されている命令語に基づいて、ビットストリームからブロック基盤デルタパルス符号変調(BDPCM)の活性可否を示すBDPCM活性情報をパージングし、BDPCM活性情報がBDPCMの活性化を示し、現在ブロックの幅が第1値より小さいか同じであり、現在ブロックの高さが第2値より小さいか同じである場合、現在ブロックにBDPCMが適用されるのか否かを示すイントラBDPCM情報をビットストリームからパージングし、イントラBDPCM情報が現在ブロックにBDPCMを適用することを示す場合、現在ブロックに対するイントラBDPCM方向情報をビットストリームからパージングし、イントラBDPCM方向情報に基づいて現在ブロックを復元する。
【0014】
本開示の一実施例によるビデオ信号処理装置の第1値及び第2値は、変換スキップを許容する最大ブロックサイズである。
【0015】
本開示の一実施例によるビデオ信号処理装置のイントラBDPCM情報及びイントラBDPCM方向情報は、クロマ成分に関わらずルマ成分のためにパージングされる。
【0016】
本開示の一実施例によるビデオ信号処理装置のBDPCM活性情報は、シーケンス(sequence)でシグナリングされる。
【0017】
本開示の一実施例によるビデオ信号処理装置のイントラBDPCM情報が現在ブロックにBDPCMを適用することを示す場合、前記ビットストリームから前記現在ブロックに当たる変換ブロックの変換スキップ情報をパージングせず、変換スキップ情報は変換スキップ情報の値が第1推論値である場合、変換スキップ情報に当たるブロックに対して変換が適用されないことを示す。
【0018】
本開示の一実施例によるビデオ信号処理装置のプロセッサはメモリに保存されている命令語に基づいて、変換スキップ情報が存在せず、イントラBDPCM情報が現在ブロックにBDPCMを適用することを示す場合、変換スキップ情報を第1推論値に推論し、変換スキップ情報が存在せず、イントラBDPCM情報が現在ブロックにBDPCMを適用しないことを示す場合、変換スキップ情報を第2推論値に推論する。
【0019】
本開示の一実施例によるビデオ信号処理装置のイントラBDPCM方向情報は、水平方向または垂直方法のうち一つを示す。
【0020】
本開示の一実施例によるビデオ信号処理装置のプロセッサはメモリに保存されている命令語に基づいて、イントラBDPCM方向情報が0である場合、複数のイントラモードのうち水平方向に当たるイントラ予測モードを現在ブロックのイントラ予測モードとして選択し、イントラBDPCM方向情報が1である場合、複数のイントラモードのうち垂直方向に当たるイントラ予測モードを現在ブロックのイントラ予測モードとして選択する。
【0021】
本開示の一実施例によるビデオ信号処理装置のイントラ予測モードは、現在ブロックの後で復元される周辺ブロックのイントラ予測モードを決定するために使用される。
【0022】
本開示の一実施例によるビデオ信号を処理する方法は、ブロック基盤デルタパルス符号変調(BDPCM)の活性可否を示すBDPCM活性情報を生成するステップと、BDPCM活性情報がBDPCMの活性化を示し、現在ブロックの幅が第1値より小さいか同じであり、現在ブロックの高さが第2値より小さいか同じである場合、現在ブロックにBDPCMが適用されるのか否かを示すイントラBDPCM情報を生成するステップと、イントラBDPCM情報が現在ブロックにBDPCMを適用することを示す場合、現在ブロックに対するイントラBDPCM方向情報を生成するステップと、BDPCM活性情報、イントラBDPCM情報、及びイントラBDPCM方向情報に基づいてビットストリームを生成するステップと、を含むことを特徴とする。
【0023】
本開示の一実施例によるビデオ信号を処理する方法のイントラBDPCM情報が現在ブロックにBDPCMを適用することを示す場合、現在ブロックに当たる変換ブロックの変換スキップ情報を生成しないことを特徴とする。
【0024】
本開示の一実施例によるビデオ信号処理装置はプロセッサ及びメモリを含み、プロセッサはメモリに保存されている命令語に基づいて、ブロック基盤デルタパルス符号変調(BDPCM)の活性可否を示すBDPCM活性情報を生成し、BDPCM活性情報がBDPCMの活性化を示し、現在ブロックの幅が第1値より小さいか同じであり、現在ブロックの高さが第2値より小さいか同じである場合、現在ブロックにBDPCMが適用されるのか否かを示すイントラBDPCM情報を生成し、イントラBDPCM情報が現在ブロックにBDPCMを適用することを示す場合、現在ブロックに対するイントラBDPCM方向情報を生成し、BDPCM活性情報、イントラBDPCM情報、及びイントラBDPCM方向情報に基づいてビットストリームを生成する。
【0025】
本開示の一実施例によるビデオ信号処理装置は、イントラBDPCM情報が現在ブロックにBDPCMを適用することを示す場合、現在ブロックに当たる変換ブロックの変換スキップ情報を生成しない。
【0026】
本開示の一実施例によるエンコーディングされたビデオ信号を記録したコンピュータによって読み取り可能な記録媒体は、ブロック基盤デルタパルス符号変調(BDPCM)の活性可否を示すBDPCM活性情報を生成するステップと、BDPCM活性情報がBDPCMの活性化を示し、現在ブロックの幅が第1値より小さいか同じであり、現在ブロックの高さが第2値より小さいか同じである場合、現在ブロックにBDPCMが適用されるのか否かを示すイントラBDPCM情報を生成するステップと、イントラBDPCM情報が現在ブロックにBDPCMを適用することを示す場合、現在ブロックに対するイントラBDPCM方向情報を生成するステップと、BDPCM活性情報、イントラBDPCM情報、及びイントラBDPCM方向情報に基づいてビットストリームを生成するステップと、を含む。
【発明の効果】
【0027】
本開示の実施例によると、ビデオ信号のコーディング効率が上がる。
【図面の簡単な説明】
【0028】
図1】本発明の一実施例によるビデオ信号エンコーディング装置の概略的なブロック図である。
図2】本発明の一実施例によるビデオ信号デコーディング装置の概略的なブロック図である。
図3】ピクチャ内でコーディングツリーユニットがコーディングユニットに分割される実施例を示す図である。
図4】クォードツリー及びマルチ-タイプツリーの分割をシグナリングする方法の一実施例を示す図である。
図5】イントラ予測モードで現在ブロックを予測するために使用される参照サンプルの一実施例を示す図である。
図6】イントラ予測に使用される予測モードの一実施例を示す図である。
図7】本開示の一実施例によるビデオ信号処理装置の動作を示すフローチャートである。
図8】Block DPCM(BDPCM)の予測モード及び量子化された残差信号を示す図である。
図9】シーケンスパラメータセットに定義されたBDPCMブラッグを示す図である。
図10】コーディングユニットシンタックス構造の一部を示す図である。
図11】コーディングユニットシンタックスの一部を示す図面であって、BDPCM適用ブロックのサイズ変数を含む図である。
図12】変換ユニットシンタックス構造の一部を示す図である。
図13】変換ユニットシンタックスの一部分内でtransform skipフラッグのシグナリング/パージング条件を示す図である。
図14】BDPCMが適用されたブロックの画面内予測モード変数との関係を示す図である。
【発明を実施するための形態】
【0029】
本明細書で使用される用語は本発明における機能を考慮しながらできるだけ現在広く使用されている一般的な用語を選択したが、これは当分野に携わる技術者の意図、慣例または新たな技術の出現などによって異なり得る。また、特定の場合は出願人が任意に選定した用語もあるが、この場合、該当の発明を実施する形態の部分においてその意味を記載する。よって、本明細書で使用される用語は、単なる用語の名称ではなく、その用語の有する実質的な意味と本明細書全般にわたる内容に基づいて解釈すべきであることを明らかにする。
【0030】
本明細書において、一部用語は以下のように解釈される。コーディングは、場合によってはエンコーディングまたはでコーディングに解釈される。本明細書において、ビデオ信号のエンコーディング(符号化)を行ってビデオ信号のビットストリームを生成する装置はエンコーディング装置またはエンコーダと称され、ビデオ信号ビットストリームのデコーディング(復号化)を行ってビデオ信号を復元する装置はデコーディング装置またはデコーダと称される。また、本明細書において、ビデオ信号処理装置はエンコーダ及びデコーダをいずれも含む概念の用語として使用される。情報(information)は値(values)、パラメータ(parameter)、係数(coefficients)、成分(elements)などをいずれも含む用語であって、場合によっては意味が異なるように解釈されることがあるため、本発明はこれに限らない。「ユニット」は映像処理の基本単位またはピクチャの特定位置を指す意味で使用され、ルマ(luma)成分とクロマ(chroma)成分をいずれも含むイメージ領域を指す。また、「ブロック」はルマ成分及びクロマ成分(つまり、Cb及びCr)のうち特定成分を含むイメージ領域を指す。但し、実施例によっては「ユニット」、「ブロック」、「パーティション」、及び「領域」などの用語は互いに混合して使用されてもよい。また、本明細書において、ユニットまたはブロックはコーディングユニット(またはコーディングブロック)、予測ユニット(または予測ブロック)、変換ユニット(または変換ブロック)をいずれも含む概念として使用される。ピクチャはフィールドまたはフレームを指し、実施例よっては前記用語は互いに混用して使用される。
【0031】
図1は、本発明の一実施例によるビデオ信号エンコーディング装置100の概略的なブロック図である。図1を参照すると、本明細書のエンコーディング装置100は、変換部110、量子化部115、逆量子化部120、逆変換部125、フィルタリング部130、予測部150、及びエントロピーコーディング部160を含む。
【0032】
変換部110は、入力されたビデオ信号と予測部150で生成された予測信号の差であるレジデュアル信号を変換して変換系数値を獲得する。例えば、離散コサイン変換(Discrete Cosine Transform、DCT)、離散サイン変換(Discrete Sine Transform、DST)、またはウェーブレット変換(Wavelet Transform)などが使用される。離散コサイン変換及び離散サイン変換は、入力されたピクチャ信号をブロックの形態に分けて変換を行うようになる。変換において、変換領域内の値の分布と特性によってコーディング効率が異なり得る。量子化部115は、変換部110内で出力された変換係数の値を量子化する。
【0033】
コーディング効率を上げるために、ピクチャ信号をそのままコーディングするのではなく、予測部150を介して予めコーディングされた領域を利用してピクチャを予測し、予測されたピクチャに原本ピクチャと予測ピクチャの間のレジデュアル値を足して復元ピクチャを獲得する方法が使用される。エンコーダとデコーダでミスマッチが発生しないように、エンコーダで予測を行う際にはデコーダでも使用可能な情報を使用すべきである。そのために、エンコーダでは符号化した現在ブロックを更に復元する過程を行う。逆量子化部120では変換係数値を逆量子化し、逆変換部125では逆量子化された変換係数値を利用してレジデュアル値を復元する。一方、フィルタリング部130は、復元されたピクチャの品質改善及び符号化効率の向上のためのフィルタリング演算を行う。例えば、デブロッキングフィルタ、サンプル適応的オフセット(Sample Adpative Offset、SAO)、及び適応的ループフィルタなどが含まれてもよい。フィルタリングを経たピクチャは、出力されるか参照ピクチャとして利用するために復号ピクチャバッファ(Decoded Picture Buffer、DPB)156に貯蔵される。
【0034】
予測部150は、イントラ予測部152とインター予測部154を含む。イントラ予測部152は現在ピクチャ内でイントラ(intra)予測を行い、インター予測部154は復号ピクチャバッファ156に貯蔵された参照バッファを利用して現在ピクチャを予測するインター(inter)予測を行う。イントラ予測部152は、現在ピクチャ内の復元されたサンプルからイントラ予測を行い、イントラ符号化情報をエントロピーコーディング部160に伝達する。イントラ符号化情報は、イントラ予測モード、MPM(Most Probable Mode)フラッグ、MPMインデックスのうち少なくとも一つを含む。インター予測部154は、モーション推定部154a及びモーション補償部154bを含んで構成される。モーション推定部154aは、復元された参照信号ピクチャの特定領域を参照して現在領域のモーションベクトル値を獲得する。モーション推定部154aは、参照領域に対するモーション情報セット(参照ピクチャインデックス、モーションベクトル情報)をエントロピーコーディング部160に伝達する。モーション補償部154bは、モーション補償部154aから伝達されたモーションベクトル値を利用してモーション補償を行う。インター予測部154は、参照領域に対するモーション情報を含むインター符号化情報をエントロピーコーディング部160に伝達する。
【0035】
上述したピクチャ予測が行われれば、変換部110は原本ピクチャと予測ピクチャの間のレジデュアル値を変換して変換係数値を獲得する。この際、変換はピクチャ内で特定ブロック単位で行われるが、特定ブロックのサイズは予め設定された範囲内で可変する。量子化部115は、変換部110で生成された変換係数の値を量子化してエントロピーコーディング部160に伝達する。
【0036】
エントロピーコーディング部160は、量子化された変換係数、イントラ符号化情報、及びインター符号化情報などをエントロピーコーディングしてビデオ信号ビットストリームを生成する。エントロピーコーディング部160では、可変長コーディング(Variable Length Codeing、VLC)方式と算術コーディング(arithmetic coding)方式などが使用される。可変長コーディング(VLC)方式は入力されるシンボルを連続したコードワードにへ難するが、コードワードの長さは可変的である。例えば、よく発生するシンボルは短いコードワードで、よく発生しないシンボルは長いコードワードで表現する。可変長コーディング方式として、コンテキスト基盤適応型可変長コーディング(Context-based Adaptive Variable Length Coding、CAVLC)方式が使用される。算術コーディングは連続したデータシンボルを一つの素数に変換するが、算術コーディングは各シンボルを表現するために必要な最適の素数ビットを得る。算術コーディングとして、コンテキスト基盤適合型算術符号化(Context-based Adaptive Binary Arithmetic Coding、CABAC)方式が使用される。
【0037】
前記生成されたビットストリームは、NAL(Network Abstraction Layer)ユニットを基本単位にカプセル化される。NALユニットは、符号化された整数個のコーディングツリーユニット(coding tree unit)を含む。ビデオデコーダでビットストリームを復号化するためには、まずビットストリームをNALユニット単位に分離した後、分離されたそれぞれのNALユニットを復号化すべきである。一方、ビデオ信号ビットストリームの復号化のために必要な情報は、ピクチャパラメータセット(Picture Parameter Set、PPS)、シーケンスパラメータセット(Sequence Parameter Set、SPS)、ビデオパラメータセット(Video Parameter Set、VPS)などのような上位レベルセットのRBSP(Raw Byte Sequence Payload)を介して伝送される。
【0038】
一方、図1のブロック図は本発明の一実施例によるエンコーディング装置100を示し、分離して示したブロックはエンコーディング装置100のエレメントを論理的に区別して示している。よって、上述したエンコーディング装置100のエレメントは、ディバイスの設計に応じて一つのチップまたは複数のチップに取り付けられる。一実施例によると、上述したエンコーディング装置100の各エレメントの動作はプロセッサ(図示せず)によって行われる。
【0039】
図2は、本発明の実施例によるビデオ信号デコーディング装置の200概略的なブロック図である。図2を参照すると、本明細書のデコーディング装置200は、エントロピーデコーディング部210、逆量子化部220、逆変換部225、フィルタリング部230、及び予測部250を含む。
【0040】
エントロピーデコーディング部210は、ビデオ信号ビットストリームをエントロピーデコードし、各領域に対する変換係数情報、イントラ符号化情報、インター符号化情報などを抽出する。逆量子化部220は量子化された変換係数を逆量子化し、逆変換部225は、逆量子化された変換係数を用いてレジデュアル値を復元する。ビデオ信号処理装置200は、逆変換部225から取得したレジデュアル値を、予測部250から取得した予測値と合算して、元来の画素値を復元する。
【0041】
一方、フィルタリング部230は、ピクチャに対するフィルタリングを行って画質を向上させる。ここには、ブロック歪曲現象を減少させるためのデブロッキングフィルタ及び/またはピクチャ全体の歪曲を除去するための適応的ループフィルタなどが含まれる。フィルタリングを経たピクチャは出力されるか、次のピクチャに対する参照ピクチャとして利用するために復号ピクチャバッファ(DPB)256に貯蔵される。
【0042】
予測部250は、イントラ予測部252及びインター予測部254を含む。予測部250は、前述したエントロピーデコーディング部210を通じて復号化された符号化タイプ、各領域に対する変換係数、イントラ/インター符号化情報などを活用して予測ピクチャを生成する。復号化が遂行される現在ブロックを復元するために、現在ブロックが含まれた現在ピクチャまたは他のピクチャの復号化された領域が利用できる。復元に現在ピクチャのみを利用する、つまり、イントラ予測のみを行うピクチャ(または、タイル/スライス)をイントラピクチャまたはIピクチャ(または、タイル/スライス)、イントラ予測とインター予測をいずれも行うピクチャ(または、タイル/スライス)をインターピクチャ(または、タイル/スライス)という。インターピクチャ(又は、タイル/スライス)のうち、各ブロックのサンプル値を予測するために、最大で1つのモーションベクトル及び参照ピクチャインデックスを用いるピクチャ(又は、タイル/スライス)を、予測ピクチャ(predictive picture)又はPピクチャ(又は、タイル/スライス)といい、最大で2つのモーションベクトル及び参照ピクチャインデックスを用いるピクチャ(又は、タイル/スライス)を、双予測ピクチャ(Bi-predictive picture)又はBピクチャ(又は、タイル/スライス)という。言い換えると、Pピクチャ(または、タイル/スライス)は各ブロックを予測するために最大1つの動き情報セットを用いて、Bピクチャ(または、タイル/スライス)は各ブロックを予測するために最大2つの動き情報セットを用いる。ここで、動き情報セットは1つ以上の動きベクトルと1つの参照ピクチャインデックスを含む。
【0043】
イントラ予測部252は、イントラ符号化情報及び現在ピクチャ内の復元されたサンプルを利用して予測ブロックを生成する。上述したように、イントラ符号化情報は、イントラ予測モード、MPMフラッグ、MPMインデックスのうち少なくとも一つを含む。イントラ予測部252は、現在ブロックの左側及び/または上側に位置する復元されたピクセルを参照ピクセルとして利用して、現在ブロックのピクセル値を予測する。一実施例によると、参照ピクセルは現在ブロックの左側境界に隣接したピクセル及び/または上側境界に隣接したピクセルである。他の実施例によると、参照ピクセルは現在ブロックの周辺ブロックのピクセルのうち、現在ブロックの左側境界から予め設定された距離以内に隣接したピクセル及び/または現在ブロックの上側境界から予め設定された距離以内に隣接したピクセルである。この際、現在ブロックの周辺ブロックは、現在ブロックに隣接した左側(L)ブロック、上側(A)ブロック、下左側(Below Left、BL)ブロック、上右側(Above Right、AR)ブロック、または上左側(Above Left、AL)ブロックのうち少なくとも一つを含む。
【0044】
インター予測部254は、復号ピクチャバッファ256に貯蔵された参照ピクチャ及びインター符号化情報を利用して予測ブロックを生成する。インター符号化情報は、参照ブロックに対する現在ブロックのモーション情報セット(参照ピクチャインデックス、モーションベクトルなど)を含む。インター予測には、L0予測、L1予測、及び双予測(Bi-prediction)がある。L0予測はL0ピクチャリストに含まれた一つの参照ピクチャを利用した予測であり、L1予測はL1ピクチャリストに含まれた一つの参照ピクチャを利用した予測を意味する。そのためには、1セットのモーション情報(例えば、モーションベクトル及び参照ピクチャインデックス)が必要である。双予測方式では最大2つの参照領域を利用するが、この2つの参照領域は同じ参照ピクチャに存在してもよく、互いに異なるピクチャにそれぞれ存在してもよい。つまり、双予測方式では最大2セットのモーション情報(例えば、モーションベクトル及び参照ピクチャインデックス)が利用されるが、2つのモーションベクトルが同じ参照ピクチャインデックスに対応してもよく、互いに異なる参照ピクチャインデックスに対応してもよい。この際、参照ピクチャは時間的に現在ピクチャの以前や以降のいずれにも表示(または出力)される。
【0045】
インター予測部254は、モーションベクトル及び参照ピクチャインデックスを利用して現在の参照ブロックを獲得する。前記参照ブロックは、参照ピクチャインデックスに対応する参照ピクチャ内に存在する。また、モーションベクトルによって特定されたブロックのピクセル値またはこれの補間(interpolation)された値が現在ブロックの予測値(predictor)として利用される。サブペル(sub-pel)単位のピクセル正確度を有するモーション予測のために、例えば、ルマ信号に対して8-タブ補間フィルタが、クロマ信号に対して4-タブ補間フィルタが使用される。但し、サブペル単位のモーション予測のための補間フィルタはこれに限らない。このように、インター予測部254は、以前復元されたピクチャから現在ユニットのテクスチャをモーション情報を利用して予測するモーション補償(motion compensation)を行う。
【0046】
前記イントラ予測部252又はインター予測部254から出力された予測値、及び逆変換部225から出力されたレジデュアル値が合算されて復元されたビデオピクチャが生成される。すなわち、ビデオ信号デコーディング装置200は、予測部250で生成された予測ブロックと逆変換部225から取得されたレジデュアルを用いて現在ブロックを復元する。
【0047】
一方、図2のブロック図は本発明の一実施例によるデコーディング装置200を示し、分離して示したブロックはデコーディング装置200のエレメントを論理的に区別して示している。よって、上述したデコーディング装置200のエレメントは、ディバイスの設計に応じて一つのチップまたは複数のチップに取り付けられる。一実施例によると、上述したデコーディング装置200の各エレメントの動作はプロセッサ(図示せず)によって行われる。
【0048】
図3は、ピクチャ内でコーディングツリーユニット(Coding Tree Unit、CTU)がコーディングユニット(Coding Units、CUs)に分割される実施例を示している。ビデオ信号のコーディング過程において、ピクチャはコーディングツリーユニット(CTU)のシーケンスに分割される。コーディングツリーユニットは、輝度サンプルのNXNブロックと、それに対応する色差サンプルの2つのブロックからなる。コーディングツリーユニットは、複数のコーディングユニットに分割される。コーディングユニットは上述したビデオ信号の処理過程、つまり、イントラ/インター予測、変換、量子化及び/またはエントロピーコーディングなどの過程でピクチャを処理するための基本単位を指す。一つのピクチャ内において、コーディングユニットのサイズ及び模様は一定ではない。コーディングユニットは正方形または長方形の模様を有する。長方形コーディングユニット(または、長方形ブロック)は垂直コーディングユニット(または、垂直ブロック)と水平コーディングユニット(または、水平ブロック)を含む。本明細書において、垂直ブロックは高さが幅より大きいブロックであり、水平ブロックは幅が高さより大きいブロックである。また、本明細書において、正方形ではない(non-square)ブロックは長方形ブロックを指すが、本発明はこれに限らない。前記のようにエンコーディング装置100及びデコーディング装置200を説明した。以下で説明するビデオ信号処理装置は、エンコーディング装置100及びデコーディング装置200のうち少なくとも一つを含む。
【0049】
図3を参照すると、コーディングツリーユニットは、まずクォードツリー(Quad Tree、QT)構造に分割される。つまり、クォードツリー構造において、2N×2Nのサイズを有する一つのノードはN×Nのサイズを有する4つのノードに分割される。本明細書において、クォードツリーは4進(quaternary)ツリーとも称される。クォードツリー分割は再帰的に行われ、全てのノードが同じ深さに分割される必要はない。
【0050】
一方、上述したクォードツリーのリーフノード(leaf node)は、マルチ-タイプツリー(Multi-Type Tree、MTT)構造に更に分割される。本発明の実施例によると、マルチタイプツリー構造では一つのノードが水平または垂直分割の2進(binary、バイナリー)または3進(ternary、ターナリー)ツリー構造に分割される。つまり、マルチ-タイプツリー構造には、垂直バイナリー分割、水平バイナリー分割、垂直ターナリー分割、及び水平ターナリー分割の4つの分割構造が存在する。本発明の実施例によると、前記各ツリー構造において、ノードの幅及び高さはいずれも2の累乗値を有する。例えば、バイナリーツリー(binary Tree、BT)構造において、2N×2Nのサイズのノードは垂直バイナリー分割によって2つのN×2Nノードに分割され、水平バイナリー分割によって2つの2N×Nノードに分割される。また、ターナリーツリー(Ternary Tree、TT)構造において、2N×2Nのサイズのノードは垂直ターナリー分割によって(N/2)×2N、N×2N及び(N/2)×2Nのノードに分割され、水平ターナリー分割によって2N×(N/2)、2N×N及び2N×(N/2)のノードに分割される。このようなマルチ-タイプツリー分割は再帰的に行われる。
【0051】
マルチ-タイプツリーのリーフノードはコーディングユニットになり得る。コーディングユニットが最大変換長に比べ過度に大きくなければ、該当コーディングユニットはそれ以上分割されずに予測及び変換の単位として使用される。一方、上述したクォードツリー及びマルチ-タイプツリーにおいて、次のパラメータのうち少なくとも一つが事前に定義されるか、PPS、SPS、VPSなどのような上位レベルセットのRBSPを介して伝送される。1)CTUサイズ:クォードツリーのルートノード(root node)のサイズ、2)最小QTサイズ(MinQtSize):許容された最小QTリーフノードのサイズ、3)最大BTサイズ(MaxBtSize):許容された最大BTルートノードのサイズ、4)最大TTサイズ(MaxTtSize):許容された最大TTルートノードのサイズ、5)最大MTT深さ(MaxMttDepth):QTのリーフノードからのMTT分割の最大許容深さ、6)最小BTサイズ(MinBtSize):許容された最小BTリーフノードのサイズ、7)最小TTサイズ:許容された最小TTリーフノードのサイズ。
【0052】
図4は、クワッドツリー及びマルチ-タイプツリーの分割をシグナリングする方法の一実施形態を図示する。前述したクワッドツリー及びマルチ-タイプツリーの分割をシグナリングするために既設定されたフラグが使われることができる。図4を参照すると、クワッドツリーノードの分割するか否かを指示するフラグ‘qt_split_flag’、マルチ-タイプツリーノードの分割するか否かを指示するフラグ‘mtt_split_flag’、マルチ-タイプツリーノードの分割方向を指示するフラグ‘mtt_split_vertical_flag’またはマルチ-タイプツリーノードの分割形態を指示するフラグ‘mtt_split_binary_flag’のうち、少なくとも1つが使われることができる。
【0053】
本発明の実施形態によれば、コーディングツリーユニットはクワッドツリーのルートノードであり、クワッドツリー構造に先に分割できる。クワッドツリー構造では各々のノード‘QT_node’別に‘qt_split_flag’がシグナリングされる。‘qt_split_flag’の値が1の場合、該当ノードは4個の正四角形ノードに分割され、‘qt_split_flag’の値が0の場合、該当ノードはクワッドツリーのリーフノード‘QT_leaf_node’となる。
各々のクワッドツリーリーフノード‘QT_leaf_node’はマルチ-タイプツリー構造にさらに分割できる。マルチ-タイプツリー構造では、各々のノード‘MTT_node’別に‘mtt_split_flag’がシグナリングされる。‘mtt_split_flag’の値が1の場合、該当ノードは複数の矩形ノードに分割され、‘mtt_split_flag’の値が0の場合、該当ノードはマルチ-タイプツリーのリーフノード‘MTT_leaf_node’となる。マルチ-タイプツリーノード‘MTT_node’が複数の矩形ノードに分割される場合(即ち、‘mtt_split_flag’の値が1の場合)、ノード‘MTT_node’のための‘mtt_split_vertical_flag’及び‘mtt_split_binary_flag’が追加でシグナリングできる。‘mtt_split_vertical_flag’の値が1の場合、ノード‘MTT_node’の垂直分割が指示され、‘mtt_split_vertical_flag’の値が0の場合、ノード‘MTT_node’の水平分割が指示される。また、‘mtt_split_binary_flag’の値が1の場合、ノード‘MTT_node’は2つの矩形ノードに分割され、‘mtt_split_binary_flag’の値が0の場合、ノード‘MTT_node’は3個の矩形ノードに分割される。
【0054】
図5及び図6は、本開示の実施例によるイントラ予測方法をより詳しく示す図である。上述したように、イントラ予測部は、現在ブロックの左側及び/または上側に位置する復元されたピクセルを参照ピクセルとして利用して、現在ブロックのピクセル値を予測する。
【0055】
まず、図5はイントラ予測モードで現在ブロックを予測するために使用される参照サンプルの一実施例を示す。一実施例によると、参照ピクセルは現在ブロックの左側境界に隣接したピクセル及び/または上側境界に隣接したピクセルである。図5に示したように、現在ブロックのサイズがW×Hで現在ブロックに隣接した単一参照ライン(line)のピクセルがイントラ予測に使用されれば、現在ブロックの左側及び/または上側に位置した最大2W+2H+1個の隣接したピクセルを使用して参照ピクセルが設定される。一方、本開示の追加的な実施例によると、現在ブロックのイントラ予測のために多重参照ラインのピクセルが使用される。多重参照ラインは、現在ブロックから予め設定された範囲内に位置するn個のラインからなる。一実施例によると、イントラ予測のために多重参照ラインのピクセルが使用されれば、参照ピクセルに設定されるラインを指示する別途のインデックス情報がシグナリングされる。参照ピクセルとして使用される少なくとも一部の隣接ピクセルがまだ復元されていなければ、イントラ予測部は予め設定された規則による参照サンプルパッディング過程を行って参照ピクセルを獲得する。また、イントラ予測部は、イントラ予測の誤差を減らすために参照サンプルフィルタリング過程を行う。つまり、隣接ピクセル及び/または参照サンプルパッディング過程によって獲得されたピクセルにフィルタリングを行って参照ピクセルを獲得する。イントラ予測部は、このように獲得された参照ピクセルを利用して現在ブロックのピクセルを予測する。
【0056】
次に、図6はイントラ予測に使われる予測モードの一実施形態を図示する。イントラ予測のために、イントラ予測方向を指示するイントラ予測モード情報がシグナリングできる。イントラ予測モード情報は、イントラ予測モードセットを構成する複数のイントラ予測モードのうち、いずれか1つを指示する。現在ブロックがイントラ予測されたブロックである場合、デコーダーはビットストリームから現在ブロックのイントラ予測モード情報を受信する。デコーダのイントラ予測部は、抽出されたイントラ予測モード情報に基づいて現在ブロックに対するイントラ予測を遂行する。
【0057】
本発明の実施例によると、イントラ予測モードセットは、イントラ予測に使用される全てのイントラ予測モード(例えば、総67個のイントラ予測モード)を含む。より詳しくは、イントラ予測モードセットは、平面モード、DCモード、及び複数の(例えば、65個の)角度モード(つまり、方向モード)を含む。それぞれのイントラ予測モードは、予め設定されたインデックス(つまり、イントラ予測モードインデックス)を介して指示される。例えば、図6に示したように、イントラ予測モードインデックス0は平面(planar)モードを指示し、イントラ予測モードインデックス1はDCモードを指示する。また、イントラ予測モードインデックス2乃至66は、互いに異なる角度モードをそれぞれ指示する。角度モードは、既に設定された角度範囲以内の異なる角度をそれぞれ指示する。例えば、角度モードは時計回り方向に45°~-135°の角度範囲(すなわち、第1角度範囲)以内の角度を指示できる。前記角度モードは12時方向を基準に定義されてよい。この際、イントラ予測モードインデックス2は水平対角(Horizontal Diagonal、HDIA)モードを指示し、イントラ予測モードインデックス18は水平(Horizontal、HOR)モードを指示し、イントラ予測モードインデックス34は対角(Diagonal、DIA)モードを指示し、イントラ予測モードインデックス50は水直(Vertical、VER)モードを指示し、イントラ予測モードインデックス66は垂直対角(Vertical Diagonal、VDIA)モードを指示する。
【0058】
一方、予め設定された角度範囲は現在ブロックの模様に応じて互いに異なるように設定される。例えば、現在ブロックが長方形ブロックであれば、時計回りに45度を超過するか-135度未満の角度を指示する広角モードが更に使用される。現在ブロックが水平ブロックであれば、角度モードは時計回りに(45+offset 1)度から(-135+offset 1)度の間の角度範囲(つまり、第2角度範囲)以内の角度を指示する。この際、第1角度範囲を逸脱する角度モード67乃至76が更に使用される。また、現在ブロックが水直ブロックであれば、角度モードは時計回りに(45-offset 2)度から(-135-offset 2)度の間の角度範囲(つまり、第3角度範囲)以内の角度を指示する。この際、第1角度範囲を逸脱する角度モード-10乃至-1が更に使用される。本開示の実施例によると、offset 1及びoffset 2の値は、長方形ブロックの幅と高さとの間の割合によって互いに異なるように決定される。また、offset 1及びoffset 2は正数である。
【0059】
本開示の追加的な実施例によると、イントラ予測モードセットを構成する複数の角度モードは、基本角度モードと拡張角度モードを含む。この際、拡張角度モードは基本角度モードに基づいて決定される。
【0060】
一実施例によると、基本角度モードは従来のHEVC(High Efficiency Video Coding)標準のイントラ予測で使用される角度に対応するモードであり、拡張角度モードは次世代ビデオコーデック標準のイントラ予測で新たに追加される角度に対応するモードである。より詳しくは、基本角度モードはイントラ予測モード{2、4、6、…、66}のうちいずれか一つに対応する角度モードであり、拡張角度モードはイントラ予測モード{3、5、7、…、66}のうちいずれか一つに対応する角度モードである。つまり、拡張角度モードは、第1角度範囲内における基本角度モードの間の角度モードである。よって、拡張角度モードが指示する角度は基本角度モードが指示する角度に基づいて決定される。
【0061】
他の実施例によると、基本角度モードは予め設定された第1角度範囲以内の角度に対応するモードであり、拡張角度モードは前記第1角度範囲を逸脱する広角モードである。つまり、基本角度モードはイントラ予測モード{2、3、4、…、66}のうちいずれか一つに対応する角度モードであり、拡張角度モードはイントラ予測モード{-10、-9、…、-1}及び{67、68、…、76}のうちいずれか一つに対応する角度モードである。拡張角度モードが指示する角度は、対応する基本角度モードが指示する角度の反対側の角度と決定される。よって、拡張角度モードが指示する角度はは基本角度モードが指示する角度に基づいて決定される。一方、拡張角度モードの個数はこれに限らず、現在ブロックのサイズ及び/または形状によって更なる拡張角度が定義される。例えば、拡張角度モードはイントラ予測モード{-14、-13、…、-1}及び{67、68、…、80}のうちいずれか一つに対応する角度モードとして定義されてもよい。一方、イントラ予測モードセットに含まれるイントラ予測モードの総個数は、上述した基本角度モードと拡張角度モードの構成によって可変する。
【0062】
前記実施例において、拡張角度モード間の間隔は、対応する基本角度モード間の間隔に基づいて設定される。例えば、拡張角度モード{3、5、7、…、65}間の間隔は、対応する基本角度モード{2、4、6、…、66}間の間隔に基づいて決定される。また、拡張角度モード{-10、-9、…、-1}間の間隔は、対応する反対側の基本角度モード{56、57、…、65}間の間隔に基づいて決定され、拡張角度モード{67、68、…、76}間の間隔は、対応する反対側の基本角度モード{3、4、…、12}間の間隔に基づいて決定される。拡張角度モード間の角度間隔は、対応する基本角度モード間の角度間隔と同じように設定される。また、イントラ予測モードセットにおいて、拡張角度モードの個数は基本角度モードの個数以下に設定される。
【0063】
本開示の実施例によると、拡張角度モードは基本角度モードに基づいてシグナリングされる。例えば、広角モード(つまり、拡張角度モード)は第1角度範囲以内の少なくとも一つの角度モード(つまり、基本角度モード)を代替する。代替される基本角度モードは、広角モードの反対側に対応する角度モードである。つまり、代替される基本角度モードは広角モードが指示する角度の反対方向の角度に対応するか、または前記反対方向の角度から予め設定されたオフセットインデックスだけ差がある角度に対応する角度モードである。本開示の実施例によると、予め設定されたオフセットインデックスは1である。代替される基本角度モードに対応するイントラ予測モードインデックスは広角モードに更にマッピングされて、該当広角モードをシグナリングする。例えば、広角モード{-10、-9、…、-1}はイントラ予測モードインデックス{57、58、…、66}によってそれぞれシグナリングされ、広角モード{67、68、…76}はイントラ予測モードインデックス{2、3、…、11}によってそれぞれシグナリングされる。このように基本角度モードのためのイントラ予測モードインデックスが拡張角度モードをシグナリングするようにすることで、各ブロックのイントラ予測に使用される角度モードの構成が互いに異なっても、同じセットのイントラ予測モードインデックスがイントラ予測モードのシグナリングに使用される。よって、イントラ予測モードの構成の変化によるシグナリングオーバーヘッドが最小化される。
【0064】
一方、拡張角度モードの使用可否は、現在ブロックの形状及びサイズのうち少なくとも一つに基づいて決定される。一実施例によると、現在ブロックのサイズが予め設定されたサイズより大きければ、拡張角度モードが現在ブロックのイントラ予測のために使用され、そうでなければ基本角度モードのみ現在ブロックのイントラ予測のために使用される。他の実施例によると、現在ブロックが正方形ではないブロックであれば、拡張角度モードが現在ブロックのイントラ予測のために使用され、現在ブロックが正方形ブロックであれば、基本角度モードのみ現在ブロックのイントラ予測のために使用される。
【0065】
イントラ予測部は現在ブロックのイントラ予測モード情報に基づいて、現在ブロックのイントラ予測に使用される参照ピクセル及び/または補間された参照ピクセルを決定する。イントラ予測モードインデックスが特定角度モードを指示すれば、現在ブロックの現在ピクセルから前記特定角度に対応する参照ピクセルまたは補間された参照ピクセルが現在ピクセルの予測に使用される。よって、イントラ予測モードに応じて互いに異なるセットの参照ピクセル及び/または補完された参照ピクセルがイントラ予測に使用される。参照ピクセル及びイントラ予測モード情報を利用して現在ブロックのイントラ予測が行われたら、デコーダは逆変換部から獲得された現在ブロックの残差信号を現在ブロックのイントラ予測値と足して、現在ブロックのピクセル値を復元する。
【0066】
図7は、本開示の一実施例によるビデオ信号処理装置の動作を示すフローチャートである。
【0067】
図7の各ステップについては図9乃至図13と共に詳しく説明する。
【0068】
図8は、本開示の一実施例によるBlock DPCM(BDPCM)の予測モード及び量子化された残差信号を示す図である。
【0069】
ブロック基盤デルタパルス符号変調(BDPCM)は画面内(イントラ)予測方法のうち一つである。BDPCMは2つの画面内(イントラ)予測モードを使用する。一般的な画面内予測モードのうち、垂直方向の予測モードと水平方向の予測モードを使用する。画面内予測モードの総個数が67個を使用する場合、垂直方向予測モードのインデックスは50であり、水平方向予測モードは18番である。BDPCMを使用する場合、2つのモードのうち一つをシグナリングする。現在コーディングブロックに対してBDPCMが適用される場合、参照サンプルはフィルタリングされていないサンプルを使用する。垂直方向予測モードがBDPCMに適用されれば、現在コーディングブロックの幅に当たるサンプルを使用することができ、各サンプルは該当列に同じ値と予測する。水平方向予測モードがBDPCMに適用されれば、現在コーディングブロックの高さに当たるサンプルを使用することができ、各サンプルは該当行の全てのサンプルを同じ値と予測する。BDPCMが適用されたブロックは変換過程を省略し、残差信号にコーディングしてデコーダに知らせる。図8の「A.BDPCM予測モード」は、残差信号コーディングに関する方法である。
【0070】
【数1】
【0071】
【数2】
【0072】
デコーダはエンコーダの反対に計算して量子化された残差信号を生成し、予測値に足して復元信号を作る。
【0073】
図9は、シーケンスパラメータセットに定義されたBDPCMフラッグを示す図である。
【0074】
上位レベルでBDPCMフラッグを定義し、該当機能をon/offする。上位レベル順に並べると、video parameter set、sequence parameter set、picture parameter setなどに区分される。本開示では、前記フラッグをsequence parameter set(SPS)に定義する。しかし、これに限らない。BDPCM活性情報(sps_bdpcm_enabled_flag)はBDPCMの活性可否を示す。ビデオ信号処理装置は、BDPCM活性情報(sps_bdpcm_enabled_flag)をビットストリームからパージングするステップ710を行う。BDPCM活性情報(sps_bdpcm_enabled_flag)が1であればBDPCMが活性化されることを指示する。その値が0であればBDPCMが非活性化されることを指示する。指示する値は反対に定義されてもよく、いかなる形態でも活性化と非活性化を指示してもよい。
【0075】
既に説明したように、図9においてBDPCM活性情報(sps_bdpcm_enabled_flag)はシーケンス単位で定義されているが、これに限らない。BDPCM活性情報(sps_bdpcm_enabled_flag)は、Coding Tree Unit(CTU)、スライス(slice)、タイル(tile)、タイルグループ(tile group)、ピクチャ(picture)、サブピクチャ(subpicture)、シーケンス(sequence)、またはビデオ(video)単位のうち少なくとも一つにシグナリングされる。BDPCM活性情報(sps_bdpcm_enabled_flag)がCoding Tree Unit(CTU)、スライス(slice)、タイル(tile)、タイルグループ(tile group)、ピクチャ(picture)、サブピクチャ(subpicture)、またはビデオ(video)単位でシグナリングされれば、BDPCM活性情報(sps_bdpcm_enabled_flag)の名称が異なり得る。しかし、その機能は同じである。
【0076】
図9を参照すると、BDPCM活性情報(sps_bdpcm_enabled_flag)は別途の条件なしにビットストリームからパージングされる。しかし、これに限らない。ビデオ信号処理装置は、変換スキップ情報(transform_skip_flag)が変換ユニット(transform unit)に存在するのか否かを示す変換スキップ活性化情報(sps_transform_skip_enabled_flag)をビットストリームからパージングする。変換ユニットはコーディングブロックに含まれたピクセルを変換するためのユニットであって、コーディングブロックに含まれる。また、現在変換ユニットは現在ブロックに含まれる。変換スキップ活性化情報(sps_transform_skip_enabled_flag)は変換スキップの使用可否を示す情報である。変換スキップ活性化情報(sps_transform_skip_enabled_flag)はシーケンス単位でシグナリングされる。変換スキップ活性化情報(sps_transform_skip_enabled_flag)が1であれば変換スキップ情報(transform_skip_flag)が存在することを示し、ビデオ信号処理装置は後に変換スキップ情報(transform_skip_flag)をビットストリームからパージングする。変換スキップ活性化情報(sps_transform_skip_enabled_flag)が0であれば変換スキップ情報(transform_skip_flag)が存在しないことを示し、ビデオ信号処理装置は後に変換スキップ情報(transform_skip_flag)をビットストリームからパージングしない。ビデオ信号処理装置はのうちデコーダが変換スキップ情報をパージングしないということは、ビデオ信号処理装置のうちエンコーダが変換スキップ情報を生成しないということを示す。本開示によると、変換スキップ活性化情報(sps_transform_skip_enabled_flag)が1であれば、ビデオ信号処理装置はBDPCM活性情報(sps_bdpcm_enabled_flag)をビットストリームからパージングする。
【0077】
図10は、コーディングユニットシンタックス構造の一部を示す図である。
【0078】
図10は予測しようとするコーディングブロック単位で必要な情報の構造を示し、エンコーダでは該当条件に合わせてシグナリングし、デコーダでも該当条件に合わせてビットストリームから情報をパージングして獲得する。該当コーディングブロックの左上側の座標(x0,y0)において、pcm_flag[x0][y0]がpcmモードが適用されないことを指示する0の値であれば、treeTypeがSINGLE_TREEであるのかDUAL_TREE_LUMAであるのかを確認する。treeTypeがSINGLE_TREEであるのかDUAL_TREE_LUMAである場合、ビデオ信号処理装置はイントラBDPCM情報(intra_bdpcm_flag)をビットストリームからパージングする。イントラBDPCM情報(intra_bdpcm_flag)は現在ブロックにBDPCMが適用されるのか否かを示す。イントラBDPCM情報(intra_bdpcm_flag)が1であれば、現在ブロックにBDPCMが適用されることを意味する。また、イントラBDPCM情報(intra_bdpcm_flag)が0であれば、現在ブロックにBDPCMが適用されないことを意味する。しかし、これに限らず、イントラBDPCM情報(intra_bdpcm_flag)が0であれば、現在ブロックにBDPCMが適用されることを意味し、イントラBDPCM情報(intra_bdpcm_flag)が1であれば、現在ブロックにBDPCMが適用されないことを意味してもよい。
【0079】
イントラBDPCM情報(intra_bdpcm_flag)はintra_bdpcm_flag[x0][y0]のような形式で表される。ここで、x0及びy0は現在ブロックの座標である。より詳しくは、x0及びy0は現在ブロックの左上側ピクセルの座標である。
【0080】
イントラBDPCM情報(intra_bdpcm_flag)がパージングされるためには、該当コーディングユニットの幅と高さに対する条件とBDPCM活性情報(sps_bdpcm_enabled_flag)の活性化/非活性化条件を満足すべきである。例えば、幅と高さはいずれも32であるかそれより小さく、BDPCM活性情報(sps_bdpcm_enabled_flag)は活性化を指示する1であるべきである。イントラBDPCM情報(intra_bdpcm_flag[x0][y0])が移用されたことを指示する1であれば、イントラBDPCM方向情報(intra_bdpcm_dir_flag[x0][y0])をシグナリング/パージングする。該当フラッグはBDPCMに適用される予測モードを指示する。予測モードは、18番水平方向予測モードと50数式方向予測モードのうち一つである。イントラBDPCM方向情報(intra_bdpcm_dir_flag[x0][y0])の値が0であれば18番イントラ予測モードであり、1であれば50番イントラ予測モードを指示する。上位レベルで定義されたsps_bdpcm_enabled_flagの値によってコーディングブロックにおけるBDPCM機能の使用有無が決定される。
【0081】
図11は、コーディングユニットシンタックスの一部を示す図面であって、BDPCM適用ブロックのサイズ変数を含む図である。
【0082】
BDPCMが適用されたブロックのサイズを予め設定された変数によって可変的に変更する方法、或いは予め設定された他の変数と共に適用することもできる。ビデオ信号処理装置はBDPCM活性情報(sps_bdpcm_enabled_flag)がBDPCMの活性化を示し、現在ブロックの幅が第1値(Value 1)より小さいか同じであって、現在ブロックの高さが第2値(Value 2)より小さいか同じである場合、現在ブロックにBDPCMが適用されるのか否かを示すイントラBDPCM情報(intra_bdpcm_flag)をビットストリームからパージングするステップ720を行う。
【0083】
より詳しくは、イントラBDPCM情報(intra_bdpcm_flag[x0][y0])をシグナリング/パージングするための条件は、コーディングブロックの幅(cbWidth)が第1値(Value 1)より小さいか同じであるか、コーディングブロックの高さ(cbHeight)第2値(Value 2)より小さいか同じ場合である。Value 1とValue 2は同じであるか互いに異なる値である。例えば、第1値(Value 1)及び第2値(Value 2)はtransform skipに適用された最大ブロックサイズ(MaxTsSize)である。transform skipに適用された最大ブロックサイズ(MaxTsSize)は変換スキップを許容する最大ブロックサイズである。変換スキップを許容する最大ブロックサイズ(MaxTsSize)は4乃至32の間の値である。変換スキップを許容する最大ブロックサイズ(MaxTsSize)は以下のように定義される。シンタックス変数log2_transform_skip_max_size_minus2はtransform skipが適用される最大ブロックサイズを指示し、その値は0乃至3の間である。該当変数(log2_transform_skip_max_size_minus2)が存在しなければ0と推論される。該当変数(log2_transform_skip_max_size_minus2)を利用して、変換スキップを許容する最大ブロックサイズ(MaxTsSize)は1<<(log2_transform_skip_max_size_minus2+2)のように設定される。
【0084】
他の方法として、transform skip条件に関するlog2_transform_skip_max_size_minus2を利用せずに別途のBDPCMのためのブロックサイズ変数を設定してもよい。例えば、変数MaxBdpcmSizeを利用する。MaxBdpcmSizeのサイズはlog2_bdpcm_max_size_minus2でシグナリングされる値に基づいて設定される。MaxBdpcmSizeは1<<(log2_transform_skip_max_size_minus2+2)に設定される。log2_transform_skip_max_size_minus2は0で最大値であり、最大値は7、6、5、4、3、2、1の値のうち一つである。Transform skip条件に関するlog2_transform_skip_max_size_minus2を使用する場合、追加の変数を設定する必要がなく、エンコーダからデコーダに追加に伝送される情報がない可能性がある。そうでなくlog2_transform_skip_max_size_minus2を利用する場合、log2_bdpcm_max_size_minus2のような追加の変数が必要となるが、ブロックの自由度が上がる。前記と類似した方法でValue 1とValue 2を異なるように設定することもできる。
【0085】
ビデオ信号処理装置は、イントラBDPCM情報(intra_bdpcm_flag)のシグナリング/パージング条件にsps_bdpcm_enabled_flagを含ませる。sps_bdpcm_enabled_flag&&cbWidth<=Value 1&&cbHeight<=Value 2のようになる。
【0086】
より詳しくは、図11は予測しようとするコーディングブロック単位で必要な情報の構造を示し、エンコーダでは該当条件に合わせてシグナリングし、デコーダでも該当条件に合わせてビットストリームから情報をパージングして獲得する。ライン1110を参照すると、ビデオ信号処理装置は、該当コーディングブロックの左上側の座標(x0,y0)でpcm_flag[x0][y0]がpcmモードが適用されないことを示すのか否かを決定する。ライン1120を参照すると、コーディングブロックの左上側の座標(x0,y0)において、pcm_flag[x0][y0]がpcmモードが適用されないことを指示する0の値と同じであれば、ビデオ信号処理装置はtreeTypeがSINGLE_TREEであるのかDUAL_TREE_LUMAであるのかを確認することができる。また、treeTypeがSINGLE_TREEであるかDUAL_TREE_LUMAである場合、ビデオ信号処理装置はBDPCM活性情報(sps_bdpcm_enabled_flag)がBDPCMの活性化を示すのか否か、現在ブロックの幅が第1値(Value 1)より小さいか或いは同じであるか、または現在ブロックの高さが第2値(Value 2)より小さいか或いは同じであるかを決定する。ライン1130にはBDPCM活性情報(sps_bdpcm_enabled_flag)がBDPCMの活性化を示すのか否かが記載されていないが、BDPCM活性情報(sps_bdpcm_enabled_flag)がBDPCMの活性化を示すのか否かも判断される。ここで、第1値及び第2値は変換スキップを許容する最大ブロックサイズ(MaxTsSize)である。変換スキップを許容する最大ブロックサイズ(MaxTsSize)については既に説明したため、重複する説明は省略する。
【0087】
ライン1140を参照すると、ビデオ信号処理装置はBDPCM活性情報(sps_bdpcm_enabled_flag)がBDPCMの活性化を示し、現在ブロックの幅が第1値より小さいか同じであって、現在ブロックの高さが第2値より小さいか同じである場合、イントラBDPCM情報(intra_bdpcm_flag)をビットストリームからパージングするステップ720を行う。
【0088】
イントラBDPCM情報(intra_bdpcm_flag)は現在ブロックにBDPCMが適用されるのか否かを示す。イントラBDPCM情報(intra_bdpcm_flag)はintra_bdpcm_flag[x0][y0]のような形式で表される。ここで、x0及びy0は現在ブロックの座標である。より詳しくは、x0及びy0は現在ブロックの左上側ピクセルの座標である。
【0089】
ライン1150を参照すると、ビデオ信号処理装置はイントラBDPCM情報(intra_bdpcm_flag[x0][y0])がBDPCMの使用を示すのか否かを決定する。ライン1160を参照すると、イントラBDPCM情報(intra_bdpcm_flag)が現在ブロックにBDPCMを適用することを示す場合、現在ブロックに対するイントラBDPCM方向情報(intra_bdpcm_dir_flag)をビットストリームからパージングするステップ730を行う。イントラBDPCM方向情報(intra_bdpcm_dir_flag)は水平方向または垂直方向のうち一つを示す。例えば、イントラBDPCM方向情報(intra_bdpcm_dir_flag)が0であれば水平方向を示す。また、イントラBDPCM方向情報(intra_bdpcm_dir_flag)が1であれば垂直方向を示す。しかし、これに限らず、イントラBDPCM方向情報(intra_bdpcm_dir_flag)が1であれば水平モードを示し、イントラBDPCM方向情報(intra_bdpcm_dir_flag)が0であれば垂直モードを示してもよい。
【0090】
イントラBDPCM方向情報(intra_bdpcm_dir_flag)はBDPCMに適用された予測モードを指示する。予測モードは、18番イントラ予測モードまたは50番イントラ予測モードのうち一つである。18番イントラ予測モードは水平方向予測モードであり、50番イントラ予測モードは垂直方向予測モードである。イントラBDPCM方向情報(intra_bdpcm_dir_flag[x0][y0])の値が0であればBDPCM予測方法は水平方向を示し、イントラBDPCM方向情報(intra_bdpcm_dir_flag[x0][y0])の値が1であればBDPCM予測方向は垂直方向を示す。また、イントラBDPCM方向情報(intra_bdpcm_dir_flag[x0][y0])の値が0であれば18番イントラ予測モードを指示し、1であれば50番イントラ予測モードを指示する。上位レベルで定義されたBDPCM活性情報(sps_bdpcm_enabled_flag)の値によってコーディングブロックにおける該当機能の使用有無が決定される。
【0091】
イントラBDPCM情報(intra_bdpcm_flag)及びイントラBDPCM方向情報(intra_bdpcm_dir_flag)はクロマ成分及びルマ成分別にパージングされる。イントラBDPCM情報(intra_bdpcm_flag)及びイントラBDPCM方向情報(intra_bdpcm_dir_flag)はクロマ成分に関わらずルマ成分のためにパージングされる。つまり、ビデオ信号処理装置は既に説明したような方式でルマ成分に対するイントラBDPCM情報(intra_bdpcm_luma_flag)またはルマ成分に対するイントラBDPCM方向情報(intra_bdpcm_luma_dir_flag)をパージングし、類似した方式でクロマ成分に対するイントラBDPCM情報(intra_bdpcm_chroma_flag)またはクロマ成分に対するイントラBDPCM方向情報(intra_bdpcm_chroma_dir_flag)をパージングする。
ルマ成分に対するイントラBDPCM情報(intra_bdpcm_luma_flag)及びルマ成分に対するイントラBDPCM方向情報(intra_bdpcm_luma_dir_flag)を獲得する過程は、クロマ成分に対するイントラBDPCM情報(intra_bdpcm_chroma_flag)及びクロマ成分に対するイントラBDPCM方向情報(intra_bdpcm_chroma_dir_flag)を獲得する過程と多少差がある。なぜならば、ルマ成分の現在ブロック及びクロマ成分の現在ブロックは互いに異なり得るためである。より詳しくは、ルマ成分の現在ブロックのサイズまたは位置はクロマ成分の現在ブロックのサイズまたは位置と異なり得る。ビデオ信号処理装置はBDPCM活性情報(sps_bdpcm_enabled_flag)がBDPCMの活性化を示し、現在ルマコーディングブロックの幅が第1値より小さいか同じでって、現在ルマコーディングブロックの高さが第2値より小さいか同じである場合、ルマ成分に対するイントラBDPCM情報(intra_bdpcm_luma_flag)をビットストリームからパージングする。類似して、ビデオ信号処理装置はBDPCM活性情報(sps_bdpcm_enabled_flag)がBDPCMの活性化を示し、現在クロマコーディングブロックの幅が第1値より小さいか同じでって、現在クロマコーディングブロックの高さが第2値より小さいか同じである場合、クロマ成分に対するイントラBDPCM情報(intra_bdpcm_chroma_flag)をビットストリームからパージングする。また、ルマ成分に対するイントラBDPCM情報(intra_bdpcm_luma_flag)が現在ルマコーディングブロックにBDPCMを適用することを示す場合、現在ルマコーディングブロックに対するルマイントラBDPCM方向情報(intra_bdpcm_luma_dir_flag)をビットストリームからパージングするステップを行う。類似して、クロマ成分に対するイントラBDPCM情報(intra_bdpcm_chroma_flag)が現在クロマコーディングブロックにBDPCMを適用することを示す場合、現在クロマコーディングブロックに対するクロマイントラBDPCM方向情報(intra_bdpcm_chroma_dir_flag)をビットストリームからパージングするステップを行う。ここで、第1値及び第2値は変換スキップを許容する最大ブロックサイズ(MaxTsSize)である。
【0092】
本開示において、イントラBDPCM情報(intra_bdpcm_flag)は、ルマ成分に対するイントラBDPCM情報(intra_bdpcm_luma_flag)及びクロマ成分に対するイントラBDPCM情報(intra_bdpcm_chroma_flag)を含む。また、本開示において、イントラBDPCM方向情報(intra_bdpcm_dir_flag)は、ルマ成分に対するイントラBDPCM方向情報(intra_bdpcm_luma_dir_flag)及びクロマ成分に対するイントラBDPCM方向情報(intra_bdpcm_chroma_dir_flag)を含む。
【0093】
ビデオ信号処理装置は、イントラBDPCM方向情報(intra_bdpcm_dir_flag)に基づいて現在ブロックを復元するステップ740を行う。イントラBDPCM方向情報(intra_bdpcm_dir_flag)に基づいて現在ブロックを復元するステップ740については図8と共に説明したため、重複する説明は省略する。
【0094】
図12は、変換ユニットシンタックスの一部を示す図である。
【0095】
BDPCMが適用されたコーディングブロックは、変換過程なしに図8で説明した方法で残差信号をコーディングする。該当ブロックが変換過程を適用しないようにするシンタックス変数は、変換スキップ情報(transform_skip_flag)である。つまり、変換スキップ情報(transform_skip_flag)は該当ブロックに対して変換を適用するのか否かを示す。または、変換スキップ情報(transform_skip_flag)が予め指定された値と同じであれば、変換スキップ情報(transform_skip_flag)は前記現在ブロックに対して変換が適用されないことを示す。変換スキップ情報(transform_skip_flag)が1であれば、該当変換ブロックに対して変換がスキップされる。また、変換スキップ情報(transform_skip_flag)が0であれば、該当変換ブロックに対して変換がスキップされない。しかし、これに限らず、変換スキップ情報(transform_skip_flag)が0であれば、該当変換ブロックに対して変換がスキップされてもよい。また、変換スキップ情報(transform_skip_flag)が1であれば、該当変換ブロックに対して変換がスキップされなくてもよい。
【0096】
変換スキップ情報(transform_skip_flag)はカラー成分別にtransform_skip_flag[x0][y0]のような形式で表される。ここで、x0及びy0は該当変換ブロックの座標である。より詳しくは、x0及びy0は該当ブロックの左上側ピクセルの座標である。既に説明したように、現在ブロックは少なくとも一つの変換ブロックを含む。エンコーダは変換ブロック単位で変換を行い、デコーダは変換ブロック単位で逆変換を行う。
【0097】
変換スキップ情報(transform_skip_flag[x0][y0])をシグナリング/パージングするための条件として、まず、tu_cbf_luma[x0][y0]値が1であるのか、treeTypeがDUAL_TYPE_TREE_CHROMAと異なるのか、コーディングユニットの幅と高さが32より小さいかまたは同じであるのか、IntraSubPartitionsSplit[x0][y0]がISP_NO_SPLITと同じであるのか、cu_sbt_flagが0であるのか、イントラBDPCM情報(intra_bdpcm_flag[x0][y0])が0であるのかを満足すべきである。また、transform_skip_enabled_flag&&tbWidth<=MaxTsSize&&tbHeight<=MaxTsSizeの条件も満足すべきである。tbWidthは変換ブロックの幅を示す変数、tbHeightは変換ブロックの高さを示す変数である。
【0098】
前記条件は例示的なものであって、前記条件のうち一部は他の条件に代替されるか削除されてもよい。また、他の条件が追加されてもよい。但し、前記条件のうち一部は維持されて、映像のエンコーディングまたはデコーディングの効率を上げる。例えば、既に説明したように、BDPCMが適用されたコーディングブロックはtransform skipが適用されるため、別途の情報をシグナリング/パージングせずに推論してtransform skipの適用を知る。つまり、イントラBDPCM情報(intra_bdpcm_flag)が現在ブロックにBDPCMを適用することを示す場合、現在ブロックに対して変換を適用するのか否かを示す変換スキップ情報(transform_skip_flag)をパージングしない。既に説明したように、イントラBDPCM情報(intra_bdpcm_flag)が1であれば、現在ブロックにBDPCMが適用されることを示す。イントラBDPCM情報(intra_bdpcm_flag)が現在ブロックにBDPCMを適用しないことを示す場合、ビデオ信号処理装置は、上述した条件のうち少なくとも一つを更に判断して、変換スキップ情報(transform_skip_flag)をパージングするのか否かを決定する。
【0099】
前記条件のうち一部を満足しなければ変換スキップ情報(transform_skip_flag)をパージングしないため、変換スキップ情報(transform_skip_flag[x0][y0])が存在しない場合が発生する可能性がある。例えば、イントラBDPCM情報(intra_bdpcm_flag)が現在ブロックにBDPCMを適用することを示す場合、変換スキップ情報(transform_skip_flag[x0][y0])が存在しない。ビデオ信号処理装置は、イントラBDPCM情報(intra_bdpcm_flag)に基づいてtransform_skip_flagを推論し、transform skipの適用可否を知る。
【0100】
例えば、変換スキップ情報(transform_skip_flag[x0][y0])がなく、イントラBDPCM情報(intra_bdpcm_flag[x0][y0])が1であれば、ビデオ信号処理装置は、変換スキップ情報(transform_skip_flag[x0][y0])を第1推論値として推論する。ここで、イントラBDPCM情報(intra_bdpcm_flag)が1であるということは、現在ブロックにBDPCMを適用することを示す。変換スキップ情報の値が第1推論値であれば、変換スキップ情報に当たるブロックに対して変換が適用されないことを示す。
【0101】
また、変換スキップ情報(transform_skip_flag[x0][y0])がなく、イントラBDPCM情報(intra_bdpcm_flag[x0][y0])が0であれば、ビデオ信号処理装置は、変換スキップ情報(transform_skip_flag[x0][y0])を第2推論値として推論する。ここで、イントラBDPCM情報(intra_bdpcm_flag)が0であるということは、現在ブロックにBDPCMを適用しないことを示す。変換スキップ情報の値が第2推論値であれば、変換スキップ情報に当たるブロックに対して変換が適用されることを示す。ここで、第1推論値は1で、第2推論値は0である。しかし、これに限らず、第1推論値は0で、第2推論値は1であってもよい。
【0102】
BDPCMが適用されたブロックの変換スキップ情報(transform_skip_flag[x0][y0])が1であれば、residual_ts_coding()関数を呼び出す。この関数によって、図8で変換された残差信号がコーディングされる。更に、同じ方法でtbWidthとtbHeightのMinBdpcmSize条件も追加される。該当値は上位レベルで類似した方法でシグナリングされ計算される。図13のような条件にもMinBdpcmSize条件を追加して適用してもよい。
【0103】
図13は、変換ユニットシンタックスの一部分内でtransform skipフラッグのシグナリング/パージング条件を示す図である。
【0104】
図13は前記図12と類似した実施例である。BDPCMが適用されたコーディングブロックはtransform skipが適用されるため、別途の情報をシグナリング/パージングせずに推論してtransform skipの適用を知る。よって、BDPCMが適用されないことを指示する条件をtransform skipフラッグをシグナリング/パージングする条件に追加する。
【0105】
前記図13のように、ビデオ信号処理装置は、変換スキップ情報(transform_skip_flag)をパージングするための条件として、(transform_skip_enabled_flag&&tbWidth<=MaxTsSize&&tbHeight<=MaxTsSize&&(!intra_bdpcm_flag[x0][y0]))のような条件を使用する。また、ビデオ信号処理装置は、transform_skip_enabled_flagが1で、tbWidth<=MaxTsSizeを満足し、tbHeight<=MaxTsSizeを満足し、intra_bdpcm_flag[x0][y0]が0であれば変換スキップ情報(transform_skip_flag)をパージングする。つまり、transform skip条件とBDPCMが適用されないブロックでのみtransform_skip_flag[x0][y0]をシグナリング/パージングするようにする。
【0106】
変換スキップ情報(transform_skip_flag[x0][y0])をシグナリング/パージングするための条件は以下のようである。ライン1310を参照すると、ビデオ信号処理装置は、tu_cbf_luma[x0][y0]値が1であるのか、treeTypeがDUAL_TYPE_TREE_CHROMAと異なるのか、変換ブロックの幅(tbWidth)と高さ(tbHeight)が32より小さいかまたは同じであるのか、IntraSubPartitionsSplit[x0][y0]がISP_NO_SPLITと同じであるのか、cu_sbt_flagが0であるのか、イントラBDPCM情報(intra_bdpcm_flag[x0][y0])が0であるのかを確認する。既に説明したように、イントラBDPCM情報(intra_bdpcm_flag)が0であるということは、現在ブロックにBDPCMが適用されないことを意味する。また、ライン1320を参照すると、ビデオ信号処理装置は、transform_skip_enabled_flag&&tbWidth<=MaxTsSize&&tbHeight<=MaxTsSizeの条件を満足するのか否かを決定する。
【0107】
前記条件は例示的なものであって、前記条件のうち一部は他の条件に代替されるか削除されてもよい。また、他の条件が追加されてもよい。但し、前記条件のうち一部は維持されて、映像のエンコーディングまたはデコーディングの効率を上げる。例えば、既に説明したように、BDPCMが適用されたコーディングブロックはtransform skipが適用されるため、別途の情報をシグナリング/パージングしない。つまり、イントラBDPCM情報(intra_bdpcm_flag)が現在ブロックにBDPCMを適用することを示す場合、現在ブロックに対して変換を適用するのか否かを示す変換スキップ情報(transform_skip_flag)をパージングしない。既に説明したように、イントラBDPCM情報(intra_bdpcm_flag)が1であれば、現在ブロックにBDPCMが適用されることを示す。イントラBDPCM情報(intra_bdpcm_flag)が現在ブロックにBDPCMを適用しないことを示す場合、ビデオ信号処理装置は、上述した条件のうち少なくとも一つを更に判断して、変換スキップ情報(transform_skip_flag)をパージングするのか否かを決定する。
【0108】
前記条件のうち少なくとも一つを満足しない場合、変換スキップ情報(transform_skip_flag[x0][y0])が存在しない場合が発生する可能性がある。例えば、イントラBDPCM情報(intra_bdpcm_flag)が現在ブロックにBDPCMを適用することを示す場合、変換スキップ情報(transform_skip_flag[x0][y0])が存在しない。ビデオ信号処理装置は、イントラBDPCM情報(intra_bdpcm_flag)に基づいてtransform_skip_flagを推論し、transform skipの適用可否を知る。例えば、変換スキップ情報(transform_skip_flag[x0][y0])がなく、イントラBDPCM情報(intra_bdpcm_flag[x0][y0])が1であれば、ビデオ信号処理装置は、変換スキップ情報(transform_skip_flag[x0][y0])を1に推論する。ここで、イントラBDPCM情報(intra_bdpcm_flag)が1であるということは、現在ブロックにBDPCMを適用することを示す。逆に、変換スキップ情報(transform_skip_flag[x0][y0])がなく、イントラBDPCM情報(intra_bdpcm_flag[x0][y0])が0であれば、ビデオ信号処理装置は、変換スキップ情報(transform_skip_flag[x0][y0])を0に推論する。ここで、イントラBDPCM情報(intra_bdpcm_flag)が0であるということは、現在ブロックにBDPCMを適用しないことを示す。このように、エンコーダは重複する情報を伝送せず、デコーダはパージングしないことで、エンコーディング/デコーディングの効率が上がる。エンコーダはtransform_skip_flagを生成しないためエンコーディングの効率を上げ、ビットストリームの容量を減らす。また、デコーダはパージング過程なしに情報を推論することで、コンピューティングの効率を上げる。
【0109】
変換スキップ情報(transform_skip_flag)はクロマ成分及びルマ成分別にパージングされる。クロマ成分はCb、Crを含む。変換スキップ情報(transform_skip_flag)はCb及びCr別にパージングされる。変換スキップ情報(transform_skip_flag)はクロマ成分に関わらずルマ成分のためにパージングされてもよい。変換スキップ情報(transform_skip_flag)はルマ成分に関わらずクロマ成分のためにパージングされてもよい。ビデオ信号処理装置は、ルマ成分に対する変換スキップ情報(transform_skip_flag)を獲得し、クロマ成分に対する変換スキップ情報(transform_skip_flag)を獲得する。また、変換スキップ情報(transform_skip_flag)がなければ、変換スキップ情報(transform_skip_flag)はクロマ成分及びルマ成分別に推論される。ビデオ信号処理装置は、既に説明したような方法を利用して変換スキップ情報(transform_skip_flag)を推論する。または、ビデオ信号処理装置は、ルマ成分に対する変換スキップ情報(transform_skip_flag)を利用して、クロマ成分に対する変換スキップ情報(transform_skip_flag)を推論してもよい。
【0110】
図14は、BDPCMが適用されたブロックの画面内予測モード変数との関係を示す図である。
【0111】
BDPCMが適用されたブロックはintra_bdpcm_dir_flag[x0][y0]の値によってイントラ(画面内)予測モードを指示する。例えば、ビデオ信号処理装置は、イントラBDPCM方向情報(intra_bdpcm_dir_flag)が0であれば、複数のイントラモードのうち水平方向に当たるイントラ予測モード(18番モード)を現在ブロックのイントラ予測モードとして選択するステップを行う。また、ビデオ信号処理装置は、イントラBDPCM方向情報(intra_bdpcm_dir_flag)が1であれば、複数のイントラモードのうち垂直方向に当たるイントラ予測モード(50モード)を現在ブロックのイントラ予測モードとして選択するステップを行う。
【0112】
BDPCMが適用されたブロックで使用された画面内予測モードは一般的な画面内予測モードとその方式が同じであるため、該当モードを現在予測ブロックのイントラ予測モードを示す変数(IntraPredModeY[xCb][yCb])として保存して一般コーディングブロックのMPMを誘導する際に使用する。つまり、現在ブロックのイントラ予測モードは、現在ブロックの後で復元される周辺ブロックのイントラ予測モードを決定するために使用される。また、ビデオ信号処理装置は、現在ブロックの後で復元される周辺ブロックのイントラ予測モードを決定するための候補として現在ブロックのイントラ予測モードを保存する。ビデオ信号処理装置は、パージングされた情報に基づいて保存された複数の候補のうち一つを選択して、現在ブロックの後で復元される周辺ブロックのイントラ予測モードを決定する。
【0113】
また、既に復元されたコーディングブロックのイントラ予測モードは、現在ブロックのイントラ予測モードを決定するために使用される。ビデオ信号処理装置は、現在ブロックのイントラ予測モードを決定するための候補として既に復元されたコーディングブロックのイントラ予測モードを保存する。ビデオ信号処理装置は、パージングされた情報に基づいて保存された複数の候補のうち一つを選択して、現在ブロックのイントラ予測モードを決定する。
【0114】
例えば、現在ブロックはBDPCMが適用されたブロックではない一般ブロックであり、既に復元された隣のブロックのうち一つがBDPCMが適用されたブロックで、intra_bdpcm_dir_flag[x0][y0]が0であれば、IntraPredModeY[xCb][yCb]は18番イントラ予測モードを保存する。ビデオ信号処理装置は、一般コーディングブロックをエンコーディングするかデコーディングするために、既に復元された隣のブロックの18番イントラ予測モードを使用する。より詳しくは、ビデオ信号処理装置は、現在ブロックに対してMPMを誘導する際、既に復元された隣のブロックの18番イントラ予測モードを使用する。BDPCMが適用されたブロックの予測モードは最終残差信号を最小化することが目的であるため予測方法は同じであってもよいが、残渣のパターンが一般的な状況とは異なり得るため、予め設定された値を使用する。BDPCMの水平方向モードに垂直方向に、BDPCMの垂直方向モードに水平方向に、或いはBDPCMの2つ方向に一つのモードにDCモードを設定する。
【0115】
前記内容なデコーダの観点で記述されたが、エンコーダでも同じく動作する。前記内容のうちパージングという用語はビットストリームから情報を獲得する過程で重点的に説明したが、エンコーダの側面ではビットストリームに該当情報を構成すると解釈される。よって、パージングという用語はデコーダの動作にのみ限らず、エンコーダではビットストリームを構成する行為にまで解釈される。
【0116】
上述した本発明の実施例は多様な手段を介して具現される。例えば、本発明の実施例は、ハードウェア、ファームウェア(firmware)、ソフトフェアまたはそれらの組み合わせによって具現される。
【0117】
ハードウェアによる具現の場合、本発明の実施例による方法は、一つまたはそれ以上のASICs(Application Specific Integrated Circuits)、DSPs(Digital Signal Processors)、DSDPs(Digital Signal Processing Devices)、PDLs(Programmable Logic Devices)、FPGAs(Field Programmable Gate Arrays)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサなどによって具現される。
【0118】
ファームフェアやソフトウェアによる具現の場合、本発明の実施例による方法は、上述した機能または動作を行うモジュール、手順または関数などの形態で具現される。ソフトウェアコードは、メモリに貯蔵されてプロセッサによって具現される。前記メモリはプロセッサの内部または外部に位置し、既に公知の多様な手段によってプロセッサとデータを交換する。
【0119】
上述した本発明の説明は例示のためのものであって、本発明が属する技術分野における通常の知識を有する者は、本発明の技術的思想や必須的特徴を変更せずも他の具体的な形態に容易に変更可能であることを理解できるはずである。よって、上述した実施例は全ての面で例示的なものであり、限定的なものではないと理解すべきである。例えば、単一型として説明されている各構成要素は分散されて実施されてもよく、同じく分散されていると説明されている構成要素も結合された形態で実施されてもよい。
【0120】
以上、前述した本発明の好ましい実施例は、例示の目的のために開示されたものであり、当業者であれば、以下に添付する特許請求の範囲に開示される本発明の技術的思想とその技術的範囲内で、様々な他の実施例へと改良、変更、代替又は付加などが可能であろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14