[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN106937168B - 一种利用长期参考帧的视频编码方法、电子设备及系统 - Google Patents

一种利用长期参考帧的视频编码方法、电子设备及系统 Download PDF

Info

Publication number
CN106937168B
CN106937168B CN201511021812.5A CN201511021812A CN106937168B CN 106937168 B CN106937168 B CN 106937168B CN 201511021812 A CN201511021812 A CN 201511021812A CN 106937168 B CN106937168 B CN 106937168B
Authority
CN
China
Prior art keywords
reference frame
term reference
long
frame
video
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.)
Active
Application number
CN201511021812.5A
Other languages
English (en)
Other versions
CN106937168A (zh
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.)
Xiao Feng
Original Assignee
Palmwin Information Technology Shanghai Co ltd
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 Palmwin Information Technology Shanghai Co ltd filed Critical Palmwin Information Technology Shanghai Co ltd
Priority to CN201511021812.5A priority Critical patent/CN106937168B/zh
Publication of CN106937168A publication Critical patent/CN106937168A/zh
Application granted granted Critical
Publication of CN106937168B publication Critical patent/CN106937168B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4408Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例提供了一种利用长期参考帧的视频编码方法、电子设备和系统,属于视频编解码领域,该方法包括:获取视频帧;将所述视频帧缓存并标记为待生效的长期参考帧;判断与分层编码对应的短期参考帧相比,生效的长期参考帧是否更靠近所述视频帧;如果是,则利用所述生效的长期参考帧对所述视频帧进行编码,生成编码数据;如果否,则利用所述分层编码对应的短期参考帧对所述视频帧进行编码,生成编码数据;在所述编码数据中设置标示所述视频帧为长期参考帧的信息;向解码端发送所述编码数据;接收来自所述解码端的长期参考帧反馈;以及将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧并清除之前的长期参考帧。

Description

一种利用长期参考帧的视频编码方法、电子设备及系统
技术领域
本发明涉及视频编码领域,特别涉及一种利用长期参考帧的视频编码方法、电子设备及系统。
背景技术
在利用长期参考帧进行编码和利用短期参考帧进行分层编码的视频编码过程中,由于分层编码容易使得视频帧所参考的短期参考帧并非是最近的,因而造成了码率的浪费。
发明内容
为了解决上述问题,本发明实施例提供了一种视频编码方法、电子设备及系统。
根据第一方面,本发明实施例提供了一种利用长期参考帧的视频编码方法,所述方法包括:
获取视频帧;
将所述视频帧缓存并标记为待生效的长期参考帧;
判断与分层编码对应的短期参考帧相比,生效的长期参考帧是否更靠近所述视频帧;
如果是,则利用所述生效的长期参考帧对所述视频帧进行编码,生成编码数据;
如果否,则利用所述分层编码对应的短期参考帧对所述视频帧进行编码,生成编码数据;
在所述编码数据中设置标示所述视频帧为长期参考帧的信息;
向解码端发送所述编码数据;
接收来自所述解码端的长期参考帧反馈;以及
将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧并清除之前的长期参考帧。
结合第一方面,在第一种可能的实现方式中,判断与分层编码对应的短期参考帧相比,生效的长期参考帧是否更靠近所述视频帧包括:
判断与分层编码对应的短期参考帧相比,生效的长期参考帧与所述视频帧之间的残差是否更小。
结合第一方面,在第二种可能的实现方式中,判断与分层编码对应的短期参考帧相比,生效的长期参考帧是否更靠近所述视频帧包括:
判断与分层编码对应的短期参考帧相比,生效的长期参考帧的帧号是否更靠近所述视频帧的帧号。
结合第一方面到第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述分层编码包括1-3层编码。
根据第二方面,本发明实施例提供了一种电子设备,所述电子设备包括:
获取模块,用于获取视频帧;
参考帧管理模块,用于将所述视频帧缓存并标记为待生效的长期参考帧;
判断模块,用于判断与分层编码对应的短期参考帧相比,生效的长期参考帧是否更靠近所述视频帧;
编码模块,用于如果所述判断模块判定是,则利用所述生效的长期参考帧对所述视频帧进行编码,生成编码数据;
所述编码模块还用于如果所述判断模块判定否,则利用所述分层编码对应的短期参考帧对所述视频帧进行编码,生成编码数据;
标示模块,用于在所述编码数据中设置标示所述视频帧为长期参考帧的信息;
发送模块,用于向其他电子设备发送所述编码数据;
接收模块,用于接收来自所述其他电子设备的长期参考帧反馈;以及
所述参考帧管理模块还用于将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧并清除之前的长期参考帧。
结合第二方面,在第一种可能的实现方式中,所述判断模块具体用于:
判断与分层编码对应的短期参考帧相比,生效的长期参考帧与所述视频帧之间的残差是否更小。
结合第二方面,在第二种可能的实现方式中,所述判断模块具体用于:
判断与分层编码对应的短期参考帧相比,生效的长期参考帧的帧号是否更靠近所述视频帧的帧号。
结合第二方面到第二方面的第二种可能的实现方式中的任一实现方式,在第三种可能的实现方式中,所述分层编码包括1-3层编码。
结合第三方面,本发明实施例提供了一种视频编解码系统,所述视频编解码系统包括第一电子设备和第二电子设备,其中
所述第一电子设备包括:
获取模块,用于获取视频帧;
第一参考帧管理模块,用于将所述视频帧缓存并标记为待生效的长期参考帧;
第一判断模块,用于判断与分层编码对应的短期参考帧相比,生效的长期参考帧是否更靠近所述视频帧;
编码模块,用于如果所述判断模块判定是,则利用所述生效的长期参考帧对所述视频帧进行编码,生成编码数据;
所述编码模块还用于如果所述判断模块判定否,则利用所述分层编码对应的短期参考帧对所述视频帧进行编码,生成编码数据;
标示模块,用于在所述编码数据中设置标示所述视频帧为长期参考帧的信息;
发送模块,用于向所述第二电子设备发送所述编码数据;
第一接收模块,用于接收来自所述第二电子设备的长期参考帧反馈;以及
所述第一参考帧管理模块还用于将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧并清除之前的长期参考帧;
所述第二电子设备包括:
第二接收模块,用于接收所述编码数据;
解码模块,用于将所述编码数据解码,获取视频帧;
第二判断模块,用于判断所述编码数据中是否设置标示所述视频帧为长期参考帧的信息并且所述解码是否正确;
第二参考帧管理模块,用于如果所述第二判断模块判定是,则将所述视频帧添加到参考帧缓存中并标记为长期参考帧;
反馈模块,用于在所述第二参考帧管理模块将所述视频帧添加到参考帧缓存中并标记为长期参考帧之后,向所述第一电子设备发送长期参考帧反馈。
结合第三方面,在第一种可能的实现方式中,所述第一判断模块具体用于:
判断与分层编码对应的短期参考帧相比,生效的长期参考帧与所述视频帧之间的残差是否更小。
结合第三方面,在第二种可能的实现方式中,所述第一判断模块具体用于:
判断与分层编码对应的短期参考帧相比,生效的长期参考帧的帧号是否更靠近所述视频帧的帧号。
结合第三方面到第三方面的第二种可能的实现方式中的任一实现方式,在第三种可能的实现方式中,所述分层编码包括1-3层编码。
根据第四方面,提供了一种电子设备,该电子设备包括存储器、发送/接收模块以及与存储器、发送/接收模块连接的处理器。其中,存储器存储有一组程序代码,处理器调用存储器中存储的程序代码以执行以下操作:
获取视频帧;
将所述视频帧缓存并标记为待生效的长期参考帧;
判断与分层编码对应的短期参考帧相比,生效的长期参考帧是否更靠近所述视频帧;
如果是,则利用所述生效的长期参考帧对所述视频帧进行编码,生成编码数据;
如果否,则利用所述分层编码对应的短期参考帧对所述视频帧进行编码,生成编码数据;
在所述编码数据中设置标示所述视频帧为长期参考帧的信息;
向解码端发送所述编码数据;
接收来自所述解码端的长期参考帧反馈;以及
将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧并清除之前的长期参考帧。
结合第四方面,在第一种可能的实现方式中,处理器调用存储器中存储的程序代码以执行以下操作:
判断与分层编码对应的短期参考帧相比,生效的长期参考帧与所述视频帧之间的残差是否更小。
结合第四方面,在第二种可能的实现方式中,处理器调用存储器中存储的程序代码以执行以下操作:
判断与分层编码对应的短期参考帧相比,生效的长期参考帧的帧号是否更靠近所述视频帧的帧号。
结合第四方面,在第三种可能的实现方式中,所述分层编码包括1-3层编码。
本发明实施例提供一种利用长期参考帧的视频编码方法、电子设备和系统,通过将每个视频帧缓存并标记为长期参考帧,在网络状况好到解码端快速返回长期参考帧反馈时,通过在反馈的长期参考帧比分层编码的短期参考帧更靠近视频帧时利用该长期参考帧来编码视频帧,可以有效提高码率,避免由于分层编码带来的码率浪费。通过判断长期参考帧与分层编码对应的短期参考帧分别跟视频帧的残差大小,可以更准确地确定哪个参考帧更靠近视频帧。通过在接收来自解码端的长期参考帧反馈后将对应的长期参考帧标记为有效,使得只有反馈的长期参考帧才能用于编码,保证了解码端对利用长期参考帧进行编码的视频帧的正确解码。通过在接收来自解码端的长期参考帧反馈后清除之前的长期参考帧,可以避免参考帧缓存变满。通过阅读以下描述,本领域普通技术人员还能够想到其他优点和益处。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种利用长期参考帧的视频编码方法流程图;
图2是本发明实施例提供的一种利用长期参考帧的视频编码方法流程图;
图3是本发明实施例提供的一种分层编码方案示意图;
图4是本发明实施例提供的一种利用长期参考帧的视频编码方法流程图;
图5是本发明实施例提供的一种电子设备结构示意图;
图6是本发明实施例提供的一种视频编解码系统结构示意图;
图7是本发明实施例提供的一种电子设备结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种利用长期参考帧的视频编解码方法,该方法可以应用于即时视频通信或视频流播放等场景,本发明实施例对场景不加以限定。用已经传送成功的长期参考帧代替IDR帧可以更好地压缩数据,相同码率画质会更好,同时避免IDR帧数据过大而容易丢包和卡顿的问题。在例如丢包严重时,用已经传送成功的长期参考帧来做参考,避免由于前面帧丢包不能正常解码而影响后续帧解码的问题。本发明实施例可以应用于例如H.264的协议。但是,本领域普通技术人员能够理解,本发明实施例还可以应用于其他协议。对本发明实施例的应用范围不作具体限制。
实施例一
本发明实施例提供了一种利用长期参考帧的视频编码方法,参照图1所示,该方法包括:
101、获取视频帧。
具体的,获取视频帧包括通过摄像头获取视频帧。可选的,获取视频帧包括获取来自其他设备的视频帧或获取存储的视频帧。本发明实施例对此不加以限定。
102、将所述视频帧缓存并标记为待生效的长期参考帧。
具体的,该步骤包括将所述视频帧添加到参考帧缓存中的长期参考帧缓存区并且将该长期参考帧对应的指示符设置为待生效。
103、判断与分层编码对应的短期参考帧相比,生效的长期参考帧是否更靠近所述视频帧;如果是,则执行步骤104,如果否,则执行步骤105。
可选的,该步骤包括:
判断与分层编码对应的短期参考帧相比,生效的长期参考帧与所述视频帧之间的残差是否更小。
可选的,该步骤包括:
判断与分层编码对应的短期参考帧相比,生效的长期参考帧的帧号是否更靠近所述视频帧的帧号。
可选的,分层编码包括1-3层编码。
104、利用所述生效的长期参考帧对所述视频帧进行编码,生成编码数据。
105、利用所述分层编码对应的短期参考帧对所述视频帧进行编码,生成编码数据。
106、在所述编码数据中设置标示所述视频帧为长期参考帧的信息。
具体的,标示所述视频帧为长期参考帧的信息是编码数据中的1比特信息,例如二进制的1。
107、向解码端发送所述编码数据。
108、接收来自所述解码端的长期参考帧反馈。
具体的,来自所述解码端的长期参考帧反馈包括长期参考帧的帧号。
109、将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧并清除之前的长期参考帧。
具体的,将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧包括:
获取长期参考帧反馈中包括的帧号;
确定该帧号在参考帧缓存中对应的长期参考帧;以及
将该对应的长期参考帧标记为生效。
具体的,清除之前的长期参考帧包括清除长期参考帧反馈针对的待生效的长期参考帧之前的所有待生效和生效的长期参考帧。
本发明实施例提供了一种利用长期参考帧的视频编码方法。通过将每个视频帧缓存并标记为长期参考帧,在网络状况好到解码端快速返回长期参考帧反馈时,通过在反馈的长期参考帧比分层编码的短期参考帧更靠近视频帧时利用该长期参考帧来编码视频帧,可以有效提高码率,避免由于分层编码带来的码率浪费。通过判断长期参考帧与分层编码对应的短期参考帧分别跟视频帧的残差大小,可以更准确地确定哪个参考帧更靠近视频帧。通过在接收来自解码端的长期参考帧反馈后将对应的长期参考帧标记为有效,使得只有反馈的长期参考帧才能用于编码,保证了解码端对利用长期参考帧进行编码的视频帧的正确解码。通过在接收来自解码端的长期参考帧反馈后清除之前的长期参考帧,可以避免参考帧缓存变满。
实施例二
本发明实施例提供了一种利用长期参考帧的视频编码方法,参照图2所示,该方法包括:
201、获取视频帧。
具体的,获取视频帧包括通过摄像头获取视频帧。可选的,获取视频帧包括获取来自其他设备的视频帧或获取存储的视频帧。本发明实施例对此不加以限定。
202、将所述视频帧缓存并标记为待生效的长期参考帧。
具体的,该步骤包括将所述视频帧添加到参考帧缓存中的长期参考帧缓存区并且将该长期参考帧对应的指示符设置为待生效。当然本发明实施例对将视频帧缓存并标记为待生效的长期参考帧的具体方式不加以限定。
203、判断与分层编码对应的短期参考帧相比,生效的长期参考帧与所述视频帧之间的残差是否更小;如果是,则执行步骤204,如果否,则执行步骤205。
可选的,分层编码包括1-3层编码。例如图3中a所示,1层编码为:每一个视频帧均参考前一视频帧进行编码,其中圆圈代表视频帧,数字代表帧号,箭头表示参考,下面类似。例如图3中b所示,2层编码为:例如第1帧为第0层视频帧,则第2帧为第1层视频帧,并且第2帧参考第1帧进行编码,第3帧为第0层视频帧,并且参考第1帧进行编码,第4帧为第1层视频帧,并且参考第3帧进行编码,第5帧为第0层视频帧,并且参考第3帧进行编码,以此类推。例如图3中c所示,3层编码为:第1帧为第0层视频帧,第2帧为第2层视频帧,并且第2帧参考第1帧进行编码,第3帧为第1层视频帧,并且参考第1 帧进行编码,第4帧为第2层视频帧,并且参考第3帧进行编码,第5帧为第0 层视频帧,并且参考第1帧进行编码,后面以此类推。更多层编码可以参考1-3 层编码进行类推。本发明实施例对分层编码的具体层数不加以限定。
判断与分层编码对应的短期参考帧相比,生效的长期参考帧与所述视频帧之间的残差是否更小具体可以包括:
根据预设分层编码规则,获取视频帧对应的短期参考帧;
计算视频帧和对应的短期参考帧之间的残差,称为第一残差;
获取生效的长期参考帧;
计算视频帧与该生效的长期参考帧之间的残差,称为第二残差;
比较所述第一残差和所述第二残差;
如果所述第二残差小于所述第一残差,则判定是;
否则,判定否。
具体的,根据预设分层编码规则,获取视频帧对应的短期参考帧包括:
根据预设分层编码规则,确定视频帧对应的短期参考帧的帧号;以及
根据该对应的短期参考帧的帧号,从参考帧缓存中的短期参考帧区获取对应的短期参考帧。
要说明的是,“第一”和“第二”仅是为了区别目的,而不是为了限定顺序,获取短期参考帧并计算第一残差和获取长期参考帧并计算第二残差的顺序可以是任意的,例如可以先获取短期参考帧并计算第一残差,再获取长期参考帧并计算第二残差,也可以先获取长期参考帧并计算第二残差,再计算获取短期参考帧并计算第一残差,或者可以并行获取短期参考帧并计算第一残差和获取长期参考帧并计算第二残差,本发明实施例对此不加以限定。
204、利用所述生效的长期参考帧对所述视频帧进行编码,生成编码数据。
该步骤可包括计算视频帧与生效的长期参考帧之间的残差,对残差进行变换和量化,并对经过变换和量化之后的结果进行熵编码,生成编码数据。在计算视频帧与生效的长期参考帧之间的残差的过程中可包括运动估计和运动补偿。当然,本发明实施例对编码的具体过程不加以限定。
205、利用所述分层编码对应的短期参考帧对所述视频帧进行编码,生成编码数据。
该步骤可包括计算视频帧与分层编码对应的短期参考帧之间的残差,对残差进行变换和量化,并对经过变换和量化之后的结果进行熵编码,生成编码数据。在计算视频帧与分层编码对应的短期参考帧之间的残差的过程中可包括运动估计和运动补偿。当然,本发明实施例对编码的具体过程不加以限定。
206、在所述编码数据中设置标示所述视频帧为长期参考帧的信息。
具体的,标示所述视频帧为长期参考帧的信息是编码数据中的1比特信息,例如二进制的1。当然本发明实施例对在编码数据中设置标示视频帧为长期参考帧的信息的具体方式不加以限定。
207、向解码端发送所述编码数据。
本发明实施例对具体的发送过程不加以限定。
208、接收来自所述解码端的长期参考帧反馈。
具体的,来自所述解码端的长期参考帧反馈包括长期参考帧的帧号。
209、将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧并清除之前的长期参考帧。
具体的,将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧包括:
获取长期参考帧反馈中包括的帧号;
确定该帧号在参考帧缓存中对应的长期参考帧;以及
将该对应的长期参考帧标记为生效。
具体的,将该对应的长期参考帧标记为生效包括将该对应的长期参考帧对应的指示符标记为生效。
具体的,清除之前的长期参考帧包括清除长期参考帧反馈针对的待生效的长期参考帧之前的所有待生效和生效的长期参考帧。
本发明实施例提供了一种利用长期参考帧的视频编码方法。通过将每个视频帧缓存并标记为长期参考帧,在网络状况好到解码端快速返回长期参考帧反馈时,通过在反馈的长期参考帧比分层编码的短期参考帧更靠近视频帧时利用该长期参考帧来编码视频帧,可以有效提高码率,避免由于分层编码带来的码率浪费。通过判断长期参考帧与分层编码对应的短期参考帧分别跟视频帧的残差大小,可以更准确地确定哪个参考帧更靠近视频帧。通过判断长期参考帧与分层编码对应的短期参考帧中哪个的帧号更靠近视频帧,可以更简单快速地确定哪个参考帧更靠近视频帧,提高效率。通过在接收来自解码端的长期参考帧反馈后将对应的长期参考帧标记为有效,使得只有反馈的长期参考帧才能用于编码,保证了解码端对利用长期参考帧进行编码的视频帧的正确解码。通过在接收来自解码端的长期参考帧反馈后清除之前的长期参考帧,可以避免参考帧缓存变满。
实施例三
本发明实施例提供了一种利用长期参考帧的视频编码方法,参照图4所示,该方法包括:
401、获取视频帧。
具体的,获取视频帧包括通过摄像头获取视频帧。可选的,获取视频帧包括获取来自其他设备的视频帧或获取存储的视频帧。本发明实施例对此不加以限定。
402、将所述视频帧缓存并标记为待生效的长期参考帧。
具体的,该步骤包括将所述视频帧添加到参考帧缓存中的长期参考帧缓存区并且将该长期参考帧对应的指示符设置为待生效。
403、判断与分层编码对应的短期参考帧相比,生效的长期参考帧的帧号是否更靠近所述视频帧的帧号;如果是,则执行步骤404,如果否,则执行步骤 405。
可选的,分层编码包括1-3层编码。分层编码的方案可以参照图3和步骤 203的相关描述,在此不再赘述。
判断与分层编码对应的短期参考帧相比,生效的长期参考帧的帧号是否更靠近所述视频帧的帧号具体包括:
根据预设分层编码规则,获取视频帧对应的短期参考帧的帧号,称为第一帧号;
确定生效的长期参考帧的帧号,称为第二帧号;
比较所述第一帧号和所述第二帧号;
如果所述第二帧号小于所述第一帧号,则判定是;
否则,判定否。
要说明的是,“第一”和“第二”仅是为了区别目的,而不是为了限定顺序,确定第一帧号和第二帧号的顺序可以是任意的,例如可以先确定第一帧号,再确定第二帧号,也可以先确定第二帧号,再确定第一帧号,或者可以并行确定第一帧号和第二帧号,本发明实施例对此不加以限定。
404、利用所述生效的长期参考帧对所述视频帧进行编码,生成编码数据。
该步骤与步骤204相同,不再赘述
405、利用所述分层编码对应的短期参考帧对所述视频帧进行编码,生成编码数据。
该步骤与步骤205相同,不再赘述。
406、在所述编码数据中设置标示所述视频帧为长期参考帧的信息。
具体的,标示所述视频帧为长期参考帧的信息是编码数据中的1比特信息,例如二进制的1。
407、向解码端发送所述编码数据。
本发明实施例对发送编码数据的具体形式不加以限定。
408、接收来自所述解码端的长期参考帧反馈。
具体的,来自所述解码端的长期参考帧反馈包括长期参考帧的帧号。
409、将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧并清除之前的长期参考帧。
具体的,将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧包括:
获取长期参考帧反馈中包括的帧号;
确定该帧号在参考帧缓存中对应的长期参考帧;以及
将该对应的长期参考帧标记为生效。
具体的,将该对应的长期参考帧标记为生效包括将该对应的长期参考帧对应的指示符标记为生效。
具体的,清除之前的长期参考帧包括清除长期参考帧反馈针对的待生效的长期参考帧之前的所有待生效和生效的长期参考帧。
本发明实施例提供了一种利用长期参考帧的视频编码方法。通过将每个视频帧缓存并标记为长期参考帧,在网络状况好到解码端快速返回长期参考帧反馈时,通过在反馈的长期参考帧比分层编码的短期参考帧更靠近视频帧时利用该长期参考帧来编码视频帧,可以有效提高码率,避免由于分层编码带来的码率浪费。通过判断长期参考帧与分层编码对应的短期参考帧中哪个的帧号更靠近视频帧,可以更简单快速地确定哪个参考帧更靠近视频帧,提高效率。通过在接收来自解码端的长期参考帧反馈后将对应的长期参考帧标记为有效,使得只有反馈的长期参考帧才能用于编码,保证了解码端对利用长期参考帧进行编码的视频帧的正确解码。通过在接收来自解码端的长期参考帧反馈后清除之前的长期参考帧,可以避免参考帧缓存变满。
实施例四
本发明实施例提供了一种电子设备,参照图5,该电子设备包括:
获取模块501,用于获取视频帧;
参考帧管理模块502,用于将所述视频帧缓存并标记为待生效的长期参考帧;
判断模块503,用于判断与分层编码对应的短期参考帧相比,生效的长期参考帧是否更靠近所述视频帧;
编码模块504,用于如果所述判断模块判定是,则利用所述生效的长期参考帧对所述视频帧进行编码,生成编码数据;
所述编码模块504还用于如果所述判断模块判定否,则利用所述分层编码对应的短期参考帧对所述视频帧进行编码,生成编码数据;
标示模块505,用于在所述编码数据中设置标示所述视频帧为长期参考帧的信息;
发送模块506,用于向其他电子设备发送所述编码数据;
接收模块507,用于接收来自所述其他电子设备的长期参考帧反馈;以及
所述参考帧管理模块502还用于将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧并清除之前的长期参考帧。
可选的,所述判断模块503具体用于判断与分层编码对应的短期参考帧相比,生效的长期参考帧与所述视频帧之间的残差是否更小。
具体的,所述判断模块503用于:根据预设分层编码规则,获取视频帧对应的短期参考帧;
计算视频帧和分层编码对应的短期参考帧之间的残差,称为第一残差;
获取生效的长期参考帧;
计算视频帧与该生效的长期参考帧之间的残差,称为第二残差;
比较所述第一残差和所述第二残差;
如果所述第二残差小于所述第一残差,则判定是;
否则,判定否。
具体的,根据预设分层编码规则,获取视频帧对应的短期参考帧包括:
根据预设分层编码规则,确定视频帧对应的短期参考帧的帧号;以及
根据该对应的短期参考帧的帧号,从参考帧缓存中的短期参考帧区获取对应的短期参考帧。
可选的,所述判断模块503具体用于判断与分层编码对应的短期参考帧相比,生效的长期参考帧的帧号是否更靠近所述视频帧的帧号。
具体的,所述判断模块503用于:
根据预设分层编码规则,获取视频帧对应的短期参考帧的帧号,称为第一帧号;
确定生效的长期参考帧的帧号,称为第二帧号;
比较所述第一帧号和所述第二帧号;
如果所述第二帧号小于所述第一帧号,则判定是;
否则,判定否。
可选的,所述分层编码包括1-3层编码。
本发明实施例提供了一种电子设备。通过将每个视频帧缓存并标记为长期参考帧,在网络状况好到解码端快速返回长期参考帧反馈时,通过在反馈的长期参考帧比分层编码的短期参考帧更靠近视频帧时利用该长期参考帧来编码视频帧,可以有效提高码率,避免由于分层编码带来的码率浪费。通过判断长期参考帧与分层编码对应的短期参考帧分别跟视频帧的残差大小,可以更准确地确定哪个参考帧更靠近视频帧。通过判断长期参考帧与分层编码对应的短期参考帧中哪个的帧号更靠近视频帧,可以更简单快速地确定哪个参考帧更靠近视频帧,提高效率。通过在接收来自解码端的长期参考帧反馈后将对应的长期参考帧标记为有效,使得只有反馈的长期参考帧才能用于编码,保证了解码端对利用长期参考帧进行编码的视频帧的正确解码。通过在接收来自解码端的长期参考帧反馈后清除之前的长期参考帧,可以避免参考帧缓存变满。
实施例五
本发明实施例提供了一种视频编解码系统,参照图6,该视频编解码系统包括第一电子设备61和第二电子设备62,其中
所述第一电子设备61包括:
获取模块611,用于获取视频帧;
第一参考帧管理模块612,用于将所述视频帧缓存并标记为待生效的长期参考帧;
第一判断模块613,用于判断与分层编码对应的短期参考帧相比,生效的长期参考帧是否更靠近所述视频帧;
编码模块614,用于如果所述判断模块判定是,则利用所述生效的长期参考帧对所述视频帧进行编码,生成编码数据;
所述编码模块614还用于如果所述判断模块判定否,则利用所述分层编码对应的短期参考帧对所述视频帧进行编码,生成编码数据;
标示模块615,用于在所述编码数据中设置标示所述视频帧为长期参考帧的信息;
发送模块616,用于向所述第二电子设备发送所述编码数据;
第一接收模块617,用于接收来自所述第二电子设备的长期参考帧反馈;以及
所述第一参考帧管理模块612还用于将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧并清除之前的长期参考帧;
所述第二电子设备62包括:
第二接收模块621,用于接收所述编码数据;
解码模块622,用于将所述编码数据解码,获取视频帧;
第二判断模块623,用于判断所述编码数据中是否设置标示所述视频帧为长期参考帧的信息并且所述解码是否正确;
第二参考帧管理模块624,用于如果所述第二判断模块判定是,则将所述视频帧添加到参考帧缓存中并标记为长期参考帧;
反馈模块625,用于在所述第二参考帧管理模块将所述视频帧添加到参考帧缓存中并标记为长期参考帧之后,向所述第一电子设备发送长期参考帧反馈。
可选的,所述第一判断模块613具体用于:
判断与分层编码对应的短期参考帧相比,生效的长期参考帧与所述视频帧之间的残差是否更小。
具体的,所述第一判断模块613用于:
计算视频帧和分层编码对应的短期参考帧之间的残差,称为第一残差;
获取生效的长期参考帧;
计算视频帧与该生效的长期参考帧之间的残差,称为第二残差;
比较所述第一残差和所述第二残差;
如果所述第二残差小于所述第一残差,则判定是;
否则,判定否。
具体的,根据预设分层编码规则,获取视频帧对应的短期参考帧包括:
根据预设分层编码规则,确定视频帧对应的短期参考帧的帧号;以及
根据该对应的短期参考帧的帧号,从参考帧缓存中的短期参考帧区获取对应的短期参考帧。
可选的,所述第一判断模块613具体用于:
判断与分层编码对应的短期参考帧相比,生效的长期参考帧的帧号是否更靠近所述视频帧的帧号。
具体的,第一判断模块613用于:
根据预设分层编码规则,获取视频帧对应的短期参考帧的帧号,称为第一帧号;
确定生效的长期参考帧的帧号,称为第二帧号;
比较所述第一帧号和所述第二帧号;
如果所述第二帧号小于所述第一帧号,则判定是;
否则,判定否。
可选的,所述分层编码包括1-3层编码。
本发明实施例提供了一种视频编解码系统。通过将每个视频帧缓存并标记为长期参考帧,在网络状况好到解码端快速返回长期参考帧反馈时,通过在反馈的长期参考帧比分层编码的短期参考帧更靠近视频帧时利用该长期参考帧来编码视频帧,可以有效提高码率,避免由于分层编码带来的码率浪费。通过判断长期参考帧与分层编码对应的短期参考帧中哪个的帧号更靠近视频帧,可以更简单快速地确定哪个参考帧更靠近视频帧,提高效率。通过在接收来自解码端的长期参考帧反馈后将对应的长期参考帧标记为有效,使得只有反馈的长期参考帧才能用于编码,保证了解码端对利用长期参考帧进行编码的视频帧的正确解码。通过在接收来自解码端的长期参考帧反馈后清除之前的长期参考帧,可以避免参考帧缓存变满。
实施例六
本发明实施例提供了一种电子设备,参照图7,该电子设备包括存储器701、发送/接收模块702以及与存储器701、发送/接收模块702连接的处理器703。其中,存储器701存储有一组程序代码,处理器703调用存储器701中存储的程序代码以执行以下操作:
获取视频帧;
将所述视频帧缓存并标记为待生效的长期参考帧;
判断与分层编码对应的短期参考帧相比,生效的长期参考帧是否更靠近所述视频帧;
如果是,则利用所述生效的长期参考帧对所述视频帧进行编码,生成编码数据;
如果否,则利用所述分层编码对应的短期参考帧对所述视频帧进行编码,生成编码数据;
在所述编码数据中设置标示所述视频帧为长期参考帧的信息;
向解码端发送所述编码数据;
接收来自所述解码端的长期参考帧反馈;以及
将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧并清除之前的长期参考帧。
可选的,处理器703调用存储器701中存储的程序代码以执行以下操作:
判断与分层编码对应的短期参考帧相比,生效的长期参考帧与所述视频帧之间的残差是否更小。
可选的,处理器703调用存储器701中存储的程序代码以执行以下操作:
判断与分层编码对应的短期参考帧相比,生效的长期参考帧的帧号是否更靠近所述视频帧的帧号。
可选的,所述分层编码包括1-3层编码。
本发明实施例提供了一种电子设备。通过将每个视频帧缓存并标记为长期参考帧,在网络状况好到解码端快速返回长期参考帧反馈时,通过在反馈的长期参考帧比分层编码的短期参考帧更靠近视频帧时利用该长期参考帧来编码视频帧,可以有效提高码率,避免由于分层编码带来的码率浪费。通过判断长期参考帧与分层编码对应的短期参考帧分别跟视频帧的残差大小,可以更准确地确定哪个参考帧更靠近视频帧。通过判断长期参考帧与分层编码对应的短期参考帧中哪个的帧号更靠近视频帧,可以更简单快速地确定哪个参考帧更靠近视频帧,提高效率。通过在接收来自解码端的长期参考帧反馈后将对应的长期参考帧标记为有效,使得只有反馈的长期参考帧才能用于编码,保证了解码端对利用长期参考帧进行编码的视频帧的正确解码。通过在接收来自解码端的长期参考帧反馈后清除之前的长期参考帧,可以避免参考帧缓存变满。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的设备在执行利用长期参考帧的视频编码方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的设备与利用长期参考帧的视频编码方法属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种利用长期参考帧的视频编码方法,其特征在于,所述方法包括:
获取视频帧;
将所述视频帧缓存并标记为待生效的长期参考帧;
判断与分层编码对应的短期参考帧相比,生效的长期参考帧与所述视频帧之间的残差是否更小;
如果是,则利用所述生效的长期参考帧对所述视频帧进行编码,生成编码数据;
如果否,则利用所述分层编码对应的短期参考帧对所述视频帧进行编码,生成编码数据;
在所述编码数据中设置标示所述视频帧为长期参考帧的信息;
向解码端发送所述编码数据;
接收来自所述解码端的长期参考帧反馈;以及
将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧并清除之前的长期参考帧。
2.根据权利要求1所述的方法,其特征在于,所述分层编码包括1-3层编码。
3.一种电子设备,其特征在于,所述电子设备包括:
获取模块,用于获取视频帧;
参考帧管理模块,用于将所述视频帧缓存并标记为待生效的长期参考帧;
判断模块,用于判断与分层编码对应的短期参考帧相比,生效的长期参考帧与所述视频帧之间的残差是否更小;
编码模块,用于如果所述判断模块判定是,则利用所述生效的长期参考帧对所述视频帧进行编码,生成编码数据;
所述编码模块还用于如果所述判断模块判定否,则利用所述分层编码对应的短期参考帧对所述视频帧进行编码,生成编码数据;
标示模块,用于在所述编码数据中设置标示所述视频帧为长期参考帧的信息;
发送模块,用于向其他电子设备发送所述编码数据;
接收模块,用于接收来自所述其他电子设备的长期参考帧反馈;以及
所述参考帧管理模块还用于将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧并清除之前的长期参考帧。
4.一种视频编解码系统,其特征在于,所述视频编解码系统包括第一电子设备和第二电子设备,其中
所述第一电子设备包括:
获取模块,用于获取视频帧;
第一参考帧管理模块,用于将所述视频帧缓存并标记为待生效的长期参考帧;
第一判断模块,用于判断与分层编码对应的短期参考帧相比,生效的长期参考帧与所述视频帧之间的残差是否更小;
编码模块,用于如果所述判断模块判定是,则利用所述生效的长期参考帧对所述视频帧进行编码,生成编码数据;
所述编码模块还用于如果所述判断模块判定否,则利用所述分层编码对应的短期参考帧对所述视频帧进行编码,生成编码数据;
标示模块,用于在所述编码数据中设置标示所述视频帧为长期参考帧的信息;
发送模块,用于向所述第二电子设备发送所述编码数据;
第一接收模块,用于接收来自所述第二电子设备的长期参考帧反馈;以及
所述第一参考帧管理模块还用于将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧并清除之前的长期参考帧;
所述第二电子设备包括:
第二接收模块,用于接收所述编码数据;
解码模块,用于将所述编码数据解码,获取视频帧;
第二判断模块,用于判断所述编码数据中是否设置标示所述视频帧为长期参考帧的信息并且所述解码是否正确;
第二参考帧管理模块,用于如果所述第二判断模块判定是,则将所述视频帧添加到参考帧缓存中并标记为长期参考帧;
反馈模块,用于在所述第二参考帧管理模块将所述视频帧添加到参考帧缓存中并标记为长期参考帧之后,向所述第一电子设备发送长期参考帧反馈。
CN201511021812.5A 2015-12-30 2015-12-30 一种利用长期参考帧的视频编码方法、电子设备及系统 Active CN106937168B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511021812.5A CN106937168B (zh) 2015-12-30 2015-12-30 一种利用长期参考帧的视频编码方法、电子设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511021812.5A CN106937168B (zh) 2015-12-30 2015-12-30 一种利用长期参考帧的视频编码方法、电子设备及系统

Publications (2)

Publication Number Publication Date
CN106937168A CN106937168A (zh) 2017-07-07
CN106937168B true CN106937168B (zh) 2020-05-12

Family

ID=59442512

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511021812.5A Active CN106937168B (zh) 2015-12-30 2015-12-30 一种利用长期参考帧的视频编码方法、电子设备及系统

Country Status (1)

Country Link
CN (1) CN106937168B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111416981B (zh) * 2019-01-07 2023-06-02 浙江大学 视频图像解码、编码方法及装置
CN112532908B (zh) * 2019-09-19 2022-07-19 华为技术有限公司 视频图像的传输方法、发送设备、视频通话方法和设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1383339A1 (en) * 2002-07-15 2004-01-21 Matsushita Electric Industrial Co., Ltd. Memory management method for video sequence motion estimation and compensation
CN100499788C (zh) * 2003-01-09 2009-06-10 加利福尼亚大学董事会 视频编码设备
KR100507917B1 (ko) * 2005-06-09 2005-08-09 엘지전자 주식회사 모션 벡터 결정 방법
KR100985268B1 (ko) * 2008-07-18 2010-10-04 엘지전자 주식회사 모션벡터 결정방법
CN102045557B (zh) * 2009-10-20 2012-09-19 鸿富锦精密工业(深圳)有限公司 视频编解码方法及使用其的视频编码、解码装置
KR101911012B1 (ko) * 2011-04-26 2018-12-19 엘지전자 주식회사 참조 픽쳐 리스트 관리 방법 및 이러한 방법을 사용하는 장치
US9232233B2 (en) * 2011-07-01 2016-01-05 Apple Inc. Adaptive configuration of reference frame buffer based on camera and background motion
CN107277531B (zh) * 2011-10-28 2020-02-28 三星电子株式会社 帧间预测的方法及其装置和运动补偿的方法及其装置
WO2013066045A1 (ko) * 2011-10-31 2013-05-10 엘지전자 주식회사 참조 픽처 리스트 초기화 방법 및 장치
CN103167283B (zh) * 2011-12-19 2016-03-02 华为技术有限公司 一种视频编码方法及设备
US9258559B2 (en) * 2011-12-20 2016-02-09 Qualcomm Incorporated Reference picture list construction for multi-view and three-dimensional video coding
CN104519364A (zh) * 2014-12-10 2015-04-15 北京中星微电子有限公司 一种视频编码方法及装置

Also Published As

Publication number Publication date
CN106937168A (zh) 2017-07-07

Similar Documents

Publication Publication Date Title
CN1795679B (zh) 对多媒体传输的辅助信息进行编码和解码的方法、装置和系统
US9414086B2 (en) Partial frame utilization in video codecs
CN106817585B (zh) 一种利用长期参考帧的视频编码方法、电子设备和系统
US9584832B2 (en) High quality seamless playback for video decoder clients
EP3345392B1 (en) Video coding
KR20140085492A (ko) 디코딩된 픽쳐 버퍼 및 참조 픽쳐 목록들에 관한 상태 정보의 시그널링
TR201904171T4 (tr) Kod çözme yöntemi ve aparatı.
CN110248189B (zh) 一种视频质量预测方法、装置、介质和电子设备
US10171841B2 (en) Method and device for encoding/decoding video bitstream
US20170070739A1 (en) Video Coding
KR20120093067A (ko) 코딩되지 않은 구문에 대한 적응 확률 갱신을 위한 방법 및 장치
JP2020503746A (ja) キー情報を画像に埋め込む方法及び装置
CN105898296A (zh) 视频编码帧选择方法及装置
CN115134629B (zh) 视频传输方法、系统、设备及存储介质
CN101194516A (zh) 视频编码
CN106937168B (zh) 一种利用长期参考帧的视频编码方法、电子设备及系统
EP3796652B1 (en) Video encoding method and method for reducing file size of encoded video
US10070143B2 (en) Bit stream switching in lossy network
CN114746870A (zh) 用于神经网络压缩中优先级信令的高级语法
US10536726B2 (en) Pixel patch collection for prediction in video coding system
CN104767997B (zh) 一种面向视频的视觉特征编码方法及装置
JP4907039B2 (ja) 信号符号化方法
WO2022110870A1 (zh) 图像编码和解码方法、编码和解码装置、编码器及解码器
CN116567228A (zh) 编码方法、实时通信方法、装置、设备及存储介质
CN102577412B (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
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 200063, Shanghai, Putuo District, home on the first floor of the cross road, No. 28

Patentee after: Palmwin Information Technology (Shanghai) Co.,Ltd.

Address before: 200063, Shanghai, Putuo District, 515 home road, room 28

Patentee before: Palmwin Information Technology (Shanghai) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200709

Address after: 603a, block a, Xinghe world, No.1 Yabao Road, Longgang District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Weiwu Technology Co.,Ltd.

Address before: 200063, Shanghai, Putuo District, home on the first floor of the cross road, No. 28

Patentee before: Palmwin Information Technology (Shanghai) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210202

Address after: 518051 2503, building 15, Longhai homeland, 5246 Yihai Avenue, baonanshan District, Shenzhen City, Guangdong Province

Patentee after: Xiao Feng

Address before: 603a, block a, Xinghe world, No.1, Yabao Road, Longgang District, Shenzhen, Guangdong 518035

Patentee before: Shenzhen Weiwu Technology Co.,Ltd.