CN113766232B - 一种编码、解码方法、装置、电子设备及存储介质 - Google Patents
一种编码、解码方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113766232B CN113766232B CN202111124115.8A CN202111124115A CN113766232B CN 113766232 B CN113766232 B CN 113766232B CN 202111124115 A CN202111124115 A CN 202111124115A CN 113766232 B CN113766232 B CN 113766232B
- Authority
- CN
- China
- Prior art keywords
- frame image
- image
- coding
- reference frame
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 239000000872 buffer Substances 0.000 claims abstract description 47
- 238000004891 communication Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 8
- 230000001960 triggered effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001125 extrusion Methods 0.000 description 1
- -1 i.e. Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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 an image region, e.g. an object
- H04N19/172—Methods 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 an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种编码、解码方法、装置、电子设备及存储介质,所述方法包括:在分辨率切换时,选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;根据待编码帧图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理。本发明实施例中通过帧间预测对待编码帧图像进行编码处理,提高了编码效率,避免了码率尖峰的问题,提高了视频播放的流畅性。并且,以可靠帧图像为参考,因此能够保证对端对编码处理后的图像成功解码。
Description
技术领域
本发明涉及编解码技术领域,尤其涉及一种编码、解码方法、装置、电子设备及存储介质。
背景技术
当前在用各视频编码标准下的帧参考关系基础方案是IDR帧后跟随一系列Inter帧/Intra帧,通常情况下Inter帧记为P或B帧,Intra帧记为I帧。Intra帧为帧内预测帧,Inter帧为帧间预测帧。传统的IDR帧是一种带编码参数的特殊Intra帧,其解码不依赖其他帧,故解码器在遇到完整IDR帧时可保证解码并播放。
通常情况下,Intra帧的压缩效率较Inter帧低,因此在保证视频质量稳定的情况下会在Intra帧处形成帧级码率尖峰,如图1示意,图1中的柱体高度反映了帧大小。这种参考架构中的Intra帧频繁出现,在视频存储或非实时视频应用中无可厚非,但在实时通信RTC应用中(尤其是网络条件较差时)就会出现问题,即较大的Intra帧丢失的概率增高、传输时延加大,降低视频播放的流畅性,并最终影响用户体验。为此在RTC应用中,普通Intra帧(I帧)可以通过更改配置(如不启用场景切换)使其不在码流中出现。
但是视频编码的分辨率发生变化时,不可避免的会插入传统IDR帧(即特殊Intra帧),进而引起码率尖峰,降低视频播放的流畅性。
发明内容
本发明实施例提供了一种编码、解码方法、装置、电子设备及存储介质,用以解决现有技术中分辨率发生变化时视频播放的流畅性降低的问题。
本发明实施例提供了一种编码方法,所述方法包括:
在分辨率切换时,选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;
根据待编码帧图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;
以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理。
另一方面,本发明实施例提供了一种解码方法,所述方法包括:
在完整收到编码处理后的图像时,获取编码参数;
选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;
根据所述编码处理后的图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;
以所述第二参考帧图像为参考,根据编码参数对所述编码处理后的图像进行解码处理。
再一方面,本发明实施例提供了一种编码装置,所述装置包括:
第一确定单元,用于在分辨率切换时,选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;
第一缩放处理单元,用于根据所述待编码帧图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;
编码单元,用于以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理。
再一方面,本发明实施例提供了一种解码装置,所述装置包括:
获取模块,用于在完整收到编码处理后的图像时,获取编码参数;
第二确定单元,用于选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;
第二缩放处理单元,用于根据所述编码处理后的图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;
解码单元,用于以所述第二参考帧图像为参考,根据编码参数对所述编码处理后的图像进行解码处理。
再一方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的编码方法步骤或解码方法步骤。
再一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的编码方法步骤或解码方法步骤。
本发明实施例提供了一种编码方法、装置、电子设备及存储介质,所述方法包括:在分辨率切换时,选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;根据待编码帧图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理。
由于在本发明实施例中,在分辨率切换时,选取缓冲区DPB中的可靠帧图像为第一参考帧图像,并根据待编码帧图像的分辨率对第一参考帧图像进行缩放处理,得到第二参考帧图像。第二参考帧图像与待编码帧图像的分辨率一致,因此能够以第二参考帧图像为参考对待编码帧图像进行编码处理。相较于相关技术中在分辨率切换时,通过帧内预测编码得到IDR帧的方案,本发明实施例中通过帧间预测对待编码帧图像进行编码处理,提高了编码效率,避免了码率尖峰的问题,提高了视频播放的流畅性。并且,以可靠帧图像为参考,因此能够保证对端对编码处理后的图像成功解码。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为背景技术中提供的I帧码率尖峰效应示意图;
图2为本发明实施例1提供的编码过程示意图;
图3为本发明实施例1提供的框架图;
图4为本发明实施例1提供的DPB示意图;
图5为本发明实施例1提供的传统IDR帧和New-IDR帧依赖关系示意;
图6为本发明实施例3提供的传统DPB中可靠帧的变化示意图;
图7为本发明实施例3提供的DPB中可靠帧的变化示意图;
图8为本发明实施例4提供的RTC场景中参考帧数为1和2的方案示意图;
图9为本发明实施例4提供的是否开启广义B帧的复杂度控制过程示意图;
图10为本发明实施例5提供的解码过程示意图;
图11为本发明实施例6提供的编码装置结构示意图;
图12为本发明实施例7提供的解码装置结构示意图;
图13为本发明实施例8提供的电子设备结构示意图。
具体实施方式
下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例1:
图2为本发明实施例提供的编码过程示意图,包括以下步骤:
S101:在分辨率切换时,选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像。
S102:根据待编码帧图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像。
S103:以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理。
本发明实施例提供的编码方法应用于电子设备,该电子设备可以是PC、平板电脑、智能手机等设备。本发明实施例中涉及到的名词解释如下:RTC:Real-TimeCommunication,即实时通信。IDR帧:Instantaneous Decoder Refresh,即解码器立即刷新帧。DPB:Decoded Picture Buffer,即缓冲区。GPB:Generalized P and B picture,即广义B帧。
图3为本发明实施例提供的框架图,如图3所示,终端A与终端B进行视频通话,终端A与终端B的地位对等,每个终端内包括编码模块、解码模块、反馈信息模块,如图3所示,编码模块完成对采集视频的编码,编码出的码流通过网络传输到对端。对端解码模块在接收到的视频数据满足解码条件时解码、显示。反馈信息模块根据从对端反馈的信息,在本端重建对端解码画像,以供本端的编码模块参考。
编码模块中有一个DPB,用来放置一些已编码帧的重建帧,以供后续帧参考,如图4示意,其中n0是最新编码、重构后放到DPB中的帧,其离当前待编码帧最近;实际使用中,DPB的大小根据RTC的方案不同而不同。通常情况下,在DPB中存在可靠帧和非可靠帧,其中可靠帧是指通过反馈信息确认在解码端可成功解码的帧,否则为非可靠帧,如图4所示,重建帧n4、n2为可靠帧,而n2重建帧为最新的可靠帧,DPB中的其它重建帧为非可靠帧。具体哪些重建帧是可靠帧、最新可靠帧、非可靠帧,这些信息存储在反馈信息模块并在反馈信息模块中更新。
在分辨率切换时,传统IDR帧是一个带编码参数的Intra帧,可独立解码,不依赖之前的帧,如图5中的(a)。与传统IDR帧不同,本发明实施例提供的New-IDR帧是可以参考之前帧的,为了保证New-IDR帧在对端成功接收时必可解码,New-IDR参考的帧是一个可靠帧,如图5中的(b),从压缩效率的角度考虑,New-IDR帧仅参考反馈信息模块中记录的可靠帧,相较于相关技术中在分辨率切换时,通过帧内预测编码得到IDR帧的方案,本发明实施例中通过帧间预测对待编码帧图像进行编码处理,提高了编码效率,避免了码率尖峰的问题,提高了视频播放的流畅性。
为了在分辨率切换时,能够参考反馈信息模块中记录的可靠帧进行编码,首先选取缓冲区DPB中的可靠帧图像为第一参考帧图像,然后根据待编码帧图像的分辨率对第一参考帧图像进行缩放处理,得到第二参考帧图像。待编码帧图像的分辨率和第二参考帧图像的分辨率一致。
需要说明的是,若缓冲区DPB中存在多个可靠帧图像,可以选取任一可靠帧图像作为第一参考帧图像,较佳的,为了使编码更准确,所述选取缓冲区DPB中的可靠帧图像为第一参考帧图像包括:
选取所述缓冲区DPB中的最新可靠帧图像为第一参考帧图像,其中,所述最新可靠帧图像为距所述待编码帧图像最近的可成功解码的图像。
因为最新可靠帧图像与待编码帧图像时间间隔小,相似度高,因此选取缓冲区DPB中的最新可靠帧图像为第一参考帧图像,使得后续对待编码帧图像编码更准确。
生成编码参数,例如序列参数集(Sequence Paramater Set,SPS)、图像参数集(Picture Paramater Set,PPS等。该步骤生成SPS和PPS与编码传统IDR帧中生成编码参数的方式完全一致,在本发明实施例中不再进行赘述。以第二参考帧图像为参考,根据编码参数对待编码帧图像进行编码处理,得到New-IDR帧。编码待编码帧图像后续Inter帧。后续Inter帧不参考New-IDR帧之前的帧。当New-IDR帧反馈信息显示其在对端收到并成功解码时,清空DPB中New-IDR之前的帧。如果反馈信息显示其在对端未成功解码,则重新进行生成编码参数,对待编码帧图像进行编码处理的步骤。
由于在本发明实施例中,在分辨率切换时,选取缓冲区DPB中的可靠帧图像为第一参考帧图像,并根据待编码帧图像的分辨率对第一参考帧图像进行缩放处理,得到第二参考帧图像。第二参考帧图像与待编码帧图像的分辨率一致,因此能够以第二参考帧图像为参考对待编码帧图像进行编码处理。相较于相关技术中在分辨率切换时,通过帧内预测编码得到IDR帧的方案,本发明实施例中通过帧间预测对待编码帧图像进行编码处理,提高了编码效率,避免了码率尖峰的问题,提高了视频播放的流畅性。并且,以可靠帧图像为参考,因此能够保证对端对编码处理后的图像成功解码。
实施例2:
本发明实施例提供的通过参考第二参考帧图像对待编码帧图像进行编码处理得到New-IDR帧图像的方案称为New-IDR方案。采用New-IDR方案时,相当于在传统IDR编码方案的基础上增加了一种Inter预测供候选,Inter预测的压缩效率通常高于传统IDR帧的Intra预测。在RTC应用中,通话场景运动强度一般情况下较自然视频更低,这也为New-IDR方案充分发挥优势提供了空间。但若最新可靠帧与当前待编码帧在内容相差较大时,则即便启用了New-IDR方案,在决策帧中某块选择Intra或Inter预测时可能绝大多数仍选用Intra预测,这样New-IDR的优势就无法发挥,反倒增加了计算量。因此New-IDR的启用条件是最新可靠帧与待编码帧之间没有发生场景切换。场景切换的算法、阈值因终端算力而异,如本发明实施例中用如下方法认定是否场景切换。
所述以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理之前,所述方法还包括:
分别统计所述第二参考帧图像和待编码帧图像的亮度信息,根据统计结果确定所述第二参考帧图像和待编码帧图像的相似度,若所述相似度大于预设的相似度阈值,以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理。
若所述相似度不大于预设的相似度阈值,所述方法还包括:
对所述待编码帧图像按关键帧进行编码处理。
本发明实施例中,分别统计第二参考帧图像和待编码帧图像的亮度信息,得到两个亮度直方图,例如将亮度值划分为16个组,统计每组亮度值对应的像素点数量。得到两个亮度直方图,每个亮度直方图对应一个向量,例如第二参考帧图像对应的向量为D_ref={r0,r1,r2,…,r15},待编码帧图像对应的向量为D_cur={c0,c1,c2,…,c15}。然后根据统计结果确定所述第二参考帧图像和待编码帧图像的相似度,例如计算S=(Dref·Dcur)/(|Dref|*|Dcur|)。其中点号表示向量内积,星号表示普通乘法,||表示计算向量的模,S表示相似度。若相似度大于预设的相似度阈值,则确定场景没有发生切换。此时以第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理。若相似度不大于预设的相似度阈值,则确定场景发生切换。此时对待编码帧图像按关键帧进行编码处理。其中,预设的相似度阈值可以是0.8、0.85等。
由于在本发明实施例中,以第二参考帧图像为参考,根据编码参数对待编码帧图像进行编码处理之前,首先判断当前场景是否发生切换,如果场景未发生切换,采用New-IDR方案进行编码,如果场景发生切换,对待编码帧图像按关键帧进行编码处理。既保证了编码的准确性,又在可行的情况下提高了编码效率。
实施例3:
编码端DPB大小固定为N,即能放置N个重建帧(位置索引为0,1,2,……,N-1)。一般情况下N个帧中有可靠帧和非可靠帧;但当网络特别差时,可能没有可靠帧被更新,因此随着编码的进行DPB中的帧会被诸个挤出,最终导致DPB中一个可靠帧也没有,如图6示意。在示意图中,每一个矩形代表一帧,处于DPB框中的帧是编码重建的帧,涂黑的矩形代表可靠帧,箭头指向的帧是当前待编码帧。从上到下各行展示随着编码进行时DPB的变化,可见在最后一行时DPB中没有了可靠帧。此时编码器必须插入IDR帧,这样视频帧在对端收到时才有解码成功的可能,才不会导致视频卡死。为了避免网络较差时这种强制插入IDR帧的情况,本发明实施例中,所述选取缓冲区DPB中的可靠帧图像为第一参考帧图像包括:
判断当前编码时刻的缓冲区DPB中是否存在可靠帧图像,如果是,选取所述当前编码时刻的缓冲区DPB中的可靠帧图像为第一参考帧图像,如果否,将上一编码时刻的缓冲区DPB中的可靠帧图像保留在所述当前编码时刻的缓冲区DPB中,并选取所述当前编码时刻的缓冲区DPB中的可靠帧图像为第一参考帧图像。
本发明实施例中,DPB的大小仍为N,不同的是DPB中至少保留一个可靠帧。当最后一个可靠帧被挤到N-1位置时,除非有更新的可靠帧出现,否则就保留在DPB的N-1位置索引处。如图7示意,其中第6、7行中的位置N-1处保留了最新的可靠帧,第8行展示在有新的可靠帧被更新时,位置N-1处保留的过时可靠帧被释放。这样在编码当前帧时总能保证有可靠帧可被参考,而避免了无可靠帧可用时不得不插入IDR帧的情况。
对端解码器中的DPB仍维持原样,不需要做任何调整。在对端解码器中,那些不满足解码条件的帧(接收不完整或参考帧不存在)不会执行解码,也就不会有解码帧进入DPB挤占空间;而一旦有可解码帧解码并被放入DPB中时,也往往能及时反馈信息使编码端及时更新可靠帧,避免视频卡死。
实施例4:
在DPB中存在着可靠帧和非可靠帧,对当前帧编码时其可以参考最新可靠帧,如图8中(a)所示,此时当前帧如果被对端成功接收则一定能解码,此种帧称为可靠参考帧;当前帧也可以参考同时域分层的紧邻非可靠帧,如图8中(b)所示,此时当前帧如果被对端成功接收则不一定能解码,因为其参考帧可能就未成功解码,此种帧称为不可靠参考帧。该发明中针对不可靠参考帧,在编码阶段除了可以只参考一帧外,也可额外参考最新可靠帧,如图8中(c)所示。可以看出(a)和(b)中的参考帧数都是1,而(c)中的参考帧数是2,需要注意的是将当前帧编为P帧时即便参考帧数是2帧,一个块的参考帧仍然只能在两帧中选一个。对不可靠参考帧将参考帧数从1提升到2,在不降低解码成功率的情况下压缩性能得以提升,但编码的运动估计环节引入更多的计算量。
对当前帧使用广义B帧编码(即如图8(c)所示的参考两帧编码),则设置参考帧列表List1和List0完全一致,然后对当前帧中的块进行编码时会遍历参考帧列表中的帧进行单向、双向预测的决策,因此广义B帧相对于P帧,由运动估计引入的计算量进一步增加。在RTC应用中若终端算力不足,提高最大参考帧数,或进一步启用广义B帧存在编码无法达到实时的风险,因此需要根据终端算力自适应决策最大参考帧数和广义B帧是否开启。
所述以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理之前,所述方法还包括:
根据编码处理能力,判断是否开启广义B帧编码方式,如果否,以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理。
若判断开启广义B帧编码方式,所述方法还包括:
以所述第二参考帧图像及所述待编码帧图像的紧邻帧图像为参考,对所述待编码帧图像进行编码处理。
本发明实施例中,根据编码处理能力,判断是否开启广义B帧编码方式。当编码处理能力较好时,开启广义B帧,以第二参考帧图像及所述待编码帧图像的紧邻帧图像为参考,对所述待编码帧图像进行编码处理。当编码处理能力较差时,关闭广义B帧。此时以单帧为参考对待编码帧图像进行编码。此时,以第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理。或者在实际场景中,根据需要也可以以紧邻帧为参考,根据编码参数对所述待编码帧图像进行编码处理。
需要说明的是,根据编码处理能力,判断是否开启广义B帧编码方式的方案适用于所有场景。对于分辨率切换场景,若判断开启广义B帧编码方式,以第二参考帧图像及待编码帧图像的紧邻帧图像为参考,对待编码帧图像进行编码处理,其中,第二参考帧图像为经过缩放处理后的图像。对于分辨率未发生切换场景,若判断开启广义B帧编码方式,此时以第二参考帧图像及待编码帧图像的紧邻帧图像为参考,对待编码帧图像进行编码处理,因为不需要缩放处理,所以第二参考帧图像也就是未经过缩放处理后的图像,或者说此时缩放处理的缩放比例为1:1,得到的第二参考帧图像。
本发明实施例中,所述根据编码处理能力,判断是否开启广义B帧编码方式包括:
初始化广义B帧编码方式关闭,参考帧数为1;
若最近第一数量帧图像的平均编码耗时小于预设的第一时间阈值,将参考帧数调整为2;
若当前参考帧数为2,最近第二数量帧图像的平均编码耗时小于预设的第二时间阈值,开启广义B帧编码方式;
若当前参考帧数为2且广义B帧编码方式打开,最近第三数量帧图像的平均编码耗时不小于预设的第三时间阈值,关闭广义B帧编码方式;
若当前参考帧数为2且广义B帧编码方式关闭,最近第四数量帧图像的平均编码耗时不小于预设的第四时间阈值,将参考帧数调整为1。
具体的,图9为本发明实施例提供的是否开启广义B帧的复杂度控制过程示意图,如图9所示,视频通话开始时,初始化广义B帧关闭(GPB=0),最大参考帧数为1(ref_num=1),假设预期编码帧率为F。在当前分辨率上编码一帧时,对流程图中的几种情况进行描述如下。需要说明的是,图9中的“否”之后的黑色圆点指的是保持当前状态不变。
(1)若当前最大参考帧数是1,最近K1帧的平均编码耗时为T1毫秒,则当T1<M1*(1000/F)时增加最大参考帧数到2(实际只对非可靠参考帧生效)。
(2)若当前最大参考帧数已经是2,最近K1帧的平均编码耗时为T3毫秒,则当T3<M2*(1000/F)时开启广义B帧。
(3)若最大参考帧数为2且广义B帧打开,最近K2帧的平均编码耗时为T2毫秒,则当T2>=Q*(1000/F)时关闭广义B帧特性。
(4)若最大参考帧数为2且广义B帧关闭,最近K2帧的平均编码耗时为T2毫秒,则当T2>=Q*(1000/F)时恢复最大参考帧数到1。
K1、K2、M1、M2、Q的一组参考值例如为K1=200、K2=5、M1=0.5、M2=0.3、Q=0.8。需要特别说明的是当参考帧数由2切换回1时后续不再启用参考帧数2,从启用GPB切换回关闭GPB时后续不再启用GPB。
实施例5:
本发明实施例提供了一种基于上述实施例的编码方法的解码方法,如图10所示,过程包括以下步骤:
S201:在完整收到编码处理后的图像时,获取编码参数。
S202:选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像。
S203:根据所述编码处理后的图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像。
S204:以所述第二参考帧图像为参考,根据编码参数对所述编码处理后的图像进行解码处理。
本发明实施例中,在完整收到New-IDR帧时才启动New-IDR帧的解码,解码编码参数(SPS、PPS等)。对DPB重建帧中的被参考帧进行缩放。该步骤仅在被参考帧(第一参考帧图像)与当前待解码帧分辨率不同时才需要。缩放是将被参考帧的分辨率缩放到与待解码帧的分辨率一致,需要注意的是编码端和解码端的缩放算法需要一致。按普通Inter帧的方式对New-IDR帧进行解码。成功解码后,清空DPB中New-IDR帧之前的帧。
本发明实施例提供的编码解码方案,通过减少分辨率切换时IDR帧、DPB中不存在可靠帧时减少IDR帧,在RTC场景中减少了传统IDR帧个数,使得帧级出现码率尖峰的频率降低,进一步降低丢帧和时延,提升视频主观体验。提供了一种RTC场景下的增加参考帧数可行方案,以及进一步引入广义B帧提升压缩性能。考虑到终端算力的限制,提供了一种复杂度控制方案,使得算力充足的终端可提高视频压缩率,进而提升用户体验。
实施例6:
图11为本发明实施例提供的编码装置结构示意图,该装置包括:
第一确定单元111,用于在分辨率切换时,选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;
第一缩放处理单元112,用于根据待编码帧图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;
编码单元113,用于以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理。
所述第一确定单元111,具体用于选取所述缓冲区DPB中的最新可靠帧图像为第一参考帧图像,其中,所述最新可靠帧图像为距所述待编码帧图像最近的可成功解码的图像。
所述装置还包括:
第三确定单元114,用于分别统计所述第二参考帧图像和待编码帧图像的亮度信息,根据统计结果确定所述第二参考帧图像和待编码帧图像的相似度,若所述相似度大于预设的相似度阈值,触发所述编码单元。
所述编码单元113,还用于若所述相似度不大于预设的相似度阈值,对所述待编码帧图像按关键帧进行编码处理。
所述第一确定单元111,具体用于判断当前编码时刻的缓冲区DPB中是否存在可靠帧图像,如果是,选取所述当前编码时刻的缓冲区DPB中的可靠帧图像为第一参考帧图像,如果否,将上一编码时刻的缓冲区DPB中的可靠帧图像保留在所述当前编码时刻的缓冲区DPB中,并选取所述当前编码时刻的缓冲区DPB中的可靠帧图像为第一参考帧图像。
所述装置还包括:
判断单元115,用于根据编码处理能力,判断是否开启广义B帧编码方式,如果否,触发所述编码单元,所述编码单元以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理。
所述编码单元113,还用于若判断开启广义B帧编码方式,以所述第二参考帧图像及所述待编码帧图像的紧邻帧图像为参考,对所述待编码帧图像进行编码处理。
所述判断单元115,具体用于初始化广义B帧编码方式关闭,参考帧数为1;若最近第一数量帧图像的平均编码耗时小于预设的第一时间阈值,将参考帧数调整为2;若当前参考帧数为2,最近第二数量帧图像的平均编码耗时小于预设的第二时间阈值,开启广义B帧编码方式;若当前参考帧数为2且广义B帧编码方式打开,最近第三数量帧图像的平均编码耗时不小于预设的第三时间阈值,关闭广义B帧编码方式;若当前参考帧数为2且广义B帧编码方式关闭,最近第四数量帧图像的平均编码耗时不小于预设的第四时间阈值,将参考帧数调整为1。
实施例7:
图12为本发明实施例提供的解码装置结构示意图,该装置包括:
获取模块121,用于在完整收到编码处理后的图像时,获取编码参数;
第二确定单元122,用于选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;
第二缩放处理单元123,用于根据所述编码处理后的图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;
解码单元124,用于以所述第二参考帧图像为参考,根据编码参数对所述编码处理后的图像进行解码处理。
实施例8:
在上述各实施例的基础上,本发明实施例中还提供了一种电子设备,如图13所示,包括:处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信;
所述存储器303中存储有执行编码步骤的计算机程序,当所述程序被所述处理器301执行时,使得所述处理器301执行如下步骤:
在分辨率切换时,选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;
根据待编码帧图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;
以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理。
或者,所述存储器303中存储有执行解码步骤的计算机程序,当所述程序被所述处理器301执行时,使得所述处理器301执行如下步骤:
在完整收到编码处理后的图像时,获取编码参数;
选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;
根据所述编码处理后的图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;
以所述第二参考帧图像为参考,根据编码参数对所述编码处理后的图像进行解码处理。
本发明实施例提供的一种电子设备可用于执行上述任意实施例提供的编码方法或解码方法,具备相应的功能和有益效果。
实施例9:
在上述各实施例的基础上,本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
在分辨率切换时,选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;
根据待编码帧图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;
以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理。
或者执行:
在完整收到编码处理后的图像时,获取编码参数;
选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;
根据所述编码处理后的图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;
以所述第二参考帧图像为参考,根据编码参数对所述编码处理后的图像进行解码处理。
本发明实施例还提供的计算机存储可读存储介质,内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,可用于执行上述任意实施例提供的编码方法或解码方法,具备相应的功能和有益效果。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种编码方法,其特征在于,所述方法包括:
在分辨率切换时,选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;
根据待编码帧图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;
以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理;
所述以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理之前,所述方法还包括:
根据编码处理能力,判断是否开启广义B帧编码方式,如果否,以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理;
若判断开启广义B帧编码方式,所述方法还包括:
以所述第二参考帧图像及所述待编码帧图像的紧邻帧图像为参考,对所述待编码帧图像进行编码处理。
2.如权利要求1所述的方法,其特征在于,所述选取缓冲区DPB中的可靠帧图像为第一参考帧图像包括:
选取所述缓冲区DPB中的最新可靠帧图像为第一参考帧图像,其中,所述最新可靠帧图像为距所述待编码帧图像最近的可成功解码的图像。
3.如权利要求1所述的方法,其特征在于,所述以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理之前,所述方法还包括:
分别统计所述第二参考帧图像和待编码帧图像的亮度信息,根据统计结果确定所述第二参考帧图像和待编码帧图像的相似度,若所述相似度大于预设的相似度阈值,以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理。
4.如权利要求3所述的方法,其特征在于,若所述相似度不大于预设的相似度阈值,所述方法还包括:
对所述待编码帧图像按关键帧进行编码处理。
5.如权利要求1所述的方法,其特征在于,所述选取缓冲区DPB中的可靠帧图像为第一参考帧图像包括:
判断当前编码时刻的缓冲区DPB中是否存在可靠帧图像,如果是,选取所述当前编码时刻的缓冲区DPB中的可靠帧图像为第一参考帧图像,如果否,将上一编码时刻的缓冲区DPB中的可靠帧图像保留在所述当前编码时刻的缓冲区DPB中,并选取所述当前编码时刻的缓冲区DPB中的可靠帧图像为第一参考帧图像。
6.一种基于权利要求1至5任一项编码方法的解码方法,其特征在于,所述方法包括:
在完整收到编码处理后的图像时,获取编码参数;
选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;
根据所述编码处理后的图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;
以所述第二参考帧图像为参考,根据编码参数对所述编码处理后的图像进行解码处理。
7.一种编码装置,其特征在于,所述装置包括:
第一确定单元,用于在分辨率切换时,选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;
第一缩放处理单元,用于根据待编码帧图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;
编码单元,用于以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理;
所述装置还包括:
判断单元,用于根据编码处理能力,判断是否开启广义B帧编码方式,如果否,触发所述编码单元,所述编码单元以所述第二参考帧图像为参考,根据编码参数对所述待编码帧图像进行编码处理;
所述编码单元,还用于若判断开启广义B帧编码方式,以所述第二参考帧图像及所述待编码帧图像的紧邻帧图像为参考,对所述待编码帧图像进行编码处理。
8.一种基于权利要求6所述的解码方法对应的解码装置,其特征在于,所述装置包括:
获取模块,用于在完整收到编码处理后的图像时,获取编码参数;
第二确定单元,用于选取缓冲区DPB中的可靠帧图像为第一参考帧图像;其中,所述可靠帧图像为可成功解码的图像;
第二缩放处理单元,用于根据所述编码处理后的图像的分辨率对所述第一参考帧图像进行缩放处理,得到第二参考帧图像;
解码单元,用于以所述第二参考帧图像为参考,根据编码参数对所述编码处理后的图像进行解码处理。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一项所述的编码方法步骤,或实现权利要求6所述的解码方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一项所述的编码方法步骤,或实现权利要求6所述的解码方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111124115.8A CN113766232B (zh) | 2021-09-24 | 2021-09-24 | 一种编码、解码方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111124115.8A CN113766232B (zh) | 2021-09-24 | 2021-09-24 | 一种编码、解码方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113766232A CN113766232A (zh) | 2021-12-07 |
CN113766232B true CN113766232B (zh) | 2024-06-07 |
Family
ID=78797336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111124115.8A Active CN113766232B (zh) | 2021-09-24 | 2021-09-24 | 一种编码、解码方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113766232B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207813A (zh) * | 2007-12-18 | 2008-06-25 | 中兴通讯股份有限公司 | 一种视频序列的编码、解码方法及编码、解码系统 |
CN101562497A (zh) * | 2008-04-17 | 2009-10-21 | 华为技术有限公司 | 一种分级b帧的帧层速率控制方法及装置 |
CN102158729A (zh) * | 2011-05-05 | 2011-08-17 | 西北工业大学 | 无参考的视频序列编码质量客观评价方法 |
CN108495130A (zh) * | 2017-03-21 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法和装置、终端、服务器和存储介质 |
CN108833916A (zh) * | 2018-06-20 | 2018-11-16 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置、存储介质和计算机设备 |
CN108848376A (zh) * | 2018-06-20 | 2018-11-20 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置和计算机设备 |
CN110996102A (zh) * | 2020-03-03 | 2020-04-10 | 眸芯科技(上海)有限公司 | 抑制p/b帧中帧内块呼吸效应的视频编码方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100846802B1 (ko) * | 2007-02-14 | 2008-07-16 | 삼성전자주식회사 | 동영상 프레임의 디코딩 방법 및 인코딩 방법 |
-
2021
- 2021-09-24 CN CN202111124115.8A patent/CN113766232B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207813A (zh) * | 2007-12-18 | 2008-06-25 | 中兴通讯股份有限公司 | 一种视频序列的编码、解码方法及编码、解码系统 |
CN101562497A (zh) * | 2008-04-17 | 2009-10-21 | 华为技术有限公司 | 一种分级b帧的帧层速率控制方法及装置 |
CN102158729A (zh) * | 2011-05-05 | 2011-08-17 | 西北工业大学 | 无参考的视频序列编码质量客观评价方法 |
CN108495130A (zh) * | 2017-03-21 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法和装置、终端、服务器和存储介质 |
CN108833916A (zh) * | 2018-06-20 | 2018-11-16 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置、存储介质和计算机设备 |
CN108848376A (zh) * | 2018-06-20 | 2018-11-20 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置和计算机设备 |
CN110996102A (zh) * | 2020-03-03 | 2020-04-10 | 眸芯科技(上海)有限公司 | 抑制p/b帧中帧内块呼吸效应的视频编码方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于线性回归分析的视频质量评估方法;张兆林;史浩山;万帅;;西北工业大学学报(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113766232A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2377737C2 (ru) | Способ и устройство для преобразования с повышением частоты кадров с помощью кодера (ea-fruc) для сжатия видеоизображения | |
US6188792B1 (en) | Video encoding and decoding apparatus | |
US7609765B2 (en) | Fast multi-frame motion estimation with adaptive search strategies | |
US9560379B2 (en) | Inter-prediction method and video encoding/decoding method using the inter-prediction method | |
WO2020140331A1 (zh) | 视频图像处理方法与装置 | |
CN110113610B (zh) | 数据传输方法及装置 | |
JP3864098B2 (ja) | 動画像符号化方法、動画像復号方法、及びこれらの方法の実行プログラムとこれらの実行プログラムを記録した記録媒体 | |
CN112929747A (zh) | 基于网络反馈的视频编码方法、装置、设备及存储介质 | |
US20240040127A1 (en) | Video encoding method and apparatus and electronic device | |
CN115514960A (zh) | 视频编码方法、装置、电子设备与存储介质 | |
JP2007507128A (ja) | 参照ピクチャのリフレッシュを遅延させて行うビデオ画像の符号化および復号化 | |
CN114422792B (zh) | 视频图像压缩方法、装置、设备及存储介质 | |
CN114245196B (zh) | 一种录屏推流方法、装置、电子设备及存储介质 | |
WO2004063992A1 (en) | Video frame correlation for motion estimation | |
CN113766232B (zh) | 一种编码、解码方法、装置、电子设备及存储介质 | |
CN115460458B (zh) | 视频丢帧方法和设备 | |
CN115361582B (zh) | 一种视频实时超分辨率处理方法、装置、终端及存储介质 | |
JP2002027483A (ja) | 画像符号化装置、画像復号化装置および記憶媒体 | |
JP3349964B2 (ja) | 画像復号化装置 | |
US10856002B2 (en) | Method, device and system for method of encoding a sequence of frames in a video stream | |
CN112738508A (zh) | 视频编码方法、确定方法、处理方法、服务器及vr终端 | |
US20050259741A1 (en) | Context adaptive variable length code decoder for decoding macroblock adaptive field/frame coded video data | |
US9451285B2 (en) | Inter-prediction method and video encoding/decoding method using the inter-prediction method | |
CN112291569B (zh) | H.264图像组的编码方法、装置、编解码芯片及电子设备 | |
CN113194324B (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 |