1378730 六、發明說明: 【發明所屬之技術領域】 本發明係有關於視訊編碼,特別有關於視訊編碼中的 一種轉碼(transcoding)方法。 【先前技術】 可變長度編碼(Variable Length Coding,以下簡稱為 VLC)通常應用於數位視訊壓縮,用來將源符號映射為可 變數目的位元。視訊麼縮典型地基於區塊(即一組晝素, 如16x16、16x8、8x16或8x8的區塊)執行。壓縮規則典 型地包含下列步驟,舉例來說,對區塊執行轉換功能,^ 離散餘弦轉換(Discrete Cosine Transform,DCT),以產 生區塊係數,然後對產生的區塊係數進行量化,並在區塊 内以預定順序對量化後的區塊係數進行掃描以形成區塊係 數序列,接著利用VLC對區塊係數序列進行統計編碼,以 產生用於資料傳送的VLC碼字(c〇dew〇rd)。 區塊係數序列藉由在先的零振幅係數的游程(run)進 行分組,其中每一組稱為一個符號,零振.幅係數之後為非 ,振幅係數。利用VLC對上述符號進行統計編碼,藉此, 最頻繁出現的符號係以最短的碼字編碼,以及較低頻率出 現的符號係以較長的碼字編碼。對於更低頻率出現的符 號,則以S]定長度的瑪字進行編碼,並且在每—碼字的開 頭附加-個逸出石馬(eseape eGde),以指示固定長 字。 ’一 在視訊編碉標準(如Η.%”中,每一符號包含3個 0758-A33426TWF_MTKI-07〇75 4 1378730 用於VLC的參數,包括last、RUN以及LEVEL,其中 LAST是一個二進位旗標,用於指示當前符號是否包含區塊 中的最後一個非零係數,RUN是指在當前非零係數之前的 零係數的游程長度,以及LEVEL·為當前非零係數的振幅 值。第1圖顯示了藉由LAST、RUN以及LEVEL參數來產 生VLC碼字的表格。視訊編碼器接收包含LAST、RUN以 - 及level參數的符號,在第丨圖所示的表格中進行查找以 _ 產生可變數目的游程長度位元流。第1圖所示的表格包含 許多查找表,每一查找表1〇、12或丨4以LAST參數進行 索引,視訊編碼器依據LAST參數找到一個相應的查找表, 並依據LEVEL與RUN參數決定相應的游程長度碼字。 目前已定義了許多視訊編碼標準,如H.263標準等, 並且隨之發展出一些相關的視訊編碼標準,如藉由索倫森 (Sorenson)發展出的 Sorenson H.263 以及藉由 RealMedia 發展出的RealMedia的第二版本(rmv2)。將第一格式的 籲 視訊資料轉碼為另一格式,由於不同標準的視訊編碼器的 軟體或硬體可彼此分享,從而提供了靈活性,同時降低了 實作成本。 【發明内容】 有鑒於此’本發明的目的之一在於提供一種將第一碼 字轉碼為第二碼字的轉碼方法。 本發明之一實施例提供一種將第一碼字轉碼為第二 碼字的方法’其中第一碼字與第二碼字均包含多個逸出碼 與多個逸出位準(escape level),此方法包含:接收位元 0758-A33426TWF MTKI-07-375 5 1378730 流以從其中決定第一碼字;決定第一碼字屬於長逸出模式 還是短逸出模式;以及當第一碼字屬於長逸出模式時,截 斷(truncate )第一碼字的逸出位準以產生第二碼字。 本發明之另一實施例提供一種將第一碼字轉碼為第 二碼字的方法,其中第一碼字與第二碼字均包含多個逸出 碼與多個逸出位準,此方法包含:接收位元流以從其中決 定第一碼字;決定第一碼字屬於長逸出模式還是短逸出模 式;當第一碼字屬於長逸出模式時,對第一碼字進行解碼 與反量化(de-quantizing ),以產生影像區塊的多個區塊係 數;以及對這些區塊係數進行重新量化(re-quantizing )以 產生第二碼字的新逸出位準,以使得新逸出位準小於第二 碼字的最大逸出位準。 本發明所提供之方法,與先前技術相比較,其有益效 果包括:藉由對視訊資料的格式進行轉換,不同標準的視 訊編碼器的軟體或硬體可彼此分享,從而提供了靈活性, 同時降低了實作成本。 【實施方式】 在說明書及後續的申請專利範圍當中使用了某些詞 彙來指稱特定的組件。所屬領域中具有通常知識者應可理 解,硬體製造商可能會用不同的名詞來稱呼同一個組件。 本說明書及後續的申請專利範圍並不以名稱的差異來作為 區分組件的方式,而是以組件在功能上的差異來作為區分 的準則。在通篇說明書及後續的請求項當中所提及的「包 含」係為開放式的用語,故應解釋成「包含但不限定於」。 0758-A33426TWF MTKI-07-375 6 1378730 以下係根據多個圖式對本發明之實施例進行的詳細 描述,本領域習知技藝者閱讀後應可明確了解本發明之目 的。 基於說明性的目的,以下揭示的實施例均以s〇rens〇n Η.263協定作為類η.263 (H.263-like)協定的例子,其他 的類H.263協定(如ReaiMedia的第二版本)可採用利用 同樣原理的轉碼方法,並可根據具體情形作出適當變動。 本發明的轉碼方法可利用硬體、處理器執行的軟體或硬體 與軟體結合來實作。 第2a圖與第2b圖分別顯示了符合H.263與Sorenson H.263協定的資料格式。一個Η·263資料碼字被編碼為具 有四層的階層式結構’包括晝面層、區塊組(Gr〇叩 Block ’以下簡稱為G〇B )層,巨集區塊(MacroBlock,以 下簡稱為MB)層以及區塊層。晝面層包含晝面起始碼 (Picture Start Code,以下簡稱為 PSC ) 20a、晝面標頭 22a 以及多個GOB資料單元,其中每一 GOB資料單元包含 GOB標頭24a和多個MB資料單元,每一 MB資料單元包 含MB標頭26a以及區塊資料區段28a。Sorenson H.263資 料碼字具有相似的資料結構,包含有PSC 20b、晝面標頭 22b、GOB標頭24b、MB標頭26b以及區塊資料區段28b。 PSC包含一個20位元的已知位元序列,用於識別每一資料 碼字的起始。GOB標頭包含區塊組資訊,如具有16列(row) 的區塊組。MB標頭包含巨集區塊資訊,如具有4個區塊 的巨集區塊。H.263與Sorenson H.263資料碼字中的PSC、 GOB標頭以及MB標頭區段是相同的。晝面標頭區段包含 0758-A33426TWF MTKI-07-375 7 1378730 資料封包資訊,如量化尺寸(quantization size )、圖框寬 度以及而度荨’上述資訊在Η.263與Sorenson Η.263資料 碼字中進行了不同的格式化。Η.263與Sorenson Η.263標 準中’巨集區塊的每一區塊中用來承載影像資料的區塊資 料區段也是不同的。因此’依據本發明實施例將§orenson Η.263資料轉碼為H.263資料的方法包括將晝面標頭區段 和區塊資料區段從Sorenson Η.263轉碣為η.263資料格式。 明破地說’區塊資料區段28a和28b在位元數目和資 料資訊上不同。第3a圖與第3b圖分別顯示了第2a圖與第 2b圖中的區塊資料區段28a與28b的資料格式。區塊資料 區段28a和28b均包含逸出碼、lAST、run以及level 參數。H.263標準中,量化之後,視訊編碼器依據】位元 LAST參數、6位兀RUN參數以及8位元LEVEL參數對影 像區塊的量化後區塊係數進行編碼,以產生由高達22位元 態樣組成的輸出位元流’上述參數係依據由特定νιχ規則 所提供之VLC查找表而得到,所述特定VLc規則可為霍 夫曼(Huffman)編喝或算術編碼規則。當視訊編碼器在 VLC查找表中無法找到相應'的VLC碼字時,一個固定長声 7位元的逸出碼被附加在H 263碼字的開頭,1 = LAST、酬以及LEVEL參數,藉此構成—個U位元= 碼字。8位凡LEVEL參數可代表從+ 127到·127的 數,第4圖係為包含有符合H.263標準的逸出位準及^ 應二進位糾表H㈣碼的最高有效位元係 符號的符號位元’其中,二進位1符婁不 選位i代表負值,二進位〇件 表正值。 π 0758-A33426TWF_MTKI-07-375 1378730 如第3b圖所示’在Sorenson H.263資料〜 料位準可以長逸出模式或短逸出模式進行編巧,中資 中包含-個1位it的格式攔位來指示碼字 =此碼字 逸出模式以格式1表示,採用u位元LEVel泉模式。長 逸出模式以格式〇表示,採用7位元LEVEl泉^數而知· 模式的逸出位準可代表從+ 1〇23到_1〇23的區 長逸出 出模式的逸出位準可代表從+63到_63的區塊係^數短逸 係為包含有符合Sorenson H.263標準的逸出位 圖 二進位碼的表格。此二進位碼的最高有效位元係^相, 號的符號位元,其中,二進位1代表負值,一、4、;’、曰τ符 ϋ。 〜進位0代表 由於Sorenson Η.263與Η.263標準下的LEVEL參數 具有不同的位元長度,依據本發明實施例之轉碼方法採用 位元截斷或位元重新編碼的方式來將類h.263(如s〇rens〇n H.263)格式的區塊資料區段轉碼為h.263格式的資料。 第6圖係為依據本發明之一實施例,利用位元截斷的 方式對第2a圖與第2b圖中的區塊資料區段進行轉碼的方 法流程圖。 轉碼方法從步驟S600開始之後,用於將類η.263碼 字轉碼為H.263碼字的積體電路或處理器接收位元流並從 其中決定類H.263碼字(步驟S602)。類H.263碼字可為 Sorenson H.263或RealMedia第二版本的碼字。本實施例 中,以Sorenson H.263資料作為類H.263資料的示例來說 明轉碼方法的運作。 接下來,在步驟S604中,積體電路或處理器依據第 0758-A33426TWFJVTTK1-07-375 9 1378730 2b圖所示標頭區段中的PTYPE參數決定類H 263碼字的 晝面類型,並在步驟S606中決定此晝面類型是否屬於框内 圖框(I-frame )'預估圖框(P_frame )或雙向圖框(B_frame )。 決定了畫面類型之後,執行步驟S6〇卜若是s〇rens〇nH 263 格式的資料,決定畫面類型是否屬於框内圖框、預估圖框 或雙向圖框的步驟可藉由蚊ΡΤγρΕ參數是否超過〇來實 作。 步驟s繼中’積體電路或處理器決定類瑪字 的逸出模式,並在步驟剛決定此逸出模式是否為長逸出 模式。若是,執行步驟S612,若否,執行步驟%14。^_ H.263標準下,碼㈣逸出模式可為長逸出模式與短逸出 模式之-者。對於短逸出模式,可在步驟觀中將7位元 =位準無損轉換為8位元逸出位準。對於長逸出模式, ^步驟中將逸出位準戴斷為8位元逸出位 準’以符合H.263標準的要求。 當類H.263碼字屬於長逸出模式時,步驟腿中, =電路域理隸_ h.263料的逸出位準以產生 H.263 碼子。在 Sorenson H.263 择堆 山从唯十* 知準下’長逸出模式採用 塊係數的值,而在_票 準下’僅使用8位元逸出位準, 合Η.263標準。當u侃逸“ ^必須截斷3位元以符 的範圍内時,不會有資訊因截斷=的值在+ 127到_127 位元逸出位準表示的值超出了+=碼而錢。然而,當11 到8位it逸出位準會導致非零巴& 127的㈣時’截斷 實作中,截斷操作包括:決定=數數值資訊的丢失。 、’263資料的逸出位準的 0758-A33426TWF_MTKI-07-375 ]〇 1378730 絕對值,將此絕對值與H.263碼字的最大逸出位準作比 較,以及當此絕對值小於H.263碼字最大逸出位準時截斷 類H.263的逸出位準。若H.263碼字的最大逸出位準為 127,則截斷操作包括從類H.263逸出位準的最低有效位元 截斷3個位元。截斷後的逸出位準用來產生H.263碼字。 轉碼得到的H.263碼字的區塊資料區段中,逸出碼、RUN . 以及LAST參數保持不變。 當類H.263碼字屬於短逸出模式時,步驟S614中, • 積體電路或處理器將逸出位準從7位元轉換為8位元,但 不改變其數值。若為Sorenson H.263資料,藉由插入一個 二進位0至逸出位準的符號位元之後,可將7位元的逸出 位準無損轉換為8位元的逸出位準。轉碼得到的H.263碼 字的區塊資料區段中,逸出碼、RUN以及LAST參數保持 不變。 完成類H.263碼字到H.263碼字的轉碼之後,在步驟 I S616退出方法流程。 第7圖係為依據本發明另一實施例對第2a圖與第2b 圖中的區塊貢料區段進行轉碼的方法流程圖。 由於步驟S700到S708與第6圖之步驟S600到S608 相同,此處不再重複描述。 步驟S710中,積體電路或處理器決定逸出模式是否 為長逸出模式,若是,執行步驟S712,若否,則逸出模式 為短逸出模式,執行步驟S718。 當類H.263碼字屬於長逸出模式時,步驟S712中, 積體電路或處理器對類H.263碼字進行解碼與反量化,以 0758-A33426TWF MTKI-07-375 11 1378730 產生影像區塊的 路或處理器對區故係數。接著步驟S714巾,積體電 新逸出位準,以俊二絲1行重新量化以產生H.263碼字的 出位準。在步驟S716新;4出位準小於H.263碼字的最大逸 則對重新量化後的區魏叙積體電路或處理器依#VLC規 VLC規則可為^物編碼以產生H.263碼字。 逸出位準“位元因 規則。由於_瑪字的 127,其最高有效位元Μ# 碼字㈣大逸纽準為 宕了酿用表指示符號。-此〜w 疋了類H.263的逸出模式為二心例中’在決 外的步驟用來檢查其逸出位、、式之後’還有-個額 逸出位準,只有當其逸出位準=:過H.263碼字的最大 位準時’亦印其逸出位準的絕對^ 碼字的最大逸出 或處理器才對類謂崎字超過⑵時,積體電路 施例中’當類H.263碼字屬於:::與二量化。另-些實 於H.263喝字的最大逸出位準時;C位準小 類H.263碼字的逸出位準 =電:或處理器戴斷 職碼字的逸出位準在+ 127到二二亦即,當類 其截斷至8位元。積體電路或處理哭:用圍:時’直接將 區塊係數進行重新量化,此量化步量化步長對 步長。舉例來說,重新晉彳卜+具 、里化步驟中的 牛超過反量化步驟中^ 乂長的兩倍。反量化步驟的量化步長可在第 中的置化 ^的PQUANT參數中找到。重新量化後的=標頭區 才曰定的二維路徑排序,如沿著用於8 &係數可沿著 路徑來形成用於 VLC編碼的區塊係數的鑛齒狀 h.263碼字進行了解碼、反量化、^^7。由於對類 〇758-A33426TWF.MTK,-〇7-375 ^ M 及鳊碼來產 12 1378730 生H.263碼字,因此類H.263碼字的區塊資料區段看起來 與H.263資料不同。 當類H.263碼字屬於短逸出模式時,在步驟S718中, 積體電路或處理器將其逸出位準轉換為8位元以產生 H.263碼字,但不改變其數值。由於Sorenson H.263資料 的逸出位準為7位元,因而將其轉換至8位元不會導致資 訊丟失,轉碼得到的H.263資料封包的逸出碼、RUN以及 LAST參數保持不變。 完成類H.263碼字到H.263碼字的轉碼之後,在步驟 S720退出方法流程。 第8圖係為依據本發明又一實施例對第2a圖與第2b 圖中的晝面標頭區段進行轉碼的方法流程‘圖。 H.263資料與類H.263資料的畫面標頭區段是不同 的,因此需要將標頭轉碼為適當的格式。 從步驟S800開始標頭轉碼之後,在步驟S802中,積 體電路或處理器將17位元的晝面起始碼和5位元的版本參 數轉換為符合H.263標準的22位元的晝面起始碼,步驟 S804中,拷貝8位元TR參數,並在步驟S806中將PTYPE 參數轉換為符合H.263標準的13位元畫面類型參數,其中 PTYPE參數包含3位元的晝面尺寸、寬度、高度,2位元 的晝面類型以及1位元的解塊(deblocking)參數,寬度與 高度參數可表示〇、8或16個晝素。 接下來,步驟S808中,積體電路或處理器添加PLUS HEADER參數,然後在步驟S810拷貝PQUANT參數作為 影像區塊量化後係數的量化步長,以及在步驟S812-S818 0758-A33426TWF MTKI-07-375 13 1378730 中’分別將參數CPM、PSBI、TRB以及QBQUANT添加 到晝面標頭區段,以產生符合H 263標準的晝面標頭區段。 第6圖與第7圖所揭示的轉碼方法同樣適用於硬體電 路。凊參照第9圖,第9圖係為依據本發明之一實施例的 視訊處理電路900的方塊圖。視訊處理電路9⑻可對依據 H.263協定或s〇rens〇n H 263協定編碼的視訊位元流進行 處理。於—實施例中,視訊處理電路900包含切換器902、
Sorenson H.263可變長度解碼器904、H.263可變長度解碼 器906、轉碼模組908以及選擇器910。當視訊處理電路 900接收到視訊位元流時,切換器9〇2首先決定此視訊位 元流是依據H.263協定還是Sorenson H.263協定編碼的。 如果是依據H.263協定編碼,則將視訊位元流傳送到H 263 可變長度解碼器906, H.263可變長度解碼器906解碼此視 訊位元流以獲得包含RUN參數值R_2、LEVEL參數值Lvl2 以及LAST參數值Lst2的H.263碼字。 反之,當視訊位元流是依據Sorenson H.263協定編碼 時,將此視訊位元流傳送到Sorenson H.263可變長度解碼 器904’Sorenson H.263可變長度解碼器904解碼此視訊位 元流以獲得包含RUN參數值R]、LEVEL參數值Lvl]以及 LAST參數值Lsti的Sorenson H.263碼字。然後轉碼模組 908依據第6圖與第7圖所示的轉碼方法執行轉碼處理, 將Sorenson H.263碼字轉換為包含RUN參數值&,、LEVEL· 參數值Lvl丨’以及LAST參數值LsV的H.263碼字。舉例來 說’當Sorenson H.263碼字為長逸出模式時,轉碼模組9〇8 截斷Sorenson H.263碼字的逸出位準以獲得H.263喝字(步 0758-A33426TWF_MTKI-07-375 14 1378730 驟S612)。當SorensonH.263碼字為短逸出模式時,轉碼 模組908將Sorenson H.263碼字的逸出位準轉換為8位元 以獲得H.263碼字(步驟S614)。選擇器91〇接著依據= 擇信號Sel輸出轉碼模組908或H.263可變長度解蝎哭9〇6 所產生的H.263碼字。因此,視訊處理電路9〇〇解碼
Sorenson H.263格式或H.263格式的視訊位元流來獲得 H.263媽字。 上述之實施例僅用來例舉本發明之實施態樣’以及闡 釋本發明之技術特徵,並非用來限制本發明之範疇。任何 習知技藝者可依據本發明之精神輕易完成之改變或均等性 之女排均屬於本發明所主張之範圍,本發明之權利範圍應 以申請專利範圍為準。 “ 【圖式簡單說明】 第1圖顯示了藉由LAST、RUN以及LEVEL·參數來 產生VLC碼予的表格。 第2a圖與第2b圖分別顯示了符合h.263與Sorenson H.263協定的資料格式。 第3a圖與第3b圖分別顯示了第2a圖與第2b圖中的 區塊資料區段的資料格式。 第4圖係為包含有符合H.263標準的逸出位準及其相 應二進位碼的表格。 第5圖係為包含有符合Sorenson H.263標準的逸出位 準及其相應二進位碼的表格。 第6圖係為依據本發明之一實施例對第2a圖與第2b 0758-A33426TWFJVFTK1-07-375 15 1378730 圖中的區塊資料區段進行轉碼的方法流程圖。 第7圖係為依據本發明另一實施例對第2a圖與第2b 圖中的區塊資料區段進行轉碼的方法流程圖。 第8圖係為依據本發明又一實施例對第2a圖與第2b 圖中的晝面標頭區段進行轉碼的方法流程圖。 第9圖係為依據本發明之一實施例的視訊處理電路的 方塊圖。 【主要元件符號說明】 10、12、14 :查找表; 20a、20b : PSC ; 22a、22b :晝面標頭; 24a、24b : GOB 標頭; 26a、26b : MB 標頭; 28a、28b.區塊資料區段, S600〜S616、S700〜S720、S800〜S818 :步驟; 900 ··視訊處理電路; 902 :切換器; 904 : Sorenson H.263可變長度解瑪器; 906 : H.263可變長度解碼器; 908 :轉碼模組; 910 :選擇器。 0758-A33426TWF MTKI-07-375 16