TW201931856A - 用於視訊寫碼之相等範圍及其他dra參數之信號發送機制 - Google Patents

用於視訊寫碼之相等範圍及其他dra參數之信號發送機制 Download PDF

Info

Publication number
TW201931856A
TW201931856A TW108101277A TW108101277A TW201931856A TW 201931856 A TW201931856 A TW 201931856A TW 108101277 A TW108101277 A TW 108101277A TW 108101277 A TW108101277 A TW 108101277A TW 201931856 A TW201931856 A TW 201931856A
Authority
TW
Taiwan
Prior art keywords
length
range
value
video
data structure
Prior art date
Application number
TW108101277A
Other languages
English (en)
Other versions
TWI773868B (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 TW201931856A publication Critical patent/TW201931856A/zh
Application granted granted Critical
Publication of TWI773868B publication Critical patent/TWI773868B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/92Dynamic range modification of images or parts thereof based on global image 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/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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/68Circuits for processing colour signals for controlling the amplitude of colour signals, e.g. automatic chroma control circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20208High dynamic range [HDR] image processing
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Picture Signal Circuits (AREA)

Abstract

動態範圍調整可用於校正在視訊中之色彩之該動態範圍變換時可出現的失真。在各種實例中,可使用一分段線性函數來執行動態範圍調整,該分段線性函數將一色值範圍作為輸入。可將描述該分段線性函數之參數編碼成一位元串流,且可藉由一解碼程序使用該等參數以重建構該分段線性函數。為改良編碼效率,在該分段線性函數之輸入值範圍可劃分為具有相等長度之部分時,可應用技術,藉由該等技術,不必編碼該等參數中之冗餘值。該解碼程序可自所提供之值中導出省略值,且可應用該分段線性函數來解碼視訊資料,以執行動態範圍調整。

Description

用於視訊寫碼之相等範圍及其他DRA參數之信號發送機制
本申請案係關於視訊系統及方法。舉例而言,本申請案係關於具備高動態範圍(HDR)及廣色域(WCG)表示之視訊信號之寫碼之領域。本申請案指定應用於特定色彩空間中之視訊資料以實現HDR及WCG視訊資料之更高效壓縮之信號發送及操作。本申請案之標的物之權益包括改良用於寫碼HDR及WCG視訊資料之基於混合的視訊寫碼系統之壓縮效率。
視訊寫碼標準之實例包括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),包括其可調式視訊寫碼(SVC)及多視圖視訊寫碼(MVC)擴展。另外,已由ITU-T視訊寫碼專家組(VCEG)及ISO/IEC動畫專家組(MPEG)的視訊寫碼聯合協作小組(JCT-VC)研發視訊寫碼標準,亦即高效視訊寫碼(HEVC)。最新HEVC草案規範可在http://www.itu.int/rec/T-REC-H.265-201504-I/en處作為「Recommendation ITU-T H.265: High Efficiency Video Coding (HEVC)」獲得。
在各種實施方案中,提供諸如用於編碼及解碼視訊資料之編碼及解碼器件、方法及電腦可讀媒體之系統。動態範圍調整可用於校正在視訊中之色彩之該動態範圍變換時可出現的失真。在各種實例中,可使用一分段線性函數來執行動態範圍調整,該分段線性函數將一色值範圍作為輸入。可將描述該分段線性函數之參數編碼成一位元串流,且可藉由一解碼器使用該等參數以重建構該分段線性函數。
動態範圍調整可用於改良壓縮視訊資料之效率。舉例而言,可在將視訊資料轉換為可更加適合於壓縮之格式的編碼器件處執行程序,使得在不影響經解碼視訊資料之品質的情況下可需要更少位元來編碼視訊資料。可在將該資料轉換回至與輸入視訊資料相同之格式的解碼器件處執行反向程序。
動態範圍調整可進一步用於將視訊資料轉換為適合於特定類型的顯示器的表示。該表示可轉換至之顯示器之特徵可包括例如顯示器之峰值明度、顯示器之動態範圍、顯示器之色域及/或由顯示器使用之色彩原色。在一些實例中,動態範圍調整可用於將視訊資料自SDR轉換至HDR或反過來,如可應用的。
各種技術可用於用信號發送參數,該等參數可用於動態範圍調整。特定言之,技術可在分段線性函數之輸入值範圍可劃分為各自具有相同長度之片段或分區時引起用以編碼參數所需的位元量減小。在輸入值範圍可劃分為各自具有相同長度之範圍集合及一個具有不同長度之範圍時,亦可利用此等技術。
根據至少一個實例,提供一種編碼視訊之方法,其包括:在一編碼器件處獲得視訊資料,其中,針對該視訊資料之一視訊訊框之一部分,該視訊資料包括針對該視訊訊框之該部分中之色彩的動態範圍調整描述一分段線性函數的參數,其中該等參數將該分段線性函數之一輸入值範圍劃分為複數個非重疊範圍,其中該複數個非重疊範圍包括具有一第一長度之一第一範圍及各自具有一第二長度之一範圍集合,且其中該第一長度不同於該第二長度。方法進一步包括針對該等參數產生一資料結構。方法進一步包括設置該資料結構中之一指示符以指示該複數個非重疊範圍包括各自具有該第二長度之該範圍集合。方法進一步包括設置該資料結構中之一第一值以指示該第二長度。方法進一步包括自該視訊資料產生經編碼視訊資料,其中該資料結構與該經編碼視訊資料一起包括。
在另一實例中,提供一種編碼器件,其包括:一記憶體,其經組態以儲存視訊資料;及一處理器。該處理器經組態以且可針對該等參數產生一資料結構。該處理器經組態以且可設置該資料結構中之一指示符以指示該複數個非重疊範圍包括各自具有該第二長度之該範圍集合。該處理器經組態以且可設置該資料結構中之一第一值以指示該第二長度。該處理器經組態以且可自該視訊資料產生經編碼視訊資料,其中該資料結構與該經編碼視訊資料一起包括。
在另一實例中,提供一種電腦可讀媒體,於其上儲存有指令,該等指令在由一處理器執行時使得該處理器執行操作,該等操作包括:在一編碼器件處獲得視訊資料,其中,針對該視訊資料之一視訊訊框之一部分,該視訊資料包括針對該視訊訊框之該部分中之色彩的動態範圍調整描述一分段線性函數的參數,其中該等參數將該分段線性函數之一輸入值範圍劃分為複數個非重疊範圍,其中該複數個非重疊範圍包括具有一第一長度之一第一範圍及各自具有一第二長度之一範圍集合,且其中該第一長度不同於該第二長度。該等指令進一步使得該處理器針對該等參數產生一資料結構。該等指令進一步使得該處理器設置該資料結構中之一指示符以指示該複數個非重疊範圍包括各自具有該第二長度之該範圍集合。該等指令進一步使得該處理器設置該資料結構中之一第一值以指示該第二長度。該等指令進一步使得該處理器自該視訊資料產生經編碼視訊資料,其中該資料結構與該經編碼視訊資料一起包括。
在另一實例中,提供一種裝置,其包括用於獲得視訊資料的構件,其中,針對該視訊資料之一視訊訊框之一部分,該視訊資料包括針對該視訊訊框之該部分中之色彩的動態範圍調整描述一分段線性函數的參數,其中該等參數將該分段線性函數之一輸入值範圍劃分為複數個非重疊範圍,其中該複數個非重疊範圍包括具有一第一長度之一第一範圍及各自具有一第二長度之一範圍集合,且其中該第一長度不同於該第二長度。該裝置進一步包括用於針對該等參數產生一資料結構的構件。該裝置進一步包括用於設置該資料結構中之一指示符以指示該複數個非重疊範圍包括各自具有該第二長度之該範圍集合的構件。該裝置進一步包括用於設置該資料結構中之一第一值以指示該第二長度的構件。該裝置進一步包括用於自該視訊資料產生經編碼視訊資料的構件,其中該資料結構與該經編碼視訊資料一起包括。
在一些態樣中,該第一值指示該第二長度作為該範圍集合中之每一者之一結束值與一開始值之間的一差。
在一些態樣中,該第一值藉由指示一固定值與該第二長度之間的一差來指示該第二長度。
在一些態樣中,上文所描述之方法、裝置及電腦可讀媒體進一步包括設置該資料結構中之一第二值以指示該第一長度。
在一些態樣中,該第一範圍包括來自該輸入值範圍之一起點之一第一輸入值集合,且其中該範圍集合包括來自該輸入值範圍之一第二輸入值集合,該第二輸入值集合在該第一輸入值集合之後。
在一些態樣中,該複數個非重疊範圍包括具有一第三長度之一第二範圍,其中該第三長度不同於該第二長度。在此等態樣中,上文所描述之方法、裝置及電腦可讀媒體進一步包括設置該資料結構中之一第二指示符以指示該複數個非重疊範圍包括該第一範圍及該第二範圍。此等態樣進一步包括設置該資料結構中之一第三值以指示該第三長度。
在一些態樣中,該第一值等於該範圍集合中之一範圍數目乘以該第二長度。
在一些態樣中,該範圍集合包括來自該輸入值範圍之一起點之一第一輸入值集合,且其中該第一範圍包括來自該輸入值範圍之一第二輸入值集合,該第二輸入值集合在該第一輸入值集合之後。
在一些態樣中,該等參數進一步包括與該複數個非重疊範圍中之每一者相關聯的比例因數。在此等態樣中,上文所描述之方法、裝置及電腦可讀媒體進一步包括將該等比例因數加入至該資料結構。
在一些態樣中,上文所描述之方法、裝置及電腦可讀媒體進一步包含:於一補充增強資訊(SEI)訊息、一圖塊標頭或一參數集中包括該資料結構。
根據至少一個實例,提供一種解碼視訊資料之方法,其包括該方法進一步包括針對該經編碼視訊資料之一視訊訊框之一部分確定一資料結構,該資料結構包括針對該視訊訊框之該部分中之色彩的動態範圍調整描述一分段線性函數的參數,其中該等參數將該分段線性函數之一輸入值範圍劃分為複數個非重疊範圍。該方法進一步包括自該資料結構中之一指示符確定該複數個非重疊範圍包括具有一第一長度之一第一範圍及各自具有一第二長度之一範圍集合,其中該第一長度不同於該第二長度。該方法進一步包括使用該資料結構中之一第一值來確定該第二長度。該方法進一步包括使用藉由該資料結構提供之資訊來確定該第一長度。該方法進一步包括使用該第一長度、該第二長度及與該複數個非重疊範圍中之每一者相關聯的比例因數來重建構該分段線性函數,其中該等比例因數包括於該資料結構中。該方法進一步包括解碼該視訊訊框之該部分。該方法進一步包括將該分段線性函數應用於該視訊訊框之該部分中之該等色彩以執行動態範圍調整。
在另一實例中,提供一種解碼,其包括:一記憶體,其經組態以儲存視訊資料;及一處理器。該處理器經組態以且可針對該經編碼視訊資料之一視訊訊框之一部分確定一資料結構,該資料結構包括針對該視訊訊框之該部分中之色彩的動態範圍調整描述一分段線性函數的參數,其中該等參數將該分段線性函數之一輸入值範圍劃分為複數個非重疊範圍。該處理器經組態以且可自該資料結構中之一指示符確定該複數個非重疊範圍包括具有一第一長度之一第一範圍及各自具有一第二長度之一範圍集合,其中該第一長度不同於該第二長度。該處理器經組態以且可使用該資料結構中之一第一值來確定該第二長度。該處理器經組態以且可使用藉由該資料結構提供之資訊來確定該第一長度。該處理器經組態以且可使用該第一長度、該第二長度及與該複數個非重疊範圍中之每一者相關聯的比例因數來重建構該分段線性函數,其中該等比例因數包括於該資料結構中。該處理器經組態以且可解碼該視訊訊框之該部分。該處理器經組態以且可將該分段線性函數應用於該視訊訊框之該部分中之該等色彩以執行動態範圍調整。
在另一實例中,提供一種電腦可讀媒體,於其上儲存有指令,該等指令在由一處理器執行時使得該處理器執行包括獲得經編碼視訊資料之操作。該等指令可進一步使得該處理器針對該經編碼視訊資料之一視訊訊框之一部分確定一資料結構,該資料結構包括針對該視訊訊框之該部分中之色彩的動態範圍調整描述一分段線性函數的參數,其中該等參數將該分段線性函數之一輸入值範圍劃分為複數個非重疊範圍。該等指令可進一步使得該處理器自該資料結構中之一指示符確定該複數個非重疊範圍包括具有一第一長度之一第一範圍及各自具有一第二長度之一範圍集合,其中該第一長度不同於該第二長度。該等指令可進一步使得該處理器使用該資料結構中之一第一值來確定該第二長度。該等指令可進一步使得該處理器使用該資料結構來確定該第一長度。該等指令可進一步使得該處理器使用該第一長度、該第二長度及與該複數個非重疊範圍中之每一者相關聯的比例因數來重建構該分段線性函數,其中該等比例因數包括於該資料結構中。該等指令可進一步使得該處理器解碼該視訊訊框之該部分。該等指令可進一步使得該處理器將該分段線性函數應用於該視訊訊框之該部分中之該等色彩以執行動態範圍調整。
在另一實例中,提供一種裝置,其包括用於獲得經編碼視訊資料的構件。該裝置進一步包括用於針對該經編碼視訊資料之一視訊訊框之一部分確定一資料結構的構件,該資料結構包括針對該視訊訊框之該部分中之色彩的動態範圍調整描述一分段線性函數的參數,其中該等參數將該分段線性函數之一輸入值範圍劃分為複數個非重疊範圍。該裝置進一步包括用於自該資料結構中之一指示符確定該複數個非重疊範圍包括具有一第一長度之一第一範圍及各自具有一第二長度之一範圍集合的構件,其中該第一長度不同於該第二長度。該裝置進一步包括用於使用該資料結構中之一第一值來確定該第二長度的構件。該裝置進一步包括用於使用該資料結構來確定該第一長度的構件。該裝置進一步包括用於使用該第一長度、該第二長度及與該複數個非重疊範圍中之每一者相關聯的比例因數來重建構該分段線性函數的構件,其中該等比例因數包括於該資料結構中。該裝置進一步包括用於解碼該視訊訊框之該部分的構件。該裝置進一步包括用於將該分段線性函數應用於該視訊訊框之該部分中之該等色彩以執行動態範圍調整的構件。
在一些態樣中,該第一值提供該第二長度,且其中該資料結構中之一第二值提供該第一長度。
在一些態樣中,該第一值藉由指示一固定值與該第二長度之間的一差來指示該第二長度。
在一些態樣中,該資料結構中之一第二值提供該第一長度。在此等態樣中,方法、裝置及電腦可讀媒體進一步包含自與該第二值相關聯的一索引確定該第一範圍包括來自該輸入值範圍之一起點之一第一輸入值集合,且其中該範圍集合包括來自該輸入值範圍之一第二輸入值集合,該第二輸入值集合在該第一輸入值集合之後。
在一些態樣中,上文所描述之方法、裝置及電腦可讀媒體進一步包含自該資料結構中之一第二指示符確定該複數個非重疊範圍包括具有一第三長度之一第二範圍,其中第三長度不同於該第二長度。此等態樣進一步包含自該資料結構中之一第三值確定該第三長度。
在一些態樣中,該第一長度等於該範圍集合之一總長度,且其中確定該第二長度包括該第一長度除以該範圍集合中之一範圍數目。
在一些態樣中,上文所描述之方法、裝置及電腦可讀媒體進一步包含基於該第一值確定該範圍集合包括來自該輸入值範圍之一起點之一第一輸入值集合,且其中該第一範圍包括來自該輸入值範圍之一第二輸入值集合,該第二輸入值集合在該第一輸入值集合之後。
在一些態樣中,該等參數包括於一補充增強資訊(SEI)訊息、一圖塊標頭或一參數集中。
此發明內容並不意欲識別所主張標的物之關鍵或基本特徵,亦不意欲單獨使用以確定所主張標的物之範疇。應參考此專利之整個說明書之適當部分、任何或所有圖式及每一申請專利範圍來理解標的物。
在參考以下說明書、申請專利範圍及隨附圖式時,前述內容連同其他特徵及實施例將變得更顯而易見。
下文提供本發明之某些態樣及實施例。此等態樣及實施例中之一些可獨立地應用且其中之一些可以將對熟習此項技術者顯而易見之組合來應用。在以下描述中,出於解釋之目的,闡述特定細節以便提供對本申請案之實施例之透徹理解。然而,各種實施例可在無此等特定細節之情況下得以實踐將為顯而易見的。圖式及描述不意欲為限定性的。
隨後描述僅提供實例,且並不意欲限制本發明之範疇、可適用性或組態。確切而言,實例之隨後描述將為熟習此項技術者提供用於實施實例之能夠實現的描述。應理解,可在不背離如所附申請專利範圍中所闡述之本申請案之精神及範疇的情況下對元件之功能及配置做出各種變化。
在以下描述中給出特定細節以提供對實施例之透徹理解。然而,一般技術者應瞭解,實施例可在無需此等特定細節之情況下實踐。舉例而言,電路、系統、網路、程序及其他組件可在方塊圖形式中展示為組件以便在不必要細節下不與實施例混淆。在其他情況下,可在無不必要細節之情況下展示熟知電路、程序、演算法、結構及技術以便避免混淆實施例。
同樣,應注意,個別實施例可描述為經描繪為流程圖(flowcart)、流程圖(flow diagram)、資料流程圖、結構圖或方塊圖之程序。儘管流程圖可能將操作描述為順序程序,但許多操作可並行地或同時加以執行。另外,操作之次序可以重新配置。程序在其操作完成時終止,但可具有不包括於圖中之額外步驟。程序可對應於方法、函數、程序、次常式、子程式等。當程序對應於函數時,其終止可對應於函數傳回至呼叫函數或主函數。
術語「電腦可讀媒體」包括(但不限於)攜帶型或非攜帶型儲存裝置、光儲存器件,及能夠儲存、含有或攜載指令及/或資料之各種其他媒體。電腦可讀媒體可包括非暫時性媒體,其中可儲存資料並且不包括載波及/或無線地或經由有線連接傳播之暫時電子信號。非暫時性媒體之實例可包括(但不限於)磁碟或磁帶、諸如緊密光碟(CD)或數位化通用光碟(DVD)之光學儲存媒體、快閃記憶體、記憶體或記憶體器件。電腦可讀媒體可具有儲存於其上之代碼及/或機器可執行指令,該等代碼及/或機器可執行指令可表示程序、函數、子程式、程式、常式、次常式、模組、軟體套件、類別,或指令、資料結構或程式語句之任何組合。一個碼段可藉由傳遞及/或接收資訊、資料、引數、參數或記憶體內容耦接至另一碼段或硬體電路。資訊、引數、參數、資料等可經由包括記憶體共用、訊息傳遞、符記傳遞、網路傳輸或類似者之任何合適方式傳遞、轉遞或傳輸。
此外,可由硬體、軟體、韌體、中間軟體、微碼、硬體描述語言或其任何組合實施實施例。當實施於軟體、韌體、中間軟體或微碼中時,用以執行必要任務之程式碼或碼段(例如電腦程式產品)可儲存於電腦可讀或機器可讀媒體中。處理器可執行必要任務。
隨著更多器件及系統為消費者提供消耗數位視訊資料之能力,對高效視訊寫碼技術之需要變得更加重要。需要視訊寫碼來減少處置存在於數位視訊資料中之大量資料所必要的儲存及傳輸要求。各種視訊寫碼技術可用於將視訊資料壓縮成使用較低位元速率同時維持高視訊品質之形式。如本文中所使用,「寫碼」可指「編碼」及「解碼」。
色彩容量變換為一種程序,視訊中之色彩範圍可藉由該程序進行變換例如從而出於編碼或壓縮視訊資料之目的減小色彩容量。反向色彩變換程序可將減小之色彩容量復原至初始色彩容量。變換可為有損程序,意謂可能因變換程序而損失一些色彩資訊,在應用反變換時無法恢復該等色彩資訊。由於資料損失或其他問題,視訊中之色彩中可出現失真,諸如色彩滲透或失配。
動態範圍調整(DRA)為用於補償可能在色彩容量變換期間出現之失真的程序。動態範圍調整可補償可能在色彩容量變換期間出現之視訊中之色彩之動態範圍的變化。動態範圍調整可包括使用分段線性函數表示一組視訊訊框之動態範圍、一個視訊訊框之動態範圍及/或視訊訊框之一部分之動態範圍。編碼器可信號發送描述位元串流中之分段線性函數之參數(例如編碼參數值且於位元串流中包括經編碼值),以及表示視訊訊框之其他資料。解碼器接著可使用參數以重建構分段線性函數,且使用分段線性函數以調整對應訊框組、訊框及/或視訊訊框之部分之動態範圍。
可壓縮視訊資料以便減小用於表示資料之位元數目。可執行壓縮使得經重建構視訊之品質與用於表示資料之位元數目之間的折衷符合特定申請案及/或確定為令內容之消費者滿意之度量。可對視訊資料應用動態範圍調整使得將視訊資料轉換成能夠提供品質及位元數目之更佳折衷的域。反向程序可將視訊資料復原回至初始域。
動態範圍調整亦可應用於轉換視訊使得其適用於特定類型的顯示器。視訊資料可如此經編碼,或可在應用動態範圍調整之後經寫碼。所得視訊可適用於特定顯示器特徵集合(例如集合A)。可在解碼器處應用對應動態範圍調整以轉換經解碼視訊,使得經轉換視訊適用於不同顯示器特徵集合(例如集合B)。在顯示器特徵與集合A匹配時,可能不需要在解碼器處執行動態範圍調整。在其他實例中,顯示器特徵之集合可包括例如顯示器之峰值明度、動態範圍、色域及/或顯示器之色彩原色。在一些實例中,集合A亦可適用於SDR顯示器(或HDR顯示器),且集合B可適用於HDR顯示器(或SDR顯示器)。在此等實例中,動態範圍調整將內容自SDR映射至HDR (或HDR至SDR)。
信號發送(例如於經編碼位流中描述)分段線性函數可能需要特定數目之位元,該等位元可表示冗餘資訊。舉例而言,用以描述分段線性函數之一種方式為將函數之輸入值範圍劃分為各自具有恆定斜率之片段,在此情況下,可藉由於經編碼資料中包括每一片段之長度及每一片段之斜率來信號發送函數。對於一些內容,函數可如此以使得片段可具有相等長度,在此情況下,長度分量為冗餘的。在此實例中,可藉由僅信號發送每一片段之斜率來改良寫碼效率(例如位元串流之緊密性)。然而,對於一些內容,可僅將範圍之一部分劃分為具有恆定傾斜之片段。舉例而言,對於一些內容,可將輸入值範圍劃分為具有相等長度之範圍集合及具有不同長度之一個範圍。在此實例中,用於在該等範圍中信號發送之一個選項為指示每一範圍之長度及該斜率。此可為較不高效的,此係由於相等長度範圍之長度分量將為相同的且因此冗餘地用信號發送。一個替代性選項為將包括不相等長度之一個範圍的所有輸入值範圍劃分為相等長度,且信號發送每一所得片段之斜率。此亦可為較不高效的,此係由於在此情況下將針對可另外使用一個長度來信號發送之範圍信號發送多個長度。
在各種實施方案中,提供系統、方法及儲存於電腦可讀媒體上的指令以供用於編碼自動態範圍調整使用之分段線性函數,且用於解碼可用於重建構分段線性函數之參數。用於分段線性函數之參數可包括於資料結構中,該資料結構可設置有參數應用之經編碼視訊資料。
在各種實例中,可將分段線性函數之輸入值範圍劃分為非重疊範圍。在範圍包括各自具有相同長度之集合時,可於資料結構中指示一個長度。此可減小需要用以編碼資料結構之位元之數目,原因在於範圍之個別長度不必包括於資料結構中。在範圍亦包括並未具有與具有相同長度之範圍相同的長度的一個或可能兩個範圍時,則資料結構可包括分離分量以指示此等其他長度中之一或兩者,或可自用於指示具有相同長度之範圍之長度的參數導出一或兩個長度。此使得能夠使用用於指示具有相同長度之範圍之長度的一個值,而不必個別地指示範圍中之每一者之長度。\
參看圖1,視訊源102可將視訊資料提供至編碼器件104。視訊源102可為源器件之一部分,或可為除源器件以外的器件之一部分。視訊源102可包括視訊獲取器件(例如視訊攝影機、攝影機電話、視訊電話或類似者)、含有經儲存視訊之視訊存檔、提供視訊資料之視訊伺服器或內容提供者、自視訊伺服器或內容提供者接收視訊之視訊饋入介面、用於產生電腦圖形視訊資料之電腦圖形系統、此等源之組合或任何其他合適的視訊源。
來自視訊源102之視訊資料可包括一或多個輸入圖像或訊框。視訊之圖像或訊框為場景之靜態影像。編碼器件104之編碼器引擎106 (或編碼器)編碼視訊資料以產生經編碼視訊位元串流。在一些實例中,經編碼視訊位元串流(或「視訊位元串流」或「位元串流」)為一系列之一或多個經寫碼視訊序列。經寫碼視訊序列(CVS)包括一系列存取單元(AU),其始於在基礎層中具有隨機存取點圖像且具有某些性質之AU,直至且不包括在基礎層中具有隨機存取點圖像且具有某些性質之下一AU。舉例而言,開始CVS的隨機存取點圖像之某些性質可包括等於1之RASL旗標(例如NoRaslOutputFlag)。否則,隨機存取點圖像(具有等於0之RASL旗標)不開始CVS。存取單元(AU)包括一或多個經寫碼圖像及對應於共用相同輸出時間之經寫碼圖像的控制資訊。圖像之經寫碼圖塊在位元串流層級囊封至稱為網路抽象層(NAL)單元之資料單元中。舉例而言,HEVC視訊位元串流可包括一或多個CVS,該一或多個CVS包括NAL單元。NAL單元中之每一者具有NAL單元標頭。在一個實例中,標頭對於H.264/AVC (除了多層擴展以外)為一個位元組且對於HEVC為兩個位元組。NAL單元標頭中之語法元素採取經指定位元,且因此對所有種類之系統及輸送層可見,諸如輸送串流、即時輸送(RTP)協定、檔案格式以及其他。
兩種類別之NAL單元存在於HEVC標準中,包括視訊寫碼層(VCL) NAL單元及非VCL NAL單元。VCL NAL單元包括經寫碼圖像資料之一個圖塊或圖塊片段(如下描述),且非VCL NAL單元包括關於一或多個經寫碼圖像之控制資訊。在一些情況下,NAL單元可被稱作封包。HEVC AU包括含有經寫碼圖像資料之VCL NAL單元及對應於經寫碼圖像資料之非VCL NAL單元(若存在)。
NAL單元可含有形成視訊資料之經寫碼表示的位元序列(例如經編碼視訊位元串流、位元串流之CVS或類似者),諸如視訊中之圖像之經寫碼表示。編碼器引擎106藉由將每一圖像分割成多個圖塊而產生圖像之經寫碼表示。一圖塊獨立於其他圖塊,以使得在不依賴於來自同一圖像內之其他圖塊之資料的情況下寫碼該圖塊中之資訊。一圖塊包括一或多個圖塊片段,該一或多個圖塊片段包括獨立圖塊片段及(若存在)取決於先前圖塊片段之一或多個相關圖塊片段。圖塊接著經分割成明度樣本及色度樣本之寫碼樹型區塊(CTB)。明度樣本之CTB及色度樣本之一或多個CTB連同樣本之語法被稱為寫碼樹型單元(CTU)。CTU為用於HEVC編碼之基本處理單元。CTU可經分裂成具有不同大小之多個寫碼單元(CU)。CU含有被稱為寫碼區塊(CB)之明度及色度樣本陣列。
明度及色度CB可進一步分裂成預測區塊(PB)。PB為對於框間預測或塊內複製預測(在可用或經啟用以供使用時)使用相同運動參數的明度分量或色度分量之樣本之區塊。該明度PB及一或多個色度PB連同相關聯語法形成預測單元(PU)。對於框間預測,運動參數之集合(例如一或多個運動向量、參考索引或類似者)用信號發送於每一PU之位元串流中,且用於明度PB及一或多個色度PB之框間預測。運動參數亦可被稱作運動資訊。CB亦可經分割成一或多個變換區塊(TB)。TB表示色彩分量之樣本之正方形區塊,對該正方形區塊應用同一二維變換以用於寫碼預測殘餘信號。變換單元(TU)表示明度及色度樣本之TB以及對應語法元素。
CU之大小對應於寫碼模式之大小,且可為正方形形狀。舉例而言,CU之大小可為8×8樣本、16×16樣本、32×32樣本、64×64樣本或達至對應CTU之大小的任何其他適當大小。片語「N×N」在本文中用於指代視訊區塊關於豎直及水平尺寸之像素尺寸(例如8像素×8像素)。可按列及行來配置區塊中之像素。在一些實例中,區塊在水平方向上可不具有與在豎直方向上相同的數目個像素。與CU相關聯之語法資料可描述例如將CU分割成一或多個PU。分割模式可在CU經框內預測模式編碼抑或經框間預測模式編碼之間有所不同。PU可經分割成非正方形形狀。與CU相關聯之語法資料亦可描述例如根據CTU將CU分割成一或多個TU。TU可為正方形或非正方形形狀。
根據HEVC標準,可使用變換單元(TU)來執行變換。TU可針對不同CU而變化。可基於給定CU內之PU的大小而對TU設定大小。TU可與PU大小相同或小於PU。在一些實例中,可使用被稱為殘餘四分樹(RQT)之四分樹結構來將對應於CU之殘餘樣本再分成較小單元。RQT之葉節點可對應於TU。可變換與TU相關聯之像素差值以產生變換係數。變換係數可接著由編碼器引擎106量化。
一旦視訊資料之圖像經分割成CU,編碼器引擎106便使用預測模式來預測每一PU。接著自初始視訊資料減去預測單元或預測區塊以得到殘餘(如下描述)。對於每一CU,可使用語法資料在位元串流內部信號發送預測模式。預測模式可包括框內預測(或圖像內預測)或框間預測(或圖像間預測)。框內預測利用圖像內之空間相鄰樣本之間的相關性。舉例而言,在使用框內預測之情況下,使用例如DC預測以發現PU之平均值、使用平面預測以使平面表面擬合於PU、使用方向預測以自相鄰資料外插或使用任何其他合適類型之預測,自同一圖像中之相鄰影像資料預測每一PU。框間預測使用圖像之間的時間相關性以便導出影像樣本之區塊的運動補償預測。舉例而言,在使用框間預測之情況下,使用運動補償預測自一或多個參考圖像(按輸出次序在當前圖像之前或之後)中之影像資料預測每一PU。可例如在CU層級決定是使用圖像間預測或圖像內預測來寫碼圖像區域。
在一些實例中,圖像之一或多個圖塊被指派圖塊類型。圖塊類型包括I圖塊、P圖塊及B圖塊。I圖塊(框內,可獨立解碼)為僅藉由框內預測來寫碼之圖像的圖塊,且因此可獨立解碼,此係由於I圖塊僅需要訊框內之資料來預測圖塊之任何預測單元或預測區塊。P圖塊(單向預測訊框)為可藉由框內預測及藉由單向框間預測來寫碼之圖像的圖塊。藉由框內預測或框間預測來寫碼P圖塊內之每一預測單元或預測區塊。當應用框間預測時,僅藉由一個參考圖像來預測該預測單元或預測區塊,且因此參考樣本僅來自一個訊框之一個參考區。B圖塊(雙向預測訊框)為可藉由框內預測及藉由框間預測(例如雙向預測或單向預測)來寫碼之圖像的圖塊。B圖塊之預測單元或預測區塊可自兩個參考圖像雙向地預測,其中每一圖像貢獻一個參考區,且該兩個參考區之樣本集合經加權(例如藉由相等重量或藉由不同重量)以產生雙向預測區塊之預測信號。如上文所解釋,一個圖像之圖塊經獨立寫碼。在一些情況下,圖像可僅作為一個圖塊而經寫碼。
PU可包括關於預測程序之資料(例如運動參數或其他合適資料)。舉例而言,當使用框內預測來編碼PU時,PU可包括描述用於PU之框內預測模式的資料。作為另一實例,當使用框間預測來編碼PU時,PU可包括定義用於PU之運動向量的資料。定義用於PU之運動向量的資料可描述例如運動向量之水平分量(∆x)、運動向量之豎直分量(∆y)、用於運動向量之解析度(例如整數精確度、四分之一像素精確度或八分之一像素精確度)、運動向量指向之參考圖像、參考索引、用於運動向量之參考圖像清單(例如清單0、清單1或清單C),或其任何組合。
編碼器件104接著可執行變換及量化。舉例而言,在預測之後,編碼器引擎106可計算對應於PU之殘餘值。殘餘值可包含經寫碼之像素之當前區塊(PU)與用於預測當前區塊之預測區塊(例如當前區塊之經預測版本)之間的像素差值。舉例而言,在產生預測區塊(例如發出框間預測或框內預測)之後,編碼器引擎106可藉由自當前區塊減去由預測單元產生之預測區塊來產生殘餘區塊。殘餘區塊包括量化當前區塊之像素值與預測區塊之像素值之間的差的像素差值集合。在一些實例中,殘餘區塊可以二維區塊格式(例如像素值之二維矩陣或陣列)表示。在此等實例中,殘餘區塊為像素值之二維表示。
使用區塊變換來變換可在執行預測之後剩餘的任何殘餘資料,此變換可基於離散餘弦變換、離散正弦變換、整數變換、小波變換、其他合適的變換函數或其任何組合。在一些情況下,一或多個區塊變換(例如大小32×32、16×16、8×8、4×4或類似者)可應用於每一CU中之殘餘資料。在一些實例中,TU可用於由編碼器引擎106實施之變換及量化程序。具有一或多個PU之給定CU亦可包括一或多個TU。如下文進一步詳細描述,可使用區塊變換將殘餘值變換成變換係數,且接著可使用TU來量化及掃描殘餘值以產生用於熵寫碼之串列化變換係數。
在一些實例中,在使用CU之PU進行框內預測性或框間預測性寫碼之後,編碼器引擎106可計算CU之TU的殘餘資料。PU可包含空間域(或像素域)中之像素資料。在應用區塊變換之後,TU可包含變換域中之係數。如先前所提及,殘餘資料可對應於未經編碼圖像之像素與對應於PU之預測值之間的像素差值。編碼器引擎106可形成包括CU之殘餘資料的TU,且接著可變換TU以產生CU之變換係數。
編碼器引擎106可執行變換係數之量化。量化藉由量化變換係數以減少用以表示係數之資料的量而提供進一步壓縮。舉例而言,量化可減少與係數中之一些或所有相關聯的位元深度。在一個實例中,具有n位元值之係數可在量化期間經降值舍位為m位元值,其中n大於m。
一旦量化經執行,經寫碼視訊位元串流包括經量化變換係數、預測資訊(例如預測模式、運動向量、區塊向量或類似者)、分割資訊及任何其他合適的資料,諸如其他語法資料。接著可藉由編碼器引擎106對經寫碼視訊位元串流之不同元素進行熵編碼。在一些實例中,編碼器引擎106可利用預定義掃描次序掃描經量化變換係數以產生可經熵編碼的串列化向量。在一些實例中,編碼器引擎106可執行自適應掃描。在掃描經量化變換係數以形成向量(例如一維向量)之後,編碼器引擎106可熵編碼向量。舉例而言,編碼器引擎106可使用上下文自適應性可變長度寫碼、上下文自適應性二進位算術寫碼、基於語法之上下文自適應性二進位算術寫碼、機率區間分割熵寫碼或另一合適的熵編碼技術。
如先前所描述,HEVC位元串流包括NAL單元之群組,包括VCL NAL單元及非VCL NAL單元。VCL NAL單元包括形成經寫碼視訊位元串流之經寫碼圖像資料。舉例而言,形成經寫碼視訊位元串流之位元序列在VCL NAL單元中重新發送。除了其他資訊以外,非VCL NAL單元亦可含有具有與經編碼視訊位元串流相關之高層級資訊的參數集。舉例而言,參數集可包括視訊參數集(VPS)、序列參數集(SPS)及圖像參數集(PPS)。參數集之目標之實例包括位元速率效率、錯誤復原(error resiliency)及提供系統層介面。每一圖塊參考單一作用中PPS、SPS及VPS以存取解碼器件112可用於解碼圖塊之資訊。可針對每一參數集寫碼識別符(ID),包括VPS ID、SPS ID及PPS ID。SPS包括SPS ID及VPS ID。PPS包括PPS ID及SPS ID。每一圖塊標頭包括PPS ID。使用ID,可識別針對給定圖塊之作用中參數集。
PPS包括適用於給定圖像中之所有圖塊的資訊。因此,圖像中之所有圖塊參考同一PPS。不同圖像中之圖塊亦可參考同一PPS。SPS包括適用於同一經寫碼視訊序列(CVS)或位元串流中之所有圖像的資訊。如先前所描述,經寫碼視訊序列為一系列存取單元(AU),其始於在基礎層中且具有某些性質(如上文所描述)之隨機存取點圖像(例如瞬時解碼參考(IDR)圖像或斷鏈存取(BLA)圖像或其他適當的隨機存取點圖像),直至且不包括具有在基礎層中且具有某些性質之隨機存取點圖像的下一AU (或位元串流之末端)。SPS中之資訊可不在經寫碼視訊序列內在圖像間改變。經寫碼視訊序列中之圖像可使用同一SPS。VPS包括適用於經寫碼視訊序列或位元串流內之所有層的資訊。VPS包括具有適用於全部經寫碼視訊序列之語法元素的語法結構。在一些實例中,可與經編碼位元串流一起頻帶內傳輸VPS、SPS或PPS。在一些實例中,可在獨立於含有經寫碼視訊資料之NAL單元的傳輸中頻帶外傳輸VPS、SPS或PPS。
視訊位元串流亦可包括補充增強資訊(SEI)訊息。舉例而言,SEI NAL單元可為視訊位元串流之部分。在一些實例中,可與視訊位元串流分離地信號發送SEI訊息。在一些情況下,SEI訊息可含有解碼程序未必需要的資訊。舉例而言,SEI訊息中之資訊對於解碼器解碼位元串流之視訊圖像而言可能並非必要的,但解碼器可使用資訊來改良圖像之顯示或處理(例如解碼輸出)。SEI訊息中之資訊可為嵌入型元資料。在一個說明性實例中,SEI訊息中之資訊可由解碼器側實體使用以改良內容之可見性。在一些情況下,某些應用標準可強制此等SEI訊息在位元串流中之存在以使得遵守應用標準之所有器件可達成品質之改良(例如,用於訊框可相容平面立體3DTV視訊格式之訊框封裝SEI訊息的攜載,其中針對視訊之每一訊框攜載SEI訊息;恢復點SEI訊息之處置;拉移式掃描矩形SEI訊息在DVB中之使用;外加許多其他實例)。
編碼器件104之輸出端110可經由通信鏈路120將組成經編碼視訊資料之NAL單元發送至接收器件之解碼器件112。解碼器件112之輸入端114可接收NAL單元。通信鏈路120可包括由無線網路、有線網路或有線網路與無線網路之組合提供的通道。無線網路可包括任何無線介面或無線介面之組合,且可包括任何適合之無線網路(例如網際網路或其他廣域網路、基於封包之網路、WiFiTM、射頻(RF)、UWB、WiFi-Direct、蜂巢式、長期演進(LTE)、WiMaxTM或類似者)。有線網路可包括任何有線介面(例如光纖、乙太網路、電力線乙太網路、經由同軸電纜之乙太網路、數位信號線(DSL)或類似者)。可使用各種設備來實施有線及/或無線網路,該等設備諸如基地台、路由器、存取點、橋接器、閘道器、交換器或類似者。可根據通信標準(諸如,無線通信協定)調變經編碼視訊資料,且將其傳輸至接收器件。
在一些實例中,編碼器件104可將經編碼視訊資料儲存在儲存裝置108中。輸出端110可自編碼器引擎106或自儲存裝置108擷取經編碼視訊資料。儲存裝置108可包括多種分散式或本端存取之資料儲存媒體中的任一個。舉例而言,儲存器108可包括硬碟機、儲存光碟、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他合適的數位儲存媒體。
解碼器件112之輸入端114接收經編碼視訊位元串流資料,且可將視訊位元串流資料提供至解碼器引擎116或至儲存裝置118,用於由解碼器引擎116後續使用。解碼器引擎116可藉由熵解碼(例如使用熵解碼器)及提取組成經編碼視訊資料的一或多個經寫碼視訊序列之元素來解碼經編碼視訊位元串流資料。解碼器引擎116可接著重新按比例調整經編碼視訊位元串流資料且對經編碼視訊位元串流資料執行反變換。殘餘資料接著傳遞至解碼器引擎116之預測級。解碼器引擎116接著預測像素之一區塊(例如一PU)。在一些實例中,預測經添加至反變換之輸出(殘餘資料)。
解碼器件112可將經解碼視訊輸出至一視訊目的地器件,該視訊目的地器件可包括用於將經解碼視訊資料顯示給內容之消費者的顯示器或其他輸出器件。在一些態樣中,視訊目的地器件122可為包括解碼器件112的接收器件之部分。在一些態樣中,視訊目的地器件122可為不同於接收器件的單獨器件之部分。
在一些實例中,視訊編碼器件104及/或視訊解碼器件112可分別與音訊編碼器件及音訊解碼器件整合。視訊編碼器件104及/或視訊解碼器件112亦可包括實施上文所描述之寫碼技術所必要的其他硬體或軟體,諸如一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。視訊編碼器件104及視訊解碼器件112可整合為各別器件中之組合式編碼器/解碼器(編解碼器)之部分。下文參看圖13描述編碼器件104之特定細節的實例。下文參看圖14描述解碼器件112之特定細節的實例。
對HEVC標準之擴展包括多視圖視訊寫碼擴展(被稱作MV-HEVC)及可調式視訊寫碼擴展(被稱作SHVC)。MV-HEVC及SHVC擴展共用分層寫碼之概念,其中不同層包括於經編碼視訊位元串流中。經寫碼視訊序列中之每一層係由唯一層識別符(ID)定址。層ID可存在於NAL單元之標頭中以識別NAL單元所相關聯之層。在MV-HEVC中,不同層通常表示視訊位元串流中之同一場景的不同視圖。在SHVC中,提供表示視訊位元串流於空間解析度(或圖像解析度)不同或於重建構保真度不同之不同可調式層。可調式層可包括基礎層(其中層ID=0)及一或多個增強層(其中層ID=1、2、…n)。基礎層可符合HEVC之第一版本的設定檔,且表示位元串流中之最低可用層。與基礎層相比,增強層具有增加之空間解析度、時間解析度或訊框速率及/或重建構保真度(或品質)。增強層經階層式組織,且可(或可不)取決於較低層。在一些實例中,可使用單一標準編解碼器來寫碼不同層(例如使用HEVC、SHVC或其他寫碼標準來編碼所有層)。在一些實例中,可使用多標準編碼解碼器來寫碼不同層。舉例而言,可使用AVC來寫碼基礎層,而可使用對HEVC標準之SHVC及/或MV-HEVC擴展來寫碼一或多個增強層。
亦已定義描述經獲取視訊中之色彩的各種標準,尤其包括對比率(例如視訊中之像素的亮度或暗度)及色彩準確度。舉例而言,色彩參數可由顯示器件使用,該顯示器件能夠使用色彩參數確定如何顯示視訊中之像素。來自國際電信聯盟(ITU)之一個實例標準:ITU-R推薦BT.709 (在本文中被稱作「BT.709」),定義用於高清晰度電視(HDTV)之標準。由BT.709定義之色彩參數通常被稱作標準動態範圍(SDR)及標準色域。另一實例標準為ITU-R推薦BT.2020 (在本文中被稱作「BT.2020」),其定義用於超高清晰度電視(UHDTV)之標準。由BT.2020定義之色彩參數通常被稱作高動態範圍(HDR)及廣色域(WCG)。動態範圍及色域在本文中共同地被稱作色彩容量。
預期下一代視訊應用操作表示具有HDR及WCG之經獲取景物的視訊資料。所利用動態範圍及色域之參數為視訊內容之兩個獨立屬性,且出於數位電視及多媒體服務之目的,其規範由若干國際標準定義。舉例而言,如上文所提及,BT.709定義用於HDTV之參數,諸如SDR及標準色域,且BT.2020指定UHDTV參數,諸如HDR及廣色域。亦存在指定其他系統中之此等屬性之其他標準研發組織文獻,例如P3色域定義於SMPTE-231-2中且HDR之一些參數定義於STMPTE-2084。
動態範圍可經定義為視訊信號之最小亮度與最大亮度之間的比率。亦可按f光闌來量測動態範圍。舉例來說,在攝影機中,f光闌為透鏡之焦距與攝影機光圈之直徑的比率。一個f光闌可對應於視訊信號之動態範圍之倍增。作為一實例,MPEG將HDR內容定義為以多於16個f光闌之亮度變化為特徵的內容。在一些實例中,將在10至16個f光闌之間的動態範圍考慮為中等動態範圍,但在其他實例中,將此考慮為HDR動態範圍。然而,人類視覺系統能夠感知大得多的動態範圍,人類視覺系統包括用以使同時範圍變狹窄的自適應機制。
圖2說明與各種顯示器類型之動態範圍相比的典型人類視覺202之動態範圍。圖2說明以尼特對數標度計(例如以cd/m2 對數標度計)之明度範圍200。藉助於實例,星光為約0.0001尼特,或在所說明之明度範圍200上為-4,且月光為約0.01尼特(在明度範圍200上為-2)。典型室內光可處於1與100尼特(在明度範圍200上為0與2)之間。日光可處於10,000尼特與1,000,000尼特(在明度範圍200上為4與6)之間。
人類視覺202能夠感知在小於0.0001尼特至大於1,000,000尼特之間的任何處,其中精確範圍因人而異。人類視覺202之動態範圍包括同時動態範圍204。將同時動態範圍204定義為在眼睛完全適應時可偵測物體之最高與最低明度值之間的比率。當眼睛處於在已調整至當前環境光狀況或明度位準後之穩態下時,出現完全適應。儘管在圖2之實例中將同時動態範圍204說明為在約0.1尼特與約3200尼特之間,但同時動態範圍204可居中於沿著明度範圍200之其他點,且寬度可在不同明度位準下變化。另外,同時動態範圍204可因人而異。
圖2進一步說明SDR顯示器206及HDR顯示器208之大致動態範圍。SDR顯示器包括監視器、電視、平板電腦屏幕、智慧型電話屏幕及能夠顯示SDR內容之其他顯示器件。HDR顯示器包括例如超高清晰度電視及能夠顯示HDR內容之其他顯示器件。
BT.709規定SDR顯示器206之動態範圍可為約0.1至100尼特,或約10個f光闌,其顯著地小於人類視覺202之動態範圍。SDR顯示器206之動態範圍亦小於所說明之同時動態範圍204。一些視訊應用及服務藉由Rec.709調節且提供SDR,且通常支援約0.1至100尼特之亮度(或明度)範圍。SDR顯示器亦無法準確地再現夜間狀況(例如星光,為約0.0001尼特)或明亮的戶外狀況(例如約1,000,000尼特)。然而,一些SDR顯示器可支援大於100尼特之峰值亮度,且可顯示在0.1至100尼特範圍外的SDR內容。
下一代視訊服務經預期以提供高達16個f光闌之動態範圍。HDR顯示器可比SDR顯示器覆蓋更廣動態範圍。舉例而言,HDR顯示器可具有約0.01尼特至約5600尼特(或16個f光闌)之動態範圍。儘管HDR顯示器亦不涵蓋人類視覺之動態範圍,但HDR顯示器可更接近於能夠覆蓋一般人之同時動態範圍204。針對用於HDR顯示器之動態範圍參數的規範可例如在BT.2020及ST 2084中發現。
色域描述在諸如顯示器或印表機之特定器件上可用之色彩範圍。色域亦可被稱作色彩維度。圖3說明色度圖300之一實例,其覆疊有表示SDR色域304之三角形及表示HDR色域302之三角形。圖300中的曲線306上之值為色彩之光譜;亦即,由可見光譜中的光之單一波長引發之色彩。在曲線306下方之色彩為譜外的:曲線306之較低點之間的直線被稱作紫色線,且圖300之內部內的色彩為不飽和色彩,其為頻譜色彩或紫色色彩與白色之各種混合。標記為D65之點指示針對所說明之頻譜曲線306之白色之位置。曲線306亦可被稱作光譜軌跡或頻譜軌跡,表示自然色彩之限制。
表示SDR色域304之三角形係基於如由BT.709提供之紅、綠及藍色彩原色。SDR色域304為由HDTV、SDR廣播及其他數位媒體內容使用之色彩空間。
表示廣HDR色域302之三角形係基於如由BT.2020提供之紅、綠及藍色彩原色。如所說明,藉由圖3,HDR色域302比SDR色域304提供約70%更多色彩。由諸如數位電影方案(DCI) P3(被稱作DCI-P3)之其他標準定義之色域提供在HDR色域302之外的一些色彩,但並不完全含有HDR色域302。DCI-P3用於數位移動投影。
表1說明用於所選色彩空間之比色參數之實例,包括藉由BT.709、BT.2020及DCI-P3提供之彼等。針對每一色彩空間,表1提供用於色度圖之x及y座標。
1 :用於所選色彩空間之比色參數
具有較大色彩容量之視訊資料(例如具有高動態範圍及廣色域之視訊資料)可經獲取且每分量儲存有較高程度之精確度。舉例而言,浮點值可用於表示每一像素之明度及色度值。作為另一實例,可使用4:4:4色度格式,其中明度、色度藍與色度紅分量各自具有相同取樣速率。4:4:4記法亦可用以指紅-綠-藍(RGB)色彩格式。作為另一實例,可使用極廣之色彩空間,諸如由國際照明委員會(CIE) 1931 XYZ定義之色彩空間。用較高程度之精確度表示之視訊資料可幾乎數學無損。然而,高精確度表示可包括冗餘,且對於壓縮,可能並非最佳。因此,常使用旨在顯示可由人眼看到之色彩容量的較低精確度格式。
圖4包括說明出於編碼視訊資料之目的轉換高精確度線性RGB 402視訊資料的程序400之實例的圖。經轉換HDR資料可具有較低精度且可更易於壓縮。實例程序400包括可壓緊動態範圍之非線性轉移函數404、可產生較緊密或穩固色彩空間之色彩轉換406及可將浮點表示轉換至整數表示之量化408函數。量化408函數之輸出可輸入至編碼器410中,其可壓縮或編碼資料以產生經編碼位元串流。編碼器410可使用例如AVC HEVC或VP8/VP9/VP10標準。可儲存及/或傳輸位元串流。
在各種實例中,可使用非線性轉移函數404壓緊可具有高動態範圍及浮點表示之線性RGB 402資料。非線性轉移函數404之一實例為在ST 2084中定義之感知量化器。可藉由色彩轉換406將轉移函數404之輸出轉換至目標色彩空間。目標色彩空間可為更適合於壓縮之色彩空間,諸如YCbCr。量化408可接著用以將資料轉換至整數表示。量化408之輸出可提供到編碼器410,其可自資料產生經編碼位元串流。
圖5包括說明用於復原自藉由解碼器522產生之經解碼位元串流獲得之經轉換HDR視訊資料之程序500之實例的圖。可使用例如高速數位介面將未壓縮或經解碼之視訊信號傳輸至終端消費者器件。消費者電子器件及傳輸媒體之實例包括數位電視、數位電纜、衛星或陸上機上盒、行動器件及有關周邊器件,諸如,數位多功能光碟(DVD)播放器及/或記錄器,及其他有關解碼器件及消費者器件。在一些實例中,解碼器522可執行程序500之步驟。在一些實例中,終端消費者電子器件可執行程序500之步驟。
程序500可操作於根據圖4的程序400轉換之HDR視訊資料上,且可大致地產生輸入至程序400中之高精確度線性RGB 402視訊資料。如圖5中所說明,程序500包括反量化524(例如用於將整數表示轉換至浮點表示)、反向色彩轉換526及逆轉移函數528。
圖5之反量化524包括執行針對圖4的量化408執行的計算之反向。類似地,反向色彩轉換526包括執行針對色彩轉換406執行的計算之反向,且逆轉移函數528包括執行針對轉移函數402執行的計算之反向。為清楚起見,以下論述提供轉移函數404、色彩轉換406及量化408之實例,應理解,除非另外提供,否則此等實例亦應用於逆轉移函數528、反向色彩轉換426及反量化524。另外,實例程序400及500之步驟之次序說明可執行之步驟之次序。在其他實例中,該等步驟可按不同次序發生。舉例而言,色彩轉換406可先於轉移函數404。在另一實例中,反向色彩轉換526可在逆轉移函數5284之後執行。在其他實例中,亦可發生額外處理。舉例而言,可將空間子取樣應用於色彩分量。
轉移函數可用於將影像中之數位值映射至光能及自光能映射影像中之數位值。亦被稱作光功率之光能為透鏡、鏡子或其他光學系統會聚或發散光之程度。轉移函數可應用於影像中之資料以壓緊動態範圍。壓緊動態範圍可使視訊內容能夠用有限數目個位元來表示資料。轉移函數可為一維非線性函數,該一維非線性函數可反映終端消費者顯示器(例如針對BT.709中之SDR所指定)之電光轉移函數(EOTF)之反向,或估計人類視覺系統之對亮度變化之感知(例如針對ST 2084中指定之感知量化器(PQ)轉移函數之HDR所提供)。電光轉移函數描述如何將被稱作碼層級或代碼值之數位值轉變為可見光。舉例而言,EOTF可將代碼層級映射回至明度值。電光變換之反向程序為可自明度產生碼層級之光電變換(OETF)。
圖6包括說明藉由轉移函數產生之明度曲線之實例的圖表。每一曲線以圖表表示在不同碼層級下之明度值。說明針對由BT.709 (曲線602)及ST 2084 (曲線604)定義之轉移函數之曲線,以及針對10位元SDR資料之代表性曲線606。圖6亦說明由每一轉移函數實現之動態範圍。在其他實例中,可針對紅(R)、綠(G)及藍(B)色彩分量分開來繪製曲線。
ST 2084提供可更有效地支援更高動態範圍資料之轉移函數。ST 2084之轉移函數應用於標準化線性R、G及B值,其產生非線性表示,在本文中被稱作R'、G'及B'。ST 2084藉由NORM=10000定義正規化,其與10,000尼特之峰值亮度相關聯。可將R'、G'及B'值計算如下:
R' = PQ_TF(max(0, min(R/NORM,1)) )
G' = PQ_TF(max(0, min(G/NORM,1)) ) (1)
B' = PQ_TF(max(0, min(B/NORM,1)) )
在等式(1)中,將轉移函數PQ_TF定義如下:
圖7包括說明標準化至範圍0…1之PQ_TF之輸入值(例如線性色值)及對應輸出值(例如非線性色值)之實例的曲線圖。如所說明,在此曲線圖中,將1%輸入信號(例如表示較低照明)之動態範圍轉換成50%輸出信號之動態範圍。
可將電光轉移函數定義為具有浮點準確度之函數。藉由具有浮點準確度,有可能避免在應用逆函數(例如光電轉移函數)時將誤差引入至併有函數之非線性的信號中。由ST 2048指定之此逆轉移函數如下:
R = 10000×inversePQ_TF(R')
G = 10000×inversePQ_TF(G') (2)
B = 10000×inversePQ_TF(B')
在等式(2)中,將逆轉移函數inversePQ_TF定義如下:

藉由浮點準確度,依序應用EOTF及OETF可提供無誤差之幾乎精確的重建構。然而,使用EOTF之線性色彩資料之表示可能對於流線化或廣播服務而言並非最佳的。如下文所描述,額外處理可產生非線性R'G'B'資料之更多緊密表示,其具有固定位元的準確度。
已定義其他轉移函數及逆轉移函數。替代由ST 2084提供之轉移函數或除了由ST 2084提供之轉移函數外,視訊寫碼系統亦可使用此等其他轉移函數及逆轉移函數中之一者。
色彩轉換可減小線性RGB輸入之色彩空間的大小。影像獲取系統常常獲取影像作為RGB資料。然而,RGB色彩空間在色彩分量間可具有高度冗餘。對於產生資料之緊密表示,RGB因此並非最佳。為了達成更緊密且更穩固表示,可將RGB分量轉換至更適合於壓縮的較不相關之色彩空間,諸如YCbCr。YCbCr色彩空間分離不同不相關分量中之呈明度及色彩資訊形式之亮度,包括明度(Y)、色度藍(Cb)及色度紅(Cr)。
YCbCr色彩空間為由BT.709使用之一個目標色彩空間。BT.709提供針對非線性R'、G'及B'值至非恆定明度表示Y'、Cb及Cr之如下轉換:
(3)
由等式(3)提供之轉換亦可使用以下大致轉換來實施,此避免了針對Cb及Cr分量之劃分:
Y' = 0.212600 × R' + 0.715200 × G' + 0.072200 × B'
Cb = -0.114572 × R' - 0.385428 × G' + 0.500000 × B' (4)
Cr = 0.500000 × R' - 0.454153 × G' - 0.045847 × B'
BT.2020指定自R'、G'及B'至Y、Cb及Cr之以下轉換程序:
(5)
由等式(5)提供之轉換亦可使用以下大致轉換來實施,此避免了針對Cb及Cr分量之劃分:
Y' = 0.262700 × R' + 0.678000 × G' + 0.059300 × B'
Cb = -0.139630 × R' - 0.360370 × G' + 0.500000 × B' (6)
Cr = 0.500000 × R' - 0.459786 × G' - 0.040214 × B'
在此等及其他實例中,輸入色彩空間(例如R'G'B'色彩空間)輸出色彩空間(例如Y'CbCr色彩空間)保持標準化。因此,針對在0…1範圍內標準化的輸入值,輸出值將亦映射至0…1之範圍。在一些實例中,Cb及Cr之值在-0.5至0.5範圍內標準化,其中Cb及Cr值兩者等於0指示灰色。藉由浮點準確度實施之色彩變換可接近於完美重建構,從而產生無損程序。
在色彩轉換之後,目前在目標色彩空間中之輸入資料可仍用高位元深度(例如用浮點準確度)表示,且可為無損的。然而,對於大多數消費電子產品應用程序而言,準確度之此程度可為冗餘且過度的。在一些實例中,10位元至12位元準確度結合PQ轉移函數可足夠用於HDR資料具有16個f光闌,並伴有剛好低於人類視覺顯而易見的失真之失真。具有10位元準確度之HDR資料可進一步由多數視訊寫碼系統寫碼。
量化可將資料轉換至目標位元深度。量化為有損程序,意謂一些資訊經損失,且可為輸出HDR資料中之不準確度之源。
以下等式提供可應用於目標色彩空間中之碼字之量化的實例。在此實例中,可將具有浮點準確度的Y、Cb及Cr之輸入值轉換成Y值之固定位元深度值BitDepthY及色度值(Cb及Cr)之固定位元深度值BitDepthC。
(7)
在上文中:
Round( x ) = Sign( x ) × Floor( Abs( x ) + 0.5 )
若x<0,則Sign(x)=-1;若x=0,則Sign(x)=0;若x>0,則Sign(x)=1
Floor( x ) 小於或等於x之最大整數
若x>=0,則Abs(x)=x;若x<0,則Abs(x)=-x
Clip1Y( x ) = Clip3( 0, ( 1 << BitDepthY ) - 1, x )
Clip1C( x ) = Clip3( 0, ( 1 << BitDepthC ) -1, x )
若z<x,則Clip3(x,y,z)=x;若z>y,則Clip3(x,y,z)=y;否則Clip3(x,y,z)=z
在一些情況下,將具有較大色彩容量之視訊資料轉換至具有更多緊密色彩容量之視訊資料可引起動態範圍變化。此等動態範圍變化可於經重建構視訊中作為失真可見,該等失真諸如色彩失配或色彩滲透,以及其他實例。動態範圍調整(DRA)為用於補償動態範圍變化且減少可能之失真的技術。於以下中提出DRA:D. Rusanovskyy、A. K. Ramasubramonian、D. Bugdayci、S. Lee、J. Sole及M. Karczewicz之「Dynamic Range Adjustment SEI to enable High Dynamic Range video coding with Backward-Compatible Capability」, VCEG文獻COM16-C 1027-E, 2015年9月,其以全文引用的方式且出於所有目的併入本文中。
在各種實例中,可使用分段線性函數f(x)來實施DRA,該分段線性函數f(x)係針對一組非重疊動態範圍分區而定義,該等非重疊動態範圍分區在本文中亦稱為範圍,其中每一範圍分區或範圍包括輸入值x (例如輸入色值)之集合。在本文中由{Ri}表示範圍,其中i每一各別範圍之索引,且i=0…N-1 (包括端點),其中N為用於定義DRA函數之範圍之總數目。舉例而言,可認為範圍由屬於每一各別範圍Ri之最小及最大x 值定義;例如針對輸入值可分別指示範圍Ri及R(i+1)之最小值。應用於視訊之Y色彩分量(例如明度值),可使用標度值及偏移值來定義DRA函數Sy ,其可應用於每一輸入值(亦即用於每一)。DRA函數可因此定義為每一輸入值或之標度及偏差值集合。
使用DRA函數之此定義,對於任何範圍Ri且對於每一 ,輸出值X可如下計算:
(8)
可在解碼器處進行用於明度分量Y之逆DRA映射。在此情況下,DRA函數Sy 可由標度值及偏移值之倒數定義。該倒數標度值及偏移值可應用於每一
使用逆DRA函數之此定義,對於任何範圍Ri及對於每一輸出值,經重建構x 值可如下計算:
(9)
DRA映射程序(例如用於編碼目的)亦可針對色度分量Cb及Cr而定義。在以下實例中,u 表示屬於範圍Ri之Cb色彩分量之樣本。在此實例中,。用於色度樣本之DRA函數Su 亦可使用標度值及偏移值來定義,使得。輸出值U可因此如下計算:
(10)
在等式(10)中,Offset 等於2( 位元深度 -1) ,且指示雙極性Cb、Cr信號偏移。
色度分量Cb及Cr之逆DRA映射亦可經定義且可在解碼器處執行。在以下實例中,U表示來自範圍Ri之重新映射Cb色彩分量之樣本,其中。在此實例中,Cb分量可使用以下等式來重建構:
(11)
在等式(11)中,Offset 等於2( 位元深度 -1) ,且指示雙極性Cb、Cr信號偏移。
用於減小可能在修改視訊之色彩空間時發生的失真的額外技術為明度驅動色度調整(LCS)。於以下中提出明度驅動色度調整:A.K. Ramasubramonian、J. Sole、D. Rusanovskyy、D. Bugdayci及M. Karczewicz之JCTVC-W0101 HDR CE2: Report on CE2.a-1 LCS,其以全文引用的方式且出於所有目的併入本文中。
LCS為藉由利用與經處理色度樣本相關聯的亮度資訊來調整色度資訊(例如Cb及Cr樣本)之技術。類似於上文所描述之DRA方法,LCS包括應用Cb分量之比例因數及Cr分量之比例因數。然而,在LCS之情況下,並非將DRA函數定義為分段線性函數(例如可在等式(3)或(4)中藉由色度值uv 獲得之範圍集合 ),LCS方法使用明度值Y以導出色度樣本之比例因數。舉例而言,出於編碼視訊資料之目的之色度樣本u (或v )之映射可使用以下等式執行:
(12)
出於解碼之目的,逆LCS程序可如下定義:
(13)
作為另一實例,對於定位於(x, y)處之給定像素,用自使用明度值Y'(x, y)存取之對應LCS函數SCb (或SCr )導出之因數按比例調整色度樣本Cb(x, y)及/或Cr(x, y)。
在色度樣本之正向映射程序(例如在處理以供用於編碼時)中,將Cb (或Cr)值及相關聯的明度值Y'視為色度標度函數SCb (或SCr )之輸入,且Cb或Cr如下文等式(14)中所示轉換成Cb'及Cr'。
,
(14)
逆LCS程序應用於解碼,且經重建構Cb'或Cr'如下文等式(15)中所示轉換成Cb或Cr。
(15)
圖8包括說明LCS函數之實例的曲線圖。在此實例中,具有更小明度值之像素之色度分量乘以更小比例因數。
在各種實例中,DRA樣本調整可關於編碼或解碼程序中使用的量化參數。如以下進一步論述,基於區塊變換之視訊寫碼程序(諸如HEVC)使用標量量化器以調整壓縮比。量化可應用於變換係數。標量量化器可藉由量化參數(QP)來控制,其中QP與標量量化器之間的關係定義如下:
(16)
標量量化器與QP值之間的關係可由逆函數定義,如下:
(17)
上文所論述之DRA技術有效地按比例調整像素資料。鑒於變換性質,DRA調整可針對較大類別之信號映射至應用於變換域中之標量。舉例而言,以下關係可定義:
(18)
在等式(18)中,dQP為藉由將DRA應用於輸入資料而引入的近似QP偏移。
在各種實例中,描述可用於動態範圍調整之分段線性函數之參數可用信號發送(例如經編碼成)位元串流。經編碼參數接著可在解碼器處經解碼,該解碼器可使用參數來重建構分段線性函數。為描述分段線性函數,函數之輸入值(在一些實例中,其可為明度值)範圍可劃分為各自具有恆定斜率之片段或範圍。分段線性函數之參數接著可包括描述範圍(例如範圍之長度、範圍之量等)的值及標度值(例如描述每一範圍之斜率)。信號發送DRA參數之實例描述於D. B. Sansli、A. K. Ramasubramonian、D. Rusanovskyy、J. Sole及M. Karczewicz之「HDR CE6: Test 4.1 Reshaper from m37064」, JCTVC-W0103,聖地亞哥,CA (2016年2月)中,該文獻以全文引用的方式且出於所有目的併入本文中。DRA參數可包括例如於SEI訊息、圖塊標頭及/或參數集(例如SPS、PPS或另一類型的參數集)中。
下文說明可以用於編碼描述分段線性函數之參數之資料結構的部分實例。在各種實例中,資料結構可包括其他分量,為清楚起見,本文中並未說明該等其他分量。資料結構中之值可應用於例如一組視訊訊框、應用於一個視訊訊框及/或應用於視訊訊框之一部分:
pic_parameter_set_rbsp()
dra_enabled_flag
if (dra_enabled_flag) {
num_luma_dra_in_ranges
for (i = 0; i <= num_luma_dra_in_ranges; i++)
delta_luma_change_points[i]
for (i = 0; i <= num_luma_dra_in_ranges; i++)
delta_scale_val[i]
}
在此實例資料結構中,dra_enabled_flag分量可用於指示所實現的動態範圍調整。num_luma_dra_in_ranges分量可指示輸入值(在此實例中,其為明度值)已劃分至之範圍之數目。delta_luma_change_points[i]分量可指示每一範圍之長度,且delta_scale_val[i]可指示每一範圍之標度值,該標度值指示斜率。在此實例中,相對於輸入值指示範圍之長度;亦即,藉由一個範圍結束且另一範圍開始之時的「變化點」或輸入值來指示長度。
對於一些內容,範圍之長度可相等。在此等情況下,可減小需要用以編碼分段線性函數之位元數目。舉例而言,不必在位元串流中指示範圍之長度。相反,在本文中被稱作「equal_ranges_flag」之旗標可包括於上述資料結構中,該旗標指示可自指定值(例如色彩分量之位元深度或位元串流中所指示之值以及其他實例)及位元串流中所指示之範圍數目導出範圍之長度。在此實例中寫碼效率經改良,此係由於僅需要用信號發送標度值及範圍數目。
然而,對於一些內容,即使僅信號發送標度值及範圍數目亦可將不必要位元添加至位元串流。舉例而言,在一些情況下,可能已知輸入值(例如明度樣本)受限於特定範圍,此係由於視訊經設計以具有有限明度值,或此係由於對視訊之直方圖之分析如此指示。在此實例中,信號發送並未佔用之範圍之標度值,此係由於落在受限制範圍之外的範圍可導致將不必要位元添加至輸出位元串流。
在其他情況中,輸入值之範圍可如此以使得範圍之部分可經劃分為相等長度之片段或分區,但範圍之一個部分或兩個部件具有使得此等部分在另一範圍處無法具有相同長度的斜率。圖9包括根據動態範圍調整之分段線性函數之針對x之輸入值範圍繪製y值的曲線圖。舉例而言,x值可為來自視訊訊框中之像素的明度值。在此實例中,x值之範圍包括五個範圍R0、R1、R2、R3及R4,該等範圍各自具有近似恆定斜率。如此實例中所說明,該等範圍中之四個R1、R2、R3及R4具有相同長度,而一個範圍R0具有不同長度。
上文所說明之實例資料結構可用於編碼圖9中所說明之分段線性函數,但使用此資料結構可導致一些冗餘資料經編碼。舉例而言,資料結構可引起範圍R1、R2、R3及R4中之每一者個別地經編碼至位元串流中,且由於各自具有相同長度,一個長度值將經編碼至位元串流中三次。在此實例中,若僅將共同長度值編碼至位元串流中一次,則可實現更高效率。
作為另一實例,上文所說明之資料結構可與equal_ranges_flag一起使用。在此實例中,至相等部分之x值範圍可劃分為相等部分,且各自具有相同長度之範圍可使用equal_ranges_flag指示。在圖9的實例中,此將引起R0經劃分為三個部分。然而,在此情況下,亦編碼冗餘資料,原因在於涵蓋R0之範圍將各自具有相同標度值。若可僅編碼共同標度值一次,則可實現更高效率。
在各種實例中,諸如上文所描述之資料結構可經修飾,使得在函數之輸入值範圍可劃分為相等長度之範圍、可部分地劃分為相等長度之範圍或分區或無法劃分為相等長度之範圍時可有效地編碼分段線性函數。如在上述實例資料結構中,不必於資料結構中指示諸如範圍之長度或範圍之開始或結束位置之資訊。相反,可在使用確定性導出程序之解碼器處導出此等及其他參數,如以下進一步論述。
在第一實例中,可包括可向解碼器指示輸入值已劃分至之範圍的指示符之資料結構包括具有相同長度之範圍集合。範圍集合在本文中可被稱作相等長度範圍集合。在以下實例中指示符被稱作「equal_ranges_flag」且可為1位元值。在此實例中,在equal_ranges_flag等於零時,則輸入值範圍未劃分為具有相同長度之任何範圍,或可已劃分為具有相同長度之若干範圍及具有不同長度之若干範圍,其中具有相同長度之範圍為不連續的,等於或少於具有不同長度之範圍數目,及/或定位於具有不同長度之範圍之間。在此實例中,於資料結構中指示輸入值之每一範圍之每一長度。在以下實例中,用於指示範圍之長度之分量被稱作「delta_luma_change_points」,其可為具有輸入值之每一範圍之索引的陣列。
在前述實例中,在equal_ranges_flag設置為1時,則所有輸入值範圍已劃分為相等長度之片段,或輸入值範圍已劃分為具有相同長度之一個集合及具有不同長度之一個集合在此等情況中之任一者中,資料結構之一個分量可用於指示相等長度片段之長度。在以下實例中,此分量被稱作「delta_luma_val」。
在一個實例中,具有不同長度之一個範圍(其在本文中可被稱作不相等長度範圍)處於輸入值範圍之起點處。亦即,如圖9中所說明,不相等長度範圍可包括來自輸入值範圍之起點之輸入值,其中剩餘輸入值劃分為相等長度。在此實例中,不相等長度範圍之長度可使用delta_luma_change_points[0] (例如delta_luma_change_points分量之索引零)來指示。在所有範圍具有相同長度(例如沒有不相等長度範圍)時,則delta_luma_change_points[0]可指示此長度,使得不需要特定處置或額外組件來區分一個不相等長度範圍與並非不相等長度範圍。在一些其他實例中,在所有範圍具有相同長度時,不必信號發送delta_luma_change_points[0]且delta_luma_val可用於導出相等範圍之長度。
繼續第一實例,接收資料結構之解碼器可使用delta_luma_val來導出範圍之長度(例如針對每一範圍之delta_luma_change_points值)。舉例而言,delta_luma_val可指示相等長度範圍中之每一者之結束值與開始值之間的差。
作為另一實例,delta_luma_val可指定相等長度範圍相對於在編碼器及解碼器兩者處相同的固定值之長度。舉例而言,固定值可為輸入值範圍可在包括不相等長度範圍之所有範圍具有相同長度時具有的最大值。在此實例中,delta_luma_val可用於指示固定值(例如輸入值之最大可能值)與相等長度範圍之長度之間的差。在此實例中,delta_luma_val可為標誌值。作為一實例,假定視訊之內容物具有為1000之最大明度值,該等值自1至300形成一個範圍,且該等值自301至1000形成九個相等長度範圍,該等相等長度範圍具有約78之長度。在此實例中,delta_luma_val可設置為22,使得在解碼器處,可如下確定相等長度範圍之長度:(1000 / 10) - 22 = 78。在此實例中需要用以編碼delta_luma_val之位元數目可比在delta_lum_val指示相等長度範圍之絕對長度時小。
作為另一實例,若相等長度範圍及相等長度範圍之實際長度中含有所有範圍,則delta_luma_val可用於指示相等長度範圍之長度之間的差。在此實例中,delta_luma_val可為標誌值。作為一實例,假定最大明度值為1000,該等值自1至300形成不相等長度範圍,且該等剩餘值形成各自具有78之長度的九個相等範圍,則delta_luma_val可設置為-8,且解碼器可如下導出相等長度範圍之長度:((1000 - 300) / 10) - (-8) = 78。如在先前實例中,在此實例中需要用以編碼delta_luma_val之位元數目可比在delta_luma_val指示相等長度範圍之絕對長度時小。
在第二實例中,可能存在以下情況:分段線性函數之輸入值範圍可經劃分為具有相等長度之集合,第一範圍具有不同長度且可具有與第一範圍相同長度之第二範圍或該第二範圍可具有完全不同的長度。此可例如發生在類似於圖9之曲線圖的曲線圖中,其中y值之斜率一開始變化極小,接著變化較大。在此第二實例中,資料結構可包括可指示範圍是包括一個不相等長度範圍或包括兩個不相等長度範圍之指示符。在以下實例中,此指示符被稱作「luma_range_scale_mode」,其可為一2位元值。在此實例中,equal_ranges_flag亦可用於指示範圍中之一些或全部是否長度相等。
在此第二實例中,如在先前實例中,delta_luma_change_points可在equal_ranges_flag指示信號發送所有長度時(例如由於不存在相等長度範圍,或由於相等長度範圍並未以使得相等長度範圍能夠描述為一組的方式配置)指示所有範圍之長度,且delta_luma_val可在equal_ranges_flag指示存在equal_length_ranges時指示相等長度範圍之長度。delta_luma_change_points[0]可在存在至少一個不相等長度範圍時指示第一不相等長度範圍之長度,且可在所有範圍具有相同長度時設置為相等長度範圍之長度。
在luma_range_scale_mode指示範圍包括兩個不相等長度時,則delta_luma_change_points[1]可用於指示第二不相等長度範圍之長度。在一些實例中,第二不相等長度範圍可具有與第一不相等長度範圍相同的標度值,在此情況下,僅需要為兩個不相等長度範圍信號發送一個標度值。
在一些情況下,分段線性函數可如此使得不必編碼不相等長度範圍之長度及偏移,且可基於相等長度範圍之參數而在解碼器處導出。圖10包括根據動態範圍調整之分段線性函數之繪製x值上的範圍之y值的曲線圖。在此實例中,分段線性函數可劃分為相等長度範圍(R0、R1、R2及R3)之集合及具有不同長度(R4)之一個範圍。對於此實例,資料結構可包括equal_ranges_flag,以指示輸入值範圍已全部或部分地劃分為具有相同長度之範圍。在equal_ranges_flag指示提供所有範圍長度(例如由於不存在相等長度範圍,或由於相等長度範圍並未以使得相等長度範圍能夠描述為一組的方式配置)時,則以下稱作「range_length」之資料結構之分量可用於指示範圍之長度。range_length分量可為包括每一範圍之索引的陣列。
在equal_ranges_flag指示範圍包括具有相同長度之範圍集合時,則以下稱作「equal_range_length」之值可用於指示相等長度範圍之總長度,該總長度可藉由將相等長度範圍之數目乘以相等長度範圍中之每一者之長度來計算。如所說明,在圖10的實例中,equal_range_length亦可指示可得出不相等長度範圍之處的偏移。在此實例中,不相等長度範圍作為輸入值之最大可能值結束。
作為一實例,假定最大明度值為1000,不相等長度範圍包括值701至1000,且存在九個相等長度範圍,則equal_range_length可具有為78之值。解碼器接著可如下導出相等長度範圍之經組合長度:78 x 9 = 702或約700。解碼器可進一步如下導出不相等長度範圍之長度:1000 - 700 = 300。
現將描述上文所描述之方法之若干實例實施方案。以下實例實施上文所描述之實例中之一或多者。使用語法結構及語義來說明實例實施方案。對語法結構及語義之改變指示如下:[[在雙括符內之文字]]指示刪除,且加下劃線之文字 指示添加。
第一實例
語法
語義
等於0之equal_ranges_flag 指定針對1至num_luma_dra_in_ranges (包括端點)範圍內之i信號發送語法元素delta_luma_change_points[i]。等於1之equal_ranges_flag 指定針對1至num_luma_dra_in_ranges(包括端點)範圍內之i信號發送delta_luma_change_points[i],未信號發送delta_luma_val且使用delta_luma_val導出:
delta_luma_val 用於在將equal_ranges_flag 設置為等於0時導出輸入範圍之值。在不存在時,推斷delta_luma_val之值等於0。用於信號發送delta_luma_val之位元數目等於in_bit_depth。
應注意,儘管in_bit_depth係指分量樣本之位元深度,但用於信號發送delta_luma_val之位元數目可顯式地信號發送或自位元串流中之其他語法元素導出。
在equal_ranges_flag等於1時,針對1至num_luma_dra_in_ranges (包括端點)範圍內之i如下導出delta_luma_change_points[i]之值:
delta_luma_change_points[ i ] = delta_luma_val
替代地,delta_luma_val之信號發送值用於指定範圍長度之固定值與實際範圍長度之間的差。在此情況下,delta_luma_val可作為標誌數目信號發送,例如作為s(v)語法元素經寫碼。delta_luma_change_points[i]之導出之實例如下:
deltaVal = ( 1 << in_bit_depth ) / num_luma_dra_in_ranges - delta_luma_val
delta_luma_change_points[ i ] = deltaVal
下文給出輸入範圍之導出之實例,但應瞭解,可能存在本發明中未規定的其他導出方式:
inRanges[ 0 ] = delta_luma_change_points[ 0 ]
for( i = 1; i <= num_luma_dra_in_ranges; i++ )
inRanges[ i ] = inRanges[ i - 1 ] + delta_luma_change_points[ i ]
替代地,如下導出deltaVal之值:
deltaVal = ( ( 1 << in_bit_depth ) - delta_luma_change_points[ 0 ]) / num_luma_dra_in_ranges - delta_luma_val
如此導出inRanges[ ]且dra_scale_val[ ]可用於導出用於執行DRA映射之查找表。
若inRanges[num_luma_dra_in_ranges]小於(1 << in_bit_depth ),則對應於inRanges[num_luma_dra_in_ranges]至(1 << in_bit_depth ) (包括端點)範圍內之樣本值的標度值可導出為等於0或等於inRanges[num_luma_dra_in_ranges-1]。
語法元素cont_cb_qp_offset、cont_cr_qp_offset及base_qp用於導出用於映射色度樣本之DRA參數。
cont_cb_qp_offset 用於導出Cb容器樣本之標度值。cont_cb_qp_offset之值在-24至24 (包括端點)範圍內。
cont_cr_qp_offset 用於導出Cr容器樣本之標度值。cont_cb_qp_offset之值在-24至24 (包括端點)範圍內。
針對Cb及Cr自cont_cb_qp_offset及cont_cr_qp_offset導出標度值之實例如下:
scaleCb = 2( - cont_cb_qp_offset / 6)
scaleCr = 2( - cont_cr_qp_offset / 6)
base_qp 用於基於HEVC標準之表8至10中指定的色度QP表來導出色度之額外標度值。base_qp之值在0至51 (包括端點)範圍內。
在一些實施例中,cont_cb_qp_offset及cont_cr_qp_offset可用於導出信號之任何兩個分量之標度值。自cont_cb_qp_offset及cont_cr_qp_offset之標度值之計算可以固定點算術實施,或使用查找表執行。
在一些實施例中,base_qp之值信號發送為固定數目之差以減小需要用以信號發送之位元數目。在其他實施例中,可使用與表8至10類似地定義之其他表自base_qp導出標度值,且base_qp可藉由將索引信號發送至表來替代。
第二實例
此實例類似於實例1,不同之處在於語法元素之信號發送指定如何針對並不具有dra_scale_val之顯式信號發送之範圍導出標度值。
語法
語義
luma_range_scale_mode 用於specify標度值dra_scale_val[1]之導出。在luma_range_scale_mode等於1時,語法元素dra_scale_val[1]為等於(1 << num_scale_frac_bits)之集合。在luma_range_scale_mode等於2時,語法元素dra_scale_val[1]設置為等於0。在luma_range_scale_mode等於3時,語法元素dra_scale_val[1]為等於dra_scale_val[2]之集合。
delta_luma_change_points[i]之值可如下針對2至num_luma_dra_in_ranges (包括端點)範圍內之i或使用值delta_luma_val導出:
deltaVal = ( ( 1 << in_bit_depth ) - delta_luma_change_points[ 0 ] - delta_luma_change_points[ 1 ]) / num_luma_dra_in_ranges
delta_luma_change_points[ i ] = deltaVal
在一些替代方案中,luma_range_scale_mode之值可不影響equal_ranges_flag及delta_luma_change_points[1]之關係。
在其他替代方案中,可不信號發送語法元素delta_luma_change_points[0]。
本文中描述luma_range_scale_mode之值以指示如何導出對應於一個範圍值之標度之值,或如何基於值導出DRA參數。應瞭解,亦可針對其他範圍指定類似語法元素。
第三實例
在相等長度範圍集合數值上先於不相等長度範圍時可使用此實例,如圖10中所說明。
語法
語義
num_dra_ranges 指定定義DRA函數之範圍數目
dra_global_offset_value 指定DRA函數使得y=0之處之x值,且用於導出DRA之其他參數(例如範圍R0之本地偏移)。
luma_change_points [0]指定開始使用相等範圍長度來信號發送範圍之處之x值,或指定範圍長度。luma_changes_points[0]之值可在0至1023 (包括端點)範圍內。
在一個替代方案中,添加以下設計約束:
luma_change_points[0]之值可大於或等於dra_global_offset_value。
等於1之equal_ranges_flag 指定經由相等長度範圍來定義DRA函數。
equal_range_length 指定定義DRA函數之所有相等長度範圍之長度。
若delta_luma_change_points[0] > dra_global_offset _value,則DRA函數可需要用額外範圍(亦稱為R[-1])定義,其參數未經信號發送,但可在解碼器側處如下導出:
length of the range R[-1] = delta_luma_change_points[ 0 ] - dra_global_offset_value
針對範圍R[-1]=scale[0]之分段線性(PWL)標度為針對相鄰範圍信號發送之標度值,其參數已經信號發送,即範圍R[0]。
若並不可能完全定義針對x之所有可能值之DRA函數,例如num_dra_ranges × equal_range_length < MAX_X,則DRA函數可用額外範圍(亦稱為R[num_dra_ranges])定義,其參數並未經信號發送,但可在解碼器側處如下導出:
length of the range R[num_dra_ranges] = MAX_X - num_dra_ranges * equal_range_length,
其中MAX_X指示輸入分量x可取得之最大值。在一些實施例中,可在考慮並未經信號發送之其他範圍之後確定MAX_X之值。舉例而言,若輸入x之最大值為1023,且delta_luma_change_points[0]經信號發送,則MAX_X等於1024-delta_luma_changes_points[0]。
範圍R[num_dra_ranges]=scale[num_dra_ranges-1]之PWL標度為針對相鄰範圍經信號發送之標度值(即範圍R[num_dra_ranges-1]),其參數先前已經信號發送。
圖11包括說明編碼視訊資料之程序1100之實例的流程圖。可例如藉由包括記憶體及處理器之編碼器件實施程序1100。在此實例中,記憶體可經組態以儲存視訊資料,且處理器可經組態以執行圖11之程序1100之步驟。舉例而言,編碼器件可包括非暫時性電腦可讀媒體,該非暫時性電腦可讀媒體可儲存指令,該等指令在由處理器執行時可使得處理器執行程序1100之步驟。在一些實例中,編碼器件可包括用於獲取視訊資料的攝影機。
在步驟1102處,程序1100包括獲得視訊資料,其中,針對視訊資料之視訊訊框之一部分,該視訊資料包括針對視訊訊框之部分中之色彩的動態範圍調整描述分段線性函數的參數,其中該等參數將分段線性函數之輸入值範圍劃分為多個非重疊範圍,其中非重疊範圍包括具有第一長度之第一範圍及各自具有第二長度之範圍集合,且其中第一長度不同於第二長度。在一些實例中,視訊訊框之部分包括少於所有視訊訊框。在一些實例中,視訊訊框之部分包括所有視訊訊框。在一些實例中,描述分段線性函數之參數可應用於超過一個視訊訊框。
在一些實例中,輸入值之範圍為來自視訊訊框之部分中之像素的明度值。在此等實例中,色度值可自參數導出。在此等及其他實例中,範圍之長度可指示明度值之數目,包括範圍之視訊訊框之部分中之可能明度值。
在一些實例中,第一範圍包括來自輸入值之範圍之起點的輸入值之第一集合。在此等實例中,範圍集合包括來自輸入值範圍之第二輸入值集合,該第二輸入值集合在輸入值之第一集合之後。
在步驟1104處,程序1100包括產生參數之資料結構。資料結構可包括使得值指示非重疊範圍中之數目範圍及範圍中之每一者之比例因數及其他資訊之分量,如下文所描述。
在步驟1106處,程序1100包括設置資料結構中之指示符以指示非重疊範圍包括各自具有第二長度之範圍集合。在一些實例中,所有非重疊範圍具有相同長度(例如第一長度與第二長度相同),在此情況下,亦應用後續步驟。在其他實例中,在非重疊範圍不包括具有相同長度之範圍或具有無法分組在一起之相同長度之範圍時,則並不應用後續步驟,且在資料結構中指示長度中之每一者。
在步驟1108處,程序1100包括設置資料結構中之第一值以指示第二長度。在一些實例中,第一值指示第二長度作為範圍集合中之每一者之結束值與開始值之間的差。在一些實例中,第一值藉由指示固定值與第二長度之間的差來指示第二長度。舉例而言,固定值可為輸入值範圍之最大可能值,或可為包括於資料結構中之值。在此實例中,範圍集合之長度可藉由用範圍之總數目(例如範圍集合中之範圍加上第一範圍之數目)除以固定值且隨後減去第一值來計算。在一些實例中,長度可藉由自固定值減去第一範圍之長度(其可提供於資料結構中)且用範圍之總數目除以結果且隨後減去第一值來計算。
在一些實例中,第一值等於範圍集合中之範圍數目乘以第二長度。在此等實例中,第一值因此為範圍集合之長度之總和。另外,在一些實例中,第一值可指示第一範圍開始之處之輸入值範圍內的偏移。舉例而言,範圍集合可包括來自輸入值範圍之起點之第一輸入值集合,且第一範圍可包括來自輸入值範圍之第二輸入值集合,該第二輸入值集合在該第一輸入值集合之後。在此實例中,第一值可指示第二輸入值集合開始之處。
在一些實例中,程序1100可包括設置資料結構中之第二值以指示第一長度。在一些實例中,第二值並未包括於資料結構中,且相反地自資料結構中之其他值導出。舉例而言,在第一值指示輸入值範圍內之偏移時,則可藉由自最大輸入值減去偏移來確定第一長度。
在步驟1110處,程序1100包括自視訊資料產生經編碼視訊資料,其中資料結構與該經編碼視訊資料一起包括。產生經編碼視訊資料可包括執行如下文相對於圖13論述之步驟。在一些實例中,資料結構可包括於SEI訊息中,該SEI訊息可併入至經編碼視訊資料中或可單獨地提供。SEI訊息可將資料結構中之參數應用於一組視訊訊框、一個視訊訊框或視訊訊框之圖塊。在一些實例中,資料結構可包括於圖塊標頭或參數集中,該參數集諸如序列參數集、圖像參數集、視訊參數集或另一類型的參數集。在此實例中,資料結構中之參數可應用於視訊資料之部分,圖塊標頭或參數集應用於該視訊資料之該部分,其可為來自視訊訊框、整個視訊訊框或一組視訊訊框的圖塊。
在一些實例中,非重疊範圍包括具有第三長度之第二範圍,該第三長度不同於該第二長度。在此實例中,非重疊範圍因此包括兩個範圍,其長度並未與範圍集合之長度相同。在此實例中,圖11之程序1100可進一步包括設置資料結構中之第二指示符以指示非重疊範圍包括第一範圍及第二範圍。程序亦可包括設置資料結構中之第三值以指示第三長度。
圖12包括說明用於解碼視訊資料之程序1200之實例的流程圖。程序1200可例如藉由包括記憶體及處理器之解碼器件來實施。在此實例中,記憶體可經組態以儲存經編碼視訊資料,且處理器可經組態以執行圖12之程序1200之步驟。舉例而言,解碼器件可包括非暫時性電腦可讀媒體,該非暫時性電腦可讀媒體可儲存指令,該等指令在由處理器執行時可使得處理器執行程序1200之步驟。在一些實例中,解碼器件可包括用於獲取視訊資料之攝影機。在一些實例中,解碼器件可包括用於顯示經解碼視訊資料之顯示器。在一些實例中,解碼器件為具有用於獲取視訊資料之攝影機及用於顯示視訊資料之顯示器的行動器件。
在步驟1202處,程序1200包括獲得經編碼視訊資料。經編碼視訊資料可例如自解碼器件之記憶體中之儲存位置獲得。替代地或另外,經編碼視訊資料可自在解碼器件外部之儲存位置獲得,該儲存位置諸如本地附接硬碟機或其他儲存器件。替代地或另外,經編碼視訊資料可自網路位置獲得。
在步驟1204處,程序1200包括:針對自經編碼視訊資料之視訊訊框之一部分確定資料結構,該資料結構包括針對視訊訊框之部分中之色彩的動態範圍調整描述分段線性函數的參數,其中該等參數將分段線性函數之輸入值範圍劃分為多個非重疊範圍。視訊訊框之該部分可小於一個視訊訊框、整個視訊訊框或一組視訊訊框中之所有。在一些實例中,自併入至經編碼視訊資料中或設置有經編碼視訊資料之SEI訊息確定資料結構。在此等實例中,SEI訊息中之參數可應用於一組視訊訊框、一個視訊訊框或視訊訊框之圖塊。在一些實例中,可自圖塊標頭或參數集確定資料結構,該參數集諸如序列參數集、圖像參數集、視訊參數集或另一類型的參數集。在此實例中,資料結構中之參數可應用於視訊資料之部分,圖塊標頭或參數集應用於該視訊資料之該部分,其可為來自視訊訊框、整個視訊訊框或一組視訊訊框的圖塊。
在步驟1206處,程序1200包括:自資料結構中之指示符確定非重疊範圍包括具有第一長度之第一範圍及各自具有第二長度之範圍集合,其中該第一長度不同於該第二長度。指示符可例如指示非重疊範圍中存在範圍集合。在一些實例中,確定非重疊範圍包括第一範圍係基於提供第一長度之資料結構中之第二值。在一些實例中,所有範圍為相同長度,在此情況下,第一長度可指示於與第二長度相同的結構中。在一些實例中,範圍中無一者為相同長度,或其不可能將具有相同長度的範圍描述為一組。在此等實例中,範圍之長度中之每一者之範圍包括於資料結構中,且並不應用後續步驟。
在一些實例中,資料結構中之第二值提供第一長度。在此等實例中,程序可進一步包括:自與第二值相關聯的索引確定第一範圍包括來自輸入值範圍之起點的輸入值之第一集合,且範圍集合包括來自輸入值範圍之輸入值之第二集合,該輸入值之第二集合在該輸入值之第一集合之後
在步驟1208處,程序1200包括使用資料結構中之第一值來確定第二長度。在一些實例中,第一值提供(例如等於)第二長度。在一些實例中,第一值藉由指示固定值與第一長度之間的差來指示第二長度。在一些實例中,固定值可為輸入值範圍之最大可能值,或可為包括於資料結構中之值。在此實例中,解碼器件可藉由用範圍之總數目(例如範圍集合中之範圍加上第一範圍之數目)除以固定值且隨後減去第一值來確定第二長度。在一些實例中,解碼器件可藉由自固定值減去第一範圍之長度(其可提供於資料結構中)且用範圍之總數目除以結果且隨後減去第一值來確定第二長度。
在步驟1210處,程序1200包括使用藉由資料結構提供之資訊來確定第一長度。在一些實例中,使用資料結構中之值來指示第一長度。在一些實例中,第一長度等於範圍集合之總長度,在此情況下,解碼器件可藉由自輸入值範圍之最大值減去第一長度來確定第一長度。亦在此實例中,解碼器件可確定第二長度包括用範圍集合中之範圍數目除以第一長度。在一些實例中,程序1200亦可包括:基於第一值確定範圍集合包括來自輸入值範圍之起點之輸入值之第一集合,且其中第一範圍包括來自輸入值範圍之輸入值之第二集合,該輸入值之第二集合在該輸入值之第一集合之後。
在步驟1212處,程序1200包括使用第一長度、第二長度及與非重疊範圍中之每一者相關聯的比例因數來重建構該分段線性函數,其中該等比例因數包括於資料結構中。重建構分段線性函數可包括例如用與每一範圍相關聯的比例因數乘以非重疊範圍之每一範圍。一旦經重建構,分段線性函數便可針對每一可能輸入值提供輸出值,其中輸入值為來自輸入視訊訊框之部分的色值。
在步驟1214處,程序1200包括解碼視訊訊框之部分。解碼視訊訊框可包括執行諸如在下文相對於圖14描述的步驟。
在圖12之步驟1216處,程序1200包括將分段線性函數應用於視訊訊框之部分中之色彩以執行動態範圍調整,如上文所論述。
在一些實例中,程序1200進一步包括:自資料結構中之第二指示符確定非重疊範圍包括具有第三長度之第二範圍,其中第三長度不同於第二長度。在此等實例中,非重疊範圍包括具有與範圍集合不同之長度的兩個範圍。在此等實例中,程序1200可進一步包括自資料結構中之第三值確定第三長度。
本文中論述之方法及操作可使用經壓縮視訊實施,且可在實例視訊編碼及解碼系統(例如系統100)中實施。在一些實例中,系統包括提供稍後由目的地器件解碼之經編碼視訊資料的源器件。源器件可例如經由電腦可讀媒體將視訊資料提供至目的地器件。在一些實例中,電腦可讀媒體為暫時性的。在一些實例中,電腦可讀媒體為非暫時性的。源器件及目的地器件可為廣泛範圍之器件中之任一者,包括桌上型電腦、筆記型(例如膝上型)電腦、平板電腦、智慧型電話、蜂巢式通信器件、無線通信器件、機上盒、電視、攝影機、顯示器件、數位媒體播放器、視訊遊戲主控台、視訊串流器件或類似者。在一些情況下,源器件及目的地器件可經裝備以用於無線通信。
目的地器件可經由電腦可讀媒體接收待解碼之經編碼視訊資料。電腦可讀媒體可為能夠將經編碼視訊資料自源器件移動至目的地器件之任何類型的媒體或器件。在一個實例中,電腦可讀媒體可為用以使得源器件能夠即時地將經編碼視訊資料直接傳輸至目的地器件的通信媒體。可根據通信標準(諸如無線通信協定)調製經編碼視訊資料,且將經編碼視訊資料傳輸至目的地器件。通信媒體可包括任何無線或有線通信媒體,諸如射頻(RF)光譜及/或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如區域網路、廣域網路或諸如網際網路之全域網路)之部分。通信媒體可包括路由器、交換器、基地台或可用於促進自源器件至目的地器件之通信的任何其他裝備。
在一些實例中,經編碼資料可自輸出介面輸出至儲存器件。儲存器件為非暫時性電腦可讀媒體之一個實例。類似地,經編碼資料可由輸入介面自儲存器件存取。儲存器件可包括多種分佈式或本端存取式資料儲存媒體中之任一者,諸如磁性、光學或固態驅動器、藍光光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體,或用於儲存經編碼視訊資料之任何其他合適的數位儲存媒體。在另一實例中,儲存器件可對應於檔案伺服器或可儲存由源器件產生之經編碼視訊的另一中間儲存器件。目的地器件可經由串流或下載自儲存器件存取經儲存視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料且將彼經編碼視訊資料傳輸至目的地器件之任何類型的伺服器。實例檔案伺服器包括網頁伺服器(例如用於網站)、FTP伺服器、網路附接儲存(NAS)器件或本端磁碟機。目的地器件可經由任何標準資料連接(包括網際網路連接)存取經編碼視訊資料。此可包括無線通道(例如Wi-Fi連接)、有線連接(例如DSL、電纜調制解調器等),或適用於存取儲存於檔案伺服器上之經編碼視訊資料之兩者的組合。自儲存器件的經編碼視訊資料之傳輸可為串流傳輸、下載傳輸或其組合。
本發明之技術不限於無線應用或設置。該等技術可應用於支援多種多媒體應用中之任一者的視訊寫碼,諸如空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如,經由HTTP動態自適應串流(DASH))、經編碼至資料儲存媒體上之數位視訊、儲存於資料儲存媒體上的數位視訊之解碼或其他應用。在一些實例中,系統可經組態以支援單向或雙向視訊傳輸從而支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。
在一個實例中,源器件包括視訊源、視訊編碼器及輸出介面。目的地器件可包括輸入介面、視訊解碼器及顯示器件。源器件之視訊編碼器可經組態以應用本文中所揭示之技術。在其他實例中,源器件及目的地器件可包括其他組件或配置。舉例而言,源器件可自外部視訊源(諸如外部攝影機)接收視訊資料。同樣,目的地器件可與外部顯示器件介接,而非包括整合式顯示器件。
上述實例系統僅為一個實例。用於平行地處理視訊資料之技術可由任何數位視訊編碼及/或解碼器件來執行。該等技術亦可由視訊編碼器/解碼器(通常被稱作「編碼解碼器」)執行。此外,本發明之技術亦可由視訊預處理器執行。源器件及目的地器件僅為源器件產生經寫碼視訊資料以供傳輸至目的地器件之此類寫碼器件的實例。在一些實例中,源器件及目的地器件可以大體上對稱之方式操作,使得該等器件中之每一者包括視訊編碼及解碼組件。因此,實例系統可支援視訊器件之間的單向或雙向視訊傳輸,例如用於視訊串流、視訊播放、視訊廣播或視訊電話。
源器件之視訊源可包括視訊獲取器件,諸如視訊攝影機、含有先前獲取之視訊的視訊存檔及/或用以自視訊內容提供者接收視訊資料的視訊饋入介面。作為另一實例,視訊源可產生基於電腦圖形之資料作為源視訊,或實況視訊、存檔視訊及電腦產生之視訊的組合。在一些情況下,若視訊源為視訊攝影機,則源器件及目的地器件可形成例如攝影機電話或視訊電話。然而,如上文所提及,本發明所描述之技術一般可適用於視訊寫碼,且可適用於無線及/或有線應用。在每一情況下,可由視訊編碼器編碼所獲取、經預獲取或電腦產生之視訊。經編碼視訊資訊可接著由輸出介面輸出至電腦可讀媒體上。
如所提及,電腦可讀媒體可包括暫態媒體,諸如無線廣播或有線網路傳輸;或儲存媒體(亦即,非暫時性儲存媒體),諸如硬碟機、快閃驅動機、緊密光碟、數位視訊光碟、藍光光盤光碟或其他電腦可讀媒體。在一些實例中,網路伺服器(圖中未示)可例如經由網路傳輸自源器件接收經編碼視訊資料且將經編碼視訊資料提供至目的地器件。類似地,諸如光碟衝壓設施之媒體生產設施的運算器件可自源器件接收經編碼視訊資料且產生含有經編碼視訊資料之光碟。因此,在各種實例中,電腦可讀媒體可理解為包括各種形式之一或多個電腦可讀媒體。
目的地器件之輸入介面自電腦可讀媒體接收資訊。電腦可讀媒體之資訊可包括由視頻編碼器定義之語法資訊,該等語法資訊亦由視訊解碼器使用,該視頻編碼器包括描述區塊及其他經寫碼單元(例如圖像群組(GOP))之特徵及/或處理的語法元素。顯示器件向使用者顯示經解碼視訊資料,且可包括多種顯示器件中之任一者,諸如陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器,或另一類型之顯示器件。已描述本申請案之各種實施例。
如上文所提及,源器件可執行編碼,且因此包括編碼器件以執行此函數。亦如上文提及,目的地器件可執行解碼,且因此可包括解碼器件。圖1之編碼器件104及解碼器件112之實例細節分別展示於圖13及圖14中。圖13為說明可實施本發明中所描述之技術中之一或多者的實例編碼器件104之方塊圖。編碼器件104可(例如)產生本文中所描述的語法結構(例如VPS、SPS、PPS或其他語法元素之語法結構)。編碼器件104可執行視訊圖塊內之視訊區塊的框內預測及框間預測寫碼。如先前所描述,框內寫碼至少部分地依賴於空間預測以減少或移除給定視訊訊框或圖像內之空間冗餘。框間寫碼至少部分地依賴於時間預測以減少或移除視訊序列之鄰近或周圍訊框內的時間冗餘。框內模式(I模式)可指若干基於空間之壓縮模式中之任一者。框間模式(諸如單向預測(P模式)或雙向預測(B模式))可指若干基於時間之壓縮模式中之任一者。
編碼器件104包括分割單元35、預測處理單元41、濾波器單元63、圖像記憶體64、求和器50、變換處理單元52、量化單元54及熵編碼單元56。預測處理單元41包括運動估計單元42、運動補償單元44及框內預測處理單元46。對於視訊區塊重建構,編碼器件104亦包括反量化單元58、反變換處理單元60及求和器62。濾波器單元63意欲表示一或多個迴路濾波器,諸如解區塊濾波器、自適應性迴路濾波器(ALF)及樣本自適應性偏移(SAO)濾波器。儘管濾波器單元63在圖13中展示為迴路內濾波器,但在其他組態中,濾波器單元63可實施為後迴路濾波器。後處理器件57可對由編碼器件104產生之經編碼視訊資料執行額外處理。本發明之技術可在一些情況下由編碼器件104實施。然而,在其他情況下,本發明之技術中之一或多者可由後處理器件57實施。
如圖13中所展示,編碼器件104接收視訊資料,且分割單元35將資料分割成視訊區塊。分割亦可包括分割成圖塊、圖塊片段、影像塊或其他較大單元,以及視訊區塊分割,例如,根據LCU及CU之四分樹結構。編碼器件104一般說明編碼待編碼之視訊圖塊內的視訊區塊的組件。圖塊可劃分成多個視訊區塊(且可能劃分成被稱作影像塊之視訊區塊集合)。預測處理單元41可基於誤差結果(例如寫碼速率及失真程度或類似者)針對當前視訊區塊選擇多個可能寫碼模式中之一者,諸如框內預測寫碼模式或框間預測寫碼模式。預測處理單元41可將所得經框內或經框間寫碼區塊提供至第一求和器50以產生殘餘區塊資料,且提供至第二求和器62以重建構用作參考圖像之經編碼區塊。
預測處理單元41內之框內預測處理單元46可執行當前視訊區塊相對於與待寫碼之當前區塊在相同訊框或圖塊中的一或多個相鄰區塊之框內預測性寫碼,以提供空間壓縮。預測處理單元41內之運動估計單元42及運動補償單元44執行當前視訊區塊相對於一或多個參考圖像中之一或多個預測性區塊的框間預測性寫碼,以提供時間壓縮。
運動估計單元42可經組態以根據視訊序列之預定圖案來確定用於視訊圖塊之框間預測模式。預定圖案可指示序列中之視訊圖塊作為P圖塊、B圖塊或通用型P及B (GPB)圖塊(具有相同參考圖像清單(清單0及清單1)之圖塊)。運動估計單元42及運動補償單元44可高度整合,但出於概念目的而單獨說明。由運動估計單元42執行之運動估計為產生運動向量之程序,該等運動向量估計視訊區塊之運動。運動向量(例如)可指示當前視訊訊框或圖像內之視訊區塊的預測單元(PU)相對於參考圖像內之預測性區塊的移位。
預測性區塊為就像素差而言被發現緊密地匹配待寫碼的視訊區塊之PU之區塊,該像素差可由絕對差和(SAD)、平方差和(SSD)或其他差度量確定。在一些實例中,編碼器件104可計算儲存於圖像記憶體64中之參考圖像的次整數像素位置的值。舉例而言,編碼器件104可內插參考圖像之四分之一像素位置、八分之一像素位置或其他分數像素位置之值。因此,運動估計單元42可執行關於全像素位置及分數像素位置之運動搜尋且輸出具有分數像素精確度之運動向量。
運動估計單元42藉由比較PU之位置與參考圖像的預測性區塊之位置而計算經框間寫碼圖塊中的視訊區塊之PU之運動向量。該參考圖像可選自第一參考圖像清單(清單0)或第二參考圖像清單(清單1),清單0或清單1中之每一者識別儲存於圖像記憶體64中之一或多個參考圖像。運動估計單元42將所計算之運動向量發送至熵編碼單元56及運動補償單元44。
由運動補償單元44執行之運動補償可關於基於由運動估計(可能執行內插至子像素精確密度) 確定之運動向量而提取或產生預測性區塊。在接收到當前視訊區塊之PU的運動向量之後,運動補償單元44可在一參考圖像清單中找到運動向量所指向之預測性區塊的位置。編碼器件104藉由自正經寫碼之當前視訊區塊之像素值減去預測性區塊之像素值從而形成像素差值來形成殘餘視訊區塊。像素差形成用於區塊之殘餘資料,且可包括明度及色度差分量兩者。求和器50表示執行此減法運算之一或多個組件。運動補償單元44亦可產生與視訊區塊及視訊圖塊視訊片段相關聯之語法元素,以供解碼器件112用於解碼視訊圖塊之視訊區塊。
如上文所描述,作為由運動估計單元42及運動補償單元44所執行之框間預測的替代方案,框內預測處理單元46可對當前區塊進行框內預測。特定而言,框內預測處理單元46可確定框內預測模式以用於編碼當前區塊。在一些實例中,框內預測處理單元46可(例如)在單獨的編碼遍次期間使用各種框內預測模式編碼當前區塊,且框內預測單元處理46可自測試模式中選擇適當框內預測模式來使用。舉例而言,框內預測處理單元46可使用對各種所測試框內預測模式之速率-失真分析來計算速率-失真值,且可在所測試模式間選擇具有最佳速率-失真特徵之框內預測模式。速率-失真分析大體上確定經編碼區塊與初始未經編碼區塊(其經編碼以產生經編碼區塊)之間的失真(或誤差)量,以及用以產生經編碼區塊之位元速率(亦即,位元之數目)。框內預測處理單元46可自各種經編碼區塊之失真及速率計算比率以確定哪一框內預測模式展現該區塊之最佳速率-失真值。
在任何情況下,在選擇用於區塊之框內預測模式之後,框內預測處理單元46可將指示用於區塊之所選擇框內預測模式之資訊提供至熵編碼單元56。熵編碼單元56可編碼指示所選擇框內預測模式之資訊。編碼器件104可將各種區塊之編碼上下文之定義以及待用於上下文中之每一者的最可能的框內預測模式、框內預測模式索引表及經修改框內預測模式索引表之指示包括於經傳輸位元串流組態資料中。位元串流組態資料可包括框內預測模式索引表及經修改框內預測模式索引表(亦被稱作碼字映射表)。
在預測處理單元41經由框間預測或框內預測產生當前視訊區塊之預測性區塊之後,編碼器件104藉由自當前視訊區塊減去預測性區塊而形成殘餘視訊區塊。殘餘區塊中之殘餘視訊資料可包括在一或多個TU中且應用於變換處理單元52。變換處理單元52使用諸如離散餘弦變換(DCT)或概念上類似之變換將殘餘視訊資料變換為殘餘變換係數。變換處理單元52可將殘餘視訊資料自像素域轉換至變換域(諸如頻域)。
變換處理單元52可將所得變換係數發送至量化單元54。量化單元54量化變換係數以進一步減少位元速率。量化程序可減小與係數中之一些或所有相關聯的位元深度。可藉由調整量化參數來修改量化程度。在一些實例中,量化單元54可接著執行對包括經量化變換係數之矩陣的掃描。替代地或另外,熵編碼單元56可執行掃描。
在量化之後,熵編碼單元56對經量化變換係數進行熵編碼。舉例而言,熵編碼單元56可執行上下文自適應性可變長度寫碼(CAVLC)、上下文自適應性二進位算術寫碼(CABAC)、基於語法之上下文自適應性二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)寫碼或另一熵編碼技術。在由熵編碼單元56進行熵編碼之後,可將經編碼位元串流傳輸至解碼器件112,或加以存檔以供稍後由解碼器件112傳輸或擷取。熵編碼單元56亦可熵編碼正經寫碼之當前視訊圖塊之運動向量及其他語法元素。
反量化單元58及反變換處理單元60分別應用反量化及反變換以重建構像素域中之殘餘區塊以供稍後用作參考圖像之參考區塊。運動補償單元44可藉由將殘餘區塊添加至參考圖像清單內之參考圖像中之一者的預測性區塊來計算參考區塊。運動補償單元44亦可將一或多個內插濾波器應用於經重建構殘餘區塊,以計算用於運動估計之子整數像素值。求和器62將經重建構殘餘區塊添加至由運動補償單元44產生之運動補償預測區塊以產生參考區塊以用於儲存於圖像記憶體64中。參考區塊可由運動估計單元42及運動補償單元44用作參考區塊以對後續視訊訊框或圖像中之區塊進行框間預測。
以此方式,圖13之編碼器件104表示經組態以產生經編碼視訊位元串流之語法的視訊編碼器之實例。編碼器件104可例如產生包括分段線性函數之參數的資料結構,如上文所描述。編碼器件104可執行本文中所描述之技術中之任一者,包括上文關於圖11及12描述之程序。本發明之技術已大體上關於編碼器件104加以描述,但如上文所提及,本發明之技術中的一些亦可藉由後處理器件57實施。此外,除實例編碼器件104以外,具有類似或不同組件之器件可用於執行本文所描述之技術。
圖14為說明實例解碼器件112之方塊圖。解碼器件112包括熵解碼單元80、預測處理單元81、反量化單元86、反變換處理單元88、求和器90、濾波器單元91及圖像記憶體92。預測處理單元81包括運動補償單元82及框內預測處理單元84。在一些實例中,解碼器件112可執行大體上與關於來自圖13之編碼器件104描述的編碼遍次互逆的解碼遍次。
在解碼程序期間,解碼器件112接收經編碼視訊位元串流,其表示經編碼視訊圖塊之視訊區塊及藉由編碼器件104發送的相關聯語法元素。在一些實例中,解碼器件112可自編碼器件104接收經編碼視訊位元串流。在一些實例中,解碼器件112可自網路實體79接收經編碼視訊位元串流,諸如伺服器、媒體感知網路元件(MANE)、視訊編輯器/切割器,或經組態以實施上文所描述之技術中之一或多者的其他此種器件。網路實體79可或可不包括編碼器件104。本發明中所描述之技術中的一些可在網路實體79將經編碼之視訊位元串流傳輸至解碼器件112之前由網路實體79實施。在一些視訊解碼系統中,網路實體79及解碼器件112可為單獨器件之部分,而在其他情況下,關於網路實體79所描述之功能性可由包括解碼器件112之相同器件執行。
解碼器件112之熵解碼單元80對位元串流進行熵解碼以產生經量化係數、運動向量及其他語法元素。熵解碼單元80將運動向量及其他語法元素轉遞至預測處理單元81。解碼器件112可接收視訊圖塊層級及/或視訊區塊層級之語法元素。熵解碼單元80可處理及剖析一或多個參數集(諸如VPS、SPS及PPS)中之固定長度語法元素及可變長度語法元素兩者。
當將視訊圖塊寫碼為經框內寫碼(I)圖塊時,預測處理單元81之框內預測處理單元84可基於經信號發送框內預測模式及來自當前訊框或圖像之先前經解碼區塊的資料而產生當前視訊圖塊之視訊區塊的預測資料。在視訊訊框經寫碼為經框間寫碼(即B、P或GPB)圖塊時,預測處理單元81之運動補償單元82基於自熵解碼單元80接收到之運動向量及其他語法元素而產生當前視訊圖塊之視訊區塊之預測性區塊。可由參考圖像清單內的參考圖像中之一者產生預測性區塊。解碼器件112可基於儲存於圖像記憶體92中之參考圖像使用預設建構技術來建構參考訊框清單,即清單0及清單1。
運動補償單元82藉由剖析運動向量及其他語法元素來確定用於當前視訊圖塊之視訊區塊的預測資訊,並使用該預測資訊以產生經解碼當前視訊區塊之預測性區塊。舉例而言,運動補償單元82可使用參數集中之一或多個語法元素以確定用於寫碼視訊圖塊之視訊區塊之預測模式(例如框內預測或框間預測)、框間預測圖塊類型(例如B圖塊、P圖塊或GPB圖塊)、圖塊之一或多個參考圖像清單之建構資訊、圖塊之每一框間編碼視訊區塊之運動向量、圖塊之每一框間寫碼視訊區塊之框間預測狀態,及用以解碼當前視訊圖塊中之視訊區塊的其他資訊。
運動補償單元82亦可基於內插濾波器執行內插。運動補償單元82可使用如在編碼視訊區塊期間由編碼器件104使用的內插濾波器來計算參考區塊之次整數像素的內插值。在此情況下,運動補償單元82可自所接收語法元素確定由編碼器件104使用之內插濾波器,且可使用內插濾波器來產生預測性區塊。
反量化單元86反量化或解量化位元串流中所提供且由熵解碼單元80解碼之經量化變換係數。反量化程序可包括使用由編碼器件104針對視訊圖塊中之每一視訊區塊的由編碼器件104計算之量化參數來確定量化程度及同樣應應用之反量化程度。反變換處理單元88將反變換(例如逆DCT或其他合適的逆變換)、逆整數變換或概念上類似的反變換程序應用於變換係數以便在像素域中產生殘餘區塊。
在運動補償單元82基於運動向量及其他語法元素而產生用於當前視訊區塊之預測性區塊之後,解碼器件112藉由將來自反變換處理單元88之殘餘區塊與運動補償單元82所產生之對應預測性區塊求和而形成經解碼視訊區塊。求和器90表示執行此求和操作之一或多個組件。若需要,亦可使用迴路濾波器(在寫碼迴路中或在寫碼迴路後)以使像素轉變平滑,或以其他方式改良視訊品質。濾波器單元91既定表示一或多個迴路濾波器,諸如解塊濾波器、自適應性迴路濾波器(ALF)及樣本自適應性偏移(SAO)濾波器。儘管濾波器單元91在圖14中展示為迴路內濾波器,但在其他組態中,濾波器單元91可實施為後迴路濾波器。給定訊框或圖像中之經解碼視訊區塊接著儲存於圖像記憶體92中,圖像記憶體92儲存用於後續運動補償之參考圖像。圖像記憶體92亦儲存經解碼視訊以供稍後呈現於顯示器件(諸如圖1中所展示之視訊目的地器件122)上。
圖14之解碼器件112表示經組態以剖析經編碼視訊位元串流之語法且近似地再現用於後續顯示器之初始視訊資料的視訊解碼器之實例。解碼器件可例如剖析包括分段線性函數之參數的資料結構,且將分段線性函數應用於經解碼資料執行動態範圍調整,如上文所論述。解碼器件112可執行本文中論述的技術中之任一者,包括上文關於圖11及12所描述之程序。另外,除實例解碼器件112以外,具有類似或不同組件之器件可用於執行本文所描述之技術。
在前述描述中,參考本申請案之特定實施例描述本申請案之態樣,但熟習此項技術者將認識到本申請案不限於此。因此,儘管本文中已詳細描述本申請案之說明性實施例,但應理解,本發明概念可以其他方式不同地體現並使用,且所附申請專利範圍意欲解釋為包括除先前技術所限制外的此等變化。上文所描述之實例之各種特徵及態樣可單獨地或聯合地使用。另外,實施例可用於超出本文所描述之彼等環境及應用之任何數目個環境及應用,而不脫離本說明書之更廣精神及範疇。因此,本說明書及圖式被視為說明性而非限定性。出於說明之目的,以特定次序描述方法。應瞭解,在其他實施例中,可以與所描述之次序不同之次序來執行該等方法。
在組件被描述為「經組態以」執行某些操作之情況下,可(例如)藉由設計電子電路或其他硬體以執行操作、藉由程式化可程式化電子電路(例如微處理器或其他合適之電子電路)以執行操作或其任何組合來實現此組態。
結合本文所揭示之實施例而描述之各種說明性邏輯區塊、模組、電路及演算法步驟可被實施為電子硬體、電腦軟體、韌體或其組合。為了清楚地說明硬體與軟體之此可互換性,各種說明性組件、區塊、模組、電路及步驟已在上文大體按其功能性加以了描述。此功能性實施為硬體抑或軟體取決於特定應用及強加於整個系統之設計約束而定。熟習此項技術者可針對每一特定應用而以變化之方式實施所描述之功能性,但不應將此等實施決策解釋為致使脫離本申請案之範疇。
本文中所描述之技術亦可實施於電子硬體、電腦軟體、韌體或其任何組合中。此等技術可實施於多種器件中之任何者中,諸如通用電腦、無線通信器件手持機或具有多種用途(包括在無線通信器件手持機及其他器件中之應用)之積體電路器件。可將描述為模組或組件之任何特徵共同實施於整合式邏輯器件中或分開實施為離散但可互操作之邏輯器件。若以軟體實施,則該等技術可至少部分由包含包括當經執行時執行以上描述方法中之一或多者之指令之程式碼的電腦可讀資料儲存媒體來實現。電腦可讀資料儲存媒體可形成電腦程式產品之部分,電腦程式產品可包括封裝材料。電腦可讀媒體可包括記憶體或資料儲存媒體,諸如隨機存取記憶體(RAM),諸如,同步動態隨機存取記憶體(SDRAM)、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體、磁性或光學資料儲存媒體,及其類似者。另外或替代地,該等技術可至少部分地由電腦可讀通信媒體實現,該電腦可讀通信媒體載送或傳達呈指令或資料結構之形式且可由電腦存取、讀取及/或執行的程式碼,諸如傳播之信號或波。
程式碼可由可包括一或多個處理器之處理器執行,諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效積體或離散邏輯電路。此處理器可經組態以執行本發明中所描述之技術中之任一者。通用處理器可為微處理器;但在替代方案中,處理器可為任何習知處理器、控制器、微控制器或狀態機。處理器亦可實施為計算器件之組合,例如DSP與微處理器之組合、多個微處理器、結合DSP核心之一或多個微處理器或任何其他此類組態。因此,如本文中所使用之術語「處理器」可指前述結構中之任一者、前述結構之任何組合或適合於實施本文中所描述之技術的任何其他結構或裝置。此外,在一些態樣中,本文中所描述之功能性可提供於經組態用於編碼及解碼之專用軟體模組或硬體模組,或併入於組合之視訊編碼器-解碼器(編解碼器)中。
35‧‧‧分割單元
41‧‧‧預測處理單元
42‧‧‧運動估計單元
44‧‧‧運動補償單元
46‧‧‧框內預測處理單元
50‧‧‧求和器
52‧‧‧變換處理單元
54‧‧‧量化單元
56‧‧‧熵編碼單元
57‧‧‧後處理器件
58‧‧‧反量化單元
60‧‧‧反變換處理單元
62‧‧‧求和器
63‧‧‧濾波器單元
64‧‧‧圖像記憶體
79‧‧‧網路實體
80‧‧‧熵解碼單元
81‧‧‧預測處理單元
82‧‧‧運動補償單元
84‧‧‧框內預測處理單元
86‧‧‧反量化單元
88‧‧‧反變換處理單元
90‧‧‧求和器
91‧‧‧濾波器單元
92‧‧‧圖像記憶體
100‧‧‧系統
102‧‧‧視訊源
104‧‧‧編碼器件
106‧‧‧編碼器引擎
108‧‧‧儲存裝置
110‧‧‧輸出端
112‧‧‧解碼器件
114‧‧‧輸入端
116‧‧‧解碼器引擎
118‧‧‧儲存裝置
120‧‧‧通信鏈路
122‧‧‧視訊目的地器件
200‧‧‧亮度範圍
202‧‧‧人類視覺
204‧‧‧同時動態範圍
206‧‧‧SDR顯示器
208‧‧‧HDR顯示器
300‧‧‧色度圖
302‧‧‧HDR色域
304‧‧‧SDR色域
306‧‧‧曲線
400‧‧‧程序
402‧‧‧線性RGB
404‧‧‧轉移函數
406‧‧‧色彩轉換
408‧‧‧量化
410‧‧‧編碼器
500‧‧‧程序
522‧‧‧解碼器
524‧‧‧反量化
526‧‧‧反向色彩轉換
528‧‧‧逆轉移函數
602‧‧‧曲線
604‧‧‧曲線
606‧‧‧曲線
1100‧‧‧程序
1102‧‧‧步驟
1104‧‧‧步驟
1106‧‧‧步驟
1108‧‧‧步驟
1110‧‧‧步驟
1200‧‧‧程序
1202‧‧‧步驟
1204‧‧‧步驟
1206‧‧‧步驟
1208‧‧‧步驟
1210‧‧‧步驟
1212‧‧‧步驟
1214‧‧‧步驟
1216‧‧‧步驟
D65‧‧‧點
R0‧‧‧範圍
R1‧‧‧範圍
R2‧‧‧範圍
R3‧‧‧範圍
R4‧‧‧範圍
下文參看以下圖式詳細描述各種實施方案之說明性實例:
圖1包括說明包括編碼器件及解碼器件之系統之方塊圖;
圖2說明與各種顯示器類型之動態範圍相比的典型人類視覺之動態範圍;
圖3說明色度圖之實例;
圖4包括說明用於出於編碼視訊資料之目的轉換高精確度線性RGB視訊資料之程序之實例的圖;
圖5包括說明用於復原自藉由解碼器產生之經解碼位元串流獲得的經轉換HDR視訊資料之程序之實例的圖;
圖6包括說明藉由轉移函數產生之明度曲線之實例的圖表;
圖7包括說明輸入值比PQ_TF之實例的曲線圖;
圖8包括說明LCS函數之實例的曲線圖;
圖9包括根據動態範圍調整之分段線性函數之繪製x之輸入值範圍之y值的曲線圖;
圖10包括根據動態範圍調整之分段線性函數之繪製x值上的範圍之y值的曲線圖;
圖11包括說明用於編碼視訊資料之程序之實例的流程圖;
圖12包括說明用於解碼視訊資料之程序之實例的流程圖;
圖13為說明實例編碼器件之方塊圖;及
圖14為說明實例解碼器件之方塊圖。

Claims (29)

  1. 一種編碼視訊資料之方法,其包含: 在一編碼器件處獲得視訊資料,其中,針對該視訊資料之一視訊訊框之一部分,該視訊資料包括針對該視訊訊框之該部分中之色彩的動態範圍調整描述一分段線性函數的參數,其中該等參數將該分段線性函數之一輸入值範圍劃分為複數個非重疊範圍,其中該複數個非重疊範圍包括具有一第一長度之一第一範圍及各自具有一第二長度之一範圍集合,且其中該第一長度不同於該第二長度; 針對該等參數產生一資料結構; 設置該資料結構中之一指示符以指示該複數個非重疊範圍包括各自具有該第二長度之該範圍集合; 設置該資料結構中之一第一值以指示該第二長度;以及 自該視訊資料產生經編碼視訊資料,其中該資料結構與該經編碼視訊資料一起包括。
  2. 如請求項1之方法,其中該第一值指示該第二長度作為該範圍集合中之每一者之一結束值與一開始值之間的一差。
  3. 如請求項1之方法,其中該第一值藉由指示一固定值與該第二長度之間的一差來指示該第二長度。
  4. 如請求項1之方法,其進一步包含: 設置該資料結構中之一第二值以指示該第一長度。
  5. 如請求項1之方法,其中該第一範圍包括來自該輸入值範圍之一起點之一第一輸入值集合,且其中該範圍集合包括來自該輸入值範圍之一第二輸入值集合,該第二輸入值集合在該第一輸入值集合之後。
  6. 如請求項1之方法,其中該等參數進一步包括與該複數個非重疊範圍中之每一者相關聯的比例因數,且進一步包含: 將該等比例因數加入至該資料結構。
  7. 如請求項1之方法,其進一步包含: 於一補充增強資訊(SEI)訊息、一圖塊標頭或一參數集中包括該資料結構。
  8. 一種編碼器件,其包含: 一記憶體,其經組態以儲存視訊資料,其中,針對該視訊資料之一視訊訊框之一部分,該視訊資料包括針對該視訊訊框之該部分中之色彩的動態範圍調整描述一分段線性函數的參數,其中該等參數將該分段線性函數之一輸入值範圍劃分為複數個非重疊範圍,其中該複數個非重疊範圍包括具有一第一長度之一第一範圍及各自具有一第二長度之一範圍集合,且其中該第一長度不同於該第二長度;及 一處理器,其經組態以: 針對該等參數產生一資料結構; 設置該資料結構中之一指示符以指示該複數個非重疊範圍包括各自具有該第二長度之該範圍集合; 設置該資料結構中之一第一值以指示該第二長度;以及 自該視訊資料產生經編碼視訊資料,其中該資料結構與該經編碼視訊資料一起包括。
  9. 如請求項8之編碼器件,其中該第一值指示該第二長度作為該範圍集合中之每一者之一結束值與一開始值之間的一差。
  10. 如請求項8之編碼器件,其中該第一值藉由指示一固定值與該第二長度之間的一差來指示該第二長度。
  11. 如請求項8之編碼器件,其中該處理器經進一步組態以: 設置該資料結構中之一第二值以指示該第一長度。
  12. 如請求項8之編碼器件,其中該第一範圍包括來自該輸入值範圍之一起點之一第一輸入值集合,且其中該範圍集合包括來自該輸入值範圍之一第二輸入值集合,該第二輸入值集合在該第一輸入值集合之後。
  13. 如請求項8之編碼器件,其中該等參數進一步包括與該複數個非重疊範圍中之每一者相關聯的比例因數,且其中該處理器經進一步組態以: 將該等比例因數加入至該資料結構。
  14. 如請求項8之編碼器件,其中該處理器經進一步組態以: 於一補充增強資訊(SEI)訊息、一圖塊標頭或一參數集中包括該資料結構。
  15. 如請求項8之編碼器件,其進一步包含: 一攝影機,其用於獲取視訊資料。
  16. 如請求項8之編碼器件,其中解碼器件包含一行動器件。
  17. 一種解碼視訊資料之方法,其包含: 獲得經編碼視訊資料; 針對該經編碼視訊資料之一視訊訊框之一部分確定一資料結構,該資料結構包括針對該視訊訊框之該部分中之色彩的動態範圍調整描述一分段線性函數的參數,其中該等參數將該分段線性函數之一輸入值範圍劃分為複數個非重疊範圍; 自該資料結構中之一指示符確定該複數個非重疊範圍包括具有一第一長度之一第一範圍及各自具有一第二長度之一範圍集合,其中該第一長度不同於該第二長度; 使用該資料結構中之一第一值來確定該第二長度; 使用該資料結構來確定該第一長度; 使用該第一長度、該第二長度及與該複數個非重疊範圍中之每一者相關聯的比例因數來重建構該分段線性函數,其中該等比例因數包括於該資料結構中; 解碼該視訊訊框之該部分;及 將該分段線性函數應用於該視訊訊框之該部分中之該等色彩以執行動態範圍調整。
  18. 如請求項17之方法,其中該第一值提供該第二長度,且其中該資料結構中之一第二值提供該第一長度。
  19. 如請求項17之方法,其中該第一值藉由指示一固定值與該第二長度之間的一差來指示該第二長度。
  20. 如請求項17之方法,其中該資料結構中之一第二值提供該第一長度,且進一步包含: 自與該第二值相關聯的一索引確定該第一範圍包括來自該輸入值範圍之一起點之一第一輸入值集合,且其中該範圍集合包括來自該輸入值範圍之一第二輸入值集合,該第二輸入值集合在該第一輸入值集合之後。
  21. 如請求項17之方法,其中該等參數包括於一補充增強資訊(SEI)訊息、一圖塊標頭或一參數集中。
  22. 一種解碼器件,其包含: 一記憶體,其經組態以儲存經編碼視訊資料;及 一處理器,其經組態以: 針對該經編碼視訊資料之一視訊訊框之一部分確定一資料結構,該資料結構包括針對該視訊訊框之該部分中之色彩的動態範圍調整描述一分段線性函數的參數,其中該等參數將該分段線性函數之一輸入值範圍劃分為複數個非重疊範圍; 自該資料結構中之一指示符確定該複數個非重疊範圍包括具有一第一長度之一第一範圍及各自具有一第二長度之一範圍集合,其中該第一長度不同於該第二長度; 使用該資料結構中之一第一值來確定該第二長度; 使用藉由該資料結構提供之資訊來確定該第一長度; 使用該第一長度、該第二長度及與該複數個非重疊範圍中之每一者相關聯的比例因數來重建構該分段線性函數,其中該等比例因數包括於該資料結構中; 解碼該視訊訊框之該部分;及 將該分段線性函數應用於該視訊訊框之該部分中之該等色彩以執行動態範圍調整。
  23. 如請求項22之解碼器件,其中該第一值提供該第二長度,且其中該資料結構中之一第二值提供該第一長度。
  24. 如請求項22之解碼器件,其中該第一值藉由指示一固定值與該第二長度之間的一差來指示該第二長度。
  25. 如請求項22之解碼器件,其中該資料結構中之一第二值提供該第一長度,且其中該處理器經進一步組態以: 自與該第二值相關聯的一索引確定該第一範圍包括來自該輸入值範圍之一起點之一第一輸入值集合,且其中該範圍集合包括來自該輸入值範圍之一第二輸入值集合,該第二輸入值集合在該第一輸入值集合之後。
  26. 如請求項22之解碼器件,其中該等參數包括於一補充增強資訊(SEI)訊息、一圖塊標頭或一參數集中。
  27. 如請求項22之解碼器件,其進一步包含: 一攝影機,其用於獲取視訊資料。
  28. 如請求項22之解碼器件,其進一步包含: 一顯示器,其用於顯示經解碼視訊資料。
  29. 如請求項22之解碼器件,其中該解碼器件包含一行動器件。
TW108101277A 2018-01-11 2019-01-11 用於視訊寫碼之相等範圍及其他dra參數之信號發送機制 TWI773868B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862616383P 2018-01-11 2018-01-11
US62/616,383 2018-01-11
US16/244,871 2019-01-10
US16/244,871 US10778979B2 (en) 2018-01-11 2019-01-10 Signaling mechanisms for equal ranges and other DRA parameters for video coding

Publications (2)

Publication Number Publication Date
TW201931856A true TW201931856A (zh) 2019-08-01
TWI773868B TWI773868B (zh) 2022-08-11

Family

ID=67139980

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108101277A TWI773868B (zh) 2018-01-11 2019-01-11 用於視訊寫碼之相等範圍及其他dra參數之信號發送機制

Country Status (17)

Country Link
US (1) US10778979B2 (zh)
EP (1) EP3738313A1 (zh)
JP (1) JP2021510964A (zh)
KR (1) KR102277879B1 (zh)
CN (1) CN111567049B (zh)
AU (1) AU2019208014B2 (zh)
BR (1) BR112020013979A2 (zh)
CA (1) CA3084154A1 (zh)
CL (1) CL2020001819A1 (zh)
IL (1) IL275030B2 (zh)
MX (1) MX2020007345A (zh)
NZ (1) NZ765116A (zh)
PH (1) PH12020550801A1 (zh)
RU (1) RU2751555C1 (zh)
SG (1) SG11202005177YA (zh)
TW (1) TWI773868B (zh)
WO (1) WO2019140244A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10244249B2 (en) 2015-09-21 2019-03-26 Qualcomm Incorporated Fixed point implementation of range adjustment of components in video coding
US10129558B2 (en) * 2015-09-21 2018-11-13 Qualcomm Incorporated Supplement enhancement information (SEI) messages for high dynamic range and wide color gamut video coding
EP3244616A1 (en) * 2016-05-13 2017-11-15 Thomson Licensing A method for encoding an input video comprising a luma component and two chroma components, the method comprising reshaping of said input video based on reshaping functions
US10728559B2 (en) * 2017-07-07 2020-07-28 Qualcomm Incorporated Precision of computation and signaling of dynamic range adjustment and color remapping information
CA3039701A1 (en) * 2018-04-06 2019-10-06 Comcast Cable Communications, Llc Systems, methods, and apparatuses for processing video
US11503310B2 (en) * 2018-10-31 2022-11-15 Ati Technologies Ulc Method and apparatus for an HDR hardware processor inline to hardware encoder and decoder
US11647188B2 (en) * 2019-01-04 2023-05-09 Interdigital Vc Holdings, Inc. Inverse mapping simplification
WO2021126061A1 (en) * 2019-12-17 2021-06-24 Telefonaktiebolaget Lm Ericsson (Publ) Low complexity image filter
WO2021197445A1 (en) * 2020-04-01 2021-10-07 Beijing Bytedance Network Technology Co., Ltd. Constraints on adaptation parameter set syntax elements
CN115606183A (zh) 2020-04-07 2023-01-13 抖音视界有限公司(Cn) 参考图片环绕的剪裁操作
CN115668917A (zh) 2020-04-09 2023-01-31 抖音视界有限公司 视频编解码中的去块信令通知
WO2021204251A1 (en) 2020-04-10 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Use of header syntax elements and adaptation parameter set
WO2021209061A1 (en) 2020-04-17 2021-10-21 Beijing Bytedance Network Technology Co., Ltd. Presence of adaptation parameter set units
KR20230002447A (ko) 2020-04-26 2023-01-05 바이트댄스 아이엔씨 비디오 코딩 신택스 요소의 조건적 시그널링
KR20230019845A (ko) * 2020-06-08 2023-02-09 바이트댄스 아이엔씨 코딩된 비디오 픽처에서 슬라이스 카운트의 제약들
WO2022119303A1 (ko) * 2020-12-01 2022-06-09 현대자동차주식회사 매핑 함수를 이용하는 포인트 클라우드 코딩 장치 및 방법
US11726949B2 (en) 2021-05-28 2023-08-15 Samsung Electronics Co., Ltd. System and method for selectively reprocessing video streams based on system resources and stream status
JP7364250B2 (ja) * 2021-07-07 2023-10-18 Necプラットフォームズ株式会社 映像処理装置、映像処理方法、映像処理システム、および映像処理プログラム
KR102397444B1 (ko) 2021-10-01 2022-05-16 주식회사 오디에스 투명 치아 교정 장치의 제조방법 및 그 방법에 의해 제조된 투명 치아 교정 장치

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5249784B2 (ja) * 2006-01-23 2013-07-31 マックス−プランク−ゲゼルシャフト・ツア・フェルデルング・デア・ヴィッセンシャフテン・エー・ファオ 高ダイナミックレンジコーデック
EP2200268B1 (en) * 2008-12-22 2012-02-08 Thomson Licensing Method of calibration of a target color reproduction device
CN103891294B (zh) * 2011-04-28 2017-09-01 皇家飞利浦有限公司 用于hdr图像编码和解码的装置与方法
US9111330B2 (en) * 2011-05-27 2015-08-18 Dolby Laboratories Licensing Corporation Scalable systems for controlling color management comprising varying levels of metadata
US9516351B2 (en) * 2012-07-13 2016-12-06 Koninklijke Philips N.V. HDR image encoding and decoding methods and devices
US9584811B2 (en) * 2013-06-17 2017-02-28 Dolby Laboratories Licensing Corporation Adaptive reshaping for layered coding of enhanced dynamic range signals
US10356423B2 (en) * 2014-04-22 2019-07-16 Sony Corporation Encoding device, encoding method, sending device, sending method, receiving device, receiving method, and program
US10104388B2 (en) * 2014-06-30 2018-10-16 Sony Corporation Video processing system with high dynamic range sensor mechanism and method of operation thereof
US20160286226A1 (en) * 2015-03-24 2016-09-29 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
US10244245B2 (en) * 2015-06-08 2019-03-26 Qualcomm Incorporated Content-adaptive application of fixed transfer function to high dynamic range (HDR) and/or wide color gamut (WCG) video data
US10129558B2 (en) * 2015-09-21 2018-11-13 Qualcomm Incorporated Supplement enhancement information (SEI) messages for high dynamic range and wide color gamut video coding
US10200701B2 (en) * 2015-10-14 2019-02-05 Qualcomm Incorporated HDR and WCG coding architecture with SDR backwards compatibility in a single bitstream for video coding

Also Published As

Publication number Publication date
AU2019208014A1 (en) 2020-06-25
CN111567049B (zh) 2022-04-29
CL2020001819A1 (es) 2021-02-19
US20190215517A1 (en) 2019-07-11
KR102277879B1 (ko) 2021-07-14
NZ765116A (en) 2022-02-25
SG11202005177YA (en) 2020-07-29
IL275030B (en) 2022-10-01
BR112020013979A2 (pt) 2020-12-08
AU2019208014B2 (en) 2022-02-17
WO2019140244A1 (en) 2019-07-18
US10778979B2 (en) 2020-09-15
TWI773868B (zh) 2022-08-11
CA3084154A1 (en) 2019-07-18
MX2020007345A (es) 2020-09-09
KR20200107965A (ko) 2020-09-16
RU2751555C1 (ru) 2021-07-14
CN111567049A (zh) 2020-08-21
IL275030B2 (en) 2023-02-01
PH12020550801A1 (en) 2021-05-17
JP2021510964A (ja) 2021-04-30
IL275030A (en) 2020-07-30
EP3738313A1 (en) 2020-11-18

Similar Documents

Publication Publication Date Title
TWI773868B (zh) 用於視訊寫碼之相等範圍及其他dra參數之信號發送機制
TWI775925B (zh) 在視訊寫碼中跨分量動態範圍調整之系統及方法
TWI755363B (zh) 用於高動態範圍及廣色域視訊寫碼之補充增強資訊(sei)訊息
CN109155848B (zh) 用于高动态范围及宽色域视频译码的环路内样本处理
CN108028936B9 (zh) 分量用于使用固定点计算实施动态范围调整的方法和设备
TW201824866A (zh) 用於以動態元資料發信號及拘束高動態範圍視訊系統之系統及方法
CN111869210B (zh) 推导用于视频译码的动态范围调整(dra)参数
TW201711470A (zh) 用於高動態範圍及廣色域視訊寫碼之自適應常數照度方法
KR20180017009A (ko) 비디오 코딩을 위한 하이 다이내믹 레인지 및 와이드 컬러 가무트 비디오 데이터의 프로세싱
TW201931853A (zh) 具有聯合像素/變換為基礎之量化之視頻寫碼之量化參數控制
US20200029096A1 (en) Combined inverse dynamic range adjustment (dra) and loop filter technique
TWI765903B (zh) 用於循環樣本處理之視訊寫碼工具
WO2021212014A9 (en) Flexible chroma processing for dynamic range adjustment
WO2019010420A1 (en) PRECISION FOR CALCULATION AND SIGNALING OF DYNAMIC RANGE ADJUSTMENT AND COLOR REMOVAL INFORMATION
US20210329304A1 (en) Dynamic range adjustment parameter signaling and enablement of variable bit depth support
KR20220146469A (ko) 결합된 픽셀/변환 기반 양자화에 의한 비디오 코딩을 위한 양자화 파라미터 제어 방법