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

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

▶ テンセント・アメリカ・エルエルシーの特許一覧

特表2025-505144動的メッシュの頂点変位のコーディング
<>
  • 特表-動的メッシュの頂点変位のコーディング 図1
  • 特表-動的メッシュの頂点変位のコーディング 図2
  • 特表-動的メッシュの頂点変位のコーディング 図3
  • 特表-動的メッシュの頂点変位のコーディング 図4
  • 特表-動的メッシュの頂点変位のコーディング 図5
  • 特表-動的メッシュの頂点変位のコーディング 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-02-21
(54)【発明の名称】動的メッシュの頂点変位のコーディング
(51)【国際特許分類】
   H04N 19/597 20140101AFI20250214BHJP
   H04N 19/70 20140101ALI20250214BHJP
【FI】
H04N19/597
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024545854
(86)(22)【出願日】2023-05-19
(85)【翻訳文提出日】2024-07-31
(86)【国際出願番号】 US2023022822
(87)【国際公開番号】W WO2024005986
(87)【国際公開日】2024-01-04
(31)【優先権主張番号】63/358,084
(32)【優先日】2022-07-01
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/315,020
(32)【優先日】2023-05-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】チャオ・フアン
(72)【発明者】
【氏名】シャオジョン・シュ
(72)【発明者】
【氏名】ジュン・ティアン
(72)【発明者】
【氏名】シャン・ジャン
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159ME11
5C159PP03
5C159PP13
5C159RC12
5C159UA02
5C159UA05
(57)【要約】
ビデオビットストリームのフレームからメッシュシーケンスの曲線を導出し、曲線は、複数の頂点を含み、複数の細分化された頂点を追加することによって曲線を細分化し、曲線上の複数の頂点の各々と細分化された曲線上の複数の細分化された頂点の各々との間の1つまたは複数の変位ベクトルを計算し、1つまたは複数の変位ベクトルを変換し、1つまたは複数の元の係数を出力し、前のフレームで現在のフレームを追跡し、現在のフレームの複数の頂点と前のフレームの複数の頂点との間の1対1の対応関係を取得し、1対1の対応関係に基づいて現在のフレーム内の複数の頂点の各々の1つまたは複数の係数を予測し、1つまたは複数の予測残差に対してエントロピーコーディングを実施し、1つまたは複数の予測残差をエンコーディングする、方法および装置。
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって実施される方法であって、前記方法は、
ビデオビットストリームのフレームからメッシュシーケンスの曲線を導出するステップであって、前記曲線は、複数の頂点を含む、ステップと、
複数の細分化された頂点を追加することによって前記曲線を細分化するステップと、
前記曲線上の前記複数の頂点の各々と前記細分化された曲線上の前記複数の細分化された頂点の各々との間の1つまたは複数の変位ベクトルを計算するステップと、
前記1つまたは複数の変位ベクトルを変換し、1つまたは複数の元の係数を出力するステップと、
前記現在のフレームがインターピクチャ情報またはイントラピクチャ情報を使用してコーディングされているかどうかを決定するステップと
を含み、
前記現在のフレームがインターピクチャ情報を使用してコーディングされているとの決定に応答して、
前のフレームで前記現在のフレームを追跡し、前記現在のフレームの前記複数の頂点と前記前のフレームの複数の頂点との間の1対1の対応関係を取得するステップと、
前記1対1の対応関係に基づいて現在のフレーム内の前記複数の頂点の各々の1つまたは複数の係数を予測するステップと、
1つまたは複数の予測残差に対してエントロピーコーディングを実施するステップと、
前記1つまたは複数の予測された係数に基づいて前記1つまたは複数の予測残差をエンコーディングするステップと
を含み、
前記現在のフレームがイントラピクチャ情報を使用してコーディングされているとの決定に応答して、
算術コーディングを使用して1つまたは複数の係数をエンコーディングするステップ
を含む、方法。
【請求項2】
前記1つまたは複数の元の係数は、エンコーディングされる、請求項1に記載の方法。
【請求項3】
シグナリングフラグが、1つまたは複数の元の係数がエンコーディングされるべきであることを示すために各フレームに対して使用される、請求項2に記載の方法。
【請求項4】
1つまたは複数の別々のコーディングコンテキストが、予測残差および元の係数をコーディングするために使用される、請求項3に記載の方法。
【請求項5】
前記予測残差または前記元の係数は、シーケンス内の対応する位置および対応する値が各予測残差または各元の係数についてシグナリングされるように、構文構造を使用してエンコーディングされる、請求項4に記載の方法。
【請求項6】
フラグを使用して各対応する位置を示すステップをさらに含む、請求項5に記載の方法。
【請求項7】
前記曲線を細分化するステップは、前記曲線を間引きすることによって間引き曲線を形成し、前記複数の細分化された頂点を前記間引き曲線に追加するステップを含む、請求項1に記載の方法。
【請求項8】
プログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記プログラムコードを読み出し、前記プログラムコードによって命令されるように動作するように構成された少なくとも1つのプロセッサであって、前記プログラムコードは、
前記少なくとも1つのプロセッサに、ビデオビットストリームのフレームからメッシュシーケンスの曲線を導出させるように構成された導出コードであって、前記曲線は、複数の頂点を含む導出コードと、
前記少なくとも1つのプロセッサに、複数の細分化された頂点を追加することによって前記曲線を細分化させるように構成された細分化コードと、
前記少なくとも1つのプロセッサに、前記曲線上の前記複数の頂点の各々と前記細分化された曲線上の前記複数の細分化された頂点の各々との間の1つまたは複数の変位ベクトルを計算させるように構成された計算コードと、
前記少なくとも1つのプロセッサに、前記1つまたは複数の変位ベクトルを変換し、1つまたは複数の元の係数を出力させるように構成された変換コードと、
前記少なくとも1つのプロセッサに、前記現在のフレームがインターピクチャ情報またはイントラピクチャ情報を使用してコーディングされているかどうかを決定させるように構成された決定コードと、
前記現在のフレームがインターピクチャ情報を使用してコーディングされているという決定に応答して、前記少なくとも1つのプロセッサに、
前のフレームで前記現在のフレームを追跡し、前記現在のフレームの前記複数の頂点と前記前のフレームの複数の頂点との間の1対1の対応関係を取得させ、
前記1対1の対応関係に基づいて現在のフレーム内の前記複数の頂点の各々の1つまたは複数の係数を予測させ、
1つまたは複数の予測残差に対してエントロピーコーディングを実施させ、
前記1つまたは複数の予測された係数に基づいて前記1つまたは複数の予測残差をエンコーディングさせる
ように構成された第1の応答コードと、
前記現在のフレームがイントラピクチャ情報を使用してコーディングされているという決定に応答して、前記少なくとも1つのプロセッサに、
算術コーディングを使用して1つまたは複数の係数をエンコーディングさせる
ように構成された第2の応答コードと
を含む少なくとも1つのプロセッサと
を備える、装置。
【請求項9】
前記1つまたは複数の元の係数は、エンコーディングされる、請求項8に記載の装置。
【請求項10】
シグナリングフラグが、1つまたは複数の元の係数がエンコーディングされるべきであることを示すために各フレームに対して使用される、請求項9に記載の装置。
【請求項11】
1つまたは複数の別々のコーディングコンテキストが、予測残差および元の係数をコーディングするために使用される、請求項10に記載の装置。
【請求項12】
前記予測残差または前記元の係数は、シーケンス内の対応する位置および対応する値が各予測残差または各元の係数についてシグナリングされるように、構文構造を使用してエンコーディングされる、請求項11に記載の装置。
【請求項13】
前記プログラムコードは、前記少なくとも1つのプロセッサに、フラグを使用して各対応する位置を示させるように構成された指示コードをさらに含む、請求項12に記載の装置。
【請求項14】
前記曲線を細分化するステップは、前記曲線を間引きすることによって間引き曲線を形成し、前記複数の細分化された頂点を前記間引き曲線に追加するステップを含む、請求項8に記載の装置。
【請求項15】
命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令は、少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
ビデオビットストリームのフレームからメッシュシーケンスの曲線を導出させ、前記曲線は、複数の頂点を含み、
複数の細分化された頂点を追加することによって前記曲線を細分化させ、
前記曲線上の前記複数の頂点の各々と前記細分化された曲線上の前記複数の細分化された頂点の各々との間の1つまたは複数の変位ベクトルを計算させ、
前記1つまたは複数の変位ベクトルを変換し、1つまたは複数の元の係数を出力させ、
前記現在のフレームがインターピクチャ情報またはイントラピクチャ情報を使用してコーディングされているかどうかを決定させ、
前記現在のフレームがインターピクチャ情報を使用してコーディングされているとの決定に応答して、前記命令は、前記少なくとも1つのプロセッサに、
前のフレームで前記現在のフレームを追跡し、前記現在のフレームの前記複数の頂点と前記前のフレームの複数の頂点との間の1対1の対応関係を取得させ、
前記1対1の対応関係に基づいて現在のフレーム内の前記複数の頂点の各々の1つまたは複数の係数を予測させ、
1つまたは複数の予測残差に対してエントロピーコーディングを実施させ、
前記1つまたは複数の予測された係数に基づいて前記1つまたは複数の予測残差をエンコーディングさせ、
前記現在のフレームがイントラピクチャ情報を使用してコーディングされているとの決定に応答して、前記命令は、前記少なくとも1つのプロセッサに、
算術コーディングを使用して1つまたは複数の係数をエンコーディングさせる、
非一時的コンピュータ可読記憶媒体。
【請求項16】
前記1つまたは複数の元の係数は、エンコーディングされる、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項17】
シグナリングフラグが、1つまたは複数の元の係数がエンコーディングされるべきであることを示すために各フレームに対して使用される、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項18】
1つまたは複数の別々のコーディングコンテキストが、予測残差および元の係数をコーディングするために使用される、請求項17に記載の非一時的コンピュータ可読記憶媒体。
【請求項19】
前記予測残差または前記元の係数は、シーケンス内の対応する位置および対応する値が各予測残差または各元の係数についてシグナリングされるように、構文構造を使用してエンコーディングされる、請求項18に記載の非一時的コンピュータ可読記憶媒体。
【請求項20】
前記命令はさらに、前記少なくとも1つのプロセッサに、フラグを使用して各対応する位置を示させる、請求項19に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2022年7月1日に出願された米国仮特許出願第63/358,084号および2023年5月10日に出願された米国特許出願第18/315,020号の優先権を主張し、これらの開示はその全体が参照により本明細書に組み込まれる。
【0002】
本開示は、高度なビデオコーディング技術のセットを対象とする。より具体的には、本開示は、動的細分化メッシュ(dynamic subdivided mesh)の頂点変位をエンコーディングする圧縮技法を対象とする。
【背景技術】
【0003】
3Dキャプチャ、モデリング、およびレンダリングにおける進歩は、いくつかのプラットフォームおよびデバイスにわたって3Dコンテンツの普遍的な存在を促進している。今日では、ある大陸で赤ちゃんの最初の一歩を撮影し、他の大陸で赤ちゃんの祖父母がこれを見て(あるいは交流して)、子供との完全没入型の体験を楽しむことが可能である。それにもかかわらず、このような臨場感を実現するために、モデルはこれまで以上に洗練されてきており、かなりの量のデータがこれらのモデルの作成および消費に結び付けられる。3Dメッシュが、このような没入型コンテンツを表すために広く使用されている。
【0004】
動的メッシュシーケンスは、経時的に変化するかなりの量の情報からなり得るので、大量のデータを必要とする場合がある。したがって、そのようなコンテンツを記憶および送信するために効率的な圧縮技術が必要とされる。メッシュ圧縮規格IC、MESHGRID、FAMCは、常時接続性および時変ジオメトリおよび頂点属性を有する動的メッシュに対処するためにMPEGによって以前に開発された。しかし、これらの規格は、時変属性マップおよび接続性情報を考慮に入れない。通常、DCC(デジタルコンテンツ作成)ツールは、このような動的メッシュを生成する。これに対応して、特にリアルタイム制約下で、ボリューム取得技法が常時接続性動的メッシュを生成することは困難である。このタイプのコンテンツは、既存の規格によってサポートされていない。したがって、時変接続性情報および任意選択で時変属性マップを有する動的メッシュを直接扱うための新しいメッシュ圧縮規格が必要である。そのような規格は、リアルタイム通信、記憶、自由視点ビデオ、AR、およびVRなどの様々な用途のための非可逆圧縮および可逆圧縮を対象とする。ランダムアクセスおよびスケーラブル/プログレッシブコーディングなどの機能もまた、考慮される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
以下は、本開示の1つまたは複数の実施形態の基本的な理解を提供するために、そのような実施形態の簡略化された概要を提示する。本概要は、すべての企図された実施形態の広範な概要ではなく、すべての実施形態の主要なまたは重要な要素を特定することも、いずれかまたはすべての実施形態の範囲を線引きすることも意図されていない。その唯一の目的は、後で提示されるより詳細な説明の前置きとして、本開示の1つまたは複数の実施形態の一部の概念を簡略化された形で提示することである。
【0006】
本開示は、動的細分化メッシュの頂点変位をエンコーディングする圧縮技法を提供する。
【課題を解決するための手段】
【0007】
いくつかの実施形態によれば、少なくとも1つのプロセッサによって実施される方法であって、ビデオビットストリームのフレームからメッシュシーケンスの曲線を導出するステップであって、曲線は、複数の頂点を含むステップと、複数の細分化された頂点を追加することによって曲線を細分化するステップと、曲線上の複数の頂点の各々と細分化された曲線上の複数の細分化された頂点の各々との間の1つまたは複数の変位ベクトルを計算するステップと、1つまたは複数の変位ベクトルを変換し、1つまたは複数の元の係数を出力するステップと、現在のフレームがインターピクチャ情報またはイントラピクチャ情報を使用してコーディングされているかどうかを決定するステップとを含むことができる、方法が提供される。現在のフレームがインターピクチャ情報を使用してコーディングされているとの決定に応答して、方法は、前のフレームで現在のフレームを追跡し、現在のフレームの複数の頂点と前のフレームの複数の頂点との間の1対1の対応関係を取得するステップと、1対1の対応関係に基づいて現在のフレーム内の複数の頂点の各々の1つまたは複数の係数を予測するステップと、1つまたは複数の予測残差に対してエントロピーコーディングを実施するステップと、1つまたは複数の予測された係数に基づいて1つまたは複数の予測残差をエンコーディングするステップとを含むことができ、現在のフレームがイントラピクチャ情報を使用してコーディングされているとの決定に応答して、方法は、算術コーディングを使用して1つまたは複数の係数をエンコーディングするステップを含むことができる。
【0008】
1つまたは複数の実施形態の他の態様によれば、方法と一致する装置および非一時的コンピュータ可読媒体も提供される。
【0009】
追加の実施形態は、以下の説明に記載され、部分的には、説明から明らかになり、かつ/または本開示の提示された実施形態の実践によって習得され得る。
【0010】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0011】
図1】いくつかの実施形態による、通信システムの簡略ブロック図の概略図である。
図2】いくつかの実施形態による、ストリーミングシステムの簡略ブロック図の概略図である。
図3】いくつかの実施形態による、細分化スキームの図である。
図4】いくつかの実施形態による、順序付けられた変位係数の一例を示す図である。
図5】いくつかの実施形態による、動的細分化メッシュの頂点変位をエンコーディングするためのプログラムによって実行されるステップを示す動作フローチャートである。
図6】実施形態を実装するのに適したコンピュータシステムの図である。
【発明を実施するための形態】
【0012】
例示的な実施形態の以下の詳細な説明は、添付の図面を参照する。異なる図面における同じ参照番号は、同じまたは同様の要素を識別し得る。
【0013】
メッシュは、ボリュームオブジェクトの表面を記述するいくつかのポリゴンを含んでよい。3D空間内のその頂点、および頂点がどのように接続されているかの情報は、接続性情報と呼ばれる各ポリゴンを画定することができる。任意選択で、色、法線などの頂点属性は、メッシュ頂点と関連付けることができる。属性はまた、メッシュを2D属性マップでパラメータ化するマッピング情報を利用することによって、メッシュの表面と関連付けられてもよい。そのようなマッピングは、UV座標またはテクスチャ座標と呼ばれ、メッシュ頂点と関連付けられたパラメトリック座標のセットを使用して定義される場合がある。2D属性マップは、テクスチャ、法線、変位などの高解像度属性情報を記憶するために使用され得る。そのような情報は、テクスチャマッピング、シェーディング、およびメッシュ再構築などの様々な目的に使用することができる。
【0014】
本開示では、動的細分化メッシュの頂点変位の圧縮に対する既存の手法を改善するいくつかの方法が提案される。これらの方法は、個々に適用することも、任意の形態の組み合わせで適用することもできる。さらに、方法(または実施形態)、エンコーダ、およびデコーダの各々は、処理回路(例えば、1つまたは複数のプロセッサまたは1つまたは複数の集積回路)によって実装されてもよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。
【0015】
図1から図2を参照すると、本開示のエンコーディング構造およびデコーディング構造を実装するための本開示の一実施形態が説明される。
【0016】
図1は、本開示の一実施形態による通信システム100の簡略ブロック図を示している。システム100は、ネットワーク150を介して相互接続された少なくとも2つの端末110、120を含むことができる。データの単方向送信の場合、第1の端末110は、ネットワーク150を介して他の端末120に送信するために、ローカル位置でメッシュデータを含む場合があるビデオデータをコーディングすることができる。第2の端末120は、ネットワーク150から他の端末のコーディングされたビデオデータを受信し、コーディングされたデータをデコーディングし、復元されたビデオデータを表示することができる。単方向データ送信は、メディアサービング用途などにおいて使用され得る。
【0017】
図1は、例えば、ビデオ会議中に発生し得るコーディングされたビデオの双方向送信をサポートするために設けられた端末130、140の第2のペアを示している。データの双方向送信の場合、各端末130、140は、ネットワーク150を介して他の端末に送信するために、ローカル位置でキャプチャされたビデオデータをコーディングすることができる。各端末130、140はまた、他の端末によって送信されたコーディングされたビデオデータを受信し、コーディングされたデータをデコーディングし、ローカルディスプレイデバイスに復元されたビデオデータを表示することができる。
【0018】
図1では、端末110~140は、例えば、サーバ、パーソナルコンピュータ、およびスマートフォン、ならびに/または任意の他のタイプの端末であってもよい。例えば、端末(110~140)は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用ビデオ会議機器であってもよい。ネットワーク150は、例えば、有線および/または無線の通信ネットワークを含む、端末110~140の間でコーディングされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク150は、回線交換および/またはパケット交換チャネルでデータを交換し得る。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットを含む。本考察の目的では、ネットワーク150のアーキテクチャおよびトポロジーは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではない場合がある。
【0019】
図2は、開示された主題についての用途の一例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示している。開示された主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティックなどを含むデジタル媒体への圧縮ビデオの記憶などを含む、他のビデオ対応用途で使用されてもよい。
【0020】
図2に示されるように、ストリーミングシステム200は、ビデオソース201およびエンコーダ203を含むキャプチャサブシステム213を含み得る。ストリーミングシステム200は、少なくとも1つのストリーミングサーバ205および/または少なくとも1つのストリーミングクライアント206をさらに含んでもよい。
【0021】
ビデオソース201は、例えば、3Dメッシュ、および3Dメッシュと関連付けられたメタデータを含むストリーム202を作成し得る。ビデオソース201は、例えば、3Dセンサ(例えば、深度センサ)または3D撮像技術(例えば、デジタルカメラ)と、3Dセンサまたは3D撮像技術から受信されたデータを使用して3Dメッシュを生成するように構成されたコンピューティングデバイスとを含む場合がある。サンプルストリーム202は、エンコーディングされたビデオビットストリームと比較して高いデータ量を有する可能性があり、ビデオソース201に結合されたエンコーダ203によって処理され得る。エンコーダ203は、以下でより詳細に説明されるように、開示された主題の態様を可能にするかまたは実装するハードウェア、ソフトウェア、またはそれらの組み合わせを含む場合がある。エンコーダ203はまた、エンコーディングされたビデオビットストリーム204を生成し得る。エンコーディングされたビデオビットストリーム204は、圧縮されていないストリーム202と比較して低いデータ量を有する可能性があり、後で使用するためにストリーミングサーバ205上に記憶され得る。1つまたは複数のストリーミングクライアント206は、ストリーミングサーバ205にアクセスし、エンコーディングされたビデオビットストリーム204のコピーであり得るビデオビットストリーム209を取り出すことができる。
【0022】
ストリーミングクライアント206は、ビデオデコーダ210と、ディスプレイ212とを含み得る。ビデオデコーダ210は、例えば、入力されるエンコーディングされたビデオビットストリーム204のコピーであるビデオビットストリーム209をデコーディングし、ディスプレイ212または別のレンダリングデバイス(図示せず)上にレンダリングされ得る出力されるビデオサンプルストリーム211を作成することができる。一部のストリーミングシステムでは、ビデオビットストリーム204、209は、特定のビデオコーディング/圧縮規格に従ってエンコーディングされ得る。
【0023】
上記のように、動的メッシュシーケンスは、経時的に変化するかなりの量の情報からなり得るので、大量のデータを必要とする場合がある。細分化ベースの方法を利用して動的メッシュシーケンスを圧縮することができ、細分化されたメッシュの頂点の変位がシグナリングされるため、動的メッシュの高性能圧縮には変位の効率的なコーディングが必要である。
【0024】
細分化スキームは、動的メッシュを効率的に圧縮するために利用することができ、2D図が図3に示されており、元の曲線は、最初に間引き(decimate)されて細分化される。次に、細分化されたポリラインは、元の曲線のより良い近似を得るために変形される。より正確には、変位曲線の形状が元の曲線の形状に可能な限り近くなるように、細分化されたメッシュの各頂点について変位ベクトルが計算される。細分化された曲線の主な利点は、元の曲線の忠実な近似を提供しながら、効率的な圧縮を可能にする細分化構造を有することである。
【0025】
いくつかの実施形態では、細分化されたメッシュの頂点変位(変位ベクトル)が計算されて変換されていると仮定され、それにより変換の出力(すなわち係数)は元の変位と比較してエントロピーが低く、したがってより効率的に圧縮することができる。例えば、ウェーブレット変換のスケーリング係数(低周波数成分)の大きさは、一般に、ウェーブレット係数(高周波数成分)よりも大きい。したがって、係数が量子化され、低詳細レベル(LOD)から高LODのシーケンスに順序付けられる場合、量子化された係数の大きさは統計的に降順になり、シーケンスの最後付近の係数の大部分はゼロになる。係数の分布の一例が、図4に示される。これらの仮定を考慮して、上述した係数をコーディングする以下の方法が提案される。いくつかの実施形態では、以下の方法を適用するために、上記の仮定が真である必要はない場合がある。
【0026】
いくつかの実施形態では、現在のフレームは、イントラ情報のみを使用してコーディングされる。算術コーディングなどの既存の方法を使用して、係数をエンコーディングすることができる。加えて、係数がツリー構造を有する場合、高周波数係数は低周波数成分の子孫(descendant)であり、ツリー構造は、ゼロツリー構造などのコーディング性能を改善するために利用され得る。
【0027】
いくつかの実施形態では、現在のフレームは、インターピクチャ情報を使用してコーディングされる。これらの実施形態では、まず現在のフレームの係数を予測し、次にイントラコーディングフレームで使用される方法を用いて予測残差をエンコーディングすることが提案される。残差は、元の係数と予測された係数との間の差として計算することができる。具体的には、インターモードでは、現在のメッシュフレームは前のフレームで追跡され、これは、現在のフレームの頂点と前のフレームとの間に1対1の対応関係があることを意味する。結果として、現在のフレームの各頂点の係数は、参照フレーム、例えば、前のフレームにおける対応する頂点の係数を使用することによって予測することができる。その後、エントロピーコーディングを予測残差に対して実施することができる。いくつかの実施形態では、予測残差がエンコーディングされ、他の実施形態では、元の係数がエンコーディングされる。各フレームに対するシグナリングフラグを使用して、そのような選択を示すことができる。予測残差の分布は元の係数とは異なるので、コーディング効率をさらに改善するために、別々のコーディングコンテキストが予測残差および元の係数をコーディングするために使用されてもよい。
【0028】
いくつかの実施形態では、係数/残差の分布に応じて、異なるコーディング方法をインターコーディングされたフレーム内の係数または係数残差に対して用いることができる。いくつかの実施形態では、1よりも大きい絶対値を有する係数が識別され、シーケンス内のそれらの位置ならびにそれらの値がシグナリングされるような構文構造が提案される。そのような目的を示すための構文要素は、これらの大きな係数の数、次の大きな係数についての最後の大きな係数からの距離などを含むことができる。その後、残りの係数は、常に0または+1または-1のいずれかである。そのようなシーケンスをエンコーディングするために、いくつかの実施形態は、各位置についてフラグを使用してそれが0であるかどうかを単に示し、そうでない場合、別の符号フラグがシグナリングされ、それが正の1であるか負の1であるかを示す。
【0029】
図5は、動的細分化メッシュの頂点変位をエンコーディングするための例示的なプロセス500のフローチャートである。いくつかの実装形態では、図5の1つまたは複数のプロセスブロックは、上述した要素のいずれかによって実施され得る。
【0030】
図5に示すように、プロセス500は、ビデオビットストリームのフレームからメッシュシーケンスの曲線を導出するステップであって、曲線は、複数の頂点を含むステップを含むことができる(ブロック510)。
【0031】
図5にさらに示すように、プロセス500は、複数の細分化された頂点を追加することによって曲線を細分化するステップを含むことができる(ブロック520)。
【0032】
図5にさらに示すように、プロセス500は、曲線上の複数の頂点の各々と細分化された曲線上の複数の細分化された頂点の各々との間の1つまたは複数の変位ベクトルを計算するステップを含むことができる(ブロック530)。
【0033】
図5に示すように、プロセス500は、1つまたは複数の変位ベクトルを変換し、1つまたは複数の元の係数を出力するステップを含むことができる(ブロック540)。
【0034】
図5にさらに示すように、プロセス500は、現在のフレームがインターピクチャ情報またはイントラピクチャ情報を使用してコーディングされているかどうかを決定するステップを含むことができる(ブロック550)。
【0035】
図5にさらに示すように、現在のフレームがインターピクチャ情報を使用してコーディングされているとの決定に応答して、プロセス500は、前のフレームで現在のフレームを追跡し、現在のフレームの複数の頂点と前のフレームの複数の頂点との間の1対1の対応関係を取得するステップを含むことができる(ブロック561)。
【0036】
図5にさらに示すように、プロセス500は、1対1の対応関係に基づいて現在のフレーム内の複数の頂点の各々の1つまたは複数の係数を予測するステップを含むことができる(ブロック571)。
【0037】
図5にさらに示すように、プロセス500は、1つまたは複数の予測残差に対してエントロピーコーディングを実施するステップを含むことができる(ブロック581)。
【0038】
図5にさらに示すように、プロセス500は、1つまたは複数の予測された係数に基づいて1つまたは複数の予測残差をエンコーディングするステップを含むことができる(ブロック591)。
【0039】
図5にさらに示すように、現在のフレームがイントラピクチャ情報を使用してコーディングされているとの決定に応答して、プロセス500は、算術コーディングを使用して1つまたは複数の係数をエンコーディングするステップを含むことができる(ブロック562)。
【0040】
図5はプロセス500の例示的なブロックを示すが、いくつかの実装形態では、プロセス500は、図5に図示されるものに対して追加のブロック、より少ないブロック、異なるブロック、または異なる配置のブロックを含んでもよい。付加的に、または代替的に、プロセス500の2つ以上のブロックが並列に実施されてもよい。
【0041】
上述の技法は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装し、1つまたは複数のコンピュータ可読媒体に物理的に記憶することができる。例えば、図6は、本開示の特定の実施形態を実装するのに適したコンピュータシステム900を示す。
【0042】
コンピュータソフトウェアは、コンピュータ中央処理装置(CPU)、グラフィック処理装置(GPU)などによって直接、または解釈、マイクロコード実行などを介して実行され得る命令を含むコードを作成するためにアセンブリ、コンパイル、リンクなどの機構を受けることができる任意の適切な機械コードまたはコンピュータ言語を使用してコーディングされ得る。
【0043】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはその構成要素上で実行され得る。
【0044】
コンピュータシステム900について図6に示す構成要素は、例であり、本開示の実施形態を実装するコンピュータソフトウェアの使用または機能の範囲に関する限定を示唆することを意図されていない。構成要素の構成は、コンピュータシステム900の非限定的な実施形態に示された構成要素のいずれか1つまたは組み合わせに関して、いかなる依存性または要件を有するものとも解釈されるべきではない。
【0045】
コンピュータシステム900は、特定のヒューマンインターフェース入力デバイスを含み得る。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を介した、1人または複数の人間ユーザによる入力に応答してもよい。ヒューマンインターフェースデバイスはまた、オーディオ(音声、音楽、環境音など)、画像(走査画像、写真画像静止画像カメラから取得するなど)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)といった、必ずしも人間による意識的な入力に直接関連しない特定の媒体を取り込むためにも使用されてもよい。
【0046】
入力ヒューマンインターフェースデバイスは、キーボード901、マウス902、トラックパッド903、タッチスクリーン910、データグローブ、ジョイスティック905、マイクロフォン906、スキャナ907、カメラ908のうちの1つまたは複数(各々の1つのみを図示)を含むことができる。
【0047】
コンピュータシステム900はまた、特定のヒューマンインターフェース出力デバイスを含む場合がある。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および匂い/味を介して、1人または複数の人間ユーザの感覚を刺激している場合がある。そのようなヒューマンインターフェース出力デバイスには、触覚出力デバイス(例えば、タッチスクリーン910、データグローブ、またはジョイスティック905による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスも存在する場合がある)が含まれる場合がある。例えば、そのようなデバイスは、オーディオ出力デバイス(スピーカ909、ヘッドフォン(図示せず)など)、視覚出力デバイス(各々タッチスクリーン入力能力の有無にかかわらず、各々触覚フィードバック能力の有無にかかわらず、その一部は立体出力などの手段を介して2次元視覚出力または3次元を超える出力を出力することが可能であり得る、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン910、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ、およびスモークタンク(図示せず)など)、ならびにプリンタ(図示せず)であってもよい。
【0048】
コンピュータシステム900はまた、CD/DVDまたは同様の媒体921を有するCD/DVD ROM/RW920を含む光学媒体、サムドライブ922、リムーバブルハードドライブまたはソリッドステートドライブ923、テープおよびフロッピーディスクなどのレガシー磁気媒体(図示せず)、セキュリティドングルなどの特殊なROM/ASIC/PLDベースのデバイス(図示せず)など、人間がアクセス可能な記憶デバイスおよびそれらに関連する媒体を含む場合がある。
【0049】
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解するべきである。
【0050】
コンピュータシステム900はまた、1つまたは複数の通信ネットワークへのインターフェースを含む場合がある。ネットワークは、例えば、無線、有線、光であってもよい。ネットワークはさらに、ローカル、ワイドエリア、メトロポリタン、車両用および産業用、リアルタイム、遅延耐性などであってもよい。ネットワークの例には、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラネットワーク、ケーブルTV、衛星TV、および地上波放送TVを含むTV有線または無線ワイドエリアデジタルネットワーク、ならびにCANBusを含む車両用および産業用などが挙げられる。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス949(例えば、コンピュータシステム900のUSBポートなどに取り付けられた外部ネットワークインターフェースアダプタを必要とし、他のネットワークは、一般に、以下で説明されるようにシステムバスへの取り付けによってコンピュータシステム900のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェース、またはスマートフォンコンピュータシステムへのセルラネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム900は、他のエンティティと通信することができる。そのような通信は、単方向受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または例えばローカルエリアもしくはワイドエリアのデジタルネットワークを使用する他のコンピュータシステムへの双方向であり得る。そのような通信は、クラウドコンピューティング環境955への通信を含む場合がある。特定のプロトコルおよびプロトコルスタックは、上述したようにそれらのネットワークおよびネットワークインターフェースの各々で使用される場合がある。
【0051】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶デバイス、およびネットワークインターフェース954は、コンピュータシステム900のコア940に取り付けられる場合がある。
【0052】
コア940は、1つまたは複数の中央処理装置(CPU)941、グラフィック処理装置(GPU)942、フィールドプログラマブルゲートエリア(FPGA)943の形態の専用プログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ944などを含む場合がある。これらのデバイスは、読み出し専用メモリ(ROM)945、ランダムアクセスメモリ946、ユーザがアクセスできない内部ハードドライブ、SSDなどの内部大容量ストレージ947と共に、システムバス948を介して接続され得る。いくつかのコンピュータシステムでは、システムバス948は、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形態でアクセス可能であり得る。周辺デバイスは、コアのシステムバス948に直接取り付けられるか、または周辺バス949を介して取り付けられる場合がある。周辺バス用のアーキテクチャには、PCI、USBなどが含まれる。グラフィックアダプタ950が、コア940に含まれてもよい。
【0053】
CPU941、GPU942、FPGA943、およびアクセラレータ944は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM945またはRAM946に記憶される場合がある。暫定データもRAM946に記憶される場合があるが、永続データは、例えば、内部大容量ストレージ947に記憶される場合がある。メモリデバイスのいずれかへの高速記憶および取り出しは、1つまたは複数のCPU941、GPU942、大容量ストレージ947、ROM945、RAM946などと密接に関連付けられ得るキャッシュメモリの使用によって可能とされてもよい。
【0054】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実施するためのコンピュータコードを有し得る。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構成されたものであってもよいし、またはコンピュータソフトウェア技術の当業者に周知の利用可能な種類のものであってもよい。
【0055】
限定ではなく例として、アーキテクチャを有するコンピュータシステム900、具体的にはコア940は、(CPU、GPU、FPGA、アクセラレータなどを含む)プロセッサが、1つまたは複数の有形コンピュータ可読媒体内で具現化されたソフトウェアを実行した結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上記で紹介されたようなユーザアクセス可能な大容量ストレージ、ならびにコア内部の大容量ストレージ947やROM945などの非一時的な性質のものであるコア940の特定のストレージと関連付けられた媒体であってもよい。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア940によって実行される場合がある。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含んでもよい。ソフトウェアは、コア940、具体的には(CPU、GPU、FPGAなどを含む)その中のプロセッサに、RAM946に記憶されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、回路(例えば、アクセラレータ944)にハードワイヤードされた、または他の方法で具現化された論理の結果として機能を提供してもよく、この回路はソフトウェアの代わりに、またはソフトウェアと共に動作し、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行し得る。ソフトウェアへの言及は、必要に応じて、論理を包含する場合もあり、逆もまた同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
【0056】
本開示は、いくつかの非限定的な実施形態を記載しているが、本開示の範囲内にある変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書に明示的に示されていないかまたは記載されていないが、本開示の原理を具現化し、したがって本開示の趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【符号の説明】
【0057】
100 通信システム
110 端末/第1の端末
120 端末/第2の端末
130 端末
140 端末
150 通信ネットワーク
200 ストリーミングシステム
201 ビデオソース
202 サンプルストリーム
203 エンコーダ
204 エンコーディングされたビデオビットストリーム
205 ストリーミングサーバ
206 ストリーミングクライアント
209 ビデオビットストリーム
210 ビデオデコーダ
211 ビデオサンプルストリーム
212 ディスプレイ
213 キャプチャサブシステム
500 プロセス
510 ブロック
520 ブロック
530 ブロック
540 ブロック
550 ブロック
561 ブロック
562 ブロック
571 ブロック
581 ブロック
591 ブロック
900 コンピュータシステム
901 キーボード
902 マウス
903 トラックパッド
905 ジョイスティック
906 マイクロフォン
907 スキャナ
908 カメラ
909 スピーカ
910 タッチスクリーン
920 CD/DVD ROM/RW
921 CD/DVD/同様の媒体
922 サムドライブ
923 リムーバブルハードドライブ/ソリッドステートドライブ
940 コア
941 中央処理装置(CPU)
942 グラフィック処理装置(GPU)
943 フィールドプログラマブルゲートエリア(FPGA)
944 ハードウェアアクセラレータ
945 読み出し専用メモリ(ROM)
946 ランダムアクセスメモリ(RAM)
947 内部大容量ストレージ
948 システムバス
949 周辺バス
950 グラフィックアダプタ
954 ネットワークインターフェース
955 クラウドコンピューティング環境
図1
図2
図3
図4
図5
図6
【手続補正書】
【提出日】2024-07-31
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサが実行する方法であって、前記方法は、
ビデオビットストリームのフレームからメッシュシーケンスの曲線を導出するステップであって、前記曲線は、複数の頂点を含む、ステップと、
複数の細分化された頂点を追加することによって前記曲線を細分化するステップと、
前記曲線上の前記複数の頂点の各々と前記細分化された曲線上の前記複数の細分化された頂点の各々との間の1つまたは複数の変位ベクトルを計算するステップと、
前記1つまたは複数の変位ベクトルを変換し、1つまたは複数の元の係数を出力するステップと、
在のフレームがインターピクチャ情報またはイントラピクチャ情報を使用してコーディングされている決定するステップと
を含み、
前記現在のフレームがインターピクチャ情報を使用してコーディングされているとの決定に応答して、
前のフレームで前記現在のフレームを追跡し、前記現在のフレームの前記複数の頂点と前記前のフレームの複数の頂点との間の1対1の対応関係を取得するステップと、
前記1対1の対応関係に基づいて現在のフレーム内の前記複数の頂点の各々の1つまたは複数の係数を予測するステップと、
1つまたは複数の予測残差に対してエントロピーコーディングを実施するステップと、
前記1つまたは複数の予測された係数に基づいて前記1つまたは複数の予測残差をエンコーディングするステップと
を含み、
前記現在のフレームがイントラピクチャ情報を使用してコーディングされているとの決定に応答して、
算術コーディングを使用して1つまたは複数の係数をエンコーディングするステップ
を含む、方法。
【請求項2】
前記1つまたは複数の元の係数は、エンコーディングされる、請求項1に記載の方法。
【請求項3】
シグナリングフラグが、1つまたは複数の元の係数がエンコーディングされるべきであることを示すために各フレームに対して使用される、請求項2に記載の方法。
【請求項4】
1つまたは複数の別々のコーディングコンテキストが、予測残差および元の係数をコーディングするために使用される、請求項3に記載の方法。
【請求項5】
前記予測残差または前記元の係数は、シーケンス内の対応する位置および対応する値が各予測残差または各元の係数についてシグナリングされるように、構文構造を使用してエンコーディングされる、請求項4に記載の方法。
【請求項6】
フラグを使用して各対応する位置を示すステップをさらに含む、請求項5に記載の方法。
【請求項7】
前記曲線を細分化するステップは、前記曲線を間引きすることによって間引き曲線を形成し、前記複数の細分化された頂点を前記間引き曲線に追加するステップを含む、請求項1に記載の方法。
【請求項8】
請求項1~7のいずれか一項に記載の方法を行うように構成された装置。
【請求項9】
コンピュータに、請求項1~7のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【国際調査報告】