CN115037944B - 一种云端流媒体硬解码方法、装置及存储介质 - Google Patents

一种云端流媒体硬解码方法、装置及存储介质 Download PDF

Info

Publication number
CN115037944B
CN115037944B CN202210953704.5A CN202210953704A CN115037944B CN 115037944 B CN115037944 B CN 115037944B CN 202210953704 A CN202210953704 A CN 202210953704A CN 115037944 B CN115037944 B CN 115037944B
Authority
CN
China
Prior art keywords
streaming media
decoding
data
cloud
decoded
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
CN202210953704.5A
Other languages
English (en)
Other versions
CN115037944A (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.)
Zhongcheng Hualong Computer Technology Co Ltd
Original Assignee
Zhongcheng Hualong Computer Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhongcheng Hualong Computer Technology Co Ltd filed Critical Zhongcheng Hualong Computer Technology Co Ltd
Priority to CN202210953704.5A priority Critical patent/CN115037944B/zh
Publication of CN115037944A publication Critical patent/CN115037944A/zh
Application granted granted Critical
Publication of CN115037944B publication Critical patent/CN115037944B/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明涉及通信数据解码技术领域,涉及云端流媒体硬解码方法、装置及存储介质,包括步骤:实时采集流媒体数据,将流媒体数据发送到云端服务器;在云端服务器启用硬件解码器对流媒体进行解码;创建一个用于流媒体解码或后处理的设备上下文;创建并分配内存;获取云端服务器的解码器服务;获取缓存指针;解码当前帧;释放缓存;解码结束。在本方法中,在云端服务器采用硬件解码器对流媒体进行解码,解码当前帧时通过对方差大于设定阈值的进行系数矩阵的解码,小于或等于设定阈值时采用浮点数坐标方式进行解码,大大增强了清晰度,且将阈值
Figure 108179DEST_PATH_IMAGE001
加入到恢复图像的过程中,根据用户需求进行恢复,大大增大了区分度,显著提升了图像清晰度。

Description

一种云端流媒体硬解码方法、装置及存储介质
技术领域
本发明涉及通信数据解码技术领域,尤其涉及一种云端流媒体硬解码方法、装置及存储介质。
背景技术
近几十年来,通信技术迅猛发展,网络得以快速普及。流媒体技术伴随着网络的普及和越来越快的网速得以快速发展。如今,生活中的方方面面都能见到流媒体技术运用的身影,采用流媒体技术的应用无处不在。
流媒体技术可以通过压缩数据,然后将压缩后的数据分段进行网络传输来达到实时播放的效果。在多媒体高速发展的时代,能够高效地传输实时视频流非常重要。网络监控、高清视频、云游戏均为常见的涉及视频流的领域。近些年来,随着虚拟化技术的成熟和分布式技术的广泛运用,开发可以部署到云端的流媒体解码系统成为当下流媒体解码领域研究的热点。
目前,随着流媒体的普及与逐步完善,如何在现有环境中结合同样也在近年快速发展的图像模式识别,打造智能化的流媒体解码系统成了重中之重。但由于模式识别的大运算量,实时性本身十分依赖硬件,当需要识别的图像来源为网络摄像头时,对实时性的考验就更大了。这里实时性的提高有包括两个方面,一个是视频流信号的采集与解码,另一个对图像识别的速度。目前这两方面都严重依赖软件的支持,现有的软件解码CPU占用率高,视频播放不流畅,功耗高。 且现有的解码方法具有低滤波器特性,使得高频分量容易受损,使得图像轮廓在一定程度上变得模糊。
因此,为满足流媒体技术发展的需求,如何降低CPU占用率,降低功耗,提高视频播放流畅度,实现流媒体硬解码迫在眉睫。
发明内容
本发明的主要目的在于提供一种云端流媒体硬解码方法及装置,旨在解决现有技术中终端接入风险高的技术问题。
为实现上述目的,本发明实施例提供了一种云端流媒体硬解码方法,应用于云端服步骤1、采用流媒体客户端捕获流媒体,实时采集流媒体数据,将流媒体数据分段发送到云端服务器;
步骤2、云端服务器启用硬件解码器对流媒体进行解码,具体步骤如下:
步骤2-0、确定调用的接口函数查询设备是否支持硬件解码或流媒体后处理操作;创建一个用于流媒体解码或后处理的设备上下文,用来存储设备的状态等信息;创建并分配缓存,用来存放待解码及解码后的数据,同时设定存放解码或后处理完的数据的渲染目标存储区;在云端服务器上分别获得多段流媒体数据,并将多段流媒体数据存放到缓存中,收齐多段流媒体数据,获得的流媒体数据总和为
Figure 244656DEST_PATH_IMAGE001
,其中H(t,n)表示t时刻第n段拥有的数据数量,L表示丢包率,Q(r,n)表示r时刻第n段所请求的数据数量;
步骤2-1、设置设备参数;
步骤2-2、获取云端服务器的解码器服务;
步骤2-3、开始解码;
步骤2-4、获取缓存指针;
步骤2-5、解码当前帧,当当前帧的灰度矩阵方差大于设定阈值
Figure 630638DEST_PATH_IMAGE002
时,解码公式如下:X=
Figure 613637DEST_PATH_IMAGE002
A-1Z,其中X表示解码后的数据,Z表示获得的流媒体数据矩阵,A表示系数矩阵;当当前帧的灰度矩阵方差小于设定阈值
Figure 477688DEST_PATH_IMAGE002
时,解码公式如下:
Figure 557640DEST_PATH_IMAGE003
Figure 848944DEST_PATH_IMAGE004
Figure 319239DEST_PATH_IMAGE005
Figure 986981DEST_PATH_IMAGE006
,其中,
Figure 921439DEST_PATH_IMAGE007
为[0,1)区间的浮点数,
Figure 383644DEST_PATH_IMAGE008
为在视频帧浮点坐标
Figure 341236DEST_PATH_IMAGE009
处的像素值,
Figure 547089DEST_PATH_IMAGE010
Figure 336054DEST_PATH_IMAGE011
Figure 234740DEST_PATH_IMAGE012
Figure 679627DEST_PATH_IMAGE013
分别为原图像中的坐标
Figure 423593DEST_PATH_IMAGE014
Figure 332643DEST_PATH_IMAGE015
Figure 136651DEST_PATH_IMAGE016
Figure 68835DEST_PATH_IMAGE017
处的像素值;
步骤2-6、释放缓存;
步骤2-7、解码结束;
步骤3、通过执行与所解码流媒体的捕获、编码和发送对应的流式传输过程来向用户终端提供云端流媒体服务,将解码后的结果输出到用户终端。
在本发明所述的云端流媒体硬解码方法中,步骤1具体包括:
实例化流媒体客户端的句柄;
初始化一个或多个流媒体客户端;
打开每个所述流媒体客户端的流;
用流媒体客户端中的数据回调函数获取流媒体数据;
删除每个所述流媒体客户端。
在本发明所述的云端流媒体硬解码方法中,步骤2具体包括:
通过调用设计的公共API 模拟解码显示功能。
在本发明所述的云端流媒体硬解码方法中,步骤2具体还包括:
当当前帧的灰度矩阵方差大于设定阈值
Figure 616491DEST_PATH_IMAGE002
时,对流媒体进行解码采用CPU中的系数矩阵硬件解码模块进行处理,当当前帧的灰度矩阵方差小于设定阈值
Figure 380047DEST_PATH_IMAGE002
时,CPU和GPU协同对流媒体进行解码处理。
步骤2具体还包括:
当当前帧的灰度矩阵方差小于设定阈值
Figure 641044DEST_PATH_IMAGE002
时,CPU获得流媒体的码流信息,解析码流头部的控制信息,并将数据传给GPU,然后为GPU配置解码参数并启动解码器服务。
在本发明所述的云端流媒体硬解码方法中,步骤2具体还包括:
将解码的次码流与主码流进行混合处理,进行视频的缩放处理,将主、次码流进行滤波反隔行和CSC 操作后获得混合视频。
在本发明所述的云端流媒体硬解码方法中,步骤2具体还包括:
CPU获得流媒体的码流信息,解析码流头部的控制信息,并将数据传给GPU,然后为GPU配置解码参数并启动解码器服务。
本发明实施例还提供一种云端流媒体硬解码装置,应用于云端服务器,其包括:
获取模块,用于采用流媒体客户端捕获流媒体,实时采集流媒体数据,将流媒体数据分段发送到云端服务器;
解码模块,用于在云端服务器启用硬件解码器对流媒体进行解码,确定调用的接口函数查询设备是否支持硬件解码或流媒体后处理操作;创建一个用于流媒体解码或后处理的设备上下文,用来存储设备的状态等信息;创建并分配缓存,用来存放待解码及解码后的数据,同时设定存放解码或后处理完的数据的渲染目标存储区;在云端服务器上分别获得多段流媒体数据,并将多段流媒体数据存放到缓存中,收齐多段流媒体数据,获得的流媒体数据总和为
Figure 794944DEST_PATH_IMAGE018
,其中H(t,n)表示t时刻第n段拥有的数据数量,L表示丢包率,Q(r,n)表示r时刻第n段所请求的数据数量;
设置设备参数;获取云端服务器的解码器服务;开始解码;获取缓存指针;解码当前帧,当当前帧的灰度矩阵方差大于设定阈值
Figure 146291DEST_PATH_IMAGE002
时,解码公式如下:X=
Figure 764354DEST_PATH_IMAGE002
A-1Z,其中X表示解码后的数据,Z表示获得的流媒体数据矩阵,A表示系数矩阵;当当前帧的灰度矩阵方差小于设定阈值
Figure 175744DEST_PATH_IMAGE002
时,解码公式如下:
Figure 816941DEST_PATH_IMAGE003
Figure 706400DEST_PATH_IMAGE004
Figure 647811DEST_PATH_IMAGE005
Figure 230102DEST_PATH_IMAGE006
,其中,
Figure 624174DEST_PATH_IMAGE007
为[0,1)区间的浮点数,
Figure 114061DEST_PATH_IMAGE008
为在视频帧浮点坐标
Figure 644400DEST_PATH_IMAGE009
处的像素值,
Figure 132013DEST_PATH_IMAGE010
Figure 13381DEST_PATH_IMAGE011
Figure 306959DEST_PATH_IMAGE012
Figure 957384DEST_PATH_IMAGE013
分别为原图像中的坐标
Figure 350319DEST_PATH_IMAGE014
Figure 515721DEST_PATH_IMAGE015
Figure 550673DEST_PATH_IMAGE016
Figure 55604DEST_PATH_IMAGE017
处的像素值;
释放缓存;解码结束;
输出模块,用于通过执行与所解码流媒体的捕获、编码和发送对应的流式传输过程来向用户终端提供云端流媒体服务,将解码后的结果输出到用户终端。
本发明实施例还提供一种电子终端,其包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如上述云端流媒体硬解码方法的步骤。
本发明实施例还提供一种存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行如上述云端流媒体硬解码方法。
本发明的云端流媒体硬解码方法,通过采用流媒体客户端实时捕获流媒体,在云端服务器采用硬件解码器分段获取流媒体数据并对流媒体进行解码,并且联合使用CPU和GPU,利用API接口函数实现解码,有效解决了现有技术中CPU占用率高,视频播放不流畅,功耗高的问题,获得了降低CPU占用率,降低功耗,提高视频播放流畅度的技术效果。且现有的解码方法具有低滤波器特性,使得高频分量容易受损,使得图像轮廓在一定程度上变得模糊,为了解决这一问题,本发明解码当前帧时通过对方差大于设定阈值的进行系数矩阵的解码,小于或等于设定阈值时采用浮点数坐标方式进行解码,大大增强了清晰度,且将阈值
Figure 882090DEST_PATH_IMAGE002
加入到恢复图像的过程中,根据用户需求进行恢复,大大增大了区分度,显著提升了图像清晰度。当当前帧的灰度矩阵方差大于设定阈值
Figure 534788DEST_PATH_IMAGE002
时,解码公式如下:X=
Figure 373431DEST_PATH_IMAGE002
A-1Z,其中X表示解码后的数据,Z表示获得的流媒体数据矩阵,A表示系数矩阵;当当前帧的灰度矩阵方差小于设定阈值
Figure 467289DEST_PATH_IMAGE002
时,解码公式如下:
Figure 529923DEST_PATH_IMAGE003
Figure 607600DEST_PATH_IMAGE004
Figure 984355DEST_PATH_IMAGE005
Figure 463878DEST_PATH_IMAGE006
,其中,
Figure 697413DEST_PATH_IMAGE007
为[0,1)区间的浮点数,
Figure 262387DEST_PATH_IMAGE008
为在视频帧浮点坐标
Figure 442832DEST_PATH_IMAGE009
处的像素值,
Figure 511282DEST_PATH_IMAGE010
Figure 915719DEST_PATH_IMAGE011
Figure 967989DEST_PATH_IMAGE012
Figure 420967DEST_PATH_IMAGE013
分别为原图像中的坐标
Figure 875082DEST_PATH_IMAGE014
Figure 450420DEST_PATH_IMAGE015
Figure 989985DEST_PATH_IMAGE016
Figure 246654DEST_PATH_IMAGE017
处的像素值。该方式显著增强了解码清晰度和速度。
附图说明
图1是本发明实施例方案实施流程。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,图1为本发明一实施例流程示意图。本发明的云端流媒体硬解码方法可以包括:
步骤1、采用流媒体客户端捕获流媒体,实时采集流媒体数据,将流媒体数据分段发送到云端服务器。具体包括如下步骤:
实例化流媒体客户端的句柄;
初始化一个或多个流媒体客户端;
打开每个所述流媒体客户端的流;
用流媒体客户端中的数据回调函数获取流媒体数据;
删除每个所述流媒体客户端。
步骤2、启用云端服务器的硬件解码器对流媒体进行解码,具体步骤如下:
步骤2-0、确定调用的接口函数查询设备是否支持硬件解码或流媒体后处理操作;创建一个用于流媒体解码或后处理的设备上下文,用来存储设备的状态等信息;创建并分配缓存,用来存放待解码及解码后的数据,同时设定存放解码或后处理完的数据的渲染目标存储区;在云端服务器上分别获得多段流媒体数据,并将多段流媒体数据存放到缓存中,收齐多段流媒体数据,获得的流媒体数据总和为
Figure 555276DEST_PATH_IMAGE019
,其中H(t,n)表示t时刻第n段拥有的数据数量,L表示丢包率,Q(r,n)表示r时刻第n段所请求的数据数量;
步骤2-1、设置设备参数;
步骤2-2、获取云端服务器的解码器服务;
步骤2-3、开始解码;
步骤2-4、获取缓存指针;
步骤2-5、解码当前帧,当当前帧的灰度矩阵方差大于设定阈值
Figure 301515DEST_PATH_IMAGE002
时,解码公式如下:X=
Figure 62798DEST_PATH_IMAGE002
A-1Z,其中X表示解码后的数据,Z表示获得的流媒体数据矩阵,A表示系数矩阵;当当前帧的灰度矩阵方差小于设定阈值
Figure 120228DEST_PATH_IMAGE002
时,解码公式如下:
Figure 283356DEST_PATH_IMAGE003
Figure 200496DEST_PATH_IMAGE004
Figure 714654DEST_PATH_IMAGE005
Figure 313126DEST_PATH_IMAGE006
,其中,
Figure 330760DEST_PATH_IMAGE007
为[0,1)区间的浮点数,
Figure 684381DEST_PATH_IMAGE008
为在视频帧浮点坐标
Figure 420256DEST_PATH_IMAGE009
处的像素值,
Figure 822419DEST_PATH_IMAGE010
Figure 694560DEST_PATH_IMAGE011
Figure 219082DEST_PATH_IMAGE012
Figure 442253DEST_PATH_IMAGE013
分别为原图像中的坐标
Figure 382527DEST_PATH_IMAGE014
Figure 171492DEST_PATH_IMAGE015
Figure 70177DEST_PATH_IMAGE016
Figure 515065DEST_PATH_IMAGE017
处的像素值;
步骤2-6、释放缓存;
步骤2-7、解码结束。
通过调用设计的公共API 模拟解码显示功能。
根据终端设备支持的解码能力,设置服务器的编码信息,并进行解码前的准备工作:根据流媒体的设备属性创建编码会话,用来控制整个解码过程,接下来调用其他API进行相关工作。
创建解码会话;
创建视频解码器;
初始化视频解码器线程和解码器属性;
针对不同渲染目标,为解码器注册目标纹理图像,以待解码输出;
开启视频解码器,启用解码线程读取视频帧进行解码;
删除会话释放资源。
创建解码会话;
创建音频解码器;
初始化音频解码器属性;
开启音频解码器,启用音频解码线程读取音频帧进行解码;
删除会话释放资源。
在一些实施例中,在本发明所述的云端流媒体硬解码方法中,步骤2具体还包括:
当当前帧的灰度矩阵方差大于设定阈值
Figure 259030DEST_PATH_IMAGE002
时,对流媒体进行解码采用CPU中的系数矩阵硬件解码模块进行处理,当当前帧的灰度矩阵方差小于设定阈值
Figure 371343DEST_PATH_IMAGE002
时,CPU和GPU协同对流媒体进行解码处理。
步骤2具体还包括:
当当前帧的灰度矩阵方差小于设定阈值
Figure 972088DEST_PATH_IMAGE002
时,CPU获得流媒体的码流信息,解析码流头部的控制信息,并将数据传给GPU,然后为GPU配置解码参数并启动解码器服务。
将解码的次码流与主码流进行混合处理,进行视频的缩放处理,将主、次码流进行滤波反隔行和CSC 操作后获得混合视频。
对流媒体进行解码时采用CPU和GPU协同工作,CPU获得流媒体的码流信息,解析码流头部的控制信息,并将数据传给GPU,然后为GPU配置解码参数并启动解码器服务。
步骤3、通过执行与所解码流媒体的捕获、编码和发送对应的流式传输过程来向用户终端提供云端流媒体服务,将解码后的结果进输出到用户终端。
此外,本发明还提供一种云端流媒体硬解码装置。
其中,本发明的一种云端流媒体硬解码装置,应用于云端服务器,其包括:
获取模块,用于采用流媒体客户端捕获流媒体,实时采集流媒体数据,将流媒体数据分段发送到云端服务器;
解码模块,用于在云端服务器启用硬件解码器对流媒体进行解码,确定调用的接口函数查询设备是否支持硬件解码或流媒体后处理操作;创建一个用于流媒体解码或后处理的设备上下文,用来存储设备的状态等信息;创建并分配缓存,用来存放待解码及解码后的数据,同时设定存放解码或后处理完的数据的渲染目标存储区;在云端服务器上分别获得多段流媒体数据,并将多段流媒体数据存放到缓存中,收齐多段流媒体数据,获得的流媒体数据总和为
Figure 169852DEST_PATH_IMAGE020
,其中H(t,n)表示t时刻第n段拥有的数据数量,L表示丢包率,Q(r,n)表示r时刻第n段所请求的数据数量;
设置设备参数;获取云端服务器的解码器服务;开始解码;获取缓存指针;解码当前帧,当当前帧的灰度矩阵方差大于设定阈值
Figure 451928DEST_PATH_IMAGE002
时,解码公式如下:X=
Figure 415818DEST_PATH_IMAGE002
A-1Z,其中X表示解码后的数据,Z表示获得的流媒体数据矩阵,A表示系数矩阵;当当前帧的灰度矩阵方差小于设定阈值
Figure 187465DEST_PATH_IMAGE002
时,解码公式如下:
Figure 872524DEST_PATH_IMAGE003
Figure 958292DEST_PATH_IMAGE004
Figure 779617DEST_PATH_IMAGE005
Figure 987744DEST_PATH_IMAGE006
,其中,
Figure 894521DEST_PATH_IMAGE007
为[0,1)区间的浮点数,
Figure 518400DEST_PATH_IMAGE008
为在视频帧浮点坐标
Figure 459811DEST_PATH_IMAGE009
处的像素值,
Figure 573261DEST_PATH_IMAGE010
Figure 967333DEST_PATH_IMAGE011
Figure 394903DEST_PATH_IMAGE012
Figure 190821DEST_PATH_IMAGE013
分别为原图像中的坐标
Figure 740751DEST_PATH_IMAGE014
Figure 622119DEST_PATH_IMAGE015
Figure 587801DEST_PATH_IMAGE016
Figure 238225DEST_PATH_IMAGE017
处的像素值;释放缓存;解码结束;
输出模块,用于通过执行与所解码流媒体的捕获、编码和发送对应的流式传输过程来向用户终端提供云端流媒体服务,将解码后的结果输出到用户终端。
本发明的云端流媒体硬解码装置的具体工作原理与上述的云端流媒体硬解码方法的具体实施例中的描述相同或相似,具体请参见上述云端流媒体硬解码方法的具体实施例的相关描述。
本发明的云端流媒体硬解码方法,通过采用流媒体客户端实时捕获流媒体,在云端服务器采用硬件解码器分段获取流媒体数据并对流媒体进行解码,并且联合使用CPU和GPU,利用API接口函数实现解码,有效解决了现有技术中CPU占用率高,视频播放不流畅,功耗高的问题,获得了降低CPU占用率,降低功耗,提高视频播放流畅度的技术效果。且现有的解码方法具有低滤波器特性,使得高频分量容易受损,使得图像轮廓在一定程度上变得模糊,为了解决这一问题,本发明解码当前帧时通过对方差大于设定阈值的进行系数矩阵的解码,小于或等于设定阈值时采用浮点数坐标方式进行解码,大大增强了清晰度,且将阈值
Figure 959057DEST_PATH_IMAGE002
加入到恢复图像的过程中,根据用户需求进行恢复,大大增大了区分度,显著提升了图像直流。当当前帧的灰度矩阵方差大于设定阈值
Figure 327721DEST_PATH_IMAGE002
时,解码公式如下:X=
Figure 97094DEST_PATH_IMAGE002
A-1Z,其中X表示解码后的数据,Z表示获得的流媒体数据矩阵,A表示系数矩阵;当当前帧的灰度矩阵方差小于设定阈值
Figure 602025DEST_PATH_IMAGE002
时,解码公式如下:
Figure 493757DEST_PATH_IMAGE003
Figure 346788DEST_PATH_IMAGE004
Figure 654273DEST_PATH_IMAGE005
Figure 279289DEST_PATH_IMAGE006
,其中,
Figure 341923DEST_PATH_IMAGE007
为[0,1)区间的浮点数,
Figure 419601DEST_PATH_IMAGE008
为在视频帧浮点坐标
Figure 796355DEST_PATH_IMAGE009
处的像素值,
Figure 72616DEST_PATH_IMAGE010
Figure 509413DEST_PATH_IMAGE011
Figure 74387DEST_PATH_IMAGE012
Figure 723674DEST_PATH_IMAGE013
分别为原图像中的坐标
Figure 323283DEST_PATH_IMAGE014
Figure 727719DEST_PATH_IMAGE015
Figure 514410DEST_PATH_IMAGE016
Figure 232967DEST_PATH_IMAGE017
处的像素值。该方式显著增强了解码清晰度和速度。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (11)

1.一种云端流媒体硬解码方法,其特征在于,应用于云端服务器,包括:
步骤1、采用流媒体客户端捕获流媒体,实时采集流媒体数据,将流媒体数据分段发送到云端服务器;
步骤2、云端服务器启用硬件解码器对流媒体进行解码,具体步骤如下:
步骤2-0、确定调用的接口函数查询设备是否支持硬件解码或流媒体后处理操作;创建一个用于流媒体解码或后处理的设备上下文,用来存储设备的状态信息;创建并分配缓存,用来存放待解码及解码后的数据,同时设定存放解码或后处理完的数据的渲染目标存储区;在云端服务器上分别获得多段流媒体数据,并将多段流媒体数据存放到缓存中,收齐多段流媒体数据,获得的流媒体数据总和为
Figure 410461DEST_PATH_IMAGE001
,其中H(t,n)表示t时刻第n段拥有的数据数量,L表示丢包率,Q(r,n)表示r时刻第n段所请求的数据数量;
步骤2-1、设置设备参数;
步骤2-2、获取云端服务器的解码器服务;
步骤2-3、开始解码;
步骤2-4、获取缓存指针;
步骤2-5、解码当前帧,当当前帧的灰度矩阵方差大于设定阈值
Figure 950026DEST_PATH_IMAGE002
时,解码公式如下:X=
Figure 206695DEST_PATH_IMAGE002
A-1Z,其中X表示解码后的数据,Z表示获得的流媒体数据矩阵,A表示系数矩阵;当当前帧的灰度矩阵方差小于设定阈值
Figure 515317DEST_PATH_IMAGE002
时,解码公式如下:
Figure 261556DEST_PATH_IMAGE003
Figure 43346DEST_PATH_IMAGE004
Figure 103706DEST_PATH_IMAGE005
Figure 266834DEST_PATH_IMAGE006
,其中,
Figure 183975DEST_PATH_IMAGE007
为[0,1)区间的浮点数,
Figure 698133DEST_PATH_IMAGE008
为在视频帧浮点坐标
Figure 296604DEST_PATH_IMAGE009
处的像素值,
Figure 314239DEST_PATH_IMAGE010
Figure 667860DEST_PATH_IMAGE011
Figure 403735DEST_PATH_IMAGE012
Figure 540318DEST_PATH_IMAGE013
分别为原图像中的坐标
Figure 678038DEST_PATH_IMAGE014
Figure 202561DEST_PATH_IMAGE015
Figure 160152DEST_PATH_IMAGE016
Figure 366006DEST_PATH_IMAGE017
处的像素值;
步骤2-6、释放缓存;
步骤2-7、解码结束;
步骤3、通过执行与所解码流媒体的捕获、编码和发送对应的流式传输过程来向用户终端提供云端流媒体服务,将解码后的结果输出到用户终端。
2.如权利要求1所述的云端流媒体硬解码方法,其特征在于,步骤1具体包括:
实例化流媒体客户端的句柄;
初始化一个或多个流媒体客户端;
打开每个所述流媒体客户端的流;
用流媒体客户端中的数据回调函数获取流媒体数据;
删除每个所述流媒体客户端。
3.如权利要求2所述的云端流媒体硬解码方法,其特征在于,步骤2具体包括:
通过调用设计的公共API 模拟解码显示功能。
4.如权利要求3所述的云端流媒体硬解码方法,其特征在于,步骤2具体还包括:
根据终端设备支持的解码能力,设置服务器的编码信息,并进行解码前的准备工作:根据流媒体的设备属性创建编码会话,用来控制整个解码过程,接下来调用其他API进行相关工作。
5.如权利要求4所述的云端流媒体硬解码方法,其特征在于,步骤2具体还包括:
当当前帧的灰度矩阵方差大于设定阈值
Figure 358232DEST_PATH_IMAGE002
时,对流媒体进行解码采用CPU中的系数矩阵硬件解码模块进行处理,当当前帧的灰度矩阵方差小于设定阈值
Figure 788077DEST_PATH_IMAGE002
时,CPU和GPU协同对流媒体进行解码处理。
6.如权利要求5所述的云端流媒体硬解码方法,其特征在于,步骤2具体还包括:
当当前帧的灰度矩阵方差小于设定阈值
Figure 498544DEST_PATH_IMAGE002
时,CPU获得流媒体的码流信息,解析码流头部的控制信息,并将数据传给GPU,然后为GPU配置解码参数并启动解码器服务。
7.如权利要求6所述的云端流媒体硬解码方法,其特征在于,步骤2具体还包括:
将解码的次码流与主码流进行混合处理,进行视频的缩放处理,将主、次码流进行滤波反隔行和CSC操作后获得混合视频。
8.一种云端流媒体硬解码装置,其特征在于,应用于云端服务器,包括:
获取模块,用于采用流媒体客户端捕获流媒体,实时采集流媒体数据,将流媒体数据分段发送到云端服务器;
解码模块,用于在云端服务器启用硬件解码器对流媒体进行解码,确定调用的接口函数查询设备是否支持硬件解码或流媒体后处理操作;创建一个用于流媒体解码或后处理的设备上下文,用来存储设备的状态信息;创建并分配缓存,用来存放待解码及解码后的数据,同时设定存放解码或后处理完的数据的渲染目标存储区;在云端服务器上分别获得多段流媒体数据,并将多段流媒体数据存放到缓存中,收齐多段流媒体数据,获得的流媒体数据总和为
Figure 242509DEST_PATH_IMAGE018
,其中H(t,n)表示t时刻第n段拥有的数据数量,L表示丢包率,Q(r,n)表示r时刻第n段所请求的数据数量;
设置设备参数;获取云端服务器的解码器服务;开始解码;获取缓存指针;解码当前帧,当当前帧的灰度矩阵方差大于设定阈值
Figure 89242DEST_PATH_IMAGE002
时,解码公式如下:X=
Figure 955567DEST_PATH_IMAGE002
A-1Z,其中X表示解码后的数据,Z表示获得的流媒体数据矩阵,A表示系数矩阵;当当前帧的灰度矩阵方差小于设定阈值
Figure 622172DEST_PATH_IMAGE002
时,解码公式如下:
Figure 432477DEST_PATH_IMAGE003
Figure 399296DEST_PATH_IMAGE004
Figure 170943DEST_PATH_IMAGE005
Figure 856002DEST_PATH_IMAGE006
,其中,
Figure 941770DEST_PATH_IMAGE007
为[0,1)区间的浮点数,
Figure 763096DEST_PATH_IMAGE008
为在视频帧浮点坐标
Figure 705644DEST_PATH_IMAGE009
处的像素值,
Figure 612420DEST_PATH_IMAGE010
Figure 501878DEST_PATH_IMAGE011
Figure 177710DEST_PATH_IMAGE012
Figure 556739DEST_PATH_IMAGE013
分别为原图像中的坐标
Figure 950811DEST_PATH_IMAGE014
Figure 378382DEST_PATH_IMAGE015
Figure 174299DEST_PATH_IMAGE016
Figure 724229DEST_PATH_IMAGE017
处的像素值;
释放缓存;解码结束;
输出模块,用于通过执行与所解码流媒体的捕获、编码和发送对应的流式传输过程来向用户终端提供云端流媒体服务,将解码后的结果输出到用户终端。
9.如权利要求8所述的一种云端流媒体硬解码装置,其特征在于,解码模块具体还包括:
当当前帧的灰度矩阵方差大于设定阈值
Figure 340019DEST_PATH_IMAGE002
时,对流媒体进行解码采用CPU中的系数矩阵硬件解码模块进行处理,当当前帧的灰度矩阵方差小于设定阈值
Figure 571280DEST_PATH_IMAGE002
时,CPU和GPU协同对流媒体进行解码处理。
10.如权利要求9所述的一种云端流媒体硬解码装置,其特征在于,解码模块具体还包括:
当当前帧的灰度矩阵方差小于设定阈值
Figure 221704DEST_PATH_IMAGE002
时,CPU获得流媒体的码流信息,解析码流头部的控制信息,并将数据传给GPU,然后为GPU配置解码参数并启动解码器服务。
11.一种存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行如权利要求1至7中任一项所述云端流媒体硬解码方法。
CN202210953704.5A 2022-08-10 2022-08-10 一种云端流媒体硬解码方法、装置及存储介质 Active CN115037944B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210953704.5A CN115037944B (zh) 2022-08-10 2022-08-10 一种云端流媒体硬解码方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210953704.5A CN115037944B (zh) 2022-08-10 2022-08-10 一种云端流媒体硬解码方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN115037944A CN115037944A (zh) 2022-09-09
CN115037944B true CN115037944B (zh) 2022-10-21

Family

ID=83131126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210953704.5A Active CN115037944B (zh) 2022-08-10 2022-08-10 一种云端流媒体硬解码方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN115037944B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115695845A (zh) * 2022-09-26 2023-02-03 太保科技有限公司 一种网络离线视频文件字节流的解码方法及装置
CN115801747B (zh) * 2023-01-11 2023-06-02 厦门简算科技有限公司 一种基于arm架构的云服务器及音视频数据传输方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1767662A (zh) * 2005-11-21 2006-05-03 上海八六三信息安全产业基地有限公司 基于宽带网络的流媒体信息检测与内容监控系统
CN106717007A (zh) * 2014-07-30 2017-05-24 恩特里克丝有限公司 云端流媒体服务的系统、使用静止图像压缩技术进行云端流媒体服务的方法及其设备
CN107347053A (zh) * 2016-05-06 2017-11-14 苏州清云网络科技有限公司 基于网络视频流式计算方法构建的管理执行平台
CN109218814A (zh) * 2018-09-28 2019-01-15 西安交通大学 一种云计算环境下QoE驱动的HAS直播频道调度方法
CN113992948A (zh) * 2021-11-13 2022-01-28 杭州瑞网广通信息技术有限公司 一种基于云平台的视频管理系统、方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016150350A1 (zh) * 2015-03-20 2016-09-29 柳州桂通科技股份有限公司 一种多媒体多信息同步重现的方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1767662A (zh) * 2005-11-21 2006-05-03 上海八六三信息安全产业基地有限公司 基于宽带网络的流媒体信息检测与内容监控系统
CN106717007A (zh) * 2014-07-30 2017-05-24 恩特里克丝有限公司 云端流媒体服务的系统、使用静止图像压缩技术进行云端流媒体服务的方法及其设备
CN107347053A (zh) * 2016-05-06 2017-11-14 苏州清云网络科技有限公司 基于网络视频流式计算方法构建的管理执行平台
CN109218814A (zh) * 2018-09-28 2019-01-15 西安交通大学 一种云计算环境下QoE驱动的HAS直播频道调度方法
CN113992948A (zh) * 2021-11-13 2022-01-28 杭州瑞网广通信息技术有限公司 一种基于云平台的视频管理系统、方法和装置

Also Published As

Publication number Publication date
CN115037944A (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
CN115037944B (zh) 一种云端流媒体硬解码方法、装置及存储介质
WO2020038128A1 (zh) 视频处理方法、装置、电子设备及计算机可读介质
WO2020038130A1 (zh) 视频处理方法、装置、电子设备及计算机可读介质
CN110072119B (zh) 一种基于深度学习网络的内容感知视频自适应传输方法
CN111327921A (zh) 视频数据处理方法及设备
CN113473148B (zh) 一种用于视频编码的计算系统及视频编码方法
CN114679607B (zh) 一种视频帧率控制方法、装置、电子设备及存储介质
CN112492347A (zh) 处理信息流、显示弹幕信息的方法及信息流处理系统
CN111294600A (zh) 一种视频序列帧的压缩方法、解压方法及装置
CN113068034A (zh) 视频编码方法及装置、编码器、设备、存储介质
CN111970565A (zh) 视频数据处理方法、装置、电子设备及存储介质
WO2022095871A1 (zh) 一种视频处理方法、视频处理装置、智能设备及存储介质
US20170221174A1 (en) Gpu data sniffing and 3d streaming system and method
WO2021136144A1 (zh) 一种字符的还原方法及装置、存储介质、电子装置
CN113849073A (zh) 一种面向远程操控的鼠标与回传画面的同步方法及系统
WO2021128835A1 (zh) 图像处理方法及装置、视频处理方法及装置、电子设备和存储介质
CN117130749A (zh) 一种基于WebGPU提升Web播放器硬件解码能力的方法
WO2023226504A1 (zh) 一种媒体数据处理方法、装置、设备以及可读存储介质
WO2023142715A1 (zh) 视频编码方法、实时通信方法、装置、设备及存储介质
CN111643901A (zh) 用于云游戏界面智能渲染的方法和装置
CN114419473B (zh) 一种基于嵌入式设备的深度学习实时目标检测方法
CN115174917A (zh) 一种基于h264的视频显示方法及装置
TWI669947B (zh) 圖片轉碼方法、計算設備及儲存介質
CN112188235B (zh) 媒体处理方式的选择方法及媒体处理方法
US20230421779A1 (en) Decoding processing method and apparatus, computer device, and storage medium

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