JP7337157B2 - ビデオエンコーダ、ビデオデコーダおよびピクチャを符号化または復号する方法 - Google Patents

ビデオエンコーダ、ビデオデコーダおよびピクチャを符号化または復号する方法 Download PDF

Info

Publication number
JP7337157B2
JP7337157B2 JP2021525644A JP2021525644A JP7337157B2 JP 7337157 B2 JP7337157 B2 JP 7337157B2 JP 2021525644 A JP2021525644 A JP 2021525644A JP 2021525644 A JP2021525644 A JP 2021525644A JP 7337157 B2 JP7337157 B2 JP 7337157B2
Authority
JP
Japan
Prior art keywords
picture
block
current block
boundary
equal
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
JP2021525644A
Other languages
English (en)
Other versions
JP2022511704A (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 JP2022511704A publication Critical patent/JP2022511704A/ja
Application granted granted Critical
Publication of JP7337157B2 publication Critical patent/JP7337157B2/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • H04N19/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • 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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Description

関連出願の相互参照
本特許出願は、2018年11月12日に出願された米国仮特許出願第62/759,929号に対する優先権の利益を主張する。前述の特許出願は、その全体が参照により本明細書に組み込まれる。
本出願の実施形態は、一般に、ビデオコード化の分野に関し、より詳細には、コード化ユニット分割および区分化に関する。
ビデオ符号化(ビデオ符号化および復号)は、例えば、放送デジタルTV、インターネットおよびモバイルネットワークを介したビデオ伝送、ビデオチャットなどのリアルタイム会話型アプリケーション、ビデオ会議、DVDおよびブルーレイディスク、ビデオコンテンツの取得および編集システム、セキュリティアプリケーションのカムコーダなど、幅広いデジタルビデオアプリケーションで使用されている。
1990年にH.261標準規格でブロックベースのハイブリッドビデオコード化手法が開発されて以来、新しいビデオコード化技術とツールが開発され、新しいビデオコード化標準規格の基礎を形成した。さらなるビデオコード化標準規格は、MPEG-1ビデオ、MPEG-2ビデオ、ITU-T H.262/MPEG-2、ITU-T H.263、ITU-T H.264/MPEG-4、パート10、高度ビデオコード化(AVC)、ITU-T H.265、高効率ビデオコード化(HEVC)、ITU-T H.266/Versatile video coding(VVC)および拡張、例えばこれらの標準規格のスケーラビリティおよび/または3次元(3D)拡張を含む。ビデオの作成および使用がますますユビキタスになるにつれて、ビデオトラフィックは通信ネットワークおよびデータストレージに対する最大の負荷であり、ほとんどのビデオコード化標準規格の目標の1つは、ピクチャ品質を犠牲にすることなく、以前のバージョンと比較してビットレートを低減することであった。最新の高効率ビデオコード化(HEVC)でさえ、品質を犠牲にすることなくAVCの約2倍のビデオを圧縮することができ、HEVCと比較してビデオをさらに圧縮することが新たな技術に対する渇望である。
本発明の実施形態は、符号化および復号のための装置および方法を提供する。
本開示の第1の態様によれば、ピクチャを符号化または復号する方法が提供される。本方法は、ピクチャの現在のブロックについて、以下の条件、
現在のブロックは、ピクチャの境界に位置していない非境界ブロックであること、および
四分木リーフのマルチタイプツリー分割から生じるマルチタイプツリー深さmttDepthは、最大境界マルチタイプ区分深さMaxMttDepthと、MaxMttDepthに対するオフセットdepthOffsetとの和以上であること
が満たされるか否かを判定するステップであって、
四分木リーフのマルチタイプ分割において、二分木分割が行われる場合、depthOffsetは0に初期化され、1だけ増加される、ステップ
を含む。本方法は、前記条件が満たされていると判定したことに応答して、現在のブロックに二分分割を適用しないステップを含む。
いくつかの実施形態では、本方法は、mttDepthがMaxMttDepthとdepthOffsetとの和以上であるか否かにかかわらず、現在のブロックがピクチャの境界に位置する境界ブロックであると判定したことに応じて、現在のブロックに二分分割を適用するステップを含む。
したがって、境界ブロックの効率的な符号化および復号を容易にすることができる。
第1の態様によれば、本開示は、現在のブロックが境界ブロックであるか否かに応じて、二分分割の適用の柔軟な制御を容易にすることができる。
いくつかの実施形態では、マルチタイプツリー分割は、二分分割および三分分割のうちの少なくとも1つを含む。
例えば、x0+cbWidthがピクチャのピクチャ幅pic_width_in_luma_samples以下であり、y0+cbHeightがピクチャのピクチャ高さpic_height_in_luma_samples以下である場合、現在のブロックは境界に位置する境界ブロックではないと判定され、(x0,y0)は現在のブロックの左上ルマサンプルの位置であり、cbWidthは現在のブロックの幅であり、cbHeightは現在のブロックの高さである。
いくつかの例では、本方法は、前記条件が満たされる場合、変数allowBtSplitをFALSEに設定するステップと、変数allowBtSplitに基づいて現在のブロックに二分分割を適用するステップ、または適用しないステップをさらに含む。
いくつかの実施形態では、変数allowBtSplitに基づいて現在のブロックに二分分割を適用するステップまたは適用しない前記ステップは、変数allowBtSplitがTRUEに等しいときに現在のブロックに二分分割を適用するステップと、変数allowBtSplitがFALSEに等しいときに現在のブロックに二分分割を適用しないステップとを含む。
いくつかの実施形態では、MaxMttDepthは0に設定される。
これは、マルチタイプツリー分割のオンまたはオフを実際に容易にすることができる。
例えば、ピクチャはビデオシーケンスのフレームである。
第2の態様によれば、第1の態様の任意の実施形態による方法を実行するための処理回路を備えるエンコーダが提供される。
第3の態様によれば、第1の態様の任意の実施形態による方法を実行するための処理回路を備えるデコーダが提供される。
第4の態様によれば、エンコーダが提供され、1つまたは複数のプロセッサと、プロセッサに結合され、プロセッサよって実行するためのプログラミングを格納する非一時的コンピュータ可読ストレージ媒体であって、プログラミングが、プロセッサによって実行されると、第1の態様の任意の実施形態による方法を実行するようにエンコーダを構成する、非一時的コンピュータ可読ストレージ媒体とを備える。
第5の態様によれば、デコーダが提供され、1つまたは複数のプロセッサと、プロセッサに結合され、プロセッサよって実行するためのプログラミングを格納する非一時的コンピュータ可読ストレージ媒体であって、プログラミングが、プロセッサによって実行されると、請求項1から8のいずれか一項による方法を実行するようにデコーダを構成する、非一時的コンピュータ可読ストレージ媒体とを備える。
第6の態様によれば、現在のブロックを含むピクチャを符号化または復号するための装置が提供される。本装置は、ピクチャの現在のブロックについて、以下の条件、
現在のブロックは、ピクチャの境界に位置していない非境界ブロックであること、および
四分木リーフのマルチタイプツリー分割から生じるマルチタイプツリー深さmttDepthは、最大境界マルチタイプ区分深さMaxMttDepthと、MaxMttDepthに対するオフセットdepthOffsetとの和以上であること
が満たされるか否かを判定し、
四分木リーフのマルチタイプ分割において、二分木分割が行われる場合、depthOffsetは0に初期化され、1だけ増加される、ように構成される処理回路を含む。処理回路は、前記条件が満たされていると判定したことに応答して、現在のブロックに二分分割を適用しないようにさらに構成される。
第6の態様によれば、本開示は、現在のブロックが境界ブロックであるか否かに応じて、二分分割の適用の柔軟な制御を容易にすることができる。
例えば、処理回路sは、mttDepthがMaxMttDepthとdepthOffsetとの和以上であるか否かにかかわらず、現在のブロックがピクチャの境界に位置する境界ブロックであると判定したことに応じて、現在のブロックに二分分割を適用するように構成される。
したがって、境界ブロックの効率的な符号化および復号を容易にすることができる。
いくつかの実施形態では、マルチタイプツリー分割は、二分分割および三分分割のうちの少なくとも1つを含む。
例えば、処理回路は、x0+cbWidthがピクチャのピクチャ幅pic_width_in_luma_samples以下であり、y0+cbHeightがピクチャのピクチャ高さpic_height_in_luma_samples以下である場合、現在のブロックは境界に位置する境界ブロックではないと判定し、(x0,y0)は現在のブロックの左上ルマサンプルの位置であり、cbWidthは現在のブロックの幅であり、cbHeightは現在のブロックの高さである、ように構成される。
いくつかの実施形態では、処理回路(1010、1020)は、前記条件が満たされる場合、変数allowBtSplitをFALSEに設定し、かつ変数allowBtSplitに基づいて現在のブロックに二分分割を適用する、または適用しない、ように構成される。
例えば、処理回路は、変数allowBtSplitに基づいて現在のブロックに二分分割を適用するステップまたは適用しない前記ステップの際、変数allowBtSplitがTRUEに等しいときに現在のブロックに二分分割を適用し、かつ変数allowBtSplitがFALSEに等しいときに現在のブロックに二分分割を適用しない、ように構成される。
いくつかの実施形態では、MaxMttDepthは0に設定される。
これは、マルチタイプツリー分割のオンまたはオフを実際に容易にすることができる。
例えば、ピクチャはビデオシーケンスのフレームである。
第7の態様によれば、現在のブロックを含むピクチャを符号化するように動作可能なエンコーダが提供される。エンコーダは、第6の態様の任意の実施形態による装置を備える。
第8の態様によれば、現在のブロックを含むピクチャを復号するように動作可能なデコーダが提供される。デコーダは、第6の態様の任意の実施形態による装置を備える。
第9の態様によれば、第1の態様の任意の実施形態による方法を実行するためのプログラムコードを含むコンピュータプログラム製品が提供される。
第10の態様によれば、コンピュータプログラムが提供される。プログラムコードを備えるコンピュータプログラムであって、プログラムコードは、プログラムがコンピュータによって実行されると、コンピュータに、第1の態様の任意の実施形態による方法を実行させ、
以下の条件、
現在のブロックは、ピクチャの境界に位置していない非境界ブロックであること、および
四分木リーフのマルチタイプツリー分割から生じるマルチタイプツリー深さmttDepthは、最大境界マルチタイプ区分深さMaxMttDepthと、MaxMttDepthに対するオフセットdepthOffsetとの和以上であること
が満たされるか否かを判定させることであって、
四分木リーフのマルチタイプ分割において、二分木分割が行われる場合、depthOffsetは0に初期化され、1だけ増加される、判定させることと、前記条件が満たされていると判定したことに応答して、現在のブロックに二分分割を適用しないことと、を含む。
明確にするために、本明細書に開示された実施形態のいずれか1つは、他の実施形態のいずれか1つまたは複数と組み合わせて、本開示の範囲内の別の実施形態を形成することができる。
上記その他の特徴は、以下の詳細な説明を添付の図面および特許請求の範囲と併せて読めばより明確に理解されるであろう。
以下の本発明の実施形態は、添付の図面および図面を参照してより詳細に説明される。
本発明の実施形態を実施するように構成されたビデオコード化システムの例を示すブロック図である。 本発明の実施形態を実施するように構成されたビデオコード化システムの別の例を示すブロック図である。 本発明の実施形態を実施するように構成されたビデオエンコーダの例を示すブロック図である。 本発明の実施形態を実施するように構成されたビデオデコーダの例示的な構成を示すブロック図である。 符号化装置または復号装置の一例を示すブロック図である。 符号化装置または復号装置の別の例を示すブロック図である。 四分木-二分木(QTBT)構造を使用したブロック区分化の一例の説明図である。 図6のQTBT構造を使用したブロック区分化に対応するツリー構造の一例の説明図である。 水平三分木区分タイプの一例の説明図である。 垂直三分木区分タイプの一例の説明図である。 ピクチャを符号化または復号するための方法のフローチャートである。 ピクチャを符号化または復号するための方法のフローチャートである。 ピクチャを符号化または復号するための装置のブロック図である。 二分分割を適用するか適用しないかの条件を判定するためのユニットのブロック図である。
以下の説明では、添付の図面を参照するが、これらは本開示の一部を形成し、例として、本発明の実施形態の特定の態様または本発明の実施形態が使用され得る特定の態様を示す。本発明の実施形態は他の態様で使用されてもよく、図面に示されていない構造的または論理的な変更を含んでもよいことが理解される。したがって、以下の詳細な説明は、限定的な意味で解釈するべきではなく、本発明の範囲は、添付の特許請求の範囲によって規定される。
例えば、記載の方法に関連する開示は、その方法を実行するように構成された対応するデバイスまたはシステムにも当てはまり、その逆も同様であることが理解される。例えば、1つまたは複数の特定の方法ステップが記載されている場合には、対応するデバイスは、記載された1つまたは複数の方法ステップを実行するための1つまたは複数のユニット、例えば機能ユニット(例えば、1つまたは複数のステップを実行する1つのユニット、または各々が複数のステップの1つもしくは複数を実行する複数のユニット)を、そのような1つまたは複数のユニットが図面に明示的に記載または図示されていなくても、含むことができる。一方、例えば、特定の装置が1つまたは複数のユニット、例えば機能ユニットに基づいて記載されている場合には、対応する方法は、1つまたは複数のユニットの機能を実行するための1つのステップ(例えば、1つまたは複数のユニットの機能を実行する1つのステップ、あるいは各々が複数のユニットの1つまたは複数の機能を実行する複数のステップ)を、そのような1つまたは複数のステップが図面に明示的に記載または図示されていなくても、含むことができる。さらに、特に断らない限り、本明細書に記載された様々な例示的な実施形態および/または態様の特徴は、互いに組み合わせてもよいことが理解される。
ビデオコード化は通常、ビデオまたはビデオシーケンスを形成する一連のピクチャの処理を指す。「ピクチャ」という用語の代わりに、「フレーム」または「画像」という用語が、ビデオコード化の分野での同義語として使用されてもよい。本出願(または本開示)で使用されるビデオ符号化は、ビデオ符号化またはビデオ復号のいずれかを示す。ビデオ符号化は送信側で実行され、通常、(より効率的なストレージおよび/または送信のために)ビデオピクチャを表すのに必要なデータの量を低減するための、元のビデオピクチャの処理(例えば、圧縮による)を含む。ビデオ復号は宛先側で実行され、通常、ビデオピクチャを再構成するための、エンコーダと比較して逆の処理を含む。ビデオピクチャ(または後で説明するように、一般にピクチャ)の「コード化」に言及する実施形態は、ビデオシーケンスの「符号化」または「復号」のいずれかに関連すると理解されるものとする。符号化部分と復号部分の組み合わせは、CODEC(CodingおよびDecoding)とも呼ばれる。
損失のないビデオコード化の場合、元のビデオピクチャを再構成できる。すなわち、(伝送損失または他のデータ損失がストレージまたは伝送中に失われないと仮定すると)再構成されたビデオピクチャは元のビデオピクチャと同じ品質である。非可逆ビデオコード化の場合は、ビデオピクチャを表すデータの量を低減するために、例えば量子化により、さらなる圧縮が行われるが、これはデコーダで完全に再構成することができない、つまり、再構成されたビデオピクチャの品質は、元のビデオピクチャの品質と比較して低いかまたは悪くなる。
H.261以降のいくつかのビデオコード化標準規格は、「非可逆ハイブリッドビデオコーデック」のグループに属している(つまり、サンプル領域での空間および時間予測と、変換領域で量子化を適用するための2D変換コード化と、を組み合わせる)。ビデオシーケンスの各ピクチャは通常、一組の重複しないブロックに区分化され、通常、コード化はブロックレベルで実行される。言い換えると、エンコーダでは、ビデオは通常、例えば空間(ピクチャ内)予測と時間(ピクチャ間)予測を使用して予測ブロックを生成し、現在のブロック(現在処理されている/処理されることになるブロック)から予測ブロックを差し引いて、残差ブロックを取得し、残差ブロックを変換し、変換領域で残差ブロックを量子化して、送信されるデータの量を低減(圧縮)することによって、ブロック(ビデオブロック)レベルで処理、すなわち符号化されるが、一方、デコーダでは、エンコーダとは逆の処理が符号化または圧縮されたブロックに適用され、表示のための現在のブロックを再構成する。さらに、エンコーダはデコーダ処理ループを複製して、両方が同じ予測(例えば、イントラ予測とインター予測)および/または後続のブロックの処理、すなわちコード化のための再構築を生成する。
本明細書で使用される場合、「ブロック」という用語は、ピクチャまたはフレームの一部であってもよい。説明の便宜上、本発明の実施形態は、ITU-Tビデオコード化エキスパートグループ(VCEG)およびISO/IECモーションピクチャエキスパートグループ(MPEG)のビデオコード化(JCT-VC)における共同コラボレーションチームによって開発された高効率ビデオコード化(HEVC)または汎用ビデオコード化(VVC)の参照ソフトウェアに関連して本明細書に記載される。当業者は、本発明の実施形態がHEVCまたはVVCに限定されないことを理解するであろう。例えば、「ブロック」という用語は、CU(コード化ユニット)、PU(予測ユニット)、およびTU(変換ユニット)を指すことができる。HEVCでは、CTU(コード化ツリーユニット)は、コード化ツリーとして示される四分木構造を使用してCUに分割される。インターピクチャ(時間)予測またはイントラピクチャ(空間)予測を用いてピクチャ領域をコード化するかどうかの決定は、CUレベルで行なわれる。各CUは、PU分割タイプに従って、1つ、2つ、または4つのPUにさらに分割することができる。1つのPU内部では、同一の予測プロセスが適用され、また、関連情報がPU単位でデコーダに送信される。PU分割タイプに基づいて予測プロセスを適用することによって残差ブロックを取得した後、CUは、CUのコード化ツリーに類似した別の四分木構造に従って変換ユニット(TU)に区分化され得る。ビデオ圧縮技術の最新の開発では、四分木および二分木(QTBT)区分化フレームがコード化ブロックを区分化するために使用される。QTBTブロック構造では、CUは正方形または長方形のいずれかの形状を有することができる。例えば、コード化ツリーユニット(CTU)は、最初に四分木構造によって区分化される。四分木リーフノードは、二分木構造によってさらに区分化される。二分木リーフノードはコード化ユニット(CU)と呼ばれ、そのセグメント化はさらなる区分化なしで予測および変換処理に使用される。このことは、CU、PU、および、TUがQTBTコード化ブロック構造において同じブロックサイズを有することを意味する。並行して、例えば三分木区分化を含むマルチ区分またはマルチツリー区分化も、QTBTブロック構造と共に使用されることが提案された。
エンコーダ20の以下の実施形態では、デコーダ30およびコード化システム10が図1から図3に基づいて説明される。
図1Aは、本出願(本開示)の技術を利用することができる例示的なコード化システム10、例えばビデオコード化システム10を示す概念的または概略的なブロック図である。ビデオコード化システム10のエンコーダ20(例えば、ビデオエンコーダ20)およびデコーダ30(例えば、ビデオデコーダ30)は、本出願に記載された様々な例による技術を実行するように構成され得るデバイスの例を表す。図1Aに示されるように、コード化システム10は、符号化されたデータ13、例えば符号化されたピクチャ13を、符号化されたデータ13を復号するための宛先デバイス14に与えるように構成される送信元デバイス12を含む。
送信元デバイス12は、エンコーダ20を含み、さらに、すなわち、オプションとして、ピクチャソース16、前処理ユニット18、例えば、ピクチャ前処理ユニット18、および通信インタフェースもしくは通信ユニット22を含む。
ピクチャソース16は、例えば、実世界のピクチャを取り込むための任意の種類のピクチャ取り込みデバイス、ならびに/あるいは任意の種類のピクチャまたはコメント(例えば、画面コンテンツコード化のために、画面上のいくつかのテキストはまた符号化されるピクチャまたは画像の一部と考えられる)生成デバイス、例えばコンピュータアニメーションピクチャを生成するためのコンピュータグラフィックプロセッサ、あるいは実世界のピクチャ、コンピュータアニメーションピクチャ(例えば画面コンテンツ、仮想現実(VR)ピクチャ)、ならびに/あるいはそれらの任意の組み合わせ(例えば拡張現実(AR)ピクチャ)を取得および/または提供するための任意の種類のデバイスを含んでもよく、またはそれらであってもよい。
(デジタル)ピクチャは、強度値を有するサンプルの2次元配列または行列と見なされる。配列内のサンプルは、ピクセル(ピクチャ要素の短い形)またはペルとも呼ばれ得る。配列またはピクチャの水平および垂直の方向(または軸)のサンプルの数は、ピクチャのサイズおよび/または解像度を定義する。色の表現のために、通常は3つの色成分が用いられる、すなわち、ピクチャは、3つのサンプル配列で表され得る、または3つのサンプル配列を含み得る。RBG形式または色空間では、ピクチャは、対応する赤、緑、および青のサンプルの配列を備える。しかしながら、ビデオコード化では、各ピクセルは、通常、輝度/クロミナンス形式または色空間、例えば、YCbCrで表され、YCbCrは、Yによって示される輝度成分(場合によっては、Lが代わりに使用されることもある)と、CbおよびCrによって示される2つのクロミナンス成分とを含む。輝度(または略してルマ)成分Yは、明るさまたはグレーレベルの強度(例えば、グレースケールピクチャの場合)を表し、2つのクロミナンス(または略してクロマ)成分CbおよびCrは、色度または色情報成分を表す。したがって、YCbCr形式のピクチャは、輝度サンプル値(Y)の輝度サンプル配列ならびにクロミナンス値(CbおよびCr)の2つのクロミナンスサンプル配列を含む。RGB形式のピクチャは、YCbCr形式に転換または変換され得、その逆も同様であり、このプロセスはまた、色変換または色転換として知られている。ピクチャがモノクロの場合、ピクチャは輝度サンプル配列のみを含むことができる。
ピクチャソース16(例えば、ビデオソース16)は、例えば、ピクチャを取り込むためのカメラ、メモリ、例えばピクチャメモリであってもよく、これらは、以前に取り込んだまたは生成されたピクチャ、および/またはピクチャを取得または受信するための任意の種類のインタフェース(内部または外部)を含むまたは格納する。カメラは、例えば、送信元デバイスに統合されたローカルまたは統合カメラであってもよく、メモリは、例えば送信元デバイスに統合されたローカルまたは統合メモリであってもよい。インタフェースは、例えば、外部ビデオソース、例えば、カメラのような外部ピクチャ取り込みデバイス、外部メモリ、または外部ピクチャ生成デバイス、例えば、外部コンピュータグラフィックプロセッサ、コンピュータ、もしくはサーバからピクチャを受信するための外部インタフェースであってもよい。インタフェースは、専用または標準化されたインタフェースプロトコルに準拠した任意の種類のインタフェース、例えば有線または無線のインタフェース、光インタフェースであってもよい。ピクチャデータ17を取得するためのインタフェースは、通信インタフェース22と同じインタフェースまたは通信インタフェース22の一部であってもよい。
前処理ユニット18および前処理ユニット18によって実行される処理とは異なり、ピクチャまたはピクチャデータ17(例えば、ビデオデータ17)は、未加工ピクチャまたは未加工ピクチャデータ17と呼ばれることもある。
前処理ユニット18は、(未加工)ピクチャデータ17を受け取り、ピクチャデータ17に対して前処理を実行して、前処理されたピクチャ19または前処理されたピクチャデータ19を取得するように構成される。前処理ユニット18によって実行される前処理は、例えば、トリミング、カラーフォーマット変換(例えば、RGBからYCbCrへ)、色補正、またはノイズ除去を含むことができる。前処理ユニット18が随意的な構成要素であってもよいことが理解され得る。
エンコーダ20(例えば、ビデオエンコーダ20)は、前処理されたピクチャデータ19を受け取り、符号化されたピクチャデータ21を提供するように構成される(さらなる詳細は、以下の例えば、図2または図4に基づいて説明される)。
送信元デバイス12の通信インタフェース22は、符号化されたピクチャデータ21を受信し、格納または再構成するために、それを別のデバイス、例えば宛先デバイス14または他の任意のデバイスに直接送信するように、あるいは、それぞれ、符号化されたデータ13を格納する前、および/または符号化されたデータ13を別のデバイス、例えば宛先デバイス14または復号もしくは格納するための他のデバイスに送信する前に、符号化されたピクチャデータ21を処理するように構成され得る。
宛先デバイス14は、デコーダ30(例えば、ビデオデコーダ30)を含み、さらに、すなわち、オプションとして、通信インタフェースまたは通信ユニット28、後処理ユニット32、およびディスプレイデバイス34を含むことができる。
宛先デバイス14の通信インタフェース28は、例えば送信元デバイス12から直接に、または他の任意のソース、例えばストレージデバイス、例えば符号化されたピクチャデータストレージデバイスから、例えば、符号化されたピクチャデータ21または符号化されたデータ13を受信するように構成される。
通信インタフェース22および通信インタフェース28は、送信元デバイス12と宛先デバイス14との間の直接通信リンクを介して、例えば、直接の有線もしくは無線接続、または任意の種類のネットワーク、例えば有線もしくは無線ネットワークまたはそれらの任意の組み合わせ、または任意の種類のプライベートおよびパブリックネットワーク、またはそれらの任意の種類の組み合わせを介して、符号化されたピクチャデータ21または符号化されたデータ13を送受信するように構成され得る。
通信インタフェース22は、例えば、通信リンクまたは通信ネットワークを介した送信のために、符号化されたピクチャデータ21を適切なフォーマットに、例えば、パケットにパッケージングするように構成されてもよい。
通信インタフェース28の相手方を形成する通信インタフェース22は、例えば、符号化されたピクチャデータ21を取得するために符号化されたデータ13をデパッケージングするように構成されてもよい。
通信インタフェース22と通信インタフェース28の両方は、送信元デバイス12から宛先デバイス14を指す、図1Aの符号化されたピクチャデータ13の矢印によって示されているような単方向通信インタフェースまたは双方向通信インタフェースとして構成され得、例えばメッセージを送信および受信するように、例えば、接続をセットアップするように、通信リンクおよび/またはデータ送信、例えば符号化されたピクチャデータ送信に関連する任意の他の情報を確認および交換するように構成され得る。
デコーダ30は、符号化されたピクチャデータ21を受信し、復号されたピクチャデータ31または復号されたピクチャ31を提供するように構成される(さらなる詳細は以下の、例えば、図3または図5に基づいて説明される)。
宛先デバイス14のポストプロセッサ32は、復号されたピクチャデータ31(再構成されたピクチャデータとも呼ばれる)、例えば復号されたピクチャ31を後処理して、後処理されたピクチャデータ33、例えば後処理されたピクチャ33を取得するように構成される。後処理ユニット32によって実行される後処理は、例えば復号されたピクチャデータ31を例えばディスプレイデバイス34により表示するために準備するために、例えば、カラーフォーマット変換(例えばYCbCrからRGB)、色補正、トリミング、または再サンプリング、または他の任意の処理を含むことができる。
宛先デバイス14のディスプレイデバイス34は、例えばユーザまたはビューアにピクチャを表示するための後処理されたピクチャデータ33を受信するように構成されている。ディスプレイデバイス34は、再構成されたピクチャを表すための任意の種類のディスプレイ、例えば、統合もしくは外部ディスプレイもしくはモニタであってもよいし、またはこれを備えてもよい。ディスプレイは、例えば、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、LCoS(liquid crystal on silicon)、DLP(digital light processor)、または任意の種類の他のディスプレイを含むことができる。
図1Aは、送信元デバイス12および宛先デバイス14を別個のデバイスとして示しているが、デバイスの実施形態は、送信元デバイス12または対応する機能および宛先デバイス14または対応する機能の両方または両方の機能も含んでもよい。そのような実施形態では、送信元デバイス12または対応する機能および宛先デバイス14または対応する機能は、同じハードウェアおよび/またはソフトウェアを使用して、または別個のハードウェアおよび/またはソフトウェアまたはそれらの任意の組み合わせによって実施されてもよい。
説明に基づいて当業者には明らかなように、図1Aに示す送信元デバイス12および/または宛先デバイス14内の異なるユニットまたは機能の存在および(正確な)分割は、実際のデバイスとアプリケーションに応じて変化してもよい。
エンコーダ20(例えば、ビデオエンコーダ20)およびデコーダ30(例えば、ビデオデコーダ30)はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、個別論理、ハードウェアまたはそれらの任意の組合せなどの、様々な適切な回路(例えば、処理回路)のいずれかとして実装されてもよい。技術がソフトウェアにおいて部分的に実装される場合、デバイスは、ソフトウェアの命令を適切な非一時的コンピュータ可読ストレージ媒体に記憶し、かつ、本開示の技術を行うために1つまたは複数のプロセッサを使用して、命令をハードウェアにおいて実行してもよい。前述(ハードウェア、ソフトウェア、ハードウェアとソフトウェアとの組み合わせなどを含む)のいずれも、1つまたは複数のプロセッサと見なされてもよい。ビデオエンコーダ20およびビデオデコーダ30のそれぞれは、1つまたは複数のエンコーダまたはデコーダに含まれてもよく、それらのいずれかは、それぞれのデバイスの複合エンコーダ/デコーダ(コーデック)の一部として一体化されてもよい。
送信元デバイス12は、ビデオ符号化デバイスまたはビデオ符号化装置と称されてもよい。宛先デバイス14は、ビデオ復号デバイスまたはビデオ復号装置と称されてもよい。送信元デバイス12および宛先デバイス14は、ビデオコード化デバイスまたはビデオコード化装置の例であり得る。
送信元デバイス12および宛先デバイス14は、例えば、ノートブックもしくはラップトップコンピュータ、携帯電話、スマートフォン、タブレット、もしくはタブレットコンピュータ、カメラ、デスクトップコンピュータ、セットトップボックス、テレビ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイス(コンテンツサービスサーバまたはコンテンツ配信サーバなど)、ブロードキャスト受信機デバイス、ブロードキャスト送信機デバイス、または任意の種類のハンドヘルドまたは固定デバイスを含む、広範囲のデバイスのいずれかを含み得、オペレーティングシステムをまったく使用し得ないか、または任意の種類のオペレーティングシステムを使用し得る。
ある場合には、送信元デバイス12および宛先デバイス14が無線通信のために装備されてもよい。したがって、送信元デバイス12および宛先デバイス14が無線通信デバイスであってもよい。
場合によっては、図1Aに示すビデオコード化システム10は単なる例であり、本出願の技術は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含まないビデオコード化設定(例えば、ビデオコード化またはビデオ復号)に適用することができる。他の例において、データは、ローカルメモリから取り込まれ、ネットワークを介してストリーミングされるなどである。ビデオ符号化デバイスは、データを符号化してメモリに記憶してもよく、および/または、ビデオ復号デバイスは、データをメモリから取り込んで復号してもよい。幾つかの例において、符号化および復号は、互いに通信せずに単にデータをメモリに符号化するおよび/またはデータをメモリから取り込んで復号するデバイスによって実行される。
ビデオエンコーダ20に関連して記載された上記の例のそれぞれごとに、ビデオデコーダ30がレシプロカルなプロセスを実行するように構成されてもよいことが理解されるべきである。シグナリングシンタックス要素に関して、ビデオデコーダ30は、そのようなシンタックス要素を受信および構文解析し、それに応じて関連するビデオデータを復号するように構成され得る。いくつかの例では、ビデオエンコーダ20は、1つまたは複数のシンタックス要素を、符号化ビデオビットストリームへエントロピ符号化し得る。そのような例では、ビデオデコーダ30は、そのようなシンタックス要素を解析し、それに応じて関連するビデオデータを復号することができる。
図1Bは、例示的な実施形態による、図2のエンコーダ20および/または図3のデコーダ30を含む別の例示的なビデオコード化システム40の説明図である。システム40は、本出願に記載された様々な例による技術を実施することができる。図示の実施態様では、ビデオコード化システム40は、撮像デバイス41、ビデオエンコーダ20、ビデオデコーダ30(および/または処理ユニット46の論理回路47を介して実装されたビデオコーダ)、アンテナ42、1つまたは複数のプロセッサ43、1つまたは複数のメモリストア44、および/またはディスプレイデバイス45を含むことができる。
図示のように、撮像デバイス41、アンテナ42、処理ユニット46、論理回路47、ビデオエンコーダ20、ビデオデコーダ30、プロセッサ43、メモリストア44、および/またはディスプレイデバイス45は、互いに通信可能であってもよい。説明したように、ビデオエンコーダ20およびビデオデコーダ30の両方を用いて例示されているが、ビデオコード化システム40は、様々な例において、ビデオエンコーダ20のみ、または、ビデオデコーダ30のみを含み得る。
示されるように、いくつかの例では、ビデオコード化システム40はアンテナ42を含み得る。アンテナ42は、例えば、ビデオデータの符号化ビットストリームを送信または受信するように構成され得る。さらに、いくつかの例では、ビデオコード化システム40はディスプレイデバイス45を含むことができる。ディスプレイデバイス45は、ビデオデータを提示するように構成されていてもよい。示されるように、いくつかの例では、論理回路47は、処理ユニット46を介して実装されてもよい。処理ユニット46は、特定用途向け集積回路(ASIC)ロジック、グラフィックプロセッサ、汎用プロセッサなどを含むことができる。ビデオコード化システム40はまた、同様に特定用途向け集積回路(ASIC)ロジック、グラフィックプロセッサ、汎用プロセッサなどを含むことができる任意選択のプロセッサ43を含むことができる。いくつかの例では、論理回路47は、ハードウェア、ビデオコード化専用ハードウェアなどを介して実装されてもよく、プロセッサ43は、汎用ソフトウェア、オペレーティングシステムなどを実装してもよい。さらに、メモリストア44は、揮発性メモリ(例えば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)など)または不揮発性メモリ(例えば、フラッシュメモリなど)などの任意のタイプのメモリであってもよい。非限定的な例では、メモリストア44はキャッシュメモリによって実装されてもよい。いくつかの例では、論理回路47は、(例えば、画像バッファの実装のために)メモリストア44にアクセスすることができる。他の例では、論理回路47および/または処理ユニット46は、画像バッファなどを実装するためのメモリストア(例えば、キャッシュなど)を含むことができる。
いくつかの例では、論理回路を介して実装されるビデオエンコーダ20は、画像バッファ(例えば、処理ユニット46またはメモリストア44のいずれかを介して、))およびグラフィック処理ユニット(例えば、処理ユニット46を介して、)を含むことができる。グラフィック処理ユニットは、画像バッファに通信可能に結合することができる。グラフィック処理ユニットは、図2に関して説明したような様々なモジュールおよび/または本明細書に記載の任意の他のエンコーダシステムまたはサブシステムを具現化するために論理回路47を介して実装されるビデオエンコーダ20を含むことができる。論理回路は、本明細書で説明するように様々な動作を実行するように構成されてもよい。
ビデオデコーダ30は、図3のデコーダ30、および/または、本明細書に記載されたその他任意のデコーダシステムまたはサブシステムに関連して説明されたような様々なモジュールを具現化するために、論理回路47を介して実施されるのと同様の方式で実施され得る。いくつかの例では、論理回路を介して実装され得るビデオデコーダ30は、画像バッファ(例えば、処理ユニット46またはメモリストア44のいずれかを介して、))およびグラフィック処理ユニット(例えば、処理ユニット420を介して、)を含むことができる。グラフィック処理ユニットは、画像バッファに通信可能に結合することができる。グラフィック処理ユニットは、図3に関して説明したような様々なモジュールおよび/または本明細書に記載の任意の他のエンコーダシステムまたはサブシステムを具現化するために論理回路47を介して実装されるビデオデコーダ30を含むことができる。
いくつかの例では、ビデオコード化システム40のアンテナ42は、ビデオデータの符号化ビットストリームを受信するように構成され得る。説明したように、符号化ビットストリームは、符号化区分に関連するデータ(例えば、変換係数または量子化変換係数、任意選択のインジケータ(前述)、および/または符号化区分を定義するデータ)など、本明細書で説明したビデオフレームの符号化に関連するデータ、インジケータ、インデックス値、モード選択データなどを含むことができる。ビデオコード化システム40はまた、アンテナ42に結合され、符号化ビットストリームを復号するように構成されたビデオデコーダ30を含むことができる。ディスプレイデバイス45は、ビデオフレームを提示するように構成される。
図2は、本出願の技術を実施するように構成された例示的なビデオエンコーダ20の概略/概念ブロック図を示す。図2の例において、ビデオエンコーダ20は、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタユニット220、復号されたピクチャバッファ(DPB)230、予測処理ユニット260、および、エントロピコード化ユニット270を含む。予測処理ユニット260は、インター予測ユニット244、イントラ予測ユニット254、および、モード選択ユニット262を含んでもよい。インター予測ユニット244は、動き推定ユニットおよび動き補償ユニット(図示せず)を含んでもよい。図2に示すビデオエンコーダ20は、ハイブリッドビデオエンコーダまたはハイブリッドビデオコーデックによるビデオエンコーダと呼ばれることもある。
例えば、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、予測処理ユニット260およびエントロピコード化ユニット270は、エンコーダ20の順方向信号経路を形成し、一方、例えば、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタ220、復号されたピクチャバッファ(DPB)230、予測処理ユニット260は、エンコーダの逆方向信号経路を形成し、エンコーダの逆方向信号経路は、デコーダの信号経路に対応する(図3のデコーダ30を参照)。
エンコーダ20は、例えば、入力202により、例えばピクチャ201またはピクチャ201のブロック203、例えばビデオまたはビデオシーケンスを形成する一連のピクチャのうちのピクチャを受け取るように構成される。ピクチャブロック203はまた、現在のピクチャブロックまたはコード化されるピクチャブロックと呼ばれてもよく、ピクチャ201は、現在のピクチャまたはコード化されるピクチャと呼ばれてもよい(特に、現在のピクチャを他のピクチャ、例えば、同じビデオシーケンスの以前に符号化および/または復号されたピクチャ、つまり現在のピクチャも含むビデオシーケンスと区別するためのビデオコード化)。
区分化
エンコーダ20の実施形態は、ピクチャ201を複数のブロック、例えばブロック203のようなブロックに、通常、複数の重複しないブロックに区分化するように構成される区分化ユニット(図2には示されていない)を含むことができる。区分化ユニットは、ビデオシーケンスのすべてのピクチャとブロックサイズを定義する対応するグリッドに同じブロックサイズを使用するか、ピクチャまたはサブセットまたはピクチャグループ間でブロックサイズを変更し、各ピクチャを対応するブロックに区分化するように構成されてもよい。
一例において、ビデオエンコーダ20の予測処理ユニット260は、前述の区分化技術の任意の組み合わせを実行するように構成されてもよい。
ピクチャ201と同様に、ブロック203も、ピクチャ201よりも小さい次元であるが、強度値(サンプル値)を有するサンプルの2次元配列または行列であるか、またはそのようにみなすことができる。言い換えれば、ブロック203は、例えば、1つのサンプル配列(例えば、モノクロピクチャ201の場合はルマ配列)または3つのサンプル配列(例えばカラーピクチャ201の場合はルマおよび2つのクロマ配列)または適用されるカラーフォーマットに応じて、他の任意の数および/または種類の配列を含んでもよい。ブロック203の水平および垂直方向(または軸)におけるサンプルの数は、ブロック203のサイズを定義する。
図2に示すようなエンコーダ20は、ピクチャ201をブロックごとに符号化するように構成され、例えば符号化および予測はブロック203ごとに実行される。
残差計算
残差計算ユニット204は、ピクチャブロック203および予測ブロック265(予測ブロック265に関するさらなる詳細は後で提供される)に基づいて残差ブロック205を計算し、例えばピクチャブロック203のサンプル値から予測ブロック265のサンプル値を減算することにより、サンプルごと(ピクセルごと)に、サンプル領域における残差ブロック205を取得するように構成される。
変換
変換処理ユニット206は、変換領域における変換係数207を取得するべく、残差ブロック205のサンプル値に関して、例えば、離散コサイン変換(discrete cosine transform、DCT)または離散サイン変換(discrete sine transform、DST)を適用するように構成される。変換係数207は、変換残差係数と称されてもよく、変換領域における残差ブロック205を表わす。
変換処理ユニット206は、HEVC/H.265に対して指定された変換などのDCT/DSTの整数近似を適用するように構成され得る。直交DCT変換と比較すると、このような整数近似は通常、特定の係数によってスケーリングされる。順変換と逆変換によって処理される残差ブロックのノルムを保存するために、変換プロセスの一部として追加のスケーリング係数が適用される。スケーリング係数は通常、シフト演算のスケーリング係数が2のべき乗であるような特定の制約、変換係数のビット深さ、精度と実施コストとの間のトレードオフなどに基づいて選択される。特定のスケーリング係数は、例えば、逆変換、例えばデコーダ30における逆変換処理ユニット212(および対応する逆変換、例えばエンコーダ20における逆変換処理ユニット212による)であり、順変換のための対応するスケーリング係数は、例えば変換処理ユニット206によって、エンコーダ20で、それに応じて指定され得る。
量子化
量子化ユニット208は、例えばスカラー量子化またはベクトル量子化を適用することによって、変換係数207を量子化して、量子化された変換係数209を取得するように構成される。量子化された変換係数209は、量子化された残差係数209と称される場合もある。量子化プロセスは、変換係数207の一部または全部に関連するビット深さを減らすことができる。例えば、nビット変換係数は、量子化中にmビット変換係数に至るまで丸められてもよく、nはmよりも大きい。量子化の度合いは量子化パラメータ(QP)を調節することによって変更できる。例えば、スカラー量子化の場合、より細かいまたはより粗い量子化を達成するために、異なるスケーリングが適用されてもよい。小さい量子化ステップサイズは細かい量子化に対応し、大きい量子化ステップサイズは粗い量子化に対応する。適用可能な量子化ステップサイズは、量子化パラメータ(QP)によって示され得る。量子化パラメータは、例えば、適用可能な量子化ステップサイズの所定のセットへのインデックスであってもよい。例えば、小さな量子化パラメータは細かい量子化(小さな量子化ステップサイズ)に対応し、大きな量子化パラメータは粗い量子化(大きな量子化ステップサイズ)に対応するか、またはその逆である。量子化は、量子化ステップサイズによる除算と、例えば逆量子化210により、対応するまたは逆の逆量子化を含むことができ、量子化ステップサイズによる乗算を含むことができる。いくつかの標準規格、例えば、HEVCによる実施形態は、量子化パラメータを使用して量子化ステップサイズを決定するように構成され得る。一般に、量子化ステップサイズは、除算を含む方程式の固定小数点近似を使用する量子化パラメータに基づいて計算され得る。残差ブロックのノルムを復元するために、量子化と逆量子化に追加のスケーリング係数が導入されてもよく、これは、量子化ステップサイズと量子化パラメータの方程式の固定小数点近似で使用されるスケーリングのために変更される可能性がある。1つの例示的な実施態様では、逆変換のスケーリングと逆量子化が組み合わせられてもよい。あるいは、カスタマイズされた量子化テーブルが使用され、例えばビットストリームで、エンコーダからデコーダにシグナリングされてもよい。量子化は非可逆演算であり、損失は量子化ステップサイズの増加に伴って増加する。
逆量子化ユニット210は、例えば量子化ユニット208と同じ量子化ステップサイズに基づいて、またはそれを使用して、量子化ユニット208によって適用された量子化スキームの逆を適用することによって、量子化ユニット208の逆量子化を量子化係数に適用して、逆量子化係数211を得るように構成される。逆量子化係数211は、逆量子化された残差係数211と称される場合もあり、通常は量子化による損失に起因して変換係数と同一ではないが、変換係数207に対応する。
逆変換処理ユニット212は、変換処理ユニット206によって適用される変換の逆変換、例えば逆離散コサイン変換(discrete cosine transform、DCT)または逆離散サイン変換(discrete sine transform、DST)を適用して、サンプル領域における逆変換ブロック213を取得するように構成される。逆変換ブロック213は、逆変換逆量子化ブロック213または逆変換残差ブロック213と称される場合もある。
再構成ユニット214(例えば、加算器214)は、例えば、再構成された残差ブロック213のサンプル値と予測ブロック265のサンプル値とを加算することによって、逆変換ブロック213(すなわち、再構成された残差ブロック213)を予測ブロック265に加えてサンプル領域における再構成ブロック215を取得するように構成される。
任意選択で、バッファユニット216(または短く「バッファ」216)、例えば、ラインバッファ216は、例えば、イントラ予測のために、再構成されたブロック215およびそれぞれのサンプル値をバッファリングまたは格納するように構成される。さらなる実施形態では、エンコーダは、任意の種類の推定および/または予測、例えば、イントラ予測のために、フィルタリングされていない再構成されたブロックおよび/またはバッファユニット216に格納されたそれぞれのサンプル値を使用するように構成され得る。
エンコーダ20の実施形態は、例えば、バッファユニット216がイントラ予測254のための再構成ブロック215を格納するために使用されるだけでなく、ループフィルタユニットまたはループフィルタ220のためにも使用されるように、および/または、例えば、バッファユニット216および復号されたピクチャバッファ(またはDPB)ユニット230が1つのバッファを形成するように構成され得る。さらなる実施形態は、フィルタリングされたブロック221および/または復号されたピクチャバッファ230からのブロックまたはサンプルをイントラ予測254のための入力または基礎として使用するように構成されてもよい。
ループフィルタユニット220(または省略して「ループフィルタ」220)は、再構成ブロック215をフィルタリングしてフィルタリングされたブロック221を取得し、ピクセル移行を滑らかにするまたはビデオ品質を向上させるように構成される。ループフィルタユニット220は、デブロッキングフィルタ、サンプル適応オフセット(SAO)フィルタまたは他のフィルタ、例えばバイラテラルフィルタまたは適応ループフィルタ(ALF)または鮮鋭化もしくは平滑化フィルタまたは協調フィルタなどの、1つまたは複数のループフィルタを表すように意図されている。ループフィルタユニット220は図2ではインループフィルタとして示されるが、他の形態では、ループフィルタユニット220がポストループフィルタとして実装されてもよい。フィルタリングされたブロック221は、フィルタリングされた再構成されたブロック221と呼ばれることもある。復号されたピクチャバッファ230は、ループフィルタユニット220が再構成されたコード化ブロックに対してフィルタリング演算を実行した後に、再構成されたコード化ブロックを記憶してもよい。
エンコーダ20の実施形態(それぞれループフィルタユニット220)は、例えば直接またはエントロピコード化ユニット270または他の任意のエントロピコード化ユニットを介してエントロピコード化、(サンプル適応オフセット情報などの)ループフィルタパラメータを出力するように構成されてもよく、その結果、例えば、デコーダ30は、復号のために同じループフィルタパラメータを受信および適用することができる。
復号されたピクチャバッファ(DPB)230は、ビデオエンコーダ20でビデオデータを符号化する際に用いる参照ピクチャデータを記憶する参照ピクチャメモリであってもよい。DPB230は、シンクロナスDRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗変化型RAM(RRAM)、または他のタイプのメモリデバイスを含むダイナミックランダムアクセスメモリ(DRAM)などの様々なメモリデバイスのうちのいずれかによって形成されてよい。DPB 230およびバッファ216は、同じメモリデバイスによってまたは別個のメモリデバイスによって提供されてもよい。いくつかの例では、復号されたピクチャバッファ(DPB)230は、フィルタリングされたブロック221を格納するように構成される。復号されたピクチャバッファ230は、他の以前にフィルタリングされたブロック、例えば同じ現在のピクチャまたは異なるピクチャ、例えば以前に再構成されたピクチャの、以前に再構成およびフィルタリングされたブロック221を格納するようにさらに構成されてもよく、また、例えばインター予測のために、完全に以前に再構成された、すなわち復号されたピクチャ(および対応する参照ブロックおよびサンプル)および/または部分的に再構成された現在のピクチャ(および対応する参照ブロックおよびサンプル)を提供することができる。いくつかの例では、再構成ブロック215が再構成されるがインループフィルタリングを伴わない場合、復号されたピクチャバッファ(decoded picture buffer、DPB)230が再構成ブロック215を記憶するように構成される。
予測処理ユニット260は、ブロック予測処理ユニット260とも呼ばれ、ブロック203(現在のピクチャ201の現在のブロック203)および再構成されたピクチャデータ、例えばバッファ216からの同じ(現在の)ピクチャの参照サンプルおよび/または復号されたピクチャバッファ230からの1つまたは複数の以前に復号されたピクチャからの参照ピクチャデータ231を受信または取得し、そのようなデータを予測のために処理する、すなわち予測ブロック265を提供するように構成され、これは、インター予測ブロック245またはイントラ予測ブロック255であってもよい。
モード選択ユニット262は、残差ブロック205の計算および再構成されたブロック215の再構成のための予測ブロック265として使用される予測モード(例えば、内部または相互の予測モード)および/または対応する予測ブロック245または255を選択するように構成され得る。
モード選択ユニット262の実施形態は、(例えば、予測処理ユニット260によってサポートされるものから)予測モードを選択するように構成されてもよく、これは、最良の一致、言い換えれば、最小残差(最小残差は、送信または記憶のためのより良い圧縮を意味する)を提供する。または、最小のシグナリングオーバーヘッド(最小のシグナリングオーバーヘッドは、送信またはストレージのためのより良い圧縮を意味する)、または両方を考慮またはバランスする。モード選択ユニット262は、レート歪み最適化(RDO)に基づいて予測モードを決定する、すなわち、最小レート歪み最適化を提供する、または関連するレート歪みが少なくとも予測モード選択基準を満たす予測モードを選択するように構成され得る。
以下では、例示的なエンコーダ20によって実行される予測処理(例えば、予測処理ユニット260およびモード選択(例えば、モード選択ユニット262による))をより詳細に説明する。
上記のように、エンコーダ20は、一組の(所定の)予測モードから最良または最適な予測モードを決定または選択するように構成される。予測モードのセットは、例えば、イントラ予測モードおよび/またはインター予測モードを含むことができる。
イントラ予測モードのセットは、35の異なるイントラ予測モード例えばDC(または平均)モードや平面モードなどの非指向性モード、または例えばH.265で定義されているように指向性モードを含むことができ、または67の異なるイントラ予測モード、例えばDC(または平均)モードや平面モードなどの非指向性モード、または例えば開発中のH.266で定義されているように指向性モードを含むことができる。しかしながら、本開示は、35または67よりも大きいまたは小さいイントラ予測モードの特定の数に限定されない。
(可能性のある)インター予測モードのセットは、利用可能な参照ピクチャ(すなわち、以前に少なくとも部分的に復号された、例えばDPB230に格納されたピクチャ)および他のインター予測パラメータ、例えば参照ピクチャ全体または一部のみが、例えば参照ピクチャの現在のブロックの領域の周りの検索ウィンドウ領域が最もよく一致する参照ブロックを検索するために使用されるかどうか、ならびに/あるいは例えばピクセル補間、例えばハーフ/セミペルおよび/またはクォーターペル補間が適用されるかどうかに依存する。
上記の予測モードに加えて、スキップモードおよび/または直接モードが適用されてもよい。
予測処理ユニット260は、ブロック203をより小さいブロック区分またはサブブロックに区分化するように、例えば四分木区分化(QT)、二分区分化(BT)または三分木区分化(TT)またはそれらの任意の組み合わせを繰り返し使用して、例えば、各ブロック区分またはサブブロックの予測を行うようにさらに構成されてもよく、モード選択は、区分化されたブロック203のツリー構造の選択と、ブロック区分またはサブブロックの各々に適用される予測モードと、を含む。
インター予測ユニット244は、動き推定(ME)ユニット(図2に図示せず)および動き補償(MC)ユニット(図2に図示せず)を含んでもよい。動き推定ユニットは、動き推定のために、ピクチャブロック203(現在のピクチャ201の現在のピクチャブロック203)および復号されたピクチャ231、または、少なくとも1つまたは複数の既に再構成されたブロック、例えば、1つまたは複数の他の/異なる既に復号されたピクチャ231の再構成されたブロックを受信または取得するように構成される。例えば、ビデオシーケンスは、現在のピクチャおよび以前に復号されたピクチャ231を含むことができ、言い換えれば、現在のピクチャおよび以前に復号されたピクチャ231は、ビデオシーケンスを形成するピクチャのシーケンスの一部であるか、またはそれを形成することができる。
エンコーダ20は、例えば、複数の他のピクチャの同じまたは異なるピクチャの複数の参照ブロックから参照ブロックを選択し、参照ピクチャ(または参照ピクチャインデックス、…)および/または参照ブロックの位置(x、y座標)と現在のブロックの位置との間のオフセット(空間オフセット)を、インター予測パラメータとして動き推定ユニット(図2に示されず)に提供するように構成され得る。このオフセットは、動きベクトル(MV)とも呼ばれる。
動き補償ユニットは、例えば、インター予測パラメータを取得するとともに、インター予測パラメータに基づいてまたはインター予測パラメータを使用してインター予測を実行してインター予測ブロック245を取得するように構成される。動き補償ユニット(図2に示されず)によって実行される動き補償は、動き推定によって決定された動き/ブロックベクトルに基づいて予測ブロックをフェッチまたは生成し、場合によってはサブピクセル精度への補間を実行することを含むことができる。補間フィルタリングは、既知のピクセルサンプルからさらなるピクセルサンプルを生成し、それにより、ピクチャブロックをコード化するために使用されてもよい候補予測ブロックの数を潜在的に増大させてもよい。現在のピクチャブロックのPUに関する動きベクトルを受信する際、動き補償ユニット246は、参照ピクチャリストのうちの1つにある動きベクトルが指し示す予測ブロックを特定してもよい。動き補償ユニット246はまた、ビデオスライスのピクチャブロックを復号する際にビデオデコーダ30によって使用されるために、ブロックとビデオスライスとに関連付けられているシンタックス要素を生成する。ビデオスライスまたはスライスは、同じピクチャの他のスライスからのデータに依存せずに符号化されるビデオピクチャの区分である。
イントラ予測ユニット254は、ピクチャブロック203(現在のピクチャブロック)および1つまたは複数の以前に再構成されたブロック、例えば内部推定のために同じピクチャの再構成された隣接ブロックを取得する、例えば受け取るように構成される。エンコーダ20は、例えば、複数の(所定の)イントラ予測モードの中から1つのイントラ予測モードを選択するように構成されてもよい。
エンコーダ20の実施形態は、例えば、最適化基準、例えば最小残差(例えば、現在のピクチャブロック203に最も類似した予測ブロック255を提供するイントラ予測モード)または最小レート歪みに基づいてイントラ予測モードを選択するように構成され得る。
イントラ予測ユニット254は、イントラ予測パラメータ、例えば選択されたイントラ予測モードに基づいてイントラ予測ブロック255を決定するようにさらに構成される。いずれの場合も、イントラ予測ユニット254は、ブロックのイントラ予測モードを選択した後、イントラ予測パラメータ、すなわち、ブロックのための選択されたイントラ予測モードを示す情報を、エントロピコード化ユニット270に与えるようにも構成される。一例において、イントラ予測ユニット254は、後述のイントラ予測技術の任意の組み合わせを実行するように構成されてもよい。
エントロピコード化ユニット270は、エントロピコード化アルゴリズムまたはスキーム(例えば、可変長符号化(variable length coding、VLC)スキーム、コンテキスト適応VLCスキーム(context adaptive VLC、CALVC)、算術符号化スキーム、コンテキスト適応バイナリ算術符号化(context adaptive binary arithmetic coding、CABAC))、シンタックスベースのコンテキスト適応型バイナリ算術符号化(syntax-based context-adaptive binary arithmetic coding、SBAC)、確率区間区分化エントロピ(probability interval partitioning entropy、PIPE)符号化、または、他のエントロピコード化方法または技術)を、量子化された残差係数209、インター予測パラメータ、イントラ予測パラメータ、および/または、ループフィルタパラメータに対して個別にまたは共同で適用して(または全く適用しないで)、出力272によって出力され得る符号化されたピクチャデータ21を例えば符号化ビットストリーム21の形態で取得するように構成される。符号化ビットストリーム21は、ビデオデコーダ30に送信されてもよく、または、ビデオデコーダ30による後の送信もしくは取り込みのためにアーカイブされてもよい。エントロピコード化ユニット270は、符号化されている現在のビデオスライスの他のシンタックス要素をエントロピコード化するようにさらに構成することができる。
ビデオエンコーダ20の他の構造的変形は、ビデオストリームを符号化するように使用され得る。例えば、非変換ベースのエンコーダ20は、特定のブロックまたはフレームに関して変換処理ユニット206を伴うことなく残差信号を直接に量子化することができる。他の実施において、エンコーダ20は、単一のユニットに組み合わせられる量子化ユニット208および逆量子化ユニット210を有し得る。
図3は、本出願の技術を実施するように構成された例示的なビデオデコーダ30を示す。例えばエンコーダにより符号化、符号化されたピクチャデータ(例えば、符号化ビットストリーム)21を受信して、復号されたピクチャ331を取得するように構成されたビデオデコーダ30を示している。復号処理の間、ビデオデコーダ30は、ビデオエンコーダ20から、ビデオデータ、例えば、符号化ビデオスライスのピクチャブロックを表す符号化ビデオビットストリームと、関連するシンタックス要素とを受信する。
図3の例において、デコーダ30は、エントロピ復号ユニット304、逆量子化ユニット310、逆変換処理ユニット312、再構成ユニット314(例えば、加算器314)、バッファ316、ループフィルタ320、復号されたピクチャバッファ330、および、予測処理ユニット360を含む。予測処理ユニット360は、インター予測ユニット344、イントラ予測ユニット354、および、モード選択ユニット362を含んでもよい。ビデオデコーダ30は、いくつかの例では、図2のビデオエンコーダ20に関して説明された符号化パスと概して逆となる復号パスを実行し得る。
エントロピ復号ユニット304は、符号化されたピクチャデータ21に対してエントロピ復号を実行して、例えば量子化係数309および/または復号されたコード化パラメータ(図3には図示せず)、例えば(復号された)インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、および/または他のシンタックス要素のいずれかまたはすべてを取得するように構成される。エントロピ復号ユニット304はさらに、インター予測パラメータ、イントラ予測パラメータ、および/または、その他のシンタックス要素を予測処理ユニット360へ転送するように構成される。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
逆量子化ユニット310は機能において逆量子化ユニット110と同一であってもよく、逆変換処理ユニット312は機能において逆変換処理ユニット212と同一であってもよく、再構成ユニット314は機能において再構成ユニット214と同一であってもよく、バッファ316は機能においてバッファ216と同一であってもよく、ループフィルタ320は機能においてループフィルタ220と同一であってもよく、復号されたピクチャバッファ330は機能において復号されたピクチャバッファ230と同一であってもよい。
デコーダ30の実施形態は、区分化ユニット(図3には示されていない)を含むことができる。一例において、ビデオデコーダ30の予測処理ユニット360は、前述の区分化技術の任意の組み合わせを実行するように構成されてもよい。
予測処理ユニット360は、インター予測ユニット344およびイントラ予測ユニット354を含むことができ、インター予測ユニット344は、インター予測ユニット244に機能が類似していてもよく、イントラ予測ユニット354は、イントラ予測ユニット254に機能が類似していてもよい。予測処理ユニット360は、一般に、ブロック予測を実行するおよび/または符号化されたデータ21から予測ブロック365を取得するとともに、例えばエントロピ復号ユニット304から、予測関連パラメータおよび/または選択された予測モードに関する情報を(明示的または暗黙的に)受信または取得するように構成される。
ビデオスライスがイントラコード化された(I)スライスとしてコード化されるとき、予測処理ユニット360のイントラ予測ユニット354は、信号伝送されたイントラ予測モードと現在のフレームまたはピクチャの既に復号されたブロックからのデータとに基づいて、現在のビデオスライスのピクチャブロックのための予測ブロック365を生成するように構成される。ビデオフレームがインターコード化(すなわち、B(双方向コード化)またはP(予測コード化))スライスとしてコード化されるとき、予測処理ユニット360のインター予測ユニット344(例えば、動き補償ユニット)は、エントロピ復号ユニット304から受信した動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロック用の予測ブロック365を生成するように構成される。インター予測について、予測ブロックは、参照ピクチャリストのうちの1つにある参照ピクチャのうちの1つから作り出され得る。ビデオデコーダ30は、DPB330に格納された参照ピクチャに基づいて、デフォルトの構成技法を用いて参照フレームリスト、すなわちリスト0およびリスト1を構成できる。
予測処理ユニット360は、動きベクトルおよび他のシンタックス要素を解析することによって、現在のビデオスライスのビデオブロックに関する予測情報を判定し、予測情報を使用して、復号される現在のビデオブロックに関する予測ブロックを作り出すように構成される。例えば、予測処理ユニット360は、受信したシンタックス要素の一部を使用して、ビデオスライスのビデオブロックを符号化するために使われる予測モード(例えば、イントラまたはインター予測)、インター予測スライスタイプ(例えば、Bスライス、Pスライス、またはGPBスライス)、スライスに関する参照ピクチャリストのうちの1つまたは複数の構成情報、スライスの各インター符号化ビデオブロックの動きベクトル、スライスの各インターコードされたビデオブロックに関するインター予測状態、および現在のビデオスライスのビデオブロックを復号するための他の情報を判定する。
逆量子化ユニット310は、ビットストリームにおいて提供され、エントロピ復号ユニット304が復号した量子化された変換係数を逆量子化する(inverse quantizes)、すなわち、逆量子化する(de-quantizes)ように構成される。逆量子化プロセスは、量子化の程度と同様に適用すべき逆量子化の程度とを決定するべくビデオスライス内のそれぞれのビデオブロックごとにビデオエンコーダ20によって計算される量子化パラメータの使用を含んでもよい。
逆変換処理ユニット312は、画素領域において残差ブロックを作り出すために、逆変換、例えば、逆DCT、逆整数変換、または概念的に類似する逆変換処理を変換係数に適用するように構成される。
再構成ユニット314(例えば、加算器314)は、例えば、再構成された残差ブロック313のサンプル値と予測ブロック365のサンプル値とを加算することによって、逆変換ブロック313(すなわち、再構成された残差ブロック313)を予測ブロック365に加えてサンプル領域における再構成ブロック315を取得するように構成される。
ループフィルタユニット320(コード化ループ中またはコード化ループ後のいずれか)は、再構成ブロック315をフィルタリングしてフィルタリングされたブロック321を取得し、ピクセル移行を滑らかにするまたはビデオ品質を向上させるように構成される。一例において、ループフィルタユニット320は、後述されるフィルタリング技術の任意の組み合わせを実行するように構成されてもよい。ループフィルタユニット320は、デブロッキングフィルタ、サンプル適応オフセット(SAO)フィルタまたは他のフィルタ、例えばバイラテラルフィルタまたは適応ループフィルタ(ALF)または鮮鋭化もしくは平滑化フィルタまたは協調フィルタなどの、1つまたは複数のループフィルタを表すように意図されている。ループフィルタユニット320は図3ではインループフィルタとして示されるが、他の形態では、ループフィルタユニット320がポストループフィルタとして実装されてもよい。
その後、所定のフレームまたはピクチャにおける復号されたビデオブロック321は、後続の動き補償のために使用される参照ピクチャを記憶する復号されたピクチャバッファ330に記憶される。
デコーダ30は、ユーザへの提示または閲覧のために、例えば出力332を介して復号されたピクチャ331を出力するように構成されている。
ビデオデコーダ30の他の変形は、圧縮されたビットストリームを復号するために使用され得る。例えば、デコーダ30は、ループフィルタユニット320を介さずに、出力ビデオストリームを生成することができる。例えば、非変換ベースのデコーダ30は、特定のブロックまたはフレームに関して逆変換処理ユニット312を伴うことなく残差信号を直接に逆量子化することができる。他の実施において、ビデオデコーダ30は、単一のユニットへと組み合わされる逆量子化ユニット310および逆変換処理ユニット312を有することができる。
図4は、本開示の一実施形態によるビデオコード化デバイス400の概略図である。ビデオコード化デバイス400は、本明細書に記載の開示された実施形態を実施するのに適している。一実施形態では、ビデオコード化デバイス400は、図1Aのビデオデコーダ30などのデコーダ、または図1Aのビデオエンコーダ20などのエンコーダであってもよい。一実施形態では、ビデオコード化デバイス400は、上述したように、図1Aのビデオデコーダ30または図1Aのビデオエンコーダ20の1つまたは複数の構成要素であってもよい。
ビデオコード化デバイス400は、データを受信するための入力ポート410および受信機ユニット(Rx)420と、データを処理するためのプロセッサ、論理ユニット、または中央処理ユニット(CPU)430と、データを送信するための送信機ユニット(Tx)440および出力ポート450と、データを記憶するためのメモリ460とを備える。ビデオコード化デバイス400はまた、光信号または電気信号の出力または入力のために入力ポート410、受信機ユニット420、送信機ユニット440、および出力ポート450に結合された光-電気(OE)コンポーネントおよび電気-光(EO)コンポーネントを備え得る。
プロセッサ430は、ハードウェアおよびソフトウェアによって実施される。プロセッサ430は、1つまたは複数のCPUチップ、コア(例えば、マルチコアプロセッサとして)、FPGA、ASIC、およびDSPとして実装されてもよい。プロセッサ430は、入力ポート410、受信機ユニット420、送信機ユニット440、出力ポート450およびメモリ460と通信する。プロセッサ430はコード化モジュール470を含む。コード化モジュール470は、上述の開示された実施形態を実施する。例えば、コード化モジュール470は、様々なコード化動作を実装、処理、準備、または提供する。したがって、コード化モジュール470を含めることにより、ビデオコード化デバイス400の機能に実質的な改善がもたらされ、ビデオコード化デバイス400の異なる状態への変換がもたらされる。あるいは、コード化モジュール470はメモリ460に記憶され、かつプロセッサ430によって実行される命令として実装される。
メモリ460は、1つまたは複数のディスク、テープドライブおよびソリッドステートドライブを含み、プログラムが実行のために選択された場合にそのようなプログラムを記憶し、かつプログラムの実行中に読み取られた命令およびデータを記憶するために、オーバーフローデータストレージデバイスとして使用されてもよい。メモリ460は、揮発性および/または不揮発性であってもよく、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、三値連想メモリ(TCAM)、および/またはスタティックランダムアクセスメモリ(SRAM)であってもよい。
図5は、例示的な実施形態による、図1の送信元デバイス12および宛先デバイス14のいずれかまたは両方として使用され得る装置500の簡略ブロック図である。装置500は、上述した本出願の技術を実施することができる。装置500は、複数のコンピューティングデバイスを含むコンピューティングシステムの形態、または単一のコンピューティングデバイス、例えば、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、デスクトップコンピュータなどの形態とすることができる。
装置500内のプロセッサ502は、中央処理ユニットであってもよい。あるいは、プロセッサ502は、現在存在する、または今後開発される情報を操作または処理することができる任意の他のタイプのデバイス、または複数のデバイスとすることができる。開示された実施は、例えばプロセッサ502などの単一のプロセッサを用いて実施され得るが、複数のプロセッサを使用することによって速度および効率における利点を達成することができる。
一実装形態では、装置500内のメモリ504は、読み出し専用メモリ(ROM)デバイスまたはランダムアクセスメモリ(RAM)デバイスとすることができる。任意の他の適切なタイプのストレージデバイスをメモリ504として使用できる。メモリ504は、バス512を使用してプロセッサ502によってアクセスされるコードおよびデータ506を含むことができる。メモリ504は、オペレーティングシステム508およびアプリケーションプログラム510をさらに含むことができ、アプリケーションプログラム510は、プロセッサ502が本明細書に記載の方法を実行することを可能にする少なくとも1つのプログラムを含む。例えば、アプリケーションプログラム510は、アプリケーション1からNを含むことができ、アプリケーション1からNは、本明細書で説明される方法を実行するビデオコード化アプリケーションをさらに含む。装置500はまた、例えば、モバイルコンピューティングデバイスと共に使用されるメモリカードとすることができる二次ストレージ514の形態の追加メモリを含むことができる。ビデオ通信セッションは、かなりの量の情報を含み得るので、それらは、二次ストレージ514に全体的または部分的に格納され、処理のために必要に応じてメモリ504にロードされ得る。
装置500はまた、ディスプレイ518などの1つまたは複数の出力デバイスを含むことができる。ディスプレイ518は、一例では、ディスプレイとタッチ入力を検知するように動作可能なタッチセンサ式要素とを組み合わせたタッチセンサ式ディスプレイであってもよい。ディスプレイ518は、バス512を介してプロセッサ502に結合することができる。ユーザが装置500をプログラムまたは使用することを可能にする他の出力デバイスを、ディスプレイに加えて、またはディスプレイ518の代替として提供することができる。出力デバイスがディスプレイであるか、またはディスプレイを含む場合、ディスプレイは、液晶ディスプレイ(LCD)、陰極線管(CRT)ディスプレイ、プラズマディスプレイ、または有機LED(OLED)ディスプレイなどの発光ダイオード(LED)ディスプレイを含む様々な方法で実装することができる。
装置500はまた、画像検知デバイス520、例えばカメラ、または装置500を操作するユーザの画像などの画像を検知することができる現在存在するか、または今後開発される任意の他の画像検知デバイス520を含むか、またはそれと通信することができる。画像検知デバイス520は、装置500を操作するユーザに向けられるように配置することができる。一例では、画像検知デバイス520の位置および光軸は、視野がディスプレイ518に直接隣接し、そこからディスプレイ518が見える領域を含むように構成することができる。
装置500はまた、例えばマイクロフォンなどの音検知デバイス522、または装置500の近くの音を検知することができる現在存在するもしくは今後開発される任意の他の音検知デバイスを含むか、またはそれと通信することができる。音検知デバイス522は、それが装置500を操作するユーザに向けられるように配置することができ、ユーザが装置500を操作している間にユーザによって発せられた音、例えば音声または他の発話を受信するように構成することができる。
図5は、装置500のプロセッサ502およびメモリ504を単一のユニットに組み込まれるように描くが、他の形態が利用され得る。プロセッサ502の動作は、直接またはローカルエリアもしくは他のネットワークにわたって結合することができる複数のマシン(各マシンは、プロセッサのうちの1つまたは複数を有する)にわたって分散させることができる。メモリ504は、ネットワークベースのメモリまたは装置500の動作を実行する複数のマシン内のメモリなどの複数のマシンにわたって分散させることができる。ここでは単一のバスとして示されているが、装置500のバス512は複数のバスから構成することができる。さらに、二次ストレージ514は、装置500の他の構成要素に直接結合することができ、またはネットワークを介してアクセスすることができ、メモリカードなどの単一の統合ユニットまたは複数のメモリカードなどの複数のユニットを備えることができる。したがって、装置500は、多種多様な形態で実装され得る。
次世代ビデオコード化(NGVC)は、CU、PU、およびTUの概念の分離を取り除き、CU区分形状のためのより多くの柔軟性をサポートする。CUのサイズは、コード化ノードのサイズに対応し、形状が正方形または非正方形(例えば、長方形)であってもよい。
J.Anらによる、「Block partitioning structure for next generation video coding」、International Telecommunication Union、COM 16-C966、2015年9月(以下、「VCEG提案COM 16-C966」という)では、HEVCを超える将来のビデオコード化規格のために四分木(QTBT)区分化技術が提案された。シミュレーションは、提案されたQTBT構造が使用されるHEVCにおける四分木構造よりも効率的であることを示している。HEVCでは、動き補償のメモリアクセスを減らすために小ブロックのインター予測が制限され、4×4ブロックのインター予測はサポートされていない。JEMのQTBTでは、これらの制限が取り除かれる。
QTBTでは、CUは正方形または長方形のいずれかの形状を有することができる。図6に示すように、コード化ツリーユニット(CTU)は、最初に四分木構造によって区分化される。四分木リーフノードは、四分木または二分木構造によってさらに区分化され得る。二分木分割には、対称水平分割と対称垂直分割の2つの分割タイプがある。いずれの場合も、ノードは、ノードを水平または垂直のいずれかで中央に分割することによって分割される。二分木リーフノードはコード化ユニット(CU)と呼ばれ、そのセグメント化はさらなる区分化なしで予測および変換処理に使用される。このことは、CU、PU、および、TUがQTBTコード化ブロック構造において同じブロックサイズを有することを意味する。CUは、異なる色成分のコード化ブロック(CB)からなるときがあり、例えば、4:2:0のクロマフォーマットのPスライスおよびBスライスの場合、1つのCUは、1つのルマCBおよび2つのクロマCBを含み、そして単一成分のCBからなるときがあり、例えば、1つのCUは、Iスライスの場合、1つのルマCBのみまたは2つのクロマCBのみを含む。
QTBT区分化方式について、以下のパラメータが定義される。
-CTUサイズ:四分木のルートノードサイズ、HEVCと同じ概念
-MinQTSize:最小許容四分木リーフノードサイズ
-MaxBTSize:最大許容二分木ルートノードサイズ
-MaxBTDepth:最大許容二分木深さ
-MinBTSize:最小許容二分木リーフノードサイズ
QTBT区分化構造の一例では、四分木ノードがMinQTSize以下のサイズを有する場合、さらなる四分木は考慮されない。サイズがMaxBTSizeを超えるため、それは二分木によってさらに分割されない。そうでなければ、リーフ四分木ノードは、二分木によってさらに区分化され得る。したがって、四分木リーフノードは二分木のルートノードでもあり、二分木深さは0である。二分木深さがMaxBTDepth(すなわち、4)に達すると、それ以上の分割は考慮されない。二分木ノードがMinBTSize(すなわち、4)に等しい幅を有する場合、それ以上の水平分割は考慮されない。同様に、二分木ノードがMinBTSizeに等しい高さを有するとき、さらなる垂直分割は考慮されない。二分木のリーフノードは、さらなる区分化なしに予測および変換処理によってさらに処理される。JEMでは、最大CTUサイズは256×256ルマサンプルである。二分木(CU)のリーフノードは、(例えば、予測プロセスおよび変換プロセスを実行することによって)さらなる区分化なしにさらに処理され得る。
図6は、QTBT区分化技術を使用して区分化されたブロック60(例えば、CTB)の一例を示す。図6に示すように、QTBT区分技術を使用して、各ブロックは、各ブロックの中心を通って対称的に分割される。図7は、図6のブロック区分化に対応するツリー構造を示す。図7の実線は四分木分割を示し、点線は二分木分割を示す。一例では、二分木の各分割(すなわち、非リーフ)ノードにおいて、実行される分割のタイプ(例えば、水平または垂直)を示すためにシンタックス要素(例えば、フラグ)がシグナリングされ、0は水平分割を示し、1は垂直分割を示す。四分木分割の場合、四分木分割は常にブロックを水平および垂直に等しいサイズの4つのサブブロックに分割するので、分割タイプを示す必要はない。
図7に示すように、ノード50において、ブロック60は、QT区分化を使用して、図6に示す4つのブロック31、32、33、および34に分割される。ブロック34はさらに分割されておらず、したがってリーフノードである。ノード52において、ブロック31は、BT区分化を使用して2つのブロックにさらに分割される。図7に示すように、ノード52は1でマークされており、垂直分割を示している。したがって、ノード52における分割は、ブロック37と、ブロック35および36の両方を含むブロックとをもたらす。ブロック35および36は、ノード54におけるさらなる垂直分割によって作成される。ノード56において、ブロック32は、BT区分化を使用して2つのブロック38および39にさらに分割される。
ノード58において、ブロック33は、QT区分化を使用して4つの等しいサイズのブロックに分割される。ブロック43および44は、このQT区分化から作成され、それ以上分割されない。ノード60において、左上ブロックは、垂直二分木分割を使用して最初に分割され、ブロック40および右垂直ブロックが得られる。次に、右の垂直ブロックは、水平二分木分割を使用してブロック41および42に分割される。ノード58において四分木分割から作成された右下のブロックは、ブロック45および46への水平二分木分割を使用してノード62において分割される。図7に示すように、ノード62は、水平分割を示す0でマークされている。
QTBTに加えて、QTBTベースのCU構造内のBTを置換するためにマルチタイプツリー(MTT)と呼ばれるブロック区分化構造が提案されており、これは、CTUが最初にQT区分化によって分割されてCTUのブロックを取得し、次いでブロックが次にMTT区分化によって分割され得ることを意味する。
MTT区分化構造は、依然として再帰的ツリー構造である。MTTでは、複数の異なる区分構造(例えば、2つ以上)が使用される。例えば、MTT技術によれば、ツリー構造の各深さにおいて、ツリー構造のそれぞれの非リーフノードに対して2つ以上の異なる区分構造を使用することができる。ツリー構造におけるノードの深さは、ノードからツリー構造のルートまでのパスの長さ(例えば、分割数)を指すことができる。
MTTでは、BT区分化と三分木(TT)区分化の2つの区分タイプがある。区分タイプは、BT区分化およびTT区分化から選択することができる。TT区分構造は、TT区分構造が中央のブロックを分割しないという点で、QTまたはBT構造とは異なる。ブロックの中央領域は、同じサブブロック内に一緒に残る。4つのブロックを生成するQT、または2つのブロックを生成する二分木とは異なり、TT区分構造に従って分割すると3つのブロックが生成される。TT区分構造による区分のタイプの例には、対称区分のタイプ(水平および垂直の両方)、ならびに非対称区分のタイプ(水平および垂直の両方)が含まれる。さらに、TT区分構造による対称区分タイプは、非一様/不均一または一様/均一であってもよい。TT区分構造による非対称区分タイプは、不規則/不均一である。一例では、TT区分構造は、以下の区分タイプ、すなわち、水平一様/均一対称三分木、垂直一様/均一対称三分木、水平非一様/不均一対称三分木、垂直非一様/不均一対称三分木、水平非一様/不均一非対称三分木、または垂直非一様/不均一非対称三分木区分タイプのうちの少なくとも1つを含み得る。
一般に、非一様/不均一対称三分木区分タイプは、ブロックの中心線に対して対称であるが、結果として得られる3つのブロックのうちの少なくとも1つが他の2つと同じサイズではない区分タイプである。1つの好ましい例は、サイドブロックがブロックのサイズの1/4であり、中央ブロックがブロックのサイズの1/2である場合である。一様/均一対称三分木区分タイプは、ブロックの中心線に対して対称な区分タイプであり、結果として得られるブロックはすべて同じサイズである。このような区分は、垂直分割または水平分割に応じて、ブロックの高さまたは幅が3の倍数である場合に可能である。非一様/不均一非対称三分木区分タイプは、ブロックの中心線に対して非対称であり、結果として得られるブロックのうちの少なくとも1つが他の2つと同じサイズではない区分タイプである。
図8は、オプションの例示的な水平三分木区分タイプを示す概念図である。図9は、任意選択の例示的な垂直三分木区分タイプを示す概念図である。図8および図9の両方において、hは、ルマサンプルまたはクロマサンプルにおけるブロックの高さを表し、wは、ルマサンプルまたはクロマサンプルにおけるブロックの幅を表す。なお、ブロックの各中心線は、ブロックの境界を表すものではない(すなわち、三分木区分は、中心線を介してブロックを分割しない)。むしろ、中心線¥は、特定の区分タイプが元のブロックの中心線に対して対称または非対称であるか否かを示すために使用される。中心線もまた、分割の方向に沿っている。
図8に示すように、ブロック71は、水平一様/均一対称区分タイプで区分化される。水平一様/均一対称区分タイプは、ブロック71の中心線に対して対称な上半分および下半分を生成する。水平一様/均一対称区分タイプは、各々がh/3の高さおよびwの幅を有する等しいサイズの3つのサブブロックを生成する。水平均一対称区分タイプは、ブロック71の高さが3で均等に割り切れる場合に可能である。
ブロック73は、水平不均一対称区分タイプで区分化される。水平非一様/不均一対称区分タイプは、ブロック73の中心線に対して対称な上半分および下半分を生成する。水平非一様/不均一対称区分タイプは、等しいサイズの2つのブロック(例えば、h/4の高さを有する上部および下部ブロック)と、異なるサイズの中央ブロック(例えば、h/2の高さを有する中央ブロック)とを生成する。一例では、水平非一様/不均一対称区分タイプによれば、中央ブロックの面積は、上部ブロックと下部ブロックの合成面積に等しい。いくつかの例では、水平非一様/不均一対称区分タイプは、2の累乗(例えば、2、4、8、16、32など)である高さを有するブロックに好ましい場合がある。
ブロック75は、水平非一様/不均一非対称区分タイプで区分化される。水平非一様/不均一非対称区分タイプは、ブロック75の中心線に対して対称な上半分および下半分を生成しない(すなわち、上半分および下半分は非対称である)。図8の例では、水平非一様/不均一非対称区分タイプは、高さがh/4の上部ブロック、高さが3h/8の中央ブロック、および高さが3h/8の下部ブロックを生成する。もちろん、他の非対称配置を使用してもよい。
図9に示すように、ブロック81は、垂直一様/均一対称区分タイプで区分化される。垂直一様/均一対称区分タイプは、ブロック81の中心線に対して対称な左半分と右半分を生成する。垂直一様/均一対称区分タイプは、各々がw/3の幅およびhの高さを有する等しいサイズの3つのサブブロックを生成する。ブロック81の幅が3で均等に割り切れる場合、垂直一様/均一対称区分タイプが可能である。
ブロック83は、垂直非一様/不均一対称区分タイプで区分化される。垂直非一様/不均一対称区分タイプは、ブロック83の中心線に対して対称な左半分と右半分を生成する。垂直非一様/不均一対称区分タイプは、83の中心線に対して対称な左半分と右半分を生成する。垂直非一様/不均一対称区分タイプは、等しいサイズの2つのブロック(例えば、幅w/4の左ブロックと右ブロック)と、異なるサイズの中央ブロック(例えば、幅w/2の中央ブロック)とを生成する。一例では、垂直/不均一対称区分タイプによれば、中央ブロックの面積は、左ブロックと右ブロックの合成面積に等しい。いくつかの例では、垂直非一様/不均一対称区分タイプは、2の累乗(例えば、2、4、8、16、32など)である幅を有するブロックに好ましい場合がある。
ブロック85は、垂直非一様/不均一非対称区分タイプで区分化される。垂直非一様/不均一非対称区分タイプは、ブロック85の中心線に対して対称な左半分と右半分を生成しない(すなわち、左半分と右半分は非対称である)。図9の例では、垂直非一様/不均一非対称区分タイプは、幅がw/4の左ブロック、幅が3w/8の中央ブロック、および幅が3w/8の右ブロックを生成する。もちろん、他の非対称配置を使用してもよい。
QTBTのパラメータに加えて、以下のパラメータがMTT区分化方式のために定義される。
-MaxMttDepth:最大マルチタイプツリー深さ
-MaxMttDepthオフセット:最大マルチタイプツリー深さオフセット
-MaxTtSize:最大許容三分木ルートノードサイズ
-MinTtSize:最小許容三分木ツリールートノードサイズ
-MinCbSize:最小許容コード化ブロックサイズ
本開示の実施形態は、本出願の一実施形態による、図2のビデオエンコーダ20または図3のビデオデコーダ30などのビデオエンコーダまたはビデオデコーダによって実施することができる。区分ユニットを含む、ビデオエンコーダ20またはビデオデコーダ30のうちの1つまたは複数の構造要素は、本開示の実施形態の技術を実行するように構成され得る。
本開示の実施形態を以下に説明する。
JVET-K1001-v4では、SPSにおいて、log2_ctu_size_minus2、log2_min_qt_size_intra_slices_minus2、およびlog2_min_qt_size_inter_slices_minus2がシグナリングされ、
log2_ctu_size_minus2プラス2は、各CTUのルマコード化ツリーブロックサイズを指定する。
CtbLog2SizeY=log2_ctu_size_minus2+2 (7-5)
CtbSizeY=1<<CtbLog2SizeY (7-6)
MinCbLog2SizeY=2 (7-7)
MinCbSizeY=1<<MinCbLog2SizeY (7-8)
MinTbSizeY=4 (7-9)
MaxTbSizeY=64 (7-10)
log2_min_qt_size_intra_slices_minus2プラス2は、slice_typeが2(I)であるスライス内のCTUの四分木分割から生じるリーフブロックの最小ルマサイズを指定する。パラメータslice_typeは、Iスライス(値2)、Pスライス(1)、またはBスライス(0)としてのスライスを定義する。log2_min_qt_size_intra_slices_minus2の値は、0からCtbLog2SizeY-2の範囲とする。
MinQtLog2SizeIntraY=log2_min_qt_size_intra_slices_minus2+2(7-22)
log2_min_qt_size_inter_slices_minus2プラス2は、slice_typeが0(B)または1(P)であるスライス内のCTUの四分木分割から生じるリーフブロックの最小ルマサイズを指定する。log2_min_qt_size_inter_slices_minus2の値は、0からCtbLog2SizeY-2の範囲とする。
MinQtLog2SizeInterY=log2_min_qt_size_inter_slices_minus2+2(7-23)
MinQtSizeYは(7-30)で定義され、これはルマサンプルにおける最小許容四分木分割サイズを意味する。コード化ブロックサイズがMinQtSizeY以下である場合、四分木分割は許容されない。
MinQtLog2SizeY=(slice_type==I)?MinQtLog2SizeIntraY:MinQtLog2SizeInterY (7-25)
MaxBtLog2SizeY=CtbLog2SizeY-log2_diff_ctu_max_bt_size (7-26)
MinBtLog2SizeY=MinCbLog2SizeY (7-27)
MaxTtLog2SizeY=(slice_type==I)?5:6 (7-28)
MinTtLog2SizeY=MinCbLog2SizeY (7-29)
MinQtSizeY=1<<MinQtLog2SizeY (7-30)
MaxBtSizeY=1<<MaxBtLog2SizeY (7-31)
MinBtSizeY=1<<MinBtLog2SizeY (7-32)
MaxTtSizeY=1<<MaxTtLog2SizeY (7-33)
MinTtSizeY=1<<MinTtLog2SizeY (7-34)
MaxMttDepth=(slice_type==I)?max_mtt_hierarchy_depth_intra_slices:
max_mtt_hierarchy_depth_inter_slices (7-35)
log2_min_qt_size_intra_slices_minus2およびlog2_min_qt_size_inter_slices_minus2のセマンティックに基づいて、log2_min_qt_size_intra_slices_minus2およびlog2_min_qt_size_inter_slices_minus2の範囲は、0からCtblog2SizeY-2までである。
ここで、Ctblog2SizeYはlog2_ctu_size_minus2のセマンティックで定義され、これは各CTUのルマコード化ツリーブロックサイズのlog2値を意味し、VTM 2.0のCtblog2SizeYは7に等しい。
(7-22)および(7-23)に基づいて、MinQtlog2SizeIntraYおよびMinQtlog2SizeInterYの範囲は、2からCtblog2SizeYである。
(7-25)に基づき、MinQtlog2SizeYの範囲は2からCtblog2SizeYである。
(7-30)に基づいて、JVET-K1001-v4におけるMinQtSizeYの範囲は、(1<<2)から(1<<Ctblog2SizeY)であり、VTM 2.0において、範囲は、(1<<2)から(1<<7)であり、4から128に等しい。
JVET-K1001-v4において、log2_diff_ctu_max_bt_sizeは、Sliceヘッダで条件付きシグナリングされ、
log2_diff_ctu_max_bt_sizeは、二分分割を用いて分割可能なコード化ブロックのルマCTBサイズと最大ルマサイズ(幅または高さ)との差を指定する。log2_diff_ctu_max_bt_sizeの値は、0からCtblog2SizeY-MinCblog2SizeYの範囲とする。
log2_diff_ctu_max_bt_sizeが存在しない場合、log2_diff_ctu_max_bt_sizeの値は2に等しいと推測される。
MinCblog2SizeYは(7-7)で定義され、最小許容コード化ブロックサイズを意味する。
log2_diff_ctu_max_bt_sizeのセマンティックに基づいて、log2_diff_ctu_max_bt_sizeの範囲は、0からCtblog2SizeY-MinCblog2SizeYまでである。
(7-26)に基づき、MaxBtlog2SizeYの範囲は、Ctblog2SizeYからMinCblog2SizeYまでである。
(7-31)に基づき、MaxBtSizeYの範囲は、(1<<Ctblog2SizeY)から(1<<MinCblog2SizeY)である。
(7-7)に基づいて、JVET-K1001-v4におけるMaxBtSizeYの範囲は、(1<<Ctblog2SizeY)から(1<<2)までであり、VTM 2.0ではCtblog2SizeYが7に等しいため、VTM 2.0におけるMaxBtSizeYの範囲は128から4に等しい。
したがって、MinQtSizeYは4から(1<<Ctblog2SizeY)までの範囲を有し、VTM 2.0では4から128までの範囲を有し、MaxBtSizeYは(1<<Ctblog2SizeY)から4までの範囲を有し、VTM 2.0では128から4までの範囲を有する。
したがって、MinQtSizeYがMaxBtSizeYよりも大きい可能性がある。
VVC 2.0における現在の境界取り扱いに基づいて、QTおよびBT区分のみが、境界位置ブロックのために許容される(TTは許容されず、境界位置ブロックに分割が適用されないことは許容されない)。
現在のコード化ブロックが境界上に位置し、現在のコード化ブロックサイズcbSizeYが以下の条件を満たす場合、
MinQtSizeY>cbSizeY>MaxBtSizeY、
現在のコード化ブロックに対してQT分割もBT分割も不可能である。したがって、現在のブロックには利用可能な区分モードがない。
この境界の場合の問題を考慮して、上述の問題を解決するために、MaxBtSizeYの下限をMinQtSizeYに制限して、MaxBtSizeYがMinQtSizeYよりも小さくないことを確実にする必要がある。
MaxBtSizeYの下限は、MinQtSizeYに等しくなければならず、したがって、MaxBtSizeYの範囲は、(1<<Ctblog2SizeY)から(1<<MinQtlog2SizeY)まででなければならず、したがって、MaxBtlog2SizeYの範囲は、Ctblog2SizeYからMinQtlog2SizeYまででなければならず、したがって、log2_diff_ctu_max_bt_sizeの範囲は、0からCtbLog2SizeY-MinQtLog2SizeYまででなければならない。
ドラフトテキストの対応する変更は、以下のようにlog2_diff_ctu_max_bt_sizeのセマンティックにおけるものである:
log2_diff_ctu_max_bt_sizeは、二分分割により分割可能なコード化ブロックのルマCTBサイズと最大ルマサイズ(幅または高さ)との差分を指定する。log2_diff_ctu_max_bt_sizeの値は、0からCtbLog2SizeY-MinQtLog2SizeYの範囲とする。
コード化デバイス(デコーダまたはエンコーダ)によって実施される対応するコード化方法は、以下の通りであってもよい:
ピクチャの現在のブロックが境界ブロックであるかどうかを判定し、現在のブロックのサイズが最小許容四分木リーフノードサイズよりも大きいかどうかを判定し、現在のブロックが境界ブロックであり、現在のブロックのサイズが最小許容四分木リーフノードサイズ以下である場合、現在のブロックに二分分割を適用し、最小許容四分木リーフノードサイズは、最大許容二分木ルートノードサイズ以下である。
コード化デバイス(デコーダまたはエンコーダ)によって実施されるコード化の別の対応する方法は、以下の通りであってもよい:境界ブロックのサイズが最小許容四分木リーフノードサイズよりも大きいかどうかを判定し、境界ブロックのサイズが最小許容四分木リーフノードサイズ以下である場合、最小許容四分木リーフノードサイズは最大許容二分木ルートノードサイズ以下であり、境界ブロックに二分分割を適用する。
任意選択で、境界ブロックはコーナブロックを含まないか、またはコーナブロックであってもよく、コーナブロックはピクチャの2つの境界上に位置する。
本開示の他の実施形態を以下に説明する。
JVET-K1001-v4では、SPSにおいて、max_mtt_hierarchy_depth_inter_slicesとmax_mtt_hierarchy_depth_intra_slicesがシグナリングされ、
max_mtt_hierarchy_depth_inter_slicesは、slice_typeが0(B)または1(P)に等しいスライスにおける四分木リーフのマルチタイプツリー分割から生じるコード化ユニットの最大階層深さを指定する。max_mtt_hierarchy_depth_inter_slicesの値は、0からCtbLog2SizeY-MinTbLog2SizeYの範囲とする。
max_mtt_hierarchy_depth_intra_slicesは、slice_typeが2(I)に等しいスライス内の四分木リーフのマルチタイプツリー分割から生じるコード化ユニットの最大階層深さを指定する。max_mtt_hierarchy_depth_intra_slicesの値は、0からCtbLog2SizeY-MinTbLog2SizeYの範囲とする。
MinTbSizeYは(7-9)で定義され、4に固定され、したがってMinTbLog2SizeY=log2 MinTbSizeYは2に固定される。
MaxMttDepthは、マルチタイプツリー区分の最大許容深さを意味するように定義される。現在のマルチタイプツリー区分の深さがMaxMttDepth以上である場合、マルチタイプツリー区分は許容されない。
max_mtt_hierarchy_depth_inter_slicesおよびmax_mtt_hierarchy_depth_intra_slicesのセマンティックに基づいて、max_mtt_hierarchy_depth_inter_slicesおよびmax_mtt_hierarchy_depth_intra_slicesの範囲は、0からCtbLog2SizeY-MinTbLog2SizeYまでである。
(7-35)に基づいて、MaxMttDepthの範囲は0からCtbLog2SizeY-MinTbLog2SizeYである。VTM 2.0では、Ctblog2SizeYは7に等しいので、MaxMttDepthの範囲は0から5である。
したがって、MaxMttDepthは、0から5のVTM 2.0における、0からCtbLog2SizeY-MinTbLog2SizeYの範囲を有する。
VVC 2.0における現在の境界取り扱いに基づいて、QTおよびBT区分のみが、境界位置ブロック(TTが許容されない、分割なしが許容されない)のために許容される。
第1の問題は解決されるが(MaxBtSizeY>=MinQtSizeY)、以下の条件が満たされる場合、
cbSizeY<=MinQtSizeYおよび
MaxMttDepth=0、
境界取り扱いに十分なレベルのBT区分がない。
例えば、MinQtSizeYは16に等しく、MinTbSizeYは4に等しく、MaxMttDepthは0である。
境界ブロックがcbSizeY=16であり、親区分がQTであり、このブロックがまだ境界上に位置している場合、現在のブロックのMttdepthがMaxMttDepthに達しているため、それ以上の区分を実行することはできない。
境界ケースのこの問題を考慮して、上述の問題を解決するために、MaxMttDepthの下限は1以上に制限されるべきであり、QT区分化後に、境界ケースに対して十分なレベルのマルチタイプツリー区分があることを確認する。あるいは、MaxMttDepthの下限は(MinQtLog2SizeY-MinTbLog2SizeY)以上に制限されて、QT区分後に境界と非境界の両方の場合に十分なレベルのマルチタイプツリー区分があることを確認する必要がある。
ドラフトテキストにおける対応する変更は、以下のようにmax_mtt_hierarchy_depth_inter_slicesおよびmax_mtt_hierarchy_depth_intra_slicesのセマンティックにおけるものであり、
max_mtt_hierarchy_depth_inter_slicesは、slice_typeが0(B)または1(P)であるスライスにおける四分木リーフのマルチタイプツリー分割から生じるコード化ユニットの最大階層深さを指定する。max_mtt_hierarchy_depth_inter_slicesの値は、1からCtbLog2SizeY-MinTbLog2SizeYの範囲とする。
max_mtt_hierarchy_depth_intra_slicesは、slice_typeが2(I)に等しいスライス内の四分木リーフのマルチタイプツリー分割から生じるコード化ユニットの最大階層深さを指定する。max_mtt_hierarchy_depth_intra_slicesの値は、1からCtbLog2SizeY-MinTbLog2SizeYの範囲とする。
代替的に、max_mtt_hierarchy_depth_inter_slicesは、slice_typeが0(B)または1(P)に等しいスライス内の四分木リーフのマルチタイプツリー分割から生じるコード化ユニットの最大階層深さを指定する。max_mtt_hierarchy_depth_inter_slicesの値は、MinQtLog2SizeY-MinTbLog2SizeYからCtbLog2SizeY-MinTbLog2SizeYの範囲とする。
max_mtt_hierarchy_depth_intra_slicesは、slice_typeが2(I)に等しいスライス内の四分木リーフのマルチタイプツリー分割から生じるコード化ユニットの最大階層深さを指定する。max_mtt_hierarchy_depth_intra_slicesの値は、MinQtLog2SizeY-MinTbLog2SizeYからCtbLog2SizeY-MinTbLog2SizeYの範囲とする。
コード化デバイス(デコーダまたはエンコーダ)によって実施される対応するコード化方法は、以下の通りであってもよい:
画像をブロックに分割するステップであって、ブロックは境界ブロックを含む、ステップ、最大境界マルチタイプ区分深さを有する境界ブロックに二分分割を適用するステップであって、最大境界マルチタイプ区分化深さが、少なくとも最大マルチタイプツリー深さと最大マルチタイプツリー深さオフセットとの合計であり、最大マルチタイプツリー深さが0より大きい、ステップ。
任意選択で、最大マルチタイプツリー深さは、境界ブロックに二分分割を適用するときに0より大きい。
任意選択で、境界ブロックは、コーナブロックを含まなくてもよい、またはコーナブロックでなくてもよい。
さらなる実施形態を以下に説明する。
JVET-K1001-v7では、SPSにおいて、max_mtt_hierarchy_depth_inter_slicesとmax_mtt_hierarchy_depth_intra_slicesがシグナリングされ、
max_mtt_hierarchy_depth_inter_slicesは、slice_typeが0(B)または1(P)に等しいスライスにおける四分木リーフのマルチタイプツリー分割から生じるコード化ユニットの最大階層深さを指定する。max_mtt_hierarchy_depth_inter_slicesの値は、0からCtbLog2SizeY-MinTbLog2SizeYの範囲とする。
max_mtt_hierarchy_depth_intra_slicesは、slice_typeが2(I)に等しいスライス内の四分木リーフのマルチタイプツリー分割から生じるコード化ユニットの最大階層深さを指定する。max_mtt_hierarchy_depth_intra_slicesの値は、0からCtbLog2SizeY-MinTbLog2SizeYの範囲とする。
MinTbSizeYは(7-9)で定義され、4に固定され、したがってMinTbLog2SizeY=log2 MinTbSizeYは2に固定される。
MaxMttDepthは、マルチタイプツリー区分の最大許容深さを示す変数である。現在のマルチタイプツリー区分の深さがMaxMttDepth以上である場合、マルチタイプツリー区分は許容されない。
max_mtt_hierarchy_depth_inter_slicesおよびmax_mtt_hierarchy_depth_intra_slicesのセマンティックに基づいて、max_mtt_hierarchy_depth_inter_slicesおよびmax_mtt_hierarchy_depth_intra_slicesの範囲は、0からCtbLog2SizeY-MinTbLog2SizeYまでである。
(7-35)に基づいて、MaxMttDepthの範囲は0からCtbLog2SizeY-MinTbLog2SizeYである。VTM 2.0では、Ctblog2SizeYは7に等しいので、MaxMttDepthの範囲は0から5である。
したがって、MaxMttDepthは、0から5のVTM 2.0における、0からCtbLog2SizeY-MinTbLog2SizeYの範囲を有する。
VVC 2.0における現在の境界取り扱いに基づいて、QT区分およびBT区分のみが、境界位置ブロックのために許容される。TTは許容されず、分割を適用しないことも許容されない。
第1の問題が解決されるが(MaxBtSizeY>=MinQtSizeY)、以下の条件が満たされる場合、
cbSizeY<=MinQtSizeY
MaxMttDepth=0、
境界取り扱いのためのBT区分化の最大許容深さが不十分になる。
例えば、MinQtSizeYは16に等しく、MinTbSizeYは4に等しく、MaxMttDepthは0である。
前述の実施形態で説明したようにMaxMttDepthの定義範囲を制限することに加えて、四分木リーフのマルチタイプツリー分割から生じるマルチタイプツリー区分の不十分な深さによって引き起こされる現在の境界取り扱いに関連する問題を解決するためのさらなる解決策がある。
JVET-K1001-v7 Section 6.4.1では、許容される二分分割プロセスが定義されている。
四分木リーフのマルチタイプツリー分割から生じるマルチタイプツリー区分からのマルチタイプツリー深さ(mttdepth)がMaxMttDepth+depthOffset以上の場合、二分木分割は許容されない。
ここで、depthOffsetはMaxMttdepthのオフセットであり、これは0として初期化され、境界位置ブロック(ピクチャ境界の部分的内側、ピクチャ境界の部分的外側に位置するブロック)二分木区分が実行される場合(すなわち、境界に位置するブロックは、二分区分化を使用して分割される)にのみ、値は1だけ増加する。
記載された条件(MaxMttDepth=0およびcbSizeY<=MinQtSizeY)の下で、現在のブロックの親分割が四分木分割であり、現在のブロックが部分的にピクチャ境界の内側に、部分的にピクチャ境界の外側に位置する場合、
・現在のブロックは、VVC 2.0における現在の境界取り扱いに基づいて二分木によって分割される必要がある
・境界に位置する親ブロックに対して二分木区分化が実行されないため、depthOffsetは0に等しい
・mttdepthがMaxMttDepth+depthOffset(すべての値が0)に等しく、これは箇条書き1と比較して曖昧であるため、二分木区分化を行うことができない。
記載された曖昧性の問題は、境界取り扱いについてのみMaxMttDepthの制限を無視することによって解決することができる。
現在のブロックがピクチャ境界上に位置するとき、二分木区分化の間、MaxMttDepthまたはMaxMttDepth+depthOffsetの条件は、許容された二分木分割プロセスによってチェックされない。対照的に、現在のブロックがピクチャ境界上に位置しない場合、許容された二分木分割プロセスの条件は、例えば、上述のJVET-K1001-v7 Section 6.4.1からの以下の抜粋で指定されるように、現在のVVC 2.0設計と同じである。
6.4.1 許容された二分木分割プロセス
このプロセスへの入力は、二分木分割モードbtSplit、コード化ブロック幅cbWidth、コード化ブロック高さcbHeight、ピクチャの左上ルマサンプルに対する考慮されるコード化ブロックの左上ルマサンプルの位置(x0,y0)、マルチタイプツリー深さmttDepth、MaxMttDepthオフセットdepthOffset、および区分インデックスpartIdxである。
このプロセスの出力は、変数allowBtSplitである。
Figure 0007337157000001
変数parallelTtSplitおよびcbSizeは、表6-2に指定されるように導出される。
変数allowBtSplitは以下のように導出され、
以下の条件のうちの1つまたは複数が真である場合、allowBtSplitはFALSEに等しく設定される:
cbSizeはMinBtSizeY以下
cbWidthはMaxBtSizeYより大きい
cbHeightはMaxBtSizeYより大きい
mttDepthはMaxMttDepth+depthOffset以上であり、x0+cbWidthはpic_width_in_luma_samples以下であり、y0+cbHeightはpic_height_in_luma_samples以下である。
そうではなく、以下の条件のすべてが真である場合、allowBtSplitはFALSEに等しく設定され、
btSplitはSPLIT_BT_VERに等しく、
y0+cbHeightは、pic_height_in_luma_samplesより大きい。
そうではなく、以下の条件のすべてが真である場合、allowBtSplitはFALSEに等しく設定され、
btSplitはSPLIT_BT_HORに等しく、
x0+cbWidthはpic_width_in_luma_samplesより大きい、
y0+cbHeightは、pic_height_in_luma_samples以下である。
そうではなく、以下の条件のすべてが真である場合、allowBtSplitはFALSEに等しく設定され、
mttDepthは0より大きい、
partIdxは1に等しい、
MttSplitMode[x0][y0][mttDepth-1]は、parallelTtSplitと等しい。
そうでない場合、allowBtSplitはTRUEに等しく設定される。
ここで、pic_height_in_luma_samplesは、ルマサンプル内のコード化ピクチャの高さであり、pic_width_in_luma_samplesは、ルマサンプル内のコード化ピクチャの幅であり、これらの2つのパラメータは、ビデオシーケンス全体で一貫して維持される。
変数allowBtSplitは、水平および垂直の二分木分割ケースの両方の許容を含む、現在のコード化ブロックの二分木分割の許容を表す。プロセス中にどの許容値(水平または垂直)がチェックされるかは、入力二分木分割モードbtSplitに基づく。
強調表示された条件(x0+cbWidthがpic_width_in_luma_samples以下であり、y0+cbHeightがpic_height_in_luma_samples以下である)は、現在のブロックの右下のコーナサンプルがピクチャフレームの内側に位置することを意味し、言い換えれば、このコード化ブロックがピクチャ境界上に位置しないので、現在のコード化ブロックが非境界ブロックであることを意味する。
したがって、JVET-K1001-v7の上記セクション6.4.1において、本開示において「二分分割を適用しないための条件」とも呼ばれる、「mttDepthがMaxMttDepth+depthOffset以上であり、x0+cbWidthがpic_width_in_luma_samples以下であり、y0+cbHeightがpic_height_in_luma_samples以下である」という条件は、以下のように定式化することもできる:
現在のブロックは、ピクチャの境界に位置していない非境界ブロックである、かつ
四分木リーフのマルチタイプツリー分割から生じるマルチタイプツリー深さmttDepthは、最大境界マルチタイプ区分深さMaxMttDepthと最大境界マルチタイプ区分深さdepthOffsetへのオフセットとの和以上である。
ここで、depthOffsetは、四分木リーフのマルチタイプ分割において、二分木分割が行われる場合、0に初期化され、1だけ増加する。本開示によれば、二分分割を適用しないためのこの条件が現在のブロックによって満たされると判定された場合、二分分割は適用されない。
したがって、ビデオまたは静止画コード化(すなわち、符号化または復号)方法(これはコード化デバイスによって、すなわちデコーダ30またはエンコーダ20によって実施することができる)は、
画像をブロックに分割するステップであって、ブロックは境界ブロックを含む、ステップと、最大境界マルチタイプ区分深さに限定することなく、二分分割を境界ブロックに適用するステップであって、最大境界マルチタイプ区分深さが、少なくとも最大マルチタイプツリー深さと最大マルチタイプツリー深さオフセットとの和であり、最大マルチタイプツリー深さが0以上である、ステップと、
画像をブロックに分割するステップであって、ブロックは非境界ブロックを含む、ステップと、最大境界マルチタイプ区分深さに制限して、二分分割を非境界ブロックに適用するステップであって、最大境界マルチタイプ区分深さが少なくとも最大マルチタイプツリー深さと最大マルチタイプツリー深さオフセットとの和であり、最大マルチタイプツリー深さが0以上である、ステップと
を含む。
符号化または復号に適しており、したがってピクチャの符号化または復号において適用され得る、ピクチャを符号化または復号する方法が図10に示されており、ピクチャの現在のブロックに適用される方法ステップが示されている。方法は、二分分割を適用しないための上記の条件が満たされるかどうかを試験するステップS1010およびS1020を含む。
すなわち、ステップS1010において、現在のブロックが、ピクチャの境界に位置する境界ブロックであるか、ピクチャの境界に位置しない非境界ブロックであるかがテストされる。例えば、x0+cbWidthがピクチャのピクチャ幅pic_width_in_luma_samples以下であり、y0+cbHeightがピクチャのピクチャ高さpic_height_in_luma_samples以下である場合、ブロックは非境界ブロックであると判定され、(x0,y0)は現在のブロックの左上ルマサンプルの位置であり、cbWidthは現在のブロックの幅であり、cbHeightは現在のブロックの高さであり、そうでなければ境界ブロックであると判定される。
さらに、ステップS1020において、四分木リーフのマルチタイプツリー分割から生じるマルチタイプツリー深さmttDepthが、最大境界マルチタイプ区分深さMaxMttDepthと、MaxMttDepthに対するオフセットdepthOffsetとの和以上であるかどうかがテストされる(すなわち、MaxMttDepth+depthOffset以上である)。その中で、depthOffsetは深さオフセットであり、これは、二分分割(または「二分木分割」)および三分(木)分割のうちの少なくとも1つを含み得る四分木リーフのマルチタイプ分割において、二分木分割が実行される場合、0として初期化され、1だけ増加する。
ステップS1010において、現在のブロックは境界ブロックではないと判定し(「図10のいいえ」)、ステップS1020において、現在のブロックのマルチタイプツリー深さが少なくともMaxMttDepthとdepthOffsetとの和であると判定したことに応答して、二分分割は現在のブロックに適用されない(ステップS1030)。
上記の方法の一例が図11に示されており、ステップS1010~ステップS1030は図10に示されている対応するステップと同じである。また、ステップS1010の結果、現在のブロックがピクチャの境界に位置する境界ブロックであると判定された場合(図11の「はい」)、S1140において、mttDepthがMaxMttDepthとdepthOffsetとの和以上であるか否かに関わらず、二分分割が適用される。
一般に、図10のステップS1010およびS1020の順序は交換可能である。しかしながら、ステップS1010が、ステップS1010がステップS1020の前に実行され、ステップS1010において現在のブロックが境界ブロックであると判定された場合(すなわち、二分分割を適用しないための条件の第1の部分が既に満たされていない)、二分分割を適用しない条件の第2の部分を、マルチタイプツリー深さがMaxMttDepthとdepthOffsetとの和以上であるかどうかをチェックするステップS1020を実行することなく、ステップS1140において二分分割が既に適用され得る。
ピクチャを符号化または復号する上記の方法に対応して、図12に示されている、現在のブロックを含むピクチャを符号化または復号するのに適した装置1200も提供される。装置1200は、二分分割を適用しないための上述の条件が満たされているか否かを判定するように構成または適合され、前記条件が満たされているとの判定に応答して二分分割を現在のブロックに適用しないように構成された、例えば処理回路などの回路1210、1220を備える。
例えば、図12から分かるように、装置1200またはその処理回路は、条件判定ユニット1210および分割ユニット1220を備える。特に、条件判定ユニット1210は、境界分割を適用しない条件が満たされているか否かを判定するように構成されている。
図13にさらに示すように、条件判定ユニット1210は、現在のブロックが境界ブロックであるか否かを判定するように構成された境界ブロック判定ユニット1311と、現在のブロックのマルチタイプツリー深さがMaxMttDepthとMaxMttDepthに対するオフセットdepthOffsetとの和以上であるか否かを判定するように構成されたマルチタイプツリー深さ判定ユニット1312とを備えてもよい。
分割ユニット1220は、条件判定ユニット1210の処理に応じて、現在のブロックの分割を行い、条件判定ユニット1210により二分分割を適用しない条件を満たすと判定された場合、二分分割を適用しない。一方、分割ユニット1220は、条件判定ユニット1210が現在のブロックを境界ブロックと判定したことに応じて、現在のブロックのマルチタイプツリー深さがMaxMttDepthと深さオフセットとの和以上であるか否かを判定する条件判定ユニット1210またはマルチタイプツリー深さ判定ユニット1312の判定によらず、また、待たずに、二分分割を行ってもよい。
ピクチャを符号化または復号するための装置1200は、例えば図2に示すように、ピクチャエンコーダまたはビデオエンコーダなどのエンコーダ20によって、または例えば図3に示すように、ピクチャデコーダまたはビデオデコーダなどのデコーダ30によって構成され得る。例えば、装置1200は、上述の「区分化」のセクションで述べた区分化ユニット、または図3に付随するデコーダ30の説明で述べた区分化ユニットに含まれてもよい。
本開示の任意の実施形態による方法を実行するためのプログラムコードを含むコンピュータプログラムまたはコンピュータプログラム製品がさらに提供される。プログラムがコンピュータ上で実行されると、プログラムコードは、コンピュータに方法のステップを実行させる。
二分分割を適用しないための条件を提供し適用することにより、本開示は、二分分割などのマルチタイプツリー分割の適用を柔軟に制御することを容易にする。例えば、前述の実施形態と比較して、この実施形態の利点は、非境界位置ブロック(すなわち、MaxMttDepthを0とすることで、)についてマルチタイプツリー分割を容易に完全にオフにできることである。
以下、本開示の別の実施形態について説明する。
JVET-K1001-v4において、MinQtSizeY>MaxBtSizeYかつMinQtSizeY>MaxTtSizeYであり、cbSize=MinQtsizeYである場合、利用可能な区分モードが存在しないため、区分はMinCbSizeYに到達できない(MinTbSizeYおよびMinCbsizeYは固定であり、4に等しい)。
非境界ケースまたは境界ケースのこの問題を考慮して、上述の問題を解決するために、MaxBtSizeYの下限はMinQtSizeYに制限され、MaxBtSizeYがMinQtSizeYよりも小さくないことを確実にするか、またはMaxTtSizeYの下限はMinQtSizeYに制限され、MaxTtSizeYがMinQtSizeYよりも小さくないことを確実にする必要がある。
log2_diff_ctu_max_bt_sizeは、二分分割により分割可能なコード化ブロックのルマCTBサイズと最大ルマサイズ(幅または高さ)との差分を指定する。log2_diff_ctu_max_bt_sizeの値は、0からCtbLog2SizeY-MinQtLog2SizeYの範囲とする。
追加的または代替的に、log2_min_qt_size_intra_slices_minus2プラス2は、slice_typeが2(I)であるスライス内のCTUの四分木分割から生じるリーフブロックの最小ルマサイズを指定する。log2_min_qt_size_intra_slices_minus2の値は、0以上MaxTtlog2SizeY-2の範囲とする。
log2_min_qt_size_inter_slices_minus2プラス2は、slice_typeが0(B)または1(P)であるスライス内のCTUの四分木分割から生じるリーフブロックの最小ルマサイズを指定する。log2_min_qt_size_inter_slices_minus2の値は、0以上MaxTtlog2SizeY-2以下の範囲とする。
コード化デバイス(デコーダまたはエンコーダ)によって実施される対応するコード化方法は、以下の通りであってもよい:
現在のブロックのサイズが最小許容四分木リーフノードサイズよりも大きいかどうかを判定するステップ、現在のブロックのサイズが最小許容四分木リーフノードサイズ以下である場合、現在のブロックにマルチタイプツリー分割を適用するステップであって、最小許容四分木リーフノードサイズが最大許容二分木ルートノードサイズ以下であるか、または最小許容四分木リーフノードサイズが最大許容三分木ルートノードサイズ以下である、ステップ。
任意選択で、最小許容四分木リーフノードサイズは最大許容二分木ルートノードサイズ以下であり、最小許容四分木リーフノードサイズは最大許容三分木ルートノードサイズ以下である。
任意選択で、現在のブロックにマルチタイプツリー分割を適用することは、現在のブロックに三分分割を適用すること、または現在のブロックに二分分割を適用することを含む。
任意選択で、境界ブロックは、コーナブロックを含まなくてもよい、またはコーナブロックでなくてもよい。
以下では、本開示の別の実施形態について説明する:
MaxBtSizeY>=MinQtSizeY、MinQtSizeY>MinTblog2SizeY、およびMaxMttDepth<(MinQtlog2SizeY-MinTblog2SizeY)の場合、および
cbSize=MinQtsizeYの場合、十分なレベルのマルチタイプツリー区分が許容されていないため、区分はMinCbSizeYに到達することができない。
非境界ケースまたは境界ケースのこの問題を考慮して、上述の問題を解決するために、MaxMttDepthの下限は(MinQtlog2SizeY-MinTblog2SizeY)に制限されるべきであり、QT区分後に、境界ケースと非境界ケースの両方に対して十分なレベルのマルチタイプツリー区分があることを確認する。
ドラフトテキストにおける対応する変更は、以下のようにmax_mtt_hierarchy_depth_inter_slicesおよびmax_mtt_hierarchy_depth_intra_slicesのセマンティックにおけるものであり、
max_mtt_hierarchy_depth_inter_slicesは、slice_typeが0(B)または1(P)であるスライスにおける四分木リーフのマルチタイプツリー分割から生じるコード化ユニットの最大階層深さを指定する。max_mtt_hierarchy_depth_inter_slicesの値は、MinQtLog2SizeY-MinTbLog2SizeYからCtbLog2SizeY-MinTbLog2SizeYの範囲とする。
max_mtt_hierarchy_depth_intra_slicesは、slice_typeが2(I)に等しいスライス内の四分木リーフのマルチタイプツリー分割から生じるコード化ユニットの最大階層深さを指定する。max_mtt_hierarchy_depth_intra_slicesの値は、MinQtLog2SizeY-MinTbLog2SizeYからCtbLog2SizeY-MinTbLog2SizeYの範囲とする。
コード化デバイス(デコーダまたはエンコーダ)によって実施される対応するコード化方法は、以下の通りであってもよい:
画像をブロックに分割するステップ、
最終的な最大マルチタイプツリー深さを有するブロックのブロックにマルチタイプツリー分割を適用するステップであって、最終的な最大マルチタイプツリー深さは、少なくとも最大マルチタイプツリー深さと最大マルチタイプツリー深さオフセットとの和であり、最大マルチタイプツリー深さは、最小許容四分木リーフノードサイズのlog2値から最小許容変換ブロックサイズのlog2値を減算すること以上であるか、または最大マルチタイプツリー深さは、最小許容四分木リーフノードサイズのlog2値から最小許容コード化ブロックサイズのlog2値を減算すること以上である、ステップ。
任意選択で、ブロックは非境界ブロックである。
任意選択で、最大マルチタイプツリー深さオフセットは0である。
任意選択で、ブロックは境界ブロックであり、マルチタイプツリー分割は二分分割である。
任意選択で、マルチタイプツリー分割は三分分割である。
任意選択で、境界ブロックは、コーナブロックを含まなくてもよい、またはコーナブロックでなくてもよい。
1つまたは複数の例では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実施され得る。ソフトウェアで実装される場合、機能は、コンピュータ可読媒体上の1つまたは複数の命令またはコードとして格納または送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データストレージ媒体などの有形媒体に対応するコンピュータ可読ストレージ媒体、または、ある場所から別の場所への(例えば、通信プロトコルにしたがった)コンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含んでもよい。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形のコンピュータ可読ストレージ媒体、または(2)信号または搬送波などの通信媒体に対応することができる。データストレージ媒体は、本開示に記載される技術を実装するための命令、コード、および/または、データ構造を取り込むために1つ以上のコンピュータまたは1つ以上のプロセッサによってアクセスされ得る任意の使用可能な媒体であってもよい。コンピュータプログラム製品がコンピュータ可読媒体を含んでもよい。
限定ではなく例として、そのようなコンピュータ可読ストレージ媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、または命令もしくはデータ構造の形態で所望のプログラムコードを格納するために使用することができ、コンピュータによってアクセスすることができる任意の他の媒体を含むことができる。また、任意の接続が、厳密には、コンピュータ可読媒体と称される。例えば、ウェブサイト、サーバ、または、他の遠隔ソースから、同軸ケーブル、ファイバ光ケーブル、ツイストペア、デジタル加入者回線(DSL)、または、赤外線、電波およびマイクロ波などの無線技術を用いて、命令が送信される場合、同軸ケーブル、ファイバ光ケーブル、ツイストペア、DSL、または、赤外線、電波およびマイクロ波などの無線技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読ストレージ媒体およびデータストレージ媒体は、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに非一時的有形ストレージ媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザを用いて光学的にデータを再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)などの集積回路(IC)、フィールドプログラマブルロジック/ゲートアレイ(FPGA)、または、同等の集積回路またはディスクリート論理回路などの1つまたは複数のプロセッサによって実行されてもよい。したがって、本明細書で使用される「プロセッサ」、「処理回路」、および「回路」という用語は、前述の構造のいずれか、または本明細書に記載の技術の実装に適した任意の他の構造を指すことができる。前述の(処理)回路およびそのユニットは、共通の集積回路内に、またはそれぞれ専用の集積回路として実装されてもよい。さらに、いくつかの態様では、本明細書に記載された機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内で提供され得るか、または、結合されたコーデックに組み込まれ得る。また、これらの技術は、1つまたは複数の回路または論理素子に完全に実装することができる。
本開示の技術は、無線ハンドセット、集積回路(IC)、または一組のIC(例えば、チップセット)を含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示された技術を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが記載されているが、必ずしも異なるハードウェアユニットによる実現を必要としない。むしろ、上述したように、様々なユニットは、適切なソフトウェアおよび/またはファームウェアと共に、コーデックハードウェアユニットに組み合わされてもよく、または上述したような1つまたは複数のプロセッサを含む相互運用可能なハードウェアユニットの集合によって提供されてもよい。
要約すると、符号化および復号のための方法および装置が提供される。本方法は、現在のブロックに二分分割を適用しないための条件として、現在のブロックが境界ブロックであるかどうか、および四分木リーフのマルチタイプツリー分割から生じるマルチタイプツリー深さが最大境界マルチタイプ区分深さと深さオフセットとの和以上であるかどうかを判定するステップを含む。前記条件を満たすか否かの判定結果に応じて二分分割が適用される。
以下は、本発明の実施形態の非網羅的なリストである。
1.ピクチャを符号化または復号する方法であって、ピクチャの現在のブロックについて、
以下の第1の条件が満たされていると判定したことに応答して、現在のブロックに二分分割を適用しないこと:
mttDepthはMaxMttDepth+depthOffset以上であり、x0+cbWidthはpic_width_in_luma_samples以下であり、y0+cbHeightはpic_height_in_luma_samples以下である。
2.第1の条件が満たされる場合、変数allowBtSplitをFALSEに設定するステップと、
変数allowBtSplitに基づいて現在のブロックに二分分割を適用するステップ、または適用しないステップをさらに含む、実施形態1に記載の方法。
3.変数allowBtSplitに基づいて現在のブロックに二分分割を適用するステップまたは適用しない前記ステップは、
変数allowBtSplitがTRUEに等しいときに現在のブロックに二分分割を適用するステップと、
変数allowBtSplitがFALSEに等しいときに現在のブロックに二分分割を適用しないステップとを含む、実施形態2に記載の方法。
4.ピクチャはビデオシーケンスのフレームである、実施形態1から3のいずれか一項に記載の方法。
5.実施形態1から4のいずれか一項に記載の方法を実行する処理回路を備えるエンコーダ(20)。
6.実施形態1から4のいずれか一項に記載の方法を実行する処理回路を備えるデコーダ(30)。
7.実施形態1から4のいずれか一項に記載の方法を実行するためのプログラムコードを備えるコンピュータプログラム製品。
8.デコーダであって、
1つまたは複数のプロセッサと、
プロセッサに結合され、プロセッサよって実行するためのプログラミングを格納する非一時的コンピュータ可読ストレージ媒体であって、プログラミングが、プロセッサによって実行されると、デコーダを構成して、実施形態1から4のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読ストレージ媒体と
を備える、デコーダ。
9.エンコーダであって、
1つまたは複数のプロセッサと、
プロセッサに結合され、プロセッサよって実行するためのプログラミングを格納する非一時的コンピュータ可読ストレージ媒体であって、プログラミングが、プロセッサによって実行されると、エンコーダを構成して、実施形態1から4のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読ストレージ媒体と
を備える、エンコーダ。
10 ビデオコード化システム
12 送信元デバイス
13 符号化されたピクチャ
14 宛先デバイス
16 ピクチャソース
17 ピクチャデータ
18 前処理ユニット
19 ピクチャデータ
20 ビデオエンコーダ
21 ピクチャデータ
21 符号化ビットストリーム
22 通信ユニット
22 通信インタフェース
28 通信インタフェース
30 ビデオデコーダ
31 ピクチャデータ
32 後処理ユニット
33 ピクチャデータ
34 ディスプレイデバイス
40 ビデオコード化システム
41 撮像デバイス
42 アンテナ
43 プロセッサ
44 メモリストア
45 ディスプレイデバイス
46 処理ユニット
47 論理回路
110 逆量子化ユニット
201 ピクチャ
202 入力
203 ピクチャブロック
204 残差計算ユニット
205 残差ブロック
206 変換処理ユニット
207 変換係数
208 量子化ユニット
209 変換係数
209 残差係数
210 逆量子化ユニット
211 残差係数
211 逆量子化係数
212 逆変換処理ユニット
213 逆変換ブロック
213 逆変換残差ブロック
214 再構成ユニット
214 加算器
215 再構成ブロック
216 ラインバッファ
216 バッファユニット
220 ループフィルタユニット
220 ループフィルタ
230 画像バッファ
230 ピクチャバッファ
231 ピクチャ
244 インター予測ユニット
245 予測ブロック
245 インター予測ブロック
246 動き補償ユニット
254 イントラ予測ユニット
254 イントラ予測
255 イントラ予測ブロック
260 ブロック予測処理ユニット
262 モード選択ユニット
265 予測ブロック
270 エントロピコード化ユニット
272 出力
304 エントロピ復号ユニット
309 量子化係数
310 逆量子化ユニット
312 逆変換処理ユニット
313 残差ブロック
313 逆変換ブロック
314 加算器
314 再構成ユニット
315 再構成ブロック
316 バッファ
320 ループフィルタユニット
321 ビデオブロック
330 ピクチャバッファ
331 ピクチャ
332 出力
344 インター予測ユニット
354 イントラ予測ユニット
360 予測処理ユニット
362 モード選択ユニット
365 予測ブロック
400 ビデオコード化デバイス
410 入力ポート
420 受信機ユニット
430 プロセッサ
440 送信機ユニット
450 出力ポート
460 メモリ
470 コード化モジュール
500 装置
502 プロセッサ
504 メモリ
506 データ
508 オペレーティングシステム
510 アプリケーションプログラム
512 バス
514 二次ストレージ
518 ディスプレイ
520 画像検知デバイス
522 音検知デバイス
1200 装置
1210 条件判定ユニット
1210 回路
1220 分割ユニット
1220 回路
1311 境界ブロック判定ユニット
1312 マルチタイプツリー深さ判定ユニット

Claims (22)

  1. ピクチャを符号化または復号する方法であって、前記ピクチャの現在のブロックについて、以下の条件、
    前記現在のブロックは、前記ピクチャの境界に位置していない非境界ブロックであること、および
    四分木リーフのマルチタイプツリー分割から生じるマルチタイプツリー深さmttDepthは、最大境界マルチタイプ区分深さMaxMttDepthと、前記MaxMttDepthに対するオフセットdepthOffsetとの和以上であること
    が満たされるか否かを判定するステップ(S1010、S1020)であって、
    前記四分木リーフのマルチタイプ分割において、二分木分割が行われる場合、前記depthOffsetは0に初期化され、1だけ増加され、前記四分木リーフのマルチタイプ分割において、二分木分割が行われない場合、前記depthOffsetは0に等しい、ステップと、
    前記条件が満たされていると判定したことに応答して、前記現在のブロックに二分分割を適用しないステップ(S1030)と
    を含み、
    前記MaxMttDepthが0に設定されることを特徴とする、方法。
  2. mttDepthが前記MaxMttDepthと前記depthOffsetとの前記和以上であるか否かにかかわらず、前記現在のブロックが前記ピクチャの前記境界に位置する境界ブロックであると判定したことに応じて、前記現在のブロックに二分分割を適用するステップ(S1140)を含むことを特徴とする、請求項1に記載の方法。
  3. 前記マルチタイプツリー分割は、二分分割および三分分割のうちの少なくとも1つを含むことを特徴とする、請求項1または2に記載の方法。
  4. x0+cbWidthが前記ピクチャのピクチャ幅pic_width_in_luma_samples以下であり、y0+cbHeightが前記ピクチャのピクチャ高さpic_height_in_luma_samples以下である場合、前記現在のブロックは前記境界に位置する境界ブロックではないと判定され、
    (x0,y0)は前記現在のブロックの左上ルマサンプルの位置であり、cbWidthは前記現在のブロックの幅であり、cbHeightは前記現在のブロックの高さであることを特徴とする、請求項1から3のいずれか一項に記載の方法。
  5. 前記条件が満たされる場合、変数allowBtSplitをFALSEに設定するステップと、
    前記変数allowBtSplitに基づいて前記現在のブロックに二分分割を適用するステップ(S1140)、または適用しないステップ(S1030)をさらに含むことを特徴とする、請求項1から4のいずれか一項に記載の方法。
  6. 前記変数allowBtSplitに基づいて前記現在のブロックに二分分割を適用する前記ステップ(S1140)または適用しない前記ステップ(S1030)は、
    前記変数allowBtSplitがTRUEに等しいときに前記現在のブロックに二分分割を適用するステップ(S1140)と、
    前記変数allowBtSplitがFALSEに等しいときに前記現在のブロックに二分分割を適用しないステップ(S1030)と
    を含むことを特徴とする、請求項5に記載の方法。
  7. 前記ピクチャはビデオシーケンスのフレームであることを特徴とする、請求項1から6のいずれか一項に記載の方法。
  8. 請求項1から7のいずれか一項に記載の方法を実行する処理回路を備えることを特徴とするエンコーダ(20)。
  9. 請求項1から7のいずれか一項に記載の方法を実行する処理回路を備えることを特徴とするデコーダ(30)。
  10. エンコーダ(20)であって、
    1つまたは複数のプロセッサと、
    前記プロセッサに結合され、前記プロセッサよって実行するためのプログラミングを格納する非一時的コンピュータ可読ストレージ媒体であって、前記プログラミングが、前記プロセッサによって実行されると、請求項1から7のいずれか一項に記載の方法を実行するように前記エンコーダを構成する、非一時的コンピュータ可読ストレージ媒体と
    を備えることを特徴とする、エンコーダ。
  11. デコーダ(30)であって、
    1つまたは複数のプロセッサと、
    前記プロセッサに結合され、前記プロセッサよって実行するためのプログラミングを格納する非一時的コンピュータ可読ストレージ媒体であって、前記プログラミングが、前記プロセッサによって実行されると、前記デコーダを構成して、請求項1から7のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読ストレージ媒体と
    を備えることを特徴とする、デコーダ。
  12. 現在のブロックを含むピクチャを符号化または復号するための装置(1200)であって、以下の条件、
    前記現在のブロックは、前記ピクチャの境界に位置していない非境界ブロックであること、および
    四分木リーフのマルチタイプツリー分割から生じるマルチタイプツリー深さmttDepthは、最大境界マルチタイプ区分深さMaxMttDepthと、前記MaxMttDepthに対するオフセットdepthOffsetとの和以上であること
    が満たされるか否かを判定し、
    前記四分木リーフのマルチタイプ分割において、二分木分割が行われる場合、前記depthOffsetは0に初期化され、1だけ増加され、かつ
    前記四分木リーフのマルチタイプ分割において、二分木分割が行われない場合、前記depthOffsetは0に等しく
    前記条件が満たされていると判定したことに応答して、前記現在のブロックに二分分割を適用しない、かつ
    前記MaxMttDepthが0に設定される
    ように構成される処理回路(1210、1220)を備えることを特徴とする、装置(1200)。
  13. 前記処理回路(1210、1220)は、mttDepthが前記MaxMttDepthと前記depthOffsetとの前記和以上であるか否かにかかわらず、前記現在のブロックが前記ピクチャの前記境界に位置する境界ブロックであると判定したことに応じて、前記現在のブロックに二分分割を適用するように構成されることを特徴とする、請求項12に記載の装置(1200)。
  14. 前記マルチタイプツリー分割は、二分分割および三分分割のうちの少なくとも1つを含むことを特徴とする、請求項12または13に記載の装置(1200)。
  15. 前記処理回路(1210、1220)は、x0+cbWidthが前記ピクチャのピクチャ幅pic_width_in_luma_samples以下であり、y0+cbHeightが前記ピクチャのピクチャ高さpic_height_in_luma_samples以下である場合、前記現在のブロックは前記境界に位置する境界ブロックではないと判定し、(x0,y0)は前記現在のブロックの左上ルマサンプルの位置であり、cbWidthは前記現在のブロックの幅であり、cbHeightは前記現在のブロックの高さである、ように構成されることを特徴とする、請求項12から14のいずれか一項に記載の装置。
  16. 前記処理回路(1210、1220)は、前記条件が満たされる場合、変数allowBtSplitをFALSEに設定し、かつ
    前記変数allowBtSplitに基づいて前記現在のブロックに二分分割を適用する、または適用しない、ように構成されることを特徴とする、請求項12から15のいずれか一項に記載の装置(1200)。
  17. 前記処理回路(1210、1220)は、前記変数allowBtSplitに基づいて前記現在のブロックに二分分割を適用する、または適用しないステップの際、
    前記変数allowBtSplitがTRUEに等しいときに前記現在のブロックに二分分割を適用し、かつ
    前記変数allowBtSplitがFALSEに等しいときに前記現在のブロックに二分分割を適用しない、
    ように構成されることを特徴とする、請求項16に記載の装置(1200)。
  18. 前記ピクチャはビデオシーケンスのフレームであることを特徴とする、請求項12から17のいずれか一項に記載の装置(1200)。
  19. 現在のブロックを含むピクチャを符号化するように動作可能なエンコーダ(20)であって、請求項12から18のいずれか一項に記載の装置(1200)を備えることを特徴とする、エンコーダ。
  20. 現在のブロックを含むピクチャを復号するように動作可能なデコーダ(30)であって、請求項12から18のいずれか一項に記載の装置(1200)を備えることを特徴とする、デコーダ。
  21. 実行されると、請求項1から7のいずれか一項に記載の方法を実行する命令を含むコンピュータ読み取り可能なメモリ。
  22. 命令を含むコンピュータ読み取り可能なメモリであって、前記命令は、実行されると、
    以下の条件、
    現在のブロックは、ピクチャの境界に位置していない非境界ブロックであること、および
    四分木リーフのマルチタイプツリー分割から生じるマルチタイプツリー深さmttDepthは、最大境界マルチタイプ区分深さMaxMttDepthと、MaxMttDepthに対するオフセットdepthOffsetとの和以上であること
    が満たされるか否かを判定させることであって、
    前記四分木リーフのマルチタイプ分割において、二分木分割が行われる場合、前記depthOffsetは0に初期化され、1だけ増加され、前記四分木リーフのマルチタイプ分割において、二分木分割が行われない場合、前記depthOffsetは0に等しい、判定させることと、
    前記条件が満たされていると判定したことに応答して、前記現在のブロックに二分分割を適用しないことと、
    前記MaxMttDepthが0に設定されることと、
    を実行する、コンピュータ読み取り可能なメモリ。
JP2021525644A 2018-11-12 2019-11-12 ビデオエンコーダ、ビデオデコーダおよびピクチャを符号化または復号する方法 Active JP7337157B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862759929P 2018-11-12 2018-11-12
US62/759,929 2018-11-12
PCT/CN2019/117526 WO2020098649A1 (en) 2018-11-12 2019-11-12 Video encoder, video decoder and methods

Publications (2)

Publication Number Publication Date
JP2022511704A JP2022511704A (ja) 2022-02-01
JP7337157B2 true JP7337157B2 (ja) 2023-09-01

Family

ID=70731282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021525644A Active JP7337157B2 (ja) 2018-11-12 2019-11-12 ビデオエンコーダ、ビデオデコーダおよびピクチャを符号化または復号する方法

Country Status (12)

Country Link
US (1) US11503290B2 (ja)
EP (1) EP3864851B1 (ja)
JP (1) JP7337157B2 (ja)
KR (1) KR20210088661A (ja)
CN (1) CN112868241A (ja)
AU (1) AU2019379934B2 (ja)
BR (1) BR112021009099A2 (ja)
CA (1) CA3119397C (ja)
CL (1) CL2021001242A1 (ja)
IL (1) IL283116B1 (ja)
MX (1) MX2021005549A (ja)
WO (1) WO2020098649A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112021009099A2 (pt) * 2018-11-12 2021-08-10 Huawei Technologies Co., Ltd. codificador de vídeo, decodificador de vídeo e métodos de codificação ou decodificação de uma imagem

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170272782A1 (en) 2016-03-21 2017-09-21 Qualcomm Incorporated Coding video data using a two-level multi-type-tree framework

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140198846A1 (en) * 2013-01-16 2014-07-17 Qualcomm Incorporated Device and method for scalable coding of video information
CN107534767A (zh) * 2015-04-27 2018-01-02 Lg电子株式会社 用于处理视频信号的方法及其装置
US10212444B2 (en) * 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
MX2021012481A (es) * 2016-03-16 2022-05-30 Hfi Innovation Inc Metodo y aparato de procesamiento de datos de video con tama?o restringido de bloque en codificacion de video.
ES2739668B1 (es) * 2016-03-28 2021-12-03 Kt Corp Metodo y aparato para procesar senales de video
WO2017205704A1 (en) * 2016-05-25 2017-11-30 Arris Enterprises Llc General block partitioning method
CA3025334C (en) * 2016-05-25 2021-07-13 Arris Enterprises Llc Binary ternary quad tree partitioning for jvet coding of video data
US10284845B2 (en) * 2016-05-25 2019-05-07 Arris Enterprises Llc JVET quadtree plus binary tree (QTBT) structure with multiple asymmetrical partitioning
US10609423B2 (en) * 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
WO2018066809A1 (ko) 2016-10-04 2018-04-12 엘지전자(주) 크로마 성분 코딩 유닛 분할 방법 및 장치
EP3306929A1 (en) * 2016-10-07 2018-04-11 Thomson Licensing Method and apparatus for encoding a video
KR102601268B1 (ko) * 2017-02-24 2023-11-10 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN111149359B (zh) * 2017-09-20 2023-11-17 韩国电子通信研究院 用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质
BR112021009099A2 (pt) 2018-11-12 2021-08-10 Huawei Technologies Co., Ltd. codificador de vídeo, decodificador de vídeo e métodos de codificação ou decodificação de uma imagem

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170272782A1 (en) 2016-03-21 2017-09-21 Qualcomm Incorporated Coding video data using a two-level multi-type-tree framework
JP2019512963A (ja) 2016-03-21 2019-05-16 クアルコム,インコーポレイテッド 2レベルのマルチタイプツリーフレームワークを使用したビデオデータのデコーディング

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross, Jianle Chen, Shan Liu,Versatile Video Coding (Draft 2) [online], JVET-K JVET-K1001-v6,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K1001-v6.zip>,2019年10月17日,i-iii, 1-131
Shih-Ta Hsiang, Shawmin Lei,CE1.1.1.1: CU partitioning along picture boundaries [online], JVET-L JVET-L0080-v1,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L0080-v2.zip>,2019年10月17日,1-3

Also Published As

Publication number Publication date
AU2019379934B2 (en) 2023-10-19
US11503290B2 (en) 2022-11-15
MX2021005549A (es) 2021-06-18
EP3864851B1 (en) 2023-09-27
CN112868241A (zh) 2021-05-28
IL283116B1 (en) 2024-05-01
AU2019379934A1 (en) 2021-06-10
BR112021009099A2 (pt) 2021-08-10
CA3119397C (en) 2023-10-03
EP3864851A4 (en) 2021-12-08
JP2022511704A (ja) 2022-02-01
EP3864851A1 (en) 2021-08-18
US20210266541A1 (en) 2021-08-26
IL283116A (en) 2021-06-30
CA3119397A1 (en) 2020-05-22
WO2020098649A1 (en) 2020-05-22
CL2021001242A1 (es) 2021-10-22
KR20210088661A (ko) 2021-07-14

Similar Documents

Publication Publication Date Title
JP7355829B2 (ja) ビデオエンコーダ、ビデオデコーダ、及び対応する方法
CN111107356B (zh) 图像预测方法及装置
JP7250917B2 (ja) 補間フィルタを使用するイントラ予測のための方法および装置
CN112040229B (zh) 视频解码方法、视频解码器及计算机可读存储介质
KR102542433B1 (ko) 비디오 처리 방법, 비디오 처리 장치, 인코더, 디코더, 매체 및 컴퓨터 프로그램
JP7286757B2 (ja) 分割制約要素間の関係
JP7405925B2 (ja) ビデオ・エンコーダ、ビデオ・デコーダ及び対応する方法
JP7337157B2 (ja) ビデオエンコーダ、ビデオデコーダおよびピクチャを符号化または復号する方法
CA3110477A1 (en) Picture partitioning method and apparatus
WO2020069632A1 (en) A video encoder, a video decoder and corresponding methods
CN110944177B (zh) 视频解码方法及视频解码器,视频编码方法及视频编码器
WO2020038357A1 (zh) 融合候选者列表构建方法、装置及的编/解方法及装置
CN118175342A (zh) 视频解码方法及视频解码器

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230613

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230822

R150 Certificate of patent or registration of utility model

Ref document number: 7337157

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150