JP7842231B2 - メッシュ処理のための方法、装置 - Google Patents

メッシュ処理のための方法、装置

Info

Publication number
JP7842231B2
JP7842231B2 JP2024547318A JP2024547318A JP7842231B2 JP 7842231 B2 JP7842231 B2 JP 7842231B2 JP 2024547318 A JP2024547318 A JP 2024547318A JP 2024547318 A JP2024547318 A JP 2024547318A JP 7842231 B2 JP7842231 B2 JP 7842231B2
Authority
JP
Japan
Prior art keywords
prediction
candidate
current vertex
determining
predictions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2024547318A
Other languages
English (en)
Other versions
JP2025507354A (ja
Inventor
ティエン,ジュン
ホアン,チャオ
シュ,シャオジョン
ジャン,シアン
リウ,シャン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent America LLC
Original Assignee
Tencent America LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent America LLC filed Critical Tencent America LLC
Publication of JP2025507354A publication Critical patent/JP2025507354A/ja
Application granted granted Critical
Publication of JP7842231B2 publication Critical patent/JP7842231B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本願は、2022年7月8日に出願された米国仮出願第63/359,669号「メッシュ圧縮における頂点位置コーディング」に対する優先権を主張する、2023年5月8日に提出された、出願番号が18/144,686であり、発明の名称が「メッシュ圧縮における頂点位置コーディング」である米国特許出願に対して優先権を主張し、その全体が参照により本明細書に組み込まれるものとする。
本開示は、メッシュ処理に関する実施形態を含む。
本明細書で提供される「背景技術」の説明は、本開示のコンテキストを大まかに示すことを目的とする。ここに名を挙げられている発明者の業績は、この背景技術に記載された範囲において、出願時に従来技術として通常見なされえない記載の態様と共に、明示的にも黙示的にも本開示に対する従来技術として認められない。
3次元(3D)撮影、モデリング及びレンダリングの進歩は、複数のプラットフォーム及び装置にわたる3Dコンテンツの遍在的存在を促進した。現在では、ある大陸で赤ちゃんの最初の一歩を撮影し、赤ちゃんの祖父母が別の大陸でその赤ちゃんを見て(いくつかの場合では、交流し)、完全没入体験を楽しむことができるようにする。そのような現実感を実現するために、モデルはこれまで以上に洗練されており、大量のデータがそれらのモデルの作成及び消費にリンクされる。3Dメッシュは、このような没入型コンテンツを表現するために広く使用されている。
本開示の態様は、メッシュ処理のための方法及び装置を提供する。いくつかの例では、メッシュ処理のための装置は、処理回路を含む。
本開示の一態様によれば、ビデオエンコーダが実行するメッシュ処理のための方法が提供される。この方法では、現在頂点の複数の候補予測を決定する。前記現在頂点がメッシュの複数の頂点に含まれる。複数の前記候補予測が複数の三角形に基づいて決定される。複数の前記三角形のそれぞれが各候補予測に対応する。複数の前記候補予測から前記現在頂点の予測を決定する。前記予測が、前記現在頂点の複数の候補予測の数が閾値以上であることに基づいて予め定められた予測インデックスによって識別される。決定された前記予測に基づいて前記現在頂点の予測情報をエンコードする。前記予測情報が前記現在頂点の予測を識別する予測インデックスを含む。
いくつかの実施形態では、前記閾値は、2以上5以下である。
一例では、前記現在頂点の複数の候補予測を決定するために、前記現在頂点に対して複数の前記三角形のうちの第1の三角形を決定し、前記第1の三角形が複数の前記三角形のうちの第2の三角形と共有エッジを有する。前記現在頂点が前記第2の三角形に含まれ、かつ前記共有エッジの反対側にある。前記第1の候補予測と前記第1の三角形が第1の平行四辺形を形成する平行四辺形予測によって、決定された前記第1の三角形に基づいて、複数の前記候補予測のうちの第1の候補予測を決定する。
一例では、前記現在頂点の複数の候補予測を決定するために、複数の前記候補予測の平均予測を決定する。
一例では、前記現在頂点の予測を決定するために、前記現在頂点の予測リストを決定する。前記予測リストにおける候補予測子が前記予測リストにおける平均予測及び前記平均予測に続く複数の前記候補予測を含む。前記予測リストにおける複数の前記候補予測の順序は、複数の前記候補予測に対応する複数の前記三角形の順序に基づくものである。前記予測リストにおける前記候補予測子のそれぞれが各予測インデックスに関連付けられる。
いくつかの実施形態では、複数の前記三角形は、螺旋状の三角形スパニングツリー順序でラベル付けされるエッジブレイカーアルゴリズムに基づいて順序付けされる。
一例では、前記現在頂点の複数の前記候補予測の数が前記閾値に等しいことに応答して、前記予測インデックスが第1の予測インデックスとして予め定められることに基づいて、予め定められた前記予測インデックスに従って、前記現在頂点の予測を前記予測リストにおける候補予測子の第1の候補予測子として決定する。一例では、前記現在頂点の複数の前記候補予測の数が前記閾値よりも大きいことに応答して、前記予測インデックスが第2の予測インデックスとして予め定められることに基づいて、予め定められた前記予測インデックスに従って、前記現在頂点の予測を前記予測リストにおける候補予測子の第2の候補予測子として決定する。一例では、前記現在頂点の複数の前記候補予測の数が前記閾値以上であることに応答して、前記予測インデックスが第3の予測インデックスとして予め定められることに基づいて、予め定められた前記予測インデックスに従って、前記現在頂点の予測を前記予測リストにおける候補予測子の第3の候補予測子として決定する。
一例では、前記現在頂点の予測を決定するために、前記予測リストにおける候補予測子のそれぞれと前記現在頂点との予測差を決定する。前記予測リストにおける候補予測子から前記予測差のうちの最小予測差に対応する前記予測を更に決定する。
一例では、前記現在頂点の予測を決定するために、前記予測リストの候補予測子のサブセット内の最小予測差を有する予測を決定する。
いくつかの実施形態では、固定長コーディング、可変長コーディング、及び差分コーディングのうちの1つに基づいて、前記予測リストにおける候補予測子のそれぞれに対して各予測インデックスを決定する。
いくつかの実施形態では、前記現在頂点の予測情報は、残差情報を含む。前記残差情報は、前記現在頂点と決定された前記予測との差を示す。いくつかの実施形態では、前記残差情報をエンコードしてもよい。例えば、固定長コーディング、指数ゴロムコーディング、及び算術コーディングのうちの1つに基づいて残差情報をエンコードしてもよい。
本開示の別の態様によれば、装置が提供される。前記装置は、処理回路を含む。前記処理回路は、記載されたメッシュ処理のための方法のいずれかを実行するように構成されてもよい。
本開示の態様はコンピュータによって実行されると、記載されたメッシュ処理のための方法のいずれかを前記コンピュータに実行させる命令を記憶する非一時的なコンピュータ可読媒体をさらに提供する。
開示された主題の更なる特徴、性質及び様々な利点は、下記の詳細な説明及び添付の図面からより明らかになる。
ビデオ処理システム(100)の例示的なブロック図の概略図である。 デコーダの例示的なブロック図の概略図である。 エンコーダの例示的なブロック図の概略図である。 本開示のいくつかの実施形態に係る第1の例示的な平行四辺形予測の概略図である。 本開示のいくつかの実施形態に係る第2の例示的な平行四辺形予測の概略図である。 エッジブレイカーアルゴリズムの5つのパッチ構成の例を示す。 エッジブレイカーアルゴリズムによる例示的なメッシュトラバーサルを示す。 平行四辺形予測に基づいて頂点を予測する例を示す概略図である。 本開示のいくつかの実施形態に係るプロセスの概要を示すフローチャートである。 本開示のいくつかの実施形態に係る別のプロセスの概要を示すフローチャートである。 一実施形態に係るコンピュータシステムの概略図である。
図1は、いくつかの例におけるビデオ処理システム(100)のブロック図を示す。ビデオ処理システム(100)は、開示された主題の用途の例であり、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダである。開示された主題は、例えば、ビデオ会議、デジタルTV、ストリーミングサービス、及び、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの記憶など、を含む他の画像及びビデオ対応用途に等しく適用可能である。
ビデオ処理システム(100)は、ビデオソース(101)を含み得る撮影サブシステム(113)を含む。ビデオソース(101)は、カメラによって撮影された画像及び/又はコンピュータによって生成された画像を1つ以上含んでもよい。例えば、デジタルカメラは、非圧縮のビデオピクチャ(102)のストリームを作成する。一例では、ビデオピクチャ(102)のストリームは、デジタルカメラによって取得されたサンプルを含む。エンコードされたビデオデータ(104)(又はコード化されたビデオビットストリーム)と比較して高いデータ量を強調するために太線で示されたビデオピクチャ(102)のストリームは、ビデオソース(101)に結合されたビデオエンコーダ(103)を含む電子デバイス(120)によって処理することができる。ビデオエンコーダ(103)は、以下でより詳細に説明されるように、開示された主題の態様を可能にするか又は実装するために、ハードウェア、ソフトウェア又はそれらの組み合わせを含むことができる。ビデオピクチャ(102)のストリームと比較してより低いデータ量を強調するために細線で示された、エンコードされたビデオデータ(104)(又はエンコードされたビデオビットストリーム)は、将来使用するためにストリーミングサーバ(105)に記憶することができる。図1のクライアントサブシステム(106)及び(108)のような1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(105)にアクセスして、エンコードされたビデオデータ(104)のコピー(107)及び(109)を検索することができる。クライアントサブシステム(106)は、例えば、電子デバイス(130)におけるビデオデコーダ(110)を含んでもよい。ビデオデコーダ(110)は、エンコードされたビデオデータの入り方向コピー(107)をデコードし、ディスプレイ(112)(例えば、表示画面)又は他のレンダリングデバイス(図示せず)でレンダリングできるビデオピクチャ(111)の出方向ストリームを作成する。いくつかのストリーミングシステムにおいて、エンコードされたビデオデータ(104)、(107)及び(109)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮規格に従ってエンコードすることができる。これらの規格の例は、ITU-T勧告H.265を含む。一例では、発展中のビデオコーディング規格は、非公式的に多用途ビデオコーディング(VVC)として知られている。開示された主題は、VVCのコンテキストに使用されてもよい。
なお、電子デバイス(120)及び(130)は、他の構成要素(図示せず)を含むことができる。例えば、電子デバイス(120)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(130)は、ビデオエンコーダ(図示せず)を含むことができる。
図2は、ビデオデコーダ(210)の例示的なブロック図を示す。ビデオデコーダ(210)は、電子デバイス(230)に含まれてもよい。電子デバイス(230)は、受信機(231)を含むことができる。受信機(231)は、ネットワークインタフェース回路などの受信回路を含んでもよい。ビデオデコーダ(210)は、図1の例におけるビデオデコーダ(110)の代わりに使用することができる。
受信機(231)は、ビデオデコーダ(210)によってデコードされる1つ以上のコード化ビデオシーケンスを受信してもよい。一実施形態では、一度に1つのコード化ビデオシーケンスを受信し、各コード化ビデオシーケンスのデコーディングは、他のコード化ビデオシーケンスのデコーディングから独立している。コード化ビデオシーケンスは、エンコードされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであり得るチャネル(201)から受信されてもよい。受信機(231)は、それぞれの使用エンティティ(図示せず)に転送され得る他のデータ、例えば、コード化オーディオデータ及び/又は補助データストリームとともに、エンコードされたビデオデータを受信してもよい。受信機(231)は、コード化ビデオシーケンスを他のデータから分離してもよい。ネットワークジッタを防止するために、バッファメモリ(215)は、受信機(231)とエントロピーデコーダ/パーサ(220)(以降、「パーサ(220)」)の間に結合されてもよい。特定の用途では、バッファメモリ(215)は、ビデオデコーダ(210)の一部である。他の場合、バッファメモリ(215)は、ビデオデコーダ(210)(図示せず)の外部に存在することができる。更に他の場合、例えば、ネットワークジッタを防止するためにビデオデコーダ(210)の外部にバッファメモリ(図示せず)が存在し、更に、例えば、再生タイミングを処理するためにビデオデコーダ(210)の内部に別のバッファメモリ(215)が存在することができる。受信機(231)が十分な帯域幅及び可制御性を有する記憶/転送装置から、又は等同期ネットワークからデータを受信する際に、バッファメモリ(215)は必要ではないことがあり、小さくされることがある。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(215)が必要であることがあり、バッファメモリ(215)は、比較的大きいことがあり、有利には適応サイズであることができ、ビデオデコーダ(210)の外部のオペレーティングシステム又は類似の要素(図示せず)に少なくとも部分的に実装され得る。
ビデオデコーダ(210)は、コード化ビデオシーケンスからシンボル(221)を再構築するパーサ(220)を含んでもよい。これらのシンボルのカテゴリは、ビデオデコーダ(210)の動作を管理するために使用される情報を含み、そして、電子デバイス(230)の不可欠な部分ではないが、図2に示されるように電子デバイス(230)に結合することができるレンダリングデバイス(212)(例えば、表示画面)のようなレンダリングデバイスを制御する情報を潜在的に含む。レンダリングデバイスのための制御情報は、補助強化情報(SEI)メッセージ又はビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形態であってもよい。パーサ(220)は、受信されたコード化ビデオシーケンスを構文解析/エントロピーデコードしてもよい。コード化ビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に合わせることができ、可変長コーディング、ハフマンコーディング、コンテキスト感受性を有するか又は有さない算術コーディングなどを含む様々な原理に従うことができる。パーサ(220)は、グループに対応する少なくとも1つのパラメータに基づいて、コード化ビデオシーケンスからビデオデコーダ内の画素の少なくとも1つのサブグループのためのサブグループパラメータのセットを抽出してもよい。サブグループは、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサ(220)は、コード化ビデオシーケンスから変換係数、量子化パラメータ値、動きベクトルなどのような情報も抽出してもよい。
パーサ(220)は、シンボル(221)を作成するために、バッファメモリ(215)から受信されたビデオシーケンスに対してエントロピーデコーディング/構文解析動作を実行してもよい。
シンボル(221)の再構築は、コード化されたビデオピクチャ又はその一部(例えば、インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロック)のタイプ及び他の要因に応じて、複数の異なるユニットに関与することができる。どのユニットが、どのように関与するかは、パーサ(220)によってコード化ビデオシーケンスから構文解析されたサブグループ制御情報によって制御することができる。パーサ(220)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために示されていない。
すでに述べた機能ブロックに加え、ビデオデコーダ(210)は、以下で説明されるようにいくつかの機能ユニットに概念的に細分することができる。商業的制約で動作する実際の実装では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的には互いに統合することができる。しかしながら、開示された主題を説明するために、以下の機能ユニットへの概念的な細分は適切である。
第1のユニットは、スケーラ/逆変換ユニット(251)である。スケーラ/逆変換ユニット(251)は、使用する変換、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む制御情報と、量子化された変換係数とを、シンボル(221)としてパーサ(220)から受信する。スケーラ/逆変換ユニット(251)は、アグリゲータ(255)に入力可能なサンプル値を含むブロックを出力することができる。
いくつかの場合では、スケーラ/逆変換ユニット(251)の出力サンプルは、イントラコード化ブロックに関係することがある。イントラコード化ブロックは、予め再構築されたピクチャからの予測情報を使用していないが、現在ピクチャの予め再構築された部分からの予測情報を使用できるブロックである。このような予測情報は、イントラピクチャ予測ユニット(252)によって提供することができる。いくつかの場合では、イントラピクチャ予測ユニット(252)は、現在ピクチャバッファ(258)から取り出された周囲の既に再構築された情報を用いて、再構築中のブロックと同じサイズ及び形状のブロックを生成する。現在ピクチャバッファ(258)は、例えば、部分的に再構築された現在ピクチャ及び/又は完全に再構築された現在ピクチャをバッファリングする。アグリゲータ(255)は、いくつかの場合では、サンプルごとに、イントラ予測ユニット(252)が生成した予測情報を、スケーラ/逆変換ユニット(251)によって提供される出力サンプル情報に追加する。
他の場合では、スケーラ/逆変換ユニット(251)の出力サンプルは、インターコード化された、潜在的に動き補償されたブロックに関係することができる。このような場合に、動き補償予測ユニット(253)は、参照ピクチャメモリ(257)にアクセスして、予測に使用されるサンプルを取り出すことができる。取り出されたサンプルをブロックに関係するシンボル(221)に従って動き補償した後、出力サンプル情報を生成するように、これらのサンプルは、アグリゲータ(255)によってスケーラ/逆変換ユニット(251)の出力に追加することができる(この場合に、残差サンプル又は残差信号と呼ばれる)。動き補償予測ユニット(253)が予測サンプルを取り出す参照ピクチャメモリ(257)内のアドレスは、例えば、X、Y及び参照ピクチャ成分を有し得るシンボル(221)の形態で動き補償予測ユニット(253)に利用可能な動きベクトルによって制御することができる。動き補償は、サブサンプルの正確な動きベクトルが使用中であるときに参照ピクチャメモリ(257)から取り出されたサンプル値の補間、動きベクトル予測メカニズムなどを含むこともできる。
アグリゲータ(255)の出力サンプルは、ループフィルタユニット(256)において様々なループフィルタリング技術によって用いられてもよい。ビデオ圧縮技術は、コード化ビデオシーケンス(コード化されたビデオビットストリームとも呼ばれる)に含まれ、パーサ(220)からのシンボル(221)としてループフィルタユニット(256)に利用可能とされたパラメータによって制御されるループ内フィルタ技術を含むことができる。ビデオ圧縮は、コード化ピクチャ又はコード化ビデオシーケンスの(デコーディング順序で)前の部分のデコーディング中に取得されたメタ情報に応じるとともに、予め再構築されループフィルタリングされたサンプル値に応じることもできる。
ループフィルタユニット(256)の出力は、レンダリングデバイス(212)へ出力することができるとともに、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(257)に記憶することができるサンプルストリームであり得る。
特定のコード化ピクチャは、完全に再構築されると、将来の予測のために参照ピクチャとして使用することができる。例えば、現在ピクチャに対応するコード化ピクチャが完全に再構築され、コード化ピクチャが(例えば、パーサ(220)によって)参照ピクチャとして識別されると、現在ピクチャバッファ(258)は、参照ピクチャメモリ(257)の一部になることができ、次のコード化ピクチャの再構築を開始する前に新しい現在ピクチャバッファを再割当てすることができる。
ビデオデコーダ(210)は、所定のビデオ圧縮技術又はITU-T勧告H.265のような規格に従ってデコーディング動作を実行することができる。コード化ビデオシーケンスがビデオ圧縮技術又は規格の構文と、ビデオ圧縮技術又は規格で文書化されたプロファイルとの両方に準拠しているという意味で、コード化ビデオシーケンスは、使用されているビデオ圧縮技術又は規格によって指定される構文に準拠し得る。具体的には、プロファイルは、ビデオ圧縮技術又は規格で利用可能な全てのツールから、特定のツールをそのプロファイルで利用可能な唯一のツールとして選択することができる。コード化ビデオシーケンスの複雑さがビデオ圧縮技術又は規格のレベルで限定される範囲内にあることも、コンプライアンスに対して必要である。いくつかの場合では、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構築サンプルレート(例えば、1秒あたりのメガサンプルで測定される)、最大参照ピクチャサイズなどを制限する。いくつかの場合では、レベルによって設定された制限は、仮想参照デコーダ(HRD)の仕様及びコード化ビデオシーケンスでシグナリングされたHRDバッファ管理のためのメタデータによって更に制限され得る。
一実施形態では、受信機(231)は、エンコードされたビデオとともに追加の(冗長)データを受信することができる。追加のデータは、コード化ビデオシーケンスの一部として含まれてもよい。追加のデータは、データを適切にデコードし、及び/又は、元のビデオデータをより正確に再構築するためにビデオデコーダ(210)によって使用されてもよい。追加のデータは、例えば、時間的、空間的又は信号対雑音比(SNR)エンハンスメントレイヤ、冗長スライス、冗長ピクチャ、前方向誤り訂正コードなどの形態であり得る。
図3は、ビデオエンコーダ(303)の例示的なブロック図を示す。ビデオエンコーダ(303)は、電子デバイス(320)に含まれる。電子デバイス(320)は、送信機(340)(例えば、送信回路)を含む。ビデオエンコーダ(303)は、図1の例におけるビデオエンコーダ(103)の代わりに使用することができる。
ビデオエンコーダ(303)は、ビデオエンコーダ(303)によってコード化すべきビデオ画像を撮影し得るビデオソース(301)(図3の例では電子デバイス(320)の一部ではない)からビデオサンプルを受信することができる。別の例では、ビデオソース(301)は、電子デバイス(320)の一部である。
ビデオソース(301)は、ビデオエンコーダ(303)によってコード化すべきソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット…)、任意の色空間(例えば、BT.601 Y CrCB、RGB…)及び任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形態で提供し得る。メディア供給システムでは、ビデオソース(301)は、予め準備されたビデオを記憶する記憶装置であり得る。ビデオ会議システムでは、ビデオソース(301)は、ローカル画像情報をビデオシーケンスとして撮影するカメラであり得る。ビデオデータは、順番に見られるときに動きが与えられる複数の個別のピクチャとして提供されてもよい。ピクチャ自体は、画素の空間アレイとして編成されてもよく、各画素は、使用中のサンプリング構造、色空間などに応じて1つ以上のサンプルを含むことができる。以下の説明ではサンプルを中心に説明する。
一実施形態によれば、ビデオエンコーダ(303)は、リアルタイムで又は要求される任意の他の時間制約の下でソースビデオシーケンスのピクチャをコード化し、コード化ビデオシーケンス(343)に圧縮することができる。適切なコーディング速度を実施することは、コントローラ(350)の機能の1つである。いくつかの実施形態では、コントローラ(350)は、以下で説明されるように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。明瞭にするために、結合は図示されていない。コントローラ(350)によって設定されたパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化、レート歪み最適化技術のラムダ値…)、ピクチャサイズ、ピクチャ群(GOP)レイアウト、最大動きベクトル検索範囲などを含むことができる。コントローラ(350)は、特定のシステム設計に対して最適化されたビデオエンコーダ(303)に関係する他の適切な機能を有するように構成することができる。
いくつかの実施形態では、ビデオエンコーダ(303)は、コーディングループで動作するように構成される。過度に簡略化した説明として、一例では、コーディングループは、ソースコーダ(330)(例えば、コード化すべき入力ピクチャ及び参照ピクチャに基づくシンボルストリームなどのシンボルの作成を担当する)、及びビデオエンコーダ(303)に埋め込まれた(ローカル)デコーダ(333)を含むことができる。デコーダ(333)は、シンボルを再構築して、(リモート)デコーダが作成するのと同様な方法でサンプルデータを作成する。再構築されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(334)に入力される。シンボルストリームのデコーディングにより、(ローカル又はリモート)デコーダの位置に関係なくビット正確な結果が得られるため、参照ピクチャメモリ(334)のコンテンツもローカルエンコーダとリモートエンコーダの間でビット正確である。言い換えれば、エンコーダの予測部分は、参照ピクチャサンプルとして、デコーディング中に予測を使用するときにデコーダが「見る」のと全く同じサンプル値を「見る」。参照ピクチャの同期性のこの基本原理(及び例えばチャネルエラーに起因して同期性を維持できない場合に生じるドリフト)は、いくつかの関連技術にも使用されている。
「ローカル」デコーダ(333)の動作は、前文で図2に関連して既に詳細に説明された、ビデオデコーダ(210)などの「リモート」デコーダの動作と同様であり得る。しかしながら、図2も簡単に参照し、シンボルが利用可能であり、エントロピーコーダ(345)及びパーサ(220)によるコード化ビデオシーケンスへのシンボルのエンコーディング/デコーディングは可逆であり得るため、バッファメモリ(215)及びパーサ(220)を含むビデオデコーダ(210)のエントロピーデコーディング部分は、ローカルデコーダ(333)では完全に実装されない場合がある。
一実施形態では、デコーダに存在する構文解析/エントロピーデコーディング以外のデコーダ技術は、対応するエンコーダに同一又は実質的に同一の機能的形態で存在する。したがって、開示された主題は、デコーダの動作に焦点を合わせている。エンコーダ技術の説明は、包括的に説明されたデコーダ技術の逆であるため、省略できる。特定の領域で、より詳細な説明が以下に提供される。
動作中、いくつかの例では、ソースコーダ(330)は、動き補償予測コーディングを実行してもよく、動き補償予測コーディングは、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の予めコード化されたピクチャを参照して入力ピクチャを予測的にコード化する。このようにして、コーディングエンジン(332)は、入力ピクチャの画素ブロックと、入力ピクチャへの予測基準として選択され得る参照ピクチャの画素ブロックとの差をコード化する。
ローカルビデオデコーダ(333)は、ソースコーダ(330)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコード化されたビデオデータをデコードすることができる。コーディングエンジン(332)の動作は、有利には非可逆プロセスであり得る。コード化されたビデオデータがビデオデコーダ(図3に図示されていない)でデコードされ得るとき、再構築されたビデオシーケンスは、通常、いくつかの誤差を伴うソースビデオシーケンスのレプリカであってもよい。ローカルビデオデコーダ(333)は、ビデオデコーダによって参照ピクチャに対して実行され得るデコーディングプロセスを再現し、再構築された参照ピクチャを参照ピクチャメモリ(334)に記憶させることができる。このようにして、ビデオエンコーダ(303)は、遠端ビデオデコーダによって取得される再構築された参照ピクチャと共通するコンテンツ(送信エラー無し)を有する再構築された参照ピクチャのコピーをローカルに記憶し得る。
予測子(335)は、コーディングエンジン(332)の予測検索を実行することができる。つまり、新しいコード化すべきピクチャについて、予測子(335)は、(候補の参照画素ブロックとしての)サンプルデータ、又は、参照ピクチャの動きベクトル、ブロック形状など、新しいピクチャの適切な予測基準として機能し得る特定のメタデータを参照ピクチャメモリ(334)で検索することができる。予測子(335)は、適切な予測基準を見つけるために、サンプルブロック/画素ブロックごとに動作することができる。いくつかの場合では、予測子(335)によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(334)に記憶された複数の参照ピクチャから引き出された予測基準を有してもよい。
コントローラ(350)は、例えば、ビデオデータをエンコーディングするために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(330)のコーディング動作を管理してもよい。
前述の全ての機能ユニットの出力は、エントロピーコーダ(345)でエントロピーコーディングされてもよい。エントロピーコーダ(345)は、例えば、ハフマンコーディング、可変長コーディング、算術コーディングなどの技術に従ってシンボルに対して可逆圧縮を適用することにより、様々な機能ユニットによって生成されたシンボルをコード化ビデオシーケンスに変換する。
送信機(340)は、エンコードされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであり得る通信チャネル(360)を介した送信の準備のために、エントロピーコーダ(345)によって作成されたコード化ビデオシーケンスをバッファリングすることができる。送信機(340)は、ビデオエンコーダ(303)からのコード化されたビデオデータを、送信されるべき他のデータ、例えば、コード化オーディオデータ及び/又は補助データストリーム(ソースは図示されていない)とマージしてもよい。
コントローラ(350)は、ビデオエンコーダ(303)の動作を管理してもよい。コーディング中、コントローラ(350)は、各コード化ピクチャに特定のコード化ピクチャタイプを割り当てることができ、これは、各々のピクチャに適用され得るコーディング技術に影響を及ぼし得る。例えば、ピクチャは、下記のピクチャタイプのいずれかが割り当てられてもよいことが多い。
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のいかなるピクチャを使用せずにコード化及びデコードされ得るものであり得る。いくつかのビデオコーデックは、例えば、インディペンデントデコーダリフレッシュ(Independent Decoder Refresh、「IDR」)ピクチャを含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャの変形及びそれらの各々の用途及び特徴を知っている。
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大1つの動きベクトル及び参照インデックスを使用したイントラ予測又はインター予測によりコード化及びデコードされ得るものであり得る。
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大2つの動きベクトル及び参照インデックスを使用したイントラ予測又はインター予測によりコード化及びデコードされ得るものであり得る。同様に、多重予測ピクチャは、単数のブロックの再構築のために3つ以上の参照ピクチャ及び関連メタデータを使用することができる。
ソースピクチャは、一般的に、複数のサンプルブロック(例えば、それぞれ、4×4、8×8、4×8又は16×16サンプルのブロック)に空間的に細分され、ブロックごとにコード化されてもよい。ブロックは、ブロックの各々のピクチャに適用されるコーディング割り当てによって決定された他の(既にコード化された)ブロックを参照して予測的にコード化され得る。例えば、Iピクチャのブロックは、非予測的にコード化されてもよく、同一のピクチャの既にコード化されたブロックを参照して予測的にコード化されてもよい(空間的予測又はイントラ予測)。Pピクチャの画素ブロックは、1つの予めコード化された参照ピクチャを参照して、空間的予測又は時間的予測を介して予測的にコード化されてもよい。Bピクチャのブロックは、1つ又は2つの予めコード化された参照ピクチャを参照して、空間的予測又は時間的予測を介して予測的にコード化されてもよい。
ビデオエンコーダ(303)は、ITU-T勧告H.265などの所定のビデオコーディング技術又は規格に従ってコーディング動作を実行することができる。動作中、ビデオエンコーダ(303)は、入力ビデオシーケンスの時間的冗長性及び空間的冗長性を利用する予測コーディング動作を含む、様々な圧縮動作を実行することができる。したがって、コード化されたビデオデータは、使用されるビデオコーディング技術又は規格によって指定された構文に従う場合がある。
一実施形態では、送信機(340)は、エンコードされたビデオとともに追加のデータを送信してもよい。ソースコーダ(330)は、このようなデータをコード化ビデオシーケンスの一部として含み得る。追加のデータは、時間的/空間的/SNRエンハンスメントレイヤ、冗長ピクチャ及び冗長スライスなどの他の形態の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを含み得る。
ビデオは、時系列で複数のソースピクチャ(ビデオピクチャ)として撮影され得る。イントラピクチャ予測(「イントラ予測」と略されることが多い)は、所定のピクチャにおける空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例では、現在ピクチャと呼ばれるエンコーディング/デコーディング中の特定のピクチャは、ブロックに分割される。現在ピクチャにおけるブロックが、ビデオにおける予めコード化され、まだバッファリングされている参照ピクチャにおける参照ブロックに類似している場合、現在ピクチャにおけるブロックは、動きベクトルと呼ばれるベクトルによってコード化することができる。動きベクトルは、参照ピクチャにおける参照ブロックを指し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3次元を有することができる。
いくつかの実施形態では、インターピクチャ予測において双予測技術を使用することができる。双予測技術によれば、ビデオにおける現在ピクチャよりデコーディング順序がそれぞれ前である(ただし、表示順序でそれぞれ過去及び将来にあり得る)第1の参照ピクチャ及び第2の参照ピクチャのような2つの参照ピクチャを使用する。現在ピクチャにおけるブロックは、第1の参照ピクチャにおける第1の参照ブロックを指す第1の動きベクトル、及び第2の参照ピクチャにおける第2の参照ブロックを指す第2の動きベクトルによってコード化することができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせから予測することができる。
更に、マージモード技術をインターピクチャ予測に使用して、コーディング効率を向上させることができる。
本開示のいくつかの実施形態によれば、インターピクチャ予測及びイントラピクチャ予測などの予測は、ポリゴン又は三角形のブロックなどのブロック単位で実行される。例えば、HEVC規格によれば、一連のビデオピクチャのうちのピクチャは、圧縮のためにコーディングツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64画素、32×32画素、又は16×16画素など、同一のサイズを有する。一般に、CTUは、1つの輝度CTBと2つの彩度CTBである3つのコーディングツリーブロック(CTB)を含む。各CTUは、1つ以上のコーディングユニット(CU)に再帰的に四分木分割することができる。例えば、64×64画素のCTUは、1つの64×64画素のCU、又は4つの32×32画素のCU、又は16個の16×16画素のCUに分割することができる。一例では、各CUを解析して、インター予測タイプ又はイントラ予測タイプなど、CUの予測タイプを決定する。CUは、時間的及び/又は空間的予測可能性に応じて、1つ以上の予測ユニット(PU)に分割される。一般に、各PUは、1つの輝度予測ブロック(PB)と2つの彩度PBを含む。一実施形態では、コーディング(エンコーディング/デコーディング)における予測動作は、予測ブロックの単位で実行される。輝度予測ブロックを予測ブロックの例として用いて、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素などの画素の値(例えば、輝度値)の行列を含む。
なお、ビデオエンコーダ(103)及び(303)とビデオデコーダ(110)及び(210)とは、任意の適切な技術を用いて実装することができる。一実施形態では、ビデオエンコーダ(103)及び(303)とビデオデコーダ(110)及び(210)とは、1つ以上の集積回路を用いて実装することができる。別の実施形態では、ビデオエンコーダ(103)及び(303)とビデオデコーダ(110)及び(210)とは、ソフトウェア命令を実行する1つ以上のプロセッサを用いて実装することができる。
本開示は、メッシュ圧縮における頂点位置コーディングの方法及びシステムに関する実施形態を含む。
メッシュは、ボリュームオブジェクトの表面を説明するポリゴンをいくつか含んでもよい。メッシュの各ポリゴンは、3次元(3D)空間内の対応するポリゴンの頂点と、頂点がどのように接続されるかの情報(接続性情報と呼ぶことができる)によって定義することができる。いくつかの実施形態では、色、法線などの頂点属性をメッシュ頂点に関連付けることができる。2次元(2D)属性マップ内のメッシュをパラメータ化するマッピング情報を利用することにより、属性(又は頂点属性)をメッシュの表面に関連付けることもできる。このようなマッピングは通常、メッシュ頂点に関連付けられた、UV座標又はテクスチャ座標と呼ばれるパラメトリック座標のセットによって記述することができる。2D属性マップは、テクスチャ、法線、変位などの高解像度属性情報を記憶するために使用することができる。このような情報は、テクスチャマッピング及びシェーディングなどの様々な目的に使用することができる。
動的メッシュシーケンスは、動的メッシュが経時的に変化する大量の情報を含む可能性があるため、大量のデータを必要とする可能性がある。したがって、このようなコンテンツを記憶し送信するには、効率的な圧縮技術が必要である。IC、MESHGRID及びFAMCなどのメッシュ圧縮規格は、常時接続性、時変ジオメトリ及び頂点属性を有する動的メッシュに対処するようにMPEGによって以前に開発された。しかしながら、これらの規格では、時変属性マップ及び接続性情報が考慮されていない。通常、DCC(デジタルコンテンツ作成)ツールは、このような動的メッシュを生成する。しかしながら、特にリアルタイムの制約の下で常時接続性動的メッシュを生成することは、ボリューム取得技術にとって困難である。このタイプのコンテンツ(例えば、常時接続性動的メッシュ)は、既存の規格にサポートされない可能性がある。MPEGは、時変接続性情報及び任意に時変属性マップを有する動的メッシュを直接処理する新しいメッシュ圧縮規格を開発することを計画している。この新しいメッシュ圧縮規格は、リアルタイム通信、ストレージ、自由視点ビデオ、拡張現実(AR)、仮想現実(VR)などの様々な用途向けの非可逆圧縮及び可逆圧縮を対象とする。ランダムアクセス及びスケーラブル/プログレッシブコーディングなどの機能性も考慮される。
メッシュジオメトリ情報は、頂点接続性情報、3D座標、及び2Dテクスチャ座標などを含むことができる。頂点位置とも呼ばれる頂点3D座標の圧縮は、多くの場合、ジオメトリ関連データ全体のかなりの部分を消費することができるため、非常に重要である。
本開示では、簡単かつ明確にするために、一例として三角形メッシュを使用して実施形態を説明する。しかしながら、他のポリゴンメッシュ(例えば、四角形メッシュ又は五角形メッシュ)も本開示の実施形態に適用することができる。一例では、三角形メッシュは、一連の三角形を含むポリゴンメッシュの一種である。一連の三角形は、共通のエッジ又はコーナーによって接続することができる。共通のエッジ又はコーナーは、メッシュ頂点として表すことができる。
頂点位置圧縮は、平行四辺形予測によって実装することができる。平行四辺形予測では、圧縮アルゴリズムにより、予測三角形に含まれる新しい頂点を導入することができる。予測三角形は、隣接する三角形と共有されるエッジに基づいて形成することができる。一例では、隣接する三角形を予めコード化することができる。新しい頂点は、現在頂点の予測位置を示すことができる。新しい頂点は、隣接する三角形に含まれる3つの頂点と共に平行四辺形を形成することができる。例えば、図4Aに示すように、メッシュ(400A)は、三角形(412)などの複数の三角形を含むことができる。三角形のそれぞれは、3つの頂点を含むことができる。例えば、三角形(412)は、頂点(406)、(408)、及び(410)を含むことができる。現在頂点(402)をコード化するために、平行四辺形予測に従って、現在頂点(402)の予測頂点(又は予測)(404)を予測三角形(414)に基づいて生成することができる。予測頂点(404)は、予測三角形(414)に含まれる。予測三角形(414)は、三角形(412)とエッジ(416)を共有することができる。頂点(406)、(408)、(410)及び予測頂点(404)は、平行四辺形を形成することができる。更に、現在頂点(402)は、メッシュ(400A)の三角形(418)に含まれ、三角形(418)と三角形(412)はエッジ(416)を共有する。
現在頂点を予測するために、複数の平行四辺形予測を適用することができる。複数の平行四辺形予測では、例えば、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)の平均によって予測することができる。
本開示では、メッシュ圧縮のための頂点位置コーディングの方法及び/又はシステムが提供される。一実施形態では、平行四辺形予測に基づいて、現在頂点の予測位置値(又は予測又は予測頂点)を複数の候補位置値(又は候補予測又は候補予測頂点)から選択することができる。選択された予測頂点は、インデックスによってコード化(又は識別)することができる。選択された予測頂点と現在頂点との予測残差を更にコード化することができる。
本開示では、メッシュ圧縮における頂点位置予測のために、多くの方法及び/又はシステムを提案することができる。なお、これらの方法及び/又はシステムは、個別に又は任意の組み合わせで適用することができる。なお、こられの方法は、動的メッシュだけでなく、静的メッシュに適用することができる。静的メッシュは、1つのフレームのみを含んでもよく、静的メッシュのメッシュコンテンツは、経時的に変化しなくてもよい。更に、開示された方法及び/又はシステムは、頂点位置予測に限定されない。開示された方法及び/又はシステムは、例えば、2Dテクスチャ座標予測、又はより一般的な多重予測ベースのスキームにも適用することができる。
三角形メッシュ(又はメッシュ)内の三角形を順序付けすることができる。メッシュ内の三角形の順序は、エッジブレイカーアルゴリズム又は他の分割アルゴリズムに従ってトラバースすることができる。更に、一例では、メッシュ内の頂点を三角形の順序に基づいて順序付けすることもできる。一例では、三角形及び頂点の順序又はトラバース順序は、同じスキーム又は異なるスキームに基づいて決定することができる。
図5A及び5Bは、エッジブレイカーアルゴリズムに基づく、メッシュ内の三角形と頂点の例示的な順序付けを示す。図5Aは、エッジブレイカーアルゴリズムの5つの例示的なパッチ構成を示す。図5Aに示すように、vは、パッチの中心頂点、Tは現在三角形である。各パッチ内のアクティブゲート(又は現在三角形)は、Tとして表すことができる。パッチCでは、vを中心に扇形に広がる(又は回転する)完全な三角形を提供することができる。パッチLでは、1つ以上の欠落している三角形がアクティブゲートTの左側に配置することができる。パッチRでは、1つ以上の欠落している三角形がアクティブゲートTの右側に配置することができる。パッチEでは、vはTのみに隣接する。パッチSでは、1つ以上の欠落している三角形がアクティブゲートTの左側又は右側以外の位置に配置することができる。図5Bは、エッジブレイカーアルゴリズムのトラバーサルに基づいてメッシュ(500)の三角形を順序付けすることができるメッシュ(500)の例示的なトラバーサルを示す。図5Bに示すように、メッシュ(500)内の三角形は、螺旋状の三角形スパニングツリーに沿ってトラバースすることができる。例えば、トラバーサルは、Cタイプ(又はCパッチ)の三角形(502)から開始することができる。そして、トラバーサルは、三角形(例えば、(502))の右エッジに隣接する分岐に沿って進むことができる。トラバーサルは、Eタイプの三角形(例えば、(504))に到達すると停止することができる。エッジブレイカーアルゴリズムによれば、メッシュ(500)の三角形は、CRSRLECRRRLEのシーケンスでトラバース(又は順序付け)することができ、これは、図5Bに示すことができる。メッシュ(500)の三角形のそれぞれの頂点は、三角形の順序に基づいて順序付けすることもできる。
三角形メッシュでは、各三角形(面とも呼ばれる)は、3つの頂点を有する。エッジを共有する2つの三角形に対して、平行四辺形予測は、2つの三角形の対向する2つの頂点のうちの一方を他方の予測子として使用するために適用することができる。図6に示すように、2つの三角形ABCと三角形DBCは、エッジBCを共有することができる。すでにコード化された頂点A、B及びCの座標は、Dの座標を予測するために適用することができる。例えば、予測頂点(又は予測)D’は、平行四辺形予測に基づいて決定することができる。予測頂点D’の座標は、式(1)で以下のとおり決定することができる。
このようにして、4つの頂点(D’、B、A、C)は、図6に示すように、平行四辺形を形成することができる。各頂点には3D座標があるため、式(1)は、予測頂点D’の各座標成分を計算するために使用することができる。例えば、下付き文字x、y、zがxyz空間内の3D座標を表すと仮定すると、xyz空間内の予測頂点D’の座標成分は、式(2)~(4)で提供することができる。
頂点A、B及びCの位置値がコード化されて予測のために使用することができれば、三角形ABCは、頂点Dの予測候補(又は予測三角形)として表すことができる。既存のコード化された頂点と共有エッジの数に応じて、頂点は、0、1つ、2つ、又はそれ以上の予測候補を有し得る。現在頂点に対して複数の予測候補があれば、メッシュの三角形の順序に基づいて予測候補を順序付けすることができる。例えば、三角形は、エッジブレイカーアルゴリズムなどに基づいて順序付けすることができる。
本開示では、現在頂点の複数の予測(又は平行四辺形予測)を決定することができる。複数の平行四辺形予測の平均(又は平均予測)を更に決定することができる。現在頂点の予測(又は予測頂点)を予測リストから選択することができる。予測リストの予測子(又は候補予測子)は、例えば、利用可能な平行四辺形予測及び複数の平行四辺形予測の平均を含むことができる。関連付けられた予測誤差(予測残差とも呼ばれる)は、コード化することができる。予測誤差(又は予測残差)は、予測と現在頂点との差を示すことができる。一実施形態では、予測は、現在頂点と予測リストにおける予測子(又は候補予測子)のそれぞれとの最小予測誤差に対応することができる。一実施形態では、予測リストにおける予測子(又は候補予測子)の数が閾値以上であることに基づいて、予測を予測リストにおいて事前に定義することができる。したがって、予測リストにおける予測子(又は候補予測子)の数が閾値以上であることに従って、予測リストにおける特定の(又は所定の)予測子を現在頂点の予測として選択することができる。
本開示では、三角形メッシュ内の全ての三角形を順序付けすることができる。例えば、エッジブレイカーアルゴリズムに基づいて三角形を順序付けすることができる。また、三角形メッシュ内の全て又は部分の頂点を順序付けすることもできる。一例では、三角形の順序に基づいて頂点を順序付けすることができる。
三角形メッシュ内の頂点Vが与えられ、該頂点VはN個の予測候補(又は予測三角形)を含む。N個の予測候補は、N個の予測値V’、V’…V’を生成することができる。例えば、図4Bに示すように、現在頂点(420)は、2つの予測三角形(430)及び(432)を有することができる。予測三角形(430)及び(432)のそれぞれは、各々の予測値(又は予測頂点)、例えば(422)及び(424)をそれぞれ生成することができる。現在頂点の予測値は、メッシュ内の対応する予測三角形の順序に基づいて順序付けすることができる。予測値に重複が決定されれば、そのような重複を予測値のリストから削除することができる。
一例では、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’として決定することができる。
一例では、N=1であれば、頂点Vに利用可能な予測候補は、1つだけである。したがって、予測値V’は、唯一の予測候補に基づいて決定することができ、予測残差Rは、VとV’との差、即ちR=V-V’として決定することができる。
一例では、N≧2であれば、頂点Vに利用可能な予測候補が複数ある。したがって、複数の予測値(又は予測頂点)は、複数の予測候補に基づいて決定することができる。一実施形態では、予測値の平均を追加の予測子V’とみなすことができる。V’は、式(5)で決定することができる。
平均予測値V’が予測値V’、V’…V’のいずれかに等しければ、平均予測値V’又は重複した予測値のいずれかを削除することができる。
一実施形態では、エンコーダ側で、V’をVと比較することができ、0≦i≦Nである。予測インデックスjを選択することができる。選択された予測インデックスjは、Vと予測値V’のそれぞれとの最小予測残差に対応するV’の中から選択された予測値を示す。いくつかの実施形態では、最小化誤差(又は最小予測残差)は、Lノルム、Lノルム、Lノルム、又はいくつかの他のノルムによって測定することができる。例えば、Lノルムは、式(6)で以下のとおり決定することができる。
ここで、V、V、Vは、xyz空間内のVの座標で、V0x’、V0y’、V0z’は、xyz空間内のV’の座標である。
デコーダ側では、選択されたインデックス(例えば、予測インデックス)をデコードすることができ、選択された予測子(又は予測値)を予測子(又は候補予測子)のリストから復元することができる。例えば、デコーダは、平行四辺形予測などの予測モードに基づいて、現在頂点の1つ以上の予測値を決定することができる。また、複数の予測値の平均を予測子として考慮することができる。予測リストを形成するために、平均予測値及び1つ以上の予測値を順序付けすることができる。一例では、デコーダ側で生成された予測リストは、エンコーダ側で生成された予測リストと同じであり得る。デコードされた予測インデックスに基づいて、選択された予測子は、予測リストからの予測インデックスに基づいて復元することができる。
一実施形態では、エンコーダ側で、Nがいくつかの特定の値に等しければ(例えば、2≦N≦5)、固定予測インデックス(例えば、インデックス0、1…Nのいずれか)を予測リストで選択することができる。固定予測インデックスは、現在頂点の所定の予測子(又は予測頂点)を示す。したがって、予測インデックスは、コード化されなくてもよい。デコーダ側では、デコーダがまず予測リストを構築することができる。そして、デコーダは、固定予測インデックスに基づいて予測子を復元(又は決定)することができる。一例では、N>2であれば、予測インデックス0を選択することができ、これは、複数の予測の平均を示すことができる。一例では、N>2であれば、予測インデックスは、コード化されなくてもよい。
一実施形態では、エンコーダ側で、Nが特定の値(又は閾値)以上であれば、固定予測インデックスを選択又は決定することができる。一例では、特定の値(又は閾値)は、2であり得る。一例では、閾値(又は特定の値)は、2~10であリ得る。したがって、予測リストにおける全ての予測インデックスは、コード化されなくてもよい。デコーダ側では、デコーダは、Nの数に基づいて予測インデックスを復元(又は決定)することができる。例えば、N=2の場合、予測インデックス1を選択することができる。N>2の場合、予測インデックス0を選択することができる。別の例では、n≧2の場合、予測インデックス0を選択することができる。
一実施形態では、上限Mを設定することができる。上限Mは、予測リストにおいて考慮(又は適用)できる予測候補の数を示すことができる。ある場合に、N>Mであれば、メッシュ内の各頂点に対して、最初のM個の予測候補のみが考慮される。したがって、最初のM個の予測候補V’、V’…V’に関連付けられた予測値が適用される。一実施形態では、最初のM個の予測値の平均は、式(7)で決定することができる。
Mは、4などの整数であり得る。したがって、最大でM個(例えば4個)の予測候補を考慮することができる。なお、平均予測V’は、候補リストにおいて異なる位置に置くことができる。一例では、平均予測V’は、予測候補リストにおける最初の予測子であり得る。一例では、平均予測V’は、予測候補リストにおける最後の予測子であり得る。一例では、平均予測V’は、予測値V’、V’…V’に配置することができる。
頂点VがN個の予測候補V’、V’…V’及び平均V’を有する場合、選択された予測インデックスは、コード化されてもよい。
いくつかの実施形態では、予測インデックスは、複数の予測候補が存在する場合にのみコード化される必要がある。例えば、現在頂点に利用可能な予測候補が2つ以上である場合、選択された予測候補を示すインデックスは、エンコーダ側でコード化することができる。デコーダ側では、デコーダは、エンコーダと同じ順序で2つ以上の予測候補を決定することができる。デコーダは、コード化された予測インデックスをデコードし、2つ以上の予測候補からの予測インデックスに基づいて、選択された予測候補を再構築することができる。
一実施形態では、予測候補が決定されなければ、あるいは、1つのみの予測候補が決定されれば、予測インデックスは、コード化される必要がない。したがって、予測値は、現在頂点それ自体であってもよく、唯一の予測候補であってもよい。一実施形態では、予測インデックスは、利用可能な予測子候補の数に関係なく、常にコード化することができる。利用可能な予測子がない場合、シグナリングされたインデックスの値は、デコーダ側でのデコーディングプロセスに影響を及ぼさない場合がある。
いくつかの実施形態では、Nのいくつかの特定の値に対して固定予測インデックスが常に選択されるか又は予め定められる場合、予測インデックスは、コード化される必要がない場合がある。したがって、候補リストにおける予測子(又は候補予測子)の予測インデックスは、コード化される必要がない場合があり、候補リストから選択された予測インデックスは、デコーダにシグナリングされなくてもよい。
いくつかの実施形態では、予測インデックスは、固定ではなくてもよく、予測候補から選択することができる。現在頂点に対して複数の予測候補が決定される場合、予測インデックスは、例えば、固定長コーディングを使用してコード化することができる。例えば、現在頂点に対して3つの予測候補が決定されれば、0、1、2及び3(0は、候補1、2及び3の平均値を示す)の4つの可能な予測インデックスが必要であり得る。したがって、4つの予測インデックスのそれぞれを表すために、2桁の2進数を適用することができる。なお、三角形メッシュの異なる頂点は、異なる固定長を使用してもよい。例えば、別の頂点が7つの予測候補を有すれば、他の頂点は、予測インデックスを表すために3桁の2進数を使用することができる。固定長コーディングの出力は、算術コーディングなどのエントロピーコーディングにより更に圧縮することができる。
あるいは、予測インデックスは、可変長コーディングを使用してコード化することができる。例えば、現在頂点に対して4つの予測候補が決定されれば、0、1、2、3及び4の5つの可能な予測インデックスが必要であり得る。0、1、2、3及び4の5つの予測インデックスをそれぞれ表すために、0、100、101、110及び111の可変長コードを割り当てることができる。あるいは、0、1、2、3及び4の5つの予測インデックスをそれぞれ表すために、1、01、001、0001及び00001の可変長コードを適用することができる。なお、三角形メッシュの異なる頂点は、異なる可変長を使用してもよい。可変長コーディングの出力は、算術コーディングなどのエントロピーコーディングにより更に圧縮することができる。
あるいは、予測インデックスは、差分コード化することができ、現在頂点の予測インデックスは、予めコード化された予測インデックスから予測することができ、予測インデックスに関連付けられた予測誤差もコード化することができる。例えば、予測子の第1の予測インデックスと予測子の第2の予測インデックスとの差は、最初にコード化することができる。第2の予測インデックスは更に、第1の予測インデックスと第2の予測インデックスとの差に基づいてコード化することができる。
予測候補の最大数を限定するために上限Mが設定される場合、頂点Vに利用可能な予測候補がM個を超えれば、最初のM個の予測候補のみが頂点Vの予測に使用されてもよい。したがって、(M+1)個の可能な予測インデックスは、コード化することができ、Mは、最初のM個の予測候補を示し、1は、最初のM個の予測候補の平均を示す。予測値に重複が決定されれば、重複を削除することができる。したがって、予測インデックスの可能性も低減することができる。固定予測インデックスが常に選択されれば、予測インデックスは、コード化されなくてもよい。予測インデックスが固定ではなく、複数の予測候補の中から選択されれば、予測インデックスは、コード化することができる。予測インデックスは、固定長コーディング、可変長コーディング、差分コーディングなどによりコード化することができる。
一実施形態では、位置値(又は予測値)の予測残差Rは、コード化(又は決定)することができる。予測残差Rは、現在頂点の予測値と現在頂点との差を示すことができる。予測残差Rは、固定長コーディング、指数ゴロムコーディング、算術コーディングなどによりコード化することができる。したがって、デコーダは、予測値及び予測残差に基づいて現在頂点を再構築することができ、予測値は、予測リストからのデコードされた予測インデックスに基づいて決定することができる。
図7は、本開示の一実施形態に係るプロセス(700)の概要を示すフローチャートである。プロセス(700)をビデオエンコーダなどのエンコーダで使用することができる。様々な実施形態では、プロセス(700)は、ビデオエンコーダ(103)の機能を実行する処理回路、ビデオエンコーダ(303)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態では、プロセス(700)がソフトウェア命令で実装されるため、処理回路は、ソフトウェア命令を実行するとき、プロセス(700)を実行する。プロセスは、(S701)から開始し、(S710)に進む。
ステップ(S710)では、現在頂点の複数の候補予測を決定する。現在頂点がメッシュの複数の頂点に含まれる。複数の候補予測が複数の三角形に基づいて決定される。複数の三角形のそれぞれが各候補予測に対応する。
ステップ(S720)では、複数の候補予測から現在頂点の予測を決定する。予測が、現在頂点の複数の候補予測の数が閾値以上であることに基づいて予め定められた予測インデックスによって識別される。
ステップ(S730)では、決定された予測に基づいて、現在頂点の予測情報をエンコードする。予測情報が現在頂点の予測を識別する予測インデックスを含む。
いくつかの実施形態では、閾値は、2以上5以下である。
一例では、現在頂点の複数の候補予測を決定するために、現在頂点に対して複数の三角形のうちの第1の三角形を決定し、第1の三角形が複数の三角形のうちの第2の三角形と共有エッジを有する。現在頂点が第2の三角形に含まれ、かつ共有エッジの反対側にある。第1の候補予測と第1の三角形が第1の平行四辺形を形成する平行四辺形予測によって、決定された第1の三角形に基づいて、複数の候補予測のうちの第1の候補予測を決定する。
一例では、現在頂点の複数の候補予測を決定するために、複数の候補予測の平均予測を決定する。
一例では、現在頂点の予測を決定するために、現在頂点の予測リストを決定する。予測リストにおける候補予測子が予測リストにおける平均予測及び平均予測に続く複数の候補予測を含む。予測リストにおける複数の候補予測の順序は、複数の候補予測に対応する複数の三角形の順序に基づくものである。予測リストにおける候補予測子のそれぞれが各予測インデックスに関連付けられる。
いくつかの実施形態では、複数の三角形は、螺旋状の三角形スパニングツリー順序でラベル付けされるエッジブレイカーアルゴリズムに基づいて順序付けされる。
一例では、現在頂点の複数の候補予測の数が閾値に等しいことに応答して、予測インデックスが第1の予測インデックスとして予め定められることに基づいて、予め定められた予測インデックスに従って、現在頂点の予測を予測リストにおける候補予測子の第1の候補予測子として決定する。一例では、現在頂点の複数の候補予測の数が閾値よりも大きいことに応答して、予測インデックスが第2の予測インデックスとして予め定められることに基づいて、予め定められた予測インデックスに従って、現在頂点の予測を予測リストにおける候補予測子の第2の候補予測子として決定する。一例では、現在頂点の複数の候補予測の数が閾値以上であることに応答して、予測インデックスが第3の予測インデックスとして予め定められることに基づいて、予め定められた予測インデックスに従って、現在頂点の予測を予測リストにおける候補予測子の第3の候補予測子として決定する。
一例では、現在頂点の予測を決定するために、予測リストにおける候補予測子のそれぞれと現在頂点との予測差を決定する。予測リストにおける候補予測子から予測差のうちの最小予測差に対応する予測を更に決定する。
一例では、現在頂点の予測を決定するために、予測リストの候補予測子のサブセット内の最小予測差を有する予測を決定する。
いくつかの実施形態では、固定長コーディング、可変長コーディング、及び差分コーディングのうちの1つに基づいて、予測リストにおける候補予測子のそれぞれに対して各予測インデックスを決定する。
次に、プロセスは、(S799)に進み、終了する。
プロセス(700)は、適切に適合することができる。プロセス(700)のステップは、変更及び/又は省略することができる。追加ステップを追加することができる。任意の適切な実装順序を使用することができる。
図8は、本開示の一実施形態に係るプロセス(800)の概要を示すフローチャートである。プロセス(800)をビデオデコーダなどのデコーダで使用することができる。様々な実施形態では、プロセス(800)は、ビデオデコーダ(110)の機能を実行する処理回路、ビデオデコーダ(210)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態では、プロセス(800)がソフトウェア命令で実装されるため、処理回路は、ソフトウェア命令を実行するとき、プロセス(800)を実行する。プロセスは、(S801)から開始し、(S810)に進む。
ステップ(S810)では、複数の三角形及び複数の頂点を含むメッシュのコーディング情報を受信する。
ステップ(S820)では、現在頂点の複数の候補予測を決定する。現在頂点がメッシュの複数の頂点に含まれる。複数の候補予測が複数の三角形に基づいて決定され、複数の三角形のそれぞれが各候補予測に対応する。
ステップ(S830)では、複数の候補予測から現在頂点の予測を決定する。予測が、現在頂点の複数の候補予測の数が閾値以上であることに基づいて決定された所定の予測インデックスによって示される。
ステップ(S840)では、決定された予測に基づいて現在頂点を再構築する。
次に、プロセスは、(S899)に進み、終了する。
プロセス(800)は、適切に適合することができる。プロセス(800)のステップは、変更及び/又は省略することができる。追加ステップを追加することができる。任意の適切な実装順序を使用することができる。
以上で説明された技術は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装され、非一時的なコンピュータ可読記憶媒体などの1つ以上のコンピュータ可読媒体に物理的に記憶することができる。例えば、図9は、開示された主題の特定の実施形態を実装することに適したコンピュータシステム(900)を示す。
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、又はそのようなメカニズムを施されて、1つ以上のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などの処理回路によって直接、又は解釈、マイクロコード実行などによって実行することができる命令を含むコードを作成する任意の適切な機械コード又はコンピュータ言語を用いてコード化することができる。
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータ又はその構成要素上で実行することができる。
コンピュータシステム(900)について、図9に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能範囲に関する限定を示唆することを意図するものではない。構成要素の構成は、コンピュータシステム(900)の例示的な実施形態で示される構成要素のうちのいずれか1つ又は組み合わせに関する任意の依存性又は必要性を有するとして解釈されるべきではない。
コンピュータシステム(900)は、特定のヒューマンインタフェース入力デバイスを含んでもよい。このようなヒューマンインタフェース入力デバイスは、例えば触覚入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(音声、拍手など)、視覚入力(ジェスチャーなど)、嗅覚入力(図示せず)を通じて、1人以上の人間ユーザによる入力に応答することができる。ヒューマンインタフェースデバイスは、オーディオ(スピーチ、音楽、周囲音など)、画像(スキャンされた画像、静止画像カメラから取得した写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)などの、人間による意識的な入力に必ずしも直接的に関連しない特定のメディアを取り込むために使用することもできる。
入力ヒューマンインタフェースデバイスは、キーボード(901)、マウス(902)、トラックパッド(903)、タッチスクリーン(910)、データグローブ(図示せず)、ジョイスティック(905)、マイクフォン(906)、スキャナ(907)及びカメラ(908)(それぞれが1つのみ示される)のうちの1つ以上を含んでもよい。
コンピュータシステム(900)は特定のヒューマンインタフェース出力デバイスをさらに含んでもよい。このようなヒューマンインタフェース出力デバイスは、例えば触覚出力、音、光、及び匂い/味を通じて、1人以上の人間ユーザの感覚を刺激することができる。このようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(910)、データグローブ(図示せず)、又はジョイスティック(905)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスであってもよい)、オーディオ出力デバイス(スピーカ(909)、ヘッドホン(図示せず)など)、視覚出力デバイス(それぞれがタッチスクリーン入力能力、触覚フィードバック能力の有無にかかわらず、一部が、ステレオグラフィック出力、仮想現実眼鏡(図示せず)、ホログラフィックディスプレ及びスモークタンク(図示せず)などの手段を介して、2次元の視覚出力又は3次元以上の出力を出力できる、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(910)など)、及びプリンタ(図示せず)を含んでもよい。
コンピュータシステム(900)は、ヒューマンアクセス可能な記憶装置と、それらに関連する媒体、例えば、CD/DVDを有するCD/DVD ROM/RW(920)若しくは同様な媒体(921)、サムドライブ(922)、及びリムーバブルハードドライブ若しくはソリッドステートドライブ(923)を含む光媒体、テープ及びフロッピーディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの専用ROM/ASIC/PLDベースのデバイスなどとをさらに含んでもよい。
当業者は本明細書に開示された主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、又は他の一時的な信号を含まないことをさらに理解すべきである。
コンピュータシステム(900)は1つ以上の通信ネットワーク(955)へのインタフェース(954)をさらに含んでもよい。ネットワークは、例えば、無線、有線、光ネットワークであり得る。ネットワークは更に、ローカル、ワイドエリア、メトロポリタン、車両用及び産業用、リアルタイム、遅延耐性ネットワークなどであり得る。ネットワークの例は、イーサネット及び無線LANなどのローカルエリアネットワークと、GSM、3G、4G、5G、LTEなどを含むセルラーネットワークと、ケーブルTV、衛星TV及び地上波放送TVを含むTV有線又は無線ワイドエリアデジタルネットワークと、CANバスなどを含む車両用及び産業用ネットワークと、を含む。特定のネットワークは、一般的に、特定の汎用データポート又は周辺バス(949)(例えば、コンピュータシステム(900)のUSBポートなど)に接続された外部ネットワークインタフェースアダプターを必要とする。他のネットワークは一般的に、以下で説明するようにシステムバスに接続することにより、コンピュータシステム(900)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインタフェース又はスマートフォンコンピュータシステムへのセルラーネットワークインタフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(900)は、他のエンティティと通信することができる。このような通信は、例えば、ローカル又はワイドエリアデジタルネットワークを使用して、他のコンピュータシステムに対して、単方向の受信のみ(例えば、放送TV)、単方向の送信のみ(例えば、CANバスから特定のCANバスデバイスへ)、又は双方向であってもよい。上記のように、特定のプロトコルとプロトコルスタックをこれらのネットワークとネットワークインタフェースのそれぞれに使用することができる。
前述のヒューマンインタフェースデバイス、ヒューマンアクセス可能な記憶装置、及びネットワークインタフェースは、コンピュータシステム(900)のコア(940)に接続することができる。
コア(940)は、1つ以上の中央処理装置(CPU)(941)、グラフィックス処理装置(GPU)(942)、フィールドプログラマブルゲートアレイ(FPGA)(943)の形態の専用プログラマブル処理装置、特定のタスクのためのハードウェアアクセラレータ(944)、及びグラフィックアダプター(950)などを含むことができる。これらのデバイスは、リードオンリメモリ(ROM)(945)、ランダムアクセスメモリ(946)、及びユーザがアクセスできない内部ハードドライブ、SSDなどの内部大容量記憶装置(947)と共に、システムバス(948)を介して接続されてもよい。いくつかのコンピュータシステムでは、システムバス(948)は、1つ以上の物理プラグの形態でアクセス可能であり、追加のCPU、GPUなどによる拡張を可能にする。周辺デバイスは、コアのシステムバス(948)に直接的に接続されてもよく、周辺バス(949)を介して接続されてもよい。一例では、画面(910)は、グラフィックアダプター(950)に接続することができる。周辺バスのアーキテクチャには、PCI、USBなどを含む。
CPU(941)、GPU(942)、FPGA(943)及びアクセラレータ(944)は、組み合わせて、前述のコンピュータコードを構成できる特定の命令を実行することができる。そのコンピュータコードは、ROM(945)又はRAM(946)に記憶することができる。過渡的なデータは、RAM(946)に記憶することもできるが、恒久的なデータは、例えば内部大容量記憶装置(947)に記憶することができる。CPU(941)、GPU(942)、大容量記憶装置(947)、ROM(945)、RAM(946)などのうちの1つ以上と密接に関連付けることができるキャッシュメモリを使用して、任意のメモリデバイスに対する高速記憶及び検索を可能にすることができる。
コンピュータ可読媒体には、様々なコンピュータ実装動作を実行するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものであってもよく、コンピュータソフトウェア分野の当業者によく知られている利用可能な種類のものであってもよい。
限定ではなく、あくまでも一例として、アーキテクチャ(900)、具体的にはコア(940)を有するコンピュータシステムは、プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ以上の有形のコンピュータ可読媒体に具体化されたソフトウェアを実行した結果として機能を提供することができる。このようなコンピュータ可読媒体は、コア内部大容量記憶装置(947)又はROM(945)などの、非一時的な性質のコア(940)の特定の記憶装置以外に、以上に紹介したようにユーザがアクセス可能な大容量記憶装置に関連付けられる媒体であり得る。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶でき、コア(940)によって実行することができる。コンピュータ可読媒体は、特定の需要に応じて、1つ以上のメモリデバイス又はチップを含むことができる。ソフトウェアは、コア(940)、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(946)に記憶されたデータ構造を定義するステップと、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を変更するステップとを含む、本明細書に記載の特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。加えて又は代替として、コンピュータシステムは、本明細書に記載の特定のプロセス又は特定のプロセスの特定の部分を実行するためにソフトウェアの代わりに又はソフトウェアと共に動作することができる回路(例えば、アクセラレータ(944))に配線されるか又は他の方法で具体化されたロジックの結果として機能を提供することができる。ソフトウェアへの参照は、必要に応じて、ロジックを含むことができ、その逆も同様である。コンピュータ可読媒体への参照は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のためのロジックを具体化する回路、又はその両方を含むことができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを含む。
本開示は、一部の例示的な実施形態を説明してきたが、本開示の範囲内に含まれる変更、置換、及び様々な代替の均等物が存在する。したがって、当業者は、本明細書に明示的に示されていないか又は記載されていないが、本開示の原理を具体化するため、その精神及び範囲内にある多数のシステム及び方法を発明することができることが理解されたい。

Claims (20)

  1. ビデオエンコーダが実行するメッシュ処理のための方法であって、
    現在頂点の複数の候補予測を決定するステップであって、前記現在頂点がメッシュの複数の頂点に含まれ、複数の前記候補予測が前記メッシュ内の複数の三角形に基づいて決定され、複数の前記三角形のそれぞれが各候補予測に対応する、ステップと、
    複数の前記候補予測から前記現在頂点の予測を決定するステップであって、前記予測が、前記現在頂点の複数の候補予測の数が閾値以上であることに基づいて予め定められた予測インデックスによって識別される、ステップと、
    決定された前記予測に基づいて前記現在頂点の予測情報をエンコーディングするステップであって、前記予測情報が前記現在頂点の予測を識別する予測インデックスを含む、ステップと、を含む、方法。
  2. 前記閾値は、2以上5以下である、請求項1に記載の方法。
  3. 前記現在頂点の複数の候補予測を決定するステップは、
    前記現在頂点に対して複数の前記三角形のうちの第1の三角形を決定するステップであって、前記第1の三角形が複数の前記三角形のうちの第2の三角形と共有エッジを有し、前記現在頂点が前記第2の三角形に含まれ、かつ前記共有エッジの反対側にある、ステップと、
    複数の前記候補予測のうちの第1の候補予測と前記第1の三角形が第1の平行四辺形を形成する平行四辺形予測によって、決定された前記第1の三角形に基づいて、前記第1の候補予測を決定するステップと、を更に含む、請求項1に記載の方法。
  4. 前記現在頂点の複数の候補予測を決定するステップは、
    複数の前記候補予測の平均予測を決定するステップを更に含む、請求項3に記載の方法。
  5. 前記現在頂点の予測を決定するステップは、
    前記現在頂点の予測リストを決定するステップであって、前記予測リストにおける候補予測子が前記予測リストにおける平均予測及び前記平均予測に続く複数の前記候補予測を含み、前記予測リストにおける複数の前記候補予測の順序が、複数の前記候補予測に対応する複数の前記三角形の順序に基づくものであり、前記予測リストにおける前記候補予測子のそれぞれが各予測インデックスに関連付けられる、ステップを更に含む、請求項4に記載の方法。
  6. 複数の前記三角形は、螺旋状の三角形スパニングツリー順序でラベル付けされるエッジブレイカーアルゴリズムに基づいて順序付けされる、請求項5に記載の方法。
  7. 前記現在頂点の予測を決定するステップは、
    前記現在頂点の複数の前記候補予測の数が前記閾値に等しいことに応答して、前記予測インデックスが第1の予測インデックスとして予め定められることに基づいて、予め定められた前記予測インデックスに従って、前記現在頂点の予測を前記予測リストにおける候補予測子の第1の候補予測子として決定するステップと、
    前記現在頂点の複数の前記候補予測の数が前記閾値よりも大きいことに応答して、前記予測インデックスが第2の予測インデックスとして予め定められることに基づいて、予め定められた前記予測インデックスに従って、前記現在頂点の予測を前記予測リストにおける候補予測子の第2の候補予測子として決定するステップと、
    む、請求項5に記載の方法。
  8. 前記現在頂点の予測を決定するステップは、
    前記予測リストにおける候補予測子のそれぞれと前記現在頂点との予測差を決定するステップと、
    前記予測リストにおける候補予測子から前記予測差のうちの最小予測差に対応する前記予測を決定するステップと、を更に含む、請求項5に記載の方法。
  9. 前記現在頂点の予測を決定するステップは、
    前記予測リストの候補予測子のサブセット内の最小予測差を有する予測を決定するステップを更に含む、請求項5に記載の方法。
  10. 各予測インデックスを決定するステップは、
    固定長コーディング、可変長コーディング、及び差分コーディングのうちの1つに基づいて、前記予測リストにおける候補予測子のそれぞれに対して各予測インデックスを決定するステップを更に含む、請求項5に記載の方法。
  11. 前記現在頂点の予測情報は、前記現在頂点と決定された前記予測との差を示す残差情報を含み、
    前記方法は、
    前記残差情報をエンコードするステップを更に含む、請求項1に記載の方法。
  12. 処理回路を含むメッシュ処理のための装置であって、
    前記処理回路は、
    現在頂点の複数の候補予測を決定するステップであって、前記現在頂点がメッシュの複数の頂点に含まれ、複数の前記候補予測が前記メッシュ内の複数の三角形に基づいて決定され、複数の前記三角形のそれぞれが各候補予測に対応する、ステップと、
    複数の前記候補予測から前記現在頂点の予測を決定するステップであって、前記予測が、前記現在頂点の複数の候補予測の数が閾値以上であることに基づいて予め定められた予測インデックスによって識別される、ステップと、
    決定された前記予測に基づいて前記現在頂点の予測情報をエンコーディングするステップであって、前記予測情報が前記現在頂点の予測を識別する予測インデックスを含む、ステップと、を実行するように構成される、装置。
  13. 前記閾値は、2以上5以下である、請求項12に記載の装置。
  14. 前記処理回路は、
    前記現在頂点に対して複数の前記三角形のうちの第1の三角形を決定するステップであって、前記第1の三角形が複数の前記三角形のうちの第2の三角形と共有エッジを有し、前記現在頂点が前記第2の三角形に含まれ、かつ前記共有エッジの反対側にある、ステップと、
    複数の前記候補予測のうちの第1の候補予測と前記第1の三角形が第1の平行四辺形を形成する平行四辺形予測によって、決定された前記第1の三角形に基づいて、前記第1の候補予測を決定するステップと、を実行するように更に構成される、請求項12に記載の装置。
  15. 前記処理回路は、
    複数の前記候補予測の平均予測を決定するステップを実行するように更に構成される、請求項14に記載の装置。
  16. 前記処理回路は、
    前記現在頂点の予測リストを決定するステップであって、前記予測リストにおける候補予測子が前記予測リストにおける平均予測及び前記平均予測に続く複数の前記候補予測を含み、前記予測リストにおける複数の前記候補予測の順序が、複数の前記候補予測に対応する複数の前記三角形の順序に基づくものであり、前記予測リストにおける前記候補予測子のそれぞれが各予測インデックスに関連付けられる、ステップを実行するように更に構成される、請求項15に記載の装置。
  17. 複数の前記三角形は、螺旋状の三角形スパニングツリー順序でラベル付けされるエッジブレイカーアルゴリズムに基づいて順序付けされる、請求項16に記載の装置。
  18. 前記処理回路は、
    前記現在頂点の複数の前記候補予測の数が前記閾値に等しいことに応答して、前記予測インデックスが第1の予測インデックスとして予め定められることに基づいて、予め定められた前記予測インデックスに従って、前記現在頂点の予測を前記予測リストにおける候補予測子の第1の候補予測子として決定するステップと、
    前記現在頂点の複数の前記候補予測の数が前記閾値よりも大きいことに応答して、前記予測インデックスが第2の予測インデックスとして予め定められることに基づいて、予め定められた前記予測インデックスに従って、前記現在頂点の予測を前記予測リストにおける候補予測子の第2の候補予測子として決定するステップと、
    実行するように更に構成される、請求項16に記載の装置。
  19. 前記処理回路は、
    前記予測リストにおける候補予測子のそれぞれと前記現在頂点との予測差を決定するステップと、
    前記予測リストにおける候補予測子から前記予測差のうちの最小予測差に対応する前記予測を決定するステップと、を実行するように更に構成される、請求項16に記載の装置。
  20. 前記処理回路は、
    前記予測リストの候補予測子のサブセット内の最小予測差を有する予測を決定するステップを実行するように更に構成される、請求項16に記載の装置。
JP2024547318A 2022-07-08 2023-05-16 メッシュ処理のための方法、装置 Active JP7842231B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202263359669P 2022-07-08 2022-07-08
US63/359,669 2022-07-08
US18/144,686 2023-05-08
US18/144,686 US12335522B2 (en) 2022-07-08 2023-05-08 Vertex position coding in mesh compression
PCT/US2023/067051 WO2024010994A1 (en) 2022-07-08 2023-05-16 Vertex position coding in mesh compression

Publications (2)

Publication Number Publication Date
JP2025507354A JP2025507354A (ja) 2025-03-18
JP7842231B2 true JP7842231B2 (ja) 2026-04-07

Family

ID=89431028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024547318A Active JP7842231B2 (ja) 2022-07-08 2023-05-16 メッシュ処理のための方法、装置

Country Status (6)

Country Link
US (1) US12335522B2 (ja)
EP (1) EP4552089A1 (ja)
JP (1) JP7842231B2 (ja)
KR (1) KR20240068717A (ja)
CN (1) CN118575201A (ja)
WO (1) WO2024010994A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023052916A1 (en) * 2021-09-30 2023-04-06 Nokia Technologies Oy Method, apparatus and computer program product for storing, encoding or decoding one or vertices of a mesh in a volumetric video coding bitstream
US20250024068A1 (en) * 2023-07-12 2025-01-16 Samsung Electronics Co., Ltd. Motion coding for vertices in inter-coded basemesh frame for dynamic mesh coding
WO2025182831A1 (ja) * 2024-02-28 2025-09-04 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化方法、復号方法、符号化装置及び復号装置
WO2025217844A1 (zh) * 2024-04-17 2025-10-23 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180189982A1 (en) 2017-01-02 2018-07-05 Canon Kabushiki Kaisha Attribute mapping to encode and decode 3d models
WO2020123252A1 (en) 2018-12-11 2020-06-18 Google Llc Compression of data representing triangular mesh attributes using machine learning
JP2025522616A (ja) 2022-07-06 2025-07-15 維沃移動通信有限公司 コーディング、デコーディング方法、装置及び機器

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100439578B1 (ko) * 2002-03-08 2004-07-12 이상욱 버텍스 단위의 움직임 벡터 예측을 통한 3차원 메쉬시퀀스 부호화 장치 및 방법
GB2551389B (en) * 2016-06-17 2018-06-06 Canon Kk New predictors to encode or decode geometry data in 3D objects
US11450030B2 (en) * 2019-09-24 2022-09-20 Apple Inc. Three-dimensional mesh compression using a video encoder
US20230082092A1 (en) * 2019-10-11 2023-03-16 Electronics And Telecommunications Research Institute Transform information encoding/decoding method and device, and bitstream storage medium
CN117178553A (zh) * 2021-04-15 2023-12-05 Lg 电子株式会社 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
EP4325851A4 (en) * 2021-04-21 2024-07-17 LG Electronics Inc. POINT CLOUD DATA TRANSMISSION DEVICE, POINT CLOUD DATA TRANSMISSION METHOD, POINT CLOUD DATA RECEIVING DEVICE, AND POINT CLOUD DATA RECEIVING METHOD

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180189982A1 (en) 2017-01-02 2018-07-05 Canon Kabushiki Kaisha Attribute mapping to encode and decode 3d models
WO2020123252A1 (en) 2018-12-11 2020-06-18 Google Llc Compression of data representing triangular mesh attributes using machine learning
JP2025522616A (ja) 2022-07-06 2025-07-15 維沃移動通信有限公司 コーディング、デコーディング方法、装置及び機器

Also Published As

Publication number Publication date
JP2025507354A (ja) 2025-03-18
US20240015324A1 (en) 2024-01-11
WO2024010994A1 (en) 2024-01-11
KR20240068717A (ko) 2024-05-17
US12335522B2 (en) 2025-06-17
EP4552089A1 (en) 2025-05-14
CN118575201A (zh) 2024-08-30

Similar Documents

Publication Publication Date Title
JP7721800B2 (ja) メッシュ圧縮における頂点位置予測のための方法、装置及びコンピュータプログラム
JP2022514548A (ja) 点群解凍用方法、点群圧縮用方法及び装置
JP7842231B2 (ja) メッシュ処理のための方法、装置
JP7842884B2 (ja) メッシュ処理の方法、装置及びプログラム
JP7701560B2 (ja) 時間的予測に基づく頂点位置圧縮のための方法、装置およびプログラム
JP7780031B2 (ja) メッシュ圧縮におけるテクスチャ座標符号化
JP2021518093A (ja) サブブロックの動きベクトル予測の方法、並びにその装置及びコンピュータプログラム
JP7749858B2 (ja) 位置圧縮におけるメッシュ頂点のグループ化
CN121280540A (zh) 计算多边形网格压缩中活跃顶点的优先级
CN121014207A (zh) 多边形网格压缩中的反射预测和跨平行四边形预测
JP7797676B2 (ja) Uv座標範囲およびテクスチャマップサイズ
US20250211785A1 (en) Combine dual-degree based connectivity coding and triangle based geometry coding for polygon mesh compression
CN121644820A (zh) 网格编解码的方法、处理网格数据的方法、介质及设备
WO2024226679A1 (en) Displacement coding in mesh compression

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240808

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20260303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260326

R150 Certificate of patent or registration of utility model

Ref document number: 7842231

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150