201128965 六、發明說明: 【發明所屬之技彳标領域】 技術領域 本文提供了用於選擇用於可變長度編碼之—表之一方 法、用於選擇用於可變長度解碼之—表之一方法、—裝置、 一編碼器及一解碼器。 背景資訊 當利用具有不同長度之代碼字編碼源符號時,該等源 符號遭轉換成唯一代碼字。此類編碼可稱為一可變長度編 碼(VLC)。該編碼可遭設計使得可用較短代碼字表示較多可 能符號且用較長代碼字表示較少彳能符號。當發送該等代 碼字時,相比於較長代碼字,較短代碼字用較少位元表示。 該可變長度編碼之-個目的是,城於料概像這樣編 碼之情況,降低表示該等符號所需的資訊量。換而言之, 當一組符號轉換成成代碼字時,產生的代碼表示應當含有 比該源較少的位元《該組符號可包括很多種資訊。例如, -組符號可以是Φ位元組、諸如—視訊流或—音訊流之— 資訊流、一圖像等構成之一檔案。 可變長度代碼字之設計可依賴於該等源符號表示之該 源之概率統計。為了獲得用於可變長度編碼之—組代碼 字,概率統計可從—些代表性原始資料中收集且該等代碼 字可圍繞此等統計而設計。這或許可以作帛相當地好,但 在很多情況下,統計是不穩定的且可能隨時間變化,且使 201128965 用固定組代碼字可能無法產生良好壓縮。為了實現較好壓 縮,該組可變長度代碼字可恆定地局部地適應於該源之觀 察之統計。 執打適應之一個方式是記錄符號頻率及當該等符號遭 編碼時㈣地個該_率定義肋可變長度代碼字。此類 充分適應是相當複雜的操作,尤其當源符號之範圍大時。在 實際實财’某種:欠最佳適紐執行。例如,該編碼器可使 用多個預定義組可變長度代碼字且基於局冑統計之估計選 擇它們中之-組。在另—實現中,編碼器能夠逐漸地改變該 組之該等代碼字使得每次卩、有該組之該等⑽】代碼字中之 幾個遭改變使得每-已編碼的代碼字之複雜性是低的。 關於一組可變長度代碼字之產生,有一些方式可完 成。一不範方式是利用霍夫曼方法或其之一適應的版本。 另/方法疋使用所謂的通用碼(例如,哥倫布指數碼)來形成 該姐π變長度代碼字。通用代碼字之產生是規則的且因此 該等碼較容易解碼然而,在很多情況下最佳編碼或許無 法貫現且苻號需要根據該符號頻率保持順序。 【考务明内容L】 楙要 本發明介紹了一種用於可變長度編碼之方法,該方法 藉由提供兩個或更乡可變長度代碼字表,且餘其中選擇 一個表以編碼—符號。例如,該可變長度代碼字表之選擇 透過以下實現:量估計該符號之概率分佈及基於 此變量選_可變長度代碼字表且在該符號if編碼後更新 4 201128965 該變量。 根據本發明之一個示範實施例,提供了一種為符號選 擇可變長度代碼字之方法。 根據本發明之一第一層面,提供了一種用於可變長度 地編碼一符號之方法,其包含: 基於一變量之一值,從一組可變長度代碼字表中選擇 一可變長度代碼字表; 基於該符號,從該已選擇之可變長度代碼字表中選擇 一代碼字; 透過比較該符號與該變量之間的對應,更新該變量之 該值,其中 如果該比較表示該變量之該值小於該符號,則該變量 之該值增大;否則 如果該比較表示該變量之該值大於該符號,則該變量 之該值減小;否則 該變量之該值不修改。 根據本發明之一第二層面,提供了一種用於可變長度 地解碼一代碼字之方法,其包含以下步驟: 基於一變量之一值,從一組可變長度代碼字表中選擇 一可變長度代碼字表; 利用該代碼字從該已選擇之可變長度代碼字表中尋找 與該代碼字對應之一符號;及 透過比較該符號與該變量之間的該對應,更新該變量 之該值,其中 201128965 如果該比較表示該變量之該值小於該符號,則該變量 之該值增大;否則 如果該比較表示該變量之該值大於該符號,則該變量 之該值減小;否則 該變量之該值不修改。 根據本發明之一第三層面,提供了一種裝置,其包含: 一代碼字表選擇器,其受組配以基於一變量之一值從 一組可變長度代碼字表中選擇一可變長度代碼字表; 一代碼字選擇器,其受組配以基於一符號從該已選擇 之可變長度代碼字表中選擇一代碼字; 一更新元件,其受組配以透過比較該符號與該變量之 間的對應而更新該變量之該值,其中 如果該比較表示該變量之該值小於該符號,則該更新 元件受組配以增大該變量之該值;否則 如果該比較表示該變量之該值大於該符號,該更新元 件受組配以減小該變量之該值。 根據本發明之一第四層面,提供了一裝置,其包含: 一代碼字表選擇器,其用於基於一變量之一值從一組 可變長度代碼字表中選擇一可變長度代碼字表; 一符號判定器,其受組配以從該已選擇之可變長度代 碼字表中尋找與該代碼字對應之一符號; 一更新元件,用於透過比較該符號與該變量之間的該 對應更新該變量之該值; 如果該比較表示該變量之該值小於該符號,則該更新 6 201128965 元件受組配以增大該變量之該值;否則 如果該比較表示該變量之該值大於該符號,則該更新 元件受組配以減小該變量之該值。 根據本發明之一第五層面,提供了一種儲存媒體,具 有儲存於其上之由一編碼器使用之一電腦可執行程式碼, 該等程式碼包含用於以下之指令: 基於一變量之一值從一組可變長度代碼字表中選擇一 可變長度代碼字表; 基於該符號從該已選擇之可變長度代碼字表中選擇一 代碼字; 透過比較該符號與該變量之間的該對應而更新該變量 之該值,其中 如果該比較表示該變量之該值小於該符號,則該變量 之該值增大;否則 如果該比較表示該變量之該值大於該符號,則該變量 之該值減小;否則 該變量之該值不修改。 根據本發明之一第六層面,提供了一種儲存媒體,具 有儲存於其上之由一編碼器使用之一電腦可執行程式碼, 該等程式碼包含用於以下之指令: 基於一變量之一值從一組可變長度代碼字表中選擇一 可變長度代碼字表; 利用該代碼字從該已選擇之可變長度代碼字表中選擇 與該代碼字對應之一符號; 201128965 透過比較該符號與該變量之間的該對應,更新該變量 之該值,其中 如果該比較表示該變量之該值小於該符號,則該變量 之該值增大;否則 如果該比較表示該變量之該值大於該符號,則該變量 之該值減小;否則 該變量之該值不修改。 圖式簡單說明 第1圖描纟會了一系統之一示範實施例之一簡要方塊 圖,其中資訊從一編碼器發送到一解碼器; 第2圖根據本發明之一示範實施例,描繪了一編碼器之 一簡要方塊圖; 第3圖根據本發明之一示範實施例,描繪了一解碼器之 一簡要方塊圖; 第4圖根據本發明之一示範實施例,描繪了一編碼方法 之一流程圖; 第5圖根據本發明之一示範實施例,描繪了一解碼方法 之一流程圖。 I:實施方式3 詳細描述 下面將更详細地描述第1圖之系統。要編碼及發送之資 δίΐ可從一源2由一編碼器1接收到。例如,該資訊可以是視 訊資訊、音訊資訊、靜態圖像、文字等。該資訊也可以是 兩種或更多種資訊之一組合。則,可提供用於每一類資訊 201128965 之不同編碼器及解碼器或者同一編碼器及/或解碼器可處 理不同種資訊。例如,該源2可以是一視訊攝影機2.1、一 靜態攝影機2.2、一麥克風2.3、能夠播放如數位多功能光碟 (DVD)之一裝置2.4、一儲存媒體2.5等。該資訊及該源2之 該等以上範例只是為了說明本發明,而不是用於限制本發 明之範圍。來自該源2之該資訊由該第一裝置8中之一編碼 器1編碼。該已編碼之資訊可儲存到一記憶體4及/或由一發 送器9發送到一傳輸通道15。該已發送之資訊可由一第二裝 置10之一接收器14接收。該第二裝置10包含解碼該接收到 之資訊之一解碼器11。該已解碼之資訊可遭後處理,例如 透過儲存該已解碼之資訊到該第二裝置之一記憶體12、如 果該資訊包含視覺資訊則由一顯示器顯示、如果該資訊含 有音訊資訊等則轉換成音訊資訊。 該編碼器1之一示範實施例繪示在第2圖中。該編碼器1 具有接收要遭發送之資訊之一輸入1.1。例如,如果該資訊 以類比形式,則其由該類比至數位轉換器3轉換成一數位形 式。該類比至數位轉換器3基於該類比資訊形成樣本。該等 樣本表示在一些時間區間處之該類比信號。然而,該資訊 可能已處於該編碼器1可處理之一形式。因此,可不需要該 數位至類比轉換器3。 該編碼器之該輸入1.1處之該資訊可安排成樣本之訊 框。每一訊框表示該類比信號之某時間區間。在一示範實 施例中,一個訊框可包含表示該輸入信號之一 20ms時間段 之樣本。在另一實施例中,該訊框由表示該輸入信號之一 9 201128965 1〇ms時間段之樣本構成。在此還有其它值是可能的。該等 樣本可儲存到—樣本緩衝器4.卜 i在上文中,假定來自該源2之該資訊是-序列視訊、音 :等類型之訊’但來自源2之該資訊也可表示一條非 交#貝Λ ’例如-靜態圖像或一資料檔案。在此種情況下, 亥貝Λ可Μ較小部分簡於編碼或者該資訊可以逐符號 地遭編碼。 爭流資訊源還是來 个爾緣貝机米 源,該等樣本__器1編碼⑽成代碼字。下面,參考 第4圖之流程圖及第2圖之該編碼以更詳細地描述該編碼 裡序。在此假定—_計參數可自要編碼之該資訊估計。 Η表不4貝》fL之錢之概率分佈可遭知道 :用某些準則而估計。在本發明中,二或更多不同:且^ 變長度代财遭提供,其卜可變長度代碼字從該等 可變長度代碼字中遭選擇用於需遭編碼之―符銳。^ 該等組偶字形成Μ的可«度代碼字表51 5為 表),其中列表示該符號到代碼字的映射。該 竭字表在本說明書中也稱為代碼字表4實料又 SI:代碼字一,在本說明書後面更 根據本發明之-示範實施例,該編碼器⑷ 碼。在該編碼開始時,一些變量初始化為它執行該編 例如’這由該編碼器之該控制器14執行,該控制:始值。 些記憶體位置設定到-已選擇狀態。例如-叫將一 G寺記憶體位 10 201128965 置可位於該記憶體4中或者它們可在該控制器1.4内部。在 第2圖之該示範實施例中,該等變量儲存到該控制器1.4之 該等内部暫存器1.4.1。該初始化階段由第4圖之該流程圖中 之方塊401及第2圖中之一初始化方塊1·3繪示。 在該初始化階段之後,該等符號之該編碼可開始。該 控制器1.4命令該輸入1.1讀取從該樣本緩衝器4.1到一符號 形成方塊1.2之一個或多個樣本(第4圖中之方塊402)。一個 符號可表示該資訊之一個樣本或多於一個樣本。例如,三 個樣本可形成一個符號,其中該符號形成方塊1.2使用來自 該樣本緩衝器4.1之連續方塊以構成一個符號。 下面,假定一個符號表示一個樣本且該等符號只具有 一些可能值。然而,相比於下面所揭露,在實際應用中該 等符號可具有一較大範圍的可能值。 當輸入到該編碼器1之該資訊已經是一符號形式時,不 需要該符號形成方塊1.2。 在該編碼之發展中,該編碼使用一已適應的變量k。在 該初始化階段,該變量k已按照下面設定為一初始值。
k = K 該初始化常數K可具有反映該預期概率分佈之一值。 為了編碼該符號,一代碼字表選擇器1.5執行從該組代 碼字表選擇該代碼字表(第4圖中之方塊403)。例如,該可變 長度代碼字之選擇透過利用一變量估計該符號之該概率分 佈及基於此變量選擇該代碼字表且更新該變量k而實現。儘 管第4圖之該流程圖繪示了在該符號已編碼後該變量k遭更 201128965 新,但該順序也可以不同。例如,該變量可在編碼該符號 期間或之前遭更新。 讓S作為要編碼之符號。符號可以任意,諸如字母,但 為了說明本發明它們在此表示為數字〇,1,...,Ν-1,其中N是 唯一的符號之數目。該符號可選擇自一組符號,該等符號 具有一相互順序,且在該組符號中一個符號表示一最大符 號值且另一符號表示一最低符號值。該代碼字表選擇器1.5 利用該變量k與一交互參考表6在該組代碼字表5.1— 5.M之 間選擇一個代碼字表,使得該符號s可映射到一代碼字。該 交互參考表6將該變量k之值映射到表示遭選擇用於編碼之 代碼字表之一代碼字表序號t。該交互參考表6具有與該變 量k之不同可能值之數目同樣多之列。該等列表示該變量k 之該值與代碼字表5.1 — 5.M之序號之間的對應。例如,如 果k具有值0,則選擇由該交互參考表6之該第一列表示之該 代碼字表,如果k具有值1,則選擇由該交互參考表6之第二 列表示之該代碼字表等。該交互參考表6之一非限制性範例 繪示在下面的表1中: 表1-表_序號 k t 0 0 1 1 2 1 3 1 4 1 5 2 6 2 7 2 12 201128965 已針對該變量k遭定義之實施例 在此範例中,k可具有從〇到7之值且不同代碼字表 目為3,即在此非限制性範例中!^為3。然而’在另之數 實施例中,該變量可具有比該組符號中之最大符號不軌 -上限。在再—實施例中,該變量可具有比該組符之 最小的符號值大之-下限。還可以有其巾該下限與該上^ 該交互參考表6之行t表示要選擇之該代碼字表。, 碼字表選擇壯5使韻交互參考表6之該表 k列處之值作為該代碼字表之索引。例如,如果該第 之值為0時,選擇該第一個代碼字表51 ’如果該值為1列處 擇該第二代碼字表5.2等。在表丨之該範例中,當該變量= 〇時,選擇該第一代碼字表5.卜當該變量k為卜2、3或*時… 選擇該第二代碼字表5.2,且當該變量k為5、6或7時,B>, 該第三代碼字表5.M。 該代碼字表選擇器1.5通知該代碼字選擇器丨· 6該已選 擇的代碼字表。例如’這可以以這樣-方式執行使得該代 碼字表選擇器L5將該參數t之值儲存到一記憶體4或儲存到 該控制111.4之該(等)暫存^。在選擇—代碼字來表示該符 號s(第4圖中之方塊4〇4)時,該代碼字選擇器i 6利用該參數 t之值以使用該經選擇之代碼字表。該代碼字選擇器丨6用該
符號s及該已選擇之代碼字表來決定該代碼字。換而言之Y 該符號s之值表示在該已選擇代碼字表中之該代碼字。下面 之表2繪示了-組代碼字表之一範例,其中提供了三個不同 的代碼字表(t=0,t=l,t=2)。 13 201128965 字(以二進制格式)
表每^有用於母-代碼字表6之-代碼字長度表7,其 表不母-代碼字之長度 號s與該參數【來獲得表干^$予長度“心可用該符 圖中之方_)。下面的、表;繪之:度_ 範例,其中提供了三個不同的代碼字:度:二長度表之- -7.M 表3-代碣字_長度
上述之代碼字表選擇、代碼字選擇及該代碼字長度之 確定可以以下列方式定義。 14 201128965 t=table _num\k\ cw=code_word[t,s] len =cw_length[t, s] 其中table_num是選擇要使用哪一可變長度代碼字表之 一陣列(該交互參考表6),該code_word是將符號s映射到代 碼字之一陣列(該等代碼字表5.1 —5 .M)及cw J ength是相應 代碼字長度值之一陣列(該等代碼字長度表7.1-—7.M)。具有 長度len之產生之代碼字cw發送到其目的地,例如用於儲存 或發送。 在一符號已遭編碼後,該變量k遭更新,例如根據以下 方程式由該控制器1.4更新(第4圖中之方塊406)。 k 二 s k < s k> s 〇 , k = k-l·* L , 其中L是一正整數。這意味著如果該變量k與該符號s 相同,則變量k不修改,否則如果該變量k小於該符號s,該 變量k增加該正整數L,或者如果該變量k大於該符號s,該 變量k減少該正整數L。該參數L定義了一偏移量,當判定該 變量需要修改時該變量修改的量為該偏移量。以上假定該 修改量是固定的但本發明之另一實施例中,該偏移量可變 化,例如視該符號s與該變量k之間的差異而定。例如,當 該差異較大時該偏移量較大且當該差異較小時該偏移量較小。 第4圖中之方塊407判定是否有還有符號需要編碼。如 果是,則透過輸入下一符號該操作從方塊402繼續,直到代 碼字已對於要編碼之所有符號遭選擇。 15 201128965 為了進一步說明上述之該示範實施例,下面提供—數 值的範例。讓我們選擇該初始化常數之值等於3,該整數^ 之值等於2,且該符號序列3,1,5,4,2之一範例。因此,在該 編碼程序之開始,該變量]^得到該值κ=3。該交互參考表 表示(k=3)要選擇之該代碼字表為第二(t=i)代碼字表。要編 碼之第-符號為3。在这第二代碼字表5 2中,符號3映射到 代碼字0U。因為k=s,在此階段1^之值未修改。接著,下— 符號(1)為用於編碼之輸入。使用同一代碼字表,其中哕育 號1映射到代碼字11。該符號之值小於該變量1,其中該變 量k減小了該整數L之值,即k之新值為1(=3_2V透過利用該 第二代碼字表5.2,要編碼之下一符號為5。該符號5映射到 該代碼字0011。該符號之值大於該變量|^之該當前值其中 該變量k之該值將增加L,即k=3。下一符號為4。該第二代 碼字表遭選擇,因此該符號4映射到代碼字0010。因為k<s, »亥變量k之值再次增加2,結果為該變量k得到值5。這意味 著下一符號將透過利用該第三代碼字表編碼。該符號為2, 映射到代碼字〇1〇。在編碼此示範序列之該最後一符號(2) 之後,該變量k之值再次增加L,即k=3。該編碼結果,即該 可變長度代碼字之位元流為011110011001001(^此位元流 可儲存到一儲存媒體或者發送到一發送器9中以發送到另 一裝置’例如發送到第1圖之該第二裝置10。例如,該發送 器9可包含例如一通道編碼器9丨以對該位元流執行通道編 碼’該位元流由—發送方塊9.2轉換成例如射頻信號。 該交互參考表6、該等代碼字表5.1—5.M及該等代碼字 16 201128965 長度表7.1—7.M之設計可以是專用的,例如’不一定是針 對每一使用情況起作用之一單一組表。然而,以上之表1、 表2及表3說明了可使用之一個可能表設計。 在一更普遍情況下,符號到代碼字之映射不是固定 的。例如,如果一符號s具有一值0,用於該符號s之該代碼 字不一定在該表中之該第一項中。在此情況下,符號值不 能直接用於獲得該代碼字值且需要一額外表表示此映射。 一符號s之編碼可如下進行。 n=cw_num[s] t=table_num[k] cw=code_word[t,n] len-cw_length[t, ή\ 其中cw_num是將符號值映射到代碼字序號之一表。代 碼字序號接著用於獲得該實際代碼字。 在一符號已編碼後,該變量k遭更新: 0 , k = η k-k + \L , k <n -L,k> n 該編碼器1.4可包含用於更新該變量k之值及可能地一 些其它變量之一更新元件1.8。 在該等先前範例中,該等所有的變量為整數。在一可 選擇實現中,k與L為浮點值或定點值且在利用k以獲得該表 序號之前,其四捨五入為該最接近的整數值或者截尾為整 數值。用於表示該源之資訊之該等符號不一定是數字也還 可包含其它類型之元素,諸如字母字元。該組符號中可用 17 201128965 的符號具有一相互順序。例如,數字〇到N_ 1可以以升序或 降序排序。以上還假定在該變量k之該等值與該等符號之間 為一對一對應。換而言之,變量k可具有與一可能符號對應 的這樣一值。在以上該範例中,k具有一值 0,l,...,N-l(ke0,l,...,N-l)。因此,該變量k之該值可與該符 號s相比較以確定該變量k之該值小於、大於還是等於該符 號s。因此,即使所有的該等符號為數字元素,該相互順序 可用來判定該變量k是小於、大於還是等於該符號s。例如, 如果該組符號包含字母A到F ’該變量k也可遭設定為與該字 母A、B、C、D、E或F對應之一值。或許也可能針對可能 的符號值與該變量k之該等值之間的對應定義一交互參考 表(圖未示)。例如,該交互參考表能夠表示符號A到F分別 與該變量k之值10到15對應。 而且,例如,在該專先前範例中,該代碼字自常駐於 該記憶體4中之一預定義表中加載。然而,在一些情況下, 可能即時地產生該代碼字使得代碼字不需要儲存在該記憶 體中。當編碼器需要獲得一代碼字時,其利用一預定義演 算法,用該表序號及該代碼字序號產生該代碼字。還可能 的是,該交互參考表6遭基於該變量k產生該代碼字表之索 引之一演算法替代。 該等代碼字表5.1 — 5·Μ、該交互參考表6及該等代碼字 長度表7.1 —7.Μ之儲存可以多種方式實施。例如,它們可 儲存到該第一裝置8之5玄s己憶體4中。每一列可儲存在連續 記憶體位置中’使得每一值具有某個長度的位元或者使得 18 201128965 在每一值後有~攔 可能的是逐行儲存 位分隔符以將不同的行彼此分離開。還 該等表之該等值》 以上從該蝙碼器觀點討論了本發明之一些原理,但 解碼器實現异作+ ^ &恨相似的,除了該代碼字處理為反向,即, ^接收至】的代碼字遭用來判定該相對應的符號。現在這可 以參考第 圃的解碼器與第5圖之流程圖更詳細地予以解 釋。該第二梦努,Λ 衣ΐ 10(第1圖)接收該已發送之資訊且在接收器 w中執行例如妝 6 J戈將一射頻信號轉換14 · 1成一較低頻信號(例 轉換成—基帶信號)、通道解碼14.2該較低頻信號及/ 5二其匕操作以從該接收到之信號獲得代碼字。該接收 代I予可儲存在該第二裝置中之該記憶體12中用於進 步處理。在此範例中’使用與該編碼程序有關之以上呈 見之同位元流,即0111100110010010。 解碼器11之—初始化方塊11.3初始化(第5圖中之方 塊501)該變量kfk 里以卜K)。該解碼器11使用與該編碼器之該等 表相對應之表°例如’該解碼器11具有與該編碼器1之該等 j I字表5.1s5.M_之一組代碼字幻?卜17 Μ。該解碼 器11也具有與該編碼器之該交互參考表6對應之—交互參 考表13例如,該等表可形成於該解碼器11之該記憶體12 中或者=解碼器11可包含代替該等表而使用之-些演算法。 '•玄符號判定方塊!i 2利用該變量k之當前值與該交互參 考表13選擇該代碼字表(第5圖中之方塊5〇2)。此操作繪示成 •中之表選擇器11.4。在此範例中,該k初始設定為 ()'、中°亥交互參考表13指示第二代碼字表;17 2用在將 19 201128965 該代碼字映射到該符號中。 例如’該等接收到之位元逐個地或者以較大部分地輪 入到該解碼器11之該輸入11.1,該等位元從該輸入U l遞送 到該符號判定方塊11_2(第5圖中之方塊5〇3)。該接收到之位 元流之第一位元(即,在此示範實施例中之最左邊仇元)為 0。該符號判定方塊11.2檢查該第二代碼字表i7 2之該等代 碼字來判定這樣一代碼字是否存在於該第二代碼字表中 (第5圖中之方塊504與505)。如果該檢查表示該代碼字存 在’因此獲得之該代碼字可用來判定該符號。然而,在此 示範實施例中,該位元型樣〇不是在該第二代碼字表172中 之一代碼字。因此,還輸入下一位元且與該第一位元組合。 該組合為01且該符號判定方塊1丨.2判定此是否為—有效代 碼字。在此範例中,此位元型樣仍不是該第二代碼字表17 2 中之一代碼字,因此下一位元輸入到該符號判定方塊112 中。現在,此等位元之組合為oil。此代碼字存在於該第二 代碼字表17.2中。因此,基於該第二代碼字表可判定該相 應符號(第5圖中之方塊506)。第1行表示該符號判定方塊 11.2在該解碼器之輸出u.5處輸出之該對應符號為3。該符 號還可儲存到符號緩衝器中,該符號缓衝器可實現於例如 該第二裝置10之該記憶體12中。例如,該符號可儲存到該 記憶體12。該符號判定方塊11.2可包含用於執行檢查該代 碼字表17中之該等代碼字及對應符號之一符號選擇器 11.5。 找到來自該輸入位元流之代碼字後’該變量k之值可遭 20 201128965 更新(第5圖中之方塊507)。用於更新該變量k之規則與用在 該編碼器中之規則相同,即: k - k = s k < s k> s 該符號判定方塊11.2可包含用於更新該變量k之值與可 能地一些其它變量之一更新元件11.5。 該判定之符號為3,其等於該變量k之現值。因此,該 變量k未修改且同一代碼字表將用在下一代碼字之解碼中。 儘管第5圖之流程圖繪示了該變量k在該符號已解碼之 後更新,但順序也可與此不同。例如,該變量可在解碼該 符號期間或之前更新。 該過程繼續,例如透過檢查是否有還有位元要遭檢查 (第5圖中之方塊508)。如果是,該操作透過基於該變量k與 該交互參考表13選擇一代碼字表(在方塊502中)。在此範例 中,下一位元為1。這不是在該第二代碼字表中之一有效代 碼字,因此輸入下一位元。透過該符號判定方塊11.2檢查之 該等位元之組合現在為11,其為該第二代碼字表中之一有 效代碼字。對應符號為1。 在此應當注意到,還有解碼來自該代碼字之該符號之 其它可能。不必逐位元地發生但找到匹配代碼字之任一種 方法可用在此脈絡中。例如,該位元流之一部分輸入到該 解碼器11之該輸入11.1,該等位元從該解碼器11之該輸入 11.1遞送到該符號判定方塊11.2。該符號判定方塊11.2自該 已選擇可變長度代碼字表檢查該位元流之該部分是否包含 21 201128965 該已選擇之可變長度代碼字表中之一代碼字。如果該檢查 表示該位元流之該部分包含該已選擇之可變長度代碼字表 中之一代碼字,該符號判定方塊11.2判定該已選擇之可變長 度代碼字表中之哪一符號與該代碼字相對應且輸出該符 號。如果該檢查表示該位元流之該部分不包含該已選擇之 可變長度代碼字表中之任一代碼字,該位元流之下一部分 輸入到該解碼器11之該輸入11.1且遞送到該符號判定方塊 11.2用於進一步檢查。重復以上步驟直到一有效代碼字已從 該已選擇之可變長度代碼字表中找到。 在該解碼程序中還有找到匹配代碼字之其它可能,諸 如利用詢查表或利用二元樹。 透過重復該程序,該位元流遭正確解碼,產生遭發送 之相同符號流,即在此情況下該產生之符號流為3,1,5,4,2。 在該等以上範例中,該編碼器1及該解碼器11之功能 元件繪示成獨立方塊。然而,在實際實現中,該等功能元 件或者它們中之一些可以以硬體方式實施或者作為該編 碼器1之該控制器1.4及/或該解碼器11之該控制器11.4之 一程式碼。該等控制器1.4、11.4可以是數位信號處理器或 包含用於執行程式碼之其它裝置之程式碼解譯器之其它 處理器。該程式碼可儲存到諸如該記憶體4、12之一儲存 媒體或者儲存到諸如一 CDROM之一碟片或者另一類型之 一載體。 不管該等代碼字值是如何產生的,本發明可作為一方 法實現且以至少包含用於判定該可變長度代碼字表序號 22 201128965 及用於更新該變量k之裝置之一裝置實現。該已判定之可 變長度代碼字表序號及要編碼之該符號接著可用來藉由 一代碼字表示該符號。分別地,在解碼階段,該符號可透 過利用該代碼字與該已判定之可變長度代碼字表序號而 找出。 例如,本發明可用在利用資料壓縮來壓縮視訊信號之 應用中。在視訊編碼中,已觀察到,該方法有利於編碼至 少一巨集區塊模式、一編碼區塊樣式(cbp)及以離散餘弦變 換(DCT)之變換區塊中之最後一非零係數之位置。 在一示範實施例中,該代碼字長度從該表之開始到末 尾單調增長0卩,在該表中一代碼字之長度大於或等於在該 其之前的任一代碼字之長度),但另一類代碼字表設計原理 也可在本發明之範圍内遭使用。 下面揭露了該交互參考表6之另一範例: 表4-表_序號 k T 0 0 1 0 2 1 3 2 4 3 5 3 6 3 7 3 8 3 9 3 在此範例中有四個代碼字表,其中之一範例在下表中 揭露: 23 201128965 表5-代碼_字(以二進制格式) CW S t=o t=l t=2 t=3 0 1 10 100 0001 1 010 11 101 0010 2 011 όιο 110 0011 3 00100 Oil 111 0100 4 00101 0010 001 0101 5 00110 0011 010 0110 6 00111 00010 Oil 0111 7 0001000 00011 00001 1000 8 0000100 000010 00010 1001 9 0000101 000011 00011 1010 與表5之該代碼字表相對應之該長度表含有以下值: 表6-代碼字_長度 len s t=0 t=l t=2 t=3 0 1 2 3 4 1 3 2 3 4 2 3 3 3 4 3 5 3 3 4 4 5 4 3 4 5 5 4 3 4 6 5 5 3 4 7 7 5 5 4 8 7 6 5 4 9 7 6 5 4 例如,包含該編碼器1之該第一裝置8可以是一無線通 訊裝置、一計算機、一伺服器、一CDROM播放器、一DVD 播放器等。例如,包含該解碼器11之該第二裝置10可以是 24 201128965 一無線通訊裝置、一計算機、一伺服器、一CDROM播放器、 一DVD播放器等。該傳輸通道15可包含一通訊網路,諸如 一無線通訊網路、一區域網路、該第一裝置9與該第二裝置 10之間的一有線或無線連接等。 本發明不僅僅局限於該等上述提及之範例,且其可在 申請專利範圍内變化。 【圖式簡單說明】 第1圖描繪了一系統之一示範實施例之一簡要方塊 圖,其中資訊從一編碼器發送到一解碼器; 第2圖根據本發明之一示範實施例,描繪了一編碼器之 一簡要方塊圖; 第3圖根據本發明之一示範實施例,描繪了一解碼器之 一簡要方塊圖; 第4圖根據本發明之一示範實施例,描繪了一編碼方法 之一流程圖; 第5圖根據本發明之一示範實施例,描繪了一解碼方法 之一流程圖。 【主要元件符號說明】 1.. .編碼 U、11_1"輸入 1.2.. .符號形成方塊 1.3、11.3...初始化方塊 1.4.. .控制器、編碼Is 1.4.1.. .内部暫存器 25 201128965 1.5.. .代碼字表選擇器 1.6.. .代碼字選擇器 1.7.. .代碼字長度指示器 1.8.. .更新元件 2…源 2.1.. .視訊攝影機 2.2.. .靜態攝影機 2.3.. .麥克風 2.4.. .裝置 2.5.. .儲存媒體 3.. .類比至數位轉換器 4、 12...記憶體 4.1.. .樣本緩衝器 5.1.. .可變長度代碼字表、第一代碼字表 5.2.. .可變長度代碼字表、第二代碼字表 5. M...可變長度代碼字表、底單代碼字表 6.. .交互參考表、代碼字表 7、7.卜7.2、7_M...代碼字長度表 8.. .第一裝置 9.. .發送器、第一裝置 9.1.. .通道編碼器 9.2.. .發送方塊 10…第二裝置 11.. .解碼器 26 201128965 11.2.. .符號判定方塊 11.4…表選擇器 11.5.. .輸出 13·.·交互參考表 14.. .接收器 15.. .傳輸通道 17、17.1、17.M...代碼字表 17.2.. .第二代碼字表 401-407、501-508···方塊 27