一种视频编码方法、解码方法、存储介质以及终端设备

文档序号:1820083 发布日期:2021-11-09 浏览:14次 >En<

阅读说明:本技术 一种视频编码方法、解码方法、存储介质以及终端设备 (Video coding method, decoding method, storage medium and terminal equipment ) 是由 冯万良 于 2020-05-06 设计创作,主要内容包括:本发明公开了一种视频编码方法、解码方法、存储介质以及终端设备,所述视频编码方法在获取待编码视频帧,并确定所述待编码视频帧的第一前景图像和第一背景图像;对所述第一前景图像进行编码,得到所述第一前景图像对应的第一前景码流;基于预设的目标视频帧对所述第一背景图像进行编码,以得到所述第一背景图像对应的第一背景码流;根据所述第一前景码流和所述第一背景码流,确定所述待编码视频帧对应的编码码流。本发明通过将视频帧帧的视频画面拆分为前景图像和背景图像,分别对前景图像和背景图像进行单独编码,使得背景图像不用对全部图像内容进行编码,进而降低了视频压缩成本。(The invention discloses a video coding method, a decoding method, a storage medium and a terminal device, wherein the video coding method is used for acquiring a video frame to be coded and determining a first foreground image and a first background image of the video frame to be coded; coding the first foreground image to obtain a first foreground code stream corresponding to the first foreground image; coding the first background image based on a preset target video frame to obtain a first background code stream corresponding to the first background image; and determining a coding code stream corresponding to the video frame to be coded according to the first foreground code stream and the first background code stream. The invention divides the video frame of the video frame into the foreground image and the background image, and respectively and independently encodes the foreground image and the background image, so that the background image does not need to encode all image contents, and the video compression cost is further reduced.)

一种视频编码方法、解码方法、存储介质以及终端设备

技术领域

本发明涉及视频编解码技术领域,特别涉及一种视频编码方法、解码方法、存储介质以及终端设备。

背景技术

视频是涉及动态影像的数据形式,通常包括一系列的视频帧,将视频帧连续播放就可以实现展示视频中的动态影像。视频在传输前会通过视频编码将视频的视频格式文件转换成适于传输的视频码流。

目前现有的视频编码普遍使用的编码技术是对采集到的所有图像进行编码。然而,对于图像画面变动小的视频(例如,视频监控画面),视频中相邻几帧或者几十帧中视频画面几乎不发生变化,那么在编码过程中仍然对每个视频的光流图像以及图像残差进行编码,重复视频画面会消耗处理功率以及存储带宽,进而增加视频的视频压缩成本。

发明内容

本发明要解决的技术问题在于,针对现有技术的不足,提供一种视频编码方法、解码方法、存储介质以及终端设备。

为了解决上述技术问题,本发明所采用的技术方案如下:

一种视频编码方法,所述方法包括:

获取待编码视频帧,并确定所述待编码视频帧的第一前景图像和第一背景图像;

对所述第一前景图像进行编码,得到所述第一前景图像对应的第一前景码流;

基于预设的目标视频帧对所述第一背景图像进行编码,以得到所述第一背景图像对应的第一背景码流;

根据所述第一前景码流和所述第一背景码流,确定所述待编码视频帧对应的编码码流。

所述视频编码方法,其中,所述获取待编码视频帧,并确定所述待编码视频帧的第一前景图像和第一背景图像具体包括:

获取待编码视频帧,并判断所述待编码视频帧是否为目标视频帧;

若所述待编码视频帧为目标视频帧,则对所述目标视频帧进行编码得到所述目标视频帧对应的编码码流;

若所述待编码视频帧为非目标视频帧,则确定所述待编码视频帧的第一前景图像和第一背景图像。

所述视频编码方法,其中,所述待编码视频帧对应的目标视频帧的采集时间早于所述待编码视频帧的采集时间。

所述视频编码方法,其中,所述确定所述待编码视频帧的第一前景图像和第一背景图像具体包括:

将所述待编码视频帧输入预设图像识别网络模型,通过所述网络模型识别所述待编码视频帧携带的对象信息;

基于所述对象信息确定所述待编码视频帧对应的第一前景图像及第一背景图像,其中,所述第一前景图像包含所述对象信息对应的物体图像。

所述视频编码方法,其中,所述基于预设的目标视频帧对所述第一背景图像进行编码,以得到所述第一背景图像对应的第一背景码流具体包括:

基于预设的目标视频帧以及所述待编码视频帧确定监控设备的第一姿态信息,其中,所述目标视频帧及所述待编码视频帧均通过所述监控设备采集的;

基于所述第一姿态信息、所述目标视频帧以及所述第一前景图像确定所述第一背景图像对应的第一残差图像;

对所述第一残差图像以及所述第一姿态信息进行编码,以得到所述第一背景图像对应的第一背景码流。

所述视频编码方法,其中,所述基于所述第一姿态信息、所述目标视频帧以及所述第一前景图像确定所述第一背景图像对应的第一残差图像具体包括:

获取所述目标视频帧的第一深度信息,并基于所述第一深度信息以及所述第一姿态信息对所述目标视频帧进行变换,以得到预测视频帧;

根据所述第一前景图像确定所述第一前景图像的掩膜图像;

基于所述待编码视频帧、所述预测视频帧以及所述掩膜图像,确定所述第一背景图像对应的第一残差图像。

一种视频解码方法,所述视频解码方法用于解码如上任一所述的视频编码方法编码得到的编码码流,所述视频解码方法包括:

获取待解码码流,其中,所述待解码码流包括第二前景码流和第二背景码流;

解码所述第二前景码流得到所述第二前景码流对应的第二前景图像;

基于所述第二背景码流以及预设的目标视频帧图像,确定所述背景码流对应的第二背景图像;

根据所述第二背景图像以及所述第二前景图像,生成所述待解码码流对应的视频帧图像。

所述视频解码方法,其中,所述获取待解码码流时,获取所述待解码码流携带的第二前景码流和第二背景码流具体包括:

获取待解码码流,并判断待解码码流是否为目标视频帧码流;

当所述待解码码流为目标视频帧码流时,解码所述待解码码流以得到目标视频帧图像;

当所述待解码码流为非目标视频帧码流时,获取所述待解码码流携带的第二前景码流和第二背景码流。

所述视频解码方法,其中,所述第二背景码流包括第二残差图像以及第二姿态信息;所述基于所述第二背景码流以及预设的目标视频帧图像,确定所述背景码流对应的第二背景图像具体包括:

解码所述第二背景码流,以得到所述第二背景码流对应的第二残差图像以及第二姿态信息;

基于所述第二残差图像、所述第二姿态信息以及预设的目标视频帧图像,确定所述背景码流对应的第二背景图像。

所述视频解码方法,其中,所述基于所述第二残差图像、所述第二姿态信息以及预设的目标视频帧图像,确定所述第二背景码流对应的第二背景图像具体包括:

获取所述目标视频帧图像的第二深度信息,并基于所述第二深度信息以及第二所述姿态信息对所述目标视频帧图像进行姿态变换,以得到预估图像;

基于所述预估图像以及所述第二残差图像,确定所述第二背景码流对应的第二背景图像。

一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的视频编码方法中的步骤,或者以实现如上任一所述的视频解码方法中的步骤。

一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;

所述通信总线实现处理器和存储器之间的连接通信;

所述处理器执行所述计算机可读程序时实现如上任一所述的视频编码方法中的步骤,或者如上任一所述的视频解码方法中的步骤。

有益效果:与现有技术相比,本发明提供了一种视频编码方法、解码方法、存储介质以及终端设备,所述视频编码方法在获取待编码视频帧,并确定所述待编码视频帧的第一前景图像和第一背景图像;对所述第一前景图像进行编码,得到所述第一前景图像对应的第一前景码流;基于预设的目标视频帧对所述第一背景图像进行编码,以得到所述第一背景图像对应的第一背景码流;根据所述第一前景码流和所述第一背景码流,确定所述待编码视频帧对应的编码码流。本发明通过将视频帧帧的视频画面拆分为前景图像和背景图像,分别对前景图像和背景图像进行单独编码,使得背景图像不用对全部图像内容进行编码,进而降低了视频压缩成本。

附图说明

图1为本发明提供的视频编码方法的流程图。

图2为本发明提供的视频编码方法的流程示意图。

图3为本发明提供的终端设备的结构原理图。

具体实施方式

本发明提供一种视频编码方法、解码方法、存储介质以及终端设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本实施例提供了一种视频编码方法以及视频解码方法,该视频编码方法和视频解码方法均可以应用监控设备与终端设备交互系统中,在该应用场景中,所述监控设备与所述终端设备相连接,所述监控设备可以拍摄待编码视频帧,分别对所述第一前景图像和第一背景图像进行编码,并将编码得到的编码码流发送至终端设备。所述终端设备可以接收编码码流,并解码所述编码码流,以得到待解码码流包括第二前景码流和第二背景码流,并基于所述第二前景码流和第二背景码流生成所述待解码码流对应的视频帧图像。

可以理解的是,在上述应用场景中,虽然将本发明实施方式中编码方法的动作描述为有监控设备执行,解码方法有中终端设备执行,但是本发明在执行主体方面不受限制,只要执行了本发明实施方式所公开的动作即可。

本实施提供了一种视频编码方法,如图1和图2所示,所述方法可以包括以下步骤:

S10、获取待编码视频帧,并确定所述待编码视频帧的第一前景图像和第一背景图像。

具体地,所述待编码视频帧可以是通过监控设备(例如,监控摄像头等)采集得到的,可以是外部设备(视频监控设备)发送的,也可以是通过互联网获取到。所述第一前景图像指的是待编码视频帧的前景区域形成的图像,所述第一背景图像指的是待编码视频帧的背景区域形成的图像;其中,所述前景区域为待编码视频帧中的各对象(例如,人,或者人携带的物品等)对应的图像区域;所述背景区域为待编码视频除去前景区域外的图像区域。例如,图像内容为人站在草地上的图像,该图像的前景区域为人,背景区域为草地;那么前景图像为人对应的图像区域形成的图象;背景图像为草地所在图像区域形成的图形。在本实施例中,所述待编码视频帧为监控视频的视频帧,监控视频是由各个分镜头组成,并且各分镜头对应的视频帧的视频画面中的背景基本上保持不变,而前景图像会发生变化;由此,在获取到待编码视频帧后,将待编码视频帧分为第一前景图像和第一背景图像,并且在后续编码过程中对于第一前景图像和第一背景图像采用不同的编码方式进行编码,这样可以在保证编码得到的编码码流携带待编码图像的图像信息;又可以减少需要编码的编码数据,提高编码速度以及传输速度。

进一步,在本实施例的一个实现方式中,在对待编码视频进行编码之前设置目标视频帧,其中,所述目标视频帧为将视频帧编码至编码码流中的帧内帧,并且目标视频帧不需要其他帧而能被重建。可以理解的是,当待编码视频帧为目标视频帧时,可以直接将该待编码视频帧直接编码至编码码流中。由此,所述获取待编码视频帧,并确定所述待编码视频帧的第一前景图像和第一背景图像具体包括:

获取待编码视频帧;

若所述待编码视频帧为目标视频帧,则对所述目标视频帧进行编码得到所述目标视频帧对应的编码码流;

若所述待编码视频帧为非目标视频帧,则确定所述待编码视频帧的第一前景图像和第一背景图像。

具体地,所述目标视频帧用于为待编码视频帧提供背景图像信息,待编码视频帧对应的目标视频帧的采集时间早于待编码视频帧的采集时间。其中,所述目标视频帧将全部图像信息作为前景图像进行编码。由此,在获取到目标视频帧时,可以直接将所述目标视频帧全部图像信息作为前景图像进行编码。所述目标视频帧为非目标视频帧(记为序列视频帧)的编码参考帧,序列视频帧在进行编码时,基于目标视频帧来确定序列视频帧的残差信息。其中,所述目标视频帧配置有帧序号,在获取到待编码视频帧后可以待编码视频帧的帧序号来确定该待编码视频帧是否为目标视频帧。例如,目标视频帧的帧序号为第一帧,那么在获取到待编码视频帧后,获取该待编码视频帧的帧序号,若该待编码视频帧的帧序号为第一帧,则该待编码视频帧为目标视频帧,若该待编码视频帧的帧序号不为第一帧,则该待编码视频帧为非目标视频帧。

此外,在本实施例的一个具体实现方式中,将帧序号为第一帧的视频帧作为目标视频帧,并且在视频采集过程中,每采集到预设数量N的视频帧后,将目标视频帧的帧序列更新为N+1。例如,目标视频帧的帧序号为1,每采集到20帧的视频帧后更新一次目标视频帧序号,那么当采集到20帧的视频帧时,将目标视频帧的帧序号更新为20+1=21,即第21帧视频帧为目标视频帧;当采集到40帧的视频帧时,将目标视频帧的帧序号更新为21+20=40,即第40帧视频帧为目标视频帧。这样由于在后续对序列视频帧的编码解码过程中,序列视频帧的背景图像不对背景图像的图像内容进行编码,而在解码时是基于目标视频帧的背景图像来确定序列视频帧的背景图像,从而每间隔预设数量的视频帧更新目标视频帧,可以提高序列视频帧的背景图像与目标视频帧的背景图像的相似性,进而提高根据序列视频帧对应的编码码流解码得到的视频图像的保真性。

进一步,在本实施例的一个实现方式中,所述确定所述待编码视频帧的第一前景图像和第一背景图像具体包括:

将所述待编码视频帧输入预设图像识别网络模型,通过所述网络模型识别所述待编码视频帧携带的对象信息;

基于所述对象信息确定所述待编码视频帧对应的第一前景图像及第一背景图像,其中,所述第一前景图像包含所述对象信息对应的物体图像。

具体地,所述对象信息为待编码视频帧中人或物品的位置信息;例如,图像内容为正方形站在桌子上的图像,正方形在所述图像中的区域范围的四个顶点分别为(10,10),(10,20),(20,20)以及(20,10),那么所述对象信息为以(10,10),(10,20),(20,20)以及(20,10)为顶点的正方形区域。此外,所述预设图像识别网络模型为经过训练的网络模型,所述预设图像识别网络模型的输入项为视频图像,所述预设图像识别网络模型的输出为所述视频图像对应的对象位置信息。可理解的是,预设图像识别网络模型可以识别视频图像中各对象在视频图像中的位置信息。其中,所述预设图像识别网络模型可以为用于目标检测的卷积神经网络,如,fast-RCNN网络等。此外,在获取到待编码视频帧对应的对象信息后,将所述对象信息对应的物体图像形成的图像画面作为第一前景图像,并将待编码视频帧的视频画面帧去除第一前景图像的图像画面作为第一背景图像。例如,图像内容为人站在草地上的图像,该图像的前景区域为人,背景区域为草地;那么前景图像为人对应的图像区域形成的图象;背景图像为草地所在图像区域形成的图形。

S20、对所述第一前景图像进行编码,得到所述第一前景图像对应的第一前景码流。

具体地,所述第一前景码流为通过对第一前景图像进行编码形成的编码文件,第一前景码流中包括有第一前景图像的图像信息。所述第一前景图像可以为监控视频中拍摄的人或者通过人移动的物体的图像,并且通过监控视频主要想了解通过监控设备(例如,监控摄像头等)前的人或者通过人移动的物体。由此,对于第一前景图像而言,直接对该第一前景图像进行编码。例如,可以采用自适应帧内(Intra)/帧间(Inter)预测的编码技术对第一前景图像进行编码,以得到第一前景图像对应的编码码流。

S30、基于预设的目标视频帧对所述第一背景图像进行编码,以得到所述第一背景图像对应的第一背景码流。

具体地,所述第一背景码流包括用于采集该待编码视频帧的监控设备(例如,监控摄像头等)的第一姿态信息。其中,所述第一姿态信息用于表征监控设备采集所述待编码视频帧时的姿态的信息,换句话说,所述第一姿态信息是指用于表征监控设备的空间位置状态,所述空间位置状态为监控设备采集该待编码视频帧时的空间位置状态。在本实施例的一个实现方式中,所述第一姿态信息包括六个姿态参数,分别为三维空间坐标轴信息,以及相对于各坐标轴的旋转信息。可以理解的是,所述第一姿态信息包括X轴、Y轴、Z轴,相对于X轴旋转角度,相对于Y轴旋转角度以及相对于Z轴旋转角度,通过所述第一姿态信息可以确定监控设备采集待编码视频帧时的空间位置。

进一步,在本实施例的一个实现方式中,所述基于预设的目标视频帧对所述第一背景图像进行编码,以得到所述第一背景图像对应的第一背景码流具体包括:

S31、基于预设的目标视频帧以及所述待编码视频帧确定监控设备的第一姿态信息,其中,所述目标视频帧及所述待编码视频帧均通过所述监控设备采集的;

S32、基于所述第一姿态信息、所述目标视频帧以及所述第一前景图像确定所述第一背景图像对应的第一残差图像;

S33、对所述第一残差图像以及所述第一姿态信息进行编码,以得到所述第一背景图像对应的第一背景码流。

具体地,所述第一姿态信息为通过预设姿态识别网络模型获取得到,所述预设姿态识别网络模型的输入项为一组图像组,所述图像组包括第一图像和第二图像,第一图像为第二图像的参考图像,以便于基于第一图像确定第二图像对应的姿态信息,所述预设姿态识别网络模型的输出项为姿态信息。其中,所述第一图像和第二图像为通过同一图像采集设备(例如,监控设备等)采集得到,图像采集设备采集第一图像时的姿态信息为已知的,图像采集设备采集第二图像时的姿态信息信息为未知的;当将第一图像和第二图像输入至预设姿态识别网络模型时,预设姿态识别网络模型可以输出第二图像对应的姿态信息。例如,图像采集设备采集第一图像时的姿态信息A,图像采集设备采集第二图像时的姿态信息B为未知的,当将第一图像和第二图像作为图像组输入至预设姿态识别网络模型时,预设姿态识别网络模型会输出第二图像对应的姿态信息B。当然,值得说明的,所述预设姿态识别网络模型为经过训练的网络模型。

所述第一残差图像为待编码视频帧与预测视频帧以及掩膜图像的差异像素点形成的图像;例如,待编码视频帧包括像素点A、像素点B、像素点C,预设预测视频帧包括像素点A,掩膜图像包括像素点B,那么所述第一残差图像包括像素点C。此外,所述差异像素点还包括像素值不同的像素点;例如,待编码视频帧中像素点A的像素值为125,预测视频帧中像素点A的像素值为120,那么所述像素点A为差异像素点,所述第一残差图像包括所述像素点A。由此,所述差异像素点可以为预测视频帧和掩膜图像中为包含的像素点,或者预设视频帧中像素点值与待编码视频帧中像素点值不同的像素点。

所述第一背景码流对所述第一残差图像以及所述第一姿态信息进行编码得到的码流文件,当对第一背景码流进行解码时,可以获取到第一残差图像以及所述第一姿态信息。例如,所述第一背景码流为通过对第一残差图像以及所述第一姿态信息进行无损压缩得到码流文件。

进一步,在本实施例中,所述目标视频帧为所述待编码视频帧的参考图像,并且所述目标视频帧对应的监控设备的姿态信息为已知。那么将目标视频帧和待编码视频帧作为一组图像组输入预设姿态识别网络模型后,该预设姿态识别网络模型可以输出待编码视频帧对应的第一姿态信息。由此,获取到待编码视频帧对应的第一姿态信息。当然,值得说明的是,本实施例给出的第一姿态信息的获取过程仅是确定第一姿态信息的一种实现方式,在实际应用中还可以采用其他方式,例如,监控设备本申请配置有加速度传感器以及角速度传感器,基于所述角度速度传感器确定监控设备采集待编码视频帧时的角度信息以及加速度传感器确定的位置信息,可以得到监控设备采集待编码图像对应的第一姿态信息等。

进一步,在所述步骤S32中,所述基于所述第一姿态信息、所述目标视频帧以及所述第一前景图像确定所述第一背景图像对应的第一残差图像具体包括:

获取所述目标视频帧的第一深度信息,并基于所述第一深度信息以及所述第一姿态信息对所述目标视频帧进行变换,以得到预测视频帧;

根据所述第一前景图像确定所述第一前景图像的掩膜图像;

基于所述待编码视频帧、所述预测视频帧以及所述掩膜图像,确定所述第一背景图像对应的第一残差图像。

具体地,

所述第一深度信息用于表示目标视频帧中每个像素点与监控设备的距离。可以理解的是,所述目标视频帧携带有深度信息,从而在获取到目标视频帧时,可以提取所述目标视频帧中所有点的深度信息,以得到目标视频帧对应的深度图,并将所述深度图作为目标视频帧的第一深度信息。

进一步,在本实施例的一个实现方式中,所述基于所述第一深度信息以及所述第一姿态信息对所述目标视频帧进行变换的过程可以为:基于所述第一姿态信息确定目标视频帧对应的旋转矩阵以及平移向量,在根据所述旋转矩阵以及所述平移向量,并基于该旋转矩阵以及平移向量对第一深度信息中各深度信息变化量,最后基于所述旋转矩阵、平移向量以及深度信息变化量对所述目标视频帧进行旋转以及平移,并在旋转以及平移后对根据各像素点的深度信息变化量,对该像素点的深度信息进行调整以得到调整后的视频帧,并将调整后的视频帧作为预测视频帧。其中,所述预测视频帧为待编码视频帧的预测视频帧。可以理解的是,在监控设备采集场景不变,仅是监控设备的空间位置发生变化后,监控设备空间位置变化后采集的待编码视频帧的图像画面,与将目标视频帧进行空间变换得到的预测视频帧的图像画面相同。

此外,旋转矩阵为目标视频帧对应的空间坐标系到待编码视频帧对应的空间坐标系的变换矩阵,所述平移向量为目标视频帧对应的空间坐标系到待编码视频帧对应的空间坐标系的变换矩阵的平移向量,其中,所述目标视频帧对应的空间坐标系为基于目标视频帧对应的姿态信息确定监控设备采集所述目标视频帧时的相机坐标系;待编码视频帧对应的空间坐标系为基于目标视频帧对应的第一姿态信息确定监控设备采集所述目标视频帧时的相机坐标系。例如,目标视频帧对应的空间坐标系为空间坐标系A,待编码视频帧对应的空间坐标系为空间坐标系B;旋转矩阵为R,平移向量为T,那么空间坐标系统B为空间坐标系A按照旋转矩阵R旋转后再按照平移向进行平移得到。由此,可以基于所述旋转矩阵和平移向量对所述目标视频帧进行空间变换,得到空间变换后的参照视频帧;对于参照视频帧中的每个第一像素点,以该像素点与监控设备的距离确定该第一像素点对应的深度信息,并采用该深度信息对第一深度信息中该第一像素点对应的第二像素点的深度信息进行更新,以得到更新后的深度信息;最后将更新后的深度信息作为参照视频对应的深度信息,进而得到预测视频帧。

当然,值得说明的,基于第一姿态信息以及目标视频帧确定将目标视频帧变换到第一姿态信息对应的空间坐标系下的旋转矩阵以及平移向量的方法可以采用本领域的现有技术,并且可以确定旋转矩阵以及平移向量的方法均属于本申请的保护范围。

进一步,所述掩膜图像可以通过将第一前景图像中的物体图像对应的像素点采用1来表示,非物体图像对应的像素点采用0来表示等。所述基于所述待编码视频帧、所述预测视频帧以及所述掩膜图像确定所述第一背景图像对应的第一残差图像的过程可以为:计算待编码视频帧与预测视频帧的残差图像,在通过第一掩膜图像去除残差图像中的第一前景图像的图像信息,以得到第一残差图像。这样通过获取待编码视频帧与预测视频帧的残差图像,可以避免将通过目标视频帧进行空间变换得到的图像作为待编码图像对应的背景图像的误差;同时通过在残差图像中取出第一掩码图像,可以减少残差图像包含的图像信息。

S40、根据所述第一前景码流和所述第一背景码流,确定所述待编码视频帧对应的编码码流。

具体地,所述第一前景码流与所述第一背景码流均为所述待编码视频帧对应的码流,从而在得到第一前景码流与第一背景码流后,可以将所述第一前景码流和第一背景码流相关联。例如,在一个实施例中,分别为第一前景码流和第一背景码流配置相同的码流标识,以将所述第一前景码流和第一背景码流相关联,其中,所述码流标识可以为待编码视频帧的帧序号。当然,值得说明的,所述第一前景码流和第一背景码流可以同步编码,也可以先编码第一前景码流,后编码第一背景码流;还可以先编码第一背景码流,后编码第一前景码流。

基于上述视频编码方法,本实施例还提供了一种视频解码方法,所述视频解码方法用于解码如上述实施例所述的视频编码方法编码得到的编码码流,所述视频解码方法包括:

M10、获取待解码码流,其中,所述待解码码流包括第二前景码流和第二背景码流;

M20、解码所述第二前景码流得到所述第二前景码流对应的第二前景图像;

M30、基于所述第二背景码流以及预设的目标视频帧图像,确定所述背景码流对应的第二背景图像;

M40、根据所述第二背景图像以及所述第二前景图像,生成所述待解码码流对应的视频帧图像。

具体地,在所述步骤M10中,所述待解码码流为基于上述实施例所述的视频编码方法编码得到的编码码流,其中,所述待解码码流可以为目标视频帧对应的目标视频帧码流,也可以为序列视频帧对应的编码码流。由上述实施例中的编码方法可以得知,目标视频帧对应的编码码流为通过对目标视频帧进行直接编码得到,从而目标视频帧对应的目标视频帧码流中未携带前景码流和背景码流。由此,在获取到待解码码流时,需要判断所述待解码码流是否为目标视频帧对应的目标视频帧码流。相应的,在本实施例的一个实现方式中,所述获取待解码码流时,获取所述待解码码流携带的第二前景码流和第二背景码流具体包括:

获取待解码码流,并判断待解码码流是否为目标视频帧码流;

当所述待解码码流为目标视频帧码流时,解码所述待解码码流以得到目标视频帧图像;

当所述待解码码流为非目标视频帧码流时,获取所述待解码码流携带的第二前景码流和第二背景码流。

具体地,所述判断待解码码流是否为目标视频帧码流可以根据目标视频帧码流通过解析所述待解码码流的方式来确定,也可以是通过判断所述待解码码流对应的视频帧的帧序号与目标视频帧对应的帧序列号是否相同,还可以在编码码流中设置目标视频帧标识;当待解码码流中携带目标视频帧标识时,判定待解码码流为关键码流;当待解码码流中为携带目标视频帧标识时,判定待解码码流为序列视频帧。当然,值得说明的,第二前景码流和第二背景码流与上述视频编码方法中的第一前景码流和第一背景码流的意义相同,这里仅是用于第一前景码流和第一背景码流的区别。例如,第二前景码流为待解码码流对应的待编码视频帧的前景图像编码得到的第一前景码流;第二背景码流为待解码码流对应的待编码视频帧的前景图像编码得到的第一背景码流。可以理解的是,所述第二前景码流为待编码视频帧的前景区域形成的图像编码得到的编码码流;第二背景码流为待编码视频帧的背景区域形成的图像编码得到编码码流,其中,所述第二编码码流的编码方式为采用上述实例中所述的编码方式编码得到的。

进一步,由上述实施例所述可知,所述第二背景码流包括第二残差图像以及第二姿态信息,相应的,所述基于所述第二背景码流以及预设的目标视频帧图像,确定所述背景码流对应的第二背景图像具体包括:解码所述第二背景码流,以得到所述第二背景码流对应的第二残差图像以及第二姿态信息;基于所述第二残差图像、所述第二姿态信息以及预设的目标视频帧图像,确定所述背景码流对应的第二背景图像。其中,所述第二残差图像为待编码视频帧对应的第一残差图像;所述第二姿态信息为待编码视频帧对应的第一姿态信息。

可以理解的是,第二姿态信息用于表征监控设备采集待解码码流对应的待编码视频帧时的姿态的信息,换句话说,所述第二姿态信息是指用于表征监控设备采集待解码码流对饮的待编码视频帧是的空间位置状态,所述空间位置状态为监控设备采集该待编码视频帧时的空间位置状态。在本实施例的一个实现方式中,所述第二姿态信息包括六个姿态参数,分别为三维空间坐标轴信息,以及相对于各坐标轴的旋转信息。可以理解的是,所述第一姿态信息包括X轴、Y轴、Z轴,相对于X轴旋转角度,相对于Y轴旋转角度以及相对于Z轴旋转角度,通过所述第一姿态信息可以确定监控设备采集待编码视频帧时的空间位置。

所述第二残差图像为待编码视频帧与预测视频帧以及掩膜图像的差异像素点形成的图像;例如,待编码视频帧包括像素点A、像素点B、像素点C,预设预测视频帧包括像素点A,掩膜图像包括像素点B,那么所述第一残差图像包括像素点C。此外,所述差异像素点还包括像素值不同的像素点;例如,待编码视频帧中像素点A的像素值为125,预测视频帧中像素点A的像素值为120,那么所述像素点A为差异像素点,所述第一残差图像包括所述像素点A。由此,所述差异像素点可以为预测视频帧和掩膜图像中为包含的像素点,或者预设视频帧中像素点值与待编码视频帧中像素点值不同的像素点。

所述第二背景码流对所述第一残差图像以及所述第一姿态信息进行编码得到的码流文件,当对第一背景码流进行解码时,可以获取到第一残差图像以及所述第一姿态信息。例如,所述第一背景码流为通过对第一残差图像以及所述第一姿态信息进行无损压缩得到码流文件。

进一步,所述基于所述第二残差图像、所述第二姿态信息以及预设的目标视频帧图像,确定所述第二背景码流对应的第二背景图像具体包括:

获取所述目标视频帧图像的第二深度信息,并基于所述第二深度信息以及第二所述姿态信息对所述目标视频帧图像进行姿态变换,以得到预估图像;

基于所述预估图像以及所述第二残差图像,确定所述第二背景码流对应的第二背景图像。

具体地,所述预设的目标视频帧图像为根据接收到目标视频帧对应的目标视频帧码流解码得到的视频帧图像。所述第二深度信息为所述目标视频帧图像的深度信息,并且深度信息用于表示目标视频帧图像中每个像素点与监控设备的距离。可以理解的是,所述目标视频帧图像携带有深度信息,从而在获取到目标视频帧图像时,可以提取所述目标视频帧图像中所有像素点的深度信息,以得到目标视频帧图像对应的深度图,并将所述深度图作为目标视频帧图像的第二深度信息。此外,所述基于所述第二深度信息以及第二姿态信息对所述目标视频帧图像进行姿态变换,以得到预估图像的处理过程与上述实施例中基于所述第一深度信息以及所述第一姿态信息对所述目标视频帧进行变换,以得到预测视频帧的过程相同,具体可以参照上述实例对基于所述第一深度信息以及所述第一姿态信息对所述目标视频帧进行变换,以得到预测视频帧的说明,这里就不再赘述。

基于上述视频编码方法以及视频解码方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的以上述实施例所述的视频编码方法中的步骤,或者以实现上实施例所述的视频解码方法中的步骤。

基于上述视频编码方法以及视频解码方法,本发明还提供了一种终端设备,如图3所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。

此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。

存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。

存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。

此外,上述存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:多人连麦的状态控制方法、存储介质、电子设备及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类