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

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

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

特表2024-533471メッシュ圧縮における頂点位置予測のための方法、装置及びコンピュータプログラム
<>
  • 特表-メッシュ圧縮における頂点位置予測のための方法、装置及びコンピュータプログラム 図1
  • 特表-メッシュ圧縮における頂点位置予測のための方法、装置及びコンピュータプログラム 図2
  • 特表-メッシュ圧縮における頂点位置予測のための方法、装置及びコンピュータプログラム 図3
  • 特表-メッシュ圧縮における頂点位置予測のための方法、装置及びコンピュータプログラム 図4A
  • 特表-メッシュ圧縮における頂点位置予測のための方法、装置及びコンピュータプログラム 図4B
  • 特表-メッシュ圧縮における頂点位置予測のための方法、装置及びコンピュータプログラム 図5A
  • 特表-メッシュ圧縮における頂点位置予測のための方法、装置及びコンピュータプログラム 図5B
  • 特表-メッシュ圧縮における頂点位置予測のための方法、装置及びコンピュータプログラム 図6
  • 特表-メッシュ圧縮における頂点位置予測のための方法、装置及びコンピュータプログラム 図7
  • 特表-メッシュ圧縮における頂点位置予測のための方法、装置及びコンピュータプログラム 図8
  • 特表-メッシュ圧縮における頂点位置予測のための方法、装置及びコンピュータプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-12
(54)【発明の名称】メッシュ圧縮における頂点位置予測のための方法、装置及びコンピュータプログラム
(51)【国際特許分類】
   H04N 19/597 20140101AFI20240905BHJP
【FI】
H04N19/597
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024515923
(86)(22)【出願日】2023-04-04
(85)【翻訳文提出日】2024-03-12
(86)【国際出願番号】 US2023017372
(87)【国際公開番号】W WO2023224737
(87)【国際公開日】2023-11-23
(31)【優先権主張番号】63/344,394
(32)【優先日】2022-05-20
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/126,152
(32)【優先日】2023-03-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】ジュン・ティアン
(72)【発明者】
【氏名】チャオ・フアン
(72)【発明者】
【氏名】シャオジョン・シュ
(72)【発明者】
【氏名】シャン・ジャン
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159PP03
5C159PP13
5C159RC12
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
メッシュ処理の方法において、メッシュは複数の頂点内に現在の頂点を含む。現在の頂点の複数の候補予測が、メッシュ内の複数の三角形に基づいて決定される。複数の三角形のそれぞれが、各候補予測に対応する。現在の頂点の予測は、複数の候補予測から決定される。予測は、現在の頂点と、複数の候補予測のそれぞれとの閾値予測差分に対応する。決定した予測に基づいて、現在の頂点の予測情報がさらに生成される。
【特許請求の範囲】
【請求項1】
ビデオエンコーダで行われるメッシュ処理の方法であって、前記方法は、
現在の頂点の複数の候補予測を決定するステップであって、前記現在の頂点は、メッシュの複数の頂点内にあり、前記複数の候補予測は、前記メッシュ内の複数の三角形に基づいて決定され、前記複数の三角形のそれぞれが、各候補予測に対応する、ステップと、
前記現在の頂点と、前記複数の候補予測のそれぞれとの閾値予測差分に対応する、前記複数の候補予測から、前記現在の頂点の予測を決定するステップと、
前記決定した予測に基づいて、前記現在の頂点の予測情報を生成するステップとを含む、方法。
【請求項2】
前記現在の頂点の前記複数の候補予測を決定する前記ステップが、
前記現在の頂点の、前記複数の三角形の第1の三角形を決定するステップであって、前記第1の三角形は、前記複数の三角形の第2の三角形と一辺を共有し、前記現在の頂点は、前記第2の三角形内に含まれかつ前記共有している辺の反対側にある、ステップと、
前記複数の候補予測の第1の予測を決定するステップであって、前記第1の予測と前記第1の三角形とが第1の平行四辺形を形成する平行四辺形予測によって、前記決定した第1の三角形に基づく、ステップとをさらに含む、請求項1に記載の方法。
【請求項3】
前記現在の頂点の前記複数の候補予測を決定する前記ステップが、
前記複数の候補予測の平均予測を決定するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記現在の頂点の前記予測を決定する前記ステップが、
前記現在の頂点の予測リストを決定するステップであって、前記予測リストの予測子は、前記平均予測、および前記予測リスト内で前記平均予測の後に続く前記複数の候補予測を含み、前記予測リストにおける前記複数の候補予測の配列は、前記複数の候補予測に対応する前記複数の三角形の配列に基づいている、ステップと、
前記予測リスト内の前記予測子のそれぞれに対して、各予測インデックスを決定するステップとをさらに含む、請求項3に記載の方法。
【請求項5】
前記複数の三角形が、エッジブレーカーアルゴリズムに基づいて配列され、前記複数の三角形は、らせん状の三角形スパニングツリーの配列でラベル付けされる、請求項4に記載の方法。
【請求項6】
前記現在の頂点の前記予測を決定する前記ステップが、
前記予測リスト内の前記予測子のそれぞれと、前記現在の頂点との予測差分を決定するステップと、
前記予測差分の最小予測差分に対応する前記予測リスト内の前記予測子から、前記予測を決定するステップとをさらに含む、請求項4に記載の方法。
【請求項7】
前記現在の頂点の前記予測を決定する前記ステップが、
前記最小予測差分を有する前記予測リストの、前記予測子のサブセット内で前記予測を決定するステップをさらに含む、請求項6に記載の方法。
【請求項8】
前記各予測インデックスを決定する前記ステップが、
固定長コーディング、可変長コーディング、および差分コーディングのうちの1つに基づいて、前記予測リスト内の前記予測子のそれぞれに対して、前記各予測インデックスを決定するステップをさらに含む、請求項4に記載の方法。
【請求項9】
前記各予測インデックスを決定する前記ステップが前記差分コーディングに基づき、
前記差分コーディングに基づいて前記各予測インデックスを決定する前記ステップが、
前記予測子の第1の予測インデックスと、前記予測子の第2の予測インデックスとの差分を決定するステップと、
前記第1の予測インデックスと前記第2の予測インデックスとの前記差分に基づいて、前記第2の予測インデックスをコーディングするステップとをさらに含む、請求項8に記載の方法。
【請求項10】
前記現在の頂点の前記予測情報が、
前記予測リスト内の前記決定した予測を示すインデックス情報、および
前記現在の頂点と前記決定した予測との差分を示す残差情報をさらに含む、請求項4に記載の方法。
【請求項11】
メッシュ処理用の装置であって、前記装置は、
現在の頂点の複数の候補予測を決定し、前記現在の頂点は、メッシュの複数の頂点内にあり、前記複数の候補予測は、前記メッシュ内の複数の三角形に基づいて決定され、前記複数の三角形のそれぞれが、各候補予測に対応し、
前記現在の頂点と、前記複数の候補予測のそれぞれとの閾値予測差分に対応する、前記複数の候補予測から、前記現在の頂点の予測を決定し、
前記決定した予測に基づいて、前記現在の頂点の予測情報を生成する、
ように構成された処理回路を備える、装置。
【請求項12】
前記処理回路が、
前記現在の頂点の、前記複数の三角形の第1の三角形を決定し、前記第1の三角形は、前記複数の三角形の第2の三角形と一辺を共有し、前記現在の頂点は、前記第2の三角形内に含まれかつ前記共有している辺の反対側にあり、
前記複数の候補予測の第1の予測を決定し、前記第1の予測と前記第1の三角形とが第1の平行四辺形を形成する平行四辺形予測によって、前記決定した第1の三角形に基づいて決定する、ように構成される、請求項11に記載の装置。
【請求項13】
前記処理回路が、
前記複数の候補予測の平均予測を決定するように構成される、請求項12に記載の装置。
【請求項14】
前記処理回路が、
前記現在の頂点の予測リストを決定し、前記予測リストの予測子は、前記平均予測、および前記予測リスト内で前記平均予測の後に続く前記複数の候補予測を含み、前記予測リストにおける前記複数の候補予測の配列は、前記複数の候補予測に対応する前記複数の三角形の配列に基づき、
前記予測リスト内の前記予測子のそれぞれに対して、各予測インデックスを決定する、ように構成される、請求項13に記載の装置。
【請求項15】
前記複数の三角形が、エッジブレーカーアルゴリズムに基づいて配列され、前記複数の三角形は、らせん状の三角形スパニングツリーの配列でラベル付けされる、請求項14に記載の装置。
【請求項16】
前記処理回路が、
前記予測リスト内の前記予測子のそれぞれと、前記現在の頂点との予測差分を決定し、
前記予測差分の最小予測差分に対応する前記予測リスト内の前記予測子から、前記予測を決定する、ように構成される、請求項14に記載の装置。
【請求項17】
前記処理回路が、
前記最小予測差分を有する前記予測リストの、前記予測子のサブセット内で前記予測を決定するように構成される、請求項16に記載の装置。
【請求項18】
前記処理回路が、
固定長コーディング、可変長コーディング、および差分コーディングのうちの1つに基づいて、前記予測リスト内の前記予測子のそれぞれに対して、前記各予測インデックスを決定するように構成される、請求項14に記載の装置。
【請求項19】
前記各予測インデックスが前記差分コーディングに基づいて決定され、
前記処理回路が、
前記予測子の第1の予測インデックスと、前記予測子の第2の予測インデックスとの差分を決定し、
前記第1の予測インデックスと前記第2の予測インデックスとの前記差分に基づいて、前記第2の予測インデックスをコーディングするように構成される、請求項18に記載の装置。
【請求項20】
前記現在の頂点の前記予測情報が、
前記予測リスト内の前記決定した予測を示すインデックス情報、および
前記現在の頂点と前記決定した予測との差分を示す残差情報をさらに含む、請求項14に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2022年5月20日に出願された米国仮出願第63/344,394号「Vertex Position Prediction in Mesh Compression」に対する優先権の利益を主張する、2023年3月24日に出願された米国特許出願第18/126,152号「VERTEX POSITION PREDICTION IN MESH COMPRESSION」に対する優先権の利益を主張する。先行出願の開示は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は、メッシュ処理に関する実施形態を含む。
【背景技術】
【0003】
本明細書で提供される背景技術の説明は、本開示のコンテキストを一般的に提示することを目的とする。本発明者らの研究は、この背景技術の項に記載されている限りにおいて、および出願時に先行技術として認められない可能性がある説明の態様は、本開示に対する先行技術として明示的にも暗示的にも認められない。
【0004】
三次元(3D)キャプチャ、モデリング、およびレンダリングなどの進歩は、様々なプラットフォームおよびデバイスにわたって3Dコンテンツの普遍的な存在を促進している。今日では、ある大陸で赤ちゃんの最初の一歩を捕え、別の大陸で赤ちゃんの祖父母がこれを見て(かつ場合によっては交流して)、子供との臨場感あふれる体験を楽しむことが可能である。このような臨場感を実現するために、モデルはこれまで以上に洗練されてきており、かなりの量のデータがこれらのモデルの生成および消費に結び付けられる。そのような没入型コンテンツを表すために3Dメッシュが広く使用されている。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の態様は、メッシュ処理のための方法および装置を提供する。いくつかの例では、メッシュ処理のための装置は処理回路を含む。
【0006】
本開示の一態様によれば、ビデオエンコーダにおいて行われるメッシュ処理の方法が提供される。該方法では、メッシュは複数の頂点を含む。複数の頂点における、現在の頂点の複数の候補予測が、メッシュ内の複数の三角形に基づいて決定される。複数の三角形のそれぞれが、各候補予測に対応する。現在の頂点の予測は、複数の候補予測から決定される。予測は、現在の頂点と、複数の候補予測のそれぞれとの閾値予測差分に対応する。決定した予測に基づいて、現在の頂点の予測情報がさらに生成される。
【0007】
一部の実施形態では、現在の頂点の複数の候補予測を決定するために、現在の頂点に対して、複数の三角形のうちの第1の三角形が決定される。第1の三角形は、複数の三角形のうちの第2の三角形と一辺を共有し、現在の頂点は、第2の三角形に含まれ、かつ共有する辺の反対側にある。複数の候補予測のうちの第1の予測は、平行四辺形予測によって決定された第1の三角形に基づいて決定され、ここでは第1の予測と第1の三角形とが、第1の平行四辺形を形成する。
【0008】
一部の実施形態では、現在の頂点の複数の候補予測を決定するために、複数の候補予測の平均予測が決定される。
【0009】
一部の実施形態では、現在の頂点の予測を決定するために、現在の頂点に対して予測リストが決定される。予測リストは予測子を含む。予測子は、平均予測、および予測リスト内で平均予測の後に続く複数の候補予測を含む。予測リストにおける複数の候補予測の配列は、複数の候補予測に対応する複数の三角形の配列に基づく。予測リスト内の予測子のそれぞれに対して、各予測インデックスが決定される。
【0010】
一例では、複数の三角形がエッジブレーカーアルゴリズムに基づいて配列され、複数の三角形は、らせん状の三角形スパニングツリーの配列でラベル付けされる。
【0011】
一例では、現在の頂点の予測を決定するために、予測リストにおける予測子のそれぞれと、現在の頂点との予測差分が決定される。予測差分の最小予測差分に対応する予測リスト内の予測子から、予測がさらに決定される。
【0012】
一例では、現在の頂点の予測を決定するために、最小予測差分を有する予測リストの、予測子のサブセット内で予測が決定される。
【0013】
一部の実施形態では、固定長コーディング、可変長コーディング、および差分コーディングのうちの1つに基づいて、予測リスト内の予測子のそれぞれに対して、各予測インデックスが決定される。
【0014】
一部の実施形態では、各予測インデックスは、差分コーディングに基づいて決定される。一例では、予測子の第1の予測インデックスと、予測子の第2の予測インデックスとの差分が決定されてもよい。第1の予測インデックスと第2の予測インデックスとの差分に基づいて、第2の予測インデックスがさらにコーディングされる。
【0015】
一部の実施形態では、現在の頂点の予測情報は、予測リスト内の決定した予測を示すインデックス情報、および現在の頂点と決定した予測との差分を示す残差情報を含む。
【0016】
本開示の他の態様によれば、装置が提供される。装置は、処理回路を含む。処理回路は、説明したメッシュ処理の方法のいずれかを実行するように構成することができる。
【0017】
本開示の態様はまた、ビデオデコーディングのためにコンピュータによって実行されたときに、説明したメッシュ処理の方法のいずれかをコンピュータに実行させる命令を記憶する、非一時的コンピュータ可読媒体を提供する。
【0018】
開示される主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0019】
図1】通信システム(100)の例示的なブロック図の概略図である。
図2】デコーダの例示的なブロック図の概略図である。
図3】エンコーダの例示的なブロック図の概略図である。
図4A】本開示の一部の実施形態による、第1の例示的な平行四辺形予測の概略図である。
図4B】本開示の一部の実施形態による、第2の例示的な平行四辺形予測の概略図である。
図5A】エッジブレーカーアルゴリズムの5つのパッチ構成の例を示す。
図5B】エッジブレーカーアルゴリズムによる、例示的なメッシュトラバーサルを示す。
図6】平行四辺形予測に基づいた頂点予測の一例の概略図を示す。
図7】本開示の一部の実施形態による処理を概説するフローチャートである。
図8】本開示の一部の実施形態による別のプロセスの概要を示すフローチャートである。
図9】一実施形態による、コンピュータシステムの概略図である。
【発明を実施するための形態】
【0020】
図1は、いくつかの例におけるビデオ処理システム(100)のブロック図を示す。ビデオ処理システム(100)は、開示される主題のための適用例の一例であり、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダである。開示される主題は、例えば、ビデオ会議、デジタルTV、ストリーミングサービス、CD、DVD、メモリスティックを含むデジタルメディアへの圧縮ビデオの記憶などを含む、他の画像およびビデオ対応アプリケーションに等しく適用可能であることができる。
【0021】
ビデオ処理システム(100)は、ビデオソース(101)を含むことができるキャプチャサブシステム(113)を含む。ビデオソース(101)は、カメラによってキャプチャされた、かつ/またはコンピュータによって生成された、1つ以上の画像を含むことができる。例えば、デジタルカメラは、圧縮されていないビデオピクチャのストリーム(102)を生成する。一例では、ビデオピクチャのストリーム(102)は、デジタルカメラによって撮られたサンプルを含む。ビデオピクチャのストリーム(102)は、エンコーディングされたビデオデータ(104)(またはコーディングされたビデオビットストリーム)と比較したときの大きいデータ量を強調するために太線で示され、ビデオソース(101)に結合されたビデオエンコーダ(103)を含む電子デバイス(120)によって処理され得る。ビデオエンコーダ(103)は、以下で詳細に記載するように、開示された主題の態様を可能にする、または実装するために、ハードウェア、ソフトウェア、またはそれらの組合せを含むことができる。エンコーディングされたビデオデータ(104)(またはエンコーディングされたビデオビットストリーム)は、ビデオピクチャのストリーム(102)と比較したときの少ないデータ量を強調するために細線で示され、将来の使用のためにストリーミングサーバ(105)に記憶することができる。図1のクライアントサブシステム(106)および(108)などの1つ以上のストリーミングクライアントサブシステムは、エンコーディングされたビデオデータ(104)のコピー(107)および(109)を取り出すために、ストリーミングサーバ(105)にアクセスすることができる。クライアントサブシステム(106)は、例えば電子デバイス(130)内にビデオデコーダ(110)を含むことができる。ビデオデコーダ(110)は、エンコーディングされたビデオデータの入力コピー(107)をデコーディングし、ディスプレイ(112)(例えば、表示画面)または他のレンダリングデバイス(図示せず)上でレンダリングされることができるビデオピクチャの出力ストリーム(111)を生成する。一部のストリーミングシステムでは、エンコーディングされたビデオデータ(104)、(107)および(109)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮規格に従ってエンコーディングされ得る。それらの規格の例には、ITU-T勧告H.265が含まれる。一例では、開発中のビデオコーディング規格は、多用途ビデオコーディング(VVC)として非公式に知られている。開示される主題は、VVCとの関連で使用され得る。
【0022】
電子デバイス(120)および(130)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子デバイス(120)はビデオデコーダ(図示せず)も含むことができ、電子デバイス(130)はビデオエンコーダ(図示せず)も含むことができる。
【0023】
図2は、ビデオデコーダ(210)の例示的なブロック図を示している。ビデオデコーダ(210)は、電子デバイス(230)に含まれ得る。電子デバイス(230)は、受信機(231)を含むことができる。受信機(231)は、ネットワークインターフェース回路などの受信回路を含んでもよい。ビデオデコーダ(210)は、図1の例のビデオデコーダ(110)の代わりに使用され得る。
【0024】
受信機(231)は、ビデオデコーダ(210)によってデコーディングされるべき1つ以上のコーディングされたビデオシーケンスを受信し得る。一実施形態では、一度に1つのコーディングされたビデオシーケンスが受信され、各コーディングされたビデオシーケンスのデコーディングは、他のコーディングされたビデオシーケンスのデコーディングから独立している。コーディングされたビデオシーケンスは、チャネル(201)から受信され、チャネル(201)は、エンコーディングされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであり得る。受信機(231)は、他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリームと共にエンコーディングされたビデオデータを受信してもよく、そのデータは、それらそれぞれの使用エンティティ(図示せず)に転送され得る。受信機(231)は、コーディングされたビデオシーケンスをその他のデータから分離し得る。ネットワークジッタに対抗するために、受信機(231)とエントロピーデコーダ/パーサ(220)(以降、「パーサ(220)」)との間にバッファメモリ(215)が結合され得る。特定の用途では、バッファメモリ(215)は、ビデオデコーダ(210)の一部である。他の用途では、バッファメモリ(215)は、ビデオデコーダ(210)の外部にあることができる(図示せず)。さらに他の用途では、例えば、ネットワークジッタに対抗するために、ビデオデコーダ(210)の外部にバッファメモリ(図示せず)が存在し、加えて、例えば、プレイアウトタイミングを処理するために、ビデオデコーダ(210)の内部に他のバッファメモリ(215)が存在することができる。受信機(231)が十分な帯域幅および可制御性の記憶/転送デバイスから、またはアイソシンクロナスネットワークから、データを受信しているとき、バッファメモリ(215)は、必要でなくてもよい、または小さくなることができる。インターネットなどのベストエフォート型パケットネットワーク上で使用するために、バッファメモリ(215)が必要とされてもよく、比較的大きくすることができ、有利には適応サイズとすることができ、ビデオデコーダ(210)の外部のオペレーティングシステムまたは同様の要素(図示せず)内に少なくとも部分的に実装されてもよい。
【0025】
ビデオデコーダ(210)は、コーディングされたビデオシーケンスからシンボル(221)を再構成するためのパーサ(220)を含んでもよい。これらのシンボルのカテゴリは、図2に示すように、ビデオデコーダ(210)の動作を管理するために使用される情報と、潜在的に、電子デバイス(230)の不可欠な部分ではないが、電子デバイス(230)に結合されることができるレンダリングデバイス(212)(例えば、表示画面)などのレンダリングデバイスを制御するための情報とを含む。(1つまたは複数の)レンダリングデバイスのための制御情報は、補足強化情報(SEI)メッセージまたはビデオユーザビリティ情報(VUI)パラメータセットフラグメント(描写せず)の形式であってもよい。パーサ(220)は、受信したコーディングされたビデオシーケンスを解析/エントロピーデコーディングし得る。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術または規格に従うことができ、コンテキスト依存性ありまたはなしの可変長コーディング、ハフマンコーディング、算術コーディングなどを含む様々な原理に従うことができる。パーサ(220)は、コーディングされたビデオシーケンスから、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ内の、画素のサブグループの少なくとも1つに対する、サブグループパラメータのセットを抽出してもよい。サブグループは、画像のグループ(GOP)、画像、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。また、パーサ(220)は、コーディングされたビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトルなどの情報を抽出してもよい。
【0026】
パーサ(220)は、シンボル(221)を生成するために、バッファメモリ(215)から受信されたビデオシーケンスに対してエントロピーデコーディング/構文解析動作を行ってもよい。
【0027】
シンボル(221)の再構成は、コーディングされたビデオピクチャまたはその部分のタイプ(インターピクチャおよびイントラピクチャ、インターブロックおよびイントラブロックなど)、および他の要因に応じて、複数の異なるユニットを関与させることができる。どのユニットがどのように関与するかは、コーディングされたビデオシーケンスからパーサ(220)によって構文解析されたサブグループ制御情報によって制御されることができる。パーサ(220)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために描かれていない。
【0028】
すでに述べられた機能ブロック以外に、ビデオデコーダ(210)は、以下で説明されるように、概念的にいくつかの機能ユニットに細分することができる。商業的制約の下で動作する実際の実装形態では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的に互いに統合することができる。しかしながら、開示される主題を説明する目的のためには、以下の機能ユニットに概念的に再分割するのが適切である。
【0029】
第1のユニットはスケーラ/逆変換ユニット(251)である。スケーラ/逆変換ユニット(251)は、量子化変換係数、ならびにどの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報を、パーサ(220)からシンボル(複数可)(221)として受信する。スケーラ/逆変換ユニット(251)は、アグリゲータ(255)に入力することができるサンプル値を含むブロックを出力することができる。
【0030】
場合によっては、スケーラ/逆変換ユニット(251)の出力サンプルは、イントラコーディングされたブロックに関連することができる。イントラコーディングされたブロックは、以前に再構成されたピクチャからの予測情報を使用せず、現在のピクチャの以前に再構成された部分からの予測情報を使用することができるブロックである。そのような予測情報は、イントラピクチャ予測ユニット(252)によって提供することができる。場合によっては、イントラピクチャ予測ユニット(252)は、現在のピクチャバッファ(258)からフェッチされた周囲のすでに再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。現在のピクチャバッファ(258)は、例えば、部分的に再構成された現在のピクチャおよび/または完全に再構成された現在のピクチャをバッファする。アグリゲータ(255)は、場合によっては、サンプルごとに、イントラ予測ユニット(252)が生成した予測情報を、スケーラ/逆変換ユニット(251)によって提供される出力サンプル情報に追加する。
【0031】
他の場合には、スケーラ/逆変換ユニット(251)の出力サンプルは、インターコーディングされ潜在的に動き補償されたブロックに関係することができる。このような事例では、動き補償予測ユニット(253)が、予測に使用するサンプルを取り出すために、参照ピクチャメモリ(257)にアクセスすることができる。ブロックに関係するシンボル(221)に従って、フェッチされたサンプルを動き補償した後、これらのサンプル(この場合、残差サンプルまたは残差信号と呼ばれる)は、出力サンプル情報を生成するために、アグリゲータ(255)によってスケーラ/逆変換ユニット(251)の出力に追加され得る。動き補償予測ユニット(253)が予測サンプルをフェッチする参照ピクチャメモリ(257)内のアドレスを、例えば、X、Y、および参照ピクチャ成分を有し得るシンボル(221)の形式で動き補償予測ユニット(253)に利用可能な動きベクトルによって、制御することができる。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(257)から、フェッチされたサンプル値の補間、動きベクトル予測機構などを含むことができる。
【0032】
アグリゲータ(255)の出力サンプルは、ループフィルタユニット(256)において様々なループフィルタリング技術を受けることができる。コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(220)からのシンボル(221)としてループフィルタユニット(256)が利用可能なインループフィルタ技術を、ビデオ圧縮技術は含むことができる。ビデオ圧縮はまた、コーディングされたピクチャまたはコーディングされたビデオシーケンスの(デコーディング順序で)以前の部分のデコーディング中に取得されたメタ情報に応答し、および以前に再構成されループフィルタ処理されたサンプル値に応答することができる。
【0033】
ループフィルタユニット(256)の出力は、レンダリングデバイス(212)に出力されることができると共に、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(257)に記憶されることができるサンプルストリームであることができる。
【0034】
完全に再構成されると、特定のコーディングされたピクチャは、将来の予測のための参照ピクチャとして使用されることができる。例えば、現在のピクチャに対応するコーディングされたピクチャが完全に再構成され、そのコーディングされたピクチャが(例えば、パーサ(220)によって)参照ピクチャとして識別されると、現在のピクチャバッファ(258)は、参照ピクチャメモリ(257)の一部になることができ、後続のコーディングされたピクチャの再構成を開始する前に、新しい現在のピクチャバッファを再割り当てすることができる。
【0035】
ビデオデコーダ(210)は、所定のビデオ圧縮技術またはITU-T Rec.H.265などの規格に従ってデコーディング動作を行うことができる。コーディングされたビデオシーケンスは、コーディングされたビデオシーケンスがビデオ圧縮技術または規格の構文と、ビデオ圧縮技術または規格に文書化されたプロファイルの両方に忠実であるという意味において、使用されているビデオ圧縮技術または規格によって指定された構文に準拠し得る。具体的には、プロファイルは、ビデオ圧縮技術または規格において利用可能なすべてのツールの中から、特定のツールを、そのプロファイル下でそれらだけが利用可能なツールとして選択することができる。また、コンプライアンスのために必要なのは、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルによって定義された範囲内にあることとすることができる。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、(例えば、毎秒メガサンプル単位で測定された)最大再構成サンプルレート、最大参照ピクチャサイズなどを制限する。レベルによって設定される制限は、場合によっては、仮想参照デコーダ(HRD)の仕様、およびコーディングされたビデオシーケンス内でシグナリングされるHRDバッファ管理用のメタデータによってさらに制限され得る。
【0036】
一実施形態では、受信機(231)は、エンコーディングされたビデオと共に追加の(冗長な)データを受信し得る。追加のデータは、(1つまたは複数の)コーディングされたビデオシーケンスの一部として含まれ得る。追加のデータは、データを適切にデコーディングするため、および/または元のビデオデータをより正確に再構成するために、ビデオデコーダ(210)によって使用され得る。追加のデータは、例えば、時間、空間、または信号対雑音比(SNR)の強化層、冗長スライス、冗長ピクチャ、前方誤り訂正コードなどの形であることができる。
【0037】
図3は、ビデオエンコーダ(303)の例示的なブロック図を示している。ビデオエンコーダ(303)は、電子デバイス(320)に含まれる。電子デバイス(320)は、送信機(340)(例えば、送信回路)を含む。ビデオエンコーダ(303)は、図1の例のビデオエンコーダ(103)の代わりに使用され得る。
【0038】
ビデオエンコーダ(303)は、ビデオエンコーダ(303)によってコーディングされるべきビデオ画像をキャプチャし得る(図3の例では電子デバイス(320)の一部ではない)ビデオソース(301)からビデオサンプルを受信し得る。他の例では、ビデオソース(301)は、電子デバイス(320)の一部である。
【0039】
ビデオソース(301)は、ビデオエンコーダ(303)によってコーディングされるソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であることができるデジタルビデオサンプルストリームの形態で提供することができる。メディアサービングシステムでは、ビデオソース(301)は、以前に準備されたビデオを記憶する記憶装置であってもよい。ビデオ会議システムでは、ビデオソース(301)は、ビデオシーケンスとしてローカル画像情報をキャプチャするカメラであってもよい。ビデオデータは、順番に見られるときに動きを伝える複数の個別のピクチャとして提供されてもよい。ピクチャ自体は、画素の空間配列として編成されてもよく、各画素は、使用中のサンプリング構造、色空間などに応じて、1つ以上のサンプルを含むことができる。以下の説明は、サンプルに焦点を当てている。
【0040】
一実施形態によれば、ビデオエンコーダ(303)は、リアルタイムで、または必要とされる任意の他の時間制約の下で、ソースビデオシーケンスのピクチャをコーディングされたビデオシーケンス(343)にコーディングし、圧縮し得る。適切なコーディング速度にすることが、コントローラ(350)の1つの機能である。一部の実施形態では、コントローラ(350)は、後述するように他の機能ユニットを制御し、かつ他の機能ユニットに機能的に結合される。明確にするために、結合については図示しない。コントローラ(350)によって設定されたパラメータは、レート制御関連パラメータ(画像スキップ、量子化、レート-歪み最適化技術のラムダ値など)、画像サイズ、画像のグループ(GOP)のレイアウト、最大動きベクトル検索範囲などを含むことができる。コントローラ(350)は、特定のシステム設計のために最適化されたビデオエンコーダ(303)に関連する他の適切な機能を有するように構成することができる。
【0041】
一部の実施形態では、ビデオエンコーダ(303)は、コーディングループで動作するように構成される。過度に単純化した説明として、一例では、コーディングループは、(例えば、コーディングされるべき入力ピクチャ、および参照ピクチャ(複数可)に基づいて、シンボルストリームなどのシンボルを作成する役割を担う)ソースコーダ(330)と、ビデオエンコーダ(303)に組み込まれた(ローカル)デコーダ(333)とを含むことができる。デコーダ(333)は、(リモート)デコーダも作成するのと同様の方式で、シンボルを再構成してサンプルデータを生成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(334)に入力される。シンボルストリームの復号は、デコーダの位置(ローカルまたはリモート)に関係なくビットイグザクトな結果をもたらすため、参照ピクチャメモリ(334)の内容も、ローカルエンコーダとリモートエンコーダとの間でビットイグザクトである。言い換えれば、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが「見る」ことになるのと全く同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(および、例えばチャネルエラーのために同期性が維持されることができない場合に結果として生じるドリフト)のこの基本原理は、一部の関連技術においても使用される。
【0042】
「ローカル」デコーダ(333)の動作は、図2と併せて上記で詳細にすでに説明されている、ビデオデコーダ(210)などの「リモート」デコーダの動作と同じであり得る。しかしながら、図2も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(345)およびパーサ(220)によるコーディングされたビデオシーケンスへのシンボルのエンコーディング/デコーディングが可逆であることができるため、バッファメモリ(215)およびパーサ(220)を含むビデオデコーダ(210)のエントロピーデコーディング部分は、ローカルデコーダ(333)において完全には実装されない場合がある。
【0043】
一実施形態では、デコーダに存在するパース/エントロピーデコーディングを除くデコーダ技術が、対応するエンコーダに、同一または実質的に同一の機能的形態で存在する。したがって、開示された主題は、デコーダの動作に焦点を当てている。エンコーダ技術の説明は、包括的に記載されたデコーダ技術の逆であるため、省略されることができる。特定のエリアにおいてのみ、より詳細な説明が以下に提供される。
【0044】
動作中、いくつかの例では、ソースコーダ(330)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の以前にコーディングされたピクチャを参照して、入力ピクチャを予測的にコーディングする動作補償予測コーディングを実施してもよい。このようにして、コーディングエンジン(332)は、入力ピクチャの画素ブロックと、入力ピクチャに対する予測参照(複数可)として選択され得る参照ピクチャ(複数可)の画素ブロックとの間の差分をコーディングする。
【0045】
ローカルビデオデコーダ(333)は、ソースコーダ(330)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータをデコーディングし得る。コーディングエンジン(332)の動作は、有利には、非可逆プロセスであり得る。コーディングされたビデオデータが(図3には示されていない)ビデオデコーダで復号され得るとき、再構成されたビデオシーケンスは、通常、いくつかの誤差を伴うソースビデオシーケンスの複製であり得る。ローカルビデオデコーダ(333)は、参照ピクチャに対してビデオデコーダによって行われ得るデコーディングプロセスを複製し、再構成された参照ピクチャを参照ピクチャメモリ(334)に記憶させ得る。この方法では、ビデオエンコーダ(303)は、遠端のビデオデコーダ(送信エラーのない)によって取得される、再構成された参照ピクチャと共通のコンテンツを有する、再構成された参照ピクチャのコピーを局所的に記憶してもよい。
【0046】
予測子(335)は、コーディングエンジン(332)の予測検索を行い得る。つまり、予測子(335)は、コーディングされる新しいピクチャに対して、参照ピクチャメモリ(334)からサンプルデータ(候補参照画素ブロックとしての)、または参照ピクチャ動きベクトル、ブロック形状などのいくつかのメタデータを検索してもよく、これは新しいピクチャの適切な予測参照として機能し得る。予測子(335)は、適切な予測参照を見つけるために、画素ブロックごとにサンプルブロックに対して動作し得る。場合によっては、予測子(335)によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(334)に記憶された複数の参照ピクチャから引き出された予測参照を有し得る。
【0047】
コントローラ(350)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(330)のコーディング動作を管理し得る。
【0048】
前述した全機能ユニットの出力は、エントロピーコーダ(345)でエントロピーコーディングされてもよい。エントロピーコーダ(345)は、ハフマンコーディング、可変長コーディング、算術コーディングなどといった技術従ってシンボルに可逆圧縮を適用することによって、様々な機能ユニットによって生成されたシンボルをコーディングされたビデオシーケンスに変換する。
【0049】
送信機(340)は、エンコーディングされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであり得る通信チャネル(360)を介した送信の準備のために、エントロピーコーダ(345)によって作成されたコーディングされたビデオシーケンス(複数可)をバッファし得る。送信機(340)は、ビデオエンコーダ(303)からのコーディングされたビデオデータを、送信されるべき他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージし得る。
【0050】
コントローラ(350)は、ビデオエンコーダ(303)の動作を管理してもよい。コーディング中に、コントローラ(350)は、コーディングされたピクチャのそれぞれにいくつかのコーディングピクチャタイプを割り当ててもよく、これは、各ピクチャに適用され得るコーディング技術に影響を及ぼす場合がある。例えば、ピクチャは、しばしば、以下のピクチャタイプのうちの1つとして割り当てられてもよい。
【0051】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の任意の他のピクチャを使用することなくコーディングおよび復号され得るものであり得る。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(「IDR」)ピクチャを含む、異なるタイプのイントラピクチャを可能にする。当業者であれば、Iピクチャのこれらの変形例およびそれらのそれぞれの用途および特徴を認識している。
【0052】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して、コーディングおよび復号され得るものであり得る。
【0053】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して、コーディングおよび復号され得るものであり得る。同様に、複数の予測ピクチャは、単一のブロックの再構成のために3つ以上の参照ピクチャおよび関連メタデータを使用することができる。
【0054】
ソースピクチャは、概して、複数のサンプルブロック(例えば、各々4×4、8×8、4×8、または16×16サンプルのブロック)に空間的に再分割され、ブロックごとにコーディングされ得る。ブロックは、ブロックのそれぞれのピクチャに適用されたコーディング割り当てによって決定される他の(すでにコーディングされた)ブロックを参照して予測的にコーディングされ得る。例えば、Iピクチャのブロックは、非予測的にコーディングされ得るか、または、同じピクチャのすでにコーディングされたブロックを参照して予測的にコーディングされ得る(空間予測またはイントラ予測)。Pピクチャの画素ブロックは、1つの以前にコーディングされた参照ピクチャを参照して、空間予測を介して、または時間予測を介して、予測的にコーディングされてもよい。Bピクチャのブロックは、1つまたは2つの以前にコーディングされた参照ピクチャを参照して、空間予測を介して、または時間予測を介して、予測的にコーディングされ得る。
【0055】
ビデオエンコーダ(303)は、ITU-T勧告H.265などの所定のビデオコーディング技術または規格に従ってコーディング動作を実施し得る。その動作において、ビデオエンコーダ(303)は様々な圧縮動作を実行してもよく、これには入力ビデオシーケンスで時間的および空間的冗長性を利用する予測コーディング動作が含まれる。したがって、コーディングされたビデオデータは、使用されているビデオコーディング技術または規格によって指定された構文に準拠することができる。
【0056】
一実施形態では、送信機(340)は、エンコーディングされたビデオと共に追加のデータを送信し得る。ソースコーダ(330)は、そのようなデータをコーディングされたビデオシーケンスの一部として含み得る。追加のデータは、時間/空間/SNRエンハンスメントレイヤ、冗長ピクチャおよびスライスなどの他の形態の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを備えてもよい。
【0057】
ビデオは、複数のソースピクチャ(ビデオピクチャ)として時系列にキャプチャされ得る。イントラピクチャ予測(しばしば、イントラ予測と省略される)は、所与のピクチャ内の空間相関を使用し、インターピクチャ予測は、ピクチャ間の(時間または他の)相関を使用する。一例では、現在のピクチャと呼ばれる、符号化/復号中の特定のピクチャがブロックに分割される。現在のピクチャ内のブロックが、ビデオ内の以前にコーディングされ、まだバッファリングされている参照ピクチャ内の参照ブロックと同様である場合、現在のピクチャ内のブロックは、動きベクトルと呼ばれるベクトルによってコーディングされ得る。動きベクトルは、参照ピクチャ内の参照ブロックを指し示し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3の次元を有することができる。
【0058】
一部の実施形態では、インターピクチャ予測において双予測技術が使用されることができる。双予測技術によれば、第1の参照ピクチャおよび第2の参照ピクチャなどの2つの参照ピクチャが使用され、これらは両方ともビデオ内の現在のピクチャの復号順より前にある(しかし、表示順序は、それぞれ過去および未来のものであってもよい)。第1の参照ピクチャ内の第1の参照ブロックを指し示す第1の動きベクトルによって、および第2の参照ピクチャ内の第2の参照ブロックを指し示す第2の動きベクトルによって、現在のピクチャ内のブロックをコーディングすることができる。ブロックを、第1の参照ブロックと第2の参照ブロックとの組合せによって予測することができる。
【0059】
さらに、コーディング効率を向上させるために、インターピクチャ予測においてマージモード技術が使用されることができる。
【0060】
本開示の一部の実施形態によれば、インターピクチャ予測やイントラピクチャ予測などの予測は、多角形または三角形ブロックなどのブロック単位で行われる。例えば、HEVC規格によれば、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64画素、32×32画素、16×16画素などの同じサイズを有する。一般に、CTUは、3つのコーディングツリーブロック(CTB)を含み、それらは1つのルマCTBおよび2つのクロマCTBである。各CTUを、1つまたは複数のコーディングユニット(CU)に再帰的に四分木分割することができる。例えば、64×64ピクセルのCTUを、64×64ピクセルの1個のCUに、または32×32ピクセルの4個のCUに、または16×16ピクセルの16個のCUに、分割することができる。一例では、各CUが、インター予測タイプまたはイントラ予測タイプなど、CUの予測タイプを決定するために解析される。CUは、時間的予測可能性および/または空間的予測可能性に応じて、1つ以上の予測ユニット(PU)に分割される。概して、各PUは、1つのルマ予測ブロック(PB)、および2つのクロマPBを含む。一実施形態では、コーディング(符号化/復号)における予測動作は、予測ブロックの単位で実施される。予測ブロックの一例としてルマ予測ブロックを使用すると、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素などの画素についての値(例えば、ルマ値)の行列を含む。
【0061】
ビデオエンコーダ(103)および(303)、ならびにビデオデコーダ(110)、および(210)は、任意の適切な技術を使用して実装されることができることに留意されたい。一実施形態では、ビデオエンコーダ(103)および(303)、ならびにビデオデコーダ(110)および(210)は、1つ以上の集積回路を使用して実装され得る。他の実施形態では、ビデオエンコーダ(103)および(303)、ならびにビデオデコーダ(110)および(210)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実装され得る。
【0062】
本開示は、メッシュ圧縮における、頂点位置予測の方法およびシステムに関する実施形態を含む。
【0063】
メッシュは、ボリュームオブジェクトの表面を記述するいくつかの多角形を含むことができる。メッシュの各ポリゴンは、三次元(3D)空間内の対応するポリゴンの頂点、および接続性情報と呼ばれる場合がある、頂点が接続される方法についての情報によって定義することができる。一部の実施形態では、色、法線などの頂点属性をメッシュ頂点に関連付けることができる。属性(または頂点属性)はまた、メッシュを二次元(2D)属性マップでパラメータ化するマッピング情報を利用することによって、メッシュの表面に関連付けられ得る。このようなマッピングは、通常、メッシュ頂点に関連付けられた、UV座標またはテクスチャ座標と呼ばれるパラメトリック座標のセットによって記述することができる。テクスチャ、法線、変位などの高解像度属性情報を保存するために2D属性マップが使用され得る。このような情報は、テクスチャマッピングやシェーディングなどの様々な目的に使用することができる。
【0064】
動的メッシュは経時的に変化するかなりの量の情報を含む可能性があるため、動的メッシュは大量のデータを必要とする場合がある。したがって、そのようなコンテンツを保存し、かつ送信するために効率的な圧縮技術が必要となる。IC、MESHGRID、およびFAMCなどのメッシュ圧縮規格は、常時接続性、時変ジオメトリ、および頂点属性を有する動的メッシュに対処するために、以前にMPEGによって開発された。しかしながら、これらの規格は、時変属性マップおよび接続性情報を考慮していない場合がある。DCC(デジタルコンテンツ生成)ツールは、通常はこのような動的メッシュを生成する。しかしながら、ボリューム取得技術では、特にリアルタイム制約下で、常時接続性動的メッシュを生成することが困難な場合がある。この種のコンテンツ(例えば、常時接続性動的メッシュ)は、既存の規格ではサポートされない場合がある。MPEGでは、時変接続性情報および任意選択で時変属性マップを有する動的メッシュを直接扱うための、新たなメッシュ圧縮規格の開発を計画中である。新たなメッシュ圧縮規格は、リアルタイム通信、ストレージ、自由視点ビデオ、拡張現実(AR)、仮想現実(VR)などの様々なアプリケーションのための非可逆および可逆圧縮を対象とする。ランダムアクセスやスケーラブル/プログレッシブコーディングなどの機能も考慮することができる。
【0065】
メッシュジオメトリ情報は、頂点接続性情報、3D座標、および2Dテクスチャ座標などを含むことができる。頂点位置とも呼ばれる場合がある頂点3D座標の圧縮は非常に重要な場合があり、その理由は多くの場合に、頂点3D座標の圧縮は、ジオメトリ関連データ全体のかなりの部分を消費する可能性があるためである。
【0066】
本開示では、簡素かつ明確にするために、実施形態は三角形メッシュを一例として用いて説明される。しかしながら、他のポリゴンメッシュ(例えば、四角形または五角形メッシュ)もまた、本開示における実施形態に適用することができる。一例では、三角形メッシュは、一組の三角形を含むポリゴンメッシュの一種である。一組の三角形は、一組の三角形の共通する辺または角で結合することができる。共通する辺または角は、メッシュ頂点として表すことができる。
【0067】
頂点位置圧縮は、平行四辺形予測によって実施することができる。平行四辺形予測では、圧縮アルゴリズムによって、予測三角形に含まれている新しい頂点を導入することができる。予測三角形は、隣接する三角形と共有されている辺に基づいて形成することができる。一例では、隣接する三角形は、以前にコーディングされた可能性がある。新しい頂点は、現在の頂点の予測位置を示すことができる。新しい頂点は、隣接する三角形に含まれている3つの頂点を有する平行四辺形を形成することができる。例えば、図4Aに示すように、メッシュ(400A)は、三角形(412)などの複数の三角形を含むことができる。三角形はそれぞれ、3つの頂点を含むことができる。例えば、三角形(412)は、頂点(406)、(408)、および(410)を含むことができる。現在の頂点(402)をコーディングするために、平行四辺形予測によれば、予測三角形(414)に基づいて、現在の頂点(402)の予測頂点(または予測)(404)を生成することができる。予測頂点(404)は、予測三角形(414)に含まれてもよい。予測三角形(414)は、三角形(412)と辺(416)を共有してもよい。頂点(406)、(408)、(410)と予測頂点(404)とは、平行四辺形を形成することができる。さらに、現在の頂点(402)は、メッシュ(400A)の三角形(418)に含まれ、三角形(418)と三角形(412)とは辺(416)を共有していることに留意されたい。
【0068】
現在の頂点を予測するために、マルチ平行四辺形予測を適用することができる。マルチ平行四辺形予測は、例えば使用可能なときにはいつでも、2つ以上の平行四辺形予測によって与えられた平均位置を使用することができる。図4Bは、2つの平行四辺形予測の一例を提供する。図4Bに示すように、現在の頂点(420)は、メッシュ(400B)の第1の三角形(434)に含まれ得る。第1の三角形(434)は、頂点((420)、(438)、および(442)を含むことができる。第1の三角形(434)は、メッシュ(400B)の隣接する三角形(428)と辺(444)を共有することができる。現在の頂点(420)は、頂点(420)、(438)、および(440)を含む第2の三角形(436)にも含まれ得る。第2の三角形(436)は、メッシュ(400B)の隣接する三角形(426)と辺(446)を共有することができる。共有する辺(444)に基づいて、第1の予測頂点(または第1の予測)(424)を決定することができる。第1の予測頂点(424)は、隣接する三角形(428)と共に第1の平行四辺形を形成することができる。共有する辺(446)に基づいて、第2の予測頂点(または第2の予測)(422)を決定することができる。第2の予測頂点(422)は、隣接する三角形(426)と共に第2の平行四辺形を形成することができる。したがって、現在の頂点(420)は、第1の予測頂点(424)と第2の予測頂点(422)との平均によってさらに予測することができる。
【0069】
本開示では、メッシュ圧縮のための頂点位置予測の方法および/またはシステムが提供される。一実施形態では、平行四辺形予測に基づいて、複数の候補位置値(あるいは候補予測または候補予測頂点)から、現在の頂点の予測位置値(あるいは予測または予測頂点)を選択することができる。選択した予測頂点は、インデックスによってコーディング(または識別)されてもよい。選択した予測頂点と現在の頂点との予測残差が、さらにコーディングされてもよい。
【0070】
本開示では、メッシュ圧縮における頂点位置予測のために、いくつかの方法および/またはシステムが提案され得る。該方法および/またはシステムは、個別に、または任意の形態の組合せによって適用されてもよいことに留意されたい。該方法は、動的メッシュだけでなく、静的メッシュにも適用できることにも留意されたい。静的メッシュはフレームを1つのみ含んでもよく、あるいは静的メッシュのメッシュコンテンツは、経時的に変化しない場合がある。さらに、開示される方法および/またはシステムは、頂点位置予測に限定されない。開示されている方法および/またはシステムは、例えば、2Dテクスチャ座標予測、またはより一般的なマルチ予測に基づいたスキームに適用することもできる。
【0071】
三角形メッシュ(またはメッシュ)内の三角形は、配列することができる。メッシュ内の三角形の配列は、エッジブレーカーアルゴリズムまたは他の分割アルゴリズムによってトラバースされたものであってもよい。さらに、一例では、三角形の配列に基づいて、メッシュ内の頂点が配列されてもよい。一例では、三角形および頂点の配列またはトラバーサル配列は、同じスキームまたは異なるスキームに基づいて決定することができる。
【0072】
図5Aおよび図5Bは、エッジブレーカーアルゴリズムに基づく、メッシュ内の三角形および頂点の例示的な配列を示す。図5Aは、エッジブレーカーアルゴリズムの5つの例示的なパッチ構成を示す。図5Aに示すように、Vはパッチ中心頂点であり、Tは現在の三角形である。各パッチ内のアクティブゲート(または現在の三角形)は、Tで示すことができる。パッチCでは、Vの周囲を回る(または回転する)、全部そろった三角形を提供することができる。パッチLでは、アクティブゲートTの左側に、1つ以上の三角形がない部分が配置され得る。パッチRでは、アクティブゲートTの右側に、1つ以上の三角形がない部分が配置され得る。パッチEでは、VはTのみに隣接している。パッチSでは、アクティブゲートTの左側または右側以外の位置に、1つ以上の三角形がない部分が配置され得る。図5Bは、メッシュ(500)の例示的なトラバーサルを示し、メッシュ(500)の三角形は、エッジブレーカーアルゴリズムのトラバーサルに基づいて配列され得る。図5Bに示すように、メッシュ(500)内の三角形は、らせん状の三角形スパニングツリーに沿ってトラバースされてもよい。例えば、トラバーサルは、タイプC(またはパッチC)の三角形(502)から開始することができる。トラバーサルは、次に、三角形(例えば(502))の右辺に隣接する枝に沿って進む。トラバーサルは、タイプE(例えば(504))の三角形に到達したときに停止することができる。エッジブレーカーアルゴリズムによれば、メッシュ(500)の三角形は、CRSRLECRRRLEの順序でトラバース(または配列)されてもよく、これは図5Bで見ることができる。メッシュ(500)の各三角形内の頂点もまた、三角形の配列に基づいて配列されてもよい。
【0073】
三角形メッシュでは、フェースとも呼ばれる場合がある各三角形が、3つの頂点を有する。一辺を共有する2つの三角形に対して、平行四辺形予測を適用して、2つの三角形における2つの対向する頂点のうちの1つを、もう1つの三角形の予測子として使用することができる。図6に示すように、2つの三角形ABCおよびDBCは、辺BCを共有することができる。頂点A、B、およびCの座標は、すでにコーディングされていて、Dの座標の予測に適用することができる。例えば、平行四辺形予測に基づいて、予測頂点(または予測)D’を決定することができる。予測頂点D’の座標は、以下の式(1)で決定することができる。
D’=B+C-A 式(1)
このように、図6に示すように、4つの頂点(D’、B、A、C)が平行四辺形を形成することができる。各頂点が3D座標を有するので、式(1)は予測頂点D’の各座標成分の計算に使用することができる。例えば、下付き文字x、y、zがxyz空間における3D座標を示すと仮定すると、xyz空間における予測頂点D’の座標成分は、式(2)~(4)で与えられ得る。
’=B+C-A 式(2)
’=B+C-A 式(3)
’=B+C-A 式(4)
【0074】
頂点A、B、およびCの位置値がコーディングされていて予測に使用できる場合は、三角形ABCは、頂点Dの予測候補(または予測三角形)とすることができる。頂点はゼロ、1、2、またはそれ以上の予測候補を有することができ、これは既存のコーディングされた頂点および共有する辺の数に依存する。現在の頂点に対して2つ以上の予測候補がある場合は、メッシュの三角形配列に基づいて予測候補を配列することができる。例えば、三角形は、エッジブレーカーアルゴリズムなどに基づいて配列されてもよい。
【0075】
本開示では、現在の頂点の1つ以上の予測(または平行四辺形予測)を決定することができる。さらに、1つ以上の平行四辺形予測の平均を決定することができる。さらに、平行四辺形予測はそれぞれ、現在の頂点の頂点位置の真の値と比較することができる。加えて、1つ以上の平行四辺形予測の平均を真の位置値と比較することができる。現在の頂点の予測は、1つ以上の平行四辺形予測、および1つ以上の平行四辺形予測の平均から決定することができる。一例では、現在の頂点の予測は、比較間の最小予測誤差に基づいて決定することができる。最も小さい予測誤差をもたらす予測のインデックスが記憶されてもよい。予測のインデックスは、予測インデックスと呼ばれてもよい。予測インデックスは、平行四辺形予測、または平行四辺形予測の平均のうちの1つを示すことができる。予測インデックス、および予測残差とも呼ばれる場合がある、関連する予測誤差の両方が、さらにコーディングされてもよい。予測子誤差または予測残差は、現在の頂点と予測頂点との差分を示すことができる。
【0076】
本開示では、三角形メッシュ内のすべての三角形をコーディングすることができる。例えば、三角形は、エッジブレーカーアルゴリズムに基づいて配列されてもよい。加えて、三角形メッシュにおける頂点のすべてまたはサブセットも配列することができる。一例では、頂点は、三角形の配列に基づいて配列されてもよい。
【0077】
三角形メッシュ内に頂点Vがあり、かつ頂点VはN個の予測候補(または予測三角形)を含むものとする。N個の予測候補は、N個の予測値V’、V’、…、V’を生成することができる。例えば、図4Bに示すように、現在の頂点(420)は、2つの予測三角形(430)および(432)を有することができる。予測三角形(430)および(432)のそれぞれは、(422)および(424)などの各予測値(または予測頂点)をそれぞれ生成することができる。現在の頂点の予測値は、メッシュ内の対応する予測三角形の配列に基づいて配列されてもよい。予測値内で重複が決定された場合は、そのような重複は予測値のリストから除去することができる。
【0078】
一例では、N=0であれば、頂点Vに使用できる予測候補はない。Vが、メッシュ内でコーディングされる第1の頂点であれば、第1の頂点の予測値V’は0に設定でき、予測残差RはVに設定することができる。したがって、V’=0、R=Vになる。Vが、コーディングされる第1の頂点でない場合は、Vの予測値V’は、頂点配列において、以前にコーディングされた頂点のコーディング値に設定することができる。したがって、以前にコーディングされた頂点が、頂点Vの予測子になる。予測残差Rは、頂点Vと予測値(または予測頂点)V’との差分R=V-V’として決定することができる。
【0079】
一例では、N=1であれば、頂点Vに使用できる予測候補は1つのみである。したがって、予測値V’は、1つのみの予測候補に基づいて決定でき、予測残差Rは、VとV’との間の差分R=V-V’として決定することができる。
【0080】
一例では、N>=2であれば、頂点Vに2つ以上の予測候補を使用することができる。したがって、2つ以上の予測候補に基づいて、複数の予測値(または予測頂点)を決定することができる。一実施形態では、予測値の平均は、付加的な予測子V’とみなすことができる。V’は、以下の式(5)で決定することができる。
’=(V’+V’+…+V’)/N 式(5)
【0081】
平均予測値V’が、予測値V’、V’、…、Vのうちの1つと等しければ、平均予測値V’または重複している予測値のいずれかを除去することができる。
【0082】
エンコーダ側でV’をVと比較することができ、ここで0<=i<=Nである。予測インデックスjを選択することができる。選択した予測インデックスjは、Vと予測値V’のそれぞれとの間の最小予測残差に対応するV’の中から選択した予測値を示す。一部の実施形態では、最小化誤差(または最小予測残差)は、Lノルム、Lノルム、Lノルム、または他の何らかのノルムで測定することができる。例えば、Lノルムは、以下の式(6)で決定することができる。
【数1】
ここでV、V、Vは、xyz空間におけるVの座標であり、V0x’、V0y’、およびV0z’は、xyz空間におけるV’の座標である。
【0083】
デコーダ側で、選択したインデックス(例えば、予測インデックス)をデコーディングでき、選択した予測子(または予測値)を予測子のリストから復元することができる。例えば、デコーダは、平行四辺形予測などの予測モードに基づいて、現在の頂点の1つ以上の予測値を決定することができる。加えて、1つ以上の予測値の平均を予測子とみなすことができる。平均予測値および1つ以上の予測値が、予測リストを形成するように配列されてもよい。一例では、デコーダ側で生成された予測リストは、エンコーダ側で生成された予測リストと同じになり得る。デコーディングされた予測インデックスに従い、予測リストから、予測インデックスに基づいて、選択した予測子を復元することができる。
【0084】
一実施形態では、上限Mを設定することができる。上限Mは、予測リストにおいて考慮できる(または適用できる)予測候補の数を示すことができる。ある場合には、N>Mであれば、メッシュ内の各頂点に対して、最初のM個の予測候補のみが考慮される。したがって、最初のM個の予測候補に関連する予測値V’、V’、…、V’が適用される。一実施形態では、最初のM個の予測値の平均は、式(7)で決定することができる。
’=(V’+V’+…+V’)/M 式(7)
Mは4などの整数とすることができる。したがって、M個まで(例えば4個まで)の予測候補を考慮することができる。平均予測V’は、候補リスト内の別の位置に入れられることに留意されたい。一例では、平均予測V’は、予測候補リストにおける最初の予測子とすることができる。一例では、平均予測V’は、予測候補リストにおける最後の予測子とすることができる。一例では、平均予測V’は、予測値V’、V’、…、V’内に配置することができる。
【0085】
一部の実施形態では、予測インデックスは、2つ以上の予測候補が存在する場合のみコーディングされる必要がある。例えば、現在の頂点に2つ以上の予測候補が使用できるときは、選択した予測候補を示すインデックスがエンコーダ側でコーディングされてもよい。デコーダ側では、デコーダは、エンコーダと同じ配列を有する2つ以上の予測候補を決定することができる。デコーダは、2つ以上の予測候補から、予測インデックスに基づいて、コーディングされた予測インデックスをデコーディングし、選択した予測候補を再構成することができる。
【0086】
一実施形態では、予測候補が決定されない場合、または予測候補が1つのみ決定された場合は、予測インデックスはコーディングされる必要がない場合がある。したがって、予測値は現在の頂点自体、または1つのみの予測候補とすることができる。一実施形態では、予測インデックスは、使用可能な予測子候補の数にかかわらず、常にコーディングすることができる。使用可能な予測子がないときは、シグナリングされたインデックスの値は、デコーダ側でのデコーディングプロセスに影響を及ぼさない場合がある。
【0087】
現在の頂点に2つ以上の予測候補が決定されたときは、予測インデックスは、固定長コーディングを使用してコーディングすることができる。例えば、現在の頂点に3つの予測候補が決定された場合は、4つの可能な予測インデックス0、1、2、および3(0は、候補1、2、および3の平均値を示す)が必要とされる場合がある。したがって、4つの予測インデックスをそれぞれ表すために、2桁の2進数を適用することができる。三角形メッシュの異なる頂点は、異なる固定長を使用し得ることに留意されたい。例えば、別の頂点が7つの予測候補を有している場合は、他の頂点は、予測インデックス表現に3桁の2進数を使用することができる。固定長コーディングからの出力は、算術コーディングなどのエントロピーコーディングによってさらに圧縮することができる。
【0088】
あるいは、予測インデックスは、可変長コーディングを使用してコーディングすることができる。例えば、現在の頂点に4つの予測候補が決定された場合は、5つの可能な予測インデックス0、1、2、3、および4が必要とされる場合がある。5つの予測インデックス0、1、2、3、および4をそれぞれ表すために、可変長コード0、100、101、110、および111を割り当てることができる。あるいは、5つの予測インデックス0、1、2、3、および4をそれぞれ表すために、可変長コード1、01、001、0001、および00001を適用することができる。三角形メッシュの異なる頂点は、異なる可変長を使用し得ることに留意されたい。可変長コーディングからの出力は、算術コーディングなどのエントロピーコーディングによってさらに圧縮することができる。
【0089】
あるいは、予測インデックスは差分コーディングされてもよく、現在の頂点の予測インデックスは、以前にコーディングされた予測インデックスから予測でき、予測インデックスに関連する予測誤差もコーディングすることができる。例えば、予測子の第1の予測インデックスと、予測子の第2の予測インデックスとの差分が最初にコーディングされてもよい。第1の予測インデックスと第2の予測インデックスとの差分に基づいて、第2の予測インデックスがさらにコーディングされてもよい。
【0090】
予測候補の最大数を制限するために上限Mが設定されたとき、および頂点Vに対してM個より多い予測候補が使用可能な場合は、頂点Vを予測するために、最初のM個の予測候補のみが使用されてもよい。したがって、(M+1)個の可能な予測インデックスをコーディングでき、ここでMは最初のM個の予測候補を示し、1は最初のM個の予測候補の平均を示す。予測値内で重複が決定された場合は、重複は除去することができる。したがって、予測インデックスの可能性を低減することができる。予測インデックスは、固定長コーディング、可変長コーディング、差分コーディングなどによってコーディングすることができる。
【0091】
一実施形態では、位置値(または予測値)の予測残差Rをコーディング(または決定)することができる。予測残差Rは、現在の頂点の予測値と、現在の頂点との差分を示すことができる。予測残差Rは、固定長コーディング、指数ゴロムコーディング、算術コーディングなどによってコーディングすることができる。したがって、デコーダは、予測値および予測残差に基づいて現在の頂点を再構成でき、予測値は、予測リストから、デコーディングされた予測インデックスに基づいて決定することができる。
【0092】
図7は、本開示の一実施形態によるプロセス(700)の概要を示すフローチャートを示す。プロセス(700)は、ビデオエンコーダなどのエンコーダで使用することができる。様々な実施形態において、プロセス(700)は、ビデオエンコーダ(103)の機能を実行する処理回路、ビデオエンコーダ(303)の機能を実行する処理回路などの処理回路によって実行される。一部の実施形態では、プロセス(700)はソフトウェア命令で実装されるので、処理回路がソフトウェア命令を実行したとき、処理回路はこのプロセス(700)を実行する。プロセスは(S701)で開始され、(S710)に進む。
【0093】
ステップ(S710)において、メッシュは複数の頂点を含む。複数の頂点における、現在の頂点の複数の候補予測が、メッシュ内の複数の三角形に基づいて決定される。複数の三角形のそれぞれが、各候補予測に対応する。
【0094】
ステップ(S720)において、現在の頂点の予測が、複数の候補予測から決定される。一例では、予測は、現在の頂点と、複数の候補予測のそれぞれとの閾値予測差分に対応する。
【0095】
ステップ(S730)において、決定した予測に基づいて、現在の頂点の予測情報がさらに生成される。
【0096】
一部の実施形態では、現在の頂点の複数の候補予測を決定するために、現在の頂点に対して、複数の三角形のうちの第1の三角形が決定される。第1の三角形は、複数の三角形のうちの第2の三角形と一辺を共有し、現在の頂点は、第2の三角形に含まれ、かつ共有する辺の反対側にある。複数の候補予測のうちの第1の予測は、平行四辺形予測によって決定された第1の三角形に基づいて決定され、ここでは第1の予測と第1の三角形とが、第1の平行四辺形を形成する。
【0097】
一部の実施形態では、現在の頂点の複数の候補予測を決定するために、複数の候補予測の平均予測が決定される。
【0098】
一部の実施形態では、現在の頂点の予測を決定するために、現在の頂点に対して予測リストが決定される。予測リストは予測子を含む。予測子は、平均予測、および予測リスト内で平均予測の後に続く複数の候補予測を含む。予測リストにおける複数の候補予測の配列は、複数の候補予測に対応する複数の三角形の配列に基づく。予測リスト内の予測子のそれぞれに対して、各予測インデックスが決定される。
【0099】
一例では、複数の三角形がエッジブレーカーアルゴリズムに基づいて配列され、複数の三角形は、らせん状の三角形スパニングツリーの配列でラベル付けされる。
【0100】
一例では、現在の頂点の予測を決定するために、予測リストにおける予測子のそれぞれと、現在の頂点との予測差分が決定される。予測差分の最小予測差分に対応する予測リスト内の予測子から、予測がさらに決定される。
【0101】
一例では、現在の頂点の予測を決定するために、最小予測差分を有する予測リストの、予測子のサブセット内で予測が決定される。
【0102】
一部の実施形態では、固定長コーディング、可変長コーディング、および差分コーディングのうちの1つに基づいて、予測リスト内の予測子のそれぞれに対して、各予測インデックスが決定される。
【0103】
一部の実施形態では、各予測インデックスは、差分コーディングに基づいて決定される。一例では、予測子の第1の予測インデックスと、予測子の第2の予測インデックスとの差分が決定されてもよい。第1の予測インデックスと第2の予測インデックスとの差分に基づいて、第2の予測インデックスがさらにコーディングされる。
【0104】
一部の実施形態では、現在の頂点の予測情報は、予測リスト内の決定した予測を示すインデックス情報、および現在の頂点と決定した予測との差分を示す残差情報を含む。
【0105】
その後、プロセスは(S799)に進み、終了する。
【0106】
プロセス(700)は適切に適合され得る。プロセス(700)のステップは、修正および/または省略され得る。追加のステップが追加され得る。任意の適切な実施順序を使用することが可能である。
【0107】
図8は、本開示の一実施形態によるプロセス(800)の概要を示すフローチャートを示す。プロセス(800)は、ビデオデコーダなどのデコーダで使用することができる。様々な実施形態において、プロセス(800)は、ビデオデコーダ(110)の機能を実行する処理回路、ビデオデコーダ(210)の機能を実行する処理回路などの処理回路によって実行される。一部の実施形態では、プロセス(800)はソフトウェア命令において実装されるので、処理回路がソフトウェア命令を実行するときに処理回路がプロセス(800)を実行する。プロセスは(S801)で開始され、(S810)に進む。
【0108】
ステップ(S810)において、複数の三角形および複数の頂点を含むメッシュのコーディング情報が受信される。コーディング情報は、複数の頂点における、現在の頂点のインデックス情報を含み、インデックス情報は、現在の頂点の予測を示す。
【0109】
(S820)において、複数の三角形に基づいて現在の頂点の複数の候補予測が決定され、複数の三角形はそれぞれ、各候補予測に対応する。
【0110】
ステップ(S830)において、インデックス情報に基づいて、複数の候補予測から現在の頂点の予測が決定される。決定した予測は、現在の頂点と、複数の候補予測のそれぞれとの閾値予測差分に対応する。
【0111】
ステップ(S840)において、決定した予測に基づいて現在の頂点が再構成される。
【0112】
その後、プロセスは(S899)に進んで終了する。
【0113】
プロセス(800)は適切に適合させ得る。プロセス(800)におけるステップは修正および/または省略され得る。追加のステップが追加され得る。任意の適切な実施順序を使用することが可能である。
【0114】
上記の技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実施され、非一時的コンピュータ可読記憶媒体などの1つ以上のコンピュータ可読媒体に物理的に記憶され得る。例えば、図9は、開示された主題の特定の実施形態を実装するのに適切なコンピュータシステム(900)を示す。
【0115】
コンピュータソフトウェアは、任意の適切なマシン語すなわちコンピュータ言語を用いてコード化することができ、このコンピュータ言語は、指示を備えるコードを生成するためのアセンブリ、コンパイル、リンクや同様のメカニズムによって処理される場合があり、この指示を1つ以上のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などの処理回路によって、直接実行したり、解釈、マイクロコードの実行などを通じて実行したりすることができる。
【0116】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネットデバイスなどを含む様々なタイプのコンピュータまたはコンピュータの構成要素上で実行されることができる。
【0117】
コンピュータシステム(900)について図9に示されたコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲または機能に関するいかなる制限も示唆するものではない。コンポーネントの構成は、コンピュータシステム(900)の例示的な実施形態に示されたコンポーネントのいずれか1つまたは組合せに関するいかなる依存関係または要件も有すると解釈されるべきでない。
【0118】
コンピュータシステム(900)は、特定のヒューマンインターフェース入力デバイスを含んでもよい。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動き)、オーディオ入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(不図示)を介して、1人以上の人間のユーザによる入力に応答してもよい。ヒューマンインターフェースデバイスは、オーディオ(例えば、音声、音楽、周囲音)、画像(例えば、走査画像、写真画像は静止画像カメラから取得する)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、必ずしも人間による意識的な入力に直接関連しない特定のメディアを取り込むために使用することもできる。
【0119】
入力ヒューマンインターフェースデバイスは、キーボード(901)、マウス(902)、トラックパッド(903)、タッチ画面(910)、データグローブ(不図示)、ジョイスティック(905)、マイクロフォン(906)、スキャナ(907)、カメラ(908)の1つ以上(示されているものから1つずつだけ)を含んでもよい。
【0120】
コンピュータシステム(900)はまた、特定のヒューマンインターフェース出力デバイスを含んでもよい。このようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を通じて1人以上の人間のユーザの感覚を刺激するものであってもよい。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチ画面(910)、データグローブ(不図示)、またはジョイスティック(905)による触覚フィードバック、ただし、入力デバイスを担わない触覚フィードバックデバイスも存在し得る)、音声出力デバイス(例えば、スピーカ(909)、ヘッドホン(不図示))、視覚出力デバイス(例えば、CRT画面、LCD画面、プラズマ画面、OLED画面を含む画面(910)等であり、それぞれタッチ画面入力機能を有するもの、または有していないもの、それぞれ触覚フィードバック機能を有するもの、または有していないものがある。これらうちのいくつかが、そのうちのいくつかは、立体画像出力、バーチャルリアリティグラス(不図示)、ホログラフィックディスプレイ、発煙タンク(不図示)のような手段を介して2次元の視覚出力、または三次元以上の出力を出力することが可能であってもよい)、およびプリンタ(不図示)を含んでもよい。
【0121】
コンピュータシステム(900)はまた、人間がアクセス可能な記憶デバイスと、CD/DVDなどの媒体(921)を有するCD/DVD ROM/RW(920)、サムドライブ(922)、リムーバブルハードドライブまたはソリッドステートドライブ(923)、テープやフロッピーディスク(図示されていない)などのレガシー磁気媒体、セキュリティドングル(図示されていない)などの専用ROM/ASIC/PLDベースのデバイスなどを含む光媒体などの記憶デバイスと関連付けられた媒体も含むことができる。
【0122】
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読メディア」という用語が、伝送メディア、搬送波、または他の一時的信号を包含しないことを理解すべきである。
【0123】
コンピュータシステム(900)は、1つ以上の通信ネットワーク(955)に対するインターフェース(954)も含み得る。ネットワークは例えば、無線ネットワーク、有線ネットワーク、光学ネットワークであり得る。ネットワークはさらに、ローカル、ワイドエリア、メトロポリタン、車両および産業用、リアルタイム、遅延耐性、などとすることができる。ネットワークの例には、Ethernet等のローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTE等を含む移動体ネットワーク、ケーブルテレビ、衛星テレビ、および地上波テレビを含むテレビの有線または無線広域デジタルネットワーク、CANBusを含む車両用および産業用等が含まれる。特定のネットワークは、(例えば、コンピュータシステム(900)のUSBポート等の)特定の汎用データポートまたは周辺バス(949)に取り付けられる外部ネットワークインターフェースアダプタが必要である。他のものは、一般的には、以下で説明されているようにシステムバスに取り付けられることによってコンピュータシステム(900)のコアに統合される(例えば、EthernetインターフェースがPCコンピュータシステムに統合され、または、移動体ネットワークインターフェースがスマートフォンコンピュータシステムに統合される)。これらのネットワークのいずれを使用しても、コンピュータシステム(900)は他のエンティティと通信し得る。このような通信は、例えば、ローカルもしくは広域デジタルネットワークを使用して、他のコンピュータシステムに対して、一方向、受信専用(例えば、テレビ放送)、一方向送信専用(例えば、CANbusデバイスから特定のCANbusデバイス)、または双方向であり得る。特定のプロトコルおよびプロトコルスタックは、上述したように、それらのネットワークおよびネットワークインターフェースの各々で使用され得る。
【0124】
前述のヒューマンインターフェースデバイス、人間による取扱いが可能な記憶デバイス、およびネットワークインターフェースが、コンピュータシステム(900)のコア(940)に取り付けられ得る。
【0125】
コア(940)は、1つ以上の中央処理装置(CPU)(941)、グラフィック処理装置(GPU)(942)、フィールドプログラマブルゲートエリア(FPGA)(943)の形態の専用のプログラム可能な処理ユニット、特定のタスクに用いるハードウェアアクセラレータ(944)、グラフィックアダプタ(950)等を含み得る。これらのデバイスは、読出し専用メモリ(ROM)(945)、ランダムアクセスメモリ(946)、内部のユーザによる取扱いが不能なハードドライブ、SSD等の内部大容量ストレージ(947)と共に、システムバス(948)を通じて接続されてもよい。いくつかのコンピュータシステムでは、システムバス(948)は、追加のCPU、GPU等による拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能であり得る。周辺デバイスは、コアのシステムバス(948)に直接取り付け、または周辺バス(949)を通じて取り付け得る。一例では、画面(910)は、グラフィックアダプタ(950)に接続され得る。周辺バス用のアーキテクチャには、PCI、USBなどが含まれる。
【0126】
CPU(941)、GPU(942)、FPGA(943)、およびアクセラレータ(944)は、組み合わせて前述のコンピュータコードを構成し得る特定の命令を実行し得る。そのコンピュータコードは、ROM(945)またはRAM(946)に記憶され得る。一時データもまた、RAM(946)に記憶されえ、一方、永久データは、例えば内部大容量ストレージ(947)に記憶され得る。メモリデバイスのいずれかに対する高速の記憶および検索は、1つ以上のCPU(941)、GPU(942)、大容量ストレージ(947)、ROM(945)、RAM(946)等と密接に関連付けられ得るキャッシュメモリを使用して可能にし得る。
【0127】
コンピュータ可読媒体は、様々なコンピュータ実装動作を行うためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものとすることができ、またはコンピュータソフトウェア技術の当業者に周知の利用可能な種類のものとすることができる。
【0128】
限定ではなく例として、アーキテクチャ有するコンピュータシステム(900)、および特にコア(940)は、(CPU、GPU、FPGA、アクセラレータ等を含む)プロセッサが、1つ以上の有形のコンピュータ可読媒体において実施されたソフトウェアを実行した結果として機能を提供し得る。そのようなコンピュータ可読媒体は、前述のようなユーザアクセス可能な大容量ストレージ、ならびにコア内部大容量ストレージ(947)またはROM(945)等の非一時的な性質のものであるコア(940)の特定のストレージと関連付けられた媒体であり得る。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(940)によって実行され得る。コンピュータ可読媒体は、特定のニーズに従って、1つ以上のメモリデバイスまたはチップを含み得る。ソフトウェアは、コア(940)、および具体的にはその中の(CPU、GPU、FPGA等を含む)プロセッサに、RAM(946)に記憶されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書で説明された特定のプロセス、または特定のプロセスの特定の部分を実行させ得る。追加または代替として、コンピュータシステムは、本明細書で説明する特定のプロセスまたは特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに、またはソフトウェアと一緒に動作し得る回路(例えば、アクセラレータ(944))における、配線された、または別の方法で具現化されたロジックの結果として、機能を提供し得る。適切な箇所では、ソフトウェアへの言及はロジックを包含し得、その逆も同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
【0129】
本開示はいくつかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書に明示的に示されていないかまたは記載されていないが、本開示の原理を具現化し、したがって本開示の趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【符号の説明】
【0130】
100 ビデオ処理システム、通信システム、101 ビデオソース、102 ビデオピクチャのストリーム、103 ビデオエンコーダ、104 ビデオデータ、105 ストリーミングサーバ、106 クライアントサブシステム、107 入力コピー、ビデオデータ、108 クライアントサブシステム、109 コピー、ビデオデータ、110 ビデオデコーダ、111 出力ストリーム、112 ディスプレイ、113 キャプチャサブシステム、120 電子デバイス、130 電子デバイス、201 チャネル、210 ビデオデコーダ、212 レンダリングデバイス、215 バッファメモリ、220 エントロピーデコーダ/パーサ、221 シンボル、230 電子デバイス、231 受信機、251 スケーラ/逆変換ユニット、252 イントラピクチャ予測ユニット、253 動き補償予測ユニット、255 アグリゲータ、256 ループフィルタユニット、257 参照ピクチャメモリ、258 現在のピクチャバッファ、301 ビデオソース、303 ビデオエンコーダ、320 電子デバイス、330 ソースコーダ、332 コーディングエンジン、333 ローカルビデオデコーダ、334 参照ピクチャメモリ、335 予測子、340 送信機、343 ビデオシーケンス、345 エントロピーコーダ、350 コントローラ、360 通信チャネル、400A メッシュ、400B メッシュ、402 現在の頂点、404 予測頂点、406 頂点、408 頂点、410 頂点、412 三角形、414 予測三角形、416 辺、418 三角形、420 現在の頂点、422 第2の予測頂点、424 第1の予測頂点、426 隣接する三角形、428 隣接する三角形、430 予測三角形、432 予測三角形、434 第1の三角形、436 第2の三角形、438 頂点、440 頂点、442 頂点、444 辺、446 辺、500 メッシュ、502 三角形、504 三角形、700 プロセス、800 プロセス、900 コンピュータシステム、901 キーボード、902 マウス、903 トラックパッド、905 ジョイスティック、906 マイクロフォン、907 スキャナ、908 カメラ、909 スピーカ、910 タッチ画面、920 CD/DVD ROM/RW、921 媒体、922 サムドライブ、923 ソリッドステートドライブ、940 コア、941 中央処理装置(CPU)、942 グラフィック処理装置(GPU)、943 フィールドプログラマブルゲートエリア(FPGA)、944 ハードウェアアクセラレータ、945 読出し専用メモリ(ROM)、946 ランダムアクセスメモリ(RAM)、947 内部大容量ストレージ、948 システムバス、949 周辺バス、950 グラフィックアダプタ、954 インターフェース、955 通信ネットワーク
図1
図2
図3
図4A
図4B
図5A
図5B
図6
図7
図8
図9
【手続補正書】
【提出日】2024-03-12
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオエンコーダで行われるメッシュ処理の方法であって、前記方法は、
現在の頂点の複数の候補予測を決定するステップであって、前記現在の頂点は、メッシュの複数の頂点内にあり、前記複数の候補予測は、前記メッシュ内の複数の三角形に基づいて決定され、前記複数の三角形のそれぞれが、各候補予測に対応する、ステップと、
前記現在の頂点と、前記複数の候補予測のそれぞれとの閾値予測差分に対応する、前記複数の候補予測から、前記現在の頂点の予測を決定するステップと、
前記決定した予測に基づいて、前記現在の頂点の予測情報を生成するステップとを含む、方法。
【請求項2】
前記現在の頂点の前記複数の候補予測を決定する前記ステップが、
前記現在の頂点の、前記複数の三角形の第1の三角形を決定するステップであって、前記第1の三角形は、前記複数の三角形の第2の三角形と一辺を共有し、前記現在の頂点は、前記第2の三角形内に含まれかつ前記共有している辺の反対側にある、ステップと、
前記複数の候補予測の第1の予測を決定するステップであって、前記第1の予測と前記第1の三角形とが第1の平行四辺形を形成する平行四辺形予測によって、前記決定した第1の三角形に基づく、ステップとをさらに含む、請求項1に記載の方法。
【請求項3】
前記現在の頂点の前記複数の候補予測を決定する前記ステップが、
前記複数の候補予測の平均予測を決定するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記現在の頂点の前記予測を決定する前記ステップが、
前記現在の頂点の予測リストを決定するステップであって、前記予測リストの予測子は、前記平均予測、および前記予測リスト内で前記平均予測の後に続く前記複数の候補予測を含み、前記予測リストにおける前記複数の候補予測の配列は、前記複数の候補予測に対応する前記複数の三角形の配列に基づいている、ステップと、
前記予測リスト内の前記予測子のそれぞれに対して、各予測インデックスを決定するステップとをさらに含む、請求項3に記載の方法。
【請求項5】
前記複数の三角形が、エッジブレーカーアルゴリズムに基づいて配列され、前記複数の三角形は、らせん状の三角形スパニングツリーの配列でラベル付けされる、請求項4に記載の方法。
【請求項6】
前記現在の頂点の前記予測を決定する前記ステップが、
前記予測リスト内の前記予測子のそれぞれと、前記現在の頂点との予測差分を決定するステップと、
前記予測差分の最小予測差分に対応する前記予測リスト内の前記予測子から、前記予測を決定するステップとをさらに含む、請求項4に記載の方法。
【請求項7】
前記現在の頂点の前記予測を決定する前記ステップが、
前記最小予測差分を有する前記予測リストの、前記予測子のサブセット内で前記予測を決定するステップをさらに含む、請求項6に記載の方法。
【請求項8】
前記各予測インデックスを決定する前記ステップが、
固定長コーディング、可変長コーディング、および差分コーディングのうちの1つに基づいて、前記予測リスト内の前記予測子のそれぞれに対して、前記各予測インデックスを決定するステップをさらに含む、請求項4に記載の方法。
【請求項9】
前記各予測インデックスを決定する前記ステップが前記差分コーディングに基づき、
前記差分コーディングに基づいて前記各予測インデックスを決定する前記ステップが、
前記予測子の第1の予測インデックスと、前記予測子の第2の予測インデックスとの差分を決定するステップと、
前記第1の予測インデックスと前記第2の予測インデックスとの前記差分に基づいて、前記第2の予測インデックスをコーディングするステップとをさらに含む、請求項8に記載の方法。
【請求項10】
前記現在の頂点の前記予測情報が、
前記予測リスト内の前記決定した予測を示すインデックス情報、および
前記現在の頂点と前記決定した予測との差分を示す残差情報をさらに含む、請求項4に記載の方法。
【請求項11】
請求項1から10のいずれか一項に記載の方法を実行する、メッシュ処理用の装置
【請求項12】
少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、請求項1から10のいずれか一項に記載の方法を実行させる命令を備える、コンピュータプログラム。
【国際調査報告】