TWI428023B - 解碼方法及裝置 - Google Patents
解碼方法及裝置 Download PDFInfo
- Publication number
- TWI428023B TWI428023B TW097144573A TW97144573A TWI428023B TW I428023 B TWI428023 B TW I428023B TW 097144573 A TW097144573 A TW 097144573A TW 97144573 A TW97144573 A TW 97144573A TW I428023 B TWI428023 B TW I428023B
- Authority
- TW
- Taiwan
- Prior art keywords
- value
- syntax element
- bit
- original
- string
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本發明是有關於一種解碼方法及裝置,且特別是一種與視訊有關之解碼方法及裝置。
在目前最新的視訊壓縮標準H.264中,由於採用了先進的設計和工具,使得視訊壓縮的效率大為提升,而其中一項就是在熵編碼(Entropy Coding)採用了基於上下文的自適應二進制算術編碼(Context-based Adaptive Binary Arithmetic Coding,CABAC)。CABAC有別於已往採用的可變長度編碼(Various Length Coding,VLC),它加入了數學編碼(Arithmetic Coding)的優點,因此能夠更有效的節省儲存空間。數學編碼除了有較高的壓縮效率外,它還可對可變長度編碼無法壓縮的二元符號(binary symbol)加以壓縮。
CABAC中所壓縮的語法元素(Syntax Element,SE)是由可變長度的位元串(Bin String)所代表。位元串係由1或多個位元所組成,每個位元稱為一個bin,而每個bin本身即表示一個0或1的二元符號。CABAC編碼時不但要考慮到語法元素符號的出現或然率,較常出現的語法元素符號配合較短的位元串,也要考慮到位元串裡的每個位元符號的出現或然率,再利用數學編碼而達到更佳之壓縮。
請同時參照第1圖,其繪示係為一種原始二元化表之
示意圖。為了轉換不同屬性的資料,CABAC根據不同的屬性定義不同的二元化表,如I-Slice MB Type二元化表(Binarization Table)、P-Slice MB Type二元化表及B-Slice MB Type二元化表等。第1圖即以B-Slice MB Type二元化表為例說明。
B-Slice MB Type二元化表包括語法元素符號(Syntax Element Symbol,SES)欄位及位元串(Bin String,BS)欄位。第1圖繪製之語法元素符號欄位包括多個語法元素符號SES,如0、1、2、...、22及23。而位元串欄位包括多個位元串BS,如0、100、101、...、111111及111101,其係分別與前述各語法元素符號相對應。
請參照第2圖,其繪示係為一種傳統的二元搜尋查閱表(binary search lookup table)之示意圖。前述B-Slice MB Type二元化表經由一特定程式即能轉換為二元搜尋查閱表。二元搜尋查閱表包括輸入欄位Input及輸出欄位Output。輸入欄位Input包括節點Node及位元Bin,而輸出欄位Output包括指示值NodeSE及旗標Flag。隨著節點Node及位元Bin的不同,將對應至不同的指示值NodeSE及旗標Flag。
當旗標Flag等於1時,表示二元搜尋已結束,指示值NodeSE即為此位元串所對應的語法元素符號。相反地,當旗標Flag等於0時,表示二元搜尋尚未結束,指示值NodeSE表示下一節點Node。根據此下一節點Node及下一個位元Bin進行另一次的二元搜尋。
在解二元化(De-Binarization)的過程中,藉由前述搜尋步驟即能找出與所接收的位元串相對應之語法元素符號。
請參照第3圖,其繪示乃是二元搜尋查閱表,係為傳統一種根據位元串找出對應之語法元素符號之示意圖。為方便說明起見,第3圖係以位元串1111001為例說明如何找出對應之語法元素符號21。根據位元串1111001找出對應之語法元素符號21的方法包括如下搜尋步驟:首先,節點Node等於”0”,而位元串之第1個位元Bin等於”1”。根據節點”0”及位元”1”進行第一次二元搜尋,找出與節點”0”及位元”1”對應之旗標值Flag與指示值NodeSE。此時,旗標值Flag為”0”,而指示值NodeSE為”1”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”1”,表示下一個節點為”1”。
接著,節點Node等於”1”,而位元串之第2個位元等於”1”。根據節點”1”及位元”1”進行第二次二元搜尋,找出與節點”1”及位元”1”對應之旗標值Flag與指示值NodeSE。此時,旗標值Flag為”0”,而指示值NodeSE為”2”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”2”,表示下一個節點Node為”2”。
跟著,節點Node等於”2”,而位元串之第3個位元等於”1”。根據節點”2”及位元”1”進行第三次二元搜尋,找出與節點”2”及位元”1”對應之旗標值Flag與指示值NodeSE。此時,旗標值Flag為”0”,而指示值NodeSE
為”3”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”3”,表示下一個節點Node為”3”。
然後,節點Node等於”3”,而位元串之第4個位元等於”1”。根據節點”3”及位元”1”進行第四次二元搜尋,找出與節點”3”及位元”1”對應之旗標值Flag與指示值NodeSE。此時,旗標值Flag為”0”,而指示值NodeSE為”6”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”6”,表示下一個節點Node為”6”。
接著,節點Node等於”6”,而位元串之第5個位元等於”1”。根據節點”6”及位元”1”進行第五次二元搜尋,找出與節點”6”及位元”1”對應之旗標值Flag與指示值NodeSE。此時,旗標值Flag為”0”,而指示值NodeSE為”12”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”12”,表示下一個節點Node為”12”。
跟著,節點Node等於”12”,而位元串之第6個位元等於”0”。根據節點”12”及位元”0”進行第六次二元搜尋,找出與節點”12”及位元”0”對應之旗標值Flag與指示值NodeSE。此時,旗標值Flag為”0”,而指示值NodeSE為”22”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”22”,表示下一個節點Node為”22”。
最後,節點Node等於”22”,而位元串之第7個位元等於”1”。根據節點”22”及位元”1”進行第七次二元搜尋,找出與節點”22”及位元”1”對應之旗標值Flag與指示值NodeSE。此時,旗標值Flag為”1”,而指示值NodeSE
為”21”。由於旗標值Flag為”1”,表示搜尋已結束,而指示值NodeSE為”21”,表示位元串”1111001”所對應之語法元素符號為”21”。
然而,傳統的二元搜尋查閱表過於龐大,以第2圖為例,其所需的記憶體空間即為46×6=276 bits。因此,如何降低所佔用的記憶體空間,乃業界所致力的主要課題之一。
根據本發明之一範例,揭露一種解碼裝置。解碼裝置包括控制單元、查閱單元、計算單元、第一開關及第二開關。控制單元接收位元串之部份。查閱單元根據位元串之部份及一節點於查閱表中找出與位元串之部份相對應之旗標值、長度值及指示值,並判斷旗標值是否等於預設值。長度值表示下次查閱或計算時需要的位元數。當旗標值不等於預設值時,指示值係為下一節點。當旗標值等於預設值時,指示值係為基本語法元素符號(Basic SE Symbol)。計算單元根據基本語法元素符號計算出與位元串相對應之語法元素符號。第一開關選擇性地將控制單元電性連接至查閱單元或計算單元。第二開關選擇性地將指示值視為基本語法元素符號輸出至計算單元或將指示值視為下一節點迴授至查閱單元。
根據本發明之一範例,揭露一種解碼方法。解碼方法包括如下步驟:接收位元串之部份;根據位元串之部份及
一節點於查閱表中找出與位元串之部份相對應之旗標值、長度值及指示值;判斷旗標值是否等於預設值;當旗標值不等於預設值時,指示值表示一下一節點;以及當旗標值等於預設值時,指示值表示基本語法元素符號,根據基本語法元素符號找出與位元串相對應之語法元素符號。長度值表示下次部份位元串的位元數。
為讓本發明之上述內容能更明顯易懂,下文特舉若干實施範例,並配合所附圖式,作詳細說明如下:
一般來說,H.264中二元化的方式可分為兩類。一種為列表方式(Tabulation Type),而另一種為非列表方式(Non-tabulation Type)。列表方式需要一個預先定義好的表格,如I-Slice MB Type二元化表(Binarization Table)、P-Slice MB Type二元化表及B-Slice MB Type二元化表等。非列表方式則不需要一個預先定義好的表格,但需要一個預先定義好的演算法。非列表方式透過演算法即能自行產生所需的表格。非列表方式之演算法包括一元(Unary)式編碼、截斷一元(Truncated Unary,TU)式編碼及固定長度(Fixed Length,FL)式編碼。而此三種演算法的編碼方式,即分別以U Type、TU Type及FL Type簡稱之。FL Type係將每一個語法元素符號(Syntax Element Symbol,SES)都以固定的位元個數來編碼,此為業界所習知,在此不另行詳述。
請參照第4圖,其繪示係為U Type二元化表之示意圖。由第4圖可看出,語法元素符號SES為0、1、2、3及4時,所對應之位元串BS依序為”0”、”10”、”110”、”1110”及”11110”。由其排列規則可看出:U Type的編碼方式中,每一個位元串BS皆是以位元”0”做為結尾。而除了語法元素符號0之外,其他語法元素符號所對應之位元串之位元”0”之前則皆是位元”1”表示。
請參照第5圖,其繪示係為TU Type二元化表之示意圖。TU Type的編碼方式十分類似,不同之處在於:TU Type的最後一個位元串BS的最後一個位元是以”1”結尾,而非以位元”0”做為結尾。此外,TU Type的編碼方式需要一個最大長度(Max Length)。當位元串的位元個數與最大長度相同時,即表示位元串BS已至結尾。於第5圖中係以最大長度等於4為例說明。所以,在第5圖中,位元串BS除了以位元”0”做為結尾外,當位元串BS的長度等於4時,也表示位元串BS已至結尾。相較第4圖及第5圖,可進一步發現,前述U Type乃係TU Type之最大長度等於無窮大或非常大的一種特例。
本發明係提供一種解碼方法及裝置。以下茲舉數個實施例詳細說明如下。
請同時參照第6圖至第11圖,第6圖係為精簡二元
化表之產生方法流程圖。第7圖至第11圖繪示係為產生精簡二元化表之示意圖。為方便說明起見,第7圖至第11圖係以精簡B-Slice MB Type二元化表為例說明。相較於前述第1圖,吾人可將第1圖繪示視為原始二元化表,並將第1圖繪示之位元串BS及語法元素符號SES視為原始位元串及原始語法元素符號。而將第11圖視為由第1圖精簡過後之精簡二元化表。然本發明並不侷限於此,本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可視其應用而改變二元化表的種類。
精簡二元化表(Trimmed Binarization Table)之產生方法包括如下步驟:首先如步驟412所示,根據原始二元化表內(如第1圖繪示)之位元串BS之字串值(String Value)依序排列位元串BS及語法元素符號SES。其中排列方式可以是依序遞增(ascending)或依序遞減(descending)。為方便說明起見,第7圖繪示係以依序遞增的排列方式為例說明,然本發明並不侷限於此,亦可改採依序遞減的排列方式。
於第7圖中,位元串BS排列順序係按其對應之字串值由小至大依序排列,所以位元串BS之排列順序依序為”0”、”100”、”101”、”110000”、”110001”、”110010’,、”110011”、”110100”、”110101”、”110110”、”110111”、”1110000”、”1110001”、”1110010”、”1110011”、”1110100”、”1110101”、”1110110”、”1110111”、”1111000”、”1111001”、”111101”、”111110”及”111111”。
而於比較字串值(String Value)之前,需使表內所有的位元串長度一致,故須先對位元個數小於7之位元串BS之後補零。舉例來說,原位元串”0”於其後補零成為”0000000”,而位元串”100”於其後補零成為”1000000”。由於”1000000”之字串值係大於”0000000”之字串值,因此,位元串”100”排列於位元串”0”後,以此類推。另外,語法元素符號SES依其對應的字串值排序為”0”、”1”、”2”、”3”、”4”、”5”、”6”、”7”、”8”、”9”、”10”、”12”、”13”、”14”、”15”、”16”、”17”、”18”、’’19”、”20”、”21”、”23”、”11”及”22”。
如步驟414所示,區分位元串BS及語法元素符號SES為群組610(1)至610(5),使得群組610(1)至610(5)所包含之位元串BS為連續的BS(如第8圖繪示)。舉例來說,位元串”0”與位元串”100”不連續,所以,位元串”0”與位元串”100”分屬於不同之群組610(1)及群組610(2)。而位元串”100”與位元串”101”連續,所以,位元串”100”與位元串”101”屬於相同之群組610(2),以此類推。
如步驟416所示,區分群組610(1)至610(5)為群組710(1)至710(7),且群組710(1)至710(7)之第一個位元串BS之N(i)個LSB必為0,其中,各群組710(1)至710(7)內所包含之原始位元串個數係以M(i)表示,M(i)=2N(i)
,i係為群組710(1)至710(7)之序數,如i=1、2、3、4、5、6、7。(如第9圖繪示)。舉例來說,群組610(4)內所包含之位元串個數為10,而非2的冪次方,所以,群組610(4)
需分為群組710(4)及群組710(5)。如此一來,群組710(4)及群組710(5)內所包含之位元串個數M(i)即皆為2N(i)
且各組第一個位元串BS的N(i)個LSB之值皆為0。同樣地,群組610(5)內所包含之位元串個數為3,而非2的冪次方,所以,群組610(5)需分為群組710(6)及群組710(7)。如此一來,群組710(6)及群組710(7)內所包含之位元串個數M(i)皆為2N(i)
且各組第一個位元串BS的N(i)個LSB’s之值皆為0。
如步驟418所示,區分群組710(1)至710(7)為群組810(1)至810(8),使得群組810(1)至810(8)內所包含之語法元素符號SES為連續值(如第10圖繪示)。舉例來說,群組710(7)內所包含之語法元素符號”11”及”22”並非連續值,所以,群組710(7)需分為群組810(7)及群組810(8)。如此一來,群組810(1)至810(8)內所包含之語法元素符號SES即為連續值。
如步驟420所示,移除位元串BS之X(j)個LSB,以得基本位元串BBS(Basic Bin String),其中,群組810(1)至810(8)內所包含之原始位元串個數係以Y(j)表示,X(j)=log2
Y(j),j係為群組810(1)至810(8)之序數,如j=1、2、3、4、5、6、7、8。(如第11圖繪示)。基本位元串BBS包括”0”、”10”、”110”、”1110”、”111100”、”111101”、”111110”及”111111”。進一步來說,步驟420係移除log2
N個最小有效位元(Least Significant Bit,LSB),而N係表示群組內所包含之位元串個數。舉例來說,群組810(2)
之位元串個數為2,所以N=2,且log2
2=1。移除群組810(2)之位元串”100”及”101”之1個最小有效位元,以得基本位元串”10”(如第11圖繪示)。同樣地,群組810(3)之位元串個數為8,所以N=8,且log2
8=3。移除群組810(3)之位元串”110000”、”110001”、”110010”、”110011”、”110100”、”110101”、”110110”及”110111”之3個最小有效位元,以得基本位元串”110”(如第11圖繪示),以此類推。另外,為方便說明起見,前述X(j)於第11圖係以長度值L表示。所以,群組810(1)至810(8)之長度值L依序為0、1、3、3、1、0、0及0。
如步驟422所示,選擇群組810(1)至810(8)中排列於最前或最後之語法元素符號SES,以得基本語法元素符號BSES。當選擇群組810(1)至810(8)中排列於最前之語法元素符號SES,則基本語法元素符號BSES包括”0”、”1”、”3”、”12”、”20”、”23”、”11”及”22”。為方便說明起見,第11圖繪示係選擇群組810(1)至810(8)中排列於最前之語法元素符號SES,然本發明並不侷限於此,亦可選擇群組810(1)至810(8)中排列於最後之語法元素符號SES。
如步驟424所示,根據基本語法元素符號BSES、基本位元串BBS及L(即X(j))以獲得精簡二元化表。
請同時參照第11圖及第12圖,第12圖繪示係為精簡二元搜尋查閱表之示意圖。前述第11圖繪示之精簡二元化表經由一特定程式即能轉換為第12圖繪示之精簡二
元搜尋查閱表(Trimmed Binary Search Lookup Table)。精簡二元搜尋查閱表包括輸入欄位Input及輸出欄位Output。輸入欄位Input包括節點Node及位元Bin,而輸出欄位Output包括指示值NodeSE、旗標Flag及長度值L。隨著節點Node及位元Bin的不同,將對應至不同的指示值NodeSE、旗標Flag與長度值L。而長度值L表示下次搜尋或計算尚須接收幾個位元。
指示值NodeSE需視旗標值Flag是否等於預設值,以決定指示值NodeSE係表示第11圖繪示之基本語法元素符號BSES或是下一節點Node。為方便說明起見,後續說明將預設值以1表示。舉例來說,當旗標Flag等於1時,表示二元搜尋已結束,指示值NodeSE即為第11圖繪示之基本語法元素符號BSES其中之一。相反地,當旗標Flag等於0時,表示二元搜尋尚未結束,指示值NodeSE表示下一節點Node。根據此下一節點Node及下一個位元Bin進行另一次的二元搜尋。當長度值L等於n(n=0,1,2…)時,即表示下次搜尋或計算尚須接收n個位元。在解二元化(De-Binarization)的過程中,藉由前述搜尋步驟即能找出與所接收的位元串相對應之語法元素符號。
請同時參照第13圖及第14圖,第13圖繪示係為依照本發明第一實施例之解碼裝置之方塊圖,第14圖係為一種控制單元之方塊圖。第13圖繪示之解碼裝置130係根據前述第12圖繪示之精簡二元搜尋查閱表找出與位元串BS對應之語法元素符號SES。解碼裝置130包括控制
單元1310、查閱單元1320、計算單元1330、開關SW1及開關SW2。控制單元1310用以依序接收位元串BS之部份,位元串BS之部份例如為某個位元或某些位元。控制單元1310進一步包括序列並列轉換器(S/P converter),控制單元1310根據長度值L接收位元串BS之位元,並將所接收之位元由序列轉為並列輸出。
查閱單元1320根據所接收到之位元及節點Node於精簡二元搜尋查閱表中找出與所接收到之位元相對應之旗標值Flag、長度值L及指示值NodeSE,並判斷旗標值Flag是否等於一預設值。當旗標值Flag不等於預設值時,指示值NodeSE係為下一節點,控制單元1310根據長度值L接收位元串BS中後續位元。查閱單元1320根據後續位元及下一節點Node於精簡二元搜尋查閱表中找出與後續位元相對應之旗標值Flag、長度值L及指示值NodeSE。上述搜尋步驟步驟將反覆地被執行,直至旗標值Flag等於預設值才結束搜尋。
當旗標值等於預設值時,指示值係為基本語法元素符號。控制單元1310根據長度值L接收位元串BS中後續位元。計算單元1330根據基本語法元素符號及後續位元進行一加法運算或減法運算以找出與位元串BS相對應之語法元素符號SES。計算單元1330例如為加法器或減法器。
當旗標值Flag不等於預設值時,開關SW1將控制單元1310電性連接至查閱單元1320,以輸出後續位元至查閱單元1320,且開關SW2將下一節點迴授至查閱單元
1320。相反地,當旗標值Flag等於預設值時,開關SW1將控制單元1310電性連接至計算單元1330,以輸出後續位元至計算單元1330,且開關SW2將基本語法元素符號輸出至計算單元1330。
請同時參照第13圖及第15圖,第15圖繪示係為解碼方法之流程圖。解碼方法能應用於前述之解碼裝置130,且解碼方法包括如下步驟:如步驟1510所示,控制單元1310接收位元串BS之部份,位元串BS之部份例如為位元串BS之某個或某些位元。如步驟1512所示,查閱單元1320根據所接收之位元串BS之部份及節點Node於前述精簡二元搜尋查閱表中找出與所接收之位元串之部分相對應之旗標值Flag、長度值L及指示值NodeSE。如步驟1514所示,判斷旗標值是否等於預設值。當旗標值不等於預設值,則如步驟1516所示,指示值NodeSE為下一節點Node,並重複執行步驟1510、步驟1512及步驟1514。
相反地,當旗標值等於預設值,則如步驟1518所示,指示值NodeSE為基本語法元素符號。如步驟1520所示,計算單元1330根據基本語法元素符號找出與位元串BS相對應之語法元素符號SES。其中於步驟1520中,控制單元1310根據長度值L接收位元串之後續位元,使得計算單元1330將後續位元及基本語法元素符號進行一加法運算或一減法運算以輸出語法元素符號SES。
請參照第16圖,其繪示係為根據精簡二元搜尋查閱
表找出位元串1111001之語法元素符號之示意圖。為使本發明為為清晰易懂,以下將以位元串”1111001”為例說明如何找出對應之語法元素符號”21”。
首先,節點Node等於”0”,而位元串之第1個位元Bin等於”1”。根據節點”0”及位元”1”進行第一次二元搜尋,找出與節點”0”及位元”1”對應之旗標值Flag、指示值NodeSE及長度值L。此時,旗標值Flag為”0”,而指示值NodeSE為”1”,且長度值L為”1”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”1”,表示下一個節點為”1”。長度值L為”1”係表示尚須再接收1個後續位元,此後續位元於此為位元串之第2個位元。
接著,節點Node等於”1”,而位元串之第2個位元等於”1”。根據節點”1”及位元”1”進行第二次二元搜尋,找出與節點”1”及位元”1”對應之旗標值Flag、指示值NodeSE及長度值L。此時,旗標值Flag為”0”,而指示值NodeSE為”2”,且長度值L為”1”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”2”,表示下一個節點Node為”2”。長度值L為”1”係表示尚須再接收1個後續位元,此後續位元於此為位元串之第3個位元。
跟著,節點Node等於”2”,而位元串之第3個位元等於”1”。根據節點”2”及位元”1”進行第三次二元搜尋,找出與節點”2”及位元”1”對應之旗標值Flag、指示值NodeSE及長度值L。此時,旗標值Flag為”0”,而指示
值NodeSE為”3”,且長度值L為”1”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”3”,表示下一個節點Node為”3”。長度值L為”1”係表示尚須再接收1個後續位元,此後續位元於此為位元串之第4個位元。
然後,節點Node等於”3”,而位元串之第4個位元等於”1”。根據節點”3”及位元”1”進行第四次二元搜尋,找出與節點”3”及位元”1”對應之旗標值Flag、指示值NodeSE及長度值L。此時,旗標值Flag為”0”,而指示值NodeSE為”4”,且長度值L為”1”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”4”,表示下一個節點Node為”4”。長度值L為”1”係表示尚須再接收1個後續位元,此後續位元於此為位元串之第5個位元。
接著,節點Node等於”4”,而位元串之第5個位元等於”0”。根據節點”4”及位元”0”進行第五次二元搜尋,找出與節點”4”及位元”0”對應之旗標值Flag、指示值NodeSE及長度值L。此時,旗標值Flag為”0”,而指示值NodeSE為”5”且長度值為”1”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”5”,表示下一個節點Node為”5”。長度值L為”1”係表示尚須再接收1個後續位元,此後續位元於此為位元串之第6個位元。
跟著,節點Node等於”5”,而位元串之第6個位元
等於”0”。根據節點”5”及位元”0”進行第六次二元搜尋,找出與節點”5”及位元”0”對應之旗標值Flag、指示值NodeSE及長度值L。此時,旗標值Flag為”1”,而指示值NodeSE為”20”,且長度值為”1”。由於旗標值Flag為”1”,表示搜尋已結束,而指示值NodeSE為”20”,表示基本語法元素符號為”20”。長度值L為”1”係表示尚須再接收1個後續位元,此後續位元於此為位元串之第7個位元。位元串之第7個位元等於”1”。將基本語法元素符號”20”與後續位元”1”相加即可得知位元串”1111001”所對應之語法元素符號為21。
請再同時參照第10圖、第11圖、第16圖及第26圖,第26圖繪示係為遞減排列之精簡二元化表之示意圖。第11圖之基本語法元素符號BSES分別係選自群組810(1)至810(8)中排列於最前之語法元素符號SES,因此,上述第16圖的說明係將基本語法元素符號”20”與後續位元”1”進行一加法運算以得語法元素符號為21。然本發明並不侷限於此,當基本語法元素符號BSES分別係選自群組810(1)至810(8)中排列於最後之語法元素符號SES時,亦可根據基本語法元素符號與後續位元進行一減法運算以得語法元素符號。或者,當精簡二元化表之語法元素符號SES及位元串BS係如第26圖繪示依序遞減排列時,基本語法元素符號BSES可分別選自群組810(1)至810(8)中排列於最前之語法元素符號SES,因此,可根據基本語法元素符號與後續位元進行一減法運算以得語法元素符號。
請同時參照第17圖、第18圖及第19圖,第17圖繪示係為由第11圖精簡二元化表產生巢式精簡二元化表的過程之示意圖,第18圖即為巢式精簡二元化表本身,第19圖繪示係為巢式精簡二元化表之產生方法流程圖。第11圖繪示之精簡二元化表可進一步修改成如第18圖繪示之巢式精簡二元化表。
進一步來說,巢式精簡二元化表之產生方法包括如下步驟:首先如步驟412至422所示,由於步驟412至422已於第6圖說明時詳細敘述過,在此不另行贅述。
如步驟426所示,根據精簡二元化表內(如第11圖繪示)之基本位元串BBS之字串值依序排列基本位元串BBS及基本語法元素符號BSES。其中排列方式可以是依序遞增(ascending)或依序遞減(descending)。為方便說明起見,第17圖繪示係以依序遞增的排列方式為例說明,然本發明並不侷限於此,亦可改採依序遞減的排列方式。於第17圖中,基本位元串BBS排列順序係按其對應之字串值由小至大依序排列,所以基本位元串BBS之排列順序依序為”0”、”10”、”110”、”1110”、”111100”、”111101”、”111110”及”111111”。另外,基本語法元素符號BSES依序為”0”、”1”、”3”、”12”、”20”、”23”、”11”及”22”(如第17圖繪示)。
如步驟428所示,區分基本位元串BBS及基本語法
元素符號BSES為群組910(1)至910(5),使得群組910(1)至910(5)內所包含之基本位元串BBS之字串值為連續值,且群組910(1)至910(5)之第一個位元串之S(k)個LSB必為0,其中,各群組910(1)至910(5)內所包含之原始位元串個數係以R(k)表示,R(k)=2S(k)
,k係為群組910(1)至910(5)之序數,如k=1、2、3、4、5(如第17圖繪示)。
如步驟430所示,移除基本位元串BBS之S(k)個LSB,以得新的基本位元串BBS。而S(k)可視為新的長度值L。舉例來說,群組910(5)之基本位元串個數為4,所以N=4,且log2
4=2。移除群組910(5)之位元串”111100”、”111101”、”111110”及”111111”之2個最小有效位元,以得新的長度值2與基本位元串”1111”(如第17圖右兩欄繪示)。但是這對新產生的長度與基本位元串與其它的不一樣;這對長度與基本位元串所代表的是另一座兩個位元的二元化表,而其它的所代表的是基本語法元素符號。
如步驟432所示,根據基本語法元符號BSES、基本位元串BSS、L(即X(j)及S(k))以獲得獲得第18圖繪示之巢式精簡二元化表。
從第17圖及第18圖可看出:此二次精簡的結果除了對基本位元串”111100”、”111101”、”111110”及”1111111”有影響外,對基本位元串”0”、”10”、”110”及”1110”都毫無影響。這些受影響的基本位元串的特點是:其字串值連續而對應之基本語法元素符號BSES不連
續。雖然第18圖繪示之巢式精簡二元化表係由原始二元化表經二次精簡而得,但本發明並不侷限於此,隨著原始二元化表的不同,可經多次精簡而得對應之多重巢式精簡二元化表。
第18圖繪示之巢式精簡二元化表包括二個精簡二元化表,除了BSES欄共用外,右邊之L與BBS屬上層精簡二元化表,而左邊之L與BBS屬下層精簡二元化表。上層精簡二元化表內的基本位元串”1111”含蓋了下層精簡二元化表的部份資訊。
當我們再回頭檢視前述之第5圖時,吾人將能發現第18圖繪示之上層精簡二元化表中的基本位元串BBS所呈現之態樣係與TU Type相同,且最大長度為4。而第18圖繪示之下層精簡二元化表中的基本位元串BBS所呈現之態樣係與FL Type相同。由此可知,能反覆地精簡原始二元化表,直至基本位元串BBS最精簡之態樣與TU Type相同。然而,本發明所謂的TU Type並不侷限於前導1(Leading 1)的位元串,也可應用於前導0(Leading 0)的位元串。舉例來說,基本位元串BBS最精簡之態樣可以依序為”1”、”01”、”001”、”0001”及”0000”。由其排列規則可看出:此種編碼方式中,除了最後一個BBS全為”0”外,其它每一個基本位元串皆是以位元”1”做為結尾。而位元”1”之前出現之位元必須為位元”0”。
請同時參照第20圖及第21圖,第20圖繪示係為巢式精簡二元搜尋查閱表(Nest trimmed binary search lookup
table)之示意圖,而第21圖繪示係為根據巢式精簡二元搜尋查閱表找出位元串1111001之語法元素符號之示意圖。前述第18圖繪示之巢式精簡二元化表經由一特定程式即能轉換為如第20圖繪示之巢式精簡二元搜尋查閱表。雖然第20圖繪示之巢式精簡二元搜尋查閱表與第11圖繪示之精簡二元搜尋查閱表不完全相同,但第二實施例仍能使用前述之解碼裝置及解碼方法來找出與位元串對應之語法元素符號。為使本發明為為清晰易懂,以下將以位元串”1111001”為例說明如何找出對應之語法元素符號”21”。
首先,節點Node等於”0”,而位元串之第1個位元Bin等於”1”。根據節點”0”及位元”1”進行第一次二元搜尋,找出與節點”0”及位元”1”對應之旗標值Flag、指示值NodeSE及長度值L。此時,旗標值Flag為”0”,而指示值NodeSE為”1”,且長度值L為”1”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”1”,表示下一個節點為”1”。長度值L為”1”係表示尚須再接收1個後續位元,此後續位元於此為位元串之第2個位元。
接著,節點Node等於”1”,而位元串之第2個位元等於”1”。根據節點”1”及位元”1”進行第二次二元搜尋,找出與節點”1”及位元”1”對應之旗標值Flag、指示值NodeSE及長度值L。此時,旗標值Flag為”0”,而指示值NodeSE為”2”,且長度值L為”1”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”2”,表示下一個節點Node為”2”。長度值L為”1”係表示尚須再
接收1個後續位元,此後續位元於此為位元串之第3個位元。
跟著,節點Node等於”2”,而位元串之第3個位元等於”1”。根據節點”2”及位元”1”進行第三次二元搜尋,找出與節點”2”及位元”1”對應之旗標值Flag、指示值NodeSE及長度值L。此時,旗標值Flag為”0”,而指示值NodeSE為”3”,且長度值L為”1”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”3”,表示下一個節點Node為”3”。長度值L為”1”係表示尚須再接收1個後續位元,此後續位元於此為位元串之第4個位元。
然後,節點Node等於”3”,而位元串之第4個位元等於”1”。根據節點”3”及位元”1”進行第四次二元搜尋,找出與節點”3”及位元”1”對應之旗標值Flag、指示值NodeSE及長度值L。此時,旗標值Flag為”0”,而指示值NodeSE為”4”,且長度值L為”2”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”4”,表示下一個節點Node為”4”。長度值L為”2”係表示尚須再接收2個後續位元,此後續位元於此為位元串之第5個及第6個位元。
接著,節點Node等於”4”,而位元串之第5個及第6個位元皆等於”0”。根據節點”4”及位元”00”進行第五次二元搜尋,找出與節點”4”及位元”00”對應之旗標值Flag、指示值NodeSE及長度值L。此時,旗標值Flag
為”1”,而指示值NodeSE為”20”且長度值為”1”。由於旗標值Flag為”1”,表示搜尋已結束,而指示值NodeSE為”20”,表示基本語法元素符號為”20”。長度值L為”1”係表示尚須再接收1個後續位元,此後續位元於此為位元串之第7個位元。位元串之第7個位元等於”1”。將基本語法元素符號”20”與後續位元”1”相加即可得知位元串”1111001”所對應之語法元素符號為21。
我們再回頭檢視前述之第18圖時,將能發現第18圖繪示之上層精簡二元化表中的基本位元串BBS由於所呈現之態樣與TU Type相同,因此,進一步藉由連續計數所接收之位元串中位元等於”1”的位元個數,以找出對應之旗標值、指示值及長度值。然而,本發明並不侷限於此。隨著基本位元串BBS呈現的態樣不同,亦能藉由連續計數所接收之位元串中位元等於”0”的位元個數,以找出對應之旗標值、指示值及長度值。為方便說明起見後續將以TU Type為例說明。
請同時參照第22圖及第23圖,第22圖繪示係為依照本發明第三實施例之解碼裝置之方塊圖,第23圖係為一種控制單元之方塊圖。第22圖繪示之解碼裝置220與第13圖繪示之解碼裝置130不同之處在於:控制單元2210與控制單元1310不同。
控制單元2210除序列並列轉換器1312外,更包括:
計數器2214、開關SW3及開關SW4。計數器2214用以連續計數位元串BS之中在最大長度TUM內之前導1的個數。例如係連續計數所位元串BS中前導位元等於”1”的位元個數。當計數器2214在接收到位元”0”或計數至最大長度TUM前,將連續計數所位元串BS中位元等於”1”的位元個數,以供查閱單元1320找出相對應之旗標值Flag、指示值NodeSE及長度值L。當計數器計數時,開關SW3係將位元串之位元輸出至計數器2214,而開關SW4電性連接計數器2214及開關SW1。當計數器計數完畢後,開關SW3係將位元串之位元輸出至串列並列轉換器1312,而開關SW4電性連接串列並列轉換器1312及開關SW1。
請同時參照第24圖及第25圖,第24圖繪示係為巢式精簡查閱表(Nest trimmed lookup table)之示意圖,而第25圖繪示係為根據巢式精簡查閱表找出位元串1111001之語法元素符號之示意圖。透過連續計數的方式找出對應之旗標值Flag、指示值NodeSE及長度值L。圖24之Count/Bin代表著前導位元的數目或位元值,當解TU位元串時它是前導位元數,當解FL位元串時它是位元值。將前述第20圖繪示之巢式精簡二元搜尋查閱表修改如第24圖繪示之巢式精簡查閱表。並使用第22圖繪示之解碼裝置220及前述解碼方法來找出與位元串對應之語法元素符號。為使本發明為為清晰易懂,以下將以位元串”1111001”為例說明如何找出對應之語法元素符號”21”。
首先,節點Node等於”0”,並連續計數4個位元
”1”。此4個前導位元之位元值相同。根據節點”0”及4個位元”1”找出與節點”0”及4個位元”1”對應之旗標值Flag、指示值NodeSE及長度值L。此時,旗標值Flag為”0”,而指示值NodeSE為”5”,且長度值L為”2”。由於旗標值Flag為”0”,表示搜尋尚未結束,而指示值NodeSE為”5”,表示下一個節點為”5”。長度值L為”2”係表示尚須再接收2個後續位元,此後續位元於此為位元串之第5個及第6個位元。
接著,節點Node等於”5”,而位元串之第5個及第6個位元皆等於”0”。根據節點”5”及位元”00”找出與節點”4”及位元”00”對應之旗標值Flag、指示值NodeSE及長度值L。此時,旗標值Flag為”1”,而指示值NodeSE為”20”且長度值為”1”。由於旗標值Flag為”1”,表示搜尋已結束,而指示值NodeSE為”20”,表示基本語法元素為符號”20”。長度值L為”1”係表示尚須再接收1個後續位元,此後續位元於此為位元串之第7個位元。位元串之第7個位元等於”1”。將基本語法元素符號”20”與後續位元”1”相加即可得知位元串”1111001”所對應之語法元素符號為21。
前述精簡二元搜尋查閱表、巢式精簡二元搜尋查閱表及巢式精簡查閱表都是於前置(Offline)工作完成,因此完全不會影響到解碼的速度。除此之外,本發明適用於H.264之各種編碼方式,因此將使得不同的編碼方式共享相同的硬體或軟體資源。再者,無論二元化表的種類為何,本發
明僅需一種硬體或軟體。此外,更能支援其他編碼標準(如:JPEG,MPEG,VC1等)之可變長度編碼(Variable Length Coding,VLC)。
綜上所述,雖然本發明已以實施範例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
610(1)~610(5)、710(1)~710(7)、810(1)~810(8)、910(1)~910(5)‧‧‧群組
130、220‧‧‧解碼裝置
1310、2210‧‧‧控制單元
1320‧‧‧查閱單元
1330‧‧‧計算單元
1312‧‧‧串列並列轉換器
2214‧‧‧計數器
412~432、1510~1520‧‧‧步驟
SW1、SW2、SW3、SW4‧‧‧開關
SE‧‧‧語法元素
SES‧‧‧語法元素符號
BSES‧‧‧基本語法元素符號
BS‧‧‧位元串
BSS‧‧‧基本位元串
Node‧‧‧輸入節點
Bin‧‧‧位元
NodeSE‧‧‧指示值
Flag‧‧‧旗標值
L‧‧‧長度值
Input‧‧‧輸入欄位
Output‧‧‧輸出欄位
TUM‧‧‧最大長度
第1圖繪示係為一種原始二元化表之示意圖。
第2圖繪示係為一種二元搜尋查閱表之示意圖。
第3圖繪示乃是二元搜尋查閱表,係為傳統一種根據位元串找出對應之語法元素符號之示意圖。
第4圖繪示係為U Type二元化表之示意圖。
第5圖繪示係為TU Type二元化表之示意圖。
第6圖係為精簡二元化表之產生方法流程圖。
第7圖至第11圖繪示係為產生精簡二元化表之示意圖。
第12圖繪示係為精簡二元搜尋查閱表之示意圖。
第13圖繪示係為依照本發明第一實施例之解碼裝置之方塊圖。
第14圖係為依據本發明之一控制單元之方塊圖。
第15圖繪示係為依據本發明之解碼方法之流程圖。
第16圖繪示係為根據精簡二元搜尋查閱表找出位元
串1111001之語法元素符號之示意圖。
第17圖及第18圖繪示係為產生巢式精簡二元化表之示意圖。
第19圖繪示係為巢式精簡二元化表之產生方法流程圖。
第20圖繪示係為巢式精簡二元搜尋查閱表之示意圖。
第21圖繪示係為根據巢式精簡二元搜尋查閱表找出位元串1111001之語法元素符號之示意圖。
第22圖繪示係為依照本發明第三實施例之解碼裝置之方塊圖。
第23圖係為依據本發明之一控制單元之方塊圖。
第24圖繪示係為巢式精簡查閱表之示意圖。
第25圖繪示係為根據巢式精簡查閱表找出位元串1111001之語法元素符號之示意圖。
第26圖繪示係為遞減排列之精簡二元化表之示意圖。
1510~1520‧‧‧步驟
Claims (24)
- 一種解碼方法,包括:接收一位元串之一部份;根據該部份及一節點於一查閱表中找出與該部份相對應之一旗標值、一長度值及一指示值;判斷該旗標值是否等於一預設值;當該旗標值不等於該預設值時,該指示值表示一下一節點;以及當該旗標值等於該預設值時,該指示值表示一基本語法元素符號,根據該基本語法元素符號找出與該位元串相對應之一語法元素符號。
- 如申請專利範圍第1項所述之解碼方法,其中當該旗標值不等於該預設值時,根據該長度值接收該位元串之一另一部份,根據該另一部份及該下一節點於該查閱表中找出與該另一部份相對應之一另一旗標值、一另一長度值及一另一指示值。
- 如申請專利範圍第1項所述之解碼方法,其中當該旗標值等於該預設值時,根據該長度值接收該位元串之一另一部份,並根據該另一部份及該基本語法元素符號找出與該位元串相對應之該語法元素符號。
- 如申請專利範圍第3項所述之解碼方法,其中係根據該另一部份及該基本語法元素符號進行一加法運算以找出該語法元素符號。
- 如申請專利範圍第3項所述之解碼方法,其中係 根據該另一部份及該基本語法元素符號進行一減法運算以找出該語法元素符號。
- 如申請專利範圍第1項所述之解碼方法,其中於該查閱表中找出該旗標值、該長度值及該指示值時更包括:連續計數該部份中之前導位元個數,且各前導位元之位元值係相同;以及根據該前導位元個數及該節點找出該旗標值、該長度值及該指示值。
- 如申請專利範圍第1項所述之解碼方法,更包括:根據一原始二元化表產生該查閱表,該原始二元化表包括複數個原始位元串及複數個原始語法元素符號,該些原始位元串分別對應於該些原始語法元素符號。
- 如申請專利範圍第7項所述之解碼方法,其中更包括:根據該原始二元化表產生一精簡二元化表;根據該精簡二元化表產生該查閱表。
- 如申請專利範圍第8項所述之解碼方法,其中復包括:根據該些原始位元串之字串值排列該些原始位元串及該些原始語法元素符號;區分該些原始位元串及該些原始語法元素符號為複數個第一群組,使得各該些第一群組所包含之原始位元串之字串值為連續值; 區分該些第一群組為複數個第二群組,且該些第二群組之第一個位元串之N(i)個LSB必為0,其中,各該些第二群組內所包含之原始位元串個數係以M(i)表示,M(i)=2N(i) ,i係為該些第二群組之序數;區分該些第二群組為複數個第三群組,使得各該些第三群組內所包含之原始語法元素符號為連續值;移除該些原始位元串之X(j)個LSB,以得複數個第一基本位元串,其中,各該些第三群組內所包含之原始位元串個數係以Y(j)表示,X(j)=log2 Y(j),j係為該些第三群組之序數;選擇各該些第三群組中排列於最前或最後之原始語法元素符號,以得複數個第一基本語法元素符號;以及根據該些第一基本語法元素符號、該些第一基本位元串及X(j)以獲得該精簡二元化表。
- 如申請專利範圍第9項所述之解碼方法,其中係根據字串值依序遞增排列複數個原始位元串及複數個原始語法元素符號。
- 如申請專利範圍第9項所述之解碼方法,其中係根據字串值依序遞減排列複數個原始位元串及複數個原始語法元素符號。
- 如申請專利範圍第7項所述之解碼方法,其中更包括:根據該原始二元化表產生一巢式精簡二元化表;根據該巢式精簡二元化表產生一巢式精簡二元搜尋 查閱表。
- 如申請專利範圍第12項所述之解碼方法,其中產生該巢式精簡二元化表之步驟,復包括:根據該些原始位元串之字串值排列該些原始位元串及該些原始語法元素符號;區分該些原始位元串及該些原始語法元素符號為複數個第一群組,使得各該些第一群組所包含之原始位元串之字串值為連續值;區分該些第一群組為複數個第二群組,且該些第二群組之第一個位元串之N(i)個LSB必為0,其中,各該些第二群組內所包含之原始位元串個數係以M(i)表示,M(i)=2N(i) ,i係為該些第二群組之序數;區分該些第二群組為複數個第三群組,使得各該些第三群組內所包含之原始語法元素符號為連續值;移除該些原始位元串之X(j)個LSB,以得複數個第一基本位元串,其中,各該些第三群組內所包含之原始位元串個數係以Y(j)表示,X(j)=log2 Y(j),j係為該些第三群組之序數;選擇各該些第三群組中排列於最前或最後之原始語法元素符號,以得複數個第一基本語法元素符號;根據該些第一基本位元串之字串值依序排列該些第一基本位元串及該些第一基本語法元素符號;區分該些第一基本位元串及該些第一基本語法元素符號為複數個第四群組,使得各該些第四群組內所包含之 第一基本位元串之字串值為連續值,且該些第四群組之第一個位元串之S(k)個LSB必為0,其中,各該些第四群組內所包含之原始位元串個數係以R(k)表示,R(k)=2S(k) ,k係為該些第四群組之序數;移除該些第一基本位元串之S(k)個LSB,以得複數個第二基本位元串;以及根據該些第一基本語法元素符號、該些第一基本位元串、該些第二基本位元串、X(j)及S(k)以獲得該巢式精簡二元化表。
- 如申請專利範圍第13項所述之解碼方法,其中產生該巢式精簡二元化表之步驟係重複地被執行。
- 如申請專利範圍第13項所述之解碼方法,其中排列該些原始位元串及該些原始語法元素符號時係根據字串值依序遞增排列複數個原始位元串及複數個原始語法元素符號。
- 如申請專利範圍第13項所述之解碼方法,其中排列該些原始位元串及該些原始語法元素符號時係根據字串值依序遞減排列複數個原始位元串及複數個原始語法元素符號。
- 如申請專利範圍第12項所述之解碼方法,其中產生該巢式精簡二元化表之步驟,係產生該巢式精簡二元化表之一上層精簡二元化表及一下層精簡二元化表,該上層精簡二元化表係為截斷一元式編碼,該下層精簡二元化表係為固定長度式編碼。
- 一種解碼裝置,包括:一控制單元,用以接收一位元串之一部份;一查閱單元,用以根據該部份及一節點於一查閱表中找出與該部份相對應之一旗標值、一長度值及一指示值,並判斷該旗標值是否等於一預設值,當該旗標值不等於該預設值時,該指示值係為一下一節點;一計算單元,當該旗標值等於該預設值時,該指示值係為一基本語法元素符號,該計算單元根據該基本語法元素符號找出與該位元串相對應之一語法元素符號;一第一開關,用以選擇性地將該控制單元電性連接至該查閱單元或該計算單元;以及一第二開關,用以選擇性地將該基本語法元素符號輸出至該計算單元或將該下一節點迴授至該查閱單元。
- 如申請專利範圍第18項所述之解碼裝置,其中當該旗標值不等於該預設值時,該控制單元根據該長度值接收該位元串之一另一部份,該查閱單元根據該另一部份及該下一節點於該查閱表中找出與該另一部份相對應之一另一旗標值、一另一長度值及一另一指示值。
- 如申請專利範圍第18項所述之解碼裝置,其中當該旗標值等於該預設值時,該控制單元根據該長度值接收該位元串之一另一部份,該計算單元根據該另一部份及該基本語法元素符號找出與該位元串相對應之該語法元素符號。
- 如申請專利範圍第20項所述之解碼裝置,其中 該計算單元係為一加法器。
- 如申請專利範圍第20項所述之解碼裝置,其中該計算單元係為一減法器。
- 如申請專利範圍第18項所述之解碼裝置,其中該控制單元包括:一序列並列轉換器,用以根據該長度值接收該位元串。
- 如申請專利範圍第23項所述之解碼裝置,其中該控制單元更包括:一計數器,用以連續計數該位元串之該部份中字串值相同之一位元個數;一第三開關,用以選擇性將該位元串輸出至該計數器或該序列並列轉換器;以及一第四開關,用以選擇性地將該計數器或該序列並列轉換器電性連接至該第一開關。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW097144573A TWI428023B (zh) | 2008-11-18 | 2008-11-18 | 解碼方法及裝置 |
US12/497,777 US8311124B2 (en) | 2008-11-18 | 2009-07-06 | Decoding method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW097144573A TWI428023B (zh) | 2008-11-18 | 2008-11-18 | 解碼方法及裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201021577A TW201021577A (en) | 2010-06-01 |
TWI428023B true TWI428023B (zh) | 2014-02-21 |
Family
ID=42172070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097144573A TWI428023B (zh) | 2008-11-18 | 2008-11-18 | 解碼方法及裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8311124B2 (zh) |
TW (1) | TWI428023B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8542748B2 (en) | 2008-03-28 | 2013-09-24 | Sharp Laboratories Of America, Inc. | Methods and systems for parallel video encoding and decoding |
US20120014431A1 (en) * | 2010-07-14 | 2012-01-19 | Jie Zhao | Methods and Systems for Parallel Video Encoding and Parallel Video Decoding |
US9313514B2 (en) | 2010-10-01 | 2016-04-12 | Sharp Kabushiki Kaisha | Methods and systems for entropy coder initialization |
US10123053B2 (en) | 2011-05-23 | 2018-11-06 | Texas Instruments Incorporated | Acceleration of bypass binary symbol processing in video coding |
KR20130122353A (ko) * | 2012-04-30 | 2013-11-07 | 삼성전자주식회사 | 비트율 추정 장치 및 그것의 비트율 추정 방법 |
CN112703736B (zh) * | 2018-09-14 | 2022-11-25 | 华为技术有限公司 | 视频译码方法,视频译码设备以及非瞬时性计算机可读介质 |
KR20220016075A (ko) | 2019-06-04 | 2022-02-08 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 모션 후보 리스트 구성 프로세스의 조건부 구현 |
WO2020244571A1 (en) | 2019-06-04 | 2020-12-10 | Beijing Bytedance Network Technology Co., Ltd. | Motion candidate list construction using neighboring block information |
CN114128295B (zh) | 2019-07-14 | 2024-04-12 | 北京字节跳动网络技术有限公司 | 视频编解码中几何分割模式候选列表的构建 |
CN117596389A (zh) | 2019-09-28 | 2024-02-23 | 北京字节跳动网络技术有限公司 | 视频编解码中的几何分割模式 |
WO2021188571A1 (en) * | 2020-03-16 | 2021-09-23 | Beijing Dajia Internet Information Technology Co., Ltd. | Improvements on merge mode with motion vector differences |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7340103B2 (en) * | 2002-06-28 | 2008-03-04 | Microsoft Corporation | Adaptive entropy encoding/decoding for screen capture content |
US7365659B1 (en) * | 2006-12-06 | 2008-04-29 | Silicon Image Gmbh | Method of context adaptive binary arithmetic coding and coding apparatus using the same |
JP2008104205A (ja) * | 2007-10-29 | 2008-05-01 | Sony Corp | 符号化装置および方法 |
US20080246637A1 (en) * | 2007-04-03 | 2008-10-09 | National Tsing Hua University | Cabac Decoding Method |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4853696A (en) * | 1987-04-13 | 1989-08-01 | University Of Central Florida | Code converter for data compression/decompression |
US4821290A (en) * | 1988-02-09 | 1989-04-11 | General Electric Company | Decoder for digital signal codes |
US5628002A (en) * | 1992-11-02 | 1997-05-06 | Woodrum; Luther J. | Binary tree flag bit arrangement and partitioning method and apparatus |
WO1996033558A1 (en) * | 1995-04-18 | 1996-10-24 | Advanced Micro Devices, Inc. | Method and apparatus for hybrid vlc bitstream decoding |
US6188797B1 (en) * | 1997-05-27 | 2001-02-13 | Apple Computer, Inc. | Decoder for programmable variable length data |
JP3345628B2 (ja) * | 1997-07-11 | 2002-11-18 | アネックスシステムズ株式会社 | データ格納及び検索方法 |
IT1305103B1 (it) * | 1998-12-30 | 2001-04-10 | Cit Alcatel | Metodo di smistamento di pacchetti di informazione associati aindirizzi rappresentati tramite stringhe numeriche e relativo apparato |
US6563441B1 (en) * | 2002-05-10 | 2003-05-13 | Seiko Epson Corporation | Automatic generation of program logic to decode variable-length codes |
US6934252B2 (en) * | 2002-09-16 | 2005-08-23 | North Carolina State University | Methods and systems for fast binary network address lookups using parent node information stored in routing table entries |
US7932843B2 (en) * | 2008-10-17 | 2011-04-26 | Texas Instruments Incorporated | Parallel CABAC decoding for video decompression |
TWI343192B (en) * | 2009-06-12 | 2011-06-01 | Ind Tech Res Inst | Decoding method |
-
2008
- 2008-11-18 TW TW097144573A patent/TWI428023B/zh active
-
2009
- 2009-07-06 US US12/497,777 patent/US8311124B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7340103B2 (en) * | 2002-06-28 | 2008-03-04 | Microsoft Corporation | Adaptive entropy encoding/decoding for screen capture content |
US7365659B1 (en) * | 2006-12-06 | 2008-04-29 | Silicon Image Gmbh | Method of context adaptive binary arithmetic coding and coding apparatus using the same |
US20080246637A1 (en) * | 2007-04-03 | 2008-10-09 | National Tsing Hua University | Cabac Decoding Method |
JP2008104205A (ja) * | 2007-10-29 | 2008-05-01 | Sony Corp | 符号化装置および方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201021577A (en) | 2010-06-01 |
US8311124B2 (en) | 2012-11-13 |
US20100124286A1 (en) | 2010-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI428023B (zh) | 解碼方法及裝置 | |
US8089379B2 (en) | Variable length decoding apparatus and method | |
JP5676744B2 (ja) | エントロピー符号化 | |
JP6437575B2 (ja) | Vlsiでの効率的なハフマン符号化を行う装置および方法 | |
US8942502B2 (en) | Parallelization of variable length decoding | |
US8094048B2 (en) | Method of decoding syntax element in context-based adaptive binary arithmetic coding decoder and decoding device therefor | |
US20090167588A1 (en) | Method, medium and apparatus for quantization encoding and de-quantization decoding using trellis | |
JP4893957B2 (ja) | 符号化装置、復号化装置、符号化方法及びプログラム | |
JP5656593B2 (ja) | 符号化データを復号する装置及び方法 | |
US20140015698A1 (en) | System and method for fixed rate entropy coded scalar quantization | |
Huang et al. | An A*-based algorithm for constructing reversible variable length codes with minimum average codeword length | |
US7348901B2 (en) | Method and system for decoding variable length encoded signals, computer program product therefor | |
US7924179B2 (en) | Variable-length code determining device and variable-length code decoding method | |
Mansour | Efficient Huffman decoding with table lookup | |
US6778107B2 (en) | Method and apparatus for huffman decoding technique | |
US8854233B2 (en) | Method and system for de-binarization | |
JP2008517495A (ja) | LASeR二進表現のポイントシーケンス符号化/復号化方法及び装置 | |
Bharathi et al. | A plain-text incremental compression (pic) technique with fast lookup ability | |
KR100840757B1 (ko) | 허프만 부호화 및 복호화 | |
Wang et al. | Transformed HCT for parallel Huffman decoding | |
Asha Latha et al. | A New Binary Tree approach of Huffman Code | |
CN101742283B (zh) | 解码方法及装置 | |
CN116567238A (zh) | 编解码方法、装置、电子设备及存储介质 | |
KR101270633B1 (ko) | 복수 호프만 테이블을 적용하여 고속 처리가 가능한 멀티미디어용 호프만 디코딩 방법 및 장치 | |
CN118174737A (zh) | 基于语义的哈夫曼编码方法、译码方法及相关设备 |