TW201515446A - 高效率視訊寫碼擴展中之目標輸出層之選擇 - Google Patents

高效率視訊寫碼擴展中之目標輸出層之選擇 Download PDF

Info

Publication number
TW201515446A
TW201515446A TW103124045A TW103124045A TW201515446A TW 201515446 A TW201515446 A TW 201515446A TW 103124045 A TW103124045 A TW 103124045A TW 103124045 A TW103124045 A TW 103124045A TW 201515446 A TW201515446 A TW 201515446A
Authority
TW
Taiwan
Prior art keywords
output
layer
layers
target
video
Prior art date
Application number
TW103124045A
Other languages
English (en)
Other versions
TWI633780B (zh
Inventor
Ying Chen
Adarsh Krishnan Ramasubramonian
Ye-Kui Wang
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW201515446A publication Critical patent/TW201515446A/zh
Application granted granted Critical
Publication of TWI633780B publication Critical patent/TWI633780B/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/46Embedding additional information in the video signal during the compression process
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本發明提供一種用於處理視訊資料之方法、裝置及製造。接收一視訊位元串流中之輸出層集合之一清單,及接收至輸出層集合之該清單中之至少一目標輸出層集合的一索引。接下來,基於該索引判定該至少一目標輸出層集合中之目標輸出層。解碼來自該視訊位元串流之至少該等目標輸出層。隨後,輸出該等經解碼目標輸出層,而不輸出目標非用於輸出之層。

Description

高效率視訊寫碼擴展中之目標輸出層之選擇
本發明大體上係關於處理視訊資料,且更特定而言係關於處理視訊資料中之操作點。
本申請案主張2013年7月12日申請之美國臨時申請案第61/845,837號之權利,該申請案之全部內容以引用的方式併入本文中。
數位視訊能力可併入至廣泛範圍之器件中,包括數位電視、數位直播廣播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、平板電腦、電子書閱讀器、數位攝影機、數位記錄器件、數位媒體播放器、視訊遊戲器件、視訊遊戲控制台、蜂巢式或衛星無線電電話(所謂的「智慧型電話」)、視訊電話會議器件、視訊串流器件及類似者。數位視訊器件實施視訊寫碼技術,諸如描述於由以下各項界定之標準中的彼等技術:MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4(第10部分)、進階視訊寫碼(AVC)、高效率視訊寫碼(HEVC)及此類標準之擴展。視訊器件可藉由實施此類視訊寫碼技術來更有效地傳輸、接收、編碼、解碼及/或儲存數位視訊資訊。
視訊寫碼技術包括空間(圖像內)預測及/或時間(圖像間)預測來減少或移除視訊序列中固有的冗餘。對於基於區塊之視訊寫碼,可將視 訊圖塊(例如,視訊圖框或視訊圖框之一部分)分割成視頻區塊(其亦可被稱作樹型區塊)、寫碼單元(CU)及/或寫碼節點。可使用相對於同一圖像中之鄰近區塊中之參考樣本的空間預測來編碼圖像之經框內寫碼(I)之圖塊中的視訊區塊。圖像之經框間寫碼(P或B)圖塊中之視訊區塊可使用相對於同一圖像中的鄰近區塊中的參考樣本的空間預測或相對於其他參考圖像中之參考樣本的時間預測。圖像可被稱作圖框,且參考圖像可被稱作參考圖框。
空間或時間預測產生用於待寫碼區塊之預測性區塊。殘餘資料表示待寫碼原始區塊與預測性區塊之間的像素差。根據指向形成預測性區塊之參考樣本之區塊的運動向量及指示經寫碼區塊與預測性區塊之間的差異之殘餘資料來編碼框間寫碼區塊。框內寫碼區塊係根據框內寫碼模式及殘餘資料來編碼。為進行進一步壓縮,可將殘餘資料自像素域變換至變換域,從而產生殘餘變換係數,可接著量化該等殘餘變換係數。可掃描最初配置成二維陣列之經量化之變換係數以便產生變換係數之一維向量,且可應用熵寫碼以達成甚至更多壓縮。
一般而言,本發明描述用於選擇由目標輸出層集指定之輸出操作點以及用於多層HEVC擴展之時間ID的技術。該等技術可提供發信與操作點相關聯之資訊之改良效率,且解決關於識別在解碼期間待輸出之層的問題。
在一個實例中,解碼視訊資料之方法包括:接收至輸出層集合之清單中之至少一目標輸出層集合之索引;基於該索引判定至少一目標輸出層集合中之目標輸出層;解碼至少目標輸出層;及輸出經解碼目標輸出層而不輸出目標非用於輸出之層。
在另一實例中,一種用於解碼視訊資料之器件包括:一記憶體,其經組態以儲存資料;及一或多個處理器,其與記憶體通信且經 組態以:接收至輸出集合之清單中之至少一目標輸出層集合之索引;基於該索引判定至少一目標輸出層集合中之目標輸出層;解碼至少目標輸出層;及輸出經解碼目標輸出層而不輸出目標非用於輸出之層。
在另一實例中,一種其上儲存有指令之非暫時性電腦可讀儲存媒體,該等指令在執行時使至少一處理器進行以下操作:接收至輸出集合之清單中之至少一目標輸出層集合之索引;基於該索引判定至少一目標輸出層集合中之目標輸出層;解碼至少目標輸出層;及輸出經解碼目標輸出層而不輸出目標非用於輸出之層。
在另一實例中,一種用於解碼視訊資料之器件,該器件包括:用於接收至輸出層集合之清單中之至少一目標輸出層集合的一索引之構件;用於基於該索引判定該至少一目標輸出層集合中之目標輸出層之構件;用於解碼至少該等目標輸出層之構件;及用於輸出該等經解碼目標輸出層而不輸出目標非用於輸出之層之構件。
在另一實例中,一種用於處理視訊資料之方法包括:判定目標用於輸出之層集合;判定至輸出層集合之清單中之目標輸出層集合之索引,使得該目標輸出層集合表示目標用於輸出之所判定層集合;及發送該索引至視訊解碼器。
在另一實例中,一種用於解碼視訊資料之器件包括:記憶體,其經組態以儲存資料;及一或多個處理器,其與記憶體通信且經組態以接收至輸出之清單中之至少一目標輸出層集合之索引;判定目標用於輸出之層集合;判定輸出層集合之清單中之目標輸出層集合之索引,使得該目標輸出層集合表示目標用於輸出之所判定層集合;及發送該索引至視訊解碼器。
在另一實例中,一種其上儲存有指令之非暫時性電腦可讀儲存媒體,該等指令在執行時使至少一處理器進行以下操作:判定目標用於輸出之層集合;判定至輸出層集合之清單中之目標輸出層集合之索 引,使得目標輸出層集合表示目標用於輸出之所判定層集合;及發送該索引至視訊解碼器。
在以下附圖及描述中闡述一或多個實例之細節。其他特徵、目標及優點將自該描述及附圖以及申請專利範圍而顯而易見。
10‧‧‧視訊編碼及解碼系統
12‧‧‧源器件
14‧‧‧目的地器件
16‧‧‧鏈路
18‧‧‧視訊源
20‧‧‧視訊編碼器
22‧‧‧輸出介面
28‧‧‧輸入介面
29‧‧‧網路實體
30‧‧‧視訊解碼器
32‧‧‧顯示器件
34‧‧‧儲存器件
40‧‧‧模式選擇單元
42‧‧‧運動估計單元
44‧‧‧運動補償單元
46‧‧‧框內預測處理單元
48‧‧‧分割單元
50‧‧‧求和器
52‧‧‧變換處理單元
54‧‧‧量化單元
56‧‧‧熵寫碼單元
58‧‧‧反量化單元
60‧‧‧反變換處理單元
62‧‧‧求和器
64‧‧‧參考圖框記憶體
70‧‧‧熵解碼單元
72‧‧‧運動補償單元
74‧‧‧框內預測處理單元
76‧‧‧反量化單元
78‧‧‧反變換處理單元
80‧‧‧求和器
82‧‧‧參考圖框記憶體
100‧‧‧網路
102‧‧‧伺服器器件
104A‧‧‧路由器件
104B‧‧‧路由器件
106‧‧‧網路/轉碼器件
108‧‧‧用戶端器件
112A‧‧‧網路介面
112N‧‧‧網路介面
120‧‧‧控制單元
122‧‧‧中間軟體單元
124‧‧‧媒體應用程式
130‧‧‧使用者介面
890‧‧‧用於處理視訊資料之實例過程
995‧‧‧解碼視訊資料之實例過程
圖1為說明可利用本發明中所描述之技術的實例視訊編碼及解碼系統之方塊圖。
圖2為說明可實施本發明中所描述之技術的實例視訊編碼器之方塊圖。
圖3為根據本發明之技術之說明實例多視圖解碼次序的概念圖。
圖4為根據本發明之技術之用於多視圖視訊寫碼的MVC預測結構之一個實例的圖。
圖5為說明可實施本發明中所描述之技術之實例視訊解碼器的方塊圖。
圖6為說明形成網路之一部分之一組實例器件的方塊圖。
圖7為說明進一步包括一媒體應用程式之實例目的地裝置的方塊圖。
圖8為說明用於處理視訊資料之實例過程之流程圖。
圖9為說明解碼視訊資料之實例過程之流程圖。
一般而言,本發明描述與選擇由目標輸出層集合指定之輸出操作點以及用於多層HEVC擴展之時間ID相關的技術。
位元串流可具有多個經寫碼視圖。位元串流亦可已支援時間可擴充性,亦即不同圖框速率。術語「操作點」指待解碼之特定視圖集合以及待採用之時間子集(例如,圖框速率)。在一些狀況下,不同的層或視圖可為同一圖像之具有不同影像解析度之多個版本,諸如一層 處於720p及另一層處於1080p。作為一實例,原始位元串流可包括處於不同空間解析度之三個層或視圖及處於不同圖框速率之兩個時間可調式層。在此實例中,原始位元串流包括六個操作點,其中三個空間解析度中之每一者在任一圖框速率處可用。
除了表示不同視圖或影像解析度以外,不同層亦可表示不同品質表示。舉例而言,基層可為低品質之720p解析度視訊,其中增強層亦為處於720p解析度之相同視訊但處於較高品質且取決於用於參考之基層。
術語「輸出操作點」指待輸出之特定視圖集合、待解碼之視圖集合以及待採用之時間子集。「層識別符清單」可用以識別待包括在操作點中之層,其中每一層對應於一單獨空間可調式層、視圖或類似者。層識別符清單可包括在一視訊參數集(VPS)中。層識別符清單可包括nuh_layer_id值之一清單,其中nuh_layer_id值可為非負整數,其中每一層具有一獨特nuh_layer_id值,使得每一nuh_layer_id值識別一特定對應層。最高temporalID可用以界定時間子集。層識別符清單及目標最高temporalID可用作輸入以自位元串流提取操作點。
更確切地說,「操作點」為可自在時間上可調式之原始位元串流提取及/或具有多個層及/或視圖之子位元串流。亦即,操作點為藉由操作將另一位元串流、目標最高temporalID及目標層識別符清單作為輸入之子位元串流提取過程而自另一位元串流產生的位元串流。位元串流包括一或多個視圖,包括操作點之多個視圖。目標最高temporalID界定時間子集。目標層清單包括層集合:待解碼用於操作點之層集合、及待輸出用於輸出操作點之層集合。輸出操作點尤其與輸出層集合相關聯,亦即在輸出層集合中識別之層,其為待輸出之層。
術語「層集合」用於指待解碼之層集合。「層集合」類似於「操 作點」,不同之處在於「層集合」包括關於待解碼之層的資訊且並不包括關於時間可擴充性的資訊。可以與自位元串流導出操作點相同的方式而自位元串流導出層集合,但最高temporalID並非可適用的。
術語「輸出層集合」指待輸出之層集合、識別該集合中之層的層識別符清單及對應層集合之識別(其中對應層集合識別待解碼之層)。輸出層集合類似於層集合,不同之處在於輸出層集合識別目標用於輸出之層(除了指示對應層集合以外)。在一些實例中,輸出層集合藉由包括對應層集合之索引而識別對應層集合,其中對應層集合識別待解碼之層。在其他實例中,輸出層集合以某一其他方式來識別對應層集合。
層集合中目標並非用於輸出之層仍可經解碼,例如,當用於層間(或視圖間)預測時。目標用於輸出之層為待解碼之層的子集,待解碼之層中之一者、一些或全部可目標用於輸出。應理解術語「子集」不必意謂待輸出之層為待解碼之層的嚴格子集。亦即,在一些實例中,待解碼之層及待輸出之層為相同的。「輸出層集合」類似於「輸出操作點」,不同之處在於「輸出層集合」包括關於待輸出之層的資訊,且不包括關於時間可擴充性之資訊。
可基於層識別符(識別用於輸出操作點之層)及時間子層識別符(識別用於輸出操作點之時間子集)的值(其識別位元串流之輸出操作點)而自位元串流提取子位元串流。在位元串流內之視訊參數集(VPS)中發信輸出操作點。對於該等操作點中之每一者,操作點語法結構指定用以識別屬於給定操作點之子位元串流的位元串流中之網路抽象層(NAL)單元的層集合識別符。以此方式,可基於NAL單元之層識別符及與輸出操作點相關聯之最高時間ID而自原始位元串流提取構成給定輸出操作點之子位元串流的NAL單元。NAL單元為經寫碼視訊資料之組件;經寫碼視訊資料經組織為NAL單元。
本發明中所描述之技術包括導出在輸出層集合之清單中之特定目標輸出層集合的索引,及將該索引發送至視訊解碼器。該索引可用以界定在解碼過程期間使用之目標輸出層集合,尤其解碼過程之解碼圖像緩衝暫存操作。又,在一些實例中,該索引用於選擇用於DPB操作之適當解碼圖像緩衝器(DPB)大小(或子DPB大小)來作為假想參考解碼器(HRD)操作及其他操作之部分,如下文較詳細論述。
在一些實例中,由於在位元串流自身中包括索引而不將該索引發送至解碼器,但經由一些「外部構件」,亦即經由位元串流之外部將視訊自身發送至視訊解碼器。如下文較詳細論述,在各種實例中,索引可由伺服器/源器件或由用戶端/目的地器件上之一或多個組件導出,且可在不同實例中以不同方式發送至視訊解碼器,在一些實例中包括MPEG TS或DASH MPD(媒體呈現描述),如下文較詳細論述。在一些實例中,可經由「外部構件」來將索引發送至視訊解碼器而非發送在位元串流中之索引,使得位元串流可在多個操作點而非位元串流中給定之一個操作點處操作。在一些實例中,若視訊解碼器不接收索引,則存在諸如藉由僅解碼及輸出層零而進行之預設假設。
在一些實例中,為方便會話協商,本發明中所描述之技術進一步包括複製在輸送層規格中之VPS中發信的輸出操作點之資訊。在一個實例中,輸送層規格可為資訊清單檔案,諸如HTTP上之動態自適應串流(DASH)中的MPD(媒體呈現描述),例如包括在檔案格式資訊中之視訊解碼器組態及/或在MPEG-2 TS中之描述符。作為另一實例,資訊清單檔案可包含會話描述協定(SDP)訊息。對於每一輸出操作點,可發信目標輸出視圖、額外依賴視圖及最低適用最高temporalID。
基於界定在HEVC可調式/多視圖/3D擴展中可能的索引之外部構件,可在輸送層中使用不同處理程序;兩個此類實例不同處理程序包 括:一個用於串流及一個用於協商之SDP提供/回答方式。
在串流應用程式中,例如,DASH及即時串流協定(RTSP)串流,可應用如下內容。用戶端器件接收媒體呈現之描述,其中該描述包括關於輸出層集合及可能基於時間子集之輸出操作點的資訊。用戶端器件可剖析該描述及選擇該等輸出操作點中之一者,且向伺服器器件請求該輸出操作點。伺服器器件可將所請求輸出操作點資訊轉換為最高temporalID及特定目標輸出層集合之索引,且將此資訊傳遞至視訊解碼器作為自外部構件之輸入。伺服器器件可發送對應於輸出操作點之所請求資料。
在使用會話描述協定(SDP)提供/回答類型之協商之應用中,可應用以下內容。發送器器件可發送一邀請至多個接收器(包括接收器A及接收器B),其中該邀請含有發送器可提供之輸出操作點是什麼(例如,就輸出視圖而言)的描述。接收器可選擇各別輸出操作點。舉例而言,接收器A可選擇視圖集合以輸出,及接收器B亦可選擇視圖集合以輸出。發送器器件可編碼包括該等接收器所選擇之所有視圖的位元串流,包括輸出層集合以及可能基於時間子集之輸出操作點的描述,且發送該描述至接收器。在媒體呈現之描述中發信所需輸出操作點。每一接收器判定輸出層集合之索引,其要求且傳遞最高temporalID及輸出層集合清單中之輸出層集合的索引至接收器之解碼器。在此實例中,將索引用作視訊解碼器中之外部構件。
視訊寫碼標準包括ITU-T H.261、ISO/IEC MPEG-1視覺、ITU-T H.262或ISO/IEC MPEG-2視覺、ITU-T H.263、ISO/IEC MPEG-4視覺及ITU-T H.264(亦稱為ISO/IEC MPEG-4 AVC)。視訊寫碼標準進一步包括ITU-T H.264之可調式視訊寫碼(SVC)及多視圖視訊寫碼(MVC)擴展。
另外,存在新的視訊寫碼標準,亦即ITU-T視訊寫碼專家群組 (VCEG)及ISO/IEC運動圖像專家群組(MPEG)之視訊寫碼聯合合作小組(JCT-VC)已定案的高效率視訊寫碼(HEVC)。最新HEVC草案規格為工作草案10(在本文中被稱作「HEVC WD10」),以引用的方式全部併入本文中,Bross等人之高效率視訊寫碼(HEVC)本文規格草案10(2013年4月,Incheon)自2013年7月12日起自http://phenix.it-sudparis.eu/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M0432-v3.zip可用。儘管本發明中所描述之技術關於HEVC標準來描述,但本發明之態樣並未如此限制且可擴展至其他視訊寫碼標準以及專有視訊寫碼技術。
存在針對HEVC可用且經開發之擴展。舉例而言,HEVC之多視圖擴展(亦即MV-HEVC)亦由JCT-3V開發。MV-HEVC之最近工作草案(WD)為WD4(在本文中被稱作「MV-HEVC WD4」),以引用的方式全部併入本文中,Tech等人之MV-HEVC草案本文4(2013年4月,Incheon)自2013年7月12日起自http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/4_Incheon/wg11/JCT3V-D1004-v4.zip可用。HEVC之可調式擴展(亦即SHVC)亦由JCT-VC開發。SHVC之最近工作草案為SHVC工作草案2(在本文中被稱作「SHVC WD2」),以引用的方式全部併入本文中,Chen等人之SHVC工作草案2(2013年4月,Incheon)自2013年7月12日起自http://phenix.it-sudparis.eu/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M1008-v3.zip可用。
圖1為說明可利用本發明中所描述之技術的實例視訊編碼及解碼系統10之方塊圖。如圖1中所展示,系統10包括源器件12,其產生稍後時間將由目的地器件14解碼之經編碼視訊資料。源器件12及目的地器件14可包含廣泛範圍之器件中之任一者,包括桌上型電腦、筆記型(例如,膝上型)電腦、平板電腦、機上盒、電話手機(諸如,所謂的 「智慧型」電話)、所謂的「智慧型」平板電腦、電視機、攝影機、顯示器件、數位媒體播放器、視訊遊戲控制台、視訊串流器件或類似者。在一些狀況下,源器件12及目的地器件14可能經裝備以用於無線通信。
在圖1之實例中,源器件12包括視訊源18、視訊編碼器20及輸出介面22。目的地器件14包括輸入介面28、視訊解碼器30及顯示器件32。在其他實例中,源器件12及目的地器件14可包括其他組件或配置。舉例而言,源器件12可自外部視訊源18(諸如外部相機)接收視訊資料。同樣地,目的地器件14可與外部顯示器件介接,而非包括整合式顯示器件。
圖1之所說明系統10僅為一個實例。本發明之技術可由任何數位視訊編碼及/或解碼器件執行。儘管該等技術大體上由視訊編碼器件或視訊解碼器件執行,但該等技術亦可由視訊編碼器/解碼器(通常被稱為「編碼解碼器(CODEC)」)執行。此外,本發明之技術亦可由視訊預處理器執行。源器件12及目的地器件14僅為源器件12在其中產生經寫碼視訊資料以供傳輸至目的地器件14之此類寫碼器件的實例。在一些實例中,器件12、14可以實質上對稱的方式操作,使得器件12、14中之每一者包括視訊編碼及解碼組件。因此,系統10可支援視訊器件12、14之間的單向或雙向視訊傳播以例如用於視訊串流、視訊播放、視訊廣播或視訊電話。
源器件12之視訊源18可包括視訊俘獲器件,諸如視訊攝影機、含有先前俘獲之視訊的視訊存檔及/或用以自視訊內容提供者接收視訊的視訊饋送介面。作為另一替代,視訊源18可產生基於電腦圖形之資料,作為源視訊、或實況視訊、存檔視訊及電腦產生之視訊的組合。在一些狀況下,若視訊源18為視訊攝影機,則源器件12及目的地器件14可形成所謂的相機電話或視訊電話。然而,如上文所提及,本 發明所描述之技術一般可適用於視訊寫碼,且可適用於無線及/或有線應用。
在每一狀況下,可由視訊編碼器20編碼所俘獲、經預先俘獲或電腦產生之視訊。經編碼視訊資料可經由源器件12之輸出介面22直接傳輸至目的地器件14。經編碼視訊資料亦可(或者)儲存至儲存器件上以供稍後由目的地器件14或其他器件存取以用於解碼及/或播放。
鏈路16可包括暫態媒體(諸如無線廣播或有線網路傳輸)或儲存媒體(亦即,非暫時性儲存媒體)(諸如硬碟、隨身碟、緊密光碟、數位視訊光碟、藍光碟片或其他電腦可讀媒體)。在一些實例中,網路伺服器可自源器件12接收經編碼視訊資料,且例如經由網路傳輸將該經編碼視訊資料提供至目的地器件14。類似地,媒體生產設施(諸如光碟衝壓設施)之計算器件可自源器件12接收經編碼視訊資料且生產含有經編碼視訊資料之光碟。因此,在各種實例中,可將鏈路16理解為包括各種形式之一或多個電腦可讀媒體。鏈路16可包含能夠將經編碼視訊資料自源器件12移動至目的地器件14之任何類型之媒體或器件。在一個實例中,鏈路16可包含使得源器件12能夠即時地將經編碼視訊資料直接傳輸至目的地器件14的通信媒體。可根據通信標準(諸如,無線通信協定)調變經編碼之視訊資料,且將經編碼之視訊資料傳輸至目的地器件14。通信媒體可包含任何無線或有線通信媒體,諸如,射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如區域網路、廣域網路或全球網路,諸如網際網路)的一部分。通信媒體可包括路由器、交換器、基地台或任何其他可以用於促進自源器件12至目的地器件14的通信之設備。
目的地器件14之輸入介面28自鏈路16接收資訊,鏈路16可為電腦可讀媒體。來自鏈路16之資訊可包括由視訊編碼器20界定之語法資訊,其亦由視訊解碼器30使用,包括描述區塊及其他經寫碼單元(例 如GOP)之特性及/或處理的語法元素。顯示器件32可與目的地器件14整合或在目的地器件14外部。顯示器件32將經解碼視訊資料顯示給使用者,且可包含多種顯示器件中的任一者,諸如陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示器件。
替代地,可自輸出介面22將經編碼資料輸出至儲存器件34。類似地,可藉由輸入介面自儲存器件儲存器件存取經編碼資料。儲存器件34可包括各種分散式或本機存取之資料儲存媒體中之任一者,諸如,硬碟、藍光碟片、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體,或用於儲存經編碼視訊資料之任何其他合適數位儲存媒體。在另一實例中,儲存器件34可對應於可保持由源器件12產生的經編碼視訊之一檔案伺服器或另一中間儲存器件。目的地器件14可經由串流或下載而自儲存器件34存取所儲存之視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料且將彼經編碼視訊資料傳輸至目的地器件14之任何類型之伺服器。實例檔案伺服器包括web伺服器(例如,用於網站)、FTP伺服器、網路附加儲存(NAS)器件或本端磁碟機。目的地器件14可經由任何標準資料連接(包括網際網路連接)而存取經編碼之視訊資料。此資料連接可包括適合於存取儲存於檔案伺服器上之經編碼之視訊資料的無線頻道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機,等等),或兩者之結合。經編碼視訊資料自儲存器件34之傳輸可為串流傳輸、下載傳輸或兩者之組合。
本發明之技術不必限於無線應用或設定。該等技術可適用於支援多種多媒體應用(諸如,(例如)經由網際網路之空中電視廣播、有線電視傳輸、衛星電視傳輸、串流視訊傳輸)中之任一者之視訊寫碼、供儲存於資料儲存媒體上之數位視訊之編碼、儲存於資料儲存媒體上之數位視訊之解碼,或其他應用。在一些實例中,系統10可經組態以 支援單向或雙向視訊傳輸以支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。
視訊編碼器20及視訊解碼器30可根據諸如HEVC WD10標準之視訊寫碼標準來操作,且可符合HEVC測試模型(HM)。此外,視訊編碼器20及視訊解碼器30可根據HEVC擴展(諸如MV-HEVC WD4及SHVC WD2)來操作。替代地,視訊編碼器20及視訊解碼器30可根據其他專有或工業標準(諸如,ITU-T H.264標準,或者被稱作MPEG-4,第10部分,進階視訊寫碼(AVC))或此類標準之擴展而操作。然而,本發明之技術不限於任何特定寫碼標準。視訊寫碼標準之其他實例包括MPEG-2及ITU-T H.263。在一些態樣中,視訊編碼器20及視訊解碼器30可各自與音訊編碼器及解碼器整合,且可包括適當MUX-DEMUX單元或其他硬體及軟體以處置共同資料串流或單獨資料串流中之音訊及視訊兩者的編碼。若適用,則MUX-DEMUX單元可遵照ITU H.223多工器協定或諸如使用者資料報協定(UDP)之其他協定。
ITU-T H.264/MPEG-4(AVC)標準由ITU-T視訊寫碼專家群組(VCEG)連同ISO/IEC動畫專家群組(MPEG)一起制定為被稱為聯合視訊小組(JVT)之集體合作之產品。在一些態樣中,本發明中所描述之技術可適用於大體符合H.264標準之器件。H.264標準由ITU-T研究小組且在日期為2005年3月描述於ITU-T推薦H.264(用於一般視聽服務之進階視訊寫碼)中,其在本文中可被稱作H.264標準或H.264規格或H.264/AVC標準或規格。聯合視訊小組(JVT)持續致力於擴展H.264/MPEG-4AVC。
視頻編碼器20及視頻解碼器30各自可實施為多種合適編碼器及解碼器電路中之任一者,諸如,一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯電路、軟體、硬體、韌體或其任何組合。當該等技術部分地在軟 體中實施時,一器件可將用於軟體之指令儲存於合適的非暫時性電腦可讀媒體中,且在硬體中使用一或多個處理器來執行該等指令以執行本發明之技術。視訊編碼器20及視訊解碼器30中之每一者可包括在一或多個編碼器或解碼器中,編碼器或解碼器中的任一者可整合為各別器件中之組合式編碼器/解碼器(CODEC)的部分。包括視訊編碼器20及/或視訊解碼器30之器件可包含積體電路、微處理器及/或無線通信器件(諸如蜂巢式電話)。
JCT-VC開發HEVC標準且致力於對HEVC之擴展。HEVC標準化努力係基於視訊寫碼器件之演進型模型(稱作HEVC測試模型(HM))。HM根據(例如)ITU-T H.264/AVC假定視訊寫碼器件相對於現有器件之若干額外能力。舉例而言,H.264提供九個框內預測編碼模式,而HM可提供多達三十三個框內預測編碼模式。
一般而言,HM之工作模型描述視訊圖框或圖像可劃分成包括明度樣本及色度樣本兩者之樹型區塊或最大寫碼單元(LCU)之序列。位元串流內之語法資料可界定LCU之大小,LCU就像素之數目而言為最大寫碼單元。圖塊包括按寫碼次序之數個連續樹型區塊。可將視訊圖框或圖像分割成一或多個圖塊。每一樹型區塊可根據四分樹而分裂成若干寫碼單元(CU)。一般而言,四分樹資料結構每CU包括一個節點,其中根節點對應於樹型區塊。若CU分裂成四個子CU,則對應於該CU之節點包括四個葉節點,該四個葉節點中之每一者對應於該等子CU中之一者。
該四分樹資料結構中之每一節點可提供針對對應CU之語法資料。舉例而言,該四分樹中之節點可包括分裂旗標,從而指示對應於該節點之CU是否分裂成子CU。針對CU之語法元素可經遞回地界定,且可取決於該CU是否分裂成子CU。若CU未進一步分裂,則其被稱作葉CU。在本發明中,即使不存在原始葉CU之明顯分裂,葉CU之四個 子CU亦將被稱作葉CU。舉例而言,若16×16大小之CU未進一步分裂,則四個8×8子CU亦將被稱作葉CU,儘管該16×16 CU從未分裂。
除CU不具有大小區別外,CU具有與H.264標準之巨集區塊類似的用途。舉例而言,可樹型區塊可分裂成四個子節點(亦稱作子CU),且每一子節點又可為上代節點且可被分裂成另外四個子節點。被稱作四分樹之葉節點之最終的未分裂子節點包含一寫碼節點,該寫碼節點亦被稱作葉CU。與一經寫碼位元串流相關聯之語法資料可界定可分裂一樹型區塊之最大次數(其被稱作最大CU深度),且亦可界定該等寫碼節點之最小大小。因此,位元串流亦可界定最小寫碼單元(SCU)。本發明使用術語「區塊」來指HEVC之上下文中的CU、PU或TU中之任一者或其他標準之上下文中的類似資料結構(例如,H.264/AVC中之巨集區塊及其子區塊)。
CU包括寫碼節點以及與該寫碼節點相關聯之預測單元(PU)及變換單元(TU)。CU之大小對應於寫碼節點之大小,且形狀必須為正方形。CU之大小可在自8×8像素高達具有最大64×64像素或大於64×64像素的樹型區塊之大小的範圍內。每一CU可含有一或多個PU及一或多個TU。與CU相關聯之語法資料可描述(例如)CU至一或多個PU之分割。分割模式可在CU經跳過或直接模式編碼、經框內預測模式編碼抑或經框間預測模式編碼之間而不同。PU之形狀可分割成非正方形。與CU相關聯之語法資料亦可描述(例如)CU根據四分樹至一或多個TU之分割。TU之形狀可為正方形或非正方形(例如,矩形)。
HEVC標準允許根據TU進行變換,該等變換對於不同CU而言可為不同的。通常基於在針對已分割LCU所界定之給定CU內的PU之大小來對TU設定大小,儘管可能並非總是此狀況。TU通常與PU大小相同或小於PU。在一些實例中,可使用被稱為「殘餘四分樹」(RQT)之四分樹結構而將對應於CU之殘餘樣本再分為較小單元。可將RQT之 葉節點稱作變換單元(TU)。與TU相關聯之像素差值可經變換以產生可加以量化之變換係數。
葉CU可包括一或多個預測單元(PU)。一般而言,PU表示對應於對應CU之所有或一部分的空間區域,且可包括用於擷取PU之參考樣本的資料。此外,PU包括與預測有關之資料。舉例而言,當PU經框內模式編碼時,PU之資料可包括於殘餘四分樹(RQT)中,該RQT可包括描述用於對應於該PU之TU的框內預測模式的資料。作為另一實例,當PU經框間模式編碼時,PU可包括界定PU之一或多個運動向量的資料。界定PU之運動向量之資料可描述(例如)運動向量之水平分量、運動向量之垂直分量、運動向量之解析度(例如,四分之一像素精度或八分之一像素精度)、運動向量所指向的參考圖像,及/或運動向量之參考圖像清單(例如,清單0、清單1或清單C)。
具有一或多個PU之葉CU亦可包括一或多個變換單元(TU)。如上文所論述,可使用RQT(亦稱作TU四分樹結構)來指定該等變換單元。舉例而言,分裂旗標可指示葉CU是否分裂成四個變換單元。接著,可將每一變換單元進一步分裂為進一步之子TU。當TU未進一步分裂時,可將其稱作葉TU。大體而言,對於框內寫碼而言,屬於葉CU之所有葉TU共用相同之框內預測模式。亦即,一般應用相同框內預測模式來計算葉CU之所有TU之預測值。對於框內寫碼,視訊編碼器可使用框內預測模式將每一葉TU之殘餘值計算為在CU之對應於該TU的部分與原始區塊之間的差。TU不必限於PU的大小。因此,TU可大於或小於PU。對於框內寫碼,PU可與用於同一CU之對應葉TU共置。在一些實例中,葉TU之最大大小可對應於對應葉CU之大小。
此外,葉CU之TU亦可與各別四分樹資料結構(稱作殘餘四分樹(RQT))相關聯。亦即,葉CU可包括一指示該葉CU如何被分割成TU之四分樹。TU四分樹之根節點大體對應於葉CU,而CU四分樹之根節點 大體對應於樹型區塊(或LCU)。將RQT之未被分裂的TU稱作葉TU。一般而言,除非另有指示,否則本發明分別使用術語CU及TU來指葉CU及葉TU。
視訊序列通常包括一系列視訊圖框或圖像。圖像群組(GOP)大體上包含一系列視訊圖像中之一或多者。GOP可包括GOP之標頭、圖像中之一或多者之標頭或別處的語法資料,該語法資料描述包括於GOP中之圖像的數目。圖像之每一圖塊可包括描述該各別圖塊之編碼模式的圖塊語法資料。視訊編碼器20通常對個別視訊圖塊內之視訊區塊進行操作,以便編碼視訊資料。視訊區塊可對應於CU內之寫碼節點。視訊區塊可具有固定或變化之大小,且可根據指定寫碼標準而在大小方面不同。
作為一實例,HM支援以各種PU大小之預測。假定特定CU之大小為2N×2N,則HM支援以2N×2N或N×N之PU大小之框內預測,及以2N×2N、2N×N、N×2N或N×N之對稱PU大小之框間預測。HM亦支援以2N×nU、2N×nD、nL×2N及nR×2N之PU大小之框間預測之不對稱分割。在不對稱分割中,CU之一方向未分割,而另一方向分割成25%及75%。CU之對應於25%分割之部分由「n」其後接著「上」、「下」、「左」或「右」之指示來指示。因此,舉例而言,「2N×nU」指水平上以頂部之2N×0.5N PU及底部之2N×1.5N PU分割之2N×2N CU。
在本發明中,「N×N」與「N乘N」可互換地使用以指視訊區塊在垂直尺寸與水平尺寸方面之像素尺寸,例如,16×16像素或16乘16像素。一般而言,16×16區塊在垂直方向上將具有16個像素(y=16)且在水平方向上將具有16個像素(x=16)。同樣地,N×N區塊通常在垂直方向上具有N個像素且在水平方向上具有N個像素,其中N表示非負整數值。可按列及行來配置區塊中之像素。此外,區塊未必需要在水平方向上與在垂直方向上具有相同數目個像素。舉例而言,區塊可包含 N×M像素,其中M未必等於N。
在使用CU之PU的框內預測性或框間預測性寫碼之後,視訊編碼器20可計算CU之TU的殘餘資料。PU可包含描述在空間域(亦稱為像素域)中產生預測性像素資料之方法或模式的語法資料,且TU可包含在對殘餘視訊資料應用變換(例如離散餘弦變換(DCT)、整數變換、小波變換或概念上類似的變換)之後變換域中的係數。該殘餘資料可對應於未經編碼之圖像之像素與對應於PU之預測值之間的像素差。視訊編碼器20可形成包括CU之殘餘資料的TU,且接著變換該等TU以產生CU之變換係數。
在任何變換以產生變換係數之後,視訊編碼器20可執行變換係數之量化。量化通常指將變換係數量化以可能地減少用以表示該等係數之資料之量從而提供進一步壓縮的過程。該量化過程可減少與該等係數中之一些或所有相關聯的位元深度。舉例而言,可在量化期間將n位元值降值捨位至m位元值,其中n大於m
在量化之後,視訊編碼器可掃描該等變換係數,從而自包括該等量化變換係數之二維矩陣產生一維向量。該掃描可經設計以將較高能量(且因此較低頻率)係數置於陣列前部,及將較低能量(且因此較高頻率)係數置於陣列後部。在一些實例中,視訊編碼器20可利用預定義掃描次序來掃描經量化之變換係數以產生可經熵編碼的串行化向量。在其他實例中,視訊編碼器20可執行自適應掃描。在掃描經量化變換係數以形成一維向量之後,視訊編碼器20可(例如)根據上下文自適應可變長度寫碼(CAVLC)、上下文自適應二進位算術寫碼(CABAC)、基於語法之上下文自適應二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)寫碼或另一熵編碼方法來對一維向量進行熵編碼。視訊編碼器20亦可熵編碼與經編碼之視訊資料相關聯的供由視訊解碼器30用於解碼視訊資料之語法元素。
為了執行CABAC,視訊編碼器20可將上下文模型內之上下文指派給待傳輸之符號。該上下文可能係關於(例如)符號之鄰近值是否為非零。為了執行CAVLC,視訊編碼器20可選擇用於待傳輸之符號的可變長度碼。可將VLC中之碼字建構成使得相對較短碼對應於更有可能的符號,而較長碼對應於較不可能的符號。以此方式,相對於(例如)針對待傳輸之每一符號使用相等長度碼字,使用VLC可達成位元節省。機率判定可基於指派給符號之上下文而進行。
視訊編碼器20可(例如)在圖框標頭、區塊標頭、圖塊標頭或GOP標頭中進一步將語法資料(諸如,基於區塊之語法資料、基於圖框之語法資料,及基於GOP之語法資料)發送至視訊解碼器30。GOP語法資料可描述各別GOP中之圖框數目,且圖框語法資料可指示用以編碼對應圖框之編碼/預測模式。
HEVC WD10亦允許藉助於「設定檔」及「層級」來規定語法之子集之限制數目。HEVC WD10經設計以在其用於廣泛範圍之應用、位元速率、解析度、品質及服務的意義上為通用的。應用應尤其涵蓋數位儲存媒體、電視廣播及即時通信。在產生HEVC WD10之過程中,已考慮來自典型應用之各種需求,已開發必要的算法元素且已將此等算法元素整合至單一語法中。因此,HEVC WD10將促進在不同應用中之視訊資料交換。然而,考慮到實施HEVC WD10之完整語法之實踐性,設定檔及層級提供針對語法之有限數目個子集的構件。
「設定檔」經界定為整個位元串流語法之由HEVC WD10指定的子集。在由給定設定檔之語法強加的界限內,其仍可能需要取決於位元串流中之語法元素所取的值的編碼器及解碼器之效能的非常大的變化。舉例而言,指定大小之解碼圖像可能需要編碼器及解碼器之效能中之非常大的變化。在許多應用中,實施能夠處理特定設定檔內之語法之所有假想用途的解碼器當前為既不實際亦不經濟的。
為了處理此問題,在各自設定檔內指定「階層」及「層級」。一階層之層級為強加於位元串流中之語法元素之值的指定約束集合。此等約束可為對值的簡單限制。或者其可呈對值之算術組合(例如,圖像寬度乘以圖像高度乘以每解碼之圖像數目秒)的約束之形式。針對較低階層指定之層級比針對較高階層指定之層級經較多約束。針對所有設定檔界定相同層級集合,其中每一層級之界定之大部分態樣跨越不同設定檔為共同的。在指定約束內,個別實施可支援每一支援設定檔之不同層級。在不同上下文中,層級為在按比例調整之前的變換係數之值。在HEVC WD10之附錄A中更詳細地描述設定檔及層級。
HEVC WD10界定一子層作為時間可調式位元串流之時間可調式層,該時間可調式位元串流由具有temporalID變數之特定值的視訊寫碼層(VCL)網路抽象層(NAL)單元及相關聯非VCL NAL單元組成。HEVC WD10進一步界定子層表示作為由特定子層及下部子層之NAL單元組成的位元串流之子集。
HEVC WD10之子條款10.1描述位元串流子集及用以產生子位元串流之提取過程。一般而言,HEVC WD10描述基於識別位元串流之操作點之層識別符及時間子層識別符的值而自位元串流提取子位元串流。
操作點為藉由操作將另一位元串流、目標最高temporalID及目標層識別符清單作為輸入之子位元串流提取過程而自另一位元串流產生的位元串流。操作點可由nuh_layer_id值集合(表示為OpLayerIdSet)及temporalID值(表示為OpTid)識別,且經導出為如在HEVC WD10中指定之將OpTid及OpLayerIdSet作為輸入的子位元串流提取過程之輸出的相關聯位元串流子集可獨立地解碼。若操作點之目標最高temporalID等於與目標層識別清單相關聯之層集合中之temporalID的最大值,則操作點與該層集合相同。否則該操作點為層集合之子集。
在一些實例中,子位元串流提取過程為一指定過程,藉由該過程將位元串流中之不屬於由目標最高temporalID及目標層識別符清單layerIdListTarget判定之目標集合的NAL單元自位元串流移除,其中輸出子位元串流由位元串流中之屬於該目標集合的NAL單元組成。在一些實例中,子位元串流提取過程之輸入為變數tIdTarget及清單targetDecLayerIdSet,且子位元串流提取過程之輸出為子位元串流。可藉由自位元串流移除temporalID大於tIdTarget或nuh_layer_id不在targetDecLayerIdSet中之值中的所有NAL單元而導出子位元串流。
包括在HEVC WD10之子條款10.1中所指定之子位元串流提取過程的輸出中的任何子位元串流(其中tIdTarget等於0至6之包含性範圍內的任一值,及其中targetDecLayerIdSet含有值0)符合HEVC WD10。A符合HEVC WD10之位元串流可含有一或多個經寫碼圖塊NAL單元,其中nuh_layer_id等於0及temporalID等於0。
當前MV-HEVC及SHVC規格具有關於識別待在解碼期間輸出之層的問題。第一,儘管在VPS中發信多個輸出層集合,但解碼過程不知道選擇哪一輸出層集合。因此,在由TargetDecLayerIdList給定之待解碼之層中,不清楚屬於哪一層之哪些圖像可總是經設定為並非用於輸出(其中PicOutputFlag等於0),且屬於哪一層之哪一圖像為待輸出的。
第二,儘管外部構件可與在MVC中類似而指定待輸出之目標層集合,但此機制可在兩態樣中具有缺點:將輸出層集合與目標輸出層集合匹配的複雜情況,以及歸因於未能夠在一個回合中達成一成功會話初始化之可能性的不穩定性。
若經由外部構件發信目標輸出層集合,則不僅用戶端(其可為視訊編碼器20)與解碼器(其可為視訊解碼器30)之間的介面消耗稍微較多資料,而且在解碼器處亦消耗較多,此係其需要將目標輸出層與VPS 中之輸出層集合含有的輸出層匹配。此過程可在解碼器處引入不必要的複雜情況。
解碼器亦需要考慮當目標輸出層(如由外部構件導出)不匹配任何輸出層集合時的狀況。在此狀況下,解碼過程可智慧型地終止或導出「接近」目標輸出層之輸出層集合。然而,此可能並非用戶端想要的操作點,且因此需要會話協商之另一回合。
在本發明中包括以下技術來處理關於操作點之選擇的以上缺點。第一,可藉由外部構件(例如,源器件或媒體應用程式或目的地器件上之其他組件)導出特定目標輸出層集合之索引。該索引可用以界定在解碼過程期間(尤其關於解碼圖像緩衝器(DPB)操作)使用之目標輸出層集合。另外,該索引可用於選擇用於DPB操作之適當DPB大小(或子DPB大小)作為HRD操作之部分。
第二,在一些實例中,為了會話協商之便利性,可在輸送層規格中複製在VPS中發信之輸出操作點的資訊,諸如在HTTP上之動態自適應串流(DASH)中之媒體呈現描述(MPD)、檔案格式中之解碼器組態及MPEG-2輸送串流(TS)中之描述符。更直接地,在一些實例中,對於每一輸出操作點,發信目標輸出視圖、額外依賴視圖及最低適用最高temporalID。
第三,在一些實例中,基於在HEVC可調式/多視圖/3D擴展中可能的外部構件;兩此類實例不同處理程序包括:一個用於串流及一個用於協商之SDP提供/回答方式。
在串流應用程式中,例如,DASH及即時串流協定(RTSP)串流,可應用如下內容:
i.用戶端獲得媒體呈現(例如,資訊清單檔案)之描述,其中該描述包括關於輸出層集合及可能基於時間子集之輸出操作點的資訊。
ii.用戶端剖析該描述及選擇該等輸出操作點中之一者且請求該輸 出操作點。
iii.伺服器將所請求輸出操作點資訊轉換為最高temporalID及特定輸出層集合之索引,且將此資訊傳遞至視訊解碼器作為自外部構件之輸入。
iv.伺服器發送對應於該輸出操作點之所請求資料。
資訊清單檔案可包括(例如)媒體呈現描述(MPD)或SDP訊息。
在使用SDP提供/回答類型之協商之應用中,可應用以下內容:
i.發送器發送一邀請至多個接收器(包括接收器A及接收器B),其中該邀請含有發送器可提供之輸出操作點是什麼(例如,就輸出視圖而言)的描述。
ii.接收器可決定各別輸出操作點。舉例而言,接收器A選擇一視圖集合來輸出,及接收器B選擇一視圖集合來輸出。
iii.發送器編碼包括該等接收器所選擇之所有視圖的位元串流,包括輸出層集合以及可能基於時間子集之輸出操作點的描述,且發送該描述至接收器。在媒體呈現之描述中發信所需輸出操作點。
iv.每一接收器算出輸出層集合之索引,其要求且傳遞最高temporalID及輸出層集合之索引至接收器之解碼器。該索引用作解碼器中之外部構件。
在一些實例中,源器件12可為包括視訊編碼器20之相同器件。在其他實例中,視訊編碼器20可包括在單獨器件中。源器件12可儲存及管理藉由單獨器件中之視訊編碼器而編碼的視訊資料,之後該經編碼視訊資料由源器件12接收。舉例而言,上文關於串流應用所論述之伺服器或上文關於SDP提供/回答類型之協商所描述之發送器未必具有編碼器且可不自身編碼視訊,但在一些實例中其可具有編碼器且可自身編碼視訊。
儘管圖1中未展示,但目的地器件14可進一步包括媒體應用程 式。包括媒體應用程式之目的地器件14之實施例展示於圖7中且在下文更詳細地論述。可在不同實施例中之不同地方執行子位元串流提取,諸如在源器件12中、在目的地器件之媒體應用程式中、在目的地器件之視訊解碼器30中、在上游媒體感知網路元件(MANE)中或某一其他位置。在上文串流應用之一些實例中,用戶端之媒體應用程式與伺服器通信,其中該伺服器可為(例如)源器件12。如上文所論述,源器件12未必含有視訊編碼器;視訊可在儲存於源器件12中之前經編碼。又,在上文所論述SDP提供/回答類型之協商之一些實例中,發送器可為(例如)源器件12,及接收器可為目的地器件14之實施例,其中SDP提供/回答類型之協商發生在源器件12與目的地器件中之每一者之媒體應用程式之間。
圖2為說明可實施本發明中所描述之技術的視訊編碼器20之實例的方塊圖。視訊編碼器20可執行視訊圖塊內之視訊區塊的框內寫碼及框間寫碼。框內寫碼依賴於空間預測以減小或移除給定視訊圖框或圖像內之視訊的空間冗餘。框間寫碼依賴於時間預測以減小或移除視訊序列之相鄰圖框或圖像內之視訊的時間冗餘。框內模式(I模式)可指若干基於空間之寫碼模式中之任一者。框間模式(諸如,單向預測(P模式)或雙向預測(B模式))可指若干基於時間之寫碼模式中的任一者。
如圖2中所示,視訊編碼器20接收待編碼之視訊圖框內之當前視訊區塊。在圖2之實例中,視訊編碼器20包括模式選擇單元40、參考圖框記憶體64、求和器50、變換處理單元52、量化單元54及熵寫碼單元56。模式選擇單元40繼而包括運動補償單元44、運動估計單元42、框內預測處理單元46及分割單元48。為了視訊區塊重新建構,視訊編碼器20亦包括反量化單元58、反變換處理單元60及求和器62。解塊濾波器亦可包括至濾波器區塊邊界以自經重建構視訊移除區塊效應假影。若需要,解塊濾波器將通常對求和器62之輸出進行濾波。亦可使 用除解塊濾波器以外之額外濾波器(迴路內或迴路後)。為簡潔起見未圖示此類濾波器,但若需要,此類濾波器可對求和器50之輸出進行濾波(作為迴路內濾波器)。
在編碼過程期間,視訊編碼器20接收待寫碼視訊圖框或圖塊。可將該圖框或圖塊劃分成多個視訊區塊。運動估計單元42及運動補償單元44執行接收之視訊區塊相對於一或多個參考圖框中之一或多個區塊的框間預測性寫碼以提供時間預測。框內預測處理單元46可或者執行接收之視訊區塊相對於與待寫碼區塊相同之圖框或圖塊中之一或多個鄰近區塊的框內預測性寫碼以提供空間預測。視訊編碼器20可執行多個寫碼遍次,(例如)以選擇用於視訊資料之每一區塊的適當寫碼模式。
此外,分割單元48可基於對先前寫碼遍次中之先前分割方案的評估而將視訊資料之區塊分割為子區塊。舉例而言,分割單元48可初始地將一圖框或圖塊分割成LCU,且基於位元率-失真分析(例如,位元率-失真最佳化)來將該等LCU中之每一者分割成子CU。模式選擇單元40可進一步產生一指示將LCU分割為子CU之四分樹資料結構。四分樹之葉節點CU可包括一或多個PU及一或多個TU。
模式選擇單元40可(例如)基於誤差結果而選擇寫碼模式(框內或框間)中之一者,且將所得經框內寫碼區塊或經框間寫碼區塊提供至求和器50以產生殘餘區塊資料,及提供至求和器62以重建構經編碼區塊以用作參考圖框。模式選擇單元40亦將語法元素(諸如運動向量、框內模式指示符、分割資訊及其他此類語法資訊)提供至熵寫碼單元56。
運動估計單元42及運動補償單元44可高度整合,但為概念目的而分別說明。由運動估計單元42執行之運動估計為產生運動向量之過程,運動向量估計視訊區塊之運動。舉例而言,運動向量可指示在當 前視訊圖框或圖像內之視訊區塊的PU相對於在參考圖框(或其他經寫碼單元)內的預測性區塊相對於在該當前圖框(或其他經寫碼單元)內正經寫碼的當前區塊的位移。預測性區塊為依據像素差被發現緊密地匹配於待寫碼區塊之區塊,該像素差可藉由絕對差和(SAD)、平方差和(SSD)或其他差度量予以判定。在一些實例中,視訊編碼器20可計算儲存於參考圖框記憶體64中之參考圖像的次整數像素位置之值。舉例而言,視訊編碼器20可內插該參考圖像之四分之一像素位置、八分之一像素位置或其他分數像素位置之值。因此,運動估計單元42可執行關於全像素位置及分數像素位置之運動搜尋且輸出具有分數像素精確度之運動向量。
運動估計單元42藉由比較PU之位置與參考圖像之預測性區塊之位置而計算框間寫碼圖塊中之視訊區塊之PU的運動向量。該參考圖像可選自第一參考圖像清單(清單0)或第二參考圖像清單(清單1),清單0或清單1中之每一者識別儲存於參考圖框記憶體64中之一或多個參考圖像。運動估計單元42將所計算之運動向量發送至熵寫碼單元56及運動補償單元44。
由運動補償單元44執行之運動補償可涉及基於由運動估計單元42所判定之運動向量來提取或產生該預測性區塊。再次,在一些實例中,運動估計單元42及運動補償單元44可在功能上整合。在接收當前視訊區塊之PU的運動向量之後,運動補償單元44即可在參考圖像清單中之一者中定位運動向量所指向之預測性區塊。求和器50藉由自正被寫碼之當前視訊區塊的像素值減去預測性區塊之像素值來形成殘餘視訊區塊,從而形成像素差值,如下文所論述。一般而言,運動估計單元42相對於明度分量而執行運動估計,且運動補償單元44將基於該等明度分量所計算之運動向量用於色度分量與明度分量兩者。模式選擇單元40亦可產生與視訊區塊及視訊圖塊相關聯之語法元素以供視訊 解碼器30在解碼視訊圖塊之視訊區塊時使用。
如上文所描述,作為由運動估計單元42及運動補償單元44執行之框間預測的替代,框內預測單元46可對當前區塊進行框內預測。詳言之,框內預測處理單元46可判定一框內預測模式以用以編碼當前區塊。在一些實例中,框內預測處理單元46可(例如)在單獨之編碼遍次期間使用各種框內預測模式來編碼當前區塊,且框內預測處理單元46(或在一些實例中,模式選擇單元40)可自所測試之模式選擇待使用之適當框內預測模式。
舉例而言,框內預測處理單元46可使用對於各種所測試之框內預測模式的速率-失真分析來計算速率-失真值,且在所測試之模式之中選擇具有最佳速率-失真特性之框內預測模式。速率-失真分析大體上判定經編碼區塊與原始、未編碼區塊(其經編碼以產生經編碼區塊)之間的失真(或誤差)量,以及用以產生經編碼區塊之位元率(亦即,位元之數目)。框內預測處理單元46可根據各種經編碼區塊之失真及速率來計算比率以判定哪一框內預測模式展現該區塊之最佳速率-失真值。
在對於一區塊選擇框內預測模式之後,框內預測處理單元46可將指示用於該區塊之所選擇框內預測模式之資訊提供至熵寫碼單元56。熵寫碼單元56可編碼指示該所選擇的框內預測模式之資訊。視訊編碼器20可在所傳輸之位元串流中包括組態資料,其可包括以下各者:複數個框內預測模式索引表及複數個經修改之框內預測模式索引表(亦稱作碼字映射表);各種區塊之編碼上下文的定義;及待用於該等上下文中之每一者的最有可能之框內預測模式、框內預測模式索引表及經修改之框內預測模式索引表的指示。
視訊編碼器20藉由自正被寫碼之原始視訊區塊減去來自模式選擇單元40之預測資料而形成殘餘視訊區塊。求和器50表示執行此減法 運算之組件或多個組件。變換處理單元52將變換(諸如離散餘弦變換(DCT)或概念上類似之變換)應用於殘餘區塊,從而產生包含殘餘變換係數值之視訊區塊。變換處理單元52可執行概念上類似於DCT之其他變換。亦可使用小波變換、整數變換、子頻帶變換或其他類型之變換。在任何狀況下,變換處理單元52將變換應用於殘餘區塊,從而產生一殘餘變換係數區塊。該轉換可將殘餘資訊自像素值域轉換至變換域,諸如,頻域。變換處理單元52可將所得變換係數發送至量化單元54。
量化單元54量化變換係數以進一步減小位元速率。該量化過程可減少與該等係數中之一些或所有相關聯的位元深度。可藉由調整量化參數來修改量化程度。在一些實例中,量化單元54可接著執行對包括經量化之變換係數之矩陣的掃描。替代地,熵寫碼單元56可執行該掃描。
在量化之後,熵寫碼單元56對經量化變換係數進行熵寫碼。舉例而言,熵寫碼單元56可執行上下文自適應可變長度寫碼(CAVLC)、上下文自適應二進位算術寫碼(CABAC)、基於語法之上下文自適應二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)寫碼或另一熵寫碼技術。在基於上下文之熵寫碼的狀況下,上下文可基於鄰近區塊。在由熵寫碼單元56進行熵寫碼之後,可將經編碼位元串流傳輸至另一器件(例如,視訊解碼器30)或加以存檔以供稍後傳輸或擷取。
反量化單元58及反變換單元60分別應用反量化及反變換以在像素域中重建構殘差區塊(例如)以供稍後用作參考區塊。運動補償單元44可藉由將該殘餘區塊加上參考圖框記憶體64之圖框中之一者的預測性區塊來計算參考區塊。運動補償單元44亦可對該經重建構的殘餘區塊應用一或多個內插濾波器以計算用於在運動估計中使用之次整數像素值。求和器62將該經重建構的殘餘區塊加上由運動補償單元44產生 之經運動補償預測區塊以產生一經重建構的視訊區塊以用於儲存於參考圖框記憶體64中。該經重建構的視訊區塊可由運動估計單元42及運動補償單元44用作一參考區塊以框間寫碼在後續視訊圖框中之區塊。
圖2之視訊編碼器20表示經組態以實施本文所述之技術中之一或多者的視訊編碼器之實例。在一些實例中,視訊編碼器20在與位元串流相關聯之視訊參數集(VPS)中發信操作點。操作點指可自在時間上可調式及/或具有多個層或視圖之原始位元串流提取的子位元串流。在HEVC中,操作點可由nuh_layer_id值集合(表示為OpLayerIdSet)及temporalID值(表示為OpTid)識別。作為一實例,原始位元串流可包括處於不同空間解析度之三個層或視圖及處於不同圖框速率之兩個時間可調式層。在此實例中,原始位元串流包括六個操作點,其中三個空間解析度中之每一者在任一圖框速率處可用。
在一些實例中,視訊編碼器20產生位元串流。視訊編碼器20所產生之位元串流可包括可作為子位元串流自位元串流提取之多個輸出操作點。舉例而言,輸出操作點可包括多個層及/或視圖以及多個圖框速率。視訊編碼器20可編碼指示VPS中之輸出操作點的資訊。在一些實例中,對於視訊編碼器20在與位元串流相關聯之VPS中發信的操作點中之每一者,一操作點語法結構指定用以識別該位元串流中之屬於給定操作點之子位元串流的網路抽象層(NAL)單元之層識別符集合(ID)。以此方式,可基於NAL單元之層識別符自原始位元串流提取構成給定操作點之子位元串流的NAL單元。
在一些狀況下,視訊編碼器20可進一步編碼與操作點中之一或多者相關之假想參考解碼器(HRD)參數,如下文較詳細論述。在此狀況下,視訊編碼器20在VPS中發信HRD參數資訊。如下文較詳細論述,對於具有HRD參數之一或多個操作點中之每一者,HRD參數語法結構可指定界定用以檢查給定操作點之子位元串流之一致性的HRD的 HRD參數集合。
圖3為根據本發明之技術之說明實例多視圖解碼次序的概念圖。多視圖視訊寫碼(MVC)為H.264/AVC之擴展。圖3中展示典型MVC解碼次序(亦即位元串流次序)。解碼次序配置被稱作時間優先寫碼。每一存取單元可經界定以含有用於一個輸出時間執行個體之所有視圖的經寫碼圖像。應注意存取單元之解碼次序可並不與輸出或顯示次序相同。
圖4為用於多視圖視訊寫碼之MVC(MVC)預測結構之一個實例的圖。MVC為H.264/AVC之擴展。圖4說明用於多視圖視訊寫碼之典型MVC預測結構(包括每一視圖內之框間圖像預測以及視圖間預測兩者)。MVC預測結構包括每一視圖內之框間圖像預測及視圖間預測兩者。在圖4中,預測由箭頭指示,其中指向目標使用指出目標來用於預測參考。圖4之MVC預測結構可結合時間優先解碼次序配置來使用。在時間優先解碼次序中,每一存取單元可經界定以含有用於一個輸出時間執行個體之所有視圖之寫碼圖像。存取單元之解碼次序未必與輸出或顯示次序相同。
在MVC中,視圖間預測由視差運動補償支援,其使用H.264/AVC運動補償之語法,但允許不同視圖中之圖像經置放為參考圖像。兩視圖之寫碼亦可由MVC支援。MVC編碼器可用兩個以上視圖作為3D視訊輸入,及MVC解碼器可解碼多視圖表示。具有MVC解碼器之演現器可解碼具有多個視圖之3D視訊內容。
相同存取單元中之圖像(亦即,具有相同時間執行個體)可在MVC中經視圖間預測。當寫碼非基礎視圖中之一者中的圖像時,若圖像處於不同視圖中但具有相同時間執行個體,則可將圖像添加至參考圖像清單中。可將視圖間預測參考圖像置於參考圖像清單之任何位置中,正如任何框間預測參考圖像一般。
如圖4中所示,視圖分量可使用其他視圖中之視圖分量以用於參考。在MVC中,如同另一視圖中之視圖分量為框間預測預測參考而實現視圖間預測。可在序列參數集(SPS)MVC擴展中發信潛在視圖間參考。潛在視圖間參考可由參考圖像清單建構過程修改,其能夠實現框間預測或視圖間預測參考之靈活排序。下方表1展示實例SPS MVC擴展。
在SPS MVC擴展中,對於每一視圖,發信可用以形成參考圖像清單0及參考圖像清單1之視圖數目。如在SPS MVC擴展中發信之用於錨定圖像之預測關係可與用於同一視圖之非錨定圖像(在SPS MVC擴展中發信)的預測關係不同。
為了選擇MVC中之目標輸出視圖,假定目標輸出視圖為外部構件已知的。外部構件已知之此等目標輸出視圖可(例如)由於會話協商而導出,且藉由某一介面自用戶端轉送至MVC解碼器。
相比而言,HEVC具有用於MV-HEVC WD4及SHVC WD2之視訊參數集(VPS)擴展。在MV-HEVC WD4及SHVC WD2之VPS擴展中,以針對(待解碼之層之)給定層集合的方式來發信數個輸出層集合,可藉由失敗哪些層為目標輸出層(output_layer_flag[lsIdx][j])來發信多個輸出層集合。在如下方表2所示之VPS擴展語法表中展示根據MV-HEVC WD4及SHVC WD2之視訊參數集(VPS)擴展的詳細語法設計。對於索引0至vps_number_layer_sets_minus1之輸出層集合,對應層集合分別為索引為0至vps_number_layer_sets_minus1之彼等。在MV-HEVC WD4及SHVC WD2之視訊參數集(VPS)擴展中,基於default_one_target_output_layer_flag之值來推斷此等輸出層集合之目標輸出層。根據MV-HEVC WD4及SHVC WD2之視訊參數集(VPS)擴展,若default_one_target_output_layer_flag等於0,則此等輸出層集合中之所有層為目標輸出層;若default_one_target_output_layer_flag等於1,則彼等輸出層集合中之僅具有最高層id之層為目標輸出層。
目標輸出層之層識別符清單由在VPS擴展中發信之輸出層的索引(outPutLayerIdx)識別。
層識別符清單為與層集合或操作點相關聯之nuh_layer_id值清單,且可用作子位元串流提取過程之輸入。
層集合為藉由操作將另一位元串流、等於6之目標最高temporalID、及等於與層集合相關聯的層識別符清單之目標層識別符清單作為輸入的子位元串流提取過程而自另一位元串流產生之位元串流內表示之層集合。層集合為待解碼之層之集合。
輸出層集合為與輸出層集合相關聯之層集合,且其亦識別對應層集合。層集合識別待解碼之層集合,且該輸出層集合識別待輸出之層集合(以及識別對應層集合)。
輸出操作點為藉由操作將另一位元串流、目標最高temporalID及目標層識別符清單作為輸入之子位元串流提取過程而自另一位元串流產生且與目標輸出層集合相關聯的位元串流。因此,每一輸出操作點與目標輸出層集合相關聯。
操作點為藉由操作將另一位元串流、目標最高temporalID及目標層識別符清單作為輸入之子位元串流提取過程而自另一位元串流產生且與層集合相關聯的位元串流。因此,每一操作點與層集合相關聯。輸出操作點與輸出層集合相關聯,且操作點與層集合相關聯。
輸出層集合之許多排列對於給定位元串流可為可能的。舉例而言,假設自包括圖4之八個視圖之位元串流提取子位元串流。子位元串流可具有三個層(視圖),其中nuh_layer_id值為0、1及2。在一個實例中,單獨輸出該等層中之任一者可為可能的,或輸出層0及層1兩者,或輸出層0及層2,或輸出層1及層2兩者,或輸出所有三個層0、1及2。在此狀況下,可存在高達七個輸出層集合:一個識別層0作為唯一輸出層,一個識別層1作為唯一輸出層,一個識別層2作為唯一輸出層,一個識別層0及層1作為輸出層,一個識別層0及層2為輸出層,一個識別層1及2作為輸出層,及一個識別層0、1及2作為輸出層。在一個實例中,層0可為視圖間參考層,其必須經解碼以便解碼任一層1或層2。在一個實例中,若輸出層集合識別層2作為唯一輸出層,則層0必須仍經解碼以用於視圖間參考。在此特定實例中,輸出層集合識別層2作為輸出層,及層集合識別層0及層2。輸出層集合亦識別對應層集合。應注意因為層1並非用作層0或2中之任一者的參考視圖,所以操作點可經界定包括僅層0及2(若層2包括在輸出層集合中)。
在以上實例中,存在七個輸出層集合,但在其他實例中,可存在小於七個輸出集合,例如取決於可同時輸出哪些層及多少層。
實例視訊參數集(VPS)原始位元組序列有效負載(RBSP)語義如 下。旗標layer_id_included_flag[i][j]等於1指定nuh_layer_id之值等於j包括在層識別符清單layerSetLayerIdListt[i]中。旗標layer_id_included_flag[i][j]等於0指定nuh_layer_id之值等於j不包括在層識別符清單layerSetLayerIdList[i]中。
設定numLayersInIdList[0]之值等於1,及設定layerSetLayerIdList[0][0]之值等於0。
對於在1至vps_num_layer_sets_minus1包含性範圍內之i之每一值,變數numLayersInIdList[i]及層識別符清單layerSetLayerIdList[i]如下導出:
對於在1至vps_num_layer_sets_minus1包含性範圍內之i之每一值,numLayersInIdList[i]應在1至vps_max_layers_minus1+1包含性範圍內。
當numLayersInIdList[iA]等於numLayersInIdList[iB](任何iA及iB在0至vps_num_layer_sets_minus1包含性範圍內,其中iA不等於iB)時,layerSetLayerIdList[iA][n]之值不應等於layerSetLayerIdList[iB][n],n之至少一值在0至numLayersInIdList[iA]包含性範圍內。
層集合由相關聯層識別符清單識別。VPS所指定之第i層集合與層識別符清單layerSetLayerIdList[i]相關聯,i在0至vps_num_layer_sets_minus1包含性範圍內。
以上演算法藉由針對nuh_layer_id之每一可能值判定該層是否包括在層集合中而識別包括在層集合中之層。
層集合由與同一層識別符清單相關聯之所有操作點組成。
圖5為說明可實施本發明中所描述之技術之視訊解碼器30之實例的方塊圖。在圖5之實例中,視訊解碼器30包括熵解碼單元70、運動補償單元72、框內預測處理單元74、反量化單元76、反變換處理單元78、參考圖框記憶體82及求和器80。在一些實例中,視訊解碼器30可執行大體上與關於如圖2中所示之視訊編碼器20描述的編碼遍次互逆的解碼遍次。
在解碼過程期間,視訊解碼器30自視訊編碼器20接收表示經編碼視訊圖塊之視訊區塊及相關聯語法元素的經編碼視訊位元串流。視訊解碼器30可自網路實體29接收經編碼視訊位元串流。網路實體29可(例如)為伺服器、媒體感知網路元件(MANE)、視訊編輯器/編接器、或經組態以實施上述技術中之一或多者之其他此類器件。網路實體29可包括經組態以執行本發明之技術之外部構件。如上文所描述,本發明中所描述之技術中之一些可在網路實體29將經編碼視訊位元串流傳輸至視訊解碼器30之前由網路實體29實施。在一些視訊解碼系統中,網路實體29及視訊解碼器30可為單獨器件之部分,而在其他情況下,關於網路實體29描述之功能性可由包含視訊解碼器30之相同器件執行。
視訊解碼器30之熵解碼單元70熵解碼位元串流以產生經量化係數、運動向量或框內預測模式指示符及其他語法元素。熵解碼單元70將運動向量及其他語法元素轉遞至運動補償單元72。視訊解碼器30可接收視訊圖塊層級及/或視訊區塊層級處之語法元素。
當視訊圖塊經寫碼為經框內寫碼(I)圖塊時,框內預測處理單元74可基於發信框內預測模式及來自當前圖框或圖像之先前經解碼區塊的資料來產生用於當前視訊圖塊之視訊區塊的預測資料。當視訊圖框經寫碼為框間寫碼(亦即,B、P或GPB)圖塊時,運動補償單元72基於 運動向量及自熵解碼單元70接收之其他語法元素而產生用於當前視訊圖塊之視訊區塊的預測性區塊。預測性區塊可自參考圖像清單中之一者內的參考圖像中之一者產生。視訊解碼器30可基於儲存於參考圖框記憶體82中之參考圖像使用預設建構技術來建構參考圖框清單,清單0及清單1。
運動補償單元72藉由剖析運動向量及其他語法元素來判定用於當前視訊圖塊之視訊區塊的預測資訊,且使用該預測資訊產生用於經解碼當前視訊區塊之預測性區塊。舉例而言,運動補償單元72使用所接收語法元素中之一些以判定用以寫碼視訊圖塊之視頻區塊之預測模式(例如,框內或框間預測)、框間預測圖塊類型(例如,B圖塊或P圖塊)、用於該圖塊之參考圖像清單中之一或多者之建構資訊、用於該圖塊之每一經框間編碼視訊區塊之運動向量、用於該圖塊之每一經框間寫碼視訊區塊之框間預測狀態、及用以解碼當前視訊圖塊中之視頻區塊的其他資訊。
運動補償單元72亦可基於內插濾波器執行內插。運動補償單元72可使用如由視訊編碼器20在視訊區塊之編碼期間使用的內插濾波器,以計算參考區塊之次整數像素的內插值。在此狀況下,運動補償單元72可根據接收之語法元素判定由視訊編碼器20使用之內插濾波器且使用該等內插濾波器來產生預測性區塊。
反量化單元76反量化(亦即,解量化)位元串流中所提供並由熵解碼單元70解碼的經量化之變換係數。反量化過程可包括使用視訊解碼器30針對視訊圖塊中之每一視訊區塊計算之量化參數QPY以判定應應用的量化程度和同樣反量化程度。反變換處理單元78對變換係數應用反變換,例如逆DCT、逆整數變換或概念地類似的反變換過程,以便產生像素域中之殘餘區塊。
在運動補償單元72基於運動向量及其他語法元素而產生用於當 前視訊區塊之預測性區塊之後,視訊解碼器30藉由將來自反變換處理單元78之殘餘區塊與運動補償單元72所產生之對應預測性區塊求和而形成經解碼視訊區塊。求和器90表示可執行此求和運算之組件或多個組件。若需要,亦可應用解塊濾波器來對經解碼區塊濾波以便移除區塊效應假影。亦可使用其他迴路濾波器(在寫碼迴路中抑或在寫碼迴路之後)以使像素轉變平滑,或以其他方式改良視訊品質。接著將給定圖框或圖像中之經解碼視訊區塊儲存在參考圖框記憶體82中,參考圖框記憶體82儲存參考圖像用於後續運動補償。參考圖框記憶體82亦儲存經解碼視訊用於稍後在顯示器件(例如圖1之顯示器件32)上呈現。
在下文中更詳細地提供視訊解碼器30可使用之一般解碼過程。在圖9中說明及在下文中更詳細地論述可由視訊解碼器30執行之一個實例過程。
圖6為說明形成網路100之一部分之一組實例器件的方塊圖。在此實例中,網路100包括路由器件104A、104B(路由器件104)及轉碼器件106。路由器件104及轉碼器件106意欲表示可形成網路100之一部分的少數器件。諸如交換器、集線器、閘道器、防火牆、橋接器及其他此類器件之其他網路器件亦可包括在網路100內。此外,可沿著伺服器器件102與用戶端器件108之間的網路路徑提供額外網路器件。在一些實例中,伺服器器件102可對應於源器件12(圖1),而用戶端器件108可對應於目的地器件14(圖1)。
一般而言,路由器件104實施一或多個路由協定以經由網路100交換網路資料。在一些實例中,路由器件104可經組態以執行代理或快取記憶體操作。因此,在一些實例中,路由器件104可被稱為代理器件。一般而言,路由器件104執行路由協定以發現經由網路100之路線。藉由執行此類路由協定,路由器件104B可發現自自身經由路由 器件104A至伺服器器件102的網路路線。
圖7為說明進一步包括媒體應用程式(124)之目的地器件/用戶端器件14之實例的方塊圖。
目的地器件14亦包括控制單元120及使用者介面130。控制單元120可表示一或多個基於硬體之處理單元,例如一或多個通用微處理器、處理核心、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)、或其他等效整合或離散邏輯電路(單獨或以任何組合)。同樣地,歸因於控制單元120之功能性可獨自或以硬體、軟體及/或韌體之任何組合實施,控制單元120包括控制單元120內之單元或模組(諸如中間軟體單元122及媒體應用程式124)。當以軟體或韌體實施時,假定控制單元120包括必要硬體,例如,用於儲存指令之一或多個電腦可讀媒體及用於執行該等指令之一或多個基於硬體之處理器。
使用者介面130可包括一或多個使用者介面,諸如顯示器、觸控式螢幕、揚聲器、麥克風、諸如滑鼠或觸控板之指標器件、鍵盤或類似者。儘管圖7中展示用於視訊解碼器30之一個特定組態,但目的地器件14可包括在與圖7中所展示不同的一或多個位置中之視訊解碼器30,諸如控制單元120內、或與控制單元120分離、及在控制單元120與使用者介面130之間。替代地,視訊解碼器30可提供在中間軟體單元122與媒體應用程式124之間。
在一些實例中,控制單元120包括中間軟體單元122及媒體應用程式124。媒體應用程式124可對應於用於播放媒體資料(諸如,視訊及/或音訊資料)之應用程式。在播放媒體資料時,媒體應用程式124可將經解碼媒體資料發送至使用者介面130用於輸出。此外,媒體應用程式124可自單元122擷取媒體資料。舉例而言,媒體應用程式124可經組態以執行DASH,例如,以使用DASH之技術自中間軟體單元 122擷取媒體資料。中間軟體單元122可大體上充當媒體應用程式124與網路介面112之間的中間單元,使得用於經由網路104、106自伺服器器件102獲得媒體資料之功能性可自媒體應用程式124提取。亦即,媒體應用程式124無需與有關於網路104、106之模組或單元(諸如,網路介面112)互動。實情為,媒體應用程式124可與中間軟體單元122互動,且中間軟體單元122可代表媒體應用程式124負責控制經由網路介面112之網路互動。
在一些實例中,媒體應用程式124可執行子位元串流提取,如上文及下文更詳細地論述。
媒體應用程式124可在發生在發送視訊資料之前的會話協商期間與伺服器器件(諸如,圖1之源器件10)通信,如上文及下文更詳細地論述。
圖8為說明用於處理視訊資料之實例過程(890)之流程圖。在開始區塊之後,該過程進行至區塊891,其中判定目標用於輸出之一組層。該過程隨後移動至區塊892,其中判定至輸出層集合清單中之目標輸出層集合之索引,使得該目標輸出層集合表示目標用於輸出之所判定層集合。過程隨後前進至區塊893,其中將索引發送至視訊解碼器。該過程隨後進行至返回區塊,其中恢復其他處理。
舉例而言,過程890可由伺服器器件及/或源器件(諸如,圖1之源器件12)執行。過程890自伺服器/源器件之透視圖說明一實例過程,該過程可為伺服器/源器件與媒體應用程式(諸如,圖7之媒體應用程式124)之間的通信之一部分。
在一些實例中,在會話開始之前且在發送任何視訊資料之前,會話協商可發生在(例如)源器件(例如,圖1之源器件12)與目的地器件(例如,圖1之目的地器件14或圖7之目的地器件14)之間。在一些實例中,會話協商可在源器件與用戶端器件之媒體應用程式(例如,圖7之 媒體應用程式124)之間執行。舉例而言,協商會話可藉由目的地器件進行對源器件之詢問而開始。回應於該詢問,源器件可將諸如與可針對特定視訊資料提供之可能輸出操作點相關的選項之資訊發送至解碼器。此可包括以下資訊,諸如,關於可支援哪些層、位元串流具有多少層、支援哪些圖框速率及/或類似者的資訊。
作為回應,目的地器件可基於(例如)目的地器件之需要與需求而選擇一輸出操作點。舉例而言,該選擇可基於何操作點可由解碼器解碼,及基於關於可經解碼之彼等操作點中之哪些應較佳地輸出的可控制設定。舉例而言,目的地器件判定用戶端器件之解碼及呈現能力。解碼能力可包括何編碼解碼器可用以及由該解碼器支援之編碼解碼器之設定檔及層級。呈現能力可包括可由顯示器輸出多少視圖、圖框速率、螢幕大小(用於解析度)等。在判定此之後,用戶端判定哪些輸出操作點滿足此等需求。在一些實例中,目的地器件亦可判定用於各種表示之可用頻寬與位元速率,且選擇具有不超過該可用頻寬之最高位元速率的表示。舉例而言,基於此等因素中之一或多者,目的地器件選擇一輸出操作點。
在一些實例中,在選擇輸出操作點之後,目的地器件可將選定輸出操作點傳達至源器件。在一些實例中,源器件12接收自目的地器件之輸出操作點的選擇,源器件可將輸出層集合清單、至輸出層集合清單中之基於選定輸出操作點之目標輸出層集合之索引以及對應於選定輸出操作點之最高temporalID發送至目的地器件之視訊解碼器。
替代地,在一些實例中,代替目的地器件將選定輸出操作器件傳達至源器件,以及源器件基於該選擇而發送包括至輸出層集合清單中之目標輸出層集合之索引的資訊至視訊寫碼器,可存在在檔案格式層級(例如,DASH中之MPD)處之指示對應於選定操作點的檔案之URL(及在彼等檔案內之位元組範圍)的資訊。舉例而言,若用戶端器 件選擇層0及2用於輸出,則MPD可識別哪些檔案對應於用於彼等層之資料。若僅一子集之可用時間層為所要的,則MPD亦可描述對應於彼等時間層之檔案之位元組範圍。
在各種實例中,可以不同方式將至輸出層集合清單之目標輸出層集合之索引導出並發送至解碼器。
在一些實例中,伺服器發送媒體呈現之媒體應用程式描述,其中該描述包括關於輸出層集合及/或輸出操作點之資訊,媒體應用程式剖析該描述且接著選擇輸出操作點及/或輸出層集合中之一者。媒體應用程式隨後將輸出操作點及/或輸出層集合之選擇傳達至伺服器。伺服器隨後將選定輸出操作點及/或輸出層集合轉換為至輸出層集合清單之目標輸出層集合之索引,且伺服器隨後將索引傳遞至視訊解碼器。
雖然以上實例論述媒體應用程式選擇輸出操作點及/或輸出層集合中之一者,但在一些實例中,其選擇可藉由某一其他能力/與目的地器件14內之其他組件的訊息交換來判定。
在其他實例中,伺服器發送媒體呈現之媒體應用程式描述,其中該描述包括資訊及輸出層集合及/或輸出操作點,媒體應用程式剖析該描述且接著選擇輸出操作點及/或輸出層集合中之一者。媒體應用程式隨後將選定輸出操作點及/或輸出層集合轉換為至輸出層集合清單之目標輸出層集合之索引。媒體應用程式隨後發送索引至視訊解碼器。
如上文所論述,在一些實例中,該索引藉由伺服器器件/源器件基於來自目的地器件之特定請求來判定,及在其他實例中,該索引藉由目的地器件之用戶端應用程式及/或一或多個其他組件基於由目的地器件自伺服器器件/源器件接收之資訊清單檔案來判定。
輸出層集合之清單為一清單。該清單含有可同時輸出之層之群 組之所有有效排列的指示作為元素,其中一單獨元件用於可同時輸出之層之群組之每一有效排列。在一些實例中,層集合由nuh_layer_id值識別,其中nuh_layer_id值為非負整數,每一層針對其而具有一獨特nuh_layer_id值。舉例而言,假設存在具有三個層之位元串流,其中nuh_layer_id值為0、1及2。進一步假設可能單獨輸出該等層中之任一者,或輸出層0及層1兩者,或輸出層1及層2兩者。在此狀況下,輸出層集合之清單將包括五個元素:一個識別層0作為唯一輸出層,一個識別層1作為唯一輸出層,一個識別層2作為唯一輸出層,一個識別層0及層1作為輸出層,及另一者識別層0及層2作為輸出層。然而,清單之每一元素亦包括關於對應層集合之資訊。
更確切地說,在一些實例中,輸出層清單中之每一元素亦包括對應於至輸出層集合之層集合之索引。如先前論述,輸出層集合自身識別待輸出之層。該層集合識別待解碼之層。輸出之每個層必須經解碼,但可存在經解碼但不輸出之層。輸出層集合識別待輸出之層,且亦以某一方式識別對應層集合,諸如藉由包括對應層集合之索引。對應層集合識別待解碼之層。待輸出之層為待解碼之層之子集。舉例而言,在一些狀況下,可能不可能在不解碼基層之情況下解碼增強層,此係因為增強層可取決於基層。
採用其中輸出層集合之清單將包括五個元素之前述實例:一個識別層0作為唯一輸出層,一個識別層1作為唯一輸出層,一個識別層2作為唯一輸出層,一個識別層0及層1作為輸出層,及另一者識別層0及層2作為輸出層。假設為了解碼層1或層2,必須解碼層0。在此實例中,輸出層集合包括五個元素:一個識別層0作為唯一輸出層,且包括識別層0作為至唯一待解碼之層之對應層集合之索引;一個識別層1作為唯一輸出層,及包括識別層0及層1作為至待解碼之層之對應層集合之索引;一個識別層2作為唯一輸出層,及包括識別層0及層2作為 至待解碼之層之對應層集合之索引;一個識別層0及層1作為輸出層,及包括識別層0及層1作為至待解碼之層之對應層集合之索引;及另一者識別層0層及層2作為輸出層,及包括識別層0及層2作為至待解碼之層之對應層集合之索引。
源器件發送位元串流至用戶端器件,及用戶端器件之媒體應用程式可基於該位元串流、輸出層集合之清單,至輸出層集合之清單之目標輸出層集合之索引而自該位元串流提取一子位元串流。對於子位元串流提取,相關的是哪些層待解碼而非哪些層待輸出,但如所論述,至輸出層集合清單之索引及輸出層集合清單亦用以導出待解碼之層。待解碼之層與子位元串流提取過程相關。將經提取子位元串流、輸出層集合之清單、最高temporalID、及至輸出層集合之清單之目標輸出層集合之索引發送至解碼器以解碼該經提取子位元串流。
在此等實例中,解碼器基本上需要以下資訊:經提取子位元串流、應解碼哪些層、應解碼哪些圖框速率及應輸出哪些層。在一些實例中,源器件因此向解碼器發送:位元串流、輸出層集合之清單、最高TemporalID(其指示應解碼多少圖框速率)、及至輸出層集合之索引(其結合輸出層集合之清單指示應輸出哪些輸出層,且經由該清單亦含有之至輸出層集合之對應層集合之索引而指示應解碼哪些層)。在一些實例中,在位元串流自身之VPS中包括輸出層之清單,而以某一其他方式將至輸出層集合之索引及最高temporalID發送至解碼器,諸如經由輸送層,如上文所論述。
在一些實例中,源器件在位元串流之VPS中及/或經由輸送層或某一其他構件發送用於選定輸出操作點之一或多個語法元素。一或多個語法元素可包括用於目標輸出視圖之一或多個識別符、用於依賴視圖之一或多個識別符及最低適用最高temporalID。
圖9為說明解碼視訊資料之實例過程(995)之流程圖。在一些實例 中,圖9之過程可(例如)藉由圖5之視訊解碼器30執行。在開始區塊之後,過程進行至區塊996,其中接收至輸出層集合之清單中之至少一目標輸出層集合的索引。過程隨後移動至區塊997,其中基於該索引來判定至少一目標輸出層集合中之目標輸出層。過程隨後前進至區塊998,其中至少解碼該目標輸出層。過程隨後進行至區塊999,其中輸出經解碼目標輸出層而不輸出並非目標用於輸出之層。過程隨後移動至返回區塊,其中將恢復其他處理。
如上文所論述,在一些實例中,視訊解碼器自源器件及/或媒體應用程式接收:經提取子位元串流、輸出層集合之清單、最高TemporalID(其指示應解碼多少圖框速率)、及至輸出層集合之索引(其結合輸出層集合之清單指示應輸出哪些輸出層,且經由該清單亦含有之至輸出層集合之對應層集合之索引而指示應解碼哪些層)。
至輸出層集合之清單之目標輸出集合的索引可用以產生用於位元串流提取過程之一或多個層識別符清單。至輸出輸出層集合之清單之目標輸出層集合之索引亦可用以識別目標輸出層集合之對應層集合,其中對應層集合識別待解碼之層集合。目標輸出層集合自身可用以識別應輸出經解碼層中之哪些。最高temporalID可用以判定用以解碼之圖框速率。經解碼但未包括於目標用於輸出之層集合中的任何層並未輸出,而是經丟棄。輸出層集合中之待輸出之層,而不輸出目標未用於輸出之層。
在一些實例中,每一輸出操作點由待輸出之所有圖像之nuh_layer_id值(按nuh_layer_id值之遞增次序)之清單(表示為OptLayerIdList)及變數OpTid識別,變數OpTid等於包括於輸出操作點中之所有NAL單元之最高temporalID。在一些實例中,與清單OptLayerIdList相關聯之層識別符清單(表示為OpLayerIdList)由包括於輸出操作點中之所有NAL單元之nuh_layer_id值(按nuh_layer_id值之遞 增次序)之清單組成。在一些實例中,與由OpLayerIdList及OpTid識別之輸出操作點相關聯之位元串流子集為將位元串流、等於OpTid之目標最高temporalID、及等於OpLayerIdList之目標層識別符清單作為輸入的子位元串流提取過程之輸出。亦可將識別輸出操作點之OpLayerIdList及OpTid分別稱為與輸出操作點相關聯之OpLayerIdList及OpTid。
如下提供媒體應用程式124及視訊解碼器30可根據一些實例使用之一般解碼過程。此過程之輸入為位元串流。此過程之輸出為經解碼圖像之清單。
在一些實例中,可藉由媒體應用程式124導出變數OutputLayerSetIdx。在其他實例中,可藉由視訊解碼器30導出變數OutputLayerSetIdx。如下指定變數OutputLayerSetIdx,其指定目標輸出層集合之由VPS指定之至輸出層集合之清單之索引:
- 若本說明書中未指定之某一外部構件可用以設定OutputLayerSetIdx,則藉由該外部構件設定OutputLayerSetIdx。
- 否則,若如子條款C.1中所指定在位元串流一致性測試中調用解碼過程,則如子條款C.1中所指定來設定OutputLayerSetIdx。
- 否則,將OutputLayerSetIdx設定為等於0。
「子條款C.1」指HEVC WD10之子條款C.1,及「子條款C.1」之內容亦在下文論述。在一些實例中,解碼器不僅執行解碼過程,而且測試位元串流是否一致。子條款C.1論述如何測試位元串流是否一致。且子條款C.1之一致性測試包括判定所有可能輸出層集合是否滿足所有約束。如子條款C.1中及在下文中更詳細地論述,關於根據子條款C.1之一致性測試,連續測試每一輸出層集合以判定位元串流是否可解碼。
在一些實例中,如下指定層識別符清單TargetOptLayerIdList(其 指定待輸出圖像之nuh_layer_id值之清單,按nuh_layer_id值之遞增次序)及層識別符清單TargetDecLayerIdList(其指定待解碼之NAL單元之nuh_layer_id值之清單,按nuh_layer_id值之遞增次序):
在一些實例中,此演算法藉由連續經歷可能nuh_layer_id值中之每一者而使用包括待輸出之nuh_layer_id值之層識別符清單(此清單稱為TargetOptLayerIdList)及包括待解碼之nuh_layer_id值之層識別符清單(此清單稱為TargetDecLayerIdList)而用以判定待解碼之層及待輸出之層。以此方式,此演算法將至輸出層集合之清單之目標輸出層集合之索引轉譯為位元串流可使用之物。在一些實例中此演算法可藉由媒體應用程式124執行,及在其他實例中藉由視訊解碼器30執行。
在一些實例中,如下指定識別待解碼之最高時間子層之變數HighestTid:
- 若本說明書中未指定之某一外部構件可用以設定HighestTid,則藉由該外部構件設定HighestTid。
- 否則,若如子條款C.1中所指定在位元串流一致性測試中調用解碼過程,則如子條款C.1中所指定來設定HighestTid。
- 否則,將HighestTid設定為等於sps_max_sub_layers_minus1。 在一些實例中,應用其中將位元串流、HighestTid及 TargetDecLayerIdList作為輸入之子位元串流提取過程,及將輸出指派至稱為BitstreamToDecode之位元串流。在一些實例中,藉由圖7之媒體應用程式124執行子位元串流提取過程,該過程接收位元串流、HighestTid及TargetDecLayerIdList作為輸入,且輸出隨後發送至視訊解碼器30以解碼之子位元串流BitstreamToDecode。在其他實例中,視訊解碼器30自身執行子位元串流提取。在其他實例中,源器件10執行子位元串流提取且將經提取子位元串流發送至目的地器件14。在其他實例中,某一其他組件,諸如上游媒體感知網路元件(MANE)可執行子位元串流提取。
圖5之視訊解碼器30執行視訊解碼,解碼輸入經提取之子位元串流BitstreamToDecode以輸出解碼圖像,如下文較詳細論述。
在一些實例中,指定解碼過程以使得所有解碼器將產生數值相同之經裁剪解碼圖像。在此等實例中,產生與本文所述之過程所產生之彼等經裁剪解碼圖像相同的經裁剪解碼圖像之任何解碼過程(具有如所指定之正確輸出次序或輸出時序)符合本發明之解碼過程需求。
在一些實例中旗標PicOutputFlag指示BitStreamToDecode中之當前圖像(CurrPic)是否輸出。實例PicOutputFlag可如下使用。若當前圖像待輸出,則PicOutputFlag為1,及若當前圖像未待輸出,則為0。舉例而言,若一圖像為未待輸出之層之一部分,則將PicOutputFlag設定為0。對於在解碼過程期間之當前圖像CurrPic,如下設定PicOutputFlag:
- 若當前圖像為RASL圖像及相關聯IRAP圖像之NoRaslOutputFlag等於1,則將PicOutputFlag設定為等於0。
- 否則,若nuh_layer_id不存在於TargetOptLayerIdList中,且未對此輸出層集合啟用替代輸出過程,則將PicOutputFlag設定為等於0。
- 否則若nuh_layer_id不存在於TargetOptLayerIdList中,且對此輸出層集合啟用替代輸出過程,若外部提供nuh_layer_id,則將PicOutputFlag設定為等於1,若未外部提供nuh_layer_id,則設定為0。
- 否則,將PicOutputFlag設定為等於pic_output_flag。
對於假想參考解碼器(HRD),可使用兩類型之HRD參數集(NAL HRD參數及VCL HRD參數)。在一些實例中,經由hrd_parameters()語法結構發信HRD參數集,hrd_parameters()語法結構可為SPS語法結構或VPS語法結構之一部分。
表3提供一實例視訊參數集擴展語法。在根據此實例之視訊參數集擴展語法中,變數numOutputLayerSets改變為可在本發明中之其他地方使用之全域變數。
如先前論述,該索引不僅可用以界定在解碼過程期間使用之目 標輸出層集合,而且用以判定DPB緩衝器之大小。當視訊解碼器一次解碼一個圖像時,其可將其儲存於DPB中。取決於哪些層正經解碼及哪些層正經輸出兩者,DPB之最佳大小可改變。因此,可藉由視訊解碼器基於至輸出層集合之清單中之目標輸出層集合之索引來選擇DPB大小。
如上文所論述,在一些實例中,解碼器不僅執行解碼過程,而且測試位元串流是否一致,如下所述。一致性測試包括判定所有可能輸出層集合是否滿足所有約束。每一輸出層集合經連續測試以判定位元串流是否可解碼。在下文中更詳細地解釋根據此等實例之此過程。
可需要多個測試來檢查位元串流之一致性,其被稱作受測試之位元串流。對於每一測試,按所列出次序應用以下步驟:
1.選擇由OutputLayerSetIdx識別之目標輸出層集合及目標最高temporalID值HighestTid。OutputLayerSetIdx之值應在0至NumOutputLayerSets-1的包含性範圍內。HighestTid之值應在0至vps_max_sub_layers_minus1的包含性範圍內。隨後如方程式8-1中所指定而導出TargetOptLayerIdList及TargetDecLayerIdList。受測試之操作點具有等於TargetOptLayerIdList之OptLayerIdList、等於TargetDecLayerIdList之OpLayerIdList及等於HighestTid之OpTid。
2.將HighestTid及TargetDecLayerIdList作為輸入,藉由受測試之位元串流調用子位元串流提取過程,及將輸出指派至BitstreamToDecode。
3.選擇適用於TargetOp之hrd_parameters()語法結構及sub_layer_hrd_parameters()語法結構。若TargetDecLayerIdList含有存在於受測試之位元串流中之所有muh_layer_id值,則選擇作用中SPS中(或經由本說明書中未指定之外部構件提供)之hrd_parameters()語法結構。否則,選擇適用於TargetOp之作用中VPS中(或經由本說明書中未 指定之某一外部構件提供)之hrd_parameters()語法結構。在選定hrd_parameters()語法結構內,若BitstreamToDecode為I型位元串流,則選擇緊跟在條件「if(vcl_hrd_parameters_present_flag)」之後的sub_layer_hrd_parameters(HighestTid)語法結構且將變數NalHrdModeFlag設定為等於0;否則(BitstreamToDecode為II型位元串流),選擇緊跟在條件「if(vcl_hrd_parameters_present_flag)」(在此狀況下,變數NalHrdModeFlag設定為等於0)或條件「if(nal_hrd_parameters_present_flag)」(在此狀況下變數NalHrdModeFlag設定為等於1)之後的sub_layer_hrd_parameters(HighestTid)語法結構。當BitstreamToDecode為II型位元串流且NalHrdModeFlag等於0時,自BitstreamToDecode丟棄除了填充符資料NAL單元之外的所有非VCL NAL單元及自NAL單元串流(如附錄B中所指定)形成位元組串流的所有leading_zero_8bits、zero_byte、start_code_prefix_one_3bytes及trailing_zero_8bits語法元素(當存在時),且將剩餘位元串流指派至BitstreamToDecode。
4.選擇與適用於TargetOp之緩衝週期SEI訊息(存在於BitstreamToDecode中或可經由本說明書中未指定之外部構件可用)相關聯之存取單元作為HRD初始化點且稱為存取單元0。
5.對於自存取單元0開始之BitstreamToDecode中之每一存取單元,選擇與存取單元相關聯且適用於TargetOp之緩衝週期SEI訊息(存在於BitstreamToDecode中或可經由本說明書中未指定之外部構件可用),選擇與存取單元相關聯且適用於TargetOp之圖像時序SEI訊息(存在於BitstreamToDecode中或可經由本說明書中未指定之外部構件可用),及當SubPicHrdFlag等於1且sub_pic_cpb_params_in_pic_timing_sei_flag等於0時,選擇與存取單元中之解碼單元相關聯且適用於TargetOp之 解碼單元資訊SEI訊息(存在於BitstreamToDecode中或可經由本說明書中未指定之外部構件可用)。
6.選擇SchedSelIdx之值。選定SchedSelIdx應在0至cpb_cnt_minus1[HighestTid]之包含性範圍內,其中cpb_cnt_minus1[HighestTid]存在於如上所選擇之sub_layer_hrd_parameters(HighestTid)語法結構中。
7.當存取單元0中之寫碼圖像具有等於CRA_NUT或BLA_W_LP之nal_unit_type且選定緩衝週期補充增強資訊(SEI)訊息中之irap_cpb_params_present_flag等於1時,應用以下各項中之任一者用於選擇初始CPB移除延遲及延遲偏移:
- 若NalHrdModeFlag等於1,則選擇分別由選定緩衝週期SEI訊息中之nal_initial_cpb_removal_delay[SchedSelIdx]及nal_initial_cpb_removal_offset[SchedSelIdx]表示之預設初始CPB移除延遲及延遲偏移。否則,選擇分別由選定緩衝週期SEI訊息中之vcl_initial_cpb_removal_delay[SchedSelIdx]及vcl_initial_cpb_removal_offset[SchedSelIdx]表示之預設初始CPB移除延遲及延遲偏移。將變數DefaultInitCpbParamsFlag設定為等於1。
- 若NalHrdModeFlag等於1,則選擇分別由選定緩衝週期SEI訊息中之nal_initial_alt_cpb_removal_delay[SchedSelIdx]及nal_initial_alt_cpb_removal_offset[SchedSelIdx]表示之替代初始CPB移除延遲及延遲偏移。否則,選擇分別由選定緩衝週期SEI訊息中之vcl_initial_alt_cpb_removal_delay[SchedSelIdx]及vcl_initial_alt_cpb_removal_offset[SchedSelIdx]表示之替代初始CPB移除延遲及延遲偏移。將變數DefaultInitCpbParamsFlag設定為等於0,且自BitstreamToDecode丟棄與存取單元0相關聯之隨機存取跳躍前沿(RASL)存取單元,且將剩餘位元串流指派至BitstreamToDecode。
8.當選定hrd_parameters()語法結構中之sub_pic_hrd_params_present_flag等於1時,CPB經排程以在存取單元層級(在此狀況下變數SubPicHrdFlag設定為等於0)或在子圖像層級(在此狀況下變數SubPicHrdFlag設定為等於1)中之任一者處操作。
如本發明中所描述,「視訊寫碼器」可用以大體上指視訊編碼器件及視訊解碼器件兩者。另外,「視訊寫碼」可指視訊編碼或視訊解碼。
應認識到,取決於實例,本文中所描述之技術中之任一者的某些動作或事件可以一不同序列執行、可添加、合併或完全省略(例如,對於實踐該等技術而言並非所有所描述之動作或實踐皆為必要的)。此外,在某些實例中,動作或事件可(例如)經由多線緒處理、中斷處理或多個處理器同時而非順序地執行。
在一或多個實例中,所描述功能可以硬體、軟體、韌體或其任何組合來實施。若以軟體實施,則該等功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體進行傳輸,且藉由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體,其對應於有形媒體,諸如資料儲存媒體,或包括促進將電腦程式自一處傳送至另一處(例如,根據一通信協定)的任何媒體的通信媒體。以此方式,電腦可讀媒體大體上可對應於(1)非暫時性的有形電腦可讀儲存媒體,或(2)通信媒體,諸如信號或載波。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以擷取用於實施本發明中所描述之技術的指令、程式碼及/或資料結構的任何可用媒體。電腦程式產品可包括電腦可讀媒體。本發明之實例可包括其上儲存有指令之非暫時性電腦可讀儲存媒體,該等指令在執行時使至少一處理器執行諸如描述於本發明中之處理程序中之一或多者的處理程序。
藉由實例而非限制,此類電腦可讀儲存媒體可包含RAM、 ROM、EEPROM、CD-ROM或其他光碟儲存器件、磁碟儲存器件或其他磁性儲存器件、快閃記憶體或可用來儲存呈指令或資料結構形式之所要程式碼且可由電腦存取的任何其他媒體。又,任何連接被恰當地稱為電腦可讀媒體。舉例而言,若使用同軸纜線、光纖纜線、雙絞線、數位用戶線(DSL)或諸如紅外線、無線電及微波之無線技術自網站、伺服器或其他遠端源傳輸指令,則同軸纜線、光纖纜線、雙絞線、DSL或諸如紅外線、無線電及微波之無線技術包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而是針對非暫時性有形儲存媒體。如本文所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位多功能光碟(DVD)、軟性磁碟及藍光光碟,其中磁碟通常以磁性方式再生資料,而光碟用雷射以光學方式再生資料。以上各者的組合亦應包括於電腦可讀媒體之範疇內。
可藉由諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效積體或離散邏輯電路之一或多個處理器來執行指令。因此,如本文中所使用的術語「處理器」可指上述結構或適合於實施本文中所描述之技術的任何其他結構中的任一者。另外,在一些態樣中,本文中所述之功能性可在經組態用於編碼及解碼的專用硬體及/或軟體模組內提供,或併入於組合式編碼解碼器中。又,該等技術可完全實施於一或多個電路或邏輯元件中。
本發明之技術可在廣泛多種器件或裝置中實施,包括無線手機、積體電路(IC)或一組IC(例如,晶片組)。在本發明中描述各種組件、模組或單元以強調經組態以執行所揭示技術之器件的功能態樣,但未必需要藉由不同硬體單元之實現。實情為,如上文所描述,可將各種單元組合於編碼解碼器硬體單元中,或藉由互操作性硬體單元 (包括如上文所描述之一或多個處理器)之集合而結合合適軟體及/或韌體來提供該等單元。
已描述各種實例。此等及其他實例屬於以下申請專利範圍之範疇內。
995‧‧‧解碼視訊資料之實例過程

Claims (33)

  1. 一種解碼視訊資料之方法,該方法包含:接收一視訊位元串流中之輸出層集合之一清單;接收至輸出層集合之該清單中之至少一目標輸出層集合的一索引;基於該索引判定該至少一目標輸出層集合中之目標輸出層;自該視訊位元串流解碼至少該等目標輸出層;及輸出該等經解碼目標輸出層,而不輸出目標非用於輸出之層。
  2. 如請求項1之方法,其進一步包含:至少部分基於該索引而選擇一經解碼圖像緩衝器(DPB)大小或子DPB大小。
  3. 如請求項1之方法,其中該目標輸出層集合包括一nuh_layer_id值集合,且其中解碼至少該等目標輸出層包括解碼用於對應於該目標輸出層集合中之該等nuh_layer_id值的圖像之資料。
  4. 如請求項1之方法,其中該等層中之每一者對應於一視圖、一影像解析度或一品質表示中之至少一者。
  5. 如請求項1之方法,其中解碼至少該等目標輸出層包括解碼該等目標輸出層,且進一步包括當該等目標輸出層中之至少一者取決於並不包括於該目標輸出層集合中之一參考層時,解碼該參考層。
  6. 如請求項1之方法,其進一步包含:基於發信輸出操作點之該視訊位元串流之一視訊圖像序列(VPS)中之一或多個語法元素而解碼至少該等目標輸出層。
  7. 如請求項6之方法,其中該等一或多個語法元素包括輸出層集合 之該清單。
  8. 如請求項1之方法,其中輸出層集合之該清單在輸出層集合之該清單中之每一輸出層集合中包括至對應於該輸出層集合之一層集合的另一索引,且其中解碼至少該等目標輸出層包括解碼該對應層集合中之每一層。
  9. 如請求項8之方法,其中該對應層集合識別該等待解碼之層中之每一者,該目標輸出層集合識別目標用於輸出之該等層中之每一者,且其中目標用於輸出之層為該等待解碼之層之一子集。
  10. 如請求項1之方法,其中接收該索引包括接收一輸送層中之該索引。
  11. 如請求項10之方法,其中至輸出層集合之該清單中之該目標輸出層集合之該索引與選自一輸出操作點集合的一特定輸出操作點相關聯,該輸出操作點集合與包括關於該目標輸出層集合之資訊的一資訊清單檔案相關聯。
  12. 如請求項11之方法,其中該資訊清單檔案包括一媒體呈現描述(MPD)。
  13. 如請求項11之方法,其中該資訊清單檔案包括一會話描述協定(SDP)訊息。
  14. 如請求項11之方法,其中輸送串流包括超文字傳送協定(HTTP)上之動態自適應串流(DASH)、即時輸送協定(RTP)或即時串流協定(RTSP)。
  15. 一種用於解碼視訊資料之器件,其包含:一記憶體,其經組態以儲存資料;及一或多個處理器,其與該記憶體通信且經組態以:自該視訊位元串流接收一視訊位元串流中之輸出層集合之一清單; 接收至輸出層集合之該清單中之至少一目標輸出層集合的一索引;基於該索引判定該至少一目標輸出層集合中之目標輸出層;解碼至少該等目標輸出層;及輸出該等經解碼目標輸出層,而不輸出目標非用於輸出之層。
  16. 如請求項15之器件,其中該器件包含以下各者中之至少一者:一積體電路;一微處理器;或一無線通信器件。
  17. 如請求項15之器件,其中該等一或多個處理器經進一步組態以:至少部分基於該索引而選擇一經解碼圖像緩衝器(DPB)大小或子DPB大小。
  18. 如請求項15之器件,其中該目標輸出層集合包括一nuh_layer_id值集合,且其中解碼至少該等目標輸出層包括解碼用於對應於該目標輸出層集合中之該等nuh_layer_id值的圖像之資料。
  19. 如請求項15之器件,其中該等層中之每一者對應於一視圖或一影像解析度中之至少一者。
  20. 如請求項15之器件,其中解碼至少該等目標輸出層包括解碼該等目標輸出層,且進一步包括當該等目標輸出層中之至少一者取決於並不包括於該目標輸出層集合中之一參考層時,解碼該參考層。
  21. 如請求項15之器件,其中該等一或多個處理器經進一步組態以: 基於發信輸出操作點之該位元串流之一視訊圖像序列(VPS)中之一或多個語法元素而提取一輸出操作點。
  22. 如請求項21之器件,其中該等一或多個語法元素包括輸出層集合之該清單。
  23. 如請求項21之器件,其中輸出層集合之該清單在輸出層集合之該清單中之每一輸出層集合中包括至對應於該輸出層集合之一層集合的另一索引,且其中解碼至少該等目標輸出層包括解碼該對應層集合中之每一層。
  24. 如請求項23之器件,其中該對應層集合識別該等待解碼之層中之每一者,該目標輸出層集合識別目標用於輸出之該等層中之每一者,且其中目標用於輸出之層為該等待解碼之層之一子集。
  25. 一種具有儲存於其上之指令之非暫時性電腦可讀儲存媒體,該等指令在執行時使至少一處理器:接收一視訊位元串流中之輸出層集合之一清單;接收至輸出層集合之該清單中之至少一目標輸出層集合的一索引;基於該索引判定該至少一目標輸出層集合中之目標輸出層;自該視訊位元串流解碼至少該等目標輸出層;及輸出該等經解碼目標輸出層,而不輸出目標非用於輸出之層。
  26. 一種用於解碼視訊資料之器件,該器件包含:用於接收一視訊位元串流中之輸出層集合之一清單之構件;用於接收至輸出層集合之該清單中之至少一目標輸出層集合的一索引之構件;用於基於該索引判定該至少一目標輸出層集合中之目標輸出 層之構件;用於自該視訊位元串流解碼至少該等目標輸出層之構件;及用於輸出該等經解碼目標輸出層而不輸出目標非用於輸出之層之構件。
  27. 一種用於處理視訊資料之方法,該方法包含:判定目標用於輸出之一組層;判定至輸出層集合之一清單中之一目標輸出層集合之一索引,使得該目標輸出層集合識別目標用於輸出之該所判定層集合;及將該索引發送至一視訊解碼器。
  28. 如請求項27之方法,其中至少一輸出操作點與該目標輸出層集合相關聯。
  29. 如請求項27之方法,其中由與該目標輸出層集合相關聯之待輸出的每一圖像之一nuh_layer_id值集合來識別該目標輸出層集合。
  30. 如請求項27之方法,其中當用以接收該索引之一輸送層符合一會話描述協定(SDP)時,已由一接收器器件基於包括由該接收器器件選擇之視訊資料視圖之一經編碼位元串流、輸出層集合之一描述及基於時間子集之操作點而判定該索引。
  31. 如請求項27之方法,其進一步包含:傳達操作點資訊;在傳達該操作點資訊之後,接收一輸出操作點之一選擇;及至少部分基於該輸出操作點之該選擇而判定目標用於輸出之該層集合。
  32. 一種用於處理視訊資料之器件,其包含:一記憶體,其經組態以儲存資料;及 一或多個處理器,其與該記憶體通信且經組態以:接收至輸出之一清單中之至少一目標輸出層集合的一索引;判定目標用於輸出之一層集合;判定至輸出層集合之一清單中之一目標輸出層集合之一索引,使得該目標輸出層集合識別目標用於輸出之該所判定層集合;及將該索引發送至一視訊解碼器。
  33. 一種具有儲存於其上之指令之非暫時性電腦可讀儲存媒體,該等指令在執行時使至少一處理器:判定目標用於輸出之一組層;判定至輸出層集合之一清單中之一目標輸出層集合之一索引,使得該目標輸出層集合識別目標用於輸出之該所判定層集合;及將該索引發送至一視訊解碼器。
TW103124045A 2013-07-12 2014-07-11 高效率視訊寫碼擴展中之目標輸出層之選擇 TWI633780B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361845837P 2013-07-12 2013-07-12
US61/845,837 2013-07-12
US14/328,406 US10595031B2 (en) 2013-07-12 2014-07-10 Selection of target output layers in high efficiency video coding extensions
US14/328,406 2014-07-10

Publications (2)

Publication Number Publication Date
TW201515446A true TW201515446A (zh) 2015-04-16
TWI633780B TWI633780B (zh) 2018-08-21

Family

ID=52277086

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103124045A TWI633780B (zh) 2013-07-12 2014-07-11 高效率視訊寫碼擴展中之目標輸出層之選擇

Country Status (7)

Country Link
US (1) US10595031B2 (zh)
EP (1) EP3020195A1 (zh)
JP (1) JP6509842B2 (zh)
KR (1) KR102151834B1 (zh)
CN (1) CN105409219B (zh)
TW (1) TWI633780B (zh)
WO (1) WO2015006674A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012134530A1 (en) * 2011-04-01 2012-10-04 Intel Corporation Cross-layer optimized adaptive http streaming
KR102246546B1 (ko) * 2013-10-12 2021-04-30 삼성전자주식회사 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치
US10284858B2 (en) * 2013-10-15 2019-05-07 Qualcomm Incorporated Support of multi-mode extraction for multi-layer video codecs
KR102294092B1 (ko) 2014-01-02 2021-08-27 한국전자통신연구원 영상의 복호화 방법 및 이를 이용하는 장치
EP3113490B1 (en) * 2014-02-26 2019-07-24 Ricoh Company, Ltd. Communication device, communication system, communication control method, and program
JP6465863B2 (ja) * 2014-03-14 2019-02-06 シャープ株式会社 画像復号装置、画像復号方法及び記録媒体
WO2016204481A1 (ko) * 2015-06-16 2016-12-22 엘지전자 주식회사 미디어 데이터 전송 장치, 미디어 데이터 수신 장치, 미디어 데이터 전송 방법, 및 미디어 데이터 수신 방법
US10034010B2 (en) * 2015-10-14 2018-07-24 Qualcomm Incorporated Alignment of operation point sample group in multi-layer bitstreams file format
US10575018B2 (en) * 2017-07-10 2020-02-25 Qualcomm Incorporated Enhanced high-level signaling for fisheye virtual reality video in dash
WO2019017928A1 (en) 2017-07-19 2019-01-24 Cummins Inc. TECHNIQUES FOR TRANSIENT ESTIMATION AND COMPENSATION OF CONTROL PARAMETERS FOR DEDICATED EGR ENGINES
US11109069B2 (en) * 2019-09-20 2021-08-31 Tencent America LLC Signaling of scalability parameters in video bitstream
CN117979029A (zh) * 2019-09-24 2024-05-03 华为技术有限公司 支持空间可适性和snr可适性的ols
WO2021061531A1 (en) * 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Ols for multiview scalability
CN117528101A (zh) * 2019-09-24 2024-02-06 华为技术有限公司 序列级hrd参数
US11265567B2 (en) 2019-10-08 2022-03-01 Tencent America LLC Method for output layer set signaling in scalable video stream
EP4062635A4 (en) 2019-12-26 2022-12-28 ByteDance Inc. CONSTRAINTS ON SIGNALING VIDEO LAYERS IN ENCODED BITSTREAMS
WO2021134018A1 (en) 2019-12-26 2021-07-01 Bytedance Inc. Signaling of decoded picture buffer parameters in layered video
KR20220113404A (ko) 2019-12-27 2022-08-12 바이트댄스 아이엔씨 비디오 서브픽처들을 시그널링하기 위한 신택스
US20230016307A1 (en) * 2019-12-30 2023-01-19 Lg Electronics Inc. Method for decoding image on basis of image information including ols dpb parameter index, and apparatus therefor
WO2021142369A1 (en) * 2020-01-09 2021-07-15 Bytedance Inc. Signalling of the wavefront parallel processing
WO2021225338A1 (ko) * 2020-05-04 2021-11-11 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
KR20230017817A (ko) * 2020-05-25 2023-02-06 엘지전자 주식회사 멀티 레이어 기반 영상 코딩 장치 및 방법
US20230379481A1 (en) * 2020-09-22 2023-11-23 Lg Electronics Inc. Media file generation/reception method and device for signaling operating point information and output layer set information, and computer-readable recording medium in which media file is stored

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9826243B2 (en) 2007-04-12 2017-11-21 Thomson Licensing Methods and apparatus for video usability information (VUI) for scalable video coding (SVC)
US9716920B2 (en) 2010-08-05 2017-07-25 Qualcomm Incorporated Signaling attributes for network-streamed video data
EP2869555A4 (en) 2012-06-28 2016-03-16 Sony Corp SENDING / RECEIVING DEVICE, METHOD AND CODING / DECODING DEVICE
US20140301477A1 (en) 2013-04-07 2014-10-09 Sharp Laboratories Of America, Inc. Signaling dpb parameters in vps extension and dpb operation
US20160173887A1 (en) 2013-07-10 2016-06-16 Sharp Kabushiki Kaisha Scaling list signaling and parameter sets activation
US10284858B2 (en) 2013-10-15 2019-05-07 Qualcomm Incorporated Support of multi-mode extraction for multi-layer video codecs

Also Published As

Publication number Publication date
CN105409219B (zh) 2019-08-02
JP6509842B2 (ja) 2019-05-08
US20150016532A1 (en) 2015-01-15
US10595031B2 (en) 2020-03-17
EP3020195A1 (en) 2016-05-18
CN105409219A (zh) 2016-03-16
WO2015006674A1 (en) 2015-01-15
KR102151834B1 (ko) 2020-09-03
KR20160031499A (ko) 2016-03-22
TWI633780B (zh) 2018-08-21
JP2016529781A (ja) 2016-09-23

Similar Documents

Publication Publication Date Title
TWI633780B (zh) 高效率視訊寫碼擴展中之目標輸出層之選擇
TWI615021B (zh) 對多層視訊寫碼之層間預測信令之最佳化
CN110313182B (zh) 译码用于运动受约束图块集的识别符
TWI556630B (zh) 用於處理視訊資料之方法及器件及電腦可讀取儲存媒體
TWI495273B (zh) 於視訊寫碼中自清晰隨機存取圖像之全面隨機存取
TWI581611B (zh) 擴展解碼單元定義
TWI520575B (zh) 用於視訊寫碼之訊框封裝立體三維(3d)視訊資料之指示
TWI527460B (zh) 於視訊寫碼中發信用於操作點之層識別符
JP2017079480A (ja) Hevcおよび拡張のためのビデオパラメータセット
TWI532365B (zh) 視訊寫碼中之目標輸出層
JP2016067009A (ja) 内部ビュー動き予測(ivmp)モードをサポートするmvcベースの3dvcコーデック
JP2017523683A (ja) ビデオコーディングにおける第0の出力レイヤセットのためのプロファイル、ティア、レベル
TW201351966A (zh) 視訊寫碼中之參數集合更新
TWI566582B (zh) 用於處理及編碼視訊資料之方法、器件及裝置以及電腦可讀儲存媒體
US9674522B2 (en) Device and method for scalable coding of video information
KR20160034321A (ko) 인트라 랜덤 액세스 포인트 픽처들의 개선된 교차-계층 정렬
TW201444344A (zh) 用於視訊寫碼中之基礎層內轉換之方法及系統
JP6479798B2 (ja) マルチレイヤビデオコーディングのためのpoc値設計