编码算力共享方法、装置及设备
未命名
10-28
阅读:143
评论:0
1.本技术涉及视频处理领域,具体涉及一种编码算力共享方法、装置及设备。
背景技术:
2.在家庭通信业务场景中,用户的音视频通信形态已经从一对一通话,演化成多方的家庭群聊,同时随着家庭看护等长时间音视频业务的开展,还出现多个音视频业务并发存在的场景,这对家庭中的设备如音箱、一体机、机顶盒的性能和算力都提出了新的要求和挑战。
3.目前解决此类新增业务场景的编码要求,主要还是依赖与设备自有的硬件编码能力。以机顶盒为例,此类设备硬件特点是,编码能力弱,解码能力强,故当出现多个编码视频流需求的时候,则需要通过业务隔离来进行问题规避,即根据业务优先级,在不同业务之间进行选择,只能保证一个业务的运行。
技术实现要素:
4.本技术实施例提供一种编码算力共享方法、装置及设备,用以解决目前当出现多个编码视频流需求的时候需要通过业务隔离来进行问题规避,且只能保证一个业务的运行的技术问题。
5.第一方面,本技术实施例提供一种编码算力共享方法,包括:在第一业务运行的情况下,确定剩余硬编算力;在所述目标设备接收到第二业务的运行请求,且所述剩余硬编算力不满足所述第二业务的情况下,接收算力共享设备发送的编码算力;基于所述编码算力进行编码能力重塑;基于所述编码能力重塑在所述目标设备上同时运行所述第一业务和所述第二业务。
6.在一个实施例中,所述在第一业务运行的情况下,确定剩余硬编算力之前包括:采集第一业务对应的视频裸数据,将所述第一业务对应的视频裸数据送入所述第一业务使用的硬编码器;将通过所述硬编码器编码后的视频裸数据发送至所述第一业务的服务器,在所述目标设备上运行所述第一业务。
7.在一个实施例中,所述将通过所述硬编码器编码后的视频裸数据发送至所述第一业务的服务器,在所述目标设备上运行所述第一业务之后包括:对降采样后的第二业务对应的视频裸数据进行编码操作;将所述编码操作得到的基础编码流送回所述目标设备,所述编码操作对应的编码信息是基于所述目标设备所处的网络环境以及所述算力共享设备的性能进行调整的,所述编码信息包括编码分辨率、帧率和码率。
8.在一个实施例中,所述将所述编码操作得到的基础编码流送回所述目标设备之后
包括:对所述第二业务对应的视频裸数据的增强层和时域层进行编码;将所述增强层和所述时域层的编码结果以及所述基础编码流打包发送至所述第二业务的服务器,在所述目标设备上运行所述第二业务。
9.在一个实施例中,所述编码算力共享方法还包括:基于设备之间传输的单位时间数据量以及可用网络带宽,确定编码要求算力。
10.在一个实施例中,所述编码算力共享方法还包括:基于所述编码要求算力、预设算力比以及目标设备所处的网络状态,确定视频编码算力。
11.在一个实施例中,所述基于所述编码能力重塑在所述目标设备上同时运行所述第一业务和所述第二业务之后,包括:接收所述算力共享设备停止编码算力共享的指令,基于所述编码算力共享的指令进行编码算力回退;基于所述编码算力回退的结果,确定在所述目标设备上运行所述第一业务和/或所述第二业务。
12.第二方面,本技术实施例提供一种编码算力共享装置,包括:剩余硬编算力确定模块,用于在第一业务运行的情况下,确定剩余硬编算力;编码算力接收模块,用于在目标设备接收到第二业务的运行请求,且所述剩余硬编算力不满足所述第二业务的情况下,接收算力共享设备发送的编码算力;编码能力重塑模块,用于基于所述编码算力进行编码能力重塑;编码算力共享模块,用于基于所述编码能力重塑在所述目标设备上同时运行所述第一业务和所述第二业务。
13.第三方面,本技术实施例提供一种设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述计算机程序时实现第一方面所述的编码算力共享方法的步骤。
14.本技术实施例提供的编码算力共享方法、装置及设备,在目标设备上运行第一业务的情况下,确定目标设备的剩余硬编算力,在目标设备接收到第二业务的运行请求,且目标设备的剩余硬编算力不满足第二业务的情况下,开启目标设备的算力共享搜索,然后接收算力共享设备基于算力共享搜索反馈给目标设备的编码算力,基于编码算力进行编码能力重塑,最终在编码能力重塑后在目标设备上同时运行第一业务和第二业务。解决了家庭通信环境下,设备只能出一路硬编码流的情况下,现有方案无法满足视频码流多样性要求的问题。利用家庭环境里空闲的具备硬编能力的设备,实现编码能力共享,可以在很多场景下实现各落地设备的通信需求。同时保证了视频编码质量,对网络的影响也非常小。
附图说明
15.为了更清楚地说明本技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1是本技术实施例提供的编码算力共享方法的流程示意图之一;
图2是本技术实施例提供的编码算力共享方法的整体架构示意图;图3是本技术实施例提供的编码算力共享装置的结构示意图;图4是本技术实施例提供的电子设备的结构示意图。
具体实施方式
17.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
18.lcevc(low complexity enhancement video coding,低复杂度增强视频编码)是一种新的mpeg(moving pictures experts group,动态图像专家组)视频编解码器,目前作为mpeg-5第2部分进行标准化。lcevc并不是独立的视频编码器,而是对任意其他编码器的增强。其核心思想是使用常规视频编解码器作为较低分辨率的基本编码器,并通过将解码后的低分辨率视频与使用专用低复杂度编码工具编码的最多两个残差增强子层进行组合来重建全分辨率视频。
19.若直接将lcevc编码应用于目标设备,仍然会让base码流的编码占用目标设备大量的中央处理器算力。故本技术提供的编码算力共享方法,根据家庭业务的特点以及lcevc的标准分层特点,将base码流的运算置于性能空闲设备(即算力共享设备)中进行,在目标设备中进行增强层的编码。带来的有益效果如下:1、降低了目标设备的中央处理器使用率,后续的增强层编码,占用中央处理器很低;2、base码流分辨率通过二次降采样后变得很小,降低对局域网内其他设备的网络影响;3、同时利用lcevc的特点,保证了编码视频的质量。
20.参照图1,图1是本技术实施例中编码算力共享方法的流程示意图之一。本技术实施例提供的编码算力共享方法,可以包括:步骤100,在第一业务运行的情况下,确定剩余硬编算力;步骤200,在所述目标设备接收到第二业务的运行请求,且所述剩余硬编算力不满足所述第二业务的情况下,接收算力共享设备发送的编码算力;步骤300,基于所述编码算力进行编码能力重塑;步骤400,基于所述编码能力重塑在所述目标设备上同时运行所述第一业务和所述第二业务。
21.具体地,如图2所示,目标设备和算力共享设备处于同一网络环境中,通过本实施例提供的编码算力共享方法,可用实现在目标设备只有单编码流性能的情况下,通过对算力共享设备共享编码能力的使用,同时满足第一业务和第二业务的视频通信多码流需求。具体步骤包括:步骤一、目标设备完成第一业务平台和第二业务平台的注册登记以及对应设备能力的上报;步骤二、以目标设备为例,在目标设备上第一业务开启音视频通信的情况下,减去第一业务消耗的硬编算力值,得到剩余硬编算力;步骤三、后续当目标设备上开启第二业务,若剩余硬编算力不满足第二业务的运行,则目标设备开启算力共享搜索;步骤四、与目标设备同处一个局域网内的算力共享设备(例如手机)接收到共享搜索的信令,向目标设备反馈算力共享设备目前的编码算力,目标设备根据算力共享设备反馈的编码算力进行编码
能力重塑,完成第二业务与业务平台的媒体能力协商,以基于编码能力重塑在目标设备上同时运行第一业务和第二业务。在目标设备硬编算力不足的情况下,实现了第一业务和第二业务同时在目标设备上运行。
22.为了保证同一局域网络内的目标设备和算力共享设备之间的数据安全性,采用webrtc(web real-time communications,网页实时通信)的dc进行传输,保证了各种多样化数据的安全传递。
23.在本实施例中,在目标设备上运行第一业务的情况下,确定目标设备的剩余硬编算力,在目标设备接收到第二业务的运行请求,且目标设备的剩余硬编算力不满足第二业务的情况下,开启目标设备的算力共享搜索,然后接收算力共享设备基于算力共享搜索反馈给目标设备的编码算力,基于编码算力进行编码能力重塑,最终在编码能力重塑后在目标设备上同时运行第一业务和第二业务。目标设备在接收到算力共享设备反馈的编码算力后,基于目标设备剩余的硬编算力以及算力共享设备反馈的编码算力确定目标设备剩余的编码能力以及算力共享设备的编码能力,编码能力重塑即是指上述基于编码算力确定编码能力的过程。解决了家庭通信环境下,设备只能出一路硬编码流的情况下,现有方案无法满足视频码流多样性要求的问题。利用家庭环境里空闲的具备硬编能力的设备,实现编码能力共享,可以在很多场景下实现各落地设备的通信需求。同时保证了视频编码质量,对网络的影响也非常小。
24.在一个实施例中,本技术实施例提供的编码算力共享方法,还可以包括:步骤10,采集第一业务对应的视频裸数据,将所述第一业务对应的视频裸数据送入所述第一业务使用的硬编码器;步骤20,将通过所述硬编码器编码后的视频裸数据发送至所述第一业务的服务器,在所述目标设备上运行所述第一业务。
25.本技术实施例提供的编码算力共享方法,还可以包括:步骤30,对降采样后的第二业务对应的视频裸数据进行编码操作;步骤40,将所述编码操作得到的基础编码流送回所述目标设备,所述编码操作对应的编码信息是基于所述目标设备所处的网络环境以及所述算力共享设备的性能进行调整的,所述编码信息包括编码分辨率、帧率和码率。
26.具体地,编码算力共享的主要流程包括:步骤1、目标设备通过视频采集将视频裸数据,如yuv(一种颜色编码方法,y表示明亮度,也就是灰阶值,u和v表示的是色度)格式,将视频裸数据送入第一业务使用的硬编码器,编码后通过网络层发送给第一业务的服务器,实现第一业务的视频通信,即在目标设备上运行第一业务。
27.步骤2、目标设备对视频裸数据进行降采样,通过局域网将降采样后的视频裸数据发往算力共享设备,算力共享设备利用其硬编或者软编能力,进行对应codec的编码工作;编码完毕后将编码流(即本实施例中的基础编码流)送回目标设备。期间,具体的编码分辨率、帧率以及码率可根据实际网络环境以及算力共享设备的性能,做实时调整。
28.本实施例根据实际网络环境以及算力共享设备的性能,对具体的编码信息进行调整,可以在很多场景下实现各落地设备的通信需求。同时保证了视频编码质量,对网络的影响也非常小。
29.在一个实施例中,本技术实施例提供的编码算力共享方法,还可以包括:步骤50,对所述第二业务对应的视频裸数据的增强层和时域层进行编码;步骤60,将所述增强层和所述时域层的编码结果以及所述基础编码流打包发送至所述第二业务的服务器,在所述目标设备上运行所述第二业务。
30.具体地,上述编码算力共享的主要流程还包括:步骤3、目标设备利用本身的中央处理器算力完成第二业务对应的视频裸数据的增强层l-1层/l-2层和时域层的编码工作,并将编码结果以及上述基础编码流打包发向第二业务的服务器,以实现第二业务的视频通信,即在目标设备上运行第二业务。
31.本实施例通过目标设备对增强层和时域层进行编码,占用中央处理器的算力较低。
32.在一个实施例中,本技术实施例提供的编码算力共享方法,还可以包括:步骤500,基于设备之间传输的单位时间数据量以及可用网络带宽,确定编码要求算力;步骤600,基于所述编码要求算力、预设算力比以及目标设备所处的网络状态,确定视频编码算力。
33.具体地,为了提高共享编码算力分享的合理性,本技术依据编码 codec类型、分辨率、帧率以及局域网的网络情况来进行编码算力的协商策略,并非固定策略。在本技术中,以h264(h264是mpeg-4第十部分,是由itu-t视频编码专家组和iso/iec动态图像专家组联合组成的联合视频组提出的高度压缩数字视频编解码器标准)在480p(一种视频解析度标准)下的算力为基准值设置为1,其余codec的算力要求公式如公式1所示,其中,,代表设备之间每秒传输的数据量大小,w代表图像宽度,h代表高度,fps代表帧率,bandwidth代表实时侦测到的可用网络带宽。
34.公式1公式2考虑到同一网络下的网络状况,则根据网络状态来对base码流的分辨率进行约束。如公式2所示,代表某个codec在不同分辨率以及帧率下的算力,其中,m代表各codec下不同的算力比,这个由服务器动态下发,如h265相对于h264的m值为1.6。
35.本实施例通过目标设备与算力共享设备之间的网络状态,给出了确定编码要求算力以及视频编码算力的方式方法。
36.在一个实施例中,本技术实施例提供的编码算力共享方法,还可以包括:步骤700,接收所述算力共享设备停止编码算力共享的指令,基于所述编码算力共享的指令进行编码算力回退;步骤800,基于所述编码算力回退的结果,确定在所述目标设备上运行所述第一业务和/或所述第二业务。
37.具体地,如图2所示,在目标设备只有单编码流性能的情况下,通过对算力共享设备共享编码能力的使用,同时满足第一业务和第二业务的视频通信多码流需求。具体步骤
还包括:步骤五、若算力共享设备需要停止编码算力分享,则发送能力撤退消息给目标设备,目标设备进行能力回退,根据是否能够继续媒体业务通信选择对应的业务逻辑处理,即基于编码算力回退的结果,确定在目标设备上运行第一业务和/或第二业务。
38.本实施例通过算力共享设备的算力回退操作,灵活地与目标设备进行算力共享的连接与断开。
39.参考图3,图3是本技术实施例中编码算力共享装置的结构示意图,下面对本技术实施例提供的编码算力共享装置进行描述,下文描述的编码算力共享装置与上文描述的编码算力共享方法可相互对应参照。
40.剩余硬编算力确定模块301,用于在第一业务运行的情况下,确定剩余硬编算力;编码算力接收模块302,用于在目标设备接收到第二业务的运行请求,且所述剩余硬编算力不满足所述第二业务的情况下,接收算力共享设备发送的编码算力;编码能力重塑模块303,用于基于所述编码算力进行编码能力重塑;编码算力共享模块304,用于基于所述编码能力重塑在所述目标设备上同时运行所述第一业务和所述第二业务。
41.可选地,所述编码算力共享装置还包括:视频裸数据采集模块,用于采集第一业务对应的视频裸数据,将所述第一业务对应的视频裸数据送入所述第一业务使用的硬编码器;第一业务运行模块,用于将通过所述硬编码器编码后的视频裸数据发送至所述第一业务的服务器,在所述目标设备上运行所述第一业务。
42.可选地,所述编码算力共享装置还包括:编码操作模块,用于对降采样后的第二业务对应的视频裸数据进行编码操作;基础编码流送回模块,用于将所述编码操作得到的基础编码流送回所述目标设备,所述编码操作对应的编码信息是基于所述目标设备所处的网络环境以及所述算力共享设备的性能进行调整的,所述编码信息包括编码分辨率、帧率和码率。
43.可选地,所述编码算力共享装置还包括:增强层编码模块,用于对所述第二业务对应的视频裸数据的增强层和时域层进行编码;第二业务运行模块,用于将所述增强层和所述时域层的编码结果以及所述基础编码流打包发送至所述第二业务的服务器,在所述目标设备上运行所述第二业务。
44.可选地,所述编码算力共享装置还包括:编码要求算力确定模块,用于基于设备之间传输的单位时间数据量以及可用网络带宽,确定编码要求算力。
45.可选地,所述编码算力共享装置还包括:视频编码算力确定模块,用于基于所述编码要求算力、预设算力比以及目标设备所处的网络状态,确定视频编码算力。
46.可选地,所述编码算力共享装置还包括:编码算力回退模块,用于接收所述算力共享设备停止编码算力共享的指令,基于所述编码算力共享的指令进行编码算力回退;业务运行模块,用于基于所述编码算力回退的结果,确定在所述目标设备上运行
所述第一业务和/或所述第二业务。
47.图4示例了一种设备的实体结构示意图,如图4所示,该设备可以包括:处理器(processor)410、通信接口(communication interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的计算机程序,以执行编码算力共享方法的步骤。
48.此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
49.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
50.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的编码算力共享方法。
51.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
技术特征:
1.一种编码算力共享方法,其特征在于,运用于目标设备,包括:采集第一业务对应的视频裸数据,将所述第一业务对应的视频裸数据送入所述第一业务使用的硬编码器;将通过所述硬编码器编码后的视频裸数据发送至所述第一业务的服务器,在所述目标设备上运行所述第一业务;在所述第一业务运行的情况下,确定剩余硬编算力;在所述目标设备接收到第二业务的运行请求,且所述剩余硬编算力不满足所述第二业务的情况下,接收算力共享设备发送的编码算力;基于所述编码算力进行编码能力重塑;基于所述编码能力重塑在所述目标设备上同时运行所述第一业务和所述第二业务。2.根据权利要求1所述的编码算力共享方法,其特征在于,所述将通过所述硬编码器编码后的视频裸数据发送至所述第一业务的服务器,在所述目标设备上运行所述第一业务之后包括:对降采样后的第二业务对应的视频裸数据进行编码操作;将所述编码操作得到的基础编码流送回所述目标设备,所述编码操作对应的编码信息是基于所述目标设备所处的网络环境以及所述算力共享设备的性能进行调整的,所述编码信息包括编码分辨率、帧率和码率。3.根据权利要求2所述的编码算力共享方法,其特征在于,所述将所述编码操作得到的基础编码流送回所述目标设备之后包括:对所述第二业务对应的视频裸数据的增强层和时域层进行编码;将所述增强层和所述时域层的编码结果以及所述基础编码流打包发送至所述第二业务的服务器,在所述目标设备上运行所述第二业务。4.根据权利要求1所述的编码算力共享方法,其特征在于,所述编码算力共享方法还包括:基于设备之间传输的单位时间数据量以及可用网络带宽,确定编码要求算力。5.根据权利要求4所述的编码算力共享方法,其特征在于,所述编码算力共享方法还包括:基于所述编码要求算力、预设算力比以及目标设备所处的网络状态,确定视频编码算力。6.根据权利要求1所述的编码算力共享方法,其特征在于,所述基于所述编码能力重塑在所述目标设备上同时运行所述第一业务和所述第二业务之后,包括:接收所述算力共享设备停止编码算力共享的指令,基于所述编码算力共享的指令进行编码算力回退;基于所述编码算力回退的结果,确定在所述目标设备上运行所述第一业务和/或所述第二业务。7.一种编码算力共享装置,其特征在于,包括:视频裸数据采集模块,用于采集第一业务对应的视频裸数据,将所述第一业务对应的视频裸数据送入所述第一业务使用的硬编码器;第一业务运行模块,用于将通过所述硬编码器编码后的视频裸数据发送至所述第一业
务的服务器,在目标设备上运行所述第一业务;剩余硬编算力确定模块,用于在所述第一业务运行的情况下,确定剩余硬编算力;编码算力接收模块,用于在目标设备接收到第二业务的运行请求,且所述剩余硬编算力不满足所述第二业务的情况下,接收算力共享设备发送的编码算力;编码能力重塑模块,用于基于所述编码算力进行编码能力重塑;编码算力共享模块,用于基于所述编码能力重塑在所述目标设备上同时运行所述第一业务和所述第二业务。8.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述的编码算力共享方法的步骤。
技术总结
本申请涉及视频处理领域,提供一种编码算力共享方法、装置及设备。所述编码算力共享方法运用于目标设备,包括:在第一业务运行的情况下,确定剩余硬编算力;在所述目标设备接收到第二业务的运行请求,且所述剩余硬编算力不满足所述第二业务的情况下,接收算力共享设备发送的编码算力;基于所述编码算力进行编码能力重塑;基于所述编码能力重塑在所述目标设备上同时运行所述第一业务和所述第二业务。本申请解决了目前当出现多个编码视频流需求的时候需要通过业务隔离来进行问题规避,且只能保证一个业务的运行的技术问题。证一个业务的运行的技术问题。证一个业务的运行的技术问题。
技术研发人员:周骏华 程宝平 熊小颖 骆建祥 陶晓明
受保护的技术使用者:清华大学
技术研发日:2023.09.08
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/