CN110139104B - 视频解码方法、装置、计算机设备和存储介质 - Google Patents

视频解码方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110139104B
CN110139104B CN201810136996.7A CN201810136996A CN110139104B CN 110139104 B CN110139104 B CN 110139104B CN 201810136996 A CN201810136996 A CN 201810136996A CN 110139104 B CN110139104 B CN 110139104B
Authority
CN
China
Prior art keywords
decoding
original image
gray
current
image block
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
CN201810136996.7A
Other languages
English (en)
Other versions
CN110139104A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810136996.7A priority Critical patent/CN110139104B/zh
Publication of CN110139104A publication Critical patent/CN110139104A/zh
Application granted granted Critical
Publication of CN110139104B publication Critical patent/CN110139104B/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/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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

Landscapes

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

Abstract

本发明涉及一种视频解码方法、装置、计算机设备和存储介质,所述方法包括:获取原始图像以及所述原始图像对应的编码码流;采用硬件解码装置对所述编码码流进行解码,得到对应的解码图像;计算所述原始图像与所述解码图像之间的颜色差异度和/或相似度;根据所述颜色差异度和/或所述相似度从候选解码方式中选取目标解码方式,所述候选解码方式包括采用所述硬件解码装置解码和软件解码;根据所述目标解码方式对获取的视频编码码流进行解码。上述方法可以减少视频解码时对设备资源的占用度,提高视频解码效率。

Description

视频解码方法、装置、计算机设备和存储介质
技术领域
本发明涉及视频处理领域,特别是涉及视频解码方法、装置、计算机设备和存储介质。
背景技术
随着多媒体技术和网络技术的飞速发展和广泛应用,人们在日常生活和生产活动中大量使用视频信息。为了减少视频的传输数据量,需要对视频进行编码,因此接收到视频时,需要对视频进行解码。
视频解码的方式有多种,目前,在接收到视频时设备可以选择默认的解码方式对视频进行解码,然而,各个计算机设备例如手机的配置不一,默认选择的解码方式并不是最适宜的,需要占用大量的设备资源进行解码,视频解码效率低。
发明内容
基于此,有必要针对上述的问题,提供一种视频解码方法、装置、计算机设备和存储介质,可通过获取原始图像对应的编码码流,采用硬件解码装置对编码码流进行解码,得到解码图像后与原始图像进行对比得到颜色差异度以及相似度的至少一种,根据颜色差异度以及相似度的至少一种确定目标解码方式,以根据目标编码方式对视频流进行解码。因此,可以选择适宜的视频解码方式,降低视频解码时对设备资源的占用度,提高视频解码效率。
一种视频解码方法,所述方法包括:获取原始图像以及所述原始图像对应的编码码流;采用硬件解码装置对所述编码码流进行解码,得到对应的解码图像;计算所述原始图像与所述解码图像之间的颜色差异度和/或相似度;根据所述颜色差异度和/或所述相似度从候选解码方式中选取目标解码方式,所述候选解码方式包括采用所述硬件解码装置解码和软件解码;根据所述目标解码方式对获取的视频编码码流进行解码。
一种视频解码装置,所述装置包括:码流获取模块,用于获取原始图像以及所述原始图像对应的编码码流;第一解码模块,用于采用硬件解码装置对所述编码码流进行解码,得到对应的解码图像;计算模块,用于计算所述原始图像与所述解码图像之间的颜色差异度和/或相似度;选取模块,用于根据所述颜色差异度和/或所述相似度从候选解码方式中选取目标解码方式,所述候选解码方式包括采用所述硬件解码装置解码和软件解码;第二解码模块,用于根据所述目标解码方式对获取的视频编码码流进行解码。
在其中一些实施例中,所述原始图像为直播原始图像,所述装置包括:直播流获取模块,用于获取直播视频流,将软件解码作为当前解码方式对所述直播视频流进行解码并播放;所述码流获取模块用于:获取所述直播视频流对应的直播原始图像;所述第一解码模块用于:采用所述硬件解码装置对所述直播视频流进行解码,得到所述直播原始图像对应的直播解码图像;所述计算模块用于:计算所述直播原始图像与所述直播解码图像之间的颜色差异度和/或相似度;所述装置还包括:切换模块,用于当所述目标解码方式为采用所述硬件解码装置解码时,将所述当前解码方式由软件解码切换为采用所述硬件解码装置解码。
在其中一些实施例中,所述计算模块用于:计算所述解码图像与所述原始图像在各个颜色通道对应的颜色差值;根据所述各个颜色通道对应的颜色差值计算得到所述原始图像与所述解码图像之间的颜色差异度。
在其中一些实施例中,所述装置还包括:敏感度获取模块,用于获取用户标识,获取所述用户标识对应的对所述各个颜色通道的颜色敏感度;权重确定模块,用于根据所述颜色敏感度确定所述各个颜色通道对应的权重;所述计算模块用于:根据所述各个颜色通道对应的权重以及对应的颜色差值计算得到所述原始图像与所述解码图像之间的颜色差异度。
在其中一些实施例中,所述计算模块包括:灰度值获取单元,用于获取所述原始图像各个像素点的原始灰度值以及所述解码图像各个像素点的解码灰度值;相关数据计算单元,用于根据所述原始图像各个像素点的原始灰度值以及所述解码图像各个像素点的解码灰度值计算得到所述原始图像与所述解码图像之间的灰度相关数据,所述灰度相关数据包括灰度差异度、对比差异度以及灰度变化趋势相关度中的至少一种;相似度计算单元,用于根据所述灰度相关数据计算所述原始图像与所述解码图像的相似度。
在其中一些实施例中,所述装置还包括:切分模块,用于对所述原始图像进行切分得到所述原始图像对应的各个原始图像块,对所述解码图像进行切分得到所述解码图像对应的各个解码图像块;所述相关数据计算单元用于:获取当前原始图像块以及所述当前原始图像块对应位置的当前解码图像块;根据所述当前原始图像块各个像素点的原始灰度值,以及所述当前解码图像块各个像素点的解码灰度值计算得到所述当前原始图像块与所述当前解码图像块之间的各个当前灰度相关数据;所述相似度计算单元用于:根据所述当前原始图像块与所述当前解码图像块之间的各个当前灰度相关数据计算所述当前原始图像块与所述当前解码图像块之间的块相似度;根据所述各个原始图像块与对应的解码图像块之间的块相似度得到所述原始图像与所述解码图像之间的相似度。
在其中一些实施例中,所述灰度相关数据包括对比差异度,所述相关数据计算单元用于:根据所述当前原始图像块各个像素点的原始灰度值计算所述当前原始图像块对应的原始灰度均值,根据所述当前原始图像块各个像素点的原始灰度值以及所述原始灰度均值计算所述当前原始图像块对应的原始灰度方差值;根据所述当前解码图像块各个像素点的解码灰度值计算所述当前解码图像块对应的解码灰度均值,根据所述当前解码图像块各个像素点的解码灰度值以及所述解码灰度均值计算所述当前解码图像块对应的解码灰度方差值;根据所述原始灰度方差值以及所述解码灰度方差值计算得到当前原始图像块与所述当前解码图像块之间的对比差异度。
在其中一些实施例中,所述选取模块用于:当所述颜色差异度小于第一阈值,且所述相似度大于第二阈值时,从所述候选解码方式中选取采用所述硬件解码装置解码作为所述目标解码方式。
在其中一些实施例中,所述选取模块用于:当所述颜色差异度大于所述第一阈值或者所述相似度小于所述第二阈值时,从所述候选解码方式中选取软件解码作为所述目标解码方式。
在其中一些实施例中,所述装置还包括:编码参数得到模块,用于获取所述编码码流对应的编码参数;阈值确定模块,用于根据所述编码参数确定对应的所述第一阈值以及所述第二阈值。
在其中一些实施例中,所述装置还包括:名单获取模块,用于获取服务器中进行硬解码的终端名单,所述终端名单包括终端黑名单以及终端白名单中的至少一个;进入模块,用于当所述硬件解码装置所在的终端不在所述终端名单范围内时,进入所述获取原始图像以及所述原始图像对应的编码码流的步骤。
在其中一些实施例中,所述装置还包括:添加请求发送模块,用于向所述服务器发送名单信息添加请求,所述名单信息添加请求包括所述终端的属性信息以及所述目标解码方式,所述名单信息添加请求用于指示所述服务器获取所述目标解码方式对应的目标终端名单类型,将所述终端的属性信息添加到所述目标终端名单类型对应的终端名单中。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述视频解码方法的步骤。
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述视频解码方法的步骤。
上述视频解码方法、装置、计算机设备和存储介质,可通过获取原始图像对应的编码码流,采用硬件解码装置对编码码流进行解码,得到解码图像后与原始图像进行对比得到颜色差异度以及相似度的至少一种,根据颜色差异度以及相似度的至少一种确定目标解码方式,候选解码方式包括采用硬件解码装置解码和软件解码,以根据目标编码方式对视频流进行解码。因此,可以选择适宜的视频解码方式,降低视频解码时对设备资源的占用度,提高视频解码效率。
附图说明
图1为一个实施例中提供的视频解码方法的应用环境图;
图2为一个实施例中视频解码方法的流程图;
图3A为一个实施例中原始图像的示意图;
图3B为一个实施例中解码图像的示意图;
图4为另一个实施例中视频解码方法的流程图;
图5A为一个实施例中切换解码方式前的终端状态示意图;
图5B为一个实施例中切换为硬件解码方式后的终端状态示意图;
图6为一个实施例中获取权重的流程图;
图7为一个实施例中计算原始图像与解码图像之间的相似度的流程图;
图8为另一个实施例中计算原始图像与解码图像之间的相似度的流程图;
图9为一个实施例中视频解码方法的流程图;
图10为一个实施例中视频解码装置的结构框图;
图11为另一个实施例中视频解码装置的结构框图;
图12为一个实施例中计算模块的结构框图;
图13为另一个实施例中视频解码装置的结构框图;
图14为一个实施例中计算机设备的内部结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一阈值称为第二阈值,且类似地,可将第二阈值称为第一阈值。
图1为一个实施例中提供的视频解码方法的应用环境图,如图1所示,在该应用环境中,包括终端110以及服务器120。当需要确定终端的目标解码方式时,例如,当在终端110上启动直播应用时,服务器120对原始图像进行编码,得到原始图像对应的编码码流,然后向终端110发送原始图像以及原始图像对应的编码码流,终端110获取原始图像以及原始图像对应的编码码流后,利用终端110上的硬件解码器对编码码流进行解码,得到对应的解码图像,计算原始图像与解码图像之间的颜色差异度以及相似度的至少一种,然后根据颜色差异度和/或相似度从候选解码方式中选取目标解码方式,目标解码方式例如可以为采用硬件解码装置解码或软件解码,因此,当终端接收到直播视频流后,可以利用目标解码方式对直播视频流进行解码。服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器。终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机以及智能手表等,但并不局限于此。终端110以及服务器120可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者网络等通讯连接方式进行连接,本发明在此不做限制。
如图2所示,在一个实施例中,提出了一种视频解码方法,本实施例主要以该方法应用于上述图1中的终端110来举例说明。具体可以包括以下步骤:
步骤S202,获取原始图像以及原始图像对应的编码码流。
具体地,原始图像对应的编码码流指利用编码算法对原始图像进行编码得到的数据流。编码算法具体不做限制,例如可以为HEVC(High Efficiency Video Coding、高效视频压缩编码)或者为H.264等。编码码流可以是实时接收的编码码流例如直播时接收到的视频流。也可以是存储在终端的编码码流。原始图像可以为一张或多张,具体可以根据需要设置。
在一个实施例中,原始图像可以是多张,例如为5张。当为多张时,将原始图像组成一个图像集合,根据编码算法对图像集合进行编码。原始图像集合中的原始图像可以是相同或者相似度大于一定阈值的图像,以减少得到的编码码流的数据量。可以根据编码方式、码率、帧率,以及关键帧时间间隔等编码参数对原始图像集合进行编码,编码参数具体可以根据需要设置。
步骤S204,采用硬件解码装置对编码码流进行解码,得到对应的解码图像。
具体地,解码是把编码码流还原成它所代表的内容的过程,与编码相对应。解码可以包括软件解码以及硬件解码,软件解码是指在软件层面上编写解码算法,利用中央处理器进行计算以及处理编码码流,达到解码的目的。硬件解码是指利用设备包括的硬件解码装置对编码码流进行解码。硬件解码装置例如可以为解码芯片。得到编码码流后,可以获取进行编码时的编码信息,然后利用硬件解码装置以及编码信息对编码码流进行解码,得到原始图像对应的解码图像。
在一个实施例中,可以将解码图像渲染到纹理,然后与原始图像进行比较。渲染到纹理是指对图像进行存储,但并不直接显示。例如,解码后将图像输出到SurfaceTexture(表面纹理)上。然后通过图像处理工具例如OpenGL(Open Graphics Library)从SurfaceTexture中读取解码图像,再与原始图像进行比较,计算得到原始图像与解码图像之间的颜色差异度以及相似度中的至少一种。其中,SurfaceTexture为安卓***的一个类,获取到图像流后,SurfaceTexture的图像不在显示屏中显示。OpenGL为一个定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。
步骤S206,计算原始图像与解码图像之间的颜色差异度和/或相似度。
具体地,颜色差异度用于表示图像之间的颜色的差距,颜色差异度可以与图像的颜色的差距成正相关关系,即图像颜色的差距越大,则颜色差异度越大。颜色差异度的计算方法具体可以根据需要进行设置,例如,颜色差异度计算方法可以是采用欧式距离算法或者FCM(Fine Color Metric)色差法计算得到。在一个实施例中,当图像的颜色是采用YUV值表示时,可以利用YUV值对应的算法计算得到颜色差异度。当图像的颜色是采用RGB值进行表示时,可以利用RGB值对应的算法计算得到颜色差异度。可以通过计算原始图像与解码图像在各个颜色通道的亮度距离,再综合各个颜色通道的亮度距离得到颜色差异度。相似度用于表示图像之间的相似程度。相似度的计算方法具体可以根据需要进行设置,例如可以为SIFT(Scale InvariantFeature Transform、尺度不变特征变换匹配算法)算法,或者还可以获取各个原始图像与解码图像的灰度直方图,通过判断灰度直方图的相似程度得到原始图像与解码图像的相似度。可以理解,可以计算颜色差异度与相似度,也可以只计算颜色差异度与相似度中的一种。
在一些实施例中,计算原始图像与解码图像之间的颜色差异度的步骤包括:计算解码图像与原始图像在各个颜色通道对应的颜色差值,以及,根据各个颜色通道对应的颜色差值计算得到原始图像与解码图像之间的颜色差异度。
具体地,图像的颜色可以是多个颜色通道对应的亮度值得到的。例如,可以利用R(Red,红)、G(Green、绿)以及B(Blue、蓝)三个颜色通道的颜色亮度值的叠加来得到图像的颜色。因此,可以计算解码图像与原始图像在各个颜色通道对应的颜色差值,再根据各个颜色通道对应的颜色差值计算得到原始图像与解码图像之间的颜色差异度。在一个实施例中,颜色差异度可以是各个颜色通道对应的颜色差值的平方的和进行开方运算得到的。以颜色通道包括R、G以及B为例,用公式表示如下:
Figure BDA0001576546590000081
其中,ΔR2、ΔG2以及ΔB2分别表示R、G以及B三种颜色通道对应的颜色差值,D表示颜色差异度。
在一个实施例中,还可以获取各个颜色通道的权重,根据颜色通道的权重以及对应的颜色差值得到原始图像与解码图像之间的颜色差异度。颜色通道的权重可以根据需要进行设置,例如,R、G以及B三种颜色通道对应的权重可以分别为4、3以及2。在一个实施例中,可以根据终端的用户对各个颜色通道对应的颜色的敏感度设置各个颜色通道的权重。敏感度与权重的关系可以为正相关关系,即敏感度高的颜色对应的颜色通道的权重高。例如,若对红色比较敏感,则红色对应的权重高。
在一个实施例中,当通过R、G以及B三种颜色通道表示图像的颜色时,由于人对红色通道的敏感度较高,可以根据原始图像以及解码图像红色通道的值的大小得到红色通道以及蓝色通道的权重。例如,
Figure BDA0001576546590000082
Figure BDA0001576546590000083
其中,r为原始图像红色通道对应的值与解码图像红色通道对应的值的平均值,ΔR2、ΔG2以及ΔB2分别表示R、G以及B三种颜色通道对应的颜色差值,D表示颜色差异度。
在一个实施例中,由于图像中各个像素点的对应的颜色通道的值可能是不同的,因此,可以计算原始图像与解码图像在对应的位置的像素点的颜色差异度,再根据各个像素点对应的颜色差异度得到原始图像与解码图像之间的差异度。在一个实施例中,原始图像与解码图像之间的差异度可以是各个像素点的颜色差异度的均值、中间值或者最大值等。例如,假设原始图像以及解码图像各有3个像素点,则可以分别计算原始图像以及解码图像第1个像素点之间、第2个像素点之间以及第3个像素点之间的颜色差异度,然后再对这三个颜色差异度求平均值得到原始图像以及解码图像之间的颜色差异度。
在一个是实施例中,当原始图像为多张时,可以获取各张原始图像与对应的解码图像的颜色相似度和/或相似度。当原始图像都为相同的图像时,可以获取第一张解码图像作为与原始图像计算颜色差异度和/或相似度的解码图像。
步骤S208,根据颜色差异度和/或相似度从候选解码方式中选取目标解码方式,候选解码方式包括采用硬件解码装置解码和软件解码。
具体地,候选编码方式包括多个,可以包括采用硬件解码装置解码以及软件解码。软件解码还可以包括多种软件解码方法。可以根据颜色差异度以及相似度中的一种或者两种从候选解码方式中选取目标解码方式。例如,可以是颜色差异度小于第一阈值时将采用硬件解码装置解码作为目标解码方式,也可以是相似度大于第二阈值时将采用硬件解码装置解码作为目标解码方式。第一阈值以及第二阈值可以根据需要进行设置。例如,可以根据对图像质量的要求得到第一阈值以及第二阈值。若图像要求高,则可以降低第一阈值或者提高第二阈值。在一个实施例中,第一阈值可以为5,第二阈值可以为0.99。
如图3A所示,为一个原始图像的示意图。图3B为在一个试验中不同的相似度以及颜色差异度下原始图像对应的解码图像,其中图中的ssim表示相似度,d表示颜色差异度。因此,为了使得到的解码图像与原始图像的区别在人眼不能识别的范围内,可以设置第一阈值为5,第二阈值为0.99。
在一个实施例中,当原始图像为多张时,可以是根据其中的一张例如第一张的颜色差异度和/或相似度确定目标解码方式,也可以是根据多张的颜色差异度和/或相似度确定解码方式。例如根据颜色差异度平均值和/或相似度平均值确定目标解码方式。
在一个实施例中,当颜色差异度小于第一阈值,且相似度大于第二阈值时,从候选解码方式中选取采用硬件解码装置解码作为目标解码方式。同时将颜色差异度小于第一阈值以及相似度大于第二阈值作为选取采用硬件解码装置解码作为目标解码方式的标准,能够使得当采用硬件解码装置解码时,解码得到的图像质量好。
在一个实施例中,当颜色差异度大于第一阈值或者相似度小于第二阈值时,从候选解码方式中选取软件解码作为目标解码方式。
具体地,当颜色差异度大于第一阈值以及相似度小于第二阈值种的至少一个满足条件时,选取软件解码作为目标解码方式。
在一个实施例中,还可以获取编码码流对应的编码参数,然后根据编码参数确定对应的第一阈值以及第二阈值。在一个实施例中,可以设置量化参数与阈值的对应关系,因此可以获取编码码流对应的量化参数,根据量化参数确定第一阈值以及第二阈值。量化参数与阈值的对应关系具体可以根据实际需要进行设置。当量化参数大时,说明图像编码时细节损失大,因此,量化参数与第一阈值可以为正相关关系,量化参数与第二阈值可以为负相关关系。在一个实施例中,可以设置帧类型与阈值的对应关系,帧类型可以包括I帧、B帧以及P帧。I帧、B帧以及P帧对应的第一阈值的关系可以为I帧对应的第一阈值小于B帧对应的第一阈值以及B帧对应的第一阈值小于P帧的第一阈值。I帧、B帧以及P帧对应的第二阈值的关系可以为I帧对应的第二阈值大于B帧对应的第二阈值以及B帧对应的第二阈值大于P帧的第二阈值。
本发明实施例中,由于各个终端例如不同机型的手机的硬件设备的解码能力或者设置的算法不同。例如,有些硬件解码器会以对部分图像不进行去块滤波的代价或者降低得到的解码图像的精度提高解码速度,因此在相同的编码码流下,利用硬件解码装置解码得到的解码图像相对于软件解码得到的画质差,而如果默认采用应用中的软件解码方式进行解码,软件解码会占用大量的CPU(Central Processing Unit,中央处理器)资源。因此,可以获取原始图像以及原始图像对应的编码码流,利用硬件解码装置对编码码流进行解码得到解码图像,比较解码图像与原始图像的颜色差异度和/或相似度,以确定是否将采用硬件解码装置解码作为目标解码方式。
步骤S210,根据目标解码方式对获取的视频编码码流进行解码。
具体地,视频编码码流可以是实时的视频编码码流,例如可以是直播视频流。视频编码码流可以是存储在设备上的视频编码码流。得到目标解码方式后,采用目标解码方式对获取的视频编码码流进行解码。例如,当接收到直播视频流时,根据目标解码方式对获取的视频编码码流进行解码。
上述视频解码方法,可通过获取原始图像对应的编码码流,采用硬件解码装置对编码码流进行解码,得到解码图像后与原始图像进行对比得到颜色差异度以及相似度的至少一种,根据颜色差异度以及相似度的至少一种确定目标解码方式,候选解码方式包括采用硬件解码装置解码和软件解码,以根据目标编码方式对视频流进行解码。因此,可以选择适宜的视频解码方式,降低视频解码时对设备资源的占用度,提高视频解码效率。
在一个实施例中,得到目标解码方式后,可以将目标解码方式保存到终端上,也可以将目标解码方式发送到服务器中保存,当获取到视频编码码流时,再从本地存储中或者服务器获取目标解码方式,对视频编码码流进行解码。例如,当启动直播应用时,可以从服务器中获取预先存储的原始图像以及对应的编码码流,然后执行本发明实施例S202~S208的步骤得到目标编码方式。因此当用户在直播应用中点击相应的直播链接时,可以及时获取目标编码方式对直播视频流进行解码。
在一个实施例中,如图4所示,原始图像为直播原始图像,视频解码方法还包括步骤S402:获取直播视频流,将软件解码作为当前解码方式对直播视频流进行解码并播放。步骤S202包括:获取直播视频流对应的直播原始图像。步骤S204包括:采用硬件解码装置对直播视频流进行解码,得到直播原始图像对应的直播解码图像。步骤S206包括:计算直播原始图像与直播解码图像之间的颜色差异度和/或相似度。得到目标编码方式后,视频解码方法还包括步骤S404:当目标解码方式为采用硬件解码装置解码时,将当前解码方式由软件解码切换为采用硬件解码装置解码。
具体地,当接收到直播视频流时,为了避免需要先确定目标解码方式导致直播视频流不能及时进行播放,因此,可以将软件解码作为当前解码方式对直播视频流进行解码并在终端上播放。直播视频流对应的直播原始图像可以为一张或多张。直播原始图像是由录制直播视频的终端发送到服务器中,再由服务器发送到播放直播视频流的终端的。在利用软件解码作为当前解码方式对直播视频流进行解码并播放时,可以利用硬件解码装置对直播视频流进行解码,得到直播原始图像对应的直播解码图像。然后计算直播原始图像与直播解码图像之间的颜色差异度和/或相似度。根据颜色差异度和/或相似度得到目标解码方式。若目标解码方式为采用硬件解码装置解码时,可以将当前解码方式由软件解码切换为采用硬件解码装置解码,即利用硬件解码装置对未解码的直播视频流进行解码。在一个实施例中,可以在软件解码对应的当前解码图像所在的图像组的编码流均解码成功后再切换为采用硬件解码装置对直播视频流进行解码。视频编码流中,图像组中在后解码的图像是参考在先解码的图像进行解码的,因此,确定目标编码方式后,若当前图像组中的图像未解码完毕,则可以等当前图像组中的图像解码完毕后,再切换为采用硬件解码装置解码。
如图5A以及5B所示,直播时,将当前解码方式由软件解码方式切换为采用硬件解码装置解码后,在终端的运行状态未做其他改变的情况下,CPU占用率以及耗电情况均得到了一定程度的下降。经过试验。采用本发明实施例提供的方法,直播应用采用硬件解码装置进行解码的比例可以由原来的43.15%上升至87.1%。
在一个实施例中,还可以根据用户对各个颜色的颜色敏感度得到各个颜色通道对应的权重。因此,如图6所示,在计算得到颜色差异度的步骤之前,视频解码方法还可以包括以下步骤:
步骤S602,获取用户标识,获取用户标识对应的对各个颜色通道的颜色敏感度。
具体地,用户标识可以是终端上登录的用户标识。用户标识对应的各个颜色通道的颜色敏感度可以是用户输入的,也可以是通过测试得到的。在一个实施例中,可以获取测试图像,分别对测试图像各个颜色通道的值进行改变后显示在终端上,接收用户对显示的图像的改变情况的描述信息,根据描述信息确定用户对个颜色通道的敏感度。在一个实施例中,可以接收用户对各个颜色的敏感度的描述,例如,可以接收用户对是否为红绿色盲的描述信息。
步骤S604,根据颜色敏感度确定各个颜色通道对应的权重。
具体地,得到颜色敏感度后,对于敏感度高的颜色对应的颜色通道,可以增加该颜色通道的权重,对于敏感度低的颜色对应的颜色通道,可以降低该颜色通道的权重。根据颜色敏感度确定各个颜色通道对应的权重的方法可以根据需要进行设置。例如,可以设置各个颜色通道对应的初始值。然后根据颜色敏感度在初始值的基础上增加或者减少权重值,得到对应最终的权重。
在一个实施例中,得到各个颜色通道对应的权重后,根据各个颜色通道对应的颜色差值计算得到原始图像与解码图像之间的颜色差异度的步骤包括:根据各个颜色通道对应的权重以及对应的颜色差值计算得到原始图像与解码图像之间的颜色差异度。例如,可以用公式表示如下:
Figure BDA0001576546590000131
Figure BDA0001576546590000132
其中ΔR2、ΔG2以及ΔB2分别表示R、G以及B三种颜色通道对应的颜色差值,a1、a2以及a3分别表示R、G以及B三种颜色通道对应的权重。D表示颜色差异度。
在一个实施例中,如图7所示,步骤S206即计算原始图像与解码图像之间的相似度的步骤包括:
步骤S702,获取原始图像各个像素点的原始灰度值以及解码图像各个像素点的解码灰度值。
具体地,灰度值用于表示黑白图像中像素点的颜色深度,范围可以为0到255。其中,白色为255,黑色可以为0。得到原始图像以及解码图像后,获取原始图像中各个像素点的灰度值作为原始灰度值,以及获取解码图像各个像素点的灰度值作为解码灰度值。
步骤S704,根据原始图像各个像素点的原始灰度值以及解码图像各个像素点的解码灰度值计算得到原始图像与解码图像之间的灰度相关数据,灰度相关数据包括灰度差异度、对比差异度以及灰度变化趋势相关度中的至少一种。
具体地,灰度差异度指图像之间灰度的差别程度,对比差异度指图像之间对比度的差别程度,灰度变化趋势相关度用于表示图像之间灰度的变化趋势的相关程度。若变化趋势相同,则灰度变化趋势相关度大。灰度相关数据可以包括灰度差异度、对比差异度以及灰度变化趋势相关度中的至少一种。
步骤S706,根据灰度相关数据计算原始图像与解码图像的相似度。
具体地,得到灰度相关数据后,若灰度相关数据只有一个,则可以将该灰度相关数据作为原始图像与解码图像的相似度。若灰度相关数据为多个,则可以结合多个灰度相关数据得到原始图像与解码图像的相似度。例如,相似度可以是多个灰度相关数据的乘积。
在一个实施例中,如图8所示,在计算原始图像与解码图像之间的相似度之前,还包括步骤S802:对原始图像进行切分得到原始图像对应的各个原始图像块,对解码图像进行切分得到解码图像对应的各个解码图像块。
具体地,原始图像块以及解码图像块的块数以及切分方式具体可以根据需要设置,例如可以为10块,或者切分为10像素*10像素的图像块。
步骤S704即根据原始图像各个像素点的原始灰度值以及解码图像各个像素点的解码灰度值计算得到原始图像与解码图像之间的灰度相关数据的步骤包括:
步骤S704A,获取当前原始图像块以及当前原始图像块对应位置的当前解码图像块。
具体地,当前原始图像块是指计算该图像块像相似度时所对应的原始图像块。由于原始图像块有多个,因此可以逐一计算各个原始图像块与对应位置的解码图像块的相似度,也可以并行计算多个原始图像块与对应位置的解码图像块的相似度。当前原始图像块对应位置的当前解码图像块是指当前原始图像块在原始图像的位置与当前解码图像块在解码图像块的位置相应。例如,若当前原始图像块为原始图像中左上位置第一个图像块,则当前解码图像块为解码图像中左上位置第一个图像块。
步骤S704B,根据当前原始图像块各个像素点的原始灰度值,以及当前解码图像块各个像素点的解码灰度值计算得到当前原始图像块与当前解码图像块之间的各个当前灰度相关数据。
具体地,当前灰度相关数据可以包括当前原始图像块与当前解码图像块之间的灰度差异度、对比差异度以及灰度变化趋势相关度中的至少一种。灰度差异度、对比差异度以及灰度变化趋势相关度的计算方法可以根据需要设置。
在一个实施例中,计算灰度差异度的步骤可以包括:根据当前原始图像块各个像素点的原始灰度值计算当前原始图像块对应的原始灰度均值,根据当前解码图像块各个像素点的解码灰度值计算当前解码图像块对应的解码灰度均值。根据当前原始图像块对应的原始灰度均值以及当前解码图像块对应的解码灰度均值计算得到当前灰度差异度。例如,可以根据当前原始图像块对应的原始灰度均值以及当前解码图像块对应的解码灰度均值计算得到均值乘积,根据当前原始图像块对应的原始灰度均值的平方以及当前解码图像块对应的解码灰度均值的方法计算得到均值平方和。再根据均值乘积以及均值平方和得到当前灰度差异度。用公式可以表示如下:
Figure BDA0001576546590000151
其中u1以及u2分别指当前原始图像块各个像素点的灰度的均值、当前解码图像块各个像素点的灰度的均值,l指当前灰度差异度,C1以及C2可以是常数,具体可以根据需要设置。当前原始图像块各个像素点的灰度的均值的计算公式如下:
Figure BDA0001576546590000152
Figure BDA0001576546590000153
其中X(i,j)指第i行第j列像素点的灰度值,H指当前原始图像块的行所对应的像素点的数量,W指当前原始图像块的列的所对应的像素点数量。可以理解,u2的计算公式可以参考u1的计算公式,在此不再赘述。
在一个实施例中,灰度相关数据包括对比差异度,计算对比差异度的步骤包括:根据当前原始图像块各个像素点的原始灰度值计算当前原始图像块对应的原始灰度均值,根据当前原始图像块各个像素点的原始灰度值以及原始灰度均值计算当前原始图像块对应的原始灰度方差值。以及根据当前解码图像块各个像素点的解码灰度值计算当前解码图像块对应的解码灰度均值,根据当前解码图像块各个像素点的解码灰度值以及解码灰度均值计算当前解码图像块对应的解码灰度方差值。根据原始灰度方差值以及解码灰度方差值计算得到当前原始图像块与当前解码图像块之间的对比差异度。
具体地,方差值的计算公式可表示为
Figure BDA0001576546590000154
Figure BDA0001576546590000161
其中,X(i,j)指第i行第j列像素点的灰度值,H指当前原始图像块的行所对应的像素点的数量,W指当前原始图像块的列的所对应的像素点数量。u1指当前原始图像块对应的灰度均值,当前解码图像块的方差值可以参考当前原始图像块的计算公式计算。在此不再赘述。得到方差值后,可以根据当前原始图像块对应的原始灰度方差值以及当前解码图像块对应的解码灰度方差值计算得到方差乘积,根据当前原始图像块对应的原始灰度方差值的平方以及当前解码图像块对应的解码灰度方差值的方法计算得到方差平方和。再根据方差乘积以及方差平方和得到当前对比差异度。以公式表示如下:
Figure BDA0001576546590000162
其中
Figure BDA0001576546590000163
分别指原始灰度方差值以及解码灰度方差值,C指对比差异度,C3以及C4可以是一个常数,具体可以根据需要设置。
在一个实施例中,灰度相关数据包括当前灰度变化趋势相关度,计算灰度变化趋势相关度的步骤包括:根据当前原始图像块各个像素点的原始灰度值计算当前原始图像块对应的原始灰度均值,根据当前解码图像块各个像素点的解码灰度值计算当前解码图像块对应的解码灰度均值。根据当前原始图像块各个像素点的原始灰度值、当前原始图像块对应的原始灰度均值、当前解码图像块各个像素点的解码灰度值以及当前解码图像块对应的解码灰度均值计算当前原始图像块与当前解码图像块之间的灰度协方差。根据灰度协方差、原始灰度方差值以及解码灰度方差值计算得到当前灰度变化趋势相关度。
具体地,协方差的计算公式如下:
Figure BDA0001576546590000164
Figure BDA0001576546590000165
其中,其中X(i,j)指当前原始图像块第i行第j列像素点的灰度值,Y(i,j)指当前解码图像块第i行第j列像素点的灰度值,H指原始图像块的行所对应的像素点的数量,W指当原始图像块的列的所对应的像素点数量,u1以及u2分别指当前原始图像块各个像素点的灰度的均值、当前解码图像块各个像素点的灰度的均值,
Figure BDA0001576546590000166
为协方差。得到协方差后,可以根据当前原始图像块对应的原始灰度方差值以及当前解码图像块对应的解码灰度方差值计算得到方差乘积。再根据协方差以及方差乘积得到当前灰度变化趋势相关度。以公式表示如下:
Figure BDA0001576546590000171
其中
Figure BDA0001576546590000172
分别指原始灰度方差值以及解码灰度方差值进行开方得到的值,
Figure BDA0001576546590000173
为协方差,S指当前灰度变化趋势相关度,C5以及C6可以是一个常数,具体可以根据需要设置。
步骤S706即根据灰度相关数据计算原始图像与解码图像的相似度的步骤包括:
步骤S706A,根据当前原始图像块与当前解码图像块之间的各个当前灰度相关数据计算当前原始图像块与当前解码图像块之间的块相似度。
具体地,得到当前灰度相关数据后,若当前灰度相关数据只有一个,则可以将该当前灰度相关数据作为当前原始图像块与当前解码图像块之间的块相似度。若当灰度相关数据为多个,则可以结合多个当前灰度相关数据得到当前原始图像块与当前解码图像块的相似度。在一个实施例中,相似度可以是多个灰度相关数据的乘积。例如,可以将灰度差异度l、对比差异度C以及灰度变化趋势相关度S相乘,得到的乘积作为块相似度。
步骤S706B,根据各个原始图像块与对应的解码图像块之间的块相似度得到原始图像与解码图像之间的相似度。
具体地,得到各个原始图像块与解码图像块的块相似度后,可以将各个块相似度的相似度均值作为原始图像与解码图像之间的相似度,当然也可以将中位数值、最大值以及最小值中的一个作为原始图像与解码图像之间的相似度值,具体不做限制。
本发明实施例中,由于图像中各个区域的图像可能不同,因此先对图像进行分块得到图像块,计算得到各个图像块的块相似度后,再结合块相似度得到总体相似度,这种先计算局部相似度,再得到整体相似度的方法,提高了计算得到的原始图像与解码图像之间的相似度的准确性。
在一个实施例中,如图9所示,视频解码方法还可以包括:
步骤S902,获取服务器中进行硬解码的终端名单,终端名单包括终端黑名单以及终端白名单中的至少一个。
具体地,终端黑名单是指不能进行硬解码的名单,终端白名单是指能进行硬解码的名单。终端名单是存储在服务器中的。
步骤S904,当硬件解码装置所在的终端不在终端名单范围内时,进入获取原始图像以及原始图像对应的编码码流的步骤。
具体地,当终端名单只包括终端黑名单时,则可以在硬件解码装置所在的终端不在终端黑名单范围内时,进入获取原始图像以及原始图像对应的编码码流的步骤。当终端名单只包括终端白名单时,则可以在硬件解码装置所在的终端不在终端白名单范围内时,进入获取原始图像以及原始图像对应的编码码流的步骤。当终端名单包括终端黑名单以及终端白名单时,则可以在硬件解码装置所在的终端不在终端黑名单以及不在终端白名单时,进入获取原始图像以及原始图像对应的编码码流的步骤。可以理解,当硬件解码装置所在的终端在终端名单范围内,则说明已经确定终端可以进行硬解码或者不能进行硬解码,因此,不进入获取原始图像以及原始图像对应的编码码流的步骤,并在当终端在终端黑名单范围内时,将软件解码作为目标解码方式,当终端在终端白名单范围内,则将硬件解码作为目标解码方式。
在一个是实施例中,步骤S208即根据颜色差异度和/或相似度从候选解码方式中选取目标解码方式的步骤之后,视频编码方法还包括:向服务器发送名单信息添加请求,名单信息添加请求包括终端的属性信息以及目标解码方式,名单信息添加请求用于指示服务器获取目标解码方式对应的目标终端名单类型,将终端的属性信息添加到目标终端名单类型对应的终端名单中。
具体地,终端属性信息例如可以为终端的机型、硬件配置信息等,具体可以根据需要设置。终端名单类型包括黑名单类型以及白名单类型,当目标解码方式为采用硬件解码装置解码时,则对应的目标终端名单类型为白名单类型,当目标解码方式为软件解码时,则对应的目标终端名单类型为黑名单类型。得到目标解码方式后,向服务器发送名单信息添加请求,指示服务器在当目标解码方式为硬件解码装置解码时,将终端属性信息加入终端白名单中,将当目标解码方式为软件解码时,将终端属性信息添加到终端黑名单中。
以下以一个直播应用为例,对本发明实施例提供的视频解码方法进行说明:
1、当直播应用启动后,终端获取硬解码的终端黑名单以及终端白名单,确定终端的型号是否在终端黑名单以及终端白名单中。
2、终端确定终端的型号不在终端黑名单以及终端白名单中时,向服务器发送图像以及编码流获取请求,服务器向终端发送原始图像以及对应的编码码流,终端接收原始图像以及原始图像对应的编码码流。
3、终端采用硬件解码装置对编码码流进行解码,得到原始图像,并输出到SurfaceTexture上。然后再通过OpenGL从SurfaceTexture中读取解码图像,与原始图像进行对比,计算得到原始图像与解码图像之间的颜色差异度和相似度。例如为2以及0.991
4、终端能获取第一阈值以及第二阈值,假设为5以及0.99,由于颜色差异度为2,小于5,相似度为0.991大于0.99,因此,选取采用硬件解码装置解码作为目标解码方式。
5、终端将直播应用的默认解码方式更改为采用硬件解码装置解码,同时将目标解码方式以及终端的型号发送到服务器中,使服务器可以将终端型号加入到终端白名单中。
6、当接收到用户选择相应的直播链接的指令后,终端向服务器发送直播视频流获取请求。
7、终端接收服务器发送的直播视频流,并利用硬件解码装置对直播视频流进行解码,得到可以播放的图像帧。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图10所示,在一个实施例中,提供了一种视频解码装置,该视频解码装置可以集成于上述的终端110中,具体可以包括码流获取模块1002、第一解码模块1004、计算模块1006、选取模块1008以及第二解码模块1010。
码流获取模块1002,用于获取原始图像以及原始图像对应的编码码流。
第一解码模块1004,用于采用硬件解码装置对编码码流进行解码,得到对应的解码图像。
计算模块1006,用于计算原始图像与解码图像之间的颜色差异度和/或相似度。
选取模块1008,用于根据颜色差异度和/或相似度从候选解码方式中选取目标解码方式,候选解码方式包括采用硬件解码装置解码和软件解码。
第二解码模块1010,用于根据目标解码方式对获取的视频编码码流进行解码。
在其中一些实施例中,如图11所示,原始图像为直播原始图像,装置包括:
直播流获取模块1102,用于获取直播视频流,将软件解码作为当前解码方式对直播视频流进行解码并播放。
码流获取模块用于1002:获取直播视频流对应的直播原始图像。
第一解码模块1004用于:采用硬件解码装置对直播视频流进行解码,得到直播原始图像对应的直播解码图像。
计算模块1006用于:计算直播原始图像与直播解码图像之间的颜色差异度和/或相似度。
装置还包括切换模块1104,用于当目标解码方式为采用硬件解码装置解码时,将当前解码方式由软件解码切换为采用硬件解码装置解码。
在其中一些实施例中,计算模块1006用于:计算解码图像与原始图像在各个颜色通道对应的颜色差值。根据各个颜色通道对应的颜色差值计算得到原始图像与解码图像之间的颜色差异度。
在其中一些实施例中,装置还包括:
敏感度获取模块,用于获取用户标识,获取用户标识对应的对各个颜色通道的颜色敏感度。
权重确定模块,用于根据颜色敏感度确定各个颜色通道对应的权重。
计算模块1006用于:根据各个颜色通道对应的权重以及对应的颜色差值计算得到原始图像与解码图像之间的颜色差异度。
在其中一些实施例中,如图12所示,计算模块1006包括:
灰度值获取单元1006A,用于获取原始图像各个像素点的原始灰度值以及解码图像各个像素点的解码灰度值。
相关数据计算单元1006B,用于根据原始图像各个像素点的原始灰度值以及解码图像各个像素点的解码灰度值计算得到原始图像与解码图像之间的灰度相关数据,灰度相关数据包括灰度差异度、对比差异度以及灰度变化趋势相关度中的至少一种。
相似度计算单元1006C,用于根据灰度相关数据计算原始图像与解码图像的相似度。
在其中一些实施例中,装置还包括切分模块,用于对原始图像进行切分得到原始图像对应的各个原始图像块,对解码图像进行切分得到解码图像对应的各个解码图像块。
相关数据计算单元1006B用于:获取当前原始图像块以及当前原始图像块对应位置的当前解码图像块。根据当前原始图像块各个像素点的原始灰度值,以及当前解码图像块各个像素点的解码灰度值计算得到当前原始图像块与当前解码图像块之间的各个当前灰度相关数据。
相似度计算单元1006C用于:根据当前原始图像块与当前解码图像块之间的各个当前灰度相关数据计算当前原始图像块与当前解码图像块之间的块相似度。根据各个原始图像块与对应的解码图像块之间的块相似度得到原始图像与解码图像之间的相似度。
在其中一些实施例中,灰度相关数据包括对比差异度,相关数据计算单元1006B用于:根据当前原始图像块各个像素点的原始灰度值计算当前原始图像块对应的原始灰度均值,根据当前原始图像块各个像素点的原始灰度值以及原始灰度均值计算当前原始图像块对应的原始灰度方差值。根据当前解码图像块各个像素点的解码灰度值计算当前解码图像块对应的解码灰度均值,根据当前解码图像块各个像素点的解码灰度值以及解码灰度均值计算当前解码图像块对应的解码灰度方差值。根据原始灰度方差值以及解码灰度方差值计算得到当前原始图像块与当前解码图像块之间的对比差异度。
在其中一些实施例中,选取模块1008用于:当颜色差异度小于第一阈值,且相似度大于第二阈值时,从候选解码方式中选取采用硬件解码装置解码作为目标解码方式。
在其中一些实施例中,选取模块1008用于:当颜色差异度大于第一阈值或者相似度小于第二阈值时,从候选解码方式中选取软件解码作为目标解码方式。
在其中一些实施例中,装置还包括:
编码参数得到模块,用于获取编码码流对应的编码参数。
阈值确定模块,用于根据编码参数确定对应的第一阈值以及第二阈值。
在其中一些实施例中,如图13所示,装置还包括:
名单获取模块1302,用于获取服务器中进行硬解码的终端名单,终端名单包括终端黑名单以及终端白名单中的至少一个。
进入模块1304,用于当硬件解码装置所在的终端不在终端名单范围内时,进入获取原始图像以及原始图像对应的编码码流的步骤。
在其中一些实施例中,装置还包括添加请求发送模块,用于向服务器发送名单信息添加请求,名单信息添加请求包括终端的属性信息以及目标解码方式,名单信息添加请求用于指示服务器获取目标解码方式对应的目标终端名单类型,将终端的属性信息添加到目标终端名单类型对应的终端名单中。
图14示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图14所示,该计算机设备包括该计算机设备包括通过***总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现视频解码方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行视频解码方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的视频解码装置可以实现为一种计算机程序的形式,计算机程序可在如图14所示的计算机设备上运行。计算机设备的存储器中可存储组成该视频解码装置的各个程序模块,比如,图10所示的码流获取模块1002、第一解码模块1004、计算模块1006、选取模块1008以及第二解码模块1010。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的视频解码方法中的步骤。
例如,图14所示的计算机设备可以通过如图10所示的视频解码装置中的码流获取模块1002获取原始图像以及原始图像对应的编码码流。通过第一解码模块1004采用硬件解码装置对编码码流进行解码,得到对应的解码图像。通过计算模块1006计算原始图像与解码图像之间的颜色差异度和/或相似度。通过选取模块1008根据颜色差异度和/或相似度从候选解码方式中选取目标解码方式,候选解码方式包括采用硬件解码装置解码和软件解码。通过第二解码模块1010根据目标解码方式对获取的视频编码码流进行解码。
在一个实施例中,提出了一种计算机设备,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取原始图像以及原始图像对应的编码码流;采用硬件解码装置对编码码流进行解码,得到对应的解码图像;计算原始图像与解码图像之间的颜色差异度和/或相似度;根据颜色差异度和/或相似度从候选解码方式中选取目标解码方式,候选解码方式包括采用硬件解码装置解码和软件解码;根据目标解码方式对获取的视频编码码流进行解码。
在一个实施例中,原始图像为直播原始图像,计算机程序还使得处理器执行如下步骤:获取直播视频流,将软件解码作为当前解码方式对直播视频流进行解码并播放;获取原始图像以及原始图像对应的编码码流的步骤包括:获取直播视频流对应的直播原始图像;采用硬件解码装置对编码码流进行解码,得到对应的解码图像的步骤包括:采用硬件解码装置对直播视频流进行解码,得到直播原始图像对应的直播解码图像;计算原始图像与解码图像之间的颜色差异度和/或相似度的步骤包括:计算直播原始图像与直播解码图像之间的颜色差异度和/或相似度;方法还包括:当目标解码方式为采用硬件解码装置解码时,将当前解码方式由软件解码切换为采用硬件解码装置解码。
在一个实施例中,计算原始图像与解码图像之间的颜色差异度的步骤包括:计算解码图像与原始图像在各个颜色通道对应的颜色差值;根据各个颜色通道对应的颜色差值计算得到原始图像与解码图像之间的颜色差异度。
在一个实施例中,根据各个颜色通道对应的颜色差值计算得到原始图像与解码图像之间的颜色差异度的步骤之前,计算机程序还使得处理器执行如下步骤:获取用户标识,获取用户标识对应的对各个颜色通道的颜色敏感度;根据颜色敏感度确定各个颜色通道对应的权重;根据各个颜色通道对应的颜色差值计算得到原始图像与解码图像之间的颜色差异度的步骤包括:根据各个颜色通道对应的权重以及对应的颜色差值计算得到原始图像与解码图像之间的颜色差异度。
在一个实施例中,计算原始图像与解码图像之间的相似度的步骤包括:获取原始图像各个像素点的原始灰度值以及解码图像各个像素点的解码灰度值;根据原始图像各个像素点的原始灰度值以及解码图像各个像素点的解码灰度值计算得到原始图像与解码图像之间的灰度相关数据,灰度相关数据包括灰度差异度、对比差异度以及灰度变化趋势相关度中的至少一种;根据灰度相关数据计算原始图像与解码图像的相似度。
在一个实施例中,计算机程序还使得处理器执行如下步骤:对原始图像进行切分得到原始图像对应的各个原始图像块,对解码图像进行切分得到解码图像对应的各个解码图像块;根据原始图像各个像素点的原始灰度值以及解码图像各个像素点的解码灰度值计算得到原始图像与解码图像之间的灰度相关数据的步骤包括:获取当前原始图像块以及当前原始图像块对应位置的当前解码图像块;根据当前原始图像块各个像素点的原始灰度值,以及当前解码图像块各个像素点的解码灰度值计算得到当前原始图像块与当前解码图像块之间的各个当前灰度相关数据;根据灰度相关数据计算原始图像与解码图像的相似度的步骤包括:根据当前原始图像块与当前解码图像块之间的各个当前灰度相关数据计算当前原始图像块与当前解码图像块之间的块相似度;根据各个原始图像块与对应的解码图像块之间的块相似度得到原始图像与解码图像之间的相似度。
在一个实施例中,灰度相关数据包括对比差异度,根据当前原始图像块各个像素点的原始灰度值,以及当前解码图像块各个像素点的解码灰度值计算得到当前原始图像块与当前解码图像块之间的各个当前灰度相关数据的步骤包括:根据当前原始图像块各个像素点的原始灰度值计算当前原始图像块对应的原始灰度均值,根据当前原始图像块各个像素点的原始灰度值以及原始灰度均值计算当前原始图像块对应的原始灰度方差值;根据当前解码图像块各个像素点的解码灰度值计算当前解码图像块对应的解码灰度均值,根据当前解码图像块各个像素点的解码灰度值以及解码灰度均值计算当前解码图像块对应的解码灰度方差值;根据原始灰度方差值以及解码灰度方差值计算得到当前原始图像块与当前解码图像块之间的对比差异度。
在一个实施例中,根据颜色差异度和/或相似度从候选解码方式中选取目标解码方式的步骤包括:当颜色差异度小于第一阈值,且相似度大于第二阈值时,从候选解码方式中选取采用硬件解码装置解码作为目标解码方式。
在一个实施例中,根据颜色差异度和/或相似度从候选解码方式中选取目标解码方式的步骤包括:当颜色差异度大于第一阈值或者相似度小于第二阈值时,从候选解码方式中选取软件解码作为目标解码方式。在一个实施例中,计算机程序还使得处理器执行如下步骤:获取编码码流对应的编码参数;根据编码参数确定对应的第一阈值以及第二阈值。
在一个实施例中,计算机程序还使得处理器执行如下步骤:获取服务器中进行硬解码的终端名单,终端名单包括终端黑名单以及终端白名单中的至少一个;当硬件解码装置所在的终端不在终端名单范围内时,进入获取原始图像以及原始图像对应的编码码流的步骤。
在一个实施例中,根据颜色差异度和/或相似度从候选解码方式中选取目标解码方式的步骤之后,计算机程序还使得处理器执行如下步骤:向服务器发送名单信息添加请求,名单信息添加请求包括终端的属性信息以及目标解码方式,名单信息添加请求用于指示服务器获取目标解码方式对应的目标终端名单类型,将终端的属性信息添加到目标终端名单类型对应的终端名单中。
在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:获取原始图像以及原始图像对应的编码码流;采用硬件解码装置对编码码流进行解码,得到对应的解码图像;计算原始图像与解码图像之间的颜色差异度和/或相似度;根据颜色差异度和/或相似度从候选解码方式中选取目标解码方式,候选解码方式包括采用硬件解码装置解码和软件解码;根据目标解码方式对获取的视频编码码流进行解码。
在一个实施例中,原始图像为直播原始图像,计算机程序还使得处理器执行如下步骤:获取直播视频流,将软件解码作为当前解码方式对直播视频流进行解码并播放;获取原始图像以及原始图像对应的编码码流的步骤包括:获取直播视频流对应的直播原始图像;采用硬件解码装置对编码码流进行解码,得到对应的解码图像的步骤包括:采用硬件解码装置对直播视频流进行解码,得到直播原始图像对应的直播解码图像;计算原始图像与解码图像之间的颜色差异度和/或相似度的步骤包括:计算直播原始图像与直播解码图像之间的颜色差异度和/或相似度;方法还包括:当目标解码方式为采用硬件解码装置解码时,将当前解码方式由软件解码切换为采用硬件解码装置解码。
在一个实施例中,计算原始图像与解码图像之间的颜色差异度的步骤包括:计算解码图像与原始图像在各个颜色通道对应的颜色差值;根据各个颜色通道对应的颜色差值计算得到原始图像与解码图像之间的颜色差异度。
在一个实施例中,根据各个颜色通道对应的颜色差值计算得到原始图像与解码图像之间的颜色差异度的步骤之前,计算机程序还使得处理器执行如下步骤:获取用户标识,获取用户标识对应的对各个颜色通道的颜色敏感度;根据颜色敏感度确定各个颜色通道对应的权重;根据各个颜色通道对应的颜色差值计算得到原始图像与解码图像之间的颜色差异度的步骤包括:根据各个颜色通道对应的权重以及对应的颜色差值计算得到原始图像与解码图像之间的颜色差异度。
在一个实施例中,计算原始图像与解码图像之间的相似度的步骤包括:获取原始图像各个像素点的原始灰度值以及解码图像各个像素点的解码灰度值;根据原始图像各个像素点的原始灰度值以及解码图像各个像素点的解码灰度值计算得到原始图像与解码图像之间的灰度相关数据,灰度相关数据包括灰度差异度、对比差异度以及灰度变化趋势相关度中的至少一种;根据灰度相关数据计算原始图像与解码图像的相似度。
在一个实施例中,计算机程序还使得处理器执行如下步骤:对原始图像进行切分得到原始图像对应的各个原始图像块,对解码图像进行切分得到解码图像对应的各个解码图像块;根据原始图像各个像素点的原始灰度值以及解码图像各个像素点的解码灰度值计算得到原始图像与解码图像之间的灰度相关数据的步骤包括:获取当前原始图像块以及当前原始图像块对应位置的当前解码图像块;根据当前原始图像块各个像素点的原始灰度值,以及当前解码图像块各个像素点的解码灰度值计算得到当前原始图像块与当前解码图像块之间的各个当前灰度相关数据;根据灰度相关数据计算原始图像与解码图像的相似度的步骤包括:根据当前原始图像块与当前解码图像块之间的各个当前灰度相关数据计算当前原始图像块与当前解码图像块之间的块相似度;根据各个原始图像块与对应的解码图像块之间的块相似度得到原始图像与解码图像之间的相似度。
在一个实施例中,灰度相关数据包括对比差异度,根据当前原始图像块各个像素点的原始灰度值,以及当前解码图像块各个像素点的解码灰度值计算得到当前原始图像块与当前解码图像块之间的各个当前灰度相关数据的步骤包括:根据当前原始图像块各个像素点的原始灰度值计算当前原始图像块对应的原始灰度均值,根据当前原始图像块各个像素点的原始灰度值以及原始灰度均值计算当前原始图像块对应的原始灰度方差值;根据当前解码图像块各个像素点的解码灰度值计算当前解码图像块对应的解码灰度均值,根据当前解码图像块各个像素点的解码灰度值以及解码灰度均值计算当前解码图像块对应的解码灰度方差值;根据原始灰度方差值以及解码灰度方差值计算得到当前原始图像块与当前解码图像块之间的对比差异度。
在一个实施例中,根据颜色差异度和/或相似度从候选解码方式中选取目标解码方式的步骤包括:当颜色差异度小于第一阈值,且相似度大于第二阈值时,从候选解码方式中选取采用硬件解码装置解码作为目标解码方式。
在一个实施例中,根据颜色差异度和/或相似度从候选解码方式中选取目标解码方式的步骤包括:当颜色差异度大于第一阈值或者相似度小于第二阈值时,从候选解码方式中选取软件解码作为目标解码方式。在一个实施例中,计算机程序还使得处理器执行如下步骤:获取编码码流对应的编码参数;根据编码参数确定对应的第一阈值以及第二阈值。
在一个实施例中,计算机程序还使得处理器执行如下步骤:获取服务器中进行硬解码的终端名单,终端名单包括终端黑名单以及终端白名单中的至少一个;当硬件解码装置所在的终端不在终端名单范围内时,进入获取原始图像以及原始图像对应的编码码流的步骤。
在一个实施例中,所述根据所述颜色差异度和/或所述相似度从候选解码方式中选取目标解码方式的步骤之后,所述计算机程序还使得所述处理器执行如下步骤:向所述服务器发送名单信息添加请求,所述名单信息添加请求包括所述终端的属性信息以及所述目标解码方式,所述名单信息添加请求用于指示所述服务器获取所述目标解码方式对应的目标终端名单类型,将所述终端的属性信息添加到所述目标终端名单类型对应的终端名单中。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (16)

1.一种视频解码方法,所述方法包括:
获取服务器中进行硬解码的终端名单,所述终端名单包括终端黑名单以及终端白名单中的至少一个;
获取直播视频流,将软件解码作为当前解码方式对所述直播视频流进行解码并播放;
在终端不属于所述终端名单的情况下,获取所述直播视频流对应的直播原始图像;
在利用软件解码作为当前解码方式对所述直播视频流进行解码并播放时,采用硬件解码装置对所述直播视频流进行解码,得到所述直播原始图像对应的直播解码图像;
计算所述直播原始图像与所述直播解码图像之间的颜色差异度和相似度;
当所述颜色差异度小于第一阈值且所述相似度大于第二阈值时,将采用硬件解码装置解码作为目标解码方式;当所述颜色差异度大于所述第一阈值或者所述相似度小于所述第二阈值时,将采用软件解码作为所述目标解码方式;
当所述目标解码方式为采用所述硬件解码装置解码时,将所述当前解码方式由软件解码切换为采用所述硬件解码装置解码;
向所述服务器发送名单信息添加请求,所述名单信息添加请求包括所述终端的属性信息以及所述目标解码方式,所述名单信息添加请求用于指示所述服务器:在所述目标解码方式为采用硬件解码装置解码的情况下,将所述终端的属性信息添加到所述终端白名单中,在所述目标解码方式为采用软件解码的情况下,将所述终端的属性信息添加到所述终端黑名单中;
根据所述目标解码方式对获取的视频编码码流进行解码。
2.根据权利要求1所述的方法,其特征在于,所述计算所述直播原始图像与所述直播解码图像之间的颜色差异度的步骤包括:
计算所述直播解码图像与所述直播原始图像在各个颜色通道对应的颜色差值;
根据所述各个颜色通道对应的颜色差值计算得到所述直播原始图像与所述直播解码图像之间的颜色差异度。
3.根据权利要求2所述的方法,其特征在于,所述根据所述各个颜色通道对应的颜色差值计算得到所述直播原始图像与所述直播解码图像之间的颜色差异度的步骤之前包括:
获取用户标识,获取所述用户标识对应的对所述各个颜色通道的颜色敏感度;
根据所述颜色敏感度确定所述各个颜色通道对应的权重;
所述根据所述各个颜色通道对应的颜色差值计算得到所述直播原始图像与所述直播解码图像之间的颜色差异度的步骤包括:
根据所述各个颜色通道对应的权重以及对应的颜色差值计算得到所述直播原始图像与所述直播解码图像之间的颜色差异度。
4.根据权利要求1所述的方法,其特征在于,所述计算所述直播原始图像与所述直播解码图像之间的相似度的步骤包括:
获取所述直播原始图像各个像素点的原始灰度值以及所述直播解码图像各个像素点的解码灰度值;
根据所述直播原始图像各个像素点的原始灰度值以及所述直播解码图像各个像素点的解码灰度值计算得到所述直播原始图像与所述直播解码图像之间的灰度相关数据,所述灰度相关数据包括灰度差异度、对比差异度以及灰度变化趋势相关度中的至少一种;
根据所述灰度相关数据计算所述直播原始图像与所述直播解码图像的相似度。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
对所述直播原始图像进行切分得到所述直播原始图像对应的各个原始图像块,对所述直播解码图像进行切分得到所述直播解码图像对应的各个解码图像块;
所述根据所述直播原始图像各个像素点的原始灰度值以及所述直播解码图像各个像素点的解码灰度值计算得到所述直播原始图像与所述直播解码图像之间的灰度相关数据的步骤包括:
获取当前原始图像块以及所述当前原始图像块对应位置的当前解码图像块;
根据所述当前原始图像块各个像素点的原始灰度值,以及所述当前解码图像块各个像素点的解码灰度值计算得到所述当前原始图像块与所述当前解码图像块之间的各个当前灰度相关数据;
所述根据所述灰度相关数据计算所述直播原始图像与所述直播解码图像的相似度的步骤包括:
根据所述当前原始图像块与所述当前解码图像块之间的各个当前灰度相关数据计算所述当前原始图像块与所述当前解码图像块之间的块相似度;
根据所述各个原始图像块与对应的解码图像块之间的块相似度得到所述直播原始图像与所述直播解码图像之间的相似度。
6.根据权利要求5所述的方法,其特征在于,所述灰度相关数据包括对比差异度,所述根据所述当前原始图像块各个像素点的原始灰度值,以及所述当前解码图像块各个像素点的解码灰度值计算得到所述当前原始图像块与所述当前解码图像块之间的各个当前灰度相关数据的步骤包括:
根据所述当前原始图像块各个像素点的原始灰度值计算所述当前原始图像块对应的原始灰度均值,根据所述当前原始图像块各个像素点的原始灰度值以及所述原始灰度均值计算所述当前原始图像块对应的原始灰度方差值;
根据所述当前解码图像块各个像素点的解码灰度值计算所述当前解码图像块对应的解码灰度均值,根据所述当前解码图像块各个像素点的解码灰度值以及所述解码灰度均值计算所述当前解码图像块对应的解码灰度方差值;
根据所述原始灰度方差值以及所述解码灰度方差值计算得到当前原始图像块与所述当前解码图像块之间的对比差异度。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述直播视频流对应的编码参数;
根据所述编码参数确定对应的所述第一阈值以及所述第二阈值。
8.一种视频解码装置,所述装置包括:
名单获取模块,用于获取服务器中进行硬解码的终端名单,所述终端名单包括终端黑名单以及终端白名单中的至少一个;
直播流获取模块,用于获取直播视频流,将软件解码作为当前解码方式对所述直播视频流进行解码并播放;
码流获取模块,用于在终端不属于所述终端名单的情况下,获取所述直播视频流对应的直播原始图像;
第一解码模块,用于在利用软件解码作为当前解码方式对所述直播视频流进行解码并播放时,采用硬件解码装置对所述直播视频流进行解码,得到所述直播原始图像对应的直播解码图像;
计算模块,用于计算所述直播原始图像与所述直播解码图像之间的颜色差异度和相似度;
选取模块,用于当所述颜色差异度小于第一阈值且所述相似度大于第二阈值时,将采用硬件解码装置解码作为目标解码方式;当所述颜色差异度大于所述第一阈值或者所述相似度小于所述第二阈值时,将采用软件解码作为所述目标解码方式;
切换模块,用于当所述目标解码方式为采用所述硬件解码装置解码时,将所述当前解码方式由软件解码切换为采用所述硬件解码装置解码;
添加请求发送模块,用于向所述服务器发送名单信息添加请求,所述名单信息添加请求包括所述终端的属性信息以及所述目标解码方式,所述名单信息添加请求用于指示所述服务器:在所述目标解码方式为采用硬件解码装置解码的情况下,将所述终端的属性信息添加到所述终端白名单中,在所述目标解码方式为采用软件解码的情况下,将所述终端的属性信息添加到所述终端黑名单中;
第二解码模块,用于根据所述目标解码方式对获取的视频编码码流进行解码。
9.根据权利要求8所述的装置,其特征在于,所述计算模块还用于:
计算所述直播解码图像与所述直播原始图像在各个颜色通道对应的颜色差值;
根据所述各个颜色通道对应的颜色差值计算得到所述直播原始图像与所述直播解码图像之间的颜色差异度。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
敏感度获取模块,用于获取用户标识,获取所述用户标识对应的对所述各个颜色通道的颜色敏感度;
权重确定模块,用于根据所述颜色敏感度确定所述各个颜色通道对应的权重;
所述计算模块还用于:根据所述各个颜色通道对应的权重以及对应的颜色差值计算得到所述直播原始图像与所述直播解码图像之间的颜色差异度。
11.根据权利要求8所述的装置,其特征在于,所述计算模块还包括:
灰度值获取单元,用于获取所述直播原始图像各个像素点的原始灰度值以及所述直播解码图像各个像素点的解码灰度值;
相关数据计算单元,用于根据所述直播原始图像各个像素点的原始灰度值以及所述直播解码图像各个像素点的解码灰度值计算得到所述直播原始图像与所述直播解码图像之间的灰度相关数据,所述灰度相关数据包括灰度差异度、对比差异度以及灰度变化趋势相关度中的至少一种;
相似度计算单元,用于根据所述灰度相关数据计算所述直播原始图像与所述直播解码图像的相似度。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
切分模块,用于对所述直播原始图像进行切分得到所述直播原始图像对应的各个原始图像块,对所述直播解码图像进行切分得到所述直播解码图像对应的各个解码图像块;
所述相关数据计算单元还用于:获取当前原始图像块以及所述当前原始图像块对应位置的当前解码图像块;根据所述当前原始图像块各个像素点的原始灰度值,以及所述当前解码图像块各个像素点的解码灰度值计算得到所述当前原始图像块与所述当前解码图像块之间的各个当前灰度相关数据;
所述相似度计算单元用于:根据所述当前原始图像块与所述当前解码图像块之间的各个当前灰度相关数据计算所述当前原始图像块与所述当前解码图像块之间的块相似度;根据所述各个原始图像块与对应的解码图像块之间的块相似度得到所述直播原始图像与所述直播解码图像之间的相似度。
13.根据权利要求12所述的装置,其特征在于,所述灰度相关数据包括对比差异度,所述相关数据计算单元用于:
根据所述当前原始图像块各个像素点的原始灰度值计算所述当前原始图像块对应的原始灰度均值,根据所述当前原始图像块各个像素点的原始灰度值以及所述原始灰度均值计算所述当前原始图像块对应的原始灰度方差值;
根据所述当前解码图像块各个像素点的解码灰度值计算所述当前解码图像块对应的解码灰度均值,根据所述当前解码图像块各个像素点的解码灰度值以及所述解码灰度均值计算所述当前解码图像块对应的解码灰度方差值;
根据所述原始灰度方差值以及所述解码灰度方差值计算得到当前原始图像块与所述当前解码图像块之间的对比差异度。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
编码参数得到模块,用于获取所述直播视频流对应的编码参数;
阈值确定模块,用于根据所述编码参数确定对应的所述第一阈值以及所述第二阈值。
15.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至7中任一项权利要求所述视频解码方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至7中任一项权利要求所述视频解码方法的步骤。
CN201810136996.7A 2018-02-09 2018-02-09 视频解码方法、装置、计算机设备和存储介质 Active CN110139104B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810136996.7A CN110139104B (zh) 2018-02-09 2018-02-09 视频解码方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810136996.7A CN110139104B (zh) 2018-02-09 2018-02-09 视频解码方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110139104A CN110139104A (zh) 2019-08-16
CN110139104B true CN110139104B (zh) 2023-02-28

Family

ID=67568325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810136996.7A Active CN110139104B (zh) 2018-02-09 2018-02-09 视频解码方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110139104B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110868615B (zh) * 2019-11-25 2021-05-28 腾讯科技(深圳)有限公司 一种视频处理方法、装置、电子设备以及存储介质
CN112003976B (zh) * 2020-07-31 2022-04-29 北京达佳互联信息技术有限公司 硬编硬解测试方法及装置
CN111931770B (zh) * 2020-09-16 2021-02-12 腾讯科技(深圳)有限公司 图像处理方法、装置、设备及存储介质
CN112738527A (zh) * 2020-12-29 2021-04-30 深圳市天视通视觉有限公司 一种视频解码检测方法、装置、电子设备及存储介质
CN114765677A (zh) * 2021-01-12 2022-07-19 腾讯科技(深圳)有限公司 多人视频会话方法、装置、计算机设备及存储介质
CN113472364B (zh) * 2021-06-15 2022-05-27 新疆天链遥感科技有限公司 一种多频段自适应遥测信号解调方法
CN113435219B (zh) * 2021-06-25 2023-04-07 上海中商网络股份有限公司 防伪检测方法、装置、电子设备及存储介质
CN114390336A (zh) * 2021-12-13 2022-04-22 百度在线网络技术(北京)有限公司 视频的解码方法、装置、电子设备及可读存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101068350A (zh) * 2007-06-04 2007-11-07 北京派瑞根科技开发有限公司 一种基于像素统计特征和视觉特征的图像编解码处理方法
CN102972022A (zh) * 2010-04-12 2013-03-13 松下电器产业株式会社 滤波器的定位和选择
CN104780378A (zh) * 2015-04-16 2015-07-15 腾讯科技(北京)有限公司 一种用于解码视频的方法、装置和播放器
CN105847822A (zh) * 2016-04-01 2016-08-10 乐视控股(北京)有限公司 一种视频解码方法及装置
CN105847849A (zh) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 视频帧检测方法、装置、视频帧处理***及计算机设备
CN105992055A (zh) * 2015-01-29 2016-10-05 腾讯科技(深圳)有限公司 一种视频解码的方法及装置
WO2016165603A1 (zh) * 2015-04-16 2016-10-20 华为技术有限公司 一种视频数据的编解码方法及装置
CN106559679A (zh) * 2015-09-28 2017-04-05 腾讯科技(深圳)有限公司 视频解码的方法、服务器和移动终端
CN107172432A (zh) * 2017-03-23 2017-09-15 杰发科技(合肥)有限公司 一种视频处理方法、装置及终端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010103969A (ja) * 2008-09-25 2010-05-06 Renesas Technology Corp 画像復号方法、画像復号装置、画像符号化方法及び画像符号化装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101068350A (zh) * 2007-06-04 2007-11-07 北京派瑞根科技开发有限公司 一种基于像素统计特征和视觉特征的图像编解码处理方法
CN102972022A (zh) * 2010-04-12 2013-03-13 松下电器产业株式会社 滤波器的定位和选择
CN105992055A (zh) * 2015-01-29 2016-10-05 腾讯科技(深圳)有限公司 一种视频解码的方法及装置
CN104780378A (zh) * 2015-04-16 2015-07-15 腾讯科技(北京)有限公司 一种用于解码视频的方法、装置和播放器
WO2016165603A1 (zh) * 2015-04-16 2016-10-20 华为技术有限公司 一种视频数据的编解码方法及装置
CN106559679A (zh) * 2015-09-28 2017-04-05 腾讯科技(深圳)有限公司 视频解码的方法、服务器和移动终端
CN105847849A (zh) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 视频帧检测方法、装置、视频帧处理***及计算机设备
CN105847822A (zh) * 2016-04-01 2016-08-10 乐视控股(北京)有限公司 一种视频解码方法及装置
CN107172432A (zh) * 2017-03-23 2017-09-15 杰发科技(合肥)有限公司 一种视频处理方法、装置及终端

Also Published As

Publication number Publication date
CN110139104A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
CN110139104B (zh) 视频解码方法、装置、计算机设备和存储介质
US20200329233A1 (en) Hyperdata Compression: Accelerating Encoding for Improved Communication, Distribution & Delivery of Personalized Content
US10728553B2 (en) Visual quality preserving quantization parameter prediction with deep neural network
EP3468182A1 (en) A method and apparatus for encoding a point cloud representing three-dimensional objects
Kuang et al. Machine learning-based fast intra mode decision for HEVC screen content coding via decision trees
CN109118470B (zh) 一种图像质量评价方法、装置、终端和服务器
Chao et al. A novel rate control framework for SIFT/SURF feature preservation in H. 264/AVC video compression
CN112102212B (zh) 一种视频修复方法、装置、设备及存储介质
CN111433821A (zh) 用于重建表示3d对象的点云的方法和装置
CN107801093B (zh) 视频渲染方法、装置、计算机设备和可读存储介质
CN114022790B (zh) 遥感图像中云层检测及图像压缩方法、装置和存储介质
US11765397B2 (en) Method and apparatus for encoding/decoding the colors of a point cloud representing a 3D object
CN110189384B (zh) 基于Unity3D的图像压缩方法、装置、计算机设备和存储介质
Yang et al. No‐reference image quality assessment via structural information fluctuation
CN112396610A (zh) 一种图像处理方法、计算机设备、存储介质
CN112565887A (zh) 一种视频处理方法、装置、终端及存储介质
CN115278225A (zh) 色度编码模式的选择方法、装置和计算机设备
Yang et al. Subjective quality evaluation of compressed digital compound images
CN113453017B (zh) 视频处理方法、装置、设备及计算机程序产品
Farah et al. Full-reference and reduced-reference quality metrics based on SIFT
CN114584781A (zh) 视频压缩方法及装置、计算机可读存储介质
CN114222181A (zh) 一种图像处理方法、装置、设备及介质
TWI669947B (zh) 圖片轉碼方法、計算設備及儲存介質
EP3467781A1 (en) A method and device for up-sampling a set of points representing a 3d scene
CN116980603A (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