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

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

▶ エルジー エレクトロニクス インコーポレイティドの特許一覧

特許7436717シンタックスデザイン方法及びシンタックスを用いてコーディングを行う装置
<>
  • 特許-シンタックスデザイン方法及びシンタックスを用いてコーディングを行う装置 図1
  • 特許-シンタックスデザイン方法及びシンタックスを用いてコーディングを行う装置 図2
  • 特許-シンタックスデザイン方法及びシンタックスを用いてコーディングを行う装置 図3
  • 特許-シンタックスデザイン方法及びシンタックスを用いてコーディングを行う装置 図4
  • 特許-シンタックスデザイン方法及びシンタックスを用いてコーディングを行う装置 図5
  • 特許-シンタックスデザイン方法及びシンタックスを用いてコーディングを行う装置 図6
  • 特許-シンタックスデザイン方法及びシンタックスを用いてコーディングを行う装置 図7
  • 特許-シンタックスデザイン方法及びシンタックスを用いてコーディングを行う装置 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-13
(45)【発行日】2024-02-22
(54)【発明の名称】シンタックスデザイン方法及びシンタックスを用いてコーディングを行う装置
(51)【国際特許分類】
   H04N 19/70 20140101AFI20240214BHJP
   H04N 19/52 20140101ALI20240214BHJP
【FI】
H04N19/70
H04N19/52
【請求項の数】 11
(21)【出願番号】P 2023021539
(22)【出願日】2023-02-15
(62)【分割の表示】P 2021519150の分割
【原出願日】2019-10-08
(65)【公開番号】P2023055997
(43)【公開日】2023-04-18
【審査請求日】2023-02-15
(31)【優先権主張番号】62/742,456
(32)【優先日】2018-10-08
(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)【発明者】
【氏名】イム チェヒョン
【審査官】田中 純一
(56)【参考文献】
【文献】特表2019-519980(JP,A)
【文献】米国特許出願公開第2017/0332095(US,A1)
【文献】Benjamin Bross, Jianle Chen, Shan Liu,Versatile Video Coding (Draft 2) [online], JVET-K JVET-K1001-v6,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K1001-v6.zip>,2018年09月21日,i-iii, 1-131
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
デコード装置によって行われる画像デコード方法において、
アフィンイネーブルフラグ情報とサブブロック時間的動きベクトル予測イネーブルフラグ情報を含む画像情報を受信するステップと、
サブブロックベース特定マージモードが現在ブロックに適用されるかに関連する特定フラグ情報を受信するか決定するステップと、
前記決定に基づいて前記特定フラグ情報を受信するステップと、
前記特定フラグ情報と、前記アフィンイネーブルフラグ情報と、前記サブブロック時間的動きベクトル予測イネーブルフラグ情報とに基づいて、前記サブブロックベース特定マージモードに対する特定マージインデックスを受信するかをチェックするステップと、
前記決定の結果に基づいて前記現在ブロックの予測モードを導出するステップと、
前記導出された予測モードに基づいて前記現在ブロックにインター予測を適用することにより前記現在ブロックに対する予測サンプルを導出するステップと、
前記予測サンプルに基づいて再構成サンプルを生成するステップとを含み、
前記アフィンイネーブルフラグ情報と前記サブブロック時間的動きベクトル予測イネーブルフラグ情報の少なくとも一つに基づいて、前記特定フラグ情報の受信を実行するかを決定
前記特定フラグ情報の値が1に等しい場合に基づいて、前記アフィンイネーブルフラグ情報の値は0に等しく、前記サブブロック時間的動きベクトル予測エネーブルフラグ情報が1に等しい場合に基づいて、前記特定マージインデックスが受信されないことがチェックされる、画像デコード方法。
【請求項2】
前記アフィンイネーブルフラグ情報の値が0と等しいことと、前記サブブロック時間的動きベクトル予測イネーブルフラグ情報の値が1に等しいことに基づいて、前記特定フラグ情報を受信すると決定する、請求項1に記載の画像デコード方法。
【請求項3】
前記アフィンイネーブルフラグ情報の値が1と等しいことと、前記現在ブロックの幅と高さが8に等しいかより大きいことに基づいて、前記特定フラグ情報を受信すると決定する、請求項1に記載の画像デコード方法。
【請求項4】
前記特定フラグ情報が受信されるかを決定することは、以下の方程式に基づいて実行され、
((sps_affine_enabled_flag && cbWidth>=8 && cbHeight>=8)||sps_sbtmvp_enabled_flag)
ここで、sps_affine_enabled_flagは、前記アフィンイネーブルフラグ情報を表し、sps_sbtmvp_enabled_flagは、前記サブブロック時間的動きベクトル予測イネーブルフラグ情報を表し、cbWidthとcbHeightは、それぞれ、前記現在ブロックの幅及び高さを表す、請求項1に記載の画像デコード方法。
【請求項5】
前記サブブロックベース特定マージモードは、アフィンマージモード又はサブブロックベースマージモードである、請求項1に記載の画像デコード方法。
【請求項6】
エンコーディング装置が実行する画像エンコード方法であって、
アフィンイネーブルフラグ情報とサブブロック時間的動きベクトル予測イネーブルフラグ情報を導出するステップと、
サブブロックベース特定マージモードが現在ブロックに適用されるかに関連する特定フラグ情報をシグナリングする(signal)か決定するステップと、
前記決定に基づいて前記特定フラグ情報を導出するステップと、
前記特定フラグ情報と、前記アフィンイネーブルフラグ情報と、前記サブブロック時間的動きベクトル予測イネーブルフラグ情報とに基づいて、前記サブブロックベース特定マージモードに対する特定マージインデックスをシグナルするかをチェックするステップと、
前記アフィンイネーブルフラグ情報と、前記サブブロック時間的動きベクトル予測イネーブルフラグ情報と、前記特定フラグ情報と、前記特定マージインデックスの少なくとも一つを含む画像情報をエンコーディングするステップとを含み、
前記特定フラグ情報をシグナリングする(signal)かを決定するステップは、前記アフィンイネーブルフラグ情報と前記サブブロック時間的動きベクトル予測イネーブルフラグ情報の少なくとも一つに基づいて実行され、
前記特定フラグ情報の値が1に等しい場合に基づいて、前記アフィンイネーブルフラグ情報の値は0に等しく、前記サブブロック時間的動きベクトル予測エネーブルフラグ情報が1に等しい場合に基づいて、前記特定マージインデックスが受信されないことがチェックされる、画像エンコード方法。
【請求項7】
前記アフィンイネーブルフラグ情報の値が0と等しいことと、前記サブブロック時間的動きベクトル予測イネーブルフラグ情報の値が1に等しいことに基づいて、前記特定フラグ情報を受信すると決定する、請求項に記載の画像エンコード方法。
【請求項8】
前記アフィンイネーブルフラグ情報の値が1と等しいことと、前記現在ブロックの幅と高さが8に等しいかより大きいことに基づいて、前記特定フラグ情報をシグナリングする(signal)と決定する、請求項に記載の画像エンコード方法。
【請求項9】
前記特定フラグ情報がシグナリング(signal)されるかを決定することは、以下の方程式に基づいて実行され、
((sps_affine_enabled_flag && cbWidth>=8 && cbHeight>=8)||sps_sbtmvp_enabled_flag)
ここで、sps_affine_enabled_flagは、前記アフィンイネーブルフラグ情報を表し、sps_sbtmvp_enabled_flagは、前記サブブロック時間的動きベクトル予測イネーブルフラグ情報を表し、cbWidthとcbHeightは、それぞれ、前記現在ブロックの幅及び高さを表す、請求項に記載の画像エンコード方法。
【請求項10】
前記サブブロックベース特定マージモードは、アフィンマージモード又はサブブロックベースマージモードである、請求項に記載の画像エンコード方法。
【請求項11】
画像に対するデータを送信する方法であって、
ビットストリームを取得するステップであって、前記ビットストリームは、アフィンイネーブルフラグ情報とサブブロック時間的動きベクトル予測イネーブルフラグ情報を導出し、サブブロックベース特定マージモードが現在ブロックに適用されるかに関連する特定フラグ情報をシグナルするか決定し、前記決定に基づいて前記特定フラグ情報を導出し、前記特定フラグ情報と、前記アフィンイネーブルフラグ情報と、前記サブブロック時間的動きベクトル予測イネーブルフラグ情報とに基づいて、前記サブブロックベース特定マージモードに対する特定マージインデックスをシグナルするかをチェックすることに基づいて生成される、ステップと、
前記アフィンイネーブルフラグ情報と、前記サブブロック時間的動きベクトル予測イネーブルフラグ情報と、前記特定フラグ情報と前記特定マージインデックスの少なくとも一つを含む画像情報をエンコーディングすることにより前記ビットストリームを生成するステップと、
前記ビットストリームを含む前記データを送信するステップと含み、
前記アフィンイネーブルフラグ情報と前記サブブロック時間的動きベクトル予測イネーブルフラグ情報の少なくとも一つに基づいて、前記特定フラグ情報をシグナルすることを実行するかを決定
前記特定フラグ情報の値が1に等しい場合に基づいて、前記アフィンイネーブルフラグ情報の値は0に等しく、前記サブブロック時間的動きベクトル予測エネーブルフラグ情報が1に等しい場合に基づいて、前記特定マージインデックスが受信されないことがチェックされる、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像コーディング技術に関し、より詳細には、画像コーディングシステムにおいて、シンタックスデザイン方法及びシンタックスを用いてコーディングを行う装置に関する。
【背景技術】
【0002】
近年、4Kまたは8K以上のUHD(Ultra High Definition)画像/ビデオのような高解像度、高品質の画像/ビデオに対する需要が様々な分野で増加している。画像/ビデオデータが高解像度、高品質になるほど、既存の画像/ビデオデータに比べて相対的に送信される情報量またはビット量が増加するので、既存の有無線広帯域回線のような媒体を利用して画像データを送信するか、既存の格納媒体を利用して画像/ビデオデータを格納する場合、送信費用と格納費用が増加される。
【0003】
また、近年、VR(Virtual Reality)、AR(Artificial Realtiy)コンテンツやホログラムなどの実感メディア(Immersive Media)に対する関心及び需要が増加しており、ゲーム画像のように、現実画像と異なる画像特性を有する画像/ビデオに対する放送が増加している。
【0004】
これにより、上記のような様々な特性を有する高解像度・高品質の画像/ビデオの情報を効果的に圧縮して送信するか、格納し、再生するために高効率の画像/ビデオ圧縮技術が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の技術的課題は、画像コーディング効率を上げる方法及び装置を提供することにある。
【0006】
本開示の他の技術的課題は、シンタックスデザイン方法及びシンタックスを用いてコーディングを行う装置を提供することにある。
【0007】
本開示のさらに他の技術的課題は、ハイレベルシンタックス及びローレベルシンタックスデザイン方法及びシンタックスを用いてコーディングを行う装置を提供することにある。
【0008】
本開示のさらに他の技術的課題は、サブブロックに基づいて動き予測を行うためのハイレベル及び/又はローレベルシンタックス要素を用いる方法及び装置を提供することにある。
【0009】
本開示のさらに他の技術的課題は、アフィン(affine)モデルに基づいて動き予測を行うためのハイレベル及び/又はローレベルシンタックス要素を用いる方法及び装置を提供することにある。
【0010】
本開示のさらに他の技術的課題は、アフィンフラグ及びサブブロックTMVPフラグに基づいて、予め決定されたマージモードを現在ブロックに適用するか否かを表す既決定マージモードフラグをデコードするか否かを決定する方法及び装置を提供することにある。
【課題を解決するための手段】
【0011】
本開示の一実施形態によれば、デコード装置によって行われる画像デコード方法が提供される。上記方法は、ビットストリームに基づいて、現在ブロックにアフィン予測を適用できるか否かを表すアフィンフラグ及び前記現在ブロックのサブブロックに基づいた時間的動きベクトル予測子を用いることができるか否かを表すサブブロックTMVPフラグをデコードするステップ、前記デコードされたアフィンフラグ及び前記デコードされたサブブロックTMVPフラグに基づいて、予め決定されたマージモードを前記現在ブロックに適用するか否かを表す既決定マージモードフラグをデコードするか否かを決定するステップ、前記既決定マージモードフラグをデコードするか否かに対する前記決定に基づいて、前記現在ブロックに対する予測サンプルを導出するステップ、及び前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成するステップを含み、前記アフィンフラグの値が1であるか、前記サブブロックTMVPフラグの値が1である場合、前記既決定マージモードフラグをデコードすることと決定されることを特徴とする。
【0012】
本開示の他の一実施形態によれば、画像デコードを行うデコード装置が提供される。前記デコード装置は、ビットストリームに基づいて、現在ブロックにアフィン予測を適用できるか否かを表すアフィンフラグ及び前記現在ブロックのサブブロックに基づいた時間的動きベクトル予測子を用いることができるか否かを表すサブブロックTMVPフラグをデコードし、前記デコードされたアフィンフラグ及び前記デコードされたサブブロックTMVPフラグに基づいて、予め決定されたマージモードを前記現在ブロックに適用するか否かを表す既決定マージモードフラグをデコードするか否かを決定するエントロピーデコード部、前記既決定マージモードフラグをデコードするか否かに対する前記決定に基づいて、前記現在ブロックに対する予測サンプルを導出する予測部、及び前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成する加算部を備え、前記アフィンフラグの値が1であるか、前記サブブロックTMVPフラグの値が1である場合、前記既決定マージモードフラグをデコードすることと決定されることを特徴とする。
【0013】
本開示のさらに他の一実施形態によれば、エンコード装置によって行われる画像エンコード方法が提供される。前記方法は、現在ブロックにアフィン予測を適用できるか否か及び前記現在ブロックのサブブロックに基づいた時間的動きベクトル予測子を用いることができるか否かを決定するステップ、前記現在ブロックに前記アフィン予測を適用できるか否か及び前記現在ブロックの前記サブブロックに基づいた前記時間的動きベクトル予測子を用いることができるか否かに対する前記決定に基づいて、予め決定されたマージモードを前記現在ブロックに適用するか否かを表す既決定マージモードフラグをエンコードするか否かを決定するステップ、及び前記既決定マージモードフラグをエンコードするか否かに対する前記決定に基づいて、前記現在ブロックに前記アフィン予測を適用できるか否かを表すアフィンフラグ、前記現在ブロックの前記サブブロックに基づいた前記時間的動きベクトル予測子を用いることができるか否かを表すサブブロックTMVPフラグ、及び前記既決定マージモードフラグをエンコードするステップを含み、前記アフィンフラグの値が1であるか、前記サブブロックTMVPフラグの値が1である場合、前記既決定マージモードフラグをエンコードすることと決定されることを特徴とする。
【0014】
本開示のさらに他の一実施形態によれば、画像エンコードを行うエンコード装置が提供される。前記エンコード装置は、現在ブロックにアフィン予測を適用できるか否か及び前記現在ブロックのサブブロックに基づいた時間的動きベクトル予測子を用いることができるか否かを決定し、前記現在ブロックに前記アフィン予測を適用できるか否か及び前記現在ブロックの前記サブブロックに基づいた前記時間的動きベクトル予測子を用いることができるか否かに対する前記決定に基づいて、予め決定されたマージモードを前記現在ブロックに適用するか否かを表す既決定マージモードフラグをエンコードするか否かを決定する予測部、及び前記既決定マージモードフラグをエンコードするか否かに対する前記決定に基づいて、前記現在ブロックに前記アフィン予測を適用できるか否かを表すアフィンフラグ、前記現在ブロックの前記サブブロックに基づいた前記時間的動きベクトル予測子を用いることができるか否かを表すサブブロックTMVPフラグ、及び前記既決定マージモードフラグをエンコードするエントロピーエンコード部を備え、前記アフィンフラグの値が1であるか、前記サブブロックTMVPフラグの値が1である場合、前記既決定マージモードフラグをエンコードすることと決定されることを特徴とする。
【0015】
本開示のさらに他の一実施形態によれば、ビデオデコード装置が一部実施形態等に係るデコード方法を行うように引き起こす指示(instructions)に関する情報を格納する、デコーダで読み取り可能な格納媒体が提供される。
【0016】
本開示のさらに他の一実施形態によれば、ビデオデコード装置が一実施形態に係るデコード方法を行うように引き起こす指示に関する情報を格納する、デコーダで読み取り可能な格納媒体が提供される。前記一実施形態に係るデコード方法は、ビットストリームに基づいて、現在ブロックにアフィン予測を適用できるか否かを表すアフィンフラグ及び前記現在ブロックのサブブロックに基づいた時間的動きベクトル予測子を用いることができるか否かを表すサブブロックTMVPフラグをデコードするステップ、前記デコードされたアフィンフラグ及び前記デコードされたサブブロックTMVPフラグに基づいて、予め決定されたマージモードを前記現在ブロックに適用するか否かを表す既決定マージモードフラグをデコードするか否かを決定するステップ、前記既決定マージモードフラグをデコードするか否かに対する前記決定に基づいて、前記現在ブロックに対する予測サンプルを導出するステップ、及び前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成するステップを含み、前記アフィンフラグの値が1であるか、前記サブブロックTMVPフラグの値が1である場合、前記既決定マージモードフラグをデコードすることと決定されることを特徴とする。
【発明の効果】
【0017】
本開示によれば、全般的な画像/ビデオ圧縮効率を上げることができる。
【0018】
本開示によれば、ハイレベルシンタックス及びローレベルシンタックスデザインを介して画像コーディング効率を上げることができる。
【0019】
本開示によれば、サブブロックに基づいて動き予測を行うためのハイレベル及び/又はローレベルシンタックス要素を用いることにより画像コーディング効率を上げることができる。
【0020】
本開示によれば、アフィンモデルに基づいて動き予測を行うためのハイレベル及び/又はローレベルシンタックス要素を用いることにより画像コーディング効率を上げることができる。
【0021】
本開示によれば、アフィンフラグ及びサブブロックTMVPフラグに基づいて、予め決定されたマージモードを現在ブロックに適用するか否かを表す既決定マージモードフラグをデコードするか否かを決定することにより画像コーディング効率を上げることができる。
【図面の簡単な説明】
【0022】
図1】本開示が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
図2】本開示が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。
図3】本開示が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。
図4】一実施形態に係るエンコード装置の動作を示すフローチャートである。
図5】一実施形態に係るエンコード装置の構成を示すブロック図である。
図6】一実施形態に係るデコード装置の動作を示すフローチャートである。
図7】一実施形態に係るデコード装置の構成を示すブロック図である。
図8】本文書の開示が適用され得るコンテンツストリーミングシステムの例を示す。
【発明を実施するための形態】
【0023】
本開示の一実施形態によれば、デコード装置によって行われる画像デコード方法が提供される。上記方法は、ビットストリームに基づいて、現在ブロックにアフィン予測を適用できるか否かを表すアフィンフラグ及び前記現在ブロックのサブブロックに基づいた時間的動きベクトル予測子を用いることができるか否かを表すサブブロックTMVPフラグをデコードするステップ、前記デコードされたアフィンフラグ及び前記デコードされたサブブロックTMVPフラグに基づいて、予め決定されたマージモードを前記現在ブロックに適用するか否かを表す既決定マージモードフラグをデコードするか否かを決定するステップ、前記既決定マージモードフラグをデコードするか否かに対する前記決定に基づいて、前記現在ブロックに対する予測サンプルを導出するステップ、及び前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成するステップを含み、前記アフィンフラグの値が1であるか、前記サブブロックTMVPフラグの値が1である場合、前記既決定マージモードフラグをデコードすることと決定されることを特徴とする。
【0024】
本開示は、様々な変更を加えることができ、種々の実施形態を有することができるところ、特定実施形態を図面に例示し、詳細に説明しようとする。しかしながら、これは、本開示を特定実施形態に限定しようとするものではない。本明細書において常用する用語は、単に特定の実施形態を説明するために使用されたものであって、本開示の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上明らかに異なるように意味しない限り、複数の表現を含む。本明細書において「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、1つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものなどの存在または付加可能性を予め排除しないことと理解されるべきである。
【0025】
一方、本開示において説明される図面上の各構成は、互いに異なる特徴的な機能等に関する説明の都合上、独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されるということを意味するものではない。例えば、各構成のうち、2つ以上の構成が合わせられて1つの構成をなすことができ、1つの構成が複数の構成に分けられることもできる。各構成が統合及び/又は分離された実施形態も本開示の本質から逸脱しない限り、本開示の権利範囲に含まれる。
【0026】
以下、添付した図面を参照して、本開示の望ましい実施形態をより詳細に説明しようとする。以下、図面上の同じ構成要素に対しては、同じ参照符号を使用し、同じ構成要素について重複した説明は省略されることができる。
【0027】
図1は、本開示が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
【0028】
図1に示すように、ビデオ/画像コーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を備えることができる。ソースデバイスは、エンコードされたビデオ(video)/画像(image)情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスに伝達することができる。
【0029】
前記ソースデバイスは、ビデオソース、エンコード装置、送信部を備えることができる。前記受信デバイスは、受信部、デコード装置、及びレンダラを備えることができる。前記エンコード装置は、ビデオ/画像エンコード装置と呼ばれることができ、前記デコード装置は、ビデオ/画像デコード装置と呼ばれることができる。送信機は、エンコード装置に備えられることができる。受信機は、デコード装置に備えられることができる。レンダラは、ディスプレイ部を備えることができ、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
【0030】
ビデオソースは、ビデオ/画像のキャプチャ、合成、または生成過程などを介してビデオ/画像を取得できる。ビデオソースは、ビデオ/画像キャプチャデバイス及び/又はビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを含むことができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを含むことができ、(電子的に)ビデオ/画像を生成できる。例えば、コンピュータなどを介して仮像のビデオ/画像が生成され得るし、この場合、関連データが生成される過程にビデオ/画像キャプチャ過程が代替されることができる。
【0031】
エンコード装置は、入力ビデオ/画像をエンコードすることができる。エンコード装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を行うことができる。エンコードされたデータ(エンコードされたビデオ/画像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
【0032】
送信部は、ビットストリーム形態で出力されたエンコードされたビデオ/画像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達することができる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介しての送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコード装置に伝達することができる。
【0033】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を行ってビデオ/画像をデコードすることができる。
【0034】
レンダラは、デコードされたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介してディスプレイされることができる。
【0035】
この文書は、ビデオ/画像コーディングに関するものである。例えば、この文書において開示された方法/実施形態は、VVC(versatile video coding)標準、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)、または次世代ビデオ/画像コーディング標準(例えば、H.267 or H.268等)に開示される方法に適用されることができる。
【0036】
この文書では、ビデオ/画像コーディングに関する様々な実施形態を提示し、他の言及がない限り、上記実施形態等は、互いに組み合わせられて行われることもできる。
【0037】
この文書においてビデオ(video)は、時間の流れによる一連の画像(image)等の集合を意味できる。ピクチャ(picture)は、一般的に特定時間帯の1つの画像を示す単位を意味し、スライス(slice)/タイル(tile)は、コーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、1つ以上のCTU(coding tree unit)を含むことができる。1つのピクチャは、1つ以上のスライス/タイルで構成されることができる。1つのピクチャは、1つ以上のタイルグループで構成されることができる。1つのタイルグループは、1つ以上のタイルを含むことができる。ブリックは、ピクチャ内のタイル以内のCTU行の長方形領域を示すことができる(a brick may represent a rectangular region of CTU rows within a tile in a picture)。タイルは、複数のブリックにパーティショニングされることができ、各ブリックは、前記タイル内の1つ以上のCTU行で構成されることができる(A tile may be partitioned into multiple bricks、 each of which consisting of one or more CTU rows within the tile)。複数のブリックにパーティショニングされなかったタイルは、ブリックとも呼ばれることができる(A tile that is not partitioned into multiple bricks may be also referred to as a brick)。ブリックスキャンは、ピクチャをパーティショニングするCTUの特定の順次的オーダリングを示すことができ、前記CTUは、ブリック内でCTUラスタスキャンで整列されることができ、タイル内のブリックは、前記タイルの前記ブリックのラスタスキャンで連続的に整列されることができ、そして、ピクチャ内のタイルは、前記ピクチャの前記タイルのラスタスキャンで連続的に整列されることができる(A brick scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a brick、bricks within a tile are ordered consecutively in a raster scan of the bricks of the tile、 and tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。タイルは、特定タイル列及び特定タイル列以内のCTUの長方形領域である(A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture)。前記タイル列は、CTUの長方形領域であり、前記長方形領域は、前記ピクチャの高さと同じ高さを有し、幅は、ピクチャパラメータセット内のシンタックス要素により明示されることができる(The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width specified by syntax elements in the picture parameter set)。前記タイル行は、CTUの長方形領域であり、前記長方形領域は、ピクチャパラメータセット内のシンタックス要素により明示される幅を有し、高さは、前記ピクチャの高さと同じであることができる(The tile row is a rectangular region of CTUs having a height specified by syntax elements in the picture parameter set and a width equal to the width of the picture)。タイルスキャンは、ピクチャをパーティショニングするCTUの特定順次的オーダリングを示すことができ、前記CTUは、タイル内のCTUラスタスキャンで連続的に整列されることができ、ピクチャ内のタイルは、前記ピクチャの前記タイルのラスタスキャンで連続的に整列されることができる(A tile scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。スライスは、ピクチャの整数個のブリックを含むことができ、前記整数個のブリックは、1つのNALユニットに含まれることができる(A slice includes an integer number of bricks of a picture that may be exclusively contained in a single NAL unit)。スライスは、複数の完全なタイルで構成されることができ、または、1つのタイルの完全なブリックの連続的なシーケンスであることもできる(A slice may consists of either a number of complete tiles or only a consecutive sequence of complete bricks of one tile)。この文書においてタイルグループとスライスとは混用されることができる。例えば、本文書においてtile group/tile group headerは、slice/slice headerと呼ばれることができる。
【0038】
ピクセル(pixel)またはペル(pel)は、1つのピクチャ(または、画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として、「サンプル(sample)」が使用され得る。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すことができ、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
【0039】
ユニット(unit)は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち、少なくとも1つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行とからなるサンプル(または、サンプルアレイ)または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
【0040】
この文書において、「/」と「、」は、「及び/又は」と解釈される。例えば、「A/B」は、「A及び/又はB」と解釈され、「A、B」は、「A及び/又はB」と解釈される。追加的に、「A/B/C」は、「A、B及び/又はCのうち、少なくとも1つ」を意味する。また、「A、B、C」も「A、B及び/又はCのうち、少なくとも1つ」を意味する。(In this document,the term “/” and “,” should be interpreted to indicate “and/or.” For instance,the expression “A/B” may mean “A and/or B.” Further, “A,B” may mean “A and/or B.” Further, “A/B/C” may mean “at least one of A,B, and/or C.” Also, “A/B/C” may mean “at least one of A,B, and/or C.”)
【0041】
追加的に、本文書において「または」は、「及び/又は」と解釈される。例えば、「AまたはB」は、1)「A」のみを意味し、2)「B」のみを意味するか、3)「A及びB」を意味することができる。言い換えれば、本文書の「または」は、「追加的にまたは大体的に(additionally or alternatively)」を意味することができる。(Further,in the document,the term “or” should be interpreted to indicate “and/or.” For instance, the expression “A or B” may comprise 1)only A, 2)only B, and/or 3)both A and B. In other words, the term “or” in this document should be interpreted to indicate “additionally or alternatively.”)
【0042】
図2は、本開示が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。以下、ビデオエンコード装置とは、画像エンコード装置を含むことができる。
【0043】
図2に示すように、エンコード装置200は、画像分割部(image partitioner)210、予測部(predictor)220、レジデュアル処理部(residual processor)230、エントロピーエンコード部(entropy encoder)240、加算部(adder)250、フィルタリング部(filter)260、及びメモリ(memory)270を備えて構成されることができる。予測部220は、インター予測部221及びイントラ予測部222を備えることができる。レジデュアル処理部230は、変換部(transformer)232、量子化部(quantizer)233、逆量子化部(dequantizer)234、逆変換部(inverse transformer)235を備えることができる。レジデュアル処理部230は、減算部(subtractor、231)をさらに備えることができる。加算部250は、復元部(reconstructor)または復元ブロック生成部(recontructged block generator)と呼ばれることができる。上述した画像分割部210、予測部220、レジデュアル処理部230、エントロピーエンコード部240、加算部250、及びフィルタリング部260は、実施形態によって1つ以上のハードウェアコンポーネント(例えば、エンコーダチップセットまたはプロセッサ)によって構成されることができる。また、メモリ270は、DPB(decoded picture buffer)を備えることができ、デジタル格納媒体によって構成されることもできる。前記ハードウェアコンポーネントは、メモリ270を内/外部コンポーネントとしてさらに備えることもできる。
【0044】
画像分割部210は、エンコード装置200に入力された入力画像(または、ピクチャ、フレーム)を1つ以上の処理ユニット(processing unit)に分割することができる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれることができる。この場合、コーディングユニットは、コーディングツリーユニット(coding tree unit、CTU)または最大コーディングユニット(largest coding unit、LCU)からQTBTTT(Quad-tree binary-tree ternary-tree)構造によって再帰的に(recursively)分割されることができる。例えば、1つのコーディングユニットは、クアッドツリー構造、バイナリツリー構造、及び/又はターナリ構造に基づいて下位(deeper)デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造及び/又はターナリ構造がその後に適用されることができる。または、バイナリツリー構造が先に適用されることもできる。それ以上分割されない最終コーディングユニットに基づいて本開示に係るコーディング手順が行われ得る。この場合、画像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使用されることができ、または、必要に応じてコーディングユニットは、再帰的に(recursively)もっと下位デプスのコーディングユニットに分割されて最適のサイズのコーディングユニットが最終コーディングユニットとして使用されることができる。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含むことができる。他の例として、前記処理ユニットは、予測ユニット(PU:Prediction Unit)または変換ユニット(TU:Transform Unit)をさらに備えることができる。この場合、前記予測ユニット及び前記変換ユニットは、各々上述した最終コーディングユニットから分割またはパーティショニングされることができる。前記予測ユニットは、サンプル予測の単位であることができ、前記変換ユニットは、変換係数を導く単位及び/又は変換係数からレジデュアル信号(residual signal)を導く単位であることができる。
【0045】
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)等の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すことができ、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、画像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
【0046】
エンコード装置200は、入力画像信号(原本ブロック、原本サンプルアレイ)でインター予測部221またはイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成でき、生成されたレジデュアル信号は、変換部232に送信される。この場合、図示されたように、エンコーダ200内において入力画像信号(原本ブロック、原本サンプルアレイ)で予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれることができる。予測部は、処理対象ブロック(以下、現在ブロックという)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成できる。予測部は、現在ブロックまたはCU単位でイントラ予測が適用されるか、またはインター予測が適用されるか決定することができる。予測部は、各予測モードについての説明で後述するように、予測モード情報など、予測に関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。予測に関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0047】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbor)に位置することができ、または、離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは、例示であり、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用され得る。イントラ予測部222は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0048】
インター予測部221は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを導くことができる。このとき、インター予測モードで送信される動き情報の量を減らすために、周辺ブロックと現在ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)とを含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的周辺ブロックを含む参照ピクチャとは同じであることができ、異なることもできる。前記時間的周辺ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(col CU)などの名前で呼ばれることができ、前記時間的周辺ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれることもできる。例えば、インター予測部221は、周辺ブロックに基づいて動き情報候補リストを構成し、前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するために、どの候補が使用されるかを指示する情報を生成できる。様々な予測モードに基づいてインター予測が行われ得るし、例えば、スキップモードとマージモードとの場合に、インター予測部221は、周辺ブロックの動き情報を現在ブロックの動き情報として利用することができる。スキップモードの場合、マージモードとは異なり、レジデュアル信号が送信されないことがある。動き情報予測(motion vector prediction、MVP)モードの場合、周辺ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として用い、動きベクトル差分(motion vector difference)をシグナリングすることにより、現在ブロックの動きベクトルを指示することができる。
【0049】
予測部220は、後述する様々な予測方法に基づいて予測信号を生成できる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくことができ、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と同様に行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを用いることができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングすることができる。
【0050】
前記予測部(インター予測部221及び/又は前記イントラ予測部222を備える)を介して生成された予測信号は、復元信号を生成するために用いられるか、レジデュアル信号を生成するために用いられることができる。変換部232は、レジデュアル信号に変換技法を適用して変換係数(transform coefficients)を生成できる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLT(Karhunen-Loeve Transform)、GBT(Graph-Based Transform)、またはCNT(Conditionally Non-linear Transform)のうち、少なくとも1つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現しようとするとき、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同じ大きさを有するピクセルブロックに適用されることができ、正方形でない可変大きさのブロックにも適用されることができる。
【0051】
量子化部233は、変換係数を量子化してエントロピーエンコード部240に送信され、エントロピーエンコード部240は、量子化された信号(量子化された変換係数に関する情報)をエンコードしてビットストリームに出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれることができる。量子化部233は、係数スキャン順序(scan order)に基づいてブロック形態の量子化された変換係数を1次元ベクトル形態で再整列することができ、前記1次元ベクトル形態の量子化された変換係数に基づいて前記量子化された変換係数に関する情報を生成することもできる。エントロピーエンコード部240は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのような様々なエンコード方法を行うことができる。エントロピーエンコード部240は、量子化された変換係数の他に、ビデオ/イメージ復元に必要な情報(例えば、シンタックス要素(syntax elements)の値等)を共にまたは別にエンコードすることもできる。エンコードされた情報(例えば、エンコードされたビデオ/画像情報)は、ビットストリーム形態でNAL(network abstraction layer)ユニット単位で送信または格納されることができる。前記ビデオ/画像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)等、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。本文書において、エンコード装置からデコード装置に伝達/シグナリングされる情報及び/又はシンタックス要素は、ビデオ/画像情報に含まれることができる。前記ビデオ/画像情報は、上述したエンコード手順を介してエンコードされて前記ビットストリームに含まれることができる。前記ビットストリームは、ネットワークを介して送信されることができ、またはデジタル格納媒体に格納されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。エントロピーエンコード部240から出力された信号は、送信する送信部(図示せず)及び/又は格納する格納部(図示せず)がエンコード装置200の内/外部エレメントとして構成されることができ、または送信部は、エントロピーエンコード部240に含まれることもできる。
【0052】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロックまたはレジデュアルサンプル)を復元できる。加算部155は、復元されたレジデュアル信号をインター予測部221またはイントラ予測部222から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成され得る。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0053】
一方、ピクチャエンコード及び/又は復元過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0054】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成でき、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法についての説明で後述するように、フィルタリングに関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。フィルタリングに関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0055】
メモリ270に送信された修正された復元ピクチャは、インター予測部221で参照ピクチャとして使用されることができる。エンコード装置は、これを介してインター予測が適用される場合、エンコード装置100とデコード装置における予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【0056】
メモリ270のDPBは、修正された復元ピクチャをインター予測部221における参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するために、インター予測部221に伝達することができる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達することができる。
【0057】
図3は、本開示が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。
【0058】
図3に示すように、デコード装置300は、エントロピーデコード部(entropy decoder)310、レジデュアル処理部(residual processor)320、予測部(predictor)330、加算部(adder)340、フィルタリング部(filter)350、及びメモリ(memoery)360を備えて構成されることができる。予測部330は、インター予測部331及びイントラ予測部332を備えることができる。レジデュアル処理部320は、逆量子化部(dequantizer)321及び逆変換部(inverse transformer)321を備えることができる。上述したエントロピーデコード部310、レジデュアル処理部320、予測部330、加算部340、及びフィルタリング部350は、実施形態によって1つのハードウェアコンポーネント(例えば、デコーダチップセットまたはプロセッサ)により構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を備えることができ、デジタル格納媒体により構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内/外部コンポーネントとしてさらに備えることもできる。
【0059】
ビデオ/画像情報を含むビットストリームが入力されれば、デコード装置300は、図3のエンコード装置でビデオ/画像情報が処理されたプロセスに対応して画像を復元できる。例えば、デコード装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出できる。デコード装置300は、エンコード装置で適用された処理ユニットを用いてデコードを行うことができる。したがって、デコードの処理ユニットは、例えば、コーディングユニットであることができ、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/又はターナリツリー構造にしたがって分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出され得る。そして、デコード装置300を介してデコード及び出力された復元画像信号は、再生装置を介して再生されることができる。
【0060】
デコード装置300は、図3のエンコード装置から出力された信号をビットストリーム形態で受信することができ、受信された信号は、エントロピーデコード部310を介してデコードされることができる。例えば、エントロピーデコード部310は、前記ビットストリームをパーシングして画像復元(または、ピクチャ復元)に必要な情報(例えば、ビデオ/画像情報)を導出できる。前記ビデオ/画像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)など、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。デコード装置は、前記パラメータセットに関する情報及び/又は前記一般制限情報に基づいてさらにピクチャをデコードすることができる。本文書において後述されるシグナリング/受信される情報及び/又はシンタックス要素は、前記デコード手順を介してデコードされて、前記ビットストリームから取得されることができる。例えば、エントロピーデコード部310は、指数ゴロム符号化、CAVLC、またはCABACなどのコーディング方法を基にビットストリーム内の情報をデコードし、画像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値を出力できる。より具体的に、CABACエントロピーデコード方法は、ビットストリームで各シンタックス要素に該当するビンを受信し、デコード対象のシンタックス要素情報と周辺及びデコード対象ブロックのデコード情報あるいは以前ステップでデコードされたシンボル/ビンの情報を利用して文脈(context)モデルを決定し、決定された文脈モデルによってビン(bin)の発生確率を予測してビンの算術デコード(arithmetic decoding)を行い、各シンタックス要素の値に該当するシンボルを生成できる。このとき、CABACエントロピーデコード方法は、文脈モデル決定後、次のシンボル/ビンの文脈モデルのためにデコードされたシンボル/ビンの情報を利用して文脈モデルをアップデートすることができる。エントロピーデコード部310でデコードされた情報のうち、予測に関する情報は、予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコード部310でエントロピーデコードが行われたレジデュアル値、すなわち、量子化された変換係数及び関連パラメータ情報は、レジデュアル処理部320に入力されることができる。レジデュアル処理部320は、レジデュアル信号(レジデュアルブロック、レジデュアルサンプル、レジデュアルサンプルアレイ)を導出できる。また、エントロピーデコード部310でデコードされた情報のうち、フィルタリングに関する情報は、フィルタリング部350に提供されることができる。一方、エンコード装置から出力された信号を受信する受信部(図示せず)がデコード装置300の内/外部エレメントとしてさらに構成されることができ、または受信部は、エントロピーデコード部310の構成要素であることもできる。一方、本文書に係るデコード装置は、ビデオ/画像/ピクチャデコード装置と呼ばれることができ、前記デコード装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは、前記エントロピーデコード部310を備えることができ、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332、及びイントラ予測部331のうち、少なくとも1つを備えることができる。
【0061】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力できる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコード装置で行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得できる。
【0062】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
【0063】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成できる。予測部は、エントロピーデコード部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、またはインター予測が適用されるか決定することができ、具体的なイントラ/インター予測モードを決定できる。
【0064】
予測部320は、後述する様々な予測方法に基づいて予測信号を生成できる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくことができ、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と同様に行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/画像情報に含まれてシグナリングされることができる。
【0065】
イントラ予測部331は、現在ピクチャ内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbor)に位置することができ、または離れて位置することができる。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。イントラ予測部331は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0066】
インター予測部332は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを導くことができる。このとき、インター予測モードで送信される動き情報の量を減らすために、周辺ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)とを備えることができる。例えば、インター予測部332は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出できる。様々な予測モードに基づいてインター予測が行われ得るし、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
【0067】
加算部340は、取得されたレジデュアル信号を予測部(インター予測部332及び/又はイントラ予測部331を備える)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成できる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
【0068】
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て出力されることができ、または次のピクチャのインター予測のために使用されることもできる。
【0069】
一方、ピクチャデコード過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0070】
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成でき、前記修正された復元ピクチャをメモリ360、具体的に、メモリ360のDPBに送信することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
【0071】
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部332で参照ピクチャとして使用されることができる。メモリ360は、現在ピクチャ内の動き情報が導出された(または、デコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納できる。前記格納された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納でき、イントラ予測部331に伝達することができる。
【0072】
本明細書において、エンコード装置100のフィルタリング部260、インター予測部221、及びイントラ予測部222で説明された実施形態等は、各々デコード装置300のフィルタリング部350、インター予測部332、及びイントラ予測部331にも同一または対応するように適用されることができる。
【0073】
前述したように、ビデオコーディングを実行するにあたって圧縮効率を上げるために予測を実行する。それによって、コーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、前記予測されたブロックは、空間ドメイン(または、ピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコード装置及びデコード装置で同様に導出され、前記エンコード装置は、原本ブロックの原本サンプル値自体でない前記原本ブロックと前記予測されたブロックとの間のレジデュアルに関する情報(レジデュアル情報)をデコード装置にシグナリングすることで画像コーディング効率を上げることができる。デコード装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックを加算して復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
【0074】
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコード装置は、前記原本ブロックと前記予測されたブロックとの間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれているレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を実行して変換係数を導出し、前記変換係数に量子化手順を実行して量子化された変換係数を導出することで、関連したレジデュアル情報を(ビットストリームを介して)デコード装置にシグナリングすることができる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコード装置は、前記レジデュアル情報に基づいて逆量子化/逆変換手順を実行してレジデュアルサンプル(または、レジデュアルブロック)を導出できる。デコード装置は、予測されたブロックと前記レジデュアルブロックに基づいて復元ピクチャを生成することができる。また、エンコード装置は、以後ピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
【0075】
一実施形態では、サブブロック基盤の動き予測を制御するために、サブブロックに基づいた時間的動きベクトル予測子を用いることができるか否かを表すサブブロックTMVPフラグを用いることができる。前記サブブロックTMVPフラグは、SPS(Sequence Parameter Set)レベルでシグナリングされることができ、サブブロック基盤の動き予測のオン(on)/オフ(off)を制御できる。前記サブブロックTMVPフラグは、例えば、下記の表1のように、sps_sbtmvp_enabled_flagと称されることができる。
【0076】
また、アフィン動き予測方法を制御するために、現在ブロックにアフィン予測を適用できるか否かを表すアフィンフラグ(affine flag)を用いることができる。前記アフィンフラグは、SPSレベルでシグナリングされることができ、アフィン予測のオン/オフを制御できる。前記アフィンフラグは、例えば、下記の表1のように、sps_affine_enabled_flagと称されることができる。前記アフィンフラグの値が1である場合、アフィンタイプフラグを追加的にシグナリングして6パラメータアフィン(6 paramter affine)予測の使用可否を追加的に決定することができる。
【0077】
SPSレベルでシグナリングされるシンタックスの一例示は、下記の表1のとおりである。
【0078】
【表1-1】
【0079】
【表1-2】
【0080】
一実施形態において、ローレベルコーディングシンタックス(low level coding syntax)では、下記の表2のように、現在ブロック( coding block)のマージフラグmerge_flagが1であれば、SPSのアフィンフラグが1である場合に現在ブロックの条件(例えば、ブロックサイズ、ブロック形状等)に基づいて、現在ブロックにアフィンマージ(affine merge)が適用されるか、またはノーマルマージ(normal merge)が適用されるかの可否を表すためのフラグ(例えば、マージアフィンフラグ)をシグナリングすることができる。前記マージアフィンフラグは、例えば、merge_affine_flagと表すことができる。一例示において、SPSレベルでシグナリングされるアフィンフラグの値が0であり、コーディングユニットレベルでシグナリングされるmerge_flagの値が1である場合、追加的なシンタックス要素のシグナリングなしに、現在ブロックにノーマルマージが適用されることと判断されることができる。
【0081】
コーディングユニットレベルでシグナリングされるシンタックスの一例示は、下記の表2のとおりである。
【0082】
【表2-1】
【0083】
【表2-2】
【0084】
【表2-3】
【0085】
【表2-4】
【0086】
一方、表1のハイレベルシンタックスデザインと表2のローレベルシンタックスデザインとが適用される場合、ATMVPがアフィンマージ候補(affine merge candidate)として使用されれば、デザインの問題、ロジカルの問題、概念的な問題などが生じ得る。一例示において、SPSレベルでシグナリングされるアフィンフラグの値が0であり、SPSレベルでシグナリングされるサブブロックTMVPフラグの値が1である場合、SPSでATMVPを使用するようにシグナリングしたにもかかわらず、ATMVP候補は、いかなる候補としても利用され得ないこともある。上記のようなデザインの問題及びロジカルの問題の他にも、概念的な問題が存在しうる。ATMVPは、サブブロック(一例示において、SubPu)基盤の動き予測方法であって、ノーマルマージで非サブブロック基盤(一例示において、non SubPu基盤)の動き予測候補とサブブロック基盤の動き予測候補との区分のために、サブブロック基盤で予測を行うアフィンマージモードの候補として使用させることにより、現在ブロックのマージであれば、サブブロックマージであるか、非サブブロックマージであるか区分するための目的が存在する。しかし、このような目的にもかかわらず、前記表2によるローレベルシンタックスデザインは、アフィンマージの使用可否によってサブブロックATMVPが制御されているものである。
【0087】
上記したデザインの問題、ロジカルの問題、及び概念的な問題を補完するために、一実施形態では、下記の表3ないし表11のうち、少なくとも1つに基づいたハイレベル及び/又はローレベルシンタックスデザインを提供できる。
【0088】
一実施形態において、サブブロック基盤の動き予測を制御するためのフラグをSPSレベルでシグナリングすることができる。前記サブブロック基盤の動き予測を制御するためのフラグは、例えば、sps_subpumvp_enabled_flagと表すことができ、前記サブブロック基盤の動き予測のオン/オフ可否を決定するのに用いられることができる。前記sps_subpumvp_enabled_flagの値が1である場合、affine_enabled_flag及びsbtmvp_enabled_flagが下記の表3のようにシグナリングされることができる。
【0089】
【表3】
【0090】
表3のSPSレベルシンタックスデザインを用いる場合、アフィン予測とATMVPの使用可能可否は、下記の表4のように表わされることができる。下記の表4において、1は、当該方法が使用可能であることを、0は、当該方法が使用不可であることを表す。
【0091】
【表4】
【0092】
一実施形態では、sps_subpumvp_enabled_flagに基づいてアフィン予測とATMVPとの使用可能可否を共に制御するためのハイレベルシンタックスデザインが提供され得る。本実施形態にしたがう場合、一例示において、sps_subpumvp_enabled_flagの値が1であれば、アフィン予測とATMVPとが共に使用可能なことと決定されることができる。本実施形態に係るハイレベルシンタックスデザインは、下記の表5のとおりであることができる。
【0093】
【表5】
【0094】
一実施形態では、前記表5にしたがってハイレベルシンタックスに含まれたsps_subpumvp_enabled_flagに基づき、アフィン予測とATMVPとの使用可能可否を共に制御するものの、各スライス単位でもATMVPの使用可能可否を細部的に制御するために、スライスヘッダシンタックス(slice header syntax)でslice_subpumvp_enabled_flagを用いる方法が提供され得る。本実施形態に係るスライスヘッダレベルのシンタックスは、例えば、下記の表6のとおりであることができる。
【0095】
【表6】
【0096】
一実施形態において、アフィン予測方法が使用されず、sps_sbtmvp_enabled_flagが1である場合、merge_affine_flagをシグナリングするものの、アフィン候補(affine candidate)は、候補として構成せず、ATMVPのみ候補として構成する方法が提供され得る。本実施形態を表すためのローレベルシンタックスの例示は、下記の表7のとおりであることができる。
【0097】
【表7】
【0098】
前記表7において、sps_affine_enabled_flagの値が1であるか、sps_sbtmvp_enabled_flagの値が1である場合、マージアフィンモードの適用可否を表すマージアフィンフラグmerge_affine_flagをデコードすることと決定されることができる。
【0099】
一例示では、sps_affine_enabled_flagの値が1であるか、sps_sbtmvp_enabled_flagの値が1である場合、マージサブブロックモードの適用可否を表すマージサブブロックフラグmerge_subblock_flagをデコードすることと決定されることができる。前記マージサブブロックモードでは、マージ候補がサブブロック単位に基づいて決定されることができる。
【0100】
前記表7において、現在ブロックの幅(cbWidth)及び高さ(cbHeight)が各々8以上であり、sps_affine_enabled_flagの値が1であるか、sps_sbtmvp_enabled_flagの値が1である場合、マージアフィンフラグmerge_affine_flagをデコードすることと決定されることができる。
【0101】
一例示において、前記現在ブロックの前記サブブロックの最大マージ候補数が0より大きい場合、前記既決定マージモードフラグをデコードすることと決定されることができる。
【0102】
一例示において、前記アフィンフラグの値が1であるか、前記サブブロックTMVPフラグの値が1である場合、前記現在ブロックの前記サブブロックの前記最大マージ候補数が0より大きいことができる。
【0103】
一例示において、前記既決定マージモードフラグをデコードするか否かは、if(MaxNumSubblockMergeCand>0&&cbWidth>=8&&cbHeight>=8)の満足可否に基づいて決定されることができる。MaxNumSubblockMergeCandは、前記サブブロックの前記最大マージ候補数を表し、前記cbWidthは、前記現在ブロックの幅を表し、前記cbHeightは、前記現在ブロックの高さを表すことができる。
【0104】
前記表7において、sps_affine_enabled_flagの値が0であり、sps_sbtmvp_enabled_flagの値が1である場合、merge_affine_idxはシグナリングされず、0と推論(infer)されることができる。表7の実施形態にしたがうとき、アフィン予測とATMVPとの使用可能可否は、下記の表8のように表わされることができる。
【0105】
【表8】
【0106】
一実施形態において、アフィン予測方法が使用されず、sps_sbtmvp_enabled_flagの値が1である場合、ATMVPがノーマルマージ候補として使用されるように制御する方法が提供され得る。本実施形態にしたがうとき、アフィン予測とATMVPとの使用可能可否は、下記の表9のように表すことができる。
【0107】
【表9】
【0108】
一実施形態において、sps_sbtmvp_enabled_flagをaffine_enabled_flagの値が1である場合に限ってシグナリングするようにハイレベルシンタックスをデザインする方法が提供され得る。これは、ATMVPがアフィンマージ候補として使用されて、sps_affine_enabled_flagの値が0である場合にはATMVPが使用され得ないようにデザインされたローレベルコーディングツールの構造を考慮したものであることができる。本実施形態に係るハイレベルシンタックスの例示は、下記の表10のとおりである。
【0109】
【表10】
【0110】
表10による表10のSPSレベルシンタックスデザインを用いる場合、アフィン予測とATMVPとの使用可能可否は、下記の表11のとおりに表わされることができる。
【0111】
【表11】
【0112】
図4は、一実施形態に係るエンコード装置の動作を示すフローチャートであり、図5は、一実施形態に係るエンコード装置の構成を示すブロック図である。
【0113】
図4及び図5によるエンコード装置は、図6及び図7によるデコード装置と対応する動作を行うことができる。したがって、図6及び図7において後述されるデコード装置の動作は、図4及び図5によるエンコード装置にも同様に適用されることができる。
【0114】
図4に開示された各ステップは、図2に開示されたエンコード装置200によって行われることができる。より具体的に、S400及びS410は、図2に開示された予測部220によって行われることができ、S420は、図2に開示されたエントロピーエンコード部240によって行われることができる。さらに、S400ないしS420による動作は、図3において前述された内容のうち一部に基づいたものである。したがって、図2及び図3において前述された内容と重複する具体的な内容は、説明を省略したり、簡単にする。
【0115】
図5に示されたように、一実施形態に係るエンコード装置は、予測部220及びエントロピーエンコード部240を備えることができる。しかし、場合によっては、図5に示された構成要素の全てがエンコード装置の必須構成要素でないことがあり、エンコード装置は、図5に示された構成要素より多いか、少ない構成要素により実現されることができる。
【0116】
一実施形態に係るエンコード装置において予測部220及びエントロピーエンコード部240は、各々別のチップ(chip)で実現されるか、少なくとも2つ以上の構成要素が1つのチップを介して実現されることもできる。
【0117】
一実施形態に係るエンコード装置は、現在ブロックにアフィン予測を適用できるか否か及び前記現在ブロックのサブブロックに基づいた時間的動きベクトル予測子を用いることができるか否かを決定できる(S400)。より具体的に、エンコード装置の予測部220は、現在ブロックにアフィン予測を適用できるか否か及び前記現在ブロックのサブブロックに基づいた時間的動きベクトル予測子を用いることができるか否かを決定できる。
【0118】
一実施形態に係るエンコード装置は、前記現在ブロックに前記アフィン予測を適用できるか否か及び前記現在ブロックの前記サブブロックに基づいた前記時間的動きベクトル予測子を用いることができるか否かに対する前記決定に基づいて、予め決定されたマージモードを前記現在ブロックに適用するか否かを表す既決定マージモードフラグをエンコードするか否かを決定できる(S410)。より具体的に、エンコード装置の予測部220は、前記現在ブロックに前記アフィン予測を適用できるか否か及び前記現在ブロックの前記サブブロックに基づいた前記時間的動きベクトル予測子を用いることができるか否かに対する前記決定に基づいて、予め決定されたマージモードを前記現在ブロックに適用するか否かを表す既決定マージモードフラグをエンコードするか否かを決定できる。
【0119】
一例示において、前記予め決定されたマージモードは、マージアフィンモードまたはマージサブブロックモードであることができ、前記既決定マージモードフラグは、マージアフィンフラグまたはマージサブブロックフラグであることができる。前記マージアフィンフラグは、merge_affine_flagと表すことができ、前記マージサブブロックフラグは、merge_subblock_flagと表すことができる。
【0120】
一実施形態に係るエンコード装置は、前記既決定マージモードフラグをエンコードするか否かに対する前記決定に基づいて、前記現在ブロックに前記アフィン予測を適用できるか否かを表すアフィンフラグ、前記現在ブロックの前記サブブロックに基づいた前記時間的動きベクトル予測子を用いることができるか否かを表すサブブロックTMVPフラグ、及び前記既決定マージモードフラグをエンコードすることができる(S420)。より具体的に、エンコード装置のエントロピーエンコード部240は、前記既決定マージモードフラグをエンコードするか否かに対する前記決定に基づいて、前記現在ブロックに前記アフィン予測を適用できるか否かを表すアフィンフラグ、前記現在ブロックの前記サブブロックに基づいた前記時間的動きベクトル予測子を用いることができるか否かを表すサブブロックTMVPフラグ、及び前記既決定マージモードフラグをエンコードすることができる。
【0121】
一実施形態において、前記アフィンフラグの値が1であるか、前記サブブロックTMVPフラグの値が1である場合、前記既決定マージモードフラグをエンコードすることと決定されることができる。
【0122】
一実施形態において、前記現在ブロックの幅及び高さが各々8以上であり、前記アフィンフラグの値が1である第1条件を満たすか、前記サブブロックTMVPフラグの値が1である第2条件を満たす場合、前記既決定マージモードフラグをエンコードすることと決定されることができる。
【0123】
一実施形態において、前記既決定マージモードフラグをエンコードするか否かは、下記の数式1に基づいて決定されることができる。
【0124】
【数1】
【0125】
前記数式1においてsps_affine_enabled_flagは、前記アフィンフラグを表し、前記cbWidthは、前記現在ブロックの前記幅を表し、前記cbHeightは、前記現在ブロックの前記高さを表し、前記sps_sbtmvp_enabled_flagは、前記サブブロックTMVPフラグを表すことができる。
【0126】
一実施形態において、前記既決定マージモードフラグは、前記現在ブロックにアフィンマージモードが適用されるか否かを表すマージアフィンフラグまたは前記現在ブロックの前記サブブロック単位でマージモードが適用されるか否かを表すマージサブブロックフラグであることができる。
【0127】
一実施形態において、前記現在ブロックの前記サブブロックの最大マージ候補数が0より大きい場合、前記既決定マージモードフラグをエンコードすることと決定されることができる。
【0128】
一実施形態において、前記アフィンフラグの値が1であるか、前記サブブロックTMVPフラグの値が1である場合、前記現在ブロックの前記サブブロックの前記最大マージ候補数が0より大きいことを特徴とすることができる。
【0129】
一実施形態において、前記既決定マージモードフラグをエンコードするか否かは、下記の数式2に基づいて決定されることができる。
【0130】
【数2】
【0131】
前記数式2においてMaxNumSubblockMergeCandは、前記サブブロックの前記最大マージ候補数を表し、前記cbWidthは、前記現在ブロックの幅を表し、前記cbHeightは、前記現在ブロックの高さを表すことができる。
【0132】
図4及び図5のエンコード装置及びエンコード装置の動作方法によれば、エンコード装置は、現在ブロックにアフィン予測を適用できるか否か及び前記現在ブロックのサブブロックに基づいた時間的動きベクトル予測子を用いることができるか否かを決定し(S400)、前記現在ブロックに前記アフィン予測を適用できるか否か及び前記現在ブロックの前記サブブロックに基づいた前記時間的動きベクトル予測子を用いることができるか否かに対する前記決定に基づいて、予め決定されたマージモードを前記現在ブロックに適用するか否かを表す既決定マージモードフラグをエンコードするか否かを決定し(S410)、前記既決定マージモードフラグをエンコードするか否かに対する前記決定に基づいて、前記現在ブロックに前記アフィン予測を適用できるか否かを表すアフィンフラグ、前記現在ブロックの前記サブブロックに基づいた前記時間的動きベクトル予測子を用いることができるか否かを表すサブブロックTMVPフラグ、及び前記既決定マージモードフラグをエンコードするものの(S420)、前記アフィンフラグの値が1であるか、前記サブブロックTMVPフラグの値が1である場合、前記既決定マージモードフラグをエンコードすることと決定されることを特徴とすることができる。すなわち、アフィンフラグ及びサブブロックTMVPフラグに基づいて、予め決定されたマージモードを現在ブロックに適用するか否かを表す既決定マージモードフラグをデコードするか否かを決定することにより、画像コーディング効率を上げることができる。
【0133】
図6は、一実施形態に係るデコード装置の動作を示すフローチャートであり、図7は、一実施形態に係るデコード装置の構成を示すブロック図である。
【0134】
図6に開示された各ステップは、図3に開示されたデコード装置300によって行われることができる。より具体的に、S600及びS610は、図3に開示されたエントロピーデコード部310によって行われることができ、S620は、図3に開示された予測部330によって行われることができ、S630は、図3に開示された加算部340によって行われることができる。さらに、S600ないしS630による動作は、図3において前述された内容のうち一部に基づいたものである。したがって、図3において前述された内容と重複する具体的な内容は、説明を省略したり、簡単にする。
【0135】
図7に示されたように、一実施形態に係るデコード装置は、エントロピーデコード部310、予測部330、及び加算部340を備えることができる。しかし、場合によっては、図7に示された構成要素の全てがデコード装置の必須構成要素でないことがあり、デコード装置は、図7に示された構成要素より多いか、少ない構成要素により実現されることができる。
【0136】
一実施形態に係るデコード装置においてエントロピーデコード部310、予測部330、及び加算部340は、各々別のチップ(chip)で実現されるか、少なくとも2つ以上の構成要素が1つのチップを介して実現されることもできる。
【0137】
一実施形態に係るデコード装置は、ビットストリームに基づいて、現在ブロックにアフィン予測を適用できるか否かを表すアフィンフラグ及び前記現在ブロックのサブブロックに基づいた時間的動きベクトル予測子を用いることができるか否かを表すサブブロックTMVPフラグをデコードすることができる(S600)。より具体的に、デコード装置のエントロピーデコード部310は、ビットストリームに基づいて、現在ブロックにアフィン予測を適用できるか否かを表すアフィンフラグ及び前記現在ブロックのサブブロックに基づいた時間的動きベクトル予測子を用いることができるか否かを表すサブブロックTMVPフラグをデコードすることができる。
【0138】
一例示において、前記アフィンフラグは、sps_affine_enabled_flagと表すことができ、前記サブブロックTMVPフラグは、sps_sbtmvp_enabled_flagと表すことができる。前記サブブロックTMVPフラグは、場合によって、サブPU TMVPフラグと称されることもできる。
【0139】
一例示において、前記アフィンフラグ及び前記サブブロックTMVPフラグは、SPSレベルでシグナリングされることができる。
【0140】
一実施形態に係るデコード装置は、前記デコードされたアフィンフラグ及び前記デコードされたサブブロックTMVPフラグに基づいて、予め決定されたマージモードを前記現在ブロックに適用するか否かを表す既決定マージモードフラグをデコードするか否かを決定できる(S610)。より具体的に、デコード装置のエントロピーデコード部310は、前記デコードされたアフィンフラグ及び前記デコードされたサブブロックTMVPフラグに基づいて、予め決定されたマージモードを前記現在ブロックに適用するか否かを表す既決定マージモードフラグをデコードするか否かを決定できる。
【0141】
一例示において、前記予め決定されたマージモードは、マージアフィンモードまたはマージサブブロックモードであることができ、前記既決定マージモードフラグは、マージアフィンフラグまたはマージサブブロックフラグであることができる。前記マージアフィンフラグは、merge_affine_flagと表すことができ、前記マージサブブロックフラグは、merge_subblock_flagと表すことができる。
【0142】
一実施形態に係るデコード装置は、前記既決定マージモードフラグをデコードするか否かに対する前記決定に基づいて、前記現在ブロックに対する予測サンプルを導出できる(S620)。より具体的に、デコード装置の予測部330は、前記既決定マージモードフラグをデコードするか否かに対する前記決定に基づいて、前記現在ブロックに対する予測サンプルを導出できる。
【0143】
一実施形態に係るデコード装置は、前記既決定マージモードフラグをデコードするか否かに対する前記決定に基づいて前記現在ブロックに適用される予測モードを導出でき、前記導出された予測モードに基づいて現在ブロックに対する予測サンプルを導出できる。
【0144】
一実施形態に係るデコード装置は、前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成できる(S630)。より具体的に、デコード装置の加算部340は、前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成できる。
【0145】
一実施形態において、前記アフィンフラグの値が1であるか、前記サブブロックTMVPフラグの値が1である場合、前記既決定マージモードフラグをデコードすることと決定されることができる。
【0146】
一例示において、sps_affine_enabled_flagの値が1であるか、sps_sbtmvp_enabled_flagの値が1である場合、前記既決定マージモードフラグをデコードすることと決定されることができる。
【0147】
他の一例示において、sps_affine_enabled_flagの値が1であるか、sps_sbtmvp_enabled_flagの値が1である場合、マージアフィンフラグmerge_affine_flagをデコードすることと決定されることができる。
【0148】
さらに他の一例示において、sps_affine_enabled_flagの値が1であるか、sps_sbtmvp_enabled_flagの値が1である場合、マージサブブロックフラグmerge_subblock_flagをデコードすることと決定されることができる。
【0149】
一実施形態において、前記現在ブロックの幅及び高さが各々8以上であり、前記アフィンフラグの値が1である第1条件を満たすか、前記サブブロックTMVPフラグの値が1である第2条件を満たす場合、前記既決定マージモードフラグをデコードすることと決定されることができる。
【0150】
一実施形態において、前記既決定マージモードフラグをデコードするか否かは、下記の数式3に基づいて決定されることができる。
【0151】
【数3】
【0152】
前記数式3においてsps_affine_enabled_flagは、前記アフィンフラグを表し、前記cbWidthは、前記現在ブロックの前記幅を表し、前記cbHeightは、前記現在ブロックの前記高さを表し、前記sps_sbtmvp_enabled_flagは、前記サブブロックTMVPフラグを表すことができる。
【0153】
一実施形態において、前記現在ブロックの前記サブブロックの最大マージ候補数が0より大きい場合、前記既決定マージモードフラグをデコードすることと決定されることができる。
【0154】
一実施形態において、前記アフィンフラグの値が1であるか、前記サブブロックTMVPフラグの値が1である場合、前記現在ブロックの前記サブブロックの前記最大マージ候補数が0より大きいことができる。
【0155】
一実施形態において、前記既決定マージモードフラグをデコードするか否かは、下記の数式4に基づいて決定されることができる。
【0156】
【数4】
【0157】
前記数式4においてMaxNumSubblockMergeCandは、前記サブブロックの前記最大マージ候補数を表し、前記cbWidthは、前記現在ブロックの幅を表し、前記cbHeightは、前記現在ブロックの高さを表すことができる。
【0158】
図6及び図7に開示されたデコード装置及びデコード装置の動作方法によれば、デコード装置は、ビットストリームに基づいて、現在ブロックにアフィン予測を適用できるか否かを表すアフィンフラグ及び前記現在ブロックのサブブロックに基づいた時間的動きベクトル予測子を用いることができるか否かを表すサブブロックTMVPフラグをデコードし(S600)、前記デコードされたアフィンフラグ及び前記デコードされたサブブロックTMVPフラグに基づいて、予め決定されたマージモードを前記現在ブロックに適用するか否かを表す既決定マージモードフラグをデコードするか否かを決定し(S610)、前記既決定マージモードフラグをデコードするか否かに対する前記決定に基づいて、前記現在ブロックに対する予測サンプルを導出し(S620)、前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成するものの(S630)、前記アフィンフラグの値が1であるか、前記サブブロックTMVPフラグの値が1である場合、前記既決定マージモードフラグをデコードすることと決定されることを特徴とすることができる。すなわち、アフィンフラグ及びサブブロックTMVPフラグに基づいて、予め決定されたマージモードを現在ブロックに適用するか否かを表す既決定マージモードフラグをデコードするか否かを決定することにより、画像コーディング効率を上げることができる。
【0159】
上述した実施形態において、方法は、一連のステップまたはブロックとして順序図を基に説明されているが、本開示は、ステップの順序に限定されるものではなく、あるステップは、上述したことと異なるステップと異なる順序とで、または同時に発生することができる。また、当業者であれば、順序図に示されたステップが排他的でなく、他のステップが含まれるか、順序図の1つまたはそれ以上のステップが本開示の範囲に影響を及ぼさずに削除され得ることが理解できるであろう。
【0160】
上述した本開示に係る方法は、ソフトウェア形態で実現されることができ、本開示に係るエンコード装置及び/又はデコード装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの画像処理を行う装置に含まれることができる。
【0161】
本開示において実施形態等がソフトウェアで実現されるとき、上述した方法は、上述した機能を果たすモジュール(過程、機能など)で実現されることができる。モジュールは、メモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサ内部または外部にあることができ、よく知られた様々な手段でプロセッサと連結されることができる。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路、及び/又はデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体、及び/又は他の格納装置を含むことができる。すなわち、本開示において説明した実施形態等は、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて行われることができる。例えば、各図面で図示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて行われることができる。この場合、実現のための情報(例えば、information on instructions)またはアルゴリズムがデジタル格納媒体に格納されることができる。
【0162】
また、本開示が適用されるデコード装置及びエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、VR(virtual reality)装置、AR(argumente reality)装置、画像電話ビデオ装置、運送手段端末(例えば、車両(自律走行車両を含む)端末、飛行機端末、船舶端末等)及び医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために使用されることができる。例えば、OTTビデオ(Over the top video)装置では、ゲームコンソール、ブルーレイプレーヤ、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを含むことができる。
【0163】
また、本開示が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータ読み取り可能な記録媒体に格納されることができる。本開示に係るデータ構造を有するマルチメディアデータもコンピュータ読み取り可能な記録媒体に格納されることができる。前記コンピュータ読み取り可能な記録媒体は、コンピュータで読むことができるデータが格納されるあらゆる種類の格納装置及び分散格納装置を含む。前記コンピュータ読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータ読み取り可能な記録媒体は、搬送波(例えば、インターネットを介しての送信)の形態で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームがコンピュータ読み取り可能な記録媒体に格納されるか、有無線通信ネットワークを介して送信されることができる。
【0164】
また、本開示の実施形態は、プログラムコードによるコンピュータプログラム製品で実現されることができ、前記プログラムコードは、本開示の実施形態によりコンピュータで行われることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
【0165】
図8は、本文書の開示が適用され得るコンテンツストリーミングシステムの例を示す。
【0166】
図8に示すように、本開示が適用されるコンテンツストリーミングシステムは、大別して、エンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置、及びマルチメディア入力装置を含むことができる。
【0167】
前記エンコードサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略されることができる。
【0168】
前記ビットストリームは、本開示が適用されるエンコード方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
【0169】
前記ストリーミングサーバは、ウェブサーバを介してのユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すれば、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
【0170】
前記ストリーミングサーバは、メディア格納所及び/又はエンコードサーバからコンテンツを受信することができる。例えば、前記エンコードサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムに受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間、格納することができる。
【0171】
前記ユーザ装置の例では、携帯電話、スマートフォン(smart phone)、ノートブックコンピュータ(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、デスクトップコンピュータ、デジタルサイニジなどがありうる。
【0172】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
図1
図2
図3
図4
図5
図6
図7
図8