首页> 中国专利> 一种波动网络环境下的视频实时传输方法

一种波动网络环境下的视频实时传输方法

摘要

本发明公开了一种波动网络环境下的视频实时传输方法,包括:步骤1、进行双路码流同时编码,其中一路为高清流,记为StreamOrigin;另一路为实时流,记为StreamDynamic;步骤2、在传输缓存中同时缓存一定时长的高清流StreamOrigin以及实时流StreamDynamic;步骤3、双码流不同时传输,根据切换策略延迟切换;步骤4、动态生成编码器调度策略:根据网络发送缓冲区情况及用户调度策略进行编码器调度策略实时更新。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-21

    授权

    授权

  • 2018-03-06

    实质审查的生效 IPC(主分类):H04N7/18 申请日:20170828

    实质审查的生效

  • 2018-02-06

    公开

    公开

说明书

技术领域

本发明属于视频直播技术领域,涉及到视频数据的编解码以及传输分发技术,尤其涉及一种波动网络环境下的视频实时传输方法。

背景技术

随着网络上下行带宽的提升,网络可承载的内容越来越丰富,网络的接入方式也越来越多,相应的网络环境也越来越复杂。随着移动网络、智能手持终端的普及以及移动直播的兴起,除了视频转发服务本身的业务功能和并发性能,高清视频实时通信还需要考虑无线信道下固有的带宽波动以及种类繁多的视频采集与播放终端不同的硬件处理能力。目前,如何适应波动网络带宽下不同硬件能力的视频采集与播放终端,如何保障视频的实时高质量传输已经成为流媒体领域的研究热点与挑战。

波动网络环境下的视频实时传输,除了需要根据自身设备的网络性能与硬件编解码能力进行,迫切需要流媒体分发服务根据采集、转发服务、播放端的传输情况提供全局的动态控制能力,从而自动实时适应各种不同环境下高质量的流媒体实时传输,解决严重影响用户体验的“延时”、“视频质量”问题,利用现有网络带宽提供最大化的流媒体传输能力。

目前主流的视频直播技术,主要存在以下几个问题:首屏加载时间长,视频不能适应网络波动的情况,如常见的移动网络场景,码流切换时画面一直处于黑屏或加载中,编码参数如分辨率,需要用户手动设置等情况,严重影响用户体验,不适应如今移动网络普及下用户的需求。

发明内容

本发明的目的在于针对现有技术的不足,提供一种波动网络环境下的视频实时传输方法。

实现本发明目的的技术解决方案为:一种波动网络环境下的视频实时传输方法,步骤如下:

步骤1、双码流动态编码:进行双路码流同时编码,其中一路为高清流,记为StreamOrigin;另一路为实时流,记为StreamDynamic;

步骤2、双码流时移缓存:在传输缓存中同时缓存一定时长的高清流StreamOrigin以及实时流StreamDynamic,一般至少缓存一个完整GOP时长;其中,GOP(GroupofPictures,画面组)即以关键帧开始的最长视频帧序列,且该视频帧序列中有且只有一个关键帧;

步骤3、双码流传输切换:双码流不同时传输,根据切换策略延迟切换;

步骤4、动态生成编码器调度策略:根据网络发送缓冲区情况及用户调度策略进行编码器调度策略实时更新,若由于网络原因(阻塞或带宽不足等)导致发送缓冲区数据满,则触发实时流StreamDynamic动态降低实时流视频质量,优先满足实时传输;若由于编码器性能不够导致转发服务端输入缓冲区满,则先触发实时流StreamDynamic降低实时流视频质量,如果编码器仍负载过多,如编码性能已占100%,则继续触发高清流StreamOrigin降低高清流质量,优先满足提供功能服务。

步骤1中双码流动态编码步骤如下:

步骤1-1、编码器按照用户调度命令或发送端预设的默认配置参数,如帧率、分辨率、码率等,进行实时编码,即编码器调度器调度编码器组,调动两路编码器同时编码,一路码流为高清流StreamOrigin,另一路码流为实时流StreamDynamic;

步骤1-2、高清流StreamOrigin按照配置的最高质量进行编码,高清流StreamOrigin分辨率和码率上限为用户设置的期望参数(如设置分辨率和码率上限的期望参数分别720P和2Mbps);

实时流StreamDynamic按照实际网络情况及编码器调度策略,动态调节编码质量或码率,以保证视频实时流畅传输,实时流StreamDynamic分辨率和码率动态可变,但不超过高清流StreamOrigin。

步骤2中对双码流进行缓存时,在传输缓存中分别对双码流缓存一个GOP画面组。如果需要支持高清即时回放,则高清流StreamOrigin需缓存多个GOP画面组,具体GOP画面组个数与支持回放时长有关;

步骤3监听用户操作,动态生成切换策略包括如下步骤:

步骤3-1、监听用户操作,动态生成切换策略;

步骤3-2、根据切换策略,进行传输码流延迟切换,如从StreamOrigin切换至StreamDynamic时,需确保双码流传输切换动作延时至StreamDynamic的关键帧到来时真正生效,即将切换动作延迟至第一次接收到StreamDynamic的关键帧。从而确保播放端不会出现花屏或卡顿的情况。基于模块的松耦合考虑,双码流切换对于网络发送模块来说是透明的,因此,播放端也不会出现一般方法中出现的缓冲加载时显示黑屏的情况。双码流时移缓存及传输切换机制能够支持用户暂停以缓存高清视频时移播放,实时预览时对感兴趣内容进行即时高清回放,也支持用户进入直播模式时,恢复实时优先模式;

步骤3-1包括如下步骤:

步骤3-1-1、监听用户操作,当用户暂停时,切换为传输高清流StreamOrigin,支持播放端暂停以缓存高清视频进行时移播放;

步骤3-1-2、当用户拖动进度条时,切换为传输缓存中的高清流StreamOrigin,支持实时预览时对感兴趣内容进行即时高清回放;

步骤3-1-3、当用户进入直播模式时,切换为传输实时流StreamDynamic,恢复默认的实时有限模式。

步骤4包括如下步骤:

步骤4-1,在采集端进行网络情况分析及网络发送缓冲区分析;

步骤4-2,转发服务接收解码端进行网络情况分析及网络发送缓冲区分析;

步骤4-3,转发服务编码发送端进行网络情况分析及网络发送缓冲区分析。

步骤4-1包括:

步骤4-1-1,设当前采集端网络发送缓冲区当前已缓冲的数据尺寸为capBufferedSize,测试的缓冲区数据满的经验阈值为capBufOverflowThreshold,测试的缓冲区数据不足的经验阈值为capBufUnderflowThreshold;阈值设置不当,容易造成画面卡顿或流切换频繁,降低用户体验;经过实际测试,一般阈值设置满足以下公式:

步骤4-1-2,若采集端接收到转发服务或播放端的进行调度的通知,转至步骤4-1-3;若采集端接收到业务结束命令,则进行步骤4-1-8;否则,进行步骤4-1-4;

步骤4-1-3,更改采集端的编码质量、码率上限、码流路数,即时生效;

步骤4-1-4,若capBufferedSize<capBufUnderflowThreshold,则判定网络发送缓冲区数据不足,转到步骤4-1-6;否则,执行步骤4-1-5;

步骤4-1-5,若capBufferedSize>capBufOverflowThreshold,则判定网络发送缓冲区数据满,转到步骤4-1-7;否则,执行步骤4-1-2;

步骤4-1-6,编码器动态提升编码质量(如10%)、码率上限(如10%)、码流路数(如1路),但不超过步骤1-1中预设的默认配置参数;码流路数等于配置参数中设定值,因为要保证每一路码流都能提供服务;返回执行步骤4-1-2;

步骤4-1-7,编码器动态降低编码质量(如10%)、码率上限(如10%)、码流路数(如1路),码流路数最低不小于步骤1-1中预设的默认配置参数中设定值,因为要保证每一路码流都能提供服务;返回执行步骤4-1-2。

步骤4-2包括:

步骤4-2-1,设当前服务端网络接收缓冲区当前已缓冲的数据尺寸为recvNetBufferedSize,测试的网络接收缓冲区数据满的经验阈值为recvNetBufOverflowThreshold,测试的网络接收缓冲区数据不足的经验阈值为recvNetBufUnderflowThreshold;解码接收缓冲区的尺寸为recvDecCodeBufferedSize,测试的解码接收缓冲区数据满的经验阈值为recvDecCodeBufOverflowThreshold,测试的解码接收缓冲区数据不足的经验阈值为recvDecCodeBufUnderflowThreshold;经过实际测试,一般阈值设置满足以下公式:

a)

b)

步骤4-2-2,定义:若recvNetBufferedSize<recvNetBufUnderflowThreshold,则判定网络接收缓冲区数据不足;若recvNetBufferedSize>recvNetBufOverflowThreshold,则判定网络接收缓冲区数据满;若recvDecCodeBufferedSize<recvDecCodeBufUnderflowThreshold,则判定解码负载空闲;若recvDecCodeBufferedSize>recvDecCodeBufOverflowThreshold,则判定解码负载超载;

步骤4-2-3,服务端监测网络接收缓冲区及自身解码负载情况,若采集端接收到业务结束命令,则进行步骤4-2-12;否则,进行步骤4-2-4;

步骤4-2-4,若网络接收缓冲区数据不足且解码负载空闲,转到步骤4-2-5;否则,进行步骤4-2-6;

步骤4-2-5,通知采集端动态提升参数,包括编码质量(如10%)、码率上限(如10%)、码流路数(如1路),提升的参数不能超过服务端设置的最大值;返回进行步骤4-2-3;

步骤4-2-6,若网络接收缓冲区数据不足且解码负载超载,转到步骤4-2-7;否则,进行步骤4-2-8;

步骤4-2-7,通知解码器降低解码路数(如1路);返回进行步骤4-2-3;

步骤4-2-8,若网络接收缓冲区数据满且解码负载空闲,转到步骤4-2-9;否则,进行步骤4-2-10;

步骤4-2-9,通知解码器提升解码路数(如1路);进行步骤4-2-3;

步骤4-2-10,若网络接收缓冲区数据满且解码负载超载,转到步骤4-2-11;否则,进行步骤4-2-3;

步骤4-2-11,通知采集端动态降低编码质量(如10%)、码率上限(如10%)、码流路数(如1路),返回进行步骤4-2-3。

步骤4-2-12,采集端停止服务。

步骤4-3包括:

步骤4-3-1,设当前服务端网络发送缓冲区当前已缓冲的数据尺寸为sendNetBufferedSize,测试的网络接收缓冲区数据满的经验阈值为sendNetBufOverflowThreshold,测试的网络接收缓冲区数据不足的经验阈值为sendNetBufUnderflowThreshold;编码接收缓冲区的尺寸为recvEncCodeBufferedSize,测试的编码接收缓冲区数据满的经验阈值为recvEncCodeBufOverflowThreshold,测试的编码接收缓冲区数据不足的经验阈值为recvEncCodeBufUnderflowThreshold;

步骤4-3-2,定义:若sendNetBufferedSize<sendNetBufUnderflowThreshold,则判定网络发送缓冲区数据不足;若sendNetBufferedSize>sendNetBufOverflowThreshold,则判定网络发送缓冲区数据满;若recvDecCodeBufferedSize<recvDecCodeBufUnderflowThreshold,则判定编码负载空闲;若recvDecCodeBufferedSize>recvDecCodeBufOverflowThreshold,则判定编码负载超载;经过实际测试,一般阈值设置如下比较合适:

步骤4-3-3,服务端监测网络发送缓冲区及自身编码负载情况,若采集端接收到业务结束命令,则进行步骤4-3-12;否则,进行步骤4-3-4;

步骤4-3-4,若网络发送缓冲区数据不足,转到步骤4-3-5;否则,进行步骤4-3-6;

步骤4-3-5,通知采集端动态提升参数,包括编码质量、码率上限、码流路数,提升的参数不能超过服务端设置的最大值;返回进行步骤4-3-3;

步骤4-3-6,若编码负载超载,转到步骤4-3-7;否则,进行步骤4-3-8;

步骤4-3-7,通知采集端动态降低编码路数、编码质量、码率上限,进行步骤4-3-3;

步骤4-3-8,若编码负载空闲,转到步骤4-3-9;否则,进行步骤4-3-10;

步骤4-3-9,通知编码器降低编码质量、码率上限,进行步骤4-3-3;

步骤4-3-10,若网络发送缓冲区数据满,转到步骤4-3-11;否则,进行步骤4-3-3;

步骤4-3-11,通知编码器动态降低编码质量、码率上限、码流路数,进行步骤4-3-3;

步骤4-3-12,服务端停止服务。

本发明方法主要解决在波动网络环境下保证视频数据实时传输的问题。该方法首先通过在视频的收发两端和服务器端转码处理的前后加上一些实时策略进行监控调度,配合提出的双码流时移缓存及切换输出机制,使视频数据包的生成、分发能够更好地适应波动的网络环境,能够充分利用网络带宽进行数据传送。本发明不仅能够在网络波动的环境下保证视频实时流畅传输,同时避免了传统单路码流预设分辨率或码率编码导致的网络带宽的浪费,而且能够自适应网络波动,显著提高当前实时网络环境下的视频质量。

该方法能够适应波动的网络环境和各种不同的设备性能的硬件设备,包括采集、服务器以及播放终端,可以在保证低延时的前提下,显著提高视频的传输质量。下面是本发明中常用专业名词概念的相关解释:

采集端:音视频信号源,如摄像头,主要用于采集原始音视频数据并进行传输;

网络发送/接收缓冲区:用于暂时缓存数据,以待发送/处理,可以根据缓冲区剩余数据的大小,统计并分析网络情况;

转发服务:提供数据接收、缓存、转码与发送功能;

转发服务接收解码端:转发服务的输入端,主要完成网络接收数据,并将音视频数据解码为原始格式,以供转发服务后续处理;

转发服务编码发送端:转发服务的输出端,主要完成对原始数据进行压缩编码,再进行转换、发送等相关工作;

播放端:能够播放音视频码流的设备或软件,主要完成音视频数据网络接收、转换、存储、解码并显示的功能;

GOP:GroupofPictures(画面组),即以关键帧开始的最长视频帧序列,且该视频帧序列中有且只有一个关键帧。

有益效果:本发明与现有技术相比,其显著优点:(1)不仅能够自动适应网络波动环境的影响,同时避免了传统单路码流预设分辨率或码率编码导致的网络带宽的浪费,而且能够自适应网络波动,显著提高当前实时网络环境下的视频质量。(2)首先利用双码流动态编码机制,支持编码策略的动态调度;(3)其次通过双码流时移缓存,支持无缝切流和时移回放;(4)接下来,通过双码流传输切换,解决一般方法中出现的缓冲加载时显示黑屏的情况,支持用户暂停以缓存高清视频时移播放,实时预览时对感兴趣内容进行即时高清回放,也支持用户重新进入直播模式时,恢复实时优先模式;(5)最后,基于网络传输缓冲区及编码器负载的波动网络自适应编码器调度策略,进一步提升了视频传输的波动网络适应性。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。

图1波动网络环境下高清视频实时传输处理流程。

图2双码流时移缓存及切换输出流程。

图3采集端发送监测流程。

图4转发服务端接收解码监测流程。

图5转发服务端编码发送监测流程。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

结合图1,本发明的一种波动网络环境下的视频实时传输方法的实施主要包括在采集端对信号源进行视频原始数据采集、通过编码调度器调度编码器组,并进行视频数据编码、码流封装、时移缓存,并将网络数据发送至波动网络;在转发服务端从波动网络中进行网络数据接收、通过解码调度器调度解码器组,并进行视频数据解码、再通过编码调度器调度编码器组,并进行视频数据编码、码流封装、时移缓存,再次将网络数据发送至波动网络;在播放端,从波动网络中进行网络数据接收、通过解码调度器调度解码器组,并进行视频数据解码和视频原始数据播放。

结合图2,双码流相关处理,步骤如下:

第一步,双码流动态编码,即在进行编码时,根据服务端的调度和发送端的设置进行双路码流同时编码,其中一路为高清流,简记为StreamOrigin,优先保证视频质量,即按照配置的最高质量进行编码;另一路为实时流,简记为StreamDynamic,优先保证实时传输,即按照实际网络情况及编码器调度策略,动态调节编码质量或码率,以保证视频实时流畅传输。一般情况下,StreamOrigin分辨率和码率上限为用户设置的期望参数,如分别为720P和2Mbps,StreamDynamic分辨率和码率动态可变,但不会超过StreamOrigin;

(1)编码器按照用户的调度和发送端要求进行实时编码,即编码器调度器调度编码器组,调动两路编码器同时编码;

(2)一路码流为高清流StreamOrigin,编码质量一般为用户预设;

(3)另一路码流为实时流StreamDynamic,编码质量一般初始化为复用高清流StreamOrigin;同时按照实际网络情况及编码器调度策略,动态调节编码;

第二步,双码流时移缓存,即同时缓存一定时长的高清流StreamOrigin以及实时流StreamDynamic,一般各缓存一个GOP即可;

第三步,双码流传输切换,即双码流不会同时传输,且在进行传输切换时,如从StreamOrigin切换至StreamDynamic时,需确保双码流传输切换动作延时至StreamB的关键帧到来时真正生效,从而确保播放端不会出现花屏或卡顿的情况。基于模块的松耦合考虑,双码流切换对于网络发送模块来说是透明的,因此,播放端也不会出现一般方法中出现的缓冲加载时显示黑屏的情况。双码流时移缓存及传输切换机制能够支持用户暂停以缓存高清视频时移播放,实时预览时对感兴趣内容进行即时高清回放,也支持用户进入直播模式时,恢复实时优先模式;

(a)进行切换策略动态生成,即监听用户操作;当用户暂停时,切换为传输高清流StreamOrigin,支持播放端暂停以缓存高清视频进行时移播放;当用户拖动进度条时,切换为传输缓存中的高清流StreamOrigin,支持实时预览时对感兴趣内容进行即时高清回放;当用户进入直播模式时,切换为传输实时流StreamDynamic,恢复默认的实时有限模式。

(b)根据切换策略,进行传输码流延迟切换,如从StreamOrigin切换至StreamDynamic时,需确保双码流传输切换动作延时至StreamDynamic的关键帧到来时真正生效,即将切换动作延迟至第一次接收到StreamDynamic的关键帧。

编码器调度策略,即根据网络发送缓冲区情况及用户调度策略进行编码器调度策略实时更新;若由于网络原因导致发送缓冲区数据满,则需要触发StreamDynamic动态降低实时流视频质量,优先满足实时传输;若由于编码器性能不够导致转发服务端输入缓冲区满,则需要首先触发降低StreamDynamic降低实时流视频质量,如果编码器仍负载过多,则继续触发StreamOrigin降低高清流质量,优先满足提供功能服务。

编解码调度策略动态生成的过程分为采集端、转发服务接收解码端、转发服务编码发送端三个步骤。

结合图3,采集端步骤如下:

(a)初始化采集端网络发送缓冲区,并设当前采集端网络发送缓冲区当前已缓冲的数据尺寸为capBufferedSize,测试的缓冲区数据满的经验阈值为capBufOverflowThreshold=0.8*capBufferedSize,测试的缓冲区数据不足的经验阈值为capBufUnderflowThreshold=0.2*capBufferedSize,进行步骤(b);

(b)若采集端接收到转发服务或播放端的进行调度的通知,转至步骤(c);否则,进行步骤(d);

(c)更改采集端的编码质量、码率上限、码流路数等配置参数,即时生效;进行步骤(d);

(d)若capBufferedSize<capBufUnderflowThreshold,则认为网络发送缓冲区数据不足,转到步骤(f);否则,进行步骤(e);

步骤(e),若capBufferedSize>capBufOverflowThreshold,则网络发送缓冲区数据满,转到步骤(g);否则,进行步骤(b);

步骤(f),编码器动态提升编码质量、码率上限、码流路数等参数,但不能超过设定的配置参数;码流路数必须等于配置参数中设定值,因为要保证每一路码流都能提供服务;进行步骤(b);

步骤(g),编码器动态降低编码质量、码率上限、码流路数等参数,码流路数必须等于配置参数中设定值,因为要保证每一路码流都能提供服务;进行步骤(b);

结合图4,转发服务接收解码端步骤如下:

(a)初始化服务端网络接收与解码接收缓冲区,并分别简记为NB与DB;设当前服务端网络接收缓冲区当前已缓冲的数据尺寸为recvNetBufferedSize,测试的网络接收缓冲区数据满的经验阈值为recvNetBufOverflowThreshold=0.8*recvNetBufferedSize,测试的网络接收缓冲区数据不足的经验阈值为recvNetBufUnderflowThreshold=0.2*recvNetBufferedSize;解码接收缓冲区的尺寸为recvDecCodeBufferedSize,测试的解码接收缓冲区数据满的经验阈值为recvDecCodeBufOverflowThreshold=0.8*recvDecCodeBufferedSize,测试的解码接收缓冲区数据不足的经验阈值为recvDecCodeBufUnderflowThreshold=0.2*recvDecCodeBufferedSize,进行步骤(b);

(b)定义,若recvNetBufferedSize<recvNetBufUnderflowThreshold,则认为网络接收缓冲区数据不足;若recvNetBufferedSize>recvNetBufOverflowThreshold,则网络接收缓冲区数据满;若recvDecCodeBufferedSize<recvDecCodeBufUnderflowThreshold,则认为解码负载空闲;若recvDecCodeBufferedSize>recvDecCodeBufOverflowThreshold,则认为解码负载超载,进行(c);

(c)服务端监测网络接收缓冲区及自身解码负载情况;进行步骤(d);

(d)若网络接收缓冲区数据不足且解码负载空闲,转到步骤(e);否则,进行(f);

(e)通知采集端动态提升编码质量(如10%)、码率上限(如10%)、码流路数(如1路)等参数;参数不能超过服务端设置的最大值;进行(c);

(f)若网络接收缓冲区数据不足且解码负载超载,转到(g);否则,进行(h);

(g)通知解码器降低解码路数(如1路);进行(c);

(h)若网络接收缓冲区数据满且解码负载空闲,转到(i);否则,进行(j);

(i)通知解码器提升解码路数(如1路);进行(c);

(j)若网络接收缓冲区数据满且解码负载超载,转到(k);否则,进行(c);

(k)通知采集端动态降低编码质量(如10%)、码率上限(如10%)、码流路数(如1路)等参数;进行(c);

结合图5,转发服务编码发送端步骤如下:

(a)初始化服务端网络发送与编码接收缓冲区,并分别简记为NB与EB;设当前服务端网络发送缓冲区当前已缓冲的数据尺寸为sendNetBufferedSize,测试的网络接收缓冲区数据满的经验阈值为sendNetBufOverflowThreshold=0.8*sendNetBufferedSize,测试的网络接收缓冲区数据不足的经验阈值为sendNetBufUnderflowThreshold=0.2*sendNetBufferedSize;编码接收缓冲区的尺寸为recvEncCodeBufferedSize,测试的编码接收缓冲区数据满的经验阈值为recvEncCodeBufOverflowThreshold=0.8*recvEncCodeBufferedSize,测试的编码接收缓冲区数据不足的经验阈值为recvEncCodeBufUnderflowThreshold=0.2*recvEncCodeBufferedSize,进行(b);

(b)定义,若sendNetBufferedSize<sendNetBufUnderflowThreshold,则认为网络发送缓冲区数据不足;若sendNetBufferedSize>sendNetBufOverflowThreshold,则网络发送缓冲区数据满;若recvDecCodeBufferedSize<recvDecCodeBufUnderflowThreshold,则认为编码负载空闲;若recvDecCodeBufferedSize>recvDecCodeBufOverflowThreshold,则认为编码负载超载;进行(c);

(c)服务端监测网络发送缓冲区及自身编码负载情况;进行(d);

(d)若网络发送缓冲区数据不足,转到(e);否则,进行(f);

(e)通知采集端动态提升编码质量(如10%)、码率上限(如10%)、码流路数(如1路)等参数;参数不能超过服务端设置的最大值;进行(c);

(f)若编码负载超载,转到(g);否则,进行(h);

(g)通知采集端动态降低编码路数(如1路)、编码质量(如10%)、码率上限(如10%)等参数;进行(c);

(h)若编码负载空闲,转到(i);否则,进行(j);

(i)通知编码器降低编码质量(如10%)、码率上限(如10%)等参数;进行(c);

(j)若网络发送缓冲区数据满,转到(k);否则,进行(c);

(k)通知编码器动态降低编码质量(如10%)、码率上限(如10%)、码流路数(如1路)等参数;进行(c)。

本发明提供了一种波动网络环境下的视频实时传输方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号