TW201338550A - 具有每時鐘2-bin的基於內文適應性算術編碼(cabac)技術之視訊編碼器 - Google Patents

具有每時鐘2-bin的基於內文適應性算術編碼(cabac)技術之視訊編碼器 Download PDF

Info

Publication number
TW201338550A
TW201338550A TW101142612A TW101142612A TW201338550A TW 201338550 A TW201338550 A TW 201338550A TW 101142612 A TW101142612 A TW 101142612A TW 101142612 A TW101142612 A TW 101142612A TW 201338550 A TW201338550 A TW 201338550A
Authority
TW
Taiwan
Prior art keywords
value
bin
encoding
bin value
caba
Prior art date
Application number
TW101142612A
Other languages
English (en)
Other versions
TWI578799B (zh
Inventor
Samuel Wong
Hiu-Fai R Chan
Mohmad I Qurashi
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of TW201338550A publication Critical patent/TW201338550A/zh
Application granted granted Critical
Publication of TWI578799B publication Critical patent/TWI578799B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

系統、裝置及方法被說明,包括在一單一時鐘循環期間,使用一基於內文適應性算術編碼(CABAC)引擎來編碼一bin值及使用另一CABAC引擎來編碼另一bin值。當該等bin值被編碼時,每一CABAC引擎之機率狀態索引值可被提供給另一CABAC引擎。

Description

具有每時鐘2-BIN的基於內文適應性算術編碼(CABAC)技術之視訊編 碼器
本發明係有關於具有每時鐘2-BIN的基於內文適應性算術編碼(CABAC)技術之視訊編碼器。
發明背景
在進階視訊編碼(AVC)編碼器管線中,巨區塊視訊資料是以語法元素來表示。傳統上係對語法元素施以二值化程序,且接著使用一基於內文適應性算術編碼(CABAC)引擎來編碼。該CABAC編碼程序是基於一遞迴區間切割方案。一習知CABAC引擎在任一給定時鐘循環期間只編碼一經二值化的語法元素之一個位元或“bin”。
依據本發明之一實施例,係特地提出一種設備,其包含:一記憶體;一第一模組,用以回應於一第一內文索引值,在一第一時鐘循環期間,熵編碼一第一bin值,其中該第一模組被組配以在熵編碼該第一bin值時,儲存一第一機率狀態索引值;及一第二模組,用以回應於該第二內文索引值,在該第一時鐘循環期間,熵編碼一第二bin值,其中該第二模組被組配以在熵編碼該第二bin值時,儲存一第二機率狀態索引值。
100‧‧‧編碼器
102‧‧‧預測
104‧‧‧轉換
106‧‧‧量化
108‧‧‧掃描
110‧‧‧熵編碼
202‧‧‧CABAC引擎0
203‧‧‧時鐘管線
204‧‧‧CABAC引擎1
206‧‧‧二值化
208‧‧‧內文記憶體
210‧‧‧位元合併器
300‧‧‧方法
301~316‧‧‧步驟
402‧‧‧多工器
404‧‧‧多工器
406‧‧‧經編碼bin值
408‧‧‧內文索引比較邏輯
410‧‧‧內文索引比較邏輯
502‧‧‧比較器
504‧‧‧邏輯閘
506‧‧‧邏輯閘
508‧‧‧多工器
510‧‧‧多工器
512‧‧‧多工器
514‧‧‧多工器
600‧‧‧電腦系統
602‧‧‧主機系統
604‧‧‧處理器
606‧‧‧晶片組
608‧‧‧主記憶體
610‧‧‧圖形子系統
612‧‧‧儲存器
616‧‧‧匯流排
618‧‧‧顯示器
620‧‧‧網路介面
622‧‧‧成像裝置
此處所記載的內容是以範例的方式來進行說明,且並非僅限於附圖所記載者。為了簡化及清楚起見, 圖式中的元件不一定按照比例繪製。例如,為了清楚起見,某些元件的尺寸相對於其他元件而言,可能被誇張化了。此外,在恰當的情形下,參考元件符號在各圖式中重複出現以表示對應或類似的元件。在圖式中:第1圖是一範例視訊編碼器系統之示意圖;第2圖說明第1圖之熵編碼模組;第3圖說明一範例方法;第4圖說明第2圖之熵編碼模組的細節;第5圖說明第4圖之熵編碼模組的一部份的細節;及第6圖是一範例運算系統之示意圖,其等皆係根據本發明揭露的至少一些實施態樣來作安排。
較佳實施例之詳細說明
現在參照附圖說明一個或多個實施例或實施態樣。儘管特定組配或配置被討論,但應了解到這只是為了便於說明。熟悉相關技藝的人士會知道,在不偏離說明的精神與範圍的情形下,也可實施其他組配或配置。對於相關技藝者明顯的是,此處所說明的技術及/或配置也可以此處所說明的系統及應用以外的其他系統及應用來實施。
儘管以下說明提出各種實施態樣可以如系統單晶片(SoC)架構之架構來呈現,但此處所說明的技術及/或配置之實施態樣不限於特定架構及/或運算系統,且可以用於類似目的之任何架構及/或運算系統來實施。例如,實施如多重積體電路(IC)晶片及/或封裝之各種架構及/或如機上 盒、智慧型手機等之各種運算裝置及/或消費電子(CE)裝置可實施此處所說明的技術及/或配置。此外,儘管以下說明可提出各種特定細節,如系統元件之邏輯實施態樣、類型及交互關係、邏輯分割/整合選擇等,但所請求保護的標的可以在沒有此等特定細節的情況下實現。又例如,某些例如控制結構及完整的軟體指令順序之內容或許不會詳細呈現,以免遮住了此處所揭露的內容。
此處所揭露的內容可以硬體、韌體、軟體或其等之任何組合來實施。此處所揭露的內容也可以儲存於一機器可讀取媒體上的指令來實施,其等可被一個或多個處理器來讀取及執行。一機器可讀取媒體可包括用於儲存或傳輸藉由機器(如一運算裝置)可讀取的形式之資訊之任何媒體及/或機構。例如,一機器可讀取媒體可包括唯讀記憶體(ROM);隨機存取記憶體(RAM);磁碟儲存媒體;光儲存媒體;快閃記憶體裝置;電氣、光學、聲音或其他形式的傳播信號(如載波、紅外線信號、數位信號等)及其他。
說明書中的〝一實施例〞、〝一範例實施態樣〞等表示該所說明的實施態樣可包括一特定特徵、結構或特點,但不一定每個實施態樣中都必須包括該特定特徵、結構或特點。此外,此等用語不一定指相同實施態樣或實施例。再者,當一特定特徵、結構或特點關聯於一實施態樣而被說明時,需提出的是,將此等特徵、結構或特點關聯於其他實施態樣而實現是在熟悉該技藝者之知識範圍內,無論是否有在此處明確說明。
第1圖說明根據本揭露的一範例視訊編碼器100之高階方塊圖。在各種實施態樣中,編碼器100可包括一預測模組102、一轉換模組104、一量化模組106、一掃描模組108及一熵編碼模組110。在各種實施態樣中,編碼器10可被組配以根據各種視訊編碼標準及/或規格來編碼視訊資料(如以視訊圖框或畫面的形式),包括但不限於H.264/進階視訊編碼(AVC)標準(參閱如ITU-T及ISO/IEC JTC 1之聯合視訊小組,“Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification(ITU-T Rec.H.264 | ISO/IEC 14496-10 AVC),”文件JVT-G050r1,2003五月)(及其改版)(以下稱為“H.264/AVC標準”)。為了清楚起見,此處該等各種裝置、系統及方法是以H.264/AVC標準的脈絡來說明,但本揭露並不限於任何特定視訊編碼標準及/或規格。此外,根據本發明,熵編碼模組110可實施一基於內文適應性算術編碼(CABAC)引擎,如以下更詳細的細節所述。
預測模組102可使用該輸入視訊資料來執行空間及/或時間預測。例如,輸入視訊影像圖框可被分成片,再進一步切割成巨區塊以用於編碼。在一非限制性範例中,該輸入視訊資料可以是一4:2:0色度格式,其中每一巨區塊包括一個16x16陣列之亮度樣本以及兩個對應的8x8陣列之色度樣本。但可也實施其他色度格式,如4:2:2(其中該兩個色度樣本陣列為8x16的大小),以及4:4:4(具有兩個16x16色度樣本陣列)等。預測模組102可 應用已知的空間(之內)預測技術及/或已知的時間(之間)預測技術來預測巨區塊資料值。接著轉換模組104可對巨區塊應用已知的轉換技術以去除巨區塊資料在空間上的相關性。熟悉此技者可知道轉換模組104可在應用合適大小的轉換矩陣前先將16x16巨區塊切割成4x4或8x8區塊。進一步地,該經轉換資料之DC轉換係數可施以一次級哈達馬德(Hadamard)轉換。
接著量化模組106可回應於一量化控制參數來量化該等轉換係數,而該量化控制參數可以例如每個巨區塊為基礎而改變。例如,對於8位元樣本深度來說,該量化控制參數可具有52個可能的值。此外,該量化步階大小可以不與該量化控制參數線性相關。接著,掃描模組108可使用已知的掃描順序方案來掃描經量化的轉換係數的矩陣,以產生一串的轉換係數符號元素。接著,該等轉換係數符號元素以及額外的語法元素,如巨區塊類型、之內預測模式、移動向量、參考畫面索引、剩餘轉換係數等,可被提供至熵編碼模組110。
第2圖說明根據本揭露的熵編碼模組110之更詳細的細節。模組110包括兩個CABAC引擎202(CABAC引擎0)及204(CABAC引擎1)、一個二值化模組206、一個具有兩個讀取埠及兩個寫入埠之內文記憶體208,以及一個位元合併模組210。每一非二元輸入語法元素(SE)可由二值化模組206使用已知的二值化技術來加以處理(參閱例如D.Marpe,“Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard,”IEEE Transactions on Circuits and Systems for Video Technology,Vol.13,No.7(2003年7月),以下稱為“Marpe”),以產生對應的SE位元或“多個bin”(如bin0、bin1、bin2、...、binN)。例如,一個二元樹結構可用以二值化還不是二元形式的SE,諸如轉換係數SE、移動向量SE等。如熟悉此技者可以了解的,該二值化方法將所有非二元數值的SE映射成bin序列,或者稱為bin字串。在各種實施例中,可使用不同的二值化方案,諸如一元關係(U)、截斷一元關係(TU)、第k階指數哥倫布(EGk)編碼、第一及第三方案UEGk之序連,以及固定長度二值化。二值化模組206也可導出用於一SE的每一個bin之內文索引(ctxidx)。接著,該等bin值及其等之相關的內文索引被提供至內文記憶體208及CABAC引擎202與204。
後續將更詳細解釋,根據本揭露,熵編碼模組110可利用CABAC引擎202與204,結合內文記憶體208,在一單一時鐘循環期間提供兩個bin值的CABAC處理。為了做到此點,CABAC引擎202與204是可通訊地一起耦接至一單一時鐘管線203,藉此CABAC引擎202與204的內部機率狀態(pstateidx)被儲存在內文記憶體208中且被提供至CABAC引擎202與204。以下將更詳細說明,當引擎202及204應用遞迴區間切割算術編碼技術至該等bin值時,可使用引擎202及/或204的bin值、內文索引以及內部機率狀態。接著,位元合併模組210可應用已知技術(參閱如Marpe)來合併CABAC引擎202與204的輸出並產生針 對編碼器100的一經編碼位元流輸出。
第3圖說明根據本揭露的各種實施例之用於執行在一單一時鐘循環中兩個bin值的CABAC編碼之一範例方法之一流程圖。方法300可包括如第3圖方塊302、304、308、312及316中的一或多個所說明的一或多個操作、功能或動作。藉由非限制性範例,在此會參照第4圖中更詳細繪示的根據本揭露之範例熵編碼器110來說明方法300。
方法300可開始於方塊302,其中一語法元素301可被接收。例如,一H.264/AVC SE可在二值化模組206處被接收。如第4圖所示,二值化模組206可接收一SE,其包括例如轉換係數值、移動向量差(MVD)值等。例如,該SE可包括每個有意義的(significant)轉換係數之絕對值。
在方塊304處,該SE可被二值化,以產生多個bin值305及一對應數目的內文索引值306。例如,表1展示針對不同MVD值的範例二值化值。
例如,使用表1範例,一輸入MVD SE值四(4)可被二值化以產生一SE bin字串值11110,其中該SE bin字串的第一個位元是該字串的第一個bin,第二個位元是第二個bin,依此類推。在此特定範例中,一輸入MVD SE值四(4)會在方塊304處由模組206處理,以產生五(5)個bin:bin0、bin1、bin2、bin3及bin4,其中每個bin的值為一(1)或零(0)。一般來說,對於任意輸入SE值而言,模組206可在方塊304處產生N個bin值。
此外,做為在方塊304處所進行的二值化之一部分,模組206可產生關聯於該等bin的內文索引(及因此關聯於該等對應bin值305)。熟悉此技者可了解到,在H.264/AVC標準下,每個SE可使用一範圍的機率模型中的一者,其等每一個可以藉由一內文索引來加以標示(如第4圖中的ctxidx0、ctxidx1、...、ctxidxN)。每一機率模型(唯一地關聯於一內文索引)包括一對的兩個值:一個六位元的機率狀態索引以及一個最可能的符號(MPS)位元值。因此,每個bin的機率模型可藉由一個7位元的內文索引值306來表示。
接下來對方法300的討論會把重點放在一任意輸入SE bin字串的前兩個bin的值(binval0及binval1)以及各自的內文索引值(ctxidx0及ctxidx1)。如第4圖所示,該等信號binval0、ctxidx0、binval1及ctxidx1被儲存在內文記憶體208中,而該等binval0及ctxidx0信號被提供給CABAC引擎202,且該等binval1及ctxidx1信號被提供給CABAC引擎204。一般而言,CABAC引擎202及204可利用兩個編碼模 式:使用內文模型的一般bin編碼,以及bin的0及1之機率相等之旁路bin編碼。
方法300可在方塊308繼續,其中在一時鐘循環期間,可進行一第一bin值的基於內文適應性算術(CABA)編碼,以產生一經編碼第一bin值309以及一第一機率狀態索引值310。例如,CABAC引擎202可藉由基於內文索引ctxidx0,從一組預定的機率模型選擇一機率模型用於binval0,來進行方塊308,其中該經選擇的內文模型代表該bin的一最可能的符號(MPS)及機率狀態索引(pStateIdx)。藉由使用該經選擇的內文模型,引擎202可運用遞迴區間切割算術編碼技術,其中區間長度的遞迴切割可藉由該區間之一下界限(CodiLow)及一長度(CodiRange)而被定義。
在各種實施例中,方塊308可包括使用一表格驅動估計器之機率估計,其中每一機率模型可採行128個有相關聯機率值之不同狀態中的一者。一最不可能符號(LPS)及一最可能符號(MPS)之機率可被指定,且接著每一機率狀態可藉由該LPS機率值被指定。在各種實施例中,CABAC引擎202也可回應於一初始機率狀態,根據一機率狀態索引之一初始值(out_stateidx0),來進行方塊308。對於CABAC引擎202,方塊308可使引擎202提供一機率狀態索引值(wrbackdata_pstateidx0)至內文記憶體208以及兩個多工器402與404,且提供一經編碼bin值406至位元合併模組210。
方法300可在方塊312處繼續,其中在與方塊308所進行的時鐘循環相同之時鐘循環期間,可回應於該第一 機率狀態索引值310,進行一第二bin值之CABA編碼,以產生一經編碼第二bin值313及一第二機率狀態索引值314。例如,CABAC引擎204可進行方塊312,其藉由基於內文索引值ctxidx1及CABAC引擎202所提供的該值wrbackdata_pstateidx0,選擇用於binval1之一機率模型。在進行過程中,CABAC引擎204可運用遞迴區間切割算術編碼技術,如方塊308中的CABAC引擎202所運用者。方塊310可使引擎204提供一機率狀態索引值(wrbackdata_pstateidx1)至內文記憶體208以及兩個多工器402與404,且提供一經編碼bin值406至位元合併模組210。
如熟悉此技者可了解的,藉由CABAC模組202及204所進行的算術編碼可基於遞迴區間切割之原則,其中給定一個二元決策(0,1)之一機率估計p(0)及p(1)=1-p(0),具有該範圍codIRange之一初始給定碼子區間可被切割為兩個分別具有範圍p(0)*codIRange及codIRange-p(0)*codIRange之子區間。取決於該決策,該對應的子區間可被選擇為該新的碼區間(如第4圖中的CodiRange/Codilow經更新信號所表示者),且一指向該區間內的二元碼字串可表示被觀察的二元決策之順序。二元決策可被識別為該最可能符號(MPS)或該最不可能符號(LPS)。因此,每一內文可被指定以該LPS之機率pLPS以及MPS之值(valMPS),其為0或1。
如第4圖所示,藉由使用多工器402,內文索引比較邏輯408可在方塊308處判定何種機率狀態索引被提供至 CABAC引擎202,且藉由使用多工器404,內文索引比較邏輯410可在方塊312處判定何種機率狀態索引被提供至CABAC引擎204。第5圖繪示根據本揭露的熵編碼器110的部分之細節。特別是,第5圖繪示使用一比較器502、內文記憶體208、邏輯閘504及506以及多工器508-514的取決於該等相關的內文索引值之該等機率狀態索引值之讀取及寫入操作。
方法可在方塊316繼續,其中可作出關於是否繼續處理在方塊302處所接收的SE之其他bin值的判定。例如,對於具有多於兩個bin值的SE來說,方法300可返回至方塊308及312繼續進行,其中下兩個bin值(如binval2及binval3)及相關聯的內文索引(如ctxidx2及ctxidx3)可在一後續時鐘循環期間被施以CABA編碼(如上所述)。然而,若沒有其他的二元數值需要被處理,則方法300可結束。在各種實施例中,方法300的後續疊代可針對在一SE字串中的剩餘非二元SE來進行。
儘管範例方法300的實施,如第3圖所示,可包括以所示的順序來進行所有方塊,但本揭露不限於此,且在各種範例中,方法300的實施可包括只進行該等所示方塊之一子集合及/或以不同於所示的順序來進行。
此外,第3圖中方塊的一個或多個可回應於一個或多個電腦程式產品所提供的指令而進行。此等程式產品可包括提供指令的信號承載媒體,該等指令被例如一處理器執行時,可提供此處所述的功能性。該等電腦程式產品 可以任何形式的電腦可讀媒體來提供。因此,例如,包括一或多個處理器核心的一處理器可回應於從一電腦可讀媒體傳到該處理器的指令,而進行第3圖所示的一或多個方塊。
如此處所述的實施例中所使用的,該用語“模組”表示被組配以提供此處所述的功能性之軟體、韌體及/或硬體之任何組合。該軟體可以一軟體套件、程式碼及/或指令集或指令來實施,且如此處所述用於任何實施例中者,“硬體”可包括例如單獨的硬接線電路、可規劃電路、狀態機電路,及/或儲存由可規劃電路所執行的指令之韌體或任何組合。該等模組可共同或個別被實施為形成一較大系統的部分之電路,例如一積體電路(IC)、系統單晶片(SoC)等。
第6圖說明根據本揭露的一範例運算系統600。系統600可用於執行此處所討論的某些或所有各種功能,且可包括根據本揭露之各種實施例之能進行此處所述的方法之任何裝置或裝置之集合。例如,系統600可包括例如一桌上型、行動或平板電腦、一智慧型手機、一機上盒等之一運算平台或裝置被選擇的元件,但本揭露不限於此。在一些實施例中,系統600可包括在例如一CE裝置中的基於英特爾®架構(IA)之一運算平台或SoC。熟悉該技藝之人士容易了解到,此處所述之實施例可用於替代的處理系統而不脫離本揭露之範圍。
電腦系統600可包括一主機系統602、一匯流排616、一顯示器618、一網路介面620及一成像裝置622。主 機系統602可包括一處理器604、一晶片組606、主記憶體608、一圖形子系統610及儲存器612。處理器604可包括一或多個處理器核心且可以是能執行軟體指令及/或處理資料信號的任何類型的處理器邏輯元件。在各種範例中,處理器604可包括複雜指令集電腦(CISC)處理器核心、精簡指令集電腦(RISC)微處理器核心、極長指令字(VLIW)微處理器核心及/或實施任何指令集的組合或類型之任何數目的處理器核心。在某些實施例中,處理器604能進行數位信號處理及/或微控制器處理。
處理器604可包括解碼器邏輯元件,其可用以將例如晶片組606及/或一圖形子系統610接收到的指令解碼成控制信號及/或微碼入口點。此外,回應於控制信號及/或微碼入口點,晶片組606及/或圖形子系統610可執行對應的操作。在各種實施例中,處理器604可被組配以進行此處所述的任何方法,包括第3圖所示的範例方法。
晶片組606可提供在處理器604、主記憶體608、儲存器612、圖形子系統610及匯流排616之間的相互通訊。例如,晶片組606可包括一儲存器介面卡(圖未示),其能提供與儲存器612之間的相互通訊。例如,該儲存器介面卡可符合數個協定中任一者而與儲存器612通訊,該等協定包括但不限於小型電腦系統介面(SCSI)、光纖通道(FC)及/或序列先進技術附件(S-ATA)協定。在各種實施例中,晶片組606可包括能在主記憶體608內或在網路介面620與主記憶體608之間或一般是在系統600內的任何元件組之間傳輸資訊 的邏輯元件。在各種實施例中,晶片組606可包括多於一個的IC。
主記憶體608可實施為一依電性記憶體裝置,例如但不限於一隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM),或靜態RAM(SRAM)等。儲存器612可實施為一非依電性記憶體裝置,例如但不限於一磁碟裝置、光碟機、磁帶機、一內接式儲存裝置、一附加儲存裝置、快閃記憶體、電池備份SDRAM(同步DRAM)及/或一網路存取儲存裝置等。
記憶體608可儲存由資料信號所表示的指令及/或資料,其可被處理器604執行以進行此處所述之任何方法,包括第3圖所示之範例方法。例如,主記憶體608可儲存輸入影像、機率狀態值等。在某些實施例中,儲存器612也可儲存這些項目。
圖形子系統610可處理用於顯示的影像,例如靜態或視訊影像。例如,在某些實施例中,圖形子系統610可執行一輸入視訊信號的編碼。例如,在一些實施例中,圖形子系統610可執行如第3圖所示的動作。一類比或數位介面可被使用以可通訊地耦接圖形子系統610及顯示器618。例如,該介面可以是一高畫質多媒體介面、顯示器埠、無線HDMI及/或無線HD相容技術中的任何一者。在各種實施例中,圖形子系統610可被整合至處理器604或晶片組606中。在某些其他實施例中,圖形子系統610可以是一獨立式的卡,其可通訊地耦接至晶片組606。
匯流排616可提供至少在主機系統602、網路介面620、成像裝置622及其他例如鍵盤、滑鼠等周邊裝置(圖未示)之間的相互通訊。匯流排616可支援串列或並列通訊。匯流排616可支援點對點或點對多點通訊。匯流排616可至少相容於周邊元件互連(PCI)規格,載於例如周邊元件互連(PCI)區域匯流排規格,Revision 3.0,February 2,2004,可取自PCI Special Interest Group,Portland,Oregon,U.S.A.(及其改版);PCI Express,載於PCI Express Base Specification of the PCI Special Interest Group,Revision 1.0a中(及其改版);PCI-x,載於PCI-X Specification Rev.1.1,March 28,2005中,可取自前述PCI Special Interest Group,Portland,Oregon,U.S.A.(及其改版);及/或通用序列匯流排(USB)(及相關標準)以及其他互連標準。
網路介面620可提供在主機系統602及一網路之間相容於任何例如有線或無線技術之可用協定的相互通訊。例如,網路介面620可符合各種IEEE通訊標準,如802.3、802.11或802.16。網路介面620可使用匯流排616與主機系統602相互通訊。在一些實施例中,網路介面620可被整合至晶片組606中。
此處所述的該等圖形及/或視訊處理技術可以各種硬體架構來實施。例如,圖形及/或視訊功能可被整合至一晶片組中。或者,可使用一分離的圖形及/或視訊處理器。在另一實施例中,該等圖形及/或視訊功能可以一通用目的處理器來實施,包括一多核心處理器。在又一實施例 中,該等功能可以一消費電子裝置來實施。
顯示器618可以是任何類型的顯示器裝置及/或面板。例如,顯示器618可以是一液晶顯示器(LCD)、一電漿顯示面板(PDP)、一有機發光二極體(OLED)顯示器等。在某些實施例中,顯示器618可以是一投影顯示器(如一微型投影顯示器等)、一微顯示器等。在各種實施例中,顯示器618可被使用以顯示藉由成像裝置622所擷取的影像。
成像裝置622可以是任何類型的成像裝置,其能擷取視訊影像,例如數位照相機、手機照相機、紅外線(IR)照相機等。成像裝置622可包括一或多個影像感測器(如一電荷耦合元件(CCD)或互補金氧半導體(CMOS)影像感測器)。成像裝置622可擷取彩色或黑白視訊影像。成像裝置622可擷取視訊影像並將該等影像透過匯流排616及晶片組606提供給處理器604進行此處所述的視訊編碼處理。
在一些實施例中,系統600可透過一I/O匯流排(圖未示)與各種未示於圖6之I/O裝置進行通訊。此等I/O裝置可包括但不限於例如一通用非同步接收器/發射器(UART)裝置、一USB裝置、一I/O擴充介面或其他I/O裝置。在各種實施例中,系統600可表示一系統的至少一些部份,其等用於進行行動、網路及/或無線通訊。例如,系統600可使用網路介面620來傳輸利用此處所述系統及方法所產生的一經編碼位元流。
此處所述的裝置及/或系統,如第1、2及4-6圖中的範例系統或裝置,代表根據本揭露的許多可能的裝 置組態、架構或系統。系統的各種變化,如此處所述的範例系統之變化,是可能與本發明一致的。
上述系統及如此處所述之其等所執行的處理可以硬體、韌體或軟體或其等之任何組合來實施。此外,此處所揭露的任何一或多個特徵可以硬體、軟體、韌體及其組合來實施,包括離散及積體電路邏輯元件、特定應用積體電路(ASIC)邏輯元件及微控制器,且可實施為一特定領域積體電路封裝之部分,或積體電路封裝之組合。軟體一詞,如此處所使用的,代表一包括一電腦可讀媒體之電腦程式產品,其內儲存有電腦程式邏輯,用以致使一電腦系統執行此處所揭露的特徵中的一或多個特徵及/或組合。
儘管此處所提出的某些特徵已參照各種實施例來加以說明,但本說明書並非意欲以限制性方式來被解讀。因此,此處所述的實施例之修飾以及其他實施例,只要是對於熟悉本揭露所屬技藝之人士為明顯者,皆被視為落入本揭露之精神及範圍內。
100‧‧‧編碼器
102‧‧‧預測
104‧‧‧轉換
106‧‧‧量化
108‧‧‧掃描
110‧‧‧熵編碼

Claims (29)

  1. 一種設備,其包含:一記憶體;一第一模組,用以回應於一第一內文索引值,在一第一時鐘循環期間,熵編碼一第一bin值,其中該第一模組被組配以在熵編碼該第一bin值時,儲存一第一機率狀態索引值;及一第二模組,用以回應於該第二內文索引值,在該第一時鐘循環期間,熵編碼一第二bin值,其中該第二模組被組配以在熵編碼該第二bin值時,儲存一第二機率狀態索引值。
  2. 如申請專利範圍第1項之設備,其進一步包含:一第三模組,用以藉由二值化一語法元素產生該等第一及第二bin值,判定針對該第一bin值的該第一內文索引值,及判定針對該第二bin值的該第二內文索引值。
  3. 如申請專利範圍第2項之設備,其中該語法元素包含一H.264/AVC語法元素。
  4. 如申請專利範圍第1項之設備,其中該記憶體包含具有二讀取埠及二寫入埠的一內文記憶體。
  5. 如申請專利範圍第1項之設備,其中該第二模組被組配以回應於該第一機率狀態索引值,熵編碼該第二bin值。
  6. 如申請專利範圍第1項之設備,其中該第一模組包含一第一基於內文適應性算術編碼(CABAC)引擎,及該第二模組包含一第二CABAC引擎。
  7. 如申請專利範圍第1項之設備,該記憶體用以儲存該第一bin值、該第二bin值、該第一內文索引值,及該第二內文索引值。
  8. 一種以電腦來實行的方法,其包含:在一第一時鐘循環期間,對一第一bin值執行基於內文適應性算術(CABA)編碼,以產生一經編碼第一bin值及一第一機率狀態索引值;及在該第一時鐘循環期間,回應於該第一機率狀態索引值,對一第二bin值執行CABA編碼,以產生一經編碼第二bin值及一第二機率狀態索引值。
  9. 如申請專利範圍第8項之方法,其中對該第一bin值執行CABA編碼包含:回應於一第一內文索引值及該第一bin值,執行遞迴區間切割算術編碼,以產生該經編碼第一bin值及該第一機率狀態索引值;及將該第一機率狀態索引值儲存在記憶體中。
  10. 如申請專利範圍第9項之方法,其中該記憶體包含具有二讀取埠及二寫入埠的一內文記憶體。
  11. 如申請專利範圍第9項之方法,其中對該第二bin值執行CABA編碼包含:回應於一第二內文索引值及該第二bin值,執行遞迴區間切割算術編碼,以產生該經編碼第二bin值及該第二機率狀態索引值;及將該第二機率狀態索引值儲存在記憶體中。
  12. 如申請專利範圍第8項之方法,其中對該第一bin值執行CABA編碼包含使用一第一CABAC引擎對該第一bin值執行CABA編碼,及其中對該第二bin值執行CABA編碼包含使用一第二CABAC引擎對該第二bin值執行CABA編碼。
  13. 如申請專利範圍第8項之方法,進一步包含:接收一語法元素;及二值化該語法元素,以產生該第一bin值及該第二bin值。
  14. 如申請專利範圍第13項之方法,其中該語法元素包含一H.264/AVC語法元素。
  15. 一種系統,其包含:一成像裝置;及一運算系統,其中該運算系統是可通訊地耦接至該成像裝置且其中該運算系統用以:在一第一時鐘循環期間,對一第一bin值執行基於內文適應性算術(CABA)編碼,以產生一經編碼第一bin值及一第一機率狀態索引值;及在該第一時鐘循環期間,回應於該第一機率狀態索引值,對一第二bin值執行CABA編碼,以產生一經編碼第二bin值及一第二機率狀態索引值。
  16. 如申請專利範圍第15項之系統,其中要對該第一bin值執行CABA編碼,該運算系統用以:回應於一第一內文索引值及該第一bin值,執行遞 迴區間切割算術編碼,以產生該經編碼第一bin值及該第一機率狀態索引值;及將該第一機率狀態索引值儲存在一內文記憶體中。
  17. 如申請專利範圍第16項之系統,其中該內文記憶體包括二讀取埠及二寫入埠。
  18. 如申請專利範圍第16項之系統,其中要對該第二bin值執行CABA編碼,該運算系統用以:回應於一第二內文索引值及該第二bin值,執行遞迴區間切割算術編碼,以產生該經編碼第二bin值及該第二機率狀態索引值;及將該第二機率狀態索引值儲存在該內文記憶體中。
  19. 如申請專利範圍第15項之系統,其中要對該第一bin值執行CABA編碼,該運算系統用以使用一第一CABAC引擎對該第一bin值執行CABA編碼,且其中要對該第二bin值執行CABA編碼,該運算系統用以使用一第二CABAC引擎對該第二bin值執行CABA編碼。
  20. 如申請專利範圍第15項之系統,其中該運算系統用以:二值化一語法元素,以產生該第一bin值及該第二bin值。
  21. 如申請專利範圍第20項之系統,其中該運算系統用以:從該成像裝置接收視訊內容;及處理該視訊內容,以產生該語法元素。
  22. 如申請專利範圍第20項之系統,其中該語法元素包含一H.264/AVC語法元素。
  23. 一種包含一電腦程式產品的物品,其內已儲存有若被執行會導致下列動作進行之指令:在一第一時鐘循環期間,對一第一bin值執行基於內文適應性算術(CABA)編碼,以產生一經編碼第一bin值及一第一機率狀態索引值;及在該第一時鐘循環期間,回應於該第一機率狀態索引值,對一第二bin值執行CABA編碼,以產生一經編碼第二bin值及一第二機率狀態索引值。
  24. 如申請專利範圍第23項之物品,其中對該第一bin值執行CABA編碼包含:回應於一第一內文索引值及該第一bin值,執行遞迴區間切割算術編碼,以產生該經編碼第一bin值及該第一機率狀態索引值;及將該第一機率狀態索引值儲存在記憶體中。
  25. 如申請專利範圍第24項之物品,其中該記憶體包含具有二讀取埠及二寫入埠的一內文記憶體。
  26. 如申請專利範圍第24項之物品,其中對該第二bin值執行CABA編碼包含:回應於一第二內文索引值及該第二bin值,執行遞迴區間切割算術編碼,以產生該經編碼第二bin值及該第二機率狀態索引值;及將該第二機率狀態索引值儲存在該記憶體中。
  27. 如申請專利範圍第23項之物品,其中對該第一bin值執行CABA編碼包含使用一第一CABAC引擎對該第一bin 值執行CABA編碼,及其中對該第二bin值執行CABA編碼包含使用一第二CABAC引擎對該第二bin值執行CABA編碼。
  28. 如申請專利範圍第23項之物品,其內已進一步儲存有若被執行會導致下列動作進行之指令:接收一語法元素;及二值化該語法元素,以產生該第一bin值及該第二bin值。
  29. 如申請專利範圍第28項之物品,其中該語法元素包含一H.264/AVC語法元素。
TW101142612A 2011-11-15 2012-11-15 具有每時鐘2-bin的基於脈絡適應性算術編碼(cabac)技術之視訊編碼器 TWI578799B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/060779 WO2013074088A1 (en) 2011-11-15 2011-11-15 Video encoder with 2-bin per clock cabac encoding

Publications (2)

Publication Number Publication Date
TW201338550A true TW201338550A (zh) 2013-09-16
TWI578799B TWI578799B (zh) 2017-04-11

Family

ID=48429997

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101142612A TWI578799B (zh) 2011-11-15 2012-11-15 具有每時鐘2-bin的基於脈絡適應性算術編碼(cabac)技術之視訊編碼器

Country Status (6)

Country Link
US (1) US20130272373A1 (zh)
EP (1) EP2781087A4 (zh)
CN (1) CN103918260A (zh)
IN (1) IN2014CN02865A (zh)
TW (1) TWI578799B (zh)
WO (1) WO2013074088A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9258565B1 (en) * 2011-06-29 2016-02-09 Freescale Semiconductor, Inc. Context model cache-management in a dual-pipeline CABAC architecture
CN107743239B (zh) * 2014-09-23 2020-06-16 清华大学 一种视频数据编码、解码的方法及装置
US11233998B2 (en) 2015-05-29 2022-01-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
US10158874B2 (en) * 2015-09-30 2018-12-18 Apple Inc. Parallel bypass and regular bin coding
KR102580669B1 (ko) * 2016-09-12 2023-09-21 삼성전자주식회사 프로세서 및 프로세서의 데이터 처리 방법
KR20180087771A (ko) 2017-01-25 2018-08-02 삼성전자주식회사 엔트로피 인코더 및 이를 포함하는 비디오 인코더
US10438588B2 (en) * 2017-09-12 2019-10-08 Intel Corporation Simultaneous multi-user audio signal recognition and processing for far field audio
CN113364471B (zh) * 2020-03-05 2024-04-12 华为技术有限公司 一种译码系统、译码控制器及译码控制的方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3728011B2 (ja) * 1996-04-09 2005-12-21 キヤノン株式会社 誤り訂正方法および誤り訂正装置
US6094151A (en) * 1998-01-05 2000-07-25 Ricoh Company, Ltd. Apparatus and method for finite state machine coding of information selecting most probable state subintervals
US6906647B2 (en) * 2002-09-20 2005-06-14 Ntt Docomo, Inc. Method and apparatus for arithmetic coding, including probability estimation state table creation
US6894628B2 (en) * 2003-07-17 2005-05-17 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables
JP2005184232A (ja) * 2003-12-17 2005-07-07 Sony Corp 符号化装置、プログラム、およびデータ処理方法
JP4878262B2 (ja) * 2006-10-31 2012-02-15 キヤノン株式会社 エントロピー符号化装置
CN101212676B (zh) * 2006-12-29 2010-06-02 北京展讯高科通信技术有限公司 高效并行cabac解码方法及其装置
JP4865662B2 (ja) * 2007-09-26 2012-02-01 キヤノン株式会社 エントロピー符号化装置、エントロピー符号化方法およびコンピュータプログラム
US7777654B2 (en) * 2007-10-16 2010-08-17 Industrial Technology Research Institute System and method for context-based adaptive binary arithematic encoding and decoding
US8542727B2 (en) * 2007-12-31 2013-09-24 Intel Corporation Systems and apparatuses for performing CABAC parallel encoding and decoding
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
US7932843B2 (en) * 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
US8626988B2 (en) * 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
US9973768B2 (en) * 2010-03-16 2018-05-15 Texas Instruments Incorporated CABAC decoder with decoupled arithmetic decoding and inverse binarization
US10349070B2 (en) * 2010-09-30 2019-07-09 Texas Instruments Incorporated Simplified binary arithmetic coding engine
US8798139B1 (en) * 2011-06-29 2014-08-05 Zenverge, Inc. Dual-pipeline CABAC encoder architecture
KR102073868B1 (ko) * 2011-11-07 2020-02-05 타지반 투 엘엘씨 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 및 화상 부호화 복호 장치

Also Published As

Publication number Publication date
IN2014CN02865A (zh) 2015-07-03
TWI578799B (zh) 2017-04-11
CN103918260A (zh) 2014-07-09
EP2781087A1 (en) 2014-09-24
EP2781087A4 (en) 2015-08-12
WO2013074088A1 (en) 2013-05-23
US20130272373A1 (en) 2013-10-17

Similar Documents

Publication Publication Date Title
TWI578799B (zh) 具有每時鐘2-bin的基於脈絡適應性算術編碼(cabac)技術之視訊編碼器
JP6882560B2 (ja) 画像予測方法および装置
US11956435B2 (en) Reducing context coded and bypass coded bins to improve context adaptive binary arithmetic coding (CABAC) throughput
US11425384B2 (en) Context adaptive binary arithmetic coding (CABAC) with scalable throughput and coding efficiency
TWI520619B (zh) 用於在視訊寫碼中之參考索引寫碼的旁路位元子
JP6199311B2 (ja) 映像コード化における係数のコード化
JP2023058526A (ja) 統一された有意性マップ符号化方法および装置
JP5550005B2 (ja) ランダムアクセス機能による画像圧縮方法
JP2015508617A5 (zh)
BR112015016256B1 (pt) Sinalização de contagem de ordem de imagens para relações de informação de temporização para temporização de vídeo em codificação de vídeo
US10250912B2 (en) Method and apparatus for entropy decoding with arithmetic decoding decoupled from variable-length decoding
EP3198869A1 (en) Intra-prediction complexity reduction using a reduced number of angular modes and subsequent refinement
KR20230126178A (ko) 비디오 서브픽처들에서의 비디오 슬라이스 높이의 표시
WO2016127837A1 (en) Apparatus and method for compressing color index map
JP2019521550A (ja) ビデオデータに関係する構文要素を表す一連の2値シンボルをコンテキスト適応型2値算術符号化するための方法及び装置
US20180131936A1 (en) Conversion buffer to decouple normative and implementation data path interleaving of video coefficients
KR20140085493A (ko) 보다 높은 스루풋을 위한 마지막 위치의 이진화
JP2023129480A (ja) 変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム
KR20210057171A (ko) 가장 가능성 있는 인트라 모드를 예측하는 방법 및 장치
WO2023103565A1 (zh) 点云属性信息的编解码方法、装置、设备及存储介质
RU2782583C1 (ru) Слияние изображений на блочной основе для контекстной сегментации и обработки
Dong et al. Implementation of A Real-Time Lossless JPEG-LS Compression Algorithm Based on FPGA
US20240114147A1 (en) Systems, methods and bitstream structure for hybrid feature video bitstream and decoder
Mohankrishna et al. A novel approach for reduction of huffman cost table in image compression
JP2020145667A (ja) 画像圧縮のためのハイブリッドパレット−dpcm符号化

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees