JP2017531355A - マルチ区分変換のために変換構造を再使用するためのシステム及び方法 - Google Patents

マルチ区分変換のために変換構造を再使用するためのシステム及び方法 Download PDF

Info

Publication number
JP2017531355A
JP2017531355A JP2017506723A JP2017506723A JP2017531355A JP 2017531355 A JP2017531355 A JP 2017531355A JP 2017506723 A JP2017506723 A JP 2017506723A JP 2017506723 A JP2017506723 A JP 2017506723A JP 2017531355 A JP2017531355 A JP 2017531355A
Authority
JP
Japan
Prior art keywords
transform
block
inverse transform
point
functions
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
JP2017506723A
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2017531355A publication Critical patent/JP2017531355A/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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/145Square transforms, e.g. Hadamard, Walsh, Haar, Hough, Slant transforms
    • 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/18Methods 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 set of transform coefficients
    • 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/182Methods 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 pixel
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter

Abstract

コード化ビットストリーム中のビデオデータのブロックを復号するたように構成された装置は、メモリと、このメモリと通信状態にあるプロセッサとを含む。メモリは、コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納するように構成される。プロセッサは、ブロックの変換区分タイプを決定することと、ここで、ブロックは、ブロックに関連付けられた複数の画素値に対して1つ又は複数の変換関数を適用することを介して決定された変換係数に関連付けられる、変換係数が、1つ又は複数の変換関数に対応する逆変換関数に入力されることとなる順序を、変換区分タイプに基づいて決定することと、決定された順序で逆変換関数に変換係数を入力することを介して出力値を取得することと、出力値に基づいてコード化ビットストリーム中のビデオデータのブロックを復号することとを行うように構成される。【選択図】 図7

Description

[0001]本開示は、ビデオコード化及び圧縮の分野に関し、より具体的には、ディスプレイリンクビデオ圧縮のような、ディスプレイリンクを通した送信のためのビデオ圧縮に関する。
[0002]デジタルビデオ能力は、デジタルテレビジョン、携帯情報端末(PDA)、ラップトップコンピュータ、デスクトップモニタ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングデバイス、ビデオゲームコンソール、セルラ又は衛星無線電話、ビデオテレビ会議デバイス、等を含む、広範囲のディスプレイに組み込まれ得る。ディスプレイリンクは、適切な発信源デバイスにディスプレイを接続するために使用される。ディスプレイリンクの帯域幅要件は、ディスプレイの解像度に比例し、故に、高解像度ディスプレイは、より大きな帯域幅のディスプレイリンクを必要とする。幾つかのディスプレイリンクは、高解像度ディスプレイをサポートする帯域幅を有さない。この帯域幅要件を低減するためにビデオ圧縮が使用されることができ、これにより、より低い帯域幅のディスプレイリンクが、高解像度ディスプレイにデジタルビデオを提供するために使用されることができる。
[0003]他のものは、画素データに対して画像圧縮を利用してみた。しかしながら、そのようなスキームは、時々、視覚的にロスレスではないか又は従来のディスプレイデバイスに実装するのが困難且つ高価であり得る。
[0004]ビデオ電子規格アソシエーション(VESA)は、ディスプレイリンクビデオ圧縮のための規格として、ディスプレイストリーム圧縮(DSC)を開発している。DSCのようなディスプレイリンクビデオ圧縮技法は、とりわけ、視覚的にロスレスであるピクチャ品質(即ち、圧縮がアクティブであることをユーザが識別することができない品質レベルを有するピクチャ)を提供するべきである。ディスプレイリンクビデオ圧縮技法はまた、リアルタイムで従来のハードウェアに実現するのが容易且つ安価なスキームを提供するべきである。
[0005]本開示のシステム、方法及びデバイスは各々が、幾つかの革新的な態様を有し、それらは1つとして、本明細書で開示される望ましい属性を単独で担うものではない。
[0006]一態様では、コード化ビットストリーム中のビデオデータのブロックを復号する方法は、ブロックに関連付けられた変換区分タイプ(transform partition type)を決定することと、ここで、ブロックは、ブロックに関連付けられた複数の画素値に対して1つ又は複数の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、複数の変換係数が、1つ又は複数の変換関数に対応する1つ又は複数の逆変換関数に入力されることとなる順序を、変換区分タイプに基づいて決定することと、決定された順序で1つ又は複数の逆変換関数に複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、複数の出力値に少なくとも部分的に基づいてコード化ビットストリーム中のビデオデータのブロックを復号することとを含む。
[0007]別の態様では、コード化ビットストリーム中のビデオデータのブロックを復号するための装置は、メモリと、このメモリと通信状態にあるプロセッサとを含む。メモリは、コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納するように構成される。プロセッサは、ブロックに関連付けられた変換区分タイプを決定することと、ここで、ブロックは、ブロックに関連付けられた複数の画素値に対して1つ又は複数の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、複数の変換係数が、1つ又は複数の変換関数に対応する1つ又は複数の逆変換関数に入力されることとなる順序を、変換区分タイプに基づいて決定することと、決定された順序で1つ又は複数の逆変換関数に複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、複数の出力値に少なくとも部分的に基づいてコード化ビットストリーム中のビデオデータのブロックを復号することとを行うように構成される。
[0008]別の態様では、非一時的なコンピュータ可読媒体は、実行されると、装置に、コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納することと、ブロックに関連付けられた変換区分タイプを決定することと、ここで、ブロックは、ブロックに関連付けられた複数の画素値に対して1つ又は複数の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、複数の変換係数が、1つ又は複数の変換関数に対応する1つ又は複数の逆変換関数に入力されることとなる順序を、変換区分タイプに基づいて決定することと、決定された順序で1つ又は複数の逆変換関数に複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、複数の出力値に少なくとも部分的に基づいてコード化ビットストリーム中のビデオデータのブロックを復号することとを行わせるコードを含む。
[0009]別の態様では、コード化ビットストリーム中のビデオデータのブロックを復号するように構成されたビデオコード化デバイスは、コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納するための手段と、ブロックに関連付けられた変換区分タイプを決定するための手段と、ここで、ブロックは、ブロックに関連付けられた複数の画素値に対して1つ又は複数の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、複数の変換係数が、1つ又は複数の変換関数に対応する1つ又は複数の逆変換関数に入力されることとなる順序を、変換区分タイプに基づいて決定するための手段と、決定された順序で1つ又は複数の逆変換関数に複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得するための手段と、複数の出力値に少なくとも部分的に基づいてコード化ビットストリーム中のビデオデータのブロックを復号するための手段とを含む。
[0010]図1Aは、本開示で説明される態様に係る技法を利用し得る例となるビデオ符号化及び復号システムを例示するブロック図である。 [0011]図1Bは、本開示で説明される態様に係る技法を実行し得る別の例となるビデオ符号化及び復号システムを例示するブロック図である。 [0012]図2Aは、本開示で説明される態様に係る技法を実装し得るビデオエンコーダの例を例示するブロック図である。 [0013]図2Bは、本開示で説明される態様に係る技法を実装し得るビデオデコーダの例を例示するブロック図である。 [0014]図3は、エンコーダ側の変換区分化の例である。 [0015]図4は、デコーダ側の変換区分化の例である。 [0016]図5Aは、様々な区分タイプで使用される例となる画素区分を例示する。 図5Bは、様々な区分タイプで使用される例となる画素区分を例示する。 図5Cは、様々な区分タイプで使用される例となる画素区分を例示する。 図5Dは、様々な区分タイプで使用される例となる画素区分を例示する。 [0017]図6Aは、単一の逆変換の変換構造を使用した様々な区分タイプの例となる実装形態を例示する。 図6Bは、単一の逆変換の変換構造を使用した様々な区分タイプの例となる実装形態を例示する。 図6Cは、単一の逆変換の変換構造を使用した様々な区分タイプの例となる実装形態を例示する。 図6Dは、単一の逆変換の変換構造を使用した様々な区分タイプの例となる実装形態を例示する。 [0018]図7は、本開示で説明される態様に係る、マルチ区分変換のために変換構造を再使用するためのデコーダによって実行される方法を例示するブロック図である。 [0019]図8は、本開示で説明される態様に係る、デコーダ側の変換区分化の例である。
発明の詳細な説明
[0020]一般に、本開示は、例えば、ディスプレイリンクビデオ圧縮で利用されるもののような、ビデオ圧縮技法を改善する方法に関する。より具体的には、本開示は、単一の変換構造を使用した多長変換関数(multi-length transform functions)を実施するためのシステム及び方法に関する。
[0021]特定の実施形態は、ディスプレイリンクビデオ圧縮技法の例であるディスプレイストリーム圧縮(DSC)規格の文脈において本明細書で説明されるが、当業者は、本明細書で開示されるシステム及び方法が、任意の適切なビデオコード化規格に適用可能であり得ることを認識するだろう。例えば、本明細書で開示される実施形態は、以下の規格のうちの1つ又は複数に適用可能であり得る:国際電気通信連合(ITU)電気通信標準化部門(ITU−T)H.261、国際標準化機構/国際電気標準会議(ISO/IEC)ムービングピクチャエキスパートグループ―1(MPEG−1)ビジュアル、ITU−T H.262又はISO/IEC MPEG−2ビジュアル、ITU−T H.263、ISO/IEC MPEG−4ビジュアル,ITU−T H.264(ISO/IEC MPEG−4 AVCとしても知られている)、高効率ビデオコード化(HEVC)及びそのような規格の任意の拡張。また、本開示で説明される技法は、将来に開発される規格の一部となり得る。換言すると、本開示で説明される技法は、前に開発されたビデオコード化規格、現在開発中のビデオコード化規格及び今後のビデオコード化規格に適用可能であり得る。更に、本開示で説明される技法は、変換ベースの画像/ビデオ圧縮を伴う任意のコード化スキームに適用可能であり得る。
[0022]ビデオエンコーダは、追加の圧縮を達成するために、コード化されるべき画素値又は残差値に対して1つ又は複数の変換を適用し得る。例えば、エンコーダは、ビデオデータのブロック(例えば、画素値又は残差値)に対して1つ又は複数の変換を適用し、変換係数ブロック(例えば、ビデオデータのブロックに対応する変換係数のブロック)を取得し得る。幾つかの実装形態では、エンコーダは、異なるサイズの多数の変換(例えば、変換の4つの異なるのセット)を実行し、画像又はビデオデータの特定のブロック又は一部について最良の(例えば、所望のレート歪み性能に最も近い)性能をもたらす変換を選択する。エンコーダは、選択された変換をデコーダに示すために、ビットストリームにおいて変換選択信号をシグナル伝達し得る。
[0023]既存のデコーダハードウェア実装形態では、別個の逆変換ブロックが、各変換区分タイプに対して使用される。例えば、エンコーダが4つの異なる区分タイプから選択するように構成される場合、エンコーダによって生成されたビットストリームを復号するように構成された対応するデコーダは、4つの異なる区分タイプに各々対応するハードウェア(例えば、互いの間で共有されていないレジスタ、加算器、減算器、等)の4つのセットも含む。ハードウェアの各セットは、例えば、マルチプレクサ(MUX)に供給される出力値のセットを生成し、デコーダは、区分選択信号に基づいて、出力値の適切なセットを選択する。
[0024]しかしながら、着信区分化ビットストリームを復号するために複数の逆変換ブロックを使用することは、ハードウェア実装形態が特にデコーダ側のチップ面積及び/又は実装コストに対して敏感であるため、デコーダのコスト効率性に対して有害に影響を及ぼす。故に、よりコスト効率の良い方法での複数の変換区分サイジングを伴う変換コード化ビットストリームを復号するための改善された方法が望まれる。
[0025]本開示では、複数の変換区分サイジングを伴う変換コード化ビットストリームを復号する改善された方法が説明される。例えば、16点変換の例となる実装形態は、加算器及び/又は減算器のようなハードウェアを含み得る。これらの加算器及び/又は減算器は、8点及び4点変換といった他の変換を、16点変換を実施するために使用されるハードウェアとは別個であり且つそれから独立しているそのような8点及び4点変換を実施するのに必要な完全な変換構造(full transform structure)を追加する必要なしに、実行するために利用され得る。換言すると、エンコーダ及び/又はデコーダが実行する必要の有り得る様々な変換を実施するために使用されるハードウェアの特定の部分を再使用することで、そのような変換を実施するためのハードウェア要件が低減され得る。
ビデオコード化規格
[0026]ビデオ画像、TV画像、静止画像又はビデオレコーダ若しくはコンピュータによって生成された画像のようなデジタル画像は、水平ライン及び垂直ライン状に配列された画素又はサンプルを含み得る。単一の画像内の画素数は典型的に数万である。各画素は、典型的に、輝度情報及び色彩情報を含む。圧縮なしの場合、画像エンコーダから画像デコーダに伝達されるべき膨大な情報量は、リアルタイム画像送信を非実用的にするだろう。送信されるべき情報量を低減するために、JPEG、MPEG及びH.263規格のような多数の異なる圧縮方法が開発されている。
[0027]ビデオコード化規格は、ITU−T H.261,ISO/IEC MPEG−1ビジュアル,ITU−T H.262又はISO/IEC MPEG−2ビジュアル,ITU−T H.263,ISO/IEC MPEG−4ビジュアル,ITU−T H.264(ISO/IEC MPEG−4 AVCとしても知られている)及びHEVC及びそのような規格の拡張を含む。
[0028]加えて、ビデオコード化規格、即ちDSC、が、VESAによって開発されている。DSC規格は、ディスプレイリンクを通した送信のためにビデオを圧縮することができるビデオ圧縮規格である。ディスプレイの解像度が増すと、ディスプレイを駆動するのに必要とされるビデオデータの帯域幅は相応して増加する。幾つかのディスプレイリンクは、そのような解像度の場合、ディスプレイにビデオデータの全てを送信するための帯域幅を有さないだろう。従って、DSC規格は、ディスプレイリンクを通した相互動作可能で視覚的にロスレスな圧縮についての圧縮規格を規定する。
[0029]DSC規格は、H.264及びHEVCのような他のビデオコード化規格とは異なる。DSCは、フレーム内圧縮は含むが、フレーム間圧縮は含まず、これは、ビデオデータをコード化する際にDSC規格が時間的情報を使用しないことができることを意味する。対照的に、他のビデオコード化規格は、それらのビデオコード化技法においてフレーム間圧縮を用い得る。
ビデオコード化システム
[0030]新規なシステム、装置及び方法の様々な態様が、添付の図面を参照して以下により十分に説明される。しかしながら、本開示は、多くの異なる形態で具現化され、本開示全体を通して提示される任意の特定の構造又は機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、この開示が、徹底的かつ完全なものなり、本開示の範囲を当業者に十分に伝えるために提供される。本明細書での教示に基づいて、当業者は、本開示の範囲が、本開示の任意の他の態様から独立して実施されようとそれらと組み合わせて実施されようと、本明細書で説明される新規のシステム、装置及び方法の任意の態様をカバーすることが意図されたものであることを認識するべきである。例えば、本明細書で説明される任意の数の態様を使用して、装置が実施され得るか、方法が実施され得る。加えて、本開示の範囲は、本明細書で説明される本開示の様々な態様に加えて、又は、それ以外に、他の構成、機能性、及び構成と機能性を使用して実施される、そのような装置又は方法をカバーすることが意図されている。本明細書に開示される任意の態様が、特許請求の範囲の1つ又は複数の要素によって具現化され得ることは理解されるべきである。
[0031]本明細書では特定の態様が説明されるが、これらの態様の多くの変形及び置換は、本開示の範囲内に含まれる。好ましい態様の幾つかの利益及び利点が述べられるが、本開示の範囲は、特定の利益、使用又は目的に限定されることは意図されない。むしろ、本開示の態様は、異なるワイヤレス技術、システム構成、ネットワーク及び送信プロトコルに広く適用可能であることが意図されており、そのうちの幾つかは、図で及び好ましい態様についての以下の説明で、例として例示される。詳細な説明及び図面は、本開示の限定というよりもむしろ単なる例示であり、本開示の範囲は、添付の特許請求の範囲及びそれらの同等物によって定義されている。
[0032]添付の図面は例を例示する。添付の図面において参照番号によって示される要素は、以下の説明において同様の参照番号によって示される要素に対応する。本開示では、順序を示す言葉(例えば、「第1の」、「第2の」、「第3の」、等)で始まる名称をもつ要素は、必ずしも、それらの要素が特定の順序を持つことを含意していない。むしろ、そのような順序を示す言葉は、同じ又は同様のタイプの異なる要素を指すために使用されるにすぎない。
[0033]図1Aは、本開示で説明される態様に係る技法を利用し得る例となるビデオコード化システム10を例示するブロック図である。本明細書で使用される場合、「ビデオコーダ」又は「コーダ」という用語は、概して、ビデオエンコーダ及びビデオデコーダの両方を指す。本開示では、「ビデオコード化」又は「コード化」という用語は、概して、ビデオ符号化及びビデオ復号を指し得る。ビデオエンコーダ及びビデオデコーダに加えて、本願で説明される態様は、トランスコーダ(例えば、ビットストリームを復号し、別のビットストリームを再符号化することができるデバイス)及びミドルボックス(例えば、ビットストリームを修正、変換及び/又はそれ以外の方法で操作することができるデバイス)のような他の関連デバイスに拡張され得る。
[0034]図1Aに示すように、ビデオコード化システム10は、宛先デバイス14(即ち、「ビデオコード化デバイス14」又は「コード化デバイス14」)によって後の時点で復号されるべき符号化ビデオデータを生成する発信源デバイス12(即ち、「ビデオコード化デバイス12」又は「コード化デバイス12」)を含む。図1Aの例では、発信源デバイス12及び宛先デバイス14は、別個のデバイスの構成要素である。しかしながら、図1Bの例で示されるように、発信源デバイス12及び宛先デバイス14は、同じデバイス上にあるか又はその一部であり得ることに留意されたい。
[0035]図1Aを再度参照すると、発信源デバイス12及び宛先デバイス14は、それぞれ、デスクトップコンピュータ、ノートブック(例えば、ラップトップコンピュータ)、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイス、等を含む広範囲のデバイス(ビデオコード化デバイスとも呼ばれる)の何れかを備え得る。様々な実施形態では、発信源デバイス12及び宛先デバイス14は、ワイヤレス通信に対応し得る(即ち、それを介して通信するように構成され得る)。
[0036]ビデオコード化システム10のビデオコード化デバイス12、14は、ワイヤレス広域ネットワーク(WWAN)(例えば、セルラ)及び/又はワイヤレスローカルエリアネットワーク(WLAN)キャリアのようなワイヤレスネットワーク及び無線技術を介して通信するように構成され得る。「ネットワーク」及び「システム」という用語は、多くの場合、交換して使用される。ビデオコード化デバイス12、14の各々は、ユーザ機器(UE)、ワイヤレスデバイス、端末、モバイル局、加入者ユニット、等であり得る。
[0037]WLANキャリアは、例えば、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交FDMA(OFDMA)、単一キャリアFDMA(SC−FDMA)及び他のネットワーク等のワイヤレス通信ネットワークを含み得る。CDMAネットワークは、ユニバーサル地上無線アクセス(UTRA)、CDMA2000、等の無線技術を実装し得る。UTRAは、広帯域CDMA(WCDMA(登録商標))及びCDMAの他の変形を含む。CDMA2000は、IS−2000、IS−95及びIS−856規格をカバーする。TDMAネットワークは、モバイル通信のためのグローバルシステム(GSM(登録商標))のような無線技術を実装し得る。OFDMAネットワークは、次世代UTRA(E−UTRA)、ウルトラモバイルブロードバンド(UMB)、IEEE802.11(Wi−Fi)、IEEE802.16(WiMAX)、IEEE802.20、フラッシュOFDM(Flash−OFDM)、等の無線技術を実装し得る。UTRA及びE−UTRAは、ユニバーサルモバイル電気通信システム(UMTS)の一部である。3GPP(登録商標)ロングタームエボリューション(LTE(登録商標))及びLTEアドバンスド(LTE−A)は、E−UTRAを使用するUMTSの新リリースである。UTRA、E―UTRA、UMTS、LTE、LTE−A及びGSMは、「第3世代パートナーシッププロジェクト(3GPP)」という名称の団体からの文書に記載されている。CDMA2000及びUMBは、「第3世代パートナーシッププロジェクト2(3GPP2)」という名称の団体からの文書に記載されている。
[0038]ビデオコード化システム10のビデオコード化デバイス12、14はまた、IEEE802.11規格、例えば、それらの改訂版802.11a−1999(通称「802.11a」),802.11b−1999(通称「802.11b」),802.11g−2003(通称「802.11g」)、等を含む、のような1つ又は複数の規格に従ってWLAN基地局を介して互いに通信し得る。
[0038]宛先デバイス14は、リンク16を介して、復号されるべき符号化ビデオデータを受信し得る。リンク16は、発信源デバイス12から宛先デバイス14に符号化ビデオデータを移動することができる任意のタイプの媒体又はデバイスを備え得る。図1Aの例では、リンク16は、発信源デバイス12が、符号化ビデオデータを宛先デバイス14にリアルタイムで送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルのような通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトル又は1つ以上の物理送信ラインのような任意のワイヤレス又はワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、広域ネットワーク又はインターネットのようなグローバルネットワークといったパケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、又は発信源デバイス12から宛先デバイス14への通信を容易にするのに有益であり得る任意の他の機器を含み得る。
[0040]図1Aの例では、発信源デバイス12は、ビデオ発信源18、ビデオエンコーダ20(単に、エンコーダ20とも呼ばれる)、出力インターフェース22を含む。幾つかのケースでは、出力インターフェース22は、変調器/復調器(モデム)及び/又は送信機を含み得る。発信源デバイス12では、ビデオ発信源18は、例えば、ビデオカメラのような撮像装置、前に撮られたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインタフェース、及び/又は発信源ビデオとしてコンピュータグラフィックデータを生成するためのコンピュータグラフィックシステム、又はそのような発信源の組み合わせのような発信源を含み得る。一例として、ビデオ発信源18がビデオカメラである場合、発信源デバイス12及び宛先デバイス14は、図1Bの例で例示されるように、いわゆる「カメラ付き電話」又は「テレビ電話」を形成し得る。しかしながら、本開示で説明される技法は、概してビデオコード化に適用可能であり得、ワイヤレス及び/又はワイヤードアプリケーションに適用され得る。
[0041]撮られた、事前に撮られた又はコンピュータにより生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオデータは、発信源デバイス12の出力インターフェース22を介して、宛先デバイス14に送信され得る。符号化ビデオデータはまた(又は代替として)、復号及び/又は再生のため、宛先デバイス14又は他のデバイスによる後のアクセスのために記憶デバイス31に格納され得る。図1A及び1Bに例示されるビデオエンコーダ20は、図2Aに例示されるビデオエンコーダ20又は本明細書で説明される任意の他のビデオエンコーダを備え得る。
[0042]図1Aの例では、宛先デバイス14は、入力インターフェース28、ビデオデコーダ30(単に、デコーダ30とも呼ばれる)及びディスプレイデバイス32を含む。幾つかのケースでは、入力インターフェース28は、受信機及び/又はモデムを含み得る。宛先デバイス14の入力インターフェース28は、記憶デバイス31から及び/又はリンク16を通して符号化ビデオデータを受信し得る。リンク16を介して通信された又は記憶デバイス31上に提供された符号化ビデオデータは、ビデオデコーダ30のようなビデオデコーダがビデオデータを復号する際に使用するための、ビデオエンコーダ20によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか又はファイルサーバに記憶される符号化ビデオデータに含まれ得る。図1A及び1Bに例示されるビデオデコーダ30は、図2Bに例示されるビデオデコーダ30又は本明細書で説明される任意の他のビデオデコーダを備え得る。
[0043]ディスプレイデバイス32は、宛先デバイス14と一体化され得るか、その外部にあり得る。幾つかの例では、宛先デバイス14は、一体化されたディスプレイデバイスを含み得、また外部のディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14は、ディスプレイデバイスであり得る。一般に、ディスプレイデバイス32は、復号ビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ又は別のタイプのディスプレイデバイスといった、多様なディスプレイデバイスの何れかを備え得る。
[0044]関連する態様では、図1Bは、発信源デバイス12及び宛先デバイス14がデバイス11上にあるか又はその一部である例となるビデオコード化システム10’を示す。デバイス11は、「スマート」フォンのような電話ハンドセット、等であり得る。デバイス11は、発信源デバイス12及び宛先デバイス14と動作可能に通信状態にあるプロセッサ/コントローラデバイス13(オプションで提示される)を含み得る。図1Bのビデオコード化システム10’及びそれの構成要素は、そうでなければ、図1Aのビデオコード化システム10及びそれらの構成要素に類似する。
[0045]ビデオエンコーダ20及びビデオデコーダ30は、DSCのようなビデオ圧縮規格に従って動作し得る。代替的に、ビデオエンコーダ20及びビデオデコーダ30は、別名MPEG―4,Part10,AVC,HEVCとも呼ばれるITU−T H.264規格又はそのような規格の拡張といった、他の専有の規格又は工業規格に従って動作し得る。しかしながら、本開示の技法は、何れの特定のコード化規格にも限定されない。ビデオ圧縮規格の他の例には、MPEG−2及びITU−T H.263が含まれる。
[0046]図1A及び1Bの例ででは示されないが、ビデオエンコーダ20及びビデオデコーダ30は各々、オーディオエンコーダ及びデコーダと一体化され得、共通のデータストリーム又は別個のデータストリーム中のオーディオ及びビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニット又は他のハードウェア及びソフトウェアを含み得る。適用可能な場合、幾つかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル又はユーザデータグラムプロトコル(UDP)のような他のプロトコルに準拠し得る。
[0047]ビデオエンコーダ20及びビデオデコーダ30は各々、1つ又は複数のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア又はそれらの組み合わせのような、様々な適切なエンコーダ回路の何れかとして実装され得る。本技法がソフトウェアで部分的に実装される場合、デバイスは、このソフトウェアのための命令を、適切かつ非一時的なコンピュータ可読媒体に格納し、本開示の技法を行うために、1つ又は複数のプロセッサを使用してハードウェアで命令を実行し得る。ビデオエンコーダ20及びビデオデコーダ30の各々は、1つ又は複数のエンコーダ又はデコーダに含まれ得、それらのどちらかは、組み合わせられたエンコーダ/デコーダの一部としてそれぞれのデバイスに一体化され得る。
ビデオコード化プロセス
[0048]簡潔に上述したように、ビデオエンコーダ20は、ビデオデータを符号化する。ビデオデータは、1つ又は複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。幾つかの事例では、ピクチャは、ビデオ「フレーム」と呼ばれ得る。ビデオエンコーダ20がビデオデータ(例えば、ビデオコード化レイヤ(VCL)データ及び/又は非VCLデータ)を符号化するとき、ビデオエンコーダ20は、ビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成する一連のビットを含み得る。ビットストリームは、コード化ピクチャ及び関連データを含み得る。コード化ピクチャは、ピクチャのコード化表現である。VCLデータは、コード化ピクチャデータ(即ち、コード化ピクチャのサンプルに関連付けられた情報)を含み得、非VCLデータは、1つ又は複数のコード化ピクチャに関連付けられた制御情報(例えば、パラメータセット及び/又は補足強化情報)を含み得る。
[0049]ビットストリームを生成するために、ビデオエンコーダ20は、ビデオデータ中の各ピクチャに対して符号化動作を実行し得る。ビデオエンコーダ20がピクチャに対して符号化動作を実行するとき、ビデオエンコーダ20は、一連のコード化ピクチャ及び関連データを生成し得る。関連データは、量子化パラメータ(QP)のようなコード化パラメータのセットを含み得る。コード化ピクチャを生成するために、ビデオエンコーダ20は、1つのピクチャを、同じ大きさの(equally-sized)複数のビデオブロックへと区分化し得る。ビデオブロックは、サンプルの2次元アレイであり得る。コード化パラメータは、ビデオデータの全てのブロックについてコード化オプション(例えば、コード化モード)を定義し得る。コード化オプションは、所望のレート歪み性能を達成するために、選択され得る。
[0050]幾つかの例では、ビデオエンコーダ20は、ピクチャを複数のスライスへと区分化し得る。スライスの各々は、画像(例えば、フレーム)内に空間個別的な領域を含み得、それらは、画像又はフレーム内の残りの領域からの情報なしに独立して復号されることができる。各画像又はビデオフレームは単一のスライスにおいて符号化され得るか、各画像又はビデオフレームは幾つかのスライスにおいて符号化され得る。DSCでは、各スライスを符号化するために割り振られるビット数は、ほぼ一定であり得る。ピクチャに対して符号化動作を実行することの一環として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化動作を実行し得る。ビデオエンコーダ20がスライスに対して符号化動作を実行するとき、ビデオエンコーダ20は、このスライスに関連付けられた符号化データを生成し得る。スライスに関連付けられた符号化データは、「コード化スライス」とも呼ばれ得る。
DSCビデオエンコーダ
[0051]図2Aは、本開示において説明される態様に係る技法を実装し得るビデオエンコーダ20の例を例示するブロック図である。ビデオエンコーダ20は、本開示の技法のうちの幾つか又は全てを実行するように構成され得る。幾つかの例では、本開示で説明される技法は、ビデオエンコーダ20の様々な構成要素の間で共有され得る。幾つかの例では、追加的に又は代替的に、プロセッサ(図示されない)は、本開示で説明される技法のうちの幾つかまた全てを実行するように構成され得る。
[0052]説明の目的のために、本開示は、DSCコード化の文脈においてビデオエンコーダ20を説明している。しかしながら、本開示の技法は、他のコード化規格又は方法に適用可能であり得る。
[0053]図2Aの例では、ビデオエンコーダ20は、複数の機能的な構成要素を含む。ビデオエンコーダ20の機能的な構成要素には、色空間コンバータ105、バッファ110、平面性検出器115、レートコントローラ120、予測器、量子化器及び再構築器構成要素125、ラインバッファ130、インデックス付き色履歴135、エントロピーエンコーダ140、サブストリームマルチプレクサ145及びレートバッファ150が含まれる。他の例では、ビデオエンコーダ20は、より多い、より少ない、又は異なる機能的な構成要素を含み得る。
[0054]色空間105コンバータは、入力された色空間を、コード化実施形態において使用される色空間へと変換し得る。例えば、1つの例示的な実施形態では、入力ビデオデータの色空間は、赤、緑、青(RGB)色空間であり、コード化は、輝度Y、クロミナンス緑Cg及びクロミナンスオレンジCo(YCgCo)色空間で実施される。色空間変換は、ビデオデータへのシフト及び追加を含む方法によって実行され得る。他の色空間における入力ビデオデータが処理され得、他の色空間への変換もまた実行され得ることに留意されたい。
[0055]関連する態様では、ビデオエンコーダ20は、バッファ110、ラインバッファ130及び/又はレートバッファ150を含み得る。例えば、バッファ110は、ビデオエンコーダ20の他の部分による使用前に、色空間変換されたビデオデータを保持(例えば、格納)し得る。別の例では、ビデオデータは、RGB色空間に格納され得、色空間変換は、色空間変換されるデータがより多くのビットを必要とし得るため、必要に応じて実行され得る。
[0056]レートバッファ150は、ビデオエンコーダ20においてレート制御メカニズムの一部として機能し得、これは、レートコントローラ120に関連して以下でより詳細に説明されるだろう。各ブロックの符号化に費やされるビット数は、実質的にブロックの性質に基づいて大きく変動することができる。レートバッファ150は、圧縮されたビデオにおけるレート変動を平滑化することができる。幾つかの実施形態では、一定のビットレート(CBR)バッファモデルが用いられ得、ここでは、レートバッファ(例えば、レートバッファ150)に格納されたビットが一定のビットレートでレートバッファから除去される。CBRバッファモデルでは、ビデオエンコーダ20が過度に多くのビットをビットストリームに追加する場合、レートバッファ150がオーバーフローし得る。他方で、ビデオエンコーダ20は、レートバッファ150のアンダーフローを防ぐために十分なビットを追加する必要があり得る。
[0057]ビデオデコーダ側では、ビットは、一定ビットレートで、ビデオデコーダ30のレートバッファ155に追加され得(以下でより詳細に説明されている図2B参照)、ビデオデコーダ30は、ブロックごとに、可変数のビットを除去し得る。適切な復号を確実にするために、ビデオデコーダ30のレートバッファ155は、圧縮されたビットストリームの復号中、「アンダーフロー」又は「オーバーフロー」するべきではない。
[0058]幾つかの実施形態では、バッファフルネス(BF:buffer fullness)は、現在バッファにあるビット数を表すBufferCurrentSizeと、レートバッファ150のサイズを表すBufferMaxSize、即ち、任意の時点でレートバッファ150に格納されることができる最大ビット数、といった値に基づいて定義され得る。BFは、次にように算出され得る:
BF=((BufferCurrentSize*100)/BufferMaxSize)
[0059]平面性検出器115は、ビデオデータ中の複雑な(即ち、平面でない)エリアから、ビデオデータ中の平面な(即ち、単純な又は均一の)エリアへの変化を検出することができる。「複雑な」及び「平面」という用語は、本明細書では、概して、ビデオエンコーダ20がビデオデータのそれぞれの領域を符号化することの難しさを指すために使用されるだろう。故に、本明細書で使用される場合、複雑なという用語は、概して、ビデオエンコーダ20が符号化し難いビデオデータの領域を表しており、例えば、テクスチャ化されたビデオデータ、高い空間周波数及び/又は符号化し難い他の特徴を含み得る。故に、本明細書で使用される場合、平面という用語は、概して、ビデオエンコーダ20が符号化し易いビデオデータの領域を表しており、例えば、ビデオデータにおける緩やかな傾き、低い空間周波数及び/又は符号化し易い他の特徴を含み得る。複雑な領域と平面な領域との間の遷移は、符号化ビデオデータにおいて量子化アーチファクトを低減するために、ビデオエンコーダ20によって使用され得る。具体的には、レートコントローラ120及び予測器、量子化器及び再構築器構成要素125は、複雑な領域から平面な領域への遷移が識別されるとき、そのような量子化アーチファクトを低減することができる。
[0060]レートコントローラ120は、コード化パラメータのセット、例えば、QP、を決定する。QPは、レートバッファ150がオーバーフロー又はアンダーフローしないことを確実にするターゲットビットレートについてピクチャ品質を最大化するために、レートバッファ150のバッファフルネスとビデオデータの画像アクティビティとに基づいて、レートコントローラ120によって調整され得る。レートコントローラ120はまた、最適なレート歪み性能を達成するために、ビデオデータの各ブロックについて、特定のコード化オプション(例えば、特定のモード)を選択する。レートコントローラ120は、レートコントローラ120が、ビットレート制約を満たすように、即ち、実際のコード化レート全体が、ターゲットビットレートの範囲内に収まるように、再構築された画像の歪みを最小化する。
[0061]予測器、量子化器及び再構築器構成要素125は、ビデオエンコーダ20の少なくとも3つの符号化動作を実行し得る。予測器、量子化器及び再構築器構成要素125は、多数の異なるモードにおいて予測を実行し得る。1つの例となる予測モードは、中央適応予測(median-adaptive prediction)の改良バージョンである。中央適応予測は、ロスレスJPEG規格(JPEG−LS)によって実施され得る。予測器、量子化器及び再構築器構成要素125によって実行され得る、中央適応予測の改良バージョンは、3つの連続したサンプル値の並列予測を可能にし得る。別の例となる予測モードは、ブロック予測である。ブロック予測では、上のラインにおける又は同じラインの左における前に再構築された画素からサンプルが予測される。幾つかの実施形態では、ビデオエンコーダ20及びビデオデコーダ30は両方とも、ブロック予測使用を決定するために、再構築された画素に対して同一サーチを実行し得、故に、ブロック予測モードでは何れのビットも送られる必要はない。他の実施形態では、ビデオデコーダ30が別個のサーチを実行する必要がないように、ビデオエンコーダ20は、サーチを実行し、ビットストリームにおいてブロック予測ベクトルをシグナル伝達し得る。成分範囲の中点を使用してサンプルが予測される中点予測モードも実施され得る。中点予測モードは、ワーストケースのサンプルの場合における圧縮されたビデオに必要なビットの数のバウンディングでも可能にし得る。図7に関連して以下で更に説明されるように、予測器、量子化器及び再構築器構成要素125は、図7に例示される方法を実行することによって、ビデオデータのブロック(又は予測の任意の他の単位)をコード化(例えば、符号化又は復号)するように構成され得る。
[0062]予測器、量子化器及び再構築器構成要素125は、量子化も実行する。例えば、量子化は、シフタを使用して実施され得る2の累乗量子化器(power-of-2 quantizer)を介して実行され得る。他の量子化技法が、2の累乗量子化器の代わりに実施され得ることに留意されたい。予測器、量子化器及び再構築器構成要素125によって実行される量子化は、レートコントローラ120によって決定されるQPに基づき得る。最後に、予測器、量子化器及び再構築器構成要素125はまた、逆量子化された残差を予測値に加えることと、その結果がサンプル値の有効範囲外とならないことを確実にすることとを含む再構築を実行する。
[0063]予測器、量子化器及び再構築器構成要素125によって実行される予測、量子化及び再構築への上述した例となるアプローチが、単に実例となるものであること及び他のアプローチが実施され得ることに留意されたい。予測器、量子化器及び再構築器構成要素125が、予測、量子化及び/又は再構築を実行するためのサブ構成要素を含み得ることにも留意されたい。予測、量子化及び/又は再構築が、予測器、量子化器及び再構築器構成要素125の代わりに幾つかの別個のエンコーダ構成要素によって実行され得ることに更に留意されたい。
[0064]ラインバッファ130は、予測器、量子化器及び再構築器構成要素125及びインデックス付き色履歴135がバッファされたビデオデータを使用することができるように、予測器、量子化器及び再構築器構成要素125からの出力を保持(例えば、格納)する。インデックス付き色履歴135は、最近使用された画素値を格納する。これらの最近使用された画素値は、専用シンタックスを介して、ビデオエンコーダ20によって直接的に参照されることができる。
[0065]エントロピーエンコーダ140は、インデックス付き色履歴135と平面性検出器115によって識別された平面性遷移とに基づいて、予測器、量子化器及び再構築器構成要素125から受信される予測残差及び任意の他のデータ(例えば、予測器、量子化器及び再構築器構成要素125によって識別されたインデックス)を符号化する。幾つかの例では、エントロピーエンコーダ140は、サブストリームエンコーダごとに、1クロックにつき3つのサンプルを符号化し得る。サブストリームマルチプレクサ145は、ヘッダーレスパケット多重化スキームに基づいてビットストリームを多重化し得る。これにより、ビデオデコーダ30は、同時に3つのエントロピーデコーダを実行することができ、これは、1クロックにつき3つの画素の復号を容易にする。サブストリームマルチプレクサ145は、パケットが、ビデオデコーダ30によって効率的に復号されることができるように、パケット順序を最適化し得る。1クロックあたり2の累乗画素(例えば、2画素/クロック又は4画素/クロック)の復号を容易にし得る、エントロピーコード化への異なるアプローチが実施され得ることに留意されたい。
DSCビデオデコーダ
[0066]図2Bは、本開示において説明される態様に係る技法を実施し得るビデオデコーダ30の例を例示するブロック図である。ビデオデコーダ30は、本開示の技法のうちの幾つか又は全てを実行するように構成され得る。幾つかの例では、本開示で説明される技法は、ビデオデコーダ30の様々な構成要素の間で共有され得る。幾つかの例では、追加的に又は代替的に、プロセッサ(図示されない)は、本開示で説明される技法のうちの幾つかまた全てを実行するように構成され得る。
[0067]説明の目的のために、本開示は、DSCコード化の文脈においてビデオデコーダ30を説明している。しかしながら、本開示の技法は、他のコード化規格又は方法に適用可能であり得る。
[0068]図2Bの例では、ビデオデコーダ30は、複数の機能的な構成要素を含む。ビデオデコーダ30の機能的な構成要素は、レートバッファ155、サブストリームデマルチプレクサ160、エントロピーデコーダ165、レートコントローラ170、予測器、量子化器及び再構築器構成要素175、インデックス付き色履歴180、ラインバッファ185及び色空間コンバータ190を含む。例示されるビデオデコーダ30の構成要素は、図2Aのビデオエンコーダ20に関連して上述された対応する構成要素に類似する。このように、ビデオデコーダ30の構成要素の各々は、上述されたビデオエンコーダ20の対応する構成要素と類似した方式で動作し得る。
変換コード化
[0069]本開示の幾つかの実施形態では、ビデオエンコーダ(例えば、ビデオエンコーダ20)は、追加の圧縮を達成するために、画素値又は残差値に対して1つ又は複数の変換を適用し得る。例えば、エンコーダ(例えば、ビデオエンコーダ20)は、ビデオデータのブロック(例えば、画素値又は残差値)に対して1つ又は複数の変換を適用し、変換係数ブロック(例えば、ビデオデータのブロックに対応する変換係数のブロック)を取得し得る。上述したように、変換係数ブロックを生成した後、エンコーダは、変換係数ブロックに対して量子化プロセスを実行し得、ここでは、変換係数は、変換係数を表現するために使用されるデータ量をできる限り低減するために量子化され、これは、更なる圧縮を提供する。
[0070]同様に、ビデオデコーダ(例えば、ビデオデコーダ30)は、エンコーダによって生成されたビットストリームを受信し得、ここでは、ビットストリームは、エンコーダによって符号化されたビデオデータのコード化表現を含む。デコーダがビットストリームを受信するとき、デコーダは、ビットストリームを解釈し、ビットストリームからシンタックス要素を抽出し、ビットストリームから抽出されたシンタックス要素に基づいてビデオデータのピクチャを再構築し得る。シンタックス要素に基づいてビデオデータを再構築するためのプロセスは、一般に、シンタックス要素を生成するためにエンコーダによって実行されるプロセスと相互関係にあり得る。例えば、デコーダは、ビットストリーム中の変換係数ブロックを逆量子化し、ビットストリーム中のコード化されたビデオデータのブロックを再構築するために、変換係数ブロックに対して逆変換を実行し得る。
[0071]本開示の幾つかの実装形態では、エンコーダ(例えば、ビデオエンコーダ20)は、異なるサイズの多数の変換(例えば、変換の4つの異なるのセット)を実行し、画像又はビデオデータの特定のブロック又は一部について最良の(例えば、所望のレート−歪み性能に最も近い)性能をもたらす変換を選択する。例えば、エンコーダは、(i)単一の16点変換、(ii)2つの8点変換、(iii)1つの8点変換と2つの4点変換又は(iv)4つの4点変換を実行し得、ここでは、各オプションは、同数の入力(例えば、画素データ)を利用する。故に、16画素の各ブロックは、変換モードを使用して符号化されることができ、変換コード化されるべき16画素は、変換関数に入力される前に、より小さいブロックサイズ(例えば、4画素、8画素又は任意の他のサイズの区分)へと更に区分化されることができる。16画素ブロックの例では、16画素ブロックは、(i)ビットストリームにおいてコード化されるピクチャ内の16画素の単一行、(ii)ビットストリームにおいてコード化されるピクチャ内の8画素の2つの行、(iii)ビットストリームにおいてコード化されるピクチャ内の4画素の4つの行又は(iv)ビットストリームにおいてコード化されるピクチャ内の16画素の任意の他の配列を表し得る。図5A−5Dは、1つよりも多くの変換が画素データに対して実行されるべきであるとき、この画素データがどのようにして複数の区分へと分割されることができるのかを例示する。
[0072]変換の様々なセットを実行した後、エンコーダは、各オプションに関連付けられた歪み及びビットレートを分析し、所望の性能に基づいてオプションのうちの1つを選択し得る。エンコーダは、コード化ビットストリームにおいてフラグ又はシンタックス要素をシグナル伝達することで、選択されたオプションをデコーダに示し得る。
区分フォーマット
[0073]幾つかの実施形態では、エンコーダ(例えば、ビデオエンコーダ20)は、コード化されるべきピクチャ又はフレーム中の画素を、変換ベースの画像圧縮を実行するためのより小さい区分(例えば、16画素ブロック)へと分割する。例えば、所与のコード化スキームにおいて使用される区分フォーマット(本明細書では、変換区分タイプとも呼ばれる)は、図3で例示されるように、(i)1つの16画素ブロック、(ii)2つの8画素ブロック、(iii)1つの8画素ブロックと2つの4画素ブロックの混合及び(iv)4つの4画素ブロックから構成され得る。図3の例では、16画素を含むブロック302は、変換の異なる組み合わせに対応する変換ブロック304、306、308及び310に入力される。次に、エンコーダ(例えば、ビデオエンコーダ20)が、変換ブロック304、306、308及び310に関連付けられた変換の各々に対応する歪みコスト312を算出する。図3では、変換ブロック304、306、308及び310の各々は、異なる変換区分タイプを表す。例えば、変換ブロック304は、単一の16点変換に対応し、変換ブロック306は、2つの8点変換に対応し、変換ブロック308は、1つの8点変換と2つの4点変換との混合に対応し、変換ブロック310は、4つの4点変換に対応する。追加的に、変換ブロック304,306、308及び310の各々に対応する変換係数は、ビットストリーム符号化ブロック314においてビットストリームへとコード化され、変換ブロック304、306、308及び310の各々に対応するビットストリームコスト316が算出される。変換ブロック304、306、308及び310の各々に対応する歪みコスト312及びビットストリームコスト316に基づいて、エンコーダの選択論理318は、変換ブロック304、306、308及び310のうちの1つに関連付けられた変換区分タイプを選択し、これは、区分選択フラグ又はシンタックス要素320によって示される。故に、幾つかの実施形態では、選択論理318は、最も低いビットストリームコストで最も低い符号化画素歪みをもたらす変換区分タイプを選択する。例えば、所与のピクチャをコード化するとき、エンコーダは、所与のピクチャのある部分(例えば、所与のピクチャ内の1つの16画素ブロック)は、2つの8画素ブロック(例えば、8点変換)が使用される場合に最良にコード化されることができ、所与のピクチャの別の部分は、4つの4画素ブロック(例えば、4点変換)が使用される場合に最良にコード化されると決定し得る。区分選択フラグ又はシンタックス要素320の値に基づいて、MUX322は、デコーダに送られるべきビットストリーム324を出力する。
[0074]図4に例示されるデコーダ側では、デコーダ(例えば、ビデオデコーダ30)又はその構成要素(例えば、ビットストリーム復号404)は、入力ビットストリーム402に含まれている変換区分情報(例えば、区分選択フラグ又はシンタックス要素320によって示される変換区分タイプ)を使用して、圧縮された画素データを復号する際に使用されることとなる1つ又は複数の逆変換(例えば、エンコーダ20によって選択された変換ブロック304、306、308又は310に関連付けられた変換の逆数)を選択する。例えば、デコーダは、入力ビットストリーム402から、変換係数及び区分選択信号414を抽出する。変換係数は、4つ全ての逆変換ブロック406、408、410及び412にパスされ、区分選択信号414は、所望の逆変換を選択するために使用される。
[0075]デコーダの幾つかの既存のハードウェア実装形態では、別個の逆変換ブロックが、各区分タイプに対して使用される。例えば、エンコーダが、図3に例示されるように4つの異なる区分タイプから選択するように構成される場合、エンコーダによって生成されたビットストリーム(例えば、入力ビットストリーム402)を復号するように構成された対応するデコーダもまた、図4に例示されているように変換406、408、410及び412に各々対応するハードウェア(例えば、互いの間で共有されていないレジスタ、加算器、減算器、等)の4つのセットを含む。各逆変換は、MUX416に供給さる出力値のセットを生成し、デコーダは、区分選択信号414(又は所与のブロックを符号化するために使用される区分タイプを示す別のフラグ又はシンタックス要素)に基づいて、それらのうちの1つを選択し、16画素ブロック418の画素値を取得する。
[0076]図4に示されるハードウェア実装形態は、4つの区分構造(例えば、1つの16画素ブロック、2つの8画素ブロック及び4つの4画素ブロック)を復号するために7つの独立した逆変換ブロックを必要とするだろう。デコーダ側の実装コスト(例えば、デコーダを実装するために使用されるチップ面積)を低減するために、逆変換関数は、4つの逆変換タイプ(例えば、16,8+8,8+4+4及び4+4+4+4)の間で特定の算術演算を再編成及び再使用することによって実装され得る。
ハードウェア実装形態
[0077]上述したように、既存のアプローチは、複数の区分サイズを含む変換コード化ビットストリームを復号するために、独立した変換関数(例えば、図4の例では7つの独立した変換関数)を利用する。しかしながら、着信区分化ビットストリームを復号するために複数の逆変換ブロックを使用することは、ハードウェア実装形態が特にデコーダ側のチップ面積及び/又は実装コストに対して敏感であるため、デコーダのコスト効率性に対して有害に影響を及ぼす。故に、よりコスト効率の良い方法での複数の変換区分サイジングを伴う変換コード化ビットストリームを復号するための改善された方法が望まれる。
[0078]例えば、16点変換の例となる実施形態は、加算器及び減算器を含み得る。これらの加算器及び減算器は、16点変換(又は逆変換)を実行するために、全てが必要とされ得るが、同一の加算器及び減算器(又は16点変換の他のハードウェア)もまた、8点及び4点変換といった他の変換を、16点変換を実施するために使用されるハードウェアとは別個であり且つそれから独立しているそのような8点及び4点変換を実施するのに必要な完全な変換構造を追加する必要なしに、実行するために利用され得る。換言すると、エンコーダ及び/又はデコーダが実行する必要のあり得る様々な変換を実施するために使用されるハードウェアの特定の部分を再使用することで、そのような変換を実装するためのハードウェア要件が低減されることができる。
選択的なバイパス、ルーティング又は再順序付け
[0079]本開示の幾つかの実施形態では、16点変換は、16点変換の特定の部分を選択的に遮断すること若しくはバイパスすること及び/又は入力、出力又は16点変換の他の中間ノードを再度ルーティングすること若しくは再順序付けすることで他のタイプの変換を実装するため使用されることができる。例えば、4点変換についてはハードウェアのある部分がバイパスされ、8点変換についてはハードウェアの別の部分がバイパスされるように、1つ又は複数のMUXが16点変換に追加され得る。そのようなMUXを追加することは、コスト/チップ面積を追加することとなるが、そのようなMUXによって追加されるコスト/チップ面積は、依然として、各変換区分タイプについてハードウェア変換を完全に実装した場合よりも極めて少ないだろう。
ハードウェア構造の再使用
[0080]符号化するために使用される区分タイプが明示的にシグナル伝達され(例えば、図4の区分選択信号414)、デコーダ側では、単一の区分タイプだけの逆変換が、16個の入力係数の各変換ブロックに対して実行される必要があるため、区分された変換についてのデコーダ実装コストは、最大の変換タイプのハードウェアの特定の部分を再使用及び共有することによって、低減されることができる。例えば、幾つかの実施形態では、1つの16点アダマール逆変換が、4つの変換区分タイプ(例えば、16,8+8,8+4+4及び4+4+4+4)を生成するために使用される。幾つかの実施形態では、追加の加算器又は減算器が、16点変換以外の逆変換を実施するために使用される。故に、デコーダとの実装コスト及び/又はチップ面積の関連付けは、低減されることができる。
[0081]本開示の幾つかの実施形態では、各変換区分タイプについて、変換区分タイプを実施するために、最大変換タイプにおける算術項が再使用される。これは、特に、エリア/コストがより重要であるデコーダ側で低実装エリア/コストを維持しつつ、必要とされる全ての変換タイプの実施を可能にする。本開示の特定の態様は、デコーダ側に関連して説明されているが、本開示で説明された技法は、(例えば、他の変換タイプを実施するために最大変換タイプの算術関数を再使用及び共有することによって)エンコーダ側にも同様に適用可能であり得る。
[0082]各変換区分タイプについて、完全な16点アダマール逆変換は、(i)1つの16点逆変換、(ii)2つの8点逆変換、(iii)1つの8点逆変換と2つの4点逆変換及び(iv)4つの4点逆変換といった逆変換を実行するために共通の算数演算を利用するように再構成される。そのような変換の例となる実施形態が、それぞれ図6A−6Dに例示される。
[0083]各区分タイプについて、入力から入力’及び出力から出力’への段は、それぞれの変換モードについて、入力データ及び出力データを再順序付けするために使用される。更に、完全な16点逆変換関数の幾つかの内部ハードウェア段をバイパスすることによって、逆変換ブロックは、上述したように4つの区分タイプを提供するように再構成される。
例となる実装形態:8+8
[0084]変換区分タイプ[8,8]の場合、図6Bに例示されるように、入力データは、2つの連結された8点サンプルとして16点入力保持バッファに配置される。入力データは、再順序付けされ、(例えば、変換係数値を保持するレジスタ又はバッファであり得る)中間の入力’段に配置される。段aからbの間の算数演算は、(何らかの再順序付けを伴って)バイパスされ、最終の出力から出力’への段は、最終の出力を2つの8点の連結されたデータ構造へと再順序付けするように構成される。
例となる実装形態:8+4+4
[0085]混合した変換区分タイプ[8,4,4]の場合、図6Cで例示されるように、入力データは、8点サンプルのデータが最初の8つのロケーションにあり2つの4点データが続く入力バッファ内に配置される。他の区分タイプで述べるように、入力から入力’への段は、データを再順序付けするために使用され、段aからbは、バイパス及び再順序付けを含み、8ビットだけが、4点逆変換のためにcから出力’への段においてバイパスされる。最終の出力’データは、[8,4,4]のデータ構造を生成するように再順序付けされる。
例となる実装形態:4+4+4+4
[0086]区分タイプ[4,4,4,4]の場合、図6Dに例示されるように、4つの入力データは、4つの連結された4点サンプルとして入力保持バッファに配置される。入力データは、再順序付けされ、中間の入力’段に配置される。aからb及びcから出力’の段の間の算数演算は、バイパスされ、出力’から出力の段は、出力’データを4つの4点データ構造へと再構築するように構成される。
変換ハードウェア構造を再使用するための例となるフローチャート
[0087]図7を参照して、マルチ区分変換ために変換構造を再使用するための例となるプロシージャが説明されるだろう。図7に例示されるステップは、ビデオデコーダ(例えば、図2Bのビデオデコーダ30)又はそれの構成要素によって実行され得る。便宜上、方法700は、ビデオデコーダ30又は別の構成要素であり得るデコーダ(単にコーダとも呼ばれる)によって実行されるものと説明される。方法700は、ビデオデコーダの文脈で説明されているが、本明細書で説明される技法(例えば、マルチ区分変換のために変換構造を再使用すること)は、ビデオエンコーダに拡張され得る。
[0088]方法700は、ブロック701から開始する。ブロック705において、デコーダは、コード化ビットストリーム中のビデオデータのブロックに関連付けられた変換区分タイプを決定する。ブロックは、ブロックに関連付けられた複数の画素値に1つ又は複数の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる。幾つかの実施形態では、ビデオデータのブロックに関連付けられた変換区分タイプは、複数の変換係数を取得するために実行される変換(例えば、1つ又は複数の関数)を示す。例えば、変換区分タイプは、単一の16点変換が、16画素を含むビデオデータのブロックに対して実行されることを示し得る。別の例では、変換区分タイプは、2つの8点変換が、ブロック中の8画素の第1及び第2のセットに対して実行されることを示し得る。更に別の例では、変換区分タイプは、単一の8点変換が、ブロック中の16画素のうちの8つに対して実行され、2つの4点変換が、ブロック中の残りの8画素のそれぞれの4画素に対して実行されることを示し得る。更に別の例では、変換区分タイプは、4つの4点変換が、ブロック中の4画素の第1、第2、第3及び第4のセットに対して実行されることを示し得る。幾つかの実施形態では、変換区分タイプは、ビットストリームにおいて、フラッグ又はシンタックス要素としてシグナル伝達され得る。例えば、値“00”,“01”,“10”及び“11”は、16個の値を含むビデオデータのブロックに使用される変換が、(i)単一の16点変換、(ii)2つの8点変換、(iii)1つの8点変換と2つの4点変換及び(iv)4つの4点変換であることをそれぞれ示し得る。
[0089]ブロック710において、デコーダは、複数の変換係数が、1つ又は複数の変換関数に対応する1つ又は複数の逆変換関数に入力されることとなる順序を、変換区分タイプに基づいて決定する。1つ又は複数の逆変換関数は各々、加算器、減算器及び/又はマルチプレクサを含む1つ又は複数のハードウェア段を含み得る。幾つかの実施形態では、順序を決定することは、変換区分タイプに基づいて、(例えば、変換係数がビットストリームに表われる順序から別の順序に)変換係数を再配列することを備え得る。幾つかの実施形態では、変換係数の全てではなくサブセットのみが、変換区分タイプに基づいて再配列される。
[0090]一実施形態では、変換係数が1つ又は複数の逆変換関数に入力されることとなる順序は、ビットストリームにおいて変換係数がシグナル伝達又は受信される順序と同じである。例えば、図6Aに示されるように、変換区分タイプが単一の16点変換に対応するとの決定に基づいて、デコーダは、変換係数が1つ又は複数の逆変換関数(例えば、「入力’」)に入力されることとなる順序が、ビットストリーム(例えば、「入力」)において変換係数がシグナル伝達又は受信される順序と同じになることを決定し得る。別の例では、図6Bに示されるように、変換区分タイプが2つの8点変換に対応するとの決定に基づいて、デコーダは、変換係数を再配列することによって変換係数が1つ又は複数の逆変換関数(例えば、「入力’」)に入力されることとなる順序が、図6Bに示されるように、ビットストリーム(例えば、「入力」)においてシグナル伝達又は受信されることを決定し得る。この例では、最初の4つの係数は変わらないままであるが、続く4つの係数は、反転され、16係数ブロックの終わりに配置され、最後の8つの係数は、16係数ブロックにおいて各々4スポット上に動かされる。
[0091]更に別の例では、図6Cに示されるように、変換区分タイプが、1つの8点変換及び2つの4点変換に対応するとの決定に基づいて、デコーダは、変換係数を再配列することによって変換係数が1つ又は複数の逆変換関数(例えば、「入力’」)に入力されることとなる順序が、図6Cに示されるように、ビットストリーム(例えば、「入力」)においてシグナル伝達又は受信されることを決定し得る。この例では、16係数ブロックの係数0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15(「入力」)は、係数0,1,2,3,8,9,12,13,11,10,15,14,7,6,5,4(「入力’」)となるように再配列される。更に別の例では、図6Dに示されるように、変換区分タイプが4つの4点変換に対応するとの決定に基づいて、デコーダは、変換係数を再配列することによって変換係数が1つ又は複数の逆変換関数(例えば、「入力’」)に入力されることとなる順序が、図6Dに示されるように、ビットストリーム(例えば、「入力」)においてシグナル伝達又は受信されることを決定し得る。この例では、16係数ブロックの係数0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15(「入力」)は、係数0,1,4,5,8,9,12,13,10,112,3,8,9,12,13,11,10,15,14,7,6,5,4(「入力’」)となるように再配列される。
[0092]ブロック715において、デコーダは、決定された順序で1つ又は複数の逆変換関数に複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得する。幾つかの実施形態では、1つ又は複数の逆変換関数は、算術演算及び/又は再配列演算の1つ又は複数の段を含む。例えば、図6Aに示されるように、「入力’」と「a」との間の段は、例えば、16係数ブロック「入力’」における変換係数ごとに、加算(2つの実線によって示される)又は減算(1つの実線と1つの点線とによって示される)の何れかを含む。図6Aに示されるように、「a」と「b」との間、「b」と「c」との間、「c」と「出力’」との間の追加の段は各々、複数の算術演算(例えば、各々、16個の別個の演算)を含む。変換区分タイプに基づいて、段のうちの幾つかは、図6Bに示されるように、バイパスされ得る。例えば、「入力’」と「a」との間、「b」と「c」との間、「c」と「出力’」との間の段は、16点逆変換(例えば、図6Aに示される)の算術演算のうちの幾つか又は全てを再使用し、「a」と「b」との間の段は、算術演算をバイパスし、所与の順序で(例えば、変換区分タイプに基づいて)、変数を再配列する。幾つかの実施形態では、1つ又は複数の段は、逆変換で使用される16個の係数/変数の一部をバイパスするが、16個の係数/変数の全てはパイパスしないだろう。例えば、図6Cに示されるように、「c」から「出力’」への段は、最初の4つの変数(e0,e1,f1,f0)及び最後の4つの変数(e2,e3,f3,f2)については16点逆変換(例えば、図6Aに示される)の算術演算を再使用するが、真ん中の8個の変数(0,0,3,3,2,2,1,1)については算術演算をバイパスし得る。
[0093]決定された順序で1つ又は複数の逆変換関数に変換係数を入力することで得られる出力値は、変換区分タイプに基づいて、更に再配列され得る。図6A−6Dに例示されているように、(例えば、「出力’」から「出力」に進む)出力値は、変換区分タイプに基づいて、異なる方法で再配列され得る。
[0094]ブロック720において、デコーダは、複数の出力値に少なくとも部分的に基づいてコード化ビットストリーム中のビデオデータのブロックを復号する。例えば、出力値は、原画素値であり得る。別の例では、出力値は、残差値であり得、対応する画素値を取得するために更なる動き補償が実行される必要があり得る。方法700は、ブロック725において終了する。
[0095]方法700では、図7に示されるブロックのうちの1つ又は複数は、除去され得(例えば、実行されず)及び/又は方法が実行される順序が交換され得る。幾つかの実施形態では、追加のブロックが方法700に追加され得る。例えば、デコーダは、逆変換における段のうちの1つ、幾つか又は全てを更に選択的にバイパスし得る。幾つかの実施形態では、変換関数の単一の段は、変換関数に入力される各変換係数のための数学演算を含む。別の例では、出力値は、ビデオデータのブロックの復号に使用される前に再配列され得る。本開示の実施形態は、図7に示される例に限られない又は図7に示される例によって制限されず、他の変形例が、本開示の精神から逸脱することなく実装され得る。
[0096]図8は、本開示で説明された態様に係る、デコーダ側の変換区分化の例を例示する。ビットストリーム802の受信を受けて、ブロック804において、デコーダは、変換係数及び区分選択信号806を復号する。変換係数は、様々な逆変換を実行するように構成された変換808に入力される。変換808は、受信した区分選択信号806に基づいて適切な逆変換を実行し、16画素ブロック810を出力する。
他の考慮すべき事項
[0097]本明細書で開示された情報及び信号は、多様な異なる技術及び技法の何れかを用いて表わされ得る。例えば、上記説明の全体にわたって参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁波、磁場又は磁性粒子、光場又は光粒子、又はこれらの任意の組み合わせによって表され得る。
[0098]本明細書で開示された実施形態と関連して説明されている実例となる様々な論理ブロック及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア又は両方の組み合わせとして実装され得る。このハードウェア及びソフトウェアの互換性を明確に例示するために、実例となる様々な構成要素、ブロック及びステップが、概してそれらの機能性の観点から上で説明されている。このような機能性がハードウェアとして実装されるかソフトウェアとして実装されるかは、特定の用途及びシステム全体に課せられる設計制約に依存する。当業者は、説明された機能性を特定の用途ごとに様々な方法で実装し得るが、このような実装の決定は本開示の範囲からの逸脱をさせるものとして解釈されるべきでない。
[0099]本明細書で説明された技法は、ハードウェア、ソフトウェア、ファームウェア又はこれらの任意の組み合わせで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット又はワイヤレス通信デバイスハンドセット及び他のデバイスにおけるアプリケーションを含む複数の用途を有する集積回路デバイスのような多様なデバイスの何れかにおいて実装され得る。デバイス又は構成要素として説明された任意の特徴は、1つの集積論理デバイスにまとめて実装され得るか又はディスクリートではあるが相互作用可能な複数の論理デバイスとして別個に実装され得る。ソフトウェアで実装される場合、本技法は、実行されると、上述された方法のうちの1つ又は複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パケージングマテリアルを含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期ダイナミックランダムアクセスメモリ(SDRAM)のようなランダムアクセスメモリ(RAM)、読取専用メモリ、不揮発性ランダムアクセスメモリ(NVRAM)、電気的消去可能プログラマブル読取専用メモリ(EEPROM(登録商標))、フラッシュメモリ、磁気又は光学データ記憶媒体、等のメモリ又はデータ記憶媒体を備え得る。本技法は、追加的又は代替的に、命令又はデータ構造の形式でプログラムコードを搬送又は通信し、且つ、伝播信号又は波形のような、コンピュータによってアクセス、読み取り及び/又は実行されることができるコンピュータ可読通信媒体によって少なくとも部分的に実現され得る。
[0100]プログラムコードは、1つ又は複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)又は他の等価的な集積回路又はディスクリートな論理回路のような1つ又は複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明された技法の何れかを実行するように構成され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替的に、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ又はステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPと、1つのマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアに連結した1つ又は複数のマイクロプロセッサ、又は任意の他のそのような構成との組み合わせとして実装され得る。従って、本明細書で使用される場合、「プロセッサ」という用語は、前述の構造の何れか、前述の構造の任意の組み合わせ又は本明細書で説明された技法の実装に適した任意の他の構造又は装置の何れかを指し得る。加えて、幾つかの態様では、本明細書で説明された機能性は、符号化及び復号のために構成された専用ソフトウェア又はハードウェア内に提供され得るか又は組み合わせられたビデオエンコーダ−デコーダ(CODEC)に組み込まれ得る。また、本技法は、1つ又は複数の回路又は論理要素で十分に実装され得る。
[0101]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)又はICのセット(例えば、チップセット)を含む、幅広い種類のデバイス又は装置で実装され得る。様々な構成要素又はユニットは、開示された技法を実行するように構成されたデバイスの機能的な態様を強調するために、本開示では説明されているが、必ずしも、異なるハードウェアユニットによる実現を必要とはしない。むしろ、上述したように、様々なユニットは、コーデックハードウェアユニットに組み合わせられるか、又は上述した1つ又は複数のプロセッサを適切なソフトウェア及び/又はファームウェアとともに含む、相互動作するハードウェアユニットの集合によって提供され得る。
[0102]前述のものは、様々な異なる実施形態に関連して説明されているが、一実施形態からの特徴又は要素は、本開示の教示から逸脱することなく、他の実施形態と組み合わせられ得る。しかしながら、それぞれの実施形態間の特徴の組み合わせは、必ずしも、それらに限られない。本開示の様々な実施形態が説明されている。これらの実施形態及び他の実施形態は、以下の特許請求の範囲の範囲内である。
[0102]前述のものは、様々な異なる実施形態に関連して説明されているが、一実施形態からの特徴又は要素は、本開示の教示から逸脱することなく、他の実施形態と組み合わせられ得る。しかしながら、それぞれの実施形態間の特徴の組み合わせは、必ずしも、それらに限られない。本開示の様々な実施形態が説明されている。これらの実施形態及び他の実施形態は、以下の特許請求の範囲の範囲内である。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
コード化ビットストリーム中のビデオデータのブロックを復号するための方法であって、
前記ブロックに関連付けられた変換区分タイプを決定することと、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して1つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記1つ以上の変換関数に対応する1つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて決定することと、
決定された前記順序で前記1つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、
前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号することと
を備える方法。
[C2]
前記複数の変換係数が前記1つ以上の逆変換関数に入力されることとなる前記順序を決定することは、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを備える、C1に記載の方法。
[C3]
前記複数の変換係数が前記1つ以上の逆変換関数に入力されることとなる前記順序を決定することは、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数の全部ではなく一部を再配列することを備える、C1に記載の方法。
[C4]
前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の1つ以上の算術演算段を選択的にバイパスすることを更に備える、C1に記載の方法。
[C5]
前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の単一の段の算術演算の全部ではなく一部を選択的にバイパスすることを更に備え、ここで、前記単一の段は、前記1つ以上の逆変換関数に入力される変換係数ごとに1つの算術演算を含む、C1に記載の方法。
[C6]
前記1つ以上の逆変換関数は、16点アダマール逆変換関数、8点アダマール逆変換関数又は4点アダマール逆変換関数のうちの1つ以上を備える、C1に記載の方法。
[C7]
前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の前記複数の出力値を再配列することを更に備える、C1に記載の方法。
[C8]
前記ビデオデータのブロックは、(i)前記コード化ビットストリームにおいてコード化されるピクチャ内の16画素の1つの行、(ii)前記コード化ビットストリームにおいてコード化される前記ピクチャ内の8画素の2つの行又は(iii)前記コード化ビットストリームにおいてコード化されるピクチャ内の4画素の4つの行、のうちの1つに対応する、C1に記載の方法。
[C9]
前記1つ以上の逆変換関数は、1つ以上の算術演算段を含み、各算術演算段は、加算演算又は減算演算のうちの1つ以上を備える、C1に記載の方法。
[C10]
前記変換区分タイプは、16点変換以外のものあり、前記1つ以上の逆変換関数は、16点逆変換関数を備える、C1に記載の方法。
[C11]
前記変換区分タイプは、(i)2つの8点変換、(ii)1つの8点変換と2つの4点変換又は(iii)4つの4点変換、のうちの1つを備え、前記1つ以上の逆変換関数は、1つの16点逆変換関数を備える、C1に記載の方法。
[C12]
コード化ビットストリーム中のビデオデータのブロックを復号するための装置であって、
前記コード化ビットストリーム中の前記ビデオデータのブロックに関連付けられたデータを格納するように構成されたメモリと、
前記メモリと通信状態にあるプロセッサであって、
前記ブロックに関連付けられた変換区分タイプを決定することと、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して1つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記1つ以上の変換関数に対応する1つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて、決定することと、
決定された前記順序で前記1つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、
前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号することと
を行うように構成されたプロセッサと
を備える装置。
[C13]
前記プロセッサは、前記複数の変換係数が前記1つ以上の逆変換関数に入力されることとなる前記順序を、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを介して少なくとも部分的に決定するように構成される、C12に記載の装置。
[C14]
前記プロセッサは、前記複数の変換係数が前記1つ以上の逆変換関数に入力されることとなる前記順序を、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数の全部ではなく一部を再配列することを介して少なくとも部分的に決定するように構成される、C12に記載の装置。
[C15]
前記プロセッサは、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の1つ以上の算術演算段を選択的にバイパスするように構成される、C12に記載の装置。
[C16]
前記プロセッサは、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の単一の段の算術演算の全部ではなく一部を選択的にバイパスするように構成され、ここで、前記単一の段は、前記1つ以上の逆変換関数に入力される変換係数ごとに1つの算術演算を含む、C12に記載の装置。
[C17]
前記1つ以上の逆変換関数は、16点アダマール逆変換関数、8点アダマール逆変換関数又は4点アダマール逆変換関数のうちの1つ以上を備える、C12に記載の装置。
[C18]
前記プロセッサは、前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の前記複数の出力値を再配列するように更に構成される、C12に記載の装置。
[C19]
前記ビデオデータのブロックは、(i)前記コード化ビットストリームにおいてコード化されるピクチャ内の16画素の1つの行、(ii)前記コード化ビットストリームにおいてコード化される前記ピクチャ内の8画素の2つの行又は(iii)前記コード化ビットストリームにおいてコード化されるピクチャ内の4画素の4つの行、のうちの1つに対応する、C12に記載の装置。
[C20]
前記1つ以上の逆変換関数は、1つ以上の算術演算段を含み、各算術演算段は、加算演算又は減算演算のうちの1つ以上を備える、C12に記載の装置。
[C21]
前記変換区分タイプは、16点変換以外のものであり、前記1つ以上の逆変換関数は、16点逆変換関数を備える、C12に記載の装置。
[C22]
前記変換区分タイプは、(i)2つの8点変換、(ii)1つの8点変換と2つの4点変換又は(iii)4つの4点変換、のうちの1つを備え、前記1つ以上の逆変換関数は、1つの16点逆変換関数を備える、C12に記載の装置。
[C23]
コードを備える非一時的なコンピュータ可読媒体であって、前記コードは、実行されると、装置に、
コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納することと、
前記ブロックに関連付けられた変換区分タイプを決定することと、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して1つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記1つ以上の変換関数に対応する1つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて、決定することと、
決定された前記順序で前記1つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、
前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号することと
を行わせる、非一時的なコンピュータ可読媒体。
[C24]
前記コードは、前記装置に、前記複数の変換係数が前記1つ以上の逆変換関数に入力されることとなる前記順序を、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを介して少なくとも部分的に決定することを行わせる、C23に記載のコンピュータ可読媒体。
[C25]
前記コードは、前記装置に、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の1つ以上の算術演算段を選択的にバイパスすることを更に行わせる、C23に記載のコンピュータ可読媒体。
[C26]
前記変換区分タイプは、(i)2つの8点変換、(ii)1つの8点変換と2つの4点変換又は(iii)4つの4点変換、のうちの1つを備え、前記1つ以上の逆変換関数は、1つの16点逆変換関数を備える、C23に記載のコンピュータ可読媒体。
[C27]
コード化ビットストリーム中のビデオデータのブロックを復号するように構成されたビデオコード化デバイスであって、
コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納するための手段と、
前記ブロックに関連付けられた変換区分タイプを決定するための手段と、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して1つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記1つ以上の変換関数に対応する1つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて、決定するための手段と、
決定された前記順序で前記1つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得するための手段と、
前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号するための手段と
を備えるビデオコード化デバイス。
[C28]
前記複数の変換係数が前記1つ以上の逆変換関数に入力されることとなる前記順序を決定することは、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを備える、C27に記載のビデオコード化デバイス。
[C29]
前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の1つ以上の算術演算段を選択的にバイパスするための手段を更に備える、C27に記載のビデオコード化デバイス。
[C30]
前記変換区分タイプは、(i)2つの8点変換、(ii)1つの8点変換と2つの4点変換又は(iii)4つの4点変換、のうちの1つを備え、前記1つ以上の逆変換関数は、1つの16点逆変換関数を備える、C27に記載のビデオコード化デバイス。

Claims (30)

  1. コード化ビットストリーム中のビデオデータのブロックを復号するための方法であって、
    前記ブロックに関連付けられた変換区分タイプを決定することと、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して1つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
    前記複数の変換係数が、前記1つ以上の変換関数に対応する1つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて決定することと、
    決定された前記順序で前記1つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、
    前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号することと
    を備える方法。
  2. 前記複数の変換係数が前記1つ以上の逆変換関数に入力されることとなる前記順序を決定することは、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを備える、請求項1に記載の方法。
  3. 前記複数の変換係数が前記1つ以上の逆変換関数に入力されることとなる前記順序を決定することは、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数の全部ではなく一部を再配列することを備える、請求項1に記載の方法。
  4. 前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の1つ以上の算術演算段を選択的にバイパスすることを更に備える、請求項1に記載の方法。
  5. 前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の単一の段の算術演算の全部ではなく一部を選択的にバイパスすることを更に備え、ここで、前記単一の段は、前記1つ以上の逆変換関数に入力される変換係数ごとに1つの算術演算を含む、請求項1に記載の方法。
  6. 前記1つ以上の逆変換関数は、16点アダマール逆変換関数、8点アダマール逆変換関数又は4点アダマール逆変換関数のうちの1つ以上を備える、請求項1に記載の方法。
  7. 前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の前記複数の出力値を再配列することを更に備える、請求項1に記載の方法。
  8. 前記ビデオデータのブロックは、(i)前記ビットストリームにおいてコード化されるピクチャ内の16画素の1つの行、(ii)前記ビットストリームにおいてコード化される前記ピクチャ内の8画素の2つの行又は(iii)前記ビットストリームにおいてコード化されるピクチャ内の4画素の4つの行、のうちの1つに対応する、請求項1に記載の方法。
  9. 前記1つ以上の逆変換関数は、1つ以上の算術演算段を含み、各算術演算段は、加算演算又は減算演算のうちの1つ以上を備える、請求項1に記載の方法。
  10. 前記変換区分タイプは、16点変換以外のものあり、前記1つ以上の逆変換関数は、16点逆変換関数を備える、請求項1に記載の方法。
  11. 前記変換区分タイプは、(i)2つの8点変換、(ii)1つの8点変換と2つの4点変換又は(iii)4つの4点変換、のうちの1つを備え、前記1つ以上の逆変換関数は、1つの16点逆変換関数を備える、請求項1に記載の方法。
  12. コード化ビットストリーム中のビデオデータのブロックを復号するための装置であって、
    前記コード化ビットストリーム中の前記ビデオデータのブロックに関連付けられたデータを格納するように構成されたメモリと、
    前記メモリと通信状態にあるプロセッサであって、
    前記ブロックに関連付けられた変換区分タイプを決定することと、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して1つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
    前記複数の変換係数が、前記1つ以上の変換関数に対応する1つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて、決定することと、
    決定された前記順序で前記1つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、
    前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号することと
    を行うように構成されたプロセッサと
    を備える装置。
  13. 前記プロセッサは、前記複数の変換係数が前記1つ以上の逆変換関数に入力されることとなる前記順序を、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを介して少なくとも部分的に決定するように構成される、請求項12に記載の装置。
  14. 前記プロセッサは、前記複数の変換係数が前記1つ以上の逆変換関数に入力されることとなる前記順序を、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数の全部ではなく一部を再配列することを介して少なくとも部分的に決定するように構成される、請求項12に記載の装置。
  15. 前記プロセッサは、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の1つ以上の算術演算段を選択的にバイパスするように構成される、請求項12に記載の装置。
  16. 前記プロセッサは、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の単一の段の算術演算の全部ではなく一部を選択的にバイパスするように構成され、ここで、前記単一の段は、前記1つ以上の逆変換関数に入力される変換係数ごとに1つの算術演算を含む、請求項12に記載の装置。
  17. 前記1つ以上の逆変換関数は、16点アダマール逆変換関数、8点アダマール逆変換関数又は4点アダマール逆変換関数のうちの1つ以上を備える、請求項12に記載の装置。
  18. 前記プロセッサは、前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の前記複数の出力値を再配列するように更に構成される、請求項12に記載の装置。
  19. 前記ビデオデータのブロックは、(i)前記ビットストリームにおいてコード化されるピクチャ内の16画素の1つの行、(ii)前記ビットストリームにおいてコード化される前記ピクチャ内の8画素の2つの行又は(iii)前記ビットストリームにおいてコード化されるピクチャ内の4画素の4つの行、のうちの1つに対応する、請求項12に記載の装置。
  20. 前記1つ以上の逆変換関数は、1つ以上の算術演算段を含み、各算術演算段は、加算演算又は減算演算のうちの1つ以上を備える、請求項12に記載の装置。
  21. 前記変換区分タイプは、16点変換以外のものであり、前記1つ以上の逆変換関数は、16点逆変換関数を備える、請求項12に記載の装置。
  22. 前記変換区分タイプは、(i)2つの8点変換、(ii)1つの8点変換と2つの4点変換又は(iii)4つの4点変換、のうちの1つを備え、前記1つ以上の逆変換関数は、1つの16点逆変換関数を備える、請求項12に記載の装置。
  23. コードを備える非一時的なコンピュータ可読媒体であって、前記コードは、実行されると、装置に、
    コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納することと、
    前記ブロックに関連付けられた変換区分タイプを決定することと、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して1つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
    前記複数の変換係数が、前記1つ以上の変換関数に対応する1つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて、決定することと、
    決定された前記順序で前記1つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、
    前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号することと
    を行わせる、非一時的なコンピュータ可読媒体。
  24. 前記コードは、前記装置に、前記複数の変換係数が前記1つ以上の逆変換関数に入力されることとなる前記順序を、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを介して少なくとも部分的に決定することを行わせる、請求項23に記載のコンピュータ可読媒体。
  25. 前記コードは、前記装置に、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の1つ以上の算術演算段を選択的にバイパスすることを更に行わせる、請求項23に記載のコンピュータ可読媒体。
  26. 前記変換区分タイプは、(i)2つの8点変換、(ii)1つの8点変換と2つの4点変換又は(iii)4つの4点変換、のうちの1つを備え、前記1つ以上の逆変換関数は、1つの16点逆変換関数を備える、請求項23に記載のコンピュータ可読媒体。
  27. コード化ビットストリーム中のビデオデータのブロックを復号するように構成されたビデオコード化デバイスであって、
    コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納するための手段と、
    前記ブロックに関連付けられた変換区分タイプを決定するための手段と、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して1つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
    前記複数の変換係数が、前記1つ以上の変換関数に対応する1つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて、決定するための手段と、
    決定された前記順序で前記1つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得するための手段と、
    前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号するための手段と
    を備えるビデオコード化デバイス。
  28. 前記複数の変換係数が前記1つ以上の逆変換関数に入力されることとなる前記順序を決定することは、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを備える、請求項27に記載のビデオコード化デバイス。
  29. 前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記1つ以上の逆変換関数の1つ以上の算術演算段を選択的にバイパスするための手段を更に備える、請求項27に記載のビデオコード化デバイス。
  30. 前記変換区分タイプは、(i)2つの8点変換、(ii)1つの8点変換と2つの4点変換又は(iii)4つの4点変換、のうちの1つを備え、前記1つ以上の逆変換関数は、1つの16点逆変換関数を備える、請求項27に記載のビデオコード化デバイス。
JP2017506723A 2014-08-08 2015-08-06 マルチ区分変換のために変換構造を再使用するためのシステム及び方法 Pending JP2017531355A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462035299P 2014-08-08 2014-08-08
US62/035,299 2014-08-08
US14/819,329 US20160044314A1 (en) 2014-08-08 2015-08-05 System and method for reusing transform structure for multi-partition transform
US14/819,329 2015-08-05
PCT/US2015/044054 WO2016022828A1 (en) 2014-08-08 2015-08-06 System and method for reusing transform structure for multi-partition transform

Publications (1)

Publication Number Publication Date
JP2017531355A true JP2017531355A (ja) 2017-10-19

Family

ID=53901145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017506723A Pending JP2017531355A (ja) 2014-08-08 2015-08-06 マルチ区分変換のために変換構造を再使用するためのシステム及び方法

Country Status (6)

Country Link
US (1) US20160044314A1 (ja)
EP (1) EP3178015A1 (ja)
JP (1) JP2017531355A (ja)
KR (1) KR20170042292A (ja)
CN (1) CN106663085A (ja)
WO (1) WO2016022828A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019191709A1 (en) * 2018-03-30 2019-10-03 Hulu, LLC Reuse of block tree pattern in video compression
CN108965877A (zh) * 2018-07-04 2018-12-07 武汉精测电子集团股份有限公司 基于dsc压缩算法实现视频实时显示的装置及方法
JP7055879B2 (ja) * 2018-09-05 2022-04-18 エルジー エレクトロニクス インコーポレイティド ビデオ信号の符号化/復号方法及びそのための装置
CN113170149A (zh) * 2018-12-03 2021-07-23 交互数字Vc控股公司 用于图片编码和解码的方法和设备
CN111669580B (zh) * 2019-03-09 2023-02-28 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、解码端、编码端和系统
KR20220090887A (ko) * 2020-12-23 2022-06-30 삼성전자주식회사 이미지 처리 장치 및 이미지 처리 장치의 동작 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293330A (en) * 1991-11-08 1994-03-08 Communications Satellite Corporation Pipeline processor for mixed-size FFTs
KR20010023031A (ko) * 1997-08-25 2001-03-26 밀러 럿셀 비 가변 블록 사이즈의 2-차원 역 이산 코사인 변환 엔진
US9106913B2 (en) * 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US9143802B2 (en) * 2011-10-31 2015-09-22 Qualcomm Incorporated Fragmented parameter set for video coding
US9877048B2 (en) * 2014-06-09 2018-01-23 Qualcomm Incorporated Entropy coding techniques for display stream compression (DSC)

Also Published As

Publication number Publication date
CN106663085A (zh) 2017-05-10
EP3178015A1 (en) 2017-06-14
US20160044314A1 (en) 2016-02-11
WO2016022828A1 (en) 2016-02-11
KR20170042292A (ko) 2017-04-18

Similar Documents

Publication Publication Date Title
KR102229045B1 (ko) 디스플레이 스트림 압축 (dsc) 을 위한 엔트로피 코딩 기법들
KR102120571B1 (ko) 넌-4:4:4 크로마 서브-샘플링의 디스플레이 스트림 압축 (dsc) 을 위한 엔트로피 코딩 기법들
JP2017536730A (ja) ビデオコーディングにおける適応色変換のためのqp導出およびオフセット
JP6453360B2 (ja) ディスプレイストリーム圧縮(dsc)のためのラグランジュパラメータ計算のためのシステムおよび方法
JP2017531355A (ja) マルチ区分変換のために変換構造を再使用するためのシステム及び方法
TW201931853A (zh) 具有聯合像素/變換為基礎之量化之視頻寫碼之量化參數控制
JP2018532317A (ja) ディスプレイストリーム圧縮(dsc)のためのブロック予測モードの可変パーティションサイズ
JP2018531556A6 (ja) 非4:4:4クロマサブサンプリングのディスプレイストリーム圧縮(dsc)のためのエントロピーコーディング技法
JP2019522413A (ja) ディスプレイストリーム圧縮のためのサブストリーム多重化
JP6622791B2 (ja) マルチモードビデオコーディングのための空間予測モードによるビデオコーディングのための方法
AU2020297260B9 (en) Apparatus and method for filtering in video coding
JP2017516392A (ja) ディスプレイストリーム圧縮(dsc)のためにブロック予測モードでコーディングするためのシステムおよび方法
WO2019010305A1 (en) REMOVING COLOR FOR VIDEO CONTENT OF FORMAT NO 4: 4: 4
JP6644766B2 (ja) ディスプレイストリーム圧縮のためにバッファ満杯を決定するためのシステムおよび方法
JP2019528017A (ja) インループサンプル処理のためのビデオコーディングツール
KR20180102565A (ko) 디스플레이 스트림 압축 (dsc) 에서의 왜곡을 계산하기 위한 시스템 및 방법들
US20160044339A1 (en) System and method for reordering of prefixes and suffixes in variable length coding to increase throughput
JP2018525901A (ja) ディスプレイストリーム圧縮における変換モード用ブロックサイズの変更