JP2023521047A - ビデオコーディングのための方法および装置 - Google Patents

ビデオコーディングのための方法および装置 Download PDF

Info

Publication number
JP2023521047A
JP2023521047A JP2022560387A JP2022560387A JP2023521047A JP 2023521047 A JP2023521047 A JP 2023521047A JP 2022560387 A JP2022560387 A JP 2022560387A JP 2022560387 A JP2022560387 A JP 2022560387A JP 2023521047 A JP2023521047 A JP 2023521047A
Authority
JP
Japan
Prior art keywords
picture
video
coded
information
prediction
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.)
Granted
Application number
JP2022560387A
Other languages
English (en)
Other versions
JP7467675B2 (ja
Inventor
シャン・リュウ
シャオジョン・シュ
ウェン・ガオ
Original Assignee
テンセント・アメリカ・エルエルシー
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 テンセント・アメリカ・エルエルシー filed Critical テンセント・アメリカ・エルエルシー
Publication of JP2023521047A publication Critical patent/JP2023521047A/ja
Priority to JP2024060305A priority Critical patent/JP2024074919A/ja
Application granted granted Critical
Publication of JP7467675B2 publication Critical patent/JP7467675B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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/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
    • H04N19/172Methods 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 the region being a picture, frame or field
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本開示の態様は、ビデオエンコーディング/デコーディングのための方法、装置、および非一時的なコンピュータ可読記憶媒体を含む。装置は、コーディングされたビデオビットストリームに関連付けられたメタデータを受信する処理回路を含む。メタデータは、コーディングされたビデオビットストリームにおいてコーディングされた第1のピクチャ内で検出された1つまたは複数のオブジェクトのラベリング情報を含む。処理回路は、コーディングされたビデオビットストリームにおいてコーディングされた第1のピクチャ内の1つまたは複数のオブジェクトのラベリング情報をデコーディングする。処理回路は、ラベリング情報を第1のピクチャ内の1つまたは複数のオブジェクトに適用する。

Description

関連出願の相互参照
本出願は、2021年1月8日に出願された米国仮出願第63/135,530号「SIGNALING OF OBJECTS FOR MACHINE TASKS」に対する優先権の利益を主張する、2021年8月27日に出願された米国特許出願第17/459,753号「METHOD AND APPARATUS FOR VIDEO CODING」に対する優先権の利益を主張する。先行する出願の開示全体が完全な状態で本出願において参照により援用される。
本開示は、一般に、ビデオコーディングに関係する実施形態を記載する。
本明細書において提供される背景技術の説明は、本開示の文脈を大まかに提示することを目的としている。ここに記名された発明者の仕事は、その仕事がこの背景技術セクションに記載されている程度まで、ならびにさもなければ出願時に従来技術として適格ではない可能性がある説明の態様は、本開示に対する従来技術として、明示的にも黙示的にも認められていない。
ビデオのコーディングおよびデコーディングは、動き補償を伴うインターピクチャ予測を使用して実行することができる。非圧縮デジタルビデオは、一連のピクチャを含み得、各ピクチャは、例えば1920×1080の輝度サンプルおよび関連するクロミナンスサンプルの空間次元を有する。一連のピクチャは、例えば毎秒60ピクチャまたは60Hzの固定または可変ピクチャレート(非公式にはフレームレートとしても知られている)を有し得る。非圧縮ビデオは、かなりのビットレート要件を有する。例えば、サンプルあたり8ビットの1080p60 4:2:0ビデオ(60Hzのフレームレートで1920×1080の輝度サンプル分解能)は、1.5Gbit/sに近い帯域幅を必要とする。そのようなビデオの1時間は、600GByteを超える記憶空間を必要とする。
ビデオのコーディングおよびデコーディングの1つの目的は、圧縮による入力ビデオ信号の冗長性の低減となり得る。圧縮は、前述の帯域幅または記憶空間要件を、場合によっては2桁以上低減するのに役立ち得る。可逆圧縮および非可逆圧縮の両方、ならびにこれらの組合せが用いられ得る。可逆圧縮は、元の信号の正確なコピーが、圧縮された元の信号から再構成され得る技術を指す。非可逆圧縮を使用すると、再構成された信号は元の信号と同一ではない可能性があるが、元の信号と再構成された信号との間の歪みは、再構成された信号を目的の用途に有用なものにするほど十分小さい。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量は用途に依存し、例えば、特定の消費者ストリーミング用途のユーザは、テレビ配信用途のユーザよりも高い歪みを許容し得る。達成可能な圧縮比は、より高い容認可能/許容可能な歪みが、より高い圧縮比をもたらし得ることを反映し得る。
ビデオエンコーダおよびデコーダは、例えば、動き補償、変換、量子化、およびエントロピーコーディングを含む、いくつかの広範なカテゴリからの技術を利用し得る。
ビデオコーデック技術は、イントラコーディングとして知られる技術を含み得る。イントラコーディングでは、サンプル値は、以前に再構成された参照ピクチャからのサンプルまたは他のデータを参照することなく表される。一部のビデオコーデックでは、ピクチャは空間的にサンプルのブロックに細分化される。サンプルのすべてのブロックがイントラモードでコーディングされるとき、そのピクチャはイントラピクチャであり得る。イントラピクチャ、および独立デコーダリフレッシュピクチャなどのそれらの派生物は、デコーダ状態をリセットするために使用することができるので、コーディングされたビデオビットストリームおよびビデオセッション内の最初のピクチャとして、または静止画像として使用し得る。イントラブロックのサンプルは、変換にさらされる可能性があり、変換係数は、エントロピーコーディングの前に量子化され得る。イントラ予測は、変換前領域内のサンプル値を最小化する技術であり得る。場合によっては、変換後のDC値が小さいほど、かつAC係数が小さいほど、エントロピーコーディング後のブロックを表すために所与の量子化ステップのサイズにおいて必要とされるビットは少なくなる。
例えば、MPEG-2生成コーディング技術から知られているような従来のイントラコーディングは、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、空間的に隣接し、デコーディング順で先行する、データブロックのエンコーディングおよび/またはデコーディング中に取得された周囲のサンプルデータおよび/またはメタデータから試行する技術を含む。このような技術は、以後「イントラ予測」技術と呼ばれる。少なくとも一部の場合には、イントラ予測は、再構成中の現在のピクチャからの参照データのみを使用し、参照ピクチャからの参照データは使用しないことに留意されたい。
イントラ予測には多くの異なる形式があり得る。そのような技法のうちの2つ以上が所与のビデオコーディング技術において使用され得るとき、使用中の技術は、イントラ予測モードでコーディングされ得る。特定の場合には、モードはサブモードおよび/またはパラメータを有することができ、それらを個別にコーディングするか、またはモードのコードワードに含め得る。所与のモード、サブモード、および/またはパラメータの組合せに、どのコードワードを使用するかは、イントラ予測を介したコーディング効率向上に影響を与える可能性があり、そのため、コードワードをビットストリームに変換するために使用されるエントロピーコーディング技術も影響を与える可能性がある。
イントラ予測の特定のモードは、H.264で導入され、H.265において改良され、共同探索モデル(JEM:joint exploration model)、多用途ビデオコーディング(VVC:versatile video coding)、およびベンチマークセット(BMS:benchmark set)などのより新しいコーディング技術においてさらに改良された。予測器ブロックは、既に利用可能なサンプルに属する隣接サンプル値を使用して形成することができる。隣接サンプルのサンプル値は、方向に従って予測器ブロックにコピーされる。使用中の方向への参照は、ビットストリーム内でコーディングされてもよく、またはそれ自体予測されてもよい。
図1Aを参照すると、右下に描写されているのは、H.265の(35個のイントラモードのうちの33個の角度モードに対応する)33個の可能な予測器方向から知られる9つの予測器方向のサブセットである。矢印が収束する点(101)は、予測されているサンプルを表す。矢印は、そこからサンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が水平から45度の角度で右上にある1つまたは複数のサンプルから予測されることを示す。同様に、矢印(103)は、サンプル(101)が水平から22.5度の角度でサンプル(101)の左下にある1つまたは複数のサンプルから予測されることを示す。
さらに図1Aを参照すると、左上には、(太い破線によって示された)4×4サンプルの正方形ブロック(104)が描写されている。正方形ブロック(104)は16個のサンプルを含み、各々、「S」、Y次元のその位置(例えば、行インデックス)、およびX次元のその位置(例えば、列インデックス)でラベル付けされている。例えば、サンプルS21は、Y次元の(上から)2番目のサンプルであり、X次元の(左から)1番目のサンプルである。同様に、サンプルS44は、ブロック(104)内のY次元およびX次元の両方の4番目のサンプルである。ブロックはサイズが4×4サンプルなので、S44は右下にある。同様の番号付け方式に従う参照サンプルがさらに示されている。参照サンプルは、ブロック(104)に対してR、そのY位置(例えば、行インデックス)、およびX位置(列インデックス)でラベル付けされている。H.264およびH.265の両方において、予測サンプルは再構成中のブロックに隣接するので、負の値が使用される必要はない。
イントラピクチャ予測は、シグナリングされた予測方向によって割り当てられるように、隣接サンプルからの参照サンプル値をコピーすることによって機能し得る。例えば、コーディングされたビデオビットストリームが、このブロックに関して、矢印(102)と一致する予測方向を示すシグナリングを含む、すなわち、サンプルが水平から45度の角度で右上にある1つまたは複数の予測サンプルから予測されると仮定する。その場合、同じ参照サンプルR05からサンプルS41、S32、S23、およびS14が予測される。次いで、参照サンプルR08からサンプルS44が予測される。
特定の場合には、参照サンプルを計算するために、特に方向が45度によって均等に割り切れないときは、複数の参照サンプルの値は、例えば補間によって組み合わされてもよい。
可能な方向の数は、ビデオコーディング技術が発展するにつれて増加している。H.264(2003年)では、9つの異なる方向を表すことができた。それがH.265(2013年)では33に増加し、本開示の時点では、JEM/VVC/BMSは最大65個の方向をサポートし得る。最も可能性が高い方向を識別するために実験が行われており、エントロピーコーディングの特定の技術は、それらの可能性が高い方向を少数のビットで表すために使用され、可能性が低い方向に関しては一定のペナルティを受け入れている。さらに、方向自体は、隣接する既にデコーディングされたブロックにおいて使用された隣接方向から予測され得る場合もある。
図1Bは、経時的に増加する予測方向の数を示すためにJEMによる65のイントラ予測方向を示す概略図(105)を示している。
方向を表す、コーディングされたビデオビットストリーム内のイントラ予測方向ビットのマッピングは、ビデオコーディング技術ごとに異なってもよく、例えば、予測方向のイントラ予測モードへの単純な直接マッピングから、コードワード、最も可能性が高いモードを含む複雑な適応方式、および同様の技術まで及び得る。しかしながら、すべての場合において、ビデオコンテンツ内で特定の他の方向よりも統計的に発生する可能性が低い特定の方向が存在し得る。ビデオ圧縮の目的は冗長性の低減であるので、それらの可能性が低い方向は、うまく機能するビデオコーディング技術では、可能性が高い方向よりも多いビット数によって表される。
動き補償は、非可逆圧縮技術であり得、以前に再構成されたピクチャまたはその一部(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以降、MV)によって示された方向に空間的にシフトされた後に、新しく再構成されるピクチャまたはピクチャの一部の予測に使用される技術に関し得る。場合によっては、参照ピクチャは、現在再構成中のピクチャと同じであり得る。MVは、2つの次元XおよびY、または3つの次元を有することができ、3番目の次元は、使用中の参照ピクチャの指示である(後者は、間接的に時間次元であり得る)。
いくつかのビデオ圧縮技術では、サンプルデータの特定の領域に適用可能なMVは、他のMVから、例えば、再構成中の領域に空間的に隣接し、デコーディング順でそのMVに先行するサンプルデータの別の領域に関連するMVから予測され得る。そうすることで、MVをコーディングするのに必要なデータの量を大幅に削減し得、その結果、冗長性が排除され、圧縮が増加する。例えば、カメラから引き出された入力ビデオ信号(自然ビデオとして知られている)をコーディングするとき、単一のMVが適用可能な領域よりも大きい領域が同様の方向に移動し、したがって、場合によっては、隣接する領域のMVから導出された同様のMVを使用して予測され得る統計的尤度があるため、MV予測は効果的に機能し得る。これにより、所与の領域に関して見つけられたMVは、周囲のMVから予測されたMVと同様であるか、または同じになり、その結果として、エントロピーコーディング後に、MVを直接コーディングする場合に使用されるよりも少ないビット数で表され得る。場合によっては、MV予測は、元の信号(すなわち、サンプルストリーム)から導出された信号(すなわち、MV)の可逆圧縮の一例であり得る。他の場合には、例えば、いくつかの周囲のMVから予測器を計算するときの丸め誤差のために、MV予測自体は非可逆であり得る。
様々なMV予測メカニズムが、H.265/HEVC(ITU-T Rec. H.265、「High Efficiency Video Coding」、2016年12月)に記載されている。H.265が提供する多くのMV予測メカニズムのうち、以後「空間マージ」と呼ばれる技術が、本明細書で説明される。
図1Cを参照すると、現在のブロック(111)は、空間的にシフトされた同じサイズの前のブロックから予測可能である、動き探索プロセス中にエンコーダによって見つけられたサンプルを含み得る。そのMVを直接コーディングする代わりに、MVは、A0、A1およびB0、B1、B2(それぞれ112から116)で表されている5つの周囲サンプルのいずれか1つに関連付けられたMVを使用して、1つまたは複数の参照ピクチャに関連付けられたメタデータから、例えば(デコーディング順)最新の参照ピクチャから導出され得る。H.265では、MV予測は、隣接するブロックが使用しているのと同じ参照ピクチャからの予測器を使用し得る。
本開示の態様は、ビデオエンコーディング/デコーディングのための装置を提供する。装置は、コーディングされたビデオビットストリームに関連付けられたメタデータを受信する処理回路を含む。メタデータは、コーディングされたビデオビットストリームにおいてコーディングされた第1のピクチャ内で検出された1つまたは複数のオブジェクトのラベリング情報を含む。処理回路は、コーディングされたビデオビットストリームにおいてコーディングされた第1のピクチャ内の1つまたは複数のオブジェクトのラベリング情報をデコーディングする。処理回路は、ラベリング情報を、第1のピクチャ内の1つまたは複数のオブジェクトに適用する。
一実施形態では、メタデータは、コーディングされたビデオビットストリーム内の補足拡張情報(SEI:supplementary enhancement information)メッセージに含まれる。
一実施形態では、メタデータは、コーディングされたビデオビットストリームとは別のファイルに含まれる。
一実施形態では、ラベリング情報は、第1のピクチャ内の境界ボックスの総数を示し、各境界ボックスの位置情報およびサイズ情報を含み、各境界ボックスは、第1のピクチャ内の1つまたは複数のオブジェクトのうちの1つのオブジェクトに関連付けられる。
一実施形態では、ラベリング情報は、1つまたは複数のオブジェクトの各々に対するカテゴリを示すカテゴリ情報を含む。
一実施形態では、ラベリング情報は、ビデオシーケンス内の1つまたは複数のオブジェクトの各々を識別する識別情報を含む。
一実施形態では、境界ボックスのうちの1つの境界ボックスの位置情報は、第1のピクチャと、ビデオビットストリームにおいてコーディングされた第2のピクチャとの間で、境界ボックスのうちの1つの境界ボックスの位置オフセットを含む。
一実施形態では、境界ボックスのうちの1つの境界ボックスの位置情報は、第1のピクチャ内に存在しない境界ボックスのうちの1つの境界ボックスに関連付けられたオブジェクトに基づいて、その境界ボックスのうちの1つの境界ボックスに対する第1のピクチャの外側の位置を示す。
一実施形態では、処理回路は、コーディングされたビデオビットストリームに関連付けられたメタデータを受信する要求を送信する。
本開示の態様は、ビデオエンコーディング/デコーディングのための方法を提供する。方法は、ビデオエンコーディング/デコーディングのために装置によって実行される処理のいずれか1つ、または組合せを実行し得る。本方法では、コーディングされたビデオビットストリームに関連付けられたメタデータが受信される。メタデータは、コーディングされたビデオビットストリームにおいてコーディングされた第1のピクチャ内で検出された1つまたは複数のオブジェクトのラベリング情報を含む。コーディングされたビデオビットストリームにおいてコーディングされた第1のピクチャ内の1つまたは複数のオブジェクトのラベリング情報が、デコーディングされる。ラベリング情報は、第1のピクチャ内の1つまたは複数のオブジェクトに適用される。
本開示の態様はまた、少なくとも1つのプロセッサによって実行されたときに、ビデオエンコーディング/デコーディングのための方法の任意の1つまたはそれらの組合せを、少なくとも1つのプロセッサに実行させる命令を記憶した非一時的なコンピュータ可読媒体を提供する。
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
イントラ予測モードの例示的なサブセットの概略図である。 例示的なイントラ予測方向の図である。 一例における現在のブロックおよびその周囲の空間マージ候補の概略図である。 一実施形態による通信システムの簡略ブロック図の概略図である。 一実施形態による通信システムの簡略ブロック図の概略図である。 一実施形態によるデコーダの簡略ブロック図の概略図である。 一実施形態によるエンコーダの簡略ブロック図の概略図である。 別の実施形態によるエンコーダのブロック図である。 別の実施形態によるデコーダのブロック図である。 一実施形態によるマシン用ビデオコーディング(VCM)で使用される例示的なアーキテクチャの図である。 一実施形態による汎用ビデオコーディング(VVC)で使用される例示的なエンコーダを示す図である。 一実施形態による例示的なフローチャートの図である。 一実施形態によるコンピュータシステムの概略図である。
I.ビデオデコーダおよびエンコーダシステム
図2は、本開示の一実施形態による通信システム(200)の簡略ブロック図を示す。通信システム(200)は、例えばネットワーク(250)を介して互いに通信し得る複数の端末デバイスを含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された端末デバイス(210)および(220)の第1の対を含む。図2の例において、端末デバイス(210)および(220)の第1の対は、データの単方向送信を実行する。例えば、端末デバイス(210)は、ネットワーク(250)を介して他の端末デバイス(220)に送信するためにビデオデータ(例えば、端末デバイス(210)によってキャプチャされたビデオピクチャのストリーム)をコーディングし得る。エンコーディングされたビデオデータは、1つまたは複数のコーディングされたビデオビットストリームの形式で送信され得る。端末デバイス(220)は、ネットワーク(250)からコーディングされたビデオデータを受信し、コーディングされたビデオデータをデコーディングしてビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示し得る。単方向データ送信は、メディア提供用途などにおいて一般的であり得る。
別の例では、通信システム(200)は、例えばビデオ会議中に発生する可能性があるコーディングされたビデオデータの双方向送信を実行する端末デバイス(230)および(240)の第2の対を含む。データの双方向送信のために、一例では、端末デバイス(230)および(240)の各端末デバイスは、ネットワーク(250)を介して端末デバイス(230)および(240)の他方の端末デバイスに送信するために、ビデオデータ(例えば、端末デバイスによってキャプチャされたビデオピクチャのストリーム)をコーディングし得る。端末デバイス(230)および(240)の各端末デバイスはまた、端末デバイス(230)および(240)の他方の端末デバイスによって送信されたコーディングされたビデオデータを受信し得、コーディングされたビデオデータをデコーディングして、ビデオピクチャを復元し得、復元されたビデオデータに従ってアクセス可能な表示デバイスにビデオピクチャを表示し得る。
図2の例において、端末デバイス(210)、(220)、(230)および(240)は、サーバ、パーソナルコンピュータおよびスマートフォンとして示され得るが、本開示の原理はそのように限定され得ない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤおよび/または専用ビデオ会議機器を伴う用途が考えられる。ネットワーク(250)は、例えば有線(ワイヤード)および/または無線通信ネットワークを含む、端末デバイス(210)、(220)、(230)および(240)間でコーディングされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(250)は、回路交換チャネルおよび/またはパケット交換チャネルでデータを交換し得る。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットを含む。本説明の目的のために、ネットワーク(250)のアーキテクチャおよびトポロジは、本明細書で以下に説明されない限り、本開示の動作に重要ではない可能性がある。
図3は、開示された主題の用途の一例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示す。開示された主題は、例えばビデオ会議、デジタルTV、CD、DVD、およびメモリスティックなどを含むデジタル媒体への圧縮ビデオの記憶を含む、他のビデオ対応用途にも等しく適用可能であり得る。
ストリーミングシステムは、例えば非圧縮のビデオピクチャのストリーム(302)を生成するビデオソース(301)、例えばデジタルカメラを含み得るキャプチャサブシステム(313)を含んでもよい。一例では、ビデオピクチャのストリーム(302)は、デジタルカメラによって撮られたサンプルを含む。エンコーディングされたビデオデータ(304)(またはコーディングされたビデオビットストリーム)と比較して高いデータ量を強調するために太線として示されるビデオピクチャのストリーム(302)は、ビデオソース(301)に接続されるビデオエンコーダ(303)を含む電子デバイス(320)によって処理され得る。ビデオエンコーダ(303)は、以下でより詳細に説明されるように、開示された主題の態様を可能にする、または実施するためにハードウェア、ソフトウェアまたはこれらの組合せを含み得る。エンコーディングされたビデオデータ(304)(またはエンコーディングされたビデオビットストリーム(304))は、ビデオピクチャのストリーム(302)と比較してより低いデータ量を強調するために細線として示されており、将来の使用のためにストリーミングサーバ(305)に記憶され得る。図3のクライアントサブシステム(306)および(308)などの1つまたは複数のストリーミングクライアントサブシステムは、エンコーディングされたビデオデータ(304)のコピー(307)および(309)を検索するためにストリーミングサーバ(305)にアクセスし得る。クライアントサブシステム(306)は、例えば電子デバイス(330)内にビデオデコーダ(310)を含み得る。ビデオデコーダ(310)は、エンコーディングされたビデオデータの入力コピー(307)をデコーディングし、ディスプレイ(312)(例えば、ディスプレイスクリーン)または他のレンダリングデバイス(図示せず)上にレンダリングされ得るビデオピクチャ(311)の出力ストリームを生成する。一部のストリーミングシステムにおいて、エンコーディングされたビデオデータ(304)、(307)および(309)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮規格に従ってエンコーディングされ得る。それらの規格の例は、ITU-T勧告H.265を含む。一例では、開発中のビデオコーディング規格は、非公式に多用途ビデオコーディング(VVC:Versatile Video Coding)として知られている。開示された主題は、VVCの文脈で使用され得る。
電子デバイス(320)および(330)は、他の構成要素(図示せず)を含み得ることに留意されたい。例えば、電子デバイス(320)はビデオデコーダ(図示せず)を含み得、電子デバイス(330)はビデオエンコーダ(図示せず)も含み得る。
図4は、本開示の一実施形態に係るビデオデコーダ(410)のブロック図を示している。ビデオデコーダ(410)は、電子デバイス(430)に含まれ得る。電子デバイス(430)は、受信機(431)(例えば、受信回路)を含み得る。ビデオデコーダ(410)は、図3の例のビデオデコーダ(310)の代わりに使用され得る。
受信機(431)は、ビデオデコーダ(410)によってデコーディングされるべき、1つまたは複数のコーディングされたビデオシーケンスを受信することができ、同じまたは別の実施形態では、一度に1つのコーディングされたビデオシーケンスであり、各コーディングされたビデオシーケンスのデコーディングは、他のコーディングされたビデオシーケンスから独立している。コーディングされたビデオシーケンスは、チャネル(401)から受信され得、チャネル(401)は、エンコーディングされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであり得る。受信機(431)は、それぞれの使用エンティティ(図示せず)に転送され得る、他のデータ、例えばコーディングされたオーディオデータストリームおよび/または補助データストリームと共に、エンコーディングされたビデオデータを受信し得る。受信機(431)は、コーディングされたビデオシーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、バッファメモリ(415)が、受信機(431)とエントロピーデコーダ/パーサ(420)(以下「パーサ(420)」)との間に接続され得る。特定の用途では、バッファメモリ(415)がビデオデコーダ(410)の一部である。他の用途では、バッファメモリがビデオデコーダ(410)の外部にあり得る(図示せず)。さらに他の用途では、例えばネットワークジッタに対抗するために、ビデオデコーダ(410)の外部にバッファメモリ(図示せず)が存在し、加えて、例えばプレイアウトタイミングを処理するために、ビデオデコーダ(410)の内部に他のバッファメモリ(415)が存在し得る。受信機(431)が十分な帯域幅および制御性を有する記憶/転送デバイスから、またはアイソシンクロナスネットワークから、データを受信しているとき、バッファメモリ(415)を必要としない場合がある、または小さくされ得る。インターネットなどのベスト・エフォート・パケット・ネットワークで使用するために、バッファメモリ(415)が必要とされる可能性があり、比較的大きい可能性があり、有利には適応サイズであり得、ビデオデコーダ(410)の外部のオペレーティングシステムまたは同様の要素(図示せず)内に少なくとも部分的に実装され得る。
ビデオデコーダ(410)は、コーディングされたビデオシーケンスからシンボル(421)を再構成するためのパーサ(420)を含み得る。これらのシンボルのカテゴリは、ビデオデコーダ(410)の動作を管理するために使用される情報と、場合によっては、図4に示されているように、電子デバイス(430)の不可欠な部分ではないが電子デバイス(430)に接続され得るレンダデバイス(412)などのレンダリングデバイス(例えば、ディスプレイスクリーン)を制御するための情報と、を含む。レンダリングデバイスに関する制御情報は、補足拡張情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI:Video Usability Information)パラメータセットフラグメント(図示せず)の形式であってもよい。パーサ(420)は、受信したコーディングされたビデオシーケンスを解析/エントロピーデコーディングし得る。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術または規格に準拠し得ると共に、可変長コーディング、ハフマンコーディング、および文脈依存性を伴うまたは伴わない算術コーディングなどを含む様々な原理に従い得る。パーサ(420)は、コーディングされたビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つのサブグループに関するサブグループパラメータのセットを、そのグループに対応する少なくとも1つのパラメータに基づいて抽出し得る。サブグループは、ピクチャのグループ(GOP:Group of Pictures)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU:Coding Unit)、ブロック、変換ユニット(TU:Transform Unit)、および予測ユニット(PU:Prediction Unit)などを含み得る。パーサ(420)はまた、変換係数、量子化器パラメータ値、およびMVなどのコーディングされたビデオシーケンス情報から抽出し得る。
パーサ(420)は、シンボル(421)を生成するために、バッファメモリ(415)から受信されたビデオシーケンスに対してエントロピーデコーディング/解析動作を実行し得る。
シンボル(421)の再構成は、コーディングされたビデオピクチャまたはその一部(例えば、インターピクチャおよびイントラピクチャ、インターブロックおよびイントラブロック)のタイプ、およびその他の要因に依存して、複数の異なるユニットを含み得る。どのユニットをどのように関与させるかは、パーサ(420)によってコーディングされたビデオシーケンスから解析されたサブグループ制御情報によって制御され得る。パーサ(420)と以下の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明確にするために示されていない。
既に述べた機能ブロックを超えて、ビデオデコーダ(410)は、以下に説明するように、いくつかの機能ユニットに、概念的に細分され得る。商業的な制約の下で動作する実際の実施態様では、これらのユニットの多くは互いに密接に相互作用し、互いに、少なくとも部分的に統合され得る。しかしながら、開示された主題を説明する目的のために、以下の機能ユニットへの概念的細分が適切である。
第1のユニットはスケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、量子化された変換係数、ならびに、いずれの変換を使用すべきか、ブロックサイズ、量子化因子、量子化スケーリングマトリクスなどを含む制御情報を、パーサ(420)からシンボル(421)として受信する。スケーラ/逆変換ユニット(451)は、アグリゲータ(455)に入力され得るサンプル値を含むブロックを出力し得る。
場合によっては、スケーラ/逆変換(451)の出力サンプルは、イントラコーディングされたブロックに関係する可能性があり、すなわち、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用し得るブロックである。そのような予測情報は、イントラピクチャ予測ユニット(452)によって与えられ得る。場合によっては、イントラピクチャ予測ユニット(452)は、現在のピクチャバッファ(458)からフェッチされた周辺の既に再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。現在のピクチャバッファ(458)は、例えば、部分的に再構成された現在のピクチャおよび/または完全に再構成された現在のピクチャをバッファリングする。いくつかの例では、アグリゲータ(455)は、サンプルごとに、イントラ予測ユニット(452)によって生成済みの予測情報を、スケーラ/逆変換ユニット(451)によって提供された出力サンプル情報に加える。
他の場合には、スケーラ/逆変換ユニット(451)の出力サンプルは、インターコーディングされた、潜在的に動き補償されたブロックに関係する可能性がある。そのような場合、動き補償予測ユニット(453)は、予測のために使用されるサンプルをフェッチするために、参照ピクチャメモリ(457)にアクセスし得る。ブロックに関係するシンボル(421)に従って、フェッチされたサンプルを動き補償した後、これらのサンプル(この場合、残差サンプルまたは残差信号と呼ばれる)は、出力サンプル情報を生成するために、アグリゲータ(455)によってスケーラ/逆変換ユニット(451)の出力に追加され得る。動き補償予測ユニット(453)が予測サンプルをフェッチする参照ピクチャメモリ(457)内のアドレスは、例えばX、Y、および参照ピクチャ成分を有し得るシンボル(421)の形式で動き補償予測ユニット(453)に利用可能なMVによって制御され得る。動き補償はまた、サブサンプルの正確なMVが使用されているときの参照ピクチャメモリ(457)からフェッチされたサンプル値の補間、およびMV予測メカニズムなどを含み得る。
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(456)における様々なループフィルタリング技術の対象となり得る。ビデオ圧縮技術は、コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(420)からシンボル(421)としてループフィルタユニット(456)に利用可能にされるインループフィルタ技術を含み得るが、しかし、コーディングされたピクチャまたはコーディングされたビデオシーケンスの以前の(デコーディング順の)部分のデコーディング中に取得されたメタ情報に応答し得、ならびに以前に再構成され、ループフィルタリングされたサンプル値に応答し得る。
ループフィルタユニット(456)の出力は、レンダデバイス(412)に出力し得ると共に、将来のインターピクチャ予測に使用するために参照ピクチャメモリ(457)に記憶され得るサンプルストリームであり得る。
一旦完全に再構成されると、特定のコーディングされたピクチャは、将来の予測のための参照ピクチャとして使用され得る。例えば、一旦現在のピクチャに対応するコーディングされたピクチャが完全に再構成され、コーディングされたピクチャが参照ピクチャとして(例えば、パーサ(420)によって)識別されると、現在のピクチャバッファ(458)は、参照ピクチャメモリ(457)の一部になり得、新しい現在のピクチャバッファは、後続のコーディングされたピクチャの再構成を開始する前に再配置され得る。
ビデオデコーダ(410)は、ITU-T Rec. H.265などの規格における所定のビデオ圧縮技術に従ってデコーディング動作を実行し得る。コーディングされたビデオシーケンスが、ビデオ圧縮技術または規格の構文と、ビデオ圧縮技術または規格において文書化されたプロファイルとの両方を順守するという意味で、コーディングされたビデオシーケンスは、使用されているビデオ圧縮技術または規格によって指定された構文に準拠し得る。具体的には、プロファイルは、ビデオ圧縮技術または規格で使用可能なすべてのツールから、そのプロファイル下で使用するために利用可能な唯一のツールとしていくつかのツールを選択し得る。また、準拠するために必要なことは、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルによって定義された範囲内にあることであり得る。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば毎秒メガサンプルで測定される)、最大参照ピクチャサイズなどを制限する。レベルによって設定される制限は、場合によっては、仮想参照デコーダ(HRD:Hypothetical Reference Decoder)仕様およびコーディングされたビデオシーケンスでシグナリングされたHRDバッファ管理のためのメタデータによってさらに制限され得る。
一実施形態では、受信機(431)は、エンコーディングされたビデオを有する追加の(冗長な)データを受信してもよい。追加のデータは、コーディングされたビデオシーケンスの一部として含まれ得る。追加のデータは、データを適切にデコーディングするために、および/または元のビデオデータをより正確に再構成するために、ビデオデコーダ(410)によって使用され得る。追加のデータは、例えば、時間、空間、または信号対雑音比(SNR:signal noise ratio)拡張レイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正コードなどの形式であり得る。
図5は、本開示の一実施形態によるビデオエンコーダ(503)のブロック図を示している。ビデオエンコーダ(503)は電子デバイス(520)に含まれる。電子デバイス(520)は送信機(540)(例えば、送信回路)を含む。ビデオエンコーダ(503)は、図3の例のビデオエンコーダ(303)の代わりに使用され得る。
ビデオエンコーダ(503)は、ビデオエンコーダ(503)によってコーディングされるべきビデオ画像をキャプチャし得るビデオソース(501)(図5の例では電子デバイス(520)の一部ではない)からビデオサンプルを受信し得る。他の例では、ビデオソース(501)が電子デバイス(520)の一部である。
ビデオソース(501)は、ビデオエンコーダ(503)によってコーディングされたソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形式で提供し得る。メディア提供システムでは、ビデオソース(501)が既に準備されたビデオを記憶する記憶デバイスであってもよい。ビデオ会議システムにおいて、ビデオソース(501)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであってもよい。ビデオデータは、順次に見られる場合に動きを伝える複数の個々のピクチャとして与えられてもよい。ピクチャ自体は、ピクセルの空間配列として編成することができ、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つまたは複数のサンプルを含み得る。当業者は、ピクセルとサンプルとの間の関係を容易に理解し得る。以下の説明はサンプルに焦点を当てている。
一実施形態によれば、ビデオエンコーダ(503)は、リアルタイムで、またはアプリケーションによって要求される任意の他の時間制約下で、コーディングし、ソースビデオシーケンスのピクチャを、コーディングされたビデオシーケンス(543)に圧縮し得る。適切なコーディング速度を実現することは、コントローラ(550)の1つの機能である。一部の実施形態において、コントローラ(550)は、以下で説明されるように他の機能ユニットを制御し、他の機能ユニットに機能的に接続される。明確にするために、接続は示されていない。コントローラ(550)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、…)、ピクチャサイズ、ピクチャのグループ(GOP)レイアウト、および最大MV許容参照領域などを含み得る。コントローラ(550)は、特定のシステム設計のために最適化されたビデオエンコーダ(503)に関連する他の適切な機能を有するように構成され得る。
いくつかの実施形態では、ビデオエンコーダ(503)は、コーディングループで動作するように構成される。過度に簡略化した説明として、一例では、コーディングループは、ソースコーダ(530)(例えば、コーディングされるべき入力ピクチャと参照ピクチャとに基づいて、シンボルストリームなどのシンボルを生成することに関与する)と、ビデオエンコーダ(503)に組み込まれた(ローカル)デコーダ(533)と、を含み得る。デコーダ(533)は、(リモート)デコーダも生成するのと同様の態様で(開示された主題で考慮されるビデオ圧縮技術においてシンボルとコーディングされたビデオビットストリームとの間の任意の圧縮が可逆的であるとき)サンプルデータを生成するためにシンボルを再構成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(534)に入力される。シンボルストリームのデコーディングは、デコーダの位置(ローカルまたはリモート)に関係なくビットイグザクトな結果をもたらすため、参照ピクチャメモリ(534)の内容も、ローカルエンコーダとリモートエンコーダとの間でビットイグザクトである。言い換えると、エンコーダの予測部分は、デコーディング中に予測を使用するときにデコーダが「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(および、例えばチャネル誤差が原因で同期性を維持することができない場合には、結果として生じるドリフト)のこの基本原理は、いくつかの関連技術においても使用される。
「ローカル」デコーダ(533)の動作は、図4に関連して上記で既に詳細に説明された、ビデオデコーダ(410)などの「リモート」デコーダの動作と同じであり得る。しかしながら、図4も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(545)およびパーサ(420)によるシンボルの、コーディングされたビデオシーケンスへのエンコーディング/コーディングされたビデオシーケンスからのデコーディングが可逆的であり得るため、バッファメモリ(415)およびパーサ(420)を含む、ビデオデコーダ(410)のエントロピーデコーディング部分は、ローカルデコーダ(533)では完全に実施されなくてもよい。
この時点で言えることは、デコーダ内に存在するパーシング/エントロピーデコーディングを除く任意のデコーダ技術もまた、対応するエンコーダ内において、実質的に同一の機能形態で存在する必要が必然的にあるということである。このため、開示された主題は、デコーダの動作に焦点を当てる。エンコーダ技術の説明は、包括的に記載されたデコーダ技術の逆であるため、省略することができる。特定の領域においてのみ、より詳細な説明が必要であり、以下に示す。
動作中、いくつかの例では、ソースコーダ(530)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つまたは複数の以前にコーディングされたピクチャを参照して、入力ピクチャを予測的にコーディングする動き補償予測コーディングを実行してもよい。このようにして、コーディングエンジン(532)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する予測参照として選択され得る参照ピクチャのピクセルブロックとの間の差分をコーディングする。
ローカルビデオデコーダ(533)は、ソースコーダ(530)によって生成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータをデコーディングし得る。コーディングエンジン(532)の動作は、好適には非可逆プロセスであり得る。コーディングされたビデオデータがビデオデコーダ(図5に図示せず)でデコーディングされ得るとき、再構成されたビデオシーケンスは通常、いくらかの誤差を有するソースビデオシーケンスの複製であり得る。ローカルビデオデコーダ(533)は、参照ピクチャに対してビデオデコーダによって実行され得るデコーディングプロセスを複製し、再構成された参照ピクチャを参照ピクチャキャッシュ(534)に記憶させ得る。このようにして、ビデオエンコーダ(503)は、遠端ビデオデコーダによって取得される(送信エラーなし)ことになる再構成された参照ピクチャとして共通のコンテンツを有する再構成された参照ピクチャのコピーをローカルに記憶し得る。
予測器(535)は、コーディングエンジン(532)のための予測探索を実行し得る。すなわち、コーディングされるべき新しいピクチャに関して、予測器(535)は、新しいピクチャのための適切な予測参照として機能し得るサンプルデータ(候補参照ピクセルブロックとしての)、または参照ピクチャMVおよびブロック形状などの特定のメタデータに関して参照ピクチャメモリ(534)を探索し得る。予測器(535)は、適切な予測参照を見つけるために、サンプルブロック・ピクセルブロックごとに(on a sample block-by-pixel block basis)動作し得る。場合によっては、予測器(535)によって取得された探索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(534)に格納された複数の参照ピクチャから描画された予測参照を有し得る。
コントローラ(550)は、例えば、ビデオデータをエンコーディングするために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(530)のコーディング動作を管理し得る。
前述のすべての機能ユニットの出力は、エントロピーコーダ(545)においてエントロピーコーディングに晒され得る。エントロピーコーダ(545)は、ハフマンコーディング、可変長コーディング、算術コーディングなどの技術に従ってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルをコーディングされたビデオシーケンスに変換する。
送信機(540)は、エントロピーコーダ(545)によって生成されたコーディングされたビデオシーケンスをバッファリングして、エンコーディングされたビデオデータを記憶する記憶デバイスへ、ハードウェア/ソフトウェアリンクであり得る通信チャネル(560)を介して送信の準備をし得る。送信機(540)は、ビデオコーダ(503)からのコーディングされたビデオデータを、送信される他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージし得る。
コントローラ(550)は、ビデオエンコーダ(503)の動作を管理し得る。コーディング中、コントローラ(550)は、特定のコーディングされたピクチャのタイプを各コーディングされたピクチャに割り当ててもよく、このピクチャのタイプは、それぞれのピクチャに適用され得るコーディング技術に影響を及ぼし得る。例えば、ピクチャは、以下のピクチャタイプのうちの1つとして割り当てられることが多い。
イントラピクチャ(Iピクチャ)は、シーケンス内の任意の他のピクチャを予測ソースとして使用せずに、コーディングおよびデコーディングされ得るものであり得る。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(「IDR」)ピクチャを含む、様々なタイプのイントラピクチャを可能にする。当業者であれば、Iピクチャのそれらの変形ならびにそれらそれぞれの用途および特徴を認識している。
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大で1つのMVおよび参照インデックスを使用するイントラ予測またはインター予測を使用してコーディングおよびデコーディングされ得るものであり得る。
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大で2つのMVおよび参照インデックスを使用するイントラ予測またはインター予測を使用して、コーディングおよびデコーディングされ得るものであり得る。同様に、複数の予測ピクチャは、単一のブロックの再構成のために3つ以上の参照ピクチャおよび関連メタデータを使用し得る。
ソースピクチャは一般に、複数のサンプルブロック(例えば、各々4×4、8×8、4×8、または16×16のサンプルのブロック)に空間的に細分され、ブロックごとにコーディングされ得る。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割当てによって決定されるように、他の(既にコーディングされた)ブロックを参照して予測的にコーディングされ得る。例えば、Iピクチャのブロックは、非予測的にコーディングされてもよく、またはそれらは、同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされてもよい(空間予測もしくはイントラ予測)。Pピクチャのピクセルブロックは、1つの以前にコーディングされた参照ピクチャを参照して、空間予測を介して、または時間予測を介して、予測的にコーディングされてもよい。Bピクチャのブロックは、1つまたは2つの以前にコーディングされた参照ピクチャを参照して、空間予測を介して、または時間予測を介して、予測的にコーディングされてもよい。
ビデオエンコーダ(503)は、例えばITU-T Rec. H.265のような所定のビデオコーディング技術または規格に従ってコーディング動作を実行し得る。その動作において、ビデオエンコーダ(503)は、入力ビデオシーケンスの時間的および空間的冗長性を利用する予測コーディング動作を含む様々な圧縮動作を実行し得る。したがって、コーディングされたビデオデータは、使用されているビデオコーディング技術または規格によって指定された構文に準拠し得る。
一実施形態では、送信機(540)は、エンコーディングされたビデオと共に追加のデータを送信してもよい。ソースコーダ(530)は、そのようなデータをコーディングされたビデオシーケンスの一部として含み得る。追加のデータは、時間/空間/SNR拡張レイヤ、冗長ピクチャおよびスライスなどの他の形式の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを含み得る。
ビデオは、複数のソースピクチャ(ビデオピクチャ)として時系列でキャプチャされ得る。(イントラ予測と省略されることが多い)イントラピクチャ予測は、所与のピクチャ内の空間の相関関係を利用し、インターピクチャ予測は、ピクチャ間の(時間または他の)相関関係を利用する。一例では、現在のピクチャと呼ばれるエンコーディング/デコーディング中の特定のピクチャはブロックに分割される。現在のピクチャ内のブロックが、ビデオ内の以前にコーディングされ、まだバッファリングされている参照ピクチャ内の参照ブロックと同様である場合、現在のピクチャ内のブロックは、MVと呼ばれるベクトルによってコーディングされ得る。MVは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3の次元を有し得る。
いくつかの実施形態では、インターピクチャ予測において、双予測技術を使用してもよい。双予測技術によれば、両方ともデコーディング順で、ビデオ内で現在のピクチャより前にある(が、表示順でそれぞれ過去および未来のものであってもよい)第1の参照ピクチャおよび第2の参照ピクチャなどの2つの参照ピクチャが使用される。現在のピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1のMVと、第2の参照ピクチャ内の第2の参照ブロックを指す第2のMVと、によってコーディングされ得る。ブロックは、第1の参照ブロックと第2の参照ブロックとの組合せによって予測され得る。
さらに、インターピクチャ予測において、コーディング効率を改善するために、マージモード技術を使用し得る。
本開示のいくつかの実施形態によれば、インターピクチャ予測およびイントラピクチャ予測などの予測は、ブロック単位で実行される。例えば、HEVC規格によれば、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64ピクセル、32×32ピクセル、または16×16ピクセルなどの同じサイズを有する。一般に、CTUは、1つのルマCTBおよび2つのクロマCTBである3つのコーディングツリーブロック(CTB:coding tree block)を含む。各CTUは、1つまたは複数のコーディングユニット(CU:coding unit)に再帰的に四分木分割され得る。例えば、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ピクセルなどのピクセルの値(例えば、ルマ値)の行列を含む。
図6は、本開示の他の実施形態に係るビデオエンコーダ(603)の図を示している。ビデオエンコーダ(603)は、ビデオピクチャのシーケンスにおける現在のビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックをコーディングされたビデオシーケンスの一部であるコーディングされたピクチャにエンコーディングするように構成される。一例において、ビデオエンコーダ(603)は、図3の例のビデオエンコーダ(303)の代わりに使用される。
HEVCの例では、ビデオエンコーダ(603)は、例えば8×8サンプルの予測ブロックなどのような処理ブロックのためのサンプル値のマトリクスを受信する。ビデオエンコーダ(603)は、処理ブロックが例えばレート歪み最適化を使用して、イントラモード、インターモード、または双予測モードのいずれを使用して最良にコーディングされるか否かを決定する。処理ブロックがイントラモードでコーディングされるべき場合、ビデオエンコーダ(603)は、処理ブロックをコーディングされたピクチャにエンコーディングするために、イントラ予測技術を使用し得、処理ブロックがインターモードまたは双予測モードでコーディングされるべき場合、ビデオエンコーダ(603)は、処理ブロックをコーディングされたピクチャにエンコーディングするために、それぞれインター予測技術または双予測技術を使用し得る。特定のビデオコーディング技術では、マージモードはインターピクチャ予測サブモードであり得、MVは、予測器の外部のコーディングされたMV成分の恩恵なしに1つまたは複数のMV予測器から導出される。特定の他のビデオコーディング技術では、対象ブロックに適用可能なMV成分が存在し得る。一例において、ビデオエンコーダ(603)は、処理ブロックのモードを決定するために、モード決定モジュール(図示せず)などの他の構成要素を含む。
図6の例において、ビデオエンコーダ(603)は、図6に示されているように互いに接続されるインターエンコーダ(630)、イントラエンコーダ(622)、残差計算器(623)、スイッチ(626)、残差エンコーダ(624)、汎用コントローラ(621)、および、エントロピーエンコーダ(625)を含む。
インターエンコーダ(630)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、そのブロックと、参照ピクチャ内の1つまたは複数の参照ブロック(例えば、前のピクチャおよび後のピクチャ内のブロック)とを比較し、インター予測情報(例えば、インターエンコーディング技術、MV、マージモード情報による冗長情報の記述)を生成し、任意の適切な技術を使用してインター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。いくつかの例では、参照ピクチャは、エンコーディングされたビデオ情報に基づいてデコーディングされた、デコーディングされた参照ピクチャである。
イントラエンコーダ(622)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、そのブロックと、同じピクチャ内の既にコーディングされたブロックとを比較し、変換後に量子化係数を生成し、場合によっては、イントラ予測情報(例えば、1つまたは複数のイントラエンコーディング技術によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(622)は、イントラ予測情報、および同じピクチャ内の参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)も計算する。
汎用コントローラ(621)は、汎用制御データを決定し、その汎用制御データに基づいてビデオエンコーダ(603)の他の構成要素を制御するように構成される。一例において、汎用コントローラ(621)は、ブロックのモードを決定し、モードに基づいてスイッチ(626)に制御信号を与える。例えば、モードがイントラモードである場合、汎用コントローラ(621)は、残差計算器(623)によって使用されるためにイントラモード結果を選択するようにスイッチ(626)を制御し、イントラ予測情報を選択し、イントラ予測情報をビットストリーム内に含めるようにエントロピーエンコーダ(625)を制御し、モードがインターモードである場合、汎用コントローラ(621)は、残差計算器(623)によって使用されるためにインター予測結果を選択するようにスイッチ(626)を制御し、インター予測情報を選択し、インター予測情報をビットストリーム内に含めるようにエントロピーエンコーダ(625)を制御する。
残差計算器(623)は、受信したブロックと、イントラエンコーダ(622)またはインターエンコーダ(630)から選択された予測結果との差分(残差データ)を計算するように構成される。残差エンコーダ(624)は、残差データをエンコーディングして変換係数を生成するために、残差データに基づいて動作するように構成される。一例において、残差エンコーダ(624)は、残差データを空間領域から周波数領域に変換して、変換係数を生成するように構成される。変換係数は、その後、量子化された変換係数を取得するために量子化処理を受ける。様々な実施形態では、ビデオエンコーダ(603)が残差デコーダ(628)も含む。残差デコーダ(628)は、逆変換を実行して、デコーディングされた残差データを生成するように構成される。デコーディングされた残差データは、イントラエンコーダ(622)およびインターエンコーダ(630)によって適切に使用され得る。例えば、インターエンコーダ(630)は、デコーディングされた残差データとインター予測情報とに基づいて、デコーディングされたブロックを生成することができ、また、イントラエンコーダ(622)は、デコーディングされた残差データとイントラ予測情報とに基づいて、デコーディングされたブロックを生成することができる。いくつかの例では、デコーディングされたブロックは、デコーディングされたピクチャを生成するために適切に処理され、デコーディングされたピクチャは、メモリ回路(図示せず)にバッファリングされ、参照ピクチャとして使用されてもよい。
エントロピーエンコーダ(625)は、エンコーディングされたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(625)は、HEVCなどの適切な規格に従って様々な情報を含むように構成される。一例では、エントロピーエンコーダ(625)は、汎用制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、および他の適切な情報を、ビットストリームに含めるように構成される。開示された主題によれば、インターモードまたは双予測モードのいずれかのマージサブモードでブロックをコーディングする場合、残差情報は存在しないことに留意されたい。
図7は、本開示の他の実施形態によるビデオデコーダ(710)の図を示している。ビデオデコーダ(710)は、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャを受信し、コーディングされたピクチャをデコーディングして、再構成されたピクチャを生成するように構成される。一例において、ビデオデコーダ(710)は、図3の例のビデオデコーダ(310)の代わりに使用される。
図7の例において、ビデオデコーダ(710)は、図7に示すように互いに接続される、エントロピーデコーダ(771)、インターデコーダ(780)、残差デコーダ(773)、再構成モジュール(774)、および、イントラデコーダ(772)を含む。
エントロピーデコーダ(771)は、コーディングされたピクチャから、コーディングされたピクチャが構成される構文要素を表す特定のシンボルを再構成するように構成され得る。そのようなシンボルは、例えば、ブロックがコーディングされるモード(例えば、イントラモード、インターモード、双予測モードなど、後者の2つがマージサブモードまたは他のサブモードである)、イントラデコーダ(772)またはインターデコーダ(780)によってそれぞれ予測に使用される特定のサンプルまたはメタデータを識別し得る予測情報(例えば、イントラ予測情報またはインター予測情報など)、および例えば量子化された変換係数の形式の残差情報などを含み得る。一例では、予測モードがインターモードまたは双予測モードである場合、インター予測情報がインターデコーダ(780)に提供され、また、予測タイプがイントラ予測タイプである場合、イントラ予測情報がイントラデコーダ(772)に提供される。残差情報は逆量子化され得、残差デコーダ(773)に提供される。
インターデコーダ(780)は、インター予測情報を受信し、そのインター予測情報に基づいてインター予測結果を生成するように構成される。
イントラデコーダ(772)は、イントラ予測情報を受信し、そのイントラ予測情報に基づいて予測結果を生成するように構成される。
残差デコーダ(773)は、逆量子化を実行して、逆量子化された変換係数を抽出し、その逆量子化された変換係数を処理して、残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(773)はまた、特定の制御情報を必要とする場合があり(量子化器パラメータ(QP)を含むために)、その情報はエントロピーデコーダ(771)によって提供され得る(このように示されていないデータ経路は、低ボリューム制御情報のみであり得る)。
再構成モジュール(774)は、空間領域において、再構成されたブロックを形成するために、残差デコーダ(773)によって出力された残差と、(場合によってはインター予測モジュールまたはイントラ予測モジュールによって出力された)予測結果とを組み合わせるように構成され、再構築されたブロックは、再構成されたピクチャの一部であり得、ひいては再構成されたビデオの一部であり得る。視覚的品質を改善するために、デブロッキング動作などの他の適切な動作を実行することができることに留意されたい。
ビデオエンコーダ(303)、(503)、および(603)、ならびにビデオデコーダ(310)、(410)、および(710)は、任意の適切な技術を使用して実装され得ることに留意されたい。一実施形態では、ビデオエンコーダ(303)、(503)、および(603)、ならびにビデオデコーダ(310)、(410)、および(710)は、1つまたは複数の集積回路を使用して実装されてもよい。別の実施形態では、ビデオエンコーダ(303)、(503)、および(603)、ならびにビデオデコーダ(310)、(410)、および(710)は、ソフトウェア指示を実行する1つまたは複数のプロセッサを使用して実装されてもよい。
II.機械のビデオコーディング
ビデオまたは画像は、娯楽、教育などの様々な用途のために人間によって消費され得る。このため、ビデオコーディングまたは画像コーディングでは、高い主観的品質を維持しつつ圧縮効率を向上するために、人間の視覚系の特徴を利用することが多い。
近年、機械学習アプリケーションの増加に伴い、豊富なセンサを装備すると共に、多くのインテリジェントプラットフォームは、オブジェクト検出、セグメント化、または追跡などのマシンビジョンタスクのためにビデオまたは画像を利用している。マシンビジョンタスクの消費のためにビデオまたは画像をエンコーディングする方法は、興味深く、困難な問題であり得る。これにより、マシン用ビデオコーディング(VCM:video coding for machines)の研究が導入された。この目的を達成するために、国際標準グループMPEGは、差分デバイス間のより良好な相互運用性のための関連技術を標準化するために、Ad-Hocグループ「マシン用ビデオコーディング(VCM)」を生成した。
図8は、本開示の一実施形態による例示的なVCMアーキテクチャを示している。図8のビデオデコーディングモジュールの出力は、主にマシン消費、すなわちマシンビジョン用であることに留意されたい。しかしながら、場合によっては、ビデオデコーディングモジュールの出力は、図8に示すように、人間の視覚にも使用することができる。さらに、例示的なVCMアーキテクチャには、ニューラルネットワーク(NN:neural network)モジュール用のインターフェースを含み得る。
クライアント(またはデコーダ)側からのマシンシステムのビデオコーディングは典型的に、まずサンプル領域内のビデオシーケンスを取得するために、ビデオデコーディングを実行し得る。次いで、ビデオシーケンスのビデオコンテンツを理解するために、1つまたは複数のマシンタスクを実行し得る。場合によっては、1つまたは複数のマシンタスクの出力は、例えば、デコーディングされた画像またはビデオシーケンス内の長方形の境界ボックスの形式で、ターゲットオブジェクトの情報をラベル付けすることであり得る。
III.多用途ビデオコーディング
VVCは、最近、2つの国際標準化機関、すなわちITUおよびISO/IECによって共同開発された。VVCの一バージョンは、2020年7月に完成され、最先端のビデオコーディング規格の1つである。
図9は、本開示の一実施形態による例示的なVVCエンコーダを示している。VVCエンコーダは、変換および量子化(TR+Q)モジュールと、エントロピーコーディングモジュールと、動き推定(ME:motion estimation)モジュールと、デコーダと、を含む。デコーダは、逆変換および逆量子化(iTR+iQ)モジュールと、イントラ予測モジュールと、インター予測モジュールと、合成予測モジュールと、デブロッキングフィルタ(Deblk)モジュールと、サンプル適応オフセットフィルタ(SAO:sample adaptive offset filter)モジュールと、適応ループフィルタ(ALF:adaptive loop filter)モジュールと、バッファと、を含む。エンコーダは、入力されたピクチャのコーディングブロック(CB:coding block)を受信し、コーディングされたビットストリームおよび再構成されたピクチャを出力する。変換および量子化モジュールと、逆変換および逆量子化モジュールとの両方は、変換ブロック(TB:transform block)を処理する。イントラ予測モジュールと、イントラ予測モジュールとの両方は、PBを処理する。合成予測モジュールは、インター予測とイントラ予測とを合成する。
イントラ予測のために、例えば、クロスコンポーネント線形モード(CCLM:cross-component linear mode)、多重参照線予測(MRLP:multiple reference line prediction)、イントラサブパーティション(ISP:intra sub-partitioning)、行列ベースのイントラ予測(MIP:matrix based intra prediction)などの様々なコーディングツールを含めることができる。
インター予測の場合、例えば、アフィン動きモデル(AFFINE)、サブブロックベース時間マージ候補(SbTMC:subblock-based temporal merging candidates)、適応動きベクトル分解能(AMVR:adaptive motion vector resolution)、幾何分割モード(GPM:geometric partition mode)、合成イントラ/インター予測(CIIP:combined intra/inter prediction)、動きベクトル差を伴うマージモード(MMVD:merge mode with motion vector difference)、CU重みを用いた双方向予測(BCW:bi-predictive with CU weights)、デコーダ動きベクトル改善(DMVR:decoder motion vector refinement)、双方向オプティカルフロー(BDOF:bi-directional optical flow)、オプティカルフローを用いた予測改善(PROF:prediction refinement using optical flow)などのコーディングツールのセットを含むことができる。
例えば、従属量子化(DQ:dependent quantization)、多重変換セット(MTS:multiple transform set)、低周波数非分離可能変換(LFNST:low frequency non-separable transform)、ルママッピングおよびクロマスケーリング(LMCS:luma mapping and chroma scaling)、クロスコンポーネント適応ループフィルタ(CCALF:cross-component adaptive loop filter)、適応ループフィルタ(ALF)、サンプル適応オフセットフィルタ(SAO)、デブロッキングフィルタ(Deblk)などの、変換、量子化、およびインループフィルタなどの他のツールを含めることができる。
ビデオコーディングシステムでは、ビデオビットストリームを正しくデコーディングするために必要ではないいくつかの有用な情報を、1つまたは複数の補足拡張情報(SEI)メッセージなどによって配信することができる。デコーダは、例えば、そのような情報を無視し得る。あるいは、デコーダは、ビデオシーケンスをデコーディングした後、使用のためにSEIメッセージをデコードし得る。一例では、仮想現実(VR:virtual reality)360度ビデオストリーミングでは、圧縮および送信のために全方向ビデオを、2Dの従来のビデオにパックすることができる。2Dビデオをデコーディングした後、システムは、ビデオを3Dフォーマットで視聴し得る前に、パックされた2Dビデオをサーボ処理ステップで処理する必要があり得る。例えば、等矩形射影(ERP:equi-rectangular projection)、キューブマップ射影(CMP:cube-map projection)など)のパッキングフォーマットに従って、パックされた2Dビデオを球面領域に変換して戻し、ビデオコンテンツの最も関連性の高い情報を含む仮定された中心ビューを有した球面信号を表示する。これらのステップは、ビデオ自体を正しくデコーディングすることに関連していないが、ビデオコンテンツを表示するために有用である。パック方法(ERP、CMP等)などの情報、または360度ビデオの推奨されるビュー中心の情報は、SEIメッセージを介して送信され得る。情報を受信することによって、VRクライアントシステムは、デコーディングされたビデオコンテンツを効率的に処理し得る。
IV.オブジェクトのラベリング情報のシグナリング
H.264、HEVC、または最近完成したVVC規格などのいくつかの関連するビデオコーディング規格では、入力ビデオ信号(またはシーケンス)は、ビデオ内に何人の人、またはいくつのオブジェクトがあるか、それらがどのように動き回るかなど、ビデオコンテンツの意味を理解することなく、波形として扱われる。一方、オブジェクト検出、セグメント化、または追跡などのマシンビジョンタスクは、ビデオシーケンスからこれらのタイプの情報を理解するように設計され得る。ビデオシーケンスをデコーディングした後、クライアント(またはデコーダ)側は、マシンタスクを実行して、画像またはビデオシーケンス内のターゲットオブジェクトのラベリング情報を取得し得る。
クライアント(またはデコーダ)側でマシンタスクを実行することは、計算の消費だけでなく、マシンタスクの結果を取得する時間の消費も招く可能性がある。一部のシステムでは、これらのコスト(例えば、計算および時間の消費)は望ましくない。
本開示は、ラベリング結果などの検出または認識情報を、クライアント(またはデコーダ)側に送信する方法を含む。本開示に含まれる方法は、VVC規格に限定されないことに留意されたい。本方法の原理は、Alliance for Open Mediaによって開発されたH.264、HEVC、またはAV1などの他のビデオコーディング規格にも適用され得る。
本開示の態様によれば、マシンビジョンターゲットのためのオブジェクトの1つまたは複数の境界ボックス、クラス、および/またはインデックスなどのラベリング情報は、デコーダ側において、コーディングされたビデオビットストリームをデコーディングした後に決定されるのではなく、エンコーダ側で決定され得る。決定されたラベリング情報は、様々な方法で、コーディングされ、デコーダおよび/またはクライアント側に送信され得る。ラベリング情報をデコーディングした後、ビデオコンテンツを理解するためにマシンタスクをさらに実行することなく、ラベリング結果は、デコーディングされた画像またはビデオシーケンスに直接適用され得る。一例では、1つまたは複数の境界ボックスの各々は、デコーディングされた画像内の異なるターゲットオブジェクトに適用されてもよい。別の例では、各ターゲットオブジェクトのクラスおよび/またはインデックスは、デコーディングされた画像内に表示され得る。このようにして、マシンタスクは、ピクチャの分解能とは無関係に実行され得る。
一実施形態では、エンコーダシステムは、図9に示すモジュールなどの同様のマシンビジョンタスクモジュールを適用して、関連するラベリング情報を取得するか、または異なるものを使用し得る。例えば、マシンビジョンタスクの出力は、各ピクチャの一連の境界ボックスの形式であってもよい。各境界ボックスは、それぞれの境界ボックスの位置およびサイズ情報によって表され得る。
本開示の態様によれば、各ピクチャにおけるオブジェクトの境界ボックスの情報のようなラベリング情報は、コーディングされたビデオビットストリームにおけるいくつかのサイド情報メッセージによって配信され得る。例えば、ラベリング情報は、コーディングされたビデオビットストリーム内のSEIメッセージを介して送信されてもよい。別の実施形態では、ラベリング情報はまた、コーディングされたビデオビットストリームに関連付けられた別個のファイルまたはプラグインファイルなどで、別々に提供され得る。
いくつかの実施形態では、ラベリング情報は、各ピクチャ内の1つまたは複数の境界ボックスの位置情報を含む。境界ボックスの位置を示すために、様々な参照点および/またはサイズ情報を使用することができる。一実施形態では、境界ボックスの位置情報は、境界ボックスの左上位置、および境界ボックスのサイズを含んでもよい。
表1は、現在のピクチャ内の境界ボックスの位置情報を含むラベリング情報をシグナリングするために使用され得る例示的な構文表を示している。
Figure 2023521047000002
表1において、構文要素num_boxesは、現在のピクチャ内の境界ボックスの総数を示す。構文要素box_loc_x[i]は、ルマサンプルにおける現在のピクチャの左上隅に対する、i番目の境界ボックスの左上隅の水平位置を示す。構文要素box_loc_y[i]は、ルマサンプルにおける現在のピクチャの左上隅に対する、i番目の境界ボックスの左上隅の垂直位置を示す。構文要素box_width[i]は、ルマサンプルにおけるi番目の境界ボックスの幅を示す。構文要素box_height[i]は、ルマサンプルにおけるi番目の境界ボックスの高さを示す。
なお、境界ボックスの表現は、上記の形式(左上位置+サイズ)に限定されない。例えば、左上位置+右下位置も境界ボックスを表し得る。
また、境界ボックスの位置は、ボックスの任意の固定位置によって表され得ることに留意されたい。左上隅は一例であり、他の位置も利用され得る。例えば、境界ボックスの中心位置、ならびに境界ボックスの幅および高さを使用して、境界ボックスを表してもよい。
一実施形態では、ラベリング情報は、現在のピクチャ内の各オブジェクトのカテゴリ情報を含んでもよい。カテゴリ情報は、境界ボックス内のオブジェクトが属するカテゴリを示す。例えば、カテゴリは、人、車、飛行機などとすることができる。表2は、現在のピクチャ内の境界ボックスの位置情報、および現在のピクチャ内のオブジェクトのカテゴリ情報を含むラベリング情報をシグナリングするために使用され得る例示的な構文表を示している。
Figure 2023521047000003
表2において、構文要素num_boxesは、現在のピクチャ内の境界ボックスの総数を示す。構文要素category_idは、i番目の境界におけるオブジェクトが属するカテゴリを示す。構文要素box_loc_x[i]は、ルマサンプルにおける現在のピクチャの左上隅に対する、i番目の境界ボックスの左上隅の水平位置を示す。構文要素box_loc_y[i]は、ルマサンプルにおける現在のピクチャの左上隅に対する、i番目の境界ボックスの左上隅の垂直位置を示す。構文要素box_width[i]は、ルマサンプルにおけるi番目の境界ボックスの幅を示す。構文要素box_height[i]は、ルマサンプルにおけるi番目の境界ボックスの高さを示す。
一実施形態では、カテゴリ情報に加えて、ラベリング情報は、現在のピクチャ内の1つまたは複数のオブジェクトの識別情報を含んでもよい。一例では、ラベリング情報は、現在のピクチャ内のオブジェクトごとに識別情報を含んでもよい。識別情報は、ビデオシーケンス内のオブジェクトを識別するために使用され得る。例えば、オブジェクト追跡では、識別情報を使用して、ビデオシーケンス内の同じオブジェクトを表すことができる。表3は、現在のピクチャ内の境界ボックスの位置情報と、現在のピクチャ内のオブジェクトのカテゴリ情報および識別情報と、含むラベリング情報をシグナリングするために使用される構文表を示している。
Figure 2023521047000004
表3において、構文要素num_boxesは、現在のピクチャ内の境界ボックスの総数を示す。構文要素category_idは、i番目の境界におけるオブジェクトが属するカテゴリを示す。構文要素instance_idは、i番目の境界におけるオブジェクトの識別番号を示す。構文要素box_loc_x[i]は、ルマサンプルにおける現在のピクチャの左上隅に対する、i番目の境界ボックスの左上隅の水平位置を示す。構文要素box_loc_y[i]は、ルマサンプルにおける現在のピクチャの左上隅に対する、i番目の境界ボックスの左上隅の垂直位置を示す。構文要素box_width[i]は、ルマサンプルにおけるi番目の境界ボックスの幅を示す。構文要素box_height[i]は、ルマサンプルにおけるi番目の境界ボックスの高さを示す。
オブジェクト追跡関連タスクなどのいくつかのマシンビジョンタスクでは、各オブジェクトは、異なるピクチャに表示される場合がある。異なるピクチャにわたる同じ境界ボックスのシグナリングを容易にするために、同じ境界ボックスidを使用して同じオブジェクトを表すことができる。後続のピクチャでは、境界ボックスの絶対位置およびサイズをシグナリングすることができる。別の実施形態では、前のピクチャにおけるその前の値に対する相対的な変化を、代わりに使用することができる。表4は、現在のピクチャ内の境界ボックスの位置オフセット情報を含むラベリング情報をシグナリングするために使用され得る例示的な構文表を示している。表4において、現在のピクチャ内の境界ボックスは、境界ボックスの左上隅位置および右下隅位置をシグナリングすることによって記述される。
Figure 2023521047000005
表4において、構文要素num_boxesは、現在のピクチャ内の境界ボックスの総数を示す。構文要素sign_tl_x[i]は、ルマサンプルにおける、前のピクチャ内の同じ境界ボックスに対する、i番目の境界ボックスの水平左上隅位置の差の符号を示す。構文要素sign_tl_y[i]は、ルマサンプルにおける、前のピクチャ内の同じ境界ボックスに対する、i番目の境界ボックスの垂直左上隅位置の差の符号を示す。構文要素sign_br_x[i]は、ルマサンプルにおける、前のピクチャ内の同じ境界ボックスに対する、i番目の境界ボックスの水平右下隅位置の差の符号を示す。構文要素sign_br_y[i]は、ルマサンプルにおける、前のピクチャ内の同じ境界ボックスに対する、i番目の境界ボックスの垂直右下隅位置の差の符号を示す。構文要素delta_box_tl_loc_x[i]は、ルマサンプルにおける、前のピクチャ内の同じ境界ボックスに対する、i番目の境界ボックスの水平左上隅位置の差の絶対値を示す。構文要素delta_box_tl_loc_y[i]は、ルマサンプルにおける、前のピクチャ内の同じ境界ボックスに対する、i番目の境界ボックスの垂直左上隅位置の差の絶対値を示す。構文要素delta_box_br_loc_x[i]は、ルマサンプルにおける、前のピクチャ内の同じ境界ボックスに対する、i番目の境界ボックスの水平右下隅位置の差の絶対値を示す。構文要素delta_box_br_loc_y[i]は、ルマサンプルにおける、前のピクチャ内の同じ境界ボックスに対する、i番目の境界ボックスの垂直右下隅位置の差の絶対値を示す。
構文要素sign_tl_x[i]、sign_tl_y[i]、sign_br_x[i]、sign_br_y[i]は、現在のピクチャの前に、前のピクチャがない場合、0に等しく設定され得る。あるいは、これらの構文要素は、デコーディング順または表示順で、現在のピクチャに対して前のピクチャがある場合にのみ条件付きでシグナリングされ得る。シグナリングされない場合、これらの構文要素は、0であると推測され得る。
変数PrevTopLeftBoxX[i]は、デコーディング順または表示順で、現在のピクチャより前にある前のピクチャにおけるi番目の境界ボックスの水平左上隅位置を示す。変数TopLeftBoxX[i]は、現在のピクチャ内でi番目の境界ボックスの水平左上隅位置を示す。
TopLeftBoxX[i]=PrevTopLeftBoxX[i]+sign_tl_x[i] * delta_box_tl_loc_x[i]
変数PrevTopLeftBoxY[i]は、デコーディング順または表示順で、現在のピクチャより前にある前のピクチャにおけるi番目の境界ボックスの垂直左上隅位置を示す。変数TopLeftBoxY[i]は、現在のピクチャ内でi番目の境界ボックスの垂直左上隅位置を示す。
TopLeftBoxY[i]=PrevTopLeftBoxY[i]+sign_tl_y[i] * delta_box_tl_loc_y[i]
変数PrevBotRightBoxX[i]は、デコーディング順または表示順で、現在のピクチャより前にある前のピクチャにおけるi番目の境界ボックスの水平右下隅位置を示す。変数BotRightBoxX[i]は、現在のピクチャ内でi番目の境界ボックスの水平右下隅位置を示す。
BotRightBoxX[i]=PrevBotRightBoxX[i]+sign_br_x[i] * delta_box_br_loc_x[i]
変数PrevBotRightBoxY[i]は、デコーディング順または表示順で、現在のピクチャより前にある前のピクチャにおけるi番目の境界ボックスの垂直右下隅位置を示す。変数BotRightBoxY[i]は、現在のピクチャ内でi番目の境界ボックスの垂直右下隅位置を示す。
BotRightBoxY[i]=PrevBotRightBoxY[i]+sign_br_y[i] * delta_box_br_loc_y[i]
現在のピクチャの前に前のピクチャがない場合、変数PrevTopLeftBoxX[i]、PrevTopLeftBoxY[i]、PrevBotRightBoxX[i]、PrevBotRightBoxY[i]は、0として初期化され得る。
現在のピクチャのデコーディングまたは表示の完了後に、変数PrevTopLeftBoxX[i]、PrevTopLeftBoxY[i]、PrevBotRightBoxX[i]、PrevBotRightBoxY[i]は、それぞれTopLeftBoxX[i]、TopLeftBoxY[i]、BotRightBoxX[i]、BotRightBoxY[i]と等しく設定され得る。
一実施形態では、シグナリングされた構文構造は、上記の構文表と同様であるが、現在のピクチャ内の境界ボックスは、その左上隅位置に、その幅および高さを加えてシグナリングすることによって記述されてもよい。この場合、シグナリングされるデルタ値は、i番目の境界ボックスの左上隅位置のデルタ値、i番目の境界ボックスの幅および高さのデルタ値、ならびにそれぞれの符号値とすることができる。
一実施形態では、オブジェクトのカテゴリ情報(例えば、category_id)および/または識別情報(例えば、instance_id)を表4に含めてもよい。
本開示の態様によれば、境界ボックスの左上位置および右下位置を、現在のピクチャ内に配置することができる。しかしながら、場合によっては、オブジェクトが現在のピクチャに表示されなくなると、境界ボックスは、現在のピクチャにもはや表示されるべきではない。一実施形態では、現在のピクチャに示されないi番目の境界ボックスについて、ピクチャ境界の外側の位置値などの所定の位置値を使用してもよい。例えば、ピクチャサイズが1920×1080である場合、境界ボックスの左上位置および右下位置を2000(ピクチャの幅および高さよりも大きい)に設定して、オブジェクトが現在のピクチャに存在せず、オブジェクトの境界ボックスを表示する必要がないことを示してもよい。
本開示の態様によれば、コーディングされたビデオビットストリームのメタデータ情報(例えば、SEIメッセージ)に含まれること以外に、ラベリング情報は、コーディングされたビデオビットストリームから分離されたメタデータファイル(例えば、プラグインファイル)に含まれ得る。ラベリング情報は、メタデータ情報とみなすことができ、リアルタイムトランスポートプロトコル(RTP:real-time transport protocol)、ISOベース媒体フォーマットファイル、およびダイナミック・アダプティブ・ストリーミング・オーバー・ハイパーテキスト・トランスポート・プロトコル(DASH:dynamic adaptive streaming over hypertext transport protocol)などのシステムレイヤアプローチを介してデコーダおよび/またはクライアント側に配信され得る。
クライアント(またはデコーダ)側は、必要に応じて、デコーディングされたピクチャにおけるラベリング情報を有効にするために、このような情報をシステムレイヤに要求し得る。
一実施形態では、クライアント(またはデコーダ)側は、ラベリング情報をシステムレイヤに要求するために、要求メッセージをエンコーダ側に送信し得る。
一実施形態では、クライアント(またはデコーダ)側は、要求メッセージを送信することなく、エンコーダ側からラベリング情報を受信し得る。
一実施形態では、クライアントは、デコーディングされたピクチャ内のラベリング情報を有効にするために、要求メッセージをデコーダに送信し得る。
一実施形態では、デコーダは、クライアントから要求メッセージを受信することなく、デコーダピクチャ内のラベリング情報を有効にし得る。
V.フローチャート
図10は、本開示の一実施形態による例示的なプロセス(1000)の概要を示すフローチャートを示している。様々な実施形態において、プロセス(1000)は、端末デバイス(210)、(220)、(230)、および(240)内の処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、イントラ予測モジュール(452)の機能を実行する処理回路、ビデオエンコーダ(503)の機能を実行する処理回路、予測器(535)の機能を実行する処理回路、イントラエンコーダ(622)の機能を実行する処理回路、ならびにイントラデコーダ(772)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態では、プロセス(1000)は、ソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行するとき、処理回路はプロセス(1000)を実行する。
プロセス(1000)は、一般に、ステップ(S1010)で開始し、プロセス(1000)は、コーディングされたビデオビットストリームに関連付けられたメタデータを受信する。メタデータは、コーディングされたビデオビットストリームにおいてコーディングされた第1のピクチャ内で検出された1つまたは複数のオブジェクトのラベリング情報を含む。その後、プロセス(1000)は、ステップ(S1020)に進む。
プロセス(1000)は、ステップ(S1020)において、コーディングされたビデオビットストリームにおいてコーディングされた第1のピクチャ内の1つまたは複数のオブジェクトのラベリング情報をデコーディングする。その後、プロセス(1000)は、ステップ(S1030)に進む。
プロセス(1000)は、ステップ(S1030)において、第1のピクチャ内の1つまたは複数のオブジェクトにラベリング情報を適用する。次に、プロセス(1000)は終了する。
一例では、境界ボックスを第1のピクチャ内の検出されたオブジェクトに適用してもよい。別の例では、検出されたオブジェクトが属するカテゴリを、第1のピクチャに表示してもよい。別の例では、検出されたオブジェクトの識別番号を第1のピクチャに表示してもよい。
一実施形態では、メタデータは、コーディングされたビデオビットストリーム内のSEIメッセージに含まれる。
一実施形態では、メタデータは、コーディングされたビデオビットストリームとは別のファイルに含まれる。
一実施形態では、ラベリング情報は、第1のピクチャ内の境界ボックスの総数を示し、各境界ボックスの位置情報およびサイズ情報を含み、各境界ボックスは、第1のピクチャ内の1つまたは複数のオブジェクトのうちの1つのオブジェクトに関連付けられる。
一実施形態では、ラベリング情報は、1つまたは複数のオブジェクトの各々に対するカテゴリを示すカテゴリ情報を含む。
一実施形態では、ラベリング情報は、ビデオシーケンス内の1つまたは複数のオブジェクトの各々を識別する識別情報を含む。
一実施形態では、境界ボックスのうちの1つの境界ボックスの位置情報は、第1のピクチャと、ビデオビットストリームにおいてコーディングされた第2のピクチャとの間で、境界ボックスのうちの1つの境界ボックスの位置オフセットを含む。
一実施形態では、境界ボックスのうちの1つの境界ボックスの位置情報は、第1のピクチャ内に存在しない境界ボックスのうちの1つの境界ボックスに関連付けられたオブジェクトに基づいて、その境界ボックスのうちの1つの境界ボックスに対する第1のピクチャの外側の位置を示す。
一実施形態では、プロセス(1000)は、コーディングされたビデオビットストリームに関連するメタデータを受信する要求を送信する。
VI.コンピュータシステム
上記で説明した技術は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装され、1つまたは複数のコンピュータ可読媒体に物理的に記憶され得る。例えば、図11は、開示された主題の特定の実施形態を実施するために適したコンピュータシステム(1100)を示している。
コンピュータソフトウェアは、1つまたは複数のコンピュータ中央処理装置(CPU:central processing unit)およびグラフィック処理装置(GPU:Graphics Processing Unit)などによって直接的に、または解釈およびマイクロコードの実行などを通して実行され得る命令を含むコードを生成するために、アセンブリ、コンパイル、リンキング、または同様のメカニズムを受け得る任意の適切なマシンコードまたはコンピュータ言語を使用してコーディングされ得る。
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、インターネット・オブ・シングス・デバイスなどを含む、様々なタイプのコンピュータまたはその構成要素で実行されてもよい。
コンピュータシステム(1100)に関して図11に示している構成要素は、本質的に例示であり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関する限定を示唆することを意図していない。また、構成要素の構成は、コンピュータシステム(1100)の例示的な実施形態に示す構成要素のいずれか1つまたは組合せに関連する依存性または要件を有すると解釈されるべきではない。
コンピュータシステム(1100)は、特定のヒューマンインターフェース入力デバイスを含んでもよい。このようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を通して1人または複数の人間のユーザによる入力に応答し得る。ヒューマンインターフェースデバイスを用いて、音声(発話、音楽、周囲音など)、画像(スキャン画像、静止画像カメラから取得される写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関係ない特定の媒体をキャプチャし得る。
入力ヒューマンインターフェースデバイスは、キーボード(1101)、マウス(1102)、トラックパッド(1103)、タッチスクリーン(1110)、データグローブ(図示せず)、ジョイスティック(1105)、マイクロフォン(1106)、スキャナ(1107)、およびカメラ(1108)(それぞれの1つのみが示されている)のうちの1つまたは複数を含み得る。
コンピュータシステム(1100)はまた、特定のヒューマンインターフェース出力デバイスを含んでもよい。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を通して、1人または複数の人間のユーザの感覚を刺激することができる。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1110)、データグローブ(図示せず)、またはジョイスティック(1105)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、オーディオ出力デバイス(スピーカ(1109)、ヘッドホン(図示せず)など)、視覚出力デバイス(CRT画面、LCD画面、プラズマ画面、OLED画面を含むスクリーン(1110)などであって、それぞれタッチスクリーン入力機能の有無にかかわらず、触覚フィードバック機能の有無にかかわらず、その一部は、2次元の視覚出力または立体出力などの手段による3次元以上の出力を出力できる、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ、スモークタンク(図示せず))、ならびにプリンタ(図示せず)を含んでもよい。これらの視覚出力デバイス(スクリーン(1110)など)は、グラフィックアダプタ(1150)を介してシステムバス(1148)に接続され得る。
コンピュータシステム(1100)はまた、CD/DVDなどの媒体(1121)を備えたCD/DVD ROM/RW(1120)を含む光学媒体、サムドライブ(1122)、リムーバブルハードドライブまたはソリッドステートドライブ(1123)、テープおよびフロッピーディスクなどのレガシー磁気媒体(図示せず)、セキュリティドングル(図示せず)などの特殊なROM/ASIC/PLDベースのデバイスなどの、人間がアクセス可能な記憶装置およびその関連媒体を含むことができる。
当業者はまた、現在開示された主題に関連して使用される「コンピュータ可読媒体」という用語が、送信媒体、搬送波、または他の一時的な信号を包含しないことを理解するはずである。
コンピュータシステム(1100)はまた、1つまたは複数の通信ネットワーク(1155)へのネットワークインターフェース(1154)を含み得る。1つまたは複数の通信ネットワーク(1155)は、例えば、無線、有線、光であり得る。1つまたは複数の通信ネットワーク(1155)はさらに、ローカル、ワイドエリア、メトロポリタン、車両および産業、リアルタイム、ならびに遅延耐性などであり得る。1つまたは複数の通信ネットワーク(1155)の例は、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上放送TVを含む有線または無線TVワイドエリアデジタルネットワーク、ならびにCANBusを含む車両および産業用のものなどを含む。特定のネットワークは通常、特定の汎用データポートまたは周辺バス(1149)(例えば、コンピュータシステム(1100)のUSBポート)に接続された外部ネットワークインターフェースアダプタを必要とし、他のものは一般に、以下に説明するように、システムバスに接続することによってコンピュータシステム(1100)のコアに統合される(例えば、PCコンピュータシステムに対するイーサネットインターフェース、またはスマートフォンコンピュータシステムに対するセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(1100)は他のエンティティと通信し得る。このような通信は、単一方向、受信のみ(例えば、テレビ放送)、単一方向の送信のみ(例えば、CANbusから特定のCANbusデバイスへ)、または双方向、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムに対して行い得る。特定のプロトコルおよびプロトコルスタックは、上記で説明したように、それらのネットワークおよびネットワークインターフェースのそれぞれで使用され得る。
前述のヒューマンインターフェースデバイス、ヒューマンアクセス可能な記憶デバイス、およびネットワークインターフェースは、コンピュータシステム(1100)のコア(1140)に取り付けられ得る。
コア(1140)は、1つまたは複数の中央処理装置(CPU)(1141)、グラフィック処理装置(GPU)(1142)、フィールドプログラマブルゲートエリア(FPGA:Field Programmable Gate Area)(1143)の形式の専用のプログラマブル処理ユニット、特定のタスク用のハードウェアアクセラレータ(1144)、およびグラフィックアダプタ(1150)などを含み得る。これらのデバイスは、読み出し専用メモリ(ROM:Read-only memory)(1145)、ランダムアクセスメモリ(1146)、ユーザアクセス不能な内蔵ハードドライブおよびSSDなどの内部大容量記憶装置(1147)と共に、システムバス(1148)を介して接続され得る。一部のコンピュータシステムでは、システムバス(1148)に1つまたは複数の物理プラグの形式でアクセスして、追加のCPU、GPUなどによる拡張が可能である。周辺デバイスは、コアのシステムバス(1148)に直接接続することも、周辺バス(1149)を介して接続することもできる。一例では、スクリーン(1110)はグラフィックアダプタ(1150)に接続され得る。周辺バスのアーキテクチャは、PCI、USBなどを含む。
CPU(1141)、GPU(1142)、FPGA(1143)、およびアクセラレータ(1144)は、組み合わせて前述のコンピュータコードを構成し得る特定の命令を実行し得る。そのコンピュータコードは、ROM(1145)またはRAM(1146)に記憶され得る。移行データは、RAM(1146)に記憶され得るが、永続データは、例えば内部大容量記憶装置(1147)に記憶され得る。メモリデバイスのいずれかへの高速な記憶および読み出しは、1つまたは複数のCPU(1141)、GPU(1142)、大容量記憶装置(1147)、ROM(1145)、RAM(1146)などに密接に関連するキャッシュメモリを使用することで可能になり得る。
コンピュータ可読媒体は、様々なコンピュータ実施動作を実行するためのコンピュータコードを有し得る。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構成されたものであってもよいし、またはコンピュータソフトウェア技術の当業者に周知の利用可能な種類のものであってもよい。
一例として、限定しないが、アーキテクチャを有するコンピュータシステム(1100)、具体的にはコア(1140)は、プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が、1つまたは複数の有形のコンピュータ可読媒体に具現化されたソフトウェアを実行する結果として、機能性を提供してもよい。このようなコンピュータ可読媒体は、上記で紹介したユーザアクセス可能な大容量記憶装置に、ならびにコア内部大容量記憶装置(1147)またはROM(1145)などの非一時的な性質のコア(1140)の特定の記憶装置に、関連する媒体であり得る。本開示の様々な実施形態を実施するソフトウェアは、そのようなデバイスに記憶され、コア(1140)によって実行され得る。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含み得る。ソフトウェアは、コア(1140)および具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(1146)に記憶されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を変更することを含む、本明細書に記載した特定のプロセスを、または特定のプロセスの特定の部分を実行させ得る。加えて、または代替として、コンピュータシステムは、回路(例えば、アクセラレータ(1144))にハードワイヤードまたはその他の方法で具現化されたロジックの結果として機能性を提供することができ、それは、本明細書に記載した特定のプロセスまたは特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに、またはソフトウェアと共に動作し得る。必要に応じて、ソフトウェアへの言及にはロジックを含めることができ、その逆も可能である。必要に応じて、コンピュータ可読媒体への言及は、実行のためのソフトウェアを記憶する回路(集積回路(IC:integrated circuit)など)、実行のためのロジックを具体化する回路、またはこれらの両方を包含し得る。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内にある修正例、置換例、および様々な代替均等例がある。したがって、当業者は、本明細書では明示的に示されていないか、または説明されていないが、本開示の原理を具現化し、したがってその精神および範囲内にある多数のシステムおよび方法を考案できることが理解されよう。
付記A:頭字語
ALF:適応ループフィルタ(Adaptive Loop Filter)
AMVP:高度動きベクトル予測(Advanced Motion Vector Prediction)
APS:適応パラメータセット(Adaptation Parameter Set)
ASIC:特定用途向け集積回路(Application-Specific Integrated Circuit)
ATMVP:代替/高度時間動きベクトル予測(Alternative/Advanced Temporal Motion Vector Prediction)
AV1:AOMedia Video 1
AV2:AOMedia Video 2
BMS:ベンチマークセット(Benchmark Set)
BV:ブロックベクトル(Block Vector)
CANBus:コントローラエリアネットワークバス(Controller Area Network Bus)
CB:コーディングブロック(Coding Block)
CC-ALF:クロスコンポーネント適応ループフィルタ(Cross-Component Adaptive Loop Filter)
CD:コンパクトディスク(Compact Disc)
CDEF:コンストレインド・ディレクショナル・エンハンスメント・フィルタ(Constrained Directional Enhancement Filter)
CPR:現在のピクチャ参照(Current Picture Referencing)
CPU:中央処理装置(Central Processing Unit)
CRT:ブラウン管(Cathode Ray Tube)
CTB:コーディングツリーブロック(Coding Tree Block)
CTU:コーディングツリーユニット(Coding Tree Unit)
CU:コーディングユニット(Coding Unit)
DPB:デコーダピクチャバッファ(Decoder Picture Buffer)
DPCM:差動パルス符号変調(Differential Pulse-Code Modulation)
DPS:デコーディングパラメータセット(Decoding Parameter Set)
DVD:デジタルビデオディスク(Digital Video Disc)
FPGA:フィールドプログラマブルゲートエリア(Field Programmable Gate Area)
JCCR:共同CbCr残差コーディング(Joint CbCr Residual Coding)
JVET:共同ビデオ探索チーム(Joint Video Exploration Team)
GOP:ピクチャのグループ(Groups of Pictures)
GPU:グラフィック処理装置(Graphics Processing Unit)
GSM:グローバル移動体通信システム(Global System for Mobile communication)
HDR:ハイダイナミックレンジ(High Dynamic Range)
HEVC:高効率ビデオコーディング(High Efficiency Video Coding)
HRD:仮想参照デコーダ(Hypothetical Reference Decoder)
IBC:イントラブロックコピー(Intra Block Copy)
IC:集積回路(Integrated Circuit)
ISP:イントラサブパーティション(Intra Sub-Partitions)
JEM:共同探索モデル(Joint Exploration Model)
LAN:ローカルエリアネットワーク(Local Area Network)
LCD:液晶ディスプレイ(Liquid-Crystal Display)
LR:ループ復元フィルタ(Loop Restoration Filter)
LRU:ループ復元ユニット(Loop Restoration Unit)
LTE:ロングタームエボリューション(Long-Term Evolution)
MPM:最確モード(Most Probable Mode)
MV:動きベクトル(Motion Vector)
OLED:有機発光ダイオード(Organic Light-Emitting Diode)
PB:予測ブロック(Prediction Block)
PCI:周辺構成要素相互接続(Peripheral Component Interconnect)
PDPC:位置依存予測組合せ(Position Dependent Prediction Combination)
PLD:プログラマブル論理デバイス(Programmable Logic Device)
PPS:ピクチャパラメータセット(Picture Parameter Set)
PU:予測ユニット(Prediction Unit)
RAM:ランダムアクセスメモリ(Random Access Memory)
ROM:読み出し専用メモリ(Read-Only Memory)
SAO:サンプル適応オフセット(Sample Adaptive Offset)
SCC:スクリーンコンテンツコーディング(Screen Content Coding)
SDR:標準ダイナミックレンジ(Standard Dynamic Range)
SEI:補足拡張情報(Supplementary Enhancement Information)
SNR:信号対雑音比(Signal Noise Ratio)
SPS:シーケンスパラメータセット(Sequence Parameter Set)
SSD:ソリッドステートドライブ(Solid-state Drive)
TU:変換ユニット(Transform Unit)
USB:ユニバーサルシリアルバス(Universal Serial Bus)
VPS:ビデオパラメータセット(Video Parameter Set)
VUI:ビデオのユーザビリティ情報(Video Usability Information)
VVC:多用途ビデオコーディング(Versatile Video Coding)
WAIP:広角イントラ予測(Wide-Angle Intra Prediction)
200 通信システム
210,220,230,240 端末デバイス
250 ネットワーク
301 ビデオソース
302 ビデオピクチャのストリーム
303 ビデオエンコーダ
304 エンコーディングされたビデオデータ
305 ストリーミングサーバ
306 クライアントサブシステム
307 エンコーディングされたビデオデータのコピー
308 クライアントサブシステム
309 エンコーディングされたビデオデータのコピー
310 ビデオデコーダ
311 ビデオピクチャ
312 ディスプレイ
313 キャプチャサブシステム
320 電子デバイス
330 電子デバイス
401 チャネル
410 ビデオデコーダ
412 レンダデバイス
415 バッファメモリ
420 エントロピーデコーダ/パーサ
421 シンボル
430 電子デバイス
431 受信機
451 スケーラ/逆変換ユニット
452 イントラピクチャ予測ユニット
453 動き補償予測ユニット
455 アグリゲータ
456 ループフィルタユニット
457 参照ピクチャメモリ
458 現在のピクチャバッファ
501 ビデオソース
503 ビデオエンコーダ
520 電子デバイス
530 ソースコーダ
532 コーディングエンジン
533 ローカルビデオデコーダ
534 参照ピクチャメモリ
535 予測器
540 送信機
543 ビデオシーケンス
545 エントロピーコーダ
550 コントローラ
560 通信チャネル
603 ビデオエンコーダ
621 汎用コントローラ
622 イントラエンコーダ
623 残差計算器
624 残差エンコーダ
625 エントロピーエンコーダ
626 スイッチ
628 残差デコーダ
630 インターエンコーダ
710 ビデオデコーダ
771 エントロピーデコーダ
772 イントラデコーダ
773 残差デコーダ
774 再構成モジュール
780 インターデコーダ
1101 キーボード
1102 マウス
1103 トラックパッド
1105 ジョイスティック
1106 マイクロフォン
1107 スキャナ
1108 カメラ
1110 タッチスクリーン
1120 CD/DVD ROM/RW
1121 媒体
1122 サムドライブ
1123 ソリッドステートドライブ
1140 コア
1141 中央処理装置
1142 グラフィック処理装置
1143 フィールドプログラマブルゲートエリア
1144 ハードウェアアクセラレータ
1145 読み出し専用メモリ
1146 ランダムアクセスメモリ
1147 内部大容量記憶装置
1148 システムバス
1149 周辺バス
1150 グラフィックアダプタ
1154 ネットワークインターフェース
1155 通信ネットワーク

Claims (20)

  1. デコーダにおけるビデオコーディングの方法であって、
    コーディングされたビデオビットストリームに関連付けられたメタデータを受信するステップであって、前記メタデータが、前記コーディングされたビデオビットストリームにおいてコーディングされた第1のピクチャ内で検出された1つまたは複数のオブジェクトのラベリング情報を含む、ステップと、
    前記コーディングされたビデオビットストリームにおいてコーディングされた前記第1のピクチャ内の前記1つまたは複数のオブジェクトの前記ラベリング情報をデコーディングするステップと、
    前記ラベリング情報を前記第1のピクチャ内の前記1つまたは複数のオブジェクトに適用するステップと
    を含む方法。
  2. 前記メタデータが、前記コーディングされたビデオビットストリーム内の補足拡張情報(SEI)メッセージに含まれる、請求項1に記載の方法。
  3. 前記メタデータが、前記コーディングされたビデオビットストリームとは別のファイルに含まれる、請求項1に記載の方法。
  4. 前記ラベリング情報が、前記第1のピクチャ内の境界ボックスの総数を示し、各境界ボックスの位置情報およびサイズ情報を含み、
    各境界ボックスが、前記第1のピクチャ内の前記1つまたは複数のオブジェクトのうちの1つのオブジェクトに関連付けられる、請求項1に記載の方法。
  5. 前記ラベリング情報が、前記1つまたは複数のオブジェクトの各々に対するカテゴリを示すカテゴリ情報を含む、請求項1に記載の方法。
  6. 前記ラベリング情報が、ビデオシーケンス内の前記1つまたは複数のオブジェクトの各々を識別する識別情報を含む、請求項1に記載の方法。
  7. 前記境界ボックスのうちの1つの境界ボックスの前記位置情報が、前記第1のピクチャと前記ビデオビットストリームにおいてコーディングされた第2のピクチャとの間で、前記境界ボックスのうちの前記1つの境界ボックスの位置オフセットを含む、請求項4に記載の方法。
  8. 前記境界ボックスのうちの1つの境界ボックスの前記位置情報が、前記第1のピクチャ内に存在しない前記境界ボックスのうちの前記1つの境界ボックスに関連付けられたオブジェクトに基づいて、前記境界ボックスのうちの前記1つの境界ボックスに対する前記第1のピクチャの外側の位置を示す、請求項4に記載の方法。
  9. 前記コーディングされたビデオビットストリームに関連付けられた前記メタデータを受信する要求を送信するステップ
    をさらに含む、請求項1に記載の方法。
  10. コーディングされたビデオビットストリームに関連付けられたメタデータを受信することであって、前記メタデータが、前記コーディングされたビデオビットストリームにおいてコーディングされた第1のピクチャ内で検出された1つまたは複数のオブジェクトのラベリング情報を含む、ことと、
    前記コーディングされたビデオビットストリームにおいてコーディングされた前記第1のピクチャ内の前記1つまたは複数のオブジェクトの前記ラベリング情報をデコーディングすることと、
    前記ラベリング情報を前記第1のピクチャ内の前記1つまたは複数のオブジェクトに適用することと
    を行うように構成された処理回路
    を備える装置。
  11. 前記メタデータが、前記コーディングされたビデオビットストリーム内の補足拡張情報(SEI)メッセージに含まれる、請求項1に記載の装置。
  12. 前記メタデータが、前記コーディングされたビデオビットストリームとは別のファイルに含まれる、請求項1に記載の装置。
  13. 前記ラベリング情報が、前記第1のピクチャ内の境界ボックスの総数を示し、各境界ボックスの位置情報およびサイズ情報を含み、
    各境界ボックスが、前記第1のピクチャ内の前記1つまたは複数のオブジェクトのうちの1つのオブジェクトに関連付けられる、請求項1に記載の装置。
  14. 前記ラベリング情報が、前記1つまたは複数のオブジェクトの各々に対するカテゴリを示すカテゴリ情報を含む、請求項1に記載の装置。
  15. 前記ラベリング情報が、ビデオシーケンス内の前記1つまたは複数のオブジェクトの各々を識別する識別情報を含む、請求項1に記載の装置。
  16. 前記境界ボックスのうちの1つの境界ボックスの前記位置情報が、前記第1のピクチャと前記ビデオビットストリームにおいてコーディングされた第2のピクチャとの間で、前記境界ボックスのうちの前記1つの境界ボックスの位置オフセットを含む、請求項4に記載の装置。
  17. 前記境界ボックスのうちの1つの境界ボックスの前記位置情報が、前記第1のピクチャ内に存在しない前記境界ボックスのうちの前記1つの境界ボックスに関連付けられたオブジェクトに基づいて、前記境界ボックスのうちの前記1つの境界ボックスに対する前記第1のピクチャの外側の位置を示す、請求項4に記載の装置。
  18. 前記処理回路が、
    前記コーディングされたビデオビットストリームに関連付けられた前記メタデータを受信する要求を送信すること
    を行うようにさらに構成される、請求項1に記載の装置。
  19. 命令を記憶した非一時的なコンピュータ可読記憶媒体であって、
    前記命令は、少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
    コーディングされたビデオビットストリームに関連付けられたメタデータを受信することであって、前記メタデータが、前記コーディングされたビデオビットストリームにおいてコーディングされた第1のピクチャ内で検出された1つまたは複数のオブジェクトのラベリング情報を含む、ことと、
    前記コーディングされたビデオビットストリームにおいてコーディングされた前記第1のピクチャ内の前記1つまたは複数のオブジェクトの前記ラベリング情報をデコーディングすることと、
    前記ラベリング情報を前記第1のピクチャ内の前記1つまたは複数のオブジェクトに適用することと
    を実行させる、非一時的なコンピュータ可読記憶媒体。
  20. 前記メタデータが、前記コーディングされたビデオビットストリーム内の補足拡張情報(SEI)メッセージに含まれる、請求項19に記載の非一時的なコンピュータ可読記憶媒体。
JP2022560387A 2021-01-08 2021-09-01 ビデオコーディングのための方法および装置 Active JP7467675B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024060305A JP2024074919A (ja) 2021-01-08 2024-04-03 ビデオコーディングのための方法および装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163135530P 2021-01-08 2021-01-08
US63/135,530 2021-01-08
US17/459,753 2021-08-27
US17/459,753 US11831920B2 (en) 2021-01-08 2021-08-27 Method and apparatus for video coding
PCT/US2021/048660 WO2022150066A1 (en) 2021-01-08 2021-09-01 Method and apparatus for video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024060305A Division JP2024074919A (ja) 2021-01-08 2024-04-03 ビデオコーディングのための方法および装置

Publications (2)

Publication Number Publication Date
JP2023521047A true JP2023521047A (ja) 2023-05-23
JP7467675B2 JP7467675B2 (ja) 2024-04-15

Family

ID=82322380

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022560387A Active JP7467675B2 (ja) 2021-01-08 2021-09-01 ビデオコーディングのための方法および装置
JP2024060305A Pending JP2024074919A (ja) 2021-01-08 2024-04-03 ビデオコーディングのための方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024060305A Pending JP2024074919A (ja) 2021-01-08 2024-04-03 ビデオコーディングのための方法および装置

Country Status (6)

Country Link
US (2) US11831920B2 (ja)
EP (1) EP4107693A4 (ja)
JP (2) JP7467675B2 (ja)
KR (1) KR20220165274A (ja)
CN (1) CN115380306A (ja)
WO (1) WO2022150066A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021060827A1 (ko) * 2019-09-23 2021-04-01 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
CN116170581B (zh) * 2023-02-17 2024-01-23 厦门瑞为信息技术有限公司 一种基于目标感知的视频信息编解码方法和电子设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8385688B2 (en) * 2008-08-27 2013-02-26 International Business Machines Corporation System and method for automatic recognition and labeling of anatomical structures and vessels in medical imaging scans
US10645344B2 (en) * 2010-09-10 2020-05-05 Avigilion Analytics Corporation Video system with intelligent visual display
US20120275524A1 (en) 2011-04-28 2012-11-01 Industrial Technology Research Institute Systems and methods for processing shadows in compressed video images
KR101956284B1 (ko) 2011-06-30 2019-03-08 엘지전자 주식회사 보간 방법 및 이를 이용한 예측 방법
US9241167B2 (en) * 2012-02-17 2016-01-19 Microsoft Technology Licensing, Llc Metadata assisted video decoding
EP3092806A4 (en) 2014-01-07 2017-08-23 Nokia Technologies Oy Method and apparatus for video coding and decoding
GB201501510D0 (en) * 2015-01-29 2015-03-18 Apical Ltd System
WO2018049321A1 (en) * 2016-09-12 2018-03-15 Vid Scale, Inc. Method and systems for displaying a portion of a video stream with partial zoom ratios
RU2632427C1 (ru) * 2016-12-09 2017-10-04 Общество с ограниченной ответственностью "Аби Девелопмент" Оптимизация обмена данными между клиентским устройством и сервером
US9660967B1 (en) * 2017-01-09 2017-05-23 Centri Technology, Inc. Big data markers for stream labeling, identification and decoding
CN110348270B (zh) * 2018-04-03 2023-06-09 扬智科技股份有限公司 影像物件辨识方法与影像物件辨识系统
WO2019208372A1 (ja) * 2018-04-25 2019-10-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US11010907B1 (en) * 2018-11-27 2021-05-18 Zoox, Inc. Bounding box selection
US10817739B2 (en) * 2019-01-31 2020-10-27 Adobe Inc. Content-aware selection
US11699063B2 (en) * 2019-02-25 2023-07-11 Intel Corporation Partial inference path technology in general object detection networks for efficient video processing
US11240532B2 (en) * 2020-03-03 2022-02-01 Nokia Technologies Oy Efficient culling of volumetric video atlas bitstreams

Also Published As

Publication number Publication date
US20220224943A1 (en) 2022-07-14
JP7467675B2 (ja) 2024-04-15
EP4107693A1 (en) 2022-12-28
JP2024074919A (ja) 2024-05-31
US20240048773A1 (en) 2024-02-08
WO2022150066A1 (en) 2022-07-14
US11831920B2 (en) 2023-11-28
KR20220165274A (ko) 2022-12-14
EP4107693A4 (en) 2023-05-10
CN115380306A (zh) 2022-11-22

Similar Documents

Publication Publication Date Title
JP2022179714A (ja) 映像復号化のための方法、装置及びコンピュータ・プログラム
KR102479076B1 (ko) 가장 가능성이 높은 모드를 도출하기 위한 방법 및 장치
JP7262881B2 (ja) ビデオコーディングのための方法およびコンピュータプログラム
JP7343669B2 (ja) Vvcにおける色変換のための方法及び機器
KR102574427B1 (ko) 인트라 예측 모드와 블록 차분 펄스-코드 변조 모드 사이의 상호작용을 위한 방법 및 장치
JP7244670B2 (ja) デコーダが実行するビデオデコーディングのための方法、装置及び非一時的なコンピュータ可読媒体、並びにエンコーダが実行するビデオエンコーディングのための方法
KR20210068512A (ko) 비디오 코딩을 위한 방법 및 장치
JP7359951B2 (ja) ビデオ符号化のための方法、装置、媒体およびコンピュータ・プログラム
KR20210107871A (ko) 비디오 성분을 단색 비디오로서 인코딩하기 위한 코딩 툴들의 시그널링
US20240048773A1 (en) Labeling detected objects in frames of a video
JP7236558B2 (ja) ビデオコーディングのための方法および装置
JP2023158110A (ja) ビデオ復号方法、ビデオ復号装置、コンピュータプログラム、およびビデオ符号化方法
JP7482246B2 (ja) 機械のためのビデオ符号化のための方法、装置およびコンピュータ・プログラム
JP2023553922A (ja) 動きベクトル差の改善されたシグナリングのための方法および装置
JP7325622B2 (ja) 映像コーディングのための方法、装置、及びコンピュータプログラム
JP7189370B2 (ja) Cuに基づく補間フィルタ選択のシグナリング
JP2023522704A (ja) ビデオコーディングのための方法および装置、およびコンピュータプログラム
CN112437306A (zh) 视频编解码方法、装置、计算机设备和存储介质
JP7439344B2 (ja) ビデオデコーディングのための方法、デバイス、およびコンピュータプログラム
KR102679144B1 (ko) 인트라 예측 모드와 블록 차분 펄스-코드 변조 모드 사이의 상호작용을 위한 방법 및 장치
JP2023543587A (ja) 補足強化情報メッセージを再サンプリングするワーピングベースの復号ピクチャ
JP2024509606A (ja) 単一参照動きベクトル差分のための適応解像度
KR20230117614A (ko) 움직임 벡터 차이 제한 방법 및 디바이스
JP2023531866A (ja) ビデオコーディングのための方法、装置、非一時的コンピュータ可読記憶媒体およびコンピュータプログラム
JP2023544031A (ja) ビデオコーディングのための方法、装置、およびコンピュータプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221003

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240105

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: 20240304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240403

R150 Certificate of patent or registration of utility model

Ref document number: 7467675

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150