JP2021517410A - サブブロックに基づく時間的動きベクトル予測のための方法並びにその機器及びコンピュータプログラム - Google Patents

サブブロックに基づく時間的動きベクトル予測のための方法並びにその機器及びコンピュータプログラム Download PDF

Info

Publication number
JP2021517410A
JP2021517410A JP2020551416A JP2020551416A JP2021517410A JP 2021517410 A JP2021517410 A JP 2021517410A JP 2020551416 A JP2020551416 A JP 2020551416A JP 2020551416 A JP2020551416 A JP 2020551416A JP 2021517410 A JP2021517410 A JP 2021517410A
Authority
JP
Japan
Prior art keywords
picture
rbsb
block
motion vector
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020551416A
Other languages
English (en)
Other versions
JP7212060B2 (ja
JP2021517410A5 (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 JP2021517410A publication Critical patent/JP2021517410A/ja
Publication of JP2021517410A5 publication Critical patent/JP2021517410A5/ja
Priority to JP2023002969A priority Critical patent/JP7457170B2/ja
Application granted granted Critical
Publication of JP7212060B2 publication Critical patent/JP7212060B2/ja
Priority to JP2024040066A priority patent/JP2024069475A/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal 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/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/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/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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • 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)

Abstract

本出願は、サブブロックに基づく時間的動きベクトル予測のための方法及び機器を開示する。ビデオ復号化の方法は以下を含み、現在ピクチャを取得し、現在ピクチャに含まれる現在ブロックに対して、現在ピクチャと異なる参照ピクチャに含まれる参照ブロックを認識し、現在ブロックは複数のサブブロック(CBSB)に分割され、参照ブロックは複数のサブブロック(RBSB)を有する。該方法は以下を含み、RBSBの参照ピクチャが現在ピクチャであるかどうかを決定し、RBSBの参照ピクチャが現在ピクチャであるという決定に応答し、RBSBの符号化モードをフレーム内モードに決定する。該方法はさら以下を含み、RBSBの参照ピクチャが現在ピクチャではないという決定に応答し、対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちの1つであるかどうかに基づき、CBSBのうちの1つのCBSBの動きベクトル予測値を決定する。

Description

本開示内容は、2018年6月4日にて提出されたアメリカ仮出願No. 62/680,468「METHODS FOR SUB−BLOCK
BASED TEMPORAL MOTION
VECTOR PREDICTION(サブブロックに基づく時間的動きベクトルの予測方法)」の優先権を主張して、該出願の全ての内容は本出願に援用される。
本開示内容は、一般的にビデオ符号化に関する実施例を記載する。
本明細書で提供される背景記載は、本開示内容の背景を総体的に体現することを目的とする。該背景技術部分に記載の作業程度から見れば、現在署名の発明者の作業、及び提出の際別に従来技術の記載として限定されていない態様について、明確且つ暗黙的に本開示内容に対する従来技術として認められない。
この数十年以来、動き補償を有するピクチャ間予測によってビデオ符号化と復号化を実行することは既に既知になっている。圧縮されていないデジタルビデオは一連のピクチャを有し、各々のピクチャは空間次元を備え、例えば1920×1080輝度サンプルと関連のクロミナンスサンプルがある。該一連のピクチャは、例えば、一秒60個ピクチャまたは60Hzの固定または可変のピクチャレート(非公式にフレームレートとも呼ばれる)を有してもよい。圧縮されていないビデオは高いビットレートの要求を有する。例えば、1サンプルあたり8ビットの1080p604:2:0ビデオ(60
Hzフレームレートで、1920×1080の輝度サンプルの解像度)は、約1.5 Gbit/sの帯域幅を必要とする。1時間のこのようなビデオは、600GB以上の記憶空間を必要とする。
ビデオ符号化及び復号化は、圧縮により、ビデオ信号入力における冗長を減少させることを1つの目的とする。圧縮は、以上に言及された帯域幅または記憶空間に対する需求を減少させることに寄与し、ある状況で、2つまたはより多いオーダーを減少させる。可逆圧縮、非可逆圧縮、及びその組み合わせを利用できる。可逆圧縮は、圧縮された元の信号から元の信号の正確なコピーを再構築する技術を指す。非可逆圧縮を利用する場合、再構築された信号は元の信号と異なるかもしれないが、元の信号と再構築された信号との間の歪みは十分に小さいから、再構築された信号は予期の応用に役立つ。ビデオの場合、非可逆圧縮は大幅に応用される。許容の歪み量はアプリケーションに依存し、例えば、テレビ貢献アプリケーションのユーザーより、消費者ストリーミングメディアプリケーションのユーザーが高い歪みを許容する。達する圧縮比は、許可/許容可能な歪みが高いほど、圧縮比が高くなることを反映する。
動き補償は非可逆圧縮技術であってもよく、以下の技術に関わり、動きベクトル(以下MVと呼ばれる)が指示する方向で空間変位を行った後、前に構築されたピクチャまたはその一部(参照ピクチャ)からのサンプルデータのブロックによって新たに再構築されるピクチャまたはピクチャ部分を予測する。ある状況で、参照ピクチャは現在再構築中のピクチャと同様であってもよい。MVはXとYという2つの次元を有してもよいし、3つの次元を有してもよく、第3次元は利用中の参照ピクチャの指示である(後者は間接的に時間次元であってもよい)。
いくつかのビデオ圧縮技術において、他のMVから、サンプルデータのある領域に適用するMVを予測してもよく、例えば、空間で再構築される領域に隣接するサンプルデータの他の領域に関するとともに、復号化の順序で該MVより前にある他のMVから予測する。このようにして、MVにの符号化に必要なデータ量を大幅に減少させ、冗長をなくし、圧縮を増える。MVの予測は効果的に行い、例えば、撮影装置から導出されたビデオ入力信号(ナチュラルビデオと呼ばれる)に対して符号化を行う際、統計面の可能性が存在し、即ち、単一MVが適用する領域より大きい領域は、類似の方向で移動し、そのため、ある状況で、隣接領域のMVから導出された類似の動きベクトルによって予測できるからである。これによって、特定領域に対して見つけられたMVは、周辺MVから予測されたMVと類似または同様になるとともに、エントロピー符号化の後、MVに対して直接的に符号化を行う場合で使用されるビットより小さいビットで示すことができる。ある状況で、MV予測は元の信号(即ちサンプルストリーム)から導出される信号(即ちMV)の可逆圧縮の例示であってもよい。他の状況で、MV予測そのものは非可逆であってもよく、例えば、その原因は、若干の周辺MVから予測値を計算する際の丸め誤差である。
H.265/HEVC(ITU−T
H.265提案書、「高効率ビデオ符号化/復号化(High Efficiency Video Coding)」、2016年12月)には、各種のMV予測メカニズムが記載されている。H.265により提供される多種のMV予測メカニズムにおいて、本出願が記載するのは、以下で「空間統合」と呼ばれる技術である。
いくつかの形式のフレーム間予測は、サブブロックレベルで実行される。ただし、サブブロックに基づく時間的動きベクトル予測モード、例えば、代替時間的動きベクトル予測(ATMVP)及び時空間動きベクトル予測(STMVP)は、フレーム間モードで、対応するサブブロックを符号化するように要求する。ただし、これらの時間的動きベクトル予測モードは、フレーム内ブロックコピーモードのようなフレーム内モードで符号化されるサブブロックを処理できない。
本開示内容の例示性の実施例は、復号器のビデオ復号化のための方法を含む。該方法は以下を含み、符号化されたビデオビットストリームから現在ピクチャを取得する。該方法はさらに以下を含み、現在ピクチャに含まれる現在ブロックに対して、現在ピクチャと異なる参照ピクチャに含まれる参照ブロックを認識し、現在ブロックは複数のサブブロック(CBSB)に分割され、参照ブロックは複数のCBSBにおける異なるCBSBに対応する複数のサブブロック(RBSB)をそれぞれ有する。該方法はさらに以下を含み、RBSBの参照ピクチャが現在ピクチャであるかどうかを決定し、RBSBの参照ピクチャが現在ピクチャであるという決定に応答し、RBSBの符号化モードをフレーム内モードに決定する。該方法はさらに以下を含み、RBSBの参照ピクチャが現在ピクチャではないという決定に応答し、(i)CBSBのうちの1つのCBSBに対して、RBSBの符号化モードがフレーム内モードとフレーム間モードのうちの1つであるかどうかを決定し、及び(ii)対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちの1つであるかどうかに基づき、CBSBのうちの前記1つのCBSBの動きベクトル予測値を決定する。
本開示内容の例示性の実施例は、ビデオ復号化のためのビデオ復号器を含む。該ビデオ復号器は処理回路を有し、該処理回路は以下のように配置され、符号化されたビデオビットストリームから現在ピクチャを取得する。該処理回路はさらに以下のように配置され、現在ピクチャに含まれる現在ブロックに対して、現在ピクチャと異なる参照ピクチャに含まれる参照ブロックを認識し、現在ブロックは複数のサブブロック(CBSB)に分割され、参照ブロックは複数のCBSBにおける異なるCBSBにそれぞれ対応する複数のサブブロック(RBSB)を有する。該処理回路はさらに以下のように配置され、RBSBの参照ピクチャが現在ピクチャであるかどうかを決定し、及びRBSBの参照ピクチャが現在ピクチャであるという決定に応答し、RBSBの符号化モードをフレーム内モードに決定する。該処理回路はさらに以下のように配置され、RBSBの参照ピクチャが現在ピクチャではないという決定に応答し、(i)CBSBのうちの1つのCBSBに対して、RBSBの符号化モードがフレーム内モードとフレーム間モードのうちの1つであるかどうかを決定し、及び(ii)対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちの1つであるかどうかに基づき、CBSBのうちの前記1つのCBSBの動きベクトル予測値を決定する。
本開示内容的の例示性の実施例は、命令が記憶された非一時的なコンピュータ読み取り可能な媒体を含み、該命令はビデオ復号器におけるプロセッサによって実行される場合、プロセッサに1つの方法を実行させる。該方法は以下を含み、符号化されたビデオビットストリームから現在ピクチャを取得する。該方法はさら以下を含み、現在ピクチャに含まれる現在ブロックに対して、現在ピクチャと異なる参照ピクチャに含まれる参照ブロックを認識し、現在ブロックは複数のサブブロック(CBSB)に分割され、参照ブロックはそれぞれ複数のCBSBにおける異なるCBSBに対応する複数のサブブロック(RBSB)を有する。該方法はさら以下を含み、RBSBの参照ピクチャが現在ピクチャであるかどうかを決定し、RBSBの参照ピクチャが現在ピクチャであるという決定に応答し、RBSBの符号化モードをフレーム内モードに決定する。該方法はさら以下を含み、RBSBの参照ピクチャが現在ピクチャではないという決定に応答し、(i)CBSBのうちの1つのCBSBに対して、RBSBの符号化モードがフレーム内モードとフレーム間モードのうちの1つであるかどうかを決定し、及び(ii)対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちの1つであるかどうかに基づき、CBSBのうちの前記1つのCBSBの動きベクトル予測値を決定する。
以下の詳しい記載及び図面に基づき開示されるテーマの他の特徴、性質及び各利点はより明確になる。
1つの実施例に基づく通信システム(100)の簡略化ブロック図の模式図である。 1つの実施例に基づく通信システム(200)の簡略化ブロック図の模式図である。 1つの実施例に基づく復号器の簡略化ブロック図の模式図である。 1つの実施例に基づく符号器の簡略化ブロック図の模式図である。 他の実施例に基づく符号器のブロック図を示す。 他の実施例に基づく復号器のブロック図を示す。 フレーム内ピクチャブロック補償の模式図である。 現在ブロック及び現在ブロックの周囲空間合併候補の模式図である。 現在ブロックのサブブロック及び参照ブロックの対応するサブブロックの模式図である。 符号器または復号器により実行されるプロセスの実施例を示す。 1つの実施例に基づくコンピュータシステムの模式図である。
図1は、本開示内容の1つの実施例に基づく通信システム(100)の簡略化ブロック図を示す。通信システム(100)は、例えばネットワーク(150)を介して互いに通信できる複数の端末機器を有する。例えば、通信システム(100)は、ネットワーク(150)を介して互いに接続される第1対の端末機器(110)、(120)を有する。図1の例示において、第1対の端末機器(110)、(120)は一方向のデータ伝送を実行する。例えば、端末機器(110)はビデオデータ(例えば、端末機器(110)によりキャプチャされたビデオピクチャストリーム)を符号化することで、ネットワーク(150)を介して他の端末機器(120)に伝送する。符号化されたビデオデータは1つ又は複数の符号化されたビデオビットストリームという形式で伝送されてもよい。端末機器(120)はネットワーク(150)から符号化されたビデオデータを受信し、符号化されたビデオデータを復号化することで、前記ビデオピクチャを回復させ、回復されたビデオデータに基づき、ビデオピクチャを表示する。一方向のデータ伝送はメディアサービスアプリケーションなどにおいて、よく見られる。
他の例示において、通信システム(100)は、例えばビデオ会議期間に発生した符号化されたビデオデータの双方向伝送を実行するための第2対の端末機器(130)、(140)を含む。双方向データ伝送について、例示において、端末機器(130)、(140)における各端末機器は、ビデオデータ(例えば、端末機器によりキャプチャされたビデオピクチャストリーム)を符号化することで、ネットワーク(150)を介して端末機器(130)、(140)における他の端末機器に伝送する。端末機器(130)、(140)における各端末機器はさらに、端末機器(130)、(140)における他の端末機器から伝送され、符号化されたビデオデータを受信し、符号化されたビデオデータを復号化することで、前記ビデオピクチャを回復させ、回復されたビデオデータに基づき、アクセスできる表示機器に、ビデオピクチャを表示できる。
図1の例示において、端末機器(110)、(120)、(130)及び(140)はサーバ、パーソナルコンピュータ及びスマートフォンとして示されるが、本開示内容の原理はこれに限定されない。本開示内容の実施例はラップトップコンピュータ、タブレット、メディアプレイヤー及び/または専門ビデオ会議機器に適用される。ネットワーク(150)は端末機器(110)、端末機器(120)、端末機器(130)及び端末機器(140)の間で符号化されたビデオデータを伝送するための、例えば有線接続(ワイヤード)及び/または無線通信ネットワークを含む任意の数のネットワークを示す。通信ネットワーク(150)は回路交換及び/またはパケット交換チャネルにおいてデータを交換できる。代表的なネットワークには電気通信ネットワーク、ローカルエリアネットワーク、広域エリア及び/またはインターネットが含まれる。本論述の目的から見れば、特に説明しない限り、ネットワーク(150)のアーキテクチャ及びトポロジは、本開示内容の操作に対して重要ではない。
開示のテーマの応用例示として、図2はビデオ符号器と復号器との、ストリーミング伝送環境における配置方式を示す。開示のテーマは等価的にビデオを支持する、例えばビデオ会議、デジタルテレビが含まれる他のアプリケーションに適用され、CD、DVD、メモリースティックなどが含まれるデジタル媒体に圧縮されたビデオなどが記憶される。
ストリーミング伝送システムは、キャプチャサブシステム(213)を含み、該キャプチャサブシステム(213)は、例えば未圧縮のビデオピクチャストリーム(202)を構築するための、デジタル撮影装置のようなビデオソース(201)を含む。例示において、ビデオピクチャストリーム(202)は、デジタル撮影装置により撮影されたサンプルを含む。符号化されたビデオデータ(204)(または符号化されたビデオビットストリーム)と比較する場合、データ量が多いことを強調するように太線として描画されるビデオピクチャストリーム(202)は、ビデオソース(201)に連結されるビデオ符号器(203)を含む電子機器(220)によって処理される。ビデオ符号器(203)はハードウェア、ソフトウェアまたはその組み合わせを含むことで、以下により詳しく記載される開示のテーマの各態様を実現または実施する。ビデオピクチャストリーム(202)と比較する場合、データ量が少ないことを強調するように細線として描画される符号化されたビデオデータ(204)(または符号化されたビデオビットストリーム(204))はストリーミングサーバ(205)に記憶されることで、後で用いられる。図2におけるクライアントサブシステム(206)、(208)のような1つ又は複数のストリーミングクライアントサブシステムは、ストリーミングサーバ(205)にアクセスすることで、符号化されたビデオデータ(204)のコピー(207)、(209)を検索できる。クライアントサブシステム(206)は、例えば電子機器(230)におけるビデオ復号器(210)を含む。ビデオ復号器(210)は符号化されたビデオデータの導入コピー(207)を復号化し、ディスプレイ(212)(例えば、スクリーン)または他の表示機器(図示せず)に表示される導出ビデオピクチャストリーム(211)を構築する。あるストリーミング伝送システムにおいて、あるビデオ符号化/圧縮基準に基づき、符号化されたビデオデータ(204)、(207)及び(209)(例えば、ビデオビットストリーム)を符号化することができる。これらの基準の例示はITU−T
H.265提案書を含む。例示において、開発中のビデオ符号化基準は、非公式に多用途ビデオコーディングまたはVVCと呼ばれる。開示のテーマはVVCのコンテキストに適用される。
なお、電子機器(220)、電子機器(230)は他の部材(図示せず)を含んでもよ。例えば、電子機器(220)はビデオ復号器(図示せず)を含んでもよく、電子機器(230)はビデオ符号器(図示せず)を含んでもよい。
図3は、本開示内容の1つの実施例に基づくビデオ復号器(310)のブロック図を示す。ビデオ復号器(310)は電子機器(330)に含まれる。電子機器(330)は受信器(331)(例えば、受信回路)を含んでもよい。ビデオ復号器(310)は、図2の例示におけるビデオ復号器(210)の代わりとしてもよい。
受信器(331)は、ビデオ復号器(310)によって復号化される1つ又は複数の符号化されたビデオシーケンスを受信でき、同一の実施例または他の実施例において、1回に1つの符号化されたビデオシーケンスを受信し、各符号化されたビデオシーケンスの復号化は、他の符号化されたビデオシーケンスと独立する。チャンネル(301)から符号化されたビデオシーケンスを受信してもよく、チャンネル(301)は符号化されたビデオデータを記憶するための記憶機器に達するハードウェア/ソフトウェアリンクであってもよい。受信器(331)は符号化されたビデオデータ及び他のデータを受信でき、例えば、それぞれの利用エンティティ(図示せず)の符号化されたオーディオデータ及び/または補助データストリームに転送できる。受信器(331)は符号化されたビデオシーケンスと他のデータとを分割できる。ネットワークのジッタを防止するために、バッファメモリ(315)は受信器(331)とエントロピー復号器/パーサー(320)(以下は、「パーサー(320)」と呼ばれる)との間に連結される。いくつかの応用において、バッファメモリ(315)はビデオ復号器(310)の一部である。他の応用において、バッファメモリ(315)はビデオ復号器(310)の外部にあってもよい(図示せず)。さらに、他の応用において、ビデオ復号器(310)の外部にはバッファメモリ(図示せず)が設けられることで、例えばネットワークのジッタを防止し、ビデオ復号器(310)の内部には別のバッファメモリ(315)が設けられることで、例えば、放送タイミングを処理することができる。受信器(331)は十分な帯域幅及び制御可能性を有する記憶/転送機器、またはアイソクロナスネットワークからデータを受信する際、バッファメモリ(315)を必要としないか、または、バッファメモリ(315)が小さくてもよい。例えば、インターネットのようなベストエフォート型パケットネットワークで利用するために、バッファメモリ(315)を必要とするかもしれないが、バッファメモリ(315)は相対的に大きく、有利に自己適応の大きさを有してもよく、少なくとも一部的にオペレータシステムまたはビデオ復号器(310)の外部にある類似元素(図示せず)で実現される。
ビデオ復号器(310)は、符号化されたビデオシーケンスに基づき符号(321)を再構築するパーサー(320)を有する。これらの符号のカテゴリにはビデオ復号器(310)の操作を管理するための情報、及び表示機器(312)(例えば、スクリーン)のような表示機器を制御するための潜在情報が含まれ、図3に示すように、該表示機器(312)は電子機器(330)の一体部分ではなく、電子機器(330)に連結される。(1つ又は複数の)表示機器に用いられる制御情報は補充強化情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)パラメータセットセグメント(図示せず)という形式であってもよい。パーサー(320)は受信された、符号化されたビデオシーケンスに対して解析/エントロピー復号化を行う。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または基準に基づくとともに、可変長符号、ハフマン符号(Huffman
coding)、コンテキスト感度を有するかまたは有していない算術符号などのような各種原理に従う。パーサー(320)はグループに対応する少なくとも1つのパラメータに基づき、符号化されたビデオシーケンスから、ビデオ復号器における画素のサブグループのうちの少なくとも1つのサブグループのためのサブグループパラメータセットを抽出する。サブグループには、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などが含まれる。パーサー(320)はさらに符号化されたビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトルなどのような情報を抽出できる。
パーサー(320)は、バッファメモリ(315)から受信したビデオシーケンスに対してエントロピー復号化/解析操作を実行することで、符号(321)を構築することができる。
符号化されたビデオピクチャまたはその一部(例えば、フレーム間ピクチャ及びフレーム内ピクチャ、フレーム間ブロック及びフレーム内ブロック)のタイプ及び他の要因に依存し、符号(321)の再構築は複数の異なるユニットに関わる。どのユニットに関わるか、及び関わる方式は、パーサー(320)が符号化されたビデオシーケンスから解析したサブグループ制御情報によって制御できる。簡潔のために、パーサー(320)と以下の複数のユニットとの間にある、このようなサブグループ制御情報ストリームを記載していない。
既に言及された機能ブロック以外、ビデオ復号器(310)は概念的に以下に記載の若干の機能ユニットに細分できる。商業制約で実行する実際の実現方式において、これらのユニットにおける複数のユニットは互いに密接に対話するとともに、少なくとも部分的に互いに集積されてもよい。ただし、開示のテーマを説明するという目的から見れば、概念的に以下の機能ユニットに細分されることは適切である。
第1ユニットはスケーラ/逆変換ユニット(351)である。スケーラ/逆変換ユニット(351)はパーサー(320)から、(1つ又は複数の)符号(321)としての量子化変換係数及び制御情報を受信し、どんな変換方式を利用するか、ブロックの大きさ、量子化因子、量子化スケーリング行列などを含む。スケーラ/逆変換ユニット(351)は、アグリゲーター(355)に入力されるサンプル値が含まれるブロックを出力できる。
ある状況で、スケーラ/逆変換ユニット(351)の出力サンプルはフレーム内符号器ブロックに属してもよく、即ち、前に再構築されたピクチャからの予測性情報を利用しないが、現在ピクチャの前に再構築された部分からの予測性情報のブロックを利用できる。このような予測性情報はフレーム内ピクチャ予測ユニット(352)から提供される。ある状況で、フレーム内ピクチャ予測ユニット(352)は現在ピクチャバッファ(358)から抽出された周辺の再構築された情報によって、再構成中のブロックの大きさ及び形状と同様であるブロックを生成する。例えば、現在ピクチャバッファ(358)は部分的に再構築された現在ピクチャ及び/または完全に再構築された現在ピクチャをバッファリングする。ある状況で、アグリゲーター(355)は各サンプルに基づき、フレーム内予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供された出力サンプル情報に追加する。
他の状況で、スケーラ/逆変換ユニット(351)の出力サンプルはフレーム間符号化と潜在動き補償ブロックに属してもよい。このような状況で、動き補償予測ユニット(353)は参照ピクチャメモリ(357)にアクセスすることで、予測のためのサンプルを抽出できる。該ブロックに属する符号(321)に基づき、抽出されたサンプルに対して動き補償を行った後、これらのサンプルはアグリゲーター(355)からスケーラ/逆変換ユニット(351)の出力に追加され(この場合、残差サンプルまたは残差信号と呼ばれる)、出力サンプル情報を生成する。動き補償予測ユニット(353)が予測サンプルを抽出する参照ピクチャメモリ(357)内のアドレスは、動きベクトルによって制御でき、動きベクトルは符号(321)の形式で、動き補償予測ユニット(353)に用いられ、符号(321)は、例えばX、Y及び参照ピクチャ成分を有してもよい。動き補償はさらに、サブサンプルの正確な動きベクトルを使用する際、参照ピクチャメモリ(357)から抽出されたサンプル値の補間、動きベクトル予測メカニズムなどを含んでもよい。
アグリゲーター(355)の出力サンプルは、ループフィルタユニット(356)において、各種のループフィルタリング技術を利用できる。ビデオ圧縮技術はループ内フィルタ技術を含み、ループ内フィルタ技術は、符号化されたビデオシーケンス(符号化されたビデオビットストリームとも呼ばれる)に含まれるとともに、パーサー(320)からの符号(321)として、ループフィルタユニット(356)のパラメータ制御に使用されるが、ビデオ圧縮技術は、符号化されたピクチャまたは符号化されたビデオシーケンスの(復号化の順序で)の前の部分を復号化する期間で取得されたメタ情報、及び前に再構築されループフィルタリングを経るサンプル値に応答できる。
ループフィルタユニット(356)の出力は、サンプルストリームであってもよく、サンプルストリームは表示機器(312)に出力され、参照ピクチャメモリ(357)に記憶されることで、後のフレーム間ピクチャ予測に用いられる。
完全に再構成されると、ある符号化されたピクチャは参照ピクチャとして、後の予測に用いることができる。例えば、現在ピクチャに対応する符号化されたピクチャが完全に再構成され、符号化されたピクチャ(例えばパーサー(320)を介して)が参照ピクチャとして認識されると、現在ピクチャバッファ(358)は参照ピクチャメモリ(357)の一部になり、その後の符号化されたピクチャを再構成する前に、新たな現在ピクチャバッファを改めて割り当てる。
ビデオ復号器(310)は、例えばITU−T H.265提案書の基準における所定ビデオ圧縮技術に基づき、復号化操作を実行することができる。符号化されたビデオシーケンスは、ビデオ圧縮技術または基準の文法、及びビデオ圧縮技術または基準に記録されたコンフィグファイルという両者に従うという意味で、符号化されたビデオシーケンスは使用中のビデオ圧縮技術または基準が指定する文法に合わせる。具体的に、コンフィグファイルはビデオ圧縮技術または基準における利用可能な全てのツールから、該コンフィグファイルで利用可能な唯一のツールとして、いくつかのツールを選択できる。準拠性について、符号化されたビデオシーケンスの複雑度は、ビデオ圧縮技術または基準のレベルによって限定される範囲内にあるように要求する。ある状況で、レベルは最大ピクチャの大きさ、最大フレームレート、最大再構築サンプリングレート(例えば、兆個サンプル/秒に測定する)、最大参照ピクチャの大きさなを制限する。ある状況で、レベルによる配置される制限は、仮想参照復号器(HRD)の仕様、及び符号化されたビデオシーケンスにおいてシグナリングされたHRDバッファの管理のメタデータを介してさらに限定される。
1つの実施例において、受信器(331)は追加(冗長)データ及び符号化されたビデオを受信できる。追加データは(1つ又は複数の)符号化されたビデオシーケンスの一部として含まれる。追加データはビデオ復号器(310)によって利用されることで、データを適切に復号化し、及び/またはオリジナルビデオデータをより正確に再構築することができる。追加データは、例えば時間、空間または信号対雑音比(SNR)強化層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形式であってもよい。
図4は、本開示内容の1つの実施例に基づくビデオ符号器(403)のブロック図を示す。ビデオ符号器(403)は電子機器(420)に含まれる。電子機器(420)は伝送器(440)(例えば、伝送回路)を有する。ビデオ符号器(403)は図2の例示におけるビデオ符号器(203)の代わりとしてもよい。
ビデオ符号器(403)は、ビデオ符号器(403)によって符号化されるビデオ図像をキャプチャできるビデオソース(401)(図4の例示における電子機器(420)の一部ではなく)からビデオサンプルを受信できる。他の例示において、ビデオソース(401)は電子機器(420)の一部である。
ビデオソース(401)は、ビデオ符号器(403)によって符号化される、デジタルビデオサンプルストリーム形式であるソースビデオシーケンスを提供し、該デジタルビデオサンプルストリームは、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット…)、任意の色空間(例えば、BT.601 Y CrCB、RGB……)、及び任意の適切なサンプリング構成(例えば、Y
CrCb 4:2:0、Y CrCb
4:4:4)を有してもよい。メディアサービスシステムにおいて、ビデオソース(401)は前に準備されたビデオを記憶するための記憶機器であってもよい。ビデオ会議システムにおいて、ビデオソース(401)はビデオシーケンスとして、ローカル画像情報をキャプチャするための撮影装置であってもよい。ビデオデータは、順序に応じて見る際、動きが付与された複数の単独のピクチャとして提供されてもよい。ピクチャそのものは、空間画素アレイとして組織され、使用中のサンプリング構成、色空間などに依存し、各画素には1つ又は複数のサンプルが含まれてもよい。画素とサンプルとの間の関係は、当業者にとって容易に理解できる。以下の記載はサンプルに着目する。
1つの実施例に基づき、ビデオ符号器(403)は、リアルタイムまたはアプリケーションの必要な任意の他の時間の制約で、ソースビデオシーケンスのピクチャを符号化するとともに、符号化されたビデオシーケンス(443)として圧縮する。適切的な符号化速度で実行することは、コントローラ(450)の1つの機能である。いくつかの実施例において、コントローラ(450)は以下に記載の他の機能ユニットを制御するとともに、機能で他の機能ユニットに連結される。簡潔のために、該連結を図示していない。コントローラ(450)により配置されるパラメータは、レート制御に関するパラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のλ値......)、ピクチャの大きさ、ピクチャグループ(GOP)の配置、最大動きベクトルの検索範囲などを含んでもよい。コントローラ(450)は他の適切な機能を有するように配置されてもよく、これらの機能は、あるシステム設計に対して最適化したビデオ符号器(403)に属する。
いくつかの実施例において、ビデオ符号器(403)は符号化ループにおいて操作するように配置される。非常に簡単な記載として、1つの例示において、符号化ループはソース符号器(430)(例えば、符号化対象となる入力ピクチャと(1つ又は複数)参照ピクチャに基づき、符号ストリームのような符号を構築することに担当する)、及びビデオ符号器(403)に埋め込まれる(ローカル)復号器(433)を含む。復号器(433)は、(リモート)復号器がサンプルデータを構築するという方式で、符号を再構築し、サンプルデータを構築する(なぜならば、開示のテーマで考慮されるビデオ圧縮技術において、符号と符号化されたビデオビットストリームとの間の圧縮はいずれも可逆であるからだ)。再構築されたサンプルストリーム(サンプルデータ)を参照ピクチャメモリ(434)に入力する。符号ストリームの復号化は、復号器位置(ローカルまたはリモート)と関係がないビット正確結果を発生させるから、参照ピクチャメモリ(434)におけるコンテンツはローカル符号器とリモート符号器との間でもビット正確である。言い換えば、符号器の予測部分から「見られる」参照ピクチャサンプルは復号器が復号化期間で予測を利用しようとする際に「見られる」サンプル値と完全に同様である。該参照ピクチャの同期性の基本原理は(及び、例えばチャンネル誤差から、同期性を維持できない場合に発生するドリフト)も関連分野に適用される。
「ローカル」復号器(433)の操作は、例えば、以上図3を結合し、詳しく記載したビデオ復号器(310)の「リモート」復号器の操作と同様であってもよい。ただし、図3を簡単に参照し、符号は利用可能で、エントロピー符号器(445)とパーサー(320)とはロスレスに符号を符号化されたビデオシーケンスに符号化/復号化することができる場合、バッファメモリ(315)とパーサー(320)とを含むビデオ復号器(310)のエントロピー復号化部分は、ローカル復号器(433)において完全に実現できないおそれがある。
この場合、復号器に存在する解析/エントロピー復号化以外の任意の復号器技術も、必然として、基本的に同じ機能という形式で、対応する符号器に存在する。該原因のため、開示のテーマは、復号器の操作に着目する。符号器技術と全面的に記載された復号器技術とは反対するから、符号器技術に対する記載を簡略化し得る。ある領域のみに必要で、より詳しい記載は以下で提供される。
操作期間において、いくつかの例示において、ソース符号器(430)は動き補償予測符号化を実行でき、該動き補償予測符号化は、ビデオシーケンスからの、「参照ピクチャ」として指定され前に符号化された1つ又は複数のピクチャを参照し、入力ピクチャに対して予測性符号化を行う。該方式で、符号化エンジン(432)は入力ピクチャの画素ブロックと、入力ピクチャの(1つ又は複数の)予測参照の(1つ又は複数の)参照ピクチャとして選択できる画素ブロックとの間の差に対して符号化を行う。
ローカルビデオ復号器(433)は、ソース符号器(430)によって構築された符号に基づき、参照ピクチャとして指定できるピクチャの符号化されたビデオデータを復号化することができる。符号化エンジン(432)の操作は好ましくは非可逆処理である。符号化されたビデオデータがビデオ復号器(図4において図示せず)で復号化できると、再構築されたビデオシーケンスは、一般的にある程度誤差を有するソースビデオシーケンスのコピーであってもよい。ローカルビデオ復号器(433)はビデオ復号器が参照ピクチャに対して実行する復号化処理をコピーするとともに、再構築された参照ピクチャを参照ピクチャキャッシュ(434)に記憶させる。該方式で、ビデオ符号器(403)は再構築された参照ピクチャのコピーをローカル的に記憶し、該コピーは、リモートビデオ復号器によって取得される再構築の参照ピクチャと、共通のコンテンツを有する(伝送誤差がない)。
予測器(435)は、符号化エンジン(432)に対して予測検索を実行することができる。即ち、符号化対象となる新たなピクチャに対して、予測器(435)は参照ピクチャメモリ(434)から新たなピクチャとしての適切な予測参照のサンプルデータ(候補参照画素ブロックとして)、またはあるメタデータ例えば参照ピクチャ動きベクトル、ブロック形状などを検索する。予測器(435)はサンプルブロックに基づき、画素ブロックごとに操作することで、適切な予測参照を見つけることができる。ある状況で、予測器(435)によって取得された検索結果に基づき決定されるように、入力ピクチャは参照ピクチャメモリ(434)に記憶された複数の参照ピクチャから取得される予測参照を有してもよい。
コントローラ(450)は、例えばビデオデータを符号化するためのパラメータとサブグループパラメータを配置することを含むソース符号器(430)の符号化操作を管理できる。
エントロピー符号器(445)において、以上言及された全ての機能ユニットの出力に対してエントロピー符号化を行うことができる。エントロピー符号器(445)は、ハフマン符号化、可変長符号化、算術符号化などの当業者の既知の技術に基づき、各種の機能ユニットから生成された符号に対して可逆圧縮を行って、符号を符号化されたビデオシーケンスに変換する。
伝送器(440)は、エントロピー符号器(445)によって構築された(1つ又は複数の)符号化されたビデオシーケンスをバッファリングすることで、通信チャンネル(460)を介して伝送するように準備し、該通信チャンネルは符号化されたビデオデータを記憶するための記憶機器に達するハードウェア/ソフトウェアリンクであってもよい。伝送器(440)はビデオ符号器(403)からの符号化されたビデオデータと、伝送対象となる他のデータ、例えば符号化されたオーディオデータ及び/または補助データストリーム(ソースを図示せず)とを合併する。
コントローラ(450)は、ビデオ符号器(403)の操作を管理できる。符号化の期間に、コントローラ(450)は各符号化されたピクチャに、相応的なピクチャに適用される符号化技術に影響する可能性があるいくつかの符号化ピクチャタイプを割り当てる。例えば、一般的に、ピクチャに以下のピクチャタイプのうちの1つが割り当てられる。
フレーム内ピクチャ(Iピクチャ)であって、シーケンスにおけるいずれの他のピクチャも予測のソースとしていない場合に、符号化及び復号化されるピクチャであってもよい。例えば独立復号器リフレッシュ(「IDR」)ピクチャが含まれる異なるタイプのフレーム内ピクチャを許容するビデオコーデックもある。当業者は、Iピクチャの変体及びその相応的な応用、特徴を理解できる。
予測性ピクチャ(Pピクチャ)であって、多くても1つの動きベクトル及び参照インデックスによって各ブロックのサンプル値を予測する場合、フレーム内予測またはフレーム間予測を利用して符号化及び復号化を行うピクチャであってもよい。
双方向予測性ピクチャ(Bピクチャ)であって、多くても2つの動きベクトル及び参照インデックスによって、各ブロックのサンプル値を予測する場合、フレーム内予測またはフレーム間予測を利用して符号化及び復号化を行うピクチャであってもよい。類似するように、複数の予測性ピクチャは、2つより多い参照ピクチャと関するメタデータを、単一のブロックの再構築に使用できる。
ソースピクチャは一般的に、空間で複数のサンプルブロック(例えば、4×4、8×8、4×8または16×16個のサンプルのブロック)に細分できるとともに、ブロックごとに符号化を行う。これらのブロックは、他の(符号化された)ブロックを参照し、予測性的に符号化を行って、他のブロックはブロックの相応的なピクチャに適用される符号化割当によって決定される。例えば、Iピクチャのブロックに対して非予測符号化を行うか、またはIピクチャのブロックは、同一のピクチャの符号化されたブロックを参照して、予測性符号化(空間予測またはフレーム内予測)を行う。Pピクチャの画素ブロックは、前に符号化された1つの参照ピクチャを参照し、空間予測または時間予測を介して予測性的に符号化を行ってもよい。Bピクチャのブロックは、前に符号化された1つまたは2つの参照ピクチャを参照し、空間予測または時間予測を介して予測性的に符号化を行ってもよい。
ビデオ符号器(403)は例えばITU−T H.265提案書の所定のビデオ符号化技術または基準に基づき符号化操作を実行することができる。その操作において、ビデオ符号器(403)は、入力ビデオシーケンスにおける時間と空間冗長を利用した予測性符号化操作を含む各種の圧縮操作を実行できる。従って、符号化されたビデオデータは、使用のビデオ符号化技術または基準が指定する文法に合う。
1つの実施例において、伝送器(440)は追加データ及び符号化されたビデオを伝送することができる。ソース符号器(430)は符号化されたビデオシーケンスの一部として、このようなデータを含んでもよい。追加データは、時間/空間/SNR強化層、冗長ピクチャ及びスライスのような他の形式の冗長データ、補充強化情報(SEI)メッセージ、ビデオユーザビリティ情報(VUI)パラメータセットセグメントなどを含んでもよい。
キャプチャされたビデオは、時間シーケンスを呈する複数のソースピクチャ(ビデオピクチャ)としてもよい。フレーム内ピクチャ予測(一般的にフレーム内予測に簡略化される)は特定のピクチャにおける空間の関連性を利用し、フレーム間ピクチャ予測はピクチャの間の(時間または他の)関連性を利用する。例示において、現在ピクチャと呼ばれる符号化/復号化における特定ピクチャは、ブロックに分割される。現在ピクチャにおけるブロックは、ビデオにおける前に符号化され且つ依然としてバッファリングされる参照ピクチャにおける参照ブロックに類似する場合、動きベクトルと呼ばれるベクトルによって、現在ピクチャにおけるブロックを符号化することができる。前記動きベクトルは参照ピクチャにおける参照ブロックを指し、複数の参照ピクチャを利用する場合、参照ピクチャを認識するための第3次元を有してもよい。
いくつかの実施例において、双方向予測技術はフレーム間ピクチャ予測に用いられる。双方向予測技術に基づき、復号化順次でいずれもビデオにおける現在ピクチャの前(ただし、表示順次で、それぞれ過去と将来にあるかもしれない)にある、第1参照ピクチャと第2参照ピクチャのような2つの参照ピクチャを利用する。第1参照ピクチャにおける第1参照ブロックを指す第1動きベクトル、及び第2参照ピクチャにおける第2参照ブロックを指す第2動きベクトルによって現在ピクチャにおけるブロックを符号化することができる。第1参照ブロックと第2参照ブロックとの組み合わせで、ブロックを予測できる。
また、合併モード技術は、フレーム間ピクチャ予測に適用して、符号化効率を向上させることができる。
本開示内容のいくつかの実施例に基づき、ブロックごとにフレーム間ピクチャ予測及びフレーム内ピクチャ予測のような予測を実行する。例えば、HEVC基準に基づき、ビデオピクチャシーケンスにおけるピクチャは符号化ツリーブユニット(CTU)に分割され、圧縮に用いられ、ピクチャにおけるCTUは、例えば64×64画素、32×32画素または16×16画素のような同じサイズを有する。一般的に、CTUは、1つの輝度CTBと2つのクロミナンスCTBとが含まれた3つの符号化ツリーブロック(CTB)を含む。各CTUは再帰に、クワッドツリーで1つ又は複数の符号化ユニット(CU)に分割される。例えば、64×64画素であるCTUを64×64画素である1つのCU、または32×32画素である4つのCU、或いは16×16画素である16個のCUに分割する。例示において、各CUを分析することで、フレーム間予測タイプまたはフレーム内予測タイプのような、CUのための予測タイプを決定する。時間及び/または空間の予測可能性に依存し、CUは1つ又は複数の予測ユニット(PU)に分割される。一般的に、各PUは輝度予測ブロック(PB)と2つのクロミナンスPBとを含む。1つの実施例において、符号化(符号化/復号化)における予測操作は、予測ブロックごとに実行される。予測ブロックの例示として、輝度予測ブロックを利用し、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素などのような画素値(例えば、輝度値)の行列を含む。
図5は、本開示内容の他の実施例に基づくビデオ復号器(503)の図面を示す。該ビデオ符号器(503)は、ビデオピクチャシーケンスにおける現在ビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信するとともに、処理ブロックを符号化されたビデオシーケンスの一部としての符号化されたピクチャに符号化するように配置される。例示において、ビデオ符号器(503)は図2の例示におけるビデオ符号器(203)の代わりとして用いられる。
HEVC例示において、ビデオ符号器(503)は、処理ブロック、例えば8×8サンプルの予測ブロックなどのサンプル値の行列を受信する。ビデオ符号器(503)は、例えばレート歪み最適化によって、フレーム内モード、フレーム間モードまたは双方向予測モードを利用して最適に処理ブロックを符号化するかということを決定する。フレーム内モードで処理ブロックを符号化しようとすると、ビデオ符号器(503)はフレーム内予測技術によって、処理ブロックを符号化ピクチャに符号化し、フレーム間モードまたは双方向予測モードで処理ブロックを符号化しようとすると、ビデオ符号器(503)はそれぞれフレーム間予測または双方向予測技術によって、処理ブロックを符号化ピクチャに符号化することができる。あるビデオ符号化技術において、合併モードはフレーム間ピクチャ予測サブモードであってもよく、予測値の外部にある符号化された動きベクトル成分を借りない場合、1つ又は複数の動きベクトル予測値から動きベクトルを導出する。ある他のビデオ符号化技術において、テーマブロックに適用される動きベクトル成分が存在し得る。例示において、ビデオ符号器(503)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)のような、他の部材を含む。
図5の例示において、ビデオ符号器(503)は図5に示すように連結されたフレーム間符号器(530)、フレーム内符号器(522)、残差計算器(523)、スイッチ(526)、残差符号器(524)、汎用コントローラ(521)及びエントロピー符号器(525)を含む。
フレーム間符号器(530)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、該ブロックと参照ピクチャにおける1つ又は複数の参照ブロック(例えば、前のピクチャと後のピクチャにおけるブロック)とを比較し、フレーム間予測情報(例えば、フレーム間符号化技術に基づく冗長情報の記載、動きベクトル、合併モード情報)を生成し、フレーム間予測情報に基づき、任意の適切な技術を利用してフレーム間予測結果(例えば、予測のブロック)を計算するように配置される。
フレーム内符号器(522)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、該ブロックと同一のピクチャにおいて符号化されたブロックとを比較し、変換後、量子化係数を生成し、場合によっては、さらにフレーム内予測情報(例えば、1つ又は複数のフレーム内符号化技術に基づくフレーム内予測方向情報)を生成するように配置される。
汎用コントローラ(521)は、汎用制御データを決定し、汎用制御データに基づき、ビデオ符号器(503)の他の部材を制御するように配置される。例示において、汎用コントローラ(521)はブロックのモードを決定し、該モードに基づき、制御信号をスイッチ(526)に提供する。例えば、モードがフレーム内モードである場合、汎用コントローラ(521)は、残差計算器(523)の使用のフレーム内モード結果を選択するようにスイッチ(526)を制御し、フレーム内予測情報を選択し、フレーム内予測情報をビットストリームに含ませるようにエントロピー符号器(525)を制御する。モードがフレーム間モードである場合、汎用コントローラ(521)は、残差計算器(523)の使用のフレーム間予測結果を選択するように、スイッチ(526)を制御し、フレーム間予測情報を選択し、フレーム間予測情報をビットストリームに含ませるように、エントロピー符号器(525)を制御する。
残差計算器(523)は、受信されたブロックと、フレーム内符号器(522)またはフレーム間符号器(530)から選択された予測結果との間の差(残差データ)を計算するように配置される。残差符号器(524)は、残差データに基づき操作することで、残差データを符号化し、変換係数を生成するように配置される。例示において、残差符号器(524)は、周波数領域における残差データを変換し、変換係数を生成するように配置される。そして、変換係数は量子化処理されて、量子化された変換係数を取得する。
エントロピー符号器(525)は、符号化されたブロックを含むようにビットストリームをフォーマットするように配置される。エントロピー符号器(525)はHEVC基準のような適切な基準に基づき、各種情報を含むように配置される。例示において、エントロピー符号器(525)は汎用制御データ、選択された予測情報(例えば、フレーム内予測情報またはフレーム間予測情報)、残差情報及びビットストリームにおける他の適切な情報を含むように配置される。なお、開示のテーマに基づき、フレーム間モードまたは双方向予測モードの合併サブモードでブロックを符号化する場合、残差情報が存在しない。
図6は、本開示内容の他の実施例に基づくビデオ復号器(610)の図面を示す。ビデオ復号器(610)は、符号化されたビデオシーケンスの一部としての符号化されたピクチャを受信するとともに、符号化されたピクチャを復号化することで、再構築されたピクチャを生成するように配置される。例示において、ビデオ復号器(610)は、図2の例示におけるビデオ復号器(210)の代わりとして用いられる。
図6の例示において、ビデオ復号器(610)は図6に示すように連結されたエントロピー復号器(671)、フレーム間復号器(680)、残差復号器(673)、再構築モジュール(674)及びフレーム内復号器(672)を含む。
エントロピー復号器(671)は、符号化されたピクチャに基づき、符号化されたピクチャを構成する文法元素を示すいくつかの符号を再構築するように配置される。このような符号は、例えば、ブロックを符号化するためのモード(例えば、フレーム内モード、フレーム間モード、双方向予測モード、後の両者の合併サブモードまたは他のサブモード)、それぞれフレーム内復号器(672)またはフレーム間復号器(680)に用いられることで予測するためのいくつかのサンプルまたはメタデータを認識できる予測情報(例えば、フレーム内予測情報またはフレーム間予測情報)、例えば量子化の変換係数という形式を呈する残差情報などを含む。例示において、予測モードがフレーム間または双方向予測モードである場合、フレーム間予測情報をフレーム間復号器(680)に提供し、予測タイプがフレーム内予測タイプである場合、フレーム内予測情報をフレーム内復号器(672)に提供する。残差情報は逆量子化を介して残差復号器(673)に提供される。
フレーム間復号器(680)は、フレーム間予測情報を受信し、フレーム間予測情報に基づき、フレーム間予測結果を生成するように配置される。
フレーム内復号器(672)は、フレーム内予測情報を受信し、フレーム内予測情報に基づき、予測結果を生成するように配置される。
残差復号器(673)は、逆量子化を実行することで、逆量子化された変換係数を抽出し、逆量子化された変換係数を処理することによって残差を周波数領域から空間領域に変換するように配置される。残差復号器(673)は、いくつかの制御情報を必要とする可能性があり(量子化器パラメータ(QP)を含むため)、該情報はエントロピー復号器(671)から提供される(これは少ない制御情報であるから、データ経路を図示せず)。
再構築モジュール(674)は、空間領域において、残差復号器(673)から出力された残差と予測結果(フレーム間予測モジュールまたはフレーム内予測モジュールから出力されてもよい)とを組み合わせることで、再構築のブロックを形成するように配置され、該再構築のブロックは、再構築されるピクチャの一部であってもよく、さらに再構築されるピクチャは、再構築されるビデオの一部であってもよい。なお、デブロッキング操作のような、他の適切な操作を実行することで、視覚品質を向上させる。
なお、任意の適切な技術でビデオ符号器(203)、ビデオ符号器(403)、ビデオ符号器(503)、及びビデオ復号器(210)、ビデオ復号器(310)、ビデオ復号器(610)を実現できる。1つの実施例において、1つ又は複数の集積回路を介してビデオ符号器(203)、ビデオ符号器(403)、ビデオ符号器(503)、及びビデオ復号器(210)、ビデオ復号器(310)、ビデオ復号器(610)を実現できる。他の実施例において、ビデオ復号器(203)、(403)、(403)、及びビデオ復号器(210)、(310)、(610)はソフトウェア命令を実行するための1つ又は複数のプロセッサによって実現される。
異なるピクチャからの、ブロックに基づく補償は動き補償と呼ばれる。ブロック補償はさらに、同一のピクチャ内の前に構築された領域に基づき行われてもよく、これはフレーム内ピクチャブロック補償、またはフレーム内ブロックコピーと呼ばれる。例えば、現在ブロックと参照ブロックとの間のずれを指示するための変位ベクトルはブロックベクトルと呼ばれる。いくつかの実施例に基づき、ブロックベクトルは、既に再構築され参照に用いられる参照ブロックを指す。同じく、並列処理という考量から見れば、タイル/スライスの境界、または波面台形境界を超えた参照領域もブロックベクトルの参照から排除されてもよい。これらの制約のため、ブロックベクトルは動き補償における動きベクトル(MV)と異なってもよく、動き補償において、動きベクトルは任意の値であってもよい(xまたはy方向で、正或いは負である)。
図7は、フレーム内ピクチャブロック補償(例えば、フレーム内ブロックコピーモード)の実施例を示す。図7において、現在ピクチャ700は符号化/復号化された1組ブロック(即、灰色のブロック)、及び符号化/復号化されていない1組ブロック(即、白いブロック)を有する。符号化/復号化されていないブロックのうちの1つのブロックのサブブロック702は、前に符号化/復号化された他のサブブロック706を指すブロックベクトル704に関連してもよい。従って、サブブロック706に関連する任意の動き情報は、サブブロック702の符号化/復号化に使用できる。
いくつかの実施例に基づき、ブロックベクトルの符号化は明示的である。他の実施例において、ブロックベクトルの符号化は暗示的である。明示的なモードで、ブロックベクトルとその予測値との間の差がシグナリングされ、暗示的なモードで、合併モードにおける動きベクトル予測に類似する方式によって、ブロックベクトルの予測値からブロックベクトルを回復させる。いくつかの実施例において、ブロックベクトルの解像度は整数位置に限定される。他の実施例において、ブロックベクトルは分数位置を指す。
いくつかの実施例に基づき、参照インデックスによって、ブロックレベルを利用するフレーム内ピクチャブロック補償(即、フレーム内ブロックコピーモード)がシグナリングされ、現在復号化のピクチャは参照ピクチャとみなされ、該参照ピクチャを参照ピクチャリストの最後位置に配置する。該参照ピクチャはさらに、他の時間的参照ピクチャ一とともに、復号化ピクチャバッファ(DPB)において管理されてもよい。
いくつかの実施例に基づき、参照ブロックは現在ブロックに対する予測に用いられる前に、水平または垂直に反転される(例えば、反転のフレーム内ブロックコピー)。いくつかの実施例において、M×N符号化ブロックの内部の各補償ユニットはM×1または1×N行である(例えば、行に基づくフレーム内ブロックコピー)。
いくつかの実施例に基づき、ブロックレベルの動き補償を実行し、現在ブロックは、同じ動き情報で動き補償を実行するための処理ユニットである。そのため、ブロックのサイズを特定すると、該ブロックにおける全ての画素は、同じ動き情報を使用してその予測ブロックを形成する。ブロックレベル動き補償の例示は、空間合併候補、時間候補、及び双方向予測のうちの従来合併候補からの動きベクトルの組み合わせを使用することを含む。
図8を参照し、現在ブロック(801)は動き検索処理期間に、既に符号器/復号器によって発見され、空間オフセットされた同じサイズの前のブロックに基づき予測されるサンプルを含む。いくつかの実施例において、直接的にMVを符号化すること代わりに、符号がA0、A1、B0、B1、B2(それぞれ802〜806に対応する)である5つの周囲サンプルのうちのいずれかのサンプルに関連するMVによって、1つまたは複数の参照ピクチャ、例えば最も近い(復号化順序に従う)参照ピクチャ、関連するメタデータから、直接的に前記MVを取得する。ブロックA0、A1、B0、B1、B2は空間合併候補と呼ばれる。
いくつかの実施例に基づき、動き補償ブロック内部の異なる位置にある画素(例えば、サブブロック)は異なる動き情報を有してもよい。これらのブロックレベル動き情報との差はシグナリングされず、導出される。このようなタイプの動き補償はサブブロックレベル動き補償と呼ばれて、ブロックの動き補償がブロックそのものより小さいことを許容する。これから見れば、各ブロックは複数のサブブロックを有し、各サブブロックは異なる動き情報を有してもよい。
サブブロックレベル動き補償の例示は、サブブロックに基づく時間的動きベクトル予測を含み、現在ブロックのサブブロックは異なる動きベクトルを有する。サブブロックレベル動き補償の他の例示はATMVPであり、以下の方法であり、各符号化ブロックが、並置の参照ピクチャの、現在符号化ブロックより小さい複数のブロックから、多組の動き情報を抽出するように許容する。
サブブロックレベル動き補償の他の例示は、サブブロック調整を有する空間/時間融合を含み、現在ブロックにおける各サブブロックに対して、該サブブロックの空間/時間的隣接者の動きベクトルに基づき、該サブブロックの動きベクトルを調整する。該モードで、あるサブブロックに対して、時間的参照ピクチャにおける対応するサブブロックからの動き情報を必要とする可能性がある。
サブブロックレベル動き補償の他の例示は、アフィン符号化動き補償ブロックであり、隣接するブロックの動きベクトルに基づき、まず現在ブロックの4つの角にある動きベクトルを導出する。そして、アフィンモデルによって(例えば、サブブロックまたは画素レベルの)現在ブロックの他の動きベクトルを導出することで、それぞれのサブブロックの隣接者より、各サブブロックは異なる動きベクトルを具備できる。
サブブロックレベル動き補償の他の例示は、復号器側の動きベクトルによって導出された合併候補細化である。該モードで、現在ブロックまたは現在ブロックのサブブロックの(1つ又は複数)動きベクトル予測値を取得した後、テンプレートマッチング或バイラテラルマッチングという方法で、さらに特定の(1つ又は複数の)動きベクトル予測値を細化する。細化された動きベクトルは動き補償の実行に用いられる。符号器側と復号器側とで、ともに同じ細化操作を行うことで、復号器は、細化が如何に元の予測値から変位されるかという追加情報を必要としない。また、スキップモードを特殊の合併モードと見なし、現在ブロックの隣接者から現在ブロックの動き情報を導出する以外、現在ブロックの予測残差もゼロである。
いくつかの実施例に基づき、サブブロック時間的動きベクトル予測において、現在ブロックのサブブロックは、時間的参照ピクチャから導出された異なる動きベクトル予測値を有してもよい。例えば、現在ブロックの動きベクトルと関連する参照インデックスとが含まれる1組の動き情報を認識する。第1利用可能空間合併候補に基づき動き情報を決定する。該動き情報によって、現在ブロックのための参照ピクチャにおける参照ブロックを決定する。参照ブロックもサブブロックに分割される。いくつかの実施例において、現在ピクチャにおける各現在ブロックのサブブロック(CBSB)に対して、参照ピクチャには、対応する参照ブロックのサブブロック(RBSB)が存在する。
いくつかの実施例において、各CBSBに対して、対応するRBSBが1の組動き情報を使用してフレーム間モードで符号化されると、該動き情報は変換され(例えば、時間的動きベクトル予測における動きベクトルスケーリングなどの方法を利用する)、該CBSBの動きベクトルの予測値として用いられる。以下、フレーム内モード(例えば、フレーム内ブロックコピーモード)で符号化されるRBSBの処理方法をさらに詳しく記載する。
いくつかの実施例に基づき、サブブロックに基づく時間的動きベクトル予測モードを利用する場合、各CBSBがフレーム内ブロックコピーモードのようなフレーム内モードで符号化を行うことを許容しない。これは、フレーム内ブロックコピーで符号化されたRBSBを、フレーム内モードと見なすことで実現される。特に、フレーム内ブロックコピーモード(例えば、フレーム間モード、フレーム内モードまたは第3モードと見なされる)を如何に考えても、CBSBに対して、対応するRBSBはフレーム内ブロックコピーモードで符号化される場合、該RBSBは、サブブロックに基づく時間的動きベクトル予測におけるフレーム内モードと見なされる。従って、いくつかの実施例において、サブブロックに基づく時間的動きベクトル予測におけるデフォルト配置に基づき、フレーム内ブロックコピーモードで符号化されるRBSBを処理する。例えば、フレーム内ブロックコピーモードでCBSBの対応するRBSBを符号化する場合、ゼロ動きベクトルのようなデフォルト動きベクトルはCBSBの予測値として用いられる。該例示において、CBSBに用いられる参照ピクチャは、現在ピクチャではなく、時間的参照ピクチャになる。例えば、時間的参照ピクチャは現在ブロックの全てのサブブロックが共有するピクチャ、参照ピクチャリストにおける第1参照ピクチャ、TMVP目的のためのコロケーションピクチャなどであってもよい。他の例示において、CBSBに対して、対応するRBSBはフレーム間モードで符号化されるが、参照ピクチャが現在ピクチャである場合、例えば、ゼロ動きベクトルのデフォルト動きベクトルが該CBSBに割り当てられる。これから見れば、RBSBがフレーム間モードで符号化されても、現在ピクチャと参照ピクチャとは同様であるから、RBSBがフレーム内モードで符号化するように、該RBSBを処理する。
図9は、サブブロックに基づく時間的動きベクトル予測を実行する例示を示す。図9は現在ブロック900Aが含まれた9つのブロックを有する現在ピクチャ900を示す。現在ブロック900Aは、4つのサブブロック1〜4に分割される。現在ピクチャ900は参照ピクチャ902に関連し、参照ピクチャ902は9つの前に符号化/復号化されたブロックを有する。また、図9に示すように、現在ブロック900Aは参照ブロック902Aを指す動きベクトル904を有する。現在ブロック900Aの1つ又は複数の隣接するブロックの動きベクトル(例えば、空間合併候補)を使用して、動きベクトル904を決定することができる。参照ブロック902Aは4つのサブブロック1〜4に分割される。参照ブロック902Aのサブブロック1〜4はそれぞれ現在ブロック900Aのサブブロック1〜4に対応する。参照ピクチャ902と現在ピクチャ900とは同様であれば、ブロック902Aにおける各RBSBは、これらのブロックがフレーム内モードで符号化されるように見なされる。これから見れば、例えば、ブロック902Aのサブブロック1はフレーム間モードで符号化されるが、参照ピクチャ902と現在ピクチャ900とは同様であれば、ブロック902Aのサブブロック1は、該サブブロックがフレーム内モードで符号化されるように見なされ、デフォルト動きベクトルはブロック900Aのサブブロック1に割り当てられる。
参照ピクチャ902と現在ピクチャ900とは異なると、参照ブロック902Aのサブブロック1〜4はそれぞれブロック900Aのサブブロック1〜4に対して、サブブロックに基づく時間的動きベクトル予測を実行するために用いられる。例えば、フレーム間モード、それともフレーム内モード(例えば、フレーム内ブロックコピーモード)で参照ブロック902Aのサブブロック1を符号化するかということに基づき、現在ブロック900Aのサブブロック1の動きベクトル予測値を決定する。参照ブロック902Aのサブブロック1がフレーム間モードで符号化されると、参照ブロック902Aのサブブロック1の動きベクトルは、現在ブロック900Aのサブブロック1の動きベクトルに対する決定に用いられる。参照ブロック902Aのサブブロック1がフレーム内モードで符号化されると、現在ブロック900Aのサブブロック1の動きベクトルはゼロ動きベクトルに設定される。
図10は、フレーム内符号器522またはフレーム内復号器672のような符号器または復号器で実行されるプロセスの実施例を示す。該プロセスはステップS1000から始まり、ステップS1000で、符号化されたビデオビットストリームから現在ピクチャを取得する。例えば、図9を参照し、符号化されたビデオビットストリームから現在ピクチャ900を取得する。プロセスはステップS1002に進み、ステップS1002で、現在ピクチャにおける現在ブロックに対して、参照ピクチャからの参照ブロックを認識する。例えば、図9を参照し、現在ブロック900Aに関連する参照ピクチャリストから参照ピクチャ902を検索する。現在ブロック900Aに対してサブブロックの時間的動きベクトル予測を実行する場合、動きベクトル904は、参照ピクチャ902の参照ブロック902Aに対する認識に用いられる。
プロセスはステップS1004に進み、ステップS1004で、参照ピクチャは現在ピクチャと同様であるかどうかを決定する。参照ピクチャは現在ピクチャと異なると、プロセスはステップS1006に進み、ステップS1006で、CBSBに対応するRBSBの符号化モードを決定する。例えば、図9を参照し、現在ブロック900AのCBSB
1に対応する参照ブロック902AのRBSB 1の符号化モードを決定する。プロセスはステップS1008に進み、ステップS1008で、前記RBSBの符号化モードがフレーム間モードであるかどうかを決定する。RBSBの符号化モードがフレーム間モードであれば、プロセスはステップS1010に進み、ステップS1010で、RBSBの動きベクトル予測値に基づき、CBSBの動きベクトル予測値を決定する。例えば、参照ブロック902AのRBSB
1の符号化モードはフレーム間モードであれば、参照ブロック902AのRBSB
1、または動きベクトル予測値に基づき、現在ブロック900AのCBSB
1の動きベクトル予測値を決定する。例えば、参照ブロック902AのRBSB
1の動きベクトル予測値は変換され(例えば、時間的動きベクトル予測における動きベクトルスケーリングのような方法を利用する)、現在ブロック900AのCBSB
1の動きベクトル予測値として用いられる。
ステップS1008に戻って、RBSBの符号化モードがフレーム間モードでなければ(例えば、RBSBの符号化モードはフレーム内モードである)、プロセスはステップS1012に進み、ステップS1012で、CBSBの動きベクトル予測値をデフォルト動きベクトルに設定する。例えば、参照ブロック902AのRBSB
1はフレーム内モードで符号化されると、現在ブロック900AのCBSB
1の動きベクトル予測値は、ゼロ動きベクトルのようなデフォルト動きベクトルに設定される。
ステップS1004に戻って、参照ピクチャと現在ピクチャとは同様であれば、プロセスはステップS1012に進み、ステップS1012で、CBSBの動きベクトル予測値をデフォルト動きベクトルに設定する。これから見れば、参照ピクチャと現在ピクチャとは同様である場合、RBSBの符号化モードをフレーム内モードに決定し、対応するCBSBのための動きベクトル予測値はデフォルト動きベクトルに設定される。これから見れば、RBSBがフレーム間モードであっても、CBSBの動きベクトル予測値をデフォルト動きベクトルに設定することで、RBSBがフレーム内モードで符号化されるように見なすことができる。現在ブロック900Aにおける各サブブロックに対して、ステップS1004〜S1012を繰り返しもよい。
前記技術はコンピュータ読み取り可能な命令によってコンピュータソフトウェアとして実現され、物理的に1つ又は複数のコンピュータ読み取り可能な媒体に記憶されてもよい。例えば、図11は開示のテーマのいくつかの実施例を実現するためのコンピュータシステム(1100)を示す。
コンピュータソフトウェアは任意の適切なマシンコードまたはコンピュータ言語によって符号化を行って、マシンコードまたはコンピュータ言語は編集、コンパイル、リンクなどのメカニズムを介して命令が含まれるコードを構築し、該命令は1つ又は複数のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって直接的に実行されるか、または解釈、マイクロコード実行などによって実行される。
前記命令は各種タイプのコンピュータまたはその部材で実行でき、例えばパーソナルコンピュータ、タブレット、サーバ、スマートフォン、ゲーム機器、モノのインターネット機器などを含む。
図11に示すコンピュータシステム(1100)の部材は、本開示内容を実現するための実施例のコンピュータソフトウェアの使用範囲または機能に対して限定せず、本質に例示的である。部材の配置も、コンピュータシステム(1100)の例示性の実施例で示した部材におけるいずれかの部材、またはその組み合わせに関する依存性または要求を有するように解釈されるべきではない。
コンピュータシステム(1100)はいくつかのヒューマンマシンインターフェイス入力機器を含んでもよい。このようなヒューマンマシンインターフェイス入力機器は、1つ又はの人類ユーザーの、例えば触覚入力(例えば:キーストローク、スライド、データグローブ移動)、オーディオ入力(例えば:音声、たたき)、視覚入力(例えば:姿勢)、嗅覚入力(図示せず)による入力に応答できる。マンマシンインタフェース機器はさらに、必ずしも人類の意識的な入力に直接的に関していない、ある媒体例えば、オーディオ(例えば:音声、音楽、環境音)、画像(例えば:スキャン画像、静態画像撮影装置から取得された写真画像)、ビデオ(例えば2次元ビデオ、立体ビデオが含まれる3次元ビデオ)をキャプチャできる。
入力マンマシンインタフェース機器は、キーボード(1101)、マウス(1102)、タッチパッド(1103)、タッチパネル(1110)、データグローブ(図示せず)、ジョイスティック(1105)、マイク(1106)、スキャナ(1107)、撮影装置(1108)のうちの1つ又は複数を有してもよい(記載の各々のうちの1つのみ)。
コンピュータシステム(1100)はさらにマンマシンインタフェース出力機器を有してもよい。このようなマンマシンインタフェース出力機器は、例えば触覚出力、音、光及び匂い/味を介して1つ又は複数の人類ユーザーの感覚を刺激できる。このようなマンマシンインタフェース出力機器は触覚出力機器(例えば、タッチパネル(1110)、データグローブ(図示せず)またはジョイスティック(1105)による触覚フィードバック、但し入力機器として用いられない触覚フィードバック機器も存在する)、オーディオ出力機器(例えば、スピーカー(1109)、ヘッドフォン(図示せず))、視覚出力機器(例えば、スクリーン(1110)、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、各スクリーンはタッチパネル入力能力、触覚フィードバック能力を有してもよく、有してなくてもよく、そのうちのいくつかは、立体画像出力のような手段で、2次元の視覚を出力または3次元以上の出力を行い、バーチャルリアリティ眼鏡(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)がある)、プリンター(図示せず)を含む。
コンピュータシステム(1100)はさらに人類がアクセスし得る記憶機器及びその関連する媒体を有してもよく、例えば、CD/DVDなどの媒体(1121)を有するCD/DVD
ROM/RW(1120)を含む光学媒体、サムドライブ(1122)、取り外し可能なハードドライブまたはソリッドステートドライブ(1123)、磁気テープとフロッピーディスク(図示せず)のような伝統の磁気媒体、専用ROM/ASIC/PLDに基づく機器、例えばドングル(図示せず)などを含む。
当業者は、現在開示のテーマを結合して、使用される用語「コンピュータ読み取り可能な媒体」には伝送媒体、搬送波または他の瞬間信号が含まれないことを理解できる。
コンピュータシステム(1100)は、さらに1つ又は複数の通信ネットワークのインタフェースを有してもよい。ネットワークは、例えば無線、有線、光学であってもよい。ネットワークはさらに、ロカール、広域、都市用、車両用、工業用、リアルタイム、遅延耐性ネットワークなどであってもよい。ネットワークの例示はイーサネットのようなローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどが含まれたセルラーネットワーク、有線テレビ、衛星テレビ及び地上波テレビが含まれるテレビ有線または無線広域デジタルネットワーク、CANBusが含まれる車両及び工業ネットワークなどを含む。あるネットワークは一般的に、ある汎用データポートまたは周辺バス(1149)(例えば、コンピュータシステム(1100)のUSBポート)に連結される外部ネットワークインタフェースアダプタを必要とし、他のネットワークは一般的に、以下に記載のシステムバス(例えば、PCコンピュータシステムへのイーサネットインタフェース、またはスマートフォンコンピュータシステムへのセルラーネットワークインタフェース)に連結されることで、コンピュータシステム(1100)のコアに集積される。これらのネットワークのうちのいずれかのネットワークを介して、コンピュータシステム(1100)は他のエンティティと通信できる。このような通信は一方向で受信だけ(例えば、放送テレビ)、一方向で送信だけ(例えば、あるCANbus機器へのCANbus)、または双方向である(例えば、ローカルエリアまたは広域デジタルネットワークを介して他のコンピュータシステムへ)。以上に記載のこれらのネットワーク及びネットワークインタフェースのうちの各ネットワーク及びネットワークインタフェースに、特定のプロトコル及びプロトコルスタックを利用できる。
前記マンマシンインタフェース機器、人類がアクセスし得る記憶機器及びネットワークインタフェースは、コンピュータシステム(1100)のコア(1140)に連結できる。
コア(1140)は1つ又は複数の中央処理ユニット(CPU)(1141)、グラフィック処理ユニット(GPU)(1142)、フィールドプログラム可能なゲートアレイ(FPGA)(1143)という形式の専門プログラム可能な処理ユニット、あるタスクのためのハードウェアアクセラレータ(1144)などを含む。これらの機器は、読み取り専用メモリ(ROM)(1145)、ランダムアクセスメモリ(1146)、内部のユーザーがアクセスできないハードディスクドライブ、SSDなどのような内部大容量記憶装置(1147)とともに、システムバス(1148)を介して接続される。あるコンピュータシステムにおいて、1つ又は複数の物理プラグという形式で、システムバス(1148)にアクセスすることで、別のCPU、GPUなどによって拡張できる。周囲機器は直接的または周辺バス(1149)を介してコアのシステムバス(1148)に連結される。周辺バスのアーキテクチャはPCI、USBなどを含む。
CPU(1141)、GPU(1142)、FPGA(1143)及びアクセラレータ(1144)はいくつかの命令を実行でき、これらの命令を組み合わせて、以上に言及されたコンピュータコードを構成する。該コンピュータコードはROM(1145)またはRAM(1146)に記憶される。移行データはRAM(1146)に記憶され、永久データは、例えば内部大容量記憶装置(1147)に記憶されてもよい。キャッシュメモリによってメモリ機器のうちのいずれかのメモリ機器の快速記憶及び検索を実現でき、該キャッシュメモリは1つ又は複数のCPU(1141)、GPU(1142)、大容量記憶装置(1147)、ROM(1145)、RAM(1146)などに密接に関連できる。
コンピュータ読み取り可能な媒体は、コンピュータが実現する各種操作を実行するためのコンピュータコードを有する。媒体とコンピュータコードとは、本開示内容の目的のために、専門に設計され及び構築された媒体とコンピュータコードであってもよいし、またはコンピュータソフトウェアの当業者にとって、公知且つ利用可能なタイプであってもよい。
限定ではなく例示として、アーキテクチャ(1100)を有するコンピュータシステム、特にコア(1140)は、(1つ又は複数)プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ又は複数の有形コンピュータ読み取り可能な媒体に体現されるソフトウェアを実行することで、機能を提供できる。このようなコンピュータ読み取り可能な媒体は、以上に紹介された、ユーザがアクセスし得る大容量記憶装置に関する媒体、及び非一時的なコア(1140)を有する、コア内部大容量記憶装置(1147)またはROM(1145)のような記憶装置であってもよい。本開示内容を実現するための各種実施例のソフトウェアはこのような機器に記憶され、コア(1140)に実行される。特定の需要に応じて、コンピュータ読み取り可能な媒体には1つ又は複数の記憶機器またはチップが含まれてもよい。ソフトウェアはコア(1140)、特にそのうちのプロセッサ(CPU、GPU、FPGAなどが含まれた)に、本明細書に記載の特定プロセスまたは特定プロセスの特定部分を実行させ、RAM(1146)に記憶されるデータ構成を限定すること、及びソフトウェアにより限定されたプロセスに基づき、このようなデータ構成を修正することが含まれる。また或いは代わりとして、コンピュータシステムは、論理的な固定接続または他の方式で回路(例えば、アクセラレータ(1144))に体現されることで機能を提供し、該回路は、ソフトウェアの代わりとして、またはソフトウェアとともに操作することで、本明細書に記載の特定プロセスまたは特定プロセスの特定部分を実行できる。適切な場合、言及のソフトウェアにはロジックが含まれ、逆に、言及ロジックにはソフトウェアが含まれてもよい。適切な場合、言及のコンピュータ読み取り可能な媒体には、実行するためのソフトウェアが記憶される回路(例えば、集積回路(IC))、実行するためのロジックを体現する回路、或いは前記両者が含まれてもよい。本開示内容にはハードウェアとソフトウェアとの任意の適切な組み合わせが含まれる。
本開示内容には若干の例示性の実施例が記載されているが、本開示内容の範囲内にある変更、置き換え及びいろんな置換等価物が存在する。従って、本明細書には明らかに記載されていないが、本開示内容の原理を体現し本開示内容の精神及び範囲内に属する多いシステム及び方法は、当業者にとって想到し得る。
(1)復号器のビデオ復号化のための方法であって、前記方法において、符号化されたビデオビットストリームから現在ピクチャを取得し、前記現在ピクチャに含まれる現在ブロックに対して、前記現在ピクチャと異なる参照ピクチャに含まれる参照ブロックを認識し、前記現在ブロックは複数のサブブロック(CBSB)に分割され、前記参照ブロックは、前記複数のCBSBにおける異なるCBSBにそれぞれ対応する複数のサブブロック(RBSB)を有し、前記RBSBの参照ピクチャが前記現在ピクチャであるかどうかを決定し、前記RBSBの参照ピクチャが前記現在ピクチャであるという決定に応答し、前記RBSBの符号化モードをフレーム内モードに決定し、前記RBSBの参照ピクチャが前記現在ピクチャではないという決定に応答し、(i)前記CBSBのうちの1つのCBSBに対して、前記RBSBの符号化モードがフレーム内モードとフレーム間モードのうちの1つであるかどうかを決定し、及び(ii)対応するRBSBの符号化モードが前記フレーム内モードと前記フレーム間モードのうちの1つであるかどうかに基づき、前記CBSBのうちの前記1つのCBSBの動きベクトル予測値を決定する。
(2)前記対応するRBSBの符号化モードは前記フレーム内モードであるという決定に応答し、前記1つのCBSBについて決定する動きベクトル予測値をデフォルト動きベクトルに設定する特徴(1)に記載の方法。
(3)前記デフォルト動きベクトルは、(i)ゼロ動きベクトル、及び(ii)前記CBSBと前記RBSBとの間のずれのうちの1つである特徴(2)に記載の方法。
(4)前記対応するRBSBの符号化モードは前記フレーム間モードであるという決定に応答し、前記1つのCBSBについて決定する動きベクトル予測値は前記対応するRBSBに関連する動きベクトル予測値に基づく特徴(1)〜(3)のいずれか1項に記載の方法。
(5)決定する動きベクトル予測値は、前記対応するRBSBに関連する前記動きベクトル予測値のスケーリングバージョンである特徴(4)に記載の方法。
(6)前記現在ブロックに隣接するブロックに関連する動きベクトル予測値に基づき、前記参照ブロックを認識する特徴(1)〜(5)のいずれか1項に記載の方法。
(7)前記参照ピクチャは、前記現在ピクチャに関連する参照ピクチャシーケンスからの第1参照ピクチャである特徴(1)〜(6)のいずれか1項に記載の方法。
(8)処理回路を有するビデオ復号化のためのビデオ復号器であって、前記処理回路は以下のように配置され、符号化されたビデオビットストリームから現在ピクチャを取得し、前記現在ピクチャに含まれる現在ブロックに対して、前記現在ピクチャと異なる参照ピクチャに含まれる参照ブロックを認識し、前記現在ブロックは複数のサブブロック(CBSB)に分割され、前記参照ブロックは、前記複数のCBSBにおける異なるCBSBにそれぞれ対応する複数のサブブロック(RBSB)を有し、前記RBSBの参照ピクチャが前記現在ピクチャであるかどうかを決定し、前記RBSBの参照ピクチャが前記現在ピクチャであるという決定に応答し、前記RBSBの符号化モードをフレーム内モードに決定し、前記RBSBの参照ピクチャが前記現在ピクチャではないという決定に応答し、(i)前記CBSBのうちの1つのCBSBに対して、前記RBSBの符号化モードがフレーム内モードとフレーム間モードのうちの1つであるかどうかを決定し、及び(ii)対応するRBSBの符号化モードが前記フレーム内モードと前記フレーム間モードのうちの1つであるかどうかに基づき、前記CBSBのうちの前記1つのCBSBの動きベクトル予測値を決定する。
(9)前記対応するRBSBの符号化モードは前記フレーム内モードであるという決定に応答し、前記1つのCBSBについて決定する動きベクトル予測値をデフォルト動きベクトルに設定する特徴(8)に記載のビデオ復号器。
(10)前記デフォルト動きベクトルは、(i)ゼロ動きベクトル、及び(ii)前記CBSBと前記RBSBとの間のずれのうちの1つである特徴(9)に記載のビデオ復号器。
(11)前記対応するRBSBの符号化モードは前記フレーム間モードであるという決定に応答し、前記1つのCBSBについて決定する動きベクトル予測値は前記対応するRBSBに関連する動きベクトル予測値に基づく特徴(8)〜(10)のいずれか1項に記載のビデオ復号器。
(12)決定する動きベクトル予測値は前記対応するRBSBに関連する前記動きベクトル予測値のスケーリングバージョンである特徴(11)に記載のビデオ復号器。
(13)前記現在ブロックに隣接するブロックに関連する動きベクトル予測値に基づき、前記参照ブロックを認識する特徴(8)〜(12)のいずれか1項に記載のビデオ復号器。
(14)前記参照ピクチャは、前記現在ピクチャに関連する参照ピクチャシーケンスからの第1参照ピクチャである特徴(8)〜(13)のいずれか1項に記載のビデオ復号器。
(15)命令が記憶された非一時的なコンピュータ読み取り可能な媒体であって、前記命令はビデオ復号器におけるプロセッサによって実行される場合、前記プロセッサに、以下の操作が含まれる方法を実行させ、符号化されたビデオビットストリームから現在ピクチャを取得し、前記現在ピクチャに含まれる現在ブロックに対して、前記現在ピクチャと異なる参照ピクチャに含まれる参照ブロックを認識し、前記現在ブロックは複数のサブブロック(CBSB)に分割され、前記参照ブロックは、前記複数のCBSBにおける異なるCBSBにそれぞれ対応する複数のサブブロック(RBSB)を有し、前記RBSBの参照ピクチャが前記現在ピクチャであるかどうかを決定し、前記RBSBの参照ピクチャが前記現在ピクチャであるという決定に応答し、前記RBSBの符号化モードをフレーム内モードに決定し、前記RBSBの参照ピクチャが前記現在ピクチャではないという決定に応答し、(i)前記CBSBのうちの1つのCBSBに対して、前記RBSBの符号化モードがフレーム内モードとフレーム間モードのうちの1つであるかどうかを決定し、及び(ii)対応するRBSBの符号化モードが前記フレーム内モードと前記フレーム間モードのうちの1つであるかどうかに基づき、前記CBSBのうちの前記1つのCBSBの動きベクトル予測値を決定する。
(16)前記対応するRBSBの符号化モードは前記フレーム内モードであるという決定に応答し、前記1つのCBSBについて決定する動きベクトル予測値をデフォルト動きベクトルに設定する特徴(15)に記載の非一時的なコンピュータ読み取り可能な媒体。
(17)前記デフォルト動きベクトルは、(i)ゼロ動きベクトル、及び(ii)前記CBSBと前記RBSBとの間のずれのうちの1つである特徴(16)に記載の非一時的なコンピュータ読み取り可能な媒体。
(18)前記対応するRBSBの符号化モードは前記フレーム間モードであるという決定に応答し、前記1つのCBSBについて決定する動きベクトル予測値は前記対応するRBSBに関連する動きベクトル予測値に基づく特徴(15)〜(17)のいずれか1項に記載の非一時的なコンピュータ読み取り可能な媒体。
(19)決定する動きベクトル予測値は前記対応するRBSBに関連する前記動きベクトル予測値のスケーリングバージョンである特徴(18)に記載の非一時的なコンピュータ読み取り可能な媒体。
(20)前記現在ブロックに隣接するブロックに関連する動きベクトル予測値に基づき、前記参照ブロックを認識する特徴(15)〜(19)のいずれか1項に記載の非一時的なコンピュータ読み取り可能な媒体。
付録A:頭字語
MV:動きベクトル
HEVC:高効率ビデオ符号化
SEI:補充強化情報
VUI:ビデオユーザビリティ情報
GOP:ピクチャグループ
TU:変換ユニット
PU:予測ユニット
CTU:符号化ツリーユニット
CTB:符号化ツリーブロック
PB:予測ブロック
HRD:仮想参照復号器
SNR:信号対雑音比
CPU:中央処理ユニット
GPU:グラフィック処理ユニット
CRT:陰極線管
LCD:液晶ディスプレイ
OLED:有機発光ダイオード
CD:コンパクトディスク
DVD:デジタルビデオコンパクトディスク
ROM:読み取り専用メモリ
RAM:ランダムアクセスメモリ
ASIC:特定用途向け集積回路
PLD:プログラマブルロジックデバイス
LAN:ローカルエリアネットワーク
GSM:グローバルモバイルシステムオブシステム
LTE:ロングタームエボリューション
CANBus:コントローラエリアネットワークバス
USB:ユニバーサルシリアルバス
PCI:周辺コンポーネント相互接続
FPGA:フィールドプログラム可能なゲートアレイ
SSD:ソリッドステートドライブ
IC:集積回路
CU:符号化ユニット
本開示内容は、2018年6月4日にて提出されたアメリカ仮出願No. 62/680,468「METHODS FOR SUB−BLOCK
BASED TEMPORAL MOTION
VECTOR PREDICTION(サブブロックに基づく時間的動きベクトルの予測方法)」の優先権を主張して、該出願の全ての内容は本出願に援用される。
本開示内容は、一般的にビデオ符号化に関する実施例を記載する。
本明細書で提供される背景記載は、本開示内容の背景を総体的に体現することを目的とする。該背景技術部分に記載の作業程度から見れば、現在署名の発明者の作業、及び提出の際別に従来技術の記載として限定されていない態様について、明確且つ暗黙的に本開示内容に対する従来技術として認められない。
この数十年以来、動き補償を有するピクチャ間予測によってビデオ符号化と復号化を実行することが知られている。圧縮されていないデジタルビデオは一連のピクチャを有し、各々のピクチャは空間次元を備え、例えば1920×1080輝度サンプルと関連のクロミナンスサンプルがある。該一連のピクチャは、例えば、一秒60個ピクチャまたは60Hzの固定または可変のピクチャレート(非公式にフレームレートとも呼ばれる)を有してもよい。圧縮されていないビデオは高いビットレートの要求を有する。例えば、1サンプルあたり8ビットの1080p60 4:2:0ビデオ(60
Hzフレームレートで、1920×1080の輝度サンプルの解像度)は、約1.5 Gbit/sの帯域幅を必要とする。1時間のこのようなビデオは、600GB以上の記憶空間を必要とする。
ビデオ符号化及び復号化は、圧縮により、ビデオ信号入力における冗長を減少させることを1つの目的とする。圧縮は、以上に言及された帯域幅または記憶空間に対する需求を減少させることに寄与し、ある状況で、2桁以上減少させる。可逆圧縮、非可逆圧縮、及びその組み合わせを利用できる。可逆圧縮は、圧縮された元の信号から元の信号の正確なコピーを再構築する技術を指す。非可逆圧縮を利用する場合、再構築された信号は元の信号と異なるかもしれないが、元の信号と再構築された信号との間の歪みは、再構築された信号が意図したアプリケーションに有用であるのに十分な小ささである。ビデオの場合、非可逆圧縮は大幅に応用される。許容される歪み量はアプリケーションに依存し、例えば、テレビ貢献アプリケーションのユーザーより、消費者ストリーミングアプリケーションのユーザーの方が高い歪みを許容する。達成可能な圧縮比は、許可/許容可能な歪みが高いほど圧縮比が高くなることを反映する。
動き補償は非可逆圧縮技術であってもよく、以下の技術、すなわち、前に構築されたピクチャまたはその一部(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以下MVと呼ばれる)が指示する方向に空間的にシフトされた後に、新たに再構築されるピクチャまたはピクチャ部分を予測するのに使用されるという技術に関わる。ある状況で、参照ピクチャは現在再構築中のピクチャと同であってもよい。MVはXとYという2つの次元を有してもよいし、3つの次元を有してもよく、第3次元は利用中の参照ピクチャの指示である(後者は間接的に時間次元であってもよい)。
いくつかのビデオ圧縮技術において、サンプルデータのある領域に適用するMV、例えば、再構築される領域に空間的に隣接するサンプルデータの他の領域に関するものからなど、他のMVから予測されることができ、復号化の順序で該MV予測する。このようにして、MVの符号化に必要なデータ量を大幅に減少させ、冗長をなくし、圧縮を高める。MVの予測は効果的に働く。何故なら、例えば、撮影装置から導出されたビデオ入力信号(ナチュラルビデオと呼ばれる)に対して符号化を行う際、単一MVが適用可能である領域より大きい領域類似の方向移動し、そのため、ある状況で、隣接領域のMVから導出された類似の動きベクトルによって予測できるという統計上の可能性が存在するからである。これによって、特定領域に対して見つけられたMVは、周辺MVから予測されたMVと類似または同になるとともに、エントロピー符号化の後、MVに対して直接的に符号化を行う場合使用されるものよりも少ないビット表されることができる。ある状況で、MV予測は元の信号(即ちサンプルストリーム)から導出される信号(即ちMV)の可逆圧縮の例示であってもよい。他の状況で、MV予測そのものは非可逆であってもよく、例えば、その原因は、幾つかの周辺MVから予測値を計算する際の丸め誤差である。
H.265/HEVC(ITU−T勧告H.265「高効率ビデオ符号化/復号化(High
Efficiency Video Coding)」、2016年12月)には、各種のMV予測メカニズムが記載されている。H.265により提供される多種のMV予測メカニズムにおいて、本出願が記載するのは、以下で「空間マージ」と呼ばれる技術である。
いくつかの形式のフレーム間予測は、サブブロックレベルで実行される。ただし、サブブロックに基づく時間的動きベクトル予測モード、例えば、代替時間的動きベクトル予測(ATMVP)及び時空間動きベクトル予測(STMVP)は、フレーム間モードで、対応するサブブロックを符号化するように要求する。ただし、これらの時間的動きベクトル予測モードは、フレーム内ブロックコピーモードのようなフレーム内モードで符号化されるサブブロックを処理できない。
本開示内容の例示性の実施例は、復号器のビデオ復号化のための方法を含む。該方法は以下を含み、符号化されたビデオビットストリームから現在ピクチャを取得する。該方法はさらに以下を含み、現在ピクチャに含まれる現在ブロックに対して、現在ピクチャとは異なる参照ピクチャに含まれる参照ブロックを特定し、現在ブロックは複数のサブブロック(CBSB)に分割され、参照ブロックは、各々が複数のCBSBのうちの異なるCBSBに対応する複数のサブブロック(RBSB)を有する。該方法はさらに以下を含み、RBSBの参照ピクチャが現在ピクチャであるかどうかを決定し、RBSBの参照ピクチャが現在ピクチャであると決定したことに応答し、RBSBの符号化モードをフレーム内モードとして決定する。該方法はさらに以下を含み、RBSBの参照ピクチャが現在ピクチャではないと決定したことに応答し、(i)CBSBのうちの1つのCBSBに対して、対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかを決定し、及び(ii)対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかに基づき、CBSBのうちの前記1つのCBSBについての動きベクトル予測値を決定する。
本開示内容の例示性の実施例は、ビデオ復号化のためのビデオ復号器を含む。該ビデオ復号器は処理回路を有し、該処理回路は、符号化されたビデオビットストリームから現在ピクチャを取得するように構成される。該処理回路はさらに、現在ピクチャに含まれる現在ブロックに対して、現在ピクチャと異なる参照ピクチャに含まれる参照ブロックを特定するように構成され、現在ブロックは複数のサブブロック(CBSB)に分割され、参照ブロックは、各々が複数のCBSBのうちの異なる1つのCBSBに対応する複数のサブブロック(RBSB)を有する。該処理回路はさらに、RBSBの参照ピクチャが現在ピクチャであるかどうかを決定し、及びRBSBの参照ピクチャが現在ピクチャであると決定したことに応答し、RBSBの符号化モードをフレーム内モードとして決定する、ように構成される。該処理回路はさらに、RBSBの参照ピクチャが現在ピクチャではないと決定したことに応答し、(i)CBSBのうちの1つのCBSBに対して、対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかを決定し、及び(ii)対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかに基づき、CBSBのうちの前記1つのCBSBについての動きベクトル予測値を決定する。
本開示内容的の例示性の実施例は、命令が記憶された非一時的なコンピュータ読み取り可能な媒体を含み、該命令はビデオ復号器におけるプロセッサによって実行されるときに、プロセッサに1つの方法を実行させる。該方法は、符号化されたビデオビットストリームから現在ピクチャを取得することを含む。該方法はさら、現在ピクチャに含まれる現在ブロックに対して、現在ピクチャと異なる参照ピクチャに含まれる参照ブロックを特定することを含み、現在ブロックは複数のサブブロック(CBSB)に分割され、参照ブロックは、各々が複数のCBSBのうちの異なる1つのCBSBに対応する複数のサブブロック(RBSB)を有する。該方法はさら、RBSBの参照ピクチャが現在ピクチャであるかどうかを決定し、RBSBの参照ピクチャが現在ピクチャであると決定したことに応答し、RBSBの符号化モードをフレーム内モードとして決定することを含む。該方法はさら、RBSBの参照ピクチャが現在ピクチャではないと決定したことに応答し、(i)CBSBのうちの1つのCBSBに対して、対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかを決定し、及び(ii)対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかに基づき、CBSBのうちの前記1つのCBSBについての動きベクトル予測値を決定することを含む
以下の詳しい記載及び図面に基づき開示されるテーマの他の特徴、性質及び各利点はより明確になる。
1つの実施例に基づく通信システム(100)の簡略化ブロック図の模式図である。 1つの実施例に基づく通信システム(200)の簡略化ブロック図の模式図である。 1つの実施例に基づく復号器の簡略化ブロック図の模式図である。 1つの実施例に基づく符号器の簡略化ブロック図の模式図である。 他の実施例に基づく符号器のブロック図を示す。 他の実施例に基づく復号器のブロック図を示す。 フレーム内ピクチャブロック補償の模式図である。 現在ブロック及び現在ブロックの周囲空間マージ候補の模式図である。 現在ブロックのサブブロック及び参照ブロックの対応するサブブロックの模式図である。 符号器または復号器により実行されるプロセスの実施例を示す。 1つの実施例に基づくコンピュータシステムの模式図である。
図1は、本開示内容の1つの実施例に基づく通信システム(100)の簡略化ブロック図を示す。通信システム(100)は、例えばネットワーク(150)を介して互いに通信できる複数の端末機器を有する。例えば、通信システム(100)は、ネットワーク(150)を介して互いに接続される第1対の端末機器(110)、(120)を有する。図1の例示において、第1対の端末機器(110)、(120)は一方向のデータ伝送を実行する。例えば、端末機器(110)はビデオデータ(例えば、端末機器(110)によりキャプチャされたビデオピクチャストリーム)を符号化することで、ネットワーク(150)を介して他の端末機器(120)に伝送する。符号化されたビデオデータは1つ又は複数の符号化されたビデオビットストリームという形式で伝送されてもよい。端末機器(120)はネットワーク(150)から符号化されたビデオデータを受信し、符号化されたビデオデータを復号化することで、前記ビデオピクチャを回復させ、回復されたビデオデータに基づき、ビデオピクチャを表示する。一方向のデータ伝送はメディアサービスアプリケーションなどにおいて、よく見られる。
他の例示において、通信システム(100)は、例えばビデオ会議に発生した符号化されたビデオデータの双方向伝送を実行するための第2対の端末機器(130)、(140)を含む。双方向データ伝送について、例示において、端末機器(130)、(140)における各端末機器は、ビデオデータ(例えば、端末機器によりキャプチャされたビデオピクチャストリーム)を符号化することで、ネットワーク(150)を介して端末機器(130)、(140)における他の端末機器に伝送する。端末機器(130)、(140)における各端末機器はさらに、端末機器(130)、(140)における他の端末機器から伝送され符号化されたビデオデータを受信し、符号化されたビデオデータを復号化することで、前記ビデオピクチャを回復させ、回復されたビデオデータに基づき、アクセスできる表示機器に、ビデオピクチャを表示できる。
図1の例示において、端末機器(110)、(120)、(130)及び(140)はサーバ、パーソナルコンピュータ及びスマートフォンとして示されるが、本開示内容の原理はこれに限定されない。本開示内容の実施例はラップトップコンピュータ、タブレット、メディアプレイヤー及び/または専門ビデオ会議機器に適用される。ネットワーク(150)は端末機器(110)、端末機器(120)、端末機器(130)及び端末機器(140)の間で符号化されたビデオデータを伝送するための、例えば有線接続(ワイヤード)及び/または無線通信ネットワークを含む任意の数のネットワークを示す。通信ネットワーク(150)は回路交換及び/またはパケット交換チャネルにおいてデータを交換できる。代表的なネットワークには電気通信ネットワーク、ローカルエリアネットワーク、広域エリアネットワーク及び/またはインターネットが含まれる。本論述の目的から見れば、特に説明しない限り、ネットワーク(150)のアーキテクチャ及びトポロジは、本開示内容の操作に対して重要ではない。
開示のテーマの応用例示として、図2はビデオ符号器と復号器との、ストリーミング伝送環境における配置方式を示す。開示のテーマは例えばビデオ会議、デジタルテレビ、(CD、DVD、メモリースティックなどが含まれるデジタル媒体上への圧縮されたビデオの格納などの、ビデオ機能を持つ他のアプリケーションにも等しく適用可能である
ストリーミング伝送システムは、キャプチャサブシステム(213)を含み、該キャプチャサブシステム(213)は、例えば未圧縮のビデオピクチャストリーム(202)を構築するための、デジタル撮影装置のようなビデオソース(201)を含む。例示において、ビデオピクチャストリーム(202)は、デジタル撮影装置により撮影されたサンプルを含む。符号化されたビデオデータ(204)(または符号化されたビデオビットストリーム)と比較する場合データ量が多いことを強調するように太線として描画されるビデオピクチャストリーム(202)は、ビデオソース(201)に連結されるビデオ符号器(203)を含む電子機器(220)によって処理される。ビデオ符号器(203)はハードウェア、ソフトウェアまたはその組み合わせを含むことで、以下により詳しく記載される開示のテーマの各態様を実現または実施する。ビデオピクチャストリーム(202)と比較する場合データ量が少ないことを強調するように細線として描画される符号化されたビデオデータ(204)(または符号化されたビデオビットストリーム(204))はストリーミングサーバ(205)に記憶されることで、後で用いられる。図2におけるクライアントサブシステム(206)、(208)のような1つ又は複数のストリーミングクライアントサブシステムは、ストリーミングサーバ(205)にアクセスすることで、符号化されたビデオデータ(204)のコピー(207)、(209)を取り出すことができる。クライアントサブシステム(206)は、例えば電子機器(230)におけるビデオ復号器(210)を含む。ビデオ復号器(210)は、到着する符号化されたビデオデータのコピー(207)を復号化し、ディスプレイ(212)(例えば、スクリーン)または他の表示機器(図示せず)に表示される出力ビデオピクチャストリーム(211)を構築する。あるストリーミング伝送システムにおいて、あるビデオ符号化/圧縮標準に基づき、符号化されたビデオデータ(204)、(207)及び(209)(例えば、ビデオビットストリーム)を符号化することができる。これらの標準の例示はITU−T勧告H.265を含む。例示において、開発中のビデオ符号化標準は、非公式に多用途ビデオコーディングまたはVVCと呼ばれる。開示のテーマはVVCのコンテキストに適用される。
なお、電子機器(220)、電子機器(230)は他のコンポーネント(図示せず)を含んでもよ。例えば、電子機器(220)はビデオ復号器(図示せず)を含んでもよく、電子機器(230)はビデオ符号器(図示せず)を含んでもよい。
図3は、本開示内容の1つの実施例に基づくビデオ復号器(310)のブロック図を示す。ビデオ復号器(310)は電子機器(330)に含まれる。電子機器(330)は受信器(331)(例えば、受信回路)を含んでもよい。ビデオ復号器(310)は、図2の例示におけるビデオ復号器(210)の代わりとしてもよい。
受信器(331)は、ビデオ復号器(310)によって復号化される1つ又は複数の符号化されたビデオシーケンスを受信でき、同一の実施例または他の実施例において、1回に1つの符号化されたビデオシーケンスを受信し、各符号化されたビデオシーケンスの復号化は、他の符号化されたビデオシーケンスと独立する。チャンネル(301)から符号化されたビデオシーケンスを受信してもよく、チャンネル(301)は符号化されたビデオデータを記憶するための記憶機器に達するハードウェア/ソフトウェアリンクであってもよい。受信器(331)は、符号化されたビデオデータを、それぞれの利用エンティティ(図示せず)に転送され得る例えば符号化されたオーディオデータ及び/または補助データストリームといった他のデータとともに受信できる。受信器(331)は符号化されたビデオシーケンスと他のデータとを分離できる。ネットワークのジッタを防止するために、バッファメモリ(315)受信器(331)とエントロピー復号器/パーサー(320)(以下は、「パーサー(320)」と呼ばれる)との間に連結される。いくつかの応用において、バッファメモリ(315)はビデオ復号器(310)の一部である。他の応用において、バッファメモリ(315)はビデオ復号器(310)の外部にあってもよい(図示せず)。さらに、他の応用において、ビデオ復号器(310)の外部にバッファメモリ(図示せず)が設けられることで、例えばネットワークのジッタを防止し、ビデオ復号器(310)の内部に別のバッファメモリ(315)が設けられることで、例えば、放送タイミングを処理することができる。受信器(331)が、十分な帯域幅及び制御可能性を有する記憶/転送機器、またはアイソクロナスネットワークからデータを受信するときには、バッファメモリ(315)を必要としないか、または、バッファメモリ(315)が小さくてもよい。例えば、インターネットのようなベストエフォート型パケットネットワークで使用される場合、バッファメモリ(315)必要とされ、相当に大きくされ、有利に適応的なサイズのものにされ、また、少なくとも一部的に、ビデオ復号器(310)の外部にあるオペレータシステムまたは類似の要素(図示せず)にて実装され得る
ビデオ復号器(310)は、符号化されたビデオシーケンスに基づき符号(321)を再構築するパーサー(320)を有する。これらの符号のカテゴリにはビデオ復号器(310)の操作を管理するための情報、及び表示機器(312)(例えば、スクリーン)のような表示機器を制御するための潜在情報が含まれ、図3に示すように、該表示機器(312)は電子機器(330)の一体部分ではなく、電子機器(330)に連結される。(1つ又は複数の)表示機器に用いられる制御情報は補充強化情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)パラメータセットセグメント(図示せず)という形式であってもよい。パーサー(320)は受信された、符号化されたビデオシーケンスに対して解析/エントロピー復号化を行う。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または標準に基づくとともに、可変長符号、ハフマン符号(Huffman
coding)、コンテキスト感度を有するかまたは有していない算術符号などのような各種原理に従う。パーサー(320)はグループに対応する少なくとも1つのパラメータに基づき、符号化されたビデオシーケンスから、ビデオ復号器における画素のサブグループのうちの少なくとも1つのサブグループのためのサブグループパラメータセットを抽出する。サブグループには、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などが含まれる。パーサー(320)はさらに符号化されたビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトルなどのような情報を抽出できる。
パーサー(320)は、バッファメモリ(315)から受信したビデオシーケンスに対してエントロピー復号化/解析操作を実行することで、符号(321)を構築することができる。
符号化されたビデオピクチャまたはその一部(例えば、フレーム間ピクチャ及びフレーム内ピクチャ、フレーム間ブロック及びフレーム内ブロック)のタイプ及び他の要因に依存し、符号(321)の再構築は複数の異なるユニットに関わる。どのユニットに関わるか、及び関わる方式は、パーサー(320)が符号化されたビデオシーケンスから解析したサブグループ制御情報によって制御できる。簡潔のために、パーサー(320)と以下の複数のユニットとの間にある、このようなサブグループ制御情報ストリームを記載していない。
既に言及された機能ブロック以外、ビデオ復号器(310)は概念的に以下に記載のいくつかの機能ユニットに細分できる。商業制約の下動作する実際の実現方式において、これらのユニットにおける複数のユニットは互いに密接にインタラクトするとともに、少なくとも部分的に互いに集積されてもよい。ただし、開示のテーマを説明するという目的から見れば、概念的に以下の機能ユニットに細分されることは適切である。
第1ユニットはスケーラ/逆変換ユニット(351)である。スケーラ/逆変換ユニット(351)はパーサー(320)から、(1つ又は複数の)符号(321)として量子化変換係数と、どんな変換方式を利用するか、ブロックの大きさ、量子化因子、量子化スケーリング行列などを含む制御情報と、を受信する。スケーラ/逆変換ユニット(351)は、アグリゲーター(355)に入力されるサンプル値が含まれるブロックを出力できる。
ある状況で、スケーラ/逆変換ユニット(351)の出力サンプルはフレーム内符号ブロック、即ち、前に再構築されたピクチャからの予測情報を利用しないが、現在ピクチャのうちの前に再構築された部分からの予測情報を利用できるブロック、に属し得る。このような予測情報はフレーム内ピクチャ予測ユニット(352)から提供される。ある状況で、フレーム内ピクチャ予測ユニット(352)は現在ピクチャバッファ(358)からフェッチされた周辺の既に再構築された情報を用いて、再構成中のブロックの同じ大きさ及び形状ブロックを生成する。例えば、現在ピクチャバッファ(358)は部分的に再構築された現在ピクチャ及び/または完全に再構築された現在ピクチャをバッファリングする。ある状況で、アグリゲーター(355)は各サンプルに基づき、フレーム内予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供された出力サンプル情報に追加する。
他の状況で、スケーラ/逆変換ユニット(351)の出力サンプルはフレーム間符号化された、動き補償された可能性のあるブロックに属してもよい。このような状況で、動き補償予測ユニット(353)は参照ピクチャメモリ(357)にアクセスして、予測に使用されたサンプルをフェッチすることができる。該ブロックに関する符号(321)に基づき、フェッチされたサンプルに対して動き補償を行った後、これらのサンプルが、アグリゲーター(355)により、スケーラ/逆変換ユニット(351)の出力に追加されることで(この場合、残差サンプルまたは残差信号と呼ばれる)、出力サンプル情報生成される。動き補償予測ユニット(353)が予測サンプルをフェッチする参照ピクチャメモリ(357)内のアドレスは、動きベクトルによって制御でき、動きベクトルは符号(321)の形式で、動き補償予測ユニット(353)に用いられ、符号(321)は、例えばX、Y及び参照ピクチャ成分を有してもよい。動き補償はさらに、サブサンプルの正確な動きベクトルを使用する際参照ピクチャメモリ(357)からフェッチされたサンプル値の補間、動きベクトル予測メカニズムなどを含んでもよい。
アグリゲーター(355)の出力サンプルは、ループフィルタユニット(356)において、各種のループフィルタリング技術を利用できる。ビデオ圧縮技術はインループフィルタ技術を含むことができ、ループ内フィルタ技術は、符号化されたビデオシーケンス(符号化されたビデオビットストリームとも呼ばれる)に含められてパーサー(320)からの符号(321)としてループフィルタユニット(356)に利用可能にされるパラメータによって制御されるが、符号化されたピクチャまたは符号化されたビデオシーケンスの(復号化の順序で)の前の部分を復号化する間に取得されたメタ情報にも応答することができるとともに、前に再構築されループフィルタリングを経サンプル値に応答することができる。
ループフィルタユニット(356)の出力は、表示機器(312)に出力されることが可能なサンプルストリームとすることができ、また、後のフレーム間ピクチャ予測での使用のために参照ピクチャメモリ(357)に記憶されることができる
完全に再構成されると、ある符号化されたピクチャは参照ピクチャとして、後の予測に用いることができる。例えば、現在ピクチャに対応する符号化されたピクチャが完全に再構成され、符号化されたピクチャが(例えばパーサー(320)によって)参照ピクチャとして特定されると、現在ピクチャバッファ(358)は参照ピクチャメモリ(357)の一部になり、その後の符号化されたピクチャを再構成する前に、新たな現在ピクチャバッファを改めて割り当てる。
ビデオ復号器(310)は、例えばITU−T勧告H.265などの標準における所定ビデオ圧縮技術に基づき、復号化操作を実行することができる。符号化されたビデオシーケンスは、ビデオ圧縮技術または標準の文法、及びビデオ圧縮技術または標準に記録されたコンフィグファイルという両者に従うという意味で、符号化されたビデオシーケンスは使用中のビデオ圧縮技術または標準が指定する文法に従う。具体的に、コンフィグファイルはビデオ圧縮技術または標準における利用可能な全てのツールから、該コンフィグファイルで利用可能な唯一のツールとして、いくつかのツールを選択できる。準拠性について、符号化されたビデオシーケンスの複雑度が、ビデオ圧縮技術または標準のレベルによって定められる限度内にあるように要求する。ある状況で、レベルは最大ピクチャサイズ、最大フレームレート、最大再構築サンプリングレート(例えば、メガサンプル/秒測定する)、最大参照ピクチャサイズを制限する。ある状況で、レベルによって設定される制限は、仮想参照復号器(Hypothetical Reference Decoder;HRD)の仕様、及び符号化されたビデオシーケンスにおいてシグナリングされHRDバッファ管理用のメタデータを介してさらに限定される。
1つの実施例において、受信器(331)は符号化されたビデオとともに追加(冗長)データを受信できる。追加データは(1つ又は複数の)符号化されたビデオシーケンスの一部として含められ得る。追加データビデオ復号器(310)によって利用されることで、データを適切に復号化し、及び/またはオリジナルビデオデータをより正確に再構築することができる。追加データは、例えば時間、空間または信号対雑音比(SNR)強化層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形式であってもよい。
図4は、本開示内容の1つの実施例に基づくビデオ符号器(403)のブロック図を示す。ビデオ符号器(403)は電子機器(420)に含まれる。電子機器(420)は送信器(440)(例えば、送信回路)を有する。ビデオ符号器(403)は図2の例示におけるビデオ符号器(203)の代わりとしてもよい。
ビデオ符号器(403)は、ビデオ符号器(403)によって符号化されるビデオ像をキャプチャできるビデオソース(401)(図4の例示における電子機器(420)の一部ではな)からビデオサンプルを受信できる。他の例示において、ビデオソース(401)は電子機器(420)の一部である。
ビデオソース(401)は、ビデオ符号器(403)によって符号化される、デジタルビデオサンプルストリーム形式であるソースビデオシーケンスを提供し、該デジタルビデオサンプルストリームは、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット…)、任意の色空間(例えば、BT.601 Y CrCB、RGB……)、及び任意の適切なサンプリング構成(例えば、Y
CrCb 4:2:0、Y CrCb
4:4:4)を有してもよい。メディアサービスシステムにおいて、ビデオソース(401)は前に準備されたビデオを記憶するための記憶機器であってもよい。ビデオ会議システムにおいて、ビデオソース(401)はビデオシーケンスとして、ローカル画像情報をキャプチャするための撮影装置であってもよい。ビデオデータは、順に見たときに動きを伝える複数の個々のピクチャとして提供されてもよい。ピクチャそのものは、空間画素アレイとして組織され、使用中のサンプリング構成、色空間などに依存し各画素に1つ又は複数のサンプルが含まれてもよい。画素とサンプルとの間の関係は、当業者にとって容易に理解できる。以下の記載はサンプルに着目する。
1つの実施例に基づき、ビデオ符号器(403)は、リアルタイムまたはアプリケーションによって要求される他の時間制約下で、ソースビデオシーケンスのピクチャを、符号化されたビデオシーケンス(443)として符号化及び圧縮する。適切な符号化速度を強制することは、コントローラ(450)の1つの機能である。いくつかの実施例において、コントローラ(450)は以下に記載の他の機能ユニットを制御するとともに、他の機能ユニットに機能的に連結される。簡潔のために、該連結を図示していない。コントローラ(450)により設定されるパラメータは、レート制御に関するパラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のλ値......)、ピクチャサイズ、ピクチャグループ(GOP)の配置、最大動きベクトル探索範囲などを含んでもよい。コントローラ(450)は、特定のシステム設計に対して最適化したビデオ符号器(403)に関する他の適切な機能を有するように構成されてもよい
いくつかの実施例において、ビデオ符号器(403)は符号化ループにおいて動作するように構成される。非常に簡単な記載として、1つの例示において、符号化ループはソース符号器(430)(例えば、符号化対象となる入力ピクチャと(1つ又は複数)参照ピクチャに基づき、符号ストリームのような符号を構築することを担う)、及びビデオ符号器(403)に埋め込まれる(ローカル)復号器(433)を含む。復号器(433)は、(リモート)復号器がサンプルデータを構築するという方式で、符号を再構築し、サンプルデータを構築する(なぜならば、開示のテーマで考慮されるビデオ圧縮技術において、符号と符号化されたビデオビットストリームとの間の圧縮はいずれも可逆であるからである)。再構築されたサンプルストリーム(サンプルデータ)を参照ピクチャメモリ(434)に入力する。符号ストリームの復号化は、復号器位置(ローカルまたはリモート)と関係がないビット正確結果を発生させるから、参照ピクチャメモリ(434)におけるコンテンツはローカル符号器とリモート符号器との間でもビット正確である。言い換えば、符号器が参照ピクチャサンプルとして見る予測部分は、復号器が復号化中に予測を利用しようとする際に「見る」サンプル値と完全に同である。該参照ピクチャの同期性の基本原理は(及び、例えばチャンネル誤差から、同期性を維持できない場合に発生するドリフト)も関連分野に適用される。
「ローカル」復号器(433)の動作は、例えば、図3に関連して詳しく記載したビデオ復号器(310)の「リモート」復号器の動作と同様であってもよい。ただし、図3を簡単に参照するに、符号利用可能であり、且つエントロピー符号器(445)とパーサー(320)による符号符号化されたビデオシーケンスへの符号化/復号化は可逆とし得るので、バッファメモリ(315)とパーサー(320)とを含むビデオ復号器(310)のエントロピー復号化部分は、ローカル復号器(433)において完全に実装されなくてもよい
この場合、復号器に存在する解析/エントロピー復号化以外の如何なる復号器技術も、必、基本的に同じ機能的形態で、対応する符号器に存在する必要があるこれを理由に、開示のテーマは、復号器の動作に着目する。符号器技術は、全面的に記載された復号器技術の逆であるため、符号器技術に対する記載を簡略化し得る。特定の分野においてのみ、より詳細な説明が必要とされ、以下で提供される。
動作において、いくつかの例示において、ソース符号器(430)は動き補償予測符号化を実行でき、該動き補償予測符号化は、ビデオシーケンスからの、「参照ピクチャ」として指定された、前に符号化された1つ又は複数のピクチャを参照し、入力ピクチャ予測的に符号化する。該方式で、符号化エンジン(432)は入力ピクチャの画素ブロックと、入力ピクチャに対する(1つ又は複数の)予測基準として選択され得る(1つ又は複数の)参照ピクチャ画素ブロックとの間の差符号化する
ローカルビデオ復号器(433)は、ソース符号器(430)によって構築された符号に基づき、参照ピクチャとして指定できるピクチャの符号化されたビデオデータを復号化することができる。符号化エンジン(432)の操作は好ましくは非可逆処理である。符号化されたビデオデータがビデオ復号器(図4において図示せず)で復号化できると、再構築されたビデオシーケンスは、一般的にある程度誤差を有するソースビデオシーケンスのコピーであり得る。ローカルビデオ復号器(433)はビデオ復号器が参照ピクチャに対して実行する復号化処理をコピーするとともに、再構築された参照ピクチャを参照ピクチャキャッシュ(434)に記憶させる。該方式で、ビデオ符号器(403)は再構築された参照ピクチャのコピーをローカルに記憶し、該コピーは、リモートビデオ復号器によって取得される再構築の参照ピクチャと、共通のコンテンツを有する(伝送誤差がない)。
予測器(435)は、符号化エンジン(432)のために予測探索を実行することができる。即ち、符号化対象となる新たなピクチャに対して、予測器(435)は新たなピクチャに対する適切な予測参照としての役割を果たし得るサンプルデータ(候補参照画素ブロックとして)または例えば参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータについて、参照ピクチャメモリ(434)を検索し得る。予測器(435)はサンプルブロックに基づき、画素ブロックごとに操作することで、適切な予測参照を見つけることができる。ある状況で、予測器(435)によって取得された検索結果に基づき決定されるように、入力ピクチャは参照ピクチャメモリ(434)に記憶された複数の参照ピクチャから取得される予測参照を有してもよい。
コントローラ(450)は、例えばビデオデータを符号化するために使用されるパラメータとサブグループパラメータの設定を含め、ソース符号器(430)の符号化操作を管理できる。
エントロピー符号器(445)において、以上言及された全ての機能ユニットの出力に対してエントロピー符号化を行うことができる。エントロピー符号器(445)は、ハフマン符号化、可変長符号化、算術符号化などの当業者の既知の技術に基づき、各種の機能ユニットから生成された符号に対して可逆圧縮を行って、符号を符号化されたビデオシーケンスに変換する。
送信器(440)は、エントロピー符号器(445)によって構築された(1つ又は複数の)符号化されたビデオシーケンスをバッファリングすることで、通信チャンネル(460)を介して伝送するように準備し、該通信チャンネルは符号化されたビデオデータを記憶するための記憶機器に達するハードウェア/ソフトウェアリンクであってもよい。送信器(440)はビデオ符号器(403)からの符号化されたビデオデータと、伝送対象となる他のデータ、例えば符号化されたオーディオデータ及び/または補助データストリーム(ソースを図示せず)とをマージする。
コントローラ(450)は、ビデオ符号器(403)の操作を管理できる。符号化において、コントローラ(450)は各符号化されたピクチャに、それぞれのピクチャに適用される符号化技術に影響する可能性があるいくつかの符号化ピクチャタイプを割り当てる。例えば、一般的に、ピクチャに以下のピクチャタイプのうちの1つが割り当てられる。
フレーム内ピクチャ(Iピクチャ)、シーケンスにおけるいずれの他のピクチャも予測のソースとして使用せずに符号化及び復号化されるピクチャとし得る一部のビデオコーデックは、例えば独立復号器リフレッシュ(「IDR」)ピクチャを含め、異なるタイプのフレーム内ピクチャを許容する。当業者は、Iピクチャのそれら異形、並びにそれらそれぞれの用途及び特徴を知っている
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、多くても1つの動きベクトル及び参照インデックスを用いて、フレーム内予測またはフレーム間予測を利用して符号化及び復号化を行うピクチャとし得る
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、多くても2つの動きベクトル及び参照インデックスを用いて、フレーム内予測またはフレーム間予測を利用して符号化及び復号化を行うピクチャとし得る同様に、多重予測ピクチャは、2つより多い参照ピクチャと関連メタデータを、単一のブロックの再構築に使用できる。
ソースピクチャは一般的に、空間で複数のサンプルブロック(例えば、4×4、8×8、4×8または16×16個のサンプルのブロック)に細分できるとともに、ブロックごとに符号化を行う。ブロックは、それらブロックのそれぞれのピクチャに適用される符号化割当によって決定される他の(符号化された)ブロックを参照し測的に符号化され得る。例えば、Iピクチャのブロックは、非予測的に符号化され、または、Iピクチャのブロックは、同一のピクチャの既に符号化されたブロックを参照して予的に符号化(空間予測またはフレーム内予測)され得る。Pピクチャの画素ブロックは、前に符号化された1つの参照ピクチャを参照し、空間予測または時間予測を介して予測的に符号化され得る。Bピクチャのブロックは、前に符号化された1つまたは2つの参照ピクチャを参照し、空間予測または時間予測を介して予測的に符号化され得る
ビデオ符号器(403)は例えばITU−T勧告H.265などの所定のビデオ符号化技術または標準に基づき符号化操作を実行することができる。その操作において、ビデオ符号器(403)は、入力ビデオシーケンスにおける時間と空間冗長を利用した予測的な符号化操作を含む各種の圧縮操作を実行できる。従って、符号化されたビデオデータは、使用のビデオ符号化技術または標準が指定する文法に従い得る
1つの実施例において、送信器(440)は符号化されたビデオとともに追加データを送信することができる。ソース符号器(430)が、そのようなデータを、符号化されたビデオシーケンスの一部として含め得る。追加データは、時間/空間/SNR強化層、冗長ピクチャ及びスライスのような他の形式の冗長データ、補充強化情報(SEI)メッセージ、ビデオユーザビリティ情報(VUI)パラメータセットセグメントなどを含んでもよい。
キャプチャされたビデオは、時間シーケンスを呈する複数のソースピクチャ(ビデオピクチャ)としてもよい。フレーム内ピクチャ予測(しばしば、フレーム内予測と略される)は特定のピクチャにおける空間的相関を利用し、フレーム間ピクチャ予測はピクチャの間の(時間または他の)相関を利用する。例示において、現在ピクチャと呼ばれる符号化/復号化における特定ピクチャは、ブロックに分割される。現在ピクチャにおけるブロックは、ビデオにおける前に符号化され且つ依然としてバッファリングされる参照ピクチャにおける参照ブロックに類似する場合、動きベクトルと呼ばれるベクトルによって、現在ピクチャにおけるそのブロックを符号化することができる。前記動きベクトルは参照ピクチャにおける参照ブロックを指し、複数の参照ピクチャを利用する場合、参照ピクチャを特定するための第3次元を有し得る
いくつかの実施例において、双方向予測技術フレーム間ピクチャ予測に用いられる。双方向予測技術に基づき、復号化順でいずれもビデオにおける現在ピクチャの前(ただし、表示順では、それぞれ過去と将来にあることもある)にある、第1参照ピクチャと第2参照ピクチャのような2つの参照ピクチャを利用する。第1参照ピクチャにおける第1参照ブロックを指す第1動きベクトル、及び第2参照ピクチャにおける第2参照ブロックを指す第2動きベクトルによって現在ピクチャにおけるブロックを符号化することができる。第1参照ブロックと第2参照ブロックとの組み合わせで、ブロックを予測できる。
また、合併モード技術フレーム間ピクチャ予測に適用して、符号化効率を向上させることができる。
本開示内容のいくつかの実施例に基づき、ブロックごとにフレーム間ピクチャ予測及びフレーム内ピクチャ予測のような予測を実行する。例えば、HEVC標準によれば、ビデオピクチャシーケンスにおけるピクチャは、圧縮のために符号化ツリーユニット(CTU)に分割され、ピクチャにおけるCTUは、例えば64×64画素、32×32画素または16×16画素のような同じサイズを有する。一般的に、CTUは、1つの輝度CTBと2つのクロミナンスCTBとが含まれた3つの符号化ツリーブロック(CTB)を含む。各CTUは再帰、1つ又は複数の符号化ユニット(CU)に四分木(クワッドツリー)分割される。例えば、64×64画素であるCTUを64×64画素である1つのCU、または32×32画素である4つのCU、或いは16×16画素である16個のCUに分割する。例示において、各CUを分析することで、フレーム間予測タイプまたはフレーム内予測タイプのような、CUのための予測タイプを決定する。時間及び/または空間の予測可能性に依存し、CUは1つ又は複数の予測ユニット(PU)に分割される。一般的に、各PUは輝度予測ブロック(PB)と2つのクロミナンスPBとを含む。1つの実施例において、符号化(符号化/復号化)における予測操作は、予測ブロックごとに実行される。予測ブロックの例示として、輝度予測ブロックを利用し、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素などのような画素値(例えば、輝度値)の行列を含む。
図5は、本開示内容の他の実施例に基づくビデオ復号器(503)の図面を示す。該ビデオ符号器(503)は、ビデオピクチャシーケンスにおける現在ビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信するとともに、処理ブロックを符号化されたビデオシーケンスの一部としての符号化されたピクチャに符号化するように構成される。例示において、ビデオ符号器(503)は図2の例示におけるビデオ符号器(203)の代わりとして用いられる。
HEVC例示において、ビデオ符号器(503)は、処理ブロック、例えば8×8サンプルの予測ブロックなどのサンプル値の行列を受信する。ビデオ符号器(503)は、例えばレート歪み最適化によって、処理ブロックが最適に符号化されるのが、フレーム内モードを用いてなのか、フレーム間モードを用いてなのか、それとも双方向予測モードを用いてなのかを決定する。フレーム内モードで処理ブロックを符号化しようとすると、ビデオ符号器(503)はフレーム内予測技術によって、処理ブロックを符号化ピクチャに符号化し、フレーム間モードまたは双方向予測モードで処理ブロックを符号化しようとすると、ビデオ符号器(503)はそれぞれフレーム間予測または双方向予測技術によって、処理ブロックを符号化ピクチャに符号化することができる。あるビデオ符号化技術において、合併モードは、予測値の外部にある符号化された動きベクトル成分の利益なしで1つ又は複数の動きベクトル予測値から動きベクトルを導出するというフレーム間ピクチャ予測サブモードとし得る。ある他のビデオ符号化技術において、テーマブロックに適用される動きベクトル成分が存在し得る。例示において、ビデオ符号器(503)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)のような、他のコンポーネントを含む。
図5の例示において、ビデオ符号器(503)は図5に示すように連結されたフレーム間符号器(530)、フレーム内符号器(522)、残差計算器(523)、スイッチ(526)、残差符号器(524)、汎用コントローラ(521)及びエントロピー符号器(525)を含む。
フレーム間符号器(530)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、該ブロック参照ピクチャにおける1つ又は複数の参照ブロック(例えば、前のピクチャと後のピクチャにおけるブロック)と比較し、フレーム間予測情報(例えば、フレーム間符号化技術に基づく冗長情報、動きベクトル、合併モード情報の記述)を生成し、フレーム間予測情報に基づき、任意の適切な技術を利用してフレーム間予測結果(例えば、予測のブロック)を計算するように構成される。
フレーム内符号器(522)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、該ブロックを同一ピクチャ内の既に符号化されたブロックと比較し、変換後、量子化係数を生成し、場合によっては、さらにフレーム内予測情報(例えば、1つ又は複数のフレーム内符号化技術に基づくフレーム内予測方向情報)を生成するように構成される。
汎用コントローラ(521)は、汎用制御データを決定し、汎用制御データに基づき、ビデオ符号器(503)の他のコンポーネントを制御するように構成される。例示において、汎用コントローラ(521)はブロックのモードを決定し、該モードに基づき、制御信号をスイッチ(526)に提供する。例えば、モードがフレーム内モードである場合、汎用コントローラ(521)は、残差計算器(523)による使用のためにフレーム内モード結果を選択するようにスイッチ(526)を制御し、フレーム内予測情報を選択しフレーム内予測情報をビットストリームに含ませるようにエントロピー符号器(525)を制御する。モードがフレーム間モードである場合、汎用コントローラ(521)は、残差計算器(523)による使用のためにフレーム間予測結果を選択するように、スイッチ(526)を制御し、フレーム間予測情報を選択しフレーム間予測情報をビットストリームに含ませるように、エントロピー符号器(525)を制御する。
残差計算器(523)は、受信されたブロックと、フレーム内符号器(522)またはフレーム間符号器(530)から選択された予測結果との間の差(残差データ)を計算するように構成される。残差符号器(524)は、残差データに基づき動作することで、残差データを符号化し、変換係数を生成するように構成される。例示において、残差符号器(524)は、周波数領域における残差データを変換し、変換係数を生成するように構成される。そして、変換係数は量子化処理されて、量子化された変換係数を取得する。
エントロピー符号器(525)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピー符号器(525)はHEVC標準のような適切な標準に基づき、各種情報を含めるように構成される。例示において、エントロピー符号器(525)は汎用制御データ、選択された予測情報(例えば、フレーム内予測情報またはフレーム間予測情報)、残差情報及び他の適切な情報をビットストリームにめるように構成される。なお、開示のテーマによれば、フレーム間モードまたは双方向予測モードの合併サブモードでブロックを符号化する場合、残差情報存在しない。
図6は、本開示内容の他の実施例に基づくビデオ復号器(610)の図面を示す。ビデオ復号器(610)は、符号化されたビデオシーケンスの一部としての符号化されたピクチャを受信するとともに、符号化されたピクチャを復号化することで、再構築されたピクチャを生成するように配置される。例示において、ビデオ復号器(610)は、図2の例示におけるビデオ復号器(210)の代わりとして用いられる。
図6の例示において、ビデオ復号器(610)は図6に示すように連結されたエントロピー復号器(671)、フレーム間復号器(680)、残差復号器(673)、再構築モジュール(674)及びフレーム内復号器(672)を含む。
エントロピー復号器(671)は、符号化されたピクチャに基づき、符号化されたピクチャを構成する文法要素を示す特定の符号を再構築するように構成される。このような符号は、例えば、ブロックを符号化するためのモード(例えば、フレーム内モード、フレーム間モード、双方向予測モード、後の両者の合併サブモードまたは他のサブモード)、それぞれフレーム内復号器(672)またはフレーム間復号器(680)による予測に用いられる特定のサンプルまたはメタデータを認識できる予測情報(例えば、フレーム内予測情報またはフレーム間予測情報)、例えば量子化の変換係数という形式を呈する残差情報などを含む。例示において、予測モードがフレーム間または双方向予測モードである場合、フレーム間予測情報をフレーム間復号器(680)に提供し、予測タイプがフレーム内予測タイプである場合、フレーム内予測情報をフレーム内復号器(672)に提供する。残差情報は逆量子化を介して残差復号器(673)に提供される。
フレーム間復号器(680)は、フレーム間予測情報を受信し、フレーム間予測情報に基づき、フレーム間予測結果を生成するように構成される。
フレーム内復号器(672)は、フレーム内予測情報を受信し、フレーム内予測情報に基づき、予測結果を生成するように構成される。
残差復号器(673)は、逆量子化を実行することで、逆量子化された変換係数を抽出し、逆量子化された変換係数を処理することによって残差を周波数領域から空間領域に変換するように構成される。残差復号器(673)は、いくつかの制御情報を必要とする可能性があり(量子化器パラメータ(QP)を含むため)、該情報はエントロピー復号器(671)から提供される(これは少ない制御情報であるから、データ経路を図示せず)。
再構築モジュール(674)は、空間領域において、残差復号器(673)から出力された残差と予測結果(フレーム間予測モジュールまたはフレーム内予測モジュールから出力されてもよい)とを組み合わせることで、再構築されたブロックを形成するように構成され、該再構築されたブロックは、再構築されピクチャの一部であることができ、さらに再構築されピクチャは、再構築されビデオの一部であることができる。なお、デブロッキング操作のような、他の適切な操作を実行することで、視覚品質を向上させる。
なお、任意の適切な技術でビデオ符号器(203)、ビデオ符号器(403)、ビデオ符号器(503)、及びビデオ復号器(210)、ビデオ復号器(310)、ビデオ復号器(610)を実現できる。1つの実施例において、1つ又は複数の集積回路を用いてビデオ符号器(203)、ビデオ符号器(403)、ビデオ符号器(503)、及びビデオ復号器(210)、ビデオ復号器(310)、ビデオ復号器(610)を実現できる。他の実施例において、ビデオ復号器(203)、(403)、(403)、及びビデオ復号器(210)、(310)、(610)はソフトウェア命令を実行するための1つ又は複数のプロセッサによって実現される。
異なるピクチャからの、ブロックに基づく補償は動き補償と呼ばれる。ブロック補償はさらに、同一のピクチャ内の前に構築された領域に基づき行われてもよく、これはフレーム内ピクチャブロック補償、またはフレーム内ブロックコピーと呼ばれる。例えば、現在ブロックと参照ブロックとの間のずれを指示するための変位ベクトルはブロックベクトルと呼ばれる。いくつかの実施例に基づき、ブロックベクトルは、既に再構築され参照に用いられる参照ブロックを指す。同じく、並列処理という考量から見れば、タイル/スライスの境界、または波面台形境界を超えた参照領域もブロックベクトルの参照から排除されてもよい。これらの制約のため、ブロックベクトルは動き補償における動きベクトル(MV)と異なってもよく、動き補償において、動きベクトルは任意の値であってもよい(xまたはy方向で、正或いは負である)。
図7は、フレーム内ピクチャブロック補償(例えば、フレーム内ブロックコピーモード)の実施例を示す。図7において、現在ピクチャ700は符号化/復号化された1組ブロック(即、灰色のブロック)、及び符号化/復号化されていない1組ブロック(即、白いブロック)を有する。符号化/復号化されていないブロックのうちの1つのブロックのサブブロック702は、前に符号化/復号化された他のサブブロック706を指すブロックベクトル704に関連してもよい。従って、サブブロック706に関連する任意の動き情報は、サブブロック702の符号化/復号化に使用できる。
いくつかの実施例に基づき、ブロックベクトルの符号化は明示的である。他の実施例において、ブロックベクトルの符号化は暗示的である。明示的なモードで、ブロックベクトルとその予測値との間の差がシグナリングされ、暗示的なモードで、合併モードにおける動きベクトル予測に類似する方式によって、ブロックベクトルの予測値からブロックベクトルを回復させる。いくつかの実施例において、ブロックベクトルの解像度は整数位置に限定される。他の実施例において、ブロックベクトルは分数位置を指す。
いくつかの実施例に基づき、参照インデックスによって、ブロックレベルを利用するフレーム内ピクチャブロック補償(即、フレーム内ブロックコピーモード)がシグナリングされ、現在復号化のピクチャは参照ピクチャとみなされ、該参照ピクチャを参照ピクチャリストの最後位置に配置する。該参照ピクチャはさらに、他の時間的参照ピクチャ一とともに、復号化ピクチャバッファ(DPB)において管理されてもよい。
いくつかの実施例に基づき、参照ブロックは現在ブロックに対する予測に用いられる前に、水平または垂直に反転される(例えば、反転のフレーム内ブロックコピー)。いくつかの実施例において、M×N符号化ブロックの内部の各補償ユニットはM×1または1×N行である(例えば、行に基づくフレーム内ブロックコピー)。
いくつかの実施例に基づき、ブロックレベルの動き補償を実行し、現在ブロックは、同じ動き情報で動き補償を実行するための処理単位である。そのため、ブロックのサイズを特定すると、該ブロックにおける全ての画素は、同じ動き情報を使用してその予測ブロックを形成する。ブロックレベル動き補償の例示は、空間マージ候補、時間候補、及び双方向予測における既存の複数のマージ候補からの動きベクトルの組み合わせを使用することを含む。
図8を参照し、現在ブロック(801)は動き探索処理において既に符号器/復号器によって、空間的にシフトされた同じサイズの前のブロックから予測可能であることが見出されたサンプルを含む。いくつかの実施例において、直接的にMVを符号化すること代わりにA0、A1、B0、B1、B2(それぞれ802〜806に対応する)と表記した5つの周囲サンプルのうちのいずれかのサンプルに関連するMVを用いて、例えば(復号化順序において直近の参照ピクチャからなど、1つまたは複数の参照ピクチャに関連するメタデータから、MVを導くことができる。ブロックA0、A1、B0、B1、B2は空間マージ候補と呼ばれる。
いくつかの実施例に基づき、動き補償ブロック内部の異なる位置にある画素(例えば、サブブロック)は異なる動き情報を有してもよい。これらのブロックレベル動き情報との差はシグナリングされず、導出される。このようなタイプの動き補償はサブブロックレベル動き補償と呼ばれて、ブロックの動き補償がブロックそのものより小さいことを許容する。これに関連し、各ブロックは、各サブブロックが異なる動き情報を含み得るものである複数のサブブロックを有してもよい。
サブブロックレベル動き補償の例示は、サブブロックに基づく時間的動きベクトル予測を含み、現在ブロックのサブブロックが相異なる動きベクトルを有する。サブブロックレベル動き補償の他の例示はATMVPであり、これは、各符号化ブロックが、並置の参照ピクチャから、現在符号化ブロックより小さい複数のブロックからの複数組の動き情報をフェッチすることを可能にする一手法である
サブブロックレベル動き補償の他の例示は、サブブロック調整を有する空間/時間融合を含み、現在ブロックにおける各サブブロックに対して、該サブブロックの空間/時間的隣接者の動きベクトルに基づき、該サブブロックの動きベクトルを調整する。該モードでは、一部のサブブロックに対して、時間的参照ピクチャにおける対応するサブブロックからの動き情報を必要とし得る
サブブロックレベル動き補償の他の例示は、アフィン符号化動き補償ブロックであり、隣接するブロックの動きベクトルに基づき、まず現在ブロックの4つの角における動きベクトルを導出する。そして、アフィンモデルによって(例えば、サブブロックまたは画素レベルの)現在ブロックの他の動きベクトルを導出することで、各サブブロックが、それぞれのサブブロックの隣接者とは異なる動きベクトルを具備できる。
サブブロックレベル動き補償の他の例示は、復号器側での動きベクトル導出を用いるマージ候補精緻(リファインメント)である。該モードで、現在ブロックまたは現在ブロックのサブブロックの(1つ又は複数)動きベクトル予測値を取得した後、例えばテンプレートマッチングまたはバイラテラルマッチングなどの方法を用いて、所与の(1つ又は複数の)動きベクトル予測値を更に精緻化することができる精緻化された動きベクトル動き補償の実行に用いられる。符号器側と復号器側とで、ともに同じ精緻化操作を行うことで、復号器は、精緻化が如何に元の予測値から変位されるかという追加情報を必要としない。また、スキップモードを特殊の合併モードと見なすことができ、それにおいては、現在ブロックの隣接者から現在ブロックの動き情報を導出することに加えて、現在ブロックの予測残差もゼロである。
いくつかの実施例に基づき、サブブロック時間的動きベクトル予測において、現在ブロックのサブブロックは、時間的参照ピクチャから導出された異なる動きベクトル予測値を有してもよい。例えば、現在ブロックの動きベクトルと関連する参照インデックスとが含まれる1組の動き情報を特定する。第1利用可能空間マージ候補から動き情報を決定する。該動き情報を用いて、現在ブロックのための参照ピクチャにおける参照ブロックを決定する。参照ブロックもサブブロックに分割される。いくつかの実施例において、現在ピクチャにおける各現在ブロックのサブブロック(current block sub-block;CBSB)に対して、参照ピクチャには、対応する参照ブロックのサブブロック(reference block sub-block;RBSB)が存在する。
いくつかの実施例において、各CBSBに対して、対応するRBSBが1組の動き情報を使用してフレーム間モードで符号化されると、該動き情報は変換され(例えば、時間的動きベクトル予測における動きベクトルスケーリングなどの方法を利用する)、該CBSBの動きベクトルの予測値として用いられる。以下、フレーム内モード(例えば、フレーム内ブロックコピーモード)で符号化されるRBSBを取り扱う方法をさらに詳しく記載する。
いくつかの実施例によれば、サブブロックに基づく時間的動きベクトル予測モードを利用する場合、各CBSBがフレーム内ブロックコピーモードのようなフレーム内モードで符号化されることを許容しない。これは、フレーム内ブロックコピーで符号化されたRBSBを、フレーム内モードと見なすことで実現される。特に、フレーム内ブロックコピーモードがどのように見なされる(例えば、フレーム間モード、フレーム内モードまたは第3モードと見なされる)かにかかわらず、CBSBに対して、対応するRBSBフレーム内ブロックコピーモードで符号化される場合、該RBSBは、サブブロックに基づく時間的動きベクトル予測におけるフレーム内モードと見なされる。従って、いくつかの実施例において、フレーム内ブロックコピーモードで符号化されたRBSBは、サブブロックに基づく時間的動きベクトル予測におけるデフォルト設定に従って扱われる。例えば、フレーム内ブロックコピーモードでCBSBの対応するRBSBを符号化する場合、ゼロ動きベクトルのようなデフォルト動きベクトルが該CBSBについての予測値として用いられる。該例示において、CBSBに用いられる参照ピクチャは、現在ピクチャではなく、時間的参照ピクチャになる。例えば、時間的参照ピクチャは現在ブロックの全てのサブブロックが共有するピクチャ、参照ピクチャリストにおける第1参照ピクチャ、TMVP目的のためのコロケーションピクチャなどであってもよい。他の例示において、CBSBに対して、対応するRBSBフレーム間モードで符号化されるが、参照ピクチャが現在ピクチャである場合、例えばゼロ動きベクトルなどのデフォルト動きベクトルが該CBSBに割り当てられる。これに関連し、RBSBがフレーム間モードで符号化されても、現在ピクチャと参照ピクチャとが同じであるから、RBSBがフレーム内モードで符号化されたかのように、該RBSBを扱う
図9は、サブブロックに基づく時間的動きベクトル予測を実行する例示を示す。図9は現在ブロック900Aが含まれた9つのブロックを有する現在ピクチャ900を示す。現在ブロック900Aは、4つのサブブロック1〜4に分割されている。現在ピクチャ900は参照ピクチャ902に関連付けられることができ、参照ピクチャ902は9つの前に符号化/復号化されたブロックを有している。また、図9に示すように、現在ブロック900Aは参照ブロック902Aを指す動きベクトル904を有する。現在ブロック900Aの1つ又は複数の隣接するブロックの動きベクトル(例えば、空間マージ候補)を使用して、動きベクトル904を決定することができる。参照ブロック902Aは4つのサブブロック1〜4に分割されている。参照ブロック902Aのサブブロック1〜4はそれぞれ現在ブロック900Aのサブブロック1〜4に対応する。参照ピクチャ902と現在ピクチャ900とが同じである場合には、ブロック902Aにおける各RBSBは、これらのブロックがフレーム内モードで符号化されたかのようにして扱われる。これに関連し、例えば、ブロック902Aのサブブロック1はフレーム間モードで符号化されているが、参照ピクチャ902と現在ピクチャ900とが同じである場合、ブロック902Aのサブブロック1は、該サブブロックがフレーム内モードで符号化されたかのようにして扱われ、デフォルト動きベクトルブロック900Aのサブブロック1に割り当てられる。
参照ピクチャ902と現在ピクチャ900と異なる場合、参照ブロック902Aのサブブロック1〜4はそれぞれブロック900Aのサブブロック1〜4に対して、サブブロックに基づく時間的動きベクトル予測を実行するために用いられる。例えば、参照ブロック902Aのサブブロック1がフレーム間モードで符号化されているのか、それともフレーム内モード(例えば、フレーム内ブロックコピーモード)で符号化されているのかということに基づき、現在ブロック900Aのサブブロック1の動きベクトル予測値を決定する。参照ブロック902Aのサブブロック1がフレーム間モードで符号化されている場合、参照ブロック902Aのサブブロック1の動きベクトルは、現在ブロック900Aのサブブロック1の動きベクトルに対する決定に用いられる。参照ブロック902Aのサブブロック1がフレーム内モードで符号化されている場合には、現在ブロック900Aのサブブロック1の動きベクトルはゼロ動きベクトルに設定される。
図10は、フレーム内符号器522またはフレーム内復号器672のような符号器または復号器で実行されるプロセスの実施例を示す。該プロセスはステップS1000から始まり、ステップS1000で、符号化されたビデオビットストリームから現在ピクチャを取得する。例えば、図9を参照し、符号化されたビデオビットストリームから現在ピクチャ900を取得する。プロセスはステップS1002に進み、ステップS1002で、現在ピクチャにおける現在ブロックに対して、参照ピクチャからの参照ブロックを特定する。例えば、図9を参照し、現在ブロック900Aに関連付けられた参照ピクチャリストから参照ピクチャ902を検索する。現在ブロック900Aに対してサブブロックの時間的動きベクトル予測を実行する場合、動きベクトル904を用いて、参照ピクチャ902の参照ブロック902Aを特定し得る
プロセスはステップS1004に進み、ステップS1004で、参照ピクチャ現在ピクチャと同であるかどうかを決定する。参照ピクチャ現在ピクチャと異なる場合、プロセスはステップS1006に進み、ステップS1006で、CBSBに対応するRBSBの符号化モードを決定する。例えば、図9を参照し、現在ブロック900AのCBSB
1に対応する参照ブロック902AのRBSB 1の符号化モードを決定する。プロセスはステップS1008に進み、ステップS1008で、前記RBSBの符号化モードがフレーム間モードであるかどうかを決定する。RBSBの符号化モードがフレーム間モードであれば、プロセスはステップS1010に進み、ステップS1010で、RBSBの動きベクトル予測値に基づき、CBSBの動きベクトル予測値を決定する。例えば、参照ブロック902AのRBSB
1の符号化モードフレーム間モードであれば、参照ブロック902AのRBSB
動きベクトル予測値に基づき、現在ブロック900AのCBSB
1の動きベクトル予測値を決定する。例えば、参照ブロック902AのRBSB
1の動きベクトル予測値変換され(例えば、時間的動きベクトル予測における動きベクトルスケーリングのような方法を利用する)、現在ブロック900AのCBSB
1の動きベクトル予測値として用いられる。
ステップS1008に戻って、RBSBの符号化モードがフレーム間モードでなければ(例えば、RBSBの符号化モードはフレーム内モードである)、プロセスはステップS1012に進み、ステップS1012で、CBSBの動きベクトル予測値をデフォルト動きベクトルに設定する。例えば、参照ブロック902AのRBSB
フレーム内モードで符号化されている場合、現在ブロック900AのCBSB
1の動きベクトル予測値は、ゼロ動きベクトルのようなデフォルト動きベクトルに設定される。
ステップS1004に戻って、参照ピクチャと現在ピクチャとが同じである場合には、プロセスはステップS1012に進み、ステップS1012で、CBSBの動きベクトル予測値をデフォルト動きベクトルに設定する。これに関連し、参照ピクチャと現在ピクチャとが同じである場合、RBSBの符号化モードをフレーム内モードに決定し、対応するCBSBのための動きベクトル予測値はデフォルト動きベクトルに設定される。これに関連し、RBSBがフレーム間モードであっても、CBSBの動きベクトル予測値をデフォルト動きベクトルに設定することで、RBSBがフレーム内モードで符号化されたのようにしてRBSBを扱うことができる。現在ブロック900Aにおける各サブブロックに対して、ステップS1004〜S1012を繰り返し得る
前記技術はコンピュータ読み取り可能な命令によってコンピュータソフトウェアとして実現され、物理的に1つ又は複数のコンピュータ読み取り可能な媒体に記憶されてもよい。例えば、図11は開示のテーマのいくつかの実施例を実現するためのコンピュータシステム(1100)を示す。
コンピュータソフトウェアは任意の適切なマシンコードまたはコンピュータ言語によって符号化を行って、マシンコードまたはコンピュータ言語は編集、コンパイル、リンクなどのメカニズムを介して命令が含まれるコードを構築し、該命令は1つ又は複数のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって直接的に実行されるか、または解釈、マイクロコード実行などによって実行される。
前記命令は各種タイプのコンピュータまたはその部材で実行でき、例えばパーソナルコンピュータ、タブレット、サーバ、スマートフォン、ゲーム機器、モノのインターネット機器などを含む。
図11に示すコンピュータシステム(1100)のコンポーネントは、本開示内容を実現するための実施例のコンピュータソフトウェアの使用範囲または機能に対して限定せず、本質に例示的である。コンポーネントの配置も、コンピュータシステム(1100)の例示性の実施例で示したコンポーネントにおけるいずれかのコンポーネント、またはその組み合わせに関する依存性または要求を有するように解釈されるべきではない。
コンピュータシステム(1100)はいくつかのヒューマンマシンインターフェイス入力機器を含んでもよい。このようなヒューマンマシンインターフェイス入力機器は、1つ又は複数の人類ユーザーの、例えば触覚入力(例えば:キーストローク、スライド、データグローブ移動)、オーディオ入力(例えば:音声、拍手)、視覚入力(例えば:ジェスチャ)、嗅覚入力(図示せず)による入力に応答できる。マンマシンインタフェース機器はさらに、必ずしも人類の意識的な入力に直接的に関していない、ある媒体例えば、オーディオ(例えば:音声、音楽、環境音)、画像(例えば:スキャン画像、静止画撮影装置から取得された写真画像)、ビデオ(例えば2次元ビデオ、立体ビデオが含まれる3次元ビデオ)をキャプチャできる。
入力マンマシンインタフェース機器は、キーボード(1101)、マウス(1102)、タッチパッド(1103)、タッチパネル(1110)、データグローブ(図示せず)、ジョイスティック(1105)、マイク(1106)、スキャナ(1107)、撮影装置(1108)のうちの1つ又は複数を有してもよい(記載の各々のうちの1つのみ)。
コンピュータシステム(1100)はさらにマンマシンインタフェース出力機器を有してもよい。このようなマンマシンインタフェース出力機器は、例えば触覚出力、音、光及び匂い/味を介して1つ又は複数の人類ユーザーの感覚を刺激できる。このようなマンマシンインタフェース出力機器は触覚出力機器(例えば、タッチパネル(1110)、データグローブ(図示せず)またはジョイスティック(1105)による触覚フィードバック、但し入力機器として用いられない触覚フィードバック機器も存在する)、オーディオ出力機器(例えば、スピーカー(1109)、ヘッドフォン(図示せず))、視覚出力機器(例えば、スクリーン(1110)、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、各スクリーンはタッチパネル入力能力、触覚フィードバック能力を有してもよく、有してなくてもよく、そのうちのいくつかは、立体画像出力のような手段で、2次元の視覚を出力または3次元以上の出力を行い、バーチャルリアリティ眼鏡(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)がある)、プリンター(図示せず)を含む。
コンピュータシステム(1100)はさらに人類がアクセスし得る記憶機器及びその関連する媒体を有してもよく、例えば、CD/DVDなどの媒体(1121)を有するCD/DVD
ROM/RW(1120)を含む光学媒体、サムドライブ(1122)、取り外し可能なハードドライブまたはソリッドステートドライブ(1123)、磁気テープとフロッピーディスク(図示せず)のような伝統の磁気媒体、専用ROM/ASIC/PLDに基づく機器、例えばドングル(図示せず)などを含む。
当業者は、現在開示のテーマを結合して、使用される用語「コンピュータ読み取り可能な媒体」には伝送媒体、搬送波または他の瞬間信号が含まれないことを理解できる。
コンピュータシステム(1100)は、さらに1つ又は複数の通信ネットワークのインタフェースを有してもよい。ネットワークは、例えば無線、有線、光学であってもよい。ネットワークはさらに、ローカル、広域、都市用、車両用、工業用、リアルタイム、遅延耐性ネットワークなどであってもよい。ネットワークの例示はイーサネットのようなローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどが含まれたセルラーネットワーク、有線テレビ、衛星テレビ及び地上波テレビが含まれるテレビ有線または無線広域デジタルネットワーク、CANBusが含まれる車両及び工業ネットワークなどを含む。あるネットワークは一般的に、ある汎用データポートまたは周辺バス(1149)(例えば、コンピュータシステム(1100)のUSBポート)に連結される外部ネットワークインタフェースアダプタを必要とし、他のネットワークは一般的に、以下に記載のシステムバス(例えば、PCコンピュータシステムへのイーサネットインタフェース、またはスマートフォンコンピュータシステムへのセルラーネットワークインタフェース)に連結されることで、コンピュータシステム(1100)のコアに集積される。これらのネットワークのうちのいずれかのネットワークを介して、コンピュータシステム(1100)は他のエンティティと通信できる。このような通信は一方向で受信だけ(例えば、放送テレビ)、一方向で送信だけ(例えば、あるCANbus機器へのCANbus)、または双方向である(例えば、ローカルエリアまたは広域デジタルネットワークを介して他のコンピュータシステムへ)。以上に記載のこれらのネットワーク及びネットワークインタフェースのうちの各ネットワーク及びネットワークインタフェースに、特定のプロトコル及びプロトコルスタックを利用できる。
前記マンマシンインタフェース機器、人類がアクセスし得る記憶機器及びネットワークインタフェースは、コンピュータシステム(1100)のコア(1140)に連結できる。
コア(1140)は1つ又は複数の中央処理ユニット(CPU)(1141)、グラフィック処理ユニット(GPU)(1142)、フィールドプログラマブルゲートアレイ(FPGA)(1143)という形式の専門プログラム可能な処理ユニット、あるタスクのためのハードウェアアクセラレータ(1144)などを含む。これらの機器は、読み取り専用メモリ(ROM)(1145)、ランダムアクセスメモリ(1146)、内部のユーザーがアクセスできないハードディスクドライブ、SSDなどのような内部大容量記憶装置(1147)とともに、システムバス(1148)を介して接続される。あるコンピュータシステムにおいて、1つ又は複数の物理プラグという形式で、システムバス(1148)にアクセスすることで、別のCPU、GPUなどによって拡張できる。周囲機器は直接的または周辺バス(1149)を介してコアのシステムバス(1148)に連結される。周辺バスのアーキテクチャはPCI、USBなどを含む。
CPU(1141)、GPU(1142)、FPGA(1143)及びアクセラレータ(1144)はいくつかの命令を実行でき、これらの命令を組み合わせて、以上に言及されたコンピュータコードを構成する。該コンピュータコードはROM(1145)またはRAM(1146)に記憶される。移行データはRAM(1146)に記憶され、永久データは、例えば内部大容量記憶装置(1147)に記憶されてもよい。キャッシュメモリによってメモリ機器のうちのいずれかのメモリ機器の快速記憶及び検索を実現でき、該キャッシュメモリは1つ又は複数のCPU(1141)、GPU(1142)、大容量記憶装置(1147)、ROM(1145)、RAM(1146)などに密接に関連できる。
コンピュータ読み取り可能な媒体は、コンピュータが実現する各種操作を実行するためのコンピュータコードを有する。媒体とコンピュータコードとは、本開示内容の目的のために、専門に設計され及び構築された媒体とコンピュータコードであってもよいし、またはコンピュータソフトウェアの当業者にとって、公知且つ利用可能なタイプであってもよい。
限定ではなく例示として、アーキテクチャ(1100)を有するコンピュータシステム、特にコア(1140)は、(1つ又は複数)プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ又は複数の有形コンピュータ読み取り可能な媒体に体現されるソフトウェアを実行することで、機能を提供できる。このようなコンピュータ読み取り可能な媒体は、以上に紹介された、ユーザがアクセスし得る大容量記憶装置に関する媒体、及び例えばコア内部の大容量記憶装置(1147)またはROM(1145)などの非一時的な性質のものであるコア(1140)記憶装置であってもよい。本開示内容を実現するための各種実施例のソフトウェアはこのような機器に記憶され、コア(1140)により実行される。特定の需要に応じて、コンピュータ読み取り可能な媒体には1つ又は複数の記憶機器またはチップが含まれてもよい。ソフトウェアはコア(1140)、特にそのうちのプロセッサ(CPU、GPU、FPGAなどが含まれた)に、本明細書に記載の特定プロセスまたは特定プロセスの特定部分を実行させ、RAM(1146)に記憶されるデータ構成を限定すること、及びソフトウェアにより限定されたプロセスに基づき、このようなデータ構成を修正することが含まれる。また或いは代わりとして、コンピュータシステムは、論理的な固定接続または他の方式で回路(例えば、アクセラレータ(1144))に体現されることで機能を提供し、該回路は、ソフトウェアの代わりとして、またはソフトウェアとともに操作することで、本明細書に記載の特定プロセスまたは特定プロセスの特定部分を実行できる。適切な場合、言及のソフトウェアにはロジックが含まれ、逆に、言及ロジックにはソフトウェアが含まれてもよい。適切な場合、言及のコンピュータ読み取り可能な媒体には、実行するためのソフトウェアが記憶される回路(例えば、集積回路(IC))、実行するためのロジックを体現する回路、或いは前記両者が含まれてもよい。本開示内容にはハードウェアとソフトウェアとの任意の適切な組み合わせが含まれる。
本開示内容には若干の例示性の実施例が記載されているが、本開示内容の範囲内にある変更、置き換え及びいろんな置換等価物が存在する。従って、本明細書には明らかに記載されていないが、本開示内容の原理を体現し本開示内容の精神及び範囲内に属する多いシステム及び方法は、当業者にとって想到し得る。
(1)復号器のビデオ復号化のための方法であって、前記方法において、符号化されたビデオビットストリームから現在ピクチャを取得し、前記現在ピクチャに含まれる現在ブロックに対して、前記現在ピクチャと異なる参照ピクチャに含まれる参照ブロックを特定し、前記現在ブロックは複数のサブブロック(CBSB)に分割され、前記参照ブロックは、複数のサブブロック(RBSB)を有し、前記複数のサブブロック(RBSB)が前記複数のCBSBの異なるCBSBにそれぞれ対応し、前記RBSBの参照ピクチャが前記現在ピクチャであるかどうかを決定し、前記RBSBの参照ピクチャが前記現在ピクチャであると決定したことに応答し、前記RBSBの符号化モードをフレーム内モードとして決定し、前記RBSBの参照ピクチャが前記現在ピクチャではないと決定したことに応答し、(i)前記複数のCBSBの1つに対して、対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかを決定し、及び(ii)前記対応するRBSBの符号化モードが前記フレーム内モードと前記フレーム間モードのうちのどちらであるかに基づき、前記複数のCBSBの前記1つのCBSBについての動きベクトル予測値を決定する。
(2)前記対応するRBSBの符号化モード前記フレーム内モードであると決定したことに応答し、前記1つのCBSBについて決定される動きベクトル予測値をデフォルト動きベクトルに設定する特徴(1)に記載の方法。
(3)前記デフォルト動きベクトルは、(i)ゼロ動きベクトル、または(ii)前記CBSBと前記RBSBとの間のずれである特徴(2)に記載の方法。
(4)前記対応するRBSBの符号化モードは前記フレーム間モードであると決定したことに応答し、前記1つのCBSBについて決定される動きベクトル予測値は前記対応するRBSBに関連する動きベクトル予測値に基づくものである特徴(1)〜(3)のいずれか1項に記載の方法。
(5)決定され前記動きベクトル予測値は、前記対応するRBSBに関連する前記動きベクトル予測値のスケーリングバージョンである特徴(4)に記載の方法。
(6)前記現在ブロックに隣接するブロックに関連する動きベクトル予測値に従って前記参照ブロックを特定する特徴(1)〜(5)のいずれか1項に記載の方法。
(7)前記参照ピクチャは、前記現在ピクチャに関連する参照ピクチャシーケンスからの第1参照ピクチャである特徴(1)〜(6)のいずれか1項に記載の方法。
(8)処理回路を有するビデオ復号化のためのビデオ復号器であって、前記処理回路は符号化されたビデオビットストリームから現在ピクチャを取得し、前記現在ピクチャに含まれる現在ブロックに対して、前記現在ピクチャとは異なる参照ピクチャに含まれる参照ブロックを特定し、前記現在ブロックは複数のサブブロック(CBSB)に分割され、前記参照ブロックは、複数のサブブロック(RBSB)を有し、前記複数のサブブロック(RBSB)が前記複数のCBSBの異なるCBSBにそれぞれ対応し、前記RBSBの参照ピクチャが前記現在ピクチャであるかどうかを決定し、前記RBSBの参照ピクチャが前記現在ピクチャであると決定したことに応答し、前記RBSBの符号化モードをフレーム内モードとして決定し、前記RBSBの参照ピクチャが前記現在ピクチャではないと決定したことに応答し、(i)前記複数のCBSBの1つに対して、対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかを決定し、及び(ii)前記対応するRBSBの符号化モードが前記フレーム内モードと前記フレーム間モードのうちのどちらであるかに基づき、前記CBSBのうちの前記1つのCBSBについての動きベクトル予測値を決定する、ように構成される
(9)前記処理回路は、前記対応するRBSBの符号化モード前記フレーム内モードであると決定したことに応答し、前記1つのCBSBについて動きベクトル予測値をデフォルト動きベクトルに設定するように構成される特徴(8)に記載のビデオ復号器。
(10)前記デフォルト動きベクトルは、(i)ゼロ動きベクトル、または(ii)前記CBSBと前記RBSBとの間のずれである特徴(9)に記載のビデオ復号器。
(11)前記処理回路は、前記対応するRBSBの符号化モード前記フレーム間モードであると決定したことに応答し、前記1つのCBSBについて動きベクトル予測値を、前記対応するRBSBに関連する動きベクトル予測値に基づいて決定するように構成される特徴(8)〜(10)のいずれか1項に記載のビデオ復号器。
(12)決定され前記動きベクトル予測値は前記対応するRBSBに関連する前記動きベクトル予測値のスケーリングバージョンである特徴(11)に記載のビデオ復号器。
(13)前記処理回路は、前記現在ブロックに隣接するブロックに関連する動きベクトル予測値に基づき、前記参照ブロックを特定する特徴(8)〜(12)のいずれか1項に記載のビデオ復号器。
(14)前記参照ピクチャは、前記現在ピクチャに関連する参照ピクチャシーケンスからの第1参照ピクチャである特徴(8)〜(13)のいずれか1項に記載のビデオ復号器。
(15)命令を有するコンピュータプログラムであって、前記命令はプロセッサによって実行されるときに、前記プロセッサに方法を実行させ、該方法は、符号化されたビデオビットストリームから現在ピクチャを取得し、前記現在ピクチャに含まれる現在ブロックに対して、前記現在ピクチャと異なる参照ピクチャに含まれる参照ブロックを特定し、前記現在ブロックは複数のサブブロック(CBSB)に分割され、前記参照ブロックは、複数のサブブロック(RBSB)を有し、前記複数のサブブロック(RBSB)が前記複数のCBSBの異なるCBSBにそれぞれ対応し、前記RBSBの参照ピクチャが前記現在ピクチャであるかどうかを決定し、前記RBSBの参照ピクチャが前記現在ピクチャであると決定したことに応答し、前記RBSBの符号化モードをフレーム内モードとして決定し、前記RBSBの参照ピクチャが前記現在ピクチャではないと決定したことに応答し、(i)前記複数のCBSBの1つに対して、対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかを決定し、及び(ii)前記対応するRBSBの符号化モードが前記フレーム内モードと前記フレーム間モードのうちのどちらであるかどうかに基づき、前記複数のCBSBの前記1つのCBSBについての動きベクトル予測値を決定する、ことを含む
(16)前記対応するRBSBの符号化モード前記フレーム内モードであると決定したことに応答し、前記1つのCBSBについて決定される動きベクトル予測値をデフォルト動きベクトルに設定する特徴(15)に記載のコンピュータプログラム
(17)前記デフォルト動きベクトルは、(i)ゼロ動きベクトル、または(ii)前記CBSBと前記RBSBとの間のずれである特徴(16)に記載のコンピュータプログラム
(18)前記対応するRBSBの符号化モード前記フレーム間モードであると決定したことに応答し、前記1つのCBSBについて決定される動きベクトル予測値は前記対応するRBSBに関連する動きベクトル予測値に基づくものである特徴(15)〜(17)のいずれか1項に記載のコンピュータプログラム
(19)決定され前記動きベクトル予測値は前記対応するRBSBに関連する前記動きベクトル予測値のスケーリングバージョンである特徴(18)に記載の非一時的なコンピュータ読み取り可能な媒体。
(20)前記現在ブロックに隣接するブロックに関連する動きベクトル予測値に従って前記参照ブロックを特定する特徴(15)〜(19)のいずれか1項に記載の非一時的なコンピュータ読み取り可能な媒体。
付録A:頭字語
MV:動きベクトル
HEVC:高効率ビデオ符号化
SEI:補充強化情報
VUI:ビデオユーザビリティ情報
GOP:ピクチャグループ
TU:変換ユニット
PU:予測ユニット
CTU:符号化ツリーユニット
CTB:符号化ツリーブロック
PB:予測ブロック
HRD:仮想参照復号器
SNR:信号対雑音比
CPU:中央処理ユニット
GPU:グラフィック処理ユニット
CRT:陰極線管
LCD:液晶ディスプレイ
OLED:有機発光ダイオード
CD:コンパクトディスク
DVD:デジタルビデオディスク
ROM:読み取り専用メモリ
RAM:ランダムアクセスメモリ
ASIC:特定用途向け集積回路
PLD:プログラマブルロジックデバイス
LAN:ローカルエリアネットワーク
GSM:グローバルシステムフォーモバイルコミュニケーションズ
LTE:ロングタームエボリューション
CANBus:コントローラエリアネットワークバス
USB:ユニバーサルシリアルバス
PCI:周辺コンポーネント相互接続
FPGA:フィールドプログラマブルゲートアレイ
SSD:ソリッドステートドライブ
IC:集積回路
CU:符号化ユニット

Claims (20)

  1. 復号器のビデオ復号化のための方法であって、
    符号化されたビデオビットストリームから現在ピクチャを取得するステップと、
    前記現在ピクチャに含まれる現在ブロックに対して、前記現在ピクチャと異なる参照ピクチャに含まれる参照ブロックを認識するステップであって、前記現在ブロックは複数のサブブロック(CBSB)に分割され、前記参照ブロックは、複数のサブブロック(RBSB)を有し、前記複数のサブブロック(RBSB)が前記複数のCBSBの異なるCBSBにそれぞれ対応するステップと、
    前記RBSBの前記参照ピクチャが前記現在ピクチャであるかどうかを決定するステップと、
    前記RBSBの前記参照ピクチャが前記現在ピクチャであると決定したことに応答し、前記RBSBの符号化モードをフレーム内モードに決定するステップと、
    前記RBSBの前記参照ピクチャが前記現在ピクチャではないと決定したことに応答し、
    (i)前記複数のCBSBの1つに対して、前記RBSBの符号化モードがフレーム内モードとフレーム間モードのうちの1つであるかどうかを決定し、
    (ii)対応するRBSBの符号化モードが前記フレーム内モードと前記フレーム間モードのうちの1つであるかどうかに基づき、前記複数のCBSBの前記1つのCBSBの動きベクトル予測値を決定するステップと、を含む方法。
  2. 前記対応するRBSBの符号化モードが前記フレーム内モードであると決定したことに応答して、前記1つのCBSBについて決定された動きベクトル予測値をデフォルト動きベクトルに設定する請求項1に記載の方法。
  3. 前記デフォルト動きベクトルは、(i)ゼロ動きベクトル、または(ii)前記CBSBと前記RBSBとの間のずれである請求項2に記載の方法。
  4. 前記対応するRBSBの符号化モードが前記フレーム間モードであると決定したことに応答し、前記1つのCBSBについて決定された動きベクトル予測値は、前記対応するRBSBに関連する動きベクトル予測値に基づくものである、請求項1に記載の方法。
  5. 決定された前記動きベクトル予測値は前記対応するRBSBに関連する前記動きベクトル予測値のスケーリングバージョンである請求項4に記載の方法。
  6. 前記参照ブロックが前記現在ブロックに隣接するブロックに関連する動きベクトル予測値に基づき特定されるものである、請求項1に記載の方法。
  7. 前記参照ピクチャは、前記現在ピクチャに関連する参照ピクチャシーケンスからの第1参照ピクチャである請求項1に記載の方法。
  8. ビデオ復号化のためのビデオ復号器であって、
    処理回路を有し、
    前記処理回路は以下のように配置され、
    符号化されたビデオビットストリームから現在ピクチャを取得し、
    前記現在ピクチャに含まれる現在ブロックに対して、前記現在ピクチャと異なる参照ピクチャに含まれる参照ブロックを認識し、前記現在ブロックは複数のサブブロック(CBSB)に分割され、前記参照ブロックは、前記複数のCBSBにおける異なるCBSBにそれぞれ対応する複数のサブブロック(RBSB)を有し、
    前記RBSBの前記参照ピクチャが前記現在ピクチャであるかどうかを決定し、
    前記RBSBの前記参照ピクチャが前記現在ピクチャであるという決定に応答し、前記RBSBの符号化モードをフレーム内モードに決定し、
    前記RBSBの前記参照ピクチャが前記現在ピクチャではないという決定に応答し、
    (i)前記CBSBのうちの1つのCBSBに対して、前記RBSBの符号化モードがフレーム内モードとフレーム間モードのうちの1つであるかどうかを決定し、
    (ii)対応するRBSBの符号化モードが前記フレーム内モードと前記フレーム間モードのうちの1つであるかどうかに基づき、前記CBSBのうちの前記1つのCBSBの動きベクトル予測値を決定するビデオ復号器。
  9. 前記対応するRBSBの符号化モードが前記フレーム内モードであるという決定に応答し、前記1つのCBSBについて決定する動きベクトル予測値をデフォルト動きベクトルに設定する請求項8に記載のビデオ復号器。
  10. 前記デフォルト動きベクトルは、(i)ゼロ動きベクトル、及び(ii)前記CBSBと前記RBSBとの間のずれのうちの1つである請求項9に記載のビデオ復号器。
  11. 前記対応するRBSBの符号化モードが前記フレーム間モードであるという決定に応答し、前記1つのCBSBについて決定する動きベクトル予測値は前記対応するRBSBに関連する動きベクトル予測値に基づく請求項8に記載のビデオ復号器。
  12. 決定する動きベクトル予測値は前記対応するRBSBに関連する前記動きベクトル予測値のスケーリングバージョンである請求項11に記載のビデオ復号器。
  13. 前記現在ブロックに隣接するブロックに関連する動きベクトル予測値に基づき、前記参照ブロックを認識する請求項8に記載のビデオ復号器。
  14. 前記参照ピクチャは、前記現在ピクチャに関連する参照ピクチャシーケンスからの第1参照ピクチャである請求項8に記載のビデオ復号器。
  15. 命令が記憶された非一時的なコンピュータ読み取り可能な媒体であって、前記命令がビデオ復号器におけるプロセッサによって実行される場合、前記プロセッサに、以下の操作が含まれる方法を実行させ、
    符号化されたビデオビットストリームから現在ピクチャを取得し、
    前記現在ピクチャに含まれる現在ブロックに対して、前記現在ピクチャと異なる参照ピクチャに含まれる参照ブロックを認識し、前記現在ブロックは複数のサブブロック(CBSB)に分割され、前記参照ブロックは、前記複数のCBSBにおける異なるCBSBにそれぞれ対応する複数のサブブロック(RBSB)を有し、
    前記RBSBの前記参照ピクチャが前記現在ピクチャであるかどうかを決定し、
    前記RBSBの前記参照ピクチャが前記現在ピクチャであるという決定に応答し、前記RBSBの符号化モードをフレーム内モードに決定し、
    前記RBSBの前記参照ピクチャが前記現在ピクチャではないという決定に応答し、
    (i)前記CBSBのうちの1つのCBSBに対して、前記RBSBの符号化モードがフレーム内モードとフレーム間モードのうちの1つであるかどうかを決定し、
    (ii)対応するRBSBの符号化モードが前記フレーム内モードと前記フレーム間モードのうちの1つであるかどうかに基づき、前記CBSBのうちの前記1つのCBSBの動きベクトル予測値を決定する非一時的なコンピュータ読み取り可能な媒体。
  16. 前記対応するRBSBの符号化モードが前記フレーム内モードであるという決定に応答し、前記1つのCBSBについて決定する動きベクトル予測値をデフォルト動きベクトルに設定する請求項15に記載の非一時的なコンピュータ読み取り可能な媒体。
  17. 前記デフォルト動きベクトルは、(i)ゼロ動きベクトル、及び(ii)前記CBSBと前記RBSBとの間のずれのうちの1つである請求項16に記載の非一時的なコンピュータ読み取り可能な媒体。
  18. 前記対応するRBSBの符号化モードが前記フレーム間モードであるという決定に応答し、前記1つのCBSBについて決定する動きベクトル予測値は前記対応するRBSBに関連する動きベクトル予測値に基づく請求項15に記載の非一時的なコンピュータ読み取り可能な媒体。
  19. 決定する動きベクトル予測値は、前記対応するRBSBに関連する前記動きベクトル予測値のスケーリングバージョンである請求項18に記載の非一時的なコンピュータ読み取り可能な媒体。
  20. 前記現在ブロックに隣接するブロックに関連する動きベクトル予測値に基づき、前記参照ブロックを認識する請求項15に記載の非一時的なコンピュータ読み取り可能な媒体。
JP2020551416A 2018-06-04 2019-05-30 サブブロックに基づく時間的動きベクトル予測のための方法並びにその機器及びコンピュータプログラム Active JP7212060B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023002969A JP7457170B2 (ja) 2018-06-04 2023-01-12 サブブロックに基づく時間的動きベクトル予測のための方法並びにその機器及びコンピュータプログラム
JP2024040066A JP2024069475A (ja) 2018-06-04 2024-03-14 サブブロックに基づく時間的動きベクトル予測のための方法並びにその機器及びコンピュータプログラム

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862680468P 2018-06-04 2018-06-04
US62/680,468 2018-06-04
US16/210,635 2018-12-05
US16/210,635 US11109025B2 (en) 2018-06-04 2018-12-05 Method and apparatus for sub-block based temporal motion vector prediction
PCT/US2019/034485 WO2019236362A2 (en) 2018-06-04 2019-05-30 Method and apparatus for sub-block based temporal motion vector prediction

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023002969A Division JP7457170B2 (ja) 2018-06-04 2023-01-12 サブブロックに基づく時間的動きベクトル予測のための方法並びにその機器及びコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2021517410A true JP2021517410A (ja) 2021-07-15
JP2021517410A5 JP2021517410A5 (ja) 2021-08-26
JP7212060B2 JP7212060B2 (ja) 2023-01-24

Family

ID=68693393

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2020551416A Active JP7212060B2 (ja) 2018-06-04 2019-05-30 サブブロックに基づく時間的動きベクトル予測のための方法並びにその機器及びコンピュータプログラム
JP2023002969A Active JP7457170B2 (ja) 2018-06-04 2023-01-12 サブブロックに基づく時間的動きベクトル予測のための方法並びにその機器及びコンピュータプログラム
JP2024040066A Pending JP2024069475A (ja) 2018-06-04 2024-03-14 サブブロックに基づく時間的動きベクトル予測のための方法並びにその機器及びコンピュータプログラム

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2023002969A Active JP7457170B2 (ja) 2018-06-04 2023-01-12 サブブロックに基づく時間的動きベクトル予測のための方法並びにその機器及びコンピュータプログラム
JP2024040066A Pending JP2024069475A (ja) 2018-06-04 2024-03-14 サブブロックに基づく時間的動きベクトル予測のための方法並びにその機器及びコンピュータプログラム

Country Status (6)

Country Link
US (3) US11109025B2 (ja)
EP (1) EP3804316A4 (ja)
JP (3) JP7212060B2 (ja)
KR (3) KR20240015165A (ja)
CN (2) CN115412728A (ja)
WO (1) WO2019236362A2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7104186B2 (ja) * 2018-06-05 2022-07-20 北京字節跳動網絡技術有限公司 Ibcとatmvpとの間でのインタラクション
CN110636297B (zh) 2018-06-21 2021-05-14 北京字节跳动网络技术有限公司 分量相关的子块分割
CN110636298B (zh) 2018-06-21 2022-09-13 北京字节跳动网络技术有限公司 对于Merge仿射模式和非Merge仿射模式的统一约束
CN112997480B (zh) 2018-11-10 2023-08-22 北京字节跳动网络技术有限公司 成对平均候选计算中的取整
WO2020156464A1 (en) * 2019-01-31 2020-08-06 Mediatek Inc. Method and apparatus of combined inter and intraprediction for video coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016123081A1 (en) * 2015-01-26 2016-08-04 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
JP2017532885A (ja) * 2014-09-26 2017-11-02 ヴィド スケール インコーポレイテッド 時間ブロックベクトル予測を用いたイントラブロックコピー符号化

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2495468B (en) * 2011-09-02 2017-12-13 Skype Video coding
US10555001B2 (en) 2014-02-21 2020-02-04 Mediatek Singapore Pte. Ltd. Method of video coding using prediction based on intra picture block copy
US10666968B2 (en) 2014-05-06 2020-05-26 Hfi Innovation Inc. Method of block vector prediction for intra block copy mode coding
WO2015176678A1 (en) 2014-05-22 2015-11-26 Mediatek Inc. Method of intra block copy with flipping for image and video coding
CN111147846B (zh) 2014-07-07 2022-03-11 寰发股份有限公司 利用帧内区块复制模式编码的视频编码方法
KR102034938B1 (ko) 2014-09-01 2019-10-21 에이치에프아이 이노베이션 인크. 스크린 콘텐츠 및 비디오 코딩을 위한 인트라 픽처 블록 카피의 방법
KR102115715B1 (ko) 2014-09-30 2020-05-27 에이치에프아이 이노베이션 인크. 비디오 코딩을 위한 적응적 모션 벡터 레졸루션 방법
CA2965720C (en) 2014-11-20 2020-04-14 Hfi Innovation Inc. Method of motion vector and block vector resolution control
US10812791B2 (en) * 2016-09-16 2020-10-20 Qualcomm Incorporated Offset vector identification of temporal motion vector predictor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017532885A (ja) * 2014-09-26 2017-11-02 ヴィド スケール インコーポレイテッド 時間ブロックベクトル予測を用いたイントラブロックコピー符号化
WO2016123081A1 (en) * 2015-01-26 2016-08-04 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction

Also Published As

Publication number Publication date
WO2019236362A3 (en) 2020-08-13
US20190373259A1 (en) 2019-12-05
KR102630200B1 (ko) 2024-01-29
EP3804316A4 (en) 2022-06-22
KR20200139215A (ko) 2020-12-11
JP7212060B2 (ja) 2023-01-24
JP2023029596A (ja) 2023-03-03
CN115412728A (zh) 2022-11-29
US11800100B2 (en) 2023-10-24
KR20240015165A (ko) 2024-02-02
WO2019236362A2 (en) 2019-12-12
CN112154663B (zh) 2022-07-12
EP3804316A2 (en) 2021-04-14
JP7457170B2 (ja) 2024-03-27
KR102522112B1 (ko) 2023-04-17
US11109025B2 (en) 2021-08-31
CN112154663A (zh) 2020-12-29
KR20230051641A (ko) 2023-04-18
JP2024069475A (ja) 2024-05-21
US20210360245A1 (en) 2021-11-18
US20240007630A1 (en) 2024-01-04

Similar Documents

Publication Publication Date Title
JP7062788B2 (ja) ビデオを復号する方法、装置およびコンピュータプログラム
JP7339389B2 (ja) ビデオ圧縮における複数ラインのフレーム内予測のための方法および装置
KR102637562B1 (ko) 비디오 압축에서의 비-정사각형 블록들에 대한 인트라 예측을 위한 방법 및 장치
JP7223116B2 (ja) 動画の符号化及び復号の方法、装置及びコンピュータプログラム
JP7096896B2 (ja) ビデオ符号化のための方法及び装置
JP2021517411A (ja) ビデオ符号化のための方法、装置及びコンピュータプログラム
JP7027617B2 (ja) ビデオエンコーディング及びデコーディングのための方法、装置、コンピュータプログラム、及び非一時的なコンピュータ可読媒体
JP2022515031A (ja) ビデオコーディングのための方法、機器及びコンピュータ・プログラム
JP2021517392A5 (ja)
JP7238150B2 (ja) イントラピクチャブロック補償のための予測候補リストサイズシグナリングのための方法および装置
JP7457170B2 (ja) サブブロックに基づく時間的動きベクトル予測のための方法並びにその機器及びコンピュータプログラム
JP2021521751A (ja) ビデオ符号化において追加中間候補を有するマージモードの方法及び装置
KR20200125733A (ko) 비디오 코딩을 위한 방법 및 장치
JP7420991B2 (ja) ビデオ符号化のための方法、及び装置
JP7080434B2 (ja) サブブロックの動きベクトル予測の方法、並びにその装置及びコンピュータプログラム
JP2021517410A5 (ja)
JP2021518091A (ja) ビデオ符号化のための方法並びにその装置及びコンピュータプログラム
JP2022516062A (ja) ビデオ復号のための方法、ビデオデコーダ、およびコンピュータプログラム、ならびにビデオ符号化のための方法
JP2021517391A5 (ja)
JP7467675B2 (ja) ビデオコーディングのための方法および装置
JP2022509172A (ja) ビデオをデコードするための方法、装置及びプログラム
JP7189370B2 (ja) Cuに基づく補間フィルタ選択のシグナリング
JP2021517394A (ja) ビデオ符号化において縮減された前のラインバッファを使用するインター予測の方法及び装置
JP2021517394A5 (ja)
JP2024074919A (ja) ビデオコーディングのための方法および装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201023

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200923

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220905

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230112

R150 Certificate of patent or registration of utility model

Ref document number: 7212060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150