TW201313031A - 用於大色度區塊的可變長度寫碼係數寫碼 - Google Patents
用於大色度區塊的可變長度寫碼係數寫碼 Download PDFInfo
- Publication number
- TW201313031A TW201313031A TW101123630A TW101123630A TW201313031A TW 201313031 A TW201313031 A TW 201313031A TW 101123630 A TW101123630 A TW 101123630A TW 101123630 A TW101123630 A TW 101123630A TW 201313031 A TW201313031 A TW 201313031A
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- video
- vlc
- index value
- video data
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本發明描述用於寫碼一視訊資料區塊之變換係數的技術。根據此等技術,一視訊寫碼器(一視訊編碼器或視訊解碼器)判定一視訊資料區塊是一明度區塊抑或一色度區塊。若該視訊資料區塊為一明度區塊,則該視訊寫碼器基於一碼編號cn及一比例因子之值自適應性地更新一VLC表索引值。然而,若該視訊資料區塊為一色度區塊,則該視訊寫碼器基於該碼編號cn自適應性地更新該VLC表索引值且未使用該比例因子。該視訊寫碼器使用該經更新之VLC表索引值來選擇用以編碼或解碼該視訊資料區塊的複數個VLC表中之一VLC表。
Description
本發明係關於視訊寫碼及壓縮。更特定言之,本發明係針對使用可變長度寫碼(VLC)來編碼一或多個視訊資料區塊之變換係數的技術。
本申請案主張以下美國臨時申請案之優先權,該等申請案中之每一者的全部內容以引用的方式併入本文中:2011年6月29日申請之美國臨時申請案61/502,794;及2011年10月27日申請之美國臨時申請案61/552,346。
熵編碼為廣泛用於視訊寫碼中以壓縮視訊資料之方法。根據熵編碼之一些態樣,視訊編碼器掃描表示影像之像素的變換係數之二維矩陣,以產生變換係數之一維向量。在許多應用中,視訊編碼器有利地使用量化變換係數以進一步壓縮視訊資料之方法。視訊解碼器解碼視訊資料。作為解碼處理程序之部分,視訊解碼器掃描變換係數之一維向量,以重建構變換係數的二維矩陣。
一或多個實例之細節闡述於隨附圖式及以下描述中。本發明之其他特徵、目標及優點將自描述及圖式以及自申請專利範圍顯而易見。
大體而言,本發明描述用於寫碼視訊資料之技術,特定言之有關於在一視訊寫碼處理程序期間掃描變換係數的技術。在一些實例中,視訊編碼器經組態以使用可變長度碼
(VLC)來表示與在熵編碼期間所產生之經量化變換係數陣列相關聯的各種可能值。在此等情況下,該編碼處理程序之中間步驟依賴於使用儲存於記憶體中之至少一值。本發明描述用以最小化或減少所需要之記憶體資源以便實施視訊資料的VLC寫碼之方法。
一或多個實例之細節闡述於隨附圖式及以下描述中。本發明之其他特徵、目標及優點將自描述及圖式以及自申請專利範圍顯而易見。根據此等實例中之一些,針對大小大於8×8之色度區塊描述一專用寫碼方案。
一實施例包括一種方法,在該方法中藉由最初判定一視訊資料區塊是一明度區塊抑或一色度區塊來寫碼一視訊資料區塊。若該視訊資料區塊為一明度區塊,則基於一碼編號cn及一比例因子之一值兩者自適應性地更新用以自複數個VLC表選擇一VLC表的一VLC表索引值。另一方面,若該視訊資料區塊為一色度區塊,則基於該碼編號cn自適應性地更新該VLC表索引值且未使用該比例因子。
另一實施例包括可用以執行以上實例之方法或本文中所揭示之其他技術的一計算器件之一處理器,或特定言之,一編碼器或解碼器。其他實施例包括儲存用於使一處理器執行此等方法之指令的電腦可讀媒體。
一般而言,本發明描述用於寫碼視訊資料之技術。更特定言之,本發明描述有關於在視訊寫碼處理程序期間掃描變換係數之技術。經編碼視訊資料通常包括預測資料及殘
餘資料。視訊編碼器使用框內預測模式或框間預測模式產生預測資料。框內預測一般涉及關於同一圖像之相鄰的先前寫碼區塊預測圖像之視訊區塊。框間預測一般涉及關於先前寫碼圖像之資料預測圖像的區塊。
巨集區塊為藉由ITU H.264標準及其他標準所定義之一種類型之視訊區塊。巨集區塊通常指代16×16資料區塊。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,及對於色度分量之對應按比例縮放大小)。舉例而言,ITU-T H.264提供9個框內預測模式,而HM提供至少34個框內預測模式。
新興的HEVC標準定義針對視訊區塊之新的術語。詳言之,在HEVC之情況下,視訊區塊(或其分割區)可准許被稱為「寫碼單元」。在HEVC標準之情況下,根據四元樹分割方案將最大寫碼單元(LCU)劃分成愈來愈小的寫碼單元(CU),且可將在方案中所定義之不同CU進一步分割成所謂的預測單元(PU)及/或變換單元(TU)。在本發明之含義內,LCU、CU及PU以及TU皆為視訊區塊。與HEVC標準或其他視訊寫碼標準一致,亦可能使用其他類型之視訊區塊。因此,片語「區塊」指代任何大小之視訊區塊。此外,視訊區塊有時指代像素域中之視訊資料區塊,或變換域(諸如,離散餘弦變換(DCT)域、類似於DCT之域、小波
域或其類似者)中的資料區塊。另外,如本文中所描述之資料區塊可指代明度區塊、經子取樣色度區塊,或明度區塊及兩個經子取樣色度區塊兩者。
當前在HEVC測試模型中,針對大於8×8之區塊的專用係數寫碼方案僅應用於明度區塊。對於色度區塊,不存在針對大於8×8之區塊的可用及專用係數寫碼方案。為了寫碼大於8×8之色度區塊,使用針對8×8區塊之相同係數寫碼方案保留且寫碼彼區塊中根據掃描次序之僅前64個係數。所得截斷可導致有效資料(significant data)之損失。出於減小或消除色度資料損失之目的,本發明描述針對大小大於8×8之色度區塊的專用寫碼方案。
在框內或框架預測之後,視訊編碼器計算區塊之殘餘值。殘餘值一般對應於區塊之預測資料與區塊的真值之間的差。為了進一步壓縮區塊之殘餘值,可將殘餘值變換成將儘可能多的資料(亦被稱作「能量」)壓緊成儘可能少的係數之變換係數之集合。變換係數對應於大小與原始區塊相同之二維係數矩陣。換言之,存在恰好與原始區塊中之像素一樣多之變換係數。然而,歸因於變換,變換係數中之許多變換係數可具有等於零之值。
視訊編碼器常常量化變換係數以進一步壓縮視訊資料,從而減少表示經量化變換係數所需要之資料量。在量化之後,視訊編碼器掃描變換係數,從而自包括經量化變換係數之二維矩陣產生一維向量。視訊編碼器視情況在掃描之前或之後將某些係數設定為等於零。
視訊編碼器對所得陣列進行熵編碼,以甚至進一步壓縮資料。在一些實例中,視訊編碼器經組態以使用可變長度碼(VLC)來表示陣列之各種可能的經量化變換係數(例如,使用上下文自適應性可變長度寫碼(CAVLC))。在其他實例中,視訊編碼器經組態以使用二進位算術寫碼來編碼所得經量化係數(例如,使用上下文自適應性二進位算術寫碼(CABAC))。在其他實例中,視訊編碼器經組態以使用機率間隔分割熵寫碼(PIPE)來編碼所得經量化係數。
本發明描述有關於在視訊寫碼處理程序期間掃描變換係數之技術。該等技術適用於包括經組態以執行視訊編碼及/或解碼之視訊編碼器/解碼器(CODEC)及處理單元的視訊編碼及解碼單元兩者。對「視訊寫碼單元」或「視訊寫碼器件」之參考應被理解為指代能夠編碼、解碼,或既編碼又解碼視訊資料之單元或器件。
圖1為說明可經組態以實施本發明之技術的例示性視訊編碼及解碼系統100之方塊圖。如圖1中所展示,系統100包括將經編碼視訊經由通信頻道115傳輸至目的地器件106之源器件102。源器件102及目的地器件106包含廣泛範圍之器件中之任一者。在一些狀況下,源器件102及目的地器件106包含無線通信器件手機,諸如所謂之蜂巢式或衛星無線電電話。然而,一般應用於視訊資料之變換係數之編碼及解碼的本發明之技術未必限於無線應用或設置,且可能適用於包括視訊編碼及/或解碼性能的廣泛多種非無線器件。
在圖1之實例中,源器件102包括視訊源120、視訊編碼器122、調變器/解調變器(數據機)124及傳輸器126。目的地器件106包括接收器128、數據機130、視訊解碼器132及顯示器件134。根據本發明,源器件102之視訊編碼器122將包括變換係數(例如,各自對應於所顯示影像之像素)之二維矩陣的視訊資料區塊之變換係數掃描成表示變換係數的一維向量。根據本發明之一些實施例,視訊編碼器122自適應性地掃描視訊資料區塊之第一複數個係數,且對於區塊之第二複數個係數使用固定掃描。舉例而言,對於第一複數個變換係數,視訊編碼器122相對於掃描至少一先前經編碼視訊資料區塊的變換係數之次序自適應性地修改掃描第一複數個變換係數的次序。舉例而言,視訊編碼器122基於其他先前經編碼區塊中在同一位置處之係數為非零係數的頻繁程度而修改掃描變換係數之次序。對於第二複數個變換係數,視訊編碼器122不會相對於至少一先前經編碼視訊資料區塊之掃描次序自適應性地修改掃描第二複數個變換係數的次序。實情為,視訊編碼器122使用藉由編碼器所編碼之複數個視訊資料區塊的相同掃描次序掃描第二複數個係數。
目的地器件106之視訊解碼器132亦可經組態以執行互逆變換係數解碼。在彼等環境下,視訊解碼器132將表示視訊資料區塊之變換係數之一維向量的係數映射至變換係數之二維矩陣內的位置,以重建構變換係數之二維矩陣。
圖1之所說明系統100僅為例示性的。可藉由任何編碼或
解碼器件來執行本發明之變換係數編碼及解碼技術。源器件102及目的地器件106僅為可支援此等技術之寫碼器件的實例。
在此實例中,源器件102之視訊編碼器122編碼自視訊源120所接收之視訊資料。視訊源120包含視訊俘獲器件,諸如視訊攝影機、含有先前俘獲之視訊的視訊存檔,或來自視訊內容提供者之視訊饋入。作為又一替代,視訊源120視情況產生基於電腦圖形之資料作為源視訊,或實況視訊、歸檔視訊及電腦產生之視訊的組合。在一些狀況下,若視訊源120為視訊攝影機,則源器件102及目的地器件106形成所謂的攝影機電話或視訊電話。在每一狀況下,藉由視訊編碼器122來編碼所俘獲、預俘獲或電腦產生之視訊。
在例示性系統100中,一旦藉由視訊編碼器122來編碼視訊資料,則藉由數據機124根據諸如分碼多重存取(CDMA)或任何其他通信標準或技術之通信標準調變經編碼視訊資訊,且經由傳輸器126將其傳輸至目的地器件106。數據機124包括各種混頻器、濾波器、放大器或經設計以用於信號調變之其他組件。此實例之傳輸器126包括經設計以用於傳輸資料之電路,包括放大器、濾波器及一或多個天線。目的地器件106之接收器128經由頻道115接收資訊,且數據機130解調變該資訊。又,藉由視訊解碼器132所執行之視訊解碼處理程序包括與藉由視訊編碼器122所執行之編碼技術類似(例如,互逆)的解碼技術。
根據本發明之如此一些態樣,通信頻道115包含任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線,或者無線與有線媒體之任何組合。在此等情況下,通信頻道115形成基於封包之網路(諸如,區域網路、廣域網路或諸如網際網路之全球網路)的部分。通信頻道115一般表示用於將視訊資料自源器件102傳輸至目的地器件106之任何合適的通信媒體,或不同通信媒體之集合。
又,圖1僅為例示性的且本發明之技術適用於未必包括編碼器件與解碼器件之間的任何資料通信之視訊寫碼設置(例如,視訊編碼或視訊解碼)。在其他實例中,資料可自局域記憶體擷取、經由網路串流傳輸,或其類似者。編碼器件編碼資料且將資料儲存至記憶體,及/或解碼器件自記憶體擷取資料且解碼資料。在許多狀況下,藉由並不彼此通信而是簡單地編碼資料至記憶體及/或自記憶體擷取資料且解碼資料之無關器件執行編碼及解碼。
儘管未在圖1中展示,但在一些態樣中,視訊編碼器122及視訊解碼器132可各自與音訊編碼器及解碼器整合,且視情況包括適當的MUX-DEMUX單元或其他硬體及軟體以處置共同資料串流或單獨資料串流中之音訊及視訊兩者的編碼。若適用,則MUX-DEMUX單元可遵照ITU H.223多工器協定,或諸如使用者資料報協定(UDP)之其他協定。
視訊編碼器122及視訊解碼器132中之任一者或兩者可實施為一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏
輯、軟體、硬體、韌體或其任何組合。視訊編碼器122及視訊解碼器132中之每一者可能包括於一或多個編碼器或解碼器中,其中任一者可能整合為各別行動器件、用戶器件、廣播器件、伺服器或其類似者中之組合式編碼器/解碼器(CODEC)的部分。
在一些狀況下,器件102、106可經組態而以實質上對稱之方式操作。舉例而言,器件102、106中之每一者視情況包括視訊編碼及解碼組件。因此,系統100可支援視訊器件102、106之間的單向或雙向視訊傳輸,例如用於視訊串流傳輸、視訊播放、視訊廣播或視訊電話。
在編碼處理程序期間,視訊編碼器122執行數個寫碼技術或操作。一般而言,視訊編碼器122對個別視訊圖框(或諸如片段之其他獨立寫碼單元)內之視訊區塊進行操作,以便編碼視訊區塊。圖框、片段、圖框之部分、圖像群組或其他資料結構可定義為包括複數個視訊區塊之獨立資料單元,且在此等不同的獨立資料單元處可包括語法元素。獨立資料單元內之視訊區塊可具有固定或變化大小,且可能根據所規定之寫碼標準而大小不同。在一些狀況下,每一視訊圖框包括一系列可獨立解碼之片段,且每一片段可另外包括一或多個巨集區塊或LCU。
再次參看圖1,視訊編碼器122常常執行預測性寫碼,其中將正寫碼之視訊區塊與另一視訊資料區塊比較以便識別預測性區塊。預測性寫碼之此處理程序常常被稱作運動估計及運動補償。運動估計相對於一或多個預測性圖框(或
其他寫碼單元)之一或多個預測性視訊區塊而估計視訊區塊運動。運動補償自一或多個預測性圖框或其他寫碼單元產生所要預測性視訊區塊。運動補償包括內插處理程序,其中執行內插濾波以產生在分數像素精度下之預測性資料。
在產生預測性區塊之後,將正寫碼之當前視訊區塊與預測性區塊之間的差寫碼為殘餘區塊,且使用預測語法(諸如,運動向量)來識別預測性區塊。對殘餘區塊進行變換及量化。變換技術視情況包含DCT處理程序或概念上類似之處理程序、整數變換、小波變換,或其他類型之變換。在DCT或類DCT處理程序中,作為實例,變換處理程序將一組像素值(例如,殘餘值)轉換成變換係數,該等變換係數(例如)表示頻域中像素值的能量。通常將量化應用於變換係數,且量化一般涉及限制與任何給定變換係數相關聯之位元之數目的處理程序。
在許多實施例中,在變換及量化之後,對經變換及經量化之殘餘視訊區塊執行熵寫碼。語法元素、各種濾波器語法資訊,及在編碼期間所定義之預測向量包括於經熵寫碼之位元串流中。一般而言,熵寫碼包含共同地壓縮經量化變換係數之序列及/或其他語法資訊之一或多個處理程序。對經量化變換係數執行掃描技術(諸如,固定或自適應性掃描次序),以便自二維視訊區塊定義係數之一或多個串行化一維向量。舉例而言,根據本文中所描述之技術,對於視訊區塊之不同係數,可使用固定及自適應性掃
描技術兩者。一旦經掃描以產生該一或多個串行化一維向量,則經掃描之係數連同任何語法資訊被熵寫碼。
作為編碼處理程序之部分,解碼經編碼視訊區塊以產生用於後續視訊區塊之後續基於預測之寫碼的視訊資料。在此階段,可使用濾波以便改良視訊品質,且(例如)移除來自經解碼視訊之方塊效應或其他假影。此濾波視情況為迴圈內或迴圈後。在迴圈內濾波之情況下,經重建構之視訊資料的濾波發生於寫碼迴圈中,此意謂經濾波之資料由編碼器或解碼器儲存以供隨後用於後續影像資料的預測中。對比而言,在迴圈後濾波之情況下,經重建構之視訊資料的濾波發生於寫碼迴圈外,此意謂資料之未經濾波版本由編碼器或解碼器儲存以供隨後用於後續影像資料的預測中。
圖2為說明與本發明一致之實例視訊編碼器250的方塊圖。視訊編碼器250可對應於源器件100之視訊編碼器122抑或不同器件之視訊編碼器。如圖2中所展示,視訊編碼器250包括預測模組240、加法器241及246,及記憶體245。視訊編碼器250亦包括變換模組242及量化模組243,以及逆量化模組248及逆變換模組247。視訊編碼器250亦包括熵寫碼模組244。熵寫碼模組244包括掃描模組260。
在編碼處理程序期間,視訊編碼器250接收待寫碼之視訊區塊,且預測模組240執行預測性寫碼技術。對於框間寫碼而言,預測模組240將待編碼之視訊區塊與一或多個視訊參考圖框或片段中之各種區塊進行比較以便定義預測
性區塊。對於框內寫碼而言,預測模組240基於同一圖框、片段或視訊資料之其他單元內之相鄰資料而產生預測性區塊。預測模組240輸出預測區塊,且加法器241自正寫碼之視訊區塊減去預測區塊以便產生殘餘區塊。
根據本發明之一些態樣,對於框間寫碼而言,預測模組240包含識別指向預測區塊之運動向量且基於運動向量產生預測區塊之運動估計及運動補償模組(未在圖2中描繪)。通常,運動估計被視為產生運動向量之處理程序,該運動向量估計運動。舉例而言,運動向量可指示預測性圖框內之預測性區塊相對於當前圖框內正寫碼之當前區塊的位移。運動補償通常被視為基於藉由運動估計所判定之運動向量取得或產生預測性區塊的處理程序。對於框內寫碼而言,預測模組240基於同一圖框、片段或視訊資料之其他單元內之相鄰資料而產生預測性區塊。一或多個框內預測模式可能定義框內預測區塊可被定義之方式。
在一些實例中,針對框間寫碼之運動補償包括至子像素解析度之內插。藉由預測模組240所產生之內插預測性資料(例如)內插至半像素解析度、四分之一像素解析度或甚至更精細的解析度。此情形准許運動估計將視訊區塊之運動估計至此子像素解析度。
在預測模組240輸出預測區塊之後且在加法器241自正寫碼之視訊區塊減去預測區塊以便產生殘餘區塊之後,變換模組242將變換應用於殘餘區塊。變換視情況包含離散餘弦變換(DCT)、整數變換或概念上類似之變換,諸如藉由
ITU H.264標準、HVEC標準或其類似者所定義之變換。在一些實例中,變換模組242執行不同大小之變換且針對寫碼效率及改良之壓縮選擇變換的不同大小。亦可使用小波變換、整數變換、次頻帶變換或其他類型之變換。在任何狀況下,變換模組242將特定變換應用於殘餘像素值之殘餘區塊,從而產生殘餘變換係數之區塊。變換將殘餘像素值資訊自像素域轉換為頻域。
逆量化模組248及逆變換模組247分別應用逆量化及逆變換,以在像素域中重建構殘餘區塊。求和器246將經重建構之殘餘區塊加至藉由預測模組240所產生之預測區塊,以產生經重建構的視訊區塊以供儲存於記憶體245中。濾波器模組249可能對經重建構之視訊區塊執行迴圈內或迴圈後濾波。
在一些實例中,記憶體245儲存區塊之圖框或片段以供用於相對於待編碼之其他圖框的區塊之運動估計。在此儲存之前,在迴圈內濾波之狀況下,濾波器模組249將濾波應用於視訊區塊以改良視訊品質。藉由濾波器模組249進行之此濾波減少方塊效應或其他假影。此外,濾波藉由產生包含與正寫碼之視訊區塊之緊密匹配的預測性視訊區塊而改良壓縮。亦可在迴圈後執行濾波以使得經濾波資料輸出為經解碼資料,但未經濾波資料係藉由預測模組240使用。
在某些實例中,量化模組243量化殘餘變換係數(例如,來自變換模組242)以進一步減小位元速率。量化模組
243(例如)限制用以寫碼係數中之每一者之位元的數目。在量化之後,熵編碼模組244掃描且熵編碼資料。舉例而言,熵編碼模組244可自二維表示掃描經量化係數區塊以產生一或多個串行化一維向量。舉例而言,掃描模組260可執行表示經量化係數區塊之二維矩陣之掃描。
在此掃描處理程序之後,熵編碼模組244根據如本文中所描述之熵寫碼方法編碼經量化變換係數(連同任何語法元素)以進一步壓縮資料。在此實例中,包括於經熵編碼位元串流中之語法資訊包括來自預測模組240之預測語法,諸如針對框間寫碼之運動向量或針對框內寫碼的預測模式。包括於經熵編碼位元串流中之語法資訊可能亦包括濾波器資訊,諸如藉由預測模組240應用於內插之濾波器資訊或藉由濾波器模組249所應用之濾波器。另外,包括於經熵寫碼位元串流中之語法資訊亦可包括表示語法元素中之一或多者的一或多個VLC碼字(或其他資訊)。
在藉由熵編碼模組244進行熵寫碼之後,將經編碼視訊傳輸至另一器件或加以歸檔以供稍後傳輸或擷取。舉例而言,解碼器可使用藉由熵編碼模組244所產生之經編碼視訊之變換係數的一維向量,以重建構表示視訊資料區塊之二維矩陣。
圖3為說明視訊解碼器350之實例之方塊圖,視訊解碼器350解碼以本文中所描述之方式編碼的視訊序列。所接收到之視訊序列視情況包含影像圖框之經編碼集合、圖框片段之集合、經共同寫碼圖像群組(GOP),或包括經編碼視
訊區塊及用以定義解碼此等視訊區塊之方式之語法資訊的廣泛多種經寫碼視訊單元。
圖3中所表示之視訊解碼器350併有熵解碼模組344,熵解碼模組344執行與藉由圖2之熵編碼模組244所執行的編碼互逆之解碼功能。在一些實例中,熵解碼模組344將呈一維串行化格式之經熵編碼之視訊區塊轉換回為二維區塊格式。向量之數目及大小以及針對視訊區塊所定義之掃描次序定義重建構二維區塊的方式。
如圖3中所描繪,視訊解碼器包括濾波器模組349。濾波器模組349可對經重建構之視訊區塊執行迴圈內或迴圈後濾波。視訊解碼器350亦包括預測模組340、逆量化單元343、逆變換模組342、記憶體345及求和器346。
廣泛多種視訊壓縮技術及標準執行空間及時間預測以減少或移除在輸入視訊信號中所固有之冗餘。如上文所解釋,使用空間預測(亦即,框內預測)及/或時間預測(亦即,框間預測或運動估計)預測輸入視訊區塊。本文中所描述之預測模組一般包括模式決策模組(未圖示),以便選擇針對給定輸入視訊區塊之合乎需要的預測模式。模式選擇考慮多種因素,諸如區塊是經框內寫碼抑或經框間寫碼、在使用框內寫碼之情況下的預測區塊大小及預測模式,及在使用框間寫碼之情況下的運動分割區大小及所使用之運動向量。自輸入視訊區塊減去預測區塊,且接著將變換及量化應用於殘餘視訊區塊上,如上文所描述。
經量化係數連同模式資訊可經熵編碼以形成視訊位元串
流。經量化係數亦可經逆量化及逆變換以形成經重建構之殘餘區塊,可將經重建構之殘餘區塊加回至預測視訊區塊(取決於所選擇之寫碼模式而為經框內預測區塊或經運動補償區塊)以形成經重建構的視訊區塊。迴圈內或迴圈後濾波方法適用於減少經重建構之視訊信號中的視覺假影。經重建構之視訊區塊最終儲存於參考圖框緩衝器(亦即,記憶體)中以用於將來視訊區塊之寫碼。
在一些實例中,根據Z字形掃描技術定序(掃描)視訊圖框之給定葉層級區塊的係數。藉由編碼器250使用此技術以產生一維定序係數向量。Z字形掃描技術包含在區塊之最左上係數處開始,且繼續進行至以Z字形圖案掃描至區塊之最左下係數。
根據Z字形掃描技術,假設具有最大能量(例如,最大係數值)之變換係數對應於低頻率變換功能且位於朝向區塊之左上處。因而,對於基於Z字形掃描所產生之係數向量(例如,一維係數向量),假定較高量值係數最有可能朝向向量之開始出現。亦假定在已量化係數向量之後,最低能量係數將等於0。在一些實例中,在係數寫碼期間調適係數掃描。舉例而言,掃描中之較低編號指派至非零係數更經常出現之位置。
根據一些實例,編碼器250執行變換係數之逆Z字形掃描。為了執行逆Z字形掃描,編碼器250在對應於最後非零係數(例如,距區塊之左上位置最遠的非零係數)之位置處開始編碼。與上文所描述之Z字形掃描之實例不同,根據
逆Z字形掃描之實例,編碼器250以自最後非零係數(亦即,在區塊之右下位置中)至區塊之左上位置的Z字形圖案寫碼。在一些實例中,編碼器250經組態以基於一或多個已寫碼係數之量值在行程寫碼模式(run coding mode)與層級寫碼模式之間切換。
根據變換係數之逆Z字形掃描,編碼器250藉由首先編碼指示最後非零係數(亦即,逆掃描次序之第一非零係數)之last_pos語法元素來掃描視訊資料區塊。在一些實例中,編碼器250亦編碼指示最後非零係數之量值是1抑或大於1的level_ID語法元素。在一些實例中,編碼器250將last_pos及level_ID語法元素一起編碼為VLC碼字。
在一些實例中,為了寫碼level_ID及last_pos語法元素,編碼器250判定last_pos及level_ID語法元素之值,且使用所判定值來判定碼編號cn。碼編號cn包含可輸入至複數個VLC表中之所選擇VLC表中以判定表示level_ID及last_pos語法元素之VLC碼字的項值。在一些實例中,編碼器250基於使用定義level_ID及last_pos語法元素與碼編號cn之間的關係之儲存於記憶體中之複數個映射表中的一映射表判定碼編號cn。在其他實例中,編碼器250基於定義level_ID及last_pos語法元素與碼編號cn之間的關係之結構化映射判定碼編號cn。
如在上文所描述之實例中所闡述,為了判定表示level_ID及last_pos語法元素之此VLC碼字,編碼器250選擇儲存於記憶體中之複數個VLC表中的一VLC表,且將所
判定碼編號cn輸入至所選擇VLC表中以判定VLC碼字。在一些實例中,編碼器250基於VLC表索引值選擇該複數個VLC表中之VLC表。VLC表索引值指示編碼器250應使用複數個VLC表中之哪一VLC表以輸入碼編號cn,從而判定表示level_ID及last_pos語法元素之VLC碼字。
舉例而言,值vlcTableIndex可用以表示VLC表之陣列的當前VLC表之索引。VLC表之此陣列可被稱作arrayVLCNum。基於索引值vlcindex,接著可將數個VLC表中之一表表示為arrayVLCNum[vlcIndex]。如在上文所描述之實例中所闡述,編碼器250將碼編號cn鍵入至藉由值arrayVLCNum[vlcIndex]所表示之特定表中以寫碼變換係數。
在一些實例中,基於一或多個碼字長度散佈特性配置儲存於記憶體中之複數個VLC表。更特定言之,VLC表中之每一者表示VLC碼字長度在各別VLC表中增加之不同「速率」。舉例而言,圖4之VLC映射表說明一實例,其中編碼器自四個VLC表VLC0至VLC3當中選擇VLC表。
根據圖4之實例,VLC表VLC0至VLC3之一些VLC碼字繼之以一或多個「x」符號,該一或多個「x」符號中之每一者表示表內之VLC碼字的各別長度。舉例而言,圖4之VLC2中之VLC碼字實例1xx表示與碼編號0至3相關聯的4個VLC碼字:100
101
110
111
如圖4之實例中所展示,VLC表VLC 0之各別碼字之長度增加的速率「快」於VLC表VLC 1之各別碼字之長度增加的速率,VLC表VLC 1之各別碼字之長度增加的速率又快於VLC表VLC 2之各別碼字之長度增加的速率,VLC表VLC 2之各別碼字之長度增加的速率又快於VLC表VLC 3之各別碼字之長度增加的速率。在一些實例中,可有益地自圖4中所描繪之VLC表0至3之各種VLC碼字長度「速度」當中選擇,以編碼視訊資料區塊的last_pos及level_ID語法元素。
如上文所闡述,在一些實例中,可基於VLC表索引值自複數個VLC表(例如,圖4之VLC表0至3)當中選擇VLC表以編碼last_pos及level_ID語法元素。在一些實例中,隨著藉由編碼器250編碼視訊資料區塊,編碼器250更新VLC表索引值。
舉例而言,對於具有16×16或更大之大小的明度區塊,且編碼器可經組態以基於以下規則更新VLC表索引值。
vlcTableIndex+=(cn/4==vlcTableIndex?0:(cn/4<vlcTableIndex?-1:1));vlcTableIndex=Min(vlcTableIndex,16);根據此實例,每次在視訊編碼器判定碼編號cn(亦即,如上文所闡述)且使用碼編號cn來判定VLC碼字時,編碼器將當前VLC表索引值與藉由比例因子(在此實例中為4)所劃分之碼編號cn比較。若當前VLC表索引值等於藉由比例因
子所劃分之碼編號cn,則編碼器250不改變VLC表索引值。在此實例中,若當前VLC表索引值大於藉由比例因子所劃分之碼編號cn,則編碼器250減量VLC表索引值(自VLC表索引值減去一(1))。若VLC表索引值小於藉由比例因子所劃分之碼編號cn,則編碼器250增量(將一(1)加至)VLC表索引值。如上文實例中亦展示,編碼器250進一步將經更新(亦即,經增量、經減量或未改變)VLC表索引值與預定臨限值(亦即,在上文實例中為16)比較。若經更新VLC表索引值大於預定臨限值,則編碼器250將預定臨限值之值指派至VLC表索引值。以此方式,編碼器250使VLC表索引值免於超出預定臨限值。
一旦編碼器250已更新VLC表索引值,如上文實例中所描述,則編碼器250使用經更新VLC表索引值來編碼(例如,選擇VLC表)另一視訊資料區塊(藉由編碼器所編碼之下一個視訊資料區塊)之last_pos及level_ID語法元素。返回參看上文圖4之實例,編碼器250使用經更新VLC表索引值以自VLC表0至3當中選擇。舉例而言,若當前VLC表索引值具有為2之值(選擇圖4之第三行中的VLC表,表VLC2),且VLC表索引值小於藉由比例因子所劃分之碼編號cn,則編碼器250減量VLC表索引值以具有為一(1)的值。根據此實例,對於下一個視訊資料區塊,編碼器250基於為1之經減量VLC表索引值選擇表VLC1。
在一些實例中,對於小於16×16之明度或色度區塊,編碼器250使用以下規則來更新VLC表索引值:
vlcTableIndex+=(cn==vlcTableIndex?0:(cn<vlcTableIndex?-1:1));vlcTableIndex=Min(vlcTableIndex,16);根據此實例,編碼器250未將當前VLC表索引值與藉由比例因子所劃分之碼編號cn比較。實情為,對於8×8或更小之明度或色度區塊,編碼器250將當前VLC表索引值與碼編號cn自身比較,且基於比較更新(例如,增量、減量或維持)VLC表索引值。如根據上文所闡述之16×16明度區塊實例所描述,編碼器250視情況亦將經更新(亦即,經增量、經減量或未改變)VLC表索引值與預定臨限值比較。若經更新VLC表索引值大於預定臨限值,則編碼器250可經組態以將預定臨限值之值指派至VLC表索引值。
根據本文中所描述之技術,編碼器250可經組態以編碼不同大小之明度及色度區塊。舉例而言,根據本文中所描述之技術,對於大小8×8或更大之明度區塊,編碼器250可基於比例因子更新VLC表索引值。舉例而言,編碼器可基於將VLC表索引值與藉由比例因子所劃分之碼編號比較而自適應性地更新VLC表索引值,如上文所描述。然而,對於具有8×8或更大之大小的色度區塊,編碼器不使用此比例因子。實情為,編碼器在不藉由比例因子劃分碼編號之情況下基於將VLC表索引值與碼編號比較而自適應性地更新VLC表索引值。以此方式,本文中所描述之編碼器可經組態以編碼更大大小(例如,大於8×8之大小)之明度及色度區塊兩者。
作為一實例,根據本文中所描述之技術,使用以下規則自適應性地更新值vlcTableIndex:對於具有大於8×8之大小(亦即,16×16、32×32、64×64)的明度區塊:vlcTableIndex+=(cn/4==vlcTableIndex?0:(cn/4<vlcTableIndex?-1:1));vlcTableIndex=Min(vlcTableIndex,16);對於其他區塊(其包括大小16×16或更大之色度區塊),vlcTableIndex+=(cn==vlcTableIndex?0:(cn<vlcTableIndex?-1:1));vlcTableIndex=Min(vlcTableIndex,16);在與本文中所描述之技術一致的一些實例中,使用自適應性地更新之VLC表索引值選擇VLC表以編碼last_pos及level_ID語法元素所自的VLC表陣列係取決於針對明度區塊之區塊大小,且不取決於針對色度區塊的區塊大小。舉例而言,對於色度區塊,編碼器250可使用VLC表之同一陣列(例如,arrayVLCTableNum)來寫碼last_pos及level_ID語法元素,而不管色度區塊之大小。根據此實例,對於明度區塊,取決於各別明度區塊之大小,VLC表之不同陣列(例如,不同arrayVLCTableNum)可經選擇且用以寫碼明度區塊。
圖5為描繪與本發明之一或多個態樣一致的寫碼視訊資料區塊之方法的一實例之流程圖。圖5之方法經描述為藉由圖2中所描繪之編碼器250執行以編碼視訊資料區塊。圖
5之方法可藉由包括圖3中所描繪之解碼器350的任何器件執行以解碼視訊資料區塊。
如圖5中之實例所展示,與本發明之態樣一致,編碼器250判定視訊資料區塊是明度區塊抑或色度區塊(501)。若視訊資料區塊為明度區塊,則編碼器250基於碼編號cn及比例因子之值自適應性地更新用以選擇複數個VLC表中之VLC表的VLC表索引值(502)。若視訊資料區塊為色度區塊,則編碼器250基於碼編號cn自適應性地更新VLC表索引值且未使用比例因子(503)。
在一或多個實例中,本文中所描述之功能至少部分以諸如特定硬體組件或處理器之硬體來實施。更一般而言,技術可以硬體、處理器、軟體、韌體或其任何組合來實施。若以軟體來實施,功能可(例如)儲存於電腦可讀媒體上或作為一或多個指令或程式碼在電腦可讀媒體上傳輸且藉由基於硬體之處理單元執行。電腦可讀媒體之實例包括電腦可讀儲存媒體或通信媒體,電腦可讀儲存媒體對應於諸如資料儲存媒體之有形媒體,通信媒體包括(例如)根據通信協定促進電腦程式自一處傳送至另一處的任何媒體。以此方式,電腦可讀媒體大體上對應於(1)為非暫時性之有形電腦可讀儲存媒體或(2)諸如信號或載波之通信媒體。資料儲存媒體包括可藉由一或多個電腦或一或多個處理器存取以擷取用於實施本發明中所描述之技術之指令、程式碼及/或資料結構的任何可用媒體。電腦程式產品視情況包括電腦可讀媒體。
藉由實例且非限制,此等電腦可讀儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器件、磁碟儲存器件或其他磁性儲存器件、快閃記憶體,或可用以儲存呈指令或資料結構之形式的所要程式碼且可藉由電腦存取的任何其他媒體。又,任何連接可適當地稱作電腦可讀媒體,亦即電腦可讀傳輸媒體。舉例而言,若使用同軸纜線、光纜、雙絞線、數位用戶線(DSL),或諸如紅外線、無線電及微波之無線技術自網站、伺服器或其他遠端源傳輸指令,則同軸纜線、光纜、雙絞線、DSL,或諸如紅外線、無線電及微波之無線技術包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而替代地針對非暫時性、有形之儲存媒體。如本文中所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光碟、數位影音光碟(DVD)、軟性磁碟及藍光光碟,其中磁碟通常以磁性方式再生資料,而光碟藉由雷射以光學方式再生資料。以上各物之組合亦應包括於電腦可讀媒體之範疇內。
通常藉由一或多個處理器來執行指令,該一或多個處理器諸如一或多個中央處理單元(CPU)、數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA),或其他等效積體電路或離散邏輯電路。因此,如本文中所使用,術語「處理器」可指代前述結構或適於實施本文中所描述之技術的任何其他結構中之任一者。另外,在一些態樣中,本文中所描述之功能性
可實施於經組態以用於編碼及解碼的專用硬體及/或軟體模組內,或併入於組合式編解碼器中。又,該等技術可完全實施於一或多個電路或邏輯元件中。
熟習此項技術者將容易瞭解,本發明之技術不限於上文所呈現之實例的範疇中,且可實施於廣泛多種器件或裝置中,包括無線手機、積體電路(IC)或IC之集合(例如,晶片組)。在本發明中描述各種組件、模組或單元以強調經組態以執行所揭示之技術的器件之功能態樣,但未必需要藉由不同硬體單元實現。實情為,如上文所描述,各種單元可組合於編解碼器硬體單元中或藉由互操作之硬體單元的集合(包括如上文所描述之一或多個處理器)結合合適的軟體及/或韌體來提供。
已描述各種實例。此等及其他實例處於以下申請專利範圍之範疇內。
100‧‧‧視訊編碼及解碼系統
102‧‧‧源器件
106‧‧‧目的地器件
115‧‧‧通信頻道
120‧‧‧視訊源
122‧‧‧視訊編碼器
124‧‧‧調變器/解調變器(數據機)
126‧‧‧傳輸器
128‧‧‧接收器
130‧‧‧數據機
132‧‧‧視訊解碼器
134‧‧‧顯示器件
240‧‧‧預測模組
241‧‧‧加法器
242‧‧‧變換模組
243‧‧‧量化模組
244‧‧‧熵寫碼模組/熵編碼模組
245‧‧‧記憶體
246‧‧‧加法器/求和器
247‧‧‧逆變換模組
248‧‧‧逆量化模組
249‧‧‧濾波器模組
250‧‧‧視訊編碼器
260‧‧‧掃描模組
340‧‧‧預測模組
342‧‧‧逆變換模組
343‧‧‧逆量化單元
344‧‧‧熵解碼模組
345‧‧‧記憶體
346‧‧‧求和器
349‧‧‧濾波器模組
350‧‧‧視訊解碼器
圖1為說明經組態以根據本發明之技術操作的視訊編碼及解碼系統之一實例之方塊圖。
圖2為說明經組態以根據本發明之技術操作的視訊編碼器之一實例之方塊圖。
圖3為說明經組態以根據本發明之技術操作的視訊解碼器之一實例之方塊圖。
圖4為說明與本發明之一或多個態樣一致的寫碼視訊資料區塊之方法的一實例之表。
圖5為說明與本發明之一或多個態樣一致的寫碼視訊資
料區塊之方法的一實例之流程圖。
Claims (19)
- 一種寫碼一視訊資料區塊之方法,其包含:判定一視訊資料區塊是一明度區塊抑或一色度區塊;若該視訊資料區塊為一明度區塊,則基於一碼編號cn及一比例因子之值自適應性地更新用以選擇複數個VLC表中之一VLC表的一VLC表索引值;及若該視訊資料區塊為一色度區塊,則基於該碼編號cn自適應性地更新該VLC表索引值且未使用該比例因子。
- 如請求項1之方法,其進一步包含:編碼視訊資料之複數個色度區塊;及對於每一色度區塊,自相同複數個VLC表選擇該VLC表,而不管該色度區塊之一大小。
- 如請求項1之方法,其進一步包含:編碼視訊資料之複數個明度區塊;及對於該等明度區塊中之每一者,基於該明度區塊之一大小選擇一個以上複數個VLC表中之複數個VLC表。
- 如請求項1之方法,其中基於一碼編號cn及該比例因子自適應性地更新用以選擇複數個VLC表中之一VLC表的一VLC表索引值包含將一當前VLC表索引值與藉由該比例因子所劃分之該碼編號cn比較。
- 如請求項1之方法,其中基於該碼編號cn自適應性地更新該VLC表索引值且未使用該比例因子包含將該當前VLC表索引值與該碼編號cn比較。
- 如請求項1之方法,其進一步包含: 判定該視訊資料區塊之一大小;若該視訊資料區塊為一明度區塊且具有大於8×8之一大小,則基於一碼編號cn及一比例因子S自適應性地更新用以選擇複數個VLC表中之一VLC表的一VLC表索引值;及否則,基於該碼編號cn自適應性地更新該VLC表索引值且未使用該比例因子S。
- 如請求項1之方法,其中該方法係藉由一計算器件之一處理器執行。
- 如請求項1之方法,其中該方法係藉由一編碼器執行,且其中該經更新之VLC表索引值用以編碼該視訊資料區塊。
- 如請求項1之方法,其中該方法係藉由一解碼器執行,且其中該經更新之VLC表索引值用以解碼該視訊資料區塊。
- 一種經組態以寫碼一視訊資料區塊之器件,其包含:一處理器,其經組態以:判定一視訊資料區塊是一明度區塊抑或一色度區塊;若該視訊資料區塊為一明度區塊,則基於一碼編號cn及一比例因子之值自適應性地更新用以選擇複數個VLC表中之一VLC表的一VLC表索引值;及若該視訊資料區塊為一色度區塊,則基於該碼編號cn自適應性地更新該VLC表索引值且未使用該比例因子。
- 如請求項10之器件,其進一步包含一處理器,該處理器 經組態以:編碼視訊資料之複數個色度區塊;及對於每一色度區塊,自相同複數個VLC表選擇該VLC表,而不管該色度區塊之一大小。
- 如請求項10之器件,其進一步包含一處理器,該處理器經組態以:編碼視訊資料之複數個明度區塊;及對於該等明度區塊中之每一者,基於該明度區塊之一大小選擇一個以上複數個VLC表中之複數個VLC表。
- 如請求項10之器件,其中基於一碼編號cn及該比例因子自適應性地更新用以選擇複數個VLC表中之一VLC表的一VLC表索引值包含將一當前VLC表索引值與藉由該比例因子所劃分之該碼編號cn比較。
- 如請求項10之器件,其中基於該碼編號cn自適應性地更新該VLC表索引值且未使用該比例因子包含將該當前VLC表索引值與該碼編號cn比較。
- 如請求項10之器件,其進一步包含一處理器,該處理器經組態以:判定該視訊資料區塊之一大小;若該視訊資料區塊為一明度區塊且具有大於8×8之一大小,則基於一碼編號cn及一比例因子S自適應性地更新用以選擇複數個VLC表中之一VLC表的一VLC表索引值;及否則,基於該碼編號cn自適應性地更新該VLC表索引 值且未使用該比例因子S。
- 如請求項10之器件,其中該器件為一編碼器,且其中該經更新之VLC表索引值用以編碼該視訊資料區塊。
- 如請求項10之方法,其中該器件為一解碼器,且其中該經更新之VLC表索引值用以解碼該視訊資料區塊。
- 一種儲存指令之電腦可讀儲存媒體,該等指令在執行時使一計算器件:判定一視訊資料區塊是一明度區塊抑或一色度區塊;若該視訊資料區塊為一明度區塊,則基於一碼編號cn及一比例因子之值自適應性地更新用以選擇複數個VLC表中之一VLC表的一VLC表索引值;及若該視訊資料區塊為一色度區塊,則基於該碼編號cn自適應性地更新該VLC表索引值且未使用該比例因子。
- 一種經組態以寫碼一視訊資料區塊之器件,其包含:用於判定一視訊資料區塊是一明度區塊抑或一色度區塊之構件;用於在該視訊資料區塊為一明度區塊的情況下基於一碼編號cn及一比例因子之值自適應性地更新用以選擇複數個VLC表中之一VLC表的一VLC表索引值之構件;及用於在該視訊資料區塊為一色度區塊的情況下基於該碼編號cn自適應性地更新該VLC表索引值且未使用該比例因子之構件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161502794P | 2011-06-29 | 2011-06-29 | |
US201161552346P | 2011-10-27 | 2011-10-27 | |
US13/535,536 US9516316B2 (en) | 2011-06-29 | 2012-06-28 | VLC coefficient coding for large chroma block |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201313031A true TW201313031A (zh) | 2013-03-16 |
Family
ID=46466967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101123630A TW201313031A (zh) | 2011-06-29 | 2012-06-29 | 用於大色度區塊的可變長度寫碼係數寫碼 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9516316B2 (zh) |
EP (1) | EP2727347A1 (zh) |
JP (1) | JP5755808B2 (zh) |
KR (1) | KR101650636B1 (zh) |
CN (1) | CN103636207B (zh) |
TW (1) | TW201313031A (zh) |
WO (1) | WO2013003741A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9490839B2 (en) | 2011-01-03 | 2016-11-08 | Qualcomm Incorporated | Variable length coding of video block coefficients |
US9338456B2 (en) | 2011-07-11 | 2016-05-10 | Qualcomm Incorporated | Coding syntax elements using VLC codewords |
US9154782B2 (en) | 2013-09-16 | 2015-10-06 | Magnum Semiconductor, Inc. | Apparatuses and methods for adjusting coefficients using dead zones |
US10349085B2 (en) | 2016-02-15 | 2019-07-09 | Qualcomm Incorporated | Efficient parameter storage for compact multi-pass transforms |
US10448053B2 (en) | 2016-02-15 | 2019-10-15 | Qualcomm Incorporated | Multi-pass non-separable transforms for video coding |
US10666984B2 (en) * | 2016-03-08 | 2020-05-26 | Qualcomm Incorporated | Apparatus and method for vector-based entropy coding for display stream compression |
US11044495B1 (en) | 2018-02-13 | 2021-06-22 | Cyborg Inc. | Systems and methods for variable length codeword based data encoding and decoding using dynamic memory allocation |
US10986340B2 (en) * | 2018-06-01 | 2021-04-20 | Qualcomm Incorporated | Coding adaptive multiple transform information for video coding |
US11323748B2 (en) | 2018-12-19 | 2022-05-03 | Qualcomm Incorporated | Tree-based transform unit (TU) partition for video coding |
US10491240B1 (en) * | 2019-01-17 | 2019-11-26 | Cyborg Inc. | Systems and methods for variable length codeword based, hybrid data encoding and decoding using dynamic memory allocation |
US10666986B1 (en) * | 2019-03-08 | 2020-05-26 | Sony Corporation | Sub-block based entropy coding for embedded image codec |
CN114342398A (zh) * | 2019-08-20 | 2022-04-12 | 北京字节跳动网络技术有限公司 | 默认缩放矩阵和用户定义缩放矩阵的使用 |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5227878A (en) | 1991-11-15 | 1993-07-13 | At&T Bell Laboratories | Adaptive coding and decoding of frames and fields of video |
US5253055A (en) | 1992-07-02 | 1993-10-12 | At&T Bell Laboratories | Efficient frequency scalable video encoding with coefficient selection |
PT651574E (pt) | 1993-03-24 | 2002-02-28 | Sony Corp | Processo e aparelho para codiicar/descodificar um vector de movimento e processo para codificacao/descodificacao de um sinal de imagem |
FR2722041B1 (fr) | 1994-06-30 | 1998-01-02 | Samsung Electronics Co Ltd | Decodeur de huffman |
KR0139161B1 (ko) | 1994-11-26 | 1998-05-15 | 김광호 | 가변장부호테이블의 심볼-부호어 재배정을 이용한 가변장 부호화/복호화 장치 |
JP3575508B2 (ja) | 1996-03-04 | 2004-10-13 | Kddi株式会社 | 符号化動画像再生装置 |
US5790706A (en) | 1996-07-03 | 1998-08-04 | Motorola, Inc. | Method and apparatus for scanning of transform coefficients |
US5821887A (en) | 1996-11-12 | 1998-10-13 | Intel Corporation | Method and apparatus for decoding variable length codes |
JP2870515B2 (ja) | 1996-12-27 | 1999-03-17 | 日本電気株式会社 | 可変長符号化装置 |
US5995148A (en) | 1997-02-14 | 1999-11-30 | At&T Corp | Video coder having scalar dependent variable length coder |
US6219457B1 (en) | 1998-05-26 | 2001-04-17 | Silicon Graphics, Inc. | Method and system for decoding data encoded in a variable length code word |
JP2000134495A (ja) | 1998-10-26 | 2000-05-12 | Ricoh Co Ltd | 色補正装置 |
US6958715B2 (en) | 2001-02-20 | 2005-10-25 | Texas Instruments Incorporated | Variable length decoding system and method |
WO2002078355A1 (en) | 2001-03-23 | 2002-10-03 | Nokia Corporation | Variable length coding |
US6856701B2 (en) | 2001-09-14 | 2005-02-15 | Nokia Corporation | Method and system for context-based adaptive binary arithmetic coding |
US6690307B2 (en) | 2002-01-22 | 2004-02-10 | Nokia Corporation | Adaptive variable length coding of digital video |
JP4510465B2 (ja) | 2002-01-22 | 2010-07-21 | ノキア コーポレイション | イメージ/ビデオ符号器及び/又は復号器における変換係数の符号化 |
US7099387B2 (en) | 2002-03-22 | 2006-08-29 | Realnetorks, Inc. | Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses |
JP4234607B2 (ja) | 2002-04-02 | 2009-03-04 | ノキア コーポレイション | 画像/ビデオエンコーダおよび/またはデコーダにおける符号化変換係数 |
JP4368575B2 (ja) | 2002-04-19 | 2009-11-18 | パナソニック株式会社 | 可変長復号化方法、可変長復号化装置およびプログラム |
CN100420308C (zh) | 2002-04-26 | 2008-09-17 | 株式会社Ntt都科摩 | 图象编码装置和图象译码装置 |
KR100729270B1 (ko) | 2002-05-02 | 2007-06-15 | 프라운호퍼-게젤샤프트 츄어 푀르더룽 데어 안게반텐 포르슝에.파우. | 이미지 및/또는 비디오 인코더 및 디코더에서의변환계수를 인코딩하는 방법 및 장치, 및 이에 대응하는컴퓨터 프로그램 및 컴퓨터로 읽을 수 있는 저장매체 |
US6771193B2 (en) | 2002-08-22 | 2004-08-03 | International Business Machines Corporation | System and methods for embedding additional data in compressed data streams |
US6795584B2 (en) | 2002-10-03 | 2004-09-21 | Nokia Corporation | Context-based adaptive variable length coding for adaptive block transforms |
US6646578B1 (en) | 2002-11-22 | 2003-11-11 | Ub Video Inc. | Context adaptive variable length decoding system and method |
US7194137B2 (en) | 2003-05-16 | 2007-03-20 | Cisco Technology, Inc. | Variable length coding method and apparatus for video compression |
CN1214649C (zh) | 2003-09-18 | 2005-08-10 | 中国科学院计算技术研究所 | 用于视频预测残差系数编码的熵编码方法 |
KR20060130570A (ko) | 2003-11-28 | 2006-12-19 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 비트스트림을 인코딩 또는 디코딩하는 방법 및 장치 |
EP1553779A1 (en) | 2004-01-12 | 2005-07-13 | Deutsche Thomson-Brandt GmbH | Data reduction of video streams by selection of frames and partial deletion of transform coefficients |
US7680349B2 (en) | 2004-08-18 | 2010-03-16 | Cisco Technology, Inc. | Variable length coding for clustered transform coefficients in video compression |
NO322043B1 (no) | 2004-12-30 | 2006-08-07 | Tandberg Telecom As | Fremgangsmate for forenklet entropikoding |
US8311119B2 (en) | 2004-12-31 | 2012-11-13 | Microsoft Corporation | Adaptive coefficient scan order |
US8599925B2 (en) | 2005-08-12 | 2013-12-03 | Microsoft Corporation | Efficient coding and decoding of transform blocks |
EP2733952A1 (en) | 2005-10-21 | 2014-05-21 | Electronics and Telecommunications Research Institute | Method for encoding moving picture using adaptive scanning |
JP4918099B2 (ja) | 2005-11-30 | 2012-04-18 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 係数再整列を適用するエンコード方法および装置 |
US7345601B2 (en) | 2005-12-21 | 2008-03-18 | Texas Instruments Incorporated | Variable length coding algorithm for multiple coding modes |
WO2007107170A1 (en) | 2006-03-22 | 2007-09-27 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Coding scheme enabling precision-scalability |
US8401082B2 (en) | 2006-03-27 | 2013-03-19 | Qualcomm Incorporated | Methods and systems for refinement coefficient coding in video compression |
US8275045B2 (en) | 2006-07-12 | 2012-09-25 | Qualcomm Incorporated | Video compression using adaptive variable length codes |
JP5099404B2 (ja) | 2006-08-14 | 2012-12-19 | 富士ゼロックス株式会社 | 画像処理装置、ルックアップテーブルの設定方法 |
WO2008038187A2 (en) | 2006-09-26 | 2008-04-03 | Ambx Uk Limited | Creation and handling of a bitstream comprising video frames and auxiliary data |
US8565314B2 (en) | 2006-10-12 | 2013-10-22 | Qualcomm Incorporated | Variable length coding table selection based on block type statistics for refinement coefficient coding |
US8599926B2 (en) | 2006-10-12 | 2013-12-03 | Qualcomm Incorporated | Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers |
US8243613B2 (en) | 2006-11-28 | 2012-08-14 | Samsung Electronics Co., Ltd | Method and apparatus for estimating velocity of mobile station using channel quality indicator in a mobile communication system |
KR100908007B1 (ko) | 2006-12-01 | 2009-07-16 | 삼성전자주식회사 | 무선 네트워크 시스템 및 상기 무선 네트워크상에서데이터를 송수신하는 방법 |
US7573405B2 (en) | 2006-12-29 | 2009-08-11 | Texas Instruments Incorporated | System updating accumulated statistics coding variable values after multiple encodings |
US8335261B2 (en) | 2007-01-08 | 2012-12-18 | Qualcomm Incorporated | Variable length coding techniques for coded block patterns |
PL2123052T3 (pl) | 2007-01-18 | 2011-05-31 | Fraunhofer Ges Forschung | Strumień danych wideo o skalowalnej jakości |
KR100841338B1 (ko) | 2007-02-27 | 2008-06-26 | 삼성전자주식회사 | 비디오 디코더를 위한 에뮬레이션 방지 바이트 제거 장치 |
US7486211B2 (en) | 2007-04-13 | 2009-02-03 | Apple Inc. | Method and system for entropy coding |
US7501964B2 (en) | 2007-04-16 | 2009-03-10 | Texas Instruments Incorporated | Entropy coding for digital codecs |
US8571104B2 (en) | 2007-06-15 | 2013-10-29 | Qualcomm, Incorporated | Adaptive coefficient scanning in video coding |
US8488668B2 (en) | 2007-06-15 | 2013-07-16 | Qualcomm Incorporated | Adaptive coefficient scanning for video coding |
US8144784B2 (en) | 2007-07-09 | 2012-03-27 | Cisco Technology, Inc. | Position coding for context-based adaptive variable length coding |
US8502709B2 (en) | 2007-09-17 | 2013-08-06 | Nvidia Corporation | Decoding variable length codes in media applications |
US8204327B2 (en) | 2007-10-01 | 2012-06-19 | Cisco Technology, Inc. | Context adaptive hybrid variable length coding |
US8265162B2 (en) | 2007-10-01 | 2012-09-11 | Cisco Technology, Inc. | Context adaptive position and amplitude coding of coefficients for video compression |
JP2009111691A (ja) | 2007-10-30 | 2009-05-21 | Hitachi Ltd | 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法 |
NO328295B1 (no) | 2007-12-20 | 2010-01-25 | Tandberg Telecom As | VLC-fremgangsmate og -innretning |
TWI361009B (en) | 2008-03-06 | 2012-03-21 | Realtek Semiconductor Corp | Method and apparatus for processing audio/vedio bi |
KR20090097013A (ko) | 2008-03-10 | 2009-09-15 | 삼성전자주식회사 | 영상 부호화장치 및 영상 복호화장치 |
KR101375668B1 (ko) | 2008-03-17 | 2014-03-18 | 삼성전자주식회사 | 변환 계수의 부호화, 복호화 방법 및 장치 |
US8508390B2 (en) | 2008-08-18 | 2013-08-13 | Dayin Gou | Combining transform coefficient decoding with variable length decoding |
US8406307B2 (en) | 2008-08-22 | 2013-03-26 | Microsoft Corporation | Entropy coding/decoding of hierarchically organized data |
JP2010103969A (ja) | 2008-09-25 | 2010-05-06 | Renesas Technology Corp | 画像復号方法、画像復号装置、画像符号化方法及び画像符号化装置 |
US8634456B2 (en) | 2008-10-03 | 2014-01-21 | Qualcomm Incorporated | Video coding with large macroblocks |
EP2182732A1 (en) | 2008-10-28 | 2010-05-05 | Panasonic Corporation | Switching between scans in image coding |
BRPI0922120A2 (pt) | 2008-11-07 | 2016-01-05 | Mitsubishi Electric Corp | codificador de imagem, e, decodificador de imagem. |
BRPI0922846A2 (pt) | 2008-12-03 | 2018-01-30 | Nokia Corp | alternando entre modos de codificação do coeficiente dct |
US9391635B2 (en) | 2009-05-15 | 2016-07-12 | Texas Instruments Incorporated | Block scanner and run-level encoder from AC to DC values |
WO2010133763A1 (en) | 2009-05-19 | 2010-11-25 | Nokia Corporation | Method for variable length coding and apparatus |
US20110280314A1 (en) | 2010-05-12 | 2011-11-17 | Texas Instruments Incorporated | Slice encoding and decoding processors, circuits, devices, systems and processes |
US8934540B2 (en) | 2010-07-20 | 2015-01-13 | Cisco Technology, Inc. | Video compression using multiple variable length coding methods for multiple types of transform coefficient blocks |
US20120082230A1 (en) | 2010-10-01 | 2012-04-05 | Qualcomm Incorporated | Variable length coding of video block coefficients |
US20120236931A1 (en) | 2010-12-23 | 2012-09-20 | Qualcomm Incorporated | Transform coefficient scan |
US20120163471A1 (en) | 2010-12-23 | 2012-06-28 | Qualcomm Incorporated | Variable length coding of video block coefficients |
US9490839B2 (en) | 2011-01-03 | 2016-11-08 | Qualcomm Incorporated | Variable length coding of video block coefficients |
US8446301B2 (en) | 2011-04-15 | 2013-05-21 | Research In Motion Limited | Methods and devices for coding and decoding the position of the last significant coefficient |
US20130089138A1 (en) | 2011-06-27 | 2013-04-11 | Qualcomm Incorporated | Coding syntax elements using vlc codewords |
US9338456B2 (en) | 2011-07-11 | 2016-05-10 | Qualcomm Incorporated | Coding syntax elements using VLC codewords |
-
2012
- 2012-06-28 US US13/535,536 patent/US9516316B2/en active Active
- 2012-06-29 JP JP2014519152A patent/JP5755808B2/ja not_active Expired - Fee Related
- 2012-06-29 KR KR1020147002573A patent/KR101650636B1/ko active IP Right Grant
- 2012-06-29 WO PCT/US2012/044976 patent/WO2013003741A1/en active Application Filing
- 2012-06-29 CN CN201280031931.7A patent/CN103636207B/zh not_active Expired - Fee Related
- 2012-06-29 EP EP12733394.6A patent/EP2727347A1/en not_active Withdrawn
- 2012-06-29 TW TW101123630A patent/TW201313031A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN103636207A (zh) | 2014-03-12 |
JP2014525169A (ja) | 2014-09-25 |
KR20140035507A (ko) | 2014-03-21 |
CN103636207B (zh) | 2018-03-09 |
WO2013003741A1 (en) | 2013-01-03 |
KR101650636B1 (ko) | 2016-08-23 |
US9516316B2 (en) | 2016-12-06 |
EP2727347A1 (en) | 2014-05-07 |
JP5755808B2 (ja) | 2015-07-29 |
US20130114669A1 (en) | 2013-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5788517B2 (ja) | ジョイントコンテキストモデルを使用した係数のエントロピーコード化 | |
JP5823623B2 (ja) | ビデオコーディングのための動きベクトル予測子候補クリッピング削除 | |
TWI657692B (zh) | 於視訊寫碼程序中用於係數層級寫碼之萊斯(rice)參數初始化 | |
US8942282B2 (en) | Variable length coding of coded block pattern (CBP) in video compression | |
TWI484830B (zh) | 用於視訊編碼之轉換係數之編碼 | |
JP5755808B2 (ja) | ルーマおよびクロマブロックのためのvlc係数コーディング | |
US20120236931A1 (en) | Transform coefficient scan | |
US20120082230A1 (en) | Variable length coding of video block coefficients | |
JP2015516770A (ja) | ビデオコーディングにおける量子化行列のための均一粒度 | |
TW201547256A (zh) | 在一視訊寫碼處理中之係數階寫碼 | |
JP2013543317A5 (zh) | ||
US20130089138A1 (en) | Coding syntax elements using vlc codewords | |
TW201937926A (zh) | 在視訊寫碼中用於適應性算術寫碼之機率初始化及發信號 | |
EP2786568A1 (en) | Largest coding unit (lcu) or partition-based syntax for adaptive loop filter and sample adaptive offset in video coding | |
US20120163471A1 (en) | Variable length coding of video block coefficients | |
US20120147971A1 (en) | Codeword adaptation for variable length coding | |
US9490839B2 (en) | Variable length coding of video block coefficients | |
KR101652183B1 (ko) | Vlc 코드워드들을 이용한 코딩 구문 요소들 |