视频数据处理系统的制作方法_3

文档序号:9924095阅读:来源:国知局
[0095]编码操作本身可以由整体视频处理系统的任意期望和适当部件或元件来执行。优选的是,该系统包括用于该目的的一个或多个编码单元,每个编码单元可以操作用于按一种或多种给定的视频编码格式对“原始”视频数据进行编码。如上所述,该系统优选地包括可以操作用于对多组未编码数据块并行编码的多个编码单元。为此,可以设置任意期望数量的编码单元,例如,两个编码单元,至多设置例如与给定未编码数据块序列(例如,帧)将划分成的组的数量一样多的编码单元。
[0096]该系统的编码单元可以根据需要配置和设置,例如,设置在单个处理器中,或者设置为多核系统中的独立处理核心。
[0097]如上所述,正在编码的给定一对数据块组的第二组数据块中例如第一数据块的编码后的版本包括相对编码参数值,解码器使用该相对编码参数值导出在对第二组中的数据块进行解码时使用编码参数值。解码器将使用第二组中的例如第一数据块的相对编码参数值,并参考该对中第一组的最末编码数据块的编码参数值,导出在对第二组中的例如第一数据块进行解码时使用的编码参数值。
[0098]然而,申请人认识到,在编码处理并行化的情况下,第二组中的第一数据块的编码很可能在第一组中的最末数据块结束编码之前完成。
[0099]结果,第二组中第一数据块的编码后的版本中包含的相对编码参数值将不基于前续组块的最末块的已知编码参数值,因此,不一定能够参照前续第一组中最末编码数据块的编码参数值并使用第二组中的第一编码数据块中指示的相对编码参数值正确地确定(用于对第二组中的第一数据块进行编码的)所确定的编码参数值。
[0100]为了解决这一问题,本发明的操作确保待编码的给定对数据块组的第一组中的编码数据块指示如下的编码参数值,该编码参数值使得解码器例如在使用第二组中的例如第一编码数据块中包含的相对编码参数值来导出在对第二组中的例如第一数据块进行解码时使用的编码参数值时,导出该对数据块组的第二组中的例如第一编码数据块的(正确的)所确定的编码参数值。
[0101]换言之,本发明确保,在解码器开始处理(解码)第二组中的第一编码数据块之前向解码器指示的最末编码参数值是适当的值,该适当的值用于使得解码器导出第二组中第一编码数据块的所确定的编码参数值。
[0102]随后,解码器遵循根据重建编码视频数据时所选择的视频编码格式的比特流顺序,确定在对第二组块的第一块进行解码时用于编码参数的正确值(从而能够对编码数据正确地解码)。
[0103]为此,第一组的编码数据块中指示的编码参数值应当并且优选地是如下的值,该值在例如与第二组的例如第一数据块的编码后的版本中包含的相对编码参数值一起使用时,将使得解码器导出第二组的例如第一编码数据块的(正确的)所确定的编码参数值。因此,第一组的编码数据块中指示的编码参数值应当依赖于解码器如何基于所指示的编码参数值确定要使用的编码参数值。
[0104]例如,在解码器通过将第二组的例如第一数据块中指示的相对编码参数值与前一块中使用的编码参数值组合起来(例如,相加)而确定要用于第二组的例如第一数据块的编码参数值的情况下,应当并且优选地确保第一组中的块指示如下的编码参数值,亦即,例如,第二组中的第一数据块的所确定的编码参数值减去第二组的第一数据块中指示的相对编码参数值。
[0105]可以按任何适当和期望方式确保第一组块中的编码数据块指示合适的编码参数值。
[0106]在一个优选实施方式中,通过将第一组编码数据块中的编码数据块设置为指示合适的编码参数值来实现。优选地,通过在编码块中指示将得到该块的合适编码参数值的相对编码参数值来实现。
[0107]在该情况下,优选地还使用所指示的编码参数值对第一组中的数据块进行编码。这可以(并且在一个优选实施方式中确实)包括:如果无需指示要与第二组块中的例如第一块一起使用的编码参数值(即,将要与第二组块中的例如第一块一起使用的编码参数值指示为编码器简单地基于数据块的内容和期望比特率要用于该块的值),则使用如下的编码参数值对该块进行编码,该编码参数值不同于要用于该块的编码参数值或者由要用于该块的编码参数值修改而来。
[0108](另一方面,如果编码方案使得编码块能够指示编码参数值而无需真正使用所指示的编码参数值对数据块进行编码,则可以根据需要使用不同的编码参数值对该块进行编码。)
[0109]被设置指示合适的编码参数值的数据块可以是第一组数据块中的任何适当和期望的数据块。中一个优选实施方式中,将第一组数据块中的最末数据块设置为指示合适的编码参数值。中该情况下,本发明将确保从解码器角度所涉及的该对数据块组的第一组中的最末数据块与第二组的第一数据块之间的正确依从性。
[0110]在其他实施方式中将第一组中并非该第一组中最末数据块的给定的优选选择或期望的数据块设置为指示合适的编码参数值。这中如下的配置中特别有利,其中该组中后续数据块的编码参数值是或者可以是各块不变的(例如对于块的内容中块之间变化不是特别大的块序列而言)。例如,可以将同一个编码参数值应用于整组块。在一个优选的这种配置中,将所涉及的该对数据块组的第一组数据块中的第一数据块设置为指示合适的编码参数值。
[0111]在一个实施方式中,在编码处理本身期间执行将第一组块中的一个(或多个)块设置为指示期望的编码参数值的操作。然而,其同样可以独立于编码处理而作为后处理操作来执行。在这种配置总,首先对至少一对第一组数据块和第二组数据块进行编码,但随后对所得到的编码数据块(即,所得到的比特流)进行处理以将第一组中的编码数据块设置为指示合适的编码参数值,该合适的编码参数值将使得解码器导出第二组的例如第一编码数据块的所确定的编码参数值。
[0112]虽然该确保步骤作为后处理操作执行,但在一些情况下优选地还可以或者替代地(并且优选的是替代地)将第二组的例如第一数据块的编码参数值设置为合适的值,该合适的值使得解码器导出第二组的第一编码数据块的所确定的编码参数值(因为前一组的足膜块的编码参数值是已知的后处理)。在一个优选实施方式中,这即是所做的操作。(然而,发明人认识到,并非总是能够这样做,因为在单个编码块中不一定能够指示在某些情况下需要包含在编码数据块中的相对编码参数值。)
[0113]上述配置可以简单操作为,将第一组中的数据块设置为指示合适的编码参数值(在一个实施方式中,确实是这样做的)。因此,例如,该处理可以总是将“第一”组的最末块编码为指示期望的编码参数值。
[0114]然而,申请人认识到可能是如下情形:在任何情况下使用(并因此而指示)第一组中的数据块指示的期望编码参数值对第一组块的数据块进行编码。在这种情况下,第一组中数据块的编码后的版本已经指示了合适的编码参数值,而无需进一步“强制”第一组块中的数据块再指示。
[0115]因而,在一个优选实施方式中,首先检查第一组中的数据块是否已经指示了合适的编码参数值,然后仅当第一组中的数据块并未指示合适的编码参数值时,将第一组中的数据块设置为指示合适的编码参数值。
[0116]在该实施方式中,“确保”操作因此而包括:确定(例如,在决策阶段)第一组中数据块的编码参数值是否使得解码器导出该对组的第二组中例如第一编码数据块的所确定的编码参数值(例如使用第二组中第一数据块的相对编码参数值),如果确定第一组中数据块的编码参数值将不使得解码器导出第二组中例如第一编码数据块的所确定的编码参数值,则将第一组中数据块设置为指示合适的编码参数值(但是,如果确定第一组中数据块的编码参数值将使得解码器导出第二组中例如第一编码数据块的所确定的编码参数值,则不将第一组中(另一)数据块设置为指示合适的编码参数值)。
[0117]可以按照任何适当或期望的方式完成该确定操作,例如通过跟踪用作被编码第一组块的编码参数值,并确定何时(以及是否)是要用于第二组块的例如第一块的期望值。
[0118]因此,在一个优选实施方式中,确保步骤包括:有条件地修改第一组中数据块的编码参数值,使得确保第一组中的数据块将指示如下编码参数值,该编码参数值将使得解码器导出第二组中例如第一数据块的所确定的编码参数值。可以按任何适当和期望的方式(例如,在编码处理本身期间,或者与编码处理独立并作为后处理操作)来实现对第一组中数据块的编码参数值的修改。
[0119]将理解的是,从以上可以看出,在本发明的优选实施方式中,对于给定一对第一组编码数据块和第二组编码数据块,确定将用于该对的第二组的第一数据块的编码参数值。第二组数据块的第一编码块以及(该对的)前续第一组编码数据块中的编码块(例如,第一或最末块),将各自指示相应的相对编码参数值,其中这两个相对编码参数值将选择和设置为使得它们共同(与已经用于或者块序列中前续块所指示的任何前续编码参数值一起)使得解码器导出第二组块中第一块的所确定(选择)的编码参数值。
[0120]此外,第一组块中编码块所指示的合适的相对编码参数值或者是作为使用相应编码参数值进行编码的该组中块的结果而得到,或者是通过“强制”第一组块中编码块指示合适的相对编码参数值(并优选地使用期望的对应编码参数值)而得到。
[0121]给定一对第一组数据块和第二组数据块中的第一组数据块的给定编码数据块设置为向解码器指示特定编码参数值从而确保解码器将正确导出第二组中例如第一数据块的所确定的编码参数值,随后用于对第一组数据块中的数据块进行解码的编码类型(块类型,例如宏块)使得中编码块中指示期望的编码参数值(例如,相对编码参数值),随后可以简单实现该处理。
[0122]然而,申请人认识到,在希望将第一组中的编码数据块设置为指示编码参数值的一些情况下,该块的(原始)希望的编码类型(块类型)可能不支持指示合适的编码参数值。
[0123]例如,申请人认识到,一些编码块类型不支持向解码器指示编码参数值的编号,例如,由于它们不包含(相对编码参数值)字段。
[0124]例如,许多视频编码格式使得并未相对于所涉及的块依从的前续基准块发生变化的数据块能够按非常有效的方式编码,这不允许向解码器指示其他的编码参数值。典型地,使用如下编码类型对这种数据块进行编码,即该编码类型使用与“完全”编码类型中所用的相比缩减的(在某些情况下不同的)句法单元集合,其中,该不同的句法单元集合不包括支持向解码器指示编码参数值的句法单元。例如,在H.264视频编码格式中,使用“跳跃”句法单元将这种数据块(或这种数据块的序列)编码为“跳跃块类型,其中通常除了跳跃指示以外并未编码其他信息。(其他编码格式具有相同的句法单元。)
[0125]所谓“跳跃块”不能向解码器指示编码参数值。而是,解码器将读取跳跃指示,并响应于此将来自数据块序列中前一块的编码数据用作该跳跃指示所涉及的块的数据。申请人认识到,在需要设置为合适编码参数值的数据块例如是“跳跃”块的配置中,这可能会导致编码问题。
[0126]在需要设置为合适编码参数值的数据块例如是“跳跃”块的情形中,在某些情况下,通过将该序列中前续数据块设置为指示合适的编码参数值,仍能够确保第一组中的数据块指示如下的编码参数值,该编码参数值将使得解码器导出第二组中例如第一数据块的所确定的编码参数值。然而,这并非总是能够如此,甚至有可能是无法实现的(例如中该组中的每个数据块都是“跳跃”块的情况下)。
[0127]在一个特别优选的实施方式中,将第一组中的编码数据块设置为指示如下编码参数值(该编码参数值使得解码器导出第二组中例如第一编码块的正确的所确定的编码参数值)的处理可以(并且优选地确实)包括(如果有必要):如果无需指示要用于第二组块中例如第一块的编码参数值,则使用与用于该块的编码类型不同并且/或者由它修改而来的编码类型对要如此设置的第一组中的块进行编码。_
[0128]相应地,如果在后处理中第二组的例如第一数据块的编码参数值设置为一个合适的编码参数值,则在一个特别优选的实施方式中,该设置处理可以(并且优选地确实)包括:(如果有必要)如果无需指示编码参数值,则使用与用于该块的编码类型不同并且/或者由它修改而来的编码类型对要如此设置的第二组中的例如第一块进行编码。
[0129]例如,并且优选地,上述配置可以(并且优选地确实)包括:将要被编码为“跳跃”块的块编码为“非跳跃”块,以使得所编码的块能够向解码器传递期望的编码参数值。
[0130]在编码数据块的编码类型是从用于该块的编码类型修改而来的这些配置中,优选地,所使用的另选编码类型是足以能够指示期望编码参数值但能够对该块有效编码的编码类型(例如,包括相对编码参考值的编码类型),并且优选地是尽可能有效地对该块有效编码的编码类型(例如,优选地,尽可能接近“跳跃”编码并同时仍能够向解码器指示期望编码参数值)。因此,例如,在可能的情况下,优选地使用并非“完全”编码类型(其能够将编码参数值传递到解码器)的编码类型,而不是简单地对该块使用“完全”编码类型。
[0131]在所使用的另选编码类型是使用与用于该块的句法单元集合不同的句法单元集合的编码类型的优选配置中,其中该不同的句法单元集合包括能够支持指示合适编码参数值的至少一个句法单元。
[0132]因此,在一个优选实施方式中,确保第一组中的数
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1