TW201436526A - 用於緩衝資訊以簡化視訊剪接的句法及語意 - Google Patents

用於緩衝資訊以簡化視訊剪接的句法及語意 Download PDF

Info

Publication number
TW201436526A
TW201436526A TW102149090A TW102149090A TW201436526A TW 201436526 A TW201436526 A TW 201436526A TW 102149090 A TW102149090 A TW 102149090A TW 102149090 A TW102149090 A TW 102149090A TW 201436526 A TW201436526 A TW 201436526A
Authority
TW
Taiwan
Prior art keywords
value
cpbrd
picture
predetermined unit
sei message
Prior art date
Application number
TW102149090A
Other languages
English (en)
Inventor
Gary J Sullivan
li-hua Zhu
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of TW201436526A publication Critical patent/TW201436526A/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/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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本文介紹編碼畫面緩衝器移除延遲(coded picture buffer removal delay;「CPBRD」)值之句法及語意之創新,該等創新潛在地簡化剪接操作。例如,視訊編碼器設定當前畫面之CPBRD值,該CPBRD值指示遞增值,該遞增值相對於解碼次序中之先前畫面之標稱編碼畫面緩衝器移除時間,而不管該先前畫面是否具有緩衝期SEI訊息。編碼器可根據單值方法以信號指示CPBRD值,在該方法中,旗標指示如何解譯CPBRD值;可根據雙值方法以信號指示CPBRD值,在該方法中,亦信號指示另一CPBRD值(具有不同解譯);或可根據使用旗標及差量值之雙值方法以信號指示CPBRD值。對應之視訊解碼器接收及剖析當前畫面之CPBRD值。剪接工具可藉由使用當前畫面之CPBRD值來執行簡單串接操作以剪接位元流。

Description

用於緩衝資訊以簡化視訊剪接的句法及語意
本發明係關於用於緩衝資訊以簡化視訊剪接的句法及語意。
【相關申請案之交叉引用】
本申請案主張申請於2013年1月7日之美國臨時專利申請案第61/749909號之權益,該申請案之揭示內容在此以引用之方式併入。
工程師使用壓縮(亦被稱作源寫碼或源編碼)以降低數位視訊之位元率。壓縮藉由將資訊轉換至較低之位元率形式來減少儲存及傳輸視訊資訊之成本。解壓縮(亦被稱作解碼)自壓縮形式重建原始資訊版本。「編碼解碼器」係編碼器/解碼器系統。
在過去二十年中,已採用多種視訊編碼解碼器標準,該等標準包括ITU-T H.261標準、ITU-T H.262(MPEG-2或ISO/IEC 13818-2)標準、ITU-T H.263標準及ITU-T H.264(MPEG-4 AVC或ISO/IEC 14496-10)標準;及MPEG-1(ISO/IEC 11172-2)標準、MPEG-4 Visual(ISO/IEC 14496-2) 標準及SMPTE 421M(VC-1)標準。最近,已開發出HEVC標準(ITU-T H.265或ISO/IEC 23008-2)。視訊編碼解碼器標準通常定義編碼視訊位元流之句法的選項,該等選項詳述在編碼及解碼中使用特定特徵時位元流中之參數。在眾多情況下,視訊編碼解碼器標準亦提供關於解碼器為了在解碼中實現符合規範之結果而應執行之解碼操作之細節。除編碼解碼器標準以外,多種專屬編碼解碼器格式定義編碼視訊位元流之句法及對應之解碼操作之其他選項。
編碼視訊位元流中之一種參數類型係編碼畫面緩衝器移除延遲(coded picture buffer removal delay;「CPBRD」)。一般而言,既定畫面之CPBRD值規定在解碼器處將與該畫面關連之編碼資料自緩衝器中移除時之標稱時間。當在正確時間根據正規的操作模式移除畫面之編碼資料時,解碼器緩衝器不會溢流(此舉可能導致編碼資料丟失)或下溢(此舉可能導致連續播放之「故障」或其他中斷)。在低延遲模式下,在一些情況下容忍下溢,但在非低延遲模式(例如通常用於廣播)下,則不容許緩衝器下溢。緩衝模型(慣常被稱作假想參考解碼器(hypothetical reference decoder;「HRD」)或視訊緩衝驗證器(video buffering verifier;「VBV」))使用CPBRD值及諸如速率值、緩衝器大小值及緩衝器滿度值或(在播放開始之前的)初始緩衝延遲值之其他參數,以驗證位元流可在解碼系統之緩衝資源內經解碼,及幫助解碼器決定在解碼過程之操作中之時序及步驟。
在眾多情景中,將不同視訊序列之位元流剪接在一 起。例如,該種剪接可用以將商業廣告或商業廣告系列插入電視節目,或用以在不同電視節目之間切換。用於以信號指示CPBRD值之現有方法可能在剪接期間造成繁冗及可能十分困難之操作以便調整CPBRD值以考慮到該剪接。另一問題是:儘管兩個源流可獨立兼容HRD,但在剪接之後,並不保證所得之剪接流兼容HRD。
總而言之,詳細描述介紹在簡化剪接操作之編碼畫面緩衝器移除延遲(coded picture buffer removal delay;「CPBRD」)值之句法及/或語意中之創新。特定而言,該等創新經由新方法支援剪接操作,該等新方法係以信號指示某些畫面之CPBRD值,在使用該等創新之情況下,當一視訊序列之位元流或位元流之部分串接至另一視訊序列之另一位元流或另一位元流之部分時,即可重新使用該等CPBRD值。
根據本文所述之創新中之一態樣,視訊編碼器或其他工具設定視訊序列之既定畫面之CPBRD值。既定畫面之CPBRD值指示遞增值,該遞增值相對於解碼次序中之先前畫面之標稱編碼畫面緩衝器(coded picture buffer;「CPB」)移除時間,而不管先前畫面是否具有緩衝期SEI(buffering period SEI;「BP SEI」)訊息。然後,編碼器或其他工具以信號指示既定畫面之CPBRD值。可根據單值方法(在該方法中,旗標指示如何解譯CPBRD值)、根據雙值方法(在該方法中,亦以信號指示具有不同解譯之另一CPBRD值)、根據使用旗標及差量值之雙值方法,或根據另一方法來以信號指 示CPBRD值。
根據本文所述之創新中之另一態樣,視訊解碼器或其他工具接收視訊序列之既定畫面之CPBRD值。既定畫面之CPBRD值指示遞增值,該遞增值相對於解碼次序中之先前畫面之標稱CPB移除時間,而不管先前畫面是否具有BP SEI訊息。然後,視訊解碼器或其他工具剖析既定畫面之CPBRD值。可根據單值方法(在該方法中,旗標指示如何解譯CPBRD值)、根據雙值方法(在該方法中,亦以信號指示具有不同解譯之另一CPBRD值)、根據使用旗標及差量值之雙值方法,及根據另一方法來以信號指示CPBRD值。
根據本文所述之創新中之另一態樣,剪接工具接收第一視訊序列之第一位元流之至少一部分,及亦接收第二視訊序列之第二位元流之至少一部分。第二視訊序列之既定畫面之CPBRD值指示遞增值,該遞增值相對於解碼次序中之先前畫面之標稱CPB移除時間,而不管先前畫面是否具有BP SEI訊息。剪接工具將第二視訊序列之至少一部分剪接至第一視訊序列之至少一部分。作為剪接之部分,剪接工具自既定畫面開始,將第二視訊序列之全部或部分串接至第一視訊序列之至少一部分。可根據單值方法(在該方法中,旗標指示如何解譯CPBRD值)、根據雙值方法(在該方法中,亦以信號指示具有不同解譯之另一CPBRD值)、根據使用旗標及差量值之雙值方法,及根據另一方法來以信號指示CPBRD值。
編碼、解碼或剪接可作為一種方法之部分、作為經調適以執行該方法之計算裝置之部分,或作為儲存電腦可執 行指令以用於使計算裝置執行該方法之有形的電腦可讀媒體之部分而得以實施。
本發明之前述及其他目標、特徵及優勢將自下文中參考附圖進行之詳細描述而更加顯而易見。
32n‧‧‧框緩衝儲存區
36n‧‧‧框緩衝儲存區
46n‧‧‧框緩衝儲存區
100‧‧‧計算系統
110‧‧‧處理單元
115‧‧‧處理單元
120‧‧‧記憶體
125‧‧‧記憶體
140‧‧‧儲存器
150‧‧‧輸入裝置
160‧‧‧輸出裝置
170‧‧‧通信連接
180‧‧‧軟體
201‧‧‧網路環境
202‧‧‧網路環境
210‧‧‧實時通信工具
212‧‧‧編碼工具
214‧‧‧播放工具
220‧‧‧視訊編碼器
250‧‧‧網路
270‧‧‧視訊解碼器
300‧‧‧編碼器系統
310‧‧‧視訊來源
311‧‧‧來源視訊框
320‧‧‧來源框暫時記憶體儲存區
321‧‧‧框緩衝器
322‧‧‧框緩衝器
329‧‧‧框緩衝器
330‧‧‧框選擇器
331‧‧‧選定框
340‧‧‧編碼器
341‧‧‧編碼框
342‧‧‧記憶體管理控制操作信號
350‧‧‧解碼過程仿真器
351‧‧‧對應解碼框
360‧‧‧解碼框暫時記憶體儲存區
361‧‧‧框緩衝儲存區
362‧‧‧框緩衝儲存區
363‧‧‧框緩衝儲存區
369‧‧‧編碼/解碼框
370‧‧‧暫時編碼資料區
371‧‧‧集合資料
380‧‧‧通道編碼器
390‧‧‧通道
400‧‧‧解碼器系統
410‧‧‧通道
420‧‧‧通道解碼器
421‧‧‧編碼資料
430‧‧‧編碼資料區
431‧‧‧編碼框
432‧‧‧MMCO/RPS資訊
450‧‧‧解碼器
451‧‧‧解碼框
460‧‧‧解碼框暫時記憶體儲存區
461‧‧‧框緩衝儲存區
462‧‧‧框緩衝儲存區
463‧‧‧框緩衝儲存區
469‧‧‧先前解碼框
480‧‧‧輸出定序器
481‧‧‧下一框
490‧‧‧輸出目的地
500‧‧‧一般化視訊編碼器
505‧‧‧當前框
510‧‧‧運動估計器
515‧‧‧旁資訊運動資訊
520‧‧‧框儲存器
525‧‧‧重建之先前框
530‧‧‧運動補償器
535‧‧‧運動補償當前框
545‧‧‧預測殘餘
560‧‧‧變頻器
566‧‧‧反變頻器
570‧‧‧量化器
576‧‧‧反量化器
580‧‧‧熵編碼器
590‧‧‧緩衝器
595‧‧‧編碼資料
600‧‧‧一般化解碼器
605‧‧‧重建框
608‧‧‧後處理篩選器
610‧‧‧適應性迴路內分塊篩選器
615‧‧‧運動資訊
620‧‧‧框儲存器
625‧‧‧參考框
630‧‧‧運動補償器
635‧‧‧運動補償預測
645‧‧‧重建預測殘值
660‧‧‧反變頻器
670‧‧‧反量化器
680‧‧‧剖析器/熵解碼器
690‧‧‧緩衝器
695‧‧‧編碼資料
800‧‧‧句法
900‧‧‧句法
1100‧‧‧句法
1200‧‧‧一般化技術
1210‧‧‧步驟
1220‧‧‧步驟
1300‧‧‧技術
1310‧‧‧步驟
1320‧‧‧步驟
1330‧‧‧步驟
1340‧‧‧步驟
1350‧‧‧步驟
1360‧‧‧步驟
1370‧‧‧步驟
1400‧‧‧一般化技術
1410‧‧‧步驟
1420‧‧‧步驟
1500‧‧‧技術
1510‧‧‧步驟
1520‧‧‧步驟
1530‧‧‧步驟
1540‧‧‧步驟
1550‧‧‧步驟
1560‧‧‧步驟
1570‧‧‧步驟
1600‧‧‧一般化技術
1610‧‧‧步驟
1620‧‧‧步驟
1630‧‧‧步驟
1700‧‧‧技術
1710‧‧‧步驟
1720‧‧‧步驟
1730‧‧‧步驟
1740‧‧‧步驟
1742‧‧‧步驟
1744‧‧‧步驟
1746‧‧‧步驟
1750‧‧‧步驟
1760‧‧‧步驟
1770‧‧‧步驟
1800‧‧‧技術
1810‧‧‧步驟
1820‧‧‧步驟
1830‧‧‧步驟
1840‧‧‧步驟
1842‧‧‧步驟
1844‧‧‧步驟
1846‧‧‧步驟
1850‧‧‧步驟
1860‧‧‧步驟
1870‧‧‧步驟
第1圖係一示例性計算系統之圖,本文所述之一些實施例可在該計算系統中得以實施。
第2a圖及第2b圖係示例性網路環境之圖,本文所述之一些實施例可在該等網路環境中得以實施。
第3圖係一示例性編碼器系統之圖,本文所述之一些實施例可結合該編碼器系統得以實施。
第4圖係一示例性解碼器系統之圖,本文所述之一些實施例可結合該解碼器系統得以實施。
第5圖係圖示一示例性視訊編碼器之圖,本文所述之一些實施例可結合該視訊編碼器得以實施。
第6圖係圖示一示例性視訊解碼器之圖,本文所述之一些實施例可結合該視訊解碼器得以實施。
第7圖係圖示根據用以調整CPBRD值之先前方法之剪接操作之圖。
第8圖及第9圖係圖示信號指示CPBRD值之一種單值方法之句法之表。
第10圖係圖示在剪接兩個位元流時之緩衝器滿度之圖表。
第11圖係圖示一種使用旗標及差量值以信號指示 CPBRD值之雙值方法之句法之表。
第12圖係圖示一種用於在編碼期間設定CPBRD值以簡化視訊剪接之一般化技術之流程圖。
第13圖係圖示根據單值方法之一種用於在編碼期間設定CPBRD值以簡化視訊剪接之示例性技術之流程圖。
第14圖係圖示一種用於在解碼期間處理CPBRD值之一般化技術之流程圖。
第15圖係圖示根據單值方法之一種用於在解碼期間決定CPBRD值之示例性技術之流程圖。
第16圖係圖示一種用於剪接位元流之一般化技術之流程圖。
第17圖係圖示根據使用旗標及差量值之雙值方法之一種用於在編碼期間設定CPBRD值以簡化視訊剪接之示例性技術之流程圖。
第18圖係圖示根據具有旗標及差量值之雙值方法之一種用於在解碼期間決定CPBRD值之示例性技術之流程圖。
本詳細描述介紹藉由調整編碼畫面緩衝器移除延遲(coded picture buffer removal delay;「CPBRD」)值之句法及/或語意來改良剪接操作之支援的多種方法。在眾多情況下,該等方法緩和先前方法之缺陷。特定而言,本詳細描述介紹根據HEVC標準或根據H.264/AVC標準對以輔助增強資訊(supplemental enhancement information;「SEI」)訊息類型經 信號指示之CPBRD值的句法及語意之創新。在多種實例中,緩衝期SEI(buffering period SEI;「BP SEI」)訊息及/或畫面時序SEI(picture timing SEI;「PT SEI」)訊息之句法及/或語意經調整以便於剪接操作。
儘管本文所述之操作在文中幾處經描述為由編碼器(例如,視訊編碼器)、解碼器(例如,視訊解碼器),或剪接工具(例如,視訊剪接工具)執行,但在眾多眾多情況下,該等操作可替代性地由另一類型之媒體處理工具執行。
本文所述創新中之一些創新參考特定於HEVC標準之句法元素及操作來進行說明。例如,參考HEVC標準之草稿版本JCTVC-K1003--2012年10月10日至19日在上海第11次會議上之「高效率視訊編碼(High Efficiency Video Coding;HEVC)本文規格草稿9」,編號JCTVC-K1003_d13,該草稿之揭示內容以參考之形式併入本文。本文所述之創新亦可針對其他標準或格式而得以實施,例如H.264/AVC標準,該標準之揭示內容以參考之形式併入本文。
更一般而言,本文所述之實例可能具有多種替代方案。例如,本文所述之方法中之一些方法可藉由分割、重複或省略某些方法操作等更改所述方法操作之次序而得以變更。所揭示之技術之多種態樣可組合使用或單獨使用。不同實施例使用所述之創新中之一或更多者。本文所述之創新中之一些創新解決在先前技術中所提出之問題中之一或更多者。通常情況下,既定技術/工具不解決所有該種問題。
I. 示例性計算系統。
第1圖圖示一適當計算系統(100)之一般化實例,本文所述之創新中之數個創新可在該計算系統中實施。計算系統(100)並非旨在暗示針對用途或功能性之範疇之任何限制,因為該等創新可在多種多樣的通用或專用計算系統中實施。
請參看第1圖,計算系統(100)包括一或更多個處理單元(110、115)及記憶體(120、125)。處理單元(110、115)執行電腦可執行指令。處理單元可為通用中央處理單元(central processing unit;「CPU」)、特定應用積體電路(application-specific integrated circuit;「ASIC」)中之處理器,或任何其他類型之處理器。在多處理系統中,多個處理單元執行電腦可執行指令以增強處理能力。例如,第1圖圖示一中央處理單元(110)及一圖形處理單元或共處理單元(115)。有形記憶體(120、125)可為揮發性記憶體(例如,暫存器、快取記憶體、隨機存取記憶體(random access memory;RAM))、非揮發性記憶體(例如,唯讀記憶體(read only memory;ROM)、電子可擦可程式唯讀記憶體(electrically erasable programmable read only memory;EEPROM)、快閃記憶體,等),或該兩者之一些組合,上述各者可由一或更多個處理單元存取。記憶體(120、125)以適合由一或更多個處理單元執行之電腦可執行指令之形式儲存軟體(180),該軟體對利用CPBRD值之句法及語意之簡化視訊剪接之視訊編碼、解碼及/或剪接實施一或更多個創新。
計算系統可具有額外特徵。例如,計算系統(100)包括儲存器(140)、一或更多個輸入裝置(150)、一或更多個輸出 裝置(160),及一或更多個通信連接(170)。諸如匯流排、控制器或網路之互連機制(未圖示)與計算系統(100)之組件互連。通常情況下,作業系統軟體(未圖示)為在計算系統(100)中執行作業之其他軟體提供作業環境,及協調計算系統(100)之組件活動。
有形儲存器(140)可為可移動或不可移動,及包括磁碟、磁帶或磁帶盒、唯讀光碟(Compact Disk-Read Only Memory;CD-ROM)、數位化通用光碟(Digital Versatile Disk;DVD),或可用以儲存資訊及可在計算系統(100)內經存取之任何其他媒體。儲存器(140)儲存軟體(180)之指令,該軟體對利用CPBRD值之句法及語意之簡化視訊剪接之視訊編碼、解碼及/或剪接實施一或更多個創新。
一或更多個輸入裝置(150)可為諸如鍵盤、滑鼠、筆或軌跡球之觸控輸入裝置,語音輸入裝置,掃描裝置,或向計算系統(100)提供輸入之另一裝置。對於視訊編碼而言,一或更多個輸入裝置(150)可為以類比或數位方式接受視訊輸入之攝影機、視訊卡、TV調諧器卡或類似裝置,或可為將視訊輸入讀取至計算系統(100)內之CD-ROM或可抹寫光碟(Compact Disk-Rewritable;CD-RW)。一或更多個輸出裝置(160)可為顯示器、印表機、揚聲器、光碟寫錄機(Compact Disk-writer;CD-writer),或自計算系統(100)提供輸出之另一裝置。
一或更多個通信連接(170)賦能在通信媒體上與另一計算實體之通信。通信媒體傳遞資訊,該資訊諸如電腦可 執行指令、聲訊或視訊輸入或輸出,或調變資料信號中之其他資料。調變資料信號係一種信號,該信號具有特性集合中之一或更多者或經變更以便在該信號中編碼資訊。以實例但非限制之方式,通信媒體可使用電、光學、射頻,或其他載體。
該等創新可在電腦可讀媒體之一般情景中進行描述。電腦可讀媒體係可在計算環境內經存取之任何可用有形媒體。例如但非限定,對於計算系統(100),電腦可讀媒體包括記憶體(120、125)、儲存器(140),及上述各者中任何者之組合。
該等創新可在電腦可執行指令(例如程式模組中所包括之彼等指令)的一般情景中進行描述,該等電腦可執行指令在計算系統中之目標實際或虛擬處理器上執行。一般而言,程式模組包括執行特定任務或實施特定抽象資料類型之常式、程式、程式庫、物件、類別、組件、資料結構等。在多種實施例中,程式模組之功能可按需在程式模組之間合併或分開。用於程式模組之電腦可執行指令可在本端或分散式計算系統內執行。
術語「系統」及「裝置」在本文中可互換使用。除非上下文另作明確指示,否則該兩個術語皆不意謂著對計算系統或計算裝置類型之任何限制。一般而言,計算系統或計算裝置可為本端或分散式,及可包括專用硬體及/或通用硬體與實施本文所述之功能之軟體之任何組合。
本文所揭示之方法亦可藉由使用經配置以執行本文 所揭示之任何方法的專門計算硬體而經實施。例如,本文所揭示之方法可由經特殊設計或經配置以實施本文所揭示之任何方法之積體電路(例如,諸如ASIC數位信號處理器(digital signal processor;「DSP」)之特定應用積體電路(application specific integrated circuit;「ASIC」)、圖形處理單元(graphics processing unit;「GPU」),或諸如現場可程式閘陣列(field programmable gate array;「FPGA」)之可程式邏輯裝置(programmable logic device;「PLD」))實施。
為做演示,詳細描述中使用類似「決定」及「使用」之術語以描述計算系統中之電腦操作。該等術語係由電腦所執行之操作的高階抽象,及不應與由人執行之操作混淆。對應於該等術語之實際電腦操作依據實施方式而變更。
II. 示例性網路環境。
第2a圖及第2b圖圖示示例性網路環境(201、202),該等網路環境包括視訊編碼器(220)及視訊解碼器(270)。編碼器(220)及解碼器(270)藉由使用適當之通信協定而在網路(250)上連接。網路(250)可包括網際網路或另一電腦網路。
在第2a圖中所示之網路環境(201)中,每一實時通信(real-time communication;「RTC」)工具(210)包括編碼器(220)及解碼器(270)以用於雙向通信。既定編碼器(220)可產生符合SMPTE 421M標準、ISO/IEC 14496-10標準(亦已知為H.264或AVC)、HEVC標準(亦已知為H.265)、另一標準,或專屬格式之輸出,該編碼器之對應解碼器(270)接受來自該編碼器(220)之編碼資料。雙向通信可為視訊會議、視訊電話 撥叫,或其他雙方或多方通信場景中之一部分。儘管第2a圖中之網路環境(201)包括兩個實時通信工具(210),但網路環境(201)可包括三個或三個以上參與多方通信之實時通信工具(210)。
實時通信工具(210)藉由編碼器(220)管理編碼。第3圖圖示示例性編碼器系統(300),該編碼器系統可被包括在實時通信工具(210)中。或者,實時通信工具(210)使用另一編碼器系統。實時通信工具(210)亦藉由解碼器(270)管理解碼。第4圖圖示示例性解碼器系統(400),該解碼器系統可被包括在實時通信工具(210)中。或者,實時通信工具(210)使用另一解碼器系統。
在第2b圖所示之網路環境(202)中,編碼工具(212)包括編碼器(220),該編碼器對視訊進行編碼以便遞送至多個播放工具(214),該等播放工具包括解碼器(270)。可提供單向通信以用於視訊監視系統、網路攝影機監視系統、遠端桌上會議演示,或對視訊進行編碼及將視訊自一個位置發送至一或更多個其他位置之其他場景。儘管第2b圖中之網路環境(202)包括兩個播放工具(214),但網路環境(202)可包括更多或更少之播放工具(214)。一般而言,播放工具(214)與編碼工具(212)通信以決定播放工具(214)將要接收之視訊流。播放工具(214)接收該流,緩衝所接收到之編碼資料達適當時間,及開始進行解碼及播放。
第3圖圖示示例性編碼器系統(300),該編碼器系統可被包括在編碼工具(212)中。或者,編碼工具(212)使用另一 編碼器系統。編碼工具(212)亦可包括伺服器端之控制器邏輯以用於管理與一或更多個播放工具(214)之連接。第4圖圖示示例性解碼器系統(400),該解碼器系統可被包括在播放工具(214)中。或者,播放工具(214)使用另一解碼器系統。播放工具(214)亦可包括客戶端之控制器邏輯以用於管理與編碼工具(212)之連接。
第2a圖中所示之網路環境(201)可包括具有多個編碼器之多個RTC工具。第2b圖中所示之網路環境(202)可包括具有多個編碼器之多個編碼工具。該等編碼器可產生多個輸出位元流,該等輸出位元流由剪接工具剪接成單個位元流。或者,單個編碼器可產生多個位元流,該等位元流由剪接工具剪接成單個位元流。
III. 示例性編碼器系統。
第3圖係示例性編碼器系統(300)之方塊圖,本文所述之一些實施例可結合該編碼器系統得以實施。編碼器系統(300)可為能夠在多個編碼模式(諸如用於實時通信之低潛時編碼模式、轉碼模式,及用於產生媒體以便自檔案或流中進行播放之較高潛時編碼模式)中之任一模式下操作之通用編碼工具,或可為經調適以用於一個該類編碼模式之專用編碼工具。編碼器系統(300)可作為作業系統模組、作為應用程式庫之部分,或作為獨立應用程式實施。總之,編碼器系統(300)接收來自視訊來源(310)之來源視訊框(311)序列,及產生編碼資料作為送到通道(390)之輸出。送到通道之編碼資料輸出可包括指示畫面之CPBRD值之句法元素及指示應如何解譯該 等CPBRD值之句法元素。
視訊來源(310)可為攝影機、調諧器卡、儲存媒體,或其他數位視訊來源。視訊來源(310)按照例如30框/秒之框速率產生視訊框序列。如本文中所使用,術語「框」一般係指來源、編碼,或經重建之影像資料。對於連續掃描視訊而言,框係連續掃描視訊框。對於交錯視訊而言,在示例性實施例中,交錯視訊框在編碼之前得以去交錯。或者,將兩個互補交錯視訊場作為單個視訊框合併編碼,或作為兩個單獨編碼場進行編碼。除指示連續掃描視訊框或交錯掃描視訊框之外,術語「框」或「畫面」可指示單個非成對視訊場、互補視訊場對、表示既定時間之視訊物件之視訊物件平面,或較大影像中之感興趣區域。視訊物件平面或區域可為較大影像之部分,該較大影像包括場景之多個物件或區域。
到達之來源框(311)儲存在來源框暫時記憶體儲存區(320)中,該儲存區包括多個框緩衝儲存區(321、322、...、32n)。框緩衝器(321、322等)將一個來源框保留在來源框儲存區(320)中。在來源框(311)中之一或更多者已儲存在框緩衝器(321、322等)中之後,框選擇器(330)自來源框儲存區(320)中選擇個別來源框。框選擇器(330)選擇框以輸入編碼器(340)時所依照之次序可不同於視訊來源(310)產生框時所依照之次序,例如,一些框之編碼可經延遲次序以便容許先編碼隨後之一些框,及由此促進暫時反向預測。在編碼器(340)之前,編碼器系統(300)可包括在編碼前執行選定框(331)之預處理(例如,篩選)之預處理器(未圖示)。預處理亦可包 括將色空間轉換成主要(例如,亮度)及次要(例如,與紅色及與藍色之色度差)分量,及進行重新抽樣處理(例如,減少色度分量之空間解析度)以用於編碼。
編碼器(340)對選定框(331)進行編碼以產生編碼框(341),及亦產生記憶體管理控制操作(memory management control operation;「MMCO」)信號(342)或參考畫面集(reference picture set;「RPS」)資訊。如若當前框並非已經編碼之第一框,則當執行該框之編碼過程時,編碼器(340)可使用已儲存在解碼框暫時記憶體儲存區(360)中之一或更多個先前編碼/解碼框(369)。該等已儲存之解碼框(369)用作參考框,以便對當前來源框(331)之內容進行框間預測。MMCO/RPS資訊(342)向解碼器指示哪些重建框可用作參考框及由此應儲存在框儲存區中。
一般而言,編碼器(340)包括多個編碼模組,該等編碼模組執行諸如運動估計及補償、頻率轉換、量化及熵編碼之編碼任務。由編碼器(340)執行之確切操作可依據壓縮格式而變更。輸出編碼資料之格式可為視窗媒體視訊(Windows Media Video)格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2,或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263、H.264)、HEVC格式(H.265),或其他格式。
例如,在編碼器(340)內,根據由參考框進行之預測而表示框間編碼預測框。運動估計器估計來源框(331)之樣本集相對於一或更多個參考框(369)之運動。樣本集可為巨集區塊、子巨集區塊,或子巨集區塊分區(如H.264標準中所述), 或該樣本集可為編碼樹單元或預測單元(如HEVC標準中所述)。一般而言,如本文中所使用,術語「區塊」指示樣本集,該區塊可為單個二維(two-dimensional;2D)陣列,或多個二維陣列(例如,一陣列用於亮度分量及兩個陣列用於色度分量)。當使用多個參考框時,該多個參考框可來自不同時間方向或相同時間方向。運動估計器輸出諸如運動向量資訊之經熵編碼運動資訊。運動補償器向參考框應用運動向量以決定用於框間預測之運動補償預測值。編碼器決定區塊之運動補償預測值與對應原始值之間的差(如存在)。該等預測殘值藉由使用頻率轉換、量化及熵編碼而經進一步編碼。例如,編碼器(340)設定視訊之畫面、片段及/或其他部分之亮度量化參數(quantization parameter;「QP」)值及色度QP值,及相應地量化轉換係數。同樣,對於框內預測而言,編碼器(340)可決定區塊之內部預測值,決定預測殘值,及(利用頻率轉換、量化及熵編碼來)編碼預測殘值。特定而言,編碼器(340)之熵編碼器壓縮量化轉換係數值及某些旁資訊(例如,運動向量資訊、QP值、模式決策、參數選擇)。典型之熵編碼技術包括指數哥倫布編碼(Exponential-Golomb coding)、哥倫布萊斯編碼(Golomb-Rice coding)、算術式編碼、差分編碼、霍夫曼編碼(Huffman coding)、掃描長度編碼、可變長度對可變長度(variable-length-to-variable-length;「V2V」)編碼、可變長度對固定長度(variable-length-to-fixed-length;「V2F」)編碼、Lempel-Ziv(「LZ」)編碼、字典編碼、可能性間隔劃分熵編碼(probability interval partitioning entropy coding; 「PIPE」),及上述各者之組合。熵編碼器可針對不同種類之資訊使用不同編碼技術,可以組合方式應用多個技術(例如,藉由應用哥倫布萊斯編碼,隨後應用算術式編碼),及可在特定編碼技術內之多個碼表中進行選擇。
編碼框(341)及MMCO/RPS資訊(342)(或與MMCO/RPS資訊(342)等效之資訊,因為框的相依性及排序結構在編碼器(340)處為已知)由解碼過程仿真器(350)處理。解碼過程仿真器(350)實施解碼器之一些功能,例如,重建在運動估計及補償中由編碼器(340)所使用之參考框的解碼任務。以符合MMCO/RPS資訊(342)之方式,解碼過程仿真器(350)決定是否需要重建及儲存既定編碼框(341)以便在待編碼之後續框的框間預測中用作參考框。如若需要儲存編碼框(341),則解碼過程仿真器(350)對原本由接收編碼框(341)及產生對應解碼框(351)之解碼器執行的解碼過程進行模型化。在此過程中,當編碼器(340)已使用已儲存在解碼框儲存區(360)中之一或更多個解碼框(369)時,解碼過程仿真器(350)亦使用來自儲存區(360)之一或更多個解碼框(369)以作為解碼過程之一部分。
解碼框暫時記憶體儲存區(360)包括多個框緩衝儲存區(361、362、…、36n)。以符合MMCO/RPS資訊(342)之方式,解碼過程仿真器(350)管理儲存區(360)之內容以便辨識具有不再被編碼器(340)需要以便用作參考框之框的任何框緩衝器(361、362等)。在對解碼過程進行模型化之後,解碼過程仿真器(350)將新解碼框(351)儲存在已以此方式經辨 識之框緩衝器(361、362等)中。
編碼器(340)設定根據緩衝器流模型(例如,假想參考解碼器(hypothetical reference decoder;「HRD」)或視訊緩衝驗證器(video buffer verifier;「VBV」))之規格經編碼之畫面之CPBRD值。以此方式,編碼器(340)對位元流之位元率波動施加約束,以便幫助確保可在解碼系統之緩衝資源內解碼位元流。編碼器(340)亦設定CPBRD值以幫助解碼器決定該解碼器之解碼過程的操作時序及步驟。
編碼框(341)及MMCO/RPS資訊(342)(或與MMCO/RPS資訊等效之資訊)亦緩衝在暫時編碼資料區(370)中。作為基本編碼視訊位元流之句法之一部分,在編碼資料區(370)中集合之編碼資料包含一或更多個畫面之編碼資料。在編碼資料區(370)中集合之編碼資料亦可包括與編碼視訊資料相關之媒體元資料(例如,作為一或更多個輔助增強資訊(supplemental enhancement information;「SEI」)訊息或視訊使用資訊(video usability information;「VUI」)訊息中之一或更多個參數)。該種媒體元資料可包括指示畫面CPBRD值之句法元素及指示應如何解譯該等CPBRD值(例如,解譯為PT SEI訊息及BP SEI訊息之一部分)之句法元素。
來自暫時編碼資料區(370)之集合資料(371)由通道編碼器(380)處理。通道編碼器(380)可封包及/或多工該集合資料以作為媒體流進行傳輸或儲存(例如,根據諸如ITU-T H.222.0 | ISO/IEC 13818-1之媒體程式流或傳輸流格式或諸如IETF RFC 3550之網際網路實時傳輸協定格式),在該情況 下,通道編碼器(380)可新增句法元素作為媒體傳輸流之句法之一部分。該種句法可包括指示畫面之CPBRD值之句法元素及指示應如何解譯該等CPBRD值之句法元素。或者,通道編碼器(380)可組織集合資料以作為檔案進行儲存(例如,根據諸如ISO/IEC 14496-12之媒體容器格式),在該情況下,通道編碼器(380)可新增句法元素作為媒體儲存檔案之句法之一部分。該種句法可包括指示畫面之CPBRD值之句法元素及指示應如何解譯該等CPBRD值之句法元素。或者,更為一般而言,通道編碼器(380)可實施一或更多個媒體系統多工協定或傳輸協定,在該情況下,通道編碼器(380)可新增句法元素作為一或更多個協定之句法之一部分。而且,該種句法亦可包括指示畫面之CPBRD值之句法元素及指示應如何解譯該等CPBRD值之句法元素。通道編碼器(380)向通道(390)提供輸出,該通道表示用於該輸出之儲存器、通信連接或另一通道。通道編碼器(380)或通道(390)亦可包括其他元件(未圖示),例如前向誤差校正(forward-error correction;「FEC」)編碼及類比信號調變。
IV. 示例性解碼器系統。
第4圖係示例性解碼器系統(400)之方塊圖,本文所述之一些實施例可結合該解碼器系統得以實施。解碼器系統(400)可為能夠在多個解碼模式(諸如用於實時通信之低潛時解碼模式,及用於自檔案或流進行之媒體播放之較高潛時解碼模式)中之任一模式下操作之通用解碼工具,或可為經調適以用於一個該解碼模式之專用解碼工具。解碼器系統(400) 可作為作業系統模組、作為應用程式庫之一部分,或作為獨立應用程式實施。總之,解碼器系統(400)接收來自通道(410)之編碼資料,及產生重建框作為送至輸出目的地(490)之輸出。編碼資料可包括指示畫面之CPBRD值之句法元素及指示應如何解譯該等CPBRD值之句法元素。
解碼器系統(400)包括通道(410),該通道可表示用於作為輸入之編碼資料之儲存器、通信連接或另一通道。通道(410)產生已經通道編碼之編碼資料。通道解碼器(420)可處理該編碼資料。例如,通道解碼器(420)拆包及/或解多工已經集合之資料以作為媒體流進行傳輸或儲存(例如,根據諸如ITU-T H.222.0 | ISO/IEC 13818-1之媒體程式流或傳輸流格式,或諸如IETF RFC 3550之網際網路實時傳輸協定格式),在該情況下,通道解碼器(420)可剖析作為媒體傳輸流句法之一部分而新增之句法元素。該種句法可包括指示畫面之CPBRD值之句法元素及指示應如何解譯該等CPBRD值之句法元素。或者,通道解碼器(420)分離已經集合之編碼視訊資料以作為檔案進行儲存(例如,根據諸如ISO/IEC 14496-12之媒體容器格式),在該情況下,通道解碼器(420)可剖析作為媒體儲存檔案句法之一部分而經新增之句法元素。該種句法可包括指示畫面之CPBRD值之句法元素及指示應如何解譯該等CPBRD值之句法元素。或者,更為一般而言,通道解碼器(420)可實施一或更多個媒體系統解多工協定或傳輸協定,在該情況下,通道解碼器(420)可剖析作為一或更多個協定句法之一部分而經新增之句法元素。而且,該種句法亦可 包括指示畫面之CPBRD值之句法元素及指示應如何解譯該等CPBRD值之句法元素。通道(410)或通道解碼器(420)亦可包括其他元件(未圖示),例如FEC解碼及類比信號解調。
自通道解碼器(420)輸出之編碼資料(421)儲存在暫時編碼資料區(430)中,直至接收到充足數量之該種資料。編碼資料(421)包括編碼框(431)及MMCO/RPS資訊(432)。作為基本編碼視訊位元流句法之一部分,編碼資料區(430)中之編碼資料(421)包含一或更多個畫面之編碼資料。編碼資料區(430)中之編碼資料(421)亦可包括與編碼視訊資料相關之媒體元資料(例如,作為一或更多個SEI訊息或VUI訊息中之一或更多個參數)。該種媒體元資料可包括指示畫面之CPBRD值之句法元素及指示應如何解譯該等CPBRD值(例如,解譯為PT SEI訊息及BP SEI訊息之一部分)之句法元素。
解碼器(450)使用CPBRD值以決定該解碼器之總體解碼過程之操作時序及步驟。一般而言,編碼資料區(430)暫時儲存編碼資料(421)直至該編碼資料(421)由解碼器(450)所使用,如CPBRD值所指示。在彼時,將用於編碼框(431)及MMCO/RPS資訊(432)之編碼資料自編碼資料區(430)傳送至解碼器(450)。隨著解碼步驟繼續,將新編碼資料添加至編碼資料區(430),及將編碼資料區(430)中剩餘之最早的編碼資料傳送至解碼器(450)。
解碼器(450)解碼編碼框(431)以產生對應解碼框(451)。如若適當,則解碼器(450)在執行其解碼過程時可使用一或更多個先前解碼框(469)作為用於框間預測之參考框。解 碼器(450)自解碼框暫時記憶體儲存區(460)中讀取該等先前解碼框(469)。一般而言,解碼器(450)包括多個解碼模組,該等解碼模組執行諸如熵解碼、框內預測、運動補償框間預測、反量化及反頻率轉換之解碼任務。由解碼器(450)執行之確切操作可依據壓縮格式而變更。
例如,解碼器(450)接收壓縮框或框序列之編碼資料,及產生包括解碼框(451)之輸出。在解碼器(450)中,緩衝器接收壓縮框之編碼資料,及在由CPBRD值所標稱指示之適當時間使接收到的編碼資料可用於熵解碼器。熵解碼器對熵編碼量化資料及熵編碼旁資訊進行熵解碼,通常應用在編碼器中執行之熵編碼的反轉步驟。運動補償器將運動資訊應用至一或更多個參考框以形成正在重建之框的區塊(例如,巨集區塊、子巨集區塊、子巨集區塊分區、編碼樹單元、預測單元,或上述各者之部分,例如編碼樹區塊、預測區塊,或其他區塊)之運動補償預測。框內預測模組可根據相鄰之先前重建樣本值對當前區塊之樣本值進行空間預測。解碼器(450)亦重建預測殘值。反量化器對熵解碼資料進行反量化。例如,解碼器(450)基於位元流中之句法元素設定視訊之畫面、片段及/或其他部分之亮度QP值及色度QP值,及相應地反量化轉換係數。反變頻器將量化頻域資料轉換為空間域資訊。對於框間預測之框而言,解碼器(450)結合重建預測殘值與運動補償預測以形成重建框。解碼器(450)可以類似方式結合預測殘值與根據框內預測進行之空間預測。適應性分塊篩選器被包括在視訊解碼器(450)中之運動補償迴路內以使跨越解碼框 (451)中之區塊邊界列及/或行之不連續性平滑。可替代性或額外地應用其他篩選(例如解環篩選、適應性迴路篩選(adaptive loop filtering;「ALF」),或樣本適應性偏移(sample-adaptive offset;「SAO」)篩選;未圖示)作為迴路內篩選操作。
解碼框暫時記憶體儲存區(460)包括多個框緩衝儲存區(461、462、…、46n)。解碼框儲存區(460)係DPB之實例。解碼器(450)使用MMCO/RPS資訊(432)以辨識可儲存解碼框(451)之框緩衝器(461、462等)。解碼器(450)將解碼框(451)儲存在該框緩衝器中。
輸出定序器(480)(例如,藉由使用BP及PT SEI訊息中之資訊)辨識按照輸出次序待產生之下一框在解碼框儲存區(460)中可用之時間。在按照輸出次序待產生之下一框(481)在解碼框儲存區(460)中可用時,該下一框由輸出定序器(480)讀取及經輸出至輸出目的地(490)(例如,顯示器)。一般而言,輸出定序器(480)自解碼框儲存區(460)輸出框之次序可不同於解碼器(450)解碼框之次序。
V. 示例性視訊編碼器。
第5圖係一般化視訊編碼器(500)之方塊圖,本文所述之一些實施例可結合該視訊編碼器得以實施。編碼器(500)接收包括當前框(505)之視訊框序列,及產生編碼資料(595)作為輸出。
編碼器(500)基於區塊及使用區塊格式,該格式依據實施方式而定。區塊可在不同階段經進一步再分,例如,在頻率轉換及熵編碼階段。例如,可將框分割為64x64區塊、 32x32區塊或16x16區塊,可接著將該等區塊分割為更小的樣本值區塊以用於編碼及解碼。
編碼器系統(500)壓縮經框間預測之框及框內編碼框。為演示起見,第5圖圖示穿過編碼器(500)之框內編碼「內路徑」,及圖示框間編碼「間路徑」。編碼器(500)之眾多組件用於框內編碼及框間編碼。彼等組件所執行之確切操作可依據經壓縮之資訊類型而變更。
如若當前框(505)係經框間預測之框,則運動估計器(510)估計當前框(505)之區塊(例如,巨集區塊、子巨集區塊、子巨集區塊分區、編碼樹單元、預測單元或上述各者之部分,諸如編碼樹區塊、預測區塊或其他區塊)相對於一或更多個參考框之運動。框儲存器(520)緩衝一或更多個重建之先前框(525)以用作參考框。當使用多個參考框時,該等多個參考框可來自不同時間方向或來自相同時間方向。運動估計器(510)輸出作為旁資訊運動資訊(515),例如差動向量資訊。
在形成運動補償當前框(535)時,運動補償器(530)將重建運動向量應用至重建參考框(525)。運動補償當前框(535)區塊與原始當前框(505)的對應部分之間的差(若存在)係區塊之預測殘餘(545)。在當前框之隨後重建期間,將重建預測殘值添加至運動補償當前框(535)以獲取與原始當前框(505)更為接近之重建框。然而,在有損壓縮中,一些資訊仍自原始當前框(505)中損失。內路徑可包括內預測模組(未圖示),該模組根據相鄰之先前重建樣本值對當前區塊之樣本值進行空間預測。
變頻器(560)將空間域視訊資訊轉換為頻域(亦即頻譜轉換)資料。對於基於區塊之視訊框而言,變頻器(560)將離散餘弦轉換、離散餘弦轉換之整數近似值或另一類型之前向區塊轉換(例如,離散正弦轉換或離散正弦轉換之整數近似值)應用至樣本值資料或預測殘餘資料之區塊,從而產生頻率轉換係數之區塊。然後,量化器(570)對轉換係數進行量化。例如,量化器(570)對頻域資料應用盲區純量量化,量化步階尺寸根據不同框、根據不同片段、根據不同區塊、根據特定頻率,或根據其他內容而變更。例如,編碼器(500)設定視訊之畫面、片段及/或其他部分(諸如編碼單元)之亮度QP值及色度QP值,及相應地量化轉換係數。
當後續之運動估計/補償需要當前框之重建版本時,反量化器(576)對已量化之頻率係數資料執行反量化。反變頻器(566)執行反頻率轉換,從而產生重建預測殘值或樣本值區塊。對於經框間預測之框而言,編碼器(500)結合重建預測殘值(545)與運動補償預測(535)以形成重建框(505)。(儘管第5圖中未圖示,但在內路徑中,編碼器(500)可結合預測殘值與根據框內預測進行之空間預測)。框儲存器(520)對經重建當前框進行緩衝以用於後續之運動補償預測。
在第5圖中,編碼器(500)中之運動補償迴路包括適應性迴路內分塊篩選器(510),該篩選器(通常)位於框儲存器(520)之前。解碼器(500)對經重建框應用迴路內篩選以適應性地使跨越框中邊界之不連續性平滑。可替代或額外應用其他篩選(諸如解環篩選、ALF,或SAO篩選;未圖示)作為 迴路內篩選操作。
熵編碼器(580)壓縮量化器(570)之輸出及運動資訊(515)及某些旁資訊(例如,QP值)。熵編碼器(580)向緩衝器(590)提供編碼資料(595),從而將編碼資料多工至輸出位元流中。
控制器(未圖示)接收來自編碼器之多個模組之輸入。控制器在編碼期間評估中間結果,例如,設定QP值及執行速率失真分析。控制器與其他模組一起工作以在編碼期間設定及改變編碼參數。控制器可為根據緩衝流模型編碼之畫面設定CPBRD值。以此方式,控制器可對位元流的位元率波動施加約束,以便幫助確保可在解碼系統之緩衝資源內解碼位元流。控制器亦設定CPBRD值以幫助解碼器決定該解碼器之解碼過程的操作時序及步驟。
依據實施方式及所需壓縮之類型,可新增、省略編碼器模組,將編碼器模組分開為多個模組、與其他模組結合,及/或替換為類似模組。在替代性實施例中,具有不同模組及/或其他模組配置之編碼器執行本文所述技術中之一或更多者。編碼器之特定實施例通常使用編碼器(500)之變化或補充版本。編碼器(500)內之模組之間的圖示關係指示編碼器中之一般資訊流;為簡明起見,未圖示其他關係。
VI. 示例性視訊解碼器。
第6圖係一般化解碼器(600)之方塊圖,本文所述之數個實施例可結合該解碼器得以實施。解碼器(600)接收壓縮框或框序列之編碼資料(695)及產生包括重建框(605)之輸 出。為演示起見,第6圖圖示用於框內解碼之穿過解碼器(600)之「內路徑」及用於框間解碼之「間路徑」。解碼器(600)之眾多組件用於框內解碼及框間解碼。由彼等組件執行之確切操作可依據正在經解壓縮之資訊之類型而變更。
緩衝器(690)接收壓縮框之編碼資料(695)及使得所接收到之編碼資料對剖析器/熵解碼器(680)可用,時序至少部分由各個框之CPBRD值指示。剖析器/熵解碼器(680)對熵編碼量化資料及熵編碼旁資訊進行熵解碼,通常應用在編碼器中執行之熵編碼之反轉值。
運動補償器(630)將運動資訊(615)應用至一或更多個參考框(625)以形成對正在重建之框(605)的區塊(例如,巨集區塊、子巨集區塊、子巨集區塊分區、編碼樹單元、預測單元或上述各者之部分,諸如編碼樹區塊、預測區塊或其他區塊)之運動補償預測(635)。框儲存器(620)儲存一或更多個先前重建之框以用作參考框。
內路徑可包括內預測模組(未圖示),該模組根據相鄰之先前重建樣本值對當前區塊之樣本值進行空間預測。在間路徑中,解碼器(600)重建預測殘值。反量化器(670)反量化熵解碼資料。例如,解碼器(600)基於位元流中之句法元素設定視訊之畫面、片段及/或其他部分(諸如編碼單元)之亮度QP值及色度QP值,及反量化器(670)相應地反量化轉換係數。
反變頻器(660)將重建頻域資料轉換為空間域資訊。例如,反變頻器(660)對頻率轉換係數應用反區塊轉換, 從而產生樣本值資料或預測殘餘資料。反頻率轉換可為反離散餘弦轉換、該反離散餘弦轉換之整數近似值或另一類型之反頻率轉換(例如,反離散正弦轉換或反離散正弦轉換之整數近似值)。
對於經框間預測之框而言,解碼器(600)結合重建預測殘值(645)與運動補償預測(635)以形成重建框(605)。(儘管第6圖中未圖示,但在內路徑中,解碼器(600)可結合預測殘值與根據框內預測進行之空間預測。)解碼器(600)中之運動補償迴路包括位於框儲存器(620)之前或之後的適應性迴路內分塊篩選器(610)。解碼器(600)對重建框應用迴路內篩選以適應性地使跨越框中邊界之不連續性平滑。可替代或額外應用另外篩選(諸如解環篩選、ALF,或SAO篩選;未圖示)作為迴路內篩選操作。
在第6圖中,解碼器(600)亦包括後處理篩選器(608)。後處理篩選器(608)可包括解環篩選、適應性威能(Wiener)篩選、軟片粒再製篩選、SAO篩選或另一種篩選。
依據實施方式及所需解壓縮之類型,可新增、省略解碼器模組,將解碼器模組分割為多個模組、與其他模組結合,及/或替換為類似模組。在替代性實施例中,具有不同模組及/或其他模組配置之解碼器執行本文所述技術中之一或更多者。解碼器之特定實施例通常使用解碼器(600)之變化或補充版本。解碼器(600)內之模組之間的圖示關係指示解碼器中之一般資訊流;為簡明起見,未圖示其他關係。
VII. 用以簡化剪接之CPBRD值的句法及語意
本部分介紹對編碼畫面緩衝器移除延遲(coded picture buffer removal delay;「CPBRD」)值之句法及語意的多種創新。在眾多情況下,該等創新簡化視訊序列之剪接。提供CPBRD值根據HEVC標準及H.264/AVC標準在輔助增強資訊(supplemental enhancement information;「SEI」)訊息中經信號指示的多種實例。
A. 介紹
在諸如JCTVC-K1003之HEVC標準的草稿版本中,及在H.264/AVC標準中,為畫面時序SEI(picture timing SEI;「PT SEI」)訊息指定句法及語意。PT SEI訊息包括指示編碼畫面緩衝器移除延遲(coded picture buffer removal delay;「CPBRD」)之句法元素。在JCTVC-K1003中,句法元素之名稱為au_cpb_removal_delay_minus1,及藉由向在PT SEI訊息中經信號指示之編碼整數值添加1而解譯句法元素。
一般而言,在結合初始緩衝延遲(或替代性的初始緩衝器滿度)之情況下,既定畫面之CPBRD值(通常被稱作「當前畫面」)規定自編碼畫面緩衝器(coded picture buffer;「CPB」)中移除與該畫面關連之編碼資料時所在之標稱時間。CPB係假想解碼器緩衝器,及解碼器可將該假想解碼器緩衝器用作設計解碼器緩衝器之參考。而且,編碼器可基於假想解碼器緩衝器而產生合規位元流。在HEVC標準之情景中,與當前畫面關連之資料集係「存取單元」。在可被稱作HRD或VBV之緩衝模型的情景中理解CPBRD值。根據緩衝模型之規格幫助確保可在解碼系統之緩衝資源內解碼位元 流,及幫助解碼器決定該解碼器對畫面之總體解碼過程之操作時序及步驟。
當緩衝期SEI(buffering period SEI;「BP SEI」)訊息存在於編碼視訊資料中時,CPBRD值之時序參考經重設以用於後續之訊息。在JCTVC-K1003中,始終相對於含有BP SEI訊息之先前畫面(若存在)之標稱移除時間按照解碼次序而編碼CPBRD值。編碼器可能將BP SEI訊息連同位元流中每一隨機存取點(random access point;「RAP」)畫面一起發送。編碼器亦可將BP SEI訊息連同非RAP畫面之其他畫面一起發送。
視訊剪接工具一般在位元流中RAP畫面之所在位置處執行剪接操作。RAP畫面可為瞬時解碼器刷新(instantaneous decoder refresh;「IDR」)畫面。RAP畫面具有與RAP畫面相關連之BP SEI訊息。例如,剪接操作可用以將商業廣告或商業廣告系列插入電視節目,或用以在不同電視節目之間切換。
HEVC RAP畫面之設計專門旨在賦能將RAP畫面用作位元流之剪接點。然而,在JCTVC-K1003中,始終相對於具有BP SEI訊息之先前畫面之標稱CPB移除時間按照解碼次序而編碼CPBRD值。由於此參考點,當剪接系統在位元流之間進行剪接時(或在平滑串接經單獨編碼之位元流以形成較長之位元流時),剪接系統可能難以決定CPBRD值之正確值。
由此,對於如JCTVC-K1003中用於CPBRD句法及語意之方法而言,為了執行剪接操作以自位元流A之發送畫 面切換至位元流B之發送畫面,剪接工具在剪接點處調整畫面CPBRD值(亦即在該剪接點處與該畫面相關連之PT SEI訊息中之CPBRD值)。剪接點(發生切換之處)係對應於位元流B中之RAP畫面的位置。(剪接點處之位元流B中之RAP畫面亦具備BP SEI訊息,及BP SEI訊息將按照解碼次序為來自位元流B之後續畫面之CPBRD值重設參照時間,因此,對位元流B中之後續畫面之CPBRD值的調整是不必要的。)為了完成剪接操作,剪接工具通常執行以下步驟,但不一定按照此次序,及可存在一些替代性變化。
剪接工具相對於位元流B中具有先前BP SEI訊息之畫面的標稱移除時間找到及讀取位元流B中之RAP畫面之CPBRD值。此CPBRD之值為DRAPB。如若位元流B中無先前畫面,則DRAPB可基於本端框速率而經設定為一值(例如,基於DeltaToDivisor,該DeltaToDivisor可基於位元流A中最後畫面或位元流B中之第一畫面之pic_struct_present_flag、field_pic_flag及pic_struct之值而規定)。
剪接工具亦找尋及讀取(位元流B之)畫面之CPBRD值,該畫面按照解碼次序在位元流B中優先於RAP畫面,該畫面之CPBRD值係相對於位元流B中具有先前BP SEI訊息之畫面之延遲。此CPBRD之值係DPREVB。如若位元流B中無先前畫面,則將DPREVB設定為0。
剪接工具亦找尋及讀取(位元流A之)最後畫面之CPBRD值,該最後畫面按照解碼次序在位元流A中優先於剪接點,該最後畫面之CPBRD值係相對於位元流A中具有先前 BP SEI訊息之畫面之延遲。此CPBRD之值係DPREVA。如若按照解碼次序在位元流A中優先於剪接點的(位元流A之)最後畫面係具有BP SEI訊息之畫面,則將DPREVA設定為0。
然後,剪接工具在剪接點處修正來自位元流B的RAP畫面之CPBRD值,設定該CPBRD值等於DPREVA+(DRAPB-DPREVB),以便相對於位元流A中具有先前BP SEI訊息之畫面來表達剪接點處來自位元流B之RAP畫面之CPBRD值。剪接工具將來自位元流B之此已修正RAP畫面及後續畫面放入經剪接之位元流中,在自位元流A獲取之畫面之後。
此描述已省略與其他操作相關連之某些細節及潛在併發困難。例如,此描述並未闡述當兩個位元流之間的參考時脈值不同之情況或當RAP畫面及BP SEI訊息位置不一致之情況。
剪接工具執行上述找尋及讀取操作,因為根據用於CPBRD句法及語意的先前方法,CPBRD資訊被引用至位元流中具有先前BP SEI訊息之畫面。剪接工具調整已剪接之位元流中之CPBRD資訊,以便相對於此參考點表達剪接點處之CPBRD值。找尋及讀取CPBRD值之操作可能十分繁冗及難以執行,及可能需要存取剪接系統不易於存取(例如,歸因於加密或緩衝能力約束)之資料。
第7圖圖示針對簡化情況之問題,該情況涉及兩個單獨編碼之位元流A及位元流B之串接。第7圖之上部分圖示在剪接之前的位元流A之三個存取單元(access unit;「AU」) 及位元流B之兩個AU。對於位元流A而言,CPBRD值經信號指示以指示相對於位元流A之第一個AU(亦即AU 0)的初始CPB移除延遲之第二AU及第三AU(亦即AU 1及AU 2)的移除延遲。對於位元流B而言,CPBRD值經信號指示以指示相對於位元流B之第一AU(亦即AU 0)之初始CPB移除延遲之第二AU(亦即AU 1)之移除延遲。值au_cbp_removal_delay(k)係指AU數目k之CPB移除延遲。在位元流B之AU剪接在位元流A之AU之後之情況下,為位元流B之第一個AU(AU 0)決定CPBRD。第7圖之下部分圖示在剪接至單個位元流內之後的位元流A及位元流B之AU。AU之一些CPBRD值在已剪接之位元流中未改變(亦即位元流A之第二AU和第三AU(AU 1及AU2)之CPBRD值相對於位元流A之第一個AU(AU 0)之初始CPB移除延遲未改變,及位元流B之第二AU(AU 1)的CPBRD值相對於位元流B之第一個AU(AU 0)之CPB移除延遲未改變)。然而,位元流B之第一個AU(剪接之前之AU 0;在剪接之後經編號為AU 3)的CPBRD值經調整以表達相對於位元流A之第一個AU(AU 0)之初始CPB移除延遲的已剪接之位元流之移除延遲。在更為複雜之實例中(例如,在位元流包括更多個AU及/或在一些AU不可用之情況下),為已剪接之位元流中第二序列之第一個AU決定CPBRD值可能十分困難。
B. 修正CPBRD之句法及語意的一般方法
本部分描述針對CPBRD之句法及語意的先前方法之多種修正。根據該等修正,當既定畫面(通常被稱為「當 前畫面」)具有與該既定畫面相關連之BP SEI訊息時,編碼器可發送指示以下內容之句法元素:(a)一CPBRD值,該值相對於畫面之標稱CPB移除時間,該畫面具有BP SEI訊息及按照解碼次序(亦被稱作位元流次序或解碼次序)優先於當前畫面,如先前方法(「第a項」)中所述;(b)一CPBRD值,該值相對於最後畫面之標稱CPB移除時間,該最後畫面按照解碼次序優先於當前畫面,而不管最後之先前畫面是否具有BP SEI訊息(「第b項」)(在一些變化中,考慮在同一或較低之時間子層中優先於當前畫面之該最後畫面;例如,如若當前畫面具有等於0之TemporalId,則先前畫面亦具有等於0之TemporalId);及(c)對以下情況之指示:(i)第a項中規定之值是否存在(或是否始終存在,其值是否有效),及(ii)第b項中規定之值是否存在(或是否始終存在,其值是否有效)(「第c項」)。
可將第c項之該兩個指示結合至單個句法元素中,該單個句法元素指示三個容許組合中之一者(亦即,第a項有效/第b項無效、第a項無效/第b項有效,或第a項及第b項都有效)。(或者,在0值不能為有效值之實施方式中,對於第c項而言,一種指示無效之方式為將0值用於CPBRD值。禁止指示CPBRD值皆無效。)
在使用該種句法之情況下,剪接工具可在眾多情況中簡化其剪接操作。如若位元流B之內容遵循第b項中之規定,則無必要讀取其他值-來自兩個位元流之資料可簡單地串 接在一起。如若位元流B之內容亦含有遵循第a項中之規定之句法元素,則第a項CPBRD資料將被移除或在串接位元流中被標記為無效。
在當前畫面不具有BP SEI訊息之情況下,如JCTVC-K1003中HEVC標準之句法,或等效句法(如H.264/AVC標準)可在無需修改之情況下使用。
作為第b項之變化,句法可規定相對於最後畫面之標稱CPB移除時間的CPBRD遞增值,該最後畫面按照解碼次序在同一時間子層或較低時間子層內(而非在任何時間子層中,如上所示)優先於當前畫面。在此情況下,相對於同一(或較低)時間子層中之先前畫面而非僅相對於任何子層之先前畫面來表達CPBRD值,從而使用於較高時間子層之畫面移除(若存在)的方案健全。此變化亦可分別應用於C、D,及E部分中所述之單值方法及雙值方法。例如,如若當前畫面具有等於0之TemporalId,則相對於TemporalId等於0之先前畫面來表達CPBRD值。此可能為當唯有遵循第b項規定之CPBRD值才經信號指示以用於具有等於0之TemporalId的畫面(例如由於以下條件:具有該種CPBRD值之SEI訊息僅可用於具有等於0之TemporalId之畫面)時之情況。
C. 使用旗標之單值方法
在上述修正之單值變化中,對於一些畫面而言,編碼器將第a項及第b項之兩個CPBRD值中之一者連同對經信號指示之CPBRD值是否對應於第a項或第b項之規定的指示一起發送。
第8圖及第9圖圖示單值方法之實施方式,在該實施方式中,BP SEI訊息(如JCTVC-K1003中)之句法及語意經修正,及一些PT SEI訊息(如JCTVC-K1003中)之語意經修正,但該等訊息之句法未改變。BP SEI訊息句法經修正以包括名稱為concatenation_flag之旗標,如第8圖之示例性句法(800)中所示。concatenation_flag係二元值。當既定畫面(當前畫面)具有BP SEI訊息時,當前畫面的PT SEI訊息中之CPBRD值之語意視畫面之BP SEI訊息中的concatenation_flag值而定。第9圖圖示PT SEI訊息之句法(900),包括句法元素au_cpb_removal_delay_minus1。當concatenation_flag之值為0時,由句法元素au_cpb_removal_delay_minus1所指示之CPBRD值根據第a項之規定而經解譯。另一方面,當concatenation_flag之值為1時,由au_cpb_removal_delay_minus1所指示之CPBRD值根據第b項之規定而經解譯。
第8圖及第9圖中圖示之其他句法元素具有在JCTVC-K1003中規定之意義。
對於已剪接之位元流而言,當concatenation_flag為1時,具有BP SEI訊息之畫面n之標稱移除時間tr,n(n)可自先前畫面(存取單元)n-1之標稱移除時間tr,n(n-1)與一延遲而經計算得出:tr,n(n)=tr,n(n-1)+tc *(Max(au_cpb_removal_delay(n),Ceil((InitCpbRemovalDelay[SchedSelIdx]÷90000+taf(n-1)-tr,n(n-1))÷tc)))。
在此公式中,約束Ceil((InitCpbRemovalDelay[SchedSelIdx]÷90000+taf(n-1)-tr,n(n-1)÷tc)確保該延遲之長度至少與在無緩衝下溢情況下在剪接點(畫面n)處開始解碼時之延遲長度相同。添加至tr,n(n-1)之延遲依據對畫面n信號指示之CPBRD值與由該約束指示之起始延遲中之較長者而經設定。
第10圖圖示為何考慮約束Ceil((InitCpbRemovalDelay[SchedSelIdx]÷90000+taf(n-1)-tr,n(n-1))÷tc)。對於與緩衝期SEI訊息相關連之每一存取單元n(n>0)而言,值△tg,90(n)由△tg,90(n)=90000 *(tr,n(n)-taf(n-1))規定,在該公式中,tr,n(n)係存取單元n(在第10圖中,存取單元n為當前緩衝期之第一存取單元)之標稱移除時間,及其中,taf(n-1)係存取單元n-1(在第10圖中,存取單元n-1為先前緩衝期之最後存取單元)之最終到達時間。在第10圖中,當流1及流2串接在一起時,可能在使用CPBRD值之情況下發生下溢。利用約束則避免下溢,因為在串接之後,流2之緩衝狀態與原始緩衝狀態保持相同。
D. 使用旗標及差量值之雙值方法
在上述修正之一些雙值變化中,對於一些畫面而言,編碼器可發送RAP畫面之SEI訊息中第a項及第b項的兩個CPBRD值中之一或兩者。
第11圖圖示雙值方法之實施方式,在該實施方式中,BP SEI訊息(如JCTVC-K1003中)之句法及語意經修正。PT SEI訊息(如JCTVC-K1003中)之句法未改變。如第11圖之示例性句法(1100)所示,BP SEI訊息句法經修正以包括 concatenation_flag及名稱為au_cpb_removal_delay_delta_minus1之句法元素,該句法可指示CPBRD「差量」值(在此處,差量值減去一)。
concatenation_flag句法元素指示規定之約束是否應用於au_cpb_removal_delay_delta_minus1之值與按照解碼次序之先前畫面(若存在)(或在一些變化中為同一或較低時間子層中之先前畫面(若存在),例如藉由檢查先前畫面之TemporalId小於還是等於當前畫面之TemporalId值)之au_cpb_removal_delay_minus1之值之間的關係。例如,當考慮時間子分層時,如若當前畫面具有等於0之TemporalId,則該檢查係針對先前畫面之TemporalId等於0。
au_cpb_removal_delay_delta_minus1句法元素加1規定相對於最後畫面(若存在)之標稱CPB移除時間的CPB移除延遲遞增值,該最後畫面(或在一些變化中為同一或較低時間子層中之該最後畫面(若存在),例如藉由檢查先前畫面之TemporalId小於還是等於當前畫面之TemporalId值)按照位元流次序(解碼次序)優先於當前畫面。例如,當考慮時間子分層時,如若當前畫面具有等於0之TemporalId,則該檢查係針對先前畫面之TemporalId等於0。
當concatenation_flag等於0時,CPBRD值(如當前畫面之PT SEI訊息之au_cpb_removal_delay_minus1句法元素所決定)係根據第a項得以解譯。如若先前畫面不具有BP SEI訊息,則此第a項CPBRD值等於根據第b項之CPBRD值加按照解碼次序優先於當前畫面之畫面(在一些變化中為 適當時間子層之先前畫面)的第a項CPBRD值。第b項CPBRD值係當前畫面之第a項CPBRD值與先前畫面之第a項CPBRD值之間的差。此第b項值由句法元素au_cpb_removal_delay_delta_minus1指示,及可針對在當前畫面及先前畫面之PT SEI訊息中經發送之兩個第a項CPBRD值之間的差來檢查該句法元素之值,以驗證第a項及第b項CPBRD值有效。單獨第a項CPBRD值在當前畫面之PT SEI訊息中經信號指示。換言之,在當前畫面具有BP SEI訊息及concatenation_flag等於0,及當前畫面並非位元流中第一畫面時,位元流合規需要滿足以下要求。
(1)如若先前畫面(或在一些變化中為TemporalId小於或等於當前畫面之TemporalId值之先前畫面)不具有BP SEI訊息,則當前畫面之au_cpb_removal_delay_minus1等於先前畫面(在一些變化中為TemporalId小於或等於當前畫面之TemporalId值之先前畫面)之au_cpb_removal_delay_minus1加au_cpb_removal_delay_delta_minus1加1。
(2)在其他情況下(先前畫面具有BP SEI訊息),au_cpb_removal_delay_minus1等於au_cpb_removal_delay_delta_minus1。
該等要求意謂著當concatenation_flag等於0時,在假定先前條件得到滿足及先前畫面不具有BP SEI訊息之情況下,第a項及第b項之指示皆為有效及存在。在此情況下,當前畫面之BP SEI訊息包括第b項CPBRD值(用句法元素au_cpb_removal_delay_delta_minus1表示),及當前畫面之 PT SEI訊息包括第a項CPBRD值(用au_cpb_removal_delay_minus1表示)。另一方面,當先前畫面具有BP SEI訊息(及旗標仍等於0)時,句法元素au_cpb_removal_delay_delta_minus1及au_cpb_removal_delay_minus1皆指示第a項CPBRD值。
當concatenation_flag等於1時,句法元素au_cpb_removal_delay_delta_minus1及au_cpb_removal_delay_minus1無需滿足上述位元流合規要求。當旗標等於1時,CPBRD計算經改變以適用於位元流剪接,而非直接被引用至具有BP SEI訊息之先前畫面。當當前畫面具有BP SEI訊息及concatenation_flag等於1時,當前畫面之au_cpb_removal_delay_minus1句法元素(在當前畫面之PT SEI訊息中)被忽略。由此,當concatenation_flag等於1時,唯有第b項之指示有效,如au_cpb_removal_delay_delta_minus1句法元素(當前畫面之BP SEI訊息中)所指示。
上述規定之CPBRD值解譯將可能實現藉由在剪接點處簡單地將RAP畫面之BP SEI訊息中的concatenation_flag之值自0改變至1來剪接位元流(該等位元流使用適當設計之引用結構)。
在此方案中,由於第b項之指示始終有效(儘管在一些情況下該指示必須等於當前畫面之第a項CPBRD值,及在其他情況下該指示必須等於當前畫面與先前畫面之第a項CPBRD值之間之差),HRD時序資訊之規格可始終基於第b 項。而且,當concatenation_flag等於0時,解碼器可檢查是否滿足等式條件。如若未滿足等式條件,則此情況將指示發生了某一問題(例如,先前畫面已丟失,或同一或較低時間子層之先前畫面已丟失)。在偵測到此畫面已丟失之後,解碼器可藉由解譯第a項CPBRD資料及丟棄第b項資料(因為根據該資料計算適當之CPBRD時序必須使用已丟失畫面之資料)來復原正確的CPBRD時序資訊。如偵測到該丟失,則解碼器亦可調用丟失消除措施。
在使用旗標(例如concatenation_flag)及差量值之該雙值方法中,具有BP SEI訊息之畫面n之標稱移除時間可根據先前畫面(存取單元)n b 之標稱移除時間與一延遲而經計算得出。例如,當存取單元n為未初始化HRD之緩衝期之第一存取單元,則自CPB獲取之存取單元n之標稱移除時間tr,n(n)規定如下。
如若當前畫面與concatenation_flag等於1之BP SEI訊息相關連,則標稱移除時間tr,n(n)規定如下:tr,n(n)=tr,n(n b )+tc *(Max((au_cpb_removal_delay_delta_minus1(n)+1),Ceil((InitCpbRemovalDelay[SchedSelIdx]÷90000+taf(n b )-tr,n(n b ))÷tc))),其中,tr,n(n b )係先前畫面(在一些變化中為TemporalId小於或等於當前畫面之TemporalId值的先前畫面)之標稱移除時間,及au_cpb_removal_delay_delta_minus1(n)係與存取單元n相關連之BP SEI訊息中 au_cpb_removal_delay_delta_minus1之值。約束Ceil((InitCpbRemovalDelay[SchedSelIdx]÷90000+taf(n b )-tr,n(n b ))÷tc)確保該延遲之長度至少與在無緩衝下溢情況下在剪接點(畫面n)處開始解碼時之延遲長度相同。添加至tr,n(n b )之延遲依據對畫面n信號指示之CPBRD值與由該約束指示之起始延遲中之較長者而經設定。
在其他情況下(當前畫面不與concatenation_flag等於1之BP SEI訊息關連時),標稱移除時間規定如下:tr,n(n)=tr,n(n b )+tc *(au_cpb_removal_delay_minus1(n)+1),其中,tr,n(n b )係先前緩衝期之第一存取單元之標稱移除時間,及au_cpb_removal_delay_minus1(n)係與存取單元n相關連之PT SEI訊息中au_cpb_removal_delay_minus1之值。
對於利用串接旗標和差量值之雙值方法,對解碼器複雜性及句法資料之新增數量的影響為最低。唯有具有BP SEI訊息之畫面需要新增之句法元素(au_cpb_removal_delay_delta_minus1及關連之concatenation_flag),該等畫面相對不常見。可能非常顯著地簡化剪接操作。利用此方法,將可能藉由在剪接點處簡單地將RAP畫面之BP SEI訊息中的concatenation_flag之值設定為1來在位元流之間進行剪接或平滑地串接單獨編碼之位元流(該等位元流使用適當設計之引用結構)。同時,當concatenation_flag等於0時,規定之約束將使得解碼器能夠檢查該約束是否得到滿足,以此作為偵測先前畫面(或同一 或較低時間子層中之先前畫面)之丟失之方式。
E. 替代性CPBRD句法及語意之條件性使用
在一些變化中,在位元流中以信號指示使用或不使用替代性CPBRD句法及語意。由此,如若新增資料之數量為考慮事項,則額外句法元素之存在現可以較高之句法階層處之旗標為條件,當不存在額外句法元素時則應用習用解譯(相對於具有BP SEI訊息之先前畫面的CPBRD值)。
例如,編碼器可在序列參數集(sequence parameter set;「SPS」)中或位元流中之其他處設定開/關值以指示是否將CPBRD句法及語意用於支援經簡化之視訊剪接操作。如若開/關值指示對簡化視訊剪接的支援關閉了,則編碼器使用習用CPBRD句法及語意,如先前方法。如若開/關值指示對簡化之視訊剪接的支援打開了,則編碼器將CPBRD句法及語意用於支援經簡化之視訊剪接操作(例如,根據本文所述之新方法中之一者)。
對應解碼器接收及剖析主動SPS中或位元流中其他處之開/關值以指示是否將CPBRD句法及語意用支援經簡化之視訊剪接操作。如若開/關值指示對經簡化之視訊剪接的支援關閉了,則解碼器使用習用CPBRD句法及語意,如先前方法所述。如若開/關值指示對經簡化之視訊剪接的支援打開了,則編碼器將CPBRD句法及語意用於支援經簡化之視訊剪接操作(例如,根據本文所述之新方法中之一者)。
視訊剪接工具在決定如何執行剪接操作時可考慮開/關旗標。如若未設定開/關值(關閉),則剪接工具藉由調整 CPBRD值而使用習用剪接,如先前方法所述。如若設定了開/關值(打開),則剪接工具使用經簡化之串接操作,如本文所述。
F. 解碼單元之替代方案
在先前實例中之眾多實例中,設定或決定畫面之CPBRD值。該種畫面亦可被稱作對應於主畫面之存取單元。
或者,當解碼單元係主畫面之存取單元子集時,設定或決定解碼單元之CPBRD值。例如,解碼單元可為畫面之片段。HRD可對存取單元或解碼單元(例如,畫面之片段或其他部分之解碼單元)進行操作。一般而言,對於解碼單元而言,CPBRD值係相對於先前畫面之最後的解碼單元。
本文所述之技術及工具可適用於存取單元或解碼單元。術語「單元」可意謂著存取單元或解碼單元。相對於先前畫面而表達單元之CPBRD值。對於存取單元而言,先前存取單元依據解譯可為最後存取單元、同一時間子層或較低時間子層中之最後存取單元,或具有BP SEI訊息之最後存取單元。對於解碼單元而言,考慮該種先前存取單元之最後解碼單元。
G. 用於修正CPBRD句法及語意之技術
第12圖圖示用於在編碼期間設定CPBRD值之一般化技術(1200)。視訊編碼器,諸如上文參考第3圖所述之一視訊編碼器或其他視訊編碼器執行該技術(1200)。
編碼器為視訊序列之既定單元設定(1210)CPBRD值。例如,該既定單元係具有BP SEI訊息及可為隨機存取畫 面之畫面的存取單元。或者,該既定單元係該種畫面之部分的解碼單元。該既定單元之CPBRD值指示相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,而不管該先前畫面是否具有BP SEI訊息。在一些實施方式中,先前畫面按照解碼次序緊鄰優先於既定單元(或包括該既定單元之畫面)。或者,與既定單元在同一時間子層或在較低時間子層之視訊序列畫面中,先前畫面按照解碼次序緊鄰優先於該既定單元(或包括該既定單元之畫面)。例如,當考慮時間子分層時,如若當前畫面具有等於0之TemporalId,則先前畫面係TemporalId等於0之先前畫面。
編碼器以信號指示(1220)既定單元之CPBRD值。例如,將CPBRD值寫入與編碼畫面之存取單元相關連之BP SEI訊息或PT SEI訊息中。
在一些變化中(例如,雙值方法),編碼器可能根據不同規定而為既定單元設定多個CPBRD值。例如,除了經設定(1210)為相對於按照解碼次序之先前畫面(而不管該先前畫面是否具有BP SEI訊息)之標稱CPB移除時間之遞增值的CPBRD值以外,編碼器亦為既定單元設定另一CPBRD值。該既定單元之另一CPBRD值指示相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,該先前畫面具有BP SEI訊息。然後,編碼器以信號指示該既定畫面之另一CPBRD(例如,在該既定單元之PT SEI訊息中)。編碼器亦可以信號指示(例如,寫入一或更多個SEI訊息中)對每一CPBRD值是否各自存在或不存在之一或更多個指示。或者,編碼器 可以信號指示(例如,寫入一或更多個SEI訊息中)對每一CPBRD值是否各自有效或無效之一或更多個指示。
在其他變化中(例如,單值方法),編碼器以信號指示(例如,寫入一或更多個SEI訊息中)對既定單元之CPBRD值類型之指示。例如,對CPBRD值類型之指示在既定單元或包括該既定單元之畫面之BP SEI訊息中經信號指示。對CPBRD值類型之指示指示如何解譯既定單元之CPBRD值,可在PT SEI訊息中信號指示該CPBRD值。例如,編碼器以信號指示對視訊序列之既定單元的CPBRD值類型之指示,然後,為該既定單元設定CPBRD值。對於CPBRD值之第一類型而言,既定單元之CPBRD值指示相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,該先前畫面具有BP SEI訊息。對於CPBRD值之第二類型而言,既定單元之CPBRD值指示相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,而不管該先前畫面是否具有BP SEI訊息。然後,編碼器以信號指示既定單元之CPBRD值。
在其他變化中(例如,使用旗標及差量值之雙值方法),編碼器以信號指示(例如,寫入一或更多個SEI訊息中)對既定單元之CPBRD值類型之指示,及以信號指示既定單元之CPBRD值以表示差量值。例如,在既定單元或包括該既定單元之畫面之BP SEI訊息中信號指示對CPBRD值類型之指示及CPBRD值(差量值)。依據CPBRD值類型,可在PT SEI訊息中信號指示當前畫面之CPBRD值。例如,編碼器以信號指示對視訊序列之既定單元之CPBRD值類型的指 示,及設定差量值以作為該既定單元之CPBRD值。既定單元之差量值指示既定單元之CPBRD值與按照解碼次序之先前畫面之CPBRD值之間的差。編碼器以信號指示差量值以作為既定單元之CPBRD值(例如,在BP SEI訊息中)。編碼器亦為既定單元設定另一CPBRD值。對於CPBRD值之第一類型而言,該另一CPBRD值指示相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,該先前畫面具有BP SEI訊息。對於CPBRD值之第二類型,既定單元之另一CPBRD值無效。編碼器以信號指示既定單元之另一CPBRD值(例如,在PT SEI訊息中)。
編碼器可逐個單元(例如,逐個畫面)重複該技術(1200)。為簡明起見,第12圖未圖示該技術(1200)如何結合其他編碼過程進行操作。
第13圖圖示在為畫面設定CPBRD值時,用於在編碼期間根據單值方法設定CPBRD值之一種示例性技術(1300)。視訊編碼器,諸如上文參考第3圖所述之一視訊編碼器或其他視訊編碼器,執行該技術(1300)。
若要開始,編碼器獲取(1310)在視訊序列中之當前畫面。編碼器檢查(1320)當前畫面是否具有BP SEI訊息。如不具有,則編碼器將PT SEI訊息中當前畫面之CPBRD設定(1360)為相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,該先前畫面具有BP SEI訊息。
另一方面,如若當前畫面具有BP SEI訊息,則編碼器為當前畫面在BP SEI訊息中設定(1330)串接旗標值。依據 旗標(1340)之值,編碼器可以不同方式為當前畫面設定CPBRD值。如若旗標等於1,則編碼器將當前畫面在PT SEI訊息中之CPBRD值設定(1350)為相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,而不管該先前畫面是否具有BP SEI訊息。否則(旗標等於0),編碼器將當前畫面在PT SEI訊息中之CPBRD設定(1360)為相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,該先前畫面具有BP SEI訊息。
編碼器檢查(1370)此操作是否完成,如未完成,則將下一畫面作為當前畫面繼續操作。為簡明起見,第13圖未圖示該技術(1300)如何結合其他編碼過程進行操作。
第14圖圖示在解碼期間用於處理CPBRD值之一種一般化技術(1400)。視訊解碼器,諸如上文參考第4圖所述之一視訊解碼器或其它視訊解碼器,執行該技術(1400)。
解碼器接收(1410)視訊序列之既定單元之CPBRD值。例如,既定單元為具有BP SEI訊息及可為隨機存取畫面之畫面之存取單元。或者,既定單元係該種畫面之部分的解碼單元。既定單元之CPBRD值指示相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,而不管該先前畫面是否具有BP SEI訊息。在一些實施方式中,先前畫面按照解碼次序緊鄰優先於既定單元(或包括該既定單元之畫面)。或者,在與既定單元位於同一時間子層或位於較低時間子層之視訊序列之畫面中,先前畫面按照解碼次序緊鄰優先於既定單元(或包括該既定單元之畫面)。例如,當考慮時間子 分層時,如若當前畫面具有等於0之TemporalId,則先前畫面係TemporalId等於0之先前畫面。
解碼器剖析(1420)既定單元之CPBRD值。例如,CPBRD值根據與編碼畫面之存取單元相關連之BP SEI訊息或PT SEI訊息而經剖析。
在一些變化中(例如,雙值方法),解碼器可接收及剖析既定單元之多個CPBRD值,應根據不同規定解譯該等CPBRD值。例如,除了經設定為相對於按照解碼次序之先前畫面(而不管該先前畫面是否具有BP SEI訊息)之標稱CPB移除時間之遞增值的CPBRD值以外,解碼器亦接收及剖析既定單元(例如,來自既定單元之PT SEI訊息)之另一CPBRD值。該既定單元之另一CPBRD值指示相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,該先前畫面具有BP SEI訊息。解碼器亦可接收及剖析對每一CPBRD值是否各自存在或不存在之一或更多個指示。或者,解碼器可接收及剖析對每一CPBRD值是否各自有效或無效之一或更多個指示。
在其他變化中(例如,單值方法),解碼器接收及剖析對既定單元之CPBRD值類型之指示。例如,對CPBRD值類型之指示根據既定單元或包括該既定單元之畫面之BP SEI訊息經剖析。對CPBRD值類型之指示指示如何解譯既定單元之CPBRD值,該CPBRD值可根據PT SEI訊息經剖析。例如,解碼器接收及剖析對視訊序列之既定單元的CPBRD值類型之指示,然後,接收及剖析該既定單元之CPBRD值。對 於CPBRD值之第一類型而言,既定單元之CPBRD值指示相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,該先前畫面具有BP SEI訊息。對於CPBRD值之第二類型而言,既定單元之CPBRD值指示相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,而不管該先前畫面是否具有BP SEI訊息。
在其他變化中(例如,使用旗標及差量值之雙值方法),解碼器接收及剖析對既定單元之CPBRD值類型之指示,及接收及剖析表示差量值之既定單元之CPBRD值。例如,對CPBRD值類型之指示及CPBRD值(差量值)根據既定單元或包括該既定單元之畫面之BP SEI訊息經剖析。依據CPBRD值類型,既定單元之CPBRD值可根據PT SEI訊息經剖析。例如,解碼器接收及剖析對視訊序列之既定單元之CPBRD值類型的指示,及接收及剖析差量值以作為該既定單元之CPBRD值(例如,來自BP SEI訊息)。既定單元之差量值指示既定單元之CPBRD值與按照解碼次序之先前畫面之CPBRD值之間的差。解碼器亦接收及剖析既定單元之另一CPBRD值(例如,來自PT SEI訊息)。當該另一CPBRD值為有效時,既定單元之該另一CPBRD值指示相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,該先前畫面具有BP SEI訊息。
在剖析既定單元之CPBRD值之後,解碼器可利用該CPBRD值。例如,至少部分基於既定單元之CPBRD值,解碼器可根據既定單元之CPB計算標稱移除時間。
解碼器可對逐個單元(例如,逐個畫面)重複該技術(1400)。為簡明起見,第14圖未圖示該技術(1400)如何結合其他解碼過程進行操作。
第15圖圖示在畫面設定有CPBRD值之情況下,用於在解碼期間根據單值方法決定CPBRD值之一種示例性技術(1500)。視訊解碼器,例如上文參考第4圖所述之一視訊解碼器或其他視訊解碼器,執行該技術(1500)。
若要開始,解碼器在視訊序列中獲取(1510)當前畫面。解碼器檢查(1520)當前畫面是否具有BP SEI訊息。如不具有,則解碼器將PT SEI訊息中當前畫面之CPBRD解譯(1560)為相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,該先前畫面具有BP SEI訊息。
另一方面,如若當前畫面具有BP SEI訊息,則解碼器為當前畫面在BP SEI訊息中獲取(1530)串接旗標值。依據旗標(1540)之值,解碼器可以不同方式解譯當前畫面之CPBRD值。如若旗標等於1,則解碼器將當前畫面在PT SEI訊息中之CPBRD值解譯(1550)為相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,而不管該先前畫面是否具有BP SEI訊息。在另一情況下(旗標等於0),解碼器將當前畫面之CPBRD在PT SEI訊息中解譯(1560)為相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,該先前畫面具有BP SEI訊息。
解碼器檢查(1570)此操作是否完成,如未完成,則將下一畫面作為當前畫面繼續操作。為簡明起見,第15圖未 圖示該技術(1500)如何結合其他解碼過程進行操作。
第16圖圖示用於剪接位元流之一種一般化技術(1600)。視訊剪接工具執行該技術(1600)。
剪接工具接收(1610)第一視訊序列之第一位元流及亦接收(1620)第二視訊序列之第二位元流。第二視訊序列之既定單元之CPBRD值指示相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,而不管該先前畫面是否具有BP SEI訊息。
剪接工具將第二視訊序列之至少部分剪接(1630)至第一視訊序列。作為剪接操作之部分,剪接工具將第二視訊序列(開始於既定單元或包括該既定單元之畫面)串接至第一視訊序列。例如,剪接工具將既定單元或包括該既定單元之畫面之BP SEI訊息(其中,BP SEI訊息包括對既定單元之CPBRD值類型,及在一些變化中對既定單元之第一CPBRD值類型之指示)與PT SEI訊息(其中,PT SEI訊息包括既定單元之CPBRD值,或在一些變化中既定單元之第二CPBRD值)串接。
在一些實施方式中,既定單元之第二CPBRD值(例如,在PT SEI訊息中)指示相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,該先前畫面具有BP SEI訊息。在此情況下,作為剪接操作之部分,剪接工具可丟棄既定單元之另一第二CPBRD,或將既定單元之另一第二CPBRD標記為無效。
第17圖圖示在畫面設定有CPBRD值之情況下,用 於在編碼期間根據使用旗標及差量值之雙值方法設定CPBRD值之一種示例性技術(1700)。視訊編碼器,諸如上文參考第3圖所述之一視訊編碼器或其他視訊編碼器,執行該技術(1700)。
若要開始,編碼器在視訊序列中獲取(1710)當前畫面。編碼器檢查(1720)當前畫面是否具有BP SEI訊息。如不具有,則編碼器將PT SEI訊息中當前畫面之CPBRD值設定(1760)為相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,該先前畫面具有BP SEI訊息。
另一方面,如若當前畫面具有BP SEI訊息,則編碼器為當前畫面在BP SEI訊息中設定(1730)串接旗標值。依據旗標(1740)之值,編碼器可以不同方式為當前畫面設定CPBRD值。
如若旗標等於1,則編碼器將當前畫面之CPBRD值在PT SEI訊息中設定(1750)為具有任何值,因為在PT SEI訊息中將忽略當前畫面之CPBRD值。BP SEI訊息中當前畫面之CPBRD值(差量值)將被解譯為相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值。
在另一情況下(旗標等於0),編碼器檢查(1742)按照解碼次序之先前畫面是否具有BP SEI訊息。如若具有,則編碼器設定(1744)當前畫面在BP SEI訊息中之CPBRD值,使得當前畫面在其PT SEI訊息中之CPBRD值等於當前畫面之BP SEI訊息中之CPBRD值加1。如不具有(先前畫面不具有BP SEI訊息),則編碼器設定(1746)當前畫面在BP SEI 訊息中之CPBRD值,使得當前畫面在其PT SEI訊息中之CPBRD值等於先前畫面在其PT SEI訊息中之CPBRD值加當前畫面在BP SEI訊息中之CPBRD值(差量值)加1。編碼器亦將(1760)當前畫面之CPBRD值在PT SEI訊息中設定為相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,該先前畫面具有BP SEI訊息。
編碼器檢查(1770)此操作是否完成,如未完成,則將下一畫面作為當前畫面繼續操作。為簡明起見,第17圖未圖示該技術(1700)如何結合其他編碼過程進行操作。
第18圖圖示在畫面設定有CPBRD值之情況下,用於在解碼期間根據使用旗標及差量值之雙值方法決定CPBRD值之一種示例性技術(1800)。視訊解碼器,諸如上文參考第4圖所述之一視訊解碼器或其他視訊解碼器,執行該技術(1800)。
若要開始,解碼器在視訊序列中獲取(1810)當前畫面。解碼器檢查(1820)當前畫面是否具有BP SEI訊息。如不具有,則解碼器將PT SEI訊息中當前畫面之CPBRD解譯(1860)為相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,該先前畫面具有BP SEI訊息。
另一方面,如若當前畫面具有BP SEI訊息,則解碼器為當前畫面在BP SEI訊息中獲取(1830)串接旗標值。依據旗標(1840)之值,解碼器可以不同方式解譯當前畫面之CPBRD值,或甚至忽略當前畫面之CPBRD值。
如若旗標等於1,則解碼器忽略(1850)當前畫面在 PT SEI訊息中之CPBRD值。當前畫面在BP SEI訊息中之CPBRD值(差量值)被解譯為相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值。
在另一情況下(旗標等於0),解碼器檢查(1842)先前畫面是否具有BP SEI訊息。如若具有,則編碼器可驗證(1844)當前畫面在其PT SEI訊息中之CPBRD值等於當前畫面在BP SEI訊息中之CPBRD值加1。如不具有(先前畫面不具有BP SEI訊息),則解碼器可驗證(1846)當前畫面在其PT SEI訊息中之CPBRD值等於先前畫面在其PT SEI訊息中之CPBRD值加當前畫面之BP SEI訊息中之CPBRD值(差量值)加1。解碼器亦將PT SEI訊息中當前畫面之CPBRD值解譯(1860)為相對於按照解碼次序之先前畫面之標稱CPB移除時間之一遞增值,該先前畫面具有BP SEI訊息。
解碼器檢查(1870)此操作是否完成,如未完成,則將下一畫面作為當前畫面繼續操作。為簡明起見,第18圖未圖示該技術(1800)如何結合其他解碼過程進行操作。
H. 變化及替代方案
詳細描述包括用於SEI訊息之眾多句法及語意實例。在一些情況下,該等實例一般遵循H.264/AVC標準及/或HEVC標準中所使用之SEI訊息形式。更一般而言,術語SEI訊息」或「VUI訊息」指示與編碼視訊資料相關連之任何句法元素集,該元素集轉換與本文所述之示例性SEI或VUI訊息之一或更多個句法結構中所承載之資訊同等的至少一些資訊,而不管該等句法元素是否藉由使用所引用之 H.264/AVC標準或HEVC標準中規定的SEI或VUI句法而經信號指示,是否以編碼視訊位元流內之其他句法經信號指示,或是否藉由一些其他手段經信號指示。
鑒於所揭示之本發明之原理可應用於眾多可能之實施例,因此,應認識到,圖示之實施例僅為本發明之較佳實例,及不應被視作限制本發明之範疇。相反,本發明之範疇由下文之申請專利範圍定義。因此,吾人主張吾人之發明全部符合該等請求項之範疇及精神。
1500‧‧‧技術
1510‧‧‧步驟
1520‧‧‧步驟
1530‧‧‧步驟
1540‧‧‧步驟
1550‧‧‧步驟
1560‧‧‧步驟
1570‧‧‧步驟

Claims (20)

  1. 一種計算裝置,該計算裝置經調適以執行一種方法,該方法包括以下步驟:設定一視訊序列之一既定單元之一編碼畫面緩衝器移除延遲(coded picture buffer removal delay;「CPBRD」)值,其中,該既定單元之該CPBRD值指示一遞增值,該遞增值相對於解碼次序中之一先前畫面之一標稱編碼畫面緩衝器(coded picture buffer;「CPB」)移除時間,而不管該先前畫面是否具有一緩衝期SEI訊息;及以信號指示該既定單元之該CPBRD值。
  2. 如請求項1所述之計算裝置,其中,該既定單元係一當前畫面之一存取單元,該當前畫面具有一緩衝期SEI訊息,及其中,該CPBRD值在該緩衝期SEI訊息中經信號指示為一句法元素,該句法元素表示該CPBRD值減1。
  3. 如請求項1所述之計算裝置,其中,該先前畫面按照解碼次序緊鄰優先於該既定單元或包括該既定單元之一畫面。
  4. 如請求項1所述之計算裝置,其中,在位於一既定時間子層或較低子層內之該視訊序列之畫面中,該先前畫面按照解碼次序緊鄰優先於該既定單元或包括該既定單元之該畫面。
  5. 如請求項1所述之計算裝置,其中,該既定單元係一隨機存取畫面或一隨機存取畫面之一部分,及其中,以訊號指示該CPBRD值之該步驟有助於開始於該隨機存取畫面之剪接。
  6. 如請求項1所述之計算裝置,其中,該方法進一步包括以下步驟:設定該既定單元之另一CPBRD值,其中,該既定單元之該另一CPBRD值指示一遞增值,該遞增值相對於解碼次序中之一先前畫面之一標稱CPB移除時間,該先前畫面具有一緩衝期SEI訊息;及在一畫面時序SEI訊息中以信號指示該既定單元之該另一CPBRD值為一句法元素,該句法元素表示該另一CPBRD值減1。
  7. 如請求項1所述之計算裝置,其中,該既定單元之該CPBRD值係一第一CPBRD值,該方法進一步包括以下步驟:以信號指示對該既定單元之該CPBRD值類型之一指示,該類型指示指示:與基於該第一CPBRD值與該第一CPBRD值的該先前畫面之一第三CPBRD值之一和相比,該既定單元之一第二CPBRD值是否受約束。
  8. 如請求項1所述之計算裝置,其中,該既定單元之該CPBRD值係一CPBRD差量值,該差量值指示該既定單元之 一另一CPBRD值與該CPBRD差量值之該先前畫面之一CPBRD值之間的一差,該方法進一步包括以下步驟:以信號指示該既定單元之一旗標;設定該既定單元之該另一CPBRD值,其中:對於該旗標之一第一值而言,該既定單元之該另一CPBRD值指示一遞增值,該遞增值相對於解碼次序中之一先前畫面之一標稱CPB移除時間,該先前畫面具有一緩衝期SEI訊息;及對於該旗標之一第二值而言,該既定單元之該另一CPBRD值無效;及以信號指示該既定單元之該另一CPBRD值。
  9. 一種在一計算裝置中之方法,該方法包括以下步驟:接收一視訊序列之一既定單元之一編碼畫面緩衝器移除延遲(coded picture buffer removal delay;「CPBRD」)值,其中,該既定單元之該CPBRD值指示一遞增值,該遞增值相對於解碼次序中之一先前畫面之一標稱編碼畫面緩衝器(coded picture buffer;「CPB」)移除時間,而不管該先前畫面是否具有一緩衝期SEI訊息;及剖析該既定單元之該CPBRD值。
  10. 如請求項9所述之方法,其中,該既定單元係一當前畫面之一存取單元,該當前畫面具有一緩衝期SEI訊息,及其 中,該CPBRD值在該緩衝期SEI訊息中經信號指示為一句法元素,該句法元素表示該CPBRD值減1。
  11. 如請求項9所述之方法,其中,在位於一既定時間子層之該視訊序列之畫面中,該先前畫面按照解碼次序緊鄰優先於該既定單元或包括該既定單元之該畫面。
  12. 如請求項9所述之方法,其中,該既定單元係一隨機存取畫面或一隨機存取畫面之一部分。
  13. 如請求項9所述之方法,其中,該方法進一步包括以下步驟:接收及剖析該既定單元之另一CPBRD值,該CPBRD值在一畫面時序SEI訊息中經信號指示為一句法元素,該句法元素表示該另一CPBRD值減1,其中,該既定單元之該另一CPBRD值指示一遞增值,該遞增值相對於解碼次序中之一先前畫面之一標稱CPB移除時間,該先前畫面具有一緩衝期SEI訊息。
  14. 如請求項9所述之方法,其中,該既定單元之該CPBRD值係一第一CPBRD值,該方法進一步包括以下步驟:接收及剖析對該既定單元之該CPBRD值類型之一指示,該類型指示指示:與基於該第一CPBRD值與該第一 CPBRD值的該先前畫面之一第三CPBRD值之一和相比,該既定單元之一第二CPBRD值是否受約束;及藉由比較該第二CPBRD值與基於該第三CPBRD值及該第一CPBRD值之一和來偵測資料丟失。
  15. 如請求項9所述之方法,其中,對於一已剪接之位元流而言,該既定單元或包括該既定單元之一畫面之一標稱移除時間可經計算為(a)該先前畫面之該標稱CPB移除時間與(b)一時脈值與該既定單元之該CPBRD值之一乘積之一和,該和由一約束限制,該約束確保延遲長度至少與在該既定單元或包括該既定單元之該畫面處開始解碼時之該延遲長度相同。
  16. 如請求項9所述之方法,該方法進一步包括以下步驟:至少部分基於該既定單元之該CPBRD值,根據該既定單元之該CPB計算一標稱移除時間。
  17. 如請求項9所述之方法,其中,該既定單元之該CPBRD值係一CPBRD差量值,該差量值指示該既定單元之另一CPBRD值與該CPBRD差量值之該先前畫面之一CPBRD值之間的一差,該方法進一步包括以下步驟:接收及剖析該既定單元之一旗標;接收及剖析該既定單元之該另一CPBRD值,其中:對於該旗標之一第一值而言,該既定單元之該另一CPBRD值指示一遞增值,該遞增值相對於解碼次序中之 一先前畫面之一標稱CPB移除時間,該先前畫面具有一緩衝期SEI訊息;及對於該旗標之一第二值而言,該既定單元之該另一CPBRD值無效。
  18. 一種電腦可讀媒體,該電腦可讀媒體儲存電腦可執行指令以用於使由該等指令程式化之一計算裝置執行一方法,該方法包括以下步驟:接收一第一視訊序列之一第一位元流之至少一部分;接收一第二視訊序列之一第二位元流之至少一部分,其中,該第二視訊序列之一既定單元之一編碼畫面緩衝器移除延遲(coded picture buffer removal delay;「CPBRD」)值指示一遞增值,該遞增值相對於解碼次序中之一先前畫面之一標稱編碼畫面緩衝器(coded picture buffer;「CPB」)移除時間,而不管該先前畫面是否具有一緩衝期SEI訊息;及將該第二視訊序列之至少一部分剪接至該第一視訊序列之至少一部分,其中,該剪接包括:從該既定單元或包括該既定單元之一畫面開始將該第二視訊序列之至少該部分串接至該第一視訊序列之至少該部分。
  19. 如請求項18所述之電腦可讀媒體,其中,該既定單元之另一CPBRD值指示一遞增值,該遞增值相對於解碼次序中之一先前畫面之一標稱CPB移除時間,該先前畫面具有一緩衝期SEI訊息,該方法進一步包括以下步驟: 作為該剪接步驟之一部分,將該既定單元之該另一CPBRD標記為無效。
  20. 如請求項18所述之電腦可讀媒體,其中,串接該第二視訊序列之該步驟包括以下步驟:串接該既定單元或包括該既定單元之畫面之一緩衝期SEI訊息,其中,該緩衝期SEI訊息包括對該既定單元之該CPBRD值類型之一指示,及進一步包括該既定單元之該CPBRD值;及串接一畫面時序SEI訊息,其中,該畫面時序SEI訊息包括該既定單元之另一CPBRD值。
TW102149090A 2013-01-07 2013-12-30 用於緩衝資訊以簡化視訊剪接的句法及語意 TW201436526A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201361749909P 2013-01-07 2013-01-07

Publications (1)

Publication Number Publication Date
TW201436526A true TW201436526A (zh) 2014-09-16

Family

ID=51060939

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102149090A TW201436526A (zh) 2013-01-07 2013-12-30 用於緩衝資訊以簡化視訊剪接的句法及語意

Country Status (13)

Country Link
US (8) US9661341B2 (zh)
EP (1) EP2941880B1 (zh)
JP (1) JP6312704B2 (zh)
KR (1) KR102179360B1 (zh)
CN (1) CN105027570B (zh)
AR (1) AR094382A1 (zh)
AU (1) AU2014203924B2 (zh)
BR (1) BR122022001553B1 (zh)
CA (1) CA2897039C (zh)
MX (1) MX356482B (zh)
RU (1) RU2659748C2 (zh)
TW (1) TW201436526A (zh)
WO (1) WO2014107691A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6019824B2 (ja) * 2012-07-02 2016-11-02 富士通株式会社 動画像符号化装置及び動画像符号化方法ならびに動画像符号化用コンピュータプログラム
US10021394B2 (en) 2012-09-24 2018-07-10 Qualcomm Incorporated Hypothetical reference decoder parameters in video coding
US9661341B2 (en) 2013-01-07 2017-05-23 Microsoft Technology Licensing, Llc Syntax and semantics for buffering information to simplify video splicing
US9418469B1 (en) * 2013-07-19 2016-08-16 Outward, Inc. Generating video content
US10375406B2 (en) * 2014-03-07 2019-08-06 Sony Corporation Image encoding device and method, and image processing device and method for enabling bitstream concatenation
AU2014202682A1 (en) * 2014-05-16 2015-12-03 Canon Kabushiki Kaisha Method, apparatus and system for copying a block of video samples
US9955159B2 (en) * 2014-10-31 2018-04-24 Google Llc Multi-video decoding with input switching
US10116576B2 (en) * 2015-10-19 2018-10-30 Samsung Electronics Co., Ltd. Methods and apparatus for random access of HEVC bitstream for MMT
US10575007B2 (en) 2016-04-12 2020-02-25 Microsoft Technology Licensing, Llc Efficient decoding and rendering of blocks in a graphics pipeline
US10390071B2 (en) * 2016-04-16 2019-08-20 Ittiam Systems (P) Ltd. Content delivery edge storage optimized media delivery to adaptive bitrate (ABR) streaming clients
US10157480B2 (en) 2016-06-24 2018-12-18 Microsoft Technology Licensing, Llc Efficient decoding and rendering of inter-coded blocks in a graphics pipeline
CN107770565A (zh) * 2016-08-15 2018-03-06 联发科技股份有限公司 低延迟视频编码的装置与方法
US11197010B2 (en) 2016-10-07 2021-12-07 Microsoft Technology Licensing, Llc Browser-based video decoder using multiple CPU threads
US10326815B2 (en) * 2016-12-20 2019-06-18 LogMeln, Inc. Techniques for scalably sharing video through a streaming server
EP3864856A1 (en) * 2018-10-12 2021-08-18 Telefonaktiebolaget LM Ericsson (publ) A monitoring and surveillance system arranged for processing video data associated with a vehicle, as well as corresponding devices and method
CN109547708A (zh) * 2018-12-04 2019-03-29 中国航空工业集团公司西安航空计算技术研究所 一种合成视景图像处理系统
WO2020256048A1 (ja) * 2019-06-18 2020-12-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
CN114080804A (zh) * 2019-06-19 2022-02-22 夏普株式会社 用于在视频编码中发送信号通知解码图片缓冲器信息的系统和方法
JP7403245B2 (ja) * 2019-06-21 2023-12-22 キヤノン株式会社 画像復号装置、画像復号方法
CN114424572B (zh) * 2019-09-24 2023-08-22 华为技术有限公司 用于多层视频码流的dpb参数的指示
CN110996063A (zh) * 2019-12-16 2020-04-10 武汉武钢绿色城市技术发展有限公司 一种监控画面上电视墙的装置及系统
CN117834916A (zh) * 2020-05-22 2024-04-05 字节跳动有限公司 访问单元中图片信息的信令
KR20220144241A (ko) * 2021-04-19 2022-10-26 삼성전자주식회사 서버 및 그 제어 방법

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5982436A (en) 1997-03-28 1999-11-09 Philips Electronics North America Corp. Method for seamless splicing in a video encoder
EP1518403A4 (en) 2002-07-02 2009-03-18 Conexant Systems Inc HYPOTHETIC REFERENCE DECODER FOR COMPRESSED PICTURES AND VIDEO
US7532670B2 (en) * 2002-07-02 2009-05-12 Conexant Systems, Inc. Hypothetical reference decoder with low start-up delays for compressed image and video
US20050201471A1 (en) 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
US20060002479A1 (en) 2004-06-22 2006-01-05 Fernandes Felix C A Decoder for H.264/AVC video
MX2007012564A (es) * 2005-04-13 2007-11-15 Nokia Corp Codificacion, almacenamiento y senalizacion de informacion de escalabilidad.
JP4311570B2 (ja) * 2005-07-01 2009-08-12 株式会社ソニー・コンピュータエンタテインメント 再生装置、ビデオ復号装置および同期再生方法
US20100074340A1 (en) * 2007-01-08 2010-03-25 Thomson Licensing Methods and apparatus for video stream splicing
CN101064515B (zh) * 2007-04-18 2011-05-11 威盛电子股份有限公司 可增进译码效能的方法
US8335266B2 (en) 2007-06-29 2012-12-18 Cisco Technology, Inc. Expedited splicing of video streams
JP4577357B2 (ja) * 2007-12-27 2010-11-10 ソニー株式会社 符号化装置及び方法、並びにプログラム
WO2009152450A1 (en) * 2008-06-12 2009-12-17 Cisco Technology, Inc. Picture interdependencies signals in context of mmco to assist stream manipulation
US20100167689A1 (en) * 2008-07-07 2010-07-01 Hossein Alexander Sepehri-Nik Method and apparatus for determining whether a cellular phone chip is dormant
US20100130136A1 (en) * 2008-08-22 2010-05-27 Hossein Alexander Sepehri-Nik System and Method for Interpreting and Classifying Signals in Communications Systems
US9083976B2 (en) * 2008-09-05 2015-07-14 Freescale Semiconductor, Inc. Processing a video stream in real time based on binary information of the video stream
JP5131101B2 (ja) * 2008-09-09 2013-01-30 富士通株式会社 動画像編集装置および動画像編集プログラム
EP2356812B1 (en) * 2008-11-12 2015-06-10 Cisco Technology, Inc. Processing of a video program having plural processed representations of a single video signal for reconstruction and output
US8743906B2 (en) 2009-01-23 2014-06-03 Akamai Technologies, Inc. Scalable seamless digital video stream splicing
JP5332773B2 (ja) * 2009-03-18 2013-11-06 ソニー株式会社 画像処理装置および方法
US9532055B2 (en) * 2012-04-16 2016-12-27 Microsoft Technology Licensing, Llc Constraints and unit types to simplify video random access
US9661341B2 (en) 2013-01-07 2017-05-23 Microsoft Technology Licensing, Llc Syntax and semantics for buffering information to simplify video splicing
US11899560B2 (en) * 2022-04-27 2024-02-13 Microsoft Technology Licensing, Llc Automatic correctness validation of database management systems

Also Published As

Publication number Publication date
KR102179360B1 (ko) 2020-11-16
US20230017536A1 (en) 2023-01-19
CA2897039A1 (en) 2014-07-10
WO2014107691A1 (en) 2014-07-10
US20190289310A1 (en) 2019-09-19
RU2659748C2 (ru) 2018-07-03
EP2941880B1 (en) 2019-04-03
US11070832B2 (en) 2021-07-20
JP2016506698A (ja) 2016-03-03
US20140192893A1 (en) 2014-07-10
CN105027570A (zh) 2015-11-04
US11665361B2 (en) 2023-05-30
US11665362B2 (en) 2023-05-30
US20170257639A1 (en) 2017-09-07
BR112015016254A2 (pt) 2017-07-11
US20220394287A1 (en) 2022-12-08
US20210314594A1 (en) 2021-10-07
US10313698B2 (en) 2019-06-04
CN105027570B (zh) 2019-07-02
RU2015127083A (ru) 2017-01-16
CA2897039C (en) 2020-04-28
KR20150105431A (ko) 2015-09-16
BR122022001553B1 (pt) 2023-02-23
US11943463B2 (en) 2024-03-26
AU2014203924B2 (en) 2017-03-23
US20230262249A1 (en) 2023-08-17
US9661341B2 (en) 2017-05-23
AU2014203924A1 (en) 2015-07-16
EP2941880A1 (en) 2015-11-11
US11451813B2 (en) 2022-09-20
US11943464B2 (en) 2024-03-26
MX2015008797A (es) 2016-04-25
MX356482B (es) 2018-05-30
AR094382A1 (es) 2015-07-29
JP6312704B2 (ja) 2018-04-18
US20230254499A1 (en) 2023-08-10

Similar Documents

Publication Publication Date Title
US11943464B2 (en) Syntax and semantics for buffering information to simplify video splicing
US11910005B2 (en) Block vector prediction in video and image coding/decoding
US20220329850A1 (en) Conditional signalling of reference picture list modification information
KR102245704B1 (ko) 파면 병렬 프로세싱이 인에이블되는 경우의 인트라 픽쳐 예측 모드에 대한 규칙
TWI603609B (zh) 簡化視訊隨機存取之限制及單元類型
JP2017535167A (ja) 符号化領域の完了を示すシンタックス構造
BR112015016254B1 (pt) Método realizado por um dispositivo de computação, mídia legível por computador e dispositivo de computação