JP2017535145A - 波面並列処理が可能にされた場合のピクチャ内予測モードに関する規則 - Google Patents

波面並列処理が可能にされた場合のピクチャ内予測モードに関する規則 Download PDF

Info

Publication number
JP2017535145A
JP2017535145A JP2017517017A JP2017517017A JP2017535145A JP 2017535145 A JP2017535145 A JP 2017535145A JP 2017517017 A JP2017517017 A JP 2017517017A JP 2017517017 A JP2017517017 A JP 2017517017A JP 2017535145 A JP2017535145 A JP 2017535145A
Authority
JP
Japan
Prior art keywords
current
picture
wpp
intra
previous
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.)
Pending
Application number
JP2017517017A
Other languages
English (en)
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 JP2017535145A publication Critical patent/JP2017535145A/ja
Pending legal-status Critical Current

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/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
    • H04N19/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

様々なイノベーションにより、波面並列処理(「WPP」)が使用可能にされるとき、エンコーダ又はデコーダによって、パレット予測モード、イントラブロックコピーモード、イントララインコピーモード、及びイントラストリングコピーモードなどのピクチャ内予測モードを使用することが容易になる。例えば、パレット符号化/デコーディングモードについて、エンコーダ又はデコーダは、ピクチャの前のWPP行内の前のユニットからの前のパレットデータを使用して、ピクチャの現在のWPP行内の最初のユニットに対するパレットを予測する。或いは、別の例として、イントラコピーモード(例えば、イントラブロックコピーモード、イントラストリングコピーモード、イントララインコピーモード)について、エンコーダが、WPPに起因する1つ以上の制約を強制するか、又はデコーダが、WPPに起因する1つ以上の制約を満たすエンコードされたデータを受信し、デコードする。

Description

エンジニアは、圧縮(ソースコーディング又はソースエンコーディングとも呼ばれる)を使用して、デジタルビデオのビットレートを低減する。圧縮は、情報をより低いビットレート形式へとコンバートすることによって、ビデオ情報の記憶及び伝送のコストを減少させる。伸張(デコーディングとも呼ばれる)は、元の情報のバージョンを圧縮形態から再構成する。「コーデック」は、エンコーダ/デコーダシステムである。
過去25年間にわたり、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)規格を含む、様々なビデオコーデック規格が適合されてきた。更に近年は、H.265/HEVC規格(ITU−T H.265又はISO/IEC 23008−2)が認可されている。H.265/HEVC規格の拡張(例えば、スケーラブルビデオコーディング/デコーディング向け、サンプルビット深度若しくはクロマサンプリングレートに関する忠実度がより高いビデオのコーディング/デコーディング向け、画面キャプチャコンテンツ向け、又はマルチビューコーディング/デコーディング向け)が、現在開発途中である。ビデオコーデック規格は、典型的に、エンコードされたビデオビットストリームのシンタックスに関する選択肢を定義し、特定の特徴がエンコーディング及びデコーディングで使用されるときのビットストリーム内のパラメータを詳述する。多くの場合、ビデオコーデック規格は、デコーディングにおいて適合する結果を達成するのにデコーダが実施するべき、デコーディング動作に関する詳細をさらに提供する。コーデック規格の他に、独自の様々なコーデック形式が、エンコードされたビデオビットストリームのシンタックス及びそれに対応するデコーディング動作に関する他の選択肢を定義している。
波面並列処理(Wavefront parallel processing)(「WPP」)は、H.265/HEVC規格におけるエンコーディング及びデコーディングに利用可能なツールである。WPPが使用可能にされると、ピクチャの一部分が、符号化ツリーユニット(「CTU」)と呼ばれる特別なセクションの行へと分けられる。エンコーディング又はデコーディングの間、CTUの第1の行を、左から右へとCTU毎に処理することができる。CTUの第2の行の処理(エンコーディング又はデコーディング)は、CTUの第1の行の処理が完了するのを待つ必要はない。その代わりに、第1の行のCTUのうちいくつかについて処理が完了した後、このことが第2の行の最初のCTUを処理するときに使用される情報を提供し、第2の行の処理が始まることができる。同様に、第2の行のCTUのうちいくつかについて処理が完了した後、CTUの第3の行の処理が始まることができる。WPPが、CTUの異なる行の並列処理を容易にする。異なるスレッド又は処理コアが、交互的な時間遅延の方式でCTUの異なる行の処理を実施することができる。
イントラブロックコピー(「BC」)は、H.265/HEVCの拡張に関して開発中の予測モードである。イントラBC予測モードの場合、あるピクチャにおける現在のブロックのサンプル値が、同じピクチャにおける事前再構成されたサンプル値を使用して予測される。ブロックベクトル(「BV」)は、ピクチャの現在のブロックから参照ブロックへの変位を示し、参照ブロックは、予測に使用される事前再構成されたサンプル値を含む。BVは、ビットストリームにおいて信号伝達される。イントラBC予測はピクチャ内予測の一形式であり、ピクチャのブロックに対するイントラBC予測は、同じピクチャにおけるサンプル値以外のいずれのサンプル値も使用しない。イントラストリングコピー(「SC」)モード及びイントララインコピー(「LC」)モードは、ピクチャ内予測モードの他の例であり、イントラBCモードと同様に、オフセット値を使用して、予測に使用される事前再構成されたサンプル値におけるある位置への変位を示す。パレット予測モードは、ピクチャ内予測モードの別の例であり、符号化ユニット(「CU」)などのセクション内の色を表すのに使用されるパレットを予測する。H.265/HEVC規格の拡張に関して現在明確にされているように、様々なピクチャ内予測モードが、WPPが使用可能にされるときに有効に使用されていない。
概して、詳細説明は、波面並列処理(「WPP」)が使用可能にされるときのピクチャ内予測モードに対して強制される規則におけるイノベーションを提示する。ビットストリーム内のシンタックス要素が、ビデオシーケンス、ピクチャのセット、又はピクチャに対してWPPが使用可能にされるか否かを示すことができる。イノベーションにより、WPPが使用可能にされるとき、エンコーダ又はデコーダによって、パレット予測モード、イントラブロックコピーモード、イントララインコピーモード、及びイントラストリングコピーモードなどのピクチャ内予測モードを使用することが容易になる。
本明細書に記載するイノベーションの1つの態様によれば、エンコーダは、WPPが使用可能な状態でピクチャをエンコードする。該エンコードは、エンコードされたデータを生成する。パレット符号化モードについて、エンコーダは、ピクチャの前のWPP行における前のユニットからの前のパレットデータを使用して、ピクチャの現在のWPP行における最初のユニットに対するパレットを予測する。エンコーダは、エンコードされたデータをビットストリームの一部として出力する。
対応するデコーダは、エンコードされたデータをビットストリームの一部として受信する。デコーダは、WPPが使用可能な状態で、エンコードされたデータをデコードする。該デコードは、ピクチャを再構成する。パレットデコーディングモードについて、デコーダは、ピクチャの前のWPP行における前のユニットからの前のパレットデータを使用して、ピクチャの現在のWPP行における最初のユニットに対するパレットを予測する。
本明細書に記載するイノベーションの別の態様によれば、エンコーダは、WPPが使用可能な状態でピクチャをエンコードする。該エンコードは、エンコードされたデータを生成する。イントラコピーモード(例えば、イントラブロックコピーモード、イントラストリングコピーモード、イントララインコピーモード)について、エンコーダは、WPPに起因する1つ以上の制約を強制する。エンコーダは、エンコードされたデータをビットストリームの一部として出力する。
対応するデコーダは、エンコードされたデータをビットストリームの一部として受信する。イントラコピーモード(例えば、イントラブロックコピーモード、イントラストリングコピーモード、イントララインコピーモード)について、エンコードされたデータは、WPPに起因する1つ以上の制約を満たす。デコーダは、WPPが使用可能な状態で、エンコードされたデータをデコードする。該デコードは、ピクチャを再構成する。
本イノベーションは、方法の一部として、方法を実施するように構成されたコンピューティングシステムの一部として、又はコンピューティングシステムに方法を実施させるコンピュータ実行可能命令を記憶する有形のコンピュータ読取可能媒体の一部として、実現することができる。様々なイノベーションを組み合わせて、又は別々に使用することができる。本概要は、詳細説明において更に後述する概念のうち選択されたものを簡素化した形式で紹介するために提供するものである。本概要は、請求する対象事項の重要な特徴又は必須の特徴を識別しようとするものではなく、請求する対象事項の範囲を限定するために使用しようとするものでもない。本発明の上記及び他の目的、特徴、並びに利点は、添付図面を参照して進む下記の詳細説明によって、より明白となるであろう。
記載するいくつかの実施形態を実現することができる、例示的なコンピューティングシステムを示す図である。 記載するいくつかの実施形態を実現することができる、例示的なネットワーク環境を示す図である。 記載するいくつかの実施形態を実現することができる、例示的なネットワーク環境を示す図である。 記載するいくつかの実施形態を併せて実現することができる、例示的なエンコーダシステムを示す図である。 記載するいくつかの実施形態を併せて実現することができる、例示的なデコーダシステムを示す図である。 記載するいくつかの実施形態を併せて実現することができる、例示的なビデオエンコーダを示す図である。 記載するいくつかの実施形態を併せて実現することができる、例示的なビデオエンコーダを示す図である。 記載するいくつかの実施形態を併せて実現することができる、例示的なビデオデコーダを示す図である。 WPPのタイミングを示す図である。 WPPが使用可能にされるときに予測に使用することができる再構成されたコンテンツを示す図である。 記載するいくつかの実施形態によるパレット予測の態様を示す図である。 記載するいくつかの実施形態によるパレット予測の態様を示す図である。 記載するいくつかの実施形態による、WPPが使用可能にされるときのパレット予測を用いたエンコードを示すフローチャートである。 記載するいくつかの実施形態による、WPPが使用可能にされるときのパレット予測を用いたデコードを示すフローチャートである。 ピクチャの現在のブロックに対するイントラブロックコピー予測の一例の態様を示す図である。 ピクチャの現在のブロックに対するイントラブロックコピー予測の一例の態様を示す図である。 イントララインコピー予測の一例の態様を示す図である。 イントラストリングコピー予測の一例の態様を示す図である。 ピクチャのユニットに関する例示的なzスキャン順序を示す図である。 記載するいくつかの実施形態による、WPPが使用可能にされるときのイントラコピーモードに関する参照領域の場所に対する制約の一例を示す図である。 記載するいくつかの実施形態による、WPPが使用可能にされるときにイントラコピーモードに対して強制される規則を用いたエンコードを示すフローチャートである。 記載するいくつかの実施形態による、WPPが使用可能にされるときにイントラコピーモードに対して強制される規則を用いたデコードを示すフローチャートである。
本詳細説明は、波面並列処理(wavefront parallel processing)(「WPP」)が使用可能にされるときにピクチャ内(intra-picture)予測モードに対して強制される(enforced)規則におけるイノベーションを提示する。例えば、イノベーションの一部は、WPPが使用可能にされるときのパレットコーディング/デコーディングモードに対するパレットの予測に関する。他のイノベーションが、WPPが使用可能にされるとき、イントラコピーモード(イントラブロックコピーモード、イントララインコピーモード、又はイントラストリングコピーモード)の間に強制される制約に関する。本イノベーションは、WPPが使用可能にされるときのエンコーダ又はデコーダによるピクチャ内予測モードの使用を容易にする。
本明細書に記載する動作は、場合によっては、ビデオエンコーダ又はビデオデコーダによって実施されるものとして記載されるが、多くの場合、別のタイプのメディア処理ツール(例えば、画像エンコーダ又は画像デコーダ)によって動作を実施することができる。
本明細書に記載するイノベーションの一部は、H.265/HEVC規格の拡張に特有の用語を参照して例証される。例えば、H.265/HEVC規格の画面コンテンツコーディング/デコーディングの拡張の草案JCTVC-R1005、“High Efficiency Video Coding(HEVC) Screen Content Coding: Draft 1”、JCTVC-R1005_v2、2014年8月が参照される。本明細書に記載するイノベーションは、他の規格又は方式に対して実現することもできる。
本明細書に記載するイノベーションの多くは、画面キャプチャコンテンツなど、特定の「人工的に作成された」ビデオコンテンツをエンコードするときのレートひずみ性能を改善することができる。一般に、画面キャプチャビデオ(画面コンテンツビデオとも呼ばれる)は、カメラでキャプチャされるビデオコンテンツのみとは対照的に、描画テキスト、コンピュータグラフィックス、アニメーション生成コンテンツ、又はコンピュータディスプレイに描画されるときにキャプチャされる他の類似タイプのコンテンツを含むビデオである。画面キャプチャコンテンツは、典型的に、繰返し構造(例えば、グラフィックス、テキスト文字)を含む。画面キャプチャコンテンツは、通常、高いクロマサンプリング分解能を有するフォーマット(例えば、YUV4:4:4又はRGB4:4:4)でエンコードされるが、さらに、より低いクロマサンプリング分解能を有するフォーマット(例えば、YUV4:2:0)でエンコードされてもよい。画面キャプチャコンテンツのエンコーディング/デコーディングに関する一般のシナリオとしては、リモートデスクトップ会議、並びに加工していない(natural)ビデオ又は他の「混合コンテンツ」ビデオに対するグラフィカルオーバーレイのエンコーディング/デコーディングが挙げられる。本明細書に記載するイノベーションのいくつかは、画面コンテンツビデオ又は他の人工的に作成されたビデオのエンコーディングに適合される。これらのイノベーションは加工していないビデオに使用することもできるが、同じように有効でないことがある。
より一般には、本明細書に記載する例に対する様々な代替例が可能である。例えば、本明細書に記載する方法のいくつかは、記載する方法動作の順序を変更すること、特定の方法動作を分割し、繰返し、又は省略することなどによって、変更することができる。開示する技術の様々な態様は、組み合わせて又は別々に使用することができる。異なる実施形態が、記載するイノベーションの1つ以上を使用する。本明細書に記載するイノベーションのいくつかは、背景技術の項で言及した課題の1つ以上に対処する。典型的に、所与の技術/ツールが、かかる課題の全てを解決するものではない。
I.例示的なコンピューティングシステム
図1は、記載するイノベーションのいくつかが実現されてもよい、適切なコンピューティングシステム(100)の一般化した例を示している。イノベーションは種々の汎用又は専用コンピューティングシステムで実現されてもよいので、コンピューティングシステム(100)は、使用又は機能性の範囲に関して何らかの限定を提案しようとするものではない。
図1を参照すると、コンピューティングシステム(100)は、1つ以上の処理ユニット(110、115)とメモリ(120、125)とを含む。処理ユニット(110、115)はコンピュータ実行可能命令を実行する。処理ユニットは、汎用中央処理ユニット(「CPU」)、特定用途向け集積回路(「ASIC」)内のプロセッサ、又は他の任意のタイプのプロセッサであることができる。マルチ処理システムでは、複数の処理ユニットがコンピュータ実行可能命令を実行して処理力を増加させる。例えば、図1は、中央処理ユニット(110)、並びにグラフィックス処理ユニット又はコプロセシングユニット(115)を示している。有形のメモリ(120、125)は、処理ユニットがアクセス可能な、揮発性メモリ(例えば、レジスタ、キャッシュ、RAM)、不揮発性メモリ(例えば、ROM、EEPROM、フラッシュメモリなど)、又はその2つの何らかの組み合わせであってもよい。メモリ(120、125)は、WPPが使用可能にされるときにピクチャ内予測モードに対して強制される規則の1つ以上のイノベーションを実現するソフトウェア(180)を、処理ユニットが実行するのに適したコンピュータ実行可能命令の形式で記憶する。
コンピューティングシステムは追加の特徴を有してもよい。例えば、コンピューティングシステム(100)は、記憶装置(140)と、1つ以上の入力装置(150)と、1つ以上の出力装置(160)と、1つ以上の通信接続(170)とを含む。バス、コントローラ、又はネットワークなどの相互接続メカニズム(図示なし)が、コンピューティングシステム(100)のコンポーネントを相互接続する。典型的に、オペレーティングシステムソフトウェア(図示なし)が、コンピューティングシステム(100)で実行される他のソフトウェアに対するオペレーティング環境を提供し、コンピューティングシステム(100)のコンポーネントの活動を調整する。
有形の記憶装置(140)は、取外し可能又は取外し不能であってもよく、磁気ディスク、磁気テープ若しくはカセット、CD−ROM、DVD、又は情報を記憶するのに使用することができ、コンピューティングシステム(100)内でアクセスすることができる、他の任意の媒体を含む。記憶装置(140)は、WPPが使用可能にされるときにピクチャ内予測モードに対して強制される規則の1つ以上のイノベーションを実現するソフトウェア(180)の命令を記憶する。
入力装置(150)は、キーボード、マウス、ペン、若しくはトラックボールなどのタッチ入力装置、音声入力装置、スキャニング装置、又はコンピューティングシステム(100)に対する入力を提供する別の装置であってもよい。ビデオの場合、入力装置(150)は、カメラ、ビデオカード、テレビチューナーカード、画面キャプチャモジュール、又はビデオ入力をアナログ若しくはデジタル形式で受け入れる類似の装置、又はビデオ入力をコンピューティングシステム(100)へと読み出すCD−ROM若しくはCD−RWであってもよい。出力装置(160)は、ディスプレイ、プリンタ、スピーカー、CDライター、又はコンピューティングシステム(100)からの出力を提供する別の装置であってもよい。
通信接続(170)は、通信媒体を通じて別のコンピューティングエンティティに対して通信するのを可能にする。通信媒体は、コンピュータ実行可能命令、音声若しくはビデオの入力又は出力、或いは変調データ信号の形式の他のデータなど、情報を搬送する。変調データ信号は、信号中の情報をエンコードするような形で設定又は変更された、その特性のうち1つ以上を有する信号である。例として、非限定的に、通信媒体は、電気、光、RF、又は他のキャリアを使用することができる。
本イノベーションは、コンピュータ読取可能媒体の一般的文脈で説明することができる。コンピュータ読取可能媒体は、コンピューティング環境内でアクセスすることができる、任意の利用可能な有形の媒体である。例として、非限定的に、コンピューティングシステム(100)と共に、コンピュータ読取可能媒体は、メモリ(120、125)、記憶装置(140)、及び上述のいずれかの組み合わせを含む。
本イノベーションは、プログラムモジュールに含まれ、コンピューティングシステム内で対象の実在若しくは仮想プロセッサ上で実行されるものなど、コンピュータ実行可能命令の一般的文脈で説明することができる。一般に、プログラムモジュールは、特定のタスクを実施するか、又は特定の抽象データタイプを実現する、ルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などを含む。プログラムモジュールの機能性は、様々な実施形態で所望に応じて、プログラムモジュール間で組み合わされるか又は分割されてもよい。プログラムモジュールのコンピュータ実行可能命令は、ローカル又は分散型コンピューティングシステム内で実行されてもよい。
「システム」及び「装置」という用語は、本明細書では交換可能に使用される。文脈による別段の明確な指示がない限り、どちらの用語もコンピューティングシステム又はコンピューティング装置のタイプに対する何らかの限定を示唆しない。一般に、コンピューティングシステム又はコンピューティング装置は、ローカル若しくは分散型であることができ、専用ハードウェア及び/又は汎用ハードウェアと、本明細書に記載の機能性を実現するソフトウェアとの任意の組み合わせを含むことができる。
記載する方法はまた、開示する方法のいずれかを実施するように構成された専用のコンピューティングハードウェアを使用して実現することができる。例えば、開示する方法は、開示する方法のいずれかを実現するように特別に設計若しくは構成された、集積回路(例えば、ASICデジタル信号プロセッサ(「DSP」)などのASIC、グラフィックス処理ユニット(「GPU」)、又はフィールドプログラマブルゲートアレイ(「FPGA」)などのプログラマブル論理装置(「PLD」))によって実現することができる。
提示の目的で、本詳細説明は、「決定する」及び「使用する」のような用語を使用して、コンピューティングシステムにおけるコンピュータ動作について記載する。これらの用語は、コンピュータによって実施される動作に関する高次の抽象化であり、人間が行う行為と混同すべきでない。これらの用語に対応する実際のコンピュータ動作は実装に応じて変動する。
II.例示的なネットワーク環境
図2a及び図2bは、ビデオエンコーダ(220)及びビデオデコーダ(270)を含む例示的なネットワーク環境(201、202)を示している。エンコーダ(220)及びデコーダ(270)は、適切な通信プロトコルを使用してネットワーク(250)を通じて接続される。ネットワーク(250)は、インターネット又は別のコンピュータネットワークを含むことができる。
図2aに示されるネットワーク環境(201)では、各リアルタイム通信(「RTC」)ツール(210)が、双方向通信のためにエンコーダ(220)及びデコーダ(270)の両方を含む。所与のエンコーダ(220)が、H.265/HEVC規格、SMPTE 421M規格、ISO/IEC 14496−10規格(H.264若しくはAVCとしても知られる)、別の規格、又は独自のフォーマットの変形又は拡張に準拠した出力を生成することができ、対応するデコーダ(270)が、エンコードされたデータをエンコーダ(220)から受け入れる。双方向通信は、ビデオ会議、ビデオ電話コール、又は他の二者若しくは多数(multi-party)通信シナリオの一部であることができる。図2aのネットワーク環境(201)は2つのリアルタイム通信ツール(210)を含むが、ネットワーク環境(201)はその代わりに、多数通信に関与する3つ以上のリアルタイム通信ツール(210)を含むことができる。
リアルタイム通信ツール(210)はエンコーダ(220)によるエンコーディングを管理する。図3は、リアルタイム通信ツール(210)に含むことができる例示的なエンコーダシステム(300)を示している。或いは、リアルタイム通信ツール(210)は別のエンコーダシステムを使用する。リアルタイム通信ツール(210)はまた、デコーダ(270)によるデコーディングを管理する。図4は、リアルタイム通信ツール(210)に含むことができる例示的なデコーダシステム(400)を示している。或いは、リアルタイム通信ツール(210)は別のデコーダシステムを使用する。
図2bに示されるネットワーク環境(202)では、エンコーディングツール(212)は、デコーダ(270)を含む複数の再生ツール(214)に配信するためにビデオをエンコードするエンコーダ(220)を含む。単方向通信は、ビデオ監視システム、ウェブカメラ監視システム、リモートデスクトップ会議プレゼンテーション、又はビデオがエンコードされ、1つの場所から他の1つ以上の場所に送られる他のシナリオのために提供することができる。図2bのネットワーク環境(202)は2つの再生ツール(214)を含むが、ネットワーク環境(202)は、より多数又はより少数の再生ツール(214)を含むことができる。一般に、再生ツール(214)は、エンコーディングツール(212)と通信して、再生ツール(214)が受信するビデオのストリームを決定する。再生ツール(214)は、ストリームを受信し、受信したエンコードされたデータを適切な期間の間バッファし、デコーディング及び再生を開始する。
図3は、エンコーディングツール(212)に含むことができる例示的なエンコーダシステム(300)を示している。或いは、エンコーディングツール(212)は別のエンコーダシステムを使用する。エンコーディングツール(212)はまた、1つ以上の再生ツール(214)との接続を管理するためのサーバ側コントローラ論理を含むことができる。図4は、再生ツール(214)に含むことができる例示的なデコーダシステム(400)を示している。或いは、再生ツール(214)は別のデコーダシステムを使用する。再生ツール(214)はまた、エンコーディングツール(212)との接続を管理するためのクライアント側コントローラ論理を含むことができる。
III.例示的なエンコーダシステム
図3は、記載するいくつかの実施形態が併せて実現されてもよい、例示的なエンコーダシステム(300)のブロック図である。エンコーダシステム(300)は、リアルタイム通信向けの低レイテンシエンコーディングモード、トランスコーディングモード、ファイル若しくはストリームからの再生向けにメディアを生成するより高いレイテンシのエンコーディングモードなど、複数のエンコーディングモードのいずれかで動作することができる、汎用エンコーディングツールであることができ、又は1つのかかるエンコーディングモードに適合された専用エンコーディングツールであることができる。エンコーダシステム(300)は、特定タイプのコンテンツ(例えば、画面キャプチャコンテンツ)のエンコーディングに適合させることができる。エンコーダシステム(300)は、オペレーティングシステムモジュールの一部として、アプリケーションライブラリの一部として、スタンドアロン型アプリケーションの一部として、又は専用ハードウェアを使用して実現することができる。概して、エンコーダシステム(300)は、ソースビデオピクチャ(311)のシーケンスをビデオソース(310)から受信し、エンコードされたデータをチャネル(390)に対する出力として生成する。チャネルに対して出力されるエンコードされたデータは、WPPが使用可能にされるときにピクチャ内予測モードに対して強制される規則を使用してエンコードされるコンテンツを含むことができる。
ビデオソース(310)は、カメラ、チューナーカード、記憶媒体、画面キャプチャモジュール、又は他のデジタルビデオソースであることができる。ビデオソース(310)は、ビデオピクチャのシーケンスを、例えば1秒当たり30フレームのフレームレートで生成する。本明細書で使用するとき、「ピクチャ」という用語は一般に、ソースの符号化され又は再構成された画像データを指す。プログレッシブスキャンビデオの場合、ピクチャはプログレッシブスキャンビデオフレームである。インターレースビデオの場合、例示的な実施形態では、インターレースビデオフレームはエンコーディングの前にインターレース解除されてもよい。或いは、2つの補完的なインターレースビデオフィールドが、単一のビデオフレームとして一緒にエンコードされるか、又は2つの別個にエンコードされるフィールドとしてエンコードされる。プログレッシブスキャンビデオフレーム又はインターレーススキャンビデオフレームを示す他に、「ピクチャ」という用語は、単一の非ペアビデオフィールド、補完的なビデオフィールドのペア、所与の時間のビデオオブジェクトを表すビデオオブジェクトプレーン、又はより大きい画像の関心領域を示すことができる。ビデオオブジェクトプレーン又は領域は、シーンの複数のオブジェクト又は領域を含む、より大きい画像の一部であることができる。
到着するソースピクチャ(311)は、複数のピクチャバッファ記憶エリア(321、322、…、32n)を含むソースピクチャ一時メモリ記憶エリア(320)に記憶される。ピクチャバッファ(321、322など)は、1つのソースピクチャをソースピクチャ記憶エリア(320)で保持する。ソースピクチャ(311)の1つ以上がピクチャバッファ(321、322など)に記憶された後、ピクチャセレクタ(330)が個々のソースピクチャをソースピクチャ記憶エリア(320)から選択する。ピクチャが、エンコーダ(340)への入力のためにピクチャセレクタ(330)によって選択される順序は、ピクチャがビデオソース(310)によって生成される順序とは異なっていてもよく、例えば、いくつかのピクチャのエンコードの順序が遅らされて、いくつかの後のピクチャが最初にエンコードされることを可能にし、結果として時間的後方予測を容易にしてもよい。エンコーダ(340)の前に、エンコーダシステム(300)は、エンコードする前に選択されたピクチャ(311)の前処理(例えば、フィルタリング)を実施するプリプロセッサ(図示なし)を含むことができる。前処理は、一次(例えば、ルマ)及び二次(例えば、赤色及び青色に向かうクロマ差)成分への色空間コンバージョン、並びにエンコーディングのためのリサンプリング処理(例えば、クロマ成分の空間分解能を低減する)を含むことができる。エンコードの前に、ビデオは、YUVなどの色空間にコンバートされてもよく、これにおいて、ルマ(Y)成分のサンプル値が明るさ又は明度値を表し、クロマ(U、V)成分のサンプル値が色差値を表す。色差値の精密な定義(及びYUV色空間とRGBなどの別の色空間との間でのコンバージョン動作)は、実装に依存する。一般に、本明細書で使用するとき、YUVという用語は、Y’UV、YIQ、Y’IQ、及びYDbDr、並びにYCbCr及びYCoCgなどの変形を含む、ルマ(又は、輝度)成分と1つ以上のクロマ(又は、クロミナンス)成分とを有する任意の色空間を示す。クロマサンプル値は、より低いクロマサンプリングレートへとサブサンプリングされてもよく(例えば、YUV4:2:0フォーマットの場合)、又はクロマサンプル値は、ルマサンプル値と同じ分解能を有してもよい(例えば、YUV4:4:4フォーマットの場合)。或いは、ビデオを別のフォーマット(例えば、RGB4:4:4フォーマット、GBR4:4:4フォーマット、又はBGR4:4:4フォーマット)でエンコードすることができる。特に、画面コンテンツビデオは、RGB4:4:4フォーマット、GBR4:4:4フォーマット、又はBGR4:4:4フォーマットでエンコードされてもよい。
エンコーダ(340)は、選択されたピクチャ(331)をエンコードして、符号化されたピクチャ(341)を生成し、また、メモリ管理制御動作(「MMCO」)信号(342)又は参照ピクチャセット(「RPS」)情報を生成する。RPSは、現在ピクチャ又は任意の後続ピクチャに対する動き補償において参照のために使用されてもよい、ピクチャのセットである。現在ピクチャが、エンコードされている第1のピクチャでない場合、そのエンコーディング処理を実施するとき、エンコーダ(340)は、デコード済みピクチャ一時メモリ記憶エリア(360)に記憶されている1つ以上の事前にエンコードされ/デコードされたピクチャ(369)を使用してもよい。かかる記憶されているエンコードされたピクチャ(369)は、現在のソースピクチャ(331)のコンテンツをピクチャ間(inter-picture)予測するための参照ピクチャとして使用される。MMCO/RPS情報(342)は、デコーダに対して、どの再構成されたピクチャが参照ピクチャとして使用されてもよく、従ってピクチャ記憶エリアに記憶されるべきであるかを示す。
一般に、エンコーダ(340)は、タイルへの区分化、ピクチャ内予測推定及び予測、動き推定及び補償、周波数変換、量子化、並びにエントロピー符号化などのエンコーディングタスクを実施する複数のエンコーディングモジュールを含む。エンコーダ(340)によって実施される正確な動作は、圧縮フォーマットに依存して変動し得る。出力されるエンコードされたデータのフォーマットは、H.265/HEVCフォーマット、ウィンドウズ(登録商標)メディアビデオフォーマット、VC−1フォーマット、MPEG−xフォーマット(例えば、MPEG−1、MPEG−2、若しくはMPEG−4)、H.26xフォーマット(例えば、H.261、H.262、H.263、H.264)、又は別のフォーマットの変形若しくは拡張であり得る。
エンコーダ(340)は、ピクチャを同じサイズ又は異なるサイズの複数のタイルへと区分することができる。例えば、エンコーダ(340)は、ピクチャ境界と共にピクチャ内のタイルの水平及び垂直方向の境界を画成する、タイル行及びタイル列に沿ってピクチャを分割し、各タイルは長方形領域である。タイルは、並列処理に関する選択肢を提供するのに使用される場合が多い。ピクチャはまた、1つ以上のスライスとして編成することができ、スライスはピクチャ全体又はピクチャのセクションであることができる。スライスは、ピクチャ内の他のスライスとは独立してデコードすることができ、それによって誤り耐性が改善される。スライス又はタイルのコンテンツは、エンコーディング及びデコーディングの目的のため、サンプル値のブロック又は他のセットへと更に区分される。特定ブロックの行(例えば、H.265/HEVC規格に従ったスライスの符号化ツリーユニットの行)を、以下で更に説明するように、WPPを使用して並列してエンコードすることができる。
H.265/HEVC規格に従ったシンタックスの場合、エンコーダは、ピクチャ(又はスライス若しくはタイル)のコンテンツを符号化ツリーユニットへと分割する。符号化ツリーユニット(「CTU」)は、ルマ符号化ツリーブロック(「CTB」)として編成されるルマサンプル値と、それに対応する、2つのクロマCTBとして編成されるクロマサンプル値とを含む。CTU(及びそのCTB)のサイズはエンコーダによって選択される。ルマCTBは、例えば、64×64、32×32、又は16×16のルマサンプル値を含むことができる。CTUは1つ以上の符号化ユニットを含む。符号化ユニット(「CU」)は、ルマ符号化ブロック(「CB」)及び2つの対応するクロマCBを有する。例えば、64×64ルマCTB及び2つの64×64クロマCTBを有するCTU(YUV4:4:4フォーマット)を、4つのCUへと分割することができ、各CUは、32×32ルマCB及び2つの32×32クロマCBを含み、各CUは、場合によってはより小さいCUへと更に分割される。或いは、別の例として、64×64ルマCTB及び2つの32×32クロマCTBを有するCTU(YUV4:2:0フォーマット)を、4つのCUへと分割することができ、各CUは、32×32ルマCB及び2つの16×16クロマCBを含み、各CUは、場合によってはより小さいCUへと更に分割される。CUの最小許容可能サイズ(例えば、8×8、16×16)がビットストリーム内で信号伝達されることができる。
一般に、CUはインター又はイントラなどの予測モードを有する。CUは、予測情報(予測モード詳細、変位値など)の信号伝達、及び/又は予測処理の目的で、1つ以上の予測ユニットを含む。予測ユニット(「PU」)は、ルマ予測ブロック(「PB」)及び2つのクロマPBを有する。H.265/HEVC規格に従って、イントラ予測されるCUの場合、CUが最小サイズ(例えば、8×8)を有さない限り、PUはCUと同じサイズを有する。その場合、CUは4つのより小さいPUへと分割することができ(例えば、ピクチャ内予測での最小CUサイズが8×8の場合、それぞれ4×4)、又はPUは、CUのシンタックス要素によって示されるように、最小CUサイズを有することができる。しかしながら、イントラBC予測で使用される対称又は非対称区分化の場合、より大きいCUを複数のPUへと分割することができる。
CUは、残差のコーディング/デコーディングを目的とする1つ以上の変換ユニットをさらに有し、その場合、変換ユニット(「TU」)はルマ変換ブロック(「TB」)及び2つのクロマTBを有する。イントラ予測CUのPUは、単一のTU(PUにサイズが等しい)又は複数のTUを含んでもよい。エンコーダは、ビデオをどのようにして、CTU、CU、PU、TUなどへと区分するかを決める。
H.265/HEVCの実装では、スライスは、単一のスライスセグメント(独立スライスセグメント)を含むことができ、又は複数のスライスセグメント(独立スライスセグメント及び1つ以上の従属スライスセグメント)へと分けることができる。スライスセグメントは、タイルスキャンにおいて連続して順序付けられた整数のCTUであり、単一のネットワーク抽象化レイヤ(「NAL」)ユニットに含まれる。独立スライスセグメントの場合、スライスセグメントヘッダが、独立スライスセグメントに該当するシンタックス要素の値を含む。従属スライスセグメントの場合、切り詰められたスライスセグメントヘッダが、その従属スライスセグメントに該当するシンタックス要素のいくつかの値を含み、従属スライスセグメントに対する他のシンタックス要素の値は、デコーディング順序において前の独立スライスセグメントの値から推論される。
本明細書で使用するとき、「ブロック」という用語は、文脈に応じて、マクロブロック、残差データユニット、CB、PB、若しくはTB、又は他の何らかのサンプル値のセットを示すことができる。「ユニット」という用語は、文脈に応じて、マクロブロック、CTU、CU、PU、TU、又は他の何らかのブロックのセットを示すことができ、或いは単一のブロックを示すことができる。
図3に戻ると、エンコーダは、ソースピクチャ(331)のイントラ符号化されたブロック、ライン、又はストリングを、そのピクチャ(331)における他の事前に再構成されたサンプル値からの予測という観点で表す。イントラコピー予測の場合、ピクチャ内推定器が、現在のブロック、ライン、又はストリングから、他の事前に再構成されたサンプル値における位置への変位を推定する。ピクチャ内のサンプル値の参照ブロック、ライン、又はストリングが、現在のブロック、ライン、又はストリングに対する予測値を作り出すのに使用される。例えば、イントラブロックコピー(「BC」)予測の場合、ピクチャ内推定器が、現在のブロックから、ピクチャ内の事前に再構成されたサンプル値におけるある位置への変位を推定する。参照ブロックが、現在のブロックに対するBC予測値を提供する、ピクチャ内のサンプル値のブロックである。参照ブロックは、ブロックベクトル(「BV」)値(BV推定で決定される)で示すことができる。別の例として、イントララインコピー(「LC」)予測の場合、ピクチャ内推定器が、(現在のブロックの)現在のラインから、ピクチャ内の事前に再構成されたサンプル値におけるある位置への変位を推定する。参照ラインが、現在のラインに対するLC予測値を提供する、ピクチャ内のサンプル値のラインである。参照ラインは、現在のラインから参照ラインへの変位を示すオフセット値で示すことができる。別の例として、イントラストリングコピー(「SC」)予測の場合、ピクチャ内推定器が、(現在のブロックの)現在のストリングから、ピクチャ内の事前に再構成されたサンプル値におけるある位置への変位を推定する。参照ストリングが、現在のストリングに対するSC予測値を作り出すのに使用される、ピクチャ内の一連のサンプル値である。参照ストリングは、オフセット値(現在のストリングから参照ストリングへの変位を示す)、及びストリング長さ値で示すことができる。実装に依存して、エンコーダは、入力されたサンプル値又は再構成されたサンプル値(同じピクチャの事前にエンコードされたサンプル値)を使用して、ブロック、ライン、又はストリングのオフセット推定を実施することができる。WPPが使用可能にされると、ピクチャ内推定器は、後述するように、参照領域の場所に対する制約と整合する変位(例えば、イントラBC予測のBV値に対して、又はイントラSC予測若しくはイントラLC予測のオフセット値に対して)を決定することができる。
ブロックに対するイントラ空間予測の場合、ピクチャ内推定器は、隣接する再構成されたサンプル値のブロックへの補外を推定する。
ピクチャ内推定器は、予測情報(イントラBC予測に対するBV値、イントラLC予測若しくはイントラSC予測に対するオフセット値、又はイントラ空間予測に対する予測モード(方向))を出力することができ、これはエントロピー符号化される。ピクチャ内予測予測器が、予測情報を適用してイントラ予測値を決定する。
パレット符号化モード(palette coding mode)の場合、エンコーダ(340)は、CU、又はパレットを使用する他のユニットの、サンプル値の少なくとも一部を表現する。パレットは、ユニットで使用される色を表す。例えば、パレットは、インデックス値0、1、2、…、pを対応する色に対してマッピングする。ユニットをエンコードする間、適切なインデックス値が、ユニット内の位置におけるサンプル値に取って代わる(replace)。ユニット内のレア値は、パレットのインデックス値を使用する代わりに、エスケープコード値及びリテラル値を使用してエンコードすることができる。パレットはユニット毎に変更することができ、パレットを指定する情報はビットストリーム内で信号伝達することができる。
エンコーダ(340)は、参照ピクチャからの予測という点で、ソースピクチャ(331)のピクチャ間符号化された予測ブロックを表す。動き推定器が、1つ以上の参照ピクチャ(369)に対するブロックの動きを推定する。複数の参照ピクチャが使用される場合、複数の参照ピクチャは、異なる時間方向又は同じ時間方向からのものであり得る。動き補償された予測参照領域が、現在ピクチャのサンプル値のブロックに対して動き補償された予測値を作り出すのに使用される、参照ピクチャ内のサンプル値の領域である。動き推定器は、動きベクトル(「MV」)情報などの動き情報を出力し、これはエントロピー符号化される。動き補償器は、MVを参照ピクチャ(369)に適用して、ピクチャ間予測に対する動き補償された予測値を決定する。
エンコーダは、ブロックの予測値(イントラ又はインター)と対応する元の値との間の差(ある場合)を決定することができる。これらの予測残差値は、周波数変換(周波数変換がスキップされない場合)、量子化、及びエントロピーエンコーディングを使用して更にエンコードされる。例えば、エンコーダ(340)は、ピクチャ、タイル、スライス、及び/又はビデオの他の部分に対する量子化パラメータ(「QP」)の値を設定し、変換係数を適宜量子化する。エンコーダ(340)のエントロピー符号器は、量子化された変換係数値、並びに特定のサイド情報(例えば、MV情報、BV情報、QP値、モード判断、パラメータ選択)を圧縮する。典型的なエントロピー符号化技術としては、指数ゴロム符号化、ゴロムライス符号化、算術符号化、差分符号化、ハフマン符号化、ランレングス符号化、可変長対可変長(「V2V」)符号化、可変長対固定長(「V2F」)符号化、レンペルジブ(「LZ」)符号化、辞書符号化、確率区間区分エントロピー符号化(「PIPE」)、及び上記の組み合わせが挙げられる。エントロピー符号器は、異なる種類の情報に対して異なる符号化技術を使用することができ、複数の技術を組み合わせて適用することができ(例えば、ゴロムライス符号化の後に算術符号化を適用することによる)、特定の符号化技術内の複数のコードテーブルの中から選ぶことができる。いくつかの実装では、周波数変換はスキップすることができる。この場合、予測残差値を量子化しエントロピー符号化することができる。パレット符号化モードが使用される場合、エントロピー符号器はパレットデータをエンコードすることができる。エンコーダ(340)は、後述するようにパレット予測を使用することができる。
適応デブロッキングフィルタが、エンコーダ(340)の動き補償ループ内に含まれて(即ち、「インループ」フィルタリング)、デコードされたピクチャにおけるブロック境界の行及び/又は列にわたる不連続性を平滑化する。その代わりに、又はそれに加えて、他のフィルタリング(デリンギングフィルタリング、適応ループフィルタリング(「ALF」)、又はサンプル適応オフセット(「SAO」)フィルタリングなど、図示なし)を、インループフィルタリング動作として適用することができる。
エンコーダ(340)によって生成されるエンコードされたデータは、ビットストリームシンタックスの様々なレイヤに対するシンタックス要素を含む。H.265/HEVC規格に従ったシンタックスの場合、例えば、ピクチャパラメータセット(「PPS」)が、ピクチャに関連付けられてもよいシンタックス要素を含むシンタックス構造である。PPSは単一のピクチャに使用することができ、又はPPSは、シーケンス内の複数ピクチャに対して再使用することができる。PPSは、典型的に、ピクチャに対するエンコードされたデータとは別個で信号伝達される(例えば、PPSに対する1つのネットワーク抽象化レイヤ(「NAL」)ユニット、及びピクチャのエンコードされたデータに対する1つ以上の他のNALユニット)。ピクチャのエンコードされたデータ内において、シンタックス要素が、どのPPSをピクチャに使用するかを示す。同様に、H.265/HEVC規格に従ったシンタックスの場合、シーケンスパラメータセット(「SPS」)が、ピクチャのシーケンスに関連付けられてもよいシンタックス要素を含むシンタックス構造である。ビットストリームは単一のSPS又は複数のSPSを含むことができる。SPSは、典型的に、シーケンスに対する他のデータとは別個で信号伝達され、他のデータ内のシンタックス要素が、どのSPSを使用するかを示す。
符号化されたピクチャ(341)及びMMCO/RPS情報(342)(又は、ピクチャに対する依存関係及び順序構造がエンコーダ(340)で既に知られていることによる、MMCO/RPS情報(342)と等価の情報)は、デコーディング処理エミュレータ(350)によって処理される。デコーディング処理エミュレータ(350)は、デコーダの機能性の一部、例えば、参照ピクチャを再構成するデコーディングタスクを実現する。MMCO/RPS情報(342)と整合する仕方で、デコーディング処理エミュレータ(350)は、エンコードされる後続ピクチャのピクチャ間予測における参照ピクチャとして使用するために、所与の符号化されたピクチャ(341)が再構成され記憶される必要があるか否かを決定する。符号化されたピクチャ(341)が記憶される必要がある場合、デコーディング処理エミュレータ(350)は、符号化されたピクチャ(341)を受信し、対応するデコードされたピクチャ(351)を生成するデコーダによって行われるであろうデコーディング処理を、モデル化する。それを行う際、エンコーダ(340)が、デコード済みピクチャ記憶エリア(360)に記憶されているデコードされたピクチャ(369)を使用している場合、デコーディング処理エミュレータ(350)は、記憶エリア(360)からのデコードされたピクチャ(369)をデコーディング処理の一部としてさらに使用する。
デコード済みピクチャ一時メモリ記憶エリア(360)は、複数のピクチャバッファ記憶エリア(361、362、…、36n)を含む。MMCO/RPS情報(342)と整合する仕方で、デコーディング処理エミュレータ(350)は、記憶エリア(360)のコンテンツを管理して、エンコーダ(340)による参照ピクチャとしての使用にもはや必要とされないピクチャを有する任意のピクチャバッファ(361、362など)を識別する。デコーディング処理のモデル化の後、デコーディング処理エミュレータ(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)は、シンタックス要素をプロトコルのシンタックスの一部として追加することができる。チャネルエンコーダ(380)は、チャネル(390)に対する出力を提供し、該チャネルは、記憶装置、通信接続、又は出力のための別のチャネルを表す。チャネルエンコーダ(380)又はチャネル(390)は、例えば、前方誤り訂正(「FEC」)エンコーディング及びアナログ信号変調のための、他の要素(図示なし)をさらに含んでもよい。
IV.例示的なデコーダシステム
図4は、記載するいくつかの実施形態が併せて実現されてもよい、例示的なデコーダシステム(400)のブロック図である。デコーダシステム(400)は、リアルタイム通信向けの低レイテンシデコーディングモード、及びファイル若しくはストリームからのメディア再生向けのより高いレイテンシのデコーディングモードなど、複数のデコーディングモードのいずれかで動作することができる、汎用デコーディングツールであることができ、又は1つのかかるデコーディングモードに適合された専用デコーディングツールであることができる。デコーダシステム(400)は、オペレーティングシステムモジュールの一部として、アプリケーションライブラリの一部として、スタンドアロン型アプリケーションの一部として、又は専用ハードウェアを使用して実現することができる。概して、デコーダシステム(400)は、符号化されたデータをチャネル(410)から受信し、再構成されたピクチャを出力先(490)に対する出力として生成する。受信するエンコードされたデータは、WPPが使用可能にされるときにピクチャ内予測モードに対して強制される規則を使用してエンコードされたコンテンツを含むことができる。
デコーダシステム(400)は、チャネル(410)を含み、該チャネルは、記憶装置、通信接続、又は入力としての符号化されたデータに対する別のチャネルを表すことができる。チャネル(410)は、チャネル符号化されている符号化されたデータを生成する。チャネルデコーダ(420)は、符号化されたデータを処理することができる。例えば、チャネルデコーダ(420)は、(例えば、ITU−T H.222.0|ISO/IEC 13818−1などのメディアプログラムストリーム若しくはトランスポートストリームフォーマット、又はIETF RFC 3550などのインターネットリアルタイムトランスポートプロトコルフォーマットに従って)伝送又は記憶のためにメディアストリームとして集約されているデータをパケット化解除し(de-packetizes)及び/又は多重分離し(demultiplexes)、その場合、チャネルデコーダ(420)は、メディア伝送ストリームのシンタックスの一部として追加されたシンタックス要素を構文解析する(parse)ことができる。或いは、チャネルデコーダ(420)は、(例えば、ISO/IEC 11496−12などのメディアコンテナフォーマットに従って)記憶のためにファイルとして集約されている符号化されたビデオデータを分離し、その場合、チャネルデコーダ(420)は、メディア記憶ファイルのシンタックスの一部として追加されたシンタックス要素を構文解析することができる。或いは、より一般には、チャネルデコーダ(420)は、1つ以上のメディアシステム多重分離プロトコル又はトランスポートプロトコルを実現することができ、その場合、チャネルデコーダ(420)は、プロトコルのシンタックスの一部として追加されたシンタックス要素を構文解析することができる。チャネル(410)又はチャネルデコーダ(420)は、例えば、FECデコーディング及びアナログ信号変調のための、他の要素(図示なし)をさらに含んでもよい。
チャネルデコーダ(420)から出力される符号化されたデータ(421)は、十分な量のかかるデータが受信されるまで、一時符号化済みデータエリア(430)に記憶される。符号化されたデータ(421)は、符号化されたピクチャ(431)及びMMCO/RPS情報(432)を含む。符号化済みデータエリア(430)の符号化されたデータ(421)は、基本の符号化されたビデオビットストリームのシンタックスの一部として、1つ以上のピクチャに対する符号化されたデータを含む。符号化済みデータエリア(430)の符号化されたデータ(421)は、エンコードされたビデオデータに関連するメディアメタデータを(例えば、1つ以上のSEIメッセージ又はVUIメッセージにおける1つ以上のパラメータとして)さらに含むことができる。
一般に、符号化済みデータエリア(430)は、符号化されたデータ(421)がデコーダ(450)によって使用されるまで、かかる符号化されたデータ(421)を一時的に記憶する。その時点で、符号化されたピクチャ(431)及びMMCO/RPS情報(432)に対する符号化されたデータは、符号化済みデータエリア(430)からデコーダ(450)に転送される。デコーディングが続くにつれて、新しい符号化されたデータが符号化済みデータエリア(430)に追加され、符号化済みデータエリア(430)に残っている最も古い符号化されたデータがデコーダ(450)に転送される。
デコーダ(450)は、符号化されたピクチャ(431)をデコードして、対応するデコードされたピクチャ(451)を生成する。ピクチャは、同じサイズ又は異なるサイズの複数のタイルへと区分することができる。ピクチャはまた、1つ以上のスライスとして編成することができる。スライス又はタイルのコンテンツは、サンプル値のブロック又は他のセットへと更に区分することができる。WPPが使用可能な状態で(WPPを使用して、或いはデコーディングの間WPPを使用するのと整合した仕方で)ピクチャがエンコードされた場合、更に後述するように、特定ブロックの行(例えば、H.265/HEVC規格に従ったCTUの行)を、WPPを使用して並列してデコードすることができる。
必要に応じて、デコーダ(450)は、そのデコード処理を実施しているとき、1つ以上の事前にデコードされたピクチャ(469)をピクチャ間予測の参照ピクチャとして使用してもよい。デコーダ(450)は、かかる事前にデコードされたピクチャ(469)を、デコード済みピクチャ一時メモリ記憶エリア(460)から読み出す。一般に、デコーダ(450)は、エントロピーデコーディング、ピクチャ内予測、動き補償されたピクチャ間予測、逆量子化、逆周波数変換(スキップしない場合)、及びタイルのマージなどのデコーディングタスクを実施する、複数のデコーディングモジュールを含む。デコーダ(450)によって実施される正確な動作は、圧縮フォーマットに依存して変動し得る。
例えば、デコーダ(450)は、圧縮されたピクチャ又はピクチャのシーケンスに対するエンコードされたデータを受信し、デコードされたピクチャ(451)を含む出力を生成する。デコーダ(450)では、バッファが、圧縮されたピクチャに対するエンコードされたデータを受信し、適時に、受信したエンコードされたデータをエントロピーデコーダに対して利用可能にする。エントロピーデコーダは、エントロピー符号化された量子化されたデータ並びにエントロピー符号化されたサイド情報をエントロピーデコードし、典型的に、エンコーダで実施されるエントロピーエンコーディングの逆を適用する。パレットデコーディングモード(palette decoding mode)が使用される場合、エントロピーデコーダはパレットデータをデコードすることができる。デコーダ(450)は、後述するようにパレット予測を使用することができる。
動き補償器が、動き情報を1つ以上の参照ピクチャに適用して、再構成されているピクチャの任意のインター符号化されたブロックに対して動き補償された予測値を形成する。ピクチャ内予測モジュールが、隣接する事前再構成されたサンプル値から、現在のブロックのサンプル値を空間予測することができる。或いは、イントラBC予測、イントラLC予測、又はイントラSC予測の場合、ピクチャ内予測モジュールは、変位値で示されるピクチャの参照ブロック、ライン、又はストリングの事前に再構成されたサンプル値を使用して、現在のブロック、ライン、又はストリングのサンプル値を予測することができる。具体的には、参照ブロック/ライン/ストリングは、BV値(イントラBC予測の場合)、オフセット値(イントラLC予測の場合)、又はオフセット値及びストリング長さ値(イントラSC予測の場合)を用いて示すことができる。WPPが使用可能にされると、変位(例えば、イントラBC予測のBV値に対して、又はイントラSC予測若しくはイントラLC予測のオフセット値に対して)は、後述するように、参照領域の場所に対する制約と整合する。
デコーダ(450)はさらに、予測残差値を再構成する。逆量子化器が、エントロピーデコードされたデータを逆量子化する。例えば、デコーダ(450)は、ビットストリーム内のシンタックス要素に基づいて、ピクチャ、タイル、スライス、及び/又はビデオの他の部分に対するQPの値を設定し、変換係数を適宜逆量子化する。逆周波数変換器が、量子化された周波数ドメインデータを空間ドメインデータへとコンバートする。いくつかの実装では、周波数変換をスキップすることができ、その場合、逆周波数変換もスキップされる。その場合、予測残差値をエントロピーデコードし、逆量子化することができる。ピクチャ間予測されたブロックに対して、デコーダ(450)は、再構成した予測残差値を動き補償された予測値と組み合わせる。デコーダ(450)は、同様に、予測残差値をピクチャ内予測からの予測値と組み合わせることができる。
パレットデコーディングモードの場合、デコーダ(450)は、CU又は他のユニットのサンプル値の少なくとも一部を表すパレットを使用する。パレットは、インデックス値を対応する色に対してマッピングする。デコーディングの間、ユニット内の位置に関して、パレットからのインデックス値が適切なサンプル値で置き換えられる(replaced)。ユニットのエスケープ符号化値が、エスケープコード値及びリテラル値を使用してデコードされることができる。パレットはユニット毎に変更することができ、パレットを指定する情報はビットストリーム内で信号伝達することができる。
適応デブロッキングフィルタが、ビデオデコーダ(450)の動き補償ループ内に含まれて、デコードされたピクチャ(451)におけるブロック境界の行及び/又は列にわたる不連続性を平滑化する。その代わりに、又はそれに加えて、他のフィルタリング(デリンギングフィルタリング、ALF、又はSAOフィルタリングなど、図示なし)を、インループフィルタリング動作として適用することができる。
デコード済みピクチャ一時メモリ記憶エリア(460)は、複数のピクチャバッファ記憶エリア(461、462、…、46n)を含む。デコード済みピクチャ記憶エリア(460)は、デコード済みピクチャバッファの一例である。デコーダ(450)は、MMCO/RPS情報(432)を使用して、デコードされたピクチャ(451)を記憶することができるピクチャバッファ(461、462など)を識別する。デコーダ(450)は、デコードされたピクチャ(451)を上記ピクチャバッファに記憶する。
出力シーケンサ(480)は、出力順序で生成される次のピクチャがデコード済みピクチャ記憶エリア(460)においていつ利用可能であるかを識別する。出力順序で生成される次のピクチャ(481)がデコード済みピクチャ記憶エリア(460)で利用可能になると、出力シーケンサ(480)によって読み出され、出力先(490)(例えば、ディスプレイ)に出力される。一般に、出力シーケンサ(480)によってピクチャがデコード済みピクチャ記憶エリア(460)から出力される順序は、ピクチャがデコーダ(450)によってデコードされる順序とは異なってもよい。
V.例示的なビデオエンコーダ
図5a及び図5bは、記載するいくつかの実施形態が併せて実現されてもよい、一般化されたビデオエンコーダ(500)のブロック図である。エンコーダ(500)は、現在ピクチャを含むビデオピクチャのシーケンスを入力ビデオ信号(505)として受信し、出力として符号化されたビデオビットストリーム(595)におけるエンコードされたデータを生成する。
エンコーダ(500)はブロックベースであり、実装に依存するブロックフォーマットを使用する。ブロックは、異なる段階で、例えば予測、周波数変換、及び/又はエントロピーエンコーディングの段階で、更に細分されてもよい。例えば、ピクチャを、64×64ブロック、32×32ブロック、又は16×16ブロックに分けることができ、それを次に、コーディング及びデコーディングのため、サンプル値のより小さいブロックに分けることができる。H.265/HEVC規格に対するエンコーディングの実装では、エンコーダは、ピクチャをCTU(CTB)、CU(CB)、PU(PB)、及びTU(TB)へと区分する。
エンコーダ(500)は、ピクチャ内符号化及び/又はピクチャ間符号化を使用してピクチャを圧縮する。エンコーダ(500)のコンポーネントの多くは、ピクチャ内符号化及びピクチャ間符号化の両方に使用される。それらのコンポーネントによって実施される正確な動作は、圧縮される情報のタイプに依存して変動し得る。
タイル化モジュール(510)が、場合により、ピクチャを同じサイズ又は異なるサイズの複数のタイルへと区分する。例えば、タイル化モジュール(510)は、ピクチャ境界と共にピクチャ内のタイルの水平及び垂直方向の境界を画成する、タイル行及びタイル列に沿ってピクチャを分割し、各タイルは長方形領域である。H.265/HEVCの実装では、エンコーダ(500)は、ピクチャを1つ以上のスライスへと区分し、各スライスは1つ以上のスライスセグメントを含む。特定ブロックの行(例えば、H.265/HEVC規格に従ったスライスのCTUの行)が、より詳細に後述するように、WPPを使用して並列してエンコードされることができる。
一般エンコーディング制御(520)が、入力ビデオ信号(505)に対するピクチャ、並びにエンコーダ(500)の様々なモジュールからのフィードバック(図示なし)を受信する。概して、一般エンコーディング制御(520)は、制御信号(図示なし)を他のモジュール(タイル化モジュール(510)、変換器/スケーラ/量子化器(530)、スケーラ/逆変換器(535)、ピクチャ内推定器(540)、動き推定器(550)、及びイントラ/インタースイッチなど)に提供して、エンコーディングの間の符号化パラメータを設定し、変更する。特に、一般エンコーディング制御(520)は、エンコードする間、パレット予測、イントラBC予測、イントラLC予測、及びイントラSC予測を使用するか否か、またどのように使用するかを判断することができる。一般エンコーディング制御(520)はまた、エンコーディングの間の中間結果を評価して、例えば、レートひずみ解析を実施することができる。一般エンコーディング制御(520)は、エンコーディングの間に行われた判断を示す一般制御データ(522)を生成し、そのため、対応するデコーダが整合した判断を行うことができる。一般制御データ(522)は、ヘッダフォーマッタ/エントロピー符号器(590)に提供される。
現在ピクチャがピクチャ間予測を使用して予測される場合、動き推定器(550)が、1つ以上の参照ピクチャに対する入力ビデオ信号(505)の現在ピクチャのサンプル値のブロックの動きを推定する。デコード済みピクチャバッファ(570)が、参照ピクチャとして使用するため、1つ以上の再構成された事前符号化されたピクチャをバッファする。複数の参照ピクチャが使用される場合、複数の参照ピクチャは、異なる時間方向又は同じ時間方向からのものであり得る。動き推定器(550)は、サイド情報として、MVデータ、マージモードインデックス値、及び参照ピクチャ選択データなどの動きデータ(552)を生成する。動きデータ(552)は、ヘッダフォーマッタ/エントロピー符号器(590)、並びに動き補償器(555)に提供される。
動き補償器(555)は、MVを、デコード済みピクチャバッファ(570)からの再構成された参照ピクチャに適用する。動き補償器(555)は、現在ピクチャに対する動き補償された予測を生成する。
エンコーダ(500)内の別個の経路において、ピクチャ内推定器(540)は、入力ビデオ信号(505)の現在ピクチャのサンプル値のブロックに対して、ピクチャ内予測をどのように実施するかを決定する。現在ピクチャは、ピクチャ内符号化を使用して、全体的又は部分的に符号化することができる。現在ピクチャの再構成(538)の値を使用して、イントラ空間予測に関して、ピクチャ内推定器(540)は、現在ピクチャの隣接する事前再構成されたサンプル値から、現在ピクチャの現在のブロックのサンプル値をどのように空間予測するかを決定する。
或いは、イントラコピー予測の場合、ピクチャ内推定器(540)は、現在のブロック、ライン、又はストリングから、他の事前に再構成されたサンプル値における位置への変位を推定する。ピクチャにおけるサンプル値の参照ブロック、ライン、又はストリングが、現在のブロック、ライン、又はストリングに対する予測値を作り出すのに使用される。例えば、イントラBC予測の場合、ピクチャ内推定器(540)は、BV値を用いて示すことができる、現在のブロックから参照ブロックへの変位を推定する。別の例として、イントラLC予測の場合、ピクチャ内推定器(540)は、(現在のラインから参照ラインへの変位を示す)オフセット値を用いて示すことができる、(現在のブロックの)現在のラインから参照ラインへの変位を推定する。別の例として、イントラSC予測の場合、ピクチャ内推定器は、(現在のストリングから参照ストリングへの変位を示す)オフセット値とストリング長さ値とを用いて示すことができる、(現在のブロックの)現在のストリングから参照ストリングへの変位を推定する。WPPが使用可能にされると、ピクチャ内推定器(540)は、後述するように、参照領域の場所に対する制約と整合する、(例えば、イントラBC予測におけるBV値の場合、又はイントラSC予測若しくはイントラLC予測におけるオフセット値の場合の)変位を決定することができる。
実装に応じて、ピクチャ内推定器(540)は、入力サンプル値、インループフィルタリング前の再構成されたサンプル値、又はインループフィルタリング後の再構成されたサンプル値を使用して、現在のブロック、ライン、又はストリングに対するオフセット推定を実施することができる。一般に、オフセット推定に対する入力サンプル値又はフィルタされていない再構成されたサンプル値を使用することによって、ピクチャ内推定器(540)は、(オフセット推定/イントラコピー予測の前に、参照ブロック、ライン、ストリングなどの再構成されたサンプル値をフィルタリングすることから生じることがある)連続処理のボトルネックを回避することができる。他方で、フィルタされていない再構成されたサンプル値の記憶には追加のメモリを使用する。また、オフセット推定の前にインループフィルタリングが適用される場合、現在のブロック/ライン/ストリングがデコードされた後で適用されるフィルタリング処理と、オフセット推定/イントラコピー予測に使用されている領域との間で重なり合う影響領域があり得る。かかる事例では、オフセット推定/イントラコピー予測は、フィルタリング動作のその局面の前に適用されることになる。いくつかの実装では、エンコーダは、オフセット推定/イントラコピー予測の前にいくつかのインループフィルタリング動作を適用し、後の処理段階で追加の又は代替のフィルタリングを実施することができる。
ピクチャ内推定器(540)は、サイド情報としてイントラ予測データ(542)を生成し、該データは、例えば、イントラ予測が空間予測、イントラBC予測、イントラLC予測、又はイントラSC予測を使用するかどうか、予測モード方向(イントラ空間予測の場合)、BV値(イントラBC予測の場合)、オフセット値(イントラLC予測の場合)、又はオフセット値及び長さ値(イントラSC予測の場合)を示す情報などである。イントラ予測データ(542)は、ヘッダフォーマッタ/エントロピー符号器(590)、並びにピクチャ内予測器(545)に提供される。
イントラ予測データ(542)に従って、ピクチャ内予測器(545)は、現在ピクチャの現在のブロックのサンプル値を、現在ピクチャの隣接する事前再構成されたサンプル値から空間予測する。或いは、イントラコピー予測の場合、ピクチャ内予測器(545)は、現在のブロック、ライン、ストリングなどに対する変位(BV値、オフセット値など)によって示される、参照ブロック、ライン、ストリング、又は他のセクションの事前に再構成されたサンプル値を使用して、現在のブロック、ライン、ストリング、又は他のセクションのサンプル値を予測する。いくつかの事例では、BV値(又は他のオフセット値)は予測値であることができる。他の事例では、BV値(又は他のオフセット値)はその予測値とは異なることができ、その場合、差分は予測値とBV値(又は他のオフセット値)との差を示す。イントラSCモードの場合、ピクチャ内予測器(545)は、現在のストリングのサンプル値を予測するとき、ストリング長さ値をさらに使用する。
パレット符号化モードの場合、エンコーダ(500)は、パレットを使用してCU又は他のユニットのサンプル値の少なくとも一部を表す。パレットは、ユニットで使用される色を表す。例えば、パレットは、インデックス値0、1、2、…、pを対応する色に対してマッピングし、対応する色は、RGB4:4:4フォーマット、BGR4:4:4フォーマット、GBR4:4:4フォーマット、YUV4:4:4フォーマット、又は別のフォーマット(色空間、色サンプリングレート)であることができる。インデックス値が、ピクセルに対するRGBトリプレット、BGRトリプレット、又はGBRトリプレットを表すことができ、ピクセルは、コロケートされたサンプル値のセットである。ユニットのエンコーディングの場合、インデックス値が、ユニット内のピクセルのサンプル値に取って代わる。ユニットのレア値が、パレットのインデックス値を使用する代わりに、エスケープコード値及びリテラル値を使用してエンコードされることができる。パレットはユニット毎に変更することができ、パレットを指定するパレットデータはビットストリーム内で信号伝達することができる。
イントラ/インタースイッチは、所与のブロックに対する予測(558)が動き補償された予測になるか又はピクチャ内予測になるかを選択する。
いくつかの例示的な実装では、パレット符号化モード又はイントラコピーモード(イントラBC予測、イントラLC予測、若しくはイントラSC予測)でエンコードされるユニットに対して残差が算出されない。その代わりに、残差符号化はスキップされ、予測されたサンプル値が再構成されたサンプル値として使用される。
残差符号化がスキップされない場合、予測(558)のブロックと、それに対応する、入力ビデオ信号(505)の元の現在ピクチャの一部との間の差(ある場合)によって、残差(518)の値が提供される。現在ピクチャの再構成の間、残差値がエンコードされ/信号伝達されていると、再構成された残差値が予測(558)と組み合わされて、ビデオ信号(505)からの元のコンテンツの近似的又は正確な再構成(538)が生成される(不可逆圧縮では、一部の情報がビデオ信号(505)から失われる)。
残差符号化の一部として、変換器/スケーラ/量子化器(530)において、周波数変換がスキップされない場合、周波数変換器が、空間ドメインビデオ情報を周波数ドメイン(即ち、スペクトルの、変換)データへとコンバートする。ブロックベースのビデオ符号化の場合、周波数変換器は、離散コサイン変換(「DCT」)、その整数近似、又は別のタイプの前方ブロック変換(例えば、離散サイン変換若しくはその整数近似)を、予測残差データ(又は予測(558)がヌルの場合のサンプル値データ)のブロックに適用して、周波数変換係数のブロックを生成する。変換器/スケーラ/量子化器(530)は、可変ブロックサイズの変換を適用することができる。この場合、変換器/スケーラ/量子化器(530)は、どのブロックサイズの変換を現在のブロックの残差値に使用するかを決定することができる。スケーラ/量子化器は、変換係数をスケーリングし(scales)、量子化する。例えば、量子化器は、デッドゾーンスケーラ量子化を、ピクチャ毎の基準、タイル毎の基準、スライス毎の基準、ブロック毎の基準、周波数特異的な基準、又は他の基準で変動する量子化ステップサイズで、周波数ドメインデータに適用する。量子化された変換係数データ(532)が、ヘッダフォーマッタ/エントロピー符号器(590)に提供される。周波数変換がスキップされる場合、スケーラ/量子化器は、予測残差データ(又は予測(558)がヌルの場合のサンプル値データ)のブロックをスケーリングし、量子化して、ヘッダフォーマッタ/エントロピー符号器(590)に提供される量子化された値を生成することができる。
残差値を再構成するため、スケーラ/逆変換器(535)では、スケーラ/逆量子化器が、量子化された変換係数に対して逆スケーリング及び逆量子化を実施する。変換段階がスキップされていない場合、逆周波数変換器が逆周波数変換を実施して、再構成された予測残差値又はサンプル値のブロックを生成する。変換段階がスキップされている場合、逆周波数変換もスキップされる。この場合、スケーラ/逆量子化器は、予測残差データ(又はサンプル値データ)のブロックに対して逆スケーリング及び逆量子化を実施して、再構成された値を生成することができる。残差値がエンコードされ/信号伝達されている場合、エンコーダ(500)は、再構成された残差値を予測(558)の値(例えば、動き補償された予測値、ピクチャ内予測値)と組み合わせて、再構成(538)を形成する。残差値がエンコードされ/信号伝達されていない場合、エンコーダ(500)は予測(558)の値を再構成(538)として使用する。
ピクチャ内予測の場合、再構成(538)の値を、ピクチャ内推定器(540)及びピクチャ内予測器(545)にフィードバックすることができる。再構成(538)の値を、後続ピクチャの動き補償された予測に使用することができる。再構成(538)の値を更にフィルタリングすることができる。フィルタリング制御(560)が、ビデオ信号(505)の所与のピクチャに関して、再構成(538)の値に対するデブロックフィルタリング及びSAOフィルタリングをどのように実施するかを決定する。フィルタリング制御(560)はフィルタ制御データ(562)を生成し、それがヘッダフォーマッタ/エントロピー符号器(590)及びマージ器/フィルタ(565)に提供される。
マージ器/フィルタ(565)では、エンコーダ(500)は、異なるタイルからのコンテンツを、ピクチャの再構成されたバージョンにマージする。エンコーダ(500)は、フィルタ制御データ(562)及びフィルタ適応の規則に従って、デブロックフィルタリング及びSAOフィルタリングを選択的に実施して、ピクチャの境界にわたる不連続性を適応的に平滑化する。その代わりに、又はそれに加えて、他のフィルタリング(デリンギングフィルタリング又はALFなど、図示なし)を適用することができる。タイル境界は、エンコーダ(500)の設定に依存して、選択的にフィルタリングされるか又は全くフィルタリングされないことが可能であり、エンコーダ(500)は、符号化されたビットストリーム内にシンタックス要素を提供して、かかるフィルタリングが適用されたか否かを示してもよい。デコード済みピクチャバッファ(570)は、後続の動き補償された予測で使用するため、再構成された現在ピクチャをバッファする。
ヘッダフォーマッタ/エントロピー符号器(590)は、一般制御データ(522)、量子化された変換係数データ(532)、イントラ予測データ(542)、動きデータ(552)、及びフィルタ制御データ(562)をフォーマットし及び/又はエントロピー符号化する。動きデータ(552)の場合、ヘッダフォーマッタ/エントロピー符号器(590)はマージモードインデックス値を選択し、エントロピー符号化することができ、又は、デフォルトMV予測子が使用されることができる。場合によっては、ヘッダフォーマッタ/エントロピー符号器(590)はまた、(MV値のMV予測子に対する)MV値のMV差分を決定し、次いで、例えばコンテキスト適応バイナリ算術符号化を使用して、MV差分をエントロピー符号化する。イントラ予測データ(542)の場合、予測を使用してBV値(又は他のオフセット値)をエンコードすることができる。予測は、デフォルト予測子(例えば、1つ以上の隣接ブロックからのBV値若しくは他のオフセット値)を使用することができる。複数の予測子が可能な場合、予測子インデックスが、複数の予測子のうちどれをBV値(又は他のオフセット値)の予測に使用するかを示すことができる。ヘッダフォーマッタ/エントロピー符号器(590)は(イントラコピー予測に対する)予測子インデックス値を選択し、エントロピー符号化することができ、又は、デフォルト予測子が使用されることができる。場合によっては、ヘッダフォーマッタ/エントロピー符号器(590)はまた、(BV値若しくは他のオフセット値の予測子に対する)差分を決定し、次いで、例えばコンテキスト適応バイナリ算術符号化を使用して、差分をエントロピー符号化する。パレット符号化モードの場合、ヘッダフォーマッタ/エントロピー符号器(590)はパレットデータをエンコードすることができる。特に、ヘッダフォーマッタ/エントロピー符号器(590)は、後述するようにパレット予測を使用することができる。
ヘッダフォーマッタ/エントロピー符号器(590)は、符号化されたビデオビットストリーム(595)におけるエンコードされたデータを提供する。符号化されたビデオビットストリーム(595)のフォーマットは、H.265/HEVCフォーマット、ウィンドウズ(登録商標)メディアビデオフォーマット、VC−1フォーマット、MPEG−xフォーマット(例えば、MPEG−1、MPEG−2、若しくはMPEG−4)、H.26xフォーマット(例えば、H.261、H.262、H.263、H.264)、又は別のフォーマットの変形若しくは拡張であり得る。
実装及び所望される圧縮のタイプに応じて、エンコーダ(500)のモジュールを追加し、省略し、複数のモジュールへと分割し、他のモジュールと組み合わせ、かつ/あるいは同様のモジュールと置き換えることができる。代替実施形態では、異なるモジュール及び/又はモジュールの他の構成を有するエンコーダが、記載する技術の1つ以上を実施する。エンコーダの具体的な実施形態は、典型的に、エンコーダ(500)の変形又は補足されたバージョンを使用する。エンコーダ(500)内のモジュール間の図示される関係は、エンコーダ内の情報の一般的なフローを示し、他の関係は、簡潔さのために図示されない。
VI.例示的なビデオデコーダ
図6は、記載するいくつかの実施形態が併せて実現されてもよい、一般化されたデコーダ(600)のブロック図である。デコーダ(600)は、符号化されたビデオビットストリーム(605)におけるエンコードされたデータを受信し、再構成されたビデオ(695)のピクチャを含む出力を生成する。符号化されたビデオビットストリーム(605)のフォーマットは、H.265/HEVCフォーマット、ウィンドウズ(登録商標)メディアビデオフォーマット、VC−1フォーマット、MPEG−xフォーマット(例えば、MPEG−1、MPEG−2、若しくはMPEG−4)、H.26xフォーマット(例えば、H.261、H.262、H.263、H.264)、又は別のフォーマットの変形若しくは拡張であり得る。
ピクチャは、同じサイズ又は異なるサイズの複数のタイルとして編成することができる。ピクチャはまた、1つ以上のスライスとして編成することができる。スライス又はタイルのコンテンツは、サンプル値のブロック又は他のセットとして更に編成することができる。デコーダ(600)はブロックベースであり、実装に依存するブロックフォーマットを使用する。ブロックは、異なる段階で更に細分されてもよい。例えば、ピクチャを、64×64ブロック、32×32ブロック、又は16×16ブロックへと分けることができ、それを次に、サンプル値のより小さいブロックへと分けることができる。H.265/HEVC規格に対するデコーディングの実装では、ピクチャは、CTU(CTB)、CU(CB)、PU(PB)、及びTU(TB)へと区分される。WPPが使用可能な状態で(WPPを使用して、又はデコーディングの間WPPを使用するのと整合した仕方で)ピクチャがエンコードされた場合、更に後述するように、特定ブロックの行(例えば、H.265/HEVC規格に従ったCTUの行)を、WPPを使用して並列してデコードすることができる。
デコーダ(600)は、ピクチャ内デコーディング及び/又はピクチャ間デコーディングを使用してピクチャを伸張する。デコーダ(600)のコンポーネントの多くは、ピクチャ内デコーディング及びピクチャ間デコーディングの両方に使用される。それらのコンポーネントによって実施される正確な動作は、伸張される情報のタイプに依存して変動し得る。
バッファは、符号化されたビデオビットストリーム(605)におけるエンコードされたデータを受信し、受信したエンコードされたデータをパーサー/エントロピーデコーダ(610)に対して利用可能にする。パーサー/エントロピーデコーダ(610)は、エントロピー符号化されたデータをエントロピーデコードして、典型的に、エンコーダ(500)で実施したエントロピー符号化の逆を適用する(例えば、コンテキスト適応バイナリ算術デコーディング)。構文解析及びエントロピーデコーディングの結果として、パーサー/エントロピーデコーダ(610)は、一般制御データ(622)、量子化された変換係数データ(632)、イントラ予測データ(642)、動きデータ(652)、及びフィルタ制御データ(662)を生成する。イントラ予測データ(642)では、予測子インデックス値が信号伝達される場合、パーサー/エントロピーデコーダ(610)は、例えばコンテキスト適応バイナリ算術デコーディングを使用して、予測子インデックス値をエントロピーデコードすることができる。場合によっては、パーサー/エントロピーデコーダ(610)はまた、BV値又は他のオフセット値に対する差分を(例えば、コンテキスト適応バイナリ算術デコーディングを使用して)エントロピーデコードし、次いで、差分を対応する予測子と組み合わせて、BV値(又は他のオフセット値)を再構成する。他の事例では、差分はビットストリームから省略され、BV値(又は他のオフセット値)は単に予測子である(例えば、予測子インデックス値を用いて示される)。パレットデコーディングモードの場合、パーサー/エントロピーデコーダ(610)はパレットデータをデコードすることができる。特に、パーサー/エントロピーデコーダ(610)は、後述するようにパレット予測を使用することができる。
一般デコーディング制御(620)は、一般制御データ(622)を受信し、制御信号(図示なし)を他のモジュール(スケーラ/逆変換器(635)、ピクチャ内予測器(645)、動き補償器(655)、及びイントラ/インタースイッチなど)に提供して、デコーディングの間にデコーディングパラメータを設定し、変更する。
現在ピクチャがピクチャ間予測を使用して予測される場合、動き補償器(655)は、MVデータ、参照ピクチャ選択データ、及びマージモードインデックス値などの動きデータ(652)を受信する。動き補償器(655)は、MVを、デコード済みピクチャバッファ(670)からの再構成された参照ピクチャに適用する。動き補償器(655)は、現在ピクチャのインター符号化されたブロックに対する動き補償された予測を生成する。デコード済みピクチャバッファ(670)は、参照ピクチャとして使用する、1つ以上の事前に再構成されたピクチャを記憶する。
デコーダ(600)内の別個の経路において、ピクチャ内予測器(645)はイントラ予測データ(642)を受信し、該データは、例えば、ピクチャ内予測が空間予測、イントラBC予測、イントラLC予測、又はイントラSC予測を使用するかどうか、並びに予測モード方向(イントラ空間予測の場合)、BV値(イントラBC予測の場合)、オフセット値(イントラLC予測の場合)、又はオフセット値及び長さ値(イントラSC予測の場合)を示す情報などである。イントラ空間予測の場合、現在ピクチャの再構成(638)の値を使用して、予測モードデータに従って、ピクチャ内予測器(645)は、現在ピクチャの隣接する事前再構成されたサンプル値から、現在ピクチャの現在のブロックのサンプル値を空間予測する。或いは、イントラコピー予測の場合、ピクチャ内予測器(645)は、現在のブロック、ライン、ストリングなどの変位(BV値、オフセット値など)によって示される、参照ブロック、ライン、ストリング、又は他のセクションの事前に再構成されたサンプル値を使用して、現在のブロック、ライン、ストリング、又は他のセクションのサンプル値を予測する。場合によっては、BV値(又は他のオフセット値)は予測値であることができる。他の事例では、BV値(又は他のオフセット値)はその予測値とは異なることができ、その場合、BV値(又は他のオフセット値)は差分及び予測値を使用して再構成される。イントラSCモードの場合、ピクチャ内予測器(645)は、現在のストリングのサンプル値を予測するときにストリング長さ値をさらに使用する。
パレットデコーディングモードの場合、デコーダ(600)は、CU又は他のユニットのサンプル値の少なくとも一部を表すパレットを使用する。パレットは、インデックス値をユニットで使用される対応する色に対してマッピングする。例えば、パレットは、インデックス値0、1、2、…、pを対応する色に対してマッピングし、対応する色は、RGB4:4:4フォーマット、BGR4:4:4フォーマット、GBR4:4:4フォーマット、YUV4:4:4フォーマット、又は別のフォーマット(色空間、色サンプリングレート)であることができる。インデックス値は、ピクセルに対するRGBトリプレット、BGRトリプレット、又はGBRトリプレットを表すことができる。デコードする間、ユニット内の位置に関して、パレットからのインデックス値が適切なサンプリング値で置き換えられる。ユニットのエスケープ符号化値が、エスケープコード値及びリテラル値を使用してデコードされることができる。パレットは、ビットストリーム内で信号伝達されるパレットデータに基づいて、ユニット毎に変更することができる。
イントラ/インタースイッチは、所与のブロックに対する予測(658)として使用される、動き補償された予測又はピクチャ内予測の値を選択する。例えば、H.265/HEVCシンタックスに従う場合、イントラ/インタースイッチは、イントラ予測されたCU及びインター予測されたCUを含むことができるピクチャのCUに対してエンコードされたシンタックス要素に基づいて制御することができる。残差値がエンコードされ/信号伝達されている場合、デコーダ(600)は、予測(658)を再構成された残差値と組み合わせて、ビデオ信号からのコンテンツの再構成(638)を生成する。残差値がエンコードされ/信号伝達されていない場合、デコーダ(600)は、予測(658)の値を再構成(638)として使用する。
残差値がエンコードされ/信号伝達されている場合の残差を再構成するために、スケーラ/逆変換器(635)は、量子化された変換係数データ(632)を受信し、処理する。スケーラ/逆変換器(635)では、スケーラ/逆量子化器は、量子化された変換係数に対して逆スケーリング及び逆量子化を実施する。逆周波数変換器は、逆周波数変換を実施して、再構成された予測残差値又はサンプル値のブロックを生成する。例えば、逆周波数変換器は、逆ブロック変換を周波数変換係数に適用して、サンプル値データ又は予測残差データを生成する。逆周波数変換は、逆DCT、その整数近似、又は別のタイプの逆周波数変換(例えば、逆離散サイン変換又はその整数近似)であることができる。周波数変換がエンコーディングの間にスキップされた場合、逆周波数変換もスキップされる。この場合、スケーラ/逆量子化器は、予測残差データ(又はサンプル値データ)のブロックに対して逆スケーリング及び逆量子化を実施して、再構成された値を生成することができる。
ピクチャ内予測の場合、再構成(638)の値をピクチャ内予測器(645)にフィードバックすることができる。ピクチャ間予測の場合、再構成(638)の値を更にフィルタリングすることができる。マージ器/フィルタ(665)では、デコーダ(600)は、異なるタイルからのコンテンツを、ピクチャの再構成されたバージョンへマージする。デコーダ(600)は、フィルタ制御データ(662)及びフィルタ適応の規則に従って、デブロックフィルタリング及びSAOフィルタリングを選択的に実施して、ピクチャの境界にわたる不連続性を適応的に平滑化する。その代わりに、又はそれに加えて、他のフィルタリング(デリンギングフィルタリング又はALFなど、図示なし)を適用することができる。タイル境界は、デコーダ(600)の設定、又はエンコードされたビットストリームデータ内のシンタックス要素に依存して、選択的にフィルタリングするか又は全くフィルタリングしないことが可能である。デコード済みピクチャバッファ(670)は、後続の動き補償された予測で使用するため、再構成された現在ピクチャをバッファする。
デコーダ(600)は、後処理フィルタをさらに含むことができる。後処理フィルタ(608)は、デブロックフィルタリング、デリンギングフィルタリング、適応ウィナーフィルタリング、フィルム粒子再現フィルタリング、SAOフィルタリング、又は別の種類のフィルタリングを含むことができる。「インループ」フィルタリングは、動き補償ループ内のピクチャの再構成されたサンプル値に対して実施され、従って参照ピクチャのサンプル値に影響するが、後処理フィルタ(608)は、表示のために出力する前に、動き補償ループ外の再構成されたサンプル値に適用される。
実装及び所望される伸張のタイプに依存して、デコーダ(600)のモジュールを追加し、省略し、複数のモジュールへと分割し、他のモジュールと組み合わせ、かつ/あるいは同様のモジュールと置き換えることができる。代替実施形態では、異なるモジュール及び/又はモジュールの他の構成を有するデコーダが、記載する技術の1つ以上を実施する。デコーダの具体的な実施形態は、一般的に、デコーダ(600)の変形又は補足されたバージョンを使用する。デコーダ(600)内のモジュール間の図示される関係は、デコーダ内の情報の一般的なフローを示し、他の関係は、簡潔さのために図示されない。
VII.WPPが使用可能にされるときのピクチャ内予測モードの規則
このセクションでは、波面並列処理(「WPP」)が使用可能にされるときのピクチャ内予測モードに対する規則の例を提示する。本イノベーションは、WPPが使用可能にされるときの、エンコーダ又はデコーダによる、パレット予測モード、イントラブロックコピー(「BC」)モード、イントララインコピー(「LC」)モード、及びイントラストリングコピー(「SC」)モードなどのピクチャ内予測モードの使用を容易にする。
A.波面並列処理−序論
一般に、WPPは、ピクチャ内のユニットの行に対する処理の開始を差動的に遅延することによって、並列処理を容易にする符号化/デコーディングツールである。WPPが使用可能にされると、ピクチャ内のユニットの異なる行を並列してエンコード又はデコードすることができる。エンコーディング又はデコーディングの間、ユニットの第1の行を、左から右にユニット毎に(unit-after-unit)処理することができる。ユニットの第2の行の処理(エンコーディング又はデコーディング)は、ユニットの第1の行全体の処理が完了するのを待つ必要がない。その代わりに、第1の行のユニットのいくつかが処理を完了した後に、このことが第2の行の最初のユニットを処理するときに使用される情報を提供し、ユニットの第2の行の処理が始まることができる。同様に、ユニットの第3の行の処理は、第2の行のユニットのいくつかについて処理が完了した後に開始することができる。従って、WPPは、ユニットの異なる行の並列処理を容易にし、異なるスレッド又は処理コアが、交互的な時間遅延の方式でユニットの異なる行の処理を実施することができる。
例えば、H.265/HEVC規格に従って、WPPが使用可能にされると、スライスがCTUの行へと分けられる。エンコード又はデコードする間、CTUの第1の行をCTU毎に(CTU-after-CTU)処理することができる。第1の行のうち最初の2つのCTUについて処理が完了した後に、このことが第2の行の最初のCTUを処理するときに使用される情報(例えば、再構成されたサンプル値、再構成されたMV値又はBV値、コンテキストモデル情報)を提供し、CTUの第2の行の処理が始まることができる。同様に、CTUの第3の行の処理は、第2の行の最初の2つのCTUについて処理が完了した後に開始することができる。
図7は、H.265/HEVC規格に従った現在ピクチャ(710)に対するWPPのタイミング(700)を示している。ピクチャ(710)は、CTU列及びCTU行において編成されるCTUへと区分される。異なるCTU行を、WPPを使用して並列してエンコードし又はデコードすることができる。WPPのタイミングは、エンコード又はデコードする間のCTU間の依存関係(dependencies)を反映する。この例では、所与のCTUが、(1)その左側の隣接したCTU、(2)その左上の隣接したCTU、(3)所与のCTUの上側の隣接したCTU、及び(4)所与のCTUの右上の隣接したCTUからの情報(再構成されたサンプル値、再構成されたMV値若しくはBV値、コンテキストモデル情報など)に依存してもよく、その場合、かかる隣接したCTU(1)〜(4)は利用可能である(例えば、ピクチャ内、同じスライス及びタイル内である)。各隣接CTUは、次いで、利用可能な場合はそれに隣接したCTU(1)〜(4)に依存してもよい。図8は、第5のCTU行の最初のCTUに対するカスケード的依存関係を示している。第5のCTU行の最初のCTUは、第4のCTU行の最初の2つのCTUに依存し、それらは集合的に、第3のCTU行の最初の3つのCTUに依存し、その後も同様である。
図7を参照すると、WPPの場合、第1のCTU行(つまり、CTU行0)は、波0に対してCTU毎に処理される。波1の場合、CTU行1における最初のCTUの処理は、CTU行0における第2のCTUのエンコーディング/デコーディングが終了した後に開始することができる。同様に、波2の場合、CTU行2における最初のCTUの処理は、CTU行1における第2のCTUのエンコーディング/デコーディングが終了した後に開始することができる。波3の場合、CTU行3における最初のCTUの処理は、CTU行2における第2のCTUのエンコーディング/デコーディングが終了した後に開始することができ、波4の場合、CTU行4における最初のCTUの処理は、CTU行3における第2のCTUのエンコーディング/デコーディングが終了した後に開始することができる。
CTU行が並列で処理される場合であっても、この交互的な時間遅延処理によって、CTU行について処理が始まるときにCTU間の依存関係が満たされることが確保される。図7では、処理の間、各CTU行に対してCTU2つ分の進みが維持される。各CTU行に対して、現在のCTU(太い輪郭線で示される)の処理は、次のCTU行の現在のCTUの処理よりもCTU2つ分早い。しかしながら、実際は、所与のCTU行の処理が失速し又は減速して、上記所与のCTU行におけるCTUの処理の完了に(直接若しくは間接的に)依存する後のCTU行の処理においてカスケード的遅延が生じることがある。後のCTU行の所与のCTUに関して、依存関係は前のCTU行からカスケードする(cascade)。図8に示される例(800)では、フレーム(810)の第5のCTU行における最初のCTUに対して、第4のCTU行における最初の2つのCTUが処理されている。そうでなければ、第5のCTU行における最初のCTUの処理は開始することができない。転じて、第3のCTU行の第3のCTUが処理されているが、これは、そうでなければ第4のCTU行における第2のCTUの処理を開始することができなかったためである。同様に、第3のCTU行の第3のCTUに対する処理の事前条件として、第2のCTU行の第4のCTUが処理されている。最後に、第2のCTU行の第4のCTUに対する処理の事前条件として、第1のCTU行の第5のCTUが処理されている。従って、図8は、WPPが使用可能にされるときの波4(第5のCTU行)における最初のCTUの予測に利用可能であることを保証された、再構成されたコンテンツを示している。
対照的に、WPPが使用可能にされていないと、CTUは、CTU行内で左から右へ、CTU行毎に(CTU row after CTU row)ピクチャ(若しくは使用される場合、スライス及びタイル)の上から下へと処理される。所与のCTUに対して使用されるコンテキストモデル情報(CABACステータス情報若しくはエントロピー符号化情報とも呼ばれる)は、符号化/デコーディング順序においてより早いCTUである、ピクチャ(若しくはスライス/タイル)の同じCTU行における任意の前のCTU及び任意の前のCTU行の処理の結果を説明し(account for)得る。例えば、あるCTU行における第2のCTUの処理が、上記CTU行における第1のCTUの処理の結果に依存し、その後も同様である。別の例として、あるCTU行における最初のCTUの処理が、ピクチャ(若しくはスライス/タイル)内の前のCTU行における最後のCTUの処理の結果に依存する。
他方で、WPPが使用可能にされると、CTU行における最初のCTUの処理は、ピクチャ(若しくはスライス/タイル)内の前のCTU行における最後のCTUの処理の結果に依存しない。CTU行における最初のCTUの処理は、前のCTU行内の最後のCTUからのコンテキストモデル情報が利用不能であっても、ピクチャ(若しくはスライス/タイル)内の前のCTU行における第2のCTUについて処理が終了した後で開始することができる。前のCTU行における第3のCTUの処理は依然として、WPPが使用可能でないときと同じように、そのCTU行における第2のCTUの処理結果に依存する。
WPPが使用可能にされるとき、エンコーダは、エンコーディングの間WPPを実際に使用してもしなくてもよい。いずれにせよ、エンコーダは、WPPが実際に使用されるときに適用される制約及び予測規則を強制する。同様に、WPPが使用可能にされるとき、デコーダは、デコーディングの間WPPを実際に使用してもしなくてもよい。ビットストリーム内のシンタックス要素が、ビデオシーケンス、ピクチャのセット、又はピクチャに対してWPPが使用可能にされているか否かを示すことができる。例えば、シンタックス要素は、ビットストリーム内のSPS、PPS、又は他のシンタックス構造の形で信号伝達することができる。H.265/HEVCの実装では、例えば、PPSシンタックス構造において信号伝達されるシンタックス要素の値entropy_coding_sync_enabled_flagは、PPSシンタックス構造に関連付けられたピクチャに対してWPPが使用可能にされているか否かを示す。entropy_coding_sync_enabled_flagが1に等しい場合、WPPがピクチャに対して使用可能である。そうでなければ、WPPはピクチャに対して使用可能にされていない。
B.パレット符号化/デコーディングモード及びパレット予測−序論
一般に、パレット符号化/デコーディングモードは、パレットを使用して、ユニット(例えば、H.265/HEVCの実装におけるCU、又は他のユニット)のサンプル値の少なくともいくつかを表す。例えば、パレットは、インデックス値0、1、2、…、pを対応する色に対してマッピングし、対応する色は、RGB4:4:4フォーマット、BGR4:4:4フォーマット、GBR4:4:4フォーマット、YUV4:4:4フォーマット、又は別のフォーマット(色空間、色サンプリングレート)であることができる。インデックス値は、ピクセルに対するRGBトリプレット、BGRトリプレット、又はGBRトリプレットを表すことができる。図9は、パレットの2つの例を示している。現在のユニットに対するパレット(つまり、「現在のパレット」)は、RGBトリプレットに関連付けられたp個のインデックス値0、…、p−1を含む。前のユニットに対するパレット(「前のパレットデータ」で表される)は、RGBトリプレットに関連付けられたq個のインデックス値0、…、q−1を含む。p及びqの値は同じ又は別であることができる。エンコーディングの間、エンコーダは、インデックス値を使用してピクセルのサンプル値を置き換えることができ、インデックス値は、例えばエントロピー符号化を使用して、更にエンコードされてもよい。デコーディングの間、デコーダは、例えば、インデックス値のエントロピーデコーディングの後、パレットを使用してインデックス値からピクセルのサンプル値を復元することができる。
特に、パレット符号化/デコーディングモードは、ユニットが、画面コンテンツビデオの一般的な特性である、比較的少数の区別可能な色を含むときに有効であり得る。例えば、RGB4:4:4フォーマットの64×64CUは、64×64=4096ピクセルを含むが、それよりもはるかに少数の色(例えば、1〜20色)を含むことがある。ユニット内のレア色は、レア色をパレットに直接含む代わりに、(それぞれのサンプル値に対して)エスケープコード値及びリテラル値を使用してエンコードすることができる。
2つのユニットが同じパレットを使用することができるが、色は典型的に、ピクチャ内のユニットからユニットへと変化する。そのため、パレットは典型的に、ピクチャ内のユニットからユニットへと変化する。パレットに対して、エンコーダは、エントロピー符号化されてもよいパレットデータをビットストリームにおいて信号伝達する。デコーダは、パレットデータを受信し、構文解析し、必要であればそれをエントロピーデコードし、パレットを再構成する。エンコーダ及びデコーダは、パレット予測を使用して、信号伝達パレットデータに関連付けられたビットレートを低減することができる。
一般に、パレット予測は、エンコーディング又はデコーディングの間に使用される任意のアプローチであって、前のユニットの1つ以上のパレットからのパレットデータ(前のパレットデータ)を使用して現在のユニットのパレット(現在のパレット)の値を予測することができる。色は典型的にピクチャ内のユニットからユニットへと変化するが、多くの場合、所与のユニットにおける色の少なくともいくつかは隣接するユニットでさらに使用される。パレット予測は、その観察を活用して、パレットデータに対するビットレートを低減する。
図9は、パレット予測の簡素化した例(900)を示しており、現在のユニットのパレット(現在のパレット)が、前のユニットのパレット(前のパレットデータの形で表される)を使用して予測される。例えば、前のパレットデータは、前のユニットがパレット符号化/デコーディングモードを使用した場合、現在のユニットの前にエンコード又はデコードされた前のユニットによって使用されたパレットからのものであり得る。前のユニットがパレット符号化/デコーディングモードを使用しなかった場合、現在のユニットに対する前のパレットデータが前のユニットから「継承される」ことができる。即ち、前のユニットに対して利用可能であった前のパレットデータが、現在のユニットに対して利用可能な前のパレットデータとして再使用されることができる。(いくつかの例示的な実装では、前のパレットデータは、事実上、現在のユニットのステータス又は状態情報である。パレット符号化/デコーディングモードをそれ自体が使用しない所与のユニットが前のパレットデータを依然として有しており、それが次のユニットによって継承されてもよい。)従って、継承の連鎖を通して、現在のユニットに対する前のパレットデータは、パレット符号化/デコーディングモードを使用した最も直近の事前処理されたユニット(ある場合)のパレットからのパレットデータを含むことができる。
パレット予測に関して、エンコーダは、現在のパレットが前のパレットデータと同じであるか否かを決定することができる。同じである場合、エンコーダは単純に、前のパレットデータが現在のパレットとして再使用されるべきであることを示すことができる。そうではない(現在のパレットが前のパレットデータと異なる)場合、エンコーダは、前のパレットデータと現在のパレットとの間の変化を決定し、該変化を示すシンタックス要素を信号伝達する。例えば、図9に示されるように、現在のパレットの所与のインデックス値に関して、エンコーダは、所与のインデックス値の対応する色が前のパレットデータの色(「prev」)であるか又は新しい色(「new」)であるかを信号伝達する。対応する色が前のパレットデータの色である場合、エンコーダは、現在のパレットを埋める(populate)のに使用することができる、前のパレットデータの色に対する(前のパレットデータからの)インデックス値を信号伝達する。図9では、前のパレットデータのインデックス値1に対する色が、現在のパレットのインデックス値0に再割り当てされ、前のパレットデータのインデックス値0に対する色が、現在のパレットのインデックス値2に再割り当てされている。従って、色はパレットからパレットへと位置を変更することができ、そのため、例えば、最も一般的な色が最も低いインデックス値を有し、それによってエントロピー符号化の効率が改善されてもよい。所与のインデックス値の対応する色が新しい色である場合、エンコーダは新しい色に対するトリプレットを信号伝達する。図9では、例えば、現在のパレットのインデックス値1に関して、エンコーダは新しいトリプレット(215,170,200)を信号伝達し、それが現在のパレットを更新するのに使用される。
エンコーダによって信号伝達されたシンタックス要素に基づいて、デコーダは、現在のパレットが、デコーダで利用可能な前のパレットデータと同じであるか否かを決定することができる。同じである場合、デコーダは、前のパレットデータを現在のパレットとして再使用することができる。そうではない(現在のパレットが前のパレットデータと異なる)場合、デコーダは、前のパレットデータと現在のパレットとの間の変化を示すシンタックス要素を受信し、構文解析する。例えば、図9に示されるように、現在のパレットの所与のインデックス値に関して、デコーダは、所与のインデックス値の対応する色が前のパレットデータの色(「prev」)であるか又は新しい色(「new」)であるかを決定する。対応する色が前のパレットデータの色である場合、デコーダは、現在のパレットを埋めるのに使用することができる、前のパレットデータの色に対する(前のパレットデータからの)インデックス値を示すシンタックス要素を受信し、構文解析する。所与のインデックス値の対応する色が新しい色である場合、デコーダは新しい色を示すシンタックス要素を受信し、構文解析する。
現在のパレットを構成した後、エンコーダ及びデコーダは、次のユニットに対して前のパレットデータを更新して、現在のパレットからのパレットデータを記憶する。この新しい「前のパレットデータ」を使用して、次のユニットに対するパレットを予測することができる。
図9は、簡素化した例(900)を示している。実際は、パレットデータを信号伝達するのに使用されるシンタックス要素及び規則はより複雑な場合がある。例示的な実装におけるパレット符号化/デコーディング及びパレット予測に関する更なる詳細については、例えば、JCTVC-R1005のセクション7.3.8.8、7.4.9.6、及び8.4.1を参照されたい。或いは、別のアプローチがパレットデータを信号伝達するのに使用される。
C.WPPが使用可能にされるときのパレット予測
一般に、パレット予測を目的とした前のパレットデータは、現在のユニットのパレット(現在のパレット)を予測するのに使用される。例えば、前のパレットデータは、現在のユニットの前にエンコード又はデコードされた隣接ユニットからの実際のパレットデータである(隣接するユニットがパレット符号化/デコーディングモードを使用した場合)。或いは(隣接するユニットがパレット符号化/デコーディングモードを使用しなかった場合)、隣接ユニットに利用可能な前のパレットデータが、現在のユニットに対する前のパレットデータとして再使用される(又は、「継承される」)ことができる。
いくつかの例示的な実装では、WPPが使用可能にされない場合、現在の行内の最初のユニットに対して、前のパレットデータは、前の行内の最後のユニットから(例えば、最後のユニットがパレット符号化/デコーディングモードを使用した場合は、最後のユニットのパレットから、そうでなければ、最後のユニットに利用可能な前のパレットデータから)のものである。WPPが使用可能にされるとき、現在の行内の最初のユニットに対して、前の行内の最後のユニットからの前のパレットデータが利用可能でないことがある。しかしながら、ユニットの各行の始めにパレット予測をリセットすることは(現在のユニットにおける最初のユニットのパレット予測に対する予測子がない)、符号化効率に対して悪影響を有し得る。
その代わりに、WPPが使用可能にされるとき、エンコーダ又はデコーダは、現在の行内の最初のユニットの処理が始まるために既に処理されている、前の行内の最初の2つのユニットのうち1つ(例えば、前の行の最初の2つのCTUにおける最初の2つのCUのうち1つ)からの前のパレットデータを使用することができる。例えば、現在の行内の最初のユニットに対して、パレット予測を目的とした前のパレットデータは、前の行の第2のユニットからのもの(第2のユニットがパレット符号化/デコーディングモードを使用した場合、第2のユニットの実際のパレットデータ、又はそうでなければ、前の行の第2のユニットに利用可能な前のパレットデータ)である。従って、現在の行内の最初のユニットについて、上記第2のユニットがパレット符号化/デコーディングモードを使用しなかった場合、前のパレットデータは潜在的に、前の行内の第1のユニットからのパレットデータ(第1のユニットがパレット符号化/デコーディングモードを使用した場合)、又は、(前の行内の最初の2つのユニットがいずれもパレット符号化/デコーディングモードを使用しなかった場合は)前の行の第1のユニットからの前のパレットデータであり、該パレットデータは、前の行の前の行における第2のユニットに対するパレットに依存してもよく、その後も同様である。(或いは、前の行内の最初の2つのユニットがいずれもパレット符号化/デコーディングモードを使用しなかった場合、前のパレットデータは、ヌル(予測子なし)であるか又はデフォルト予測子を使用することができる。)現在の行内の最初のユニットの後、現在のユニットについて、パレット予測を目的とした前のパレットデータは、WPPが使用可能にされないときと同じように、現在のユニットの前にエンコード又はデコードされた隣接ユニットからのパレットデータ(隣接ユニットがパレット符号化/デコーディングモードを使用した場合)、又は、(隣接ユニットがパレット符号化/デコーディングモードを使用しなかった場合は)隣接ユニットに利用可能な前のパレットデータである。
図10は、いくつかの例示的な実施例による、WPPが使用可能にされた状態で処理される現在ピクチャ(1010)に対するパレット予測依存関係(1000)を示している。ピクチャ(1010)はCTU行及びCTU列によって編成される。図10の例では、各CTUは単一のCUを含む。より一般には、所与のCTUを複数のCUへと再帰的に分割することができる(例えば、単一のCUを4つのCUへと分割することができ、4つのCUの各々が、より小さいCUへと更に分割されてもよい)。処理の状態(例えば、現在のCTUがエンコード又はデコードされている)は、一般に、図7に示される処理の状態に対応する。図10の矢印は、WPPが使用可能にされるときのパレット予測の方向を示している。第1のCTU行における最初のCUに関して、予測子は存在しない。或いは、デフォルト予測子を使用することができる。第1のCTU行内のより後のCU各々に関して、前のパレットデータは、左側のCUからのものである。第1のCTU行の後の任意のCTU行における最初のCUに関して、前のパレットデータは、前の行の第2のCUからのものである。第1のCTU行の後の任意のCTU行内のより後のCU各々に関して、前のパレットデータは、同じ行内の前のCUからのものである。パレット符号化/デコーディングモードを使用する任意のCUに関して、そのパレットは、次のCUのパレットを予測するための前のパレットデータを構成するのに使用される。所与のCUがパレット符号化/デコーディングモードを使用しない場合、上記所与のCUに利用可能であった前のパレットデータは、次のCUの前のパレットデータとして保有される。
CTUが複数のCUを含むとき、現在のCUに対するパレット予測の目的で、前のCUはzスキャン順序においてより早いCUであり得る。より早いCUは、(CTUの第1のCUに対して)同じCTU又は異なるCTUにあることができる。セクションVII.Dは、図17を参照して、いくつかの例示的な実装におけるzスキャン順序の例を説明している。
エンコーダ及びデコーダは、メモリを使用して、パレット予測に使用される前のパレットデータを記憶することができる。前のパレットデータのために保存されるパレットデータの量は実装に依存する。一般に、前のパレットデータは、前のパレットデータにおける色のカウントCと、色に対するサンプル値の詳細(例えば、RGB4:4:4フォーマット、GBR4:4:4フォーマット、BGR4:4:4フォーマット、YUV4:4:4フォーマット、又は別のフォーマットの色トリプレット)とを含むことができる。エンコーダ及びデコーダは、前のパレットに対する全てのパレットデータを保存することができる。しかしながら、前のパレットに対する全てのパレットデータの保存は、大きいパレットの場合に相当量のメモリを消費する場合がある。或いは、いくつかの事例においてメモリ消費を低減するため、エンコーダ及びデコーダは閾値カウントによってCを制限し、ここで、閾値カウントは実装に依存する。この場合、エンコーダ及びデコーダは、前のパレットにおける最初のC個の異なる色について前のパレットデータを保存し、ここで、Cは閾値カウントによって制限される。例えば、閾値カウントは16又は32である。或いは、WPPが使用可能にされるとき、現在の行の最初のユニットに対するパレット予測に関して、エンコーダ及びデコーダは、最大で、最初のC個の異なる色について前のパレットデータを保存する。その後、エンコーダ及びデコーダは、現在の行内のパレット予測に関して、最大で、最初のC個の異なる色について前のパレットデータを保存する。例えば、Cは16又は32であり、Cは64である。
図11は、WPPが使用可能にされるときの、パレット予測を含むエンコーディングのための一般化された技術(1100)を示している。図3又は図5a及び5bに示されるエンコーダなどのエンコーダ、又は他のエンコーダが、技術(1100)を実施することができる。図12は、WPPが使用可能にされるときの、パレット予測を含むデコーディングのための一般化された技術(1200)を示している。図4又は図6に示されるデコーダなどのデコーダ、又は他のデコーダが、技術(1200)を実施することができる。
図11を参照すると、エンコーダが、WPPが使用可能にされた状態でピクチャをエンコードする(1110)。エンコーディング(1110)は、エンコードされたデータを生成する。エンコーディング(1110)の一部として、パレット符号化モードについて、エンコーダは、ピクチャの前のWPP行における前のユニットからの前のパレットデータを使用して、ピクチャの現在のWPP行における最初のユニットに対するパレットを予測する。エンコーダは、エンコードされたデータをビットストリームの一部として出力する(1120)。
図12を参照すると、デコーダが、エンコードされたデータをビットストリームの一部として受信する(1210)。デコーダは、WPPが使用可能にされた状態で、エンコードされたデータをデコードする(1220)。デコーディング(1220)は、ピクチャを再構成する。デコーディング(1220)の一部として、パレットデコーディングモードについて、デコーダは、ピクチャの前のWPP行における前のユニットからの前のパレットデータを使用して、ピクチャの現在のWPP行における最初のユニットに対するパレットを予測する。
いくつかの例示的な実装では、エンコーダ又はデコーダにおいて、現在のWPP行及び前のWPP行はCTUの行であり、最初のユニット及び前のユニットはCUである。或いは、WPP行は別のタイプのユニットの行であり、かつ/あるいは最初のユニット及び前のユニットは別のタイプのユニットである。ビットストリーム内のシンタックス要素が、ビデオシーケンス、ピクチャのセット、又はピクチャについてWPPが使用可能にされているかどうかを示すことができる。シンタックス要素は、SPSシンタックス構造、PPSシンタックス構造(例えば、H.265/HEVCの実装におけるシンタックス要素entropy_coding_sync_enabled_flag)、又はビットストリーム内の他のシンタックス構造において信号伝達することができる。
一般に、エンコーディング又はデコーディングの間、現在のWPP行における最初のユニットのパレットは、現在のWPP行内の最初のユニットで使用される少なくともいくつかの色を表す。前のWPP行内の前のユニットからの前のパレットデータは、前のWPP行の前のユニットのパレットで使用される少なくともいくつかの色を表してもよい(前のユニットがパレット符号化/デコーディングモードを使用した場合)。或いは(前のユニットがパレット符号化/デコーディングモードを使用しなかった場合)、前のWPP行内の前のユニットからの前のパレットデータは、より早いユニットから前のユニットによって継承されていてもよく、より早いユニットは、パレット符号化/デコーディングモードを使用しているか、又はそれ自体が前のパレットデータを継承していてもよい。パレットにおいて表されない色は、エスケープ符号化することができる。前のWPP行は、現在のWPP行のすぐ上のWPP行であり得る。前のWPP行における前のユニットは、現在のWPP行における最初のユニットの上であることができ(例えば、図10において、前の行における第1のユニット)、或いは、現在のWPP行における最初のユニットの右上であることができる(例えば、図10において、前の行の第2のユニット)。現在のWPP行における最初のユニットを処理した後、ピクチャの現在のWPP行における後続ユニットのパレットについて、エンコーダ又はデコーダは、現在のWPP行における最初のユニットのパレットからのパレットデータを使用して、(後続ユニットの)パレットを予測することができる。
エンコーディング又はデコーディングの間、パレット予測はいくつかの段階を含むことができる。例えば、エンコーディングの間、エンコーダは(現在のパレットと前のパレットデータとの比較に基づいて)、前のWPP行内の前のユニットからの前のパレットデータを現在のWPP行内の最初のユニットに対するパレット(現在のパレット)として再使用するか否かを決定することができる。デコーディングの間、デコーダは(エンコーダによって信号伝達された情報に基づいて)、前のWPP行内の前のユニットからの前のパレットデータを現在のWPP行内の最初のユニットに対するパレット(現在のパレット)として再使用するか否かを決定することができる。別の例として、エンコーディングの間、パレットに対する変更があるとき、エンコーダは、前のWPP行内の前のユニットからの前のパレットデータから1つ以上の色を選択して、現在のWPP行内の最初のユニットに対するパレット(現在のパレット)に含めることができる。エンコーダは、選択された色を示すシンタックス要素を信号伝達する。次いで、デコーディングの間、デコーダは、上記シンタックス要素を受信し、構文解析することができ、シンタックス要素に基づいて、前のWPP行内の前のユニットからの前のパレットデータから1つ以上の色を選択して、現在のWPP行内の最初のユニットに対するパレット(現在のパレット)に含めることができる。或いは、エンコーダ及びデコーダは、別のアプローチを使用してパレットデータを信号伝達することができる。
エンコーダ及びデコーダは、前のWPP行における前のユニットからの全ての前のパレットデータを記憶することができる。例えば、エンコーダ及びデコーダは、前のWPP行内の前のユニットからの前のパレットデータにおけるC個の色の各々について、1つ以上の色成分値を保存することができる。或いは、いくつかの事例においてメモリ消費を低減するため、エンコーダ及びデコーダは、前のパレットデータに対する閾値カウントによってCを制限することができ、したがって、閾値カウントによって制限される最初のC個の色に対するパレットデータが、パレット予測のために記憶される。
D.イントラコピー予測−序論
一般に、イントラコピーモードは、ピクチャの現在のブロック、ライン、ストリング、又は他のセクションが同じピクチャの参照ブロック、ライン、ストリング、又は他のセクションにおける事前に再構成されたサンプル値を使用して予測される、イントラコピー予測を使用する。例えば、イントラコピーモードは、イントラブロックコピー(「BC」)予測、イントララインコピー(「LC」)予測、又はイントラストリングコピー(「SC」)予測を使用することができる。
一般に、イントラBCモードは、ピクチャの現在のブロックのサンプル値が同じピクチャのサンプル値を使用して予測される、イントラBC予測を使用する。ブロックベクトル(「BV」)値は、現在のブロックから、予測に使用されるサンプル値を示すピクチャのブロック(「参照ブロック」)への変位を示す。参照ブロックは、現在のブロックに対する予測値を提供する。予測に使用されるサンプル値は事前に再構成されたサンプル値であり、従ってそれらは、エンコーディングの間エンコーダで、またデコーディングの間デコーダで利用可能である。BV値はビットストリームにおいて信号伝達され、デコーダは、BV値を使用して、予測に使用するピクチャの参照ブロックを決定することができる。
図13は、現在ピクチャ(1310)の現在のブロック(1330)に対するイントラBC予測の一例(1300)を示している。現在のブロックは、符号化ユニット(「CU」)の符号化ブロック(「CB」)、予測ユニット(「PU」)の予測ブロック(「PB」)、変換ユニット(「TU」)の変換ブロック(「TB」)、又は他のブロックであり得る。現在のブロックのサイズは、64×64、32×32、16×16、8×8、又は他の何らかのサイズであり得る。ブロックは、イントラBC予測の目的で、より小さいブロックへと対称的又は非対称的に区分することができる。より一般には、現在のブロックのサイズはm×nであり、m及びnは各々整数であり、m及びnは互いに等しいことが可能であり、又は異なる値を有することができる。従って、現在のブロックは正方形又は長方形であり得る。或いは、現在のブロックは他の何らかの形状を有することができる。
BV(1340)は、現在のブロック(1330)から、予測に使用されるサンプル値を含むピクチャの参照ブロック(1350)への変位(又はオフセット)を示す。参照ブロック(1350)は現在のブロック(1330)と同一であることができ、又は現在のブロック(1330)の近似であることができる。現在のブロックの左上位置が現在ピクチャの位置(x,y)にあるものと仮定し、参照ブロックの左上位置が現在ピクチャの位置(x,y)にあるものと仮定する。BVは変位(x−x,y−y)を示す。例えば、現在のブロックの左上位置が位置(256,128)にあり、参照ブロックの左上位置が位置(126,104)にある場合、BV値は(−130,−24)である。この例では、負の水平変位は現在のブロックの左側の位置を示し、負の垂直変位は現在のブロックの上側の位置を示す。
イントラBC予測は、BC動作を使用して冗長性(ピクチャ内部の繰返しパターンなど)を活用することによって、符号化効率を改善することができる。しかしながら、現在のブロックに対してマッチする参照ブロックを発見することは、エンコーダが評価し得る候補参照ブロックの数を考慮すると、計算的に複雑で時間のかかる場合がある。図14は、WPPが使用可能にされていないときの、現在ピクチャ(1410)の現在のブロック(1430)に対する候補参照ブロックのいくつかを例証する一例(1400)を示している。4つのBV(1441、1442、1443、1444)が、4つの候補参照ブロックに対する変位を示す。WPPが使用可能にされていない場合、候補参照ブロックは、現在ピクチャ(1410)の再構成されたコンテンツ内のいずれかの場所であり得る。(ブロックは、一般に、左から右に、次に上から下に符号化される。)BV(1443、1444)によって示される候補参照ブロックに関して示されるように、候補参照ブロックは他の候補参照ブロックと重なり合う場合がある。いくつかの例示的な実装では、参照ブロックは、現在のブロックと同じスライス及びタイル内にあるように制約される。かかるイントラBC予測は、他のスライス又はタイルにおけるサンプル値を使用しない。参照ブロックの場所は、後述するように、1つ以上の他の制約、例えばWPPが使用可能にされるときの制約の対象であってもよい。
イントラBC予測の予測モードを有するブロックは、CB、PB、又は他のブロックであり得る。ブロックがCBであるとき、ブロックのBVはCUレベルで信号伝達されることができる(また、CU内の他のCBは、同じBV又はそのスケーリングされたバージョンを使用する)。或いは、ブロックがPBであるとき、ブロックのBVはPUレベルで信号伝達されることができる(また、PUないの他のPBは、同じBV又はそのスケーリングされたバージョンを使用する)。より一般には、イントラBC予測ブロックのBVは、ブロックに対して適切なシンタックスレベルで信号伝達される。
一般に、イントラLCモードは、ピクチャの現在のブロックの現在のラインのサンプル値が同じピクチャ内のサンプル値を使用して予測される、イントラLC予測を使用する。オフセット値が、現在のラインから、予測に使用されるサンプル値を含むピクチャのライン(「参照ライン」)への変位を示す。オフセット値はビットストリームにおいて信号伝達され、デコーダは、オフセット値を使用して、予測に使用する参照ラインを決定することができる。
図15は、現在ピクチャの現在のブロック(1530)のラインに対するイントラLC予測の一例(1500)を示している。現在のブロックは、CUのCB、PUのPB、TUのTB、又は他のブロックであり得る。現在のブロックのサイズは、64×64、32×32、16×16、8×8、又は他の何らかのサイズであり得る。より一般には、現在のブロックのサイズはm×nであり、m及びnは各々整数であり、m及びnは互いに等しいことが可能であり、又は異なる値を有することができる。従って、現在のブロックは正方形又は長方形であり得る。イントラLC予測について、ブロックは水平ライン又は垂直ラインへと分割される。水平ラインは1サンプル分の高さを有し、現在のブロックの幅を有する。垂直ラインは1サンプル分の幅を有し、現在のブロックの高さを有する。
図15では、第1のオフセット(1551)が、現在のブロック(1530)の第1のライン(1541)から、第1のライン(1541)の予測に使用されるサンプル値を含む参照ライン(1561)への変位を示す。参照ラインは所与のラインと同一であることができ、又は所与のラインの近似であることができる。第2のオフセット(1552)が、現在のブロック(1530)の第2のライン(1542)から、第2のライン(1542)の予測に使用されるサンプル値を含む参照ライン(1562)への変位を示す。オフセット値(1551、1552)は、現在ピクチャ内における変位を示すという点でBV値と類似している。図15は水平ラインを示しているが、現在のブロック(1530)はその代わりに、イントラLC予測のために垂直ラインへと分割することができる。ブロック毎、ユニット毎、又はピクチャ毎のシンタックス要素が、イントラLC予測について水平ラインが使用されるか又は垂直ラインが使用されるかを示すことができる。
イントラLC予測は、LC動作を使用して冗長性(ピクチャ内部の繰返しパターンなど)を活用することによって、符号化効率を改善することができる。WPPが使用可能にされていない場合、候補参照ラインは、現在ピクチャの再構成されたコンテンツ内のいずれかの場所であり得る。候補参照ラインは、他の候補参照ラインと重なり合う場合がある。いくつかの例示的な実装では、参照ラインは、現在のラインと同じスライス及びタイル内であるように制約される。参照ラインの場所は、後述するように、1つ以上の他の制約、例えばWPPが使用可能にされるときの制約の対象であってもよい。
一般に、イントラSCモードは、ピクチャの現在のブロックの現在のストリングのサンプル値が同じピクチャ内のサンプル値を使用して予測される、イントラSC予測を使用する。オフセット値が、現在のストリングから、予測に使用されるサンプル値を含むピクチャのストリング(「参照ストリング」)への変位を示す。ストリング長さ値が、サンプル値の観点でストリングの長さを示す。オフセット値及びストリング長さ値はビットストリームにおいて信号伝達され、デコーダは、オフセット値及びストリング長さ値を使用して、予測に使用する参照ストリングを決定することができる。
図16は、現在ピクチャの現在のブロック(1630)のストリングに対するイントラSC予測の一例(1600)を示している。現在のブロックは、CUのCB、PUのPB、TUのTB、又は他のブロックであり得る。現在のブロックのサイズは、64×64、32×32、16×16、8×8、又は他の何らかのサイズであり得る。より一般には、現在のブロックのサイズはm×nであり、m及びnは各々整数であり、m及びnは互いに等しいことが可能であり、又は異なる値を有することができる。従って、現在のブロックは正方形又は長方形であり得る。イントラSC予測について、ブロックは1つ以上のストリングへと分割される。図16では、現在のブロック(1630)は3つのストリングへと分割される。ブロックのストリングは、所与の行内で左から右に、次いで次の行、またその後も同様に、水平方向にスキャンすることが可能である。或いは、ブロックのストリングは、所与の列内で上から下に、次いで次の行、またその後も同様に、垂直方向にスキャンすることが可能である。図16のストリングは水平方向にスキャンされている。
図16では、第1のオフセット(1651)が、現在のブロック(1630)の第1のストリング(1641)から、第1のストリング(1641)の予測に使用されるサンプル値を含む参照ストリング(1661)への変位を示す。第1のストリング(1641)及び対応する参照ストリング(1661)の各々の長さは、6サンプル値である。参照ストリングは所与のストリングと同一であることができ、又は所与のストリングの近似であることができる。第2のオフセット(1652)が、現在のブロック(1630)の第2のストリング(1642)から、第2のストリング(1642)の予測に使用されるサンプル値を含む参照ストリング(1662)への変位を示す。第2のストリング(1642)及び対応する参照ストリング(1662)の各々の長さは、14サンプル値である。44サンプルの長さを有する、現在のブロック(1630)の第3のストリングに対しては、オフセットが示されていない。BV値と同じく、オフセット値(1651、1652)は、現在ピクチャ内における変位を示す。図16は水平方向のスキャンを示しているが、現在のブロック(1630)はその代わりに、イントラSC予測のために垂直方向にスキャンされるストリングへと分割することができる。ブロック毎、ユニット毎、又はピクチャ毎のシンタックス要素が、イントラSC予測について水平方向のスキャン順序が使用されるか又は垂直方向のスキャン順序が使用されるかを示すことができる。
イントラSC予測は、SC動作を使用して冗長性(ピクチャ内部の繰返しパターンなど)を活用することによって、符号化効率を改善することができる。イントラSC予測は、イントラBC予測又はイントラLC予測よりも柔軟性が高い(固定の区分だけでなく任意のストリングへの区分化を許容する)が、より多くの情報(オフセット値に加えてストリング長さ値)を信号伝達する。WPPが使用可能にされていない場合、候補参照ストリングは、現在ピクチャの再構成されたコンテンツ内のいずれかの場所であり得る。候補参照ストリングは、他の候補参照ストリングと重なり合う場合がある。いくつかの例示の実装では、参照ストリングは、現在のストリングと同じスライス及びタイル内に制約される。参照ストリングの場所は、後述するように、1つ以上の他の制約、例えばWPPが使用可能にされるときの制約の対象であってもよい。
イントラBCモード、イントラLCモード、又はイントラSCモードに対するイントラコピー予測動作は、CB(BV値若しくは他のオフセット値が、CB若しくはその一部毎に信号伝達されるとき)、又はPB(BV値若しくは他のオフセットが、PB若しくはその一部毎に信号伝達されるとき)のレベルで適用することができる。この場合、参照領域は、現在の領域、又は現在の領域を含むブロックと重なり合わないように制約される。或いは、イントラコピー予測動作は、BV値又は他のオフセット値がPB若しくはCB(又はその一部)に対して信号伝達されるときであっても、PB又はCB内のより小さいセクションに対して適用することができる。例えば、ブロックの第1のセクションについて、参照領域はブロック外の位置を含む。しかしながら、ブロックの第2のセクションについて、イントラコピー予測動作に使用される参照領域は、同じブロックの事前に再構成された第1のセクション内の位置を含むことができる。このように、BV値又はオフセット値は、同じPB又はCB内の位置を参照することができる。イントラコピー予測動作をPB又はCB内のセクションに適用できるようにすることは、比較的小さい大きさのBV値又は他のオフセットの使用を容易にする。
現在のユニット内の現在の領域に対する参照領域が同じユニット内の位置を含む場合、エンコーダが、(同じスライス及び同じタイル内にある)現在の領域及び参照領域のzスキャン順序を考慮することによって、BV値又は他のオフセット値の妥当性をチェックすることができる。例えば、エンコーダは、参照領域の右下位置(x+offset+m−1,y+offset+n−1)を含むブロックのzスキャン順序が、現在領域の左上位置(x,y)を含むブロックのzスキャン順序より小さいことをチェックし、これにおいて、offsetはオフセット値を示し、現在領域及び参照領域は寸法m×nを有する。その場合、参照領域の右下位置を含むブロックは事前に再構成されている(また従って、参照領域の残りもそうである)。エンコーダは、オフセット値が条件offset+m≦0及びoffset+n≦0のうち少なくとも1つを満たすことをさらにチェックして、参照領域が現在の領域に重ならないことを確保することができる。
一般に、zスキャン順序は、ピクチャを区分するユニットの、連続的に指定された順序付けに従う。図17は、現在の領域(1730)、及び参照領域の右下位置を含むことがあるユニットに対する、例示的なzスキャン順序(1700)を示している。現在の領域(1730)は、CB、PB、若しくは他のブロック、ライン、又はストリングを含む長方形であり得る。zスキャン順序は、一般に、行内で左から右へと連続的にユニットに割り当てられ、続く行において上から下へと繰り返される。ユニットが分割されると、zスキャン順序は分割ユニット内で再帰的に割り当てられる。H.265/HEVC規格のエンコーディング/デコーディングの実装の場合、zスキャン順序は、CTUラスタスキャンパターン(CTU行内で左から右、続くCTU行で上から下へと繰り返す)に沿ってCTUからCTUへ進行する。CTUが分割される場合、zスキャン順序は、分割されたCTU内の四分木のCUに対するラスタスキャンパターンに従う。また、CUが(例えば、複数のCUへ、又は複数のPUへと)分割される場合、zスキャン順序は、分割されたCU内のブロックに対するラスタスキャンパターンに従う。
いくつかの例示的な実装では、BV値又は他のオフセット値が、CU、PU、又は他のユニットに対して信号伝達され、ユニットの全てのブロックに適用される。色空間及び色サンプリングレートに依存して、BV値又は他のオフセット値は、スケーリングせずに全てのブロックに使用することができ、又は異なる色成分のブロックに対してスケーリングすることができる。或いは、異なるBV値又は他のオフセット値が、ユニットの異なるブロックに対して信号伝達されることができる。いくつかの例示的な実装では、同じ予測モード(例えば、イントラBCモード)がユニットの全てのブロックに適用される。或いは、異なるブロックが異なる予測モードを有することができる。
E.WPPが使用可能にされるときのイントラコピー予測に関する制約
一般に、イントラBC予測、イントラLC予測、及びイントラSC予測は、ピクチャ内の事前に再構成されたサンプル値を使用して、同じピクチャの現在のブロック、ライン、又はストリングのサンプル値を予測する。規則として、WPPが使用可能にされるときの事前に再構成されたサンプル値を含むピクチャのエリアは、WPPが使用可能にされないときの事前に再構成されたサンプル値を含むピクチャのエリアとは異なる。イントラコピー予測について、参照領域の場所に対するいくつかの制約が、WPPが使用可能にされるか否かにかかわらず強制される。参照領域の場所に対する1つ以上の他の制約が、WPPが使用可能にされるときに適用される。参照領域の場所に対する制約は、イントラBC予測について許容されるBV値に対する制限、又はイントラLC予測若しくはイントラSC予測について許容されるオフセット値に対する制限の形態をとることができる。
図18は、いくつかの例示的な実装による、WPPが使用可能にされるときのピクチャ(1810)の現在領域(1830)についての参照領域の場所に対する制約の一例(1800)を示している。ピクチャ(1810)はCTU行及びCTU列によって編成される。
現在の領域(1830)は、イントラコピーモードを用いてエンコードされ、又はデコードされる。現在の領域(1830)は現在のCTUの一部である。現在のCTUに関して、依存関係は前のCTU行からカスケードする。WPPが使用可能にされるとき、現在のCTUの処理を開始するのに、同じ行内でその左側にあるCTUは処理されており、右上のCTUまでの前の行内のCTUは処理されている。同様に、これらの既に処理されたCTUのいずれか1つについて、同じ行内で左側にあるCTUと右上のCTUまでの前の行内のCTUとは、処理されている。図18に示されるように、これらの事前に処理されたCTUは、WPPが使用可能にされるときにイントラコピー予測に利用可能であることを保証された、再構成されたコンテンツを提供する。
図18は、現在ピクチャ(1810)の現在の領域(1830)に対する候補参照領域のいくつかを示している。4つのオフセット値(1841、1842、1843、1844)が、4つの参照領域に関する変位を示す。候補参照領域は、他の候補参照領域と重なり合う場合がある。候補参照領域は、現在ピクチャ(1810)の再構成されたコンテンツ内のいずれかの場所であり得る。WPPが使用可能にされないとき、現在ピクチャ(1810)の再構成されたコンテンツは、一般に、現在のCTUの左側のCTU、及び前のCTU行の全てのCTUを含む。しかしながら、WPPが使用可能にされるとき、図18に示されるように、利用可能な再構成されたコンテンツはより少ない。図18では、オフセット値のうち3つ(1841、1842、1843)は有効な参照領域を示す。これらの有効な参照領域は、WPPが使用可能にされるときにイントラコピー予測に利用可能であることを保証された、再構成されたコンテンツ内のサンプル値のみを含む。オフセット値の1つ(1844)は無効の参照領域を示し、該領域は、WPPが使用可能にされるときにイントラコピー予測に利用可能であることを保証された、再構成されたコンテンツの、外側の少なくともいくつかのサンプル値を含む。
1.WPPが使用可能にされるときのイントラコピーモードに対する制約を用いるエンコード及びデコード
図19は、WPPが使用可能にされるときにイントラコピーモードに対して規則が強制される、エンコーディングのための一般化された技術(1900)を示している。図3又は図5a及び図5bに示されるエンコーダ、又は他のエンコーダなどのエンコーダが、技術(1900)を実施することができる。図20は、WPPが使用可能にされるときにイントラコピーモードに対して規則が強制される、デコーディングのための一般化された技術(2000)を示している。図4又は図6に示されるデコーダ、又は他のデコーダなどのデコーダが、技術(2000)を実施することができる。
図19を参照すると、エンコーダが、WPPが使用可能にされた状態でピクチャをエンコードする(1910)。エンコード(1910)は、エンコードされたデータを生成する。エンコーディング(1910)の一部として、イントラコピーモード(例えば、イントラBC予測、イントラLC予測、又はイントラSC予測を使用するモード)について、エンコーダは、WPPに起因する1つ以上の制約を強制する。エンコーダは、エンコードされたデータをビットストリームの一部として出力する(1920)。
図20を参照すると、デコーダが、エンコードされたデータをビットストリームの一部として受信する(2010)。エンコードされたデータは、イントラコピーモード(例えば、イントラBC予測、イントラLC予測、又はイントラSC予測を使用するモード)について、WPPに起因する1つ以上の制約を満たす。デコーダは、WPPが使用可能にされた状態で、エンコードされたデータをデコードする(2020)。デコーディング(2020)は、ピクチャを再構成する。
ビットストリーム内のシンタックス要素が、ビデオシーケンス、ピクチャのセット、又はピクチャについてWPPが使用可能にされるかを示すことができる。シンタックス要素は、SPSシンタックス構造、PPSシンタックス構造(例えば、H.265/HEVCの実装におけるシンタックス要素entropy_coding_sync_enabled_flag)、又はビットストリーム内の他のシンタックス構造において信号伝達することができる。
イントラコピーモードはイントラBCモードであり得る。この場合、ピクチャ内の現在のブロックについて、オフセット値がピクチャ内の参照ブロックへの変位を示す。参照ブロックは事前に再構成されたサンプル値を含む。或いは、イントラコピーモードはイントラLCモードであり得る。この場合、ピクチャのブロック内の現在のラインについて、オフセット値がピクチャ内の参照ラインへの変位を示す。参照ラインは、水平又は垂直方向であり得るラインスキャン方向でスキャンされた、事前に再構成されたサンプル値を含む。或いは、イントラコピーモードはイントラSCモードであり得る。この場合、ピクチャのブロック内の現在のストリングについて、オフセット値がピクチャ内の参照ストリングへの変位を示す。参照ストリングは、水平又は垂直方向であり得るストリングスキャン順序でスキャンされた、事前に再構成されたサンプル値を含む。現在のストリングについて、長さ値が、現在のストリング及び参照ストリングの各々の長さを示す。或いは、イントラコピーモードは、ピクチャ内の現在のブロック、ライン、ストリング、又は他のセクションについて、同じピクチャ内の参照ブロック、ライン、ストリング、又は他のセクションを発見するのにオフセット値を使用する、他の何らかのモードであることができ、その場合、参照ブロック、ライン、ストリングなどは、事前に再構成されたサンプル値を含む。
WPPに起因する制約は、参照領域から現在の領域への水平変位値が、現在の領域から参照領域への垂直変位値より小さいか又は等しいという制約を含むことができる。例えば、水平変位値は、参照領域の右端を含むWPP列から、現在の領域の左端を含むWPP列までの差を測定し、垂直変位値は、現在の領域の上端を含むWPP行から、参照領域の下端を含むWPP行までの差を測定する。いくつかの例示的な実装では、WPP列の各々はCTUの列であり、WPP行の各々はCTUの行である。或いは、WPPに起因する制約は、1つ以上の他の及び/又は追加の制約を含む。
イントラコピーモードがイントラBCモードである場合、現在の領域は現在のブロックであり、参照領域は参照ブロックである。イントラコピーモードがイントラLCモードである場合、現在の領域は現在のラインであり、参照領域は参照ラインである。イントラコピーモードがイントラSCモードである場合、現在の領域は現在のストリングを含む長方形であり、参照領域は参照ストリングを含む長方形である。エンコーダ又はデコーダは、ストリングスキャン順序(例えば、水平、垂直)における、現在のストリングの開始位置と、現在のストリングの終了位置と、現在のストリングの開始位置と終了位置との間の任意の位置とを含む、長方形を識別することができる。エンコーダ又はデコーダは、現在のストリングを含む長方形に適用されるオフセット値を使用して、参照ストリングを含む長方形を識別することができる。
エンコーダはまた、WPPに起因しない1つ以上の他の制約を強制することができる。例えば、エンコーダは、現在の領域の左上位置及び参照領域の左上位置が、適用可能であれば同じスライス内に、また適用可能であれば同じタイル内にあることをチェックすることができる。別の例として、エンコーダは、現在の領域の左上位置及び参照領域の右下位置が、適用可能であれば同じスライス内に、また適用可能であれば同じタイル内にあることをチェックすることができる。更に別の例として、エンコーダは、次の3つの条件のうち1つが満たされることをチェックすることができる。(a)参照領域の下端を含むCTU行が、現在の領域の上端を含むCTU行の上であること、(b)参照領域の下端を含むCTU行が現在の領域の上端を含むCTU行に等しい場合、参照領域の右端を含むCTU列が現在の領域の左端を含むCTU列の左であること、及び(c)参照領域の下端を含むCTU行が現在の領域の上端を含むCTU行に等しい場合、及び参照領域の右端を含むCTU列が現在の領域の左端を含むCTU列に等しい場合、参照領域の右下位置がzスキャン順序において現在の領域の左上位置より早いこと。
以下のセクションは、いくつかの例示的な実装による、WPPが使用可能にされるときにエンコーダがイントラBC予測、イントラLC予測、及びイントラSC予測に対してそれぞれ強制することができる、制約の例について詳述する。
2.WPPが使用可能にされるときのイントラBC予測のBV値に対する例示的な制約
このセクションは、WPPが使用可能にされるときにエンコーダがイントラBC予測対して強制することができる、制約の例を詳述する。現在のブロックについて、制約は、BV値によって示される候補参照ブロックが、WPPが使用可能にされるときであっても現在のブロックがエンコード又はデコードされるとき利用可能になる再構成されたサンプル値を含むことを、検証する。
定義。現在のブロックは、現在ピクチャの左上位置に対して、位置(x,y)から始まる。現在のブロックの幅及び高さはそれぞれ、wblock及びhblockである。現在のブロックは現在のCUの一部である。CTUサイズはSである。現在のCUは、ピクチャの左上位置に対して(xCU,yCU)から始まる。ブロックベクトルは(BV,BV)である。
エンコーダは、以下の制約の全てが満たされていることを検証する。
第1の制約。エンコーダは、位置(x,y)及び位置(x+BV,y+BV)が、同じスライス内及び同じタイル内にあることを検証する。つまり、エンコーダは、現在のブロックの左上位置及び参照ブロックの左上位置が、同じスライス内及び同じタイル内にあることを検証する。2つの位置が異なるスライス又は異なるタイル内にある場合、第1の制約は満たされない。
第2の制約。エンコーダは、位置(x,y)及び位置(x+BVx+wblock−1,y+BV+hblock−1)が、同じスライス及び同じタイル内にあることを検証する。つまり、エンコーダは、現在のブロックの左上位置及び参照ブロックの右下位置が、同じスライス内及び同じタイル内にあることを検証する。2つの位置が異なるスライス又は異なるタイル内にある場合、第2の制約は満たされない。
第1及び第2の制約に関して、複数のスライスが使用されない場合、チェックされる2つの位置は必然的に同じスライス内であり、スライスに対する第1及び第2の制約をチェックする必要はない。同様に、複数のタイルが使用されない場合、チェックされる2つの位置は必然的に同じタイル内であり、タイルに対する第1及び第2の制約をチェックする必要はない。現在のブロックの全ての位置が単一のスライス及び単一のタイル内にある。第1及び第2の制約が満たされる場合、参照ブロックの全ての位置もそのスライス及びタイル内にある。エンコーダは、WPPが使用可能にされるか否かにかかわらず、第1及び第2の制約をチェックする。
第3の制約。第3の制約に関して、エンコーダは、以下の3つの条件のうち1つが満たされることを検証する。エンコーダは、WPPが使用可能にされるか否かにかかわらず、第3の制約をチェックする。
第3の制約の第1の条件。エンコーダは、(y+BV+hblock−1)/S<y/Sであるか否かをチェックする。つまり、エンコーダは、参照ブロックの下端を含むCTU行を算出する:(y+BV+hblock−1)/S。エンコーダはまた、現在のブロックの上端を含むCTU行を算出する:y/S。エンコーダは、次いで、参照ブロックの下端を含むCTU行が、現在のブロックの上端を含むCTU行の上であるか否かをチェックする。上側である場合、参照ブロックは必然的に、少なくともWPPが使用可能にされないとき、事前に再構成されたサンプル値を含む。
第3の制約の第2の条件。(y+BV+hblock−1)/S==y/Sのとき、エンコーダは、(x+BV+wblock−1)/S<x/Sであるか否かをチェックする。つまり、参照ブロックの下端を含むCTU行が、現在のブロックの上端を含むCTU行に等しい場合(同じCTU行)、エンコーダは、(a)参照ブロックの右端を含むCTU列((x+BV+wblock−1)/S)、及び(b)現在のブロックの左端を含むCTU列(x/S)を算出する。エンコーダは、次いで、参照ブロックの右端を含むCTU列が、現在のブロックの左端を含むCTU列の左であるか否かをチェックする。左側である場合、参照ブロックは必然的に、事前に再構成されたサンプル値を含む。
第3の制約の第3の条件。(y+BV+hblock−1)/S==y/S及び(x+BV+wblock−1)/S==x/Sのとき、エンコーダは、位置(x+BV+wblock−1,yBV+hblock−1)のzスキャン順序が、位置(x,y)のzスキャン順序よりも小さいか否かをチェックする。つまり、参照ブロックの下端を含むCTU行が現在のブロックの上端を含むCTU行に等しい場合(同じCTU行)、及び参照ブロックの右端を含むCTU列が現在のブロックの左端を含むCTU列に等しい場合(同じCTU列)、エンコーダは、参照ブロックの右下位置がzスキャン順序において現在のブロックの左上位置より早いか否かをチェックする。第3の条件は、現在のCU内からの予測が許容される場合に適用される。現在のCU内からの予測が許容されない場合、(x,y)は(xCU,yCU)のはずである。
第4の制約。エンコーダは、WPPが使用可能にされるときの第4の制約をチェックする。第4の制約に関して、エンコーダは、(x+BV+wblock−1)/S−x/S<=y/S−(y+BV+hblock−1)/Sであることを検証する。つまり、エンコーダは、参照ブロックの右端を含むCTU列と現在のブロックの左端を含むCTU列との差を算出する:(x+BV+wblock−1)/S−x/S。エンコーダはまた、現在のブロックの上端を含むCTU行と参照ブロックの下端を含むCTU行との差を算出する:y/S−(y+BV+hblock−1)/S。エンコーダは、第1の差(CTU列間)が第2の差(CTU行間)より小さいか又は等しいことを検証する。図8又は図18において現在のCTUから上側及び右側の、CTUのギザギザの線に示されるように、上記のことは、参照ブロックが、WPPが使用可能にされるときに予測に利用可能であることを保証された、再構成されたコンテンツの一部であることを検証する。
3.WPPが使用可能にされるときのイントラLC予測のオフセット値に対する例示的な制約
このセクションは、WPPが使用可能にされるときにエンコーダがイントラLC予測に対して強制することができる、制約の例を詳述する。現在のラインについて、制約は、オフセット値によって示される候補参照ラインが、WPPが使用可能にされるときであっても現在のラインがエンコード又はデコードされるとき利用可能になる再構成されたサンプル値を含むことを、検証する。
定義。現在のブロックは、現在ピクチャの左上位置に対して、位置(x,y)から開始する。現在のブロックの幅及び高さはそれぞれ、wblock及びhblockである。現在のブロックは現在のCUの一部である。CTUサイズはSである。現在のラインに対するオフセット値は(offset,offset)である。現在のブロックのうちLラインが既に処理されている。
エンコーダは、現在のブロックの現在のラインの開始及び終了位置を定義する。位置(xcurr_line_start,ycurr_line_start)は現在のラインの開始位置であり、位置(xcurr_line_end,ycurr_line_end)は現在のラインの終了位置である。水平スキャン(行モードとも呼ばれる)が使用されるとき、あらゆるラインが現在のブロックの行である:(xcurr_line_start,ycurr_line_start)=(x,y+L)、及び(xcurr_line_end,ycurr_line_end)=(x+wblock−1,y+L)。垂直スキャン(列モードとも呼ばれる)が使用されるとき、あらゆるラインが現在のブロックの列である:(xcurr_line_start,ycurr_line_start)=(x+L,y)、及び(xcurr_line_end,ycurr_line_end)=(x+L,y+hblock−1)。
エンコーダはまた、現在のラインを予測する候補参照ラインの開始及び終了位置を定義する。位置(xref_line_start,yref_line_start)は参照ラインの開始位置である。位置(xref_line_end,yref_line_end)は参照ラインの終了位置である。参照ラインは、行(水平スキャンが使用されるとき)又は列(垂直スキャンが使用されるとき)であり得る。水平スキャン(行モード)又は垂直スキャン(列モード)が使用される:(xref_line_start,yref_line_start)=(xcurr_line_start,ycurr_line_start)+(offset,offset)、及び(xref_line_end,yref_end)=(xcurr_line_end,ycurr_line_end)+(offset,offset)。
エンコーダは、以下の制約の全てが満たされていることを検証する。これらの制約のいくつかに関して、現在のブロックの左上位置(x,y)が考慮される。或いは、かかる制約に関して、現在のラインの開始位置(xcurr_line_start,ycurr_line_start)を、現在のブロックの左上位置(x,y)の代わりにチェックすることができる。
第1の制約。エンコーダは、位置(x,y)及び位置(xref_line_start,yref_line_start)が同じスライス内及び同じタイル内にあることを検証する。つまり、エンコーダは、現在のブロックの左上位置及び参照ラインの開始位置が、同じスライス内及び同じタイル内にあることを検証する。2つの位置が異なるスライス又は異なるタイル内にある場合、第1の制約は満たされていない。
第2の制約。エンコーダは、位置(x,y)及び位置(xref_line_end,yref_line_end)が同じスライス及び同じタイル内にあることを検証する。つまり、エンコーダは、現在のブロックの左上位置及び参照ラインの終了位置が、同じスライス内及び同じタイル内にあることを検証する。2つの位置が異なるスライス又は異なるタイル内にある場合、第2の制約は満たされない。
第1及び第2の制約に関して、複数のスライスが使用されない場合、チェックされる2つの位置は必然的に同じスライス内であり、スライスに関して第1及び第2の制約をチェックする必要はない。同様に、複数のタイルが使用されない場合、チェックされる2つの位置は必然的に同じタイル内であり、タイルに関して第1及び第2の制約をチェックする必要はない。現在のラインの全ての位置が、単一のスライス及び単一のタイル内にある。第1及び第2の制約が満たされる場合、参照ラインの全ての位置もそのスライス及びタイル内にある。エンコーダは、WPPが使用可能にされるか否かにかかわらず、第1及び第2の制約をチェックする。
第3の制約。第3の制約に関して、エンコーダは、以下の3つの条件の1つが満たされることを検証する。エンコーダは、WPPが使用可能にされるか否かにかかわらず、第3の制約をチェックする。
第3の制約の第1の条件。エンコーダは、yref_line_end/S<y/Sであるか否かをチェックする。つまり、エンコーダは、参照ラインの下端又は下位置を含むCTU行を算出する:yref_line_end/S。エンコーダはまた、現在のブロックの上端を含むCTU行を算出する:y/S。次いで、エンコーダは、参照ラインの下端又は下位置を含むCTU行が、現在のブロックの上端を含むCTU行の上であるか否かをチェックする。上側である場合、参照ラインは必然的に、少なくともWPPが使用可能にされないとき、事前に再構成されたサンプル値を含む。
第3の制約の第2の条件。yref_line_end/S==y/Sのとき、エンコーダは、xref_line_end/S<x/Sであるか否かをチェックする。つまり、参照ラインの下端又は下位置を含むCTU行が現在のブロックの上端を含むCTU行に等しい場合(同じCTU行)、エンコーダは、(a)参照ラインの右端又は右位置を含むCTU列(xref_line_end/S)、及び(b)現在のブロックの左端を含むCTU列(x/S)を算出する。次いで、エンコーダは、参照ラインの右端又は右位置を含むCTU列が、現在のブロックの左端を含むCTU列の左であるか否かをチェックする。左側である場合、参照ラインは必然的に、事前に再構成されたサンプル値を含む。
第3の制約の第3の条件。yref_line_end/S==y/S及びxref_line_end/S==x/Sのとき、エンコーダは、位置(xref_line_end,yref_line_end)のzスキャン順序が、位置(xcurr_line_start,ycurr_line_start)のzスキャン順序より小さいか否かをチェックする。つまり、参照ラインの下端又は下位置を含むCTU行が現在のブロックの上端を含むCTU行に等しく(同じCTU行)、参照ラインの右端又は右位置を含むCTU列が現在のブロックの左端を含むCTU列に等しい場合(同じCTU列)、エンコーダは、参照ラインの終了位置がzスキャン順序において現在のラインの開始位置より早いか否かをチェックする。第3の条件は、現在のCU内からの予測が許容される場合に適用される。現在のCU内からの予測が許容されない場合、(xcurr_line_start,ycurr_line_start)は(x,y)であるべきである。
第4の制約。エンコーダは、WPPが使用可能にされるときの第4の制約をチェックする。第4の制約に関して、エンコーダは、xref_line_end/S−x/S<=y/S−yref_line_end/Sであることを検証する。つまり、エンコーダは、参照ラインの右端又は右位置を含むCTU列と現在のブロックの左端を含むCTU列との差を算出する:xref_line_end/S−x/S。エンコーダはまた、現在のブロックの上端を含むCTU行と参照ラインの下端又は下位置を含むCTU行との差を算出する:y/S−yref_line_end/S。エンコーダは、第1の差(CTU列間)が第2の差(CTU行間)より小さいか又は等しいことを検証する。
4.WPPが使用可能にされるときのイントラSC予測のオフセット値に対する例示的な制約
このセクションは、WPPが使用可能にされるときにイントラSC予測に対してエンコーダが強制することができる、制約の例を詳述する。現在のストリングについて、制約は、オフセット値及び長さ値によって示される候補参照ストリングが、WPPが使用可能にされるときであっても現在のストリングがエンコード又はデコードされるとき利用可能になる再構成されたサンプル値を含むことを、検証する。
定義。現在のブロックは、現在ピクチャの左上位置に対して、位置(x,y)から始まる。現在のブロックの幅及び高さはそれぞれ、wblock及びhblockである。現在のブロックは現在のCUの一部である。CTUサイズはSである。現在のストリングに対するオフセット値は(offset,offset)であり、現在のストリングに対するストリング長さ値はlengthstringである。現在のブロックのうちKピクセルが、イントラSC予測を使用して既に処理されている。
エンコーダは、現在のブロックの現在のストリングの開始及び終了位置を定義する。位置(xcurr_string_start,ycurr_string_start)は現在のストリングの開始位置であり、位置(xcurr_string_end,ycurr_string_end)は現在のストリングの終了位置である。エンコーダはまた、現在のストリングの開始位置と、現在のストリングの終了位置と、(ストリングスキャン順序において)現在のストリングの開始及び終了位置の間の任意の位置とを含む、境界長方形を定義する。境界長方形の左上位置は(xcurr_rect_TL,ycurr_rect_TL)である。境界長方形の右下位置は(xcurr_rect_BR,ycurr_rect_BR)である。エンコーダは、(参照ストリングを含む)参照長方形を、オフセット値で変位された境界長方形として定義する。参照長方形の左上位置は(xref_rect_TL,yref_rect_TL)である。境界長方形の右下位置は(xref_rect_BR,yref_rect_BR)である。
水平ストリングスキャンが使用されるとき(現在のブロックの行内で左から右、上の行から下の行)、開始位置は:(xcurr_string_start,ycurr_string_start)=(x+K%wblock,y+K/wblock)である。終了位置は:(xcurr_string_end,ycurr_string_end)=(x+(K+lengthstring−1)%wblock,y+(K+lengthstring−1)/wblock)である。現在のストリングの開始位置及び終了位置が現在のブロックの同じ行にある場合、(xcurr_rect_TL,ycurr_rect_TL)=(xcurr_string_start,ycurr_string_start)、及び(xcurr_rect_BR,ycurr_rect_BR)=(xcurr_string_end,ycurr_string_end)である。そうでなければ、境界長方形の左上位置は(xcurr_rect_TL,ycurr_rect_TL)=(x,y+K/wblock)であり、境界長方形の右下位置は(xcurr_rect_BR,ycurr_rect_BR)=(x+wblock−1),y+(K+lengthstring−1)/wblock)である。
垂直スキャンが使用されるとき(現在のブロックの列内で上から下、左の列から右の列)、開始位置は:(xcurr_string_start,ycurr_string_start)=(x+K/hblock,y+K%hblock)である。終了位置は:(xcurr_string_end,ycurr_string_end)=(x+(K+lengthstring−1)/hblock,y+(K+lengthstring−1)%hblock)である。現在のストリングの開始位置及び終了位置が現在のブロックの同じ列内にあるとき、(xcurr_rect_TL,ycurr_rect_TL)=(xcurr_string_start,ycurr_string_start)、及び(xcurr_rect_BR,ycurr_rect_BR)=(xcurr_string_end,ycurr_string_end)である。そうでなければ、境界長方形の左上位置は(xcurr_rect_TL,ycurr_rect_TL)=(x+K/hblock,y)であり、境界長方形の右下位置は(xcurr_rect_BR,ycurr_rect_BR)=(x+(K+lengthstring−1)/hblock),y+hblock−1)である。
水平スキャンが使用されるか又は垂直スキャンが使用されるかにかかわらず、参照長方形の左上位置は、(xref_rect_TL,yref_rect_TL)=(xcurr_rect_TL,ycurr_rect_TL)+(offset,offset)であり、参照長方形の右下位置は、(xref_rect_BR,yref_rect_BR)=(xcurr_rect_BR,ycurr_rect_BR)+(offset,offset)である。最後に、参照ストリングの開始位置は、(xref_string_start,yref_string_start)=(xcurr_string_start,ycurr_string_start)+(offset,offset)である。
エンコーダは、以下の制約の全てが満たされることを検証する。これらの制約のいくつかに関して、現在のブロックの左上位置(x,y)が考慮される。或いは、かかる制約に関して、現在のストリングの開始位置又は境界長方形の左上位置を、現在のブロックの左上位置(x,y)の代わりにチェックすることができる。
第1の制約。エンコーダは、位置(x,y)及び位置(xref_rect_TL,yref_rect_TL)が同じスライス内及び同じタイル内にあることを検証する。つまり、エンコーダは、現在のブロックの左上位置及び参照長方形の左上位置が、同じスライス内及び同じタイル内にあることを検証する。2つの位置が異なるスライス又は異なるタイル内にある場合、第1の制約は満たされない。
第2の制約。エンコーダは、位置(x,y)及び位置(xref_rect_BR,yref_rect_BR)が同じスライス及び同じタイル内にあることを検証する。つまり、エンコーダは、現在のブロックの左上位置及び参照長方形の右下位置が、同じスライス内及び同じタイル内にあることを検証する。2つの位置が異なるスライス又は異なるタイル内にある場合、第2の制約は満たされない。
第1及び第2の制約に関して、複数のスライスが使用されない場合、チェックされる2つの位置は必然的に同じスライス内であり、スライスに関して第1及び第2の制約をチェックする必要はない。同様に、複数のタイルが使用されない場合、チェックされる2つの位置は必然的に同じタイル内であり、タイルに関して第1及び第2の制約をチェックする必要はない。現在のストリングの全ての位置が、単一のスライス及び単一のタイル内にある。第1及び第2の制約が満たされる場合、参照長方形(また従って、参照ストリング)の全ての位置もそのスライス及びタイル内にある。エンコーダは、WPPが使用可能にされるか否かにかかわらず、第1及び第2の制約をチェックする。
第3の制約。第3の制約に関して、エンコーダは、以下の条件のうち1つ以上が満たされることを検証する。エンコーダは、WPPが使用可能にされるか否かにかかわらず、第3の制約をチェックする。
第3の制約の第1の条件。エンコーダは、yref_rect_BR/S<y/Sであるか否かをチェックする。つまり、エンコーダは、参照長方形の下端を含むCTU行を算出する:yref_rect_BR/S。エンコーダはまた、現在のブロックの上端を含むCTU行を算出する:y/S。次いで、エンコーダは、参照長方形の下端を含むCTU行が、現在のブロックの上端を含むCTU行の上であるか否かをチェックする。上側である場合、参照長方形は必然的に、少なくともWPPが使用可能にされないとき、事前に再構成されたサンプル値を含む。
第3の制約の第2の条件。yref_rect_BR/S==y/Sのとき、エンコーダは、xref_rect_BR/S<x/Sであるか否かをチェックする。つまり、参照長方形の下端を含むCTU行が現在のブロックの上端を含むCTU行に等しい場合(同じCTU行)、エンコーダは、(a)参照長方形の右端を含むCTU列(xref_rect_BR/S)、及び(b)現在のブロックの左端を含むCTU列(x/S)を算出する。次いで、エンコーダは、参照長方形の右端を含むCTU列が、現在のブロックの左端を含むCTU列の左であるか否かをチェックする。左側である場合、参照長方形は必然的に、事前に再構成されたサンプル値を含む。
第3の制約の第3の条件。yref_rect_BR/S==y/S及びxref_rect_BR/S==x/Sのとき、エンコーダは、位置(xref_rect_BR,yref_rect_BR)のzスキャン順序が、位置(x,y)のzスキャン順序より小さいか否かをチェックする。つまり、参照長方形の下端を含むCTU行が現在のブロックの上端を含むCTU行に等しく(同じCTU行)、参照長方形の右端を含むCTU列が現在のブロックの左端を含むCTU列に等しい場合(同じCTU列)、エンコーダは、参照長方形の右下位置がzスキャン順序において現在のブロックの左上位置より早いか否かをチェックする。
第3の制約の第4の条件。現在のCU内からの予測が許容される場合、yref_string_start==yのとき、エンコーダは、xref_string_start<xであることをチェックする。つまり、現在のCU内からの予測が許容される場合、現在のストリング及び参照ストリングが同じ行で始まり、参照ストリングが現在のストリングの左側で始まる場合に、第3の制約を満たすことができる。
第4の制約。エンコーダは、WPPが使用可能にされるときの第4の制約をチェックする。第4の制約に関して、エンコーダは、xref_rect_BR/S−x/S<=y/S−yref_rect_BR/Sであることを検証する。つまり、エンコーダは、参照長方形の右端又は右位置を含むCTU列と現在のブロックの左端を含むCTU列との差を算出する:xref_rect_BR/S−x/S。エンコーダはまた、現在のブロックの上端を含むCTU行と参照長方形の下端又は下位置を含むCTU行との差を算出する:y/S−yref_rect_BR/S。エンコーダは、第1の差(CTU列間)が第2の差(CTU行間)より小さいか又は等しいことを検証する。
第5の制約。第5の制約に関して、エンコーダは、K+lengthstring<=wblock×hblockであることを検証する。つまり、エンコーダは、現在のブロックが、既に処理されている位置のカウントを考慮して、現在のストリングに対して十分な位置を含むことをチェックする。
F.代替例及び変形例
本明細書に記載する例の多くでは、イントラコピー予測及び動き補償が別個のコンポーネント又はプロセスで実現され、オフセット推定及び動き推定が別個のコンポーネント又はプロセスで実現される。或いは、イントラコピー予測は、動き補償の特別な事例として実現することができ、オフセット推定は、現在ピクチャが参照ピクチャとして使用される、動き推定の特別な事例として実現することができる。かかる実装では、オフセット値をMV値として信号伝達することができるが、ピクチャ間予測ではなく(現在のピクチャ内の)イントラコピー予測に使用される。本明細書で使用されるとき、「イントラコピー予測」という用語は、予測が、ピクチャ内予測モジュール、動き補償モジュール、又は他の何らかのモジュールのどれを使用して提供されるかにかかわらず、現在ピクチャ内の予測を示す。同様に、BV値又は他のオフセット値は、MV値を使用して、又は区別可能なタイプのパラメータ若しくはシンタックス要素を使用して表すことができ、オフセット推定は、ピクチャ内推定モジュール、動き推定モジュール、又は他の何らかのモジュールを使用して提供することができる。
開示する発明の原理が適用されてもよい多くの可能な実施形態の観点で、例証される実施形態は本発明の好ましい実施例に過ぎず、本発明の範囲を限定するものとしてとらえられるべきでないことを認識すべきである。むしろ、本発明の範囲は以下の特許請求の範囲によって定義される。従って、本発明として、こうした請求項の範囲及び趣旨内にあるもの全てを請求する。

Claims (20)

  1. コンピューティングシステムにおいて、
    波面並列処理(「WPP」)が可能な状態でピクチャをエンコードすることであって、前記エンコードすることは、エンコードされたデータを生成し、パレット符号化モードについて、前記ピクチャの前のWPP行内の前のユニットからの前のパレットデータを用いて、前記ピクチャの現在のWPP行内の最初のユニットのパレットを予測することを含む、ことと、
    前記エンコードされたデータをビットストリームの一部として出力することと、
    を含む方法。
  2. コンピューティングシステムにおいて、
    エンコードされたデータをビットストリームの一部として受信することと、
    波面並列処理(「WPP」)が可能な状態で前記エンコードされたデータをデコードすることであって、前記デコードすることは、ピクチャを再構成し、パレットデコーディングモードについて、前記ピクチャの前のWPP行内の前のユニットからの前のパレットデータを用いて、前記ピクチャの現在のWPP行内の最初のユニットのパレットを予測することを含む、ことと、
    を含む方法。
  3. 前記現在のWPP行内の前記最初のユニットの前記パレットは、前記現在のWPP行内の前記最初のユニットに使用される少なくともいくつかの色を表し、
    前記前のWPP行内の前記前のユニットからの前記前のパレットデータは、(a)前記前のWPP行内の前記前のユニットのパレットに使用される少なくともいくつかの色を表し、あるいは(b)前記前のWPP行内の前記前のユニットにより継承されており、
    前記前のWPP行は、前記現在のWPP行のすぐ上であり、
    前記前のWPP行内の前記前のユニットは、前記現在のWPP行内の前記最初のユニットの上か、又は前記現在のWPP行内の前記最初のユニットの右上である、
    請求項1又は2に記載の方法。
  4. 前記ピクチャの前記現在のWPP行内の前記最初のユニットの前記パレットからのパレットデータを用いて、前記ピクチャの前記現在のWPP行内の後のユニットのパレットを予測すること、
    をさらに含む請求項1又は2に記載の方法。
  5. 前記現在のWPP行及び前記前のWPP行は、符号化ツリーユニットの行であり、前記現在のWPP行内の前記最初のユニット及び前記前のWPP行内の前記前のユニットは、符号化ユニットである、請求項1又は2に記載の方法。
  6. 前記前のWPP行内の前記前のユニットからの前記前のパレットデータは、C色の各々について、1つ以上の色成分値を含み、Cは、前のWPP内の前記前のユニットからの前記前のパレットデータの閾値カウントにより限定される、請求項1又は2に記載の方法。
  7. 前記予測することは、
    前記前のWPP行内の前記前のユニットからの前記前のパレットデータを、前記現在のWPP行内の前記最初のユニットの前記パレットとして再使用するかを決定することと、
    前記前のWPP行内の前記前のユニットからの前記前のパレットデータから1つ以上の色を選択して、前記現在のWPP行内の前記最初のユニットの前記パレットに含めることと、
    のうち1つ以上を含む、請求項1又は2に記載の方法。
  8. コンピューティングシステムにおいて、
    波面並列処理(「WPP」)が可能な状態でピクチャをエンコードすることであって、前記エンコードすることは、エンコードされたデータを生成し、イントラコピーモードについて、前記WPPに起因する1つ以上の制約を強制することを含む、ことと、
    前記エンコードされたデータをビットストリームの一部として出力することと、
    を含む方法。
  9. コンピューティングシステムにおいて、
    エンコードされたデータをビットストリームの一部として受信することであって、前記エンコードされたデータは、イントラコピーモードについて、波面並列処理(「WPP」)に起因する1つ以上の制約を満たす、ことと、
    前記WPPが可能な状態で前記エンコードされたデータをデコードすることであって、前記デコードすることはピクチャを再構成する、ことと、
    を含む方法。
  10. 前記WPPに起因する前記1つ以上の制約は、参照領域から現在の領域への水平変位値が前記現在の領域から前記参照領域への垂直変位値より小さいか又は等しいという制約を含む、請求項8又は9に記載の方法。
  11. 前記水平変位値は、前記参照領域の右端を含むWPP列から前記現在の領域の左端を含むWPP列への差を測定し、
    前記垂直変位値は、前記現在の領域の上端を含むWPP行から前記参照領域の下端を含むWPP行への差を測定する、
    請求項10に記載の方法。
  12. 前記WPP列の各々は符号化ツリーユニット(“CTU”)の列であり、前記WPP行の各々はCTUの行である、請求項11に記載の方法。
  13. 前記イントラコピーモードについて、他の制約が、
    (1)前記現在の領域の左上位置と前記参照領域の左上位置とが、適用可能な場合に同じスライス内であり、適用可能な場合に同じタイル内であることと、
    (2)前記現在の領域の前記左上位置と前記参照領域の右下位置とが、適用可能な場合に同じスライス内であり、適用可能な場合に同じタイル内であることと、
    (3)下記の3つの条件、すなわち、
    (a)前記参照領域の下端を含む符号化ツリーユニット(“CTU”)行が、前記現在の領域の上端を含むCTU行の上であること、
    (b)前記参照領域の前記下端を含む前記CTU行が、前記現在の領域の前記上端を含む前記CTU行に等しい場合、前記参照領域の前記右端を含むCTU列が、前記現在の領域の左端を含むCTU列の左であること、及び、
    (c)前記参照領域の前記下端を含む前記CTU行が、前記現在の領域の前記上端を含む前記CTU行に等しい場合、及び前記参照領域の前記右端を含む前記CTU列が、前記現在の領域の前記左端を含む前記CTU列に等しい場合に、前記参照領域の前記右下位置が、zスキャン順序において前記現在の領域の前記左上位置より早いこと、
    のうち1つが満たされることと、
    を含む、請求項10に記載の方法。
  14. 前記イントラコピーモードがイントラブロックコピーモードである場合、前記現在の領域は現在のブロックであり、前記参照領域は参照ブロックであり、
    前記イントラコピーモードがイントララインコピーモードである場合、前記現在の領域は現在のラインであり、前記参照領域は参照ラインであり、
    前記イントラコピーモードがイントラストリングコピーモードである場合、前記現在の領域は、現在のストリングを含む長方形であり、前記参照領域は、参照ストリングを含む長方形である、
    請求項10乃至13のうちいずれか1項に記載の方法。
  15. 前記イントラコピーモードが前記イントラストリングコピーモードであるとき、
    前記現在のストリングの開始位置と、前記現在のストリングの終了位置と、ストリングスキャン順序において前記現在のストリングの前記開始位置と前記終了位置との間の任意の位置と、を含む長方形を決定することにより、前記現在のストリングを含む前記長方形を識別することと、
    前記現在のストリングを含む前記長方形に適用されるオフセット値を用いて、前記参照ストリングを含む前記長方形を識別することと、
    をさらに含む請求項14に記載の方法。
  16. 前記イントラコピーモードは、イントラブロックコピーモードであり、前記イントラブロックコピーモードに従い、前記ピクチャ内の現在のブロックについて、オフセット値が前記ピクチャ内の参照ブロックに対する変位を示し、前記参照ブロックは、事前に再構成されたサンプル値を含む、請求項8又は9に記載の方法。
  17. 前記イントラコピーモードは、イントラストリングコピーモードであり、前記イントラストリングコピーモードに従い、前記ピクチャのブロック内の現在のストリングについて、
    オフセット値が、前記ピクチャ内の参照ストリングに対する変位を示し、前記参照ストリングは、ストリングスキャン順序においてスキャンされる、事前に再構成されたサンプル値を含み、
    長さ値が、前記現在のストリング及び前記参照ストリングの各々の長さを示す、
    請求項8又は9に記載の方法。
  18. 前記イントラコピーモードは、イントララインコピーモードであり、前記イントララインコピーモードに従い、前記ピクチャのブロック内の現在のラインについて、オフセット値が、前記ピクチャ内の参照ラインに対する変位を示し、前記参照ラインは、ラインスキャン方向においてスキャンされる、事前に再構成されたサンプル値を含む、請求項8又は9に記載の方法。
  19. コンピュータ実行可能命令を記憶した1つ以上のコンピュータ読取可能媒体であって、これによりプログラムされたコンピューティングシステムに請求項1乃至18のうちいずれか1項に記載の方法を実行させる、1つ以上のコンピュータ読取可能媒体。
  20. 請求項1乃至18のうちいずれか1項に記載の方法を実行するように構成されたコンピューティングシステム。
JP2017517017A 2014-09-30 2014-09-30 波面並列処理が可能にされた場合のピクチャ内予測モードに関する規則 Pending JP2017535145A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/087885 WO2016049839A1 (en) 2014-09-30 2014-09-30 Rules for intra-picture prediction modes when wavefront parallel processing is enabled

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019094546A Division JP6793778B2 (ja) 2019-05-20 2019-05-20 波面並列処理が可能にされた場合のピクチャ内予測モードに関する規則

Publications (1)

Publication Number Publication Date
JP2017535145A true JP2017535145A (ja) 2017-11-24

Family

ID=55629266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017517017A Pending JP2017535145A (ja) 2014-09-30 2014-09-30 波面並列処理が可能にされた場合のピクチャ内予測モードに関する規則

Country Status (10)

Country Link
US (4) US10812817B2 (ja)
EP (2) EP3202150B1 (ja)
JP (1) JP2017535145A (ja)
KR (2) KR102330740B1 (ja)
CN (1) CN105874795B (ja)
AU (1) AU2014408228B2 (ja)
CA (2) CA2959682C (ja)
MX (1) MX2017004211A (ja)
RU (1) RU2679201C2 (ja)
WO (1) WO2016049839A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7342275B2 (ja) 2020-10-16 2023-09-11 テンセント・アメリカ・エルエルシー ビデオコーディングのための方法、装置およびコンピュータプログラム

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2016004705A (es) 2013-10-14 2016-07-18 Microsoft Technology Licensing Llc Caracteristicas del modo de prediccion copia de bloque interno para codificacion y decodificacion de imagen y video.
RU2666635C2 (ru) 2013-10-14 2018-09-11 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Характеристики режима индексной карты основных цветов для кодирования и декодирования видео и изображения
US11109036B2 (en) 2013-10-14 2021-08-31 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
WO2015100726A1 (en) 2014-01-03 2015-07-09 Microsoft Corporation Block vector prediction in video and image coding/decoding
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
PL3117617T3 (pl) 2014-03-14 2022-08-22 Vid Scale, Inc. Kodowanie palety przeznaczone do kodowania zawartości ekranu
US10136141B2 (en) * 2014-06-11 2018-11-20 Qualcomm Incorporated Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding
CN105493505B (zh) 2014-06-19 2019-08-06 微软技术许可有限责任公司 统一的帧内块复制和帧间预测模式
US20160014415A1 (en) * 2014-07-08 2016-01-14 Mediatek Inc. Method and apparatus for performing wave-front parallel encoding procedure with constraint on coding mode and/or quantization parameter selection
EP3202150B1 (en) 2014-09-30 2021-07-21 Microsoft Technology Licensing, LLC Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US10257521B2 (en) * 2014-10-01 2019-04-09 Kt Corporation Method and apparatus for processing video signal
GB2531001B (en) * 2014-10-06 2019-06-05 Canon Kk Method and apparatus for vector encoding in video coding and decoding
US10212445B2 (en) * 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
AU2015345649A1 (en) * 2014-11-12 2017-06-08 Hfi Innovation Inc. Methods of escape pixel coding in index map coding
CN105704491B (zh) * 2014-11-28 2020-03-13 同济大学 图像编码方法、解码方法、编码装置和解码装置
EP3241351B1 (en) * 2015-01-30 2021-04-28 MediaTek Inc. Methods for entropy coding of source samples with large alphabet
CN107211149A (zh) * 2015-02-05 2017-09-26 联发科技股份有限公司 调色板语法的解码操作装置与方法
US9955185B2 (en) * 2015-02-12 2018-04-24 Mediatek Inc. Method and apparatus of constrained intra block copy for coding video
CN107683606B (zh) * 2015-06-05 2021-11-05 索尼公司 图像处理装置和图像处理方法
GB2539211A (en) * 2015-06-08 2016-12-14 Canon Kk Enhanced coding and decoding using intra block copy mode
CN106664405B (zh) 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
US20160366439A1 (en) * 2015-06-12 2016-12-15 Qualcomm Incorporated Palette copy extension
CN107071450B (zh) * 2016-02-10 2021-07-27 同济大学 数据压缩的编码、解码方法及装置
WO2017190288A1 (en) * 2016-05-04 2017-11-09 Microsoft Technology Licensing, Llc Intra-picture prediction using non-adjacent reference lines of sample values
FR3068557A1 (fr) * 2017-07-05 2019-01-04 Orange Procede de codage et decodage d'images,dispositif de codage et decodage et programmes d'ordinateur correspondants
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
GB2570879B (en) * 2018-02-06 2022-08-17 Advanced Risc Mach Ltd Encoding data arrays
WO2019185822A1 (en) * 2018-03-29 2019-10-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Accelerating video encoding and decoding
WO2019230904A1 (ja) * 2018-06-01 2019-12-05 シャープ株式会社 画像復号装置、および画像符号化装置
KR102549562B1 (ko) * 2018-07-09 2023-06-29 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 코딩된 화상의 다양한 공간 분할을 위한 인코더 및 디코더, 인코딩 방법 및 디코딩 방법
US11606575B2 (en) 2018-07-10 2023-03-14 Qualcomm Incorporated Multiple history based non-adjacent MVPs for wavefront processing of video coding
CN110933412B (zh) 2018-09-19 2023-07-25 北京字节跳动网络技术有限公司 用于帧内块复制的基于历史的运动矢量预测值
US10848782B2 (en) 2018-09-21 2020-11-24 Tencent America LLC Method and apparatus for video coding
US11172236B2 (en) 2018-09-21 2021-11-09 Tencent America LLC Method and apparatus for video decoding that defines a search range for a reference block indicated by a block vector
ES2966115T3 (es) * 2018-10-04 2024-04-18 Lg Electronics Inc Métodos de codificación de imagen basados en historial
AU2018278915A1 (en) * 2018-12-12 2020-07-02 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
AU2018278914A1 (en) * 2018-12-12 2020-07-02 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
WO2020130139A1 (ja) * 2018-12-21 2020-06-25 シャープ株式会社 動画像符号化装置および動画像復号装置
US11025935B2 (en) * 2019-01-10 2021-06-01 Tencent America LLC Method and apparatus for history based motion information buffer update with parallel processing capability
US10771799B2 (en) 2019-01-15 2020-09-08 Tencent America LLC Method and apparatus for video coding
AU2020226567A1 (en) 2019-02-24 2021-09-23 Beijing Bytedance Network Technology Co., Ltd. Joint coding of palette mode usage indication
US10924750B2 (en) * 2019-03-01 2021-02-16 Alibaba Group Holding Limited Palette size constraint in palette mode for video compression system
EP3915265A4 (en) 2019-03-01 2022-06-22 Beijing Bytedance Network Technology Co., Ltd. DIRECTION-BASED PREDICTION FOR INTRA BLOCK COPY IN VIDEO CODING
US11677969B2 (en) * 2019-03-22 2023-06-13 Tencent America LLC Method and apparatus for video coding
CN109982079B (zh) * 2019-04-03 2021-04-02 北京电子工程总体研究所 一种结合纹理空间相关性的帧内预测模式选择方法
EP3942811A4 (en) 2019-04-24 2022-06-15 ByteDance Inc. CONSTRAINTS ON THE REPRESENTATION OF A DIFFERENTIAL MODULATION BY CODED PULSES OF QUANTIFIED RESIDUE FOR A CODED VIDEO
WO2020221213A1 (en) * 2019-04-27 2020-11-05 Beijing Bytedance Network Technology Co., Ltd. Intra sub-block partitioning and multiple transform selection
KR20220002292A (ko) * 2019-05-01 2022-01-06 바이트댄스 아이엔씨 양자화된 잔차 차동 펄스 코드 변조 코딩을 사용하는 인트라 코딩된 비디오
JP2022530240A (ja) 2019-05-02 2022-06-28 北京字節跳動網絡技術有限公司 複数の参照フィルタを使用するイントラビデオコーディング
WO2020223615A1 (en) 2019-05-02 2020-11-05 Bytedance Inc. Coding mode based on a coding tree structure type
KR20200132761A (ko) 2019-05-15 2020-11-25 현대자동차주식회사 동영상 데이터의 병렬 부호화 및 복호화를 위한 방법 및 장치
WO2020231220A1 (ko) * 2019-05-15 2020-11-19 현대자동차주식회사 동영상 데이터의 병렬 부호화 및 복호화를 위한 방법 및 장치
KR20220013938A (ko) 2019-05-31 2022-02-04 바이트댄스 아이엔씨 인트라 블록 복사 예측을 갖는 팔레트 모드
BR112021025916A2 (pt) * 2019-06-28 2022-02-15 Bytedance Inc Método de processamento de dados de vídeo, aparelho para processar dados de vídeo, meio de armazenamento e meio de gravação não transitórios legíveis por computador
CN114175633B (zh) 2019-07-10 2023-12-29 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的样点标识
KR20220030957A (ko) * 2019-07-11 2022-03-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 카피를 위한 비트스트림 적합 제약
JP7359936B2 (ja) 2019-07-20 2023-10-11 北京字節跳動網絡技術有限公司 パレットモードの使用の指示の条件依存符号化
CN114145013B (zh) 2019-07-23 2023-11-14 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
WO2021018167A1 (en) 2019-07-29 2021-02-04 Beijing Bytedance Network Technology Co., Ltd. Palette mode coding in prediction process
US11627327B2 (en) * 2019-08-05 2023-04-11 Qualcomm Incorporated Palette and prediction mode signaling
CN117395420A (zh) 2019-08-15 2024-01-12 字节跳动有限公司 用于调色板逸出符号的熵编解码
EP4000269A4 (en) 2019-08-15 2022-09-07 ByteDance Inc. PALLET MODE WITH DIFFERENT DIVISION STRUCTURES
KR20210027175A (ko) * 2019-08-30 2021-03-10 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN114365488A (zh) 2019-09-09 2022-04-15 北京字节跳动网络技术有限公司 视频编解码块的递归划分
AU2020347030A1 (en) * 2019-09-10 2022-03-31 Xris Corporation Image signal encoding/decoding method and device therefor
MX2022002617A (es) 2019-09-12 2022-03-25 Bytedance Inc Uso de predictor de paleta en codificacion de video.
EP4032275A4 (en) 2019-09-19 2022-11-30 ByteDance Inc. DERIVING QUANTIZE PARAMETERS FOR PALETTE MODE
BR112022018884A2 (pt) 2020-03-20 2022-11-08 Bytedance Inc Método de processamento de vídeo, aparelho para processamento de dados de vídeo, meios de armazenamento e de gravação não transitórios legíveis por computador
US20200228801A1 (en) * 2020-03-24 2020-07-16 Intel Corporation Content and quality adaptive wavefront split for parallel video coding
US11595694B2 (en) * 2020-04-01 2023-02-28 Tencent America LLC Method and apparatus for video coding
CN115462070A (zh) 2020-04-20 2022-12-09 字节跳动有限公司 对参考图片列表的约束
WO2021236903A1 (en) * 2020-05-21 2021-11-25 Bytedance Inc. Signaling of gradual decoding refresh and reference picture lists
KR20230015373A (ko) * 2020-05-22 2023-01-31 바이트댄스 아이엔씨 비디오 비트스트림들에서 코딩된 픽처 버퍼 정보의 시그널링
CN112532988B (zh) * 2020-06-02 2022-05-06 腾讯科技(深圳)有限公司 视频编码方法、视频解码方法及相关设备
CN112073719B (zh) * 2020-08-21 2021-09-14 浙江大华技术股份有限公司 一种串匹配预测方法、装置、系统及计算机可读存储介质
CN114125464B (zh) * 2020-08-27 2024-02-06 扬智科技股份有限公司 视频解码方法与视频解码装置
US11503336B2 (en) * 2020-12-07 2022-11-15 Tencent America LLC Method and apparatus for video coding
US11949894B2 (en) * 2020-12-07 2024-04-02 Tencent America LLC Method and apparatus for string matching with reference location constraints
AU2022333140A1 (en) * 2021-08-26 2024-02-08 Guangdong Oppo Mobile Telecommunications Corp., Ltd. History-based rice parameter derivations for wavefront parallel processing in video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130272370A1 (en) * 2012-04-11 2013-10-17 Qualcomm Incorporated Wavefront parallel processing for video coding

Family Cites Families (311)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2114404B (en) 1982-01-28 1986-07-02 British Broadcasting Corp Generating a colour video signal representative of a stored picture
JPH087553B2 (ja) 1988-10-27 1996-01-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 色画像量子化方法及び装置
US5706290A (en) 1994-12-15 1998-01-06 Shaw; Venson Method and apparatus including system architecture for multimedia communication
US8505108B2 (en) 1993-11-18 2013-08-06 Digimarc Corporation Authentication using a digital watermark
US5488570A (en) 1993-11-24 1996-01-30 Intel Corporation Encoding and decoding video signals using adaptive filter switching criteria
US5999189A (en) 1995-08-04 1999-12-07 Microsoft Corporation Image compression to reduce pixel and texture memory requirements in a real-time image generator
US6389162B2 (en) 1996-02-15 2002-05-14 Canon Kabushiki Kaisha Image processing apparatus and method and medium
JPH10262258A (ja) 1997-03-19 1998-09-29 Sony Corp 画像符号化装置及び方法
JP2000102016A (ja) 1998-09-22 2000-04-07 Victor Co Of Japan Ltd 動き補償予測回路
DE60000013T2 (de) 1999-04-02 2002-05-02 Matsushita Electric Ind Co Ltd Optische Platte, Aufzeichnungs- und Wiedergabeanordnung
JP2001251507A (ja) 2000-03-03 2001-09-14 Fujitsu Ltd 画像処理装置
US6701012B1 (en) 2000-07-24 2004-03-02 Sharp Laboratories Of America, Inc. Out-of-layer pixel generation for a decomposed-image layer
US6748116B1 (en) 2000-08-22 2004-06-08 Airzip, Inc. Apparatus and method for compressing and decompressing image files
DE10049571C1 (de) 2000-10-06 2002-06-13 Siemens Ag Verfahren und Anordnung zum Übertragen eines Vektors
US7023924B1 (en) 2000-12-28 2006-04-04 Emc Corporation Method of pausing an MPEG coded video stream
US6853755B2 (en) 2001-03-28 2005-02-08 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive compression of scanned documents
US7031540B2 (en) 2001-09-12 2006-04-18 Mobitv, Inc. Transformation to increase the lempel-ziv compressibility of images with minimal visual distortion
JP2004007379A (ja) 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
US7120196B2 (en) 2002-04-29 2006-10-10 Ess Technology, Inc. Intra-prediction using intra-macroblock motion compensation
DE50305419D1 (de) 2002-05-02 2006-11-30 Fraunhofer Ges Forschung Kodierung und Dekodierung von Transformationskoeffizienten in Bild- oder Videokodierern
US7289674B2 (en) 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
RU2314656C2 (ru) 2002-06-11 2008-01-10 Нокиа Корпорейшн Внутреннее кодирование, основанное на пространственном прогнозировании
US7085420B2 (en) 2002-06-28 2006-08-01 Microsoft Corporation Text detection in continuous tone image segments
US7016547B1 (en) 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US7072512B2 (en) 2002-07-23 2006-07-04 Microsoft Corporation Segmentation of digital video and images into continuous tone and palettized regions
MXPA05007447A (es) 2003-01-10 2005-09-12 Thomson Licensing Sa Aparato de decodificador y metodo para suavizar artefactos creados durante el ocultamiento de error.
DE10301362B4 (de) 2003-01-16 2005-06-09 GEMAC-Gesellschaft für Mikroelektronikanwendung Chemnitz mbH Blockdatenkompressionssystem, bestehend aus einer Kompressionseinrichtung und einer Dekompressionseinrichtung, und Verfahren zur schnellen Blockdatenkompression mit Multi-Byte-Suche
US7373005B2 (en) 2003-04-10 2008-05-13 Micron Technology, Inc. Compression system for integrated sensor devices
US7609763B2 (en) 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
CN1843037B (zh) 2003-08-26 2010-09-22 汤姆森特许公司 用于编码混合内部-相互编码块的方法和装置
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7317839B2 (en) 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
KR101044934B1 (ko) 2003-12-18 2011-06-28 삼성전자주식회사 움직임 벡터 추정방법 및 부호화 모드 결정방법
JP4591657B2 (ja) 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
US8036271B2 (en) 2004-02-24 2011-10-11 Lsi Corporation Method and apparatus for determining a second picture for temporal direct-mode block prediction
JP4338654B2 (ja) 2004-03-18 2009-10-07 三洋電機株式会社 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置
JP4418762B2 (ja) 2004-05-07 2010-02-24 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US8116374B2 (en) 2004-05-07 2012-02-14 Broadcom Corporation Method and system for generating a transform size syntax element for video decoding
AR049593A1 (es) 2004-07-20 2006-08-16 Qualcomm Inc Metodo y aparato para predecir el vector de movimiento en compresion de video temporal.
JP2006140683A (ja) 2004-11-11 2006-06-01 Canon Inc 画像符号化装置
JP2006140758A (ja) 2004-11-12 2006-06-01 Toshiba Corp 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
US7720154B2 (en) 2004-11-12 2010-05-18 Industrial Technology Research Institute System and method for fast variable-size motion estimation
KR100679035B1 (ko) 2005-01-04 2007-02-06 삼성전자주식회사 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더
US20060274070A1 (en) 2005-04-19 2006-12-07 Herman Daniel L Techniques and workflows for computer graphics animation system
US20060282855A1 (en) 2005-05-05 2006-12-14 Digital Display Innovations, Llc Multiple remote display system
KR100716999B1 (ko) 2005-06-03 2007-05-10 삼성전자주식회사 영상의 대칭성을 이용한 인트라 예측 방법, 이를 이용한영상의 복호화, 부호화 방법 및 장치
KR101211665B1 (ko) 2005-08-12 2012-12-12 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
JP2007053561A (ja) 2005-08-17 2007-03-01 Matsushita Electric Ind Co Ltd 画像符号化装置および画像符号化方法
WO2007021227A1 (en) 2005-08-19 2007-02-22 Telefonaktiebolaget Lm Ericsson (Publ) Texture compression based on two hues with modified brightness
US7986844B2 (en) 2005-11-22 2011-07-26 Intel Corporation Optimized video compression using hashing function
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
US8582905B2 (en) 2006-01-31 2013-11-12 Qualcomm Incorporated Methods and systems for rate control within an encoding device
CN101026761B (zh) 2006-02-17 2010-05-12 中国科学院自动化研究所 一种具有最小误差的快速变尺寸块匹配的运动估计方法
US7668382B2 (en) 2006-02-24 2010-02-23 Microsoft Corporation Block-based fast image compression
US7616816B2 (en) 2006-03-20 2009-11-10 Sarnoff Corporation System and method for mission-driven visual information retrieval and organization
EP2011342B1 (en) 2006-04-14 2017-06-28 Nxp B.V. Motion estimation at image borders
US7965861B2 (en) 2006-04-26 2011-06-21 The Board Of Regents Of The University Of Texas System Methods and systems for digital image security
CA2655970A1 (en) 2006-07-07 2008-01-10 Telefonaktiebolaget L M Ericsson (Publ) Video data management
DE102007035204A1 (de) 2006-07-28 2008-02-07 Mediatek Inc. Videoverarbeitungs- und - betriebsvorrichtung
US8472527B2 (en) 2006-09-13 2013-06-25 Texas Instruments Incorporated Hierarchical motion estimation using original frame for sub-sampled reference
FR2906433B1 (fr) 2006-09-22 2009-02-27 Canon Kk Procedes et dispositifs de codage et de decodage d'images, programme d'ordinateur les mettant en oeuvre et support d'informaton permettant de les mettre en oeuvre
KR20150047639A (ko) 2006-09-22 2015-05-04 톰슨 라이센싱 다중 경로 비디오 코딩 및 디코딩을 위한 방법 및 장치
US20080084924A1 (en) 2006-10-05 2008-04-10 Donald Martin Monro Matching pursuits basis selection design
US8170101B2 (en) 2006-10-27 2012-05-01 Sharp Laboratories Of America, Inc. Methods and systems for low-complexity data compression
US8218641B2 (en) 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture encoding using same-picture reference for pixel reconstruction
US8218640B2 (en) 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture decoding using same-picture reference for pixel reconstruction
JP2008154015A (ja) 2006-12-19 2008-07-03 Hitachi Ltd 復号化方法および符号化方法
US7907783B2 (en) 2007-01-24 2011-03-15 Samsung Electronics Co., Ltd. Apparatus and method of matching symbols in a text image coding and decoding system
CN100527842C (zh) 2007-01-26 2009-08-12 清华大学 基于背景的运动估计编码方法
KR101103699B1 (ko) 2007-02-23 2012-01-11 니폰덴신뎅와 가부시키가이샤 영상 부호화 방법 및 복호 방법, 그들의 장치, 그들의 프로그램 및 프로그램을 기록한 기록매체
US8031937B2 (en) 2007-04-04 2011-10-04 Telefonaktiebolaget Lm Ericsson (Publ) Frame buffer compression and decompression method for graphics rendering
US8160150B2 (en) 2007-04-10 2012-04-17 Texas Instruments Incorporated Method and system for rate distortion optimization
WO2008130367A1 (en) 2007-04-19 2008-10-30 Thomson Licensing Adaptive reference picture data generation for intra prediction
US7903873B2 (en) 2007-09-13 2011-03-08 Microsoft Corporation Textual image coding
CN101420606A (zh) 2007-10-23 2009-04-29 青岛海信电器股份有限公司 图像处理方法和装置
KR101365444B1 (ko) 2007-11-19 2014-02-21 삼성전자주식회사 영상의 해상도의 조정을 통하여 동영상을 효율적으로부호화/복호화하는 방법 및 장치
JP2009147807A (ja) 2007-12-17 2009-07-02 Fujifilm Corp 画像処理装置
CN101232619B (zh) 2008-01-25 2011-05-11 浙江大学 嵌入帧内编码块的视频编码方法
TWI375472B (en) 2008-02-04 2012-10-21 Ind Tech Res Inst Intra prediction method for luma block of video
CN101552924B (zh) 2008-03-31 2011-08-03 深圳市融创天下科技发展有限公司 一种用于视频编码的空间预测方法
JP5413923B2 (ja) 2008-04-11 2014-02-12 トムソン ライセンシング 変位イントラ予測およびテンプレート・マッチングのためのデブロッキング・フィルタリング
JP2009260473A (ja) 2008-04-14 2009-11-05 Canon Inc 色処理方法及び装置、プログラム、記録媒体
JP2010035137A (ja) 2008-07-01 2010-02-12 Sony Corp 画像処理装置および方法、並びにプログラム
US9445121B2 (en) 2008-08-04 2016-09-13 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
US8213503B2 (en) 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
US8385404B2 (en) 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
KR101306834B1 (ko) 2008-09-22 2013-09-10 에스케이텔레콤 주식회사 인트라 예측 모드의 예측 가능성을 이용한 영상 부호화/복호화 장치 및 방법
US8254704B2 (en) 2008-10-30 2012-08-28 Microsoft Corporation Remote computing platforms providing high-fidelity display and interactivity for clients
US8180165B2 (en) 2008-12-19 2012-05-15 Microsoft Corp. Accelerated screen codec
KR101359490B1 (ko) 2008-12-23 2014-02-10 에스케이 텔레콤주식회사 컬러 영상 부호화/복호화 방법 및 장치
TW201028018A (en) 2009-01-07 2010-07-16 Ind Tech Res Inst Encoder, decoder, encoding method and decoding method
CA2750735C (en) 2009-02-02 2018-09-18 Calgary Scientific Inc. Image data transmission
RU2420021C2 (ru) 2009-03-24 2011-05-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ сжатия изображений и видеопоследовательностей
EP2249571A1 (en) 2009-05-04 2010-11-10 Thomson Licensing SA Method and device for encoding an image frame comprising macroblocks
EP2446625A1 (en) 2009-06-22 2012-05-02 Thomson Licensing Process for matching pursuit based coding of video data for a sequence of images
JPWO2011004598A1 (ja) 2009-07-10 2012-12-20 パナソニック株式会社 動画像符号化方法、装置、プログラム、および集積回路
CN101626512A (zh) 2009-08-11 2010-01-13 北京交通大学 一种基于相关性优化准则的多描述视频编码方法及装置
ES2554237T3 (es) 2009-10-01 2015-12-17 Sk Telecom. Co., Ltd. Método y aparato para codificar/decodificar imagen usando una capa dividida
TWI566586B (zh) 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
EP2493195A1 (en) 2009-10-20 2012-08-29 Sharp Kabushiki Kaisha Video encoding device, video decoding device, and data structure
JP5321426B2 (ja) 2009-11-26 2013-10-23 株式会社Jvcケンウッド 画像符号化装置、画像復号化装置、画像符号化方法、及び画像復号化方法
KR101623124B1 (ko) 2009-12-03 2016-05-24 에스케이 텔레콤주식회사 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법
WO2011095259A1 (en) 2010-02-05 2011-08-11 Telefonaktiebolaget L M Ericsson (Publ) Selecting predicted motion vector candidates
US20110194613A1 (en) 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
JP5375676B2 (ja) 2010-03-04 2013-12-25 富士通株式会社 画像処理装置、画像処理方法、および画像処理プログラム
WO2011121227A1 (fr) 2010-03-31 2011-10-06 France Telecom Procedes et dispositifs de codage et de decodage d'une sequence d'images mettant en œuvre une prediction par compensation de mouvement avant, flux et programme d'ordinateur correspondants
CN103141103B (zh) 2010-04-09 2016-02-03 Lg电子株式会社 处理视频数据的方法和装置
US8644375B2 (en) 2010-04-09 2014-02-04 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
US8619857B2 (en) 2010-04-09 2013-12-31 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
WO2011136896A1 (en) 2010-04-27 2011-11-03 Sony Corporation Boundary adaptive intra prediction for improving subjective video quality
KR20110123651A (ko) 2010-05-07 2011-11-15 한국전자통신연구원 생략 부호화를 이용한 영상 부호화 및 복호화 장치 및 그 방법
EP2583457A4 (en) 2010-06-21 2015-07-29 Thomson Licensing METHOD AND APPARATUS FOR ENCODING / DECODING IMAGE DATA
WO2012002785A2 (ko) 2010-07-02 2012-01-05 (주)휴맥스 화면내 예측 부호화를 위한 영상 부호화/복호화 장치 및 방법
KR101484281B1 (ko) 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
SG187065A1 (en) 2010-07-14 2013-03-28 Ntt Docomo Inc Low-complexity intra prediction for video coding
US9872019B2 (en) 2010-07-20 2018-01-16 Sk Telecom Co., Ltd. Method and device for deblocking-filtering, and method and device for encoding and decoding using same
HUE056453T2 (hu) 2010-11-04 2022-02-28 Ge Video Compression Llc Blokk egybeolvasztást és átugrás módot támogató képkódolás
US8787459B2 (en) 2010-11-09 2014-07-22 Sony Computer Entertainment Inc. Video coding methods and apparatus
KR101756442B1 (ko) 2010-11-29 2017-07-11 에스케이텔레콤 주식회사 인트라예측모드의 중복성을 최소화하기 위한 영상 부호화/복호화 방법 및 장치
US8767835B2 (en) 2010-12-28 2014-07-01 Mitsubishi Electric Research Laboratories, Inc. Method for coding videos using dictionaries
US20120163457A1 (en) * 2010-12-28 2012-06-28 Viktor Wahadaniah Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus
KR101739579B1 (ko) 2011-01-04 2017-05-24 에스케이 텔레콤주식회사 코딩 유닛 단위 병렬 인트라예측을 이용한 부호화/복호화 방법 및 장치
KR20120080122A (ko) 2011-01-06 2012-07-16 삼성전자주식회사 경쟁 기반의 다시점 비디오 부호화/복호화 장치 및 방법
US8913662B2 (en) 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
US9924188B2 (en) 2011-01-07 2018-03-20 Lg Electronics Inc. Method for encoding and decoding image information to determine reference index in skip mode or merge mode and device using same
US9066104B2 (en) 2011-01-14 2015-06-23 Google Inc. Spatial block merge mode
US8737480B2 (en) 2011-01-14 2014-05-27 Motorola Mobility Llc Joint spatial and temporal block merge mode for HEVC
CN107317586B (zh) 2011-01-14 2020-11-06 Ge视频压缩有限责任公司 熵编码设备和方法、熵解码设备和方法、及存储介质
US8755437B2 (en) 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
US9787981B2 (en) 2011-01-19 2017-10-10 Renesas Electronics Corporation Image coding device and image decoding device
US9532066B2 (en) 2011-01-21 2016-12-27 Qualcomm Incorporated Motion vector prediction
US8548057B2 (en) 2011-01-25 2013-10-01 Microsoft Corporation Video coding redundancy reduction
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US9288501B2 (en) 2011-03-08 2016-03-15 Qualcomm Incorporated Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
US9788019B2 (en) 2011-03-09 2017-10-10 Hfi Innovation Inc. Method and apparatus of transform unit partition with reduced complexity
AU2011362447B2 (en) 2011-03-14 2015-09-24 Hfi Innovation Inc. Method and apparatus for deriving temporal motion vector prediction
WO2012128540A2 (ko) 2011-03-21 2012-09-27 엘지전자 주식회사 움직임 벡터 예측자 선택 방법 및 이를 이용하는 장치
US8693547B2 (en) 2011-04-06 2014-04-08 Google Inc. Apparatus and method for coding using motion vector segmentation
US8977544B2 (en) 2011-04-21 2015-03-10 Samsung Electronics Co., Ltd. Method of quantizing linear predictive coding coefficients, sound encoding method, method of de-quantizing linear predictive coding coefficients, sound decoding method, and recording medium and electronic device therefor
US20140050414A1 (en) 2011-04-29 2014-02-20 Telefonaktiebolaget L M Ericsson (Publ) Encoder, Decoder and Methods Thereof for Texture Compression
US20120281760A1 (en) 2011-05-04 2012-11-08 Hyung Joon Kim Iterative Grid-Pattern Motion Search
US8971416B2 (en) 2011-05-05 2015-03-03 Vixs Systems, Inc Video decoder with vector processor and methods for use therewith
CN102137263B (zh) 2011-05-09 2013-07-03 松日数码发展(深圳)有限公司 基于cnm关键帧分类的分布式视频编码及解码方法
US20120294353A1 (en) 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components
US20140085418A1 (en) 2011-05-16 2014-03-27 Sony Corporation Image processing device and image processing method
CN102238391B (zh) 2011-05-25 2016-12-07 深圳市云宙多媒体技术有限公司 一种预测编码方法、装置
JP5727873B2 (ja) 2011-06-10 2015-06-03 日本放送協会 動きベクトル検出装置、符号化装置、及びこれらのプログラム
US9565428B2 (en) 2011-06-20 2017-02-07 Mediatek Singapore Pte. Ltd. Method and apparatus of chroma intra prediction with reduced line memory
EP2724538A4 (en) 2011-06-24 2016-04-27 Mediatek Inc METHOD AND DEVICE FOR REMOVING REDUNDANCES IN MOTOR VECTOR PREDICTORS
EP2725793A4 (en) 2011-06-27 2014-12-03 Panasonic Ip Corp America IMAGE DECODING METHOD, IMAGE ENCODING METHOD, IMAGE DECODING DEVICE, IMAGE ENCODING DEVICE, AND IMAGE ENCODING / DECODING DEVICE
US9060173B2 (en) 2011-06-30 2015-06-16 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
EP2705667B1 (en) 2011-06-30 2016-09-21 Huawei Technologies Co., Ltd. Lossless coding and associated signaling methods for compound video
EP2705668A1 (en) 2011-07-12 2014-03-12 Huawei Technologies Co., Ltd Pixel-based intra prediction for coding in hevc
CN102223541B (zh) 2011-07-14 2013-07-03 北京工业大学 一种混合图像的编码方法
US9232237B2 (en) 2011-08-05 2016-01-05 Texas Instruments Incorporated Block-based parallel deblocking filter in video coding
CN103748877B (zh) 2011-08-17 2017-05-10 联发科技(新加坡)私人有限公司 帧内预测方法和装置
MX365013B (es) 2011-08-29 2019-05-20 Ibex Pt Holdings Co Ltd Metodo para generar un bloque de prediccion en modo de prediccion de vector de movimiento avanzada (amvp).
US8804816B2 (en) 2011-08-30 2014-08-12 Microsoft Corporation Video encoding enhancements
US9578336B2 (en) 2011-08-31 2017-02-21 Texas Instruments Incorporated Hybrid video and graphics system with automatic content detection process, and other circuits, processes, and systems
WO2013057359A1 (en) 2011-10-21 2013-04-25 Nokia Corporation Method for video coding and an apparatus
GB2495990A (en) 2011-10-28 2013-05-01 Canon Kk Motion compensated image coding with omission of coding mode cost calculation for a motion predictor in a set.
US9484952B2 (en) 2011-11-03 2016-11-01 Qualcomm Incorporated Context state and probability initialization for context adaptive entropy coding
US10390046B2 (en) 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
BR112014011155B1 (pt) 2011-11-08 2023-04-04 Google Technology Holdings LLC Método de determinação de uma palavra de código binária para um símbolo, codificador de vídeo e meio que pode ser lido em computador
EP2777272B1 (en) 2011-11-08 2019-01-09 Google Technology Holdings LLC Devices and methods for sample adaptive offset coding and/or signaling
WO2013070970A2 (en) 2011-11-08 2013-05-16 General Instrument Corporation Method of determining binary codewords for transform coefficients
EP4161078A1 (en) 2011-11-11 2023-04-05 GE Video Compression, LLC Effective wedgelet partition coding using spatial prediction
US20130121417A1 (en) * 2011-11-16 2013-05-16 Qualcomm Incorporated Constrained reference picture sets in wave front parallel processing of video data
EP3739886A1 (en) 2011-11-18 2020-11-18 GE Video Compression, LLC Multi-view coding with efficient residual handling
US9883203B2 (en) 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
US9414064B2 (en) 2011-11-25 2016-08-09 Sun Patent Trust Image processing method and image processing apparatus
RU2493670C2 (ru) 2011-12-15 2013-09-20 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" Способ блочной межкадровой компенсации движения для видеокодеков
US9350996B2 (en) 2011-12-20 2016-05-24 Google Technology Holdings LLC Method and apparatus for last coefficient indexing for high efficiency video coding
US9762904B2 (en) 2011-12-22 2017-09-12 Qualcomm Incorporated Performing motion vector prediction for video coding
US20130163664A1 (en) 2011-12-22 2013-06-27 Qualcomm Incorporated Unified partition mode table for intra-mode coding
US9900615B2 (en) 2011-12-28 2018-02-20 Microsoft Technology Licensing, Llc Representative motion information for temporal motion prediction in video encoding and decoding
WO2013102293A1 (en) 2012-01-04 2013-07-11 Mediatek Singapore Pte. Ltd. Improvements of luma-based chroma intra prediction
US9451252B2 (en) 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
US9332259B2 (en) 2012-01-18 2016-05-03 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
JP2013150173A (ja) 2012-01-19 2013-08-01 Sony Corp 画像処理装置および方法
US9210438B2 (en) 2012-01-20 2015-12-08 Sony Corporation Logical intra mode naming in HEVC video coding
JP2013150215A (ja) 2012-01-20 2013-08-01 Fujitsu Ltd 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
US20130188719A1 (en) 2012-01-20 2013-07-25 Qualcomm Incorporated Motion prediction in svc using motion vector for intra-coded block
BR122020007529B1 (pt) 2012-01-20 2021-09-21 Ge Video Compression, Llc Conceito de codificação que permite o processamento paralelo, desmultiplexador de transporte e fluxo de bites de vídeo
US10244246B2 (en) 2012-02-02 2019-03-26 Texas Instruments Incorporated Sub-pictures for pixel rate balancing on multi-core platforms
WO2013128010A2 (en) 2012-03-02 2013-09-06 Canon Kabushiki Kaisha Method and devices for encoding a sequence of images into a scalable video bit-stream, and decoding a corresponding scalable video bit-stream
US8737824B1 (en) 2012-03-09 2014-05-27 Google Inc. Adaptively encoding a media stream with compound prediction
US9503720B2 (en) 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
JP2015515806A (ja) 2012-03-26 2015-05-28 ユークリッド・ディスカバリーズ・エルエルシーEuclid Discoveries,Llc コンテキストベースの映像符号化及び映像復号化
US20130258052A1 (en) 2012-03-28 2013-10-03 Qualcomm Incorporated Inter-view residual prediction in 3d video coding
US10129540B2 (en) 2012-04-10 2018-11-13 Texas Instruments Incorporated Reduced complexity coefficient transmission for adaptive loop filtering (ALF) in video coding
US20130272409A1 (en) 2012-04-12 2013-10-17 Qualcomm Incorporated Bandwidth reduction in video coding through applying the same reference index
SG11201405038RA (en) 2012-04-24 2014-09-26 Mediatek Inc Method and apparatus of motion vector derivation for 3d video coding
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US9521410B2 (en) 2012-04-26 2016-12-13 Qualcomm Incorporated Quantization parameter (QP) coding in video coding
US20130294524A1 (en) 2012-05-04 2013-11-07 Qualcomm Incorporated Transform skipping and lossless coding unification
US9762903B2 (en) 2012-06-01 2017-09-12 Qualcomm Incorporated External pictures in video coding
US9621905B2 (en) 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
CN102752595B (zh) 2012-06-29 2014-07-09 香港应用科技研究院有限公司 用于深度图编码和解码的混合型跳过模式
US9716892B2 (en) 2012-07-02 2017-07-25 Qualcomm Incorporated Video parameter set including session negotiation information
US9591302B2 (en) 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
US9549182B2 (en) 2012-07-11 2017-01-17 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
US9264713B2 (en) 2012-07-11 2016-02-16 Qualcomm Incorporated Rotation of prediction residual blocks in video coding with transform skipping
US9467692B2 (en) 2012-08-31 2016-10-11 Qualcomm Incorporated Intra prediction improvements for scalable video coding
US20140071235A1 (en) 2012-09-13 2014-03-13 Qualcomm Incorporated Inter-view motion prediction for 3d video
EP2903269B1 (en) 2012-09-26 2019-01-02 Velos Media International Limited Image decoding method and image decoding apparatus
CN104685881B (zh) 2012-09-28 2018-05-15 夏普株式会社 图像解码装置、图像编码装置以及图像解码方法
US9998755B2 (en) 2012-10-03 2018-06-12 Mediatek Inc. Method and apparatus for motion information inheritance in three-dimensional video coding
US9357214B2 (en) 2012-12-07 2016-05-31 Qualcomm Incorporated Advanced merge/skip mode and advanced motion vector prediction (AMVP) mode for 3D video
US9615090B2 (en) 2012-12-28 2017-04-04 Qualcomm Incorporated Parsing syntax elements in three-dimensional video coding
US9826244B2 (en) 2013-01-08 2017-11-21 Qualcomm Incorporated Device and method for scalable coding of video information based on high efficiency video coding
CN103067716B (zh) 2013-01-10 2016-06-29 华为技术有限公司 深度图像的编解码方法和编解码装置
EP2944080B1 (en) 2013-01-11 2018-09-12 HFI Innovation Inc. Method and apparatus for efficient coding of depth lookup table
US9800857B2 (en) 2013-03-08 2017-10-24 Qualcomm Incorporated Inter-view residual prediction in multi-view or 3-dimensional video coding
US9516306B2 (en) 2013-03-27 2016-12-06 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
US10904551B2 (en) 2013-04-05 2021-01-26 Texas Instruments Incorporated Video coding using intra block copy
US11259020B2 (en) 2013-04-05 2022-02-22 Qualcomm Incorporated Determining palettes in palette-based video coding
CN103237226B (zh) 2013-04-07 2016-08-03 宁波大学 一种立体视频宏块丢失错误隐藏方法
WO2014166104A1 (en) 2013-04-12 2014-10-16 Mediatek Singapore Pte. Ltd. Removal of parsing dependency for illumination compensation
US9609336B2 (en) 2013-04-16 2017-03-28 Fastvdo Llc Adaptive coding, transmission and efficient display of multimedia (acted)
US11323747B2 (en) 2013-06-05 2022-05-03 Qualcomm Incorporated Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans
CN103281538B (zh) 2013-06-06 2016-01-13 上海交通大学 基于滚动哈希和块级别帧内预测的帧内编码方法
US9787989B2 (en) 2013-06-11 2017-10-10 Blackberry Limited Intra-coding mode-dependent quantization tuning
CN104244007B (zh) 2013-06-13 2020-09-01 上海天荷电子信息有限公司 一种图像编码方法和装置及解码方法和装置
JP2016523483A (ja) 2013-06-18 2016-08-08 ヴィド スケール インコーポレイテッド Hevc拡張のためのレイヤ間パラメータセット
US9300967B2 (en) 2013-06-19 2016-03-29 Apple Inc. Sample adaptive offset control
US10015515B2 (en) 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
GB2516422A (en) 2013-07-09 2015-01-28 Sony Corp Data encoding and decoding
US20150016533A1 (en) * 2013-07-12 2015-01-15 Qualcomm Incorporated Intra motion compensation extensions
US9558567B2 (en) 2013-07-12 2017-01-31 Qualcomm Incorporated Palette prediction in palette-based video coding
US20150016516A1 (en) 2013-07-15 2015-01-15 Samsung Electronics Co., Ltd. Method for intra prediction improvements for oblique modes in video coding
US9756347B2 (en) 2013-07-23 2017-09-05 Futurewei Technologies, Inc. Screen content coding systems and methods
EP3028466B1 (en) 2013-07-24 2022-01-26 Qualcomm Incorporated Simplified advanced motion prediction for 3d-hevc
US9774879B2 (en) 2013-08-16 2017-09-26 Sony Corporation Intra-block copying enhancements for HEVC in-range-extension (RExt)
CN104378644B (zh) 2013-08-16 2020-12-04 上海天荷电子信息有限公司 定宽度变长度像素样值串匹配增强的图像压缩方法和装置
CN103428498A (zh) 2013-08-21 2013-12-04 江苏新瑞峰信息科技有限公司 一种无损图像压缩系统
US10313682B2 (en) 2013-08-26 2019-06-04 Qualcomm Incorporated Determining regions when performing intra block copying
US9503715B2 (en) 2013-08-30 2016-11-22 Qualcomm Incorporated Constrained intra prediction in video coding
CN104427338B (zh) * 2013-09-07 2019-11-05 上海天荷电子信息有限公司 一种使用块匹配的图像编码以及图像解码的方法和装置
US20150071357A1 (en) 2013-09-12 2015-03-12 Qualcomm Incorporated Partial intra block copying for video coding
AU2013228045A1 (en) 2013-09-13 2015-04-02 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
US10009629B2 (en) 2013-10-11 2018-06-26 Sony Corporation Video coding system with search range and method of operation thereof
US11109036B2 (en) 2013-10-14 2021-08-31 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
RU2666635C2 (ru) 2013-10-14 2018-09-11 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Характеристики режима индексной карты основных цветов для кодирования и декодирования видео и изображения
MX2016004705A (es) 2013-10-14 2016-07-18 Microsoft Technology Licensing Llc Caracteristicas del modo de prediccion copia de bloque interno para codificacion y decodificacion de imagen y video.
US20150110181A1 (en) * 2013-10-18 2015-04-23 Samsung Electronics Co., Ltd. Methods for palette prediction and intra block copy padding
US10291827B2 (en) 2013-11-22 2019-05-14 Futurewei Technologies, Inc. Advanced screen content coding solution
RU2679566C1 (ru) 2013-12-10 2019-02-11 Кэнон Кабусики Кайся Улучшенный палитровый режим в hevc
EP3926955A1 (en) 2013-12-10 2021-12-22 Canon Kabushiki Kaisha Method and apparatus for encoding or decoding blocks of pixel
BR112016012417B1 (pt) 2013-12-18 2023-04-11 Hfi Innovation Inc Método e aparelho para inicialização e gerenciamento de paleta
US10972742B2 (en) 2013-12-19 2021-04-06 Canon Kabushiki Kaisha Encoding process using a palette mode
GB2521606A (en) 2013-12-20 2015-07-01 Canon Kk Method and apparatus for transition encoding in video coding and decoding
TWI536811B (zh) 2013-12-27 2016-06-01 財團法人工業技術研究院 影像處理方法與系統、解碼方法、編碼器與解碼器
WO2015100514A1 (en) 2013-12-30 2015-07-09 Qualcomm Incorporated Simplification of delta dc residual coding in 3d video coding
EP3090559A2 (en) 2014-01-02 2016-11-09 VID SCALE, Inc. Two-dimensional palette coding for screen content coding
US10362333B2 (en) 2014-01-02 2019-07-23 Qualcomm Incorporated Color index coding for palette-based video coding
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
WO2015100726A1 (en) 2014-01-03 2015-07-09 Microsoft Corporation Block vector prediction in video and image coding/decoding
US9883197B2 (en) 2014-01-09 2018-01-30 Qualcomm Incorporated Intra prediction of chroma blocks using the same vector
US20150271515A1 (en) 2014-01-10 2015-09-24 Qualcomm Incorporated Block vector coding for intra block copy in video coding
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
GB2522844A (en) 2014-01-29 2015-08-12 Sony Corp Data encoding and decoding
US9699468B2 (en) 2014-02-10 2017-07-04 Microsoft Technology Licensing, Llc Adaptive screen and video coding scheme
US20150237356A1 (en) 2014-02-18 2015-08-20 Microsoft Corporation Host encoder for hardware-accelerated video encoding
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
CN106416243B (zh) 2014-02-21 2019-05-03 联发科技(新加坡)私人有限公司 利用基于帧内图像区块复制预测的视频编码方法
JP2017512026A (ja) 2014-03-04 2017-04-27 マイクロソフト テクノロジー ライセンシング,エルエルシー イントラブロックコピー予測におけるブロック反転及びスキップモード
WO2015131325A1 (en) 2014-03-04 2015-09-11 Microsoft Technology Licensing, Llc Hash table construction and availability checking for hash-based block matching
US20150262404A1 (en) 2014-03-13 2015-09-17 Huawei Technologies Co., Ltd. Screen Content And Mixed Content Coding
CN110233949B (zh) * 2014-03-14 2021-07-30 寰发股份有限公司 调色板表初始化和管理的方法
PL3117617T3 (pl) 2014-03-14 2022-08-22 Vid Scale, Inc. Kodowanie palety przeznaczone do kodowania zawartości ekranu
JP6328262B2 (ja) 2014-03-14 2018-05-23 寰發股▲ふん▼有限公司HFI Innovation Inc. パレットスタッフィングによるカラーインデックスコーディング方法
CA2942903A1 (en) 2014-03-16 2015-09-24 Vid Scale, Inc. Method and apparatus for the signaling of lossless video coding
EP3120548B1 (en) * 2014-03-17 2019-12-11 Nokia Technologies Oy Decoding of video using a long-term palette
US20150264348A1 (en) * 2014-03-17 2015-09-17 Qualcomm Incorporated Dictionary coding of video content
US10432928B2 (en) 2014-03-21 2019-10-01 Qualcomm Incorporated Using a current picture as a reference for video coding
US10477232B2 (en) * 2014-03-21 2019-11-12 Qualcomm Incorporated Search region determination for intra block copy in video coding
US9654806B2 (en) 2014-03-26 2017-05-16 Qualcomm Incorporated Determining palette size, palette entries and filtering of palette coded blocks in video coding
CN103957412B (zh) 2014-05-06 2017-04-12 北京大学 一种针对屏幕视频帧间残差的基础色索引映射算法
WO2015170243A1 (en) 2014-05-09 2015-11-12 Nokia Technologies Oy Method and technical equipment for video encoding and decoding using palette coding
AU2014202682A1 (en) 2014-05-16 2015-12-03 Canon Kabushiki Kaisha Method, apparatus and system for copying a block of video samples
US10038915B2 (en) 2014-05-22 2018-07-31 Qualcomm Incorporated Escape sample coding in palette-based video coding
US10750198B2 (en) 2014-05-22 2020-08-18 Qualcomm Incorporated Maximum palette parameters in palette-based video coding
US10264285B2 (en) 2014-05-22 2019-04-16 Qualcomm Incorporated Coding runs in palette-based video coding
US11323733B2 (en) 2014-05-23 2022-05-03 Qualcomm Incorporated Predictor palette initialization in palette-based video coding
US10382749B2 (en) 2014-05-23 2019-08-13 Qualcomm Incorporated Coding run values based on palette index in palette-based video coding
US10291940B2 (en) 2014-05-23 2019-05-14 Qualcomm Incorporated Coding runs with escape in palette-based video coding
AU2014202921B2 (en) 2014-05-29 2017-02-02 Canon Kabushiki Kaisha Method, apparatus and system for de-blocking a block of video samples
US10136141B2 (en) 2014-06-11 2018-11-20 Qualcomm Incorporated Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding
US9924175B2 (en) 2014-06-11 2018-03-20 Qualcomm Incorporated Determining application of deblocking filtering to palette coded blocks in video coding
EP3158753B1 (en) 2014-06-19 2021-12-08 VID SCALE, Inc. Intra block copy coding with block vector derivation
CN105493505B (zh) 2014-06-19 2019-08-06 微软技术许可有限责任公司 统一的帧内块复制和帧间预测模式
US9948949B2 (en) 2014-06-20 2018-04-17 Qualcomm Incorporated Intra block copy block vector signaling for video coding
US10477204B2 (en) 2014-06-20 2019-11-12 Sharp Kabushiki Kaisha Harmonized palette coding
KR101748620B1 (ko) 2014-06-20 2017-07-04 성균관대학교산학협력단 영상의 부호화/복호화 방법 및 이를 이용하는 장치
US20150381994A1 (en) * 2014-06-27 2015-12-31 Futurewei Technologies, Inc. Advanced screen content coding with improved palette table and index map coding methods
US10412387B2 (en) * 2014-08-22 2019-09-10 Qualcomm Incorporated Unified intra-block copy and inter-prediction
AU2014216056A1 (en) 2014-08-25 2016-03-10 Canon Kabushiki Kaisha Method, apparatus and system for predicting a block of video samples
EP3202150B1 (en) * 2014-09-30 2021-07-21 Microsoft Technology Licensing, LLC Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US20160112713A1 (en) 2014-10-20 2016-04-21 Google Inc. Mapping spherical image to 2d representations
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
EP3286918A1 (en) 2015-04-21 2018-02-28 VID SCALE, Inc. Artistic intent based video coding
US10638140B2 (en) 2015-05-29 2020-04-28 Qualcomm Incorporated Slice level intra block copy and other video coding improvements
CN106664405B (zh) 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
US9704270B1 (en) 2015-07-30 2017-07-11 Teradici Corporation Method and apparatus for rasterizing and encoding vector graphics
JP2018032949A (ja) 2016-08-23 2018-03-01 キヤノン株式会社 動きベクトル検出装置およびその制御方法
US10817747B2 (en) 2019-03-14 2020-10-27 Ubicquia Iq Llc Homography through satellite image matching

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130272370A1 (en) * 2012-04-11 2013-10-17 Qualcomm Incorporated Wavefront parallel processing for video coding

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
C. GISQUET, G. LAROCHE, P. ONNO: "SCCE3 Test A.3: palette stuffing", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JPN6018019834, 20 June 2014 (2014-06-20), pages 1 - 5 *
POLIN LAI, SHAN LIU, TZU-DER CHUANG, YU-WEN HUANG, SHAWMIN LEI: "Non-RCE4: Major color table (palette) sharing", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JPN6018019831, 11 January 2014 (2014-01-11), pages 1 - 6 *
RAJAN JOSHI, JIZHENG XU: "High Efficiency Video Coding (HEVC) Screen Content Coding: Draft 1", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JPN6018019833, 23 August 2014 (2014-08-23), pages pp.52-54,100-101,132-134 *
YU-CHEN SUN, TZU-DER CHUANG, POLIN LAI, SHIH-TA HSIANG, YI-WEN CHEN, XIANGUO ZHANG, SHAN LIU, YU-WEN: "AHG10: A triplet palette mode combining JCTVC-P0108 and JCTVC-P0198", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JPN6018019832, 27 March 2014 (2014-03-27), pages 1 - 9 *
YU-CHEN SUN, TZU-DER CHUANG, YI-WEN CHEN, YU-WEN HUANG, SHAWMIN LEI: "Non-RCE4: Cross-CU major color index prediction", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JPN6018019835, 9 January 2014 (2014-01-09), pages 1 - 5 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7342275B2 (ja) 2020-10-16 2023-09-11 テンセント・アメリカ・エルエルシー ビデオコーディングのための方法、装置およびコンピュータプログラム

Also Published As

Publication number Publication date
US20220264131A1 (en) 2022-08-18
EP3917146A1 (en) 2021-12-01
US20230353767A1 (en) 2023-11-02
BR112017004041A2 (pt) 2017-12-05
WO2016049839A1 (en) 2016-04-07
CA3171803A1 (en) 2016-04-07
US20200404301A1 (en) 2020-12-24
AU2014408228B2 (en) 2019-09-19
CA2959682A1 (en) 2016-04-07
EP3202150A4 (en) 2017-12-20
EP3202150A1 (en) 2017-08-09
US20170238001A1 (en) 2017-08-17
MX2017004211A (es) 2017-11-15
KR102330740B1 (ko) 2021-11-23
CN105874795B (zh) 2019-11-29
US11363283B2 (en) 2022-06-14
KR102245704B1 (ko) 2021-04-27
KR20210040195A (ko) 2021-04-12
RU2017110397A (ru) 2018-10-01
AU2014408228A1 (en) 2017-03-16
RU2017110397A3 (ja) 2018-10-01
EP3202150B1 (en) 2021-07-21
US10812817B2 (en) 2020-10-20
KR20170063885A (ko) 2017-06-08
CN105874795A (zh) 2016-08-17
RU2679201C2 (ru) 2019-02-06
CA2959682C (en) 2022-12-06
US11758162B2 (en) 2023-09-12

Similar Documents

Publication Publication Date Title
US11758162B2 (en) Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US20240146955A1 (en) Block vector prediction in video and image coding/decoding
US20200244991A1 (en) Adaptive switching of color spaces, color sampling rates and/or bit depths
US20200244962A1 (en) Robust encoding/decoding of escape-coded pixels in palette mode
CN107211155B (zh) 图内块拷贝预测模式下的合并的色度块的特殊情况处理
KR102401946B1 (ko) 인트라 블록 카피 예측에서의 스킵 모드 및 블록 플립핑
JP6793778B2 (ja) 波面並列処理が可能にされた場合のピクチャ内予測モードに関する規則
JP2018088715A (ja) イントラブロックコピー予測におけるブロック反転及びスキップモード
BR112017004041B1 (pt) Método implementado por computador, mídia legível por computador e sistema de computação
BR122022001703B1 (pt) Método, sistema de computador, mídia legível por computador

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180830

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190122