(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024028598
(43)【公開日】2024-03-04
(54)【発明の名称】コンテンツ適応セグメント化予測
(51)【国際特許分類】
H04N 19/11 20140101AFI20240226BHJP
H04N 19/167 20140101ALI20240226BHJP
H04N 19/17 20140101ALI20240226BHJP
H04N 19/176 20140101ALI20240226BHJP
H04N 19/70 20140101ALI20240226BHJP
【FI】
H04N19/11
H04N19/167
H04N19/17
H04N19/176
H04N19/70
【審査請求】未請求
【請求項の数】12
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024008793
(22)【出願日】2024-01-24
(62)【分割の表示】P 2022536838の分割
【原出願日】2021-06-16
(31)【優先権主張番号】63/073,629
(32)【優先日】2020-09-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/332,227
(32)【優先日】2021-05-27
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シン・ジャオ
(72)【発明者】
【氏名】シャオジョン・シュ
(72)【発明者】
【氏名】シャン・リュウ
(57)【要約】
【課題】コンテンツ適応セグメント化予測モード用のシステム及び方法を提供する。
【解決手段】方法は、コード化されたピクチャを受信するステップと、コード化されたピクチャの現在ブロックを再構成するステップとを含む。再構成は、現在ブロックのサンプルを、第1のセグメント及び第2のセグメントを含む複数のセグメントにセグメント化するステップと、第1の予測モードを用いて、コード化されたピクチャの現在ブロックの第1のセグメントを予測するステップと、第1の予測モードとは異なる第2の予測モードを用いて、コード化されたピクチャの現在ブロックの第2のセグメントを予測するステップとを含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサが実行する方法であって、
コード化されたピクチャを受信するステップと、
前記コード化されたピクチャの現在ブロックを再構成するステップとを含み、前記再構成は、
前記現在ブロックのサンプルを、第1のセグメント及び第2のセグメントを含む複数のセグメントにセグメント化するステップと、
第1の予測モードを用いて、前記コード化されたピクチャの前記現在ブロックの前記第1のセグメントを予測するステップと、
前記第1の予測モードとは異なる第2の予測モードを用いて、前記コード化されたピクチャの前記現在ブロックの前記第2のセグメントを予測するステップとを含む、方法。
【請求項2】
前記第1の予測モードは、イントラブロックコピー(IBC)モードであり、
前記第2の予測モードは、隣接する再構成されたサンプルを使用してイントラ予測を実行するイントラ予測モードである、請求項1に記載の方法。
【請求項3】
前記現在ブロックを再構成する前記ステップは、前記第1の予測モードをシグナリングするステップを更に含む、請求項2に記載の方法。
【請求項4】
前記現在ブロックを再構成する前記ステップは、前記第2の予測モードをシグナリングするステップを含む、請求項2に記載の方法。
【請求項5】
前記セグメント化は、
前記現在ブロックの前記サンプルに基づいて少なくとも1つの閾値を計算するステップと、
前記少なくとも1つの閾値に基づいて前記現在ブロックの前記サンプルをセグメント化するステップと、を含む、請求項1に記載の方法。
【請求項6】
前記現在ブロックを再構成する前記ステップは、前記コード化されたピクチャの参照ブロックのサンプルを複数のセグメントにセグメント化して、前記参照ブロックのセグメント化情報を取得するステップを更に含み、
前記現在ブロックの前記サンプルをセグメント化する前記ステップは、前記参照ブロックの前記セグメント化情報を前記現在ブロックにマッピングするステップを含む、請求項1に記載の方法。
【請求項7】
前記現在ブロックの前記第1のセグメントを予測する前記ステップは、前記参照ブロックの前記サンプルをセグメント化する前、及び前記現在ブロックの前記サンプルをセグメント化する前に、ブロックベクトルに基づいて前記参照ブロックを識別するステップを含み、
前記マッピングは、前記ブロックベクトルに基づいて前記参照ブロックの前記セグメント化情報を前記現在ブロックにマッピングするステップを含む、請求項6に記載の方法。
【請求項8】
前記現在ブロックの前記第2のセグメントを予測する前記ステップは、前記現在ブロックの前記第2のセグメントを予測する予測ブロックを取得するステップを含み、
前記現在ブロックの前記第1のセグメントを予測する前記ステップは、前記セグメント化情報を使用して、前記現在ブロックの前記予測ブロックを、前記現在ブロックの前記第1のセグメントに対応する前記参照ブロックのセグメントと結合することによって結合予測ブロックを取得するステップを更に含む、請求項7に記載の方法。
【請求項9】
前記セグメント化情報は、セグメント化マップである、請求項8に記載の方法。
【請求項10】
前記現在ブロックの前記サンプルをセグメント化する前記ステップは、前記第1のセグメントを予測する前に実行される、請求項1に記載の方法。
【請求項11】
システムであって、
コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードによって指示されたとおりに動作するように構成された少なくとも1つのプロセッサとを備え、前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、受信されたコード化されたピクチャの現在ブロックを再構成させるように構成された再構成コードを含み、
前記再構成コードは、
前記少なくとも1つのプロセッサに、前記現在ブロックのサンプルを、第1のセグメント及び第2のセグメントを含む複数のセグメントにセグメント化させるように構成された現在ブロックセグメント化コードと、
前記少なくとも1つのプロセッサに、第1の予測モードを用いて、前記コード化されたピクチャの前記現在ブロックの前記第1のセグメントを予測させるように構成された第1の予測コードと、
前記少なくとも1つのプロセッサに、前記第1の予測モードとは異なる第2の予測モードを用いて、前記コード化されたピクチャの前記現在ブロックの前記第2のセグメントを予測させるように構成された第2の予測コードとを含む、システム。
【請求項12】
前記第1の予測モードは、イントラブロックコピー(IBC)モードであり、
前記第2の予測モードは、隣接する再構成されたサンプルを使用してイントラ予測を実行するイントラ予測モードである、請求項11に記載のシステム。
【請求項13】
前記再構成コードは、前記少なくとも1つのプロセッサに、前記第1の予測モードを信号で送らせるように構成されたシグナリングコードを更に含む、請求項12に記載のシステム。
【請求項14】
前記再構成コードは、前記少なくとも1つのプロセッサに、前記第2の予測モードを信号で送らせるように構成されたシグナリングコードを更に含む、請求項12に記載のシステム。
【請求項15】
前記現在ブロックセグメント化コードは、前記少なくとも1つのプロセッサに、
前記現在ブロックの前記サンプルに基づいて少なくとも1つの閾値を計算させ、
前記少なくとも1つの閾値に基づいて前記現在ブロックの前記サンプルをセグメント化させるように更に構成される、請求項11に記載のシステム。
【請求項16】
前記再構成コードは、前記少なくとも1つのプロセッサに、前記コード化されたピクチャの参照ブロックのサンプルを複数のセグメントにセグメント化させて、前記参照ブロックのセグメント化情報を取得させるように構成された参照ブロックセグメント化コードを更に含み、
前記現在ブロックセグメント化コードは、前記少なくとも1つのプロセッサに、前記参照ブロックの前記セグメント化情報を前記現在ブロックにマッピングさせるように構成される、請求項11に記載のシステム。
【請求項17】
前記第1の予測コードは、前記少なくとも1つのプロセッサが前記参照ブロックの前記サンプル及び前記現在ブロックの前記サンプルをセグメント化する前に、前記少なくとも1つのプロセッサに、ブロックベクトルに基づいて前記参照ブロックを識別させるように構成され、
前記現在ブロックセグメント化コードは、前記少なくとも1つのプロセッサに、前記ブロックベクトルに基づいて前記参照ブロックの前記セグメント化情報を前記現在ブロックにマッピングさせるように構成される、請求項16に記載のシステム。
【請求項18】
前記第2の予測コードは、前記少なくとも1つのプロセッサに、前記現在ブロックの前記第2のセグメントを予測する予測ブロックを取得させるように構成され、
前記第1の予測コードは、前記少なくとも1つのプロセッサに、前記セグメント化情報を使用して、前記現在ブロックの前記予測ブロックを、前記現在ブロックの前記第1のセグメントに対応する前記参照ブロックのセグメントと結合することによって結合予測ブロックを取得させるように構成される、請求項17に記載のシステム。
【請求項19】
前記セグメント化情報は、セグメント化マップである、請求項18に記載のシステム。
【請求項20】
非一時的なコンピュータ可読媒体であって、
少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
現在ブロックのサンプルを、第1のセグメント及び第2のセグメントを含む複数のセグメントにセグメント化し、
第1の予測モードを用いて、コード化されたピクチャの前記現在ブロックの前記第1のセグメントを予測し、
前記第1の予測モードとは異なる第2の予測モードを用いて、前記コード化されたピクチャの前記現在ブロックの前記第2のセグメントを予測することによって、
受信された前記コード化されたピクチャの前記現在ブロックを再構成させるように構成されたコンピュータ命令を記憶する非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本出願は、2020年9月2日に出願された米国仮出願第63/073,629号の優先権を主張する2021年5月27日に出願された米国特許出願第17/332,227号の優先権の利益を主張するものであり、その開示は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示の実施形態は、一組の高度なビデオコーディング技術、より具体的には、画像及びビデオ圧縮用のコンテンツ適応セグメント化予測モードに関する。
【背景技術】
【0003】
AOMedia Video(AV1)は、インターネットを介したビデオ伝送用に設計されたオープンビデオコーディングフォーマットである。これは、半導体企業、ビデオオンデマンドプロバイダー、ビデオコンテンツプロデューサー、ソフトウェア開発会社、及びWebブラウザーベンダーが参加している、2015年に設立されたコンソーシアムであるAlliance for Open Media(AOMedia)によってVP9の後継として開発された。AV1プロジェクトの構成要素の多くは、Allianceメンバーによる以前の研究努力から得られたものである。Xiph/MozillaのDaalaが2010年にコードを公開したこと、Googleの実験的VP9進化プロジェクトVP10が2014年9月12日に発表されたこと、及びCiscoのThorが2015年8月11日に公開されたことなど、個々の貢献者は数年前から実験的な技術プラットフォームを始めていた。VP9のコードベースに基づいて構築されたAV1には、追加の技術が組み込まれており、そのいくつかはこれらの実験的なフォーマットで開発された。AV1参照コーデックの最初のバージョンであるバージョン0.1.0は、2016年4月7日に公開された。Allianceは、2018年3月28日に、参照用のソフトウェアベースのエンコーダ及びデコーダと共に、AV1ビットストリーム仕様のリリースを発表した。2018年6月25日に、この仕様の検証済みバージョン1.0.0がリリースされた。2019年1月8日に、「AV1 Bitstream&Decoding Process Specification」がリリースされ、これは、仕様のエラッタ1付きの検証済みバージョン1.0.0である。AV1ビットストリーム仕様には、参照ビデオコーデックが含まれている。「AV1 Bitstream&Decoding Process Specification」(エラッタ1付きバージョン1.0.0)、The Alliance for Open Media(2019年1月8日)は、その全体が参照により本明細書に組み込まれる。
【0004】
高効率ビデオコーディング(High Efficiency Video Coding、HEVC)規格は、ITU-Tビデオコーディングエキスパートグループ(Video Coding Experts Group、VCEG)とISO/IEC動画エキスパートグループ(Moving Picture Experts Group、MPEG)標準化団体が共同で開発したものである。HEVC規格を開発するために、これら2つの標準化団体は、ビデオコーディングに関する共同作業チーム(Joint Collaborative Team on Video Coding、JCT-VC)として知られるパートナーシップで協力している。HEVC規格の初版は2013年1月に完成し、その結果、ITU-TとISO/IECの両方によって発行される整合テキストが作成された。その後、規格を拡張して、精度とカラーフォーマットのサポートが強化された拡張範囲の使用、スケーラブルなビデオコーディング、及び3‐D/ステレオ/マルチビュービデオコーディングなど、いくつかの追加の適用シナリオをサポートするように追加作業がなされた。ISO/IECでは、HEVC規格はMPEG‐H Part2(ISO/IEC 23008‐2)になり、ITU‐TではITU‐T勧告H.265になった。
【0005】
ITU‐T VCEG(Q6/16)及びISO/IEC MPEG(JTC 1/SC 29/WG 11)は、2013年(バージョン1)、2014年(バージョン2)、2015年(バージョン3)、及び2016年(バージョン4)にH.265/HEVC(高効率ビデオコーディング)規格を発行した。それ以来、彼らは、圧縮能力においてHEVCを大幅に上回る可能性のある将来のビデオコーディング技術の標準化の潜在的ニーズを研究してきた。2017年10月、彼らはHEVCを超える機能を備えたビデオ圧縮に関する共同提案募集(Call for Proposal、CfP)を発表した。2018年2月15日までに、標準ダイナミックレンジ(standard dynamic range、SDR)に関する22件のCfP回答、ハイダイナミックレンジ(high dynamic range、HDR)に関する12件のCfP回答、360ビデオカテゴリーに関する12件のCfP回答がそれぞれ提出された。2018年4月、受け取ったすべてのCfP応答は、122 MPEG/第10回共同ビデオ探索チーム‐共同ビデオ専門家チーム(Joint Video Exploration Team‐Joint Video Expert Team、JVET)会議で評価された。JVETは、慎重な評価により、HEVCを超えた次世代ビデオコーディング、即ち、いわゆる多用途ビデオコーディング(Versatile Video Coding、VVC)の標準化を正式に開始した。
【0006】
HEVCに先立ち、2001年12月、VCEGと動画エキスパートグループ(MPEG)ISO/IEC JTC 1/SC 29/WG 11は共同ビデオチーム(Joint Video Team、JVT)を結成し、2003年3月にH.264/AVCとして正式に承認を提出するための新しいビデオコーディング規格の草案を完成させる憲章を作成した。H.264/AVCは、ITU‐Tでは勧告H.264として、ISO/IECでは国際規格14 496‐10(MPEG‐4 part10)高度なビデオコーディング(Advanced Video Coding、AVC)として承認された。
【発明の概要】
【課題を解決するための手段】
【0007】
1つ又は複数の実施形態によれば、少なくとも1つのプロセッサが実行する方法が提供される。この方法は、コード化されたピクチャを受信するステップと、コード化されたピクチャの現在ブロックを再構成するステップとを含む。再構成は、現在ブロックのサンプルを、第1のセグメント及び第2のセグメントを含む複数のセグメントにセグメント化するステップと、第1の予測モードを用いて、コード化されたピクチャの現在ブロックの第1のセグメントを予測するステップと、第1の予測モードとは異なる第2の予測モードを用いて、コード化されたピクチャの現在ブロックの第2のセグメントを予測するステップとを含む。
【0008】
一実施形態によれば、第1の予測モードは、イントラブロックコピー(intra block copy、IBC)モードであり、第2の予測モードは、隣接する再構成されたサンプルを使用してイントラ予測を実行するイントラ予測モードである。
【0009】
一実施形態によれば、現在ブロックを再構成するステップは、第1の予測モードをシグナリングするステップを更に含む。
【0010】
一実施形態によれば、現在ブロックを再構成するステップは、第2の予測モードをシグナリングするステップを含む。
【0011】
一実施形態によれば、セグメント化は、現在ブロックのサンプルに基づいて少なくとも1つの閾値を計算するステップと、少なくとも1つの閾値に基づいて現在ブロックのサンプルをセグメント化するステップとを含む。
【0012】
一実施形態によれば、現在ブロックを再構成するステップは、コード化されたピクチャの参照ブロックのサンプルを複数のセグメントにセグメント化して、参照ブロックのセグメント化情報を取得するステップを更に含み、現在ブロックのサンプルをセグメント化するステップは、参照ブロックのセグメント化情報を現在ブロックにマッピングするステップを含む。
【0013】
一実施形態によれば、現在ブロックの第1のセグメントを予測するステップは、参照ブロックのサンプルをセグメント化する前、及び現在ブロックのサンプルをセグメント化する前に、ブロックベクトルに基づいて参照ブロックを識別するステップを含み、マッピングは、ブロックベクトルに基づいて参照ブロックのセグメント化情報を現在ブロックにマッピングするステップを含む。
【0014】
一実施形態によれば、現在ブロックの第2のセグメントを予測するステップは、現在ブロックの第2のセグメントを予測する予測ブロックを取得するステップを含み、現在ブロックの第1のセグメントを予測するステップは、セグメント化情報を使用して、現在ブロックの予測ブロックを、現在ブロックの第1のセグメントに対応する参照ブロックのセグメントと結合することによって結合予測ブロックを取得するステップを更に含む。
【0015】
一実施形態によれば、セグメント化情報は、セグメント化マップである。
【0016】
一実施形態によれば、現在ブロックのサンプルをセグメント化するステップは、第1のセグメントを予測する前に実行される。
【0017】
1つ又は複数の実施形態によれば、システムが提供される。このシステムは、コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、コンピュータプログラムコードにアクセスし、コンピュータプログラムコードによって指示されたとおりに動作するように構成された少なくとも1つのプロセッサとを含む。コンピュータプログラムコードは、少なくとも1つのプロセッサに、受信されたコード化されたピクチャの現在ブロックを再構成させるように構成された再構成コードを含む。再構成コードは、少なくとも1つのプロセッサに、現在ブロックのサンプルを、第1のセグメント及び第2のセグメントを含む複数のセグメントにセグメント化させるように構成された現在ブロックセグメント化コードと、少なくとも1つのプロセッサに、第1の予測モードを用いて、コード化されたピクチャの現在ブロックの第1のセグメントを予測させるように構成された第1の予測コードと、少なくとも1つのプロセッサに、第1の予測モードとは異なる第2の予測モードを用いて、コード化されたピクチャの現在ブロックの第2のセグメントを予測させるように構成された第2の予測コードとを含む。
【0018】
一実施形態によれば、第1の予測モードは、イントラブロックコピー(IBC)モードであり、第2の予測モードは、隣接する再構成されたサンプルを使用してイントラ予測を実行するイントラ予測モードである。
【0019】
一実施形態によれば、再構成コードは、少なくとも1つのプロセッサに、第1の予測モードをシグナリングさせるように構成されたシグナリングコードを更に含む。
【0020】
一実施形態によれば、再構成コードは、少なくとも1つのプロセッサに、第2の予測モードをシグナリングさせるように構成されたシグナリングコードを更に含む。
【0021】
一実施形態によれば、現在のブロックセグメント化コードは、少なくとも1つのプロセッサに、現在ブロックのサンプルに基づいて少なくとも1つの閾値を計算させ、少なくとも1つの閾値に基づいて現在ブロックのサンプルをセグメント化させるように更に構成される。
【0022】
一実施形態によれば、再構成コードは、少なくとも1つのプロセッサに、コード化されたピクチャの参照ブロックのサンプルを複数のセグメントにセグメント化させて、参照ブロックのセグメント化情報を取得させるように構成された参照ブロックセグメント化コードを更に含み、現在ブロックセグメント化コードは、少なくとも1つのプロセッサに、参照ブロックのセグメント化情報を現在ブロックにマッピングさせるように構成される。
【0023】
一実施形態によれば、第1の予測コードは、少なくとも1つのプロセッサが参照ブロックのサンプル及び現在ブロックのサンプルをセグメント化する前に、少なくとも1つのプロセッサに、ブロックベクトルに基づいて参照ブロックを識別させるように構成され、現在ブロックセグメント化コードは、少なくとも1つのプロセッサに、ブロックベクトルに基づいて参照ブロックのセグメント化情報を現在ブロックにマッピングさせるように構成される。
【0024】
一実施形態によれば、第2の予測コードは、少なくとも1つのプロセッサに、現在ブロックの第2のセグメントを予測する予測ブロックを取得させるように構成され、第1の予測コードは、少なくとも1つのプロセッサに、セグメント化情報を使用して、現在ブロックの予測ブロックを、現在ブロックの第1のセグメントに対応する参照ブロックのセグメントと結合することによって結合予測ブロックを取得させるように構成される。
【0025】
一実施形態によれば、セグメント化情報は、セグメント化マップである。
【0026】
1つ又は複数の実施形態によれば、コンピュータ命令を記憶する非一時的なコンピュータ可読媒体が提供される。コンピュータ命令は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、現在ブロックのサンプルを第1のセグメント及び第2のセグメントを含む複数のセグメントにセグメント化し、第1の予測モードを用いて、コード化されたピクチャの現在ブロックの第1のセグメントを予測し、第1の予測モードとは異なる第2の予測モードを用いて、コード化されたピクチャの現在ブロックの第2のセグメントを予測することによって、受信されたコード化されたピクチャの現在ブロックを再構成させるように構成される。
【図面の簡単な説明】
【0027】
開示された主題の更なる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになるであろう。
【0028】
【
図1】一実施形態による通信システムの簡略化されたブロック図の概略図である。
【
図2】一実施形態による通信システムの簡略化されたブロック図の概略図である。
【
図3】一実施形態によるデコーダの簡略化されたブロック図の概略図である。
【
図4】一実施形態によるエンコーダの簡略化されたブロック図の概略図である。
【
図5A】VP9の第1の例示的なパーティション構造を示す図である。
【
図5B】VP9の第2の例示的なパーティション構造を示す図である。
【
図5C】VP9の第3の例示的なパーティション構造を示す図である。
【
図5D】VP9の第4の例示的なパーティション構造を示す図である。
【
図6A】AV1の第1の例示的なパーティション構造を示す図である。
【
図6B】AV1の第2の例示的なパーティション構造を示す図である。
【
図6C】AV1の第3の例示的なパーティション構造を示す図である。
【
図6D】AV1の第4の例示的なパーティション構造を示す図である。
【
図6E】AV1の第5の例示的なパーティション構造を示す図である。
【
図6F】AV1の第6の例示的なパーティション構造を示す図である。
【
図6G】AV1の第7の例示的なパーティション構造を示す図である。
【
図6H】AV1の第8の例示的なパーティション構造を示す図である。
【
図6I】AV1の第9の例示的なパーティション構造を示す図である。
【
図6J】AV1の第10の例示的なパーティション構造を示す図である。
【
図7A】マルチタイプツリー構造における垂直二元分割タイプを示す図である。
【
図7B】マルチタイプツリー構造における水平二元分割タイプを示す図である。
【
図7C】マルチタイプツリー構造における垂直三元分割タイプを示す図である。
【
図7D】マルチタイプツリー構造における水平三元分割タイプを示す図である。
【
図8】クワッドツリー及びネスト化されたマルチタイプツリーコーディングブロック構造を有する複数のCUに分割されたCTUの一例を示す図である。
【
図9】AV1における8つの公称角度を示す図である。
【
図10】現在のブロック及びサンプルを示す図である。
【
図11】イントラブロックコピー補償の一例を示す図である。
【
図12】イントラブロックコピー予測の一実施形態に関して、現在の処理ブロック、制限された即時ブロック、及び許可された予測ブロックの一例を示す図である。
【
図13A】一実施形態による、1つのCTUサイズの検索範囲を用いたイントラピクチャブロック補償の図である。
【
図13B】一実施形態による、1つのCTUサイズの検索範囲を用いたイントラピクチャブロック補償の図である。
【
図13C】一実施形態による、1つのCTUサイズの検索範囲を用いたイントラピクチャブロック補償の図である。
【
図13D】一実施形態による、1つのCTUサイズの検索範囲を用いたイントラピクチャブロック補償の図である。
【
図14】ビデオコンテンツに適用されるイントラブロックコピーの例を示す図である。
【
図15】本開示の実施形態による、複数の予測モードが適用される単一のブロックを示す図である。
【
図16】本開示の実施形態によるプロセスを示す図である。
【
図17】本開示の一実施形態によるデコーダの概略図である。
【
図18】本開示の実施形態を実装するのに適したコンピュータシステムの図である。
【発明を実施するための形態】
【0029】
本開示の実施形態は、ビデオコーディングアプローチを含み、これは、H.264/AVC、HEVC、VVC、及びAV1を含むがこれらに限定されない複数の既存のビデオコーディング規格上に適用することができる。
【0030】
本開示では、「ブロック」という用語は、予測ブロック、コーディングブロック、又はコーディングユニット(coding unit、CU)として解釈されてもよい。ここで「ブロック」という用語は、変換ブロックを指すために使用されることもある。
【0031】
図1は、本開示の一実施形態による通信システム(100)の簡略化されたブロック図を示す。システム(100)は、ネットワーク(150)を介して相互接続された少なくとも2つの端末(110、120)を含むことができる。データの一方向送信の場合、第1の端末(110)は、ネットワーク(150)を介して他方の端末(120)に送信するために、ローカル位置でビデオデータをコード化することができる。第2の端末(120)は、ネットワーク(150)から他方の端末のコード化されたビデオデータを受信し、そしてコード化されたデータをデコードし、復元されたビデオデータを表示することができる。一方向データ送信は、メディアサービングアプリケーションなどにおいて一般的である可能性がある。
【0032】
図1は、例えば、ビデオ会議中に発生する可能性のあるコード化されたビデオの双方向送信をサポートするために提供される第2の対の端末(130、140)を示す。データの双方向送信の場合、各端末(130、140)は、ネットワーク(150)を介して他方の端末に送信するために、ローカル位置でキャプチャされたビデオデータをコード化することができる。各端末(130、140)はまた、他方の端末によって送信されたコード化されたビデオデータを受信し、コード化されたデータをデコードし、そしてローカルディスプレイデバイスで復元されたビデオデータを表示することができる。
【0033】
図1において、端末(110~140)は、サーバ、パーソナルコンピュータ、スマートフォン、及び/又は及び他の任意のタイプの端末として示されてもよい。例えば、端末(110~140)は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤー、及び/又は専用ビデオ会議機器であってもよい。ネットワーク(150)は、例えば、有線及び/又は無線通信ネットワークを含めて、端末(110~140)間でコード化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(150)は、回線交換チャネル及び/又はパケット交換チャネルでデータを交換することができる。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、及び/又はインターネットが含まれる。本議論の目的のために、ネットワーク(150)のアーキテクチャ及びトポロジーは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではない場合がある。
【0034】
図2は、開示された主題の適用の一例として、ストリーミング環境におけるビデオエンコーダ及びデコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリースティックなどを含むデジタル媒体への圧縮ビデオの保存などを含めて、他のビデオ対応アプリケーションにも同様に適用可能である。
【0035】
図2に示されるように、ストリーミングシステム(200)は、ビデオソース(201)及びエンコーダ(203)を含むことができるキャプチャサブシステム(213)を含み得る。ビデオソース(201)は、例えば、デジタルカメラであってもよく、また非圧縮ビデオサンプルストリーム(202)を作成するように構成されてもよい。非圧縮ビデオサンプルストリーム(202)は、エンコードされたビデオビットストリームと比較して高いデータ量を提供することができ、またカメラ(201)に結合されたエンコーダ(203)によって処理することができる。エンコーダ(203)は、以下でより詳細に説明されるように、開示された主題の態様を可能にするか又は実装するために、ハードウェア、ソフトウェア、又はそれらの組み合わせを含むことができる。エンコードされたビデオビットストリーム(204)は、サンプルストリームと比較してより低いデータ量を含むことができ、また将来の使用のためにストリーミングサーバ(205)に記憶することができる。1つ又は複数のストリーミングクライアント(206)は、ストリーミングサーバ(205)にアクセスして、エンコードされたビデオビットストリーム(204)のコピーであり得るビデオビットストリーム(209)を検索することができる。
【0036】
実施形態では、ストリーミングサーバ(205)は、メディア認識ネットワーク要素(Media-Aware Network Element、MANE)としても機能することができる。例えば、ストリーミングサーバ(205)は、異なり得るビットストリームを1つ又は複数のストリーミングクライアント(206)に合わせて調整するために、エンコードされたビデオビットストリーム(204)をプルーニングするように構成されてもよい。実施形態では、MANEは、ストリーミングシステム(200)内のストリーミングサーバ(205)とは別に提供されてもよい。
【0037】
ストリーミングクライアント(206)は、ビデオデコーダ(210)及びディスプレイ(212)を含むことができる。ビデオデコーダ(210)は、例えば、エンコードされたビデオビットストリーム(204)の着信コピーであるビデオビットストリーム(209)をデコードし、そしてディスプレイ(212)又は別のレンダリングデバイス(図示せず)上にレンダリングすることができる発信ビデオサンプルストリーム(211)を作成することができる。一部のストリーミングシステムでは、ビデオビットストリーム(204、209)を特定のビデオコーディング/圧縮規格に従ってエンコードすることができる。そのような規格の例としては、ITU‐T勧告H.265が挙げられるが、これに限定されない。開発中のビデオコーディング規格は、非公式に多用途ビデオコーディング(VVC)として知られている。本開示の実施形態は、VVCの文脈で使用することができる。
【0038】
図3は、本発明の一実施形態による、ディスプレイ(212)に取り付けられたビデオデコーダ(210)の例示的な機能ブロック図を示す。
【0039】
ビデオデコーダ(210)は、チャネル(312)、受信機(310)、バッファメモリ(315)、エントロピーデコーダ/パーサ(320)、スケーラ/逆変換ユニット(351)、イントラ予測ユニット(352)、動き補償予測ユニット(353)、アグリゲータ(355)、ループフィルタユニット(356)、参照ピクチャメモリ(357)、及び現在ピクチャメモリ()を含むことができる。少なくとも1つの実施形態では、ビデオデコーダ(210)は、集積回路、一連の集積回路、及び/又は他の電子回路を含むことができる。ビデオデコーダ(210)はまた、関連するメモリを備えた1つ又は複数のCPU上で実行されるソフトウェアにおいて部分的に又は全体的に具体化されてもよい。
【0040】
本実施形態及び他の実施形態では、受信機(310)は、デコーダ(210)によってデコードされる1つ又は複数のコード化されたビデオシーケンスを、一度に1つのコード化されたビデオシーケンスで受信することができ、ここで、各コード化されたビデオシーケンスのデコードは、他のコード化されたビデオシーケンスから独立している。コード化されたビデオシーケンスは、チャネル(312)から受信されてもよく、チャネル(312)は、エンコードされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであり得る。受信機(310)は、エンコードされたビデオデータを、他のデータ、例えば、コード化されたオーディオデータ及び/又は補助データストリームと共に受信することができ、これらのデータは、それぞれの使用エンティティ(図示せず)に転送され得る。受信機(310)は、コード化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッターに対処するために、バッファメモリ(315)は、受信機(310)とエントロピーデコーダ/パーサ(320)(以降、「パーサ」)との間に結合されてもよい。受信機(310)が十分な帯域幅及び可制御性を有するストア/フォワードデバイスから、又は等同期ネットワークからデータを受信しているとき、バッファ(315)は使用されなくてもよく、又は小さくてもよい。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファ(315)が必要とされる場合があり、それは、比較的大きくてもよく、また適応サイズとすることができる。
【0041】
ビデオデコーダ(210)は、エントロピーコード化されたビデオシーケンスからシンボル(321)を再構成するためのパーサ(320)を含むことができる。これらのシンボルのカテゴリには、例えば、デコーダ(210)の動作を管理するために使用される情報と、
図2に示されるようにデコーダに結合され得るディスプレイ(212)などのレンダリングデバイスを制御するための潜在的な情報とが含まれる。レンダリングデバイス用の制御情報は、例えば、補足強化情報(Supplementary Enhancement Information、SEI)メッセージ又はビデオユーザビリティ情報(Video Usability Information、VUI)パラメータセットフラグメント(図示せず)の形式であってもよい。パーサ(320)は、受信したコード化されたビデオシーケンスを解析/エントロピーデコードすることができる。コード化されたビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に従うことができ、また、可変長コーディング、ハフマンコーディング、コンテキスト感度を伴う又は伴わない算術コーディングなどを含めて、当業者に周知の原理に従うことができる。パーサ(320)は、グループに対応する少なくとも1つのパラメータに基づいて、コード化されたビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループの少なくとも1つ用のサブグループパラメータのセットを抽出することができる。サブグループは、ピクチャグループ(Groups of Pictures、GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(Transform Unit、TU)、予測ユニット(Prediction Unit、PU)などを含むことができる。パーサ(320)はまた、コード化されたビデオシーケンスから変換係数、量子化器パラメータ値、動きベクトルなどの情報を抽出することができる。
【0042】
パーサ(320)は、バッファ(315)から受信したビデオシーケンスに対してエントロピーデコード/解析動作を実行して、シンボル(321)を作成することができる。
【0043】
シンボル(321)の再構成には、コード化されたビデオピクチャ又はその一部(例えば、インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロック)のタイプ、及び他の要因に応じて、複数の異なるユニットが関与する可能性がある。どのユニットが関与するか、及びどのように関与するかは、パーサ(320)によってコード化されたビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。パーサ(320)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、分かりやすくするために示されていない。
【0044】
既に述べた機能ブロックに加えて、デコーダ(210)は、以下に説明されるように、概念的にいくつかの機能ユニットに再分割することができる。商業的制約の下で動作する実際の実装では、これらのユニットの多くは互いに密接に相互作用し、また少なくとも部分的に互いに統合することができる。しかしながら、開示された主題を説明する目的では、以下の機能ユニットへの概念的な再分割が適切である。
【0045】
1つのユニットは、スケーラ/逆変換ユニット(351)であり得る。スケーラ/逆変換ユニット(351)は、パーサ(320)から、量子化された変換係数、並びに使用する変換、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報をシンボル(321)として受信することができる。スケーラ/逆変換ユニット(351)は、サンプル値を含むブロックを出力することができ、これらのブロックはアグリゲータ(355)に入力することができる。
【0046】
場合によっては、スケーラ/逆変換ユニット(351)の出力サンプルは、イントラコード化されたブロック、即ち、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用できるブロックに関連する可能性がある。そのような予測情報は、イントラピクチャ予測ユニット(352)によって提供することができる。場合によっては、イントラピクチャ予測ユニット(352)は、現在のピクチャメモリ(358)からの現在の(部分的に再構成された)ピクチャからフェッチされた周囲の既に再構成された情報を用いて、再構成中のブロックと同じサイズ及び形状のブロックを生成する。アグリゲータ(355)は、場合によっては、サンプルごとに、イントラ予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供された出力サンプル情報に追加する。
【0047】
他の場合には、スケーラ/逆変換ユニット(351)の出力サンプルは、インターコード化され、潜在的に動き補償されたブロックに関連する可能性がある。そのような場合、動き補償予測ユニット(353)は、参照ピクチャメモリ(357)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関連するシンボル(321)に従ってフェッチしたサンプルを動き補償した後、アグリゲータ(355)によってこれらのサンプルをスケーラ/逆変換ユニット(351)の出力(この場合、残差サンプル又は残差信号と呼ばれる)に追加して、出力サンプル情報を生成することができる。動き補償予測ユニット(353)が予測サンプルをフェッチする参照ピクチャメモリ(357)内のアドレスは、動きベクトルによって制御することができる。動きベクトルは、例えば、X、Y、及び参照ピクチャ成分を有することができるシンボル(321)の形式で動き補償予測ユニット(353)に利用可能であり得る。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(357)からフェッチされたサンプル値の補間、動きベクトル予測メカニズムなどを含むことができる。
【0048】
アグリゲータ(355)の出力サンプルは、ループフィルタユニット(356)において様々なループフィルタリング技術を受けることができる。ビデオ圧縮技術は、インループフィルタ技術を含むことができ、これらの技術は、コード化されたビデオビットストリームに含まれているパラメータによって制御され、パーサ(320)からのシンボル(321)としてループフィルタユニット(356)に利用可能にされるが、コード化されたピクチャ又はコード化されたビデオシーケンスの前の(デコード順の)部分のデコード中に得られたメタ情報に応答することも、以前に再構成及びループフィルタリングされたサンプル値に応答することもできる。
【0049】
ループフィルタユニット(356)の出力は、ディスプレイ(212)などのレンダリングデバイスに出力され得るだけでなく、将来のインターピクチャ予測に使用するために参照ピクチャメモリ(357)に記憶され得るサンプルストリームであり得る。
【0050】
特定のコード化されたピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用することができる。コード化されたピクチャが完全に再構成され、またコード化されたピクチャが参照ピクチャとして識別されると(例えば、パーサ(320)によって)、現在の参照ピクチャは参照ピクチャメモリ(357)の一部になることができ、そして次のコード化されたピクチャの再構成を開始する前に、新しい現在のピクチャメモリを再割り当てすることができる。
【0051】
ビデオデコーダ(210)は、ITU‐T Rec.H.265などの規格に文書化され得る所定のビデオ圧縮技術に従ってデコード動作を実行することができる。コード化されたビデオシーケンスは、ビデオ圧縮技術文書又は規格、特にその中のプロファイル文書で指定されているように、ビデオ圧縮技術又は規格の構文に準拠するという意味で、使用されているビデオ圧縮技術又は規格によって指定された構文に準拠することができる。また、一部のビデオ圧縮技術又は規格に準拠するために、コード化されたビデオシーケンスの複雑さは、ビデオ圧縮技術又は規格のレベルによって定義された範囲内にあり得る。場合によっては、レベルによって、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、1秒あたりのメガサンプルで測定)、最大参照ピクチャサイズなどが制限される。レベルによって設定される制限は、場合によっては、仮想参照デコーダ(Hypothetical Reference Decoder、HRD)仕様及びコード化されたビデオシーケンスで信号で送られたHRDバッファ管理用のメタデータによって更に制限されることがある。
【0052】
一実施形態では、受信機(310)は、エンコードされたビデオと共に追加の(冗長)データを受信することができる。追加のデータは、コード化されたビデオシーケンスの一部として含まれてもよい。追加のデータは、データを適切にデコードするため、及び/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ(210)によって使用され得る。追加のデータは、例えば、時間的、空間的、又はSNR強化層、冗長スライス、冗長ピクチャ、前方誤り訂正コードなどの形式であり得る。
【0053】
図4は、本開示の一実施形態による、ビデオソース(201)に関連付けられたビデオエンコーダ(203)の例示的な機能ブロック図を示す。
【0054】
ビデオエンコーダ(203)は、例えば、ソースコーダ(430)であるエンコード、コーディングエンジン(432)、(ローカル)デコーダ(433)、参照ピクチャメモリ(434)、予測器(435)、送信機(440)、エントロピーコーダ(445)、コントローラ(450)、及びチャネル(460)を含むことができる。
【0055】
ビデオエンコーダ(203)は、エンコーダ(203)によってコード化されるべきビデオ画像をキャプチャすることができるビデオソース(201)(エンコーダの一部ではない)からビデオサンプルを受信することができる。
【0056】
ビデオソース(201)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット…)、任意の色空間(例えば、BT.601 Y CrCB、RGB…)、及び任意の適切なサンプリング構造(例えば、Y CrCB 4:2:0、Y CrCB 4:4:4)であり得るデジタルビデオサンプルストリームの形式で、エンコーダ(203)によってコード化されるべきソースビデオシーケンスを提供することができる。メディアサービングシステムでは、ビデオソース(201)は、以前に準備されたビデオを記憶する記憶装置であってもよい。ビデオ会議システムでは、ビデオソース(203)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであってもよい。ビデオデータは、順番に見たときに動きを与える複数の個別のピクチャとして提供されてもよい。ピクチャ自体は、ピクセルの空間配列として編成することができ、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つ又は複数のサンプルを含むことができる。当業者であれば、ピクセルとサンプルとの間の関係を容易に理解することができる。以下では、サンプルに焦点を当てて説明する。
【0057】
一実施形態によれば、エンコーダ(203)は、リアルタイムで、又はアプリケーションによって必要とされる他の任意の時間制約の下で、ソースビデオシーケンスのピクチャをコード化されたビデオシーケンス(443)にコード化し圧縮することができる。適切なコーディング速度を適用することは、コントローラ(450)の1つの機能である。コントローラ(450)はまた、以下に説明されるように他の機能ユニットを制御することができ、またこれらのユニットに機能的に結合されてもよい。分かりやすくするために、結合は示されていない。コントローラ(450)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値…)、ピクチャサイズ、ピクチャグループ(GOP)レイアウト、最大動きベクトル検索範囲などを含むことができる。当業者は、コントローラ(450)の他の機能が特定のシステム設計用に最適化されたビデオエンコーダ(203)に関係する可能性があるため、それらを容易に特定することができる。
【0058】
一部のビデオエンコーダは、当業者が容易に認識できる「コーディングループ」で動作する。過度に単純化された説明として、コーディングループは、ソースコーダ(430)のエンコード部分(コード化されるべき入力ピクチャ及び参照ピクチャに基づいてシンボルを作成する役割を果たす)と、シンボルを再構成してサンプルデータを作成するエンコーダ(203)に埋め込まれた(ローカル)デコータ(433)とで構成することができ、シンボルとコード化されたビデオビットストリームとの間の圧縮が、特定のビデオ圧縮技術において可逆である場合に、(リモート)デコーダもそのサンプルデータを作成する。その再構成されたサンプルストリームは、参照ピクチャメモリ(434)に入力され得る。シンボルストリームのデコードにより、デコーダの位置(ローカル又はリモート)に関係なくビット精度の結果が得られるため、参照ピクチャバッファのコンテンツも、ローカルエンコーダとリモートエンコーダとの間でビット精度となる。言い換えれば、エンコーダの予測部分は、デコード中に予測を使用するときにデコーダが「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(及び、例えばチャネルエラーのために同期性を維持できない場合、結果として生じるドリフト)のこの基本原理は、当業者に知られている。
【0059】
「ローカル」デコーダ(433)の動作は、
図3に関連して上記で既に詳細に説明されている「リモート」デコーダ(210)の動作と同じであってもよい。しかし、シンボルが利用可能であり、エントロピーコーダ(445)及びパーサ(320)によってシンボルをコード化されたビデオシーケンスにエンコード/デコードすることは可逆であり得るため、チャネル(312)、受信機(310)、バッファ(315)、及びパーサ(320)を含むデコーダ(210)のエントロピーデコード部分は、ローカルデコーダ(433)に完全に実装されていない可能性がある。
【0060】
この時点で行うことができる観察は、デコーダに存在する解析/エントロピーデコードを除くいかなるデコーダ技術も、対応するエンコーダ内に実質的に同一の機能形態で存在する必要があり得るということである。このため、開示された主題は、デコーダの動作に焦点を当てている。エンコーダ技術は、包括的に説明されているデコーダ技術の逆である可能性があるため、その説明を省略することができる。特定の領域についてのみ、より詳細な説明が必要であり、以下に提供する。
【0061】
その動作の一部として、ソースコーダ(430)は、動き補償予測コーディングを実行することができ、これは、「参照フレーム」として指定されたビデオシーケンスからの1つ又は複数の以前にコード化されたフレームを参照して入力フレームを予測的にコード化する。このようにして、コーディングエンジン(432)は、入力フレームのピクセルブロックと、入力フレームへの予測参照として選択され得る参照フレームのピクセルブロックとの間の差分をコード化する。
【0062】
ローカルビデオデコーダ(433)は、ソースコーダ(430)によって作成されたシンボルに基づいて、参照フレームとして指定され得るフレームのコード化されたビデオデータをデコードすることができる。コーディングエンジン(432)の動作は、有利には、非可逆プロセスであり得る。コード化されたビデオデータがビデオデコーダ(
図4には示されていない)でデコードされ得る場合、再構成されたビデオシーケンスは、通常、いくつかのエラーを伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(433)は、参照フレームに対してビデオデコーダによって実行され得るデコードプロセスを複製し、そして再構成された参照フレームを参照ピクチャメモリ(434)に記憶させることができる。このようにして、ビデオエンコーダ(203)は、遠端ビデオデコーダ(送信エラーがない)によって取得される再構成された参照フレームとして共通の内容を有する再構成された参照フレームのコピーをローカルに記憶することができる。
【0063】
予測器(435)は、コーディングエンジン(432)のために予測検索を実行することができる。即ち、コード化されるべき新しいフレームについて、予測器(435)は、参照ピクチャメモリ(434)を検索して、サンプルデータ(候補参照ピクセルブロックとして)又は参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを探すことができ、それらは、新しいピクチャに対する適切な予測参照として役立つことができる。予測器(435)は、適切な予測参照を見つけるために、サンプルブロックごとのピクセルブロックベースで動作することができる。場合によっては、予測器(435)によって得られた検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(434)に記憶された複数の参照ピクチャから抽出された予測参照を有してもよい。
【0064】
コントローラ(450)は、例えば、ビデオデータをエンコードするために使用されるパラメータ及びサブグループパラメータの設定を含めて、ビデオコーダ(430)のコーディング動作を管理することができる。
【0065】
前述のすべての機能ユニットの出力は、エントロピーコーダ(445)においてエントロピーコーディングを受けることができる。エントロピーコーダは、例えばハフマンコーディング、可変長コーディング、算術コーディングなどとして当業者に知られている技術に従ってシンボルを可逆的に圧縮することによって、様々な機能ユニットによって生成されたシンボルをコード化されたビデオシーケンスに変換する。
【0066】
送信機(440)は、エントロピーコーダ(445)によって作成されたコード化されたビデオシーケンスをバッファリングして、通信チャネル(460)を介した送信に備えることができ、通信チャネル(460)は、エンコードされたビデオデータを記憶する記憶装置へのソフトウェア/ハードウェアリンクであり得る。送信機(440)は、ビデオコーダ(430)からのコード化されたビデオデータを、送信されるべき他のデータ、例えば、コード化されたオーディオデータ及び/又は補助データストリーム(ソースは示されていない)とマージすることができる。
【0067】
コントローラ(450)は、エンコーダ(203)の動作を管理することができる。コーディング中に、コントローラ(450)は、各コード化されたピクチャに特定のコード化されたピクチャタイプを割り当てることができ、このコード化されたピクチャタイプは、それぞれのピクチャに適用され得るコーディング技術に影響を与える可能性がある。例えば、ピクチャは、多くの場合、イントラピクチャ(Iピクチャ)、予測ピクチャ(Pピクチャ)、又は双方向予測ピクチャ(Bピクチャ)として割り当てられてもよい。
【0068】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の任意の他のフレームを使用することなくコード化及びデコードされ得るものであり得る。一部のビデオコーデックでは、例えば、独立デコーダリフレッシュ(Independent Decoder Refresh、IDR)ピクチャを含めて、様々なタイプのイントラピクチャが可能である。当業者は、Iピクチャのそれらの変形並びにそれらのそれぞれの用途及び特徴を知っている。
【0069】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大で1つの動きベクトル及び参照インデックスを使用するイントラ予測又はインター予測を用いてコード化及びデコードされ得るものであり得る。
【0070】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大で2つの動きベクトル及び参照インデックスを使用するイントラ予測又はインター予測を用いてコード化及びデコードされ得るものであり得る。同様に、複数の予測ピクチャは、単一のブロックの再構成のために3つ以上の参照ピクチャ及び関連するメタデータを使用することができる。
【0071】
ソースピクチャは、一般に、空間的に複数のサンプルブロック(例えば、それぞれ4x4、8x8、4x8、又は16x16サンプルのブロック)に再分割され、ブロックごとにコード化されてもよい。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定された他の(既にコード化された)ブロックを参照して予測的にコード化されてもよい。例えば、Iピクチャのブロックは、非予測的にコード化されてもよく、又はそれらは、同じピクチャの既にコード化されたブロックを参照して予測的にコード化されてもよい(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、1つの以前にコード化された参照ピクチャを参照して、空間予測を介して、又は時間予測を介して非予測的にコード化されてもよい。Bピクチャのブロックは、1つ又は2つの以前にコード化された参照ピクチャを参照して、空間予測を介して、又は時間予測を介して、非予測的にコード化されてもよい。
【0072】
ビデオコーダ(203)は、ITU‐T Rec.H.265などの所定のビデオコーディング技術又は規格に従ってコーディング動作を実行することができる。その動作において、ビデオコーダ(203)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を利用する予測コーディング動作を含めて、様々な圧縮動作を実行することができる。したがって、コード化されたビデオデータは、使用されているビデオコーディング技術又は規格によって指定された構文に準拠することができる。
【0073】
一実施形態では、送信機(440)は、エンコードされたビデオと共に追加のデータを送信することができる。ビデオコーダ(430)は、コード化されたビデオシーケンスの一部としてそのようなデータを含むことができる。追加データは、時間/空間/SNR強化層、冗長ピクチャ及びスライスなどの他の形式の冗長データ、補足強化情報(SEI)メッセージ、ビジュアルユーザビリティ情報(VUI)パラメータセットフラグメントなどを含むことができる。
【0074】
[VP9及びAV1におけるコーディングブロック分割]
【0075】
図5A~
図5Dのパーティション構造(502)~(508)を参照すると、VP9は、64x64レベルから4x4レベルまでの4種類のパーティションツリーを使用し、ブロック8x8にはいくつかの追加の制限がある。
図5DでRとして指定されているパーティションは、同じパーティションツリーが、最低の4x4レベルに達するまで、より低いスケールで繰り返されるという点で再帰を指すことに留意されたい。
【0076】
図6A~
図6Jのパーティション構造(511)~(520)を参照すると、AV1は、パーティションツリーを10種類の構造に拡張するだけでなく、128x128からのように最大サイズ(VP9/AV1用語ではスーパーブロックと呼ばれる)を増加させる。これには、VP9には存在しなかった4:1/1:4の長方形パーティションが含まれることに留意されたい。
図6C~
図6Fに示されるような3つのサブパーティションを有するパーティションタイプは、「Tタイプ」パーティションと呼ばれる。長方形パーティションは、更に分割することはなくでもよい。コーディングブロックサイズに加えて、コーディングツリーの深さを定義して、ルートノートからの分割深さを示すことができる。具体的には、例えば128×128のルートノードには、コーディングツリーの深さを0に設定し、ツリーブロックを更に1回分割した後、コーディングツリーの深さが1だけ増加する。
【0077】
VP9のように固定の変換ユニットサイズを適用する代わりに、AV1では、輝度コーディングブロックを複数のサイズの変換ユニットに分割することができ、これらの変換ユニットは、最大2レベル下がる再帰パーティションで表すことができる。AV1の拡張コーディングブロックパーティションを組み込むために、4×4から64×64までの正方形、2:1/1:2、及び4:1/1:4の変換サイズがサポートされる場合がある。彩度ブロックでは、可能な最大の変換ユニットのみが許可される場合がある。
【0078】
[HEVCにおけるブロック分割]
【0079】
HEVCでは、コーディングツリーユニット(coding tree unit、CTU)は、様々なローカル特性に適応するためにコーディングツリーとして示されるクワッドツリー(quadtree、QT)構造を使用することによってコーディングユニット(CU)に分割され得る。インターピクチャ(時間的)又はイントラピクチャ(空間的)予測を使用してピクチャ領域をコード化するか否かの判定は、CUレベルで行うことができる。各CUは、PU分割タイプに応じて、更に1つ、2つ、又は4つの予測ユニット(PU)に分割することができる。1つのPU内で、同じ予測プロセスが適用されてもよく、関連情報はPUベースでデコーダに送信される。PU分割タイプに基づく予測プロセスを適用して残余ブロックを取得した後、CUは、CUのコーディングツリーのような別のクワッドツリー構造に従って変換ユニット(TU)に分割することができる。HEVC構造の重要な特徴の1つは、CU、PU、及びTUを含む複数のパーティション概念を有することである。HEVCでは、CU又はTUは正方形のみをとることができるが、PUは、インター予測ブロックに対して正方形又は長方形をとることができる。HEVCでは、1つのコーディングブロックは更に、4つの正方形のサブブロックに分割することができ、変換は各サブブロック(即ち、TU)に対して行われる。各TUは、(クアッドツリー分割を使用して)更に再帰的により小さなTUに分割することができ、これは、残差クワッドツリー(Residual Quad-Tree、RQT)と呼ばれる。
【0080】
ピクチャ境界では、HEVCは、ブロックが、サイズがピクチャ境界に適合するまでクワッドツリー分割を行うように、暗黙的なクワッドツリー分割を使用する。
【0081】
[VVCにおけるネスト化されたマルチタイプツリーコーディングブロック構造を有するクワッドツリー]
【0082】
VVCでは、二元及び三元分割セグメント化構造を使用するネスト化されたマルチタイプツリーを有するクアッドツリーは、複数のパーティションユニットタイプの概念に取って代わる。即ち、VVCには、最大変換長に対してサイズが大きすぎるCUに必要な場合を除いて、CU、PU、及びTUの概念の分けが含まれず、CUパーティション形状に柔軟性が向上する。コーディングツリー構造では、CUは正方形又は長方形のいずれかの形状を有することができる。コーディングツリーユニット(CTU)は、最初に四分木(別名クワッドツリー)構造によって分割される。次に、四分木の葉ノードは、マルチタイプツリー構造によって更に分割することができる。
図7A~
図7Dの図(532)、(534)、(536)、及び(538)に示されるように、マルチタイプツリー構造には、
図7Aに示される垂直二元分割(SPLIT_BT_VER)、
図7Bに示される水平二元分割(SPLIT_BT_HOR)、
図7Cに示される垂直三元分割(SPLIT_TT_VER)、及び
図7Dに示される水平三元分割(SPLIT_TT_HOR)の4つの分割タイプがある。マルチタイプツリーの葉ノードはコーディングユニット(CU)と呼ばれる場合があり、CUが最大変換長に対して大きすぎない限り、このセグメント化は、更なる分割なしに予測及び変換処理に使用できる。これは、ほとんどの場合、CU、PU、及びTUが、ネスト化されたマルチタイプツリーコーディングブロック構造を有するクアッドツリーにおいて同じブロックサイズを有することを意味する。サポートされる最大変換長がCUの色成分の幅又は高さよりも小さい場合に例外が発生する。1つのCTUに対するブロック分割の一例を
図8に示す。
図8は、クワッドツリー及びネスト化されたマルチタイプツリーコーディングブロック構造を有する複数のCUに分割されたCTU(540)を示し、太線のエッジはクワッドツリー分割を表し、破線のエッジはマルチタイプツリー分割を表す。ネスト化されたマルチタイプツリーパーティションを有するクワッドツリーは、CUで構成されるコンテンツ適応コーディングツリー構造を提供する。
【0083】
VVCでは、サポートされる最大輝度変換サイズは64×64であり、サポートされる最大彩度変換サイズは32×32である。CBの幅又は高さが最大変換幅又は高さよりも大きい場合、CBは、その方向の変換サイズ制限を満たすために、水平及び/又は垂直方向に自動的に分割されてもよい。
【0084】
VTM7では、コーディングツリースキームは、輝度及び彩度が別個のブロックツリー構造を有する能力をサポートする。Pスライス及びBスライスの場合、1つのCTU内の輝度及び彩度CTBは、同じコーディングツリー構造を共有する必要がある場合がある。ただし、Iスライスの場合、輝度と彩度は別個のブロックツリー構造を有することができる。別個のブロックツリーモードが適用される場合、輝度CTBは1つのコーディングツリー構造によってCUに分割され、彩度CTBは別のコーディングツリー構造によって彩度CUに分割される。これは、ビデオがモノクロでない限り、Iスライス内のCUが、輝度成分のコーディングブロック又は2つの彩度成分のコーディングブロックで構成される可能性があり、Pスライス又はBスライス内のCUが、3つの色成分すべてのコーディングブロックで構成される可能性があることを意味する。
【0085】
[AV1における指向性イントラ予測]
【0086】
VP9は、45度から207度までの角度に対応する8つの指向性モードをサポートする。指向性テクスチャでより多様な空間冗長性を利用するために、AV1では、指向性イントラモードは、より細かい粒度の角度セットに拡張される。元の8つの角度はわずかに変更されて公称角度とされ、これら8つの公称角度は、現在ブロック(541)に関して
図9に示されるV_PRED(542)、H_PRED(543)、D45_PRED(544)、D135_PRED(545)、D113_PRED(546)、D157_PRED(547)、D203_PRED(548)、及びD67_PRED(549)と名付けられている。各公称角度に対して、7つのより細かい角度があるため、AV1には合計56個の指向性角度がある。予測角度は、公称イントラ角度に角度デルタを加えたもので表され、角度デルタは3度のステップサイズの-3~3倍である。一般的な方法でAV1において指向性予測モードを実装するために、AV1の56個の指向性イントラ予測モードはすべて、各ピクセルを参照サブピクセル位置に投影し、参照ピクセルを2タップバイリニアフィルタで補間する統合指向性予測子を使用して実装される。
【0087】
[AV1における非指向性のスムーズなイントラ予測子]
【0088】
AV1には、DC、PAETH、SMOOTH、SMOOTH_V、及びSMOOTH_Hの5つの非指向性のスムーズなイントラ予測モードが存在する。DC予測の場合、左側と上部の隣接サンプルの平均が、予測されるべきブロックの予測子として使用される。PAETH予測子の場合、最初に上部、左側、及び左上の参照サンプルがフェッチされ、次に(上部+左側-左上)に最も近い値が予測されるべきピクセルの予測子として設定される。
図10は、現在ブロック(550)における現在ピクセル(552)の上部サンプル(554)、左側サンプル(556)、及び左上サンプル(558)の位置を示す。SMOOTH、SMOOTH_V、及びSMOOTH_Hモードの場合、現在ブロック(550)は、垂直方向若しくは水平方向の二次補間、又は両方向の平均を使用して予測される。
【0089】
[輝度から予測される彩度]
【0090】
彩度成分の場合、56個の指向性モードと5つの非指向性モードに加えて、輝度に基づく彩度(chroma from luma、CfL)は、彩度のみのイントラ予測モードであり、これは、彩度ピクセルを同時に再構成された輝度ピクセルの線形関数としてモデル化する。CfL予測は、以下の式1に示すように表すことができる。
【0091】
【0092】
ここで、LACは輝度成分のAC寄与を示し、αは線形モデルのパラメータを示し、DCは彩度成分のDC寄与を示す。具体的には、再構成された輝度ピクセルは、彩度解像度にサブサンプリングされ、次に平均値が差し引かれ、AC寄与が形成される。AC寄与から彩度AC成分を近似するために、一部の背景技術のようにデコーダにスケーリングパラメータの計算を要求する代わりに、AV1 CfLは元の彩度ピクセルに基づいてパラメータαを決定し、ビットストリームでそれらをシグナリングする。これにより、デコーダの複雑さが低減され、より正確な予測が得られる。彩度成分のDC寄与については、イントラDCモードを使用して計算することができ、イントラDCモードは、ほとんどの彩度コンテンツに対して十分であり、且つ成熟した高速実装を有する。
【0093】
彩度イントラ予測モードをシグナリングする場合、最初に8つの公称指向性モード、5つの非指向性モード、及びCfLモードをシグナリングすることができる。これらのモードをシグナリングするためのコンテキストは、現在ブロックの左上の位置の対応する輝度モードに依存する場合がある。次に、現在の彩度モードが指向性モードである場合、公称角度に対するデルタ角度を示すために、1つの追加フラグをシグナリングすることができる。
【0094】
[イントラブロックコピー]
【0095】
異なるピクチャからのブロックベースの補償は、動き補償と呼ばれてもよい。同様に、ブロック補償は、同じピクチャ内の以前に再構成された領域から行うこともできる。これは、イントラピクチャブロック補償、現在ピクチャ参照(current picture referencing、CPR)、又はイントラブロックコピー(IBC)と呼ばれてもよい。現在ブロックと参照ブロックとの間のオフセットを示す変位ベクトルは、ブロックベクトル(block vector、BV)と呼ばれてもよい。任意の値(x又はy方向のいずれかで正又は負)にすることができる動き補償における動きベクトルとは異なり、ブロックベクトルには、指向された参照ブロックが利用可能であり、既に再構成されていることが保証されるように、いくつかの制約がある。また、並列処理を考慮して、タイル境界又は波面ラダー形状境界である一部の参照領域も除外される場合がある。
【0096】
ブロックベクトルのコーディングは、明示的であっても暗黙的であってもよい。明示的モード(インターコーディングではAMVPモードと呼ばれる)では、ブロックベクトルとその予測子との間の差分が信号で送られる場合があり、暗黙的モードでは、ブロックベクトルは、マージモードにおける動きベクトルと同様の方法で、その予測子から純粋に復元することができる。一部の実装では、ブロックベクトルの解像度は整数位置に制限されており、他のシステムでは、小数位置を指すことが許可される場合がある。
【0097】
ブロックレベルでのイントラブロックコピーの使用は、ブロックレベルフラグ(例えば、IBCフラグ)を使用してシグナリングすることができる。一実施形態では、このフラグは、現在ブロックがマージモードでコード化されていないときに信号で送られる。あるいは、これは、参照インデックスアプローチによってシグナリングすることができる。これは、現在のデコードされたピクチャを参照ピクチャとして扱うことによって行うことができる。HEVC SCCでは、このような参照ピクチャをリストの最後の位置に置くことができる。この特別な参照ピクチャはまた、デコードピクチャバッファ(decoded picture buffer、DPB)内の他の一時的な参照ピクチャと共に管理されてもよい。
【0098】
イントラブロックコピーには、イントラ予測又はインター予測モードのいずれかとは異なる第3のモードとしてイントラブロックコピーを扱うなど、いくつかの変形もある。これにより、マージモード及びAMVPモードにおけるブロックベクトル予測は、通常のインターモードから分離される。例えば、イントラブロックコピーモード用に別個のマージ候補リストが定義され、ここで、リスト内のすべてのエントリはブロックベクトルである。同様に、イントラブロックコピーAMVPモードにおけるブロックベクトル予測リストは、ブロックベクトルのみで構成される。両方のリストに適用される一般的なルールは、候補導出プロセスに関して、それらは、インターマージ候補リスト又はAMVP予測子リストと同じ論理に従う可能性があるということである。例えば、イントラブロックコピーのためにHEVC又はVVCインターマージモードにおける5つの空間的に隣接する位置にアクセスして、それ自体のマージ候補リストを導出する。イントラブロックコピーの一例を
図11に示しており、これは、位置がブロックベクトル(566)によって示される参照ブロック(564)に基づいて現在ブロック(562)が予測される現在ピクチャ(560)を示す。
【0099】
IBC(イントラBCとも呼ばれる)は、画面コンテンツのコーディングに非常に効果的であるが、ハードウェア設計にも多くの困難をもたらす。ハードウェア設計を容易にするために、AV1では以下のような修正を採用してもよい。
【0100】
修正1:IBCが許可される場合、ループフィルタが無効となり、これは、デブロッキングフィルタ、CDEF(Constrained Directional Enhancement Filter、制約付き指向性拡張フィルタ)、及びループ復元である。これにより、再構成されたサンプルのピクチャバッファをIBCとインター予測の間で共有することができる。
【0101】
修正2:並列デコードを容易にするために、予測は制限された領域を超えることはできない。1つのスーパーブロックについて、その左上の位置の座標が(x0、y0)の場合、y<y0及びx<x0+2*(y0-y)3であれば、位置(x、y)での予測にIBCがアクセスすることができる。
【0102】
ハードウェアの書き戻し遅延を可能にするために、IBC予測が即時に再構成された領域にアクセスできない場合がある。制限された即時に再構成された領域は、1~n個のスーパーブロックとすることができる。したがって、修正2に加えて、1つのスーパーブロックの左上の位置の座標が(x0、y0)の場合、y<y0及びx<x0+2*(y0-y)-Dであれば、位置(x、y)での予測にIBCがアクセスすることができ、ここで、Dは、制限された即時に再構成された領域を示す。Dが1つのスーパーブロックである場合、予測領域は
図12に示されるようなものであり得る。
図12では、複数の現在の処理ブロック(572)が斜めストライプで示され、複数の制限された即時ブロック(574)がクロスハッチングで示され、複数の許可された予測ブロック(576)が暗いパターンで示されている。
【0103】
VVCでは、IBCモードの検索範囲は、現在のCTU内にあるように制約され得る。IBCモードの参照サンプルを記憶するための有効なメモリ要件は、1 CTUサイズのサンプルである可能性がある。再構成されたサンプルを現在の64×64領域に記憶するための既存の参照サンプルメモリを考慮すると、更に3つの64×64サイズの参照サンプルメモリが必要になる場合がある。この事実に基づいて、本開示の実施形態の方法は、参照ピクセルを記憶するための総メモリ要件を変更せずに維持しながら(1 CTUサイズ、合計4つの64x64参照サンプルメモリ)、IBCモードの有効な検索範囲を左CTUの一部に拡張することができる。このようなメモリ再利用メカニズムの一例を
図13A~
図13Dに示しており、ここで、斜めストライプのブロックは現在のコーディング領域であり、点線パターンのボックス内のサンプルはコード化されたサンプルであり、取り消し線の付いた領域(「X」でマークされている)は、参照サンプルメモリ内で現在のCTUのコーディング領域に置き換えられているため、参照に利用できない。
【0104】
例えば、
図13Aでは、Xでマークされた参照サンプル(612a)は、現在サンプル(611)には利用できない。同様に、
図13Bでは、参照サンプル(622a)及び(622b)は、現在サンプル(621)には利用できない。
図13Cでは、参照サンプル(632a)、(632b)、及び(632c)は、現在サンプル631には利用できず、
図13Dでは、参照サンプル(642a)、(642b)、(642c)、及び(642d)は、現在サンプル(641)には利用できない。
【0105】
[比較技術のコーディングモードの問題]
【0106】
IBC及び他のコーディングモードでは、1つのブロック内で単一のテクスチャパターンを想定してもよい。ただし、多くの典型的なビデオコンテンツでは、オブジェクトには相互にオクルージョンがある。例えば、動かないテキストやロゴは、まったく異なるテクスチャパターンや動きを有するメインビデオコンテンツの上に浮かんでいる。例えば、
図14に示されるビデオフレーム(700)に示されるように、2つの一致する文字「o」(702)及び「E」(704)の例があることが分かる。しかし、これらの一致する文字は、異なる背景とIBCの上に位置しており、IBCは、すべてのサンプルが同じブロックベクトルを共有することを前提としているため、テキストと背景の両方を効率的にキャプチャすることはできない。
【0107】
[本開示の実施形態の例示的な態様]
【0108】
本開示の実施形態は、別個に使用することも、任意の順序で組み合わせて使用することもできる。更に、各実施形態(例えば、方法、エンコーダ、及びデコーダ)は、処理回路(例えば、1つ又は複数のプロセッサ又は1つ又は複数の集積回路)によって実装されてもよい。一例では、1つ又は複数のプロセッサは、非一時的なコンピュータ可読媒体に記憶されたプログラムを実行する。
【0109】
本開示の実施形態は、上述した任意の数の態様を組み込むことができる。本開示の実施形態はまた、以下に記載される1つ又は複数の態様を組み込んで、上記の問題及び/又は他の問題を解決することができる。
【0110】
A.第1の態様
【0111】
実施形態によれば、ブロックに単一の予測モードを適用する代わりに、単一のブロックに複数の予測モードを適用することができ、また、セグメント化プロセスを実行して、単一のブロック内のサンプルを異なるセグメントに分割することができ、各セグメントは、選択された予測モードの1つに関連付けられ得る。次に、第1のセグメントに属するサンプルに対して、関連付けられた第1の予測モードを使用して、第1のセグメントの予測サンプルを生成し、第2のセグメントに属するサンプルに対して、関連付けられた第2の予測モードを使用して第2のセグメントの予測サンプルを生成し、以下同様に続く。
図15は、そのようなプロセスの一例を示しており、現在ブロック(722)のサンプルは、第1のセグメント(A)及び第2のセグメント(B)に分類(セグメント化)されている。第1のセグメント(A)のサンプルは、ブロックベクトル(726)を使用して予測ブロック(724)をフェッチするIBCモードを適用することによって予測することができ、第2のセグメント(B)のサンプルは、隣接する再構成されたサンプルを使用して予測値を生成する通常のイントラ予測モードを適用することによって予測することができる。
【0112】
一実施形態によれば、ブロック(例えば、現在ブロック(722))に対して複数の予測モードをシグナリングすることができる。一例では、複数の予測モードは、IBC予測モード(ブロックベクトルを含む)、及び隣接する再構成されたサンプルを使用してイントラ予測を実行するイントラ予測モード(イントラ予測モード又は方向を含む)を含む。
【0113】
一実施形態によれば、単一のブロック(例えば、現在ブロック(722))に対してIBCを1つ又は複数のデフォルトのイントラ予測モードと共に適用し、IBCに関連するモード情報(例えば、ブロックベクトル)のみをシグナリングする。単一ブロック内のサンプルの場合、一部のサンプルに対してIBCモードを適用し、残りのサンプルに対して1つ又は複数のデフォルトのイントラ予測モードを適用する。デフォルトのイントラ予測モードとしては、DC、Planar、SMOOTH、SMOOTH_H、SMOOTH_V、Paeth、及びPlaneモードが挙げられるが、これらに限定されない。
【0114】
一実施形態によれば、単一のブロック(例えば、現在ブロック(722))に対してIBCを1つ又は複数のデフォルトのイントラ予測モードと共に適用し、IBCに関連するモード情報(例えば、ブロックベクトル)を推定する。単一ブロック内のサンプルの場合、一部のサンプルに対してIBCモードを適用し、残りのサンプルに対して1つ又は複数のデフォルトのイントラ予測モードを適用する。推定したIBC情報(ブロックベクトル)は、マージリストを生成するために使用されるようなブロックベクトル予測子リストから(例えば、デコーダによって)導出することができる。複数の可能なブロックベクトル候補が存在する場合、ブロックベクトル予測子リストからブロックベクトルを選択するためにインデックス値をシグナリングすることができる。例えば、インデックス値は、エンコーダからデコーダによって受信されてもよい。それ以外の場合は、エンコーダがインデックスを送信せず、デコーダがインデックスを受信せずに、デフォルトの選択を行うことができる。この場合、例えば、予測子リスト内の第1のブロックベクトル候補が(例えば、デコーダによって)使用されると仮定してもよい。デフォルトのイントラ予測モードとしては、DC、Planar、SMOOTH、SMOOTH_H、SMOOTH_V、Paeth、及びPlaneモードが挙げられるが、これらに限定されない。
【0115】
実施形態(例えば、デコーダ)は、異なる方法でセグメント化プロセスを実行することができる。実施形態によれば、セグメント化プロセスは、現在ブロック(722)に対して実行されてもよい。一例では、最初に単一の現在ブロック(722)内のサンプルの閾値を計算する。閾値に従って、サンプルを、それらの値を閾値と比較することによって、異なるセグメントに分類する。閾値には、平均値、中央値、又は平均値若しくは中央値から導出される他の値が含まれるが、これらに限定されない。別の例では、サンプルの値の分布のヒストグラムを計算する。ヒストグラムに従って、サンプルカウントに関する1つ又は複数の閾値を導出し、サンプルを、ヒストグラムにおけるそれらのサンプルカウントと閾値とを比較することによって、異なるセグメントに分類する。別の例では、現在ブロック(722)のサンプルを入力として使用して畳み込みニューラルネットワークを適用し、畳み込みニューラルネットワークの出力は各サンプルのセグメントインデックスになる。別の例では、エッジ検出方法をブロックに適用することができる。セグメント化は、可能なエッジ境界に従って行われてもよい。
【0116】
1つ又は複数の実施形態によれば、
図16を参照すると、まず参照ブロック(730)にセグメント化を適用し、次に、セグメント化情報を現在ブロック(740)に更にマッピングして、現在ブロック(740)のサンプルのセグメント化を導出する。一例では、ブロックベクトルを使用して、隣接する再構成された領域内の参照ブロック(730)を識別し、セグメント化を参照ブロック(730)に適用し、次に、セグメント化情報を、ブロックベクトルを使用して現在ブロック(740)にマッピングする。
図16を参照すると、現在ブロック(740)用の参照ブロック(730)は、同じピクチャ内にブロックベクトルを使用して導出される。次に、セグメント化プロセスを参照ブロック(730)に適用し、参照ブロック(730)を、例えば、複数の部分(例えば、第1のセグメント(732)及び第2のセグメント(734))に分割する。
図16に示される例では、第1のセグメント(732)は、鳥の画像の外側の領域を含み、第2のセグメント(734)は、鳥の画像を含む。セグメント化プロセスでは、各サンプルのセグメントインデックスを示すセグメント化マップ(736)を取得する。
図16を参照すると、セグメント化マップ(736)の黒い部分は第1のセグメント(732)に対応し、セグメント化マップ(736)の白い部分は第2のセグメント(734)に対応する。次に、ブロックベクトルを使用してセグメント化マップ(736)を現在ブロック(740)にマッピングして、現在ブロック(740)のセグメント化情報を導出する。セグメント化情報に基づいて、現在ブロック(740)を、複数のセグメント(例えば、第1のセグメント(732)及び第2のセグメント(734)に対応する2つのセグメント)にセグメント化する。例えば、現在ブロック(740)の第1のセグメントは、鳥の画像の外側の領域を含み、現在ブロック(740)の第2のセグメントは、鳥の画像を含む。次に、従来の予測プロセスを現在ブロック(740)に適用して、従来の予測ブロック(750)を導出する。例えば、従来の予測プロセスを、現在ブロック(740)の第2のセグメントではなく、鳥の画像の外側の領域を含む現在ブロック(740)の第1のセグメントに適用することができる。最後に、従来の予測ブロック(750)及び参照ブロック(730)からの第2のセグメント(734)を、セグメント化マップ(736)を使用して結合して、結合予測ブロック(760)を導出する。
【0117】
各セグメントについて、予測サンプルは、セグメント境界内で生成されてもよい。各可能なセグメントのサンプルを予測した後、予測したセグメントを共にマージして、現在ブロック(740)の最終的な予測子を形成することができる。この予測ブロックは、可能なデコードされた残差ブロック信号とともに、2つを足し合わせることにより、(ループフィルタリングの前に)再構成されたブロックを形成することができる。
【0118】
実施形態によれば、参照ブロック(730)の識別、参照ブロック(730)の第2のセグメント(734)を使用した予測、及び第2のセグメント(734)と従来の予測ブロック(750)との結合は、結合予測ブロック(760)を取得するために使用される従来の予測プロセス以外の予測モードの一部と見なすことができる。
【0119】
B.第2の態様
【0120】
第1の態様に関して上述した例によれば、セグメント化された予測モードに対して、イントラブロックコピーモードのブロックベクトル及びイントラ予測方向(又は非指向性モードオプション)を指定する必要がある場合がある。(例えば、デコーダによって)実行され得る選択の非限定的な例示的なプロセスを以下に説明する。
【0121】
一実施形態では、参照ブロック位置を示すためにIBCモードのブロックベクトルをシグナリングする。このシグナリングは、ベクトル予測とコード化された差分に基づくことができる。コード化された差分は、ブロックベクトルとその予測子との間の差分である可能性があり、エンコーダからデコーダによって受信されてもよい。
【0122】
別の実施形態では、ブロックベクトル候補リストを取得し、リスト内のエントリのインデックスをシグナリングすることによって、リストから1つの候補を選択する。選択した候補は、差分をコード化することなくブロックベクトルとして使用される。
【0123】
別の実施形態では、ブロックベクトル候補リストを取得し、リスト内のデフォルトのエントリ位置を選択することによって、リストから1つの候補を選択する。例えば、デコーダは、デフォルトのエントリ位置としてリスト内の第1のエントリを選択することができる。この場合、インデックスをシグナリングする必要がない可能性がある。選択した候補は、差分をコード化することなくブロックベクトルとして使用される。
【0124】
別の実施形態では、セグメントのうちの1つに対するイントラ予測方法を示すためにイントラモードをシグナリングする。このシグナリングは、イントラ予測モードの別個のセットに基づくことができる。一例では、通常のイントラ予測はM個の予測モードを有してもよく、一方、イントラ予測モードの別個のセットはN個のモードであり得る。NはMと等しくない場合がある。選択したイントラモードを予測するために、最確モード(Most Probable Mode、MPM)リストを取得してもよい。一例では、N個のイントラ予測モードは、M個の通常のイントラ予測モードのフルセットのサブセットであり得る。
【0125】
別の実施形態では、イントラ予測モード候補リストを取得し、リスト内のエントリのインデックスをシグナリングすることによって、リストから1つの候補を選択する。選択した候補は、差分をコード化することなくイントラ予測モードとして使用される。
【0126】
別の実施形態では、イントラ予測モード候補リストを取得し、リスト内のデフォルトのエントリ位置を選択することによって、リストから1つの候補を選択する。例えば、デコーダは、デフォルトのエントリ位置としてリスト内の第1のエントリを選択することができる。この場合、インデックスをシグナリングする必要がない可能性がある。選択した候補は、差分をコード化することなくイントラ予測モードとして使用される。
【0127】
実施形態によれば、少なくとも1つのプロセッサ、及びコンピュータプログラム命令を記憶するメモリが提供されてもよい。コンピュータプログラム命令は、少なくとも1つのプロセッサによって実行されると、エンコーダ又はデコーダを実装することができ、また本開示に記載の任意の数の機能を実行することができる。例えば、
図17を参照すると、少なくとも1つのプロセッサは、デコーダ(800)を実装することができる。コンピュータプログラム命令は、例えば、少なくとも1つのプロセッサに、(例えば、エンコーダから)受信されたコード化されたピクチャの現在のブロックを再構成させるように構成された再構成コード(810)を含み得る。再構成コード(810)は、例えば、シグナリング又は推定コード(820)、セグメント化コード(830)、第1の予測コード(840)、及び/又は第2の予測コード(850)を含み得る。
【0128】
本開示の実施形態によれば、シグナリング又は推定コード(820)は、少なくとも1つのプロセッサに、構文要素(例えば、フラグ、インデックスなど)の値をシグナリングさせるように構成されてもよく、この値は、エンコーダからデコーダ800によって、又は他の方法で取得されてもよい。代替的又は追加的に、本開示の実施形態によれば、シグナリング又は推定コード(820)は、少なくとも1つのプロセッサに、情報(例えば、デフォルトのイントラ予測モード及び/又はIBCに関連するモード情報)を推定させるように構成されてもよい。
【0129】
本開示の実施形態によれば、セグメント化コード(830)は、少なくとも1つのプロセッサに、現在ブロックのサンプルを第1のセグメント及び第2のセグメントを含む複数のセグメントにセグメント化させるように構成される現在ブロックセグメント化コードを含み得る。例えば、現在ブロックセグメント化コードは、少なくとも1つのプロセッサに、現在ブロックのサンプルに基づいて少なくとも1つの閾値を計算させ、少なくとも1つの閾値に基づいて現在ブロックのサンプルをセグメント化させるように構成されてもよい。そのような場合及び他の場合において、現在ブロックのサンプルのセグメント化は、第1の予測モードを適用する前に実行されてもよい。あるいは、
図16の説明を参照すると、現在ブロックセグメント化コードは、少なくとも1つのプロセッサに、取得された参照ブロックのセグメント化情報(例えば、セグメント化マップ)を現在ブロックにマッピングすることによって、現在ブロックのサンプルをセグメント化させるように構成されてもよい。そのような場合、セグメント化コード(830)は、少なくとも1つのプロセッサに、コード化されたピクチャの参照ブロックのサンプルを複数のセグメントにセグメント化させて、参照ブロックのセグメント化情報を取得させるように構成された参照ブロックセグメント化コードを更に含み得る。そのような場合及び他の場合において、サンプルのセグメント化は、少なくとも部分的に、第1の予測モードの適用と同時に実行されてもよい。
【0130】
本開示の実施形態によれば、第1の予測コード(840)は、少なくとも1つのプロセッサに、コード化されたピクチャの現在ブロックの第1のセグメントの予測のために第1の予測モードを適用させるように構成されてもよい。実施形態によれば、第1の予測モードはIBCモードであり得る。
図16を参照する実施形態によれば、第1の予測コード(840)は、参照ブロックのサンプルをセグメント化する前、及び現在ブロックのサンプルをセグメント化する前に、少なくとも1つのプロセッサに、ブロックベクトルに基づいて参照ブロックを識別させるように構成されてもよい。そのような場合、第1の予測コード(840)は、少なくとも1つのプロセッサに、セグメント化情報を使用して、現在ブロックの予測ブロックを、現在ブロックの第1のセグメントに対応する参照ブロックのセグメントと結合することによって結合予測ブロックを取得させるように構成されてもよい。
【0131】
第2の予測コード(850)は、少なくとも1つのプロセッサに、コード化されたピクチャの現在ブロックの第2のセグメントの予測のために、第1の予測モードとは異なる第2の予測モードを適用させるように構成されてもよい。実施形態によれば、第2の予測モードは、隣接する再構成されたサンプルを使用してイントラ予測を実行するイントラ予測モードであり得る。
図16を参照する実施形態によれば、第2の予測コード(850)は、少なくとも1つのプロセッサに、現在ブロックの第2のセグメントを予測する予測ブロックを取得させるように構成されてもよく、予測ブロックは、結合予測ブロックを取得するために使用される。
【0132】
実施形態によれば、上記のプロセスに対応するエンコーダ側のプロセスは、上記の説明に基づいて、当業者によって理解されるように、ピクチャをエンコードするためのエンコードコードによって実装されてもよい。
【0133】
上記の本開示の実施形態の技術は、コンピュータ可読命令を使用し、且つ1つ又は複数のコンピュータ可読媒体に物理的に記憶されたコンピュータソフトウェアとして実装することができる。例えば、
図18は、開示された主題の実施形態を実装するのに適したコンピュータシステム(900)を示す。
【0134】
コンピュータソフトウェアは、任意の適切な機械コード又はコンピュータ言語を使用してコード化することができ、これらの機械コード又はコンピュータ言語は、アセンブリ、コンパイル、リンク、又は同様のメカニズムを受けて、コンピュータ中央処理装置(central processing unit、CPU)、グラフィック処理装置(Graphics Processing Unit、GPU)などによって直接、又は解釈、マイクロコード実行などを通じて実行できる命令を含むコードを作成することができる。
【0135】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置などを含めて、様々なタイプのコンピュータ又はその構成要素上で実行することができる。
【0136】
コンピュータシステム(900)について
図18に示されている構成要素は、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲又は機能に関するいかなる限定も示唆することを意図するものではない。また、構成要素の構成は、コンピュータシステム(900)の例示的な実施形態に示されている構成要素のいずれか1つ又は組み合わせに関連する依存性又は要件を有すると解釈されるべきではない。
【0137】
コンピュータシステム(900)は、特定のヒューマンインターフェース入力デバイスを含むことができる。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(声、拍手など)、視覚入力(ジェスチャーなど)、嗅覚入力(図示せず)を介して、1人以上の人間ユーザによる入力に応答することができる。ヒューマンインターフェースデバイスはまた、オーディオ(音声、音楽、周囲音など)、画像(走査画像、静止画像カメラから取得した写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、必ずしも人間による意識的な入力に直接関連しない特定のメディアをキャプチャするために使用することができる。
【0138】
入力ヒューマンインターフェースデバイスは、キーボード(901)、マウス(902)、トラックパッド(903)、タッチスクリーン(910)、データグローブ、ジョイスティック(905)、マイクロフォン(906)、スキャナ(907)、及びカメラ(908)のうちの1つ又は複数を含むことができる(それぞれのうちの1つのみを示す)。
【0139】
コンピュータシステム(900)はまた、特定のヒューマンインターフェース出力デバイスを含むことができる。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、及び匂い/味覚を通じて、1人以上の人間ユーザの感覚を刺激することができる。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(910)、データグローブ、又はジョイスティック(905)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)を含み得る。例えば、そのようなデバイスは、オーディオ出力デバイス(スピーカ(909)、ヘッドフォン(図示せず)など)、視覚出力デバイス(それぞれがタッチスクリーン入力機能を有しても有しなくてもよく、それぞれが触覚フィードバック機能を有しても有しなくてもよく、一部がステレオグラフィック出力などの手段を介して2次元視覚出力又は3次元以上の出力を出力することができるCRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(910)、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)など)、及びプリンタ(図示せず)であり得る。
【0140】
コンピュータシステム(900)はまた、人間がアクセス可能な記憶装置、及びCD/DVD付きのCD/DVD ROM/RW(920)を含む光学媒体又は同様の媒体(921)、サムドライブ(922)、リムーバブルハードドライブ又はソリッドステートドライブ(923)、テープ及びフロッピーディスクなどのレガシー磁気媒体(図示せず)、セキュリティドングルなどの特殊なROM/ASIC/PLDベースのデバイス(図示せず)などの関連する媒体を含むことができる。
【0141】
当業者はまた、現在開示されている主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、又は他の一時的な信号を包含しないことを理解すべきである。
【0142】
コンピュータシステム(900)はまた、1つ又は複数の通信ネットワークへのインターフェースを含むことができる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークは更に、ローカル、広域、メトロポリタン、自動車及び産業用、リアルタイム、遅延耐性などであり得る。ネットワークの例としては、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、及び地上波放送TVを含むTV有線又は無線広域デジタルネットワーク、CANBusを含む自動車及び産業用ネットワークなどが挙げられる。特定のネットワークでは、一般に、特定の汎用データポート又は周辺バス(949)(例えば、コンピュータシステム(900)のUSBポートなど)に接続された外部ネットワークインターフェースアダプタが必要であり、他のネットワークは、一般に、以下に説明されるように、システムバスに接続することによってコンピュータシステム900のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェース又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(900)は他のエンティティと通信することができる。そのような通信は、例えば、ローカル又は広域デジタルネットワークを使用する他のコンピュータシステムへの一方向、受信のみ(例えば、放送TV)、一方向送信のみ(例えば、特定のCANbusデバイスへのCANbus)、又は双方向であり得る。そのような通信は、クラウドコンピューティング環境(955)への通信を含むことができる。上記のように、特定のプロトコル及びプロトコルスタックは、これらのネットワーク及びネットワークインターフェースのそれぞれで使用することができる。
【0143】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶装置、及びネットワークインターフェース(954)は、コンピュータシステム(900)のコア(940)に接続することができる。
【0144】
コア(940)は、1つ又は複数の中央処理装置(CPU)(941)、グラフィック処理装置(GPU)(942)、フィールドプログラマブルゲートエリア(Field Programmable Gate Area、FPGA)の形態の特殊なプログラマブル処理ユニット(943)、特定のタスク用のハードウェアアクセラレータ(944)などを含むことができる。これらのデバイスは、読み取り専用メモリ(Read-only memory、ROM)(945)、ランダムアクセスメモリ(946)、ユーザがアクセスできない内部ハードドライブ、SSDなどの内部大容量記憶装置(947)と共に、システムバス(948)を介して接続されてもよい。一部のコンピュータシステムでは、システムバス(948)は、追加のCPU、GPUなどによる拡張を可能にするために、1つ又は複数の物理プラグの形態でアクセス可能である。周辺機器は、コアのシステムバス(948)に直接接続することも、周辺バス(949)を介して接続することもできる。周辺バスのアーキテクチャには、PCI、USBなどが含まれる。グラフィックアダプタ(950)は、コア(940)に含まれてもよい。
【0145】
CPU(941)、GPU(942)、FPGA(943)、及びアクセラレータ(944)は、特定の命令を実行することができ、これらの命令は、組み合わせて前述のコンピュータコードを構成することができる。そのコンピュータコードは、ROM(945)又はRAM(946)に記憶することができる。移行データはRAM(946)に記憶することもできるが、永続データは、例えば内部大容量記憶装置(947)に記憶することができる。1つ又は複数のCPU(941)、GPU(942)、大容量記憶装置(947)、ROM(945)、RAM(946)などと密接に関連付けることができるキャッシュメモリを使用することで、任意のメモリデバイスへの高速記憶及び検索を可能にすることができる。
【0146】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものであってもよく、又はそれらは、コンピュータソフトウェア技術の当業者によく知られ、利用可能な種類のものであってもよい。
【0147】
限定ではなく、一例として、アーキテクチャ、具体的にはコア(940)を有するコンピュータシステム(900)は、プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ又は複数の有形のコンピュータ可読媒体に具体化されたソフトウェアを実行する結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上記で紹介したユーザがアクセス可能な大容量記憶装置に関連付けられた媒体、及びコア内部大容量記憶装置(947)又はROM(945)などの非一時的な性質を有するコア(940)の特定の記憶装置であり得る。本開示の様々な実施形態を実施するソフトウェアは、そのようなデバイスに記憶され、コア(940)によって実行され得る。コンピュータ可読媒体は、特定の必要に応じて、1つ又は複数のメモリデバイス又はチップを含むことができる。ソフトウェアは、コア(940)、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(946)に記憶されたデータ構造を定義すること、及びソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含めて、本明細書に記載の特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。更に又は代替として、コンピュータシステムは、ソフトウェアの代わりに又はソフトウェアと共に動作して本明細書に記載の特定のプロセス又は特定のプロセスの特定の部分を実行することができる回路(例えば、アクセラレータ(944))に配線され、又は他の方法で具体化された論理の結果として機能を提供することができる。ソフトウェアへの言及は、論理を包含することができ、必要に応じてその逆も同様である。コンピュータ可読媒体への言及は、実行用のソフトウェアを記憶する回路(集積回路(IC)など)、実行用の論理を具体化する回路、又は必要に応じてその両方を包含することができる。本開示は、ハードウェア及びソフトウェアの任意の適切な組み合わせを包含する。
【0148】
本開示は、いくつかの非限定的な例示的な実施形態を説明してきたが、本開示の範囲内にある変更、変形、及び様々な置換同等物が存在する。したがって、当業者は、本明細書に明示的に示されていないか又は記載されていないが、本開示の原理を具体化し、したがってその精神及び範囲内にある多数のシステム及び方法を考案することができることが理解されるであろう。
【符号の説明】
【0149】
800 デコーダ
810 再構成コード
820 シグナリング又は推定コード
830 セグメント化コード
840 第1の予測コード
850 第2の予測コード
948 システムバス
950 グラフィックアダプタ
954 ネットワークインターフェース
【手続補正書】
【提出日】2024-01-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
エンコーダを実装する少なくとも1つのプロセッサにより実行される方法であって、
ピクチャを受信するステップと、
前記ピクチャをエンコーディングするステップと
を含み、前記エンコーディングするステップは、前記ピクチャの現在ブロックを予測するステップを含み、前記予測するステップが、
前記現在ブロックのサンプルを、第1のセグメント及び第2のセグメントを含む複数のセグメントにセグメント化するステップと、
イントラブロックコピー(IBC)モードである第1の予測モードを用いて、前記ピクチャの前記現在ブロックの前記第1のセグメントを予測するステップと、
前記第1の予測モードとは異なる第2の予測モードを用いて、前記ピクチャの前記現在ブロックの前記第2のセグメントを予測するステップであって、前記第2の予測モードが、隣接する再構成されたサンプルを使用してイントラ予測を実行するイントラ予測モードである、ステップとを含む、方法。
【請求項2】
前記第1の予測モードと前記第2の予測モードとをデーコーダにシグナリングするステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記現在ブロックを予測する前記ステップは、前記第1の予測モードをシグナリングするステップを更に含む、請求項2に記載の方法。
【請求項4】
前記現在ブロックを予測する前記ステップは、前記第2の予測モードをシグナリングするステップを含む、請求項2に記載の方法。
【請求項5】
前記セグメント化するステップが、
前記現在ブロックの前記サンプルに基づいて、少なくとも1つの閾値を計算するステップと、
前記少なくとも1つの閾値に基づいて、前記現在ブロックの前記サンプルをセグメント化するステップと
を含む、請求項1に記載の方法。
【請求項6】
前記現在ブロックを予測する前記ステップは、前記ピクチャの参照ブロックのサンプルを複数のセグメントにセグメント化して、前記参照ブロックのセグメント化情報を取得するステップを更に含み、
前記現在ブロックの前記サンプルをセグメント化する前記ステップは、前記参照ブロックの前記セグメント化情報を前記現在ブロックにマッピングするステップを含む、請求項1に記載の方法。
【請求項7】
前記現在ブロックの前記第1のセグメントを予測する前記ステップは、前記参照ブロックの前記サンプルをセグメント化する前で、かつ、前記現在ブロックの前記サンプルをセグメント化する前に、ブロックベクトルに基づいて前記参照ブロックを識別するステップを含み、
前記マッピングするステップは、前記ブロックベクトルに基づいて前記参照ブロックの前記セグメント化情報を前記現在ブロックにマッピングするステップを含む、請求項6に記載の方法。
【請求項8】
前記現在ブロックの前記第2のセグメントを予測する前記ステップは、前記現在ブロックの前記第2のセグメントを予測する予測ブロックを取得するステップを含み、
前記現在ブロックの前記第1のセグメントを予測する前記ステップは、前記セグメント化情報を使用して、前記現在ブロックの前記予測ブロックを、前記現在ブロックの前記第1のセグメントに対応する前記参照ブロックのセグメントと結合することによって結合予測ブロックを取得するステップを更に含む、請求項7に記載の方法。
【請求項9】
前記セグメント化情報は、セグメント化マップである、請求項8に記載の方法。
【請求項10】
前記現在ブロックの前記サンプルをセグメント化する前記ステップは、前記第1のセグメントを予測する前に実行される、請求項1に記載の方法。
【請求項11】
システムであって、
コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードによって指示されたとおりに動作するように構成された少なくとも1つのプロセッサとを備え、前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、請求項1~10のいずれか1項に記載の方法を実行させるように構成される、システム。
【請求項12】
請求項1~10のいずれか1項に記載の方法をコンピュータに実行させるように構成されるコンピュータプログラム。
【外国語明細書】