TW201806391A - 用於顯示串流壓縮之子串流多工 - Google Patents

用於顯示串流壓縮之子串流多工 Download PDF

Info

Publication number
TW201806391A
TW201806391A TW106119362A TW106119362A TW201806391A TW 201806391 A TW201806391 A TW 201806391A TW 106119362 A TW106119362 A TW 106119362A TW 106119362 A TW106119362 A TW 106119362A TW 201806391 A TW201806391 A TW 201806391A
Authority
TW
Taiwan
Prior art keywords
code
substream
video data
video
substreams
Prior art date
Application number
TW106119362A
Other languages
English (en)
Other versions
TWI732884B (zh
Inventor
維賈伊拉加哈萬 提拉魯馬萊
納坦 海姆 雅各布森
瑞珍 雷克斯曼 喬許
Original Assignee
高通公司
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
Application filed by 高通公司 filed Critical 高通公司
Publication of TW201806391A publication Critical patent/TW201806391A/zh
Application granted granted Critical
Publication of TWI732884B publication Critical patent/TWI732884B/zh

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • 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
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • 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
    • H04N19/169Methods 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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
    • H04N19/169Methods 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/188Methods 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 a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/423Methods 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 characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本發明提供一種經組態以編碼視訊資料之裝置,其包含:一記憶體,其經組態以儲存一視訊資料區塊;及一或多個處理器,其與該記憶體通信。該一或多個處理器經組態以進行以下操作:自一或多個寫碼模式當中判定用於編碼該視訊資料區塊之一寫碼模式,其中該寫碼模式係基於一最大語法元素大小而判定;根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流;將該複數個經編碼視訊資料子串流儲存於各別平衡先進先出(FIFO)緩衝器中;及在一位元串流中多工該複數個經編碼子串流以供傳輸至一視訊解碼器。

Description

用於顯示串流壓縮之子串流多工
本發明係關於視訊寫碼及壓縮之領域,且特定言之,係關於用於經由顯示鏈路之傳輸之視訊壓縮,諸如顯示串流壓縮。
數位內容能力可併入至廣泛範圍之器件中,該等器件包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、平板電腦、電子書閱讀器、數位攝影機、數位記錄器件、數位媒體播放器、視訊遊戲器件、視訊遊戲主控台、蜂巢式或衛星無線電電話、所謂的「智慧型電話」、視訊電傳會議器件、視訊串流器件及其類似者。可使用諸如顯示鏈路之鏈路以將內容自源(例如儲存影像及/或視訊資料之記憶體)傳送至顯示器。舉例而言,顯示鏈路可將機上盒連接至電視或將電腦連接至顯示器。 顯示鏈路之頻寬要求通常與顯示器之解析度成比例,且因此,高解析度顯示器受益於大頻寬顯示鏈路。一些顯示鏈路不具有用以支援高解析度顯示器之頻寬。可使用視訊壓縮以縮減頻寬要求,使得可使用較低頻寬顯示鏈路以將數位視訊提供至高解析度顯示器。其他者已設法利用對像素資料之影像壓縮。然而,此類方案有時並非視覺上無損,或在習知顯示器件中實施起來可困難且昂貴。 視電標準協會(Video Electronics Standards Association;VESA)已開發顯示串流壓縮(DSC)作為用於顯示鏈路視訊壓縮之標準。諸如DSC之顯示鏈路視訊壓縮技術應尤其提供視覺上無損的圖像品質(亦即,具有使得使用者無法辨別壓縮在作用中之品質等級之圖像)。顯示鏈路視訊壓縮技術亦應提供運用習知硬體即時實施起來簡易且便宜的方案。
本發明之系統、方法及器件各自具有若干創新態樣,該等態樣中無單一者單獨地負責本文中所揭示之合意屬性。 一般而言,本發明描述用於在經組態以執行顯示串流壓縮之視訊編碼器及視訊解碼器中執行子串流多工的技術。本發明之技術可允許在視訊編碼器中使用較小緩衝器,因此降低編碼器實施之成本且潛在地節省電力。 在本發明之一個實例中,一種用於編碼視訊資料之方法包含:自一或多個寫碼模式當中判定用於編碼一視訊資料區塊之一寫碼模式,其中該寫碼模式係基於一最大語法元素大小而判定;根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流;將該複數個經編碼視訊資料子串流儲存於各別平衡先進先出(FIFO)緩衝器中;及在一位元串流中多工該複數個經編碼子串流以供傳輸至一視訊解碼器。 在本發明之另一實例中,一種經組態以編碼視訊資料之裝置包含:一記憶體,其經組態以儲存一視訊資料區塊;及一或多個處理器,其與該記憶體通信,該一或多個處理器經組態以進行以下操作:自一或多個寫碼模式當中判定用於編碼該視訊資料區塊之一寫碼模式,其中該寫碼模式係基於一最大語法元素大小而判定;根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流;將該複數個經編碼視訊資料子串流儲存於各別平衡先進先出(FIFO)緩衝器中;及在一位元串流中多工該複數個經編碼子串流以供傳輸至一視訊解碼器。 在本發明之另一實例中,一種經組態以編碼視訊資料之裝置包含:用於自一或多個寫碼模式當中判定用於編碼一視訊資料區塊之一寫碼模式的構件,其中該寫碼模式係基於一最大語法元素大小而判定;用於根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流的構件;用於將該複數個經編碼視訊資料子串流儲存於各別平衡先進先出(FIFO)緩衝器中的構件;及用於在一位元串流中多工該複數個經編碼子串流以供傳輸至一視訊解碼器的構件。 在另一實例中,本發明描述一種儲存指令之電腦可讀儲存媒體,該等指令在執行時致使經組態以編碼視訊資料之一或多個處理器進行以下操作:自一或多個寫碼模式當中判定用於編碼該視訊資料區塊之一寫碼模式,其中該寫碼模式係基於一最大語法元素大小而判定;根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流;將該複數個經編碼視訊資料子串流儲存於各別平衡先進先出(FIFO)緩衝器中;及在一位元串流中多工該複數個經編碼子串流以供傳輸至一視訊解碼器。 下文中參考隨附圖式來更充分地描述新穎系統、裝置及方法之各種態樣。然而,本發明可以許多不同形式予以體現,且不應被認作限於貫穿本發明所呈現之任何特定結構或功能。更確切地,提供此等態樣,使得本發明將透徹且完整,且將向熟習此項技術者充分地傳達本發明之範疇。基於本文中之教示,熟習此項技術者應瞭解,本發明之範疇意欲涵蓋本文中所揭示之新穎系統、裝置及方法之任何態樣,而無論係獨立於本發明之任何其他態樣而實施抑或與本發明之任何其他態樣組合而實施。舉例而言,可使用本文中所闡明之任何數目個態樣來實施一種裝置或可使用本文中所闡明之任何數目個態樣來實踐一種方法。另外,本發明之範疇意欲涵蓋使用除了本文中所闡明的本發明之各種態樣以外或不同於本文中所闡明的本發明之各種態樣的其他結構、功能性或結構及功能性而實踐的此類裝置或方法。應理解,本文中所揭示之任何態樣皆可由申請專利範圍之一或多個元素體現。 儘管本文中描述特定態樣,但此等態樣之許多變化及排列屬於本發明之範疇內。儘管提及較佳態樣之一些益處及優點,但本發明之範疇並不意欲限於特定益處、用途或目標。更確切地,本發明之態樣意欲廣泛地適用於不同無線科技、系統組態、網路及傳輸協定,其中一些係作為實例而在諸圖中且在較佳態樣之以下實施方式中予以說明。實施方式及圖式僅僅說明而非限制本發明,本發明之範疇係由所附申請專利範圍及其等效者界定。 隨附圖式說明實例。隨附圖式中由參考數字指示之元件對應於以下實施方式中由類似參考數字指示之元件。在本發明中,名稱以序數詞(例如「第一」、「第二」、「第三」等等)開始之元件未必暗示該等元件具有特定次序。更確切地,此類序數詞僅僅用以係指相同或相似類型之不同元件。 在隨附圖式及以下實施方式中闡明本發明之一或多個實例的細節。本發明之其他特徵、目標及優點將自實施方式及圖式以及申請專利範圍顯而易見。
本申請案主張2016年6月9日申請之美國臨時申請案第62/347,964號、2016年7月7日申請之美國臨時申請案第62/359,586號及2016年11月1日申請之美國臨時申請案第62/416,016號的權益,該等美國臨時申請案中之每一者的全部內容以引用之方式併入本文中。 諸如視訊影像、TV影像、靜態影像或由視訊記錄器或電腦產生之影像的數位影像可包括按水平線及垂直線而配置之像素或樣本。對於4k解析度,單一影像中之像素之數目通常為數十萬至數百萬。每一像素可由明度及色度資訊(例如YCrCb)及/或其他色彩格式(例如RGB)表示。在無壓縮的情況下,待自影像編碼器傳達至影像解碼器之資訊之絕對數量將致使即時影像傳輸不切實務。為了縮減待傳輸資訊之量,已開發數種不同壓縮方法,諸如JPEG、MPEG及H.263標準。 視訊寫碼標準包括ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、ITU-T H.264 (亦被稱作ISO/IEC MPEG-4 AVC)及ITU-T H.265 (亦被稱作HEVC),其包括此類標準之延伸。 另外,視電標準協會(VESA)已開發視訊寫碼標準,即,顯示串流壓縮(DSC)。DSC標準為可壓縮視訊以供經由顯示鏈路而傳輸之視訊壓縮標準。隨著顯示器之解析度增大,為驅動顯示器所需要之視訊資料之頻寬對應地增大。一些顯示鏈路可能不具有足夠頻寬以將所有視訊資料傳輸至針對此類解析度之顯示器。因此,DSC標準指定用於經由顯示鏈路之可互操作的視覺上無損的壓縮的壓縮標準。 DSC標準不同於諸如H.264及HEVC之其他視訊寫碼標準。DSC包括框內壓縮,但不包括框間壓縮,此意謂DSC標準在寫碼視訊資料時可能不使用時間資訊。與此對比,其他視訊寫碼標準可在其視訊寫碼技術中使用框間壓縮。 一般而言,本發明係關於改良視訊壓縮技術之技術,諸如DSC。更具體而言,本發明係關於用於子串流多工之系統及方法,子串流多工藉由允許解碼器並行地解碼兩個或多於兩個子串流而促進較高輸貫量。 雖然本文中在DSC標準之上下文中描述某些實例,但一般熟習此項技術者應瞭解,本文中所揭示之系統、器件及方法可適用於任何合適視訊寫碼標準。舉例而言,本文中所揭示之實例技術可適用於以下標準中之一或多者:國際電信聯盟(ITU)電信標準化部門(ITU-T) H.261、國際標準化組織/國際電工委員會(ISO/IEC)動畫專業團體-1 (MPEG-1) Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、ITU-T H.264 (亦被稱作ISO/IEC MPEG-4 AVC)、ITU-T H.265、高效率視訊寫碼(HEVC),及此類標準之任何延伸。本文中所描述之技術可特別適用於併有恆定位元速率(CBR)緩衝器模型之標準。又,本發明中所描述之技術可變為未來開發之標準之部分。換言之,本發明中所描述之技術可適用於先前開發之視訊寫碼標準、當前正在開發中之視訊寫碼標準,及即將出現之視訊寫碼標準。 圖1A為說明可利用根據本發明中所描述之態樣之技術之實例視訊寫碼系統10的方塊圖。如本文中所描述所使用,術語「視訊寫碼器」或「寫碼器」一般係指視訊編碼器及視訊解碼器兩者。在本發明中,術語「視訊寫碼」或「寫碼」一般可指視訊編碼及視訊解碼。除了視訊編碼器及視訊解碼器以外,本申請案中所描述之態樣亦可延伸至其他相關器件,諸如轉碼器(例如可解碼位元串流且重編碼另一位元串流之器件)及中間盒(例如可修改、變換及/或以其他方式操縱位元串流之器件)。 如圖1A所展示,視訊寫碼系統10包括源器件12,其產生稍後將由目的地器件14解碼之經編碼視訊資料。在圖1A之實例中,源器件12及目的地器件14構成單獨器件。然而,應注意,源器件12及目的地器件14可在同一器件上或為同一器件之部分,如圖1B之實例中所展示。 源器件12及目的地器件14可分別包含廣泛範圍之器件中之任一者,包括:桌上型電腦;筆記型(例如膝上型)電腦;平板電腦;機上盒;諸如所謂的「智慧型」電話之電話手機;所謂的「智慧型」板;電視;攝影機;顯示器件;數位媒體播放器;視訊遊戲主控台;車載電腦;視訊串流器件;可由實體(例如人類、動物及/或另一受控制器件)穿戴(或可以可移除方式附接至該實體)之器件,諸如護目鏡及/或穿戴式電腦;可被消費、內嵌或置放於實體內之器件或裝置;及/或其類似者。在各種實施例中,源器件12及目的地器件14可經裝備以用於無線通信。 目的地器件14可經由鏈路16接收待解碼之經編碼視訊資料。鏈路16可包含能夠將經編碼視訊資料自源器件12移動至目的地器件14的任何類型之媒體或器件。在圖1A之實例中,鏈路16可包含用以使源器件12能夠即時將經編碼視訊資料傳輸至目的地器件14之通信媒體。經編碼視訊資料可根據諸如無線通信協定之通信標準予以調變,且傳輸至目的地器件14。通信媒體可包含任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成諸如區域網路、廣域網路或諸如網際網路之全域網路的基於封包之網路之部分。通信媒體可包括路由器、交換器、基地台,或可有用於促進自源器件12至目的地器件14之通信的任何其他設備。 在圖1A之實例中,源器件12包括視訊源18 (例如攝影機)、視訊編碼器20及輸出介面22。在一些狀況下,輸出介面22可包括調變器/解調變器(數據機)及/或傳輸器。在源器件12中,視訊源18可包括諸如視訊擷取器件(例如視訊攝影機)、含有經先前擷取視訊之視訊檔案庫、用以自視訊內容提供者接收視訊之視訊饋送介面及/或用於產生電腦圖形資料作為源視訊之電腦圖形系統的源,或此類源之組合。作為一個實例,若視訊源18為視訊攝影機,則源器件12及目的地器件14可形成所謂的「攝影機電話」或「視訊電話」,如圖1B之實例中所說明。然而,本發明中所描述之技術大體上可適用於視訊寫碼,且可應用於無線及/或有線應用。 經擷取、經預擷取或經電腦產生之視訊可由視訊編碼器20根據本發明之技術而編碼,下文將更詳細地描述該等技術。經編碼視訊資料可經由源器件12之輸出介面22而傳輸至目的地器件14。又(或替代地),經編碼視訊資料可儲存至儲存器件31上以供稍後由目的地器件14或其他器件存取以用於解碼及/或播放。在圖1A中,儲存器件31被描繪為與源器件12分離。在其他實例中,儲存器件31可為源器件12之部分。圖1A及圖1B所說明之視訊編碼器20可包含圖2A所說明之視訊編碼器20或本文中所描述之任何其他視訊編碼器。 在圖1A之實例中,目的地器件14包括輸入介面28、視訊解碼器30及顯示器件32。在一些狀況下,輸入介面28可包括接收器及/或數據機。目的地器件14之輸入介面28可經由鏈路16及/或自儲存器件31接收經編碼視訊資料。經由鏈路16所傳達或在儲存器件31上所提供之經編碼視訊資料可包括由視訊編碼器20產生以供諸如視訊解碼器30之視訊解碼器在解碼該視訊資料時使用之多種語法元素。此類語法元素可與在通信媒體上傳輸、儲存於儲存媒體上或儲存於檔案伺服器上之經編碼視訊資料一起被包括。圖1A及圖1B所說明之視訊解碼器30可包含圖2B所說明之視訊解碼器30或本文中所描述之任何其他視訊解碼器。 顯示器件32可與目的地器件14整合或在目的地器件14外部。在一些實例中,目的地器件14可包括整合式顯示器件且亦經組態以與外部顯示器件介接。在其他實例中,目的地器件14可為顯示器件。一般而言,顯示器件32向使用者顯示經解碼視訊資料,且可包含多種顯示器件中之任一者,諸如液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示器件。 在相關態樣中,圖1B展示實例視訊寫碼系統10',其中源器件12及目的地器件14在器件11上或為器件11之部分。器件11可為電話手機,諸如「智慧型」電話或其類似者。器件11可包括與源器件12及目的地器件14進行操作性通信之處理器/控制器器件13 (視情況存在)。圖1B之視訊寫碼系統10'及其組件在其他方面相似於圖1A之視訊寫碼系統10及其組件。 視訊編碼器20及視訊解碼器30可根據諸如DSC之視訊壓縮標準而操作。替代地,視訊編碼器20及視訊解碼器30可根據諸如以下各者之其他專屬或行業標準而操作:ITU-T H.264標準,被替代地稱作MPEG-4第10部分;AVC;HEVC;或此類標準之延伸。然而,本發明之技術並不限於任何特定寫碼標準,且可應用於使用恆定位元速率緩衝器模型之任何視訊壓縮技術。視訊壓縮標準之其他實例包括MPEG-2及ITU-T H.263。 儘管圖1A至圖1B之實例中未展示,但視訊編碼器20及視訊解碼器30可各自與音訊編碼器及解碼器整合,且可包括適當MUX-DEMUX單元或其他硬體及軟體,以處置共同資料串流或單獨資料串流中之音訊及視訊兩者之編碼。在一些實例中,適用時,MUX-DEMUX單元可符合ITU H.223多工器協定,或諸如使用者資料報協定(user datagram protocol;UDP)之其他協定。 視訊編碼器20及視訊解碼器30各自可被實施為多種合適編碼器及/或解碼器電路系統中之任一者,包括可程式化及/或固定功能處理電路系統,諸如一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。當該等技術係部分地以軟體予以實施時,一器件可將用於該軟體之指令儲存於合適的非暫時性電腦可讀媒體中,且以硬體使用一或多個處理器來執行該等指令以執行本發明之技術。視訊編碼器20及視訊解碼器30中之每一者可包括於一或多個編碼器或解碼器中,該一或多個編碼器或解碼器中之任一者可被整合為各別器件中之組合式編碼器/解碼器之部分。 最近由VESA定案之當代3:1 DSC v1.0解決方案之實例通常不足以驅動未來市場要求(例如行動市場要求),尤其是對於諸如4K之高解析度顯示器。因此,為了應付未來需求,VESA已發行呼叫請求科技(call for technology;CfT)以便開發以4:1及更高之壓縮比率為目標的下一代DSC解決方案。 本發明描述內容編碼解碼器(編碼器-解碼器)及測試模型(其可被稱為進階顯示串流壓縮(ADSC))。內容寫碼器可被稱作提供低成本的固定速率的視覺上無損的壓縮的DSC寫碼器。圖1A及圖1B之視訊編碼器20及視訊解碼器30為本發明之DSC寫碼器之實例。測試模型可指內容寫碼器可經組態以寫碼資料所根據的壓縮協定、演算法、標準或其類似者。在一些實例中,本文中所描述之一或多種技術及/或益處與ADSC測試模型相關。視訊編碼器20及視訊解碼器可經組態以基於一基於區塊之途徑(區塊大小為P × Q)來寫碼視訊資料,且可包括複數個寫碼模式。舉例而言,用於每一區塊之可用寫碼模式可包括變換(例如離散餘弦變換(DCT)、哈達馬德(Hadamard))、區塊預測(BP)、微分脈碼調變(DPCM)、型樣、中點預測(MPP)、BP跳過,及/或中點預測後援(MPPF)模式。若干寫碼模式可用於寫碼器中以便有效地壓縮不同類型之內容或影像。舉例而言,可藉由型樣模式來有效地壓縮文字影像,而可藉由變換模式來較有效地擷取自然影像。 在一些實例中,視訊編碼器20可經組態以基於旨在藉由考慮用於每一區塊之模式之速率及失真兩者來選擇該模式的速率控制機構而自複數個寫碼模式選擇用於每一區塊之寫碼模式。速率控制機構係由緩衝器模型支援。在一個實例中,編碼解碼器(例如視訊編碼器20及視訊解碼器30)之設計要求可為:緩衝器永不處於反向溢位狀態(在緩衝器中少於零個位元)或溢位狀態(緩衝器大小已增大超過經設定的最大大小)。 當寫碼區塊時,若給定區塊中之分量之所有值皆為零,則可使用跳過模式來有效地寫碼該分量。在跳過模式寫碼中,視訊編碼器20可將1位元旗標傳信至視訊解碼器30以指示使用跳過模式(例如若所有值皆為零)抑或不以跳過模式(例如若區塊中之至少一個值為非零)來寫碼當前區塊。在跳過模式中,當當前區塊之色彩分量之所有值皆為零時,視訊編碼器20可將1位元旗標傳信至視訊解碼器30,且視訊編碼器20可制止寫碼該區塊之色彩分量之值(亦即,可跳過該區塊之色彩分量之值的寫碼)。跳過模式亦可應用於大小小於區塊之色彩分量之值群組,或應用於多個區塊之群組。跳過模式亦可單獨地應用於區塊之每一色彩分量。舉例而言,當當前區塊之色彩分量之所有值皆為零時,跳過模式可應用於當前區塊之色彩分量之值。在一些實施中,跳過模式可應用於群組或區塊之所有色彩分量。 如上文大體上所描述,視訊編碼器20經組態以編碼視訊資料。視訊資料可包含一或多個圖像。圖像中之每一者為形成視訊之部分的靜態影像。在一些情況下,圖像可被稱作視訊「圖框」。當視訊編碼器20編碼視訊資料時,視訊編碼器20可產生位元串流。位元串流可包括形成視訊資料之經寫碼表示之一連串位元。位元串流可包括經寫碼圖像及關聯資料,包括一或多個語法元素。經寫碼圖像為圖像之經寫碼表示。 為了產生位元串流,視訊編碼器20可對視訊資料中之每一圖像執行編碼操作。當視訊編碼器20對圖像執行編碼操作時,視訊編碼器20可產生一系列經寫碼圖像及關聯資料。關聯資料可包括諸如量化參數(QP)之寫碼參數集合。為了產生經寫碼圖像,視訊編碼器20可將圖像分割成相等大小的視訊區塊。視訊區塊可為樣本之二維陣列。樣本可為指示像素之色彩的資料。在一些實例中,像素之色彩可由一明度分量(例如Y)及一或多個色度分量(例如紅色及藍色色度(Cr及Cb),或橙色及綠色色度(Co及Cg))表示。寫碼參數可定義用於視訊資料之區塊的寫碼模式。可個別地針對每一視訊資料區塊或針對區塊群組指定寫碼模式。可判定寫碼模式以便達成所要速率失真效能。 在一些實例中,視訊編碼器20可將圖像分割成複數個截塊。截塊中之每一者可包括影像(例如圖框)中之空間相異區,其可在無需來自該影像或圖框中之其餘區之資訊的情況下被獨立地解碼。每一影像或視訊圖框可在單一截塊中被編碼,或每一影像或視訊圖框可在若干截塊中被編碼。在DSC中,經分配以編碼每一截塊之目標位元可實質上恆定。作為對圖像執行編碼操作之部分,視訊編碼器20可對圖像之每一截塊執行編碼操作。當視訊編碼器20對截塊執行編碼操作時,視訊編碼器20可產生與截塊相關聯之經編碼資料。與截塊相關聯之經編碼資料可被稱作「經寫碼截塊」。 圖2A為說明可實施根據本發明中所描述之態樣之技術的視訊編碼器20之實例的方塊圖。視訊編碼器20可經組態以執行本發明之技術中之一些或全部。在一些實例中,本發明中所描述之技術可在視訊編碼器20之各種組件當中被共用。在一些實例中,另外或替代地,處理器(未圖示)可經組態以執行本發明中所描述之技術中之一些或全部。出於闡釋之目的,本發明在DSC寫碼之上下文中描述視訊編碼器20。然而,本發明之技術可適用於其他寫碼標準或方法,包括使用CBR緩衝器模型之其他視訊寫碼技術。 在圖2A之實例中,視訊編碼器20包括複數個組件。視訊編碼器20之組件包括:色彩空間轉換器105;緩衝器110;平坦度偵測器115;速率控制器120;預測器、量化器及重建構器組件125;行緩衝器130;索引色彩歷史135;熵編碼器140;子串流多工器145;及速率緩衝器150。在其他實例中,視訊編碼器20可包括更多、更少或不同的組件。 色彩空間轉換器105可經組態以接收視訊資且將視訊資料之輸入色彩空間轉換為用於寫碼實施中之色彩空間。舉例而言,在一個例示性實施例中,在明度Y、色度綠色Cg及色度橙色Co (YCoCg)色彩空間中實施由視訊編碼器20執行之寫碼處理程序時,輸入視訊資料之色彩空間可位於紅色、綠色及藍色(RGB)色彩空間中。可使用包括移位及與視訊資料之相加的任何技術來執行色彩空間轉換。應注意,可處理其他色彩空間中之輸入視訊資料,且亦可執行至其他色彩空間之轉換。 緩衝器110、行緩衝器130及/或速率緩衝器150可包含記憶體或資料儲存媒體,諸如隨機存取記憶體(RAM)、同步動態隨機存取記憶體(SDRAM)、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體、快取記憶體、磁性或光學資料儲存媒體,及其類似者。 緩衝器110可經組態以在經色彩空間轉換視訊資料被視訊編碼器20之其他組件使用之前儲存經色彩空間轉換視訊資料。在另一實例中,視訊資料可儲存於RGB色彩空間中,且可按需要而執行色彩空間轉換,此係因為經色彩空間轉換資料可需要較多位元。 速率緩衝器150可用作視訊編碼器20中之速率控制機構之部分,下文將結合速率控制器120來更詳細地描述速率緩衝器150。編碼每一區塊所耗費之位元可實質上基於特定區塊之性質而高度地變化。速率緩衝器150可使經壓縮視訊之速率變化平滑。在一些實例中,使用CBR緩衝器模型,其中以恆定位元速率自緩衝器取出位元。在CBR緩衝器模型中,若視訊編碼器20將過多位元添加至位元串流,則速率緩衝器150可能會溢位。另一方面,視訊編碼器20可經組態以添加足夠位元以便防止速率緩衝器150之反向溢位。在一些實例中,當速率緩衝器充滿度接近其最大大小時,視訊編碼器可經組態以增大QP以便防止溢位。當速率緩衝器充滿度接近空白時,將0位元填塞至速率緩衝器中以防止反向溢位。速率緩衝器150可經組態以將經壓縮視訊資料輸出至視訊解碼器(例如視訊解碼器30)。 在視訊解碼器側上,可以恆定位元速率將位元添加至視訊解碼器30之速率緩衝器155 (參見下文進一步詳細地描述之圖2B),且視訊解碼器30可移除用於每一區塊之可變數目個位元。為了確保適當解碼,視訊解碼器30之速率緩衝器155較佳地經組態以在經壓縮位元串流之解碼期間不會「反向溢位」或「溢位」。 在一些實例中,可基於語法元素BufferCurrentSize之值來定義緩衝器充滿度(BF)。BufferCurrentSize之值表示當前在緩衝器(例如速率緩衝器150)中之位元之數目。值變數BufferMaxSize表示速率緩衝器150之大小,亦即,可在任何時間點儲存於速率緩衝器150中之位元之最大數目。BF可被計算為: BF = ((BufferCurrentSize * 100) / BufferMaxSize) 應注意,以上BF計算途徑僅僅係例示性的,且可取決於特定實施或上下文而以任何數目種不同方式來計算BF。 平坦度偵測器115經組態以偵測自視訊資料中之複雜(例如非均一)區域至視訊資料中之平坦(例如簡單或均一)區域的改變,及/或反之亦然。術語「複雜」及「平坦」將在本文中用以通常係指視訊編碼器20編碼視訊資料之各別區的難度。因此,如本文中所使用之術語「複雜」通常將視訊資料之區描述為對於視訊編碼器20進行編碼而言較複雜(例如需要較多位元及/或較多處理時間),且可例如包括紋理化視訊資料、具有高空間頻率之視訊資料,及/或對於編碼而言複雜之其他特徵。如本文中所使用之術語「平坦」通常將視訊資料之區描述為對於視訊編碼器20進行編碼而言較不複雜(例如需要較少位元及/或較少處理時間),且可例如包括視訊資料之平滑梯度、具有低空間頻率之視訊資料,及/或對於編碼而言簡單之其他特徵。自複雜區至平坦區之轉變可由視訊編碼器20使用以縮減經編碼視訊資料中之量化假影。具體而言,當識別自複雜區至平坦區之轉變時,速率控制器120及預測器、量化器及重建構器組件125可縮減此類量化假影。相似地,自平坦區至複雜區之轉變可由視訊編碼器20使用以增大QP以便縮減為寫碼當前區塊所需要之預期速率。 速率控制器120判定寫碼參數集合,包括QP。量化會引入信號損耗,且損耗量可受到QP之值控制。代替儲存用於每一QP之量化步長,可指定縮放矩陣作為QP之函數。在一些實例中,可自縮放矩陣導出用於每一QP之量化步長。用於量化步長之經導出值未必為2的冪,例如,經導出量化步長亦可為不同於2之數字的冪。可由速率控制器120基於速率緩衝器150之緩衝器充滿度及視訊資料之影像活動(例如自複雜區至平坦區之轉變,或反之亦然)來調整QP,以便針對確保速率緩衝器150不會溢位或反向溢位之目標位元速率最大化圖像品質。速率控制器120亦可經組態以針對每一視訊資料區塊判定特定寫碼選項(例如特定寫碼模式)以便達成所要速率失真效能。速率控制器120最小化經重建構影像之失真,使得其滿足位元速率約束,亦即,總實際寫碼速率在目標位元速率的範圍內。因此,速率控制器120之一個目的係判定寫碼參數集合,諸如QP、寫碼模式等等,以滿足對速率之瞬時及平均約束,同時最大化速率失真效能。 預測器、量化器及重建構器組件125可執行視訊編碼器20之至少三個編碼操作。預測器、量化器及重建構器組件125可以數個不同寫碼模式執行預測寫碼處理程序(例如預測模式)。一個實例預測模式為中位調適性預測之經修改版本。中位調適性預測可由無損JPEG標準(JPEG-LS)實施。可由預測器、量化器及重建構器組件125執行的中位調適性預測之經修改版本可允許並行地預測三個連續樣本值。另一實例預測模式為區塊預測。在區塊預測中,自行中在該同一行中之上方或左邊的經先前重建構像素預測樣本。在一些實例中,視訊編碼器20及視訊解碼器30可皆對經重建構像素上執行相同搜尋以判定區塊預測使用情況,且因此不需要在區塊預測模式中發送位元。在其他實例中,視訊編碼器20可在位元串流中執行搜尋且傳信區塊預測向量,使得視訊解碼器30不需要執行單獨搜尋。預測器、量化器及重建構器組件125亦可經組態以執行中點預測模式,其中使用分量範圍之中點來預測樣本。中點預測模式可使能夠界限甚至最差狀況樣本中之經壓縮視訊所需要之位元數目。 在一些實例預測模式中,預測器、量化器及重建構器組件125可產生預測殘餘。預測殘餘可為預測性視訊資料區塊之樣本值與經寫碼視訊資料區塊之樣本值之間的差。如下文將論述,可量化預測殘餘且可進一步壓縮預測殘餘,例如使用熵編碼技術。 預測器、量化器及重建構器組件125可經進一步組態以執行量化。舉例而言,預測器、量化器及重建構器組件125可經由可使用移位器而實施之2冪量化器來執行量化。應注意,可代替2冪量化器而實施其他量化技術。由預測器、量化器及重建構器組件125執行之量化可基於由速率控制器120判定之QP。預測器、量化器及重建構器組件125亦執行包括將經反量化殘餘與經預測值相加及確保結果不超出有效樣本值範圍之重建構。 應注意,由預測器、量化器及重建構器組件125執行之上述實例預測、量化及重建構途徑僅僅係說明性的,且可實施其他途徑。亦應注意,預測器、量化器及重建構器組件125可包括用於執行預測、量化及/或重建構之子組件。應進一步注意,可代替預測器、量化器及重建構器組件125而由若干單獨編碼器組件執行預測、量化及/或重建構。 行緩衝器130經組態以儲存來自預測器、量化器及重建構器組件125之輸出,使得預測器、量化器及重建構器組件125及索引色彩歷史135可使用及/或儲存經緩衝視訊資料。索引色彩歷史135為經組態以儲存最近使用之像素值的記憶體。此等最近使用之像素值可直接由視訊編碼器20經由專用語法而參考。 熵編碼器140基於索引色彩歷史135及由平坦度偵測器115識別之平坦度轉變來編碼預測殘餘及自預測器、量化器及重建構器組件125接收之任何其他資料(例如由預測器、量化器及重建構器組件125識別之語法元素及索引)。在一些實例中,熵編碼器140可每時脈每子串流編碼器編碼三個樣本。子串流多工器145可基於無標頭封包多工方案來多工位元串流。此允許視訊解碼器30並行地執行三個熵解碼器,從而促進每時脈三個像素之解碼。子串流多工器145可最佳化封包次序,使得封包可由視訊解碼器30高效地解碼。應注意,可實施不同的熵寫碼途徑,其可促進每時脈2冪個像素(例如2個像素/時脈或4個像素/時脈)之解碼。 圖2B為說明可實施根據本發明中所描述之態樣之技術之實例視訊解碼器30的方塊圖。視訊解碼器30可經組態以執行本發明之技術中之一些或全部。在一些實例中,本發明中所描述之技術可在解碼器30之各種組件當中被共用。在一些實例中,另外或替代地,處理器(未圖示)可經組態以執行本發明中所描述之技術中之一些或全部。 出於闡釋之目的,本發明在DSC寫碼之上下文中描述視訊解碼器30。然而,本發明之技術可適用於其他寫碼標準或方法。 在圖2B之實例中,視訊解碼器30包括複數個功能組件。視訊解碼器30之功能組件包括:速率緩衝器155;子串流解多工器160;熵解碼器165;速率控制器170;預測器、量化器及重建構器組件175;索引色彩歷史180;行緩衝器185;及色彩空間轉換器190。視訊解碼器30之所說明組件類似於上文結合圖2A中之視訊編碼器20所描述之對應組件。因而,視訊解碼器30之組件中之每一者可以與如上文所描述之視訊編碼器20之對應組件之方式相似但互逆的方式而操作。 行緩衝器185及/或速率緩衝器155可包含記憶體或資料儲存媒體,諸如RAM、SDRAM、ROM、NVRAM、EEPROM、快閃記憶體、快取記憶體、磁性或光學資料儲存媒體,及其類似者。速率緩衝器155可經組態以接收經壓縮視訊(例如自視訊編碼器20),且用作視訊解碼器30中之速率控制機構之部分。解碼每一區塊所耗費之位元可實質上基於特定區塊之性質而高度地變化。速率緩衝器155可使經壓縮視訊之速率變化平滑。在一些實例中,使用CBR緩衝器模型,其中以恆定位元速率自速率緩衝器155取出位元。 如下文將更詳細地所論述,子串流解多工器160可基於無標頭封包多工方案來解多工位元串流。此允許視訊解碼器30並行地執行三個熵解碼器(例如作為熵解碼器165之部分),從而促進每時脈三個像素之解碼。熵解碼器165以與圖2A之熵編碼器140之方式互逆的方式解碼經壓縮預測殘餘及自子串流解多工器160接收之任何其他資料(例如語法元素及索引)。 速率控制器170判定寫碼參數集合,包括QP。量化會引入信號損耗,且損耗量可受到QP控制。在一些實例中,速率控制器170可在經壓縮視訊位元串流中自視訊編碼器20接收QP。速率控制器170可將經判定QP供應至預測器、量化器及重建構器組件175。 預測器、量化器及重建構器組件175可執行視訊解碼器30之至少三個解碼操作。預測器、量化器及重建構器組件175可經進一步組態以執行反量化。舉例而言,預測器、量化器及重建構器組件175可根據由速率控制器170判定之QP來執行反量化。 預測器、量化器及重建構器組件175亦可以數個不同寫碼模式執行預測解碼處理程序(例如預測模式)。上文已參考圖2A之預測器、量化器及重建構器組件125而論述實例寫碼模式,但可使用其他寫碼模式。預測器、量化器及重建構器組件175可接收經壓縮視訊位元串流中之語法元素以指示用於一或若干特定視訊資料區塊之寫碼模式。基於寫碼模式,預測器、量化器及重建構器組件175可判定用於經當前解碼區塊之預測性區塊。預測器、量化器及重建構器組件125亦可接著執行包括將經反量化殘餘值與經判定預測性區塊相加以產生經解碼區塊之重建構。 應注意,由預測器、量化器及重建構器組件175執行之上述實例預測、量化及重建構途徑僅僅係說明性的,且可實施其他途徑。亦應注意,預測器、量化器及重建構器組件175可包括用於執行預測、反量化及/或重建構之子組件。應進一步注意,可代替預測器、量化器及重建構器組件175而由若干單獨編碼器組件執行預測、反量化及/或重建構。 行緩衝器185經組態以儲存來自預測器、量化器及重建構器組件175之輸出,使得預測器、量化器及重建構器組件175及索引色彩歷史180可使用及/或儲存經緩衝視訊資料。索引色彩歷史180為經組態以儲存最近使用之像素值的記憶體。此等最近使用之像素值可直接由視訊解碼器30經由專用語法而參考。 色彩空間轉換器190可經組態以將用於寫碼實施中之色彩空間轉換為輸出色彩空間。舉例而言,在一個例示性實施例中,在明度Y、色度綠色Cg及色度橙色Co (YCoCg)色彩空間中實施由視訊解碼器30執行之寫碼處理程序時,輸出視訊資料之色彩空間可位於紅色、綠色及藍色(RGB)色彩空間中。可使用包括移位及與視訊資料之相加的任何技術來執行色彩空間轉換。應注意,可處理其他色彩空間中之輸出視訊資料,且亦可執行至其他色彩空間之轉換。 以下章節將更詳細地論述用於DSC之額外技術。在用於DSC之一個實例中,可基於以下方程式來導出或計算用於當前區塊之QP (被標示為currQP): currQP = prevQ + QpAdj * (diffBits > 0 ? 1: -1), 其中prevQP為與先前視訊資料區塊相關聯之QP,diffBits表示previousBlockBits與targetBits之間的差,QpAdj為基於diffBits之量值而計算的QP偏移值(例如QP調整值),previousBlockBits表示用以寫碼先前區塊之位元數目,且targetBits表示供寫碼當前區塊之目標位元數目。當previousBlockBits大於targetBits時,diffBits為正,且可藉由將偏移值QpAdj與prevQP值相加來導出當前區塊QP。換言之,當diffBits為正時,QP值不會自prevQP值減小值。當previousBlockBits小於或等於targetBits時,diffBits為負或零,且currQP不會自prevQP值增大。應注意,可例如以使得QpAdj隨著diffBits之量值增大而單調地增大的方式依據diffBits來計算偏移值QpAdj。 現在將參考圖3來描述一種用於計算QP調整值QpAdj之技術,在本文中被稱作預設技術。圖3說明包括被標繪以零開始之diffBits值之軸線的圖形300。在預設技術中,當diffBits > 0時,可使用K個臨限值將diffBits分類成K+1個範圍。此等臨限值係由標籤臨限值1、臨限值2、臨限值3、…及臨限值K繪示,且該等範圍係由標籤範圍1、範圍2、範圍3、…及範圍K+1繪示。在圖3之預設技術中,展示一種使用K個臨限值將diffBits分段成K+1個範圍之途徑。每一範圍可與一特定QpAdj值相關聯,其中QpAdj值隨著範圍索引增大而增大。當diffBits ≤ 0時,可使用J個臨限值(未繪示)將diffBits之絕對值分類成J+1個範圍,且可存在針對J+1個範圍中之每一者而指派的特定QpAdj值。 在其他態樣中,可基於緩衝器之充滿度(其可按照緩衝器充滿度BF而表示)來調整currQP值,以便防止緩衝器之反向溢位及/或溢位。詳言之,當BF超過某一臨限值(例如P1 )時,可將currQP遞增固定偏移值(例如p1 )。舉例而言,可如下調整currQP:currQP += p1 。此外,當BF降至低於某一臨限值(例如Q1 )時,可將currQP遞減q1 ,例如currQP -= q1 。在某些態樣中,可使用複數個臨限值,且對於每一臨限值,可存在對應偏移值以調整currQP。 當識別自複雜區至平坦區之轉變時或當識別平坦區時,可將currQP設定為低值(例如低於經界定currQP值之值),如下文進一步詳細地所描述。 編碼每一區塊所耗費之位元可實質上基於區塊之性質而高度地變化。因此,緩衝器可為速率控制機構之部分以便使輸出位元串流之速率變化平滑。 返回參看圖2A及圖2B,熵編碼器140及熵解碼器165可應用各種類型之熵寫碼技術。在一個實例中,可使用差量大小單元-可變長度寫碼(delta size unit-variable length coding;DSU-VLC)。在DSU-VLC中,可使用首碼部分及尾碼部分來寫碼K長度樣本向量(被定義為「群組」)之經量化殘餘值。此處,樣本係指單一色彩分量中之值。舉例而言,對於RGB 444,每一像素具有三個樣本。首碼部分可指示在尾碼部分之後的殘餘值之大小(該大小被標示為B個位元),且尾碼部分可指示該單元中之所有樣本的實際殘餘值。舉例而言,可使用相同數目個位元而以2補數來寫碼群組中之K個殘餘值。 參考圖4A,展示用於具有K=4個樣本之向量的實例DSU-VLC結構。作為一實例,用以寫碼4個樣本[1, -2, -1, 0]之群組的大小可為使用2補數表示之B = 2個位元。圖4B中展示DSU-VLC碼之實例,其中001表示首碼之一元碼,且[01, 10, 11, 00]分別表示使用2個位元之實際經寫碼樣本值。藉由解碼首碼(通常係在單一時脈中進行),可解碼所有4個符號。 在另一實例中,可實施高輸貫量熵寫碼技術(例如經由視訊編碼器20之熵編碼器140及/或視訊解碼器30之熵解碼器165)以提供例如4個樣本/時脈之輸貫量。高輸貫量熵寫碼技術可涉及將給定區塊(例如區塊大小為P × Q)內之樣本之經量化殘餘分割成N個群組,且接著使用DSU-VLC來寫碼群組樣本。將樣本區塊分割成N個群組可為均一或非均一的。 在均一分組的情況下,N個群組各自具有相等數目個樣本,且該等樣本可用於BP模式、DPCM模式等等中。圖5說明均一分組之實例途徑,其中將經量化殘餘區塊值之2 × 8區塊分割成四個群組,其中每一群組具有四個樣本。在非均一分組(未繪示)的情況下,每一群組中之樣本數目可不同,且該等樣本可用於變換模式中。 已針對DSC提出用於子串流多工(SSM)之技術。一般而言,SSM涉及基於共同特性(例如每一色彩分量可為一子串流)將經編碼視訊資料位元串流斷裂成子串流。在一個實例中,可實施無標頭SSM技術以使用例如固定長度字(例如多工器字)將多個子串流多工成單一串流。亦即,視訊編碼器20可經組態以傳輸固定大小(例如如由語法muxWordSize所指示)之封包(例如多工器字)。可導出多工器字且將多工器字置放於單一串流中,使得解碼器可並行地解碼多個子串流。 在本實例中,可將視訊資料之每一色彩分量視為一子串流,例如明度(Y)、色度橙色(Co)及色度綠色(Cg),使得存在總共三個子串流。在相關態樣中,多工器字大小(muxWordSize)可取決於每分量所使用之位元數目(bpc),例如對於8 bpc及10 bpc有48個位元,對於12 bpc有64個位元等等。在另外相關態樣中,可將多工器字大小設定為大於或等於最大語法元素大小(maxSeSize),其中maxSeSize係指用於一個群組之單一分量經壓縮資料值的最大可能大小。此意謂視訊解碼器30可經組態以向每一子串流請求至多一個多工器字以便解碼單一群組。 圖6A說明用於在編碼器處執行SSM之一或多個實例態樣的組件(例如視訊編碼器20之子串流多工器145)。在圖6A及圖6B中,雜湊區塊描繪執行SSM功能之結構,而白色區塊描繪FIFO緩衝器。在編碼器側上,SSM可涉及針對儲存經編碼資料之多個群組(例如每一群組含有3個像素)的每一子串流使用平衡先進先出(FIFO)途徑。隨著導出多工器字以促進並行解碼,可在視訊編碼器20處實施解多工器模型206。圖6B說明用於在解碼器處執行SSM之一或多個實例態樣的組件(例如視訊解碼器30處之子串流解多工器160)。在解碼器側上,解多工器模型可包括三個或多於三個漏斗移位器(funnel shifter) (例如對於每一子串流有一漏斗移位器),及並行地解碼色彩分量之熵解碼器165A、165B、165C (對於每一子串流有一個熵解碼器)。熵解碼器165A、165B、165C可為圖2B之熵解碼器165之部分。漏斗移位器與熵解碼器之組合可被稱為子串流處理器(substream processor;SSP)。在每一群組時間(或區塊時間),每一SSP可請求一個多工器字或不請求任何多工器字。在DSCv1.x中,對樣本群組執行操作。因而,3個樣本之群組被編碼的時間可被稱為群組時間。在本發明之實例中,可對較大樣本區塊(例如8×2樣本區塊)執行編碼及解碼。樣本區塊被編碼的時間可被稱為區塊時間。當漏斗移位器中之位元數目絕對地小於maxSeSize時,多工器字可由SSP請求。在圖6A及圖6B中,陰影區塊為功能區塊,而非陰影區塊為FIFO緩衝器。 返回至圖6A,視訊編碼器20可包括分別用於經處理視訊資料之每一色彩分量(例如Y、Co及Cg)的VLC及漏斗移位器200A、200B及200C (統稱為「VLC及漏斗移位器200」)。在一些實例中,VLC及漏斗移位器200之VLC功能可由圖2A之熵編碼器140執行。VLC及漏斗移位器200可經組態以將VLC編碼(例如DSU-VLC)應用於視訊資料區塊之每一色彩分量。VLC及漏斗移位器200可包括用以將經寫碼視訊資料移動至編碼器平衡FIFO 202A、202B及202C (統稱為編碼器平衡FIFO 202)之漏斗移位器。一般而言,移位器為可將資料字移位指定數目個位元之數位電路。漏斗移位器為具有數目大於輸出位元之輸入位元的移位器。亦即,並非所有輸入至漏斗移位器之位元皆係在每一時脈循環時輸出。編碼器平衡FIFO 202儲存多工器字以供稍後傳輸至視訊解碼器30。 當自視訊解碼器30之SSP接收到多工器字請求時,多工器204可將來自編碼器平衡FIFO 202中之一者的單一多工器字置放至速率緩衝器150中。舉例而言,當針對來自視訊解碼器30之SSP的Y分量多工器字作出請求時,接著多工器204可移動來自Y編碼器平衡FIFO 202A之多工器字且將多工器字置放於速率緩衝器150中以用於在位元串流中進行發送。對於給定群組時間,可自視訊解碼器30之SSP (對於每一子串流有至多一個SSP)接收到多個請求。在此類情境下,可按特定次序(例如其中Y被給予最高優先權,隨後是Co,且接著隨後是Cg)將經請求多工器字置放至速率緩衝器150中。多工器204可經組態以基於解多工器模型206而按特定次序將多工器字置放至速率緩衝器150中。解多工器模型206為SSM處理程序如何由視訊解碼器30實行之模型。以此方式,視訊編碼器20可判定視訊解碼器30將按哪一次序請求多工器字(例如來自特定子串流之多工器字的次序),且多工器204可接著基於由解多工器模型206供應之經判定次序將多工器字置放於速率緩衝器150中。 可導出或設定編碼器平衡FIFO 202A、202B、202C之平衡FIFO大小以防止速率緩衝器150處之位元之溢位或反向溢位。一般而言,平衡FIFO大小可取決於maxSeSize與最小語法元素大小(minSeSize)之間的差,以及muxWordSize。 在一個實例中,在截塊開始時,可運用資料之(muxWordSize + maxSeSize - 1)個群組來填充編碼器平衡FIFO 202。此可對應於初始延遲時段,在此時間期間,無多工器字傳輸至視訊解碼器30 (例如被稱為SSM延遲時間)。為了防止溢位,編碼器平衡FIFO 202中之每一者可經組態以儲存(muxWordSize + maxSeSize - 1) * maxSeSize個位元。為了防止反向溢位,可計算FIFO大小,使得只要向視訊解碼器30作出請求(例如如由解多工器模型206所指示),編碼器平衡FIFO 202中之每一者就含有一個多工器字資料值。 在開始或編碼時,對於muxWordSize + maxSeSize - 1個群組,可運用經寫碼位元來填充編碼器平衡FIFO 202,而無需移除任何多工器字。在此初始延遲之後,多工器204可自平衡FIFO 202中之每一者移除一個多工器字且將該等多工器字發送至速率緩衝器150。另外,多工器204可將此等多工器字置放於解多工器模型206之各別漏斗移位器中。對於每一群組時間,在解多工器模型206中,可將漏斗移位器中之位元數目縮減語法元素之大小。 一般而言,語法元素大小可指為解碼單一群組中之單一子串流資料值所需要的位元數目。在一個實例中,語法元素可指單一群組中之單一分量資料值,此係因為每一分量可屬於一單獨子串流。視訊編碼器20處之解多工器模型206的一個目的係模仿視訊解碼器30處之實際解碼,使得視訊編碼器20按正確次序將多工器字置放至位元串流中以用於視訊解碼器30。可取決於為當時解碼一個群組所需要之位元數目而縮減漏斗移位器充滿度。當漏斗移位器充滿度降至低於最大語法元素大小(maxSeSize)時,視訊解碼器30 (及解多工器模型206)可作出用以將多工器字添加至漏斗移位器之請求。亦可將同一多工器字發送至速率緩衝器150。此處理程序(即,將每一漏斗移位器充滿度遞減對應語法元素大小,且在漏斗移位器之充滿度小於maxSeSize時請求多工器字)可繼續進行直至截塊中之每一群組被完成編碼。在一些實例中,在截塊結束時,編碼器平衡FIFO 202可能不含有足夠位元以形成單一多工器字,或可為空白。在此等狀況下,可執行零填補(亦即,運用零值位元進行填補)以導出多工器字。 返回至圖6B,速率緩衝器155可自位元串流接收及儲存多工器字。解多工器210可自速率緩衝器155讀取多工器字,且按多工器字被請求之次序將多工器字置放於解碼器漏斗移位器212A、212B或212C (統稱為解碼器漏斗移位器212)中之一者中。亦即,解多工器210可基於哪一子串流已請求多工器字而將經接收多工器字導向至適當解碼器漏斗移位器212。可接著由熵解碼器165A、165B或165C (例如圖2B之熵解碼器165)熵解碼用於每一子串流之多工器字。 在某些實例中,代替使用2補數表示,可使用正負號量值表示以寫碼每一樣本群組或區塊。在正負號量值表示中,寫碼每一群組或區塊中之符號值之絕對值,隨後寫碼用於每一非零符號之正負號位元。首碼部分指示為傳信群組中之符號之最大絕對值所需要的位元B。尾碼部分表示每一符號之絕對值。最後,傳信用於非零符號之正負號位元。 作為一實例,假定群組含有4個樣本且值為[1, -3, -1, 0]。又,在此實例中,首碼為B = 2 (其係自絕對值[ 1, 3, 1 0]而計算),且尾碼為01, 11, 01, 00。最後,傳信正負號資訊100,其中「1」指示正,「0」指示負。不傳信用於零之正負號。 與2補數表示相比較,此表示之優點規定不傳信用於值為零之符號的正負號資訊。因此,當零值在某些模式(例如區塊預測及變換模式)中較可能時,此表示可引起優良寫碼效能。 當使用正負號量值表示且假定不傳信用於符號零之正負號位元時,可需要使視訊解碼器30中之剖析器邏輯重建構或解碼該符號以知曉是否自位元串流讀取正負號資訊。亦即,剖析器邏輯可判定每一符號為零抑或非零。若符號為非零,則自位元串流剖析正負號資訊,否則(當符號為零時),不自位元串流讀取正負號位元。在一些實例中,由於剖析器與解碼器(例如解碼符號之視訊解碼器30中的邏輯)之間的此相依性,可縮減最大解碼器輸貫量。 為了增大輸貫量,在某些實例中可使用混合式方法,其中基於正負號量值表示來寫碼初始少數群組或區塊,且基於2補數表示來寫碼剩餘群組或區塊。舉例而言,使用正負號量值表示來寫碼前三個群組或區塊,且使用2補數表示來寫碼最末群組或區塊。用於每一表示之實際熵寫碼器可基於DSU-VLC或可為向量-EC (vector-EC)。出於清楚起見,用於2補數表示之向量-EC可基於DSU-VLC,其中將符號映射至單一碼值,且接著使用VLC碼來寫碼該碼值。在正負號量值表示中,將每一符號之絕對值映射至單一碼值且使用VLC碼來寫碼該絕對值。除此以外,亦針對每一非零符號傳信正負號位元。 在一些先前實例DSC實施中,平衡FIFO之大小隨著maxSeSize與minSeSize之間的差而增長。如下計算在給出此等參數的情況下之平衡FIFO大小。在截塊開始時存在ssmDelay區塊時間之延遲。在此時間期間,將位元置放至SSM平衡FIFO (例如編碼器平衡FIFO 202)中,但不移除任何位元。基本上,此為用以確保在傳輸開始之前足夠位元存在於SSM平衡FIFO中的緩衝時段。為了確保SSM平衡FIFO不會反向溢位,在傳輸可開始之前將以下數目個位元(requiredBits)儲存於平衡FIFO中:「requiredBits」 = (「maxSeSize」 + 「muxWordSize」 -1)。 在最差狀況下,平衡FIFO將以每區塊時間一個minSeSize語法元素之速率進行填充。在假定此最差狀況行為的情況下,將SSM延遲(在區塊時間中所量測)計算為:「ssmDelay」= ceil(「requiredBits」/「minSeSize」)。 在給出ssmDelay的情況下,判定參數balanceFifoSize,使得平衡FIFO不會溢位。在SSM延遲時段期間之每一區塊具有maxSeSize的情況下將為此狀況。將平衡FIFO大小計算為:「balanceFifoSize」=「ssmDelay」*「maxSeSize」。 舉例而言,假設以下組態: minSeSize=1 maxSeSize=142 muxWordSize=144 根據此組態,將balanceFifoSize計算為: 「requiredBits」 = (「maxSeSize」 +「muxWordSize」 -1) = (142+144-1) = 285 「ssmDelay」=ceil(「requiredBits」 / 「minSeSize」) = ceil(285/1) = 285 「balanceFifoSize」 = 「ssmDelay」 * 「maxSeSize」=285 * 142 = 40470 (大致40 kbit) 作為另一實例,當maxSeSize = 185、minSeSize = 1且muxWordSize = 192時,每一平衡FIFO之大小可為(185+192-1)*192 = 72192個位元。因為根據本發明之DSC SSM技術可使用多個子串流,所以與本實例相關聯之硬體成本可非常高。 另外,針對較大區塊大小(例如8×2區塊大小或更大)可能不會最佳化子串流之數目及單一區塊之經壓縮資料至若干子串流中之配置。詳言之,一些先前實例之子串流多工方案可僅較好地適於三個樣本之群組。 根據本發明之一或多個實例,本發明針對使用較大區塊大小之視訊壓縮科技(例如顯示串流壓縮)描述各種SSM技術。此處所揭示之技術並不限於顯示串流壓縮;更確切地,所揭示技術可應用於需要並行解碼以增大輸貫量的任何寫碼方案。應理解,可獨立地或一起使用下文所描述之技術。詳言之,本發明描述用於零填補、零填補偵測及零填補移除之各種技術。雖然可結合零填補技術而使用本發明之所有技術,但可在無需所描述之零填補技術的情況下使用本發明之其他技術,包括用於建構子串流之技術、用於判定最大語法元素大小之技術,及用於子串流封裝之技術。 雖然本文中在DSC標準及/或即將到來的ADSC標準之上下文中描述視訊編碼器20及/或視訊解碼器30之某些實例,但一般熟習此項技術者應瞭解,本文中所揭示之系統及方法可適用於任何合適視訊寫碼器或寫碼標準。 應注意,圖1A至圖1B、圖2A至圖2B及/或圖6A至圖6B所說明之視訊編碼器20、視訊解碼器30及/或其組件可經組態以執行本文中所描述之SSM技術之特徵中之一或多者。舉例而言,本文中所描述之SSM技術可由視訊編碼器(例如 2A 中之視訊編碼器20)、視訊解碼器(例如 2B 中之視訊解碼器30)或其組件(諸如視訊編碼器20之子串流多工器145及/或視訊解碼器30之子串流解多工器160)執行。 視訊編碼器20、視訊解碼器30及/或其組件可實施於包括由複數個可程式化計算單元共用之整合式全域記憶體的器件上,該記憶體包括緩衝器,其中該緩衝器可包括先進先出(FIFO)緩衝器。該器件可進一步包括積體電路(IC),該IC可包括至少一個處理器或處理器電路(例如中央處理單元(CPU))及/或圖形處理單元(GPU),其中該GPU可包括一或多個可程式化計算單元。該器件可為系統單晶片(SoC)之部分,其中該SoC可包括使用至少一個精簡指令集計算(reduced instruction set computing;RISC)指令集之CPU。該SoC可包括多個CPU核心及GPU。 在本發明之一個實例中,視訊編碼器20可經組態以在四個子串流中編碼視訊資料區塊(例如8×2或其他大小之視訊資料區塊),其中使用一個子串流(例如子串流0,或「第一子串流」)以用於傳信標頭及寫碼模式關聯資訊,且其中使用另外三個子串流(例如子串流1、2及3,或「第二」、「第三」及「第四」子串流)以用於編碼三個色彩分量(例如YCoCg)。標頭資訊可包括用以指示寫碼模式資訊、平坦度資訊或為傳達至視訊解碼器30所需要之任何其他附加項資訊的位元。寫碼模式相關資訊可指特定於特定寫碼模式之資訊。舉例而言,用於BP模式之寫碼模式相關資訊可能包括區塊預測向量。對於變換模式,寫碼模式相關資訊可包括框內預測索引、變換分割索引等等。 在本發明之上下文中,術語「語法元素」可指用於與一個區塊相關之特定子串流之所有經編碼資訊。亦即,在本發明之上下文中,語法元素並不係指一個離散資訊片段,而是指用於特定子串流之區塊的所有資訊。因此,maxSeSize係指可允許用於特定區塊之特定子串流之經寫碼資訊的最大量。同樣地,minSeSize係指可經寫碼以用於特定區塊之特定子串流之經寫碼資訊的最小量。在一些實例中,若視訊編碼器20判定特定子串流需要大於經界定maxSeSize之資料以在特定寫碼模式中寫碼區塊,則視訊編碼器20可不允許使用會針對彼區塊產生過度語法元素大小之彼特定寫碼模式(例如判定特定寫碼模式不可用於特定視訊資料區塊)。 在一個實例中,代替使用(muxWordSize + maxSeSize - 1) * maxSeSize的編碼器平衡FIFO 202之平衡FIFO大小,下文所描述的本發明之技術可允許較小平衡FIFO大小。在本發明中,平衡FIFO (例如編碼器平衡FIFO 202)之大小係由balanceFIFOSize標示,且視訊編碼器20可經組態以基於編碼解碼器(例如視訊編碼器20及/或視訊解碼器30)及/或其組件之記憶體要求來組態或設定balanceFIFOSize。 在另一實例中,當視訊編碼器20經組態以使用小於(muxWordSize + maxSeSize - 1) * maxSeSize之balanceFIFOSize時,視訊編碼器20可經進一步組態以將初始(區塊)延遲計算為floor(balanceFIFOSize/maxSeSize)個區塊,其中floor(x)將x捨位至最接近的整數,使得floor(x) <= x。 在此初始延遲時間期間,視訊編碼器20編碼視訊資料圖框之區塊且將用於每一各別子串流之經編碼位元置放至各別編碼器平衡FIFO 202中。然而,在此時間期間,視訊編碼器20不會自編碼器平衡FIFO 202移除多工器字。在一個實例中,視訊編碼器20可經組態以將初始延遲計算為floor(balanceFIFOSize/maxSeSize) - 1。一般而言,初始延遲= floor(balanceFIFOSize/maxSeSize),其為上限。取決於特定實施,視訊編碼器20可經組態成特定初始延遲小於或等於上限。 在完成初始延遲時段之後,視訊編碼器20開始將多工器字傳輸至速率緩衝器50以供傳輸至視訊解碼器30,且亦將此等多工器字置放至漏斗移位器解多工器模型206中。參考圖7之實例,若特定編碼器平衡FIFO 202不含有足夠位元以產生多工器字,則在本發明之一個實例中,視訊編碼器20可經組態以將0 (例如0位元)插入至特定編碼器平衡FIFO 202中,使得至少一個多工器字資料值係可用的。圖7說明編碼器側處之零填補。在一個實例中,對於編碼器平衡FIFO 202含有少於muxWordSize個位元之任何子串流,視訊編碼器20可經組態以執行零填補,使得可傳輸多工器字。解多工器模型206之解碼器漏斗移位器狀態展示解碼器漏斗移位器之充滿度。 可將經零填補位元之數目計算為muxWordSize-balanceFIFOFullness,其中balanceFIFOFullness係指平衡FIFO中之位元數目(或充滿度)。將0插入於FIFO中會防止反向溢位。在另一實例中,可將1 (亦即,1位元)填塞於FIFO中以防止反向溢位。在本發明之其餘部分中,假定將0位元用於填補以便防止反向溢位。然而,即使當將1 (1位元)用於填補時,亦可應用本文中所描述之技術。 亦將置放於FIFO中以產生多工器字之0位元計入位元速率(因為該等位元被傳輸至視訊解碼器30)。通常選擇平衡FIFO大小以便避免頻繁零填補及過度記憶體要求。若FIFO大小過小,則必須頻繁地執行零填補,此可能花費相當大部分之位元速率,藉此直接影響效能。另一方面,可運用較大平衡FIFO大小來縮減零填補頻率,但此可增加記憶體要求。因此,需要謹慎地選擇FIFO大小以在記憶體要求與效能之間達成平衡取捨。 在相關態樣中,可縮減編碼器平衡FIFO自身之大小,而速率緩衝器之大小將無改變。在此意義上,編碼器平衡FIFO 202之大小與速率緩衝器150之大小正交。 在使用零填補之實例中,為了進行成功解碼,視訊解碼器30可經組態以首先識別是否對接收到之每一多工器字進行零填補。若視訊解碼器30識別對多工器字進行零填補,則視訊解碼器30可計算經零填補位元之數目,且接著清空經零填補位元(例如移除經零填補位元),此係因為經零填補位元並非經寫碼區塊資料之部分。為了偵測是否對多工器字進行零填補,且為了在對多工器字進行填補的情況下計算零填補位元之數目,視訊解碼器30可經組態以針對每一子串流判定編碼平衡FIFO之平衡FIFO充滿度狀態。亦即,視訊解碼器30可經組態以執行視訊編碼器操作之模型以判定編碼器平衡FIFO之平衡FIFO充滿度狀態。此將允許視訊解碼器30模仿編碼器操作。平衡FIFO充滿度狀態並非實際FIFO;更確切地,平衡FIFO充滿度狀態為提供被表示為FIFO中之位元數目或充滿度的編碼器平衡FIFO之狀態的值。 如上文所提到,在視訊編碼器20進行操作之一個實例中,當balanceFIFOFullness < muxWordSize時發生零填補。因此,在視訊解碼器30處,只要作出多工器字請求,視訊解碼器30就可比較平衡FIFO充滿度狀態與muxWordSize。若balanceFIFOFullness < muxWordSize,則視訊解碼器30判定對當前多工器字進行零填補,且經零填補位元之數目將為muxWordSize與平衡FIFO中之位元數目(根據平衡FIFO充滿度狀態所推斷)之間的差。 除了平衡FIFO充滿度狀態以外,對於每一子串流,視訊解碼器30亦可經組態以將多工器字請求時間儲存於額外FIFO中。多工器字請求時間係指向每一子串流請求多工器字的時間。在一個實例中,可使用區塊索引或區塊時序來表示此等請求時間。對於每一子串流,可將請求多工器字FIFO之大小界限為選定初始延遲之值。 本發明描述應用於四個子串流之多工技術之應用,但並不因此限於特定數目個子串流。下文更詳細地描述用於各種不同寫碼模式之四個子串流中之每一者中所含有的視訊資料之實例。此處所揭示之技術可應用於任何數目個子串流。 視訊解碼器30可將平衡FIFO充滿度狀態初始化為零,此係因為解碼器漏斗移位器212尚不含有任何有效資料,例如,充滿度可為零。另外,多工器字請求時間FIFO在其初始狀態下亦可為空白。 圖8為展示可經組態以執行本發明之零填補SSM技術之實例視訊解碼器30的方塊圖。在圖8中,雜湊區塊描繪執行SSM功能之結構,白色區塊描繪FIFO緩衝器,且點線區塊描繪固定儲存體。除了圖6B所展示之結構以外,圖8之實例中的視訊解碼器30亦可經進一步組態成具有電路300,電路300經組態以偵測及清空根據本發明之技術的零填補。視訊解碼器30亦可包括用於每一子串流之額外FIFO及固定儲存體。舉例而言,視訊解碼器30可包括用於每一各別子串流之平衡FIFO充滿度狀態記憶體302A、302B、302C及302D (統稱為平衡FIFO充滿度狀態記憶體302)。FIFO充滿度狀態記憶體302可為任何類型之記憶體或儲存體,包括暫存器。視訊解碼器30可進一步包括多工器字請求時間FIFO 304A、304B、304C及304D (統稱為多工器字請求時間FIFO 304)。視訊解碼器30之解碼器操作可藉由針對每一子串流(例如子串流0至4,在圖8中被標記為ss0、ss1、ss2及ss3)請求一個多工器字而開始,該等多工器字被載入至SSP中。每一SSP可包括漏斗移位器212及熵解碼器165。每一SSP可在每一區塊時間期間移除一個語法元素資料值(例如為解碼單一區塊所需要之位元數目)。經移除位元之數目可用以遞增各別平衡FIFO充滿度狀態記憶體302。 此外,視訊解碼器30可經進一步組態以將多工器字請求時間與多工器字請求時間FIFO 304相加以用於每一各別子串流。對於每一區塊時間,視訊解碼器30可移除一個語法元素資料值,且使用自各別漏斗移位器212移除之位元數目以遞增各別平衡FIFO充滿度狀態記憶體302。若漏斗移位器充滿度值中之任一者變得小於maxSeSize,則可自速率緩衝器155採取多工器字且將多工器字置放於各別SSP中,且可將請求時間與各別多工器字請求時間FIFO 304相加。 當當前區塊索引等於初始延遲時,視訊解碼器30檢查(例如使用偵測及清空零填補電路300)是否對其已接收到之第一多工器字進行零填補。為了進行此判定,視訊解碼器30可經組態以檢查平衡FIFO充滿度狀態記憶體302中之每一者,且判定視訊編碼器20處之每一編碼器平衡FIFO 202之充滿度是否小於muxWordSize。若每一編碼器平衡FIFO 202之充滿度小於muxWordSize,則視訊解碼器30可判定對各別子串流中之多工器字進行零填補,且經零填補位元之數目將為muxWordSize與平衡FIFO充滿度狀態之值之間的差。 視訊解碼器30 (例如使用偵測及清空零填補電路300)使用經填補位元之經計算數目以清空各別漏斗移位器212中之0位元。此外,將各別平衡FIFO充滿度狀態記憶體302設定為零。若平衡FIFO之充滿度不小於muxWordSize,則視訊解碼器30判定不對多工器字進行零填補。在此狀況下,視訊解碼器30將各別平衡FIFO充滿度狀態記憶體302遞減muxWordSize。一旦完成此處理程序,視訊編碼器20就移除各別多工器字請求時間FIFO 304中之第一元素。如上文所提到,對於每一子串流,各別多工器字請求FIFO 304中之第一元素將為零,此係因為視訊解碼器30最初向每一子串流請求一個多工器字。在此程序的情況下,視訊解碼器30可成功地識別及清空第一多工器字中之零填補。歸因於初始延遲,視訊解碼器30可在解碼器當前區塊索引等於初始延遲時檢查第一多工器字中之零填補。 在已處理第一多工器字之後,視訊解碼器30可執行相同程序以用於偵測對多工器字中之每一者的零填補。在每一區塊時間,視訊解碼器30檢查多工器字請求時間FIFO 304之「前部」的輸入項。圖9為說明用於偵測零填補且清空解碼器SSM處之經填補位元之實例處理程序的流程圖。圖9之處理程序可由視訊解碼器30執行,且針對每一子串流而重複。視訊解碼器30可首先判定(310)下一多工器字請求時間(reqTime)。視訊解碼器30可接著將reqTime與SSM區塊延遲(blockDelay)相加(312)以判定解碼器之相對請求(modReqTime)。因為視訊編碼器20與視訊解碼器30之間存在延遲,所以視訊解碼器30將blockDelay與請求時間相加以判定解碼器之相對請求時間。視訊解碼器30接著判定當前區塊索引是否等於modReqTime (314)。若否,則完成處理程序。若是,則視訊解碼器30檢查平衡FIFO充滿度狀態是否小於muxWordSize (316),以便識別及清空經填補位元(若存在),如上文所描述。 若平衡FIFO充滿度狀態小於muxWordSize (亦即,偵測到填補),則視訊解碼器30計算(322)零填補位元之數目(numPadBits)。視訊解碼器30可藉由自muxWordSize減去平衡FIFO充滿度狀態之值來計算numPadBits。視訊解碼器30可接著自各別漏斗移位器移除零填補位元之經計算數目(324)。視訊解碼器30可接著將平衡FIFO充滿度狀態之值設定為零(326)。視訊解碼器30可進一步自多工器字請求時間FIFO移除各別請求時間(320)。接著完成處理程序,且可在移除填補位元的情況下編碼用於視訊資料區塊之子串流。另外,視訊解碼器30可更新多工器字請求時間FIFO (328)。 若平衡FIFO充滿度狀態不小於muxWordSize (亦即,未偵測到填補),則視訊解碼器30將平衡FIFO充滿度狀態記憶體之值遞減(318) muxWordSize (平衡FIFO充滿度狀態-=muxWordSize)。視訊解碼器30可進一步自多工器字請求時間FIFO移除各別請求時間(320)。接著完成處理程序,且可解碼用於視訊資料區塊之子串流。另外,視訊解碼器30可更新多工器字請求時間FIFO (328)。 圖10為展示可經組態以執行本發明之零填補SSM技術之實例視訊編碼器20的方塊圖。在圖10中,雜湊區塊描繪執行SSM功能之結構,白色區塊描繪FIFO緩衝器,且點線區塊描繪固定儲存體。除了圖6A所展示之結構以外,圖8之實例中的視訊解碼器30亦可經進一步組態成具有不同的解多工器模型207。詳言之,解多工器模型207包括由圖8之視訊解碼器30執行之SSM解多工器處理程序的模型。舉例而言,在使用解多工器模型207的情況下,視訊編碼器20可判定何時將零填補插入至子串流中。另外,視訊解碼器30可追蹤各別位元串流中之每一者中的多工器字請求時間及平衡FIFO充滿度狀態,如將由視訊解碼器30所判定。類似於圖6A之實例,視訊編碼器20亦可追蹤每一各別位元串流之解碼器漏斗移位器狀態。在圖10之實例中,視訊編碼器20可經組態以執行編碼器SSM技術,其中使用上文參考圖8及圖9所描述之解多工器模型來產生多工器字。應注意,除了SSP (例如解碼器漏斗移位器狀態)以外,視訊編碼器20處之解多工器模型207亦使用視訊解碼器30之經模型化平衡FIFO充滿度狀態及多工器字請求時間FIFO兩者來產生多工器字。 因為視訊編碼器20與視訊解碼器30之間的區塊時序歸因於延遲(例如初始SSM延遲)而不同,所以視訊編碼器20處之解多工器模型207經組態以考量延遲。舉例而言,當視訊編碼器20自解多工器模型207接收到多工器字請求(例如基於視訊解碼器30將在此時間請求多工器字之判定)時,可按照編碼器區塊時序或按照解碼器區塊時序而在多工器字請求時間FIFO中表示及儲存各別請求時間。作為一實例,在初始延遲之後,視訊編碼器20可將第一多工器字置放至每一SSP。因此,按照編碼器時序之多工器字請求時間將等於初始延遲。視訊解碼器30將在區塊時間0接收第一多工器字;因此,按照解碼器區塊時序之請求時間為零。因此,圖9之實例中所展示的多工器字請求時間及當前區塊索引被修改,此係因為其按照解碼器區塊時序被表示。 在一個實例中,視訊編碼器20處之解多工器模型207可按照編碼器區塊時序將多工器字請求時間儲存於FIFO中。當使用此實例技術時,可將圖9之實例中的modReqTime設定為等於reqTime。又,為了考量初始延遲,可修改圖9中之當前區塊索引,且可將該當前區塊索引計算為(編碼器當前區塊索引) - (初始延遲)。 出於清楚起見,圖11之實例中展示偵測及清空用於視訊編碼器側20處之解多工器模型207之零填補(偵測及清空用於編碼器側處之解多工器模型之零填補)的實例流程圖。此處,按照編碼器區塊時序而儲存多工器字請求時間,且自區塊延遲減去編碼器當前區塊索引以考量初始延遲。重要的是應注意,圖11說明特定實例實施。可實施其他適用技術來考量初始延遲,以建置用於視訊編碼器20處之解多工器模型。 可在視訊編碼器20之解多工器模型207中執行圖11之處理程序,且可針對每一子串流重複該處理程序。視訊編碼器20可首先判定(410)下一多工器字請求時間(reqTime)。如上文所提到,可將modReqTime設定為等於reqTime。視訊編碼器20可自編碼器當前區塊索引減去(412)區塊延遲以判定當前區塊索引。視訊編碼器20接著判定當前區塊索引是否等於modReqTime (414)。若否,則完成處理程序。若是,則視訊編碼器20檢查平衡FIFO充滿度狀態是否小於muxWordSize (416),以便識別是否需要經填補位元。 若平衡FIFO充滿度狀態小於muxWordSize (亦即,需要填補),則視訊編碼器20計算(422)零填補位元之數目(numPadBits)。視訊編碼器20可藉由自muxWordSize減去平衡FIFO充滿度狀態之值來計算numPadBits。在解多工器模型207中,視訊編碼器20可接著自各別漏斗移位器移除零填補位元之經計算數目(424)。視訊編碼器20可接著將平衡FIFO充滿度狀態之值設定為零(426)。視訊編碼器20可進一步自多工器字請求時間FIFO移除各別請求時間(420)。接著完成處理程序。另外,視訊編碼器20可更新多工器字請求時間FIFO (428)。 若平衡FIFO充滿度狀態不小於muxWordSize (亦即,不需要填補),則視訊編碼器20將平衡FIFO充滿度狀態記憶體之值遞減(418) muxWordSize (平衡FIFO充滿度狀態-=muxWordSize)。視訊編碼器20可進一步自多工器字請求時間FIFO移除各別請求時間(420)。接著完成處理程序。另外,視訊編碼器20可更新多工器字請求時間FIFO (428)。 圖12提供用於SSM編碼操作之實例流程圖。在初始延遲時段期間,視訊編碼器20針對經編碼子串流中之每一者將用於各種經寫碼區塊之語法元素(例如如由編碼器區塊索引所指示)相加(500)。在初始SSM延遲時段之後,視訊編碼器20繼續針對經編碼子串流中之每一者將用於各種經寫碼區塊之語法元素相加(502)。當解多工器模型207請求(504)多工器字時,視訊編碼器20產生(508)多工器字,且將多工器字置放於速率緩衝器150中且亦置放於解多工器模型207之漏斗移位器中。亦將請求時間與請求多工器字FIFO相加(506)。解多工器模型207接著基於語法元素大小來調整漏斗移位器充滿度。最後,解多工器模型207將偵測及清空經零填補位元,其用以更新編碼器平衡FIFO充滿度狀態及漏斗移位器充滿度狀態,如上文所描述(510)。視訊編碼器20亦可隨著編碼每一區塊而遞增區塊索引(512)。當解多工器模型207未接收到針對多工器字之請求(504)時,視訊編碼器20更新編碼器平衡FIFO充滿度狀態及漏斗移位器充滿度狀態,如上文所描述(510)。在SSM延遲期間將語法元素與平衡FIFO相加之後,視訊編碼器20亦更新編碼器平衡FIFO充滿度狀態及漏斗移位器充滿度狀態。 當所有SSP皆請求多工器字時,視訊編碼器20可選擇特定次序以將多工器字插入至位元串流中。舉例而言,在一個實施中,按以下次序產生多工器字:首先自子串流0,接著自子串流1,隨後自子串流2,且最後自子串流3。亦可在解碼器側處使用相同排序。可利用替代排序,只要在編碼器側及解碼器側處使用相同排序即可。 根據本發明之一或多個態樣,可藉由考慮以下態樣而針對各種模式建構SSM中之子串流。可在運用或不運用參考圖8至圖12所論述之零填補子串流多工技術的情況下使用以下技術。亦即,可在不使用零填補的情形下(例如圖6A及圖6B)或在使用零填補的情形下(例如圖8至圖12)使用以下技術。 在一些實例中,經編碼子串流當中可存在最小相依性,使得可並行地剖析及解碼所有子串流。亦即,產生一個子串流中之資料,使得不需要彼子串流中之資料來解碼另一子串流中之資料。即使存在某種相依性,視訊編碼器20亦可經組態以早先在子串流中(例如早先在子串流0中)傳信相依資訊,使得可縮減等待時間或任何關鍵路徑。舉例而言,視訊編碼器20可經組態以首先在子串流0中傳信寫碼模式資訊位元,使得一旦解碼寫碼模式資訊,視訊解碼器30就可使用此類資訊來剖析剩餘子串流且解碼其中之資訊。在本發明之另一實例中,當使用零填補時,預期(例如預定義)子串流長度應大致平衡或相等,使得可最小化零填補之量。 在一個特定實施中,對於用於顯示串流壓縮中之某些模式,可利用及建構四個子串流,如本文中所描述。在本實例中,區塊大小被假定為8×2 (寬度:8個像素,高度:2個像素)。 圖13至圖19展示用於不同寫碼模式之實例子串流。在圖13至圖19中,使用固定長度寫碼來寫碼根據FLC圖例而加陰影之語法元素。使用可變長度寫碼來寫碼根據VLC圖例而加陰影之語法元素。根據群組圖例而加陰影之語法元素為熵寫碼群組,如下文將更詳細地所定義。 如圖13之實例中所展示,對於BP模式,子串流0可含有標頭資訊(例如寫碼模式傳信及平坦度傳信)、分割區資訊(例如分割區資料表),及/或區塊預測向量(BPV0 、BPV1 、…、BPVx )。在圖13之實例中,分割區資訊長度為4個位元,此指示是否進一步將每一2×2子區塊分割成1×2子區塊。子串流1、2及3可含有來自經寫碼區塊之像素之三個色彩分量(例如分別為Y、Co及Cg)的經編碼資訊。YCoCg色彩格式僅為一個實例。子串流1、2及3可包括任何所要色彩格式(例如RGB、YCrCb、YUV等等)之經編碼資訊。另外,對於子串流2及3中之色度分量,可傳信分量跳過旗標,其指示子串流是否包括任何預測殘餘。 如圖14之實例中所展示,對於變換模式,子串流0可含有標頭資訊(例如寫碼模式傳信及平坦度傳信)、框內預測索引,及/或變換分割區索引。子串流1、2及3可含有來自經寫碼區塊之像素之三個色彩分量(例如分別為Y、Co及Cg)的經寫碼資訊。對於變換模式,子串流1、2及3中之每一者可包括經編碼資訊,其指示區塊中之最末有效係數(例如非零變換係數)之位置(最末有效位置)以及最末有效係數之正負號值(最末有效位置正負號)。另外,對於子串流2及3中之色度分量,可傳信分量跳過旗標,其指示子串流是否包括任何有效變換係數。 如圖15之實例中所展示,對於MPP模式,子串流0可含有標頭資訊(例如寫碼模式傳信及平坦度傳信)、用於MPP模式之色彩空間(例如色彩空間轉換(CSC)),及/或來自三個色彩分量中之每一者之四個樣本。在一個實例中,四個樣本可為區塊之前四個樣本。子串流1、2及3可含有來自三個色彩分量之8×2區塊之剩餘十二個樣本的經編碼資訊。取決於用於MPP模式之色彩空間,三個色彩分量可分別為例如Y、Co及Cg (或分別為R、G及B)。 如圖16之實例中所展示,對於型樣模式,子串流0可含有標頭資訊(例如寫碼模式傳信及平坦度傳信)、與保留於先前辭典中之型樣相關聯之位元等等。此可包括用以傳信是否保留先前辭典中之任何型樣(保留型樣啟用)的1位元。若保留任何型樣,則可傳信各自用於先前辭典中之個別型樣(保留型樣映射)的1位元。另外,亦在子串流0中傳信新型樣之數目(新型樣數目)。新型樣相等地分佈於四個子串流當中,其係自子串流0、1、2及3開始(按次序)。作為一實例,在圖16中,在前三個子串流0、1及2中傳信三個新型樣,其分別被標示為新型樣0、1及2。 型樣索引(型樣索引(pattern idx))相等地分佈於子串流1、2及3當中。因為區塊中存在16個型樣索引,所以一種方式將為在子串流1中傳信6個索引、在子串流2中傳信5個索引,且在子串流3中傳信剩餘5個索引,如圖16之實例中所展示。 BP跳過模式為BP模式之特殊狀況,其中不編碼殘餘。圖17展示用於BP跳過模式之實例子串流。子串流0可含有標頭資訊(例如寫碼模式傳信及平坦度傳信)、分割區資訊(例如分割區資料表)等等。區塊預測向量(BPV)相等地分佈於四個串流當中,其係自子串流0、1、2及3開始(按次序)。作為一實例,當針對每一2×1子區塊寫碼BP向量時,將用於8×2之區塊大小的8個BP向量放於子串流中,如圖17之實例中所展示。 MPPF模式為MPP模式之特殊狀況,其中使用固定大小量化器來編碼MPPF中之殘餘。如圖18之實例中所展示,可以與MPP模式中之方式相似的方式建構用於MPPF之子串流。 如圖19之實例中所展示,對於DPCM模式,子串流0可含有標頭資訊(例如寫碼模式傳信及平坦度傳信),而子串流1、2及3分別可含有來自三個色彩分量(例如分別為Y、Co及Cg)之經編碼資訊。子串流1、2及3中之每一者可包括用以指示是否存在用於區塊之彼子串流之任何預測殘餘的分量跳過旗標。 為了防止速率緩衝器反向溢位,可運用本文中所描述之顯示串流壓縮技術之一或多個態樣在速率緩衝器150中實施零填補。當發生此實施時,經零填補位元之數目相等地分佈至所有子串流,其係自子串流0、1、2及3按次序開始。應注意,速率緩衝器中之此零填補不同於上文所論述之零填補。在其他實例中,可將零填補位元僅添加至子串流1至3 (例如不對子串流0進行零填補)。 出於清楚起見且出於說明性目的,假設經零填補位元之數目為numPadBits,且子串流之數目為4。一種用以將numPadBits個位元相等地分佈至4個子串流之方式係藉由一次添加一個位元而循環地反覆該等子串流。下文提供用於此類實施之偽碼。 圖20中展示在四個子串流中添加經零填補位元之說明。插入經零填補位元以防止速率緩衝器反向溢位。在圖20之實例中,CurSESize指示為寫碼特定區塊所需要之總位元數目,BufferFullness指示速率緩衝器之充滿度。速率緩衝器150在由avgBlockBits給出之每一區塊時間移除恆定數目個位元。舉例而言,對於8×2之區塊大小及6 bpp之目標位元速率,avgBlockBits為96。如圖20所展示,當BufferFullness + curSESize小於avgBlockBits時,在速率緩衝器150中執行零填補以防止反向溢位。插入numPadBits數目個0位元會確保速率緩衝器150不會反向溢位。填補位元接著相等地分佈至每一子串流,如上文所描述。 出於清楚起見且出於說明性目的,使用四個子串流來展示圖20之零填補技術;然而,相同技術可應用於任何數目個子串流。 在速率緩衝器零填補之另一實例中,可判定預定義填補大小(例如16位元填補字)。視訊編碼器20可經組態以將此等填補字中之兩者置放至子串流1、2、3中之每一者中。選擇位元數目(在此狀況下為16),使得6*n=avgBlockBits。對於6 bpp壓縮,avgBlockBits=96。視訊編碼器20可經組態以在圖像參數集(PPS)參數當中傳信速率緩衝器填補之大小。 如上文所描述,選擇多工器字大小,使得其大於或等於maxSeSize。增大maxSeSize將會因此需要較大muxWordSize,此將增大平衡FIFO大小(例如編碼器平衡FIFO 202所需要之記憶體之量)。又,maxSeSize可增大零填補之頻率,此可影響品質。因此,在本發明之一個實例中,maxSeSize作為可組態參數,使得可取決於硬體要求而控制多工器字大小及平衡FIFO大小。亦即,視訊編碼器20可經組態以判定用於給定實施之maxSeSize。 雖然視訊編碼器20針對每一區塊選擇最佳寫碼模式,但視訊編碼器20可經組態以不允許用於給定子串流之語法元素大小大於選定maxSeSize的寫碼模式。亦即,視訊編碼器20可基於特定寫碼模式是否產生大於用於區塊之maxSeSize之語法元素大小的判定來判定複數個寫碼模式中之哪些寫碼模式可用或不可用。視訊編碼器20判定產生大於用於任何子串流之maxSeSize之語法元素大小的寫碼模式不可用於編碼區塊。視訊編碼器20判定產生小於或等於用於所有子串流之maxSeSize之語法元素大小的寫碼模式可用於編碼區塊。此確保視訊解碼器30將向每一子串流請求至多一個多工器字以便解碼單一區塊。若單一區塊需要多於一個多工器字之資訊,則視訊解碼器30將需要請求多個多工器字來解碼單一區塊。 視訊編碼器20可使用模式選擇演算法來判定最佳寫碼模式。視訊編碼器20判定在少數約束的條件下最小化用於給定區塊之速率失真(RD)成本的寫碼模式。實例約束可包括: 1)速率緩衝器將不會藉由選擇當前模式而反向溢位 2)速率緩衝器將不會藉由選擇當前模式而溢位 3)若選擇當前模式,則將存在至少minBlockBits可用於截塊中之每一剩餘區塊。 在一個實例中,視訊編碼器20可被預組態有maxSeSize。可離線判定經預組態maxSeSize,且經預組態maxSeSize可基於在給出特定bpp的情況下之所要效能位準。實驗展示出:一般而言,maxSeSize=126對於6 bpp很好地起作用,且maxSeSize=142對於8 bpp及高於8 bpp很好地起作用。在低QP下,BP模式及變換模式兩者皆可過於昂貴(例如相比於用於某些區塊之maxSeSize可需要較多位元),且可基於用於特定區塊之語法元素大小(seSize)大於maxSeSize (例如seSize > maxSeSize)而被取消選擇或判定為不可由視訊編碼器20使用。一般而言,可選擇經預組態maxSeSize之值作為支援大語法元素大小與最小化平衡FIFO大小之間的取捨。 在其他實例中,可基於與BP模式相關聯之最大預期語法元素大小來判定經預組態maxSeSize。然而,此不會保證BP模式將始終可用。可有可能的是,對於一些區塊,BP模式將需要大於maxSeSize之語法元素大小。在其他實例中,對於低QP值,變換模式可具有大於maxSeSize之語法元素大小。當發生此情形時,視訊編碼器20可不允許在最佳模式選擇期間將變換模式(例如判定變換模式不可用)用於當前區塊。在其他實例中,視訊編碼器20可被預組態為具有maxSeSize,使得MPP模式可用於所有區塊。 在某些邊緣狀況下,上文所提出之子串流封裝或多工技術可為次最佳的。舉例而言,若源資料為灰階(例如無色度值),則可將頻繁零填補用於Co (子串流2)及Cg (子串流3)以防止子串流分量Co及Cg反向溢位,此係因為可使用分量跳過(每子串流每區塊一個位元)來寫碼此等分量。此被視為邊緣狀況,此係因為灰階影像通常壓縮得極好,且損失微小且可僅使用目標度量(諸如峰值信雜比(PSNR))才被察覺。亦即,視覺損耗可為不可察覺的。 為了處置此類邊緣狀況,子串流封裝之另一途徑可涉及將用於每一分量之資料分佈於多個子串流當中。在一個實例中,可將用於單一分量之熵寫碼群組(EC群組)分佈於可用子串流當中(例如分佈於可用子串流之全部或子集當中)。EC群組為出於熵寫碼起見而被分組在一起的一或多個樣本之集合。舉例而言,對於BP模式,EC群組包括已被分組在一起且將共用位元串流中之首碼的四個樣本。對於變換模式,歸因於具有某一頻率資訊之係數的預期量值,每EC群組之樣本數目係可變的。 舉例而言,可將明度EC群組0置放於子串流0中,將明度EC群組1置放於子串流1中等等。以相同方式,亦可將色度分量分佈於可用子串流當中。在另一實例中,可將EC群組分佈於子串流當中,使得將最小化不同子串流之語法元素長度之間的預期失配。 藉由實施此類封裝技術,三個分量之大小之間的不平衡可引起較不頻繁的零填補。此類封裝技術可與子串流之間的相依性的輕微增大相關聯,可運用例如子串流解多工器中之額外邏輯來處置該增大。 在一個實例中,除了替代子串流封裝方法以外,亦可使用混合式熵方法。回想到,當使用替代子串流封裝方法時,每一子串流中之所有群組由於擾亂而皆可能不來自相同分量。在一個實例中,當應用混合式熵寫碼時,每一子串流中之最末群組可使用2補數表示,而前三個群組(在同一子串流中)可使用正負號量值表示。混合式熵方法可為合意的,此係因為此類方法允許符合輸貫量要求。因此,可能不將混合式熵方法應用於攜載標頭資訊之子串流(例如子串流0)-通常,標頭資訊包括模式、平坦度傳信等等。又,可能不將混合式方法應用於使用固定長度碼之模式,例如型樣、MPP、MPPF。 在另一實例中,是否使用2補數表示或正負號量值表示(例如混合式熵寫碼方法)之決策係基於在同一子串流中具有非零符號之群組之數目。在一個實例中,僅在同一子串流中之前三個群組中之每一者具有至少一個非零係數的情況下才將2補數表示用於最末群組。否則,使用正負號量值表示。僅在必要時才使用2補數表示以達成所要輸貫量,此係因為其會劣化寫碼效率。 圖21為展示根據本發明之一個實例之編碼方法的流程圖。依照上文所描述之各種實例,圖21之技術可由視訊編碼器20之一個或一個結構組件執行。 在本發明之一個實例中,視訊編碼器20可經組態以自一或多個寫碼模式當中判定用於編碼視訊資料區塊之寫碼模式,其中寫碼模式係基於最大語法元素大小而判定(600)。視訊編碼器20可經進一步組態以根據經判定寫碼模式在複數個子串流中編碼視訊資料區塊以產生複數個經編碼視訊資料子串流(602)。視訊編碼器20可經進一步組態以將複數個經編碼視訊資料子串流儲存於各別平衡先進先出(FIFO)緩衝器中(604),及在位元串流中多工複數個經編碼子串流以供傳輸至視訊解碼器(606)。在本發明之另外實例中,視訊編碼器20可經進一步組態成以恆定位元速率將複數個經編碼子串流傳信至視訊解碼器。 在本發明之另一實例中,視訊編碼器20可經進一步組態以針對複數個子串流中之一者基於複數個寫碼模式中之第一寫碼模式集合內之每一寫碼模式皆產生大於最大語法元素大小之語法元素大小的判定來判定第一寫碼模式集合內之每一寫碼模式皆不可用於編碼視訊資料區塊。視訊編碼器20可經進一步組態以針對複數個子串流中之全部基於複數個寫碼模式中之第二寫碼模式集合內之每一寫碼模式皆產生小於或等於最大語法元素大小之語法元素大小的判定來判定第二寫碼模式集合內之每一寫碼模式皆可用於編碼視訊資料區塊。視訊編碼器20可經進一步組態以自第二寫碼模式集合當中判定用於編碼視訊資料區塊之寫碼模式。在本發明之另一實例中,視訊編碼器20可被預組態有最大語法元素大小。 在本發明之另一實例中,為了根據經判定寫碼模式在複數個子串流中編碼視訊資料區塊以產生複數個經編碼視訊資料子串流,視訊編碼器20可經進一步組態以基於經判定寫碼模式在複數個子串流中之第一子串流中編碼標頭資訊,標頭資訊指示區塊之經判定寫碼模式或平坦度中之至少一者。視訊編碼器20可經進一步組態以進行以下操作:在複數個子串流中之第二子串流中編碼視訊資料區塊之樣本之明度色彩分量;在複數個子串流中之第三子串流中編碼視訊資料區塊之樣本之第一色度分量;及在複數個子串流中之第四子串流中編碼視訊資料區塊之樣本之第二色度分量。 在本發明之另一實例中,視訊編碼器20可經進一步組態以基於經判定寫碼模式在第一子串流中編碼寫碼模式資訊,寫碼模式資訊包含用於寫碼模式之資料表、至少一個區塊預測向量或至少一個索引中之至少一者。 在本發明之另一實例中,視訊編碼器20可經進一步組態以將與明度色彩分量相關聯之熵寫碼群組分佈於第一子串流、第二子串流、第三子串流及第四子串流當中。在本發明之另一實例中,視訊編碼器20可經進一步組態以將與第一色度分量或第二色度分量中之一者相關聯之熵寫碼群組分佈於第一子串流、第二子串流、第三子串流及第四子串流當中。 在本發明之另一實例中,視訊編碼器20可經進一步組態以基於視訊解碼器之解多工器模型來填補各別平衡FIFO緩衝器以防止各別平衡FIFO緩衝器之反向溢位。在本發明之另一實例中,視訊編碼器20可經進一步組態以填補複數個經編碼視訊資料子串流中之一或多者以防止速率緩衝器之反向溢位。 應注意,已自編碼器(諸如圖2A中之視訊編碼器20)之視角描述本發明之態樣。然而,熟習此項技術者應瞭解,可應用與上文所描述之操作相反的操作來解碼由例如圖2B中之視訊解碼器30產生的位元串流。 可使用多種不同科技及技術中之任一者來表示本文中所揭示之資訊及信號。舉例而言,可藉由電壓、電流、電磁波、磁場或磁性粒子、光場或光學粒子或其任何組合來表示可貫穿以上描述所參考之資料、指令、命令、資訊、信號、位元、符號及碼片。 結合本文中所揭示之實施例而描述之各種說明性邏輯區塊及演算法步驟可被實施為電子硬體、電腦軟體或此兩者之組合。為了清楚地說明硬體與軟體之此可互換性,上文已大體上在功能性方面描述各種說明性組件、區塊及步驟。將此類功能性實施為硬體抑或軟體取決於特定應用及強加於整個系統之設計約束。熟習此項技術者可針對每一特定應用而以變化之方式實施所描述之功能性,但不應將此類實施決策解譯為造成脫離本發明之範疇。 因此,本文中所描述之技術可以硬體、軟體、韌體或其任何組合予以實施。此類技術可以諸如一般用途電腦、無線通信器件手機或積體電路器件之多種器件中之任一者予以實施,該等積體電路器件具有多種用途,包括應用於無線通信器件手機、汽車、電氣設備、穿戴式裝置及/或其他器件中。可將被描述為器件或組件之任何特徵一起實施於整合式邏輯器件中或單獨地實施為離散但可互操作的邏輯器件。若以軟體予以實施,則該等技術可至少部分地由包含程式碼之電腦可讀資料儲存媒體實現,該程式碼包括在執行時執行上文所描述之方法中之一或多者的指令。電腦可讀資料儲存媒體可形成電腦程式產品之部分,電腦程式產品可包括封裝材料。電腦可讀媒體可包含記憶體或資料儲存媒體,諸如隨機存取記憶體(RAM)、同步動態隨機存取記憶體(SDRAM))、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體、磁性或光學資料儲存媒體及其類似者。另外或替代地,該等技術可至少部分地由電腦可讀通信媒體實現,該電腦可讀通信媒體攜載或傳達呈指令或資料結構之形式且可由電腦存取、讀取及/或執行的程式碼,諸如傳播信號或波。 程式碼可由處理器執行,該處理器可包括一或多個處理器,諸如一或多個數位信號處理器(DSP)、一般用途微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效整合式或離散邏輯電路系統。此類處理器可經組態以執行本發明中所描述之技術中之任一者。一般用途處理器可為微處理器;但在替代例中,該處理器可為任何習知處理器、控制器、微控制器或狀態機。處理器亦可被實施為計算器件之組合,例如DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器,或任何其他此類組態。因此,如本文中所使用之術語「處理器」可指以下各者中之任一者:前述結構、前述結構之任何組合,或適合於實施本文中所描述之技術的任何其他結構或裝置。另外,在一些態樣中,本文中所描述之功能性可提供於經組態用於編碼及解碼之專用軟體或硬體內,或併入於組合式視訊編碼器-解碼器(編碼解碼器)中。又,該等技術可完全地實施於一或多個電路或邏輯元件中。 本發明之技術可實施於各種各樣的器件或裝置中,該等器件或裝置包括無線手機、IC或IC集合(例如晶片集)。本發明中描述各種組件或單元以強調經組態以執行所揭示技術之器件之功能態樣,但未必需要由不同硬體單元實現。更確切地,如上文所描述,各種單元可結合合適的軟體及/或韌體而組合於編碼解碼器硬體單元中或由互操作性硬體單元之集合提供,該等硬體單元包括如上文所描述之一或多個處理器。 儘管已結合各種不同實施例而描述前文,但可在不脫離本發明之教示的情況下將來自一個實施例之特徵或元件與其他實施例組合。然而,各別實施例之間的特徵之組合未必限於此情形。已描述本發明之各種實施例。此等及其他實施例在以下申請專利範圍之範疇內。 如本文中所使用,術語「內容」之例子可指術語「視訊」或「影像」,且反之亦然。無論術語「內容」或「視訊」用作形容詞、名詞抑或詞類之其他部分,此情形皆成立。舉例而言,對「內容寫碼器」之參考可包括對「視訊寫碼器」或「影像寫碼器」之參考,且對「視訊寫碼器」或「影像寫碼器」之參考可包括對「內容寫碼器」之參考。相似地,對「內容」之參考亦包括對「視訊」或「影像」之參考,且對「視訊」或「影像」之參考可包括對「內容」之參考。 如本文中所使用,「內容」係指任何類型之內容。舉例而言,「內容」可指視訊內容、螢幕內容、影像內容、任何圖形內容或任何可顯示內容。作為另一實例,「內容」可指對應於視訊內容、螢幕內容、影像內容、任何圖形內容或任何可顯示內容之像素資料。舉例而言,影像包括複數個像素,其中每一像素取決於色彩空間而具有一或多個分量。因此應理解,對「像素資料」之參考可包括對任何內容之像素資料的參考。 如本文中所使用,「像素資料」可指一或多個像素。一或多個像素可包括一或多個分量值。舉例而言,RGB色彩空間中之像素可包括三個色彩分量:紅色色彩分量值、綠色色彩分量值及藍色色彩分量值。在一些實例中,「樣本」可指「像素」。在其他實例中,「樣本」可指像素之分量。舉例而言,RGB色彩空間中之像素可包括三個樣本:紅色樣本、綠色樣本及藍色樣本。對於像素,紅色樣本可為紅色色彩分量值,綠色樣本可為綠色色彩分量值,且藍色樣本可為藍色色彩分量值。因此應理解,對樣本執行操作之參考可指對像素之分量(例如色彩分量)執行操作。 如本文中所使用,術語「視訊」可指可按序列而呈現之複數個影像。如本文中所使用,術語「影像」可指:單一影像(例如圖像);一或多個影像;對應於視訊之複數個影像當中的一或多個影像;不對應於視訊之複數個影像當中的一或多個影像;對應於視訊之複數個影像(例如對應於視訊之全部影像或對應於視訊之不到全部影像);單一影像之子部分(例如子區塊);單一影像之複數個子部分(例如子區塊);對應於複數個影像之複數個子部分(例如子區塊);影像資料;圖形資料;或其類似者。在一些實例中,術語「圖像」可與「影像」互換。 如本文中所使用,術語「編碼」與「壓縮」可被互換地使用。相似地,術語「解碼」與「解壓縮」可被互換地使用。 如本文中所使用,術語「鏈路」或「顯示鏈路」可指有線或無線鏈路。在一些實例中,術語「鏈路」與「顯示鏈路」可互換。在其他實例中,術語「鏈路」與「顯示鏈路」可能不可互換。在一些實例中,顯示鏈路可指內容必須符合顯示協定(其亦可被稱作顯示鏈路協定)所經由的鏈路。顯示協定之一些實例包括HDMI協定、顯示埠(DisplayPort)協定、MIPI DSI協定或另一通信協定。 根據本發明,在上下文未另有規定的情況下,術語「或」可被中斷為「及/或」。另外,雖然諸如「一或多個」或「至少一個」或其類似者之片語可能已用於本文中所揭示之一些特徵而非其他特徵,但在上下文未另有規定的情況下,未被使用此類語言之特徵可被解譯為暗示此類含義。 已描述各種實例。此等及其他實例在以下申請專利範圍之範疇內。
10‧‧‧視訊寫碼系統
10'‧‧‧視訊寫碼系統
11‧‧‧器件
12‧‧‧源器件
13‧‧‧處理器/控制器器件
14‧‧‧目的地器件
16‧‧‧鏈路
18‧‧‧視訊源
20‧‧‧視訊編碼器/視訊編碼器側
22‧‧‧輸出介面
28‧‧‧輸入介面
30‧‧‧視訊解碼器
31‧‧‧儲存器件
32‧‧‧顯示器件
105‧‧‧色彩空間轉換器
110‧‧‧緩衝器
115‧‧‧平坦度偵測器
120‧‧‧速率控制器
125‧‧‧預測器、量化器及重建構器組件
130‧‧‧行緩衝器
135‧‧‧索引色彩歷史
140‧‧‧熵編碼器
145‧‧‧子串流多工器
150‧‧‧速率緩衝器
155‧‧‧速率緩衝器
160‧‧‧子串流解多工器
165‧‧‧熵解碼器
165A‧‧‧熵解碼器
165B‧‧‧熵解碼器
165C‧‧‧熵解碼器
170‧‧‧速率控制器
175‧‧‧預測器、量化器及重建構器組件
180‧‧‧索引色彩歷史
185‧‧‧行緩衝器
190‧‧‧色彩空間轉換器
200A‧‧‧可變長度寫碼(VLC)及漏斗移位器
200B‧‧‧可變長度寫碼(VLC)及漏斗移位器
200C‧‧‧可變長度寫碼(VLC)及漏斗移位器
202‧‧‧編碼器平衡先進先出(FIFO)
202A‧‧‧編碼器平衡先進先出(FIFO)
202B‧‧‧編碼器平衡先進先出(FIFO)
202C‧‧‧編碼器平衡先進先出(FIFO)
204‧‧‧多工器
206‧‧‧解多工器模型
207‧‧‧解多工器模型
210‧‧‧解多工器
212‧‧‧解碼器漏斗移位器
212A‧‧‧解碼器漏斗移位器
212B‧‧‧解碼器漏斗移位器
212C‧‧‧解碼器漏斗移位器
300‧‧‧圖形/電路
302A‧‧‧平衡先進先出(FIFO)充滿度狀態記憶體
302B‧‧‧平衡先進先出(FIFO)充滿度狀態記憶體
302C‧‧‧平衡先進先出(FIFO)充滿度狀態記憶體
302D‧‧‧平衡先進先出(FIFO)充滿度狀態記憶體
304A‧‧‧多工器字請求時間先進先出(FIFO)
304B‧‧‧多工器字請求時間先進先出(FIFO)
304C‧‧‧多工器字請求時間先進先出(FIFO)
304D‧‧‧多工器字請求時間先進先出(FIFO)
310‧‧‧步驟
312‧‧‧步驟
314‧‧‧步驟
316‧‧‧步驟
318‧‧‧步驟
320‧‧‧步驟
322‧‧‧步驟
324‧‧‧步驟
326‧‧‧步驟
328‧‧‧步驟
410‧‧‧步驟
412‧‧‧步驟
414‧‧‧步驟
416‧‧‧步驟
418‧‧‧步驟
420‧‧‧步驟
422‧‧‧步驟
424‧‧‧步驟
426‧‧‧步驟
428‧‧‧步驟
500‧‧‧步驟
502‧‧‧步驟
504‧‧‧步驟
506‧‧‧步驟
508‧‧‧步驟
510‧‧‧步驟
512‧‧‧步驟
600‧‧‧步驟
602‧‧‧步驟
604‧‧‧步驟
606‧‧‧步驟
圖1A為說明可經組態以執行本發明之技術之實例視訊寫碼系統的方塊圖。 圖1B為說明可經組態以執行本發明之技術之另一實例視訊寫碼系統的方塊圖。 圖2A為說明可經組態以執行本發明之技術之實例視訊編碼器的方塊圖。 圖2B為說明可經組態以執行本發明之技術之實例視訊解碼器的方塊圖。 圖3為說明一種用於計算量化參數之實例技術的圖形。 圖4A為展示實例熵寫碼技術之概念圖。 圖4B為展示實例碼字之概念圖。 圖5為根據本發明之一個實例的說明經量化殘餘區塊群組之概念圖。 圖6A為根據本發明之一個實例的展示視訊編碼器中之子串流多工的方塊圖。 圖6B為根據本發明之一個實例的展示視訊解碼器中之子串流解多工的方塊圖。 圖7為展示子串流多工中之多工器字請求之實例的概念圖。 圖8為根據本發明之一個實例的展示視訊解碼器中之子串流解多工的概念圖。 圖9為根據本發明之一個實例的展示視訊解碼器中之實例子串流解多工處理程序的流程圖。 圖10為根據本發明之一個實例的展示視訊編碼器中之子串流多工的方塊圖。 圖11為根據本發明之一個實例的展示視訊編碼器中之實例子串流多工處理程序的流程圖。 圖12為根據本發明之一個實例的展示視訊編碼器中之實例子串流多工處理程序的流程圖。 圖13為展示用於區塊預測模式之實例子串流建構的概念圖。 圖14為展示用於變換模式之實例子串流建構的概念圖。 圖15為展示用於中點預測模式之實例子串流建構的概念圖。 圖16為展示用於型樣模式之實例子串流建構的概念圖。 圖17為展示用於區塊預測跳過模式之實例子串流建構的概念圖。 圖18為展示用於中點預測後援模式之實例子串流建構的概念圖。 圖19為展示用於微分脈碼調變模式之實例子串流建構的概念圖。 圖20為展示速率緩衝器中之零填補之實例處理程序的流程圖。 圖21為展示根據本發明之一個實例之編碼方法的流程圖。
145‧‧‧子串流多工器
150‧‧‧速率緩衝器
200A‧‧‧可變長度寫碼(VLC)及漏斗移位器
200B‧‧‧可變長度寫碼(VLC)及漏斗移位器
200C‧‧‧可變長度寫碼(VLC)及漏斗移位器
202A‧‧‧編碼器平衡先進先出(FIFO)
202B‧‧‧編碼器平衡先進先出(FIFO)
202C‧‧‧編碼器平衡先進先出(FIFO)
204‧‧‧多工器
206‧‧‧解多工器模型

Claims (40)

  1. 一種用於編碼視訊資料之方法,該方法包含: 自一或多個寫碼模式當中判定用於編碼一視訊資料區塊之一寫碼模式,其中該寫碼模式係基於一最大語法元素大小而判定; 根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流; 將該複數個經編碼視訊資料子串流儲存於各別平衡先進先出(FIFO)緩衝器中;及 在一位元串流中多工該複數個經編碼子串流以供傳輸至一視訊解碼器。
  2. 如請求項1之方法,其進一步包含: 針對該複數個子串流中之一者基於該複數個寫碼模式中之一第一寫碼模式集合內之每一寫碼模式皆產生大於該最大語法元素大小之一語法元素大小的一判定來判定該第一寫碼模式集合內之每一寫碼模式皆不可用於編碼該視訊資料區塊; 針對該複數個子串流中之全部基於該複數個寫碼模式中之一第二寫碼模式集合內之每一寫碼模式皆產生小於或等於該最大語法元素大小之一語法元素大小的一判定來判定該第二寫碼模式集合內之每一寫碼模式皆可用於編碼該視訊資料區塊;及 自該第二寫碼模式集合當中判定用於編碼該視訊資料區塊之該寫碼模式。
  3. 如請求項1之方法,其進一步包含: 預組態該最大語法元素大小。
  4. 如請求項1之方法,其進一步包含: 以一恆定位元速率將該複數個經編碼子串流傳信至該視訊解碼器。
  5. 如請求項1之方法,其中根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流包含: 基於該經判定寫碼模式在該複數個子串流中之一第一子串流中編碼標頭資訊,該標頭資訊指示該區塊之該經判定寫碼模式或平坦度中之至少一者; 在該複數個子串流中之一第二子串流中編碼該視訊資料區塊之樣本之一明度色彩分量; 在該複數個子串流中之一第三子串流中編碼該視訊資料區塊之該等樣本之一第一色度分量;及 在該複數個子串流中之一第四子串流中編碼該視訊資料區塊之該等樣本之一第二色度分量。
  6. 如請求項5之方法,其進一步包含: 針對BP模式基於該經判定寫碼模式在該第一子串流中編碼寫碼模式資訊,該寫碼模式資訊包含用於該寫碼模式之一資料表、至少一個區塊預測向量或至少一個索引中之至少一者。
  7. 如請求項5之方法,其進一步包含: 將與該明度色彩分量相關聯之熵寫碼群組分佈於該第一子串流、該第二子串流、該第三子串流及該第四子串流當中。
  8. 如請求項5之方法,其進一步包含: 將與該第一色度分量或該第二色度分量中之一者相關聯之熵寫碼群組分佈於該第一子串流、該第二子串流、該第三子串流及該第四子串流當中。
  9. 如請求項1之方法,其進一步包含: 基於該視訊解碼器之一解多工器模型來填補一各別平衡FIFO緩衝器以防止該各別平衡FIFO緩衝器之反向溢位。
  10. 如請求項1之方法,其進一步包含: 填補該複數個經編碼視訊資料子串流中之一或多者以防止一速率緩衝器之反向溢位。
  11. 一種經組態以編碼視訊資料之裝置,該裝置包含: 一記憶體,其經組態以儲存一視訊資料區塊;及 一或多個處理器,其與該記憶體通信,該一或多個處理器經組態以進行以下操作: 自一或多個寫碼模式當中判定用於編碼該視訊資料區塊之一寫碼模式,其中該寫碼模式係基於一最大語法元素大小而判定; 根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流; 將該複數個經編碼視訊資料子串流儲存於各別平衡先進先出(FIFO)緩衝器中;及 在一位元串流中多工該複數個經編碼子串流以供傳輸至一視訊解碼器。
  12. 如請求項11之裝置,其中該一或多個處理器經進一步組態以進行以下操作: 針對該複數個子串流中之一者基於該複數個寫碼模式中之一第一寫碼模式集合內之每一寫碼模式皆產生大於該最大語法元素大小之一語法元素大小的一判定來判定該第一寫碼模式集合內之每一寫碼模式皆不可用於編碼該視訊資料區塊; 針對該複數個子串流中之全部基於該複數個寫碼模式中之一第二寫碼模式集合內之每一寫碼模式皆產生小於或等於該最大語法元素大小之一語法元素大小的一判定來判定該第二寫碼模式集合內之每一寫碼模式皆可用於編碼該視訊資料區塊;及 自該第二寫碼模式集合當中判定用於編碼該視訊資料區塊之該寫碼模式。
  13. 如請求項11之裝置,其中該一或多個處理器被預組態有該最大語法元素大小。
  14. 如請求項11之裝置,其中該一或多個處理器經進一步組態以進行以下操作: 以一恆定位元速率將該複數個經編碼子串流傳信至該視訊解碼器。
  15. 如請求項11之裝置,其中為了根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流,該一或多個處理器經進一步組態以進行以下操作: 基於該經判定寫碼模式在該複數個子串流中之一第一子串流中編碼標頭資訊,該標頭資訊指示該區塊之該經判定寫碼模式或平坦度中之至少一者; 在該複數個子串流中之一第二子串流中編碼該視訊資料區塊之樣本之一明度色彩分量; 在該複數個子串流中之一第三子串流中編碼該視訊資料區塊之該等樣本之一第一色度分量;及 在該複數個子串流中之一第四子串流中編碼該視訊資料區塊之該等樣本之一第二色度分量。
  16. 如請求項15之裝置,其中該一或多個處理器經進一步組態以進行以下操作: 針對BP模式基於該經判定寫碼模式在該第一子串流中編碼寫碼模式資訊,該寫碼模式資訊包含用於該寫碼模式之一資料表、至少一個區塊預測向量或至少一個索引中之至少一者。
  17. 如請求項15之裝置,其中該一或多個處理器經進一步組態以進行以下操作: 將與該明度色彩分量相關聯之熵寫碼群組分佈於該第一子串流、該第二子串流、該第三子串流及該第四子串流當中。
  18. 如請求項15之裝置,其中該一或多個處理器經進一步組態以進行以下操作: 將與該第一色度分量或該第二色度分量中之一者相關聯之熵寫碼群組分佈於該第一子串流、該第二子串流、該第三子串流及該第四子串流當中。
  19. 如請求項11之裝置,其中該一或多個處理器經進一步組態以進行以下操作: 基於該視訊解碼器之一解多工器模型來填補一各別平衡FIFO緩衝器以防止該各別平衡FIFO緩衝器之反向溢位。
  20. 如請求項11之裝置,其中該一或多個處理器經進一步組態以進行以下操作: 填補該複數個經編碼視訊資料子串流中之一或多者以防止一速率緩衝器之反向溢位。
  21. 一種經組態以編碼視訊資料之裝置,該裝置包含: 用於自一或多個寫碼模式當中判定用於編碼一視訊資料區塊之一寫碼模式的構件,其中該寫碼模式係基於一最大語法元素大小而判定; 用於根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流的構件; 用於將該複數個經編碼視訊資料子串流儲存於各別平衡先進先出(FIFO)緩衝器中的構件;及 用於在一位元串流中多工該複數個經編碼子串流以供傳輸至一視訊解碼器的構件。
  22. 如請求項21之裝置,其進一步包含: 用於針對該複數個子串流中之一者基於該複數個寫碼模式中之一第一寫碼模式集合內之每一寫碼模式皆產生大於該最大語法元素大小之一語法元素大小的一判定來判定該第一寫碼模式集合內之每一寫碼模式皆不可用於編碼該視訊資料區塊的構件; 用於針對該複數個子串流中之全部基於該複數個寫碼模式中之一第二寫碼模式集合內之每一寫碼模式皆產生小於或等於該最大語法元素大小之一語法元素大小的一判定來判定該第二寫碼模式集合內之每一寫碼模式皆可用於編碼該視訊資料區塊的構件;及 用於自該第二寫碼模式集合當中判定用於編碼該視訊資料區塊之該寫碼模式的構件。
  23. 如請求項21之裝置,其中該裝置被預組態有該最大語法元素大小。
  24. 如請求項21之裝置,其進一步包含: 用於以一恆定位元速率將該複數個經編碼子串流傳信至該視訊解碼器的構件。
  25. 如請求項21之裝置,其中該用於根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流的構件包含: 用於基於該經判定寫碼模式在該複數個子串流中之一第一子串流中編碼標頭資訊的構件,該標頭資訊指示該區塊之該經判定寫碼模式或平坦度中之至少一者; 用於在該複數個子串流中之一第二子串流中編碼該視訊資料區塊之樣本之一明度色彩分量的構件; 用於在該複數個子串流中之一第三子串流中編碼該視訊資料區塊之該等樣本之一第一色度分量的構件;及 用於在該複數個子串流中之一第四子串流中編碼該視訊資料區塊之該等樣本之一第二色度分量的構件。
  26. 如請求項25之裝置,其進一步包含: 用於針對BP模式基於該經判定寫碼模式在該第一子串流中編碼寫碼模式資訊的構件,該寫碼模式資訊包含用於該寫碼模式之一資料表、至少一個區塊預測向量或至少一個索引中之至少一者。
  27. 如請求項25之裝置,其進一步包含: 用於將與該明度色彩分量相關聯之熵寫碼群組分佈於該第一子串流、該第二子串流、該第三子串流及該第四子串流當中的構件。
  28. 如請求項25之裝置,其進一步包含: 用於將與該第一色度分量或該第二色度分量中之一者相關聯之熵寫碼群組分佈於該第一子串流、該第二子串流、該第三子串流及該第四子串流當中的構件。
  29. 如請求項21之裝置,其進一步包含: 用於基於該視訊解碼器之一解多工器模型來填補一各別平衡FIFO緩衝器以防止該各別平衡FIFO緩衝器之反向溢位的構件。
  30. 如請求項21之裝置,其進一步包含: 用於填補該複數個經編碼視訊資料子串流中之一或多者以防止一速率緩衝器之反向溢位的構件。
  31. 一種儲存指令之電腦可讀儲存媒體,該等指令在執行時致使經組態以編碼視訊資料之一或多個處理器進行以下操作: 自一或多個寫碼模式當中判定用於編碼該視訊資料區塊之一寫碼模式,其中該寫碼模式係基於一最大語法元素大小而判定; 根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流; 將該複數個經編碼視訊資料子串流儲存於各別平衡先進先出(FIFO)緩衝器中;及 在一位元串流中多工該複數個經編碼子串流以供傳輸至一視訊解碼器。
  32. 如請求項31之電腦可讀儲存媒體,其中該等指令進一步致使該一或多個處理器進行以下操作: 針對該複數個子串流中之一者基於該複數個寫碼模式中之一第一寫碼模式集合內之每一寫碼模式皆產生大於該最大語法元素大小之一語法元素大小的一判定來判定該第一寫碼模式集合內之每一寫碼模式皆不可用於編碼該視訊資料區塊; 針對該複數個子串流中之全部基於該複數個寫碼模式中之一第二寫碼模式集合內之每一寫碼模式皆產生小於或等於該最大語法元素大小之一語法元素大小的一判定來判定該第二寫碼模式集合內之每一寫碼模式皆可用於編碼該視訊資料區塊;及 自該第二寫碼模式集合當中判定用於編碼該視訊資料區塊之該寫碼模式。
  33. 如請求項31之電腦可讀儲存媒體,其中該一或多個處理器被預組態有該最大語法元素大小。
  34. 如請求項31之電腦可讀儲存媒體,其中該等指令進一步致使該一或多個處理器進行以下操作: 以一恆定位元速率將該複數個經編碼子串流傳信至該視訊解碼器。
  35. 如請求項31之電腦可讀儲存媒體,其中為了根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流,該等指令進一步致使該一或多個處理器進行以下操作: 基於該經判定寫碼模式在該複數個子串流中之一第一子串流中編碼標頭資訊,該標頭資訊指示該區塊之該經判定寫碼模式或平坦度中之至少一者; 在該複數個子串流中之一第二子串流中編碼該視訊資料區塊之樣本之一明度色彩分量; 在該複數個子串流中之一第三子串流中編碼該視訊資料區塊之該等樣本之一第一色度分量;及 在該複數個子串流中之一第四子串流中編碼該視訊資料區塊之該等樣本之一第二色度分量。
  36. 如請求項35之電腦可讀儲存媒體,其中該等指令進一步致使該一或多個處理器進行以下操作: 針對BP模式基於該經判定寫碼模式在該第一子串流中編碼寫碼模式資訊,該寫碼模式資訊包含用於該寫碼模式之一資料表、至少一個區塊預測向量或至少一個索引中之至少一者。
  37. 如請求項35之電腦可讀儲存媒體,其中該等指令進一步致使該一或多個處理器進行以下操作: 將與該明度色彩分量相關聯之熵寫碼群組分佈於該第一子串流、該第二子串流、該第三子串流及該第四子串流當中。
  38. 如請求項35之電腦可讀儲存媒體,其中該等指令進一步致使該一或多個處理器進行以下操作: 將與該第一色度分量或該第二色度分量中之一者相關聯之熵寫碼群組分佈於該第一子串流、該第二子串流、該第三子串流及該第四子串流當中。
  39. 如請求項31之電腦可讀儲存媒體,其中該等指令進一步致使該一或多個處理器進行以下操作: 基於該視訊解碼器之一解多工器模型來填補一各別平衡FIFO緩衝器以防止該各別平衡FIFO緩衝器之反向溢位。
  40. 如請求項31之電腦可讀儲存媒體,其中該等指令進一步致使該一或多個處理器進行以下操作: 填補該複數個經編碼視訊資料子串流中之一或多者以防止一速率緩衝器之反向溢位。
TW106119362A 2016-06-09 2017-06-09 用於顯示串流壓縮之子串流多工 TWI732884B (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201662347964P 2016-06-09 2016-06-09
US62/347,964 2016-06-09
US201662359586P 2016-07-07 2016-07-07
US62/359,586 2016-07-07
US201662416016P 2016-11-01 2016-11-01
US62/416,016 2016-11-01
US15/617,844 2017-06-08
US15/617,844 US10855989B2 (en) 2016-06-09 2017-06-08 Substream multiplexing for display stream compression

Publications (2)

Publication Number Publication Date
TW201806391A true TW201806391A (zh) 2018-02-16
TWI732884B TWI732884B (zh) 2021-07-11

Family

ID=60573318

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106119362A TWI732884B (zh) 2016-06-09 2017-06-09 用於顯示串流壓縮之子串流多工

Country Status (9)

Country Link
US (1) US10855989B2 (zh)
EP (1) EP3469795B1 (zh)
JP (1) JP6921873B2 (zh)
KR (1) KR102342660B1 (zh)
CN (1) CN109196866B (zh)
BR (1) BR112018074811A2 (zh)
CA (1) CA3022147C (zh)
TW (1) TWI732884B (zh)
WO (1) WO2017214515A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10283091B2 (en) * 2014-10-13 2019-05-07 Microsoft Technology Licensing, Llc Buffer optimization
US10225561B2 (en) * 2015-10-08 2019-03-05 Mediatek Inc. Method and apparatus for syntax signaling in image and video compression
JP2017183910A (ja) * 2016-03-29 2017-10-05 富士通株式会社 画像符号化装置及び画像符号化方法
US10750175B2 (en) * 2017-05-04 2020-08-18 Sony Corporation Quantization partitioning for enhanced image compression
US10743032B2 (en) 2017-05-24 2020-08-11 Qualcomm Incorporated Substream multiplexing for display stream compression
FR3068556A1 (fr) * 2017-06-29 2019-01-04 B<>Com Procede de decodage d'une image, procede de codage, dispositifs, equipement terminal et programmes d'ordinateurs associes
US10904532B2 (en) * 2019-05-20 2021-01-26 Samsung Display Co., Ltd. Differential prefix coding for high throughput entropy coder in display compression
TWI741919B (zh) * 2020-01-15 2021-10-01 瑞鼎科技股份有限公司 串流解壓縮電路
CN112926456B (zh) * 2021-02-26 2022-11-15 格学教育科技(唐山)有限公司 一种基于状态机的识别文字逻辑重组方法
WO2023122244A1 (en) * 2021-12-23 2023-06-29 Op Solutions, Llc Intelligent multi-stream video coding for video surveillance
CN115083530B (zh) * 2022-08-22 2022-11-04 广州明领基因科技有限公司 基因测序数据压缩方法、装置、终端设备和存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784494A (en) * 1995-04-18 1998-07-21 Advanced Micro Devices, Inc. Method and apparatus for prestoring dequantization information for DCT VLC decoding
US20050114639A1 (en) * 2001-05-11 2005-05-26 Zimmer Vincent J. Hardened extensible firmware framework to support system management mode operations using 64-bit extended memory mode processors
US20030208537A1 (en) * 2002-05-01 2003-11-06 Lane James K. Real-time data collection and distribution among office productivity software applications
US20060031569A1 (en) * 2002-07-03 2006-02-09 Sasa Desic Load balancing system using mobile agents
US7475257B2 (en) * 2003-09-25 2009-01-06 International Business Machines Corporation System and method for selecting and using a signal processor in a multiprocessor system to operate as a security for encryption/decryption of data
US20050125582A1 (en) * 2003-12-08 2005-06-09 Tu Steven J. Methods and apparatus to dispatch interrupts in multi-processor systems
US20070208956A1 (en) * 2004-11-19 2007-09-06 Motorola, Inc. Energy efficient inter-processor management method and system
US8126046B2 (en) * 2006-06-30 2012-02-28 Intel Corporation Flexible macroblock ordering and arbitrary slice ordering apparatus, system, and method
EP2140350B1 (en) * 2007-03-23 2017-04-05 Qualcomm Incorporated Distributed processing method and computer program product
US20090316788A1 (en) * 2008-06-23 2009-12-24 Thomson Licensing Video coding method with non-compressed mode and device implementing the method
US8074087B2 (en) * 2008-06-24 2011-12-06 Microsoft Corporation Configuring processors and loads for power management
US9749661B2 (en) * 2012-01-18 2017-08-29 Qualcomm Incorporated Sub-streams for wavefront parallel processing in video coding
US9883180B2 (en) * 2012-10-03 2018-01-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Bounded rate near-lossless and lossless image compression
US9978156B2 (en) * 2012-10-03 2018-05-22 Avago Technologies General Ip (Singapore) Pte. Ltd. High-throughput image and video compression
CN104718753B (zh) * 2012-10-03 2018-05-11 安华高科技通用Ip(新加坡)公司 利用切片速率控制的有界率压缩
US9930346B2 (en) 2014-04-15 2018-03-27 Qualcomm Incorporated System and method for flatness detection for display stream compression (DSC)
US9866853B2 (en) * 2014-04-15 2018-01-09 Qualcomm Incorporated System and method for lagrangian parameter calculation for display stream compression (DSC)
US9848193B2 (en) * 2014-04-15 2017-12-19 Qualcomm Incorporated System and method for selecting quantization parameter (QP) in display stream compression (DSC)
US10631005B2 (en) 2014-04-21 2020-04-21 Qualcomm Incorporated System and method for coding in block prediction mode for display stream compression (DSC)

Also Published As

Publication number Publication date
JP2019522413A (ja) 2019-08-08
EP3469795B1 (en) 2021-04-21
CA3022147A1 (en) 2017-12-14
US20170359583A1 (en) 2017-12-14
KR102342660B1 (ko) 2021-12-22
WO2017214515A1 (en) 2017-12-14
CA3022147C (en) 2023-11-07
BR112018074811A2 (pt) 2019-03-19
EP3469795A1 (en) 2019-04-17
JP6921873B2 (ja) 2021-08-18
KR20190016502A (ko) 2019-02-18
US10855989B2 (en) 2020-12-01
TWI732884B (zh) 2021-07-11
CN109196866A (zh) 2019-01-11
CN109196866B (zh) 2022-11-25

Similar Documents

Publication Publication Date Title
TWI732884B (zh) 用於顯示串流壓縮之子串流多工
TWI724303B (zh) 用於顯示器串流壓縮之子串流多工
US10574988B2 (en) System and methods for reducing slice boundary visual artifacts in display stream compression (DSC)
JP6464192B2 (ja) ディスプレイストリーム圧縮(dsc)のための平坦度検出のためのシステムおよび方法
TWI634778B (zh) 用於顯示串流壓縮之複合區域偵測
TW201639363A (zh) 用於顯示串流壓縮之速率受限回退模式
KR20160145051A (ko) 디스플레이 스트림 압축 (dsc) 을 위한 블록 예측 모드에서 코딩하기 위한 시스템 및 방법
TW201722155A (zh) 用於在顯示器串流壓縮中固定點近似之系統及方法
TWI705693B (zh) 用於顯示串流壓縮之基於向量之熵寫碼的裝置及方法
JP2018515015A (ja) ディスプレイストリーム圧縮(dsc)のための量子化パラメータ(qp)更新分類
JP2019507530A (ja) ディスプレイストリーム圧縮(dsc)におけるひずみを計算するためのシステムおよび方法
TW201739246A (zh) 用於顯示器串流壓縮之感知量化參數(qp)加權之裝置及方法
JP2018525901A (ja) ディスプレイストリーム圧縮における変換モード用ブロックサイズの変更