TWI724303B - 用於顯示器串流壓縮之子串流多工 - Google Patents
用於顯示器串流壓縮之子串流多工 Download PDFInfo
- Publication number
- TWI724303B TWI724303B TW107117631A TW107117631A TWI724303B TW I724303 B TWI724303 B TW I724303B TW 107117631 A TW107117631 A TW 107117631A TW 107117631 A TW107117631 A TW 107117631A TW I724303 B TWI724303 B TW I724303B
- Authority
- TW
- Taiwan
- Prior art keywords
- video data
- block
- substreams
- syntax element
- data block
- Prior art date
Links
Images
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/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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- 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/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/134—Methods 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/146—Data rate or code amount at the encoder output
-
- 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/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- 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/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/1883—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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本發明提供一種用於在一恆定位元速率視訊編碼器中編碼視訊資料之方法及系統。一視訊編碼器可進行以下操作:基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一視訊資料區塊之一寫碼模式,其中該最小語法元素大小大於1個位元;根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流;將該複數個經編碼視訊資料子串流儲存於各別平衡FIFO緩衝器中;及在一位元串流中多工該複數個經編碼子串流以供傳輸至一解碼器。
Description
本發明係關於視訊寫碼及壓縮之領域,且特定言之,係關於用於經由顯示器鏈路之傳輸之視訊壓縮,諸如顯示器串流壓縮。
數位內容能力可併入至廣泛範圍之器件中,該等器件包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、平板電腦、電子書閱讀器、數位攝影機、數位記錄器件、數位媒體播放器、視訊遊戲器件、視訊遊戲主控台、蜂巢式或衛星無線電電話、所謂的「智慧型電話」、視訊電傳會議器件、視訊串流器件及其類似者。可使用諸如顯示器鏈路之鏈路以將內容自源(例如,儲存影像及/或視訊資料之記憶體)傳送至顯示器。舉例而言,顯示器鏈路可將機上盒連接至電視或將電腦連接至顯示器。
顯示器鏈路之頻寬要求通常與顯示器之解析度成比例,且因此,高解析度顯示器受益於大頻寬顯示器鏈路。一些顯示器鏈路不具有用以支援高解析度顯示器之頻寬。可使用視訊壓縮以降低頻寬要求,使得可使用較低頻寬顯示器鏈路以將數位視訊提供至較高解析度顯示器。可使用對像素資料之影像壓縮。然而,此等方案有時並非視覺上無損,或可能在習知顯示器件中實施起來困難且昂貴。
視電標準協會(Video Electronics Standards Association;VESA)已開發出顯示器串流壓縮(DSC)作為用於顯示器鏈路視訊壓縮之標準。諸如DSC之顯示器鏈路視訊壓縮技術應尤其提供視覺上無損的圖像品質(亦即,具有使得使用者不能辨識壓縮在作用中之品質等級的圖像)。顯示器鏈路視訊壓縮技術亦應提供運用習知硬體即時實施起來簡易且便宜之方案。
大體而言,本發明描述用於編碼視訊資料之技術。在一些實例中,本發明描述可縮減用於恆定位元速率視訊編解碼器(例如,VDC-M編解碼器)之編碼器子串流多工器中之平衡先進先出(FIFO)緩衝器之大小的編碼技術。縮減平衡FIFO之大小可能會引起視訊編解碼器之硬體實施方案中之所需記憶體縮減。
在一個實例中,本發明描述一種經組態以編碼視訊資料之裝置,該裝置包含:一記憶體,其經組態以儲存一視訊資料區塊;及一或多個處理器,其與該記憶體通信,該一或多個處理器經組態以進行以下操作:基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼該視訊資料區塊之一寫碼模式,其中該最小語法元素大小大於1個位元;根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流;將該複數個經編碼視訊資料子串流儲存於各別平衡FIFO緩衝器中;及在一位元串流中多工該複數個經編碼子串流以供傳輸至一解碼器。
在另一實例中,本發明描述一種編碼視訊資料之方法,該方法包含:基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一視訊資料區塊之一寫碼模式,其中該最小語法元素大小大於1個位元;根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流;將該複數個經編碼視訊資料子串流儲存於各別平衡FIFO緩衝器中;及在一位元串流中多工該複數個經編碼子串流以供傳輸至一解碼器。
在另一實例中,本發明描述一種儲存指令之非暫時性電腦可讀儲存媒體,該等指令在執行時致使經組態以編碼視訊資料之一或多個處理器進行以下操作:基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一視訊資料區塊之一寫碼模式,其中該最小語法元素大小大於1個位元;根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流;將該複數個經編碼視訊資料子串流儲存於各別平衡FIFO緩衝器中;及在一位元串流中多工該複數個經編碼子串流以供傳輸至一解碼器。
在另一實例中,本發明描述一種經組態以編碼視訊資料之裝置,該裝置包含:用於基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一視訊資料區塊之一寫碼模式的構件,其中該最小語法元素大小大於1個位元;用於根據該經判定寫碼模式在複數個子串流中編碼該視訊資料區塊以產生複數個經編碼視訊資料子串流的構件;用於將該複數個經編碼視訊資料子串流儲存於各別平衡FIFO緩衝器中的構件;及用於在一位元串流中多工該複數個經編碼子串流以供傳輸至一解碼器的構件。
下文在隨附圖式及實施方式中闡述本發明之一或多個實例的細節。本發明之其他特徵、目標及優勢將自實施方式及圖式且自申請專利範圍顯而易見。
本申請案主張2017年5月24日申請之美國臨時申請案第62/510,602號之權益,該臨時申請案之全部內容以引用之方式併入本文中。
大體而言,本發明描述用於編碼內容之技術,包括視訊資料之編碼及解碼。本發明之技術可與任何視訊壓縮技術一起使用,而無論是否根據諸如DSC、VESA顯示壓縮-M (VDC-M)或其他內容寫碼標準之內容寫碼標準。舉例而言,本發明描述用於寫碼影像內容(例如,視訊資料)以供傳輸——諸如經由鏈路(例如,顯示器鏈路)之傳輸——的技術。作為另一實例,本發明描述可用以根據諸如DSC或VDC-M之固定速率視覺上無損內容寫碼標準增大內容之壓縮比(例如,作為一個實例為自3:1至4:1)的技術。
諸如視訊影像、TV影像、靜態影像或由視訊記錄器或電腦產生之影像的數位影像可包括以水平及垂直行(line)而配置之像素或樣本。對於4k解析度,單一影像中之像素數目通常為數十萬至數百萬。每一像素可由明度及色度資訊(例如,YCrCb)及/或其他色彩格式(例如,RGB)表示。在無壓縮之情況下,待自影像編碼器傳送至影像解碼器之資訊之絕對數量將致使即時影像傳輸不切實際。為了縮減待傳輸資訊之量,已開發出數種不同壓縮方法,諸如JPEG、MPEG及H.263、H.264及H.265標準。
視訊寫碼標準包括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),及H.265 (亦被稱為HEVC),包括此等標準之延伸。
另外,視電標準協會(VESA)已開發出視訊寫碼標準,亦即,DSC及VDC-M。DSC及VDC-M標準允許壓縮視訊資料以供經由顯示器鏈路而傳輸。隨著顯示器之解析度增大,驅動顯示器所需要的視訊資料之頻寬對應地增大。一些顯示器鏈路可能不具有用以將視訊資料之全部傳輸至用於此等解析度之顯示器的頻寬。因此,DSC及VDC-M標準指定用於經由顯示器鏈路之可互操作的視覺上無損壓縮的壓縮標準。
DSC及VDC-M標準不同於諸如H.264及HEVC之其他視訊寫碼標準。DSC及VDC-M包括圖框內壓縮,但不包括圖框間壓縮,此意謂時間資訊可能不用於寫碼視訊資料。與此對比,其他視訊寫碼標準可在其視訊寫碼技術中使用圖框間壓縮。
大體而言,本發明係關於改良視訊壓縮技術之技術。更具體而言,本發明係關於用於子串流多工之系統及方法,子串流多工藉由允許解碼器並行地解碼兩個或多於兩個子串流而促進較高輸貫量。在一些實例中,本發明描述可縮減用於顯示器串流壓縮編解碼器(例如,VDC-M)之編碼器子串流多工器中之平衡先進先出(FIFO)緩衝器之大小的技術。縮減平衡FIFO之大小會引起VDC-M編解碼器或可使用子串流多工之其他編解碼器之硬體實施方案中的所需RAM縮減。
雖然本文中在DSC及/或VDC-M標準之內容背景中描述某些實例,但一般技術者應瞭解,本文中所揭示之系統、器件及方法可適用於任何合適視訊寫碼標準。舉例而言,本文中所揭示之實例技術可適用於以下標準中之一或多者:國際電信聯盟(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)、高效率視訊寫碼(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及/或VDC-M之視訊壓縮標準而操作。替代地,視訊編碼器20及視訊解碼器30可根據諸如以下各者之其他專屬或業界標準而操作:ITU-T H.264標準,被替代地稱作MPEG-4, Part 10;AVC;HEVC;或此等標準之延伸。然而,本發明之技術並不限於任何特定寫碼標準,且可應用於使用恆定位元速率緩衝器模型之任何視訊壓縮技術。視訊壓縮標準之其他實例包括MPEG-2及ITU-T H.263。
儘管圖1A至圖1B之實例中未展示,但視訊編碼器20及視訊解碼器30可各自與音訊編碼器及解碼器整合,且可包括適當MUX-DEMUX單元或其他硬體及軟體,以處置共同資料串流或單獨資料串流中之音訊及視訊兩者之編碼。適用時,在一些實例中,MUX-DEMUX單元可符合ITU H.223多工器協定,或諸如使用者資料報協定(UDP)之其他協定。
視訊編碼器20及視訊解碼器30各自可被實施為多種合適編碼器及/或解碼器電路系統中之任一者,諸如一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。當該等技術部分地以軟體實施時,一器件可將用於該軟體之指令儲存於合適的非暫時性電腦可讀媒體中,且使用一或多個處理器在硬體中執行該等指令以執行本發明之技術。視訊編碼器20、視訊解碼器30中之每一者可包括於一或多個編碼器或解碼器中,該一或多個編碼器或解碼器中之任一者可被整合為各別器件中之組合式編碼器/解碼器之部分。
最近由VESA定案之當代3:1 DSC v1.0解決方案之實例可能不足以驅動未來市場要求(例如,行動市場要求),尤其是對於諸如4K之高解析度顯示器。因此,為了應對未來需求,VESA發行了呼叫請求科技(call for technology;CfT),以便開發以4:1及更高之壓縮比為目標的下一代DSC解決方案。
圖1A及圖1B之視訊編碼器20及視訊解碼器30為本發明之DSC及/或VDC-M寫碼器之實例。在一些實例中,視訊編碼器20及視訊解碼器可根據測試模型或軟體模型而操作,該測試模型或軟體模型可指內容寫碼器可經組態以寫碼資料所根據的壓縮協定、演算法、標準或其類似者。在一些實例中,本文中所描述之一或多種技術及/或益處係關於VDC-M測試模型。
視訊編碼器20及視訊解碼器30可經組態以運用基於區塊之途徑(其中區塊大小為P × Q)寫碼視訊資料,且可經組態以運用複數個寫碼模式中之一或多者寫碼視訊資料。亦即,視訊編碼器20及視訊解碼器30可經組態以寫碼被劃分成樣本區塊之視訊資料圖框。在一些實例中,用於每一區塊之可用寫碼模式可包括變換模式(例如,離散餘弦變換(DCT)、哈達馬(Hadamard)變換等等)、區塊預測(BP)模式、BP跳過模式、微分脈碼調變(DPCM)模式、型樣模式、中點預測(MPP)模式,及/或中點預測後援(MPPF)模式。視訊編碼器20可經組態以判定待使用之寫碼模式,且可將指示待使用之寫碼模式的語法元素傳信至視訊解碼器30。在本發明之內容背景中,語法元素大小可指用以編碼及解碼用於單一區塊之單一子串流之資料值的位元數目。在一個實例中,語法元素可指單一區塊中之單一分量資料值,此係因為每一分量可屬於一單獨子串流。
若干寫碼模式可用於寫碼器(例如,視訊編碼器20及/或視訊解碼器30)中,以便有效地壓縮不同類型之內容或影像。在一些實例中,視訊編碼器20及視訊解碼器30可使用多個不同寫碼模式以用於寫碼一個視訊資料圖框之區塊。舉例而言,可藉由型樣模式有效地壓縮文字影像,而可藉由變換模式更有效地捕捉自然影像。
在一些實例中,視訊編碼器20可經組態以基於速率控制機構自複數個寫碼模式選擇用於每一區塊之寫碼模式。舉例而言,視訊編碼器20可經組態以藉由考慮以下兩者來判定用於每一區塊之寫碼模式:藉由使用寫碼而達成之位元速率,及運用彼寫碼模式而寫碼之區塊之總失真。在一些實例中,速率控制機構係由緩衝器模型支援。在一個實例中,編解碼器(例如,視訊編碼器20及視訊解碼器30)之設計要求可能為,視訊編碼器20之輸出緩衝器永不處於反向溢位(例如,在緩衝器中少於零個位元)或溢位(例如,相比於傳輸之前的預定最大大小已編碼較多資料)狀態。因此,視訊編碼器20可判定某些寫碼模式不可用,此係因為該等寫碼模式造成輸出緩衝器處於反向溢位或溢位狀態。
當寫碼一區塊時,若給定區塊中之色彩分量之所有值皆為零,則視訊編碼器20可使用跳過模式有效地編碼色彩分量。在跳過模式寫碼中,視訊編碼器20可將1位元旗標傳信至視訊解碼器30以指示使用跳過模式(例如,若所有值皆為零)抑或不在跳過模式中(例如,若一區塊中之至少一個值為非零)寫碼當前區塊。在跳過模式中,當當前區塊之色彩分量之所有值皆為零時,視訊編碼器20可將1位元旗標傳信至視訊解碼器30,且視訊編碼器20可制止寫碼該區塊之色彩分量之值(亦即,可跳過該區塊之色彩分量之值的寫碼)。跳過模式亦可應用於大小小於一區塊之色彩分量的值群組,或應用於多個區塊之群組。跳過模式亦可單獨地應用於一區塊之每一色彩分量,例如,當當前區塊之色彩分量之所有值為零時,跳過模式可應用於當前區塊之色彩分量之值。在一些實施方案中,跳過模式可應用於一群組或區塊之所有色彩分量。
如上文大體上所描述,視訊編碼器20經組態以編碼視訊資料。視訊資料可包含一或多個圖像。該等圖像中之每一者為形成視訊之部分的靜態影像。在一些情況下,圖像可被稱作視訊「圖框」。當視訊編碼器20編碼視訊資料時,視訊編碼器20可產生位元串流。位元串流可包括形成視訊資料之經寫碼表示的一連串位元。位元串流可包括經寫碼圖像及關聯資料,包括一或多個語法元素。經寫碼圖像為圖像之經寫碼表示。
為了產生位元串流,視訊編碼器20可對視訊資料中之每一圖像執行編碼操作。當視訊編碼器20對圖像執行編碼操作時,視訊編碼器20可產生一系列經寫碼圖像及關聯資料。關聯資料可包括諸如量化參數(QP)之一組寫碼參數。為了產生經寫碼圖像,視訊編碼器20可將圖像分割成相等大小之視訊區塊。視訊區塊可為樣本之二維陣列。樣本可為指示像素之色彩的資料。在一些實例中,像素之色彩可由一明度分量(例如,Y)及一或多個色度分量(例如,紅色及藍色色度(Cr及Cb)或橙色及綠色色度(Co及Cg))表示。在其他實例中,視訊編碼器20可經組態以寫碼具有呈紅色、綠色、藍色(RGB)色彩格式之像素的視訊資料。寫碼參數可定義用於視訊資料區塊之寫碼模式。可個別地針對每一視訊資料區塊或針對區塊群組指定寫碼模式。可判定寫碼模式以便達成所要速率-失真效能。
在一些實例中,視訊編碼器20可將圖像分割成複數個截塊。該等截塊中之每一者可包括影像(例如,圖框)中之空間相異區域,其可在無來自影像或圖框中之其餘區域之資訊的情況下被獨立地編碼或解碼。每一影像或視訊圖框可以單一截塊被編碼,或每一影像或視訊圖框可以若干截塊被編碼。在DSC及/或VDC-M之實例中,經分配以編碼每一截塊之目標位元可實質上恆定。作為對圖像執行編碼操作之部分,視訊編碼器20可對圖像之每一截塊執行編碼操作。當視訊編碼器20對截塊執行編碼操作時,視訊編碼器20可產生與截塊相關聯之經編碼資料。與截塊相關聯之經編碼資料可被稱作「經寫碼截塊」。
圖2A為繪示可實施根據本發明中所描述之態樣之技術的視訊編碼器20之實例的方塊圖。視訊編碼器20可經組態以執行本發明之技術中之一些或全部。在一些實例中,本發明中所描述之技術可由視訊編碼器20之各種組件執行。在一些實例中,另外或替代地,處理器(未圖示)可經組態以執行本發明中所描述之技術中之一些或全部。出於闡釋之目的,本發明在DSC及/或VDC-M寫碼之內容背景中描述視訊編碼器20。然而,本發明之技術可適用於其他寫碼標準或方法,包括使用CBR緩衝器模型之其他視訊寫碼技術。
在圖2A之實例中,視訊編碼器20包括複數個組件。視訊編碼器20之組件包括:色彩空間轉換器105;緩衝器110;平坦度偵測器115;速率控制器120;預測器、量化器及重建構器組件125;行緩衝器130;索引色彩歷史135;熵編碼器140;子串流多工器145;及速率緩衝器150。在其他實例中,視訊編碼器20可包括更多、更少或不同的組件。
色彩空間轉換器105可經組態以接收視訊資料且將視訊資料之輸入色彩空間轉換成用於寫碼實施方案中之色彩空間。舉例而言,在一個例示性實施例中,輸入視訊資料之色彩空間可位於RGB色彩空間中,而由視訊編碼器20執行之寫碼程序實施於明度Y、色度綠色Cg及色度橙色Co (YCoCg)色彩空間中。色彩空間轉換器105可經組態以使用任何技術執行色彩空間轉換,該技術包括移位及與視訊資料之相加。應注意,可處理其他色彩空間中之輸入視訊資料,且亦可執行至其他色彩空間之轉換。若不需要至不同色彩空間之轉換,則可略過色彩空間轉換器105。
視訊編碼器20亦可包括緩衝器110、行緩衝器130及/或速率緩衝器150。緩衝器110、行緩衝器130及/或速率緩衝器150可包含記憶體或資料儲存媒體,諸如隨機存取記憶體(RAM)、同步動態隨機存取記憶體(SDRAM)、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、FLASH記憶體、快取記憶體、磁性或光學資料儲存媒體,及其類似者。
緩衝器110可經組態以在經色彩空間轉換視訊資料被視訊編碼器20之其他組件使用之前儲存經色彩空間轉換視訊資料。在另一實例中,緩衝器110可將視訊資料儲存於RGB色彩空間中,且可視需要而執行色彩空間轉換,此係由於經色彩空間轉換資料可能需要較多位元。
速率緩衝器150可用作視訊編碼器20中之速率控制機構之部分,下文將結合速率控制器120更詳細地描述速率緩衝器150。編碼每一區塊所耗費之位元可實質上基於特定區塊之性質而高度地變化。速率緩衝器150可使經壓縮視訊之速率變化平滑。在一些實例中,視訊編碼器20可使用CBR緩衝器模型,其中以恆定位元速率自速率緩衝器150取出位元。在CBR緩衝器模型中,若視訊編碼器20將過多的位元添加至位元串流,則速率緩衝器150可能會溢位。另一方面,視訊編碼器20可經組態以添加足夠的位元以便防止速率緩衝器150之反向溢位。在一些實例中,當速率緩衝器充滿度接近其最大大小時,視訊編碼器20可經組態以增大QP以便防止溢位。當速率緩衝器充滿度接近空時,視訊編碼器20可經組態以將零個位元填塞至速率緩衝器150中以防止反向溢位。速率緩衝器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之量化步長。量化步長之經導出值未必為二冪,例如,經導出量化步長亦可為非二冪。速率控制器120可基於速率緩衝器150之緩衝器充滿度及視訊資料之影像活動(例如,自複雜區域至平坦區域之轉變或反之亦然)調整QP,以便最大化針對目標位元速率之圖像品質,此確保速率緩衝器150不會溢位或反向溢位。速率控制器120亦可經組態以針對視訊資料之每一區塊判定特定寫碼選項(例如,特定寫碼模式),以便達成所要速率-失真效能。速率控制器120最小化經重建構影像之失真,使得其滿足位元速率約束,例如,總實際寫碼速率在目標位元速率內。因此,速率控制器120之一個目的係判定一組寫碼參數,諸如QP、寫碼模式等等,以滿足對速率之瞬時及平均約束,同時最大化速率-失真效能。
預測器、量化器及重建構器組件125可執行視訊編碼器20之各種編碼操作。舉例而言,預測器、量化器及重建構器組件125可在數個不同寫碼模式中執行預測寫碼程序(例如,預測模式)。一個實例預測模式為中位調適性預測之經修改版本。中位調適性預測可由無損JPEG標準(JPEG-LS)實施。可由預測器、量化器及重建構器組件125執行之中位調適性預測之經修改版本可允許並行地預測三個連續樣本值。另一實例預測模式為區塊預測。在區塊預測中,經當前編碼區塊之樣本係自在與經當前編碼樣本所處之行係同一個的行上方或左側的行中的經先前重建構像素被預測。在一些實例中,視訊編碼器20及視訊解碼器30可皆對經重建構像素執行相同搜尋以判定區塊預測使用情況,且因此不需要在區塊預測模式中發送位元。在其他實例中,視訊編碼器20可在位元串流中執行搜尋且傳信區塊預測向量,使得視訊解碼器30不需要執行單獨搜尋。區塊預測向量指示用以執行預測的經先前編碼區塊之樣本的位置。區塊預測向量可被表示為相對於經當前寫碼區塊及/或樣本在x方向及y方向兩者上之偏移。預測器、量化器及重建構器組件125亦可經組態以執行中點預測模式,其中使用分量範圍之中點預測樣本。中點預測模式可使能夠界限甚至最差狀況樣本中之經壓縮視訊所需要的位元數目。
在一些實例預測模式中,預測器、量化器及重建構器組件125可產生預測殘餘。預測殘餘可為預測性視訊資料區塊之樣本值與正被寫碼之視訊資料區塊之樣本值之間的差。如下文將論述,可量化且可進一步壓縮預測殘餘,例如,使用熵編碼技術。
預測器、量化器及重建構器組件125可經進一步組態以執行量化。舉例而言,預測器、量化器及重建構器組件125可經由可使用移位器而實施之2冪量化器執行量化。應注意,可代替2冪量化器而實施其他量化技術。由預測器、量化器及重建構器組件125執行之量化可基於由速率控制器120判定之QP。預測器、量化器及重建構器組件125亦執行重建構,包括將經反量化殘餘與經預測值相加,及確保結果不會超出樣本值之有效範圍。預測器、量化器及重建構器組件125可基於由速率控制器120判定之QP執行量化操作。
應注意,由預測器、量化器及重建構器組件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及/或VDC-M寫碼之內容背景中描述視訊解碼器30。然而,本發明之技術可適用於其他寫碼標準或方法。
在圖2B之實例中,視訊解碼器30包括複數個功能組件。視訊解碼器30之功能組件包括:速率緩衝器155;子串流解多工器160;熵解碼器165;速率控制器170;預測器、量化器及重建構器組件175;索引色彩歷史180;行緩衝器185;及色彩空間轉換器190。視訊解碼器30之所繪示組件類似於上文結合圖2A中之視訊編碼器20所描述的對應組件。因而,視訊解碼器30之組件中之每一者可以與如上文所描述之視訊編碼器20之對應組件之方式相似但互逆的方式而操作。
行緩衝器185及/或速率緩衝器155可包含記憶體或資料儲存媒體,諸如RAM、SDRAM、ROM、NVRAM、EEPROM、FLASH記憶體、快取記憶體、磁性或光學資料儲存媒體,及其類似者。速率緩衝器155可經組態以接收經壓縮視訊(例如,自視訊編碼器20),且用作視訊解碼器中之速率控制機構之部分。解碼每一區塊所耗費之位元可實質上基於特定區塊之性質而高度地變化。速率緩衝器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可經組態以將用於寫碼實施方案中之色彩空間轉換成輸出色彩空間以輸出視訊。舉例而言,在一個例示性實施例中,輸出視訊資料之色彩空間可位於RGB色彩空間中,而由視訊解碼器30執行之寫碼程序實施於YCoCg色彩空間中。可使用任何技術執行色彩空間轉換,該技術包括移位及與視訊資料之相加。應注意,可處理其他色彩空間中之輸出視訊資料,且亦可執行至其他色彩空間之轉換。
以下章節將更詳細地論述用於DSC及/或VDC-M寫碼之額外技術。在用於DSC及/或VDC-M之一個實例中,可基於以下方程式導出或計算(例如,由速率控制器120)用於當前區塊之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而變,使得QpAdj隨著diffBits之量值增大而單調地增大。
現在將參考圖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值。
在其他態樣中,視訊編碼器20可基於速率緩衝器150之充滿度(其可按照緩衝器充滿度BF而表示)調整currQP值,以便防止緩衝器之反向溢位及/或溢位。詳言之,當BF超過某一臨限值(例如,P1
)時,視訊編碼器20可將currQP之值遞增固定偏移值(例如,p1
)。舉例而言,視訊編碼器20可如下調整值currQP:currQP += p1
。此外,當BF降至低於某一臨限值(例如,Q1
)時,視訊編碼器20可將currQP遞減q1
,例如, currQP -= q1
。在某些態樣中,可使用複數個臨限值,且對於每一臨限值,可存在對應偏移值以調整currQP。當自複雜區域至平坦區域之轉變被識別時或當平坦區域被識別時,視訊編碼器20可將currQP設定為低值(例如,低於所定義之currQP值的值),如下文進一步詳細地所描述。
返回參看圖2A及圖2B,熵編碼器140及熵解碼器165可應用各種類型之熵寫碼技術。在一個實例中,可使用差量大小單元-可變長度寫碼(DSU-VLC)。在DSU-VLC中,視訊編碼器20可使用首碼及尾碼部分編碼K長度樣本向量(被定義為「群組」)之經量化殘餘值。此處,樣本係指單一色彩分量中之值。舉例而言,對於RGB 444色彩空間,每一像素具有三個樣本。首碼部分可指示在尾碼部分之後的殘餘值之大小(該大小被表示為B個位元),且尾碼部分可指示單元中之所有樣本之實際殘餘值。舉例而言,可使用相同數目個位元而以二的補碼來寫碼群組中之K個殘餘值。
參考圖4A,展示用於具有K=4個樣本(樣本S0、S1、S2及S3)之向量400的實例DSU-VLC結構。視訊編碼器20之熵編碼器140可包括經組態以編碼向量400之DSU-VLC單元402。當寫碼向量400時,DSU-VLC單元402可產生指示尾碼406之大小的首碼404。DSU-VLC單元402可進一步產生編碼具有相同長度之向量400之每一樣本值的尾碼406 (例如,尾碼1、尾碼2、尾碼3、尾碼4)。
作為一實例,在使用二的補碼表示的情況下,用以寫碼具有值[1, -2, -1, 0]的四個樣本之群組的大小可為B = 2個位元。圖4B中展示DSU-VLC碼之實例,其中001表示首碼之一元碼,且[01, 10, 11, 00]分別表示使用兩個位元之實際經寫碼樣本值。藉由解碼首碼——通常係在單一時脈中進行,可解碼所有四個符號。
在另一實例中,可實施高輸貫量熵寫碼技術(例如,經由視訊編碼器20之熵編碼器140及/或視訊解碼器30之熵解碼器165)以提供例如四個樣本/時脈之輸貫量。高輸貫量熵寫碼技術可涉及將給定區塊(例如,具有區塊大小P × Q)內之樣本之經量化殘餘分割成N個群組,且接著使用DSU-VLC寫碼群組樣本。將樣本區塊分割成N個群組可均一或非均一。
在均一分組之情況下,N個群組各自具有相等數目個樣本,且該等樣本可用於BP模式、DPCM模式等等中。圖5繪示均一分組之實例途徑,其中將經量化殘餘區塊值之2 × 8區塊500分割成四個群組,其中每一群組具有四個樣本。在非均一分組(未繪示)之情況下,每一群組中之樣本數目可不同,且該等樣本可用於變換模式中。
針對DSC及VDC-M已提議用於子串流多工(SSM)之技術。大體而言,SSM涉及基於共同特性(例如,每一色彩分量可為一子串流)將經編碼視訊資料位元串流斷裂成子串流。在一個實例中,可實施無標頭SSM技術以使用例如固定長度字(例如,多工器字)將多個子串流多工成單一串流。亦即,視訊編碼器20可經組態以傳輸固定大小(例如,如由語法muxWordSize所指示)之封包(例如,多工器字)。可導出多工器字且將多工器字置放於單一串流中,使得解碼器可並行地解碼多個子串流。
在一個實例中,可將視訊資料之每一色彩分量視為一子串流,例如,明度(Y)、色度橙色(Co)及色度綠色(Cg),使得存在總共三個子串流。在相關態樣中,多工器字大小(muxWordSize)可取決於每分量所使用之位元數目(bpc),例如,對於8 bpc及10 bpc為48個位元,對於12 bpc為64個位元等等。在另外相關態樣中,多工器字大小可被設定為大於或等於最大語法元素大小(maxSeSize),其中maxSeSize係指用於一個群組之單一分量經壓縮資料值之最大可能大小。此意謂視訊解碼器30可經組態以向每一子串流請求至多一個多工器字以便解碼單一群組。
圖6A繪示用於在編碼器(例如,視訊編碼器20之子串流多工器145)處執行SSM之一或多個實例態樣的組件。在編碼器側上,SSM可涉及針對儲存多個經編碼資料群組(例如,每一群組含有3個像素)之每一子串流使用平衡先進先出(FIFO)途徑。隨著導出多工器字以促進並行解碼,可在視訊編碼器20處實施解多工器模型206。圖6B繪示用於在解碼器(例如,視訊解碼器30處之子串流解多工器160)處執行SSM之一或多個實例態樣的組件。在解碼器側上,解多工器模型可包括三個或多於三個漏斗移位器(例如,對於每一子串流有一漏斗移位器),及並行地解碼色彩分量之熵解碼器165A、165B、165C (對於每一子串流有一個熵解碼器)。熵解碼器165A、165B、165C可為圖2B之熵解碼器165之部分。漏斗移位器與熵解碼器之組合可被稱為子串流處理器(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)接收到多個請求。在此等情境中,可以特定次序將經請求多工器字置放至速率緩衝器150中(例如,其中Y被給予最高優先級,接著為Co,且隨後為Cg)。多工器204可經組態以基於解多工器模型206以特定次序將多工器字置放至速率緩衝器150中。解多工器模型206為SSM程序係如何由視訊解碼器30實行之模型。以此方式,視訊編碼器20可判定視訊解碼器30將以哪一次序請求多工器字(例如,來自特定子串流之多工器字的次序),且多工器204可接著基於由解多工器模型206供應之經判定次序將多工器字置放於速率緩衝器150中。
可預定或設定編碼器平衡FIFO 202之平衡FIFO大小以防止速率緩衝器150處之位元之溢位或反向溢位。大體而言,平衡FIFO大小可取決於maxSeSize與最小語法元素大小(minSeSize)之間的差,以及多工器字之大小(例如,如由變數muxWordSize所指示)。可預定最大及最小語法元素大小,且視訊編碼器20可經組態以寫碼視訊資料區塊,使得所選擇之寫碼模式引起用於每一子串流之語法元素介於最小語法元素大小與最大語法元素大小之間,最小語法元素大小及最大語法元素大小包括在內。
在一個實例中,在截塊開始時,可運用(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)熵解碼。
在一個實例SSM實施方案中,視訊編碼器20經組態以加強用於每一區塊之maxSeSize。若用於任何給定子串流之總語法超過用於給定寫碼模式之maxSeSize,則視訊編碼器20可經組態以在模式選擇期間不允許引起語法超過maxSeSize之寫碼模式。另外,中點預測(MPP)寫碼模式經設計以保證語法永不超過maxSeSize,使得至少一個模式將始終可用於模式選擇。藉由此機制,可針對不同使用狀況調諧maxSeSize。2017年6月8日申請之美國專利公開案第2017/0359583號中描述了SSM寫碼之一個實例。
伴隨一些實例DSC SSM技術之一個問題為,編碼器平衡FIFO (例如,編碼器平衡FIFO 202)之大小隨著maxSeSize與minSeSize之間的差而增長。再次,在本發明之內容背景中,語法元素大小可指用以編碼及解碼單一群組中之單一子串流之資料值的位元數目。在一個實例中,語法元素可指單一區塊中之單一分量資料值,此係因為每一分量可屬於一單獨子串流。如下文所描述而計算被給予maxSeSize及minSeSize參數之平衡FIFO大小。
視訊編碼器20可經組態以在截塊開始時等待延遲時間(ssmDelay),按照區塊時間之數目。在此時間期間,視訊編碼器20將位元置放至SSM平衡FIFO (例如,編碼器平衡FIFO 202)中,但不移除位元。基本上,此為用以確保在傳輸開始之前足夠的位元存在於SSM平衡FIFO中的緩衝時段。為了確保SSM平衡FIFO不會反向溢位,視訊編碼器20在傳輸可開始之前將以下數目個位元(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)
由於針對包括VDC-M之一些實例DSC技術使用多個子串流,故每平衡FIFO具有40 kbit之RAM的硬體成本係不合意的。對於DSCv1.x,平衡FIFO大小很小,此係因為maxSeSize很小(例如,36個位元)——具有3個樣本之小群組大小的DSCv1.x之結果。對於VDC-M或其他實例視訊編解碼器,maxSeSize可能歸因於使用較大區塊大小(例如,8×2樣本)而較大(例如,126或142個位元)。
本發明描述引起編碼器平衡FIFO之大小要求(balanceFifoSize)減低的SSM編碼技術。在一個實例中,可藉由根據大於1之最小語法元素大小(minSeSize)執行SSM來減小balanceFIFOSize。舉例而言,視訊編碼器20可經組態以判定用於寫碼視訊資料區塊之寫碼模式,使得針對子串流中之每一者的最小語法元素大小為至少兩個位元大小。在一個實例中,視訊編碼器20可經組態以不允許針對至少一個子串流產生小於兩個位元之語法元素的任何寫碼模式。在另一實例中,視訊編碼器20可經組態以編碼用於所有可用寫碼模式之語法元素,使得運用每一寫碼模式針對每一子串流所產生之最小語法元素大小為兩個位元或更大。
在一個實例中,將minSeSize自一個位元增大至兩個位元。藉由進行此操作,可將balanceFifoSize縮減大約50%。為了保證為2之minSeSize,視訊編碼器20可經組態以加強位元串流語法改變,如下文所描述。另外,本發明描述SSM技術以藉由關於四種子串流DSC技術編碼一或多個額外子串流來增大4:2:2及4:2:0色度子取樣格式源內容之解碼輸貫量。本發明亦描述對SSM技術之進一步修改以縮減針對具有非均一maxSeSize之子串流的balanceFifoSize。
在本發明之一種實例SSM技術中,將minSeSize增大為超過1個位元。在一個實例中,視訊編碼器20經組態以針對2個位元之minSeSize執行SSM技術。藉由進行此操作,會縮減所需balanceFifoSize。此可藉由再訪之前的實例而展示。 「requiredBits」 = (「maxSeSize」 + 「muxWordSize」 -1) = (142+144-1) = 285 「ssmDelay」 = ceil(「requiredBits」 / 「minSeSize」) = ceil(285/2) = 143 「balanceFifoSize」 = 「ssmDelay」 * 「maxSeSize」 = 143 * 142 = 20306 (大約20 kbits)
因此,藉由將minSeSize增大一個位元,將balanceFifoSize縮減稍微小於一半。對於甚至更大的minSeSize (例如,3個位元或更多),此傾向將會繼續。然而,在一些實例中,增大minSeSize可能會在minSeSize之較大大小下對寫碼效率產生負面影響。出於此原因,本發明提議將minSeSize = 2用作效能與平衡FIFO大小之間的良好取捨。若較小平衡FIFO大小比寫碼效率更有價值,則可使用minSeSize之較大值。
在本發明之一個實例中,為了加強為二之最小語法元素大小,視訊編碼器20可經組態以不允許針對任何子串流產生小於兩個位元之語法元素的任何寫碼模式。舉例而言,視訊編碼器20之速率控制器120可經組態以判定將用以編碼視訊資料區塊之寫碼模式。如上文所描述,速率控制器120可使用速率-失真模型判定寫碼模式。另外,速率控制器120可基於預定最大語法元素大小(maxSeSize)及最小語法元素判定是否使用寫碼模式。舉例而言,速率控制器120可經組態以不允許(例如,不使用)針對子串流中之任一者產生大於maxSeSize之語法元素的任何寫碼模式。另外,速率控制器120可經組態以不允許(例如,不使用)針對子串流中之任一者產生小於minSeSize之語法元素的任何寫碼模式。在一些實例寫碼模式中,用於子串流中之一者的語法元素之大小在編碼之後可能小於二。速率控制器120可經組態以不允許此寫碼模式。
在本發明之其他實例中,視訊編碼器20可經組態以針對所有可用寫碼模式應用語法改變以確保對於所有子串流之所有區塊,minSeSize為至少兩個位元。亦即,視訊編碼器20可經組態以針對視訊編碼器20經組態以使用之任何寫碼模式編碼每子串流至少兩個位元。用於DSC之一些寫碼模式及其他CBR視訊編解碼器可能不符合此約束。在本發明之實例中,視訊編碼器20可經組態以針對變換模式、區塊預測(BP)及BP-SKIP模式應用語法改變(亦即,使用特定語法結構寫碼視訊資料),使得對於所有子串流,minSeSize始終為兩個位元或更大。MPP及MPPF模式已經根據設計而保證此約束,此係由於此等模式將殘餘均勻地分佈於所有子串流當中。不需要進行改變來保證針對子串流0 (亦即,具有標頭及模式資訊之子串流),minSeSize大於或等於二,此係由於每一區塊將針對區塊標頭及平坦度標頭在子串流0中包括至少兩個語法位元。下文參考圖13至圖19更詳細地描述子串流0至3中所含有之實例資料。
在變換模式中,視訊編碼器20可經組態以在子串流0中編碼標頭資訊(例如,模式傳信及平坦度傳信)、框內預測索引及/或變換分割區索引。視訊編碼器20可在子串流1、2及3中編碼來自三個色彩分量(例如,分別為Y、Co及Cg)之經寫碼資訊。子串流1包括用於Y色彩分量之經寫碼資訊。子串流2包括用於Co色彩分量之經寫碼資訊。子串流3包括用於Cg色彩分量的經寫碼資訊。
在子串流1、2及3中之經寫碼資訊當中的為用於每一色彩分量之熵寫碼群組。熵寫碼(EC)群組可用於變換寫碼模式及區塊預測寫碼模式兩者。對於區塊預測寫碼模式,EC群組可包括經量化預測殘餘。預測殘餘為正被寫碼之區塊之色彩分量與預測性區塊之色彩分量之間的差。經量化預測殘餘可在被置放於子串流中之前由熵編碼器140熵寫碼。對於變換寫碼模式,EC群組包括在將變換(例如,離散餘弦變換)應用於區塊之特定色彩分量之後產生的變換係數。變換係數可被量化。熵寫碼群組中之變換係數可在被置放於子串流中之前由熵編碼器140熵寫碼。另外,在子串流2及3中之經寫碼資訊當中的為分量跳過旗標。分量跳過旗標可用以指示關聯色彩分量之所有值針對特定區塊是否為零。在此狀況下,針對彼特定色彩分量,熵寫碼群組中將不存在資料。
為了保證對於變換模式,minSeSize大於或等於二,視訊編碼器20可經組態以在變換模式中寫碼資料時針對子串流2及3修改用於分量跳過旗標之語法寫碼。如上文所論述,子串流2及3與兩個色度分量(Co/Cg或Cb/Cr,此取決於源色彩空間)對應。子串流1 (例如,明度(Y)子串流)不需要語法改變,此係因為用於此分量之最小可能語法歸因於缺乏分量跳過旗標而為四個位元。
視訊編碼器20可經組態以針對子串流2及3進行以下語法改變。若分量跳過模式不在作用中(亦即,將寫碼及傳信至少一個熵寫碼資料群組),則可運用值「0」傳信分量跳過旗標。在此狀況下,將在熵寫碼群組中發送至少一個位元,此保證總共至少2個位元。若分量跳過在作用中(亦即,針對彼色彩分量,熵寫碼群組中不存在資料),則將運用兩個或多於兩個位元(例如,運用值「11」)傳信分量跳過旗標。由於分量跳過旗標為在分量跳過之情況下用於此子串流之唯一語法,故旗標大小自1個位元(例如,「1」)至2個位元(例如,「11」)之增大足以保證minSeSize。
為了保證對於BP及BP-SKIP模式,minSeSize大於或等於2,視訊編碼器20可經組態以在四個子串流當中重新配置區塊預測向量(BPV),如圖7所展示。如圖7中之語法結構700所展示,用於BP模式之子串流0可包括模式標頭、平坦度標頭、區塊預測向量(BPV)表,及用於正被寫碼之區塊之四個2×2子區塊(SB0
、SB1
、SB2
及SB3
)中之每一者的BPV。模式標頭可介於0與4個位元之間。平坦度標頭可介於1與3個位元之間。BPV表為指定當前區塊(例如,8×2)內之每一2×2子區塊是否運用1或2個BPV被寫碼的4位元欄位。舉例而言,若BPV表之第一位元為「0」,則單一BPV (5/6個位元)將存在於用於子區塊0之語法中。若位元代替地為「1」,則兩個BPV (10/12個位元)將存在於用於子區塊0之語法中。相同邏輯應用於子區塊1、2及3。因此,用於四個子區塊之BPV中之每一者的長度可為6或12個位元。在另一實例中,BPV表中之「0」位元可指定2個BPV,而「1」位元指定單一BPV。在一個實例BP實施方案中,用於所有子區塊之BPV表及所有BPV處於子串流0中。此展示於圖7之頂部中。
在語法結構700中,子串流1包括用於Y色彩分量之EC群組,子串流2包括用於Co色彩分量之EC群組,且子串流3包括用於Cg色彩分量之EC群組。在BP模式中,EC群組包括根據自由各別BPV識別之預測性區塊之樣本預測當前區塊之子區塊而產生的經量化殘餘資料。在一些實例中,用於特定子串流之EC群組可包括小於兩個位元。此情形可發生於用於分量之所有經量化殘餘為零時。在此狀況下,1位元分量跳過旗標將用於該分量。
在語法結構702中之提議BPV分佈(圖7之底部)中,視訊編碼器20在子串流0中編碼BPV表,連同用於子區塊0之BPV。然而,視訊編碼器20經組態以在子串流1至3中編碼用於子區塊1至3之BPV。由於BPV中之每一者為至少5個位元,故語法結構702將保證所有子串流具有大於2個位元之minSeSize。
在另一實例中,BPV表亦分佈於可用子串流當中(參見圖8)。圖8之語法結構704展示BPV表針對子區塊0至3中之每一者被劃分成個別項目(例如,A0至A3)。由於BPV分佈保證至少為二之minSeSize,故任何分量跳過旗標可針對BP模式保持不變。舉例而言,作用中分量跳過被傳信為「1」,且非作用中分量跳過被傳信為「0」。
在本發明之另一實例中,視訊編碼器20可經預組態有可基於所要經壓縮位元速率而選擇之變數maxSeSize。對於低壓縮比,視訊編碼器20可經組態有相對較大maxSeSize,此係因為位元串流被預期為含有較大語法元素。視訊編碼器20可經組態為針對較高壓縮比具有相對較小maxSeSize。藉由將minSeSize自1增大至2,可實現圖9之表1中所展示的平衡FIFO大小縮減。因而,在圖9中可看出,可基於預組態maxSeSize及minSeSize兩者判定編碼器平衡FIFO大小。
在至此所論述之子串流多工器設計之另一實例中,可使用五個子串流而非四個來增大針對4:2:2/4:2:0色度子取樣資料之解碼器輸貫量。在一個實例中,圖10中展示分量資料至子串流中之分佈。語法結構800展示將四個子串流用於4:4:4 RGB資料。語法結構802展示將四個子串流用於4:2:2 YCbCr資料。用於每一分量k之資料被映射至子串流(k+1)。
對於4:2:2源內容,代替地可組織資料,如圖11之語法結構804中所展示。在給出兩個鄰近8×2區塊(亦即,區塊N及區塊N+1)之情況下,總分量資料將如下: Y資料:2×(8×2)=32個「樣本」 Cb資料:2×(4×2)=16個「樣本」 Cr資料:2×(4×2)=16個「樣本」
如語法結構804中所展示,視訊編碼器20可在子串流0 (SSM0)中編碼寫碼模式特定資訊。視訊編碼器20可在子串流1 (SSM1)中編碼區塊N之明度資料(Y),且可在子串流2 (SSM2)中編碼區塊N+1之明度資料(Y)。視訊編碼器20可在子串流3 (SSM3)中編碼用於區塊N及區塊N+1兩者之藍色色度資料(Cb)。視訊編碼器20可在子串流4 (SSM4)中編碼用於區塊N及區塊N+1兩者之紅色色度資料(Cr)。藉由在兩個子串流之間分裂明度資料,針對四個子串流SSM1至SSM4中之每一者將存在總共16個分量資料樣本。又,針對寫碼模式特定資訊考慮SSM0會給出總共五個子串流。在此設計中,視訊解碼器30在單一區塊時間期間有效地解碼兩個區塊;藉此使輸貫量加倍。相同想法可直接應用於4:2:0源資料。
在本發明之另一實例中,若某些子串流具有較小maxSeSize,則可針對彼等子串流進一步縮減編碼器平衡FIFO之大小。舉例而言,在某些情況下,相比於子串流1至3,針對子串流0之可能語法大小可較小。考慮例如以下狀況:對於子串流0,maxSeSize=126,且對於子串流1至3,maxSeSize=142。在此狀況下,可縮減用於子串流0之平衡FIFO。然而,亦可能有益的是針對所有子串流維持恆定延遲,以避免額外緩衝問題。在圖12中,針對子串流1至3之平衡FIFO大小將為20,306個位元(列A)。對於子串流0,平衡FIFO大小將為18,018個位元(列C)。可能有益的是避免列B之balanceFIFOSize,此係由於此可在子串流之間造成ssmDelay失配。因此,吾人可利用子串流之間的maxSeSize差將針對子串流0之所需平衡FIFO大小自20,306個位元縮減至18,018個位元(11.3%縮減)。
根據本發明之一或多個實例,可藉由考慮以下態樣而針對各種模式建構SSM中之子串流。
子串流之間可存在最小相依性,使得可並行地剖析及解碼所有子串流。即使存在某一相依性,亦早先在子串流中傳信相依資訊,使得可縮減等待時間或要徑。舉例而言,可首先在子串流0中傳信模式資訊位元,使得一旦子串流0被解碼,剩餘子串流就可將其用以剖析及解碼資訊。
在一個特定實施方案中,對於用於顯示器串流壓縮中之某些模式,可利用及建構四個子串流,如本文中所描述。在本實例中,區塊大小被假定為2×8 (寬度:8個像素,高度:2個像素)。
BP模式:如圖13之實例中所展示,對於BP模式,子串流0可含有標頭資訊(例如,模式傳信及平坦度傳信)、分割區資訊(例如,分割區表),及/或區塊預測向量。分割區資訊長度為4個位元,此指示每一2×2子區塊是否被進一步分割成1×2子區塊。子串流1、2及3可含有來自三個色彩分量(例如,分別為Y、Co及Cg)之經寫碼資訊。如上文所論述,在一些實例中,區塊預測向量可在BP模式中寫碼時分佈於所有四個子串流中。在其他實例中,區塊預測向量表可在BP模式中寫碼時分佈於所有四個子串流中。在其他實例中,區塊預測向量及區塊預測向量表兩者可在BP模式中寫碼時分佈於所有四個子串流中。舉例而言: 1)子串流0中之BPV表及BPV; 2)子串流0中之BPV表,分佈於所有四個子串流中之BPV;或 3)分佈於所有四個子串流中之BPV表及BPV。
變換模式:如圖14之實例中所展示,對於變換模式,子串流0可含有標頭資訊(例如,模式傳信及平坦度傳信)、框內預測索引,及/或變換分割區索引。子串流1、2及3可含有來自三個色彩分量(例如,分別為Y、Co及Cg)之經寫碼資訊。
MPP模式:如圖15之實例中所展示,對於MPP模式,子串流0可含有標頭資訊(例如,模式傳信及平坦度傳信)、用於MPP模式之色彩空間(例如,色彩空間轉換(CSC)),及/或來自三個色彩分量中之每一者之四個樣本。在一個實例中,四個樣本可為前四個樣本。子串流1、2及3可含有來自三個色彩分量中之剩餘十二個樣本的經寫碼資訊。取決於用於MPP模式之色彩空間,三個色彩分量可分別為例如Y、Co及Cg (或分別為R、G及B)。
BP跳過模式:BP跳過模式為BP模式之特殊狀況,其中不寫碼殘餘。圖16展示用於BP跳過模式之子串流。子串流0可含有標頭資訊(例如,模式傳信及平坦度傳信)、分割區資訊(例如分割區表)等等。區塊預測向量(BPV)相等地分佈於四個串流當中,其係自子串流0、1、2及3 (按次序)開始。作為一實例,當針對每一1×2子區塊寫碼BP向量時,將用於2×8之區塊大小的8個BP向量放於子串流中,如圖16之實例中所展示。
MPPF模式:MPPF模式為MPP模式之特殊狀況,其中使用固定大小量化器寫碼MPPF中之殘餘。又,在MPPF模式中,在輸入色彩空間中實行預測,而不應用任何色彩空間變換。如圖17之實例中所展示,可以與MPP模式中相似的方式建構用於MPPF之子串流,惟在MPPF模式中不存在對應於CSC之位元除外。
圖18為展示本發明之實例方法的流程圖。視訊編碼器20之一或多個結構組件可經組態以執行圖18之方法。
在本發明之一個實例中,視訊編碼器20可經組態以基於最小語法元素大小及最大語法元素大小自一或多個寫碼模式當中判定用於編碼視訊資料區塊之寫碼模式,其中最小語法元素大小大於1個位元(1800)。在本發明之一個實例中,最小語法元素大小為2個位元。視訊編碼器20可經進一步組態以根據經判定寫碼模式在複數個子串流中編碼視訊資料區塊以產生複數個經編碼視訊資料子串流(1802),及將複數個經編碼視訊資料子串流儲存於各別平衡FIFO緩衝器中(1804)。視訊編碼器20亦可在位元串流中多工複數個經編碼子串流以供傳輸至解碼器(1806)。
在本發明之另一實例中,為了在複數個子串流中編碼視訊資料區塊,視訊編碼器20可經進一步組態以進行以下操作:在複數個子串流中之第一子串流中編碼標頭資訊及模式資訊,標頭資訊指示區塊之寫碼模式或平坦度中之至少一者;在複數個子串流中之第二子串流中編碼視訊資料區塊之樣本之明度色彩分量;在複數個子串流中之第三子串流中編碼視訊資料區塊之樣本之第一色度分量;及在複數個子串流中之第四子串流中編碼視訊資料區塊之樣本之第二色度分量。
在本發明之另一實例中,當寫碼模式為變換模式時,視訊編碼器20可經進一步組態以在分量跳過在作用中之狀況下使用2個位元針對第三子串流及第四子串流編碼分量跳過旗標。在本發明之另一實例中,當寫碼模式為區塊預測模式或區塊預測跳過模式中之一者時,視訊編碼器20可經進一步組態以在複數個經編碼子串流中之每一者中編碼區塊預測向量。在本發明之另一實例中,當寫碼模式為區塊預測模式或區塊預測跳過模式中之一者時,視訊編碼器20可經進一步組態以在複數個經編碼子串流中之每一者中編碼區塊預測向量表。
在本發明之另一實例中,視訊資料區塊呈4:2:0或4:2:2色度子取樣格式。在此實例中,視訊編碼器20可經進一步組態以進行以下操作:在複數個子串流中之第一子串流中編碼標頭資訊及模式資訊,標頭資訊指示區塊之寫碼模式或平坦度中之至少一者;在複數個子串流中之第二子串流中編碼視訊資料區塊之樣本之明度色彩分量之第一部分;在複數個子串流中之第三子串流中編碼視訊資料區塊之樣本之明度色彩分量之第二部分;在複數個子串流中之第四子串流中編碼視訊資料區塊之樣本之第一色度分量;及在複數個子串流中之第五子串流中編碼視訊資料區塊之樣本之第二色度分量。
可使用多種不同科技及技術中之任一者表示本文中所揭示之資訊及信號。舉例而言,可藉由電壓、電流、電磁波、磁場或磁性粒子、光場或光學粒子或其任何組合來表示可貫穿以上描述而參考之資料、指令、命令、資訊、信號、位元、符號及碼片。
結合本文中所揭示之實施例而描述之各種說明性邏輯區塊及演算法步驟可被實施為電子硬體、電腦軟體或兩者之組合。為了清楚地說明硬體與軟體之此可互換性,上文已大體上在功能性方面描述了各種說明性組件、區塊及步驟。此功能性被實施為硬體抑或軟體取決於特定應用及強加於整個系統之設計約束。熟習此項技術者可針對每一特定應用而以變化之方式實施所描述之功能性,而但不應將此等實施決策解譯為造成脫離本發明之範疇。
本文中所描述之技術可以硬體、軟體、韌體或其任何組合實施。此等技術可實施於諸如以下各者之多種器件中之任一者中:一般用途電腦、無線通信器件手機,或積體電路器件,該等器件具有多個用途,包括應用於無線通信器件手機、汽車、電氣設備、穿戴式裝置及/或其他器件中。可將被描述為器件或組件之任何特徵一起實施於整合式邏輯器件中或單獨地實施為離散但可互操作的邏輯器件。若以軟體實施,則該等技術可至少部分地由包含程式碼之電腦可讀資料儲存媒體實現,該程式碼包括在執行時執行上文所描述之方法中之一或多者的指令。電腦可讀資料儲存媒體可形成電腦程式產品之部分,電腦程式產品可包括封裝材料。電腦可讀媒體可包含記憶體或資料儲存媒體,諸如隨機存取記憶體(RAM)、同步動態隨機存取記憶體(SDRAM)、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、FLASH記憶體、磁性或光學資料儲存媒體,及其類似者。另外或替代地,該等技術可至少部分地由電腦可讀通信媒體實現,電腦可讀通信媒體攜載或傳達呈指令或資料結構之形式且可由電腦存取、讀取及/或執行的程式碼,諸如傳播信號或波。
程式碼可由處理器執行,該處理器可包括一或多個處理器,諸如一或多個數位信號處理器(DSP)、一般用途微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA),或其他等效整合式或離散邏輯電路系統。此處理器可經組態以執行本發明中所描述之技術中之任一者。一般用途處理器可為微處理器;但在替代例中,處理器可為任何習知處理器、控制器、微控制器或狀態機。處理器亦可被實施為計算器件之組合,例如,DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器,或任何其他此類組態。因此,如本文中所使用之術語「處理器」可指以下各者中之任一者:前述結構、前述結構之任何組合,或適合於實施本文中所描述之技術的任何其他結構或裝置。另外,在一些態樣中,本文中所描述之功能性可提供於經組態用於編碼及解碼之專用軟體或硬體內,或併入於組合式視訊編碼器-解碼器(CODEC)中。又,該等技術可完全地實施於一或多個電路或邏輯元件中。
本發明之技術可實施於各種各樣的器件或裝置中,該等器件或裝置包括無線手機、IC或一組IC (例如,晶片組)。在本發明中描述各種組件或單元以強調經組態以執行所揭示技術之器件之功能態樣,但未必要求藉由不同硬體單元來實現。更確切而言,如上文所描述,各種單元可結合合適的軟體及/或韌體而組合於編解碼器硬體單元中或由互操作性硬體單元之集合提供,該等硬體單元包括如上文所描述之一或多個處理器。
儘管已結合各種不同實施例而描述了前文,但可在不脫離本發明之教示的情況下將來自一個實施例之特徵或元件與其他實施例組合。然而,各別實施例之間的特徵之組合未必限於此情形。已描述了本發明之各種實施例。此等及其他實施例在以下申請專利範圍之範疇內。
如本文中所使用,術語「內容」之例項可指術語「視訊」或「影像」,且反之亦然。無論術語「內容」或「視訊」被用作形容詞、名詞抑或詞類之其他部分,此皆成立。舉例而言,對「內容寫碼器」之參考可包括對「視訊寫碼器」或「影像寫碼器」之參考,且對「視訊寫碼器」或「影像寫碼器」之參考可包括對「內容寫碼器」之參考。相似地,對「內容」之參考亦包括對「視訊」或「影像」之參考,且對「視訊」或「影像」之參考可包括對「內容」之參考。
如本文中所使用,「內容」係指任何類型之內容。舉例而言,「內容」可指視訊內容、螢幕內容、影像內容、任何圖形內容或任何可顯示內容。作為另一實例,「內容」可指對應於視訊內容、螢幕內容、影像內容、任何圖形內容或任何可顯示內容之像素資料。舉例而言,影像包括複數個像素,其中每一像素取決於色彩空間而具有一或多個分量。因此應理解,對「像素資料」之參考可包括對任何內容之像素資料的參考。
如本文中所使用,「像素資料」可指一或多個像素。一或多個像素可包括一或多個分量值。舉例而言,RGB色彩空間中之像素可包括三個色彩分量:紅色色彩分量值、綠色色彩分量值,及藍色色彩分量值。在一些實例中,「樣本」可指「像素」。在其他實例中,「樣本」可指像素之分量。舉例而言,RGB色彩空間中之像素可包括三個樣本:紅色樣本、綠色樣本,及藍色樣本。對於像素,紅色樣本可為紅色色彩分量值,綠色樣本可為綠色色彩分量值,且藍色樣本可為藍色色彩分量值。因此應理解,對樣本執行操作之參考可指對像素之分量(例如,色彩分量)執行操作。
如本文中所使用,術語「視訊」可指可按序列而呈現之複數個影像。如本文中所使用,術語「影像」可指單一影像(例如,圖像)、一或多個影像、複數個影像當中對應於視訊之一或多個影像、複數個影像當中不對應於視訊之一或多個影像、對應於視訊之複數個影像(例如,對應於視訊之所有影像,或對應於視訊之不到所有影像)、單一影像之子部分(例如,子區塊)、單一影像之複數個子部分(例如,子區塊)、對應於複數個影像之複數個子部分(例如,子區塊)、影像資料、圖形資料,或其類似者。在一些實例中,術語「圖像」可與「影像」互換。
如本文中所使用,術語「編碼」與「壓縮」可被互換地使用。相似地,術語「解碼」與「解壓縮」可被互換地使用。
如本文中所使用,術語「鏈路」或「顯示器鏈路」可指有線或無線鏈路。在一些實例中,術語「鏈路」與「顯示器鏈路」可互換。在其他實例中,術語「鏈路」與「顯示器鏈路」可能不互換。在一些實例中,顯示器鏈路可指內容必須符合顯示器協定(其亦可被稱作顯示器鏈路協定)所經由的鏈路。顯示器協定之一些實例包括HDMI協定、DisplayPort協定、MIPI DSI協定,或另一通信協定。
根據本發明,術語「或」可被解譯為「及/或」,其中上下文並不以其他方式規定。另外,雖然諸如「一或多個」或「至少一個」或其類似者之片語可用於本文中所揭示之一些特徵而非其他特徵;但並未使用此語言之特徵可被解譯為具有上下文並不以其他方式規定之情況下所暗示的此含義。
在一或多個實例中,本文中所描述之功能可以硬體、軟體、韌體或其任何組合實施。舉例而言,儘管已貫穿本發明而使用術語「處理單元」,但應理解,此等處理單元可以硬體、軟體、韌體或其任何組合實施。若任何功能、處理單元、本文中所描述之技術或其他模組係以軟體實施,則該功能、處理單元、本文中所描述之技術或其他模組可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體進行傳輸。電腦可讀媒體可包括電腦資料儲存媒體或通信媒體兩者,通信媒體包括促進電腦程式自一處至另一處之傳送的任何媒體。以此方式,電腦可讀媒體通常可對應於(1)為非暫時性之有形電腦可讀儲存媒體,或(2)諸如信號或載波之通信媒體。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以擷取指令、程式碼及/或資料結構以用於實施本發明中所描述之技術的任何可用媒體。作為實例而非限制,此等電腦可讀媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器件、磁碟儲存器件或其他磁性儲存器件。如本文中所使用之磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位多功能光碟(DVD)、軟碟及藍光(Blu-ray)光碟,其中磁碟通常以磁性方式再生資料,而光碟運用雷射以光學方式再生資料。以上各者之組合亦應包括於電腦可讀媒體之範疇內。電腦程式產品可包括電腦可讀媒體。
程式碼可由諸如以下各者之一或多個處理器執行:一或多個數位信號處理器(DSP)、一般用途微處理器、特殊應用積體電路(ASIC)、算術邏輯單元(ALU)、場可程式化邏輯陣列(FPGA),或其他等效整合式或離散邏輯電路系統。因此,如本文中所使用之術語「處理器」可指以下各者中之任一者:前述結構,或適合於實施本文中所描述之技術的任何其他結構。又,該等技術可完全地實施於一或多個電路或邏輯元件中。
本發明之技術可實施於各種各樣的器件或裝置中,該等器件或裝置包括無線手機、積體電路(IC)或一組IC (例如,晶片組)。在本發明中描述各種組件、模組或單元以強調經組態以執行所揭示技術之器件之功能態樣,但未必要求藉由不同硬體單元來實現。更確切而言,如上文所描述,各種單元可結合合適的軟體及/或韌體而組合於任何硬體單元中或由互操作性硬體單元之集合提供,該等硬體單元包括如上文所描述之一或多個處理器。
已描述了各種實例。此等及其他實例在以下申請專利範圍之範疇內。
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)及漏斗移位器202A‧‧‧編碼器平衡先進先出(FIFO)202B‧‧‧編碼器平衡先進先出(FIFO)202C‧‧‧編碼器平衡先進先出(FIFO)204‧‧‧多工器206‧‧‧解多工器模型210‧‧‧解多工器212‧‧‧解碼器漏斗移位器212A‧‧‧解碼器漏斗移位器212B‧‧‧解碼器漏斗移位器212C‧‧‧解碼器漏斗移位器300‧‧‧圖形400‧‧‧向量402‧‧‧差量大小單元-可變長度寫碼(DSU-VLC)單元404‧‧‧首碼406‧‧‧尾碼500‧‧‧2 × 8區塊700‧‧‧語法結構702‧‧‧語法結構704‧‧‧語法結構800‧‧‧語法結構 802‧‧‧語法結構804‧‧‧語法結構1800‧‧‧步驟1802‧‧‧步驟1804‧‧‧步驟1806‧‧‧步驟
圖1A為繪示可經組態以執行本發明之技術之實例視訊寫碼系統的方塊圖。
圖1B為繪示可經組態以執行本發明之技術之另一實例視訊寫碼系統的方塊圖。
圖2A為繪示可經組態以執行本發明之技術之實例視訊編碼器的方塊圖。
圖2B為繪示可經組態以執行本發明之技術之實例視訊解碼器的方塊圖。
圖3為繪示一種用於計算量化參數之實例技術的圖形。
圖4A為展示實例熵寫碼技術之概念圖。
圖4B為展示實例碼字之概念圖。
圖5為繪示根據本發明之一個實例之經量化殘餘區塊群組的概念圖。
圖6A為展示根據本發明之一個實例之視訊編碼器中之子串流多工的方塊圖。
圖6B為展示根據本發明之一個實例之視訊解碼器中之子串流解多工的方塊圖。
圖7為展示分佈於四個子串流當中之區塊預測向量的概念圖。
圖8為展示分佈於四個子串流當中之區塊預測向量的另一概念圖。
圖9為展示針對各種最小及最大語法元素大小之平衡FIFO大小的表。
圖10為展示針對4:4:4及4:2:2色度子取樣格式之實例子串流建構的概念圖。
圖11為展示針對4:2:2色度子取樣格式之實例子串流建構的另一概念圖。
圖12為展示針對不同子串流之實例平衡FIFO大小的表。
圖13為展示用於區塊預測模式之實例子串流建構的概念圖。
圖14為展示用於變換模式之實例子串流建構的概念圖。
圖15為展示用於中點預測模式之實例子串流建構的概念圖。
圖16為展示用於區塊預測跳過模式之實例子串流建構的概念圖。
圖17為展示用於中點預測後援模式之實例子串流建構的概念圖。
圖18為展示本發明之實例方法的流程圖。
1800‧‧‧步驟
1802‧‧‧步驟
1804‧‧‧步驟
1806‧‧‧步驟
Claims (22)
- 一種經組態以編碼視訊資料之裝置,該裝置包含:一記憶體,其經組態以儲存一第一視訊資料區塊;及一或多個處理器,其與該記憶體通信,該一或多個處理器經組態以進行以下操作:基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼該第一視訊資料區塊之一變換模式寫碼模式,其中該最小語法元素大小大於1個位元;根據該經判定變換模式寫碼模式在第一複數個子串流中編碼該第一視訊資料區塊以產生第一複數個經編碼視訊資料子串流,其中為了在該第一複數個子串流中編碼該第一視訊資料區塊,該一或多個處理器經進一步組態以進行以下操作:在該第一複數個子串流之一第一子串流中編碼標頭資訊及模式資訊,該標頭資訊指示該區塊之該寫碼模式或平坦度中之至少一者;在該第一複數個子串流之一第二子串流中編碼該第一視訊資料區塊之樣本之一明度色彩分量;對於一第一色度分量在分量跳過在作用中之狀況下,使用2個位元針對在該第一複數個子串流之一第三子串流中該第一視訊資料區塊之該等樣本之該第一色度分量編碼一第一分量跳過旗標;及對於一第二色度分量在分量跳過在作用中之狀況下,使用2個位元針對在該第一複數個子串流之一第四子串流中該第一視訊資料 區塊之該等樣本之該第二色度分量編碼一第二分量跳過旗標;將該第一複數個經編碼視訊資料子串流儲存於各別平衡FIFO緩衝器中;及在一位元串流中多工該第一複數個經編碼子串流以供傳輸至一解碼器。
- 如請求項1之裝置,其中該最小語法元素大小為2個位元。
- 如請求項1之裝置,其中該一或多個處理器經進一步組態以進行以下操作:基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一第二視訊資料區塊之一寫碼模式,其中該最小語法元素大小大於1個位元,其中該寫碼模式為一區塊預測模式或一區塊預測跳過模式之一者;及在第二複數個經編碼子串流之每一者中編碼該第二視訊資料區塊之區塊預測向量。
- 如請求項1之裝置,其中該一或多個處理器經進一步組態以進行以下操作:基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一第二視訊資料區塊之一寫碼模式,其中該最小語法元素大小大於1個位元,其中該寫碼模式為一區塊預測模式或一區塊預測跳過模式之一者;及 在第二複數個經編碼子串流之每一者中編碼該第二視訊資料區塊之區塊預測向量表。
- 如請求項1之裝置,其中該一或多個處理器經進一步組態以進行以下操作:基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一第二視訊資料區塊之一寫碼模式,其中該最小語法元素大小大於1個位元,其中該第二視訊資料區塊呈一4:2:0或4:2:2色度子取樣格式;及在第二複數個子串流之一第一子串流中編碼該第二區塊之標頭資訊及模式資訊,該標頭資訊指示該區塊之該寫碼模式或平坦度之至少一者;在該第二複數個子串流之一第二子串流中編碼該第二視訊資料區塊之樣本之一明度色彩分量之一第一部分;在該第二複數個子串流之一第三子串流中編碼該第二視訊資料區塊之樣本之該明度色彩分量之一第二部分;在該第二複數個子串流之一第四子串流中編碼該第二視訊資料區塊之該等樣本之一第一色度分量;及在該第二複數個子串流之一第五子串流中編碼該第二視訊資料區塊之該等樣本之一第二色度分量。
- 如請求項1之裝置,其中該第一複數個子串流之每一者具有一關聯最大語法元素大小,且其中該等關聯最大語法元素大小之每一者可不同。
- 一種編碼視訊資料之方法,該方法包含:基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一第一視訊資料區塊之一變換模式寫碼模式,其中該最小語法元素大小大於1個位元;根據該經判定變換模式寫碼模式在第一複數個子串流中編碼該第一視訊資料區塊以產生第一複數個經編碼視訊資料子串流,其中在該第一複數個子串流中編碼該第一視訊資料區塊包含:在該第一複數個子串流之一第一子串流中編碼該第一區塊之標頭資訊及模式資訊,該標頭資訊指示該區塊之該寫碼模式或平坦度中之至少一者;在該第一複數個子串流之一第二子串流中編碼該第一視訊資料區塊之樣本之一明度色彩分量;對於一第一色度分量在分量跳過在作用中之狀況下,使用2個位元針對在該第一複數個子串流之一第三子串流中該第一視訊資料區塊之該等樣本之該第一色度分量編碼一第一分量跳過旗標;及對於一第二色度分量在分量跳過在作用中之狀況下,使用2個位元針對在該第一複數個子串流之一第四子串流中該第一視訊資料區塊之該等樣本之該第二色度分量編碼一第二分量跳過旗標;將該第一複數個經編碼視訊資料子串流儲存於各別平衡FIFO緩衝器中;及在一位元串流中多工該第一複數個經編碼子串流以供傳輸至一解碼器。
- 如請求項7之方法,其中該最小語法元素大小為2個位元。
- 如請求項7之方法,其進一步包含:基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一第二視訊資料區塊之一寫碼模式,其中該最小語法元素大小大於1個位元,其中該寫碼模式為一區塊預測模式或一區塊預測跳過模式之一者,且其中編碼該第二視訊資料區塊包含在第二複數個經編碼子串流之每一者中編碼該第二視訊資料區塊之區塊預測向量。
- 如請求項7之方法,其進一步包含:基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一第二視訊資料區塊之一寫碼模式,其中該最小語法元素大小大於1個位元,其中該寫碼模式為一區塊預測模式或一區塊預測跳過模式中之一者,且其中編碼該第二視訊資料區塊包含在該複數個經編碼子串流中之每一者中編碼區塊預測向量表。
- 如請求項7之方法,其進一步包含:基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一第二視訊資料區塊之一寫碼模式,其中該最小語法元素大小大於1個位元,其中該視訊資料區塊呈一4:2:0或4:2:2色度子取樣格式,且其中在第二複數個子串流中編碼該視訊資料區塊包含:在該第二複數個子串流之一第一子串流中編碼該第二區塊之標頭資訊及模式資訊,該標頭資訊指示該區塊之該寫碼模式或平坦度之至少一者; 在該第二複數個子串流之一第二子串流中編碼該第二視訊資料區塊之樣本之一明度色彩分量之一第一部分;在該第二複數個子串流之一第三子串流中編碼該第二視訊資料區塊之樣本之該明度色彩分量之一第二部分;在該第二複數個子串流之一第四子串流中編碼該第二視訊資料區塊之該等樣本之一第一色度分量;及在該第二複數個子串流之一第五子串流中編碼該第二視訊資料區塊之該等樣本之一第二色度分量。
- 如請求項7之方法,其中該第一複數個子串流之每一者具有一關聯最大語法元素大小,且其中該等關聯最大語法元素大小之每一者可不同。
- 一種儲存指令之非暫時性電腦可讀儲存媒體,該等指令在執行時致使經組態以編碼視訊資料之一或多個處理器進行以下操作:基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一第一視訊資料區塊之一變換模式寫碼模式,其中該最小語法元素大小大於1個位元;根據該經判定變換模式寫碼模式在第一複數個子串流中編碼該第一視訊資料區塊以產生第一複數個經編碼視訊資料子串流,其中為了在該第一複數個子串流中編碼該第一視訊資料區塊,該等指令進一步致使該一或多個處理器進行以下操作:在該第一複數個子串流之一第一子串流中編碼該第一區塊之標頭資訊及模式資訊,該標頭資訊指示該區塊之該寫碼模式或平坦度中 之至少一者;在該第一複數個子串流之一第二子串流中編碼該第一視訊資料區塊之樣本之一明度色彩分量;對於一第一色度分量在分量跳過在作用中之狀況下,使用2個位元針對在該第一複數個子串流之一第三子串流中該第一視訊資料區塊之該等樣本之該第一色度分量編碼一第一分量跳過旗標;及對於一第二色度分量在分量跳過在作用中之狀況下,使用2個位元針對在該第一複數個子串流之一第四子串流中該第一視訊資料區塊之該等樣本之該第二色度分量編碼一第二分量跳過旗標;將該第一複數個經編碼視訊資料子串流儲存於各別平衡FIFO緩衝器中;及在一位元串流中多工該第一複數個經編碼子串流以供傳輸至一解碼器。
- 如請求項13之非暫時性電腦可讀儲存媒體,其中該最小語法元素大小為2個位元。
- 如請求項13之非暫時性電腦可讀儲存媒體,其中該等指令進一步致使該一或多個處理器進行以下操作:基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一第二視訊資料區塊之一寫碼模式,其中該最小語法元素大小大於1個位元,其中該寫碼模式為一區塊預測模式或一區塊預測跳過模式之一者;及 在第二複數個經編碼子串流之每一者中編碼該第二視訊資料區塊之區塊預測向量。
- 如請求項13之非暫時性電腦可讀儲存媒體,其中該等指令進一步致使該一或多個處理器進行以下操作:基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一第二視訊資料區塊之一寫碼模式,其中該最小語法元素大小大於1個位元,其中該視訊資料區塊呈一4:2:0或4:2:2色度子取樣格式;及在第二複數個子串流之一第一子串流中編碼標頭資訊及模式資訊,該標頭資訊指示該區塊之該寫碼模式或平坦度之至少一者;在該第二複數個子串流之一第二子串流中編碼該第二視訊資料區塊之樣本之一明度色彩分量之一第一部分;在該第二複數個子串流之一第三子串流中編碼該第二視訊資料區塊之樣本之該明度色彩分量之一第二部分;在該第二複數個子串流之一第四子串流中編碼該第二視訊資料區塊之該等樣本之一第一色度分量;及在該第二複數個子串流之一第五子串流中編碼該第二視訊資料區塊之該等樣本之一第二色度分量。
- 一種經組態以編碼視訊資料之裝置,該裝置包含:用於基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一第一視訊資料區塊之一變換模式寫碼模式的構 件,其中該最小語法元素大小大於1個位元;用於根據該經判定變換模式寫碼模式在複數個子串流中編碼該第一視訊資料區塊以產生第一複數個經編碼視訊資料子串流的構件,其中在該第一複數個子串流中用於編碼該第一視訊資料區塊的構件包含:用於在該第一複數個子串流之一第一子串流中編碼該第一區塊之標頭資訊及模式資訊的構件,該標頭資訊指示該區塊之該寫碼模式或平坦度中之至少一者;用於在該第一複數個子串流之一第二子串流中編碼該第一視訊資料區塊之樣本之一明度色彩分量的構件;用於對於一第一色度分量在分量跳過在作用中之狀況下使用2個位元針對在該第一複數個子串流之一第三子串流中該第一視訊資料區塊之該等樣本之該第一色度分量編碼一第一分量跳過旗標的構件;及對於一第二色度分量在分量跳過在作用中之狀況下使用2個位元針對在該第一複數個子串流之一第四子串流中該第一視訊資料區塊之該等樣本之該第二色度分量編碼一第二分量跳過旗標;用於將該第一複數個經編碼視訊資料子串流儲存於各別平衡FIFO緩衝器中的構件;及用於在一位元串流中多工該第一複數個經編碼子串流以供傳輸至一解碼器的構件。
- 如請求項17之裝置,其中該最小語法元素大小為2個位元。
- 如請求項17之裝置,其進一步包含:用於基於一最小語法元素大小及一最大語法元素大小自一或多個寫 碼模式當中判定用於編碼一第二視訊資料區塊之一寫碼模式的構件,其中該最小語法元素大小大於1個位元,其中該寫碼模式為一區塊預測模式或一區塊預測跳過模式之一者,且其中該用於編碼該第二視訊資料區塊的構件包含用於在第二複數個經編碼子串流之每一者中編碼該第二視訊資料區塊之區塊預測向量的構件。
- 如請求項17之裝置,其進一步包含:用於基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一第二視訊資料區塊之一寫碼模式的構件,其中該最小語法元素大小大於1個位元,其中該寫碼模式為一區塊預測模式或一區塊預測跳過模式之一者,且其中該用於編碼該視訊資料區塊的構件包含用於在第二複數個經編碼子串流之每一者中編碼該第二視訊資料區塊之區塊預測向量表的構件。
- 如請求項17之裝置,其進一步包含:用於基於一最小語法元素大小及一最大語法元素大小自一或多個寫碼模式當中判定用於編碼一第二視訊資料區塊之一寫碼模式的構件,其中該最小語法元素大小大於1個位元,其中該視訊資料區塊呈一4:2:0或4:2:2色度子取樣格式,且其中該用於在該複數個子串流中編碼該視訊資料區塊的構件包含:用於在第二複數個子串流之一第一子串流中編碼該第二區塊之標頭資訊及模式資訊的構件,該標頭資訊指示該區塊之該寫碼模式或平坦度之至少一者; 用於在該第二複數個子串流之一第二子串流中編碼該第二視訊資料區塊之樣本之一明度色彩分量之一第一部分的構件;用於在該第二複數個子串流之一第三子串流中編碼該第二視訊資料區塊之樣本之該明度色彩分量之一第二部分的構件;用於在該第二複數個子串流之一第四子串流中編碼該第二視訊資料區塊之該等樣本之一第一色度分量的構件;及用於在該第二複數個子串流之一第五子串流中編碼該第二視訊資料區塊之該等樣本之一第二色度分量的構件。
- 如請求項17之裝置,其中該複數個子串流之每一者具有一關聯最大語法元素大小,且其中該等關聯最大語法元素大小之每一者可不同。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762510602P | 2017-05-24 | 2017-05-24 | |
US62/510,602 | 2017-05-24 | ||
US15/985,809 | 2018-05-22 | ||
US15/985,809 US10743032B2 (en) | 2017-05-24 | 2018-05-22 | Substream multiplexing for display stream compression |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201907731A TW201907731A (zh) | 2019-02-16 |
TWI724303B true TWI724303B (zh) | 2021-04-11 |
Family
ID=63586836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107117631A TWI724303B (zh) | 2017-05-24 | 2018-05-23 | 用於顯示器串流壓縮之子串流多工 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10743032B2 (zh) |
EP (1) | EP3632114B1 (zh) |
CN (1) | CN110603812B (zh) |
TW (1) | TWI724303B (zh) |
WO (1) | WO2018217907A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102527184B1 (ko) | 2018-03-29 | 2023-05-03 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 변환 계수 블록 코딩 |
WO2020156175A1 (zh) * | 2019-02-01 | 2020-08-06 | 浙江大学 | 位流检验方法、解码方法及其装置 |
WO2020156540A1 (en) | 2019-02-02 | 2020-08-06 | Beijing Bytedance Network Technology Co., Ltd. | Buffer management for intra block copy in video coding |
KR20210123300A (ko) * | 2019-02-02 | 2021-10-13 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 비디오 코딩에서 인트라 블록 복사를 위한 버퍼 관리 |
JP7238441B2 (ja) * | 2019-02-04 | 2023-03-14 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム |
WO2020177662A1 (en) | 2019-03-01 | 2020-09-10 | Beijing Bytedance Network Technology Co., Ltd. | Implementation aspects in intra block copy in video coding |
KR102688366B1 (ko) | 2019-03-01 | 2024-07-24 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 비디오 코딩에서 인트라 블록 복사를 위한 방향 기반 예측 |
KR20210125506A (ko) | 2019-03-04 | 2021-10-18 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 비디오 코딩에서 인트라 블록 복사를 위한 버퍼 관리 |
CN117294841A (zh) | 2019-07-06 | 2023-12-26 | 北京字节跳动网络技术有限公司 | 用于视频编解码中的帧内块复制的虚拟预测缓冲 |
JP7359934B2 (ja) | 2019-07-10 | 2023-10-11 | 北京字節跳動網絡技術有限公司 | 映像符号化におけるイントラブロックコピーのためのサンプル識別 |
KR20230117264A (ko) * | 2019-10-11 | 2023-08-07 | 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 | 4:4:4 크로마 포맷의 비디오 코딩 방법 및 장치 |
WO2021086024A1 (ko) * | 2019-10-28 | 2021-05-06 | 엘지전자 주식회사 | 적응적 색공간 변환을 이용하여 레지듀얼 처리를 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
CN113132728B (zh) * | 2019-12-31 | 2023-06-27 | 上海海思技术有限公司 | 编码方法及编码器 |
US11468601B2 (en) * | 2020-01-13 | 2022-10-11 | Samsung Display Co., Ltd. | Systems and methods for scalable throughput entropy coder |
TWI741919B (zh) * | 2020-01-15 | 2021-10-01 | 瑞鼎科技股份有限公司 | 串流解壓縮電路 |
CN111770364B (zh) * | 2020-07-17 | 2023-02-14 | 上海国茂数字技术有限公司 | 一种视频码率平滑方法及装置 |
CN116074516B (zh) * | 2022-06-06 | 2024-10-25 | 杭州海康威视数字技术股份有限公司 | 一种图像编解码方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100021142A1 (en) * | 2006-12-11 | 2010-01-28 | Panasonic Corporation | Moving picture decoding device, semiconductor device, video device, and moving picture decoding method |
US20150358645A1 (en) * | 2014-06-09 | 2015-12-10 | Qualcomm Incorporated | Entropy coding techniques for display stream compression (dsc) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9426468B2 (en) * | 2013-01-04 | 2016-08-23 | Huawei Technologies Co., Ltd. | Signaling layer dependency information in a parameter set |
US9866853B2 (en) * | 2014-04-15 | 2018-01-09 | Qualcomm Incorporated | System and method for lagrangian parameter calculation for display stream compression (DSC) |
US9979970B2 (en) * | 2014-08-08 | 2018-05-22 | Qualcomm Incorporated | System and method for determining buffer fullness for display stream compression |
US20170085886A1 (en) | 2015-09-18 | 2017-03-23 | Qualcomm Incorporated | Variable partition size for block prediction mode for display stream compression (dsc) |
US10855989B2 (en) | 2016-06-09 | 2020-12-01 | Qualcomm Incorporated | Substream multiplexing for display stream compression |
-
2018
- 2018-05-22 US US15/985,809 patent/US10743032B2/en active Active
- 2018-05-23 CN CN201880030174.9A patent/CN110603812B/zh active Active
- 2018-05-23 TW TW107117631A patent/TWI724303B/zh active
- 2018-05-23 EP EP18769863.4A patent/EP3632114B1/en active Active
- 2018-05-23 WO PCT/US2018/034153 patent/WO2018217907A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100021142A1 (en) * | 2006-12-11 | 2010-01-28 | Panasonic Corporation | Moving picture decoding device, semiconductor device, video device, and moving picture decoding method |
US20150358645A1 (en) * | 2014-06-09 | 2015-12-10 | Qualcomm Incorporated | Entropy coding techniques for display stream compression (dsc) |
Non-Patent Citations (1)
Title |
---|
Video Electronics Standards Association, "VESA Display Stream Compression (DSC) Standard v1.2a", 18 January, 2017. * |
Also Published As
Publication number | Publication date |
---|---|
US10743032B2 (en) | 2020-08-11 |
TW201907731A (zh) | 2019-02-16 |
CN110603812B (zh) | 2021-12-17 |
US20180343471A1 (en) | 2018-11-29 |
EP3632114A1 (en) | 2020-04-08 |
WO2018217907A1 (en) | 2018-11-29 |
EP3632114B1 (en) | 2021-09-22 |
CN110603812A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI724303B (zh) | 用於顯示器串流壓縮之子串流多工 | |
JP6921873B2 (ja) | ディスプレイストリーム圧縮のためのサブストリーム多重化 | |
TWI743098B (zh) | 用於在顯示串流壓縮中量化參數之適應性計算的裝置及方法 | |
KR20160145051A (ko) | 디스플레이 스트림 압축 (dsc) 을 위한 블록 예측 모드에서 코딩하기 위한 시스템 및 방법 | |
JP6800991B2 (ja) | ディスプレイストリーム圧縮のためのベクトルベースエントロピーコード化のための装置および方法 | |
JP2018538742A (ja) | ディスプレイストリーム圧縮(dsc)における固定小数点近似のためのシステムおよび方法 | |
KR102175662B1 (ko) | 디스플레이 스트림 압축 (dsc) 에서의 왜곡을 계산하기 위한 시스템 및 방법들 | |
JP2018515015A (ja) | ディスプレイストリーム圧縮(dsc)のための量子化パラメータ(qp)更新分類 | |
TW201739246A (zh) | 用於顯示器串流壓縮之感知量化參數(qp)加權之裝置及方法 | |
JP2018525901A (ja) | ディスプレイストリーム圧縮における変換モード用ブロックサイズの変更 | |
TWI858835B (zh) | 一種圖像編解碼方法及裝置 |