掌桥专利:专业的专利平台
掌桥专利
首页

视频编码方法、装置以及计算机存储介质

文献发布时间:2024-04-18 19:58:26


视频编码方法、装置以及计算机存储介质

技术领域

本申请涉及视频编解码技术领域,特别是涉及一种视频编码方法、视频解码装置以及计算机存储介质。

背景技术

基于传统编码端视频叠加方法,视频采集后编码前叠加到YUV叠加信息和原始视频融合在一起送编码,叠加区域图片原始信息丢失,解码进行图像放大,局部观看时,叠加信息显示不完整;传统解码显示端叠加信息方法,再解码后叠加解码器设置信息,不能准确表达原始录像信息。

发明内容

为解决上述技术问题,本申请提出了一种视频编码方法、视频解码装置以及计算机存储介质。

为解决上述技术问题,本申请提出了一种视频编码方法,所述视频编码方法应用于一种视频编码装置,所述视频编码装置包括视频编码器和视频叠加模块;所述视频编码方法包括:

所述视频编码器获取视频编码后的视频帧码流;

所述视频叠加模块获取视频叠加信息,所述视频编码器将所述视频叠加信息封装为协议扩展数据包;

所述视频编码器将所述协议扩展数据包插入所述视频帧码流进行存储或传输。

其中,所述视频叠加模块获取视频叠加信息之后,所述视频编码方法还包括:

所述视频叠加模块获取上一个视频叠加信息;

所述视频叠加模块比较所述上一个视频叠加信息和当前的视频叠加信息;

所述视频叠加模块在所述上一个视频叠加信息和所述当前的视频叠加信息一致时,所述视频编码器不封装所述当前的视频叠加信息;

所述视频叠加模块在所述上一个视频叠加信息和所述当前的视频叠加信息不一致时,所述视频编码器将所述视频叠加信息封装为协议扩展数据包。

其中,所述视频编码方法还包括:

所述视频叠加模块在所述上一个视频叠加信息和所述当前的视频叠加信息不一致时,设置更新标志,并将所述更新标志通知所述视频编码器;

所述视频编码器基于所述更新标志将所述当前的视频叠加信息封装为协议扩展数据包。

为解决上述技术问题,本申请还提出一种视频解码方法,所述视频解码方法应用于一种视频解码装置,其中,所述视频解码装置包括视频解码器、视频叠加模块以及数据融合模块;所述视频解码方法包括:

所述视频叠加模块对所述视频帧码流进行解析,获取协议扩展数据包;

所述视频叠加模块从所述协议扩展数据包解析出视频叠加信息;

所述视频解码器对所述视频帧码流进行解码,得到解码视频帧;

所述数据融合模块将所述视频叠加信息与所述解码视频帧融合,得到显示视频帧。

其中,所述视频解码装置还包括图像处理模块;所述视频解码器对所述视频帧码流进行解码,得到解码视频帧之后,所述视频解码方法还包括:

所述图像处理模块将所述解码视频帧裁剪和/或缩放至显示模块的当前码流分辨率。

其中,所述视频叠加模块从所述协议扩展数据包解析出视频叠加信息之后,所述视频解码方法还包括:

所述视频叠加模块比较所述视频叠加信息与保存视频叠加信息;

在所述视频叠加信息与所述保存视频叠加信息不一致时,所述视频叠加模块设置更新标志为第一标志值,并将所述视频叠加信息通过所述图像处理模块根据所述当前码流分辨率缩放到预设比例的尺寸;

所述数据融合模块将所述视频叠加信息与所述解码视频帧融合,得到显示视频帧,包括:

所述数据融合模块根据所述第一标志值将所述视频叠加信息与所述解码视频帧融合,得到显示视频帧。

其中,所述数据融合模块将所述视频叠加信息与所述解码视频帧融合,得到显示视频帧,包括:

所述数据融合模块根据第二标志值将所述解码视频帧作为所述显示视频帧;

其中,在所述视频叠加信息与所述保存视频叠加信息一致时,所述视频叠加模块设置更新标志为第二标志值。

为解决上述技术问题,本申请还提出一种视频编码装置,所述视频编码装置包括存储器以及与所述存储器耦接的处理器;

其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如上述的视频编码方法。

为解决上述技术问题,本申请还提出一种视频解码装置,所述视频解码装置包括存储器以及与所述存储器耦接的处理器;

其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如上述的视频解码方法。

为解决上述技术问题,本申请还提出一种计算机存储介质,所述计算机存储介质用于存储程序数据,所述程序数据在被计算机执行时,用以实现上述的视频编码方法,和/或视频解码方法。

与现有技术相比,本申请的有益效果是:所述视频编码器获取视频编码后的视频帧码流;所述视频叠加模块获取视频叠加信息,所述视频编码器将所述视频叠加信息封装为协议扩展数据包;所述视频编码器将所述协议扩展数据包插入所述视频帧码流进行存储或传输。通过上述视频编码方法,视频叠加信息不会污染原始图像,保证图像的每个像素点的内容都完整,视频叠加信息的叠加区域图像质量更高,不会干扰后端智能检测。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

其中:

图1是本申请提供的叠加区域图像被遮挡背景信息缺失示例图;

图2是本申请提供的解码方法叠加信息显示不全示例图;

图3是本申请提供的编解码装置一实施例的结构示意图;

图4是本申请提供的视频编码方法一实施例的流程示意图;

图5是本申请提供的视频编码方法的整体流程示意图;

图6是本申请提供的视频解码方法一实施例的流程示意图;

图7是本申请提供的视频解码方法的整体流程示意图;

图8是本申请提供的视频编码装置的一实施例的结构示意图;

图9是本申请提供的视频解码装置的一实施例的结构示意图;

图10是本申请提供的计算机存储介质一实施例的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请主要涉及视频编解码、视频信息处理技术,尤其涉及使用视频信息分离技术解决传统视频信息叠加对原始视频画质影响、视频缩放后叠加信息不完整的问题。

本申请主要解决视频叠加后视频原始图像被污染,如OSD叠加区域背景图像不完整,叠加区域图像内容缺失的问题,具体请参阅图1,图1是本申请提供的叠加区域图像被遮挡背景信息缺失示例图;智能检测和1及图像解码放大显示图像叠加信息显示不完整的问题,如图像区域放大看不到OSD显示等,具体请参阅图2,图2是本申请提供的解码方法叠加信息显示不全示例图。

其中,OSD指的是OnScreenDisplay,中文翻译为屏幕显示。它是一种程序,可以在电子设备的屏幕上显示各种文本、图形和图标等信息。

本申请结合采集编码模块和解码显示模块完成OSD信息的叠加,编码模块将视频叠加信息保存在H26X的补充增强信息(SEI)中,随码流一同封装、存储、传输、解码。解码模块通过解析码流的补充增强信息(SEI),得到编码端的视频叠加原始点阵信息,在码流解码后,将叠加的点阵数据使用解码器的GOP模块完成叠加的点阵内容和YUV数据融合后再送显示模块显示,这样解决了视频叠加区域图像受污染问题。也解决了解码端图像放大后OSD缺失,即放大区域没有OSD或者OSD被放大问题,即放大OSD所在区域图像。

具体请参阅图3,图3是本申请提供的编解码装置一实施例的结构示意图。如图3所示,本申请的编解码装置包括采集编码端,即视频编码装置,和解码显示端,即视频解码装置。在采集编码端,利用编码器将OSD信息作为SEI插入码流。在解码显示端,利用解码器解码SEI的OSD信息,解码器来叠加视频叠加信息。下面介绍本申请中所涉及的技术名词:

编码器:视频编码器,支持YUV图像输入,输出H26X码流。

解码器:视频解码器,支持H26X码流输入,YUV图像输出。

OSD:视频叠加信息,假设此处为转换后的点阵数据。

GOP:OSD数据和YUV融合模块。

SEI:H26X协议中自定义数据,用户可随意定制。

VPSS:图像处理模块,有图像裁剪缩放功能。

具体请参阅图4和图5,图4是本申请提供的视频编码方法一实施例的流程示意图,图5是本申请提供的视频编码方法的整体流程示意图。

本申请的视频编码方法应用于视频编码装置,其中,视频编码装置包括视频编码器和视频叠加模块。

如图4所示,其具体步骤如下:

步骤S11:视频编码器获取视频编码后的视频帧码流。

在本申请实施例中,视频编码装置创建视频编码器后,通过视频编码器开始编码,获取编码后的H26X帧(I/B/P帧)数据,包括但不限于:I帧、B帧、P帧。

步骤S12:视频叠加模块获取视频叠加信息,视频编码器将视频叠加信息封装为协议扩展数据包。

在本申请实施例中,视频编码装置通过视频叠加模块获取叠加点阵内容,即视频叠加信息,如果点阵信息和当前保存的叠加内容不一致,通知视频编码器需要更新OSD内容,并更新保存新的OSD内存;否则内容不变,等待下次点阵内容更新。

进一步,视频叠加模块还可以通过设置更新标志的方式通知视频编码器是否需要更新叠加信息。

具体地,视频叠加模块在所述上一个视频叠加信息和所述当前的视频叠加信息不一致时,设置更新标志为1;在所述上一个视频叠加信息和所述当前的视频叠加信息不一致时,设置更新标志为0,在并将所述更新标志通知所述视频编码器。

视频编码器在获取编码后的H26X帧数据后,检查更新标志;当更新标志为0时,说明不需要更新叠加信息,直接根据H26X帧数据传输视频码流即可;当更新标志为1时,说明需要更新叠加信息,进视频编码器将视频叠加信息封装成协议扩展数据。

具体地,视频编码器将一个叠加信息,即OSD内容封装为SEI数据包,即协议扩展数据包插入H26X视频帧,直至所有叠加信息全部更新完成且封装完成。

步骤S13:视频编码器将协议扩展数据包插入视频帧码流进行存储或传输。

在本申请将步骤S12封装的SEI数据包插入到当前H26X码流帧,并将重新封装的H264X数据存储或者网络发送,处理下一帧数据,直至完成整个视频的编码。

在本申请实施例中,所述视频编码器获取视频编码后的视频帧码流;所述视频叠加模块获取视频叠加信息,所述视频编码器将所述视频叠加信息封装为协议扩展数据包;所述视频编码器将所述协议扩展数据包插入所述视频帧码流进行存储或传输。通过上述视频编码方法,视频叠加信息不会污染原始图像,保证图像的每个像素点的内容都完整,视频叠加信息的叠加区域图像质量更高,不会干扰后端智能检测。

请继续参阅图6和图7,图6是本申请提供的视频解码方法一实施例的流程示意图,图7是本申请提供的视频解码方法的整体流程示意图。

本申请的视频解码方法应用于视频解码装置,其中,视频解码装置包括视频解码器、视频叠加模块、数据融合模块以及图像处理模块。

如图6所示,其具体步骤如下:

步骤S21:视频叠加模块对视频帧码流进行解析,获取协议扩展数据包。

在本申请实施例中,视频解码装置利用视频叠加模块读取码流文件并解析H26X数据。如果当前帧不包含SEI NAL,即协议扩展数据包,则按照常规解码方式对H26X码流解码,输出YUV数据。如果当前帧包含SEI NAL,则进一步解析SEI NAL中的协议扩展数据包,进入步骤S22。

步骤S22:视频叠加模块从协议扩展数据包解析出视频叠加信息。

在本申请实施例中,SEI帧如果为视频叠加信息数据,视频叠加模块进一步解析视频叠加信息。

进一步地,视频叠加模块比较新的OSD数据和保存的OSD数据是否一致。如果新的OSD数据和保存的OSD数据不一致,并根据当前码流分辨率缩放为目的大小的点阵Bitmap,并存储,设置标志UpdateFlag=1;如果OSD数据新老数据一致,则不做处理,设置UpdateFlag=0。

步骤S23:视频解码器对视频帧码流进行解码,得到解码视频帧。

在本申请实施例中,视频解码装置对视频帧码流进行解码,得到解码视频帧,然后将解码视频帧和视频叠加信息传输到VPSS模块,即图像处理模块。

具体地,H26X的图像数据送视频解码器,视频解码器输出YUV图像,送VPSS模块裁剪并缩放至设定的尺寸S的YUV1。另外,VPSS模块同样可以对视频叠加信息进行缩放,以适应YUV1。

步骤S24:数据融合模块将视频叠加信息与解码视频帧融合,得到显示视频帧。

在本申请实施例中,如果UpdateFlag==1,则将Bitmap更新下发给GOP模块,即数据融合模块,由GOP模块完成Bitmap和YUV1数据的融合,输出送显示模块,即完成解码后的图像显示叠加信息,如时间OSD等。

本申请的视频叠加信息(OSD)不会污染原始图像,保证图像的每个像素点的内容都完整,OSD的叠加区域图像质量更高,不会干扰后端智能检测;解码放大后图像的OSD信息仍然可以完整显示,不存在因放大区域,导致OSD无显示或者显示不全问题;视频叠加信息存储在H26X码流扩展帧中,协议通用,不需要额外制定标准。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

为实现上述视频编码方法,本申请还提出了一种视频编码装置,具体请参阅图8,图8是本申请提供的视频编码装置的一实施例的结构示意图。

本实施例的视频编码装置300包括处理器31、存储器32、输入输出设备33以及总线34。

该处理器31、存储器32、输入输出设备33分别与总线34相连,该存储器32中存储有程序数据,处理器31用于执行程序数据以实现上述实施例所述的视频编码方法。

在本申请实施例中,处理器31还可以称为CPU(Central Processing Unit,中央处理单元)。处理器31可能是一种集成电路芯片,具有信号的处理能力。处理器31还可以是通用处理器、数字信号处理器(DSP,Digital Signal Process)、专用集成电路(ASIC,Application Specific Integrated Circuit)、现场可编程门阵列(FPGA,FieldProgrammable Gate Array)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器31也可以是任何常规的处理器等。

为实现上述视频解码方法,本申请还提出了一种视频解码装置,具体请参阅图9,图9是本申请提供的视频解码装置的一实施例的结构示意图。

本实施例的视频解码装置400包括处理器41、存储器42、输入输出设备43以及总线44。

该处理器41、存储器42、输入输出设备43分别与总线44相连,该存储器42中存储有程序数据,处理器41用于执行程序数据以实现上述实施例所述的视频解码方法。

在本申请实施例中,处理器41还可以称为CPU(Central Processing Unit,中央处理单元)。处理器41可能是一种集成电路芯片,具有信号的处理能力。处理器41还可以是通用处理器、数字信号处理器(DSP,Digital Signal Process)、专用集成电路(ASIC,Application Specific Integrated Circuit)、现场可编程门阵列(FPGA,FieldProgrammable Gate Array)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器41也可以是任何常规的处理器等。

本申请还提供一种计算机存储介质,请继续参阅图10,图10是本申请提供的计算机存储介质一实施例的结构示意图,该计算机存储介质600中存储有计算机程序61,该计算机程序61在被处理器执行时,用以实现上述实施例的视频编码方法,和/视频解码方法。

本申请的实施例以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

相关技术
  • 一种编码方法及装置、计算机存储介质
  • 一种编码方法、解码方法及装置、计算机可读存储介质
  • 视频直播切换方法、装置、计算机设备以及存储介质
  • 一种视频聊天的方法、装置、设备和计算机存储介质
  • 视频录制方法、装置、计算机设备和存储介质
  • 一种视频编码方法、视频编码装置及计算机存储介质
  • 一种视频编码方法、视频编码装置及计算机存储介质
技术分类

06120116491556