CN112189343B - 用于增强并行编码能力的构思 - Google Patents

用于增强并行编码能力的构思 Download PDF

Info

Publication number
CN112189343B
CN112189343B CN201980034651.3A CN201980034651A CN112189343B CN 112189343 B CN112189343 B CN 112189343B CN 201980034651 A CN201980034651 A CN 201980034651A CN 112189343 B CN112189343 B CN 112189343B
Authority
CN
China
Prior art keywords
slice
picture
slices
context
entropy
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
Application number
CN201980034651.3A
Other languages
English (en)
Other versions
CN112189343A (zh
Inventor
瓦勒日·乔治
托比亚斯·欣茨
杰基·马
延斯·勃兰登堡
克里斯蒂安·莱曼
亚当·维科夫斯基
海科·施瓦茨
德特勒夫·马尔佩
托马斯·威甘德
托马斯·斯切尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to CN202311291850.7A priority Critical patent/CN117294838A/zh
Publication of CN112189343A publication Critical patent/CN112189343A/zh
Application granted granted Critical
Publication of CN112189343B publication Critical patent/CN112189343B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/42Methods 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/436Methods 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 using parallelised computational arrangements
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Abstract

描述了使相应编解码器针对编码器和/或解码器处的并行处理的适应性得到改善的构思。

Description

用于增强并行编码能力的构思
技术领域
本申请涉及使相应编解码器针对编码器和/或解码器处的并行处理的适应性得到改善的视频编码构思。
背景技术
H.265/HEVC是已经提供了用于提升或者甚至实现编码器和/或解码器处的并行处理的工具的视频编解码器。例如,HEVC支持将图片细分为彼此独立进行编码的拼块(tile)阵列。HEVC支持的另一构思与WPP有关,根据WPP,可以从左向右并行地(即,以条带)处理图片的CTU行或CTU线,前提是在连续CTU线的处理中要遵守某一最小的CTU偏移量。然而,有利的是具有如下这样一个视频编解码器,它更高效地支持视频编码器和/或视频解码器的并行处理能力。
发明内容
因此,本发明的目的是提供一种视频编解码器,该视频编解码器能够在编码器和/或解码器处在并行度方面进行更有效的处理。
该目的是由本申请的独立权利要求的主题来实现的。
根据本申请的第一方面,就支持并行编码/解码能力而言,通过以图片条带认知(aware)方式执行上下文熵概率管理使视频编解码器更加有效。即,第一方面的起点是视频编解码器,其中,使用基于块的编码将图片编码为编码数据,并且其中,使用上下文自适应熵编码沿着条带将编码数据熵编码到数据流中,条带以相互平行的方式对图片进行划分并且横跨所述图片,例如,CTU线,其中在条带的起点处(例如,在图片的左侧边界处)初始化上下文熵概率,并且沿着条带适配上下文熵概率。可以以使得允许在编码器和解码器侧进行WPP处理(即,用于编码和解码)的方式设计将视频的图片编码为编码数据以及将编码数据熵编码到数据流中,也就是说,空间图片内编码依赖性定义围绕某个图片的条带的当前处理部分的范围,使得针对任何条带,相应条带的当前处理部分的空间图片内编码依赖性范围仅覆盖相应图片的其他条带的当前处理部分的波前之后的已处理部分。根据第一方面,通过针对每个条带缓冲由对在起点处初始化的上下文熵概率进行适配直至相应条带的缓冲点处而产生的上下文熵概率,并且在初始化上下文熵概率时,针对当前图片的每个条带,查找针对与相应条带并置的先前图片的条带而缓冲的状态,使得并行度更高效。使用与相应条带在当前图片内的位置有关的信息来完成查找,例如通过使用该信息作为查找的索引或索引的一部分。也就是说,以条带认知的方式完成用于初始化条带的上下文熵概率的缓冲和查找,或者换句话说,针对视频的图片内的每个条带位置单独地完成用于初始化条带的上下文熵概率的缓冲和查找。通过这种措施,已经基于被适配为继承的概率的接收方(即,当前图片中的并置的条带)的图片内容适配了上下文熵概率,上下文熵概率是从一个图片继承到另一个图片的,用于初始化该另一个图片的各个条带的另一个图片的上下文熵概率。由于已经基于并置的图片内容进行了适配,因此这些概率应该紧密适配于相应条带处的当前图片的实际熵概率。因此,根据本申请的第一方面,可以通过以条带认知方式,或者换句话说,以针对并置的条带单独地执行继承使得由于所继承的上下文熵概率的更紧密适配而提高了编码效率的方式,将上下文熵概率从一个图片的条带继承到另一图片的并置的条带,使并行处理更高效。相应地,这种编码效率的提高带来了与条带分离缓冲相关联的相对较低的处理开销增加,即以FIFO方式替代源自并置的条带的较早的概率,以及上下文熵概率的初始化,即应用先前图片的并置的条带的概率。具体地,需要用于缓冲上下文熵概率的增加的缓冲量,并且在缓冲和/或查找中考虑条带位置的信息(例如,条带索引的形式),例如,以使用该信息作为索引的条目仅用于查找针对当前图片的当前条带的上下文熵概率的形式。
本申请的第二方面还涉及上下文熵概率初始化。然而,第二方面考虑时间相互依赖性(interdependency)。根据第二方面,以定义图片之间的分层时间编码相互依赖性的方式将视频的图片编码为编码数据,根据分层时间编码相互依赖性,图片被分类为不同的时间层级。针对每个时间层级,独立于比相应时间层级高的时间层级的图片对相应时间层级的图片进行编码,并且针对每个非零时间层级,相互独立地对相应非零时间层级的图片进行编码。例如,可以使用封闭或开放的GOP结构。为了避免针对每个图片重新初始化上下文熵概率,以使得针对每个图片在相应图片内的至少一个起点处初始化上下文熵概率的方式,将编码数据编码到数据流中。沿着从至少一个起点开始向前遍历相应图片的编码路径对上下文熵概率进行适配。根据本申请的第二方面,用于从一个图片到另一个图片继承上下文熵概率的上下文熵概率管理是以知道某些时间层级的成员(membership)的方式完成的。例如,针对图片的至少一个子集中的每一个图片,对上下文熵概率的状态进行缓冲,上下文熵概率的状态是由于沿着编码路径对上下文熵概率进行适配直至相应图片的至少一个缓冲点而产生的,然后在初始化上下文熵概率时,针对当前图片内的至少一个起点中的每一个起点,使用与当前图片的时间层级有关的信息确定索引,并且然后使用该索引查找针对比当前图片的时间层级低的时间层级的先前编码/解码的图片而缓冲的状态。即,以使得遵守时间层级排序并且不引入相同时间层级的图片之间的时间相互依赖性的方式完成针对特定图片的缓冲的上下文熵概率的查找。通过这种措施,可以以使得并行处理具有某个时间层级(例如,最高时间层级)的图片、但利用先前缓冲的学习/适配的上下文熵概率的方式来调度该图片的编码/解码,从而提高了编码效率,并且同时提高了关于并行处理能力的适用性。
本申请的另一方面涉及滤波器参数化。特别地,本申请的第三方面涉及一种视频编解码器,其中在处理(即,编码和解码)期间缓冲针对环路滤波器或后置滤波器(例如,自适应环路滤波器)的滤波器参数化设置,以形成最近应用的滤波器参数化设置的一种池或储藏库,可以针对某一当前图片在数据流中发信号通知对滤波器参数化设置的索引,以便导出针对该当前图片的环路滤波器或后置滤波器的滤波器参数化设置,而不必重新发送设置或完全重新设置。像在第二方面中一样,假设以定义视频的图片之间的分层时间编码相互依赖性的方式将图片编码在数据流中,所述图片根据所述分层时间编码相互依赖性被分类成不同的时间层级,其中针对每个时间层级,独立于比相应时间层级高的时间层级的图片对所述相应时间层级的图片进行编码,并且针对每个非零时间层级,相互独立地对相应非零时间层级的图片进行编码。使用前述的环路滤波器或后置滤波器进行编码。针对图片的至少一个子集中的每一个图片,针对相应图片应用的环路滤波器或后置滤波器的滤波器参数化设置被缓冲。例如,针对在数据流中显式地发信号通知(即,例如没有进行索引)滤波器参数化设置的那些图片,进行缓冲。然而,针对例如未在数据流中显式地发信号通知滤波器参数化设置的当前图片,环路滤波器或后置滤波器的滤波器参数化设置涉及数据流中的对索引的信令,并且根据本申请的第三方面,该索引对所缓冲的状态的子集中的一个状态进行索引,其中该子集不包括针对比当前图片的时间层级高或等于当前图片的时间层级的时间层级的图片而缓冲的状态。即,用于降低与滤波器参数化设置相关联的辅助信息开销的对滤波器参数化设置进行的索引以使得关于滤波器参数化设置的信令也遵守图片之间的分层时间编码相互依赖性的方式完成。滤波器参数化设置的缓冲以知道要被缓冲的滤波器参数化设置所源自的图片的相应时间层级以及要确定滤波器参数化设置的当前图片的时间层级的方式完成,并且编码器遵守索引的限制,以便仅对针对当前图片的缓冲的滤波器参数化设置进行索引,缓冲的滤波器参数化设置源自较低时间层级的先前处理的图片。通过这种措施,关于将缓冲的滤波器参数化设置用作用于使滤波器参数化设置辅助信息的开销较低的储藏库而言,在使用缓冲的滤波器参数化设置时,在相对较小的限制下,能够对某个非零时间层级的图片(例如,最高时间层级的图片)进行并行处理。在缓冲先前图片的状态时,编码器和解码器可以考虑各种时间层级的成员(membership),例如以便以FIFO方式缓冲与各种时间层级有关的一个或多个最新设置。
本申请的另一方面涉及视频编解码器,其使用与相应图片的块相关联的逐块变化的量化参数。编码中可能涉及环路滤波器或后置滤波器,例如参数化的解块滤波器,其根据量化参数进行设置。然而,以如下方式将编码数据编码到数据流中:使得针对当前图片的预定块,使用空间预测并且以独立于空间邻域外部的块的量化参数的方式将与预定块相关联的量化参数编码到数据流中,空间邻域覆盖图片的与预定块直接相邻的相邻块。即,根据本申请的第四方面,避免了与预定块相关联的量化参数依赖于距离预定块较远的块的量化参数,例如,在当前图片的先前条带中的量化参数。通过遵守在条带编码顺序上的连续条带之间的某些编码偏移量,编码器因此能够并行执行对这些条带的编码:编码器根据某些技术(例如,使用某种速率控制和/或根据某种速率/失真优化)设置量化参数,并且能够将如此设置的量化参数立即用于任务,例如量化预测残差,但也可以用于其他任务,例如使用量化参数为环路滤波器或后置滤波器设置依赖于该量化参数的滤波器参数化设置。不需要等待先前条带的处理的完成。因此,减少了总的编码延时。针对当前图片的预定块的量化参数的空间预测所依赖的任何块应该不可用,例如由于该块位于该预定块所属的当前切片之外,或者甚至位于图片之外,作为替代,可以使用切片量化参数,即针对当前切片发送的量化参数。
本申请的第五方面涉及一种视频编解码器,该编解码器关于其空间编码依赖性范围是可适配的。即,视频编解码器在将视频的图片编码到数据流中时使用空间图片内编码依赖性,但是编解码器允许在数据流中发信号通知多个编码依赖性范围设置中的所选择的空间编码依赖性范围。根据所选择的空间编码依赖性范围设定,来设置关于视频的当前图片的当前块的空间图片内编码依赖性的空间范围。例如,这适用于针对当前块预测其图片内容,例如针对任何帧内预测的块,或者适用于预测当前块的任何编码参数,或者适用于导出用于对与当前块相关的任何编码参数进行编码的任何上下文熵概率或所有这些概率。使视频编解码器关于空间编码依赖性范围可适配使得视频编码解码器关于在对视频的图片进行编码/解码时的并行度可适配,例如一方面关于切片间编码偏移量或编码波前倾斜,另一方面鉴于较大或较小的空间编码依赖性范围在压缩效率方面的编码效率。即,本申请的第五方面由于减小了空间编码依赖性范围而以稍微降低编码压缩效率为代价使得能够在较高的并行度之间进行权衡。根据实施例,使用空间最小条带间解码偏移量来进行信号通知。
本申请的第六方面涉及一种视频编解码器,该视频编解码器使用与视频的帧间预测部分相比针对视频的纯帧内预测部分不同地设置的空间编码依赖性范围。使视频编解码器关于空间编码依赖性范围对可用编码模式敏感使得视频编码解码器关于在对视频的图片进行编码/解码时的并行度可适配,例如一方面关于切片间编码偏移量或编码波前倾斜,另一方面鉴于较大或较小的空间编码依赖性范围在压缩效率方面的编码效率。在此,与第五方面相比,考虑到与帧间预测编码部分相比,针对视频的纯帧内编码部分提高了提高编码效率以支持并行度的价值,因为就用于编码相互依赖性而言,帧间预测编码部分在源方面的限制较少。
关于本申请的前述方面,要注意的是,可以将它们组合,从而在视频编解码器中同时实现诸如所有方面之类的前述方面中的一个以上的方面。
附图说明
此外,本申请的有利方面是从属权利要求的主题,并且以下关于附图描述了本申请的优选实施例,在附图中:
图1示出了图示两个图片组(GOP)中的图片的示意图,该图通过使用箭头示出了时间信号预测流,其中,图片按照图片顺序计数沿着时间呈现顺序从左向右水平地布置,并且在与分层时间层级相对应的四个层级之一中垂直地散布;
图2示出了图示以图1所示的方式编码的两个GOP中的图片的示意图,其中图2还示出了上下文的CABAC时间传播,其破坏对相同时间层级(例如,最高时间层级)的图片进行并行编码/解码的能力;
图3示出了图示视频编码器的内部实现的示意图,该视频编码器可以作为关于图6至图16描述的任何实施例的基础;
图4示出了解码器的框图,该解码器适合于图3的编码器,并形成根据以下关于图6至图16进一步描述的实施例的视频解码器的实现的示例;
图5示出了图示出于预测和残差编码的目的将图片划分为块的示意图作为示例;
图6示出了图示视频编码器和视频解码器的功能的示意图,该视频编码器和视频解码器以WPP方式提供对视频的编码和解码,其中图6所示的基本功能可以作为关于图7至图16描述的视频编码器和视频解码器的实施例的基础;
图7示出了图示根据实施例的使用从一个图片到另一图片的条带位置认知上下文熵概率继承(entropy probability inheritance)的视频编码器和视频解码器的功能的示意图;
图8示出了图示根据实施例的使用从一个图片到另一图片的时间层级认知上下文熵概率继承的视频编码器和视频解码器的功能的示意图;
图9示出了参数集的一部分的示例,参数集在此示例性地为SPS,其使得能够在时间维度上改变上下文熵概率继承的模式;
图10示出了图示就时间预测依赖性而言以关于图1描绘的方式编码的两个GOP中的图片的示意图,其中图10通过使用箭头示出了根据与图8中所示的构思相对应的构思的图片之间的时间上下文熵概率继承;
图11示出了参数集的语法的示例,参数集在此示例性地为SPS,其向解码器发信号通知与关于图12讨论的时间层级认知相关联的限制;
图12示出了图示根据实施例的视频编码器和视频解码器的功能的示意图,该视频编码器和视频解码器使用缓冲方案以时间层级认知方式来发信号通知图片的滤波器参数化设置;
图13示出了图示根据实施例的视频编码器和视频解码器的功能的示意图,该视频编码器和视频解码器使用空间预测以避免对与任何当前块的直接邻域相比更远离当前块的块的QP的任何依赖的方式以块为单位发信号通知在整个图片上的QP变化;作为不可用的相邻块的QP的回退预测子,可以使用切片QP;尽管未示出,但是可能是左上相邻邻域的第三空间预测子可以被进一步包括在空间邻域中;
图14示出了在由于不同大小的空间图片内编码依赖范围而相对于彼此以不同的条带间偏移量偏移的当前处理的部分,以便说明范围设置对并行能力的影响;
图15示出了参数集的语法部分的示例,参数集在此示例性地为SPS,示出了与也提供帧间预测模式的其他切片相比,单独发信号通知I切片的范围设置;以及
图16示出了图示视频编码器和视频解码器的功能的示意图,该视频编码器和视频解码器在数据流中提供范围设置的信号。
具体实施方式
对于以上简要讨论的各个方面的本申请的实施例的以下描述,这些实施例可以形成遵循最新的视频编码标准ITU T H.265|MPEG H HEVC[1]的用于下一代视频编码系统或内置于其中的新颖技术,下面的描述首先简要介绍了最新的视频编码标准ITU T H.265|ITU-T H.265|MPEG H HEVC[1]或在JEM软件[3]中可用的一些相关编码工具。
考虑到时间依赖性,视频编码中常用的配置之一是“随机接入”编码模式,其中将分层图片信息形成打包到一个图片组(GOP)中,图1示出了示例。由图片10之间的某些依赖性引起的结构延迟允许GOP 12a、12b内部以及GOP 12a、12b之间的图片并行处理。
如在图1中可以看到的,图片10不是放置在一行中,而是分布在多行中。选择该呈现方式以突出显示图片10及其与时间层级(TIds)的关联之间的结构分层时间依赖性。关于分层,除了时间层级0(TId0)的图片之外,诸如12a、12b之类的GOP内的相同时间层的图片10彼此不依赖。更准确地说,表示为经由相应箭头连接的图片不一定彼此依赖。但是,这不是禁止的。它们可以如此。此外,尽管图片通常可以以解码顺序依赖于当前图片之前的相同时间层级的图片,但是关于图1描述的依赖顺序的种类是下文描述的并行化方法的要求或前提。因此,根据时间层级,可以并行处理某些图片。例如,可以并行处理GOP 0内部的具有POC1、3、5、7的图片10。然而,某些编码工具仍可能在图片之间引入依赖性。这阻碍了用于并行处理的干净的技术解决方案。随后提出的实施例提出了用于克服这些问题的特殊机制。
考虑到预测和切片,当前视频编码标准中的压缩增益的很大一部分是从复杂的预测中获得的。这包括使用时间和空间滤波根据重构信号进行的预测、以及符号预测,以最小化在比特流中传输的信令开销。使用当前CTU左侧和上方的两个相邻CTU执行符号预测。
当传输属于一张图片的符号时,可以使用不同的框架(framing)。每个都有优点和缺点。具有最小开销和最佳局部预测能力的最有效方法是每个图片仅发送一个切片。针对错误鲁棒性而设计的另一变型是将图片划分成多个切片。默认情况下,切片既不将切片间预测用于符号编码也不将其用于空间预测,因此可以按任意顺序独立地解析和重构每个切片。这种经过适配的预测方案防止错误传播,并且允许在错误鲁棒性和R-D性能之间进行灵活权衡。传输图片的符号的另一变型被称为相关切片。这种方法侧重于单个CTU线的并行处理、波前并行处理(WPP),而不是错误鲁棒性。由于保证了预测数据的可用性的限制,与每个图片单个切片相比,相关切片具有类似的R-D性能,但是具有对单个CTU线应用并行执行的自由度。额外的要求定义了连续CTU线之间的最小CTU偏移量,该偏移量不得违反。此偏移量保证了:对于给定的CTU,预测所需的左侧、左上方、上方和右上方的参考CTU已被重构并且可用。
CABAC上下文变量(CCV)是表示概率的自适应模型。CCV与算术熵编码结合使用,以对特定符号或符号集的熵进行建模。术语“自适应”指示朝着当前编码状态对模型进行永久更新,以适应模型的局部统计信息。更新步骤通常嵌入在算术编码操作中。首先,CCV的当前状态用于参数化算术编码过程,当导出解码符号时,将其用于朝着当前解码概率以给定步长更新CCV。
由于符号值的统计信息是变化的,因此使用一组CCV对切片数据进行算术编码。然而,在将CCV用于编码或解码之前,必须将其初始化为预定义状态。当新切片的解码/编码过程开始时,将执行默认的CCV初始化。
最新的CABAC上下文初始化是通过以下方式完成的。默认上下文初始化是通过对CCV应用初始化功能来完成的。该功能确定初始CCVCMM状态,该状态是根据CCVCMM特定常数值计算得出的,该CCVCMM特定常数值是经由通过切片级QP更改的索引参数选择的。
尽管模型初始化参数是从为了实现表示广泛视频材料的初始状态而用大量测试材料进行的详尽测试中收集的经验数据导出的,但所计算的CCV的初始状态通常与将为实际内容提供最佳设置的状态有很大不同。
利用已经提到的WPP方法,由于CCV需要针对每个CTU线重置,因此初始化性能差距将成为一个更严重的问题。为了克服此性能差距,引入了一种特殊的初始化机制。
到目前为止,ITU T H.265|MPEG H HEVC中还使用了某一局部CCV导出技术,其支持并行处理。利用波前并行处理,CTU线可以由单独的线程独立地处理。为了解耦CTU线的解析过程,有必要重置CABAC引擎并在每个CTU线的开始处初始化所有CCV。由于默认的CCV初始化过程不一定以最佳方式对依赖于内容的CCV状态进行建模,因此,结合相关切片提出了一种新的初始化方法。
为了增强CCV设置,仅使用默认CCV初始化来初始化图片中的第一线。在处理了上一线中的第二CTU之后,图片中的所有后续线都继承了上一CTU线中的CCV状态。因为这种初始化的构思仅可用于相关切片,所以它可以利用所需的最小CTU偏移量。
尽管与逐线默认初始化相比,此初始化方法提供了改进,但是由于可以对继承的CCV的更新过程做贡献的CTU很少,因此可以实现的增益受到限制。
在JEM软件[2]中提出并实现了某种时间CCV推导。基本思想是利用时间类比。因此,建立了缓冲器,其可以存储CCV集的状态的快照。当处理了图片的中心处的CTU时,对CCV集的状态进行存储。在实现的变体中,使用当前的切片层级QP作为索引将CCV状态存储到缓冲器中。
当后续图片的新解码过程开始时,将检查CCV缓冲器中是否有针对当前切片级QP存储的有效CCV集。例如,参考图2,其通过箭头示出了由箭头指向的图片对CCV状态的重用,其中CCV状态已经被缓冲并从形成箭头的起源的图片中获取。如果有可用的集,则CCV状态将从缓冲器复制到用于解析/编码的当前CCV中。否则,如果没有有效的CMM集,则使用默认的初始化功能来设置当前的CCV集。
在描述了从HEVC或JEM已知的某些编码工具及其限制或缺点之后,下面的描述进行了对视频编码器和视频解码器的示例的描述,视频编码器和视频解码器可以以结合一个或多个随后说明的实施例的方式来实现。特别地,针对视频编码器和视频解码器的该示例的呈现可以使得对随后说明的实施例的理解更容易,但是应当注意,本申请的随后说明的实施例不限于形成HEVC或JEM的实现变型,也不限于现在参考图3至图5描述的视频编码器和视频解码器的实现变型。
图3示出了用于将由一系列图片12组成的视频11预测编码到数据流14中的装置。为此,使用逐块预测编码。此外,示例性地使用基于变换的残差编码。该装置(或编码器)使用附图标记10来指示。图4示出了对应的解码器20,即被配置为对由来自数据流14的图片块中的图片12′组成的视频11′进行预测解码(这里也示例性地使用基于变换的残差解码)的装置20,其中撇号用于指示分别由解码器20重构的图片12’和视频11’在通过预测残差信号的量化引入的编码损失方面偏离了由装置10最初编码的图片12。图3和图4示例性地使用基于变换的预测残差编码,尽管本申请的实施例不限于这种预测残差编码。对于关于图3和图2描述的其他细节也是如此,如将在下文中概述的。
编码器10被配置为对预测残差信号进行空间到频谱变换,并将由此获得的预测残差信号编码到数据流14中。同样,解码器20被配置为从数据流14中解码出预测残差信号,并对由此获得的预测残差信号进行频谱到空间变换。
在内部,编码器10可以包括预测残差信号形成器22,该预测残差信号形成器22生成预测残差24,以便测量预测信号26与原始信号(即,视频11或当前图片12)的偏差。预测残差信号形成器22可以例如是减法器,其从原始信号(即,当前图片12)中减去预测信号。然后,编码器10还包括变换器28,其对预测残差信号24进行空间到频谱变换以获得频谱域预测残差信号24’,然后由量化器32(也包括在编码器10内)对频谱域预测残差信号24’进行量化。这样量化后的预测残差信号24”被编码到比特流14中。为此,编码器10可以可选地包括熵编码器34,熵编码器34将经过变换和量化后的预测残差信号熵编码到数据流14中。预测残差26由编码器10的预测阶段36基于被编码到数据流14中并可从数据流14中解码出的预测残差信号24”生成。为此,如图3所示,预测阶段36可以内部地包括去量化器38,去量化器38对预测残差信号24”进行去量化,从而获得频谱域预测残差信号24”’,频谱域预测残差信号24”’与信号24’相对应(量化损失除外),去量化器38之后是逆变换器40,逆变换器40对后面的预测残差信号24”’进行逆变换(即,频谱到空间转换)以获得预测残差信号24””,预测残差信号24””与原始预测残差信号24相对应(量化损失除外)。然后,预测阶段36的组合器42例如通过相加来重新组合预测信号26和预测残差信号24””,以获得重构信号46,即原始信号12的重构。重构信号46可以对应于信号12′。然后,预测阶段36的预测模块44通过使用例如空间预测(即,帧内预测)和/或时间预测(即,帧间预测)基于信号46来生成预测信号26。熵编码器34不仅将预测残差24”熵编码到数据流中,而且还将描述图片的其他编码数据(例如,除了残差数据之外,还包括预测模式、预测参数、量化参数和/或滤波器参数)熵编码到数据流中。编码数据表示图片。它可以呈现编码到数据流中的语法元素。熵编码器34以无损方式将该编码数据编码到数据流12中。熵编码可以是上下文自适应的。即,基于时间上和/或空间上相邻的先前编码的编码数据,为当前要被熵编码的一部分编码数据选择上下文,每个上下文与对应的上下文熵概率(即,符号概率的估计)相关联。所选择的上下文的概率用于当前的熵编码数据实体,并基于该实体进行更新。在开始时,例如当开始对与一个图片相关的编码数据进行熵编码时,上下文的概率被初始化。根据一些实施例,这方面的细节在下面阐述,但是关于其他实施例来说这些细节是可选的。
同样,解码器20可以内部地由与预测阶段36相对应并以与预测阶段36相对应的方式互连的组件组成。特别地,解码器20的熵解码器50可以从数据流熵解码出量化后的频谱域预测残差信号24”。可以以与编码器同步的方式完成上下文导出。所得到的结果是编码数据,包括例如预测残差数据。因此,以以上关于预测阶段36的模块描述的方式相连和协作的去量化器52、逆变换器54、组合器56和预测模块58基于预测残差信号24”恢复重构信号,从而如图4所示,组合器56的输出产生重构信号,即视频11’或其当前图片12’。
尽管上面没有具体描述,但是很容易明白,编码器10可以根据某种优化方案(例如,以优化某种速率和失真相关标准(即,编码成本)的方式和/或使用某种速率控制)来设置一些编码参数,包括例如预测模式、运动参数等。如下面更详细描述的,编码器10和解码器20以及对应的模块44、58分别支持不同的预测模式,例如帧内编码模式和帧间编码模式。编码器和解码器在这些预测模式之间切换的粒度可以对应于分别将图片12和12′细分为的块。注意,这些块中的一些块可以是仅被帧内编码的块,并且一些块可以是仅被帧间编码的块,并且可选地,甚至另外的块可以是使用帧内编码和帧间编码两者获得的块。根据帧内编码模式,基于相应块的空间的已经编码/解码的邻域来获得块的预测信号。可以存在若干种帧内编码子模式,在其中的选择近似地表示一种帧内预测参数。可以存在方向或角度帧内编码子模式,根据该方向或角度帧内编码子模式,通过沿特定于相应方向帧内编码子模式的特定方向将邻域的采样值外插到相应块,可以填充相应块的预测信号。帧内编码子模式还可以例如包括一个或多个其他子模式(例如,DC编码模式)和/或平面帧内编码模式,根据DC编码模式,针对相应块的预测信号将DC值指派给相应块内的所有采样,根据平面帧内编码模式,相应块的预测信号被近似为或被确定为在相应块的样本位置上由二维线性函数描述的样本值的空间分布,其中基于相邻样本导出由二维线性函数定义的平面的倾斜和偏移量。备选地或附加地,帧内预测模式可以使用帧内模式搜索(使用与预测子相同的方法在当前图片的已处理部分中定位补丁(patch))(其中使用补丁的显式或隐含指示)、直接在变换域中(例如,通过使用神经网络)提供预测子的帧内预测、和/或直接在变换域中来自相邻残差块的预测变换系数。与此相比,根据帧间预测模式,例如,可以通过在时间上预测块内部来获得块的预测信号。对于帧间预测模式的参数化,可以在数据流发信号通知运动矢量,该运动矢量指示视频11的先前编码的图片的一部分的空间位移,以此对先前编码/解码的图片进行采样,以获得针对相应块的预测信号。这意味着,除了数据流14所包括的残差信号编码(例如,表示量化后的频谱域预测残差信号24″的熵编码的变换系数层级)之外,数据流14中可以编码有用于向块指派预测模式的预测相关参数、针对指派的预测模式的预测参数(例如,针对帧间预测模式的运动参数)、以及可选的使用指派的预测模式和预测参数控制块的最终预测信号的组成的另外的参数。附加地,数据流可以包括分别控制和发信号通知将图片12和12’细分成块的参数。解码器20使用这些参数以与编码器相同的方式对图片进行细分,向块指派相同的预测模式和参数,并执行相同的预测以产生相同的预测信号。
图5示出了一方面的重构信号(即,重构图片12′)以及另一方面的在数据流中发信号通知的预测残差信号24””与预测信号26的组合之间的关系。如上所述,该组合可以是加法。预测信号26在图5中被示出为将图片区域细分成不同大小的块80,尽管这仅是示例。该细分可以是任何细分,例如将图片区域规则地细分成块的行和列,或者将图片12多树细分成不同大小的叶块,例如四叉树细分等,其中其混合在图5中示出,其中首先将图片区域细分为树根块的行和列,然后根据递归多树细分进一步对树根块的行和列进行细分以得到块80。
图5中的预测残差信号24””也被示出为将图片区域细分为块84。这些块可以被称为变换块,以便将其与编码块80区分开。实际上,图5示出了编码器10和解码器20可以使用两种不同的细分以分别将图片12和图片12’细分成块,即,一个细分成编码块80,而另一个细分成块84。两个细分可以是相同的,即每个块80可以同时形成转换块84,并且反之亦然,但是图5所示的情况是:例如,到变换块84的细分形成到块80的细分的扩展,以便两个块80之间的任何边界都覆盖两个块84之间的边界,或者备选地讲,每个块80或者与变换块84之一重合,或者与变换块84的集群重合。然而,也可以彼此独立地确定或选择细分,以便变换块84可以备选地跨块80之间的块边界。就细分为变换块84而言,因此,类似的陈述与关于细分为块80所提出的陈述一样是正确的,即,块84可以是将图片区域规则地细分成以行和列布置的块的结果、图片区域的递归多树细分结果、或其组合或任何其他种类的分割。顺便说一句,应当注意,块80和84不限于二次的、矩形的或任何其他形状。此外,将当前图片12细分成以其形成预测信号的块80、以及将当前图片12细分成以其对预测残差进行编码的块84可能不是用于编码/解码的唯一细分。这些细分形成用于执行预测信号确定和残差编码的粒度,但是在这些细分之外的其他粒度下,编码器和解码器可以设置某些编码参数,该某些编码参数可以包括诸如预测参数之类的一些上述参数。
图5示出了预测信号26和预测残差信号24””的组合直接产生重构信号12’。然而,应注意,根据备选实施例,可以将多于一个的预测信号26与预测残差信号24″′’进行组合以产生图片12′,例如,从其他视图或从其他编码层获得的预测信号,例如这些预测信号在具有单独DPB的单独预测循环中被编码/解码。
在图5中,变换块84应具有以下含义。变换器28和逆变换器54以这些变换块84为单位执行它们的变换。例如,许多编解码器对所有变换块84使用某种DST或DCT。一些编解码器允许跳过变换,从而对于某些变换块84,直接在空间域中对预测残差信号进行编码。然而,根据以下描述的实施例,编码器10和解码器20以它们支持若干种变换的方式配置。例如,编码器10和解码器20支持的变换可以包括:
οDCT-II(或DCT-III),其中DCT代表离散余弦变换
οDST-IV,其中DST代表离散正弦变换
οDCT-IV
οDST-VII
ο恒等转换(IT)
自然地,虽然变换器28将支持这些变换中的所有正向变换版本,但解码器20或逆变换器54将支持其对应的向后或逆版本:
ο逆DCT-II(或逆DCT-III)
ο逆DST-IV
ο逆DCT-IV
ο逆DST-VII
ο恒等转换(IT)
无论如何,应该注意的是,一组支持的变换可以仅包括一个变换,例如一个频谱到空间或空间到频谱变换。
如上面已经概述的,图3至图5已经作为示例被呈现,其中可以实施下面进一步描述的实施例以便形成根据本申请的视频编码器和解码器的特定示例。就此而言,图3和图4的视频编码器和解码器分别表示下文描述的视频编码器和解码器的可能实现。然而,它们仅是代表性示例。关于将块细分为块80,应当注意,可以以关于图5概述的方式或以不同的方式来进行相同的操作。如果存在,则细分为变换块也可以如关于图5所描述的那样或以不同的方式来完成。特别地,可以通过分别单独地或以依赖方式将图片12细分成块,彼此独立地完全细分成块(一方面)以及细分成其他块(另一方面,例如变换块)。例如,一个细分(例如,细分为变换块)可以形成如上所述的另一细分的扩展,或者两个细分都可以形成共同的主要细分的单独扩展,例如,如关于图5所描述的将图片细分为树根块86的阵列。并且,这种可能性也适用于下面例如关于某些预测参数、预测模式等的定义将提及的其他子图片粒度。可以将不同的细分用于这些实体中的不同实体,并且可以彼此独立地、部分独立地对它们进行定义,或者将它们定义为彼此的扩展。
话虽如此,下面的描述集中于到目前为止还没有关于图3至图5描述的内容,即在根据以下描述的各种实施例的视频编码器和视频解码器中实现的能力和编码工具。下面关于特定实施例描述了这些编码工具和细节,因为相对于这些实施例中的每一个实施例,不必在根据各个方面的视频编码器和视频解码器中同时实现这些编码工具。
现在首先描述的实施例涉及本申请的第一方面,并且涉及视频编解码器,其中视频编码器和视频解码器使用将描述某一图片的编码数据逐条带熵编码到数据流14中。为了描述根据涉及以下描述的第一方面的本申请的实施例的视频编码器和视频解码器所使用的该帧工作或构思,参考图6。图6示出了将被编码的视频11的图片12,并且如图6所示,图片12被划分为条带90a、90b和90c。条带的数量并不重要。条带90a至90c可以由如图5中引入的成排的树根块形成。即,条带90a至90c以相互平行的方式划分图片12并横跨图片12。条带90a至90c的重要性如下。通过使用基于块的编码,将图片12编码为编码数据。图6中使用箭头92示出了编码过程。图6中使用附图标记94示出了编码数据,并且编码数据被示出为以与图片12的图片区域相对应的方式布置。由于编码92是基于块的,因此编码数据94以块96为单位描述图片12,块96例如是编码块80和/或变换块84。编码数据94因此具有与图片12的某种空间关联。编码数据94例如可以是描述图片12的语法元素的集合,每个语法元素与某个块或部分相关。如上所述,编码数据94可以包括残差样本值,例如变换系数、预测参数和预测模式。
使用熵编码98将编码数据94熵编码到数据流14中。然而,这种熵编码不是一口气完成的。即,通过视频编码器使用上下文自适应熵编码沿着条带90a至90c将编码数据98编码到数据流14中。即,与特定条带相关的编码数据94被单独地编码到数据流中,从而形成每个条带90a至90c的子流,其可以被称为WPP子流。为此,对于每个条带90a至90c,在从条带的起点100i到其末端(在图6中位于图12的右侧)对相应条带进行编码期间,在条带90a至90c的起点100a、100b和100c处初始化上下文熵概率以及可选的内部状态(例如,在使用算术编码的情况下的概率区间参数),并且使其适配于主要根据编码数据的实际值更新的实际统计信息。换句话说,从起点100a到某个终点102a对与条带90a相关的编码数据94的部分进行熵编码,其中在起点100a处进行上下文初始化,并且从起点100a到终点102a进行连续的上下文更新或适配。同样,从起点100b到终点102b对关于条带90b的编码数据94进行熵编码98,其中在起点100b处进行上下文初始化,并且在朝向端点102b的编码期间进行连续的上下文适配,这同样适用于其他条带(这里是条带90c)。解码以与导出相同上下文和执行相同初始化相同的方式进行。
随后描述的实施例涉及的特定问题涉及在起点100a和100c处的上下文初始化。一种选择是针对每个条带90a至90c以默认方式重新执行上下文初始化,而不管或独立于相同图片12的在编码顺序上的在前条带或先前编码/解码的图片中的条带的上下文更新/适配。如上所述,这可以通过根据与各个条带90a至90c相关联的量化参数(例如其切片量化参数)选择默认上下文熵概率来完成。如稍后所述,除了现在描述的初始化方法之外,该初始化方法还可以形成用于上下文初始化的一种模式。例如,在HEVC中选择的另一选项是:例如,基于针对相同图片的紧邻在前的条带更新直至其起点和终点之间的某个中间点为止的上下文熵概率的状态,以从上到下的编码顺序初始化任何第二或后继条带的上下文熵概率。因此,将独立于其他图片的条带的上下文熵概率来完成每个图片的条带的初始化。如稍后所述,除了现在描述的初始化方法之外,该初始化方法还可以形成用于上下文初始化的一种模式。
下文进一步描述的实施例更进一步,并且允许基于在任何先前编码/解码的图片的并置条带中适配/更新的上下文熵概率,针对某个图片12的每个条带(包括在编码顺序上的第一条带)初始化上下文熵概率,这将在下文更详细地描述。
然而,在此之前,应当注意,可以以支持WPP处理的方式来完成图6的编码/解码构思。例如,可以以如下方式执行熵编码98:使得以取决于当前条带的当前熵编码部分106的空间邻域104的方式执行上下文选择或上下文建模。空间邻域104就像空间模板,其位于当前熵编码块106处,并且只要相同图片的其他条带(例如,编码顺序之前的条带)中的当前处理的(即,当前编码/解码的)部分比延伸到任何相邻或其他条带(例如,在编码顺序上紧邻在前的条带)的任何空间邻域104更靠近其相应端点,条带的并行处理(即,并行编码/解码)是可行的,而不会破坏空间邻域104内的编码数据的可用性,据此确定当前条带的当前熵编码部分106的上下文。邻域104的空间上下文导出范围的空间限制还允许并行实现图6中由箭头108所示的熵解码过程。
同样,编码过程92可以涉及基于关于当前编码部分110的空间邻域112对当前编码部分110的空间预测。就像上下文导出区域104一样,预测源区域112可以延伸到关于当前条带的一个或多个相邻条带中,并且只要任何其他条带的当前处理的部分关于区域112更接近其端点,则满足用作用于预测当前条带的当前部分110的源的数据的可用性。空间预测可以与样本的预测或编码参数的预测有关。区域104和112的并集的扩展因此定义了一些空间帧内预测编码依赖性范围,其允许并行地执行编码92和熵编码98以及对应的解码过程108和114,只要带间编码偏移量/解码偏移量与刚才提到的空间图片内编码依赖性范围不冲突即可。
关于图7,描述了根据实施例的视频编码器和视频解码器,其可以如关于图3至图5所描绘和说明的那样实现,或者可以不同地实现。在任何情况下,视频编码器和视频解码器均支持关于图6讨论的功能,即支持编码/解码的WPP,或者换句话说,以使视频编码和视频解码能够关于条带并行执行的方式来完成视频编码。换句话说,视频编码是以这样的方式完成的:只要条带90a至90c的同时处理的部分服从某个条带间编码偏移量,区域104和112就不会延伸超过或覆盖另一条带的当前处理的部分。相反,后者领先于围绕其他条带的当前处理的部分扩展的这样的区域。然而,应注意,根据备选实施例,例如,以不允许并行处理的方式完成视频数据94的编码。此外,可能不必使用如图6内关于区域104所述的上下文的空间导出。需要特别注意的是,即使关于这种情况已经完全说明了图6的实施例,但是根据关于图7描述的实施例的视频编码器和视频解码器都不需要实际执行并行处理。视频编码器可以关于条带串行地执行编码,从而形成可以使用WPP处理以及条带的串行处理来解码的数据流14。
根据图7的实施例,视频编码器和视频解码器均包括缓冲器120,缓冲器120用于缓冲上下文熵概率的状态,所述上下文熵概率的状态由它们的适配直至某些缓冲点而产生,如稍后所述。缓冲器状态122形成一种最近应用状态的储藏库或池,最近应用状态用于初始化当前处理的图片12的条带90a至90c的上下文熵概率。特别地,参考图7,其示出了当前处理的图片12以及先前处理的(即,先前编码/解码的)图片12’。如关于图6所描述的,图片12′的条带90a至90c的熵编码/解码从它们的起点100a至100c沿着共同的编码方向发生,即在图7的示例中从左至右,直至端点102a至102c。在它们之间,存在前述的缓冲点124a至124c。因此,根据图片12’的实际图片内容,在起点100a至100c处初始化的上下文熵概率的状态被连续地更新/适配,并且在缓冲点124a至124c处产生的中间状态是根据图7的实施例的被缓冲的状态。因此,它们形成了一种上下文概率的快照。根据随后的描述将清楚的是,对上下文熵概率的中间状态(直至缓冲点124a至124c表现出来)的缓冲不需要在编码器和解码器处的缓冲器120中针对视频11的每个图片进行缓冲。例如,对于一些图片,即某个时间层级的图片,可以跳过缓冲。然而,对于现在描述的实施例这可能不起作用,因此,此细节暂时被省略。可以以对来自不同条带位置的条带的状态122之间进行区分的方式在缓冲器120中缓冲在对图片12’的每个切片90a至90c进行熵编码时表现自身的状态122的缓冲。如图7所示,视频11的图片12和12′以相同的方式被划分为条带90a至90c,使得条带彼此并置,并且图片12的每个条带90在图片12′中具有相同条带ID的并置条带。在图7中通过示出针对每个条带ID或者换句话说针对每个条带位置在缓冲器120中缓冲了缓冲状态120来示出条带ID认知缓冲。即,在表中对缓冲状态进行缓冲。可以以使得缓冲器120针对每个条带ID仅存储最近缓冲的状态120的方式来完成缓冲器120中的缓冲。即,用新缓冲的状态替代在条带ID中以及可能在下文提到的一个或多个其他标准中与新缓冲的状态相对应的较旧状态。关于该其他标准,图7示例性地示出了可以根据缓冲状态120的相关联的量化参数来附加地区分缓冲状态120。其他标准可以与切片类型有关,即,与相应条带或时间层级相关联的预测模式的类型(仅帧内模式、或者帧内和帧间模式)。更准确地说,除了根据条带自身所属的条带ID来区分这些状态122之外,已经用于对编码数据进行编码/解码的QP用于区分由熵编码产生的缓冲状态120,编码数据又在直至缓冲点124a至124c的上下文更新/适配期间被熵编码/解码。某对关联的条带ID和可能的量化参数QP1、QP2...中的量化参数QP的状态122将相应地替代或更新同一对条带ID和量化参数QP的先前缓冲状态122。条带ID与一个或多个标准的其他组合也是可行的。在图7中使用虚线示出了QP认知。因此,作为刚刚提到的QP,可以使用切片QP。将切片QP指派给图片的较大部分,即切片,例如整个条带。然而,结合速率控制,即以块为单位变化的局部变化的QP,例如,存储位置或缓冲点124a至124c处的qp可以备选地用于以区分不同QP的方式在缓冲器中存储缓冲上下文状态。继而对于在起始位置100a至100c处的加载或上下文更新,可以使用相应条带中的第一块的切片QP或局部QP。
然而,在初始化上下文熵概率时,对于当前图片12的每个条带,编码器和解码器在缓冲器120中查找对应状态,即状态122之一。特别地,对于当前图片12的每个条带90a至90c,视频编码器和视频解码器可以使用与相应条带在当前图片12内的位置有关的信息(即,使用相应条带的条带ID)来形成索引,并且使用该索引,编码器和解码器查找该条带ID的对应状态122,以初始化各个条带90a至90c的起点100a至100c的上下文熵概率。在QP认知的情况下,附加地取决于与当前图片12的各个条带90a至90c相关联的量化参数来完成查找。即,例如,对于条带90a,基于针对条带ID号1(即,与条带90a相对应的条带ID)缓冲的缓冲状态122,在起点100a处初始化上下文熵概率。在附加QP依赖性的情况下,基于向相应条带90a指派的一对ID和QP来完成查找,即通过在缓冲器120中查找与该对条带ID和量化参数QP相对应的状态122。
以所描述的方式,可以继承在先前处理的图片12’中学习/更新的上下文熵概率。缓冲点124a至124c可以定位为非常接近端点120a至120c。甚至可以与端点102a、102b、102c重合,但是下面讨论了更多的可能性,并且这些可能性可能是优选的,以避免上下文熵概率受到与边缘现象(例如,缺少用于预测的参考部分等)相关联的统计变化的影响。由于条带ID认知缓冲,因此从一个图片12′继承或重用到另一图片12的重用或继承的上下文熵概率与相同或相似的图片内容相关,因此,用于初始化当前图片12的条带90a至90c的上下文熵概率的状态122更密切地表示分别经受上下文自适应熵编码过程或对应的解码过程98和108的实际样本统计信息。
根据接下来关于图8描述的实施例,视频编码器和视频解码器可以被配置为或可以不被配置为以关于图6描述的方式(即允许WPP处理)对视频11的图片进行编码/解码。因此,在图8中,与关于图7讨论的图片相对应的视频11的图片12和12′被示出为被细分为条带,这仅作为一种选择,通过使用虚线指示了这种情况。然而,根据图8的示例,在任何情况下,视频编码器和视频解码器以以下方式执行编码数据94的编码/解码92/114以及编码数据94的熵编码98和熵解码108的任务。特别地,编码数据94以定义视频(如图1所示)的图片之间的分层时间编码相互依赖性的方式表示或编码图片12。即,将图片分类为不同的时间层级Tid,其中,对于每个时间层级,独立于比相应时间层级高的时间层级的图片对相应时间层级的图片进行编码,并且对于形成一种基层层级的每个非零时间层级,相互独立地对相应非零时间层级的图片进行编码。这是定义编码数据94的方式。就熵编码98和熵解码108而言,可以以不涉及任何图片间依赖性的方式来完成。即,例如,可以以仅使用空间邻域104的方式来选择上下文。备选地,熵编码也可以利用时间源来进行上下文选择,但是如果这样,则关于熵编码(即,关于98和108)也遵循刚刚关于编码数据94的形成(即,关于编码92和解码114)而描述的分层时间编码相互依赖性。在任何情况下,将某种上下文自适应熵编码用于熵编码98和熵解码108,并且在这样做时,对于视频11的每个图片,至少在相应图片内的一个起点140处初始化上下文熵概率。当使用关于图6讨论的条带划分和WPP使能处理时,起点140可以例如是条带编码顺序上的第一条带的起点108a。或者,以条带认知方式完成现在关于图8描述的初始化和缓冲,从而使用图7的构思和现在讨论的图8的构思二者。如在图8中进一步描绘的,发生某种缓冲,即,从至少一个起点140开始至某一缓冲点142适配/更新的上下文熵概率状态的缓冲。同样,可以使用多于一个的缓冲点142,例如针对每个起点一个缓冲点。当使用条带时,缓冲点可以如关于图7所描述的那样定位。例如,当使用一个缓冲点142而不使用条带划分时,缓冲点142可以是视频11的图片中间的点。
然而,在图8的情况下,以时间层级认知的方式来执行对表示直至缓冲点142的上下文适配/更新的快照的状态142的缓冲。即,可以以与缓冲点142是其一部分的图片12’的时间层级相关联的方式存储状态122。图8示出了这样的事实:可以以知道编码数据背后的关联的量化参数的方式来附加地执行缓冲,关联的量化参数与熵编码和直至获取相应状态122的缓冲点142的上下文适配/更新相关。在条带划分的情况下,也可以针对每个缓冲状态122记录条带ID。根据图8的示例的如此填充的缓冲器120可以例如存储针对如下项的最近缓冲状态122:(a)对应的时间层级,(b)时间层级和量化参数或条带ID或者切片类型之一组成的对,或者(c)由时间层级和量化参数或条带ID或者切片类型中的两个组成的三元组,(d)所有这些限定项的四元组。然而,可以不针对每个图片进行缓冲。例如,可以仅关于状态122进行缓冲,状态122在图片12’的相应的缓冲点142处表现出来,图片12’具有如由大括号144和缓冲器120中存储的缓冲器状态的部分的虚线标记指示的非最高时间层级。当考虑到最高层的缓冲状态从未用于初始化任何图片12的上下文熵概率时,原因就很清楚了。特别地,在初始化图片12的起点140处的上下文熵概率时,编码器和解码器可以使用与当前图片12的时间层级有关的信息来确定进入缓冲器120的索引,并且使用该索引来查找状态120,状态120是针对比当前图片12的时间层级低的时间层级的先前编码/解码的图片(例如,图片12’)而缓冲的。特别地,通过以这种方式限制上下文熵概率的继承或重用,即,查找被限制为源自较低时间层级图片的状态的缓冲状态122,可以使用先前编码/解码的图片的预先学习或者更新的上下文熵概率,尽管如此仍能对例如最高时间层级(如关于图1所讨论的)的图片进行并行编码。
根据实施例,让我们进一步检查一下时间层级认知的缓冲和查找。例如,已经描述了以使得基于缓冲状态122完成初始化的方式完成针对在图片12的起点140处的上下文初始化查找的上下文熵概率,缓冲状态122是从比图片12的时间层级低的时间层级的图片12′掌握的。然而,在图片12是零层级(即,形成一种基本时间层级的最低层级)的成员的情况下,可以允许时间层级的相等。就在图片12’的缓冲点142处表现出自身的状态的缓冲而言,要注意以下几点。使缓冲具有时间层级认知。例如,最高时间层级的图片12’的状态122没有被存储,因为由于时间层级的限制,没有会查找这样的状态以用于上下文初始化的图片。对于所有其他图片,可以在缓冲器120中缓冲在对应的缓冲点142处表现出自身的状态。然而,替代仅在表中对其缓冲一次,例如在与对应时间层级相对应的条目处,并且在上下文继承也为QP、条带ID和/或条带类型认知的情况下,在时间层级、QP、条带ID和/或切片类型的对应条目处,该图片12’的此状态122也可以用于对更高时间层级的对应的缓冲状态122进行重写或者对其进行替代。因此,如果图片12’属于时间层级0,则其状态122将被输入到缓冲器120中以用于时间层级零以及更高的时间层级。如果图片12’属于时间层级1,则其在缓冲点142处的状态122被输入到缓冲器120中,以用于时间层级1以及更高的时间层级,即时间层级2。在初始化图片12的起点140处的上下文熵概率时,从图片12的时间层级导出的索引则可以指向比图片12的时间层级低的时间层级1的缓冲器120中的对应位置。这则是最近缓冲的状态122,可能附加地在QP和/或条带ID和/或条带类型方面对应于较低时间层级的图片12。然而,用于对状态122进行缓冲的不同方法也是可行的。替代以可通过由时间层级以及可选的条带ID和/或QP和/或条带类型组成的向量寻址的方式存储状态122的表的形式将状态122缓冲在缓冲器120中,可以以一维线性方式将状态122缓冲在缓冲器120中。然后可以用于进行索引的索引可以确定将用于在当前图片12的起点140处的上下文初始化的对应状态122的排序。该排序可以对应于状态122被缓冲的顺序。在确定要用于图片12的状态时,编码器和解码器可以例如从最近缓冲的状态122到最早缓冲的状态遍历缓冲状态122,以便确定较低时间层级的缓冲状态(可选地,在图片12属于层级0的情况下允许相等),并且可选地,在条带ID和/或QP和/或条带类型方面对应于与起点140相关的条带ID和/或QP和/或切片带,其中,首先遇到的状态(即,最近缓冲的状态)用于上下文初始化。备选地,可以使用满足搜索标准的这种状态中的多个最近状态的组合(例如,平均值)来进行初始化。
在进行本申请的其他方面的实施例之前,将提供关于如何在HEVC或JEM中实现图7和图8的实施例的简要描述。例如,可以将图7的构思和/或图8的构思提供为来自先前编码/解码的图片的CABAC上下文变量状态继承的一种模式,CABAC上下文变量状态继承的模式可以通过特定变量(如cabac_temporal_init_mode)在某一较高层级上发信号通知,例如在SPS、PPS或者切片头部中,例如在如图9所述的SPS中。即,如上所述且当前在JEM中使用的,语法元素的一种模式选项可以对应于来自先前解码/编码的图片的CABAC上下文变量状态继承,并且一种模式可以对应于图7的构思和/或语法元素的另一个值对应于图8的构思。
例如,刚刚提到的语法元素可以具有以下语义:
cabac_temporal_init_mode等于0规定禁用时间模式,并且如上所述的,使用来自预定义表的常规初始化,即,仅基于QP的初始化,而与其他条带无关。
cabac_temporal_init_mode等于1规定通过采用先前解码的图片的上下文状态来完成CABAC上下文变量的时间初始化模式。因此,这可以由以下适配规则表示:
CCVSliceType,QP=CCVRefSliceType,QP
其中,CCV是当前图片12的CABAC上下文变量缓冲器,该缓冲器对要在起点140处初始化的概率进行缓冲,SliceType是图片的当前切片的类型,QP是量化参数值。
CCVRef是具有相同SliceType和QP的先前解码的图片的参考上下文变量缓冲器。
如果针对特定的SliceType和QP的CCVRef不可用(即,当解码第一图片时),则使用来自预定义表的常规初始化方法,如针对模式0所述。
以下是应改进CABAC适配的时间方法以及提高并行化吞吐量的附加初始化模式:
cabac_temporal_init_mode等于2规定通过采用先前逐CTU线解码的图片的上下文状态来完成CABAC上下文变量的时间初始化模式。因此,可以由以下适配规则表示CABAC初始化过程:
CCVSliceType,QP,CTULineNum=CCVRefSliceType,QP,CTULineNum
其中,CCV是当前图片12的CABAC上下文变量缓冲器,SliceType是图片的当前切片的类型,QP是量化参数值,CTULineNum是CTU线号。
CCVRef是具有相同SliceType、OP和CTULineNum的先前解码的图片12’的参考上下文变量缓冲器。如果针对特定的SliceType、QP和CTULineNum的CCVRef不可用(即,当解码第一图片时),则如关于模式0所教导的那样使用使用预定义表的常规初始化方法。
cabac_temporal_init_mode等于3规定应该通过采用相同时间层级的先前解码的图片的上下文状态来完成CABAC上下文变量的时间初始化模式。这可以由以下适配规则表示:
CCVTId=CCVRefTId
其中,CCV是当前图片的CABAC上下文变量缓冲器,TId是当前图片的时间层级Id。
CCVRef是时间层级TId的先前解码的图片的参考上下文变量缓冲器。
如果CCVRef不可用(即,当解码第一图片时),则使用使用预定义表的常规初始化方法。
cabac_temporal_init_mode等于4规定应该通过采用当前时间层级的先前解码的图片的上下文状态来完成CABAC上下文变量的时间初始化模式,并且逐CTU线采用所述状态。因此,可以由以下适配规则表示CABAC初始化过程:
CCVTId,CTULineNum=CCVRefTId,CTULineNum
其中,CCV是当前图片12的CABAC上下文变量缓冲器,TId是当前图片的时间层级Id,CTULineNum是CTU线号。
CCVRef是时间层级TId下的先前解码的图片12’的参考上下文变量缓冲器。
如果CCVRef不可用(即,当解码第一图片时),则使用使用预定义表的常规初始化方法。
cabac_temporal_init_mode等于5规定应该通过采用先前时间层级的先前解码的图片的上下文状态来完成CABAC上下文变量的时间初始化模式,如图8中完成的那样。这可以由以下适配规则表示:
CCVTId=CCVRefTIdRef
其中,CCV是当前图片12的CABAC上下文变量缓冲器,TId是当前图片的时间层级Id。
CCVRef是单个图片12’的参考上下文变量缓冲器或者时间层级TIdRef的多个图片的上下文变量的组合,所述多个图片在解码顺序上在当前图片之前。
TIdRef被导出为如下:
当TId>0时,TIdRef=TId-1,否则,为0。
如果针对特定TIdRef的CCVRef不可用(即,当解码第一图片时),则使用使用预定义表的常规初始化方法。
cabac_temporal_init_mode等于6规定应该通过采用先前时间层级的先前解码的图片的上下文状态来完成CABAC上下文变量的时间初始化模式(如图8中完成的那样),并且逐CTU线采用所述状态(如图7中完成的那样)。因此,可以由以下适配规则表示CABAC初始化过程:
CCVTId,CTULineNum=CCVRefTIdRef,CTULineNum
其中,CCV是当前图片12的CABAC上下文变量缓冲器,TId是当前图片的时间层级Id,CTULineNum是CTU线号。
CCVRef是图片的参考上下文变量CTU线缓冲器,或作为在解码顺序上在当前图片之前的时间层级TIdRef下的多个图片12’的CCV CTU线缓冲器的组合。
TIdRef被导出为如下:
当TId>0时,TIdRef=TId-1,否则,为0。
如果针对特定TIdRef、CTULineNum的CCVRef不可用(即,当解码第一图片时),则使用使用预定义表的常规初始化方法。
根据图7以及模式2、4和6的来自先前帧的逐CTU线CABAC上下文初始化在下面更详细地描述。
为了改善CABAC上下文变量的局部适配,使用新的缓冲器尺寸来完成CCV初始化,该新的缓冲器尺寸由CTU线号(即,条带位置的数字索引)寻址。
该方法利用CCV缓冲器120,该CCV缓冲器120使用缓冲器索引来存储每个CTU线的CCV集合122的状态,以在多个存储的变体之间进行区分。整个CMM缓冲器120可以被重置以保证在随机接入点处的正确操作。
当(解码)编码过程取得正存储信号时,使用CTU线号和另外的索引来在缓冲器中寻址存储位置,将来自当前CTU线(解码器)编码器的CCV的当前状态存储在CCV缓冲器。
通过到达CU线90内的特定CTU位置142来触发存储信号,特定CTU位置142可以是CTU线内的最后或者任何固定位置,例如:
1.CTU线的3/4处的固定位置,以排除边界CTU的模型更新。
2.完全位于图片内的最后一个CTU的位置
3.图片边界中包含其右上角的最后一个CTU的位置
在随后的图片12中,在每个CTU线90a至90c的开始100a至100c处,在给定缓冲器索引的情况下,在CCV线缓冲器120中检查当前线的有效条目122。如果存在可用的条目,则将CCV状态从CCV线缓冲器120复制到当前CTU线编码器的CCV集,否则,如果没有针对具有给定缓冲器索引的当前线可用的CCV,则编码器使用默认上下文初始化构思而没有任何限制。
所提出的逐CTU线时间CCV预测的优点是更好的局部统计利用。此外,该方法的性能优于当前的WPP初始化过程。
对于缓冲器索引,可以使用两个变体。第一变体使用当前切片层级的QP作为缓冲器索引。使用QP作为缓冲器索引的目的是为不同图片中的相同QP假设相似的CCV状态,并暗示使用来自相同时间层级的CCV。然而,当实施帧并行编码方法时,来自相同时间层级的预测可能会带来问题。
因此,第二变体从图片的时间层级导出缓冲器索引,以建立避免从相同或更高时间层级的图片进行时间CCV预测的预测分层。
根据图8以及模式5和6详细的时间层级受限的CABAC上下文初始化可以如下进行。
在CABAC时间初始化模式(cabac_temporal_init_mode 5和6)的限制下,我们实现了图片并行化,而编码效率损失可忽略不计。由于并行化使得图片处理顺序不同,因此需要进行限制。来自先前时间层级的上下文变量适配可能包括在图片之间直接采用变量以及它们的选择性加权组合。这还可以包括来自当前图片的上方CTU线的局部预测CCV和一个或多个时间预测CCV的选择性加权组合。可以通过对上下文状态、时间距离认知平均上下文状态求平均或者从多个缓冲的CCV中选出特定上下文状态来完成加权选择。
所得到的CABAC传播如图10所示。当更多帧用于获得CCVRef时,传播可能对应于图1所示的信号流。
以上示例揭示了可以以基于数据流14中传送的当前模式设置根据图7和图8进行操作的方式实现视频编码器和视频解码器。此外,关于图9中所示的语法元素提出的描述还揭示了:附加地或备选地,可以以切片类型认知的方式来进行上下文熵概率管理。例如,可以将I切片和P切片彼此区分开,即,仅允许帧间预测模式的切片和允许帧内预测和帧间预测两者的切片。甚至更进一步,可以基于缓冲状态122的组合在一些起点100a至100c或140处进行上下文初始化,而不是仅使用最新缓冲的状态来填充相应搜索标准,包括根据图7的构思的条带ID,并且包括例如在图8的构思的情况下低于当前图片的时间层级。
在继续描述本申请的另一方面的实施例之前,应提供关于JEM参考软件中的当前状态的简要概述。特别地,本申请的下一方面是关于要应用于视频的图片的环路或后置滤波器的参数化。这样的环路滤波器250、252可以例如分别位于紧靠图3和图4中的预测模块44和58的输入的上游的位置处,或者可以是仅位于解码器20的输出处的后置滤波器254。在下文中,假定随后的实施例和方面着重于其参数化的滤波器是自适应环路滤波器,例如FIR滤波器,但是应该清楚的是,这对本文所述的实施例不是限制性的。滤波器参数化设置可以与环路滤波器或后置滤波器的滤波器核的滤波器抽头(filter taps)的设置有关,该设置被选择以改善滤波信号。
对于下一新兴标准ITU-T H.266,提出了自适应环路滤波器(ALF)。当前的实现可通过JEM参考软件[2]获得。ALF利用特定的参数集,其中在处理每个图片之后存储滤波器参数。编码器和解码器同步执行此操作。为了参数的时间适配,编码器发送高级信息,以从应用于当前图片的所有已存储参数的集合中识别特定参数。因此,这还可以包括使用来自相同时间层级的先前解码的图片的参数。这种依赖性对于图片并行处理是不实际的。
为了克服这个障碍,在下面描述的特定实施例中,我们建议限制当前时间层级内的滤波器参数传播,而不是仅参考较低时间层级的参数。
这可以通过隐式定义特定操作点或通过显式高级信令(SPS、PPS、切片头部)来完成。当示例性地使用ALF继承时,后者可以通过特定的ALF模式或标志来实现。在图11中给出了在SPS中发信号通知的这种标志的示例。
参数行为是通过以下语义定义的:
alf_temporal_init_restriction等于0规定不使用任何时间模式限制。这将产生以下适配规则:
ALFParamPicNum=ALFParamPicNumRef
其中,PicNum是按解码顺序的图片编号,PicNumRef是按解码顺序在PicNum之前的解码顺序上的图片编号。PicNumRef由编码器选择,并且可以在常规ALF编码过程中针对每个图片显式发信号通知。
alf_temporal_init_restriction等于1规定针对ALF参数的受限时间适配,其中仅允许根据先前时间层级的先前解码的图片进行适配。因此,在PicNumRef的导出过程中限制于使用当前时间层级的图片。
在ALF参数适配的这种限制下,我们提高了并行化吞吐量,而编码效率损失可以忽略不计。
话虽如此,参考图12,根据图12说明了视频编码器和视频解码器的功能的实施例。根据图12的实施例,视频编码器和视频解码器两者都使用基于块的编码,将视频11的图片12编码到数据流14中。编码或者编码和解码涉及例如环路滤波器或后置滤波器,其参数化由编码器确定并以下面更详细描述的方式发信号通知给解码器。此外,以分别关于图1和图8讨论的定义分层时间编码相互依赖性的方式完成编码。
编码器针对视频11的每个图片12确定环路滤波器或后置滤波器的滤波器参数化设置,以在将相应滤波器应用于相应图片时对相应滤波器进行参数化。如下面更详细说明的,编码器和解码器在缓冲器200中缓冲在视频11的先前编码/解码的图片中使用的环路滤波器或后置滤波器的滤波器参数化设置的池或储藏库。仅在由编码器确定环路或后置滤波器的滤波器参数化设置与缓冲器200中缓冲的任何滤波器参数化设置不同的情况下,才可以针对图片12选择性地执行缓冲。例如,编码器可以针对图片12的子集确定在数据流14中应显式地发信号通知针对该子集中的图片的环路滤波器或后置滤波器的滤波器参数化设置,而无需对缓冲器200中缓冲的任何滤波器参数化设置进行索引,并且针对此类图片12,滤波器参数化设置被缓冲202。对于图片12的其他子集,由编码器确定滤波器参数化设置等于缓冲器200中缓冲的缓冲的滤波器参数化设置中的一个,并且编码器在数据流14中发信号通知204相应图片的索引,该索引指向缓冲器200中的相应滤波器参数化设置。解码器相应地作用。即,如果在数据流14中显式地发信号通知当前图片的滤波器参数化设置,则它从该显式信号中导出滤波器参数化设置并将所导出的滤波器参数化设置缓冲在缓冲器200中。如果不是,则解码器从数据流14导出相应图片的索引,该索引对缓冲器200中环路滤波器或后置滤波器的滤波器参数化设置进行索引。滤波器参数化设置可能不会再次被缓冲。编码器和解码器使缓冲器200的内容保持同步,缓冲器200例如按照最近缓冲的滤波器参数化设置的顺序缓冲某一数量的最近缓冲的滤波器参数化设置,并且数据流14中传送的索引可以根据滤波器参数化设置的缓冲顺序(即,根据它们在缓冲器200中所取的排序)对滤波器参数化设置进行索引。然而,也可能存在其他可能性。存在进一步修改的可能性。例如,替代针对每个图片12确定是否完全从缓冲器200采用缓冲的滤波器参数化设置,或者是否通过数据流14中的显式信号来完全重新编码相应图片的滤波器参数化设置,可以以对缓冲的滤波器参数化设置之一的修改的形式在数据流14中发信号通知滤波器参数化设置被选择为与存储在缓冲器200中的任何滤波器参数化设置不同的图片的滤波器参数化设置,从而除了滤波器参数化修改之外,针对这样的图片发送到缓冲器200中的索引。可以分别由视频编码器和视频解码器在缓冲器200中缓冲这样修改的滤波器参数化设置,而完全从缓冲的设置采用的滤波器参数化设置不被缓冲。
在任何情况下,根据图12的实施例,针对当前图片12的环路滤波器或后置滤波器的滤波器参数化设置(在数据流14中发送204针对其的索引)通过该索引仅参考在缓冲器200中缓冲的滤波器参数化设置的子集中的一个滤波器参数化设置,滤波器参数化设置的子集排除针对高于或等于当前图片的时间层级的时间层级的图片而缓冲的滤波器参数化设置。
因此,根据图12的实施例,视频编码器可以执行滤波器参数化设置时间层级认知,因为视频编码器决定是否完全重用来自缓冲器200的滤波器参数化设置,其中将用于完全重用的可能的候选项仅限制为缓冲的滤波器参数化设置的子集,即源自较低时间层级的图片的滤波器参数化设置。此外,视频编码器和视频解码器两者都可以起到时间层级认知的作用,因为缓冲202是以时间层级认知的方式完成的。例如,在对应图片属于最高时间层级的情况下,滤波器参数化设置未被完全重用的图片的滤波器参数化设置都不会被缓冲202,因为无论如何都不会针对后续处理的图片对其进行索引。甚至在204处的索引的信号化也可以取决于时间层级。例如,不可避免地,针对最高时间层级的图片,数据流14中可能不存在索引。此外,索引的信号化可以适配于仅源自较低时间层级的图片的滤波器参数化设置的减少的子集的大小。甚至更进一步,如上所述,尽管索引可以根据图片的图片计数索引指向缓冲的滤波器参数化设置,其中某个缓冲的滤波器参数化设置源自该图片,并且除了相应的滤波器参数化设置之外图片计数索引也存储在缓冲器200中,备选地,数据流14中传送的索引可以根据与缓冲器200中的缓冲排序相对应的线性排序地址来对缓冲的滤波器参数化设置进行索引,以便为了保持视频编码器和视频解码器之间的同步,视频编码器和视频解码器两者需要执行对滤波器参数化设置时间层级认知的缓冲。在这方面,类似于图8中的注释,应该注意的是,对于最低时间层级(即,层级0)的图片,可以减轻时间层级限制,因为对于这些图片而言,可以允许对源自相同层级(即,层级0)的图片的滤波器参数化设置的索引。
上面已经表明,对相同时间层级的图片的缓冲的滤波器参数化设置的使用或排除的未使用的指示被施加或不施加给具有依赖此类承诺的能力的解码器,以便相应地调度解码任务的处理,例如通过并行化最高时间层级的图片的解码。
一方面关于图8描述的实施例以及另一方面关于图12描述的实施例可以被组合,以产生能够时间继承上下文熵概率以及基于缓冲器信号化环路滤波器或后置滤波器的滤波器参数化设置的视频编码器和视频解码器。
在下文中,描述了与诸如HEVC和JEM之类的视频编解码器有关的本申请的第四方面的实施例,所述视频编解码器改变用于量化整个图片中的块中的预测残差信号的量化参数,并以所谓的增量QP发信号通知量化参数,即使用空间预测。
在现有技术标准[1]中,通过按比例缩小两个导出值的总和、将其增加1、进行最后的右移以完成QP预测,这两个导出值来自当前CU的左侧和上方的空间邻域的CU。通过检查空间邻域的可用性分别获得这两个导出值。如果邻域可用于预测,则导出的值采用邻域CU的QP,否则,如果CU无法用于预测,则将导出的值设置为变量prevCodedCUQP的值。使用Slice QP初始化变量prevCodedCUQP,并且针对切片中的每个编码的CU更新变量prevCodedCUQP。
这种导出方案的缺点是:用于根据WPP对单独的CTU线进行并行处理但不对比特流应用WPP语法的编码器方法,出现依赖性问题,因为在某个CTU的开头处,线编码器不知道变量prevCodedCUQP,因为它依赖于可能在任何上方CTU线中编码的最后编码的QP。
在特定的实施例中,为了克服在使用并行编码/解码时在高度优化的系统中可能出现的因果关系问题,提出了一种用于空间QP预测的新的简化算法,如下所示:
评估当前CU的左侧、上方和左上方的相邻邻域编码单元(CU)。对于每个邻域CU,引入中间变量DerivedQpXXX。如果邻域可用,则将变量derivedQpXXX设置为该邻域CU的QP的值,否则将该变量设置为当前切片层级QP的值。
通过将derivedQpLeft和derivedQpAbove之和减去derivedQpAboveLeft的结果裁剪到由derivedQpLeft和derivedQpAbove跨越的QP范围,来获得预测的QP。
这可以通过以下伪代码来描述:
参考图13,其示出了根据本申请的第四方面的实施例的视频编码器和视频解码器的功能。图13示出了视频11的当前编码/解码的图片12以及将图片12细分成块300,其中,视频编码器以块为单位改变量化参数,利用该量化参数将图片12的预测残差信号编码到数据流14中。不认为将视频11的图片12编码302到数据流14中使得能够在解码侧进行并行解码,如上面关于图6所述。视频编码器可以处于顺序模式而不是并行模式。即,备选地,视频编码器能够如上文关于图6所描述地那样进行操作,但是图13示出了顺序模式。编码过程302涉及以上关于图6描述的编码的两个阶段,即,将图片12编码到视频数据中、以及随后将视频数据熵编码到数据流14中。图13中使用箭头304示出了解码过程。为了发送用于各个块300的量化参数,使用了空间预测构思。图13在300a突出显示了QP被发送的当前处理的块。当块300′和300″的数量不限于两个,而是备选地可以仅是一个或者大于两个时,检查块300a的某个邻域以将相邻块300′和300″定位在相对于块300a的预定相对位置中。同样,使用左侧相邻块300’和顶部相邻块300”是说明性的,并且可以选择不同的相邻块位置。例如,在图13中使用虚线描绘了在块300a的左上方的第三相邻块,即覆盖与块300a的左上角的左上方相邻的样本。基于指派给这些块300′和300”的量化参数,预测块300a的QP,并在数据流14中针对块300a发送预测偏移量或增量QP。可以如上所述那样实现基于块300′、300″和300″′的预测的导出,即,使用针对块300′、300″的QP之和减去针对块300″′的QP的结果,裁剪为在针对块300′、300″的QP之间。一种备选方法是简单地将300′的QP用作QP预测子,或者将针对块300′、300”的QP的中值或平均值用作预测子。对于例如由于块300’或300”的块位置在当前块300a所处的切片306的外部或者因为相应块300’或300”的相应块位置在当前图片12的外部而不可用的每个块300’或300”,通过针对块300a所处的切片306在数据流中发送的切片QP替代或替换块300’或300”的QP。替换还可以仅在所有涉及的QP均不可用的情况下应用。例如,当将针对块300′、300″的QP的中值或平均值用作QP预测子时,则仅在两个QP(即,块300’和300”的QP)都不可用的情况下,才可以使用切片QP作为预测子。如果后者中只有一个丢失或不可用,则将另一个可用的QP用作预测子。当将针对块300’的QP用作QP预测子时,则切片QP的使用将使得块300′的此QP丢失。换句话说,针对块300a的量化参数预测子是从在与预定块具有预定相对位置关系的一个或多个块位置处的一个或多个块300’至300”’的量化参数导出的,并且利用针对预定区域在数据流中发信号通知的主量化参数替换在当前图片中的预定块所处的预定区域外部(例如,在当前拼块或切片的外部或者甚至在图片区域的外部)的块位置处的任何块的量化参数。换句话说,如果因为某个块位于例如块300a所属的某个图片区域之外而使得该某个块的量化参数不可用,则利用针对预定区域(例如,切片QP)在数据流中发信号通知的主量化参数替换该量化参数。或者,如果块300’至300’中的一个或多个(例如,所有这些块)的QP不可用,则主量化参数直接用作QP预测子。例如,图13示出了将图片12细分成由虚线表示的两个切片306。通过避免针对块300a的QP的预测子对更远离当前块300a(即,远离不与块300a直接相邻的块)的块的QP的依赖性,对于划分图片12而成的条带90a、90b和90c,可以至少并行地将图片12编码到由图6中描绘的编码数据94表示的中间层级。特别地,根据编码顺序,条带90a至90c彼此相继,并且使用根据如上所述的JEM的不可用块的替换构思将引起一个条带到在前条带的编码的顺序依赖性,因为这个构思沿使用编码顺序最近遇到的QP的一种缓冲,这将涉及将QP值从一个条带拖到随后的条带。使用受限的空间预测范围,或者换句话说,使用用于预测块300a的QP的预测源的受限范围,对于划分切片306的条带90a和90b(二者均沿着编码顺序,此处示例性地为从左到右),编码器可以开始并行地对一个公共切片306内的图片内容进行编码,不必使对按照编码顺序的任何后续条带90b进行编码进行等待直到完成关于在前条带90a的编码成编码数据。基于针对块300a的QP,除了使用量化参数对预测残差信号进行量化之外,编码器和解码器还可以为环路滤波器或后置滤波器(例如,图3和图4中所示的250至254)设置滤波器参数化。有趣的是,编码器甚至可以在完成关于在前条带90a的编码数据形成之前,在针对任何后续条带90b的当前处理的块300a的位置处局部地执行滤波或者滤波的一部分,因为针对块300a的QP值已经是固定的,且已经准备好用于在数据流14中发送。由于滤波的空间范围,使用了限制性术语“滤波的一部分”。由于解块滤波器的性质,例如,不能立即对在右侧和下方与相邻块接壤的相邻块进行滤波。滤波被推迟到相邻块已被处理时进行处理。被局部过滤的块是从当前块稍微向左上移位的块。
应当注意,编码器和解码器备选地能够以不同地预测QP的另一种模式进行操作,例如根据HEVC,使用最后访问的QP预测子,并使用信令在两种模式之间进行选择。
本申请的第五方面涉及支持图6的WPP处理能力的类型的视频编码器和视频解码器。如关于图6所描述的,在条带之间的WPP处理中要遵守的条带间编码/解码偏移量取决于空间图片内编码依赖性范围。根据接下来描述的实施例,视频编码器和视频解码器经由数据流彼此通信,这使得能够将该范围设置为若干种状态之一,从而可以以空间冗余利用率略有降低的代价在较高的并行度和并行处理之间进行权衡,因此,一方面编码效率略微降低,并且另一方面由于空间冗余利用率略微提高而在编码效率略微提高的情况下并行度降低。下面的描述再次以JEM或HEVC的修改的形式呈现了该构思,并且使用CTU依赖性偏移量信令作为用于测量空间图片内编码依赖性范围的可能性。在下文中描述通用的实施例。
使用波前并行处理(WPP)时,当前最新的标准[1]定义了连续CTU线之间的两个CTU的最小所需CTU偏移量,以确保参考可用于预测。随着新的新兴标准[3]的出现,可能会并入新的工具,其中两个CTU的CTU偏移量可能不再足够,并且可能会损害新工具。
在特定实施例中,为了概括对上方CTU线的依赖性的处理,使用了逐线施加的CTU-dependency-offset参数的显式信令。
可以针对内部切片和非内部切片独立地发信号通知的CTU-dependency-offset。值为0表示禁用建议的限制方案。如果该值不为0,则当参考不受限制(例如,位于不同的切片、拼块中或在图片之外)且以下条件为真时,当/>可用于针对当前/>的预测时,与/>对应的CU、PU或TU可用于参考:
-在WPP情况下:
(Yref=YcurAND Xref≤Xcur)OR(Yref<YcurAND Xref<((Ycurr-Yref)*(CTU_dependency_offset_id-1)+Xcur)),
-在顺序的处理顺序的情况下:
(Yref=YcurAND Xref≤Xcur)OR(Yref<YcurAND Xref<((Ycurr-Yref)*(CTU_dependency_offset_id-1)+Xcur+1))
其中,Xref、Yref、Xcur、Ycur是CTU位置坐标。
在图14中,示出了两个不同的CTU依赖性的影响。两张图都示出了在相同的虚拟编码时间之后拍摄的快照。一方面,A)中结构延迟的增加的原因最后CTU线尚未开始,而在B)中,只有很少的CTU待被处理。另一方面,在A中的来自上方CTU线的两个以上的块可用于预测,并且使用利用多条线的空间依赖性的工具,可用于预测的区域显著扩大。
应当指出,CTU-dependency-offset参数的较大值将允许将较广的区域用于空间预测,从而增加工具的R-D增益,但在使用WPP或并行重构时会引入较长的结构延迟。因为来自邻域的重构样本的空间预测主要用于内部切片,而非内部切片通常使用时间预测,且具有取决于切片类型的CTU-dependency偏移量,因此结构延迟和R-D性能之间的权衡可以轻松适应不同需求。
使用CTU_dependency_offset_id等于1可以实现一个特殊的操作点。在这种情况下,针对WPP情况完全消除了结构延迟。这在低延迟情况下可能是有益的。应该指出,顺序模式下的空间范围参数(即,非WPP)限制了空间预测工具,因此可以看作是复杂度与质量参数的比较。
这些建议的参数可能会经由高级集合SPS、PPS等或切片头部发信号通知。图15中给出了示例。
参考图16,关于视频编码器和视频解码器的实施例描述了支持WPP的视频编码器和视频解码器的实施例,视频编码器和视频解码器支持使得能够将视频12编码到数据流14中的WPP。编码过程402包括图6的92和98这两个编码步骤,并且同样适用于图16所示的解码404,即步骤108和114。在此,以使得数据流14传送信令406的方式设计视频编解码器,信令406将空间图片内编码依赖性范围设置设置为若干种可能设置之一。所述设置可以在空间图片内编码依赖性范围的宽度或广阔性上不同。在图6中的408处描绘了空间图片内编码依赖性范围,并且空间图片内编码依赖性范围确定当前处理的部分410的区域,基于该区域可以针对编码块410执行预测和上下文导出或任何其他空间冗余利用率任务。具体地,空间图片内编码依赖性范围设置可以在范围408在任何在前条带90a中从与范围区域408相关的当前部分410延伸的量方面不同,任何在前条带90a在每个条带内沿着编码方向(此处示例性地为从左向右)在条带编码顺序上在前,其中图16中在412处使用双向箭头描绘了这种量,该双向箭头沿水平方向(即每个条带90a至90c内的编码顺序方向)测量长度作为偏移量。如上所述,对于范围区域408在条带中的部分,偏移量412可以根据它们到当前部分410所处的当前条带的条带距离而增加。如图16所示,可以将范围区域408配置为不可避免地从当前编码的部分410延伸到图片12的左上角,如图16所示,或者可以限制其向图12的顶部边缘和左侧边缘扩展,如图16中的虚线所示。后面的限制可以独立于信令406,或者也可以依赖于信令406。如关于图14所说明的,范围设置的变化影响可以执行编码402和解码404的并行度,然而,由于利用空间冗余的可能性增加而得到的编码效率的提高补偿了较低的并行度,并且反之亦然。如以上关于图14所说明的,可以通过直接指示在WPP处理中(即,在并行处理条带90a至90c中)要遵守的最小条带间编码/解码偏移量的参数来指示由信号406发信号通知的不同设置。应当注意,根据关于图16说明的实施例,视频编解码器还可以适用于仅根据由信号406提供的可发信号通知的空间图片内编码依赖性范围设置中的一个或子集进行操作的视频编码器或者视频解码器。例如,编码器可以被固定为根据设置之一来操作,并且其在数据流14中发信号通知该设置。解码器可能同样能够操作或支持可通过信号406发信号通知的所有设置,或仅能够操作或支持其中的一个或子集,并在信号406发信号通知的设置是不支持的设置之一的情况下,向用户通知无法解码所接收的数据流14。
尽管图16示出了当前图片12内的空间范围408(借助于空间图片内编码依赖性对当前编码块410或者与当前编码块410相关的编码参数进行编码取决于空间范围408)可以与当前图片中的在条带编码顺序上在前的条带(此处为条带90a)重叠,应当注意,该范围也可以与多于一个的先前条带重叠。此外,对于多个空间图片内编码范围设置中的每一个空间图片内编码范围设置,空间范围朝向编码前进方向伸出的距离可以随着条带间距离的增加而增加,即,可以随着包含块410的条带相对于在其中测量距离412的条带的距离的增加而单调增加。比较两个设置,对于所有先前的条带,这些距离412对于两个设置中的一个与两个设置中的另一个相比大,或者反之亦然。此外,如所描述的,可以分别针对视频的纯帧内预测编码部分(例如I切片)和帧间预测编码部分(例如P切片和B切片)发信号通知所选择的空间图片内编码范围设置,如上所述。如所描述的,空间范围可以与预测依赖性和/或上下文导出依赖性有关。该变化可以影响预测子搜索范围,例如用于搜索用于帧内预测的补丁的搜索范围或预测参数值域的大小,因此某些预测参数的编码率及其解析可以改变。
附加地或备选地,视频编码器和视频解码器可以在没有信号通知能力的情况下操作,但是以使得范围设置对于仅提供帧内预测模式的切片(即,纯帧内预测的切片)和提供帧内预测模式和帧间预测模式两者的切片来说不同的方式固定地操作。特别地,针对I切片的范围408更广,从而降低了并行能力,但是由于这些切片不可避免地受限于帧内预测的使用(因为针对这些切片帧间预测不可用),因此显著提高了这些切片的编码效率。然而,视频11的主要部分由还提供帧间预测模式的切片(例如,P切片和B切片)组成,并且对于后者,由于帧内预测模式无论如何对于这些切片都不会发挥重要作用,因此并行度在对编码效率的影响很小的情况下得以提高。关于其余细节,参考先前的描述。
虽然已经在装置的上下文中描述了一些方面,但是将清楚的是,这些方面还表示对应方法的描述,其中,块或设备对应于方法步骤或方法步骤的特征。类似地,在方法步骤上下文中描述的方面也表示对相应块或项或者相应装置的特征的描述。可以由(或使用)硬件装置(比如,微处理器、可编程计算机或电子电路)来执行一些或全部方法步骤。在一些实施例中,可以由这种装置来执行最重要方法步骤中的一个或多个方法步骤。
本发明的数据流可以存储在数字存储介质上,或者可以在诸如无线传输介质或有线传输介质(例如,互联网)等的传输介质上传输。
取决于某些实现要求,可以在硬件中或在软件中实现本发明的实施例。可以使用其上存储有电子可读控制信号的数字存储介质(例如,软盘、DVD、蓝光、CD、ROM、PROM、EPROM、EEPROM或闪存)来执行实现,该电子可读控制信号与可编程计算机系统协作(或者能够与之协作)从而执行相应方法。因此,数字存储介质可以是计算机可读的。
根据本发明的一些实施例包括具有电子可读控制信号的数据载体,其能够与可编程计算机系统协作以便执行本文所述的方法之一。
通常,本发明的实施例可以实现为具有程序代码的计算机程序产品,程序代码可操作以在计算机程序产品在计算机上运行时执行方法之一。程序代码可以例如存储在机器可读载体上。
其他实施例包括存储在机器可读载体上的计算机程序,该计算机程序用于执行本文所述的方法之一。
换言之,本发明方法的实施例因此是具有程序代码的计算机程序,该程序代码用于在计算机程序在计算机上运行时执行本文所述的方法之一。
因此,本发明方法的另一实施例是其上记录有计算机程序的数据载体(或者数字存储介质或计算机可读介质),该计算机程序用于执行本文所述的方法之一。数据载体、数字存储介质或记录介质通常是有形的和/或非瞬时性的。
因此,本发明方法的另一实施例是表示计算机程序的数据流或信号序列,所述计算机程序用于执行本文所述的方法之一。数据流或信号序列可以例如被配置为经由数据通信连接(例如,经由互联网)传送。
另一实施例包括处理装置,例如,计算机或可编程逻辑器件,所述处理装置被配置为或适于执行本文所述的方法之一。
另一实施例包括其上安装有计算机程序的计算机,该计算机程序用于执行本文所述的方法之一。
根据本发明的另一实施例包括被配置为向接收机(例如,以电子方式或以光学方式)传送计算机程序的装置或系统,该计算机程序用于执行本文所述的方法之一。接收机可以是例如计算机、移动设备、存储设备等。装置或系统可以例如包括用于向接收机传送计算机程序的文件服务器。
在一些实施例中,可编程逻辑器件(例如,现场可编程门阵列)可以用于执行本文所述的方法的一些或全部功能。在一些实施例中,现场可编程门阵列可以与微处理器协作以执行本文所述的方法之一。通常,方法优选地由任意硬件装置来执行。
本文描述的装置可以使用硬件装置、或者使用计算机、或者使用硬件装置和计算机的组合来实现。
本文描述的装置或本文描述的装置的任何组件可以至少部分地在硬件和/或软件中实现。
本文描述的方法可以使用硬件装置、或者使用计算机、或者使用硬件装置和计算机的组合来执行。
本文描述的方法或本文描述的装置的任何组件可以至少部分地由硬件和/或由软件执行。
上述实施例对于本发明的原理仅是说明性的。应当理解的是,本文所述的布置和细节的修改和变形对于本领域其他技术人员将是显而易见的。因此,旨在仅由所附专利权利要求的范围来限制而不是由借助对本文的实施例的描述和解释所给出的具体细节来限制。
参考文献
[1]ISO/IEC,ITU-T.High efficiency video coding.ITU-T RecommendationH.265|ISO/IEC 23008 10(HEVC),edition 1,2013;edition 2,2014
[2]JEM reference software,https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/
[3]J.Chen,E.Alshina,G.J.Sullivan,J.-R.Ohm,J.Boyce.Algorithmdescription of Joint Exploration Test Model 7(JEM7),JVET,doc.JVET-G1001,August 2017
[4]″JVET group,″[Online].Available:http://phenix.it-sudparis.eu/jvet/。

Claims (9)

1.一种视频编码器,包括:
至少一个处理器;以及
存储器,所述存储器包括指令,所述指令在由所述至少一个处理器执行时,使所述视频编码器:
通过基于块的编码,将视频(11)的图片(12)编码(10)为编码数据(94),
使用上下文自适应熵编码,沿着条带(90a,90b,90c)将当前图片(12)的编码数据(94)熵编码(34)到数据流(14)中,所述条带是编码树单元行,所述当前图片的条带具有来自先前图片的相应的并置条带,并置条带的位置由公共条带ID指示,在所述条带的起点(100a,100b,100c)处对上下文熵概率进行初始化,并且随着条带编码的进行而适配所述上下文熵概率,
针对先前编码图片的条带,缓冲上下文熵概率的状态,所述上下文熵概率的状态是由于对在所述起点(100a,100b,100c)初始化的所述上下文熵概率进行适配直至相应条带的缓冲点(102a,102b,102c)而产生的,
根据第一模式初始化上下文熵概率,其中当在所述第一模式中操作时,针对当前图片(12)的每个条带,所述编码器使用相应条带的条带ID在缓冲器中查找针对先前编码图片中的与相应条带具有相同条带ID的条带所缓冲的上下文熵概率的状态,并且将所述相应条带的起点处的所述上下文熵概率初始化为查找到的状态的上下文熵概率,其中所述视频编码器通过附加地使用来自以下内容的其他信息来执行所述查找:
与所述相应条带相关联的量化参数,
所述相应条带的切片类型,以及
所述当前图片的时间层级;以及
在所述数据流中发信号通知所述第一模式是激活的,并且发信号通知所述查找被限制为使得:当TId>0时,TIdRef=TId-1,否则当TId不大于0时,TIdRef=0,其中TIdref是先前编码图片的时间层级Id,TId是当前图片的时间层级Id。
2.根据权利要求1所述的视频编码器,其中,所述存储器还包括指令,所述指令在由所述至少一个处理器执行时,使所述视频编码器执行所述缓冲,以便针对于所述当前图片中的每个条带,缓冲上下文熵概率的一个或多个最近的状态,所述一个或多个最近的状态是由于对在所述起点(100a,100b,100c)处初始化的所述上下文熵概率进行适配直至相应条带的缓冲点(102a,102b,102c)而产生的。
3.根据权利要求1所述的视频编码器,其中,所述存储器还包括指令,所述指令在由所述至少一个处理器执行时,使所述视频编码器:
在初始化上下文熵概率的第二模式中操作,其中,当在所述第二模式中操作时,独立于其他图片的条带的上下文熵概率,初始化当前图片的条带,并且
在所述数据流中发信号通知所述第一模式和所述第二模式中的哪一个是激活的。
4.一种视频解码器,包括:
至少一个处理器;以及
存储器,所述存储器包括指令,所述指令在由所述至少一个处理器执行时,使所述视频解码器:
通过基于块的解码,从编码数据(14)中解码(20)视频(11’)的图片(12’),
使用上下文自适应熵解码,沿着条带从数据流(14)熵解码(50)出当前图片(12’)的编码数据,所述条带是编码树单元行,所述当前图片的条带具有来自先前解码图片的相应的并置条带,并置条带的位置由公共条带ID指示,在所述条带的起点处对上下文熵概率进行初始化,并且随着条带解码的进行而适配所述上下文熵概率,
针对先前解码图片的条带,缓冲所述上下文熵概率的状态,所述上下文熵概率的状态是由于对在所述起点初始化的所述上下文熵概率进行适配直至相应条带的缓冲点而产生的,
根据第一模式初始化上下文熵概率,其中当在所述第一模式中操作时,针对当前图片(12’)的每个条带,所述解码器使用相应条带的条带ID在缓冲器中查找针对先前解码图片中的与相应条带具有相同条带ID的条带所缓冲的上下文熵概率的状态,并且将所述相应条带的起点处的所述上下文熵概率初始化为查找到的状态的上下文熵概率,并且其中通过附加地使用来自以下内容的其他信息来执行所述查找:
与所述相应条带相关联的量化参数,
所述相应条带的切片类型,以及
所述当前图片的时间层级;以及
从所述数据流中导出所述第一模式是激活的,并且导出所述查找被限制为使得:当TId>0时,TIdRef=TId-1,否则当TId不大于0时,TIdRef=0,其中TIdref是先前解码图片的时间层级Id,TId是当前图片的时间层级Id。
5.根据权利要求4所述的视频解码器,其中,所述存储器还包括指令,所述指令在由所述至少一个处理器执行时,使所述视频解码器执行所述缓冲,以便针对所述当前图片中的每个条带,缓冲上下文熵概率的一个或多个最近的状态,所述一个或多个最近的状态是由于对在所述起点(100a,100b,100c)处初始化的所述上下文熵概率进行适配直至相应条带的缓冲点(102a,102b,102c)而产生的。
6.根据权利要求4所述的视频解码器,其中,所述存储器还包括指令,所述指令在由所述至少一个处理器执行时,使所述视频解码器:
在初始化上下文熵概率的第二模式中操作,其中,当在所述第二模式中操作时,独立于其他图片的条带的上下文熵概率,初始化当前图片的条带,以及
从所述数据流导出所述第一模式和所述第二模式中的哪一个是激活的。
7.一种视频编码方法,包括以下步骤:
通过基于块的编码,将视频(11)的图片(12)编码(92)为编码数据(94),
使用上下文自适应熵编码,沿着条带(90a,90b,90c)将当前图片(12)的编码数据(94)熵编码(98)到数据流(14)中,所述条带是划分当前图片(12)的编码树单元行,所述当前图片的条带具有来自先前图片的相应的并置条带,并置条带的位置由公共条带ID指示,在所述条带的起点(100a,100b,100c)处初始化上下文熵概率,并且随着条带编码的进行而适配所述上下文熵概率,
针对先前编码图片的条带,缓冲所述上下文熵概率的状态,所述上下文熵概率的状态是由于对在所述起点(100a,100b,100c)处初始化的所述上下文熵概率进行适配直至相应条带的缓冲点(102a,102b,102c)而产生的,
根据第一模式初始化上下文熵概率,其中在第一模式中操作包括:针对当前图片(12)的每个条带,使用相应条带的条带ID在缓冲器中查找针对先前编码图片中的与相应条带具有相同条带ID的条带所缓冲的上下文熵概率的状态,并且将所述相应条带的起点处的所述上下文熵概率初始化为查找到的状态的上下文熵概率,其中所述方法还包括通过附加地使用来自以下内容的其他信息来执行所述查找:
与所述相应条带相关联的量化参数,
所述相应条带的切片类型,以及
所述当前图片的时间层级;以及
在所述数据流中发信号通知所述第一模式是激活的,并且发信号通知所述查找被限制为使得:当TId>0时,TIdRef=TId-1,否则当TId不大于0时,TIdRef=0,其中TIdref是先前编码图片的时间层级Id,TId是当前图片的时间层级Id。
8.一种视频解码方法,包括以下步骤:
通过基于块的解码,从编码数据中解码视频的图片,
使用上下文自适应熵解码,沿着条带从数据流熵解码(50)出当前图片(12’)的编码数据,所述条带是划分当前图片(12’)的编码树单元行,所述当前图片的条带具有来自先前解码图片的相应的并置条带,并置条带的位置由公共条带ID指示,在所述条带的起点处初始化上下文熵概率,并且随着条带解码的进行而适配所述上下文熵概率,
针对先前解码图片的条带,缓冲上下文熵概率的状态,所述上下文熵概率的状态是由于对在所述起点初始化的所述上下文熵概率进行适配直至相应条带的缓冲点而产生的,
根据第一模式初始化上下文熵概率,其中在第一模式中操作包括:针对当前图片(12’)的每个条带,使用相应条带的条带ID在缓冲器中查找针对先前解码图片中的与相应条带具有相同条带ID的条带所缓冲的上下文熵概率的状态,并且将所述相应条带的起点处的所述上下文熵概率初始化为查找到的状态的上下文熵概率,其中通过附加地使用来自以下内容的其他信息来执行所述查找:
与所述相应条带相关联的量化参数,
所述相应条带的切片类型,以及
所述当前图片的时间层级;以及
从所述数据流中导出所述第一模式是激活的,并且导出所述查找被限制为使得:当TId>0时,TIdRef=TId-1,否则当TId不大于0时,TIdRef==0,其中TIdref是先前解码图片的时间层级Id,TId是当前图片的时间层级Id。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序当在至少一个处理器上执行时使所述至少一个处理器执行根据权利要求7和8中任一项所述的方法。
CN201980034651.3A 2018-03-29 2019-03-28 用于增强并行编码能力的构思 Active CN112189343B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311291850.7A CN117294838A (zh) 2018-03-29 2019-03-28 用于增强并行编码能力的构思

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18165206.6 2018-03-29
EP18165206 2018-03-29
PCT/EP2019/057900 WO2019185821A1 (en) 2018-03-29 2019-03-28 Concept for enhancing parallel coding capabilities

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311291850.7A Division CN117294838A (zh) 2018-03-29 2019-03-28 用于增强并行编码能力的构思

Publications (2)

Publication Number Publication Date
CN112189343A CN112189343A (zh) 2021-01-05
CN112189343B true CN112189343B (zh) 2023-10-20

Family

ID=61868342

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311291850.7A Pending CN117294838A (zh) 2018-03-29 2019-03-28 用于增强并行编码能力的构思
CN201980034651.3A Active CN112189343B (zh) 2018-03-29 2019-03-28 用于增强并行编码能力的构思

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311291850.7A Pending CN117294838A (zh) 2018-03-29 2019-03-28 用于增强并行编码能力的构思

Country Status (7)

Country Link
US (2) US11805241B2 (zh)
EP (1) EP3777196A1 (zh)
JP (2) JP7187572B2 (zh)
KR (2) KR102566836B1 (zh)
CN (2) CN117294838A (zh)
TW (1) TWI768196B (zh)
WO (1) WO2019185821A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112655208B (zh) 2018-07-09 2023-12-15 弗劳恩霍夫应用研究促进协会 用于编码图片的通用空间划分的编码器和解码器、编码方法和解码方法
US11284075B2 (en) * 2018-09-12 2022-03-22 Qualcomm Incorporated Prediction of adaptive loop filter parameters with reduced memory consumption for video coding
JP6982253B2 (ja) * 2018-10-31 2021-12-17 日本電信電話株式会社 復号装置、符号化装置、復号方法、符号化方法、及びプログラム
KR20220062085A (ko) * 2019-09-20 2022-05-13 알리바바 그룹 홀딩 리미티드 비디오 처리에서 양자화 파라미터 시그널링
TW202344051A (zh) * 2022-03-03 2023-11-01 美商高通公司 基於上下文的算術譯碼的時間初始化點

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012134757A (ja) * 2010-12-21 2012-07-12 Nippon Telegr & Teleph Corp <Ntt> コンテクスト適応エントロピー符号化方法,コンテクスト適応エントロピー復号方法,コンテクスト適応エントロピー符号化装置,コンテクスト適応エントロピー復号装置およびそれらのプログラム
CN102917215A (zh) * 2011-08-05 2013-02-06 美国博通公司 针对cabac/cavlc熵编码的统一二值化
CN103733622A (zh) * 2011-06-16 2014-04-16 弗劳恩霍夫应用研究促进协会 熵编码中的上下文初始化
CN103797793A (zh) * 2011-07-15 2014-05-14 弗兰霍菲尔运输应用研究公司 低延迟的样本阵列编码
CN105027568A (zh) * 2013-01-04 2015-11-04 三星电子株式会社 用于对条带段进行熵编码的方法及其设备以及用于对条带段进行熵解码的方法及其设备
AU2015249167A1 (en) * 2011-06-16 2015-12-03 Ge Video Compression, Llc Context initialization in entropy coding
CN105580373A (zh) * 2013-07-23 2016-05-11 诺基亚技术有限公司 用于视频编码和解码的装置、方法和计算机程序

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9113169B2 (en) 2009-05-07 2015-08-18 Qualcomm Incorporated Video encoding with temporally constrained spatial dependency for localized decoding
US8660177B2 (en) * 2010-03-24 2014-02-25 Sony Computer Entertainment Inc. Parallel entropy coding
CN103563380B (zh) * 2011-05-27 2017-07-21 寰发股份有限公司 减少用于视频处理的行缓冲的方法及装置
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN107483947B (zh) 2012-01-30 2020-04-07 三星电子株式会社 视频编码和解码设备及非暂时性计算机可读存储介质
US20150334425A1 (en) * 2014-05-14 2015-11-19 Blackberry Limited Adaptive context initialization
EP3152906B1 (en) 2014-07-07 2021-06-16 HFI Innovation Inc. Method of intra block copy search and compensation range
KR102276854B1 (ko) * 2014-07-31 2021-07-13 삼성전자주식회사 인루프 필터 파라미터 예측을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US10212445B2 (en) 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
KR101676788B1 (ko) * 2014-10-17 2016-11-16 삼성전자주식회사 멀티코어 시스템 기반 비디오 병렬 복호화 방법 및 그 장치
US20180035123A1 (en) 2015-02-25 2018-02-01 Telefonaktiebolaget Lm Ericsson (Publ) Encoding and Decoding of Inter Pictures in a Video
US10574993B2 (en) * 2015-05-29 2020-02-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
ES2844525B1 (es) 2015-09-11 2022-07-05 Kt Corp Metodo para decodificar un video
US20180020222A1 (en) * 2016-07-12 2018-01-18 Mediatek Inc. Apparatus and Method for Low Latency Video Encoding
EP3328083A1 (en) * 2016-11-23 2018-05-30 Thomson Licensing Method and apparatus for encoding a video applying adaptive quantisation

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012134757A (ja) * 2010-12-21 2012-07-12 Nippon Telegr & Teleph Corp <Ntt> コンテクスト適応エントロピー符号化方法,コンテクスト適応エントロピー復号方法,コンテクスト適応エントロピー符号化装置,コンテクスト適応エントロピー復号装置およびそれらのプログラム
CN103733622A (zh) * 2011-06-16 2014-04-16 弗劳恩霍夫应用研究促进协会 熵编码中的上下文初始化
AU2015249167A1 (en) * 2011-06-16 2015-12-03 Ge Video Compression, Llc Context initialization in entropy coding
CN103797793A (zh) * 2011-07-15 2014-05-14 弗兰霍菲尔运输应用研究公司 低延迟的样本阵列编码
CN102917215A (zh) * 2011-08-05 2013-02-06 美国博通公司 针对cabac/cavlc熵编码的统一二值化
CN105027568A (zh) * 2013-01-04 2015-11-04 三星电子株式会社 用于对条带段进行熵编码的方法及其设备以及用于对条带段进行熵解码的方法及其设备
CN105580373A (zh) * 2013-07-23 2016-05-11 诺基亚技术有限公司 用于视频编码和解码的装置、方法和计算机程序

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于HEVC视频标准的熵编码过程;李恒忠;崔建明;郭勇;李洪强;;电脑知识与技术(14);全文 *

Also Published As

Publication number Publication date
CN112189343A (zh) 2021-01-05
EP3777196A1 (en) 2021-02-17
KR20200132990A (ko) 2020-11-25
WO2019185821A1 (en) 2019-10-03
JP2023025139A (ja) 2023-02-21
JP7187572B2 (ja) 2022-12-12
JP7393510B2 (ja) 2023-12-06
KR102566836B1 (ko) 2023-08-16
US11805241B2 (en) 2023-10-31
US20240048688A1 (en) 2024-02-08
CN117294838A (zh) 2023-12-26
US20210014480A1 (en) 2021-01-14
TW201946466A (zh) 2019-12-01
JP2021518718A (ja) 2021-08-02
TWI768196B (zh) 2022-06-21
KR20230119739A (ko) 2023-08-16

Similar Documents

Publication Publication Date Title
CN112189343B (zh) 用于增强并行编码能力的构思
US10419755B2 (en) Confusion of multiple filters in adaptive loop filtering in video coding
US11284086B2 (en) Decoder side intra mode derivation (DIMD) tool computational complexity reduction
JP5869121B2 (ja) ビデオコーディングのための非正方形ブロックのデブロッキング
US20190238845A1 (en) Adaptive loop filtering on deblocking filter results in video coding
RU2639679C2 (ru) Способ декодирования изображения, способ кодирования изображения, устройство декодирования изображения, устройство кодирования изображения и устройство кодирования и декодирования изображения
US11070839B2 (en) Hybrid video coding
KR20200003286A (ko) 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
KR102293097B1 (ko) 비디오 코딩을 위한 디바이스들 및 방법들
KR20210100123A (ko) 타일 독립성 제약을 이용하는 인터 예측 개념
US11956463B2 (en) Methods for performing wrap-around motion compensation
US11785237B2 (en) Methods for signaling video coding data
Schwarz et al. Block structures and parallelism features in HEVC
US11490097B2 (en) Method and apparatus for signaling subpicture partitioning information
KR102090053B1 (ko) 픽셀블록 필터링 방법 및 장치
US20210329254A1 (en) Bitrate control method for video coding
US20210368210A1 (en) Method and apparatus for processing video content
WO2023024712A1 (en) Method and apparatus of joint coding for multi-colour components in video coding system
US11711528B2 (en) Systems and methods for liner model derivation
US20230217026A1 (en) Fusion of video prediction modes
CN110537370B (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