视频编码器、视频编码系统和视频编码方法与流程

文档序号:12279708阅读:203来源:国知局
视频编码器、视频编码系统和视频编码方法与流程

本发明涉及视频通信领域,尤其涉及一种视频编码器、视频编码系统和视频编码方法。



背景技术:

多媒体内容产生和分发操作通常包括视频编码。视频编码过程通常是计算密集型的。结果,视频编码过程可能是非常耗时的。例如,编码器编码一部高质量高清电影可能要花费数十小时。尤其是对于高分辨率和高帧率场景,一个编码器往往难以处理,可能会产生较为严重的延迟。由于视频编码的时间对于成功的多媒体内容产生和分发流水线而言是重要因素,因此减少视频编码时间的系统和技术将是非常有用的。



技术实现要素:

在发明内容部分中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本发明的发明内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。

一方面,本发明公开了一种视频编码器,包括逻辑控制模块和编码模块。其中,所述逻辑控制模块配置为接收外部控制器发送的对每一帧图像的指定部分进行编码的控制命令,并将所述控制命令发送给所述编码模块;以及所述编码模块配置为从所述逻辑控制模块接收所述控制命令,并基于所述控制命令对每一帧图像的所述指定部分进行编码,以与其他多个所述视频编码器合作完成每一帧图像的编码。

在本发明的一个实施例中,所述编码模块包括帧间预测模块、帧内预测模块、模式判决模块和熵编码模块,其中,所述帧间预测模块和所述帧内预测模块均配置为将每一帧图像的所述指定部分视为一帧图像数据。

在本发明的一个实施例中,所述帧间预测模块和所述帧内预测模块各 自的寄存器的值基于每一帧图像的所述指定部分的图像大小而设置。

在本发明的一个实施例中,所述帧间预测模块配置为在进行帧间预测时将已经编码的前一帧整帧图像作为参考帧。

在本发明的一个实施例中,在所述视频编码器中编码的每一帧图像的指定部分定义为条带(strip),所述条带的边界无需进行去块效应滤波。

在本发明的一个实施例中,所述视频编码器进行编码的条带和与所述视频编码器合作完成编码的其他多个所述视频编码器的每一个进行编码的条带大小相近。

在本发明的一个实施例中,所述视频编码器通过配置NVENC硬件编码引擎而实现。

在本发明的一个实施例中,所述视频编码器能够应用于GP100图形处理单元中。

另一方面,本发明还公开了一种视频编码系统,包括控制器、多个视频编码器和存储器。其中,所述控制器配置为向所述多个视频编码器中的每一个发送控制命令,以控制每一帧图像由所述多个视频编码器共同完成编码;以及所述多个视频编码器中的每一个配置为接收所述控制命令、基于所述控制命令从所述存储器读取一帧图像的部分数据、对所读取的数据进行编码、以及将经编码的数据写入所述存储器。

在本发明的一个实施例中,所述多个视频编码器中的每一个进行编码的一帧图像的部分数据定义为条带,所述多个视频编码器中的每一个进行编码的条带大小相近。

在本发明的一个实施例中,所述视频编码器包括逻辑控制模块和编码模块。其中,所述逻辑控制模块配置为接收所述控制器发送的所述控制命令,并将所述控制命令发送给所述编码模块;以及所述编码模块配置为从所述逻辑控制模块接收所述控制命令,并基于所述控制命令对每一帧图像的指定部分进行编码,以与其他多个所述视频编码器合作完成每一帧图像的编码。

在本发明的一个实施例中,所述编码模块包括帧间预测模块、帧内预测模块、模式判决模块和熵编码模块,其中,所述帧间预测模块和所述帧内预测模块均配置为将每一帧图像的所述指定部分视为一帧图像数据。

在本发明的一个实施例中,所述帧间预测模块和所述帧内预测模块各 自的寄存器的值基于每一帧图像的所述指定部分的图像大小而设置。

在本发明的一个实施例中,所述帧间预测模块配置为在进行帧间预测时将已经编码的前一帧整帧图像作为参考帧。

在本发明的一个实施例中,在所述多个视频编码器的每一个中编码的条带的边界无需进行去块效应滤波。

再一方面,本发明还公开了一种视频编码方法,包括:将每一帧图像分为多个条带;将所述多个条带分配给多个视频编码器进行编码;以及将经编码的多个条带合并为一帧经编码的图像。

在本发明的一个实施例中,所述条带的数目与所述视频编码器的数目相等。

在本发明的一个实施例中,所述将每一帧图像分为多个条带进一步包括:将每一帧图像按照水平方向分为多个条带。

在本发明的一个实施例中,所述多个条带的边界无需进行去块效应滤波。

在本发明的一个实施例中,所述视频编码器为包括逻辑控制模块和编码模块。其中,所述逻辑控制模块配置为接收外部控制器发送的对每一帧图像的指定条带进行编码的控制命令,并将所述控制命令发送给所述编码模块;以及所述编码模块配置为从所述逻辑控制模块接收所述控制命令,并基于所述控制命令对每一帧图像的所述指定条带进行编码,以与其他多个所述视频编码器合作完成每一帧图像的编码。

使用本发明提供的视频编码器、视频编码系统和视频编码方法,每一帧图像可以由多个视频编码器共同完成,从而有效减少编码时间,降低编码延迟,实现对高清视频源尤其是4k及其以上分辨率视频源的实时编码。

附图说明

本发明的下列附图在此作为本发明的一部分用于理解本发明。附图中示出了本发明的实施例及其描述,用来解释本发明的原理。在附图中,

图1示出了根据本发明一个实施例的视频编码器的结构框图;

图2示出了根据本发明一个实施例的视频编码系统的结构框图;以及

图3示出了根据本发明的一个实施例的视频编码方法的流程图。

具体实施方式

在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员来说显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。

为了彻底了解本发明,将在下列的描述中提出详细的结构。显然,本发明的施行并不限定于本领域的技术人员所熟习的特殊细节。本发明的较佳实施例详细描述如下,然而除了这些详细描述外,本发明还可以具有其他实施方式。

在现有的视频编码技术中,一帧图像通常仅由一个编码器进行编码。然而,一个编码器难以满足高分辨率、高帧率和/或实时处理的应用场合。

根据本发明的一方面,公开了一种视频编码器。图1示出了根据本发明一个实施例的视频编码器100的结构框图。如图1所示,该视频编码器100包括逻辑控制模块101和编码模块102。其中,逻辑控制模块配置为接收外部控制器发送的对每一帧图像的指定部分进行编码的控制命令,并将该控制命令发送给编码模块102;编码模块102配置为从逻辑控制模块101接收控制命令,并基于该控制命令对每一帧图像的指定部分进行编码,以与其他多个视频编码器合作完成每一帧图像的编码。这里,其他多个视频编码器可以是和视频编码器100结构相同的编码器。每个视频编码器100基于所接收的控制命令从外部存储器读取一帧图像的指定部分,并对该帧图像的该指定部分进行编码,使该帧图像的编码可以由多个视频编码器来共同完成,从而有效减少编码时间,降低编码延迟,实现对高清视频源尤其是4k及其以上分辨率视频源的实时编码。例如,可以由3个视频编码器100共同完成一帧图像的编码,其中每个视频编码器100完成一帧图像的指定部分的编码,例如每个视频编码器100完成一帧图像的三分之一。

根据本发明的一个实施例,编码模块102可以包括帧间预测模块1021、帧内预测模块1022、模式判决模块1023和熵编码模块1024。其中,帧间预测模块1021进行帧间运动估计和运动补偿,帧间预测模块1021还配置为在进行帧间预测时将已经编码的前一帧整帧图像作为参考帧;帧内预测模块1022进行帧内预测编码,并将最终的残差等需要编码的信息发送给熵编码模块1024;模块判决模块1023从帧间预测结果和帧内预测结果中选出最优的预测结果,并将该最优结果返回给帧间预测模块1021和帧内预测 模块1022;熵编码模块1024对预测残差等信息进行编码,并将编码后的结果写入外部存储器。

其中,帧间预测模块1021和帧内预测模块1022均可以配置为将每一帧图像的指定部分视为一帧图像数据。例如,通过对帧间预测模块1021和帧内预测模块1022进行配置,使其各自的寄存器的值基于每一帧图像的指定部分的图像大小而设置。如上面的示例所述,可以由3个视频编码器100共同完成一帧图像的编码,其中每个视频编码器100完成一帧图像的指定部分的编码,例如每个视频编码器100完成一帧图像的三分之一。此处,该3个视频编码器100内的帧间预测模块1021和帧内预测模块1022中的图像高度和宽度寄存器的值可以基于三分之一帧图像的高度和宽度而设置。此外,在帧间预测模块1021中和熵编码模块1024中,宏块(MB)位置寄存器的值可以基于该宏块在整幅图像中的位置而设置。这样,编码模块102可以将其读取的一帧图像的一部分视为独立的一帧图像数据而非一帧图像的一部分,从而在完成该指定部分的编码时发出本帧编码结束的信号,实现多个编码器共同完成一帧图像的编码。

根据本发明的一个实施例,在视频编码器100中编码的每一帧图像的指定部分可以定义为条带,所述条带的边界无需进行去块效应滤波。由于每个视频编码器100仅编码一帧图像的一部分,换句话说,一帧图像的两个边界的像素点分别位于两个视频编码器100内,因此,在视频编码器100中编码的条带的边界无需进行去块效应滤波。

根据本发明的一个实施例,视频编码器进行编码的条带和与视频编码器合作完成编码的其他多个视频编码器的每一个进行编码的条带大小相近。如上面的示例所述,可以由3个视频编码器100共同完成一帧图像的编码,其中每个视频编码器100完成一帧图像的指定部分的编码。该3个视频编码器100各自所完成的编码量可以相同(例如每个视频编码器100完成一帧图像的三分之一)也可以不同。每个视频编码器100完成大小相近的条带的编码可以最大限度地提高编码效率。

根据本发明的一个实施例,视频编码器100可以通过配置NVENC硬件编码引擎而实现。NVENC为H.264硬件编码引擎,其可以提供较快的编码和转码速度,还可以提供良好的性能瓦特比。

根据本发明的一个实施例,视频编码器100能够应用于GP100图形 处理单元中。GP100图像处理单元中包括3个NVENC编码引擎,通过将每个NVENC编码引擎配置为如上所述的视频编码器100,可以实现GP100图像处理单元中3个NVENC编码引擎合作完成每帧图像的编码,从而提高编码速度,减少编码时间,实现对高清视频源尤其是4k及其以上分辨率视频源的实时编码。

根据本发明的另一方面,还公开了一种视频编码系统。图2示出了根据本发明一个实施例的视频编码系统200的结构框图。如图2所示,该视频编码系统200包括控制器201、多个视频编码器202和存储器203。其中,控制器201配置为向多个视频编码器202中的每一个发送控制命令,以控制每一帧图像由多个视频编码器202共同完成编码;多个视频编码器202中的每一个配置为接收控制命令、基于控制命令从存储器读取一帧图像的部分数据、对所读取的数据进行编码、以及将经编码的数据写入存储器。这里,多个视频编码器202中的每一个可以与图1所示的视频编码器100的结构相同。为了描述简单,此处不再赘述视频编码器202的结构和工作过程。与先前示例类似,在一个示例中,视频编码系统200可以包括3个视频编码器202,其中每个视频编码器可以基于控制器201的控制命令从存储器203读取一帧图像的指定部分并对其进行编码。这样,可以由视频编码系统200内包括的3个视频编码器202合作完成每帧图像的编码。

根据本发明的一个实施例,多个视频编码器202中的每一个进行编码的一帧图像的部分数据可以定义为条带,多个视频编码器202中的每一个进行编码的条带大小相近。如上面的示例所述,视频编码系统200可以包括3个视频编码器202,其中每个视频编码器可以基于控制器201的控制命令从存储器203读取一帧图像的指定部分并对其进行编码。该3个视频编码器202各自要完成的编码量可以相同(例如每个视频编码器202完成一帧图像的三分之一)也可以不同。每个视频编码器202完成相同大小相近的条带的编码可以最大限度地提高编码效率。

根据本发明的一个实施例,视频编码器202可以通过配置NVENC硬件编码引擎而实现。视频编码系统200能够实现于GP100图形处理单元中。其中,控制器201可以由GP100图形处理单元的GPU控制中心实现,多个视频编码器202可以由GP100图形处理单元的3个NVENC硬件编码引擎实现,并且存储器203可以由GP100图形处理单元的GPU显存实现。

本领域普通技术人员可以理解,上述包括3个视频编码器202的视频编码系统200仅为一个实施例,视频编码系统200可以包括其他数目的视频编码器202以满足不同的编码需求。此外,视频编码系统200可以实现在其他图形处理单元(非GP100图形处理单元)中。

根据本发明的再一方面,还公开了一种视频编码方法。图3示出了根据本发明的一个实施例的视频编码方法300的流程图。该视频编码方法300包括以下步骤:

步骤301:将每一帧图像分为多个条带;

步骤302:将多个条带分配给多个视频编码器进行编码;

步骤303:将经编码的多个条带合并为一帧经编码的图像。

此处所述的视频编码器例如可以采用如图1所示的视频编码器100的结构,以支持一个视频编码器仅编码一帧图像的一部分。为了描述简单,此处不再赘述视频编码方法300中所述的视频编码器的结构和工作过程。

根据本发明的一个实施例,条带的数目与视频编码器的数目可以相等。例如,当包括3个视频编码器时,可以将每一帧图像分为3个条带,每个视频编码器完成1个条带的编码。每个视频编码器完成相同数据量的编码可以最大限度地提高编码效率。

根据本发明的一个实施例,将每一帧图像分为多个条带可以进一步包括:将每一帧图像按照水平方向分为多个条带。从外,由于将每一帧图像分为多个条带,每一帧图像的两个边界的像素点分别位于两个视频编码器内,因此多个条带的边界无需进行去块效应滤波。

通过该视频编码方法300,一帧图像的编码可以由多个视频编码器合作完成。每个视频编码器仅需处理一帧图像的一部分,与一个视频编码器处理整帧图像相比,有效提高了编码效率,减少了编码时间。

本发明已经通过上述实施例进行了说明,但应当理解的是,上述实施例只是用于举例和说明的目的,而非意在将本发明限制于所描述的实施例范围内。此外本领域技术人员可以理解的是,本发明并不局限于上述实施例,根据本发明的教导还可以做出更多种的变型和修改,这些变型和修改均落在本发明所要求保护的范围以内。本发明的保护范围由附属的权利要求书及其等效范围所界定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1