CN112291569B - H.264图像组的编码方法、装置、编解码芯片及电子设备 - Google Patents

H.264图像组的编码方法、装置、编解码芯片及电子设备 Download PDF

Info

Publication number
CN112291569B
CN112291569B CN202010568621.5A CN202010568621A CN112291569B CN 112291569 B CN112291569 B CN 112291569B CN 202010568621 A CN202010568621 A CN 202010568621A CN 112291569 B CN112291569 B CN 112291569B
Authority
CN
China
Prior art keywords
frame
current frame
current
reference frame
cache address
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
CN202010568621.5A
Other languages
English (en)
Other versions
CN112291569A (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.)
Zhuhai Jieli Technology Co Ltd
Original Assignee
Zhuhai Jieli Technology 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 Zhuhai Jieli Technology Co Ltd filed Critical Zhuhai Jieli Technology Co Ltd
Priority to CN202010568621.5A priority Critical patent/CN112291569B/zh
Publication of CN112291569A publication Critical patent/CN112291569A/zh
Application granted granted Critical
Publication of CN112291569B publication Critical patent/CN112291569B/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/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/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
    • H04N19/423Methods 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 characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

本发明提供了H.264图像组的编码方法、装置、编解码芯片及电子设备,编码方法包括如下步骤:申请两帧缓存作为参考帧数据读写使用,判断图像组当前帧的类型,若是I帧则将写缓存地址初始化,并将编码得到的参考帧数据写入编码缓存地址;若是P帧则:判断当前帧距前面最近参考帧的帧间隔是否为设定帧间隔,若是则将参考帧标识设置为参考帧,若否则将参考帧标识设置为非参考帧;将参考帧标识写入当前帧的帧头部;判断当前帧的前一帧是否为参考帧,若是参考帧则将读缓存地址赋值为前一帧的写缓存地址、写缓存地址赋值为两块编码缓存地址的另一者,若是非参考帧则将读缓存地址和写缓存地址保持一致。本发明可以提高编解码过程中缓存利用率、读写效率。

Description

H.264图像组的编码方法、装置、编解码芯片及电子设备
技术领域
本发明涉及图像编解码领域,尤其涉及H.264图像组的编码方法、装置、编解码芯片及电子设备。
背景技术
随着无线网络的迅速发展,人们的日常生活与移动通信息息相关,移动通信对人们生活的影响也越来越大。无线传输的高速发展使人们在业务上也对其有了更高的要求。在某些特殊场合中的一些特殊业务有高稳定性、低时延、不间断传输的要求,如移动视频会议、视频监控等。而现在无线网络也有着自己的弱点,一个主要的问题是,带宽紧张时的网络传输延时及网络丢包,这样接收端的视频序列就会出现解码异常。
H.264视频压缩标准自2003年3月正式公布以来,被广泛应用于实时视频监控,低延时模式的视频会议、网络视频点播等电子消费领域。H.264之所以有着出色的压缩性能,得益于新引入的多种技术,如帧内预测,帧间预测,多参考帧,帧间可变尺寸块运动估计,去方块滤波和上下文自适应的熵编码技术等。
目前大多数H.264编码方案在帧间预测时仅使用一个前向参考帧。其中一种编码技术是每一帧P帧都以前面的一帧作为参考帧,具体而言,在对图像组GOP(H.264定义的图像画面组,具体指两个IDR帧的间隔)进行编码时,第一帧(I帧)后面的每一帧P帧都以前面的一帧作为参考帧,因此作为帧间预测的P帧参考帧对无线网络传输的可靠性影响较大,特别是在IDR(立即刷新帧)间隔较大时,一旦有一个P帧在传输中丢失(例如在无线网络传输带宽紧张时丢失),那么丢失的P帧之后的所有该GOP内的P帧的解码都不能正常解码,解码端画面出现卡顿或异常。
H.264帧间预测时最多可以使用16个参考帧,多参考帧的使用可以降低网络传输丢帧时导致的解码问题。但是消费电子级视频芯片的开发使用多参考帧会带来编码复杂度增加,内存和带宽消耗增大,芯片成本增加等问题。
另外一种技术如现有技术CN104754345A公开的,在一个图像组中引入多个非参考帧P帧,该技术客观上能够减轻前述编码技术中的问题,但是,该现有技术中将编码后的帧数据直接送出外部缓存中,当需要以该编码后的帧数据作为参考帧使用时,需要再从片外的缓存中再通过参考帧读取模块进行读取,不仅降低了缓存利用率,而且读写效率较低。
发明内容
基于上述现状,本发明的主要目的在于提供H.264图像组的编码方法、装置、编解码芯片及电子设备,在不增加参考帧缓存占用的前提下,通过一定的算法确定编码端的每一帧是否生成参考帧,同时合理配置编码端和解码端参考帧读写的缓存地址,提高了缓存利用率和读写效率,另外提高视频在解码端的视觉成像质量。
为实现上述目的,本发明采用的技术方案如下:
一种H.264图像组的编码方法,包括如下步骤:S100,在缓存器中为编码图像组提供存储编码过程产生的参考帧数据的两块编码缓存地址;S110,判断所述图像组当前帧的类型,若所述当前帧的类型是I帧则执行步骤S120,若所述当前帧的类型是P帧则执行步骤S130-S160;S120,将所述当前帧的参考帧标识设置为参考帧并写入所述当前帧的帧头部,将所述当前帧的写缓存地址初始化为所述两块编码缓存地址中的任一编码缓存地址,对所述当前帧进行编码得到参考帧数据并将所述参考帧数据写入所述任一编码缓存地址;S130,判断所述当前帧距前面最近参考帧的帧间隔是否为设定帧间隔,若是则将所述当前帧的参考帧标识设置为参考帧,若否则将所述当前帧的参考帧标识设置为非参考帧;其中,所述设定帧间隔不小于1;S140,将所述当前帧的所述参考帧标识写入所述当前帧的帧头部;S150,判断所述当前帧的前一帧是否为参考帧,若是参考帧则将所述当前帧的读缓存地址赋值为所述当前帧前一帧的写缓存地址、写缓存地址赋值为所述两块编码缓存地址中除所述当前帧前一帧的写缓存地址外的另一者,若是非参考帧则将所述当前帧的读缓存地址和写缓存地址分别保持与所述当前帧前一帧的读缓存地址和写缓存地址一致;S160,从所述当前帧的读缓存地址中读取参考帧数据作为参考帧,并对所述当前帧进行编码,且只在当前帧为参考帧的情况下将编码得到的参考帧数据写入所述当前帧的写缓存地址。
优选的,所述设定帧间隔(具体是指相邻参考帧之间间隔的设定帧数)不超过15。
优选的,在步骤S120和S140中,将所述当前帧的所述参考帧标识写入所述当前帧的帧头部中的填充网络抽象层单元内。
优选的,在步骤S120中,还包括如下步骤:将剩余帧间隔初始化为设定帧间隔;在步骤S130中,通过如下步骤判断所述当前帧距前面最近参考帧的帧间隔是否为设定帧间隔:S131,若所述剩余帧间隔大于零,则判定所述当前帧距前面最近参考帧的帧间隔不是设定帧间隔,若所述剩余帧间隔为零,则判定所述当前帧距前面最近参考帧的帧间隔为设定帧间隔,并将所述剩余帧间隔设置为所述设定帧间隔加一,直至所述图像组的所有帧编码完毕;S132,每执行一次步骤S131之后将所述剩余帧间隔减一。
本发明还提供了一种H.264图像组的解码方法,包括如下步骤:S200,在缓存器中为解码图像组提供存储解码过程产生的参考帧数据的两块解码缓存地址;S210,解码所述图像组当前帧的帧头部,获得所述当前帧的类型和参考帧标识,若所述当前帧的类型是I帧则执行步骤S220,若所述当前帧的类型是P帧则执行步骤S230-S240;S220,将所述当前帧的写缓存地址初始化为所述两块解码缓存地址中的任一解码缓存地址,对所述当前帧进行解码得到参考帧数据并将所述参考帧数据写入所述任一解码缓存地址;S230,判断所述当前帧前一帧的参考帧标识,若所述当前帧前一帧的参考帧标识为参考帧,将所述当前帧的读缓存地址赋值为所述当前帧前一帧的写缓存地址、写缓存地址赋值为所述两块解码缓存地址中除所述当前帧前一帧的写缓存地址外的另一者,若所述当前帧前一帧的参考帧标识不是参考帧,则将所述当前帧的读缓存地址和写缓存地址分别保持与所述当前帧前一帧的读缓存地址和写缓存地址一致;S240,从所述当前帧的读缓存地址中读取参考帧数据作为参考帧,并对所述当前帧进行解码,且只在当前帧为参考帧的情况下将解码得到的参考帧数据写入所述当前帧的写缓存地址。
优选的,在步骤S210中,解码所述图像组当前帧的帧头部中填充网络抽象层单元,获得所述当前帧的参考帧标识。
本发明还提供了一种H.264图像组的编码装置,包括:第一编码处理单元,用于在缓存器中为编码图像组提供存储编码过程产生的参考帧数据的两块编码缓存地址;第二编码处理单元,用于判断所述图像组当前帧的类型,若所述当前帧的类型是I帧则触发第三处理单元工作,若所述当前帧的类型是P帧则触发第四处理单元至第七处理单元工作;第三编码处理单元,用于将所述当前帧的参考帧标识设置为参考帧并写入所述当前帧的帧头部,将所述当前帧的写缓存地址初始化为所述两块编码缓存地址中的任一编码缓存地址,对所述当前帧进行编码得到参考帧数据并将所述参考帧数据写入所述任一编码缓存地址;第四编码处理单元,用于判断所述当前帧距前面最近参考帧的帧间隔是否为设定帧间隔,若是则将所述当前帧的参考帧标识设置为参考帧,若否则将所述当前帧的参考帧标识设置为非参考帧;其中,所述设定帧间隔不小于1;第五编码处理单元,用于将所述当前帧的所述参考帧标识写入所述当前帧的帧头部;第六编码处理单元,用于判断所述当前帧的前一帧是否为参考帧,若是参考帧则将所述当前帧的读缓存地址赋值为所述当前帧前一帧的写缓存地址、写缓存地址赋值为所述两块编码缓存地址中除所述当前帧前一帧的写缓存地址外的另一者,若是非参考帧则将所述当前帧的读缓存地址和写缓存地址分别保持与所述当前帧前一帧的读缓存地址和写缓存地址一致;第七编码处理单元,用于从所述当前帧的读缓存地址中读取参考帧数据作为参考帧,并对所述当前帧进行编码,且只在当前帧为参考帧的情况下将编码得到的参考帧数据写入所述当前帧的写缓存地址。
优选的,所述第三编码处理单元和第五编码处理单元用于将所述当前帧的所述参考帧标识写入所述当前帧的帧头部中的填充网络抽象层单元内。
优选的,所述第三编码处理单元还用于将剩余帧间隔初始化为设定帧间隔;所述第四编码处理单元还用于通过如下步骤判断所述当前帧距前面最近参考帧的帧间隔是否为设定帧间隔:若所述剩余帧间隔大于零,则判定所述当前帧距前面最近参考帧的帧间隔不是设定帧间隔,若所述剩余帧间隔为零,则判定所述当前帧距前面最近参考帧的帧间隔为设定帧间隔,并将所述剩余帧间隔设置为所述设定帧间隔加一,直至所述图像组的所有帧编码完毕;将所述剩余帧间隔减一。
本发明还提供了一种H.264图像组的解码装置,包括:第一解码处理单元,用于在缓存器中为解码图像组提供存储解码过程产生的参考帧数据的两块解码缓存地址;第二解码处理单元,用于解码所述图像组当前帧的帧头部,获得所述当前帧的类型和参考帧标识,判断所述当前帧的类型,若所述当前帧的类型是I帧则触发第三解码处理单元工作,若所述当前帧的类型是P帧则触发第四解码处理单元和第五解码处理单元工作;第三解码处理单元,用于将所述当前帧的写缓存地址初始化为所述两块解码缓存地址中的任一解码缓存地址,对所述当前帧进行解码得到参考帧数据并将所述参考帧数据写入所述任一解码缓存地址;第四解码处理单元,用于判断所述当前帧前一帧的参考帧标识,若所述当前帧前一帧的参考帧标识为参考帧,将所述当前帧的读缓存地址赋值为所述当前帧前一帧的写缓存地址、写缓存地址赋值为所述两块解码缓存地址中除所述当前帧前一帧的写缓存地址外的另一者,若所述当前帧前一帧的参考帧标识不是参考帧,则将所述当前帧的读缓存地址和写缓存地址分别保持与所述当前帧前一帧的读缓存地址和写缓存地址一致;第五解码处理单元,用于从所述当前帧的读缓存地址中读取参考帧数据作为参考帧,并对所述当前帧进行解码,且只在当前帧为参考帧的情况下将解码得到的参考帧数据写入所述当前帧的写缓存地址。
优选的,所述第二解码处理单元,用于解码所述图像组当前帧的帧头部中填充网络抽象层单元,获得所述当前帧的参考帧标识。
本发明还提供了一种编码芯片,用于执行任一所述的编码方法。
本发明还提供了一种解码芯片,用于执行所述的解码方法。
本发明还提供了一种存储程序的存储介质,所述程序被处理器执行成任一所述的编码方法,或者所述的解码方法。
本发明还提供了一种无线通信设备,包括所述的编码芯片或所述的解码芯片。
本发明还提供了一种电子设备,包括所述的编码芯片或所述的解码芯片。
【有益效果】
对于本发明的编码方法而言,通过本发明的方案,在对图像组GOP进行编码的过程中,通过一定的算法控制每一个编码帧是否生成参考帧,进而区分出参考帧和非参考帧。由于非参考帧不产生重建帧,在不过多增加内存的情况下,通过一定的方法合理配置参考帧读写的两帧缓存,使得每一个编码的P帧的前向参考帧不一定是紧邻自身的前一帧,从而达到了多参考帧编码的效果,同时提高了缓存地址的利用率以及读写效率。
对于本发明的解码方法而言,通过本发明的方案,在对图像组GOP进行解码的过程中,由于视频序列中非参考帧的重建数据不会被后续帧解码使用,通过一定的方法合理配置参考帧读写的两帧缓存地址,可以保证编码序列正常解码。同时,在无线网络传输时如果丢失的是非参考帧,那么其后的帧序列仍可以正常解码,避免了传统编码器使用一个前向参考帧编码,经无线网络传输丢帧后,后面的帧序列无法正常解码的问题,提高了视频在无线网络传输环境下的抗干扰性,以及接收端解码的视觉成像质量。
本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。
附图说明
以下将参照附图对根据本发明的优选实施方式进行描述。图中:
图1为根据本发明的一种优选实施方式的H.264图像组的编码方法的流程图
图2为根据本发明的一种优选实施方式的待编码的视频帧序列示意图
图3为根据本发明的一种优选实施方式的编码后的视频帧序列示意图
图4为根据本发明的一种优选实施方式的两块编码或解码缓存地址示意图
图5为根据本发明的一种优选实施方式的H.264图像组的解码方法的流程图
图6为根据本发明的一种优选实施方式的解码后的视频帧序列示意图
具体实施方式
实施例1
图1是本发明一种实施例的H.264图像组的编码方法,该编码方法由编码端实施,如电子设备,例如移动电子设备、摄像装置等,该编码方法包括如下步骤。
S100,在编码端缓存器中为编码图像组提供存储编码过程产生的参考帧数据的两块编码缓存地址。
在对图像组GOP进行编码前,需要在缓存器中申请两块编码缓存地址(例如buffer1和buffer2,如图4所示),以缓存在编码过程中产生的参考帧数据。需要指出的是,本发明所称的编码过程中产生的参考帧数据是指经过变换,量化,反量化,反变换以及滤波等操作之后所重建出的数据,而非参考帧在编码过程中经过变换、量化等操作之后,不再进行反量化,反变换以及滤波等重建操作,直接进行熵编码形成压缩码流,因而也就不会形成重建的参考帧数据。现有技术中,由于采用欠佳的参考帧策略和未经优化的缓存利用策略,往往需要在缓存器中申请多块编码缓存地址,从而占用较大的硬件资源,以及较低的读写效率。而在本发明中,只需要两块编码缓存地址交替缓存经过编码产生的参考帧数据,并配合下文将详细描述的读写策略将提高参考帧数据的读写效率。
S110,编码前的初始化设置。
根据H.264标准,每一帧编码后的帧数据包括两大部分:帧头部和帧主体,对于I帧而言,帧头部依次包括四个部分:序列参数集SPS、图像参数集PPS、填充网络抽象层单元(NALU,其标识nal_unit_type=12)和片头(slice header),其中,填充NALU是预留的,可以根据实际编码需要是否采用该填充NALU;对于P帧而言,帧头部依次包括两个部分:填充网络抽象层单元NALU和片头slice header,其中,填充NALU是预留的,可以根据实际编码需要是否采用该填充NALU,片头中包含了该帧的类型信息,例如是I帧还是P帧。但在本发明中,I帧和P帧中都需要使用填充NALU,以承载下文将涉及的参考帧标识。
为了应对某些帧无用或者缺失的情况,可以允许编码过程中某些帧缺失,因此可以对帧头部中的序列参数集SPS进行设置,以使帧序号(即句法元素frame_num,表示该帧的编码顺序)可以不连续,对应的语法元素配置如下:gaps_in_frame_num_value_allowed_flag=1。
定义设定帧间隔(具体而言是相邻参考帧之间间隔的帧数量),也即连续非参考帧总数MAX_NO_REF_NUM,连续非参考帧总数是指根据编码实际需要而设定的、从每个图像组GOP的第一帧(即I帧)后第一个P帧开始连续的非参考帧的数量,通过调整该连续非参考帧总数的大小,可以调整每个图像组中作为参考帧的P帧的数量,还可以调整每个图像组GOP的编码码率,以及编码质量,该设定帧间隔(具体而言是相邻参考帧之间间隔的帧数量)不小于1,以保证在图像组GOP中存在P帧能够生成非参考帧。
S120,判断图像组当前帧的类型,若当前帧的类型是I帧则执行步骤S130,若当前帧的类型是P帧则执行步骤S140-S180。在本发明中,每个图像组依次包括I帧(即第一帧)和I帧之后的多个P帧。在此步骤之前,已经通过H.264标准规定的算法对图像组中每个帧的类型作出了决策,例如某帧是属于I帧还是P帧,由于这可以采用现有的帧类型决策算法,在此不再赘述。
S130,将当前帧(此时为I帧)的参考帧标识设置为参考帧并写入当前帧的帧头部,将当前帧的写缓存地址初始化为两块编码缓存地址中的任一编码缓存地址,对当前帧进行编码得到参考帧数据并将所述参考帧数据写入该任一编码缓存地址。
根据H.264标准I帧是参考帧,除了在帧头部的片头设置帧类型以表明是I帧之外,本发明还额外需要将I帧的参考帧标识no_ref_flag设置为参考帧,并将I帧的参考帧标识no_ref_flag写入I帧的帧头部的填充NALU中,以便解码端接收该帧头部而获得参考帧标识no_ref_flag并进行解码;在本实施例中,参考帧标识no_ref_flag用于表示当前帧是否为非参考帧,取值为1表示当前帧为非参考帧,取值为0表示当前帧为参考帧。
将I帧的写缓存地址初始化为两块编码缓存地址中的任一编码缓存地址,例如将I帧的写缓存地址初始化为buffer1。
然后硬件编码电路开始对I帧的编码(I帧可以划分为一个或多个条状(slice)进行分别编码),由于图像组中的I帧并不需要参考其他帧进行编码,而是采用帧内编码,因此,在编码I帧过程中,硬件编码电路需要从上述两块编码缓存地址之外的专门缓存待编码帧数据的缓存器的地址中读取待编码I帧数据,然后进行编码,每次编码完成后,将得到I帧参考帧数据写入写缓存地址buffer1,该参考帧数据可能分多次写入该buffer1,但是本发明并不做限定。
I帧编码完后,即得到图3所示0号I帧,然后将非参考帧余量n_r_n_s设置为连续非参考帧总数MAX_NO_REF_NUM,以便在适当的对应位置,即距前面最近参考帧的帧间隔为设定帧间隔的位置再次生成作为参考帧的P帧进行编码。例如,当MAX_NO_REF_NUM设置为2时,通过执行下文将详细描述的步骤后将在如图3的3号P帧处再次生成参考帧。也可以先将非参考帧余量no_ref_num_stat(以下简称为n_r_n_s)(亦可称之为剩余帧间隔)设置为连续非参考帧总数MAX_NO_REF_NUM+1,待当前帧编码完毕后,然后再将n_r_n_s减1,从而得到非参考帧余量n_r_n_s等于连续非参考帧总数MAX_NO_REF_NUM。上述两种方式对于I帧后的P帧而言是等效的,在对I帧后的P帧进行编码时,非参考帧余量n_r_n_s的值都是连续非参考帧总数MAX_NO_REF_NUM。
由于H.264标准最多支持16帧连续不生成参考帧的情况,因此,n_r_n_s+1≤16,即no_ref_stat_num最大值可取15,也就是说编码过程中连续不生成参考帧的数量不多于15帧。
S140,判断当前帧(此时为P帧)是否距前面最近参考帧的帧间隔为设定帧间隔,若是则将当前帧的参考帧标识设置为参考帧,若否则将当前帧的参考帧标识设置为非参考帧;其中,设定帧间隔不小于1。
为了判断当前帧(此时为P帧)是否距前面最近参考帧的帧间隔为设定帧间隔,在本实施例中,采用判断非参考帧余量(即剩余帧间隔)n_r_n_s的大小的方式,若非参考帧余量n_r_n_s大于0,则表示当前帧距前面最近参考帧的帧间隔并非为设定帧间隔,因此将当前帧的参考帧标识no_ref_flag设置为1,以表示当前帧不生成参考帧,即当前帧生成非参考帧;若非参考帧余量n_r_n_s等于0,则表示当前帧距前面最近参考帧的帧间隔为设定帧间隔,因此将当前帧的参考帧标识no_ref_flag设置为0,以表示当前帧为参考帧。例如,若当前帧为1号P帧时,非参考帧余量n_r_n_s=连续非参考帧总数MAX_NO_REF_NUM=2,大于0,因此,将当前帧的参考帧标识no_ref_flag设置为1,以表示1号P帧为非参考帧;若当前帧为3号P帧时,非参考帧余量n_r_n_s经过每次编码后的减1操作后(共2次)(详细步骤将在下文步骤S180进行描述),等于0,因此,将当前帧的参考帧标识no_ref_flag设置为0,即表示3号P帧生成参考帧。
图3是设定帧间隔=2下编码后的视频帧序列,从图3可见,两个参考帧之间设置了2个非参考帧P帧。
S150,将当前帧(此时为P帧)的参考帧标识no_ref_flag写入当前帧的帧头部,具体而言,将参考帧标识no_ref_flag写入当前帧的帧头部的填充NALU中。
S160,判断当前帧(此时为P帧)的前一帧是否为参考帧,若是参考帧则将当前帧的读缓存地址赋值为当前帧前一帧的写缓存地址、写缓存地址赋值为两块编码缓存地址中除当前帧前一帧的写缓存地址外的另一者,若是非参考帧则将当前帧的读缓存地址和写缓存地址分别保持与当前帧前一帧的读缓存地址和写缓存地址一致。
本发明通过设置变量间隔ref_id并判断该变量间隔ref_id的大小,以判断当前帧的前一帧是否为参考帧。具体而言,将间隔ref_id赋值为Num1-Num_r-1,其中,Numl为当前帧的语法元素frame_num的值,Num_r为在当前帧前面距离当前帧最近的参考帧的frame_num值。如图3所示,对于4号P帧而言,在该4号帧前面并离4号帧最近的参考帧是3号P帧,对于1号P帧而言,在该1号P帧前面离并离1号P帧最近的参考帧是0号I帧,因此,当前帧为1号P帧时,该间隔ref_id赋值为Num1-Num_r-1=1-0-1=0;当前帧为2号P帧时,该间隔ref_id赋值为Num1-Num_r-1=2-0-1>0;当前帧为3号P帧时,该间隔ref_id赋值为Num1-Num_r-1=3-0-1>0。
判断间隔ref_id的大小,若间隔ref_id为0,则表示当前帧的前一帧为参考帧,因此将当前帧的读缓存地址赋值为前一帧的写缓存地址、写缓存地址赋值为两块编码缓存地址中除前一帧的写缓存地址之外的另一者,若间隔大于0,则表示当前帧的前一帧不是参考帧即非参考帧,因此不更改当前帧的读缓存地址和写缓存地址,将当前帧的读缓存地址和写缓存地址分别保持与当前帧前一帧的读缓存地址和写缓存地址一致。例如,对于1号P帧,其间隔ref_id=1-0-1=0,因此,将1号P帧的读缓存地址赋值为前一帧0号I帧的写缓存地址buffer1,并将1号P帧的写缓存地址赋值另一缓存地址buffer2;又如,对于3号P帧,其间隔ref_id=3-0-1=2>0,因此不更改当前帧的读缓存地址和写缓存地址,即当前帧3号P帧的读缓存地址与前一帧2号P帧的读缓存地址相同,当前帧3号P帧的写缓存地址与前一帧2号P帧的写缓存地址相同;再如,对于4号P帧,由于经过步骤S312后3号P帧已经生成了参考帧,因此4号P帧前面最近的参考值为3号P帧,其间隔ref_id=4-3-1=0,因此,将4号P帧的读缓存地址赋值为前一帧3号P帧的写缓存地址,并将3号P帧的写缓存地址赋值另一缓存地址。
在一些实施例中,将间隔ref_id通过寄存器配置给硬件编码电路,以便硬件熵编码时对参考帧的相关信息进行编码。
S170,编码步骤:硬件编码电路从当前帧的读缓存地址中读取帧数据作为参考帧,并对当前帧进行编码,若当前帧是非参考帧,根据H.264编码标准,当前帧编码在经过变换、量化等操作之后,硬件编码电路不再进行反量化、反变换及滤波等重建操作,因此即使在前面步骤S160中对属于非参考帧的当前帧的写缓存地址进行了赋值,硬件电路也无法获得重建的参考帧数据以写入该写缓存地址;而若当前帧是参考帧,根据H.264的编码标准,当前帧编码在经过变换,量化及熵编码等操作形成压缩码流同时,硬件编码电路还需通过反量化,反变换及滤波等重建操作生成参考帧数据,然后硬件编码电路将当前帧编码得到的参考帧数据写入当前帧的写缓存地址。
S180,当前帧编码结束后,判断非参考帧余量n_r_n_s的大小,执行相应步骤:若非参考帧余量n_r_n_s大于0,则对非参考帧余量n_r_n_s减1,返回重复执行步骤S120重新开始执行相关步骤;若非参考帧余量n_r_n_s等于0,则需要判断图像组中是否还有待编码帧,若还有待编码则将非参考帧余量n_r_n_s设置为连续非参考帧总数MAX_NO_REF_NUM+1,再对非参考帧余量n_r_n_s减1。例如,当前帧为3号P帧,在其编码结束后,此时由于非参考帧余量n_r_n_s为0,且由于后面仍有待编码P帧,因此将非参考帧余量n_r_n_s设置为2+1=3,然后再对非参考帧余量n_r_n_s减1得到2,返回重复执行步骤S12重新开始执行相关步骤,若已没有待编码,则表明本图像组中所有帧都编码完毕。
图3是本发明一种实施例的编码后的视频帧序列示意图,0号I帧至5号P帧即为本实施例的一组图像组GOP,按照本实施例的前述步骤的编码过程中相关参数的计算结果如下表1所示,第二个图像组GOP的编码计算结果类似,不再赘述。
表1
Figure BDA0002548697620000121
S190,将编码后的图像组GOP发送给解码端进行解码,例如作为编码端的移动设备通过无线通信将编码后的图像组GOP发送给作为解码端的另一移动设备。
本实施例1中,只要出现I帧,则重新对I帧的写缓存地址进行初始化为两块编码缓存地址中的任一编码缓存地址。
实施例2
图5是本发明一种实施例的H.264图像组的解码方法,该解码方法由解码端实施,如电子设备,例如移动电子设备、影像播放装置等,该解码方法包括如下步骤。
S200,在解码端的缓存器中缓存待解码帧数据,在解码端的缓存器中为解码图像组提供存储解码过程产生的参考帧数据的两块解码缓存地址。
例如,作为解码端的移动电子设备通过无线通信接收到待解码帧数据,并将其缓存在专门缓存待解码帧数据的缓存区域中。
在对图像组GOP进行解码前,需要在缓存器中申请两块解码缓存地址(例如buffer3和buffer4),以缓存在解码过程中产生的参考帧数据。现有技术中,由于采用欠佳的参考帧策略和未经优化的缓存利用策略,往往需要在缓存中申请多块解码缓存地址,从而占用较大的硬件资源,以及较低的读写效率。而在本发明中,只需要两块解码缓存地址交替存储经过解码产生的参考帧数据,并配合下文将详细描述的读写策略将提高参考帧数据的读写效率。
S210,解码图像组当前帧的帧头部,获得当前帧的类型、当前帧的帧序号、参考帧标识,判断当前帧的类型,若当前帧的类型是I帧则执行步骤S220,若当前帧的类型是P帧则执行步骤S230-S260。
具体而言,解码当前帧的帧头部的片头,可以从中获得当前帧的帧类型(I帧或P帧),解码当前帧的帧头部中的填充NALU中可以获得当前帧的参考帧标识no_ref_flag。
S220,将当前帧(此时为I帧)的写缓存地址初始化为两块解码缓存地址中的任一解码缓存地址,对当前帧进行解码得到解码后的参考帧数据,并将该解码后的参考帧数据写入任一解码缓存地址。例如,将I帧的写缓存地址初始化为buffer3。
S230,判断当前帧前一帧的参考帧标识,若当前帧前一帧的参考帧标识为参考帧,将当前帧的读缓存地址赋值为当前帧前一帧的写缓存地址、写缓存地址赋值为两块解码缓存地址中除当前帧前一帧的写缓存地址外的另一者,若当前帧前一帧的参考帧标识不是参考帧,则将当前帧的读缓存地址和写缓存地址分别保持与当前帧前一帧的读缓存地址和写缓存地址一致。
例如,对于1号P帧,由于其前一帧为参考帧I帧,因此将1号P帧的读缓存地址赋值为前一帧I帧的写缓存地址buffer3,写缓存地址赋值为buffer4;又如,对于2号P帧,由于其前一帧为非参考帧,因此将2号P帧的读缓存地址和写缓存地址分别保持与前一帧1号帧的读缓存地址和写缓存地址一致。
为了判断当前帧前一帧的参考帧标识,本发明设置了前帧参考帧标识pre_no_ref_flag;前帧参考帧标识表示当前帧的前一帧的参考帧标识值。如图6,对于1号P帧,由于其前一帧I帧的参考帧标识值为0,因此1号P帧的前帧参考帧标识pre_no_ref_flag为0。
为了进行上述判断,本发明还设置了变量rf_id,该变量取值如下:
如果pre_no_ref_flag=1,则将变量rf_id设置为1;
如果pre_no_ref_flag=0,则将变量rf_id设置为0。
当然,为了更详细地对rf_id的赋值原理作阐述,也可以对上述判断具体化,以计算变量rf_id,例如:
如果no_ref_flag=1并且pre_no_ref_flag=1,则将变量rf_id设置为1;
如果no_ref_flag=1并且pre_no_ref_flag=0,则将变量rf_id设置为0;
如果no_ref_flag=0并且pre_no_ref_flag=1,则将变量rf_id设置为1;
如果no_ref_falg=0并且pre_no_ref_flag=0,则将变量rf_id设置为0。
根据上述变量rf_id对当前帧的读缓存地址和写缓存地址进行如下处理:当前帧的变量rf_id为0时,将当前帧的读缓存地址赋值为前一帧的写缓存地址、写缓存地址赋值为两块解码缓存器中除前一帧的写缓存地址外的另一者;当前帧的变量rf_id为1时,将当前帧的读缓存地址和写缓存地址分别保持与当前帧前一帧的读缓存地址和写缓存地址一致。例如,对于1号P帧,no_ref_flag=1并且pre_no_ref_flag=0,则变量rf_id在步骤S222中被设置为0,因此将1号P帧的读缓存地址赋值为前一帧(即0号I帧)的写缓存地址buffer3,写缓存地址赋值为两块解码缓存器中另一者buffer4;又如,对于2号P帧,no_ref_flag=1并且pre_no_ref_flag=1,则变量rf_id在步骤S222中被设置为1,因此将2号P帧的读缓存地址和写缓存地址保持不变;又如,对于3号P帧,no_ref_flag=0并且pre_no_ref_flag=1,则变量rf_id在步骤S222中被设置为1,因此将3号P帧的读缓存地址和写缓存地址保持不变;再如,对于4号P帧,no_ref_flag=1并且pre_no_ref_flag=0,则变量rf_id在步骤S222中被设置为0,因此将4号P帧的读缓存地址赋值为前一帧(即3号I帧)的写缓存地址buffer4,写缓存地址赋值为两块解码缓存器中另一者buffer3。
然后进行更新解码设置:将前帧参考帧标识更新赋值为当前帧的参考帧标识,例如,将对于1号P帧的前帧参考帧标识pre_no_ref_flag更新赋值为当前帧即1号P帧的参考帧标识no_ref_flag(等于1),以便在下一个解码周期时给2号P帧解码使用。
S240,解码步骤:从当前帧的读缓存地址中读取参考帧数据作为参考帧,并对当前帧进行解码,且只在当前帧为参考帧的情况下将解码后的参考帧数据写入当前帧的写缓存地址。
若当前帧是非参考帧,由于经过反量化,反变换及滤波等操作重建得到的参考帧数据并不需要再用于当前帧之后的帧的解码操作,因此非参考帧的重建数据并不需要写入两块解码缓存地址,也就是即使在前面步骤对当前帧的写缓存地址进行了赋值,在此解码步骤中也不会将参考帧数据写入解码缓存地址例如buffer4,而对非参考帧和参考帧的读缓存地址和写缓存地址进行一致性的赋值操作,有利于提高程序执行效率,因而是有益的。若当前帧是参考帧,则需要将经过反量化,反变换及滤波等操作而重建得到的参考帧数据写入当前帧的写缓存地址,以便后面的帧进行解码,例如,3号P帧的读缓存地址为buffer3,因此硬件解码电路将从读缓存地址buffer3中读取参考帧,进行解码后得到的3号P帧参考帧数据被硬件解码电路存入到写缓存地址buffer4中。
S250,重复执行步骤S220-S240,直至完成图像组中所有帧的解码。
本实施例中,图像组GOP可以是单个图像组GOP,也可以是包含多个图像组GOP在内的图像组。
S260,将解码后的图像组GOP进行进一步处理,例如输送至移动设备或影像设备的显示装置进行显示。
本发明还提供了一种H.264图像组的编码装置,包括:第一编码处理单元,用于在缓存器中为编码图像组提供存储编码过程产生的参考帧数据的两块编码缓存地址;第二编码处理单元,用于判断所述图像组当前帧的类型,若所述当前帧的类型是I帧则触发第三处理单元工作,若所述当前帧的类型是P帧则触发第四处理单元至第七处理单元工作;第三编码处理单元,用于将所述当前帧的参考帧标识设置为参考帧并写入所述当前帧的帧头部,将所述当前帧的写缓存地址初始化为所述两块编码缓存地址中的任一编码缓存地址,对所述当前帧进行编码得到参考帧数据并将所述参考帧数据写入所述任一编码缓存地址;第四编码处理单元,用于判断所述当前帧距前面最近参考帧的帧间隔是否为设定帧间隔,若是则将所述当前帧的参考帧标识设置为参考帧,若否则将所述当前帧的参考帧标识设置为非参考帧;其中,所述设定帧间隔不小于1;第五编码处理单元,用于将所述当前帧的所述参考帧标识写入所述当前帧的帧头部;第六编码处理单元,用于判断所述当前帧的前一帧是否为参考帧,若是参考帧则将所述当前帧的读缓存地址赋值为所述当前帧前一帧的写缓存地址、写缓存地址赋值为所述两块编码缓存地址中除所述当前帧前一帧的写缓存地址外的另一者,若是非参考帧则将所述当前帧的读缓存地址和写缓存地址分别保持与所述当前帧前一帧的读缓存地址和写缓存地址一致;第七编码处理单元,用于从所述当前帧的读缓存地址中读取帧数据作为参考帧,并对所述当前帧进行编码,且只在当前帧为参考帧的情况下将编码得到的参考帧数据写入所述当前帧的写缓存地址。
本发明还提供了一种H.264图像组的解码装置,包括:第一解码处理单元,用于在缓存器中为解码图像组提供存储解码过程产生的参考帧数据的两块解码缓存地址;第二解码处理单元,用于解码所述图像组当前帧的帧头部,获得所述当前帧的类型和参考帧标识,判断所述当前帧的类型,若所述当前帧的类型是I帧则触发第三解码处理单元工作,若所述当前帧的类型是P帧则触发第四解码处理单元和第五解码处理单元工作;第三解码处理单元,用于将所述当前帧的写缓存地址初始化为所述两块解码缓存地址中的任一解码缓存地址,对所述当前帧进行解码得到参考帧数据并将所述参考帧数据写入所述任一解码缓存地址;第四解码处理单元,用于判断所述当前帧前一帧的参考帧标识,若所述当前帧前一帧的参考帧标识为参考帧,将所述当前帧的读缓存地址赋值为所述当前帧前一帧的写缓存地址、写缓存地址赋值为所述两块解码缓存地址中除所述当前帧前一帧的写缓存地址外的另一者,若所述当前帧前一帧的参考帧标识不是参考帧,则将所述当前帧的读缓存地址和写缓存地址分别保持与所述当前帧前一帧的读缓存地址和写缓存地址一致;第五解码处理单元,用于从所述当前帧的读缓存地址中读取帧数据作为参考帧,并对所述当前帧进行解码,且只在当前帧为参考帧的情况下将解码得到的参考帧数据写入所述当前帧的写缓存地址。
需要说明的是,本发明中采用步骤编号(字母或数字编号)来指代某些具体的方法步骤,仅仅是出于描述方便和简洁的目的,而绝不是用字母或数字来限制这些方法步骤的顺序。本领域的技术人员能够明了,相关方法步骤的顺序,应由技术本身决定,不应因步骤编号的存在而被不适当地限制。
本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。
应当理解,上述的实施方式仅是示例性的,而非限制性的,在不偏离本发明的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换,都将包含于本发明的权利要求范围内。

Claims (14)

1.一种H.264图像组的编码方法,其特征在于,包括如下步骤:
S100,在缓存器中为编码图像组提供存储编码过程产生的参考帧数据的两块编码缓存地址;
S110,判断所述图像组当前帧的类型,若所述当前帧的类型是I帧则执行步骤S120,若所述当前帧的类型是P帧则执行步骤S130-S160;
S120,将剩余帧间隔初始化为设定帧间隔;将所述当前帧的参考帧标识设置为参考帧并写入所述当前帧的帧头部,将所述当前帧的写缓存地址初始化为所述两块编码缓存地址中的任一编码缓存地址,对所述当前帧进行编码得到参考帧数据并将所述参考帧数据写入所述任一编码缓存地址;
S130,判断所述当前帧距前面最近参考帧的帧间隔是否为设定帧间隔,若是则将所述当前帧的参考帧标识设置为参考帧,若否则将所述当前帧的参考帧标识设置为非参考帧;其中,所述设定帧间隔不小于1;通过如下步骤判断所述当前帧距前面最近参考帧的帧间隔是否为设定帧间隔:S131,若所述剩余帧间隔大于零,则判定所述当前帧距前面最近参考帧的帧间隔不是设定帧间隔,若所述剩余帧间隔为零,则判定所述当前帧距前面最近参考帧的帧间隔为设定帧间隔,并将所述剩余帧间隔设置为所述设定帧间隔加一,直至所述图像组的所有帧编码完毕;S132,每执行一次步骤S131之后将所述剩余帧间隔减一;
S140,将所述当前帧的所述参考帧标识写入所述当前帧的帧头部;
S150,判断所述当前帧的前一帧是否为参考帧,若是参考帧则将所述当前帧的读缓存地址赋值为所述当前帧前一帧的写缓存地址、写缓存地址赋值为所述两块编码缓存地址中除所述当前帧前一帧的写缓存地址外的另一者,若是非参考帧则将所述当前帧的读缓存地址和写缓存地址分别保持与所述当前帧前一帧的读缓存地址和写缓存地址一致;
S160,从所述当前帧的读缓存地址中读取参考帧数据作为参考帧,并对所述当前帧进行编码,且只在当前帧为参考帧的情况下将编码得到的参考帧数据写入所述当前帧的写缓存地址。
2.根据权利要求1所述的编码方法,其特征在于,
所述设定帧间隔不超过15。
3.根据权利要求1或2所述的编码方法,其特征在于,
在步骤S120和S140中,将所述当前帧的所述参考帧标识写入所述当前帧的帧头部中的填充网络抽象层单元内。
4.一种H.264图像组的解码方法,其特征在于,包括如下步骤:
S200,在缓存器中为解码图像组提供存储解码过程产生的参考帧数据的两块解码缓存地址;
S210,解码所述图像组当前帧的帧头部,获得所述当前帧的类型和参考帧标识,若所述当前帧的类型是I帧则执行步骤S220,若所述当前帧的类型是P帧则执行步骤S230-S240;
S220,将所述当前帧的写缓存地址初始化为所述两块解码缓存地址中的任一解码缓存地址,对所述当前帧进行解码得到参考帧数据并将所述参考帧数据写入所述任一解码缓存地址;
S230,判断所述当前帧前一帧的参考帧标识,若所述当前帧前一帧的参考帧标识为参考帧,将所述当前帧的读缓存地址赋值为所述当前帧前一帧的写缓存地址、写缓存地址赋值为所述两块解码缓存地址中除所述当前帧前一帧的写缓存地址外的另一者,若所述当前帧前一帧的参考帧标识不是参考帧,则将所述当前帧的读缓存地址和写缓存地址分别保持与所述当前帧前一帧的读缓存地址和写缓存地址一致;
S240,从所述当前帧的读缓存地址中读取参考帧数据作为参考帧,并对所述当前帧进行解码,且只在当前帧为参考帧的情况下将解码得到的参考帧数据写入所述当前帧的写缓存地址。
5.根据权利要求4所述的解码方法,其特征在于,
在步骤S210中,解码所述图像组当前帧的帧头部中填充网络抽象层单元,获得所述当前帧的参考帧标识。
6.一种H.264图像组的编码装置,其特征在于,包括:
第一编码处理单元,用于在缓存器中为编码图像组提供存储编码过程产生的参考帧数据的两块编码缓存地址;
第二编码处理单元,用于判断所述图像组当前帧的类型,若所述当前帧的类型是I帧则触发第三处理单元工作,若所述当前帧的类型是P帧则触发第四处理单元至第七处理单元工作;
第三编码处理单元,用于将剩余帧间隔初始化为设定帧间隔,并将所述当前帧的参考帧标识设置为参考帧并写入所述当前帧的帧头部,将所述当前帧的写缓存地址初始化为所述两块编码缓存地址中的任一编码缓存地址,对所述当前帧进行编码得到参考帧数据并将所述参考帧数据写入所述任一编码缓存地址;
第四编码处理单元,用于判断所述当前帧距前面最近参考帧的帧间隔是否为设定帧间隔,若是则将所述当前帧的参考帧标识设置为参考帧,若否则将所述当前帧的参考帧标识设置为非参考帧;其中,所述设定帧间隔不小于1;所述第四编码处理单元还用于通过如下步骤判断所述当前帧距前面最近参考帧的帧间隔是否为设定帧间隔:若所述剩余帧间隔大于零,则判定所述当前帧距前面最近参考帧的帧间隔不是设定帧间隔,若所述剩余帧间隔为零,则判定所述当前帧距前面最近参考帧的帧间隔为设定帧间隔,并将所述剩余帧间隔设置为所述设定帧间隔加一,直至所述图像组的所有帧编码完毕;将所述剩余帧间隔减一;
第五编码处理单元,用于将所述当前帧的所述参考帧标识写入所述当前帧的帧头部;
第六编码处理单元,用于判断所述当前帧的前一帧是否为参考帧,若是参考帧则将所述当前帧的读缓存地址赋值为所述当前帧前一帧的写缓存地址、写缓存地址赋值为所述两块编码缓存地址中除所述当前帧前一帧的写缓存地址外的另一者,若是非参考帧则将所述当前帧的读缓存地址和写缓存地址分别保持与所述当前帧前一帧的读缓存地址和写缓存地址一致;
第七编码处理单元,用于从所述当前帧的读缓存地址中读取参考帧数据作为参考帧,并对所述当前帧进行编码,且只在当前帧为参考帧的情况下将编码得到的参考帧数据写入所述当前帧的写缓存地址。
7.根据权利要求6所述的编码装置,其特征在于,
所述第三编码处理单元和第五编码处理单元用于将所述当前帧的所述参考帧标识写入所述当前帧的帧头部中的填充网络抽象层单元内。
8.一种H.264图像组的解码装置,其特征在于,包括:
第一解码处理单元,用于在缓存器中为解码图像组提供存储解码过程产生的参考帧数据的两块解码缓存地址;
第二解码处理单元,用于解码所述图像组当前帧的帧头部,获得所述当前帧的类型和参考帧标识,判断所述当前帧的类型,若所述当前帧的类型是I帧则触发第三解码处理单元工作,若所述当前帧的类型是P帧则触发第四解码处理单元和第五解码处理单元工作;
第三解码处理单元,用于将所述当前帧的写缓存地址初始化为所述两块解码缓存地址中的任一解码缓存地址,对所述当前帧进行解码得到参考帧数据并将所述参考帧数据写入所述任一解码缓存地址;
第四解码处理单元,用于判断所述当前帧前一帧的参考帧标识,若所述当前帧前一帧的参考帧标识为参考帧,将所述当前帧的读缓存地址赋值为所述当前帧前一帧的写缓存地址、写缓存地址赋值为所述两块解码缓存地址中除所述当前帧前一帧的写缓存地址外的另一者,若所述当前帧前一帧的参考帧标识不是参考帧,则将所述当前帧的读缓存地址和写缓存地址分别保持与所述当前帧前一帧的读缓存地址和写缓存地址一致;
第五解码处理单元,用于从所述当前帧的读缓存地址中读取参考帧数据作为参考帧,并对所述当前帧进行解码,且只在当前帧为参考帧的情况下将解码得到的参考帧数据写入所述当前帧的写缓存地址。
9.根据权利要求8所述的解码装置,其特征在于,
所述第二解码处理单元,用于解码所述图像组当前帧的帧头部中填充网络抽象层单元,获得所述当前帧的参考帧标识。
10.一种编码芯片,包括处理器和存储器,存储器上存储有计算机程序,其特征在于,所述计算机程序可被处理器执行如权利要求1-3任一所述的编码方法。
11.一种解码芯片,包括处理器和存储器,存储器上存储有计算机程序,其特征在于,所述计算机程序可被处理器执行如权利要求4或5所述的解码方法。
12.一种存储程序的存储介质,其特征在于,所述程序被处理器执行成如权利要求1-3任一所述的编码方法,或者如权利要求4或5所述的解码方法。
13.一种无线通信设备,其特征在于,包括如权利要求10所述的编码芯片或如权利要求11所述的解码芯片。
14.一种电子设备,其特征在于,包括如权利要求10所述的编码芯片或如权利要求11所述的解码芯片。
CN202010568621.5A 2020-06-19 2020-06-19 H.264图像组的编码方法、装置、编解码芯片及电子设备 Active CN112291569B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010568621.5A CN112291569B (zh) 2020-06-19 2020-06-19 H.264图像组的编码方法、装置、编解码芯片及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010568621.5A CN112291569B (zh) 2020-06-19 2020-06-19 H.264图像组的编码方法、装置、编解码芯片及电子设备

Publications (2)

Publication Number Publication Date
CN112291569A CN112291569A (zh) 2021-01-29
CN112291569B true CN112291569B (zh) 2023-03-24

Family

ID=74419668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010568621.5A Active CN112291569B (zh) 2020-06-19 2020-06-19 H.264图像组的编码方法、装置、编解码芯片及电子设备

Country Status (1)

Country Link
CN (1) CN112291569B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621688B (zh) * 2009-04-30 2011-08-17 武汉大学 一种实现avs视频标准时域分级的编解码方法
CN104754345B (zh) * 2013-12-27 2019-01-04 展讯通信(上海)有限公司 视频编码方法及视频编码器
US20170094294A1 (en) * 2015-09-28 2017-03-30 Cybrook Inc. Video encoding and decoding with back channel message management
CN106534871B (zh) * 2016-12-06 2019-06-07 北京大学 视频编解码器的编码方法和解码方法

Also Published As

Publication number Publication date
CN112291569A (zh) 2021-01-29

Similar Documents

Publication Publication Date Title
CN108737825B (zh) 视频数据编码方法、装置、计算机设备和存储介质
RU2377737C2 (ru) Способ и устройство для преобразования с повышением частоты кадров с помощью кодера (ea-fruc) для сжатия видеоизображения
JP5296535B2 (ja) 画像復号装置
EP1793616A2 (en) Picture encoding method and apparatus and picture decoding method and apparatus
CN112291566B (zh) H.264视频编码方法、装置及存储设备
US6304295B1 (en) Region-based refresh strategy for video compression
US9473790B2 (en) Inter-prediction method and video encoding/decoding method using the inter-prediction method
CN110113610B (zh) 数据传输方法及装置
JP2007214785A (ja) 符号化装置、符号化方法およびプログラム
CN110392284B (zh) 视频编码、视频数据处理方法、装置、计算机设备和存储介质
US8811483B2 (en) Video processing apparatus and method
US9319682B2 (en) Moving image encoding apparatus, control method therefor, and non-transitory computer readable storage medium
US20120106632A1 (en) Method and apparatus for error resilient long term referencing block refresh
US20080069202A1 (en) Video Encoding Method and Device
CN112291569B (zh) H.264图像组的编码方法、装置、编解码芯片及电子设备
CN108322754A (zh) 编码方法与相对应的编码器以及解码器
CN101453656B (zh) 视频编码、解码方法及装置和视频编解码***
CN115514960A (zh) 视频编码方法、装置、电子设备与存储介质
TWI439137B (zh) 重建一圖像群以在該圖像群中隨機存取之方法及裝置
JP4855622B2 (ja) チャネルを通じて送信された符号化ビデオ信号におけるデータ損失を軽減するビデオ符号化/復号化方法
US20050259741A1 (en) Context adaptive variable length code decoder for decoding macroblock adaptive field/frame coded video data
US9491483B2 (en) Inter-prediction method and video encoding/decoding method using the inter-prediction method
CN114615549B (zh) 流媒体seek方法、客户端、存储介质和移动设备
CN113766232B (zh) 一种编码、解码方法、装置、电子设备及存储介质
CN114697610B (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
CB02 Change of applicant information

Address after: 519075 No. 333, Kexing Road, Xiangzhou District, Zhuhai City, Guangdong Province

Applicant after: ZHUHAI JIELI TECHNOLOGY Co.,Ltd.

Address before: Floor 1-107, building 904, ShiJiHua Road, Zhuhai City, Guangdong Province

Applicant before: ZHUHAI JIELI TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant