JP2013502626A - メディアデータコーディングのための16点変換 - Google Patents

メディアデータコーディングのための16点変換 Download PDF

Info

Publication number
JP2013502626A
JP2013502626A JP2012517700A JP2012517700A JP2013502626A JP 2013502626 A JP2013502626 A JP 2013502626A JP 2012517700 A JP2012517700 A JP 2012517700A JP 2012517700 A JP2012517700 A JP 2012517700A JP 2013502626 A JP2013502626 A JP 2013502626A
Authority
JP
Japan
Prior art keywords
dct
unit
point
point dct
size
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
JP2012517700A
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 JP2013502626A publication Critical patent/JP2013502626A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Discrete Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

概して、異なるサイズの複数の離散コサイン変換(DCT)を適用することが可能である16点DCTを実装するための技法について説明する。たとえば、16点タイプIIの離散コサイン変換(DCT−II)ユニットを備える装置が、本開示の技法を実装し得る。16点DCT−IIユニットは、データを空間領域から周波数領域に変換するために異なるサイズのこれらのDCT−IIを実行する。16点DCT−IIユニットは、サイズ8のDCT−IIのうちの1つを実行する8点DCT−IIユニットと、サイズ4のDCT−IIのうちの1つを実行する第1の4点DCT−IIユニットとを含む。8点DCT−IIユニットは第1の4点DCT−IIユニットを含む。16点DCT−IIユニットは、第2の4点DCT−IIユニットと第3の4点DCT−IIユニットとを含む8点DCT−IVユニットをも備える。第2および第3の4点DCT−IIユニットの各々は、サイズ4のDCT−IIのうちの1つを実行する。

Description

本出願は、その内容全体が参照により本明細書に組み込まれる、2009年6月24日に出願された米国仮出願第61/219,885号の利益を主張する。
本特許出願は、本明細書と同時に出願され、本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれる、代理人整理番号第092241U1号を有する「16-POINT TRANSFORM FOR MEDIA DATA CODING」の同時係属米国特許出願に関する。
本開示は、データ圧縮に関し、より詳細には、変換を含むデータ圧縮に関する。
データ圧縮は、データ記憶空間、伝送帯域幅、またはその両方の消費を低減するために、様々な適用例において広く使用されている。データ圧縮の例示的な適用例には、デジタルビデオ、画像、音声、およびオーディオコーディングなど、可視または可聴メディアデータコーディングがある。たとえば、デジタルビデオコーディングは、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレス通信デバイス、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲームデバイス、セルラー電話または衛星無線電話などを含む、広範囲にわたるデバイスにおいて使用されている。デジタルビデオデバイスは、デジタルビデオをより効率的に送信および受信するために、MPEG−2、MPEG−4、またはH.264/MPEG−4 Advanced Video Coding(AVC)など、ビデオ圧縮技法を実装する。
ビデオ圧縮技法では、ビデオデータに固有の冗長性を低減または除去するために空間的予測、動き推定および動き補償を実行し得る。特に、イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。インターコーディングの場合、ビデオエンコーダは、2つ以上の隣接フレーム間でビデオブロックを一致させる動作を追跡するために動き推定を実行する。動き推定は、1つまたは複数の参照フレーム中の対応するビデオブロックに対するビデオブロックの変位を示す動きベクトルを発生する。動き補償は、その動きベクトルを使用して、参照フレームから予測ビデオブロックを発生する。動き補償の後、元のビデオブロックから予測ビデオブロックを減算することによって残差ビデオブロックが形成される。
ビデオエンコーダは、ビデオコーディングプロセスによって生成された残差ブロックのビットレートをさらに低減するために、変換を適用し、その後、量子化およびロスレス統計的コーディングプロセスを適用する。場合によっては、適用された変換は離散コサイン変換(DCT)を備える。一般に、DCTは、(しばしば「16×16ビデオブロック」と呼ばれる)高さ16ピクセル×幅16ピクセルであるビデオブロックなど、サイズが2のべき乗であるビデオブロックに適用される。したがって、DCT係数の16点アレイを生成するために、これらのDCTが16×16ビデオブロックに適用されるという点で、これらのDCTは16点DCTと呼ばれることがある。16点DCTを残差ブロックに適用することから生成されたDCT係数の16点アレイは、次いで、量子化プロセスおよび(一般に「エントロピーコーディング」プロセスとして知られる)ロスレス統計的コーディングプロセスを受けて、ビットストリームを発生する。統計的コーディングプロセスの例には、コンテキスト適応型可変長コーディング(CAVLC)またはコンテキスト適応型2値算術コーディング(CABAC)がある。ビデオデコーダは、符号化されたビットストリームを受信し、ブロックの各々について残差情報を復元するためにロスレス復号を実行する。残差情報と動き情報とを使用して、ビデオデコーダは、符号化されたビデオを再構成する。
概して、本開示は、16点離散コサイン変換(DCT)だけでなく、異なるサイズの複数の異なるDCTを実行することが可能な16点DCTの実装を使用して、メディアデータなどのデータをコーディングするための技法を目的とする。一例として、本開示の技法に従って構築された16点DCT実装は、サイズ16のDCTを実行し、サイズ8のDCTを実行する少なくとも1つの8点DCT実装と、サイズ4のDCTを実行する少なくとも1つのDCT実装とを含む。別の例として、本開示の技法に従って構築された16点DCT実装は、サイズ16の線形DCTを実行し、サイズ8の線形DCTを実行する少なくとも1つの8点DCT実装と、各々が、サイズ4の線形DCTを実行し、それらが互いに同時に動作し得る少なくとも2つの4点DCT実装とを含む。さらに、8点DCT実装は、少なくとも2つの4点DCT実装によって実行される4点DCTと同時に動作し得る、サイズ4の別の線形DCTを実行するさらに別の4点DCT実装を含み得る。したがって、本開示の技法に従って構築された16点DCT実装は、変動するサイズのいくつかの異なるDCT実装を組み込み得、個別の16点、8点および4点DCT実装の各々によって従来消費されていたチップ面積に比較して、消費するチップ面積が著しく小さくなり得る。
これらの線形DCTは、最初に、水平軸などに沿った方向など、ブロックに沿った1つの方向においてこれらの線形DCTのうちの1つを適用することによって、任意の所与のサイズのビデオブロックに適用され、次いで、垂直軸に沿った方向など、ブロックに沿った他の方向において適用され得る。このようにしてこれらの線形DCTを適用することによって、変動するサイズのDCTが適用され得る。たとえば、基礎をなすビデオブロックのサイズに応じて事実上16×8または8×16DCTを適用するために、16点DCTが一方向において適用され得、8点DCTが別の方向において適用され得る。このようにして、線形DCTは、サイズ16×16、16×8、8×16、8×8、8×4、4×8のDCT、または上記の線形サイズの任意の他の組合せのDCTを実行するために適用され得る。
一態様では、装置が、コンテンツデータを空間領域から周波数領域に変換する、異なるサイズの複数のタイプIIの離散コサイン変換(DCT−II)を実行する16点DCT−IIユニットを備える。16点DCT−IIユニットは、サイズ8の複数のDCT−IIのうちの1つを実行する8点DCT−IIユニットと、サイズ4の複数のDCT−IIのうちの1つを実行する第1の4点DCT−IIユニットとを含む。8点DCT−IIユニットは第1の4点DCT−IIユニットを含む。16点DCT−IIユニットはまた、サイズ4の複数のDCT−IIのうちの1つを各々が実行する、第2の4点DCT−IIユニットと第3の4点DCT−IIユニットとを備える8点DCT−IVユニットを含む。
別の態様では、方法が、コーディングデバイスを用いてコンテンツデータを受信することと、コーディングデバイス内に含まれる16点タイプIIの離散コサイン変換(DCT−II)ユニットを用いて、受信したコンテンツデータを空間領域から周波数領域に変換する複数のDCT−IIのうちの1つまたは複数を実行することとを備える。16点DCT−IIユニットは、サイズ8の複数のDCT−IIのうちの1つを実行する少なくとも1つの8点DCT−IIユニットと、サイズ4の複数のスケーリングされたDCT−IIのうちの1つを実行する第1の4点DCT−IIユニットと、サイズ4の複数のスケーリングされたDCT−IIのうちの1つを各々が実行する、第2の4点DCT−IIユニットと第3の4点DCT−IIユニットとを備える8点DCT−IVユニットとを含む。
別の態様では、非一時的コンピュータ可読記憶媒体が、実行されると、コーディングデバイスを用いてコンテンツデータを受信することと、コーディングデバイス内に含まれる16点タイプIIの離散コサイン変換(DCT−II)ユニットを用いて、受信したコンテンツデータを空間領域から周波数領域に変換する複数のDCT−IIのうちの1つまたは複数を実行することとをコーディングデバイスに行わせる命令を備える。16点DCT−IIユニットは、サイズ8の複数のDCT−IIのうちの1つを実行する少なくとも1つの8点DCT−IIユニットと、サイズ4の複数のスケーリングされたDCT−IIのうちの1つを実行する第1の4点DCT−IIユニットと、サイズ4の複数のスケーリングされたDCT−IIのうちの1つを各々が実行する、第2の4点DCT−IIユニットと第3の4点DCT−IIユニットとを備える8点DCT−IVユニットとを含む。
別の態様では、デバイスが、コーディングデバイスを用いてコンテンツデータを受信するための手段と、受信したコンテンツデータを空間領域から周波数領域に変換する複数のタイプIIの離散コサイン変換(DCT−II)のうちの1つまたは複数を実行するための手段とを備える。複数のDCT−IIのうちの1つまたは複数を実行するための手段は、サイズ8の複数のDCT−IIのうちの1つを実行するための手段と、サイズ4の複数のスケーリングされたDCT−IIのうちの第1の1つを実行するための第1の手段であって、サイズ8の複数のDCT−IIのうちの1つを実行するための手段が、サイズ4の複数のスケーリングされたDCT−IIのうちの1つを実行するための第1の手段を備える、第1の手段と、サイズ4の複数のDCT−IIのうちの第2の1つを実行するための第2の手段と、サイズ4の複数のスケーリングされたDCT−IIのうちの第3の1つを実行するための第3の手段とを含む。
別の態様では、装置が、コンテンツデータを周波数領域から空間領域に変換する、異なるサイズの複数の逆離散コサイン変換(IDCT)を実行する16点IDCTユニットを備える。16点IDCTユニットは、サイズ8の複数のIDCTのうちの1つを実行する8点IDCTユニットと、サイズ4の複数のIDCTのうちの1つを実行する4点IDCTユニットであって、8点IDCTユニットが4点IDCTユニットを含む、4点IDCTユニットと、サイズ4の複数のIDCTのうちの1つを各々が実行する、第2の4点IDCTユニットと第3の4点IDCTユニットとを備える逆8点DCT−IVユニットとを含む。
別の態様では、方法が、コーディングデバイスを用いてコンテンツデータを受信することと、コーディングデバイス内に含まれる16点逆離散コサイン変換(IDCT)ユニットを用いて、受信したコンテンツデータを空間領域から周波数領域に変換する複数のIDCTのうちの1つまたは複数を実行することとを備える。16点IDCTユニットは、サイズ8の複数のIDCTのうちの1つを実行する少なくとも1つの8点IDCTユニットと、サイズ4の複数のIDCTのうちの1つを実行する第1の4点IDCTユニットであって、少なくとも1つの8点IDCTユニットが第1の4点IDCTユニットを含む、4点IDCTユニットと、サイズ4の複数のIDCTのうちの1つを各々が実行する、第2の4点IDCTユニットと第3の4点IDCTユニットとを備える逆8点DCT−IVユニットとを含む。
別の態様では、非一時的コンピュータ可読記憶媒体が、実行されると、コーディングデバイスを用いてコンテンツデータを受信することと、コーディングデバイス内に含まれる16点逆離散コサイン変換(IDCT)ユニットを用いて、受信したコンテンツデータを空間領域から周波数領域に変換する複数のIDCTのうちの1つまたは複数を実行することとをコーディングデバイスに行わせる命令を備える。16点IDCTユニットは、サイズ8の複数のIDCTのうちの1つを実行する少なくとも1つの8点IDCTユニットと、サイズ4の複数のスケーリングされたIDCTのうちの1つを実行する第1の4点IDCTユニットであって、少なくとも1つの8点IDCTユニットが第1の4点IDCTユニットを含む、4点IDCTユニットと、サイズ4の複数のIDCTのうちの1つを各々が実行する、第2の4点IDCTユニットと第3の4点IDCTユニットとを備える、逆8点DCT−IVユニットとを含む。
別の態様では、デバイスが、コーディングデバイスを用いてコンテンツデータを受信するための手段と、受信したコンテンツデータを空間領域から周波数領域に変換する複数の逆離散コサイン変換のうちの1つまたは複数を実行するための手段とを備える。複数のIDCTのうちの1つまたは複数を実行するための手段は、サイズ8の複数のIDCTのうちの1つを実行するための手段と、サイズ4の複数のスケーリングされたIDCTのうちの第1の1つを実行するための第1の手段であって、サイズ8の複数のIDCTのうちの1つを実行するための手段が、サイズ4の複数のスケーリングされたIDCTのうちの1つを実行するための第1の手段を備える、第1の手段と、サイズ4の複数のIDCTのうちの第2の1つを実行するための第2の手段と、サイズ4の複数のスケーリングされたIDCTのうちの第3の1つを実行するための第3の手段とを含む。
本技法の1つまたは複数の態様の詳細を添付の図面および以下の説明に記載する。本開示で説明する技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
本開示の技法を実装することができるビデオ符号化および復号システムを示すブロック図。 図1のビデオエンコーダをより詳細に示すブロック図。 図1のビデオデコーダをより詳細に示すブロック図。 図2の16点DCT−IIユニットの様々な態様をより詳細に示す図。 図2の16点DCT−IIユニットの様々な態様をより詳細に示す図。 図2の16点DCT−IIユニットの様々な態様をより詳細に示す図。 図2の16点DCT−IIユニットの様々な態様をより詳細に示す図。 本開示の技法に従って構築された16点DCT実装を適用する際のコーディングデバイスの例示的な動作を示すフローチャート。 本開示の技法に従って構成された16点DCT−III実装を適用する際のコーディングデバイスの例示的な動作を示すフローチャート。
概して、本開示は、異なるサイズのいくつかの異なる離散コサイン変換(DCT)を実行することが可能ないくつかの異なるDCT実装を含む16点DCT実装を使用してデータをコーディングするための技法を対象とする。本技法は、デジタルビデオデータ、画像データ、音声データ、および/またはオーディオデータなど、可視メディアデータまたは可聴メディアデータを含む様々なデータを圧縮し、それによって、そのようなデータを表すそのような電気信号を、それらの電気信号のより効率的な処理、送信またはアーカイブのために圧縮信号に変換するために適用され得る。したがって、本開示の技法に従って構築された16点DCT実装は、複数のサイズのDCTを実行することが可能である。複数のサイズのDCTを実行することによって、16点DCT実装は、同様のサイズのDCTを実行するための別個のDCT実装を潜在的になくす。したがって、本技法に従って構築された16点DCT実装は、別個の16点、8点および4点DCT実装の総サイズに比較して16点実装のサイズを大幅に増加させることなしに、8および4など、異なるサイズのDCT実装を組み込み、ネスティングし、または場合によっては埋め込むので、説明する技法は、いわゆる「ボードスペース」の消費の低減を促進し得る。消費されるボードスペースが小さいことは、概して電力消費量の低減につながり、したがって、本開示の技法は、よりエネルギー効率が高いDCT実装を促進し得る。
上記で示したサイズ、すなわち、16、8および4は個別のデータ単位に関して表される。例示のために、ビデオデータについては、しばしば、特にビデオ圧縮に関して、ビデオブロックとして説明する。ビデオブロックは、一般に、ビデオフレームの任意のサイズの部分を指し、ビデオフレームは、一連のピクチャまたは画像中のピクチャまたは画像を指す。各ビデオブロックは、一般に、色成分、たとえば、赤、青および緑(いわゆる「色度」または「クロマ」成分)または輝度成分(いわゆる「ルーマ」成分)のいずれかを示す複数の個別のピクセルデータを備える。ピクセルデータの各セットは、ビデオブロック中に単一のピクセルを備え、ビデオブロックに関する個別のデータ単位と考えられ得る。したがって、8×8ビデオブロックは、たとえば、ピクセルデータの8つの列を備え、各列中にピクセルデータの8つの個別のセットがある。色または輝度値を指定するために、各ピクセルにnビット値が割り当てられ得る。
DCTについては、通常、オーディオ、音声、画像またはビデオデータであるかどうかにかかわらず、DCTが処理することが可能であるデータブロックのサイズに関して説明する。たとえば、DCTが16データアレイを処理することができる場合、そのDCTは線形16点DCTと呼ばれることがある。異なるサイズのビデオブロックに対して、16×16、16×8、8×16、8×8、8×4、4×8、4×4または任意の他のサイズの組合せを効果的に実行するために、異なるサイズの線形DCTが適用され得る。その上、DCTは特定のタイプとして示され得る。8つの異なるタイプのDCTのうちの最も一般的に採用されるタイプのDCTは、「DCT−II」と示され得るタイプIIのDCTである。しばしば、概括的にDCTに言及するとき、そのような言及は、タイプIIのDCTまたはDCT−IIを指す。DCT−IIの逆元(inverse)は、同様に「DCT−III」と示され得るタイプIIIのDCTと呼ばれるか、または、DCTがDCT−IIを指すという共通の理解があれば、「IDCT」と呼ばれ、「IDCT」中の「I」は逆元を示す。以下のDCTへの言及はこの表記法に準拠し、DCTへの概括的言及は、別段に規定されていない限りDCT−IIを指す。しかしながら、混乱を回避するために、DCT−IIを含むDCTは、以下で、対応するタイプ(II、IIIなど)を示した状態で言及される。
本開示で説明する技法は、それぞれ、データの圧縮および/または復元を可能にするために、16点DCT−IIおよび/または16点DCT−IIIのうちの1つまたは複数の実装を採用するエンコーダおよび/またはデコーダにおいて実装され得る。この場合も、これらの16点DCT−II実装を適用することによって達成される圧縮および復元は、物理的コンピューティングハードウェア、物理的伝送媒体(たとえば、銅、光ファイバ、ワイヤレス、または他のメディア)、および/またはストレージハードウェア(たとえば、磁気または光ディスクまたはテープ、あるいは様々なソリッドステートメディアのいずれか)を使用して、データを表す電気信号がより効率的に処理され、送信され、および/または記憶され得るように、それらの信号の物理的変換を可能にする。実装は、ハードウェアのみで構成され得るか、またはハードウェアとソフトウェアの組合せで構成され得る。
16点DCT−IIの実装はスケーリングされ得、「スケーリングされた」という用語は、スケーリングされたDCT係数を生成するDCT実装を指す。スケーリングされたDCT係数に、対応するスケールファクタを乗算すると、いわゆる「完全」DCT係数が生成される。スケーリングされたDCT実装は、実装からいくつかのファクタが除去されたDCT実装を表す。概して、これらのファクタは、所与のコーディングデバイスまたはシステムの別の要素、モジュール、またはユニットに組み込まれる。たとえば、ビデオエンコーダは、本開示の技法に従って構築されたスケーリングされた16点DCT実装を含み得る。ビデオエンコーダは、概して、除去されたファクタを量子化ユニットに組み込み、量子化ユニットは、スケーリングされた16点DCT実装によって出力されたスケーリングされたDCT係数を量子化する。量子化ユニットは、概して、量子化ユニットの複雑さを大幅に増加させることなしにこれらのファクタを適用し得るが、これらのファクタを適用する完全DCT実装は、量子化ユニットなど、ファクタを適用する別のモジュールと組み合わせたスケーリングされたDCT実装よりも概して複雑である。したがって、スケーリングされたDCT実装は、いくつかのコンテキストにおいて、同じコーディング利得を与えながら実装複雑さの低減を可能にし得る。本開示では、スケーリングされたDCT実装に関して説明するが、本技法は、スケーリングされていないDCT実装またはいわゆる「完全」DCT実装に適用され得る。
例示のために、装置が、16点DCT変換モジュールの形態で本開示の技法に従って構築された16点DCT実装を含み得る。16点DCT変換モジュールは、コンテンツデータを空間領域から周波数領域に変換するために、異なるサイズのいくつかのスケーリングされたDCT変換を実行し得る。スケーリングされた16点DCTモジュールは、サイズ8のいくつかのスケーリングされたDCT変換のうちの第1のDCT変換を実行する少なくとも1つのスケーリングされた8点DCTモジュールを含み得る。スケーリングされた16点DCTモジュールはまた、サイズ4のいくつかのスケーリングされたDCT変換のうちの少なくとも第2のDCT変換を実行する少なくとも1つのスケーリングされた4点DCTモジュールを含み得る。
この点において、本開示の技法に従って構築された16点DCT実装は、少なくともいくつかの態様では、複数のサイズのDCTを実行し、それによって、複数のサイズのDCTを実行するための別個のDCT実装を潜在的になくすことが可能であり得る。したがって、本技法に従って構築された16点DCT実装は、16点実装のサイズを大幅に増加させることなしに、8および4など、異なるサイズのDCT実装を組み込み、ネスティングし、または場合によっては埋め込むので、本開示の技法は、いわゆる「ボードスペース」の消費の低減を促進する。別個の16点、8点および4点DCT実装の総サイズに比較して、本開示の16点DCT−II実装は、消費される物理的ボードスペースに関して大幅に小さくなり得、ボードスペースという用語は、異なる構成要素間の相互接続を与えるシリコンまたは他の物理的ボード上で消費されるスペースの量を指す。消費されるボードスペースが小さいことは、概して電力消費量の低減につながり、したがって、本開示の技法は、よりエネルギー効率が高いDCT実装を促進し得る。
図1は、ビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを受信ハードウェアデバイス14に送信するソースハードウェアデバイス12を含む。ソースデバイス12は、ビデオソース18とビデオエンコーダ20と送信機22とを含み得る。宛先デバイス14は、受信機24と、ビデオデコーダ26と、ビデオディスプレイデバイス28とを含み得る。
図1の例では、通信チャネル16は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレスおよびワイヤード媒体の任意の組合せを備え得る。チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成し得る。通信チャネル16は、一般に、ビデオデータをソースデバイス12から受信デバイス14に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。
ソースデバイス12は、宛先デバイス14に送信するためのビデオを発生する。ただし、場合によっては、デバイス12、14は、実質的に対称に動作し得る。たとえば、デバイス12、14の各々は、ビデオ符号化および復号構成要素を含み得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオブロードキャスト、またはビデオ電話のためのビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートし得る。他のデータ圧縮およびコーディング適用例の場合、デバイス12、14は、画像、音声またはオーディオデータ、あるいはビデオ、画像、音声およびオーディオデータのうちの2つ以上の組合せなど、他のタイプのデータを送信および受信、または交換するように構成され得る。したがって、ビデオ適用例の以下の説明は例示のために与えたものであり、本明細書で広く説明する本開示の様々な態様を限定するものと見なすべきではない。
ビデオソース18は、1つまたは複数のビデオカメラ、あらかじめキャプチャされたビデオを含んでいるビデオアーカイブ、またはビデオコンテンツプロバイダからのライブビデオフィードなど、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース18はソースビデオとしてのコンピュータグラフィックベースのデータ、またはライブビデオとコンピュータ発生ビデオとの組合せを発生し得る。場合によっては、ビデオソース18がカメラである場合、ソースデバイス12および受信デバイス14は、いわゆるカメラ付き携帯電話またはビデオ電話を形成し得る。したがって、いくつかの態様では、ソースデバイス12、受信デバイス14またはその両方は、モバイル電話など、ワイヤレス通信デバイスハンドセットを形成し得る。各場合において、キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータ発生ビデオは、送信機22とチャネル16と受信機24とを介してビデオソースデバイス12からビデオ受信デバイス14のビデオデコーダ26に送信するために、ビデオエンコーダ20によって符号化され得る。ディスプレイデバイス28は、液晶ディスプレイ(LCD)、プラズマディスプレイまたは有機発光ダイオード(OLED)ディスプレイなどの様々なディスプレイデバイスのいずれかを含み得る。
ビデオエンコーダ20およびビデオデコーダ26は、空間、時間および/または信号対雑音比(SNR)スケーラビリティのためのスケーラブルビデオコーディングをサポートするように構成され得る。いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ22は、ファイングラニュラリティSNRスケーラビリティ(FGS)コーディングをサポートするように構成され得る。エンコーダ20およびデコーダ26は、ベースレイヤおよび1つまたは複数のスケーラブルエンハンスメントレイヤの符号化、送信および復号をサポートすることによって様々な程度のスケーラビリティをサポートし得る。スケーラブルビデオコーディングの場合、ベースレイヤは最小品質レベルでビデオデータを搬送する。1つまたは複数のエンハンスメントレイヤは追加のビットストリームを搬送して、より高い空間的レベル、時間的レベルおよび/またはSNRレベルをサポートする。
ビデオエンコーダ20およびビデオデコーダ26は、MPEG−2、MPEG−4、ITU−T H.263、またはITU−T H.264/MPEG−4 Advanced Video Coding(AVC)などのビデオ圧縮規格に従って動作し得る。図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ26は、それぞれオーディオエンコーダおよびデコーダと統合され、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
ビデオエンコーダ20およびビデオデコーダ26はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せとして実装され得る。したがって、ビデオエンコーダ20およびビデオデコーダ26の各々は、集積回路(IC)チップまたはデバイスとして少なくとも部分的に実装され、1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれかは、複合エンコーダ/デコーダ(コーデック)の一部としてそれぞれモバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバなどに統合され得る。さらに、ソースデバイス12および受信デバイス14はそれぞれ、符号化ビデオの送信および受信のために適切な変調、復調、周波数変換、フィルタ処理、および増幅器構成要素を含み、適用可能な場合、ワイヤレス通信をサポートするために十分な無線周波(RF)ワイヤレス構成要素およびアンテナを含み得る。ただし、説明しやすいように、そのような構成要素は図1に示していない。
ビデオシーケンスは一連のビデオフレームを含む。ビデオエンコーダ20は、ビデオデータを符号化するために個々のビデオフレーム内のピクセルのブロックに作用する。ビデオブロックは、固定サイズまたは変動サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。各ビデオフレームは一連のスライスを含む。各スライスは一連のマクロブロックを含み得、それらはサブブロック中に配置され得る。一例として、ITU−T H.264規格は、ルーマ成分については16×16、8×8、または4×4、およびクロマ成分については8×8など、様々なダイアディックブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については16×16、16×8、8×16、8×8、8×4、4×8および4×4、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。
ビデオブロックは、小さいほどより良い解像度が得られ、高い詳細レベルを含むビデオフレームの位置決めに使用され得る。概して、マクロブロックおよび様々なサブブロックまたはパーティションはすべてビデオブロックであると考えられ得る。さらに、スライスは、マクロブロックおよび/またはサブブロックまたはパーティションなど、一連のビデオブロックであると考えられ得る。概して、マクロブロックは、16×16のピクセルエリアを定義するクロミナンス値と輝度値とのセットを指し得る。輝度ブロックは、16×16の値セットを備え得るが、8×8ブロック、4×4ブロック、8×4ブロック、4×8ブロックまたは他のサイズなど、より小さいビデオブロックにさらに区分され得る。2つの異なるクロミナンスブロックは、マクロブロックの色を定義し得、それぞれ16×16のピクセルエリアに関連するカラー値の8×8サブサンプルブロックを備え得る。マクロブロックは、マクロブロックに適用されるコーディングモードおよび/またはコーディング技法を定義するためのシンタックス情報を含み得る。
マクロブロックまたは他のビデオブロックは、スライス、フレームまたは他の独立した単位などの復号可能な単位にグループ化され得る。各スライスはビデオフレームの単独で復号可能な単位であり得る。代替的に、フレーム自体が復号可能な単位であり得るか、またはフレームの他の部分が復号可能な単位として定義され得る。本開示では、「コード化された単位」という用語は、使用されるコーディング技法に従って定義される、フレーム全体、フレームのスライス、ピクチャグループ(GOP)、または別の単独で復号可能な単位など、ビデオフレームの任意の単独で復号可能な単位を指す。
図1のシステム10のビデオエンコーダ20および/またはビデオデコーダ26は、それぞれ16点DCT−IIの実装とその逆元(たとえば、16点DCT−III)とを含むように構成され得、16点DCT−II実装は、本開示で説明する技法に従って構築される。ITU−T H.264規格は、ルーマ成分では16×16、8×8、4×4、およびクロマ成分では8×8など、様々なブロックサイズのイントラ予測をサポートするが、コーディング効率を改善するためのこの規格の改訂が現在進行中である。MPEGとITU−Tとのコラボレーションである、Joint Collaborative Team−Video Coding(JCT−VC)によって提案された1つの改訂された規格は、High Efficiency Video Coding(HEVC)と呼ばれることがある。いくつかの例では、本開示の技法に従って構築された16点タイプIIのDCT(「DCT−II」)実装は、コーディング効率を維持しながら、また実装サイズを低減し、それによって、消費される物理的ボードスペースを小さくし、電力効率を促進し得る。したがって、HEVCおよび他の発展的規格または仕様は、これらのDCT−IIおよびDCT−IIIを考慮し得る。
本開示で説明する技法によれば、16点DCT−IIの実装は、異なるサイズの複数のDCT−IIを行う。ビデオエンコーダ20は、この16点DCT−II実装を表す(説明しやすいように図1には示されていない)16点DCT−IIユニットを含み得る。16点DCT−IIユニットは、概してコンテンツデータを空間領域から周波数領域に変換するために、異なるサイズの複数またはいくつかのスケーリングされたDCT変換を実行し得る。一例として、16点DCT−IIユニットは、サイズ8のスケーリングされたDCT変換のうちの第1のDCT変換を実行する少なくとも1つのスケーリングされた8点DCTモジュールと、サイズ4のDCT変換のうちの少なくとも第2のDCT変換を実行する少なくとも1つのスケーリングされた4点変換モジュールとを含み得る。
この点において、本開示の技法に従って構築された単一の16点DCT−II実装は、少なくともいくつかの態様では、複数のサイズのDCTを実行し、それによって、同様のサイズのDCTを実行するための別個のDCT実装を潜在的になくすことが可能であり得る。したがって、本技法に従って構築された16点DCT実装は、16点実装のサイズを大幅に増加させることなしに、8および4など、異なるサイズのDCT実装を組み込み、ネスティングし、または場合によっては埋め込むので、本開示の技法は、シリコンボード上の消費される物理的スペースの面積を指すいわゆる「ボードスペース」の消費の低減を促進し得る。別個の16点、8点および4点DCT実装の総サイズに比較して、16点DCT−II実装は、消費される物理的ボードスペースに関して大幅に小さくなり得る。消費されるボードスペースが小さいことは、概して電力消費量の低減につながり、したがって、本開示の技法は、よりエネルギー効率が高いDCT実装を促進し得る。
本開示の技法に従って構築された16点DCT−IIの実装はスケーリングされ得、「スケーリングされた」という用語は、いわゆる「完全」DCT係数でない、スケーリングされたDCT係数を生成するDCT実装を指す。スケーリングされたDCT実装は、実装からいくつかのファクタが除去されたDCT実装を表す。概して、これらの除去されたファクタは、所与のコーディングデバイスまたはシステムの別の要素、モジュール、またはユニットに組み込まれる。たとえば、ビデオエンコーダは、本開示の技法に従って構築されたスケーリングされた16点DCT実装を含み得る。ビデオエンコーダは、概して、除去されたファクタを量子化ユニットに組み込み、量子化ユニットは、スケーリングされた16点DCT実装によって出力されたスケーリングされたDCT係数を量子化する。量子化ユニットは、概して、量子化ユニットの複雑さを大幅に増加させることなしにこれらのファクタを適用し得るが、これらのファクタを適用する完全DCT実装は、概して、量子化ユニットなど、ファクタを適用する別のモジュールと組み合わせたスケーリングされたDCT実装よりも複雑である。したがって、スケーリングされたDCT実装は、いくつかのコンテキストにおいて、同じコーディング利得を与えながら実装複雑さの低減を可能にし得る。本開示では、スケーリングされたDCT実装に関して説明するが、本技法は、スケーリングされていないDCT実装またはいわゆる「完全」DCT実装に適用され得る。
図2は、図1のビデオエンコーダ20をより詳細に示すブロック図である。ビデオエンコーダ20は、少なくとも部分的に、まとめて集積回路デバイスと呼ばれることがある1つまたは複数の集積回路デバイスとして形成され得る。いくつかの態様では、ビデオエンコーダ20は、ワイヤレス通信デバイスハンドセットまたはブロードキャストサーバの一部を形成し得る。ビデオエンコーダ20は、ビデオフレーム内のブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。インターコーディングの場合、ビデオエンコーダ20は、隣接フレーム間でビデオブロックを一致させる動作を追跡するために動き推定を実行する。
図2に示すように、ビデオエンコーダ20は、符号化すべきビデオフレーム内の現在ビデオブロック30を受信する。図2の例では、ビデオエンコーダ20は、動き推定ユニット32と、メモリ34と、動き補償ユニット36と、ブロック変換ユニット38と、量子化ユニット40と、逆量子化ユニット42と、逆変換ユニット44と、エントロピーコーディングユニット46とを含む。ブロッキングアーティファクトを除去するために、ループ内またはポストループデブロッキングフィルタ(図示せず)がフィルタブロックに適用され得る。ビデオエンコーダ20はまた、加算器48と加算器50とを含む。図2は、ビデオブロックのインターコーディングのためのビデオエンコーダ20の時間的予測構成要素を示す。説明しやすいように図2には示されていないが、ビデオエンコーダ20は、いくつかのビデオブロックのイントラコーディングのための空間的予測構成要素をも含み得る。
動き推定ユニット32は、1つまたは複数の動きベクトルを発生するためにビデオブロック30を1つまたは複数の隣接ビデオフレーム中のブロックと比較する。以前に符号化されたブロックから再構成されたビデオブロックを記憶するために任意のタイプのメモリまたはデータ記憶デバイスを備え得るメモリ34から、1つまたは複数の隣接フレームが検索され得る。動き推定は、可変サイズ、たとえば、16×16、16×8、8×16、8×8、またはより小さいブロックサイズのブロックに対して実行され得る。動き推定ユニット32は、たとえば、レートひずみモデルに基づいて現在ビデオブロック30に最もぴったり一致する隣接フレーム中の1つまたは複数のブロックを識別し、隣接フレーム中のブロックと現在ビデオブロックとの間の変位を判断する。これに基づいて、動き推定ユニット32は、現在ビデオブロック30と、現在ビデオブロック30をコーディングするために使用される参照フレームからの1つまたは複数の一致するブロックとの間の変位の大きさおよび軌道を示す、1つまたは複数の動きベクトル(MV)を生成する。一致する1つまたは複数のブロックは、コーディングすべきブロックのインターコーディングのための予測(predictive)(または予測(prediction))ブロックとして働くことになる。
動きベクトルは、ハーフもしくはクォータピクセル精度、またはさらにより微細な精度を有し得、それによりビデオエンコーダ20は、整数ピクセルロケーションよりも高い精度で動きを追跡し、より良い予測ブロックを取得することが可能になる。端数のピクセル値をもつ動きベクトルを使用するとき、動き補償ユニット36中で補間演算が実行される。動き推定ユニット32は、レートひずみモデルなど、いくつかの基準を使用してビデオブロック識別するために、最良のブロック区分を判断し、1つまたは複数の動きベクトルを発生する。たとえば、双方向予測の場合、複数の動きベクトルがあり得る。得られたブロック区分および動きベクトルを使用して、動き補償ユニット36は予測ビデオブロックを形成する。
ビデオエンコーダ20は、加算器48において、元の現在ビデオブロック30から、動き補償ユニット36によって生成された予測ビデオブロックを減算することによって残差ビデオブロックを形成する。ブロック変換ユニット38は、残差変換ブロック係数を生成する変換を適用する。図2に示すように、ブロック変換ユニット38は、本開示で説明する技法に従って構築された16点DCT−IIを実装する16点DCT−IIユニット52を含む。16点DCT−IIユニット52は、いくつかの例では、本開示で説明するように、16点DCT−II、8点DCT−IIおよび4点DCT−IIのうちの1つまたは複数を実行することが可能な16点DCT−IIを実装するソフトウェアを実行するハードウェアモジュール(ソフトウェアコードまたは命令を実行するデジタル信号プロセッサまたはDSPなど)を表す。16点DCT−IIユニット52は、サイズ16、8および4のこれらのDCT−IIのうちの1つまたは複数を残差ブロックに適用し、対応するサイズ16、8および/または4の残差変換係数のブロックを生成する。16点DCT−IIユニット52は、概して、残差ピクセルデータとして表される空間領域から、DCT係数として表される周波数領域に残差ブロックを変換する。変換係数は、少なくとも1つのDC係数と1つまたは複数のAC係数とを含むDCT係数を備え得る。
量子化ユニット40は、ビットレートをさらに低減するために残差変換ブロック係数を量子化する(たとえば、丸める)。上述のように、量子化ユニット40は、ファクタ化中に除去された内部ファクタを組み込むことによって、スケーリングされた16点DCT−IIユニット52のスケーリングされた性質を考慮する。量子化は一般に乗算を含むので、これらのファクタを量子化ユニット40に組み込むことが量子化ユニット40の実装複雑さを増加させることはない。この点において、スケーリングされた16点DCT−IIユニット52からファクタを除去することは、量子化ユニット40の実装複雑さを増加させることなしにDCT−IIユニット52の実装複雑さを減少させ、その結果、ビデオエンコーダ20に関する実装複雑さが純減する。
エントロピーコーディングユニット46は、量子化係数をエントロピーコーディングして、ビットレートをなお一層低減する。エントロピーコーディングユニット46は、場合によってはエントロピーコーディングと呼ばれる統計的ロスレスコーディングを実行し得る。エントロピーコーディングユニット46は、量子化DCT係数の確率分布をモデル化し、モデル化された確率分布に基づいてコードブック(たとえば、CAVLCまたはCABAC)を選択する。このコードブックを使用して、エントロピーコーディングユニット46は、量子化DCT係数を圧縮する方式で、各量子化DCT係数のためのコードを選択する。例示のために、エントロピーコーディングユニット46は、頻繁に発生する量子化DCT係数のための(ビット換算で)短いコードワードと、より少ない頻度で発生する量子化DCT係数のための(ビット換算で)より長いコードワードを選択し得る。短いコードワードが量子化DCT係数よりも少ないビットを使用する限り、概して、エントロピーコーディングユニット46は量子化DCT係数を圧縮する。エントロピーコーディングユニット46は、ビデオデコーダ26に送られるビットストリームとしてエントロピーコード化係数を出力する。一般に、ビデオデコーダ26は、図3の例に関して説明するように、ビットストリームからの符号化ビデオを復号および再構成するために逆演算を実行する。
再構成ユニット42および逆変換ユニット44は、それぞれ量子化係数を再構成し、逆変換を適用して、残差ブロックを再構成する。逆変換ユニット44は、図3に関して以下で説明する16点DCT−IIIユニット68と同様の、16点DCT−IIユニット52の逆動作を実行する、一般にタイプIIIのDCTと呼ばれる逆DCT(IDCT)を含む。この逆16点DCT−IIは、同じく、図3の例に示す16点DCT−IIユニット68と実質的に同様であり得る16点DCT−IIIユニット53として示されている。合計ユニット50は、再構成された残差ブロックを、動き補償ユニット36によって生成された動き補償予測ブロックに加算して、メモリ34に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックを符号化するために動き推定ユニット32および動き補償ユニット36によって使用される。
図3は、図1のビデオデコーダ26の一例をより詳細に示すブロック図である。ビデオデコーダ26は、少なくとも部分的に、まとめて集積回路デバイスと呼ばれることがある1つまたは複数の集積回路デバイスとして形成され得る。いくつかの態様では、ビデオデコーダ26は、ワイヤレス通信デバイスハンドセットの一部を形成し得る。ビデオデコーダ26はビデオフレーム内のブロックのイントラ復号およびインター復号を実行し得る。図3に示すように、ビデオデコーダ26は、ビデオエンコーダ20によって符号化された符号化ビデオビットストリームを受信する。図3の例では、ビデオデコーダ26は、エントロピー復号ユニット54と、動き補償ユニット56と、再構成ユニット58と、逆変換ユニット60と、メモリ62とを含む。エントロピー復号ユニット64は、コーディングするのに有用なデータを取得するために、メモリ64に記憶された1つまたは複数のデータ構造にアクセスし得る。ビデオデコーダ26は、加算器66の出力をフィルタ処理するループ内またはポストループデブロッキングフィルタ(図示せず)をも含み得る。ビデオデコーダ26は加算器66をも含む。図3は、ビデオブロックのインター復号のためのビデオデコーダ26の時間的予測構成要素を示す。図3には示されていないが、ビデオデコーダ26は、いくつかのビデオブロックのイントラ復号のための空間的予測構成要素をも含み得る。
エントロピー復号ユニット54は、符号化ビデオビットストリームを受信し、そのビットストリームから、量子化残差係数および量子化パラメータ、ならびに、マクロブロックコーディングモード、および動きベクトルとブロック区分とを含み得る動き情報など、他の情報を復号する。動き補償ユニット56は、動きベクトルと、ブロック区分と、メモリ62からの1つまたは複数の再構成された参照フレームとを受信して、予測ビデオブロックを生成する。
再構成ユニット58は、量子化されたブロック係数を逆量子化(inverse quantize)、すなわち逆量子化(de-quantize)する。逆変換ユニット60は、逆変換、たとえば、逆DCTを係数に適用して残差ブロックを生成する。より詳細には、逆変換ユニット60は、逆変換ユニット60が残差ブロックを生成するために係数に適用する16点DCT−IIIユニット68を含む。図2に示す16点DCT−IIユニット52の逆元である16点DCT−IIIユニット68は、周波数領域から空間領域に係数を変換して、残差ブロックを生成し得る。上記の量子化ユニット40と同様に、再構成ユニット58は、ほとんど実装複雑さの増加なしに、ファクタ化中に除去された外部ファクタを再構成プロセスに組み込むことによって、16点DCT−IIIユニット68のスケーリングされた性質を考慮する。スケーリングされた16点DCT−IIIユニット68からファクタを除去することにより、実装複雑さが低減し、その結果、ビデオデコーダ26に関する複雑さが純減し得る。
次いで、予測ビデオブロックは、加算器66によって残差ブロックと加算されて、復号ブロックを形成する。復号ブロックをフィルタ処理してブロッキングアーティファクトを除去するために、デブロッキングフィルタ(図示せず)が適用され得る。フィルタ処理されたブロックは次いで参照フレームストア62に入れられ、メモリ62は、後続のビデオフレームの復号のために参照フレームを与え、また、ディスプレイデバイス28(図1)を駆動するために復号ビデオを生成する。いくつかの例では、アーティファクトを除去するために、フィルタフレームがメモリ62に記憶された後、ポストループデブロッキングフィルタがフィルタフレームに適用され得る。
図4A〜図4Dは、16点DCT−IIユニット52の様々な態様をより詳細に示す図である。図4Aの例では、16点DCT−IIユニット52は、バタフライユニット70と、8点DCT−IIユニット72と、8点DCT−IVユニット74とを含む。8点DCT−IIユニット72は第1の4点DCT−IIユニット76Aを含み、8点DCT−IVユニット74は第2の4点DCT−IIユニット76Bと第3の4点DCT−IIユニット76Cとを含む。8点DCT−IVユニット74はまた、図4Dの例に関して以下でより詳細に説明する、ファクタ乗算ユニット78と相互加算(cross-additive)ユニット80とを含む。16点DCT−IIユニット52は、入力x0〜x15を受信し、出力X0〜X15を発生する。バタフライユニット70は、入力x0〜x15を、偶数入力x0、x2、x4、x6、x8、x10、x12、およびx14と、奇数入力x1、x3、x5、x7、x9、x11、x13、およびx15とに再構成し、さらに偶数入力に関して相互加算(cross-addition)を実行し、奇数入力に関して相互減算(cross-subtraction)を実行する。バタフライユニット70は、相互加算(cross-add)された偶数入力を8点DCT−IIユニット72に出力し、相互減算(cross-subtract)された奇数入力を8点DCT−I4ユニット74に出力する。
図4Bは、4点DCT−IIユニット76A〜76Cのうちのいずれか1つの例をより詳細に示す図である。図4Bの例に示す4点DCT−IIユニットが4点DCT−IIユニット76A〜76Cのうちの任意の1つを表し得ることを反映するために、図4Bの例に示す4点DCT−IIユニットを概括的に4点DCT−IIユニット76と呼ぶ。4点DCT−IIユニット76はバタフライユニット82を含み、バタフライユニット82は、機能に関してバタフライユニット70と実質的に同様であるが、16個ではなく4つの入力のみを受信するので、スケールに関しては異なる。バタフライユニット82は、2つの上側の出力における「0」および「2」表記と、2つの下側の出力における「1」および「3」表記とによって示されるように、入力を偶数入力と奇数入力とに再構成する。4点DCT−IIユニット76の、奇数入力に作用する部分は奇数部分と呼ばれ、偶数入力に作用する部分は偶数部分と呼ばれることがある。
奇数部分には、奇数入力に適用されるべき、AおよびBとして示された2つファクタが示されている。これらのファクタの値を判断する際に、設計者は、いくつかの問題のバランスをとり得る。しばしば、2のべき乗であるファクタによる乗算が、通常、2進法における右シフトのみを含むことを考慮すれば、2のべき乗であるファクタは容易に実行され得る。したがって、2のべき乗であるファクタは有利であるが、そのようなファクタは、有意なコーディング利得または圧縮効率を与えるために十分な精度をもつDCT係数を適切に反映しないことがある。代替的に、2のべき乗でないファクタは、より高い精度を与え得るが、容易に実装されず、それにより実装複雑さを増加させ得る。さらに、より大きいファクタは、概して、より多くのコーディング利得を与えるが、有意なより多くのストレージスペースを必要とする一方、より小さいファクタは、より小さいストレージスペースを消費し得るが、より少ないコーディング利得を与え得る。いずれの場合も、4点DCT−IIユニット76によって表されるDCT実装など、任意の所与のDCT実装のファクタを選択する際に、いくつかのトレードオフが必要とされる。これらの様々なトレードオフをより詳細に示す、ファクタの様々な組合せについて以下で説明する。
図4Cは、8点DCT−IIユニット72をより詳細に示すブロック図である。図4Cの例では、8点DCT−IIユニット72はバタフライユニット84を含み、バタフライユニット84は、機能はバタフライユニット70および82と実質的に同様であるが、バタフライユニット84は、それぞれバタフライユニット70および82によって受信される16個および4つの入力に比較して8つの入力のみを受信することを考慮すれば、スケールは異なる。いずれの場合も、バタフライユニット84は、それの入力を偶数入力と奇数入力とに再構成しながら、また偶数入力を発生するために相互加算を実行し、奇数入力を発生するために相互減算を実行する。8点DCT−IIユニット72の、偶数入力に作用する部分は偶数部分と呼ばれ、奇数入力に作用する部分は奇数部分と呼ばれることがある。この場合の偶数部分は、図4Bの例に関して上記で説明した4点DCT−IIユニット76と実質的に同様である、ネストされた4点DCT−IIユニット76Aを備える。
8点DCT−IIユニット72の奇数部分は、それぞれ様々な数学演算を実行するいくつかのユニット86〜90を含む。ファクタ乗算ユニット86は、奇数入力にファクタC、D、E、およびFを乗算した後、これらの入力の相互加算を実行する。ファクタC、D、E、およびFは、様々な利益を促進するために上述の方法で変更され得る変数を表す。相互加算ユニット88は、図4Cの例に関して示される方法で相互加算を実行し、相互加算ユニット90は、7および1と示される奇数出力を発生するために、外側加算入力の相互加算を実行する。この場合も、これらの様々なトレードオフをより詳細に示す、ファクタの様々な組合せについて以下で説明する。
図4Dは、8点DCT−IVユニット74をより詳細に示すブロック図である。図4Dの例では、上記のように、8点DCT−IVユニット74は、各々が図4Bの例に関して上記で説明した4点DCT−IIユニット76と実質的に同様である、2つの4点DCT−IIユニット76B、76Cを含む。8点DCT−IVユニット74は、この場合も上記のように、同じくファクタ乗算ユニット78と相互加算ユニット80とを含む。ファクタ乗算ユニット78は、8点DCT−IVユニット74への入力にファクタH、I、J、K、L、M、およびNを乗算し、ファクタを乗算されると、上側の4つの入力に下側の4つの入力を相互加算し、下側の4つの入力から上側の4つの入力を相互減算する。次いで、上側の4つの入力は4点DCT−IIユニット76Bによって処理され、下側の4つの入力は4点DCT−IIユニット76Cによって処理される。次いで、相互加算ユニット80は、下側の7つの入力を相互加算/減算する(減算は加算の別の形態と考えられる)。
概して、上記で説明したDCT−IIまたはDCT−IVユニット72、74および76A〜76Cの各々は、上記のファクタA〜Nの行列として表され得る。たとえば、DCT−IIユニット76A〜76C(「DCT−IIユニット76」)の各々は、以下の表1に記載する行列によって表され得る。
Figure 2013502626
DCT−IIユニット72は、以下の表2に記載する行列によって表され得る。
Figure 2013502626
DCT−IVユニット74は、以下の表3に記載する行列によって表され得る。
Figure 2013502626
4×4DCT−II行列、8×8DCT−II行列および8×8DCT−IV行列を表す上記の表に基づいて、16点DCT−IIユニット52を表す行列は、以下の表4に記載する得られた行列を用いて判断され得る。
Figure 2013502626
再び図4Aを参照すると、出力X0〜X15に乗算されるいくつかの外部ファクタが示されており、そのうちのいくつかは正規化ファクタζ、ζ、ηを含む。これらの外部ファクタは、16点DCT−IIユニット52内に含まれないことがあるが、代わりに除去され、量子化ユニット40に組み込まれ得る。概して、これらの外部ファクタは、以下の対角行列Sによって表され、これは同じく量子化ユニット40に組み込まれる。
Figure 2013502626
上式で、これらの正規化ファクタは、入力に適用すべき多くの演算を必要とする内部ファクタの大きい値を低減することによって、実装複雑さを改善し得る。これらの外部ファクタが除去された場合、16点DCT−IIユニット52が、DCT係数を正確に表す完全なスケーリングされていない出力を適切に発生するために対角行列Sの適用を必要とするスケーリングされた出力を出力することを考慮して、16点DCT−IIユニット52はスケーリングされた16点DCT−IIユニット52と呼ばれる。16点DCT−IIユニット52がこれらの外部ファクタを保持する場合、16点DCT−IIユニット52は完全16点DCT−IIユニット52と呼ばれる。コンテキストに応じて、完全ユニットまたはスケーリングされたユニットのいずれかが16点DCT−IIユニット52に採用され得、本開示の技法は、いかなるタイプの完全またはスケーリングされた実装にも限定されるべきでない。
いずれの場合も、以下は、様々な利益を与える16点DCT−IIユニット52を発生するために、上記の内部ファクタと正規化ファクタとに対して選択され得る、いくつかの例示的な実装形態固有の値である。一般的な注意として、ファクタの以下の値は、得られたDCT行列が、以下の式(1)によって定義される直交性性質を保持するように選択される。
Figure 2013502626
上式で、Cは完全なスケーリングされていない変換行列を表し、CTは行列Cの転置を表す。概して、DCT−II実装は可逆であるので、DCT−II実装に関して直交性が望まれる。この可逆性質は、一例として、ビデオエンコーダが、直交16点DCT実装を適用してビデオデータの残差ブロックからDCT係数を発生することを可能にする。次いで、ビデオデコーダが、8点逆DCT−II(IDCT)実装を適用して、ほとんどデータの損失なしにDCT−II係数からビデオデータの残差ブロックを再構成することができる。ビデオ符号化の主要な目的の1つがデータの保存であることを考慮して、H.264ビデオコーディング規格など、様々なコーディング規格が8点DCTの直交実装を採用した。
内部ファクタA〜Nの様々な値の調査は、これらの値を選択する際に必要とされるトレードオフに関する何らかの指示を与える。4点DCT−IIユニット76ならびに内部ファクタAおよびBで開始して、これらのファクタの値の分析を以下の表5に記載する。
Figure 2013502626
表5を参照すると、近似誤差と、ファクタAおよびBを記憶するために必要とされるビット数とに関して、内部ファクタAおよびBの値が示されている。概して、内部ファクタAおよびBの値のサイズが増加するにつれて、近似誤差は減少し、これらのより大きい値を記憶するために必要とされるビット数は増加する。
8点DCT−IIユニット72と内部ファクタC、D、E、およびFとに関する調査を続けて、これらのファクタの値の分析を以下の表6に記載する。
Figure 2013502626
上記の表5に記載した分析と同様に、内部ファクタC〜Fの値は、サイズが増加するにつれて、近似誤差は減少し、これらのより大きい値を記憶するために必要とされるビット数は増加する。
8点DCT−IVユニット74の内部ファクタH〜Nについての分析を以下の表7に記載する。
Figure 2013502626
上記の表5および表6に記載した分析と同様に、内部ファクタH〜Nの値は、サイズが増加するにつれて、最大近似誤差は減少し、これらのより大きい値を記憶するために必要とされるビット数は増加する。表7に記載した分析に関して、最大近似誤差は内部ファクタの最初の4つまたは5つの組合せに対して非常に大きいので、内部ファクタH〜Nの値の選択肢は5ビット、6ビットおよび7ビット近似の間である。
上記の調査分析が完了すると、上記の表5〜表7から内部ファクタA〜Nの値の様々な選択を通して、いくつかの異なる実装または設計が生じ得る。それぞれ内部ファクタAおよびBに対して1および2の値を選択することによって、以下の2つ設計と比較して、近似誤差に関して最も正確でない第1の設計または実装が構成され得る。この第1の設計はまた、上記の表7から5ビット近似を選択することによって構成され、内部ファクタN、L、J、H、G、I、K、Mは、それぞれ値1、6、10、10、15、15、17、18に設定される。第1の設計は、内部ファクタC、D、E、Fに対してそれぞれ11、3、9および7の値を用いてさらに構成される。
第1の設計または実装は、以下の表8に記載する行列によって要約され得る。
Figure 2013502626
上記の表8に示すいくつかの行列係数は大きい値であり、これらの大きい値による乗算を実行するために必要とされる演算に関する実装複雑さを増加させ得る。これらの大きい値を除去し、変換にわたるダイナミックレンジのバランスをとるために、乗算後に第1の設計の実装に右シフトを導入すると、表9に記載する以下の正規化された内部ファクタが生じ得る。右シフトは任意の正の整数だけであり得ることに留意されたい。唯一の制限は、パラメータAおよびBの右シフトが同じであることである。同様に、C、D、E、およびFの右シフトは同じである。最後に、N、L、J、H、G、I、K、およびMのパラメータの右シフトは同じである。右シフトは、これらの整数パラメータを2進分数(dyadic rational)に変換する。2進分数は、分母が2のべき乗である有理数である。右シフトは変換の精度を低下させ得る。したがって、それらを最小値に保つことが望ましい。
Figure 2013502626
これらの正規化された内部ファクタを使用して、表8に記載した行列は、以下の表10に記載する行列に簡約される。
Figure 2013502626
表10中の行列係数の範囲は−1.56と1.56との間であり、これは概して十分に緊密であるかまたはDCT実装に好適である。第1の設計は、以下の値をもつ対角行列Sを有する。
Figure 2013502626
これは、4による乗算および浮動小数点への変換の後、以下の値にほぼ等しい。
[1., 1.255143265, 1.403292831, 1.122634265, 1.264911064, 1.122634265, 1.984555754, .8875203140, 1., .8875203140, 1.984555754, 1.122634265, 1.264911064, 1.122634265, 1.403292831, 1.255143265]
第2の設計は、第1の設計よりも正確であるが、以下でより詳細に説明する第3の設計ほど正確ではない。第2の設計は、それぞれ、内部ファクタN、L、J、H、G、I、K、Mに対する値6、11、21、27、34、38、42および43で構成され、これらの値は6ビット近似を生じる。残りの内部ファクタのすべてを、第1の設計について上記で指定したものと同じままにすると、16点DCT係数行列は以下の表11に記載するものとなる。
Figure 2013502626
上記の右シフトの導入後、ファクタA〜Nは以下の表12に記載するものとなる。
Figure 2013502626
これらのシフトが導入されると、表11で指定された行列は、以下の表13に記載するものとなる。
Figure 2013502626
表13を参照すると、すべてのファクタが[−1...1]の範囲内にある。スケールファクタの対角行列Sの値は以下の値になる。
Figure 2013502626
これは、4による乗算および浮動小数点値への変換の後、以下の値にほぼ等しい。
[1., 2.084679494, 1.403292831, 1.864594024, 1.264911064, 1.864594024, 1.984555754, 1.474091007, 1., 1.474091007, 1.984555754, 1.864594024, 1.264911064, 1.864594024, 1.403292831, 2.084679494]
第3の設計は、第2の設計のために構成されたものと同じ内部ファクタN、L、J、H、G、I、K、Mの値、すなわち、この例では6ビット近似値を含む。これらの値を変更する代わりに、第3の設計は、内部ファクタAおよびBに対する2および5の値ならびに内部ファクタC〜Fに対する19、4、16および11の値を含む。内部ファクタのこれらの値セットを用いて、以下の表14に記載する変換行列が生成される。
Figure 2013502626
上記の右シフトの導入後、ファクタA〜Nは以下の表15に記載するものとなる。
Figure 2013502626
表14に指定した行列は、これらのシフトが導入されると、以下の表16に記載するものとなる。
Figure 2013502626
表13を参照すると、すべてのファクタが[−1.25...1.25]の範囲内にある。スケールファクタの対角行列Sの値は以下の値になる。
Figure 2013502626
これは、4による乗算および浮動小数点値への変換の後、以下の値にほぼ等しい。
[1., 2.084679494, 1.648083848, 1.548461055, 1.050451463, 1.548461055, 2.330742531, 1.474091007, 1., 1.474091007, 2.330742531, 1.548461055, 1.050451463, 1.548461055, 1.648083848, 2.084679494]
実装複雑さに関して、図4A〜4Dに関して上記で説明した実装を生成する、基礎をなすファクタ化は、一定の内部ファクタA〜Nによる約72回の加算と36回の乗算とを必要とする。ただし、内部ファクタA〜Nは整数(または2進分数)であるので、これらの乗算の代わりに一連の加算とシフト演算とが使用され得る。第3の設計についてのこの乗算器なし実装の複雑さを以下の表17に記載する。
Figure 2013502626
上記の36回の乗算の代わりに、これらの38回の加算と48回のシフトとを追加すると、110回の加算と48回のシフトとの総実装複雑さになる。
第2の設計について、この乗算器なし実装の複雑さを以下の表18に要約する。
Figure 2013502626
この場合、上記の36回の乗算の代わりに32回の加算と38回のシフトとを使用した後の総複雑さは、104回の加算と38回のシフトの全体的な実装複雑さになる。
第1の設計について、この乗算器なし実装の複雑さを以下の表19に要約する。
Figure 2013502626
この場合、上記の36回の乗算の代わりに22回の加算と36回のシフトとを使用した後の総複雑さは、94回の加算と36回のシフトの全体的な実装複雑さになる。
上記の複雑さ分析を仮定すれば、第1の設計は、DCTを実行する十分な近似を与え、実行する必要がある演算が他の設計よりも少ない。第2の設計は、第1の設計に比較して、DCT近似を実行するための演算の増加が相対的に中程度で済むだけでなく、第1の設計と比較して、DCTを実行する精度が改善する。第3の設計は、3つの設計のうち最も複雑であるだけでなく、3つの設計のうち、DCTを実行する最も正確な近似を与える。これらが採用されるコンテキストに応じて、これらの潜在的な設計のうちの1つまたは複数が採用され得る。一例として効率的な電力消費を必要とするモバイルアプリケーションでは、低い実装複雑さが、概して、改善された電力効率につながることを考慮して、第1の設計が採用され得る。電力効率にあまり関係しないデバイスでは、第2の設計は、実装複雑さに対する、精度に関するパフォーマンスの十分なバランスを与え得る。より高レベルの精度を必要とする場合、3つの設計のうち、DCTを近似することに関して最も正確な近似を与えるために、第3の設計が採用され得る。
図4の例ではDCT−IIユニットに関して説明したが、このDCT−IIユニットは、本開示の技法に従って構築されたIDCTをも表し得る。図4の例に示した実装から逆DCTを形成することは、図4の右側で実装によって入力が受信され、実装の左側に出力が出力されるように、入力と出力とを逆転させることを必要とする。言い換えれば、入力が次いで出力になり、出力が入力になるように垂直軸に関して実装を反転させると、概してIDCT実装が生成される。説明を簡単にするために、またDCTからIDCTを形成することが当技術分野でよく知られていることを考慮して、これらの追加のIDCT実装は個別の図に示していない。
図5は、図2のビデオエンコーダ20などのコーディングデバイスが、本開示の技法に従って構築された16点DCT実装を適用する際の例示的な動作を示すフローチャートである。初めに、ビデオエンコーダ20は、符号化すべきビデオフレーム内の現在ビデオブロック30を受信する(90)。動き推定ユニット32は、1つまたは複数の動きベクトルを発生するためにビデオブロック30を1つまたは複数の隣接ビデオフレーム中のブロックと比較するために、動き推定を実行する(92)。隣接する1つまたは複数のフレームは、メモリ34から取り出され得る。動き推定は、可変サイズ、たとえば、16×16、16×8、8×16、8×8、4×4またはより小さいブロックサイズのブロックに対して実行され得る。動き推定ユニット32は、たとえば、レートひずみモデルに基づいて現在ビデオブロック30に最もぴったり一致する隣接フレーム中の1つまたは複数のブロックを識別し、隣接フレーム中のブロックと現在ビデオブロックとの間の変位を判断する。これに基づいて、動き推定ユニット32は、現在ビデオブロック30と、現在ビデオブロック30をコーディングするために使用される参照フレームからの1つまたは複数の一致するブロックとの間の変位の大きさおよび軌道を示す、1つまたは複数の動きベクトル(MV)を生成する。一致する1つまたは複数のブロックは、コーディングすべきブロックのインターコーディングのための予測(または予測)ブロックとして働くことになる。
動きベクトルは、ハーフもしくはクォータピクセル精度、またはさらにより微細な精度を有し得、それによりビデオエンコーダ20は、整数ピクセルロケーションよりも高い精度で動きを追跡し、より良い予測ブロックを取得することが可能になる。端数のピクセル値をもつ動きベクトルを使用するとき、動き補償ユニット36中で補間演算が実行される。動き推定ユニット32は、レートひずみモデルなど、いくつかの基準を使用して、ビデオブロックについての最良のブロック区分および1つまたは複数の動きベクトルを識別する。たとえば、双方向予測の場合、複数の動きベクトルがあり得る。得られたブロック区分および動きベクトルを使用して、動き補償ユニット36は予測ビデオブロックを形成する(94)。
ビデオエンコーダ20は、加算器48において、元の現在ビデオブロック30から、動き補償ユニット36によって生成された予測ビデオブロックを減算することによって残差ビデオブロックを形成する(96)。ブロック変換ユニット38は、残差変換ブロック係数を生成する変換を適用する。ブロック変換ユニット38は、本開示で説明する技法に従って構成された16点DCT−IIユニット52を含む。ブロック変換ユニット38は、所与のサイズの1つまたは複数のDCT−IIを残差ブロックに適用して、上述の方法で残差変換係数の対応するサイズのブロックを生成するために、スケーリングされた16点DCT−IIユニット52を呼び出す。図4A〜図4Dの例を参照すると、16点DCT−IIユニット52は、4点DCT−IIをデータの異なる4×4残差ブロックに同時に適用するために、4点DCT−IIユニット76のうちの1つまたは複数を呼び出し得る。代替的に、16点DCT−IIユニット52は、8点DCT−IIを8×8残差ブロックに適用するために、8点DCT−IIユニット72を呼び出し得る。さらに別の代替として、16点DCT−IIユニット52は、16点DCT−IIを適用して、残差データの16×16ブロックを処理するために、サブまたはネスト4点DCT−IIユニット72、8点DCT−IIユニット72、および8点DCT−IVユニット74のすべてを呼び出し得る。16点DCT−IIユニット52は、概して、残差ピクセルデータとして表される空間領域から、DCT係数として表される周波数領域に残差ブロックを変換する。このようにして、16点DCT−IIユニット52は、DCT係数を判断するために、残差データに1つまたは複数の対応するサイズのDCT−IIを適用する(98)。変換係数は、少なくとも1つのDC係数と1つまたは複数のAC係数とを含むDCT係数を備え得る。
量子化ユニット40は、ビットレートをさらに低減するために残差変換ブロック係数を量子化する(たとえば、丸める)(100)。上述のように、量子化ユニット40は、上記で対角スケールファクタ行列Sによって識別された、ファクタ化中に除去されたファクタを組み込むことによって、スケーリングされた16点DCT−IIユニット52のスケーリングされた性質を考慮する。量子化は一般に乗算を含むので、これらのファクタを量子化ユニット40に組み込むことが量子化ユニット40の実装複雑さを増加させることはない。この点において、スケーリングされた16点DCT−IIユニット52からファクタを除去することは、量子化ユニット40の実装複雑さを増加させることなしにDCT−IIユニット52の実装複雑さを減少させ得、その結果、ビデオエンコーダ20に関する実装複雑さが純減する。
エントロピーコーディングユニット46は、量子化係数をエントロピーコーディングして、ビットレートをなお一層低減する。エントロピーコーディングユニット46は、場合によってはコード化ビットストリームを生成するためにエントロピーコーディングと呼ばれる統計的ロスレスコーディングを実行する(102)。エントロピーコーディングユニット46は、量子化DCT係数の確率分布をモデル化し、モデル化された確率分布に基づいてコードブックを選択する。このコードブックを使用して、エントロピーコーディングユニット46は、量子化DCT係数を圧縮する方式で、各量子化DCT係数のためのコードを選択する。エントロピーコーディングユニット46は、メモリまたはストレージデバイスに記憶されたコード化ビットストリームおよび/またはビデオデコーダ26に送られたコード化ビットストリームとしてエントロピーコード化係数を出力する(104)。
再構成ユニット42および逆変換ユニット44は、それぞれ量子化係数を再構成し、逆変換を適用して、残差ブロックを再構成する。この場合も、逆変換ユニット44は、図3に関して以下で説明する16点DCT−IIIユニット68と同様の、16点DCT−IIユニット52の逆動作を実行する、一般にタイプIIIのDCTと呼ばれる逆DCT(IDCT)を含み得る。合計ユニット50は、再構成された残差ブロックを、動き補償ユニット36によって生成された動き補償予測ブロックに加算して、メモリ34に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックを符号化するために動き推定ユニット32および動き補償ユニット36によって使用される。
図6は、図3のビデオデコーダ26などのコーディングデバイスが、本開示の技法に従って構成された16点DCT−III実装を適用する際の例示的な動作を示すフローチャートである。ビデオデコーダ26は、ビデオエンコーダ20によって符号化された符号化ビデオビットストリームを受信する。特に、エントロピー復号ユニット54は、符号化ビデオビットストリームを受信し、そのビットストリームから、量子化残差係数および量子化パラメータ、ならびに、マクロブロックコーディングモード、および動きベクトルとブロック区分とを含み得る動き情報など、他の情報を復号する(106、108)。動き補償ユニット56は、動きベクトルと、ブロック区分と、メモリ62からの1つまたは複数の再構成された参照フレームとを受信して、予測ビデオブロックを生成する(110)。
再構成ユニット58は、量子化されたブロック係数を逆量子化、すなわち逆量子化する(112)。逆変換ユニット60は、逆変換、たとえば、逆DCTを係数に適用して残差ブロックを生成する。より詳細には、逆変換ユニット60は、スケーリングされた16点DCT−IIIユニット68を含み、逆変換ユニット60は、16点DCT−IIIユニット68を呼び出して係数を処理し、それによって残差ブロックを発生する(114)。図2に示すスケーリングされた16点DCT−IIユニット52の逆元であるスケーリングされた16点DCT−IIIユニット68は、周波数領域から空間領域に係数を変換して、上述の方法で残差ブロックを生成し得る。上記の量子化ユニット40と同様に、再構成ユニット58は、ほとんど実装複雑さの増加なしに、ファクタ化中に除去された外部ファクタを再構成プロセスに組み込むことによって、16点DCT−IIIユニット68のスケーリングされた性質を考慮する。スケーリングされた16点DCT−IIIユニット68からファクタを除去することにより、実装複雑さが低減し、その結果、ビデオデコーダ26に関する複雑さが純減し得る。
次いで、予測ビデオブロックは、加算器66によって残差ブロックと加算されて、復号ブロックを形成する(116)。復号ブロックをフィルタ処理してブロッキングアーティファクトを除去するために、デブロッキングフィルタ(図示せず)が適用され得る。フィルタ処理されたブロックは次いで参照フレームストア62に入れられ、メモリ62は、後続のビデオフレームの復号のために参照フレームを与え、また、図1のディスプレイデバイス28などのディスプレイデバイスを駆動するために復号ビデオを生成する(118)。
1つまたは複数のネスト4点DCT−IIおよびDCT−IIIとして、ならびに1つまたは複数のネスト8点DCT−IIおよびDCT−IIIを含むサイズ16のDCT−IIおよびDCT−IIIに関して上記で説明したが、本技法はこれらの特定のサイズに限定されるべきでない。代わりに、本技法は、より小さいサイズのネストDCT−IIおよびDCT−IIIを含む任意のサイズの任意のDCT−IIまたはDCT−IIIに適用し得る。したがって、本技法は、この点において、本開示で示す例に限定されるべきでない。
本開示の技法は、モバイルフォンなどのワイヤレス通信デバイスハンドセット、集積回路(IC)またはICのセット(すなわち、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。機能的態様を強調するために与えられた任意の構成要素、モジュールまたはユニットについて説明したが、異なるハードウェアユニットによる実現を必ずしも必要とするわけではない。本明細書で説明した技法は、ハードウェア、またはハードウェア、ソフトウェア、ファームウェアの任意の組合せでも実装され得る。モジュール、ユニット、または構成要素として説明した特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。場合によっては、様々な特徴は、集積回路チップまたはチップセットなどの集積回路デバイスとして実装され得る。
ソフトウェアで実装する場合、これらの技法は、プロセッサで実行されると、上記で説明した方法の1つまたは複数を実行する命令を備えるコンピュータ可読媒体によって少なくとも部分的に実現され得る。コンピュータ可読媒体は、物理的非一時的構造物であるコンピュータ可読記憶媒体を備え得、パッケージング材料を含むことがあるコンピュータプログラム製品の一部をなし得る。コンピュータ可読記憶媒体は、同期ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリ、磁気または光学データ記憶媒体などを備え得る。
コードまたは命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価の集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供され得、または複合ビデオコーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
本開示はまた、本開示で説明した技法の1つまたは複数を実装する回路を含む様々な集積回路デバイスのいずれかを企図する。そのような回路は、単一の集積回路チップ、またはいわゆるチップセット中の複数の相互運用可能な集積回路チップで提供され得る。そのような集積回路デバイスは様々な適用例において使用され得、適用例のいくつかは携帯電話ハンドセットなどのワイヤレス通信デバイスでの使用を含み得る。
本開示の様々な技法について説明した。これらおよび他の態様は以下の特許請求の範囲内に入る。
別の態様では、方法が、コーディングデバイスを用いてコンテンツデータを受信することと、コーディングデバイス内に含まれる16点逆離散コサイン変換(IDCT)ユニットを用いて、受信したコンテンツデータを周波数領域から空間領域に変換する複数のIDCTのうちの1つまたは複数を実行することとを備える。16点IDCTユニットは、サイズ8の複数のIDCTのうちの1つを実行する少なくとも1つの8点IDCTユニットと、サイズ4の複数のIDCTのうちの1つを実行する第1の4点IDCTユニットであって、少なくとも1つの8点IDCTユニットが第1の4点IDCTユニットを含む、4点IDCTユニットと、サイズ4の複数のIDCTのうちの1つを各々が実行する、第2の4点IDCTユニットと第3の4点IDCTユニットとを備える逆8点DCT−IVユニットとを含む。
再構成ユニット42および逆変換ユニット44は、それぞれ量子化係数を再構成し、逆変換を適用して、残差ブロックを再構成する。逆変換ユニット44は、図3に関して以下で説明する16点DCT−IIIユニット68と同様の、16点DCT−IIユニット52の逆動作を実行する、一般にタイプIIIのDCTと呼ばれる逆DCT(IDCT)を含む。この逆16点DCT−IIは、同じく、図3の例に示す16点DCT−IIIユニット68と実質的に同様であり得る16点DCT−IIIユニット53として示されている。合計ユニット50は、再構成された残差ブロックを、動き補償ユニット36によって生成された動き補償予測ブロックに加算して、メモリ34に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックを符号化するために動き推定ユニット32および動き補償ユニット36によって使用される。
図3は、図1のビデオデコーダ26の一例をより詳細に示すブロック図である。ビデオデコーダ26は、少なくとも部分的に、まとめて集積回路デバイスと呼ばれることがある1つまたは複数の集積回路デバイスとして形成され得る。いくつかの態様では、ビデオデコーダ26は、ワイヤレス通信デバイスハンドセットの一部を形成し得る。ビデオデコーダ26はビデオフレーム内のブロックのイントラ復号およびインター復号を実行し得る。図3に示すように、ビデオデコーダ26は、ビデオエンコーダ20によって符号化された符号化ビデオビットストリームを受信する。図3の例では、ビデオデコーダ26は、エントロピー復号ユニット54と、動き補償ユニット56と、再構成ユニット58と、逆変換ユニット60と、メモリ62とを含む。エントロピー復号ユニット54は、コーディングするのに有用なデータを取得するために、メモリ64に記憶された1つまたは複数のデータ構造にアクセスし得る。ビデオデコーダ26は、加算器66の出力をフィルタ処理するループ内またはポストループデブロッキングフィルタ(図示せず)をも含み得る。ビデオデコーダ26は加算器66をも含む。図3は、ビデオブロックのインター復号のためのビデオデコーダ26の時間的予測構成要素を示す。図3には示されていないが、ビデオデコーダ26は、いくつかのビデオブロックのイントラ復号のための空間的予測構成要素をも含み得る。
図4A〜図4Dは、16点DCT−IIユニット52の様々な態様をより詳細に示す図である。図4Aの例では、16点DCT−IIユニット52は、バタフライユニット70と、8点DCT−IIユニット72と、8点DCT−IVユニット74とを含む。8点DCT−IIユニット72は第1の4点DCT−IIユニット76Aを含み、8点DCT−IVユニット74は第2の4点DCT−IIユニット76Bと第3の4点DCT−IIユニット76Cとを含む。8点DCT−IVユニット74はまた、図4Dの例に関して以下でより詳細に説明する、ファクタ乗算ユニット78と相互加算(cross-additive)ユニット80とを含む。16点DCT−IIユニット52は、入力x0〜x15を受信し、出力X0〜X15を発生する。バタフライユニット70は、入力x0〜x15を、偶数入力x0、x2、x4、x6、x8、x10、x12、およびx14と、奇数入力x1、x3、x5、x7、x9、x11、x13、およびx15とに再構成し、さらに偶数入力に関して相互加算(cross-addition)を実行し、奇数入力に関して相互減算(cross-subtraction)を実行する。バタフライユニット70は、相互加算(cross-add)された偶数入力を8点DCT−IIユニット72に出力し、相互減算(cross-subtract)された奇数入力を8点DCT−Iユニット74に出力する。
図4Cは、8点DCT−IIユニット72をより詳細に示すブロック図である。図4Cの例では、8点DCT−IIユニット72はバタフライユニット84を含み、バタフライユニット84は、機能はバタフライユニット70および82と実質的に同様であるが、バタフライユニット84は、それぞれバタフライユニット70および82によって受信される16個および4つの入力に比較して8つの入力のみを受信することを考慮すれば、スケールは異なる。いずれの場合も、バタフライユニット84は、それの入力を偶数入力と奇数入力とに再構成しながら、また偶数出力を発生するために相互加算を実行し、奇数出力を発生するために相互減算を実行する。8点DCT−IIユニット72の、偶数入力に作用する部分は偶数部分と呼ばれ、奇数入力に作用する部分は奇数部分と呼ばれることがある。この場合の偶数部分は、図4Bの例に関して上記で説明した4点DCT−IIユニット76と実質的に同様である、ネストされた4点DCT−IIユニット76Aを備える。
表16を参照すると、すべてのファクタが[−1.25...1.25]の範囲内にある。スケールファクタの対角行列Sの値は以下の値になる。
Figure 2013502626
コードまたは命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の等価の集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供され得、または複合ビデオコーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。

Claims (53)

  1. コンテンツデータを空間領域から周波数領域に変換する、異なるサイズの複数のタイプIIの離散コサイン変換(DCT−II)を実行する16点DCT−IIユニット
    を備える装置であって、前記16点DCT−IIユニットは、
    サイズ8の前記複数のDCT−IIのうちの1つを実行する8点DCT−IIユニットと、
    サイズ4の前記複数のDCT−IIのうちの1つを実行する第1の4点DCT−IIユニットであって、前記8点DCT−IIユニットが前記第1の4点DCT−IIユニットを含む、第1の4点DCT−IIユニットと、
    サイズ4の前記複数のDCT−IIのうちの1つを各々が実行する、第2の4点DCT−IIユニットと第3の4点DCT−IIユニットとを備える8点DCT−IVユニットとを備える装置。
  2. 前記第1、第2および第3の4点DCT−IIユニットがそれぞれ、前記コンテンツデータの異なる部分を前記空間領域から前記周波数領域に変換するためにサイズ4の前記複数のDCT−IIのうちの前記1つを同時に実行する、請求項1に記載の装置。
  3. 前記少なくとも1つの8点DCT−IIユニットが、前記コンテンツデータの第1の部分を前記空間領域から前記周波数領域に変換するためにサイズ8の前記複数のDCT−IIのうちの前記1つを実行し、
    前記8点DCT−IIユニットがサイズ8の前記複数のDCT−IIのうちの前記1つを実行するのと同時に、前記第2および第3の4点DCT−IIユニットがそれぞれ、前記コンテンツデータのそれぞれの第2および第3の部分を前記空間領域から前記周波数領域に変換するためにサイズ4の前記複数のDCT−IIのうちの前記1つを実行する、請求項1に記載の装置。
  4. 前記少なくとも1つの8点DCT−IIユニットが、前記コンテンツデータの第1の部分を前記空間領域から前記周波数領域に変換するためにサイズ8の前記複数のDCT−IIのうちの前記1つを実行し、
    前記8点DCT−IIユニットがサイズ8の前記複数のDCT−IIのうちの前記1つを実行するのと同時に、前記第2または第3の4点DCT−IIユニットのいずれかが、前記コンテンツデータの第2の部分を前記空間領域から前記周波数領域に変換するためにサイズ4の前記複数のDCT−IIのうちの前記1つを実行する、請求項1に記載の装置。
  5. 前記第1、第2および第3の4点DCT−IIユニットの各々が内部ファクタAおよびBを含み、
    前記8点DCT−IIユニットが内部ファクタC、D、EおよびFを含み、
    前記8点DCT−IVユニットが内部ファクタG、H、I、J、K、L、MおよびNを含み、
    内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNが、それぞれの値1、2、11、3、9、7、15、10、15、10、17、6、18および1に設定される、請求項1に記載の装置。
  6. 前記第1、第2および第3の4点DCT−IIユニットの各々が内部ファクタAおよびBを含み、
    前記8点DCT−IIユニットが内部ファクタC、D、EおよびFを含み、
    前記8点DCT−IVユニットが内部ファクタG、H、I、J、K、L、MおよびNを含み、
    前記内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNは、これらの内部ファクタが2進分数値になるように正規化され、
    前記内部ファクタAおよびBを正規化するために使用される第1の分母が2の1乗であり、
    前記内部ファクタC、D、E、およびFを正規化するために使用される第2の分母が2の2乗であり、
    前記内部ファクタG、H、I、J、K、L、MおよびNを正規化するために使用される第3の分母が2の3乗である、
    請求項1に記載の装置。
  7. 前記内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNは、これらの内部ファクタがそれぞれの値1/2、1、11/16、3/16、9/16、7/16、15/16、10/16、15/16、10/16、17/16、6/16、18/16および1/16に設定されるように正規化される、請求項6に記載の装置。
  8. 前記内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNは、これらの内部ファクタがそれぞれの値1/2、1、11/16、3/16、9/16、7/16、34/64、27/64、38/64、21/64、42/64、11/64、43/64および6/64に設定されるように正規化される、請求項6に記載の装置。
  9. 前記内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNは、これらの内部ファクタがそれぞれの値2/4、5/4、19/32、4/32、16/32、11/32、34/64、27/64、38/64、21/64、42/64、11/64、43/64および6/64に設定されるように正規化される、請求項6に記載の装置。
  10. 前記第1、第2および第3の4点DCT−IIユニットの各々が内部ファクタAおよびBを含み、
    前記8点DCT−IIユニットが内部ファクタC、D、EおよびFを含み、
    前記8点DCT−IVユニットが内部ファクタG、H、I、J、K、L、MおよびNを含み、
    内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNが、それぞれの値1、2、11、3、9、7、34、27、38、21、42、11、43および6に設定される、請求項1に記載の装置。
  11. 前記第1、第2および第3の4点DCT−IIユニットの各々が内部ファクタAおよびBを含み、
    前記8点DCT−IIユニットが内部ファクタC、D、EおよびFを含み、
    前記8点DCT−IVユニットが内部ファクタG、H、I、J、K、L、MおよびNを含み、
    内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNが、それぞれの値2、5、19、4、16、11、34、27、38、21、42、11、43および6に設定される、請求項1に記載の装置。
  12. 前記16点DCT−IIユニットが、前記コンテンツデータを前記空間領域から前記周波数領域に変換するためにサイズ16の前記複数のDCT−IIのうちの1つを実行する、請求項1に記載の装置。
  13. 前記16点DCT−IIが、前記コンテンツデータを前記空間領域から前記周波数領域に変換し、スケーリングされたDCT係数を出力する、異なるサイズの複数のスケーリングされたDCT−IIを実行するスケーリングされた16点DCT−IIを備え、
    前記装置が、量子化された完全なDCT係数を発生するように前記スケーリングされたDCT係数にスケールファクタを適用する量子化ユニットをさらに備える、請求項1に記載の装置。
  14. 前記装置がマルチメディアコーディングデバイスを備え、
    前記コンテンツデータが、ビデオデータ、画像データおよびオーディオデータのうちの1つまたは複数を含む、請求項1に記載の装置。
  15. 前記装置がハンドセットを備える、請求項1に記載の装置。
  16. 前記16点DCT−IIユニットが、異なるサイズの2次元DCT−IIを実装するように異なるサイズの前記複数のDCT−IIのうちの2つ以上を実行し、前記異なるサイズが、16×16、16×8、8×16、8×8、8×4、4×8および4×4を含む、請求項1に記載の装置。
  17. コーディングデバイスを用いてコンテンツデータを受信することと、
    前記コーディングデバイス内に含まれる16点タイプIIの離散コサイン変換(DCT−II)ユニットを用いて、前記受信したコンテンツデータを空間領域から周波数領域に変換する複数のDCT−IIのうちの1つまたは複数を実行することとを備える方法であって、前記16点DCT−IIユニットは、
    サイズ8の前記複数のDCT−IIのうちの1つを実行するための少なくとも1つの8点DCT−IIユニットと、
    サイズ4の前記複数のスケーリングされたDCT−IIのうちの1つを実行するための第1の4点DCT−IIユニットと、
    サイズ4の前記複数のスケーリングされたDCT−IIのうちの1つを各々が実行する、第2の4点DCT−IIユニットと第3の4点DCT−IIユニットとを備える8点DCT−IVユニットとを備える方法。
  18. 前記第1、第2および第3の4点DCT−IIユニットを用いて、前記コンテンツデータの異なる部分を前記空間領域から前記周波数領域に変換するためにサイズ4の前記複数のDCT−IIのうちの前記1つを同時に実行することをさらに備える、請求項17に記載の方法。
  19. 前記少なくとも1つの8点DCT−IIユニットを用いて、前記コンテンツデータの第1の部分を前記空間領域から前記周波数領域に変換するためにサイズ8の前記複数のDCT−IIのうちの前記1つを実行することと、
    前記8点DCT−IIユニットがサイズ8の前記複数のDCT−IIのうちの前記1つを実行するのと同時に、前記第2および第3の4点DCT−IIユニットの各々を用いて、前記コンテンツデータのそれぞれの第2および第3の部分を前記空間領域から前記周波数領域に変換するためにサイズ4の前記複数のDCT−IIのうちの前記1つを実行することとをさらに備える、請求項17に記載の方法。
  20. 前記少なくとも1つの8点DCT−IIユニットを用いて、前記コンテンツデータの第1の部分を前記空間領域から前記周波数領域に変換するためにサイズ8の前記複数のDCT−IIのうちの前記1つを実行することと、
    前記8点DCT−IIユニットがサイズ8の前記複数のDCT−IIのうちの前記1つを実行するのと同時に、前記第2または第3の4点DCT−IIユニットのいずれかを用いて、前記コンテンツデータの第2の部分を前記空間領域から前記周波数領域に変換するためにサイズ4の前記複数のDCT−IIのうちの前記1つを実行することとをさらに備える、請求項17に記載の方法。
  21. 前記第1、第2および第3の4点DCT−IIユニットの各々が内部ファクタAおよびBを含み、
    前記8点DCT−IIユニットが内部ファクタC、D、EおよびFを含み、
    前記8点DCT−IVユニットが内部ファクタG、H、I、J、K、L、MおよびNを含み、
    内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNが、それぞれの値1、2、11、3、9、7、15、10、15、10、17、6、18および1に設定される、
    請求項17に記載の方法。
  22. 前記第1、第2および第3の4点DCT−IIユニットの各々が内部ファクタAおよびBを含み、
    前記8点DCT−IIユニットが内部ファクタC、D、EおよびFを含み、
    前記8点DCT−IVユニットが内部ファクタG、H、I、J、K、L、MおよびNを含み、
    前記内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNは、これらの内部ファクタが2進分数値になるように正規化され、
    前記内部ファクタAおよびBを正規化するために使用される第1の分母が2の1乗であり、
    前記内部ファクタC、D、E、およびFを正規化するために使用される第2の分母が2の2乗であり、
    前記内部ファクタG、H、I、J、K、L、MおよびNを正規化するために使用される第3の分母が2の3乗である、請求項17に記載の方法。
  23. 前記内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNは、これらの内部ファクタがそれぞれの値1/2、1、11/16、3/16、9/16、7/16、15/16、10/16、15/16、10/16、17/16、6/16、18/16および1/16に設定されるように正規化される、請求項22に記載の方法。
  24. 前記内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNは、これらの内部ファクタがそれぞれの値1/2、1、11/16、3/16、9/16、7/16、34/64、27/64、38/64、21/64、42/64、11/64、43/64および6/64に設定されるように正規化される、請求項22に記載の方法。
  25. 前記内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNは、これらの内部ファクタがそれぞれの値2/4、5/4、19/32、4/32、16/32、11/32、34/64、27/64、38/64、21/64、42/64、11/64、43/64および6/64に設定されるように正規化される、請求項22に記載の方法。
  26. 前記第1、第2および第3の4点DCT−IIユニットの各々が内部ファクタAおよびBを含み、
    前記8点DCT−IIユニットが内部ファクタC、D、EおよびFを含み、
    前記8点DCT−IVユニットが内部ファクタG、H、I、J、K、L、MおよびNを含み、
    内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNが、それぞれの値1、2、11、3、9、7、34、27、38、21、42、11、43および6に設定される、請求項17に記載の方法。
  27. 前記第1、第2および第3の4点DCT−IIユニットの各々が内部ファクタAおよびBを含み、
    前記8点DCT−IIユニットが内部ファクタC、D、EおよびFを含み、
    前記8点DCT−IVユニットが内部ファクタG、H、I、J、K、L、MおよびNを含み、
    内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNが、それぞれの値2、5、19、4、16、11、34、27、38、21、42、11、43および6に設定される、請求項17に記載の方法。
  28. 前記16点DCT−IIユニットが、前記コンテンツデータを前記空間領域から前記周波数領域に変換するためにサイズ16の前記複数のDCT−IIのうちの1つを実行する、請求項17に記載の方法。
  29. 前記16点DCT−IIが、前記コンテンツデータを前記空間領域から前記周波数領域に変換し、スケーリングされたDCT係数を出力する、異なるサイズの複数のスケーリングされたDCT−IIを実行するスケーリングされた16点DCT−IIを備え、
    前記方法が、量子化ユニットを用いて、量子化された完全なDCT係数を発生するように前記スケーリングされたDCT係数にスケールファクタを適用することをさらに備える、請求項17に記載の方法。
  30. 前記方法がマルチメディアコーディングデバイス内で実行され、
    前記コンテンツデータが、ビデオデータ、画像データおよびオーディオデータのうちの1つまたは複数を含む、請求項17に記載の方法。
  31. 前記方法がハンドセット内で実行される、請求項17に記載の方法。
  32. 異なるサイズの2次元DCT−IIを実装するように異なるサイズの前記複数のDCT−IIのうちの2つ以上を実行することをさらに備え、前記異なるサイズが、16×16、16×8、8×16、8×8、8×4、4×8および4×4を含む、請求項17に記載の方法。
  33. コーディングデバイスを用いてコンテンツデータを受信することと、
    前記コーディングデバイス内に含まれる16点タイプIIの離散コサイン変換(DCT−II)ユニットを用いて、前記受信したコンテンツデータを空間領域から周波数領域に変換する複数のDCT−IIのうちの1つまたは複数を実行することと
    をプロセッサに行わせる命令を備える非一時的コンピュータ可読記憶媒体であって、前記16点DCT−IIユニットは、
    サイズ8の前記複数のDCT−IIのうちの1つを実行するための少なくとも1つの8点DCT−IIユニットと、
    サイズ4の前記複数のスケーリングされたDCT−IIのうちの1つを実行するための第1の4点DCT−IIユニットと、
    サイズ4の前記複数のスケーリングされたDCT−IIのうちの1つを各々が実行する、第2の4点DCT−IIユニットと第3の4点DCT−IIユニットとを備える8点DCT−IVユニットとを備える、非一時的コンピュータ可読記憶媒体。
  34. 前記命令が、前記第1、第2および第3の4点DCT−IIユニットを用いて、前記コンテンツデータの異なる部分を前記空間領域から前記周波数領域に変換するためにサイズ4の前記複数のDCT−IIのうちの前記1つを同時に実行することを前記プロセッサに行わせる、請求項33に記載の非一時的コンピュータ可読記憶媒体。
  35. 前記命令がさらに、
    前記少なくとも1つの8点DCT−IIユニットを用いて、前記コンテンツデータの第1の部分を前記空間領域から前記周波数領域に変換するためにサイズ8の前記複数のDCT−IIのうちの前記1つを実行することと、
    前記8点DCT−IIユニットがサイズ8の前記複数のDCT−IIのうちの前記1つを実行するのと同時に、前記第2および第3の4点DCT−IIユニットの各々を用いて、前記コンテンツデータのそれぞれの第2および第3の部分を前記空間領域から前記周波数領域に変換するためにサイズ4の前記複数のDCT−IIのうちの前記1つを実行することとを前記プロセッサに行わせる、請求項33に記載の非一時的コンピュータ可読記憶媒体。
  36. 前記命令がさらに、
    前記少なくとも1つの8点DCT−IIユニットを用いて、前記コンテンツデータの第1の部分を前記空間領域から前記周波数領域に変換するためにサイズ8の前記複数のDCT−IIのうちの前記1つを実行することと、
    前記8点DCT−IIユニットがサイズ8の前記複数のDCT−IIのうちの前記1つを実行するのと同時に、前記第2または第3の4点DCT−IIユニットのいずれかを用いて、前記コンテンツデータの第2の部分を前記空間領域から前記周波数領域に変換するためにサイズ4の前記複数のDCT−IIのうちの前記1つを実行することと
    を前記プロセッサに行わせる、請求項33に記載の非一時的コンピュータ可読記憶媒体。
  37. 前記命令がさらに、異なるサイズの2次元DCT−IIを実装するように異なるサイズの前記複数のDCT−IIのうちの2つ以上を実行することを前記プロセッサに行わせ、前記異なるサイズが、16×16、16×8、8×16、8×8、8×4、4×8および4×4を含む、請求項33に記載の非一時的コンピュータ可読記憶媒体。
  38. コンテンツデータを受信する手段と、
    前記受信したコンテンツデータを空間領域から周波数領域に変換する複数のタイプIIの離散コサイン変換(DCT−II)のうちの1つまたは複数を実行する手段とを備えるデバイスであって、複数のDCT−IIのうちの前記1つまたは複数を実行する前記手段は、
    サイズ8の前記複数のDCT−IIのうちの1つを実行する手段と、
    サイズ4の前記複数のスケーリングされたDCT−IIのうちの第1のDCT−IIを実行する第1の手段であって、サイズ8の前記複数のDCT−IIのうちの1つを実行する前記手段が、サイズ4の前記複数のスケーリングされたDCT−IIのうちの1つを実行する前記第1の手段を備える、実行する第1の手段と、
    サイズ4の前記複数のDCT−IIのうちの第2のDCT−IIを実行する第2の手段と、
    サイズ4の前記複数のスケーリングされたDCT−IIのうちの第3のDCT−IIを実行する第3の手段とを含む、デバイス。
  39. サイズ4の前記複数のスケーリングされたDCT−IIのうちの第1のDCT−IIを実行する前記第1の手段が、第1の4点DCT−IIユニットを備え、
    前記複数のDCT−IIのうちの1つまたは複数を実行する手段が、16点DCT−IIユニットを備え、
    サイズ4の前記複数のDCT−IIのうちの前記第2のDCT−IIを実行する前記第2の手段が、第2の4点DCT−IIユニットを含み、
    サイズ4の前記複数のDCT−IIのうちの前記第3のDCT−IIを実行する前記第3の手段が、第3の4点DCT−IIユニットを含み、
    サイズ8の前記複数のDCT−IIのうちの前記1つを実行する前記手段が、前記第1の4点DCT−IIユニットを備える8点DCT−IIユニットを含み、
    前記16点DCTユニットが8点DCT−IVユニットを含み、
    前記8点DCT−IVユニットが、前記第2の4点DCT−IIユニットと前記第3の4点DCT−IIユニットとを含む、請求項38に記載のデバイス。
  40. 前記第1、第2および第3の4点DCT−IIユニットがそれぞれ、前記コンテンツデータの異なる部分を前記空間領域から前記周波数領域に変換するためにサイズ4の前記複数のDCT−IIのうちの前記1つを同時に実行する、請求項39に記載のデバイス。
  41. 前記少なくとも1つの8点DCT−IIユニットが、前記コンテンツデータの第1の部分を前記空間領域から前記周波数領域に変換するためにサイズ8の前記複数のDCT−IIのうちの前記1つを実行し、
    前記8点DCT−IIユニットがサイズ8の前記複数のDCT−IIのうちの前記1つを実行するのと同時に、前記第2および第3の4点DCT−IIユニットがそれぞれ、前記コンテンツデータのそれぞれの第2および第3の部分を前記空間領域から前記周波数領域に変換するためにサイズ4の前記複数のDCT−IIのうちの前記1つを実行する、請求項39に記載のデバイス。
  42. 前記少なくとも1つの8点DCT−IIユニットが、前記コンテンツデータの第1の部分を前記空間領域から前記周波数領域に変換するためにサイズ8の前記複数のDCT−IIのうちの前記1つを実行し、
    前記8点DCT−IIユニットがサイズ8の前記複数のDCT−IIのうちの前記1つを実行するのと同時に、前記第2または第3の4点DCT−IIユニットのいずれかが、前記コンテンツデータの第2の部分を前記空間領域から前記周波数領域に変換するためにサイズ4の前記複数のDCT−IIのうちの前記1つを実行する、請求項39に記載のデバイス。
  43. 前記第1、第2および第3の4点DCT−IIユニットの各々が内部ファクタAおよびBを含み、
    前記8点DCT−IIユニットが内部ファクタC、D、EおよびFを含み、
    前記8点DCT−IVユニットが内部ファクタG、H、I、J、K、L、MおよびNを含み、
    内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNが、それぞれの値1、2、11、3、9、7、15、10、15、10、17、6、18および1に設定される、請求項39に記載のデバイス。
  44. 前記第1、第2および第3の4点DCT−IIユニットの各々が内部ファクタAおよびBを含み、
    前記8点DCT−IIユニットが内部ファクタC、D、EおよびFを含み、
    前記8点DCT−IVユニットが内部ファクタG、H、I、J、K、L、MおよびNを含み、
    前記内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNは、これらの内部ファクタが2進分数値になるように正規化され、
    前記内部ファクタAおよびBを正規化するために使用される第1の分母が2の1乗であり、
    前記内部ファクタC、D、E、およびFを正規化するために使用される第2の分母が2の2乗であり、
    前記内部ファクタG、H、I、J、K、L、MおよびNを正規化するために使用される第3の分母が2の3乗である、請求項39に記載のデバイス。
  45. 前記内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNは、これらの内部ファクタがそれぞれの値1/2、1、11/16、3/16、9/16、7/16、15/16、10/16、15/16、10/16、17/16、6/16、18/16および1/16に設定されるように正規化される、請求項44に記載のデバイス。
  46. 前記内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNは、これらの内部ファクタがそれぞれの値1/2、1、11/16、3/16、9/16、7/16、34/64、27/64、38/64、21/64、42/64、11/64、43/64および6/64に設定されるように正規化される、請求項44に記載のデバイス。
  47. 前記内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNは、これらの内部ファクタがそれぞれの値2/4、5/4、19/32、4/32、16/32、11/32、34/64、27/64、38/64、21/64、42/64、11/64、43/64および6/64に設定されるように正規化される、請求項44に記載のデバイス。
  48. 前記第1、第2および第3の4点DCT−IIユニットの各々が内部ファクタAおよびBを含み、
    前記8点DCT−IIユニットが内部ファクタC、D、EおよびFを含み、
    前記8点DCT−IVユニットが内部ファクタG、H、I、J、K、L、MおよびNを含み、
    内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNが、それぞれの値1、2、11、3、9、7、34、27、38、21、42、11、43および6に設定される、請求項39に記載のデバイス。
  49. 前記第1、第2および第3の4点DCT−IIユニットの各々が内部ファクタAおよびBを含み、
    前記8点DCT−IIユニットが内部ファクタC、D、EおよびFを含み、
    前記8点DCT−IVユニットが内部ファクタG、H、I、J、K、L、MおよびNを含み、
    内部ファクタA、B、C、D、E、F、G、H、I、J、K、L、MおよびNが、それぞれの値2、5、19、4、16、11、34、27、38、21、42、11、43および6に設定される、請求項39に記載のデバイス。
  50. 複数のDCT−IIのうちの1つまたは複数を実行する手段が、前記コンテンツデータを前記空間領域から前記周波数領域に変換するためにサイズ16の前記複数のDCT−IIのうちの1つを実行する、請求項38に記載のデバイス。
  51. 複数のDCT−IIのうちの1つまたは複数を実行する手段が、前記コンテンツデータを前記空間領域から前記周波数領域に変換し、スケーリングされたDCT係数を出力する、異なるサイズの複数のスケーリングされたDCT−IIを実行する手段を含み、
    前記デバイスが、量子化された完全なDCT係数を発生するように前記スケーリングされたDCT係数にスケールファクタを適用する手段をさらに備える、請求項38に記載のデバイス。
  52. 前記デバイスがマルチメディアコーディングデバイスを備え、
    前記コンテンツデータが、ビデオデータ、画像データおよびオーディオデータのうちの1つまたは複数を含む、請求項38に記載のデバイス。
  53. 前記デバイスがハンドセットを備える、請求項38に記載のデバイス。
JP2012517700A 2009-06-24 2010-06-23 メディアデータコーディングのための16点変換 Pending JP2013502626A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US21988509P 2009-06-24 2009-06-24
US12/820,357 US9075757B2 (en) 2009-06-24 2010-06-22 16-point transform for media data coding
PCT/US2010/039692 WO2011005583A2 (en) 2009-06-24 2010-06-23 16-point transform for media data coding

Publications (1)

Publication Number Publication Date
JP2013502626A true JP2013502626A (ja) 2013-01-24

Family

ID=43429785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012517700A Pending JP2013502626A (ja) 2009-06-24 2010-06-23 メディアデータコーディングのための16点変換

Country Status (8)

Country Link
US (1) US9075757B2 (ja)
EP (1) EP2446374B1 (ja)
JP (1) JP2013502626A (ja)
KR (1) KR101315565B1 (ja)
CN (1) CN102804171B (ja)
BR (1) BRPI1013293A2 (ja)
TW (1) TW201108745A (ja)
WO (1) WO2011005583A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019515552A (ja) * 2016-04-26 2019-06-06 ベー−コムB Com デジタル画像のデコーディング方法、コーディング方法、装置および付随するコンピュータプログラム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9110849B2 (en) * 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US9069713B2 (en) * 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
US8762441B2 (en) * 2009-06-05 2014-06-24 Qualcomm Incorporated 4X4 transform for media coding
US9075757B2 (en) 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
US9081733B2 (en) * 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding
US9118898B2 (en) * 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
US8451904B2 (en) 2009-06-24 2013-05-28 Qualcomm Incorporated 8-point transform for media data coding
US9824066B2 (en) * 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding
US10642921B2 (en) 2011-11-03 2020-05-05 Texas Instruments Incorporated Unified forward and inverse transform architecture
TWI443527B (zh) * 2012-01-02 2014-07-01 Univ Nat Cheng Kung 遞迴式第四型離散餘弦之系統
US20150244896A1 (en) * 2014-02-26 2015-08-27 Vor Data Systems, Inc. System and method for digital signal compression
TW202147850A (zh) 2020-05-01 2021-12-16 美商Op解決方案公司 用於組合無損和有損寫碼之方法和系統
TW202324951A (zh) * 2021-12-13 2023-06-16 財團法人工業技術研究院 用於產生基於離散餘弦轉換的碼簿的方法及電子裝置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212484A (ja) * 1996-01-30 1997-08-15 Texas Instr Inc <Ti> 離散コサイン変換方法
JP2003223433A (ja) * 2002-01-31 2003-08-08 Matsushita Electric Ind Co Ltd 直交変換方法、直交変換装置、符号化方法、符号化装置、逆直交変換方法、逆直交変換装置、復号化方法、及び、復号化装置
JP2003281115A (ja) * 2001-12-28 2003-10-03 Koninkl Philips Electronics Nv 適応的データ逆変換/変換装置および方法
JP2007129731A (ja) * 2001-08-30 2007-05-24 Nokia Corp 離散余弦変換の近似と量子化ならびに逆量子化と逆離散余弦変換の近似を実行する方法

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2581463B1 (fr) * 1985-05-03 1989-09-08 Thomson Csf Dispositifs de calcul de transformees cosinus, dispositif de codage et dispositif de decodage d'images comportant de tels dispositifs de calcul
US5253055A (en) * 1992-07-02 1993-10-12 At&T Bell Laboratories Efficient frequency scalable video encoding with coefficient selection
US5408425A (en) * 1993-05-25 1995-04-18 The Aerospace Corporation Split-radix discrete cosine transform
US5508949A (en) * 1993-12-29 1996-04-16 Hewlett-Packard Company Fast subband filtering in digital signal coding
US5649077A (en) * 1994-03-30 1997-07-15 Institute Of Microelectronics, National University Of Singapore Modularized architecture for rendering scaled discrete cosine transform coefficients and inverse thereof for rapid implementation
TW284869B (ja) 1994-05-27 1996-09-01 Hitachi Ltd
JP3115199B2 (ja) * 1994-12-16 2000-12-04 松下電器産業株式会社 画像圧縮符号化装置
US5737450A (en) * 1995-05-15 1998-04-07 Polaroid Corporation Method and apparatus for fast two-dimensional cosine transform filtering
JP2778622B2 (ja) * 1995-06-06 1998-07-23 日本電気株式会社 2次元dct回路
AU9030298A (en) 1997-08-25 1999-03-16 Qualcomm Incorporated Variable block size 2-dimensional inverse discrete cosine transform engine
JP4688988B2 (ja) 1997-11-17 2011-05-25 ソニー エレクトロニクス インク ビデオデータの圧縮方法並びに装置、及び伸張方法並びに装置
US6252994B1 (en) * 1998-01-26 2001-06-26 Xerox Corporation Adaptive quantization compatible with the JPEG baseline sequential mode
US6222944B1 (en) 1998-05-07 2001-04-24 Sarnoff Corporation Down-sampling MPEG image decoder
JP2001346213A (ja) * 2000-06-02 2001-12-14 Nec Corp 離散コサイン変換装置及びその離散コサイン変換方法
AU2001234971A1 (en) * 2000-02-09 2001-08-20 T. C. Cheng Fast method for the forward and inverse mdct in audio coding
CN100429644C (zh) 2000-10-23 2008-10-29 国际商业机器公司 使用比例项、早期中止和精度细算的更快速变换
US7929610B2 (en) * 2001-03-26 2011-04-19 Sharp Kabushiki Kaisha Methods and systems for reducing blocking artifacts with reduced complexity for spatially-scalable video coding
US7366236B1 (en) * 2001-06-04 2008-04-29 Cisco Sytems Canada Co. Source adaptive system and method for 2D iDCT
US7185037B2 (en) * 2001-08-23 2007-02-27 Texas Instruments Incorporated Video block transform
WO2003019949A2 (en) 2001-08-24 2003-03-06 Koninklijke Philips Electronics N.V. Adding fields of a video frame
US6882685B2 (en) 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
KR100481067B1 (ko) * 2001-09-28 2005-04-07 브이케이 주식회사 분산 산술 처리장치 및 그를 이용한 이차원 이산여현변환 처리장치
US7088791B2 (en) 2001-10-19 2006-08-08 Texas Instruments Incorporated Systems and methods for improving FFT signal-to-noise ratio by identifying stage without bit growth
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US7007055B2 (en) * 2002-03-12 2006-02-28 Intel Corporation Method of performing NxM Discrete Cosine Transform
US7242713B2 (en) 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding
US7437394B2 (en) * 2002-06-19 2008-10-14 The Aerospace Corporation Merge and split discrete cosine block transform method
US20040136602A1 (en) * 2003-01-10 2004-07-15 Nithin Nagaraj Method and apparatus for performing non-dyadic wavelet transforms
US7412100B2 (en) * 2003-09-04 2008-08-12 Qualcomm Incorporated Apparatus and method for sub-sampling images in a transform domain
US7379500B2 (en) * 2003-09-30 2008-05-27 Microsoft Corporation Low-complexity 2-power transform for image/video compression
TWI241074B (en) 2003-11-05 2005-10-01 Bing-Fei Wu Image compression system using two-dimensional discrete wavelet transformation
TWI289992B (en) 2003-12-03 2007-11-11 Via Tech Inc Method and device for sharing MPEG frame buffers
US20050213835A1 (en) * 2004-03-18 2005-09-29 Huazhong University Of Science & Technology And Samsung Electronics Co., Ltd. Integer transform matrix selection method in video coding and related integer transform method
US8861600B2 (en) * 2004-06-18 2014-10-14 Broadcom Corporation Method and system for dynamically configurable DCT/IDCT module in a wireless handset
US7587093B2 (en) 2004-07-07 2009-09-08 Mediatek Inc. Method and apparatus for implementing DCT/IDCT based video/image processing
US7471850B2 (en) 2004-12-17 2008-12-30 Microsoft Corporation Reversible transform for lossy and lossless 2-D data compression
US7792385B2 (en) * 2005-01-25 2010-09-07 Globalfoundries Inc. Scratch pad for storing intermediate loop filter data
TW200643848A (en) 2005-06-01 2006-12-16 Wintek Corp Method and apparatus for four-color data conversion
US20070025441A1 (en) * 2005-07-28 2007-02-01 Nokia Corporation Method, module, device and system for rate control provision for video encoders capable of variable bit rate encoding
TWI280804B (en) 2005-09-26 2007-05-01 Yuh-Jue Chuang Method for splitting 8x8 DCT into four 4x4 modified DCTS used in AVC/H. 264
US7725516B2 (en) * 2005-10-05 2010-05-25 Qualcomm Incorporated Fast DCT algorithm for DSP with VLIW architecture
US20070200738A1 (en) 2005-10-12 2007-08-30 Yuriy Reznik Efficient multiplication-free computation for signal and data processing
TWI311856B (en) 2006-01-04 2009-07-01 Quanta Comp Inc Synthesis subband filtering method and apparatus
US8595281B2 (en) 2006-01-11 2013-11-26 Qualcomm Incorporated Transforms with common factors
CN100562111C (zh) 2006-03-28 2009-11-18 华为技术有限公司 离散余弦逆变换方法及其装置
US8849884B2 (en) 2006-03-29 2014-09-30 Qualcom Incorporate Transform design with scaled and non-scaled interfaces
EP1850597A1 (en) 2006-04-24 2007-10-31 Universität Dortmund Method and circuit for performing a cordic based Loeffler discrete cosine transformation (DCT), particularly for signal processing
US8699810B2 (en) 2006-06-26 2014-04-15 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
US8582663B2 (en) * 2006-08-08 2013-11-12 Core Wireless Licensing S.A.R.L. Method, device, and system for multiplexing of video streams
US8548815B2 (en) 2007-09-19 2013-10-01 Qualcomm Incorporated Efficient design of MDCT / IMDCT filterbanks for speech and audio coding applications
US8654833B2 (en) * 2007-09-26 2014-02-18 Qualcomm Incorporated Efficient transformation techniques for video coding
WO2009045683A1 (en) * 2007-09-28 2009-04-09 Athanasios Leontaris Video compression and tranmission techniques
US20090141808A1 (en) 2007-11-30 2009-06-04 Yiufai Wong System and methods for improved video decoding
US8631060B2 (en) * 2007-12-13 2014-01-14 Qualcomm Incorporated Fast algorithms for computation of 5-point DCT-II, DCT-IV, and DST-IV, and architectures
KR20090078494A (ko) * 2008-01-15 2009-07-20 삼성전자주식회사 영상 데이터의 디블록킹 필터링 방법 및 디블록킹 필터
CN101330616B (zh) 2008-07-31 2011-04-13 上海交通大学 视频解码过程中反离散余弦变换的硬件实现装置及方法
US20100172409A1 (en) * 2009-01-06 2010-07-08 Qualcom Incorporated Low-complexity transforms for data compression and decompression
US9110849B2 (en) * 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US8762441B2 (en) * 2009-06-05 2014-06-24 Qualcomm Incorporated 4X4 transform for media coding
US9069713B2 (en) * 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
US9075757B2 (en) 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
US8451904B2 (en) * 2009-06-24 2013-05-28 Qualcomm Incorporated 8-point transform for media data coding
US9081733B2 (en) * 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding
US9118898B2 (en) * 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
CN101989253B (zh) * 2009-07-31 2012-08-29 鸿富锦精密工业(深圳)有限公司 离散余弦转换电路及使用其的影像处理装置
US9824066B2 (en) * 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212484A (ja) * 1996-01-30 1997-08-15 Texas Instr Inc <Ti> 離散コサイン変換方法
JP2007129731A (ja) * 2001-08-30 2007-05-24 Nokia Corp 離散余弦変換の近似と量子化ならびに逆量子化と逆離散余弦変換の近似を実行する方法
JP2003281115A (ja) * 2001-12-28 2003-10-03 Koninkl Philips Electronics Nv 適応的データ逆変換/変換装置および方法
JP2003223433A (ja) * 2002-01-31 2003-08-08 Matsushita Electric Ind Co Ltd 直交変換方法、直交変換装置、符号化方法、符号化装置、逆直交変換方法、逆直交変換装置、復号化方法、及び、復号化装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN5012018493; JOSHI R: 'SIMPLIFIED TRANSFORMS FOR EXTENDED BLOCK SIZES' ITU-T SG16 Q6 (VCEG), DOCUMENT VCEG-AL30, 38TH VCEG MEETING [ONLINE] , 20090703 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019515552A (ja) * 2016-04-26 2019-06-06 ベー−コムB Com デジタル画像のデコーディング方法、コーディング方法、装置および付随するコンピュータプログラム

Also Published As

Publication number Publication date
WO2011005583A3 (en) 2012-05-18
KR20120040209A (ko) 2012-04-26
EP2446374B1 (en) 2019-07-24
CN102804171A (zh) 2012-11-28
US9075757B2 (en) 2015-07-07
US20110150079A1 (en) 2011-06-23
TW201108745A (en) 2011-03-01
KR101315565B1 (ko) 2013-10-10
BRPI1013293A2 (pt) 2016-03-29
WO2011005583A2 (en) 2011-01-13
EP2446374A2 (en) 2012-05-02
CN102804171B (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
KR101315629B1 (ko) 미디어 데이터 코딩을 위한 16-포인트 변환
KR101315565B1 (ko) 미디어 데이터 코딩을 위한 16-포인트 변환
JP5529257B2 (ja) 偶数サイズ離散コサイン変換の計算
JP5497164B2 (ja) メディアコード化のための4×4変換
US8718144B2 (en) 8-point transform for media data coding
US9118898B2 (en) 8-point transform for media data coding
KR101315600B1 (ko) 미디어 코딩을 위한 4×4 변환
JP2014509108A (ja) メディアデータコーディングのための32点変換

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131112

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131119

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140116

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140123

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140415