TW201724852A - 平行算術寫碼技術 - Google Patents

平行算術寫碼技術 Download PDF

Info

Publication number
TW201724852A
TW201724852A TW105127334A TW105127334A TW201724852A TW 201724852 A TW201724852 A TW 201724852A TW 105127334 A TW105127334 A TW 105127334A TW 105127334 A TW105127334 A TW 105127334A TW 201724852 A TW201724852 A TW 201724852A
Authority
TW
Taiwan
Prior art keywords
symbols
encoded
video
symbol
write code
Prior art date
Application number
TW105127334A
Other languages
English (en)
Inventor
帕維爾 辛哈
馬克 塔德維奇
Original Assignee
高通公司
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 高通公司 filed Critical 高通公司
Publication of TW201724852A publication Critical patent/TW201724852A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/177Methods 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 group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本文中描述用於解碼經壓縮資料之系統及方法。一記憶體可接收包含使用一基於算術寫碼之寫碼技術所編碼之一經編碼符號字串之一資料串流。該經編碼符號字串表示一系列一或多個經解碼符號。該一或多個經解碼符號中之每一者包含一最可能符號及一最不可能符號中之一者。一處理器可藉由基於該等經編碼符號中之一或多者來執行複數個平行數學比較而判定該系列一或多個經解碼符號中之連續最可能符號之一數目。該處理器可進一步基於該複數個平行數學比較來解碼該系列一或多個經解碼符號中之一符號群組。該符號群組包含該數目個連續最可能符號。

Description

平行算術寫碼技術
本發明大體上係關於寫碼,包括視訊寫碼。更具體言之,本發明係關於用於藉由使用平行處理技術來解碼使用基於算術寫碼之寫碼技術所編碼之資料(包括視訊資料)的系統及方法。
數位視訊能力可併入至廣泛範圍之器件中,該等器件包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、平板電腦、電子書閱讀器、數位攝影機、數位記錄器件、數位媒體播放器、視訊遊戲器件、視訊遊戲主控台、蜂巢式或衛星無線電電話(所謂的「智慧型電話」)、視訊電傳會議器件、視訊串流器件及其類似者。數位視訊器件實施視訊寫碼技術,諸如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4 (第10部分)、進階視訊寫碼(AVC)、高效率視訊寫碼(HEVC)標準及此等標準之延伸所定義之標準中所描述的技術。視訊器件可藉由實施此等視訊寫碼技術來更高效地傳輸、接收、編碼、解碼及/或儲存數位視訊資訊。 視訊寫碼技術包括空間(圖像內)預測及/或時間(圖像間)預測以縮減或移除為視訊序列所固有的冗餘。對於基於區塊之視訊寫碼,可將視訊截塊(例如,視訊圖框或視訊圖框之部分)分割成視訊區塊,對於一些技術,視訊區塊亦可被稱作樹型區塊、寫碼單元(CU)及/或寫碼節點。圖像之經框內寫碼(I)截塊中之視訊區塊係使用關於同一圖像中之相鄰區塊中之參考樣本的空間預測予以編碼。圖像之經框間寫碼(P或B)截塊中之視訊區塊可使用關於同一圖像中之相鄰區塊中之參考樣本的空間預測,或關於其他參考圖像中之參考樣本的時間預測。圖像可被稱作圖框,且參考圖像可被稱作參考圖框。 空間或時間預測得到用於待寫碼區塊之預測性區塊。殘餘資料表示原始待寫碼區塊與預測性區塊之間的像素差。根據指向形成預測性區塊之參考樣本區塊之運動向量及指示經寫碼區塊與預測性區塊之間的差之殘餘資料來編碼經框間寫碼區塊。根據框內寫碼模式及殘餘資料來編碼經框內寫碼區塊。出於進一步壓縮起見,可將殘餘資料自像素域變換至變換域,從而得到殘餘變換係數,其接著可被量化。可掃描最初以二維陣列而配置之經量化變換係數以便產生變換係數之一維向量,且可應用熵寫碼以達成甚至更多的壓縮。 除了數位視訊能力以外或替代數位視訊能力,器件亦可能夠以空中方式或經由有線鏈路來傳輸及接收任何類型之數位內容。可在傳輸之前壓縮此數位內容。
本發明之教示之一個態樣係關於一種用於解碼經壓縮資料之方法。該方法包含接收包含使用一基於算術寫碼之寫碼技術所編碼之一經編碼符號字串之一資料串流。該經編碼符號字串表示一系列一或多個經解碼符號。該一或多個經解碼符號中之每一者包含一最可能符號及一最不可能符號中之一者。該方法進一步包含藉由基於該等經編碼符號中之一或多者來執行複數個平行數學比較而判定該系列一或多個經解碼符號中之連續最可能符號之一數目。該方法進一步包含基於該複數個平行數學比較來解碼該系列一或多個經解碼符號中之一符號群組。該符號群組包含該數目個連續最可能符號。 本發明之教示之另一態樣係關於一種用於解碼經壓縮資料之系統。該系統包含一記憶體,其經組態以接收包含使用一基於算術寫碼之寫碼技術所編碼之一經編碼符號字串之一資料串流。該經編碼符號字串表示一系列一或多個經解碼符號。該一或多個經解碼符號中之每一者包含一最可能符號及一最不可能符號中之一者。該系統進一步包含一處理器,其經組態以藉由基於該等經編碼符號中之一或多者來執行複數個平行數學比較而判定該系列一或多個經解碼符號中之連續最可能符號之一數目。該處理器經進一步組態以基於該複數個平行數學比較來解碼該系列一或多個經解碼符號中之一符號群組。該符號群組包含該數目個連續最可能符號。 本發明之教示之另一態樣係關於一種非暫時性電腦可讀媒體,其上儲存有指令,該等指令在執行時致使用於解碼資料之一器件之一處理器執行用於解碼經壓縮資料之一方法。該方法包含接收包含使用一基於算術寫碼之寫碼技術所編碼之一經編碼符號字串之一資料串流。該經編碼符號字串表示一系列一或多個經解碼符號。該一或多個經解碼符號中之每一者包含一最可能符號及一最不可能符號中之一者。該方法進一步包含藉由基於該等經編碼符號中之一或多者來執行複數個平行數學比較而判定該系列一或多個經解碼符號中之連續最可能符號之一數目。該方法進一步包含基於該複數個平行數學比較來解碼該系列一或多個經解碼符號中之一符號群組。該符號群組包含該數目個連續最可能符號。 本發明之教示之另一態樣係關於一種用於解碼經壓縮資料之系統。該系統包含用於接收包含使用一基於算術寫碼之寫碼技術所編碼之一經編碼符號字串之一資料串流的構件。該經編碼符號字串表示一系列一或多個經解碼符號。該一或多個經解碼符號中之每一者包含一最可能符號及一最不可能符號中之一者。該系統進一步包含用於藉由基於該等經編碼符號中之一或多者來執行複數個平行數學比較而判定該系列一或多個經解碼符號中之連續最可能符號之一數目的構件。該系統進一步包含用於基於該複數個平行數學比較來解碼該系列一或多個經解碼符號中之一符號群組的構件。該符號群組包含該數目個連續最可能符號。
本發明之技術係關於用於藉由使用平行處理技術以縮減解碼潛時來解碼使用基於算術寫碼之寫碼技術所編碼之資料(包括視訊資料)的系統及方法。詳言之,本文中所描述之系統及方法可關於同時處理經寫碼資料區塊(例如,在單一時脈循環中之若干經解碼符號)之算術解碼技術,其可被稱作「區塊算術寫碼」。此等技術可有利地允許經寫碼資料之解碼速率大約與經寫碼資料之經編碼(例如,經壓縮)資料符號速率成比例,此意謂解碼經編碼資料符號字串所需要之循環之數目大約等於經編碼資料符號之數目。此經縮減潛時可導致解碼計算較快,從而潛在地節省時間及能量。該等技術可應用於現有視訊編解碼器中之任一者(諸如高效視訊寫碼(HEVC)),或可為用於任何未來視訊寫碼標準之高效寫碼工具。此外,此等技術可經調適為無乘數寫碼技術(例如,Q寫碼器、MQ寫碼器等等)及基於乘數之寫碼技術。此允許使經縮減潛時解碼器不對壓縮比產生任何負面影響(例如,基於乘數之寫碼技術)或能夠用壓縮比交換計算複雜度(例如,基於無乘數之寫碼技術)的靈活性。此外,此等技術並不需要位元填塞(bit-stuffing)以便執行平行處理。儘管關於視訊寫碼來描述該等技術,但熟習此項技術者應理解,此等技術可用於寫碼其他類型之資料。 舉例而言,通常可藉由使用進一步壓縮以增強低功率要求來改良數位資料之串列傳輸。根據本文中所論述之技術,可針對同步及/或非同步鏈路來改良此串列傳輸。詳言之,本文中所描述之壓縮技術可不僅縮減經由同步鏈路而傳輸所需要之位元之總數目,而且縮減在器件之間傳輸所需要之同步時脈之數目。更一般化而言,本文中所論述之壓縮技術可(諸如)藉由允許儘可能快速地使時脈關閉以節省電力來縮減壓縮及解壓縮數位資料所需要之時脈循環之數目,藉此需要較低功率來實施。 視訊寫碼器件實施視訊壓縮技術以高效地編碼及解碼視訊資料。視訊壓縮技術可包括應用空間預測(例如,圖框內預測(框內預測))、時間預測(例如,圖框間預測(框間預測))及/或其他預測技術以縮減或移除為視訊序列所固有的冗餘。視訊編碼器通常將原始視訊序列中之每一圖像分割成被稱作視訊區塊或寫碼單元之矩形區域。可使用特定預測模式來編碼此等視訊區塊。 可以一或多種方式將此等視訊區塊劃分成一或多個較小視訊區塊(例如,預測區塊(PB)、變換區塊(TB))群組,每一群組個別地代表整個視訊區塊,如本文中進一步所描述。因此,除非另有指定,否則大體上對區塊之參考可指此等視訊區塊(例如,寫碼樹型區塊(CTB)、寫碼區塊等等)、預測區塊、變換區塊或其他適當區塊或子區塊,如將由一般熟習此項技術者所理解。此外,此等區塊中之每一者亦可互換地在本文中被稱作「單元」(例如,寫碼樹型單元(CTU)、寫碼單元、預測單元(PU)、變換單元(TU)等等)。一般熟習此項技術者將認識到,單元可指示在位元串流中所編碼之寫碼邏輯單元,而區塊可指示為程序之目標的視訊圖框緩衝器之部分。 對於框間預測模式,視訊編碼器通常在另一時間位置中之圖框(被稱作參考圖框)中搜尋相似於正被編碼區塊之區塊。視訊編碼器可將搜尋限定於自待編碼區塊之某一空間位移。可使用包括水平位移分量及垂直位移分量之二維(2D)運動向量來定位最佳匹配。對於框內預測模式,視訊編碼器可基於來自同一圖像內之經先前編碼相鄰區塊的資料而使用空間預測技術來形成經預測區塊。 視訊編碼器可判定預測誤差,亦即,正被編碼區塊與經預測區塊中之像素值之間的差(亦被稱作殘餘)。視訊編碼器亦可將諸如離散餘弦變換(DCT)之變換應用於預測誤差以產生變換係數。在變換之後,視訊編碼器可量化變換係數。可使用語法元素來表示經量化變換係數及運動向量,且經量化變換係數及運動向量連同控制資訊一起形成視訊序列之經寫碼表示。在一些情況下,視訊編碼器可熵寫碼語法元素,藉此進一步縮減其表示所需要之位元之數目。 舉例而言,算術寫碼為可由視訊編碼器使用以熵寫碼語法元素及/或控制資訊之熵寫碼形式。詳言之,在熵寫碼中,運用較少位元來編碼及儲存頻繁使用之字元,而並非如運用較多位元來編碼及儲存頻繁使用之字元。經解碼視訊序列之表示(例如,語法元素及/或控制資訊)可被表示為符號(例如,位元)系列或字串。該等符號可具有不同值,包括最可能符號及最不可能符號。詳言之,一個符號相較於另一符號(亦即,最不可能符號)可更加有可能(亦即,最可能符號)位於經解碼字串中。舉例而言,最可能符號可為0,而最不可能符號可為1。視訊編碼器可經組態以編碼符號字串以產生表示經解碼符號字串之經編碼符號字串。視訊解碼器可經組態以解碼經編碼符號以擷取原始(亦即,經解碼)符號字串。 下文以偽程式碼展示使用區間按比例調整及整數算術之算術編碼程序之一個實例。 在一個實例中,待編碼字串之長度為200個位元(例如,符號),因此,變數Total_Count及Cum_count(x)表示長度為8個位元(例如,用以能夠表示高達200之值的位元之最少數目)之暫存器。熟習此項技術者應理解,偽程式碼亦可經調適用於其他適當暫存器大小及字串長度。此外,在該實例中,L及U可表示長度為之暫存器,在此實例中,該長度可為10個位元。Scale3可為長度為之暫存器,在此實例中,該長度可為4個位元。此外,可如下初始化該等暫存器:𝐿=0;𝑆𝑐𝑎𝑙𝑒3=0;將𝑈設定為全1 (亦即,在此實例中為1023);𝑇𝑜𝑡𝑎𝑙_𝐶𝑜𝑢𝑛𝑡 = 200 (亦即,其表示待編碼位元之數目);Cum_count(0)=0;Cum_count(1)=待編碼字串中之最可能符號(例如,0)之總計數;且Cum_count(2) = 200 (亦即,其表示待編碼位元之數目。可根據編碼偽程式碼A來如下執行算術編碼: While (symbols to encode )  { /* Start Section A*/          Fetch next symbol to encode = 'x'             //'x'={0,1}          //Cum_count (2) =Total_Count -Cum_count (0)/*End Section A*/ /*Start Section B*/          While (MSB (most significant bit) ofU andL are equal OR the current interval          [L -U ] is bounded by the intervalof 1023 (i.e., the max value of U)) {                 if (MSB ofU andL are both equal to ' b ')  {                          set ' b 'as the next encoded symbol// ' b '= { 0 , 1 } ShiftL to the left by 1 bit and shift 0 into LSB (least significant bit)                          ShiftU to the left by 1 bit and shift 1 into LSB if (Scale3 > 0){set the complement of ' b 'Scale3 times as the next encoded                                                             symbol(s);                                 setScale3 = 0  }                 }                 if (current interval [L -U ] is bounded by the interval of 1023)  {                          shiftL to the left by 1 bit and shift 0 into LSB                          shiftU into left by 1 bit and shift 1 into LSB                          complement (new) MSB of L and U                          incrementScale3 }          } /*End Section B*/ } 視訊解碼器可使用上文所論述之語法元素及控制資訊來建構用於解碼當前圖框之預測性資料(例如,預測性區塊)。舉例而言,視訊解碼器可將經預測區塊與經壓縮預測誤差相加。視訊解碼器可藉由使用經量化係數來加權變換基底函數而判定經壓縮預測誤差。經重新建構圖框與原始圖框之間的差被稱為重新建構誤差。舉例而言,視訊解碼器可解碼自視訊編碼器接收的使用基於算術寫碼之寫碼技術(諸如基於偽程式碼A)所編碼之經編碼符號字串以擷取語法元素及/或控制資訊。 下文以偽程式碼B展示使用區間按比例調整及整數算術之算術解碼程序之一個實例。 在一個實例中,經編碼字串之長度為200個位元(例如,符號),因此,變數Total_Count、Cum_count(x)及Count_0表示長度為8個位元(亦即,用以能夠表示高達200之值)之暫存器。可自編碼器接收經編碼之經解碼字串之長度的值及經編碼字串中之最可能符號之數目的計數,例如,作為控制資訊。熟習此項技術者應理解,偽程式碼亦可經調適用於其他適當暫存器大小及字串長度。此外,在該實例中,L、U及T可表示長度為之暫存器,在此實例中,該長度可為10個位元。此外,可如下初始化該等暫存器:𝐿=0;將𝑈設定為全1 (亦即,在此實例中為1023);𝑇𝑜𝑡𝑎𝑙_𝐶𝑜𝑢𝑛𝑡 = 200 (亦即,其表示待編碼位元之數目);將經編碼字串之前個位元讀取至T中(亦即,T表示輸入經編碼字串);Cum_count(0)=0;Cum_count(1)= Count_0;Cum_count(2) = 200 (亦即,其表示待編碼位元之數目);且Count_0 =經編碼字串中之最可能符號之總計數。可根據解碼偽程式碼B來如下執行算術解碼: While (all symbols not decoded )  { /*Start Section A/          //Cum_count (2) =Total_Count-Cum_count (0)Val =(T -L +1) *Total_Count -1          if(ValCount _0 * (U -L + 1)){decode symbol 'x' as '0'}          else{ decode symbol 'x' as '1'}/*End Section A*/ /*Start Section B*/          While (MSB (most significant bit) ofU andL are equal OR the current interval          [L -U ] is bounded by the intervalof 1023 (i.e., the max value of U)) {                 if (MSB ofU andL are both equal to ' b ')  {// ' b '= { 0 , 1 } ShiftL to the left by 1 bit and shift 0 into LSB (least significant bit)                        ShiftU to the left by 1 bit and shift 1 into LSB ShiftT to the left by 1 bit and read the next encoded bit of the string into LSB                 }                 if (current interval [L -U ] is bounded by the intervalof 1023)  {                        ShiftL to the left by 1 bit and shift 0 into LSB                        ShiftU into left by 1 bit and shift 1 into LSB                        ShiftT to the left by 1 bit and read the next encoded bit of the string into LSB                        Complement (new) MSB of L, U, and T                 }          } /*End Section B*/ } 在將解碼偽程式碼B之第一while迴圈(在第二while迴圈之前)之第一部分稱作Section A且將巢套於第一while迴圈中之第二while迴圈稱作Section B的情況下,偽程式碼B表示解碼演算法。在此演算法中,每當執行Section A時,就解碼單一輸出符號且接著執行Section B。在Section B中,while迴圈可執行一或多次,之後返回至Section A。如可自偽程式碼B所見,Section A執行之次數等於經解碼資料字串之長度(亦即,符號之數目) (其長於自編碼器接收之經編碼資料字串之長度)。因此,根據解碼演算法的經編碼資料字串之解碼速率高於經編碼資料字串之速率。 本文中所描述之技術注意到,若不滿足Section B之條件且不需要將新符號讀取至T中以供解碼,則僅執行Section A以用於解碼下一符號。僅在U與L相等或含於區間 中的情況下才觸發Section B。因此,本文中描述一種用於解碼使用算術寫碼技術所編碼之經編碼字串之技術,該技術使用平行處理技術以在觸發演算法之Section B之前解碼儘可能多的符號。可大約以經編碼符號速率(例如,每經編碼符號一個時脈循環)解碼此等符號。下文所描述之實例假定最可能符號為「0」且因此經設計以同時解碼若干「0」。熟習此項技術者應注意,相似技術可用以使用平行處理技術來解碼另一值之若干最可能符號。 在Section A中,L之值不會改變,只要經解碼符號為「0」即可。因此,可如下非遞歸地解碼U之值: //「0」之機率 假定針對編碼器演算法及解碼器演算法兩者移除底限運算子: (方程式1) 因此,可運用以上方程式1來近似U N ,其限制條件為同一方程式1用於編碼器側及解碼器側兩者處。因此,剩下要判定之僅有變數為「0」之數目以解碼或判定U N 之方程式1中的「N」之值。 假定L不變且正被解碼之輸入符號為0,則Val之值不會改變。因此,用以判定待解碼之0之數目以用於Section A之每一區塊解碼的一組平行比較如下: 方程式2.1:Val(1)   < Count_0 *解碼「0」,否則解碼「1」 方程式2.2:Val(2)   < Count_0 *解碼「00」,否則解碼「01」. . . 方程式2.N:Val(N)   < Count_0 *解碼「00…0」,否則解碼「00…1」 可並行地評估以上方程式2.1至2.N中之每一者(例如,平行解碼區塊),且第一無效條件(亦即,用於N之最低值之無效方程式)給出N之值。舉例而言,若方程式2.3為第一無效方程式,則N = 3。因此,取決於可並行地執行之方程式2.N之數目(例如,其可取決於所使用之解碼硬體,該解碼硬體可為經設計及/或程式化以執行所描述技術的任何合適形式之特殊化處理硬體),可在單一時脈循環中解碼若干符號。詳言之,可在單一時脈循環中解碼成一列之一樣多的連續最可能符號,隨後可在單一時脈循環中解碼單一最不可能符號。替代地,若可被解碼的成一列之連續最可能符號之數目受到硬體約束限制,且未達到最不可能符號(亦即,該等比較中之任一者皆有效),則解碼彼最大數目個連續最可能符號。因此,基於所描述技術,Section A之區塊反覆之數目(例如,進行平行比較之次數)取決於經連續編碼之最可能符號之數目,此意謂解碼符號且執行Section A之速率可大約與傳入經編碼符號之速率成比例(例如,每經編碼符號需要一個時脈循環以供解碼)。 此外,亦可並行地評估偽程式碼B中所描述之解碼器演算法之Section B。詳言之,在Section B中執行之計算限於值之位元移位、補充及比較。因此,可實施組合邏輯(例如,經設計及/或程式化以執行所描述技術的任何合適形式之特殊化處理硬體)以執行Section B之計算作為平行區塊(亦即,經平行計算邏輯)。 舉例而言,若使用兩個平行區塊以計算Section B,則用以計算Section B之第一區塊將由組合邏輯組成以實施如所展示之Section B之演算法以計算Section B之while迴圈之第一回合。用以計算Section B之第二區塊將包括預看邏輯(look ahead logic)且針對Section B之while迴圈之第二回合計算Section B之兩個可能分支:1)根據while迴圈之第一回合而對U及L進行1個位元之左移位;及2)根據while迴圈之第一回合而對U及L進行1個位元之左移位且亦補充U、L及T之MSB。用作最終結果的用以計算Section B之第二區塊之結果將基於用以計算Section B之第一區塊之結果(例如,相似於進位鏈邏輯)。因此,可在單一時脈循環中對Section B執行兩個遍次之計算。 相似地,可使用任何數目個額外平行區塊以計算Section B,以增加可在單一時脈循環中計算的Section B之遍次之數目。額外平行區塊將經組態以在while迴圈之彼回合(亦即,第一、第二、第三、第四等等)處執行及計算所有可能分支。舉例而言,用以計算Section B之第三區塊將需要計算對應於while迴圈之第三回合的4個可能分支(亦即,其中根據while迴圈之兩個可能第二回合中之每一者而對U及L進行1個位元之左移位;且其中根據while迴圈之兩個可能第二回合中之每一者而對U及L進行1個位元之左移位且亦補充U、L及T之MSB)。將基於先前平行區塊之結果來選擇所計算之最終平行區塊之結果(亦即,最終區塊係基於先前區塊,其係基於先前區塊,等等)。可看出,為了增加用以計算Section B之平行區塊之數目,對於每一連續區塊,邏輯按指數律成比例地增加(亦即,假定第一區塊之邏輯要求被視為1,則每一區塊之邏輯要求為2^x,其中x為區塊數目1、2、3、4等等)。 此外,藉由使用平行區塊以用於處理Section B,Section B之反覆之總數目可大約等於正被解碼之經編碼符號之數目。 應注意,可基於用以尋找硬體成本與效能之間的適當平衡之測試來選擇用以針對Section A執行平行比較及/或對Section B中之區塊執行平行處理的邏輯之量(例如,硬體中之平行組件之量)。舉例而言,邏輯之量可取決於用於實施之技術選擇(例如,DSP、FPGA等等)及正被寫碼之資料類型而變化。 在以上實例中,暫存器U之位元寬度為10個位元。因此,在任何時間所需要的Section B之反覆之數目將小於10。因此,在此實施中用於Section B之平行區塊之數目可限於不多於10,且更具體言之,可被設定為7,此係因為在使用高於7個平行區塊的情況下可不存在顯著效能益處。 基於針對解碼所描述之區塊平行處理,Section B之反覆之總數目等於待解碼之經編碼符號之總數目。因此,類似於Section A,執行Section B之速率可大約與傳入經編碼符號之速率成比例(例如,每經編碼符號需要一個時脈循環以供執行)。因此,用於所組合之Section A及Section B之經編碼符號的解碼速率大約與經編碼符號速率(例如,正被解碼之經編碼符號之數目)成正比。在一些實施例中,可在單一時脈循環中一起計算Section A及Section B兩者之反覆之計算。 關於基於乘數之寫碼技術而描述用於藉由使用上文所描述之平行處理技術來解碼使用基於算術寫碼之寫碼技術所編碼之資料(包括視訊資料)的技術。然而,如本文中所論述,相似技術可應用於基於無倍數之寫碼技術。 在一個實例中,本文中用於解碼資料之技術可用於使用基於Q寫碼器之無乘數編碼方案所編碼之資料。詳言之,可如下計算上文所論述之偽程式碼B之解碼演算法的Section A。 如上文所論述,在Section A中,L之值不會改變,只要經解碼符號為「0」即可。因此,可如下非遞歸地解碼U之值:(方程式3)//「0」之機率 因此,Q = 1 -P 因為將U及L按比例調整至用於整數表示的2^k,所以可重寫方程式3,其中將U及L按比例調整至1,且接著在將該方程式之整數形式轉換為有理形式的情況下,可導出以下方程式4:(方程式4) 其中u及l指示U及L之未按比例調整值且被界限於0與1之間。 在應用相似近似作為Q寫碼器的情況下,以下方程式保持成立: 若0 <K < 1; K *QQK *P =K * (1 -Q ) ≈KQ (方程式5) 在將方程式5之以上條件應用於的情況下,可導出以下方程式: 因此un +1 =u 0 - (n + 1) *Q (方程式6) 若Q對於如在調適性Q寫碼器中之每一反覆係不同的,則方程式6變為:(方程式7) 將需要如下由Total_Count (例如,藉由執行移位運算)按比例調整此等方程式6及7之整數等值:(方程式8)(對於變化的Q)              (方程式9)(方程式10) 如運用基於乘數之途徑所論述,之近似可僅在其應用於編碼器及解碼器兩者處以確保在編碼器及解碼器兩者中之L及U之匹配追蹤的情況下才有效。 假定L不變且正被解碼之輸入符號為0,則Val之值不會改變。 自Section A,進行以下比較:*( U -L +1 ) 此外, 𝑉𝑎𝑙 = (𝑇 - 𝐿 + 1) * 𝑇𝑜𝑡𝑎𝑙_𝐶𝑜𝑢𝑛𝑡 - 1 因此: (T -L +1)*Total_Count - 1<Count_ 0*( U -L +1 ) (T -L +1)≤P *( U -L +1 ) 其中P =Count_0/Total_Count Q =1-P (T -L )<P *( U -L ) +P 其中0≤P ≤ 1 0 ≤Q ≤ 1 (T -L + 1)<P *( U -L ) Valnew P *( U -L ) 其中Valnew = (T -L + 1) 另外,藉由應用Q寫碼器樣式近似,且因為U及L為用於整數表示的u及l之經按比例調整版本,所以下式保持成立:P *(U -L) =P *(u -l) *Total_Count =(u -l -Q ) *Total_Count 因此,如下進行用以判定待解碼之0之數目以用於Section A之每一區塊解碼的一組平行比較: 方程式11.1:Valnew(0)(u(0) -l -Q ) *Total_Count 解碼「0」,否則解碼「1」 方程式11.2:Valnew(1)(u(1) -l -Q ) =(u(0) -l -2 *Q ) *Total_Count →解碼「00」,否則解碼「01」. . . 方程式11.n:Valnew(n)(u(2) -l -Q ) = (u(0) -l -n *Q ) *Total_Count →解碼「00…0」,否則解碼「00…1」 對於變數Q,該比較變為: 方程式11.n:Valn-1 < Count_0 * () *Total_Count →解碼「00…0」,否則解碼「00…1」 可並行地評估以上方程式11.1至11.n中之每一者(例如,平行解碼區塊),且第一無效條件(亦即,用於n之最低值之無效方程式)給出n之值。舉例而言,若方程式11.3為第一無效方程式,則n = 3。因此,取決於可並行地執行之方程式11.n之數目(例如,其可取決於所使用之解碼硬體,該解碼硬體可為經設計及/或程式化以執行所描述技術的任何合適形式之特殊化處理硬體),可在單一時脈循環中解碼若干符號。詳言之,可在單一時脈循環中解碼成一列之一樣多的連續最可能符號,隨後可在單一時脈循環中解碼單一最不可能符號。替代地,若可被解碼的成一列之連續最可能符號之數目受到硬體約束限制,且未達到最不可能符號(亦即,該等比較中之任一者皆有效),則解碼彼最大數目個連續最可能符號。因此,基於所描述技術,Section A之區塊反覆之數目(例如,進行平行比較之次數)取決於經連續編碼之最可能符號之數目,此意謂解碼符號且執行Section A之速率可大約與傳入經編碼符號之速率成比例(例如,每經編碼符號需要一個時脈循環以供解碼)。 在另一實例中,本文中用於解碼資料之技術可用於使用基於調適性Q寫碼器之無乘數編碼方案所編碼之資料。舉例而言,JPEG Q寫碼器使用經預計算Q值之資料表,每當進行區間之重新正規化(例如,解碼演算法之Section B之執行)時就使用該等經預計算Q值。由JPEG使用之資料表可具有112個項目。 根據本文中所描述之技術,在資料表中,Q可被初始化為0.5,且每當進行重新正規化(亦即,Section B之執行)時就被修改,而非針對待解碼之每一新輸入經編碼符號被修改。在自經編碼符號解碼最可能符號之後,資料表藉由縮減Q之值來改變下一經解碼符號為最可能符號之可能性。在自經編碼符號解碼最不可能符號之後,資料表藉由增加Q之值來改變下一經解碼符號為最可能符號之可能性。 因為Q之值僅在進入解碼演算法之Section B時才被更新,所以此暗示:在僅執行Section A時,Q之值不會改變。因此,以下方程式12及13可以整數形式用於解碼基於調適性Q寫碼器之經編碼符號(其中U及L係由Total_Count按比例調整):(方程式12)(對於變化的Q)              (方程式13) 此等方程式相同於所論述的用於解碼基於Q寫碼器之經編碼符號的方程式8及9,且因此使用方程式11.n之相同比較可用以執行Section A以解碼經編碼符號。 基於以下分析,用於關於基於調適性Q寫碼器及Q寫碼器之寫碼技術所描述之實例解碼技術的Q寫碼器近似係有效的。 假設q為經解碼資料字串中之最不可能符號(例如,1)的真機率,且假設Q為用於來自使用平行處理技術之算術解碼的無乘數途徑之實例的近似中的機率。因此,無乘數方程式6之未按比例調整版本如下:(方程式14) 假設Ai 為在進入Section A時之區間且假設Aii 為在退出Section A時之區間,則如下基於方程式14來計算區間之改變:;因此(方程式15) 因為q為最不可能符號之真機率,所以基於方程式14,可如下計算在Section A中時具有成一序列之n個最可能符號0的機率Pmpsr:(方程式16) 對於q之小值,可進行以下近似:;因此                                              (方程式17)(方程式18) 在存在相等數目個最可能符號及最不可能符號重新正規化的情況下,Pmpsr = 0.5。因此:(方程式19) 在使用方程式17及19且求解Q的情況下,導出下式:(方程式20) 假定∆A 通常小於0.75 (亦即,約0.639或ln(2)),則理論上,Qq ,且近似因此保持成立。 因為∆A 之量值取決於重新正規化之類型,所以若最後發生最可能符號重新正規化,則∆A 接近於0.75。此外,若最後發生最不可能符號,則∆A 通常略小於0.75。此外,若Q過大,則Pmpsr亦大且演算法傾向於移動至Q之較小值。相反地,若Q過小,則Pmpsr小且演算法傾向於移動至Q之較大值。因此,演算法調適為且平衡為大約接近於Qq 的情況。 應注意,一般熟習此項技術者基於本發明而應理解,編碼及解碼技術可實施於如本文中所描述之系統及方法之不同實施例中。此外,所實施之編碼及解碼技術可基於本文中所描述的關於偽程式碼A及偽程式碼B之實例(例如,基於乘數之途徑、基於無乘數之途徑)中之任一者,或任何相似寫碼技術,其中該等系統及方法藉由基於一或多個經編碼符號來執行複數個平行數學比較而判定一系列一或多個經解碼符號中之連續最可能符號之數目。 圖1為說明可藉由使用如本文中所論述之平行處理技術來利用及實施基於算術寫碼之寫碼技術之實例視訊編碼及解碼系統10的方塊圖。如圖1所展示,系統10包括源器件12,其提供將在稍後時間由目的地器件14解碼之經編碼視訊資料。可運用基於算術寫碼之寫碼技術(諸如根據偽程式碼A或相似寫碼技術)且如本文中所描述來編碼視訊資料。可運用基於算術寫碼之寫碼技術(諸如根據偽程式碼B或相似寫碼技術)且如本文中所描述來解碼視訊資料。詳言之,源器件12經由電腦可讀媒體16將視訊資料提供至目的地器件14。源器件12及目的地器件14可包含廣泛範圍之器件中之任一者,包括桌上型電腦、筆記型(亦即,膝上型)電腦、平板電腦、機上盒、電話手機(諸如所謂的「智慧型」電話、所謂的「智慧型」板)、電視、攝影機、顯示器件、數位媒體播放器、視訊遊戲主控台、視訊串流器件或其類似者。在一些狀況下,源器件12及目的地器件14可經配備以用於無線通信。 目的地器件14可經由電腦可讀媒體16來接收待解碼之經編碼視訊資料。電腦可讀媒體16可包含能夠將經編碼視訊資料自源器件12移動至目的地器件14的任何類型之媒體或器件。在一個實例中,電腦可讀媒體16可包含通信媒體以使源器件12能夠即時地將經編碼視訊資料直接傳輸至目的地器件14。可根據通信標準(諸如無線通信協定)來調變經編碼視訊資料,且將其傳輸至目的地器件14。通信媒體可包含任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如區域網路、廣域網路,或諸如網際網路之全球網路)之部分。通信媒體可包括路由器、交換器、基地台,或可有用於促進自源器件12至目的地器件14之通信之任何其他設備。 在一些實例中,可將經編碼資料自輸出介面22輸出至儲存器件。相似地,可由輸入介面自儲存器件存取經編碼資料。儲存器件可包括多種分散式或本端存取式資料儲存媒體中之任一者,諸如硬碟機、藍光(Blu-ray)光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體,或用於儲存經編碼視訊資料之任何其他合適數位儲存媒體。在一另外實例中,儲存器件可對應於檔案伺服器或另一中間儲存器件,其可儲存由源器件12產生之經編碼視訊。目的地器件14可經由串流或下載而自儲存器件存取經儲存視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料且將彼經編碼視訊資料傳輸至目的地器件14的任何類型之伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附接儲存(NAS)器件或本端磁碟機。目的地器件14可經由任何標準資料連接(包括網際網路連接)來存取經編碼視訊資料。此資料連接可包括適合於存取儲存於檔案伺服器上之經編碼視訊資料的無線通道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機等等)或此兩者之組合。自儲存器件之經編碼視訊資料傳輸可為串流傳輸、下載傳輸,或其組合。 本發明之技術未必限於無線應用或設定。該等技術可應用於視訊寫碼以支援多種多媒體應用中之任一者,諸如空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如HTTP動態調適性串流(DASH))、編碼至資料儲存媒體上之數位視訊、儲存於資料儲存媒體上之數位視訊之解碼,或其他應用。在一些實例中,系統10可經組態以支援單向或雙向視訊傳輸以支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。 在圖1之實例中,源器件12包括視訊源18、視訊編碼器20及輸出介面22。目的地器件14包括輸入介面28、視訊解碼器30及顯示器件32。根據本發明,源器件12之視訊編碼器20可經組態以應用用於本文中所論述之算術寫碼的技術,諸如相似於關於偽程式碼A所描述之技術的編碼技術。在其他實例中,源器件及目的地器件可包括其他組件或配置。舉例而言,源器件12可自外部視訊源18 (諸如外部攝影機)接收視訊資料。同樣地,目的地器件14可與外部顯示器件介接,而非包括整合式顯示器件。 圖1之所說明系統10僅僅為一個實例。用於利用本文中所論述之算術寫碼技術的技術可由任何數位視訊編碼及/或解碼器件執行。儘管本發明之技術通常係由視訊編碼器件執行,但該等技術亦可由視訊編碼器/解碼器(通常被稱作「CODEC」)執行。此外,本發明之技術亦可由視訊預處理器執行,或甚至由不限於視訊資料之一般編碼器/解碼器執行。源器件12及目的地器件14僅僅為此等寫碼器件之實例,其中源器件12產生經寫碼視訊資料以供傳輸至目的地器件14。在一些實例中,器件12、14可以實質上對稱方式而操作,使得器件12、14中之每一者包括視訊編碼及解碼組件。因此,系統10可支援視訊器件12、14之間的單向或雙向視訊傳輸,例如,用於視訊串流、視訊播放、視訊廣播或視訊電話。 源器件12之視訊源18可包括視訊捕捉器件,諸如視訊攝影機、含有經先前捕捉視訊之視訊檔案庫,及/或用以自視訊內容提供者接收視訊之視訊饋送介面。作為一另外替代例,視訊源18可產生作為源視訊的基於電腦圖形之資料,或實況視訊、經存檔視訊及經電腦產生視訊之組合。在一些狀況下,若視訊源18為視訊攝影機,則源器件12及目的地器件14可形成所謂的攝影機電話或視訊電話。然而,如上文所提及,本發明中所描述之技術可大體上適用於視訊寫碼,或甚至適用於寫碼,且可應用於無線及/或有線應用。在每一狀況下,經捕捉、經預捕捉或經電腦產生視訊可由視訊編碼器20編碼。經編碼視訊資訊可接著由輸出介面22輸出至電腦可讀媒體16上。 電腦可讀媒體16可包括:瞬態媒體,諸如無線廣播或有線網路傳輸;或儲存媒體(亦即,非暫時性儲存媒體),諸如硬碟、隨身碟、緊密光碟、數位視訊光碟、藍光光碟或其他電腦可讀媒體。在一些實例中,網路伺服器(未圖示)可自源器件12接收經編碼視訊資料,且(例如)經由網路傳輸將經編碼視訊資料提供至目的地器件14。相似地,媒體生產設施(諸如光碟衝壓設施)之計算器件可自源器件12接收經編碼視訊資料且生產含有經編碼視訊資料之光碟。因此,在各種實例中,電腦可讀媒體16可被理解為包括各種形式之一或多個電腦可讀媒體。 目的地器件14之輸入介面28自電腦可讀媒體16接收資訊。電腦可讀媒體16之資訊可包括由視訊編碼器20定義之語法資訊,該語法資訊亦係由視訊解碼器30使用,其包括描述區塊及其他經寫碼單元(例如,GOP)之特性及/或處理的語法元素。顯示器件32將經解碼視訊資料顯示給使用者,且可包含多種顯示器件中之任一者,諸如陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器,或另一類型之顯示器件。 儘管圖1中未圖示,但在一些態樣中,視訊編碼器20及視訊解碼器30可各自與一音訊編碼器及解碼器整合,且可包括適當MUX-DEMUX單元或其他硬體及軟體,以處置共同資料串流或單獨資料串流中之音訊及視訊兩者之編碼。適用時,MUX-DEMUX單元可符合ITU H.223多工器協定,或諸如使用者資料報協定(UDP)之其他協定。 視訊編碼器20及視訊解碼器30 (或實施本文中所論述的關於使用平行處理技術之基於算術寫碼之寫碼技術之技術的任何編碼器或解碼器)各自可被實施為多種合適編碼器電路系統中之任一者,諸如一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。當該等技術係部分地以軟體予以實施時,一器件可將用於該軟體之指令儲存於合適的非暫時性電腦可讀媒體中,且使用一或多個處理器而以硬體執行該等指令以執行本發明之技術。視訊編碼器20及視訊解碼器30中之每一者可包括於一或多個編碼器或解碼器中,該或該等編碼器或解碼器中之任一者可被整合為各別器件中之組合式編碼器/解碼器(CODEC)之部分。 本發明可大體上涉及視訊編碼器20將某些資訊「傳信」至諸如視訊解碼器30之另一器件。術語「傳信」可大體上指用以解碼經壓縮視訊資料之語法元素及/或其他資料之通信。可即時地或近即時地發生此通信。替代地,可遍及一時間跨度而發生此通信,諸如可能在編碼時間在經編碼位元串流中將語法元素儲存至電腦可讀儲存媒體時發生此通信,接著可在儲存至此媒體之後由解碼器件在任何時間擷取該等語法元素。 視訊編碼器20及視訊解碼器30可根據視訊寫碼標準而操作。由ITU-T視訊寫碼專家群組(VCEG)及ISO/IEC動畫專家群組(MPEG)之視訊寫碼聯合協作小組(JCT-VC)以及3D視訊寫碼延伸開發聯合協作小組(JCT-3V)開發的實例視訊寫碼標準包括高效率視訊寫碼(HEVC)或ITU-T H.265,包括其範圍延伸、多視圖延伸(MV-HEVC)及可調式延伸(SHVC)。已定案之HEVC標準文件被公開為「ITU-T H.265, SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure of audiovisual services - Coding of moving video - High efficiency video coding」,國際電信聯合會(ITU)之電信標準化部門,2013年4月。替代地,視訊編碼器20及視訊解碼器30可根據其他專屬或工業標準(諸如ISO/IEC MPEG-4 Visual及ITU-T H.264 (亦被稱作ISO/IEC MPEG-4 AVC),包括其可調式視訊寫碼(SVC)延伸及多視圖視訊寫碼(MVC)延伸)而操作。然而,本發明之技術並不限於任何特定寫碼標準。舉例而言,本發明之技術可與多種其他專屬或非專屬視訊寫碼技術或後續標準(諸如ITU-T H.266)一起使用。 圖2為說明可藉由使用如本文中所論述之平行處理技術來利用及實施基於算術寫碼之寫碼技術的視訊編碼器20之實例的方塊圖。視訊編碼器20可執行視訊截塊內之視訊區塊之框內寫碼及框間寫碼。框內寫碼依賴於空間預測以縮減或移除給定視訊圖框或圖像內之視訊中的空間冗餘。框間寫碼依賴於時間預測以縮減或移除視訊序列之鄰近圖框或圖像內之視訊中的時間冗餘。框內模式(I模式)可指若干基於空間之寫碼模式中之任一者。框間模式(諸如單向預測(P模式)或雙向預測(B模式))可指若干基於時間之寫碼模式中之任一者。 如圖2所展示,視訊編碼器20接收待編碼視訊圖框內之當前視訊區塊。在圖2之實例中,視訊編碼器20包括視訊資料記憶體38、模式選擇單元40、參考圖像記憶體64、求和器50、變換處理單元52、量化單元54及熵編碼單元56。模式選擇單元40又包括運動補償單元44、運動估計單元42、框內預測單元46及分割單元48。出於視訊區塊重新建構起見,視訊編碼器20亦包括反量化單元58、反變換單元60及求和器62。亦可包括解區塊濾波器(圖2中未圖示)以濾波區塊邊界以自經重新建構視訊移除區塊效應假影。視需要,解區塊濾波器將通常濾波求和器62之輸出。除瞭解區塊濾波器以外,亦可使用額外濾波器(迴圈內或迴圈後)。出於簡潔起見而未展示此等濾波器,但視需要,此等濾波器可濾波求和器50之輸出(作為迴圈內濾波器)。 在編碼程序期間,視訊編碼器20接收待寫碼視訊圖框或截塊。可將該圖框或截塊劃分成多個視訊區塊。視訊資料記憶體38可儲存待由視訊編碼器20之組件編碼的視訊資料。可(例如)自視訊源18獲得儲存於視訊資料記憶體38中之視訊資料。參考圖像記憶體64可被稱作儲存參考視訊資料以供視訊編碼器20 (例如)在框內或框間寫碼模式中用來編碼視訊資料之DPB。視訊資料記憶體38及參考圖像記憶體64可由諸如以下各者之多種記憶體器件中之任一者形成:動態隨機存取記憶體(DRAM) (包括同步DRAM (SDRAM))、磁阻式RAM (MRAM)、電阻式RAM (RRAM),或其他類型之記憶體器件。視訊資料記憶體38及參考圖像記憶體64可由同一記憶體器件或單獨記憶體器件提供。在各種實例中,視訊資料記憶體38可與視訊編碼器20之其他組件一起在晶片上,或相對於彼等組件在晶片外。 運動估計單元42及運動補償單元44執行經接收視訊區塊相對於一或多個參考圖框中之一或多個區塊的框間預測性寫碼以提供時間預測。框內預測單元46可替代地執行經接收視訊區塊相對於與待寫碼區塊在同一圖框或截塊中之一或多個相鄰區塊的框內預測性寫碼以提供空間預測。視訊編碼器20可執行多個寫碼遍次,例如,以選擇用於每一視訊資料區塊之適當寫碼模式。 此外,分割單元48可基於先前寫碼遍次中之先前分割方案之評估而將視訊資料區塊分割成子區塊。舉例而言,分割單元48可最初將圖框或截塊分割成LCU,且基於速率-失真分析(例如,速率-失真最佳化)而將LCU中之每一者分割成子CU。模式選擇單元40可進一步產生指示將LCU分割成子CU之四元樹資料結構。四元樹之葉節點CU可包括一或多個PU及一或多個TU。 模式選擇單元40可(例如)基於誤差結果來選擇寫碼模式(框內或框間)中之一者,且將所得經框內寫碼或經框間寫碼區塊提供至求和器50以產生殘餘區塊資料,且將所得經框內寫碼或經框間寫碼區塊提供至求和器62以重新建構經編碼區塊以供用作參考圖框。模式選擇單元40亦將語法元素(諸如運動向量、框內模式指示符、分割區資訊及其他此類語法資訊)提供至熵編碼單元56。 運動估計單元42及運動補償單元44可高度地整合,但出於概念目的而被分離地繪示。由運動估計單元42執行之運動估計為產生運動向量之程序,該等運動向量估計用於視訊區塊之運動。舉例而言,運動向量可指示當前視訊圖框或圖像內之視訊區塊之PU相對於參考圖框(或其他經寫碼單元)內之預測性區塊相對於當前圖框(或其他經寫碼單元)內正被寫碼之當前區塊的位移。預測性區塊為在像素差方面被發現接近地匹配於待寫碼區塊之區塊,該像素差可由絕對差和(SAD)、平方差和(SSD)或其他差度量判定。在一些實例中,視訊編碼器20可計算儲存於參考圖像記憶體64中之參考圖像之子整數像素位置的值。舉例而言,視訊編碼器20可內插參考圖像之四分之一像素位置、八分之一像素位置或其他分數像素位置的值。因此,運動估計單元42可執行關於全像素位置及分數像素位置之運動搜尋且輸出具有分數像素精確度之運動向量。 運動估計單元42藉由比較PU之位置與參考圖像之預測性區塊之位置來計算用於經框間寫碼截塊中之視訊區塊之PU的運動向量。參考圖像可選自第一參考圖像清單(清單0)或第二參考圖像清單(清單1),該等清單中之每一者識別儲存於參考圖像記憶體64中之一或多個參考圖像。運動估計單元42將經計算運動向量發送至熵編碼單元56及運動補償單元44。 由運動補償單元44執行之運動補償可涉及基於由運動估計單元42判定之運動向量來提取或產生預測性區塊。再次,在一些實例中,運動估計單元42與運動補償單元44可功能上整合。在接收到用於當前視訊區塊之PU的運動向量後,運動補償單元44就可在該等參考圖像清單中之一者中定位該運動向量所指向之預測性區塊。求和器50藉由自正被寫碼之當前視訊區塊之像素值減去預測性區塊之像素值來形成殘餘視訊區塊,從而形成像素差值,如下文所論述。一般而言,運動估計單元42執行關於明度分量之運動估計,且運動補償單元44將基於明度分量所計算之運動向量用於色度分量及明度分量兩者。模式選擇單元40亦可產生與視訊區塊及視訊截塊相關聯之語法元素以供視訊解碼器30用來解碼視訊截塊之視訊區塊。 作為由運動估計單元42及運動補償單元44執行之框間預測(如上文所描述)的替代例,框內預測單元46可框內預測當前區塊。詳言之,框內預測單元46可判定待用以編碼當前區塊之框內預測模式。在一些實例中,框內預測單元46可(例如)在單獨編碼遍次期間使用各種框內預測模式來編碼當前區塊,且框內預測單元46 (或在一些實例中為模式選擇單元40)可自經測試模式選擇待使用之適當框內預測模式。 舉例而言,框內預測單元46可使用用於各種經測試框內預測模式之速率-失真分析來計算速率-失真值,且在該等經測試模式當中選擇具有最佳速率-失真特性之框內預測模式。速率-失真分析通常判定經編碼區塊與原始未經編碼區塊(其經編碼以產生經編碼區塊)之間的失真(或誤差)之量,以及用以產生經編碼區塊之位元率(亦即,位元之數目)。框內預測單元46可自用於各種經編碼區塊之失真及速率計算比率以判定哪一框內預測模式展現區塊之最佳速率-失真值。 在選擇用於區塊之框內預測模式之後,框內預測單元46可將指示用於區塊之經選擇框內預測模式之資訊提供至熵編碼單元56。熵編碼單元56可編碼指示經選擇框內預測模式之資訊。視訊編碼器20可在經傳輸位元串流中包括以下各者:組態資料,其可包括複數個框內預測模式索引資料表及複數個經修改框內預測模式索引資料表(亦被稱作碼字映射資料表);用於各種區塊之編碼上下文之定義;及待用於該等上下文中之每一者之最可能框內預測模式、框內預測模式索引資料表及經修改框內預測模式索引資料表的指示。 視訊編碼器20藉由自正被寫碼之原始視訊區塊減去來自模式選擇單元40之預測資料來形成殘餘視訊區塊。求和器50表示執行此減去運算之一或多個組件。變換處理單元52將變換(諸如離散餘弦變換(DCT)或概念上相似變換)應用於殘餘區塊,從而產生包含殘餘變換係數值之視訊區塊。變換處理單元52可執行概念上相似於DCT之其他變換。亦可使用小波變換、整數變換、子頻帶變換,或其他類型之變換。在任何狀況下,變換處理單元52將變換應用於殘餘區塊,從而產生殘餘變換係數區塊。變換可將殘餘資訊自像素值域轉換為變換域,諸如頻域。變換處理單元52可將所得變換係數發送至量化單元54。量化單元54量化變換係數以進一步縮減位元率。量化程序可縮減與該等係數中之一些或全部相關聯的位元深度。可藉由調整量化參數來修改量化程度。在一些實例中,量化單元54可接著執行包括經量化變換係數之矩陣之掃描。替代地,熵編碼單元56可執行該掃描。 在量化之後,熵編碼單元56熵寫碼經量化變換係數。舉例而言,熵編碼單元56可執行上下文調適性可變長度寫碼(CAVLC)、上下文調適性二進位算術編碼(CABAC)、基於語法之上下文調適性二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)寫碼、Q寫碼、調適性Q寫碼、算術寫碼或另一熵寫碼技術。在基於上下文之熵寫碼的狀況下,上下文可基於相鄰區塊。詳言之,在一些實施例中,熵編碼單元56可經組態以藉由使用如本文中所論述之平行處理技術而根據基於算術寫碼之寫碼技術來寫碼視訊資料(例如,經量化變換係數)。舉例而言,在一些實施例中,熵編碼單元56經組態以基於如本文中所描述之偽程式碼A來實施算術寫碼技術。熵編碼單元56可經組態以使用某些方程式以近似某些值或方程式(諸如以偽程式碼A),以便確保在熵編碼單元56及對應解碼器處之暫存器值之匹配追蹤。舉例而言,熵編碼單元56可經組態以利用或實施方程式1、8、9、10、12及13中之一或多者。 在由熵編碼單元56進行熵寫碼之後,可將包含一或多個經編碼符號(例如,最不可能符號及最可能符號)之字串之經編碼位元串流傳輸至另一器件(例如,視訊解碼器30)或進行存檔以供稍後傳輸或擷取。 反量化單元58及反變換單元60分別應用反量化及反變換以在像素域中重新建構殘餘區塊,例如,以供稍後用作參考區塊。運動補償單元44可藉由將殘餘區塊與參考圖像記憶體64之圖框中之一者之預測性區塊相加來計算參考區塊。運動補償單元44亦可將一或多個內插濾波器應用於經重新建構殘餘區塊以計算用於運動估計之子整數像素值。求和器62將經重新建構殘餘區塊與由運動補償單元44產生之經運動補償預測區塊相加,以產生經重新建構視訊區塊以供儲存於參考圖像記憶體64中。經重新建構視訊區塊可由運動估計單元42及運動補償單元44用作參考區塊以框間寫碼後續視訊圖框中之區塊。 圖3為說明可藉由使用如本文中所論述之平行處理技術來利用及實施基於算術寫碼之寫碼技術的視訊解碼器30之實例的方塊圖。在圖3之實例中,視訊解碼器30包括視訊資料記憶體68、熵解碼單元70、運動補償單元72、框內預測單元74、反量化單元76、反變換單元78、參考圖像記憶體82及求和器80。在一些實例中,視訊解碼器30可執行與關於視訊編碼器20 (圖2)所描述之編碼遍次大體上互逆的解碼遍次。運動補償單元72可基於自熵解碼單元70接收之運動向量來產生預測資料,而框內預測單元74可基於自熵解碼單元70接收之框內預測模式指示符來產生預測資料。 在解碼程序期間,視訊解碼器30自視訊編碼器20接收表示經編碼視訊截塊之視訊區塊及關聯語法元素的包含一或多個經編碼符號(例如,最不可能符號及最可能符號)之字串之經編碼視訊位元串流。可(例如)自電腦可讀媒體(例如,自本端視訊源,諸如攝影機)經由視訊資料之有線或無線網路通信或藉由存取實體資料儲存媒體來獲得儲存於視訊資料記憶體68中之視訊資料。視訊資料記憶體68可形成儲存來自經編碼視訊位元串流之經編碼視訊資料的經寫碼圖像緩衝器(CPB)。參考圖像記憶體82可被稱作儲存參考視訊資料以供視訊解碼器30 (例如)在框內或框間寫碼模式中用來解碼視訊資料之DPB。視訊資料記憶體68及參考圖像記憶體82可由諸如以下各者之多種記憶體器件中之任一者形成:動態隨機存取記憶體(DRAM) (包括同步DRAM (SDRAM))、磁阻式RAM (MRAM)、電阻式RAM (RRAM),或其他類型之記憶體器件。視訊資料記憶體68及參考圖像記憶體82可由同一記憶體器件或個別記憶體器件提供。在各種實例中,視訊資料記憶體68可與視訊解碼器30之其他組件一起在晶片上,或相對於彼等組件在晶片外。 視訊解碼器30之熵解碼單元70熵解碼位元串流以產生經量化係數、運動向量或框內預測模式指示符,及其他語法元素。詳言之,在一些實施例中,熵解碼單元70可經組態以藉由使用如本文中所論述之平行處理技術而根據基於算術寫碼之寫碼技術來解碼位元串流。舉例而言,在一些實施例中,熵解碼單元70經組態以基於如本文中所描述之偽程式碼B來實施算術解碼技術。熵解碼單元70可經組態以使用某些方程式以近似某些值或方程式(諸如以偽程式碼B),以便確保在熵解碼單元70及對應熵編碼單元56處之暫存器值之匹配追蹤。舉例而言,熵解碼單元70可經組態以利用或實施方程式1、8、9、10、12及13中之一或多者。此外,熵解碼單元70可經組態以使用如本文中所描述之平行處理技術(諸如關於偽程式碼B)以解碼位元串流。舉例而言,熵解碼單元70可經組態以執行複數個平行數學比較(例如,方程式2.N及/或11.n)以便基於位元串流來判定待解碼之連續最可能符號之數目。因此,熵解碼單元70可經組態以大約以位元串流之資料速率而根據偽程式碼B之Section A來解碼符號。 另外或替代地,熵解碼單元70經組態以實施平行區塊以用於選擇符號以根據偽程式碼B之Section B而解碼(例如,自位元串流讀取額外符號以供解碼),如本文中所論述。因此,熵解碼單元70可經組態以大約以位元串流之資料速率執行偽程式碼B之Section B。此外,熵解碼單元70可經組態以在單一時脈循環中對Section A及Section B執行平行處理之反覆。 熵解碼單元70將運動向量及其他語法元素轉遞至運動補償單元72。視訊解碼器30可在視訊截塊層級及/或視訊區塊層級處接收語法元素。 當將視訊截塊寫碼為經框內寫碼(I)截塊時,框內預測單元74可基於經傳信框內預測模式及來自當前圖框或圖像之經先前解碼區塊的資料來產生用於當前視訊截塊之視訊區塊的預測資料。當將視訊圖框寫碼為經框間寫碼(亦即,B、P或GPB)截塊時,運動補償單元72基於運動向量及自熵解碼單元70接收之其他語法元素來產生用於當前視訊截塊之視訊區塊的預測性區塊。可自參考圖像清單中之一者內的參考圖像中之一者產生預測性區塊。視訊解碼器30可基於儲存於參考圖像記憶體82中之參考圖像而使用預設建構技術來建構參考圖框清單:清單0及清單1。 運動補償單元72藉由剖析運動向量及其他語法元素來判定用於當前視訊截塊之視訊區塊的預測資訊,且使用該預測資訊以產生用於正被解碼之當前視訊區塊的預測性區塊。舉例而言,運動補償單元72使用經接收語法元素中之一些以判定用以寫碼視訊截塊之視訊區塊的預測模式(例如,框內或框間預測)、框間預測截塊類型(例如,B截塊、P截塊或GPB截塊)、用於該截塊之參考圖像清單中之一或多者的建構資訊、用於該截塊之每一經框間編碼視訊區塊的運動向量、用於該截塊之每一經框間寫碼視訊區塊的框間預測狀態,及用以解碼當前視訊截塊中之視訊區塊的其他資訊。 運動補償單元72亦可執行基於內插濾波器之內插。運動補償單元72可使用如由視訊編碼器20在編碼視訊區塊期間使用之內插濾波器以計算參考區塊之子整數像素的經內插值。在此狀況下,運動補償單元72可自經接收語法元素判定由視訊編碼器20使用之內插濾波器且使用該等內插濾波器以產生預測性區塊。 反量化單元76反量化(亦即,解量化)位元串流中所提供且由熵解碼單元70解碼之經量化變換係數。反量化程序可包括使用由視訊解碼器30針對視訊截塊中之每一視訊區塊所計算的量化參數QPY以判定應被應用之量化程度且同樣地判定應被應用之反量化程度。 反變換單元78將反變換(例如,反DCT、反整數變換或概念上相似反變換程序)應用於變換係數,以便在像素域中產生殘餘區塊。 在運動補償單元72基於運動向量及其他語法元素來產生用於當前視訊區塊之預測性區塊之後,視訊解碼器30藉由求和來自反變換單元78之殘餘區塊與由運動補償單元72產生之對應預測性區塊來形成經解碼視訊區塊。求和器80表示執行此求和運算之一或多個組件。視需要,亦可應用解區塊濾波器以濾波經解碼區塊以便移除區塊效應假影。亦可使用其他迴圈濾波器(在寫碼迴圈中或在寫碼迴圈之後)以使像素轉變平滑,或以其他方式改良視訊品質。接著將給定圖框或圖像中之經解碼視訊區塊儲存於參考圖像記憶體82中,參考圖像記憶體82儲存用於後續運動補償之參考圖像。參考圖像記憶體82亦儲存經解碼視訊以供稍後呈現於顯示器件(諸如圖1之顯示器件32)上。 圖4為說明可藉由使用如本文中所論述之平行處理技術來利用及實施基於算術寫碼之寫碼技術的解碼器400之實例的方塊圖。舉例而言,解碼器400可為熵解碼單元70之實例。 如所展示,解碼器400包括緩衝器405 (或其他類型之適當記憶體)。如所展示,緩衝器405為先進先出(FIFO)緩衝器。緩衝器405可經組態以在經編碼資料串流之每時脈循環接收M個符號(例如,位元),該經編碼資料串流包含使用基於算術寫碼之寫碼技術(例如,基於偽程式碼A;且緩衝器405可對應於暫存器T)所編碼之經編碼符號字串。經編碼符號字串可表示一系列一或多個經解碼符號,其中該一或多個經解碼符號中之每一者包含一最可能符號(例如,0)及一最不可能符號(例如,1)中之一者。 解碼器400可進一步包括平行比較單元410及平行移位與補充單元415。平行比較單元410可經組態以實施用於根據偽程式碼B之Section A來解碼資料的一或多種平行處理技術,或相似平行處理技術。平行移位與補充單元415可經組態以實施用於根據偽程式碼B之Section B來解碼符號的平行區塊(如本文中所論述),或相似平行處理技術。 舉例而言,平行比較單元410可經組態以自緩衝器405接收經編碼符號作為輸入,以及自暫存器(例如,L、U、Cum_count()、Count_0、Total_Count等等;來自偽程式碼B且可如所論述而初始化)接收包括變數及值之輸入。平行比較單元410可經組態以使用經接收輸入以藉由執行複數個平行數學比較(例如,諸如以方程式2.N及/或11.n)來判定該系列一或多個經解碼符號中之連續最可能符號之數目。平行比較單元410可經組態以基於該複數個平行數學比較來解碼該等經編碼符號中之一或多者以輸出該系列一或多個經解碼符號中之符號群組,其中該符號群組包括該數目個連續最可能符號。如關於方程式2.N及11.n所論述,該符號群組亦可包括在該數目個連續最可能符號之後的一個最不可能符號。 平行比較單元410亦可經組態以執行其他計算以更新偽程式碼B之Section A之暫存器(例如,L及U)中的值。平行移位與補充單元415可經組態以接收經更新暫存器值作為輸入,及自緩衝器405接收輸入,以實施平行區塊以用於根據偽程式碼B之Section B來選擇符號以供解碼(例如,自經編碼資料串流讀取額外符號以供解碼),如本文中所論述。平行比較單元410及平行移位與補充單元415可經組態以皆在單一時脈循環中一起執行單一反覆(包括執行平行比較及平行區塊移位與補充)。因此,解碼器400經組態以藉由使用如本文中所論述之平行處理技術來解碼使用基於算術寫碼之寫碼技術所編碼之資料。 圖5為用於解碼經壓縮資料之程序500之流程圖的說明。程序500可實施於任何合適解碼器(諸如本文中所描述之解碼器400)中。如所展示,在區塊505處,解碼器在緩衝器中接收資料串流之至少一部分,該資料串流包含使用基於算術寫碼之寫碼技術所編碼之經編碼符號字串。經編碼符號字串表示一系列一或多個經解碼符號。一或多個經解碼符號中之每一者包含一最可能符號及一最不可能符號中之一者。 此外,在區塊510處,解碼器藉由基於經編碼符號中之一或多者來執行複數個平行數學比較(例如,諸如以方程式2.N及/或11.n且如關於偽程式碼B之Section A所論述)而判定該系列一或多個經解碼符號中之連續最可能符號之數目。 在區塊515處繼續,解碼器基於該複數個平行數學比較來解碼該系列一或多個經解碼符號中之符號群組。該符號群組包含該數目個連續最可能符號。如關於方程式2.N及11.n所論述,該符號群組亦可包括在該數目個連續最可能符號之後的一個最不可能符號。 此外,在區塊520處,解碼器執行其他計算以更新暫存器中之值(例如,如關於偽程式碼B之Section A所論述)。 在區塊525處,解碼器判定資料串流中是否存在任何更多的經編碼符號以供解碼。若在區塊525處判定不存在額外經編碼符號以供解碼,則程序結束。若在區塊525處判定存在額外經編碼符號以供解碼,則程序繼續至區塊530。 在區塊530處,解碼器使用平行處理以更新暫存器中之值且將來自資料串流之額外經編碼符號讀取至緩衝器中。舉例而言,解碼器可對某些暫存器值執行移位與補充,且基於暫存器值來檢查是否滿足某些準則以判定如何將來自資料串流之額外經編碼符號讀取至緩衝器中(例如,如關於偽程式碼B之Section B所論述)。程序500可接著返回至區塊510。 如上文所論述,對於實施平行處理技術以用於基於算術寫碼技術而解碼的解碼器,用於實施偽程式碼B之Section A及Section B的平行度為基於用以實施該等技術之成本、效率增益及硬體類型的設計選擇。舉例而言,在解碼器400中,可進行關於緩衝器405之大小、平行比較單元410經組態以並行地進行之比較之數目、平行移位與補充單元415經組態以並行地進行之平行區塊反覆之數目的選擇。此等選擇可影響解碼資料所需要之時脈循環之數目。 在一些實施例中,將平行比較單元410經組態以並行地進行之比較之數目設定為6,將平行移位與補充單元415經組態以並行地進行之平行區塊反覆之數目設定為7,且平行比較單元410及平行移位與補充單元415經組態以在單一時脈循環中操作。因此,可在仍達成良好解碼速率的同時縮減緩衝器405之大小。此外,輸入符號速率可為每時脈循環單一輸入符號,或每時脈循環兩個輸入符號(例如,在雙資料速率(DDR)系統中)。在一些實施例中,將平行比較單元410經組態以並行地進行之比較之數目設定為4以縮減平行比較單元410之複雜度。此外,硬體複雜度及成本對效能可仍引起良好效能。一般熟習此項技術者將認識到,可進行其他設計選擇,然而,此等特定設計選擇或相似設計選擇可提供關於效能對複雜度之某些優點。 應認識到,取決於實例,本文中所描述之技術中之任一者的某些動作或事件可以不同序列被執行,可被添加、合併或完全地省去(例如,並非所有所描述動作或事件為實踐該等技術所必要)。此外,在某些實例中,可同時地(例如,經由多執行緒處理、中斷處理或多個處理器)而非依序地執行動作或事件。 在一或多個實例中,所描述功能可以硬體、軟體、韌體或其任何組合予以實施。若以軟體予以實施,則該等功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體進行傳輸,且由基於硬體之處理單元執行。電腦可讀媒體可包括:電腦可讀儲存媒體,其對應於諸如資料儲存媒體之有形媒體;或通信媒體,其包括促進將電腦程式自一處傳送至另一處(例如,根據通信協定)之任何媒體。以此方式,電腦可讀媒體通常可對應於(1)為非暫時性的有形電腦可讀儲存媒體,或(2)諸如信號或載波之通信媒體。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以擷取用於實施本發明中所描述之技術之指令、程式碼及/或資料結構的任何可用媒體。電腦程式產品可包括電腦可讀媒體。 作為實例而非限制,此等電腦可讀儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器件、磁碟儲存器件或其他磁性儲存器件、快閃記憶體,或可用以儲存呈指令或資料結構形式之所要程式碼且可由電腦存取的任何其他媒體。又,任何連接被適當地稱為電腦可讀媒體。舉例而言,若使用同軸纜線、光纜、雙絞線、數位用戶線(DSL)或無線技術(諸如紅外線、無線電及微波)而自網站、伺服器或其他遠端源傳輸指令,則同軸纜線、光纜、雙絞線、DSL或無線技術(諸如紅外線、無線電及微波)包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體並不包括連接、載波、信號或其他暫時性媒體,而是有關於非暫時性有形儲存媒體。如本文中所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位多功能光碟(DVD)、軟性磁碟及藍光光碟,其中磁碟通常以磁性方式再現資料,而光碟運用雷射以光學方式再現資料。以上各者之組合亦應包括於電腦可讀媒體之範疇內。 指令可由諸如以下各者之一或多個處理器執行:一或多個數位信號處理器(DSP)、一般用途微處理器、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA),或其他等效整合式或離散邏輯電路系統。因此,如本文中所使用之術語「處理器」可指上述結構或適合於實施本文中所描述之技術之任何其他結構中的任一者。另外,在一些態樣中,本文中所描述之功能性可提供於經組態以用於編碼及解碼之專用硬體及/或軟體模組內,或併入於組合式編解碼器中。又,該等技術可完全地實施於一或多個電路或邏輯元件中。 本發明之技術可實施於廣泛多種器件或裝置中,該等器件或裝置包括無線手機、積體電路(IC)或IC集合(例如,晶片集)。在本發明中描述各種組件、模組或單元以強調經組態以執行所揭示技術之器件之功能態樣,但未必要求由不同硬體單元來實現。實情為,如上文所描述,各種單元可結合合適的軟體及/或韌體而組合於編解碼器硬體單元中或由互操作性硬體單元之集合提供,硬體單元包括如上文所描述之一或多個處理器。 已描述各種實例。此等及其他實例係在以下申請專利範圍之範疇內。
10‧‧‧視訊編碼及解碼系統
12‧‧‧源器件
14‧‧‧目的地器件
16‧‧‧電腦可讀媒體
18‧‧‧視訊源
20‧‧‧視訊編碼器
22‧‧‧輸出介面
28‧‧‧輸入介面
30‧‧‧視訊解碼器
32‧‧‧顯示器件
38‧‧‧視訊資料記憶體
40‧‧‧模式選擇單元
42‧‧‧運動估計單元
44‧‧‧運動補償單元
46‧‧‧框內預測單元
48‧‧‧分割單元
50‧‧‧求和器
52‧‧‧變換處理單元
54‧‧‧量化單元
56‧‧‧熵編碼單元
58‧‧‧反量化單元
60‧‧‧反變換單元
62‧‧‧求和器
64‧‧‧參考圖像記憶體
68‧‧‧視訊資料記憶體
70‧‧‧熵解碼單元
72‧‧‧運動補償單元
74‧‧‧框內預測單元
76‧‧‧反量化單元
78‧‧‧反變換單元
80‧‧‧求和器
82‧‧‧參考圖像記憶體
400‧‧‧解碼器
405‧‧‧緩衝器
410‧‧‧平行比較單元
415‧‧‧平行移位與補充單元
500‧‧‧程序
505‧‧‧步驟
510‧‧‧步驟
515‧‧‧步驟
520‧‧‧步驟
525‧‧‧步驟
530‧‧‧步驟
圖1為說明可實施本發明之技術之實例視訊編碼及解碼系統的方塊圖。 圖2為說明可實施本發明之技術之視訊編碼器之實例的方塊圖。 圖3為說明可實施本發明之技術之視訊解碼器之實例的方塊圖。 圖4為說明可實施本發明之技術之解碼器之實例的方塊圖。 圖5為用於解碼經壓縮資料之程序之流程圖的說明。
400‧‧‧解碼器
405‧‧‧緩衝器
410‧‧‧平行比較單元
415‧‧‧平行移位與補充單元

Claims (26)

  1. 一種用於解碼經壓縮資料之方法,該方法包含: 接收包含使用一基於算術寫碼之寫碼技術所編碼之一經編碼符號字串之一資料串流,其中該經編碼符號字串表示一系列一或多個經解碼符號,且其中該一或多個經解碼符號中之每一者包含一最可能符號及一最不可能符號中之一者; 藉由基於該等經編碼符號中之一或多者來執行複數個平行數學比較而判定該系列一或多個經解碼符號中之連續最可能符號之一數目;及 基於該複數個平行數學比較來解碼該系列一或多個經解碼符號中之一符號群組,其中該符號群組包含該數目個連續最可能符號。
  2. 如請求項1之方法,其中該解碼該數目個連續最可能符號係在一單一時脈循環中發生。
  3. 如請求項1之方法,其中該符號群組進一步由在該數目個連續最可能符號之後的一個最不可能符號組成。
  4. 如請求項1之方法,其中在不使用位元填塞技術的情況下編碼該經編碼符號字串。
  5. 如請求項1之方法,其中基於算術寫碼之寫碼技術包含以下各者中之一者:算術寫碼及Q寫碼。
  6. 如請求項1之方法,其中該基於算術寫碼之寫碼技術為一基於乘數之寫碼技術。
  7. 如請求項1之方法,其中該經解碼符號群組指示定義一圖像序列之至少一部分之一或多個語法元素。
  8. 一種用於解碼經壓縮資料之系統,其解碼器包含: 一記憶體,其經組態以接收包含使用一基於算術寫碼之寫碼技術所編碼之一經編碼符號字串之一資料串流,其中該經編碼符號字串表示一系列一或多個經解碼符號,且其中該一或多個經解碼符號中之每一者包含一最可能符號及一最不可能符號中之一者;及 一處理器,其經組態以進行以下操作: 藉由基於該等經編碼符號中之一或多者來執行複數個平行數學比較而判定該系列一或多個經解碼符號中之連續最可能符號之一數目;及 基於該複數個平行數學比較來解碼該系列一或多個經解碼符號中之一符號群組,其中該符號群組包含該數目個連續最可能符號。
  9. 如請求項8之系統,其中該解碼該數目個連續最可能符號係在一單一時脈循環中發生。
  10. 如請求項8之系統,其中該符號群組進一步由在該數目個連續最可能符號之後的一個最不可能符號組成。
  11. 如請求項8之系統,其中在不使用位元填塞技術的情況下編碼該經編碼符號字串。
  12. 如請求項8之系統,其中基於算術寫碼之寫碼技術包含以下各者中之一者:算術寫碼及Q寫碼。
  13. 如請求項8之系統,其中該基於算術寫碼之寫碼技術為一基於乘數之寫碼技術。
  14. 如請求項8之系統,其中該經解碼符號群組指示定義一圖像序列之至少一部分之一或多個語法元素。
  15. 一種非暫時性電腦可讀媒體,其上儲存有指令,該等指令在執行時致使用於解碼資料之一器件之一處理器執行用於解碼經壓縮資料之一方法,該方法包含: 接收包含使用一基於算術寫碼之寫碼技術所編碼之一經編碼符號字串之一資料串流,其中該經編碼符號字串表示一系列一或多個經解碼符號,且其中該一或多個經解碼符號中之每一者包含一最可能符號及一最不可能符號中之一者; 藉由基於該等經編碼符號中之一或多者來執行複數個平行數學比較而判定該系列一或多個經解碼符號中之連續最可能符號之一數目;及 基於該複數個平行數學比較來解碼該系列一或多個經解碼符號中之一符號群組,其中該符號群組包含該數目個連續最可能符號。
  16. 如請求項15之非暫時性電腦可讀媒體,其中該解碼該數目個連續最可能符號係在一單一時脈循環中發生。
  17. 如請求項15之非暫時性電腦可讀媒體,其中該符號群組進一步由在該數目個連續最可能符號之後的一個最不可能符號組成。
  18. 如請求項15之非暫時性電腦可讀媒體,其中在不使用位元填塞技術的情況下編碼該經編碼符號字串。
  19. 如請求項15之非暫時性電腦可讀媒體,其中基於算術寫碼之寫碼技術包含以下各者中之一者:算術寫碼及Q寫碼。
  20. 如請求項15之非暫時性電腦可讀媒體,其中該基於算術寫碼之寫碼技術為一基於乘數之寫碼技術。
  21. 一種用於解碼經壓縮資料之系統,其解碼器包含: 用於接收包含使用一基於算術寫碼之寫碼技術所編碼之一經編碼符號字串之一資料串流的構件,其中該經編碼符號字串表示一系列一或多個經解碼符號,且其中該一或多個經解碼符號中之每一者包含一最可能符號及一最不可能符號中之一者; 用於藉由基於該等經編碼符號中之一或多者來執行複數個平行數學比較而判定該系列一或多個經解碼符號中之連續最可能符號之一數目的構件;及 用於基於該複數個平行數學比較來解碼該系列一或多個經解碼符號中之一符號群組的構件,其中該符號群組包含該數目個連續最可能符號。
  22. 如請求項21之系統,其中該解碼該數目個連續最可能符號係在一單一時脈循環中發生。
  23. 如請求項21之系統,其中該符號群組進一步由在該數目個連續最可能符號之後的一個最不可能符號組成。
  24. 如請求項21之系統,其中在不使用位元填塞技術的情況下編碼該經編碼符號字串。
  25. 如請求項21之系統,其中基於算術寫碼之寫碼技術包含以下各者中之一者:算術寫碼及Q寫碼。
  26. 如請求項21之系統,其中該基於算術寫碼之寫碼技術為一基於乘數之寫碼技術。
TW105127334A 2015-10-28 2016-08-25 平行算術寫碼技術 TW201724852A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/925,761 US10419772B2 (en) 2015-10-28 2015-10-28 Parallel arithmetic coding techniques

Publications (1)

Publication Number Publication Date
TW201724852A true TW201724852A (zh) 2017-07-01

Family

ID=56990948

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105127334A TW201724852A (zh) 2015-10-28 2016-08-25 平行算術寫碼技術

Country Status (7)

Country Link
US (1) US10419772B2 (zh)
EP (1) EP3369250A1 (zh)
JP (1) JP2018536344A (zh)
KR (1) KR20180075523A (zh)
CN (1) CN108353174A (zh)
TW (1) TW201724852A (zh)
WO (1) WO2017074539A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10924591B2 (en) * 2018-06-21 2021-02-16 Intel Corporation Low-latency link compression schemes
WO2020059092A1 (ja) * 2018-09-20 2020-03-26 富士通株式会社 符号化装置、符号化方法、符号化プログラム、復号装置、復号方法及び復号プログラム
US11487544B2 (en) * 2020-01-15 2022-11-01 Western Digital Technologies, Inc. Method and device for simultaneously decoding data in parallel to improve quality of service
KR102574824B1 (ko) * 2021-04-26 2023-09-06 주식회사 모르미 가변 비트 수를 지원하는 병렬 처리 장치

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5045852A (en) * 1990-03-30 1991-09-03 International Business Machines Corporation Dynamic model selection during data compression
GB2306279B (en) 1994-09-30 1997-10-22 Ricoh Kk Apparatus for decoding data
JP3350482B2 (ja) * 1999-06-04 2002-11-25 松下電送システム株式会社 算術符号化装置および算術復号化装置
WO2001067616A1 (en) 2000-03-07 2001-09-13 Koninklijke Philips Electronics N.V. Arithmetic decoding of an arithmetically encoded information signal
KR100694098B1 (ko) 2005-04-04 2007-03-12 한국과학기술원 산술 복호 방법 및 그 장치
US8306125B2 (en) 2006-06-21 2012-11-06 Digital Video Systems, Inc. 2-bin parallel decoder for advanced video processing
US8542727B2 (en) * 2007-12-31 2013-09-24 Intel Corporation Systems and apparatuses for performing CABAC parallel encoding and decoding
US8761240B2 (en) 2010-07-13 2014-06-24 Blackberry Limited Methods and devices for data compression using context-based coding order
US8696620B2 (en) * 2010-07-30 2014-04-15 St. Jude Medical, Atrial Fibrillation Division, Inc. Catheter with a mechanism for omni-directional deflection of a catheter shaft
WO2012048053A2 (en) * 2010-10-05 2012-04-12 Massachusetts Institute Of Technology System and method for optimizing context-adaptive binary arithmetic coding
CA2831705C (en) 2011-03-30 2017-10-03 Amazon Technologies, Inc. Frameworks and interfaces for offload device-based packet processing
TWI487295B (zh) * 2011-05-17 2015-06-01 Univ Nat Cheng Kung 高產出平行化avc/h.264前後文適應性二位元算數解碼器之方法

Also Published As

Publication number Publication date
JP2018536344A (ja) 2018-12-06
US20170127071A1 (en) 2017-05-04
KR20180075523A (ko) 2018-07-04
EP3369250A1 (en) 2018-09-05
US10419772B2 (en) 2019-09-17
WO2017074539A1 (en) 2017-05-04
CN108353174A (zh) 2018-07-31

Similar Documents

Publication Publication Date Title
TWI826519B (zh) 用於係數寫碼之規則寫碼位元子之減少
JP6193446B2 (ja) ビデオコード化における係数の走査
TWI657692B (zh) 於視訊寫碼程序中用於係數層級寫碼之萊斯(rice)參數初始化
JP6527877B2 (ja) ビデオコーディングプロセスにおける係数レベルコーディング
TWI554082B (zh) 於視訊寫碼處理中用於係數階層寫碼之萊斯(rice)參數更新
JP6081499B2 (ja) 変換係数コーディングのためのコンテキスト導出における走査ベーススライディングウィンドウ
JP5869108B2 (ja) メモリ効率的コンテキストモデリング
US9432696B2 (en) Systems and methods for low complexity forward transforms using zeroed-out coefficients
JP6022586B2 (ja) ビデオコーディングのための隣接するビデオユニットの利用可能性の検出
CN109996081B (zh) 图像预测方法、装置以及编解码器
TW201838412A (zh) 用於視訊寫碼之低複雜度符號預測
CN112352429B (zh) 对视频数据进行编解码的方法、设备和存储介质
TW201729595A (zh) 針對視訊寫碼使用與位置相關之預測組合之改良視訊幀內預測
TWI827606B (zh) 網格寫碼之量化係數寫碼
JP2017519447A (ja) ビデオコーディングのためのイントラブロックコピーブロックベクトルシグナリング
TW201943278A (zh) 用於視訊寫碼之多轉換調整級
TW201440498A (zh) 在視訊寫碼中具有時間可擴充性支援之漸進式改良
JP2017525316A (ja) パレットモードコーディングのための方法
TWI827662B (zh) 用於係數寫碼之規則寫碼位元子之減少
JP6285025B2 (ja) 水平および垂直変換の並行処理
TW201724852A (zh) 平行算術寫碼技術
JP2023542029A (ja) 低ビット精度のニューラルネットワーク(nn)に基づくクロスコンポーネント予測のための方法、機器、及びコンピュータプログラム
TW202002654A (zh) 具有群組分流位元子之係數寫碼
JP2023542332A (ja) 倍率を有するdnnに基づくクロスコンポーネント予測のためのコンテンツ適応型オンライントレーニング
CN110611818A (zh) 视频编解码方法、装置、计算机设备以及存储介质