CN114510443B - 一种数据传输方法和系统 - Google Patents
一种数据传输方法和系统 Download PDFInfo
- Publication number
- CN114510443B CN114510443B CN202111643661.2A CN202111643661A CN114510443B CN 114510443 B CN114510443 B CN 114510443B CN 202111643661 A CN202111643661 A CN 202111643661A CN 114510443 B CN114510443 B CN 114510443B
- Authority
- CN
- China
- Prior art keywords
- image data
- raw image
- shared
- channel
- transmission
- 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.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 208
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000013507 mapping Methods 0.000 claims abstract description 16
- 230000015654 memory Effects 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 29
- 230000008859 change Effects 0.000 claims description 4
- 239000010410 layer Substances 0.000 description 96
- 238000007726 management method Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 239000012792 core layer Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000011217 control strategy Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种数据传输方法和系统。在应用层和内核层之间动态设置多个用于数据传输的共享通道,所述方法包括:在应用层,根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,对所述Raw图像数据进行拆分得到图像数据单元;根据共享通道的通道状态,动态获取可用的共享通道传输所述图像数据单元至内核层;在内核层,根据共享通道的通道状态和控制信息,将共享通道传输的图像数据单元映射到物理传输通道上。能够在不改变摄像机传感器框架和USB框架的情况下有效的提高数据传输的速度和效率。
Description
技术领域
本发明涉及数据传输技术领域,特别涉及一种数据传输方法和系统。
背景技术
带有拍摄功能的智能终端设备在将未经加工的原始图像数据(RAW图像数据)传输至个人计算机(PC)时,一般使用通用串行总线(Universal Serial Bus,USB)接口进行数据传输。现有基于USB3.1协议的USB接口在进行大容量的数据传输时,通常采用流媒体技术在bulk模式下进行传输,这种传输模式理论上虽然能够达到10GB/s的速度,但是实际上会受到图像采集端、协议打包、发送端数据拆分等影响,从终端设备的摄像机传感器(CameraSensor)获取到的RAW图像数据传输到PC时通常只能达到180Mb/s的传输速度。而随着终端设备摄像机传感器技术的发展,摄像机传感器获取到的不经过任何压缩和格式处理的RAW图像数据已经达到了单帧80M以上,当需要利用这些图像数据做图像算法相关仿真和调试时,现有的USB图像传输速度已经无法满足RAW图像数据的传输需求了。
发明内容
本申请发明人发现,现有技术中使用USB接口传输图像数据时,速度无法进一步提高的原因是由于摄像机传感器采集到图像后向USB驱动层面传输的过程中,其数据复制转移的速度比较慢,影响了整体的传输速度。
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据传输方法和系统。
本发明实施例提供一种数据传输方法,在应用层和内核层之间动态设置多个用于数据传输的共享通道,所述方法包括:
在应用层,根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,对所述Raw图像数据进行拆分得到图像数据单元;根据共享通道的通道状态,动态获取可用的共享通道传输所述图像数据单元至内核层;
在内核层,根据共享通道的通道状态和控制信息,将共享通道传输的图像数据单元映射到物理传输通道上。
在一些可选的实施例中,所述根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,对所述Raw图像数据进行拆分得到图像数据单元;包括:
根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对所述Raw图像数据进行一次拆分能够传输完所述Raw图像数据,对所述Raw图像数据进行拆分得到图像数据单元;或
根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对所述Raw图像数据进行一次拆分,不能传输完所述Raw图像数据;对所述Raw图像数据顺次截取,每次截取一个图像数据段,对每个所述图像数据段进行拆分,得到图像数据单元。
在一些可选的实施例中,根据设置的共享通道大小和数量中的至少一个,至少包括共享通道数量,或包括共享通道大小和数量;
在一些可选的实施例中,根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对所述Raw图像数据进行一次拆分能够传输完所述Raw图像数据,包括:
获取设置的共享通道数量与共享通道头部字节数的乘积;获取系统可申请的共享内存大小与所述乘积的差值,基于所述差值不小于所述Raw图像数据的长度,确定一次拆分能够传输完所述Raw图像数据;或者
根据共享通道大小与共享通道头部字节数,确定共享通道数据部分的有效长度;基于所述有效长度与共享通道数量的乘积不小于Raw图像数据的长度,确定一次拆分能够传输完所述Raw图像数据。
在一些可选的实施例中,根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对所述Raw图像数据进行一次拆分,不能传输完所述Raw图像数据,包括:
获取设置的共享通道数量与共享通道头部字节数的乘积;获取系统可申请的共享内存大小与所述乘积的差值,基于所述差值小于所述Raw图像数据的长度,确定一次拆分不能传输完所述Raw图像数据;或者
根据共享通道大小和共享通道头部字节数,确定共享通道数据部分的有效长度;基于所述有效长度与共享通道数量的乘积小于Raw图像数据的长度,确定一次拆分不能传输完所述Raw图像数据。
在一些可选的实施例中,对所述Raw图像数据顺次截取,每次截取一个图像数据段,对每个所述图像数据段进行拆分,得到图像数据单元,包括:
从Raw图像数据中截取图像数据段;
根据设置的共享通道大小对截取的图像数据段进行拆分得到图像数据单元;
基于截取后剩余的Raw图像数据长度大于0,返回继续执行从Raw图像数据中截取图像数据段的步骤,直至剩余的Raw图像数据长度为0。
在一些可选的实施例中,所述从Raw图像数据中截取图像数据段,包括:
获取设置的共享通道数量与共享通道头部字节数的乘积;获取系统可申请的共享内存大小与所述乘积的差值,从Raw图像数据中截取所述差值对应长度的图像数据段;或
根据共享通道大小和共享通道头部字节数,确定共享通道数据部分的有效长度,得到所述有效长度与共享通道数量的乘积;从Raw图像数据中截取所述乘积对应长度的图像数据段。
在一些可选的实施例中,所述根据共享通道的通道状态,动态获取可用的共享通道传输所述图像数据单元至内核层,包括:
获取通道状态为空闲的共享通道,将拆分后的图像数据单元映射到空闲的共享通道中传输至内核层。
在一些可选的实施例中,所述根据共享通道的通道状态和控制信息,将共享通道传输的图像数据单元映射到物理传输通道上,包括:
基于侦听到的应用层的传输控制事件,扫描USB驱动资源和USB物理传输通道状态,初始化USB传输参数,建立USB传输通道;
轮询共享通道的通道状态,根据共享通道的控制信息,将共享通道中传输的图像数据单元映射到空闲的USB传输通道上。
在一些可选的实施例中,上述还包括:
根据系统可申请的共享内存大小、设置的共享通道大小和当前活动的USB传输任务数量,动态设置用于Raw图像数据传输的共享通道的最大数量,并初始化设置的共享通道的头部和数据部分;所述共享通道的头部包括设定数量的字节,用于标识共享通道的通道状态、控制信息和数据部分的有效长度。
在一些可选的实施例中,上述方法还包括:
在应用层,实时侦听各共享通道的通道状态,基于共享通道的通道状态发生改变,通知内核层刷新该共享通道的通道状态。
本发明实施例还提供一种数据传输系统,包括:数据采集模块、应用层传输控制模块和内核层传输控制模块,在应用层和内核层之间动态设置多个用于数据传输的共享通道;
数据采集模块,用于获取Raw图像数据,根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,对所述Raw图像数据进行拆分得到图像数据单元;
应用层传输控制模块,用于根据共享通道的通道状态,动态获取可用的共享通道传输所述图像数据单元至内核层;
内核层传输控制模块,用于根据共享通道的通道状态和控制信息,将共享通道传输的图像数据单元映射到物理传输通道上。
本发明实施例还提供一种终端设备,包括上述的数据传输系统、摄像机传感器和USB传输单元;
所述数据传输系统从所述摄像机传感器采集Raw图像数据进行拆分和传输控制处理,并向USB传输单元传输处理后的Raw图像数据。
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的数据传输方法。
本发明实施例提供的上述技术方案的有益效果至少包括:
在应用层和内核层之间动态设置多个用于数据传输的共享通道,在应用层,对获取的Raw图像数据进行拆分,将拆分后的Raw图像数据通过多个共享通道并行传输至内核层,在内核层将各共享通道传输的Raw图像数据映射到物理传输通道上,在不改变摄像机传感器框架和USB框架的情况下,在数据采集和传输环节对数据进行处理,充分利用系统可用内存,动态预设多个共享通道智能协同、并行传输数据,有效的解决了摄像机传感器采集到图像后向USB驱动层面传输的过程中数据复制转移速度慢的问题,提高数据传输的速度和效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例一中数据传输方法的流程图;
图2为本发明实施例一中数据传输系统的结构示意图;
图3为本发明实施例一中终端设备的结构示例图;
图4为本发明实施例二中数据传输系统的整体框架结构示例图;
图5为本发明实施例二中数据拆分的一种可实现流程示意图;
图6为本发明实施例二中内核层实现传输控制的一种可选流程示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中存在的RAW图像数据传输速度无法进一步提高的问题,本发明实施例提供一种数据传输方法,在智能终端设备获取Raw图像数据后,可以快速的将终端设备上的Raw图像数据传输到个人计算机(PC),该方法在现有USB传输协议的基础上,在用户空间设计数据采集模块以及在内核空间设计数据传输控制模块实现对采集到的图像数据的并行拆分处理和多共享通道智能化传输控制,从而提高数据传输的速度。下面通过具体实施例进行详细描述。
实施例一
本发明实施例一提供一种数据传输方法,可用于终端设备上采集的Raw图像数据的传输,终端设备中包括应用层和内核层,该方法在应用层和内核层之间动态设置多个用于数据传输的共享通道,其流程如图1所示,包括如下步骤:
步骤S101:在应用层,根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,对Raw图像数据进行拆分得到图像数据单元。
在应用层设置数据采集处理模块,从摄像机传感器采集Raw图像数据,采集到图像数据后,对图像数据进行拆分打包处理,以便映射到多个共享通道中进行并行传输。
对Raw图像数据进行拆分时,根据设置的共享通道大小和数量中的至少一个、以及Raw图像数据的长度进行拆分处理;一般可以以Raw图像数据帧为单位进行处理,当一帧图像数据的长度不是很长,设置的多个共享通道可以一次性将数据传输完时,直接进行拆分并传输;当一帧图像数据的长度比较长,设置的多个共享通道可以一次性不能将数据传输完时,则需要进行多次截取、每次截取共享通道能够传输的数据段进行拆分并传输,多次循环截取,直至传输完整帧Raw图像数据;
步骤S102:根据共享通道的通道状态,动态获取可用的共享通道传输图像数据单元至内核层。
可以预先设置多个应用层和内核层之间的共享通道,共享通道的数量可以根据系统可申请的共享内存大小设置,在设置时,去除当前活动的USB传输任务数量所占用的内存后,剩余的可使用内存都可以用来设置共享通道。
对拆分后的图像数据单元进行传输时,获取共享通道的通道状态,使用空闲的的共享通道来传输图像数据单元至内核层。即获取通道状态为空闲的共享通道,将拆分后的图像数据单元映射到空闲的共享通道中传输至内核层。
步骤S103:在内核层,根据共享通道的通道状态和控制信息,将共享通道传输的图像数据单元映射到物理传输通道上。
在内核层侦听应用层的传输控制事件,根据共享通道的通道状态确定共享通道有数据传输时,根据共享通道的控制信息将其传输的数据映射到USB物理传输通道上,实现通过USB传输的方式将采集到的Raw图像数据传输至接收设备,比如PC。
具体的,基于侦听到的应用层的传输控制事件,扫描USB驱动资源和USB物理传输通道状态,初始化USB传输参数,建立USB传输通道;轮询共享通道的通道状态,根据共享通道的控制信息,将共享通道中传输的图像数据单元映射到空闲的USB传输通道上。
本发明实施例提供的上述方法和系统,在应用层和内核层之间动态设置多个用于数据传输的共享通道,在应用层,对获取的Raw图像数据进行拆分,将拆分后的Raw图像数据通过多个共享通道并行传输至内核层,在内核层将各共享通道传输的Raw图像数据映射到物理传输通道上,在不改变摄像机传感器框架和USB框架的情况下,在数据采集和传输环节对数据进行处理,充分利用系统可用内存,动态预设多个共享通道智能协同、并行传输数据,有效的解决了摄像机传感器采集到图像后向USB驱动层面传输的过程中数据复制转移速度慢的问题,提高数据传输的速度和效率。
上述步骤S101和S102,在应用层实现,对从摄像机传感器采集到的Raw图像数据进行处理。
对Raw图像数据进行拆分时,先判断一次拆分是否能够传输完;可以根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对Raw图像数据进行一次拆分能够传输完Raw图像数据,对Raw图像数据进行拆分得到图像数据单元;或根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对Raw图像数据进行一次拆分,不能够传输完Raw图像数据;对Raw图像数据顺次截取,每次截取一个图像数据段,对每个图像数据段进行拆分,得到图像数据单元。
可选的,根据设置的共享通道大小和数量中的至少一个,至少包括共享通道数量,或包括共享通道大小和数量。
可选的,根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对所述Raw图像数据进行一次拆分能够传输完所述Raw图像数据,可以根据获取的Raw图像数据的长度、系统可申请的共享内存大小和设置的共享通道数量,确定对Raw图像数据进行一次拆分能够传输完Raw图像数据;具体的,获取设置的共享通道数量与共享通道头部字节数的乘积,获取系统可申请的共享内存大小与所述乘积的差值,基于差值不小于Raw图像数据的长度,确定一次拆分能够传输完所述Raw图像数据;
可以根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对所述Raw图像数据进行一次拆分,不能传输完所述Raw图像数据,包括获取设置的共享通道数量与共享通道头部字节数的乘积;获取系统可申请的共享内存大小与所述乘积的差值,基于差值小于Raw图像数据的长度,确定一次拆分不能够传输完所述Raw图像数据。
可选的,根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对所述Raw图像数据进行一次拆分能够传输完所述Raw图像数据,可以根据设置的共享通道大小和数量、获取的Raw图像数据的长度,确定对Raw图像数据进行一次拆分能够传输完Raw图像数据;具体的,根据共享通道大小和共享通道头部字节数,确定共享通道数据部分的有效长度;基于所述有效长度与共享通道数量的乘积不小于Raw图像数据的长度,确定一次拆分能够传输完Raw图像数据;
可以根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对所述Raw图像数据进行一次拆分,不能传输完所述Raw图像数据,包括根据共享通道大小和共享通道头部字节数,确定共享通道数据部分的有效长度;基于所述有效长度与共享通道数量的乘积小于Raw图像数据的长度,确定一次拆分不能够传输完所述Raw图像数据。
可选的,也可以采用其他计算方式来判断一次拆分是否能够传输完Raw图像数据,比如根据根据Raw图像数据的长度、共享通道的大小和通道数据部分的有效长度等信息来判断,判断的方式很多,此处不再一一例举。
确定一次拆分能够传输完Raw图像数据,根据设置的共享通道大小对Raw图像数据进行拆分得到图像数据单元并获取通道状态为空闲的共享通道,将拆分后的图像数据单元映射到空闲的共享通道中传输至内核层。
确定一次拆分不能够传输完所述Raw图像数据,从Raw图像数据中截取图像数据段,根据设置的共享通道大小对截取的图像数据段进行拆分得到图像数据单元;基于截取后剩余的Raw图像数据长度大于0,返回继续执行从Raw图像数据中截取图像数据段的步骤,直至剩余的Raw图像数据长度为0。具体可以根据系统可申请的共享内存大小和共享通道的数量,从Raw图像数据中截取图像数据段,根据设置的共享通道大小对截取的图像数据段进行拆分得到图像数据单元并获取通道状态为空闲的共享通道,将拆分后的图像数据单元映射到空闲的共享通道中传输至内核层;若截取后剩余的Raw图像数据长度大于0,返回继续执行从Raw图像数据中截取图像数据段的步骤,直至剩余的Raw图像数据长度为0。
从Raw图像数据中截取图像数据段时,可以根据可用的共享通道一次能够传输的数据总量来进行截取,每次截取共享通道能够够传输的数据量进行拆分,传输完后,再截取共享通道能够够传输的数据量,直至传输完Raw图像数据。因此,需要先确定共享通道一次能够传输的数据量,然后再进行截取。
具体的,可以获取设置的共享通道数量与共享通道头部字节数的乘积,获取系统可申请的共享内存大小与所述乘积的差值,从Raw图像数据中截取所述差值对应长度的图像数据段;或根据共享通道大小和共享通道头部字节数,确定共享通道数据部分的有效长度,得到有效长度与共享通道数量的乘积;从Raw图像数据中截取乘积对应长度的图像数据段。
在一些可选的实施例中,上述方法还包括预先设置多个共享通道,可以根据系统可申请的共享内存大小、设置的共享通道大小和当前活动的USB传输任务数量,动态设置用于Raw图像数据传输的共享通道的最大数量,并初始化设置的共享通道的头部和数据部分;共享通道的头部包括设定数量的字节,用于标识共享通道的通道状态、控制信息和数据部分的有效长度。
在一些可选的实施例中,上述方法还包括在应用层,实时侦听各共享通道的通道状态,当共享通道的通道状态发生改变时,通知内核层刷新该共享通道的通道状态。
基于同一发明构思,本发明实施例还提供一种数据传输系统,其结构如图2所示,包括:数据采集模块11、应用层传输控制模块12和内核层传输控制模块13,在应用层和内核层之间动态设置多个用于数据传输的共享通道。
数据采集模块11,用于获取Raw图像数据,根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,对Raw图像数据进行拆分得到图像数据单元;
应用层传输控制模块12,用于根据共享通道的通道状态,动态获取可用的共享通道传输图像数据单元至内核层;
内核层传输控制模块13,用于根据共享通道的通道状态和控制信息,将共享通道传输的图像数据单元映射到物理传输通道上。
可选的,上述数据采集模块11,具体用于根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对所述Raw图像数据进行一次拆分能够传输完所述Raw图像数据,对所述Raw图像数据进行拆分得到图像数据单元;或根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对所述Raw图像数据进行一次拆分,不能够传输完所述Raw图像数据;对所述Raw图像数据顺次截取,每次截取一个图像数据段,对每个所述图像数据段进行拆分,得到图像数据单元。
上述数据采集模块11,具体用于获取设置的共享通道数量与共享通道头部字节数的乘积;获取系统可申请的共享内存大小与所述乘积的差值,基于所述差值不小于所述Raw图像数据的长度,确定一次拆分能够传输完所述Raw图像数据;或者根据共享通道大小与共享通道头部字节数,确定共享通道数据部分的有效长度;基于所述有效长度与共享通道数量的乘积不小于Raw图像数据的长度,确定一次拆分能够传输完所述Raw图像数据。
可选的,上述数据采集模块11,具体用于获取设置的共享通道数量与共享通道头部字节数的乘积;获取系统可申请的共享内存大小与所述乘积的差值,基于所述差值小于所述Raw图像数据的长度,确定一次拆分不能传输完所述Raw图像数据;或者根据共享通道大小和共享通道头部字节数,确定共享通道数据部分的有效长度;基于所述有效长度与共享通道数量的乘积小于Raw图像数据的长度,确定一次拆分不能传输完所述Raw图像数据。
上述数据采集模块11,具体用于从Raw图像数据中截取图像数据段,根据设置的共享通道大小对截取的图像数据段进行拆分得到图像数据单元;基于截取后剩余的Raw图像数据长度大于0,返回继续执行从Raw图像数据中截取图像数据段的步骤,直至剩余的Raw图像数据长度为0。
可选的,上述数据采集模块11,具体用于获取设置的共享通道数量与共享通道头部字节数的乘积;获取系统可申请的共享内存大小与所述乘积的差值,从Raw图像数据中截取所述差值对应长度的图像数据段;或根据共享通道大小和共享通道头部字节数,确定共享通道数据部分的有效长度,得到所述有效长度与共享通道数量的乘积;从Raw图像数据中截取所述乘积对应长度的图像数据段。
上述应用层传输控制模块12具体用于获取通道状态为空闲的共享通道,将拆分后的图像数据单元映射到空闲的共享通道中传输至内核层。
可选的,上述应用层传输控制模块12,具体用于基于侦听到的应用层的传输控制事件,扫描USB驱动资源和USB物理传输通道状态,初始化USB传输参数,建立USB传输通道;轮询共享通道的通道状态,根据共享通道的控制信息,将共享通道中传输的图像数据单元映射到空闲的USB传输通道上。
可选的,上述系统还包括:通道管理模块14,用于根据系统可申请的共享内存大小、设置的共享通道大小和当前活动的USB传输任务数量,动态设置用于Raw图像数据传输的共享通道的最大数量,并初始化设置的共享通道的头部和数据部分;共享通道的头部包括设定数量的字节,用于标识共享通道的通道状态、控制信息和数据部分的有效长度。
可选的,上述应用层传输控制模块12,还用于实时侦听各共享通道的通道状态,基于共享通道的通道状态发生改变,通知内核层刷新该共享通道的通道状态。
基于同一发明构思,本发明实施例还提供一种终端设备,如图3所示,包括上述的数据传输系统1、摄像机传感器2和USB传输单元3。
数据传输系统1从摄像机传感器2采集Raw图像数据进行拆分和传输控制处理,并向USB传输单元3传输处理后的Raw图像数据。
摄像机传感器安装在终端设备上,在终端设备的内核层有摄像机传感器驱动,能够将摄像机传感器采集的数据以RAW图像数据的形式提供的应用层,数据传输系统1中的数据采集模块11位于应用层中,在应用层传输控制模块12和内核层传输控制模块13的控制下,通过应用层和内核层之间动态设置的多个共享通道将数据提供到内核层通过USB传输单元传输。
本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令被处理器执行时实现时述的数据传输方法。
本发明实施例提供的上述系统和方法,在现有摄像机架构和USB接口结构的基础上,实现高效稳定的摄像机传感器Raw图像数据的传输,其传输效率大大提高,从Raw图像数据采集到传输能够达到现有传输速度的3倍以上,比如可以达到600Mb/s,甚至更高的传输速度,从而能够满足智能终端设备搭载高性能的摄像机传感器时的Raw图像数据传输需求。
实施例二
本发明实施例二提供上述数据传输方法的一种具体实现过程,其通过如图4所示的系统整体框架实现。
如图1所示,该系统框架建立在已有的终端设备(比如装载有Android系统或其他操作系统的终端设备)摄像机传感器框架和USB传输协议基础上,不改变现有的摄像机传感器框架、USB传输协议和系统底层配置的情况下,在应用层(或说用户空间)和内核层(或说内核空间)之间设计多个虚拟的共享通道用于数据的传输。在用户空间设置数据采集处理模块,在内核空间设计内核层传输控制模块,通过这两个模块实现数据采集、传输的智能控制策略和共享通道的动态管理。以提高USB底层硬件通道资源、传输处理层和摄像机传感器数据采集处理层的资源的协同处理效率,最终提高了整体的传输效率,实现了在不进行任何数据压缩编码的情况下的Raw图像数据的高速稳定传输。
如图4所示的系统框架,用户空间的数据采集处理模块可以包括数据采集模块、通道管理模块和应用层传输控制模块,数据采集模块可以从内核空间的摄像机传感器驱动单元获取Raw图像数据,并进行拆分处理,具体可以从摄像机(Camera)硬件抽象层(HardwareAbstraction Layer,HAL)获取Raw图像数据。通道管理模块可以动态管理多个共享通道,如图中所示的共享通道1、共享通道2、……共享通道n等,可以动态设置、调整共享通道的数量,可以侦听共享通道的通道状态,并通知给内核层传输控制模块。应用层传输控制模块,可以对数据采集模块数据拆分、共享通道数据传输等环节进行策略控制。
内核空间的内核层传输控制模块,可以侦听共享通道的通道状态,并在共享通道有数据传输时,将其映射到USB驱动,即将共享通道传输的数据映射到USB物理传输通道上进行传输。
上述系统框架中各个模块所实现的功能在实施例一中已进行描述的,此处不再赘述。下面具体介绍应用层的数据采集处理模块和内核层传输控制模块所实现的功能:
数据采集处理模块,利用系统接口从摄像机传感器(Camera Sensor)HAL层获取Raw图像数据,不破坏和改变现有的Android或其他系统平台的Camera框架,在数据采集处理模块设置有通道管理模块、数据采集模块和应用层传输控制模块,主要实现多共享通道的动态配置和管理、图像数据的并行拆分处理和多共享通道的数据传输控制。
为了实现多共享通道及智能化控制,在数据采集模块中定义了如下参数:
Raw图像数据的长度为Lengthraw;
共享通道大小为Msizesch,每个共享通道包括头部headsch和数据部分datasch两个部分,共享通道头部保留预设的字节数来承载共享通道的状态信息、数据信息和控制信息等通道相关信息,比如:状态可以保留4个字节用于存储共享通道的状态信息、数据信息和控制信息,标记为headsch={Cstatus,Ccontrol,Dlength},其中Cstatus表示共享通道的状态,占用第一个字节,Ccontrol表示共享通道的控制信息,占用第二个字节,Dlength表示共享通道数据部分datasch的有效长度,占用第三和第四个字节;
定义系统能够申请的总的共享内存大小Msizesys_all_smm;
系统支持的最大共享通道数量为Mnumsch;
当前活动的USB任务数量为Taskactive_usb。
如图4所示的,通道管理模块采用动态的通道管理策略来适配和兼容系统性能。如实施例一所示的,通道管理模块根据可申请的共享内存大小来设置共享通道的数量和大小,可以根据Raw图像数据长度动态调整共享通道的数量和长度,具体可以包括如下设置流程:
a)监听上层下发的size命令,获取系统可申请的总的共享内存大小Msizesys_all_smm。
b)获取当前需要传输的Raw图像数据的长度Lengthraw。
c)获取当前活动的USB任务数量Taskactive_usb。
上述a)、b)、c)获取顺序不分先后,可以同时获取或者先后逐一获取。
d)根据获取的Msizesys_all_smm、Lengthraw、Taskactive_usb设置共享通道的数量Mnumsch和大小Msizesch,其中可以根据设定的共享通道大小来确定共享通道的数量,也可以根据设定的共享通道数量来确定共享通道的大小,共享通道的数量Mnumsch和大小Msizesch可以用下列公式确定:
Mnumsch=(Msizesys_all_smm-4*Mnumsch)/Msizesch-Taskactive_usb。
e)初始化共享通道,设置所有的共享通道的头部headsch各字节的初始值全为0。
上述通道管理模块,可以如图4所示的设置在数据采集模块和共享传输通道之间,也可以如应用层传输控制模块那样不设置在数据采集模块和共享传输通道之间,只要能够和各个模块进行信息交互,实现对共享通道的管理即可。
如图4所示的数据采集模块对Raw图像数据进行拆分处理,以适应在多个共享通道中进行并行传输,其数据拆分处理流程一种具体的实现流程如图5所示,包括如下步骤:
步骤S201:获取Raw图像数据。
获取图像数据时,可以以帧为单位进行获取,针对获取的每一帧图像数据分别进行后续处理。
步骤S202:根据Raw图像数据的长度Lengthraw、设置的共享通道数量Mnumsch和系统可申请的共享内存大小Msizesys_all_smm,判断一次拆分是否能够完成获取的Raw图像数据的传输。
该步骤中判断一次可以传输的数据量Msizesys_all_smm-4*Mnumsch和获取的Raw图像数据的长度Lengthraw之间的大小关系,若Msizesys_all_smm-4*Mnumsch<Lengthraw,表示一次拆分无法完成获取的Raw图像数据的传输,执行步骤S203;否则,表示一次拆分能够完成获取的Raw图像数据的传输,执行步骤S204。
对于新获取的图像数据,其Raw图像数据的长度Lengthraw即为获取到的图像数据的长度。对于经过至少一次截取后的图像数据,其数据长度Lengthraw为截取后剩余的图像数据的长度Lengthraw_remain。
步骤S203:将全部Raw图像数据作为待拆分数据段,并更新截取后的Raw图像数据的长度。该步骤中将Raw图像数据的剩余长度Lengthraw_remain更新为0。
步骤S204:从Raw图像数据中截取待拆分的数据段,并更新截取后的Raw图像数据的长度。
第一次截取时,从Raw图像数据前端截取Msizesys_all_smm-4*Mnumsch大小的数据段进行处理,并对Raw图像数据的剩余部分的长度进行标记,剩余部分的长度标记为:Lengthraw_remain=Lengthraw-Msizesys_all_smm+4*Mnumsch。
再次进行数据段截取时,从Raw图像数据剩余部分的前端继续截取Msizesys_all_smm-4*Mnumsch大小的数据段进行处理,并更新Raw图像数据的剩余部分的长度。
步骤S205:对待拆分的数据段进行拆分得到图像数据单元。
当从步骤S203进入步骤S205时,对整个Raw图像数据进行拆分,当从步骤S204进入步骤S205时,对截取的Raw图像数据进行拆分。拆分时,将Raw图像数据段按顺序拆分为成N=Lengthraw%(Msizesch-4)个单元数据,即根据每个共享通道数据部分的有效长度Msizesch-4进行拆分,拆分出若干个Msizesch-4长度的图像数据单元。
步骤S206:获取当前可用的共享通道数量。
对共享通道的通道状态进行扫描,根据共享通道头部的通道状态Cstatus找到空闲的共享通道,即为当前可用的共享通道,将其数量设置为M。
步骤S207:比较拆分的图像数据单元数量N和当前可用的共享通道数量M的大小。
如果N大于M,说明没有足够的可用共享通道一次传输完拆分的图像数据单元,执行步骤S208,否则执行步骤S209。
步骤S208:将前M个图像数据单元映射到当前可用的M个共享通道,并更新剩余的图像数据单元数量为N=N-M。此外,对映射有图像数据单元的共享通道的通道状态标记为忙状态,即设置Cstatus为0xFF。
步骤S209:将N个图像数据单元映射到选择的N个当前可用的共享通道,并更新剩余的图像数据单元数量为N=0。此外,对映射有图像数据单元的共享通道的通道状态标记为忙状态,即设置Cstatus为0xFF。
步骤S210:判断是否还有未传输的图像数据单元,即判断N是否大于零。若是,执行步骤S206;若否,执行步骤S211。
步骤S211:判断是否还有剩余的Raw图像数据。
即判断Lengthraw_remain是否大于0,若是,说明Raw图像数据还存在剩余部分,将Lengthraw_remain作为更新后的Lengthraw,返回继续执行步骤S202,否则执行步骤S212结束本次拆分处理流程,继续获取下一帧Raw图像处理。
步骤S212:结束。
通过上述拆分处理流程可以实现Raw图像数据的自动拆分,并且动态的适配多个共享通道进行传输控制,将图像数据从用户空间共享到内核空间。在实现数据拆分时,可以采用上述图5所述的流程的实现,也可以采用其他具体的设计流程实现,只要最终能够实现对数据进行拆分,分配到多个共享通道中去传输即可。
如图4所示的,应用层传输控制模块采用轮询方式从通道管理模块中读取各个共享通道的通道状态,如果通道状态发生了改变,则通知内核层传输控制模块刷新通道状态。
如图4所示的,内核层传输控制模块可以用于接收来自应用层的图像数据。内核层传输控制模块,主要是接收来自用户空间的传输控制模块的事件信息,侦听USB驱动底层反馈的传输事件,以协同各个共享通道将图像数据通过USB底层驱动进行传输,其实现步骤如图6所示,包括如下步骤:
步骤S301:启动侦听进程,侦听上层应用层传输控制模块的传输控制事件。
步骤S302:基于传输控制指令,扫描USB驱动资源及和USB物理传输通道状态。
步骤S303:初始化USB传输参数,建立USB传输通道。
该步骤中初始化USB驱动层传输参数,以1024字节包大小,建立bulk传输通道,用于数据传输。
步骤S304:轮询共享通道的通道状态,根据共享通道的控制信息,将共享通道中传输的图像数据单元映射到空闲的USB物理传输通道上。
实时侦听USB驱动层的传输控制事件,找出传输空闲的USB物理传输通道。
轮询各个共享通道的头部headsch中的通道状态Cstatus和控制信息Ccontrol,以Ccontrol字节中的控制信息控制数据传输顺序,将Ccontrol对应字节中值最小的共享通道中的数据最先映射到USB物理传输通道中,实现按照Ccontrol对应字节中值的大小顺序依次将各共享通道的数据映射到USB物理传输通道中。
步骤S305:是否映射完所有有数据传输的共享通道。
当所有有数据传输的共享通道都映射到USB物理传输通道后,即所有共享通道都进入传输模式后,执行步骤S306;否则,继续执行步骤S304。
步骤S306:向应用层传输控制模块反馈传输完成信息。
所有共享通道的数据都完成传输后,向应用层传输控制模块反馈信息告知其已经完成多共享通道的传输协同映射处理,等待下次传输启动。
关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述的在系统部分将不做详细阐述说明。
上述系统和方法具有易用性的特点,在现有摄像机架构和USB接口结构的基础上,引入了虚拟多共享通道分组传输,采用智能控制策略进行传输控制,可以根据Raw图像数据的大小和共享通道的传输能力,动态调整传输速度,在不改变USB底层协议框架和兼容现有的摄像机传感器图像获取标准方式的情况下,实现了对USB方式传输Raw图像数据时的传输速度的有效提升,达到了现有在USB传输协议下基于bulk模式的图像数据流传输的3倍以上的速度。在Camera图像数据处理领域具有广阔的应用前景和深度的商业价值,比如:通过提高Raw图像数据传输速度,支持更高性能的Camera Sensor研发调试;又比如:采用动态共享通道分配方式,根据当前设备的USB负载信息动态调整共享通道,集成该方案后不会影响其他模块性能。
除非另外具体陈述,术语比如处理、计算、运算、确定、显示等等可以指一个或更多个处理或者计算系统、或类似设备的动作和/或过程,所述动作和/或过程将表示为处理系统的寄存器或存储器内的物理(如电子)量的数据操作和转换成为类似地表示为处理系统的存储器、寄存器或者其他此类信息存储、发射或者显示设备内的物理量的其他数据。信息和信号可以使用多种不同的技术和方法中的任何一种来表示。例如,在贯穿上面的描述中提及的数据、指令、命令、信息、信号、比特、符号和码片可以用电压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
Claims (13)
1.一种数据传输方法,其特征在于,在应用层和内核层之间动态设置多个用于数据传输的共享通道,所述方法包括:
在应用层,根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,对所述Raw图像数据进行拆分得到图像数据单元;根据共享通道的通道状态,动态获取可用的共享通道传输所述图像数据单元至内核层;
在内核层,基于侦听到的应用层的传输控制事件,扫描USB驱动资源和USB物理传输通道状态,初始化USB传输参数,建立USB传输通道;轮询共享通道的通道状态,根据共享通道的控制信息,将共享通道中传输的图像数据单元映射到空闲的USB传输通道上。
2.如权利要求1所述的方法,其特征在于,所述根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,对所述Raw图像数据进行拆分得到图像数据单元;包括:
根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对所述Raw图像数据进行一次拆分能够传输完所述Raw图像数据,对所述Raw图像数据进行拆分得到图像数据单元;或
根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对所述Raw图像数据进行一次拆分,不能传输完所述Raw图像数据;对所述Raw图像数据顺次截取,每次截取一个图像数据段,对每个所述图像数据段进行拆分,得到图像数据单元。
3.如权利要求2所述的方法,其特征在于,根据设置的共享通道大小和数量中的至少一个,至少包括共享通道数量,或包括共享通道大小和数量。
4.如权利要求1所述的方法,其特征在于,根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对所述Raw图像数据进行一次拆分能够传输完所述Raw图像数据,包括:
获取设置的共享通道数量与共享通道头部字节数的乘积;获取系统可申请的共享内存大小与所述乘积的差值,基于所述差值不小于所述Raw图像数据的长度,确定一次拆分能够传输完所述Raw图像数据;或者
根据共享通道大小与共享通道头部字节数,确定共享通道数据部分的有效长度;基于所述有效长度与共享通道数量的乘积不小于Raw图像数据的长度,确定一次拆分能够传输完所述Raw图像数据。
5.如权利要求1所述的方法,其特征在于,根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,确定对所述Raw图像数据进行一次拆分,不能传输完所述Raw图像数据,包括:
获取设置的共享通道数量与共享通道头部字节数的乘积;获取系统可申请的共享内存大小与所述乘积的差值,基于所述差值小于所述Raw图像数据的长度,确定一次拆分不能传输完所述Raw图像数据;或者
根据共享通道大小和共享通道头部字节数,确定共享通道数据部分的有效长度;基于所述有效长度与共享通道数量的乘积小于Raw图像数据的长度,确定一次拆分不能传输完所述Raw图像数据。
6.如权利要求2所述的方法,其特征在于,对所述Raw图像数据顺次截取,每次截取一个图像数据段,对每个所述图像数据段进行拆分,得到图像数据单元,包括:
从Raw图像数据中截取图像数据段;
根据设置的共享通道大小对截取的图像数据段进行拆分得到图像数据单元;
基于截取后剩余的Raw图像数据长度大于0,返回继续执行从Raw图像数据中截取图像数据段的步骤,直至剩余的Raw图像数据长度为0。
7.如权利要求6所述的方法,其特征在于,所述从Raw图像数据中截取图像数据段,包括:
获取设置的共享通道数量与共享通道头部字节数的乘积;获取系统可申请的共享内存大小与所述乘积的差值,从Raw图像数据中截取所述差值对应长度的图像数据段;或
根据共享通道大小和共享通道头部字节数,确定共享通道数据部分的有效长度,得到所述有效长度与共享通道数量的乘积;从Raw图像数据中截取所述乘积对应长度的图像数据段。
8.如权利要求1所述的方法,其特征在于,所述根据共享通道的通道状态,动态获取可用的共享通道传输所述图像数据单元至内核层,包括:
获取通道状态为空闲的共享通道,将拆分后的图像数据单元映射到空闲的共享通道中传输至内核层。
9.如权利要求1-8任一所述的方法,其特征在于,还包括:
根据系统可申请的共享内存大小、设置的共享通道大小和当前活动的USB传输任务数量,动态设置用于Raw图像数据传输的共享通道的最大数量,并初始化设置的共享通道的头部和数据部分;所述共享通道的头部包括设定数量的字节,用于标识共享通道的通道状态、控制信息和数据部分的有效长度。
10.如权利要求1-8任一所述的方法,其特征在于,还包括:
在应用层,实时侦听各共享通道的通道状态,基于共享通道的通道状态发生改变,通知内核层刷新该共享通道的通道状态。
11.一种数据传输系统,其特征在于,包括:数据采集模块、应用层传输控制模块和内核层传输控制模块,在应用层和内核层之间动态设置多个用于数据传输的共享通道;
数据采集模块,用于获取Raw图像数据,根据设置的共享通道大小和数量中的至少一个、以及获取的Raw图像数据的长度,对所述Raw图像数据进行拆分得到图像数据单元;
应用层传输控制模块,用于根据共享通道的通道状态,动态获取可用的共享通道传输所述图像数据单元至内核层;
内核层传输控制模块,用于基于侦听到的应用层的传输控制事件,扫描USB驱动资源和USB物理传输通道状态,初始化USB传输参数,建立USB传输通道;轮询共享通道的通道状态,根据共享通道的控制信息,将共享通道中传输的图像数据单元映射到空闲的USB传输通道上。
12.一种终端设备,其特征在于,包括如权利要求11所述的数据传输系统、摄像机传感器和USB传输单元;
所述数据传输系统从所述摄像机传感器采集Raw图像数据进行拆分和传输控制处理,并向USB传输单元传输处理后的Raw图像数据。
13.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现权利要求1-10任一所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111643661.2A CN114510443B (zh) | 2021-12-29 | 2021-12-29 | 一种数据传输方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111643661.2A CN114510443B (zh) | 2021-12-29 | 2021-12-29 | 一种数据传输方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114510443A CN114510443A (zh) | 2022-05-17 |
CN114510443B true CN114510443B (zh) | 2024-02-13 |
Family
ID=81548390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111643661.2A Active CN114510443B (zh) | 2021-12-29 | 2021-12-29 | 一种数据传输方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114510443B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013175824A (ja) * | 2012-02-23 | 2013-09-05 | Nikon Corp | 電子カメラ |
CN104049906A (zh) * | 2013-03-11 | 2014-09-17 | Lsi公司 | 用于动态高速缓存共享的系统、方法和计算机可读介质 |
CN106253981A (zh) * | 2016-07-26 | 2016-12-21 | 维沃移动通信有限公司 | 一种数据传输方法及第一电子设备 |
CN111114320A (zh) * | 2019-12-27 | 2020-05-08 | 深圳市众鸿科技股份有限公司 | 一种车载智能座舱共享显示方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7464178B2 (en) * | 2001-05-23 | 2008-12-09 | Markport Limited | Open messaging gateway |
-
2021
- 2021-12-29 CN CN202111643661.2A patent/CN114510443B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013175824A (ja) * | 2012-02-23 | 2013-09-05 | Nikon Corp | 電子カメラ |
CN104049906A (zh) * | 2013-03-11 | 2014-09-17 | Lsi公司 | 用于动态高速缓存共享的系统、方法和计算机可读介质 |
CN106253981A (zh) * | 2016-07-26 | 2016-12-21 | 维沃移动通信有限公司 | 一种数据传输方法及第一电子设备 |
CN111114320A (zh) * | 2019-12-27 | 2020-05-08 | 深圳市众鸿科技股份有限公司 | 一种车载智能座舱共享显示方法及系统 |
Non-Patent Citations (2)
Title |
---|
大数据时代档案信息资源共享平台性能优化的研究;卞咸杰;;档案管理(第06期);17-22 * |
迁移学习下高分快视数据道路快速提取;张军军;万广通;张洪群;李山山;冯旭祥;;中国图象图形学报(第07期);223-234 * |
Also Published As
Publication number | Publication date |
---|---|
CN114510443A (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647104B (zh) | 请求处理方法、服务器及计算机可读存储介质 | |
CN108733344B (zh) | 数据读写方法、装置以及环形队列 | |
CN109558344B (zh) | 一种适用于网络传输的dma传输方法及dma控制器 | |
EP2530599A1 (en) | Method and mobile terminal for realizing audio transmission | |
CN110309088B (zh) | Zynq fpga芯片及其数据处理方法、存储介质 | |
JP6475256B2 (ja) | コンピュータ、制御デバイス及びデータ処理方法 | |
CN111142788B (zh) | 一种数据迁移方法、装置和计算机可读存储介质 | |
CN106571978B (zh) | 数据包捕获方法及装置 | |
CN111274019B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN111221759A (zh) | 一种基于dma的数据处理系统及方法 | |
CN112616024A (zh) | Usb摄像头数据获取方法、装置、电子设备和存储介质 | |
CN111741246A (zh) | 一种视频存储方法、装置、soc系统、介质 | |
CN112631969A (zh) | 一种基于pcie接口的虚拟多通道数据传输方法和系统 | |
CN114510443B (zh) | 一种数据传输方法和系统 | |
CN111310638B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN111143068A (zh) | 文件操作方法、装置及嵌入式控制器 | |
CN110990169A (zh) | 一种利用共享内存进行进程间字节流通信的结构及方法 | |
CN116166421A (zh) | 分布式训练任务的资源调度方法及其设备 | |
CN112748883B (zh) | 一种io请求流水线处理设备、方法、系统及存储介质 | |
CN113672172A (zh) | 应用于led显示控制系统的数据交互方法以及接收卡 | |
EP2413248B1 (en) | Direct memory access device for multi-core system and operating method of the same | |
CN111143078B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN103514126A (zh) | 一种数据的接收方法、系统以及装置 | |
CN114328317B (zh) | 一种提升存储系统通信性能的方法、装置及介质 | |
CN111160546B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |