CN111050175A - 视频编码的方法和装置 - Google Patents

视频编码的方法和装置 Download PDF

Info

Publication number
CN111050175A
CN111050175A CN201811198138.1A CN201811198138A CN111050175A CN 111050175 A CN111050175 A CN 111050175A CN 201811198138 A CN201811198138 A CN 201811198138A CN 111050175 A CN111050175 A CN 111050175A
Authority
CN
China
Prior art keywords
frame
coding
kth
encoding
value
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
CN201811198138.1A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201811198138.1A priority Critical patent/CN111050175A/zh
Publication of CN111050175A publication Critical patent/CN111050175A/zh
Pending legal-status Critical Current

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/142Detection of scene cut or scene change
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/25Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone

Landscapes

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

Abstract

本申请提供了一种视频编码的方法,属于视频技术领域。所述方法包括:在对待编码的视频数据中的N个连续的帧(N个连续的帧之前具有至少M个连续的且与N个连续的帧相邻的帧)中的每一帧进行编码时,均依据位于该帧之前且与该帧相邻的M个连续的帧的编码反馈信息,对该帧进行编码处理,得到编码处理后的帧。采用申请,可以降低编码延时。另外,本申请还提供了与该视频编码方法相关的视频编码装置。

Description

视频编码的方法和装置
技术领域
本申请涉及视频技术领域,特别涉及一种视频编码的方法和装置。
背景技术
视频编解码技术一般是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的技术,在视频应用中起到很重要的作用。一般有两种视频编解码技术,一种是硬件编解码技术,另一种是软件编解码技术,硬件编解码技术相对于软件编解码技术能够提供高分辨率、高帧率和低传输带宽的视频数据。
相关技术中,一种常用的软件编码技术是感知编码技术,基本流程为:对视频数据进行分段,然后对每个分段进行多次编码,第一次编码时对内容进行分析(如提取亮度、纹理等信息),后面的几次才进行编码,通过每次降低对人眼不敏感的内容,实现编码处理。
这样,由于感知编码技术是分段多次进行编码,所以编码延时比较高。
发明内容
为了解决相关技术的问题,本申请实施例提供了一种视频编码的方法和装置,用于降低编码延时,更加适用于低延时编码场景中。
第一方面,本申请提供了一种视频编码的方法,所述方法包括:
获取位于待编码的视频数据中的N个连续的帧,N个连续的帧之前具有至少M个连续的且与N个连续的帧相邻的帧。针对N个连续的帧中的每一帧,均按照下述对于第K帧的处理方法进行处理,第K帧为N个连续的帧中的任意一个帧:根据位于第K帧之前且与第K帧相邻的M个连续的帧的编码反馈信息,对第K帧进行编码处理,得到编码处理的第K帧。
其中,N为大于或等于2的整数,M为大于或等于4的整数。编码反馈信息包括运动信息、纹理信息、图像质量值、编码压力值或量化参数(Quantization Parameter,QP)直方图中的一种或多种。
本申请实施例所示的方案,终端设备在对待编码的视频数据中的N个连续的帧(N个连续的帧之前具有至少M个连续的且与N个连续的帧相邻的帧)进行编码时,可以获取这N个连续的帧,然后对于N个连续的帧中的任一帧(可以称为是第K帧),终端设备可以确定第K帧之前与第K帧相邻的M个连续的帧,然后获取这M个连续的帧的编码反馈信息,使用这M个连续的帧的编码反馈信息,对第K帧进行编码处理,得到编码处理的第K帧。这样,由于对第K帧进行编码时,考虑了之前相邻的几个连续的帧的编码反馈信息,仅对第K帧进行一次编码,而不会多次编码,所以可以降低编码延时。
结合第一方面,在第一种可能的实施方式中,在编码处理时,还可以参照第K帧的描述信息,根据位于第K帧之前且与第K帧相邻的M个连续的帧的编码反馈信息和第K帧的描述信息,对第K帧进行编码处理。
其中,对于第K帧,第K帧的描述信息用于描述第K帧图像是白天拍摄的还是黑夜拍摄的信息,用于描述第K帧图像内具有人物还是景色的信息,以及用于描述第K帧图像的噪声的信息。用于描述第K帧图像的噪声的信息可以是噪声值,噪声值指第K帧中噪点的数目,噪点主要指图像中不该出现的外来像素,通常由电子干扰产生,噪声值还可以使用国际标准组织(International Organization for Standardization,ISO)制定的感光强度值反映反映,感光强度值越大,表明帧的噪声越大,反之感光强度值越小,表明帧的噪声越小。
本申请实施例所示的方案,终端设备在获取到第K帧后,可以首先对第K帧进行识别(可以是输入到预设的分类算法中,与预设的多种描述信息进行匹配),识别出第K帧的描述信息。例如,用户在白天拍摄了风景视频,第K帧的噪声值为50,第K帧的描述信息包括白天、风景和噪声值50。然后终端设备可以使用第K帧之前与第K帧相邻的M个连续的帧的编码反馈信息和第K帧的描述信息,对第K帧进行编码处理。这样,在对第K帧进行编码时,不仅考虑了第K帧之前相邻的几个连续的帧的编码反馈信息,还考虑了第K帧的描述信息,仅对第K帧进行一次编码,而不会多次编码,可以降低编码延时。
结合第一方面的第一种可能的实施方式,在第二种可能的实施方式中,可以首先确定编码参数的参数值,再基于编码参数的参数值进行编码处理,可以是根据位于第K帧之前且与第K帧相邻的M个连续的帧的编码反馈信息,确定第K帧的场景类别。根据第K帧的描述信息和第K帧的场景类别,以及预先存储的帧的描述信息和场景类别共同与帧的编码参数的参数值之间的对应关系,确定对应于第K帧的描述信息和第K帧的场景类别的第K帧的编码参数的参数值。根据第K帧的编码参数的参数值,对第K帧进行编码处理。
其中,编码参数包括码率、帧率、分辨率、帧类型或编码算法参数中的一种或多种,编码算法参数值包括主观调试算法参数值、功耗算法参数和块级码率算法参数值。码率指单位时间传输的数据位数,一般单位是kbps,即千位每秒。帧率指每秒显示的帧的数目。分辨率指每英寸图像内的像素点的数目。帧类型包括I帧、P帧和B帧。I帧又称为内部画面,I帧通常是每个画面组(Group of Pictures,GOP)的第一帧,经过适度的压缩,作为随机访问的参考点,可以当成图像。P帧是由前面的P帧或者I帧预测得到,比较与它前面的P帧或I帧之间的相同信息或数据,也即考虑运动的特性进行帧间压缩。B帧为双向预测内插编码帧,是根据前面的I帧或P帧来进行预测。帧的描述信息和场景类别共同与帧的编码参数的参数值之间的对应关系可以预先存储,并且存储至终端设备中,帧的场景类别一般可以用于反映编码的复杂度。帧的场景类别一般至少包括大运动复杂场景、大运动简单场景、小运动复杂场景和小运动简单场景等,简单场景一般对应纹理简单,复杂场景一般对应纹理复杂。
本申请实施例所示的方案,终端设备可以使用待编码的视频数据中第K帧之前与第K帧相邻的M个连续的帧的编码反馈信息,确定这M个连续的帧的场景类别,由于这M个连续的帧与第K帧相邻,所以与第K帧的相似度比较高,可以将这M个连续的帧的场景类别,确定为第K帧的场景类别。然后获取预先存储的帧的描述信息和场景类别共同与帧的编码参数的参数值之间的对应关系,从该对应关系中,确定第K帧的场景类别与第K帧的描述信息,共同对应的编码参数的参数值,这样就可以得到在编码第K帧时,所使用的编码参数的参数值。然后可以使用第K帧的编码参数的参数值对第K帧进行编码处理。
这样,在编码时确定编码参数的参数值,不仅考虑了第K帧的描述信息,还考虑了第K帧之前相邻的M个连续的帧的编码反馈信息,而且由于第K帧与M个连续的帧相邻,相似度比较高,所以可以使确定出的编码参数的参数值更适合于第K帧。
结合第一方面、第一方面的第一种可能的实施方式或第二种可能的实施方式,在第三种可能的实施方式中,在编码反馈信息包括运动信息和纹理信息的情况下。编码处理的过程可以如下:获取在被编码处理时位于第K帧之前且与第K帧相邻的M个连续的帧中的每一帧在各预测模式分别对应的分块数目。并获取在被编码处理时位于第K帧之前且与第K帧相邻的M个连续的帧中每一帧的像素点的亮度通道Y值的方差。
确定位于第K帧之前且与第K帧相邻的M个连续的帧中每一帧对应的比例。每一帧对应的比例为在被编码处理时,对应帧在帧内预测模式下的分块数目与对应帧在所有预测模式下的分块数目的总和之间的比值。
确定位于第K帧之前且与第K帧相邻的M个连续的帧对应的比例的平均值。并确定位于第K帧之前且与第K帧相邻的M个连续的帧的像素点的Y值的方差的平均值。
如果比例的平均值大于第一预设阈值,且方差的平均值大于第二预设阈值,则确定第K帧的场景类别为大运动复杂场景。
如果比例的平均值小于或等于第一预设阈值,且方差的平均值小于或等于第二预设阈值,则确定第K帧的场景类别为小运动简单场景。
如果比例的平均值大于第一预设阈值,且方差的平均值小于或等于第二预设阈值,则确定第K帧的场景类别为大运动简单场景。
如果比例的平均值小于或等于第一预设阈值,且方差的平均值大于第二预设阈值,则确定第K帧的场景类别为小运动复杂场景。
其中,第一预设阈值和第二预设阈值可以预设,并且存储至终端设备中,预测模式包括帧内预测模式、帧间预测模式和跳出(skip)块预测模式。
本申请实施例所示的方案,终端设备可以对第K帧之前与第K帧相邻的M个连续的帧中每一帧的运动信息进行统计,处理可以如下:对于任一帧,在编码时,会按照一定的方式进行分块处理,终端设备可以确定该帧在每种预测模式下分块的数目。然后对于M个连续的帧中每一帧,确定该帧在所有预测模式下的分块数目的总和,然后确定该帧的帧内预测模式的分块数目占所有预测模式下的分块数目的总和的比例。这样,对于M个连续的帧中每一帧,都可以确定出一个比例,也就得到每一帧的运动信息,然后确定M个连续的帧的比例的平均值。如果该平均值大于第一预设阈值,则说明为大运动场景,如果该平均值小于或等于第一预设阈值,则说明为小运动场景。
终端设备可以对M个连续的帧中每一帧的纹理信息进行统计,处理可以如下:对于任一帧,一般对帧进行编码时,会进行分块(包括帧内预测模式的分块、帧间预测模式的分块和跳出(skip)块预测模式的分块),在进行编码前,帧的格式已经由红绿蓝(Red,Green,Blue,RGB)格式转换为亮度通道、两个色差通道(YUV,Luma,Chroma)格式,然后计算每个块包括的像素点的Y值的方差,然后将该帧的每个块的方差相加,得到该帧的方差,也就得到了该帧的纹理信息。需要说明的是,每一帧包括的分块是指该帧在帧内预测模式下包括的分块、在帧间模式下包括的分块以及在跳出块预测模式下包括的分块的总和。比如对于帧U,它包括的分块为帧U在帧内预测模式下包括的分块、在帧间模式下包括的分块和在跳出块预测模式下包括的分块的总和。如果帧U在帧内预测模式下包括的分块数为X1,在帧间模式下包括的分块数为X2,在跳出块预测模式下包括的分块数为X3,则该帧U包括的分块数为X1+X2+X3的和。本申请其他部分也描述到每一帧包括的分块,均请参见此处的解释,相关部分不再赘述。然后对于M个连续的帧,将这M个连续的帧的方差取平均值,如果该平均值大于第二预设阈值,则说明为复杂场景,如果该平均值小于或等于第二预设阈值,则说明为简单场景。
这样,将上述两个场景结合,即可确定出M个连续的帧的场景类别,将M个连续的帧的场景类别确定为第K帧的场景类别。即,如果比例的平均值大于第一预设阈值,且方差的平均值大于第二预设阈值,则确定第K帧的场景类别为大运动复杂场景,如果比例的平均值小于或等于第一预设阈值,且方差的平均值小于或等于第二预设阈值,则确定第K帧的场景类别为小运动简单场景,如果比例的平均值大于第一预设阈值,且方差的平均值小于或等于第二预设阈值,则确定第K帧的场景类别为大运动简单场景,如果比例的平均值小于或等于第一预设阈值,且方差的平均值大于第二预设阈值,则确定第K帧的场景类别为小运动复杂场景。由于采用了第K帧之前相邻的几帧的纹理信息和运动信息,所以可以使确定出的场景类别更准确。
结合第一方面、第一方面的第一种可能的实施方式或第二种可能的实施方式,在第四种可能的实施方式中,编码反馈信息包括编码压力值。对于每一帧,编码压力值为编码之后的对应帧所需的传输带宽与编码之前的对应帧所需的传输带宽之间的比值。确定位于第K帧之前且与第K帧相邻的M个连续的帧的编码压力值的平均值。
如果编码压力值的平均值大于第三预设阈值,则可以确定第K帧的场景类别为大运动复杂场景。如果编码压力值的平均值小于或等于第三预设阈值,则可以确定第K帧的场景类别为小运动简单场景。
这样,由于编码压力值可以反映出场景类别,所以使用编码压力值确定帧的场景类别更准确。
结合第一方面、第一方面的第一种可能的实施方式或第二种可能的实施方式,在第五种可能的实施方式中,编码反馈信息包括图像质量值,对于每一帧,图像质量值为编码后包括的像素点的数目与编码前包括的像素点的数目的差值。确定位于第K帧之前且与第K帧相邻的M个连续的帧的图像质量值的平均值。
如果图像质量值的平均值大于第四预设阈值,则确定K帧的场景类别为小运动简单场景。如果图像质量值的平均值小于或等于第四预设阈值,则确定K帧的场景类别为大运动复杂场景。
这样,由于图像质量值可以反映出场景类别,所以使用图像质量值确定帧的场景类别更准确。
结合第一方面或第一方面的第一至第五种可能的实施方式中任意一种实施方式,在第六种可能的实施方式中,确定第K帧的编码反馈信息,对第K帧帧的编码反馈信息进行存储。
本申请实施例所示的方案,在对第K帧进行编码处理时,可以确定编码后的第K帧与编码前的第K帧的图像像素点的数目的差值,确定为图像质量值,并且可以确定第K帧的运动信息,运动信息在前面已经说明。
并且可以提取第K帧的纹理信息,纹理信息不同于灰度、颜色等图像特征,它是通过像素及其周围空间领域的灰度分布来表现,即局部纹理信息,局部纹理信息不同程度的重复性,即全局纹理信息。纹理信息在前面已经说明。
并且可以确定第K帧的编码压力值,编码压力值用于反映压缩程度,可以是编码之后的对应帧所需的传输带宽与编码之前的对应帧所需的传输带宽之间的比值。
并且还可以确定第K帧的QP直方图,QP直方图中的横轴为量化值,纵轴为第K帧中落在各量化值的块的数目,量化值用于反映第K帧在编码时被压缩的程度,范围一般为0~51。
这样,由于在编码完成后,对帧的编码反馈信息进行存储,所以后续在对每一帧的后面的帧进行编码时,可以直接获取到该帧之前的帧的编码反馈信息使用,进而可以快速的对后面的帧进行编码。
结合第一方面的第六种可能的实施方式,在第七种可能的实施方式中,根据第K帧的上一帧的编码反馈信息,对第K帧进行虚化背景处理。
本申请实施例所示的方案,终端设备在对第K帧进行编码处理前,还可以获取第K帧的上一帧的编码反馈信息,然后使用该上一帧的编码反馈信息中的运动信息,确定第K帧中的前景和背景,然后进行虚化背景处理。由于上一帧的编码反馈信息包括运动信息,上一帧和第K帧相邻,相似度比较高,所以使用上一帧的编码反馈信息,可以快速的确定出第K帧中的背景。
结合第一方面或第一方面的第一至第七种可能的实施方式中任意一种实施方式,在第八种可能的实施方式中,得到编码处理后的第K帧之后,对编码处理后的第K帧进行美颜处理。
本申请实施例所示的方案,终端设备在对第K帧进行编码处理后,可以获取美颜处理算法,然后将编码处理后的第K帧输入到美颜处理算法中,进行美颜处理。
这样,在对帧进行编码后,还可以对编码后的帧的图像进行美颜处理。
结合第一方面或第一方面的第一至第八种可能的实施方式中任意一种实施方式,在第九种可能的实施方式中,在对N个连续的帧进行编码处理之前,根据编码参数预设的参数值,对位于N个连续的帧之前的每一帧进行编码处理。
其中,编码参数预设的参数值可以预设,并且存储至终端设备中,编码参数包括码率、帧率、分辨率、帧类型或编码算法参数中的一种或多种。
本申请实施例所示的方案,待编码视频数据中除了包括前面提到的N个连续的帧,还包括N个连续的帧之前的帧,在对N个连续的帧之前的帧进行编码时,可以获取编码参数预设的参数值,然后使用编码参数预设的参数值对N个连续的帧之前的每一帧进行编码处理。
这样,可以对N个连续的帧之前的帧进行编码处理。
结合第一方面的第九种可能的实施方式,在第十种可能的实施方式中,在编码处理时,还可以使用描述信息,相应的处理可以如下:
对位于N个连续的帧之前的每一帧,均按照下面针对第J帧的操作方法进行处理,其中,第J帧为位于N个连续的帧之前的任意一帧,根据第J帧的描述信息,对编码参数预设的参数值进行调整,其中,第J帧为N个连续的帧之前的任一帧,根据调整后的编码参数的参数值,对第J帧进行编码处理。
本申请实施例所示的方案,对于N个连续的帧之前的任一帧(可以称为是第J帧),终端设备可以对第J帧进行图像识别(可以是输入到预设的分类算法中,与预设的多种描述信息进行匹配),确定出第J帧的描述信息,然后使用第J帧的描述信息,对编码参数预设的参数值进行调整,基于调整后的参数值,对第J帧进行编码处理。
这样,在对N个连续的帧之前的每一帧进行编码处理之前,首先基于该帧的描述信息调整编码参数的参数值,所以可以使编码参数的参数值更适合于该帧,可以使编码性能提升。
第二方面,提供了一种终端设备,该终端设备包括处理器和存储器,所述处理器通过执行指令来实现上述第一方面所提供的视频编码的方法。
第三方面,提供了一种视频编码的装置,该装置包括多个模块,通过该多个模块之间的协同功能,能够实现上述第一方面所提供的视频编码的方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有指令,当计算机可读存储介质在终端设备上运行时,使得终端设备可以执行上述第一方面所提供的视频编码的方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在终端设备上运行时,使得终端设备可以执行上述第一方面所提供的视频编码的方法。
附图说明
图1是本申请实施例提供的一种视频通讯系统的示意图;
图2是本申请实施例提供的一种视频通讯系统的示意图;
图3是本申请实施例提供的一种终端设备的结构示意图;
图4是本申请实施例提供的一种视频编码的方法流程示意图;
图5是本申请实施例提供的一种视频编码的方法流程示意图;
图6是本申请实施例提供的一种视频编码的系统示意图;
图7是本申请实施例提供的一种视频编码的装置的结构示意图;
图8是本申请实施例提供的一种视频编码的装置的结构示意图;
图9是本申请实施例提供的一种视频编码的装置的结构示意图;
图10是本申请实施例提供的一种视频编码的装置的结构示意图
具体实施方式
下面将结合附图对本申请实施方式作进一步地详细描述。在此之前,首先对本申请所涉及的名词进行解释。
视频编码,指通过特定的压缩技术,将某种视频格式的文件转换成另一种视频格式文件。
下面将介绍本申请所涉及的系统架构。
如图1所示,它示出了一个视频通讯系统。该视频通讯系统用到一个视频通讯应用。该视频通讯系统中包括发送方和接收方,发送方向接收方发送视频数据。发送方可以包括视频采集模块、视频编码模块、发送模块,接收方可以包括接收模块、视频解码模块和视频显示模块。
在发送方向接收方发送视频数据时,发送方的视频采集模块可以采集视频数据,发送至视频编码模块,视频编码模块可以对视频数据进行编码,得到视频编码流,发送至发送模块,发送模块将其发送至接收方。
接收方中的接收模块可以接收视频编码流,将视频编码流发送至视频解码模块,视频解码模块对视频编码流进行解码之后,可以发送至视频显示模块,视频显示模块可以进行显示。
另外,如图2所示,发送方还可以包括视频存储模块,在视频通讯系统中,视频采集模块可以将采集到的视频数据直接发送至视频存储模块进行存储,在发送方要发送视频数据时,可以将视频数据发送至视频编码模块,经过编码得到视频编码流,发送至发送模块。另外,为了节约发送方的存储资源,视频编码模块还可以将编码后的视频码流发送至视频存储模块进行存储。
本申请实施例提供了一种视频编码的方法,该方法的执行主体可以是终端设备。该终端设备可以是能拍摄的智能手机、平板电脑或电脑等。该终端设备中安装有视频应用,如视频通讯应用、视频分享应用、录像应用等,在终端设备使用视频应用时,可以采用本申请所提供的编码方式。
图3示出了本申请实施例中终端设备的结构框图,该终端设备至少可以包括接收器301、处理器302、存储器303和发射器304。其中,接收器301可以用于接收数据(例如视频数据)。发射器304可以用于发送数据(例如视频数据)。存储器303可以用于存储软件代码。处理器302通过运行存储在存储器303中的软件代码,实现对数据的处理,进而实现各种功能。存储器303可以存储操作系统、应用程序以及因使用该终端设备而创建的其他数据等。此外,存储器303可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器303还可以包括存储器控制器,以提供处理器302、接收器301和发射器304对存储器303的访问。处理器302是终端设备的控制中心,利用各种接口和线路连接该终端设备的各个部分,通过运行存储在存储器303内的软件代码,以及调用存储在存储器303内的其他数据,实现该终端设备的各种功能。
可选的,处理器302包括一个或多个处理核心。
可选的,处理器302可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器302中。
本申请实施例提供了一种视频编码的方法,如图4所示,该方法包括如下步骤:
步骤401,获取位于待编码的视频数据中的N个连续的帧。
在具体实施中,用户开启终端设备的相机拍摄视频数据后,以及在对拍摄的视频数据(后续可以称为是待编码的视频数据)进行存储前,为了节约存储空间,可以对待编码的视频数据进行编码处理。在编码处理时,可以获取待编码的视频数据中的N(N为大于或等于2的整数)个连续的帧,N个连续的帧之前具有至少M(M为大于或等于4的整数)个连续的且与N个连续的帧相邻的帧。例如,M为4,N为16,待编码的视频数据中包括20个帧,N个连续的帧为第5个帧至第20个帧,且包括第5个帧和第20个帧。
用户开启终端设备的相机拍摄视频数据可以发生在该用户与他人进行视频通讯时(也即实时拍摄的视频数据),也可以发生在用户使用该终端设备向他人分享视频时。
在视频领域,以上仅为几种常用的情况,凡是对视频数据进行编码的处理均可以使用本申请实施例所示的方法。
步骤402,针对N个连续的帧中的每一帧,均按照下述对于第K帧的处理方法进行处理,第K帧为N个连续的帧中的任意一个帧:根据位于第K帧之前且与第K帧相邻的M个连续的帧的编码反馈信息,对第K帧进行编码处理,得到编码处理的第K帧。
其中,编码反馈信息包括运动信息、纹理信息、图像质量值、编码压力值或量化参数QP直方图中的一种或多种。
在具体实施中,对于N个连续的帧中的任一帧(可以称为是第K帧),终端设备可以确定第K帧之前与第K帧相邻的M个连续的帧,然后获取这M个连续的帧的编码反馈信息,使用这M个连续的帧的编码反馈信息,对第K帧进行编码处理,得到编码处理的第K帧。
可选的,在对第K帧进行编码处理时,还可以参照第K帧的描述信息,相应的处理可以如下:
根据位于第K帧之前且与第K帧相邻的M个连续的帧的编码反馈信息和第K帧的描述信息,对第K帧进行编码处理。
其中,对于第K帧,第K帧的描述信息包括用于描述第K帧图像是白天拍摄的还是黑夜拍摄的信息,用于描述第K帧图像内具有人物还是景色的信息,以及用于描述第K帧图像的噪声的信息,描述第K帧图像的噪声的信息可以是噪声值,噪声值可以是第K帧中噪点的数目,噪点主要指图像中不该出现的外来像素,通常由电子干扰产生,描述第K帧图像的噪声的信息还可以使用ISO制定的感光强度值反映反映,具体的,感光强度值越大,表明帧的噪声越大,反之感光强度值越小,表明帧的噪声越小。
在具体实施中,终端设备在获取到第K帧后,可以首先对第K帧进行识别(可以是输入到预设的分类算法中,与预设的多种描述信息进行匹配),识别出第K帧的描述信息。例如,用户在白天拍摄了风景视频,第K帧的噪声值为50,第K帧的描述信息包括白天、风景和噪声值50。
然后终端设备可以使用第K帧之前与第K帧相邻的M个连续的帧的编码反馈信息和第K帧的描述信息,对第K帧进行编码处理。
可选的,可以基于第K帧之前与第K帧相邻的M个连续的帧的编码反馈信息和第K帧的描述信息,确定出第K帧的编码参数的参数值,再对第K帧进行编码,相应的处理可以如下:
根据位于第K帧之前且与第K帧相邻的M个连续的帧的编码反馈信息,确定第K帧的场景类别,根据第K帧的描述信息和第K帧的场景类别,以及预先存储的帧的描述信息和场景类别共同与帧的编码参数的参数值之间的对应关系,确定对应于第K帧的描述信息和第K帧的场景类别的第K帧的编码参数的参数值,根据第K帧的编码参数的参数值,对第K帧进行编码处理。
其中,编码参数包括码率、帧率、分辨率、帧类型或编码算法参数中的一种或多种,编码算法参数值包括主观调试算法参数值、功耗算法参数和块级码率算法参数值。码率指数据传输时单位时间传输的数据位数,一般单位是kbps,即千位每秒,帧率指每秒显示的帧的数目,分辨率指每英寸图像内的像素点的数目,帧类型包括I帧、P帧和B帧,I帧又称为内部画面,I帧通常是每个画面组的第一帧,经过适度的压缩,作为随机访问的参考点,可以当成图像,P帧是由前面的P帧或者I帧预测得到,比较与它前面的P帧或I帧之间的相同信息或数据,也即考虑运动的特性进行帧间压缩。B帧为双向预测内插编码帧,是根据前面的I帧或P帧来进行预测。主观调试算法参数用于主观调试算法中,主观调试算法主要用于改变人眼观看到图像的效果,通过调节主观调试算法参数,可以改变人眼观看到的图像的效果。功耗算法参数用于功耗算法中,功耗算法主要用于调整编码时的功耗,通过调节功耗算法参数,可以改变编码视频数据的功耗。块级码率算法参数用于块级码率算法中,块级码率算法可以用于在帧级量化参数的基础上进一步调节单帧图像内各个块的量化参数,通过块级码率算法参数,可以调节在编码时,第K帧被分为的块数。例如,可以将K帧分为20块进行编码等。
在具体实施中,终端设备可以使用待编码的视频数据中第K帧之前与第K帧相邻的M个连续的帧的编码反馈信息,确定这M个连续的帧的场景类别,由于这M个连续的帧与第K帧相邻,所以与第K帧的相似度比较高,可以将这M个连续的帧的场景类别,确定为第K帧的场景类别。然后获取预先存储的帧的描述信息和场景类别共同与帧的编码参数的参数值之间的对应关系,从该对应关系中,确定第K帧的场景类别与第K帧的描述信息,共同对应的编码参数的参数值,这样就可以得到在编码第K帧时,所使用的编码参数的参数值。然后可以使用第K帧的编码参数的参数值,对第K帧进行编码处理。
这样,在编码时确定编码参数的参数值,不仅考虑了第K帧的描述信息,还考虑了第K帧之前相邻的M个连续的帧的编码反馈信息,而且由于第K帧与M个连续的帧相邻,相似度比较高,所以可以使确定出的编码参数的参数值更适合于第K帧。
需要说明的是,在确定出编码参数的参数值后,对第K帧进行编码的方式是现有技术中常用的方式,此处不再赘述。
还需要说明的是,通过帧类型的选择,可以提高编码性能。通过分辨率和帧率的选择,可以调节传输带宽,提升视频通讯场景中的用户体验。通过调节编码算法参数,可以控制终端设备编码功耗。
还需要说明的是,上述对应关系中,帧的场景类别一般可以用于反映编码的复杂度。帧的场景类别一般至少包括大运动复杂场景、大运动简单场景、小运动复杂场景和小运动简单场景等,简单场景一般对应纹理简单,复杂场景一般对应纹理复杂。而且在上述对应关系中,对于场景中包括大运动和/或复杂的场景,一般分配较大的码率,以保证帧画面质量,反之则分配较小的码率,在保证画面质量不下降的基础上,尽可能的减少码率。
可选的,在编码反馈信息包括运动信息和纹理信息的情况下,确定第K帧的场景类别的方式可以如下:
获取在被编码处理时位于第K帧之前且与第K帧相邻的M个连续的帧中的每一帧在各预测模式分别对应的分块数目,并获取在被编码处理时位于第K帧之前且与第K帧相邻的M个连续的帧中每一帧的像素点的亮度通道Y值的方差,确定位于第K帧之前且与第K帧相邻的M个连续的帧中每一帧对应的比例,每一帧对应的比例为在被编码处理时,对应帧在帧内预测模式下的分块数目与对应帧在所有预测模式下的分块数目的总和之间的比值,确定位于第K帧之前且与第K帧相邻的M个连续的帧对应的比例的平均值,并确定位于第K帧之前且与第K帧相邻的M个连续的帧的像素点的Y值的方差的平均值,如果比例的平均值大于第一预设阈值,且方差的平均值大于第二预设阈值,则确定第K帧的场景类别为大运动复杂场景,如果比例的平均值小于或等于第一预设阈值,且方差的平均值小于或等于第二预设阈值,则确定第K帧的场景类别为小运动简单场景,如果比例的平均值大于第一预设阈值,且方差的平均值小于或等于第二预设阈值,则确定第K帧的场景类别为大运动简单场景,如果比例的平均值小于或等于第一预设阈值,且方差的平均值大于第二预设阈值,则确定第K帧的场景类别为小运动复杂场景。
其中,第一预设阈值和第二预设阈值可以预设,并且存储至终端设备中,预测模式包括帧内预测模式、帧间预测模式和跳出(skip)块预测模式。
在具体的实施中,终端设备可以对第K帧之前与第K帧相邻的M个连续的帧中每一帧的运动信息进行统计,处理可以如下:对于任一帧,在编码时,会按照一定的方式进行分块处理,终端设备可以确定该帧在每种预测模式下分块的数目。然后对于M个连续的帧中每一帧,确定该帧在所有预测模式下的分块数目的总和,然后确定该帧的帧内预测模式的分块数目占所有预测模式下的分块数目的总和的比例。这样,对于M个连续的帧中每一帧,都可以确定出一个比例,也就得到每一帧的运动信息,然后确定M个连续的帧的比例的平均值。
终端设备可以对M个连续的帧中每一帧的纹理信息进行统计,处理可以如下:对于任一帧,一般对帧进行编码时,会进行分块(包括帧内预测模式的分块、帧间预测模式的分块和跳出(skip)块预测模式的分块),在进行编码前,帧的格式已经由RGB格式转换为YUV格式,然后计算每个块包括的像素点的Y值的方差,然后将该帧的每个块的方差相加,得到该帧的方差,也就得到了该帧的纹理信息。然后对于M个连续的帧,将这M个连续的帧的方差取平均值。
即,如果比例的平均值大于第一预设阈值,且方差的平均值大于第二预设阈值,则确定M个连续的帧的场景类别为大运动复杂场景,即第K帧的场景类别为大运动复杂场景,如果比例的平均值小于或等于第一预设阈值,且方差的平均值小于或等于第二预设阈值,则确定M个连续的帧的场景类别为小运动简单场景,即第K帧的场景类别为小运动简单场景,如果比例的平均值大于第一预设阈值,且方差的平均值小于或等于第二预设阈值,则确定M个连续的帧的场景类别为大运动简单场景,即第K帧的场景类别为大运动简单场景,如果比例的平均值小于或等于第一预设阈值,且方差的平均值大于第二预设阈值,则确定M个连续的帧的场景类别为小运动复杂场景,即第K帧的场景类别为小运动复杂场景。由于采用了第K帧之前相邻的几帧的纹理信息和运动信息,所以可以使确定出的场景类别更准确。
需要说明的是,现有的视频数据中的帧一般是RGB格式,所以可以使用如下公式将一个帧的RGB格式,转换到YUV格式:
Y=0.299*R+0.587*G+0.114*B;
U=0.436*(B-Y)/(1-0.114)+128;
V=0.615*(R-Y)/(1-0.299)+128。
可选的,编码反馈信息包括编码压力值,确定第K帧的场景类别的方式可以如下:
确定位于第K帧之前且与第K帧相邻的M个连续的帧的编码压力值的平均值,如果编码压力值的平均值大于第三预设阈值,则确定第K帧的场景类别为大运动复杂场景,如果编码压力值的平均值小于或等于第三预设阈值,则确定第K帧的场景类别为小运动简单场景。
其中,对于每一帧,编码压力值用于反映压缩程度,为编码之后的对应帧所需的传输带宽与编码之前的对应帧所需的传输带宽之间的比值。第三预设阈值可以预设,并且存储至终端设备中。
在具体实施中,终端设备可以获取位于第K帧之前且与第K帧相邻的M个连续的帧的编码压力值,然后确定这M个连续的帧的编码压力值的平均值。判断编码压力值的平均值与第三预设阈值的大小,如果编码压力值的平均值大于第三预设阈值,则可以确定M个连续的帧的场景类别为大运动复杂场景,那么第K帧的场景类别为大运动复杂场景,如果编码压力值的平均值小于或等于第三预设阈值,则可以确定M个连续的帧的场景类别为小运动简单场景,那么第K帧的场景类别为小运动简单场景。
这是由于编码压力值大,说明对应帧所需的传输带宽变化比较小,说明编码后帧的数据量比较大,所以帧的场景类别为大运动复杂场景,而编码压力值小,说明对应帧所需的传输带宽变化比较小,说明编码后帧的数据量比较小,所以帧的场景类别为小运动简单场景。
可选的,编码反馈信息包括图像质量值,确定第K帧的场景类别的方式可以如下:
确定位于第K帧之前且与第K帧相邻的M个连续的帧的图像质量值的平均值,如果图像质量值的平均值大于第四预设阈值,则确定K帧的场景类别为小运动简单场景,如果图像质量值的平均值小于或等于第四预设阈值,则确定K帧的场景类别为大运动复杂场景。
其中,对于每一帧,图像质量值为编码后包括的像素点的数目与编码前包括的像素点的数目的差值。第四预设阈值可以预设,并且存储至终端设备中。
在具体实施中,终端设备可以获取位于第K帧之前且与第K帧相邻的M个连续的帧的图像质量值,然后确定这M个连续的帧的图像质量值的平均值。判断图像质量值的平均值与第四预设阈值的大小,如果图像质量值的平均值大于第四预设阈值,则可以确定M个连续的帧的场景类别为小运动简单场景,那么第K帧的场景类别为小运动简单场景,如果图像质量值的平均值小于或等于第四预设阈值,则可以确定M个连续的帧的场景类别为大运动复杂场景,那么第K帧的场景类别为大运动复杂场景。
这是由于图像质量值比较大,说明编码前后像素点的数目变化比较大,说明编码后的帧中的像素点的数目比较少,说明像素点的数目比较少时,也能够显示出帧的图像,说明帧包含的图像内容比较简单,为小运动简单场景。而图像质量值比较小,说明编码前后像素点的数目变化比较小,说明编码后的帧中的像素点的数目比较多,说明像素点的数目比较多,才能够显示出帧的图像,说明帧包含的图像内容比较复杂,为大运动复杂场景。
另外,对于上述确定第K帧的场景类别时,如果编码反馈信息中包括多种时,可以分别预设每一种对应的权值,对于不同的编码反馈信息,分别计算第K帧之前的M个连续的帧的编码反馈信息的平均值,然后将计算得到的平均值进行加权,得到加权值。例如,编码反馈信息中有运动信息、纹理信息、编码压力值和图像质量值,分别对应的权值为a、b、c和d,第K帧之前的M个连续的帧反映运动信息的数值的平均值为第一平均值,第K帧之前的M个连续的帧反映纹理信息的数值的平均值为第二平均值,第K帧之前的M个连续的帧的编码压力值的平均值为第三平均值,第K帧之前的M个连续的帧的图像质量值为第四平均值,加权值为:a*第一平均值+b*第二平均值+c*第三平均值+d*第四平均值。终端设备中预先存储了场景类别对应的加权值范围,以及帧的场景类别、描述信息与编码参数的参数值的对应关系,可以确定得到的加权值所属的场景类别和描述信息共同对应的编码参数的参数值,然后将该参数值确定为第K帧的编码参数的参数值。
可选的,本申请实施例中,在对第K帧进行编码处理时,还可以确定第K帧的编码反馈信息,相应的处理可以如下:
确定第K帧的编码反馈信息,对第K帧的编码反馈信息进行存储。
在具体实施中,在对第K帧进行编码处理时,可以将编码后的第K帧与编码前的第K帧的图像的差别(如像素点的数目之差等),确定为图像质量值,并且可以确定第K帧的运动信息(确定运动信息在前面已经说明,此处不再赘述)。
并且可以提取第K帧的纹理信息,纹理信息不同于图像特征,它是通过像素及其周围空间领域的灰度分布来表现,即局部纹理信息,局部纹理信息不同程度的重复性,即全局纹理信息(确定纹理信息在前面已经说明,此处不再赘述)。
并且可以确定第K帧的编码压力值,编码压力值用于反映压缩程度,可以是编码后的传输带宽与编码之前的传输带宽的比值。
并且还可以确定第K帧的QP直方图,QP直方图中的横轴为量化值,纵轴为第K帧中落在各量化值的块的数目,量化值用于反映第K帧在编码时被压缩的程度,范围一般为0~51。
可选的,本申请实施例中,还提供了第K帧进行虚化背景处理的过程,相应的处理可以如下:
根据第K帧的上一帧的编码反馈信息,对第K帧进行虚化背景处理。
在具体实施中,终端设备在对第K帧进行编码处理前,还可以获取第K帧的前一帧的编码反馈信息,然后使用该前一帧的编码反馈信息中的运动信息,确定第K帧中的前景和背景,然后进行虚化背景处理。
需要说明的是,由于前一帧的编码反馈信息包括运动信息,前一帧和第K帧相邻,相似度比较高,所以使用前一帧的编码反馈信息,可以快速的确定出第K帧中的背景。
另外,还可以基于第K帧的编码反馈信息,指导运动目标的追焦处理。
可选的,在对第K帧进行编码处理后,还可以对编码处理后的第K帧进行一些处理,相应的处理可以如下:
对编码处理后的第K帧进行美颜处理。
在具体实施中,终端设备在对第K帧进行编码处理后,可以获取美颜处理算法,然后将编码处理后的第K帧输入到美颜处理算法中,进行美颜处理。
可选的,在对编码后的第K帧进行处理时,还可以使用第K帧的编码反馈信息,相应的处理可以如下:
根据第K帧的编码反馈信息,对编码处理后的第K帧进行美颜处理。
在具体实施中,在对第K帧进行编码处理后,可以利用第K帧的编码反馈信息,确定美颜处理算法的参数的参数值,然后使用美颜处理算法,对编码处理后的第K帧进行美颜处理。例如,编码反馈信息包括图像质量值,可以使用图像质量值指导调整美颜算法的美颜效果强弱,设置最优效果参数值,或者指导是否有必要进行美颜操作等。
可选的,本申请实施例中,还提供了对N个连续的帧之前的每一帧进行编码处理的方式,相应的处理可以如下:
在对N个连续的帧进行编码处理之前,根据编码参数预设的参数值,对位于N个连续的帧之前的每一帧进行编码处理。
其中,编码参数预设的参数值可以预设,并且存储至终端设备中,编码参数包括码率、帧率、分辨率、帧类型或编码算法参数中的一种或多种。
在具体实施中,在对待编码的视频数据进行编码处理时,一般是按照帧的顺序依次进行编码处理,如首先对第一个帧进行编码处理,在对第一个帧进行编码处理完成后,对第二个帧进行编码处理,依此类推,对待编码的视频数据中的每一帧进行编码处理。
待编码视频数据中除了包括前面提到的N个连续的帧,还包括N个连续的帧之前的帧,在对N个连续的帧之前的帧进行编码时,可以获取编码参数预设的参数值,然后使用编码参数预设的参数值对N个连续的帧之前的每一帧进行编码处理。
可选的,还可以基于描述信息对编码参数预设的参数值进行调整,相应的处理可以如下:
对位于N个连续的帧之前的每一帧,均按照下面针对第J帧的操作方法进行处理,其中,第J帧为位于N个连续的帧之前的任意一帧:根据第J帧的描述信息,对编码参数预设的参数值进行调整,其中,第J帧为N个连续的帧之前的任一帧;根据调整后的编码参数的参数值,对第J帧进行编码处理。
其中,第J帧的描述信息包括用于描述第J帧图像是白天拍摄的还是黑夜拍摄的信息,用于描述第J帧图像内具有人物还是景色的信息,以及用于描述第J帧图像的噪声的信息,具体解释见第K帧的描述信息。
在具体实施中,对于N个连续的帧之前的任一帧(可以称为是第J帧),终端设备可以对第J帧进行图像识别(可以是输入到预设的分类算法中,与预设的多种描述信息进行匹配),确定出第J帧的描述信息,然后使用第J帧的描述信息,对编码参数预设的参数值进行调整,基于调整后的参数值,对第J帧进行编码处理。例如,可以是终端设备中存储有描述信息与各编码参数的参数值的调整值的对应关系,可以使用第J帧的描述信息在该对应关系中,确定出各编码参数的参数值的调整值,然后对于每个编码参数,将该编码参数预设的参数值与该编码参数对应的调整值相加,得到该编码参数调整后的参数值。
需要说明的是,在上述步骤402中及步骤402后面提到的编码方式,编码方式包括但不限于H.264、H.265(H.264、H.265为视频流传输中最为重要的编解码标准),在对待编码视频数据中的每一帧帧进行编码时,可以调用硬件接口,使用硬件进行编码,也可以调用软件接口,使用软件进行编码,本申请实施例不做限定。
还需要说明的是,本申请中,仅是对视频数据中的第K帧的编码过程进行描述,对于N个连续的帧中每一帧的编码方式都可以采用上述方式,最终得到待编码的视频数据的编码流与现有技术中用传统编码方式得到的编码流相同,所以与现有技术中的解码方式相同,所以对于解码的方式,本申请没有进行改进。而且在编码时,相对于背景技术中提到的感知编码技术,由于仅对每一帧进行一次编码处理,视频编码的延时比较低,进而可以更适用于视频即时通讯场景,在录制视频同时进行上传的场景中。
另外,如图5所示,为了更好的理解本申请实施例,还提供了执行流程图,s1,开始,s2,将待编码的视频数据中一个帧作为输入,s3,获取该帧的描述信息,s4,判断该帧是否是N个连续的帧之前的帧,s5,如果是,则直接进行编码处理,s6,如果不是,则获取该帧之前与该帧相邻的M个连续的帧的编码反馈信息,确定该帧的编码参数的参数值,基于确定出的编码参数的参数值对该帧进行编码,s7,编码处理完成后,获取编码反馈信息,进行存储,s8,判断待编码视频数据的每一帧是否编码完成,s9,如果编码完成,则结束,s10,如果未编码完成,则对该帧相邻的下一帧返回执行s2的处理。
另外,如图6所示,为了更好的理解本申请实施例,还提供了一个系统图,可以分为前处理模块、智能感知分析模块、存储模块、编码处理模块和后处理模块,前处理模块主要用于确定视频数据中的帧的描述信息,对于视频数据中的N个连续的帧之前的帧,智能感知分析模块主要是用于获取编码参数的预设参数值,对于视频数据中除N个连续的帧,智能感知分析模块主要是用于基于之前相邻的M个连续的帧的编码反馈信息,确定编码参数的参数值,或者基于之前的M个连续的帧的编码反馈信息和正在编码的帧的描述信息,确定编码参数的参数值,存储模块主要时用于存储编码反馈信息,并提供接口使智能感知分析模块可以获取到编码反馈信息,编码处理模块主要用于基于编码参数的参数值,对帧进行编码处理,后处理模块主要是用于对编码处理后的帧进行美颜处理。
本申请实施例中,在对待编码的视频数据中的N个连续的帧(N个连续的帧之前具有至少M个连续的且与N个连续的帧相邻的帧)中的每一帧进行编码时,均按照对于第K帧(第K帧为N个连续的帧中的任意一个帧)的处理方法进行处理,对于第K帧的处理方法为:根据位于第K帧之前且与第K帧相邻的M个连续的帧的编码反馈信息,对第K帧进行编码处理,得到编码处理的第K帧。这样,在对待编码的视频数据中的N个连续的帧进行编码时,可以参考相邻的帧的编码反馈信息,对每一帧进行编码,仅对每一帧编码一次,而不会对每一帧进行多次重复编码,所以可以降低编码延时,适用于低延时场景,而且在低延时场景中,在没有增加成本和开销的基础上,由于采用了之前帧的编码反馈信息,还可以大幅度提升编码性能。
图7是本申请实施例提供的视频编码的装置的结构图。该装置可以通过软件、硬件或者两者的结合实现成为视频编码的装置中的部分或者全部。本申请实施例提供的视频编码的装置可以实现本申请实施例图4和图5所述的流程,该装置包括:获取模块710和编码模块720,其中:
获取模块710,用于获取位于待编码的视频数据中的N个连续的帧,所述N个连续的帧之前具有至少M个连续的且与所述N个连续的帧相邻的帧,N为大于或等于2的整数,M为大于或等于4的整数,具体可以用于实现上述步骤401的获取功能、以及包含的隐含步骤;
编码模块720,用于针对所述N个连续的帧中的每一帧,均按照下述对于第K帧的处理装置进行处理,所述第K帧为所述N个连续的帧中的任意一个帧:
根据位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码反馈信息,对所述第K帧进行编码处理,得到编码处理的所述第K帧,其中,所述编码反馈信息包括运动信息、纹理信息、图像质量值、编码压力值或量化参数QP直方图中的一种或多种,具体可以用于实现上述步骤402的编码功能、以及包含的隐含步骤。
可选的,所述编码模块720,用于:
根据位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码反馈信息和所述第K帧的描述信息,对所述第K帧进行编码处理,其中,所述描述信息包括用于描述所述第K帧图像是白天拍摄的还是黑夜拍摄的信息,用于描述所述第K帧图像内具有人物还是景色的信息,以及用于描述所述第K帧图像的噪声的信息。
可选的,所述编码模块720,用于:
根据位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码反馈信息,确定所述第K帧的场景类别;
根据所述第K帧的描述信息和所述第K帧的场景类别,以及预先存储的帧的描述信息和场景类别共同与所述帧的编码参数的参数值之间的对应关系,确定对应于所述第K帧的描述信息和所述第K帧的场景类别的所述第K帧的编码参数的参数值,其中,所述编码参数包括码率、帧率、分辨率、帧类型或编码算法参数中的一种或多种,所述编码算法参数值包括主观调试算法参数值、功耗算法参数和块级码率算法参数值;
根据所述第K帧的编码参数的参数值,对所述第K帧进行编码处理。
可选的,所述编码模块720,用于:
在所述编码反馈信息包括运动信息和纹理信息的情况下,获取在被编码处理时位于所述第K帧之前且与所述第K帧相邻的M个连续的帧中的每一帧在各预测模式分别对应的分块数目,并获取在被编码处理时位于所述第K帧之前且与所述第K帧相邻的M个连续的帧中每一帧的像素点的亮度通道Y值的方差,其中,每一帧的像素点的Y值的方差为每一帧包括的各分块的像素点的Y值的方差之和,每一帧包括的分块为每一帧在各预测模式下包括的分块之和,所述预测模式包括帧内预测模式、帧间预测模式和跳出块预测模式;
确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧中每一帧对应的比例,所述每一帧对应的比例为在被编码处理时,对应帧在帧内预测模式下的分块数目与对应帧在所有预测模式下的分块数目的总和之间的比值;
确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧对应的比例的平均值,并确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的像素点的Y值的方差的平均值;
如果所述比例的平均值大于第一预设阈值,且所述方差的平均值大于第二预设阈值,则确定所述第K帧的场景类别为大运动复杂场景;
如果所述比例的平均值小于或等于所述第一预设阈值,且所述方差的平均值小于或等于所述第二预设阈值,则确定所述第K帧的场景类别为小运动简单场景;
如果所述比例的平均值大于第一预设阈值,且所述方差的平均值小于或等于所述第二预设阈值,则确定所述第K帧的场景类别为大运动简单场景;
如果所述比例的平均值小于或等于所述第一预设阈值,且所述方差的平均值大于第二预设阈值,则确定所述第K帧的场景类别为小运动复杂场景。
可选的,所述编码反馈信息包括编码压力值,对于每一帧,所述编码压力值为编码之后的对应帧所需的传输带宽与编码之前的对应帧所需的传输带宽之间的比值;
所述编码模块720,用于:
确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码压力值的平均值;
如果所述编码压力值的平均值大于第三预设阈值,则确定所述第K帧的场景类别为大运动复杂场景;
如果所述编码压力值的平均值小于或等于所述第三预设阈值,则确定所述第K帧的场景类别为小运动简单场景。
可选的,所述编码反馈信息包括图像质量值,对于每一帧,所述图像质量值为编码后包括的像素点的数目与编码前包括的像素点的数目的差值;
所述编码模块720,用于:
确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的图像质量值的平均值;
如果所述图像质量值的平均值大于第四预设阈值,则确定所述K帧的场景类别为小运动简单场景;
如果所述图像质量值的平均值小于或等于第四预设阈值,则确定所述K帧的场景类别为大运动复杂场景。
可选的,如图8所示,所述装置还包括:
确定模块730,用于确定所述第K帧的编码反馈信息;
存储模块740,用于对所述第K帧的编码反馈信息进行存储。
可选的,如图9所示,所述装置还包括:
虚化模块750,用于根据所述第K帧的上一帧的编码反馈信息,对所述第K帧进行虚化背景处理。
可选的,如图10所示,所述装置还包括:
后处理模块760,用于:
得到编码处理后的第K帧之后,对所述编码处理后的第K帧进行美颜处理。
可选的,所述编码模块720,还用于:
对所述N个连续的帧进行编码处理之前,根据编码参数预设的参数值,对位于所述N个连续的帧之前的每一帧进行编码处理。
可选的,所述编码模块720,还用于:
对位于所述N个连续的帧之前的每一帧,均按照下面针对第J帧的操作装置进行处理,其中,所述第J帧为位于所述N个连续的帧之前的任意一帧:
根据所述第J帧的描述信息,对编码参数预设的参数值进行调整,其中,所述第J帧为所述N个连续的帧之前的任一帧;
根据调整后的编码参数的参数值,对所述第J帧进行编码处理。
本申请实施例中,在对待编码的视频数据中的N个连续的帧(N个连续的帧之前具有至少M个连续的且与N个连续的帧相邻的帧)中的每一帧进行编码时,均按照对于第K帧(第K帧为N个连续的帧中的任意一个帧)的处理方法进行处理,对于第K帧的处理方法为:根据位于第K帧之前且与第K帧相邻的M个连续的帧的编码反馈信息,对第K帧进行编码处理,得到编码处理的第K帧。这样,在对待编码的视频数据中的N个连续的帧进行编码时,可以参考相邻的帧的编码反馈信息,对每一帧进行编码,仅对每一帧编码一次,而不会对每一帧进行多次重复编码,所以可以降低编码延时,适用于低延时场景,而且在低延时场景中,在没有增加成本和开销的基础上,由于采用了之前帧的编码反馈信息,还可以大幅度提升编码性能。
需要说明的是,上述获取模块710、编码模块220、确定模块730、存储模块740、虚化模块750和后处理模块760可以由处理器302配合存储器303、发射器304和接收器301来实现。
需要说明的是:上述实施例提供的视频编码的装置在视频编码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频编码的装置与视频编码的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请中还提供了一种终端设备,该终端设备包括处理器和存储器,该存储器中存储有至少一条指令,该至少一条指令由该处理器加载并执行以实现如上述视频编码的方法的步骤。
以上所述仅为本申请的一个实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (35)

1.一种视频编码的方法,其特征在于,所述方法包括:
获取位于待编码的视频数据中的N个连续的帧,所述N个连续的帧之前具有至少M个连续的且与所述N个连续的帧相邻的帧,N为大于或等于2的整数,M为大于或等于4的整数;
针对所述N个连续的帧中的每一帧,均按照下述对于第K帧的处理方法进行处理,所述第K帧为所述N个连续的帧中的任意一个帧:
根据位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码反馈信息,对所述第K帧进行编码处理,得到编码处理的所述第K帧,其中,所述编码反馈信息包括运动信息、纹理信息、图像质量值、编码压力值或量化参数QP直方图中的一种或多种。
2.根据权利要求1所述的方法,其特征在于,所述编码步骤,具体包括:
根据位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码反馈信息和所述第K帧的描述信息,对所述第K帧进行编码处理,其中,所述描述信息包括用于描述所述第K帧图像是白天拍摄的还是黑夜拍摄的信息,用于描述所述第K帧图像内具有人物还是景色的信息,以及用于描述所述第K帧图像的噪声的信息。
3.根据权利要求2所述的方法,其特征在于,所述编码步骤,具体包括:
根据位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码反馈信息,确定所述第K帧的场景类别;
根据所述第K帧的描述信息和所述第K帧的场景类别,以及预先存储的帧的描述信息和场景类别共同与所述帧的编码参数的参数值之间的对应关系,确定对应于所述第K帧的描述信息和所述第K帧的场景类别的所述第K帧的编码参数的参数值,其中,所述编码参数包括码率、帧率、分辨率、帧类型或编码算法参数中的一种或多种,所述编码算法参数值包括主观调试算法参数值、功耗算法参数和块级码率算法参数值;
根据所述第K帧的编码参数的参数值,对所述第K帧进行编码处理。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述编码反馈信息包括运动信息和纹理信息的情况下,所述编码步骤,具体包括:
获取在被编码处理时位于所述第K帧之前且与所述第K帧相邻的M个连续的帧中的每一帧在各预测模式分别对应的分块数目,并获取在被编码处理时位于所述第K帧之前且与所述第K帧相邻的M个连续的帧中每一帧的像素点的亮度通道Y值的方差,其中,每一帧的像素点的Y值的方差为每一帧包括的各分块的像素点的Y值的方差之和,每一帧包括的分块是指每一帧在各预测模式下包括的分块之和,所述预测模式包括帧内预测模式、帧间预测模式和跳出块预测模式;
确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧中每一帧对应的比例,所述每一帧对应的比例为在被编码处理时,对应帧在帧内预测模式下的分块数目与对应帧在所有预测模式下的分块数目的总和之间的比值;
确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧对应的比例的平均值,并确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的像素点的Y值的方差的平均值;
如果所述比例的平均值大于第一预设阈值,且所述方差的平均值大于第二预设阈值,则确定所述第K帧的场景类别为大运动复杂场景;
如果所述比例的平均值小于或等于所述第一预设阈值,且所述方差的平均值小于或等于所述第二预设阈值,则确定所述第K帧的场景类别为小运动简单场景;
如果所述比例的平均值大于第一预设阈值,且所述方差的平均值小于或等于所述第二预设阈值,则确定所述第K帧的场景类别为大运动简单场景;
如果所述比例的平均值小于或等于所述第一预设阈值,且所述方差的平均值大于第二预设阈值,则确定所述第K帧的场景类别为小运动复杂场景。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述编码反馈信息包括编码压力值,对于每一帧,所述编码压力值为编码之后的对应帧所需的传输带宽与编码之前的对应帧所需的传输带宽之间的比值;
所述编码步骤,具体包括:确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码压力值的平均值;
如果所述编码压力值的平均值大于第三预设阈值,则确定所述第K帧的场景类别为大运动复杂场景;
如果所述编码压力值的平均值小于或等于所述第三预设阈值,则确定所述第K帧的场景类别为小运动简单场景。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述编码反馈信息包括图像质量值,对于每一帧,所述图像质量值为编码后包括的像素点的数目与编码前包括的像素点的数目的差值;
所述编码步骤,具体包括:
确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的图像质量值的平均值;
如果所述图像质量值的平均值大于第四预设阈值,则确定所述K帧的场景类别为小运动简单场景;
如果所述图像质量值的平均值小于或等于第四预设阈值,则确定所述K帧的场景类别为大运动复杂场景。
7.根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括:
确定所述第K帧的编码反馈信息;
对所述第K帧的编码反馈信息进行存储。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
根据所述第K帧的上一帧的编码反馈信息,对所述第K帧进行虚化背景处理。
9.根据权利要求1至8任一所述的方法,其特征在于,所述得到编码处理后的第K帧之后,还包括:
对所述编码处理后的第K帧进行美颜处理。
10.根据权利要求1至9任一所述的方法,其特征在于,在对所述N个连续的帧进行编码处理之前,还包括:
根据编码参数预设的参数值,对位于所述N个连续的帧之前的每一帧进行编码处理。
11.根据权利要求10所述的方法,其特征在于,所述根据编码参数预设的参数值,对位于所述N个连续的帧之前的每一帧进行编码处理,包括:
对位于所述N个连续的帧之前的每一帧,均按照下面针对第J帧的操作方法进行处理,其中,所述第J帧为位于所述N个连续的帧之前的任意一帧:
根据所述第J帧的描述信息,对编码参数预设的参数值进行调整,其中,所述第J帧为所述N个连续的帧之前的任一帧;
根据调整后的编码参数的参数值,对所述第J帧进行编码处理。
12.一种用于视频编码的终端设备,其特征在于,所述终端设备包括处理器和存储器,所述处理器通过执行存储在所述存储器内的代码实现下述功能:
获取位于待编码的视频数据中的N个连续的帧,所述N个连续的帧之前具有至少M个连续的且与所述N个连续的帧相邻的帧,N为大于或等于2的整数,M为大于或等于4的整数;
针对所述N个连续的帧中的每一帧,均按照下述对于第K帧的处理终端设备进行处理,所述第K帧为所述N个连续的帧中的任意一个帧:
根据位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码反馈信息,对所述第K帧进行编码处理,得到编码处理的所述第K帧,其中,所述编码反馈信息包括运动信息、纹理信息、图像质量值、编码压力值或量化参数QP直方图中的一种或多种。
13.根据权利要求12所述的终端设备,其特征在于,所述处理器,用于:
根据位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码反馈信息和所述第K帧的描述信息,对所述第K帧进行编码处理,其中,所述描述信息用于描述所述第K帧图像是白天拍摄的还是黑夜拍摄的信息,用于描述所述第K帧图像内具有人物还是景色的信息,以及用于描述所述第K帧图像的噪声的信息。
14.根据权利要求13所述的终端设备,其特征在于,所述处理器,用于:
根据位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码反馈信息,确定所述第K帧的场景类别;
根据所述第K帧的描述信息和所述第K帧的场景类别,以及预先存储的帧的描述信息和场景类别共同与所述帧的编码参数的参数值之间的对应关系,确定对应于所述第K帧的描述信息和所述第K帧的场景类别的所述第K帧的编码参数的参数值,其中,所述编码参数包括码率、帧率、分辨率、帧类型或编码算法参数中的一种或多种,所述编码算法参数值包括主观调试算法参数值、功耗算法参数和块级码率算法参数值;
根据所述第K帧的编码参数的参数值,对所述第K帧进行编码处理。
15.根据权利要求12至14任一项所述的终端设备,其特征在于,所述处理器,用于:
在所述编码反馈信息包括运动信息和纹理信息的情况下,获取在被编码处理时位于所述第K帧之前且与所述第K帧相邻的M个连续的帧中的每一帧在各预测模式分别对应的分块数目,并获取在被编码处理时位于所述第K帧之前且与所述第K帧相邻的M个连续的帧中每一帧的像素点的亮度通道Y值的方差,其中,每一帧的像素点的Y值的方差为每一帧包括的各分块的像素点的Y值的方差之和,每一帧包括的分块为每一帧在各预测模式下包括的分块之和,所述预测模式包括帧内预测模式、帧间预测模式和跳出块预测模式;
确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧中每一帧对应的比例,所述每一帧对应的比例为在被编码处理时,对应帧在帧内预测模式下的分块数目与对应帧在所有预测模式下的分块数目的总和之间的比值;
确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧对应的比例的平均值,并确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的像素点的Y值的方差的平均值;
如果所述比例的平均值大于第一预设阈值,且所述方差的平均值大于第二预设阈值,则确定所述第K帧的场景类别为大运动复杂场景;
如果所述比例的平均值小于或等于所述第一预设阈值,且所述方差的平均值小于或等于所述第二预设阈值,则确定所述第K帧的场景类别为小运动简单场景;
如果所述比例的平均值大于第一预设阈值,且所述方差的平均值小于或等于所述第二预设阈值,则确定所述第K帧的场景类别为大运动简单场景;
如果所述比例的平均值小于或等于所述第一预设阈值,且所述方差的平均值大于第二预设阈值,则确定所述第K帧的场景类别为小运动复杂场景。
16.根据权利要求12至14任一项所述的终端设备,其特征在于,所述编码反馈信息包括编码压力值,对于每一帧,所述编码压力值为编码之后的对应帧所需的传输带宽与编码之前的对应帧所需的传输带宽之间的比值;
所述处理器,用于:确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码压力值的平均值;
如果所述编码压力值的平均值大于第三预设阈值,则确定所述第K帧的场景类别为大运动复杂场景;
如果所述编码压力值的平均值小于或等于所述第三预设阈值,则确定所述第K帧的场景类别为小运动简单场景。
17.根据权利要求12至14任一项所述的终端设备,其特征在于,所述编码反馈信息包括图像质量值,对于每一帧,所述图像质量值为编码后包括的像素点的数目与编码前包括的像素点的数目的差值;
所述处理器,用于:
确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的图像质量值的平均值;
如果所述图像质量值的平均值大于第四预设阈值,则确定所述K帧的场景类别为小运动简单场景;
如果所述图像质量值的平均值小于或等于第四预设阈值,则确定所述K帧的场景类别为大运动复杂场景。
18.根据权利要求12至17任一所述的终端设备,其特征在于,所述处理器,还用于:确定所述第K帧的编码反馈信息;
所述存储器,用于对所述第K帧的编码反馈信息进行存储。
19.根据权利要求18所述的终端设备,其特征在于,所述处理器,还用于:
根据所述第K帧的上一帧的编码反馈信息,对所述第K帧进行虚化背景处理。
20.根据权利要求12至19任一所述的终端设备,其特征在于,所述处理器,还用于:
得到编码处理后的第K帧之后,对所述编码处理后的第K帧进行美颜处理。
21.根据权利要求12至20任一所述的终端设备,其特征在于,所述处理器,还用于在对所述N个连续的帧进行编码处理之前,根据编码参数预设的参数值,对位于所述N个连续的帧之前的每一帧进行编码处理。
22.根据权利要求21所述的终端设备,其特征在于,所述处理器,还用于:
对位于所述N个连续的帧之前的每一帧,均按照下面针对第J帧的操作终端设备进行处理,其中,所述第J帧为位于所述N个连续的帧之前的任意一帧:
根据所述第J帧的描述信息,对编码参数预设的参数值进行调整,其中,所述第J帧为所述N个连续的帧之前的任一帧;
根据调整后的编码参数的参数值,对所述第J帧进行编码处理。
23.一种视频编码的装置,其特征在于,所述装置包括:
获取模块,用于获取位于待编码的视频数据中的N个连续的帧,所述N个连续的帧之前具有至少M个连续的且与所述N个连续的帧相邻的帧,N为大于或等于2的整数,M为大于或等于4的整数;
编码模块,用于针对所述N个连续的帧中的每一帧,均按照下述对于第K帧的处理装置进行处理,所述第K帧为所述N个连续的帧中的任意一个帧:
根据位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码反馈信息,对所述第K帧进行编码处理,得到编码处理的所述第K帧,其中,所述编码反馈信息包括运动信息、纹理信息、图像质量值、编码压力值或量化参数QP直方图中的一种或多种。
24.根据权利要求23所述的装置,其特征在于,所述编码模块,用于:
根据位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码反馈信息和所述第K帧的描述信息,对所述第K帧进行编码处理,其中,所述描述信息用于描述所述第K帧图像是白天拍摄的还是黑夜拍摄的信息,用于描述所述第K帧图像内具有人物还是景色的信息,以及用于描述所述第K帧图像的噪声的信息。
25.根据权利要求24所述的装置,其特征在于,所述编码模块,用于:
根据位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码反馈信息,确定所述第K帧的场景类别;
根据所述第K帧的描述信息和所述第K帧的场景类别,以及预先存储的帧的描述信息和场景类别共同与所述帧的编码参数的参数值之间的对应关系,确定对应于所述第K帧的描述信息和所述第K帧的场景类别的所述第K帧的编码参数的参数值,其中,所述编码参数包括码率、帧率、分辨率、帧类型或编码算法参数中的一种或多种,所述编码算法参数值包括主观调试算法参数值、功耗算法参数和块级码率算法参数值;
根据所述第K帧的编码参数的参数值,对所述第K帧进行编码处理。
26.根据权利要求23至25任一项所述的装置,其特征在于,所述编码模块,用于:
在所述编码反馈信息包括运动信息和纹理信息的情况下,获取在被编码处理时位于所述第K帧之前且与所述第K帧相邻的M个连续的帧中的每一帧在各预测模式分别对应的分块数目,并获取在被编码处理时位于所述第K帧之前且与所述第K帧相邻的M个连续的帧中每一帧的像素点的亮度通道Y值的方差,其中,每一帧的像素点的Y值的方差为每一帧包括的各分块的像素点的Y值的方差之和,每一帧包括的分块为每一帧在各预测模式下包括的分块之和,所述预测模式包括帧内预测模式、帧间预测模式和跳出块预测模式;
确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧中每一帧对应的比例,所述每一帧对应的比例为在被编码处理时,对应帧在帧内预测模式下的分块数目与对应帧在所有预测模式下的分块数目的总和之间的比值;
确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧对应的比例的平均值,并确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的像素点的Y值的方差的平均值;
如果所述比例的平均值大于第一预设阈值,且所述方差的平均值大于第二预设阈值,则确定所述第K帧的场景类别为大运动复杂场景;
如果所述比例的平均值小于或等于所述第一预设阈值,且所述方差的平均值小于或等于所述第二预设阈值,则确定所述第K帧的场景类别为小运动简单场景;
如果所述比例的平均值大于第一预设阈值,且所述方差的平均值小于或等于所述第二预设阈值,则确定所述第K帧的场景类别为大运动简单场景;
如果所述比例的平均值小于或等于所述第一预设阈值,且所述方差的平均值大于第二预设阈值,则确定所述第K帧的场景类别为小运动复杂场景。
27.根据权利要求23至25任一项所述的装置,其特征在于,所述编码反馈信息包括编码压力值,对于每一帧,所述编码压力值为编码之后的对应帧所需的传输带宽与编码之前的对应帧所需的传输带宽之间的比值;
所述编码模块,用于:
确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的编码压力值的平均值;
如果所述编码压力值的平均值大于第三预设阈值,则确定所述第K帧的场景类别为大运动复杂场景;
如果所述编码压力值的平均值小于或等于所述第三预设阈值,则确定所述第K帧的场景类别为小运动简单场景。
28.根据权利要求23至25任一项所述的装置,其特征在于,所述编码反馈信息包括图像质量值,对于每一帧,所述图像质量值为编码后包括的像素点的数目与编码前包括的像素点的数目的差值;
所述编码模块,用于:
确定位于所述第K帧之前且与所述第K帧相邻的M个连续的帧的图像质量值的平均值;
如果所述图像质量值的平均值大于第四预设阈值,则确定所述K帧的场景类别为小运动简单场景;
如果所述图像质量值的平均值小于或等于第四预设阈值,则确定所述K帧的场景类别为大运动复杂场景。
29.根据权利要求23至28任一所述的装置,其特征在于,所述装置还包括:
确定模块,用于确定所述第K帧的编码反馈信息;
存储模块,用于对所述第K帧的编码反馈信息进行存储。
30.根据权利要求29所述的装置,其特征在于,所述装置还包括:
虚化模块,用于根据所述第K帧的上一帧的编码反馈信息,对所述第K帧进行虚化背景处理。
31.根据权利要求23至30任一所述的装置,其特征在于,所述装置还包括:
后处理模块,用于:
得到编码处理后的第K帧之后,对所述编码处理后的第K帧进行美颜处理。
32.根据权利要求23至31任一所述的装置,其特征在于,所述编码模块,还用于:
对所述N个连续的帧进行编码处理之前,根据编码参数预设的参数值,对位于所述N个连续的帧之前的每一帧进行编码处理。
33.根据权利要求32所述的装置,其特征在于,所述编码模块,还用于:
对位于所述N个连续的帧之前的每一帧,均按照下面针对第J帧的操作装置进行处理,其中,所述第J帧为位于所述N个连续的帧之前的任意一帧:
根据所述第J帧的描述信息,对编码参数预设的参数值进行调整,其中,所述第J帧为所述N个连续的帧之前的任一帧;
根据调整后的编码参数的参数值,对所述第J帧进行编码处理。
34.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述计算机可读存储介质在终端设备上运行时,使得所述终端设备执行所述权利要求1-11中任一权利要求所述的方法。
35.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在终端设备上运行时,使得所述终端设备执行所述权利要求1-11中任一权利要求所述的方法。
CN201811198138.1A 2018-10-15 2018-10-15 视频编码的方法和装置 Pending CN111050175A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811198138.1A CN111050175A (zh) 2018-10-15 2018-10-15 视频编码的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811198138.1A CN111050175A (zh) 2018-10-15 2018-10-15 视频编码的方法和装置

Publications (1)

Publication Number Publication Date
CN111050175A true CN111050175A (zh) 2020-04-21

Family

ID=70230385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811198138.1A Pending CN111050175A (zh) 2018-10-15 2018-10-15 视频编码的方法和装置

Country Status (1)

Country Link
CN (1) CN111050175A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112351252A (zh) * 2020-10-27 2021-02-09 重庆中星微人工智能芯片技术有限公司 监控视频编解码装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1513349A2 (en) * 2003-09-07 2005-03-09 Microsoft Corporation Bitstream-controlled post-processing video filtering
CN1906949A (zh) * 2004-01-29 2007-01-31 国际商业机器公司 动态改变视频编码的分辨率的系统和方法
CN101795415A (zh) * 2010-04-22 2010-08-04 杭州华三通信技术有限公司 一种视频编码中的码率控制方法及其装置
CN103841418A (zh) * 2012-11-22 2014-06-04 中国科学院声学研究所 一种3g网络中视频监控器码率控制的优化方法及系统
CN104717507A (zh) * 2015-03-31 2015-06-17 北京奇艺世纪科技有限公司 一种视频转码方法及装置
CN105376568A (zh) * 2015-12-22 2016-03-02 广州通达汽车电气股份有限公司 一种abr视频编码码率控制的优化方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1513349A2 (en) * 2003-09-07 2005-03-09 Microsoft Corporation Bitstream-controlled post-processing video filtering
CN1906949A (zh) * 2004-01-29 2007-01-31 国际商业机器公司 动态改变视频编码的分辨率的系统和方法
CN101795415A (zh) * 2010-04-22 2010-08-04 杭州华三通信技术有限公司 一种视频编码中的码率控制方法及其装置
CN103841418A (zh) * 2012-11-22 2014-06-04 中国科学院声学研究所 一种3g网络中视频监控器码率控制的优化方法及系统
CN104717507A (zh) * 2015-03-31 2015-06-17 北京奇艺世纪科技有限公司 一种视频转码方法及装置
CN105376568A (zh) * 2015-12-22 2016-03-02 广州通达汽车电气股份有限公司 一种abr视频编码码率控制的优化方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112351252A (zh) * 2020-10-27 2021-02-09 重庆中星微人工智能芯片技术有限公司 监控视频编解码装置
CN112351252B (zh) * 2020-10-27 2023-10-20 重庆中星微人工智能芯片技术有限公司 监控视频编解码装置

Similar Documents

Publication Publication Date Title
WO2021244341A1 (zh) 图像编码方法及装置、电子设备及计算机可读存储介质
CN112929670B (zh) 自适应色度下采样和色彩空间转换技术
CN102625106B (zh) 场景自适应的屏幕编码码率控制方法及其系统
US9402034B2 (en) Adaptive auto exposure adjustment
CN105472205B (zh) 编码过程中的实时视频降噪方法和装置
US10715816B2 (en) Adaptive chroma downsampling and color space conversion techniques
CN107431818B (zh) 图像数据处理方法
JP3133517B2 (ja) 画像領域検出装置、該画像検出装置を用いた画像符号化装置
GB2586484A (en) A filter
US10735724B2 (en) Method and device for compressing image on basis of photography information
CN112351280B (zh) 视频编码方法、装置、电子设备及可读存储介质
WO2021109978A1 (zh) 视频编码的方法、视频解码的方法及相应装置
CN110121071A (zh) 视频编码方法及相关产品
US9565404B2 (en) Encoding techniques for banding reduction
WO2023011420A1 (zh) 编解码方法和装置
CN115118964A (zh) 视频编码方法、装置、电子设备及计算机可读存储介质
US20240214562A1 (en) Video coding with dynamic groups of pictures
CN113542864B (zh) 视频的花屏区域检测方法、装置、设备及可读存储介质
CN111050175A (zh) 视频编码的方法和装置
CN107409211B (zh) 一种视频编解码方法及装置
US20140362927A1 (en) Video codec flashing effect reduction
CN114422788A (zh) 数字视网膜视频联合编码方法、译码方法、装置及电子设备
CN113973202A (zh) 视频编码方法、装置、设备及存储介质
CN112788364A (zh) 码流动态调整装置、方法及计算机可读存储介质
WO2020181540A1 (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200421

RJ01 Rejection of invention patent application after publication