TW200934250A - Improved enhancement layer coding for scalable video coding - Google Patents

Improved enhancement layer coding for scalable video coding

Info

Publication number
TW200934250A
TW200934250A TW97139596A TW97139596A TW200934250A TW 200934250 A TW200934250 A TW 200934250A TW 97139596 A TW97139596 A TW 97139596A TW 97139596 A TW97139596 A TW 97139596A TW 200934250 A TW200934250 A TW 200934250A
Authority
TW
Taiwan
Prior art keywords
video block
video
coefficient
zero
quality
Prior art date
Application number
TW97139596A
Other languages
Chinese (zh)
Other versions
TWI408965B (en
Inventor
Marta Karczewicz
Rahul Panchal
Yan Ye
Original Assignee
Qualcomm Inc
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
Priority claimed from US12/250,784 external-priority patent/US8848787B2/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW200934250A publication Critical patent/TW200934250A/en
Application granted granted Critical
Publication of TWI408965B publication Critical patent/TWI408965B/en

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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • 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
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

This disclosure describes scalable video coding techniques. In particular, the techniques may be used to encode refinements of a video block for enhancement layer bit streams in a single coding pass, thereby reducing coding complexity, coding delay and memory requirements. In some instances, the techniques encode each nonzero coefficient of a coefficient vector of the enhancement layer without knowledge of any subsequent coefficients. Coding the enhancement layer in a single pass may eliminate the need to perform a first pass to analyze the coefficient vector and a second pass for coding the coefficient vector based on the analysis.

Description

200934250 九、發明說明: 且更特定而言係關於對視 【發明所屬之技術領域】 本發明係關於數位視訊寫碼 訊資料的可調節視訊寫碼。 本申請案主張2〇07年10月15曰申請之美國臨時申請案第 60/979,919號及2007年1〇月16日申請的美國臨時申請案第 60/940,214號之權利。此等申請案中之每一者的内容以引 用方式併入本文中。200934250 IX. INSTRUCTIONS: and more particularly in relation to the field of view [Technical Field of the Invention] The present invention relates to an adjustable video writing code for digital video writing code data. The present application claims the benefit of U.S. Provisional Application No. 60/979,919, filed on Jan. 15, 2007, and U.S. Provisional Application Serial No. 60/940,214, filed on Jan. 16, 2007. The content of each of these applications is incorporated herein by reference.

【先前技術】 數位視訊能力可併人於廣泛範圍之設備中,包括數位電 視、數位直播系統、無線通信設備、無線廣播系統、個人 數位助理(PDA)、膝上型電腦或桌上型電腦、數位相機、 數位記錄設備、視訊遊戲設備、視訊遊戲機、蜂巢式或衛 星無線電話’及其類似者。數位視訊設備實施視訊壓縮技 術’諸如運動圖像專家組(MP叫2、MpEG_4或國際電信 聯盟標準化部門(ITU_T)H.264/MPEG_4部分1〇進階視訊寫 碼(AVC)(下文令為"H 264/MpEG 4部分i 〇 A%標準),以更 有效地傳輸並接收數位視訊。視訊M縮技術執行空間及時 間預測以減少或移除視訊序列中的固有冗餘。 在視訊寫碼中,視訊壓縮通常包括空間預剛及/或運動 估計及運動補償以產生預測視訊區塊。框内寫喝 預測來減少或移除給定寫碼單元(例如 : 訊區塊之間的空門^ ^ 圃I次片)内之視 】的工間几餘。換…視訊編碼器 測以基於同一耷级留士咖―好 ^ π工门頂 寫碼單兀内之其他資料來壓縮資料。相反, I35453.doc 200934250 框間寫碼依靠時間預測來減少或移除視訊序列之連續視訊 圖框之視訊區塊之間的時間冗餘。因此,對於框間寫碼而 &,視訊編碼器執行運動估計及運動補償以追蹤兩個或兩 個以上相鄰寫碼單元的匹配之視訊區塊的移動。 在空間或時間預測之後,藉由自正被寫碼之原始視訊區 塊減去預測視訊區塊而產生剩餘係數之區塊(稱為剩餘區 塊或剩餘資訊)。剩餘區塊可為量化預測視訊區塊與原始 區塊之間的差之係數值的二維矩陣。視訊編碼器可對剩餘 ® 區塊應用變換、量化及熵寫碼過程以進一步減少與剩餘區 塊之通信相關聯的位元率。變換技術可包含離散餘弦變換 (DCT)、小波變換、整數變換或其他類型變換。 在DCT變換中’例如’變換過程將—組像素域係數轉換 為變換係數,該等變換係數表示像素域係數在頻域或變換 域中的能量。向變換係數應用量化以產生經量化之變換係 數。量化通常限制與任何給定係數相關聯之位元的數目。 ❹視訊編碼器熵編碼經量化之變換係數以進一步壓縮經量化 的變化係數。視訊編碼器可使用可變長度寫碼、算 術寫碼、固定長度寫碼或其組合來熵編碼該等係數。視訊 解碼器可執行逆操作以重建視訊序列。 諸如MPEG-2之一些視訊寫碼標準以相對恆定之品質、 位元率或空間解析度來編碼視訊。此技術可能足以向具有 類似解碼器能力(例如,記憶體或處理資源)及/或連接品質 之设備提供視訊應用。然而,多數現代視訊傳輸系統通常 包括具有變化之解碼器能力及/或連接品質的設備。在此 135453.doc 200934250 等系統中,傳輸以相對恆定之品質、位元率或空間解析度 編碼之視訊導致視訊應用程式對於具有適當解碼器能力及/ 或連接品質之設備工作’且對於不具有適當解碼器能力及/ 或連接品質的設備不工作®在無線情形下,例如,靠近視 訊傳輸源定位之設備與遠離源定位之設備相比較可能具有 較高品質連接。同樣,遠離源定位之設備可能不能接收以 怪定品質、位元率或空間解析度傳輸的經編碼之視訊。 其他視訊寫碼標準利用可調節寫碼技術來克服此等問 Ο 題。(例如)根據ITU-T H.264/MPEG-4部分10 AVC之擴展的 可調知視訊寫碼(SVC)指代其中將視訊序列編碼為一基礎 層及一或多個可調節加強層的視訊寫碼。對於SVC而言, 基礎層通常載運具有基本空間、時間及/或品質等級的視 訊資料。一或多個增強層載運額外視訊資料以支援更高空 間時間及/或品質等級。加強層可(例如)向基礎層之圖框 添加空間解析度,或可添加額外圖框以增加總圖框率。在 ❹一些例子中,可以比加強層之傳輸更可靠的方式傳輸基礎 層。同樣’遠離編碼視訊源定位或具有較低解碼器能力之 設備可能能夠接收基礎層,且因此接收視訊序列,即使處 於最低空間、時間及/或品質等級。 【發明内容】 本發明描述允許在單一寫碼一次操作中熵編碼加強層位 兀流的可調節視訊寫碼技術。習知地,使用多個寫碼一次 操作來編碼加強層位元流。對於加強層之每一視訊區塊而 °例如’第一寫碼一次操作可收集在選擇用於熵寫碼區 135453.doc 200934250 塊之寫碼表(或碼薄)中使用的區塊之統計數據,且第二寫 碼一次操作可使用所選擇之寫碼表來摘編碼區塊。然而‘, 根據本發明巾之技術’在純行㈣在視訊寫碼表選擇中 使用的統計數據之第-寫碼—次操作情況下熵編瑪加強層 位元流之視訊區塊。[Prior Art] Digital video capabilities can be combined with a wide range of devices, including digital televisions, digital live broadcast systems, wireless communication devices, wireless broadcast systems, personal digital assistants (PDAs), laptops or desktop computers. Digital cameras, digital recording devices, video game devices, video game consoles, cellular or satellite radiotelephones and the like. Digital video equipment implements video compression technology such as Motion Picture Experts Group (MP Call 2, MpEG_4 or International Telecommunication Union Standardization Sector (ITU_T) H.264/MPEG_4 Part 1 Advanced Video Write Code (AVC) (hereafter ordered as &quot ; H 264 / MpEG 4 part i 〇 A% standard) to transmit and receive digital video more efficiently. Video M technology performs spatial and temporal prediction to reduce or remove the inherent redundancy in the video sequence. Video compression typically includes spatial pre- and/or motion estimation and motion compensation to generate predictive video blocks. In-frame write predictions are used to reduce or remove a given code unit (eg, an empty gate between blocks) ^ 圃I times film) The number of work in the room. For the video encoder test to compress the data based on other information in the same level of the syllabus - good ^ π work top code. , I35453.doc 200934250 Inter-frame coding relies on temporal prediction to reduce or remove temporal redundancy between video blocks of consecutive video frames of a video sequence. Therefore, for inter-frame writing, &, video encoder execution Motion estimation and exercise Compensating to track the movement of matching video blocks of two or more adjacent code units. After spatial or temporal prediction, by subtracting the predicted video block from the original video block being coded The block of residual coefficients (called the remaining block or residual information). The remaining block can be a two-dimensional matrix of the coefficient values of the difference between the predicted video block and the original block. The video encoder can be used for the remaining area The block applies transform, quantization, and entropy write processes to further reduce the bit rate associated with communication of the remaining blocks. The transform technique may include discrete cosine transform (DCT), wavelet transform, integer transform, or other type of transform. The 'for example' transform process converts the set of pixel domain coefficients into transform coefficients, which represent the energy of the pixel domain coefficients in the frequency domain or the transform domain. The quantization coefficients are applied to the transform coefficients to produce quantized transform coefficients. Limiting the number of bits associated with any given coefficient. The video encoder entropy encodes the quantized transform coefficients to further compress the quantized coefficient of variation The video encoder may entropy encode the coefficients using variable length write codes, arithmetic write codes, fixed length write codes, or a combination thereof. The video decoder may perform an inverse operation to reconstruct the video sequence. Some video writes such as MPEG-2 The code standard encodes video with relatively constant quality, bit rate or spatial resolution. This technique may be sufficient to provide video applications to devices with similar decoder capabilities (eg, memory or processing resources) and/or connection quality. However, most modern video transmission systems typically include devices with varying decoder capabilities and/or connection quality. In systems such as 135453.doc 200934250, video transmissions encoded with relatively constant quality, bit rate or spatial resolution are transmitted. Causes the video application to work for devices with the appropriate decoder capabilities and/or connection quality' and does not work for devices that do not have the proper decoder capabilities and/or connection quality. In wireless situations, for example, close to video transmission sources. Devices may have higher quality connections than devices that are located away from the source. Similarly, devices that are located away from the source may not be able to receive encoded video transmitted with strange quality, bit rate, or spatial resolution. Other video writing standards use adjustable code writing techniques to overcome these problems. (for example) a tunable video write code (SVC) according to an extension of ITU-T H.264/MPEG-4 Part 10 AVC, which refers to encoding a video sequence as a base layer and one or more adjustable enhancement layers. Video writing code. For SVC, the base layer typically carries video material with a basic space, time and/or quality level. One or more enhancement layers carry additional video material to support higher space times and/or quality levels. The enhancement layer can, for example, add spatial resolution to the frame of the base layer, or additional frames can be added to increase the total frame rate. In some examples, the base layer can be transmitted in a more reliable manner than the transmission of the enhancement layer. Similarly, a device that is remote from the encoded video source location or has a lower decoder capability may be able to receive the base layer and thus receive the video sequence even at the lowest space, time and/or quality level. SUMMARY OF THE INVENTION The present invention describes an adjustable video write code technique that allows entropy coding enhancement layer turbulence in a single write once operation. Conventionally, a plurality of write code operations are used to encode the enhancement layer bit stream. For each video block of the enhancement layer, for example, 'first write code one operation can collect statistics on the block used in the code code table (or codebook) selected for the entropy code writing area 135453.doc 200934250 block. The data, and the second write code can be used to extract the coded block using the selected write code table. However, the technique of the towel according to the present invention entropy encodes the video block of the enhancement layer bit stream in the case of the first line of the statistical data used in the video code table selection.

實情為,使用-在單-寫碼—次操作中在逐係數基礎上 編碼加強層之係數的寫碼技術來編碼加強層。在一例子 中,對於加強層視訊區塊之非零係數中的每一者而言,視 訊編碼器可編碼區塊結束(EOB)符號、運程長度及正負 號。視訊編碼器可使用僅單—寫碼表來編碼加強層之視訊 區塊’藉此消除執行m於選擇寫碼表之統計數據的 第一寫喝一次操作之需要。 另卜視訊編碼器可能並不編碼加強層中之非零係數的 量值。以此方式,加強層之所有非零係數的量值可限制至 為量值卜不編碼加強層之係數之量值可導致峰值訊雜比 (PSNR)的某一損耗’但減少用以編碼加強層之位元的數 目,°、本發明之技術可提供若干優點。舉例而言,該等技術 可減少用於編碼加強層位元流之寫碼複雜性、寫碼延遲及 記憶體要求,同時維持寫碼效率。 、 種使用可調節視訊寫碼來編碼視訊資料 立I 3以第—品質編碼視訊區塊作為基礎層位元流的 部分。方法亦包括編碼視訊區塊之精化作為至少一加強層 位元流的部分,該等視訊區塊之精化在與以第__品質編碼 之視訊區塊組合時導致具有大於第—品質之第二品質的視 135453.doc 200934250 訊區塊。方法亦包括,在單一編碼一次操作中編碼視訊區 塊的精化。 在另一態樣中,一種用於使用可調節視訊寫碼來編碼視 訊資料的設備包含至少一編碼器,該至少一編碼器以第一 品質編碼視訊區塊作為基礎層位元流的部分,且編碼視訊 _ 區塊之精化作為至少一加強層位元流的部分,該等視訊區 塊之精化在與以第一品質編碼之視訊區塊組合時導致具有 大於第一品質之第二品質的視訊區塊。在單一編碼一次操 ❿ 作中編碼視訊區塊的精化。 在又一態樣中,一種包含指令之電腦可讀媒體,該等指 令使知·一或多個處理器以第一品質編碼視訊區塊作為基礎 層位元流的部分;且編碼視訊區塊之精化作為至少一加強 層位元流的部分’該等視訊區塊之精化在與以第一品質編 碼之視訊區塊組合時導致具有大於第一品質之第二品質的 視訊區塊。在單一編碼一次操作中編碼視訊區塊的精化。 在再一態樣中,一種用於使用可調節視訊寫碼來編碼視 訊資料的設備包含:用於以第一品質編碼視訊區塊作為基 礎層位元流之部分的第一構件;及用於編碼視訊區塊之精 化作為至少一加強層位元流之部分的第二構件,該等視訊 .區塊之精化在與以第一品質編碼之視訊區塊組合時導致具 有大於第一品質之第二品質的視訊區塊。在單一編碼一次 操作中編碼視訊區塊的精化。 在另一態樣中,—種使用可調節視訊寫碼來解碼視訊資 料之方法包含解碼基礎層位元流以獲得第一品質的視訊區 135453.doc •10- 200934250 塊’及解碼加強層位元流以獲得視訊區塊之精化,該等視 訊區塊之精化在與第一品質的經解碼視訊區塊組合時導致 具有第二品質的視訊區塊。解碼加強層包括對於視訊區塊 之精化之每一非零係數而言解碼一指示存在至少一殘餘非 零係數的符號、一指示非零係數之前的零值係數之數目的 運程長度及非零係數的正負號。 在又一態樣中,一種用於使用可調節視訊寫碼來解碼視 訊資料之設備包含至少一解碼器,該至少一解碼器解碼基 ® 礎層位元流以獲得第一品質的視訊區塊,且解碼加強層位 疋流以獲得視訊區塊之精化,該等視訊區塊之精化在與第 一品質的經解碼視訊區塊組合時導致具有第二品質的視訊 區塊。至少一解碼器對於視訊區塊之精化之每一非零係數 而言解碼一指示存在至少一殘餘非零係數的符號、一指示 非零係數之前的零值係數之數目的運程長度及非零係數的 正負號。 ❾ 在再一態樣中,一種包含指令之電腦可讀媒體,該等指 令使得一或多個處理器解碼基礎層位元流以獲得第一品質 的視訊區塊;且解碼加強層位元流以獲得視訊區塊之精 化,該等視訊區塊之精化在與第一品質的經解碼視訊區塊 組合時導致具有第二品質的視訊區塊。指令使得一或多個 處理器對於視訊區塊之精化之每一非零係數而言解碼一指 示存在至少一殘餘非零係數的符號、一指示非零係數之前 的零值係數之數目的運程長度及非零係數的正負號。 在另一態樣中,一種用於使用可調節視訊寫碼來解碼視 135453.doc -11- 200934250 訊資料之設備包含:用於解碼基礎層位元流以獲得第—品 質的視訊區塊之第一構件;及用於解碼加強層位元流以獲 得視訊區塊之精化之第二構件,該等視訊區塊之精化在與 第一品質的經解碼視訊區塊組合時導致具有第二品質的視 訊區塊。該第二解碼構件對於視訊區塊之精化之每一非零 • 係數而言解碼一指示存在至少一殘餘非零係數的符號、— 指示非零係數之前的零值係數之數目的運程長度及非零係 數的正負號。 Ο 本發明中所描述之技術可以硬體、軟體、韌體或其任何 組合來實施。若以軟體來實施,則軟體可執行於處理器 中’該處理器可指代一或多個處理器,諸如,微處理器、 特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)或數 位信號處理器(DSP),或其他等效積體或離散邏輯電路 中。包含用以執行該等技術之指令的軟體最初可儲存於電 腦可讀媒體中’且被載入並由處理器來執行。 因此’本發明亦預期到包含指令之電腦可讀媒體,該等 指令使得處理器執行如本發明中所描述之各種技術中的任 一者。在一些狀況下’電腦可讀媒體可形成電腦程式產品 ' 之部分’該電腦程式產品可出售給製造商及/或用於設備 中。電腦程式產品可包括電腦可讀媒體,且在一些狀況下 亦可包括包裝材料。 在隨附圖式及以下描述中闡述本發明之一或多個態樣的 細節。本發明中描述之技術的其他特徵、目標及優點將自 描述及圖式且自申請專利範圍而顯而易見。 135453.doc -12· 200934250 【實施方式】 圖1為說明一支援視訊可調節性之視訊傳輸系統ι〇的方 鬼圖在圖1之實例中’視訊傳輸系統1G包括-源設備12 及多個目的地叹備14a、14B(共同地為"目的地設備14")。 $ "又備12自《多個源獲得數位視訊内容,且編碼視訊内 各乂供傳輸至目的地設備14。視訊内容可(例如)被即時或 接近即時地擷取、存檔(例如,預先擷取)、電腦產生,或 義#組合。在每—狀況T ’視訊内容可藉由源設備12來編碼 u經由通信頻道傳輸至目的地設備…源㈣u可包括或 耗接至'傳輸器,該傳輸器包括適當射頻(RF)調變、濾 皮及放大器組件以驅動—或多個天線經由通信頻道遞送 經編碼視訊。The reality is to encode the enhancement layer using a write-coding technique that encodes the coefficients of the enhancement layer on a coefficient-by-coefficient basis in a single-write code-second operation. In one example, for each of the non-zero coefficients of the enhancement layer video block, the video encoder can encode the end of block (EOB) symbol, the length of the run, and the sign. The video encoder can encode the video layer of the enhancement layer using only a single-write code table, thereby eliminating the need to perform a first write-and-batch operation of the statistics of the selected write code table. In addition, the video encoder may not encode the magnitude of the non-zero coefficients in the enhancement layer. In this way, the magnitude of all non-zero coefficients of the enhancement layer can be limited to a magnitude that does not encode the coefficient of the enhancement layer, which can result in a certain loss of peak-to-noise ratio (PSNR) but is reduced for coding enhancement. The number of bits of the layer, °, the techniques of the present invention may provide several advantages. For example, such techniques can reduce write code complexity, write code latency, and memory requirements for encoding enhancement layer bitstreams while maintaining write efficiency. Using an adjustable video write code to encode video data, I 3 uses the first quality coded video block as part of the base layer bit stream. The method also includes refining the encoded video block as part of at least one enhanced layer bit stream, the refinement of the video blocks causing greater than the first quality when combined with the video block encoded with the __ quality The second quality of the view 135453.doc 200934250 block. The method also includes encoding the refinement of the video block in a single coded one operation. In another aspect, an apparatus for encoding video data using an adjustable video write code includes at least one encoder that encodes a video block as a portion of a base layer bit stream with a first quality, And the refinement of the encoded video_block is part of at least one enhanced layer bitstream, and the refinement of the video blocks causes a second greater than the first quality when combined with the video block encoded with the first quality Quality video block. The refinement of the video block is encoded in a single coded operation. In another aspect, a computer readable medium containing instructions for causing one or more processors to encode a video block as a portion of a base layer bitstream with a first quality; and encoding the video block The refinement is a portion of the at least one enhancement layer bitstream. The refinement of the video blocks results in a video block having a second quality greater than the first quality when combined with the video block encoded with the first quality. The refinement of the video block is encoded in a single coded one operation. In still another aspect, an apparatus for encoding video data using an adjustable video write code includes: a first component for encoding a video block as a portion of a base layer bit stream with a first quality; and Refining the coded video block as a second component of at least one portion of the enhancement layer bitstream, the refinement of the video blocks causing greater than the first quality when combined with the video block encoded with the first quality The second quality video block. The refinement of the video block is encoded in a single coded operation. In another aspect, a method of decoding video data using an adjustable video write code includes decoding a base layer bitstream to obtain a first quality video zone 135453.doc • 10 - 200934250 block 'and decoding enhancement layer The metadata stream is refined to obtain a video block, and the refinement of the video blocks results in a second quality video block when combined with the first quality decoded video block. The decoding enhancement layer includes decoding, for each non-zero coefficient of the refinement of the video block, a symbol indicating the presence of at least one residual non-zero coefficient, a run length indicating the number of zero-valued coefficients before the non-zero coefficient, and a non-zero The sign of the coefficient. In yet another aspect, an apparatus for decoding video data using an adjustable video write code includes at least one decoder that decodes a base layer bitstream to obtain a first quality video block And decoding the enhancement layer turbulence to obtain refinement of the video block, and the refinement of the video blocks results in a second quality video block when combined with the first quality decoded video block. At least one decoder decodes, for each non-zero coefficient of the refinement of the video block, a symbol indicating the presence of at least one residual non-zero coefficient, a run length indicating a number of zero-valued coefficients before the non-zero coefficient, and a non-zero The sign of the coefficient. In still another aspect, a computer readable medium containing instructions for causing one or more processors to decode a base layer bitstream to obtain a first quality video block; and decoding the enhancement layer bitstream To achieve refinement of the video blocks, the refinement of the video blocks results in a second quality video block when combined with the first quality decoded video block. The instructions cause the one or more processors to decode a symbol indicating the presence of at least one residual non-zero coefficient and a number of zero-value coefficients prior to the non-zero coefficient for each non-zero coefficient of refinement of the video block The length and the sign of the non-zero coefficient. In another aspect, an apparatus for decoding a 135453.doc -11-200934250 data using an adjustable video write code includes: decoding a base layer bitstream to obtain a first quality video block a first component; and a second component for decoding the enhancement layer bitstream to obtain refinement of the video block, the refinement of the video blocks being combined with the first quality decoded video block to cause Two quality video blocks. The second decoding component decodes, for each non-zero coefficient of the refinement of the video block, a symbol indicating the presence of at least one residual non-zero coefficient, a run length indicating the number of zero-valued coefficients before the non-zero coefficient, and The sign of the non-zero coefficient. The technique described in the present invention can be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the software may be executed in a processor. The processor may refer to one or more processors, such as a microprocessor, an application specific integrated circuit (ASIC), a field programmable gate array ( FPGA) or digital signal processor (DSP), or other equivalent integrated or discrete logic circuits. Software containing instructions for performing such techniques may initially be stored in a computer readable medium' and loaded and executed by a processor. Thus, the present invention also contemplates a computer readable medium containing instructions which cause the processor to perform any of the various techniques as described in this disclosure. In some cases, a computer readable medium may form part of a computer program product that can be sold to a manufacturer and/or used in a device. The computer program product can include computer readable media and, in some cases, packaging materials. The details of one or more aspects of the invention are set forth in the drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings. 135453.doc -12· 200934250 [Embodiment] FIG. 1 is a schematic diagram illustrating a video transmission system that supports video reconciliation. In the example of FIG. 1, the video transmission system 1G includes a source device 12 and a plurality of Destination sighs 14a, 14B (commonly "destination device 14"). $ " Also available for 12 to obtain digital video content from multiple sources, and to encode each video for transmission to destination device 14. The video content can, for example, be captured, archived (e.g., pre-fetched), computer generated, or combined. In each case, the video content can be encoded by the source device 12 and transmitted to the destination device via the communication channel. The source (4) u can include or be consuming to the 'transmitter, which includes appropriate radio frequency (RF) modulation, The filter and amplifier assembly delivers the encoded video via the communication channel by driving - or multiple antennas.

為了支援可調節視訊,源設備j 2將源視訊編碼為基礎層 位凡流(或基礎層)及一或多個可調節加強層位元流(或加強 層)。基礎層位元流通常載運具有基礎品質等級之視訊資 料或多個加強層載運本文中稱為精化之額外視訊資料 以支援較高品質等級。在加強層中編碼之精化可(例如)藉 由提供額外較高頻率係數或進一步精製現有係數而逐漸增To support adjustable video, source device j 2 encodes the source video as a base layer stream (or base layer) and one or more adjustable enhancement layer bit streams (or enhancement layers). The base layer bitstream typically carries video data of a base quality level or multiple enhancement layers carrying additional video material referred to herein as refinement to support higher quality levels. The refinement coded in the enhancement layer can be incrementally increased, for example, by providing additional higher frequency coefficients or further refining existing coefficients.

加保真度(例如,視警品暂、L 仇卜在—些例子中,可以比加強 之傳輸更可靠的方式(例如,以較低封包錯誤率(PER))傳 在圖1中所說明之實 礎層及一單一加強層。 運額外視訊資料的一個 ,源設 例中,為了簡單,展示—頻道之基 然而,源設備12可編碼該頻道之載 以上加強層。在一些例子中 135453.doc •13· 200934250 流中編碼源視訊以支援用於由與目的地 道使^ "之使用者選擇的不同頻道。通常同時傳輸頻Plus fidelity (for example, depending on the police product, L vengeance - in some examples, can be more reliable than the enhanced transmission (for example, with a lower packet error rate (PER)) as illustrated in Figure 1. The base layer and a single enhancement layer. One of the additional video data, in the source setting, for simplicity, the basis of the channel-channel, however, the source device 12 can encode the enhancement layer above the channel. In some examples 135453. Doc •13· 200934250 In-stream encoded source video to support different channels for selection by the user of the destination channel. Usually simultaneous transmission frequency

=使传目的地設備Μ在任何時間可選擇不同頻道以用= 觀看。因& ’非常類似於電視觀看體驗,目的地設備_ 使用者控制下可選擇-頻道以觀看體育,且接著選擇另— 頻道以觀看新m其他經排程的廣播節目事件。一般 而言’可將每-頻道編碼為—基礎層及―或多個加強層广 此外’為了說明性目的,在品質可調節性(亦稱為訊雜 比(SNR)可調冑性)情形下描述本發明的技術。然❿,可將 技術擴展至空間可調節性。在空間可調節性應用中,基礎 層以基礎空間解析度載運視訊資料,且加強層載運額外視 訊資料從而支援較高空間解析度。在一些例子中系統⑺ 可利用組合SNR、空間及/或時間可調節性的視訊可調節 性。 源設備12可(例如)根據ITU_t h.264/MPEG·4部分1 〇 Avc標 準之SVC擴展而將源視訊編碼為基礎層,且根據本發明中 描述的技術將源視訊編碼為加強層。同樣,如本發明中描 述之技術在一些態樣中可經應用以實施設備之視訊可調節 性擴展’其另外符合H. 264標準。實際上,本發明之技術 可表示用於H.264標準或其他標準之將來版本或擴展的潜 在修改。然而’可結合以下各種其他視訊壓縮標準中之任 一者來使用該等技術,諸如,在MPEG-1及MPEG-2中界定 之彼等標準、ITU-T H.;263標準、電影電視工程師協會 (SMPTE)421M視訊CODEC標準(統稱為"VC-1”)、藉由中國 135453.doc -14· 200934250 音訊視訊寫碼標準工作小組界定之標準(統稱為"avs。以 及藉由標準組織界定或藉由組織開發為專屬標準的任何其 他視訊寫碼標準。 目的地設備14可支援經編碼視訊之有線及/或無線接 收。目的地設備14可包含諸如無線通信設備之能夠接收並 解碼數位視訊資料的任何設備,例如蜂巢式或衛星無線電 話、無線廣播系統、個人數位助理(pDA)、膝上型電腦戈 桌上型電腦、數位相機、數位記錄設備、視訊遊戲設備、 〇 視訊遊戲機、數位電視、數位直播系統,及其類似者,在 圖1之實例中,展示兩個目的地設備14A、14B。然而,系 統10可包括任何數目之目的地設備14。目的地設備14亦可 根據上述各種視訊壓縮標準中之任一者來操作。 圖1表不目的地設備14相對於傳輸經編碼視訊之源設備 12的定位^詳言之,目的地設備14A較靠近傳輸源(亦即, 圖1中之源設備12),且目的地設備14B遠離傳輸源。在以 _ 較低PER編碼基礎層的狀況下,兩個目的地設備〗4八及146 可可靠地接收並解碼基礎層。較靠近源設備12定位之目的 地設備14A亦可可靠地接收加強層。然而,遠離源設備12 '定位之目的地設備14B可能(例如)歸因於網路或頻道條件 而無法可靠地接收加強層。 同樣’因為基礎層資料及加強層資料兩者為可用的,所 以較靠近之目的地設備14A能夠具有較高品質視訊;而目 的地設備14B僅能夠呈現由基礎層資料提供的最小品質等 級。因此,在加強層之額外位元可經解碼並添加至基礎層 135453.doc -15- 200934250 位元流以增加經解碼視訊之訊雜比(SNR)之意義上,藉由 目的地設備14獲得之視訊為可調節的。然而,僅當加強層 寊料存在時’可調節性為可能的。因此,如本發明中使用 之術語"品質"可指代客觀及/或主觀視覺品質。換言之,加 強層精化導致為原始資料之較高品質再現的視訊資料。以 .此方式’藉由加強層來增加視訊的保真度。 在其他例子中,網路或頻道條件對於目的地設備14A及 14B兩者了此皆足以接收基礎層及加強層。然而,目的地 β 設備14Α及⑽可具有不同解碼器能力,該等不同解碼器 能力防止目的地設備14Α及14Β中之一者使用加強層之額 外視訊資料來產生較高品質視訊。若目的地設備14中之一 者為用戶端設備,諸如,行動手持裝置或(例如)其他小型 攜帶型設備,則可能存在歸因於計算複雜性及記憶體要求 的限制。因此,可以具有有限計算或記憶體資源之目的地 設備14可僅解碼基礎層之方式來設計可調節視訊寫碼。以 此方式,具有較好網路或頻道條件及/或較高解碼器能力 之目的地設備14將能夠使用加強層之額外視訊資料重建具 有較高視訊品質的視訊。 本發明中描述之技術利用促進加強層位元流之有效寫碼 的熵寫碼技術。本發明之熵寫碼技術可賦能在單一編碼一 次操作中在加強層位元流中寫碼(例如)呈精化形式之額外 視訊資料,藉此減少寫碼複雜性、寫碼延遲及記憶體要 求。如將進一步詳細描述,源設備12在一些例子中可在不 知曉任何後續係數(亦即,當前正被寫碼之非零係數之後 135453.doc 200934250 的任何係數)的情沉下編碼加強層之係數向量中的每一 零係數。在單一一次操作中寫碼加強層可消除執行 分析係數向量之第一—次操作及用於基於分析而寫碼係數 向量的第二一次操作之需要。 $係數 舉例而言’-些習知熵編碼器可執行第—編碼—次操作 卩產生用以表示係數向量的符號,符號中的至少一些表示 —個以上非零係數。換言之’需要知曉後續係數以編^ &向量的非零係數。另外或或者,—些f知熵編碼器亦可 ❿ 在第一或後績編碼一次操作期間選擇VLC表以用於編碼符 號。在-態樣中,可基於所產生之符號來選擇^^表。或 者,可藉由在第一編碼一次操作期間分析係數向量而收集 統計數據,且可基於所收集之統計數據來選擇¥1^(:表。 接著藉由習知熵編碼器來執行第二編碼一次操作以基於 在第一編碼一次操作期間執行之分析來熵編碼係數向量。 作為一實例,一些習知熵編碼器在第二編碼一次操作期間 ❸ 可使用基於所產生之符號或其他統計數據選擇之VLC表來 編碼在第一一次操作期間產生的符號。產生表示一個以上 非零係數之符號及/或基於所產生·之符號或其他統計數據 選擇VLC表可允許更有效地編碼係數向量。 本發明之技術不僅消除使用一個以上編碼一次操作來編 瑪加強層之需要,而且本發明之熵寫碼技術可另外導致在 不儲存並存取基礎層之視訊資料的係數資訊的情況下寫碼 加強層,從而進一步減少計算複雜性及記憶體要求。 源設備12、目的地設備14或兩者可為如上所述之無線或 135453.doc •17- 200934250 有線通信設備。又,源設備12、目的地設備14或兩者可實 施為積體電路設備(諸如,積體電路晶片或晶片組),該積 體電路設備可併入至無線或有線通信設備中或支援數位視 訊應用的另一類型設備中,諸如,數位媒體播放器、個人 數位助理(PDA)、數位電視或類似者。 圖2為進一步詳細說明寫碼系統10之源設備12及目的地 設備14的方塊圖。目的地設備14可(例如)為圖丨之目的地設 備14A或14B中的任一者。如圖2中所示,源設備12可包 > 括:一視訊源18、一視訊編碼器2〇及一傳輸器22。源設備 12之視訊源18可包括一視訊擷取設備,諸如,攝影機含 有先前擷取之視訊的視訊存檔或來自視訊内容提供者的視 訊饋入。作為另一替代實例,視訊源丨8可產生基於電腦圖 形之資料作為源視訊,或者實況視訊及電腦產生視訊之組 〇。在一些狀況下,源設備12可為所謂之相機電話或視訊 電話,在此狀況下視訊源18可為攝影機。在每一狀況下, 經操取,預擁取或電腦產生之視訊可由視訊編碼器2〇編碼 從而經由傳輸器22及通信頻道16自源設備12傳輸至目的地 設備14。 視訊編碼器20自視訊源1 8接收視訊資料,且將視訊資料 編碼為基礎層位元流及一或多個加強層位元流。在圖2中 所說明之實例中,視訊編碼器20包括一基礎層編瑪器观 —加強層編碼器32。基礎層編碼器3〇及加強層編碼器如 視訊源18接收共用視訊資料。基礎層編碼器邛以第一位元 率編碼視訊資料以產生視訊的處於第一品質等級之基礎層 135453.doc 200934250 =二了編竭器32編碼額外位元以產生-或多個加 1力強二篦"多個加強層在添加至基礎層位元等級時將視 訊加強為第二較高品質 礎層時提供第…之,加強層在添加至基 σ皙莖、 同位70率,該第二較高位元率提供較高 、因而’可將加強層看作在基礎層中編碼之視訊 、編媽精化。精化可(例如)為額外係數及/或對現有係 ' 在加強層中之精化隨著其解碼而逐漸增加視訊= Enable the destination device to select a different channel at any time for viewing with =. Because & ' is very similar to the TV viewing experience, the destination device _ user-selectable - channel to watch sports, and then select another - channel to watch the new m other scheduled broadcast program events. In general, 'each channel can be coded as—base layer and/or multiple enhancement layers. In addition, for illustrative purposes, quality adjustability (also known as signal-to-noise ratio (SNR) tunability) The technique of the present invention is described below. Then, the technology can be extended to spatial adjustability. In space-adjustability applications, the base layer carries video data at base-space resolution, and the enhancement layer carries additional video data to support higher spatial resolution. In some instances, system (7) may utilize video tunability that combines SNR, spatial and/or temporal adjustability. Source device 12 may encode source video as a base layer, e.g., according to the ITU-t h.264/MPEG 4 Part 1 〇 Avc standard SVC extension, and encode the source video as a reinforcement layer in accordance with the techniques described in this disclosure. Likewise, the techniques as described in this disclosure may be applied in some aspects to implement the video scalability extension of the device' which additionally conforms to the H.264 standard. In fact, the techniques of the present invention may represent potential modifications for future versions or extensions of the H.264 standard or other standards. However, these technologies can be used in conjunction with any of the other video compression standards, such as those defined in MPEG-1 and MPEG-2, ITU-T H.263 standard, film and television engineers. Association (SMPTE) 421M Video CODEC Standard (collectively referred to as "VC-1"), defined by the Chinese 135453.doc -14· 200934250 Audio Video Code Standard Working Group (collectively referred to as "avs. and by standard Any other video writing standard defined by the organization or developed by the organization as a proprietary standard. Destination device 14 may support wired and/or wireless reception of encoded video. Destination device 14 may include, for example, a wireless communication device capable of receiving and decoding. Any device for digital video data, such as cellular or satellite radiotelephone, wireless broadcast system, personal digital assistant (pDA), laptop computer, digital camera, digital recording device, video game device, video game Machine, digital television, digital live broadcast system, and the like, in the example of Figure 1, two destination devices 14A, 14B are shown. 10 may include any number of destination devices 14. Destination device 14 may also operate in accordance with any of the various video compression standards described above. Figure 1 illustrates destination device 14 relative to source device 12 that transmits encoded video. Positioning ^ In detail, the destination device 14A is closer to the transmission source (i.e., the source device 12 in Fig. 1), and the destination device 14B is far away from the transmission source. In the case of encoding the base layer with a lower PER, two The destination devices 4 8 and 146 can reliably receive and decode the base layer. The destination device 14A located closer to the source device 12 can also reliably receive the enhancement layer. However, the destination device 14B located away from the source device 12' It is possible, for example, that the enhancement layer cannot be reliably received due to network or channel conditions. Also 'because both the base layer data and the enhancement layer material are available, the closer destination device 14A can have higher quality video. And the destination device 14B can only present the minimum quality level provided by the base layer material. Therefore, the extra bits in the enhancement layer can be decoded and added to the base layer 135453.doc -15-200 The video obtained by the destination device 14 is adjustable in the sense of increasing the 1024250 bit stream to increase the signal-to-noise ratio (SNR) of the decoded video. However, the adjustability is only possible when the enhancement layer is present. Thus, the term "quality" as used in this invention may refer to objective and/or subjective visual quality. In other words, enhancement layer refinement results in video material being reproduced for higher quality of the original material. 'Enhanced video fidelity by enhancing layers. In other examples, network or channel conditions are sufficient for both destination devices 14A and 14B to receive the base layer and the enhancement layer. However, destination β devices 14 and (10) may have different decoder capabilities that prevent one of destination devices 14 and 14 from using the enhanced layer of overhead video data to produce higher quality video. If one of the destination devices 14 is a client device, such as a mobile handset or, for example, other small portable devices, there may be limitations due to computational complexity and memory requirements. Thus, destination device 14, which may have limited computation or memory resources, can design an adjustable video write code in a manner that only decodes the base layer. In this manner, destination device 14 with better network or channel conditions and/or higher decoder capabilities will be able to reconstruct video with higher video quality using additional video data from the enhancement layer. The techniques described in this disclosure utilize an entropy write technique that facilitates efficient code writing of enhancement layer bitstreams. The entropy coding technique of the present invention can be enabled to write, for example, additional video data in a refined form in a reinforced layer bit stream in a single coded one operation, thereby reducing write code complexity, write code delay, and memory. Body requirements. As will be described in further detail, source device 12 may, in some examples, encode the enhancement layer without knowing any subsequent coefficients (i.e., any coefficients of 135453.doc 200934250 that are currently being written by the non-zero coefficients). Each zero coefficient in the coefficient vector. Writing a code enhancement layer in a single operation eliminates the need for performing the first-time operation of the analysis coefficient vector and the second operation of writing the code coefficient vector based on the analysis. $coefficients For example - some conventional entropy encoders may perform a first-encoded-secondary operation 卩 to generate symbols for representing coefficient vectors, at least some of which represent more than one non-zero coefficient. In other words, it is necessary to know the subsequent coefficients to encode the non-zero coefficients of the vector. Additionally or alternatively, the f-entropy encoder may also select a VLC table for encoding symbols during the first or subsequent code encoding operation. In the -state, the ^^ table can be selected based on the generated symbols. Alternatively, the statistical data may be collected by analyzing the coefficient vector during the first encoding one operation, and the ¥1^(: table may be selected based on the collected statistical data. Then the second encoding is performed by a conventional entropy encoder One operation to entropy encode the coefficient vector based on the analysis performed during the first encoding one operation. As an example, some conventional entropy encoders may use selection based on generated symbols or other statistical data during the second encoding one operation. The VLC table encodes the symbols generated during the first operation. Generating symbols representing more than one non-zero coefficient and/or selecting a VLC table based on the generated symbols or other statistics may allow for more efficient coding of the coefficient vector. The technique of the present invention not only eliminates the need to use one or more encoding operations to compile the enhancement layer, but the entropy writing technique of the present invention can additionally result in writing code without storing and accessing coefficient information of the video material of the base layer. Enhance layers to further reduce computational complexity and memory requirements. Source device 12, destination device 14, or both A wireless or 135453.doc • 17-200934250 wired communication device as described above. Again, source device 12, destination device 14, or both may be implemented as an integrated circuit device (such as an integrated circuit die or wafer set), The integrated circuit device can be incorporated into a wireless or wired communication device or another type of device that supports digital video applications, such as a digital media player, a personal digital assistant (PDA), a digital television, or the like. A block diagram of source device 12 and destination device 14 of write code system 10 is described in further detail. Destination device 14 can be, for example, any of destination devices 14A or 14B of the figure. As shown in FIG. The source device 12 can include: a video source 18, a video encoder 2, and a transmitter 22. The video source 18 of the source device 12 can include a video capture device, such as a camera that has previously captured Videoconferencing of video or video feed from video content providers. As an alternative example, video source 8 can generate computer graphics based data as source video, or live video and computer generated video. In some cases, the source device 12 can be a so-called camera phone or video phone, in which case the video source 18 can be a camera. In each case, it is fetched, pre-fetched or computer generated. The video can be encoded by the video encoder 2 to be transmitted from the source device 12 to the destination device 14 via the transmitter 22 and the communication channel 16. The video encoder 20 receives video data from the video source 18 and encodes the video data into a base layer. The elementary stream and one or more enhancement layer bitstreams. In the example illustrated in Figure 2, video encoder 20 includes a base layer coder view-enhancement layer coder 32. base layer coder 3 〇 and reinforced The layer encoder, such as the video source 18, receives the shared video material. The base layer encoder encodes the video data at the first bit rate to generate the base layer of the video at the first quality level. 135453.doc 200934250 = two codecs 32 encoding Extra bits are used to generate - or multiple plus 1 force strong" " multiple enhancement layers provide the first when the video is enhanced to the second higher quality base layer when added to the base layer level, the reinforcement layer is Add to σ Xi stem, with the bit rate of 70, the second higher bit rate provides a higher, thus' may be considered as the reinforcing layer of the video coding, Ma refinement coding in the base layer. Refinement can, for example, be an additional factor and/or gradually increase the video of the existing system's refinement in the enhancement layer as it is decoded

資料之質的意義i ’在加強層中編碼之精化可為階層式 的:因而’對所有加強層之精化的解碼(例如)將導致最高 位70率及最大口口質,而僅對第一加強層之精化之解碼相對 於僅對基礎層之解碼將產生位元率及品質㈣增增加。 自視訊源18接收到之視訊資料可為一系列視訊圖框。基 礎層編碼器30及加強層編碼器32將一系列圖框分為寫碼單 元,並處理該等寫碼單元以編碼該系列視訊圖框。寫碼單 元可(例如)為整個圖框或圖框之部分(諸如,圖框之片)。 基礎層編碼器3 0及加強層編碼器3 2將每一寫碼單元分為像 素區塊(本文中稱為視訊區塊或區塊),且對個別寫碼單元 内之視訊區塊操作以便編碼視訊資料。同樣,視訊資料可 包括多個圖框’ 一圖框可包括多個片,且一片可包括多個 視訊區塊。 視訊區塊可具有固定或變化之大小,且根據特定寫碼標 準可在大小上有所不同。作為一實例’ ITU-T H.264/MPECM 部分10 AVC支援各種區塊大小之框内預測,諸如用於亮度 分量之16乘16、8乘8或4乘4,及用於色度分量之8χ8,以 135453.doc -19- 200934250 及支援各種區塊大小之框間預測,諸如用於亮度分量之16 乘16、16乘8、8乘16、8乘8、8乘4、4乘8及4乘4及用於色 度分量之相應可調節的大小。在H.264/MPEG-4部分10 AVC 中,可將通常稱為巨集區塊(MB)之每一視訊區塊再分為具 有固定或變化之大小的子區塊。亦即,寫碼單元可含有具 有相同或不同大小的子區塊。一般而言,MB及各種子區 塊可視作視訊區塊。因此,MB可視作視訊區塊,且在經 分割或次分割情況下’ MB自身可被視作界定視訊區塊集 ❿ 合。 編碼器30、32執行圖框之視訊區塊的框内寫碼及框間寫 碼。框内寫碼依靠空間預測來減少或移除給定寫碼單元 (例如’圖框或片)内之視訊資料中的空間冗餘。對於框内 寫碼而言,編碼器30、32基於與當前正被寫碼之區塊相同 之圖框内的一或多個先前編碼之區塊而形成空間預測區 塊。預測區塊可為當前正被寫碼之視訊區塊的預測型式。 ❹ 基礎層編碼器30可(例如)藉由使用當前圖框之基礎層内之 一或多個先前編碼區塊的像素值來執行内插(根據與區塊 相關聯之框内寫碼模式)而基於圖框内之一或多個先前編 碼區塊而產生預測區塊。加強層編碼器32可基於圖框内之 ‘一或多個先前編碼區塊而產生預測區塊。加強層編碼器32 可(例如)基於來自圖框内之基礎層及加強層之一或多個先 前編碼視訊區塊而產生預測區塊。舉例而言,加強層編碼 器32可使用來自以下兩者之像素值之加權和而產生預測區 塊:來自基礎層之至少一先前編碼視訊區塊及來自加強層 135453.doc •20- 200934250 之至少一先前編碼視訊區塊。 杧間寫瑪依靠時間預測來減少或移除視訊序列之相鄰圖 杧内的時間几餘。對於框間寫碼而言,編碼器3〇、執行 運動估計以追蹤寫碼單元内之兩個或兩個以上相鄰圖框之 間的密切匹配之視訊區塊的移動。在框間預測狀況下,編 碼器30、32可基於來自寫碼單元内之其他圖框之一或多個 先前編碼區塊產生時間預測區塊。編碼器3〇、32可(例如) 比較當前視訊區塊與一或多個相鄰視訊圖框中之區塊以識 另J相鄰圖框中之與當前視訊區塊最密切地匹配的區塊,例 如,一或多個相鄰圖框中之具有最小均方誤差(MSE)、平 方差和(SSD)、絕對差和(SAD)或其他差異量度的區塊。編 碼器30、32選擇相鄰圖框中之經識別區塊作為預測區塊。 基礎層編碼器30比較當前視訊區塊與基礎層之一個以上相 鄰圖框中的區塊。加強層編碼器32可比較當前視訊區塊與 基礎層及/或加強層中之一或多個相鄰圖框中的區塊。 在視訊區塊之基於框内或框間的預測之後,編碼器3〇、 3 2藉由自正被寫碼之原始視訊區塊減去所產生之預測區塊 而產生剩餘區塊。剩餘區塊因此指示預測區塊與正被寫碼 之當前區塊之間的差。編碼器30、32可應用變換、量化及 熵寫碼過程以進一步減少與剩餘區塊之通信相關聯的位元 率。可包括離散餘弦變換(DCT)、整數變換、小波變換、 方向變換或其他變換運算之變換技術將一組像素差值改變 為剩餘變換係數,該等剩餘變換係數表示像素差值在頻域 中的能量。編碼器30、32向剩餘變換係數應用量化,其通 135453.doc -21· 200934250 常涉及限制與任何給定係數相關聯之位元的數目之過程。 編碼器30、32掃描二維剩餘區塊以產生係數之一維向量, 並熵編碼係數向量以進一步壓縮剩餘係數。熵編碼可(例 如)包括可變長度寫碼(VLC)、算術寫碼、固定長度寫碼、 内容適應性VLC(CAVLC)、内容適應性二進位算術寫碼 (CABAC)及/或其他熵寫碼技術。 SNR可調節性可藉由剩餘量化來達成。詳言之,基礎層 編碼器30可使用第一量化參數(Qp)來量化剩餘變換係數, ® 且加強層編碼器32可使用第二QP來量化剩餘變換係數。在 ITU-T H_264/MPEG-10 AVC中,較大QP通常導致使用較小 數目之位元以較低品質編碼視訊資料,而較小Qp導致使用 較大數目之位元以較高品質編碼視訊資料。因而,以最小 品質等級編碼視訊資料之基礎層編碼器儿可使用大於加強 層編碼器32用以量化加強層之係數之Qp值的Qp值來量化 基礎層的係數。結果,來自基礎層編碼器3〇之經量化之剩 餘變換係數表示處於第一品質的視訊序列,且來自加強層 編碼器之經量化之剩餘變換係數表示額外係數或對視訊序 列之現有係數的精化’該等額外係數或精化在與基礎層組 合時將視訊序列之品質增加至第二較高品質。 ’編碼II 30 ' 32各自接收分別表示基礎層及加強層之經量 化之剩餘變換係數的—維係數向量。換言之,基礎層編碼 器30接收基礎層之係數向量,且加強層編瑪器32接收相應 加強層的係數向量。雖然編碼器30、32接收相同之原始視 訊資料’但係數向量可為不同的。此可係歸因於產生不同 135453.doc -22- 200934250 預測區塊之基礎層編碼器30及加強層編瑪器32,例如,基 礎層編碼器30自一或多個先前編竭之基礎層區塊產生預測 區塊,且加強層編碼器32自-或多個先前編碼之基礎層區 塊及加強層區塊產生預測區塊。 基礎層編碼器30及加強層編瑪器32各自編碼各別係數向 i以分別產生基礎層位元流及至少—加強層位元流。根據 本發月之技術’基礎層編碼器3Q及加強層編碼器32使用不 同寫碼技術編碼各別係數向量。基礎層編碼器3〇可使用多 ❿ ㈣編碼—次操作過程來編碼係數向量,在該等多個編碼— 次操作中,基礎層編碼器30在至少一編瑪_次操作期間分 析係數向量,且基於該分析在至少—後續編碼一次操作期 間編碼係數向量。在一例子中,基礎層編碼器3〇可根據如 在H.264/MPEG-4部分10 AVC標準中界定之cavlc來編碼 基礎層係數向量之經量化的剩餘變換係數。如在 H.264/MPEG-4部分10 AVC標準中界定之cAvLc可使用多 •個編碼一次操作來編碼基礎層係數向量。 在第一編碼一次操作期間,基礎層編碼器30可產生用以 表示係數向量之符號,該等符號中之至少一些表示一個以 上非零係數,且在一些狀況下表示係數向量之全部係數。 基礎層編碼器30可(例如)根據如在H 264/MpEG 4部分1〇 AVC標準中界定之⑽似生符號,該等符號表示係數向 量中之係數的總數("Totalc〇effs")、係數向量中之尾隨的] 的數目(”Tls”)、任何尾隨的1之正負號、除尾隨的1外之非 零係數的量值(或位準)、所有運程之和("sumRuns”)及每一 135453.doc -23· 200934250 非零係數之前的運程。為了產生符號中之一些,諸如, TotalCoeff及sumRuns,基礎層編碼器30可分析整個係數向 量。 在第一編碼一次操作期間,基礎層編碼器3 0亦可基於對 係數向量之分析選擇VLC表以在後續編碼一次操作期間使 . 用。在一些例子中,基礎層編碼器30可基於在第一寫碼一 次操作期間產生之符號選擇VLC表以在後續(例如,第二) 編碼一次操作期間使用。舉例而言,基礎層編碼器3〇可基 ® 於區塊中之係數之總數(TotalCoeffs)選擇VLC表以在編碼 sumRuns符號時使用,因為在此等兩個值之間存在某一關 係。詳言之’隨著TotalCoeffs增加,sumRuns降低,且隨 著TotalCoeffs降低,sumRuns增加。又,基於區塊中之係 數之總數(TotalCoeffs)選擇VLC表以在編碼sumRuns符號時 使用可允許基礎層編碼器30選擇更有效地編瑪sumRuns的 VLC表。可針對待編碼之其他符號或使用其他所收集之統 計數據來執行類似VLC表選擇。 〇 基礎層編碼器3 0在第二或其他後續編碼一次操作期間編 碼表示係數向量中之非零係數之總數的符號(T〇talC〇eff)及 表示尾隨的1之數目的符號(稱為Tls)。尾隨的1之數目為具 有為1之量值之係數的數目,在以倒序(亦即,自係數向量 之末端開始)讀取係數向量時,該等係數在具有大於1之量 值之係數出現之前出現在係數向量中。基礎層編碼器3〇可 基於非零係數之預測數目來選擇VLC表以在編碼 TotalCoeff及T1符號中使用’且使用所選擇之vLC表來編 135453.doc -24- 200934250 碼TotalCoeff及T1符號。基於非零係數之預測數目來選擇 VLC表以在編碼TotalCoeff及Τ1符號中使用可允許基礎層 編碼器30選擇更有效地編碼TotalCoeff及T1符號的VLC 表。因而’不同VLC表對於非零係數之不同預測數目可為 更有效的。在一實例中’基礎層編碼器3〇可基於一或多個 先前編碼之視訊區塊(例如,上部鄰近視訊區塊及左側鄰 近視訊區塊)之非零係數的數目預測當前區塊中之非零係 數的數目。 〇 基礎層編碼器可編碼任何尾隨的1的正負號。舉例而 言’對於尾隨的1中之每一者而言,基礎層編碼器3〇可編 碼"1"(若尾隨的1之正負號為正),且編碼"〇”(若尾隨的1之 正負號為負)。因而,基礎層編碼器30可能不需要針對正 負號而執行VL C表選擇。基礎層編碼器3〇可編碼除尾隨的 1外之非零係數的量值。基礎層編碼器3〇可使用vlc表、 固定長度寫碼或其他類型燜寫碼來編碼非零係數的位準。 舉例而言,基礎層編碼器30可使用二進位寫碼來編碼非零 ’ 係數的位準。 基礎層編碼器30可編碼表示在最後非零係數之前在係數 向量中發生的零值係數之數目的符號(sumRuns)。如上所 述,基礎層編碼器30可基於區塊中之係數之總數 (TotalCoeffs)選擇VLC表以在編碼sumRuns符號時使用,因 為在此等兩個值之間存在某一關係。 基礎層編碼器3 0可編碼自係數向量之最後非零係數開始 在每一非零係數之前發生的運程(或運程長度)。運程長度 135453.doc •25· 200934250 為非零係數之前的零值係數之數目。因此,基礎層編碼器 30可首先編碼係數向量之最後非零係數之前的運程長度 (亦即’零值係數之數目),繼之以前一非零係數之前的運 程長度等,直至編碼係數向量之第一非零係數之前的運程 長度為止。 基礎層編碼器30可選擇VLC表以用來單獨地編碼運程長 度中的每一者。基礎層編碼器3〇可基於運程之和The meaning of the quality of the data i 'the refinement of the coding in the enhancement layer can be hierarchical: thus the decoding of the refinement of all enhancement layers (for example) will result in the highest 70 rate and the highest mouth quality, but only The decoding of the refinement of the first enhancement layer will increase the bit rate and quality (4) relative to the decoding of only the base layer. The video data received from the video source 18 can be a series of video frames. The base layer encoder 30 and the enhancement layer encoder 32 divide the series of frames into write code units and process the write code units to encode the series of video frames. The codec unit can be, for example, an entire frame or a portion of a frame (such as a slice of a frame). The base layer encoder 30 and the enhancement layer encoder 3 2 divide each code writing unit into pixel blocks (referred to herein as video blocks or blocks) and operate on the video blocks in the individual code writing units so that Encode video data. Similarly, video material can include multiple frames. A frame can include multiple slices, and a slice can include multiple video blocks. The video blocks can be of fixed or varying size and can vary in size depending on the particular code standard. As an example 'ITU-T H.264/MPECM Part 10 AVC supports intra-frame prediction of various block sizes, such as 16 by 16, 8 by 8 or 4 by 4 for luminance components, and for chrominance components 8χ8, to 135453.doc -19- 200934250 and support inter-frame prediction of various block sizes, such as 16 times 16, 16 times 8, 8 times 16, 8 times 8, 8 times 4, 4 times 8 for the luminance component And 4 by 4 and the corresponding adjustable size for the chroma component. In H.264/MPEG-4 Part 10 AVC, each video block, commonly referred to as a macroblock (MB), can be subdivided into sub-blocks of fixed or varying size. That is, the code writing unit may contain sub-blocks having the same or different sizes. In general, MB and various sub-blocks can be considered as video blocks. Thus, the MB can be considered a video block, and the MB itself can be considered to define a video block set combination in the case of split or sub-segmentation. The encoders 30, 32 perform the in-frame writing and inter-frame writing of the video blocks of the frame. In-frame coding relies on spatial prediction to reduce or remove spatial redundancy in video material within a given code unit (e.g., 'frame or slice'). For in-frame coding, the encoders 30, 32 form spatial prediction blocks based on one or more previously encoded blocks within the same block as the block currently being coded. The prediction block can be a prediction pattern of the video block currently being coded. ❹ Base layer encoder 30 may perform interpolation (eg, according to the intra-frame write mode associated with the block) by using pixel values of one or more previously encoded blocks within the base layer of the current frame, for example. The prediction block is generated based on one or more previously encoded blocks within the frame. The enhancement layer encoder 32 may generate prediction blocks based on one or more previously encoded blocks within the frame. The enhancement layer encoder 32 may generate prediction blocks based, for example, on one or more previously encoded video blocks from the base layer and the enhancement layer within the frame. For example, enhancement layer encoder 32 may generate a prediction block using a weighted sum of pixel values from at least one previously encoded video block from the base layer and from the enhancement layer 135453.doc •20-200934250 At least one previously encoded video block. Daytime writes rely on time prediction to reduce or remove the time in the adjacent map of the video sequence. For inter-frame writing, the encoder performs motion estimation to track the movement of closely matched video blocks between two or more adjacent frames within the code unit. In the inter-frame prediction condition, the encoders 30, 32 may generate temporal prediction blocks based on one or more of the other coding blocks from within the code coding unit. The encoders 3, 32 may, for example, compare the current video block with the block of one or more adjacent video frames to identify the area of the adjacent frame that most closely matches the current video block. A block, for example, a block having a minimum mean square error (MSE), a squared difference sum (SSD), an absolute difference sum (SAD), or other difference measure in one or more adjacent frames. The encoders 30, 32 select the identified blocks in the adjacent frames as prediction blocks. The base layer encoder 30 compares the blocks of the current video block to the one or more adjacent frames of the base layer. The enhancement layer encoder 32 may compare the blocks of the current video block to one or more adjacent frames in the base layer and/or the enhancement layer. After the intra-frame or inter-frame prediction of the video block, the encoder 3, 32 generates the remaining block by subtracting the generated prediction block from the original video block being coded. The remaining block thus indicates the difference between the predicted block and the current block being coded. The encoders 30, 32 may apply transform, quantization, and entropy write procedures to further reduce the bit rate associated with communication of the remaining blocks. A transform technique that may include discrete cosine transform (DCT), integer transform, wavelet transform, direction transform, or other transform operation changes a set of pixel differences to residual transform coefficients, which represent pixel difference values in the frequency domain energy. The encoders 30, 32 apply quantization to the residual transform coefficients, which 135 453.doc - 21 · 200934250 often involves the process of limiting the number of bits associated with any given coefficient. The encoders 30, 32 scan the two-dimensional residual block to produce a one-dimensional vector of coefficients, and entropy encode the coefficient vector to further compress the remaining coefficients. Entropy coding may, for example, include variable length write code (VLC), arithmetic write code, fixed length write code, content adaptive VLC (CAVLC), content adaptive binary arithmetic write code (CABAC), and/or other entropy writes. Code technology. SNR adjustability can be achieved by residual quantization. In particular, base layer encoder 30 may quantize the remaining transform coefficients using a first quantization parameter (Qp), and enhancement layer encoder 32 may quantize the remaining transform coefficients using the second QP. In ITU-T H_264/MPEG-10 AVC, larger QPs typically result in the use of a smaller number of bits to encode video data at a lower quality, while smaller Qp results in a higher quality coded video with a larger number of bits. data. Thus, the base layer encoder encoding the video material with the minimum quality level can quantize the coefficients of the base layer using a Qp value greater than the Qp value used by the enhancement layer encoder 32 to quantize the coefficients of the enhancement layer. As a result, the quantized residual transform coefficients from the base layer encoder 3 represent the video sequence at the first quality, and the quantized residual transform coefficients from the enhancement layer encoder represent additional coefficients or fine coefficients of the existing coefficients of the video sequence. The additional coefficients or refinements increase the quality of the video sequence to a second, higher quality when combined with the base layer. The 'codes II 30' 32 each receive a -dimensional coefficient vector representing the quantized residual transform coefficients of the base layer and the enhancement layer, respectively. In other words, the base layer encoder 30 receives the coefficient vector of the base layer, and the enhancement layer coder 32 receives the coefficient vector of the corresponding enhancement layer. Although the encoders 30, 32 receive the same original video material ', the coefficient vectors can be different. This may be due to the base layer encoder 30 and the enhancement layer coder 32 that produce different 135453.doc -22-200934250 prediction blocks, for example, the base layer encoder 30 from one or more previously compiled base layers The block generates a prediction block, and the enhancement layer encoder 32 generates a prediction block from - or a plurality of previously encoded base layer blocks and enhancement layer blocks. The base layer encoder 30 and the enhancement layer coder 32 each encode respective coefficient coefficients i to respectively generate a base layer bit stream and at least a enhancement layer bit stream. The base layer encoder 3Q and the enhancement layer encoder 32 encode different coefficient vectors using different write code techniques according to the technique of the present month. The base layer encoder 3 may encode a coefficient vector using a plurality of (four) encoding-secondary operations, in which the base layer encoder 30 analyzes the coefficient vector during at least one of the marsh-time operations, And based on the analysis, the coefficient vector is encoded during at least one subsequent encoding operation. In an example, the base layer encoder 3 may encode the quantized residual transform coefficients of the base layer coefficient vector according to cavlc as defined in the H.264/MPEG-4 Part 10 AVC standard. The cAvLc as defined in the H.264/MPEG-4 Part 10 AVC standard can encode the base layer coefficient vector using a plurality of coding one operations. During a first coded one operation, base layer encoder 30 may generate symbols to represent coefficient vectors, at least some of which represent more than one non-zero coefficient, and in some cases, all coefficients of the coefficient vector. Base layer encoder 30 may, for example, be based on (10) symbiotic symbols as defined in the H 264/MpEG 4 Part 1 AVC Standard, which represent the total number of coefficients in the coefficient vector ("Totalc〇effs"), The number of trailing ] in the coefficient vector ("Tls"), the sign of any trailing 1 sign, the magnitude (or level) of the non-zero coefficient except the trailing 1 , and the sum of all the moves ("sumRuns" And each of the 135453.doc -23· 200934250 non-zero coefficients. In order to generate some of the symbols, such as TotalCoeff and sumRuns, the base layer encoder 30 can analyze the entire coefficient vector. During the first encoding operation, The base layer encoder 30 may also select a VLC table based on analysis of the coefficient vector for use during subsequent encoding operations. In some examples, the base layer encoder 30 may generate based on one operation during the first write code. The symbol selects the VLC table for use during a subsequent (eg, second) encoding operation. For example, the base layer encoder 3 selects the VLC table for the total number of coefficients (TotalCoeffs) in the block. Used when encoding the sumRuns symbol, because there is a relationship between these two values. In detail 'As TotalCoeffs increases, sumRuns decreases, and as TotalCoeffs decreases, sumRuns increases. Again, based on the block The total number of coefficients (TotalCoeffs) selects the VLC table to use the allowable base layer encoder 30 to select the VLC table that more efficiently encodes the sumRuns when encoding the sumRuns symbol. It can be used for other symbols to be encoded or using other collected statistics. Performing a similar VLC table selection. The base layer encoder 30 encodes a symbol (T〇talC〇eff) representing the total number of non-zero coefficients in the coefficient vector and a number indicating the trailing 1 during the second or other subsequent encoding operation. Symbol (called Tls). The number of trailing 1 is the number of coefficients having a magnitude of 1, and when the coefficient vector is read in reverse order (ie, starting from the end of the coefficient vector), the coefficients have A coefficient greater than 1 occurs before the occurrence of a coefficient vector. The base layer encoder 3 选择 can select a VLC table based on the predicted number of non-zero coefficients to encode TotalCo Use the 'eff and T1 symbols' and use the selected vLC table to compose the 135453.doc -24-200934250 code TotalCoeff and T1 symbols. Select the VLC table based on the predicted number of non-zero coefficients to use in the coded TotalCoeff and Τ1 symbols. The base layer encoder 30 is allowed to select a VLC table that more efficiently encodes the TotalCoeff and T1 symbols. Thus 'different VLC tables can be more efficient for different predicted numbers of non-zero coefficients. In an example, the base layer encoder 3 may predict the current block based on the number of non-zero coefficients of one or more previously encoded video blocks (eg, upper adjacent video blocks and left adjacent video blocks) The number of non-zero coefficients. 〇 The base layer encoder can encode any trailing 1 sign. For example, for each of the trailing 1s, the base layer encoder 3〇 can encode "1" (if the trailing 1 sign is positive), and encode "〇" (if trailing The sign of 1 is negative. Thus, the base layer encoder 30 may not need to perform VL C table selection for the sign. The base layer encoder 3 〇 can encode the magnitude of the non-zero coefficient other than the trailing one. The layer encoder 3 may encode a level of non-zero coefficients using a vlc table, a fixed length write code, or other type of write code. For example, the base layer encoder 30 may encode a non-zero 'coefficient using a binary write code. The base layer encoder 30 may encode symbols (sumRuns) representing the number of zero-valued coefficients occurring in the coefficient vector before the last non-zero coefficient. As described above, the base layer encoder 30 may be based on the block. The total number of coefficients (TotalCoeffs) selects the VLC table to use when encoding the sumRuns symbol because there is a relationship between these two values. The base layer encoder 30 can encode the last non-zero coefficient from the coefficient vector starting at each Before a non-zero coefficient The lifetime (or length of the run). The length of the run length 135453.doc •25· 200934250 is the number of zero-valued coefficients before the non-zero coefficient. Therefore, the base layer encoder 30 can first encode the fortune before the last non-zero coefficient of the coefficient vector. The length (i.e., the number of 'zero value coefficients'), followed by the length of the run length before the previous non-zero coefficient, etc., up to the length of the run length before the first non-zero coefficient of the coding coefficient vector. The base layer encoder 30 can select the VLC table. Used to separately encode each of the lengths of the journey. The base layer encoder 3〇 can be based on the sum of the tolls

(SUmRuns)符號及迄今為止經寫碼之運程之和來選擇VLc 表以用來編碼當前運程值。作為一實例,若係數向量具有 為八之運程和(SumRuns),且在編碼之最後非零係數之前 編碼的運程為六,則所有殘餘運程必須為零、一或二。因 為可能之運程長度隨著每一額外運程經編碼而逐漸變短, 所以基礎層編碼器30可選擇更有效之VLC表以減少用以表 示運程的位元之數目。 以此方式,|礎層編碼器3〇執❹一次操作編瑪以編碼 基礎層係數’該多一次操作編碼包括一分析基礎層剩餘區 塊,係數向量(例如)以產生符號及/或選擇vlc表的第一— 次操作及-基於分析編碼係數向量的第二編碼—次操作。 雖然基礎層編碼器30上文中被描述為使用如在 H.264/MPEG_,分! Q AVC標準中界定之⑽“編碼經量 化之剩餘變換係數,但臬虑展 、 礎層編碼器30可使用其他寫碼方 法來編碼經量化的剩餘變換係數。 加強層編碼器32編碼可呈係數向量形式之加強層的經量 化剩餘變換係^加強層編碼㈣可產生不同於基礎層之 135453.doc -26 - 200934250 經量化剩餘係數的經量化剩餘係數。加強層之經量化剩餘 係數歸因於在量化期間使用不同QP而可不同於基礎層的經 量化剩餘係數。另外,經量化之剩餘變換係數可不同於基 礎層之經量化剩餘變換係數,此係因為剩餘區塊表示原始 視訊區塊與使用形成基礎層及加強層之先前編碼區塊產生 的預測區塊之間的差。基礎層之剩餘區塊為原始視訊區塊 與使用僅來自基礎層之先前編碼區塊產生之預測區塊之間 的差。因而,加強層可包括額外係數及/或對現有係數的 & 精化。在此意義上,加強層中之視訊區塊之經量化剩餘變 換係數表示對基礎層中之以第一品質編碼的視訊區塊之精 化,且在添加至基礎層時提供較高品質視訊資料。The (SFmRuns) symbol and the sum of the coded hits to date select the VLc table to encode the current run value. As an example, if the coefficient vector has a runsum of (SumRuns) and the run length encoded before the last non-zero coefficient of the code is six, then all residual runs must be zero, one or two. Since the length of the possible path is gradually shortened as each additional process is encoded, the base layer encoder 30 can select a more efficient VLC table to reduce the number of bits used to represent the fortune. In this way, the base layer encoder 3 performs an operation to encode the base layer coefficients 'the one-time operation code includes an analysis base layer remaining block, the coefficient vector (for example) to generate symbols and/or select vlc The first-time operation of the table and the second code-based operation based on analyzing the coding coefficient vector. Although the base layer encoder 30 is described above as being used as in H.264/MPEG_, points! (10) defined in the Q AVC standard "codes the quantized residual transform coefficients, but the base layer encoder 30 may encode the quantized residual transform coefficients using other write coding methods. The enhancement layer encoder 32 encodes the formable coefficients. The quantized residual transform of the enhancement layer of the vector form, the enhancement layer coding (4), may produce a quantized residual coefficient of the quantized residual coefficients of the 135453.doc -26 - 200934250 different from the base layer. The quantized residual coefficient of the enhancement layer is attributed to The different QPs may be used during quantization and may be different from the quantized residual coefficients of the base layer. In addition, the quantized residual transform coefficients may be different from the quantized residual transform coefficients of the base layer, since the remaining blocks represent the original video blocks and The difference between the prediction blocks generated by the previous coding blocks forming the base layer and the enhancement layer. The remaining blocks of the base layer are the original video block and the prediction block generated using the previously coded block only from the base layer. The difference between the layers can thus include additional coefficients and/or & refinement of existing coefficients. In this sense, the video in the enhancement layer The quantized residual transform coefficients of the block represent the refinement of the video blocks encoded with the first quality in the base layer and provide higher quality video material when added to the base layer.

加強層編碼器32視可用位元率而定在編碼期間可丟棄係 數向量之經量化剩餘係數中的一或多者。舉例而言,在如 圖3中所說明使用z字形掃描完成係數掃描時,加強層編瑪 器32可丟棄對應於高頻率變換基礎函數的係數,例如,位 _ 靠近係數向量之末端的係數。根據如在H 部分10 AVC標準中界定之CAVLC編碼經量化剩餘係數可 能不允許加強層編碼器32丢棄係數,&係因為待編碼之符 〇中之至'某些(例如,T〇talC〇effs& sumRuns)涉及區塊 中的所有係數。若加強層編碼器32丟棄係數向量之係數中 的-或多者,則接收到之資訊將為冗餘的,因此導致較低 寫碼效率。此外,因為解碼器必須接收區塊中之所有非零 係數的運程以在使用如在H 264/MpEG 4部分1〇 AVC標準 中界定之CAVLC進行編碼時能夠在z字形掃描中適當地解 135453.doc -27· 200934250 碼每一係數的位置,所以加強層編碼器32可能不能丢棄來 自加強層之係數向量的係數。 因而,加強層編碼器32根據本發明之寫碼技術來編碼加 強層之係數。加強層編碼器32在單一編碼一次操作中編碼 係數向量之經量化剩餘變換係數。換言之,加強層編碼器 32並不執行用以分析係數向量之第--次操作,且並不接 著基於分析在第二一次操作期間編碼符號。實情為,加強 層編碼器32自係數向量之開始起始,且在單一編碼一次操 作中逐一地編碼非零係數中的每一者β以此方式,加強層 編碼器32可在不分析係數向量中之任何後續係數的情況下 (亦即,在不知曉係數向量之任何後續係數的情況下)編碼 非零係數中的每一者。The enhancement layer encoder 32 may discard one or more of the quantized residual coefficients of the coefficient vector during encoding, depending on the available bit rate. For example, when zigzag scanning is used to complete the coefficient scan as illustrated in Figure 3, enhancement layer coder 32 may discard coefficients corresponding to the high frequency transform basis function, e.g., bits _ near the end of the coefficient vector. The quantized residual coefficients according to the CAVLC encoding as defined in the H-Part 10 AVC standard may not allow the enhancement layer encoder 32 to discard the coefficients, & because the symbols to be encoded are in the 'some' (for example, T〇talC 〇effs& sumRuns) refers to all the coefficients in the block. If the enhancement layer encoder 32 discards - or more of the coefficients of the coefficient vector, the received information will be redundant, thus resulting in lower code efficiency. In addition, because the decoder must receive the progression of all non-zero coefficients in the block to be able to properly solve 135453 in zigzag scanning when encoding using CAVLC as defined in the H 264/MpEG 4 Part 1 AVC Standard. Doc -27· 200934250 The position of each coefficient, so the enhancement layer encoder 32 may not be able to discard the coefficients of the coefficient vector from the enhancement layer. Thus, enhancement layer encoder 32 encodes the coefficients of the enhancement layer in accordance with the write code technique of the present invention. The enhancement layer encoder 32 encodes the quantized residual transform coefficients of the coefficient vector in a single coded one operation. In other words, enhancement layer encoder 32 does not perform the first-time operation to analyze the coefficient vector, and does not subsequently encode the symbol during the second operation based on the analysis. The fact is that the enhancement layer encoder 32 starts from the beginning of the coefficient vector and encodes each of the non-zero coefficients one by one in a single encoding operation. In this way, the enhancement layer encoder 32 can analyze the coefficient vector without In the case of any subsequent coefficients (i.e., without knowing any subsequent coefficients of the coefficient vector) each of the non-zero coefficients is encoded.

在一態樣中,加強層編碼器32對於非零係數中之每一者 而言可編碼一指示在係數向量中存在至少一殘餘非零係數 的符號》符號可(例如)為區塊結束(Ε0Β)符號。加強層編 碼器32可使用單一位元來編碼符號。舉例而言,加強層蝙 碼器32在存在至少一殘餘非零係數(例如, 土 >虽則非零 係數)時可編碼零,且在不再存在殘餘非零係數時可編碼 在每一係數之ΕΟΒ符號之後,加強層編碼器32編碼當前 非零係數之前的運程。如上所述,運程表示在係數向量⑴ 先前非零係數或係數向量之開始(在第一非零係數的狀 下)與當前非零係數之間發生之零值係數的數 ' 双曰。加強層 編碼器32可使用單一 vlc表來編碼運程。在一你 % 例子中,在 135453.doc -28- 200934250In one aspect, enhancement layer encoder 32 may encode, for each of the non-zero coefficients, a symbol indicating that there is at least one residual non-zero coefficient in the coefficient vector. The symbol may, for example, be the end of the block ( Ε0Β) symbol. The enhancement layer encoder 32 can encode symbols using a single bit. For example, enhancement layer tarcoder 32 may encode zeros in the presence of at least one residual non-zero coefficient (eg, soil > although non-zero coefficients), and may encode each in the absence of residual non-zero coefficients After the ΕΟΒ symbol of the coefficient, the enhancement layer encoder 32 encodes the run before the current non-zero coefficient. As described above, the motion represents the number of zero-valued coefficients occurring between the beginning of the coefficient vector (1) of the previous non-zero coefficient or coefficient vector (in the case of the first non-zero coefficient) and the current non-zero coefficient. The enhancement layer encoder 32 can encode the run using a single vlc table. In one of your % examples, at 135453.doc -28- 200934250

TotalCoeffs等於一時,加強層編碼器32可使用在如 H-264/MPEG-4部分10 AVC標準中界定之CAVLC中使用之 VLC表來編碼運程以寫碼sumRuns。換言之,加強層編碼 器32可重新使用已由視訊編碼器2〇維持之vLC表中的一 者。在其他例子中,加強層編碼器32可使用已由視訊編碼 器20維持之其他VLC表中的一者來編碼運程。或者,加強 層編碼器32可維持一經特定地設計以編碼加強層之係數向 量之運程的單獨VLC表《在任一狀況下,加強層編碼器32 ® 可能不需要適應性地選擇VLC表以用於編碼運程。實情 為’加強層編碼器32可使用單一 VLC表,因此消除對一收 集用以選擇VLC表之統計數據之第——次操作的需要。 在每一係數之經編碼運程之後,加強層編碼器32編碼非 零係數的正負號。加強層編碼器32可(例如)編碼”丨"(若非 零係數之正負號為正),且編碼"〇"(若非零係數之正負號為 負)。加強層編碼器32可藉由將非零係數之量值設定為一 隊巾調整非零係數的量值。在—些例子中,加強層編碼㈣ 可能不編瑪非零係數的量值。以此方式,加強層編瑪器32 可將非零係數之量值限制為一。目的地設備14接著經組態 以解碼在精化中識別之所有非零係數以具有等於一的量 值不編碼加強層之係數之量值可導致峰值訊雜比(pSNR) 之某一損耗,但減少用以編碼係數之位元的數目。 以此方式,加強層編碼器32可(例如)在不知曉係數向量 中之任何後續係數的情況下在單一一次操作中編碼加強層 位元流的係數。由於加強層編碼器32並不需要分析係數向 135453,doc -29- 200934250 量(例如)以產生表示向量之一個以上非零係數的符號或選 擇VLC表以編碼符號,所以僅執行一編碼一次操作。習知 編碼器通常執行至少兩個一次操作;(1)分析係數向量之第 次操作’及(2)基於分析編碼係數向量的第二一次操 作。另外,加強層編碼器32可使用單一 VLC表編碼加強層 之係數’因此消除執行一用以形成用於適應性地選擇寫碼 表之符號的編碼一次操作之需要。以此方式,加強層編碼 器32可減少寫碼複雜性、寫碼延遲及記憶體要求。此外, ® 本發明之燜寫碼技術可另外導致在不儲存並存取基礎層之 係數資訊的情況下寫碼加強層之係數,從而進一步減少計 算複雜性及記憶體要求。 源設備12經由傳輸器22向目的地設備14傳輸經編碼之視 訊資料。目的地設備14可包括接收器24、視訊解碼器26及 顯示設備28。接收器24經由頻道16自源設㈣接收經編碼 之視訊位元流。如上所述,經編碼之視訊位元流包括一基 冑層位元流及-或多個加強層位元流。視訊解碼器%解碼 基礎層及(若可用)一或多個加強層以獲得視訊資料。 詳言之,視訊解碼器26包括—基礎層解碼器34及一加強 層解碼器36。基礎層解碼器34解碼經由頻道16接收到之基 礎層位元流以產生處於第一品質之視訊資料以供呈現於顯 示設備28上。加強層解碍器36解碼一或多個加強層之位元 流以獲得額外視訊資料(例如,精化),該額外視訊資料將 經解碼之視訊資料之品質增加至第二較高品質。又,藉由 目的地設備14接收到之加強層之數目(例如,—、二、' 135453.doc -30· 200934250 或三以上)可視頻道條件或其他限制而定。此外,藉由加 強層解碼器36處理之接收到之加強層的數目可視解碼器限 制而定般而言’與所選擇數目之加強層結合的基礎層 之編碼及解碼准許經解碼視訊之SNR品質的增量改良。When TotalCoeffs is equal to one, the enhancement layer encoder 32 can encode the run to write the code sumRuns using the VLC table used in the CAVLC as defined in the H-264/MPEG-4 Part 10 AVC standard. In other words, the enhancement layer encoder 32 can reuse one of the vLC tables that have been maintained by the video encoder 2〇. In other examples, enhancement layer encoder 32 may encode the motion using one of the other VLC tables that have been maintained by video encoder 20. Alternatively, enhancement layer encoder 32 may maintain a separate VLC table that is specifically designed to encode the coefficient vector of the enhancement layer. In either case, enhancement layer encoder 32 ® may not need to adaptively select a VLC table for use in Coding the journey. The fact is that the enhancement layer encoder 32 can use a single VLC table, thus eliminating the need for a first-order operation to collect statistics for selecting VLC tables. The enhancement layer encoder 32 encodes the sign of the non-zero coefficient after the encoded run of each coefficient. The enhancement layer encoder 32 may, for example, encode "丨" (if the sign of the non-zero coefficient is positive), and encode "〇" (if the sign of the non-zero coefficient is negative). The enhancement layer encoder 32 may borrow The value of the non-zero coefficient is set to a team towel to adjust the magnitude of the non-zero coefficient. In some examples, the enhancement layer coding (4) may not encode the magnitude of the non-zero coefficient. In this way, the enhancement layer is programmed. The value of the non-zero coefficient can be limited to one. The destination device 14 is then configured to decode all of the non-zero coefficients identified in the refinement to have a magnitude equal to one that does not encode the coefficients of the enhancement layer. This can result in some loss of peak-to-noise ratio (pSNR), but reduces the number of bits used to encode the coefficients. In this manner, enhancement layer encoder 32 can, for example, be unaware of any subsequent coefficients in the coefficient vector. The coefficients of the enhancement layer bitstream are encoded in a single operation. Since the enhancement layer encoder 32 does not need to analyze the coefficients to 135453, doc-29-200934250 quantities, for example, to produce one or more non-zero coefficients representing the vector. Symbol or choice V The LC table encodes symbols, so only one encoding operation is performed. Conventional encoders typically perform at least two one-time operations; (1) analyze the first operation of the coefficient vector' and (2) the second one based on analyzing the coding coefficient vector In addition, the enhancement layer encoder 32 may encode the coefficients of the enhancement layer using a single VLC table' thus eliminating the need to perform an encoding one operation for forming symbols for adaptively selecting the codebook table. The enhancement layer encoder 32 can reduce write code complexity, write code delay, and memory requirements. In addition, the write code technique of the present invention can additionally result in code enhancement without storing and accessing coefficient information of the base layer. The coefficients of the layers further reduce computational complexity and memory requirements. The source device 12 transmits the encoded video material to the destination device 14 via the transmitter 22. The destination device 14 can include the receiver 24, the video decoder 26, and the display. Apparatus 28. Receiver 24 receives the encoded video bitstream from source (4) via channel 16. As described above, the encoded video bitstream includes a base layer A bit stream and/or a plurality of enhancement layer bit streams. The video decoder % decodes the base layer and (if available) one or more enhancement layers to obtain video data. In particular, the video decoder 26 includes - base layer decoding 34 and an enhancement layer decoder 36. The base layer decoder 34 decodes the base layer bitstream received via channel 16 to produce video material of the first quality for presentation on display device 28. Enhancement layer deblocker Decoding a bitstream of one or more enhancement layers to obtain additional video material (eg, refinement) that increases the quality of the decoded video material to a second, higher quality. The number of enhancement layers received by device 14 (e.g., -, two, '135453.doc -30. 200934250 or more) depends on visual channel conditions or other restrictions. Moreover, the number of enhancement layers received by the enhancement layer decoder 36 can be determined by the decoder limitations. The encoding and decoding of the base layer combined with the selected number of enhancement layers permits the SNR quality of the decoded video. Incremental improvements.

基礎層解碼器34解碼基礎層以獲得表示基礎層之經量化 剩餘係數之向量的符號。基礎層解碼器34可解碼基礎層以 獲得區塊中之非零係數的總數、區塊之尾隨的1的數目、 尾隨的1之正負號、除尾隨的1外之係數的量值、所有運程 β 之和及非零係數中之每一者之前的運程。基礎層解碼器W 可進一步解碼基礎層位元流以識別用於解碼基礎層符號的 VLC表。在其他例子中,基礎層解碼器34可基於先前解碼 之符號而選擇VLC表以供使用。使用經解碼之符號,基礎 層解碼器34可重建基礎層的係數向量。 加強層解碼器36解碼加強層之位元流以獲得(例如)呈額 外剩餘係數之向量或對現有剩餘係數之精化形式的加強層 驗 之精化。詳言之,加強層解碼器36使用與藉由加強層編碼 器32使用之VLC表相同的VLC表解碼加強層係數之運程及 正負號,直至EOB符號指示不再殘餘非零係數為止。使用 經解碼之符號,加強層解碼器36重建加強層區塊的係數向 量。 解碼器34、36使用經解碼之經量化剩餘係數重建經寫碼 單元之區塊中的每一者。在產生係數向量之後,解碼器 34、36反向掃描係數向量以產生經量化剩餘係數之二維區 塊。解碼器34、36逆量化(亦即,解量化)經量化剩餘係數 135453.doc 200934250 且向經解量化之剩餘係數應用逆變換(例如,逆DCT、逆 整數變換、逆小波變換或逆方向變換)以產生像素值的剩 餘區塊。 解碼器34、36對藉由解瑪器34、36產生之預測區塊與像 素值之剩餘區塊求和,以分別形成經重建之基礎層視訊區 塊及加強層視訊區塊。基礎層視訊區塊及加強層視訊區塊 經組合以形成具有較高解析度的視訊區塊。解碼器34、36 以與如上文關於編碼器30、32描述之方式相同的方式產生 © 預測區塊。目的地設備14可經由顯示設備2 8將重建之視訊 區塊顯示給使用者。顯示設備28可包含各種顯示設備中之 任一者,諸如,陰極射線管(CRT)、液晶顯示器(LCD)、電 漿顯示器、發光二極體(LED)顯示器、有機LED顯示器或 另一類型顯示單元。 在一些例子中’視訊編碼器20及視訊解碼器26經組態以 提供可經任意截斷的可調節加強位元流。因此,系統丨〇可 避免使用必須整體進行寫碼之離散加強層以便達成可調節 9 性。然而,在一些實施例中,系統10可經組態以(例如)在 選擇性基礎上使用廣義精細粒度可調節性(FGS)方法或離 散加強層來支援可調節性。 源設備12及目的地設備14可以大體上對稱之方式來操 作。舉例而言’源設備12及目的地設備14可各自包括視訊 編碼及解碼組件。因此,系統1〇可支援設備12、14之間的 (例如)用於視訊串流、視訊廣播或視訊電話之單向或雙向 視訊傳輸。 135453.doc -32- 200934250 在-些態樣中’對於視訊廣播而言,本發明中所描述之 技術可應用於經加強之H.264視訊寫碼以用於在使用僅前 向鏈路(FLO)空中介面規範,,用於地面行動多媒體多播之僅 前向鏈路空中介面規範,,(作為技術標準tia_i〇99("fl〇規 範")在2007年7月發表)之地面行動多媒體多播(tm3)系統 中遞送即時視訊服務。亦即,通信頻道16可包含用以根據 FLO規範或其類似者而廣播無線視訊資訊之無線資訊頻 道。FLO規範包括界定位元流語法及語義以及適於几〇空 ❹ 中介面之解碼過程的實例。 或者,可根據諸如DVB_H(掌上型數位視訊廣播)、 ISDB-T(地面整合服務數位廣播)或DMB(數位媒體廣播)之 其他標準而廣播視訊。因此,源設備12可為行動無線終端 機、視訊串流伺服器或視訊廣播伺服器。然而,本發明中 描述之技術並不限於任何特定類型之廣播、多播或點對點 系統。在廣播之狀況下’源設備12可將視訊資料之若干頻 _ 道廣播至多個目的地設備,其每一者可與圖1之目的地設 備14類似。因此,雖然在圖1中展示單一目的地設備14, 但對於視訊廣播而言,源設備12通常將同時向許多目的地 設備廣播視訊内容。 在其他實例中,傳輪器22、通信頻道16及接收器24可經 組態以根據任何有線或無線通信系統通信,該通信系統包 括以下各者中之一或多者:乙太網路、電話(例如, POTS) H電力線及光纖系統及,或無線系統,該無線 系統包含以下各物中之一或多者:分碼多向近接(CDMA或 135453.doc •33- 200934250 CDMA2000)通信系統、分頻多向近接(FDMA)系統、正交 分頻多向(OFDM)近接系統、分時多向近接(TDMA)系統 (諸如,GSM(全球行動通信系統)、GPRS(通用封包無線電 服務)或EDGE(加強型資料GSM環境))、TETRA(地面中繼 式無線電)行動電話系統、寬頻分碼多向近接(WCDMA)系 統、高資料速率lxEV-DO(第一代演進唯資料)或lxEV-DO 黃金多播系統、IEEE 402.18系統、MediaFLOTM系統' DMB系統、DVB-Η系統,或用於兩個或兩個以上設備之間 φ 的資料通信之另一方案。 視訊編碼器20及視訊解碼器26可各自實施為一或多個微 處理器、數位信號處理器(DSP)、特殊應用積體電路 (ASIC)、場可程式閘陣列(FPGA)、離散邏輯、軟艎、硬 體、韌體或其任何組合。視訊編瑪器20及視訊解瑪器26中 之每一者可包括於一或多個編碼器或解碼器中,其任一者 可在各別行動設備、用戶設備、廣播設備、伺服器或其類 似者中整合為經組合編碼器/解碼器(C〇DEC)的部分。此 ® 外,源設備12及目的地設備14各自可包括用於傳輸及接收 經編碼視訊之適當調變、解調變、頻率轉換、濾波及放大 組件,如可適用地,包括足以支援無線通信的射頻(RF)無 線組件及天線。然而,為易於說明,此等組件概括為圖1 中之源設備12之傳輸器22及目的地設備14的接收器24。 圖3為進一步詳細地說明實例基礎層編碼器3 〇及加強層 編碼器32的方塊圖。在圖3之實例中,基礎層編碼器包括 一預測單元33A、圖框儲存器35A、變換單元38A、量化單 135453.doc • 34- 200934250 元嫩、係數掃描單元41A、逆量化單元42八、逆變換單元 44A、基礎層熵編碼器46及求和器48a及彻("求和器 48")。將圖3中之不同特徵描綠為單元意欲突出所說明設 備之不同功能態樣,且並不一定暗示此等單元必須藉由單 獨硬體或軟體組件來實現。實情為,與一或多個單元_ 冑之功能性可整合至共職單獨硬體或軟體組件内。 • 預測單TO 33A使用框内預測或框間預測產生預測區塊。 預測區塊可為正被寫碼之當前視訊區塊的預測型式。如上 © 戶斤述,預測單元3从可基於與當前正在寫碼之區塊相同之 圖框内之基礎層的一或多個先前編碼區塊而使用框内預測 產生預測區塊。或者,預測單元可基於基礎層之一或多個 相鄰圖框内之一或多個先前編碼區塊而使用框間預測而產 生預測區塊。預測單元33A可自圖框儲存器35八提取先前 編碼區塊。 在視訊區塊之基於框内或框間之預測之後,基礎層編碼 藝器30藉由在求和器48A處自當前視訊區塊減去藉由預測單 元33A產生之預測區塊而產生剩餘區塊。剩餘區塊包括量 化當前視訊區塊之像素值與預測區塊的像素值之間的差之 像素差值集合。剩餘區塊可以二維區塊格式(例如,像素 值之二維矩陣或陣列)來表示。換言之,剩餘區塊為像素 值的二維表示。 變換單元38A向剩餘區塊應用變換以產生剩餘變換係 數。變換單元38A可(例如)應用DCT、整數變換、方向變 換、小波變換或其組合。在向像素值之剩餘區塊應用變換 135453.doc -35· 200934250 之後’量化單元40A量化變換係數以進一步減少位元率。 在量化之後,逆量化單元42A及逆變換單元44A可分別應 用逆量化及逆變換以重建剩餘區塊。求和器48B將經重建 之剩餘區塊與藉由預測單元33 A產生之預測區塊相加以產 生經重建的視訊區塊以供儲存於圖框儲存器3 5八中。儲存 於圖框儲存器34中之經重建之視訊區塊可由基礎層編碼器 30之預測單元32來使用以框内或框間寫碼後續視訊區塊。 另外,如以下將更詳細描述,儲存於圖框儲存器35A中之 經重建之視訊區塊可由加強層編碼器32之預測單元33B使 用以框内或框間寫碼加強層中之視訊區塊的精化。 在量化之後’係數掃描單元41A將係數自二維區塊格式 掃描為一維向量格式’該過程通常稱為係數掃描。係數掃 描單元41A可(例如)使用如在圖7中進一步詳細描述之乙字 形掃描次序來掃描係數之二維區塊。在掃描之後,基礎層 熵編碼器46熵編碼一維向量的係數。基礎層編碼器“可 (例如)使用如在H.264/MPEG-4部分10 AVC標準中界定且以 上關於圖2詳細描述的CAVLC來熵編碼係數向量的係數。 加強層編碼器32包括一預測單元33B、圖框儲存器 35B、變換單元38B、量化單元4〇B、係數掃描單元*丨b、 逆量化單元42B、逆變換單元44B、一加強層熵編碼器49 及求和器48C及48D("求和器48”)。加強層編碼器32之單元 大體上類似於基礎層編碼器3〇之經類似編號之彼等單元。 因而,將僅描述差異。 加強層編碼器32之預測單元338產生為當前視訊區塊之 135453.doc • 36 · 200934250 預測型式的預測區塊。不同於基礎層編碼器30之僅使用基 礎層之先前編碼區塊產生預測區塊的預測單元33 A,加強 層編碼器32之預測單元33B可基於基礎層及加強層之一或 多個先前編碼區塊而產生預測區塊。換言之,預測單元 33B可使用來自基礎層之經重建視訊區塊及加強層之經重 建視訊區塊而產生預測區塊。舉例而言,預測單元3 3 b可 組合基礎層之經重建視訊區塊與加強層之經重建區塊以產 生處於第二較高品質的預測區塊。 β 因為藉由預測單元33B產生之預測區塊係基於基礎層及The base layer decoder 34 decodes the base layer to obtain a symbol representing the vector of the quantized residual coefficients of the base layer. The base layer decoder 34 can decode the base layer to obtain the total number of non-zero coefficients in the block, the number of trailing 1s of the block, the trailing 1 plus and minus sign, the magnitude of the coefficient other than the trailing 1, all the fortune The fortune before the sum of β and the non-zero coefficient. The base layer decoder W may further decode the base layer bitstream to identify the VLC table used to decode the base layer symbols. In other examples, base layer decoder 34 may select a VLC table for use based on previously decoded symbols. Using the decoded symbols, the base layer decoder 34 can reconstruct the coefficient vectors of the base layer. The enhancement layer decoder 36 decodes the bit stream of the enhancement layer to obtain, for example, a vector of extra residual coefficients or an enhancement of the enhancement layer of the refined form of the existing residual coefficients. In particular, enhancement layer decoder 36 decodes the duration and sign of the enhancement layer coefficients using the same VLC table as the VLC table used by enhancement layer encoder 32 until the EOB symbol indicates that no non-zero coefficients are remaining. Using the decoded symbols, enhancement layer decoder 36 reconstructs the coefficient vectors of the enhancement layer blocks. The decoders 34, 36 reconstruct each of the blocks of the coded unit using the decoded quantized residual coefficients. After generating the coefficient vector, the decoders 34, 36 inversely scan the coefficient vector to produce a two-dimensional block of quantized residual coefficients. The decoders 34, 36 inverse quantize (ie, dequantize) the quantized residual coefficients 135453.doc 200934250 and apply an inverse transform to the dequantized residual coefficients (eg, inverse DCT, inverse integer transform, inverse wavelet transform, or inverse direction transform) ) to generate the remaining blocks of pixel values. The decoders 34, 36 sum the prediction blocks generated by the decimators 34, 36 and the remaining blocks of pixel values to form reconstructed base layer video blocks and enhancement layer video blocks, respectively. The base layer video block and the enhanced layer video block are combined to form a video block having a higher resolution. The decoders 34, 36 generate © prediction blocks in the same manner as described above with respect to the encoders 30,32. The destination device 14 can display the reconstructed video block to the user via the display device 28. Display device 28 can include any of a variety of display devices, such as a cathode ray tube (CRT), liquid crystal display (LCD), plasma display, light emitting diode (LED) display, organic LED display, or another type of display. unit. In some examples, video encoder 20 and video decoder 26 are configured to provide an adjustable boost bit stream that can be arbitrarily truncated. Therefore, the system can avoid the use of discrete enhancement layers that must be coded as a whole to achieve adjustability. However, in some embodiments, system 10 can be configured to support adjustability using, for example, a generalized fine grain size adjustability (FGS) method or a discrete enhancement layer on a selective basis. Source device 12 and destination device 14 can operate in a substantially symmetrical manner. For example, source device 12 and destination device 14 may each include a video encoding and decoding component. Thus, system 1 can support, for example, one-way or two-way video transmission between devices 12, 14 for video streaming, video broadcasting, or video telephony. 135453.doc -32- 200934250 In some aspects 'for video broadcasting, the techniques described in this disclosure can be applied to enhanced H.264 video writing for use in forward link only ( FLO) Air Intermediary Specification, the forward link empty intermediary specification for terrestrial mobile multimedia multicast, (as the technical standard tia_i〇99 ("fl〇 specification") published in July 2007) Instant video services are delivered in the Mobile Multimedia Multicast (tm3) system. That is, communication channel 16 may include wireless information channels for broadcasting wireless video information in accordance with the FLO specification or the like. The FLO specification includes an example of demarcating the meta-stream syntax and semantics and a decoding process suitable for several short 中介 intermediaries. Alternatively, the video can be broadcast according to other standards such as DVB_H (Palm Digital Video Broadcasting), ISDB-T (Ground Integrated Services Digital Broadcasting) or DMB (Digital Media Broadcasting). Thus, source device 12 can be a mobile wireless terminal, a video streaming server, or a video broadcast server. However, the techniques described in this disclosure are not limited to any particular type of broadcast, multicast or peer-to-peer system. In the broadcast condition, the source device 12 can broadcast a number of frequency channels of the video material to a plurality of destination devices, each of which can be similar to the destination device 14 of FIG. Thus, although a single destination device 14 is shown in Figure 1, for video broadcasts, source device 12 will typically broadcast video content to many destination devices simultaneously. In other examples, the wheeler 22, the communication channel 16 and the receiver 24 can be configured to communicate in accordance with any wired or wireless communication system, including one or more of the following: Ethernet, Telephone (eg, POTS) H power line and fiber optic system and or wireless system, the wireless system comprising one or more of the following: a coded multi-directional proximity (CDMA or 135453.doc • 33-200934250 CDMA2000) communication system , frequency division multi-directional proximity (FDMA) system, orthogonal frequency division multi-directional (OFDM) proximity system, time-sharing multi-directional proximity (TDMA) system (such as GSM (Global System for Mobile Communications), GPRS (General Packet Radio Service) Or EDGE (Enhanced Data GSM Environment)), TETRA (Terrestrial Relay Radio) Mobile Phone System, Wideband Coded Multi-Directional Near-Connect (WCDMA) System, High Data Rate lxEV-DO (First Generation Evolutionary Data) or lxEV -DO Gold Multicast System, IEEE 402.18 System, MediaFLOTM System 'DMB System, DVB-Η System, or another solution for data communication between two or more devices. Video encoder 20 and video decoder 26 may each be implemented as one or more microprocessors, digital signal processors (DSPs), special application integrated circuits (ASICs), field programmable gate arrays (FPGAs), discrete logic, Soft palate, hard body, firmware or any combination thereof. Each of video coder 20 and video masher 26 may be included in one or more encoders or decoders, either of which may be in a respective mobile device, user equipment, broadcast device, server, or The similarity is integrated into the part of the combined encoder/decoder (C〇DEC). In addition to this, source device 12 and destination device 14 each may include appropriate modulation, demodulation, frequency conversion, filtering, and amplification components for transmitting and receiving encoded video, as applicable, including sufficient to support wireless communication. Radio frequency (RF) wireless components and antennas. However, for ease of illustration, such components are summarized as transmitter 22 of source device 12 and receiver 24 of destination device 14 in FIG. 3 is a block diagram illustrating an example base layer encoder 3 and enhancement layer encoder 32 in further detail. In the example of FIG. 3, the base layer encoder includes a prediction unit 33A, a frame storage 35A, a transformation unit 38A, a quantization unit 135453.doc • 34-200934250, a coefficient scanning unit 41A, and an inverse quantization unit 42. Inverse transform unit 44A, base layer entropy encoder 46 and summer 48a and "sumer 48". The different features in Figure 3 are intended to highlight different functional aspects of the illustrated device, and do not necessarily imply that such elements must be implemented by separate hardware or software components. The truth is that the functionality of one or more units can be integrated into a separate hardware or software component. • Predicted single TO 33A uses in-frame or inter-frame prediction to generate prediction blocks. The prediction block can be a prediction pattern of the current video block being coded. As described above, prediction unit 3 generates prediction blocks from intra-prediction using one or more previously encoded blocks of the base layer within the same frame as the block currently being coded. Alternatively, the prediction unit may generate the prediction block using inter-frame prediction based on one or more of the previous coding blocks in one or more of the base layers. Prediction unit 33A may extract the previous coded block from frame storage 35. After the intra-frame or inter-frame prediction of the video block, the base layer encoding artist 30 generates the remaining area by subtracting the prediction block generated by the prediction unit 33A from the current video block at the summer 48A. Piece. The remaining blocks include a set of pixel difference values that quantify the difference between the pixel values of the current video block and the pixel values of the predicted block. The remaining blocks can be represented in a two-dimensional block format (e.g., a two-dimensional matrix or array of pixel values). In other words, the remaining blocks are two-dimensional representations of pixel values. Transform unit 38A applies a transform to the remaining blocks to produce a residual transform coefficient. Transform unit 38A can, for example, apply DCT, integer transform, direction transform, wavelet transform, or a combination thereof. After applying the transform 135453.doc -35· 200934250 to the remaining blocks of the pixel values, the quantization unit 40A quantizes the transform coefficients to further reduce the bit rate. After quantization, inverse quantization unit 42A and inverse transform unit 44A may apply inverse quantization and inverse transform, respectively, to reconstruct the remaining blocks. The summer 48B combines the reconstructed residual block with the predicted block generated by the prediction unit 33 A to generate a reconstructed video block for storage in the frame memory 358. The reconstructed video blocks stored in the frame store 34 can be used by the prediction unit 32 of the base layer encoder 30 to write subsequent video blocks in-frame or inter-frame. In addition, as will be described in more detail below, the reconstructed video block stored in the frame store 35A can be used by the prediction unit 33B of the enhancement layer encoder 32 to block the video blocks in the in-frame or inter-frame code enhancement layer. Refinement. After the quantization, the coefficient scanning unit 41A scans the coefficients from the two-dimensional block format into a one-dimensional vector format. This process is generally referred to as coefficient scanning. The coefficient scanning unit 41A can scan the two-dimensional block of coefficients, for example, using a zigzag scanning order as described in further detail in FIG. After scanning, the base layer entropy encoder 46 entropy encodes the coefficients of the one-dimensional vector. The base layer encoder "can entropy encode coefficient coefficients, for example, using CAVLC as defined in the H.264/MPEG-4 Part 10 AVC standard and described above in detail with respect to Figure 2. The enhancement layer encoder 32 includes a prediction. Unit 33B, frame storage 35B, transform unit 38B, quantization unit 4〇B, coefficient scanning unit *丨b, inverse quantization unit 42B, inverse transform unit 44B, a boost layer entropy encoder 49, and summers 48C and 48D ("summer 48"). The elements of the enhancement layer encoder 32 are substantially similar to the similarly numbered units of the base layer encoder. Thus, only the differences will be described. The prediction unit 338 of the enhancement layer encoder 32 generates a prediction block of the 135453.doc • 36 · 200934250 prediction pattern of the current video block. Unlike the prediction unit 33 A of the base layer encoder 30 that uses only the previous coding block of the base layer to generate the prediction block, the prediction unit 33B of the enhancement layer encoder 32 may be based on one or more previous coding of the base layer and the enhancement layer. The block produces a prediction block. In other words, prediction unit 33B can generate predicted blocks using reconstructed video blocks from the base layer and reconstructed video blocks from the enhancement layer. For example, prediction unit 3 3 b may combine the reconstructed blocks of the reconstructed video block and the enhancement layer of the base layer to produce a second higher quality prediction block. β because the prediction block generated by the prediction unit 33B is based on the base layer and

加強層兩者之經重建視訊區塊而產生,所以在求和器48C 處產生之剩餘區塊表示當前視訊區塊與自基礎層及加強層 建構(亦即,處於第二較高視覺品質)之先前編碼區塊之間 的差。 雖然操作上類似於基礎層編碼器3〇之量化單元4〇A,但 加強層編碼器32之量化單元4〇B可使用不同Qp以量化變換 珍 係數。如上文關於圖2所描述,隨可調節性可藉由使用 不同量化參數而達成。舉例而言,當基礎層編碼器3〇及加 強層編碼器32根據ITU_T H.264/MpEGiG就操作時,量 單π40Α可使用大於由量化單元働使用之值的砂值 編碼視訊貝料。結果’來自基礎層編碼器Μ之經量化之 2餘變換係數表示處於第—品質的視訊序列,且來自加強 床i H 量化之剩餘變換係數表示額外係數或對視 ^ ^之現有係數的精化,該等額外係數或精化在與基礎 «時將視訊序列之品f增加至第二較高視覺品質。 I35453.doc -37- 200934250 此外’如關於圖2詳細描述,加強層熵編碼器49在單一 編碼-次麵作中編媽經量化之剩餘變換係數。換言之,加 強層熵編喝器49可在不知曉係數向量之任何後續魏的情 況下編碼加強層之係數向量的每一非零係數。在單一一次 操作中寫碼加強層可消除執行一分析係數向量之第一―: #作及用於基於分析而寫碼係數向量的第二-次操作之需 • 要。實情為,加強層網編碼器49自係數向量之開始起始, 且在單一編碼一次操作中逐一地編碼係數中的每一者。以 ❿ 下關於圖4描述關於加強層之熵編碼的更多細節。 圖4為進一步詳細地說明實例基礎層熵編碼器46及加強 層熵編碼器49的方塊圖。基礎層熵編碼器46可包括一分析 單7L 50、複數個VLC表52A至52N("VLC^ 52")、一總係數 編碼器心一尾隨的I(Tls)編碼器56、一正負號編碼器 58、一係數量值編碼器6〇、一和運程編碼器62及—運程長 度編碼器64。加強層熵編碼器49可包括一 E〇B符號編碼器 66、一運程長度編碼器68、一正負號編碼器7〇及—▽^^表 ’ 69。 基礎層熵編碼器46藉由執行多個編碼一次操作而編碼表 示處於第一品質之視訊區塊的係數向量。根據如在 H.264/MPEG-4部分1〇 AVC標準中界定之CAVLC,例如, 基礎層熵編碼器46可執行一分析係數向量以(例如)產生表 示係數向量的符號及/或選擇VLC表之第一編碼一次操作及 基於分析編碼係數向量的第二編碼一次操作。 作為實例,基礎層網編碼器4 6之分析單元5 〇可分析係 135453.doc -38- 200934250 數向量以產生表示係數區塊之一或多個符號。分析單元5〇 可(例如)根據H.264/MPEG-4部分1 〇 AVC標準來判定區塊中 之總係數的數目(TotalCoeff)、尾隨的i之數目(T1)、每一 尾隨的1之正負號、每一非零係數的量值、運程之總和 (SumRuns)及每一非零係數之前的運程長度。藉由分析單 元50產生之符號中之至少一些(例如,T〇taic〇eff及 sumRims)可表示係數向量之全部係數。分析單元5〇在其他 例子中可產生較多符號或較少符號。 © 另外或或者,分析單元5 0在第一或後續編碼一次操作期 間可選擇VLC表52之子集以用於編碼符號。在一態樣中, 分析單元50可基於所產生之符號來選擇vlC表52的子集。 或者’分析單元50可在係數向量之分析期間收集統計數 據,基於收集到之統計數據而選擇VLC表52的子集。舉例 而言’基礎層編碼器30可基於區塊中之係數之總數 (TotalCoeffs)選擇VLC表以在編碼sumRuns符號時使用,因 _ 為在此等兩個值之間存在某一關係。如以下將詳細描述, 基於所產生之符號或其他統計數據來選擇VLC表52之子集 可能賦能更有效地編碼表示係數向量的符號。 基礎層嫡編瑪器46在第二或其他後續寫碼一次操作期間 編碼係數向量。詳言之,總係數編碼器54編碼係數向量中 之非零係數的總數(TotalCoeff)。總係數編碼器54可使用基 於當前係數向量之非零係數的數目之預測而選擇之VLC表 52中的·—者而編碼TotalCoeff。在一實例中,可基於一咬 多個先前編碼之視訊區塊(例如,上部鄰近視訊區塊及左 135453.doc -39- 200934250 側鄰近視訊區塊)之非零係數的數目而進行對當前係數向 量之非零係數的數目之預測。以此方式,基礎層熵解碼器 可基於先前解碼之區塊而選擇同一 VLC表。 在總係數編碼器5 4編碼非零係數之總數之後,τ 1 s編瑪 器56編碼Tls符號。Tls編碼器56可(例如)以與以上關於總 係數編碼器54描述之方式相同之方式使用基於非零係數之 經預測數目選擇的VLC表52中之一者來編碼Tls符號。 正負號編碼器5 8編碼任何尾隨的1的正負號。舉例而 © s,對於尾隨的1中之每一者而言,正負號編碼器58可編 碼1"(若尾隨的1之正負號為正),且編碼(若尾隨的 正負號為負)。係數量值編碼器60編碼除尾隨的“卜之非零 係數的位準(例如,量值)。係數量值編碼器6〇可使用VLc 表、固定長度寫碼或其他類型熵寫碼來編碼非零係數的位 準。 運程和編碼器62可編碼表示在最後非零係數之前在係數 ❹向量中發生的零值係數之數目的符號,亦即3111111111113符 號。運程和編碼器62使用基於區塊中之係數之總數 (TotalCoeffs)選擇之VLC表52中的一者而編碼sumRuns符 •號。又,基於區塊中之係數之總數(T〇talc〇effs)選擇VLC 表以在編碼sumRuns符號時使用可允許運程和編碼器“選 擇更有效地編碼sumRuns的VLC表。 運程長度編碼器64編碼係數向量之運程長度。運程長产 編碼器64可首先編碼係數向量之最後非零係數的運程長 度,繼之以前-非零係數的運程長度等,直至編碼係數向 135453.doc -40- 200934250 量之第一非零係數之前的運程長度為止。換言之,運程長 度編碼器可以首先開始編竭最後的運程長度。運程長度編 碼器64可使用基於係數向量之總運程之和(嶋厌職)及迄 今為止經寫碼之運程之和選擇之VLC表52而編碼運程長度 中的每-者。作為一實例,若係數向量具有為八之運程和 (SUmRUnS),且在編碼之最後非零係數之前編碼的運程為 六,貝m有殘餘運程必須為零、一或二。因為可能之運程 長度隨著#帛外運程經編碼而逐漸變短,所以運程長卢 編碼器64可選擇更有效之VLC表以減少用以表示運程的: 兀之數目。以此方式,由運程長度編碼器Μ使用之VLC表 52對於運程長度中之每一者而言可變。 加強層熵編碼器49在單—編碼—次操作中編媽表示(例 如)呈額外係數或對現有係數的精化形式的對視訊區塊之 =化之係數向量以形成加強層。如將進一步詳細描述,源 汉備12在-些例子中可在不知曉任何後續係數的情況下編 ❹強層之係數向量中的每一非零係數。加強層摘編碼器 啊自係數向量之開始起始’且在單一編碼一次操作中逐 :編碼係數中的每-者。以此方式’加強層編碼器49在不 =在係數向量中猶後發生之係數的情況下在逐係數基礎 —編碼係數向量。在單―次㈣中寫碼加㈣以㈣ =ΓΓ數向量之第—次操作及用於基於分析而寫碼 係數向量的第二一次操作之需要。 一=於2零係數中之每—者而言,EGB㈣編碼紙編碼 日不係數向量中存在至少—殘餘非零係數的刪符 135453.doc •41 - 200934250 號舉例而3,EOB符號編碼器66在存在至少一殘餘非零 係數(例如,至少當前非零係數)時可編碼零,且在不再存 在殘餘非零係數時可編碼一。 在編竭每—係數之_符號之後,運程長度編碼器68編 碼非零係數之前的運程長度。如上所述,運程長度表示先 當前非零係數之零值係數的數目。運程長度編碼器啊 使用單一 VLC表69來編碼運程長度。在一例子中,vlc表 69可與基礎層熵編碼器46之¥1^表52中的一者相同。或 〇 I ’運程長度編碼器68可維持-經特定地設計以編碼加強 層之係數向量之運程的單獨VLC表。在任一狀況下運程 長度編碼器68可能不需要適應性地選擇VLC表以用於編碼 運程。實情為,運程長度編碼器68可使用單一 VLC表,因 此消除對一收集用以選擇VLC表之統計數據之第一 一次操 作的需要。 在每一係數之經編碼的運程長度之後,正負號編碼器7〇 ❹編碼非零係數的正負號。正負號編碼器7〇可(例如)編碼 1 (若非零係數之正負號為正),且編碼”〇"(若非零係數之 正負號為負)。加強層熵編碼器49可能不編碼加強層之非 - 零係數之量值,其可導致峰值訊雜比(pSNR)之某一損耗, 但減少用以編碼係數之位元的數目。 本發明之滴寫碼技術可允許加強層熵編碼器49在單一— 次操作中編碼加強層位元流的係數。由於加強層熵編碼器 49並不分析係數向量(例如)以產生符號及/或選擇vLc表, 所以僅需要一編碼一次操作。習知編碼器通常執行至少兩 135453.doc -42- 200934250The enhancement layer is generated by reconstructing the video block, so the remaining blocks generated at the summer 48C represent the current video block and the self-base layer and the enhancement layer construction (ie, in the second higher visual quality). The difference between the previously coded blocks. Although operatively similar to the quantization unit 4A of the base layer encoder 3, the quantization unit 4B of the enhancement layer encoder 32 can use different Qp to quantize the transform coefficients. As described above with respect to Figure 2, adjustability can be achieved by using different quantization parameters. For example, when the base layer encoder 3 and the boost layer encoder 32 operate in accordance with ITU_T H.264/MpEGiG, the measure π40Α can encode the video beaker using a sand value greater than the value used by the quantizing unit. The result 'the quantized 2-coordinate transform coefficients from the base layer encoder 表示 represent the video sequence in the first quality, and the residual transform coefficients from the booster bed i H quantize represent the extra coefficients or the refinement of the existing coefficients of the view. These additional coefficients or refinements increase the product f of the video sequence to a second higher visual quality when compared to the base «. I35453.doc -37- 200934250 Further, as described in detail with respect to FIG. 2, the enhancement layer entropy encoder 49 encodes the quantized residual transform coefficients in a single code-sub-plane. In other words, the enhanced layer entropy processor 49 can encode each non-zero coefficient of the coefficient vector of the enhancement layer without knowing any subsequent Wei of the coefficient vector. Writing a code enhancement layer in a single operation eliminates the need to perform a first-of-analysis coefficient vector--: and the second-time operation for writing code coefficient vectors based on analysis. The reality is that the enhanced layer encoder 49 starts at the beginning of the coefficient vector and encodes each of the coefficients one by one in a single encoding operation. More details regarding the entropy coding of the enhancement layer are described in relation to Figure 4. 4 is a block diagram illustrating an example base layer entropy encoder 46 and a boost layer entropy encoder 49 in further detail. The base layer entropy encoder 46 may include an analysis single 7L 50, a plurality of VLC tables 52A to 52N ("VLC^ 52"), a total coefficient encoder core trailing I (Tls) encoder 56, a sign The encoder 58, a coefficient magnitude encoder 6, and a motion encoder 62, and a run length encoder 64. The enhancement layer entropy encoder 49 may include an E〇B symbol encoder 66, a run length encoder 68, a positive and negative encoder 7〇, and a table 69. The base layer entropy encoder 46 encodes the coefficient vector representing the video block of the first quality by performing a plurality of encoding one operations. According to a CAVLC as defined in the H.264/MPEG-4 Part 1 AVC standard, for example, the base layer entropy encoder 46 may perform an analysis coefficient vector to, for example, generate a symbol representing a coefficient vector and/or select a VLC table. The first encoding one operation and the second encoding one operation based on analyzing the encoding coefficient vector. As an example, the analysis unit 5 of the base layer network encoder 46 can analyze the number 135453.doc -38 - 200934250 number vector to produce one or more symbols representing the coefficient block. The analyzing unit 5 can determine, for example, the number of total coefficients (TotalCoeff) in the block, the number of trailing i (T1), and each trailing 1 according to the H.264/MPEG-4 Part 1 AVC standard. Positive and negative signs, the magnitude of each non-zero coefficient, the sum of the operations (SumRuns), and the length of the run before each non-zero coefficient. At least some of the symbols produced by analysis unit 50 (e.g., T〇taic〇eff and sumRims) may represent all coefficients of the coefficient vector. The analysis unit 5 can generate more symbols or fewer symbols in other examples. Additionally or alternatively, analysis unit 50 may select a subset of VLC tables 52 for encoding symbols during the first or subsequent encoding operations. In one aspect, analysis unit 50 can select a subset of vlC table 52 based on the generated symbols. Alternatively, analysis unit 50 may collect statistical data during analysis of the coefficient vectors and select a subset of VLC tables 52 based on the collected statistics. For example, base layer encoder 30 may select a VLC table based on the total number of coefficients in the block (TotalCoeffs) to use when encoding the sumRuns symbol, since _ is a relationship between the two values. As will be described in greater detail below, selecting a subset of VLC tables 52 based on the generated symbols or other statistical data may enable more efficient encoding of the symbols representing the coefficient vectors. The base layer masher 46 encodes the coefficient vector during a second or other subsequent write code operation. In particular, the total coefficient encoder 54 encodes the total number of non-zero coefficients (TotalCoeff) in the coefficient vector. The total coefficient encoder 54 may encode TotalCoeff using the one selected in the VLC table 52 based on the prediction of the number of non-zero coefficients of the current coefficient vector. In one example, the current number of non-zero coefficients may be based on a number of non-zero coefficients that bite a plurality of previously encoded video blocks (eg, an upper adjacent video block and a left 135453.doc -39 - 200934250 side neighboring video block) Prediction of the number of non-zero coefficients of the coefficient vector. In this way, the base layer entropy decoder can select the same VLC table based on previously decoded blocks. After the total coefficient encoder 54 encodes the total number of non-zero coefficients, the τ 1 s coder 56 encodes the Tls symbol. The Tls encoder 56 may encode the Tls symbol, for example, using one of the VLC tables 52 based on the predicted number of non-zero coefficients, in the same manner as described above with respect to the total coefficient encoder 54. The sign encoder 58 encodes the sign of any trailing 1s. For example, © s, for each of the trailing ones, the sign encoder 58 can encode 1" (if the trailing 1 sign is positive) and encode (if the trailing sign is negative). The system of value encoders 60 encodes the level of the trailing non-zero coefficients (eg, magnitude). The coefficient magnitude encoder 6 can be encoded using a VLc table, a fixed length code, or other type of entropy code. The level of the non-zero coefficient. The run and encoder 62 may encode a symbol representing the number of zero-valued coefficients occurring in the coefficient ❹ vector before the last non-zero coefficient, i.e., 3111111111113 symbols. The run and encoder 62 uses a block-based block. The sum of the coefficients in the total (TotalCoeffs) selects one of the VLC tables 52 to encode the sumRuns character. In addition, the VLC table is selected based on the total number of coefficients in the block (T〇talc〇effs) to encode the sumRuns symbol. Use the Allow Run and Encoder to "select a VLC table that encodes sumRuns more efficiently. The run length encoder 64 encodes the run length of the coefficient vector. The long-running encoder 64 may first encode the run length of the last non-zero coefficient of the coefficient vector, followed by the run length of the previous-non-zero coefficient, etc., until the first non-zero coefficient of the coding coefficient to 135453.doc -40-200934250 Until the length of the previous journey. In other words, the longitude encoder can begin to compile the final run length first. The run length encoder 64 may encode each of the run lengths using a VLC table 52 selected based on the sum of the total motions of the coefficient vectors (嶋 嶋 )) and the sum of the coded runs to date. As an example, if the coefficient vector has a run length of eight and (SUmRUnS) and the run length coded before the last non-zero coefficient of the code is six, the residual mave must have zero, one or two. Since the length of the possible run length is gradually shortened as the #帛 outer pass is encoded, the long run encoder 64 can select a more efficient VLC table to reduce the number of turns used to represent the run: In this manner, the VLC table 52 used by the run length encoder is variable for each of the run lengths. The enhancement layer entropy encoder 49 in the single-code-time operation represents, for example, an additional coefficient or a coefficient vector of the video block for the refined form of the existing coefficients to form a reinforcement layer. As will be described in further detail, the source device 12 may, in some examples, encode each non-zero coefficient in the coefficient vector of the strong layer without knowing any subsequent coefficients. The enhancement layer coder starts at the beginning of the coefficient vector and is encoded in the single coding operation. In this way, the enhancement layer encoder 49 encodes the coefficient vector on a per-coefficient basis without the coefficients occurring in the coefficient vector. Write the code in the single-time (four) plus (4) the first-time operation of the (four) = ΓΓ number vector and the second operation for writing the code coefficient vector based on the analysis. For each of the 2 zero coefficients, there is at least a residual non-zero coefficient in the EGB (four) coded paper coding day non-coefficient vector 135453.doc • 41 - 200934250 for example and 3, EOB symbol encoder 66 Zero may be encoded in the presence of at least one residual non-zero coefficient (eg, at least the current non-zero coefficient), and one may be encoded when there are no more residual non-zero coefficients. After the _ symbol of each coefficient is compiled, the run length encoder 68 encodes the run length before the non-zero coefficient. As described above, the run length represents the number of zero-valued coefficients of the current non-zero coefficient. The run length encoder uses a single VLC table 69 to encode the run length. In one example, the vlc table 69 can be the same as one of the base layer entropy encoders 46 of the table 52. Or 〇 I 'the run length encoder 68 can maintain a separate VLC table that is specifically designed to encode the coefficients of the enhancement layer's coefficient vector. In either case, the run length encoder 68 may not need to adaptively select the VLC table for the coded run. Rather, the run length encoder 68 can use a single VLC table, thus eliminating the need for a first operation to collect statistics for selecting a VLC table. After the encoded run length of each coefficient, the sign encoder 7〇 encodes the sign of the non-zero coefficient. The sign encoder 7〇 can, for example, encode 1 (if the sign of the non-zero coefficient is positive) and encode “〇" (if the sign of the non-zero coefficient is negative). The enhancement layer entropy encoder 49 may not encode stronger. The magnitude of the non-zero coefficient of the layer, which can result in a loss in peak signal-to-noise ratio (pSNR), but reduces the number of bits used to encode the coefficients. The trick-writing code technique of the present invention allows for enhanced layer entropy coding The coefficients of the enhancement layer bitstream are encoded in a single-time operation. Since the enhancement layer entropy encoder 49 does not analyze the coefficient vector (for example) to generate symbols and/or select a vLc table, only one encoding operation is required. Conventional encoders usually perform at least two 135453.doc -42- 200934250

=次操作:⑴分析係數向量之第次操作,及⑺基 二析編碼係數向量的第二一次操作…卜,加強層烟編 —49可使用單-VLC表編碼加強層之係數,因此消除執 灯一用以自各種VLC表做出選擇的編竭—次操作之需要。 以'方式’加強層熵編碼器49可減少寫碼複雜性、寫碼延 遲及記憶體要求β此外’本發明之熵寫碼技術可另外導致 在不儲存並存取基礎層之係數資訊的情況下寫碼加強層之 係數,從而進一步減少計算複雜性及記憶體要求。 圖5為進一步詳細地說明基礎層解碼器34及加強層解碼 器36之實例的方塊圖。基礎層解碼器“包括一基礎層熵解 碼器72、係數掃描單元74Α、逆量化單元76八、逆變換單 兀78Α、預測單元80Α、圖框儲存器82Α及求和器84α。加 強層解碼器3.4包括一加強層熵解碼器86、係數掃描單元 74Α、逆量化單元76Α、逆變換單元78Α、預測單元、 圖框儲存器82Α及求和器84Α。 基礎層熵解碼器72解碼接收到之基礎層位元流以產生處 於第一品質之視訊資料以供呈現於顯示設備上。基礎層熵 解碼器72接收基礎層位元流且解碼基礎層位元流以獲得 (例如,呈經量化剩餘係數之一維向量形式之)剩餘資訊及 (例如,呈一或多個標頭語法要素形式的)標頭資訊。基礎 層熵解碼器72執行藉由圖3及圖4之基礎層熵編碼器46執行 之編碼的互逆解碼功能。 詳言之,基礎層熵解碼器72解碼基礎層以獲得表示基礎 層之經量化剩餘係數之向量的符號。在使用如在 135453.doc •43· 200934250 H,264/MPEG-4部分i〇 AVC標準中界定之CAVLC進行寫碼 時’例如’基礎層熵解碼器72可解碼基礎層以獲得區塊中 之非零係數的總數(TotalCoeff)、區塊之尾隨的1的數目 (Tls)、尾隨的1之正負號、除尾隨的1外之係數的量值、所 有運程之和(sumRuns)及非零係數中之每一者之前的運 程°在一些例子中,針對解碼選擇之VLC表可基於先前解 碼之區塊或當前區塊之先前解碼符號來選擇。在其他例子 中’基礎層熵解碼器34可解碼基礎層位元流以識別用於解 碼基礎層符號的VLC表。使用經解碼之符號,基礎層解碼 器34可重建基礎層的係數向量。 在產生係數向量之後,係數掃描單元74A反向掃描係數 向量以產生經量化剩餘係數之二維區塊。逆量化單元76A 逆量化(亦即’解量化)經量化剩餘係數,且逆變換單元 78A向經解量化之剩餘係數應用逆變換(例如,逆dct、逆 整數變換、逆小波變換或逆方向變換)以產生像素值的剩 餘區塊。 預測單元80A在框内預測的狀況下使用共同圖框内之一 或多個相鄰區塊或在框間預測的狀況下使用相鄰圖框内之 一或多個區塊來產生預測區塊。預測單元僅使用來自基礎 層之先前編碼區塊而產生預測區塊。求和器84A對藉由預 測單元80A產生之預測區塊與像素值之剩餘區塊求和以形 成經重建的基礎層視訊區塊《將基礎層視訊區塊儲存於圖 框儲存器82A内以用於產生後續預測區塊。 加強層解碼器36解碼加強層之位元流以獲得(例如)呈額 I35453.doc -44· 200934250 外剩餘係數之向量或對現有剩餘係數之精化形式的對視訊 資料之精化。加強層熵解碼器86使用與藉由加強層熵編碼 器49使用之VLC表相同的VLC表解碼加強層係數之運程及 正負號直至E〇B符號指示不再殘餘非零係數為止❶使用 經解碼之符號,加強層熵解碼器86重建加強層區塊的係數 向量。經解碼之係數向量表示額外位元,該等額外位元表 不在與基礎層之位元組合時使經解碼之視訊資料品質增加 至第二較高品質的精化。 在產生係數向量之後’係數掃描單元74B反向掃描係數= sub-operation: (1) the first operation of the analysis coefficient vector, and (7) the second operation of the base two-resolution coding coefficient vector... Bu, the enhancement layer smoke--49 can use the single-VLC table to encode the coefficients of the enhancement layer, thus eliminating The lamp is used to make the selection of the various VLC tables for the purpose of the operation. Strengthening the layer entropy encoder 49 by 'methods' can reduce write code complexity, write code delay, and memory requirements. Further, the entropy write code technique of the present invention can additionally result in the case where coefficient information of the base layer is not stored and accessed. Write down the coefficients of the code enhancement layer to further reduce computational complexity and memory requirements. Figure 5 is a block diagram illustrating an example of base layer decoder 34 and enhancement layer decoder 36 in further detail. The base layer decoder "includes a base layer entropy decoder 72, a coefficient scanning unit 74", an inverse quantization unit 76, an inverse transform unit 78, a prediction unit 80, a frame memory 82, and a summer 84. The enhancement layer decoder 3.4 includes a enhancement layer entropy decoder 86, a coefficient scanning unit 74A, an inverse quantization unit 76A, an inverse transform unit 78A, a prediction unit, a frame storage 82A, and a summer 84. The base layer entropy decoder 72 decodes the received base. Layer bitstream to generate video material of a first quality for presentation on a display device. Base layer entropy decoder 72 receives the base layer bitstream and decodes the base layer bitstream to obtain (eg, quantized residual coefficients) Remaining information in one dimensional vector form and header information (eg, in the form of one or more header syntax elements). Base layer entropy decoder 72 performs base layer entropy encoder 46 by FIGS. 3 and 4. The reciprocal decoding function of the encoded code is performed. In detail, the base layer entropy decoder 72 decodes the base layer to obtain a symbol representing the vector of the quantized residual coefficients of the base layer. In use as in 135453.doc • 43 · 200934250 When the CAVLC defined in the H, 264/MPEG-4 part of the i〇AVC standard is coded, for example, the base layer entropy decoder 72 can decode the base layer to obtain the total number of non-zero coefficients (TotalCoeff) in the block, The number of trailing 1s (Tls) of the block, the trailing 1 sign, the magnitude of the coefficient other than the trailing 1 , the sum of all the runs (sumRuns), and the foreman before the non-zero coefficient. In some examples, the VLC table selected for decoding may be selected based on previously decoded blocks or previous decoded symbols of the current block. In other examples, 'base layer entropy decoder 34 may decode the base layer bit stream for identification. The VLC table of the base layer symbols is decoded. Using the decoded symbols, the base layer decoder 34 may reconstruct the coefficient vectors of the base layer. After generating the coefficient vectors, the coefficient scanning unit 74A inversely scans the coefficient vectors to produce quantized residual coefficients. The two-dimensional block. The inverse quantization unit 76A inverse quantizes (ie, 'de-quantizes) the quantized residual coefficients, and the inverse transform unit 78A applies an inverse transform to the dequantized residual coefficients (eg, inverse dct, inverse Transform, inverse wavelet transform, or inverse direction transform) to generate residual blocks of pixel values. Prediction unit 80A uses one or more adjacent blocks within a common frame or predicted between frames in the case of intra-frame prediction. The prediction block is generated by using one or more blocks in the adjacent frame. The prediction unit generates the prediction block using only the previous coding block from the base layer. The summer 84A is generated by the prediction unit 80A. The prediction block is summed with the remaining blocks of pixel values to form a reconstructed base layer video block. The base layer video block is stored in the frame store 82A for use in generating subsequent prediction blocks. The enhancement layer decoder The bit stream of the enhancement layer is decoded to obtain, for example, a vector of the outer residual coefficients of the amount I35453.doc -44· 200934250 or a refinement of the video data to the refined form of the existing residual coefficients. The enhancement layer entropy decoder 86 decodes the duration and sign of the enhancement layer coefficients using the same VLC table as the VLC table used by the enhancement layer entropy encoder 49 until the E〇B symbol indicates that the non-zero coefficients are no longer residual. The symbol, enhancement layer entropy decoder 86 reconstructs the coefficient vector of the enhancement layer block. The decoded coefficient vector represents additional bits that do not increase the quality of the decoded video material to the second higher quality refinement when combined with the bits of the base layer. After the coefficient vector is generated, the coefficient scanning unit 74B reverse scan coefficient

向量以產生經量化剩餘係數之二維區塊。逆量化單元76B 逆量化(亦即,解量化)經量化剩餘係數,且逆變換單元 78B向經解量化之剩餘係數應用逆變換(例如,逆dct、逆 整數變換、逆小波變換或逆方向變換)以產生像素值的剩 餘區塊。 預測單元80B在框内預測的狀況下使用共同圖框内之一 或多個相鄰區塊或在框間預測的狀況下使用相鄰圖框内之 一或多個區塊來產生預測區塊。預測單元使用來自基礎層 及加強層兩者之先前編碼區塊而產生預測區塊。求和器 84B對藉由預測單元80B產生之預測區塊與像素值之剩餘 區塊求和以形成經重建的加強層視訊區塊。將加強層視訊 區塊儲存於圖框儲存器82B内以藉由預測單元80B用於產 生後續預測區塊。在求和器84C處組合經重建之基礎層視 訊區塊與經重建之加強層視訊區塊以形成具有較高品質的 視訊區塊。 135453.doc •45· 200934250 圖6為進一步詳細地說明實例基礎層燏解碼器72及加強 層熵解碼器86的方塊圖。基礎層熵解瑪器72可包括複數個 VLC表52A至52N("VLC表52”)、一總係數解碼器9〇、一尾 隨的l(Tls)解碼器92、一正負號解碼器94、一係數量值解 碼器96、一和運程解碼器98及一運程長度解碼器丨〇〇。加 強層熵解碼器86可包括一 EOB符號解碼器102、一運程長 度解碼器104、一正負號解碼器106及一 Vlc表69。 基礎層熵解碼器72解碼基礎層位元流以獲得表示處於基 本πσ質專級之視訊區塊之係數向量的符號。總係數解碼器 90使用VLC表52中之一者解竭位元流以獲得係數向量中之 非零係數的總數(TotalCoeff)。總係數解碼器9〇可基於對當 前係數向量之非零係數之數目的預測(例如,基於一或多 個先前解碼之視訊區塊之非零係數的數目)而選擇用於解 碼TotalCoeff的VLC表52。以此方式,總係數解碼器9〇可 選擇與由總係數編碼器54使用之VLC表相同的VLC表52來 編碼TotalCoeff符號。 在總係數解碼器90解碼非零係數之總數之後,Tls解碼 器92解碼Tls符號。Tls符號表示具有為一之量值之係數的 數目,在以倒序讀取係數向量時,在遇到具有大於一之量 值的係數之前遇到該等係數。T1 s解碼器9 2可使用基於非 零係數之預測數目所選擇之VLC表52中的一者來解碼Tis 符號。 正負號解碼器94解碼任何尾隨的1的正負號。舉例而 言,正負號解碼器94對於尾隨的1中之每一者而言在接收 135453.doc -46 - 200934250 到” 1 ”時可判定係數之正負號為正,且在接收到"0"時可判 定係數之正負號為負。係數量值解碼器96解碼除尾隨的1 外之非零係數的量值。係數量值解碼器96可使用VLC表、 固定長度寫碼或其他類型熵寫碼來解碼非零係數的位準。 運程和解碼器98可解碼表示在最後非零係數之前在係數 . 向量中發生的零值係數之數目的符號,亦即sumRuns符 • 號。運程和解碼器98使用基於區塊中之係數的總數 (T〇talCoeffs)選擇之VLC表52中的一者而解碼sumRuns符 © 號,區塊中之係數之總數(TotalCoeff)藉由總係數解碼器9〇 進行先前解碼。又,基於區塊中之係數之總數(T〇talc〇effs) 選擇VLC表以在解碼sumRuns符號時使用可允許運程和解 碼器98選擇更有效地解碼表》 運程長度解碼器100解碼係數向量之運程長度。運程長 度解碼器100可首先解碼係數向量之最後非零係數的運程 長度,繼之以前一非零係數的運程長度等,直至解碼係數 φ 肖量之第—非零係數之前的運程長度為止。換言之,運程 長度解碼器100可以首先開始解碼最後運程長度。運程長 《解碼1164可❹基於係數向4之總運程之M_Runs) 及迄今為止經寫碼之運程之和選擇之獸表52而解碼運程 長度中的每—者。運程和解碼器98先前解碼_^符 就。然而’運程長度解碼器1〇〇可收集關於迄今為止經解 碼之運程之和的統計數據。因為可能之運程長度隨著每一 額外運程經解碼而逐漸變短,所以運程長度解碼器⑽可 選擇更有效之VLC表以減少用以表示運程的位元之數目。 135453.doc •47_ 200934250 以此方式’由運程長度解碼器100使用之VLC表52對於運 程長度中之每一者而言可變。 加強層熵解碼器86解碼加強層之位元流以獲得(例如)呈 額外係數之向量或對現有係數之精化形式的對視訊區塊之 精化。EOB符號解碼器1〇2判定EOB符號是否指示是否存 在至少一殘餘非零係數。在存在至少一殘餘非零係數時, 運程長度解碼器104解碼下一非零係數之前的運程長度。 運程長度解碼器104可使用與藉由運程長度編碼器68使用 之VLC表相同的VLC表69來解碼下一非零係數的運程長 度。正負號編碼器106解碼非零係數之正負號。舉例而 言’正負號編碼器106可判定係數之正負號為正(在接收到 "1"時)’及為負(在接收到"〇"時)。加強層熵解碼器86繼續 解碼非零係數,直至E0B符號解碼器1〇2指示不存在殘餘 非零係數為止。 圖7為說明4x4係數區塊40之Z字形掃描的概念圖。展示 於圖7中之Z字形掃描可藉由圖2之編碼器3〇、32來實施。 展示於圖7中之此z字形掃描之掃描次序遵循通過視訊區塊 11〇的箭頭,且在掃描次序中以係數(;1至(;16來標註。詳言 之,展示於圖7中之數值指示係數在順序一維向量内的位 置,且並不表示係數的實際值。說明於圖7中之2字形掃描 的結果為一維係數向量JT,其中 [cl, c2, c3, C4, c5, c6, c7, c8, c9, clO, ell, cl2, cl3s cl4, cl5, 〇16] 其中cl至cl 6表示係數之二維陣列内的係數位置。 135453.doc •48- 200934250 本發明之技術並不限於任何特定掃描次序或技術。舉例 而言’本發明中使用之掃描次序可為展示於圖7中的Z字形 掃描次序。或者,本發明中使用之掃描次序可為其他掃描 次序,諸如’水平掃描、垂直掃描或任何其他掃描技術。 圖8為說明加強層之係數的係數區塊12〇之假設實例的概 念圖。在此實例中,展示於圖8中之數值指示位置處之係 數的實際值。係數區塊120之實際係數值可表示經量化之 剩餘係數、未量化之變換係數,或加強層中視訊區塊的其 他類型係數。在說明於圖8中之實例中,係數區塊丨2〇為 4x4區塊。然而,本發明之技術可經擴展以應用至任何大 小的區塊。在根據說明於圖3中之Z字形掃描而掃描係數區 塊120之後’所得係數向量κ為: 厂=[4, 0, 0, -2, 〇, 1,。 加強層編碼器32根據本發明中描述之技術來編碼係數向 量K之係數中的每一者。作為一實例,對於係數向量厂之非 零係數中的每一者而言,加強層編碼器32編碼E〇B符號、 運程長度及正負號。如上詳細描述,E〇B符號指示在係數 向量中是否存在任何殘餘非零係數,運程長度表示在係數 向量之當前非零係數之前發生的零值係數之數目,且正負 號指示係數值為正還是為負。 根據本發明之-態樣,加強層編碼器32可能並不編碼係 數之量值。實情為,加強層編碼器32可如同所有非零係數 的量值等於1一般而編碼非零係數中的每一者。以此方 135453.doc •49· 200934250 式,加強層編碼器3 2可被看作編碼以下係數向量〆,而 V 〇 广=[1,〇, 〇, -1,0, 1,〇, 〇, 〇, 〇, 0, 0, 0, 0, 〇, 〇] ❹ 加強層編碼器32可(例如)使用等於零之E〇B、為零之運 程的碼帛組及等於一之正負冑來編瑪第一係冑(亦即,係 數向量F中之4或係數向量厂,中的丨),使用等於零之e〇b、 為二之運程的碼字組及等於零之正負號來編碼第二係數 (亦即,係數向量F中之_2或係數向量广中的_〗),且由等於 零之ΕΟΒ、為-之運程的碼字組及等於—之正負號繼之以 等於-的刪符號來編碼第三非零係、數(亦即,係數向量〆 或係數向量〜的U °如上所述’可自在H.264/MPEG.4部 分10 AVC標準中界定之VLC表獲得用以編碼運程之 組。 于 為了說明目的而描述實例經編碼之位元流。加強層編碼 =可在不背離本發明之料的情況下以不同方式來編碼 、向量卜厂。舉例而言,可將_符號編碼為一以表 2塊中之額外㈣係數,且編碼為零以表示無殘餘非零 、。同樣’可將正負號符號編碼為零以表示為正之非零 係數,且編碼為_以表示為負的非零係、數。作為另 例,針對每-非零係數編碼之_符號可 否為向量的最德非愛尨缸m 田〜你數疋 以㈣非零純n在經編碼位元流之 處可能不存在EOB符號。竇,产盔,产 叫號指示當前係 ”、灸非零係數時,視崎碼H知曉在解碼當前係數之 135453.doc -50· 200934250 運程及符號之後不存在區塊的額外係數。 圖9為說明執行本發明之可調節視訊寫碼技術之視訊編 碼器(諸如’圖2的視訊編瑪器20)之實例操作的流程圖。視 訊編碼器2 0之基礎層編碼器3 0及加強層編碼器3 2自視訊源 18獲得視訊資料(130)。如上所述,基礎層編碼器3〇及加強 層編碼器3 2獲得相同之原始視訊資料。自視訊源丨8獲得之 視訊資料可(例如)為一系列視訊圖框。 ❹The vector is used to produce a two-dimensional block of quantized residual coefficients. Inverse quantization unit 76B inverse quantizes (i.e., dequantizes) the quantized residual coefficients, and inverse transform unit 78B applies an inverse transform to the dequantized residual coefficients (e.g., inverse dct, inverse integer transform, inverse wavelet transform, or inverse direction transform). ) to generate the remaining blocks of pixel values. Prediction unit 80B uses one or more neighboring blocks within a common frame or one or more blocks within an adjacent frame to generate a predicted block in the case of intra-frame prediction or in the case of inter-frame prediction. . The prediction unit generates prediction blocks using previously encoded blocks from both the base layer and the enhancement layer. Summer 84B sums the prediction blocks generated by prediction unit 80B with the remaining blocks of pixel values to form a reconstructed enhancement layer video block. The enhancement layer video block is stored in the frame store 82B for use by the prediction unit 80B to generate subsequent prediction blocks. The reconstructed base layer video block and the reconstructed enhancement layer video block are combined at summer 84C to form a higher quality video block. 135453.doc • 45· 200934250 FIG. 6 is a block diagram illustrating the example base layer decoder 72 and the enhancement layer entropy decoder 86 in further detail. The base layer entropy decimator 72 may include a plurality of VLC tables 52A to 52N ("VLC table 52"), a total coefficient decoder 9A, a trailing l(Tls) decoder 92, and a sign decoder 94. A coefficient magnitude decoder 96, a and a range decoder 98, and a run length decoder 丨〇〇. The enhancement layer entropy decoder 86 may include an EOB symbol decoder 102, a run length decoder 104, and a sign. Decoder 106 and a Vlc table 69. The base layer entropy decoder 72 decodes the base layer bitstream to obtain symbols representing the coefficient vectors of the video blocks at the base πσ quality level. The total coefficient decoder 90 uses the VLC table 52. One of them decomposes the bitstream to obtain the total number of non-zero coefficients in the coefficient vector (TotalCoeff). The total coefficient decoder 9〇 may be based on a prediction of the number of non-zero coefficients of the current coefficient vector (eg, based on one or more The VLC table 52 for decoding TotalCoeff is selected for the number of non-zero coefficients of the previously decoded video blocks. In this way, the total coefficient decoder 9A can be selected to be the same as the VLC table used by the total coefficient encoder 54. VLC table 52 to encode TotalCoeff After the total coefficient decoder 90 decodes the total number of non-zero coefficients, the Tls decoder 92 decodes the Tls symbol. The Tls symbol represents the number of coefficients having a magnitude of one, and when the coefficient vector is read in reverse order, The coefficients are encountered before a coefficient greater than a magnitude. The T1 s decoder 92 can decode the Tis symbol using one of the VLC tables 52 selected based on the predicted number of non-zero coefficients. The sign decoder 94 decodes Any trailing sign of 1. For example, the sign decoder 94 can determine that the sign of the coefficient is positive for each of the trailing ones when receiving 135453.doc -46 - 200934250 to "1" And when the "0" is received, the sign of the coefficient can be determined to be negative. The coefficient magnitude decoder 96 decodes the magnitude of the non-zero coefficient except the trailing one. The coefficient magnitude decoder 96 can use the VLC table, A fixed length write code or other type of entropy write code to decode the level of the non-zero coefficient. The run and decoder 98 may decode the symbol representing the number of zero value coefficients occurring in the coefficient. vector before the last non-zero coefficient, ie sumRuns• The transport and decoder 98 decodes the sumRuns symbol © using one of the VLC tables 52 selected based on the total number of coefficients in the block (T〇talCoeffs), and the total number of coefficients (TotalCoeff) in the block is determined by the total coefficient. The decoder 9 performs the previous decoding. Again, the VLC table is selected based on the total number of coefficients in the block (T〇talc〇effs) to use the allowable run and decoder 98 to select a more efficient decoding table when decoding the sumRuns symbol. The length decoder 100 decodes the length of the run of the coefficient vector. The run length decoder 100 may first decode the run length of the last non-zero coefficient of the coefficient vector, followed by the run length of the previous non-zero coefficient, etc., until the run length before the first-non-zero coefficient of the decoded coefficient φ eigen. In other words, the run length decoder 100 can first begin decoding the last run length. The long run length "Decoding 1164 can be based on the M_Runs of the total distance of the coefficients to 4" and the animal table 52 selected by the sum of the coded runs so far, and each of the lengths of the run length is decoded. The forward and decoder 98 previously decoded the _^ character. However, the 'transport length decoder 1' can collect statistical data on the sum of the so-called decoded to date. Since the length of the possible run length becomes shorter as each additional run is decoded, the run length decoder (10) can select a more efficient VLC table to reduce the number of bits used to represent the run. 135453.doc • 47_ 200934250 The VLC table 52 used by the run length decoder 100 in this manner is variable for each of the operational lengths. The enhancement layer entropy decoder 86 decodes the bitstream of the enhancement layer to obtain, for example, a vector of additional coefficients or refinement of the video blocks in a refined form of the existing coefficients. The EOB symbol decoder 1〇2 determines whether the EOB symbol indicates whether there is at least one residual non-zero coefficient. When there is at least one residual non-zero coefficient, the run length decoder 104 decodes the run length before the next non-zero coefficient. The run length decoder 104 can decode the run length of the next non-zero coefficient using the same VLC table 69 as the VLC table used by the run length encoder 68. The sign encoder 106 decodes the sign of the non-zero coefficient. For example, the sign encoder 106 can determine that the sign of the coefficient is positive (when "1" is received') and negative (when "" is received). The enhancement layer entropy decoder 86 continues to decode the non-zero coefficients until the E0B symbol decoder 1〇2 indicates that there are no residual non-zero coefficients. FIG. 7 is a conceptual diagram illustrating a zigzag scan of a 4x4 coefficient block 40. The zigzag scan shown in Figure 7 can be implemented by the encoders 3, 32 of Figure 2. The scan order of the zigzag scan shown in Figure 7 follows the arrows through the video block 11 and is labeled in the scan order by a factor (1 to (; 16). In detail, it is shown in Figure 7. The value indicates the position of the coefficient within the sequential one-dimensional vector and does not represent the actual value of the coefficient. The result of the zigzag scan shown in Figure 7 is the one-dimensional coefficient vector JT, where [cl, c2, c3, C4, c5 , c6, c7, c8, c9, clO, ell, cl2, cl3s cl4, cl5, 〇16] where cl to cl 6 represent coefficient positions within a two-dimensional array of coefficients. 135453.doc • 48- 200934250 It is not limited to any particular scanning order or technique. For example, the scanning order used in the present invention may be the zigzag scanning order shown in Fig. 7. Alternatively, the scanning order used in the present invention may be other scanning order, such as 'Horizontal scanning, vertical scanning or any other scanning technique. Figure 8 is a conceptual diagram illustrating a hypothetical example of a coefficient block 12 of the coefficients of the enhancement layer. In this example, the values shown in Figure 8 indicate the coefficients at the locations. Actual value of the coefficient block 120 The coefficient values may represent quantized residual coefficients, unquantized transform coefficients, or other types of coefficients of the video block in the enhancement layer. In the example illustrated in Figure 8, the coefficient block 丨2〇 is a 4x4 block. The techniques of the present invention can be extended to apply to blocks of any size. After the coefficient block 120 is scanned according to the zigzag scan illustrated in Figure 3, the resulting coefficient vector κ is: Factory = [4, 0, 0 , -2, 〇, 1. The enhancement layer encoder 32 encodes each of the coefficients of the coefficient vector K in accordance with the techniques described in this disclosure. As an example, for each of the non-zero coefficients of the coefficient vector factory For example, the enhancement layer encoder 32 encodes the E〇B symbol, the run length, and the sign. As described in detail above, the E〇B symbol indicates whether there are any residual non-zero coefficients in the coefficient vector, and the run length is represented at the current of the coefficient vector. The number of zero-valued coefficients that occur before the non-zero coefficient, and the positive or negative sign indicates whether the coefficient value is positive or negative. According to the aspect of the present invention, the enhancement layer encoder 32 may not encode the magnitude of the coefficient. Floor Encoder 32 may encode each of the non-zero coefficients as if all non-zero coefficients were equal to 1. In this way 135453.doc • 49· 200934250, the enhancement layer encoder 3 2 can be considered as encoding the following The coefficient vector 〆, and V 〇 wide = [1, 〇, 〇, -1, 0, 1, 〇, 〇, 〇, 〇, 0, 0, 0, 0, 〇, 〇] ❹ The enhancement layer encoder 32 can (for example) using the code group equal to zero, the code group of zero, and the positive and negative ones equal to one to compile the first system (ie, 4 in the coefficient vector F or the coefficient vector, 丨) Encoding the second coefficient (ie, _2 in the coefficient vector F or _ in the coefficient vector wide) using e〇b equal to zero, a codeword group of two fortune, and a sign equal to zero, and equal to zero Then, the codeword group of the fortune and the sign of equal to - followed by the delete symbol equal to - encode the third non-zero system, the number (ie, the coefficient vector 〆 or the coefficient vector ~ U ° as above The set of VLC tables defined in the H.264/MPEG.4 Part 10 AVC standard is obtained for encoding the group of the fortune. An example encoded bit stream is described for illustrative purposes. Reinforcement layer coding = can be coded in different ways without departing from the material of the invention. For example, the _ symbol can be encoded as an additional (four) coefficient in the block of Table 2, and encoded as zero to indicate no residual non-zero. Similarly, the sign can be coded to zero to represent a positive non-zero coefficient, and encoded as _ to represent a negative non-zero system, number. As an alternative, the _ symbol for each-non-zero coefficient encoding may be the most unique of the vector. You may not have an EOB symbol at the encoded bit stream. (4) Non-zero pure n. The sinus, the helmet, the production number indicates the current system, and when the moxibustion is non-zero coefficient, the spectroscopy code H knows that there is no extra coefficient of the block after decoding the current coefficient of 135453.doc -50· 200934250. A flowchart illustrating an example operation of a video encoder (such as the video coder 20 of FIG. 2) that implements the adjustable video coding technique of the present invention. The base layer encoder 30 and the enhancement layer of the video encoder 20 The encoder 3 2 obtains the video material (130) from the video source 18. As described above, the base layer encoder 3 and the enhancement layer encoder 32 obtain the same original video data. The video data obtained from the video source 8 can be ( For example) is a series of video frames.

對於每一視訊區塊而言,基礎層編碼器3〇使用執行多個 編碼一次操作之寫碼技術來編碼基礎層(132)。基礎層以第 一品質等級編碼視訊區塊。基礎層編碼器3 〇可產生表示處 於第一品質之視訊區塊的係數向量,且編碼區塊之剩餘變 換係數以產生基礎層。基礎層編碼器3〇可根據如在 H.264/MPEG-4部分i 〇 AVC標準中界定之cavlc編碼係數 向量以產生基礎層。如上文關於圖2詳細描述,基礎層編 碼器30可執行用以分析係數向量之第__編碼-次操作及用 以基於分析編碼係數向量的第二一次操作。 對於每一視訊區塊而言,加強層編碼器32使用執行單一 編碼-次操作之寫碼技術來將額外位元編碼為加強層 (134)。加強層位元流之額外位元編碼精化,該等精化在^ 加至基礎層位元流時將視訊增強為第二較高品質等級雖 然在此實例中將加強層編碼器32描述為僅㈣單— 層’但加㈣編碼㈣可編碼一個以上加強層位 該狀況下’在加強層隨著其經解碼而提供逐漸較高:= 的意義上,加強層可為階層式的。 印貿 135453.doc 51 200934250 由加強層編碼器32使用之第二熵寫碼技術對於加強層之 係數向量之非零係數_的每一者而言可編碼e〇b符號、運 程及正請。如上詳細描述,EOB符號可指示是否存在任 何殘餘非零係數,運程長度表示在非零係數之前發生的零 值係數之數目,且正負號指示係數值為正還是為負。在最 後非零係數之正貞狀後,加㈣編碼㈣可編碼e〇b符 號以指示不存在殘餘非零係數。 ❹For each video block, the base layer encoder 3 encodes the base layer (132) using a write code technique that performs multiple coded one operations. The base layer encodes the video block with the first quality level. The base layer encoder 3 产生 can generate a coefficient vector representing the video block of the first quality and encode the remaining transform coefficients of the block to generate the base layer. The base layer encoder 3 may generate a base layer according to a cavlc coding coefficient vector as defined in the H.264/MPEG-4 part i 〇 AVC standard. As described in detail above with respect to Figure 2, base layer encoder 30 may perform a first __code-time operation to analyze the coefficient vector and a second operation to analyze the coefficient vector based on the analysis. For each video block, enhancement layer encoder 32 encodes the extra bits into enhancement layer (134) using a write code technique that performs a single code-second operation. Enhancing the extra bit coding refinement of the layer bit stream, which enhances the video to a second higher quality level when added to the base layer bit stream, although in this example the enhancement layer encoder 32 is described as Only (four) single-layer 'but plus (four) encoding (four) can encode more than one enhancement horizon. In this case, the reinforcement layer can be hierarchical in the sense that the enhancement layer provides a progressively higher:= as it is decoded. INTEGRATION 135453.doc 51 200934250 The second entropy writing technique used by the enhancement layer encoder 32 encodes the e〇b symbol, the operation and the positive for each of the non-zero coefficients _ of the coefficient vector of the enhancement layer. As described in detail above, the EOB symbol can indicate whether any residual non-zero coefficients are present, the run length represents the number of zero-valued coefficients that occurred before the non-zero coefficients, and the sign indicates whether the coefficient value is positive or negative. After the last non-zero coefficient is positively shaped, the (4) code (4) encodes the e〇b symbol to indicate that there are no residual non-zero coefficients. ❹

基礎層編碼H3G及加強層编碼器32分職出經編碼之基 礎層位元流及加強層位元流(i 36)。由加強層編碼器32使用 之滴寫媽技術可允許在無寫碼效率之大#損耗情況下以較 低計算及實施複雜性來編碼加強層的剩餘係數。本發明之 熵寫碼技術可賦能加強層位元流中之(例如)呈精化形式之 額外視訊資料在單一編碼一次操作中的寫碼,藉此減少寫 碼複雜性、寫碼延遲及記㈣要求。例如,加強層編碼器 32可2不知曉任何㈣係數的情況下編碼加強層之係數向 每非零係數,從而允許在單--次操作令寫瑪係數 向量,且消除執行—用以分析係數向量之第――次操作及 用於基於分析寫碼係 '數向量的第二—次操作之需要。 圖10為說明根據本發明之—態樣之編碼加強層的視訊區 塊之剩餘係數之加強層編碼器(諸如,圖2之加強層編碼器 )的實例操作之流程圖。加強層編瑪器Μ識別加強層區 j _向量中的第一非零係數(140)。加強層編碼器32編 ^ 纟加強層區塊之係數向量存在至少一殘餘非零係 的 B符號(142)。加強層編碼器32可使用單一位元編碼 135453.doc -52- 200934250 EOB符號,例如’在存在至少—錢非㈣數時編碼零且 在不存在殘餘非零係數時編.碼一。 加強層編碼器32編碼一指示先於非零係數之零值係數之 數目的運程(144)。加強層編碼器32在-些例子中可使用針 對如在H.264/MPEG-4部分1〇 AVC標準中界定之cavlc& 儲存的VLC表而編碼運程。舉例而言,加強層編碼器咖 使用用以在係數之總數(T〇talc〇effs)等於一時寫碼總運程 之和(sumRuns)的VLC表來編碼運程。或者,加強層編碼 器32可維持一經特定地設計以編碼加強層之係數向量之運 程的單獨VLC表。 加強層編碼器32可編碼非零係數之正負號(146)。加強 層編碼器32可(例如)編碼”丨吖若非零係數之正負號為正), 且編碼"0"(若非零係數之正負號為負)。在一些例子中,加 強層編碼器3 2可能不編瑪非零係數的量值。以此方式,加 強層編碼器32可將非零係數之量值限制為一。因而,將具 有大於一之量值的任何非零係數設定為等於一。不編碼加 強層之非零係數之量值可導致峰值訊雜比(PSNr)之某一損 耗’但減少用以編碼非零係數之位元的數目。 加強層編碼器32判定在加強層區塊中是否存在任何殘餘 非零係數(148)。當在加強層區塊中存在至少一殘餘非零係 數時,加強層編碼器32繼續編碼殘餘非零係數中之每一者 的EOB、運程及正負號。當在加強層區塊中不存在殘餘非 零係數時,加強層編碼器32編碼EOB符號,以指示在加強 層區塊之係數向量中不存在殘餘非零係數(149) ^如上所 135453.doc -53- 200934250 述,將加強層連同基礎層一起傳輸。 因為圖ίο中描述之加強層寫碼技術並不寫碼;歩及一個以 上係數之符號,所以加強層寫碼技術視可用位元率而可允 許加強層編碼器32在編碼期間|棄係數向量之經量化剩餘 係數中的-或多者。此外,加強層寫碼技術減少寫碼複雜 性及實施。 . 圖11為說明解碼加強層位元流以獲得剩餘變換係數之向The base layer coded H3G and the enhancement layer encoder 32 separate the coded base layer bit stream and the enhancement layer bit stream (i 36). The drop-on-mother technique used by the enhancement layer encoder 32 allows the residual coefficients of the enhancement layer to be encoded with less computation and implementation complexity without significant write efficiency. The entropy coding technique of the present invention can enhance the write code of the additional video data in the layered bit stream in a single coded operation, for example, in a single coded one operation, thereby reducing write code complexity, write code delay and Remember (4) requirements. For example, the enhancement layer encoder 32 may encode the coefficients of the enhancement layer to each non-zero coefficient without knowing any (four) coefficients, thereby allowing the vector of the coefficient to be written in the single-second operation order, and eliminating the execution - for analyzing the coefficients The first of the vectors - the second operation and the second - order operation based on the analysis of the code system 'number vector. Figure 10 is a flow diagram showing an example operation of a enhancement layer encoder (such as the enhancement layer encoder of Figure 2) of the residual coefficients of the video enhancement block of the coding enhancement layer in accordance with the present invention. The enhancement layer coder identifies the first non-zero coefficient (140) in the enhancement layer region j _ vector. The enhancement layer encoder 32 encodes the coefficient vector of the enhancement layer block to have at least one residual non-zero system B symbol (142). The enhancement layer encoder 32 may encode a 135453.doc -52 - 200934250 EOB symbol using a single bit, e.g., 'code zero when there is at least a money non-four number and code one when there are no residual non-zero coefficients. The enhancement layer encoder 32 encodes a run (144) indicating the number of zero value coefficients preceding the non-zero coefficients. The enhancement layer encoder 32 may encode the flight in a number of examples using a stored VLC table as defined in the H.264/MPEG-4 Part 1 AVC standard. For example, the enhancement layer encoder uses a VLC table to encode the run when the total number of coefficients (T〇talc〇effs) is equal to the sum of the total runs of the code (sumRuns). Alternatively, enhancement layer encoder 32 may maintain a separate VLC table that is specifically designed to encode the coefficient vectors of the enhancement layers. The enhancement layer encoder 32 may encode the sign of the non-zero coefficient (146). The enhancement layer encoder 32 may, for example, encode "if the sign of the non-zero coefficient is positive", and encode "0" (if the sign of the non-zero coefficient is negative). In some examples, the enhancement layer encoder 3 2 may not encode the magnitude of the non-zero coefficient. In this manner, the enhancement layer encoder 32 may limit the magnitude of the non-zero coefficient to one. Thus, any non-zero coefficient having a magnitude greater than one is set equal to 1. The magnitude of the non-zero coefficient of the non-encoded enhancement layer may result in a certain loss of the peak-to-noise ratio (PSNr) but reduces the number of bits used to encode the non-zero coefficient. The enhancement layer encoder 32 determines the enhancement layer. Whether there are any residual non-zero coefficients in the block (148). When there is at least one residual non-zero coefficient in the enhancement layer block, the enhancement layer encoder 32 continues to encode the EOB, fortune of each of the residual non-zero coefficients And a sign. When there are no residual non-zero coefficients in the enhancement layer block, the enhancement layer encoder 32 encodes the EOB symbol to indicate that there are no residual non-zero coefficients in the coefficient vector of the enhancement layer block (149). 135453.doc -53- 2 00934250 describes that the enhancement layer is transmitted along with the base layer. Because the enhancement layer write code technique described in Figure ί does not write code; and the symbol of more than one coefficient, the enhancement layer write code technique allows for the available bit rate. The enhancement layer encoder 32 discards - or more of the quantized residual coefficients of the coefficient vector during encoding. In addition, the enhancement layer write coding technique reduces write code complexity and implementation. Figure 11 illustrates the decoding enhancement layer bit stream. To obtain the direction of the remaining transform coefficients

量的加強層解碼器(諸如,圖2之加強層解碼器36)之實例操 作的流程圖。加強層解碼器36獲得加強層位元流(150)。加 強層解碼器36分析EOB符號以判定是否存在任何殘餘非零 係1 5 2 )。加強層解碼器3 6可(例如)在刪符號等於零時 判疋存在至☆-殘餘非零係數,且在ε〇β符號等於一時判 定不存在殘餘非零係數。 當加強層解碼器36判定存在至少—殘餘非零係數(例 如’ Ε〇Β符號等於零)時,加強層解碼器36解碼與下一非 零係數相關聯的運程(154)。與下—非零係數相關聯之運程 表Γ、非零係、數之W的零值係數之數目。加強層解碼器%使 用與由加強層編碼㈣使用之似表相㈣νιχ表來解碼 運程。在-例子中’加強層解碼㈣可使用用於如界定於 H.264/MPEG-4部分 1〇 准丄 I刀AVC標準中之CAVL(:中的用於寫碼 總運程和(sumR刪)中(當係、數之㈣(T。㈣。effs)等於-時)的VLC表來解碼運程。然而,可使用其他Μ表,只要 其為由加強層編碼器32使用之同—表便可。加強層解碼器 36將等於非零係數之前的運程長度之數目個係數設定為等 135453.doc •54· 200934250 於零(156)。若運程長度等於二,則(例如)加強層解碼器36 可將非零係數之前的兩個係數設定為等於零。Flowchart of an example operation of a quantity of enhancement layer decoders, such as enhancement layer decoder 36 of FIG. The enhancement layer decoder 36 obtains a enhancement layer bitstream (150). The enhancement layer decoder 36 analyzes the EOB symbols to determine if there are any residual non-zero systems 1 5 2 ). The enhancement layer decoder 36 may, for example, determine the presence of a ☆-residual non-zero coefficient when the decimation symbol is equal to zero, and determine that there are no residual non-zero coefficients when the ε 〇 β symbol is equal to one. When enhancement layer decoder 36 determines that there is at least a residual non-zero coefficient (e.g., the 'Ε〇Β symbol is equal to zero), enhancement layer decoder 36 decodes the motion associated with the next non-zero coefficient (154). The number of zero-valued coefficients associated with the lower-non-zero coefficient, the non-zero system, and the number W. The enhancement layer decoder uses a table-like (four) νιχ table that is encoded by the enhancement layer (4) to decode the run. In the example - 'enhancement layer decoding (4) can be used for CAVL (as in the H.264/MPEG-4 part 1) 〇 丄 I knife AVC standard (for the total code for the code and (sumR deleted) The VLC table (in the system, the number (4) (T. (four). effs) is equal to -) is used to decode the run. However, other tables can be used as long as it is the same table used by the enhancement layer encoder 32. The enhancement layer decoder 36 sets the number of coefficients of the run length equal to the non-zero coefficient to equal 135453.doc • 54· 200934250 at zero (156). If the run length is equal to two, then for example, the enhancement layer decoder 36 The two coefficients before the non-zero coefficient can be set equal to zero.

加強層解碼器36解碼非零係數之正負號(丨58)。非零係 數之正負號可解碼為正(在正負號符號等於一時),及解碼 為負(在正負號符號等於零時)。在解碼非零係數之正負號 之後’加強層解碼器36可基於經解碼之正負號將非零係數 設定為等於正一或負一(丨60) 〇如上所述,加強層可能不編 碼加強層之係數的量值。同樣,加強層解碼器36可經組態 以將所有非零係數之量值設定為等於一。 加強層解碼器36繼續解碼非零係數之運程及正負號直至 加強層解碼器36判定不存在殘餘非零係數(例如,E〇B符 號等於一)為止。在此點上,若殘餘任何係數,則加強層 解碼器36將向量之殘餘係數s定為等於零。如關於圖 2詳細描述,加強層解碼器%使用除預測區塊外之係數向 量及其他資料以重建視訊區塊以供呈現給顯示器28。 圖12至圖15為說明用於可調節視訊寫瑪中之編碼器及/ 或解碼器的不同組態之方塊I此等實例編碼器及解碼器 係為了說明可利用本發明之技術的編碼器類型。然而,實 ^組態決不應限制如所描述的技術。技術可用於任何可調 節視訊編碼器中。The enhancement layer decoder 36 decodes the sign of the non-zero coefficient (丨58). The sign of a non-zero coefficient can be decoded as positive (when the sign is equal to one) and decoded as negative (when the sign is equal to zero). After decoding the sign of the non-zero coefficient, the enhancement layer decoder 36 may set the non-zero coefficient equal to positive one or negative one based on the decoded sign (丨60). As described above, the enhancement layer may not encode the enhancement layer. The magnitude of the coefficient. Likewise, enhancement layer decoder 36 can be configured to set the magnitude of all non-zero coefficients equal to one. The enhancement layer decoder 36 continues to decode the run and sign of the non-zero coefficients until the enhancement layer decoder 36 determines that there are no residual non-zero coefficients (e.g., the E〇B symbol is equal to one). At this point, if any coefficients are left, the enhancement layer decoder 36 sets the residual coefficient s of the vector equal to zero. As described in detail with respect to Figure 2, the enhancement layer decoder % uses coefficient vectors and other data in addition to the prediction blocks to reconstruct the video blocks for presentation to display 28. 12 through 15 are block diagrams illustrating different configurations of encoders and/or decoders in an adjustable video write. These example encoders and decoders are illustrative of encoders that may utilize the techniques of the present invention. Types of. However, the actual configuration should in no way limit the techniques as described. Technology can be used in any adjustable video encoder.

說明於圖12至圖15巾$杳办丨、B 實"視訊編碼器及解碼器中之每 一者可利用本發明中描述熵 士 之燜寫碼技術以促進加強層位元 &的有效寫碼。本發明之熵鸾 寫1技術可難在單—編碼- 欠操作中對加強層位元流中之^ u甲之(例如)呈精化形式之額外視 135453.doc •55- 200934250 訊資料的寫碼’藉此減少寫碼複雜性、寫碼延遲及記憶體 要求如將進-步詳細描述可在不知曉任何後績係數 (亦即*則正被寫碼之非零係數之後的任何係數)的情況 下編碼加強層之係數向量中的每-非零係數。在單--次 操作中寫碼加強層可消除執行一分析係數向量之第一—次 #作及用於基於分析而寫碼係數向量的第二—次操作之需 要。 圖12為說明實例可調節視訊編碼器170的方塊圖。可調 ❹ 冑視訊編碼器17Q可(例如)與圖2之視訊編碼器2G對應。在 圖12之實例中’可調節視訊編碼器17〇包括一基礎層編碼 益30 ’該基礎層編碼器3〇包括一預測單元172、圖框储存 器173、變換單元174、量化單元丨乃入及ΐ75β、逆量化單 το 176A及176B、逆變換單元177、多工模组178及求和器 179A至179C。㈣3中之不同特徵描緣為單元意欲突出所 說明設備之不同功能態樣,且並不一定暗示此等單元必須 由單獨硬體或軟體組件來實現。實情為,與一或多個單 元相關聯之功能性可整合至共同或單獨硬體或軟體組件 内。 預測單A 172使用框内預測或框間預測產生預測區塊。 預測區塊可為正被寫碼之當前視訊區塊的預測型式。如上 所述,預測單tl 172可基於與當前正被寫碼之區塊相同之 圖框内之基礎層的一或多冑&前編碼區塊而使用框内預測 產生預測區塊。或者,預測單元可基於基礎層之一或多個 相鄰圖框内之一或多個先前編碼區塊而使用框間預測產生 135453.doc -56- 200934250 預測區塊。預測單元172可自圖框儲存器173提取先前編碼 區塊。 在視訊區塊之基於框内或框間之預測之後,基礎層編碼 器30藉由在求和器179A處自當前視訊區塊減去藉由預測單 元172產生之預測區塊而產生剩餘區塊。剩餘區塊包括量 化當前視訊區塊之像素值與預測區塊的像素值之間的差之 像素差值集合。剩餘區塊可以二維區塊格式(例如,像素 值之二維矩陣或陣列)來表示。換言之’剩餘區塊為像素 〇 值的二維表示。 變換單元174向剩餘區塊應用變換以產生剩餘變換係 數。變換單元174可(例如)應用DCT、整數變換、方向變 換、小波變換或其組合。在向像素值之剩餘區塊應用變換 之後’量化單元17 5 A量化變換係數以進一步減少位元率。 量化單元175 A之對應於與基礎層相關聯之經量化係數的輸 出被提供至多工模組178。 _ 在量化之後,逆量化單元176A應用逆量化以產生變換係 數之剩餘區塊的經重建型式。求和器179B自由變換單元 1 74輸出之變換係數之原始剩餘區塊減去自逆量化單元 1 76 A輸出的變換係數的剩餘區塊之經重建型式。將本文中 稱為變換差區塊之此區塊提供至量化單元175B。量化單元 1 75B量化變換係數以進一步減少位元率。量化單元丨75β 之對應於與加強層相關聯之經量化係數的輸出被提供至多 工模組178。在一實例中’量化單元175A可使用第一 QP量 化剩餘係數,且量化單元175B可使用第二qP量化剩餘係 135453.doc -57- 200934250 數差。第二QP可(例如)為第一 Qp之值的一半亦即, QP/2。 ’ 在藉由量化單元175B進行之量化之後,逆量化單元 176B應用逆量化以產生變換差區塊的經重建型式。求和器 179C對自逆量化單元176八輸出之變換係數之剩餘區塊之 經重建型式與藉由逆量化單元丨7犯輸出的變換差區塊之經 重建型式求和以產生經重建的剩餘區塊。 逆變換單元177對視訊區塊之經重建型式應用逆變換。 β 經重建型式之視訊區塊儲存於圖框儲存器1<73中,且可由 預測單7L 172使用以框内或框間寫碼後續視訊區塊。預測 單元172可向多工模組178提供控制資料,諸如,運動向 量、勿割大小、框内寫碼模式或其類似者。多工模组丄 可組合基礎層資料與加強層資料。在一些例子中,多工模 組178可包括用於熵編碼基礎層資料及加強層資料的熵編 碼器。在其他例子中,基礎層編碼器及加強層編碼器可獨 立於多工模組。Illustrated in FIG. 12 to FIG. 15 each of the video encoders and decoders can utilize the entropy code writing technique described in the present invention to promote the enhancement layer bits & Effective code writing. The entropy write 1 technique of the present invention may be difficult to perform in the single-code-under-operation for the additional form of the refined layer in the enhanced layer bit stream (for example) in the refined form 135453.doc • 55- 200934250 Write code 'to reduce write code complexity, write code delay and memory requirements as detailed in the step-by-step description of any coefficient after the non-zero coefficient of the code being written without knowing any subsequent coefficient (ie *) In the case of coding the per-non-zero coefficient in the coefficient vector of the enhancement layer. Writing a code enhancement layer in a single-time operation eliminates the need to perform a first-time operation of an analysis coefficient vector and a second-time operation for writing a code coefficient vector based on analysis. FIG. 12 is a block diagram illustrating an example adjustable video encoder 170. The ❹ 胄 video encoder 17Q can, for example, correspond to the video encoder 2G of FIG. In the example of FIG. 12, the 'adjustable video encoder 17' includes a base layer coding benefit 30'. The base layer encoder 3 includes a prediction unit 172, a frame storage unit 173, a transform unit 174, and a quantization unit. And β75β, inverse quantized το 176A and 176B, inverse transform unit 177, multiplexer module 178, and summers 179A to 179C. (d) The different features described in 3 are intended to highlight the different functional aspects of the device described, and do not necessarily imply that such elements must be implemented by separate hardware or software components. In fact, the functionality associated with one or more units can be integrated into a common or separate hardware or software component. The prediction list A 172 generates prediction blocks using in-frame prediction or inter-frame prediction. The prediction block can be a prediction pattern of the current video block being coded. As described above, the prediction unit 172 may generate the prediction block using intra-frame prediction based on one or more & pre-coded blocks of the base layer within the same frame as the block currently being coded. Alternatively, the prediction unit may generate an 135453.doc - 56 - 200934250 prediction block using inter-frame prediction based on one or more previously coded blocks within one or more adjacent frames of the base layer. Prediction unit 172 can extract the previously encoded block from frame storage 173. After the intra-frame or inter-frame prediction of the video block, the base layer encoder 30 generates the remaining block by subtracting the prediction block generated by the prediction unit 172 from the current video block at the summer 179A. . The remaining blocks include a set of pixel difference values that quantify the difference between the pixel values of the current video block and the pixel values of the predicted block. The remaining blocks can be represented in a two-dimensional block format (e.g., a two-dimensional matrix or array of pixel values). In other words, the remaining block is a two-dimensional representation of the pixel 〇 value. Transform unit 174 applies a transform to the remaining blocks to produce a residual transform coefficient. Transform unit 174 can, for example, apply DCT, integer transform, direction transform, wavelet transform, or a combination thereof. After applying the transform to the remaining blocks of pixel values, the quantization unit 17 5 A quantizes the transform coefficients to further reduce the bit rate. The output of quantization unit 175 A corresponding to the quantized coefficients associated with the base layer is provided to multiplex module 178. _ After quantization, inverse quantization unit 176A applies inverse quantization to produce a reconstructed version of the remaining blocks of the transform coefficients. The original residual block of the transform coefficients output by the summer transform unit 1 74 is subtracted from the reconstructed version of the remaining block of the transform coefficients output from the inverse quantization unit 1 76 A. This block, referred to herein as a transform difference block, is provided to quantization unit 175B. Quantization unit 1 75B quantizes the transform coefficients to further reduce the bit rate. An output of the quantized unit 丨75β corresponding to the quantized coefficients associated with the enhancement layer is provided to the multiplex module 178. In an example, quantization unit 175A may quantize the residual coefficients using the first QP, and quantization unit 175B may quantize the residual system 135453.doc -57 - 200934250 by the second qP. The second QP can be, for example, half the value of the first Qp, i.e., QP/2. After quantization by quantization unit 175B, inverse quantization unit 176B applies inverse quantization to produce a reconstructed version of the transformed difference block. The summer 179C sums the reconstructed version of the remaining block of the transform coefficients output by the self-inverse quantization unit 176 and the reconstructed version of the transformed transform block that is output by the inverse quantization unit 丨7 to produce a reconstructed residual Block. Inverse transform unit 177 applies an inverse transform to the reconstructed version of the video block. The beta reconstructed video block is stored in the frame store 1 < 73 and can be used by the predictive list 7L 172 to write the subsequent video blocks in-frame or inter-frame. Prediction unit 172 can provide control data to multiplex module 178, such as motion vector, uncut size, in-frame write mode, or the like. Multi-tasking module 丄 Combine base layer data and reinforcement layer data. In some examples, multiplex block 178 may include an entropy encoder for entropy encoding base layer data and enhancement layer data. In other examples, the base layer encoder and the enhancement layer encoder can be independent of the multiplex module.

I 圖13為說明實例可調節視訊解碼器18〇的方塊圖。可調 節視訊解碼器180可(例如)與圖2之視訊解碼器26對應。圖 13之可調卽視訊解碼器18〇包括解多工模組“I、逆量化單 元182A及182B、逆變換單元183、預測單元184、圖框儲 存器185及求和器186八及18把。 解多工模組1 81接收可調節編碼視訊,且解多工信號。 在一些例子申,解多工模組181可包括用於熵解碼基礎層 資料及加強層資料的熵解碼器。在其他例子中,基礎層解 135453.doc -58· 200934250 碼器及加強層解碼器可獨立於解多工模組^ ' 逆量化單元182A逆量化(亦即,解量化)與基礎層相關聯 之經量化剩餘係數,且逆量化單元182B解量化與加強層相 關聯的經量化剩餘係數。在一實例中,逆量化單元182A可 使用第一QP量化剩餘係數,且逆量化單元丨82B可使用第 一 QP量化剩餘係數差。第二qp可(例如)為第一 Qp之值的 一半,亦即,QP/2。在求和器186Λ處將由逆量化單元 182A及182B輸出之經解量化之變換係數的各別集合相加 以產生經重建的剩餘變換區塊。如上所述,由逆量化單元 182A輸出之經解量化之變換係數可與基本品質等級對應, 且由逆量化單元1 82B輸出之經解量化之變換係數在添加至 逆量化單元182B之輸出時導致增加之品質等級。 逆變換早元183向經解量化之剩餘係數區塊之和應用逆 變換(例如,逆DCT、逆整數變換、逆小波變換或逆方向 變換)以產生像素值的剩餘區塊。求和器丨86B將藉由預測 單元184產生之預測區塊與像素值之剩餘區塊相加以形成 經重建的基礎層視訊區塊。如上詳細所述,預測單元18 4 可在框内預測的狀況下使用共同圖框内之一或多個相鄰區 塊或在框間預測的狀況下使用相鄰圖框内之一或多個區塊 產生預測區塊,該預測區塊可儲存於圖框儲存器1 85内。 圖14為說明另一實例可調節視訊解碼器19〇的方塊圖。 可調節視訊解碼器190可(例如)與圖2之視訊解碼器26對 應。圖14之可調節視訊解碼器19〇包括解多工模組191、逆 量化單元192A及192B、逆變換單元193A及193B、預測單 135453.doc -59- 200934250 元194、圖框儲存器195及求和器196八及19仙。 解多工模組191接收可調節編碼視訊,且解多工信號。 在一些例子中’解多工模組1 8丨可包括用於熵解碼基礎層 資料及加強層資料的熵解碼器。在其他例子中,基礎層解 碼器及加強層解碼器可獨立於解多工模組。 逆量化單元192A及逆變換單元193A對與基礎層相關聯 之經解碼剩餘係數應用逆量化(亦即,解量化)及逆變換操 作以獲得基礎層的剩餘區塊之經重建型式。逆量化單元 〇 192B及逆變換單元193B對與加強層相關聯之經解碼剩餘 係數應用逆量化(亦即,解量化)及逆變換操作以獲得加強 層的剩餘區塊之經重建型式。在一實例中,逆量化單元 192Α可使用第一 qp量化剩餘係數,且逆量化單元192Β可 使用第二QP量化剩餘係數差。第二Qp可(例如)為第一呀 之值的一半,亦即,QP/2。 預測單元194可在框内預測的狀況下使用共同圖框内之 Θ —或多個相鄰區塊或在框間預測的狀況下使用相鄰圖框内 之一或多個區塊產生預測區塊,該預測區塊可儲存於圖框 儲存器195内。求和器196Α將由預測單元194產生之預測區 -塊與自逆變換單元193 Α輸出之經重建的剩餘區塊相加以產 生處於基本品質等級的經解碼視訊資料。自可調節視訊解 碼器190輸出具有基本品質等級的經解碼視訊資料。 具有基本品質等級之經解碼視訊資料亦被提供至求和器 196B。求和器196B將求和器196A之輸出與自逆變換單元 193B輸出之加強層的剩餘區塊之經重建型式相加以產生處 135453.doc 200934250 於第二較高品質等級的經解石馬視訊資料。自可調節視訊解 碼器190輸出具有基本品質等級的經解碼視訊資料。 圖15為說明另一實例視訊編碼器2〇〇的方塊圖。在圖15 之實例中,基礎層編碼器3〇包括一預測單元33A、圖框儲 存器35A、變換單元38A、量化單元4〇A、係數掃描單元 • 41A、逆量化單以2A、逆變換單元椒、基礎層熵編碼器 46、求和器48A至48C及框内預測單元4〇A。將圖3中之不 同特徵描繪為單元意欲突出所說明設備之不同功能態樣, Φ ^•並不—定暗示此等單元必須藉由單獨硬體或軟體組件來 實現。實情為,與一或多個單元相關聯之功能性可整合至 共同或單獨硬體或軟體組件内。 預測單元33A使用框間預測(例如,經運動補償之預測) 而產生預測區塊。預測區塊可為正被寫碼之當前視訊區塊 的預測型式。如上所述,預測單元33A可基於基礎層之一 或多個相鄰圖框内之一或多個先前編碼區塊使用框間預測 藝而產生預測區塊。預測單元33八可自圖框儲存器35A提取 先前編碼區塊。 在視訊區塊之基於框間之預測之後,基礎層編碼器3〇藉 由在求和器48A處自當前視訊區塊減去由預測單元33a產 生之預測區塊而產生剩餘區塊。剩餘區塊包括量化當前視 訊區塊之像素值與預測區塊的像素值之間的差之像素差值 集合。剩餘區塊可以二維區塊格式(例如,像素值之二維 矩陣或陣列)來表示^換言之,剩餘區塊為像素值的二維 表示。 135453.doc 61 200934250 變換單元3 8 A向剩餘區塊應用變換以產生剩餘變換係 數。變換單元38A可(例如)應用DCT、整數變換、方向變 換、小波變換或其組合。在向像素值之剩餘區塊應用變換 之後,量化單元40A量化變換係數以進一步減少位元率。 在量化之後,逆量化單元42A及逆變換單元44A可分別應 用逆量化及逆變換以重建剩餘區塊。求和器48B將經重建 之剩餘區塊與由預測單元33A產生之預測區塊相加以產生 經重建的視訊區塊以供儲存於圖框儲存器35A中。儲存於 〇 圖框儲存器34中之經重建之視訊區塊可由基礎層編碼器3〇 之預測單元32使用以框内或框間寫碼後續視訊區塊。另 外’如以下將更詳細描述’儲存於圖框儲存器35A中之經 重建之視訊區塊可由加強層編碼器32之預測單元33B使用 以框内或框間寫碼加強層中之視訊區塊的精化。 在量化之後,求和器48C自經量化剩餘係數減去由框内 預測單元40A產生之經框内預測的區塊。框内預測單元 4 0A可基於與當前正被寫碼之區塊相同之圖框内的一 © 义 ^ 個先如編碼區塊使用框内預測而產生預測區塊。基礎層熵 編碼器46(例如)使用如在H.264/MPEG-4部分1〇 AVC標準中 界定且以上關於圖2詳細描述的CAVLC而熵編碼自求和器 48C輸出的係數p 加強層編碼器32包括一預測單元33B、圖框儲存器 35B、變換單元38B、量化單元40B、係數掃描單元41B、 逆量化單元42B、逆變換單元44B、加強層熵編碼器49及 求和器48D至48F。加強層編碼器32之單元大體上類似於基 135453.doc -62- 200934250 礎層編碼器30之經類似編號之彼等單元。因而,將僅描述 差異。 加強層編碼器32之預測單元33B產生為當前視訊區塊之 預測型式的預測區塊。不同於基礎層編碼器3 〇之使用基礎 層之先前編碼區塊來產生預測區塊的預測單元33 A,加強 層編碼器32之預測單元33B可基於加強層之一或多個先前 編碼區塊而產生預測區塊。加強層之經重建視訊區塊可處 於高於基礎層之預測區塊之品質等級的第二品質等級。 ❹ 加強層編碼器32與基礎層編碼器30之間的額外差異為, 在求和器48F處將加強層編碼器32之逆量化單元42B的輸出 與加強層編碼器30之逆量化單元42A的輸出組合。將逆量 化單元42A與42B之輸出相加產生較高品質之經重建視訊 區塊,因此允許上述預測單元進行的較好預測。 本發明中所描述之技術可以硬體、軟體、韌體或其任何 組合來實施。描述為單元或組件之任何特徵可一起實施於 整合邏輯設備中或單獨地實施為離散但可互操作的邏輯設 備。若以軟體來實施,則技術可由包含指令之電腦可讀媒 體至少部分地實現’當該等指令經執行時,執行上文所描 述之-或多種方法。電腦可讀媒體可形成電腦程式產品之 部分’該產品可包括包裝材料。電腦可讀㈣可包含諸如 同步動態隨機存取記憶體(SDRAM)之隨機存取 (RAM)、唯讀記憶體(R〇M)、非揮發性隨機 情 (證綱、電可擦可程式”錢_eprqm)、快= 憶體、磁性或光學資料儲存媒體,及其類似者。另外㈣ 135453.doc -63- 200934250 令或資料結構之形式 代碼之電腦可讀通信 代地,該等技術可由載運或傳遞呈指 且可由電腦存取、讀取及/或執行的 媒體至少部分地實現。I Figure 13 is a block diagram illustrating an example adjustable video decoder 18A. The adjustable video decoder 180 can, for example, correspond to the video decoder 26 of FIG. The adjustable video decoder 18 of FIG. 13 includes a demultiplexing module "I, inverse quantization units 182A and 182B, an inverse transform unit 183, a prediction unit 184, a frame memory 185, and a summer 186 eight and eighteen. The demultiplexing module 1 81 receives the adjustable encoded video and demultiplexes the multiplexed signal. In some examples, the demultiplexing module 181 may include an entropy decoder for entropy decoding the base layer data and the enhancement layer data. In other examples, the base layer solution 135453.doc -58·200934250 code and enhancement layer decoder can be inversely quantized (ie, dequantized) associated with the base layer independently of the demultiplexing module ‘ The residual coefficients are quantized, and inverse quantization unit 182B dequantizes the quantized residual coefficients associated with the enhancement layer. In an example, inverse quantization unit 182A may quantize the residual coefficients using the first QP, and inverse quantization unit 丨 82B may use A QP quantizes the residual coefficient difference. The second qp can be, for example, half the value of the first Qp, that is, QP/2. The dequantized transform output by the inverse quantization units 182A and 182B at the summer 186 Λ Individual sets of coefficients are added The reconstructed residual transform block. As described above, the dequantized transform coefficients output by the inverse quantization unit 182A may correspond to the basic quality level, and the dequantized transform coefficients output by the inverse quantization unit 182B are added. The output to the inverse quantization unit 182B results in an increased quality level. The inverse transform early element 183 applies an inverse transform to the sum of the dequantized residual coefficient blocks (eg, inverse DCT, inverse integer transform, inverse wavelet transform, or inverse direction transform). To generate the remaining blocks of pixel values. The summer 丨 86B adds the prediction block generated by the prediction unit 184 to the remaining blocks of the pixel values to form a reconstructed base layer video block. As described in detail above, The predicting unit 184 may generate the prediction region using one or more adjacent blocks in the common frame or using one or more blocks in the adjacent frame in the case of intra-frame prediction or in the case of inter-frame prediction. The block may be stored in the frame store 185. Figure 14 is a block diagram illustrating another example of an adjustable video decoder 19. The adjustable video decoder 190 may, for example, be viewed from Figure 2 The decoder 26 corresponds. The adjustable video decoder 19 of FIG. 14 includes a demultiplexing module 191, inverse quantization units 192A and 192B, inverse transform units 193A and 193B, and a prediction list 135453.doc -59-200934250 yuan 194, The frame storage 195 and the summer 196 are 198. The demultiplexing module 191 receives the adjustable encoded video and demultiplexes the signal. In some examples, the 'demultiplexing module 1 8' may include entropy. Entropy decoder for decoding base layer data and enhancement layer data. In other examples, the base layer decoder and the enhancement layer decoder may be independent of the demultiplexing module. Inverse quantization unit 192A and inverse transform unit 193A apply inverse quantization (i.e., dequantization) and inverse transform operations to the decoded residual coefficients associated with the base layer to obtain a reconstructed version of the remaining blocks of the base layer. Inverse quantization unit 〇 192B and inverse transform unit 193B apply inverse quantization (i.e., dequantization) and inverse transform operations to the decoded residual coefficients associated with the enhancement layer to obtain a reconstructed version of the remaining blocks of the enhancement layer. In an example, inverse quantization unit 192A may quantize the residual coefficients using the first qp, and inverse quantization unit 192 may quantize the residual coefficient differences using the second QP. The second Qp can be, for example, half the value of the first, i.e., QP/2. Prediction unit 194 may generate prediction regions using one or more blocks within the adjacent frame using one or more neighboring blocks within the common frame or in the case of inter-frame prediction in the case of intra-frame prediction. The prediction block can be stored in the frame storage 195. The summer 196 相 combines the prediction block-block generated by the prediction unit 194 with the reconstructed residual block output from the inverse transform unit 193 产 to produce decoded video material at a basic quality level. The self-adjustable video decoder 190 outputs decoded video material having a basic quality level. Decoded video material having a basic quality level is also provided to summer 196B. The summer 196B combines the output of the summer 196A with the reconstructed version of the remaining block of the enhancement layer output from the inverse transform unit 193B to produce a 135453.doc 200934250 for the second higher quality level of the solution to the solution. data. The self-adjustable video decoder 190 outputs decoded video material having a basic quality level. Figure 15 is a block diagram showing another example video encoder 2A. In the example of FIG. 15, the base layer encoder 3A includes a prediction unit 33A, a frame storage 35A, a transformation unit 38A, a quantization unit 4A, a coefficient scanning unit 41A, an inverse quantization unit 2A, and an inverse transformation unit. Pepper, base layer entropy encoder 46, summers 48A through 48C, and in-frame prediction unit 4A. Portraying the different features in Figure 3 as a unit intended to highlight the different functional aspects of the illustrated device, Φ ^• does not necessarily imply that such elements must be implemented by separate hardware or software components. The fact is that the functionality associated with one or more units can be integrated into a common or separate hardware or software component. Prediction unit 33A uses the inter-frame prediction (e.g., motion compensated prediction) to generate a prediction block. The prediction block can be the prediction pattern of the current video block being coded. As described above, prediction unit 33A may generate prediction blocks based on one or more previously encoded blocks in one or more adjacent frames of the base layer using inter-frame prediction techniques. Prediction unit 33 may extract the previously encoded block from frame storage 35A. After the inter-frame based prediction of the video block, the base layer encoder 3 generates the remaining block by subtracting the prediction block generated by the prediction unit 33a from the current video block at summer 48A. The remaining block includes a set of pixel difference values that quantify the difference between the pixel value of the current video block and the pixel value of the predicted block. The remaining blocks may be represented in a two-dimensional block format (e.g., a two-dimensional matrix or array of pixel values). In other words, the remaining blocks are two-dimensional representations of pixel values. 135453.doc 61 200934250 Transform unit 3 8 A applies a transform to the remaining blocks to produce the residual transform coefficients. Transform unit 38A can, for example, apply DCT, integer transform, direction transform, wavelet transform, or a combination thereof. After applying the transform to the remaining blocks of pixel values, quantization unit 40A quantizes the transform coefficients to further reduce the bit rate. After quantization, inverse quantization unit 42A and inverse transform unit 44A may apply inverse quantization and inverse transform, respectively, to reconstruct the remaining blocks. The summer 48B adds the reconstructed residual block to the predicted block generated by the prediction unit 33A to produce a reconstructed video block for storage in the frame storage 35A. The reconstructed video block stored in the frame memory 34 can be used by the prediction unit 32 of the base layer encoder 3 to write the subsequent video blocks in-frame or inter-frame. In addition, 'the reconstructed video block stored in the frame memory 35A can be used by the prediction unit 33B of the enhancement layer encoder 32 to block the video blocks in the in-frame or inter-frame code enhancement layer as will be described in more detail below. Refinement. After quantization, summer 48C subtracts the intra-frame predicted blocks generated by in-frame prediction unit 40A from the quantized residual coefficients. The in-frame prediction unit 40A may generate a prediction block using intra-frame prediction based on a block of the same coding block as the block currently being coded. The base layer entropy encoder 46, for example, uses the coefficient p enhancement layer coding output from the summer 48C as defined in the H.264/MPEG-4 Part 1 AVC Standard and described above with respect to Figure 2 for CAVLC. The processor 32 includes a prediction unit 33B, a frame storage 35B, a transform unit 38B, a quantization unit 40B, a coefficient scanning unit 41B, an inverse quantization unit 42B, an inverse transform unit 44B, a boost layer entropy encoder 49, and summers 48D to 48F. . The elements of the enhancement layer encoder 32 are substantially similar to the similarly numbered units of the base layer encoder 135453.doc-62-200934250. Thus, only the differences will be described. The prediction unit 33B of the enhancement layer encoder 32 generates a prediction block that is a prediction pattern of the current video block. Unlike the prediction unit 33 A of the base layer encoder 3 that uses the previous coding block of the base layer to generate the prediction block, the prediction unit 33B of the enhancement layer encoder 32 may be based on one or more previously coded blocks of the enhancement layer The prediction block is generated. The reconstructed video block of the enhancement layer may be at a second quality level above the quality level of the prediction block of the base layer. An additional difference between the enhancement layer encoder 32 and the base layer encoder 30 is that the output of the inverse quantization unit 42B of the enhancement layer encoder 32 and the inverse quantization unit 42A of the enhancement layer encoder 30 are at the summer 48F. Output combination. Adding the outputs of the inverse quantization units 42A and 42B produces a higher quality reconstructed video block, thus allowing for better prediction by the prediction unit described above. The techniques described in this disclosure can be implemented in hardware, software, firmware, or any combination thereof. Any feature described as a unit or component can be implemented together in an integrated logic device or separately as a discrete but interoperable logic device. If implemented in software, the techniques can be at least partially implemented by a computer readable medium containing instructions. When the instructions are executed, the methods described above are performed. The computer readable medium can form part of a computer program product' which product can include packaging materials. Computer readable (4) may include random access (RAM) such as synchronous dynamic random access memory (SDRAM), read only memory (R〇M), non-volatile random (suggest, electrically erasable) Money _eprqm), fast = memory, magnetic or optical data storage media, and the like. In addition (4) 135453.doc -63- 200934250 computer-readable communication of the form code of the order or data structure, such technology can be Media that carries or delivers a finger and that can be accessed, read, and/or executed by a computer is at least partially implemented.

代碼可由-或多個處理器執行,諸如—或多個數位信號 處理器⑽!>)、通用微處理器、特殊應用積體電路 (ASIC)、場可程式邏㈣列(FpGA)或其他等效整合或離散 邏輯電路。因此,如本文所使用之術語”處理器"可指代任 何前述結構或任何其他適於本文所描述之技術的實施之社 構。此外,在-些態樣中,本文所描述之功能性可提供於 經組態以用於編碼及解碼之專用軟體單元或硬體單元内, 或併入於經組合之視訊編碼器_解碼器(c〇dec)中。將不 同特徵描繪為單元意欲突出所說明設備之不同功能態樣, 且並不一定暗示此等單元必須藉由單獨硬體或軟體組件來 實現。實情為,與一或多個單元相關聯之功能性可整合至 共同或單獨硬體或軟體組件内。 已描述各種實施例》此等及其他實施例在以下申請專利 範圍之範疇内。 【圖式簡單說明】 圖1為說明一支援視訊可調節性之視訊傳輸系統的方塊 圖0 圖2為進一步詳細地說明圖1之寫碼系統之源設備及目的 地設備的方塊圖。 圖3為進一步詳細地說明實例基礎層編碼器及加強層編 碼器的方塊圖。 135453.doc -64 - 200934250 圖4為進一步詳細地說明實例基礎層熵編碼器及加強層 熵編碼器的方塊圖。 圖5為進一步詳細地說明基礎層解碼器及加強層解碼器 之實例的方塊圖。 圖6為進一步詳細地說明實例基礎層熵解碼器及加強層 網解瑪器的方塊圖。 圖7為說明4x4係數區塊之Z字形掃描的概念圖。 圖8為說明加強層視訊區塊之係數區塊之假設實例的概 念圖。 圖9為說明執行本發明之可調節視訊寫碼技術的視訊編 碼器之實例操作的流程圖。 圖10為說明根據本發明之一態樣之編碼加強層視訊區塊 的剩餘係數之加強層編碼器的實例操作之流程圖。 圖11為說明解碼加強層位元流以獲得剩餘變換係數之向 量的加強層解碼器之實例操作的流程圖。 ❹ 圖12至圖15為說明根據本發明之用於可調節視訊寫竭中 之編碼器及/或解碼器的不同組態之方塊圖。 【主要元件符號說明】 10 視訊傳輸系統 12 源設備 14 目的地設備 14A 多個目的地設備 14B 多個目的地設備 16 通信頻道 135453.doc 200934250 ❹ ⑩ 18 視訊源 20 視訊編碼 22 傳輸器 24 接收器 26 視訊解碼器 28 顯示設備 30 基礎層編碼Is 32 加強層編碼器 33A 預測單元 33B 預測單元 34 基礎層解碼器 35A 圖框儲存器 35B 圖框儲存器 36 加強層解碼器 38A 變換單元 38B 變換單元 40A 量化單元 40B 量化單元 41A 係數掃描單元 41B 係數掃描單元 42A 逆量化單元 42B 逆量化單元 44A 逆變換單元 44B 逆變換單元 135453.doc -66- 200934250The code may be executed by - or multiple processors, such as - or multiple digital signal processors (10)!>), general purpose microprocessors, special application integrated circuits (ASICs), field programmable logic (four) columns (FpGA), or others. Equivalent integration or discrete logic. Accordingly, the term "processor" as used herein may refer to any of the foregoing structures or any other organization suitable for the implementation of the techniques described herein. Further, in some aspects, the functionality described herein Can be provided in dedicated software units or hardware units configured for encoding and decoding, or incorporated in a combined video encoder_decoder (c〇dec). Different features are depicted as units intended to highlight The different functional aspects of the described devices do not necessarily imply that such units must be implemented by separate hardware or software components. In fact, the functionality associated with one or more units can be integrated into common or separate hardware. Various embodiments have been described. These and other embodiments are within the scope of the following claims. [FIG. 1 is a block diagram illustrating a video transmission system that supports video adjustability. 0 is a block diagram showing the source device and destination device of the code writing system of FIG. 1 in further detail. FIG. 3 is a further detailed illustration of an example base layer encoder and enhancement layer Block diagram of the coder. 135453.doc -64 - 200934250 Figure 4 is a block diagram illustrating the example base layer entropy coder and enhancement layer entropy coder in further detail. Figure 5 is a further detailed description of the base layer decoder and enhancement layer A block diagram of an example of a decoder. Figure 6 is a block diagram illustrating an example base layer entropy decoder and a enhancement layer network masher in further detail.Figure 7 is a conceptual diagram illustrating a zigzag scan of a 4x4 coefficient block. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 9 is a flow chart illustrating an example operation of a video encoder embodying the adjustable video coding technique of the present invention. FIG. 10 is a flowchart illustrating an example of operation of a video encoder embodying the adjustable video coding technique of the present invention. A flowchart of an example operation of an enhancement layer encoder that encodes a residual coefficient of a enhancement layer video block. Figure 11 is an example of a enhancement layer decoder illustrating decoding of a enhancement layer bitstream to obtain a vector of residual transform coefficients. Flowchart of Operation ❹ Figures 12 through 15 are block diagrams illustrating different configurations of an encoder and/or decoder for use in an adjustable video dubbing in accordance with the present invention. Element Symbol Description 10 Video Transmission System 12 Source Device 14 Destination Device 14A Multiple Destination Devices 14B Multiple Destination Devices 16 Communication Channels 135453.doc 200934250 ❹ 10 18 Video Source 20 Video Coding 22 Transmitter 24 Receiver 26 Video Decoder 28 Display device 30 Base layer coding Is 32 Enhancement layer encoder 33A Prediction unit 33B Prediction unit 34 Base layer decoder 35A Frame storage 35B Frame storage 36 Enhancement layer decoder 38A Transformation unit 38B Transformation unit 40A Quantization unit 40B quantization unit 41A coefficient scanning unit 41B coefficient scanning unit 42A inverse quantization unit 42B inverse quantization unit 44A inverse transform unit 44B inverse transform unit 135453.doc -66- 200934250

46 基礎層烟編碼器 48 求和器 48A 求和器 48B 求和器 48C 求和器 48D 求和器 48E 求和器 48F 求和器 49 加強層熵編碼器 50 分析單元 52 VLC表 52A〜52N VLC表 54 總係數編碼器 56 尾隨的1(T1)編碼器 58 正負號編碼器 60 係數量值編碼器 62 和運程編碼器 64 運程長度編碼器 66 ΕΟΒ符號編碼器 68 運程長度編碼器 69 VLC表 70 正負號編碼器 72 基礎層熵解碼器 74A 係數掃描單元 135453.doc -67- 200934250 φ 鲁 74Β 係數掃描單元 76Α 逆量化單元 76Β 逆量化單元 78Α 逆變換單元 78Β 逆變換單元 80Α 預測單元 80Β 預測單元 82Α 圖框儲存器 82Β 圖框儲存器 84Α 求和器 84Β 求和器 86 加強層熵解碼器 90 總係數解碼器 92 尾隨的1(Τ1)解碼器 94 正負號解碼器 96 係數量值解碼器 98 和運程解碼器 100 運程長度解碼器 102 ΕΟΒ符號解碼器 104 運程長度解碼器 106 正負號解碼器 110 視訊區塊 120 係數區塊 170 實例可調節視訊編碼器 135453.doc 68- 200934250 172 預測單元 173 圖框儲存器 174 變換單元 175A 量化單元 175B 量化單元 176A 逆量化單元 176B 逆量化單元 177 逆變換單元 φ 178 多工模組 179Α 求和器 179Β 求和器 179C 求和器 180 實例可調節視訊解碼器 181 解多工模組 182Α 逆量化單元 182Β 逆量化單元 w 183 逆變換單元 184 預測單元 • 185 圖框儲存器 186A 求和器 186B 求和器 190 實例可調節視訊解碼器 191 解多工模組 192A 逆量化單元 135453.doc -69- 200934250 192B 逆量化單元 193A 逆變換單元 193B 逆變換單元 194 預測單元 195 圖框儲存器 196A 求和器 196B 求和器 200 實例視訊編碼器 ❹46 Base layer smoke encoder 48 Summer 48A Summer 48B Summer 48C Summer 48X Summer 48E Summer 48F Summer 49 Enhanced Layer Entropy Encoder 50 Analysis Unit 52 VLC Table 52A~52N VLC Table 54 Total Coefficient Encoder 56 Trailing 1 (T1) Encoder 58 Positive and Negative Encoder 60 Series Number Value Encoder 62 and Run Encoder 64 Run Length Encoder 66 ΕΟΒ Symbol Encoder 68 Run Length Encoder 69 VLC Table 70 Positive and negative encoder 72 base layer entropy decoder 74A coefficient scanning unit 135453.doc -67- 200934250 φ 鲁 74Β coefficient scanning unit 76 逆 inverse quantization unit 76 逆 inverse quantization unit 78 逆 inverse transformation unit 78 逆 inverse transformation unit 80 Α prediction unit 80 Β prediction unit 82 Α Frame storage 82 Β frame storage 84 Α summer 84 Β summer 86 enhancement layer entropy decoder 90 total coefficient decoder 92 trailing 1 (Τ 1) decoder 94 positive and negative decoder 96 is a number value decoder 98 and Motion Decoder 100 Run Length Decoder 102 ΕΟΒ Symbol Decoder 104 Run Length Decoder 106 Positive and Negative Decoder 110 Video Block 120 Coefficient Block 170 Example Adjustable Video Encoder 135453.doc 68- 200934250 172 Prediction Unit 173 Frame Storage 174 Transform Unit 175A Quantization Unit 175B Quantization Unit 176A Inverse Quantization Unit 176B Inverse Quantization Unit 177 Inverse Transform Unit φ 178 multiplex module 179 Α summer 179 Β summer 179C summer 180 instance adjustable video decoder 181 demultiplexing module 182 逆 inverse quantization unit 182 逆 inverse quantization unit w 183 inverse transform unit 184 prediction unit • 185 Block storage 186A summer 186B summer 190 instance adjustable video decoder 191 demultiplexing module 192A inverse quantization unit 135453.doc -69 - 200934250 192B inverse quantization unit 193A inverse transform unit 193B inverse transform unit 194 prediction unit 195 Frame Storage 196A Summer 196B Summer 200 Example Video Encoder ❹

135453.doc 70-135453.doc 70-

Claims (1)

200934250 十、申請專利範圍: 種使用可調節視訊寫瑪編碼視訊資料之方法該方法 包含: 以一第一品質編碼一視訊區塊作為一基礎層位元流之 部分;及 ’編碼該視訊區塊之精化作為至少—加強層位元流的部 刀該等精化在與以該第一品質編碼之該視訊區塊組合 時導致具有-大於該第一品質之第二品質的該視訊區 Ο 塊’其中該視訊區塊之該等精化係在―單—編碼一次操 作中編碼。 2’如請求項!之方法,其中編碼該視訊區塊之該等精化包 含在不分析任何後續係數的情況下編碼該等精化的每一 非零係數。 3. ^凊求項丨之方法,其中編碼該視訊區塊之該等精化包 3對於該視訊區塊之該等精化的每一非零係數而言編碼 & 1示存在至少-殘餘非零係數之符號、一指示該非零 係數之别的零值係數之數目的運程長度及該非零係數的 一正負號。 4·如π求項3之方法,其進一步包含編碼一符號以指示在 ^最後非零係數之後在該視訊區塊之該等精化中不 存在殘餘非零係數。 月求項3之方法,其進一步包含將該視訊區塊之該等 精化的該等非零係數之量值調整為等於一。 6如明求項5之方法,其中將該視訊區塊之該等精化的該 135453.doc 200934250 等非零係數中之每一者之該量值調整為等於一包含在不 編碼該等非零係數之量值的情況下編碼該等係數。 7’如清求項1之方法’其中編碼該視訊區塊之該等精化作 為該加強層位兀流之部分包含編碼該視訊區塊之該等精 化,使侍該視訊區塊之該等精化的係數在不存取以該第 一品質編碼為該基礎層位元流之部分的該視訊區塊之係 數資訊的情況下為可解碼的。 8. 如請求項1之方法,其進一步包含僅使用一單一可變長 度寫碼(VLC)表來編碼該視訊區塊之該等精化。 9. 如請求項1之方法,其中以該第一品質編碼該視訊區塊 作為該基礎層之部分包含使用一寫碼技術以該第一品質 來編碼該視訊區塊,該寫碼技術在一第一寫碼一次操作 中分析該視訊區塊之一係數向量,且基於該分析在第二 寫碼一次操作中編碼該係數向量。 10. 如請求項9之方法,其中: 以該第一品質編碼該視訊區塊包含根據ITu_T H.264/MPEG-4部分1〇進階視訊寫碼(AVC)標準使用一内 容適應性可變長度寫碼(CAVLC)過程以該第一品質來編 碼該視訊區塊;及 編碼該視訊區塊之該等精化包含使用在該CAVLC過程 中界定之VLC表_的一者來編碼該視訊區塊之該等精 化。 11.如請求項1之方法’其中該第一品質及該第二品質包含 一第一訊雜比(SNR)及一第二訊雜比(SNR)中的一者與一 135453.doc 200934250 第一空間解析度及-第二空間解析度中的一者。 種使用可調即視訊寫碼編碼視訊資料之設備,該設備 包含至少一編碼器以: 以-第一品質編碼一視訊區塊作為一基礎層位元流之 部分,及 編碼該視訊區塊之精化作為至少一加強層位元流的部 分,該等精化在與以該第一品質編碼之該視訊區塊組合200934250 X. Patent application scope: A method for using an adjustable video write-coded video data method, the method comprising: encoding a video block as a base layer bit stream by a first quality; and 'encoding the video block Refining the at least one enhanced layer bit stream, the refinement causing the video region having a second quality greater than the first quality when combined with the video block encoded with the first quality The block 'where the refinement of the video block is encoded in a single-code one operation. 2' The method of claim 2, wherein the refining encoding the video block comprises encoding each non-zero coefficient of the refinement without analyzing any subsequent coefficients. 3. The method of claiming, wherein the refinement packet 3 encoding the video block encodes & 1 for each non-zero coefficient of the refinement of the video block, exhibiting at least a residual A sign of a non-zero coefficient, a run length indicating the number of other zero-valued coefficients of the non-zero coefficient, and a sign of the non-zero coefficient. 4. The method of claim 3, further comprising encoding a symbol to indicate that there are no residual non-zero coefficients in the refinement of the video block after the last non-zero coefficient. The method of claim 3, further comprising adjusting the magnitude of the non-zero coefficients of the refinement of the video blocks to be equal to one. 6. The method of claim 5, wherein the magnitude of each of the non-zero coefficients such as the 135453.doc 200934250 refined by the video block is equal to one included in the non-coding of the non-coding The coefficients are encoded in the case of magnitudes of zero coefficients. 7', as in the method of claim 1, wherein the refinement encoding the video block as part of the enhancement layer turbulence comprises the refinement encoding the video block, such that the video block is served The equalized coefficients are decodable without accessing the coefficient information of the video block encoded by the first quality as part of the base layer bit stream. 8. The method of claim 1, further comprising encoding the refinement of the video block using only a single variable length code (VLC) table. 9. The method of claim 1, wherein encoding the video block as the portion of the base layer with the first quality comprises encoding the video block with the first quality using a write code technique, the write code technique The first write code analyzes one of the coefficient blocks of the video block in one operation, and encodes the coefficient vector in the second write code one operation based on the analysis. 10. The method of claim 9, wherein: encoding the video block with the first quality comprises using a content adaptive variable according to the ITu_T H.264/MPEG-4 part 1 Advanced Video Write Code (AVC) standard The length code (CAVLC) process encodes the video block with the first quality; and the refinement encoding the video block includes encoding the video area using one of the VLC tables defined in the CAVLC process. The refinement of the blocks. 11. The method of claim 1, wherein the first quality and the second quality comprise one of a first signal to noise ratio (SNR) and a second signal to noise ratio (SNR) and a 135453.doc 200934250 One of a spatial resolution and a second spatial resolution. A device for encoding video data using an adjustable video recording code, the device comprising at least one encoder to: encode a video block as a portion of a base layer bit stream with a first quality, and encode the video block Refining as part of at least one enhancement layer bit stream, the refinement being combined with the video block encoded with the first quality 夺導致具有一大於該第—品質之第二品質的該視訊區 塊’其巾該視訊d塊之該#精化係在―單—編碼一次操 作中編碼。 α如請求項12之設備,其中該至少—編碼器在不分析任何 後續係數的情況下編碼肖等精化的每一非零係數。 14.如明求項12之設備,其中該至少—編碼器對於該視訊區 塊之該等精化的每一非零係數而言編碼一指示存在至少 一殘餘非零係數之符號、一指示該非零係數之前的零值 係數之數目的運程長度及該非零係數的一正負號。 15· ^請求項14之設備,其中該至少一編碼器編碼一符號以 才曰不在編碼一最後非零係數之後在該視訊區塊之該等精 化中不存在殘餘非零係數。 16.如凊求項14之設備,其中該至少一編碼器將該視訊區塊 之該等精化的該等非零係數之量值調整為等於一。 17·如請求項16之設備,其中該至少一編碼器在不編碼該等 非零係數之量值的情況下編碼該等係數。 18.如請求項12之設備,其中該至少一編碼器編碼該視訊區 135453.doc 200934250 塊之該等精化,使得該視訊區塊之該等精化的係數在不 存取以該第一品質編碼為該基礎層位元流之部分的該視 訊區塊之係數資訊的情況下為可解碼的。 19. 如請求項12之設備,其中該至少一編碼器僅使用一單一 可變長度寫碼(VLC)表來編碼該視訊區塊之該等精化。 20. 如請求項12之設備,其中該至少一編碼器使用一寫碼技 術以該第一品質來編碼該視訊區塊,該寫碼技術在一第 一寫碼一次操作中分析該視訊區塊之一係數向量,且基 於該分析在第二寫碼一次操作中編碼該係數向量。 21. 如請求項20之設備’其中該至少一編碼器: 以該第一品質編碼該視訊區塊包含根據ITU_T H.264/MPEG-4部分1〇進階視訊寫碼(AVC)標準使用一内 容適應性可變長度寫碼(CAVLC)過程以該第一品質來編 碼該視訊區塊;及 編碼該視訊區塊之該等精化包含使用在該CAVLC過程 中界定之VLC表中的一者來編碼該視訊區塊之該等精 化。 22. 如請求項12之設備,其中該第一品質及該第二品質包含 一第一訊雜比(SNR)及一第二訊雜比(SNR)中的一者與一 第一空間解析度及一第二空間解析度中的一者。 23. 如叫求項12之設備,其令該至少一編碼器包含: 基礎層編碼器’該基礎層編碼器以該第一品質編碼 該視訊區塊作為一基礎層位元流之部分,及 加強層編碼器’該加強層編碼器編碼該視訊區塊之 135453.doc 200934250 精化作為該至少-加強層位元流的部分,該等精化在與 、3第w質編碼之該視訊區塊組合時導致具有大於該 第一品質之該第二品質的該視訊區塊。 月求項12之设備,其中該設備包含一無線通信設備。 25·如請求項12之設備’其中該設備包含-積體電路設備。 A -種包含指令之電腦可讀媒體,該等指令使得—或多個 處理器進行以下操作: 以一第一品質編碼一視訊區塊作為一基礎層位元流之 部分;及 編碼該視訊區塊之精化作為至少一加強層位元流的部 分’該等精化在與以該第-品質編碼之該視訊區塊組合 時導致具有-大於該第-品質之第二品質的該視訊區 塊,其中該視訊區塊之該等精化係在一單一編碼一次操 作中編碼。 27. 如請求項26之電腦可讀媒體,其中該等指令使得一或多 個處理器在不分析任何後續係數的情況下編碼該等精化 的每一非零係數》 28. 如請求項26之電腦可讀媒體,其中該等指令使得一或多 個處理器對於該視訊區塊之該等精化的每一非零係數而 言編碼一指示存在至少一殘餘非零係數之符號、一指示 該非零係數之前的零值係數之數目的運程長度及該非零 係數的一正負號。 29. 如請求項28之電腦可讀媒體’其中該等指令使得一或多 個處理器編瑪一符號以指示在編;一最後非零係數之後 135453.doc 200934250 30. 31. 32. 33. 34. 35. 在該視訊區塊之該等精化中不存在殘餘非零係數。 如請求項28之電腦可讀媒體,其中該等指令使得一或多 個處理器將该視訊區塊之該等精化的該等非零係數之量 值調整為等於一。 如請求項30之電腦可讀媒體,其中該等指令使得一或多 個處理器在不編碼該等非零係數之量值的情況下編碼該 等係數。 如請求項26之電腦可讀媒體,其中該等指令使得一或多 個處理器編碼該視訊區塊之該等精化,使得該視訊區塊 之該等精化的係數在不存取以該第.一品質編碼為該基礎 層位元流之部分的該視訊區塊之係數資訊的情況下為可 解碼的。 如請求項26之電腦可讀媒體,其中該等指令使得一或多 個處理器僅使用一單一可變長度寫碼(VLC)表來編碼該 視訊區塊之該等精化。 如請求項26之電腦可讀媒體’其中該等指令使得一或多 個處理器使用一寫碼技術以該第一品質來編碼該視訊區 塊’該寫碼技術在一第一寫碼一次操作中分析該視訊區 塊之一係數向量,且基於該分析在第二寫碼一次操作中 編喝該係數向量。 如請求項34之電腦可讀媒體,其中該等指令使得一或多 個處理器進行以下操作: 以該第一品質編碼該視訊區塊包含根據ιτυ-τ H-264/MPEG-4部分10進階視訊寫碼(AVC)標準使用一内 135453.doc 200934250 容適應性可變長度寫碼(CAVLC)過程以該第一品質來編 碼該視訊區塊;及 編碼該視訊區塊之該等精化包含使用在該CAVLC過程 中界定之VLC表中的一者來編碼該視訊區塊之該等精 化。 36. 如請求項26之電腦可讀媒體,其中該第一品質及該第二 品質包含一第一訊雜比(SNR)及一第二訊雜比(SNR)中的 一者與一第一空間解析度及一第二空間解析度中的一 © 者。 37. —種使用可調節視訊寫碼編碼視訊資料之設備,該設備 包含: 用於以一第一品質編碼一視訊區塊作為一基礎層位元 流之部分的第一構件;及 用於編碼該視訊區塊之精化作為至少一加強層位元流 的部分之第二構件,該等精化在與以該第一品質編碼之 珍 該視訊區塊組合時導致具有一大於該第一品質之第二品 質的該視訊區塊,其中該視訊區塊之該等精化係在一單 一編碼一次操作中編碼。 38. 如請求項37之設備,其中該第二編碼構件在不分析任何 後續係數的情況下編碼該等精化的每一非零係數。 39. 如喷求項37之設備,其中該第二編碼構件對於該視訊區 塊之該等精化的每—非零係數而言編碼—指示存在至少 一殘餘非零係數之符號、―指示該非零係數之前的零值 係數之數目的運程長度及該非零係數的—正負號。 135453.doc 200934250 ⑽·如請求項38之設備,其中該第二編碼構件編碼一符號以 “不在編碼-最後非零係數之後在該視訊區塊之該㈣ 化申不存在殘餘非零係數。 礼如靖求項38之設備,丹W弟一㈣構件將該視訊區塊 之該等精化的該等非零係數之量值調整為等於… 42.如請求項4〇之㈣,其十該第二編碼構件在不編碼該等 非零係數之量值的情況下編碼該等係數。 ❹The video block having a second quality greater than the first quality is encoded in the "single-coded one operation" of the video block. α is the apparatus of claim 12, wherein the at least the encoder encodes each non-zero coefficient of the scalar equalization without analyzing any subsequent coefficients. 14. The apparatus of claim 12, wherein the at least-encoder encodes, for each non-zero coefficient of the refinement of the video block, a sign indicating the presence of at least one residual non-zero coefficient, and an indication of the non-zero The length of the run of the number of zero-valued coefficients before the zero coefficient and a sign of the non-zero coefficient. 15. The apparatus of claim 14, wherein the at least one encoder encodes a symbol such that no residual non-zero coefficients are present in the refinement of the video block after encoding a last non-zero coefficient. 16. The apparatus of claim 14, wherein the at least one encoder adjusts the magnitudes of the refined non-zero coefficients of the video blocks to be equal to one. 17. The device of claim 16, wherein the at least one encoder encodes the coefficients without encoding the magnitude of the non-zero coefficients. 18. The device of claim 12, wherein the at least one encoder encodes the refinements of the video zone 135453.doc 200934250, such that the refined coefficients of the video block are not accessed by the first The quality code is decodable in the case of coefficient information of the video block of the base layer bit stream. 19. The device of claim 12, wherein the at least one encoder encodes the refinement of the video block using only a single variable length code (VLC) table. 20. The device of claim 12, wherein the at least one encoder encodes the video block with the first quality using a write code technique, the write code technique analyzing the video block in a first write code operation One of the coefficient vectors, and the coefficient vector is encoded in the second write once operation based on the analysis. 21. The device of claim 20, wherein the at least one encoder: encoding the video block with the first quality comprises using an Advanced Video Recording Code (AVC) standard according to ITU_T H.264/MPEG-4 Part 1 A content adaptive variable length write code (CAVLC) process encodes the video block with the first quality; and the refinement encoding the video block includes using one of the VLC tables defined in the CAVLC process To encode such refinements of the video block. 22. The device of claim 12, wherein the first quality and the second quality comprise one of a first signal to noise ratio (SNR) and a second signal to noise ratio (SNR) and a first spatial resolution And one of the second spatial resolutions. 23. The device of claim 12, wherein the at least one encoder comprises: a base layer encoder 'the base layer encoder encoding the video block as part of a base layer bit stream with the first quality, and The enhancement layer encoder 'the enhancement layer encoder encodes the video block 135453.doc 200934250 refinement as part of the at least-enhancement layer bit stream, the refinement in the video region of the AND, w-th quality encoding When the blocks are combined, the video block having the second quality greater than the first quality is caused. The device of item 12, wherein the device comprises a wireless communication device. 25. The device of claim 12 wherein the device comprises an integrated circuit device. A computer-readable medium containing instructions for causing - or a plurality of processors to: encode a video block as a portion of a base layer bit stream with a first quality; and encode the video region Refining the block as part of at least one enhancement layer bit stream' such refinement results in a video zone having a second quality greater than the first quality when combined with the video block encoded with the first quality A block in which the refinements of the video block are encoded in a single coded one operation. 27. The computer readable medium of claim 26, wherein the instructions cause one or more processors to encode each of the non-zero coefficients of the refinement without analyzing any subsequent coefficients. 28. As claimed in claim 26 Computer-readable medium, wherein the instructions cause one or more processors to encode, for each of the non-zero coefficients of the refinement of the video block, a sign indicating the presence of at least one residual non-zero coefficient, an indication The length of the run of the number of zero-valued coefficients before the non-zero coefficient and a sign of the non-zero coefficient. 29. The computer readable medium of claim 28, wherein the instructions cause one or more processors to encode a symbol to indicate that the encoding is followed by a final non-zero coefficient 135453.doc 200934250 30. 31. 32. 33. 34. 35. There are no residual non-zero coefficients in such refinements of the video block. The computer readable medium of claim 28, wherein the instructions cause one or more processors to adjust the magnitude of the non-zero coefficients refined by the video block to be equal to one. The computer readable medium of claim 30, wherein the instructions cause the one or more processors to encode the coefficients without encoding the magnitude of the non-zero coefficients. The computer readable medium of claim 26, wherein the instructions cause the one or more processors to encode the refinement of the video block such that the refined coefficients of the video block are not accessed The first quality code is decodable in the case of coefficient information of the video block of the base layer bit stream. The computer readable medium of claim 26, wherein the instructions cause the one or more processors to encode the refinement of the video block using only a single variable length code (VLC) table. The computer readable medium of claim 26, wherein the instructions cause one or more processors to encode the video block with the first quality using a write code technique. The write code technique operates once at a first write code A coefficient vector of one of the video blocks is analyzed, and the coefficient vector is compiled in a second write code operation based on the analysis. The computer readable medium of claim 34, wherein the instructions cause the one or more processors to: encode the video block with the first quality comprising 10 according to the ιτυ-τ H-264/MPEG-4 portion The Video Recording Code (AVC) standard encodes the video block with the first quality using a 135453.doc 200934250 Capability Variable Length Write Code (CAVLC) process; and encodes the video block for such refinement The refinement of encoding the video block using one of the VLC tables defined in the CAVLC process is included. The computer readable medium of claim 26, wherein the first quality and the second quality comprise one of a first signal to noise ratio (SNR) and a second signal to noise ratio (SNR) One of the spatial resolution and a second spatial resolution. 37. An apparatus for encoding video data using an adjustable video code, the apparatus comprising: a first component for encoding a video block as a portion of a base layer bit stream with a first quality; and for encoding Refining the video block as a second component of at least one portion of the enhancement layer bitstream, the refinement resulting in having a greater than the first quality when combined with the video block encoded with the first quality The second quality of the video block, wherein the refinement of the video block is encoded in a single coded one operation. 38. The apparatus of claim 37, wherein the second encoding component encodes each non-zero coefficient of the refinements without analyzing any subsequent coefficients. 39. The apparatus of claim 37, wherein the second encoding component encodes for each of the refined non-zero coefficients of the video block - indicating the presence of at least one residual non-zero coefficient symbol, indicating "the non- The length of the run of the number of zero-valued coefficients before the zero coefficient and the sign of the non-zero coefficient. The apparatus of claim 38, wherein the second encoding component encodes a symbol to "not after the encoding - the last non-zero coefficient in the video block (4), there is no residual non-zero coefficient. For example, the equipment of the syllabus 38, the Dan W Di (4) component adjusts the magnitude of the non-zero coefficients refined by the video block to be equal to... 42. If the request item 4 (4), the ten The second encoding means encodes the coefficients without encoding the magnitude of the non-zero coefficients. 43.如請求項37之設備,其中該第二編碼構件編碼該視訊區 塊之該等精化,使得該視訊區塊之該㈣化的係數在不 存取以該第-品質編碼為該基礎層位元流之部分的該視 訊區塊之係數資訊的情況下為可解碼的。 44.如請求項37之設備,其中該第二編碼構件僅使用一單一 可變長度寫碼(VLC)表來編碼該視訊區塊之該等精化。 45·如請求項37之設備’其t該第—編碼構件以該第一品質 編碼該視訊區塊作為該基礎層之部分包含使用一寫碼技 術以該帛w質來編竭該視訊區塊,該寫碼技術在—第 一寫碼一次操作中分析該視訊區塊之一係數向量,且基 於該分析在第二寫碼一次操作中編碼該係數向量。 46.如請求項45之設備,其中該第一編碼構件進行以下操 作: 、 以該第一品質編碼該視訊區塊包含根據ιτυ一τ H.264/MPEG-4部分10進階視訊寫碼(Avc)標準使用—内 容適應性可變長度寫碼(CAVLC)過程以該第一品質來編 碼該視訊區塊;及 135453.doc 200934250 編碼該視訊區塊之号 M 1 λ 精化包含使用在該CAVLC過程 中界定之VLC表中的—者來編碼該視訊區塊之該等精 化。 47 48. 49. 50. 如請求項37之設備’其中該第-品質及該第二品質包含 第訊雜比(SNR)及一第二訊雜比(SNR)中的一者與一 第一空間解析度及—第二空間解析度中的-者。 一種使用可調節視訊寫碼解碼視訊資料之方法,該方法 包含: 解碼一基礎層位元流以獲得一第一品質的一視訊區 塊;及 解碼加強層位元流以獲得該視訊區塊之精化,該等 精化在與該第一品質的經解碼的該視訊區塊組合時導致 具有一第二品質的該視訊區塊, 其中解碼該加強層包括對於該視訊區塊之該等精化的 每非零係數而言解碼一指示存在至少一殘餘非零係數 之符號、一指示該非零係數之前的零值係數之一數目的 運程長度及該非零係數的一正負號。 如清求項48之方法,其進一步包含在一最後非零係數之 後解碼一指示在該視訊區塊之該等精化中不存在殘餘非 零係數的符號》 如凊求項49之方法’其進一步包含使用每一係數之該經 解碼之運程、每一係數之該正負號及指示不存在殘餘非 零係數的該符號來產生該視訊區塊之該等精化的係數之 一向量。 135453.doc -9- 200934250 51. 如請求項50之方法,其進一步包含將該係數向量之每一 非零係數的一量值設定為等於一。 52. 如請求項48之方法’其中解碼該視訊區塊之該等精化包 含在不存取以該第一品質編碼之該視訊區塊的係數資訊 的情況下解碼該視訊區塊之該等精化。 53. 如請求項48之方法,其進一步包含僅使用一單一可變長 度寫碼(VLC)表來解碼該視訊區塊之該等精化。 54. 如請求項53之方法,其中該單一 VLC表包含在如界定於 ITU-T H.264/MPEG-4部分10進階視訊寫碼(AVC)標準中 之CAVLC中所規定的VLC表中之一者。 55. —種使用可調節視訊寫碼解碼視訊資料之設備,該設備 包含至少一解碼器,其: 解碼一基礎層位元流以獲得一第一品質的一視訊區 塊;及 解碼一加強層位元流以獲得該視訊區塊之精化,該等 精化在與該第一品質的經解碼的該視訊區塊組合時導致 具有一第二品質的該視訊區塊, 其中該至少一解碼器對於該視訊區塊之該等精化的每 一非零係數而言解碼一指示存在至少一殘餘非零係數之 符號、一指示該非零係數之前的零值係數之一數目的運 程長度及該非零係數的一正負號。 56. 如請求項55之設備,其中該至少一解碼器在一最後非零 係數之後解碼一指示在該視訊區塊之該等精化中不存在 殘餘非零係數的符號。 135453.doc •10· 200934250 57·如請求項56之設備,其中該至少一解碼器使用每—係數 之該經解碼之運程、每一係數之該正負號及指示不存在 殘餘非零係數的該符號來產生該視訊區塊之該等精 係數之一向量。 、 58·如請求項57之設備’ #中該至少,器將該係數向量 之每一非零係數的量值設定為等於一。 59.如請求項55之設備,其中該至少一解碼器在不存取以該 第一品質編碼之該視訊區塊的係數資訊的情 視訊區塊之該等精化。 碼該 6〇·如請求項55之設備,其中該至少一解碼器僅使用—單— 可變長度寫瑪(VLC)表來解瑪該視訊區塊的該等精化。 61. 如請求項60之設備,其中該單一 VLC表包含在如界定於 ITU-T H.264/MPEG-4部分10進階視訊寫碼(AVc)標準中 之CAVLC中所規定的VLC表中之一者。 62. 如請求項55之設備’其中該至少一解碼器包含:43. The device of claim 37, wherein the second encoding component encodes the refinement of the video block such that the (four) coefficients of the video block are not accessed with the first quality code as the basis The coefficient information of the video block of the portion of the layer bit stream is decodable. 44. The device of claim 37, wherein the second encoding component encodes the refinements of the video block using only a single variable length code (VLC) table. 45. The device of claim 37, wherein the first encoding component encodes the video block as the portion of the base layer by using the first code quality to compile the video block with the write quality technique The code writing technique analyzes one of the coefficient vectors of the video block in the first write once operation, and encodes the coefficient vector in the second write once operation based on the analysis. 46. The device of claim 45, wherein the first encoding component performs the following operations: encoding, by the first quality, the video block comprises: 10th progressive video writing code according to the H.264/MPEG-4 portion ( Avc) standard use - content adaptive variable length write code (CAVLC) process to encode the video block with the first quality; and 135453.doc 200934250 encoding the video block number M 1 λ refinement included in the The ones in the VLC table defined in the CAVLC process encode the refinements of the video block. 47. 49. 50. The device of claim 37, wherein the first quality and the second quality comprise one of a first signal to noise ratio (SNR) and a second signal to noise ratio (SNR) Spatial resolution and - in the second spatial resolution. A method for decoding video data using an adjustable video write code, the method comprising: decoding a base layer bitstream to obtain a first quality video block; and decoding the enhancement layer bitstream to obtain the video block Refined, the refinement, when combined with the decoded first video block of the first quality, results in the video block having a second quality, wherein decoding the enhancement layer includes the same for the video block For each non-zero coefficient, a symbol indicating the presence of at least one residual non-zero coefficient, a run length indicating one of the zero-value coefficients before the non-zero coefficient, and a sign of the non-zero coefficient are decoded. The method of claim 48, further comprising decoding, after a final non-zero coefficient, a symbol indicating that there are no residual non-zero coefficients in the refinement of the video block, such as the method of claim 49. Further comprising generating the decoded run of each coefficient, the sign of each coefficient, and the symbol indicating the absence of residual non-zero coefficients to generate a vector of the refined coefficients of the video block. 135453.doc -9-200934250 51. The method of claim 50, further comprising setting a magnitude of each non-zero coefficient of the coefficient vector equal to one. 52. The method of claim 48, wherein the refining the decoding of the video block comprises decoding the video block without accessing coefficient information of the video block encoded with the first quality Refined. 53. The method of claim 48, further comprising decoding the refinement of the video block using only a single variable length code (VLC) table. 54. The method of claim 53, wherein the single VLC table is included in a VLC table as defined in a CAVLC as defined in the ITU-T H.264/MPEG-4 Part 10 Advanced Video Write Code (AVC) standard. One of them. 55. An apparatus for decoding video data using an adjustable video write code, the apparatus comprising at least one decoder for: decoding a base layer bitstream to obtain a first quality video block; and decoding a enhancement layer a bitstream to obtain refinement of the video block, the refinement causing the video block having a second quality when combined with the decoded first video block of the first quality, wherein the at least one decoding Transducing, for each non-zero coefficient of the refinement of the video block, a symbol indicating the presence of at least one residual non-zero coefficient, a length indicating a number of zero-valued coefficients before the non-zero coefficient, and the non-zero A sign of zero coefficient. 56. The apparatus of claim 55, wherein the at least one decoder decodes a symbol indicating that there are no residual non-zero coefficients in the refinement of the video block after a last non-zero coefficient. The apparatus of claim 56, wherein the at least one decoder uses the decoded run of each coefficient, the sign of each coefficient, and the indication that there is no residual non-zero coefficient A symbol is used to generate a vector of the precision coefficients of the video block. 58. The apparatus of claim 57, wherein at least the device sets the magnitude of each non-zero coefficient of the coefficient vector equal to one. 59. The device of claim 55, wherein the at least one decoder does not access the refinement of the video block of the coefficient information of the video block encoded by the first quality. The device of claim 55, wherein the at least one decoder only uses the -single-variable-length write-malay (VLC) table to resolve the refinements of the video block. 61. The device of claim 60, wherein the single VLC table is included in a VLC table as specified in a CAVLC as defined in the ITU-T H.264/MPEG-4 Part 10 Advanced Video Write Code (AVc) standard. One of them. 62. The device of claim 55, wherein the at least one decoder comprises: 一基礎層解碼器,該基礎層解碼器以該第—品質解碼 該基礎層位元流以獲得該視訊區塊;及 一加強層解碼器,該加強層解碼器解碼該加強層位元 流以獲得該視訊區塊的該等精化。 63. 如請求項55之設備,其中該設備包含一無線通信設備。 64. 如晴求項55之设備,其中該設備包含一積體電路設備。 65. —種包含指令之電腦可讀媒體,該等指令使得一或多個 處理器進行以下操作: 解碼一基礎層位元流以獲得一第一品質的一視訊區 135453.doc -11- 200934250 塊;及 解·碼一加強層位元流以獲得該視訊區塊之精化,該等 精化在與該第一品質的經解碼的該視訊區塊組合時導致 具有一第二品質的該視訊區塊, 其·中該等指令使得該一或多個處理器對於該視訊區塊 之該等精化的每一非零係數而言解碼一指示存在至少一 殘餘非零係數之符號、一指示該非零係數之前的零值係 數之一數目的運程長度及該非零係數的一正負號。 © 66.如請求項65之電腦可讀媒體,其中該等指令使得一或多 個處理器在一最後非零係數之後解碼一指示在該視訊區 塊之該等精化中不存在殘餘非零係數的符號。 67·如請求項66之電腦可讀媒體,其中該等指令使得一或多 個處理器使用每一係數之該經解碼之運程、每一係數之 5亥正負號及指示不存在殘餘非零係數的該符號來產生該 視訊區塊之該等精化的係數之一向量。 • 68.如請求項67之電腦可讀媒體’其中該等指令使得一或多 個處理器將該係數向量之每一非零係數的一量值設定為 等於一。 69. 如請求項65之電腦可讀媒體,其中該等指令使得一或多 個處理器在不存取以該第一品質編碼之該視訊區塊的係 數資訊的情況下解碼該視訊區塊的該等精化。 70. 如請求項65之電腦可讀媒體,其中該等指令使得一或多 個處理器僅使用一單一可變長度寫碼(VLC)表來解碼該 視訊區塊之該等精化。 135453.doc -12· 200934250 71. 如請求項70之電腦可讀媒體,其中該單一 VLC表包含在 如界定於ITU-T H.264/MPEG-4部分10進階視訊寫碼 (AVC)標準中之CAVLC中所規定的VLC表中之一者》 72. —種使用可調節視訊寫碼解碼視訊資料之設備,該設備 包含: 用於解碼一基礎層位元流以獲得一第一品質的一視訊 區塊之第一構件;及 用於解碼一加強層位元流以獲得該視訊區塊之精化的 第一構件,該等精化在與該第一品質的經解碼的該視訊 區塊組合時導致具有一第二品質的該視訊區塊, 其中該第二解碼構件對於該視訊區塊之該等精化的每 非零係數而言解碼一指示存在至少一殘餘非零係數之 符號、一指示該非零係數之前的零值係數之一數目的運 程長度及該非零係數的一正負號。 73. 如請求項72之設備,其中該第二解碼構件在一最後非零 係數之後解碼一指示在該視訊區塊之該等精化中不存在 殘餘非零係數的符號。 74. 如請求項73之設備,其進一步包含用於使用每一係數之 該經解碼之運程、每一係數之該正負號及指示不存在殘 餘非零係數的該符號來產生該視訊區塊之該等精化的係 數之一向量之構件。 75. 如請求項74之設備,其進一步包含用於將該係數向量之 每一非零係數的一量值設定為等於一的構件。 76. 如請求項72之設備,其中該第二解碼構件在不存取以該 135453.doc •13- 200934250 第一品質編碼之該視訊區塊的係數資訊的情況下解碼該 視訊區塊之該等精化。 77. 如請求項72之設備,其中該第二解碼構件僅使用一單一 可變長度寫碼(VLC)表來解碼該視訊區塊之該等精化。 78. 如請求項77之設備,其中該單一 VLC表包含在如界定於 ITU-T H.264/MPEG-4部分10進階視訊寫碼(AVC)標準中 之CAVLC中所規定的VLC表中之一者。 135453.doc -14-a base layer decoder that decodes the base layer bitstream with the first quality to obtain the video block; and an enhancement layer decoder that decodes the enhancement layer bitstream to The refinement of the video block is obtained. 63. The device of claim 55, wherein the device comprises a wireless communication device. 64. The device of claim 55, wherein the device comprises an integrated circuit device. 65. A computer readable medium containing instructions for causing one or more processors to: decode a base layer bitstream to obtain a first quality video zone 135453.doc -11- 200934250 Blocking; resolving a code-enhanced layer bitstream to obtain refinement of the video block, the refinement resulting in a second quality when combined with the decoded first video block of the first quality a video block, wherein the instructions cause the one or more processors to decode, for each non-zero coefficient of the refinement of the video block, a symbol indicating that at least one residual non-zero coefficient exists, A run length indicating the number of zero values before the non-zero coefficient and a sign of the non-zero coefficient. 66. The computer readable medium of claim 65, wherein the instructions cause one or more processors to decode after a last non-zero coefficient to indicate that there is no residual non-zero in the refinement of the video block The sign of the coefficient. 67. The computer readable medium of claim 66, wherein the instructions cause the one or more processors to use the decoded run of each coefficient, a 5 cc sign for each coefficient, and indicate that there are no residual non-zero coefficients The symbol is used to generate a vector of the refined coefficients of the video block. 68. The computer readable medium of claim 67, wherein the instructions cause one or more processors to set a magnitude of each non-zero coefficient of the coefficient vector equal to one. 69. The computer readable medium of claim 65, wherein the instructions cause one or more processors to decode the video block without accessing coefficient information of the video block encoded with the first quality These refinements. 70. The computer readable medium of claim 65, wherein the instructions cause one or more processors to decode the refinement of the video block using only a single variable length code (VLC) table. 135453.doc -12-200934250 71. The computer readable medium of claim 70, wherein the single VLC table is included in an Advanced Video Write Code (AVC) standard as defined in ITU-T H.264/MPEG-4 Part 10 One of the VLC tables specified in the CAVLC" 72. A device for decoding video data using an adjustable video write code, the device comprising: for decoding a base layer bitstream to obtain a first quality a first component of a video block; and a first component for decoding an enhancement layer bitstream to obtain refinement of the video block, the refinement being in the decoded video region of the first quality Combining the blocks results in the video block having a second quality, wherein the second decoding component decodes a symbol indicating the presence of at least one residual non-zero coefficient for each of the non-zero coefficients of the refinement of the video block And a run length indicating a number of zero value coefficients before the non-zero coefficient and a sign of the non-zero coefficient. 73. The apparatus of claim 72, wherein the second decoding component decodes a symbol indicating that there are no residual non-zero coefficients in the refinement of the video block after a last non-zero coefficient. 74. The apparatus of claim 73, further comprising: generating, by the decoded path of each coefficient, the sign of each coefficient, and the symbol indicating the absence of residual non-zero coefficients to generate the video block The component of the vector of one of these refined coefficients. 75. The apparatus of claim 74, further comprising means for setting a magnitude of each non-zero coefficient of the coefficient vector equal to one. 76. The device of claim 72, wherein the second decoding component decodes the video block without accessing coefficient information of the video block encoded by the first quality code of the 135453.doc •13-200934250 Equal refinement. 77. The device of claim 72, wherein the second decoding component decodes the refinement of the video block using only a single variable length write code (VLC) table. 78. The device of claim 77, wherein the single VLC table is included in a VLC table as defined in a CAVLC as defined in the ITU-T H.264/MPEG-4 Part 10 Advanced Video Code (AVC) standard. One of them. 135453.doc -14-
TW97139596A 2007-10-15 2008-10-15 Method, device, and computer-readable medium of improved enhancement layer coding for scalable video coding TWI408965B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US97991907P 2007-10-15 2007-10-15
US98021407P 2007-10-16 2007-10-16
US12/250,784 US8848787B2 (en) 2007-10-15 2008-10-14 Enhancement layer coding for scalable video coding

Publications (2)

Publication Number Publication Date
TW200934250A true TW200934250A (en) 2009-08-01
TWI408965B TWI408965B (en) 2013-09-11

Family

ID=40344656

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97139596A TWI408965B (en) 2007-10-15 2008-10-15 Method, device, and computer-readable medium of improved enhancement layer coding for scalable video coding

Country Status (9)

Country Link
EP (1) EP2213099A1 (en)
JP (2) JP5248619B2 (en)
KR (1) KR101147943B1 (en)
CN (1) CN101855908B (en)
BR (1) BRPI0818077A2 (en)
CA (1) CA2702488C (en)
RU (1) RU2463728C2 (en)
TW (1) TWI408965B (en)
WO (1) WO2009052206A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI452901B (en) * 2009-09-21 2014-09-11 Intersil Americas LLC Method and system for tracking phase in a receiver for 8vsb

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3923571B1 (en) 2010-07-21 2023-07-19 Dolby Laboratories Licensing Corporation Systems and methods for multi-layered frame-compatible video delivery
US8634668B2 (en) * 2011-02-25 2014-01-21 Sony Corporation Method of compression of digital images using a fixed number of bits per block
US20120257675A1 (en) * 2011-04-11 2012-10-11 Vixs Systems, Inc. Scalable video codec encoder device and methods thereof
US9565431B2 (en) * 2012-04-04 2017-02-07 Qualcomm Incorporated Low-delay video buffering in video coding
US9602841B2 (en) * 2012-10-30 2017-03-21 Texas Instruments Incorporated System and method for decoding scalable video coding
KR20150091043A (en) * 2012-11-29 2015-08-07 엘지전자 주식회사 Method and device for encoding/ decoding image supporting plurality of layers
JP6300033B2 (en) * 2012-12-26 2018-03-28 ソニー株式会社 Image processing apparatus and method
US9992493B2 (en) * 2013-04-01 2018-06-05 Qualcomm Incorporated Inter-layer reference picture restriction for high level syntax-only scalable video coding
GB2512829B (en) * 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
US9848199B2 (en) * 2014-03-17 2017-12-19 Qualcomm Incorporated Device and method for scalable coding of video information

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002343135A1 (en) * 2001-11-21 2003-06-10 Koninklijke Philips Electronics N.V. Improved bit plane compression method
JP4447197B2 (en) * 2002-01-07 2010-04-07 三菱電機株式会社 Moving picture encoding apparatus and moving picture decoding apparatus
JP4510465B2 (en) * 2002-01-22 2010-07-21 ノキア コーポレイション Coding of transform coefficients in an image / video encoder and / or decoder
JP3893350B2 (en) * 2002-11-29 2007-03-14 キヤノン株式会社 Encoded data conversion apparatus and method
JP2006237656A (en) * 2003-02-28 2006-09-07 Secom Co Ltd Coded signal separating/merging device, generator and extracting device for difference coded signal, and method and program for separating/merging coded signal
JP4014098B2 (en) * 2003-06-26 2007-11-28 株式会社Kddi研究所 Image hierarchical encoding apparatus and decoding apparatus
KR100736086B1 (en) * 2005-09-06 2007-07-06 삼성전자주식회사 Method and apparatus for enhancing performance of entropy coding, video coding method and apparatus using the method
KR100714706B1 (en) * 2005-09-26 2007-05-04 삼성전자주식회사 Method and apparatus for enhancing performance of entropy coding, video coding method and apparatus using the method
KR100763192B1 (en) * 2005-09-26 2007-10-04 삼성전자주식회사 Method and apparatus for entropy encoding and entropy decoding FGS layer's video data
US8116371B2 (en) * 2006-03-08 2012-02-14 Texas Instruments Incorporated VLC technique for layered video coding using distinct element grouping
US7778472B2 (en) * 2006-03-27 2010-08-17 Qualcomm Incorporated Methods and systems for significance coefficient coding in video compression
KR100834757B1 (en) * 2006-03-28 2008-06-05 삼성전자주식회사 Method for enhancing entropy coding efficiency, video encoder and video decoder thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI452901B (en) * 2009-09-21 2014-09-11 Intersil Americas LLC Method and system for tracking phase in a receiver for 8vsb

Also Published As

Publication number Publication date
EP2213099A1 (en) 2010-08-04
JP2011501572A (en) 2011-01-06
CN101855908B (en) 2012-11-21
RU2010119448A (en) 2011-11-27
KR20100066584A (en) 2010-06-17
JP2013051699A (en) 2013-03-14
JP5456867B2 (en) 2014-04-02
CN101855908A (en) 2010-10-06
TWI408965B (en) 2013-09-11
CA2702488C (en) 2013-04-02
CA2702488A1 (en) 2009-04-23
RU2463728C2 (en) 2012-10-10
BRPI0818077A2 (en) 2015-03-31
KR101147943B1 (en) 2012-05-23
JP5248619B2 (en) 2013-07-31
WO2009052206A1 (en) 2009-04-23

Similar Documents

Publication Publication Date Title
TW200934250A (en) Improved enhancement layer coding for scalable video coding
US11095893B2 (en) Primary transform and secondary transform in video coding
KR100987958B1 (en) Methods and systems for refinement coefficient coding in video compression
TWI501648B (en) Layered encoded bitstream structure
US8848787B2 (en) Enhancement layer coding for scalable video coding
CN1893666B (en) Video encoding and decoding methods and apparatuses
JP5259828B2 (en) Video coding using transforms larger than 4x4 and 8x8
JP4981927B2 (en) CAVLC extensions for SVCCGS enhancement layer coding
JP2012531670A (en) 8-point conversion for media data encoding
KR101032243B1 (en) Method and system for scalable bitstream extraction
EP1601205A1 (en) Moving image encoding/decoding apparatus and method
RU2406259C2 (en) Methods and systems for coding of clarification coefficients in video data compression
RU2821429C1 (en) Prevention of redundant signaling in multilayer bit video streams
Martínez et al. DISTRIBUTED VIDEO CODING IN TRANSFORM DOMAIN