CN110971909A - 一种低功耗低延时soc芯片 - Google Patents
一种低功耗低延时soc芯片 Download PDFInfo
- Publication number
- CN110971909A CN110971909A CN201911283044.9A CN201911283044A CN110971909A CN 110971909 A CN110971909 A CN 110971909A CN 201911283044 A CN201911283044 A CN 201911283044A CN 110971909 A CN110971909 A CN 110971909A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- low
- frame
- sending
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明公开一种低功耗低延时SOC芯片,包括:输入输出接口模块,用于输入待处理的视频数据或输出处理好的视频数据;低延时编码器,用于将待处理的视频数据中每帧图像数据分割为多个切割帧,对每个切割帧缓存并编码形成压缩图像切割帧;还用于将处理好的视频数据中的压缩图像数据进行解码;处理器模块,用于将处理好的视频数据中的音频数据进行编码,将处理好的视频数据中的压缩音频数据进行解码;对其它模块管理并对RTSP和/或RTMP协议进行解析和封装;硬件加速模块,由RTSP和/或RTMP协议栈封装而成;上述模块均通过片内互联模块连接。解决现有技术中延时长、功耗高等问题,降低延时和功耗。
Description
技术领域
本发明涉及SOC芯片技术领域,具体是一种低功耗低延时SOC芯片。
背景技术
目前的媒体编解码芯片(VIDEO CODEC SOC,以下简称SOC芯片)结构通常是采用模块化设计,其内部由许多IP模块组成,一般有图像接口子模块、图像前处理子模块、图像编码子模块、标准ARM子模块等,图像输入后经过图像前处理子模块处理后存储到DDR存储器,再经过运行于ARM的linux***对图像进行压缩后实现标准的RTSP\RTMP流(视频流)输出,其实现图像压缩后到视频流的处理,通常处理时间大多超过150ms这样一个时间量级。如华为公司的海思HISILICON系列图像编解芯片,采用H264图像CODEC核和ARM结合的方式,由于其部分功能如RTSP推流等功能的实现依赖于ARM处理器,则此方案对ARM处理器的性能有一定要求,其搭载的ARM处理器版本为ARM9或ARM-Cortex A9等,存在芯片功耗较高,延迟较长、功能固定等弊端。
采用ARM+视频编解码模块的方式实现的CODEC SOC芯片,由于使用便捷,开发周期短被市场大规模用于,但其延时难以满足实时性编解码***的要求,原因在于:一方面由于其网络协议栈采用基于ARM-LINUX***的行业普遍做法,此方法简单灵活易于开发实施,软件负责上层的协议处理是为了灵活兼容多种协议,而不是为了最小化时延而独立设计硬件加速模块。因此,此类图像的编解码的技术难以实现高实时性的应用。
发明内容
本发明提供一种低功耗低延时SOC芯片,用于克服现有技术中功耗较高且延迟较长等缺陷,实现降低功耗和延时,并提高功能配置的灵活性。
为实现上述目的,本发明提供一种低功耗低延时SOC芯片,至少包括:
输入输出接口模块,用于输入待处理的视频数据或输出处理好的视频数据;
低延时编码器,用于将待处理的视频数据中每帧图像数据分割为多个切割帧,对每个切割帧缓存并编码形成压缩图像切割帧;还用于将处理好的视频数据中的压缩图像数据进行解码;
处理器模块,用于将处理好的视频数据中的音频数据进行编码,还用于将处理好的视频数据中的压缩音频数据进行解码;还用于对其它模块管理并对RTSP和/或RTMP协议进行解析和封装;
硬件加速模块,由RTSP和/或RTMP协议栈封装而成;将编码数据封装为RTSP和/或RTMP视频流并在传输过程中进行硬件加速输出至网络信道,或将网络信道的封装数据流进行转换、地址识别、CRC校验、长度判断及拆包处理以供处理器模块及低延时编码器进行解码。
本发明提供的低功耗低延时SOC芯片,采用低延时编码器与硬件加速模块联合的方式,可减少芯片内部RISC-V处理器模块的控制任务量,降低功耗并显著降低延时。由此处理器可采用更加轻量化和小面积的RISC-C E系列核心,同时由于网络协议栈的硬件化,处理器可直接裸跑运行而无需运行LINUX***,延迟相比ARM-linux架构进一步提升,同时该架构多数工作都可使用硬件模块实现,其功耗更低。本方案可在低功耗条件下实现超低延迟,可用于实时性图像处理***。实现了视频流的超低延迟封装,可用于实时的图像编码压缩传输或记录***。如可用于无人飞行器图像实时压缩传输、CCTV监视***的实时性提升、实时的赛况转播等。这些应用都要求延迟越小,用户体验越好。如无人载具中的遥控飞行器的控制,是基于飞行装置发回的流媒体图像反馈。为了控制飞行装置,从传感器发送视频至压缩引擎到解码图像显示之间的时延通常要小于40毫秒。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为发明实施例一提出的低功耗低延时SOC芯片的构架图;
图2为本发明实施例一中低延时编码器工作示意图;
图3为本发明实施例一中硬件加速模块的构架图;
图4为实施例一中处理器模块的构架图;
图5为实施例一中实施例一中GMAC控制模块的功能构架及信号流向示意图。
标号说明:
输入输出接口模块1、低延时编码器2、处理器模块3、堆叠DDRX模块4、AES/DES加密模块5、硬件加速模块6、JTAG DEBUG模块7、ISP图像前处理模块8、IO模块9、片内互联模块10;RTCP模块61、RTSP模块62、RTP模块63、UDP/TCP模块64、IP封装模块65、GMAC控制模块66相连、PHY接口67、ARP地址解析模块68、同步模块69。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接,还可以是物理连接或无线通信连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
如附图1所示,本发明实施例提供一种低功耗低延时SOC芯片,典型的应用方案就是为采集端和客户端创建低时延的音频和视频压缩和网络传输服务。可应用于5G边缘计算、智慧城市、等。SOC芯片内部集成输入输出接口模块1、低延时编码器2、处理器模块3、堆叠DDRX模块4、AES/DES加密模块5、硬件加速模块6、JTAG DEBUG模块7、ISP图像前处理模块8、IO模块9、片内互联模块10等;输入输出接口模块1用于完成视频图像数据的输入和输出以及音频数据的输入输出功能。叠DDRX模块4,SOC芯片内部直接堆叠DDRX,简化外部器件数量,在实现高集成度的同时,实现更高的内存吞吐性能。AES/DES(Advanced EncryptionStandard/Data Encryption Standard)加密模块5包含在SCO芯片内部,使用RISC-V处理器配置和管理,用于硬件加速完成图像数据和音频数据的编码和解码,实现高保密性的数据传输加密功能。JTAG DEBUG(Joint Test Action Group在线调试)模块7用于实现SOC芯片的配置和在线调试。ISP图像前处理模块8使用ISP(图像处理处理模块)完成采集图像的前端处理等功能,如图像畸变矫正、白平衡矫正、色彩补偿、图像降噪、HDR等功能。IO模块9实现各种接口协议,如SPI/UART/SDIO/UART/MAC/SATA/USB,实现SOC芯片所需的外部接口,用于存储或接口。片内互联模块10是SOC芯片内部的各个模块中心互联模块,用于完成SOC芯片内部各个功能模块的数据和指令路由,同时连接DDRX控制器,实现模块对DDRX(堆叠内存颗粒)的高速访问。低延迟编码器2、处理器模块3、硬件加速模块6为SOC芯片内部的关键模块,用于达成低功耗高性能低延时编解码SOC芯片。
处理器模块3采用RISC-V结构,完成整个***的调度和配置管理,由于网络RTSP协议工作和响应工作等已经放入硬件模块执行,处理器任务工作量大幅度减小,所以可以仅仅使用低功耗轻量化的RISC-V处理器就能实现芯片内各功能模块的管理。RISC-V处理器模块用于音频数据的编码和解码。RISC-V是开源的处理器架构,具有架构可灵活裁剪,性能可定制等特点,SOC集成RISC-V结构处理器能同时满足低延时的响应和低功耗的特性。超低延时JPEG2000/H.264、H.265低延时编码器(文中简称低延时编码器2)用于完成图像数据的低延时编码和解码功能,同时可以支持MPEG2000/H.264/H.265/VP9/AVS2标准的编码和解码。低延迟编解码***使用FPGA接收1920*1080的图像,将图像送往低延迟编码模块编码,编码后的压缩视频流经以低延迟太网进行发送,显示端接收到视频流先经过低延迟以太网接收,后送至低延迟解码模块解码输出显示。硬件加速模块6(硬件RTSP/RTMP模块)采用基于硬件构架实现RTSP、RTMP流的发送功能,整个功能模块不同于现有的软件处理器RTSP/RTMP协议栈,现有需要占用C处理器的处理周期,同时延时无法得到保证;本设计采用硬件协议栈,只需RISC-V处理器简单的管理和配置,实现低延时高性能的流媒体发送。
低延迟编码器2采用图像的分割实现编码的低延迟:
(1)缩短缓存时间通常高清H264图像编码需要完整缓存一帧,对于30hz的视频图像,这个时间就是33.3ms,采用图像分割帧方式,将完整一帧1920*1080图像的列进行拆分的方式,可减少缓存等待的时间,由于H264采用16*16像素的宏块结构,因此对于1080P视频源,可采用的分割模式如下:
分割数 | 列大小 | 缓存时间 |
2 | 540 | 16.5ms |
4 | 270 | 8.25ms |
8 | 135 | 4.16ms |
16 | 68 | 2.1ms |
参见图2,采用16分割后,每次缓存时间为2.1ms,在缓存一个切割帧后(一个切割帧为68行),启动编码,而编码器只需要在下一个切割帧缓存完之前完成当前切割帧的压缩编码工作,固此方法可将33.3ms的编码缓存时间缩减到2.1ms左右。
(2)缩短数据传输时间:通常的H.264图像编码流程是,缓存一帧高清图像后启动编码器,编码器参数配置1920*1080,在整副图像编码完成后,将输出帧编码完成中断,一般编码压缩一帧1920*1080@16bit大小的图像需要约30ms,在编码完成启动传输。采用图像16分割模式模式后,参见图2,对编码器图像参数配置为分割帧的大小,则每隔2.1ms,编码器将输出一个切割帧编码完成中断,此时即可启动以太网的发送,这可以显著的减小发送的时间。
硬件加速模块6具体为RTSP协议栈加速模块,传统的编解码SOC芯片都为软件实现RTSP协议,其延时较大,同时对处理器的负载的也较大,本设计架构采用基于全硬件实现的RTSP方式,将RTSP协议栈封装成硬件加速模块,集成于SOC芯片中,能显著降低编码流输出延时。
本发明按照RTSP协议及FPGA验证平台特性,将硬件加速模块划分为七个功能层部分,参见图3:
第七层为RTCP模块61,用于控制和管理以及建立RTSP连接;
第六层为RTSP模块62,用于封装和管理RTSP协议栈;
第五层为RTP模块63,用于封装和管理RTP协议栈;
第四层为UDP/TCP流封装模块64,用于封装和管理UDP/TCP协议栈;
第三层为IP封装模块65,用于封装和管理IP协议栈;
第二层为GMAC控制模块66,用于管理和建立Gbit网络链路连接;
第一层为PHY接口67,在芯片外部,为SOC芯片网络模块搭建物理连接通道;
硬件加速模块6还包括ARP地址解析模块68和同步模块69。
RTCP模块61与RTSP模块62、RTP模块63、UDP/TCP模块64、ARP地址解析模块68均相连接,RTSP模块62与RTP模块63、RTCP模块61均相连接,RTP模块63与RTCP模块61以及UDP/TCP模块64均相连接,同步模块69与RTP模块63相连接,实现流信号的同步传输,UDP/TCP流封装模块64与IP封装模块65相连接,IP封装模块65与GMAC控制模块66相连,GMAC控制模块66还与ARP地址解析模块68及PHY接口67相连。
在RTCP模块61(包括RTCP控制状态寄存器)中设计有大量模块参数所需设置的寄存器,RTCP控制状态寄存器包含:目的IP地址设置寄存器、源IP地址设置寄存器、目的端口设置寄存器、源端口设置寄存器、源MAC设置寄存器、ARP触发寄存器、帧长度寄存器、RTSP流启动、RTSP流停止寄存器、以及部分状态寄存器等。构成所述控制状态寄存器的所有寄存器均与所述处理器模块连接,并均由所述处理器模块控制;所述处理器模块采用RISC-V处理器构架。
工作时,首先,SOC芯片内置的RISC-V处理器配置RTCP模块61中各寄存器。RTCP模块61需要先建立网络连接,控制ARP地址解析模块68向RISC-V处理器发送ARP请求包以获取目的地址和MAC信息,完成通讯连接建立。RTCP模块61根据RISC-V处理器的控制从内存(DDRX)中取出编码流数据,往下一级模块RTP模块63发送,RTP模块63根据同步模块69的处理,实现编码器与用户端接受数据流的同步,编码流数据经过添加RTP头数据后送入UDP/TCP流封装模块64,填写UDP头数据后,送入IP封装模块65填写IP头信息,完成后送往下一级GMAC控制模块66,GMAC控制模块66根据链路协议发送数据给PHY接口67,完成RTSP流数据的低延时发送。
具体内部模块和功能见图5,RTCP模块61包括RTCP模块协议模块和数据控制模块,RTSP模块62、RTP模块63、RTCP协议模块接受数据控制模块的控制实现应用层协议的发送,输入的数据流经输出接口模块1(包括输入接口和输出接口,输入过程中经输入接口)输入数据控制模块;输出的数据流经数据控制模块输出至输入输出接口模块1(输出过程中经输出接口);RTCP模块61用于流量控制,主要是对传输的状态进行检测,对于通道的异常进行反馈调节,RTSP模块62负责启动RTP模块63传输,RTP模块63负责按照RTSP模块62的端口配置待发送的封装流数据,数据流从数据控制模块获取,RTP模块63可接受RTSP模块62的数据帧开始和数帧结束标志,并通过数据控制模块从外部存储器中读取要发送的数据,UDP/TCP流封装模块64负责添加UDP帧头信息,然后对数据进行封装,IP封装模块65负责添加IP头信息以及做帧数据长度分包。MAC状态机模块负责检测载波侦听信号和响应IP封装模块65的请求。MAC状态机模块将IP层提供的数据封装之后通过MII接口管理模块发送给PHY接口67。MAC状态机模块通过PHY接口67提供的载波侦听和冲突检测信号,在信道空闲时通过MII接口管理模块将数据以4位的宽度发送给PHY接口67,最后由PHY接口67将数据发送到网络上。
CRC生成模块用于计算发送数据的CRC值,并将CRC值添加到数据帧的帧校验序列字段(FCS)内。
ARP地址解析模块68包括发送计数模块,发送计数模块由字节计数器和重试次数计数器组成。其中重试次数计数器可对发送某个帧时产生冲突次数进行计数。当计数器的值达到最大重试次数时,它将放弃重试,并丢弃发送缓冲器内的数据。同时,重试计数器的值还被随机数生成模块用于计算下次重试之前需要后退(backoff)的时隙的个数。
字节计数器用于对发送过程中的字节进行计数。发送计数模块还可用于滞后冲突(late collision)和超长帧的判断。当滞后冲突发生时,正在发送的数据将被丢弃。超长帧的判断则是从对帧内容(包括FCS)进行字节计数,如果字节计数器的值大于最大有效帧的长度(1518个字节),MAC发送状态机模块就根据***设置(是否支持超长帧)丢弃或发送。
同时发送计数模块还启动ARP的主动包。通知MAC发送状态机模块发送ARP请求包。
MAC发送状态机模块是整个发送模块的核心,主要用于控制整个发送过程。MAC状态机模块进入空闲状态之后,检测MAC状态机模块的发送请求。若MAC状态机模块请求发送,MAC状态机模块将进入Preamble_State状态,MAC发送模块即通知PHY接口发送开始,同时开始发送前序码(7个0x5),然后发送帧起始定界符(SFD,0xd)。MAC状态机模块进入数据0状态后,MAC发送模块将发送一个数据字节的低4位,将当其进入数据1状态后,MAC发送模块则发送数据字节的高4位。随后,MAC状态机模块一直在数据0和数据1之间循环,直到数据发送完毕。当还剩一个字节时,MAC发送状态机模块将通过发送帧结束信号来通知MAC发送模块。如果数据帧的长度大于最小帧并且小于最大帧,MAC状态机模块就进入帧完成状态,此时MAC发送模块则将CRC生成模块生成的CRC值添加到帧的校验字段中并发送给PHY接口。帧发送完之后,MAC状态机模块进入发送完成状态,之后空状态。此后MAC状态机模块又回到初始状态,以重新等待新的发送请求。
MAC接收模块负责数据帧的接收。当外部PHY接口将通信信道的串行数据转换为并行数据并发送给MAC接收模块后,MAC接收模块会将这些半字节数据转换为字节数据,然后经过地址识别、CRC校验、长度判断等操作后,再通过MAC状态机模块和IP封装模块、UDP/TCP流封装模块分别拆包后,送入数据控制模块,最后写入外部存储器,并在MAC状态机模块的接收队列中记录帧的相关信息。此外,MAC接收模块还负责前序码和CRC值的移除。
MAC接收状态机模块,接收过程的状态信息中,接收错误表明PHY接口在接收过程中检测到了错误;接收到无效符号则表明接收到的帧中包括无效(PHY接口无法识别)的符号;滞后冲突表明接收帧时检测到滞后冲突信号;超短帧表明接收到的帧小于最短有效的长度;超长帧表明接收到的帧大于最大有效帧的长度;半字节对齐错误表明接收到的半字节不是偶数(即帧的长度不是字节的整数倍);接收溢出则表明MAC接收模块来不及处理接收到的数据而导致接收FIFO溢出。
在发送过程的状态信息中,超过重试限制表示由于冲突导致的重试次数超过了额定值;滞后冲突表示发送帧的过程中检测到的冲突信号超过了规定的冲突时间窗;延迟,表明在发送帧之前检测到信道忙。
数据控制模块提供有全双工操作中的数据控制功能,流量控制可通过RTCP模块61发送和接收PAUSE的控制帧来实现。接收数据时,当接收站点的接收缓冲区(Rx FIFO)快溢出而接收站主机来不及取走数据时,接收站主机向发送端就会发出流量控制请求。RTCP模块61(数据控制模块)在接收到流量控制请求之后,即发送PAUSE控制帧,RTP模块将停止发送数据。以使数据控制模块在指定的时间内暂停发送数据。数据发送站点接收到PAUSE控制帧后,便可根据帧中的参数设置PAUSE定时器。PAUSE定时器在减到0之前,数据发送站点将暂停发送数据(PAUSE控制帧除外)。PAUSE定时器减到0之后,数据发送站点将恢复发送数据。
发送数据时,当发送站点的发送缓冲区快溢出而PHY接口67来不及取走数据时,发送端就会发出流量控制请求即发送PAUSE控制帧,RTCP模块(数据控制模块)在接收到PAUSE控制帧之后,停止向RTP模块发送数据。以使数据控制模块在指定的时间内暂停发送数据。数据发送站点接收到PAUSE控制帧后,便可根据帧中的参数设置PAUSE定时器。PAUSE定时器在减到0之前,数据发送站点将暂停发送数据(PAUSE控制帧除外)。PAUSE定时器减到0之后,数据发送站点将恢复发送数据。
MII接口模块用于管理和控制链路层与外部PHY接口之间的连接,以用于对PHY接口进行配置并读取其状态信息。该接口用于输出时钟信号(MDC)和接收或输出双向数据信号(MDIO)。MII接口模块由时钟生成模块、移位寄存器模块和输出控制模块三部分组成。
RISC-V处理器模块参见图4,目前的图像编解码SOC芯片,均采用ARM的处理器架构,运行LINUX***,完成内部各模块的管理和RTSP网络协议的解析和封包,此方式存在编码延时较大,同时功耗也较大的弊端。本发明使用低延时编解码SOC方案采用RISC-V的处理器架构,可直接裸跑运行也可运行其他***,此架构具有低功耗和占用硅片面积小的特点并能降低编码延时。RISC-V是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。RISC-V指令集的设计考虑了小型、快速、低功耗的现实情况来实做,RISC-V处理器可以个根据需要选定适合的性能和接口,满足低功耗和低工作任务的需要。同时保持低功耗。采用专用快速总线连接外部模块,使处理器能快速访问和控制外部模块。
RISC-V处理器是一种可裁剪的开源架构,本设计RISC-V处理器具有多级流水线结构,本设计采用RISC-V处理器具有低功耗和灵活的特点。其具有数据缓存和指令缓存,指令缓存区中存储需要处理器执行的指令,由处理器状态控制器控制指令的提取,处理器处理流程分为取指、预译码、译码优化、执行、内存接入、回写几个部分。
取指:将指令寄存器的内容装入内存缓存,并且将指令寄存器的值+1,然后将地址指向的内容装入数据缓存。
预译码:在这个步骤中,将指令进行预处理和简单译码。
译码、优化:在这个步骤中,指令由处理器解码并对部分指令操作进行优化。如果指令需要,处理器将获得任何操作数。
执行:在这个阶段,处理器执行指令。如加法计算。最后,它调整指令指针指向存储在地址的下一条要执行的指令。
内存接入:在这个阶段,处理器执行指令去指定的内部和外部地址取数据。
写回:在这个阶段,处理器执行完指令,将处理结果写回到内存缓存中。
外部的数据接口和指令接口用于与外部的通讯。调试单元用于与外部的调试器接口连接。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (10)
1.一种低功耗低延时SOC芯片,其特征在于,至少包括:
输入输出接口模块,用于输入待处理的视频数据或输出处理好的视频数据;
低延时编码器,用于将待处理的视频数据中每帧图像数据分割为多个切割帧,对每个切割帧缓存并编码形成压缩图像切割帧;还用于将处理好的视频数据中的压缩图像数据进行解码;
处理器模块,用于将待处理的视频数据中的音频数据进行编码,还用于将处理好的视频数据中的压缩音频数据进行解码;还用于对其它各模块管理并对RTSP和/或RTMP协议进行解析和封装;
硬件加速模块,由RTSP和/或RTMP协议栈封装而成;将编码数据封装为RTSP和/或RTMP视频流并在传输过程中进行硬件加速输出至网络信道;或将网络信道的封装数据流进行转换、地址识别、CRC校验、长度判断及拆包处理以供处理器模块及低延时编码器进行解码;
所述输入输出接口模块、低延时编码器、处理器模块、硬件加速模块均通过片内互联模块连接。
2.如权利要求1所述的低功耗低延时SOC芯片,其特征在于,所述低延时编码器支持JPEG2000、H.264、H.265、MPEG2000、VP9、AVS2中至少一个标准的编码和解码。
3.如权利要求1所述的低功耗低延时SOC芯片,其特征在于,所述硬件加速模块包括:
RTCP模块,位于应用层,用于控制、管理及建立RTSP和/或RTMP连接;
RTSP模块,位于表示层,用于封装和管理RTSP和/或RTMP协议栈;
RTP模块,位于会话层,用于封装和管理RTP协议栈;
UDP/TCP流封装模块,位于传输层,用于封装和管理UDP和/或TCP协议栈;
IP封装模块,位于网络层,用于封装和管理IP协议栈;
GMAC控制模块,位于数据链路层,用于管理和建立Gbit网络链路连接;
PHY接口,位于物理层,在芯片外部,为SOC芯片网络模块搭建物理连接通道;
ARP地址解析模块,位于网络层,用于将IP地址解析为以太网MAC地址;
同步模块,与RTP模块相连接,用于实现流信号的同步传输;
所述RTCP模块分别与RTSP模块、RTP模块、UDP/TCP模块相连接,所述RTSP模块与RTP模块相连接;所述RTP模块分别与RTCP模块以及UDP/TCP模块相连接;所述UDP/TCP流封装模块与IP封装模块相连接;所述IP封装模块与GMAC控制模块相连;所述GMAC控制模块与PHY接口相连;所述ARP地址解析模块分别与RTCP模块、GMAC控制模块相连接。
4.如权利要求3所述的低功耗低延时SOC芯片,其特征在于,所述GMAC控制模块包括:
MAC发送状态机模块,用于根据MAC状态机模块的状态控制MAC发送模块;
MAC状态机模块,用于根据PHY接口的载波侦听信号和冲突检测信号检测网络信道的状态,并在在网络信道处于空闲状态时响应IP封装模块的请求,处于导通状态;
所述MAC发送模块,在MAC状态机模块处于导通状态时,向PHY接口发出发送指令、发送前序码、数据帧起始定界符;
所述PHY接口,还用于按照数据帧起始定界符向网络信道发送RTSP和/或RTMP视频流数据段并按照前序码完成数据段的衔接。
5.如权利要求3所述的低功耗低延时SOC芯片,其特征在于,所述硬件加速模块还包括:
发送计数模块,包括字节计数器和重试计数器,所述重试计数器用于对发送的数据帧产生冲突的次数进行计数;所述字节计数器用于对发送的数据帧的字节进行计数;
随机数生成模块,根据重试计数值计算下次重试之前需要后退的时隙个数;
CRC生成模块,计算发送的数据帧的CRC值;
所述MAC状态机模块,还用于响应IP封装模块的数据发送请求,在收到请求后,MAC状态机模块进入发送预备状态,之后进入0状态,一周期以后进入1状态,此后根据发送计数器的发送计数值,一直在0与1状态之间循环;
所述MAC发送模块,还用于在MAC状态机模块为0状态时发送数据字节的低4位,在MAC状态机模块为1状态时发送数据字节的高4位;在重试计数值达到最大重试次数时,放弃发送,并丢弃发送缓冲器内的数据;在计数值大于最大有效帧的长度时,MAC发送模块根据设置丢弃或发送上述数据帧。
6.如权利要求5所述的低功耗低延时SOC芯片,其特征在于,所述MAC发送状态机模块,还用于在发送的数据帧中还剩一个字节时,向MAC发送模块发送帧结束信号;
所述MAC发送模块,还用于在接收到帧结束信号时将CRC生成模块生成的CRC值添加到数据帧的校验序列字段中并发送给PHY接口;
所述MAC发送状态机模块,还用于在数据帧的长度大于最小帧并且小于最大帧时,进入帧完成状态;在数据帧发送完之后进入发送完成状态,之后为空状态;此后回到初始状态,以重新等待新的发送请求。
7.如权利要求3所述的低功耗低延时SOC芯片,其特征在于,所述PHY接口,还用于将通信信道的串行数据转换为并行数据发送给MAC接收模块;
MAC接收状态机模块,用于显示接收过程的状态信息;
所述MAC接收模块,将转换为并行数据后形成的半字节数据转换为整字节数据并进行地址识别、CRC校验、长度判断处理;
所述RTCP模块还包括:
数据控制模块,用于在接收站点的接收缓存区将要溢出而接收站主机还来不及取走数据时,数据控制模块接收到自接收站主机向发送端发出的流量控制请求时;发送PAUSE控制帧,数据发送站点接收到PAUSE控制帧后根据PAUSE控制帧中的参数设置PAUSE定时器;在PAUSE定时器在减到0之前,数据发送站点暂停发送数据;在PAUSE定时器减到0之后,数据发送站点恢复发送数据。
8.如权利要求3所述的低功耗低延时SOC芯片,其特征在于,所述GMAC控制模块还包括:
MII接口模块,用于管理和控制数据链路层与PHY接口之间的连接,以用于对PHY接口进行配置并读取所述PHY接口的状态信息。
9.如权利要求3所述的低功耗低延时SOC芯片,其特征在于,所述RTCP模块包括控制状态寄存器,所述控制状态寄存器包括:
目的IP地址设置寄存器、源IP地址设置寄存器、目的端口设置寄存器、源端口设置寄存器、源MAC设置寄存器、ARP触发寄存器、帧长度寄存器、RTSP流启动/停止寄存器及状态寄存器;
构成所述控制状态寄存器的所有寄存器均与所述处理器模块连接,并均由所述处理器模块控制;
所述处理器模块采用RISC-V处理器构架。
10.如权利要求1所述的低功耗低延时SOC芯片,其特征在于,所述SOC芯片还包括:
堆叠DDRX模块,包括直接堆叠在SOC芯片内部的多个DDRX,DDRX的控制器均与片内互联模块连接;
AES/DES加密模块,位于SOC芯片内部,与所述片内互联模块连接,通过所述处理器模块配置和管理,用于硬件加速完成图像数据和音频数据的编码和解码,实现高保密性的数据传输加密功能;
JTAG DEBUG模块,与所述片内互联模块连接,用于实现SOC芯片的配置和在线调试;
ISP图像前处理模块,与所述片内互联模块连接,用于完成采集图像的前端处理功能,所述前端处理功能包括图像畸变矫正、白平衡矫正、色彩补偿、图像降噪、HDR中至少一项;
IO模块,与所述片内互联模块连接,用于实现SPI、UART、SDIO、UART、MAC、SATA、USB接口协议中至少一个,实现SOC芯片所需的外部接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911283044.9A CN110971909A (zh) | 2019-12-13 | 2019-12-13 | 一种低功耗低延时soc芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911283044.9A CN110971909A (zh) | 2019-12-13 | 2019-12-13 | 一种低功耗低延时soc芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110971909A true CN110971909A (zh) | 2020-04-07 |
Family
ID=70034342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911283044.9A Pending CN110971909A (zh) | 2019-12-13 | 2019-12-13 | 一种低功耗低延时soc芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110971909A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256622A (zh) * | 2020-10-10 | 2021-01-22 | 天津大学 | 一种基于可编程逻辑阵列实现安全传输的方法 |
CN112702313A (zh) * | 2020-12-01 | 2021-04-23 | 深圳市紫光同创电子有限公司 | 高速udp数据发送***及方法 |
CN113747087A (zh) * | 2021-09-10 | 2021-12-03 | 湖南君瀚信息技术有限公司 | 远程驾驶低延时图像传输方法、装置、计算机设备及介质 |
CN114302148A (zh) * | 2021-12-14 | 2022-04-08 | 山东芯慧微电子科技有限公司 | 一种基于risc-v处理器的视频压缩卡的加速处理方法 |
CN114584784A (zh) * | 2022-03-03 | 2022-06-03 | 杭州中天微***有限公司 | 视频编码***、硬件加速装置及硬件加速方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5568574A (en) * | 1995-06-12 | 1996-10-22 | University Of Southern California | Modulator-based photonic chip-to-chip interconnections for dense three-dimensional multichip module integration |
CN201917914U (zh) * | 2011-02-14 | 2011-08-03 | 凌科芯安科技(北京)有限公司 | 嵌入式加密芯片 |
CN106231246A (zh) * | 2016-07-21 | 2016-12-14 | 重庆大学 | 电梯轿厢内高清视频采集传输分析装置及工作方法、以及视频采集分析特征点方法 |
CN106341266A (zh) * | 2016-09-12 | 2017-01-18 | 武汉理工大学 | 具有主动和被动传输模式的硬件tcp/ip协议栈 |
CN106790226A (zh) * | 2017-01-15 | 2017-05-31 | 刘小艳 | 一种便携移动式音视频教学交互设备 |
CN108833932A (zh) * | 2018-07-19 | 2018-11-16 | 湖南君瀚信息技术有限公司 | 一种实现高清视频超低延迟编解码及传输的方法及*** |
-
2019
- 2019-12-13 CN CN201911283044.9A patent/CN110971909A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5568574A (en) * | 1995-06-12 | 1996-10-22 | University Of Southern California | Modulator-based photonic chip-to-chip interconnections for dense three-dimensional multichip module integration |
CN201917914U (zh) * | 2011-02-14 | 2011-08-03 | 凌科芯安科技(北京)有限公司 | 嵌入式加密芯片 |
CN106231246A (zh) * | 2016-07-21 | 2016-12-14 | 重庆大学 | 电梯轿厢内高清视频采集传输分析装置及工作方法、以及视频采集分析特征点方法 |
CN106341266A (zh) * | 2016-09-12 | 2017-01-18 | 武汉理工大学 | 具有主动和被动传输模式的硬件tcp/ip协议栈 |
CN106790226A (zh) * | 2017-01-15 | 2017-05-31 | 刘小艳 | 一种便携移动式音视频教学交互设备 |
CN108833932A (zh) * | 2018-07-19 | 2018-11-16 | 湖南君瀚信息技术有限公司 | 一种实现高清视频超低延迟编解码及传输的方法及*** |
Non-Patent Citations (1)
Title |
---|
孟俊岭: "嵌入式TCP/IP的FPGA实现", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256622A (zh) * | 2020-10-10 | 2021-01-22 | 天津大学 | 一种基于可编程逻辑阵列实现安全传输的方法 |
CN112702313A (zh) * | 2020-12-01 | 2021-04-23 | 深圳市紫光同创电子有限公司 | 高速udp数据发送***及方法 |
CN113747087A (zh) * | 2021-09-10 | 2021-12-03 | 湖南君瀚信息技术有限公司 | 远程驾驶低延时图像传输方法、装置、计算机设备及介质 |
CN113747087B (zh) * | 2021-09-10 | 2023-09-19 | 湖南君瀚信息技术有限公司 | 远程驾驶低延时图像传输方法、装置、计算机设备及介质 |
CN114302148A (zh) * | 2021-12-14 | 2022-04-08 | 山东芯慧微电子科技有限公司 | 一种基于risc-v处理器的视频压缩卡的加速处理方法 |
CN114584784A (zh) * | 2022-03-03 | 2022-06-03 | 杭州中天微***有限公司 | 视频编码***、硬件加速装置及硬件加速方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110971909A (zh) | 一种低功耗低延时soc芯片 | |
US11397703B2 (en) | Methods and systems for accessing host memory through non-volatile memory over fabric bridging with direct target access | |
CN110996120A (zh) | 一种视频流发送、接收方法 | |
CN110417780B (zh) | 定制化数据传输协议的多通道高速数据接口转化模块 | |
EP1133129A2 (en) | A programmable multi-standard mac architecture | |
CN108566357B (zh) | 基于ZYNQ-7000和FreeRTOS的图像传输与控制***及方法 | |
US8576864B2 (en) | Host ethernet adapter for handling both endpoint and network node communications | |
US8051222B2 (en) | Concatenating secure digital input output (SDIO) interface | |
CN113709047B (zh) | 一种汽车域控制器数据转发***及方法 | |
CN107071520B (zh) | 一种CoaXPress高速图像接口协议IP的实现方法 | |
CN114286035B (zh) | 图像采集卡、图像采集方法及图像采集*** | |
CN113301313B (zh) | 一种图像数据处理和传输方法及*** | |
US20060092842A1 (en) | Data flow control method for simultaneous packet reception | |
CN113961494A (zh) | 一种pcie总线与axi总线的桥接*** | |
CN111526317B (zh) | 一种低延时图像采集方法、装置及*** | |
CN115499505A (zh) | Usb网卡和通信方法 | |
CN106549869A (zh) | 数据包处理方法及装置 | |
CN113961499B (zh) | 一种GIGE vision数据传输方法、采集卡及*** | |
CN118093496A (zh) | 一种基于SoC技术的中子散射实验数据读出处理方法 | |
CN111130691B (zh) | 一种星载异步速率通信匹配装置 | |
US9485333B2 (en) | Method and apparatus for network streaming | |
CN107707921B (zh) | 一种动态图像处理*** | |
EP1027781B1 (en) | Apparatus and method for depacketizing and aligning packetized input data | |
CN114866733A (zh) | 一种低延迟视频处理方法、***及装置 | |
CN112449137A (zh) | 基于移动产业处理器接口的数据传输***及数据传输方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200407 |