JP2017508344A - 動きベクトル精度の選択 - Google Patents

動きベクトル精度の選択 Download PDF

Info

Publication number
JP2017508344A
JP2017508344A JP2016545302A JP2016545302A JP2017508344A JP 2017508344 A JP2017508344 A JP 2017508344A JP 2016545302 A JP2016545302 A JP 2016545302A JP 2016545302 A JP2016545302 A JP 2016545302A JP 2017508344 A JP2017508344 A JP 2017508344A
Authority
JP
Japan
Prior art keywords
accuracy
video
sample
unit
encoder
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
JP2016545302A
Other languages
English (en)
Other versions
JP6498679B2 (ja
JP2017508344A5 (ja
Inventor
ジェイ. サリヴァン,ゲイリー
ジェイ. サリヴァン,ゲイリー
ジョウ,ユー
リー,ミンチエ
リン,チールン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2017508344A publication Critical patent/JP2017508344A/ja
Publication of JP2017508344A5 publication Critical patent/JP2017508344A5/ja
Application granted granted Critical
Publication of JP6498679B2 publication Critical patent/JP6498679B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/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
    • 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/142Detection of scene cut or scene change
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • 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/179Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

ビデオ符号化中に動きベクトル(「MV」)精度を選択するアプローチが提示される。これらのアプローチは、レート歪み性能及び/又は計算効率性の観点で有効である圧縮を容易にすることができる。例えば、ビデオエンコーダは、1以上の小数サンプルMV精度及び整数サンプルMV精度を含む複数のMV精度の中から、ビデオのユニットに関するMV精度を決定する。ビデオエンコーダは、小数サンプルMV精度を有するMV値のセットを識別し、次いで、(このセット内での)ゼロである小数部分を有するMV値の優勢率に少なくとも部分的に基づいて、ユニットに関するMV精度を選択することができる。あるいは、ビデオエンコーダは、レート歪み分析を実行することができる。レート歪み分析は、整数サンプルMV精度を優先するようにバイアス調整される。あるいは、ビデオエンコーダは、ビデオに関する情報を収集し、収集された情報に少なくとも部分的に基づいて、ユニットに関するMV精度を選択することができる。

Description

エンジニアは、デジタルビデオのビットレートを低減させるために、圧縮(ソース符号化とも呼ばれる)を使用する。圧縮は、ビデオ情報をより低いビットレート形式に変換することにより、ビデオ情報を記憶及び伝送するコストを低減させる。伸張(復号とも呼ばれる)は、圧縮形式からオリジナル情報のバージョンを再構成する。「コーデック」はエンコーダ/デコーダシステムである。
ここ20年の間、ITU−T H.261規格、H.262(MPEG−2又はISO/IEC 13818−2)規格、H.263規格、及びH.264(MPEG−4 AVC又はISO/IEC 14496−10)規格、並びに、MPEG−1(ISO/IEC 11172−2)規格、MPEG−4 Visual(ISO/IEC 14496−2)規格、及びSMPTE 421M(VC−1)規格を含む様々なビデオコーデック規格が採用されてきた。より最近では、HEVC(ITU−T H.265又はISO/IEC 23008−2)規格が承認されている。HEVC規格に対する拡張(例えば、スケーラブルビデオ符号化/復号に関するもの、サンプルビット深度又はクロマサンプリングレートの観点でのより高い忠実度を伴うビデオの符号化/復号に関するもの、又はマルチビュー符号化/復号に関するもの)を現在策定中である。ビデオコーデック規格は、通常、特定の特徴が符号化及び復号において使用されるときの符号化ビデオビットストリームにおけるパラメータを詳述する、符号化ビデオビットストリームのシンタックスのためのオプションを定義している。多くの場合、ビデオコーデック規格はまた、デコーダが復号において整合する結果を達成するために実行すべき復号オペレーションに関する詳細を提供している。コーデック規格とは別に、様々なプロプライエタリコーデックフォーマット(proprietary codec format)が、符号化ビデオビットストリームのシンタックスのための他のオプション及び対応する復号オペレーションを定義している。
一般に、ビデオ圧縮技術は、「イントラピクチャ(ピクチャ内)」圧縮及び「インターピクチャ(ピクチャ間)」圧縮を含む。イントラピクチャ圧縮技術は、個々のピクチャを圧縮するものであり、インターピクチャ圧縮技術は、先行する1以上のピクチャ及び/又は後続の1以上のピクチャ(参照ピクチャ又はアンカピクチャとしばしば呼ばれる)を参照してピクチャを圧縮するものである。
インターピクチャ圧縮技術は、しばしば、動き推定及び動き補償を用いて、ビデオシーケンスにおける時間冗長性を利用することにより、ビットレートを低減させる。動き推定は、ピクチャ間の動きを推定するプロセスである。1つの一般的な技術において、動き推定を用いるエンコーダは、現ピクチャ内のサンプル値の現ブロックを、別のピクチャすなわち参照ピクチャ内の探索領域における同じサイズの候補ブロックと照合する。エンコーダが、参照ピクチャ内の探索領域において、正確な合致又は「十分近い」合致を見つけると、エンコーダは、現ブロックと候補ブロックとの間の位置の変化を、動きデータ(動きベクトル(「MV」)等)としてパラメータ化する。MVは、慣用的に、左又は右への空間変位を示す水平MV成分と、上又は下への空間変位を示す垂直MV成分と、を有する2次元値である。一般に、動き補償は、動きデータを使用して、1以上の参照ピクチャからピクチャを再構成するプロセスである。
MVは、現ブロックのための参照ピクチャ内の同一配置位置(co-located position)から始まる整数のサンプルグリッド位置の観点での空間変位を示すことができる。例えば、現ピクチャ内の位置(32,16)における現ブロックについて、MV(−3,1)は、参照ピクチャ内の位置(29,17)を示す。あるいは、MVは、現ブロックのための参照ピクチャ内の同一配置位置からの小数のサンプルグリッド位置の観点での空間変位を示すことができる。例えば、現ピクチャ内の位置(32,16)における現ブロックについて、MV(−3.5,1.25)は、参照ピクチャ内の位置(28.5,17.25)を示す。参照ピクチャ内の小数オフセットにおけるサンプル値を決定するために、エンコーダは、通常、整数サンプル位置におけるサンプル値間で内挿を行う。このような内挿は、計算集約的であり得る。動き補償中、デコーダも、必要に応じて内挿を行って、参照ピクチャ内の小数オフセットにおけるサンプル値を算出する。
異なるビデオコーデック規格及びフォーマットは、異なるMV精度を有するMVを使用している。整数サンプルMV精度に関して、MV成分は、空間変位について整数のサンプルグリッド位置を示す。1/2サンプルMV精度又は1/4サンプルMV精度等の小数サンプルMV精度に関して、MV成分は、空間変位について整数のサンプルグリッド位置又は小数のサンプルグリッド位置を示すことができる。例えば、MV精度が、1/4サンプルMV精度である場合、MV成分は、0サンプル、0.25サンプル、0.5サンプル、0.75サンプル、1.0サンプル、1.25サンプル等といった空間変位を示すことができる。いくつかのビデオコーデック規格及びフォーマットは、符号化中のMV精度の切り替えをサポートしている。しかしながら、どのMV精度を使用するかに関するエンコーダ側の決定は、所定の符号化シナリオにおいては、効果的になされていない。
要約すると、詳細な説明は、動きベクトル(「MV」)精度の選択に関するエンコーダ側オペレーションにおけるイノベーションを提示している。例えば、ビデオエンコーダが、ビデオを符号化するとき、ビデオエンコーダは、ビデオのユニットに関するMV精度を決定する。
本明細書に記載のイノベーションの一態様に従うと、ビデオエンコーダが、ユニットに関するMV精度を決定するとき、ビデオエンコーダは、小数サンプルMV精度を有するMV値のセットを識別することができる。ビデオエンコーダは、MV値のセット内でのゼロである小数部分を有するMV値の優勢率(prevalence)に少なくとも部分的に基づいて、ユニットに関するMV精度を選択することができる。
本明細書に記載のイノベーションの別の態様に従うと、ビデオエンコーダが、ユニットに関するMV精度を決定するとき、ビデオエンコーダは、1以上の小数サンプルMV精度及び整数サンプルMV精度を含む複数のMV精度の間で決定するためにレート歪み分析を実行することができる。レート歪み分析は、(a)歪みコストをスケーリングすること(増大低減させること)(scaling)、(b)歪みコストにペナルティ(penalty)を加えること、(c)ビットレートコストをスケーリングすること、(d)ビットレートコストにペナルティを加えること、及び/又は、(e)ラグランジュ乗数係数(Lagrangian multiplier factor)を調整すること、により、整数サンプルMV精度を優先するようにバイアス調整される(biased)。
本明細書に記載のイノベーションの別の態様に従うと、ビデオエンコーダが、ユニットに関するMV精度を決定するとき、ビデオエンコーダは、ビデオに関する情報を収集し、収集された情報に少なくとも部分的に基づいて、複数のMV精度の中から、ユニットに関するMV精度を選択することができる。複数のMV精度は、1以上の小数サンプルMV精度及び整数サンプルMV精度を含む。
MV精度の選択に関するエンコーダ側オプションのためのイノベーションは、方法の一部として、方法を実行するよう適合されたコンピューティングデバイスの一部として、又は、コンピューティングデバイスに方法を実行させるコンピュータ実行可能な命令を記憶した有体のコンピュータ読み取り可能な媒体の一部として実施され得る。様々なイノベーションは、組み合わせて又は別々に、使用され得る。
本発明の前述の目的及び他の目的、特徴、並びに利点が、添付の図面を参照しながら進む以下の詳細な説明からより明らかになるであろう。
いくつかの説明する実施形態を実装することができる例示的なコンピューティングシステムの図。 いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。 いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。 いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダシステムの図。 いくつかの説明する実施形態を協働して実装することができる例示的なビデオエンコーダを示す図。 いくつかの説明する実施形態を協働して実装することができる例示的なビデオエンコーダを示す図。 スクリーンキャプチャのための入力を提供することができる、コンテンツを含むコンピュータデスクトップ環境を示す図。 自然ビデオコンテンツ及び人工ビデオコンテンツを含む混合コンテンツビデオを示す図。 整数サンプル空間変位を有するMV値を用いる動き補償を示す図。 小数サンプル空間変位を有するMV値を用いる動き補償を示す図。 符号化中にMV精度を適応させるための一般化された技術を示すフローチャート。 低複雑度アプローチを用いて符号化中にMV精度を適応させるための例示的な技術を示すフローチャート。 低複雑度アプローチのいくつかの変形形態に従ったピクチャの異なる領域を示す図。
詳細な説明は、符号化中の動きベクトル(「MV」)精度の選択におけるイノベーションを提示している。これらのアプローチは、レート歪み性能及び/又は計算効率性の観点で有効である圧縮を容易にすることができる。例えば、ビデオエンコーダは、1以上の小数サンプルMV精度及び整数サンプルMV精度を含む複数のMV精度の中から、ビデオのユニットに関するMV精度を決定する。ビデオエンコーダは、小数サンプルMV精度を有するMV値のセットを識別し、次いで、(このセット内での)ゼロである小数部分を有するMV値の優勢率に少なくとも部分的に基づいて、ユニットに関するMV精度を選択することができる。あるいは、ビデオエンコーダは、レート歪み分析を実行することができる。レート歪み分析は、整数サンプルMV精度を優先するようにバイアス調整される。あるいは、ビデオエンコーダは、ビデオに関する情報を収集し、収集された情報に少なくとも部分的に基づいて、ユニットに関するMV精度を選択することができる。あるいは、ビデオエンコーダは、何らかの他の方法により、ビデオのユニットに関するMV精度を決定することができる。
本明細書に記載のオペレーションは、ビデオエンコーダにより実行されるものとして所々で説明されるが、多くの場合、このようなオペレーションは、別のタイプのメディア処理ツールにより実行することができる。
本明細書に記載のイノベーションのうちのいくつかは、HEVC規格に固有のシンタックス要素及びオペレーションを参照して示される。本明細書に記載のイノベーションはまた、他の規格又はフォーマットのためにも実装することができる。
より一般的に、本明細書に記載の例に対する様々な代替例が可能である。例えば、本明細書に記載の方法のうちのいくつかは、例えば、説明する方法動作の順番を変えることにより、所定の方法動作を分けることにより、所定の方法動作を繰り返すことにより、又は所定の方法動作を省略することにより、変更することができる。開示する技術の様々な態様が、組み合わせて又は別々に、使用され得る。様々な実施形態が、説明するイノベーションのうちの1以上を使用する。本明細書に記載のイノベーションのうちのいくつかは、背景技術において記した問題のうちの1以上に対処する。一般的に、所与の技術/ツールが、そのような問題の全てを解決するわけではない。
I.例示的なコンピューティングシステム
図1は、説明するイノベーションのうちのいくつかを実装することができる適切なコンピューティングシステム(100)の一般化された例を示している。コンピューティングシステム(100)は、使用又は機能の範囲に関して限定を示唆するよう意図するものではない。なぜならば、本イノベーションは、ビデオ符号化のために適合された専用コンピューティングシステムを含め、様々なコンピューティングシステムにおいて実施することができるからである。
図1を参照すると、コンピューティングシステム(100)は、1以上の処理装置(110、115)及びメモリ(120、125)を含む。処理装置(110、115)は、コンピュータ実行可能な命令を実行する。処理装置は、中央処理装置(「CPU」)、特定用途向け集積回路(「ASIC」)におけるプロセッサ、又は任意の他のタイプのプロセッサとすることができる。マルチ処理システムにおいては、複数の処理装置が、処理能力を増大させるために、コンピュータ実行可能な命令を実行する。例えば、図1は、中央処理装置(110)に加えて、グラフィックス処理装置又は共処理装置(115)も示している。有体のメモリ(120、125)は、1以上の処理装置によりアクセス可能な、揮発性メモリ(例えば、レジスタ、キャッシュ、RAM)であってもよいし、不揮発性メモリ(例えば、ROM、EEPROM、フラッシュメモリ等)であってもよいし、これら2つの何らかの組合せであってもよい。メモリ(120、125)は、1以上の処理装置による実行に適したコンピュータ実行可能な命令の形態で、符号化中のMV精度の選択のための1以上のイノベーションを実装するソフトウェア(180)を記憶する。
コンピューティングシステムは、さらなる特徴を有することができる。例えば、コンピューティングシステム(100)は、ストレージ(140)、1以上の入力デバイス(150)、1以上の出力デバイス(160)、及び1以上の通信接続(170)を含む。バス、コントローラ、又はネットワーク等の相互接続機構(図示せず)が、コンピューティングシステム(100)のコンポーネントを相互接続する。通常、オペレーティングシステムソフトウェア(図示せず)が、コンピューティングシステム(100)において実行される他のソフトウェアのための動作環境を提供し、コンピューティングシステム(100)のコンポーネントの動作を調整する。
有体のストレージ(140)は、着脱可能であっても着脱不可能であってもよく、磁気ディスク、磁気テープ、磁気カセット、CD−ROM、DVD、又は、情報を記憶するために使用することができ、コンピューティングシステム(100)内でアクセスされ得る任意の他の媒体を含む。ストレージ(140)は、符号化中のMV精度の選択のための1以上のイノベーションを実装するソフトウェア(180)の命令を記憶する。
1以上の入力デバイス(150)は、キーボード、マウス、ペン、若しくはトラックボール等のタッチ入力デバイス、音声入力デバイス、スキャニングデバイス、又はコンピューティングシステム(100)への入力を提供する別のデバイスとすることができる。ビデオに関して、1以上の入力デバイス(150)は、カメラ、ビデオカード、TVチューナカード、スクリーンキャプチャモジュール、若しくはアナログ形態あるいはデジタル形態のビデオ入力を受け入れる同様のデバイス、又はビデオ入力をコンピューティングシステム(100)に読み込むCD−ROMあるいはCD−RWとすることができる。1以上の出力デバイス(160)は、ディスプレイ、プリンタ、スピーカ、CDライタ、又はコンピューティングシステム(100)からの出力を提供する別のデバイスとすることができる。
1以上の通信接続(170)は、通信媒体を介した別のコンピューティングエンティティとの通信を可能にする。通信媒体は、変調されたデータ信号により、コンピュータ実行可能な命令、オーディオ入力、ビデオ入力、オーディオ出力、ビデオ出力、又は他のデータ等の情報を伝達する。変調されたデータ信号とは、信号内の情報を符号化するように設定又は変更された特性のうちの1以上を有する信号である。限定ではなく例として、通信媒体は、電気、光、RF、又は他のキャリアを使用することができる。
本イノベーションは、コンピュータ読み取り可能な媒体の一般的なコンテキストにおいて説明され得る。コンピュータ読み取り可能な媒体は、コンピューティング環境内でアクセスされ得る任意の利用可能な有体の媒体である。限定ではなく例として、コンピューティングシステム(100)において、コンピュータ読み取り可能な媒体は、メモリ(120、125)、ストレージ(140)、及びこれらの任意の組合せを含む。
本イノベーションは、コンピュータ実行可能な命令の一般的なコンテキストにおいて説明され得る。コンピュータ実行可能な命令は、例えば、プログラムモジュールに含まれ、コンピューティングシステムにおいて、ターゲット実プロセッサ又は仮想プロセッサ上で実行される。一般に、プログラムモジュールは、特定のタスクを実行する又は特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造等を含む。プログラムモジュールの機能は、様々な実施形態において、必要に応じて、組み合わされてもよいし、プログラムモジュール間で分割されてもよい。プログラムモジュールのコンピュータ実行可能な命令は、ローカルコンピューティングシステム又は分散コンピューティングシステム内で実行され得る。
「システム」及び「デバイス」という用語は、本明細書において置き換え可能に使用される。文脈が別途明確に示さない限り、これらの用語は、コンピューティングシステム又はコンピューティングデバイスのタイプに関していかなる限定も示すものではない。一般に、コンピューティングシステム又はコンピューティングデバイスは、局在することもあるし分散されることもあり、専用ハードウェア及び/又は汎用ハードウェアと、本明細書に記載の機能を実装するソフトウェアと、の任意の組合せを含み得る。
開示する方法は、開示する方法のいずれかを実行するよう構成された専用コンピューティングハードウェアを用いて実装することもできる。例えば、開示する方法は、開示する方法のいずれかを実行するよう特別に設計又は構成された集積回路(例えば、ASIC(ASICデジタル信号プロセッサ(「DSP」)等)、グラフィックス処理装置(「GPU」)、又はフィールドプログラマブルゲートアレイ(「FPGA」)等のプログラマブルロジックデバイス(「PLD」)等)により実装することができる。
提示の目的上、詳細な説明では、コンピューティングシステムにおけるコンピュータオペレーションを説明するための「決定する」及び「使用する」のような用語が使用される。これらの用語は、コンピュータにより実行されるオペレーションの高レベル抽象表現であって、人間により実行される動作と混同すべきではない。これらの用語に対応する実際のコンピュータオペレーションは、実装に応じて変化する。本明細書で使用されるとき、「最適化*」(最適化及び最適化する等の変形を含む)という用語は、所与の範囲の決定下での複数のオプションのうちの1つの選択を指し、最適化された選択が、拡張範囲の決定についての「最良の」選択又は「最適な」選択であることを示すわけではない。
II.例示的なネットワーク環境
図2a及び図2bは、ビデオエンコーダ(220)及びビデオデコーダ(270)を含む例示的なネットワーク環境(201、202)を示している。エンコーダ(220)及びデコーダ(270)は、適切な通信プロトコルを用いて、ネットワーク(250)を介して接続される。ネットワーク(250)は、インターネット又は別のコンピュータネットワークを含み得る。
図2aに示されるネットワーク環境(201)において、各リアルタイム通信(「RTC」)ツール(210)は、双方向通信のためのエンコーダ(220)及びデコーダ(270)の両方を含む。所与のエンコーダ(220)は、HEVC規格(H.265としても知られている)の変形又は拡張、SMPTE 421M規格、ISO/IEC 14496−10規格(H.264又はAVCとしても知られている)、別の規格、又はプロプライエタリフォーマットに準拠する出力を生成することができ、対応するデコーダ(270)は、エンコーダ(220)からの符号化データを受け入れることができる。双方向通信は、ビデオ会議、ビデオ通話、又は他の2パーティ若しくはマルチパーティ通信シナリオの一部であり得る。図2aのネットワーク環境(201)は、2つのリアルタイム通信ツール(210)を含むが、ネットワーク環境(201)は、マルチパーティ通信に参加する3以上のリアルタイム通信ツール(210)を含んでもよい。
リアルタイム通信ツール(210)は、エンコーダ(220)による符号化を管理する。図3は、リアルタイム通信ツール(210)に含まれ得る例示的なエンコーダシステム(300)を示している。代替的に、リアルタイム通信ツール(210)は、別のエンコーダシステムを使用してもよい。リアルタイム通信ツール(210)はまた、デコーダ(270)による復号も管理する。
図2bに示されるネットワーク環境(202)において、符号化ツール(212)は、デコーダ(270)を含む複数の再生ツール(214)に配信するためのビデオを符号化するエンコーダ(220)を含む。単方向通信は、ビデオが符号化されて1つのロケーションから1以上の他のロケーションに送信される、ビデオ監視システム、ウェブカメラモニタリングシステム、スクリーンキャプチャモジュール、リモートデスクトップ会議プレゼンテーション、又は他のシナリオのために提供され得る。図2bのネットワーク環境(202)は、2つの再生ツール(214)を含むが、ネットワーク環境(202)は、それより多い又はそれより少ない再生ツール(214)を含んでもよい。一般に、再生ツール(214)は、再生ツール(214)が受信するビデオのストリームを判定するために、符号化ツール(212)と通信する。再生ツール(214)は、ストリームを受信し、受信した符号化データを適切な期間の間バッファし、復号及び再生を開始する。
図3は、符号化ツール(212)に含まれ得る例示的なエンコーダシステム(300)を示している。代替的に、符号化ツール(212)は、別のエンコーダシステムを使用してもよい。符号化ツール(212)はまた、1以上の再生ツール(214)との接続を管理するためのサーバサイドコントローラロジックも含み得る。再生ツール(214)はまた、符号化ツール(212)との接続を管理するためのクライアントサイドコントローラロジックも含み得る。
III.例示的なエンコーダシステム
図3は、いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダシステム(300)のブロック図である。エンコーダシステム(300)は、リアルタイム通信のための低遅延符号化モード、トランスコーディングモード、及びファイル又はストリームからの再生のためのメディアを生成するためのより高遅延の符号化モード等の複数の符号化モードのうちのいずれかで動作することができる汎用符号化ツールであってもよいし、そのような1つの符号化モードのために適合された専用符号化ツールであってもよい。エンコーダシステム(300)は、オペレーティングシステムモジュールとして、アプリケーションライブラリの一部として、又はスタンドアロンアプリケーションとして、実装することができる。概して、エンコーダシステム(300)は、ビデオソース(310)から、一連のソースビデオフレーム(311)を受信し、チャネル(390)への出力として符号化データを生成する。チャネルに出力される符号化データは、選択されたMV精度を使用して符号化されるコンテンツを含み得る。
ビデオソース(310)は、カメラ、チューナカード、記憶媒体、スクリーンキャプチャモジュール、又は他のデジタルビデオソースとすることができる。ビデオソース(310)は、例えば、毎秒30フレームといったフレームレートで一連のビデオフレームを生成する。本明細書で使用されるとき、「フレーム」という用語は、一般に、ソースの符号化又は再構成された画像データを指す。プログレッシブスキャンビデオに関して、フレームは、プログレッシブスキャンビデオフレームである。インターレースビデオに関して、例示的な実施形態において、インターレースビデオフレームは、符号化の前にインターレース解除され得る(de-interlaced)。代替的に、2つの相補的インターレースビデオフィールドが、1つのビデオフレームとして一緒に符号化されてもよいし、2つの別々に符号化されるフィールドとして符号化されてもよい。プログレッシブスキャンビデオフレーム又はインターレーススキャンビデオフレームを示すかは別にして、「フレーム」又は「ピクチャ」という用語は、単一の対でないビデオフィールド、相補的な一対のビデオフィールド、所与の時間におけるビデオオブジェクトを表すビデオオブジェクトプレーン、又はより大きな画像における関心領域を示し得る。ビデオオブジェクトプレーン又は領域は、シーンの複数のオブジェクト又は領域を含むより大きな画像の一部であり得る。
到着ソースフレーム(311)は、複数のフレームバッファ記憶領域(321、322、...、32n)を含むソースフレーム一時メモリ記憶領域(320)に記憶される。フレームバッファ(321、322等)は、ソースフレーム記憶領域(320)内で1つのソースフレームを保持する。ソースフレーム(311)のうちの1以上がフレームバッファ(321、322等)に記憶された後、フレームセレクタ(330)が、ソースフレーム記憶領域(320)から個々のソースフレームを選択する。エンコーダ(340)への入力のためにフレームセレクタ(330)によりフレームが選択される順番は、ビデオソース(310)によりフレームが生成される順番とは異なり得る。例えば、いくつかの後続フレームが最初に符号化され、これにより、時間的後方予測を容易にすることを可能にするために、いくつかのフレームの符号化は、順に遅延されることがある。エンコーダ(340)の前に、エンコーダシステム(300)は、符号化の前に選択されたフレーム(331)の前処理(例えば、フィルタリング)を実行するプリプロセッサ(図示せず)を含み得る。前処理はまた、符号化のための、プライマリ成分(例えば、ルマ)及びセカンダリ成分(例えば、赤色及び青色に対するクロマ差)への色空間変換及び(例えば、クロマ成分の空間解像度を低減させるための)再サンプリング処理を含み得る。通常、符号化の前に、ビデオは、YUV等の色空間に変換されている。YUVでは、ルマ(Y)成分のサンプル値は、輝度値又は明度値を表し、クロマ(U、V)成分のサンプル値は、色差値を表す。クロマサンプル値は、(例えば、YUV4:2:0フォーマット又はYUV4:2:2フォーマットに合わせるために)より低いクロマサンプリングレートにサブサンプリングされ得る、あるいは、クロマサンプル値は、(例えば、YUV4:4:4フォーマットに合わせるために)ルマサンプル値と同じ解像度を有し得る。YUV4:2:0フォーマットにおいては、クロマ成分は、2の倍数だけ水平方向にダウンサンプリングされ、2の倍数だけ垂直方向にダウンサンプリングされる。YUV4:2:2フォーマットにおいては、クロマ成分は、2の倍数だけ水平方向にダウンサンプリングされる。あるいは、ビデオは、(例えば、RGB4:4:4フォーマットといった)別のフォーマットで符号化され得る。
エンコーダ(340)は、選択されたフレーム(331)を符号化して、符号化フレーム(341)を生成するとともに、メモリ管理制御操作(「MMCO」)信号(342)又は参照ピクチャセット(「RPS」)情報を生成する。現フレームが、符号化された最初のフレームではない場合、符号化プロセスを実行するとき、エンコーダ(340)は、復号フレーム一時メモリ記憶領域(360)に記憶されている1以上の以前に符号化/復号されたフレーム(369)を使用することができる。そのような記憶されている復号フレーム(369)は、現ソースフレーム(331)のコンテンツのインターフレーム予測のための参照フレームとして使用される。MMCO/RPS情報(342)は、どの再構成フレームが、参照フレームとして使用され得るかを、したがって、フレーム記憶領域に記憶されるべきかを、デコーダに示す。
一般に、エンコーダ(340)は、タイルへの分割、イントラ予測推定及び予測、動き推定及び動き補償、周波数変換、量子化、並びにエントロピ符号化等の符号化タスクを実行する複数の符号化モジュールを含む。エンコーダ(340)により実行される正確なオペレーションは、圧縮フォーマットに応じて変わり得る。出力される符号化データのフォーマットは、HEVCフォーマット(H.265)の変形又は拡張、Windows(登録商標) Media Videoフォーマット、VC−1フォーマット、MPEG−xフォーマット(例えば、MPEG−1、MPEG−2、又はMPEG−4)、H.26xフォーマット(例えば、H.261、H.262、H.263、H.264)、又は別のフォーマットであり得る。
エンコーダ(340)は、フレームを、同じサイズ又は異なるサイズの複数のタイルに分割することができる。例えば、エンコーダ(340)は、フレーム境界を用いてフレーム内のタイルの水平境界及び垂直境界を規定するタイル行及びタイル列に沿って、フレームを分割する。ここで、各タイルは矩形領域である。タイルは、並列処理のためのオプションを提供するために、しばしば使用される。フレームはまた、1以上のスライスとして編成され得る。ここで、スライスは、フレーム全体又はフレームの一領域であり得る。スライスは、フレーム内の他のスライスとは独立して復号することができ、これは、誤り耐性を向上させる。スライス又はタイルのコンテンツは、符号化及び復号のために、ブロック又はサンプルの他のセットにさらに分割される。
HEVC規格に従ったシンタックスに関して、エンコーダは、フレーム(又はスライス若しくはタイル)のコンテンツを、符号化ツリーユニットに分割する。符号化ツリーユニット(「CTU」)は、1つのルマ符号化ツリーブロック(「CTB」)として編成されるルマサンプル値と、2つのクロマCTBとして編成される対応するクロマサンプル値と、を含む。CTU(及びそのCTB)のサイズは、エンコーダにより選択される。ルマCTBは、例えば、64×64ルマサンプル値、32×32ルマサンプル値、又は16×16ルマサンプル値を含み得る。CTUは、1以上の符号化ユニットを含む。符号化ユニット(「CU」)は、1つのルマ符号化ブロック(「CB」)と2つの対応するクロマCBとを有する。例えば、1つの64×64ルマCTBと2つの64×64クロマCTBとを有するCTU(YUV4:4:4フォーマット)は、4つのCUに分割され得る。ここで、各CUは、1つの32×32ルマCBと2つの32×32クロマCBとを含み、各CUは、可能であれば、より小さなCUにさらに分割される。あるいは、別の例として、1つの64×64ルマCTBと2つの32×32クロマCTBとを有するCTU(YUV4:2:0フォーマット)は、4つのCUに分割され得る。ここで、各CUは、1つの32×32ルマCBと2つの16×16クロマCBとを含み、各CUは、可能であれば、より小さなCUにさらに分割される。CUの最小許容可能サイズ(例えば、8×8、16×16)が、ビットストリームに含められてシグナリングされ得る。
一般に、CUは、インター又はイントラ等の予測モードを有する。CUは、予測情報(例えば、予測モード詳細、変位値等)のシグナリング及び/又は予測処理のために、1以上の予測ユニットを含む。予測ユニット(「PU」)は、1つのルマ予測ブロック(「PB」)と2つのクロマPBとを有する。イントラ予測CUに関して、CUが最小サイズ(例えば、8×8)を有する場合を除いて、PUは、CUと同じサイズを有する。この場合、CUは、4つのより小さなPU(例えば、最小CUサイズが8×8である場合、それぞれ4×4である)に分割され得る、あるいは、PUは、CUに関してシンタックス要素により示される最小CUサイズを有し得る。CUはまた、残差符号化/復号のために、1以上の変換ユニットを有する。ここで、変換ユニット(「TU」)は、1つのルマ変換ブロック(「TB」)と2つのクロマTBとを有する。イントラ予測CU内のPUは、1つのTU(PUとサイズが等しい)又は複数のTUを含み得る。エンコーダは、ビデオをCTU、CU、PU、TU等にどのように分割するかを決定する。H.264/AVC規格のコンテキストにおいて、「マクロブロック」という用語は、H.265/HEVC規格のCTUのブロック形状領域に類似するブロック形状領域を示し、「サブマクロブロックパーティション」という用語は、CU又はPUのブロック形状領域に類似するブロック形状領域を示す。本明細書で使用されるとき、「ブロック」という用語は、文脈に応じて、CB、PB、TB、CTU、CU、PU、TU、マクロブロック、サブマクロブロックパーティション、又はサンプル値の他のセットを示し得る。
図3に戻ると、エンコーダは、ソースフレーム(331)内の他の以前に再構成されたサンプル値の観点でそのソースフレーム(331)のイントラ符号化ブロックを表現する。イントラブロックコピー(「BC」)予測に関して、イントラピクチャ推定部が、他の以前に再構成されたサンプル値に対するブロックの変位を推定する。イントラフレーム予測参照領域(又は、省略してイントラ予測領域)とは、ブロックのためのBC予測値を生成するために使用される、フレーム内のサンプルの領域である。イントラフレーム予測領域は、(ブロックベクトル(「BV」)推定において決定された)BV値を用いて示され得る。ブロックのためのイントラ空間予測に関して、イントラピクチャ推定部は、ブロックへの、隣接する再構成されたサンプル値の外挿(extrapolation)を推定する。イントラピクチャ推定部は、予測情報(イントラBC予測のためのBV値やイントラ空間予測のための予測モード(方向)等)を出力することができ、この予測情報が、エントロピ符号化される。イントラフレーム予測予測部は、イントラ予測値を決定するために、予測情報を適用する。
エンコーダ(340)は、参照フレームからの予測の観点でソースフレーム(331)のインターフレーム符号化予測ブロックを表現する。動き推定部は、1以上の参照フレーム(369)に対するブロックの動きを推定する。動き推定部は、本明細書で説明するように、動きベクトル(「MV」)精度(例えば、整数サンプルMV精度、1/2サンプルMV精度、又は1/4サンプルMV精度)を選択し、次いで、動き推定中、選択されたMV精度を使用することができる。複数の参照フレームが使用される場合、複数の参照フレームは、異なる時間的方向からのものであってもよいし、同じ時間的方向からのものであってもよい。動き補償予測参照領域とは、現フレームのブロックのサンプルのための動き補償予測値を生成するために使用される、1以上の参照フレーム内のサンプルの領域である。動き推定部は、MV情報等の動き情報を出力し、この動き情報が、エントロピ符号化される。動き補償部は、インターフレーム予測のための動き補償予測値を決定するために、選択されたMV精度を有するMV値を、参照フレーム(369)に適用する。
エンコーダは、ブロックの予測値(イントラ又はインター)と対応するオリジナルの値との間の差(あれば)を決定することができる。このような予測残差値が、周波数変換(周波数変換がスキップされない場合)、量子化、及びエントロピ符号化を用いて、さらに符号化される。例えば、エンコーダ(340)は、ピクチャ、タイル、スライス、及び/又はビデオの他の部分のための量子化パラメータ(「QP」)の値を設定し、それに従って変換係数を量子化する。エンコーダ(340)のエントロピ符号化部が、量子化された変換係数値に加えて、所定のサイド情報(例えば、MV情報、選択されたMV精度、BV値、QP値、モード決定、パラメータ選択)も圧縮する。一般的なエントロピ符号化技術は、指数ゴロム符号化、ゴロムライス符号化、算術符号化、差分符号化、ハフマン符号化、ランレングス符号化、「V2V(variable-length-to-variable-length)」符号化、「V2F(variable-length-to-fixed-length)」符号化、「LZ(Lempel-Ziv)」符号化、辞書符号化、「PIPE(probability interval partitioning entropy)」符号化、及びこれらの組合せを含む。エントロピ符号化部は、様々な種類の情報のための様々な符号化技術を使用することができ、複数の技術を組み合わせて適用することができ(例えば、ゴロムライス符号化を適用した後に算術符号化を適用することにより)、特定の符号化技術における複数の符号テーブルの中から選択することができる。いくつかの実装において、周波数変換は、スキップされ得る。この場合、予測残差値は、量子化されてエントロピ符号化され得る。
復号フレーム内のブロック境界行及び/又はブロック境界列にわたる不連続さを平滑化するために、適応デブロッキングフィルタが、エンコーダ(340)における動き補償ループ内に含まれる(すなわち、「ループ内」フィルタリング)。代替的又は追加的に、他のフィルタリング(デリンギングフィルタリング、適応ループフィルタリング(「ALF」)、又はサンプル適応オフセット(「SAO」)フィルタリング等;図示せず)が、ループ内フィルタリングオペレーションとして、適用されてもよい。
符号化フレーム(341)及びMMCO/RPS情報(342)(又は、フレームに関する依存関係及び順番構造がエンコーダ(340)において既に知られているため、MMCO/RPS情報(342)と同等の情報)が、復号プロセスエミュレータ(350)により処理される。復号プロセスエミュレータ(350)は、例えば、参照フレームを再構成する復号タスク等のデコーダの機能の一部を実装している。復号プロセスエミュレータ(350)は、MMCO/RPS情報(342)と整合するように、所与の符号化フレーム(341)が、符号化される後続フレームのインターフレーム予測において参照フレームとして使用するために再構成されて記憶される必要があるかどうかを判定する。符号化フレーム(341)が記憶される必要がある場合、復号プロセスエミュレータ(350)は、符号化フレーム(341)を受信して対応する復号フレーム(351)を生成するデコーダにより行われるであろう復号プロセスを模擬する。そうする際に、エンコーダ(340)が、復号フレーム記憶領域(360)に記憶されている1以上の復号フレーム(369)を使用したとき、復号プロセスエミュレータ(350)は、復号プロセスの一部として、記憶領域(360)から1以上の復号フレーム(369)を使用する。
復号フレーム一時メモリ記憶領域(360)は、複数のフレームバッファ記憶領域(361、362、...、36n)を含む。復号プロセスエミュレータ(350)は、MMCO/RPS情報(342)と整合するように、参照フレームとして使用するためにエンコーダ(340)によりもはや必要とされなくなったフレームを有する任意のフレームバッファ(361、362等)を識別するために、記憶領域(360)のコンテンツを管理する。復号プロセスを模擬した後、復号プロセスエミュレータ(350)は、このように識別されるフレームバッファ(361、362等)に、新たに復号されたフレーム(351)を記憶する。
符号化フレーム(341)及びMMCO/RPS情報(342)は、一時符号化データ領域(370)にバッファされる。符号化データ領域(370)に収集される符号化データは、エレメンタリ符号化ビデオビットストリームのシンタックスの一部として、1以上のピクチャの符号化データを含む。符号化データ領域(370)に収集される符号化データはまた、(例えば、1以上の付加拡張情報(「SEI」)メッセージ又はビデオユーザビリティ情報(「VUI」)メッセージにおける1以上のパラメータとして、)符号化ビデオデータに関連するメディアメタデータを含み得る。
一時符号化データ領域(370)からの収集されたデータ(371)は、チャネルエンコーダ(380)により処理される。チャネルエンコーダ(380)は、(例えば、ITU−T H.222.0|ISO/IEC 13818−1等のメディアプログラムストリーム若しくはトランスポートストリームフォーマット、又は、IETF RFC 3550等のインターネットリアルタイムトランスポートプロトコルフォーマットに従って)メディアストリームとして伝送又は記憶するために、収集されたデータをパケット化及び/又は多重化することができる。そのような場合、チャネルエンコーダ(380)は、メディア伝送ストリームのシンタックスの一部として、シンタックス要素を付加することができる。あるいは、チャネルエンコーダ(380)は、(例えば、ISO/IEC 14496−12等のメディアコンテナフォーマットに従って)ファイルとして記憶するために、収集されたデータを編成することができる。そのような場合、チャネルエンコーダ(380)は、メディア記憶ファイルのシンタックスの一部として、シンタックス要素を付加することができる。あるいは、より一般的に、チャネルエンコーダ(380)は、1以上のメディアシステム多重化プロトコル又はトランスポートプロトコルを実装することができる。そのような場合、チャネルエンコーダ(380)は、1以上のプロトコルのシンタックスの一部として、シンタックス要素を付加することができる。チャネルエンコーダ(380)は、チャネル(390)への出力を提供する。チャネル(390)は、ストレージ、通信接続、又は出力のための別のチャネルを表す。チャネルエンコーダ(380)又はチャネル(390)はまた、例えば、前方誤り訂正(「FEC」)符号化及びアナログ信号変調のための他の要素(図示せず)を含み得る。
IV.例示的なビデオエンコーダ
図4a及び図4bは、いくつかの説明する実施形態を協働して実装することができる一般化されたビデオエンコーダ(400)のブロック図である。エンコーダ(400)は、現ピクチャを含む一連のビデオピクチャを、入力ビデオ信号(405)として受信し、符号化ビデオビットストリーム(495)内の符号化データを、出力として生成する。
エンコーダ(400)は、ブロックベースであり、実装に依存するブロックフォーマットを使用する。ブロックは、例えば、予測段階、周波数変換段階、及び/又はエントロピ符号化段階において等の様々な段階において、さらに細分割され得る。例えば、ピクチャは、64×64ブロック、32×32ブロック、又は16×16ブロックに分割され得、今度は、それらのブロックが、符号化及び復号のために、サンプル値のより小さなブロックに分割され得る。HEVC規格のための符号化の実装において、エンコーダは、ピクチャを、CTU(CTB)、CU(CB)、PU(PB)、及びTU(TB)に分割する。
エンコーダ(400)は、イントラピクチャ符号化及び/又はインターピクチャ符号化を用いて、ピクチャを圧縮する。エンコーダ(400)のコンポーネントの多くが、イントラピクチャ符号化及びインターピクチャ符号化の両方のために使用される。これらのコンポーネントにより実行される正確なオペレーションは、圧縮される情報のタイプに応じて変わり得る。
タイル化モジュール(410)は、任意的に、ピクチャを、同じサイズ又は異なるサイズの複数のタイルに分割する。例えば、タイル化モジュール(410)は、ピクチャ境界を用いてピクチャ内のタイルの水平境界及び垂直境界を規定するタイル行及びタイル列に沿って、ピクチャを分割する。ここで、各タイルは矩形領域である。
一般符号化制御部(420)は、入力ビデオ信号(405)のピクチャに加えて、エンコーダ(400)の様々なモジュールからのフィードバック(図示せず)を受信する。概して、一般符号化制御部(420)は、符号化中に符号化パラメータを設定及び変更するために、他のモジュール(タイル化モジュール(410)、変換部/スケーリング部/量子化部(430)、スケーリング部/逆変換部(435)、イントラピクチャ推定部(440)、動き推定部(450)、及びイントラ/インタースイッチ等)に制御信号(図示せず)を供給する。詳細には、一般符号化制御部(420)は、動き推定部(450)と協働して、符号化中にMV精度を決定することができる。一般符号化制御部(420)はまた、例えば、レート歪み分析を実行して、符号化中に中間結果を評価することができる。一般符号化制御部(420)は、符号化中になされた決定を示す一般制御データ(422)を生成するので、対応するデコーダは、整合する決定を行うことができる。一般制御データ(422)は、ヘッダフォーマット化部/エントロピ符号化部(490)に提供される。
現ピクチャが、インターピクチャ予測を用いて予測される場合、動き推定部(450)は、1以上の参照ピクチャに対する、入力ビデオ信号(405)の現ピクチャのサンプル値のブロックの動きを推定する。動き推定部(450)は、本明細書で説明するように、動きベクトル(「MV」)精度(例えば、整数サンプルMV精度、1/2サンプルMV精度、又は1/4サンプルMV精度)を選択し、次いで、動き推定中、選択されたMV精度を使用することができる。復号ピクチャバッファ(470)は、参照ピクチャとして使用するために、1以上の以前に再構成された符号化ピクチャをバッファする。複数の参照ピクチャが使用される場合、複数の参照ピクチャは、異なる時間的方向からのものであってもよいし、同じ時間的方向からのものであってもよい。動き推定部(450)は、サイド情報として、MVデータ等の動きデータ(452)、マージモードインデックス値、及び参照ピクチャ選択データを生成するとともに、選択されたMV精度を示すサイド情報を生成する。動きデータ(452)を含むサイド情報は、ヘッダフォーマット化部/エントロピ符号化部(490)及び動き補償部(455)に提供される。
動き補償部(455)は、選択されたMV精度を有するMV値を、復号ピクチャバッファ(470)からの1以上の再構成された参照ピクチャに適用する。ピクチャのクロマデータが、ルマデータと同じ解像度を有する場合(例えば、フォーマットが、YUV4:4:4フォーマット又はRGB4:4:4フォーマットである場合)、クロマブロックに対して適用されるMV値は、ルマブロックに対して適用されるMV値と同じであり得る。一方、ピクチャのクロマデータが、ルマデータより低い解像度を有する場合(例えば、フォーマットが、YUV4:2:0フォーマット又はYUV4:2:2フォーマットである場合)、クロマブロックに対して適用されるMV値は、低減されて、可能であれば、クロマ解像度における差を調整するために丸められたMV値であり得る(例えば、YUV4:2:0フォーマットの場合、MV値の垂直成分及び水平成分を2で除算して、それらを、クロマ動き補償プロセスに関して使用される精度に切り捨てる又は丸めることにより;YUV4:2:2フォーマットの場合、MV値の水平成分を2で除算して、それを、クロマ動き補償プロセスに関して使用される精度に切り捨てる又は丸めることにより)。動き補償部(455)は、現ピクチャのための動き補償予測を生成する。
エンコーダ(400)内の分離パス(separate path)において、イントラピクチャ推定部(440)は、入力ビデオ信号(405)の現ピクチャのサンプル値のブロックのためのイントラピクチャ予測をどのように実行するかを決定する。現ピクチャは、イントラピクチャ符号化を用いて、全体又は一部が符号化され得る。イントラ空間予測に関して、イントラピクチャ推定部(440)は、現ピクチャの再構成(438)の値を用いて、現ピクチャの隣接する以前に再構成されたサンプル値から、現ピクチャの現ブロックのサンプル値をどのように空間的に予測するかを決定する。あるいは、BV値を使用するイントラBC予測に関して、イントラピクチャ推定部(440)は、現ピクチャ内の異なる候補領域への、現ブロックのサンプル値の変位を推定する。
イントラピクチャ推定部(440)は、サイド情報として、イントラ予測が空間予測を使用するかイントラBC予測を使用するかを示す情報(例えば、イントラブロックごとのフラグ値)、予測モード方向(イントラ空間予測に関して)、及びBV値(イントラBC予測に関して)等のイントラ予測データ(442)を生成する。イントラ予測データ(442)は、ヘッダフォーマット化部/エントロピ符号化部(490)及びイントラピクチャ予測部(445)に提供される。
イントラピクチャ予測部(445)は、イントラ予測データ(442)に従って、現ピクチャの隣接する以前に再構成されたサンプル値から、現ピクチャの現ブロックのサンプル値を空間的に予測する。あるいは、イントラBC予測に関して、イントラピクチャ予測部(445)は、現ブロックのBV値により示されるイントラ予測領域の以前に再構成されたサンプル値を使用して、現ブロックのサンプル値を予測する。
イントラ/インタースイッチは、所与のブロックのための予測(458)として使用するために、動き補償予測又はイントラピクチャ予測の値を選択する。残差符号化がスキップされない場合、予測(458)のブロックと、入力ビデオ信号(405)のオリジナルの現ピクチャの対応する部分と、の間の差(あれば)が、残差(418)の値を提供する。残差値が符号化/シグナリングされている場合、現ピクチャの再構成中に、再構成された残差値が、予測(458)と結合されて、ビデオ信号(405)からのオリジナルのコンテンツの再構成(438)が生成される。しかしながら、損失圧縮(lossy compression)では、それでも、いくつかの情報が、ビデオ信号(405)から失われる。
変換部/スケーリング部/量子化部(430)において、周波数変換がスキップされない場合、周波数変換部は、空間領域ビデオデータを周波数領域(すなわち、スペクトル変換)データに変換する。ブロックベースのビデオ符号化に関して、周波数変換部は、離散コサイン変換(「DCT」)、その整数近似、又は別のタイプの順ブロック変換(例えば、離散サイン変換又はその整数近似)を予測残差データ(又は、予測(458)がヌルの場合にはサンプル値データ)のブロックに適用して、周波数変換係数のブロックを生成する。エンコーダ(400)はまた、そのような変換ステップがスキップされることを指示することができる。スケーリング部/量子化部は、変換係数をスケーリングして量子化する。例えば、量子化部は、フレームごとに、タイルごとに、スライスごとに、ブロックごとに、周波数固有の単位で、又は他の単位で変わる量子化ステップサイズで、デッドゾーン(dead-zone)スカラ量子化を周波数領域データに適用する。量子化された変換係数データ(432)は、ヘッダフォーマット化部/エントロピ符号化部(490)に提供される。周波数変換がスキップされる場合、スケーリング部/量子化部は、予測残差データ(又は、予測(458)がヌルの場合にはサンプル値データ)のブロックをスケーリングして量子化し、ヘッダフォーマット化部/エントロピ符号化部(490)に提供される量子化された値を生成することができる。
スケーリング部/逆変換部(435)において、スケーリング部/逆量子化部は、量子化された変換係数に対して、逆スケーリング及び逆量子化を実行する。逆周波数変換部は、逆周波数変換を実行して、再構成された予測残差値又はサンプル値のブロックを生成する。周波数変換段階がスキップされた場合には、逆周波数変換もスキップされる。この場合、スケーリング部/逆量子化部は、予測残差データ(又は、サンプル値データ)のブロックに対して、逆スケーリング及び逆量子化を実行して、再構成された値を生成することができる。残差値が符号化/シグナリングされている場合、エンコーダ(400)は、再構成された残差値を、予測(458)の値(例えば、動き補償予測値、イントラピクチャ予測値)と結合して、再構成(438)を生成する。残差値が符号化/シグナリングされていない場合、エンコーダ(400)は、再構成(438)として、予測(458)の値を使用する。
イントラピクチャ予測に関して、再構成(438)の値は、イントラピクチャ推定部(440)及びイントラピクチャ予測部(445)にフィードバックされ得る。また、再構成(438)の値は、後続ピクチャの動き補償予測のためにも使用され得る。再構成(438)の値は、さらにフィルタリングされ得る。フィルタリング制御部(460)は、ビデオ信号(405)の所与のピクチャに関して、再構成(438)の値に対して、デブロックフィルタリング及びSAOフィルタリングをどのように実行するかを決定する。フィルタリング制御部(460)は、フィルタリング制御データ(462)を生成する。フィルタリング制御データ(462)は、ヘッダフォーマット化部/エントロピ符号化部(490)及びマージ部/1以上のフィルタ(465)に提供される。
マージ部/1以上のフィルタ(465)において、エンコーダ(400)は、異なるタイルからのコンテンツを、ピクチャの再構成バージョンにマージする。エンコーダ(400)は、フレーム内の境界にわたる不連続さを適応的に平滑化するために、フィルタリング制御データ(462)に従って、デブロックフィルタリング及びSAOフィルタリングを選択的に実行する。代替的又は追加的に、他のフィルタリング(デリンギングフィルタリング又はALF等;図示せず)が、適用されてもよい。タイル境界は、エンコーダ(400)の設定に応じて、選択的にフィルタリングされ得る又はフィルタリングされず、エンコーダ(400)は、そのようなフィルタリングが適用されたか否かを示すシンタックスを、符号化ビットストリーム内に提供することができる。復号ピクチャバッファ(470)は、後続の動き補償予測において使用するために、再構成された現ピクチャをバッファする。
ヘッダフォーマット化部/エントロピ符号化部(490)は、一般制御データ(422)、量子化された変換係数データ(432)、イントラ予測データ(442)、動きデータ(452)、及びフィルタリング制御データ(462)をフォーマット化及び/又はエントロピ符号化する。MV値が、予測符号化され得る。例えば、ヘッダフォーマット化部/エントロピ符号化部(490)は、MV予測の後、差分MV値に関するシンタックス要素等の様々なシンタックス要素のエントロピ符号化のために、指数ゴロム符号化を使用する。
ヘッダフォーマット化部/エントロピ符号化部(490)は、符号化データを、符号化ビデオビットストリーム(495)内に提供する。符号化ビデオビットストリーム(495)のフォーマットは、HEVCフォーマットの変形又は拡張、Windows(登録商標) Media Videoフォーマット、VC−1フォーマット、MPEG−xフォーマット(例えば、MPEG−1、MPEG−2、又はMPEG−4)、H.26xフォーマット(例えば、H.261、H.262、H.263、H.264)、又は別のフォーマットであり得る。
実装及び所望の圧縮のタイプに応じて、エンコーダのモジュールを追加してもよいし、省略してもよいし、複数のモジュールに分割してもよいし、他のモジュールと結合してもよいし、且つ/又は同様のモジュールと置換してもよい。代替実施形態において、異なるモジュール及び/又はモジュールの他の構成を有するエンコーダは、説明した技術のうちの1以上を実行する。エンコーダの特定の実施形態は、通常、エンコーダ(400)の変形又は補完バージョンを使用する。エンコーダ(400)内のモジュール間の示された関係は、エンコーダ内の情報の一般的な流れを示すものである。他の関係は、簡潔さのため示されていない。
V.符号化中のMV精度の選択
このセクションは、符号化中の動きベクトル(「MV」)精度の選択の様々なアプローチを提示する。これらのアプローチは、レート歪み性能及び/又は符号化と復号との計算効率性の観点で有効である圧縮を容易にすることができる。
本明細書に記載のMV精度を選択するアプローチは、任意のタイプのビデオを符号化するときに適用することができる。詳細には、本明細書に記載のMV精度の選択は、スクリーンキャプチャコンテンツ等の所定の人工的に作成されたビデオコンテンツを符号化する際の性能を向上させることができる。
A.ビデオのタイプ
一般に、スクリーンキャプチャビデオ(スクリーンコンテンツビデオ又はスクリーンキャプチャコンテンツとも呼ばれる)は、コンピュータスクリーン又は他のディスプレイのためのコンテンツを生成するグラフィックスレンダリングプロセスの出力を表す。スクリーンキャプチャビデオは、実世界オブジェクトのカメラセンサビューからキャプチャされたビデオ画像又は類似する特性を有するビデオを指す自然ビデオ(natural video)とは対照的である。スクリーンキャプチャビデオは、通常、カメラによりキャプチャされたビデオコンテンツではない(又は、カメラによりキャプチャされたビデオコンテンツに加えて)、レンダリングされたテキスト、コンピュータグラフィックス、アニメーション生成コンテンツ、又は、コンピュータディスプレイのためのレンダリングプロセスの出力からキャプチャされた他の同様のタイプのコンテンツを含む。スクリーンキャプチャコンテンツの符号化/復号に関する一般的シナリオは、リモートデスクトップ会議、及び、自然ビデオ上へのグラフィカルオーバーレイ若しくはテキストオーバーレイ又は他の「混合コンテンツ」ビデオの符号化/復号を含む。本明細書に記載のイノベーションのうちのいくつかは、スクリーンキャプチャビデオ又は他の人工的に作成されたビデオの符号化のために適合されている。これらのイノベーションは、自然ビデオのために使用することもできるが、それほど有効ではない場合もある。本明細書に記載の他のイノベーションは、自然ビデオ又は人工的に作成されたビデオの符号化において有効である。
図5は、スクリーンキャプチャのための入力を提供することができる、コンテンツを含むコンピュータデスクトップ環境(510)を示している。例えば、スクリーンキャプチャビデオは、コンピュータデスクトップ(511)全体の一連の画像を表すことができる。あるいは、スクリーンキャプチャビデオは、ゲームコンテンツを含むアプリケーションウィンドウ(513)、ウェブページコンテンツを含むブラウザウィンドウ(512)、又はワードプロセッサコンテンツを含むウィンドウ(514)等の、コンピュータデスクトップ環境のウィンドウのうちの1つのウィンドウに関する一連の画像を表すことができる。
コンピュータにより生成される人工的に作成されるビデオコンテンツであるので、スクリーンキャプチャコンテンツは、ビデオカメラを使用してキャプチャされる自然ビデオコンテンツと比較して、相対的に少ない離散サンプル値を有する傾向にある。例えば、スクリーンキャプチャコンテンツの領域は、しばしば、単一の均一な色を含むのに対し、自然ビデオコンテンツ内の領域は、徐々に変化する色を含む可能性がより高い。また、スクリーンキャプチャコンテンツは、通常、当該コンテンツが空間的に移動され得るとしても、(例えば、スクロールに起因して)フレームからフレームへと正確に繰り返される異なる構造(例えば、グラフィックス、テキスト文字)を含む。スクリーンキャプチャコンテンツは、通常、高クロマサンプリング解像度を有するフォーマット(例えば、YUV4:4:4又はRGB4:4:4)で符号化されるが、より低いクロマサンプリング解像度を有するフォーマット(例えば、YUV4:2:0、YUV4:2:2)で符号化されてもよい。
図6は、何らかの自然ビデオ(621)及び何らかの人工的に作成されたビデオコンテンツを含む混合コンテンツビデオ(620)を示している。人工的に作成されたビデオコンテンツは、自然ビデオ(621)の横にあるグラフィック(622)及び自然ビデオ(621)の下を横断するティッカー(ticker)(623)を含む。図5に示されるスクリーンキャプチャコンテンツと同様に、図6に示される人工的に作成されたビデオコンテンツは、相対的に少ない離散サンプル値を有する傾向にある。この人工的に作成されたビデオコンテンツはまた、(例えば、スクロールに起因して)フレームからフレームへと正確に繰り返される異なる構造(例えば、グラフィックス、テキスト文字)を有する傾向にある。
スクリーンキャプチャビデオ又は混合コンテンツビデオは、ディスプレイデバイスのための出力バッファから、又は、フレームを記憶している1以上の他のバッファから、周期的に読み出され得る。あるいは、スクリーンキャプチャビデオは、(ディスプレイデバイスのための出力バッファから値を周期的に読み出すことができる、オペレーティングシステムモジュールからのディスプレイコマンドをインターセプトすることができる、又は、表示されるサンプル値をキャプチャすることができる)スクリーンキャプチャモジュールから提供されてもよい。スクリーンキャプチャビデオ又は混合コンテンツビデオは、「ライブ」ストリームからのものであってもよいし、ストレージ内の以前に記録されたストリームからのものであってもよい。
B.異なるMV精度
多くの符号化シナリオにおいて、スクリーンキャプチャビデオ又は他の人工的に作成されたビデオコンテンツを符号化するとき、ほとんどのMV値が、整数サンプル空間変位を表し、非常に少ないMV値が、小数サンプル空間変位を表す。これは、MV精度を低減させて全体性能を向上させる機会を与える。
図7aは、整数サンプル空間変位を有するMV(720)を用いる動き補償を示している。MV(720)は、現ブロックのための参照ピクチャ内の同一配置位置(710)に対して、左への4サンプル及び上への1サンプルである空間変位を示す。例えば、現ピクチャ内の位置(64,96)における4×4の現ブロックに関して、MV(720)は、参照ピクチャ内で位置(60,95)を有する4×4の予測領域(730)を示す。予測領域(730)は、参照ピクチャ内の整数サンプル位置における再構成されたサンプル値を含む。エンコーダ又はデコーダは、予測領域(730)のサンプル値を決定するための内挿を実行する必要がない。
図7bは、小数サンプル空間変位を有するMV(721)を用いる動き補償を示している。MV(721)は、現ブロックのための参照ピクチャ内の同一配置位置(710)に対して、左への3.75サンプル及び上への0.5サンプルである空間変位を示す。例えば、現ピクチャ内の位置(64,96)における4×4の現ブロックに関して、MV(721)は、参照ピクチャ内で位置(60.25,95.5)を有する4×4の予測領域(731)を示す。予測領域(731)は、参照ピクチャ内の小数サンプル位置における内挿されたサンプル値を含む。エンコーダ又はデコーダは、予測領域(731)のサンプル値を決定するための内挿を実行する。小数サンプル空間変位が許容される場合、現ブロックに合致し得るより多くの候補領域が存在し、したがって、動き補償予測の質は、少なくともいくつかのタイプのビデオコンテンツ(例えば、自然ビデオ)に関して向上する。
MV精度が、ビデオのユニットに関して整数サンプル精度である場合、このユニット内のブロックの全てのMV値は、整数サンプル空間変位を示す。MV精度が、ビデオのユニットに関して小数サンプル精度である場合、このユニット内のブロックのMV値は、小数サンプル空間変位を示すこともあるし、整数サンプル空間変位を示すこともある。すなわち、MV精度が、ビデオのユニットに関して小数サンプル精度である場合、このユニット内のブロックのいくつかのMV値は、小数サンプル空間変位を示すことがあるのに対し、このユニット内のブロックの他のMV値は、整数サンプル空間変位を示すことがある。
動き推定及び動き補償を用いてブロックを符号化するとき、エンコーダは、しばしば、ブロックのサンプル値とその動き補償予測との間のサンプルごとの差(残差値又は誤差値とも呼ばれる)を算出する。次いで、残差値が符号化され得る。残差値に関して、符号化効率は、残差値の複雑度と、圧縮プロセスの一部としてどれだけの損失又は歪みがもたらされるかと、に依存する。一般に、良好な動き補償予測は、残差値が、効率的に符号化することができる小さな幅(amplitude)差であるように、ブロックをより良く近似する。一方、良好でない動き補償予測は、しばしば、効率的に符号化するのがより難しいより大きな幅値を含む残差値をもたらす。エンコーダは、通常、動き推定を実行し、良好な合致を見つけることを試み、それにより、レート歪み性能を向上させるのに、符号化時間の大部分を費やす。
コーデックが、整数サンプルMV精度を有するMV値を使用する場合、エンコーダ及びデコーダは、動き補償のための参照ピクチャのサンプル値間の内挿演算を実行する必要がない。なぜならば、MV値は、整数サンプル空間変位を示すからである。コーデックが、小数サンプルMV精度を有するMV値を使用する場合、エンコーダ及びデコーダは、動き補償のための参照ピクチャのサンプル値間の内挿演算を実行することがある(これは、少なくとも小数サンプル空間変位を示すMV値に関しては計算複雑度を増大させる)が、動き補償予測は、整数サンプルMV精度と比較して、ブロックをより良く近似する傾向にある(これは、より少ない大きな値(幅)を伴う残差値をもたらす)。
C.MV値の表現
MV値は、通常、整数値を使用して表現される。この整数値の意味は、関連付けられているMV精度に依存する。整数サンプルMV精度に関して、例えば、1という整数値は、1サンプルである空間変位を示し、2という整数値は、2サンプルである空間変位を示す、等である。1/4サンプルMV精度に関して、例えば、1という整数値は、0.25サンプルである空間変位を示す。2、3、4、及び5という整数値はそれぞれ、0.5サンプル、0.75サンプル、1.0サンプル、及び1.25サンプルである空間変位を示す。MV精度にかかわらず、整数値は、空間変位の大きさを示すことができ、セパレートフラグ値(separate flag value)は、変位が負であるか又は正であるかを示すことができる。所与のMV値の水平MV成分及び垂直MV成分は、2つの整数値を使用して表現され得る。したがって、MV値を表現する2つの整数値の意味は、MV精度に依存する。例えば、2サンプルである水平変位を有し垂直変位を有さないMV値に関して、MV精度が、1/4サンプルMV精度である場合、このMV値は、(8,0)として表現されるのに対し、MV精度が、整数サンプルMV精度である場合、このMV値は、(2,0)として表現される。
符号化ビデオデータのビットストリーム内のMV値は、通常、(例えば、MV成分ごとに)エントロピ符号化される。MV値はまた、予測MV値に対して、(例えば、MV成分ごとに)差分符号化され得る。多くの場合、MV値は、予測MV値と等しいので、差分MV値はゼロであり、これは、非常に効率的に符号化することができる。差分MV値(又は、MV予測が用いられない場合にはMV値)は、指数ゴロム符号化、コンテキスト適応バイナリ算術符号化、又は別の形態のエントロピ符号化を用いて、エントロピ符号化され得る。MV値(又は、差分MV値)と符号化ビットとの間の正確な関係は、使用されるエントロピ符号化の形態に依存するが、一般に、より小さな値は、より多く出現するため、より効率的に符号化され(すなわち、より少ないビットを用いて符号化され)、より大きな値は、あまり多く出現しないため、それほど効率的には符号化されない(すなわち、より多くのビットを用いて符号化される)。
D.適応的MV精度−序論
前述の3つのセクションをまとめると、整数サンプルMV精度を有するMV値を使用することは、MV値をシグナリングすることに関連するビットレートを低減させるとともに、(参照ピクチャ内の小数サンプル位置におけるサンプル値の内挿を回避することにより)符号化及び復号の計算複雑度を低減させる傾向にあるが、動き補償予測の質を低減させ、したがって、少なくともいくつかのビデオコンテンツに関しては残差値の幅を増大させ得る。一方、小数サンプルMV精度を有するMV値を使用することは、MV値をシグナリングすることに関連するビットレートを増大させるとともに、(参照ピクチャ内の小数サンプル位置におけるサンプル値の内挿を含むことにより)符号化及び復号の計算複雑度を増大させる傾向にあるが、動き補償予測の質を向上させ、少なくともいくつかのビデオコンテンツに関しては残差値の幅を低減させ得る。一般に、計算複雑度、MV値をシグナリングするためのビットレート、及び動き補償予測の質は、MV精度が増大すると(例えば、整数サンプルから1/2サンプルに増大すると、又は、1/2サンプルから1/4サンプルに増大すると)、最大で限界効用逓減(diminishing returns)のポイントまで増大する。同時に、増大したMV精度は、MV値をシグナリングするのに必要とされるビットレートを増大させる傾向にあるが、自然コンテンツを符号化するときには、動き補償予測の質の関連付けられた向上は、残差値の十分な近似を送信するのに必要とされるビットレートを低減させ、それにより、十分なピクチャ品質を有するビデオコンテンツを符号化するのに必要とされる総ビットレートを低減させ得る。
スクリーンキャプチャビデオ又は他の人工的に作成されたビデオコンテンツを符号化するとき、(ビットレート及び計算複雑度の観点での)小数サンプルMV精度の増大したコストは、不当(unjustified)であり得る。例えば、ほとんどのMV値が、整数サンプル空間変位を表し、非常に少ないMV値が、小数サンプル空間変位を表す場合、小数サンプルMV精度の増大したコストは、正当でない。エンコーダは、動き推定中、小数サンプル位置における探索をスキップすることができる(且つ、小数サンプル位置におけるサンプル値を決定するための内挿演算をスキップすることができる)。そのようなコンテンツに関して、ビットレート及び計算複雑度は、整数サンプルMV精度を有するMV値を使用することにより、動き補償予測の質への著しいペナルティなく、低減させることができる。
小数サンプルMV精度は、他のタイプのビデオコンテンツ(例えば、カメラによりキャプチャされた自然ビデオ)に関してはそれでも有用であり得るので、エンコーダ及びデコーダは、MV精度を切り替えるよう適応され得る。例えば、エンコーダ及びデコーダは、スクリーンキャプチャビデオに関しては整数サンプルMV精度を使用することができ、自然ビデオに関しては小数サンプルMV精度(1/4サンプルMV精度)を使用することができる。MV精度を選択するときにエンコーダが従い得るアプローチについて、次のセクションで説明する。エンコーダは、ビットストリーム内の1以上のシンタックス要素を使用して、選択されたMV精度をデコーダにシグナリングすることができる。
MV精度をシグナリングする1つのアプローチにおいて、MV精度の適応的選択が有効にされている場合、エンコーダは、スライスごとにMV精度を選択する。シーケンスパラメータセット(「SPS」)、ピクチャパラメータセット(「PPS」)、又は他のシンタックス構造内のフラグ値が、MV精度の適応的選択が有効にされているかどうかを示す。そうである場合、所与のスライスに関するスライスヘッダ内の1以上のシンタックス要素が、そのスライスのブロックに関する選択されたMV精度を示す。例えば、0というフラグ値は、1/4サンプルMV精度を示し、1というフラグ値は、整数サンプルMV精度を示す。
MV精度をシグナリングする別のアプローチにおいて、エンコーダは、ピクチャごとに又はスライスごとにMV精度を選択する。PPS内のシンタックス要素は、次の3つのMV精度モードのうちの1つを示す:(0)PPSに関連付けられているピクチャの1以上のスライスのMV値に関して1/4サンプルMV精度、(1)PPSに関連付けられているピクチャの1以上のスライスのMV値に関して整数サンプルMV精度、又は(2)スライスヘッダごとにシグナリングされるフラグ値に応じたスライス適応的MV精度(ここで、スライスのこのスライスヘッダ内のこのフラグ値は、スライスのMV値に関して1/4サンプルMV精度又は整数サンプルMV精度を示すことができる)。一実装におけるこのアプローチに関するさらなる詳細については、JCTVC−P0277を参照されたい。
MV精度をシグナリングするさらに別のアプローチにおいて、MV精度の適応的選択が有効にされている場合、エンコーダは、CUごとにMV精度を選択する。所与のCUに関する構造内の1以上のシンタックス要素が、そのCUのブロックに関する選択されたMV精度を示す。例えば、CUに関するCUシンタックス構造内のフラグ値は、CUに関連付けられている全てのPUのMV値が、整数サンプルMV精度を有するか又は1/4サンプルMV精度を有するかを示す。一実装におけるこのアプローチに関するさらなる詳細については、JCTVC−P0283を参照されたい。
これらのアプローチのうちのいずれにおいても、エンコーダ及びデコーダは、水平MV成分及び垂直MV成分に関して異なるMV精度を使用することができる。これは、水平方向又は垂直方向にスケーリングされているスクリーンキャプチャビデオを符号化するときに有用であり得る(例えば、スケーリングされていない次元では整数サンプルMV精度を使用し、スケーリングされている次元では小数サンプルMV精度を使用する)。いくつかの実装において、QP値の調整を介してだけではレート制御を達成できない場合、エンコーダは、ビットレートを低減させるために、水平方向又は垂直方向にスクリーンキャプチャビデオをリサイズし、次いで、リサイズされたビデオを符号化することがある。デコーダ側では、ビデオが、復号の後、その元の寸法に戻るようスケーリングされる。エンコーダは、(例えば、第1のフラグ値又は第1のシンタックス要素を使用して)水平MV成分に関するMV精度をデコーダにシグナリングすることができ、(例えば、第2のフラグ値又は第2のシンタックス要素を使用して)垂直MV成分に関するMV精度をデコーダにシグナリングすることができる。
より一般的に、MV精度の適応的選択が有効にされている場合、エンコーダは、MV精度を選択し、何らかの方法で、選択されたMV精度をシグナリングする。例えば、SPS、PPS、又は他のシンタックス構造内のフラグ値は、MV精度の適応的選択が有効にされているかどうかを示すことができる。適応的MV精度が有効にされている場合、シーケンスレイヤシンタックス、グループオブピクチャレイヤシンタックス(「GOPレイヤシンタックス」)、ピクチャレイヤシンタックス、スライスレイヤシンタックス、タイルレイヤシンタックス、ブロックレイヤシンタックス、又は別のシンタックス構造内の1以上のシンタックス要素は、MV値に関する選択されたMV精度を示すことができる。あるいは、シーケンスレイヤシンタックス、GOPレイヤシンタックス、ピクチャレイヤシンタックス、スライスヘッダレイヤシンタックス、スライスデータレイヤシンタックス、タイルレイヤシンタックス、ブロックレイヤシンタックス、又は別のシンタックス構造内の1以上のシンタックス要素は、異なるMV成分に関するMV精度を示すことができる。2つの利用可能なMV精度が存在する場合、フラグ値は、これら2つのMV精度の間の選択を示すことができる。さらに多くの利用可能なMV精度が存在する場合、整数値は、これらMV精度の間の選択を示すことができる。
1以上の選択されたMV精度を示すシンタックス要素をシグナリングする/解析する変更とは別に、復号は、選択されたMV精度に応じて、シグナリングされたMV値がどのように解釈されるかを変えるように変更され得る。MV値がどのように符号化され再構成されるかの詳細は、MV精度に応じて変わり得る。例えば、MV精度が、整数サンプル精度である場合、予測MV値は、最も近い整数に丸められ得、差分MV値は、整数サンプルオフセットを示し得る。あるいは、MV精度が、1/4サンプル精度である場合、予測MV値は、最も近い1/4サンプルオフセットに丸められ得、差分MV値は、1/4サンプルオフセットを示し得る。あるいは、MV値は、何らかの他の方法でシグナリングされ得る。MV値が、整数サンプルMV精度を有し、ビデオが、4:2:2クロマサンプリング又は4:2:0クロマサンプリングを使用している場合、クロマMV値は、スケーリングすること等により導出され得、これは、クロマに関して1/2サンプル変位をもたらし得る。あるいは、クロマMV値は、整数値に丸められ得る。
E.MV精度を選択するアプローチ
MV精度が、ビデオ符号化中に適応され得る場合、エンコーダは、ビデオのユニットに関するMV精度を選択する。エンコーダは、ビデオソースからの暗示(hint)に基づいて、使用する1以上のMV精度を選択することができる(以下のアプローチ1を参照されたい)。例えば、ビデオソースは、ビデオが、スクリーンキャプチャビデオ又は(カメラからキャプチャされた)自然ビデオであることを示すことができる。あるいは、エンコーダは、様々なMV精度の包括的評価(exhaustive evaluation)に基づいて、1以上のMV精度を選択することができる(以下のアプローチ2を参照されたい)。あるいは、エンコーダは、以前のユニットからの統計データ及び/又は符号化されている現ユニットに関する統計データの解析に基づいて、1以上のMV精度を選択することができる(以下のアプローチ3〜4を参照されたい)。
MV精度を選択するこれらのアプローチのうちのいくつかは、スクリーンキャプチャ符号化シナリオに適応され得る。他のアプローチは、より一般的に、任意のタイプのビデオコンテンツを符号化するときに適用される。
このセクションに記載のいくつかの例において、エンコーダは、1/4サンプルMV精度を使用することと整数サンプルMV精度を使用することとの間で選択する。より一般的に、エンコーダは、整数サンプルMV精度、1/2サンプルMV精度、1/4サンプルMV精度、及び/又は別のMV精度を含み得る複数の利用可能なMV精度の間で選択する。
エンコーダが、ビデオのユニットに関するMV精度を選択するとき、ビデオのユニットは、シーケンス、GOP、ピクチャ、スライス、タイル、CU、PU、他のブロック、又は他のタイプのビデオのユニットであり得る。複雑度と柔軟性との間の所望されるトレードオフに応じて、より高い局所的な単位で(例えば、CUごとに)、より大きな領域の単位で(例えば、タイルごとに又はスライスごとに)、ピクチャ全体単位で、又は、より大域的な単位で(例えば、符号化セッションごとに、シーケンスごとに、GOPごとに、又は、検出されたシーン変化の間の一連のピクチャごとに)MV精度を選択することが、適切であり得る。
1.アプリケーション、オペレーティングシステム、又はビデオシーケンスからの暗示を用いるアプローチ
エンコーダは、アプリケーション、オペレーティングシステム、又はビデオシーケンスによりシグナリングされた暗示に基づいて、MV精度を選択することができる。例えば、暗示は、符号化されるビデオコンテンツが、ワードプロセッサ、スプレッドシートアプリケーション、又はウェブブラウザにより、(自然ビデオコンテンツであり得る埋め込みビデオ領域なく)レンダリングされた、ということを示すことができる。そのようなアプリケーションによるレンダリングは、コンテンツの整数サンプル空間変位のみをもたらす傾向にある。エンコーダは、そのような暗示に基づいて、整数サンプルMV精度を選択することができる。ワードプロセッサ、スプレッドシートアプリケーション、ウェブブラウザ、又は、自然ビデオコンテンツを通常レンダリングしない他のアプリケーションによりレンダリングされたコンテンツに関して、整数サンプルMV精度は、小数サンプルMV精度より適切である可能性が高い(しかしながら、ビデオがリサイズされている場合、小数サンプルMV精度が適切であることもある)。
あるいは、暗示は、ビデオコンテンツが、スクリーンキャプチャモジュール、又は、人工的に作成されたビデオコンテンツを通常供給する他のビデオソースにより供給された、ということを示すことができる。そのようなコンテンツに関して、整数サンプルMV精度は、小数サンプルMV精度より適切である可能性が高いので、エンコーダは、整数サンプルMV精度を選択する(しかしながら、ビデオがリサイズされている場合、小数サンプルMV精度が適切であることもある)。
一方、ビデオコンテンツが、カメラ、DVD若しくは他のディスク、又はチューナカードにより供給された、あるいは、ビデオプレーヤによりレンダリングされた、ということを暗示が示す場合、エンコーダは、小数サンプルMV精度を選択することができる。そのようなコンテンツに関して、小数サンプルMV精度は、整数サンプルMV精度より適切である可能性が高い。
暗示は、符号化セッション、一連のフレーム、1つのビデオフレーム、又はビデオフレームの一部(アプリケーションに関連付けられているウィンドウに対応する領域等)に適用することができる。
いくつかの場合において、エンコーダは、ビデオソース、オペレーティングシステム、又はアプリケーションにより提供される、ビデオコンテンツの性質に関する暗示を受信しないことがある、あるいは、エンコーダは、ビデオソース、オペレーティングシステム、又はアプリケーションにより提供された、ビデオコンテンツの性質に関する暗示を解釈できないことがある。あるいは、暗示は、誤っている又は誤らせることがある(例えば、自然ビデオコンテンツ及び人工的に作成されたビデオコンテンツを含む混合コンテンツビデオに関して、又は、リサイズされているビデオに関して)。そのような場合、エンコーダは、どの1以上のMV精度が選択されるべきかを決定する別のアプローチを使用することができる。
2.総当たり符号化アプローチ
MV精度を選択する別のセットのアプローチにおいて、エンコーダは、異なるMV精度を使用して、ビデオのユニットを複数回符号化する(例えば、整数サンプルMV精度を使用して1回符号化し、1/4サンプルMV精度を使用して1回符号化する)。エンコーダは、最良性能を提供するMV精度を選択し、出力のためにユニットを符号化するとき、選択されたMV精度を使用する。ビデオのユニットは、ブロック、PU、CU、スライス、タイル、ピクチャ、GOP、シーケンス、又は他のタイプのブロックのユニットであり得る。通常、エンコーダは、そのようなアプローチにおいて、複数のパス(pass)の符号化を実行する。
どのMV精度が最良性能を提供するかを評価するために、エンコーダは、異なるMV精度が、ユニットの符号化中に使用されたときのレート歪みコストを決定し、最小レート歪みコストを有するオプションを選択することができる。レート歪みコストは、歪みコストD及びビットレートコストRを有し、歪みコストに対してビットレートコストを重み付けする係数λ(すなわち、レート歪みコストはD+λRである)、又は、ビットレートコストに対して歪みコストを重み付けする係数λ(すなわち、レート歪みコストはR+λDである)を伴う(係数λは、しばしば、ラグランジュ乗数と呼ばれる)。ビットレートコストは、推定されたビットレートコスト又は実際のビットレートコストであり得る。一般に、歪みコストは、オリジナルのサンプルと再構成されたサンプルとの比較に基づく。歪みコストは、絶対差分和(「SAD」)、絶対アダマール変換差分和(「SAHD(sum of absolute Hadamard-transformed differences)」)、若しくは他の絶対変換差分和(「SATD(sum of absolute transformed differences)」)、誤差二乗和(「SSE」)、平均二乗誤差(「MSE」)、平均分散、又は別の歪みメトリックとして測定され得る。係数λは、符号化中に変化し得る(例えば、量子化ステップサイズがより大きいときには、ビットレートコストの相対重みを増大させる)。レート歪みコストは、通常、異なるMV精度オプションの性能の最も正確な評価を提供するが、最大計算複雑度を有する。
エンコーダは、レート歪みコスト関数の項のうちの1以上の項を変えて、整数サンプルMV精度オプションを優先するようにレート歪み分析をバイアス調整することができる。例えば、複数のMV精度の間で決定するためにレート歪み分析を用いてビデオのユニットに関するMV精度を決定するとき、レート歪み分析は、歪みコストをスケーリングすること、歪みコストにペナルティを加えること、ビットレートコストをスケーリングすること、ビットレートコストにペナルティを加えること、及び/又は、ラグランジュ乗数係数を調整すること、により、整数サンプルMV精度を優先するようにバイアス調整される。小数サンプルMV精度を評価するとき、エンコーダは、(1より大きい係数の分だけ)歪みコストを増大させることができる、(1より大きい係数の分だけ)ビットレートコストを増大させることができる、歪みペナルティを加えることができる、ビットレートペナルティを加えることができる、且つ/又は、より大きなラグランジュ乗数係数を使用することができる。あるいは、整数サンプルMV精度を評価するとき、エンコーダは、(1より大きい係数の分だけ)歪みコストを低減させることができる、(1より大きい係数の分だけ)ビットレートコストを低減させることができる、且つ/又は、より小さなラグランジュ乗数係数を使用することができる。
エンコーダは、符号化中、整数サンプルMV精度を優先するように又は優先しないように、バイアスの程度を変えることができる。例えば、エンコーダは、整数サンプルMV値がビデオコンテンツを符号化するのにより適切である可能性が高い信頼度に応じて、整数サンプルMV精度を優先するように、バイアスを調整することができる(例えば、ビデオコンテンツが、人工的に作成されたコンテンツである可能性が高い場合、整数サンプルMV精度を優先するように、バイアスを増大させる)。あるいは、エンコーダは、符号化及び/又は復号の計算能力に応じて、整数サンプルMV精度を優先するように、バイアスを調整することができる(例えば、利用可能な計算能力がより低い場合、整数サンプルMV精度を優先するように、バイアスを増大させる)。
代替的に、エンコーダは、どのMV精度が最良性能を提供するかを評価する別のアプローチを使用してもよい。例えば、エンコーダは、所与の量子化ステップサイズに関して、どのMV精度が符号化データの最少ビットをもたらすかを測定する。あるいは、エンコーダは、異なるMV精度を使用する符号化に関する歪みのみを評価する。あるいは、エンコーダは、整数サンプルMV精度と比較した小数サンプルMV精度の歪み低減便益(benefit)等のより単純な測定を用いてもよい。これは、単一のパスの符号化において決定するのに十分単純であり得る。例えば、エンコーダは、小数サンプルMV精度が使用されたときと、整数サンプルMV精度が使用されたときと、を比較して、(SAD、SATD、TSE、MSE、又は別の歪みメトリックの観点で)歪み低減の量を調べる。
総当たり符号化アプローチは、計算集約的であり得る。総当たり符号化アプローチは、固定MV精度を使用する符号化と比較して、著しいさらなる演算、さらなるメモリストレージ、並びにさらなるメモリ読み出し操作及びメモリ書き込み操作を潜在的に伴う。
3.コンテンツ解析を用いるアプローチ
MV精度を選択する別のセットのアプローチにおいて、エンコーダは、入力ビデオコンテンツ及び/又は符号化ビデオコンテンツの解析に基づいて、ビデオのユニットに関するMV精度を選択する。ビデオのユニットは、ブロック、PB、PU、CU、CTU、サブマクロブロックパーティション、マクロブロック、スライス、タイル、ピクチャ、GOP、シーケンス、又は他のタイプのビデオのユニットであり得る。
図8は、符号化中にMV精度を適応させるための技術(800)を示している。技術(800)は、図3若しくは図4a及び図4bを参照して説明したエンコーダ等のエンコーダにより、又は別のエンコーダにより、実行され得る。技術(800)に従って、エンコーダは、ビデオの符号化中に、ビデオのユニットに関する複数のMV精度の中から、MV精度を決定する。複数のMV精度は、1以上の小数サンプルMV精度及び整数サンプルMV精度を含み得る。例えば、複数のMV精度は、整数サンプルMV精度及び1/4サンプルMV精度を含み得る。あるいは、複数のMV精度は、整数サンプルMV精度、1/2サンプルMV精度、及び1/4サンプルMV精度を含み得る。
詳細には、ビデオのユニットを符号化するとき、エンコーダは、MV精度を変更するかどうかを決定する(810)。符号化の始めにおいて、エンコーダは、デフォルト値に従って、MV精度を初期設定することができる、又は、MV精度を変更するかどうかに進むことができる。ビデオの後続ユニットに関して、エンコーダは、(1以上の以前に符号化されたユニットに関して使用された)現MV精度を使用することもあるし、MV精度を変更することもある。例えば、エンコーダは、定められたイベントが発生すると(例えば、閾値数のユニットの符号化の後、シーン変化の後、ビデオのタイプが変わったという判定の後)、MV精度を変更することを決定することができる。
MV精度を変更するために、エンコーダは、ビデオに関する情報を収集する(820)。一般に、収集される情報は、入力ビデオの特性又は符号化ビデオの特性であり得る。収集される情報は、符号化されている現ユニットに関連し得る、且つ/又は、ビデオの1以上の以前に符号化されたユニットに関連し得る。(収集される情報が、ビデオの1以上の以前に符号化されたユニットに関連する場合、そのような情報の収集(820)は、1以上の以前のユニットの符号化前、符号化中、又は符号化後に生じ得る。この収集(820)は、図8に示されるタイミングとは異なり、MV精度の変更に関する決定(810)にかかわらず生じる。)次いで、エンコーダは、収集された情報に少なくとも部分的に基づいて、ビデオのユニットに関するMV精度を選択する(830)。
一例として、エンコーダは、現ユニットのサンプル値を収集することができる。少数の離散サンプル値の存在は、スクリーンキャプチャコンテンツを示す傾向にあり、したがって、整数サンプルMV精度が選択されるべきであることを示す。一方、多数の離散サンプル値の存在は、自然ビデオを示す傾向にあり、したがって、小数サンプルMV精度が選択されるべきであることを示す。サンプル値は、ヒストグラムとして編成され得る。サンプル値は、YUV色空間におけるルマ(Y)サンプルのみから、YUV色空間におけるルマサンプル及びクロマ(U、V)サンプルから、RGB色空間におけるRサンプル、Gサンプル、及びBサンプルから、又は、RGB色空間におけるGサンプル(又はRサンプル若しくはBサンプル)のみから収集され得る。例えば、MV精度を選択するとき、エンコーダは、収集されたサンプル値から、異なるサンプル値の総数を決定する。エンコーダは、総数を閾数と比較する。総数が、閾数より少ない場合、エンコーダは、整数サンプルMV精度を選択する。総数が、閾数より多い場合、エンコーダは、小数サンプルMV精度を選択する。境界条件(総数が閾数と等しい場合)は、実装に応じて、いずれかのオプションを使用するよう処理され得る。あるいは、エンコーダは、収集されたサンプル値からの統計量を別の形で考慮に入れる。例えば、エンコーダは、xの最も頻繁に出現した収集されたサンプル値が、サンプル値のうちのy%を超えているかどうかを判定する。そうである場合、エンコーダは、整数サンプルMV精度を選択し、そうでない場合、エンコーダは、小数サンプルMV精度を選択する。x及びyの値は、実装に依存する。xの値は、10又は何らかの他の数とすることができる。yの値は、80、90、又は100未満の何らかの他のパーセンテージとすることができる。
別の例として、エンコーダは、それぞれのMV精度を使用して符号化された現ユニットのブロックの歪み測定値(distortion measures)を収集することができる。例えば、エンコーダは、整数サンプルMV精度と比較した小数サンプルMV精度を使用したときの歪みの改善(低減)を記録する。MV精度を選択するとき、エンコーダは、歪みの低減が、MV精度の増大を正当化する(justify)ものであるかどうかを判定する。
別の例として、エンコーダは、1以上の以前のユニットのMV値(小数サンプルMV精度を有するもの)を収集することができる。収集されたMV値は、小数部分の値に従って編成され得る。例えば、1/4サンプルMV精度のMV値に関して、収集されたMV値は、ゼロである小数部分を有するMV値のビンと、0.25である小数部分を有するMV値のビンと、0.5である小数部分を有するMV値のビンと、0.75である小数部分を有するMV値のビンと、を含むヒストグラムにおいて編成され得る。このアプローチの低複雑度の変形形態については、次のセクションで説明する。
別の例として、エンコーダは、小数サンプルMV精度を使用して符号化されたブロックのMVデータ(差分MV値)に関する符号化ビットの数に関する情報を収集することができる。差分MV値に関する低平均数のビットは、規則的な(予測可能な)動きを示し、整数サンプルMV精度が適切であろうときにより一般的である。差分MV値に関して使用された高平均数のビットは、小数サンプルMV精度が適切であろうときにより一般的である。MV精度を選択するとき、エンコーダは、差分MV値に関する符号化ビットの数の間で、ビットの平均数(又は、中央数)を測定する。エンコーダは、この測定した数を閾数と比較する。測定した数が、閾数より少ない場合、エンコーダは、整数サンプルMV精度を選択する。測定した数が、閾数より多い場合、エンコーダは、小数サンプルMV精度を選択する。境界条件(測定した数が閾数と等しい場合)は、実装に応じて、いずれかのオプションを使用するよう処理され得る。
別の例として、ユニットを符号化するとき、エンコーダは、ユニットのブロック(例えば、PU)ごとに、複数のMV精度を評価し、どのMV精度が当該ブロックに関して最良性能を提供するかを示す、ブロックごとの情報を収集する。エンコーダは、ブロックが整数サンプルMV精度を使用して符号化されたときのレート歪みコスト(例えば、D+λR)を決定することができ、また、ブロックが小数サンプルMV精度を使用して符号化されたときのレート歪みコスト(例えば、D+λR)を決定することができる。エンコーダは、複数のMV精度の各MV精度が、ユニット内のそれぞれのブロックに関して何回最良であったかを判定し、最大回数であったMV精度を選択する。例えば、ピクチャ内のブロックの各々について、エンコーダは、ブロックが整数サンプルMV精度を使用して符号化されたときのレート歪みコストを決定し、また、ブロックが1/4サンプルMV精度を使用して符号化されたときのレート歪みコストを決定する。エンコーダは、整数サンプルMV精度の方が良かったであろう回数と、1/4サンプルMV精度の方が良かったであろう回数と、を計数し、次いで、これらの回数のうち多い方を選択する。代替的に、エンコーダは、整数サンプルMV精度が、ユニットのブロックに関して何回最良であったかの数を決定し、次いで、この数が、ユニット内のブロックの数の閾パーセンテージの数より多い場合に限り、整数サンプルMV精度を選択する。いくつかの実装において、エンコーダは、あらゆる値であるMVを有するブロックを考慮に入れる。他の実装において、エンコーダは、ゼロ値でないMVを有するブロックのみを考慮に入れる。複数のMV精度のブロックごとのこの評価は、所与のユニットに関して使用されるMV精度モードにかかわらず、1以上の後続ユニットに関するMV精度を選択するために、所与のユニットのブロックに対して実行され得る。あるいは、複数のMV精度のブロックごとのこの評価は、所与のユニットに関するMV精度を選択するために、所与のユニットに対して実行され得る。
代替的に、エンコーダは、情報を収集し、収集された情報に少なくとも部分的に基づいてMV精度を選択する別のアプローチを使用してもよい。
図8に戻ると、エンコーダは、MV精度を変更したか否かにかかわらず、選択されたMV精度を使用して、ユニットを符号化する(840)。ビデオのユニット内のブロック(例えば、PU、マクロブロック、又は他のブロック)のMV値は、選択されたMV精度を有する。エンコーダは、例えばビットストリーム内に、現ユニットの符号化されたデータを出力する。符号化されたデータは、選択されたMV精度を示すシンタックス要素を含み得る。
エンコーダは、次のユニットに対して継続するかどうかを決定する(850)。そうである場合、エンコーダは、次のユニットに関してMV精度を変更するかどうかを決定する(810)。したがって、MV精度は、ユニットごとに(例えば、セグメントごとに、GOPごとに、ピクチャごとに、スライスごとに、CTUごとに、CUごとに、PUごとに、PBごとに、マクロブロックごとに、サブマクロブロックパーティションごとに)選択され得る。あるいは、複雑度を低減させるために、ユニットに関するMV精度は、適宜に(例えば、周期的に、又は、定められたイベントが発生すると)変更され、次いで、1以上の後続ユニットに対して繰り返され得る。
エンコーダが、ピクチャからピクチャへと同じパターンのタイルを使用する場合、エンコーダは、ピクチャからピクチャへと、タイルごとのMV精度を繰り返すことができる。ピクチャからピクチャへ同一配置のタイルは、同じMV精度を使用することができる。同様に、ピクチャからピクチャへ同一配置のスライスは、同じMV精度を使用することができる。例えば、ビデオが、コンピュータデスクトップを表し、コンピュータデスクトップの一部が、自然ビデオコンテンツを表示するウィンドウを有すると仮定する。コンピュータデスクトップのその領域内では、ピクチャからピクチャへと小数サンプルMV精度が使用され得るのに対し、テキスト又は他のレンダリングされたコンテンツを表示する他の領域は、整数サンプルMV精度を使用して符号化される。
このセットのアプローチにおいて、エンコーダは、シングルパス符号化を使用することができる。ビデオの符号化されている現ユニットに関して、現ユニットに関する選択されるMV精度は、ビデオの1以上の以前のユニット(時間順とも呼ばれる入力順、出力順、又は表示順ではなく、復号順とも呼ばれる符号化順又はビットストリーム順)からの収集された情報に少なくとも部分的に依存する。
代替的に、このセットのアプローチにおいて、エンコーダは、マルチパス符号化又はショートルックアヘッドウィンドウ(short look-ahead window)を用いた符号化(時として1.5パス符号化とも呼ばれる)を使用してもよい。ビデオの符号化されている現ユニットに関して、選択されるMV精度は、現ユニットからの収集された情報に少なくとも部分的に依存する。現ユニットに関する選択されるMV精度はまた、ビデオの1以上の以前のユニット(入力順ではなく、符号化順)からの収集された情報にも少なくとも部分的に依存し得る。
このセットのアプローチにおいて、エンコーダは、整数サンプルMV精度が適切である信頼度に少なくとも部分的に基づいて、整数サンプルMV精度を優先するように又は優先しないように、バイアスの量を調整することできる。エンコーダはまた、符号化及び/又は復号の計算能力に少なくとも部分的に基づいて、整数サンプルMV精度を優先するように又は優先しないように、バイアスの量を調整することできる(より少ない計算能力しか利用可能でない場合、計算複雑度を低減させるために、整数サンプルMV精度を優先する)。例えば、整数サンプルMV精度の選択を優先するために、エンコーダは、整数サンプルMV精度が選択される可能性をより高くするように、比較演算において使用される閾値を調整することができる。
このセットのアプローチにおいて、選択されるMV精度は、ビデオのユニット内のブロックのMV値の水平MV成分及び/又は垂直MV成分に関するものであり得、この場合、水平MV成分及び垂直MV成分は、異なるMV精度を有することが許容される。あるいは、選択されるMV精度は、ビデオのユニット内のブロックのMV値の水平MV成分及び垂直MV成分の両方に関するものであり得、この場合、水平MV成分及び垂直MV成分は、同じMV精度を有する。
このセットのアプローチにおいて、(例えば、ビットストリーム内の)符号化されたビデオは、ユニットに関する選択されたMV精度を示す1以上のシンタックス要素を含む。代替的に、符号化されたビデオは、ユニットに関する選択されたMV精度を示すシンタックス要素を含まなくてもよい(以下の非標準的(non-normative)アプローチに関するセクションを参照されたい)。例えば、ビットストリームが、小数サンプルMV精度を有するMV値のシグナリングをサポートしているとしても、エンコーダは、ゼロである小数部分を有するMV値のみを使用するように、ビデオのユニットの動き推定を制約することができる。これは、内挿演算を回避することにより、符号化及び復号の計算複雑度を低減させることができる。
4.低複雑度コンテンツ解析を用いるアプローチ
決定プロセスを単純化するために、エンコーダは、MV精度を選択する前に、より小さなセットのデータを考慮に入れて、又は、MV精度を選択するときにより単純な決定ロジックを使用して、複数のパスの符号化を回避することができる。
図9は、低複雑度アプローチを用いて符号化中にMV精度を適応させるための技術(900)を示している。技術(900)は、図3若しくは図4a及び図4bを参照して説明したエンコーダ等のエンコーダにより、又は別のエンコーダにより、実行され得る。技術(900)は、図8を参照して説明した、ビデオに関する情報を収集し、収集された情報に少なくとも部分的に基づいて、MV精度を選択する1つのアプローチを詳細に示すものである。
技術(900)に従って、エンコーダは、ビデオの符号化中に、ビデオのユニットに関するMV精度を決定する。ユニットに関するMV精度を決定するとき、エンコーダは、小数サンプルMV精度を有するMV値のセットを識別する(910)。MV値のこのセットは、ゼロ値であるMV及びゼロ値でないMVを含むことが許容され得る。あるいは、MV値のこのセットは、ゼロ値でないMVのみを含むように制約され得る。あるいは、MV値のこのセットは、所定のブロックサイズ以上のブロックからのゼロ値でないMVのみを含むようにさらに制約され得る。
エンコーダは、MV値のセット内でのゼロである小数部分を有するMV値の優勢率に少なくとも部分的に基づいて、ユニットに関するMV精度を選択する(920)。優勢率は、ゼロである小数部分を有するMV値のセットの割合の観点で、測定され得る。例えば、ピクチャに関して、エンコーダは、ゼロである小数部分を有するMV値のパーセンテージを決定することができる。あるいは、MV値のセットを使用する領域又は領域のセットに関して、優勢率は、ゼロである小数部分を有するその領域又は領域のセットの割合の観点で、測定され得る。そのような割合が、閾値を超えている場合、ユニットに関する選択されるMV精度は、整数サンプルMV精度である。そのような割合が、閾値を超えていない場合、ユニットに関する選択されるMV精度は、小数サンプルMV精度である。境界条件(割合が閾値と等しい場合)は、実装に応じて、いずれかのオプションを使用するよう処理され得る。
ユニットに関するMV精度の選択(920)はまた、閾量のゼロ値でないMVが存在する場合に整数サンプルMV精度への切り替えが許容されるように、ゼロ値でないMVの優勢率にも少なくとも部分的に基づき得る。ゼロ値でないMVの優勢率は、ゼロ値でないMVであるMV値の割合の観点で、ゼロ値でないMVを使用するブロックの総数の観点で、又は、ゼロ値でないMVを使用する領域又は領域のセットの割合の観点で、測定され得る。この場合、小数サンプルMV精度を有するMV値のセットが、その領域又は領域のセットのゼロ値でないMVの中から識別され得る。したがって、エンコーダは、ゼロ値でないMVのセット内での、ゼロである小数部分を有する、ゼロ値でないMVの優勢率を考慮に入れることができる。例えば、エンコーダは、次の2つの条件が満たされた場合、整数サンプルMV精度に切り替える:(1)十分に大量のゼロ値でないMVが検出されたこと、及び(2)ゼロ値でないMVのこのセット内に、ゼロである小数部分を有するMV値が十分多く存在すること(又は、代替的に、ゼロでない小数部分を有するMV値が十分少ないこと)。ゼロ値でないMVの優勢率及びゼロである小数部分を有するMV値の優勢率は、(関連付けられているブロックサイズにかかわらず)MV値を計数することにより、又は、MV値について関連付けられているブロックサイズを考慮に入れることにより(例えば、いくつかのMV値は、他のブロックより大きなブロックに適用されるため)、決定され得る。
エンコーダは、ユニットに関する選択されたMV精度を使用して、ユニットを符号化する。ビデオのユニット内のブロック(例えば、PU、マクロブロック、又は他のブロック)のMV値は、ユニットに関する選択されたMV精度を有する。エンコーダは、例えばビットストリーム内に、現ユニットの符号化されたデータを出力する。符号化されたデータは、ユニットに関する選択されたMV精度を示すシンタックス要素を含み得る。
エンコーダがMV精度を設定するのに費やす時間を短くするために、整数サンプルMV精度が、ユニットに関して選択された後、選択されたMV精度は、イベントがMV精度を小数サンプルMV精度に再度切り替えさせるまで、ビデオの後続ユニットに関しても使用され得る。例えば、イベントは、定められた数のユニットの符号化、シーン変化、又は、符号化中の観測に基づく、小数サンプルMV精度への再度の切り替えが有効であるとの判定であり得る。
1つの例示的な実装において、エンコーダは、ビデオのユニット(例えば、ピクチャ、タイル、スライス、又はCU)を1回だけ符号化する。最初に、エンコーダは、1/4サンプルMV精度を使用してユニットを符号化する。エンコーダは、符号化中、MV値の小数部分がゼロであるか否かを判定する。例えば、エンコーダは、ゼロでない小数部分を有するMV値の割合を測定する。あるいは、いくつかのMV値は、他のピクチャ領域より大きなピクチャ領域に影響を及ぼすので、エンコーダは、ゼロでない小数部分を有するMV値を使用した1以上のインターピクチャ予測領域の割合を測定する(MV値の総数ではなく、面積を測定する)。割合が、閾値(実装に依存するが、例えば75%である)を超えている場合、エンコーダは、ビデオの1以上の後続ユニットに関して、整数サンプルMV精度に切り替える。
この例示的な実装において、エンコーダが、整数サンプルMV精度に切り替えた後、エンコードは、無制限に、又は、定められたイベントが小数サンプルMV精度への再度の切り替えをトリガするまで少なくとも一時的に、整数サンプルMV精度を保つことができる。イベントは、例えば、特定の数のユニット(例えば、100個のユニット)の符号化であり得る。あるいは、イベントは、シーン変化であり得る。あるいは、イベントは、符号化している間に収集された統計量に基づく、小数サンプルMV精度への再度の切り替えが有効である可能性が高いとの判定であり得る。(このような統計量は、小数サンプルMV精度が、何らかの制限された量の領域に対してより良く機能していたであろうかどうかを判定するために、そのような領域の符号化中に収集され、次いで、1以上のユニットに関してMV精度を切り替えるために適用され得る。)
ビデオコンテンツが、自然ビデオコンテンツであろうが人工的に作成されたビデオコンテンツであろうが、ビデオの大部分は、静止しているものであり得る。例えば、静止している部分は、自然ビデオ内の固定背景又はスクリーンキャプチャコンテンツ内の固定コンテンツであり得る。ビデオの静止している部分は、ゼロ値であるMVを有し、これらのゼロ値であるMVは、MV精度が小数サンプルMV精度である場合、ゼロである小数部分を有する。著しい数のゼロ値であるMVの存在は、ゼロでない小数部分を有するMV値の割合を考慮に入れる決定ロジックを混乱させ得る。
したがって、エンコーダは、考慮から、ゼロ値であるMVを除外することができる。図10は、(ほとんどが)ゼロ値であるMVである1つの動きのない部分(1001)と、(ほとんどが)ゼロ値でないMVである2つの動きのある部分(1002、1003)と、を含むピクチャ(1000)を示している。エンコーダは、動きのある部分(1002、1003)内のゼロ値でないMVを考慮に入れるが、動きのない部分(1001)のMV値を考慮に入れない。エンコーダは、(動きのある部分(1002、1003)内の)ゼロである小数部分を有するゼロ値でないMVの割合が、閾値を超えている場合(又は、ゼロである小数部分を有するゼロ値でないMVを使用したピクチャの(面積の観点での)割合が、閾値を超えている場合)、整数サンプルMV精度に切り替えることができる。
エンコーダはまた、少数のMV値に基づいて決定がなされないように、ゼロ値でないMVの評価された数が、閾数を超えているかをチェックすることができる。これは、決定プロセスをよりロバストなものにすることができる。
別の例示的な実装において、エンコーダは、1/4サンプルMV精度を使用して、ビデオの所与のユニット(例えば、ピクチャ、タイル、スライス、又はCU)を符号化する。エンコーダは、(1)そのユニットのうちx%を超える部分が、ゼロ値でないMVを用いたインターピクチャ予測を用いており、(2)そのユニットのゼロ値でないMVを用いた部分のうちy%を超える部分が、整数値である(ゼロである小数部分を有する)MVを有する場合、ビデオの1以上の後続ユニットに関して整数サンプルMV精度に切り替える。x及びyの値は、実装に依存し、例えば、それぞれ5及び75とすることができる。
類似する例示的な実装において、エンコーダは、1/4サンプルMV精度を使用して、ビデオの所与のユニット(例えば、ピクチャ、タイル、スライス、又はCU)を符号化する。エンコーダは、(1)そのユニットのz個を超えるPUが、ゼロ値でないMVを有し、(2)これらのPUのうちy%を超えるPUが、整数値である(ゼロである小数部分を有する)MVを有する場合、ビデオの1以上の後続ユニットに関して整数サンプルMV精度に切り替える。z及びyの値は、実装に依存し、例えば、それぞれ100及び75とすることができる。
より大きな領域のMV値は、より小さな領域のMV値より信頼性の高いものであり得る。エンコーダは、どのMV値が評価されるかを限定することができる。例えば、エンコーダは、所定のブロックサイズ以上(例えば、16×16以上)のブロックのMV値のみを評価することができる。
別の例示的な実装において、エンコーダは、1/4サンプルMV精度を使用して、ビデオの所与のユニット(例えば、ピクチャ、タイル、スライス、又はCU)を符号化する。エンコーダは、(1)そのユニットのz個を超えるPUが、w×w以上であって、且つ、ゼロ値でないMVを有し、(2)これらのPUのうちy%を超えるPUが、整数値である(ゼロである小数部分を有する)MVを有する場合、ビデオの1以上の後続ユニットに関して整数サンプルMV精度に切り替える。w、z及びyの値は、実装に依存し、例えば、それぞれ16、100及び75とすることができる。
5.非標準的アプローチ
前述の例のうちのほとんどにおいて、エンコーダは、選択されたMV精度を示す1以上のシンタックス要素を、符号化されたデータ、例えば、ビットストリームに含めてシグナリングする。デコーダは、選択されたMV精度を示す1以上のシンタックス要素を解析し、選択されたMV精度に従って、MV値を解釈する。
代替的に、非標準的アプローチにおいて、エンコーダは、エンコーダにより選択されたMV精度を示すシンタックス要素をシグナリングしない。例えば、エンコーダは、整数サンプルMV精度と小数サンプルMV精度との間で選択するが、常に、小数サンプルMV精度でMV値を符号化する。デコーダは、小数サンプルMV精度でMV値を再構成して適用する。
エンコーダが、整数サンプルMV精度を選択した場合、エンコーダは、小数サンプルオフセットにおけるサンプル値の内挿を回避することにより、且つ、整数サンプルオフセットにおける候補予測領域のみを評価することにより、動き推定を単純化することができる。また、MV予測が、小数値をもたらす(例えば、時間MV予測を用いて)場合、エンコーダは、MV差を(例えば、時間MV予測からの)小数値MV予測に加えるときに整数値をもたらすであろうMV差のみを考慮に入れることができる。復号中、動き補償は、小数サンプルオフセットにおけるサンプル値の内挿を回避することにより、単純化され得る。
前述のセクションに記載の所定のアプローチ(例えば、歪みコスト及び/若しくはビットレートコストをスケーリングすること、歪みコストペナルティ若しくはビットレートコストペナルティを加えること、又は、重み係数を調整すること、により、スケーリングされたレート歪みコストを使用するもの)はまた、非標準的アプローチにも適応され得る。エンコーダは、符号化中に、整数サンプルMV精度を優先するように又は優先しないように、バイアスの程度を変えることができる。エンコーダは、スケーリング、ペナルティ、及び/又は重み係数を介して、整数サンプルMV値が、ビデオコンテンツを符号化するのにより適切である可能性が高い信頼度に応じて、又は、符号化又は復号の計算能力に応じて、整数サンプルMV精度を優先するように、バイアスを調整することができる。
6.代替形態及び変形形態
いくつかの使用シナリオにおいて、ピクチャの符号化順(復号順とも呼ばれる)は、入力/カメラキャプチャにおける時間順及びディスプレイにおける時間順(表示順とも呼ばれる)とは異なる。エンコーダは、MV精度を選択するとき、そのような順序替えを考慮に入れることができる。例えば、エンコーダは、ピクチャの符号化順に基づいてではなく、ピクチャの時間順に基づいて、1以上のMV精度を選択することができる。
本明細書に記載の例のうちの多くにおいて、イントラBC予測及び動き補償は、別個のコンポーネント又はプロセスにおいて実装され、BV推定及び動き推定は、別個のコンポーネント又はプロセスにおいて実装される。代替的に、イントラBC予測は、現ピクチャが参照ピクチャとして使用される動き補償の特別なケースとして実装されてもよく、BV推定は、現ピクチャが参照ピクチャとして使用される動き推定の特別なケースとして実装されてもよい。そのような実装において、BV値は、MV値としてシグナリングされ得るが、インターピクチャ予測ではなく(現ピクチャ内の)イントラBC予測のために使用され得る。本明細書で使用されるとき、「イントラBC予測」という用語は、予測が、イントラピクチャ予測モジュールを使用して提供されるか、動き補償モジュールを使用して提供されるか、又は何らかの他のモジュールを使用して提供されるかにかかわらず、現ピクチャ内の予測を示す。同様に、BV値は、MV値を使用して、又は、異なるタイプのパラメータ若しくはシンタックス要素を使用して表現され得、BV推定は、イントラピクチャ推定モジュール、動き推定モジュール、又は何らかの他のモジュールを使用して提供され得る。本明細書に記載のMV精度を選択するアプローチは、イントラBC予測(すなわち、参照ピクチャとして現ピクチャを用いる)のためのBV値として使用されるMV値の精度を決定するために適用することができる。
VI.革新的特徴
提示される請求項に加えて、本明細書に記載の革新的特徴は、以下のものを含むが、以下のものに限定されない。
Figure 2017508344
開示した本発明の原理を適用することができる多くの可能な実施形態の観点から、例示した実施形態は、本発明の好ましい例に過ぎないことを認識すべきであり、本発明の範囲を限定するものとして解釈すべきではない。むしろ、本発明の範囲は、請求項により定められる。したがって、我々は、請求項の範囲及び主旨に含まれる全てを、我々の発明として特許請求する。

Claims (15)

  1. ビデオエンコーダを有するコンピューティングデバイスにおける方法であって、
    ビデオのユニットに関する動きベクトル(MV)精度を決定する決定ステップを含む、前記ビデオを符号化する符号化ステップであって、前記ビデオの前記ユニット内のブロックのMV値は、前記ユニットに関する前記MV精度を有し、前記決定ステップは、
    小数サンプルMV精度を有するMV値のセットを識別するステップと、
    前記MV値のセット内でのゼロである小数部分を有するMV値の優勢率に少なくとも部分的に基づいて、前記ユニットに関する前記MV精度を選択する選択ステップと、
    を含む、符号化ステップと、
    前記の符号化されたビデオを出力するステップと、
    を含む方法。
  2. 前記優勢率は、ゼロである小数部分を有する前記MV値のセットの割合の観点で測定される、又は
    領域又は領域のセットが、前記MV値のセットを使用しており、前記優勢率は、ゼロである小数部分を有する前記MV値のうちの1つのMV値を使用している前記領域又は前記領域のセットの割合の観点で測定される、請求項1記載の方法。
  3. 前記割合が、閾値を超えている場合、前記ユニットに関する前記の選択されるMV精度は、整数サンプルMV精度であり、前記割合が、前記閾値を超えていない場合、前記ユニットに関する前記の選択されるMV精度は、前記小数サンプルMV精度である、請求項2記載の方法。
  4. 前記ユニットに関する前記の選択されたMV精度は、整数サンプルMV精度であり、前記ユニットに関する前記の選択されたMV精度は、イベントが前記小数サンプルMV精度に再度切り替えさせるまで、前記ビデオの後続ユニットに関しても使用され、前記イベントは、
    定められた数のユニットの符号化、
    シーン変化、又は
    符号化中の観測に基づく、前記小数サンプルMV精度への再度の切り替えが有効であるとの判定
    である、請求項1記載の方法。
  5. 前記MV値のセットは、
    ゼロ値であるMV及びゼロ値でないMVを含むことが許容される、
    ゼロ値でないMVのみを含むように制約される、又は
    所定のブロックサイズ以上のブロックからのゼロ値でないMVのみを含むように制約される、請求項1記載の方法。
  6. 前記選択ステップは、閾量のゼロ値でないMVが存在する場合に整数サンプルMV精度への切り替えが許容されるように、ゼロ値でないMVの優勢率にも少なくとも部分的に基づき、ゼロ値でないMVの前記優勢率は、(a)ゼロ値でないMVであるMV値の割合、(b)ゼロ値でないMVを使用したブロックの総数、又は(c)ゼロ値でないMVを使用した領域又は領域のセットの割合、の観点で測定され、(c)の場合、小数サンプルMV精度を有する前記MV値のセットは、前記領域又は前記領域のセットのゼロ値でないMVの中から識別される、請求項1記載の方法。
  7. ビデオエンコーダを有するコンピューティングデバイスにおける方法であって、
    1以上の小数サンプル動きベクトル(MV)精度及び整数サンプルMV精度を含む複数のMV精度の中から、ビデオのユニットに関するMV精度を決定する決定ステップを含む、前記ビデオを符号化する符号化ステップであって、前記ビデオの前記ユニット内のブロックのMV値は、前記ユニットに関する前記MV精度を有し、前記決定ステップは、
    前記ビデオに関する情報を収集するステップと、
    前記の収集された情報に少なくとも部分的に基づいて、前記ユニットに関する前記MV精度を選択する選択ステップと、
    を含む、符号化ステップと、
    前記の符号化されたビデオを出力するステップと、
    を含む方法。
  8. 前記の収集された情報は、サンプル値を含み、前記サンプル値は、ヒストグラムとして編成され、前記選択ステップは、
    前記の収集された情報から、異なるサンプル値の総数を決定するステップと、
    前記総数を閾数と比較する比較ステップであって、前記総数が、前記閾数より少ない場合、前記整数サンプルMV精度が選択され、前記総数が、前記閾数より多い場合、前記1以上の小数サンプルMV精度のうちの1つの小数サンプルMV精度が選択される、比較ステップと、
    を含む、請求項7記載の方法。
  9. 前記の収集された情報は、前記複数のMV精度それぞれを使用して符号化されたブロックの歪み測定値を含み、前記選択ステップは、
    歪みの低減が、MV精度の増大を正当化するものであるかどうかを判定するステップ
    を含む、請求項7記載の方法。
  10. 前記の収集された情報は、前記1以上の小数サンプルMV精度のうちの1つの小数サンプルMV精度でのMV値を含み、前記の収集されたMV値は、前記の収集されたMV値の小数部分の値に従って編成される、請求項7記載の方法。
  11. 前記符号化は、シングルパス符号化であり、前記ビデオの前記ユニットは、前記ビデオの現ユニットであり、前記現ユニットに関する前記の選択されるMV精度は、前記ビデオの1以上の以前のユニットに少なくとも部分的に依存する、又は
    前記符号化は、マルチパス符号化であり、前記ビデオの前記ユニットは、前記ビデオの現ユニットであり、前記現ユニットに関する前記の選択されるMV精度は、前記ビデオの現ユニットに少なくとも部分的に依存する、請求項1又は7記載の方法。
  12. 前記方法は、
    (a)整数サンプルMV精度が適切である信頼度及び/又は(b)符号化及び/又は復号の計算能力に少なくとも部分的に基づいて、整数サンプルMV精度を優先するように又は優先しないように、バイアスの量を調整するステップ
    をさらに含む、請求項1又は7記載の方法。
  13. 前記ユニットに関する前記の選択されるMV精度は、前記ビデオの前記ユニット内のブロックの前記MV値の水平MV成分及び/又は垂直MV成分に関するものである、請求項1又は7記載の方法。
  14. 前記ユニットは、シーケンス、シーン変化間の一連のピクチャ、グループオブピクチャ、ピクチャ、タイル、スライス、符号化ツリーユニット、及び符号化ユニットからなる群から選択され、前記ブロックは、予測ブロック、予測ユニット、マクロブロック、又はサブマクロブロックパーティションである、請求項1又は7記載の方法。
  15. ビデオエンコーダを有するコンピューティングデバイスにおける方法であって、
    ビデオのユニットに関する動きベクトル(MV)精度を決定する決定ステップを含む、前記ビデオを符号化する符号化ステップであって、前記ビデオの前記ユニット内のブロックのMV値は、前記ユニットに関する前記MV精度を有し、前記決定ステップは、1以上の小数サンプルMV精度及び整数サンプルMV精度を含む複数のMV精度の間で決定するためにレート歪み分析を実行するステップを含み、前記レート歪み分析は、(a)歪みコストをスケーリングすること、(b)前記歪みコストにペナルティを加えること、(c)ビットレートコストをスケーリングすること、(d)前記ビットレートコストにペナルティを加えること、及び/又は、(e)ラグランジュ乗数係数を調整すること、により、前記整数サンプルMV精度を優先するようにバイアス調整される、符号化ステップと、
    前記の符号化されたビデオを出力するステップと、
    を含む方法。
JP2016545302A 2014-01-08 2014-12-19 動きベクトル精度の選択 Active JP6498679B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201461925090P 2014-01-08 2014-01-08
US61/925,090 2014-01-08
US201461934574P 2014-01-31 2014-01-31
US61/934,574 2014-01-31
US14/513,132 US9749642B2 (en) 2014-01-08 2014-10-13 Selection of motion vector precision
US14/513,132 2014-10-13
PCT/US2014/071332 WO2015105662A1 (en) 2014-01-08 2014-12-19 Selection of motion vector precision

Publications (3)

Publication Number Publication Date
JP2017508344A true JP2017508344A (ja) 2017-03-23
JP2017508344A5 JP2017508344A5 (ja) 2018-01-18
JP6498679B2 JP6498679B2 (ja) 2019-04-10

Family

ID=53496189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016545302A Active JP6498679B2 (ja) 2014-01-08 2014-12-19 動きベクトル精度の選択

Country Status (11)

Country Link
US (8) US9749642B2 (ja)
EP (1) EP3075154B1 (ja)
JP (1) JP6498679B2 (ja)
KR (5) KR102360403B1 (ja)
CN (4) CN110177274B (ja)
AU (1) AU2014376190B2 (ja)
BR (2) BR112016015854B1 (ja)
CA (2) CA2935340C (ja)
MX (1) MX359698B (ja)
RU (1) RU2682859C1 (ja)
WO (1) WO2015105662A1 (ja)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
US10409445B2 (en) 2012-01-09 2019-09-10 Activevideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US9491461B2 (en) * 2012-09-27 2016-11-08 Qualcomm Incorporated Scalable extensions to HEVC and temporal motion vector prediction
US10275128B2 (en) 2013-03-15 2019-04-30 Activevideo Networks, Inc. Multiple-mode system and method for providing user selectable video content
US9326047B2 (en) 2013-06-06 2016-04-26 Activevideo Networks, Inc. Overlay rendering of user interface onto source video
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9774881B2 (en) 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
US10924746B2 (en) * 2014-01-29 2021-02-16 Mediatek Inc. Method and apparatus for adaptive motion vector precision
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
US10523985B2 (en) 2014-12-24 2019-12-31 Activevideo Networks, Inc. Managing deep and shallow buffers in a thin-client device of a digital media distribution network
US10264293B2 (en) 2014-12-24 2019-04-16 Activevideo Networks, Inc. Systems and methods for interleaving video streams on a client device
US10313675B1 (en) * 2015-01-30 2019-06-04 Google Llc Adaptive multi-pass video encoder control
US10200713B2 (en) 2015-05-11 2019-02-05 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
US20160337662A1 (en) * 2015-05-11 2016-11-17 Qualcomm Incorporated Storage and signaling resolutions of motion vectors
CN105163124B (zh) * 2015-08-28 2019-01-18 京东方科技集团股份有限公司 一种图像编码方法、图像解码方法及装置
US10880566B2 (en) 2015-08-28 2020-12-29 Boe Technology Group Co., Ltd. Method and device for image encoding and image decoding
WO2017194756A1 (en) * 2016-05-12 2017-11-16 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for coding and decoding motion vectors
US11122281B2 (en) * 2016-09-21 2021-09-14 Kakadu R&D Pty Ltd. Base anchored models and inference for the compression and upsampling of video and multiview imagery
KR20180043151A (ko) * 2016-10-19 2018-04-27 에스케이텔레콤 주식회사 영상 부호화 또는 복호화를 위한 장치 및 방법
CN106788920B (zh) * 2016-12-19 2019-08-23 珠海格力电器股份有限公司 一种波特率偏差检测方法、装置及空调室内机
CN116320475A (zh) 2016-12-22 2023-06-23 株式会社Kt 对视频进行解码或编码的方法和发送视频数据的方法
KR102559063B1 (ko) 2017-02-24 2023-07-24 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10203807B2 (en) * 2017-03-20 2019-02-12 Microsoft Technology Licensing, Llc Method for sampling output from a grid based digitizer sensor
TWI681669B (zh) 2017-04-21 2020-01-01 美商時美媒體公司 用於藉由預測運動向量及/或快取重複運動向量的玩家輸入運動補償的系統及方法
CN112153029A (zh) 2017-04-21 2020-12-29 泽尼马克斯媒体公司 基于编码器提示的渲染和预编码负载估计的系统和方法
EP3612978A4 (en) 2017-04-21 2020-06-03 Zenimax Media Inc. SYSTEMS AND METHODS FOR ENABLING ENCODER-GUIDED QUALITY RENDERING
JP7077396B2 (ja) 2017-04-21 2022-05-30 ゼニマックス メディア インク. ビデオエンコードの延期されたポストプロセスのためのシステムおよび方法
EP3613015A4 (en) 2017-04-21 2021-02-24 Zenimax Media Inc. SYSTEMS AND PROCEDURES FOR TOY GENERATED MOTION VECTORS
US10771789B2 (en) * 2017-05-19 2020-09-08 Google Llc Complexity adaptive rate control
US11303689B2 (en) * 2017-06-06 2022-04-12 Nokia Technologies Oy Method and apparatus for updating streamed content
US11272207B2 (en) * 2017-06-12 2022-03-08 Futurewei Technologies, Inc. Selection and signaling of motion vector (MV) precisions
US20190014332A1 (en) * 2017-07-07 2019-01-10 Apple Inc. Content-aware video coding
US10841794B2 (en) * 2017-09-18 2020-11-17 Futurewei Technologies, Inc. Adaptive motion vector resolution
CN110166778A (zh) * 2018-02-12 2019-08-23 华为技术有限公司 视频解码方法、视频解码器以及电子设备
KR102368620B1 (ko) 2018-02-28 2022-02-28 삼성전자주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
WO2019240630A1 (en) * 2018-06-13 2019-12-19 Huawei Technologies Co., Ltd. Intra sharpening and/or de-ringing filter for video coding
TWI746994B (zh) 2018-06-19 2021-11-21 大陸商北京字節跳動網絡技術有限公司 用於不同參考列表的不同精確度
US11057617B2 (en) * 2018-08-03 2021-07-06 Tencent America LLC Method and apparatus for video coding
CN115842912A (zh) 2018-08-04 2023-03-24 抖音视界有限公司 不同解码器侧运动矢量推导模式之间的交互
WO2020031057A1 (en) * 2018-08-04 2020-02-13 Beijing Bytedance Network Technology Co., Ltd. Mv precision in bio
AU2018217333A1 (en) * 2018-08-17 2020-03-05 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
TWI815967B (zh) 2018-09-19 2023-09-21 大陸商北京字節跳動網絡技術有限公司 仿射模式編解碼的模式相關自適應調整運動矢量分辨率
CN111010569B (zh) 2018-10-06 2023-02-28 北京字节跳动网络技术有限公司 Bio中的时间梯度计算的改善
EP3866473A4 (en) 2018-10-09 2023-02-15 Samsung Electronics Co., Ltd. VIDEO DECODING METHOD AND APPARATUS, AND VIDEO ENCODING METHOD AND APPARATUS
CN113039790B (zh) 2018-11-17 2023-04-14 北京字节跳动网络技术有限公司 视频处理的方法、装置和非暂时性计算机可读介质
CN111010581B (zh) * 2018-12-07 2022-08-12 北京达佳互联信息技术有限公司 运动矢量信息的处理方法、装置、电子设备及存储介质
CN113273205A (zh) * 2018-12-21 2021-08-17 北京字节跳动网络技术有限公司 使用更高比特深度精度的运动矢量推导
CN113196773B (zh) 2018-12-21 2024-03-08 北京字节跳动网络技术有限公司 具有运动矢量差的Merge模式中的运动矢量精度
US10951895B2 (en) 2018-12-31 2021-03-16 Alibaba Group Holding Limited Context model selection based on coding unit characteristics
CN113574867B (zh) * 2019-01-12 2022-09-13 北京字节跳动网络技术有限公司 Mv精度约束
CN111567044A (zh) * 2019-03-13 2020-08-21 北京大学 一种视频处理方法、装置、编码设备及解码设备
EP3713235B1 (en) * 2019-03-19 2023-08-02 Axis AB Methods and devices for encoding a video stream using a first and a second encoder
US20190222858A1 (en) * 2019-03-26 2019-07-18 Intel Corporation Optimal out of loop inter motion estimation with multiple candidate support
CN113841413A (zh) * 2019-05-21 2021-12-24 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
MX2021015811A (es) * 2019-06-17 2022-02-03 Beijing Dajia Internet Information Tech Co Ltd Metodos y aparatos para el refinamiento del vector de movimiento en el decodificador en la codificacion de video.
CN112243123B (zh) * 2019-07-16 2022-05-27 四川大学 一种基于无损编码的hevc码率优化方法
US20220239923A1 (en) * 2021-01-26 2022-07-28 Meta Platforms, Inc. Dynamically biasing mode selection in video encoding
US11368694B1 (en) 2021-01-26 2022-06-21 Meta Platforms, Inc. Architecture for rate estimation in video coding
US11818191B1 (en) * 2021-11-11 2023-11-14 Two Six Labs, LLC Stateless lossless compression

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06133299A (ja) * 1992-10-15 1994-05-13 Ricoh Co Ltd 動きベクトル検出方法
JPH1146364A (ja) * 1997-07-28 1999-02-16 Victor Co Of Japan Ltd 動き補償符号化装置、復号化装置、符号化方法及び復号化方法
JPH11262018A (ja) * 1998-03-09 1999-09-24 Victor Co Of Japan Ltd 動き補償符号化装置、動き補償符号化方法、及び動き補償符号記録媒体
JP2006174014A (ja) * 2004-12-15 2006-06-29 Nippon Telegr & Teleph Corp <Ntt> 動きベクトル探索方法,動きベクトル探索装置,動きベクトル探索プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
WO2009088038A1 (ja) * 2008-01-09 2009-07-16 Mitsubishi Electric Corporation 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法

Family Cites Families (219)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60158786A (ja) 1984-01-30 1985-08-20 Kokusai Denshin Denwa Co Ltd <Kdd> 画像動き量検出方式
US4661849A (en) 1985-06-03 1987-04-28 Pictel Corporation Method and apparatus for providing motion estimation signals for communicating image sequences
US4661853A (en) 1985-11-01 1987-04-28 Rca Corporation Interfield image motion detector for video signals
DE3854337T2 (de) 1987-06-09 1996-02-01 Sony Corp Bewegungskompensierte Interpolation von digitalen Fernsehbildern.
EP0294962B1 (en) 1987-06-09 1995-07-19 Sony Corporation Motion vector estimation in television images
EP0713340B1 (en) 1989-10-14 2001-08-22 Sony Corporation Video signal coding/decoding method and apparatus
JP2712645B2 (ja) 1989-10-14 1998-02-16 ソニー株式会社 動きベクトル伝送方法及びその装置並びに動きベクトル復号化方法及びその装置
US5103306A (en) 1990-03-28 1992-04-07 Transitions Research Corporation Digital image compression employing a resolution gradient
US5175618A (en) 1990-10-31 1992-12-29 Victor Company Of Japan, Ltd. Compression method for interlace moving image signals
JP3226539B2 (ja) 1991-05-24 2001-11-05 ブリティッシュ・ブロードキャスティング・コーポレーション ビデオ画像処理
US5467136A (en) 1991-05-31 1995-11-14 Kabushiki Kaisha Toshiba Video decoder for determining a motion vector from a scaled vector and a difference vector
US5317397A (en) 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
JPH0541862A (ja) 1991-08-03 1993-02-19 Sony Corp 動きベクトルの可変長符号化方式
US5428396A (en) 1991-08-03 1995-06-27 Sony Corporation Variable length coding/decoding method for motion vectors
ATE148607T1 (de) 1991-09-30 1997-02-15 Philips Electronics Nv Bewegungsvektorschätzung, bewegungsbildkodierung- und -speicherung
JP2962012B2 (ja) 1991-11-08 1999-10-12 日本ビクター株式会社 動画像符号化装置及びその復号装置
GB2262854B (en) 1991-12-24 1995-05-24 Sony Broadcast & Communication Image processing apparatus
US5594813A (en) 1992-02-19 1997-01-14 Integrated Information Technology, Inc. Programmable architecture and methods for motion estimation
US6441842B1 (en) 1992-02-19 2002-08-27 8×8, Inc. Video compression/decompression processing and processors
US5436665A (en) 1992-03-03 1995-07-25 Kabushiki Kaisha Toshiba Motion picture coding apparatus
US6226327B1 (en) 1992-06-29 2001-05-01 Sony Corporation Video coding method and apparatus which select between frame-based and field-based predictive modes
JPH0662386A (ja) 1992-08-04 1994-03-04 G C Technol Kk 解像度変換復号方法と装置
JP3348310B2 (ja) 1992-09-28 2002-11-20 ソニー株式会社 動画像符号化方法および動画像符号化装置
ES2431289T3 (es) 1993-03-24 2013-11-25 Sony Corporation Método de decodificación de señal de imagen y aparato asociado
US5442400A (en) 1993-04-29 1995-08-15 Rca Thomson Licensing Corporation Error concealment apparatus for MPEG-like video data
JPH06343172A (ja) 1993-06-01 1994-12-13 Matsushita Electric Ind Co Ltd 動きベクトル検出方法及び動きベクトル符号化方法
US5477272A (en) 1993-07-22 1995-12-19 Gte Laboratories Incorporated Variable-block size multi-resolution motion estimation scheme for pyramid coding
CN1099723A (zh) 1993-08-31 1995-03-08 张智新 硫酸铵分解法
KR970003102B1 (ko) 1993-09-17 1997-03-14 대우전자 주식회사 영상 복호기에서의 하프 픽셀 움직임 보상 회로
TW283289B (ja) 1994-04-11 1996-08-11 Gen Instrument Corp
US5594504A (en) 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
US5684538A (en) 1994-08-18 1997-11-04 Hitachi, Ltd. System and method for performing video coding/decoding using motion compensation
EP0710033A3 (en) 1994-10-28 1999-06-09 Matsushita Electric Industrial Co., Ltd. MPEG video decoder having a high bandwidth memory
US6301299B1 (en) 1994-10-28 2001-10-09 Matsushita Electric Industrial Co., Ltd. Memory controller for an ATSC video decoder
US5623311A (en) 1994-10-28 1997-04-22 Matsushita Electric Corporation Of America MPEG video decoder having a high bandwidth memory
GB2301972B (en) 1995-06-06 1999-10-20 Sony Uk Ltd Video compression
GB2301971B (en) 1995-06-06 1999-10-06 Sony Uk Ltd Video compression
US5959673A (en) 1995-10-05 1999-09-28 Microsoft Corporation Transform coding of dense motion vector fields for frame and object based video coding applications
US5929940A (en) 1995-10-25 1999-07-27 U.S. Philips Corporation Method and device for estimating motion between images, system for encoding segmented images
US5991463A (en) 1995-11-08 1999-11-23 Genesis Microchip Inc. Source data interpolation method and apparatus
JP2798035B2 (ja) 1996-01-17 1998-09-17 日本電気株式会社 適応動きベクトル補間による動き補償フレーム間予測方法
US5787203A (en) 1996-01-19 1998-07-28 Microsoft Corporation Method and system for filtering compressed video images
US5692063A (en) 1996-01-19 1997-11-25 Microsoft Corporation Method and system for unrestricted motion estimation for video
US5799113A (en) 1996-01-19 1998-08-25 Microsoft Corporation Method for expanding contracted video images
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US5768537A (en) 1996-02-22 1998-06-16 International Business Machines Corporation Scalable MPEG2 compliant video encoder
US5982438A (en) 1996-03-22 1999-11-09 Microsoft Corporation Overlapped motion compensation for object coding
US5847776A (en) 1996-06-24 1998-12-08 Vdonet Corporation Ltd. Method for entropy constrained motion estimation and coding of motion vectors with increased search range
US6233017B1 (en) 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes
US6130963A (en) 1996-11-22 2000-10-10 C-Cube Semiconductor Ii, Inc. Memory efficient decoding of video frame chroma
US6377628B1 (en) 1996-12-18 2002-04-23 Thomson Licensing S.A. System for maintaining datastream continuity in the presence of disrupted source data
US6330344B1 (en) 1997-02-14 2001-12-11 Sony Corporation Image processing device and method employing motion detection to generate improved quality image from low resolution image
US6201927B1 (en) 1997-02-18 2001-03-13 Mary Lafuze Comer Trick play reproduction of MPEG encoded signals
US6005980A (en) 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
US5991447A (en) 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US5844613A (en) 1997-03-17 1998-12-01 Microsoft Corporation Global motion estimator for motion video signal encoding
US6404813B1 (en) 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
WO1998044479A1 (fr) 1997-03-31 1998-10-08 Matsushita Electric Industrial Co., Ltd. Procede de visualisation du premier plan d'images et dispositif connexe
US5973755A (en) 1997-04-04 1999-10-26 Microsoft Corporation Video encoder and decoder using bilinear motion compensation and lapped orthogonal transforms
US6067322A (en) 1997-06-04 2000-05-23 Microsoft Corporation Half pixel motion estimation in motion video signal encoding
US6574371B2 (en) 1997-06-09 2003-06-03 Hitachi, Ltd. Image decoding method
EP1237376B1 (en) 1997-06-09 2015-08-05 Hitachi, Ltd. Image information recording medium
JPH1169345A (ja) 1997-06-11 1999-03-09 Fujitsu Ltd フレーム間予測動画像符号化装置及び復号装置並びにフレーム間予測動画像符号化方法及び復号方法
US6310918B1 (en) 1997-07-31 2001-10-30 Lsi Logic Corporation System and method for motion vector extraction and computation meeting 2-frame store and letterboxing requirements
US6266091B1 (en) 1997-07-31 2001-07-24 Lsi Logic Corporation System and method for low delay mode operation video decoding
FR2766946B1 (fr) 1997-08-04 2000-08-11 Thomson Multimedia Sa Procede et dispositif de pretraitement pour estimation de mouvement
US6281942B1 (en) 1997-08-11 2001-08-28 Microsoft Corporation Spatial and temporal filtering mechanism for digital motion video signals
US6339656B1 (en) 1997-12-25 2002-01-15 Matsushita Electric Industrial Co., Ltd. Moving picture encoding decoding processing apparatus
US6122017A (en) 1998-01-22 2000-09-19 Hewlett-Packard Company Method for providing motion-compensated multi-field enhancement of still images from video
US6611624B1 (en) 1998-03-13 2003-08-26 Cisco Systems, Inc. System and method for frame accurate splicing of compressed bitstreams
US6020934A (en) 1998-03-23 2000-02-01 International Business Machines Corporation Motion estimation architecture for area and power reduction
US6195389B1 (en) 1998-04-16 2001-02-27 Scientific-Atlanta, Inc. Motion estimation system and methods
JP3888597B2 (ja) 1998-06-24 2007-03-07 日本ビクター株式会社 動き補償符号化装置、及び動き補償符号化復号化方法
JP4026238B2 (ja) 1998-07-23 2007-12-26 ソニー株式会社 画像復号装置及び画像復号方法
US6219070B1 (en) 1998-09-30 2001-04-17 Webtv Networks, Inc. System and method for adjusting pixel parameters by subpixel positioning
US6466624B1 (en) 1998-10-28 2002-10-15 Pixonics, Llc Video decoder with bit stream based enhancements
GB2343579A (en) 1998-11-07 2000-05-10 Ibm Hybrid-linear-bicubic interpolation method and apparatus
US6584154B1 (en) 1998-11-26 2003-06-24 Oki Electric Industry Co., Ltd. Moving-picture coding and decoding method and apparatus with reduced computational cost
US6983018B1 (en) 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US6418166B1 (en) 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
US6496608B1 (en) 1999-01-15 2002-12-17 Picsurf, Inc. Image data interpolation system and method
US6259741B1 (en) 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
US6320593B1 (en) 1999-04-20 2001-11-20 Agilent Technologies, Inc. Method of fast bi-cubic interpolation of image information
JP2000308064A (ja) 1999-04-22 2000-11-02 Mitsubishi Electric Corp 動きベクトル検出装置
EP1050850A1 (en) 1999-05-03 2000-11-08 THOMSON multimedia Process for estimating a dominant motion between two frames
US6556624B1 (en) 1999-07-27 2003-04-29 At&T Corp. Method and apparatus for accomplishing multiple description coding for video
US6968008B1 (en) 1999-07-27 2005-11-22 Sharp Laboratories Of America, Inc. Methods for motion estimation with adaptive motion accuracy
US6647061B1 (en) 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
US7206453B2 (en) 2001-05-03 2007-04-17 Microsoft Corporation Dynamic filtering for lossy compression
US7266150B2 (en) 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
US20030095603A1 (en) 2001-11-16 2003-05-22 Koninklijke Philips Electronics N.V. Reduced-complexity video decoding using larger pixel-grid motion compensation
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP2003189312A (ja) 2001-12-20 2003-07-04 Oki Electric Ind Co Ltd 動画像符号化装置及び動画像復号化装置
WO2003055224A1 (en) 2001-12-20 2003-07-03 Koninklijke Philips Electronics N.V. Video encoding and decoding method and device
CN1265649C (zh) 2002-01-24 2006-07-19 株式会社日立制作所 运动图像的编码方法、解码方法、编码装置及解码装置
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US7305034B2 (en) 2002-04-10 2007-12-04 Microsoft Corporation Rounding control for multi-stage interpolation
US7620109B2 (en) 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
US7116831B2 (en) 2002-04-10 2006-10-03 Microsoft Corporation Chrominance motion vector rounding
US7110459B2 (en) 2002-04-10 2006-09-19 Microsoft Corporation Approximate bicubic filter
US7277587B2 (en) 2002-04-26 2007-10-02 Sharp Laboratories Of America, Inc. System and method for lossless video coding
US7224731B2 (en) 2002-06-28 2007-05-29 Microsoft Corporation Motion estimation/compensation for screen capture video
US7016547B1 (en) 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US6980695B2 (en) 2002-06-28 2005-12-27 Microsoft Corporation Rate allocation for mixed content video
US8107539B2 (en) 2002-07-15 2012-01-31 Nokia Corporation Method for error concealment in video sequences
JP4724351B2 (ja) 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
US7072512B2 (en) 2002-07-23 2006-07-04 Microsoft Corporation Segmentation of digital video and images into continuous tone and palettized regions
US8824553B2 (en) 2003-05-12 2014-09-02 Google Inc. Video compression method
WO2004114063A2 (en) 2003-06-13 2004-12-29 Georgia Tech Research Corporation Data reconstruction using directional interpolation techniques
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7609763B2 (en) 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
EP1536647A1 (en) 2003-11-26 2005-06-01 STMicroelectronics Limited A video decoding device
KR100631777B1 (ko) 2004-03-31 2006-10-12 삼성전자주식회사 다 계층의 모션 벡터를 효율적으로 압축하는 방법 및 장치
KR100586882B1 (ko) 2004-04-13 2006-06-08 삼성전자주식회사 모션 스케일러빌리티를 지원하는 코딩 방법 및 장치
US8130825B2 (en) 2004-05-10 2012-03-06 Nvidia Corporation Processor for video data encoding/decoding
KR100678949B1 (ko) 2004-07-15 2007-02-06 삼성전자주식회사 비디오 코딩 및 디코딩 방법, 비디오 인코더 및 디코더
US7558428B2 (en) 2004-09-13 2009-07-07 Microsoft Corporation Accelerated video encoding using a graphics processing unit
JP4241588B2 (ja) 2004-11-30 2009-03-18 日本ビクター株式会社 動画像符号化装置、及び動画像復号化装置
WO2006096612A2 (en) 2005-03-04 2006-09-14 The Trustees Of Columbia University In The City Of New York System and method for motion estimation and mode decision for low-complexity h.264 decoder
EP2234405A3 (en) 2005-04-13 2011-03-16 NTT DoCoMo, Inc. Image prediction on the basis of a frequency band analysis of the to be predicted image
KR100703778B1 (ko) 2005-04-29 2007-04-06 삼성전자주식회사 고속 fgs를 지원하는 비디오 코딩 방법 및 장치
WO2006124885A2 (en) 2005-05-12 2006-11-23 Kylintv, Inc. Codec for iptv
US20070025442A1 (en) * 2005-07-28 2007-02-01 Sanyo Electric Co., Ltd. Coding method for coding moving images
US8761259B2 (en) 2005-09-22 2014-06-24 Qualcomm Incorporated Multi-dimensional neighboring block prediction for video encoding
GB0600141D0 (en) 2006-01-05 2006-02-15 British Broadcasting Corp Scalable coding of video signals
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
US7929599B2 (en) 2006-02-24 2011-04-19 Microsoft Corporation Accelerated video encoding
US8155195B2 (en) 2006-04-07 2012-04-10 Microsoft Corporation Switching distortion metrics during motion estimation
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US7965767B2 (en) 2006-06-30 2011-06-21 Intel Corporation Two-dimensional filtering architecture
US9014280B2 (en) 2006-10-13 2015-04-21 Qualcomm Incorporated Video coding with adaptive filtering for motion compensated prediction
US8275041B2 (en) * 2007-04-09 2012-09-25 Nokia Corporation High accuracy motion vectors for video coding with low encoder and decoder complexity
US8861591B2 (en) 2007-05-11 2014-10-14 Advanced Micro Devices, Inc. Software video encoder with GPU acceleration
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
SG152082A1 (en) 2007-10-19 2009-05-29 Creative Tech Ltd A method and system for processing a composite video image
US8582652B2 (en) 2007-10-30 2013-11-12 General Instrument Corporation Method and apparatus for selecting a coding mode
US20090141808A1 (en) 2007-11-30 2009-06-04 Yiufai Wong System and methods for improved video decoding
US8279936B1 (en) 2007-12-11 2012-10-02 Marvell International Ltd. Method and apparatus for fractional pixel expansion and motion vector selection in a video codec
US20090168871A1 (en) 2007-12-31 2009-07-02 Ning Lu Video motion estimation
KR101431543B1 (ko) 2008-01-21 2014-08-21 삼성전자주식회사 영상 부호화/복호화 장치 및 방법
US9584710B2 (en) 2008-02-28 2017-02-28 Avigilon Analytics Corporation Intelligent high resolution video system
JP2009230537A (ja) * 2008-03-24 2009-10-08 Olympus Corp 画像処理装置、画像処理プログラム、画像処理方法、および、電子機器
US8266665B2 (en) 2008-03-25 2012-09-11 Verizon Patent And Licensing Inc. TV screen capture
US20090245374A1 (en) 2008-03-26 2009-10-01 Mediatek Inc. Video encoder and motion estimation method
US8831086B2 (en) * 2008-04-10 2014-09-09 Qualcomm Incorporated Prediction techniques for interpolation in video coding
US20090257499A1 (en) * 2008-04-10 2009-10-15 Qualcomm Incorporated Advanced interpolation techniques for motion compensation in video coding
US20090262801A1 (en) * 2008-04-17 2009-10-22 Qualcomm Incorporated Dead zone parameter selections for rate control in video coding
JP2010016453A (ja) 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
US8831103B2 (en) 2008-10-02 2014-09-09 Sony Corporation Image processing apparatus and method
US9078007B2 (en) * 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
CN102187668B (zh) * 2008-10-14 2013-10-30 法国电信公司 编码图像或图像序列的方法和装置及其解码方法和装置
TWI428022B (zh) 2008-10-24 2014-02-21 Nat Univ Chung Cheng Video control method for instant video encoding chips
DE102008064280A1 (de) * 2008-12-20 2010-06-24 Bayer Technology Services Gmbh Verfahren zur Herstellung von Bis(Para-Aminocyclohexyl)Methan
US8428145B2 (en) * 2008-12-31 2013-04-23 Entropic Communications, Inc. System and method for providing fast trick modes
US9472167B2 (en) 2009-04-17 2016-10-18 International Business Machines Corporation Video capture through hardware
US8346915B2 (en) 2009-05-04 2013-01-01 Qualcomm Incorporated System and method of recording and sharing mobile application activities
US8498493B1 (en) 2009-06-02 2013-07-30 Imagination Technologies Limited Directional cross hair search system and method for determining a preferred motion vector
CN102804779A (zh) 2009-06-09 2012-11-28 索尼公司 图像处理装置和方法
JP2010288110A (ja) 2009-06-12 2010-12-24 Sony Corp 画像処理装置および画像処理方法
EP2530937B1 (en) * 2009-06-18 2015-03-18 Kabushiki Kaisha Toshiba Video encoding apparatus and video decoding apparatus
JP5353532B2 (ja) * 2009-07-29 2013-11-27 ソニー株式会社 画像処理装置及び画像処理方法
US20110255589A1 (en) 2009-08-03 2011-10-20 Droplet Technology, Inc. Methods of compressing data and methods of assessing the same
JP2011041037A (ja) 2009-08-12 2011-02-24 Sony Corp 画像処理装置および方法
KR20110017302A (ko) * 2009-08-13 2011-02-21 삼성전자주식회사 움직임 벡터의 정확도 조절을 이용한 영상 부호화, 복호화 방법 및 장치
KR101678968B1 (ko) 2009-08-21 2016-11-25 에스케이텔레콤 주식회사 참조 픽처 보간 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
EP2302588B1 (en) 2009-08-21 2012-02-29 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for estimation of interframe motion fields
KR101441874B1 (ko) 2009-08-21 2014-09-25 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
WO2011021915A2 (ko) 2009-08-21 2011-02-24 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
WO2011046587A1 (en) 2009-10-14 2011-04-21 Thomson Licensing Methods and apparatus for adaptive coding of motion information
US8411750B2 (en) 2009-10-30 2013-04-02 Qualcomm Incorporated Global motion parameter estimation using block-based motion vectors
US20110176611A1 (en) 2010-01-15 2011-07-21 Yu-Wen Huang Methods for decoder-side motion vector derivation
EP2362655B1 (en) 2010-02-10 2013-07-17 Telefonaktiebolaget L M Ericsson (Publ) Motion-vector estimation
US20110200108A1 (en) * 2010-02-18 2011-08-18 Qualcomm Incorporated Chrominance high precision motion filtering for motion interpolation
US9313526B2 (en) 2010-02-19 2016-04-12 Skype Data compression for video
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
US9100661B2 (en) 2010-04-05 2015-08-04 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using dynamic-range transformation, and method and apparatus for decoding video by using dynamic-range transformation
EP2590407A4 (en) 2010-06-04 2017-05-10 Nec Corporation Communication system, method, and device
US20120008686A1 (en) * 2010-07-06 2012-01-12 Apple Inc. Motion compensation using vector quantized interpolation filters
JP5563403B2 (ja) * 2010-08-12 2014-07-30 日本電信電話株式会社 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
RU2010135495A (ru) 2010-08-24 2012-02-27 ЭлЭсАй Корпорейшн (US) Видеотранскодер с гибким управлением качеством и сложностью
US20120051431A1 (en) * 2010-08-25 2012-03-01 Qualcomm Incorporated Motion direction based adaptive motion vector resolution signaling for video coding
JP5855570B2 (ja) 2010-09-30 2016-02-09 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラムおよび集積回路
US10327008B2 (en) * 2010-10-13 2019-06-18 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
US10045046B2 (en) 2010-12-10 2018-08-07 Qualcomm Incorporated Adaptive support for interpolating values of sub-pixels for video coding
JP2012126040A (ja) 2010-12-16 2012-07-05 Ricoh Co Ltd 画像形成装置
US9215473B2 (en) * 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding
TWI466550B (zh) 2011-02-23 2014-12-21 Novatek Microelectronics Corp 多媒體裝置及其移動偵測方法
US9271005B2 (en) 2011-02-24 2016-02-23 Vixs Systems, Inc. Multi-pass video encoder and methods for use therewith
WO2012120863A1 (ja) * 2011-03-08 2012-09-13 パナソニック株式会社 動画像符号化方法および動画像復号方法
US20120236115A1 (en) 2011-03-14 2012-09-20 Qualcomm Incorporated Post-filtering in full resolution frame-compatible stereoscopic video coding
US8780996B2 (en) 2011-04-07 2014-07-15 Google, Inc. System and method for encoding and decoding video data
JP2012231301A (ja) 2011-04-26 2012-11-22 Sony Corp 係数学習装置および方法、画像処理装置および方法、プログラム、並びに記録媒体
EP2727359B1 (en) 2011-06-30 2019-08-07 Telefonaktiebolaget LM Ericsson (publ) A method as well as a decoder and encoder for processing a motion vector
US10536701B2 (en) 2011-07-01 2020-01-14 Qualcomm Incorporated Video coding using adaptive motion vector resolution
US9277228B2 (en) 2011-07-18 2016-03-01 Qualcomm Incorporated Adaptation parameter sets for video coding
US9521418B2 (en) * 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US9288505B2 (en) 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
US20130229485A1 (en) 2011-08-30 2013-09-05 Nokia Corporation Apparatus, a Method and a Computer Program for Video Coding and Decoding
CN102946533B (zh) 2011-09-02 2016-08-17 斯凯普公司 视频编码
CN102946534A (zh) * 2011-09-02 2013-02-27 斯凯普公司 视频编码
RU2487489C2 (ru) 2011-10-18 2013-07-10 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" Способ поиска векторов перемещений в динамических изображениях
KR102211673B1 (ko) 2011-12-16 2021-02-03 벨로스 미디어 인터내셔널 리미티드 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호 방법, 동화상 복호 장치, 및 동화상 부호화 복호장치
US9451252B2 (en) 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
US20130188717A1 (en) 2012-01-20 2013-07-25 Qualcomm Incorporated Motion prediction in svc using partition mode without split flag
US9215266B2 (en) 2012-01-26 2015-12-15 Zoom International S.R.O. System and method for zero-footprint screen capture
US20130287109A1 (en) 2012-04-29 2013-10-31 Qualcomm Incorporated Inter-layer prediction through texture segmentation for video coding
US20130294513A1 (en) 2012-05-07 2013-11-07 Qualcomm Incorporated Inter layer merge list construction for video coding
CN102740073B (zh) 2012-05-30 2015-06-17 华为技术有限公司 一种编码方法及装置
US9253487B2 (en) 2012-05-31 2016-02-02 Qualcomm Incorporated Reference index for enhancement layer in scalable video coding
US9584805B2 (en) 2012-06-08 2017-02-28 Qualcomm Incorporated Prediction mode information downsampling in enhanced layer coding
US9258562B2 (en) 2012-06-13 2016-02-09 Qualcomm Incorporated Derivation of depth map estimate
US9219913B2 (en) 2012-06-13 2015-12-22 Qualcomm Incorporated Inferred base layer block for TEXTURE—BL mode in HEVC based single loop scalable video coding
US9338452B2 (en) * 2012-07-09 2016-05-10 Qualcomm Incorporated Motion vector difference coding extension for enhancement layer
US9674519B2 (en) 2012-11-09 2017-06-06 Qualcomm Incorporated MPEG frame compatible video coding
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
US9774881B2 (en) 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06133299A (ja) * 1992-10-15 1994-05-13 Ricoh Co Ltd 動きベクトル検出方法
JPH1146364A (ja) * 1997-07-28 1999-02-16 Victor Co Of Japan Ltd 動き補償符号化装置、復号化装置、符号化方法及び復号化方法
JPH11262018A (ja) * 1998-03-09 1999-09-24 Victor Co Of Japan Ltd 動き補償符号化装置、動き補償符号化方法、及び動き補償符号記録媒体
JP2006174014A (ja) * 2004-12-15 2006-06-29 Nippon Telegr & Teleph Corp <Ntt> 動きベクトル探索方法,動きベクトル探索装置,動きベクトル探索プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
WO2009088038A1 (ja) * 2008-01-09 2009-07-16 Mitsubishi Electric Corporation 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法

Also Published As

Publication number Publication date
US10735747B2 (en) 2020-08-04
CN105900420A (zh) 2016-08-24
CN110177274A (zh) 2019-08-27
JP6498679B2 (ja) 2019-04-10
CN110149513B (zh) 2022-10-14
RU2682859C1 (ru) 2019-03-21
KR20160106703A (ko) 2016-09-12
US11095904B2 (en) 2021-08-17
CN110149513A (zh) 2019-08-20
US20170359587A1 (en) 2017-12-14
KR20230127361A (ko) 2023-08-31
KR102465021B1 (ko) 2022-11-09
CN110099278B (zh) 2022-10-14
KR20210073608A (ko) 2021-06-18
CA3118603A1 (en) 2015-07-16
KR20220019845A (ko) 2022-02-17
US20150195525A1 (en) 2015-07-09
CA2935340A1 (en) 2015-07-16
US20180131947A1 (en) 2018-05-10
MX2016009025A (es) 2016-09-28
US10681356B2 (en) 2020-06-09
KR102570202B1 (ko) 2023-08-23
US20200329247A1 (en) 2020-10-15
CN110177274B (zh) 2022-10-14
EP3075154A1 (en) 2016-10-05
KR20220153111A (ko) 2022-11-17
KR102360403B1 (ko) 2022-02-08
KR102270095B1 (ko) 2021-06-25
US20230209070A1 (en) 2023-06-29
US9749642B2 (en) 2017-08-29
MX359698B (es) 2018-10-08
WO2015105662A1 (en) 2015-07-16
BR112016015854A2 (pt) 2017-08-08
AU2014376190B2 (en) 2018-12-20
US11638016B2 (en) 2023-04-25
CA2935340C (en) 2023-01-24
BR122022001631B1 (pt) 2023-03-14
US10313680B2 (en) 2019-06-04
CN105900420B (zh) 2019-06-11
US20200177887A1 (en) 2020-06-04
US20190281309A1 (en) 2019-09-12
RU2016127410A (ru) 2018-01-10
US20210337214A1 (en) 2021-10-28
US9900603B2 (en) 2018-02-20
AU2014376190A1 (en) 2016-07-07
CN110099278A (zh) 2019-08-06
BR112016015854B1 (pt) 2023-03-14
BR112016015854A8 (pt) 2020-06-09
EP3075154B1 (en) 2020-03-04

Similar Documents

Publication Publication Date Title
JP6498679B2 (ja) 動きベクトル精度の選択
US11166042B2 (en) Encoding/decoding with flags to indicate switching of color spaces, color sampling rates and/or bit depths
US20220132163A1 (en) Features of base color index map mode for video and image coding and decoding
JP6359101B2 (ja) ビデオ及び画像の符号化及び復号のためのイントラブロックコピー予測モードの特徴
US10735725B2 (en) Boundary-intersection-based deblock filtering
WO2017015312A1 (en) Adaptive skip or zero block detection combined with transform size decision
WO2016205154A1 (en) Intra/inter decisions using stillness criteria and information from previous pictures

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181011

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190313

R150 Certificate of patent or registration of utility model

Ref document number: 6498679

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250