TW201703522A - 用於顯示串流壓縮之量化參數更新分類 - Google Patents

用於顯示串流壓縮之量化參數更新分類 Download PDF

Info

Publication number
TW201703522A
TW201703522A TW105111543A TW105111543A TW201703522A TW 201703522 A TW201703522 A TW 201703522A TW 105111543 A TW105111543 A TW 105111543A TW 105111543 A TW105111543 A TW 105111543A TW 201703522 A TW201703522 A TW 201703522A
Authority
TW
Taiwan
Prior art keywords
block
value
current block
flat
determining
Prior art date
Application number
TW105111543A
Other languages
English (en)
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 TW201703522A publication Critical patent/TW201703522A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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/136Incoming video signal characteristics or properties
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/16Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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

Landscapes

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

Abstract

本發明揭示用於顯示串流壓縮(DSC)之量化參數(QP)更新分類技術。在一項態樣中,一種用於判定一量化參數(QP)值之方法包括判定一當前區塊是否包括自一平坦區域至一複合區域之一過渡或是否為一平坦區塊及判定一前一區塊是否包括自一平坦區域至一複合區域之一過渡或是否為一平坦區塊。該方法亦可包括基於該前一區塊及該當前區塊是否包括自一平坦區域至一複合區域之一過渡或是否為平坦區塊而選擇用於計算該當前區塊之一QP調整值的一預設技術或一替代技術。

Description

用於顯示串流壓縮之量化參數更新分類
本發明係關於視訊寫碼及壓縮的領域,且特定而言,係關於用於通過顯示連結之傳輸的視訊壓縮,諸如顯示串流壓縮(DSC)。
數位視訊性能可併入至廣泛範圍之顯示器中,包括數位電視、個人數位助理(PDA)、膝上型電腦、桌上型監測器、數位攝影機、數位記錄器件、數位媒體播放器、視訊遊戲器件、視訊遊戲控制台、蜂巢式或衛星無線電電話、視訊電話會議器件及其類似者。顯示連結用於將顯示器連接到適合的源器件。顯示連結的頻寬要求與顯示的解析度成比例,且因此,高解析度顯示要求大頻寬顯示連結。一些顯示連結不具有支援高解析度顯示的頻寬。視訊壓縮可用於減小頻寬要求以使得更低頻寬顯示連結可用於將數位視訊提供至高解析度顯示。
其他者已經嘗試利用對像素資料的影像壓縮。然而,此類方案有時在視覺上無損或在習知的顯示器件中實施可為困難的並且昂貴的。
視訊電子元件標準協會(VESA)已經開發顯示串流壓縮(DSC)作為用顯示連結視訊壓縮的標準。顯示連結視訊壓縮技術(諸如DSC)應除其他以外還提供視覺上無損的圖片品質(亦即,具有使得使用者無法區分壓縮在作用中之品質之位準的圖片)。顯示連結視訊壓縮技術亦 應提供與習知的硬體即時實施起來簡易並便宜之方案。
本發明之系統、方法及器件各具有若干創新態樣,其中無單一者單獨負責本文中所揭示之合乎需要的屬性。
在一項態樣中,用於判定量化參數(QP)值之方法包含判定當前區塊是否包括自平坦區域至複合區域之過渡或當前區塊是否為平坦區塊;判定前一區塊是否包括自平坦區域至複合區域之過渡或是否為平坦區塊;及回應於判定當前區塊確實包括自平坦區域至複合區域之過渡中之至少一者或為平坦區塊而選擇用於計算當前區塊之QP調整值的預設技術。該方法可進一步包括:回應於判定:i)當前區塊不包括自平坦區域至複合區域之過渡或不為平坦區塊,及ii)前一區塊包括自平坦區域至複合區域之過渡抑或為平坦區塊,選擇用於計算當前區塊之QP調整值之替代技術。該方法可進一步包括經由所選擇技術計算當前區塊之QP調整值及基於該QP調整值判定當前區塊之QP值。
在另一態樣中,用於判定用於使用固定速率緩衝器寫碼視訊資料之量化參數(QP)值之方法包含判定緩衝器之滿度是否(i)大於或等於第一滿度上臨限值,或(ii)小於或等於第一滿度下臨限值;回應於判定緩衝器之滿度大於或等於第一滿度上臨限值而選擇用於計算當前區塊之QP調整值的第一技術;回應於判定緩衝器之滿度小於或等於第一滿度下臨限值而選擇用於計算當前區塊之QP調整值的第二技術;經由所選擇技術計算當前區塊之QP調整值;及基於該QP調整值判定當前區塊之QP值。
在另一態樣中,用於判定量化參數(QP)值之器件包含記憶體,其經組態以儲存包括前一區塊及當前區塊之視訊資料;及至少一個處理器電路,其經耦接至該記憶體並經組態以:判定當前區塊是否包括自平坦區域至複合區域之過渡或是否為平坦區塊;判定前一區塊是否包 括自平坦區域至複合區域之過渡或是否為平坦區塊;回應於判定當前區塊確實包括自平坦區域至複合區域之過渡中之至少一者或為平坦區塊而選擇用於計算當前區塊之QP調整值的預設技術;回應於判定:i)當前區塊不包括自平坦區域至複合區域之過渡或不為平坦區塊,及ii)前一區塊包括自平坦區域至複合區域之過渡抑或為平坦區塊,選擇用於計算當前區塊之QP調整值的替代技術;經由所選擇技術計算當前區塊之QP調整值;及基於該QP調整值判定當前區塊之QP值。
在又一態樣中,用於判定用於寫碼視訊資料之量化參數(QP)值之器件包含固定速率緩衝器電路;記憶體,其經組態以儲存包括當前區塊之視訊資料;及至少一個處理器電路,其經耦接至記憶體並經組態以:判定緩衝器電路之滿度是否(i)大於或等於第一滿度上臨限值,或(ii)小於或等於第一滿度下臨限值;回應於判定緩衝器之滿度大於或等於第一滿度上臨限值而選擇用於計算當前區塊之QP調整值的第一技術;回應於判定緩衝器之滿度小於或等於第一滿度下臨限值而選擇用於計算當前區塊之QP調整值的第二技術;經由所選擇技術計算當前區塊之QP調整值;及基於該QP調整值判定當前區塊之QP值。
10‧‧‧視訊寫碼系統
10'‧‧‧視訊寫碼系統
11‧‧‧器件
12‧‧‧源器件
13‧‧‧處理器/控制器器件
14‧‧‧目的地器件
16‧‧‧連結
18‧‧‧視訊源
20‧‧‧視訊編碼器
22‧‧‧輸出介面
28‧‧‧輸入介面
30‧‧‧視訊解碼器
31‧‧‧儲存器件
32‧‧‧顯示器件
50‧‧‧曲線圖
105‧‧‧色彩空間轉化器
110‧‧‧緩衝器
115‧‧‧平坦度偵測器
120‧‧‧速率控制器
125‧‧‧預測器、量化器及重建構器組件
130‧‧‧線緩衝器
135‧‧‧索引色彩歷史
140‧‧‧熵編碼器
145‧‧‧子串流多工器
150‧‧‧速率緩衝器
155‧‧‧速率緩衝器
160‧‧‧子串流解多工器
165‧‧‧熵解碼器
170‧‧‧速率控制器
175‧‧‧預測器、量化器及重建構器組件
180‧‧‧索引色彩歷史
185‧‧‧線緩衝器
190‧‧‧色彩空間轉化器
200‧‧‧區域
205‧‧‧區塊
210‧‧‧區塊
215‧‧‧區塊
300‧‧‧區塊
310‧‧‧區塊
320‧‧‧區塊
405‧‧‧替代技術
410‧‧‧預設技術
415‧‧‧技術P1
420‧‧‧預設技術
425‧‧‧預設技術
430‧‧‧技術Q1
435‧‧‧技術Q2
500‧‧‧方法
501‧‧‧區塊
505‧‧‧區塊
510‧‧‧區塊
515‧‧‧區塊
520‧‧‧區塊
525‧‧‧區塊
530‧‧‧區塊
535‧‧‧區塊
600‧‧‧方法
601‧‧‧區塊
605‧‧‧區塊
610‧‧‧區塊
615‧‧‧區塊
620‧‧‧區塊
625‧‧‧區塊
630‧‧‧區塊
635‧‧‧區塊
圖1A為說明可利用根據本發明中描述之態樣的技術之實例視訊編碼及解碼系統之方塊圖。
圖1B為說明可執行根據本發明中描述之態樣的技術之另一實例視訊編碼及解碼系統之方塊圖。
圖2A為說明可實施根據本發明中描述之態樣的技術之視訊編碼器之實例之方塊圖。
圖2B為說明可實施根據本發明中描述之態樣的技術之視訊解碼器之實例的方塊圖。
圖3展示判定量化參數(QP)調整值之實例方法。
圖4說明自平坦區域至影像內之複合區域之實例過渡。
圖5說明用於計算QP之實例技術。
圖6說明用於計算QP之另一實例技術。
圖7說明用於計算QP之又一實例技術。
圖8展示計算QP調整值的實例方法。
圖9展示計算QP調整值之另一實例方法。
圖10展示計算QP調整值之又一實例方法。
圖11為說明根據本發明中描述之態樣的用於計算QP調整值之方法之流程圖。
圖12為說明根據本發明中描述之態樣的用於計算QP調整值之方法之流程圖。
大體而言,本發明係關於改良視訊壓縮技術(諸如,顯示串流壓縮(DSC))之方法。更具體而言,本發明係關於用於經由選擇用於計算QP調整值之適當技術而改良量化參數(QP)之更新的系統及方法。
儘管本文在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)及此類標準之任何擴展。本文所描述之技術可特別適用於併入固定位元率(CBR)緩衝器模型之標準。又,本發明中描述之技術可成為將來開發的標準之一部分。換言之,本發明中描述之技術可適用於先前開發之視訊寫碼標準、當前正在開發之視訊寫碼標 準及即將出現的視訊寫碼標準。
視訊寫碼方法可藉由使用QP調整值更新先前所計算的QP值而計算QP值。可基於前一區塊與當前區塊之間的差(例如,寫碼前一區塊所需要的位元與其中寫碼當前區塊之目標數目個位元之間的差)來計算QP調整值。
然而,由習知技術判定之QP調整值可導致寫碼之低效率或可在某些情況下產生明顯的假影。舉例而言,用於判定QP調整值之習知技術對於用於自影像之平坦區域至複合區域的過渡可能不夠激進(例如,QP調整值可小於將導致更好的寫碼效率而無明顯假影的更合乎需要的QP調整值)。將在下文更詳細地描述平坦區域及複合區域之概念。
另外,當緩衝器之滿度在空臨限值或全臨限值內時,用於計算QP調整值之習知技術可過於激進,以導致藉由解碼器重建構之影像中之假影。舉例而言,藉由習知技術所計算的QP調整值可大於將遮蔽假影以使其在經重建構影像中不明顯的更合乎需要的QP調整值。
因此,本發明之態樣係針對解決至少上文所指示之問題。在某些態樣中,此可經由偵測或判定可與上述所指示之問題相關聯之條件,及在所偵測到之條件下應用用於計算QP調整值之一或多個替代技術來實現。
視訊寫碼標準
諸如視訊影像、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。
另外,視訊寫碼標準(亦即DSC)已由VESA開發。DSC標準為可壓縮用於在顯示連結上傳輸之視訊的視訊壓縮標準。隨著顯器示之解析度增大,視訊資料驅動顯示器所需要的頻寬相應地增大。一些顯示連結可不具有將所有視訊資料傳輸至此類解析度之顯示器的頻寬。因此,DSC標準指定壓縮標準為顯示連結上之可互操作的、視覺上無損的壓縮。
DSC標準與其他視訊寫碼標準(諸如,H.264及HEVC)不同。DSC包括框內壓縮,但不包括框間壓縮,意謂時間資訊可不由DSC標準用於寫碼視訊資料。對比而言,其他視訊寫碼標準可採用其視訊寫碼技術中之框間壓縮。
視訊寫碼系統
在下文中參考隨附圖式更完整地描述新穎系統、裝置及方法之各種態樣。然而,本發明可以許多不同形式來體現,且不應將其解釋為限於貫穿本發明所呈現之任何具體結構或功能。實情為,提供此等態樣,使得本發明將為透徹且完整的,且將向熟習此項技術者充分傳達本發明之範疇。基於本文中之教示,熟習此項技術者應瞭解,本發明之範疇意欲涵蓋本文所揭示之新穎系統、裝置及方法之任何態樣,不管係獨立於本發明之任何其他態樣或與本發明之任何其他態樣組合地實施。舉例而言,可使用本文中所闡明之任何數目個態樣來實施裝置或實踐方法。另外,本發明之範疇意欲涵蓋使用其他結構、功能性或除本文中所闡明的本發明之各種態樣之外或不同於本文中所闡明的本發明之各種態樣的結構與功能性來實踐的此類裝置或方法。應理 解,可藉由申請專利範圍之一或多個要素來體現本文所揭示之任何態樣。
雖然本文中描述特定態樣,但此等態樣之許多變化及排列屬於本發明之範疇內。儘管提及了較佳態樣之一些益處及優點,但本發明之範疇不欲限於特定益處、用途或目標。相反地,本發明之態樣意欲廣泛適用於不同無線技術、系統組態、網路及傳輸協定,其中一些以實例之方式在諸圖中及對較佳態樣之以下描述中加以說明。詳細描述及圖式僅說明本發明而非限制本發明,本發明之範疇由所附申請專利範圍及其等效物來定義。
隨附圖式說明實例。由隨附圖式中之參考數字指示之元件對應於在以下描述中由相同參考數字指示之元件。在本發明中,名稱以序數詞(例如,「第一」、「第二」、「第三」等等)開始的元件未必暗示該等元件具有特定次序。相反,此等序數詞僅用以指代相同或類似類型之不同元件。
圖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)
應注意,上文計算BF之方法僅為例示性的,且可取決於特定實施或上下文以任何數目個不同方式來計算BF。
平坦度偵測器115可偵測自視訊資料中之複合(亦即,非平坦)區域到視訊資料中之平坦(亦即,簡單或均勻)區域的變化,及/或反之亦然。術語「複合」及「平坦」將在本文中用以大體上指代視訊編碼器20編碼視訊資料之各別區域的難度。因此,如本文所使用之術語「複合」大體上將視訊資料區域描述為視訊編碼器20難以對其進行編碼,且可(例如)包括紋理化視訊資料、高空間頻率及/或難以編碼之其他特徵。如本文所使用之術語「平坦」大體上將視訊資料區域描述為視訊編碼器20容易對其進行編碼,且可(例如)包括視訊資料中之平滑梯度、低空間頻率及/或容易編碼的其他特徵。自複合區域至平坦區域之過渡可由視訊編碼器20使用以減小經編碼視訊資料中之量化假影。 具體而言,速率控制器120及預測器、量化器及重建構器組件125可減小當識別到自複合區域至平坦區域之過渡時的此類量化假影。類似地,自平坦至複合區域之過渡可由視訊編碼器20使用以增加QP以便減小所預期的寫碼當前區塊所需要的速率。
速率控制器120判定寫碼參數(例如QP)之集合。可由速率控制器120基於速率緩衝器150之緩衝器滿度及視訊資料之影像活動(例如,自複合區域至平坦區域之過渡或平坦區域至複合區域之過渡)來調整QP,以便將確保速率緩衝器150不上溢或下溢的目標位元率之圖像品質。速率控制器120亦針對視訊資料之每一區塊選擇特定寫碼選項(例如,特定模式)以便實現最佳速率失真效能。速率控制器120將經重建構影像之失真最小化以使得其滿足位元率約束條件(亦即,整體實際寫碼速率適應目標位元率)。因此,速率控制器120之一個目的係判定寫碼參數(諸如,QP、寫碼模式等)之集合以滿足對速率的瞬時及平均約束,同時最大化速率失真效能。
預測器、量化器及重建構器組件125可執行視訊編碼器20之至少三個編碼操作。預測器、量化器及重建構器組件125可在多個不同模式中執行預測。一個實例預測模式為中值自適應預測的經修改版本。中值自適應預測可由無損JPEG標準(JPEG-LS)實施。可由預測器、量化器及重建構器組件125執行的中值自適應預測的經修改版本可允許三個連續樣本值之平行預測。另一實例預測模式為區塊預測。在區塊預測中,根據線中之經先前重建構像素預測在同一線上方或左邊的樣本。在一些實施例中,視訊編碼器20及視訊解碼器30可均對經重建構像素執行相同的搜尋以判定區塊預測使用,且因此不需要在區塊預測模式中發送位元。在其他實施例中,視訊編碼器20可在位元串流中執行搜尋及信號區塊預測向量,使得視訊解碼器30不必執行獨立搜尋。亦可實施中點預測模式,其中使用組件範圍之中點來預測樣本。中點 預測模式可使得能夠限定甚至係最壞樣本中之經壓縮視訊所需要的位元數目。
預測器、量化器及重建構器組件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計算
在一種方法中,可使用以下方程式導出或計算當前區塊之QP(表示為currQP):currQP=prevQ+QpAdj *(diffBits>0?1:-1),其中prevQP為與前一區塊相關聯之QP,diffBits表示previousBlockBitstargetBits之間的差,QpAdj為基於diffBits之量值所計算的QP偏移值(例如,QP調整值),previousBlockBits表示用於寫碼前一區塊之位元數目,且targetBits表示分配至當前區塊之目標位元數目。當previousBlockBits>targetBits時,diffBits為正,且可藉由將偏 移值QpAdj添加至prevQP值而導出當前區塊QP。換言之,當diffBits為正時,QP值在值方面不自prevQP值中減小。當previousBlockBits targetBits時,diffBits為負或零,且currQP不自prevQP值增大。應注意,可(例如)以QpAdj隨著diffBits之量值增大而單調增大的方式計算作為diffBits函數之偏移值QpAdj
在本文中被稱作預設技術的用於計算QP調整值QpAdj的一個技術現將參考圖3來描述。圖3提供包括其上繪製以零開始的diffBits之值的軸線的曲線圖50。在預設技術中,當diffBits>0時,diffBits可使用K臨限值分級至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值。
在其他態樣中,可基於緩衝器之滿度調整currQP值(可以緩衝器滿度BF表示),以便防止緩衝器之下溢及/或上溢。特定而言,當BF超出某一臨限值(例如,P1)時,currQP可按固定偏移值(例如,p1)遞增。舉例而言,currQP可調整如下:currQP+=p1。此外,當BF下降到低於某一臨限值(例如,Q1)時,currQP可按q1遞減,例如,currQP-=q1。在某些態樣中,可採用複數個臨限值,且對於每一臨限值,可存在相對應的偏移值以調整currQP
最終,當識別自複合區域至平坦區域之過渡或當識別平坦區域時,currQP可經設定成低值(例如,低於所定義currQP值之值)。
用於基於平坦至複合區域偵測判定量化參數(QP)之技術
參考圖4,可利用用於DSC之一或多個技術以偵測自平坦/平滑區 域至複合區域的過渡。無論哪個技術用於偵測至複合區域之過渡,當偵測到此類過渡時,所使用之QP可在過渡區塊或該過渡區塊之後的下一區塊處增大(相較於前一平坦區塊)以便減小所預期的寫碼當前/下一區塊所需要的速率。然而,應注意,由於過渡區塊含有平坦區域及複合區域兩者,過渡區塊處之QP值不可過高(例如,超出所定義的QP值)。舉例而言,當過渡區塊之QP值超出所定義QP值時,可在區塊之平坦部分中產生假影,其可在自過渡區塊重建構之影像內顯而易見。
圖4說明可為圖框或其部分(諸如,圖框之切片)的所關注的實例區域200。區域200可包括三個連續區塊205、210及215。在此實例中,區塊205對應於區域200之平坦區域/部分,區塊210對應於區域200之過渡區域/部分,且區塊215對應於區域200之複合區域/部分。如圖所示,區塊205之內容為平坦的、平滑的或均勻的。區塊215之內容經紋理花且展現並非全部均勻的圖案。區塊210包括自均勻內容至不均勻內容的過渡。如下文所描述,針對區塊205、210及215中之每一者執行複雜度計算。
如本文所使用,平坦區塊可係指具有低於複雜度臨限值之複雜度值的區塊。區塊經判定為平坦之臨限值可基於各種設計準則(諸如,寫碼區塊所需要的位元數目)來設定。類似地,非平坦或複合區塊可指代並不平坦的區塊,例如,具有大於或等於複雜度臨限值之複雜度值。可基於相關聯之區塊複雜度採用區塊之各種其他分類,且此類分類可為由區塊之複雜度值中之臨限值定義的範圍。
術語「平坦」及「複合」亦可適用於除區塊外之區域。在此情形下,雖然區域可不與區塊之大小相同,例如,區域可不為離散編碼/解碼之大小,區域亦可基於區域之複雜度而分類為平坦的或複合的。舉例而言,若區域內之每一區塊為平坦區塊,則區域可被稱為平坦區域。然而,平坦區域可不具有與其中所含之區塊相同的邊界,且 可在整個區域上計算區域之複雜度。可類似地定義複合區域。因此,可藉由將區域之複雜度值與可與區塊之複雜度臨限值不同的複雜度臨限值相比較而將區域分類為平坦的或複合的。此外,因為可將區域劃分成區塊以用於寫碼,可在概念上於本文中使用術語「區域」以促進理解本發明之各種態樣。
如上文所描述,為了將區塊分類為平坦的或複合的,可判定區塊的複雜度值。只要複雜度值表示編碼區塊之難度(例如,寫碼區塊而不引入可見假影可需要的位元數目),可根據各種技術判定區塊之複雜度值。在一項態樣中,可藉由進行區塊中之像素之頻率變換(例如,離散餘弦變換(DCT)、哈達馬(Hadamard)變換等)計算區塊之複雜度。頻率變換可產生多個頻率係數,該等頻率係數可經求和以產生複雜度值。在某些態樣中,直流電(DC或零頻率)係數及/或一或多個低頻係數可不包括於總和中。亦可應用用於判定複雜度值(諸如,在頻率變換之前應用色彩變換)之各種其他技術。
如上文在「QP計算」部分下論述,在當前區塊為平坦區塊或含有自平坦區域至複合區域之過渡的區塊時,currQP可減小到低值(例如,低於所定義currQP值的值)。當下一區塊並不平坦時,currQP可取決於diffBits之量值而增大或減小。舉例而言,當編碼器正在處理含有高度紋理化或高頻內容之區域(例如,複合區域)時,當平坦區塊位於此區域內時,編碼器可減小QP值。開始於平坦區塊之後的區塊,由於該區域之高複雜度,編碼器可再一次增大QP值。然而,由於QP值在平坦區塊處減小到低值,其可採取多個區塊以返回至對於此高複雜度區域而言係合乎需要的高QP值。換言之,更新QP值之速率可不足以激進而防止位元被浪費,例如,寫碼具有低於合乎需要之QP值之複合區塊可要求為了維持所需要的寫碼品質所必要的更多數目個位元。
此外,亦如「QP計算」部分中所提及,currQP可基於緩衝器之滿度進一步遞增或遞減達固定偏移值。遞增或遞減QP值達固定值可不合乎需要,係因為currQP可遞增或遞減相對大的值(例如,大於臨限值之值),該相對大的值可引起連續區塊之間的QP值的大差異。此可導致經重建構影像中之明顯的假影。
本文所揭示之技術可應用於利用或實施使用CBR緩衝器之速率控制的任何影像或視訊寫碼器,且可用於解決至少兩個上文所描述的問題。
偵測到平坦區域後之QP更新技術
在一種方法中,變數isFlat可指示給定區塊B是否為平坦區塊。另一變數isFlatToComplex可指示給定區塊B是否含有自平坦區域至複合區域之過渡。取決於該實施,編碼器20或解碼器30可明確地判定每一區塊B之變數isFlat及/或isFlatToComplex,然而,編碼器20或解碼器30亦可在未明確判定變數isFlat及/或isFlatToComplex的情況下隱含地判定區塊B是否為平坦的或是否包括自平坦區域至複合區域之過渡。為清楚起見,本發明將論述此等變數,如同其由編碼器20及/或解碼器30所判定。
在一項實施中,當對於前一區塊,isFlat為正且對於當前區塊,isFlat為假時,替代技術(例如,激進技術)可用於減小或更新QP值。亦即,當前一區塊為平坦且當前區塊為複合時,編碼器20及/或解碼器30可推斷當前區塊包括自平坦區域至複合區域之過渡並應用用於更新QP值之替代技術來代替預設技術。
可應用替代技術之一個條件為當對於前一區塊,isFlat為真,且對於當前區塊,isFlat為假。在此位置(例如,當前區塊處),可利用替代技術(本文中亦可被稱作技術F)來代替預設技術來計算QpAdj。上文結合圖3描述預設技術。應注意,可存在替代預設技術之一或多個 技術。
在一項實例中,可針對N個連續區塊使用替代技術,例如,對於N個連續區塊,基於技術F計算或判定QpAdj,且在寫碼N個區塊之後,速率控制可切換回預設技術。在此,N為正整數。
在另一實例中,若在下N個連續區塊中發現該等區塊中之任一者為平坦的,則速率控制可切換回預設技術或將QP設定為低值。因此,無論哪個首先發生,可針對N個連續區塊應用技術F或直至偵測/擊中N個連續區塊中的平坦區塊。
圖5說明包括複數個區塊300之實例,該等區塊300包括區塊A-E,其中N=5。在圖5中展示的此情形下,由於區塊E為平坦的,技術F用於區塊B、C及D,亦即僅用於3個區塊。
表1中之以下實例偽碼展示可用於判定QP更新技術之實施:
在一個替代技術中,當isFlat對於前一區塊為真且當前區塊具有 自平坦至複合區域之過渡時,技術F不可立即應用以計算當前區塊之QP。實情為,替代技術可在下一區塊開始時應用。在圖6中展示此情形之實例,其包括複數個區塊310,該等區塊310包括區塊A-D。在圖6之實例中,對於區塊A,isflat=真,且對於區塊B,isflat=假(因此,區塊B含有自平坦區域至複合區域之過渡,例如isFlatToComplex=真)。在此等條件下,替代技術可用於自區塊C開始計算QP。
因此,表2之以下實例偽碼可用於判定QP更新技術:
在另一替代方案中,當(isFlatisFlatToComplex)對於前一區塊為真且(isFlatisFlatToComplex)對於當前區塊為假時,例如,前一區塊為平坦區塊或含有自平坦至複合區域之過渡且當前區塊不為平坦區塊並不含有自平坦區域至複合區域之過渡,可利用替代技術減小或更新QP。
在又一替代方案中,在針對其應用替代技術之N個連續區塊中, 若區塊中之任一者為平坦的或含有自平坦至複合區域之過渡,速率控制可切換回預設技術。
因此,表3中之以下實例偽碼可用於判定待實施之技術:
在另一替代方案中,當(isFlatToComplex)對於前一區塊為真且(isFlatToComplex)對於當前區塊為假時(例如,無論前一區塊是否為平坦,選擇特定QP技術之決策係基於isFlatToComplex),可利用替代技術來減小或更新QP。
在另一替代方案中,針對其應用替代技術之N個連續區塊中,若發現區塊中之任一者含有自平坦區域至複合區域之過渡,則速率控制可切換回預設技術。
因此,表4中之以下實例偽碼可用於判定待實施之技術:
在一種方法中,可就在偵測isFlat=之前儲存區塊之QP值,且當isFlat=時,所儲存的QP值可用於導出區塊之QP值。在此實施中,平坦區域之前的區塊之複雜度可用於估計平坦區域之後的區塊之複雜度。圖7包括複數個區塊320,該複數個區塊320包括區塊A-D,且圖7說明其中區塊A之QP值可用於根據當前方法導出區塊D之QP值的情形。
在一項態樣中,區塊D之QP值可與區塊A之QP值相同。在另一態樣中,區塊D之QP值可基於技術F來調整。在又一態樣中,區塊D之QP值可基於預設技術來調整。在再一態樣中,區塊A之QP值可遞增達固定偏移且可被用作區塊D之QP值。
在另一態樣中,區塊A之QP值可遞減達固定偏移且可被用作區塊D之QP值。
在另一方法中,偽碼線:表1至表4中之每一者的distCount<=N可由偽碼線distCount<N替換。在又一方法中,N可由N-1替換。
根據一項實施例,在下文中描述兩個區域(i)diffBits>0及(ii)diffBits<=0之QpAdj之計算。
情況(i):diffBits>0
在一項實施中,對於diffBits之給定值,技術FQpAdj值嚴格大於(>)預設技術之相對應QpAdj值。圖8展示預設技術及替代技術之一個實施之說明。圖8之曲線圖包括兩條線:預設技術410及替代技術405。在圖8之實例中,△Qp經展示為用於預設技術410及技術F(例如,替代技術405)之diffBits之函數。對於技術F 405,對於給定diffBits>0,技術F 405之QpAdj值(或△Qp)大於或等於預設技術410之對應QpAdj值(或△Qp)。應注意,當函數重疊時(例如,在實線與虛線函數重疊的情況下),QpAdj之值可相同。
在一項實施中,當相同臨限K值如預設技術410中所使用(如上文結合圖3所描述)用於分類K+1範圍時,對於每一範圍,技術F 405之QpAdj可嚴格大於預設技術410之對應QpAdj值。
再次參考圖8之實例,相同臨限值可用於分類兩個技術之範圍(x軸)。在一個替代方案中,嚴格大於(>)可由大於或等於(>=)替換。
情況(ii):diffBits<=0
在一項實施中,對於diffBits之給定值,技術F 405之QpAdj值嚴格小於預設技術410之對應QpAdj值。如圖8中所展示,對於diffBits<=0之給定值,技術F 405之QpAdj(或|△Qp|)嚴格小於預設技術410之對應QpAdj(或|△Qp|)。更確切而言,當diffBits<=0(例如,previousBlockBits<=targetBits)時,對於技術F 405,相較於預設技術410,當前區塊之QP更保守地減小:currQP=prevQP-QpAdj。此將節省少許位元,因為QP並未立即減小至低值。
在一項態樣中,當相同J臨限值如預設技術410中所使用而用於分類J+1範圍時,對於每一範圍,技術F 405之QpAdj(或|△Qp|)嚴格小於 預設技術410之對應QpAdj值。繼續參考圖8中展示之實例,相同臨限值可用於分類範圍。在相關態樣中,嚴格小於(<)可由小於或等於(<=)替換。
應注意,圖8中所展示之實例僅出於說明之目的,且每一技術之diffBits△Qp之間的實際關係可取決於特定實施或上下文而不同。
在一項態樣中,對於diffBits<=0,預設技術410可用於計算QpAdj,且對於diffBits>0技術F 405可用於計算QpAdj。在相關態樣中,對於diffBits>0,預設技術410可用於計算QpAdj,且對於diffBits<=0技術F 405可用於計算QpAdj
當緩衝器超出臨限值上限或降低至臨限值下限以下時的QP更新技術
BF超出臨限值上限時,代替使用預設技術計算QpAdj且接著添加固定偏移值,可使用替代技術計算QpAdj。換言之,可基於BFdiffBits經由替代技術計算QpAdj。當BF降低至下臨限值以下時可實施類似調整。
緩衝器滿度超出臨限值限制
使[P 1 ,P 2 ,…P n ]為n個臨限值且[技術P 1 ,技術P 2 ,…技術P n ]為可用於計算QpAdj之各別替代技術。速率控制可基於下文自替代技術選擇特定技術且所選擇技術將用於計算QpAdj:If(緩衝器滿度>=P1)
技術P1用於計算QpAdj;else if(緩衝器滿度>=P2)
技術P2用於計算QpAdj;…else if(緩衝器滿度>=Pn)
技術Pn用於計算QpAdj。
亦即,緩衝器之滿度(例如,BF)可與複數個逐漸減小之臨限值P 1 P n 相比較。當BF大於臨限值中之一者(例如,P i )時,對應的技術(技術P i )可用於判定QP調整值QpAdj
情況(i):diffBits>0
在一個實施中,對於diffBits之給定值,技術P 1 QpAdj值>=技術P 2 之QpAdj值>=…技術P n QpAdj值>=預設技術之QpAdj值。
圖9展示預設技術及替代技術(技術P 1 )之一個實施之說明。圖9之曲線圖包括兩條線:預設技術420及技術P 1 415,其中對於diffBits之給定值>0技術P 1 415之QpAdj值>=預設技術420之QpAdj值。
在一個實施中,相同K臨限值可如預設技術420中所使用(如上文結合圖3所描述)而用於分類K+1範圍,對於每一範圍,技術P 1 415之QpAdj值>=技術P 2 QpAdj值>=…技術P n QpAdj值>=預設技術420之QpAdj值。
在一項態樣中,參考圖9之實例,相同臨限值可用於分類範圍。在另一態樣中,大於或等於(>=)可由嚴格大於(>)替換。在又一態樣中,預設技術420可為唯一用於計算QpAdj之技術。
情況(ii):diffBits<=0
在一個實施中,對於diffBits之給定值,技術P 1 415之QpAdj值<=技術P 2 QpAdj值<=…技術P n QpAdj值<=預設技術420之QpAdj值。
繼續參考圖9之實例,對於diffBits之給定值<=0,當與預設技術420之對應QpAdj(或|△Qp|)相比較時,技術P 1 415之QpAdj(或|△Qp|)嚴格較小。
在一個實施中,相同臨限J值可如預設技術420中所使用而用於分類J+1範圍,且對於每一範圍,技術P 1 415之QpAdj值<=技術P 2 QpAdj值<=…技術P n QpAdj值<=預設技術420之QpAdj值。
在一項態樣中,小於或等於(<=)可由嚴格小於(<)替換。在另一態樣中,預設技術420可為用於計算QpAdj之單一技術。
緩衝器滿度降低至臨限值限制以下
使[Q 1 ,Q 2 ,…Q m ]為m個臨限值且使[技術Q 1 ,技術Q 2 ,…技術Q m ]為用於計算QpAdj之各別替代技術。換言之,速率控制可基於下文自替代技術選擇特定技術且所選擇的技術將用於計算QpAdj:If(緩衝器滿度<=Q 1 )
技術Q 1 用於計算QpAdj;else if(緩衝器滿度<=Q 2 )
技術Q 2 用於計算QpAdj;…else if(緩衝器滿度<=Q m )
技術Q m 用於計算QpAdj;亦即,緩衝器之滿度(例如,BF)可與複數個逐漸增大之臨限值Q 1 Q n 相比較。當BF小於臨限值中之一者(例如Q i )且大於前一臨限值(例如Q i-1 )時,對應技術(技術Q i )可用於判定QP調整值QpAdj
情況(i):diffBits>0
在一個實施中,對於diffBits之給定值,預設技術之QpAdj值>=技術Q 1 QpAdj值>=…技術Q 2 QpAdj值>=技術Q m QpAdj值。
圖10展示預設技術及兩個替代技術(技術Q 1 技術Q 2 )之一個實施之說明。圖10之曲線圖展示其中△Qp為預設技術425、技術Q1 430及技術Q2 435之diffBits之函數的實例。參考圖10,展示其中m=2之關係,且對於diffBits之給定值>0,預設技術425之QpAdj值>=技術Q 1 430之QpAdj值>=技術Q 2 430之QpAdj值
在一個實施中,當相同臨限K值如預設技術中所使用(如上文結合圖3所論述)而用於分類K+1範圍時,對於每一範圍,預設技術425之QpAdj值>=技術Q 1 430之QpAdj值>=技術Q 2 435之QpAdj值>=…技術Q m QpAdj值。
在一項態樣中,大於或等於(>=)可由嚴格大於(>)替換。在另一態樣中,預設技術425可為唯一用於計算QpAdj之技術。
情況(ii):diffBits<=0
在一個實施中,對於diffBits之給定值,預設技術425之QpAdj值<=技術Q 1 430之QpAdj值<=技術Q 2 435之QpAdj值…<=技術Q m QpAdj值。
參考圖10,應注意,當函數重疊時(例如,在實線與虛線重疊的情況下),QpAdj之值相同。
在一個實施中,當同一臨限J值如預設技術425中所使用而用於分類J+1範圍時,對於每一範圍,預設技術425之QpAdj值<=技術Q 1 430之QpAdj值<=技術Q 2 435之QpAdj值…<=技術Q m QpAdj值。
在一項態樣中,小於或等於(<=)可由嚴格小於(<)替換。應注意,圖9至圖10中展示之實例僅出於說明之目的,且用於基於每一技術之diffBits導出△Qp之實際技術或函數可取決於特定實施或上下文而不同。在另一態樣中,預設技術425可為唯一用於計算QpAdj之技術。
最終,應注意,本文所描述之技術可應用於(1)明確的QP導出及/或(2)隱式QP導出。舉例而言,在明確QP導出中,可在編碼器20處導出QP並在位元串流中明確地傳信至解碼器30。在隱式QP導出中,編碼器20及解碼器30兩者可導出QP。然而,解碼器30可利用額外資訊導出QP,諸如(例如)可在位元串流中藉由編碼器20傳信之QP技術之類型。可用以輔助解碼器30導出QP值之其他資訊可取決於實施而在位元串流中藉由編碼器20傳信。
在第一實例中,本文所提出之技術可由編碼器20使用以藉由選擇適當QP適應曲線而計算QP。編碼器20可明確地傳信QP,例如,經由傳信當前區塊QP與前一區塊QP之間的差。編碼器20亦可傳信所選擇的QP適應曲線。
在第二實例中,本文中所提出之技術可由編碼器20及解碼器30兩者使用。QP適應曲線之類型可由編碼器20選擇且可在位元串流中明確地傳信。
用於判定量化參數(QP)值之實例流程圖
參考圖11,將描述用於判定QP值之實例程序。圖11為說明根據本發明之實施例之用於寫碼視訊資料之方法500的流程圖。圖11中說明之步驟可藉由視訊編碼器(例如,圖2A中之視訊編碼器20)、視訊解碼器(例如,圖2B中之視訊解碼器30)或其組件來執行。為方便起見,方法500經描述為由視訊寫碼器(亦簡稱為寫碼器)執行,該視訊寫碼器可為視訊編碼器20、視訊解碼器30或另一組件。
寫碼器或其組件可實施於包括由包括緩衝器之複數個可程式化計算單元共用之整合式全域記憶體的器件上,其中該緩衝器可包括先進先出(FIFO)緩衝器。該器件可進一步包括積體電路(IC),其可包括至少一個處理器(例如,中央處理單元(CPU))及/或圖形處理單元(GPU),其中該GPU可包括一或多個可程式化計算單元。
方法500開始於區塊501。在區塊505處,寫碼器判定當前區塊是否包括自平坦區域至複合區域之過渡或是否為平坦區塊。在某些實施中,此判定可包括判定前一區塊、當前區塊及下一區塊中之每一者的複雜度值,並將該等複雜度值與複雜度臨限值相比較。若寫碼器判定當前區塊包括自平坦區域至複合區域之過渡或為平坦區塊,則方法行進至區塊515。若寫碼器判定當前區塊不包括自平坦區域至複合區域之過渡且不為平坦區塊,則方法500行進至區塊510。在區塊510處,寫碼器判定前一區塊是否包括自平坦區域至複合區域之過渡或是否為平坦區塊。若寫碼器判定前一區塊包括自平坦區域至複合區域之過渡或為平坦區塊,則方法500行進至區塊520。若寫碼器判定前一區塊不包括自平坦區域至複合區域之過渡且不為平坦區塊,則方法500行進 至區塊535。雖然未說明,但在某些實施中,若寫碼器判定前一區塊不包括自平坦區域至複合區域之過渡或不為平坦區塊,則方法可行進至區塊515。在區塊515處,寫碼器回應於判定當前區塊包括自平坦區域至複合區域之過渡抑或為平坦區塊而選擇用於計算當前區塊之QP調整值的預設技術。
在區塊520處,寫碼器至少部分地回應於判定當前區塊不包括自平坦區域至複合區域之過渡或不為平坦區塊而選擇用於計算當前區塊之QP調整值的替代技術。寫碼器亦可至少部分地回應於判定前一區塊包括自平坦區域至複合區域之過渡抑或為平坦區塊而選擇用於計算當前區塊之QP調整值的替代技術。在區塊525處,寫碼器經由所選擇的技術計算當前區塊之QP調整值。在區塊530處,寫碼器基於該QP調整值判定當前區塊之QP值。方法結束於區塊535。
在方法500中,可移除(例如,不執行)圖11中所展示之區塊中之一或多者及/或可切換所述方法執行的次序。在一些實施例中,可將額外區塊添加至方法500。本發明之實施例不限於圖11中展示之實例或不受到圖11中展示之實例限制,且可在不脫離本發明之精神的情況下實施其他變化。
參考圖12,將描述用於判定QP值之另一實例程序。圖12為說明根據本發明之實施例之用於寫碼視訊資料之方法600的流程圖。圖12中說明之步驟可藉由視訊編碼器(例如,圖2A中之視訊編碼器20)、視訊解碼器(例如,圖2B中之視訊解碼器30)或其組件來執行。為方便起見,方法500經描述為由視訊寫碼器(亦簡稱為寫碼器)執行,該視訊寫碼器可為視訊編碼器20、視訊解碼器30或另一組件。
方法600開始於區塊601。在區塊605處,寫碼器判定緩衝器之滿度是否大於或等於第一滿度上臨限值。若寫碼器判定緩衝器之滿度大於或等於第一滿度上臨限值,則方法600行進至區塊615。若寫碼器判 定緩衝器之滿度小於第一滿度上臨限值,則方法行進至區塊610。在區塊610處,寫碼器判定緩衝器之滿度是否小於或等於第一滿度下臨限值。若寫碼器判定緩衝器之滿度小於或等於第一滿度下臨限值,則方法600行進至區塊620。若寫碼器判定緩衝器之滿度大於第一滿度下臨限值,則方法600行進至區塊635。
在區塊615處,寫碼器回應於判定緩衝器之滿度大於或等於第一滿度上臨限值而選擇用於計算當前區塊之QP調整值的第一技術。在某些實施中,寫碼器可回應於判定緩衝器之滿度小於第一滿度上臨限值且大於第一滿度下臨限值而選擇用於計算當前區塊之QP調整值的預設技術。在此等實施中,方法600可自區塊610行進至區塊625。
在區塊620處,寫碼器回應於判定緩衝器之滿度小於或等於第一滿度下臨限值而選擇用於計算當前區塊之QP調整值的第二技術。在區塊625處,寫碼器經由所選擇的技術計算當前區塊之QP調整值。在區塊630處,寫碼器基於該QP調整值判定當前區塊之QP值。方法600結束於區塊635。
在方法600中,可移除(例如,不執行)圖12中所展示之區塊中之一或多者及/或可切換方法執行的次序。在一些實施例中,可將額外區塊添加至方法600。本發明之實施例不限於圖12中展示之實例或不受到圖12中展示之實例限制,且可在不脫離本發明之精神的情況下實施其他變化。
其他考慮因素
應注意,已經自編碼器(諸如,圖2A中之視訊編碼器20)之視角描述了本發明之態樣。然而,熟習此項技術者將瞭解,與上文所描述之彼等操作相反的操作可應用於解碼由(例如)圖2B中之視訊解碼器30產生的位元串流。
可使用多種不同技術及技藝中之任何者來表示本文中揭示之資 訊及信號。舉例而言,可由電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合表示遍及以上描述可能參考的資料、指令、命令、資訊、信號、位元、符號及碼片。
結合本文中所揭示之實施例而描述之各種說明性邏輯區塊及演算法步驟可被實施為電子硬體、電腦軟體或兩者之組合。為了清楚地說明硬體與軟體之此可互換性,上文已大體在其功能性方面描述了各種說明性組件、區塊及步驟。此功能性被實施為硬體抑或軟體取決於特定應用及強加於總體系統之設計約束。熟習此項技術者可針對每一特定應用而以不同方式來實施所描述功能性,但此等實施決策不應被解釋為導致脫離本發明之範疇。
因此,本文中描述之技術可以硬體、軟體、韌體或其任何組合實施。此類技術可以多種器件中之任一者實施,諸如,通用電腦、無線通信器件手持機、或積體電路器件,該等積體電路器件具有包括無線通信器件手持機、汽車、電氣設備、可穿戴器件及/或其他器件中之應用的多個用途。可將描述為器件或組件之任何特徵一起實施於整合式邏輯器件中或分開來實施為離散但可互操作之邏輯器件。若以軟體實施,則該等技術可至少部分地由包含包括當經執行時執行以上描述的方法中之一或多者之指令之程式碼的電腦可讀資料儲存媒體實現。電腦可讀資料儲存媒體可形成電腦程式產品之部分,該電腦程式產品可包括封裝材料。電腦可讀媒體可包含記憶體或資料儲存媒體,諸如,隨機存取記憶體(RAM),諸如,同步動態隨機存取記憶體(SDRAM)、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體、磁性或光學資料儲存媒體及其類似者。另外或替代地,該等技術可至少部分地由電腦可讀通信媒體實現,該電腦可讀通信媒體載送或傳達呈指令或資料結構之形式且可由電腦存取、讀取及/或執行的程式 碼,諸如,傳播之信號或波。
程式碼可由可包括一或多個處理器之處理器執行,諸如,一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效整合式或離散邏輯電路。此處理器可經組態以執行本發明中所描述的技術中之任何技術。通用處理器可為微處理器;但在替代方案中,處理器可為任何習知處理器、控制器、微控制器或狀態機。處理器亦可實施為計算器件之組合,例如,DSP與微處理器之組合、複數個微處理器、一或多個微處理器結合DSP核心或任何其他此類組態。因此,如本文中所使用之術語「處理器」可係指前述結構、前述結構之任何組合或適合於實施本文中描述之技術的任何其他結構或裝置中之任一者。此外,在一些態樣中,本文中描述之功能性可提供於經組態用於編碼及解碼之專用軟體或硬體內,或併入於組合式視訊編碼器-解碼器(編解碼器)中。又,該等技術可完全實施於一或多個電路或邏輯元件中。
本發明之技術可實施於各種器件或裝置中,包括無線手持機、IC或IC之集合(例如,晶片集合)。在本發明中描述各種組件或單元以強調經組態以執行所揭示技術之器件的功能態樣,但未必需要藉由不同硬體單元實現。實情為,如上文所描述,各種單元可組合於編解碼器硬體單元中,或結合合適軟體及/或韌體藉由互操作性硬體單元(包括如上所述之一或多個處理器)之集合來提供。
雖然已經結合各種不同實施例描述了前文,但可在不脫離本發明之教示的情況下將來自一項實施例之特徵或元件與其他實施例組合。然而,各別實施例之間的特徵之組合未必限於此。已描述了本發明之各種實施例。此等及其他實施例在以下申請專利範圍之範疇內。
405‧‧‧替代技術
410‧‧‧預設技術

Claims (30)

  1. 一種用於判定一量化參數(QP)值之方法,其包含:判定一當前區塊是否包括自一平坦區域至一複合區域之一過渡或是否為一平坦區塊;判定一前一區塊是否包括自一平坦區域至一複合區域之一過渡或是否為一平坦區塊;回應於判定該當前區塊包括自一平坦區域至一複合區域之一過渡中之至少一者或為一平坦區塊而選擇用於計算該當前區塊之一QP調整值的一預設技術;回應於判定:i)該當前區塊不包括自一平坦區域至一複合區域之一過渡或不為一平坦區塊,及ii)該前一區塊包括自一平坦區域至一複合區域之一過渡或為一平坦區塊,選擇用於計算該當前區塊之該QP調整值的一替代技術;經由該所選擇技術計算該當前區塊之該QP調整值;及基於該QP調整值判定該當前區塊之該QP值。
  2. 如請求項1之方法,其進一步包含:判定該前一區塊、該當前區塊及該下一區塊中之每一者的一複雜度值,其中該判定該當前區塊是否包括自一平坦區域至一複合區域之一過渡係基於該前一區塊、該當前區塊及該下一區塊的該等複雜度值。
  3. 如請求項2之方法,其中該當前區塊是否包括自一平坦區域至一複合區域之一過渡的該判定係基於(i)該前一區塊之該複雜度值小於一複雜度臨限值,及(ii)該當前區塊之該複雜度值大於或等於該複雜度臨限值。
  4. 如請求項1之方法,其進一步包含:回應於判定:i)該當前區塊不包括自一平坦區域至一複合區域之一過渡或不為一平坦區塊,及ii)該前一區塊包括至少包括自平坦至複合區域之一過渡中的一者或為一平坦區塊,經由該替代技術判定一所定義數目個連續區塊之複數個QP調整值。
  5. 如請求項4之方法,其進一步包含:判定該所定義數目個連續區塊中之一者是否為一平坦區塊或是否含有自複合區域至一平坦區域之一過渡;及回應於判定該所定義數目個連續區塊中之該一者為一平坦區塊或含有自複合區域至一平坦區域之一過渡,經由該替代技術終止對該所定義數目個連續區塊之該等QP調整值之該判定。
  6. 如請求項1之方法,該方法進一步包含:判定寫碼該前一區塊所需要的位元數目與用於該當前區塊之一目標位元數目之一差,其中對於該位元數目之一正差,經由該替代技術計算之該QP調整值大於經由該預設技術計算之該QP調整值。
  7. 如請求項6之方法,其中對於該位元數目之一負差或零差,藉由該替代技術計算之該QP調整值小於藉由該預設技術計算之該QP調整值。
  8. 一種用於判定用於使用一固定速率緩衝器寫碼視訊資料之一量化參數(QP)值的方法,其包含:判定該緩衝器之一滿度是否(i)大於或等於一第一滿度上臨限值,或(ii)小於或等於一第一滿度下臨限值;回應於判定該緩衝器之該滿度大於或等於該第一滿度上臨限值而選擇用於計算一當前區塊之一QP調整值的一第一技術;回應於判定該緩衝器之該滿度小於或等於該第一滿度下臨限 值而選擇用於計算該當前區塊之該QP調整值的一第二技術;經由該所選擇技術計算該當前區塊之該QP調整值;及基於該QP調整值判定該當前區塊之該QP值。
  9. 如請求項8之方法,其進一步包含回應於判定該緩衝器之該滿度小於該第一滿度臨限值且大於該第二滿度臨限值而選擇用於計算該當前區塊之該QP調整值的一預設技術。
  10. 如請求項8之方法,其進一步包含:判定該緩衝器之該滿度是否大於或等於複數個逐漸增大之滿度上臨限值,該等滿度上臨限值分別對應於一第一類型之複數個技術;及判定寫碼一前一區塊所需要的位元數目與為該當前區塊分配之一目標位元數目的一差,其中回應於該位元數目之該差大於零,藉由該等第一技術按該等相對應滿度上臨限值逐漸增大之次序而逐漸增大來計算該等QP調整值。
  11. 如請求項10之方法,其中回應於該位元數目之該差小於或等於零,藉由該等第一技術按該等對應滿度上臨限值逐漸增大之次序來計算該等逐漸減小的QP調整值。
  12. 如請求項8之方法,其進一步包含:判定該緩衝器之該滿度是否大於或等於複數個逐漸減小之滿度下臨限值,該等滿度下臨限值分別對應於一第二類型之複數個技術;及判定寫碼一前一區塊所需要之該位元數目與用於該當前區塊之一目標位元數目的一差,其中回應於該位元數目之該差大於零,藉由該等第二技術按該等對應的滿度下臨限值逐漸減小之次序來計算該等逐漸增大 的QP調整值。
  13. 如請求項12之方法,其中回應於該位元數目之該差小於或等於零,藉由該等第二技術按該等對應的滿度下臨限值逐漸減小之次序來計算該等逐漸減小的QP調整值。
  14. 如請求項8之方法,其中用於該當前區塊之該QP值之該判定進一步包含:接收用於一前一區塊之一QP值;判定寫碼一前一區塊所需要之該位元數目與用於該當前區塊之一目標位元數目的一差;回應於寫碼該前一區塊所需要的該位元數目與用於該當前區塊之該目標位元數目之該差大於零而基於該前一區塊之該QP值與該QP調整值之一總和判定該當前區塊之該QP值;及回應於寫碼該前一區塊所需要之該位元數目與用於該當前區塊之該目標位元數目之該差不大於零而基於用於該前一區塊之該QP值與該QP調整值之一差而判定該當前區塊之該QP值。
  15. 如請求項8之方法,其進一步包含:將該緩衝器之該滿度分類成該第一滿度上臨限值與一最大緩衝器滿度之間的複數個上限;將該緩衝器之該滿度分類成該第一滿度下臨限值與一最大緩衝器滿度之間的複數個下限;及判定該緩衝器之該滿度對應該等上限或下限中之哪一些,其中該當前區塊之該QP調整值之該計算進一步基於該所判定之上限或下限。
  16. 如請求項8之方法,其進一步包含:判定寫碼一前一區塊所需要之該位元數目與用於該當前區塊之一目標位元數目的一差, 其中該當前區塊之該QP調整值之該計算進一步基於寫碼該前一區塊所需要之該位元數目與用於該當前區塊之該目標位元數目的該差。
  17. 一種用於判定一量化參數(QP)值之器件,其包含:一記憶體,其經組態以儲存包括一前一區塊及一當前區塊之視訊資料;及至少一個處理器電路,其經耦接至該記憶體且經組態以:判定該當前區塊是否包括自一平坦區域至一複合區域之一過渡或是否為一平坦區塊;判定該前一區塊是否包括自一平坦區域至一複合區域之一過渡或是否為一平坦區塊;回應於判定該當前區塊確實包括自一平坦區域至一複合區域之一過渡中之至少一者或為一平坦區塊而選擇用於計算該當前區塊之一QP調整值的一預設技術;回應於判定:i)該當前區塊不包括自一平坦區域至一複合區域之一過渡或不為一平坦區塊,及ii)該前一區塊包括自一平坦區域至一複合區域之一過渡抑或為一平坦區塊,選擇用於計算該當前區塊之該QP調整值的一替代技術;經由該所選擇技術計算該當前區塊之該QP調整值;及基於該QP調整值判定該當前區塊之該QP值。
  18. 如請求項17之器件,其中該處理器電路進一步經組態以:判定該前一區塊、該當前區塊及該下一區塊中之每一者的一複雜度值,其中該判定該當前區塊是否包括自一平坦區域至一複合區域之一過渡係基於該前一區塊、該當前區塊及該下一區塊的該等複雜度值。
  19. 如請求項18之器件,其中該處理器電路經進一步組態以判定該當前區塊是否包括自一平坦區域至一複合區域之一過渡係基於(i)該前一區塊之該複雜度值小於一複雜度臨限值,及(ii)該當前區塊之該複雜度值大於或等於該複雜度臨限值。
  20. 如請求項17之器件,其中該處理器電路進一步經組態以:回應於判定:i)該當前區塊不包括自一平坦區域至一複合區域之一過渡或不為一平坦區塊,及ii)該前一區塊包括至少包括自平坦至複合區域之一過渡中之一者或為一平坦區塊,經由該替代技術判定一所定義數目個連續區塊的複數個QP調整值。
  21. 如請求項20之器件,其中該處理器電路進一步經組態以:判定該所定義數目個連續區塊中之一者是否為一平坦區塊或是否含有自複合區域至一平坦區域之一過渡;及回應於判定該所定義數目個連續區塊中之該一者為一平坦區塊或含有自複合區域至一平坦區域之一過渡,經由該替代技術終止對該所定義數目個連續區塊之該等QP調整值之該判定。
  22. 如請求項17之器件,其中該處理器電路進一步經組態以:判定寫碼該前一區塊所需要的位元數目與用於該當前區塊之一目標位元數目之一差,其中對於該位元數目之一正差,經由該替代技術計算之該QP調整值大於經由該預設技術計算之該QP調整值。
  23. 一種用於判定用於寫碼視訊資料之一量化參數(QP)值的器件,其包含:一固定速率緩衝器電路;一記憶體,其經組態以儲存包括一當前區塊之該視訊資料;及至少一個處理器電路,其經耦接至該記憶體且經組態以:判定該緩衝器電路之一滿度是否(i)大於或等於一第一滿度 上臨限值,或(ii)小於或等於一第一滿度下臨限值;回應於判定該緩衝器之該滿度大於或等於該第一滿度上臨限值而選擇用於計算該當前區塊之一QP調整值的一第一技術;回應於判定該緩衝器之該滿度小於或等於該第一滿度下臨限值而選擇用於計算該當前區塊之該QP調整值的一第二技術;經由該所選擇技術計算該當前區塊之該QP調整值;及基於該QP調整值判定該當前區塊之該QP值。
  24. 如請求項23之器件,其中該處理器電路經進一步組態以回應於判定該緩衝器之該滿度小於該第一滿度臨限值且大於該第二滿度臨限值而選擇用於計算該當前區塊之該QP調整值的一預設技術。
  25. 如請求項23之器件,其中該處理器電路進一步經組態以:判定該緩衝器之該滿度是否大於或等於複數個逐漸增大之滿度上臨限值,該等滿度上臨限值分別對應於一第一類型之複數個技術;及判定寫碼一前一區塊所需要的該位元數目與為該當前區塊分配之一目標位元數目的一差,其中回應於該位元數目之該差大於零,該處理器電路經進一步組態以藉由該等第一技術按該等對應的滿度上臨限值逐漸增大之次序計算該等逐漸增大的QP調整值。
  26. 如請求項25之器件,其中回應於該位元數目之該差小於或等於零,該處理器電路經進一步組態以藉由該等第一技術按該等對應的滿度上臨限值逐漸增大之次序計算該等逐漸減小的QP調整值。
  27. 如請求項23之器件,其中該處理器電路進一步經組態以:判定該緩衝器之該滿度是否大於或等於複數個逐漸減小之滿度下臨限值,該等滿度下臨限值分別對應於一第二類型之複數個技術;及判定寫碼一前一區塊所需要的位元數目與用於該當前區塊之一目標位元數目的一差,其中回應於該位元數目之該差大於零,該處理器電路經進一步組態以藉由該等第二技術按該等對應的滿度下臨限值逐漸減小之次序計算該等逐漸增大的QP調整值。
  28. 如請求項27之器件,其中回應於該位元數目之該差小於或等於零,該處理器電路經進一步組態以藉由該等第二技術按該等對應的滿度下臨限值逐漸減小之次序計算該等逐漸減小的QP調整值。
  29. 如請求項23之器件,其中該處理器電路進一步經組態以:接收一前一區塊之一QP值;判定寫碼一前一區塊所需要的位元數目與用於該當前區塊之一目標位元數目的一差;回應於寫碼該前一區塊所需要的該位元數目與用於該當前區塊之該目標位元數目之該差大於零,基於該前一區塊之該QP值與該QP調整值之一總和而判定該當前區塊之該QP值;及回應於寫碼該前一區塊所需要的該位元數目與用於該當前區塊之該目標位元數目之該差不大於零,基於該前一區塊之該QP值與該QP調整值之一差而判定該當前區塊之該QP值。
  30. 如請求項23之器件,其中該處理器電路進一步經組態以:將該緩衝器之該滿度分類成該第一滿度上臨限值與一最大緩衝器滿度之間的複數個上限; 將該緩衝器之該滿度分類成該第一滿度下臨限值與一最小緩衝器滿度之間的複數個下限;及判定該緩衝器之該滿度對應於該等上限或下限之哪一些,其中該處理器電路進一步經組態以基於該所判定上限或下限而計算該當前區塊之該QP調整值。
TW105111543A 2015-04-13 2016-04-13 用於顯示串流壓縮之量化參數更新分類 TW201703522A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562146898P 2015-04-13 2015-04-13
US15/092,407 US10356428B2 (en) 2015-04-13 2016-04-06 Quantization parameter (QP) update classification for display stream compression (DSC)

Publications (1)

Publication Number Publication Date
TW201703522A true TW201703522A (zh) 2017-01-16

Family

ID=57112949

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105111543A TW201703522A (zh) 2015-04-13 2016-04-13 用於顯示串流壓縮之量化參數更新分類

Country Status (7)

Country Link
US (1) US10356428B2 (zh)
EP (1) EP3284254A1 (zh)
JP (1) JP2018515015A (zh)
KR (1) KR20170137093A (zh)
CN (1) CN107431811A (zh)
TW (1) TW201703522A (zh)
WO (1) WO2016168060A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10244255B2 (en) 2015-04-13 2019-03-26 Qualcomm Incorporated Rate-constrained fallback mode for display stream compression
US9936203B2 (en) 2015-04-13 2018-04-03 Qualcomm Incorporated Complex region detection for display stream compression
US10284849B2 (en) 2015-04-13 2019-05-07 Qualcomm Incorporated Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure
US10432952B2 (en) 2015-11-19 2019-10-01 Qualcomm Incorporated System and methods for fixed-point approximations in display stream compression (DSC)
US11546611B2 (en) * 2018-08-01 2023-01-03 Samsung Display Co., Ltd. Rate control for fixed rate foveated display compression

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4922273A (en) 1987-04-02 1990-05-01 Konica Corporation Compression method of halftone image data
JP2507215B2 (ja) 1991-09-02 1996-06-12 松下電器産業株式会社 画像符号化装置
JP3152765B2 (ja) 1991-10-31 2001-04-03 株式会社東芝 画像符号化装置
US5398078A (en) 1991-10-31 1995-03-14 Kabushiki Kaisha Toshiba Method of detecting a motion vector in an image coding apparatus
JPH06245199A (ja) 1993-02-19 1994-09-02 Sharp Corp 画像符号化装置
US5933451A (en) 1994-04-22 1999-08-03 Thomson Consumer Electronics, Inc. Complexity determining apparatus
US6160846A (en) 1995-10-25 2000-12-12 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
US7016413B2 (en) 1998-03-20 2006-03-21 International Business Machines Corporation Adaptively encoding a picture of contrasted complexity having normal video and noisy video portions
FI116819B (fi) 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
DE10048735A1 (de) 2000-09-29 2002-04-11 Bosch Gmbh Robert Verfahren zur Codierung und Decodierung von Bildsequenzen sowie Einrichtungen hierzu
US8054880B2 (en) 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
KR100540655B1 (ko) 2003-01-23 2006-01-10 삼성전자주식회사 비디오 코딩시의 비트율 제어 방법 및 장치
KR100860147B1 (ko) * 2004-02-20 2008-09-24 닛본 덴끼 가부시끼가이샤 화상 부호화 방법, 그 장치 및 제어 프로그램을 기록한 컴퓨터 판독가능한 기록 매체
DE102004037584B4 (de) * 2004-08-03 2008-05-08 Bayerische Motoren Werke Ag Verfahren zum Betreiben einer Antriebseinheit
JP4074868B2 (ja) 2004-12-22 2008-04-16 株式会社東芝 画像符号化制御方法及びその装置
US7751478B2 (en) 2005-01-21 2010-07-06 Seiko Epson Corporation Prediction intra-mode selection in an encoder
US8363717B2 (en) 2005-05-17 2013-01-29 Canon Kabushiki Kaisha Image processing apparatus
CN100448295C (zh) * 2005-05-27 2008-12-31 中国科学院自动化研究所 一种低复杂度的积分码率控制方法
US20060280242A1 (en) * 2005-06-13 2006-12-14 Nokia Corporation System and method for providing one-pass rate control for encoders
US8879857B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
KR101348365B1 (ko) 2006-08-02 2014-01-10 삼성전자주식회사 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
US8787445B2 (en) 2007-03-15 2014-07-22 Nvidia Corporation Allocation of available bits to represent different portions of video frames captured in a sequence
KR101172430B1 (ko) * 2007-08-17 2012-08-08 삼성전자주식회사 비트율 제어 방법 및 그 장치
JP5427785B2 (ja) 2007-09-28 2014-02-26 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ圧縮技法及びビデオ伝達技法
US8363719B2 (en) 2007-10-29 2013-01-29 Canon Kabushiki Kaisha Encoding apparatus, method of controlling thereof, and computer program
CN101184221A (zh) * 2007-12-06 2008-05-21 上海大学 基于视觉关注度的视频编码方法
JP5111128B2 (ja) 2008-01-22 2012-12-26 キヤノン株式会社 符号化装置、符号化装置の制御方法及びコンピュータプログラム
KR100952340B1 (ko) 2008-01-24 2010-04-09 에스케이 텔레콤주식회사 시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치
KR101350723B1 (ko) 2008-06-16 2014-01-16 돌비 레버러토리즈 라이쎈싱 코오포레이션 비디오 코딩을 위한 슬라이스 종속성에 기초한 레이트 제어 모델 적응 방법
US9479786B2 (en) 2008-09-26 2016-10-25 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
KR101539045B1 (ko) 2008-09-26 2015-07-23 에스케이 텔레콤주식회사 양자화 계수 결정 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
CN102210151A (zh) * 2008-11-07 2011-10-05 三菱电机株式会社 图像编码装置以及图像解码装置
US8897365B2 (en) 2008-11-19 2014-11-25 Nvidia Corporation Video rate control processor for a video encoding process
WO2010077333A1 (en) 2008-12-29 2010-07-08 Thomson Licensing Method and apparatus for rate control for compression of video frames
US9473792B2 (en) 2009-11-06 2016-10-18 Texas Instruments Incorporated Method and system to improve the performance of a video encoder
KR101282193B1 (ko) 2009-11-10 2013-07-04 한국전자통신연구원 칼만 필터와 fir 필터를 사용한 동영상 인코더에서의 비트율 제어 방법
KR20110060181A (ko) 2009-11-30 2011-06-08 한국전자통신연구원 무손실/준무손실 영상 압축 장치 및 방법
TWI587685B (zh) 2010-01-08 2017-06-11 諾基亞科技公司 用於視訊處理之裝置、方法及電腦程式
US20120026394A1 (en) 2010-07-30 2012-02-02 Emi Maruyama Video Decoder, Decoding Method, and Video Encoder
WO2012048052A1 (en) 2010-10-05 2012-04-12 General Instrument Corporation Method and apparatus for feature based video coding
EP4250732B1 (en) 2011-01-07 2024-03-20 Nokia Technologies Oy Motion prediction in video coding
JP2012191500A (ja) * 2011-03-11 2012-10-04 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
CN103828369B (zh) 2011-06-10 2018-09-07 茨特里克斯系统公司 质量感知视频优化中的宏块级自适应量化
EP2795899A4 (en) 2011-12-23 2016-01-27 Intel Corp CONTENTSADAPTIVE HIGHLY PRECISE MACROBLOCK RATES CONTROL
JP5988577B2 (ja) 2011-12-28 2016-09-07 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
WO2013145642A1 (ja) 2012-03-28 2013-10-03 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム
US9299166B2 (en) 2012-12-13 2016-03-29 Qualcomm Incorporated Image compression method and apparatus for bandwidth saving
CN103179405B (zh) * 2013-03-26 2016-02-24 天津大学 一种基于多级感兴趣区域的多视点视频编码方法
US9538190B2 (en) 2013-04-08 2017-01-03 Qualcomm Incorporated Intra rate control for video encoding based on sum of absolute transformed difference
US9565440B2 (en) 2013-06-25 2017-02-07 Vixs Systems Inc. Quantization parameter adjustment based on sum of variance and estimated picture encoding cost
GB2523736B (en) 2014-02-19 2020-03-25 Advanced Risc Mach Ltd Rate control in video encoding
US9661329B2 (en) 2014-04-30 2017-05-23 Intel Corporation Constant quality video coding
US10244255B2 (en) 2015-04-13 2019-03-26 Qualcomm Incorporated Rate-constrained fallback mode for display stream compression
US10284849B2 (en) 2015-04-13 2019-05-07 Qualcomm Incorporated Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure
US9936203B2 (en) 2015-04-13 2018-04-03 Qualcomm Incorporated Complex region detection for display stream compression

Also Published As

Publication number Publication date
WO2016168060A1 (en) 2016-10-20
US10356428B2 (en) 2019-07-16
JP2018515015A (ja) 2018-06-07
CN107431811A (zh) 2017-12-01
US20160301939A1 (en) 2016-10-13
KR20170137093A (ko) 2017-12-12
EP3284254A1 (en) 2018-02-21

Similar Documents

Publication Publication Date Title
US10244255B2 (en) Rate-constrained fallback mode for display stream compression
TWI634778B (zh) 用於顯示串流壓縮之複合區域偵測
US10284849B2 (en) Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure
JP6449329B2 (ja) ディスプレイストリーム圧縮(dsc)において量子化パラメータ(qp)を選択するためのシステムおよび方法
TW201729591A (zh) 於顯示流壓縮(dsc)中用於降低切片邊界視覺假象之系統及方法
CN108702513B (zh) 用于在显示流压缩中量化参数的适应性计算的设备及方法
CN108353170B (zh) 用于在显示流压缩(dsc)中固定点近似的系统和方法
TW201703522A (zh) 用於顯示串流壓縮之量化參數更新分類
TW201737706A (zh) 用於顯示串流壓縮之基於向量之熵寫碼的裝置及方法
KR102112942B1 (ko) 디스플레이 스트림 압축에 대한 지각적 양자화 파라미터 (qp) 가중을 위한 장치 및 방법들