一种编码处理的方法、装置、设备及存储介质
文献发布时间:2024-04-18 19:58:21
技术领域
本申请实施例涉及视频编码技术领域,尤其涉及一种编码处理的方法、装置、设备及存储介质。
背景技术
随着视频技术的快速发展,为了确保视频高效编码,通常会由客户端将待编码视频内的每一帧依次传输给服务端,由服务端进行相应编码。
目前,客户端作为待编码的视频源,会产生固定帧率的视频帧数据。然后,通过特定的网络传输协议,例如基于传输控制协议(Transmission Control Protocol,简称为TCP)的远程过程调用协议(Remote Procedure Call Protocol,简称为RPC)等,将固定帧率下的各个视频帧传输给服务端。服务端通过配置的编码器对所接收到的各个视频帧进行相应编码。
但是,由于客户端与服务端之间的网络传输不稳定,导致传输给编码器的各个视频帧间的帧间隔也不稳定。因此,服务端的编码器在短时间内可能会收到过多密集的视频帧,使得编码器内短时间缓存的视频帧数量超出编码缓存上限,造成编码器内历史缓存而未经过编码的视频帧被覆盖,从而出现编码丢帧的问题。
发明内容
本申请实施例提供一种编码处理的方法、装置、设备及存储介质,实现编码帧的均匀编码缓存,降低视频编码压力,避免出现编码丢帧的问题。
第一方面,本申请实施例提供了一种编码处理的方法,该方法包括:
确定预置的编码帧间隔和当前编码帧的上一帧的编码缓存时间点;
基于所述上一帧的编码缓存时间点,经过所述编码帧间隔后对所述当前编码帧进行编码缓存。
第二方面,本申请实施例提供了一种编码处理的装置,该装置包括:
编码信息确定模块,用于确定预置的编码帧间隔和当前编码帧的上一帧的编码缓存时间点;
编码缓存模块,用于基于所述上一帧的编码缓存时间点,经过所述编码帧间隔后对所述当前编码帧进行编码缓存。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行本申请第一方面中提供的编码处理的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行如本申请第一方面中提供的编码处理的方法。
第五方面,本申请实施例提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如本申请第一方面中提供的编码处理的方法。
本申请实施例提供的一种编码处理的方法、装置、设备和存储介质,针对待编码视频内的每一帧,首先确定预置的编码帧间隔和当前编码帧的上一帧的编码缓存时间点,然后基于上一帧的编码缓存时间点,在经过该编码帧间隔后对当前编码帧进行编码缓存,使得编码缓存后的相邻两帧间隔几乎保持相同,从而实现编码帧的均匀编码缓存,确保视频编码的稳定性,降低视频编码压力,避免由于缓存帧数量过多使部分视频帧被覆盖而出现编码丢帧的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例示出的一种编码处理的方法的流程图;
图2为本申请实施例示出的另一种编码处理的方法的流程图;
图3为本申请实施例示出的编码缓存预处理过程的原理示意图;
图4为本申请实施例示出的一种编码处理的装置的原理框图;
图5是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
考虑到网络传输不稳定会使编码器短时间内接收到过多的视频帧,导致部分已缓存而未经过编码的视频帧被新接收的视频帧所覆盖,从而出现编码丢帧的问题。因此,本申请设计一种新的编码缓存预处理的方案,通过控制各个待编码帧输送至编码器内的输入缓冲区的时间,以使编码器内编码缓存后的任意相邻两帧间隔几乎能够保持相同,从而实现编码帧的均匀编码缓存,降低视频编码压力,避免由于编码器内缓存帧数量过多使部分视频帧被覆盖而出现编码丢帧的问题。
图1为本申请实施例示出的一种编码处理的方法的流程图。该方法可以由本公开提供的编码处理的装置来执行,其中,编码处理的装置可以通过任意的软件和/或硬件的方式实现。示例性地,该编码处理的装置可以应用于任一电子设备中,该电子设备包括但不限于为平板电脑、手机(如折叠屏手机、大屏手机等)、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)、智能电视、智慧屏、高清电视、4K电视、智能音箱、智能投影仪等支持物联网(the internet of things,IOT)设备,本申请对电子设备的具体类型不作任何限制。
具体的,如图1所示,该方法可以包括如下步骤:
S110,确定预置的编码帧间隔和当前编码帧的上一帧的编码缓存时间点。
为了确保视频高效编码,对于客户端内的任一待编码视频,通常会采用相应的网络传输协议,将待编码视频内的每一帧传输给服务端内的编码器,进行相应的编码操作。其中,为了确保视频有序编码,编码器内会设置相应的输入缓冲区和输出缓冲区,且输入缓冲区和输出缓冲区允许缓存的视频帧数量相等。而且,编码器内任一缓冲区可以为环形(ringBuffer),以便循环缓存待编码视频内的各个视频帧。在对待编码视频内的各个视频帧进行实际编码前,首先会通过输入缓冲区对网络传输来的各个视频帧进行编码缓存,以确保待编码视频内各个视频帧的有序准确编码。
在本申请中,为了确保视频稳定编码,则要求编码器对网络传输来的各个视频帧进行均匀缓存。因此,本申请会在编码器内预先设置一个编码帧间隔,以使各个视频帧在编码器均能够按照该编码帧间隔进行均匀缓存。
作为本申请中的一种可选实现方案,考虑到编码器对于各个视频帧的稳定编码会受到待编码视频传输时的帧率影响,因此对于编码帧间隔,可以根据待编码视频的源帧率,确定对应的编码帧率,并基于编码帧率设定编码帧间隔。也就是说,本申请可以按照待编码视频在网路传输时固定输出的源帧率,预先为编码器设定一个匹配的编码帧率,该编码帧率用于表示编码器单位时间内能够编码的帧数量。其中,为了确保视频传输时的稳定编码,会设定视频编码和视频帧传输的速率一致,也就是编码帧率与源帧率相同。然后,通过基于该编码帧率,计算编码器内的编码帧间隔。例如,如果编码帧率为fps,那么编码帧间隔为1/fps。示例性的,本申请中的编码帧率可以为72,那么编码帧间隔为14ms。
同时,为了确保视频编码的有序性,本申请会对待编码视频内的各个视频帧依次进行编码缓存,只有在编码器的输入缓冲区内对当前帧完成编码缓存后,才会继续对下一帧进行编码缓存。因此,为了确保编码器内各个视频帧的均匀缓存,对于网络传输来的待编码视频内的任一帧而言,本申请在需要对当前编码帧进行编码缓存时,可以确定当前编码帧的上一帧已经在编码器内完成编码缓存。进而,通过在各个视频帧的编码缓存过程中,实时更新记录每一帧完成编码缓存对应的时间戳,可以确定出上一帧的编码缓存时间点,以便后续基于本申请中的编码帧间隔,准确分析当前编码帧进行编码缓存的时间。
S120,基于上一帧的编码缓存时间点,经过编码帧间隔后对当前编码帧进行编码缓存。
在确定出编码帧间隔和上一帧的编码缓存时间点后,可以从上一帧的编码缓存时间点开始,经过编码帧间隔后,计算出当前编码帧的编码缓存时间点。然后,在达到该当前编码帧的编码缓存时间点时,便直接对当前编码帧进行编码缓存,使得当前编码帧在编码缓存后与上一帧能够相隔该编码帧间隔。依次循环,按照上述过程对待编码视频内的每一帧进行编码缓存,即可使编码器内编码缓存后的任意相邻两帧间隔几乎能够保持相同,从而实现编码帧的均匀编码缓存,确保视频编码的稳定性。
本申请实施例提供的技术方案,针对待编码视频内的每一帧,首先确定预置的编码帧间隔和当前编码帧的上一帧的编码缓存时间点,然后基于上一帧的编码缓存时间点,在经过该编码帧间隔后对当前编码帧进行编码缓存,使得编码缓存后的相邻两帧间隔几乎保持相同,从而实现编码帧的均匀编码缓存,确保视频编码的稳定性,降低视频编码压力,避免由于缓存帧数量过多使部分视频帧被覆盖而出现编码丢帧的问题。
作为本申请实施例中的一种可选方案,考虑到由于网络传输不稳定而使当前编码帧请求在编码器内进行编码缓存时的时间不定,因此需要判断当前编码帧请求在编码器内进行编码缓存时的请求时间点与通过编码帧间隔计算出的当前编码帧的编码缓存时间点之间的关系,以此对当前编码帧进行准确的编码缓存。本申请接下来对当前编码帧进行编码缓存的具体过程进行详细的解释说明。
图2为本申请实施例示出的另一种编码处理的方法的流程图。如图2所示,该方法具体可以包括如下步骤:
S210,确定预置的编码帧间隔和当前编码帧的上一帧的编码缓存时间点。
S220,确定当前编码帧请求编码缓存时的请求时间点与上一帧的编码缓存时间点间的当前帧间隔。
在确定出编码帧间隔和上一帧的编码缓存时间点时,考虑到由于网络传输不稳定而使当前编码帧请求在编码器内进行编码缓存时的时间不定,因此首先需要确定当前编码帧请求编码缓存时的系统时间戳,作为当前编码帧的请求时间点。而且,由于在实际编码缓存时,在上一帧完成编码缓存后,才支持下一帧的正常编码缓存,因此当前编码帧的请求时间点大于等于上一帧的编码缓存时间点。
然后,通过计算当前编码帧的请求时间点与上一帧的编码缓存时间点之间的时间差,即可确定出当前编码帧与上一帧间的当前帧间隔,以便后续与编码帧间隔进行比对分析,来判断当前编码帧实际的编码缓存时间点。
作为本申请中的一种可选实现方案,如图3所示,本申请在将客户端的视频源传输给服务端的编码器进行编码缓存时,会在编码器之前设定一个帧缓存线程,即为submit线程。通过调用该帧缓存线程,来将网络传输来的各个视频帧依次输送到编码器的输入缓冲区内,以依次对各个视频帧进行编码缓存。其中,帧缓存线程在上一帧的调用输送完成后,在支持执行下一帧的调用输送。因此,本申请中可以通过调用帧缓存线程,来对当前编码帧进行编码缓存判断。此时,根据该帧缓存线程的当前调用操作,可以确定当前编码帧请求进行编码缓存,那么确定出该帧缓存线程当前被调用时的系统时间戳,即可将其作为当前编码帧请求编码缓存时的请求时间点。
此时,为了调用帧缓存线程实现编码器内视频帧的均匀缓存,针对任一帧,该帧缓存线程被调用后,均会基于上一帧的编码缓存时间点,经过编码帧间隔后,将当前编码帧输送至编码器的输入缓冲区进行编码缓存,从而实现帧缓存线程对每一帧在编码器内的均匀缓存。而且,考虑到通过调用帧缓存线程来对任一帧进行编码缓存,那么帧缓存线程调用结束后,说明该帧已经完成编码缓存。因此,在本次调用帧缓存线程对当前编码帧进行编码缓存时,上一帧的编码缓存时间点可以为该帧缓存线程前一次被调用时的调用结束时间点。
S230,根据当前帧间隔和编码帧间隔,判断当前编码帧是否存在编码缓存延时;若是,执行S240;若否,执行S250。
在确定出当前编码帧请求编码缓存时的请求时间点与上一帧的编码缓存时间点间的当前帧间隔后,通过比对当前帧间隔和编码帧间隔,可以判断出当前编码帧在进行编码缓存时是否需要编码缓存延时,才能确保在编码器内的均匀缓存。
作为本申请中的一种可选实现方案,当前编码帧是否存在编码缓存延时时会存在如下两种情况:
1)如果当前帧间隔小于编码帧间隔,说明当前编码帧在请求编码缓存时距离上一帧的编码缓存时间点,还未达到编码帧间隔,因此为了确保编码器内视频帧的均匀缓存,确定当前编码帧存在编码缓存延时。而且,通过计算当前帧间隔与编码帧间隔的差值,即可得到当前编码帧的编码缓存延时。
作为本申请中的一种可选实现方案,由于当前编码帧进行编码缓存延时会设定一个最小延时单位,例如编码缓存延时以毫秒(ms)为单位时,本申请中的最小延时单位为1ms。因此,如果确定当前编码帧存在编码缓存延时,那么需要进一步判断当前帧间隔与最小延时单位间的大小,来准确计算当前编码帧的编码缓存延时。如果当前帧间隔小于等于最小延时单位,则计算编码帧间隔与最小延时单位间的差值,将该差值作为当前编码帧的编码缓存延时;如果当前帧间隔大于最小延时单位,且小于编码帧间隔,则计算编码帧间隔与当前帧间隔间的差值,将该差值作为当前编码帧的编码缓存延时。
例如,如果编码帧间隔为t_delay,当前帧间隔为Δt,最小延时单位为τ,那么在当前帧间隔小于等于最小延时单位时,当前编码帧的编码缓存延时为t_delay-τ,而在当前帧间隔大于最小延时单位,且小于编码帧间隔时,当前编码帧的编码缓存延时为t_delay-Δt。
2)如果当前帧间隔大于等于编码帧间隔,说明当前编码帧在请求编码缓存时,距离上一帧的编码缓存时间点已经达到了编码帧间隔,因此可以确定当前编码帧不存在编码缓存延时。
S240,在经过编码缓存延时后对当前编码帧进行编码缓存。
如果确定当前编码帧存在编码缓存延时,那么从当前时刻开始,控制等待编码缓存延时不对当前编码帧做任何操作,然后在经过编码缓存延时后直接将当前编码帧输送到编码器的输入缓冲区内进行编码缓存。
示例性的,通过调用帧缓存线程来对当前编码帧进行编码缓存时,可以在该帧缓存线程内采用线程睡眠类下的某一特定睡眠函数来控制该帧缓存线程在该编码缓存延时表示的时间段内进入睡眠,在经过该编码缓存延时后,该帧缓存线程自动从睡眠状态唤醒,直接将当前编码帧输送到编码器的输入缓冲区内进行编码缓存。例如,该特定睡眠函数为sleep(ms)函数。
S250,对当前编码帧进行即时编码缓存。
如果确定当前编码帧不存在编码缓存延时,那么可以直接即时将该当前编码帧输送至编码器的输入缓冲区内进行编码缓存。
本申请实施例提供的技术方案,针对待编码视频内的每一帧,首先确定预置的编码帧间隔和当前编码帧的上一帧的编码缓存时间点,然后基于上一帧的编码缓存时间点,在经过该编码帧间隔后对当前编码帧进行编码缓存,使得编码缓存后的相邻两帧间隔几乎保持相同,从而实现编码帧的均匀编码缓存,确保视频编码的稳定性,降低视频编码压力,避免由于缓存帧数量过多使部分视频帧被覆盖而出现编码丢帧的问题。
以下结合一个在编码器内依次缓存各个编码帧的具体场景对本申请中的编码处理方案进行示例性说明:
本申请中通过调用预设定的submit线程来实现编码器内各个编码帧的实际缓存操作。而且,在每次完成submit线程的调用后,都会重新记录一下当前的系统时间戳,该系统时间戳表示编码器内最近一次缓存的编码帧的编码缓存时间点。
而且,可以通过submit线程从视频源传入的各个编码帧,获取待编码视频的源帧率,该源帧率会对应一个预置的帧间隔时长,也就是本申请中的编码帧间隔t_delay。例如,本申请中的源帧率为72,那么编码帧间隔为14ms。
此时,在编码器内对当前编码进行编码缓存时,会执行下述步骤:
第一步,请求调用submit线程对当前编码帧进行缓存,并记录一下当前的系统时间戳t1,作为当前编码帧请求编码缓存时的请求时间点。而且,确定submit接口上一次完成调用后更新的系统时间戳t1,作为当前编码帧的上一帧的编码缓存时间点。
第二步,计算两次调用submit线程的时间差Δt=t1-t0,作为当前编码与上一帧间的当前帧间隔。
第三步,判断当前帧间隔Δt与用于缓存延时的最小延时单位τ和编码帧间隔t_delay之间的大小,例如sleep(ms)函数中的最小延时单位为1ms。判断结果存在如下三种情况:
1)如果Δt>t_delay,说明当前编码帧在请求编码缓存时,距离上一帧的编码缓存时间点已经达到了编码帧间隔,所以即时调用submit线程,将当前编码帧缓存至编码器内。
2)如果Δt<τ,可以在submit线程中设置本次的编码缓存延时为t_delay-τ,并控制submit线程在睡眠t_delay-τms后唤醒,来执行实际的调用操作,从而将当前编码帧缓存至编码器内。
例如,通过sleep(t_delay-1)控制submit线程在睡眠t_delay-1ms后唤醒。
3)如果τ<Δt 例如,通过sleep(t_delay-Δt)控制submit线程在睡眠t_delay-Δtms后唤醒。 图4为本申请实施例示出的一种编码处理的装置的原理框图。如图4所示,该装置400可以包括: 编码信息确定模块410,用于确定预置的编码帧间隔和当前编码帧的上一帧的编码缓存时间点; 编码缓存模块420,用于基于所述上一帧的编码缓存时间点,经过所述编码帧间隔后对所述当前编码帧进行编码缓存。 进一步的,所述编码缓存模块420,可以包括: 当前帧间隔计算单元,用于确定所述当前编码帧请求编码缓存时的请求时间点与所述上一帧的编码缓存时间点间的当前帧间隔; 缓存延时判断单元,用于根据所述当前帧间隔和所述编码帧间隔,判断所述当前编码帧是否存在编码缓存延时; 编码缓存单元,用于若是,则在经过所述编码缓存延时后对所述当前编码帧进行编码缓存,否则对所述当前编码帧进行即时编码缓存。 进一步的,所述缓存延时判断单元,可以具体用于: 如果所述当前帧间隔小于所述编码帧间隔,则根据所述当前帧间隔与所述编码帧间隔的差值,计算所述当前编码帧的编码缓存延时; 如果所述当前帧间隔大于等于所述编码帧间隔,则确定所述当前编码帧不存在编码缓存延时。 进一步的,所述缓存延时判断单元,可以具体用于: 如果所述当前帧间隔小于等于最小延时单位,则将所述编码帧间隔与所述最小延时单位间的差值,作为所述当前编码帧的编码缓存延时; 如果所述当前帧间隔大于所述最小延时单位,且小于所述编码帧间隔,则将所述编码帧间隔与所述当前帧间隔间的差值,作为所述当前编码帧的编码缓存延时。 进一步的,所述编码处理的装置400,还可以包括: 请求时间点确定模块,用于根据预设的帧缓存线程的当前调用操作,确定所述当前编码帧请求编码缓存时的请求时间点; 其中,所述帧缓存线程用于基于所述上一帧的编码缓存时间点,经过所述编码帧间隔后,将所述当前编码帧输送至编码器的输入缓冲区进行编码缓存,且所述上一帧的编码缓存时间点为所述帧缓存线程前一次被调用时的调用结束时间点。 进一步的,所述编码信息确定模块410,可以具体用于: 根据待编码视频的源帧率,确定对应的编码帧率,并基于所述编码帧率设定所述编码帧间隔。 本申请实施例中,针对待编码视频内的每一帧,首先确定预置的编码帧间隔和当前编码帧的上一帧的编码缓存时间点,然后基于上一帧的编码缓存时间点,在经过该编码帧间隔后对当前编码帧进行编码缓存,使得编码缓存后的相邻两帧间隔几乎保持相同,从而实现编码帧的均匀编码缓存,确保视频编码的稳定性,降低视频编码压力,避免由于缓存帧数量过多使部分视频帧被覆盖而出现编码丢帧的问题。 应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图4所示的装置400可以执行本申请提供的任一方法实施例,并且装置400中的各个模块的前述和其它操作和/或功能分别为了实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。 上文中结合附图从功能模块的角度描述了本申请实施例的装置400。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。 图5是本申请实施例提供的电子设备500的示意性框图。 如图5所示,该电子设备500可包括: 存储器510和处理器520,该存储器510用于存储计算机程序,并将该程序代码传输给该处理器520。换言之,该处理器520可以从存储器510中调用并运行计算机程序,以实现本申请实施例中的方法。 例如,该处理器520可用于根据该计算机程序中的指令执行上述方法实施例。 在本申请的一些实施例中,该处理器520可以包括但不限于: 通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。 在本申请的一些实施例中,该存储器510包括但不限于: 易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。 在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器510中,并由该处理器520执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备中的执行过程。 如图5所示,该电子设备还可包括: 收发器530,该收发器530可连接至该处理器520或存储器510。 其中,处理器520可以控制该收发器530与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器530可以包括发射机和接收机。收发器530还可以进一步包括天线,天线的数量可以为一个或多个。 应当理解,该电子设备中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。 本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。 当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。 作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。 以上该,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
- 一种信息处理方法及装置、一种计算设备及存储介质
- 一种数据处理方法及装置、一种计算设备及存储介质
- 一种访问请求处理方法及装置、一种计算设备及存储介质
- 一种数据处理方法、数据处理装置、计算机设备及可读存储介质
- 一种图像处理方法、装置、设备、存储介质及直播方法
- 编码装置、解码装置、图像处理装置、编码方法、解码方法、图像处理方法、比特流发送装置以及非暂时性存储介质
- 一种立体声音频信号处理方法、装置、编码设备、解码设备及存储介质