CN114760476B - 视频解码器初始化信息信令 - Google Patents
视频解码器初始化信息信令 Download PDFInfo
- Publication number
- CN114760476B CN114760476B CN202210020200.8A CN202210020200A CN114760476B CN 114760476 B CN114760476 B CN 114760476B CN 202210020200 A CN202210020200 A CN 202210020200A CN 114760476 B CN114760476 B CN 114760476B
- Authority
- CN
- China
- Prior art keywords
- maximum
- bitstream
- video
- decoder
- dii
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 230000011664 signaling Effects 0.000 title claims abstract description 28
- 230000015654 memory Effects 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 31
- 230000000007 visual effect Effects 0.000 claims abstract description 21
- 238000006243 chemical reaction Methods 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 119
- 238000004590 computer program Methods 0.000 claims description 16
- 230000003044 adaptive effect Effects 0.000 claims description 15
- 238000012546 transfer Methods 0.000 claims description 7
- 230000000153 supplemental effect Effects 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 abstract description 15
- 230000006978 adaptation Effects 0.000 description 33
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 21
- 239000013598 vector Substances 0.000 description 18
- 230000000875 corresponding effect Effects 0.000 description 13
- 238000013139 quantization Methods 0.000 description 13
- 238000003860 storage Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 239000010410 layer Substances 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 239000012634 fragment Substances 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000009466 transformation Effects 0.000 description 4
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 3
- 241000023320 Luma <angiosperm> Species 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000006837 decompression Effects 0.000 description 3
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 101100533821 Arabidopsis thaliana FSD1 gene Proteins 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007727 signaling mechanism Effects 0.000 description 1
- 101150018269 sodB gene Proteins 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/188—Methods 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 video data packet, e.g. a network abstraction layer [NAL] unit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本文关于视频解码器初始化信息信令,公开了一种用于处理视频数据的机制。确定视频解码器初始化信息(DII)。DII包括描述比特流的所有编解码视频序列(CVS)所符合的最大级别(MaxLevel)和包括一个或多个参数的最大格式的数据。MaxLevel指示解码比特流所需的第一最大DPB大小。最大格式指示第二最大DPB大小,该第二最大DPB大小表示为最大格式的DPB存储器(DpbMemory4MaxFormat),是通过同时将最大格式的所有参数设置为最大值来确定的。DII还包括DpbMemory4MaxFormat是否超过第一最大DPB大小的第一指示。基于该指示在视觉媒体数据和比特流之间执行转换。
Description
相关申请的交叉引用
本专利申请要求由Ye-Kui Wang于2021年1月8日提交的、标题为“视频解码器初始化信息信令(Video Decoder Initialization Information Signaling)”的美国临时专利申请第63/135,451号的权益,通过引用将该专利申请并入本文。
技术领域
本专利文档涉及文件格式的数字音频视频媒体信息的生成、存储和消费。
背景技术
数字视频占互联网和其他数字通信网络上使用的最大带宽。随着能够接收和显示视频的连接用户设备的数量增加,数字视频使用的带宽需求可能会继续增长。
发明内容
第一方面涉及一种用于处理视频数据的方法,包括:确定比特流的解码器初始化信息(DII),其中DII包括描述比特流的所有编解码视频序列(CVS)所符合的最大级别(MaxLevel)和包括以下参数中的一个或多个参数的最大格式的数据:1)存储在解码图片缓冲器(DPB)中的最大解码图片数(MaxDecPics),2)比特流中所有编解码图片的最大解码图片宽度(MaxDecPicW),3)比特流中所有编解码图片的最大解码图片高度(MaxDecPicH),4)比特流中所有编解码图片的最大颜色格式(MaxColourFormat),以及5)比特流中所有编解码图片的最大比特深度(MaxBitdepth),其中MaxLevel指示解码比特流所需的第一最大DPB大小,其中最大格式指示第二最大DPB大小,第二最大DPB大小表示为最大格式的DPB存储器(DpbMemory4MaxFormat),是通过同时将最大格式的所有参数设置为最大值来确定的,并且其中DII还包括DpbMemory4MaxFormat是否超过第一最大DPB大小的第一指示;以及基于第一指示在视觉媒体数据与比特流之间执行转换。
可选地,在任何前述方面中,该方面的另一实施方式提供解码器初始化信息还包括解码器以最大格式解码比特流所应支持的最小级别(MinLevel4MaxFormat)。
可选地,在任何前述方面中,该方面的另一实施方式提供MinLevel4MaxFormat信令通知最小的级别,对于该最小的级别第一最大DPB大小大于或等于DPBMemory4MaxFormat。
可选地,在任何前述方面中,该方面的另一实施方式提供MinLevel4MaxFormat信令通知最小的级别,对于该最小的级别亮度样点方面最大图片大小(MaxLumaPs)的值大于或等于MaxDecPicW乘以MaxDecPicH。
可选地,在任何前述方面中,该方面的另一实施方式提供仅当第一指示指示DPBMemory4MaxFormat超过第一最大DPB大小时,才信令通知MinLevel4MaxFormat。
可选地,在任何前述方面中,该方面的另一实施方式提供仅当MaxDecPicW乘以MaxDecPicH大于MaxLevel的最大图片大小(MaxLumaPs)时,才信令通知MinLevel4MaxFormat。
可选地,在任何前述方面中,该方面的另一实施方式提供MinLevel4MaxFormat信令通知最小的级别,对于该最小的级别:MaxDecPicW乘以MaxDecPicH小于或等于MaxLevel的最大图片大小(MaxLumaPs);以及MaxDecPics小于或等于第一最大DPB大小。
可选地,在任何前述方面中,该方面的另一实施方式提供解码器初始化信息还包括MaxDecPicW乘以MaxDecPicH是否大于MaxLevel的最大图片大小(MaxLumaPs)的第二指示。
可选地,在任何前述方面中,该方面的另一实施方式提供解码器初始化信息还包括MaxDecPicW乘以MaxDecPicH是否小于或等于编解码视频序列的MaxLevel的最大图片大小(MaxLumaPs)的第二指示。
可选地,在任何前述方面中,该方面的另一实施方式提供第二指示还指示MaxDecPics是否小于或等于第一最大DPB大小。
可选地,在任何前述方面中,该方面的另一实现提供,通过将亮度样点方面最大图片大小(PicSizeMaxInSamplesY)设置为等于MaxDecPicW乘以MaxDecPicH并将MaxLumaPs设置为MinLevel4MaxFormat所指示的级别,来确定第一最大DPB大小。
可选地,在任何前述方面中,该方面的另一实施方式提供,仅当第二指示指示以下中的至少一个为假时,才在解码器初始化信息中信令通知解码器以最大格式解码比特流所应支持的最小级别(MinLevel4MaxFormat):比特流的MaxDecPicW乘以比特流的MaxDecPicH小于或等于编解码视频序列的MaxLevel的MaxLumaPs;以及MaxDecPics小于或等于MaxDpbSize。
可选地,在任何前述方面中,本方面的另一实施方式提供在解码能力信息(DCI)网络抽象层(NAL)单元、补充增强信息(SEI)消息、文件格式框、基于超文本传输协议的动态自适应流式传输(DASH)媒体呈现描述(MPD)或其组合中信令通知解码器初始化信息。
可选地,在任何前述方面中,该方面的另一实施方式提供转换包括根据视觉媒体数据生成比特流。
可选地,在任何前述方面中,该方面的另一实施方式提供转换包括解析比特流以获得视觉媒体数据。
第二方面涉及一种用于处理视频数据的方法,包括:确定比特流的解码器初始化信息(DII),其中DII包括描述比特流的所有编解码视频序列(CVS)所符合的最大级别(MaxLevel)和包括以下参数中的一个或多个参数的最大格式的数据:1)存储在解码图片缓冲器(DPB)中的最大解码图片数,2)比特流中所有编解码图片的最大解码图片宽度(MaxDecPicW),3)比特流中所有编解码图片的最大解码图片高度(MaxDecPicH),4)比特流中所有编解码图片的最大颜色格式(MaxColourFormat),以及5)比特流中所有编解码图片的最大比特深度(MaxBitdepth),其中MaxLevel指示解码比特流所需的第一最大DPB大小,其中最大格式指示第二最大DPB大小,第二最大DPB大小表示为最大格式的DPB存储器(DpbMemory4MaxFormat),是通过同时将最大格式的所有参数设置为最大值来确定的,并且其中仅在以下情况下才信令通知解码器初始化信息:MaxDecPicW乘以MaxDecPicH小于或等于编解码视频序列的MaxLevel的最大图片大小(MaxLumaPs);以及MaxDecPics小于或等于第一最大DPB大小;以及基于DII在视觉媒体数据和比特流之间执行转换。
可选地,在任何前述方面中,该方面的另一实施方式提供基于解码器初始化信息的存在推断:比特流的MaxDecPicW乘以比特流的MaxDecPicH小于或等于编解码视频序列的MaxLevel的MaxLumaPs;以及MaxDecPics小于或等于MaxDpbSize。
可选地,在任何前述方面中,该方面的另一实施方式提供转换包括根据视觉媒体数据生成比特流。
可选地,在任何前述方面中,该方面的另一实施方式提供转换包括解析比特流以获得视觉媒体数据。
第三方面涉及一种用于处理视频数据的装置,包括:处理器;以及其上具有指令的非暂时性存储器,其中当该指令在被处理器执行时,使得处理器:确定比特流的解码器初始化信息(DII),其中DII包括描述比特流的所有编解码视频序列(CVS)所符合的最大级别(MaxLevel)和包括以下参数中的一个或多个参数的最大格式的数据:1)存储在解码图片缓冲器(DPB)中的最大解码图片数(MaxDecPics),2)比特流中所有编解码图片的最大解码图片宽度(MaxDecPicW),3)比特流中所有编解码图片的最大解码图片高度(MaxDecPicH),4)比特流中所有编解码图片的最大颜色格式(MaxColourFormat),以及5)比特流中所有编解码图片的最大比特深度(MaxBitdepth),其中MaxLevel指示解码比特流所需的第一最大DPB大小,其中最大格式指示第二最大DPB大小,第二最大DPB大小表示为最大格式的DPB存储器(DpbMemory4MaxFormat),是通过同时将最大格式的所有参数设置为最大值来确定的,并且其中DII还包括DpbMemory4MaxFormat是否超过第一最大DPB大小的第一指示;以及基于第一指示在视觉媒体数据与比特流之间执行转换。
为了清楚起见,前述实施例中的任何一个可与其它前述实施例中的任何一个或多个组合以在本公开的范围内创建新的实施例。
从以下结合附图和权利要求的详细描述中,将更清楚地理解这些和其他特征。
附图说明
为了更完整地理解本公开,现在参考以下结合附图和详细描述的简要描述,其中相似的附图标记表示相似的部分。
图1是用于利用会话描述协议(SDP)建立通信会话的示例机制的协议图。
图2是用于根据基于超文本传输协议的动态自适应流式传输(DASH)来执行视频流式传输的示例机制的协议图。
图3是示出通过DASH中使用的媒体呈现描述(MPD)对视频的描述的示意图。
图4是以国际标准化组织(ISO)基本媒体文件格式(ISOBMFF)存储的媒体文件的示意图。
图5是包含编码的视觉媒体数据的比特流的示意图。
图6是示出了示例视频处理系统的框图。
图7是示例视频处理装置的框图。
图8是视频处理的示例方法的流程图。
图9是视频处理的另一示例方法的流程图。
图10是示出了示例视频编解码系统的框图。
图11是示出示例编码器的框图。
图12是示出示例解码器的框图。
图13是示例编码器的示意图。
具体实施方式
首先应当理解,尽管下面提供了一个或多个实施例的说明性实施方式,但是可以使用任何数量的技术来实施所公开的系统和/或方法,无论这些技术是当前已知的还是还是尚未开发的。本公开不应以任何方式限制于下文所示的说明性实施方式、附图和技术,包括本文所示和描述的示例性设计和实施方式,而是可以在所附权利要求的范围内以及其等效物的全部范围内进行修改。
多功能视频编解码(VVC),也称为H.266,在一些描述中使用该术语只是为了便于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。在本文档中,针对VVC规范或国际标准化组织(ISO)基本媒体文件格式(ISOBMFF)文件格式规范,文本的编辑更改以粗斜体表示取消的文本,粗体下划线表示添加的文本。
本专利文档涉及视频编解码、视频文件格式、视频信令和视频应用。具体地说,该文档涉及视频解码器初始化信息的信令以及用于解码器初始化和重新初始化的这种信令的使用。这可以帮助避免和/或减少在应用会话期间视频解码器重新初始化的发生,并因此帮助改善用户体验。所公开的示例可以单独或以各种组合应用于由诸如VVC标准的任何编解码器编解码的视频比特流,以及用于诸如VVC视频文件格式的任何视频文件格式。所公开的示例还可用于各种视频应用,包括基于HTTP上的动态自适应流式传输(DASH)的流式传输应用和使用基于会话描述协议(SDP)的信令的会话应用。
本公开包括以下缩写。自适应颜色变换(ACT)、自适应环路滤波器(ALF)、自适应运动矢量分辨率(AMVR)、自适应参数集(APS)、访问单元(AU)、访问单元分隔符(AUD)、高级视频编解码(REC.ITU-T H.264|ISO/IEC 14496-10)(AVC)、双向预测(B)、具有CU级权重的双向预测(BCW)、双向光流(BDOF)、基于块的增量脉冲编解码调制(BDPCM)、缓冲周期(BP)、基于上下文的自适应二进制算术编解码(CABAC)、编解码块(CB)、恒定比特率(CBR)、交叉分量自适应环路滤波器(CCALF)、编解码图片缓冲器(CPB)、干净随机访问(CRA)、循环冗余校验(CRC)、编解码树块(CTB)、编解码树单元(CTU)、编解码单元(CU)、编解码视频序列(CVS)、解码能力信息(DCI)、解码初始化信息(DII)、解码图片缓冲器(DPB)、相关随机接入点(DRAP)、解码单元(DU)、解码单元信息(DUI)、指数Golomb(EG)、k阶指数Golomb(EGk)、比特流结束(EOB)、序列结束(EOS)、填充数据(FD)、先进先出(FIFO)、固定长度(FL)、绿、蓝、红(GBR)、一般约束信息(GCI)、渐进解码刷新(GDR)、几何分割模式(GPM)、高效视频编解码,也称为REC.ITU-T H.265|ISO/IEC 23008-2,(HEVC)、假设参考解码器(HRD)、假设流调度器(HSS)、帧内(I)、帧内块复制(IBC)、瞬时解码刷新(IDR)、层间参考图片(ILRP)、帧内随机接入点(IRAP)、低频不可分变换(LFNST)、最小可能符号(LPS)、最低有效位(LSB)、长期参考图片(LTRP)、具有色度缩放的亮度映射(LMCS)、基于矩阵的帧内预测(MIP)、最可能符号(MPS)、最高有效位(MSB)、多重变换选择(MTS)、运动矢量预测(MVP)、网络抽象层(NAL)、输出层集(OLS)、操作点(OP)、操作点信息(OPI)、预测(P)、图片标头(PH)、图片顺序计数(POC)、图片参数集(PPS)、光流预测细化(PROF)、图像定时(PT)、图像单元(PU)、量化参数(QP)、随机接入可解码引导图像(RADL)、随机存取跳过引导图片(RASL)、原始字节序列有效负载(RBSP)、红、绿、蓝(RGB)、参考图片列表(RPL)、样点自适应偏移(SAO)、样点纵横比(SAR)、补充增强信息(SEI)、条带标头(SH)、子图片级信息(SLI)、数据比特串(SODB)、序列参数集(SPS)、短期参考图片(STRP)、逐步时域子层访问(STSA)、截断赖斯(TR)、可变比特率(VBR)、视频编解码层(VCL)、视频参数集(VPS)、多功能补充增强信息,也称为Rec.ITU-T H.274|ISO/IEC23002-7,(VSEI)、视频可用性信息(VUI)和多功能视频编解码,也称为Rec.ITU-T H.266|ISO/IEC 23090-3,(VVC)。
视频编解码标准主要是通过ITU-T和ISO/IEC标准的发展而发展起来的。ITU-T制作了H.261和H.263,ISO/IEC制作了MPEG-1和MPEG-4视觉,并且这两个组织联合制作了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(AVC)以及H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中使用时域预测加变换编解码。为了探索HEVC之外的进一步视频编解码技术,由视频编解码专家组(VCEG)和MPEG联合成立了联合视频探索团队(JVET)。JVET采用了许多方法,并将其应用到名为联合探索模型(JEM)的参考软件中。当多功能视频编解码(VVC)项目正式启动时,JVET后来更名为联合视频专家团队(JVET)。VVC是一种编解码标准,目标是比HEVC降低50%的比特率。VVC已经由JVET最终确定。
基本视频编解码(EVC)标准(ISO/IEC 23094-1)是由MPEG开发的另一个视频编解码标准。
下面讨论VVC中的解码能力信息(DCI)。DCI NAL单元是视频编解码比特流的一部分,其包含比特流级的简档(profile)、层次(tier)和级别(level)(PTL)信息。DCI NAL单元包括一个或多个PTL语法结构,其可在VVC比特流的发送器和接收器之间的会话协商期间使用。当DCI NAL单元存在于VVC比特流中时,比特流的CVS中的每个输出层集(OLS)应符合在DCI NAL单元中的至少一个PTL结构中携带的PTL信息。
在AVC和HEVC中,用于会话协商的PTL信息在SPS(针对HEVC和AVC)和VPS(针对HEVC分层扩展)中可用。这种在HEVC和AVC中传输用于会话协商的PTL信息的设计可能有一定的缺点,因为SPS和VPS的范围在CVS内,而不是整个比特流。因此,发送器-接收器会话初始化可能在每一个新CVS处的比特流流式传输期间遭受重新初始化。DCI解决了这个问题,因为DCU NAL单元携带比特流级信息。因此,可以保证符合所指示的解码能力,直到比特流结束。
下面讨论文件格式标准。媒体流式传输应用通常基于互联网协议(IP)、传输控制协议(TCP)和超文本传输协议(HTTP)传输方法,并且通常依赖于诸如ISOBMFF的文件格式。一个这样的流式传输系统是基于HTTP的动态自适应流式传输(DASH)。视频可以以诸如例如AVC和/或HEVC的视频格式编码。编码的视频可以封装在ISOBMFF轨道中,并包括在DASH表示和片段中。关于视频比特流的重要信息,例如配简档、层次和级别以及许多其他信息,可以作为文件格式级元数据和/或在DASH媒体呈现描述(MPD)中公开,以用于内容选择目的。例如,这种信息可用于选择适当的媒体段,用于在流式传输会话开始时的初始化以及用于在流式传输会话期间的流自适应两者。
类似地,当使用具有ISOBMFF的图像格式时,可以采用特定于图像格式的文件格式规范,例如AVC图像文件格式和HEVC图像文件格式。VVC视频文件格式,即基于ISOBMFF的用于存储VVC视频内容的文件格式,正在由MPEG开发。VVC图像文件格式,即基于ISOBMFF用于存储使用VVC编解码的图像内容的文件格式,也正在由MPEG开发。
下面讨论DASH。DASH支持为多媒体内容的视频和/或音频数据创建多个表示。不同的表示可以对应于不同的编解码特性,例如视频编解码标准的不同简档或级别、不同的比特率、不同的空域分辨率等。DASH采用在媒体呈现描述(MPD)数据结构中定义的这种表示的清单。媒体呈现可以对应于DASH流式传输客户端设备可访问的结构化数据集合。DASH流式传输客户端设备可以请求和下载媒体数据信息以向客户端设备的用户呈现流式传输服务。可以在MPD数据结构中描述媒体呈现,其可以包括MPD的更新。
媒体呈现可以包含一个或多个时段(period)的序列。每个时段可以延长到下一个时段的开始,或者在最后一个时段的情况下,延长到媒体呈现的结束。每个时段可以包含针对相同媒体内容的一个或多个表示。表示可以是音频、视频、定时文本或其他此类数据的多个可选编解码版本之一。表示可以因编码类型而不同,例如,因视频数据的比特率、分辨率和/或编解码器和音频数据的比特率、语言和/或编解码器而不同。期限表示(termrepresentation)可用于指与多媒体内容的特定时段相对应并以特定方式编码的编码音频或视频数据的一部分。
特定时段的表示可以被分配给由MPD中的属性指示的组,该MPPD指示表示所属的适配集。相同适配集中的表示通常被认为是彼此的替代,因为客户端设备可以动态地和无缝地在这些表示之间切换,例如,以执行带宽适配。例如,特定时段的视频数据的每个表示可以被分配给相同的适配集。可以选择表示中的任何一个进行解码,以呈现对应时段的多媒体内容的媒体数据,例如视频数据或音频数据。在一些示例中,一个时段内的媒体内容可以由来自组0(如果存在)的一个表示来表示,或者由来自每个非零组的至多一个表示的组合来表示。可以相对于时段的开始时间来表达时段的每个表示的定时数据。
表示可以包括一个或多个片段。每个表示可以包括初始化片段,或者表示的每个片段可以是自初始化的。当存在时,初始化片段可以包含用于访问表示的初始化信息。通常,初始化片段不包含媒体数据。片段可以由标识符唯一地引用,例如统一资源定位符(URL)、统一资源名称(URN)或统一资源标识符(URI)。MPD可以提供每个片段的标识符。在一些示例中,MPD还可以以范围属性的形式提供字节范围,其可以对应于URL、URN或URI可访问的文件内的片段的数据。
对于不同类型的媒体数据,可以选择不同的表示进行基本上同时的检索。例如,客户端设备可以选择从中检索片段的音频表示、视频表示和定时文本表示。在一些示例中,客户端设备可以选择用于执行带宽适配的特定适配集。例如,客户端设备可以选择包括视频表示的适配集、包括音频表示的适配集和/或包括定时文本的适配集。客户端设备还可以为某些类型的媒体(例如,视频)选择适配集,并直接为其他类型的媒体(例如,音频和/或定时文本)选择表示。
下面的步骤显示了一个示例DASH流式传输过程。客户端获得MPD。客户端估计下行链路带宽。客户端根据估计的下行链路带宽和编解码器、解码能力、显示大小、音频语言设置等选择视频表示和音频表示。除非到达媒体呈现的结束,否则客户机继续请求所选表示的媒体片段,并向用户呈现流式传输内容。客户端不断估计下行链路带宽。当带宽显著改变(例如,变得更低)时,客户端选择不同的视频表示以匹配新估计的带宽,并继续根据新选择的表示请求媒体片段。
下面讨论视频实时传输协议(RTP)、有效负载格式和会话描述协议(SDP)。对于在视频应用中使用的任何视频编解码器,例如采用RTP的VVC,应该指定RTP有效负载格式。此外,还应指定用于使用SDP信令通知媒体类型参数的机制。视频编解码器的RTP有效负载格式主要规定了如何将编解码的视频比特流封装在RTP分组和RTP流中。AVC、SVC和HEVC的RTP有效负载格式分别在IETF RFC 6184、RFC 6190和RFC 7798中指定。对于VVC,IETF正在开发RTP有效负载。
用于视频比特流的视频解码器初始化信息的信令的示例设计如下。一种用于在VVC DCI NAL单元或SEI消息中信令通知视频解码初始化信息(DII)的示例机制。下面提供了DCI NAL和SEI消息的语法和语义。
下面讨论DCI NAL单元中的信令的示例。在一个示例中,解码能力信息RBSP语法如下:
在一个示例中,添加解码能力信息扩展语法如下:
DCI RBSP可以通过存在于比特流中、包括在比特流的至少第一AU中或通过外部部件提供而对解码器可用。注1-DCI RBSP中包含的信息对于解码过程的操作不是必需的。当存在时,比特流中的所有DCI NAL单元应具有相同的内容。dci_reserved_zero_4bits在比特流中应等于0。dci_reserved_zero_4bits的大于0的值由ITU-T ISO/IEC被保留以供将来使用。解码器应允许dci_reserved_zero_4bits的大于0的值出现在比特流中,并应忽略dci_reserved_zero_4bits的值。dci_num_ptls_minus1加1指定DCI NAL单元中profile_tier_level()语法结构的数量。dci_num_ptls_minus1的值应在0到14的范围内(包括0和14)。dci_num_ptls_minus1的值15被保留以供ITU-T ISO/IEC将来使用。比特流一致性的要求是,比特流中CVS中的每个OLS应符合DCI NAL单元中的profile_tier_level()语法结构中的至少一个。注意2--DCI NAL单元可以包括PTL信息,其可能被携带在多个profile_tier_level()语法结构中,PTL信息共同适用于多个OLS,而不需要单独包括每个OLS的PTL信息。
等于0的dci_extension_flag指定DCI RBSP语法结构中不存在dci_extension()语法结构。等于1的dci_extension_flag指定DCI RBSP语法结构中存在dci_extension()语法结构。当dci_num_ptls_minus1大于0时,dci_extension_flag的值应等于0。dci_extension_alignment_bit_equal_to_one应等于1。
dci_extension2_flag等于0指定DCI RBSP语法结构中不存在dci_extension_data_flag语法元素。vps_extension2_flag等于1指定dci_extension_data_flag语法元素可能存在于DCI RBSP语法结构中。在比特流中,dci_extension_flag应等于0。但是,可以指定dci_extension_flag等于1的某些用法,并且解码器应允许dci_extension_flag等于1的值出现在语法中,并忽略DCI RBSP中dci_extension2_flag的值1之后的所有数据。
dci_extension_data_flag可以有任何值。它的存在和值不影响解码过程。解码器应忽略所有dci_extension_data_flag语法元素。
下面描述了DCI扩展语义的一个示例。注意-当对于比特流存在dci_extension()语法结构并且根据DCI NAL单元中提供的信息初始化解码器时,预计对于解码整个比特流不需要解码器重新初始化。
dci_max_num_dec_pics_in_dpb_minus1加1指示在解码比特流时任何时刻存储在DPB中的最大解码图片数。dci_max_bitdepth_minus8加8指示在解码比特流时解码图片的每个颜色分量的以比特为单位的最大比特深度。dci_max_bitdepth_minus8的值应在0到8的范围内(包括0和8)。dci_max_pic_width指示在解码比特流时解码图片的以亮度样点为单位的最大宽度。dci_max_pic_height指示解码比特流时解码图片的以亮度样点为单位的最大高度。dci_max_chroma_format指示解码比特流时图片所引用的SPS的sps_chroma_format_idc的最大值。dci_ext_reserved_zero_6bits在比特流中应等于0。dci_ext_reserved_zero_6bits的大于0的值被保留以供将来由ITU-TISO/IEC使用。解码器应允许dci_ext_reserved_zero_6bits的大于0的值出现在比特流中,并应忽略dci_ext_reserved_zero_6bits的值。
下面描述SEI消息中的信令。在一个示例中,解码器初始化信息SEI消息语法如下:
在一个示例中,解码器初始化信息SEI消息语义如下。当与AU相关联时,解码器初始化信息(DII)SEI消息提供应用于整个比特流的信息。DII SEI消息可以通过存在于比特流中、包括在比特流的至少第一AU中或通过外部部件提供而对解码器可用。当存在时,比特流中的所有DII SEI消息应具有相同的内容。当指示比特流中的任何两个CVS符合不同的简档时,将不存在与比特流的AU相关联的DII SEI消息。注意-当根据简档和在DII SEI消息中提供的信息来初始化与比特流的AU相关联的DII SEI消息和解码器时,预计对于解码解码整个比特流不需要解码器重新初始化。dii_max_level_idc指示比特流中CVS所符合的最大级别。当DII SEI消息与HEVC或VVC比特流一起使用时,dii_max_tier_flag指示比特流中CVS所符合的最大层次。当DII SEI消息与AVC比特流一起使用时,dii_max_tier_flag的语义是未指定的,并且解码器应忽略dii_max_tier_flag的值。dii_reserved_zero_bit在比特流中应等于0。dii_reserved_zero_bit的等于1的值被保留以供将来由ITU-T ISO/IEC使用。解码器应允许等于1的dii_reserved_zero_bit出现在比特流中,并应忽略dii_reserved_zero_bit的值。dii_max_chroma_format指示解码比特流时图片所引用的SPS的sps_chroma_format_idc(当DII SEI消息与VVC比特流一起使用时)或chroma_format_idc(当DII SEI消息与AVC或HEVC比特流一起使用时)的最大值。dii_max_bitdepth_minus8加8指示当解码比特流时解码图片的每个颜色分量的以比特为单位的最大比特深度。dii_max_bitdepth_minus8的值应在0到8的范围内(包括0和8)。
dci_max_num_dec_pics_in_dpb_minus1加1指示在解码比特流时任何时刻存储在DPB中的最大解码图片数。当DII SEI消息与VVC比特流一起使用时,dci_max_num_dec_pics_in_dpb_minus1的值应在0到15之间(包括0和15)。请注意,该字段被设置为8比特,而不是上面DCI语法中的4比特,这样相同的语法可以适用于其他(未来)编解码器或简档,这些编解码器或简档可能有超过16个存储在DPB中的解码图片。例如,分层HEVC比特流可能总共有超过16个存储在DPB中的解码图片。dci_max_pic_width指示在解码比特流时解码图片的以亮度样点为单位的最大宽度。dci_max_pic_height指示解码比特流时解码图片的以亮度样点为单位的最大高度。
如下描述视频解码器初始化信息轨道组。视频解码器初始化信息轨道组的示例定义如下。track_group_type等于“vdii”的TrackGroupTypeBox指示此轨道属于使用相同视频编解码器的相同简档并共享相同视频解码器初始化信息的视频轨道组。当根据视频解码器初始化信息初始化视频解码器时,预计当在该轨道组中携带的比特流中的任何两个之间发生比特流切换时,不需要视频解码器重新初始化。用于视频轨道的语块(chunk)的视频编解码器由样点输入类型指示。
视频解码器初始化信息轨道组的语法描述如下:
视频解码器初始化信息轨道组的语义描述如下:dii_profile_max_tier_idc指示简档,并且当适用时(例如,HEVC和VVC),指示在该轨道组中携带的视频比特流所符合的最大层次。当视频编解码器为AVC时,dii_profile_max_tier_idc应等于profile_idc。当视频编解码器是HEVC或VVC时,dii_profile_max_tier_idc的前7个比特应等于general_profile_idc,dii_profile_max_tier_idc的最后一个比特应等于该轨道组中携带的所有视频比特流的general_tier_flag的最大值。dii_max_level_idc指示在该组轨道组中携带的视频比特流所符合的最大级别。dii_max_chroma_format_idc指示当解码在该轨道组中携带的比特流时,图片所引用的SPS的sps_chroma_format_idc(当视频编解码器是VVC时)或chroma_format_idc(当视频编解码器是AVC或HEVC时)的最大值。dii_max_bitdepth_minus8加8表示当解码在该轨道组中携带的比特流时解码图片的每个颜色分量的以比特为单位的最大比特深度。dii_max_bitdepth_minus8的值应在0到8的范围内(包括0和8)。dci_max_num_dec_pics_in_dpb_minus1加1指示当解码在该轨道组中携带的比特流时,在任何时刻存储在解码图片缓冲器中的最大解码图片数。dci_max_pic_width指示当解码在该轨道组中携带的比特流时解码图片的以亮度样点为单位的最大宽度。dci_max_pic_height指示解码在该轨道组中携带的比特流时解码图片的以亮度样点为单位的最大高度。
下面描述DASH MPD信令。
适配集元素的语义
可扩展标记语言(XML)语法示例如下。
<!--Adaptation Set-->
<xs:complexType name="AdaptationSetType">
<xs:complexContent>
<xs:extension base="RepresentationBaseType">
<xs:sequence>
<xs:element name="Accessibility"type="DescriptorType"minOccurs="0"maxOccurs="unbounded"/>
<xs:element name="Role"type="DescriptorType"minOccurs="0"maxOccurs="unbounded"/>
<xs:element name="Rating"type="DescriptorType"minOccurs="0"maxOccurs="unbounded"/>
<xs:element name="Viewpoint"type="DescriptorType"minOccurs="0"maxOccurs="unbounded"/>
<xs:element name="ContentComponent"type="ContentComponentType"minOccurs="0"maxOccurs="unbounded"/>
<xs:element name="BaseURL"type="BaseURLType"minOccurs="0"maxOccurs="unbounded"/>
<xs:element name="SegmentBase"type="SegmentBaseType"minOccurs="0"/>
<xs:element name="SegmentList"type="SegmentListType"minOccurs="0"/>
<xs:element name="SegmentTemplate"type="SegmentTemplateType"minOccurs="0"/>
<xs:element name="VideoDecoderInitInfo"type="VideoDecoderInitInfoType"minOccurs="0"/>
<xs:element name="Representation"type="RepresentationType"minOccurs="0"maxOccurs="unbounded"/>
...
视频解码器初始化信息的定义示例如下。元素VideoDecoderInitInfo可以存在于适配集中,以为适配集中的所有表示中携带的视频比特流提供视频解码器初始化信息。该元素的存在指示适配集的所有表示使用相同视频编解码器的相同简档并且共享相同解码器初始化信息。当根据视频解码器初始化信息初始化视频解码器时,当存在时,预计当在该适配集中的所有表示中携带的比特流中的任何两个之间发生比特流切换时,不需要视频解码器重新初始化。在适配集中的表示中携带的视频编解码器和简档比特流由@codecs属性进行信令通知。
视频解码器初始化信息的语义示例如下。
VideoDecoderInitInfo元素的语义
XML语法示例如下。
<!--VideoDecoderInitInfo-->
<xs:complexType name="VideoDecoderInitInfoType">
<xs:attribute name="maxTier"type="xs:unsignedInt"/>
<xs:attribute name="maxLevel"type="xs:unsignedInt"use="required"/>
<xs:attribute name="maxChromaFormat"type="xs:unsignedInt"use="required"/>
<xs:attribute name="maxBitDepthMinus8"type="xs:unsignedInt"use="required"/>
<xs:attribute name="maxNumDecPicsMinus1"type="xs:unsignedInt"use="required"/>
<xs:attribute name="maxDecPicWidth"type="xs:unsignedInt"use="required"/>
<xs:attribute name="maxDecPicHeight"type="xs:unsignedInt"use="required"/>
</xs:complexType>
以下是通过公开的技术解决方案解决的示例技术问题。在一些用于信令通知视频解码器初始化信息(DII)的设计中。DII可以描述当编码相关轨道和/或比特流的集合中的每一个时使用的存储器约束、编解码工具和/或其他设置。然后,解码器可以利用DII来初始化解码过程,以利用DII中记录的参数。DII包括以下参数中的一个或多个参数。DII可以包括比特流的所有CVS所符合的最大级别(MaxLevel)。DII还可以包括在解码比特流时存储在DPB中的最大解码图片数(MaxDecPics)。DII还可以包括亮度样点方面比特流中的所有编解码图片的最大解码图片宽度(MaxDecPicW)。DII还可以包括在亮度样点方面比特流中的所有编解码图片的最大解码图像高度(MaxDecPicH)。DII还可以包括比特流中所有编解码图片的最大颜色格式(MaxColourFormat),其可以是SPS色度格式标识符码(sps_chroma_format_idc)的最大值。DII还可以包括比特流中所有编解码图片的最大比特深度(MaxBitdepth),其可以是SPS比特深度减去8(sps_bitdepth_minus8)的最大值。上述参数向解码器指示,只要解码过程可以使用能够支持这些参数的设置来初始化,对应的视频就可以被解码。
存储具有等于MaxDecPicW的图片宽度、等于MaxDecPicH的图片高度、由MaxColourFormat指示的颜色格式和每个颜色分量的比特深度等于MaxBitdepth的MaxDecPics解码图片所需的存储器总量由最大格式的DPB存储器(DpbMemory4MaxFormat)表示。可能会出现DpbMemory4MaxFormat超过MaxLevel指示的级别所允许的最大DPB大小的情况。当发生这种情况时,即使当初始化的解码过程可以支持所有信令通知的参数时,解码器也可能无法正确解码编解码的视频。
本文公开了用于解决上述问题中的一个或多个问题的机制。例如,编码器或中间存储服务器可以向解码器信令通知解码器初始化信息。解码器初始化信息可以描述当对相关轨道和/或比特流的集合中的每一个进行编码时使用的存储器约束、编解码工具和/或其他设置。解码器可以使用该信息来初始化解码过程(例如,软件)以解码比特流。例如,解码器初始化信息可以描述在解码图片缓冲器(DPB)处所需的存储器使用以在解码级别解码比特流。然而,存在一些情况,当由解码器初始化信息参数指示的所需DPB大小可以超过比特流中编解码视频序列的最大级别的最大DPB大小时。例如,当要存储在DPB中的解码图片的最大数量超过最大级别的最大DPB大小时,就会发生这种情况。此外,当最大图片高度乘以最大图片宽度大于最大级别的最大图片大小时,会发生这种情况。在一个示例中,本公开通过在前面的场景中的一个或多个已经发生时进行信令通知,以便允许解码器选择适当的简档层级级别(PTL)设置来解决这个问题。在一些示例中,编码器还可以信令通知解码器以最大格式解码比特流应该支持的最小级别(MinLevel4MaxFormat)。当解码器支持MinLevel4MaxFormat时,解码器可以为MinLevel4MaxFormat选择PTL设置而不关心差异。在另一示例中,编码器和/或存储服务器只能在由解码器初始化信息参数指示的所需DPB大小不超过最大级别的最大DPB大小时信令通知解码器初始化信息。在这种情况下,解码器可以通过解码器初始化信息的存在来推断所需的DPB大小不超过最大级别的最大DPB大小,因此解码器可以使用解码器初始化信息来选择PTL信息,而无需针对上述问题进行调整。上面提到的指示可以作为解码器初始化信息的一部分,例如在DCI NAL单元、SEI消息、文件格式框和/或DASH MPD中进行信令通知。
为了解决上述问题和其他问题,公开了如下总结的方法。这些项目应被视为解释一般概念的示例,而不应以狭隘的方式进行解释。此外,这些项目可以单独应用或以任何方式组合应用。
示例1
在一个示例中,DII还包括DpbMemory4MaxFormat是否超过由MaxLevel指示的级别所允许的最大DPB大小的指示(例如,通过标志)。可以设置最大格式的最小级别(MinLevel4MaxFormat)参数以指示最小级别,对于该最小级别允许的最大DPB大小大于或等于DpbMemory4MaxFormat。在一个示例中,当指示指示DpbMemory4MaxFormat超过该级别允许的最大DPB大小时,DII还包括MinLevel4MaxFormat。
示例2
在一个示例中,DII始终包括MinLevel4MaxFormat,该MinLevel4MaxFormat指示最小级别,对于该最小级别允许的最大DPB大小大于或等于DpbMemory4MaxFormat。
示例3
在一个示例中,DII还包括MaxDecPicW*MaxDecPicH的值是否大于由MaxLevel指示的级别的最大亮度图片大小(MaxLumaPs)的值的指示(例如,通过标志),其中在VVC规范中指定了MaxLumaPs。在一个示例中,当该指示指示MaxDecPicW*MaxDecPicH的值大于MaxLevel指示的级别的MaxLumaPs的值时,DII还包括MinLevel4MaxFormat,MinLevel4MaxFormat被设置以包括最小级别的指示,对于该最小级别MaxLumaPs的值大于或等于MaxDecPicW*MaxDecPicH。
示例4
在一个示例中,DII还始终包括MinLevel4MaxFormat,MinLevel4MaxFormat被设置以包括最小级别的指示,对于该最小级别MaxLumaPs的值大于或等于MaxDecPicW*MaxDecPicH的。
示例5
在一个示例中,DII还包括以下两个条件是否为真的指示(例如,通过标志):(1)MaxDecPicW*MaxDecPicH的值小于或等于VVC规范中规定的MaxLevel指示的级别的MaxLumaPs的值,(2)MaxDecPics的值小于或等于MaxDpbSize的值,其中亮度样点方面最大图片大小(PicSizeMaxInSamplesY)被设置为等于MaxDecPicW*MaxDecPicH并且MaxLumaPs设置为MaxLevel指示的级别。
示例6
在一个示例中,当该指示指示来自示例5的条件中的至少一个不为真时,DII还包括MinLevel4MaxFormat,MinLevel4MaxFormat被设置以包括最小级别的指示,对于该最小级别来自示例5的两个条件都为真。
示例7
在一个示例中,DII还始终包括MinLevel4MaxFormat,MinLevel4MaxFormat被设置以包括最小级别的指示,对于该最小级别来自示例5中的两个条件都为真。
示例8
在示例中,当在DCI NAL单元中、在SEI消息中、在文件格式框或语法结构中和/或在DASH MPD中信令通知DII时,上述方法适用。
示例9
在一个示例中,仅当来自示例5的两个条件都为真时才信令通知DII。
示例10
在一个示例中,DII的存在(例如,在DCI NAL单元中,在SEI消息中,在文件格式框或语法结构中,或在DASH MPD中)指示来自示例5的两个条件都为真。
下面是用于上面总结的一些方面的一些示例实施例,其中一些可以应用于VVC视频文件格式的标准规范。已添加或修改的相关部分以下划线粗体表示,删除部分以粗斜体表示。
第一示例实施例示出了用于在DCI NAL单元中的DII信令的机制。DCI扩展语法的示例如下。
一个示例DCI扩展语义如下所示。注意-当对于比特流存在dci_extension()语法结构并且根据DCI NAL单元中提供的信息初始化解码器时,预计对于解码整个比特流不需要解码器重新初始化。dci_max_num_dec_pics_in_dpb_minus1加1表示在解码比特流时任何时刻存储在DPB中的最大解码图片数。dci_max_bitdepth_minus8加8表示在解码比特流时解码图片的每个颜色分量的以比特为单位的最大比特深度。dci_max_bitdepth_minus8的值应在0到8的范围内(包括0和8)。dci_max_pic_width指示在解码比特流时解码图片的以亮度样点为单位的最大宽度。dci_max_pic_height指示解码比特流时解码图片的以亮度样点为单位的最大高度。dci_max_chroma_format指示解码比特流时图片所引用的SPS的sps_chroma_format_idc的最大值。
图1是用于利用SDP建立通信会话的示例机制100的协议图。例如,可以建立通信会话,用于在编码器和/或内容服务器与解码器之间通信视频数据。例如,可以建立通信会话,用于将视频从发送器流式传输到接收器以显示给用户(例如,电视)。在另一示例中,发送器和接收器可以是在双向方向上通信视频(例如,视频呼叫)的对等方。作为具体示例,发送器可以向接收器发送实况视频数据流,并且接收器可以向发送器返回实况视频数据流。
在SDP中,发起通信的设备被称为提供器(例如,解码器),而响应设备被称为应答器(例如,编码器)。提供器可以通过在步骤102向应答器传输SDP提供来发起视频通信会话。SDP提供是描述提供器的媒体能力的消息,因此描述提供器愿意接收的媒体。应答器审查SDP提供并确定应答器是否能够满足SDP提供中的条件。应答器可以接受或拒绝步骤102的SDP提供。假设应答器决定接受请求,则应答器可以通过在步骤104向提供器传输SDP应答来指示这种接受。SDP应答描述了基于SDP提供应答器愿意发送的媒体。例如,当应答器同意提供器的条款时,SDP应答可以包括与SDP提供相同的媒体描述。在另一示例中,当应答器同意提供器的一些但不是全部条款时,SDP应答可以包括SDP提供中描述的媒体能力的子集。假设达成了某种协议,应答器然后可以基于在步骤104的SDP应答中的描述在步骤106向提供器发送媒体。在双向的上下文中,机制100可以执行两次,其中每个设备针对要接收的媒体流充当提供器。
如上所述,本公开向解码器信令通知解码器初始化信息,解码器可以是机制100中的提供器。这允许解码器基于多个潜在媒体流的参数执行初始化过程,以便在流之间交换时最小化重新初始化解码器的需要。在一个示例中,在步骤102,解码器初始化信息可以由提供器在SDP提供中信令通知/请求。然后,在步骤104,编码器可以通过在SDP应答中信令通知解码器初始化信息来响应。然后,在步骤104,解码器可以基于在SDP应答中接收的解码器初始化信息执行初始化。
图2是用于根据DASH执行视频流式传输的示例机制200的协议图。DASH允许接收器(例如,提供器/解码器)在单个媒体会话期间从多个可替代的媒体流中选择。以此方式,接收器可以基于变化的网络条件动态地增加或减少视频分辨率。因此,接收器基于当前网络条件始终接收可用的最佳视频分辨率,同时避免在网络条件恶化时暂停视频流以等待更多数据。DASH可以与SDP结合使用。例如,根据机制100的步骤106,机制200可用于传送媒体。
通过在步骤202将MPD从发送器传输到接收器来实现上述功能。MPD描述多个可替代的和可互换的媒体流。例如,每个媒体流可以以不同的分辨率、压缩等描述相同的媒体。在步骤204,接收器使用MPD中的描述来请求媒体的片段。例如,接收器可以查看当前网络条件和/或当前缓冲器条件。当缓冲器以新媒体数据充满比显示旧媒体数据更快时,接收器可以从较高分辨率的媒体流请求片段。当由于媒体数据的显示发生得比可以接收到的新媒体数据快而使缓冲器清空时,则接收器可以从较低分辨率的媒体流请求片段。在步骤206,发送器(例如,应答器、编码器和/或内容服务器)可以发送在步骤204请求的片段。重复步骤204和206,直到媒体呈现完成(或者用户取消会话)。
如上所述,本公开向解码器信令通知解码器初始化信息,解码器可以是机制200中的接收器。这允许解码器基于多个潜在媒体流的参数执行初始化过程,以便在流之间交换时最小化重新初始化解码器的需要。在一个示例中,可以在步骤202中信令通知的MPD中信令通知解码器初始化信息。例如,解码器初始化信息可以描述接收器可以请求的每个媒体流。然后,解码器可以基于MPD中的解码器初始化信息执行初始化。
图3是示出例如在机制200的步骤202中在DASH中使用的MPD 300对视频的描述的示意图。MPD 300依照时段310、适配集320、表示330和片段340描述媒体流。时段310包括定时数据并指示内容时段,在此期间媒体内容的编码版本的一致集合是可用的(例如,不改变的可用比特率、语言、标题、字幕等的集合)。时段310可以包含一个或多个适配集320。适配集320包括一个或多个媒体内容分量的可互换编码版本集合。例如,第一适配集320可以包括主视频分量,第二适配集320可以包括主音频分量,第三适配集320可以包括标题等。适配集320还可以包括多路复用的内容,例如组合的视频和音频。每个适配集320包括一个或多个表示330。表示330描述了一个或多个媒体内容分量的可递送的编码版本,例如媒体内容的ISOBMFF版本。表示330中的媒体内容被进一步划分为片段340。片段340是媒体内容的预定义字节大小(例如,1,000字节)和/或回放时间间隔(例如,2或5秒)。每个片段340是可以使用经由MVP 300广告的通用资源定位符(URL)来下载的可单独寻址的数据单元。
例如,对于每个时段310,解码器可以选择一个或多个适配集320以基于MPD 300中的数据获得视频、音频和/或隐藏字幕。解码器然后可以开始流式传输来自所选适配集320的媒体数据。解码器可以基于当前网络条件为每个适配集320选择表示330,并使用URL来获得对应的片段340,以呈现给用户。当网络条件改变时,解码器可以在对应的适配集320内选择不同的表示330。这允许解码器以可呈现的最佳质量获得对应媒体的片段340,而无需基于当前网络条件暂停以重新填充缓冲器。
在一个示例中,解码器初始化信息可以包括在MPD 300中描述适配集320的数据中和/或包括在描述表示330的数据中。例如,适配集320可以包括用于适配集320中包含的每个表示330的解码器初始化信息。在另一示例中,每个表示330可以包含描述该表示330的媒体的解码器初始化信息。解码器然后可以使用解码器初始化信息来执行初始化过程。以这种方式,对于解码器可以选择的任何表示330初始化解码器。因此,解码器不应该由于在所选择的适配集320内的表示330之间的交换而需要重新初始化。
图4是存储在ISOBMFF中的媒体文件400的示意图。例如,媒体文件400可以存储在ISOBMFF中并用作DASH表示。ISOBMFF媒体文件400存储在携带与媒体内容或媒体呈现相关联的对象和/或数据的多个框中。例如,媒体文件400可以包括文件类型框(例如ftyp)430、电影框(movie box)(例如moov)410和媒体数据框(例如mdat)420。
文件类型框430可以携带描述整个文件的数据,因此可以携带文件级数据。因此,文件级框是包含与整个媒体文件400相关的数据的任何框。例如,文件类型框430可以包括指示ISO规范的版本号和/或媒体文件400的兼容性信息的文件类型。电影框410可以携带描述媒体文件中包含的电影的数据,因此可以携带电影级数据。电影级框是包含描述媒体文件400中所包含的整个电影的数据的任何框。电影框410可以包含各种子框,其用于包含用于各种用途的数据。例如,电影框410包含轨道框(trak)411,轨道框411携带描述媒体呈现的轨道的元数据。例如,轨道框411之一可以携带媒体数据框420中的音频数据的音频描述,另一轨道框411可以携带媒体数据框420中的视频数据的视频描述,以及另一轨道框411可以携带用于媒体数据框420中的媒体数据的流式传输和/或回放的提示。应当注意,轨道可以被称为相关样点的定时序列。例如,媒体轨道可以包括图像或采样音频序列,而元数据轨道可以包括以元数据为单位的元数据序列。描述轨道的数据是轨道级数据,因此描述轨道的任何框都是轨道级框。
媒体数据框420包括媒体呈现的交错且按时间顺序排列的媒体数据(例如,在一个多个媒体轨道中的编解码视频图像和/或音频)。例如,媒体数据框420可以包括根据VVC、AVC、HEVC等编解码的视频数据的比特流。媒体数据框420可以包括视频图像、音频、文本或用于显示给用户的其他媒体数据。
如上所述,本公开向解码器信令通知解码器初始化信息。这允许解码器基于多个潜在媒体流的参数执行初始化过程,以便在流之间交换时最小化重新初始化解码器的需要。在一个示例中,可以在媒体文件400中信令通知解码器初始化信息。例如,可以在诸如文件类型框430、电影框410和/或轨道框411的文件级框、电影级框和/或轨道级框中信令通知解码器初始化信息。如上所述,ISOBMFF包括许多用于特定目的的不同框。在各种示例中,可以在文件级元数据框(包含在文件类型框430中)、电影级元数据框(包含在电影框410中)、电影标头框(mvhd)(包含在电影框410中)、样点描述框(stsd)(包含在轨道框411中)、轨道标头框(包含在轨道框411中)、轨道组框(包含在轨道框411中)、轨道级元数据框(包含在轨道框411中)、其他框和/或其各种组合中信令通知解码器初始化信息。
图5是包含编码的视觉媒体数据的比特流500的示意图。比特流500包含已经由编码器编解码/压缩用于由解码器解码/解压缩的媒体数据。例如,比特流500可以包括在ISOBMFF媒体文件400的媒体数据框420中。此外,比特流500可以包括在DASH中的表示330中。比特流500可以根据各种编解码格式(例如VVC、AVC、EVC、HEVC等)进行编解码。在一些编解码格式中,比特流500被表示为一系列NAL单元510。NAL单元510是大小设置为定位在数据分组中的数据单元。例如,VVC包含许多类型的NAL单元510。比特流500可以包含视频编解码层(VCL)NAL单元,其包含视频数据,以及非VCL NAL单元,非VCL NAL单元包含描述VCL NAL单元、描述所采用的编解码工具、描述编解码约束等的数据。在一个示例中,比特流500可以包括DCI NAL单元511和/或SEI NAL单元515。DCI NAL单元511是非VCL NAL单元,其包含描述解码器解码对应比特流所需的编解码能力的数据。SEI NAL单元515包含辅助与解码、显示或其他目的相关的过程的数据,但解码过程不需要这些数据来确定解码图片中的样点值。在一个示例中,解码器初始化信息可以包含在DCI NAL单元511和/或SEI NAL单元515中。作为具体示例,SEI NAL单元515可以包含DII SEI消息516,该DII SEI消息516是专门设计以携带用于比特流500的解码器初始化信息的SEI消息。作为具体示例,比特流500可以进一步划分为AU,并且DII SEI消息516可以包括在比特流500中的第一AU中。因此,解码器可以获取解码器可以解码的每个比特流500的第一AU,并作为媒体呈现的一部分进行显示。然后,解码器可以基于每个相关比特流500中的解码器初始化信息执行初始化,以避免重新初始化。
图6是示出了其中可以实施本文公开的各种技术的示例视频处理系统600的框图。各种实施方式可以包括系统600的部分或全部组件。系统600可以包括用于接收视频内容的输入602。视频内容可以以原始或未压缩格式(例如,8或10比特多分量像素值)接收,或者可以以压缩或编码格式接收。输入602可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口,例如以太网、无源光网络(PON)等,以及无线接口,例如Wi-Fi或蜂窝接口。
系统600可以包括编解码组件604,其可以实施本文档中描述的各种编解码或编码方法。编解码组件604可以将视频的平均比特率从输入602降低到编解码组件604的输出,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件604的输出可以被存储,或者经由由组件606表示的连接的通信来传输。组件608可以使用在输入602处接收的视频的存储的或通信的比特流(或编解码的)表示来生成发送到显示接口610的像素值或可显示视频。从比特流表示生成用户可视视频的过程有时称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但应理解,在编码器处使用编码工具或操作,并且解码器将执行反转编解码的结果的对应的解码工具或操作。
外围总线接口或显示接口的示例可包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或显示端口等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,例如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。
图7是示例视频处理装置700的框图。装置700可用于实施本文所述的一个或多个方法。装置700可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置700可以包括一个或多个处理器702、一个或多个存储器704和视频处理电路706。(一个或多个)处理器702可以被配置为实施本文档中描述的一个或多个方法。(一个或多个)存储器704可用于存储用于实施本文所述方法和技术的数据和代码。视频处理电路706可用于在硬件电路中实施本文档中描述的一些技术。在一些实施例中,视频处理电路706可以至少部分地包括在处理器702(例如图形协处理器)中。
图8是视频处理的示例方法800的流程图。方法800包括在步骤802确定(例如,在比特流中信令通知)解码器初始化信息(DII),解码器初始化信息(DII)包括描述比特流的所有编码解视频序列所符合的最大级别(MaxLevel)和信令通知最大格式的数据。最大格式包括以下一个或多个参数:1)存储在解码图片缓冲器(DPB)中的最大解码图片数(MaxDecPics),2)比特流中所有编解码图片的最大解码图片宽度(MaxDecPicW),3)比特流中所有编解码图片的最大解码图片高度(MaxDecPicH),4)比特流中所有编解码图片的最大彩色格式(MaxColourFormat),以及5)比特流中所有编解码图片的最大比特深度(MaxBitdepth)。如上所述,可以在DCI NAL单元、SEI消息、DII SEI消息、文件格式框、DASHMPD、SDP提供/应答或其组合中信令通知解码器初始化信息。
如上所述,在一个级别上对(一个或多个)编解码视频序列进行编解码。具体地说,视频编解码标准如HEVC、SHVC、MV-HEVC和VVC为对应的视频数据指定并信令通知简档、层次和级别。简档、层次和级别指定对比特流的限制,从而限制解码比特流所需的能力。简档、层次和级别也可用于指示各个解码器实施方式之间的互操作性点。简档是定义好的编解码工具集合,用于创建兼容或符合的比特流。每个简档指定符合该简档的所有解码器都应支持的算法特征和限制的子集。级别是针对比特流的约束集合(例如,最大亮度样点率、分辨率的最大比特率等)。因此,级别是指示回放指定简档的比特流所需的解码器性能的约束集合。级别被划分为两个层次:主层次和高层次。主层次是比高层次更低的层次。这些层次用于处理在其最大比特率方面不同的应用。主层次是为大多数应用设计的,而高层次是为要求非常高的应用设计的。层次的每一级别都指定了特定标准(例如,HEVC、VVC)的语法元素可能采用的值的限制集合。所有简档都使用相同的层次和级别定义集,但是单个实施方式可能支持不同的层次,并且在一个层次中为每个支持的简档提供不同的级别。对于任何给定的简档,层次的级别通常对应于特定的解码器处理负载和存储器能力。
因此,解码器通常可以在步骤802使用描述DII中的DPB存储器需求的数据来初始化对应级别处的解码过程。然而,在某些情况下,DII可能提供与MaxLevel不一致的不正确的数据。例如,MaxLevel指示解码比特流所需的第一最大DPB大小。此外,最大格式指示第二最大DPB大小,第二最大DPB大小表示为DpbMemory4MaxFormat,是通过同时将最大格式的所有参数设置为最大值确定的。在某些情况下,DpbMemory4MaxFormat可能超过MaxLevel的第一最大DPB大小。
为了解决这个问题,在步骤802,解码器初始化信息包含第一指示(例如,标志),其指示DpbMemory4MaxFormat何时超过MaxLevel处的第一最大DPB大小。在这种情况下,解码器不应该使用DpbMemory4MaxFormat来初始化解码过程。在某些示例中,只有当DpbMemory4MaxFormat超过MaxLevel的第一最大DPB大小,产生存储器问题时,才信令通知第一指示。在其他示例中,总是在解码器初始化信息中信令通知第一指示。在一些示例中,解码器初始化信息还可以包括MinLevel4MaxFormat,其指示解码器以最大格式解码比特流应该支持的最小级别。在这种情况下,解码器可以基于MinLevel4MaxFormat而不是DpbMemory4MaxFormat初始化解码过程,因为基于MinLevel4MaxFormat指示的级别的初始化确保解码器可以以最大格式解码整个比特流。
在一些示例中,MinLevel4MaxFormat信令通知最小的级别,对于该最小的级别第一最大DPB大小大于或等于DPBMemory4MaxFormat。在一些示例中,MinLevel4MaxFormat信令通知最小的级别,对于该最小的级别亮度样点方面最大图片大小的值(MaxLumaPs)大于或等于MaxDecPicW乘以MaxDecPic。在一些示例中,MinLevel4MaxFormat信令通知最小的级别,对于该最小的级别(1)比特流的MaxDecPicW乘以比特流的MaxDecPicH小于或等于编解码视频序列的MaxLevel的MaxLumaPs,(2)MaxDecPics小于或等于MaxDpbSize。在某些示例中,总是在解码器初始化信息中信令通知MinLevel4MaxFormat。在其他示例中,只有当DpbMemory4MaxFormat超过MaxLevel的第一最大DPB大小时,才信令通知MinLevel4MaxFormat。例如,只有当MaxDecPicW乘以MaxDecPicH大于比特流中所有编解码视频序列所符合的MaxLevel的MaxLumaPs时,才可以信令通知MinLevel4MaxFormat。
如上所述,DII可用于指示DII中的存储器问题。在一些示例中,DII还可以包括第二指示(例如,标志),以便指示数据的问题的性质。例如,第二指示可以指示比特流的MaxDecPicW乘以比特流的MaxDecPicH是否大于编解码视频序列的MaxLevel的MaxLumaPs。当这是真,存储器问题已经发生。因此,第二指示可以指示比特流的MaxDecPicW乘以比特流的MaxDecPicH是否小于或等于编解码视频序列的MaxLevel的MaxLumaPs。在一些示例中,第二指示还可以指示MaxDecPics是否小于或等于MaxDpbSize。此外,第二指示可以指示MaxDecPics是否大于MaxDpbSize,这指示问题的存在。可以通过将亮度样点方面最大图片大小(PicSizeMaxInSamplesY)设置为等于MaxDecPicW乘以MaxDecPicH并针对由MinLevel4MaxFormat指示的级别(例如MaxLevel)设置MaxLumaPs来确定MaxDpbSize。在一个示例中,第二指示可以指示上述条件中的两个或至少一个是否为真(或假,取决于示例)。
在另一个示例中,当第二指示指示以下中的至少一个为假时,才在解码器初始化信息中信令通知MinLevel4MaxFormat:比特流的MaxDecPicW乘以比特流的MaxDecPicH小于或等于编解码视频序列的MaxLevel的MaxLumaPs;MaxDecPics小于或等于MaxDpbSize。在这种情况下,仅在问题发生时信令通知MinLevel4MaxFormat。
无论使用何种编码,在步骤804,基于第一指示在视觉媒体数据和比特流之间执行转换。当在编码器上执行方法800时,转换包括根据视觉媒体数据生成比特流。当在解码器上执行方法800时,转换包括解析比特流以获得视觉媒体数据。
应当注意,方法800可以在用于处理视频数据的装置中实施,该装置包括处理器和在其上具有指令的非暂时性存储器,例如视频编码器1100、视频解码器1200和/或编码器1300。在这种情况下,指令在被处理器执行时使得处理器执行方法800。此外,方法800可以由包括由视频编解码设备使用的计算机程序产品的非暂时性计算机可读介质来执行。计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可执行指令,使得该指令在由处理器执行时,使得视频编解码设备执行方法800。
图9是视频处理的另一示例方法900的流程图。方法900使用不同的信令机制解决方法800中描述的问题。方法800在解码器初始化信息中出现存储器问题时进行信令通知,这允许解码器调整解码器初始化信息中的错误。相反,当解码器初始化信息以某种方式包含这样的错误时,方法900检查错误并且不信令通知解码器初始化信息。然后,当解码器初始化信息的存在指示错误尚未发生时,解码器可以始终使用解码器初始化信息。因此,在步骤902,确定比特流的DII,该DII包括描述比特流的所有CVS所符合的MaxLevel和最大格式的数据。最大格式包括以下参数中的一个或多个参数:1)存储在DPB中的MaxDecPics,2)比特流中所有编解码图片的MaxDecPicW,3)比特流中所有编解码图片的MaxDecPicH,4)比特流中所有编解码图片的MaxColourFormat以及5)比特流中所有编解码图片的MaxBitdepth。此外,MaxLevel指示解码比特流所需的第一最大DPB大小,最大格式指示通过同时将最大格式的所有参数设置为最大值而确定的DpbMemory4MaxFormat。
然而,只有当(1)比特流的MaxDecPicW乘以比特流的MaxDecPicH小于或等于编解码视频序列的MaxLevel的MaxLumaPs和(2)MaxDecPics小于或等于MaxDpbSize时,才信令通知解码器初始化信息。当在解码器上执行方法900时,解码器可以基于解码器初始化信息的存在来推断:(1)比特流的MaxDecPicW乘以比特流的MaxDecPicH小于或等于编解码视频序列的MaxLevel的MaxLumaPs;以及(2)MaxDecPics小于或等于MaxDpbSize。
在步骤904,基于解码器初始化信息在视觉媒体数据和比特流之间执行转换。当在编码器上执行方法900时,转换包括根据视觉媒体数据生成比特流。当在解码器上执行方法900时,转换包括解析比特流以获得视觉媒体数据。如上所述,可以在DCI NAL单元、SEI消息、DII SEI消息、文件格式框、DASH MPD、SDP提供/应答或其组合中信令通知解码器初始化信息。
应当注意,方法900可以在用于处理视频数据的装置中实施,该装置包括处理器和在其上具有指令的非暂时性存储器,例如视频编码器1100、视频解码器1200和/或编码器1300。在这种情况下,指令在被处理器执行时使得处理器执行方法900。此外,方法900可以由包括由视频编解码设备使用的计算机程序产品的非暂时性计算机可读介质来执行。计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可执行指令,使得该指令在被处理器执行时,使得视频编解码设备执行方法900。
图10是示出了可利用本公开的技术的示例视频编解码系统1000的框图。如图10所示,视频编解码系统1000可以包括源设备1010和目标设备1020。源设备1010生成编码视频数据,源设备110可以被称为视频编码设备。目标设备1020可以对源设备1010生成的编码视频数据进行解码,目标设备120可以被称为视频解码设备。
源设备1010可以包括视频源1012、视频编码器1014和输入/输出(I/O)接口1016。视频源1012可以包括诸如视频捕获设备的源、用于从视频内容提供商接收视频数据的接口和/或用于生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器1014对来自视频源1012的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口1016可以包括调制器/解调器(调制解调器)和/或发射器。编码的视频数据可以通过网络1030经由I/O接口1016直接传输到目标设备1020。编码视频数据还可以存储在存储介质/服务器1040上,以供目标设备1020访问。
目标设备1020可以包括I/O接口1026、视频解码器1024和显示设备1022。I/O接口1026可以包括接收器和/或调制解调器。I/O接口1026可以从源设备1010或存储介质/服务器1040获取编码视频数据。视频解码器1024可解码编码的视频数据。显示设备1022可以向用户显示解码的视频数据。显示设备1022可以与目标设备1020集成,或者可以在目标设备1020外部,该目标设备1520可被配置为与外部显示设备接口。
视频编码器1014和视频解码器1024可以根据视频压缩标准操作,例如高效视频编解码(HEVC)标准、多功能视频编解码(VVC)标准和其他当前和/或进一步的标准。
图11是示出了视频编码器1100的示例的框图,视频编码器1100可以是图10所示的系统1000中的视频编码器1014。视频编码器1100可以被配置为执行本公开的任何或所有技术。在图11的示例中,视频编码器1100包括多个功能组件。本公开中描述的技术可以在视频编码器1100的各个组件之间共享。在一些示例中,处理器可被配置为执行本公开中描述的任何或所有技术。
视频编码器1100的功能组件可以包括分割单元1101、预测单元1102、残差生成单元1107、变换处理单元1108、量化单元1109,逆量化单元1110、逆变换单元1111、重建单元1112、缓冲器1113和熵编码单元1114,预测单元1102可以包括模式选择单元1103、运动估计单元1104、运动补偿单元1105和帧内预测单元1106。
在其他示例中,视频编码器1100可以包括更多、更少或不同的功能组件。在一个示例中,预测单元1102可以包括帧内块复制(IBC)单元。IBC单元可以在IBC模式下执行预测,在IBC模式中至少一个参考图片是当前视频块所在的图片。
此外,一些组件,例如运动估计单元1104和运动补偿单元1105可以是高度集成的,但是为了解释的目的在图11的示例中分别表示。
分割单元1101可以将图片分割成一个或多个视频块。视频编码器1100和视频解码器1200可以支持各种视频块大小。
模式选择单元1103可以例如基于错误结果选择一种编解码模式(帧内或帧间),并将得到的帧内或帧间编码块提供给残差生成单元1107以生成残差块数据,并提供给重建单元1112以重建编码块以用作参考图片。在一些示例中,模式选择单元1103可以选择帧内和帧间预测的组合(CIIP)模式,其中预测基于帧间预测信号和帧内预测信号。模式选择单元1103还可以在帧间预测的情况下为块选择运动矢量的分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元1104可以通过将来自缓冲器1113的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元1105可以基于运动信息和来自缓冲器1113的图片的解码样点(与当前视频块相关联的图片除外)来确定当前视频块的预测视频块。
例如,运动估计单元1104和运动补偿单元1105可以根据当前视频块是在I条带、P条带还是B条带中,对当前视频块执行不同的操作。
在一些示例中,运动估计单元1104可以对当前视频块执行单向预测,并且运动估计单元1104可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。然后,运动估计单元1104可以生成参考索引,该参考索引指示包含参考视频块的列表0或列表1中的参考图片以及指示当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元1104可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元1105可以基于由当前视频块的运动信息指示的参考视频块生成当前块的预测视频块。
在其他示例中,运动估计单元1104可以对当前视频块执行双向预测,运动估计单元1104可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中的参考图片中搜索当前视频块的另一参考视频块。然后,运动估计单元1104可以生成指示包含参考视频块的列表0和列表1中的参考图片的参考索引和指示参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元1104可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元1105可以基于由当前视频块的运动信息指示的参考视频块生成当前视频块的预测视频块。
在一些示例中,运动估计单元1104可以输出用于解码器的解码处理的运动信息的完整集合。在一些示例中,运动估计单元1104可以不输出当前视频的运动信息的完整集合。相反,运动估计单元1104可以参考另一视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元1104可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元1104可以在与当前视频块相关联的语法结构中指示值,该值向视频解码器1200指示当前视频块与另一视频块具有相同的运动信息。
在另一示例中,运动估计单元1104可以在与当前视频块相关联的语法结构中识别另一视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量与所指示视频块的运动矢量之间的差。视频解码器1200可以使用所指示视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所述,视频编码器1100可以预测地信令通知运动矢量。可由视频编码器1100实施的预测信令技术的两个示例包括高级运动矢量预测(AMVP)和merge模式信令。
帧内预测单元1106可以对当前视频块执行帧内预测。当帧内预测单元1106对当前视频块执行帧内预测时,帧内预测单元1106可以基于同一图片中其他视频块的解码样点生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元1107可以通过从当前视频块减去当前视频块的(一个或多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中的样点的不同样点分量的残差视频块。
在其他示例中,例如在跳过模式下,对于当前视频块,可以没有当前视频块的残差数据,并且残差生成单元1107可以不执行减法操作。
变换处理单元1108可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换处理单元1108生成与当前视频块相关联的变换系数视频块之后,量化单元1109可以基于与当前视频块相关联的一个或多个量化参数(QP)值对与当前视频块相关联的变换系数视频块进行量化。
逆量化单元1110和逆变换单元1111可分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重建残差视频块。重建单元1112可以将重建的残差视频块添加到来自预测单元1102生成的一个或多个预测视频块的对应样点中,以产生与当前块相关联的重建视频块,以存储在缓冲器1113中。
在重建单元1112重建视频块之后,可以执行环路滤波操作以减少视频块中的视频块效应伪影。
熵编码单元1114可以从视频编码器1100的其他功能组件接收数据。当熵编码单元1114接收到数据时,熵编码单元1114可以执行一个或多个熵编码操作以生成熵编码数据并输出包括该熵编码数据的比特流。
图12是示出了视频解码器1200的示例的框图,该视频解码器1200可以是图10所示的系统1000中的视频解码器1024。
视频解码器1200可被配置为执行本公开的任何或所有技术。在图12的示例中,视频解码器1200包括多个功能组件。本公开中描述的技术可以在视频解码器1200的各个组件之间共享。在一些示例中,处理器可被配置为执行本公开中描述的任何或所有技术。
在图12的示例中,视频解码器1200包括熵解码单元1201、运动补偿单元1202、帧内预测单元1203、逆量化单元1204、逆变换单元1205、重建单元1206和缓冲器1207。在一些示例中,视频解码器1200可以执行与关于视频编码器1100(图11)描述的编码过程大体相反的解码过程。
熵解码单元1201可以检索编码比特流。编码比特流可包括熵编解码视频数据(例如,视频数据的编码块)。熵解码单元1201可以解码熵编解码视频数据,并且运动补偿单元1202可以从熵解码视频数据确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。例如,运动补偿单元1202可以通过执行AMVP和merge模式来确定这样的信息。
运动补偿单元1202可以产生运动补偿块,可能基于插值滤波器执行插值。可以在语法元素中包括以子像素精度使用的插值滤波器的标识符。
运动补偿单元1202可以使用视频编码器1100在视频块编码期间使用的插值滤波器来计算参考块的子整数像素的内插值。运动补偿单元1202可以根据接收到的语法信息确定视频编码器1100使用的插值滤波器,并使用该插值滤波器来产生预测块。
运动补偿单元1202可以使用一些语法信息来确定用于对编码视频序列的(一个或多个)帧和/或(一个或多个)条带进行编码的块的大小、描述如何对编码视频序列的图片的每个宏块进行分割的分割信息、指示如何对每个分割进行编码的模式、用于每个帧间编解码块的一个或多个参考帧(和参考帧列表),以及用于解码编码视频序列的其他信息。
帧内预测单元1203可以使用例如在比特流中接收的帧内预测模式来从空域相邻块形成预测块。逆量化单元1204对在比特流中提供并由熵解码单元1201解码的量化视频块系数进行逆量化(即,去量化)。逆变换单元1205应用逆变换。
重建单元1206可以将残差块与由运动补偿单元1202或帧内预测单元1203生成的对应预测块相加,以形成解码块。如果需要,还可以应用去块滤波器对解码块进行滤波,以去除块效应伪影。解码视频块随后存储在缓冲器1207中,缓冲器307为后续运动补偿/帧内预测提供参考块,并且还产生解码视频以在显示设备上呈现。
图13是示例编码器1300的示意图。编码器1300适合于实施VVC的技术。编码器1300包括三个环路内滤波器,即去方块滤波器(DF)1302、样点自适应偏移(SAO)1304和自适应环路滤波器(ALF)1306。与使用预定义滤波器的DF 1302不同,SAO 1304和ALF 1306利用当前图片的原始样点,利用信令通知偏移和滤波器系数的编解码侧信息,分别通过添加偏移和应用有限脉冲响应(FIR)滤波器来减小原始样点与重建样点之间的均方误差。ALF1306位于每张图片的最后处理阶段并且可以被视为试图捕获和修复前一阶段产生的伪影的工具。
编码器1300还包括帧内预测组件1308和配置为接收输入视频的运动估计/补偿(ME/MC)组件1310。帧内预测组件1308被配置为执行帧内预测,而ME/MC组件1310被配置为利用从参考图片缓冲器1312获得的参考图片来执行帧间预测。来自帧间预测或帧内预测的残差块被馈送到变换(T)组件1314和量化(Q)组件1316以生成量化残差变换系数,该量化残差变换系数被馈送到熵编解码组件1318。熵编解码组件1318对预测结果和量化变换系数进行熵编解码,并将其传输到视频解码器(未示出)。从量化组件1316输出的量化组件可以馈送到逆量化(IQ)组件1320、逆变换组件1322和重建(REC)组件1324。REC组件1324能够将图像输出到DF 1302、SAO 1304和ALF 1306,以在这些图像被存储在参考图片缓冲器1312中之前进行滤波。
接下来提供一些示例的优选的解决方案的列表。
以下解决方案示出了本文所讨论的技术的示例。
1.一种视觉媒体处理方法(例如,图8所示的方法800),包括在视频和视频的比特流之间执行转换,其中比特流符合格式规则,其中格式规则指定比特流包括解码器初始化信息(DII),其中DII包括用于存储图片的解码器中的实际存储器需求是否将超过从比特流的编解码级别导出的最大解码图片缓冲器大小的第一指示。
2.根据解决方案1的方法,其中格式规则指定比特流包括最小级别的第二指示,对于该最小级别最大解码图片缓冲器大小大于或等于实际存储器需求。
3.根据解决方案1-2中任一项的方法,其中格式规则指定比特流包括根据编解码级别最大解码图片宽度和最大解码图片高度的乘积的值是否大于图片中的最大亮度像素的值的第三指示。
4.根据解决方案1-3中任一项的方法,其中格式规则指定比特流包括最小级别的第四指示,对于该最小级别最大亮度像素的值大于或等于该乘积的值。
5.根据解决方案1-4中任一项的方法,其中格式规则指定在比特流中包括指示该乘积的值和最大亮度像素的值的相对大小的条件的标志。
6.根据解决方案1-5中任一项的方法,其中格式规则指定包括最小编解码级别的第五指示,对于该最小编解码级别该条件为真。
7.根据解决方案1-6中任一项的方法,其中格式规则指定包括最小级别的第六指示,对于该最小级别该乘积的值小于最大亮度像素的值或小于从比特流的编解码级别导出的最大解码图片缓冲器大小。
8.根据上述任何解决方案的方法,其中根据格式规则将解码器初始化信息包括在解码能力信息(DCI)网络抽象层单元(NAL)字段中。
9.根据上述任何解决方案的方法,其中根据格式规则将解码器初始化信息包括在补充增强信息(SEI)消息中。
10.根据上述任何解决方案的方法,其中根据国际标准化组织基本媒体文件格式(ISOBMFF)格式对编解码比特流进行格式化以包括解码器初始化信息。
11.根据上述任何解决方案的方法,其中根据运动图片专家组(MPEG)基于超文本传输协议的动态自适应流式传输(DASH)媒体呈现描述(MPD)格式对编解码比特流进行格式化,以包括解码器初始化信息。
12.根据上述任何解决方案的方法,其中根据实时传输协议(RTP)格式对编解码比特流进行格式化以包括解码器初始化信息。
13.根据解决方案12的方法,其中解码器初始化信息被包括作为会话描述协议参数。
14.根据上述任何解决方案的方法,其中格式规则指定当编解码比特流的简档、级别或层次改变时,重新初始化解码器。
15.根据上述任何解决方案的方法,其中,格式规则指定当编解码比特流中的定时参数或假设参考解码器参数语法改变时,重新初始化解码器。
16.一种视频解码装置,包括处理器,其被配置为实施解决方案1至15中的一个或多个中所述的方法。
17.一种视频编码装置,包括处理器,其被配置为实施解决方案1至15中的一个或多个所述的方法。
18.一种计算机程序产品,其上存储有计算机代码,当该代码由处理器执行时,使得处理器实施在解决方案1至15中任一解决方案中所述的方法。
19.一种计算机可读介质,其上的比特流符合根据解决方案1至15中任一解决方案生成的比特流格式。
20.一种方法,包括根据解决方案1至15中任一解决方案中所述的方法生成比特流,并将该比特流写入计算机可读介质。
21.方法、装置以及根据公开的方法或本文档中描述的系统生成的比特流。
22.一种用于处理视频数据的方法,包括:
确定比特流的解码器初始化信息(DII),其中DII包括描述比特流的所有编解码视频序列(CVS)所符合的最大级别(MaxLevel)和包括以下参数中的一个或多个参数的最大格式的数据:1)存储在解码图片缓冲器(DPB)中的最大解码图片数(MaxDecPics),2)比特流中所有编解码图片的最大解码图片宽度(MaxDecPicW),3)比特流中所有编解码图片的最大解码图片高度(MaxDecPicH),4)比特流中所有编解码图片的最大颜色格式(MaxColourFormat),以及5)比特流中所有编解码图片的最大比特深度(MaxBitdepth),其中MaxLevel指示解码比特流所需的第一最大DPB大小,其中最大格式指示第二最大DPB大小,第二最大DPB大小表示为最大格式的DPB存储器(DpbMemory4MaxFormat),是通过同时将最大格式的所有参数设置为最大值来确定的,以及其中当存在以下情况时才信令通知DII:
MaxDecPicW乘以MaxDecPicH小于或等于编解码视频序列的MaxLevel的最大图片大小(MaxLumaPs);以及MaxDecPics小于或等于第一最大DPB大小;
以及基于第一指示在视觉媒体数据与比特流之间执行转换。
23.根据解决方案22的方法,还包括基于解码器初始化信息的存在推断:
比特流的MaxDecPicW乘以比特流的MaxDecPicH小于或等于编解码视频序列的MaxLevel的MaxLumaPs;以及
MaxDecPics小于或等于MaxDpbSize。
24.根据解决方案22的方法,其中转换包括根据视频媒体数据生成比特流。
25.根据解决方案22的方法,其中转换包括解析比特流以获得视频媒体数据。
在本文描述的解决方案中,编码器可以通过根据格式规则产生编解码表示来符合格式规则。在本文描述的解决方案中,解码器可以使用格式规则来解析编解码表示中的语法元素,并根据格式规则利用语法元素的存在和不存在的知识来产生解码视频。
在本文档中,术语“视频处理”可指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示转换为对应的比特流表示期间应用,反之亦然。例如,当前视频块的比特流表示可以对应于如语法所定义的,在比特流内位于同一位置或分散在不同位置的比特。例如,可以依照变换和编解码的错误残值对宏块进行编码,并且还可以使用标头中的比特和比特流中的其他字段对宏块进行编码。此外,在转换期间,解码器可以基于上述解决方案中描述的确定,在获知一些字段可能存在或不存在的情况下解析比特流。类似地,编码器可以确定是否包括某些语法字段,并通过从编解码表示中包括或排除这些语法字段来相应地生成编解码表示。
本文档中描述的公开和其他解决方案、示例、实施例、模块和功能操作可在数字电子电路中或在计算机软件、固件或硬件(包括本文档中公开的结构及其结构等效物),或在它们中的一种或多种的组合中实施。所公开的实施例和其他实施例可以实施为一个或多个计算机程序产品,即,编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制其操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组合物,或者它们中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成用于编码信息以传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程,或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件相对应。程序可以存储在保存其他程序或数据(例如,标记语言文档中存储的一个或多个脚本)的文件的一部分、专用于所讨论的程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台计算机上执行或者部署在位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。
本文档中描述的过程和逻辑流可由一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过操作输入数据和生成输出来执行功能。过程和逻辑流还可以由专用逻辑电路执行,并且装置也可以实施为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器以及存储指令和数据的一个或多个存储设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或操作地耦合以从该大容量存储设备接收数据或向其传输数据或两者。然而,计算机不需要具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及光盘只读存储器(CD-ROM)和数字多功能光盘只读存储器(DVD-ROM)盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
尽管本专利文档包含许多细节,但这些细节不应被解释为对任何主题或可能要求保护的内容的范围的限制,而是对可能特定于特定技术的特定实施例的特征的描述。本专利文档中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实施。此外,尽管特征可以在上面被描述为在某些组合中起作用,甚至最初被声称为这样,但在一些情况下,可以从组合中删除来自所声称的组合的一个或多个特征,并且所声称的组合可以被定向到子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描述操作,但这不应理解为要求以所示的特定次序或顺序执行此类操作,或要求执行所有图示操作以实现期望结果。此外,本专利文档中描述的实施例中的各种系统组件的分离不应理解为在所有实施例中都需要这种分离。
仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和说明的内容来进行其他实施方式、增强和变化。
当除了第一组件和第二组件之间的线、迹线或另一介质之外不存在中间组件时,第一组件直接耦合到第二组件。当在第一组件和第二组件之间存在除线、迹线或另一介质之外的中间组件时,第一组件间接耦合到第二组件。术语“耦合”及其变体包括直接耦合和间接耦合。除非另有说明,术语“大约”的使用是指包括后续数字的±10%的范围。
尽管在本公开中已经提供了若干实施例,但应当理解,在不脱离本公开的精神或范围的情况下,所公开的系统和方法可以以许多其他特定形式体现。本示例被认为是说明性的而不是限制性的,并且意图不限于本文给出的细节。例如,各种元件或组件可以组合或集成在另一系统中,或者某些特征可以被省略,或者不被实施。
此外,在不脱离本公开的范围的情况下,在各种实施例中描述和示出为离散或分离的技术、系统、子系统和方法可以与其他系统、模块、技术或方法组合或集成。作为耦合而示出或讨论的其他项目可以直接连接或可以通过某些接口、设备或中间组件(无论是电气地、机械地还是其他方式)间接地耦合或通信。变化、替换和改变的其他示例可由本领域技术人员确定,并且可以在不偏离本文所公开的精神和范围的情况下进行。
Claims (17)
1.一种用于处理视频数据的方法,包括:
确定比特流的解码器初始化信息(DII),其中所述DII包括描述所述比特流的所有编解码视频序列(CVS)所符合的最大级别(MaxLevel)和包括以下参数中的一个或多个参数的最大格式的数据:1)存储在解码图片缓冲器(DPB)中的最大解码图片数(MaxDecPics),2)所述比特流中所有编解码图片的最大解码图像宽度(MaxDecPicW),3)所述比特流中所有编解码图片的最大解码图片高度(MaxDecPicH),4)所述比特流中所有编解码图片的最大颜色格式(MaxColourFormat)以及5)所述比特流中所有编解码图片的最大比特深度(MaxBitdepth),其中所述MaxLevel指示解码所述比特流所需的第一最大DPB大小,其中所述最大格式指示第二最大DPB大小,所述第二最大DPB大小表示为最大格式的DPB存储器(DpbMemory4MaxFormat),是通过同时将所述最大格式的所有参数设置为最大值来确定的,并且其中所述DII还包括DpbMemory4MaxFormat是否超过所述第一最大DPB大小的第一指示;以及
基于所述第一指示在视觉媒体数据与比特流之间执行转换。
2.根据权利要求1所述的方法,其中,所述DII还包括解码器以最大格式解码所述比特流应该支持的最小级别(MinLevel4MaxFormat)。
3.根据权利要求2所述的方法,其中,所述MinLevel4MaxFormat信令通知最小的级别,对于所述最小的级别所述第一最大DPB大小大于或等于所述DpbMemory4MaxFormat。
4.根据权利要求2-3中任一项所述的方法,其中,所述MinLevel4MaxFormat信令通知最小的级别,对于所述最小的级别亮度样点方面最大图片大小(MaxLumaPs)的值大于或等于所述MaxDecPicW乘以所述MaxDecPicH。
5.根据权利要求2-4中任一项所述的方法,其中,仅当所述第一指示指示所述DpbMemory4MaxFormat超过所述第一最大DPB大小时,才信令通知所述MinLevel4MaxFormat。
6.根据权利要求2-4中任一项所述的方法,其中,仅当所述MaxDecPicW乘以所述MaxDecPicH大于所述MaxLevel的最大图片大小(MaxLumaPs)时,才信令通知所述MinLevel4MaxFormat。
7.根据权利要求2-6中任一项所述的方法,其中,所述MinLevel4MaxFormat信令通知最小的级别,对于所述最小的级别:
所述MaxDecPicW乘以所述MaxDecPicH小于或等于所述MaxLevel的最大图片大小(MaxLumaPs);以及
所述MaxDecPics小于或等于所述第一最大DPB大小。
8.根据权利要求1-7中任一项所述的方法,其中,所述DII还包括所述MaxDecPicW乘以所述MaxDecPicH是否大于所述MaxLevel的最大图片大小(MaxLumaPs)的第二指示。
9.根据权利要求1-7中任一项所述的方法,其中,所述DII还包括所述MaxDecPicW乘以所述MaxDecPicH是否小于或等于所述编解码视频序列的MaxLevel的最大图片大小(MaxLumaPs)的第二指示。
10.根据权利要求9所述的方法,其中,所述第二指示还指示所述MaxDecPics是否小于或等于所述第一最大DPB大小。
11.根据权利要求10所述的方法,其中,通过将亮度样点方面最大图片大小(PicSizeMaxInSamplesY)设置为等于MaxDecPicW乘以MaxDecPicH并将MaxLumaPs设置为MinLevel4MaxFormat所指示的级别,来确定所述第一最大DPB大小。
12.根据权利要求11所述的方法,其中,仅当所述第二指示指示以下中的至少一个为假时,才在所述DII中信令通知解码器以最大格式解码所述比特流应该支持的最小级别(MinLevel4MaxFormat):
所述比特流的MaxDecPicW乘以所述比特流的MaxDecPicH小于或等于所述编解码视频序列的MaxLevel的MaxLumaPs;以及
所述MaxDecPics小于或等于MaxDpbSize。
13.根据权利要求1-12中任一项所述的方法,其中,在解码能力信息(DCI)网络抽象层(NAL)单元、补充增强信息(SEI)消息、文件格式框、基于超文本传输协议的动态自适应流式传输(DASH)媒体呈现描述(MPD)或其组合中信令通知所述DII。
14.根据权利要求1-13中任一项所述的方法,其中,所述转换包括根据所述视觉媒体数据生成所述比特流。
15.根据权利要求1-13中任一项所述的方法,其中,所述转换包括解析所述比特流以获得所述视觉媒体数据。
16.一种非暂时性计算机可读介质,包括用于由视频编解码设备使用的计算机程序产品,所述计算机程序产品包括存储在所述非暂时性计算机可读介质上的计算机可执行指令以便当所述计算机可执行指令被处理器执行时使得所述视频编解码设备执行根据权利要求1-15中任一项所述的方法。
17.一种用于处理视频数据的装置,包括:
处理器;以及
在其上具有指令的非暂时性存储器,其中所述指令在被所述处理器执行时使得所述处理器执行根据权利要求1-15中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163135451P | 2021-01-08 | 2021-01-08 | |
US63/135,451 | 2021-01-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114760476A CN114760476A (zh) | 2022-07-15 |
CN114760476B true CN114760476B (zh) | 2023-07-21 |
Family
ID=82325350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210020200.8A Active CN114760476B (zh) | 2021-01-08 | 2022-01-10 | 视频解码器初始化信息信令 |
Country Status (2)
Country | Link |
---|---|
US (1) | US12003777B2 (zh) |
CN (1) | CN114760476B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7439249B2 (ja) | 2019-10-07 | 2024-02-27 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | サブビットストリーム抽出におけるエラー回避 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105122815A (zh) * | 2013-04-07 | 2015-12-02 | 夏普株式会社 | 在vps扩展中用信号通知dpb参数以及dpb操作 |
CN105556975A (zh) * | 2013-10-11 | 2016-05-04 | 夏普株式会社 | 信令告知用于编码的信息 |
JP2016158282A (ja) * | 2016-04-12 | 2016-09-01 | 株式会社Nttドコモ | 動画像予測復号方法及び動画像予測復号装置 |
JP2020058075A (ja) * | 2020-01-09 | 2020-04-09 | 株式会社Nttドコモ | 動画像予測符号化装置、動画像予測復号装置、動画像予測符号化方法、動画像予測復号方法及び記録媒体 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10003817B2 (en) | 2011-11-07 | 2018-06-19 | Microsoft Technology Licensing, Llc | Signaling of state information for a decoded picture buffer and reference picture lists |
US20140092961A1 (en) | 2012-09-28 | 2014-04-03 | Sharp Laboratories Of America, Inc. | Signaling decoder picture buffer information |
WO2015052943A1 (en) | 2013-10-13 | 2015-04-16 | Sharp Kabushiki Kaisha | Signaling parameters in vps extension and dpb operation |
CN116803084A (zh) * | 2020-12-21 | 2023-09-22 | 弗劳恩霍夫应用研究促进协会 | 使用用于编码视频序列的参数集的文件解析器、文件生成器、编码器、解码器、客户端、服务器及方法 |
-
2021
- 2021-12-30 US US17/566,220 patent/US12003777B2/en active Active
-
2022
- 2022-01-10 CN CN202210020200.8A patent/CN114760476B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105122815A (zh) * | 2013-04-07 | 2015-12-02 | 夏普株式会社 | 在vps扩展中用信号通知dpb参数以及dpb操作 |
CN105556975A (zh) * | 2013-10-11 | 2016-05-04 | 夏普株式会社 | 信令告知用于编码的信息 |
JP2016158282A (ja) * | 2016-04-12 | 2016-09-01 | 株式会社Nttドコモ | 動画像予測復号方法及び動画像予測復号装置 |
JP2020058075A (ja) * | 2020-01-09 | 2020-04-09 | 株式会社Nttドコモ | 動画像予測符号化装置、動画像予測復号装置、動画像予測符号化方法、動画像予測復号方法及び記録媒体 |
Non-Patent Citations (2)
Title |
---|
AHG9:Modification on VPS OLS DPB related parameters;Ruoyang Yu;《JEVT》;全文 * |
可伸缩高性能视频编码的扩展技术研究;严烨;《信号与信息处理》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US12003777B2 (en) | 2024-06-04 |
US20220232256A1 (en) | 2022-07-21 |
CN114760476A (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7222043B2 (ja) | ビデオコーディングにおけるデコード機能情報のストレージ | |
US20230345025A1 (en) | Video Decoder Initialization Information Constraints | |
WO2022148269A1 (en) | Cross random access point signaling enhancements | |
JP7414882B2 (ja) | 共通メディアアプリケーションフォーマットでの復号化能力情報 | |
US20230345007A1 (en) | Cross random access point sample group | |
CN114760476B (zh) | 视频解码器初始化信息信令 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |