TW201301902A - 類型六及七的離散餘弦及正弦轉換之快速計算 - Google Patents
類型六及七的離散餘弦及正弦轉換之快速計算 Download PDFInfo
- Publication number
- TW201301902A TW201301902A TW101119858A TW101119858A TW201301902A TW 201301902 A TW201301902 A TW 201301902A TW 101119858 A TW101119858 A TW 101119858A TW 101119858 A TW101119858 A TW 101119858A TW 201301902 A TW201301902 A TW 201301902A
- Authority
- TW
- Taiwan
- Prior art keywords
- sequence
- type
- data
- real
- dst
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 71
- 238000013507 mapping Methods 0.000 claims abstract description 58
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 50
- 238000006243 chemical reaction Methods 0.000 claims description 162
- 238000013139 quantization Methods 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 16
- 238000003775 Density Functional Theory Methods 0.000 claims 2
- 230000008569 process Effects 0.000 abstract description 7
- 101001016186 Homo sapiens Dystonin Proteins 0.000 abstract description 5
- 101000832669 Rattus norvegicus Probable alcohol sulfotransferase Proteins 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 21
- 230000006835 compression Effects 0.000 description 20
- 238000007906 compression Methods 0.000 description 20
- 239000011159 matrix material Substances 0.000 description 19
- 238000004891 communication Methods 0.000 description 17
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 16
- 239000013598 vector Substances 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 10
- 230000007704 transition Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000013074 reference sample Substances 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0212—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- General Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本發明呈現用於實施一快速演算法之技術,該快速演算法用於實施奇數類型DCT及DST。該等技術包括藉由將該奇數類型轉換映射至離散傅立葉轉換(DFT)而對資料之任何實數值序列(例如,視訊編碼程序中之殘餘值或影像編碼程序之像素值的區塊)計算奇數類型轉換。該等技術包括實數值資料序列至待用作DFT之輸入之中間序列之間的映射。使用此中間序列,可藉由計算奇數大小之DFT而達成奇數類型轉換。可接著使用用於DFT之快速演算法,且因而,可以快速方式計算奇數類型轉換。
Description
本發明係關於影像及視訊壓縮,且更具體而言係關於在執行影像及視訊壓縮時使用之轉換。
本申請案主張以下申請案之權利:2011年6月2日申請之美國臨時申請案第61/492,759號、2011年8月19日申請之美國臨時申請案第61/525,673號及2011年9月12日申請之美國臨時申請案第61/533,662號,該等申請案之內容特此以全文引用的方式併入。
一般而言,在對影像、語音、音訊及視訊資料進行信號源編碼時使用離散正弦轉換(DST)及離散餘弦轉換(DCT)。類型II之DCT通常為用於影像及視訊壓縮之標準(諸如,聯合照相專家群(JPEG)、H.26x系列視訊編碼,及動畫專家群(MPEG)1-4標準)的核心。建議將類型1之DST作為用於視訊編碼之遞回區塊編碼技術的基礎。類型IV之DCT及類型IV之DST皆在重疊正交轉換之快速實施中發現,重疊正交轉換用於語音及音訊編碼標準(諸如,G.722.1、G.718及MPEG AAC系列)中。
經由在編碼影像、視訊、語音及音訊資料時廣泛使用類型I、II、III及IV之DCT及DST(其常被稱作「偶數」轉換),已開發用於實施此等轉換之許多不同的因數分解及快速演算法,其改良精度且促成減少之計算複雜性。然而,類型V、VI、VII及VIII之所謂的「奇數類型」DCT及
DST未廣泛用於編碼影像、視訊、語音及音訊資料之目的。出於此理由,對此等轉換之實施的開發尚不充分,從而導致實施傾向於緩慢且計算複雜之奇數轉換。
一般而言,本發明呈現用於實施一快速演算法之技術,該快速演算法用於實施奇數類型DCT及DST。該等技術包括藉由將該奇數類型轉換映射至離散傅立葉轉換(DFT)而對資料之任何實數值序列(例如,視訊編碼程序中之殘餘值或影像編碼程序之像素值的區塊)計算奇數類型轉換。該等技術包括實數值資料序列至待用作DFT之輸入之中間序列之間的映射。使用此中間序列,可藉由計算奇數大小之DFT而達成奇數類型轉換。可接著使用DFT之快速演算法,且結果,可以需要較少計算複雜性之方式計算奇數類型轉換,從而潛在地改良可執行此等奇數類型轉換之速度。
在一實施例中,本發明係針對一種用於在一視訊或影像編碼程序中計算一奇數類型離散正弦轉換(DST)或離散餘弦轉換(DCT)之方法。該方法包括:接收實數值資料之一序列,將對該序列執行一奇數類型轉換;將實數值資料之該序列映射至一中間序列;及應用該中間序列作為一離散傅立葉轉換(DFT)之一輸入以根據該奇數類型轉換產生經轉換資料。奇數類型轉換包含類型V之DST、類型V之DCT、類型VI之DST、類型VI之DCT、類型VII之DST、類型VII之DCT、類型VIII之DST及類型VIII之DCT中的一
者。
在另一實施例中,本發明係針對一種經組態以在一視訊或影像編碼程序中計算一奇數類型離散正弦轉換(DST)或離散餘弦轉換(DCT)之裝置。該裝置包括:一編碼模組,其經組態以接收實數值資料之一序列,將對該序列執行一奇數類型轉換;一映射單元,其經組態以將實數值資料之該序列映射至一中間序列;及一轉換模組,其經組態以應用該中間序列作為一離散傅立葉轉換(DFT)的一輸入以根據該奇數類型轉換產生經轉換資料。
在另一實施例中,本發明係針對一種電腦程式產品,其包含儲存有用於一器件之一處理器的指令之一電腦可讀儲存媒體,該器件經組態以在一視訊或影像編碼程序中計算一奇數類型離散正弦轉換(DST)或離散餘弦轉換(DCT)。該等指令使該處理器執行以下操作:接收實數值資料之一序列,將對該序列執行一奇數類型轉換;將實數值資料之該序列映射至一中間序列;及應用該中間序列作為一離散傅立葉轉換(DFT)之一輸入以根據該奇數類型轉換產生經轉換資料。
下文在隨附圖式及描述中闡述本發明之一或多個實施例的細節。本發明之其他特徵、目標及優勢將自描述及圖式且自申請專利範圍顯而易見。
一般而言,本發明呈現用於實施用於計算「奇數」類型轉換,且詳言之,用於計算類型VI及VII之DCT或DST之快
速演算法的技術。轉換為將原始函數(常為時域中之函數)轉換為頻域中之轉換函數的數學演算法。轉換在計算中具有許多用途,計算包括對偏微分方程式求解、執行卷積、乘以大整數、音訊之有損壓縮(例如,在MP3編碼中)、影像壓縮(例如,在JPEG編碼中)及視訊壓縮(例如,在H.264或高效視訊編碼(HEVC)標準中)。
奇數類型轉換(亦即,類型V、VII、VII及VIII之DCT及DST)傳統上尚未廣泛用於視訊及影像壓縮技術。出於某種理由,尚未開發用於實施奇數類型轉換之快速演算法。然而,類型VI之DST最近有望用於影像/視訊編碼。詳言之,類型VI之DST可作為用於殘餘信號(諸如,在視訊編碼中之預測程序(例如,框內預測或框間預測)之後產生的信號)之卡忽南-拉維(K-L)轉換(KLT)的近似而獲得。詳言之,已展示類型VI之DST在來自框內預測之殘餘值的方差結合距區塊之邊緣的距離而增加的情況下提供較好效能。另外,最近在高效視訊編碼(HEVC)標準中採納此等轉換。
本發明提議用於奇數類型轉換之快速實施的結構及技術。將大體上且參考影像及視訊編碼來描述本發明之技術。然而,應理解,本發明之快速實施技術適用於奇數類型轉換之任何用途。
本發明提議用於藉由將奇數類型轉換映射至離散傅立葉轉換(DFT)而對資料之任何實數值序列(例如,視訊編碼程序中之殘餘值或影像編碼程序之像素值的區塊)計算奇數類型轉換的技術。更具體而言,本發明提議實數值資料序
列至待用作DFT之輸入之中間序列之間的映射。使用此中間序列,可藉由計算奇數大小之DFT而達成奇數類型轉換。可使用DFT之習知上已知的快速演算法,且因而,可以快速方式計算奇數類型轉換。
以下將描述用於使用中間序列將類型VI及VII之DCT及DST映射至DFT的解決方案。首先,令x(n),n=0,...,N-1表示實數值輸入資料序列(例如,來自視訊編碼程序中之框內預測的殘餘值之序列或矩陣)。離散傅立葉轉換(DFT)及類型II、III、VI及VI之DCT/DST經由此序列如下定義:類型II之DCT/DST:
類型III之DCT/DST:
類型VI之DCT/DST:
類型VII之DCT/DST
DFT:
出於簡單起見,在此等定義中,已省略常見的正規化因數(對於類型II及III轉換為且對於類型VI及VII轉換為)。
目標為計算值X SVI (n),n=0,...,N-1,其為輸入資料序列之類型VI的DST。最初,首先考慮輸入資料序列中之值的數目(亦即,N)為偶數的狀況。作為一實例,N可表示待編碼之影像或視訊區塊的區塊大小(例如,16×16區塊)。對於具有偶數個值之輸入資料序列x(n),本發明提議至如下中間序列y(n),n=0,...,2N之映射:
在實數值資料之序列具有奇數個值(例如,奇數區塊大小)的實例中,使用用於中間序列y(n),n=0,...,2N之稍有不同的映射:
使用用於中間序列之任一映射,令Y F (k)為序列y(n)之DFT。使用中間序列y(n),類型VI之DST與DFT之間的映射
可如下展示:則:
換言之,類型VI之N點DST可映射至大小為2N+1之DFT(亦即,奇數長度之DFT)。變數Y表示由DFT計算之值的序列,而變數X表示奇數類型轉換之計算序列(在此狀況下,類型VI之DST)。更具體而言,使用中間序列y(n)之映射,類型VI之DST可在每一2k+1索引(例如,每一奇數索引)映射至大小為2N+1之DFT的虛數值。由於DFT之快速演算法及快速因數分解(例如,快速傅立葉轉換(FFT))為熟知的,因此此映射亦允許用於類型VI之DST的快速因數分解及快速演算法。可使用之快速演算法的三個實例為用於短質數長度之溫諾格雷(Winograd)演算法、Winograd傅立葉轉換演算法(WFTA)及質因數分解演算法(PFA)。長度為9之DFT的Winograd因數分解已展示執行良好。
類似於類型VI之DST,類型VI之DCT可藉由相同映射獲得且導致如下的與大小為2N+1之DFT之實數值的關係:
類型VI之N點DCT可映射至大小為2N+1之DFT(亦即,奇數長度之DFT)。更具體而言,使用中間序列y(n)之映射,類型VI之DCT可在每一2k+1索引(例如,每一奇數索引)映射至大小為2N+1之DFT的實數值。再次,由於DFT之快速演算法及快速因數分解(例如,快速傅立葉轉換(FFT))為熟
知的,因此此映射亦允許用於類型VI之DCT的快速因數分解及快速演算法。
圖1A展示類型VI之DST的實數值輸入序列x(n)至DFT之映射的概念圖。實數值序列x(n)根據上文描述之兩個映射(亦即,用於偶數序列之方程式(6a)及用於奇數序列之方程式(7a))中的一者映射至中間序列y(n)。接著應用中間序列y(n)作為2N+1點(亦即,奇數長度)DFT之輸入。2N+1點DFT之輸出由變數Y表示。如以上證明及方程式(8a)中所展示,藉由在每一奇數索引值處選擇DFT輸出Y之虛數值來獲得類型VI之N點DST。類型VI之經計算DST的值由變數X表示。
圖1B展示類型VI之DCT的實數值輸入序列x(n)至DFT之映射的概念圖。實數值序列x(n)根據上文描述之兩個映射(亦即,用於偶數序列之方程式(6a)及用於奇數序列之方程式(7a))中的一者映射至中間序列y(n)。接著應用中間序列y(n)作為2N+1點(亦即,奇數長度)DFT之輸入。2N+1點DFT之輸出由變數Y表示。如以上證明及方程式(9a)中所展示,藉由在每一奇數索引值處選擇DFT輸出Y之實數值來獲得類型VI之N點DCT。類型VI之經計算DST的值由變數X表示。
本發明已在類型VI之N點DST/DCT與2N+1點DFT之實數/虛數值之間建立等效性。為了完成轉換之建構,可選擇DFT之任何合適快速因數分解且供圖1中所展示之圖使用。快速因數分解為矩陣藉以表達為兩個或兩個以上稀疏
矩陣之乘積的方法。結果為,若原始矩陣以稀疏矩陣之乘積取代,則可快得多地計算原始矩陣與向量(另一數學實體)的乘法。快速計算得以達成,此係因為稀疏矩陣中之大部分實體為零。此等快速因數分解之實例包括用於短質數長度之Winograd演算法、Winograd傅立葉轉換演算法(WFTA)及質因數分解演算法(PFA)。
類型VII之DST/DCT為類型VI之DST/DCT的逆/轉置版本。亦即,類型VI之DST/DCT可用以將時域中之資料轉換為頻域中之經轉換資料。類型VII之DST/DCT則可用以藉由將資料自頻域轉換回至時域來反轉此程序。可藉由簡單地反轉圖1A及圖1B中所展示之映射的方向來獲得類型VII DCT及DST之快速因數分解。亦即,類型VII之DST/DCT之輸入到達圖1A及圖1B中所展示的類型VI之DST/DCT之左側,此意謂圖1A及圖1B之實例中的當前標示之輸出X0至XN-1分別變成重新標示為x0至xN-1之輸入,而當前標示之輸入x0至xN-1分別變成重新標示為X0至XN-1之輸出。當實施類型VII之DST/DCT時,處理流程則自左向右進行,此與執行類型VI之DST/DCT時之處理流程相反。
如上文所提及,奇數類型轉換之應用可具有許多用途,包括影像及視訊編碼程序中之資料的轉換。詳言之,奇數類型轉換可用於影像及視訊壓縮中。
圖2A為說明影像或視訊編碼器90之一般化實例的方塊圖。轉換模組92可用以將轉換(例如,奇數類型轉換,諸如類型VI之DCT/DST)應用於輸入資料,諸如影像之像素
或來自預測性視訊編碼程序(例如,框間預測或框內預測)的殘餘資料。轉換模組92將輸入資料自實域轉換至頻域中。此轉換通常得以進行,此係因為頻域中之大量資料具有零值或極接近零之值。因此,此資料集適用於經由延行長度編碼及/或統計無損編碼(有時稱作「熵編碼」)的進一步壓縮。舉例而言,對於較高頻率分量,來自頻域中之輸入像素的大量資料(亦即,在其經轉換之後)具有零值。此係(例如)因為影像之許多區在整個影像上具有相對均一值(例如,色度及明度值)且在像素之間不存在明顯差異。缺乏此等差異導致在轉換至頻域中時較高頻率分量中之較少非零值。
編碼器90可進一步包括用於量化經轉換資料之量化單元94。在此情況下,量化涉及將一位元深度(例如,12位元)之數位值變換為較低位元深度(例如,8位元)之數位值。位元深度減少之量常稱作量化參數。量化允許輸入資料之進一步壓縮且亦可導致頻率範圍中之小值分量量化直至零值。此導致在使用統計無損編碼時的進一步壓縮效率。經量化資料接著可藉由統計無損編碼單元96進行統計無損編碼。統計無損編碼之實例包括內容脈絡自適應性可變長度編碼(CAVLC)及內容脈絡自適應性二進位算術編碼(CABAC)。
圖2B為說明影像或視訊解碼器100之一般化實例的方塊圖。解碼器100可用以反轉由圖2A之編碼器90執行的程序且擷取原始輸入資料。解碼器100包括統計無損解碼單元
102。統計無損解碼單元102可使用對應於編碼器處使用之統計無損編碼的統計無損解碼演算法。再次,此可為CAVLC或CABAC。解碼器100可進一步包括反轉由編碼器執行之量化的反量化單元104。最後,轉換模組106應用反轉換(例如,奇數類型反轉換,諸如類型VII之DCT/DST)以恢復原始輸入資料。
圖3為說明根據本發明之實例的實例奇數類型轉換模組之方塊圖。本發明提議藉由首先將實數值資料之序列映射至中間序列及對中間序列執行DFT來計算奇數類型轉換。圖3描繪包括映射單元112及DFT單元114之奇數類型轉換模組110。實數值資料111之序列輸入至映射單元112。映射單元112將實數值資料111映射至中間序列113。對於具有偶數個值之實數值資料111的序列,映射單元112根據上文描述之方程式(6a)映射至中間序列113。對於具有奇數個值之實數值資料111的序列,映射單元112根據上文描述之方程式(7a)映射至中間序列113。
中間序列接著用作DFT單元114之輸入。DFT單元114接著可使用任何適用快速演算法(諸如,快速傅立葉轉換)來計算中間序列之DFT。在一實例中,DFT單元114可進一步經組態以選擇奇數輸出值之僅虛數部分作為類型VI之DST的輸出(參見方程式(8a))。在另一實例中,DFT單元114可進一步經組態以選擇奇數輸出值之僅實數部分作為類型VI之DST的輸出(參見方程式(9a))。在任一狀況下,使用奇數長度之DFT。
如上文所提及,本發明之用於計算奇數類型轉換之技術適用於在視訊編碼中的應用。一實例應用為將類型VI之DST用於框內預測程序中之殘餘值的轉換,以供當前正由聯合視訊編碼合作小組(JCT-VC)開發之高效視訊編碼(HEVC)標準使用。本發明之技術亦適用於其他視訊壓縮技術,諸如藉由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分及進階視訊編碼(AVC)定義之標準中描述的技術。
在HEVC中,一視訊圖框可分割為多個編碼單元。編碼單元(CU)一般指代充當各種編碼工具所應用以用於視訊壓縮之基本單元的影像區。CU通常具有指示為Y之亮度分量,及指示為U及V之兩個色度分量。取決於視訊取樣格式,U及V分量之大小在樣本數目方面可與Y分量之大小相同或不同。CU通常為正方形,且可(例如)在諸如ITU-T H.264之其他視訊編碼標準下視為類似於所謂的巨集區塊。根據正開發之HEVC標準之一些目前提議態樣的編碼將在本申請案中出於說明之目的而加以描述。然而,本發明中所描述之技術可用於其他視訊編碼程序,諸如根據H.264或其他標準或專屬視訊編碼程序所定義之程序。
HEVC標準化努力係基於視訊編碼器件之模型,此模型被稱作HEVC測試模型(HM)。HM假定視訊編碼器件具有優於根據(例如)ITU-T H.264/AVC之器件的若干能力。舉例而言,H.264提供九種框內預測編碼模式,而HM提供多達三十四種框內預測編碼模式。
根據HM,CU可包括一或多個預測單元(PU)及/或一或多個轉換單元(TU)。在位元串流內之語法資料可定義最大編碼單元(LCU),就像素之數目而言,LCU為最大CU。一般而言,CU具有與H.264之巨集區塊類似之目的,除了CU不具有大小區別。因此,一CU可分裂為多個子CU。一般而言,本發明中對CU之參考可指代圖像之最大編碼單元或LCU之子CU。一LCU可分裂為多個子CU,且每一子CU可進一步分裂為多個子CU。用於位元串流之語法資料可定義LCU可分裂之最大次數,稱作CU深度。因此,位元串流亦可定義最小編碼單元(SCU)。本發明亦使用術語「區塊」或「部分」來指代CU、PU或TU中之任一者。一般而言,「區塊」或「部分」可指代視訊圖框之任何子集。
圖4為說明根據本發明之實例的實例視訊編碼及解碼系統10的方塊圖,該系統可經組態以利用供視訊編碼使用之奇數類型轉換之快速計算的技術。如圖4中所展示,系統10包括經由通信頻道16將經編碼視訊傳輸至目的地器件14之源器件12。經編碼視訊亦可儲存於儲存媒體34或檔案伺服器36上且可藉由目的地器件14按需要存取。源器件12及目的地器件14可包含廣泛多種器件中之任一者,該等器件包括桌上型電腦、筆記型(亦即,膝上型)電腦、平板型電腦、機上盒、諸如所謂的智慧型手機之電話手機、電視、相機、顯示器件、數位媒體播放器、視訊遊戲控制台或其類似者。在許多狀況下,此等器件可經配備以用於無線通信。因此,通信頻道16可包含無線頻道、有線頻道或適合
用於傳輸經編碼視訊資料之無線及有線頻道的組合。類似地,檔案伺服器36可藉由目的地器件14經由任何標準資料連接(包括網際網路連接)存取。此標準資料連接可包括無線頻道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機等)或適合用於存取儲存於檔案伺服器上之經編碼視訊資料之無線頻道與有線連接的組合。
根據本發明之實例,用於奇數類型轉換之快速計算的技術可應用於視訊編碼以支援多種多媒體應用中的任一者,諸如空中電視廣播、有線電視傳輸、衛星電視傳輸、(例如)經由網際網路之串流視訊傳輸、數位視訊之編碼以供儲存於資料儲存媒體上、儲存於資料儲存媒體上之數位視訊的解碼,或其他應用。在一些實例中,系統10可經組態以支援單向或雙向視訊傳輸以支援諸如視訊串流傳輸、視訊播放、視訊廣播及/或視訊電話之應用。
在圖4之實例中,源器件12包括視訊源18、視訊編碼器20、調變器/解調變器22及傳輸器24。在源器件12中,視訊源18可包括諸如以下各者之源:視訊俘獲器件(諸如,視訊攝影機)、含有先前俘獲之視訊的視訊存檔、自視訊內容提供者接收視訊之視訊饋送介面,及/或用於產生電腦圖形資料作為源視訊的電腦圖形系統,或此等源之組合。作為一實例,若視訊源18為視訊攝影機,則源器件12及目的地器件14可形成所謂的攝影機電話或視訊電話。然而,一般而言,本發明中所描述之技術適用於視訊編碼,且可應用於無線及/或有線應用。
所俘獲、預先俘獲或電腦產生之視訊可藉由視訊編碼器20編碼。經編碼視訊資訊可藉由數據機22根據通信標準(諸如,無線通信協定)調變,且經由傳輸器24傳輸至目的地器件14。數據機22可包括各種混頻器、濾波器、放大器或經設計以用於信號調變之其他組件。傳輸器24可包括經設計以用於傳輸資料的電路,包括放大器、濾波器及一或多個天線。
藉由視訊編碼器20編碼之所俘獲、預先俘獲或電腦產生之視訊亦可儲存至儲存媒體34或檔案伺服器36上以供稍後消耗。儲存媒體34可包括藍光光碟、DVD、CD-ROM、快閃記憶體,或用於儲存經編碼視訊之任何其他合適的數位儲存媒體。儲存於儲存媒體34上之經編碼視訊可接著藉由目的地器件14存取以用於解碼及播放。
檔案伺服器36可為能夠儲存經編碼視訊且將該經編碼視訊傳輸至目的地器件14之任何類型的伺服器。實例檔案伺服器包括web伺服器(例如,用於網站)、FTP伺服器、網路附接儲存(NAS)器件、本端磁碟機,或能夠儲存經編碼視訊資料且將其傳輸至目的地器件之任何其他類型的器件。來自檔案伺服器36之經編碼視訊資料之傳輸可為串流傳輸、下載傳輸,或兩者之組合。檔案伺服器36可藉由目的地器件14經由任何標準資料連接(包括網際網路連接)存取。此標準資料連接可包括無線頻道(例如,Wi-Fi連接)、有線連接(例如,DSL、電纜數據機、乙太網路、USB等)或適合用於存取儲存於檔案伺服器上之經編碼視訊資料之
無線頻道與有線連接的組合。
在圖4之實例中,目的地器件14包括接收器26、數據機28、視訊解碼器30及顯示器件32。目的地器件14之接收器26經由頻道16接收資訊,且數據機28解調變該資訊以產生用於視訊解碼器30之經解調變位元串流。經由頻道16傳達之資訊可包括藉由視訊編碼器20產生之多種語法資訊以供視訊解碼器30用於解碼視訊資料。此語法亦可包括於儲存於儲存媒體34或檔案伺服器36上之經編碼視訊資料中。視訊編碼器20及視訊解碼器30中之每一者可形成能夠編碼或解碼視訊資料之各別編碼器-解碼器(CODEC)的部分。
顯示器件32可與目的地器件14整合或在目的地器件14外部。在一些實例中,目的地器件14可包括整合式顯示器件且亦經組態以與外部顯示器件介接。在其他實例中,目的地器件14可為顯示器件。一般而言,顯示器件32向使用者顯示經解碼視訊資料,且可包含多種顯示器件中之任一者,諸如液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示器件。
在圖4之實例中,通信頻道16可包含任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線,或無線與有線媒體之任何組合。通信頻道16可形成基於封包之網路(諸如,區域網路、廣域網路或諸如網際網路之全球網路)的部分。通信頻道16一般表示用於將視訊資料自源器件12傳輸至目的地器件14之任何合適的通信媒體或不同通信媒體之集合,包括有線或無線媒體之任何合適組合。
通信頻道16可包括路由器、交換器、基地台,或可用於促進自源器件12至目的地器件14之通信的任何其他設備。
視訊編碼器20及視訊解碼器30可根據視訊壓縮標準(諸如,目前正在開發中之高效視訊編碼(HEVC)標準)操作,且可遵照HEVC測試模型(HM)。或者,視訊編碼器20及視訊解碼器30可根據其他專屬或工業標準(諸如,ITU-T H.264標準,或者稱作MPEG-4第10部分進階視訊編碼(AVC))或此等標準之擴展操作。然而,本發明之技術不限於任何特定編碼標準。其他實例包括MPEG-2及ITU-T H.263。
儘管未展示於圖4中,但在一些態樣中,視訊編碼器20及視訊解碼器30可各自與音訊編碼器及解碼器整合,且可包括適當的MUX-DEMUX單元或其他硬體及軟體,以處置共同資料串流或單獨資料串流中之音訊及視訊兩者的編碼。在一些實例中,若適用,則MUX-DEMUX單元可遵照ITU H.223多工器協定或諸如使用者資料報協定(UDP)之其他協定。
視訊編碼器20及視訊解碼器30各自可實施為多種合適的編碼器電路中之任一者,諸如一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。當該等技術以軟體部分地實施時,器件可將軟體指令儲存於合適的非暫時性電腦可讀媒體中且使用一或多個處理器來執行硬體中之指令以執行本發明的技術。視訊編碼
器20及視訊解碼器30中之每一者可包括於一或多個編碼器或解碼器中,其中之任一者可整合為各別器件中之組合式編碼器/解碼器(CODEC)的部分。
如將參看圖5至圖6更詳細地論述,視訊編碼器20及視訊解碼器30可利用轉換(例如,奇數類型轉換)以提供某些類型之資料的較大壓縮。詳言之,轉換常用以提供來自預測性視訊編碼程序(例如,框間預測或框內預測)之殘餘資料的較大壓縮。
視訊編碼器20可實施本發明之技術中的任一者或全部以用於視訊編碼程序中之奇數類型轉換的快速計算。同樣地,視訊解碼器30可實施此等技術中的任一者或全部以用於視訊編碼程序中之奇數類型轉換的快速計算。如本發明中所描述之視訊編碼器可指代視訊編碼器或視訊解碼器。類似地,視訊編碼單元可指代視訊編碼器或視訊解碼器。同樣地,視訊編碼可指代視訊編碼或視訊解碼。
因而,根據本發明之一實例,視訊編碼器(例如,視訊編碼器20或視訊解碼器30)可經組態以在視訊或影像編碼程序中計算奇數類型離散正弦轉換(DST)或離散餘弦轉換(DCT)。視訊編碼器包含:編碼模組,其經組態以接收實數值資料之序列,將對該序列執行奇數類型轉換;映射單元,其經組態以將實數值資料之序列映射至中間序列;及轉換模組,其經組態以應用中間序列作為離散傅立葉轉換(DFT)的輸入從而根據奇數類型轉換產生經轉換資料。奇數類型轉換包含類型V之DST、類型V之DCT、類型VI之
DST、類型VI之DCT、類型VII之DST、類型VII之DCT、類型VIII之DST及類型VIII之DCT中的一者。
圖5為可使用如本發明中描述之用於奇數類型轉換之快速計算的技術之視訊編碼器20之實例的方塊圖。出於說明之目的,將在HEVC編碼之情形下描述視訊編碼器20,但並不限制本發明使用奇數類型轉換的其他編碼標準或方法。視訊編碼器20可執行視訊圖框內之CU的框內編碼及框間編碼。框內編碼依賴於空間預測以減少或移除給定視訊圖框內之視訊的空間冗餘。框間編碼依賴於時間預測以減少或移除視訊序列之當前圖框與先前經編碼圖框之間的時間冗餘。框內模式(I模式)可指代若干基於空間之視訊壓縮模式中的任一者。諸如單向預測(P模式)或雙向預測(B模式)之框間模式可指代若干基於時間之視訊壓縮模式中的任一者。
如圖5中所展示,視訊編碼器20接收待編碼之視訊圖框內的當前視訊區塊。在圖5之實例中,視訊編碼器20包括運動補償單元44、運動估計單元42、框內預測模組46、參考圖框緩衝器64、求和器50、轉換模組52、量化單元54及熵編碼單元56。圖5中所說明之轉換模組52為將實際轉換(例如,奇數類型轉換)或轉換之組合應用於殘餘資料之區塊且不與轉換係數之區塊混淆的單元,其亦可稱作CU之轉換單元(TU)。對於視訊區塊重建構,視訊編碼器20亦包括反量化單元58、反轉換模組60及求和器62。亦可包括解區塊濾波器(圖5中未展示)以對區塊邊界濾波從而自經重建
構視訊移除方塊效應假影。若需要,則解區塊濾波器將通常對求和器62之輸出濾波。
在編碼程序期間,視訊編碼器20接收待編碼之視訊圖框或切片。可將該圖框或切片劃分為多個視訊區塊,例如,最大編碼單元(LCU)。運動估計單元42及運動補償單元44執行所接收視訊區塊相對於一或多個參考圖框中之一或多個區塊之框間預測編碼以提供時間壓縮。框內預測模組46可執行所接收視訊區塊相對於與待編碼之區塊在同一圖框或切片中的一或多個相鄰區塊的框內預測編碼以提供空間壓縮。
模式選擇單元40可(例如)基於每一模式之誤差(亦即,失真)結果來選擇編碼模式(框內或框間)中之一者,且將所得框內或框間編碼區塊提供至求和器50以產生殘餘區塊資料且提供至求和器62以重建構經編碼區塊以用於參考圖框中。一些視訊圖框可指定為I圖框,其中I圖框中之所有區塊係以框內預測模式編碼。在一些狀況下,框內預測模組46可(例如)在藉由運動估計單元42所執行之運動搜尋未導致區塊之足夠預測時執行P圖框或B圖框中之區塊的框內預測編碼。
可高度整合運動估計單元42與運動補償單元44,但出於概念性目的而單獨說明該兩個單元。運動估計為產生運動向量之程序,該等運動向量估計視訊區塊之運動。舉例而言,運動向量可指示當前圖框中之預測單元相對於參考圖框之參考樣本的位移。參考樣本可為被發現為依據像素差
而緊密匹配包括經編碼之PU的CU之部分的區塊,該像素差可藉由絕對差和(SAD)、平方差和(SSD)或其他差量度來判定。藉由運動補償單元44所執行之運動補償可涉及基於藉由運動估計所判定之運動向量而提取或產生預測單元的值。此外,在一些實例中,運動估計單元42及運動補償單元44可在功能上整合。
運動估計單元42藉由比較框間編碼圖框之預測單元與儲存於參考圖框緩衝器64中之參考圖框的參考樣本來計算該預測單元的運動向量。在一些實例中,視訊編碼器20可計算儲存於參考圖框緩衝器64中之參考圖框之子整數像素位置的值。舉例而言,視訊編碼器20可計算參考圖框之四分之一像素位置、八分之一像素位置或其他分數像素位置的值。因此,運動估計單元42可執行相對於全像素位置及分數像素位置的運動搜尋,且輸出具有分數像素精度之運動向量。運動估計單元42將經計算運動向量發送至熵編碼單元56及運動補償單元44。藉由運動向量所識別之參考圖框的部分可稱作參考樣本。運動補償單元44可(例如)藉由擷取由PU之運動向量所識別之參考樣本來計算當前CU之預測單元的預測值。
作為藉由運動估計單元42及運動補償單元44所執行之框間預測的替代方案,框內預測模組46可對所接收區塊進行框內預測編碼。框內預測模組46可相對於相鄰之先前經編碼區塊(例如,當前區塊之上方、右上方、左上方或左方之區塊)來編碼所接收區塊,假定區塊之編碼次序係自左
至右、自頂部至底部。框內預測模組46可經組態以具有多種不同的框內預測模式。舉例而言,框內預測模組46可經組態以基於經編碼之CU的大小而具有某數目個方向性預測模式(例如,33個方向性預測模式)。
框內預測模組46可藉由(例如)針對各種框內預測模式計算誤差值及選擇產生最低誤差值之模式來選擇框內預測模式。方向性預測模式可包括用於組合空間相鄰像素之值及將組合值應用於PU中之一或多個像素位置的功能。一旦已計算PU中之所有像素位置的值,框內預測模組46便可基於PU與待編碼之所接收區塊之間的像素差來計算預測模式之誤差值。框內預測模組46可繼續測試框內預測模式,直至發現產生可接受誤差值之框內預測模式為止。框內預測模組46可接著將PU發送至求和器50。
視訊編碼器20藉由自經編碼之原始視訊區塊減去藉由運動補償單元44或框內預測模組46計算之預測資料來形成殘餘區塊。求和器50表示執行此減法運算之一或多個組件。殘餘區塊可對應於像素差值之二維矩陣,其中殘餘區塊中之值的數目與對應於殘餘區塊之PU中之像素的數目相同。殘餘區塊中之值可對應於PU中與待編碼之原始區塊中的共置像素之值之間的差(亦即,誤差)。該等差可為色度差或明度差,此取決於經編碼之區塊的類型。此殘餘區塊接著可藉由轉換模組52根據本發明之技術轉換。亦即,殘餘區塊用作實數值輸入資料序列。通常,殘餘區塊具有偶數長度,但奇數長度殘餘區塊亦為可能的。
轉換模組52可自殘餘區塊形成一或多個轉換單元(TU)。轉換模組52自複數個轉換當中選擇一轉換。在一些實例中,轉換模組52可選擇根據本發明中描述之技術實施的奇數類型轉換。轉換模組52接著將一或多個選定轉換應用於TU,從而產生包含轉換係數之二維陣列的視訊區塊。詳言之,轉換模組52可經組態以按與如上文描述之圖3之奇數類型轉換模組110相同的方式應用奇數類型轉換。
轉換模組52或視訊編碼器之另一單元可用信號發送經編碼視訊位元串流中所使用的轉換以供視訊解碼器(例如,圖4中之視訊解碼器30)使用。在此情況下,用信號發送經編碼位元串流中之轉換不需要此等元素自編碼器至解碼器之即時傳輸,而是意謂將此等語法元素編碼至位元串流中且使得解碼器可以任何方式存取此等語法元素。此可包括即時傳輸(例如,在視訊會議中)以及將包括語法元素之經編碼位元串流儲存於電腦可讀媒體上以用於藉由解碼器未來使用(例如,在串流傳輸、下載、磁碟存取、卡存取、DVD、藍光等中)。
轉換模組52可將所得轉換係數發送至量化單元54。量化單元54可接著量化轉換係數。熵編碼單元56可接著根據掃描模式執行矩陣中之量化轉換係數的掃描。本發明將熵編碼單元56描述為執行掃描。然而,應理解,在其他實例中,諸如量化單元54之其他處理單元可執行掃描。
一旦將轉換係數掃描至一維陣列中,熵編碼單元56便可將熵編碼(諸如CAVLC、CABAC、基於語法之內容脈絡自
適應性二進位算術編碼(SBAC),或另一熵編碼方法)應用於係數。另外,熵編碼單元56可編碼運動向量(MV)資訊及用於在視訊解碼器30處解碼視訊資料之多種語法元素中的任一者。
為了執行CAVLC,熵編碼單元56可選擇可變長度碼以用於待傳輸之符號。VLC中之碼字可經建構,使得相對較短碼對應於較可能符號,而較長碼對應於較不可能符號。以此方式,使用VLC相比於(例如)針對待傳輸之每一符號使用相等長度碼字可達成位元節省。
為了執行CABAC,熵編碼單元56可選擇內容脈絡模型以應用於用以編碼待傳輸之符號的某一內容脈絡。內容脈絡可與(例如)相鄰值是否為非零有關。熵編碼單元56亦可熵編碼語法元素,諸如在執行適應性掃描時產生的重要係數旗標及最後係數旗標。根據本發明之技術,熵編碼單元56可基於(例如)框內預測方向、對應於語法元素之係數的掃描位置、區塊類型及/或轉換類型以及用於內容脈絡模型選擇之其他因素來選擇用以編碼此等語法元素之內容脈絡模型。
在藉由熵編碼單元56進行熵編碼之後,所得經編碼視訊可傳輸至另一器件(諸如,視訊解碼器30)或經存檔以供稍後傳輸或擷取。
反量化單元58及反轉換模組60分別應用反量化及反轉換以在像素域中重建構殘餘區塊(例如)以供稍後用作參考區塊。作為一實例,反量化單元58可應用反奇數類型轉換,
諸如類型VII之DCT或DST。運動補償單元44可藉由將殘餘區塊加至參考圖框緩衝器64之圖框中之一者的預測性區塊來計算參考區塊。運動補償單元44亦可將一或多個內插濾波器應用於經重建構殘餘區塊以計算子整數像素值以用於運動估計中。求和器62將經重建構殘餘區塊加至藉由運動補償單元44產生之運動補償預測區塊,以產生經重建構視訊區塊以用於儲存於參考圖框緩衝器64中。運動估計單元42及運動補償單元44可將經重建構視訊區塊用作參考區塊,以框間編碼後續視訊圖框中之區塊。
圖6為說明解碼經編碼視訊序列之視訊解碼器30之實例的方塊圖。在圖6之實例中,視訊解碼器30包括熵解碼單元70、運動補償單元72、框內預測模組74、反量化單元76、反轉換單元78、參考圖框緩衝器82及求和器80。在一些實例中,視訊解碼器30可執行大體上與關於視訊編碼器20(參見圖5)所描述之編碼遍次互反的解碼遍次。
熵解碼單元70對經編碼位元串流執行熵解碼程序以擷取轉換係數之一維陣列。所使用之熵解碼程序取決於由視訊編碼器20使用之熵編碼(例如,CABAC、CAVLC等)。由編碼器使用之熵編碼程序可在經編碼位元串流中用信號發送或可為預定程序。
在一些實例中,熵解碼單元70(或反量化單元76)可使用鏡像複製藉由視訊編碼器20之熵編碼單元56(或量化單元54)使用之掃描模式的掃描來掃描所接收值。儘管係數之掃描可在反量化單元76中執行,但出於說明之目的,掃描
將描述為藉由熵解碼單元70執行。另外,儘管為了易於說明而展示為單獨功能單元,但視訊解碼器30之熵解碼單元70、反量化單元76及其他單元的結構及功能性可彼此高度整合。
熵解碼單元70將掃描模式應用於轉換係數之一維陣列以產生轉換係數之二維陣列。藉由熵解碼單元70產生之轉換係數的二維陣列仍可呈量化形式且一般可匹配藉由視訊編碼器20之熵編碼單元56掃描的轉換係數之二維陣列。
反量化單元76反量化(亦即,解量化)提供於位元串流中且藉由熵解碼單元70解碼之經量化轉換係數。反量化程序可包括習知程序,例如,類似於針對HEVC所提議或藉由H.264解碼標準定義之程序。反量化程序可包括使用藉由視訊編碼器20針對CU計算之量化參數QP以判定量化程度,且同樣地,判定應應用之反量化的程度。反量化單元76可在係數自一維陣列變換為二維陣列之前抑或之後反量化轉換係數。
反轉換模組58應用反轉換,諸如奇數類型反轉換(例如,類型VII之DST或DCT)。在一些實例中,反轉換模組78可基於來自如上文所描述之視訊編碼器20的發信號或藉由自一或多個編碼特性(諸如,區塊大小、編碼模式或其類似者)推斷轉換來判定反轉換。在一些實例中,反轉換模組78可基於在包括當前區塊之LCU之四分樹的根節點處用信號發送之轉換來判定將應用於當前區塊之轉換。或者,可在LCU四分樹中之葉節點CU的TU四分樹之根處用
信號發送轉換。
運動補償單元72可基於自熵解碼單元70接收之運動向量而產生預測資料。框內預測模組74可基於用信號發送之框內預測模式及來自當前圖框之先前經解碼區塊的資料而產生當前圖框之當前區塊的預測資料。
運動補償單元72產生經運動補償之區塊,其可能基於內插濾波器而執行內插。待以子像素精度用於運動估計之內插濾波器的識別符可包括於語法元素中。運動補償單元72可在視訊區塊之編碼期間使用如藉由視訊編碼器20使用之內插濾波器來計算參考區塊之子整數像素的內插值。運動補償單元72可根據所接收語法資訊來判定藉由視訊編碼器20使用之內插濾波器,且使用該等內插濾波器來產生預測性區塊。
在HEVC實例中,運動補償單元72及框內預測模組74可使用語法資訊(例如,藉由四分樹所提供)中之一些以判定用以編碼經編碼視訊序列之(多個)圖框之LCU的大小。運動補償單元72及框內預測模組74亦可使用語法資訊以判定描述經編碼視訊序列之圖框的每一CU分裂之方式(及同樣地,子CU分裂之方式)的分裂資訊。語法資訊亦可包括指示每一分裂經編碼之方式的模式(例如,框內預測或框間預測,且對於框內預測為框內預測編碼模式)、用於每一經框間編碼PU之一或多個參考圖框(及/或含有參考圖框之識別符的參考清單)及用以解碼經編碼視訊序列之其他資訊。
求和器80組合殘餘區塊與由運動補償單元72或框內預測模組74所產生之相應預測區塊以形成經解碼區塊。若需要,則亦可應用解區塊濾波器來對經解碼區塊濾波以便移除方塊效應假影。接著將經解碼視訊區塊儲存於參考圖框緩衝器82中,參考圖框緩衝器82提供參考區塊以用於後續運動補償且亦產生經解碼視訊以用於呈現於顯示器件(諸如,圖4之顯示器件32)上。
圖7為說明用於執行奇數類型轉換之實例程序的流程圖。圖5之視訊編碼器20及/或圖6之視訊解碼器30可執行圖7之實例中說明的程序。最初,視訊編碼器20或視訊解碼器30接收實數值資料之序列(120),將對該序列執行奇數類型轉換。實數值資料之序列可為影像資料之像素。另外,實數值資料之序列可為視訊資料,諸如來自預測程序之殘餘資料(例如,視訊編碼中)或轉換係數(例如,視訊解碼中)。
接下來,視訊編碼器20或視訊解碼器30將實數值資料之序列映射至中間序列(122)。在一實例中,實數值資料之序列具有偶數個值且由x(n)表示,其中實數值資料之序列的個別值指示為x(n),其中變數n表示與實數值資料之序列之個別值相關聯的索引。中間序列由變數y指示,其中序列之個別值指示為y(n),其中變數n表示與中間序列之個別值相關聯的索引。使用方程式(6)將實數值資料之序列映射至中間序列:
對於實數值資料之序列具有奇數個值的實例,使用方程式(7)將實數值資料之實數序列映射至中間序列:
在產生中間序列之後,視訊編碼器20或視訊解碼器30應用中間序列作為離散傅立葉轉換(DFT)之輸入來根據奇數類型轉換產生經轉換資料(124)。奇數類型轉換可為類型V之DST、類型V之DCT、類型VI之DST、類型VI之DCT、類型VII之DST、類型VII之DCT、類型VIII之DST及類型VIII之DCT中的一者。作為一實例,奇數類型轉換為類型VI之DST。在此實例中,可使用中間序列y(n)將應用於實數值資料之序列的類型VI之DST表示為奇數大小之DFT的虛數值。因而,類型VI之DST可藉由下式表示:
變數Y指代藉由DFT所計算之DFT輸出值的序列。
在另一實例中,奇數類型轉換為類型VI之DCT。在此實例中,可使用中間序列y(n)將應用於實數值資料之序列的類型VI之DCT表示為奇數大小之DFT的實數值。因而,類
型VI之DCT可藉由下式表示:
快速DFT演算法可用以使用方程式(6)或(7)之上述映射來計算奇數類型轉換。在一實例中,快速演算法可為快速傅立葉轉換(FFT)。
圖8A為說明用於在視訊編碼程序中執行奇數類型轉換之實例程序的流程圖。在圖8A之實例中,視訊編碼程序為編碼程序且實數值資料之序列為來自預測性視訊編碼程序(例如,框內預測或框間預測)的殘餘資料。在一實例中,視訊編碼程序為使用類型VI之DST的框內預測程序,然而,可使用任何奇數類型轉換。因而,在此實例中,藉由圖7之程序產生的經轉換資料將為如上文參看圖5解釋之轉換係數。
在圖8A之實例中,首先藉由視訊編碼器20執行步驟120、122、124,如上文參看圖7所描述。視訊編碼器20可進一步量化經轉換資料以產生量化資料(160)且對量化資料執行統計無損編碼以產生經編碼視訊(162)。
圖8B為說明用於在視訊編碼程序中執行奇數類型轉換之實例程序的流程圖。在圖8B之實例中,視訊編碼程序為解碼程序且實數值資料之序列為如上文參看圖6解釋的轉換係數。可使用圖7之程序將轉換係數轉換為殘餘資料(亦即,圖7之經轉換資料為此實例中的殘餘資料)。因而,在圖8B之實例中,奇數類型轉換可為反轉換,諸如類型VII
之DST。然而,可使用為用以編碼視訊資料之奇數類型轉換之反轉換的任何奇數類型轉換。
圖8B展示自經編碼視訊位元串流產生實數值資料(亦即,在此實例中,轉換係數)之序列的方法。視訊解碼器30接收經編碼視訊資料(164),對該經編碼視訊資料執行統計無損解碼以產生量化資料(166),且反量化該量化資料以產生實數值資料之序列(168)。在圖8B之實例中,接著藉由視訊解碼器30執行步驟120、122、124,如上文參看圖7所描述。
以下段落展示導出上文論述之中間序列的一實例。儘管以下導出使用不同變數,但熟習此項技術者將理解以下技術可用以導出上文展示之中間序列的方式。
在下文中,將藉由字母N或M指示轉換大小,將藉由(.)及(.)指示複數之實數及虛數部分,且將藉由指示虛數單位。
將如下定義N點離散傅立葉轉換(DFT)的矩陣
類型II及III之M點DCT及DST轉換的矩陣將定義為
類型IV及VII之DCT及DST轉換的矩陣(亦稱作類型II及III之「奇數」轉換6,7)將定義為
在以上公式中,如下定義正規化常數k i 及λ i
所有此等定義為標準的,參見(例如)Britanak、Rao及Yip。8進一步遵循使長度M之DCT-VI/VII轉換與長度M-1之DST-VI/VII轉換相關聯的Wang及Hunt6之常規。將在下一章節中解釋此關聯的本質。
此等轉換之間的以下關係為熟知的:8
偶數及奇數類型之DCT及DST與DFT之間的關連
現擷取偶數及奇數類型之DCT及DST與DFT之間的兩個已知映射。6命題1:以下成立:
其中I N 及J N 對應地指示N×N單位矩陣及反序矩陣,
且其中
及
證明。Wang及Hunt6已建立類型II及IV之DST及DCT與類型II之所謂的離散W轉換之間的映射(比較[6,方程式99、100]):
藉由進一步使與DFT[6,方程式51、56]有關連:
獲得(2)及(3)。
藉由檢查第一表達式(2),注意到一對M點類型II DCT/DST轉換變得與長度為2M之DFT有關連。另一方面,在第二狀況(3)下,該對類型VI DCT/DST轉換變得映射至長度為2M-1之DFT。此映射涉及M點DCT-VI及M-1點DST-VI。藉由反轉(2)及(3)中之兩側,可獲得DFT與類型III及VII之DCT/DST轉換對之間的類似關係。此係自(1)得出
的。
亦注意,原則上,公式(2)及(3)已證明存在用於所有已提及類型之DCT及DST的快速演算法。此等演算法必須存在,此僅僅係因為存在用於DFT之快速演算法,諸如Cooley-Tukey FFT、質因數FFT、Winograd DFT演算法及其他演算法。22-26另一方面,使用映射(2)及(3)建構之此等演算法可能並非為複雜性最小的。注意,例如,除了DFT之外,根據(2)或(3)之計算亦涉及M-1平面旋轉運算(由矩陣U給出),此顯著增加負擔。
DST-VI/VII與DFT之間的直接映射
出於便利起見,現將使用N代替M-1來定義DST-VI/VII轉換之大小。以下給出建立此等轉換與DFT之間的直接映射之主要結果。
定理3.1。以下成立:
其中[F 2N+1]指示長度為2N+1之DFT的虛數部分,R為收集奇數索引輸出之N×(2N+1)矩陣:
Q為(2N+1)×N擴張矩陣
且P為如下定義之置換矩陣:
證明。令x=[x 0,…,x N-1] T 為表示輸入信號之實向量。藉由,指示應用於x之DST-VII的輸出;
亦定義中間2N+1點向量y:
且將DFT應用於向量y
現觀察奇數虛數DFT分量(k=0,...,N-1):
自映射(8),知曉y n =-y 2N+1-n 。因此(9)變為
或藉由在(10)中使用取代n'=N-n:
現假定N為偶數。類似自變數對於奇數N亦成立。寫為
其中,基於(8),第一總和(11)接收量y N+1+n =x 2n ,而第二總和(12)接收。
藉由將每一值加起來,獲得
在圖1a中展示映射(4)之流程圖。可發現,僅需要重新排序及負運算以經由DFT計算DST-VII。接下來展示DST-VII與DFT之間的兩個簡化映射,該等映射可自(4)導出。
推論1。以下成立:
其中矩陣R及P對應地如在(5)及(7)中定義,且其中Z 0 及Z 1為(2N+1)×N擴張矩陣:
下文中,將藉由字母N或M指示轉換大小,將藉由(.)及(.)指示複數之實數及虛數部分,且將藉由指示虛數單位。
將如下定義N點離散傅立葉轉換(DFT)的矩陣
類型II及III之M點DCT及DST轉換的矩陣將定義為
類型IV及VII之DCT及DST轉換的矩陣(亦稱作類型II及III之「奇數」轉換6,7)將定義為
在一或多個實例中,所描述功能可以硬體、軟體、韌體或其任何組合實施。若以軟體實施,則該等功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體進行傳輸,且藉由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體(其對應於諸如資料儲存媒體之有形媒體)或通信媒體,通信媒體包括(例如)根據通信協定促進電腦程式自一處傳送至另一處的任何媒體。以此方式,電腦可讀媒體一般可對應於(1)非暫時性的有形電腦可讀儲存媒體,或(2)諸如信號或載波之通信媒體。資料儲存媒體可為可藉由一或多個電腦或一或多個處理器存取以擷取指令、程式碼及/或資料結構以用於實施本發明所描述之技術的任何可用媒體。電腦程式產品可包括電腦可讀媒體。
藉由實例而非限制,此等電腦可讀儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存器件、快閃記憶體,或可用以儲
存呈指令或資料結構之形式之所要程式碼且可藉由電腦存取的任何其他媒體。又,將任何連接適當地稱為電腦可讀媒體。舉例而言,若使用同軸纜線、光纖纜線、雙絞線、數位用戶線(DSL)或無線技術(諸如,紅外線、無線電及微波)而自網站、伺服器或其他遠端源傳輸指令,則同軸纜線、光纖纜線、雙絞線、DSL或無線技術(諸如,紅外線、無線電及微波)包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而替代地係針對非暫時性有形儲存媒體。如本文中所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位影音光碟(DVD)、軟性磁碟及藍光光碟,其中磁碟通常以磁性方式再生資料,而光碟藉由雷射以光學方式再生資料。以上各物之組合亦應包括於電腦可讀媒體之範疇內。
可藉由諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效積體或離散邏輯電路之一或多個處理器來執行指令。因此,如本文中所使用之術語「處理器」可指代上述結構或適合於實施本文中所描述之技術的任何其他結構中之任一者。另外,在一些態樣中,可將本文所描述之功能性提供於經組態以用於編碼及解碼之專用硬體及/或軟體模組內,或併入於組合式編碼解碼器中。又,該等技術可完全實施於一或多個電路或邏輯元件中。
本發明之技術可以廣泛多種器件或裝置實施,該等器件
或裝置包括無線手機、積體電路(IC)或IC之集合(例如,晶片組)。在本發明中描述各種組件、模組或單元以強調經組態以執行所揭示技術之器件的功能態樣,但未必需要藉由不同硬體單元來實現。更確切而言,如上文所描述,各種單元可組合於編碼解碼器硬體單元中或藉由互操作性硬體單元(包括如上文所描述之一或多個處理器)之集合結合合適軟體及/或韌體而提供。
已描述各種實例。此等及其他實例在以下申請專利範圍之範疇內。
10‧‧‧視訊編碼及解碼系統
12‧‧‧源器件
14‧‧‧目的地器件
16‧‧‧通信頻道
18‧‧‧視訊源
20‧‧‧視訊編碼器
22‧‧‧調變器/解調變器/數據機
24‧‧‧傳輸器
26‧‧‧接收器
28‧‧‧數據機
30‧‧‧視訊解碼器
32‧‧‧顯示器件
34‧‧‧儲存媒體
36‧‧‧檔案伺服器
40‧‧‧模式選擇單元
42‧‧‧運動估計單元
44‧‧‧運動補償單元
46‧‧‧框內預測模組
50‧‧‧求和器
52‧‧‧轉換模組
54‧‧‧量化單元
56‧‧‧熵編碼單元
58‧‧‧反量化單元
60‧‧‧反轉換模組
62‧‧‧求和器
64‧‧‧參考圖框緩衝器
70‧‧‧熵解碼單元
72‧‧‧運動補償單元
74‧‧‧框內預測模組
76‧‧‧反量化單元
78‧‧‧反轉換單元/反轉換模組
80‧‧‧求和器
82‧‧‧參考圖框緩衝器
90‧‧‧編碼器
92‧‧‧轉換模組
94‧‧‧量化單元
96‧‧‧統計無損編碼單元
100‧‧‧解碼器
102‧‧‧統計無損解碼單元
104‧‧‧反量化單元
106‧‧‧轉換模組
110‧‧‧奇數類型轉換模組
111‧‧‧實數值資料
112‧‧‧映射單元
113‧‧‧中間序列
114‧‧‧離散傅立葉轉換(DFT)單元
圖1A為說明類型VI之DST與離散傅立葉轉換之間的實例映射之概念圖。
圖1B為說明類型VI之DCT與離散傅立葉轉換之間的實例映射之概念圖。
圖2A為說明影像或視訊編碼器之一般化實例的方塊圖。
圖2B為說明影像或視訊解碼器之一般化實例的方塊圖。
圖3為說明實例奇數類型轉換模組之方塊圖。
圖4為說明實例視訊編碼及解碼系統之方塊圖。
圖5為說明實例視訊編碼器之方塊圖。
圖6為說明實例視訊解碼器之方塊圖。
圖7為說明用於執行奇數類型轉換之實例程序的流程圖。
圖8A為說明用於在視訊編碼程序中執行奇數類型轉換之實例程序的流程圖。
圖8B為說明用於在視訊解碼程序中執行奇數類型轉換之實例程序的流程圖。
Claims (52)
- 一種用於在一視訊或影像編碼程序中計算一奇數類型離散正弦轉換(DST)或離散餘弦轉換(DCT)之方法,其包含:接收實數值資料之一序列,將對該序列執行一奇數類型轉換;將實數值資料之該序列映射至一中間序列;及應用該中間序列作為一離散傅立葉轉換(DFT)之一輸入以根據該奇數類型轉換產生經轉換資料,其中該奇數類型轉換包含類型V之一DST、類型V之一DCT、類型VI之一DST、類型VI之一DCT、類型VII之一DST、類型VII之一DCT、類型VIII之一DST及類型VIII之一DCT中的一者。
- 如請求項1之方法,其中實數值資料之該序列為影像資料之一序列。
- 如請求項2之方法,其中該奇數類型轉換為類型VI之一DST或類型VII之一DST,且其中影像資料之該序列為來自視訊編碼中之一預測程序的殘餘值之一序列。
- 如請求項3之方法,其進一步包含:量化該經轉換資料以產生量化資料;及對該量化資料執行統計無損編碼以產生經編碼視訊。
- 如請求項2之方法,其進一步包含:接收經編碼視訊資料;對該經編碼視訊資料執行統計無損編碼解碼以產生量 化資料;及反量化該量化資料以產生實數值資料之該序列,其中該奇數類型轉換為類型VI之一DST或類型VII之一DST,且其中該經轉換資料為殘餘視訊資料。
- 如請求項1之方法,其中實數值資料之該序列具有偶數個值且由x(n)表示,其中實數值資料之該序列的一個別值指示為x(n),其中變數n表示與實數值資料之該序列之該個別值相關聯的一索引;其中該中間序列由變數y指示,其中該序列之一個別值指示為y(n),其中變數n表示與該中間序列之該個別值相關聯的一索引,且其中映射實數值資料之該序列包含根據以下方程式將實數值資料之該序列x(n)映射至該中間序列y(n):
- 如請求項6之方法,其中該奇數類型轉換包含類型VI之該DST,其中應用於實數值資料之該序列的類型VI之該DST係使用該中間序列y(n)表示為奇數大小之一DFT的虛數值,類型VI之該DST係藉由 k=0,...,N-1表示,且 其中該變數Y指代藉由該DFT計算之DFT輸出值的一序列。
- 如請求項7之方法,其中應用該中間序列作為一離散傅立葉轉換(DFT)之一輸入以根據類型VI之該DST產生經轉換資料包含應用一快速DFT演算法以計算該序列 k=0,...,N-1。
- 如請求項8之方法,其中該快速演算法為一快速傅立葉轉換(FFT)演算法。
- 如請求項8之方法,其中該快速演算法為長度為9之一Winograd DFT模組。
- 如請求項6之方法,其中該奇數類型轉換為類型VI之一DCT,其中應用於實數值資料之該序列的類型VI之一DCT係使用該中間序列y(n)表示為奇數大小之一DFT的實數值,類型VI之該DCT係藉由 k=0,...,N-1表示,且其中該變數Y指代藉由該DFT計算之DFT輸出值的一序列。
- 如請求項11之方法,其中應用該中間序列作為一離散傅立葉轉換(DFT)之一輸入以根據類型VI之該DCT產生經轉換資料包含應用一快速DFT演算法以計算該序列 k=0,...,N-1。
- 如請求項1之方法,其中實數值資料之該序列具有奇數個值且由x(n)表示,其中實數值資料之該序列的一個別 值指示為x(n),其中變數n表示與實數值資料之該序列之該個別值相關聯的一索引,其中該中間序列由該變數y指示,其中該序列之一個別值指示為y(n),其中變數n表示與該中間序列之該個別值相關聯的一索引,且其中映射實數值資料之該序列包含根據以下方程式將實數值資料之該序列x(n)映射至該中間序列y(n):
- 一種經組態以在一視訊或影像編碼程序中計算一奇數類型離散正弦轉換(DST)或離散餘弦轉換(DCT)之裝置,其包含:一編碼模組,其經組態以接收實數值資料之一序列,將對該序列執行一奇數類型轉換;一映射單元,其經組態以將實數值資料之該序列映射至一中間序列;及一轉換模組,其經組態以應用該中間序列作為一離散傅立葉轉換(DFT)之一輸入以根據該奇數類型轉換產生經轉換資料,其中該奇數類型轉換包含類型V之一DST、類型V之一DCT、類型VI之一DST、類型VI之一DCT、類型VII之一DST、類型VII之一DCT、類型VIII之一DST及類型VIII之一DCT中的一者。
- 如請求項14之裝置,其中實數值資料之該序列為影像資料之一序列。
- 如請求項15之裝置,其中該奇數類型轉換為類型VI之一DST或類型VII之一DST,且其中影像資料之該序列為來自視訊編碼中之一預測程序的殘餘值之一序列。
- 如請求項16之裝置,其進一步包含:一量化單元,其經組態以量化該經轉換資料以產生量化資料;及一統計無損編碼單元,其經組態以對該量化資料進行統計無損編碼以產生經編碼視訊。
- 如請求項15之裝置,其進一步包含:一解碼單元,其經組態以接收經編碼視訊資料;一統計無損解碼單元,其經組態以對該經編碼視訊資料進行統計無損解碼以產生量化資料;及一反量化單元,其經組態以反量化該量化資料以產生實數值資料之該序列,其中該奇數類型轉換為類型VI之一DST或類型VII之一DST,且其中該經轉換資料為殘餘視訊資料。
- 如請求項14之裝置,其中實數值資料之該序列具有偶數個值且由x(n)表示,其中實數值資料之該序列的一個別值指示為x(n),其中變數n表示與實數值資料之該序列之該個別值相關聯的一索引,其中該中間序列由變數y指示,其中該序列之一個別 值指示為y(n),其中變數n表示與該中間序列之該個別值相關聯的一索引,且其中該映射單元經進一步組態以根據以下方程式將實數值資料之該序列x(n)映射至該中間序列y(n):
- 如請求項19之裝置,其中該奇數類型轉換包含類型VI之該DST,其中應用於實數值資料之該序列的類型VI之該DST係使用該中間序列y(n)表示為奇數大小之一DFT的虛數值,類型VI之該DST係藉由 k=0,...,N-1表示,且其中該變數Y指代藉由該DFT計算之DFT輸出值的一序列。
- 如請求項20之裝置,其中該轉換模組經進一步組態以應用一快速DFT演算法以計算該序列 k=0,...,N-1。
- 如請求項21之裝置,其中該快速演算法為一快速傅立葉轉換(FFT)演算法。
- 如請求項21之裝置,其中該快速演算法為長度為9之一Winograd DFT模組。
- 如請求項19之裝置, 其中該奇數類型轉換為類型VI之一DCT,其中應用於實數值資料之該序列的類型VI之一DCT係使用該中間序列y(n)表示為奇數大小之一DFT的實數值,類型VI之該DCT係藉由 k=0,...,N-1表示,且其中該變數Y指代藉由該DFT計算之DFT輸出值的一序列。
- 如請求項24之裝置,其中該轉換模組經組態以應用一快速DFT演算法以計算該序列 k=0,...,N-1。
- 如請求項14之裝置,其中實數值資料之該序列具有奇數個值且由x(n)表示,其中實數值資料之該序列的一個別值指示為x(n),其中變數n表示與實數值資料之該序列之該個別值相關聯的一索引,其中該中間序列由該變數y指示,其中該序列之一個別值指示為y(n),其中變數n表示與該中間序列之該個別值相關聯的一索引,且其中該映射單元經進一步組態以根據以下方程式將實數值資料之該序列x(n)映射至該中間序列y(n):
- 一種經組態以在一視訊或影像編碼程序中計算一奇數類 型離散正弦轉換(DST)或離散餘弦轉換(DCT)之裝置,其包含:用於接收實數值資料之一序列的構件,將對該序列執行一奇數類型轉換;用於將實數值資料之該序列映射至一中間序列的構件;及用於應用該中間序列作為一離散傅立葉轉換(DFT)之一輸入以根據該奇數類型轉換產生經轉換資料的構件,其中該奇數類型轉換包含類型V之一DST、類型V之一DCT、類型VI之一DST、類型VI之一DCT、類型VII之一DST、類型VII之一DCT、類型VIII之一DST及類型VIII之一DCT中的一者。
- 如請求項27之裝置,其中實數值資料之該序列為影像資料之一序列。
- 如請求項28之裝置,其中該奇數類型轉換為類型VI之一DST或類型VII之一DST,且其中影像資料之該序列為來自視訊編碼中之一預測程序的殘餘值之一序列。
- 如請求項29之裝置,其進一步包含:用於量化該經轉換資料以產生量化資料的構件;及用於對該量化資料進行統計無損編碼以產生經編碼視訊的構件。
- 如請求項28之裝置,其進一步包含:用於接收經編碼視訊資料的構件;用於對該經編碼視訊資料進行統計無損解碼以產生量 化資料的構件;及用於反量化該量化資料以產生實數值資料之該序列的構件,其中該奇數類型轉換為類型VI之一DST或類型VII之一DST,且其中該經轉換資料為殘餘視訊資料。
- 如請求項27之裝置,其中實數值資料之該序列具有偶數個值且由x(n)表示,其中實數值資料之該序列的一個別值指示為x(n),其中變數n表示與實數值資料之該序列之該個別值相關聯的一索引;其中該中間序列由變數y指示,其中該序列之一個別值指示為y(n),其中變數n表示與該中間序列之該個別值相關聯的一索引,且其中用於映射實數值資料之該序列的該構件包含用於根據以下方程式將實數值資料之該序列x(n)映射至該中間序列y(n)的構件:
- 如請求項32之裝置,其中該奇數類型轉換包含類型VI之該DST,其中應用於實數值資料之該序列的類型VI之該DST係使用該中間序列y(n)表示為奇數大小之一DFT的虛數值,類型VI之該DST係藉由 k=0,...,N-1 表示,且其中該變數Y指代藉由該DFT計算之DFT輸出值的一序列。
- 如請求項33之裝置,其中用於應用該中間序列作為一離散傅立葉轉換(DFT)之一輸入以根據類型VI之該DST產生經轉換資料的該構件包含用於應用一快速DFT演算法以計算該序列 k=0,...,N-1的構件。
- 如請求項34之裝置,其中該快速演算法為一快速傅立葉轉換(FFT)演算法。
- 如請求項34之裝置,其中該快速演算法為長度為9之一Winograd DFT模組。
- 如請求項32之裝置,其中該奇數類型轉換為類型VI之一DCT,其中應用於實數值資料之該序列的類型VI之一DCT係使用該中間序列y(n)表示為奇數大小之一DFT的實數值,類型VI之該DCT係藉由 k=0,...,N-1表示,且其中該變數Y指代藉由該DFT計算之DFT輸出值的一序列。
- 如請求項37之裝置,其中用於應用該中間序列作為一離散傅立葉轉換(DFT)之一輸入以根據類型VI之該DCT產生經轉換資料的該構件包含用於應用一快速DFT演算法以計算該序列 k=0,...,N-1的構件。
- 如請求項27之裝置,其中實數值資料之該序列具有奇數 個值且由x(n)表示,其中實數值資料之該序列的一個別值指示為x(n),其中變數n表示與實數值資料之該序列之該個別值相關聯的一索引,其中該中間序列由該變數y指示,其中該序列之一個別值指示為y(n),其中變數n表示與該中間序列之該個別值相關聯的一索引,且其中用於映射實數值資料之該序列的該構件包含用於根據以下方程式將實數值資料之該序列x(n)映射至該中間序列y(n)的構件:
- 一種電腦程式產品,其包含儲存有指令之一電腦可讀儲存媒體,該等指令在經執行時使經組態以在一視訊或影像編碼程序中計算一奇數類型離散正弦轉換(DST)或離散餘弦轉換(DCT)之一器件的一處理器執行以下操作:接收實數值資料之一序列,將對該序列執行一奇數類型轉換;將實數值資料之該序列映射至一中間序列;及應用該中間序列作為一離散傅立葉轉換(DFT)之一輸入以根據該奇數類型轉換產生經轉換資料,其中該奇數類型轉換包含類型V之一DST、類型V之一DCT、類型VI之一DST、類型VI之一DCT、類型VII之一DST、類型VII 之一DCT、類型VIII之一DST,及類型VIII之一DCT中的一者。
- 如請求項40之電腦程式產品,其中實數值資料之該序列為影像資料之一序列。
- 如請求項41之電腦程式產品,其中該奇數類型轉換為類型VI之一DST或類型VII之一DST,且其中影像資料之該序列為來自視訊編碼中之一預測程序的殘餘值之一序列。
- 如請求項42之電腦程式產品,其進一步包含執行以下操作之指令:量化該經轉換資料以產生量化資料;及對該量化資料進行統計無損編碼以產生經編碼視訊。
- 如請求項41之電腦程式產品,其進一步包含執行以下操作之指令:接收經編碼視訊資料;對該經編碼視訊資料進行統計無損解碼以產生量化資料;及反量化該量化資料以產生實數值資料之該序列,其中該奇數類型轉換為類型VI之一DST或類型VII之一DST,且其中該經轉換資料為殘餘視訊資料。
- 如請求項40之電腦程式產品,其中實數值資料之該序列具有偶數個值且由x(n)表示,其中實數值資料之該序列的一個別值指示為x(n),其中變數n表示與實數值資料之該序列之該個別值相關 聯的一索引,其中該中間序列由變數y指示,其中該序列之一個別值指示為y(n),其中變數n表示與該中間序列之該個別值相關聯的一索引,且其中用以將實數值資料之該序列映射至一中間序列的該等指令包含用以根據以下方程式將實數值資料之該序列x(n)映射至該中間序列y(n)的指令:
- 如請求項45之電腦程式產品,其中該奇數類型轉換包含類型VI之該DST,其中應用於實數值資料之該序列的類型VI之該DST係使用該中間序列y(n)表示為奇數大小之一DFT的虛數值,類型VI之該DST係藉由 k=0,...,N-1表示,且其中該變數Y指代藉由該DFT計算之DFT輸出值的一序列。
- 如請求項46之電腦程式產品,其進一步包含用以應用一快速DFT演算法以計算該序列 k=0,...,N-1的指令。
- 如請求項47之電腦程式產品,其中該快速演算法為一快速傅立葉轉換(FFT)演算法。
- 如請求項47之電腦程式產品,其中該快速演算法為長度為9之一Winograd DFT模組。
- 如請求項45之電腦程式產品,其中該奇數類型轉換為類型VI之一DCT,其中應用於實數值資料之該序列的類型VI之一DCT係使用該中間序列y(n)表示為奇數大小之一DFT的實數值,類型VI之該DCT係藉由 k=0,...,N-1表示,且其中該變數Y指代藉由該DFT計算之DFT輸出值的一序列。
- 如請求項49之電腦程式產品,其進一步包含用以應用一快速DFT演算法以計算該序列 k=0,...,N-1的指令。
- 如請求項40之電腦程式產品,其中實數值資料之該序列具有奇數個值且由x(n)表示,其中實數值資料之該序列的一個別值指示為x(n),其中變數n表示與實數值資料之該序列之該個別值相關聯的一索引,其中該中間序列由該變數y指示,其中該序列之一個別值指示為y(n),其中變數n表示與該中間序列之該個別值相關聯的一索引,且其中用以將實數值資料之該序列映射至一中間序列的該等指令包含用以根據以下方程式將實數值資料之該序列x(n)映射至該中間序列y(n)的指令:
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161492759P | 2011-06-02 | 2011-06-02 | |
US201161525673P | 2011-08-19 | 2011-08-19 | |
US201161533662P | 2011-09-12 | 2011-09-12 | |
US13/484,032 US20120307893A1 (en) | 2011-06-02 | 2012-05-30 | Fast computing of discrete cosine and sine transforms of types vi and vii |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201301902A true TW201301902A (zh) | 2013-01-01 |
Family
ID=46298672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101119858A TW201301902A (zh) | 2011-06-02 | 2012-06-01 | 類型六及七的離散餘弦及正弦轉換之快速計算 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120307893A1 (zh) |
TW (1) | TW201301902A (zh) |
WO (1) | WO2012166959A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106464878A (zh) * | 2014-05-14 | 2017-02-22 | 联发科技(新加坡)私人有限公司 | 数据压缩的备选转换的方法 |
TWI718625B (zh) * | 2019-08-16 | 2021-02-11 | 瑞昱半導體股份有限公司 | 應用於離散及逆離散正弦餘弦變換的運算電路 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2626014C1 (ru) * | 2011-10-19 | 2017-07-21 | Кт Корпорейшен | Способ декодирования видеосигнала |
CN107707920B (zh) * | 2012-04-16 | 2021-06-01 | 韩国电子通信研究院 | 用于解码视频信号的方法 |
US9544597B1 (en) | 2013-02-11 | 2017-01-10 | Google Inc. | Hybrid transform in video encoding and decoding |
US9967559B1 (en) | 2013-02-11 | 2018-05-08 | Google Llc | Motion vector dependent spatial transformation in video coding |
US9674530B1 (en) | 2013-04-30 | 2017-06-06 | Google Inc. | Hybrid transforms in video coding |
US9769499B2 (en) | 2015-08-11 | 2017-09-19 | Google Inc. | Super-transform video coding |
US10277905B2 (en) | 2015-09-14 | 2019-04-30 | Google Llc | Transform selection for non-baseband signal coding |
US9807423B1 (en) | 2015-11-24 | 2017-10-31 | Google Inc. | Hybrid transform scheme for video coding |
US10257394B2 (en) | 2016-02-12 | 2019-04-09 | Contrast, Inc. | Combined HDR/LDR video streaming |
US10264196B2 (en) | 2016-02-12 | 2019-04-16 | Contrast, Inc. | Systems and methods for HDR video capture with a mobile device |
US10171839B2 (en) * | 2016-03-24 | 2019-01-01 | Massachusetts Institute Of Technology | Generating transforms for compressing and decompressing visual data |
US10972733B2 (en) | 2016-07-15 | 2021-04-06 | Qualcomm Incorporated | Look-up table for enhanced multiple transform |
WO2018031441A1 (en) | 2016-08-09 | 2018-02-15 | Contrast, Inc. | Real-time hdr video for vehicle control |
US10979736B2 (en) * | 2017-06-08 | 2021-04-13 | Lg Electronics Inc. | Method and apparatus for performing low-complexity computation of transform kernel for video compression |
WO2019004749A1 (ko) * | 2017-06-28 | 2019-01-03 | 엘지전자 주식회사 | 비디오 압축을 위한 변환 커널의 저복잡도 연산을 수행하는 방법 및 장치 |
US10462486B1 (en) * | 2018-05-07 | 2019-10-29 | Tencent America, Llc | Fast method for implementing discrete sine transform type VII (DST 7) |
US10951888B2 (en) | 2018-06-04 | 2021-03-16 | Contrast, Inc. | Compressed high dynamic range video |
WO2020036957A1 (en) * | 2018-08-14 | 2020-02-20 | Contrast, Inc. | Image compression |
WO2020060832A1 (en) * | 2018-09-17 | 2020-03-26 | Interdigital Vc Holdings, Inc. | Fast implementation of odd one dimensional transforms |
WO2020117011A1 (ko) * | 2018-12-06 | 2020-06-11 | 엘지전자 주식회사 | 저복잡도를 갖는 변환을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치 |
US11122297B2 (en) | 2019-05-03 | 2021-09-14 | Google Llc | Using border-aligned block functions for image compression |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3920974A (en) * | 1974-10-15 | 1975-11-18 | Us Navy | Discrete cosine transform signal processor |
US4385363A (en) * | 1978-12-15 | 1983-05-24 | Compression Labs, Inc. | Discrete cosine transformer |
AU2001234971A1 (en) * | 2000-02-09 | 2001-08-20 | T. C. Cheng | Fast method for the forward and inverse mdct in audio coding |
US7620675B1 (en) * | 2004-09-23 | 2009-11-17 | Texas Instruments Incorporated | Image and audio transform methods |
US20080123750A1 (en) * | 2006-11-29 | 2008-05-29 | Michael Bronstein | Parallel deblocking filter for H.264 video codec |
US9342486B2 (en) * | 2008-10-03 | 2016-05-17 | Microsoft Technology Licensing, Llc | Fast computation of general fourier transforms on graphics processing units |
-
2012
- 2012-05-30 US US13/484,032 patent/US20120307893A1/en not_active Abandoned
- 2012-05-31 WO PCT/US2012/040263 patent/WO2012166959A1/en active Application Filing
- 2012-06-01 TW TW101119858A patent/TW201301902A/zh unknown
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106464878A (zh) * | 2014-05-14 | 2017-02-22 | 联发科技(新加坡)私人有限公司 | 数据压缩的备选转换的方法 |
CN106464878B (zh) * | 2014-05-14 | 2019-05-21 | 联发科技(新加坡)私人有限公司 | 数据压缩的备选转换的方法 |
US10326990B2 (en) | 2014-05-14 | 2019-06-18 | Mediatek Singapore Pte. Ltd. | Method of alternative transform for data compression |
TWI718625B (zh) * | 2019-08-16 | 2021-02-11 | 瑞昱半導體股份有限公司 | 應用於離散及逆離散正弦餘弦變換的運算電路 |
Also Published As
Publication number | Publication date |
---|---|
WO2012166959A1 (en) | 2012-12-06 |
US20120307893A1 (en) | 2012-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201301902A (zh) | 類型六及七的離散餘弦及正弦轉換之快速計算 | |
US11838548B2 (en) | Video coding using mapped transforms and scanning modes | |
CN109716772B (zh) | 用于视频译码的变换选择 | |
JP6284954B2 (ja) | イントラ予測のためのモード決定の簡略化 | |
JP6254136B2 (ja) | 統合されたマージモードおよび適応動きベクトル予測モード候補選択 | |
CN108702517B (zh) | 使用优化的紧凑多遍变换的高效变换编码 | |
JP5797774B2 (ja) | メディアデータコーディングのための32点変換 | |
TWI666916B (zh) | 在一視訊寫碼處理中之係數階寫碼 | |
JP5778299B2 (ja) | 動きベクトル予測 | |
US11647214B2 (en) | Multiple transforms adjustment stages for video coding | |
JP2017513342A (ja) | ゼロアウトされた係数を使用した低複雑な順変換のためのシステムおよび方法 | |
TW201937926A (zh) | 在視訊寫碼中用於適應性算術寫碼之機率初始化及發信號 | |
JP2014511618A (ja) | 動き予測ビデオブロックの階層 | |
CN112425164B (zh) | 多个可分离变换选择的变换变体 | |
MX2014000718A (es) | Exploracion de coeficientes en codificacion de video. | |
JP2012524330A (ja) | 偶数サイズ離散コサイン変換の計算 | |
JP6185036B2 (ja) | Vlcコードワードを使用したシンタックス要素のコーディング | |
JP2014525169A (ja) | ルーマおよびクロマブロックのためのvlc係数コーディング | |
CN110536133B (zh) | 视频数据解码方法及装置 | |
JP2017537491A (ja) | 改善された転置バッファを有するスケーラブルな変換ハードウェアアーキテクチャ | |
US20200186835A1 (en) | Computation of asymmetric transform pairs for video coding using adjustment stages and dct-2 | |
WO2017074539A1 (en) | Parallel arithmetic coding techniques | |
JP2017514353A (ja) | メッシュベースの計算を使用した低複雑な順変換のためのシステムおよび方法 | |
WO2020114356A1 (zh) | 帧间预测方法和相关装置 |