TW201722155A - 用於在顯示器串流壓縮中固定點近似之系統及方法 - Google Patents

用於在顯示器串流壓縮中固定點近似之系統及方法 Download PDF

Info

Publication number
TW201722155A
TW201722155A TW105137961A TW105137961A TW201722155A TW 201722155 A TW201722155 A TW 201722155A TW 105137961 A TW105137961 A TW 105137961A TW 105137961 A TW105137961 A TW 105137961A TW 201722155 A TW201722155 A TW 201722155A
Authority
TW
Taiwan
Prior art keywords
value
block
tile
video
buffer
Prior art date
Application number
TW105137961A
Other languages
English (en)
Other versions
TWI721042B (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 TW201722155A publication Critical patent/TW201722155A/zh
Application granted granted Critical
Publication of TWI721042B publication Critical patent/TWI721042B/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/115Selection of the code volume for a coding unit prior to coding
    • 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/124Quantisation
    • 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/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

Abstract

本發明提供用於使用固定點代替浮點技術,以便計算用於對視訊資料寫碼之各種參數的系統及方法,該等參數包括目標速率、QP調整、緩衝器充滿度、一位元速率之一拉格朗日參數,及/或該緩衝器之該充滿度的一拉格朗日參數。藉由使用固定點判定該等參數中之一或多者,可降低硬體實施成本。

Description

用於在顯示器串流壓縮中固定點近似之系統及方法
本發明係關於視訊寫碼及壓縮之領域,且特定而言,係關於用於經由顯示連結之傳輸的視訊壓縮,諸如顯示串流壓縮(DSC)。
數位視訊能力可併入至廣泛範圍之顯示器中,包括數位電視、個人數位助理(PDA)、膝上型電腦、桌上型監視器、數位攝影機、數位記錄器件、數位媒體播放器、視訊遊戲器件、視訊遊戲主機、蜂巢式或衛星無線電電話、視訊電話會議器件及其類似者。顯示連結用於將顯示器連接至適合的源器件。顯示連結之頻寬要求與顯示器之解析度成比例,且因此,高解析度顯示器要求大頻寬顯示連結。一些顯示連結不具有支援高解析度顯示器的頻寬。視訊壓縮可用於減小頻寬要求以使得可使用較低頻寬顯示連結將數位視訊提供至高解析度顯示器。 其他人已經嘗試利用對像素資料之影像壓縮。然而,此類方案有時並非在視覺上為無損的,或在習知顯示器件中實施起來可為困難且昂貴的。 視訊電子標準協會(VESA)已經開發顯示串流壓縮(DSC)作為用於顯示連結視訊壓縮的標準。顯示連結視訊壓縮技術(諸如DSC)應尤其提供視覺上無損的圖片品質(亦即,圖片具有使得使用者無法區分壓縮在作用中之品質等級)。顯示連結視訊壓縮技術亦應提供用習知硬體即時實施起來簡易且便宜之方案。
本發明之系統、方法及器件各具有若干創新態樣,其中無單一者單獨負責本文中所揭示之合乎需要的屬性。 在一個態樣中,提供一種用於對視訊資料寫碼之裝置。該裝置可包括用於儲存該視訊資料之一記憶體,該記憶體包括一緩衝器。該裝置亦可包括以操作方式耦接至該記憶體之一硬體處理器。該處理器可經組態以接收該待寫碼視訊資料。該處理器可經進一步組態以針對一待寫碼區塊判定以下項中之一或多者:一目標速率、一平度量化參數(QP)、該緩衝器之一充滿度、一位元速率之一拉格朗日參數,或該緩衝器之該充滿度的一拉格朗日參數,該判定至少部分基於一或多個固定點近似運算。 在另一態樣中,提供一種對視訊資料寫碼之方法。該方法可包括將該視訊資料儲存於一記憶體中,該記憶體包括一緩衝器。該方法亦可包括接收該待寫碼視訊資料。該方法可進一步包括針對一待寫碼區塊,判定以下項中之一或多者:一目標速率、一平度量化參數(QP)、該緩衝器之一充滿度、一位元速率之一拉格朗日參數,或該緩衝器之該充滿度的一拉格朗日參數,該判定至少部分基於一或多個固定點近似運算。 在另一態樣中,提供一種用於對視訊資料寫碼之裝置。該裝置包含用於儲存該視訊資料之一記憶體,該記憶體包括一緩衝器。該裝置進一步包含一硬體處理器,其以操作方式耦接至該記憶體,且經組態以基於一視訊資料圖塊內之像素總數目判定且儲存一比例參數。該硬體處理器經進一步組態以判定且儲存將複數個輸入值與其倒數值相關聯之一資料結構。該硬體處理器經進一步組態以接收該待寫碼視訊資料,該視訊資料包含劃分成複數個區塊之至少一個圖塊。該硬體處理器經進一步組態以基於該所儲存比例參數判定一臨限值。該硬體處理器經進一步組態以針對該圖塊之一待寫碼區塊,回應於該圖塊中之剩餘像素數目小於該臨限值的一判定,更新該比例參數,且基於該比例因子判定一經更新臨限值。該硬體處理器經進一步組態以執行一或多個固定點近似運算,以基於與該剩餘像素數目相關聯的基於該比例因子按比例縮放之一倒數值而判定該區塊之一目標速率,其中該倒數值係使用該所儲存資料結構進行判定。 在另一態樣中,提供一種用於判定對視訊資料之區塊寫碼之目標速率的電腦實施方法。該方法包含基於一視訊資料圖塊內之像素總數目判定且儲存一比例參數。該方法進一步包含判定且儲存將複數個輸入值與其倒數值相關聯之一資料結構。該方法進一步包含接收該待寫碼視訊資料,該視訊資料包含劃分成複數個區塊之至少一個圖塊。該方法進一步包含基於該所儲存比例參數判定一臨限值。該方法進一步包含針對該圖塊之一待寫碼區塊,回應於該圖塊中之剩餘像素數目小於該臨限值的一判定,更新該比例參數,且基於該比例因子判定一經更新臨限值。該方法進一步包含執行一或多個固定點近似運算,以基於與該剩餘像素數目相關聯的基於該比例因子按比例縮放之一倒數值,判定該區塊之一目標速率,其中該倒數值係使用該所儲存資料結構進行判定。 在另一態樣中,提供一種裝置,其包含用於基於一視訊資料圖塊內之像素總數目判定且儲存一比例參數的構件。該裝置進一步包含用於判定且儲存將複數個輸入值與其倒數值相關聯之一資料結構的構件。該裝置進一步包含用於接收該待寫碼視訊資料的構件,該視訊資料包含劃分成複數個區塊之至少一個圖塊。該裝置進一步包含用於基於該所儲存比例參數判定一臨限值的構件。該裝置進一步包含用於針對該圖塊之一待寫碼區塊,回應於該圖塊中之剩餘像素數目小於該臨限值的一判定,更新該比例參數且基於比例因子判定一經更新臨限值的構件。該裝置進一步包含用於執行一或多個固定點近似運算,以基於與該剩餘像素數目相關聯的基於該比例因子按比例縮放之一倒數值,判定該區塊之一目標速率的構件,其中該倒數值係使用該所儲存資料結構進行判定。 在另一態樣中,提供一種非暫時性電腦可讀儲存媒體。該儲存媒體上儲存有與一影像之一圖塊有關的視訊資料,該圖塊包含一或多個區塊。該儲存媒體上進一步儲存有指令,該等指令在被執行時,使得一器件之一處理器基於一視訊資料圖塊內之像素總數目判定且儲存一比例參數。該儲存媒體上進一步儲存有使得該處理器判定且儲存將複數個輸入值與其倒數值相關聯之一資料結構的指令。該儲存媒體上進一步儲存有使得該處理器接收該待寫碼視訊資料之指令,該視訊資料包含至少一個圖塊。該儲存媒體上進一步儲存有使得該處理器基於該所儲存比例參數判定一臨限值的指令。該儲存媒體上進一步儲存有使得該處理器執行以下操作之指令:針對該圖塊之一待寫碼區塊,回應於該圖塊中之剩餘像素數目小於該臨限值的一判定,更新該比例參數,且基於比例因子判定一經更新臨限值。該儲存媒體上進一步儲存有使得該處理器執行以下操作之指令:執行一或多個固定點近似運算,以基於與該剩餘像素數目相關聯的基於該比例因子按比例縮放之一倒數值,判定該區塊之一目標速率,其中該倒數值係使用該所儲存資料結構進行判定。 在另一態樣中,提供一種用於對視訊資料寫碼之裝置。該裝置包含用於儲存該視訊資料之一記憶體,該記憶體包括一緩衝器。該裝置進一步包含以操作方式耦接至該記憶體之一硬體處理器。該硬體程序經組態以基於一最大緩衝器大小之一倒數判定且儲存一第一參數值。該硬體處理器經進一步組態以接收該待寫碼視訊資料,該視訊資料包含劃分成複數個區塊之至少一個圖塊。該硬體處理器經進一步組態以針對該圖塊之一待寫碼區塊,基於指示用以表示緩衝器充滿度之位元數目的一第一值及指示計算緩衝器充滿度所用之精確度之一第二值,按比例縮放該第一參數。該硬體處理器經進一步組態以執行一或多個固定點近似運算,以基於該經按比例縮放之第一參數判定該區塊之一緩衝器充滿度值。 在另一態樣中,提供一種用於對視訊資料寫碼之裝置。該裝置包含用於儲存該視訊資料之一記憶體,該記憶體包括一緩衝器。該裝置進一步包含以操作方式耦接至該記憶體之一硬體處理器。該硬體程序經組態以判定且儲存將緩衝器充滿度值與量化參數(QP)調整值相關聯之一資料結構。該硬體處理器經進一步組態以接收該待寫碼視訊資料,該視訊資料包含劃分成複數個區塊之至少一個圖塊。該硬體處理器經進一步組態以針對該圖塊之一待寫碼區塊,判定該區塊是否含有一複雜區域與一平坦區域之間的一轉變,其中複雜區域與平坦區域相比具有較高複雜性。該硬體處理器經進一步組態以回應於該區塊含有一轉變的一判定,基於用以對一緩衝器充滿度值寫碼之位元數目及用以對一QP調整值寫碼之位元數目將該緩衝器充滿度值移位。該硬體處理器經進一步組態以執行一或多個固定點近似運算,以基於該所儲存資料結構及該經移位緩衝器充滿度值判定該區塊之一QP調整值。該硬體處理器經進一步組態以將該區塊之一QP設定為該經判定QP調整值。 在另一態樣中,提供一種用於對視訊資料寫碼之裝置。該裝置包含用於儲存該視訊資料之一記憶體。該裝置進一步包含以操作方式耦接至該記憶體之一硬體處理器。該硬體程序經組態以基於可用以對一視訊資料區塊寫碼之位元之最大數目,判定且儲存一第一比例參數。該硬體處理器經進一步組態以判定且儲存將用以對視訊資料區塊寫碼之位元數目與位元速率之拉格朗日參數相關聯的一資料結構。該硬體處理器經進一步組態以接收該待寫碼視訊資料,該視訊資料包含劃分成複數個區塊之至少一個圖塊。該硬體處理器經進一步組態以針對該圖塊之一待寫碼區塊,執行一或多個固定點近似運算,基於對該區塊寫碼之藉由該第一比例參數調整之位元數目,使用該資料結構判定該區塊之一位元速率的一拉格朗日。 在另一態樣中,提供一種用於對視訊資料寫碼之裝置。該裝置包含用於儲存該視訊資料之一記憶體,該記憶體包括一緩衝器。該裝置進一步包含以操作方式耦接至該記憶體之一硬體處理器。該硬體程序經組態以判定且儲存將緩衝器充滿度值與緩衝器充滿度值之拉格朗日值相關聯的一資料結構。該硬體處理器經進一步組態以接收該待寫碼視訊資料,該視訊資料包含劃分成複數個區塊之至少一個圖塊。該硬體處理器經進一步組態以針對該圖塊之一待寫碼區塊,基於指示用以對該緩衝器充滿度值寫碼之位元數目的一第一參數及指示用以對該資料結構之一索引寫碼之位元數目的一第二參數,按比例縮放該區塊之所計算之緩衝器充滿度值。該硬體處理器經進一步組態以執行一或多個固定點近似運算,以使用該所儲存資料結構及該經按比例縮放緩衝器充滿度值判定該緩衝器充滿度值之一拉格朗日值。
大體而言,本發明係關於改良視訊壓縮技術(諸如,顯示串流壓縮(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)、高效率視訊寫碼(HEVC)及此類標準之任何擴展。又,本發明中描述之技術可變為將來開發的標準之部分。換言之,本發明中描述之技術可適用於先前開發之視訊寫碼標準、當前正在開發之視訊寫碼標準及即將出現的視訊寫碼標準。 在DSC中,可使用一或多個除法或除法運算判定某些速率控制參數,諸如緩衝器充滿度及基於緩衝器充滿度之λ值。除法或除法運算可指涉及除法運算符(例如,「/」)之運算。然而,除法運算之使用可導致硬體實施複雜且困難。 為解決此等及其他挑戰,本發明中描述之技術可使用固定點近似判定或計算各種速率控制參數。速率控制參數之實例可包括(但不限於):目標速率、平度QP、緩衝器充滿度、位元速率之λ值、緩衝器充滿度之λ值等等。λ值亦可被稱作拉格朗日(Lagrangian或lagrangrian)參數。藉由使用固定點近似,該等技術可減少或消除除法運算在計算速率控制參數中之使用,其可減少硬體實施之複雜性及成本。 視訊寫碼標準 諸如視訊影像、TV影像、靜態影像或由視訊記錄器或電腦產生之影像的數位影像可包括按水平排及垂直排配置之像素或樣本。單一影像中的像素之數目通常有數萬個。每一像素通常含有明度及色度資訊。在不壓縮之情況下,待自影像編碼器傳送至影像解碼器的資訊之絕對數量將致使即時影像傳輸不切實際。為了減少待傳輸的資訊之量,已開發多種不同壓縮方法,諸如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),及包括此等標準之擴展的HEVC。 另外,VESA已開發視訊寫碼標準(即DSC)。DSC標準為可壓縮視訊以供經由顯示連結傳輸的視訊壓縮標準。隨著顯示器之解析度增加,驅動顯示器所需之視訊資料之頻寬相應地增加。一些顯示連結可不具有將所有視訊資料傳輸至此類解析度之顯示器的頻寬。因此,DSC標準規定用於在顯示連結上之可互操作的、視覺上無損的壓縮的壓縮標準。 DSC標準與其他視訊寫碼標準(諸如,H.264及HEVC)不同。DSC包括框內壓縮,但不包括框間壓縮,意謂著DSC標準在寫碼視訊資料時不可使用時間資訊。對比而言,其他視訊寫碼標準可在其視訊寫碼技術中採用框間壓縮。正在開發進階DSC,例如,以便提供4:1或更高之壓縮比。4:1或更高之壓縮比可用於行動器件,例如,用於諸如4K之高解析度顯示器。 視訊寫碼系統 在下文中參考隨附圖式更完整地描述新穎系統、裝置及方法之各種態樣。然而,可以許多不同形式體現本發明,且不應將本發明解釋為限於貫穿本發明所呈現之任何特定結構或功能。實情為,提供此等態樣以使得本發明將為詳盡且完整的,且將向熟習此項技術者充分傳達本發明之範疇。基於本文中之教示,熟習此項技術者應瞭解,本發明之範疇意欲涵蓋本文中揭示的新穎系統、裝置及方法之任何態樣,而不管其是獨立於本發明之任何其他態樣實施還是與本發明之任何其他態樣組合地實施。舉例而言,可使用本文中所闡明之任何數目個態樣來實施裝置或可使用本文中所闡明之任何數目個態樣來實踐方法。另外,本發明之範疇意欲涵蓋使用除本文中所闡明的本發明之各種態樣之外的或不同於本文中所闡明的本發明之各種態樣的其他結構、功能性或結構與功能性來實踐的此類裝置或方法。應理解,可藉由申請專利範圍之一或多個要素來體現本文中所揭示之任何態樣。 雖然本文中描述特定態樣,但此等態樣之許多變化及置換落在本發明之範疇內。儘管提及較佳態樣之一些益處及優點,但本發明之範疇不意欲限於特定益處、用途或目標。實情為,本發明之態樣意欲可廣泛適用於不同無線技術、系統組態、網路及傳輸協定,其中一些藉由實例在諸圖中且在較佳態樣之以下描述中加以說明。實施方式及圖式僅僅說明本發明而非限制,本發明之範疇由所附申請專利範圍及其等效物定義。 附圖對實例進行說明。由隨附圖式中之參考數字指示之元件對應於在以下描述中由相同參考數字指示之元件。在本發明中,名稱以序數詞(例如,「第一」、「第二」、「第三」等等)開始的元件未必暗示該等元件具有特定次序。相反,此等序數詞僅用以指代相同或類似類型之不同元件。 1A 為說明可利用根據本發明中描述之態樣的技術之實例視訊寫碼系統10之方塊圖。如本文所使用,術語「視訊寫碼器」或「寫碼器」一般指視訊編碼器及視訊解碼器兩者。在本發明中,術語「視訊寫碼」或「寫碼」一般可指代視訊編碼及視訊解碼。除了視訊編碼器及視訊解碼器外,本申請案中描述之態樣可擴展至其他相關器件,諸如,轉碼器(例如,可解碼位元串流且重新編碼另一位元串流之器件)及中間框(例如,可修改、變換及/或以其他方式操縱位元串流之器件)。 如 1A 中所展示,視訊寫碼系統10包括源器件12,其產生在稍後時間由目的地器件14解碼的經編碼視訊資料。在 1A 的實例中,源器件12及目的地器件14構成獨立器件。然而,應注意,源器件12與目的地器件14可在同一器件上或為同一器件之部分,如在 1B 之實例中所展示。 再次參考 1A ,源器件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 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多工器協定或其他協定(諸如,使用者資料包協定(UDP))。 視訊編碼器20及視訊解碼器30各自可實施為多種合適編碼器電路中的任一者,諸如,一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。當該等技術部分以軟體實施時,器件可將用於軟體之指令儲存於合適的非暫時性電腦可讀媒體中,且在硬體中使用一或多個處理器執行指令以執行本發明之技術。視訊編碼器20及視訊解碼器30中之每一者可包括在一或多個編碼器或解碼器中,編碼器或解碼器中的任一者可整合為各別器件中之組合式編碼器/解碼器的部分。 視訊寫碼程序 如以上簡要地提及,視訊編碼器20對視訊資料進行編碼。視訊資料可包含一或多個圖片。圖片中之每一者為形成視訊之部分的靜態影像。在一些情況下,圖片可被稱作視訊「圖框」。當視訊編碼器20對視訊資料進行編碼時,視訊編碼器20可產生位元串流。位元串流可包括形成視訊資料之經寫碼表示之位元序列。位元串流可包括經寫碼圖片及相關聯之資料。經寫碼圖片為圖片之經寫碼表示。 為產生位元串流,視訊編碼器20可對視訊資料中之每一圖片執行編碼操作。當視訊編碼器20對圖片執行編碼操作時,視訊編碼器20可產生一系列經寫碼圖片及相關聯之資料。相關聯之資料可包括諸如量化參數(QP)之寫碼參數之集合。為產生經寫碼圖片,視訊編碼器20可將圖片分割成相等大小之視訊區塊。視訊區塊可為樣本之二維陣列。寫碼參數可定義用於視訊資料之每一區塊之寫碼選項(例如,寫碼模式)。可選擇寫碼選項以便實現所要的速率-失真效能。 在一些實例中,視訊編碼器20可將圖片分割成複數個圖塊。圖塊中之每一者可包括影像(例如,圖框)中之空間不同區域,其可在無需來自所述影像或圖框中之剩餘區域之資訊的情況下獨立地解碼。每一影像或視訊圖框可在單個圖塊中編碼,或每一影像或視訊圖框可在若干圖塊中編碼。在DSC中,經分配以對每一圖塊進行編碼之目標位元可實質上恆定。作為對圖片執行編碼操作之部分,視訊編碼器20可對圖片之每一圖塊執行編碼操作。當視訊編碼器20對圖塊執行編碼操作時,視訊編碼器20可產生與圖塊相關聯之經編碼資料。與圖塊相關聯之經編碼資料可被稱作「經寫碼圖塊」。 DSC視訊編碼器 2A 為說明可實施根據本發明中描述之態樣的技術的視訊編碼器20之實例的方塊圖。視訊編碼器20可經組態以執行本發明之技術中的一些或全部。在一些實例中,本發明中描述之技術可在視訊編碼器20的各種組件之間共用。在一些實例中,另外或替代地,處理器(未展示)可經組態以執行本發明中描述之技術中之一些或全部。 出於解釋之目的,本發明在DSC寫碼的上下文中描述視訊編碼器20。然而,本發明之技術可適用於其他寫碼標準或方法。 在 2A 之實例中,視訊編碼器20包括複數個功能組件。視訊編碼器20之功能組件包括色彩空間轉換器105、緩衝器110、平度偵測器115、速率控制器120、預測器、量化器及重建構器組件125、排緩衝器130、帶索引的色彩歷史135、熵編碼器140、子串流多工器145及速率緩衝器150。在其他實例中,視訊編碼器20可包括更多、更少或不同之功能組件。 色彩空間轉換器105可將輸入色彩空間轉換成用於寫碼實施方案的色彩空間。舉例而言,在一個例示性實施例中,輸入視訊資料之色彩空間處於紅、綠及藍(RGB)色彩空間中且寫碼實施於明度Y、色度綠Cg及色度橙Co(YCgCo)色彩空間中。色彩空間轉換可由包括移位且添加至視訊資料之方法執行。應注意,可處理其他色彩空間中之輸入視訊資料,且亦可執行至其他色彩空間的轉換。 在相關態樣中,視訊編碼器20可包括緩衝器110、排緩衝器130及/或速率緩衝器150。舉例而言,緩衝器110可在視訊編碼器20之其他部分使用經色彩空間轉換之視訊資料之前保存所述經色彩空間轉換之視訊資料。在另一實例中,視訊資料可儲存於RGB色彩空間中,且色彩空間轉換可按需要執行,此係因為經色彩空間轉換之資料可需要較多位元。 速率緩衝器150可充當視訊編碼器20中之速率控制機構之一部分,下文將結合速率控制器120更詳細地描述。編碼每一區塊所耗費的位元可實質上基於區塊之性質而高度變化。速率緩衝器150可平緩經壓縮視訊中之速率變化。在一些實施例中,採用恆定位元速率(CBR)緩衝器模型,其中以恆定位元速率自該緩衝器取得位元。在CBR緩衝器模型中,若視訊編碼器20添加過多位元至位元串流,則速率緩衝器150可上溢。另一方面,視訊編碼器20必須添加足夠位元以便防止速率緩衝器150之下溢。 在視訊解碼器側,可以恆定位元速率將位元添加至視訊解碼器30之速率緩衝器155 (見下文更詳細地描述之 2B ),且視訊解碼器30可移除用於每一區塊之可變數目個位元。為了確保恰當的解碼,視訊解碼器30之速率緩衝器155不應在經壓縮位元串流之解碼期間「下溢」或「上溢」。 在一些實施例中,緩衝器充滿度(BF)可基於表示當前在緩衝器中之位元數目之值BufferCurrentSize及表示速率緩衝器150之大小之值BufferMaxSize(亦即,可在任何時間點儲存於速率緩衝器150中之最大位元數目)來定義。BF可計算為: BF = ((BufferCurrentSize * 100) / BufferMaxSize) 平度偵測器115可偵測自視訊資料中之複雜(亦即,非平坦)區至視訊資料中之平坦(亦即,簡單或均一)區之改變。術語「複雜」及「平坦」將在本文中用以大體上指代視訊編碼器20對視訊資料之各別區域進行編碼的難度。因此,本文所使用之術語複雜將視訊資料之區域大體上描述為視訊編碼器20編碼起來複雜,且可(例如)包括紋理化的視訊資料、高空間頻率及/或編碼起來複雜之其他特徵。本文所使用之術語平坦將視訊資料之區域大體上描述為視訊編碼器20編碼起來簡單,且可(例如)包括視訊資料中之平滑梯度、低空間頻率及/或編碼起來簡單的其他特徵。視訊編碼器20可使用複雜區域與平坦區域之間的轉變減小經編碼視訊資料中之量化偽影。具體而言,當識別到自複雜區域至平坦區域之轉變時,速率控制器120以及預測器、量化器及重建構器組件125可減小此類量化偽影。 速率控制器120判定寫碼參數(例如QP)之集合。速率控制器120可基於速率緩衝器150之緩衝器充滿度及視訊資料之影像活動來調整QP,以便針對確保速率緩衝器150不上溢或下溢之目標位元速率將圖片品質最大化。速率控制器120亦選擇用於視訊資料之每一區塊之特定寫碼選項(例如,特定模式)以便實現最佳速率-失真效能。速率控制器120將經重建構影像之失真最小化以使得其滿足位元率約束條件(亦即,實際總寫碼速率符合在目標位元速率內)。 預測器、量化器及重建構器組件125可執行視訊編碼器20之至少三個編碼操作。預測器、量化器及重建構器組件125可以多個不同模式執行預測。一個實例預測模式為中值自適應預測之經修改版本。中值自適應預測可由無損JPEG標準(JPEG-LS)實施。可由預測器、量化器及重建構器組件125執行之中值自適應預測之經修改版本可允許三個連續樣本值之並行預測。另一實例預測模式為區塊預測。在區塊預測中,自上方排中或同一排中左邊之先前經重建構像素預測樣本。在一些實施例中,視訊編碼器20及視訊解碼器30兩者皆可對經重建構像素執行相同的搜尋以判定區塊預測使用情況,且因此不需要在區塊預測模式中發送位元。在其他實施例中,視訊編碼器20可執行搜尋並在位元串流中用信號發送區塊預測向量,使得視訊解碼器30不必執行獨立搜尋。亦可實施中點預測模式,其中使用分量範圍之中點來預測樣本。中點預測模式即使在最差情況樣本中仍可實現對經壓縮視訊所需要的位元數目之限定。預測器、量化器及重建構器組件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個像素/時脈)之解碼。 DSC視訊解碼器 2B 為說明可實施根據本發明中描述之態樣的技術之視訊解碼器30之實例的方塊圖。視訊解碼器30可經組態以執行本發明之技術中的一些或全部。在一些實例中,本發明中描述之技術可在視訊解碼器30之各種組件間共用。在一些實例中,另外或替代地,處理器(未圖示)可經組態以執行本發明中描述的技術中之一些或全部。 出於解釋之目的,本發明在DSC寫碼的上下文中描述視訊解碼器30。然而,本發明之技術可適用於其他寫碼標準或方法。 在 2B 之實例中,視訊解碼器30包括複數個功能組件。視訊解碼器30之功能組件包括速率緩衝器155、子串流解多工器160、熵解碼器165、速率控制器170、預測器、量化器及重建構器組件175、帶索引的色彩歷史180、排緩衝器185及色彩空間轉換器190。所說明的視訊解碼器30之組件類似於上文結合 2A 中之視訊編碼器20所描述的對應組件。由此,視訊解碼器30之組件中之每一者可以與上文所描述之視訊編碼器20之對應組件類似的方式操作。 量化參數(QP) 如上文所描述,視訊寫碼可包括經由(例如)預測器、量化器及重建構器組件125對視訊資料之量化。量化可將耗損引入至信號中且可藉由由速率控制器120判定之QP控制耗損之量。並非儲存每一QP之量化步長,而是可指定隨QP變化而變化之縮放矩陣。可自縮放矩陣推導出每一QP之量化步長,且導出值可不必為2的冪,亦即,導出值亦可為非2的冪。 DSC中之圖塊 如上所述,圖塊通常指影像或圖框中之空間不同區域,其可在不使用來自所述影像或圖框中之剩餘區域之資訊的情況下獨立地解碼。每一影像或視訊圖框可在單個圖塊中編碼,或每一影像或視訊圖框可在若干圖塊中編碼。在DSC中,經分配以對每一圖塊進行編碼之目標位元可實質上恆定。此對於部分圖塊可不同,其可在影像高度無法被圖塊高度除盡的情況下出現。舉例而言,圖塊高度為108的大小為1280×720之影像將具有6個高度為108之圖塊及一個高度為72之部分圖塊(= 720 - (6 * 108))。 進階DSC圖塊尺寸可使用變數或參數圖塊寬度×圖塊高度來指定,其中圖塊寬度及圖塊高度可組態。圖塊高度可經組態為所要值,舉例而言,16、32、108等。圖塊寬度可使用判定排中之圖塊數目之參數N進行組態,且假定每一圖塊中每排之像素數目相等,(例如)圖塊寬度=影像寬度/N。影像寬度可為表示影像之寬度的變數或參數。 速率控制參數之固定點近似 顯示串流壓縮v1.x標準支援平均壓縮比3:1,且最近已由VESA定案且批准。然而,由於顯示器解析度與實體傳輸協定可支援的相比更快地增加,因此DSC v1.x可能不適用於許多類型之內容(例如,10 bpp下的4K視訊、120 Hz下的4K視訊,及任何位元深度或再新率下的8K視訊)。為支援此使用案例,可提供平均壓縮速率為至少4:1的視覺上無損之編解碼器。在某些實施例中,編解碼器可被稱為進階DSC編解碼器(「ADSC」)。 根據某些態樣,所提議之DSC編解碼器係基於區塊的,且包括多種寫碼模式,其中每一者旨在壓縮不同類型的內容。模式選擇可藉由速率控制機構處置,其旨在藉由考慮模式之速率及失真兩者來選擇用於每一區塊之最佳模式。速率控制機構可受HRD緩衝器模型支援,且編解碼器之設計要求可為:所述緩衝器從不處於下溢(例如,在緩衝器中少於零個位元)或上溢(例如,緩衝器大小已增加至超過設定之最大大小)之狀態中。 在DSC中,可使用一或多個除法或除法運算判定某些速率控制參數,諸如緩衝器充滿度及基於緩衝器充滿度之λ值。除法或除法運算可指涉及除法運算符(例如,「/」)之運算。然而,除法運算之使用可導致硬體實施複雜且困難(例如,涉及除以任意數字的除法運算等)。繁複函數或計算之使用亦可導致硬體實施複雜且困難。 為解決此等及其他挑戰,本發明中描述之技術可消除或減少除法運算及其他複雜計算在判定或計算各種速率控制參數中之使用。舉例而言,該等技術可使用固定點近似來判定或計算各種速率控制參數。速率控制參數之實例可包括(但不限於):目標速率、平度QP、緩衝器充滿度、位元速率之λ值、緩衝器充滿度之λ值等等。λ值亦可被稱作拉格朗日(Lagrangian或lagrangrian)參數。藉由使用固定點近似,該等技術可減少或消除除法運算及/或其他複雜運算在計算速率控制參數中之使用,此可減少硬體實施之複雜性及成本。舉例而言,可預計算許多值,且可僅使用乘法、加法及位元移位以簡化運算。亦可使用查找表(LUT)以簡化運算。如此處所使用,術語LUT可用以指代可用以儲存預計算值之任何類型的資料結構。下文提供與某些態樣相關之細節。 在相關態樣中,本文揭示提供低成本、固定速率視覺無損壓縮之DSC寫碼器。寫碼器基於一基於區塊之方法設計(例如具有區塊大小P×Q)且可用多種寫碼模式中之一或多者來實施。舉例而言,用於每一區塊之可用的寫碼選項包括變換模式(例如DCT、哈達馬德(Hadamard))、區塊預測模式、差分脈碼調變(DPCM)模式、圖案模式、中點預測(MPP)模式及/或中點預測回降(mid-point predication fall back;MPPF)模式。若干寫碼模式可用於寫碼器中以壓縮不同類型之內容或影像。舉例而言,文字影像可經由圖案模式壓縮,而自然圖片可經由變換模式俘獲。 在進一步相關之態樣中,可基於用於藉由考慮候選模式之速率及失真兩者來選擇用於每一區塊之最佳模式的速率控制技術,自複數個候選寫碼模式中選擇寫碼模式並將其用於每一區塊。速率控制技術可涉及利用緩衝器模型,且編解碼器之設計考慮因素可包括確保緩衝器不處於下溢(例如,在緩衝器中少於零個位元)或上溢(例如,緩衝器大小已增加至超過設定/限定之最大大小)之狀態中。 緩衝器充滿度計算 在以全文引用的方式併入本文中的於2015年8月6日申請之美國專利申請案第14/820,404號(代理人案號:QVID.260A/146525)中,已揭示一種計算緩衝器充滿度(BF)之方法。詳言之,根據某些態樣,在對圖塊中之某一固定數目個區塊寫碼之後,BF以恆定速率線性減小,以此方式,在圖塊末端,若,則BF為100%,其中表示可在圖塊末端包含於速率緩衝器中之位元的最大數目。更精確而言,BF 計算為:<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><img wi="577" he="60" file="02_image014.jpg" img-format="jpg"></img></td><td> (方程式1) </td></tr></TBODY></TABLE> 其中: ··此處,表示迄今在圖塊中經寫碼之區塊的數目,且為可組態之臨限參數。每區塊線性地調整緩衝器之速率計算為:<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><img wi="804" he="59" file="02_image024.jpg" img-format="jpg"></img></td></tr></TBODY></TABLE> 其中。 基於緩衝器充滿度之λ 拉格朗日參數(亦被稱作λ或λ值)可用以計算組合速率及失真之成本函數。舉例而言:可基於編解碼器之狀態(例如,緩衝器充滿度值)調整拉格朗日參數之值,此係因為失真與速率之間的取捨可針對不同區域而不同。舉例而言,速率緩衝器愈滿(高緩衝器充滿度),可損失的特定模式之速率愈高,此係因為緩衝器可能無法容納對寫碼而言代價更高的區塊。在一些實施例中,拉格朗日亦可隨著區塊之位元速率變化而變化(例如,損失隨著區塊之位元速率變化而日益增加)。 在以全文引用方式併入本文中的於2015年4月13日申請之美國專利申請案第14/685,453號(代理人案號:QVID.222A/144569)中,可基於以下方程式計算基於緩衝器充滿度之λ或拉格朗日值:<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><img wi="316" he="68" file="02_image030.jpg" img-format="jpg"></img></td><td> (方程式2) </td></tr></TBODY></TABLE> 其中為可調諧參數。x 計算為,其中BF在此處表示為百分數,例如,緩衝器中所佔用之位元的百分數。然而,所述方程式並非可易於實施於硬體中,此係因為其需要除法。 固定點近似 雖然軟體演算法貫於使用浮點算術將上方術語(例如,緩衝器充滿度BF、λ及/或其類似者)計算至高精度,但此等類型之計算可更加難以實施於基於硬體及ASIC之設計上。根據一些態樣,本發明之技術意欲減低ADSC編解碼器之硬體實施成本。如上文所論述,計算形式之任意除法或如同之繁複函數係困難的,且通常需要浮點算術。為解決此等及其他挑戰,該等技術可用可易於在硬體中計算而無需除法函數、根函數及/或其他潛在繁複浮點函數之計算的固定點近似替換此等計算。 在一項實例中,該等技術可在ADSC編解碼器中提供如下五個固定點演算法改變: ·   目標速率:改變為此數量得以計算之方式 ·   平度QP:改變為此數量得以計算之方式 ·   緩衝器充滿度:改變為此數量得以計算之方式 ·:預計算λ值且儲存於查找表(LUT)中 ·:使用固定點近似計算λ 在另一實例中,可切換計算兩個λ函數之方法。舉例而言,LUT可用以獲得,而固定點近似可用於。在第一實例中,LUT用於,此係由於可每區塊僅僅計算一次,而可針對每一模式每區塊計算一次(例如,使用當前在ADSC中受支援之模式,每區塊6次)。因此,以較多儲存作為交換可能需要總體稍微較少算術(例如,較少運算)之LUT方法可能更加適合。在另一方面,可針對提供或使用較多運算,此係由於不需太頻繁地計算該。 目標速率 在一些實施例中,可使用固定點近似判定目標速率,如下文所述。先前,使用下方展示之浮點比計算目標速率,其中為圖塊中剩餘的位元數目,且為圖塊中剩餘的像素數目。使用所計算的浮點比,圖塊中剩餘之位元可均勻分佈於圖塊中剩餘的區塊/像素上方。由於目標速率係每區塊(例如,16像素/區塊)而非每像素進行計算,因此使用因子16,但應理解,在其他實施例中,每一區塊可具有除16之外的像素數目。然而,此涉及介於兩個大整數之間的浮點計算。另外,因為#px指示隨著圖塊內的像素被處理,所述圖塊中剩餘之像素數目改變,所以對所述計算進行預計算可能不切實際。 為避免此浮點計算,該計算可使用固定點除法器實施,其可表示為。另外,在判定固定點目標速率近似之後,次要LUT可用以基於緩衝器充滿度之當前狀態調整目標速率近似可以與1991年電腦算術第十次會議之論文集(Proceedings of the Tenth Symposium on Computer Arithmetic)第186-190頁Robert Alverson之「Integer Division Using Reciprocals」中所描述的類似之方式計算之固定點近似。給定以下參數: ·:分配至圖塊之總位元 ·:圖塊中之總像素 ·:用以定義LUT之粒度的位元 ·:LUT項用個額外精確度位元進行儲存 在一些實施例中,用於計算之演算法可如下: 1、預計算比例因子N 且儲存於編解碼器之參數清單中。如下文所說明,比例因子N 可基於圖塊中之像素總數目。因為圖塊中之像素總數目()為已知恆定值,所以比例因子N亦為可在執行時間之前經預計算且儲存的恆定值。 2、使用項預計算倒數函數之LUT (),其中p 可對應於圖塊P 中剩餘之位元數目的經按比例縮放版本。此LUT使用個精確度位元進行儲存,從而每一項實際上給出比。在一些實施例中,可包含針對特定範圍之p 值(例如,介於½與1之間的p 值)的p 之倒數值。舉例而言,可經組態使得至之輸入將始終介於½與1之間。 3 說明倒數函數之曲線,其中兩者均具有值6(為64)。 3、當計算時,隨著圖塊之像素得以寫碼,比例因子N 之值可按某些臨限間隔遞減。N 將遞減之下一臨限值可計算為:4、在每一區塊時間,給出編解碼器之當前狀態的目標速率(為圖塊中剩餘之位元數目,為圖塊中剩餘之像素數目)可如下計算: a、首先,更新比例因子:<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td> 若<img wi="73" he="24" file="02_image100.jpg" img-format="jpg"></img>: <img wi="170" he="66" file="02_image102.jpg" img-format="jpg"></img></td></tr></TBODY></TABLE> 如上所說明,隨著圖塊中之位元被處理,當剩餘位元之數目P 降至臨限值τ 之下時,比例因子N 遞減。另外,臨限τ 可基於經遞減比例因子N 更新至新的較低值。隨後,當剩餘位元數目P 再次達到臨限值時,比例因子N 及臨限值τ 可再次進行更新。 b、如下計算目標速率:<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><img wi="173" he="25" file="02_image106.jpg" img-format="jpg"></img>//捨入因子 <img wi="226" he="29" file="02_image108.jpg" img-format="jpg"></img>//捨入因子 <img wi="214" he="31" file="02_image110.jpg" img-format="jpg"></img>//由於自[0.5,1]定義LUT <img wi="577" he="120" file="02_image112.jpg" img-format="jpg"></img></td></tr></TBODY></TABLE> 舉例而言,在特定實施例中,圖塊中剩餘之總位元可為,而圖塊中剩餘之像素數目為 。就此而論,預計算之比例因子N 可計算為 。 用以描述倒數LUT之粒度的位元之數目()及LUT項經儲存為的額外精確度位元之數目()兩者可皆為6。因此可針對範圍為32至63(其可在移位之後變為0至31)之值定義LUT。舉例而言,如下文所示,具有值19,該值在被輸入至LUT中時產生值LUT[19]=80。此對應於。就此而論,LUT能夠針對1/x (其中x=0.8)判定具有6位元精確度之經按比例縮放值。 就此而論,目標速率可計算為:<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><img wi="282" he="26" file="02_image132.jpg" img-format="jpg"></img>//捨入因子 <img wi="345" he="30" file="02_image134.jpg" img-format="jpg"></img>//捨入因子 <img wi="274" he="31" file="02_image136.jpg" img-format="jpg"></img>//由於自[0.5,1]定義LUT <img wi="576" he="184" file="02_image140.jpg" img-format="jpg"></img></td></tr></TBODY></TABLE> 一旦初始目標速率得以近似,藉由基於緩衝器充滿度之當前狀態,加上調整因子來計算每一區塊之目標速率。舉例而言,若緩衝器為幾乎空的,則應增加目標速率,且若緩衝器為幾乎充滿的,則應降低目標速率。 可預計算且儲存調整LUT (d (BF )),其將緩衝器充滿度值BF 與調整值d (BF )相關聯。可基於許多編解碼器參數(例如,位元速率、圖塊大小、色彩空間、色度格式等)對調整LUT進行調諧或調整。大體而言,較佳儲存使用精確度及具有項之調整LUT。由於緩衝器充滿度可使用個位元進行儲存(下文進一步描述),因此可藉由將緩衝器充滿度向下移位所需數目個位元(例如,使用捨入)來獲得正確的調整LUT項。舉例而言:<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><img wi="154" he="28" file="02_image150.jpg" img-format="jpg"></img>//BF精確度與<img wi="13" he="46" file="02_image152.jpg" img-format="jpg"></img> LUT之間的位元差 <img wi="428" he="87" file="02_image154.jpg" img-format="jpg"></img></td></tr></TBODY></TABLE> 可組合此兩個術語(初始目標速率TR 0 及調整值d (BF )),以給出對目標速率之固定點近似:<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><img wi="235" he="30" file="02_image156.jpg" img-format="jpg"></img></td></tr></TBODY></TABLE> 如上文所論述,可使用可有效實施於硬體中之完全固定點算術來計算固定點目標速率。舉例而言,判定目標速率所需的計算可包括加法、減法、位元移位,及LUT查找,而無需任何除法或指數函數。 在一些狀況下,需要將額外速率分配給區塊,該等區塊原本可能寫碼起來成本高或昂貴。舉例而言,圖塊中之第一排內的區塊可能寫碼起來成本高,此歸因於不具有可用於預測的可用垂直相鄰者。就此而論,此等區塊之寫碼效率可能降低,從而導致較高的預期速率要求。在此狀況下,可藉由固定上文的調整值來調整每一區塊之速率。作為一實例,假定標稱目標速率為96位元/區塊。為將FLS(圖塊第一排)內的區塊增加至192位元/區塊,可將偏移僅用於該FLS。在此偏移之後,對於NFLS(圖塊的非第一排)內的區塊,目標速率可恢復為計算成。<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><b>FLS</b><b>:</b><img wi="199" he="26" file="02_image164.jpg" img-format="jpg"></img><b>NFLS</b><b>:</b><img wi="216" he="25" file="02_image166.jpg" img-format="jpg"></img></td></tr></TBODY></TABLE> 在另一實施例中,目標速率可考慮FLS及緩衝器充滿度兩者。舉例而言:<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><b>FLS</b>:<img wi="279" he="25" file="02_image168.jpg" img-format="jpg"></img><b>NFLS</b>:<img wi="215" he="24" file="02_image170.jpg" img-format="jpg"></img></td></tr></TBODY></TABLE> 4 說明根據一些實施例的用於使用固定點近似判定區塊之目標速率之方法的流程圖。在區塊302處,預計算且儲存比例因子。比例因子可對應於常數N 。在一些實施例中,可使用比例因子判定對應於圖塊中剩餘之像素數目的臨限值,接著比例因子可遞減。 在區塊404處,可預計算且儲存用於計算倒數之LUT。在一些實施例中,可使用預期值範圍內(例如,介於½與1之間)的n1 個精確度位元儲存LUT。在一些實施例中,區塊402及404可對應於可在對視訊資料寫碼之前執行的預計算步驟。舉例而言,比例因子N 及倒數LUT可儲存於視訊編解碼器之參數清單中。 在寫碼期間,可計算圖塊之每一區塊之目標值。在區塊406處,可關於圖塊中待寫碼之剩餘像素數目是否小於臨限值進行判定。可基於比例因子N 判定臨限值(例如,基於N 之位元移位)。 若圖塊中之剩餘像素小於臨限值,則在區塊408處,可更新比例因子N 。在一些實施例中,比例因子可遞減。另外,可基於經更新之比例因子判定新的臨限值。 在區塊410處,使用固定點近似、使用比例因子N 及倒數LUT估計區塊之目標速率。在一些實施例中,可基於以緩衝器充滿度之位準為基礎的調整值進一步修改經估計目標速率。舉例而言,若緩衝器充滿度高,則目標速率可減小。在另一方面,若緩衝器充滿度低,則目標速率可增加。在一些實施例中,可基於當前區塊是否為圖塊之第一排區塊之部分進一步調整目標值。在一些實施例中,可針對圖塊之每一區塊重複區塊406至410。 就此而論,藉由預計算且儲存一或多個常數(例如,比例因子N )及/或使用LUT之一或多個函數(例如,倒數LUT),可使用固定點近似計算諸如目標速率之參數,從而藉由避免諸如除法及指數函數之複雜計算而允許此等計算更易於在硬體中執行。 隨著緩衝器充滿度變化而變化之平度QP 如上文在先前章節中所論述,目標速率之調整LUT (d (BF ))對應於依據緩衝器充滿度對編解碼器之每區塊目標速率的調整。使用此技術,目標速率可在速率緩衝器幾乎充滿時較低,且在速率緩衝器幾乎為空時較高。 以相同或類似方式,該等技術可依據緩衝器充滿度調整平度QP。在某些實施例中,平度QP可指基於(例如)具有變化複雜性之區域之間的平度偵測而執行的QP值(例如,自複雜區域至平坦區域之轉變,自平坦區域至複雜區域之轉變,等等)。舉例而言,平度QP可類似於2015年4月13日申請之美國專利申請案第14/685,479號(代理人案號:QVID.221A/144568)中描述之QP或平度QP或與其相同,該申請案以全文引用的方式併入本文中,且一般QP調整方案可類似於2015年4月13日申請之美國臨時申請案第62/146,898號(代理人案號:QVID.270PR1/153027P1)中論述的QP調整方案或與其相同,該申請案以全文引用的方式併入本文中。 詳言之,當自平坦區域轉變至複雜區域或自複雜區域轉變至平坦區域時,可調整QP使得視覺假影不會出現在此等邊界處。然而,編解碼器所改變至的QP可取決於緩衝器充滿度。舉例而言,在極困難或複雜區域中,可能需要使用中等QP值,此係因為速率緩衝器處於負擔較重之狀態中。根據某些態樣,值得注意,可選擇中等QP值,從而不在自平坦至複雜(或反之亦然)之轉變處引入視覺偽影。在另一方面,若速率緩衝器幾乎為空的,則可以較高速率為代價而使用極低QP來最小化失真。可預計算且儲存將緩衝器充滿度值與QP調整值相關聯的。 以類似於上文的方式,緩衝器充滿度可向下移位個位元,其中為緩衝器充滿度之位元數目,且為用以定義平度QP調整LUT之位元數目。可調諧或調整LUT之位元數目及包含於LUT中之值,此取決於編解碼器之組態。舉例而言,其可取決於諸如以下因子而改變:經壓縮位元率、RGB/YCbCr輸入、色度次取樣等等。以此方式,可使用固定點近似判定平度QP。<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><img wi="154" he="29" file="02_image184.jpg" img-format="jpg"></img>//BF精確度與平度QP LUT之間的位元差 <img wi="501" he="45" file="02_image186.jpg" img-format="jpg"></img><img wi="474" he="30" file="02_image188.jpg" img-format="jpg"></img></td></tr></TBODY></TABLE> 5 說明根據一些實施例的用於使用固定點近似判定區塊之平度QP之方法的流程圖。在區塊502處,預計算且儲存將緩衝器充滿度值與QP調整值相關聯之LUT或其他資料結構。在區塊504處,在圖塊之特定區塊的寫碼時間期間,關於區塊是否含有平坦區域與複雜區域之間的轉變進行判定。在一些實施例中,可藉由判定與區塊相關聯之複雜度值,且將經判定複雜度值與一或多個臨限值進行比較來進行該判定。在一些實施例中,亦可考慮一或多個相鄰區塊之複雜度值。若判定區塊內不存在轉變,則可一般性地設定區塊之QP值,而非設定成平度QP調整值。程序接著可針對待寫碼之視訊資料之後續區塊返回至區塊504。 在另一方面,若判定區塊內存在轉變,則可能需要判定平度QP調整。在區塊506處,基於用於緩衝器充滿度之位元數目及用以定義QP調整值之位元數目將當前緩衝器充滿度值移位。在區塊506處,使用經預計算LUT及經移位緩衝器充滿度值來判定QP調整值。另外,QP調整值可經削剪介於0與用以定義QP調整值之位元數目之最大值之間。 在區塊510處,可將與區塊相關聯之QP值設定成經判定QP調整值。程序接著可針對待寫碼之視訊資料之後續區塊返回至區塊504。 儘管圖5說明在判定平度QP調整值之前判定區塊是否含有轉變,但應理解,在其他實施例中,可在分析區塊之複雜性之前判定平度QP調整值。 緩衝器充滿度 基於上文方程式(1)計算之緩衝器充滿度並非可易於實施於硬體中,此係因為其需要除法運算。詳言之,方程式(1)中之分母值bufAdjSize 的值取決於圖塊中之區塊的位置而改變。就此而論,預計算用於計算緩衝器充滿度之除法值可能不切實際。舉例而言, 6 說明在圖塊之區塊被寫碼時,bufAdjSize 可如何改變。舉例而言,對於高達numBlocksTh 臨限值之區塊數目,bufAdjSize 可與BufferMaxSize 相同(例如,offset =0)。然而,在臨限數目個區塊得以寫碼之後,bufAdjSize 可在額外區塊得以寫碼時減小。 為了易於在硬體中計算緩衝器充滿度,offset 值可自分母移動至分子,使得分母bufferAdjSize 變為BufferMaxSize ,該BufferMaxSize 在整個圖塊上為常數。舉例而言,方程式(1)修改為:<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><img wi="717" he="64" file="02_image190.jpg" img-format="jpg"></img></td><td> (方程式3) </td></tr></TBODY></TABLE> 方程式(3)中之offset 值係以與上文關於方程式(1)所描述的相同之方式進行計算。在一項替代例中,可省略方程式(3)之分子中的。當在圖塊末端BufferCurrentSize =maxBufferBitsAtSliceEnd 時,基於方程式(3)計算緩衝器充滿度之經修改方法將產生100%緩衝器充滿度。 應理解,雖然方程式(3)並非等效於方程式(1),但如用方程式(3)所計算的BF之一般行為將很大程度上類似於針對圖塊內之不同區塊的方程式(1)之一般行為。 因為方程式(3)中之分母可在整個圖塊上為恆定值,所以可使用固定點近似計算緩衝器充滿度BF。舉例而言,可如在下文方程式(4)中判定方程式(3)之固定點近似。可預計算基於恆定值BufferMaxSize 之因子,且將其儲存於(例如)編解碼器之圖片參數集(PPS)中。 給定以下參數之集合, ·:用以表示緩衝器充滿度之位元數目 ·:用以計算緩衝器充滿度之精確度 範圍介於0至(2^BfRangeBits)-1 的緩衝器充滿度之整數值(表示為)可計算為:<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><img wi="589" he="32" file="02_image202.jpg" img-format="jpg"></img></td><td> (方程式4) </td></tr></TBODY></TABLE> 其中,其可儲存於編解碼器之參數集中。 在方程式(4)之一項替代例中,在向右移位之前,可在分子處加上值,以便捨入至最接近的整數。在一些實施例中,參數BfRangeBits 及/或BfScaleBits 可為可按比例縮放的,從而可調整用於計算緩衝器充滿度的位元數目及精確度。舉例而言,a 可經預計算為,且接著基於BfRangeBitsBfScaleBits 之值使其位元移位。 7 說明根據一些實施例的用於判定緩衝器充滿度之程序的流程圖。在區塊702處,可預計算且儲存最大緩衝器大小之倒數。舉例而言,該倒數可儲存為視訊編解碼器之參數集之部分。 在區塊704處,可基於用於表示緩衝器充滿度之位元數目及/或用於計算緩衝器充滿度之精確度值而按比例縮放最大緩衝器大小的倒數。在一些實施例中,位元數目及精確度可為常數,且可在區塊702處用最大緩衝器大小之倒數進行預計算。 在區塊706處,可基於當前緩衝器大小及最大緩衝器大小之經按比例縮放倒數判定緩衝器充滿度。藉由偏置最大緩衝器大小而非經調整緩衝器大小上的緩衝器充滿度量測結果(如在方程式(1)中),可使用固定點近似而非浮點近似來計算緩衝器充滿度,從而允許更易於實施於硬體中。 位元速率之拉格朗日參數-λ(位元速率) 如上文所論述,可依據給定區塊之位元速率(例如,在某一模式中對區塊寫碼所需的位元數目)調整λ或拉格朗日參數。在一個實施例中,如下文所述,可使用固定點近似判定位元速率之拉格朗日參數。先前,拉格朗日參數可計算為:其中為可調諧或可調整參數,且,其中為用以對區塊寫碼之位元數目(亦被稱作區塊之位元速率,且其可基於目標速率、QP值及/或其他參數),且為最差狀況位元/區塊。此計算可使用浮點算術完成,該計算並不非常適合於硬體實施。 為使用固定點算術依據位元速率計算拉格朗日參數,可使用LUT ()。另外,可預計算比例因子,且將其儲存於編解碼器之參數集中。比例因子可用以將分母maxBits (例如,每區塊之最大位元)變換為2的冪,從而可使用位元移位而非除法。 給定以下參數: ·:用於λ計算之總精確度 ·有大小用於計算之演算法如下: 1、使用上述指數函數預計算。 a、在一個實施例中,函數可經均勻取樣以便產生LUT。 b、在另一實施例中,可非均勻地取樣函數,從而對函數中具有較高動態範圍之區較密集地進行取樣,而對具有較低範圍之區較稀疏地進行取樣。 2、將比例因子預計算為:<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><img wi="336" he="59" file="02_image238.jpg" img-format="jpg"></img></td></tr></TBODY></TABLE> 3、最終,查找LUT中之λ值:<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><img wi="385" he="29" file="02_image240.jpg" img-format="jpg"></img></td></tr></TBODY></TABLE> 在對上文之替代性方法中,LUT可儲存有經減少數目個項(例如,16,而非64),且接著可使用雙線性內插將值近似。此可能需要稍微更多邏輯來判定值;然而,可使用固定點內插,其將限制最差狀況複雜性。取捨將為添加邏輯,以作為對LUT表之經減少儲存的交換。 8 說明根據一些實施例的用於判定位元速率之拉格朗日參數之程序的流程圖。在區塊802處,預計算比例因子c 。比例因子c可經組態為常數,藉由c 按比例縮放之maxBits 將為2的冪,從而允許使用位元移位運算執行除以maxBits 。 在區塊804處,將用以對區塊寫碼之位元數目與位元速率拉格朗日相關聯的LUT或其他資料結構。在一些實施例中,可基於比例因子c 、精確度因子,及LUT或資料結構之大小之指示按比例縮放位元數目。 在寫碼時間期間,在區塊806處,基於用以對區塊寫碼之位元數目,及經預計算LUT及比例因子c 判定區塊的位元速率拉格朗日。 緩衝器充滿度之拉格朗日參數-λ(BF) 如上文所論述,可基於緩衝器充滿度量度調整區塊之拉格朗日參數。根據某些態樣,緩衝器充滿度之範圍()為:。因此,在方程式(2)中計算為可重寫為:使用上文,方程式2可如下進行修改:<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><img wi="442" he="71" file="02_image253.jpg" img-format="jpg"></img></td><td> (方程式5) </td></tr></TBODY></TABLE> 為增加精確度,上文方程式可乘以恆定比例因子,其中為正整數。在一些實施例中,可使用固定點近似判定緩衝器充滿度之λ值或拉格朗日參數,如下文所述。 在一個實施例中,為使用固定點算術計算基於緩衝器充滿度之λ,可使用查找表(LUT)方法。舉例而言,若方程式(5)中之d1 並非為2的冪,則可使用LUT。在一項實例中,可藉由使用位元對進行線性取樣,來使用方程式(5)建構LUT,以產生大小為之LUT。一旦LUT得以建構,便可使用計算為之索引自LUT推斷緩衝器充滿度λ,其中。在一些實施例中,索引可計算為。最後,在一些實施例中,必要時,所計算的index 值可經削剪至與0之各別最大及最小值,以便確保LUT中的有效項。 在另一實例中,可基於非線性取樣而建構LUT,其中可用不均勻步長大小對進行取樣。在一項實例中,可在較低範圍下對LUT較粗略地進行取樣,且在較高範圍下對LUT較密集地進行取樣,(例如),步長在移動離開零時增加。在另一實例中,較密集取樣可在較低範圍下,且粗略取樣在較高範圍下。 在另一替代例中,可修改方程式(5),使得可易於用較少運算計算λ,從而可即時地(on the fly)計算λ。舉例而言,方程式可進行修改,使其僅僅涉及整數乘法、移位運算(右移位及左移位兩者),及加法。換言之,經修改方程式並不含有任何除法運算。此方法之優點在於其可減少LUT儲存且消除用LUT進行之記憶體存取操作。在一項實例中,若d1 為2的冪,則函數可易於使用固定點算術進行計算。 以此方式,該等技術可(例如)藉由使用固定點近似減少或消除導致硬體實施中之複雜性、困難及/或增加之成本的運算之使用。此等運算可涉及除法、繁複或複雜函數或計算、浮點算術等等。可使用上文固定點近似顯著減少所提議ADSC編解碼器或模型之硬體複雜性。 本發明中描述之所有實例及實施例可單獨地或以組合方式實施,此取決於實施例。可省略或改變實例及實施例之某些特徵,且可將其他特徵添加至該等實例及實施例,此取決於實施例。 9 說明根據一些實施例的用於判定緩衝器充滿度之拉格朗日參數之程序的流程圖。在區塊902處,預計算且儲存LUT或其他資料結構。LUT或其他資料結構可將緩衝器充滿度()與緩衝器充滿度之拉格朗日參數相關聯。 在區塊904處,在寫碼時間期間,可基於用以表示緩衝器充滿度值之像素數目及/或LUT或資料結構之大小之指示(例如,LUT索引之像素數目)按比例縮放所計算的緩衝器充滿度值(例如,使用圖7中所說明之程序) 在區塊906處,將經按比例縮放之緩衝器充滿度值用作至LUT或資料結構(例如,LUT索引)之輸入,以判定緩衝器充滿度之拉格朗日參數。 其他考慮因素 應注意,已經自編碼器(諸如, 2A 中之視訊編碼器20)之視角描述了本發明之態樣。然而,熟習此項技術者將瞭解,與彼等上文所描述之操作相反的操作可應用於解碼由(例如) 2B 中之視訊解碼器30產生的位元串流。 可使用多種不同技術及技藝中之任何者來表示本文中揭示之資訊及信號。舉例而言,可由電壓、電流、電磁波、磁場或磁性粒子、光場或光學粒子或其任何組合表示在整個以上描述中可參考之資料、指令、命令、資訊、信號、位元、符號及碼片。 結合本文中所揭示之實施例而描述之各種說明性邏輯區塊及演算法步驟可被實施為電子硬體、電腦軟體或兩者之組合。為了清楚地說明硬體與軟體之此可互換性,上文已大體在其功能性方面描述了各種說明性組件、區塊及步驟。將此類功能性實施為硬體抑或軟體取決於特定應用及強加於整個系統之設計約束。熟習此項技術者可針對每一特定應用以不同方式實施所描述的功能性,但此等實施決策不應被解釋為引起偏離本發明之範疇。 因此,本文中描述之技術可以硬體、軟體、韌體或其任何組合實施。此類技術可以多種器件中之任一者實施,諸如,通用電腦、無線通信器件手機、或積體電路器件,該等積體電路器件具有包括無線通信器件手機、汽車的器件、電氣設備、可穿戴器件及/或其他器件中之應用的多個用途。可將描述為器件或組件之任何特徵一起實施於整合式邏輯器件中或分開來實施為離散但可互操作之邏輯器件。若以軟體實施,則該等技術可至少部分由包含包括當經執行時執行以上描述方法中之一或多者之指令之程式碼的電腦可讀資料儲存媒體實現。電腦可讀資料儲存媒體可形成電腦程式產品之部分,該電腦程式產品可包括封裝材料。電腦可讀媒體可包含記憶體或資料儲存媒體,諸如,隨機存取記憶體(RAM)(諸如,同步動態隨機存取記憶體(SDRAM))、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體、磁性或光學資料儲存媒體及其類似者。該等技術另外或替代地可至少部分由電腦可讀通信媒體實現,該電腦可讀通信媒體攜載或傳遞呈指令或資料結構之形式且可由電腦存取、讀取及/或執行的程式碼,諸如,傳播之信號或波。 程式碼可由可包括諸如以下之一或多個處理器之處理器執行:一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效整合式或離散邏輯電路。此處理器可經組態以執行本發明中所描述之技術中之任一者。通用處理器可為微處理器;但在替代方案中,處理器可為任何習知處理器、控制器、微控制器或狀態機。處理器亦可實施為計算裝置之組合,例如DSP與微處理器之組合、複數個微處理器、一或多個微處理器結合DSP核心,或任何其他此類組態。因此,如本文中所使用之術語「處理器」可指前述結構、前述結構之任何組合或適合於實施本文中描述之技術的任何其他結構或裝置中之任一者。此外,在一些態樣中,本文中描述之功能性可提供於經組態用於編碼及解碼之專用軟體或硬體內,或併入於組合之視訊編碼器-解碼器(編解碼器)中。再者,該等技術可完全實施於一或多個電路或邏輯元件中。 本發明之技術可在多種器件或裝置中實施,該等器件或裝置包括無線手機、積體電路(IC)或IC組(例如,晶片組)。在本發明中描述各種組件或單元以強調經組態以執行所揭示技術之器件的功能態樣,但未必需要藉由不同硬體單元實現。實情為,如上文所描述,可將各種單元組合於編解碼器硬體單元中,或藉由互操作性硬體單元(包括如上文所描述之一或多個處理器)之集合結合合適軟體及/或韌體來提供該等單元。 雖然已經結合各種不同實施例描述了前文,但可在不脫離本發明之教示的情況下將來自一個實施例之特徵或元件與其他實施例組合。然而,各別實施例之間的特徵之組合不必限於此。已描述了本發明之各種實施例。此等及其他實施例在所附申請專利範圍之範疇內。
10‧‧‧視訊寫碼系統
10'‧‧‧視訊寫碼系統
11‧‧‧器件
12‧‧‧源器件
13‧‧‧處理器/控制器器件
14‧‧‧目的地器件
16‧‧‧連結
18‧‧‧視訊源
20‧‧‧視訊編碼器
22‧‧‧輸出介面
28‧‧‧輸入介面
30‧‧‧視訊解碼器
32‧‧‧顯示器件
105‧‧‧色彩空間轉換器
110‧‧‧緩衝器
115‧‧‧平度偵測器
120‧‧‧速率控制器
125‧‧‧預測器、量化器、及重建構器組件
130‧‧‧排緩衝器
135‧‧‧帶索引的色彩歷史
140‧‧‧熵編碼器
145‧‧‧子串流多工器
150‧‧‧速率緩衝器
155‧‧‧速率緩衝器
160‧‧‧子串流解多工器
165‧‧‧熵解碼器
170‧‧‧速率控制器
175‧‧‧預測器、量化器及重建構器組件
180‧‧‧帶索引的色彩歷史
185‧‧‧排緩衝器
190‧‧‧色彩空間轉換器
1A 為說明可利用根據本發明中描述之態樣的技術之實例視訊編碼及解碼系統之方塊圖。 1B 為說明可執行根據本發明中描述之態樣的技術之另一實例視訊編碼及解碼系統之方塊圖。 2A 為說明可實施根據本發明中描述之態樣的技術之視訊編碼器之實例之方塊圖。 2B 為說明可實施根據本發明中描述之態樣的技術之視訊解碼器之實例的方塊圖。 3 說明展示倒數函數之曲線,其中n 1 具有值6 (1<<n 1 為64)。 4 說明根據一些實施例的用於使用固定點近似判定區塊之目標速率之實例方法的流程圖。 5 說明根據一些實施例的用於使用固定點近似判定區塊之平度QP之實例方法的流程圖。 6 說明在圖塊之區塊被寫碼時,bufAdjSize 可如何改變。 7 說明根據一些實施例的用於判定緩衝器充滿度之實例程序的流程圖。 8 說明根據一些實施例的用於判定位元速率之拉格朗日參數之實例程序的流程圖。 9 說明根據一些實施例的用於判定緩衝器充滿度之拉格朗日參數之程序的流程圖。

Claims (29)

  1. 一種用於對視訊資料寫碼之裝置,其包含: 一記憶體,其用於儲存該視訊資料,該記憶體包括一緩衝器;及 一硬體處理器,其以操作方式耦接至該記憶體且經組態以: 基於一視訊資料圖塊內之像素之一總數目判定且儲存一比例參數; 判定且儲存將複數個輸入值與其倒數值相關聯之一資料結構; 接收該待寫碼視訊資料,該視訊資料包含劃分成複數個區塊之至少一個圖塊; 基於該所儲存比例參數判定一臨限值; 針對該圖塊之一待寫碼區塊,回應於該圖塊中之剩餘像素之一數目小於該臨限值的一判定,更新該比例參數,且基於比例因子判定一經更新臨限值;及 執行一或多個固定點近似運算,以基於與剩餘像素之該數目相關聯的基於該比例因子按比例縮放之一倒數值而判定該區塊之一目標速率,其中該倒數值係使用該所儲存資料結構進行判定。
  2. 如請求項1之裝置,其中該資料結構包含一查找表(LUT)。
  3. 如請求項1之裝置,其中該硬體處理器經進一步組態以基於一緩衝器充滿度量度將該經判定目標速率調整一量。
  4. 如請求項3之裝置,其中該調整量係基於使用一查找表(LUT)進行判定。
  5. 如請求項1之裝置,其中該硬體處理器經進一步組態以基於該區塊是否定位於該圖塊之一第一排上而調整該經判定目標速率。
  6. 如請求項1之裝置,其中該硬體處理器經進一步組態以基於該圖塊中之剩餘位元之一數目按比例縮放該倒數值。
  7. 一種用於判定對視訊資料區塊寫碼之目標速率的電腦實施方法,其包含: 基於一視訊資料圖塊內之像素之一總數目判定且儲存一比例參數; 判定且儲存將複數個輸入值與其倒數值相關聯之一資料結構; 接收該待寫碼視訊資料,該視訊資料包含劃分成複數個區塊之至少一個圖塊; 基於該所儲存比例參數判定一臨限值; 針對該圖塊之一待寫碼區塊,回應於該圖塊中之剩餘像素之一數目小於該臨限值的一判定,更新該比例參數,且基於比例因子判定一經更新臨限值;及 執行一或多個固定點近似運算,以基於與剩餘像素之該數目相關聯的基於該比例因子按比例縮放之一倒數值而判定該區塊之一目標速率,其中該倒數值係使用該所儲存資料結構進行判定。
  8. 如請求項7之電腦實施方法,其中該資料結構包含一查找表(LUT)。
  9. 如請求項7之電腦實施方法,其進一步包含基於一緩衝器充滿度量度將該經判定目標速率調整一量。
  10. 如請求項9之電腦實施方法,其中該調整量係基於使用一查找表(LUT)進行判定。
  11. 如請求項7之電腦實施方法,其進一步包含基於該區塊是否定位於該圖塊之一第一排上而調整該經判定目標速率。
  12. 如請求項7之電腦實施方法,其進一步包含基於該圖塊中之剩餘位元之一數目按比例調整該倒數值。
  13. 一種裝置,其包含: 用於基於一視訊資料圖塊內之像素之一總數目判定且儲存一比例參數的構件; 用於判定且儲存將複數個輸入值與其倒數值相關聯之一資料結構的構件; 用於接收該待寫碼視訊資料的構件,該視訊資料包含劃分成複數個區塊之至少一個圖塊; 用於基於該所儲存比例參數判定一臨限值的構件; 用於針對該圖塊之一待寫碼區塊,回應於該圖塊中之剩餘像素之一數目小於該臨限值的一判定,更新該比例參數,且基於比例因子判定一經更新臨限值的構件;及 用於執行一或多個固定點近似運算,以基於與剩餘像素之該數目相關聯的基於該比例因子按比例縮放之一倒數值而判定該區塊之一目標速率的構件,其中該倒數值係使用該所儲存資料結構進行判定。
  14. 如請求項13之裝置,其中該資料結構包含一查找表(LUT)。
  15. 如請求項13之裝置,其進一步包含用於基於一緩衝器充滿度量度將該經判定目標速率調整一量的構件。
  16. 如請求項15之裝置,其中該調整量係基於使用一查找表(LUT)進行判定。
  17. 如請求項13之裝置,其進一步包含用於基於該區塊是否定位於該圖塊之一第一排上而調整該經判定目標速率的構件。
  18. 如請求項13之裝置,其進一步包含用於基於該圖塊中之剩餘位元之一數目按比例調整該倒數值的構件。
  19. 一種上面儲存有與一影像之一圖塊有關之視訊資料的非暫時性電腦可讀儲存媒體,該圖塊包含一或多個區塊,其中該儲存媒體上進一步儲存有指令,該等指令在被執行時使得一器件之一處理器: 基於一視訊資料圖塊內之像素之一總數目判定且儲存一比例參數; 判定且儲存將複數個輸入值與其倒數值相關聯之一資料結構; 接收該待寫碼視訊資料,該視訊資料包含至少一個圖塊; 基於該所儲存比例參數判定一臨限值; 針對該圖塊之一待寫碼區塊,回應於該圖塊中之剩餘像素之一數目小於該臨限值的一判定,更新該比例參數,且基於比例因子判定一經更新臨限值;及 執行一或多個固定點近似運算,以基於與剩餘像素之該數目相關聯的基於該比例因子按比例縮放之一倒數值而判定該區塊之一目標速率,其中該倒數值係使用該所儲存資料結構進行判定。
  20. 如請求項19之非暫時性電腦可讀儲存媒體,其中該資料結構包含一查找表(LUT)。
  21. 如請求項19之非暫時性電腦可讀儲存媒體,其中該儲存媒體上進一步儲存有指令,該等指令在被執行時使得該處理器基於一緩衝器充滿度量度將該經判定目標速率調整一量。
  22. 如請求項21之非暫時性電腦可讀儲存媒體,其中該調整量係基於使用一查找表(LUT)進行判定。
  23. 如請求項19之非暫時性電腦可讀儲存媒體,其中該儲存媒體上進一步儲存有指令,該等指令在被執行時使得該處理器基於該區塊是否定位於該圖塊之一第一排上而調整該經判定目標速率。
  24. 如請求項19之非暫時性電腦可讀儲存媒體,其中該儲存媒體上進一步儲存有指令,該等指令在被執行時,使得該處理器基於該圖塊中之剩餘位元之一數目按比例調整該倒數值。
  25. 一種用於對視訊資料寫碼之裝置,其包含: 一記憶體,其用於儲存該視訊資料,該記憶體包括一緩衝器;及 一硬體處理器,其以操作方式耦接至該記憶體且經組態以: 基於一最大緩衝器大小之一倒數判定且儲存一第一參數值; 接收該待寫碼視訊資料,該視訊資料包含劃分成複數個區塊之至少一個圖塊; 針對該圖塊之一待寫碼區塊,基於指示用以表示緩衝器充滿度之位元之一數目的一第一值及指示計算緩衝器充滿度所用之精確度之一第二值,按比例縮放該第一參數;及 執行一或多個固定點近似運算,以基於該經按比例縮放之第一參數、該緩衝器之一當前大小、基於該圖塊內的該區塊之一位置的一緩衝器偏移值,及指示計算緩衝器充滿度所用之精確度之該第二值判定用於該區塊的一緩衝器充滿度值。
  26. 如請求項25之裝置,其中該硬體處理器經進一步組態以執行以下操作: 判定且儲存將緩衝器充滿度值與緩衝器充滿度值之拉格朗日值相關聯的一資料結構; 接收該待寫碼視訊資料,該視訊資料包含劃分成複數個區塊之至少一圖塊; 針對該圖塊之一待寫碼區塊,基於指示用以對該緩衝器充滿度值寫碼之一位元數目的一第一參數及指示用以對該資料結構之一索引寫碼之一位元數目的一第二參數,按比例縮放該區塊之一所計算之緩衝器充滿度值;及 執行一或多個固定點近似運算,以使用該所儲存資料結構及該經按比例縮放緩衝器充滿度值判定該緩衝器充滿度值之一拉格朗日值。
  27. 一種用於對視訊資料寫碼之裝置,其包含: 一記憶體,其用於儲存該視訊資料,該記憶體包括一緩衝器;及 一硬體處理器,其以操作方式耦接至該記憶體且經組態以: 判定且儲存將緩衝器充滿度值與量化參數(QP)調整值相關聯之一資料結構; 接收該待寫碼視訊資料,該視訊資料包含劃分成複數個區塊之至少一個圖塊; 針對該圖塊之一待寫碼區塊,判定該區塊是否含有一複雜區域與一平坦區域之間的一轉變,其中複雜區域與平坦區域相比具有較高複雜性; 回應於該區塊含有一轉變的一判定,基於用以對一緩衝器充滿度值寫碼之位元之一數目及用以對一QP調整值寫碼之位元之一數目將該緩衝器充滿度值移位; 執行一或多個固定點近似運算,以基於該所儲存資料結構及該經移位緩衝器充滿度值判定該區塊之一QP調整值;及 將該區塊之一QP設定為該經判定QP調整值。
  28. 一種用於對視訊資料寫碼之裝置,其包含: 一記憶體,其用於儲存該視訊資料;及 一硬體處理器,其以操作方式耦接至該記憶體且經組態以: 基於可用以對一視訊資料區塊寫碼之位元之一最大數目,判定且儲存一第一比例參數; 判定且儲存將用以對視訊資料區塊寫碼之位元數目與位元速率之拉格朗日參數相關聯的一資料結構; 接收該待寫碼視訊資料,該視訊資料包含劃分成複數個區塊之至少一個圖塊; 針對該圖塊之一待寫碼區塊,執行一或多個固定點近似運算,基於對該區塊寫碼之藉由該第一比例參數調整之位元之一數目,使用該資料結構判定該區塊之一位元速率的一拉格朗日。
  29. 一種用於對視訊資料寫碼之裝置,其包含: 一記憶體,其用於儲存該視訊資料,該記憶體包括一緩衝器;及 一硬體處理器,其以操作方式耦接至該記憶體且經組態以: 判定且儲存將緩衝器充滿度值與緩衝器充滿度值之拉格朗日值相關聯的一資料結構; 接收該待寫碼視訊資料,該視訊資料包含劃分成複數個區塊之至少一個圖塊; 針對該圖塊之一待寫碼區塊,基於指示用以對該緩衝器充滿度值寫碼之位元之一數目的一第一參數及指示用以對該資料結構之一索引寫碼之位元之一數目的一第二參數,按比例縮放該區塊之一所計算之緩衝器充滿度值;及 執行一或多個固定點近似運算,以使用該所儲存資料結構及該經按比例縮放緩衝器充滿度值判定該緩衝器充滿度值之一拉格朗日值。
TW105137961A 2015-11-19 2016-11-18 用於在顯示器串流壓縮中固定點近似之系統及方法 TWI721042B (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201562257604P 2015-11-19 2015-11-19
US62/257,604 2015-11-19
US201562264067P 2015-12-07 2015-12-07
US62/264,067 2015-12-07
US201662305314P 2016-03-08 2016-03-08
US62/305,314 2016-03-08
US15/353,468 US10432952B2 (en) 2015-11-19 2016-11-16 System and methods for fixed-point approximations in display stream compression (DSC)
US15/353,468 2016-11-16

Publications (2)

Publication Number Publication Date
TW201722155A true TW201722155A (zh) 2017-06-16
TWI721042B TWI721042B (zh) 2021-03-11

Family

ID=57485923

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105137961A TWI721042B (zh) 2015-11-19 2016-11-18 用於在顯示器串流壓縮中固定點近似之系統及方法

Country Status (9)

Country Link
US (1) US10432952B2 (zh)
EP (1) EP3378230B1 (zh)
JP (1) JP6772266B2 (zh)
KR (1) KR102101107B1 (zh)
CN (2) CN111726628B (zh)
AU (1) AU2016355664B2 (zh)
BR (1) BR112018010137A8 (zh)
TW (1) TWI721042B (zh)
WO (1) WO2017087626A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11546611B2 (en) 2018-08-01 2023-01-03 Samsung Display Co., Ltd. Rate control for fixed rate foveated display compression
CN109246443B (zh) * 2018-11-28 2021-03-23 湖南快乐阳光互动娱乐传媒有限公司 一种直播流切片同步方法及系统
WO2020228763A1 (en) * 2019-05-14 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Methods on scaling in video coding
US20220046257A1 (en) * 2020-08-05 2022-02-10 Facebook, Inc. Quality metrics accelerator with inline scalers
CN112437300B (zh) * 2020-11-23 2022-04-15 武汉理工大学 一种基于自适应区间重叠因子的分布式视频编码方法
WO2023049292A1 (en) * 2021-09-22 2023-03-30 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for decoder-side intra mode derivation
KR102611423B1 (ko) * 2022-07-01 2023-12-07 주식회사 네패스 이미지 스케일링 장치 및 이미지 스케일링 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1513350A1 (en) * 2003-09-03 2005-03-09 Thomson Licensing S.A. Process and arrangement for encoding video pictures
US7697608B2 (en) * 2004-02-03 2010-04-13 Sony Corporation Scalable MPEG video/macro block rate control
KR100963459B1 (ko) * 2006-06-26 2010-06-17 퀄컴 인코포레이티드 순이산 및 역이산 코사인 변환의 효율적인 고정 소수점 근사
WO2010005691A1 (en) * 2008-06-16 2010-01-14 Dolby Laboratories Licensing Corporation Rate control model adaptation based on slice dependencies for video coding
KR20110036882A (ko) * 2008-06-24 2011-04-12 파나소닉 주식회사 기록매체, 재생장치, 집적회로, 재생방법, 프로그램
US8897365B2 (en) 2008-11-19 2014-11-25 Nvidia Corporation Video rate control processor for a video encoding process
CN103918262B (zh) * 2011-06-14 2017-11-10 王舟 基于结构相似度的码率失真优化感知视频编码方法和系统
US9451250B2 (en) * 2012-10-03 2016-09-20 Broadcom Corporation Bounded rate compression with rate control for slices
US20140192266A1 (en) * 2013-01-04 2014-07-10 Qualcomm Incorporated Method and apparatus of reducing compression noise in digital video streams
US9936200B2 (en) * 2013-04-12 2018-04-03 Qualcomm Incorporated Rice parameter update for coefficient level coding in video coding process
US9848193B2 (en) * 2014-04-15 2017-12-19 Qualcomm Incorporated System and method for selecting quantization parameter (QP) in display stream compression (DSC)
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)
US10356428B2 (en) 2015-04-13 2019-07-16 Qualcomm Incorporated Quantization parameter (QP) update classification for display stream compression (DSC)

Also Published As

Publication number Publication date
EP3378230B1 (en) 2020-12-16
TWI721042B (zh) 2021-03-11
BR112018010137A2 (pt) 2018-11-13
WO2017087626A1 (en) 2017-05-26
JP6772266B2 (ja) 2020-10-21
AU2016355664A1 (en) 2018-04-26
CN111726628A (zh) 2020-09-29
KR20180083861A (ko) 2018-07-23
KR102101107B1 (ko) 2020-04-14
AU2016355664B2 (en) 2020-05-28
US20170150158A1 (en) 2017-05-25
CN108353170A (zh) 2018-07-31
EP3378230A1 (en) 2018-09-26
US10432952B2 (en) 2019-10-01
CN111726628B (zh) 2022-03-22
JP2018538742A (ja) 2018-12-27
CN108353170B (zh) 2020-07-07
BR112018010137A8 (pt) 2019-02-26

Similar Documents

Publication Publication Date Title
TWI721042B (zh) 用於在顯示器串流壓縮中固定點近似之系統及方法
EP3284253B1 (en) Rate-constrained fallback mode for display stream compression
US10284849B2 (en) Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure
JP2018534875A (ja) ディスプレイストリーム圧縮(dsc)におけるスライス境界視覚アーティファクトを減らすためのシステムおよび方法
TWI634778B (zh) 用於顯示串流壓縮之複合區域偵測
TWI743098B (zh) 用於在顯示串流壓縮中量化參數之適應性計算的裝置及方法
TW201703522A (zh) 用於顯示串流壓縮之量化參數更新分類
KR102175662B1 (ko) 디스플레이 스트림 압축 (dsc) 에서의 왜곡을 계산하기 위한 시스템 및 방법들
KR102112942B1 (ko) 디스플레이 스트림 압축에 대한 지각적 양자화 파라미터 (qp) 가중을 위한 장치 및 방법들
US10123045B2 (en) Modification to block size for transform mode in display stream compression

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees