一种视频流发送、接收方法技术

技术编号:23772219 阅读:26 留言:0更新日期:2020-04-12 00:52
本发明专利技术公开一种视频流发送、接收方法,发送方法包括:通过输入输出接口模块或IO接口获取发送的视频数据;编码器将待处理的视频数据中每帧图像数据分割为多个切割帧,对每个切割帧缓存并编码形成压缩图像切割帧;处理器模块将处理好的视频数据中的音频数据进行编码形成音频编码数据;将所述音频编码数据和压缩图像切割帧封装获得编码流数据;硬件加速模块将所述编码流数据封装为RTSP和/或RTMP视频流并在传输过程中进行硬件加速输出至网络信道。解决现有技术中延时长、功耗高等问题,降低延时和功耗。

A method of sending and receiving video stream

【技术实现步骤摘要】
一种视频流发送、接收方法
本专利技术涉及视频数据传输
,具体是一种视频流发送、接收方法。
技术介绍
目前的媒体编解码芯片(VIDEOCODECSOC,以下简称SOC芯片)结构通常是采用模块化设计,其内部由许多IP模块组成,一般有图像接口子模块、图像前处理子模块、图像编码子模块、标准ARM子模块等,图像输入后经过图像前处理子模块处理后存储到DDR存储器,再经过运行于ARM的linux系统对图像进行压缩后实现标准的RTSP\RTMP流(视频流)输出,其实现图像压缩后到视频流的处理,通常处理时间大多超过150ms这样一个时间量级。如华为公司的海思HISILICON系列图像编解芯片,采用H264图像CODEC核和ARM结合的方式,由于其部分功能如RTSP推流等功能的实现依赖于ARM处理器,则此方案对ARM处理器的性能有一定要求,其搭载的ARM处理器版本为ARM9或ARM-CortexA9等,存在芯片功耗较高,延迟较长、功能固定等弊端。采用ARM+视频编解码模块的方式实现的CODECSOC芯片,由于使用便捷,开发周期短被市场大规模用于,但其延时难以满足实时性编解码系统的要求,原因在于:一方面由于其网络协议栈采用基于ARM-LINUX系统的行业普遍做法,此方法简单灵活易于开发实施,软件负责上层的协议处理是为了灵活兼容多种协议,而不是为了最小化时延而独立设计硬件加速模块。因此,此类图像的编解码的技术难以实现高实时性的应用。
技术实现思路
本专利技术提供一种视频流发送、接收方法,用于克服现有技术中功耗较高且延迟较长等缺陷,实现降低功耗和延时,并提高功能配置的灵活性。为实现上述目的,本专利技术提供一种视频流发送方法,包括:步骤1,通过输入输出接口模块或IO接口获取发送的视频数据;步骤2,编码器将待处理的视频数据中每帧图像数据分割为多个切割帧,对每个切割帧缓存并编码形成压缩图像切割帧;步骤3,处理器模块将处理好的视频数据中的音频数据进行编码形成音频编码数据;将所述音频编码数据和压缩图像切割帧封装获得编码流数据;步骤4,硬件加速模块将所述编码流数据封装为RTSP和/或RTMP视频流并在传输过程中进行硬件加速输出至网络信道。为实现上述目的,本专利技术还提供一种视频流接收方法,包括:步骤10,PHY接口将网络信道的串行数据转换为并行数据并发送给MAC接收模块;步骤20,MAC接收模块将转换后形成的半字节数据转换为整字节数据,并进行地址识别、CRC校验、长度判断及拆包处理;步骤30,处理器模块将上述处理好的数据中的压缩音频数据进行解码;步骤40,低延时编码器将处理好的数据中的压缩图像数据进行解码;步骤50,通过IO接口或输入输出接口模块输出。本专利技术提供的视频流发送、接收方法,采用低延时的编码器与硬件加速模块联合的方式,在视频流的发送和接收过程中,可减少芯片内部RISC-V处理器模块的控制任务量,降低功耗并显著降低延时。由此处理器可采用更加轻量化和小面积的RISC-CE系列核心,同时由于网络协议栈的硬件化,处理器可直接裸跑运行而无需运行LINUX系统,延迟相比ARM-linux架构进一步提升,同时该架构多数工作都可使用硬件模块实现,其功耗更低。本方案可在低功耗条件下实现超低延迟,可用于实时性图像处理系统。实现了视频流的超低延迟封装,可用于实时的图像编码压缩传输或记录系统。如可用于无人飞行器图像实时压缩传输、CCTV监视系统的实时性提升、实时的赛况转播等。这些应用都要求延迟越小,用户体验越好。如无人载具中的遥控飞行器的控制,是基于飞行装置发回的流媒体图像反馈。为了控制飞行装置,从传感器发送视频至压缩引擎到解码图像显示之间的时延通常要小于40毫秒。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。图1为本专利技术实施例一提出的视频流发送方法的流程图;图2为本专利技术实施例二提出的视频流接收方法的流程图;图3为用于实现本专利技术实施例一及实施例二所述方法的低功耗低延时SOC芯片的构架图;图4为图3中低延时编码器工作示意图;图5为图3中硬件加速模块的构架图;图6为图3中处理器模块的构架图;图7为图3中GMAC控制模块的功能构架及信号流向示意图。标号说明:输入输出接口模块1、低延时编码器2、处理器模块3、堆叠DDRX模块4、AES/DES加密模块5、硬件加速模块6、JTAGDEBUG模块7、ISP图像前处理模块8、IO模块9、片内互联模块10;RTCP模块61、RTSP模块62、RTP模块63、UDP/TCP模块64、IP封装模块65、GMAC控制模块66相连、PHY接口67、ARP地址解析模块68、同步模块69。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明,本专利技术实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。另外,在本专利技术中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本专利技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。在本专利技术中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接,还可以是物理连接或无线通信连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利技术中的具体含义。另外,本专利技术各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本专利技术要求的保护范围之内。实施例一下面结合一种低功耗低延时SOC芯片构架对视频流的发送进行详细说明,如附图3所示,典型的应用方案就是为采集端和客户端创建低时延的音频和视频压缩和网络传输服务。本文档来自技高网...

【技术保护点】
1.一种视频流发送方法,其特征在于,包括:/n步骤1,通过输入输出接口模块或IO接口获取发送的视频数据;/n步骤2,编码器将待处理的视频数据中每帧图像数据分割为多个切割帧,对每个切割帧缓存并编码形成压缩图像切割帧;/n步骤3,处理器模块将待处理的视频数据中的音频数据进行编码形成音频编码数据;将所述音频编码数据和压缩图像切割帧封装获得编码流数据;/n步骤4,硬件加速模块将所述编码流数据封装为RTSP和/或RTMP视频流并在传输过程中进行硬件加速输出至网络信道。/n

【技术特征摘要】
1.一种视频流发送方法,其特征在于,包括:
步骤1,通过输入输出接口模块或IO接口获取发送的视频数据;
步骤2,编码器将待处理的视频数据中每帧图像数据分割为多个切割帧,对每个切割帧缓存并编码形成压缩图像切割帧;
步骤3,处理器模块将待处理的视频数据中的音频数据进行编码形成音频编码数据;将所述音频编码数据和压缩图像切割帧封装获得编码流数据;
步骤4,硬件加速模块将所述编码流数据封装为RTSP和/或RTMP视频流并在传输过程中进行硬件加速输出至网络信道。


2.如权利要求1所述的视频流发送方法,其特征在于,所述步骤4包括:
步骤41,RTCP模块建立RTSP和/或RTMP网络连接,控制ARP模块发送请求包获取目的地址和MAC信息,与用户端建立通讯连接;
步骤42,RTCP模块根据处理器模块的控制从内存中取出编码流数据,发给下一级RTP模块;
步骤43,RTP模块根据同步模块的处理使得编码器与用户端接收流的同步;
步骤44,RTP模块对经过的编码流数据添加RTP头数据后送入UDP/TCP流封装模块填写UDP/TCP数据头;
步骤45,IP模块对上述编码流数据填写IP头信息后送入下一级GMAC控制模块;
步骤46,GMAC控制模块根据链路协议将编码流数据经PHY接口发送至网络信道,完成RTSP和/或RTMP视频流的发送。


3.如权利要求2所述的视频流发送方法,其特征在于,所述步骤46包括:
步骤461,MAC状态机模块根据PHY接口的载波侦听信号和冲突检测信号检测网络信道的状态,在网络信道处于空闲状态时响应IP封装模块的发送请求,并进入导通状态;
步骤462,MAC发送状态机模块在MAC状态机模块进入导通状态时向MAC发送模块输出发送指令;
步骤463,MAC发送模块接收所述发送指令后向PHY接口发送前序码、数据帧起始定界符;
步骤464,PHY接口按照数据帧起始定界符发送RTSP和/或RTMP视频流数据段并按照前序码完成数据段的衔接。


4.如权利要求3所述的视频流发送方法,其特征在于,所述步骤46还包括:
步骤465,在MAC状态机模块进入0状态时,MAC发送模块发送数据字节的低4位;
步骤466,在MAC状态机模块进入1状态时,MAC发送模块发送数据字节的高4位;
步骤467,MAC状态机模块在0与1之间循环,直到数据发送完毕。


5.如权利要求4所述的视频流发送方法,其特征在于,所述步骤467包括:
步骤4671,发送计数模块对发送的数据帧产生冲突的次数进行计数,在计数值达到最大重试次数时,放弃发送,并丢弃发送缓冲器内的数据;
步骤4672,重试计数值被随机数生成模块用于计算下次重...

【专利技术属性】
技术研发人员:陈俊焦斌
申请(专利权)人:湖南君瀚信息技术有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1