CN117528104A - 基于p、b帧的视频压缩方法、装置及可读存储介质 - Google Patents

基于p、b帧的视频压缩方法、装置及可读存储介质 Download PDF

Info

Publication number
CN117528104A
CN117528104A CN202311441926.XA CN202311441926A CN117528104A CN 117528104 A CN117528104 A CN 117528104A CN 202311441926 A CN202311441926 A CN 202311441926A CN 117528104 A CN117528104 A CN 117528104A
Authority
CN
China
Prior art keywords
frame
frames
target
coding
encoding
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.)
Pending
Application number
CN202311441926.XA
Other languages
English (en)
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.)
Peking University Shenzhen Graduate School
Original Assignee
Peking University Shenzhen Graduate School
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 Peking University Shenzhen Graduate School filed Critical Peking University Shenzhen Graduate School
Priority to CN202311441926.XA priority Critical patent/CN117528104A/zh
Publication of CN117528104A publication Critical patent/CN117528104A/zh
Pending legal-status Critical Current

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/177Methods 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 a group of pictures [GOP]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种基于P、B帧的视频压缩方法、装置及可读存储介质,其方法包括:基于各个训练样本中的非关键帧,确定各个训练样本对应的帧间预测帧;在训练阶段获取各个训练样本对应的P帧以及B帧,并基于各个训练样本对应的帧间预测帧、P帧以及B帧更新编码框架的参数,以获得目标编码框架;获取待压缩视频中各个图像组,基于各个图像组对应的运动信息,确定各个图像组对应的目标帧类型;基于所述目标帧类型对应的预测结构,分别通过所述目标编码框架对各个图像组进行P帧编码和/或B帧编码,以获得目标压缩视频。本发明可以在一个深度学习视频编码框架中同时支持P帧和B帧的编码,拓展了深度学习视频编码的应用场景。

Description

基于P、B帧的视频压缩方法、装置及可读存储介质
技术领域
本发明涉及图像处理技术领域,尤其涉及一种基于P、B帧的视频压缩方法、装置及可读存储介质。
背景技术
视频压缩,又称视频编码,其目的在于消除视频信号之间的冗余信息,从而实现视频内容的高效存储和传输。近年来,超高清视频内容呈现爆炸式增长,而存储以及带宽的提升则较为有限,因而实现更高效的视频压缩算法有着重要意义。
目前,视频压缩算法仍然以传统的视频压缩算法如H.264、H.265等为主,其编码框架及编码工具的局部优化已经遇到研究瓶颈,难以满足更高压缩率的要求。基于深度学习的视频压缩方法成为编码领域的研究热点,其能够在率失真损失函数的指导下以端到端的方式对编码框架中的各个模块及工具进行整体优化,从而实现更优的压缩性能。目前所采用的深度学习视频压缩方法,主要针对单一帧类型进行设计,如P帧压缩或B帧压缩,在编码帧类型上灵活性不足,难以满足不同场景的应用需求。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种基于P、B帧的视频压缩方法、装置及可读存储介质,旨在解决目前的深度学习视频压缩针对单一帧类型进行压缩而难以适用于不同场景的技术问题。
为实现上述目的,本发明提供一种基于P、B帧的视频压缩方法,所述基于P、B帧的视频压缩方法包括以下步骤:
基于各个训练样本中的非关键帧,确定各个训练样本对应的帧间预测帧;
在训练阶段获取各个训练样本对应的P帧以及B帧,并基于各个训练样本对应的帧间预测帧、P帧以及B帧更新编码框架的参数,以获得目标编码框架;
获取待压缩视频中各个图像组,基于各个图像组对应的运动信息,确定各个图像组对应的目标帧类型,其中,所述目标帧类型包括P帧以及B帧;
基于所述目标帧类型对应的预测结构,分别通过所述目标编码框架对各个图像组进行P帧编码和/或B帧编码,以获得目标压缩视频。
进一步地,所述基于各个训练样本中的非关键帧,确定各个训练样本对应的帧间预测帧的步骤包括:
若当前非关键帧为P帧,则将所述当前非关键帧对应的前向相邻的两个解码帧作为两个参考帧;
若当前非关键帧为B帧,则将所述当前非关键帧对应的双向分层结构下邻近的两个解码帧作为两个参考帧;
基于所述参考帧,确定各个训练样本对应的帧间预测帧。
进一步地,所述基于所述参考帧,确定各个训练样本对应的帧间预测帧的步骤包括:
对当前非关键帧和两个参考帧进行运动估计获得两组运动信息,并进行运动补偿得到两个预测帧;
将所述前非关键帧、两组运动信息以及两个预测帧输入运动编码器,获得编码信息;
将所述编码信息输入解码端,通过解码端对编码信息进行熵解码及反变换,获得解码运动信息和加权权重;
基于所述加权权重对两个预测帧进行加权,获得所述帧间预测帧。
进一步地,所述训练阶段包括单帧阶段,所述在训练阶段获取各个训练样本对应的P帧以及B帧,并基于各个训练样本对应的帧间预测帧、P帧以及B帧更新编码框架的参数,以获得目标编码框架的步骤包括:
在每个训练样本中抽取3帧,将3帧中第1帧和第3帧作为两个第一参考帧、第2帧作为第一B帧,基于第一参考帧以及帧间预测帧,通过编码框架对第一B帧进行编码,获得编码后的第一B帧;
将3帧中第1帧和第2帧作为两个第二参考帧,将第3帧作为第一P帧,基于第二参考帧以及帧间预测帧,通过编码框架对第一P帧进行编码,获得编码后的第一P帧;
获取编码后的第一B帧以及编码后的第一P帧对应的第一损失函数,基于所述第一损失函数更新所述编码框架的参数,以获得目标编码框架。
进一步地,所述训练阶段包括多帧阶段,所述基于所述第一损失函数更新所述编码框架的参数,以获得目标编码框架的步骤包括:
基于所述第一损失函数更新所述编码框架的参数,以获得更新后的编码框架;
在每个训练样本中抽取7帧,将7帧中第1帧和第5帧作为两个第三参考帧,第2、3、4帧作为第二B帧,基于第三参考帧以及帧间预测帧,通过更新后的编码框架对第二B帧进行编码,获得编码后的第二B帧;
将7帧中第3帧和第4帧作为两个第四参考帧,第5、6、7帧作为第二P帧,基于第四参考帧以及帧间预测帧,通过更新后的编码框架对第二P帧进行编码,获得编码后的第二P帧;
获取编码后的第二B帧以及编码后的第二P帧对应的第二损失函数,基于所述第二损失函数更新所述更新后的编码框架的参数,以获得目标编码框架。
进一步地,所述基于各个图像组对应的运动信息,确定各个图像组对应的目标帧类型,其中,所述目标帧类型包括P帧以及B帧的步骤包括:
对于每一个图像组,获取所述图像组中目标帧对应的运动信息,基于所述运动信息确定所述目标帧中各个像素点对应的平均绝对水平偏移量以及平均绝对垂直偏移量;
基于所述目标帧中水平方向像素点的第一数量、垂直方向像素点的第二数量、平均绝对水平偏移量以及平均绝对垂直偏移量,确定所述图像组对应的运动复杂度因子;
基于所述运动复杂度因子,确定所述图像组对应的目标帧类型。
进一步地,所述基于所述运动复杂度因子,确定所述图像组对应的目标帧类型的步骤包括:
若所述运动复杂度因子大于预设阈值,则确定所述图像组对应的目标帧类型为P帧;
若所述运动复杂度因子小于或等于预设阈值,则确定所述图像组对应的目标帧类型为B帧。
进一步地,所述基于所述目标帧类型对应的预测结构,分别通过所述目标编码框架对各个图像组进行P帧编码和/或B帧编码的步骤包括:
对于目标帧类型为P帧的图像组,通过所述目标编码框架基于串行前向预测结构对所述图像组进行P帧编码;
对于目标帧类型为B帧的图像组,通过所述目标编码框架基于分层双向预测结构对所述图像组进行B帧编码。
此外,为实现上述目的,本发明还提供一种基于P、B帧的视频压缩装置,所述基于P、B帧的视频压缩装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于P、B帧的视频压缩程序,所述基于P、B帧的视频压缩程序被所述处理器执行时实现前述的基于P、B帧的视频压缩方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有的视频压缩程序,所述基于P、B帧的视频压缩程序被处理器执行时实现前述的基于P、B帧的视频压缩方法的步骤。
本发明通过基于各个训练样本中的非关键帧,确定各个训练样本对应的帧间预测帧;接着,在训练阶段获取各个训练样本对应的P帧以及B帧,并基于各个训练样本对应的帧间预测帧、P帧以及B帧更新编码框架的参数,以获得目标编码框架;而后获取待压缩视频中各个图像组,基于各个图像组对应的运动信息,确定各个图像组对应的目标帧类型,其中,所述目标帧类型包括P帧以及B帧;然后基于所述目标帧类型对应的预测结构,分别通过所述目标编码框架对各个图像组进行P帧编码或B帧编码,以获得目标压缩视频,进而可以在一个深度学习视频编码框架中同时支持P帧和B帧的编码,拓展了深度学习视频编码的应用场景,同时基于不同运动复杂度的场景下实现帧类型的自动决策,从而实现最优压缩性能。
附图说明
图1是本发明实施例方案涉及的硬件运行环境中基于P、B帧的视频压缩装置的结构示意图;
图2为本发明基于P、B帧的视频压缩方法第一实施例的流程示意图;
图3为本申请实施例中编码框架的结构示意图;
图4为本申请实施例中P帧B帧联合训练策略结构示意图;
图5为本申请实施例中编码框架可选的编码帧类型及对应的预测结构图;
图6为本申请实施例中不同帧类型训练策略下的压缩性能示意图;
图7为本申请实施例中不同帧类型下的压缩性能示意图;
图8为本申请实施例中MCL-JCV数据集不同帧类型下的逐序列压缩性能示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境中基于P、B帧的视频压缩装置的结构示意图。
本发明实施例基于P、B帧的视频压缩装置可以是PC,也可以是智能手机、平板电脑、电子书阅读器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该基于P、B帧的视频压缩装置可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,基于P、B帧的视频压缩装置还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。当然,基于P、B帧的视频压缩装置还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对基于P、B帧的视频压缩装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于P、B帧的视频压缩程序。
在图1所示的基于P、B帧的视频压缩装置中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于P、B帧的视频压缩程序。
在本实施例中,基于P、B帧的视频压缩装置包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的基于P、B帧的视频压缩程序,其中,处理器1001调用存储器1005中存储的基于P、B帧的视频压缩程序时,并执行以下各个实施例中基于P、B帧的视频压缩方法的步骤。
本发明还提供一种基于P、B帧的视频压缩方法,参照图2,图2为本发明基于P、B帧的视频压缩方法第一实施例的流程示意图。
本实施例中,该基于P、B帧的视频压缩方法包括以下步骤:
步骤S101,基于各个训练样本中的非关键帧,确定各个训练样本对应的帧间预测帧;
参照图3,图3为本申请实施例中编码框架的结构示意图,右侧为非关键帧(P帧或B帧)框架结构。对于每个非关键帧,以两个解码重建帧为参考帧。若当前非关键帧为P帧,则两个参考帧为前向相邻的两个解码帧;若当前非关键帧为B帧,两个参考帧为双向分层结构下最邻近的两个解码帧。编码端对当前非关键帧和两个参考帧做运动估计,并进行运动补偿得到两个预测帧。当前非关键帧、两组运动信息和两个预测帧作为运动编码器的输入,经过变换、量化、熵编码传输到解码端,解码端经过熵解码及反变换后得到解码运动信息和加权权重,并对两个参考帧经过运动补偿和加权后得到当前非关键帧的预测帧,随后进行残差编码。
本实施例中,在进行编码框架的训练之前,获取各个训练样本中的非关键帧,并基于各个训练样本中的非关键帧确定各个训练样本对应的帧间预测帧,具体的,对于每一个训练样本,先基于训练样本中的非关键帧确定两个参考帧,其中,若当前非关键帧为P帧,则将当前非关键帧对应的前向相邻的两个解码帧作为两个参考帧,前向相邻的是指当前非关键帧之前的两个解码帧,若当前非关键帧为B帧,则将所述当前非关键帧对应的双向分层结构下邻近的两个解码帧作为两个参考帧,双向分层结构下邻近的两个解码帧是指当前非关键帧最相邻的两个解码帧,然后根据两个参考帧确定各个训练样本对应的帧间预测帧。
步骤S102,在训练阶段获取各个训练样本对应的P帧以及B帧,并基于各个训练样本对应的帧间预测帧、P帧以及B帧更新编码框架的参数,以获得目标编码框架;
获取到帧间预测帧之后,进行编码框架的训练,先获取各个训练样本对应的P帧以及B帧,接着,基于各个训练样本对应的帧间预测帧、P帧以及B帧更新编码框架的参数,以获得目标编码框架,进一步地,在一可能实现方式中,训练阶段包括单帧阶段,该步骤S102包括:
步骤S1021,在每个训练样本中抽取3帧,将3帧中第1帧和第3帧作为两个第一参考帧、第2帧作为第一B帧,基于第一参考帧以及帧间预测帧,通过编码框架对第一B帧进行编码,获得编码后的第一B帧;
步骤S1022,将3帧中第1帧和第2帧作为两个第二参考帧,将第3帧作为第一P帧,基于第二参考帧以及帧间预测帧,通过编码框架对第一P帧进行编码,获得编码后的第一P帧;
步骤S1023,获取编码后的第一B帧以及编码后的第一P帧对应的第一损失函数,基于所述第一损失函数更新所述编码框架的参数,以获得目标编码框架。
参照图4,图4为本申请实施例中P帧B帧联合训练策略结构示意图,本实施例中,在单帧阶段,对于每一个训练样本,在该训练样本中抽取3帧,将3帧中第1帧和第3帧作为两个第一参考帧、第2帧作为第一B帧,接着基于第一参考帧以及该训练样本的帧间预测帧,通过编码框架对第一B帧进行编码,获得编码后的第一B帧,具体的,将第一B帧、第一参考帧以及该训练样本的帧间预测帧输入该编码框架进行编码操作,获得编码后的第一B帧。
同时,将3帧中第1帧和第2帧作为两个第二参考帧,将第3帧作为第一P帧,基于第二参考帧以及帧间预测帧,通过编码框架对第一P帧进行编码,获得编码后的第一P帧;具体的,将第一P帧、第二参考帧以及该训练样本的帧间预测帧输入该编码框架进行编码操作,获得编码后的第一P帧。
接着,获取编码后的第一B帧以及编码后的第一P帧对应的第一损失函数,基于所述第一损失函数更新所述编码框架的参数,以获得目标编码框架,具体的,基于编码后的第一B帧以及编码后的第一P帧计算第一损失函数,获取该第一损失函数的第一梯度,基于该第一梯度更新所述编码框架的参数,在所有训练样本完成单帧阶段的训练后,获得目标编码框架。
进一步地,在一可能实现方式中,训练阶段还包括多帧阶段,该步骤S1023包括:
步骤a,基于所述第一损失函数更新所述编码框架的参数,以获得更新后的编码框架;
步骤b,在每个训练样本中抽取7帧,将7帧中第1帧和第5帧作为两个第三参考帧,第2、3、4帧作为第二B帧,基于第三参考帧以及帧间预测帧,通过更新后的编码框架对第二B帧进行编码,获得编码后的第二B帧;
步骤c,将7帧中第3帧和第4帧作为两个第四参考帧,第5、6、7帧作为第二P帧,基于第四参考帧以及帧间预测帧,通过更新后的编码框架对第二P帧进行编码,获得编码后的第二P帧;
步骤d,获取编码后的第二B帧以及编码后的第二P帧对应的第二损失函数,基于所述第二损失函数更新所述更新后的编码框架的参数,以获得目标编码框架。
本实施例中,训练阶段还包括多帧阶段,获取到该第一损失函数的第一梯度,基于该第一梯度更新所述编码框架的参数,以获得更新后的编码框架。
对于每一个训练样本,获取该训练样本中抽取7帧,将7帧中第1帧和第5帧作为两个第三参考帧,第2、3、4帧作为第二B帧,基于第三参考帧以及帧间预测帧,通过更新后的编码框架对第二B帧进行编码,获得编码后的第二B帧,具体的,第二B帧、第三参考帧以及该训练样本的帧间预测帧输入该编码框架进行编码操作,获得编码后的第二B帧。
同时,将7帧中第3帧和第4帧作为两个第四参考帧,第5、6、7帧作为第二P帧,基于第四参考帧以及帧间预测帧,通过更新后的编码框架对第二P帧进行编码,获得编码后的第二P帧,具体的,将第二P帧、第四参考帧以及该训练样本的帧间预测帧输入该编码框架进行编码操作,获得编码后的第二P帧。
接着,获取编码后的第二B帧以及编码后的第二P帧对应的第二损失函数,基于所述第二损失函数更新所述更新后的编码框架的参数,以获得目标编码框架,具体的,基于编码后的第二B帧以及编码后的第二P帧计算第二损失函数,获取该第二损失函数的第二梯度,基于该第二梯度更新所述更新后的编码框架的参数,在所有训练样本完成多帧阶段的训练后,获得目标编码框架。
步骤S103,获取待压缩视频中各个图像组,基于各个图像组对应的运动信息,确定各个图像组对应的目标帧类型,其中,所述目标帧类型包括P帧以及B帧;
本实施例中,在测试或预测阶段,获取待压缩视频中各个图像组(Group ofPicture,GoP),基于各个图像组对应的运动信息,确定各个图像组对应的目标帧类型,具体的,对于每一个图像组,可获取每一个图像组中第一帧与第二帧的运动信息,基于该第一帧与第二帧的运动信息确定各个像素点对应的平均绝对水平偏移量以及平均绝对垂直偏移量,基于各个像素点对应的平均绝对水平偏移量以及平均绝对垂直偏移量计算该图像组对应的运动复杂度因子;并根据该运动复杂度因子确定图像组对应的目标帧类型。
步骤S104,基于所述目标帧类型对应的预测结构,分别通过所述目标编码框架对各个图像组进行P帧编码和/或B帧编码,以获得目标压缩视频。
本实施例中,获取到图像组对应的目标帧类型之后,获取目标帧类型所对应的预测结构,根据预测结构分别通过所述目标编码框架对各个图像组进行P帧编码或B帧编码,以获得目标压缩视频,例如,目标帧类型为P帧,则预测结构为串行前向预测结构,基于串行前向预测结构通过所述目标编码框架对该图像组进行P帧编码,若目标帧类型为B帧,则预测结构为分层双向预测结构,基于分层双向预测结构通过所述目标编码框架对该图像组进行P帧编码,在各个图像组编码完成之后,获得目标压缩视频。
进一步地,在一可能实现的方式中,该步骤S104包括:
步骤e,对于目标帧类型为P帧的图像组,通过所述目标编码框架基于串行前向预测结构对所述图像组进行P帧编码;
步骤f,对于目标帧类型为B帧的图像组,通过所述目标编码框架基于分层双向预测结构对所述图像组进行B帧编码。
本实施例中,参照图5,图5为本申请实施例中编码框架可选的编码帧类型及对应的预测结构图,获取到图像组对应的目标帧类型之后,对于目标帧类型为P帧的图像组,预测结构为串行前向预测结构,进而通过所述目标编码框架基于串行前向预测结构对所述图像组进行P帧编码;对于目标帧类型为B帧的图像组,预测结构为分层双向预测结构,进而通过所述目标编码框架基于分层双向预测结构对所述图像组进行B帧编码。
参照图6-8,图6为本申请实施例中不同帧类型训练策略下的压缩性能示意图;图7为本申请实施例中不同帧类型下的压缩性能示意图;图8为本申请实施例中MCL-JCV数据集不同帧类型下的逐序列压缩性能示意图。
如图6所示,训练和测试的帧不匹配时,如训练用P帧、测试用B帧,或训练用B帧、测试用P帧会极大降低压缩效率。当采用本实施例的策略后,编码框架能够在编码P帧和编码B帧时实现与用P帧训练、P帧编码,或用B帧训练、B帧编码相当的性能,即能够在不影响性能的情况下同时支持P帧和B帧压缩。
如图7所示,以编码P帧的压缩性能为基线,在编码B帧时在多个测试集上平均获得了20%的码率节省,当进一步开启自适应帧类型决策算法后,平均获得24.5%的码率节省,进一步提升了压缩效率。
如图8所示,以编码P帧的压缩性能为基线,编码B帧能够在运动简单的场景获得压缩效率提升,如序列1,3,6等,但在运动复杂场景会降低压缩效率,如序列2,5,11等。在开启自适应帧类型决策算法后,在运动简单的场景框架决策为B帧编码,如序列1,3,6等;在运动复杂的场景框架决策为P帧编码,如序列2,19等。因此,所述自适应帧类型决策算法能够针对不同运动场景决策匹配的帧类型,从而实现最优压缩效率。
本实施例提出的基于P、B帧的视频压缩方法,通过基于各个训练样本中的非关键帧,确定各个训练样本对应的帧间预测帧;接着,在训练阶段获取各个训练样本对应的P帧以及B帧,并基于各个训练样本对应的帧间预测帧、P帧以及B帧更新编码框架的参数,以获得目标编码框架;而后获取待压缩视频中各个图像组,基于各个图像组对应的运动信息,确定各个图像组对应的目标帧类型,其中,所述目标帧类型包括P帧以及B帧;然后基于所述目标帧类型对应的预测结构,分别通过所述目标编码框架对各个图像组进行P帧编码或B帧编码,以获得目标压缩视频,进而可以在一个深度学习视频编码框架中同时支持P帧和B帧的编码,拓展了深度学习视频编码的应用场景,同时基于不同运动复杂度的场景下实现帧类型的自动决策,从而实现最优压缩性能。
基于第一实施例,提出本发明基于P、B帧的视频压缩方法的第二实施例,在本实施例中,步骤S101包括:
步骤S201,若当前非关键帧为P帧,则将所述当前非关键帧对应的前向相邻的两个解码帧作为两个参考帧;
步骤S202,若当前非关键帧为B帧,则将所述当前非关键帧对应的双向分层结构下邻近的两个解码帧作为两个参考帧;
步骤S203,基于所述参考帧,确定各个训练样本对应的帧间预测帧。
本实施例中,在进行编码框架的训练之前,获取各个训练样本中的非关键帧,对于每一个训练样本,先基于训练样本中的非关键帧确定两个参考帧,其中,若当前非关键帧为P帧,则将当前非关键帧对应的前向相邻的两个解码帧作为两个参考帧,前向相邻的是指当前非关键帧之前的两个解码帧,例如,当前非关键帧为P帧且为第7帧,则将5、6两个解码帧作为两个参考帧,若当前非关键帧为B帧,则将所述当前非关键帧对应的双向分层结构下邻近的两个解码帧作为两个参考帧,双向分层结构下邻近的两个解码帧是指当前非关键帧最相邻的两个解码帧,然后根据两个参考帧确定各个训练样本对应的帧间预测帧,当前非关键帧为B帧且为第6帧,则将5、7两个解码帧作为两个参考帧。
接着,根据两个参考帧确定各个训练样本对应的帧间预测帧,进一步地,在一可能实现的方式中,该步骤S203包括:
步骤S2031,对当前非关键帧和两个参考帧进行运动估计获得两组运动信息,并进行运动补偿得到两个预测帧;
步骤S2033,将所述前非关键帧、两组运动信息以及两个预测帧输入运动编码器,获得编码信息;
步骤S2034,将所述编码信息输入解码端,通过解码端对编码信息进行熵解码及反变换,获得解码运动信息和加权权重;
步骤S2034,基于所述加权权重对两个预测帧进行加权,获得所述帧间预测帧。
本实施例中,获取到两个参考帧之后,对当前非关键帧和两个参考帧进行运动估计获得两组运动信息,即采用相关技术中的运动估计算法对当前非关键帧和两个参考帧进行运动估计,获得两组运动信息之后,对两个参考帧进行运动补偿得到两个预测帧。
获取到两个预测帧之后,将所述前非关键帧、两组运动信息以及两个预测帧输入运动编码器进行编码,获得编码信息。然后,将编码信息输入解码端,通过解码端对编码信息进行熵解码及反变换,获得解码运动信息和加权权重,即获得两个预测帧对应的加权权重。并基于所述加权权重对两个预测帧进行加权,获得所述帧间预测帧。
本实施例提出的基于P、B帧的视频压缩方法,通过若当前非关键帧为P帧,则将所述当前非关键帧对应的前向相邻的两个解码帧作为两个参考帧;接着若当前非关键帧为B帧,则将所述当前非关键帧对应的双向分层结构下邻近的两个解码帧作为两个参考帧;而后基于所述参考帧,确定各个训练样本对应的帧间预测帧,可以通过参考帧准确获得帧间预测帧,以便于基于不同运动复杂度的场景下实现帧类型的自动决策,从而实现最优压缩性能。
基于第一实施例,提出本发明基于P、B帧的视频压缩方法的第三实施例,在本实施例中,步骤S103包括:
步骤S301,对于每一个图像组,获取所述图像组中目标帧对应的运动信息,基于所述运动信息确定所述目标帧中各个像素点对应的平均绝对水平偏移量以及平均绝对垂直偏移量;
步骤S302,基于所述目标帧中水平方向像素点的第一数量、垂直方向像素点的第二数量、平均绝对水平偏移量以及平均绝对垂直偏移量,确定所述图像组对应的运动复杂度因子;
步骤S303,基于所述运动复杂度因子,确定所述图像组对应的目标帧类型。
本实施例中,对于每一个图像组,获取所述图像组中目标帧对应的运动信息,其中,该目标帧可以为该图像组的第一帧以及第二帧,接着,基于所述运动信息确定所述目标帧中各个像素点对应的平均绝对水平偏移量以及平均绝对垂直偏移量,即可采用相关技术获取目标帧中各个像素点对应的平均绝对水平偏移量以及平均绝对垂直偏移量。
获取到目标帧中各个像素点对应的平均绝对水平偏移量以及平均绝对垂直偏移量之后,基于所述目标帧中水平方向像素点的第一数量、垂直方向像素点的第二数量、平均绝对水平偏移量以及平均绝对垂直偏移量,确定所述图像组对应的运动复杂度因子,其中,运动复杂度因子的公式为:
其中,MCF为运动复杂度因子,W为第一数量,H为第二数量,为目标帧中第i行第j列的像素点的平均绝对水平偏移量,/>为目标帧中第i行第j列的像素点的平均绝对垂直偏移量。
容易理解的是,若目标帧包括多帧,例如,包括第一帧以及第二帧,则可先计算第一帧的MCF以及第二帧的MCF,然后将第一帧的MCF以及第二帧的MCF的均值作为最终的运动复杂度因子。
获取到运动复杂度因子之后,基于所述运动复杂度因子,确定所述图像组对应的目标帧类型,进一步地,在一可能实现的方式中,步骤S303包括:
步骤S3031,若所述运动复杂度因子大于预设阈值,则确定所述图像组对应的目标帧类型为P帧;
步骤S3032,若所述运动复杂度因子小于或等于预设阈值,则确定所述图像组对应的目标帧类型为B帧。
本实施例中,获取到运动复杂度因子之后,判断该运动复杂度因子是否大于预设阈值,若所述运动复杂度因子大于预设阈值,则确定所述图像组对应的目标帧类型为P帧;若所述运动复杂度因子小于或等于预设阈值,则确定所述图像组对应的目标帧类型为B帧,其中,该预设阈值可以预先设置。
本实施例提出的基于P、B帧的视频压缩方法,通过对于每一个图像组,获取所述图像组中目标帧对应的运动信息,基于所述运动信息确定所述目标帧中各个像素点对应的平均绝对水平偏移量以及平均绝对垂直偏移量;接着基于所述目标帧中水平方向像素点的第一数量、垂直方向像素点的第二数量、平均绝对水平偏移量以及平均绝对垂直偏移量,确定所述图像组对应的运动复杂度因子;而后基于所述运动复杂度因子,确定所述图像组对应的目标帧类型,可以通过运动复杂度因子准确确定图像组对应的目标帧类型,进而可以基于不同运动复杂度的场景下实现帧类型的自动决策,从而根据帧类型对图像组进行编码压缩,以使提升压缩性能。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于P、B帧的视频压缩程序,所述基于P、B帧的视频压缩程序被处理器执行时实现上所述的基于P、B帧的视频压缩方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于P、B帧的视频压缩方法,其特征在于,所述基于P、B帧的视频压缩方法包括以下步骤:
基于各个训练样本中的非关键帧,确定各个训练样本对应的帧间预测帧;
在训练阶段获取各个训练样本对应的P帧以及B帧,并基于各个训练样本对应的帧间预测帧、P帧以及B帧更新编码框架的参数,以获得目标编码框架;
获取待压缩视频中各个图像组,基于各个图像组对应的运动信息,确定各个图像组对应的目标帧类型,其中,所述目标帧类型包括P帧以及B帧;
基于所述目标帧类型对应的预测结构,分别通过所述目标编码框架对各个图像组进行P帧编码和/或B帧编码,以获得目标压缩视频。
2.如权利要求1所述的基于P、B帧的视频压缩方法,其特征在于,所述基于各个训练样本中的非关键帧,确定各个训练样本对应的帧间预测帧的步骤包括:
若当前非关键帧为P帧,则将所述当前非关键帧对应的前向相邻的两个解码帧作为两个参考帧;
若当前非关键帧为B帧,则将所述当前非关键帧对应的双向分层结构下邻近的两个解码帧作为两个参考帧;
基于所述参考帧,确定各个训练样本对应的帧间预测帧。
3.如权利要求2所述的基于P、B帧的视频压缩方法,其特征在于,所述基于所述参考帧,确定各个训练样本对应的帧间预测帧的步骤包括:
对当前非关键帧和两个参考帧进行运动估计获得两组运动信息,并进行运动补偿得到两个预测帧;
将所述前非关键帧、两组运动信息以及两个预测帧输入运动编码器,获得编码信息;
将所述编码信息输入解码端,通过解码端对编码信息进行熵解码及反变换,获得解码运动信息和加权权重;
基于所述加权权重对两个预测帧进行加权,获得所述帧间预测帧。
4.如权利要求1所述的基于P、B帧的视频压缩方法,其特征在于,所述训练阶段包括单帧阶段,所述在训练阶段获取各个训练样本对应的P帧以及B帧,并基于各个训练样本对应的帧间预测帧、P帧以及B帧更新编码框架的参数,以获得目标编码框架的步骤包括:
在每个训练样本中抽取3帧,将3帧中第1帧和第3帧作为两个第一参考帧、第2帧作为第一B帧,基于第一参考帧以及帧间预测帧,通过编码框架对第一B帧进行编码,获得编码后的第一B帧;
将3帧中第1帧和第2帧作为两个第二参考帧,将第3帧作为第一P帧,基于第二参考帧以及帧间预测帧,通过编码框架对第一P帧进行编码,获得编码后的第一P帧;
获取编码后的第一B帧以及编码后的第一P帧对应的第一损失函数,基于所述第一损失函数更新所述编码框架的参数,以获得目标编码框架。
5.如权利要求4所述的基于P、B帧的视频压缩方法,其特征在于,所述训练阶段包括多帧阶段,所述基于所述第一损失函数更新所述编码框架的参数,以获得目标编码框架的步骤包括:
基于所述第一损失函数更新所述编码框架的参数,以获得更新后的编码框架;
在每个训练样本中抽取7帧,将7帧中第1帧和第5帧作为两个第三参考帧,第2、3、4帧作为第二B帧,基于第三参考帧以及帧间预测帧,通过更新后的编码框架对第二B帧进行编码,获得编码后的第二B帧;
将7帧中第3帧和第4帧作为两个第四参考帧,第5、6、7帧作为第二P帧,基于第四参考帧以及帧间预测帧,通过更新后的编码框架对第二P帧进行编码,获得编码后的第二P帧;
获取编码后的第二B帧以及编码后的第二P帧对应的第二损失函数,基于所述第二损失函数更新所述更新后的编码框架的参数,以获得目标编码框架。
6.如权利要求1所述的基于P、B帧的视频压缩方法,其特征在于,所述基于各个图像组对应的运动信息,确定各个图像组对应的目标帧类型,其中,所述目标帧类型包括P帧以及B帧的步骤包括:
对于每一个图像组,获取所述图像组中目标帧对应的运动信息,基于所述运动信息确定所述目标帧中各个像素点对应的平均绝对水平偏移量以及平均绝对垂直偏移量;
基于所述目标帧中水平方向像素点的第一数量、垂直方向像素点的第二数量、平均绝对水平偏移量以及平均绝对垂直偏移量,确定所述图像组对应的运动复杂度因子;
基于所述运动复杂度因子,确定所述图像组对应的目标帧类型。
7.如权利要求6所述的基于P、B帧的视频压缩方法,其特征在于,所述基于所述运动复杂度因子,确定所述图像组对应的目标帧类型的步骤包括:
若所述运动复杂度因子大于预设阈值,则确定所述图像组对应的目标帧类型为P帧;
若所述运动复杂度因子小于或等于预设阈值,则确定所述图像组对应的目标帧类型为B帧。
8.如权利要求1至7任一项所述的基于P、B帧的视频压缩方法,其特征在于,所述基于所述目标帧类型对应的预测结构,分别通过所述目标编码框架对各个图像组进行P帧编码和/或B帧编码的步骤包括:
对于目标帧类型为P帧的图像组,通过所述目标编码框架基于串行前向预测结构对所述图像组进行P帧编码;
对于目标帧类型为B帧的图像组,通过所述目标编码框架基于分层双向预测结构对所述图像组进行B帧编码。
9.一种基于P、B帧的视频压缩装置,其特征在于,所述基于P、B帧的视频压缩装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于P、B帧的视频压缩程序,所述基于P、B帧的视频压缩程序被所述处理器执行时实现如权利要求1至8中任一项所述的基于P、B帧的视频压缩方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有的视频压缩程序,所述基于P、B帧的视频压缩程序被处理器执行时实现如权利要求1至8中任一项所述的基于P、B帧的视频压缩方法的步骤。
CN202311441926.XA 2023-10-31 2023-10-31 基于p、b帧的视频压缩方法、装置及可读存储介质 Pending CN117528104A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311441926.XA CN117528104A (zh) 2023-10-31 2023-10-31 基于p、b帧的视频压缩方法、装置及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311441926.XA CN117528104A (zh) 2023-10-31 2023-10-31 基于p、b帧的视频压缩方法、装置及可读存储介质

Publications (1)

Publication Number Publication Date
CN117528104A true CN117528104A (zh) 2024-02-06

Family

ID=89750486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311441926.XA Pending CN117528104A (zh) 2023-10-31 2023-10-31 基于p、b帧的视频压缩方法、装置及可读存储介质

Country Status (1)

Country Link
CN (1) CN117528104A (zh)

Similar Documents

Publication Publication Date Title
US7675974B2 (en) Video encoder and portable radio terminal device using the video encoder
US9749653B2 (en) Motion vector encoding/decoding method and device and image encoding/decoding method and device using same
CN101305615B (zh) 用于视频编码的多维毗邻块预测
RU2562379C2 (ru) Иерархия видеоблоков с предсказанием движения
JP2021520119A (ja) 動画像動きベクトルを取得する方法および装置
JP5533886B2 (ja) 画像符号化装置及び画像復号装置
JP4501631B2 (ja) 画像符号化装置及び方法、画像符号化装置のコンピュータ・プログラム、並びに携帯端末
US9307122B2 (en) Method, apparatus, and computer program product for providing motion estimation for video encoding
US20080008250A1 (en) Video encoder
JP2008523724A (ja) 動画像符号化のための動き推定技術
US20210104076A1 (en) Guiding Decoder-Side Optimization of Neural Network Filter
JP5094960B2 (ja) 空間的に強化される変換符号化
WO2021255567A1 (en) Guided probability model for compressed representation of neural networks
EP3622712A1 (en) Warped reference motion vectors for video compression
US20050089232A1 (en) Method of video compression that accommodates scene changes
CN110557642B (zh) 一种视频帧编码运动搜索方法及图像编码器
CN117528104A (zh) 基于p、b帧的视频压缩方法、装置及可读存储介质
CN1848960B (zh) 使用非标准化矢量量化编码器的符合视频标准的残差编码
CN113498608A (zh) 帧间预测方法及装置、设备、存储介质
US20240013046A1 (en) Apparatus, method and computer program product for learned video coding for machine
CN100584010C (zh) 功率最佳化的共位运动估测方法
CN110278434B (zh) 一种快速多复合帧视频编码的方法、装置及存储介质
KR20200071717A (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
CN113556551B (zh) 一种编码、解码方法、装置及设备
CN116847088B (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