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

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

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

特表2024-533458時間的予測に基づく頂点位置圧縮のための方法、装置およびプログラム
<>
  • 特表-時間的予測に基づく頂点位置圧縮のための方法、装置およびプログラム 図1
  • 特表-時間的予測に基づく頂点位置圧縮のための方法、装置およびプログラム 図2
  • 特表-時間的予測に基づく頂点位置圧縮のための方法、装置およびプログラム 図3
  • 特表-時間的予測に基づく頂点位置圧縮のための方法、装置およびプログラム 図4
  • 特表-時間的予測に基づく頂点位置圧縮のための方法、装置およびプログラム 図5
  • 特表-時間的予測に基づく頂点位置圧縮のための方法、装置およびプログラム 図6A
  • 特表-時間的予測に基づく頂点位置圧縮のための方法、装置およびプログラム 図6B
  • 特表-時間的予測に基づく頂点位置圧縮のための方法、装置およびプログラム 図7
  • 特表-時間的予測に基づく頂点位置圧縮のための方法、装置およびプログラム 図8
  • 特表-時間的予測に基づく頂点位置圧縮のための方法、装置およびプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-12
(54)【発明の名称】時間的予測に基づく頂点位置圧縮のための方法、装置およびプログラム
(51)【国際特許分類】
   H04N 19/597 20140101AFI20240905BHJP
   H04N 19/70 20140101ALI20240905BHJP
   G06T 9/40 20060101ALI20240905BHJP
【FI】
H04N19/597
H04N19/70
G06T9/40
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024515865
(86)(22)【出願日】2023-04-04
(85)【翻訳文提出日】2024-03-12
(86)【国際出願番号】 US2023017383
(87)【国際公開番号】W WO2023229727
(87)【国際公開日】2023-11-30
(31)【優先権主張番号】63/345,824
(32)【優先日】2022-05-25
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/127,487
(32)【優先日】2023-03-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【弁理士】
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】ティエン,ジュン
(72)【発明者】
【氏名】ホアン,チャオ
(72)【発明者】
【氏名】ジャン,シャン
(72)【発明者】
【氏名】シュー,シャオジョン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC01
5C159MA04
5C159MA05
5C159PP03
5C159PP13
5C159RC11
5C159UA02
5C159UA05
(57)【要約】
メッシュの現在フレームにおける現在頂点の複数の隣接頂点が決定される。現在フレームは、第1の時点におけるメッシュに対応する。複数の隣接頂点のそれぞれは、メッシュ内のそれぞれのエッジを通じて現在頂点に接続される。複数の隣接頂点の複数の隣接推定誤差が決定される。複数の隣接推定誤差のそれぞれは、参照フレームにおける複数の隣接頂点の対応するものの参照頂点と、現在フレームにおける複数の隣接頂点の該対応するものとの間の差を示す。参照フレームは、第2の時点におけるメッシュに対応する。複数の隣接頂点の複数の隣接推定誤差に基づいて、現在頂点の予測残差が決定される。決定された予測残差に基づいて、現在頂点の予測情報が生成される。
【特許請求の範囲】
【請求項1】
ビデオ・エンコーダによって実行されるメッシュ処理の方法であって、
二次元モデルおよび三次元モデルのいずれかでのメッシュの現在フレームにおいて、現在頂点の複数の隣接頂点を決定する段階であって、前記複数の隣接頂点および現在頂点は、現在フレームに含まれ、現在フレームは第1の時点における前記メッシュに対応し、前記複数の隣接頂点のそれぞれは、前記メッシュにおいてそれぞれのエッジを通じて現在頂点に接続されている、段階と;
現在頂点の前記複数の隣接頂点の複数の隣接推定誤差を決定する段階であって、前記複数の隣接推定誤差のそれぞれは、前記メッシュの参照フレームにおける前記複数の隣接頂点の対応する1つの隣接頂点の参照頂点と、現在フレームにおける前記複数の隣接頂点の前記対応する1つの隣接頂点との間の差を示し、前記参照フレームは、第2の時点における前記メッシュに対応する、段階と;
前記複数の隣接頂点の前記複数の隣接推定誤差に基づいて、現在頂点の予測残差を決定する段階と;
現在頂点の決定された予測残差に基づいて、現在頂点の予測情報を生成する段階とを含む、
方法。
【請求項2】
前記複数の隣接頂点の前記対応する1つの隣接頂点の前記参照頂点が、前記参照フレームにおいて、現在フレームにおける現在頂点と同じ相対位置に位置し、前記参照フレームと現在フレームとは異なる時点で生成される、請求項1に記載の方法。
【請求項3】
前記複数の隣接推定誤差の平均隣接推定誤差を決定する段階をさらに含み、
前記予測残差を決定することが、前記平均隣接推定誤差に基づいて、現在頂点の前記予測残差を決定することを含む、
請求項2に記載の方法。
【請求項4】
現在頂点の前記予測残差を決定することが:
現在頂点の参照頂点と現在頂点との差に基づいて、現在頂点の推定誤差を決定し;
現在頂点の予測リストを決定することをさらに含み、前記予測リストの予測子は、現在頂点の前記推定誤差と、現在頂点の前記推定誤差に続く前記平均隣接推定誤差と、前記平均隣接推定誤差に続く前記複数の隣接推定誤差とを含み、前記予測リストにおける各予測子にそれぞれの予測インデックスが関連付けられる、
請求項3に記載の方法。
【請求項5】
前記複数の隣接頂点は、前記複数の隣接頂点が渦巻き状の三角スパニングツリー順序でたどられるエッジブレーカー・アルゴリズムに基づいて順序付けされる、請求項4に記載の方法。
【請求項6】
現在頂点の前記予測残差を決定することが:
(i)前記平均隣接推定誤差と現在頂点の前記推定誤差との差、および、(ii)前記複数の隣接推定誤差のそれぞれと現在頂点の前記推定誤差との差を決定する段階と;
前記平均隣接推定誤差と前記複数の隣接推定誤差から隣接推定誤差を選択する段階であって、選択された隣接推定誤差は、最小の差を有する、段階と;
現在頂点の前記予測残差を、(i)現在頂点の前記推定誤差と(ii)前記選択された隣接推定誤差とのいずれかとして決定する段階とをさらに含む、
請求項4に記載の方法。
【請求項7】
現在頂点の前記予測残差を決定することが:
フレーム間予測に従って、現在頂点の前記複数の隣接頂点の1つに基づいて予測誤差を決定する段階と;
前記予測誤差を、前記予測リストにおける各予測子と比較する段階と;
前記予測誤差が前記予測リストにおける前記予測子より小さいことに応答して、前記予測誤差として前記予測残差を決定する段階とをさらに含む、
請求項6に記載の方法。
【請求項8】
現在頂点の前記予測残差を決定することが:
前記予測残差を、混合推定誤差として決定することを含み、前記混合推定誤差は、(i)前記選択された隣接推定誤差と前記予測誤差との平均、および(ii)現在頂点の前記推定誤差と前記予測誤差との平均のいずれかを含む、
請求項7に記載の方法。
【請求項9】
前記フレーム間予測は:
第1の予測頂点と現在頂点との差に基づくデルタ予測であって、前記第1の予測頂点は、現在頂点の前記複数の隣接頂点のうちの前記1つの隣接頂点を含む、デルタ予測;および
前記メッシュの複数の三角形のうちの予測三角形に基づいて第2の予測頂点が決定される平行四辺形予測であって、前記予測三角形は、現在頂点を含む前記複数の三角形のうちの三角形とエッジを共有し、前記第2の予測頂点は、共有されるエッジの反対側にあり、前記第2の予測頂点と前記予測三角形は平行四辺形をなす、
請求項7に記載の方法。
【請求項10】
現在頂点の前記予測情報はフラグをさらに含み、
前記フラグは、前記予測残差が、(i)前記フラグの第1の値に基づく、現在頂点の前記推定誤差または前記選択された隣接推定誤差、(ii)前記フラグの第2の値に基づく前記予測誤差、および(iii)前記フラグの第3の値に基づく前記混合推定誤差のうちの1つであることを示す、
請求項8に記載の方法。
【請求項11】
現在頂点の前記予測情報は、前記フラグが前記第1の値であることに基づいて、前記予測リストにおけるどの予測子が前記予測残差であるかを示すインデックス情報と;
予測残差情報とをさらに含み、前記予測残差情報は:
(i)前記フラグが前記第1の値であることに基づいて、
前記インデックス情報が前記予測残差が現在頂点の前記推定誤差であることを示すことに応答して、現在頂点の前記推定誤差を、
前記インデックス情報が前記予測残差が前記選択された隣接推定誤差であることを示すことに応答して、前記選択された隣接推定誤差を示し;
(ii)前記フラグが前記第2の値であることに基づいて、現在頂点と前記予測誤差によって示される予測頂点との差を示し:
(iii)前記フラグが前記第3の値であることに基づいて、現在頂点と前記混合推定誤差によって示される予測頂点との差を示す、
請求項10に記載の方法。
【請求項12】
メッシュ処理のための装置であって、当該装置は処理回路を有し、該処理回路は請求項1ないし11のうちいずれか一項に記載の方法を実行するように構成されている、装置。
【請求項13】
コンピュータに請求項1ないし11のうちいずれか一項に記載の方法を実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
参照による組み込み
本願は、2023年3月28日に出願された米国特許出願第18/127,487号「時間的予測に基づく頂点位置圧縮」に対する優先権の利益を主張し、同出願は、2022年5月25日に出願された米国仮出願第63/345,824号「時間的予測に基づく頂点位置圧縮」に対する優先権の利益を主張する。先行出願の開示は、ここに参照によりその全体において援用される。
【0002】
技術分野
本開示は、メッシュ処理に関連する実施形態を含む。
【背景技術】
【0003】
ここで提供される背景説明は、本開示の文脈を概括的に示すことを目的とする。本願で表示されている発明者の業績は、その業績がこの背景セクションに記載されている範囲において、出願時の先行技術として適格でない可能性のある本明細書の諸側面と同様に、本開示に対する先行技術として明示的にも黙示的にも認められない。
【0004】
3次元(3D)捕捉、モデリング、レンダリングの進歩により、さまざまなプラットフォームやデバイスを通じて3Dコンテンツはどこにでもあるものになっている。今日では、ある大陸で赤ん坊の最初の一歩を捕捉し、別の大陸で赤ん坊の祖父母がその子を見て(場合によっては相互作用して)、完全に没入型の体験を楽しむことができる。このようなリアルさを達成するために、モデルはますます洗練されてきており、かなりの量のデータがそれらのモデルの作成および消費にリンクされている。3Dメッシュは、そのような没入型コンテンツを表現するために広く使用されている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の諸側面は、メッシュ処理のための方法および装置を提供する。いくつかの例では、メッシュ処理のための装置は、処理回路を含む。
【課題を解決するための手段】
【0006】
本開示のある側面によれば、ビデオ・エンコーダにおいて実行されるメッシュ処理の方法が提供される。本方法では、2次元モデルおよび3次元モデルのうちの1つにおけるメッシュの現在フレームにおいて、現在頂点の複数の隣接頂点が決定される。現在頂点および複数の隣接頂点は、現在フレームに含まれ、第1の時点におけるメッシュに対応する。複数の隣接頂点のそれぞれは、メッシュ内のそれぞれのエッジを通じて現在頂点に接続される。現在頂点の複数の隣接頂点の複数の隣接推定誤差が決定される。複数の隣接推定誤差のそれぞれは、メッシュの参照フレームにおける複数の隣接頂点の対応するものの参照頂点と、現在フレームにおける複数の隣接頂点の該対応するものとの間の差を示す。参照フレームは、第2の時点におけるメッシュに対応する。複数の隣接頂点の複数の隣接推定誤差に基づいて、現在頂点の予測残差が決定される。決定された現在頂点の予測残差に基づいて、現在頂点の予測情報が生成される。
【0007】
いくつかの実施形態では、複数の隣接頂点のうちの対応するものの参照頂点は、参照フレームにおいて、現在フレームにおける現在頂点と同じ相対位置に位置し、参照フレームと現在フレームとは異なる時点において生成される。
【0008】
一例では、複数の隣接推定誤差の平均隣接推定誤差が決定される。平均隣接推定誤差に基づいて、現在頂点の予測残差が決定される。
【0009】
一例では、現在頂点の予測残差を決定するために、現在頂点の参照頂点と現在頂点との間の差に基づいて、現在頂点の推定誤差が決定される。現在頂点の予測リストが決定される。予測リストの予測子は、現在頂点の推定誤差、現在頂点の推定誤差より後の平均隣接推定誤差、および平均隣接推定誤差より後の複数の隣接推定誤差を含む。それぞれの予測インデックスは、予測リストにおける予測子のそれぞれに関連付けられる。
【0010】
いくつかの実施形態では、複数の隣接頂点は、複数の隣接頂点が渦巻き状の三角スパニングツリー順序(spiraling triangle-spanning-tree order)でたどられるエッジブレーカー(Edgebreaker)・アルゴリズムに基づいて順序付けされる。
【0011】
一例では、現在頂点の予測残差を決定するために、平均隣接推定誤差と現在頂点の推定誤差との差が決定される。複数の隣接推定誤差のそれぞれと現在頂点の推定誤差との間の差も決定される。平均隣接推定誤差および前記複数の隣接推定誤差のうちからの隣接推定誤差が選択される。選択された隣接推定誤差は、最小の差を有する。現在頂点の予測残差は、(i)現在頂点の推定誤差と(ii)選択された隣接推定誤差とのいずれかとして決定される。
【0012】
一例では、現在頂点の予測残差を決定するために、フレーム間予測に従って、現在頂点の複数の隣接頂点の1つに基づいて予測誤差が決定される。予測誤差は、予測リスト内の各予測子と比較される。その予測残差は、予測誤差が予測リスト内の予測子より小さいことに応答して、予測誤差として決定される。
【0013】
一例では、現在頂点の予測残差を決定するために、予測残差は、混合推定誤差として決定される。混合推定誤差は、(i)選択された隣接推定誤差と予測誤差との平均、および(ii)現在頂点の推定誤差と予測誤差との平均のいずれかを含む。
【0014】
ある実施形態では、フレーム間予測は、第1の予測頂点と現在頂点との差に基づくデルタ予測のうちの1つをさらに含み、第1の予測頂点は、現在頂点の複数の隣接頂点のうちの前記1つを含む。フレーム間予測は、メッシュの複数の三角形の予測三角形に基づいて第2の予測頂点が決定される平行四辺形予測も含むことができる。予測三角形は、現在頂点を含む複数の三角形のうちの三角形とエッジを共有する。第2の予測頂点は、共有エッジの反対側にあり、第2の予測頂点と予測三角形は平行四辺形を形成する。
【0015】
ある実施形態では、現在頂点の予測情報は、さらにフラグを含む。フラグは、予測残差が、(i)フラグの第1の値に基づく、現在頂点の予測誤差または選択された隣接推定誤差、(ii)フラグの第2の値に基づく予測誤差、および(iii)フラグの第3の値に基づく混合推定誤差のうちの1つであることを示す。
【0016】
ある実施形態では、現在頂点の予測情報は、予測リストにおけるどの予測子がフラグが第1の値であることに基づく予測残差であるかを示すインデックス情報をさらに含む。予測情報は、予測残差情報も含む。一例では、フラグが第1の値であることに基づいて、予測残差情報は、(i)インデックス情報が予測残差が現在頂点の推定誤差であることを示すことに応答して現在頂点の推定誤差を、(ii)インデックス情報が予測残差が選択された隣接推定誤差であることを示すことに応答して選択された隣接推定誤差を示す。フラグが第2の値であることに基づいて、現在頂点と予測誤差によって示される予測頂点との差を示す。フラグが第3の値であることに基づいて、予測残差情報は、現在頂点と混合推定誤差によって示される予測頂点との差を示す。
【0017】
本開示の別の側面によれば、装置が提供される。装置は、処理回路を含む。処理回路は、記載されたメッシュ処理方法のいずれかを実行するように構成されることができる。
【0018】
本開示の諸側面は、ビデオ・デコードのためにコンピュータによって実行されたときに、コンピュータに記載されたメッシュ処理方法のいずれかを実行させる命令を記憶している非一時的なコンピュータ可読媒体も提供する。
【図面の簡単な説明】
【0019】
開示された主題のさらなる特徴、性質、およびさまざまな利点は、以下の詳細な説明および添付の図面からより明白になるであろう。
【0020】
図1】通信システム(100)の例示的なブロック図の概略図である。
【0021】
図2】デコーダの例示的なブロック図の概略図である。
【0022】
図3】エンコーダの例示的なブロック図の概略図である。
【0023】
図4】本開示のいくつかの実施形態によるメッシュ内の頂点の概略図である。
【0024】
図5】本開示のいくつかの実施形態による例示的な頂点位置圧縮の概略図である。
【0025】
図6A】エッジブレーカー・アルゴリズムの5つのパッチ構成の一例を示す。
【0026】
図6B】エッジブレーカー・アルゴリズムによる例示的なメッシュ横断を示す。
【0027】
図7】本開示のいくつかの実施形態によるプロセスを概説するフローチャートを示す。
【0028】
図8】本開示のいくつかの実施形態による別のプロセスを概説するフローチャートを示す。
【0029】
図9】ある実施形態によるコンピュータ・システムの概略図である。
【発明を実施するための形態】
【0030】
図1は、いくつかの例におけるビデオ処理システム(100)のブロック図を示す。ビデオ処理システム(100)は、開示される主題の適用の一例であり、ストリーミング環境におけるビデオ・エンコーダおよびビデオ・デコーダである。開示される主題は、たとえばビデオ会議、デジタルTV、ストリーミング・サービス、CD、DVD、メモリスティックなどを含むデジタル媒体への圧縮ビデオの保存を含む、他の画像およびビデオ対応用途にも同様に適用可能である。
【0031】
ビデオ処理システム(100)は、ビデオソース(101)を含むことができる捕捉サブシステム(113)を含む。ビデオソース(101)は、カメラによって捕捉されたおよび/またはコンピュータによって生成された一つまたは複数の画像を含むことができる。たとえば、デジタルカメラは、圧縮されていないビデオピクチャー(102)のストリームを生成することができる。一例では、ビデオピクチャー(102)のストリームは、デジタルカメラによって撮影されたサンプルを含む。エンコードされたビデオ・データ(104)(または符号化されたビデオビットストリーム)と比較してデータ量が大きいことを強調するために太線で示されているビデオピクチャー(102)のストリームは、ビデオソース(101)に結合されたビデオ・エンコーダ(103)を含む電子デバイス(120)によって処理されることができる。ビデオ・エンコーダ(103)は、以下により詳細に説明されるように、開示される主題の諸側面を可能にするかまたは実装するために、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。ビデオピクチャー(102)のストリームと比較したときにデータ量が少ないことを強調するために細い線として示されるエンコードされたビデオ・データ(104)(またはエンコードされたビデオビットストリーム)は、将来の使用のためにストリーミングサーバー(105)に記憶されることができる。図1のクライアントサブシステム(106)および(108)などの一つまたは複数のストリーミングクライアントサブシステムは、エンコードされたビデオデータ(104)のコピー(107)および(109)を取り出すためにストリーミングサーバー(105)にアクセスすることができる。クライアントサブシステム(106)は、たとえば電子デバイス(130)内にビデオデコーダ(110)を含むことができる。ビデオデコーダ(110)は、エンコードされたビデオ・データのはいってくるコピー(107)をデコードし、ディスプレイ(112)(たとえば表示画面)または他のレンダリングデバイス(図示せず)上にレンダリングできるビデオピクチャー(111)の出て行くストリームを生成する。いくつかのストリーミングシステムでは、エンコードされたビデオ・データ(104)、(107)、および(109)(たとえば、ビデオビットストリーム)は、ある種のビデオ符号化/圧縮規格に従ってエンコードされることができる。これらの規格の例は、ITU-T勧告H.265を含む。一例では、開発中のビデオ符号化規格は、非公式に汎用ビデオ符号化(VVC)として知られている。開示される主題は、VVCのコンテキストで使用されうる。
【0032】
電子デバイス(120)および(130)は、他のコンポーネント(図示せず)を含むことができることに留意されたい。たとえば、電子デバイス(120)はビデオデコーダ(図示せず)を含むことができ、電子デバイス(130)はビデオ・エンコーダ(図示せず)を含むこともできる。
【0033】
図2は、ビデオデコーダ(210)の例示的なブロック図を示す。ビデオデコーダ(210)は、電子デバイス(230)に含まれることができる。電子デバイス(230)は、受信機(231)を含むことができる。受信機(231)は、ネットワークインターフェース回路などの受信回路を含むことができる。ビデオデコーダ(210)は、図1の例におけるビデオデコーダ(110)の代わりに使用されることができる。
【0034】
受信機(231)は、ビデオデコーダ(210)によってデコードされる一つまたは複数の符号化ビデオシーケンスを受信することができる。ある実施形態では、一度に1つの符号化ビデオシーケンスが受信され、各符号化ビデオシーケンスのデコードは、他の符号化ビデオシーケンスのデコードから独立している。符号化ビデオシーケンスは、エンコードされたビデオ・データを記憶する記憶装置へのハードウェア/ソフトウェアリンクでありうるチャネル(201)から受信されうる。受信機(231)は、エンコードされたビデオ・データを他のデータ、たとえば、符号化オーディオデータおよび/または補助データストリームとともに受信することができ、これらは、それぞれの使用エンティティ(図示せず)に転送されうる。受信機(231)は、符号化ビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対処するために、バッファメモリ(215)が受信機(231)とエントロピーデコーダ/パーサ(220)(以下、「パーサ(220)」)との間に結合されてもよい。ある種の用途では、バッファメモリ(215)はビデオデコーダ(210)の一部である。他の用途では、バッファメモリはビデオデコーダ(210)の外側にあってもよい(図示せず)。さらに他の用途では、たとえばネットワークジッタに対処するためにビデオデコーダ(210)の外側にバッファメモリ(図示せず)があってもよく、さらに、たとえば再生タイミングを扱うためにビデオデコーダ(210)の内側に別のバッファメモリ(215)があってもよい。受信機(231)が、十分な帯域幅および制御可能性を有する記憶/転送デバイスから、またはアイソシンクロナスネットワークからデータを受信する場合、バッファメモリ(215)は不要であってもよく、または小さくてもよい。インターネットなどのベストエフォート型パケットネットワークで使用する場合、バッファメモリ(215)は必要であってもよく、比較的大きくてもよく、適応サイズであることが有利であり、少なくとも部分的に、ビデオデコーダ(210)の外側のオペレーティングシステムまたは同様の要素(図示せず)において実装されてもよい。
【0035】
ビデオデコーダ(210)は、符号化ビデオシーケンスからシンボル(221)を再構成するパーサー(220)を含んでいてもよい。それらのシンボルのカテゴリーは、図2に示されるように、ビデオデコーダ(210)の動作を管理するために使用される情報と、潜在的には、電子デバイス(230)の一体的な部分ではないが電子デバイス(230)に結合されることができるレンダリングデバイス(212)(たとえば表示画面)などのレンダリングデバイスを制御するための情報とを含む。レンダリングデバイスのための制御情報は、補足向上情報(SEI)メッセージまたはビデオユーザービリティ情報(VUI)パラメータセット・フラグメント(図示せず)の形であってもよい。パーサー(220)は、受信された符号化ビデオシーケンスをパース/エントロピー・デコードすることができる。符号化ビデオシーケンスの符号化は、ビデオ符号化技術または規格に従うことができ、可変長符号化、ハフマン符号化、コンテキスト感受性ありまたはなしの算術符号化などを含むさまざまな原理に従うことができる。パーサー(220)は、符号化ビデオシーケンスから、ビデオ・デコーダ内のピクセルのサブグループの少なくとも一つについてサブグループ・パラメータのセットを、グループに対応する少なくとも一つのパラメータに基づいて、抽出することができる。サブグループは、ピクチャーグループ(GOP)、ピクチャー、タイル、スライス、マクロブロック、符号化単位(CU)、ブロック、変換単位(TU)、予測単位(PU)などを含むことができる。パーサー(220)はまた、変換係数、量子化器パラメータ値、動きベクトルなどの情報を符号化ビデオシーケンスから抽出することができる。
【0036】
パーサ(220)は、バッファメモリ(215)から受け取ったビデオシーケンスに対してエントロピー・デコード/パース動作して、シンボル(221)を生成することができる。
【0037】
シンボル(221)の再構成は、符号化ビデオピクチャーまたはその部分(インター/イントラ・ピクチャー、インター/イントラ・ブロックなど)のタイプ、および他の要因に依存して、複数の異なるユニットに関わることができる。どのユニットがどのように関与するかは、パーサー(220)によって符号化ビデオシーケンスからパースされたサブグループ制御情報によって制御できる。パーサー(220)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確のため、示されていない。
【0038】
すでに述べた機能ブロック以外に、ビデオデコーダ(210)は、概念的には、以下に説明するように、いくつかの機能ユニットに細分できる。商業的制約条件の下で動作する実際的な実装では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的に、互いに統合されることができる。しかしながら、開示された主題を説明するために、以下の機能ユニットへの概念的な細分が適切である。
【0039】
第一のユニットは、スケーラー/逆変換ユニット(251)である。スケーラー/逆変換ユニット(251)は、量子化変換係数と、どの変換を使用するか、ブロック・サイズ、量子化因子、量子化スケーリング行列などを含む制御情報を、パーサ(220)からシンボル(221)として受信する。スケーラー/逆変換ユニット(251)は、アグリゲータ(255)に入力することができるサンプル値を含むブロックを出力することができる。
【0040】
場合によっては、スケーラー/逆変換ユニット(251)の出力サンプルは、イントラ符号化ブロックに属することができる。イントラ符号化ブロックは、以前に再構成されたピクチャーからの予測情報を使用しないが、現在ピクチャーの以前に再構成された部分からの予測情報を使用することができるブロックである。そのような予測情報は、イントラ・ピクチャー予測ユニット(252)によって提供されることができる。場合によっては、イントラ・ピクチャー予測ユニット(252)は、現在ピクチャーバッファ(258)からフェッチされた周囲のすでに再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。現在ピクチャーバッファ(258)は、たとえば、部分的に再構成された現在ピクチャーおよび/または完全に再構成された現在ピクチャーをバッファする。アグリゲータ(255)は、場合によっては、サンプルごとに、イントラ予測ユニット(252)が生成した予測情報を、スケーラー/逆変換ユニット(251)によって提供される出力サンプル情報に追加する。
【0041】
他の場合には、スケーラー/逆変換ユニット(251)の出力サンプルは、インター符号化され、潜在的には動き補償されたブロックに関連することができる。そのような場合には、動き補償予測ユニット(253)は、予測のために使用されるサンプルをフェッチするために参照ピクチャーメモリ(257)にアクセスすることができる。フェッチされたサンプルをブロックに関連するシンボル(221)に従って動き補償した後、これらのサンプルは、アグリゲータ(255)によってスケーラー/逆変換ユニット(251)の出力(この場合、残差サンプルまたは残差信号と呼ばれる)に加算されて、出力サンプル情報を生成することができる。動き補償予測ユニット(253)がそこから予測サンプルをフェッチする参照ピクチャーメモリ(257)内のアドレスは、動きベクトルによって制御されることができ、動きベクトルは、たとえば、X、Y、および参照ピクチャー成分を有することができるシンボル(221)の形で動き補償予測ユニット(253)に利用可能である。動き補償はまた、サブサンプルの正確な動きベクトルが使用されている場合に参照ピクチャーメモリ(257)からフェッチされるサンプル値の補間、動きベクトル予測機構などを含むことができる。
【0042】
アグリゲータ(255)の出力サンプルは、ループ・フィルタリング・ユニット(256)内のさまざまなループ・フィルタリング技術を適用されることができる。ビデオ圧縮技術は、符号化ビデオシーケンス(符号化ビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサー(220)からシンボル(221)としてループ・フィルタ・ユニット(256)に利用可能にされるループ内フィルタ技術を含むことができる。ビデオ圧縮はまた、符号化ピクチャーまたは符号化ビデオシーケンスの(デコード順で)前の部分の復号中に得られるメタ情報に応答することができ、また、前に再構成され、ループ・フィルタ処理されたサンプル値に応答することができる。
【0043】
ループ・フィルタ・ユニット(256)の出力は、レンダリングデバイス(212)に出力されることができるとともに、将来のピクチャー間予測で使用するために参照ピクチャーメモリ(257)に格納することができるサンプル・ストリームであることができる。
【0044】
ある種の符号化ピクチャーは、ひとたび完全に再構成されると、将来の予測のための参照ピクチャーとして使用されることができる。たとえば、現在ピクチャーに対応する符号化されたピクチャーが完全に再構成され、符号化されたピクチャーが参照ピクチャーとして識別されると(たとえばパーサー(220)によって)、現在ピクチャーバッファ(258)は、参照ピクチャーメモリ(257)の一部となることができ、次の符号化ピクチャーの再構成を開始する前に、新たな現在ピクチャーバッファが再割り当てされることができる。
【0045】
ビデオ・デコーダ(210)は、所定のビデオ圧縮技術または規格、たとえばITU-T 勧告H.265に従ってデコード動作を実行することができる。符号化ビデオシーケンスは、使用されているビデオ圧縮技術または規格によって指定された構文に準拠することができる。これは、符号化ビデオシーケンスが、そのビデオ圧縮技術または規格の構文と、そのビデオ圧縮技術または規格に記載されているプロファイルとの両方に準拠するという意味である。具体的には、プロファイルは、ビデオ圧縮技術または規格で利用可能なすべてのツールから、そのプロファイルの下で利用可能な唯一のツールとして、ある種のツールを選択することができる。また、準拠のために必要なものとして、符号化ビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルによって定義される範囲内にあることがある。場合によっては、レベルは、最大ピクチャー・サイズ、最大フレームレート、最大再構成サンプルレート(たとえば毎秒メガサンプルで測られる)、最大参照ピクチャー・サイズなどを制約する。レベルによって設定された制限は、場合によっては、符号化ビデオシーケンスで信号伝達されたHRDバッファ管理のための仮想参照デコーダ(Hypothetical Reference Decoder、HRD)仕様およびメタデータを通じてさらに制約されることができる。
【0046】
ある実施形態では、受信機(231)は、エンコードされたビデオと一緒に追加の(冗長な)データを受信することができる。追加データは、符号化ビデオシーケンス(単数または複数)の一部として含まれてもよい。追加データは、データを適切にデコードし、および/またはもとのビデオ・データをより正確に再構成するためにビデオデコーダ(210)によって使用されてもよい。追加データは、たとえば、時間的、空間的、または信号雑音比(SNR)向上層、冗長スライス、冗長ピクチャー、前方誤り訂正符号などの形式であってもよい。
【0047】
図3は、ビデオ・エンコーダ(303)の例示的なブロック図を示す。ビデオ・エンコーダ(303)は、電子デバイス(320)に含まれる。電子デバイス(320)は、送信機(340)(たとえば、送信回路)を含む。ビデオ・エンコーダ(303)は、図1の例におけるビデオ・エンコーダ(103)の代わりに使用されることができる。
【0048】
ビデオ・エンコーダ(303)は、ビデオ・エンコーダ(303)によって符号化されるビデオ画像を取り込むことができるビデオソース(301)(これは図3の例における電子デバイス(320)の一部ではない)からビデオサンプルを受け取ることができる。別の例では、ビデオソース(301)は、電子デバイス(320)の一部である。
【0049】
ビデオソース(301)は、任意の適切なビット深さ(たとえば8ビット、10ビット、12ビット…)、任意の色空間(たとえばBT.601 YCrCB、RGB、…)、および任意の適切なサンプリング構造(たとえばYCrCb 4:2:0、YCrCb 4:4:4)であることができるデジタルビデオサンプルストリームの形で、ビデオ・エンコーダ(303)によって符号化されるソースビデオシーケンスを提供することができる。メディア・サービング・システムでは、ビデオソース(301)は、あらかじめ準備されたビデオを記憶する記憶装置であってもよい。ビデオ会議システムでは、ビデオソース(301)は、ローカル画像情報をビデオシーケンスとして捕捉するカメラであってもよい。ビデオ・データは、シーケンスで見たときに動きを与える複数の個々のピクチャーとして提供されてもよい。ピクチャー自体は、ピクセルの空間アレイとして編成されてもよく、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、一つまたは複数のサンプルを含むことができる。以下の説明は、サンプルに焦点を当てている。
【0050】
ある実施形態によれば、ビデオ・エンコーダ(303)は、リアルタイムで、または必要に応じて他の任意の時間的制約条件の下で、ソースビデオシーケンスのピクチャーを符号化ビデオシーケンス(343)に符号化および圧縮してもよい。適切な符号化速度を強制することは、コントローラ(350)の一つの機能である。いくつかの実施形態では、コントローラ(350)は、以下に説明するように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確のため、図示されていない。コントローラ(350)によって設定されるパラメータは、レート制御関連のパラメータ(ピクチャー・スキップ、量子化器、レート‐歪み最適化技法のラムダ値、…)、ピクチャー・サイズ、ピクチャーグループ(GOP)レイアウト、最大動きベクトル探索範囲などを含むことができる。コントローラ(350)は、ある種のシステム設計について最適化されたビデオ・エンコーダ(303)に関する他の適切な機能を有するように構成されることができる。
【0051】
いくつかの実施形態では、ビデオ・エンコーダ(303)は、符号化ループで動作するように構成される。思い切って簡略化された説明として、一例では、符号化ループは、ソースコーダ(330)(たとえば、符号化されるべき入力ピクチャーと参照ピクチャー(単数または複数)に基づいて、シンボルストリームのようなシンボルを生成することを受け持つ)と、ビデオ・エンコーダ(303)に埋め込まれた(ローカル)デコーダ(333)とを含むことができる。デコーダ(333)は、(リモート)デコーダが生成するのと同様の仕方で、シンボルを再構成してサンプル・データを生成する。再構成されたサンプル・ストリーム(サンプル・データ)は、参照ピクチャーメモリ(334)に入力される。シンボルストリームのデコードは、デコーダ位置(ローカルまたはリモート)に依存しないビット正確な結果をもたらすので、参照ピクチャーメモリ(334)内のコンテンツも、ローカル・エンコーダとリモート・エンコーダとの間でビット正確である。言い換えると、エンコーダの予測部分は、デコーダがデコード中に予測を使用するときに「見る」のと全く同じサンプル値を参照ピクチャー・サンプルとして「見る」。参照ピクチャー同期性(および、たとえばチャネルエラーのため同期性が維持できない場合は、結果として生じるドリフト)のこの基本原理は、いくつかの関連技術でも使用される。
【0052】
「ローカル」デコーダ(333)の動作は、図2に関連してすでに詳細に説明したビデオ・デコーダ(210)などの「リモート」デコーダと同じでありうる。しかしながら、図2も簡単に参照すると、シンボルが利用可能であり、エントロピー符号化器(345)およびパーサー(220)による符号化されたビデオシーケンスへのシンボルのエンコード/デコードは可逆でありうるので、バッファメモリ(215)およびパーサー(220)を含むビデオ・デコーダ(210)のエントロピー・デコード部分は、ローカル・デコーダ(333)において完全には実装されなくてもよい。
【0053】
ある実施形態では、デコーダ内に存在するパース/エントロピー・デコードを除くデコーダ技術は、対応するエンコーダ内に、同一または実質的に同一の機能形態で存在する。よって、開示される主題は、デコーダの動作に焦点を当てる。エンコーダ技術の説明は、包括的に説明されるデコーダ技術の逆であるため、省略することができる。ある種の領域において、より詳細な説明が以下に提供される。
【0054】
動作中、いくつかの例では、ソースコーダ(330)は、動き補償された予測符号化を実行することができ、これは、「参照ピクチャー」として指定されたビデオシーケンスからの一つまたは複数の以前に符号化されたピクチャーを参照して、入力ピクチャーを予測的に符号化する。このようにして、符号化エンジン(332)は、入力ピクチャーのピクセル・ブロックと、入力ピクチャーに対する予測参照として選択されうる参照ピクチャーのピクセル・ブロックとの間の差を符号化する。
【0055】
ローカル・ビデオ・デコーダ(333)は、ソースコーダ(330)によって生成されたシンボルに基づいて、参照ピクチャーとして指定されうるピクチャーの符号化されたビデオ・データをデコードすることができる。符号化エンジン(332)の動作は、有利には、損失の多いプロセスでありうる。符号化されたビデオ・データがビデオデコーダ(図3には示されていない)でデコードされうる場合、再構成されたビデオシーケンスは、典型的には、いくつかの誤差もつ、ソースビデオシーケンスのレプリカでありうる。ローカル・ビデオ・デコーダ(333)は、ビデオ・デコーダによって参照ピクチャーに対して実行されうるデコード・プロセスを複製し、再構成された参照ピクチャーを参照ピクチャーメモリ(334)に格納させることができる。このようにして、ビデオ・エンコーダ(303)は、(伝送エラーがない場合に)遠端のビデオ・デコーダによって得られるであろう再構成された参照ピクチャーと共通のコンテンツを有する再構成された参照ピクチャーのコピーをローカルに記憶することができる。
【0056】
予測器(335)は、符号化エンジン(332)の予測検索を実行することができる。すなわち、符号化される新しいピクチャーについて、予測器(335)は、参照ピクチャーメモリ(334)を探索して、サンプル・データ(候補参照ピクセル・ブロックとして)、または、新しいピクチャーのための適切な予測参照として役立つ可能性のある種のメタデータ、たとえば参照ピクチャー動きベクトル、ブロック形状などを求めることができる。予測器(335)は、適切な予測参照を見つけるために、サンプル・ブロック、ピクセル・ブロックごとに動作することができる。場合によっては、予測器(335)によって得られた検索結果によって決定されるように、入力ピクチャーは、参照ピクチャーメモリ(334)に格納された複数の参照ピクチャーから引き出された予測参照を有することができる。
【0057】
コントローラ(350)は、たとえば、ビデオ・データをエンコードするために使用されるパラメータおよびサブグループ・パラメータの設定を含む、ソースコーダ(330)の符号化動作を管理することができる。
【0058】
上述したすべての機能ユニットの出力は、エントロピー符号化器(345)においてエントロピー符号化を受けることができる。エントロピー符号化器(345)は、ハフマン符号化、可変長符号化、算術符号化などの技術に従ってシンボルに可逆圧縮を適用することによって、さまざまな機能ユニットによって生成されたシンボルを符号化ビデオシーケンスに変換する。
【0059】
送信機(340)は、エントロピー符号化器(345)によって生成された符号化ビデオシーケンスをバッファリングして、エンコードされたビデオ・データを格納する記憶装置へのハードウェア/ソフトウェアリンクでありうる通信チャネル(360)を介した伝送の準備をすることができる。送信機(340)は、ビデオ・エンコーダ(303)からの符号化ビデオ・データを、伝送される他のデータ、たとえば、符号化オーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージすることができる。
【0060】
コントローラ(350)は、ビデオ・エンコーダ(303)の動作を管理することができる。符号化の間、コントローラ(350)は、各符号化されたピクチャーにある種の符号化ピクチャー・タイプを割り当てることができ、これは、それぞれのピクチャーに適用されうる符号化技術に影響を与えることができる。たとえば、ピクチャーは、しばしば、以下のピクチャー・タイプのうちの一つとして割り当てられてもよい。
【0061】
イントラ・ピクチャー(Iピクチャー)は、予測のソースとしてシーケンス内の他のピクチャーを使用することなく、符号化および復号されうるピクチャーであってもよい。いくつかのビデオ符号化器は、たとえば独立デコーダ・リフレッシュ(Independent Decoder Refresh、IDR)ピクチャーを含む、種々のタイプのイントラ・ピクチャーを許容する。当業者は、Iピクチャーのこれらの変形、およびそれらのそれぞれの用途および特徴を認識している。
【0062】
予測ピクチャー(Pピクチャー)は、各ブロックのサンプル値を予測するために、高々1つの動きベクトルおよび参照インデックスを使用して、イントラ予測またはインター予測を使用して符号化および復号されうるピクチャーであってもよい。
【0063】
双方向予測ピクチャー(Bピクチャー)は、各ブロックのサンプル値を予測するために、高々2つの動きベクトルおよび参照インデックスを使用して、イントラ予測またはインター予測を使用して符号化および復号されうるピクチャーであってもよい。同様に、マルチ予測ピクチャーは、単一ブロックの再構成のために、3つ以上の参照ピクチャーおよび関連付けられたメタデータを使用することができる。
【0064】
ソースピクチャーは、一般に、複数のサンプル・ブロック(たとえば、各4×4、8×8、4×8、または16×16サンプルのブロック)に空間的に細分され、ブロックごとに符号化されてもよい。ブロックは、ブロックのそれぞれのピクチャーに適用される符号化割り当てによって決定されるように、他の(すでに符号化された)ブロックを参照して予測的に符号化されてもよい。たとえば、Iピクチャーのブロックは、非予測的に符号化されてもよいし、または同じピクチャーのすでに符号化されたブロックを参照して予測的に符号化されてもよい(空間的予測またはイントラ予測)。Pピクチャーのピクセル・ブロックは、空間的予測を介して、または一つの以前に符号化された参照ピクチャーを参照して時間的予測を介して、予測的に符号化されてもよい。Bピクチャーのブロックは、空間的予測を介して、一つまたは二つの以前に符号化された参照ピクチャーを参照して時間的予測を介して、予測的に符号化されてもよい。
【0065】
ビデオ・エンコーダ(303)は、ITU-T勧告H.265などの所定のビデオ符号化技術または規格に従って符号化動作を実行することができる。その動作において、ビデオ・エンコーダ(303)は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測符号化動作を含むさまざまな圧縮動作を実行することができる。したがって、符号化されたビデオ・データは、使用されているビデオ符号化技術または規格によって指定される構文に従うことができる。
【0066】
ある実施形態では、送信機(340)は、エンコードされたビデオと一緒に追加のデータを送信することができる。ソースコーダ(330)は、そのようなデータを符号化ビデオシーケンスの一部として含むことができる。追加データは、時間的/空間的/SNR向上層、冗長ピクチャーおよびスライス、SEIメッセージ、VUIパラメータセット・フラグメントなどの冗長データの他の形を含んでいてもよい。
【0067】
ビデオは、時間シーケンスにおいて複数のソースピクチャー(ビデオピクチャー)として捕捉されてもよい。ピクチャー内予測(しばしばイントラ予測と略される)は、所与のピクチャーにおける空間的相関を利用し、ピクチャー間予測は、ピクチャー間の(時間的または他の)相関を利用する。一例では、現在のピクチャーと呼ばれるエンコード/デコード中の特定のピクチャーは、ブロックに分割される。現在のピクチャー内のブロックが、ビデオ内の以前に符号化され、まだバッファされている参照ピクチャー内の参照ブロックと類似している場合、現在ピクチャー内のブロックは、動きベクトルと呼ばれるベクトルによって符号化されることができる。動きベクトルは、参照ピクチャー内の参照ブロックを指し、複数の参照ピクチャーが使用されている場合には、参照ピクチャーを識別する第3の次元を有することができる。
【0068】
いくつかの実施形態では、ピクチャー間予測において、双予測技法を使用することができる。双予測技法によれば、ビデオ内の現在のピクチャーに対してデコード順でいずれも先行する(ただし、表示順はそれぞれ過去と未来である可能性がある)第1の参照ピクチャーおよび第2の参照ピクチャーなどの2つの参照ピクチャーが使用される。現在のピクチャー内のブロックは、第1の参照ピクチャー内の第1の参照ブロックを指す第1の動きベクトル、および第2の参照ピクチャー内の第2の参照ブロックを指す第2の動きベクトルによって符号化されることができる。ブロックは、第1の参照ブロックと第2の参照ブロックの組み合わせによって予測されることができる。
【0069】
さらに、マージモード技法をピクチャー間予測において使用して、符号化効率を改善することができる。
【0070】
本開示のいくつかの実施形態によれば、ピクチャー間予測およびピクチャー内予測などの予測は、多角形または三角形ブロックなどのブロック単位で実行される。たとえば、HEVC規格によれば、ビデオピクチャーのシーケンス内のピクチャーは、圧縮のために符号化ツリー単位(CTU)に分割され、ピクチャー内のCTUは、64×64ピクセル、32×32ピクセル、または16×16ピクセルなどの同じサイズを有する。一般に、CTUは、1つのルーマCTBおよび2つのクロマCTBである3つの符号化ツリーブロック(CTB)を含む。各CTUは、一つまたは複数の符号化単位(CU)に再帰的に4分木分割することができる。たとえば、64×64ピクセルのCTUは、64×64ピクセルの1つのCU、または32×32ピクセルの4つのCU、または16×16ピクセルの16のCUに分割することができる。一例では、各CUは、CUについての予測タイプ(インター予測タイプまたはイントラ予測タイプなど)を決定するために解析される。CUは、時間的および/または空間的予測可能性に依存して、一つまたは複数の予測単位(PU)に分割される。一般に、各PUは、ルーマ予測ブロック(PB)および2つのクロマPBを含む。ある実施形態では、符号化〔コーディング〕(エンコード/デコード)における予測動作は、予測ブロックの単位で実行される。予測ブロックの例としてルーマ予測ブロックを使用すると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセルなどのピクセルについての値(たとえば、ルーマ値)の行列を含む。
【0071】
ビデオ・エンコーダ(103)および(303)、ならびにビデオ・デコーダ(110)および(210)は、任意の適切な技術を使用して実装できることに留意されたい。ある実施形態では、ビデオ・エンコーダ(103)および(303)、ならびにビデオ・デコーダ(110)および(210)は、一つまたは複数の集積回路を使用して実装できる。別の実施形態では、ビデオ・エンコーダ(103)および(303)、ならびにビデオ・デコーダ(110)および(210)は、ソフトウェア命令を実行する一つまたは複数のプロセッサを使用して実装できる。
【0072】
本開示は、時間的予測を使用したメッシュ頂点位置圧縮の方法およびシステムに関する実施形態を含む。
【0073】
メッシュは、体積オブジェクトの表面を記述する複数のポリゴンを含むことができる。メッシュの各ポリゴンは、三次元(3D)空間における対応するポリゴンの頂点およびそれらの頂点がどのように接続されているかの情報(接続性情報と呼ぶことができる)によって定義できる。いくつかの実施形態では、色、法線などの頂点属性がメッシュ頂点に関連付けられることができる。属性(または頂点属性)は、メッシュを二次元(2D)属性マップでパラメータ化するマッピング情報を利用することによって、メッシュの表面に関連付けられることもできる。そのようなマッピングは、通例、メッシュ頂点に関連付けられたUV座標またはテクスチャー座標と呼ばれる一組のパラメトリック座標によって記述されることができる。2D属性マップは、テクスチャー、法線、変位などの高解像度属性情報を格納するために使用できる。そのような情報は、テクスチャー・マッピングおよびシェーディングなどのさまざまな目的のために使用できる。
【0074】
動的メッシュ・シーケンスは、時間とともに変化する大量の情報を含むことができるので、大量のデータを必要とする。したがって、そのような内容を格納し伝送するために効率的な圧縮技術が必要である。IC、MESHGRIDおよびFAMCなどのメッシュ圧縮規格が、一定の接続性、時間変化する幾何構成、および頂点属性をもつ動的メッシュに対処するためにMPEGによって以前に開発された。しかしながら、これらの規格は、時間変化する属性マップおよび接続性情報を考慮しない可能性がある。DCC(Digital Content Creation)ツールは通例、そのような動的メッシュを生成する。しかしながら、特にリアルタイム制約条件の下で、一定接続性の動的メッシュを生成することは、体積取得(volumetric acquisition)技法にとって困難な場合がある。このタイプのコンテンツ(たとえば、一定接続性の動的メッシュ)は、既存の規格ではサポートされない可能性がある。MPEGは、時間変化する接続性情報と任意的には時間変化する属性マップをもつ動的メッシュを直接扱うための新しいメッシュ圧縮規格の開発を計画している。新しいメッシュ圧縮規格は、リアルタイム通信、ストレージ、自由視点ビデオ、拡張現実(AR)、仮想現実(VR)などのさまざまなアプリケーションのための不可逆および可逆圧縮を目標としている。ランダムアクセスやスケーラブル/プログレッシブ符号化などの機能も考慮することができる。
【0075】
メッシュ幾何構成情報は、頂点接続性情報、3D座標、2Dテクスチャー座標などを含むことができる。頂点位置とも呼ばれうる頂点3D座標の圧縮は、多くの場合、頂点3D座標の圧縮が幾何構成関連データ全体のかなりの部分を消費する可能性があるため、重要である可能性がある。
【0076】
時点tにおける動的メッシュ・シーケンスMは、M(t)と表すことができる。M(t)の頂点位置から別の時点の頂点位置M(t0)へのマッピング(またはマッピング操作)fがある場合、M(t)は、位置追跡されるフレームと称されることができる。よって、M(t0)は、フレームM(t)の参照フレームと呼ぶことができ、参照フレーム内の対応する頂点は、M(t)内の頂点の参照頂点と呼ぶことができる。M(t)は、現在の時点などの第1の時点におけるメッシュに対応することができ、M(t0)は、前の時点などの第2の時点におけるメッシュに対応することができる。
【0077】
本開示では、頂点位置圧縮のための方法および/またはシステムが提案される。方法および/またはシステムは、個別にまたはさまざまな組み合わせにおいて適用できることに留意されたい。さらに、開示される方法およびシステムは、頂点位置圧縮に限定されない。開示される方法およびシステムは、たとえば、2次元(2D)テクスチャー座標圧縮、またはより一般的な時間的な予測ベースの方式にも適用できる。
【0078】
位置追跡されたフレームM(t)内の頂点Vについて、その頂点の隣接頂点は、エッジを介してVに接続された頂点であってもよく、これらの頂点は、Vの隣接頂点(または近隣頂点)と呼ばれる。たとえば、図4に示されるように、頂点Aは、C、D、E、およびBである4つの隣接頂点を有することができる。頂点Eは、A、B、F、H、およびDである5つの隣接頂点を有することができる。
【0079】
図5は、本開示のいくつかの実施形態による例示的な頂点位置圧縮装置(500)の概略図である。図5に示されるように、頂点位置圧縮装置(500)は、メッシュの頂点を順序付けするように構成された頂点順序付けモジュール(502)、頂点の予測位置を計算するように構成された位置予測モジュール(504)、位置予測インデックス(または必要であれば位置予測モード)を符号化(または決定)するように構成された予測インデックス符号化モジュール(506)、および位置予測残差を符号化するように構成された予測残差符号化モジュール(508)を含むことができる。頂点位置圧縮装置(500)で処理されるメッシュは、3Dメッシュまたは2Dメッシュでありうることに留意されたい。たとえば、メッシュは、3D座標系(たとえば、x、y、z)または2D座標系(たとえばUとV)で表すことができる。
【0080】
本開示におけるモジュールという用語は、ソフトウェアモジュール、ハードウェアモジュール、またはそれらの組み合わせを指すことができる。ソフトウェアモジュール(たとえば、コンピュータ・プログラム)は、コンピュータプログラミング言語を使用して開発されうる。ハードウェアモジュールは、処理回路および/またはメモリを使用して実装されうる。各モジュールは、一つまたは複数のプロセッサ(またはプロセッサおよびメモリ)を使用して実装できる。同様に、プロセッサ(またはプロセッサおよびメモリ)は、一つまたは複数のモジュールを実装するために使用できる。さらに、各モジュールは、そのモジュールの機能を含む全体的なモジュールの一部であってもよい。
【0081】
本開示では、位置追跡されるフレーム(またはフレーム)M(t)の頂点は順序付けされることができる。M(t)における頂点の順序は、エッジブレーカー・アルゴリズムまたは他の分割アルゴリズムに従ってたどることができる。
【0082】
図6Aおよび6Bは、エッジブレーカー・アルゴリズムに基づくフレームM(t)内の三角形および頂点の例示的な順序付けを示す。図6Aは、エッジブレーカー・アルゴリズムの5つの例示的なパッチ構成を示す。図6Aに示されるように、Vはパッチ中心頂点であり、Tは現在の三角形である。各パッチ内のアクティブ・ゲート(または現在の三角形)は、Tとして示すことができる。パッチCでは、Vのまわりで扇状になる(または回転する)完全な三角形を提供することができる。パッチLでは、一つまたは複数の欠落した三角形がアクティブ・ゲートTの左側に位置することがある。パッチRでは、一つまたは複数の欠落した三角形がアクティブ・ゲートTの右側に位置することがある。パッチEでは、VはTに隣接するだけである。パッチSでは、一つまたは複数の欠落した三角形がアクティブ・ゲートTの左側または右側以外の位置に位置することがある。図6Bは、エッジブレーカー・アルゴリズムのたどり方〔トラバーサル〕に基づいてフレーム(600)の三角形を順序付けることができるフレーム(600)の例示的なたどり方を示す。図6Bに示されるように、フレーム(600)内の三角形は、渦巻き状の三角形スパニングツリーに沿ってたどられることができる。たとえば、たどり方は、タイプC(またはパッチC)の三角形(602)から開始することができる。たどり方は、三角形(例:(602))の右エッジに隣接する分枝に沿って進むことができる。たどり方は、タイプEの三角形(例:(604))に到達したときに停止することができる。エッジブレーカー・アルゴリズムによれば、フレーム(600)の三角形は、図6Bに示すことができるCRSRLECRRRLEのシーケンスでたどられる(または順序付けされる)ことができる。フレーム(600)の各三角形の頂点も、三角形の順序に基づいて順序付けされることができる。
【0083】
本開示では、参照フレーム内の参照頂点に基づいて現在フレーム内の頂点を予測するために、時間的予測が適用できる。現在フレームは、現在の時点などの第1の時点におけるメッシュに対応することができる。参照フレームは、前の時点などの第2の時点におけるメッシュに対応することができる。いくつかの実施形態では、現在フレーム内のメッシュの頂点の接続性は、参照フレーム内のメッシュの頂点の接続性とは異なることができる。位置追跡されるフレーム(または現在フレーム)M(t)内の頂点Vについて、頂点Vの位置は、参照フレーム(たとえばM(t0)、t0は時点tとは異なる時点)内の参照頂点f(V)の位置によって推定されることができる。ここで、fはM(t)と参照フレームとの間のマッピング操作である。いくつかの実施形態では、頂点Vと参照フレーム内の参照頂点f(V)とは共位置〔コロケーテッド〕である。よって、参照頂点は、参照フレーム内で現在フレームM(t)内の頂点と同じ相対位置を有することができる。頂点Vが参照頂点f(V)によって予測される場合、推定誤差(estimation error)Eが、式(1)においてVの位置とf(V)の位置との差として決定できる。
E=V-f(V) 式(1)
【0084】
フレームM(t)における各頂点は3次元座標をもつことができるので、推定誤差Eの3D座標成分は式(1)に基づいて与えられることができる。たとえば、添字x、y、zがxyz空間における3D座標を表すとすると、推定誤差Eの3次元座標成分は式(2)~(4)で与えられることができる。
Ex=Vx-(f(V))x 式(2)
Ey=Vy-(f(V))y 式(3)
Ez=Vz-(f(V))z 式(4)
【0085】
頂点Vの推定誤差Eは、頂点Vの隣接頂点(または近隣頂点)から予測される、または他の仕方で決定されることができる。Vの隣接頂点(または近隣頂点)について、隣接頂点が符号化されており、予測のために使用できる場合、隣接頂点の推定誤差が、Eを予測するために適用できる。
【0086】
Vには、符号化されており、予測のために使用できるN個の隣接頂点(または近隣頂点)V1、V2、…、VNがあるとする。一例では、隣接頂点V1、V2、…、VNの順序は、エッジブレーカー・アルゴリズムまたは他の分割アルゴリズムに基づいて決定できる。隣接頂点Viについて、隣接頂点Viの推定誤差は、i=1,2,…,Nについて、Ei=Vi-f(Vi)として決定できる。f(Vi)は、参照フレームにおける、隣接頂点Viについての参照頂点であることができる。Eiは、頂点Vに関連する隣接推定誤差(neighboring estimation error)と称されることもでき、各Eiは、Eの予測候補であることができる。予測される値(または予測候補)Eiにおいて重複が決定される場合、そのような重複は、リストE1、E2、…、ENから除去できる。
【0087】
N≧2の場合、複数の予測候補(または予測値)Eiが利用可能である。ある実施形態では、予測される値Eiの平均が、追加の予測子として使用され、E0として設定されることができる。たとえば、E0は、次のような式(5)で定義できる。
E0=(E1+E2+…+EN)/N 式(5)
平均E0が予測される値E1、E2、…、ENのいずれかに等しい場合、平均予測値または重複した予測される値のいずれかが除去できる。
【0088】
エンコーダ側では、各EiをEと比較することができる。ここで、0≦i≦Nである。推定誤差は、E0、E1、E2、…、ENから選択されることができる。選択された推定誤差は、Eと各予測値(または予測される値または予測候補)E0、E1、E2、…、ENとの間に最小誤差(または最小差)を有することができる。いくつかの実施形態では、最小誤差は、L0ノルム、L1ノルム、L2ノルム、または何らかの他のノルムによって測定されることができる。たとえば、L0ノルムは、式(6)において次のように決定されることができる:
L0ノルム=√{(E0x-Ex)2+(E0y-Ey)2+(E0z-Ez)2} 式(6)
ここで、Ex、Ey、およびEzは、xyz空間におけるEの座標であり、E0x、E0y、およびE0zは、xyz空間におけるE0の座標である。一例では、選択された推定誤差は、最小誤差に対応するEiのうちの一つでありうる。一例では、選択された推定誤差は、E自身でありうる。便宜上、E-1=Eのように、Eを示すためにインデックス-1を使用することができる。よって、選択された推定誤差は、値が-1からNまでの間にあるインデックスとして格納(または識別)されることができる。デコーダ側では、選択された推定誤差を示した選択のインデックスが、デコードされ、選択された予測子(または選択された推定誤差)が、予測子E-1、E0、E1、E2、…、ENのリストから回復されることができる。
【0089】
ある実施形態では、上限Mが設定されることができる。上限Mは、予測リストにおいて考慮(または適用)できる予測候補の数を示すことができる。一例では、N>Mであれば、最初のM個の予測候補E1、E2、…、EMのみがEを予測するために考慮される。よって、E0は、次のような式(7)において定義できる:
E0=(E1+E2+…+EM)/M 式(7)
Mは4などの整数であることができる。よって、最大M(例:4)個の予測候補が考慮できる。なお、平均予測E0は、候補リストにおける異なる位置に配置されることができる。たとえば、平均予測E0'は、予測候補リストにおける最初の予測子であることができる。たとえば、平均予測E0'は、予測候補リストにおける最後の予測子であることができる。たとえば、平均予測E0'は、予測値E1'、E2、…、EMにおいて配置されることができる。
【0090】
頂点位置Vを予測するためにフレーム内予測を適用することができる。フレーム内予測は、デルタ予測、平行四辺形予測などであることができる。デルタ予測では、頂点Vの隣接頂点として予測子を決定することができる。平行四辺形予測では、メッシュの複数の三角形の予測三角形に基づいて予測頂点を決定することができる。予測三角形は、頂点Vを含む、前記複数の三角形のうちの三角形と、エッジを共有する。予測頂点は、共有されるエッジと向かい合う頂点であってもよい。予測頂点と予測三角形は、平行四辺形を形成することができる。
【0091】
フレーム内予測からの予測誤差は、選択された推定誤差Eiと比較されることができ、ここで、-1≦i≦Nである。フレーム内予測の予測誤差は、頂点Vの真の位置とフレーム内予測に基づく予測位置値を示すことができる。フレーム内予測がより小さな誤差を与える場合(たとえば、予測誤差が選択された推定誤差よりも小さい)、フレーム内予測が使用され、イントラ予測モードが信号伝達されうる。そうではなく、フレーム内予測が、選択された推定誤差Eiよりも大きな誤差を与える場合には、時間的予測が使用されることができ、インター予測モード(たとえば、時間的予測)が信号伝達されうる。
【0092】
頂点Vの位置を予測するために、混合予測が適用されることができる。たとえば、フレーム内予測と時間的予測の平均が頂点位置Vの予測として適用されることができる。
【0093】
本開示では、予測インデックスは、複数の予測候補が存在する場合にのみ符号化される必要がある。たとえば、現在頂点について複数の予測候補が利用可能である場合、選択された予測候補を示すインデックスがエンコーダ側で符号化されることができる。デコーダ側では、デコーダは、エンコーダと同じ順序で前記複数の予測候補を決定することができる。デコーダは、符号化された予測インデックスをデコードし、前記複数の予測候補からの前記予測インデックスに基づいて、選択された予測候補を再構成することができる。
【0094】
ある実施形態では、予測候補が決定されていない場合、または1つの予測候補のみが決定されている場合、予測インデックスを符号化する必要はないことがある。したがって、予測値は、現在頂点自身、またはその唯一の予測候補であることができる。ある実施形態では、予測インデックスは、利用可能な予測子候補の数に関係なく、常に符号化されることができる。利用可能な予測子がない場合、信号伝達されるインデックスの値は、デコーダ側のデコード・プロセスに影響しなくてもよい。
【0095】
N≧1など、現在頂点について複数の予測候補が決定される場合、予測インデックスは、固定長符号化を使用して符号化されることができる。たとえば、現在頂点について3つの予測候補が決定される場合、4つの可能な予測インデックス、0、1、2、および3(0は、候補1,2,3の平均値を示す)が必要とされることがありうる。よって、4つの予測インデックスのそれぞれを表すために、2桁の2進数を適用することができる。三角形メッシュの異なる頂点は、異なる固定長を使用することができることに注意する必要がある。たとえば、別の頂点に7つの予測候補がある場合、該別の頂点は、予測インデックスの表現のために3桁の2進数を使用することができる。固定長符号化からの出力は、算術符号化などのエントロピー符号化によってさらに圧縮されることができる。
【0096】
あるいはまた、可変長符号化を使用して予測インデックスを符号化することもできる。たとえば、現在頂点について4つの予測候補が決定された場合、0、1、2、3、および4の5つの予測インデックスが必要とされることがある。5つの予測インデックス0、1、2、3、および4を表すために、それぞれ0、100、101、110、および111の可変長符号を割り当てることができる。あるいはまた、0、1、2、3、および4の5つの予測インデックスを表すために、それぞれ1、01、001、0001、および00001の可変長符号を適用することもできる。三角形メッシュの異なる頂点は、異なる可変長を使用できることに留意されたい。可変長符号化からの出力は、算術符号化などのエントロピー符号化によってさらに圧縮されることができる。
【0097】
予測候補の最大数を制限する上限Mが設定されている場合、頂点VについてM個より多い予測候補が利用可能であれば、最初のM個の予測候補のみが、頂点Vを予測するために使用されてもよい。このように、(M+1)個の可能な予測インデックスを符号化することができ、Mは最初のM個の予測候補を示し、1は最初のM個の予測候補の平均を示す。予測される値において重複が判別される場合、重複を除去することができる。よって、予測インデックスの可能性も低減できる。予測インデックスは、固定長符号化、可変長符号化、差分符号化などによって符号化できる。
【0098】
フレーム内予測も予測候補である場合、1ビットのバイナリ・フラグを使用して位置予測モードを信号伝達することができる。位置予測モードは、フレーム間予測(たとえば、時間的予測)が適用されるか、フレーム内予測が適用されるかを示すことができる。
【0099】
フレーム内予測とフレーム間予測の平均も予測候補である場合、3シンボル・フラグを使用して位置予測モードを信号伝達することができる。位置予測モードは、フレーム間予測、フレーム内予測、またはフレーム内予測とフレーム間予測の平均のどれが適用されるかを示すことができる。
【0100】
本開示では、頂点位置の予測残差を符号化(または決定)することができる。時間的予測が適用される場合、予測インデックスjが-1(-1はE自身を意味する)であれば、予測残差はE(例:V-f(V))として決定されることができる。よって、頂点Vは、V=f(V)+Eとして再構築されることができる。そうでなければ(たとえば、インデックスは0、または1、2、…、Nのいずれか)、予測残差は、jを予測インデックスとして、E-Ejとして決定されることができる。よって、Eは、E=Ej+予測残差(例:E-Ej)として復元されることができ、頂点Vは、さらに、V=f(V)+(Ej+(E-Ej))として再構成されることができる。
【0101】
フレーム内予測が適用される場合、予測残差は、頂点Vの真位置値と予測される位置値との差として決定されることができる。
【0102】
フレーム内予測とフレーム間予測の平均が適用される場合、予測残差は、頂点Vの真位置値と予測される位置値との差として決定されることができる。
【0103】
いくつかの実施形態では、予測残差は、固定長符号化、指数ゴロム符号化、算術符号化などの符号化アルゴリズムを使用して符号化されることができる。いくつかの実施形態では、予測残差は、高速フーリエ変換(FFT)、離散コサイン変換(DCT)、離散サイン変換(DST)、離散ウェーブレット変換(DWT)などのコンパクト化変換を経ることができる。コンパクト化変換からの出力は、固定長符号化、指数ゴロム符号化、算術符号化などの符号化アルゴリズムを使用して符号化することができる。
【0104】
図7は、本開示のある実施形態によるプロセス(700)を概説するフローチャートを示す。プロセス(700)は、ビデオ・エンコーダなどのエンコーダで使用されることができる。さまざまな実施形態において、プロセス(700)は、ビデオ・エンコーダ(103)の機能を実行する処理回路、ビデオ・エンコーダ(303)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態において、プロセス(700)はソフトウェア命令において実装され、よって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(700)を実行する。プロセスは、(S701)で開始し、(S710)に進む。
【0105】
(S710)では、二次元モデルおよび三次元モデルのいずれかでのメッシュの現在フレームにおいて、現在頂点の複数の隣接頂点が決定される。現在頂点および複数の隣接頂点は、現在フレームに含まれ、第1の時点におけるメッシュに対応する。複数の隣接頂点のそれぞれは、メッシュ内のそれぞれのエッジを通じて現在頂点に接続される。
【0106】
(S720)では、現在頂点の複数の隣接頂点の複数の隣接推定誤差が決定される。複数の隣接推定誤差のそれぞれは、メッシュの参照フレームにおける複数の隣接頂点の対応する1つの隣接頂点の参照頂点と、現在フレームにおける複数の隣接頂点の前記対応する1つの隣接頂点との間の差を示す。参照フレームは、第2の時点におけるメッシュに対応する。
【0107】
(S730)では、複数の隣接頂点の複数の隣接推定誤差に基づいて、現在頂点の予測残差が決定される。
【0108】
(S740)では、現在頂点の決定された予測残差に基づいて、現在頂点の予測情報が生成される。
【0109】
いくつかの実施形態では、複数の隣接頂点の対応する1つの隣接頂点の参照頂点が、参照フレームにおいて、現在フレームにおける現在頂点と同じ相対位置に位置し、参照フレームと現在フレームとは異なる時点で生成される。
【0110】
一例では、複数の隣接推定誤差の平均隣接推定誤差が決定される。平均隣接推定誤差に基づいて、現在頂点の予測残差が決定される。
【0111】
一例では、現在頂点の予測残差を決定するために、現在頂点の参照頂点と現在頂点との差に基づいて、現在頂点の推定誤差が決定される。現在頂点の予測リストが決定される。予測リストの予測子は、現在頂点の推定誤差と、現在頂点の推定誤差に続く平均隣接推定誤差と、平均隣接推定誤差に続く前記複数の隣接推定誤差とを含む。予測リスト内の各予測子に、それぞれの予測インデックスが関連付けられる。
【0112】
いくつかの実施形態では、複数の隣接頂点は、複数の隣接頂点が渦巻き状の三角スパニングツリー順序でたどられるエッジブレーカー・アルゴリズムに基づいて順序付けされる。
【0113】
一例では、現在頂点の予測残差を決定するために、平均隣接推定誤差と現在頂点の推定誤差との差が決定される。複数の隣接推定誤差のそれぞれと現在頂点の推定誤差との差も決定される。平均隣接推定誤差と複数の隣接推定誤差からの隣接推定誤差が選択される。選択された隣接推定誤差は、最小の差を有する。現在頂点の予測残差は、(i)現在頂点の推定誤差と(ii)選択された隣接推定誤差とのいずれかとして決定される。
【0114】
一例では、現在頂点の予測残差を決定するために、フレーム間予測に従って、現在頂点の複数の隣接頂点の1つに基づいて予測誤差が決定される。予測誤差は、予測リスト内の各予測子と比較される。予測残差は、予測誤差が予測リスト内の予測子より小さいことに応答して、予測誤差として決定される。
【0115】
一例では、現在頂点の予測残差を決定するために、予測残差は、混合推定誤差として決定される。混合推定誤差は、(i)選択された隣接推定誤差と予測誤差との平均、および(ii)現在頂点の推定誤差と予測誤差との平均のいずれかを含む。
【0116】
ある実施形態では、フレーム間予測は、次のうちの1つをさらに含む。第1の予測頂点と現在頂点との差に基づくデルタ予測。第1の予測頂点は、現在頂点の複数の隣接頂点のうちの1つを含む。フレーム間予測は、メッシュの複数の三角形のうちの予測三角形に基づいて第2の予測頂点が決定される平行四辺形予測も含むことができる。予測三角形は、現在頂点を含む前記複数の三角形のうちの三角形とエッジを共有する。第2の予測頂点は、共有されるエッジの反対側にあり、第2の予測頂点と予測三角形は平行四辺形を形成する。
【0117】
ある実施形態では、現在頂点の予測情報は、さらにフラグを含む。フラグは、予測残差が、(i)フラグの第1の値に基づく、現在頂点の推定誤差または選択された隣接推定誤差、(ii)フラグの第2の値に基づく予測誤差、および(iii)フラグの第3の値に基づく混合推定誤差のうちの1つであることを示す。
【0118】
ある実施形態では、現在頂点の予測情報は、フラグが第1の値であることに基づいて、予測リストにおけるどの予測子が予測残差であるかを示すインデックス情報をさらに含む。予測情報は、予測残差情報も含む。一例では、フラグが第1の値であることに基づいて、予測残差情報は、(i)インデックス情報が予測残差が現在頂点の推定誤差であることを示すことに応答して、現在頂点の推定誤差を、(ii)インデックス情報が予測残差が選択された隣接推定誤差であることを示すことに応答して、選択された隣接推定誤差を示す。フラグが第2の値であることに基づいて、予測残差情報は、現在頂点と予測誤差によって示される予測頂点との差を示す。フラグが第3の値であることに基づいて、予測残差情報は、現在頂点と混合推定誤差によって示される予測頂点との差を示す。
【0119】
そして、プロセスは(S799)に進み、終了する。
【0120】
プロセス(700)は、適宜適応されることができる。プロセス(700)におけるステップは、修正および/または省略されることができる。追加のステップを追加することができる。実装の任意の適切な順序を使用することができる。
【0121】
図8は、本開示のある実施形態によるプロセス(800)を概説するフローチャートを示す。プロセス(800)は、ビデオ・デコーダなどのデコーダにおいて使用できる。さまざまな実施形態において、プロセス(800)は、ビデオデコーダ(110)の機能を実行する処理回路、ビデオデコーダ(210)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態において、プロセス(800)はソフトウェア命令において実装され、よって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(800)を実行する。プロセスは(S801)で開始し、(S810)に進む。
【0122】
(S810)において、二次元モデルおよび三次元モデルのいずれかにおけるメッシュの現在フレームの符号化情報が受信される。現在フレームは、複数の頂点を含み、第1の時点におけるメッシュに対応する。符号化情報は、複数の頂点における現在頂点のインデックス情報を含む。インデックス情報は、現在頂点の予測残差を示す。
【0123】
(S820)では、複数の頂点から現在頂点の複数の隣接頂点を決定し、複数の隣接頂点のそれぞれは、それぞれのエッジを通じて現在頂点に接続される。
【0124】
(S830)では、現在頂点の複数の隣接頂点の複数の隣接推定誤差を決定する。複数の隣接推定誤差のそれぞれは、メッシュの参照フレームにおける前記複数の隣接頂点のうちの対応する隣接頂点の参照頂点と、現在フレームにおける複数の隣接頂点のうちの前記対応する隣接頂点との差を示す。参照フレームは、第2の時点におけるメッシュに対応する。
【0125】
(S840)では、(i)インデックス情報と、(ii)複数の隣接頂点の複数の隣接推定誤差とに基づいて、現在頂点の予測残差を決定する。
【0126】
(S850)では、現在頂点の決定された予測残差に基づいて、現在頂点が再構成される。
【0127】
そして、プロエッスは(S899)に進み、終了する。
【0128】
プロセス(800)は、適宜適応されることができる。プロセス(800)のステップは、修正および/または省略されることができる。追加のステップを追加することができる。実装の任意の適切な順序を使用することができる。
【0129】
上述の技法は、コンピュータ読み取り可能な命令を使用してコンピュータ・ソフトウェアとして実装されることができ、非一時的なコンピュータ読み取り可能な記憶媒体などの一つまたは複数のコンピュータ読み取り可能な媒体に物理的に記憶されることができる。たとえば、図9は、開示された主題のある種の実施形態を実装するのに適したコンピュータシステム(900)を示す。
【0130】
コンピュータ・ソフトウェアは、任意の適切なマシンコードまたはコンピュータ言語を使用してコーディングされることができ、アセンブリ、コンパイル、リンク、または同様の機構を適用して、一つまたは複数のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などの処理回路によって直接、またはインタープリット、マイクロコード実行などを通じて実行されることができる命令を含むコードを作成することができる。
【0131】
命令は、たとえば、パーソナルコンピュータ、タブレットコンピュータ、サーバー、スマートフォン、ゲーム装置、モノのインターネット装置などを含むさまざまなタイプのコンピュータまたはそのコンポーネント上で実行することができる。
【0132】
コンピュータ・システム(900)について図9に示されるコンポーネントは、例としての性質であり、本開示の実施形態を実装するコンピュータ・ソフトウェアの使用または機能の範囲に関する制限を示唆することを意図したものではない。コンポーネントの構成も、コンピュータ・システム(900)の例示的実施形態において示されているコンポーネントの任意の1つまたは組み合わせに関する何らかの依存性または要件を有するものとして解釈されるべきではない。
【0133】
コンピュータ・システム(900)は、ある種のヒューマン・インターフェース入力装置を含むことができる。そのようなヒューマン・インターフェース入力装置は、たとえば、触覚入力(たとえば、キーストローク、スワイプ、データグローブの動き)、音声入力(たとえば、声、拍手)、視覚入力(たとえば、ジェスチャー)、嗅覚入力(図示せず)を通じた一または複数の人間ユーザーによる入力に応答することができる。また、ヒューマン・インターフェース装置は、音声(たとえば、発話、音楽、周囲の音)、画像(たとえば、スキャンされた画像、スチール画像カメラから得られる写真画像)、ビデオ(たとえば、2次元ビデオ、立体視ビデオを含む3次元ビデオ)のような、人間による意識的入力に必ずしも直接関係しないある種のメディアを捕捉するために使用できる。
【0134】
入力ヒューマン・インターフェース装置は、キーボード(901)、マウス(902)、トラックパッド(903)、タッチスクリーン(910)、データグローブ(図示せず)、ジョイスティック(905)、マイクロフォン(906)、スキャナ(907)、カメラ(908)の一つまたは複数(それぞれの一つしか図示していない)を含んでいてもよい。
【0135】
コンピュータ・システム(900)はまた、ある種のヒューマン・インターフェース出力装置を含んでいてもよい。そのようなヒューマン・インターフェース出力装置は、たとえば、触覚出力、音、光、および臭い/味を通じて、一または複数の人間ユーザーの感覚を刺激するものであってもよい。そのようなヒューマン・インターフェース出力装置は、下記を含みうる。触覚出力装置(たとえば、タッチスクリーン(910)、データグローブ(図示せず)、またはジョイスティック(905)による触覚フィードバック;ただし、入力装置のはたらきをしない触覚フィードバック装置もありうる)、音声出力装置(たとえば、スピーカー(909)、ヘッドフォン(図示せず))、視覚出力装置(たとえば、CRT画面、LCD画面、プラズマスクリーン、OLED画面を含む画面(910);それぞれはタッチスクリーン入力機能があってもなくてもよく、それぞれは触覚フィードバック機能があってもなくてもよく、そのうちのいくつかは、2次元の視覚出力または立体視出力のような手段を通じた3次元より高い出力を出力することができる;仮想現実感眼鏡(図示せず)、ホログラフィーディスプレイおよび煙タンク(図示せず))、およびプリンタ(図示せず)。
【0136】
コンピュータ・システム(900)はまた、人間がアクセス可能な記憶装置および関連する媒体、たとえば、CD/DVDまたは類似の媒体(921)とともにCD/DVD ROM/RW(920)を含む光学式媒体、サムドライブ(922)、取り外し可能なハードドライブまたはソリッドステートドライブ(923)、テープおよびフロッピーディスクといったレガシー磁気媒体(図示せず)、セキュリティ・ドングルのような特化したROM/ASIC/PLDベースの装置(図示せず)などを含みうる。
【0137】
当業者はまた、現在開示されている主題に関連して使用される用語「コンピュータ読み取り可能な媒体」は、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解すべきである。
【0138】
コンピュータ・システム(900)はまた、一つまたは複数の通信ネットワーク(955)へのインターフェース(954)を含んでいてもよい。ネットワークは、たとえば、無線、有線、光学式でありうる。ネットワークは、さらに、ローカル、広域、都市圏、車載および工業用、リアルタイム、遅延耐性などでありうる。ネットワークの例は、イーサネット〔登録商標〕、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラー・ネットワーク、ケーブルテレビ、衛星テレビ、地上放送テレビを含むTV有線または無線の広域デジタルネットワーク、CANBusを含む車載および工業用などを含む。ある種のネットワークは、普通、ある種の汎用データ・ポートまたは周辺バス(949)(たとえば、コンピュータ・システム(900)のUSBポートなど)に取り付けられる外部ネットワーク・インターフェース・アダプターを必要とする。他は、普通、後述するようなシステム・バスへの取り付けによって、コンピュータ・システム(900)のコアに統合される(たとえば、PCコンピュータ・システムへのイーサネット・インターフェースまたはスマートフォン・コンピュータ・システムへのセルラー・ネットワーク・インターフェース)。これらのネットワークのいずれかを使用して、コンピュータ・システム(900)は、他のエンティティと通信することができる。そのような通信は、一方向性、受信のみ(たとえば、放送テレビ)、一方向性送信専用(たとえば、ある種のCANbus装置へのCANbus)、または、たとえば、ローカルまたは広域デジタルネットワークを使用する他のコンピュータ・システムへの双方向性であってもよい。上述のようなそれらのネットワークおよびネットワークインターフェースのそれぞれで、ある種のプロトコルおよびプロトコルスタックが使用できる。
【0139】
前述のヒューマン・インターフェース装置、人間がアクセス可能な記憶装置、およびネットワークインターフェースは、コンピュータ・システム(900)のコア(940)に取り付けられてもよい。
【0140】
コア(940)は、一つまたは複数の中央処理装置(CPU)(941)、グラフィックス処理装置(GPU)(942)、フィールドプログラマブルゲートアレイ(FPGA)(943)の形の特化したプログラマブル処理装置、ある種のタスクのためのハードウェアアクセラレータ(944)、グラフィクスアダプター(950)などを含みうる。これらの装置は、読み出し専用メモリ(ROM)(945)、ランダムアクセスメモリ(946)、内部のユーザー・アクセス可能でないハードドライブ、ソリッドステートドライブ(SSD)などの内部大容量記憶装置(947)とともに、システム・バス(948)を通じて接続されうる。いくつかのコンピュータ・システムでは、追加のCPU、GPUなどによる拡張を可能にするために、システム・バス(948)は、一つまたは複数の物理プラグの形でアクセス可能であってもよい。周辺装置は、コアのシステム・バス(948)に直接取り付けられることも、周辺バス(949)を通じて取り付けられることもできる。一例では、スクリーン(910)は、グラフィクス・アダプター(950)に接続されることができる。周辺バスのためのアーキテクチャーは、PCI、USBなどを含む。
【0141】
CPU(941)、GPU(942)、FPGA(943)、およびアクセラレータ(944)は、組み合わせて上述のコンピュータコードを構成することができるある種の命令を、実行しうる。そのコンピュータコードは、ROM(945)またはRAM(946)に記憶されうる。一時的データも、RAM(946)に記憶されることができ、一方、持続的データは、たとえば、内部大容量記憶装置(947)に記憶されることができる。一つまたは複数のCPU(941)、GPU(942)、大容量記憶装置(947)、ROM(945)、RAM(946)などと密接に関連付けることができるキャッシュメモリを使用することを通じて、メモリデバイスのいずれかへの高速な記憶および取り出しを可能にすることができる。
【0142】
コンピュータ読み取り可能な媒体は、さまざまなコンピュータ実装された動作を実行するためのコンピュータコードをその上に有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよく、または、コンピュータ・ソフトウェア分野の技術を有する者に周知であり利用可能な種類のものであってもよい。
【0143】
限定ではなく一例として、アーキテクチャー(900)、具体的にはコア(940)を有するコンピュータ・システムは、プロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)が一つまたは複数の有形のコンピュータ可読媒体に具現化されたソフトウェアを実行することの結果として、機能性を提供することができる。そのようなコンピュータ読み取り可能媒体は、上記で紹介したようなユーザー・アクセス可能な大容量記憶ならびにコア内部の大容量記憶装置(947)またはROM(945)のような非一時的な性質のコア(940)のある種の記憶に関連する媒体であることができる。本開示のさまざまな実施形態を実装するソフトウェアは、そのような装置に記憶され、コア(940)によって実行されることができる。コンピュータ読み取り可能媒体は、特定のニーズに応じて、一つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、RAM(946)に記憶されたデータ構造を定義し、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセスまたは特定の特定部分を、コア(940)および具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に実行させることができる。追加的または代替的に、コンピュータ・システムは、回路(たとえば、アクセラレータ(944))内に配線された、または他の仕方で具現された論理の結果として機能性を提供することができ、これは、本明細書に記載される特定のプロセスまたは特定のプロセスの特定部分を実行するためのソフトウェアの代わりに、またはそれと一緒に動作することができる。ソフトウェアへの言及は、論理を含み、適宜その逆も可能である。コンピュータ読み取り可能媒体への言及は、適宜、実行のためのソフトウェアを記憶する回路(たとえば集積回路(IC))、実行のための論理を具現する回路、またはその両方を包含することができる。本開示は、ハードウェアおよびソフトウェアの任意の好適な組み合わせを包含する。
【0144】
本開示は、いくつかの例示的な実施形態を説明してきたが、本開示の範囲内にはいる変更、置換、およびさまざまな代替等価物がある。よって、当業者は、本明細書に明示的に示されていない、または説明されていないが、本開示の原理を具現し、よってその精神および範囲内にある多数のシステムおよび方法を考案することができるであろう。
図1
図2
図3
図4
図5
図6A
図6B
図7
図8
図9
【国際調査報告】