TW201924353A - 視訊寫碼中之增強參考圖像管理 - Google Patents

視訊寫碼中之增強參考圖像管理 Download PDF

Info

Publication number
TW201924353A
TW201924353A TW107139541A TW107139541A TW201924353A TW 201924353 A TW201924353 A TW 201924353A TW 107139541 A TW107139541 A TW 107139541A TW 107139541 A TW107139541 A TW 107139541A TW 201924353 A TW201924353 A TW 201924353A
Authority
TW
Taiwan
Prior art keywords
images
image
video
poc
reference image
Prior art date
Application number
TW107139541A
Other languages
English (en)
Inventor
益魁 王
錢威俊
陳義文
馬塔 卡茲維克茲
Original Assignee
美商高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商高通公司 filed Critical 美商高通公司
Publication of TW201924353A publication Critical patent/TW201924353A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • 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/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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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
    • 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
    • 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

Landscapes

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

Abstract

本發明提供一種經組態以寫碼視訊資料之寫碼裝置,該寫碼裝置包括:一緩衝記憶體,其經組態以儲存該視訊資料之圖像;及至少一個處理器,其實施於電路中,該至少一個處理器與該緩衝記憶體通信以使得該處理器經組態以:寫碼該視訊資料之一單個經寫碼視訊序列(CVS)之至少兩個圖像,其中該至少兩個圖像中之每一圖像與一致圖像次序計數(POC)值相關聯,且其中該至少兩個圖像彼此不同;使各別資料與該單個CVS之該至少兩個圖像中之每一者相關聯;以及基於與該至少兩個圖像相關聯的該一致POC值及與該至少一個圖像相關聯的該各別資料,識別包括於一參考圖像集中之該至少兩個圖像當中的至少一個圖像。

Description

視訊寫碼中之增強參考圖像管理
本發明係關於視訊編碼及/或視訊解碼。
數位視訊能力可併入至廣泛範圍之裝置中,該等裝置包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、平板電腦、電子書閱讀器、數位攝影機、數位記錄裝置、數位媒體播放機、視訊遊戲裝置、視訊遊戲主控台、蜂巢式或衛星無線電電話(所謂的「智慧型電話」)、視訊電傳會議裝置、視訊串流裝置及其類似者。數位視訊裝置實施視訊寫碼技術,諸如由ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、ITU-T H.264或ISO/IEC MPEG-4 AVC定義之標準中所描述之彼等視訊寫碼技術,該等視訊寫碼技術包括分別已知為可調式視訊寫碼(SVC)及多視圖視訊譯碼(MVC)之其可調式視訊寫碼及多視圖視訊譯碼擴展,及亦被稱作ITU-T H.265及ISO/IEC 23008-2之高效視訊寫碼(HEVC),包括其可調式寫碼擴展(亦即,可調式高效視訊寫碼,SHVC)、多視圖擴展(亦即,多視圖高效視訊寫碼,MV-HEVC)、保真性範圍擴展、3D擴展(亦即,3D-HEVC)及螢幕內容寫碼擴展。視訊裝置可藉由實施此類視訊寫碼技術來更有效地傳輸、接收、編碼、解碼及/或儲存數位視訊資訊。
視訊寫碼技術包括空間(圖像內)預測及/或時間(圖像間)預測以減少或移除視訊序列中固有的冗餘。對於基於區塊之視訊寫碼,視訊圖塊(例如,視訊圖像或視訊圖像之一部分)可分割成視訊區塊,視訊區塊亦可被稱作寫碼樹單元(CTU)、寫碼單元(CU)及/或寫碼節點。圖像之經框內寫碼(I)圖塊中之視訊區塊係使用關於同一圖像中之相鄰區塊中之參考樣本的空間預測來編碼。圖像之經框間寫碼(P或B)圖塊中之視訊區塊可使用關於同一圖像中之相鄰區塊中的參考樣本的空間預測或關於其他參考圖像中之參考樣本的時間預測。圖像可被稱作圖框,且參考圖像可被稱作參考圖框。
空間或時間預測產生用於待寫碼之區塊的預測性區塊。殘餘資料表示待寫碼之原始區塊及預測性區塊之間的像素差。經框間寫碼區塊係根據指向形成預測性區塊之參考樣本之區塊的運動向量及指示經寫碼區塊與預測性區塊之間的差的殘餘資料編碼。經框內寫碼區塊係根據框內寫碼模式及殘餘資料編碼。為了進一步壓縮,可將殘餘資料自像素域變換至變換域,從而產生殘餘變換係數,其隨後可經量化。可掃描最初配置成二維陣列之經量化的變換係數以便產生變換係數之一維向量,且熵寫碼可適用於達成甚至更多壓縮。
一般而言,本發明描述藉由例如使得具有相同(例如,一致)圖像次序計數(POC)值的多個不同圖像能夠同時(例如,同步)存在(例如,儲存)於經解碼圖像緩衝器(DPB)中且用於框間預測及另外啟用移動向量及/或樣本值之基於POC的縮放來增強參考圖像管理之技術及/或機制。
在一個實例中,一種寫碼視訊資料之方法包括:由包括實施於處理電路中之處理器之寫碼裝置寫碼視訊資料之單個經寫碼視訊序列(CVS)的至少兩個圖像,其中至少兩個圖像中之每一圖像與一致圖像次序計數(POC)值相關聯,該至少兩個圖像彼此不同;由寫碼裝置使各別資料與單個CVS的至少兩個圖像中之每一者相關聯;以及基於與至少兩個圖像相關聯的一致POC值及與至少一個圖像相關聯的各別資料,由寫碼裝置識別包括於參考圖像集中之至少兩個圖像當中的至少一個圖像。
在另一實例中,一種用於寫碼視訊資料之寫碼裝置包括:緩衝記憶體,經組態以儲存視訊資料之圖像;及至少一個處理器,實施於電路中,該至少一個處理器與緩衝記憶體通信且經組態以:寫碼視訊資料之單個經寫碼視訊序列(CVS)之至少兩個圖像,其中至少兩個圖像中之每一圖像與一致圖像次序計數(POC)值相關聯,該至少兩個圖像彼此不同;使各別資料與單個CVS之至少兩個圖像中之每一者相關聯;以及基於與至少兩個圖像相關聯的一致POC值及與至少一個圖像相關聯的各別資料,識別包括於參考圖像集中之至少兩個圖像當中的至少一個圖像。
在又一實例中,一種經組態以寫碼視訊資料之設備包括:用於儲存視訊資料之圖像的構件;用於寫碼視訊資料之單個經寫碼視訊序列(CVS)之至少兩個圖像的構件,其中至少兩個圖像中之每一圖像與一致圖像次序計數(POC)值相關聯,該至少兩個圖像彼此不同;用於使各別資料與單個CVS之至少兩個圖像中之每一者相關聯的構件;及用於基於與至少兩個圖像相關聯的一致POC值及與至少一個圖像相關聯的各別資料,識別包括於參考圖像集中之至少兩個圖像當中的至少一個圖像的構件。
在又一實例中,一種電腦可讀儲存媒體儲存指令,該等指令在經執行時使得至少一個處理器經組態以寫碼視訊資料,從而寫碼視訊資料之單個經寫碼視訊序列(CVS)之至少兩個圖像,其中至少兩個圖像中之每一圖像與一致圖像次序計數(POC)值相關聯,該至少兩個圖像彼此不同;使各別資料與單個CVS之至少兩個圖像中之每一者相關聯;以及基於與至少兩個圖像相關聯的一致POC值及與至少一個圖像相關聯的各別資料識別包括於參考圖像集中之至少兩個圖像當中的至少一個圖像。
在以下隨附圖式及描述中闡述一或多個實例之細節。其他特徵、目標及優點將自該描述及圖式以及申請專利範圍而顯而易見。
本申請案主張2018年11月6日申請之美國專利申請案第16/182,364號及2017年11月7日申請之美國臨時申請案第62/582,585號之權益,該等申請案之全部內容特此以引用之方式併入。
本發明係關於視訊信號之寫碼之領域。更具體而言,本發明之技術包括增強參考圖像管理之若干例示性機制。舉例而言,本發明包括使得具有相同(例如,一致)圖像次序計數(POC)值的多個不同圖像能夠同時(例如,同步)存在(例如,儲存)於經解碼圖像緩衝器(DPB)中之技術及/或機制。另外,根據本發明,同步存在於DPB中之此等多個圖像可用於框間預測以及相關聯的移動向量及/或樣本值之基於POC的縮放。
本發明之技術可與現有視訊編解碼器中之任一者,諸如高效視訊寫碼(HEVC)一起使用,或為任何未來視訊寫碼標準中之有效寫碼工具,諸如H.266/通用視訊寫碼(VVC)。
可參考視訊寫碼器描述本發明中之各種技術,該視訊寫碼器意欲為可指代視訊編碼器或視訊解碼器之一般術語。除非另外明確地陳述,否則不應假定關於視訊編碼器或視訊解碼器描述之技術不可由視訊編碼器或視訊解碼器中之另一者執行。舉例而言,在許多情況下,視訊解碼器執行與視訊編碼器相同或有時互逆之寫碼技術以便解碼經編碼視訊資料。在許多情況下,視訊編碼器亦包括視訊解碼迴路,且因此視訊編碼器執行作為編碼視訊資料之部分的視訊解碼。因此,除非另外陳述,否則本發明中關於視訊解碼器描述之技術亦可由視訊編碼器執行,且反之亦然。
本發明亦可使用諸如當前層、當前區塊、當前圖像、當前圖塊等之術語。在本發明之上下文中,術語當前意欲識別當前經寫碼(例如,編碼或解碼)之層、區塊、圖像、圖塊等,其與例如先前經寫碼層、區塊、圖像及圖塊或尚待寫碼之區塊、圖像及圖塊相反。
視訊寫碼標準包括ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual及ITU-T H.264(亦被稱作ISO/IEC MPEG-4 AVC),包括其被稱作SVC之可調式視訊寫碼擴展及其被稱作MVC之多視圖視訊寫碼擴展。
另外,存在由ITU-T視訊寫碼專家組(VCEG)及ISO/IEC運動圖像專家組(MPEG)之關於視訊寫碼的聯合合作小組(JCT-VC)研發之亦稱作ITU-T H.265之新發展的視訊寫碼標準,即高效視訊寫碼(HEVC)。HEVC之最新草案可自http://phenix.int-evry.fr/jct/doc_end_ user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip獲得。
包括混合式視訊寫碼標準之視訊寫碼標準包括ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual及ITU-T H.264 (亦被稱作ISO/IEC MPEG-4 AVC),包括其之可調式視訊寫碼(SVC)及多視圖視訊寫碼(MVC)擴展。新的視訊寫碼標準之設計(即HEVC)已由ITU-T視訊寫碼專家組(VCEG)及ISO/IEC運動圖像專家組(MPEG)之關於視訊寫碼的聯合合作小組(JCT-VC)定案。Bross等人的被稱作HEVC工作草案10 (WD10)之HEVC草案規範「High efficiency video coding (HEVC) text specification draft 10 (for FDIS & Last Call)」 (ITU-T SG16 WP3及ISO/IEC JTC1/SC29/WG11之關於視訊寫碼的聯合合作小組(JCT-VC),第12次會議:瑞士日內瓦,2013年1月14日至23日,JCTVC-L1003v34)可自http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/ wg11/JCTVC-L1003-v34.zip獲得。定案之HEVC標準被稱作HEVC版本1。
Wang等人之瑕疵報告「High efficiency video coding (HEVC) Defect Report」 (ITU-T SG16 WP3及ISO/IEC JTC1/SC29/WG11之關於視訊寫碼之聯合合作小組(JCT-VC),第14次會議:奧地利維也納,2013年7月25日至8月2日,JCTVC-N1003v1)可自http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/ JCTVC-N1003-v1.zip獲得。經定案之HEVC標準文獻在2013年4月經公佈為ITU-T H.265,系列H:視聽及多媒體系統,移動視訊之視聽服務-寫碼之信息基礎設施、高效視訊寫碼,國際電信聯盟(ITU)之電信標準化部門且在2014年10月公佈另一版本。
圖1為說明可執行符合本發明之技術之增強參考圖像管理之技術的實例視訊編碼及解碼系統10之方塊圖。本發明之技術大體上係針對寫碼(編碼及/或解碼)視訊資料。一般而言,視訊資料包括用於處理視訊之任何資料。因此,視訊資料可包括原始未經寫碼的視訊、經編碼視訊、經解碼(例如經重新建構)視訊及視訊後設資料,諸如傳信之資料。
如圖1中所展示,系統10包括源裝置12,其提供稍後待由目的地裝置14解碼之經編碼視訊資料。特定而言,源裝置12經由電腦可讀媒體16將視訊資料提供至目的地裝置14。源裝置12及目的地裝置14可包含廣泛範圍之裝置中之任一者,包括桌上型電腦、筆記型(亦即,膝上型)電腦、平板電腦、機上盒、諸如所謂的「智慧型」電話之電話手持機、所謂的「智慧型」平板電腦、電視、攝影機、顯示裝置、數位媒體播放機、視訊遊戲主控台、視訊串流裝置或其類似者。在一些情況下,源裝置12及目的地裝置14可經裝備以用於無線通信。
目的地裝置14可經由電腦可讀媒體16接收待解碼之經編碼視訊資料。電腦可讀媒體16可包含能夠將經編碼視訊資料自源裝置12移動至目的地裝置14之任何類型的媒體或裝置在一個實例中,電腦可讀媒體16可包含使得源裝置12能夠即時將經編碼視訊資料直接傳輸至目的地裝置14之通信媒體。可根據(諸如無線通信協定)通信標準調變經編碼視訊資料,且將經編碼視訊資料傳輸至目的地裝置14。通信媒體可包含任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如,區域網路、廣域網路或諸如網際網路之全域網路)之部分。通信媒體可包括路由器、交換器、基地台或可用於促進自源裝置12至目的地裝置14之通信的任何其他設備。
在一些實例中,可自輸出介面22將經編碼資料輸出至儲存裝置。類似地,經編碼資料可由輸入介面自儲存裝置存取。儲存裝置可包括多種分散式或本端存取之資料儲存媒體中之任一者,諸如硬碟機、藍光光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他合適的數位儲存媒體。在另一實例中,儲存裝置可對應於檔案伺服器或可儲存由源裝置12產生之經編碼視訊的另一中間儲存裝置。目的地裝置14可經由串流或下載自儲存裝置存取所儲存之視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料且將彼經編碼視訊資料傳輸至目的地裝置14之任何類型之伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附接儲存(NAS)裝置或本端磁碟機。目的地裝置14可經由任何標準資料連接(包括網際網路連接)而存取經編碼視訊資料。此可包括適合於存取儲存於檔案伺服器上之經編碼視訊資料的無線通道(例如,無線區域網路連接)、有線連接(例如,DSL、有線電視數據機等)或兩者之組合。自儲存裝置的經編碼視訊資料之傳輸可為串流傳輸、下載傳輸或其組合。
本發明之技術不必限於無線應用或設定。該等技術可適用於支援多種多媒體應用中之任一者的視訊寫碼,諸如空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如,經由HTTP動態自適應串流(DASH))、經編碼至資料儲存媒體上之數位視訊、儲存於資料儲存媒體上的數位視訊之解碼或其他應用。在一些實例中,系統10可經組態以支援單向或雙向視訊傳輸從而支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。
在圖1之實例中,源裝置12包括視訊源18、視訊編碼器20及輸出介面22。目的地裝置14包括輸入介面28、視訊解碼器30及顯示裝置32。根據本發明,源裝置12之視訊編碼器20可經組態以應用本發明中所描述之增強參考圖像管理之技術。在其他實例中,源裝置及目的地裝置可包括其他組件或配置。舉例而言,源裝置12可自外部視訊源18 (諸如,外部攝影機)接收視訊資料。類似地,目的地裝置14可與外部顯示裝置介接,而非包括整合顯示裝置。
圖1之所說明系統10僅係一個實例。用於對儲存於本發明中所描述之解碼器圖像緩衝器(DPB)內的參考圖像進行增強參考圖像管理之技術可由任何數位視訊編碼及/或解碼裝置執行。儘管本發明之技術一般由視訊編碼裝置執行,但該等技術亦可由視訊編碼器/解碼器(通常被稱作「CODEC」)執行。此外,本發明之技術亦可由視訊預處理器執行。源裝置12及目的地裝置14僅為源裝置12產生經寫碼視訊資料以供傳輸至目的地裝置14的此類寫碼裝置之實例。在一些實例中,裝置12、14可以實質上對稱之方式操作,使得裝置12、14中之每一者包括視訊編碼及解碼組件。因此,系統10可支援視訊裝置12、14之間的單向或雙向視訊傳輸,以用於(例如)視訊串流、視訊播放、視訊廣播或視訊電話。
源裝置12之視訊源18可包括視訊俘獲裝置,諸如視訊攝影機、含有先前俘獲之視訊的視訊存檔及/或用以自視訊內容提供者接收視訊之視訊饋入介面。作為另一替代,視訊源18可產生基於電腦圖形之資料作為源視訊,或實況視訊、存檔視訊及電腦產生之視訊的組合。在一些情況下,若視訊源18為視訊攝影機,則源裝置12及目的地裝置14可形成所謂的攝影機電話或視訊電話。然而,如上文所提及,本發明所描述之技術一般可適用於視訊寫碼,且可適用於無線及/或有線應用。在每一情況下,所俘獲、經預先俘獲或電腦產生之視訊可由視訊編碼器20編碼。經編碼視訊資訊可接著由輸出介面22輸出至電腦可讀媒體16上。
電腦可讀媒體16可包括暫態媒體,諸如無線廣播或有線網路傳輸,或儲存媒體(亦即,非暫時性儲存媒體),諸如硬碟、快閃驅動機、緊密光碟、數位視訊光碟、藍光光碟或其他電腦可讀媒體。在一些實例中,網路伺服器(未圖示)可自源裝置12接收經編碼視訊資料,且例如經由網路傳輸將經編碼視訊資料提供至目的地裝置14。類似地,諸如光碟衝壓設施之媒體生產設施之計算裝置可自源裝置12接收經編碼視訊資料且生產含有經編碼視訊資料之光碟。因此,在各種實例中,電腦可讀媒體16可理解為包括各種形式之一或多個電腦可讀媒體。
目的地裝置14之輸入介面28自電腦可讀媒體16接收資訊。電腦可讀媒體16之資訊可包括由視訊編碼單元21之視訊編碼器20定義之語法資訊,其亦由視訊解碼單元29之視訊解碼器30使用,該語法資訊包括描述區塊及其他經寫碼單元(例如,圖像群組(GOP))之特性及/或處理之語法元素。顯示裝置32向使用者顯示經解碼視訊資料,且可包含多種顯示裝置中之任一者,諸如陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示裝置。
視訊編碼器20及視訊解碼器30可根據視訊寫碼標準操作,諸如高效視訊寫碼(HEVC)標準,亦稱作ITU-T H.265或其擴展,諸如多視圖及/或可調式視訊寫碼擴展。另外或替代地,視訊編碼器20及視訊解碼器30可根據其他專屬或行業實施及/或標準操作,諸如聯合勘探測試模型(JEM)及/或通用視訊寫碼(VVC)。替代地,視訊編碼器20及視訊解碼器30可根據其他專屬或行業標準(諸如ITU-T H.264標準,替代地被稱作MPEG-4,第10部分,進階視訊寫碼(AVC))或此類標準之擴展操作。然而,本發明之技術不限於任何特定寫碼標準、實施及/或方案。視訊寫碼標準之其他實例包括MPEG-2及ITU-T H.263。儘管圖1中未展示,但在一些態樣中,視訊編碼器20及視訊解碼器30可各自與音訊編碼器及解碼器整合,且可包括適當MUX-DEMUX單元或其他硬體及軟體,以處置共同資料串流或單獨資料串流中之音訊及視訊兩者之編碼。若適用,則MUX-DEMUX單元可遵照ITU H.223多工器協定或諸如使用者資料報協定(UDP)之其他協定。
視訊編碼器20及視訊解碼器30各自可實施為經組態用於編碼器及/或解碼器操作/功能之多種合適的處理電路中之任一者。此類編碼器及/或解碼器經組態處理電路之實例包括(但不限於)一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬件、韌體或其任何組合。當該等技術部分實施於軟體中時,裝置可將軟體的指令儲存於合適的非暫時性電腦可讀媒體中,且使用一或多個處理器(例如,處理電路)執行硬體中之指令以執行本發明之技術。視訊編碼器20及視訊解碼器30中之每一者可包括於一或多個編碼器或解碼器中,編碼器或解碼器中之任一者可經整合為各別裝置中的組合式編碼器/解碼器(CODEC)之部分。包括視訊編碼器20及/或視訊解碼器30之裝置可包含積體電路、微處理器及/或無線通信裝置(諸如蜂巢式電話)。
一般而言,根據例如ITU-T H.265,視訊圖像可劃分成可包括明度及色度樣本的一序列寫碼樹單元(CTU) (或最大寫碼單元(LCU))。替代地,CTU可包括單色資料(亦即,僅明度樣本)。位元串流內之語法資料可定義CTU之大小,CTU就像素之數目而言為最大寫碼單元。圖塊包括按寫碼次序之數個連續CTU。視訊圖像可分割成一或多個圖塊。每一CTU可根據四分樹分裂成寫碼單元(CU)。一般而言,四分樹資料結構每CU包括一個節點,其中根節點對應於CTU。若將CU分裂成四個子CU,則對應於該CU之節點包括四個葉節點,該四個葉節點中之每一者對應於該等子CU中之一者。
該四分樹資料結構中之每一節點可提供針對對應CU之語法資料。舉例而言,該四分樹中之節點可包括分裂旗標,從而指示是否將對應於該節點之CU分裂成子CU。針對CU之語法元素可經遞回地定義,且可取決於該CU是否分裂成子CU。若CU未進一步分裂,則其被稱作葉CU。在本發明中,即使不存在原始葉CU之顯式分裂,但葉CU之四個子CU亦將被稱作葉CU。舉例而言,若16×16大小之CU未進一步分裂,則儘管該16×16 CU從未分裂,但四個8×8子CU亦將被稱作葉CU。
除了CU不具有大小區別之外,CU具有與H.264標準之巨集區塊類似的用途。舉例而言,CTU可分裂成四個子節點(亦被稱作子CU),且每一子節點轉而可為父節點且可分裂成另外四個子節點。被稱作四分樹之葉節點之最終的未分裂子節點包含寫碼節點,該寫碼節點亦被稱作葉CU。與經寫碼位元串流相關聯的語法資料可定義可分裂CTU之最大次數(其被稱作最大CU深度),且亦可定義寫碼節點之最小大小。因此,位元串流亦可定義最小寫碼單元(SCU)。本發明使用術語「區塊」指代HEVC之上下文中的CU、預測單元(PU)或變換單元(TU)中之任一者或其他標準(例如,H.264/AVC中之巨集區塊及其子區塊)之上下文中之類似的資料結構。
CU包括寫碼節點及與該寫碼節點相關聯的預測單元(PU)及變換單元(TU)。CU之大小對應於寫碼節點之大小,且大體上為正方形形狀。CU之大小可在自8×8像素達至最大大小為例如64×64像素或或大於64×64像素之CTU的大小的範圍內。每一CU可含有一或多個PU及一或多個TU。與CU相關聯的語法資料可描述例如將CU分割成一或多個PU。分割模式可在CU經跳過或直接模式編碼、框內預測模式編碼抑或框間預測模式編碼之間不同。PU可被分割成非正方形形狀。與CU相關聯的語法資料亦可描述(例如)根據四分樹將CU分割成一或多個TU。TU可為正方形或非正方形(例如,矩形)形狀。
HEVC標準允許根據TU進行變換,該等變換對於不同CU可為不同的。TU通常基於針對經分割CTU定義之給定CU內的PU (或CU之分區)的大小而設定大小,儘管可能並非總是此情況。TU通常大小相同或小於PU (或CU之分割區,例如在框內預測之情況下)。在一些實例中,可使用被稱作「殘餘四分樹」 (RQT)之四分樹結構而將對應於CU之殘餘樣本再分為較小單元。可將RQT之葉節點稱作變換單元(TU)。與TU相關聯的像素差值可經變換以產生可經量化之變換係數。
葉CU在使用框間預測來預測時可包括一或多個預測單元(PU)。一般而言,PU表示對應於該對應CU之全部或一部分的空間區域,且可包括用於針對PU擷取及/或產生參考樣本的資料。此外,PU包括與預測相關之資料。當CU經框間模式編碼時,CU之一或多個PU可包括定義諸如一或多個運動向量之運動資訊的資料,或PU可經跳過模式寫碼。定義PU之運動向量之資料可描述(例如)運動向量之水平分量、運動向量之豎直分量、運動向量之解析度(例如,四分之一像素精確度或八分之一像素精確度)、運動向量所指向的參考圖像、及/或運動向量之參考圖像清單(例如,清單0或清單1)。
葉CU亦可經框內模式預測。一般而言,框內預測涉及使用框內模式來預測葉CU (或其分割區)。視訊寫碼器可選擇至葉CU之一組相鄰的先前寫碼像素以用以預測葉CU (或其分割區)。
葉CU亦可包括一或多個變換單元(TU)。如上文所論述,可使用RQT (亦被稱作TU四分樹結構)來指定變換單元。舉例而言,分裂旗標可指示葉CU是否分裂成四個變換單元。接著,可將每一TU進一步分裂為其他子TU。當TU未進一步分裂時,可將其稱作葉TU。一般而言,對於框內寫碼而言,屬於葉CU之所有葉TU共用同一框內預測模式。亦即,一般應用相同框內預測模式來計算葉CU之所有TU之預測值。對於框內寫碼,視訊編碼器可使用框內預測模式將每一葉TU之殘餘值計算為CU之對應於該TU的部分與原始區塊之間的差。TU不必受限於PU之大小。因此,TU可大於或小於PU。對於框內寫碼,CU之分割區或CU自身可與CU之對應葉TU並置。在一些實例中,葉TU之最大大小可對應於對應葉CU之大小。
此外,葉CU之TU亦可與各別四分樹資料結構(被稱作殘餘四分樹(RQT))相關聯。亦即,葉CU可包括指示該葉CU如何被分割成TU之四分樹。TU四分樹之根節點大體對應於葉CU,而CU四分樹之根節點大體對應於CTU (或LCU)。將RQT之未分裂的TU稱作葉TU。一般而言,除非另有指示,否則本發明分別使用術語CU及TU來指葉CU及葉TU。
視訊序列通常包括以隨機存取點(RAP)圖像開始的一系列視訊圖框或圖像。視訊序列可包括序列參數集(SPS)中之語法資料,該序列參數集(SPS)包括視訊序列之特性。圖像之每一圖塊可包括描述各別圖塊之編碼模式的圖塊語法資料。視訊編碼器20通常對個別視訊圖塊內之視訊區塊進行操作,以便編碼視訊資料。視訊區塊可對應於CU內之寫碼節點。視訊區塊可具有固定或變化之大小,且可根據指定寫碼標準而大小不同。
作為一實例,可針對各種大小之PU執行預測。假定特定CU之大小為2N×2N,則可對2N×2N或N×N之PU大小執行框內預測,且對2N×2N、2N×N、N×2N或N×N之對稱PU大小執行框間預測。亦可針對2N×nU、2N×nD、nL×2N及nR×2N之PU大小執行框間預測之不對稱分割。在不對稱分割中,CU之一個方向未分割,而另一方向分割成25%及75%。CU之對應於25%分割之部分由「n」其後接著「上(Up)」、「下(Down)」、「左(Left)」或「右(Right)」之指示來指示。因此,例如,「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。亦即,視訊編碼器20可計算殘餘資料(以殘餘區塊之形式)、變換殘餘區塊以產生變換係數之區塊,且接著量化變換係數以形成經量化變換係數。視訊編碼器20可形成包括經量化變換係數之TU,以及其他語法資訊(例如,TU之分裂資訊)。
如上文所提及,在任何變換以產生變換係數後,視訊編碼器20可執行變換係數之量化。量化通常係指量化變換係數以可能地減少用以表示係數之資料量從而提供進一步壓縮的程序。量化程序可減小與係數中之一些或所有相關聯的位元深度。舉例而言,可在量化期間將n 位元值降值捨位至m 位元值,其中n 大於m
在量化之後,視訊編碼器20可掃描變換係數,從而自包括經量化變換係數之二維矩陣產生一維向量。掃描可經設計以將較高能量(且因此較低頻率)係數置於陣列前部,及將較低能量(且因此較高頻率)係數置於陣列後部。在一些實例中,視訊編碼器20可利用預定義掃描次序來掃描經量化變換係數以產生可經熵編碼之串行化向量。在其他實例中,視訊編碼器20可執行自適應掃描。在掃描經量化變換係數以形成一維向量之後,視訊編碼器20可(例如)根據上下文自適應可變長度寫碼(CAVLC)、上下文自適應二進位算術寫碼(CABAC)、基於語法之上下文自適應二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)寫碼或另一熵編碼方法來熵編碼一維向量。視訊編碼器20亦可熵編碼與在解碼視訊資料時供視訊解碼器30使用之經編碼視訊資料相關聯的語法元素(例如,經傳信以識別用於實現本發明之增強參考圖像管理之框間預測參考的圖像之各別資料之各種實例)。
為了執行CABAC,視訊編碼器20可將上下文模型內之上下文指派至待傳輸之符號。該上下文可能涉及(例如)符號之相鄰值是否為非零。為了執行CAVLC,視訊編碼器20可選擇用於待傳輸之符號的可變長度碼。可將VLC中之碼字建構成使得相對較短碼對應於更有可能的符號,而較長碼對應於較不可能的符號。以此方式,相對於(例如)針對待傳輸之每一符號使用相等長度碼字,使用VLC可達成位元節省。機率判定可基於經指派至符號之上下文而進行。
一般而言,視訊解碼器30執行儘管與由視訊編碼器20執行之程序互逆但與其實質上類似的程序,以解碼經編碼資料。舉例而言,視訊解碼器30反量化且反變換所接收TU之係數以再生殘餘區塊。視訊解碼器30使用傳信預測模式(框內預測或框間預測)以形成經預測區塊。接著視訊解碼器30 (在逐像素基礎上)使經預測區塊與殘餘區塊組合以再生原始區塊。可執行額外處理,諸如執行解區塊程序以減少沿區塊邊界之視覺假影。另外,視訊解碼器30可以儘管與視訊編碼器20之CABAC編碼程序互逆但與其實質上類似之方式使用CABAC解碼語法元素。
視訊編碼器20可進一步將(例如)圖像標頭、區塊標頭、圖塊標頭中之語法資料(諸如基於區塊之語法資料、基於圖像之語法資料及基於序列之語法資料)或其他語法資料(諸如序列參數集(SPS)、圖像參數集(PPS)及/或視訊參數集(VPS))發送至視訊解碼器30。
如將在下文更詳細地解釋,根據本發明之增強參考圖像管理方案,視訊編碼器20及/或視訊解碼器30可分別包括實施於處理電路中之處理器,以使得處理器經組態以寫碼(例如,編碼或解碼)視訊資料之單個經寫碼視訊序列(CVS)的至少兩個不同且獨特的圖像,其中該至少兩個圖像中之每一圖像與一致圖像次序計數(POC)值相關聯。視訊編碼器20及/或視訊解碼器30可進一步經組態以:使各別資料與單個CVS之至少兩個圖像中之每一者相關聯;以及基於與至少兩個圖像相關聯的一致POC值及與至少一個圖像相關聯的各別資料來識別包括於參考圖像集中之至少兩個圖像當中的至少一個圖像。
本發明通常可指「傳信」某些資訊,諸如語法元素。術語「傳信」通常可指用於解碼經編碼視訊資料之語法元素及/或其他資料的值之傳達。亦即,視訊編碼器20可在位元串流中傳信語法元素的值。一般而言,傳信係指在位元串流中產生值。如上文所提及,源裝置102可實質上即時地將位元串流傳送至目的地裝置116,或不即時傳送,諸如可在將語法元素儲存至儲存裝置112以供目的地裝置116稍後擷取時發生。
圖2為說明可實施本發明中所描述之增強參考圖像管理之技術的視訊編碼器20之實例的方塊圖。出於解釋之目的提供圖2,且不應將其視為對如本發明中廣泛例示及描述之技術的限制。出於解釋之目的,本發明在視訊寫碼標準(諸如HEVC視訊寫碼標準)之上下文中描述視訊編碼器20。然而,本發明之技術不限於此等視訊寫碼標準,且通常可適用於包括未來標準(例如,當前處於開發中之VVC寫碼標準)之各種編解碼器實施的視訊編碼及解碼。
視訊編碼器20可執行視訊圖塊內的視訊區塊之框內寫碼及框間寫碼。框內寫碼依賴於空間預測以減小或移除給定視訊圖框或圖像內之視訊中的空間冗餘。框間寫碼依賴於時間預測以減小或移除視訊序列之相鄰圖框或圖像內之視訊中的時間冗餘。框內模式(I模式)可指若干基於空間之寫碼模式中之任一者。框間模式(諸如,單向預測(P模式)或雙向預測(B模式))可指代若干基於時間之寫碼模式中之任一者。
如圖2中所展示,視訊編碼器20接收待編碼視訊圖框內之當前視訊區塊。在圖2之實例中,視訊編碼器20包括模式選擇單元40、參考圖像記憶體64 (其亦可被稱作經解碼圖像緩衝器(DPB))、求和器50、變換處理單元52、量化單元54及熵編碼單元56。模式選擇單元40繼而包括運動補償單元44、運動估計單元42、框內預測單元46及分割單元48。為了視訊區塊重新建構,視訊編碼器20亦包括反量化單元58、反變換單元60及求和器62。亦可包括解區塊濾波器(圖2中未圖示)以對區塊邊界進行濾波,以自經重新建構視訊移除區塊效應假影。若需要,解區塊濾波器通常將對求和器62之輸出進行濾波。亦可使用除解區塊濾波器以外之額外濾波器(迴路中或迴路後)。為簡潔起見未展示此類濾波器,但若需要,此類濾波器可對求和器50之輸出進行濾波(作為迴路內濾波器)。
在編碼過程期間,視訊編碼器20接收待寫碼之視訊圖框或圖塊。可將該圖框或圖塊劃分成多個視訊區塊。運動估計單元42及運動補償單元44執行所接收視訊區塊關於一或多個參考圖框(例如,根據本發明之增強參考圖像管理技術,在DPB內儲存、利用及/或識別之參考圖框)中之一或多個區塊的框間預測性編碼以提供時間預測。框內預測單元46可替代地執行所接收視訊區塊相對於與待寫碼區塊相同之圖框或圖塊中之一或多個相鄰區塊的框內預測性編碼以提供空間預測。視訊編碼器20可執行多個寫碼遍次,(例如)以選擇用於每一視訊資料區塊之適當寫碼模式。
此外,分割單元48可基於對先前寫碼遍次中之先前分割方案的評估而將視訊資料之區塊分割成子區塊。舉例而言,分割單元48可初始地將圖框或圖塊分割成CTU,且基於速率-失真分析(例如,速率-失真最佳化)來將該等CTU中之每一者分割成子CU。模式選擇單元40可進一步產生指示將CTU分割為子CU之四分樹資料結構。四分樹之葉節點CU可包括一或多個PU及一或多個TU。
模式選擇單元40可(例如)基於誤差結果而選擇預測模式(框內或框間)中之一者,且將所得預測區塊提供至求和器50以產生殘餘資料,及提供至求和器62以重新建構經編碼區塊以用作參考圖框。模式選擇單元40亦將諸如運動向量、框內模式指示符、分割區資訊及其他此類語法資訊(例如,指示與可指示是否輸出圖像之個別圖像相關聯的各別資料之語法元素及/或如下文中詳細描述之圖像之版本識別符)之語法元素提供至熵編碼單元56。
運動估計單元42及運動補償單元44可高度整合,但出於概念目的而單獨說明。由運動估計單元42執行之運動估計為產生估計視訊區塊之運動的運動向量之程序。舉例而言,運動向量可指示在當前視訊圖框或圖像內之視訊區塊的PU相對於在參考圖框(或其他經寫碼單元)內的預測性區塊相對於在該當前圖框(或其他經寫碼單元)內正經寫碼的當前區塊的位移。預測性區塊為就像素差而言被發現緊密地匹配待寫碼區塊之區塊,該像素差可藉由絕對差總和(SAD)、平方差總和(SSD)或其他差度量判定。在一些實例中,視訊編碼器20可計算儲存於參考圖像記憶體64中之參考圖像的子整數像素位置之值。舉例而言,視訊編碼器20可內插參考圖像之四分之一像素位置、八分之一像素位置或其他分數像素位置之值。因此,運動估計單元42可執行關於全像素位置及分數像素位置之運動搜尋且輸出具有分數像素精確度之運動向量。
運動估計單元42藉由將PU之位置與參考圖像之預測性區塊之位置比較來計算經框間寫碼圖塊中之視訊區塊之PU的運動向量。在HEVC中,例如,參考圖像為短期參考圖像或長期參考圖像之圖像。參考圖像含有可用於按解碼次序解碼後續圖像之過程中的框間預測之樣本。參考圖像可選自第一參考圖像清單(清單0)或第二參考圖像清單(清單1),清單0或清單1中之每一者識別儲存於參考圖像記憶體64中之一或多個參考圖像。參考圖像清單為用於P或B圖塊之框間預測的參考圖像之清單。對於P圖塊之解碼程序,存在一個參考圖像清單-參考圖像清單0。對於B圖塊之解碼程序,存在兩個參考圖像清單-參考圖像清單0及參考圖像清單1。參考圖像清單0用於P之框間預測或第一參考圖像清單用於B圖塊之框間預測。參考圖像清單1為用於B圖塊之框間預測的第二參考圖像清單。運動估計單元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)或概念上類似之變換)應用於殘餘區塊,從而產生包含變換係數值之視訊區塊。可使用小波變換、整數變換、子頻帶變換、離散正弦變換(DST)或其他類型之變換代替DCT。在任何情況下,變換處理單元52將變換應用於殘餘區塊,從而產生變換係數之區塊。變換可將殘餘資訊自像素域轉換至變換域,諸如頻域。變換處理單元52可將所得變換係數發送至量化單元54。量化單元54量化變換係數以進一步減小位元率。量化程序可減小與係數中之一些或所有相關聯的位元深度。可藉由調整量化參數來修改量化程度。
在量化之後,熵編碼單元56熵寫碼經量化之變換係數。舉例而言,熵編碼單元56可執行上下文自適應性可變長度寫碼(CAVLC)、上下文自適應性二進位算術寫碼(CABAC)、基於語法之上下文自適應性二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)寫碼或另一熵寫碼技術。在基於上下文之熵寫碼的狀況下,上下文可基於相鄰區塊。在由熵編碼單元56進行熵寫碼之後,可將經編碼位元串流傳輸至另一裝置(例如,視訊解碼器30),或加以存檔以供稍後傳輸或擷取。
反量化單元58及反變換單元60分別應用反量化及反變換以重新建構像素域中的殘餘區塊。特定而言,求和器62將經重新建構殘餘區塊添加至稍早由運動補償單元44或框內預測單元46產生之運動補償預測區塊,以產生用於儲存於參考圖像記憶體64中之經重新建構之視訊區塊。經重新建構之視訊區塊可由運動估計單元42及運動補償單元44用作參考區塊以框間寫碼後續視訊圖框中之區塊。
視訊編碼器20表示經組態以編碼視訊資料的裝置之實例,該裝置包括經組態以儲存視訊資料之圖像的緩衝記憶體及實施於電路中且與緩衝記憶體通信的至少一個處理器,以使得至少一個處理器經組態以編碼視訊資料之單個經寫碼視訊序列(CVS)的至少兩個不同且獨特的圖像,其中該至少兩個圖像中之每一圖像與一致圖像次序計數(POC)值相關聯。視訊編碼器20之至少一個處理器經進一步組態以使各別資料與單個CVS之至少兩個圖像中之每一者相關聯,且基於與至少兩個圖像相關聯的一致POC值及與至少一個圖像相關聯的各別資料識別包括於用於執行框間預測之參考圖像集中之至少兩個圖像當中的至少一個圖像。
圖3為說明可實施本發明中所描述之技術的視訊解碼器30之實例的方塊圖。出於解釋之目的提供圖3,且其並不限制如本發明中廣泛例示及描述之技術。出於解釋之目的,本發明描述根據HEVC描述之視訊解碼器30。然而,本發明之技術可由經組態用於其他視訊寫碼標準及/或實施(諸如JEM及VVC)之視訊寫碼裝置執行。
在圖3之實例中,視訊解碼器30包括熵解碼單元70、運動補償單元72、框內預測單元74、反量化單元76、反變換單元78、參考圖像記憶體82 (例如,DPB)及求和器80。在一些實例中,視訊解碼器30可執行大體上與關於視訊編碼器20 (圖2)所描述之編碼遍次互逆的解碼遍次。運動補償單元72可基於自熵解碼單元70接收之運動向量產生預測資料,而框內預測單元74可基於自熵解碼單元70接收之框內預測模式指示符產生預測資料。
在解碼過程期間,視訊解碼器30自視訊編碼器20接收表示經編碼視訊圖塊之視訊區塊及相關聯語法元素的經編碼視訊位元串流。視訊解碼器30之熵解碼單元70熵解碼位元串流以產生經量化係數、運動向量或框內預測模式指示符及其他語法元素(例如,指示與可指示是否輸出圖像之個別圖像相關聯的各別資料之語法元素及/或如下文詳細描述之圖像之版本識別符)。熵解碼單元70將運動向量及其他語法元素轉遞至運動補償單元72。視訊解碼器30可接收視訊圖塊層級及/或視訊區塊層級之語法元素。
當視訊圖塊經寫碼為框內寫碼(I)圖塊時,框內預測單元74可基於所傳信之框內預測模式及來自當前圖框或圖像之先前經解碼區塊的資料而產生當前視訊圖塊之視訊區塊的預測資料。當視訊圖框經寫碼為框間寫碼(亦即,B或P)圖塊時,運動補償單元72基於自熵解碼單元70接收之運動向量及其他語法元素產生當前視訊圖塊之視訊區塊的預測性區塊。預測性區塊可自參考圖像清單中之一者內的參考圖像中之一者產生。視訊解碼器30可基於儲存於參考圖像記憶體82中之參考圖像使用預設建構技術來建構參考圖框清單(清單0及清單1)。運動補償單元72藉由剖析運動向量及其他語法元素來判定用於當前視訊圖塊之視訊區塊的預測資訊,且使用該預測資訊以產生經解碼當前視訊區塊之預測性區塊。舉例而言,運動補償單元72使用所接收語法元素中之一些來判定用以寫碼視訊圖塊之視訊區塊的預測模式(例如,框內或框間預測)、框間預測圖塊類型(例如,B圖塊或P圖塊)、用於圖塊之參考圖像清單中之一或多者的建構資訊(例如,用於識別框間預測之圖像的POC值及各別資料)、圖塊之每一經框間編碼視訊區塊之運動向量、圖塊之每一經框間寫碼視訊區塊之框間預測狀態及解碼當前視訊圖塊中之視訊區塊之其他資訊。
運動補償單元72亦可基於內插濾波器執行內插。運動補償單元72可使用如由視訊編碼器20在視訊區塊之編碼期間使用的內插濾波器來計算參考區塊之子整數像素的內插值。在此情況下,運動補償單元72可自接收之語法元素判定由視訊編碼器20使用之內插濾波器且使用該等內插濾波器來產生預測性區塊。
反量化單元76反量化(亦即,解量化)位元串流中所提供且由熵解碼單元70解碼的經量化之變換係數。反量化程序可包括使用由視訊解碼器30針對視訊圖塊中之每一視訊區塊計算之量化參數QPY 以判定應應用的量化程度及(同樣地)反量化程度。
反變換單元78將反變換(例如,反DCT、反整數變換或在概念上類似的反變換程序)應用於變換係數,以便在像素域中產生殘餘區塊。
在運動補償單元72基於運動向量及其他語法元素而產生當前視訊區塊之預測性區塊之後,視訊解碼器30藉由將來自反變換單元78之殘餘區塊與由運動補償單元72所產生之對應預測性區塊求和而形成經解碼視訊區塊。求和器80表示執行此求和運算之一或多個組件。必要時,亦可應用解區塊濾波器來對經解碼區塊進行濾波以便移除區塊效應假影。亦可使用其他迴路濾波器(在寫碼迴路內或在寫碼迴路之後)使像素轉變平滑,或另外改良視訊品質。接著將給定圖框或圖像中之經解碼視訊區塊儲存於參考圖像記憶體82中,該參考圖像記憶體儲存用於後續運動補償之參考圖像。參考圖像記憶體82亦儲存經解碼視訊以用於稍後在顯示裝置(諸如圖1之顯示裝置32)上呈現。
以此方式,視訊解碼器30表示經組態以解碼視訊資料之視訊解碼裝置之實例,該視訊解碼裝置包括經組態以儲存視訊資料之圖像的緩衝記憶體及實施於電路中且與緩衝記憶體通信之至少一個處理器,以使得至少一個處理器經組態以解碼視訊資料之單個經寫碼視訊序列(CVS)的至少兩個不同且獨特的圖像,其中該至少兩個圖像中之每一圖像與一致圖像次序計數(POC)值相關聯。視訊解碼器30之至少一個處理器經進一步組態以使各別資料與單個CVS的至少兩個圖像中之每一者相關聯,且基於與至少兩個圖像相關聯的一致POC值及與至少一個圖像相關聯的各別資料識別包括於用於執行框間預測之參考圖像集中之至少兩個圖像當中的至少一個圖像。
現將描述一些DPB管理技術。根據一些視訊寫碼技術,可實施DPB管理之各種方法。作為一個實例,用於預測後續經寫碼圖像及用於未來輸出之經解碼圖像可在DPB中緩衝。為有效利用DPB之記憶體,可指定DPB管理過程,包括將經解碼圖像儲存至DPB中之過程、參考圖像之標記過程及自DPB輸出及移除經解碼圖像之過程。DPB管理可包括至少以下態樣:(1)圖像識別及參考圖像識別;(2)參考圖像清單建構;(3)參考圖像標記;(4)來自DPB之圖像輸出;(5)圖像插入至DPB中;及(6)自DPB移除圖像。在上述過程中,參考圖像清單建構(2)及參考圖像標記(3)通常統稱為參考圖像管理。參考圖像標記及參考圖像清單建構之一些介紹提供於下文中。
參考圖像清單建構
根據一些視訊寫碼技術,可實施參考圖像清單建構之各種方法。作為一個實例,通常,對「B」圖像之第一參考圖像清單或第二參考圖像清單之參考圖像清單建構可包括兩個步驟:(1)參考圖像清單初始化,及(2)參考圖像清單重新定序(其可被稱作「修改」)。由視訊編碼器及/或視訊解碼器執行之參考圖像清單初始化可為基於與圖像之輸出次序或顯示次序對準之圖像次序計數(POC)值之次序將參考圖像記憶體(例如,經解碼圖像緩衝器「DPB」)中之參考圖像安置(例如,作為條目插入)於清單中之外顯機制。
參考圖像清單重新定序機制可將在參考圖像清單初始化期間置於清單中之圖像的位置修改為任何新位置,或甚至在圖像不屬於初始化清單的情況下仍將參考圖像記憶體中之任何參考圖像置於任何位置中。可在參考圖像清單重新定序(或修改)之後將一些圖像置於清單中之極「遠」的位置中。然而,若所指示參考圖像清單之大小小於參考圖像清單中之條目之數目,則可截短參考圖像清單以擬合(亦即,滿足)所指示參考圖像清單之大小。另外或替代地,若圖像之位置超出清單之作用中參考圖像之數目,則圖像可不被視為最終參考圖像清單之條目。可在每一清單之圖塊標頭內傳信作用中參考圖像之數目。
上文關於參考圖像清單建構之描述適用於AVC標準及HEVC標準兩者。
AVC 中之參考圖像標記
現將描述參考圖像清單標記技術。根據一些視訊寫碼技術,可實施參考圖像標記之各種方法。作為一個實例,H.264/AVC中之參考圖像標記可概括如下。可在作用中序列參數集(SPS)中指示用於框間預測之參考圖像之最大數目,其可被稱作「M」(例如,對應於語法元素num_ref_frames)。當解碼參考圖像時,參考圖像可標記為「用於參考」。若參考圖像之解碼導致大於「M」個圖像經標記為「用於參考」,則必須將至少一個圖像標記為「未用於參考」。隨後,若圖像亦不需要用於輸出,則DPB移除過程可自DPB移除標記為「未用於參考」之圖像。
當解碼圖像時,圖像可為非參考圖像或參考圖像。參考圖像可為長期參考圖像或短期參考圖像,且當標記為「未用於參考」時,圖像可變為非參考圖像。
H.264/AVC包括改變參考圖像之狀態的參考圖像標記操作。舉例而言,在H.264/AVC中,存在兩種類型之用於參考圖像標記之操作,亦即滑動窗口及亦被稱作記憶體管理控制操作(MMCO)之自適應記憶體控制。在圖像基礎上選擇用於參考圖像標記之操作模式。作為一個實例,滑動窗口參考圖像標記充當具有固定數目之短期參考圖像之先進先出(FIFO)隊列。換言之,具有最早解碼時間之短期參考圖像首先以內隱方式移除(亦即,標記為「未用於參考」之圖像)。作為另一實例,自適應記憶體控制參考圖像標記顯式地標記短期圖像或長期圖像。自適應記憶體控制亦使得能夠切換短期圖像及長期圖像之狀態。
HEVC 中之參考圖像標記
H.265/HEVC中之參考圖像標記可概括如下。HEVC利用基於參考圖像集(RPS)之參考圖像管理方案,參考圖像標記為參考圖像集之一部分。RPS為與由按解碼次序在相關聯圖像之前的所有參考圖像組成之圖像相關聯的參考圖像之集合,其可用於相關聯圖像或按解碼次序在相關聯圖像之後的任一圖像之框間預測。圖像之RPS由五個RPS清單組成,其中三個含有短期參考圖像且另外兩個清單含有長期參考圖像。
根據基於RPS之參考圖像管理方案,對於當前圖像之每一特定圖塊,必須提供由當前圖像或任何後續圖像使用之參考圖像的全集。因此,必須保持(例如,儲存)於DPB中以供當前圖像或未來圖像使用之所有圖像之全集經傳信及接收。相比而言,由AVC採用之參考圖像標記技術需要傳信僅儲存於DPB中的資訊之相對變化。利用基於RPS之技術,不需要(necessary/require)來自按解碼次序之較早圖像的資訊來維持儲存於DPB中之參考圖像之校正狀態。作為基於RPS之技術的傳信之部分,指示將參考圖像用作短期參考圖像抑或用作長期參考圖像之資訊亦經顯式傳信。
當圖像之圖塊標頭已經剖析時,在解碼圖塊資料之前(例如,在此之前)執行圖像標記程序。存在於DPB內且標記為「用於參考」但不包括在RPS中之圖像經標記為「未用於參考」。在解碼當前圖像之後,當前圖像經標記為「用於短期參考」。
現將論述上文所描述之技術的一些潛在問題。與現有參考圖像管理方案(例如,當前由視訊寫碼裝置採用根據H.264/AVC及H.265/HEVC操作的方案)相關的上文所描述之各種方法具有若干缺點。舉例而言,現有參考圖像管理方案不允許(或致能)多個圖像(例如,兩個獨特的不同的圖像)具有共同(亦即,相同)POC值以同時存在(例如,儲存)於DPB中(例如,並行地儲存於DPB中)。舉例而言,在現有HEVC方案中,圖像次序計數(POC)係與各圖像相關聯的變量,在CVS中之所有圖像當中唯一地識別相關聯圖像,且當自DPB輸出相關聯圖像時,以相對於自DPB輸出的相同CVS中之其他圖像之輸出次序位置的輸出次序指示相關聯圖像之位置。然而,在若干情形中,可需要使多個圖像(例如,兩個獨特的不同圖像)能夠具有共同(亦即,相同) POC值以同時存在(例如,儲存)於DPB中。舉例而言,未來編解碼器,不論標準化抑或專屬,可選取不定義或可擴展的多視圖及/或多層擴展。在此類情況下,使能用於儲存、識別及選擇CVS內具有相同POC值(其例如表示輸出次序及/或輸出時間)之多個圖像的機制可適用於處理位元串流之不同層且可在適當時進一步用作單層位元串流之工具。
另外,在具有或不具有運動向量及/或樣本值之基於POC之縮放的情況下,現有方案不允許具有相同的共同POC值之兩個圖像用於在相同時間或在不同時間預測(例如,框間預測)其他圖像。
舉例而言,在HEVC中,要求在一個經寫碼視訊序列(CVS)內,任何兩個經寫碼圖像之POC值不應相同。在HEVC中,CVS為由NoRaslOutputFlag等於1之IRAP存取單元,隨後零個或大於零個存取單元(其不是NoRaslOutputFlag等於1之IRAP存取單元)按解碼次序組成之存取單元之序列,包括所有後續存取單元,但不包括作為NoRaslOutputFlag等於1之IRAP存取單元的任何後續存取單元。應注意,IRAP存取單元可為IDR存取單元、BLA存取單元或CRA存取單元。對於各IDR存取單元、各BLA存取單元及各CRA存取單元,NoRaslOutputFlag之值等於1,該CRA存取單元為按解碼次序之位元串流中之第一存取單元,為按解碼次序跟隨序列NAL單元之末尾或HandleCraAsBlaFlag等於1之第一存取單元。然而,對於最高寫碼效率,將期望實現使多個不同的經寫碼圖像與共同的一致POC值相關聯的寫碼方案。此寫碼方案之一個實例如下:
使兩個經寫碼圖像與相同的一致POC值相關聯。
基於編碼經合成源圖像產生第一經寫碼圖像(在兩個經寫碼圖像當中)。經合成源圖像為一或多個源圖像或其對應的經解碼圖像之合成。在一個實例中,經合成源圖像藉由對一或多個源圖像或其經解碼圖像當中的對應像素值求加權平均而產生。將與當前POC值相關聯的源圖像定義為目標源圖像,且將與除當前POC值之外的POC值相關聯的任何源圖像視為參考源圖像。在一個實例中,將目標源圖像劃分成區塊,且接著對每一區塊執行運動資訊搜尋,以搜尋參考源圖像內的類似參考區塊。針對目標源圖像中之每一區塊(「源區塊」),對N個類似的參考區塊(例如,N可為任何正整數)與源區塊一起求加權平均,以產生最終經合成源圖像之對應區塊的最終合成像素。加權可經預先判定(例如,相等的權重)或可使用源區塊與參考區塊之間的像素自適應地判定(例如,計算)。舉例而言,加權可與源區塊與參考區塊之間的差(例如,絕對差總和(SAD)或差之平方和(SSD))成反比。在又一實例中,將每一參考圖像劃分成區塊且對每一區塊執行運動搜尋以搜尋(例如,識別)目標源圖像內的類似區塊。對目標源圖像中之每一像素與參考源圖像中之類似像素一起(例如,進行組合)求加權平均,以產生用於當前POC值之最終經合成源圖像之最終合成的像素。
與相同POC值相關聯的第二經寫碼圖像(在兩個經寫碼圖像當中)可使用第一經寫碼圖像作為框間預測參考圖像,或反之亦然。
可指示不輸出第一經寫碼圖像,但可指示輸出第二經寫碼圖像。
第一及第二經寫碼圖像可用於其他圖像之框間預測參考,其中可涉及運動向量及/或樣本值之基於POC之縮放。然而,應注意,當第二經寫碼圖像使用第一經寫碼圖像進行框間預測參考時,或反之亦然,由於第一及第二經寫碼圖像與相同的POC值相關聯,因此不能應用運動向量及/或樣本值之基於POC的縮放。
另一實例如下:
使兩個經寫碼圖像與相同的一致POC值相關聯。
第一經寫碼圖像與低於與第二經寫碼圖像相關聯的寫碼品質的寫碼品質相關聯。
第二經寫碼圖像可使用第一經寫碼圖像進行框間預測參考(亦即,可基於第一經寫碼圖像對第二經寫碼圖像進行框間預測)。
指示不(例如,自DPB)輸出第一經寫碼圖像,但指示輸出第二經寫碼圖像。
第一及第二經寫碼圖像可用於其他圖像之框間預測參考,其中可涉及運動向量及/或樣本值之基於POC之縮放。然而,應注意,當第二經寫碼圖像使用第一經寫碼圖像進行框間預測參考(亦即,基於第一經寫碼圖像對第二經寫碼圖像進行框間預測)時,由於第一及第二經寫碼圖像與相同的POC值相關聯,因此不能應用運動向量及/或樣本值之基於POC的縮放。
在寫碼情形中,例如,如在上文所描述之兩個實例中,自寫碼效率之視角,重要的是使視訊寫碼裝置能夠處理相同的經寫碼視訊序列(CVS)內具有相同POC值之多個經寫碼圖像且使其對應的經解碼圖像能夠同時存在於各別視訊寫碼裝置之DPB中且由視訊寫碼裝置使用與運動向量及/或樣本值之基於POC的縮放組合進行框間預測。然而,應注意,當圖像使用另一圖像進行框間預測參考時,若兩個圖像具有相同POC值,則不能應用運動向量及/或樣本值之基於POC的縮放。
本發明描述解決上文所描述之缺點的一或多種技術。特定而言,本發明之技術提供由視訊寫碼裝置(例如,視訊編碼器20及/或視訊解碼器30)利用的一些增強參考圖像管理方法,該增強參考圖像管理方法使得具有相同POC值之多個圖像能夠同時存在於DPB中且用於運動向量及/或樣本值之基於POC的縮放進行框間預測。應理解,本發明之技術及/或實施例中之一或多者可獨立應用,或與其他技術及/或實施例組合,儘管未明確論述所有組合。
根據本發明之一或多種技術,可假定在本發明之一些實施例中,可存在與給定CVS內之相同POC值相關聯的兩個或大於兩個(例如,在一些情況下至多兩個)經寫碼圖像,其中兩個經寫碼圖像中之每一者分別與輸出旗標之不同值相關聯,該輸出旗標指示將輸出抑或不輸出相關聯的經寫碼圖像,以使得可應用以下技術:
當視訊寫碼裝置(例如,視訊編碼器20及/或視訊解碼器30)識別(例如,判定)用於框間預測參考之一或多個圖像時,包括(例如)諸如參考圖像清單之建構以及參考圖像標記所需之傳信之操作,此等經識別圖像可不再僅由各別POC值識別,但由視訊寫碼裝置藉由(例如,結合)輸出旗標之相關聯值而另外識別,以使得使用POC值及輸出旗標之值識別各別圖像。因此,在特定CVS內之一些實施例中,任何兩個經寫碼圖像之POC值不應相同,除非兩個經寫碼圖像分別與輸出旗標之不同值相關聯。
在例如HEVC之上下文中,在參考圖像集之傳信及導出中,根據本發明之各種實施例,視訊寫碼裝置(例如,視訊編碼器20及/或視訊解碼器30)可經組態以藉由POC值及輸出旗標之值識別圖像。一旦視訊寫碼裝置根據本發明導出RPS,視訊寫碼裝置即可利用現有HEVC參考圖像清單傳信及建構技術/程序以及參考圖像標記程序,此係因為此等程序係基於RPS,以使得當需要識別RPS中之圖像時,視訊寫碼裝置「知道」 (例如,判定或存取資訊指示)給定圖像屬於哪個RPS清單(例如,給定圖像與哪個RPS清單相關聯或經列舉為其中的條目)及與彼特定RPS清單內之給定圖像相關聯的索引值足以。
可替代地或另外,為藉由如上文所論述之POC值及輸出旗標之值識別圖像,根據本發明之一或多種技術,可假定可存在與給定CVS內之相同POC值相關聯的大於兩個經寫碼圖像,以使得可應用以下技術:
除POC值之外(且在一些實施例中,除輸出旗標之值之外),圖像版本識別符(PVID)可由視訊寫碼裝置針對每一圖像顯式傳信。PVID可指示給定圖像之不同(例如,獨特)版本(或實例或複本或表現)。舉例而言,語法元素(例如,被稱作「pic_ver_id」的語法元素)可經傳信(例如,在包括視訊資料之位元串流中或在包括視訊資料之位元串流外(例如,與之分離))。在某些情況下或根據某些準則或條件,PVID可由視訊寫碼裝置(例如,視訊編碼器20及/或視訊解碼器30)推斷(例如,在不接收經傳信資訊的情況下判定)。當視訊寫碼裝置(例如,視訊編碼器20及/或視訊解碼器30)識別(例如,判定)用於框間預測參考之一或多個圖像時,包括(例如)諸如參考圖像清單之建構以及參考圖像標記所需之傳信之操作,可藉由各別POC值及相關聯的PVID值識別圖像。
因此,在CVS內,根據本發明之各種實施例,任何兩個經寫碼圖像之POC值不應相同,除非兩個經寫碼圖像分別與PVID之不同值相關聯。在一些實施例中,根據限制或約束,視訊寫碼裝置(例如,視訊編碼器20及/或視訊解碼器30)可經組態以僅輸出複數個圖像之指定集合(例如,基於識別機制之圖像或特定圖像之指定數目),其中該複數個圖像中之每一圖像與相同POC值相關聯且其中該複數個圖像中之每一圖像與PVID之不同的各別值相關聯。舉例而言,視訊寫碼裝置可經組態以僅輸出與相同POC值相關聯的複數個圖像當中的圖像,該相同POC值與特定(例如,最大) PVID值相關聯。
在例如HEVC之上下文中,在參考圖像集(RPS)之傳信及導出中,根據本發明之各種實施例,視訊寫碼裝置可經組態以藉由POC值及PVID之值識別圖像。一旦視訊寫碼裝置(例如,視訊編碼器20及/或視訊解碼器30)根據本發明導出RPS,視訊寫碼裝置即可利用現有HEVC參考圖像清單傳信及建構技術/程序以及參考圖像標記程序,此係因為此等程序係基於RPS,以使得當需要識別RPS中之圖像時,足以使視訊寫碼裝置「知道」 (例如,判定或存取資訊指示)給定圖像屬於哪個RPS清單(例如,給定圖像與哪個RPS清單相關聯或經列舉為其中的條目)及與彼特定RPS清單內之給定圖像相關聯的索引值。
如上文所提及,本發明之技術及/或實施例中之一或多者可獨立地應用,或與其他技術及/或實施例組合。因此,在本發明之一些實施例中,視訊寫碼裝置(例如,視訊編碼器20及/或視訊解碼器30)可經組態以藉由POC值、PVID值及/或輸出旗標之值識別圖像,藉此使得具有相同POC值的多個圖像能夠同時存在於DPB中,且另外在一些實施中,在具有(且在一些實施中不具有)運動向量及/或樣本值之基於POC的縮放之情況下用於框間預測。
視訊編碼器20及/或視訊解碼器30可根據實施如下文所提供之本發明之技術的一或多個實施例組態。當再現HEVC規範之某些部分以說明可併入以實施本文中所描述之方法中之一或多者之添加及刪除時,添加以粗體、下劃線及斜體文本( 添加之實例 )展示,且刪除以刪除線(刪除之實例 )展示。未提及之HEVC規範之其他部分可與例如標準建議ITU-T H.265 v4 (12/2016)之當前有效發佈版本中所提供的相同。
可替代地,視訊編碼器20及視訊解碼器30可根據其他專屬或行業標準(諸如JEM及/或VVC)操作。然而,本發明之技術不限於任何特定寫碼標準。
POC 傳信及導出
為使相同CVS內之兩個經寫碼圖像具有相同POC值(例如,「PicOrderCntVal」),POC傳信語法(例如,圖塊標頭語法中之slice_pic_order_cnt_lsb )及POC導出程序(例如,HEVC規範之章節8.3.1)可在未修改之情況下予以實施。然而,可如下修改HEVC規範之章節8.3.1,圖像次序計數之解碼程序:

如下導出PicOrderCntVal:
PicOrderCntVal = PicOrderCntMsb + slice_pic_order_cnt_lsb (8-2)
註解1-所有IDR圖像之PicOrderCntVal將等於0,此係因為針對IDR圖像,推斷slice_pic_order_cnt_lsb為0,且將prevPicOrderCntLsb及prevPicOrderCntMsb兩者均設定為等於0。
PicOrderCntVal之值將在-231至231-1 (包括-231及231-1)之範圍內。在一個CVS中,任何兩個經寫碼圖像之PicOrderCntVal值不應相同。
另外,以下約束可經添加(例如,至章節8.3.1),或作為pic_output_flag 之語義之部分,以使得視訊寫碼裝置能夠唯一地識別具有相同POC值之兩個圖像中之一者:
位元串流一致性要求當在 CVS 中存在具有相同 PicOrderCntVal 值之兩個經寫碼圖像時 兩個經寫碼圖像之 pic_output_flag 之值將不同。
參考圖像集(RPS)傳信及導出
根據實施本發明之一或多種技術之各種實施例,為實現在具有相鄰(包括一致) POC值之兩個經寫碼圖像之間傳信非零增量POC值,可如下改變例如章節7.3.7 (短期參考圖像集語法)之st_ref_pic_set( )語法結構之語法:
在章節7.4.8中,可如下修改短期參考圖像集語義:
...
delta_poc_s0 _minus1 [ i ]plus 1 ,當i等於0時,指定當前圖像之圖像次序計數值與第stRpsIdx候選短期RPS中具有小於 或等於 當前圖像之圖像次序計數值的圖像次序計數值之第i條目之間的差,或當i大於0時,指定第(i-1)條目之圖像次序計數值與第stRpsIdx候選短期RPS中具有小於 或等於 當前圖像之圖像次序計數值的圖像次序計數值之第i條目之間的差。delta_poc_s0_minus1 [ i ]之值應在0至215 -1 (包括0及215 -1)之範圍內。
st_ref_pic_s0_output_flag[ i ] 指示第 stRpsIdx 候選短期 RPS 中具有小於或等於當前圖像之圖像次序計數值的圖像次序計數值之第 i 條目之 pic_output_flag 之值。
...
delta_poc_s1 _minus1 [ i ]plus 1 ,當i等於0時,指定當前圖像之圖像次序計數值與第stRpsIdx候選短期RPS中具有大於當前圖像之圖像次序計數值的圖像次序計數值之第i條目之間的差,或當i大於0時,指定第i條目之圖像次序計數值與當前候選短期RPS中具有大於當前圖像之圖像次序計數值的圖像次序計數值之第(i-1)條目之間的差。delta_poc_s1_minus1 [ i ]之值應在0至215 -1 (包括0及215 -1)之範圍內。
st_ref_pic_s1_output_flag[ i ] 指示第 stRpsIdx 候選短期 RPS 中具有大於當前圖像之圖像次序計數值的圖像次序計數值之第 i 條目之 pic_output_flag 之值。
...
另外,可如下改變章節7.4.8中之等式7-67、7-68、7-69及7-70:
DeltaPocS0[ stRpsIdx ][ i ] = -( delta_poc_s0_minus1 [ i ]+ 1 ) (7-67)
DeltaPocS1[ stRpsIdx ][ i ] = delta_poc_s1_minus1 [ i ]+ 1 (7-68)
DeltaPocS0[ stRpsIdx ][ i ] = DeltaPocS0[ stRpsIdx ][ i - 1 ] -( delta_poc_s0_minus1 [ i ]+ 1 ) (7-69)
DeltaPocS1[ stRpsIdx ][ i ] = DeltaPocS1[ stRpsIdx ][ i - 1 ] +( delta_poc_s1_minus1 [ i ]+ 1 ) (7-70)
另外,可將以下等式添加至說明書:
PicOputFlagS0[ stRpsIdx ][ i ] = st_ref_pic_s0_output_flag[ i ]
PicOputFlagS1[ stRpsIdx ][ i ] = st_ref_pic_s1_output_flag[ i ]
另外,可如下改變seq_parameter_set_rbsp( )語法結構之語法:
可如下修改序列參數集語義:
...
lt_ref_pic_output_flag[ i ] 指示 SPS 中所指定的第 i 候選長期參考圖像之 pic_output_flag 之值。
...
另外,可如下改變slice_segment_header( )語法結構之語法:
可如下修改圖塊分段標頭語義:
...
pic_output_flag_lt[ i ] 指示當前圖像之長期 RPS 中之第 i 條目的 pic_output_flag 之值。
used_by_curr_pic_lt_flag [ i ]等於0指定當前圖像之長期RPS中的第i條目不供當前圖像參考。
如下導出變數PocLsbLt[ i ]、 PofLt[ i ] 及UsedByCurrPicLt[ i ]:
- 若i小於num_long_term_sps,則將PocLsbLt[ i ]設定為等於lt_ref_pic_poc_lsb_sps[ lt_idx_sps[ i ] ] PofLt[ i ] 設定為等於 lt_ref_pic_output_flag[ i ] 且將UsedByCurrPicLt[ i ]設定為等於used_by_curr_pic_lt_sps_flag[ lt_idx_sps[ i ] ]。
- 否則,將PocLsbLt[ i ]設定為等於poc_lsb_lt[ i ] PofLt[ i ] 設定為等於 pic_output_flag_lt[ i ] 且將UsedByCurrPicLt[ i ]設定為等於used_by_curr_pic_lt_flag[ i ]。
...
另外,可如下改變章節8.3.2中之等式8-5:
for( i = 0, j = 0, k = 0; i < NumNegativePics[ CurrRpsIdx ] ; i++ )
if( UsedByCurrPicS0[ CurrRpsIdx ][ i ] ) {
PocStCurrBefore[ j++ ] = PicOrderCntVal + DeltaPocS0[ CurrRpsIdx ][ i ]
OpfSt CurrBefore[ j ] = PicOputFlagS0[ CurrRpsIdx ][ i ]
} else {
PocStFoll[ k++ ] = PicOrderCntVal + DeltaPocS0[ CurrRpsIdx ][ i ]
OpfStFoll [ k ] = PicOputFlagS0[ CurrRpsIdx ][ i ]
}
NumPocStCurrBefore = j
for( i = 0, j = 0; i < NumPositivePics[ CurrRpsIdx ]; i++ )
if( UsedByCurrPicS1[ CurrRpsIdx ][ i ] ) {
PocStCurrAfter[ j++ ] = PicOrderCntVal + DeltaPocS1[ CurrRpsIdx ][ i ]
OpfSt CurrAfter[ j ] = PicOputFlagS1[ CurrRpsIdx ][ i ]
} else {
PocStFoll[ k++ ] = PicOrderCntVal + DeltaPocS1[ CurrRpsIdx ][ i ]
OpfStFoll [ k ] = PicOputFlagS1[ CurrRpsIdx ][ i ]
}
NumPocStCurrAfter = j
NumPocStFoll = k (8-5)
for( i = 0, j = 0, k = 0; i < num_long_term_sps + num_long_term_pics; i++ ) {
pocLt = PocLsbLt[ i ]
if( delta_poc_msb_present_flag[ i ] )
pocLt += PicOrderCntVal - DeltaPocMsbCycleLt[ i ] *
MaxPicOrderCntLsb -
( PicOrderCntVal & ( MaxPicOrderCntLsb - 1 ) )
if( UsedByCurrPicLt[ i ] ) {
PocLtCurr[ j ] = pocL
PofLtCurr[ j ] = PofLt[ i ]
CurrDeltaPocMsbPresentFlag[j++]=delta_poc_msb_present_flag[ i ]
} else {
PocLtFoll[ k ] = pocLt
PofLtFoll[ k ] = PofLt[ i ]
FollDeltaPocMsbPresentFlag[k++]=delta_poc_msb_present_flag[ i ]
}
}
NumPocLtCurr = j
NumPocLtFoll = k
另外,可如下改變章節8.3.2中之等式8-6:
for( i = 0; i < NumPocLtCurr; i++ )
if( !CurrDeltaPocMsbPresentFlag[ i ] )
if( there is a reference picture picX in the DPB
withPicOrderCntVal & ( MaxPicOrderCntLsb - 1 ) equal to
PocLtCurr[ i ] , pic_output_flag equal to PofLtCurr[ i ], and
nuh_layer_id equal to currPicLayerId )
RefPicSetLtCurr[ i ] = picX
Else
RefPicSetLtCurr[ i ] = "no reference picture"
else
if(there is a reference picture picX in the DPB with PicOrderCntVal equal to
PocLtCurr[ i ] ,pic_output_flag equal to PofLtCurr[ i ], and nuh_layer_id equal
to currPicLayerId )
RefPicSetLtCurr[ i ] = picX
else
RefPicSetLtCurr[ i ] = "no reference picture"
(8-6)
for( i = 0; i < NumPocLtFoll; i++ )
if( !FollDeltaPocMsbPresentFlag[ i ] )
if( there is a reference picture picX in the DPB with
PicOrderCntVal& ( MaxPicOrderCntLsb - 1 ) equal to PocLtFoll[ i] ,
pic_output_flag equal to PofLtFoll[ i ], and nuh_layer_id equal to
currPicLayerId )
RefPicSetLtFoll[ i ] = picX
else
RefPicSetLtFoll[ i ] = "no reference picture"
else
if( there is a reference picture picX in the DPB with PicOrderCntVal equal to
PocLtFoll[ i ] , pic_output_flag equal to PofLtFoll[ i ], and nuh_layer_id equal to
currPicLayerId )
RefPicSetLtFoll[ i ] = picX
else
RefPicSetLtFoll[ i ] = "no reference picture"
另外,可如下改變章節8.3.2中之等式8-7:
for( i = 0; i < NumPocStCurrBefore; i++ )
if( there is a short-term reference picture picX in the DPB with PicOrderCntVal equal to
PocStCurrBefore[i] ,pic_output_flag equal to OpfStCurrBefore[i], and
nuh_layer_id equal to currPicLayerId )
RefPicSetStCurrBefore[ i ] = picX
else
RefPicSetStCurrBefore[ i ] = "no reference picture"
for( i = 0; i < NumPocStCurrAfter; i++ )
if( there is a short-term reference picture picX in the DPB with PicOrderCntVal equal to
PocStCurrAfter[i] ,pic_output_flag equal to OpfStCurrAfter[ i ], and
nuh_layer_id equal to currPicLayerId )
RefPicSetStCurrAfter[ i ] = picX
else
RefPicSetStCurrAfter[ i ] = "no reference picture"
(8-7)
for( i = 0; i < NumPocStFoll; i++ )
if( there is a short-term reference picture picX in the DPB with PicOrderCntVal equal to PocStFoll[ i ] pic_output_flag equal to OpfStFoll[ i ], and
nuh_layer_id equal to currPicLayerId )
RefPicSetStFoll[ i ] = picX
else
RefPicSetStFoll[ i ] = "no reference picture"
POC 傳信及導出
在實施本發明之一或多種技術之各種其他實施例中,為使相同CVS內之兩個經寫碼圖像具有相同POC值(例如,「PicOrderCntVal」),POC傳信語法(例如,圖塊標頭語法中之slice_pic_order_cnt_lsb )及POC導出程序(例如,HEVC規範中之章節8.3.1)可在未修改之情況下予以實施。然而,亦可如下修改HEVC規範之章節8.3.1,圖像次序計數之解碼程序:

如下導出PicOrderCntVal:
PicOrderCntVal = PicOrderCntMsb + slice_pic_order_cnt_lsb
(8-2)
註解1-所有IDR圖像之PicOrderCntVal將等於0,此係因為針對IDR圖像,推斷slice_pic_order_cnt_lsb為0,且將prevPicOrderCntLsb及prevPicOrderCntMsb兩者均設定為等於0。
PicOrderCntVal之值將在-231至231-1 (包括-231及231-1)之範圍內。在一個CVS中,任何兩個經寫碼圖像之PicOrderCntVal值不應相同。
PVID 之傳信
根據本發明之一或多種技術,為實現與經寫碼圖像相關聯的PVID值的傳信,可如下改變slice_segment_header( )語法結構之語法:
pic_ver_id之語義可如下:
pic_ver_id 指定當前圖像之圖像版本 ID 。具有相同圖像次序計數值之 CVS 內的圖像應具有不同圖像版本 ID 值。
參考圖像集 (RPS) 傳信及導出
根據實施本發明之一或多種技術之各種實施例,為實現在具有相鄰(包括一致) POC值之兩個經寫碼圖像之間傳信非零增量POC值,可如下改變st_ref_pic_set( )語法結構之語法:
可如下修改短期參考圖像集語義:
...
delta_poc_s0 _minus1 [ i ]plus 1 ,當i等於0時,指定當前圖像之圖像次序計數值與第stRpsIdx候選短期RPS中具有小於 或等於 當前圖像之圖像次序計數值的圖像次序計數值之第i條目之間的差,或當i大於0時,指定第(i-1)條目之圖像次序計數值與第stRpsIdx候選短期RPS中具有小於 或等於 當前圖像之圖像次序計數值的圖像次序計數值之第i條目之間的差。delta_poc_s0_minus1 [ i ]之值應在0至215 -1 (包括0及215 -1)之範圍內。
st_ref_pic_s0_pvid[ i ] 指示第 stRpsIdx 候選短期 RPS 中具有小於或等於當前圖像之圖像次序計數值的圖像次序計數值之第 i 條目之 pic_ver_id 之值。
...
delta_poc_s1 _minus1 [ i ]plus 1 ,當i等於0時,指定當前圖像之圖像次序計數值與第stRpsIdx候選短期RPS中具有大於當前圖像之圖像次序計數值的圖像次序計數值之第i條目之間的差,或當i大於0時,指定第i條目之圖像次序計數值與當前候選短期RPS中具有大於當前圖像之圖像次序計數值的圖像次序計數值之第(i-1)條目之間的差。delta_poc_s1_minus1 [ i ]之值應在0至215 -1 (包括0及215 -1)之範圍內。\
st_ref_pic_s1_pvid[ i ] 指示第 stRpsIdx 候選短期 RPS 中具有大於當前圖像之圖像次序計數值的圖像次序計數值之第 i 條目之 pic_output_flag 之值。
...
另外,可如下改變等式7-67、7-68、7-69及7-70:
DeltaPocS0[ stRpsIdx ][ i ] = -( delta_poc_s0_minus1 [ i ]+ 1 ) (7-67)
DeltaPocS1[ stRpsIdx ][ i ] = delta_poc_s1_minus1 [ i ]+ 1 (7-68)
DeltaPocS0[ stRpsIdx ][ i ] = DeltaPocS0[ stRpsIdx ][ i - 1 ] -( delta_poc_s0_minus1 [ i ]+ 1 ) (7-69)
DeltaPocS1[ stRpsIdx ][ i ] = DeltaPocS1[ stRpsIdx ][ i - 1 ] +( delta_poc_s1_minus1 [ i ]+ 1 ) (7-70)
另外,可將以下等式添加至說明書:
PicVerIdS0[ stRpsIdx ][ i ] = st_ref_pic_s0_pvid[ i ]
PicVerIdS1[ stRpsIdx ][ i ] = st_ref_pic_s1_pvid[ i ]
另外,可如下改變seq_parameter_set_rbsp( )語法結構之語法:
可如下修改序列參數集語義:
...
lt_ref_pvid[ i ] 指示 SPS 中所指定的第 i 候選長期參考圖像之 pic_ver_id 之值。
...
另外,可如下改變slice_segment_header( )語法結構之語法:
且可如下修改圖塊分段標頭之語義:
pvid_lt [ i ] 指示當前圖像之長期 RPS 中之第 i 條目之 pic_ver_id 之值。
used_by_curr_pic_lt_flag [ i ]等於0指定當前圖像之長期RPS中的第i條目不供當前圖像參考。
如下導出變數PocLsbLt[ i ] PvidLt[ i ] 及UsedByCurrPicLt[ i ]:
- 若i小於num_long_term_sps,則將PocLsbLt[ i ]設定為等於lt_ref_pic_poc_lsb_sps[ lt_idx_sps[ i ] ] PvidLt[ i ] 設定為等於 lt_ref_pvid[ i ] 且將UsedByCurrPicLt[ i ]設定為等於used_by_curr_pic_lt_sps_flag[ lt_idx_sps[ i ] ]。
- 否則,將PocLsbLt[ i ]設定為等於poc_lsb_lt[ i ], PvidLt[ i ] 設定為等於 pvid_lt[ i ] 且將UsedByCurrPicLt[ i ]設定為等於used_by_curr_pic_lt_flag[ i ]。
...
另外,可如下修改等式8-5:
for( i = 0, j = 0, k = 0; i < NumNegativePics[ CurrRpsIdx ] ; i++ )
if( UsedByCurrPicS0[ CurrRpsIdx ][ i ] ) {
PocStCurrBefore[j++]=PicOrderCntVal+DeltaPocS0[ CurrRpsIdx ][ i ]
PvidSt CurrBefore[ j ] = PicVerIdS0[ CurrRpsIdx ][ i ]
} else {
PocStFoll[k++]=PicOrderCntVal+DeltaPocS0[ CurrRpsIdx ][ i ]
PvidStFoll [ k ] = PicVerIdS0[ CurrRpsIdx ][ i ]
}
NumPocStCurrBefore = j
for( i = 0, j = 0; i < NumPositivePics[ CurrRpsIdx ]; i++ )
if( UsedByCurrPicS1[ CurrRpsIdx ][ i ] ) {
PocStCurrAfter[j++]=PicOrderCntVal+DeltaPocS1[ CurrRpsIdx ][ i ]
PvidSt CurrAfter[ j ] = PicVerIdS1[ CurrRpsIdx ][ i ]
} else {
PocStFoll[k++]=PicOrderCntVal+DeltaPocS1[ CurrRpsIdx ][ i ]
PvidStFoll [ k ] = PicVerIdS1[ CurrRpsIdx ][ i ]
}
NumPocStCurrAfter = j
NumPocStFoll = k (8-5)
for( i = 0, j = 0, k = 0; i < num_long_term_sps + num_long_term_pics; i++ ) {
pocLt = PocLsbLt[ i ]
if( delta_poc_msb_present_flag[ i ] )
pocLt + = PicOrderCntVal - DeltaPocMsbCycleLt [i] *MaxPicOrderCntLsb -
( PicOrderCntVal & ( MaxPicOrderCntLsb - 1 ) )
if( UsedByCurrPicLt[ i ] ) {
PocLtCurr[ j ] = pocLt
PvidLtCurr[ j ] = PvidLt[ i ]
CurrDeltaPocMsbPresentFlag[ j++ ] = delta_poc_msb_present_flag[ i ]
} else {
PocLtFoll[ k ] = pocLt
PvidLtFoll[ k ] = PvidLt[ i ]
FollDeltaPocMsbPresentFlag[ k++ ] = delta_poc_msb_present_flag[ i ]
}
}
NumPocLtCurr = j
NumPocLtFoll = k
另外,可如下修改等式8-6:
for( i = 0; i < NumPocLtCurr; i++ )
if( !CurrDeltaPocMsbPresentFlag[ i ] )
if( there is a reference picture picX in the DPB with
PicOrderCntVal & ( MaxPicOrderCntLsb - 1 )
equal to PocLtCurr[ i ] , pic_ver_id equal to PvidLtCurr[ i ], and nuh_layer_id equal to
currPicLayerId )
RefPicSetLtCurr[ i ] = picX
else
RefPicSetLtCurr[ i ] = "no reference picture"
else
if( there is a reference picture picX in the DPB with PicOrderCntVal equal to PocLtCurr[ i ] ,
pic_ver_id equal to PvidLtCurr[ i ], and nuh_layer_id equal to currPicLayerId )
RefPicSetLtCurr[ i ] = picX
else
RefPicSetLtCurr[ i ] = "no reference picture"
(8-6)
for( i = 0; i < NumPocLtFoll; i++ )
if( !FollDeltaPocMsbPresentFlag[ i ] )
if( there is a reference picture picX in the DPB with PicOrderCntVal & ( MaxPicOrderCntLsb - 1 ) equal to PocLtFoll[ i ] , pic_ver_id equal to PvidLtFoll[ i ], and nuh_layer_id equal to currPicLayerId )
RefPicSetLtFoll[ i ] = picX
else
RefPicSetLtFoll[ i ] = "no reference picture"
else
if( there is a reference picture picX in the DPB with PicOrderCntVal equal to PocLtFoll[ i ] ,
pic_ver_id equal to PvidLtFoll[ i ], and nuh_layer_id equal to currPicLayerId )
RefPicSetLtFoll[ i ] = picX
else
RefPicSetLtFoll[ i ] = "no reference picture"
另外,如下改變等式8-7:
for( i = 0; i < NumPocStCurrBefore; i++ )
if( there is a short-term reference picture picX in the DPB with PicOrderCntVal equal to
PocStCurrBefore[ i ] , pic_ver_id equal to PvidStCurrBefore[ i ], and
nuh_layer_id
equal to currPicLayerId )
RefPicSetStCurrBefore[ i ] = picX
else
RefPicSetStCurrBefore[ i ] = "no reference picture"
for( i = 0; i < NumPocStCurrAfter; i++ )
if( there is a short-term reference picture picX in the DPB with PicOrderCntVal equal to
PocStCurrAfter[ i ] , pic_ver_id equal to PvidStCurrAfter[ i ], and nuh_layer_id
equal to currPicLayerId )
RefPicSetStCurrAfter[ i ] = picX
else
RefPicSetStCurrAfter[ i ] = "no reference picture"
(8-7)
for( i = 0; i < NumPocStFoll; i++ )
if( there is a short-term reference picture picX in the DPB with PicOrderCntVal equal to PocStFoll[ i ]
pic_ver_id equal to PvidStFoll[ i ], and nuh_layer_id equal to currPicLayerId )
RefPicSetStFoll[ i ] = picX
else
RefPicSetStFoll[ i ] = "no reference picture"
圖4為說明利用與本發明之增強參考圖像管理機制相關聯的技術之視訊編碼器的實例操作之流程圖。出於解釋之目的,圖4之流程圖在下文描述為由如圖1及圖2中所論述之視訊編碼器20及其組件執行。然而,應理解,其他裝置可經組態以執行圖4之流程圖或類似方法。另外,結合圖4所描述之視訊編碼器20之操作僅為視訊編碼器20經組態以根據本發明執行的操作之子集。舉例而言,視訊編碼器20經組態以判定、處理及/或傳信經編碼位元串流內的其他資料(例如,語法元素)且執行本發明內所描述之其他操作(例如,當前圖像之預測及基於POC之縮放)。
根據本發明之一或多種技術,視訊編碼器20 (例如,模式選擇單元40及其組件)可編碼例如特定CVS之兩個或大於兩個單獨的且不同的圖像以用作參考圖像,且使共同(例如,一致或共用) POC值與兩個或大於兩個圖像中之每一者相關聯(402)。視訊編碼器20 (例如,模式選擇單元40,且在一些實施中,特定而言為運動估計單元42)可進一步使各別資訊或資料與兩個或大於兩個不同圖像中之每一者相關聯(例如,指派、組態或設定)且維持(404),以便實現將特定CVS之兩個或大於兩個圖像同步儲存於參考圖像記憶體64中,以使得兩個或大於兩個圖像中之至少一者隨後可由例如運動補償單元44識別。在各種實施例中,各別資訊可包括指示是否輸出共用一致POC值之兩個或大於兩個圖像之各別圖像的資料及/或各別圖像之版本識別符。
出於根據本發明之框間預測參考及RPS之導出及/或建構之目的,視訊編碼器20 (例如,運動補償單元44)可基於一致的共同POC值及與至少一個圖像相關聯的各別資料識別(或選擇)兩個或大於兩個圖像當中的至少一個圖像(406)。
在一些實施例中,視訊編碼器20可顯式地傳信(例如,在包括特定CVS之視訊位元串流中編碼)作為經編碼位元串流之各種語法結構中之語法元素的各別資料(408)。在其他實施例中,各別資料之子集的值可經推斷(例如,由視訊解碼器隱式導出)且因此不由視訊編碼器20顯式傳信。
圖5為說明利用本發明之增強參考圖像管理之一些技術/機制的視訊解碼器之實例操作之流程圖。出於解釋之目的,圖5之流程圖在下文描述為由如圖1及圖3中所論述之視訊解碼器30及其組件執行。然而,應理解,其他裝置可經組態以執行圖5之流程圖或類似方法。另外,結合圖5所描述之視訊解碼器30之操作僅為視訊解碼器30經組態以根據本發明執行的操作之子集。舉例而言,視訊解碼器30經組態以剖析及處理來自位元串流之其他資料(例如,語法元素)且執行貫穿本發明所描述之其他操作(例如,當前圖像之預測及基於POC之縮放)。
視訊解碼器30解碼(例如,重新建構)單個CVS內的至少兩個圖像(502)。視訊解碼器30判定至少兩個圖像與一致POC值相關聯(例如,由其指派或識別)。視訊解碼器30 (例如,運動補償單元72)進一步判定(及維持)用於識別框間預測參考之圖像的其他資訊(例如,參考圖像清單之導出及/或建構以用於解碼當前圖像)。舉例而言,運動補償單元72可判定(例如,接收或導出)與至少兩個圖像中之每一圖像相關聯的語法元素及/或變數之值(504),該至少兩個圖像與一致POC值相關聯。如本文中所論述,在一些實施例中,視訊解碼器30可接收及/或本端判定(亦即,在不接收顯式傳信之情況下)指示與是否輸出圖像之至少兩個圖像中之每一者及/或圖像之版本識別符相關聯的資料。
視訊解碼器30可將至少兩個圖像儲存於在本文中亦被稱作DPB之參考圖像記憶體82中(506)。在一些實施中,至少兩個圖像可同步存在於參考圖像記憶體82中。
出於框間預測參考及RPS之導出及/或建構,以用於預測根據本發明待解碼之後續圖像(例如,當前圖像)之目的,視訊解碼器30 (例如,運動補償單元72)可基於一致的共同POC值及與至少一個圖像相關聯的各別資料識別(或選擇)兩個或大於兩個圖像當中的至少一個圖像(508)。
應認識到,取決於實例,本文中所描述之技術中之任一者的某些動作或事件可以不同序列經執行,可經添加、合併或完全省略(例如,並非所有所描述動作或事件為實踐該等技術所必要)。此外,在某些實例中,可例如經由多執行緒處理、中斷處理或多個處理器同時而非順序執行動作或事件。
在一或多個實例中,所描述功能可以硬體、軟體、韌體或其任何組合實施。若以軟體實施,則該等功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體進行傳輸,且藉由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體(其對應於諸如資料儲存媒體之有形媒體)或通信媒體,該通信媒體包括(例如)根據通信協定有助於電腦程式自一處傳送至另一處的任何媒體。以此方式,電腦可讀媒體通常可對應於(1)非暫時性之有形電腦可讀儲存媒體,或(2)諸如信號或載波之通信媒體。資料儲存媒體可為可藉由一或多個電腦或一或多個處理器存取以擷取指令、程式碼及/或資料結構以用於實施本發明中所描述之技術的任何可用媒體。電腦程式產品可包括電腦可讀媒體。
藉助於實例而非限制,此類電腦可讀儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存裝置、快閃記憶體或可用以儲存呈指令或資料結構形式之所要程式碼且可由電腦存取的任何其他媒體。又,任何連接被適當地稱為電腦可讀媒體。舉例而言,若使用同軸纜線、光纖纜線、雙絞線、數位用戶線(DSL)或無線技術(諸如紅外線、無線電及微波)自網站、伺服器或其他遠端源傳輸指令,則同軸纜線、光纖纜線、雙絞線、DSL或無線技術(諸如紅外線、無線電及微波)包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而實情為關於非暫時性有形儲存媒體。如本文中所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位影音光碟(DVD)、軟碟及藍光光碟,其中磁碟通常以磁性方式再生資料,而光碟藉由雷射以光學方式再生資料。以上各者之組合亦應包括於電腦可讀媒體之範疇內。
可藉由諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效積體或離散邏輯電路之一或多個處理器來執行指令。因此,如本文中所使用之術語「處理器」可指前述結構或適合於實施本文中所描述之技術的任何其他結構中之任一者。另外,在一些態樣中,本文中所描述之功能可設置於經組態以供編碼及解碼或併入於經組合編碼解碼器中之專用硬體及/或軟體模組內。又,可在一或多個電路或邏輯元件中充分實施該等技術。
本發明之技術可實施於各種裝置或設備中,包括無線手持機、積體電路(IC)或IC集(例如,晶片集)。在本發明中描述各種組件、模組或單元以強調經組態以執行所揭示技術之裝置的功能態樣,但未必要求由不同硬體單元來實現。實際上,如上文所描述,各種單元可與合適的軟體及/或韌體一起組合於編解碼器硬體單元中或由互操作性硬體單元之集合提供,硬件單元包括如上文所描述之一或多個處理器。
已描述各種實例。此等及其他實例在以下申請專利範圍之範疇內。
10‧‧‧視訊編碼及解碼系統
12‧‧‧源裝置
14‧‧‧目的地裝置
16‧‧‧電腦可讀媒體
18‧‧‧視訊源
20‧‧‧視訊編碼器
21‧‧‧視訊編碼單元
22‧‧‧輸出介面
40‧‧‧模式選擇單元
42‧‧‧運動估計單元
44‧‧‧運動補償單元
46‧‧‧框內預測單元
48‧‧‧分割單元
50‧‧‧求和器
52‧‧‧變換處理單元
54‧‧‧量化單元
56‧‧‧熵編碼單元
58‧‧‧反量化單元
60‧‧‧反變換單元
62‧‧‧求和器
64‧‧‧參考圖像記憶體
70‧‧‧熵解碼單元
72‧‧‧運動補償單元
74‧‧‧框內預測單元
76‧‧‧反量化單元
78‧‧‧反變換單元
80‧‧‧求和器
82‧‧‧參考圖像記憶體
102‧‧‧源裝置
112‧‧‧儲存裝置
116‧‧‧目的地裝置
402‧‧‧步驟
404‧‧‧步驟
406‧‧‧步驟
408‧‧‧步驟
502‧‧‧步驟
504‧‧‧步驟
506‧‧‧步驟
508‧‧‧步驟
圖1為說明經組態以實施本發明之技術的實例視訊編碼及解碼系統的方塊圖。
圖2為說明可實施本發明中所描述之技術的實例視訊編碼器的方塊圖。
圖3為說明可實施本發明中所描述之技術的實例視訊解碼器的方塊圖。
圖4為說明根據本發明之增強參考圖像管理機制操作的視訊編碼器之實例操作的流程圖。
圖5為說明根據本發明之增強參考圖像管理機制操作的視訊解碼器之實例操作的流程圖。

Claims (35)

  1. 一種寫碼視訊資料之方法,其包含: 由包括實施於處理電路中之一處理器之一寫碼裝置寫碼該視訊資料之一單個經寫碼視訊序列(CVS)的至少兩個圖像,其中該至少兩個圖像中之每一圖像與一一致圖像次序計數(POC)值相關聯,該至少兩個圖像彼此不同; 由該寫碼裝置使各別資料與該單個CVS之該至少兩個圖像中之每一者相關聯;及 基於與該至少兩個圖像相關聯的該一致POC值及與該至少一個圖像相關聯的該各別資料,由該寫碼裝置識別包括於一參考圖像集中之該至少兩個圖像當中的至少一個圖像。
  2. 如請求項1之方法,其進一步包含由該寫碼裝置將該至少兩個圖像儲存於一緩衝記憶體中,以使得該至少兩個圖像在一給定時間點同步存在於該緩衝記憶體中。
  3. 如請求項1之方法,其進一步包含由該寫碼裝置傳信、接收或判定與包含該單個CVS之一位元串流內的該單個CVS之該至少兩個圖像中之每一者相關聯的該各別資料中之一者。
  4. 如請求項3之方法,其進一步包含由該寫碼裝置傳信或接收與一參數集語法結構、圖塊標頭結構或一參考圖像集結構中之至少一者內的該單個CVS之該至少兩個圖像中之每一者相關聯的該各別資料中之一者。
  5. 如請求項1之方法,其中該各別資料指示以下中之至少一者: 是否輸出該至少兩個圖像中之一圖像,或 該至少兩個圖像中之該圖像之一版本識別符。
  6. 如請求項1之方法,其進一步包含包括該參考圖像集內的該識別的至少一個圖像。
  7. 如請求項6之方法,其進一步包含基於該參考圖像集內的該識別的至少一個圖像來預測一當前圖像。
  8. 如請求項1之方法,其進一步包含執行與該識別的至少一個圖像相關聯的運動資訊或像素值中之至少一者之基於POC的縮放,以用於預測一當前圖像。
  9. 如請求項1之方法,其中寫碼該視訊包含編碼或解碼該視訊資料中之一者。
  10. 一種用於寫碼視訊資料之寫碼裝置,該裝置包含: 一緩衝記憶體,其經組態以儲存該視訊資料之圖像;及 至少一個處理器,其與該緩衝記憶體通信,該至少一個處理器實施於電路中且經組態以: 寫碼該視訊資料之一單個經寫碼視訊序列(CVS)之至少兩個圖像,其中該至少兩個圖像中之每一圖像與一一致圖像次序計數(POC)值相關聯,該至少兩個圖像彼此不同; 使各別資料與該單個CVS之該至少兩個圖像中之每一者相關聯;及 基於與該至少兩個圖像相關聯的該一致POC值及與該至少一個圖像相關聯的該各別資料,識別包括於一參考圖像集中之該至少兩個圖像當中的至少一個圖像。
  11. 如請求項10之寫碼裝置,其中該至少一個處理器經進一步組態以將該至少兩個圖像儲存於該緩衝記憶體中,以使得該至少兩個圖像在一給定時間點同步存在於該緩衝記憶體中。
  12. 如請求項10之寫碼裝置,其中該至少一個處理器經進一步組態以傳信、接收或判定與包含該單個CVS之一位元串流內的該單個CVS之該至少兩個圖像中之每一者相關聯的該各別資料中之一者。
  13. 如請求項12之寫碼裝置,其中該至少一個處理器經進一步組態以傳信或接收與一參數集語法結構、圖塊標頭結構或一參考圖像集結構中之至少一者內的該單個CVS之該至少兩個圖像中之每一者相關聯的該各別資料中之一者。
  14. 如請求項10之寫碼裝置,其中該各別資料指示以下中之至少一者: 是否輸出該至少兩個圖像中之一圖像,或 該至少兩個圖像中之該圖像之一版本識別符。
  15. 如請求項10之寫碼裝置,其中該至少一個處理器經進一步組態以包括該參考圖像集內的該識別的至少一個圖像。
  16. 如請求項15之寫碼裝置,其中該至少一個處理器經進一步組態以基於該參考圖像集內的該識別的至少一個圖像來預測一當前圖像。
  17. 如請求項10之寫碼裝置,其中該至少一個處理器經進一步組態以執行與該識別的至少一個圖像相關聯的運動資訊或像素值中之至少一者之基於POC的縮放,以用於預測一當前圖像。
  18. 如請求項10之寫碼裝置,其中該寫碼裝置包含一編碼裝置或一解碼裝置中之一者。
  19. 一種設備,其經組態以寫碼視訊資訊,該裝置包含: 用於儲存該視訊資料之圖像的構件; 用於寫碼該視訊資料之一單個經寫碼視訊序列(CVS)之至少兩個圖像的構件,其中該至少兩個圖像中之每一圖像與一一致圖像次序計數(POC)值相關聯,該至少兩個圖像彼此不同; 用於使各別資料與該單個CVS之該至少兩個圖像中之每一者相關聯的構件;及 用於基於與該至少兩個圖像相關聯的該一致POC值及與該至少一個圖像相關聯的該各別資料,識別包括於一參考圖像集中之該至少兩個圖像當中的至少一個圖像的構件。
  20. 如請求項19之設備,其進一步包含用於將該至少兩個圖像儲存於該緩衝記憶體中,以使得該至少兩個圖像在一給定時間點同步存在於該緩衝記憶體中的構件。
  21. 如請求項19之設備,其進一步包含用於傳信、接收或判定與包含該單個CVS之一位元串流內的該單個CVS之該至少兩個圖像中之每一者相關聯的該各別資料中之一者的構件。
  22. 如請求項19之設備,其進一步包含用於傳信或接收與一參數集語法結構、圖塊標頭結構或一參考圖像集結構中之至少一者內的該單個CVS之該至少兩個圖像中之每一者相關聯的該各別資料中之一者的構件。
  23. 如請求項19之設備,其中該各別資料指示以下中之至少一者: 是否輸出該至少兩個圖像中之一圖像,或 該至少兩個圖像中之該圖像之一版本識別符。
  24. 如請求項19之設備,其進一步包含用於包括該參考圖像集內的該識別的至少一個圖像的構件。
  25. 如請求項24之設備,其進一步包含用於基於該參考圖像集內的該識別的至少一個圖像來預測一當前圖像的構件。
  26. 如請求項19之設備,其進一步包含用於執行與該識別的至少一個圖像相關聯的運動資訊或像素值中之至少一者之基於POC的縮放以用於預測一當前圖像的構件。
  27. 如請求項19之設備,其中該設備包含一編碼設備或一解碼設備中之一者。
  28. 一種儲存指令的電腦可讀儲存媒體,該等指令在經執行時使得至少一個處理器經組態以寫碼視訊資料以: 寫碼該視訊資料之一單個經寫碼視訊序列(CVS)之至少兩個圖像,其中該至少兩個圖像中之每一圖像與一一致圖像次序計數(POC)值相關聯,該至少兩個圖像彼此不同; 使各別資料與該單個CVS之該至少兩個圖像中之每一者相關聯;及 基於與該至少兩個圖像相關聯的該一致POC值及與該至少一個圖像相關聯的該各別資料,識別包括於一參考圖像集中之該至少兩個圖像當中的至少一個圖像。
  29. 如請求項28之電腦可讀儲存媒體,其進一步儲存指令,該等指令在經執行時使得該至少一個處理器經組態以寫碼該視訊資料以將該至少兩個圖像儲存於一緩衝記憶體中,以使得該至少兩個圖像在一給定時間點同步存在於該緩衝記憶體中。
  30. 如請求項28之電腦可讀儲存媒體,其進一步儲存指令,該等指令在經執行時使得該至少一個處理器經組態以寫碼該視訊資料以傳信、接收或判定與包含該單個CVS之一位元串流內的該單個CVS之該至少兩個圖像中之每一者相關聯的該各別資料中之一者。
  31. 如請求項28之電腦可讀儲存媒體,其進一步儲存指令,該等指令在經執行時使得該至少一個處理器經組態以寫碼該視訊資料以傳信或接收與一參數集語法結構、圖塊標頭結構或一參考圖像集結構中之至少一者內的該單個CVS之該至少兩個圖像中之每一者相關聯的該各別資料中之一者。
  32. 如請求項28之電腦可讀儲存媒體,其中該各別資料指示以下中之至少一者: 是否輸出該至少兩個圖像中之一圖像,或 該至少兩個圖像中之該圖像之一版本識別符。
  33. 如請求項28之電腦可讀儲存媒體,其進一步儲存指令,該等指令在經執行時使得該至少一個處理器經組態以寫碼該視訊資料以包括該參考圖像集內的該識別的至少一個圖像。
  34. 如請求項33之電腦可讀儲存媒體,其進一步儲存指令,該等指令在經執行時使得該至少一個處理器經組態以寫碼該視訊資料以基於該參考圖像集內的該識別的至少一個圖像來預測一當前圖像。
  35. 如請求項28之電腦可讀儲存媒體,其進一步儲存指令,該等指令在經執行時使得該至少一個處理器經組態以寫碼該視訊資料以執行與該識別的至少一個圖像相關聯的運動資訊或像素值中之至少一者之基於POC的縮放,以用於預測一當前圖像。
TW107139541A 2017-11-07 2018-11-07 視訊寫碼中之增強參考圖像管理 TW201924353A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762582585P 2017-11-07 2017-11-07
US62/582,585 2017-11-07
US16/182,364 US20190141320A1 (en) 2017-11-07 2018-11-06 Enhanced reference picture management in video coding
US16/182,364 2018-11-06

Publications (1)

Publication Number Publication Date
TW201924353A true TW201924353A (zh) 2019-06-16

Family

ID=66327829

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107139541A TW201924353A (zh) 2017-11-07 2018-11-07 視訊寫碼中之增強參考圖像管理

Country Status (5)

Country Link
US (1) US20190141320A1 (zh)
EP (1) EP3707903A1 (zh)
CN (1) CN111295883B (zh)
TW (1) TW201924353A (zh)
WO (1) WO2019094464A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117294837A (zh) 2018-04-02 2023-12-26 深圳市大疆创新科技有限公司 用于图像处理的方法和图像处理装置
CN117241017A (zh) 2018-11-05 2023-12-15 北京字节跳动网络技术有限公司 数字视频编解码的方法、设备和系统
US11196988B2 (en) 2018-12-17 2021-12-07 Apple Inc. Reference picture management and list construction
US11109041B2 (en) * 2019-05-16 2021-08-31 Tencent America LLC Method and apparatus for video coding
CA3121563C (en) 2019-06-25 2024-06-11 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Mapping method, encoder, decoder, and computer storage medium
WO2021029987A1 (en) * 2019-08-09 2021-02-18 Futurewei Technologies, Inc. External decoding refresh (edr) in video coding
CN114208196B (zh) 2019-08-10 2023-11-14 北京字节跳动网络技术有限公司 帧间编解码模式的位置限制

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7889792B2 (en) * 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
US10200709B2 (en) * 2012-03-16 2019-02-05 Qualcomm Incorporated High-level syntax extensions for high efficiency video coding
US10136119B2 (en) * 2013-01-10 2018-11-20 Qualcomm Incoporated View synthesis in 3D video
US9288507B2 (en) * 2013-06-21 2016-03-15 Qualcomm Incorporated More accurate advanced residual prediction (ARP) for texture coding
WO2015053601A1 (ko) * 2013-10-12 2015-04-16 삼성전자 주식회사 멀티 레이어 비디오 부호화 방법 및 그 장치, 멀티 레이어 비디오 복호화 방법 및 그 장치
US9628820B2 (en) * 2013-11-19 2017-04-18 Qualcomm Incorporated POC value design for multi-layer video coding
US9942546B2 (en) * 2013-12-12 2018-04-10 Qualcomm Incorporated POC value design for multi-layer video coding
US9826232B2 (en) * 2014-01-08 2017-11-21 Qualcomm Incorporated Support of non-HEVC base layer in HEVC multi-layer extensions
US9866869B2 (en) * 2014-03-17 2018-01-09 Qualcomm Incorporated POC value design for multi-layer video coding

Also Published As

Publication number Publication date
US20190141320A1 (en) 2019-05-09
WO2019094464A1 (en) 2019-05-16
EP3707903A1 (en) 2020-09-16
CN111295883B (zh) 2022-04-15
CN111295883A (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
TWI645716B (zh) 用於視訊資訊之可擴展寫碼之裝置及方法
TWI517692B (zh) 用於視訊寫碼之寫碼參數組及網路抽象層單元標頭
TWI495273B (zh) 於視訊寫碼中自清晰隨機存取圖像之全面隨機存取
TWI556630B (zh) 用於處理視訊資料之方法及器件及電腦可讀取儲存媒體
TWI543591B (zh) 寫碼視訊資料之方法、用於寫碼視訊資料之裝置及電腦可讀儲存媒體
KR102090005B1 (ko) 스케일링 가능 비디오 코딩의 비트스트림 준수 제약들
JP6158422B2 (ja) アラインされていないirapピクチャを含み得るマルチレイヤビットストリームのクロスレイヤpocアラインメント
TWI558179B (zh) 對視訊寫碼發信長期參考圖像
KR102127549B1 (ko) 멀티-계층 비디오 코딩에서의 상이한 코덱의 기본 계층의 지원
CN111295883B (zh) 视频译码中的增强参考图片管理
KR101909331B1 (ko) 비디오 코딩에서의 타겟 출력 레이어
TW201509174A (zh) 對多層視訊寫碼之層間預測信令之最佳化
JP2016539601A (ja) ビデオ情報のスケーラブルコーディングのためのデバイスおよび方法
TW201515446A (zh) 高效率視訊寫碼擴展中之目標輸出層之選擇
CA2922408C (en) Inter-view dependency type in mv-hevc
CN107079170B (zh) 用于多层视频译码的poc值设计
WO2014008136A1 (en) Signaling of long-term reference pictures for video coding
KR20160034321A (ko) 인트라 랜덤 액세스 포인트 픽처들의 개선된 교차-계층 정렬
JP6434044B2 (ja) ビデオ情報のスケーラブルコード化のための機器及び方法
JP6312838B2 (ja) マルチレイヤコード化においてレイヤ間参照ピクチャセット(RPS)をコード化し、ビットストリーム終端(EoB)ネットワークアクセスレイヤ(NAL)単位をコード化するための方法
JP6479798B2 (ja) マルチレイヤビデオコーディングのためのpoc値設計
JP2017507546A (ja) マルチレイヤコード化において参照ピクチャセット(rps)をコード化するための方法