TW201709727A - 視訊編碼方法 - Google Patents
視訊編碼方法 Download PDFInfo
- Publication number
- TW201709727A TW201709727A TW105138493A TW105138493A TW201709727A TW 201709727 A TW201709727 A TW 201709727A TW 105138493 A TW105138493 A TW 105138493A TW 105138493 A TW105138493 A TW 105138493A TW 201709727 A TW201709727 A TW 201709727A
- Authority
- TW
- Taiwan
- Prior art keywords
- entropy
- block
- truncation
- image
- decoding
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000009466 transformation Effects 0.000 description 5
- 238000013139 quantization Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000011229 interlayer Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一種用於解碼視訊之方法包含:(a)接收適合於解碼與至少一截塊中之任一者不對準的影像塊中之至少一者的熵資訊;及(b)基於圖框之一位元串流內之信號在無需熵解碼以識別該信號的情況下,識別與該至少一截塊中之任一者不對準之該等影像塊中的至少一者。
Description
本發明係關於一種用於編碼視訊之方法。
通常將數位視訊表示為一系列影像或圖框,該一系列影像或圖框中之每一者含有一像素陣列。每一像素包括諸如強度及/或顏色資訊之資訊。在許多狀況下,將每一像素表示為三種顏色之集合,該三種顏色中之每一者係藉由八個位元顏色值來定義。
視訊編碼技術(例如,H.264/MPEG-4 AVC(H.264/AVC))通常以增加複雜性為代價而提供較高的編碼效率。對於視訊編碼技術增加影像品質要求及增加影像解析度要求亦增加編碼複雜性。適合於並行解碼之視訊解碼器可改良解碼處理程序之速度且減少記憶體要求;適合於並行編碼之視訊編碼器可改良編碼處理程序的速度且減少記憶體要求。
H.264/MPEG-4 AVC[聯合視訊工作組之ITU-T VCEG及ISO/IEC MPEG,「H.264:Advanced video coding for generic audiovisual services」,ITU-T Rec.H.264及ISO/IEC 14496-10(MPEG4-第10部分),2007年11月],及類似地JCT-VC[「Draft Test Model Under Consideration」,JCTVC-A205,JCT-VC會議,Dresden,2010年4月(JCT-VC)],其兩者之全部內容均以引用的方式併入本文中,兩者均為使用巨集區塊預測繼之以殘餘編碼來減少在視訊序列中的時間及空
間冗餘以達成壓縮效率之視訊編解碼器(編碼器/解碼器)規範。
本發明之一實施例揭示一種用於解碼視訊之方法。該方法包含:(a)接收該視訊之包括至少一截塊及至少一影像塊的一圖框,其中該至少一截塊中之每一者的特徵在於其獨立於其他該至少一截塊來解碼,其中該至少一影像塊中之每一者的特徵在於其為該圖框之一矩形區且具有以一光柵掃描次序所配置之用於該解碼的編碼單元,其中該圖框之該至少一影像塊係以該圖框之一光柵掃描次序來共同地配置;(b)接收適合於解碼該等影像塊中之至少一者的熵資訊;(c)接收指示至少一影像塊之位置係在一截塊內傳輸之資訊;(d)接收指示該位置之資訊及指示該至少一影像塊之數目的資訊。
本發明之一實施例揭示一種用於解碼視訊之方法。該方法包含:(a)接收該視訊之包括至少一截塊及至少一影像塊的一圖框,其中該至少一截塊中之每一者及該至少一影像塊中之每一者並非全部彼此對準,其中該至少一截塊中之每一者的特徵在於其獨立於其他該至少一截塊來解碼,其中該至少一影像塊中之每一者的特徵在於其為該圖框之一矩形區且具有以一光柵掃描次序所配置之用於該解碼的編碼單元,其中該圖框之該至少一影像塊係以該圖框之一光柵掃描次序來共同地配置;(b)接收適合於解碼與該至少一截塊中之任一者不對準的該等影像塊中之至少一者的熵資訊。
本發明之一實施例揭示一種用於解碼視訊之方法。該方法包含:(a)接收該視訊之包括至少一截塊及至少一影像塊的一圖框,其中該至少一截塊中之每一者及該至少一影像塊中之每一者並非全部彼此對準,其中該至少一截塊中之每一者的特徵在於其獨立於其他該至少一截塊來解碼,其中該至少一影像塊中之每一者的特徵在於其為該圖框之一矩形區且具有以一光柵掃描次序所配置之用於該解碼的編碼單
元,其中該圖框之該至少一影像塊係以該圖框之一光柵掃描次序來共同地配置;(b)基於在該圖框之一位元串流內之信號在無需熵解碼以識別該信號的情況下,識別與該至少一截塊中之任一者不對準之該等影像塊中的至少一者。
在考慮結合隨附圖式所考慮之本發明之以下詳細描述後,將更易於理解本發明的前述及其他目標、特徵及優點。
2‧‧‧視訊編碼器
4‧‧‧輸入畫面
6‧‧‧經預測信號
8‧‧‧殘餘信號
10‧‧‧框間預測
12‧‧‧框內預測
14‧‧‧運動補償
16‧‧‧參考畫面
18‧‧‧運動估計區段
19‧‧‧運動資訊
20‧‧‧框內預測區段
22‧‧‧經重建之信號
24‧‧‧變換/按比例縮放/量化區段
26‧‧‧經量化之變換係數
28‧‧‧信號
30‧‧‧逆(變換/按比例縮放/量化)區段
32‧‧‧熵編碼區段
34‧‧‧壓縮視訊位元串流
36‧‧‧解區塊濾波器
38‧‧‧輸出影像區
50‧‧‧視訊解碼器
52‧‧‧輸入信號
54‧‧‧熵解碼區段
56‧‧‧運動資訊
57‧‧‧內部預測資訊
58‧‧‧經量化及按比例縮放之變換係數
60‧‧‧運動補償區段
62‧‧‧逆(變換/按比例縮放/量化)區段
64‧‧‧圖框記憶體
68‧‧‧框間預測
70‧‧‧殘餘信號
72‧‧‧組合信號
74‧‧‧框內預測區段
76‧‧‧框內預測信號
80‧‧‧解區塊濾波器
82‧‧‧經濾波之信號
90‧‧‧視訊畫面
91-99‧‧‧巨集區塊
100-102‧‧‧截塊
103-105‧‧‧截塊群組
圖1說明H.264/AVC視訊編碼器。
圖2說明H.264/AVC視訊解碼器。
圖3說明例示性截塊結構。
圖4說明另一例示性截塊結構。
圖5說明熵截塊之重建。
圖6說明熵截塊之並行重建。
圖7說明具有1個截塊及9個影像塊之圖框。
圖8說明具有3個截塊及3個影像塊之圖框。
圖9A及圖9B說明用於影像塊之熵選擇。
圖10A及圖10B說明用於影像塊之另一熵選擇。
圖11說明用於影像塊之又一熵選擇。
圖12A及圖12B說明例示性語法。
儘管本文中所描述之實施例可容納使用熵編碼/解碼之任何視訊編碼器/解碼器(編解碼器),但出於說明之目的而僅描述關於H.264/AVC編碼器及H.264/AVC解碼器之例示性實施例。許多視訊編碼技術係基於一種基於區塊之混合視訊編碼方法,其中源編碼技術為畫面間(亦被考慮為框間)預測、畫面內(亦被考慮為框內)預測及預測殘餘物之變換編碼的混合。框間預測可採用時間冗餘,且框內預測及
預測殘餘物之變換編碼可採用空間冗餘。
圖1展示例示性H.264/AVC視訊編碼器2之方塊圖。輸入畫面4(亦被考慮為圖框)可經呈現以用於編碼。可產生經預測信號6及殘餘信號8,其中經預測信號6可係基於框間預測10抑或框內預測12。框間預測10可由運動補償區段14使用一或多個所儲存之參考畫面16(亦將參考圖框考慮在內)、及運動資訊19來判定,運動資訊19係藉由在輸入圖框4與參考圖框16之間的運動估計區段18處理程序來判定。框內預測12可藉由框內預測區段20使用經解碼信號22來判定。殘餘信號8可藉由自經預測信號6減去輸入圖框4來判定。殘餘信號8係藉由變換/按比例縮放/量化區段24來變換、按比例縮放及量化,藉此產生經量化之變換係數26。經解碼信號22可藉由將經預測信號6加至信號28來產生,信號28係藉由逆(變換/按比例縮放/量化)區段30使用經量化之變換係數26所產生。運動資訊19及經量化之變換係數26可藉由熵編碼區段32來熵編碼且寫入至壓縮視訊位元串流34。輸出影像區38(例如,參考圖框之一部分)可藉由解區塊濾波器36使用經重建之經預先濾波的信號22來在編碼器2處產生。此輸出圖框可用作用於編碼後續輸入畫面之參考圖框。
圖2展示例示性H.264/AVC視訊解碼器50之方塊圖。輸入信號52(亦被考慮為位元串流)可經呈現以用於解碼。所接收之符號可藉由熵解碼區段54來熵解碼,藉此產生運動資訊56、內部預測資訊57及經量化及按比例縮放之變換係數58。運動資訊56可藉由運動補償區段60而與一或多個參考圖框84之一部分組合,該一或多個參考圖框84可駐留於圖框記憶體64中,且框間預測68可被產生。經量化及按比例縮放之變換係數58可藉由逆(變換/按比例縮放/量化)區段62來逆量化、按比例縮放及逆變換,藉此產生經解碼之殘餘信號70。可將殘餘信號70加至預測信號78:框間預測信號68抑或框內預測信號76。框內預測信
號76可藉由框內預測區段74自在當前圖框72中之經先前解碼的資訊來預測。組合信號72可藉由解區塊濾波器80來濾波且經濾波之信號82可寫入至圖框記憶體64。
在H.264/AVC中,輸入畫面可分割成固定大小之巨集區塊,其中每一巨集區塊覆蓋亮度分量之16×16個樣本及兩個色度分量中之每一者的8×8個樣本之矩形畫面區域。H.264/AVC標準之解碼處理程序經指定以用於係巨集區塊之處理單元。熵解碼器54剖析壓縮視訊位元串流52之語法元素且解多工該等語法元素。H.264/AVC指定熵解碼之兩種替代方法:基於使用可變長度碼之上下文自適應***換集合的低複雜性技術(稱作CAVLC),及更需要計算之基於上下文的自適應性二進位算術編碼之技術(稱作CABAC)。在此兩種熵解碼技術中,當前符號之解碼可依賴於先前經正確解碼之符號及自適應性更新之上下文模型。另外,不同的資料資訊可經多工在一起,該不同的資料資訊例如預測資料資訊、殘餘資料資訊及不同的顏色平面。解多工可等待直至元素得以熵解碼為止。
在熵解碼之後,可藉由獲得以下各者來重建巨集區塊:經逆量化及逆變換之殘餘信號,及預測信號(框內預測信號抑或框間預測信號)。可藉由對經解碼之巨集區塊應用解區塊濾波器來減少區塊失真。通常,此後續處理在輸入信號經熵解碼之後開始,藉此導致熵解碼作為可能的解碼瓶頸。類似地,在使用替代預測機制(例如,在H.264/AVC中之層間預測或在其他可按比例縮放編解碼器中之層間預測)之編解碼器中,在處理之前在解碼器處熵解碼可為必需的,藉此使得熵解碼為可能的瓶頸。
包含複數個巨集區塊之輸入畫面可分割成一個或若干截塊。假定在編碼器及解碼器處所使用之參考畫面為相同的且解區塊濾波並不跨越截塊邊界來使用資訊,在不使用來自其他截塊之資料的情況下,截
塊所表示之在畫面區域中的樣本之值可得以恰當地解碼。因此,對於截塊之熵解碼及巨集區塊重建不取決於其他截塊。詳言之,可在每一截塊之開始時重設熵編碼狀態。在定義鄰域可用性時可將在其他截塊中之資料標記為不可用,以用於熵解碼及重建兩者。可並行地熵解碼及重建該等截塊。較佳地,不允許內部預測及運動向量預測跨越截塊之邊界。對比而言,解區塊濾波可跨越截塊邊界來使用資訊。
圖3說明包含在水平方向上之11個巨集區塊及在垂直方向上之9個巨集區塊(標明為91至99之9個例示性巨集區塊)的例示性視訊畫面90。圖3說明三個例示性截塊:指示為「SLICE #0」之第一截塊100、指示為「SLICE #1」之第二截塊101及指示為「SLICE #2」的第三截塊102。H.264/AVC解碼器可並行地解碼及重建三個截塊100、101、102。可以順序方式按掃描線次序來傳輸該等截塊中之每一者。在對於每一截塊之解碼/重建處理程序開始時,初始化或重設上下文模型且將在其他截塊中之巨集區塊標記為不可用以用於熵解碼及巨集區塊重建兩者。因此,對於巨集區塊(例如,在「SLICE #1」中之標明為93的巨集區塊),對於上下文模型選擇或重建可能不使用在「SLICE #0」中的巨集區塊(例如,標明為91及92之巨集區塊)。而,對於巨集區塊(例如,在「SLICE #1」中之標明為95的巨集區塊),對於上下文模型選擇或重建可使用在「SLICE #1」中的其他巨集區塊(例如,標明為93及94之巨集區塊)。因此,熵解碼及巨集區塊重建在截塊內逐次進行。除非截塊係使用靈活的巨集區塊排序(FMO)來定義,否則按光柵掃描之次序來處理在截塊內之巨集區塊。
靈活的巨集區塊排序定義截塊群組來修改將畫面分割成多個截塊的方式。在截塊群組中之巨集區塊係藉由巨集區塊至截塊群組映射來定義,該巨集區塊至截塊群組映射係藉由畫面參數集合之內容及在截塊標頭中之額外資訊來示意。該巨集區塊至截塊群組映射由對
於在畫面中的每一巨集區塊之截塊群組識別號組成。截塊群組識別號指定相關聯之巨集區塊屬於哪一截塊群組。可將每一截塊群組分割成一或多個截塊,其中截塊為在特定截塊群組之巨集區塊集合內按光柵掃描之次序所處理的在同一截塊群組內之巨集區塊序列。熵解碼及巨集區塊重建在截塊群組內逐次進行。
圖4描繪分配成三個截塊群組之例示性巨集區塊分配:指示為「SLICE GROUP #0」之第一截塊群組103、指示為「SLICE GROUP #1」之第二截塊群組104及指示為「SLICE GROUP #2」的第三截塊群組105。此等截塊群組103、104、105可分別與在畫面90中之兩個前景區及一背景區相關聯。
可將畫面分割成一或多個重建截塊,其中在以下方面中重建截塊可為自含式的:假定在編碼器及解碼器處所使用之參考畫面為相同的,在不使用來自其他重建截塊之資料的情況下,可正確地重建該重建截塊所表示之在畫面區域中的樣本之值。在重建截塊內之所有經重建的巨集區塊可在鄰域定義中為可用的以用於重建。
可將重建截塊分割成一個以上熵截塊,其中熵截塊可在以下方面中為自含式的:可在不使用來自其他熵截塊之資料的情況下正確地熵解碼該熵截塊所表示之在畫面區域中的符號值。可在每一熵截塊之解碼開始時重設熵編碼狀態。在定義鄰域可用性時可將在其他熵截塊中之資料標記為不可用以用於熵解碼。在當前區塊之上下文模型選擇中可能不使用在其他熵截塊中之巨集區塊。可僅在一熵截塊內更新上下文模型。因此,與熵截塊相關聯之每一熵解碼器可維持其自己之上下文模型集合。
編碼器可判定是否將重建截塊分割成多個熵截塊,且該編碼器可在位元串流中示意決策。該信號可包含熵截塊旗標,可將該熵截塊旗標指示為「entropy_slice_flag」。參看圖5,可檢驗熵截塊旗標
(130),且若該熵截塊旗標指示不存在熵截塊與畫面或重建截塊相關聯(132),則可將標頭作為規則截塊標頭來剖析(134)。可重設熵解碼器狀態(136),且可定義用於熵解碼及重建之鄰域資訊(138)。可接著熵解碼截塊資料(140),且可重建截塊(142)。若熵截塊旗標指示存在熵截塊與畫面或重建截塊相關聯(146),則可將標頭作為熵截塊標頭來剖析(148)。可重設熵解碼器狀態(150)、可定義用於熵解碼之鄰域資訊(152),且可熵解碼熵截塊資料(154)。可接著定義用於重建之鄰域資訊(156),且可重建截塊(142)。在截塊重建(142)之後,可檢驗下一截塊或畫面(158)。
參看圖6,解碼器可能能夠並行解碼且可定義其自己之並行度,例如考慮包含並行解碼N個熵截塊之性能的解碼器。該解碼器可識別N個熵截塊(170)。若在當前畫面或重建截塊中少於N個熵截塊為可用的,則該解碼器可解碼來自後續畫面或重建截塊(若其可用)的熵截塊。或者,該解碼器可在解碼後續畫面或重建截塊之多個部分之前等待直至當前畫面或重建截塊被完全處理為止。在識別高達N個熵截塊(170)之後,可獨立地熵解碼所識別的熵截塊中之每一者。可解碼第一熵截塊(172至176)。第一熵截塊之解碼(172至176)可包含重設解碼器狀態(172)。若使用CABAC熵解碼,則可重設CABAC狀態。可定義用於第一熵截塊之熵解碼的鄰域資訊(174),且可解碼第一熵截塊資料(176)。對於高達N個熵截塊中之每一者,可執行此等步驟(對於第N個熵截塊為178至182)。該解碼器可在該等熵截塊中之全部或一部分得以熵解碼時重建該等熵截塊(184)。
當存在多於N個熵截塊時,在完成熵解碼熵截塊後,解碼執行緒即可開始熵解碼下一熵截塊。因此,當執行緒完成熵解碼低複雜性熵截塊時,該執行緒可在不等待其他執行緒完成其解碼之情況下開始解碼額外熵截塊。
如在圖3中所說明之截塊的配置可限於以影像掃描次序(亦稱為光柵掃描或光柵掃描次序)來定義在一對巨集區塊之間的每一截塊。此掃描次序截塊配置在計算上有效率但不傾向於適合於高效率之並行編碼及解碼。此外,此截塊掃描次序定義亦不傾向於將影像之很可能具有非常適合於編碼效率之共同特性的較小之局域化區群集在一起。如在圖4中所說明之截塊的配置在其配置上非常靈活但不傾向於適合於高效率之並行編碼或解碼。此外,此非常靈活之截塊定義在於解碼器中實施時在計算上複雜。
參看圖7,影像塊技術將影像劃分成矩形(包括正方形)區集合。以光柵掃描次序來編碼及解碼在該等影像塊中之每一者內的巨集區塊(例如,最大編碼單元)。同樣以光柵掃描次序來編碼及解碼影像塊配置。因此,可存在任何合適數目個行邊界(例如,0或0以上)且可存在任何合適數目個列邊界(例如,0或0以上)。因此,圖框可定義一或多個截塊,諸如在圖7中所說明之一截塊。在一些實施例中,對於內部預測、運動補償、熵編碼上下文選擇或依賴於相鄰巨集區塊資訊之其他處理程序,位於不同影像塊中之巨集區塊為不可用的。
參看圖8,展示影像塊技術將影像劃分成三矩形行集合。以光柵掃描次序來編碼及解碼在該等影像塊中之每一者內的巨集區塊(例如,最大編碼單元)。同樣以光柵掃描次序來編碼及解碼該等影像塊。可以該等影像塊之掃描次序來定義一或多個截塊。該等截塊中之每一者為可獨立解碼的。舉例而言,可將截塊1定義為包括巨集區塊1至9、可將截塊2定義為包括巨集區塊10至28,且可將截塊3定義為包括橫跨三個影像塊之巨集區塊29至126。使用影像塊藉由在圖框之更多局域化區中處理資料來促進編碼效率。
在一實施例中,在每一影像塊之開始時初始化熵編碼及解碼處理程序。在編碼器處,此初始化可包括將在熵編碼器中之剩餘資訊寫入
至位元串流的處理程序,稱為以下步驟之處理程序:清空位元串流、用額外資料來填充位元串流以到達預定義位元串流位置集合中之一者;及將熵編碼器設定為已知狀態,該已知狀態為預定義的或對編碼器及解碼器兩者為已知的。常常,該已知狀態係呈值矩陣之形式。另外,預定義位元串流位置可為與倍數數目個位元對準之位置(例如,位元組對準)。在解碼器處,此初始化處理程序可包括將熵解碼器設定為對編碼器及解碼器兩者為已知之已知狀態及忽略在位元串流中之位元直至自預定義位元串流位置集合讀取為止的處理程序。
在一些實施例中,多個已知狀態對於編碼器及解碼器為可用的且可用於初始化熵編碼及/或解碼處理程序。傳統上,在截塊標頭中以熵初始化指示器值示意待用於初始化之已知狀態。藉由圖7及圖8中所說明之影像塊技術,影像塊及截塊並不彼此對準。因此,在影像塊及截塊不對準之情況下,傳統上將不存在熵初始化指示器值,該值係對於不含有按光柵掃描次序與在截塊中的第一巨集區塊共同定位之第一巨集區塊的影像塊所傳輸。舉例而言,參看圖7,使用在截塊標頭中所傳輸之熵初始化指示器值來初始化巨集區塊1,但對於下一影像塊之巨集區塊16不存在類似的熵初始化指示器值。對於單一截塊(其具有對於巨集區塊1之截塊標頭)之對應的影像塊之巨集區塊34、43、63、87、99、109及121,類似的熵初始化指示器資訊通常不存在。
參看圖8,對於三個截塊以類似方式,在對於截塊1之巨集區塊1的截塊標頭中提供熵初始化指示器值、在對於截塊2之巨集區塊10的截塊標頭中提供熵初始化指示器值,且在對於截塊3之巨集區塊29的截塊標頭中提供熵初始化指示器值。然而,以類似於圖7之方式,對於中央影像塊(以巨集區塊37開始)及右手影像塊(以巨集區塊100開始)無熵初始化指示器值。在無對於中間及右手影像塊之熵初始化指示器
值之情況下,以並行型式且以高編碼效率來有效率地編碼及解碼影像塊之巨集區塊會存在問題。
對於使用在圖框中之一或多個影像塊及一或多個截塊之系統,較佳地將熵初始化指示器值與影像塊之第一巨集區塊(例如,最大編碼單元)一起提供。舉例而言,與圖7之巨集區塊16一起,提供熵初始化指示器值以明確地選擇熵初始化資訊。顯式判定可使用任何合適之技術,諸如指示應使用前一熵初始化指示器值(諸如,在前一截塊標頭中之前一熵初始化指示器值),或以其他方式發送與各別巨集區塊/影像塊相關聯的熵初始化指示器值。以此方式,在截塊可包括一包括熵索引值之標頭的同時,在影像塊中之第一巨集區塊可同樣包括熵初始化指示器值。
參看圖9A,此額外資訊之編碼可為如下:If(num_column_minus1>0 && num_rows_minus1>0)then tile_cabac_init_idc_present_flag
num_column_minus1>0判定在影像塊中之行的數目是否非零,且num_rows_minus1>0判定在影像塊中之列的數目是否非零,其兩者有效地判定在編碼/解碼中是否使用影像塊。若使用影像塊,則tile_cabac_init_idc_present_flag為指示將熵初始化指示器值自編碼器傳達至解碼器之方式的旗標。舉例而言,若將該旗標設定為第一值,則可選擇第一選項,諸如使用先前傳達之熵初始化指示器值。作為一特定實例,此先前傳達之熵初始化指示器值可等於在對應於含有影像塊之第一巨集區塊之截塊的截塊標頭中所傳輸之熵初始化指示器值。舉例而言,若將該旗標設定為第二值,則可選擇第二選項,諸如在對於對應影像塊之位元串流中提供熵初始化指示器值。作為一特定實例,在對應於影像塊之第一巨集區塊的資料內提供熵初始化指示器值。
用於示意將熵初始化指示器值自編碼器傳達至解碼器之方式的旗標指示的語法可為如下:num_columns_minus1 num_rows_minus1 if(num_column_minus1>0 && num_rows_minus1>0{ tile_boundary_dependence_idr uniform_spacing_idr if(uniform_spacing_idr!=1){ for(i=0;i<num_columns_minus1;i++) columnWidth[i] for(i=0;i<num_rows_minus1;i++) rowHeight[i] } if(entropy_coding_mode==1) tile_cabac_init_idc_present_flag }
參看圖9B,可使用其他技術來判定是否使用影像塊,諸如在序列參數集合(例如,關於圖框序列之資訊)及/或畫面參數集合(例如,關於特定圖框之資訊)中包括旗標。語法可為如下:tile_enable_flag if(tile_enable_flag){ num_columns_minus1 num_rows_minus1 tile_boundary_dependence_idr uniform_spacing_idr
if(uniform_spacing_idr!=1){ for(i=0;i<num_columns_minus1;i++) columnWidth[i] for(i=0;i<num_rows_minus1;i++) rowHeight[i] } if(entropy_coding_mode==1) tile_cabac_init_idc_present_flag }
tile_enable_flag判定在當前畫面中是否使用影像塊。
參看圖10A及圖10B,對於影像塊提供合適之熵初始化指示器值資訊之技術可為如下。
第一,檢查以查看巨集區塊(例如,編碼單元)是否為在影像塊中之第一巨集區塊。因此,該技術判定可包括熵初始化指示器值之影像塊的第一巨集區塊。參看圖7,此第一巨集區塊指代巨集區塊1、16、34、43、63、87、99、109及121。參看圖8,此第一巨集區塊指代巨集區塊1、37及100。
第二,檢查以查看影像塊之第一巨集區塊(例如,編碼單元)是否並非截塊之第一巨集區塊(例如,編碼單元)。因此,該技術識別在截塊內之額外影像塊。參看圖7,額外影像塊指代巨集區塊16、34、43、63、87、99、109及121。參看圖8,額外影像塊指代巨集區塊37及100。
第三,檢查以查看tile_cabac_init_idc_flag是否等於第一值及影像塊是否經啟用。在一特定實施例中,此值等於0。在第二實施例中,此值等於1。在一額外實施例中,當(num_column_minus1>0 && num_rows_minus1>0)時,影像塊經啟用。在另一實施例中,當
tile_enable_flag等於1時,影像塊經啟用。
對於此等經識別之巨集區塊,cabac_init_idc_present_flag可經設定。
接著,若tile_cabac_init_idc_flag存在且若(num_column_minus1>0 && num_rows_minus1>0),則系統可僅示意cabac_init_idc_flag。因此,若影像塊正被使用則系統僅發送熵資訊,且旗標指示該熵資訊正被發送(亦即,cabac_init_idc旗標)。
編碼語法可為如下:coding_unit(x0,y0,currCodingUnitSize){If(x0==tile_row_start_location && y0=tile_col_start_location && currCodingUnitSize==MaxCodingUnitSize && tile_cabac_init_idc_flag==true && mb_id!=first_mb_in_slice{ cabac_init_idc_present_flag if(cabac_init_idc_present_flag) cabac_init_idc } a regular coding unit... }
一般而言,與影像塊之第一巨集區塊(例如,編碼單元)相關聯而不與截塊之第一巨集區塊相關聯的一或多個旗標可定義熵初始化指示器值。旗標可指示熵初始化指示器值為先前提供之資訊、預設值,抑或以其他方式將提供之熵初始化指示器值。
再次參看圖7,解碼器知曉在畫面圖框中的巨集區塊16之位置,但歸因於熵編碼而直至巨集區塊15經熵解碼才意識到在位元串流中之描述巨集區塊16之位元的位置。解碼及識別下一巨集區塊之此方式維
持低的位元耗用,此情形係需要的。然而,此情形並不促進並行地解碼影像塊。為增加識別針對在圖框中之特定影像塊的在位元串流中之特定位置的能力,以使得可在不等待熵解碼完成之情況下同時並行地在解碼器中解碼不同的影像塊,可在位元串流中包括識別在位元串流中的影像塊之位置的信號。參看圖11,較佳地在截塊之標頭中提供在位元串流中之影像塊的位置之示意。若旗標指示在位元串流中之影像塊的位置係在截塊內傳輸,則除在截塊內之該(等)影像塊中之每一者的第一巨集區塊內之位置之外,該旗標亦較佳地包括在圖框內之此等影像塊的數目。此外,若需要,則可僅針對所選擇之影像塊集合來包括位置資訊。
編碼語法可為如下:tile_locations_flag if(tile_location_flag){ tile_locations() } tile_locations() { for(i=0;i<num_of_tiles_minus1;i++){ tile_offset[i] } }
若在位元串流中傳輸影像塊位置,則示意tile_locations_flag。可使用絕對位置值或差分大小值(影像塊大小相對於先前經編碼影像塊之改變)或任何合適的技術來示意tile_offset[i](影像塊距離資訊)。
儘管此技術具有低耗用,但編碼器大體上不可傳輸位元串流直至
所有影像塊經編碼為止。
在一些實施例中,需要包括關於最大絕對位置值(影像塊距離資訊)或最大差分大小值(影像塊距離資訊)(亦被考慮為順序影像塊之最大值)的資料。藉由此資訊,編碼器可僅傳輸對於支援所識別的最大值為必要之數目個位元;解碼器可僅接收對於支援所識別的最大值為必要之數目個位元。舉例而言,藉由相對小的最大值,僅小的位元深度對於影像塊位置資訊為必要的。舉例而言,藉由相對大的最大值,大的位元深度對於影像塊位置資訊為必要的。
作為增加識別不同影像塊之能力以使得可在不等待熵解碼之情況下在解碼器中並行地處理不同影像塊的另一技術,可使用在位元串流內之與每一影像塊的開始相關聯之標記。此等影像塊標記係以如下方式包括於位元串流內:可在不熵解碼位元串流之彼特定部分的情況下識別此等影像塊標記。舉例而言,該等標記可以開始碼開始,該開始碼為作為標記資料僅存在於位元串流中之位元序列。此外,該標記可包括與影像塊相關聯及/或與該影像塊之第一巨集區塊相關聯的額外標頭。以此方式,編碼器可在不等待直至所有影像塊經編碼為止之情況下在每一影像塊經編碼之後將每一影像塊寫入至位元串流,但結果位元率增加。另外,解碼器可剖析位元串流以按更有效率之方式識別不同影像塊,尤其係在結合緩衝使用時。
儘管通常包括較少資訊,但影像塊標頭可與截塊標頭類似。所需要之主要資訊為下一區塊之巨集區塊數目及熵初始化資料及截塊索引(指示在影像塊中之開始CU屬於哪一截塊)。此影像塊標頭之編碼語法可如圖12A中所說明。或者,該主要資訊亦可包括初始量化參數。此影像塊標頭之編碼語法可如圖12B中所說明。並非在截塊標頭中傳輸且並非在影像塊標頭中傳輸之值可重設為在截塊標頭中所傳輸的值。
在一些實施例中,標記包括於位元串流中且與影像塊之開始相關
聯。然而,並非對於每個影像塊可在位元串流中包括標記。此情形促進編碼器及解碼器以不同的並行程度來操作。舉例而言,儘管在位元串流中僅包括4個標記,但編碼器可使用64個影像塊。此情形啟用具有64個處理程序之並行編碼及具有4個處理程序之並行解碼。在一些實施例中,以編碼器及解碼器兩者已知之方式指定在位元串流中之標記的數目。舉例而言,標記之數目可在位元串流中示意,或藉由設定檔或層級來定義標記之數目。
在一些實施例中,位置資料包括於位元串流中且與影像塊之開始相關聯。然而,並非對於每個影像塊可在位元串流中包括位置資料。此情形促進編碼器及解碼器以不同的並行程度來操作。舉例而言,儘管在位元串流中僅包括4個位置,但編碼器可使用64個影像塊。此情形啟用具有64個處理程序之並行編碼及具有4個處理程序之並行解碼。在一些實施例中,以編碼器及解碼器兩者已知之方式指定在位元串流中之位置的數目。舉例而言,標記之數目可在位元串流中示意,或藉由設定檔或層級來定義標記之數目。
已在前述說明書中使用之術語及表達式在本文中係用作描述之術語而非限制的術語,且不欲在此等術語及表達式之使用中排除所展示及描述之特徵或其部分的等效物,應認識到,本發明之範疇僅由下文之申請專利範圍來界定及限制。
由此描述本發明,將顯而易見,同一方式可以許多方式來變化。此等變化不應被視為偏離本發明之精神及範疇,且如熟習此項技術者將顯而易見,預期所有此等修改包括於以下申請專利範圍的範疇內。
Claims (1)
- 一種用於編碼視訊之方法,其包含:(a)以光柵(raster)掃描次序對在一圖框(frame)中之複數個截塊(slice)進行編碼;(b)以光柵掃描次序對在複數個影像塊(tile)之一者中的複數個巨集區塊(macroblock)進行編碼;(c)以光柵掃描次序對在該圖框中之該等影像塊進行編碼;(d)對該等複數個影像塊之一大小資訊進行編碼,該大小資訊係指示於該圖框中之該等影像塊之位置;(e)編碼一旗標(flag),該旗標指示一初始化熵編碼(entropy encoding)之方法;(f)編碼該等影像塊之數目及於複數個截塊之一者之標頭(header)所示意(signal)之位元串流內之該等影像塊之位置;及(g)基於在該等截塊之各個之開始(beginning)之該旗標來初始化該熵編碼。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/045,425 US20120230398A1 (en) | 2011-03-10 | 2011-03-10 | Video decoder parallelization including slices |
US13/045,425 | 2011-03-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201709727A true TW201709727A (zh) | 2017-03-01 |
TWI650992B TWI650992B (zh) | 2019-02-11 |
Family
ID=46795567
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105138493A TWI650992B (zh) | 2011-03-10 | 2012-03-09 | 視訊編碼方法 |
TW107138810A TWI739042B (zh) | 2011-03-10 | 2012-03-09 | 視訊編碼方法 |
TW104142528A TWI568243B (zh) | 2011-03-10 | 2012-03-09 | 視訊解碼方法 |
TW101108162A TWI521943B (zh) | 2011-03-10 | 2012-03-09 | 視訊解碼方法 |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107138810A TWI739042B (zh) | 2011-03-10 | 2012-03-09 | 視訊編碼方法 |
TW104142528A TWI568243B (zh) | 2011-03-10 | 2012-03-09 | 視訊解碼方法 |
TW101108162A TWI521943B (zh) | 2011-03-10 | 2012-03-09 | 視訊解碼方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20120230398A1 (zh) |
TW (4) | TWI650992B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8767824B2 (en) * | 2011-07-11 | 2014-07-01 | Sharp Kabushiki Kaisha | Video decoder parallelization for tiles |
KR102470694B1 (ko) * | 2012-02-04 | 2022-11-25 | 엘지전자 주식회사 | 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치 |
GB2502620B (en) * | 2012-06-01 | 2020-04-22 | Advanced Risc Mach Ltd | A parallel parsing video decoder and method |
WO2015037920A1 (ko) | 2013-09-10 | 2015-03-19 | 주식회사 케이티 | 스케일러블 비디오 신호 인코딩/디코딩 방법 및 장치 |
CN107465940B (zh) * | 2017-08-30 | 2019-10-25 | 苏州科达科技股份有限公司 | 视频对准方法、电子设备及存储介质 |
CN108600863A (zh) * | 2018-03-28 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 多媒体文件处理方法和装置、存储介质及电子装置 |
CN112236998A (zh) | 2019-01-02 | 2021-01-15 | 株式会社 Xris | 用于对视频信号进行编码/解码的方法及其装置 |
WO2020175914A1 (ko) | 2019-02-26 | 2020-09-03 | 주식회사 엑스리스 | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 |
TWI699661B (zh) * | 2019-07-11 | 2020-07-21 | 台達電子工業股份有限公司 | 場景模型之建構系統及其建構方法 |
CN112215940B (zh) | 2019-07-11 | 2024-01-19 | 台达电子工业股份有限公司 | 场景模型的建构***及其建构方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5767797A (en) * | 1996-06-18 | 1998-06-16 | Kabushiki Kaisha Toshiba | High definition video decoding using multiple partition decoders |
JP3962635B2 (ja) * | 2001-06-26 | 2007-08-22 | キヤノン株式会社 | 画像処理装置およびその制御方法 |
US20050013498A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US7768520B2 (en) * | 2006-05-03 | 2010-08-03 | Ittiam Systems (P) Ltd. | Hierarchical tiling of data for efficient data access in high performance video applications |
US7991236B2 (en) * | 2006-10-16 | 2011-08-02 | Nokia Corporation | Discardable lower layer adaptations in scalable video coding |
JP2010527216A (ja) * | 2007-05-16 | 2010-08-05 | トムソン ライセンシング | マルチビュー・ビデオ符号化(mvc)情報の符号化においてスライス群を使用する方法及び装置 |
KR20090004658A (ko) * | 2007-07-02 | 2009-01-12 | 엘지전자 주식회사 | 디지털 방송 시스템 및 데이터 처리 방법 |
US8542748B2 (en) * | 2008-03-28 | 2013-09-24 | Sharp Laboratories Of America, Inc. | Methods and systems for parallel video encoding and decoding |
US8908763B2 (en) * | 2008-06-25 | 2014-12-09 | Qualcomm Incorporated | Fragmented reference in temporal compression for video coding |
CN101836454B (zh) * | 2008-12-03 | 2012-08-22 | 联发科技股份有限公司 | 对有序熵切片执行平行cabac码处理的方法及装置 |
US10244239B2 (en) * | 2010-12-28 | 2019-03-26 | Dolby Laboratories Licensing Corporation | Parameter set for picture segmentation |
-
2011
- 2011-03-10 US US13/045,425 patent/US20120230398A1/en not_active Abandoned
-
2012
- 2012-03-09 TW TW105138493A patent/TWI650992B/zh active
- 2012-03-09 TW TW107138810A patent/TWI739042B/zh active
- 2012-03-09 TW TW104142528A patent/TWI568243B/zh active
- 2012-03-09 TW TW101108162A patent/TWI521943B/zh active
Also Published As
Publication number | Publication date |
---|---|
TWI739042B (zh) | 2021-09-11 |
TW201244493A (en) | 2012-11-01 |
TWI650992B (zh) | 2019-02-11 |
TWI521943B (zh) | 2016-02-11 |
US20120230398A1 (en) | 2012-09-13 |
TWI568243B (zh) | 2017-01-21 |
TW201616866A (zh) | 2016-05-01 |
TW201907708A (zh) | 2019-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11805253B2 (en) | Processing a video frame having slices and tiles | |
US9667971B2 (en) | Video decoder for slices | |
TWI568243B (zh) | 視訊解碼方法 | |
JP6588507B2 (ja) | 復号方法、復号装置、符号化方法及び符号化装置。 | |
US20120230399A1 (en) | Video decoder parallelization including a bitstream signal |