JP7185047B2 - イントラ予測モードとブロック差分パルスコード変調モードとの間の相互作用のための方法および装置 - Google Patents

イントラ予測モードとブロック差分パルスコード変調モードとの間の相互作用のための方法および装置 Download PDF

Info

Publication number
JP7185047B2
JP7185047B2 JP2021536189A JP2021536189A JP7185047B2 JP 7185047 B2 JP7185047 B2 JP 7185047B2 JP 2021536189 A JP2021536189 A JP 2021536189A JP 2021536189 A JP2021536189 A JP 2021536189A JP 7185047 B2 JP7185047 B2 JP 7185047B2
Authority
JP
Japan
Prior art keywords
block
intra
mode
prediction
bdpcm
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
JP2021536189A
Other languages
English (en)
Other versions
JP2022514921A (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 JP2022514921A publication Critical patent/JP2022514921A/ja
Priority to JP2022186569A priority Critical patent/JP7362877B2/ja
Application granted granted Critical
Publication of JP7185047B2 publication Critical patent/JP7185047B2/ja
Priority to JP2023172181A priority patent/JP2023171907A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/04Colour television systems using pulse code modulation
    • H04N11/042Codec means
    • H04N11/046DPCM
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/619Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding the transform being operated outside the prediction loop
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/176Methods 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 block, e.g. a macroblock
    • 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/186Methods 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 a colour or a chrominance component
    • 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
    • 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/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

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)
  • Color Television Systems (AREA)

Description

関連出願の相互参照
本出願は、2020年4月29日に出願された米国特許出願第16/862,221号、「METHOD AND APPARATUSFORINTERACTION BETWEEN INTRA PREDICTION MODE AND BLOCK DIFFERENTIAL PULSE-CODE MODULATION MODE」の優先権の利益を主張し、同出願は、2019年4月30日に出願された米国仮出願第62/841,003号、「INTERACTION BETWEEN INTRA PREDICTION MODE AND BLOCK DIFFERENTIAL PULSE-CODE MODULATION MODE」の優先権の利益を主張する。先行出願の全開示は、参照によりそれらの全体が本明細書に組み込まれる。
本開示は、一般に、ビデオコーディングに関係する実施形態を記載する。
本明細書で提供される背景説明は、本開示の文脈を全体的に提示することを目的としている。ここに記名された発明者の仕事は、その仕事がこの背景技術セクションに記載されている程度まで、ならびにさもなければ出願時に従来技術として適格ではない可能性がある説明の態様は、明示的にも黙示的にも、本開示に対する従来技術として認められていない。
ビデオのコーディングおよび復号は、動き補償を伴うインターピクチャ予測を使用して実行することができる。非圧縮デジタルビデオは一連のピクチャを含むことができ、各ピクチャは、たとえば、1920×1080の輝度サンプルおよび関連する色度サンプルの空間次元を有する。一連のピクチャは、たとえば、毎秒60ピクチャまたは60Hzの固定または可変の(非公式にはフレームレートとしても知られる)ピクチャレートを有することができる。非圧縮ビデオはかなりのビットレート要件を有する。たとえば、サンプルあたり8ビットでの1080p60 4:2:0ビデオ(60Hzフレームレートで1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。そのようなビデオの1時間は、600Gバイトを超える記憶空間を必要とする。
ビデオのコーディングおよび復号の1つの目的は、圧縮を介して入力ビデオ信号の冗長度を減らすことであり得る。圧縮は、前述の帯域幅または記憶空間の要件を、場合によっては、2桁以上削減するのに役立つことができる。可逆圧縮と非可逆圧縮の両方、ならびにそれらの組合せを採用することができる。可逆圧縮は、圧縮された元の信号から元の信号の正確なコピーを復元することができる技法を指す。非可逆圧縮を使用すると、復元された信号は元の信号と同一ではない場合があるが、元の信号と復元された信号との間の歪みは、復元された信号を目的の用途に有用なものにするほど十分小さい。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量はアプリケーションに依存し、たとえば、特定の消費者向けストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みを許容することができる。実現可能な圧縮比は、許容/耐容歪みが大きいほど、圧縮比が高くなり得ることを反映することができる。
ビデオエンコーダおよびビデオデコーダは、たとえば、動き補償、変換、量子化、およびエントロピーコーディングを含む、いくつかの広範なカテゴリからの技法を利用することができる。
ビデオコーデック技術は、イントラコーディングとして知られる技法を含むことができる。イントラコーディングでは、サンプル値は、サンプルまたは以前に復元された参照ピクチャからの他のデータを参照せずに表される。いくつかのビデオコーデックでは、ピクチャはサンプルのブロックに空間的に細分される。サンプルのすべてのブロックがイントラモードでコード化されると、そのピクチャはイントラピクチャであり得る。イントラピクチャおよび独立したデコーダリフレッシュピクチャなどのそれらの派生物は、デコーダ状態をリセットするために使用することができ、したがって、コード化されたビデオビットストリームおよびビデオセッション内の最初のピクチャとして、または静止画像として使用することができる。イントラブロックのサンプルは変換にさらされる可能性があり、変換係数は、エントロピーコーディングの前に量子化することができる。イントラ予測は、変換前領域内のサンプル値を最小化する技法であり得る。場合によっては、変換後のDC値が小さいほど、かつAC係数が小さいほど、エントロピーコーディング後のブロックを表すために所与の量子化ステップサイズで必要とされるビットは少ない。
たとえば、MPEG-2生成コーディング技法から知られているような従来のイントラコーディングは、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技法は、たとえば、空間的に隣接し、復号順序で先行するデータのブロックの符号化/復号中に取得された周囲のサンプルデータおよび/またはメタデータから試行する技法を含む。そのような技法は、以後「イントラ予測」技法と呼ばれる。少なくともいくつかの場合では、イントラ予測は、復元中の現在のピクチャからの参照データのみを使用し、参照ピクチャからの参照データは使用しないことに留意されたい。
イントラ予測の多くの異なる形態が存在することができる。そのような技法のうちの2つ以上が所与のビデオコーディング技術において使用され得るとき、使用中の技法はイントラ予測モードでコード化することができる。場合によっては、モードはサブモードおよび/またはパラメータを有することができ、それらは個別にコード化することができるか、またはモードコードワードに含むことができる。所与のモード/サブモード/パラメータの組合せにどのコードワードを使用するかは、イントラ予測を介するコーディング効率利得に影響を与える可能性があり、そのため、コードワードをビットストリームに変換するために使用されるエントロピーコーディング技法にも影響を与える可能性がある。
イントラ予測の特定のモードは、H.264とともに導入され、H.265で改良され、共同探索モデル(JEM)、多用途ビデオコーディング(VVC)、およびベンチマークセット(BMS)などのより新しいコーディング技法でさらに改良された。予測子ブロックは、すでに利用可能なサンプルに属する隣接サンプル値を使用して形成することができる。隣接サンプルのサンプル値は、方向に従って予測子ブロックにコピーされる。使用中の方向への参照は、ビットストリーム内でコード化することができるか、またはそれ自体が予測されてよい。
図1Aを参照すると、右下に描写されているのは、(35個のイントラモードのうちの33個の角度モードに対応する)H.265の33個の可能な予測子方向から知られている9つの予測子方向のサブセットである。矢印が収束する点(101)は、予測対象のサンプルを表す。矢印は、サンプルが予測されている方向を表す。たとえば、矢印(102)は、サンプル(101)が水平から45度の角度で右上の1つまたは複数のサンプルから予測されることを示す。同様に、矢印(103)は、サンプル(101)が水平から22.5度の角度でサンプル(101)の左下の1つまたは複数のサンプルから予測されることを示す。
さらに図1Aを参照すると、左上には、(破線の太字で示された)4×4サンプルの正方形ブロック(104)が描写されている。正方形ブロック(104)は、各々が「S」、Y次元におけるその位置(たとえば、行インデックス)、およびX次元におけるその位置(たとえば、列インデックス)でラベル付けされた16個のサンプルを含む。たとえば、サンプル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個の方向をサポートすることができる。最も可能性が高い方向を識別するために実験が行われており、エントロピーコーディングにおけるいくつかの技法は、それらの可能性が高い方向を少数のビットで表すために使用され、可能性が低い方向に対して特定のペナルティを受け入れる。さらに、方向自体は、隣接する、すでに復号されたブロックで使用された隣接方向から予測できる場合がある。
HEVCで使用されるイントラ予測モードが図1Bに示される。HEVCでは、合計35個のイントラ予測モードがあり、それらの中で、モード10は水平モードであり、モード26は垂直モードであり、モード2、モード18、およびモード34は対角モードである。イントラ予測モードは、3つの最確モード(MPM)および32個の残りのモードによってシグナリングされる。
図1CはVVCで使用されるイントラ予測モードを示す。VVCでは、図1Cに示されたように合計95個のイントラ予測モードがあり、モード18は水平モードであり、モード50は垂直モードであり、モード2、モード34、およびモード66は対角モードである。モード1~14およびモード67~80は、広角イントラ予測(WAIP)モードと呼ばれる。
方向を表すコード化されたビデオビットストリーム内のイントラ予測方向ビットのマッピングは、ビデオコーディング技術によって異なる可能性があり、たとえば、予測方向の単純な直接マッピングから、イントラ予測モード、コードワード、MPMを含む複雑な適応方式、および同様の技法まで及ぶ可能性がある。しかしながら、すべての場合において、ビデオコンテンツ内でいくつかの他の方向よりも統計的に発生する可能性が低いいくつかの方向が存在し得る。ビデオ圧縮の目的は冗長性の低減なので、うまく機能するビデオコーディング技術では、それらの可能性が低い方向は、可能性が高い方向よりも多くのビット数によって表される。
例示的な実施形態によれば、ビデオデコーダにおいて実行されるビデオ復号の方法は、第2のブロックに関連付けられた第1のブロックがブロック差分パルスコード変調(BDPCM)モードでコード化されているかどうかを判定するステップを含む。方法は、第1のブロックがBDPCMモードでコード化されていると判定したことに応答して、BDPCM方向フラグに基づいて第1のブロックをイントラ予測モード値と関連付けるステップをさらに含む。方法は、第1のブロックに関連付けられたイントラ予測モード値を使用して、第2のブロックのためのイントラ予測モード値を決定するステップをさらに含む。方法は、決定されたイントラ予測モード値を使用して、第2のブロックを復元するステップをさらに含む。
例示的な実施形態によれば、ビデオ復号のためのビデオデコーダは、第2のブロックに関連付けられた第1のブロックがブロック差分パルスコード変調(BDPCM)モードでコード化されているかどうかを判定するように構成された処理回路を含む。第1のブロックがBDPCMモードでコード化されていると判定したことに応答して、処理回路は、BDPCM方向フラグに基づいて第1のブロックをイントラ予測モード値と関連付けるようにさらに構成される。処理回路は、第1のブロックに関連付けられたイントラ予測モード値を使用して、第2のブロックのためのイントラ予測モード値を決定するようにさらに構成される。処理回路は、決定されたイントラ予測モード値を使用して、第2のブロックを復元するようにさらに構成される。
例示的な実施形態によれば、非一時的コンピュータ可読媒体は、ビデオデコーダ内のプロセッサによって実行されると、第2のブロックに関連付けられた第1のブロックがブロック差分パルスコード変調(BDPCM)モードでコード化されているかどうかを判定するステップを含む方法をプロセッサに実行させる命令を記憶している。方法は、第1のブロックがBDPCMモードでコード化されていると判定したことに応答して、BDPCM方向フラグに基づいて第1のブロックをイントラ予測モード値と関連付けるステップをさらに含む。方法は、第1のブロックに関連付けられたイントラ予測モード値を使用して、第2のブロックのためのイントラ予測モード値を決定するステップをさらに含む。方法は、決定されたイントラ予測モード値を使用して、第2のブロックを復元するステップをさらに含む。
開示された主題のさらなる特徴、性質、および様々な利点は、以下の発明を実施するための形態および添付の図面からより明らかになる。
イントラ予測モードの例示的なサブセットの概略図である。 例示的なイントラ予測方向の図である。 例示的なイントラ予測方向の図である。 一実施形態による、通信システム(200)の簡略化されたブロック図の概略図である。 一実施形態による、通信システム(300)の簡略化されたブロック図の概略図である。 一実施形態による、デコーダの簡略化されたブロック図の概略図である。 一実施形態による、エンコーダの簡略化されたブロック図の概略図である。 別の実施形態による、エンコーダのブロック図である。 別の実施形態による、デコーダのブロック図である。 現在ブロックおよびその周囲の隣接ブロックの概略図である。 デコーダによって実行されるプロセスの一実施形態の図である。 本開示の一実施形態による、コンピュータシステムの概略図である。
図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は、開示された主題についてのアプリケーションのための一例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示す。開示された主題は、たとえば、ビデオ会議、デジタルテレビ、CD、DVD、メモリスティックなどを含むデジタル媒体への圧縮ビデオの保存などを含む、他のビデオ対応アプリケーションに等しく適用可能であり得る。
ストリーミングシステムは、たとえば、圧縮されていないビデオピクチャのストリーム(302)を作成するビデオソース(301)、たとえば、デジタルカメラを含むことができるキャプチャサブシステム(313)を含んでよい。一例では、ビデオピクチャのストリーム(302)は、デジタルカメラによって撮影されたサンプルを含む。符号化されたビデオデータ(304)(またはコード化されたビデオビットストリーム)と比較したときに多いデータ量を強調するために太い線として描写されたビデオピクチャのストリーム(302)は、ビデオソース(301)に結合されたビデオエンコーダ(303)を含む電子デバイス(320)によって処理することができる。ビデオエンコーダ(303)は、以下でより詳細に記載されるように、開示された主題の態様を可能にするかまたは実装するために、ハードウェア、ソフトウェア、またはそれらの組合せを含むことができる。ビデオピクチャのストリーム(302)と比較したときに少ないデータ量を強調するために細い線として描写された符号化されたビデオデータ(304)(または符号化されたビデオビットストリーム(304))は、将来の使用のためにストリーミングサーバ(305)に格納することができる。図3のクライアントサブシステム(306)および(308)などの1つまたは複数のストリーミングクライアントサブシステムは、ストリーミングサーバ(305)にアクセスして、符号化されたビデオデータ(304)のコピー(307)および(309)を検索することができる。クライアントサブシステム(306)は、たとえば、電子デバイス(330)内にビデオデコーダ(310)を含むことができる。ビデオデコーダ(310)は、符号化されたビデオデータの入力コピー(307)を復号し、ディスプレイ(312)(たとえば、ディスプレイ画面)または他のレンダリングデバイス(描写せず)上でレンダリングすることができるビデオピクチャの出力ストリーム(311)を作成する。いくつかのストリーミングシステムでは、符号化されたビデオデータ(304)、(307)、および(309)(たとえば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮規格に従って符号化することができる。それらの規格の例には、ITU-T勧告H.265が含まれる。一例では、開発中のビデオコ
ーディング規格は、非公式に多用途ビデオコーディング(VVC)として知られている。開示された主題は、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)の動作を管理するために使用される情報、および潜在的に、電子デバイス(430)の不可欠な部分ではないが、図4に示されたように、電子デバイス(430)に結合することができるレンダリングデバイス(412)(たとえば、ディスプレイ画面)などのレンダリングデバイスを制御するための情報が含まれる。レンダリングデバイスのための制御情報は、補足拡張情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)のパラメータセットフラグメント(描写せず)の形式であってよい。パーサー(420)は、受け取ったコード化されたビデオシーケンスを構文解析/エントロピー復号することができる。コード化されたビデオシーケンスのコーディングは、ビデオコーディング技術または規格に従うことができ、文脈感度の有無にかかわらず、可変長コーディング、ハフマンコーディング、算術コーディングなどを含む様々な原理に従うことができる。パーサー(420)は、グループに対応する少なくとも1つのパラメータに基づいて、コード化されたビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つのためのサブグループパラメータのセットを抽出することができる。サブグループは、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサー(420)はまた、コード化されたビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトルなどの情報を抽出することができる。
パーサー(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)に利用可能な動きベクトルによって制御することができる。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(457)からフェッチされたサンプル値の補間、動きベクトル予測メカニズムなどを含むことができる。
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(456)において様々なループフィルタリング技法を受けることができる。ビデオ圧縮技術は、(コード化されたビデオビットストリームとも呼ばれる)コード化されたビデオシーケンスに含まれるパラメータによって制御され、パーサー(420)からのシンボル(421)としてループフィルタユニット(456)に利用可能にされるインループフィルタ技術を含むことができるが、コード化されたピクチャまたはコード化されたビデオシーケンスの(復号順序で)前の部分の復号中に取得されたメタ情報に応答するだけでなく、以前に復元およびループフィルタリングされたサンプル値に応答することもできる。
ループフィルタユニット(456)の出力は、レンダリングデバイス(412)に出力されるだけでなく、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(457)に格納することができるサンプルストリームであり得る。
特定のコード化されたピクチャは、完全に復元されると、将来の予測のために参照ピクチャとして使用することができる。たとえば、現在のピクチャに対応するコード化されたピクチャが完全に復元され、コード化されたピクチャが参照ピクチャとして(たとえば、パーサー(420)によって)識別されると、現在のピクチャバッファ(458)は、参照ピクチャメモリ(457)の一部になることができ、未使用の現在のピクチャバッファは、次のコード化されたピクチャの復元を開始する前に再割当てすることができる。
ビデオデコーダ(410)は、ITU-T Rec.H.265などの規格内の所定のビデオ圧縮技術に従って復号動作を実行することができる。コード化されたビデオシーケンスがビデオ圧縮技術または規格の構文とビデオ圧縮技術において文書化されたプロファイルの両方を順守するという意味で、コード化されたビデオシーケンスは、使用されているビデオ圧縮技術または規格によって指定された構文に準拠することができる。具体的には、プロファイルは、ビデオ圧縮技術または規格で使用可能なすべてのツールから、そのプロファイル下で使用するために利用可能な唯一のツールとしていくつかのツールを選択することができる。また、コンプライアンスのために必要なことは、コード化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルによって定義された範囲内にあることである。場合によっては、レベルにより、最大ピクチャサイズ、最大フレームレート、(たとえば、1秒あたりのメガサンプル単位で測定された)最大復元サンプルレート、最大参照ピクチャサイズなどが制限される。レベルによって設定される制限は、場合によっては、仮想参照デコーダ(HRD)の仕様、およびコード化されたビデオシーケンス内で通知されるHRDバッファ管理用のメタデータによってさらに制限され得る。
一実施形態では、受信器(431)は、符号化されたビデオとともに追加の(冗長な)データを受信することができる。追加のデータは、コード化されたビデオシーケンスの一部として含まれてよい。追加のデータは、データを適切に復号するために、かつ/または元のビデオデータをより正確に復元するために、ビデオデコーダ(410)によって使用されてよい。追加のデータは、たとえば、時間、空間、または信号ノイズ比(SNR)の拡張層、冗長スライス、冗長ピクチャ、順方向誤り訂正コードなどの形式であり得る。
図5は、本開示の一実施形態による、ビデオエンコーダ(503)のブロック図を示す。ビデオエンコーダ(503)は電子デバイス(520)に含まれる。電子デバイス(520)は送信器(540)(たとえば、送信回路)を含む。ビデオエンコーダ(503)は、図3の例のビデオエンコーダ(303)の代わりに使用することができる。
ビデオエンコーダ(503)は、ビデオエンコーダ(503)によってコード化されるビデオ画像をキャプチャすることができる(図5の例では電子デバイス(520)の一部ではない)ビデオソース(501)からビデオサンプルを受信することができる。別の例では、ビデオソース(501)は電子デバイス(520)の一部である。
ビデオソース(501)は、任意の適切なビット深度(たとえば、8ビット、10ビット、12ビット、…)、任意の色空間(たとえば、BT.601 Y CrCB、RGB、…)、および任意の適切なサンプリング構造(たとえば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形態で、ビデオエンコーダ(503)によってコード化されるソースビデオシーケンスを提供することができる。メディアサービングシステムでは、ビデオソース(501)は、以前に準備されたビデオを格納するストレージデバイスであってよい。ビデオ会議システムでは、ビデオソース(501)は、ビデオシーケンスとしてローカル画像情報をキャプチャするカメラであってよい。ビデオデータは、順番に見たときに動きを伝える複数の個別のピクチャとして提供されてよい。ピクチャ自体は、ピクセルの空間配列として編成されてよく、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つまたは複数のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の説明はサンプルに焦点を当てる。
一実施形態によれば、ビデオエンコーダ(503)は、リアルタイムで、またはアプリケーションによって必要とされる任意の他の時間制約の下で、ソースビデオシーケンスのピクチャをコード化されたビデオシーケンス(543)にコード化し圧縮することができる。適切なコーディング速度を履行することは、コントローラ(550)の1つの機能である。いくつかの実施形態では、コントローラ(550)は、以下に記載される他の機能ユニットを制御し、他の機能ユニットに機能的に結合されている。分かりやすくするために、結合は描写されていない。コントローラ(550)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技法のラムダ値、…)、ピクチャサイズ、ピクチャグループ(GOP)のレイアウト、最大動きベクトル検索範囲などを含むことができる。コントローラ(550)は、特定のシステム設計のために最適化されたビデオエンコーダ(503)に関連する他の適切な機能を有するように構成することができる。
いくつかの実施形態では、ビデオエンコーダ(503)は、コーディングループで動作するように構成される。単純化し過ぎた説明として、一例では、コーディングループは、(たとえば、コード化される入力ピクチャ、および参照ピクチャに基づいて、シンボルストリームなどのシンボルを作成することに関与する)ソースコーダ(530)、ならびにビデオエンコーダ(503)に組み込まれた(ローカル)デコーダ(533)を含むことができる。デコーダ(533)は、(シンボルとコード化されたビデオビットストリームとの間のいかなる圧縮も、開示された主題で考慮されるビデオ圧縮技術において可逆であるため)(リモート)デコーダも作成するのと同様の方式で、シンボルを復元してサンプルデータを作成する。復元されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(534)に入力される。シンボルストリームの復号は、デコーダの場所(ローカルまたはリモート)に関係なくビット正確な結果につながるので、参照ピクチャメモリ(534)内のコンテンツも、ローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えれば、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが「見る」のと全く同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(および、たとえば、チャネルエラーのために同期性が維持できない場合に結果として生じるドリフト)のこの基本原理は、いくつかの関連技術でも使用される。
「ローカル」デコーダ(533)の動作は、図4とともに上記に詳細にすでに記載されている、ビデオデコーダ(410)などの「リモート」デコーダの動作と同じであり得る。しかしながら、また図4を簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(545)およびパーサー(420)によるコード化されたビデオシーケンスへのシンボルの符号化/復号は可逆であり得るので、バッファメモリ(415)を含むビデオデコーダ(410)のエントロピー復号部分、およびパーサー(420)は、ローカルデコーダ(533)に完全に実装されていない可能性がある。
この時点で行うことができる観察は、デコーダに存在する構文解析/エントロピー復号以外の任意のデコーダ技術も、対応するエンコーダ内に実質的に同一の機能形態で必ず存在する必要があるということである。このため、開示される主題はデコーダの動作に焦点を当てる。エンコーダ技術の説明は、包括的に記載されたデコーダ技術の逆であるため、省略することができる。特定の領域のみで、より詳細な説明が必要であり、以下に提供される。
動作中、いくつかの例では、ソースコーダ(530)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つまたは複数の以前にコード化されたピクチャを参照して入力ピクチャを予測的にコード化する、動き補償予測コーディングを実行することができる。このようにして、コーディングエンジン(532)は、入力ピクチャのピクセルブロックと、入力ピクチャへの予測基準として選択され得る参照ピクチャのピクセルブロックとの間の差をコード化する。
ローカルビデオデコーダ(533)は、ソースコーダ(530)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコード化されたビデオデータを復号することができる。コーディングエンジン(532)の動作は、有利なことに、非可逆プロセスであってよい。コード化されたビデオデータがビデオデコーダ(図5には示されていない)で復号され得るとき、復元されたビデオシーケンスは、通常、いくつかのエラーを伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(533)は、参照ピクチャに対してビデオデコーダによって実行され得る復号プロセスを複製し、復元された参照ピクチャが参照ピクチャキャッシュ(534)に格納されるようにすることができる。このようにして、ビデオエンコーダ(503)は、(送信エラーがない)遠端ビデオデコーダによって取得される復元された参照ピクチャとして共通のコンテンツを有する、復元された参照ピクチャのコピーをローカルに格納することができる。
予測器(535)は、コーディングエンジン(532)のための予測検索を実行することができる。すなわち、コード化される新しいピクチャの場合、予測器(535)は、新しいピクチャのための適切な予測基準として役立つことができる、(候補参照ピクセルブロックとしての)サンプルデータまたは参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを求めて、参照ピクチャメモリ(534)を検索することができる。予測器(535)は、適切な予測基準を見つけるために、ピクセルブロックごとにサンプルブロックに対して動作することができる。場合によっては、予測器(535)によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(534)に格納された複数の参照ピクチャから引き出された予測基準を有することができる。
コントローラ(550)は、たとえば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(530)のコーディング動作を管理することができる。
すべての前述の機能ユニットの出力は、エントロピーコーダ(545)内でエントロピーコーディングを受けることができる。エントロピーコーダ(545)は、ハフマンコーディング、可変長コーディング、算術コーディングなどの技術に従ってシンボルを可逆圧縮することにより、様々な機能ユニットによって生成されたシンボルをコード化されたビデオシーケンスに変換する。
送信器(540)は、エントロピーコーダ(545)によって作成されたコード化されたビデオシーケンスをバッファリングして、通信チャネル(560)を介した送信の準備をすることができ、通信チャネル(560)は、符号化されたビデオデータを格納するストレージデバイスへのハードウェア/ソフトウェアリンクであってよい。送信器(540)は、ビデオコーダ(503)からのコード化されたビデオデータを、送信される他のデータ、たとえば、コード化されたオーディオデータおよび/または補助データストリーム(ソースは図示されていない)とマージすることができる。
コントローラ(550)は、ビデオエンコーダ(503)の動作を管理することができる。コーディング中に、コントローラ(550)は、各コード化ピクチャに特定のコード化ピクチャタイプを割り当てることができ、それは、それぞれのピクチャに適用され得るコーディング技法に影響を及ぼす場合がある。たとえば、ピクチャは、しばしば、以下のピクチャタイプのうちの1つとして割り当てられてよい。
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内のいかなる他のピクチャも使用せずにコード化および復号され得るピクチャであり得る。いくつかのビデオコーデックは、たとえば、独立デコーダリフレッシュ(「IDR」)ピクチャを含む、様々なタイプのイントラピクチャを可能にする。当業者は、Iピクチャのそれらの変形形態、ならびにそれらのそれぞれの用途および特徴を知っている。
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、多くとも1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して、コード化および復号され得るピクチャであり得る。
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、多くとも2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して、コード化および復号され得るピクチャであり得る。同様に、複数の予測ピクチャは、単一ブロックの復元のために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パラメータセットフラグメントなどを含んでよい。
ビデオは、時系列で複数のソースピクチャ(ビデオピクチャ)としてキャプチャされてよい。(しばしば、イントラ予測と省略される)イントラピクチャ予測は、所与のピクチャ内の空間の相関関係を利用し、インターピクチャ予測は、ピクチャ間の(時間または他の)相関関係を利用する。一例では、現在のピクチャと呼ばれる、符号化/復号中の特定のピクチャがブロックに分割される。現在のピクチャ内のブロックが、以前にコード化され、ビデオ内にまだバッファリングされている参照ピクチャ内の参照ブロックに類似しているとき、現在のピクチャ内のブロックは、動きベクトルと呼ばれるベクトルによってコード化することができる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3の次元を有することができる。
いくつかの実施形態では、インターピクチャ予測においてバイ予測技法を使用することができる。バイ予測技法によれば、両方ともビデオ内の現在のピクチャよりも復号順序で前にある(が、それぞれ、表示順序で過去および将来であり得る)第1の参照ピクチャおよび第2の参照ピクチャなどの2つの参照ピクチャが使用される。現在のピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトル、および第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルによってコード化することができる。ブロックは、第1の参照ブロックと第2の参照ブロックの組合せによって予測することができる。
さらに、コーディング効率を上げるために、インターピクチャ予測においてマージモード技法を使用することができる。
本開示のいくつかの実施形態によれば、インターピクチャ予測およびイントラピクチャ予測などの予測は、ブロックの単位で実行される。たとえば、HEVC規格によれば、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64ピクセル、32×32ピクセル、または16×16ピクセルなどの同じサイズを有する。一般に、CTUは3つのコーディングツリーブロック(CTB)を含み、それらは1つのルーマCTBおよび2つのクロマ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を含む。一実施形態では、コーディング(符号化/復号)における予測動作は、予測ブロックの単位で実行される。予測ブロックの一例としてルーマ予測ブロックを使用すると、予測ブロックは、8x8ピクセル、16x16ピクセル、8x16ピクセル、16x8ピクセルなどのピクセルの値(たとえば、ルーマ値)の行列を含む。
図6は、本開示の別の実施形態による、ビデオエンコーダ(603)の図を示す。ビデオエンコーダ(603)は、ビデオピクチャのシーケンス内の現在ビデオピクチャ内のサンプル値の処理ブロック(たとえば、予測ブロック)を受信し、処理ブロックをコード化されたビデオシーケンスの一部であるコード化されたピクチャに符号化するように構成される。一例では、ビデオエンコーダ(603)は、図3の例のビデオエンコーダ(303)の代わりに使用される。
HEVCの例では、ビデオエンコーダ(603)は、8×8サンプルの予測ブロックなどの処理ブロックのためのサンプル値の行列を受信する。ビデオエンコーダ(603)は、処理ブロックが、たとえば、レート歪み最適化を使用して、イントラモード、インターモード、またはバイ予測モードを使用して最適にコード化されるかどうかを判定する。処理ブロックがイントラモードでコード化されるとき、ビデオエンコーダ(603)は、イントラ予測技法を使用して、処理ブロックをコード化されたピクチャに符号化することができ、処理ブロックがインターモードまたはバイ予測モードでコード化されるとき、ビデオエンコーダ(603)は、それぞれ、インター予測技法またはバイ予測技法を使用して、処理ブロックをコード化されたピクチャに符号化することができる。特定のビデオコーディング技術では、マージモードは、予測子の外側のコード化された動きベクトル成分の利点がない、動きベクトルが1つまたは複数の動きベクトル予測子から導出されるインターピクチャ予測サブモードであり得る。特定の他のビデオコーディング技術では、対象ブロックに適用可能な動きベクトル成分が存在してよい。一例では、ビデオエンコーダ(603)は、処理ブロックのモードを決定するためにモード決定モジュール(図示せず)などの他の構成要素を含む。
図6の例では、ビデオエンコーダ(603)は、図6に示されたように一緒に結合されたインターエンコーダ(630)、イントラエンコーダ(622)、残差計算機(623)、スイッチ(626)、残差エンコーダ(624)、汎用コントローラ(621)、およびエントロピーエンコーダ(625)を含む。
インターエンコーダ(630)は、現在ブロック(たとえば、処理ブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つまたは複数の参照ブロック(たとえば、前のピクチャおよび後のピクチャ内のブロック)と比較し、インター予測情報(たとえば、インター符号化技法による冗長情報、動きベクトル、マージモード情報の記述)を生成し、任意の適切な技法を使用して、インター予測情報に基づいてインター予測結果(たとえば、予測ブロック)を計算するように構成される。いくつかの例では、参照ピクチャは、符号化されたビデオ情報に基づいて復号された復号参照ピクチャである。
イントラエンコーダ(622)は、現在ブロック(たとえば、処理ブロック)のサンプルを受信し、場合によっては、ブロックを同じピクチャ内のすでにコード化されたブロックと比較し、変換後に量子化係数を生成し、場合によっては、イントラ予測情報(たとえば、1つまたは複数のイントラ符号化技法によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(622)はまた、同じピクチャ内のイントラ予測情報および参照ブロックに基づいて、イントラ予測結果(たとえば、予測ブロック)を計算する。
汎用コントローラ(621)は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ(603)の他の構成要素を制御するように構成される。一例では、汎用コントローラ(621)は、ブロックのモードを決定し、モードに基づいてスイッチ(626)に制御信号を提供する。たとえば、モードがイントラモードであるとき、汎用コントローラ(621)は、スイッチ(626)を制御して残差計算機(623)が使用するためのイントラモード結果を選択し、エントロピーエンコーダ(625)を制御してイントラ予測情報を選択し、ビットストリームにイントラ予測情報を含め、モードがインターモードであるとき、汎用コントローラ(621)は、スイッチ(626)を制御して残差計算機(623)が使用するためのインター予測結果を選択し、エントロピーエンコーダ(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)、および(503)、ならびにビデオデコーダ(310)、(410)、および(710)は、ソフトウェア命令を実行する1つまたは複数のプロセッサを使用して実装することができる。
いくつかの実施形態によれば、最確モード(MPM)リストのサイズは、隣接する基準線(たとえば、ゼロ基準線)および隣接しない基準線(たとえば、非ゼロ基準線)の両方に対して6に等しく設定される。6つのMPM候補を導出するために使用される隣接モードの位置はまた、図8に示された隣接する基準線および隣接しない基準線に対して同じであってよい。図8では、ブロックAおよびブロックBは、現在ブロック800の上および左に隣接するコーディングユニットを表記し、変数candIntraPredModeAおよびcandIntraPredModeBは、それぞれ、ブロックAおよびBの関連するイントラ予測モードを示す。変数candIntraPredModeAおよびcandIntraPredModeBは、最初にINTRA_PLANARに等しく設定されてよい。ブロックA(またはB)が利用可能としてマークされている場合、candIntraPredModeA(またはcandIntraPredModeB)は、ブロックA(またはB)の実際のイントラ予測モードに等しく設定されてよい。
MPM候補導出プロセスは、隣接する基準線と隣接しない基準線で異なっていてよい。たとえば、ゼロ基準線の場合、2つの隣接ブロックのモードが平面モードまたはDCモードである場合、MPMリストを構築するためにデフォルトモードが使用され、最初の2つの候補は平面モードおよびDCモードであり、残りの4つのモードは角度モード(たとえば、角度デフォルトモード)である。非ゼロ基準線の場合、2つの隣接ブロックのモードが平面モードまたはDCモードである場合、MPMリストを構築するために6つの角度デフォルトモードが使用されてよい。MPMリスト導出プロセスの一実施形態が付録1に示されており、ここで、x=0..5であるcandModeList[x]は6つのMPM候補を表記し、IntraLumaRefLineIdx[xCb][yCb]は予測されるブロックの基準線インデックスを表記し、IntraLumaRefLineIdx[xCb][yCb]は0、1、または3であり得る。いくつかの例では、最初のMPMとして平面モードが置かれる統一されたイントラモードコーディング手法が実施される。
ブロック差分パルスコード変調(BPDCM)は、ブロックレベルで差分パルスコード変調(DPCM)手法を使用するイントラコーディングツールである。いくつかの実施形態では、bdpcm_flagは、それが32以下の各次元を有するルーマイントラCUであるときはいつでもCUレベルで送信される。このフラグは、通常イントラコーディングが使用されるか、DPCMが使用されるかを示す。このフラグは、単一のCABACコンテキストを使用して符号化されてよい。
いくつかの実施形態では、BDPCMは、(JPEG-LSで使用される)LOCO-Iのメディアンエッジ検出器を使用する。左隣としてのピクセルA、上隣としてのピクセルB、および左上隣としてのCを有する現在ピクセルXに対して、予測P(X)は、
式(1):P(X)=min(A,B) if C≧max(A,B)
max(A,B) if C≦min(A,B)
A+B-C そうでない場合
によって決定されてよい。
予測子は、CUの最も上の行および左の列から予測するときに、フィルタリングされていない参照ピクセルを使用することができる。次いで、予測子は、残りのCUに対して復元されたピクセルを使用することができる。ピクセルは、CU内でラスタスキャン順に処理されてよい。予測誤差は、変換スキップ量子化器と同一の方法で、再スケーリング後に空間領域内で量子化されてよい。各ピクセルは、逆量子化された予測誤差を予測に加算することによって復元されてよい。したがって、復元されたピクセルは、ラスタスキャン順に次のピクセルを予測するために使用されてよい。量子化された予測誤差の振幅および符号は、別々に符号化されてよい。
いくつかの実施形態では、cbf_bdpcm_flagがコード化される。このフラグが0に等しい場合、ブロックのすべての振幅は、0として復号されてよい。このフラグが1に等しい場合、ブロックのすべての振幅は、ラスタスキャン順に個別に符号化されてよい。複雑さを低く保つために、いくつかの例では、振幅は最大31(両端を含む)に制限されてよい。振幅は、1番目のビンに対して3つのコンテキスト、次いで、12番目のビンまでの追加のビンごとに1つのコンテキスト、およびすべての残りのビンに対して1つのコンテキストを用いて、単項2値化を使用して符号化されてよい。符号は、ゼロ残差ごとにバイパスモードで符号化されてよい。
いくつかの実施形態では、通常のイントラモード予測の一貫性を維持するために、MPMリスト内の最初のモードは、(送信されない)ブロックDPCM CUに関連付けられ、後続のブロックに対するMPM生成に利用可能である。デブロッキングフィルタは、2つのBDPCMブロック間の境界で非アクティブ化されてよく、なぜなら、どちらのブロックも、通常、ブロッキングアーチファクトに関与する変換段階を使用しないからである。いくつかの実施形態では、BDPCMは、本明細書に開示されたステップ以外のいかなるステップも使用しない。たとえば、BPDCMはいかなる変換も使用しない。
いくつかの実施形態によれば、BDPCM方法は、復元されたサンプルを使用して、CUの行または列をラインごとに予測する。シグナリングされたBDPCM方向は、垂直予測が使用されるか水平予測が使用されるかを示すことができる。使用される参照ピクセルは、フィルタリングされていないサンプルであってよい。予測誤差は、空間領域内で量子化されてよい。逆量子化された予測誤差を予測に加算することにより、ピクセルが復元されてよい。
いくつかの実施形態では、BDPCMの代替方式として、量子化残差領域BDPCMが実行されてよい。量子化残差BDPCMで使用されるシグナリングおよび予測方向は、BPCM方式と同一であってよい。イントラ予測は、イントラ予測と同様の予測方向(水平予測または垂直予測)のサンプルコピーによってブロック全体に対して実行されてよい。残差は量子化されてよく、量子化された残差と量子化された残差の予測子(水平または垂直)量子化値との間のデルタはコード化されてよく、これは以下の開示された実施形態で説明することができる。
サイズがM(行)×N(列)のブロックに対して、ri,j、0≦i≦M-1、0≦j≦N-1を、上または左のブロック境界サンプルからのフィルタリングされていないサンプルを使用して、水平方向(ラインごとに予測されたブロックラインを横切って左隣のピクセル値をコピーする)または垂直方向(予測されたブロック内の各ラインに上隣のラインをコピーする)にイントラ予測を実行した後の予測残差とする。Q(ri,j)、0≦i≦M-1、0≦j≦N-1は、残差ri,jの量子化バージョンを表記し、残差は元のブロック値と予測ブロック値との間の差である。次いで、BDPCMが量子化された残差サンプルに適用され、要素
Figure 0007185047000001
を有する修正されたM×N配列
Figure 0007185047000002
が得られる。いくつかの例では、垂直BDPCMがシグナリングされるとき、
式(2):
Figure 0007185047000003
である。
いくつかの例では、水平予測の場合、同様の規則が適用され、残差量子化サンプルは、
式(3):
Figure 0007185047000004
によって取得されてよい。
残差量子化サンプル
Figure 0007185047000005
は、デコーダに送信されてよい。デコーダ側では、いくつかの例では、上記の計算を逆にして、Q(ri,j)、0≦i≦M-1、0≦j≦N-1を生成する。いくつかの実施形態では、垂直予測の場合、
式(4):
Figure 0007185047000006
である。
いくつかの実施形態では、水平予測の場合、
式(5):
Figure 0007185047000007
である。
逆量子化残差Q-1(Q(ri,j))がイントラブロック予測値に加算されて、復元されたサンプル値が生成されてよい。この方式の1つの利点は、係数が構文解析されるときに予測子を追加することによって係数の構文解析中に逆DPCMがオンザフライで実行されてよいか、または構文解析後に実行され得ることである。したがって、4×NブロックおよびN×4ブロックの2つの並列処理ブロックへの分割を排除することができる。
いくつかの実施形態では、BDPCMコード化ブロックは、1番目のMPM(すなわち、MPM0)であるイントラ予測モードに関連付けられる。結果として、MPMリストを導出するとき、隣接ブロックがBDPCMモードでコード化されている場合、その関連するイントラ予測モード(すなわち、MPM0)が使用される。加えて、クロマブロックがDMモードを使用してコード化され、同じ場所に位置するルーマブロックがBDPCMモードを使用してコード化されるとき、同じ場所に位置するルーマブロックに関連付けられたイントラ予測モード(すなわち、MPM0)が、現在のクロマブロックのイントラ予測モードとして使用される。
表1(下記)は、BDPCM方法のシンタックスおよびセマンティクスの一実施形態を示す。
Figure 0007185047000008
いくつかの実施形態では、1に等しい変数bdpcm_flag[x0][y0]は、bdpcm_dir_flagが位置(x0,y0)におけるルーマコーディングブロックを含むコーディングユニット内に存在することを指定する。いくつかの実施形態では、0に等しいbdpcm_dir_flag[x0][y0]は、bdpcmブロックで使用される予測方向が水平であることを指定し、そうでない場合、予測方向は垂直である。
当業者によって理解されるように、BDPCMは、通常、強いエッジによって特徴付けられる画面ビデオコンテンツ上の著しいコーディング利得に寄与する。しかしながら、BDPCMがMPMモードまたはDMモードとともに使用される場合、BDPCMコード化ブロックは、常に平面モードと関連付けられ、これは画面ビデオコンテンツ上のコーディング利得にとって有害であり得る。本開示の実施形態は、これらの欠点を解決する。
本開示の実施形態は、別々に使用されてもよく、任意の順序で組み合わされてもよい。さらに、本開示の実施形態による方法、エンコーダ、およびデコーダの各々は、処理回路(たとえば、1つもしくは複数のプロセッサまたは1つもしくは複数の集積回路)によって実装されてよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。本開示の実施形態によれば、ブロックという用語は、予測ブロック、コーディングブロック、またはコーディングユニット(すなわち、CU)として解釈されてよい。
いくつかの実施形態によれば、bdpcm_dir_flagが0に等しいとき、BDPCM残差予測に水平予測が使用され、bdpcm_dir_flagが1に等しいとき、BDPCM残差予測に垂直予測が使用される。しかしながら、他の実施形態では、0および1に等しいbdpcm_dir_flagの予測方向が交換されたときの逆の手法も適用される。
いくつかの実施形態では、水平イントラ予測モードはHOR_IDXを使用して表され、VVCでは、HOR_IDXはイントラ予測モードINTRA_ANGULAR18に対応し、HEVCでは、HOR_IDXはイントラ予測モードINTRA_ANGULAR10に対応する。いくつかの実施形態では、垂直イントラ予測モードはVER_IDXを使用して表され、VVCでは、VER_IDXはイントラ予測モードINTRA_ANGULAR50に対応し、HEVCでは、VER_IDXはイントラ予測モードINTRa_ANGULAR26に対応する。
いくつかの実施形態によれば、最も可能性が高いイントラ予測モードを導出するとき、隣接ブロックがBDPCMモードによってコード化される場合、隣接ブロックは、以下のようにこのBDPCMコード化隣接ブロックに適用されるbdpcm_dir_flagの値を使用して導出されるイントラ予測モードipmに関連付けられる。
式(6):ipm=bdpcm_dir_flag==0?HOR_IDX:VER_IDX
ここで、HOR_IDXおよびVER_IDXは、それぞれ、水平および垂直のイントラ予測モードを表し、bdpcm_dir_flagが0に等しいことは、BDPCM残差予測に水平予測が使用されることを示し、bdpcm_dir_flagが1に等しいことは、BDPCM残差予測に垂直予測が使用されることを示す。イントラ予測モード値ipmに値が割り当てられた後、このイントラ予測モード値は、隣接ブロックのイントラ予測モードとみなされ、現在ブロックの最も可能性が高いイントラ予測モードを導出するために使用される。
付録2は、MPMリスト導出プロセスの一実施形態を示し、その中で、太字部分は、bdpcm_dir_flagに基づいてBDPCMコード化ブロックのためのイントラ予測モードがどのように決定されるかを示す。このプロセスへの例示的な入力は、(i)現在のピクチャの左上ルーマサンプルに対する現在ルーマコーディングブロックの左上サンプルを指定するルーマ位置(xCb,yCb)、(ii)ルーマサンプルにおける現在コーディングブロックの幅を指定する変数cbWidth、(iii)ルーマサンプルにおける現在コーディングブロックの高さを指定する変数cbHeightを含んでよい。付録2のこのプロセスでは、ルーマイントラ予測モードIntraPredModeY[xCb][yCb]が導出される。
表2は、イントラ予測モードIntraPredModeY[xCb][yCb]の値および関連付けられた名称を指定する。表2において、いくつかの例では、イントラ予測モードINTRA_LT_CCLM、INTRA_L_CCLM、およびINTRA_T_CCLMは、クロマ成分にのみ適用可能である。
Figure 0007185047000009
いくつかの実施形態によれば、クロマブロックの同じ場所に位置するルーマブロックがBDPCMモードを使用してコード化されている間にクロマブロックのイントラ予測モードを導出するとき、クロマブロックがDMモードを使用して予測される場合、このクロマブロックのイントラ予測モードを実行するために使用されるイントラ予測モードは、以下のように導出される。
式(7):dm=bdpcm_dir_flag==0?HOR_IDX:VER_IDX
ここで、HOR_IDXおよびVER_IDXは、それぞれ、水平および垂直のイントラ予測モードを表し、bdpcm_dir_flagが0に等しいことは、BDPCM残差予測に水平予測が使用されることを示し、bdpcm_dir_flagが1に等しいことは、BDPCM残差予測に垂直予測が使用されることを示す。したがって、値dmが割り当てられた後、この値はクロマブロックのイントラ予測モードとして使用される。
いくつかの実施形態によれば、bdpcm_dir_flagをエントロピーコーディングするために使用されるコンテキストは、隣接ブロックのbdpcm_dir_flagの値、および/または隣接ブロックが水平イントラ予測モードによってコード化されるか、垂直イントラ予測モードによってコード化されるかに依存する。
一実施形態では、隣接ブロックのbdpcm_dir_flagおよびbdpcm_flagの値のみが、現在ブロックのbdpcm_dir_flagをエントロピーコーディングするために適用されるコンテキストを導出するために使用される。一例では、2つの隣接ブロックが使用され(すなわち、左は図8のブロックAであり、上は図8のブロックBである)、コンテキスト値(ctx)は以下のように導出される。
式(8):dpcm_left=dpcm_flagleft?(bdpcm_dir_flagleft?1:2):0
式(9):dpcm_top=dpcm_flagtop?(bdpcm_dir_flagtop?1:2):0
式(10):ctx=dpcm_left*3+dpcm_top
ここで、dpcm_flagleftおよびdpcm_flagtopは、それぞれ、左および上の隣接ブロックのdpcm_flagを指し、bdpcm_dir_flagleftおよびbdpcm_dir_flagtopは、それぞれ、左および上の隣接ブロックのbdpcm_dir_flagを指す。ctxが割り当てられた後、この値は、複数のコンテキストモデルのうちの1つを選択するためのインデックスとして使用されてよい。
これまでの例に加えて、9つのコンテキストは、事前定義された方式でグループ化されてよく、その結果、適用されるコンテキストが少なくなる。たとえば、前の例のctx=8およびctx=7はマージされてよく、これらのctx値の両方に対して1つのコンテキストのみが使用されてよい。
いくつかの実施形態では、2つの隣接ブロック(すなわち、左および上)が使用され、コンテキスト値(ctx)が以下のように導出され、ここで、dpcm_flagleftおよびdpcm_flagtopは、それぞれ、左および上の隣接ブロックのdpcm_flagを指し、bdpcm_dir_flagleftおよびbdpcm_dir_flagtopは、それぞれ、左および上の隣接ブロックのbdpcm_dir_flagを指す。
式(11):dpcm_left=dpcm_flagleft?(bdpcm_dir_flagleft?1:2):0
式(12):dpcm_top=dpcm_flagtop?(bdpcm_dir_flagtop?1:2):0
式(13):ctx=(dpcm_left==dpcm_top)?dpcm_left:0
図9は、ビデオデコーダ(710)などのデコーダによって実行されるプロセスの一実施形態を示す。プロセスは、第2のブロックに関連付けられた第1のブロックがBDPCMモードでコード化されているかどうかを判定するステップ(S900)から始まってよい。いくつかの例では、第1のブロックは、第1のブロックと同じピクチャ内に位置する第2のブロックの空間的近傍であるブロックであってよい。他の例では、第1のブロックはルーマブロックであってよく、第2のブロックはクロマブロックであり、ルーマブロックはクロマブロックと同じ場所に位置する。
第1のブロックがBDPCMモードでコード化されている場合、プロセスはステップ(S900)からステップ(S902)に進み、そこで、第1のブロックがBDPCM方向フラグに基づいてイントラ予測モード値と関連付けられる。たとえば、bdpcm_flagは、ブロックがBDPCMモードでコード化されていることを示すことができ、bdpcm_dir_flagは、水平方向を使用するか垂直方向を使用するかを判定するために使用されてよい。プロセスはステップ(S904)に進んで、第1のブロックに関連付けられたイントラ予測モード値を使用して、第2のブロックのためのイントラ予測モード値を決定する。たとえば、BDPCM方向フラグに基づいて、イントラ予測モード値は、水平イントラ予測モード値および垂直イントラ予測モード値のうちの1つであってよい。さらに、第1のブロックが第2のブロックの空間的近傍である場合、第1のブロックのイントラ予測モード値はMPMリストを作成するために使用されてよく、MPMリストは、第2のブロックのイントラ予測モード値を導出するために使用される。その上、第2のブロックがDMモードを使用して予測されるクロマブロックであり、第1のブロックが同じ場所に位置するルーマブロックである場合、第2のブロックのイントラ予測モード値は、第1のブロックのイントラ予測モード値に基づいて決定されてよい。
プロセスはステップ(S906)に進み、そこで、第2のブロックの決定されたイントラ予測モード値を使用して、第2のブロックが復元される。図9に示されたプロセスは、ステップ(S906)が完了した後に終了してよい。さらに、ステップ(S900)に戻り、第1のブロックがBDPCMモードでコード化されていない場合、図9に示されたプロセスは終了してよい。
上述された技法は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装され、1つまたは複数のコンピュータ可読媒体に物理的に記憶することができる。たとえば、図10は、開示された主題のいくつかの実施形態を実装するのに適したコンピュータシステム(1000)を示す。
コンピュータソフトウェアは、1つまたは複数のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによる、直接、または解釈、マイクロコード実行などを介して実行することができる命令を含むコードを作成するために、アセンブル、コンパイル、リンク、または同様のメカニズムを受けることができる任意の適切な機械語またはコンピュータ言語を使用してコーディングすることができる。
命令は、たとえば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはその構成要素上で実行することができる。
コンピュータシステム(1000)について図10に示された構成要素は、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲または機能に関するいかなる制限も示唆するものではない。構成要素の構成は、コンピュータシステム(1000)の例示的な実施形態に示された構成要素のいずれか1つまたは組合せに関するいかなる依存性または要件も有すると解釈されるべきでない。
コンピュータシステム(1000)は、特定のヒューマンインターフェース入力デバイスを含んでよい。そのようなヒューマンインターフェース入力デバイスは、たとえば、(キーストローク、スワイプ、データグローブの動きなどの)触覚入力、(音声、拍手などの)オーディオ入力、(ジェスチャなどの)視覚入力、(描写されていない)嗅覚入力を介して、1人または複数の人間のユーザによる入力に応答することができる。ヒューマンインターフェースデバイスは、(音声、音楽、周囲の音などの)オーディオ、(スキャン画像、静止画像カメラから取得された写真画像などの)画像、(2次元ビデオ、立体ビデオを含む3次元ビデオなどの)ビデオなどの、人間による意識的な入力に必ずしも直接関連しない特定の媒体をキャプチャするために使用することもできる。
入力ヒューマンインターフェースデバイスには、キーボード(1001)、マウス(1002)、トラックパッド(1003)、タッチスクリーン(1010)、データグローブ(図示せず)、ジョイスティック(1005)、マイクロフォン(1006)、スキャナ(1007)、カメラ(1008)のうちの1つまたは複数が含まれてよい(各々の1つのみが描写されている)。
コンピュータシステム(1000)は、特定のヒューマンインターフェース出力デバイスも含んでよい。そのようなヒューマンインターフェース出力デバイスは、たとえば、触覚出力、音、光、および嗅覚/味覚を介して、1人または複数の人間のユーザの感覚を刺激している場合がある。そのようなヒューマンインターフェース出力デバイスには、触覚出力デバイス(たとえば、タッチスクリーン(1010)、データグローブ(図示せず)、またはジョイスティック(1005)による触覚フィードバック、しかし入力デバイスとして機能しない触覚フィードバックデバイスが存在する可能性もある)、(スピーカ(1009)、ヘッドフォン(描写せず)などの)オーディオ出力デバイス、(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1010)など、各々タッチスクリーン入力機能の有無にかかわらず、各々触覚フィードバック機能の有無にかかわらず、それらのうちのいくつかは、ステレオグラフィック出力、仮想現実眼鏡(描写せず)、ホログラフィックディスプレイおよびスモークタンク(描写せず)などの手段を介して2次元視覚出力または3次元以上の出力を出力することが可能な場合がある)視覚出力デバイス、ならびにプリンタ(描写せず)が含まれてよい。
コンピュータシステム(1000)は、CD/DVDまたは同様の媒体(1021)を有するCD/DVD ROM/RW(1020)を含む光学媒体、サムドライブ(1022)、リムーバブルハードドライブまたはソリッドステートドライブ(1023)、テープおよびフロッピーディスクなどのレガシー磁気媒体(描写せず)、セキュリティドングルなどの特殊なROM/ASIC/PLDベースのデバイス(描写せず)などの、人間がアクセス可能なストレージデバイスおよびそれらに関連する媒体を含むこともできる。
当業者はまた、現在開示されている主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解するべきである。
コンピュータシステム(1000)は、1つまたは複数の通信ネットワークへのインターフェースを含むこともできる。ネットワークは、たとえば、ワイヤレス、有線、光であり得る。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業用、リアルタイム、遅延耐性などであり得る。ネットワークの例には、イーサネット、ワイヤレスLANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上波ブロードキャストTVを含むTVの有線またはワイヤレスの広域デジタルネットワーク、CANBusを含む車両および産業用などが含まれる。特定のネットワークは、通常、(たとえば、コンピュータシステム(1000)のUSBポートなどの)特定の汎用データポートまたは周辺バス(1049)に取り付けられた外部ネットワークインターフェースアダプタを必要とし、他のネットワークは、通常、以下に記載されるシステムバスに取り付けることによってコンピュータシステム(1000)のコアに統合される(たとえば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(1000)は他のエンティティと通信することができる。そのような通信は、単方向受信のみ(たとえば、ブロードキャストTV)、単方向送信のみ(たとえば、特定のCANbusデバイスへのCANbus)、または、たとえば、ローカルもしくは広域のデジタルネットワークを使用する他のコンピュータシステムとの双方向であり得る。特定のプロトコルおよびプロトコルスタックは、上述されたこれらのネットワークおよびネットワークインターフェースの各々で使用することができる。
前述のヒューマンインターフェースデバイス、人間がアクセス可能なストレージデバイス、およびネットワークインターフェースは、コンピュータシステム(1000)のコア(1040)に取り付けることができる。
コア(1040)は、1つまたは複数の中央処理装置(CPU)(1041)、グラフィックス処理装置(GPU)(1042)、フィールドプログラマブルゲートエリア(FPGA)(1043)、特定のタスクのためのハードウェアアクセラレータ(1044)などの形態の特殊なプログラマブル処理装置を含むことができる。これらのデバイスは、読取り専用メモリ(ROM)(1045)、ランダムアクセスメモリ(1046)、内部のユーザがアクセスできないハードドライブ、SSDなどの内部大容量ストレージ(1047)とともに、システムバス(1048)を介して接続されてよい。いくつかのコンピュータシステムでは、システムバス(1048)は、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形態でアクセス可能であり得る。周辺機器は、コアのシステムバス(1048)に直接取り付けることも、周辺バス(1049)を介して取り付けることもできる。周辺バスのためのアーキテクチャには、PCI、USBなどが含まれる。
CPU(1041)、GPU(1042)、FPGA(1043)、およびアクセラレータ(1044)は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM(1045)またはRAM(1046)に記憶することができる。移行データもRAM(1046)に記憶することができるが、永続データは、たとえば、内部大容量ストレージ(1047)に記憶することができる。メモリデバイスのいずれかに対する高速の記憶および検索は、1つまたは複数のCPU(1041)、GPU(1042)、大容量ストレージ(1047)、ROM(1045)、RAM(1046)などと密接に関連付けることができるキャッシュメモリを使用して可能にすることができる。
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードをそこに有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであり得るか、またはそれらは、コンピュータソフトウェア技術のスキルを有する人々に周知かつ利用可能な種類であり得る。
一例として、限定としてではなく、アーキテクチャを有するコンピュータシステム(1000)、具体的にはコア(1040)は、1つまたは複数の有形のコンピュータ可読媒体内に具現化されたソフトウェアを(CPU、GPU、FPGA、アクセラレータなどを含む)プロセッサが実行する結果として、機能を提供することができる。そのようなコンピュータ可読媒体は、上記で紹介されたユーザアクセス可能大容量ストレージ、ならびにコア内部大容量ストレージ(1047)またはROM(1045)などの非一時的な性質のコア(1040)の特定のストレージに関連付けられた媒体であり得る。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(1040)によって実行することができる。コンピュータ可読媒体は、特定のニーズに応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(1040)、および具体的にはその中の(CPU、GPU、FPGAなどを含む)プロセッサに、RAM(1046)に記憶されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに、またはソフトウェアと一緒に動作することができる、回路(たとえば、アクセラレータ(1044))内に配線された、またはさもなければ具現化されたロジックの結果として、機能を提供することができる。必要に応じて、ソフトウェアへの参照はロジックを包含することができ、その逆も同様である。必要に応じて、コンピュータ可読媒体への参照は、実行のためのソフトウェアを記憶する(集積回路(IC)などの)回路、実行のためのロジックを具現化する回路、または両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
本開示は、いくつかの例示的な実施形態を記載しているが、本開示の範囲内にある変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書に明示的に図示または記載されていないが、本開示の原理を具現化し、したがって、その趣旨および範囲内にある多数のシステムおよび方法を考案できることが諒解されよう。
(1)ビデオデコーダにおいて実行されるビデオ復号の方法であって、方法は、第2のブロックに関連付けられた第1のブロックがブロック差分パルスコード変調(BDPCM)モードでコード化されているかどうかを判定するステップと、第1のブロックがBDPCMモードでコード化されていると判定したことに応答して、BDPCM方向フラグに基づいて第1のブロックをイントラ予測モード値と関連付けるステップと、第1のブロックに関連付けられたイントラ予測モード値を使用して、第2のブロックのためのイントラ予測モード値を決定するステップと、決定されたイントラ予測モード値を使用して第2のブロックを復元するステップとを含む、方法。
(2)BDPCM方向フラグが、(i)水平イントラ予測方向モードに関連付けられた第1の値、および(ii)垂直イントラ予測方向モードに関連付けられた第2の値のうちの1つである、特徴(1)に記載の方法。
(3)イントラ予測モードの総数が67であり、水平イントラ予測方向モードが角度モード18に関連付けられ、垂直イントラ予測方向モードが角度モード50に関連付けられる、特徴(2)に記載の方法。
(4)第1のブロックがBDPCMモードでコード化されているかどうかを判定するステップが、BDPCM方向フラグの存在を示すBDPCMフラグの値に基づく、特徴(1)~(3)のいずれか1つに記載の方法。
(5)第1のブロックおよび第2のブロックが同じピクチャに含まれ、第1のブロックが第2のブロックに空間的に隣接する、特徴(1)~(4)のいずれか1つに記載の方法。
(6)第2のブロックに対して、最確モード(MPM)導出プロセスを使用して候補リストを導出するステップであって、導出するステップが、第1のブロックがBDPCMモードでコード化されているかどうかを判定するステップを含む、ステップをさらに含み、第2のブロックのためのイントラ予測モード値を決定するステップが、導出された候補リストを使用するステップをさらに含む、特徴(5)に記載の方法。
(7)候補リストが、第1のブロックのイントラ予測モードに対応する第1の候補イントラ予測モード値(Mode1)、ならびに第1の候補イントラ予測モード値からの所定のオフセットおよびモジュロM演算に従って決定された第2の候補イントラ予測モード値(Mode2)および第3の候補イントラ予測モード値(Mode3)を含み、Mが2の累乗である、特徴(6)に記載の方法。
(8)第2のブロックがクロマブロックであり、第1のブロックがクロマブロックと同じ場所に位置するルーマブロックである、特徴(1)~(7)のいずれか1つに記載の方法。
(9)第2のブロックが直接コピーモード(DM)でコード化されているどうかを判定するステップと、第2のブロックが直接コピーモードでコード化されていると判定したことに応答して、第1のブロックがBDPCMモードでコード化されているかどうかを判定するステップとを含む、特徴(8)に記載の方法。
(10)第2のブロックに関連付けられた第1のブロックがブロック差分パルスコード変調(BDPCM)モードでコード化されているかどうかを判定し、第1のブロックがBDPCMモードでコード化されていると判定したことに応答して、BDPCM方向フラグに基づいて第1のブロックをイントラ予測モード値と関連付け、第1のブロックに関連付けられたイントラ予測モード値を使用して、第2のブロックのためのイントラ予測モード値を決定し、決定されたイントラ予測モード値を使用して第2のブロックを復元するように構成された処理回路を備える、ビデオ復号のためのビデオデコーダ。
(11)BDPCM方向フラグが、(i)水平イントラ予測方向モードに関連付けられた第1の値、および(ii)垂直イントラ予測方向モードに関連付けられた第2の値のうちの1つである、特徴(10)に記載のビデオデコーダ。
(12)イントラ予測モードの総数が67であり、水平イントラ予測方向モードが角度モード18に関連付けられ、垂直イントラ予測方向モードが角度モード50に関連付けられる、特徴(11)に記載のビデオデコーダ。
(13)第1のブロックがBDPCMモードでコード化されているかどうかの判定が、BDPCM方向フラグの存在を示すBDPCMフラグの値に基づく、特徴(10)~(12)のいずれか1つに記載のビデオデコーダ。
(14)第1のブロックおよび第2のブロックが同じピクチャに含まれ、第1のブロックが第2のブロックに空間的に隣接する、特徴(10)~(13)のいずれか1つに記載のビデオデコーダ。
(15)処理回路が、第2のブロックに対して、最確モード(MPM)導出プロセスを使用して候補リストを導出し、導出が、第1のブロックがBDPCMモードでコード化されているかどうかの判定を含む、ようにさらに構成され、第2のブロックのためのイントラ予測モード値の決定が、導出された候補リストを使用することをさらに含む、特徴(14)に記載のビデオデコーダ。
(16)候補リストが、第1のブロックのイントラ予測モードに対応する第1の候補イントラ予測モード値(Mode1)、ならびに第1の候補イントラ予測モード値からの所定のオフセットおよびモジュロM演算に従って決定された第2の候補イントラ予測モード値(Mode2)および第3の候補イントラ予測モード値(Mode3)を含み、Mが2の累乗である、特徴(15)に記載のビデオデコーダ。
(17)第2のブロックがクロマブロックであり、第1のブロックがクロマブロックと同じ場所に位置するルーマブロックである、特徴(10)のいずれか1つに記載のビデオデコーダ。
(18)処理回路が、第2のブロックが直接コピーモード(DM)でコード化されているどうかを判定し、第2のブロックが直接コピーモードでコード化されているという判定に応答して、第1のブロックがBDPCMモードでコード化されているかどうかを判定するようにさらに構成される、特徴(17)に記載のビデオデコーダ。
(19)ビデオデコーダ内のプロセッサによって実行されると、第2のブロックに関連付けられた第1のブロックがブロック差分パルスコード変調(BDPCM)モードでコード化されているかどうかを判定するステップと、第1のブロックがBDPCMモードでコード化されていると判定したことに応答して、BDPCM方向フラグに基づいて第1のブロックをイントラ予測モード値と関連付けるステップと、第1のブロックに関連付けられたイントラ予測モード値を使用して、第2のブロックのためのイントラ予測モード値を決定するステップと、決定されたイントラ予測モード値を使用して第2のブロックを復元するステップとを含む方法をビデオデコーダに実行させる命令を記憶している、非一時的コンピュータ可読媒体。
(20)BDPCM方向フラグが、(i)水平イントラ予測方向モードに関連付けられた第1の値、および(ii)垂直イントラ予測方向モードに関連付けられた第2の値のうちの1つである、特徴19に記載の非一時的コンピュータ可読媒体。
付録1
-candIntraPredModeBがcandIntraPredModeAに等しく、candIntraPredModeAがINTRA_DCより大きい場合、x=0..5であるcandModeList[x]は以下のように導出される。
-IntraLumaRefLineIdx[xCb][yCb]が0に等しい場合、以下が適用される。
candModeList[0]=candIntraPredModeA(A1_4)
candModeList[1]=INTRA_PLANAR(A1_5)
candModeList[2]=INTRA_DC(A1_6)
candModeList[3]=2+((candIntraPredModeA+61)%64)(A1_7)
candModeList[4]=2+((candIntraPredModeA-1)%64)(A1_8)
candModeList[5]=2+((candIntraPredModeA+60)%64)(A1_9)
-そうでない(IntraLumaRefLineIdx[xCb][yCb]が0に等しくない)場合、以下が適用される。
candModeList[0]=candIntraPredModeA(A1_10)
candModeList[1]=2+((candIntraPredModeA+61)%64)(A1_11)
candModeList[2]=2+((candIntraPredModeA-1)%64)(A1_12)
candModeList[3]=2+((candIntraPredModeA+60)%64)(A1_13)
candModeList[4]=2+(candIntraPredModeA%64)(A1_14)
candModeList[5]=2+((candIntraPredModeA+59)%64)(A1_15)
-そうでなく、candIntraPredModeBがcandIntraPredModeAと等しくなく、candIntraPredModeAまたはcandIntraPredModeBがINTRA_DCより大きい場合、以下が適用される。
-変数minABおよびmaxABが以下のように導出される。
minAB=candModeList[(candModeList[0]>candModeList[1])?1:0](A1_16)
maxAB=candModeList[(candModeList[0]>candModeList[1])?0:1](A1_17)
-candIntraPredModeAとcandIntraPredModeBの両方がINTRA_DCより大きい場合、x=0..5であるcandModeList[x]は以下のように導出される。
candModeList[0]=candIntraPredModeA(A1_18)
candModeList[1]=candIntraPredModeB(A1_19)
-IntraLumaRefLineIdx[xCb][yCb]が0に等しい場合、以下が適用される。
candModeList[2]=INTRA_PLANAR(A1_20)
candModeList[3]=INTRA_DC(A1_21)
-maxAB-minABが2から62の範囲にある場合、以下が適用される。
candModeList[4]=2+((maxAB+61)%64)(A1_22)
candModeList[5]=2+((maxAB-1)%64)(A1_23)
-そうでない場合、以下が適用される。
candModeList[4]=2+((maxAB+60)%64)(A1_24)
candModeList[5]=2+((maxAB)%64)(A1_25)
-そうでない(IntraLumaRefLineIdx[xCb][yCb]が0に等しくない)場合、以下が適用される。
-maxAB-minABが1に等しい場合、以下が適用される。
candModeList[2]=2+((minAB+61)%64)(A1_26)
candModeList[3]=2+((maxAB-1)%64)(A1_27)
candModeList[4]=2+((minAB+60)%64)(A1_28)
candModeList[5]=2+(maxAB%64)(A1_29)
-そうでなく、maxAB-minABが2に等しい場合、以下が適用される。
candModeList[2]=2+((minAB-1)%64)(A1_30)
candModeList[3]=2+((minAB+61)%64)(A1_31)
candModeList[4]=2+((maxAB-1)%64)(A1_32)
candModeList[5]=2+((minAB+60)%64)(A1_33)
-そうでなく、maxAB-minABが61より大きい場合、以下が適用される。
candModeList[2]=2+((minAB-1)%64)(A1_34)
candModeList[3]=2+((maxAB+61)%64)(A1_35)
candModeList[4]=2+(minAB%64)(A1_36)
candModeList[5]=2+((maxAB+60)%64)(A1_37)
-そうでない場合、以下が適用される。
candModeList[2]=2+((minAB+61)%64)(A1_38)
candModeList[3]=2+((minAB-1)%64)(A1_39)
candModeList[4]=2+((maxAB+61)%64)(A1_40)
candModeList[5]=2+((maxAB-1)%64)(A1_41)
-そうでない(candIntraPredModeAまたはcandIntraPredModeBがINTRA_DCより大きい)場合、x=0..5であるcandModeList[x]は以下のように導出される。
-IntraLumaRefLineIdx[xCb][yCb]が0に等しい場合、以下が適用される。
candModeList[0]=candIntraPredModeA(A1_42)
candModeList[1]=candIntraPredModeB(A1_43)
candModeList[2]=1-minAB(A1_44)
candModeList[3]=2+((maxAB+61)%64)(A1_45)
candModeList[4]=2+((maxAB-1)%64)(A1_46)
candModeList[5]=2+((maxAB+60)%64)(A1_47)
-そうでない(IntraLumaRefLineIdx[xCb][yCb]が0に等しくない)場合、以下が適用される。
candModeList[0]=maxAB(A1_48)
candModeList[1]=2+((maxAB+61)%64)(A1_49)
candModeList[2]=2+((maxAB-1)%64)(A1_50)
candModeList[3]=2+((maxAB+60)%64)(A1_51)
candModeList[4]=2+(maxAB%64)(A1_52)
candModeList[5]=2+((maxAB+59)%64)(A1_53)
-そうでない場合、以下が適用される。
-IntraLumaRefLineIdx[xCb][yCb]が0に等しい場合、以下が適用される。
candModeList[0]=candIntraPredModeA(A1_54)
candModeList[1]=(candModeList[0]==INTRA_PLANAR)?INTRA_DC:(A1_55)
INTRA_PLANAR
candModeList[2]=INTRA_ANGULAR50(A1_56)
candModeList[3]=INTRA_ANGULAR18(A1_57)
candModeList[4]=INTRA_ANGULAR46(A1_58)
candModeList[5]=INTRA_ANGULAR54(A1_59)
-そうでない(IntraLumaRefLineIdx[xCb][yCb]が0に等しくない)場合、以下が適用される。
candModeList[0]=INTRA_ANGULAR50(A1_60)
candModeList[1]=INTRA_ANGULAR18(A1_61)
candModeList[2]=INTRA_ANGULAR2(A1_62)
candModeList[3]=INTRA_ANGULAR34(A1_63)
candModeList[4]=INTRA_ANGULAR66(A1_64)
candModeList[5]=INTRA_ANGULAR26(A1_65)
付録2
IntraPredModeY[xCb][yCb]は、以下の順序付きステップによって導出される。
1.隣接する位置(xNbA,yNbA)および(xNbB,yNbB)は、それぞれ、(xCb-1,yCb+cbHeight-1)および(xCb+cbWidth-1,yCb-1)に等しく設定される。
2.XがAまたはBのいずれかによって置き換えられる場合、変数candIntraPredModeXは以下のように導出される。
-ブロックのための可用性導出プロセスは、(xCb,yCb)に等しく設定された位置(xCurr,yCurr)、および(xNbX,yNbX)に等しく設定された隣接する位置(xNbY,yNbY)を入力として呼び出され、出力はavailableXに割り当てられる。
-候補イントラ予測モードcandIntraPredModeXは、以下のように導出される。
-以下の条件のうちの1つまたは複数が真である場合、candIntraPredModeXはINTRA_PLANARに等しく設定される。
-変数availableXはFALSEに等しい。
-CuPredMode[xNbX][yNbX]はMODE_INTRAに等しくなく、ciip_flag[xNbX][yNbX]は1に等しくない。
-pcm_flag[xNbX][yNbX]は1に等しい。
-XはBに等しく、yCb-1は((yCb>>CtbLog2SizeY)<<CtbLog2SizeY)より小さい。
-そうでない場合、candIntraPredModeXはIntraPredModeY[xNbX][yNbX]に等しく設定される。
3.変数ispDefaultMode1およびispDefaultMode2は以下のように定義される。
-IntraSubPartitionsSplitTypeがISP_HOR_SPLITに等しい場合、ispDefaultMode1はINTRA_ANGULAR18に等しく設定され、ispDefaultMode2はINTRA_ANGULAR5に等しく設定される。
-そうでない場合、ispDefaultMode1はINTRA_ANGULAR50に等しく設定され、ispDefaultMode2はINTRA_ANGULAR63に等しく設定される。
4.x=0..5であるcandModeList[x]は以下のように導出される。
-candIntraPredModeBがcandIntraPredModeAに等しく、candIntraPredModeAがINTRA_DCより大きい場合、x=0..5であるcandModeList[x]は以下のように導出される。
-IntraLumaRefLineIdx[xCb][yCb]が0に等しく、IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しい場合、以下が適用される。
candModeList[0]=candIntraPredModeA(A2_9)
candModeList[1]=INTRA_PLANAR(A2_10)
candModeList[2]=INTRA_DC(A2_11)
candModeList[3]=2+((candIntraPredModeA+61)%64)(A2_12)
candModeList[4]=2+((candIntraPredModeA-1)%64)(A2_13)
candModeList[5]=2+((candIntraPredModeA+60)%64)(A2_14)
-そうでない(IntraLumaRefLineIdx[xCb][yCb]が0に等しくない、またはIntraSubPartitionsSplitTypeがISP_NO_SPLITに等しくない)場合、以下が適用される。
candModeList[0]=candIntraPredModeA(A2_15)
candModeList[1]=2+((candIntraPredModeA+61)%64)(A2_16)
candModeList[2]=2+((candIntraPredModeA-1)%64)(A2_17)
-以下の条件のうちの1つが真である場合、
-IntraSubPartitionsSplitTypeがISP_HOR_SPLITに等しく、candIntraPredModeAがINTRA_ANGULAR34より小さい、
-IntraSubPartitionsSplitTypeがISP_VER_SPLITに等しく、candIntraPredModeAがINTRA_ANGULAR34以上である、
-IntraLumaRefLineIdx[xCb][yCb]が0に等しい、
以下が適用される。
candModeList[3]=2+((candIntraPredModeA+60)%64)(A2_18)
candModeList[4]=2+(candIntraPredModeA%64)(A2_19)
candModeList[5]=2+((candIntraPredModeA+59)%64)(A2_20)
-そうでない場合、以下が適用される。
candModeList[3]=ispDefaultMode1(A2_21)
candModeList[4]=ispDefaultMode2(A2_22)
candModeList[5]=INTRA_PLANAR(A2_23)
-そうでなく、candIntraPredModeBがcandIntraPredModeAに等しくなく、candIntraPredModeAまたはcandIntraPredModeBがINTRA_DCより大きい場合、以下が適用される。
-変数minABおよびmaxABが以下のように導出される。
minAB=Min(candIntraPredModeA、candIntraPredModeB)(A2_24)
maxAB=Max(candIntraPredModeA、candIntraPredModeB)(A2_25)
-candIntraPredModeAとcandIntraPredModeBの両方がINTRA_DCより大きい場合、x=0..5であるcandModeList[x]が以下のように導出される。
candModeList[0]=candIntraPredModeA(A2_26)
candModeList[1]=candIntraPredModeB(A2_27)
-IntraLumaRefLineIdx[xCb][yCb]が0に等しく、IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しい場合、以下が適用される。
candModeList[2]=INTRA_PLANAR(A2_28)
candModeList[3]=INTRA_DC(A2_29)
-maxAB-minABが2から62の範囲にある場合、以下が適用される。
candModeList[4]=2+((maxAB+61)%64)(A2_30)
candModeList[5]=2+((maxAB-1)%64)(A2_31)
-そうでない場合以下が適用される。
candModeList[4]=2+((maxAB+60)%64)(A2_32)
candModeList[5]=2+((maxAB)%64)(A2_33)
-そうでない(IntraLumaRefLineIdx[xCb][yCb]が0に等しくない、またはIntraSubPartitionsSplitTypeがISP_NO_SPLITに等しくない)場合、以下が適用される。
-IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しくなく、abs(candIntraPredModeB-ispDefaultMode1)がabs(candIntraPredModeA-ispDefaultMode1)より小さい場合、以下が適用される。
candModeList[0]=candIntraPredModeB(A2_34)
candModeList[1]=candIntraPredModeA(A2_35)
-maxAB-minABが1に等しい場合、以下が適用される。
candModeList[2]=2+((minAB+61)%64)(A2_36)
candModeList[3]=2+((maxAB-1)%64)(A2_37)
candModeList[4]=2+((minAB+60)%64)(A2_38)
candModeList[5]=2+(maxAB%64)(A2_39)
-そうでなく、maxAB-minABが2に等しい場合、以下が適用される。
candModeList[2]=2+((minAB-1)%64)(A2_40)
candModeList[3]=2+((minAB+61)%64)(A2_41)
candModeList[4]=2+((maxAB-1)%64)(A2_42)
candModeList[5]=2+((minAB+60)%64)(A2_43)
-そうでなく、maxAB-minABが61より大きい場合、以下が適用される。
candModeList[2]=2+((minAB-1)%64)(A2_44)
candModeList[3]=2+((maxAB+61)%64)(A2_45)
candModeList[4]=2+(minAB%64)(A2_46)
candModeList[5]=2+((maxAB+60)%64)(A2_47)
-そうでない場合、以下が適用される。
candModeList[2]=2+((minAB+61)%64)(A2_48)
candModeList[3]=2+((minAB-1)%64)(A2_49)
candModeList[4]=2+((maxAB+61)%64)(A2_50)
candModeList[5]=2+((maxAB-1)%64)(A2_51)
-そうでない(candIntraPredModeAまたはcandIntraPredModeBがINTRA_DCより大きい)、x=0..5であるcandModeList[x]は以下のように導出される。
-IntraLumaRefLineIdx[xCb][yCb]が0に等しく、IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しい場合、以下が適用される。
candModeList[0]=candIntraPredModeA(A2_52)
candModeList[1]=candIntraPredModeB(A2_53)
candModeList[2]=1-minAB(A2_54)
candModeList[3]=2+((maxAB+61)%64)(A2_55)
candModeList[4]=2+((maxAB-1)%64)(A2_56)
candModeList[5]=2+((maxAB+60)%64)(A2_57)
-そうでなく、IntraLumaRefLineIdx[xCb][yCb]が0に等しくない場合、以下が適用される。
candModeList[0]=maxAB(A2_58)
candModeList[1]=2+((maxAB+61)%64)(A2_59)
candModeList[2]=2+((maxAB-1)%64)(A2_60)
candModeList[3]=2+((maxAB+60)%64)(A2_61)
candModeList[4]=2+(maxAB%64)(A2_62)
candModeList[5]=2+((maxAB+59)%64)(A2_63)
-そうでない(IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しくない)場合、以下が適用される。
candModeList[0]=INTRA_PLANAR(A2_64)
candModeList[1]=maxAB(A2_65)
candModeList[2]=2+((maxAB+61)%64)(A2_66)
candModeList[3]=2+((maxAB-1)%64)(A2_67)
candModeList[4]=2+((maxAB+60)%64)(A2_68)
candModeList[5]=2+(maxAB%64)(A2_69)
-そうでない場合、以下が適用される。
-IntraLumaRefLineIdx[xCb][yCb]が0に等しく、IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しい場合、以下が適用される。
candModeList[0]=candIntraPredModeA(A2_70)
candModeList[1]=(candModeList[0]==INTRA_PLANAR)?INTRA_DC:(A2_71)
INTRA_PLANAR
candModeList[2]=INTRA_ANGULAR50(A2_72)
candModeList[3]=INTRA_ANGULAR18(A2_73)
candModeList[4]=INTRA_ANGULAR46(A2_74)
candModeList[5]=INTRA_ANGULAR54(A2_75)
-そうでなく、IntraLumaRefLineIdx[xCb][yCb]が0に等しくない場合、以下が適用される。
candModeList[0]=INTRA_ANGULAR50(A2_76)
candModeList[1]=INTRA_ANGULAR18(A2_77)
candModeList[2]=INTRA_ANGULAR2(A2_78)
candModeList[3]=INTRA_ANGULAR34(A2_79)
candModeList[4]=INTRA_ANGULAR66(A2_80)
candModeList[5]=INTRA_ANGULAR26(A2_81)
-そうでなく、IntraSubPartitionsSplitTypeがISP_HOR_SPLITに等しい場合、以下が適用される。
candModeList[0]=INTRA_PLANAR(A2_82)
candModeList[1]=INTRA_ANGULAR18(A2_83)
candModeList[2]=INTRA_ANGULAR25(A2_84)
candModeList[3]=INTRA_ANGULAR10(A2_85)
candModeList[4]=INTRA_ANGULAR65(A2_86)
candModeList[5]=INTRA_ANGULAR50(A2_87)
-そうでなく、IntraSubPartitionsSplitTypeがISP_VER_SPLITに等しい場合、以下が適用される。
candModeList[0]=INTRA_PLANAR(A2_88)
candModeList[1]=INTRA_ANGULAR50(A2_89)
candModeList[2]=INTRA_ANGULAR43(A2_90)
candModeList[3]=INTRA_ANGULAR60(A2_91)
candModeList[4]=INTRA_ANGULAR3(A2_92)
candModeList[5]=INTRA_ANGULAR18(A2_93)
5.IntraPredModeY[xCb][yCb]は、以下の手順を適用することによって導出される。
-bdpcm_flag[xCb][yCb]が1に等しい場合、IntraPredModeY[xCb][yCb]はbdpcm_dir_flag[xCb][yCb]==0?INTRA_ANGULAR18:INTRA_ANGULAR50に等しく設定される。
-そうでなく、intra_luma_mpm_flag[xCb][yCb]が1に等しい場合、IntraPredModeY[xCb][yCb]はcandModeList[intra_luma_mpm_idx[xCb][yCb]]に等しく設定される。
-そうでない場合、IntraPredModeY[xCb][yCb]は、以下の順序付きステップを適用することによって導出される。
1.i=0..4およびiごとにj=(i+1)..5に対して、candModeList[i]がcandModeList[j]より大きい場合、両方の値が以下のように交換される。
(candModeList[i],candModeList[j])=Swap(candModeList[i],candModeList[j])(A2_94)
2.IntraPredModeY[xCb][yCb]は、以下の順序付きステップによって導出される。
i.IntraPredModeY[xCb][yCb]がintra_luma_mpm_remainder[xCb][yCb]に等しく設定される。
ii.0から5に等しいiに対して、IntraPredModeY[xCb][yCb]がcandModeList[i]以上であるとき、IntraPredModeY[xCb][yCb]の値が1だけインクリメントされる。
x=xCb..xCb+cbWidth-1およびy=yCb..yCb+cbHeight-1である変数IntraPredModeY[x][y]がIntraPredModeY[xCb][yCb]に等しく設定される。
101 矢印が収束する点
102 矢印
103 矢印
104 正方形ブロック
200 通信システム
210 端末デバイス
220 端末デバイス
230 端末デバイス
240 端末デバイス
250 ネットワーク
300 通信システム
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 インターデコーダ
800 現在ブロック
1000 コンピュータシステム
1001 キーボード
1002 マウス
1003 トラックパッド
1005 ジョイスティック
1006 マイクロフォン
1007 スキャナ
1008 カメラ
1009 スピーカ
1010 タッチスクリーン
1020 CD/DVD ROM/RW
1021 CD/DVDまたは同様の媒体
1022 サムドライブ
1023 リムーバブルハードドライブまたはソリッドステートドライブ
1040 コア
1041 中央処理装置(CPU)
1042 グラフィックス処理装置(GPU)
1043 フィールドプログラマブルゲートエリア(FPGA)
1044 ハードウェアアクセラレータ
1045 読取り専用メモリ(ROM)
1046 ランダムアクセスメモリ(RAM)
1047 内部大容量ストレージ
1048 システムバス
1049 周辺バス
1050 グラフィックスアダプタ
1054 ネットワークインターフェース

Claims (19)

  1. ビデオデコーダにおいて実行されるビデオ復号の方法であって、前記方法は、
    第2のブロックに関連付けられた第1のブロックがブロック差分パルスコード変調(BDPCM)モードでコード化されているかどうかを判定するステップと、
    前記第1のブロックが前記BDPCMモードでコード化されていると判定したことに応答して、BDPCM方向フラグに基づいて前記第1のブロックをイントラ予測モード値と関連付けるステップと、
    前記第1のブロックに関連付けられた前記イントラ予測モード値を使用して、前記第2のブロックのためのイントラ予測モード値を決定するステップと、
    前記決定されたイントラ予測モード値を使用して前記第2のブロックを復元するステップと
    を含む、方法。
  2. 前記BDPCM方向フラグが、(i)水平イントラ予測方向モードに関連付けられた第1の値、および(ii)垂直イントラ予測方向モードに関連付けられた第2の値のうちの1つである、請求項1に記載の方法。
  3. イントラ予測モードの総数が67であり、前記水平イントラ予測方向モードが角度モード18に関連付けられ、前記垂直イントラ予測方向モードが角度モード50に関連付けられる、請求項2に記載の方法。
  4. 前記第1のブロックが前記BDPCMモードでコード化されているかどうかを判定するステップが、前記BDPCM方向フラグの存在を示すBDPCMフラグの値に基づく、請求項1から3のいずれか一項に記載の方法。
  5. 前記第1のブロックおよび第2のブロックが同じピクチャに含まれ、前記第1のブロックが前記第2のブロックに空間的に隣接する、請求項1から4のいずれか一項に記載の方法。
  6. 前記第2のブロックに対して、最確モード(MPM)導出プロセスを使用して候補リストを導出するステップであって、導出する前記ステップが、前記第1のブロックが前記BDPCMモードでコード化されているかどうかを判定する前記ステップを含む、ステップ
    をさらに含み、
    前記第2のブロックのための前記イントラ予測モード値を決定するステップが、前記導出された候補リストを使用するステップをさらに含む、請求項5に記載の方法。
  7. 前記候補リストが、
    前記第1のブロックの前記イントラ予測モードに対応する第1の候補イントラ予測モード値(Mode1)、ならびに
    前記第1の候補イントラ予測モード値からの所定のオフセットおよびモジュロM演算に従って決定された第2の候補イントラ予測モード値(Mode2)および第3の候補イントラ予測モード値(Mode3)を含み、Mが2の累乗である、請求項6に記載の方法。
  8. 前記第2のブロックがクロマブロックであり、前記第1のブロックが前記クロマブロックと同じ場所に位置するルーマブロックである、請求項1から4のいずれか一項に記載の方法。
  9. 前記第2のブロックが直接コピーモード(DM)でコード化されているどうかを判定するステップと、
    前記第2のブロックが前記直接コピーモードでコード化されていると判定したことに応答して、前記第1のブロックが前記BDPCMモードでコード化されているかどうかを判定するステップと
    をさらに含む、請求項8に記載の方法。
  10. 第2のブロックに関連付けられた第1のブロックがブロック差分パルスコード変調(BDPCM)モードでコード化されているかどうかを判定し、
    前記第1のブロックが前記BDPCMモードでコード化されていると判定したことに応答して、BDPCM方向フラグに基づいて前記第1のブロックをイントラ予測モード値と関連付け、
    前記第1のブロックに関連付けられた前記イントラ予測モード値を使用して、前記第2のブロックのためのイントラ予測モード値を決定し、
    前記決定されたイントラ予測モード値を使用して前記第2のブロックを復元するように構成された処理回路
    を備える、ビデオ復号のためのビデオデコーダ。
  11. 前記BDPCM方向フラグが、(i)水平イントラ予測方向モードに関連付けられた第1の値、および(ii)垂直イントラ予測方向モードに関連付けられた第2の値のうちの1つである、請求項10に記載のビデオデコーダ。
  12. イントラ予測モードの総数が67であり、前記水平イントラ予測方向モードが角度モード18に関連付けられ、前記垂直イントラ予測方向モードが角度モード50に関連付けられる、請求項11に記載のビデオデコーダ。
  13. 前記第1のブロックが前記BDPCMモードでコード化されているかどうかの前記判定が、前記BDPCM方向フラグの存在を示すBDPCMフラグの値に基づく、請求項10から12のいずれか一項に記載のビデオデコーダ。
  14. 前記第1のブロックおよび第2のブロックが同じピクチャに含まれ、前記第1のブロックが前記第2のブロックに空間的に隣接する、請求項10から13のいずれか一項に記載のビデオデコーダ。
  15. 前記処理回路が、
    前記第2のブロックに対して、最確モード(MPM)導出プロセスを使用して候補リストを導出し、前記導出が、前記第1のブロックが前記BDPCMモードでコード化されているかどうかの前記判定を含む、ようにさらに構成され、
    前記第2のブロックのための前記イントラ予測モード値の前記決定が、前記導出された候補リストを使用することをさらに含む、請求項14に記載のビデオデコーダ。
  16. 前記候補リストが、
    前記第1のブロックの前記イントラ予測モードに対応する第1の候補イントラ予測モード値(Mode1)、ならびに
    前記第1の候補イントラ予測モード値からの所定のオフセットおよびモジュロM演算に従って決定された第2の候補イントラ予測モード値(Mode2)および第3の候補イントラ予測モード値(Mode3)を含み、Mが2の累乗である、請求項15に記載のビデオデコーダ。
  17. 前記第2のブロックがクロマブロックであり、前記第1のブロックが前記クロマブロックと同じ場所に位置するルーマブロックである、請求項10から13のいずれか一項に記載のビデオデコーダ。
  18. 前記処理回路が、
    前記第2のブロックが直接コピーモード(DM)でコード化されているどうかを判定し、
    前記第2のブロックが前記直接コピーモードでコード化されているという判定に応答して、前記第1のブロックが前記BDPCMモードでコード化されているかどうかを判定するようにさらに構成される、請求項17に記載のビデオデコーダ。
  19. プロセッサに、請求項1から9のいずれか一項に記載の方法を実行させるためのプログラム。
JP2021536189A 2019-04-30 2020-04-30 イントラ予測モードとブロック差分パルスコード変調モードとの間の相互作用のための方法および装置 Active JP7185047B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022186569A JP7362877B2 (ja) 2019-04-30 2022-11-22 イントラ予測モードとブロック差分パルスコード変調モードとの間の相互作用のための方法および装置
JP2023172181A JP2023171907A (ja) 2019-04-30 2023-10-03 イントラ予測モードとブロック差分パルスコード変調モードとの間の相互作用のための方法および装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962841003P 2019-04-30 2019-04-30
US62/841,003 2019-04-30
US16/862,221 US11368721B2 (en) 2019-04-30 2020-04-29 Method and apparatus for interaction between intra prediction mode and block differential pulse-code modulation mode
US16/862,221 2020-04-29
PCT/US2020/030649 WO2020223449A1 (en) 2019-04-30 2020-04-30 Method and apparatus for interaction between intra prediction mode and block differential pulse-code modulation mode

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022186569A Division JP7362877B2 (ja) 2019-04-30 2022-11-22 イントラ予測モードとブロック差分パルスコード変調モードとの間の相互作用のための方法および装置

Publications (2)

Publication Number Publication Date
JP2022514921A JP2022514921A (ja) 2022-02-16
JP7185047B2 true JP7185047B2 (ja) 2022-12-06

Family

ID=73029258

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2021536189A Active JP7185047B2 (ja) 2019-04-30 2020-04-30 イントラ予測モードとブロック差分パルスコード変調モードとの間の相互作用のための方法および装置
JP2022186569A Active JP7362877B2 (ja) 2019-04-30 2022-11-22 イントラ予測モードとブロック差分パルスコード変調モードとの間の相互作用のための方法および装置
JP2023172181A Pending JP2023171907A (ja) 2019-04-30 2023-10-03 イントラ予測モードとブロック差分パルスコード変調モードとの間の相互作用のための方法および装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2022186569A Active JP7362877B2 (ja) 2019-04-30 2022-11-22 イントラ予測モードとブロック差分パルスコード変調モードとの間の相互作用のための方法および装置
JP2023172181A Pending JP2023171907A (ja) 2019-04-30 2023-10-03 イントラ予測モードとブロック差分パルスコード変調モードとの間の相互作用のための方法および装置

Country Status (9)

Country Link
US (2) US11368721B2 (ja)
EP (1) EP3963892A4 (ja)
JP (3) JP7185047B2 (ja)
KR (2) KR20230129623A (ja)
CN (2) CN113574894B (ja)
AU (3) AU2020266145B2 (ja)
CA (1) CA3135397A1 (ja)
SG (1) SG11202110570XA (ja)
WO (1) WO2020223449A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117255200A (zh) 2019-04-24 2023-12-19 字节跳动有限公司 编解码视频的量化残差差分脉冲编解码调制表示
KR20220002292A (ko) * 2019-05-01 2022-01-06 바이트댄스 아이엔씨 양자화된 잔차 차동 펄스 코드 변조 코딩을 사용하는 인트라 코딩된 비디오
EP3954125A4 (en) 2019-05-31 2022-06-22 ByteDance Inc. INTRA-BLOCK COPY PREDICTION PALETTE MODE
KR20220027851A (ko) * 2019-06-28 2022-03-08 바이트댄스 아이엔씨 화면 콘텐츠 코딩에서의 크로마 인트라 모드 도출
JP7469480B2 (ja) * 2020-01-10 2024-04-16 エルジー エレクトロニクス インコーポレイティド ルマ成分及びクロマ成分に対するbdpcmに基づく画像デコード方法及びその装置
US11863752B2 (en) * 2020-12-28 2024-01-02 Qualcomm Incorporated Most probable modes for intra prediction for video coding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020186050A1 (en) 2019-03-12 2020-09-17 Qualcomm Incorporated Coefficient domain block differential pulse-code modulation in video coding
US20200344469A1 (en) 2019-04-25 2020-10-29 Qualcomm Incorporated Block-based quantized residual domain pulse code modulation assignment for intra prediction mode derivation
US20210306654A1 (en) 2019-02-28 2021-09-30 Xris Corporation Method for encoding/decoding image signal, and device therefor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2150647B1 (en) * 2007-04-25 2016-09-07 LG Electronics Inc. Steam laundry dryer
US9877025B2 (en) 2013-07-12 2018-01-23 British Broadcasting Corporation Video encoding and decoding with prediction at higher precision
CA2923439C (en) * 2013-10-14 2018-08-21 Mediatek Singapore Pte. Ltd. Method of residue differential pulse-code modulation for hevc range extension
WO2017083553A1 (en) 2015-11-10 2017-05-18 Vid Scale, Inc. Systems and methods for coding in super-block based video coding framework
US11025903B2 (en) * 2017-01-13 2021-06-01 Qualcomm Incorporated Coding video data using derived chroma mode

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210306654A1 (en) 2019-02-28 2021-09-30 Xris Corporation Method for encoding/decoding image signal, and device therefor
WO2020186050A1 (en) 2019-03-12 2020-09-17 Qualcomm Incorporated Coefficient domain block differential pulse-code modulation in video coding
US20200344469A1 (en) 2019-04-25 2020-10-29 Qualcomm Incorporated Block-based quantized residual domain pulse code modulation assignment for intra prediction mode derivation

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Dongcheol Kim, et al.,Non-CE8: Intra prediction mode of BDPCM,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0463_v2,15th Meeting: Gothenburg, SE,2019年07月,pp.1-2
Marta Karczewicz, and Muhammed Coban,CE8-related: Quantized residual BDPCM ,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-N0413,14th Meeting: Geneva, CH,2019年03月,pp.1-5
Mohsen Abdoli, et al.,CE8: BDPCM with horizontal/vertical predictor and independently decodable areas (test 8.3.1b),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0057,13th Meeting: Marrakech, MA,2018年12月,pp.1-7
Mohsen Abdoli, Gordon Clare, Felix Henry, and Pierrick Philippe,AHG11: Block DPCM for Screen Content Coding,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0078,12th Meeting: Macao, CN,2018年10月,pp.1-7
Xin Zhao, Xiang Li, Xiaozhong Xu, and Shan Liu,Non-CE8: Modified intra mode associated with BPDCM,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0542,15th Meeting: Gothenburg, SE,2019年06月,pp.1-3

Also Published As

Publication number Publication date
KR20210068513A (ko) 2021-06-09
KR102574427B1 (ko) 2023-09-04
EP3963892A1 (en) 2022-03-09
AU2024202825A1 (en) 2024-05-23
JP7362877B2 (ja) 2023-10-17
JP2022514921A (ja) 2022-02-16
JP2023010892A (ja) 2023-01-20
CN113574894A (zh) 2021-10-29
SG11202110570XA (en) 2021-10-28
CN117978990A (zh) 2024-05-03
CA3135397A1 (en) 2020-11-05
US20220295102A1 (en) 2022-09-15
JP2023171907A (ja) 2023-12-05
AU2020266145B2 (en) 2023-01-19
US20210344961A1 (en) 2021-11-04
WO2020223449A1 (en) 2020-11-05
US11368721B2 (en) 2022-06-21
CN113574894B (zh) 2024-02-20
EP3963892A4 (en) 2023-01-11
AU2020266145A1 (en) 2021-10-28
KR20230129623A (ko) 2023-09-08
AU2023201829A1 (en) 2023-04-27
US11683526B2 (en) 2023-06-20
AU2023201829B2 (en) 2024-02-08

Similar Documents

Publication Publication Date Title
JP7159423B2 (ja) 映像復号化のための方法、装置及びコンピュータ・プログラム
JP7257535B2 (ja) 変換スキップモードとブロック差分パルスコード変調の改善された残差コーディング
JP7223138B2 (ja) ビデオコーディングの方法および装置、ならびにコンピュータプログラム
JP7185047B2 (ja) イントラ予測モードとブロック差分パルスコード変調モードとの間の相互作用のための方法および装置
JP7254187B2 (ja) ビデオ復号用の方法、装置およびプログラム
JP2023062099A (ja) ビデオ復号化のための方法、機器、非一時的なコンピュータ可読媒体、及びコンピュータプログラム
JP7465918B2 (ja) デコーダが実行するビデオデコーディングのための方法及び装置、並びにエンコーダが実行するビデオエンコーディングのための方法
JP7362878B2 (ja) ローカルデュアルツリー構造の下でのパレットベースの符号化モードのための方法および装置
JP2022540536A (ja) ビデオコーディング方法並びに装置及びコンピュータプログラム
JP2022510354A (ja) ビデオ符号化における隣接ブロックの利用可能性のための方法および装置
JP7236558B2 (ja) ビデオコーディングのための方法および装置
JP7267404B2 (ja) ビデオを符号化及び復号する方法、並びにその装置及びコンピュータプログラム
JP7332718B2 (ja) ビデオコーディングのための方法および装置
JP2023524406A (ja) 複数基準線イントラ予測と変換分割との間の調和した設計
JP2023522354A (ja) デカップリング変換パーティション分割
JP2023510690A (ja) ビデオコーディングのための方法及び装置
RU2779825C1 (ru) Способ и устройство для взаимодействия между режимом внутреннего предсказания и режимом блочной дифференциальной импульсно-кодовой модуляции
JP7338053B2 (ja) ビデオコード化のための方法及び装置
JP7478841B2 (ja) デコーダ側イントラモード導出
JP7439344B2 (ja) ビデオデコーディングのための方法、デバイス、およびコンピュータプログラム
JP7250153B2 (ja) 動画符号化のための方法、装置及びコンピュータプログラム
JP2023525668A (ja) 多重変換選択を用いた適応スキャン
JP2023533904A (ja) ゼロ残差フラグコーディング
JP2023521045A (ja) ビデオコーディングのための方法および装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210621

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220929

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221124

R150 Certificate of patent or registration of utility model

Ref document number: 7185047

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150