CN117337561A - 受约束mcu环境中的高带宽速率usb数据的捕获 - Google Patents
受约束mcu环境中的高带宽速率usb数据的捕获 Download PDFInfo
- Publication number
- CN117337561A CN117337561A CN202280036515.XA CN202280036515A CN117337561A CN 117337561 A CN117337561 A CN 117337561A CN 202280036515 A CN202280036515 A CN 202280036515A CN 117337561 A CN117337561 A CN 117337561A
- Authority
- CN
- China
- Prior art keywords
- data
- header
- preview
- pause
- processed
- 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
- 238000010801 machine learning Methods 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 11
- 230000037406 food intake Effects 0.000 claims description 7
- 238000000034 method Methods 0.000 description 15
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种在应用机器学习的物联网设备中使用的受约束主控制器单元系统。该系统至少包括:数据摄取器;数据处理器,其可与所述数据摄取器以相应的“暂停/进行/暂停/进行”和“进行/暂停/进行/暂停”匹配序列交替地操作;以及传入数据的报头预览,其中基于所述报头预览,所述匹配序列的参数被自动选择,该参数至少包括定时和数据量。非报头数据不由所述报头预览处理,且仅在其相应的“进行”匹配序列中的一者期间由所述数据处理器处理。
Description
相关申请的交叉引用
本申请要求2021年5月21日提交的题为“受约束MCU环境中的高带宽速率USB数据的捕获”申请号为63/191,682的美国临时申请的优先权,其全部内容通过引用并入本文,如同其全部内容被阐述一样。
背景技术
低到中等范围能力的MCU(类似于ARM Cortex M4)不具有消耗高速率USB 2.0数据的CPU功率,诸如60帧每秒(FPS)HD视频(高达7兆字节/秒),即使接收电路符合USB 2.0并且可以以这样的速率摄取数据。由于CPU处理和存储器拷贝(copy)性能约束,典型的ARMCortex M4实现被限制为约3.6兆字节/秒。在此,这样的系统被称为“受约束MCU系统”。这种系统通常具有有限的RAM(<=2.5MB)和可用的闪存(<=8MB),CPU系统时钟为200Mhz或更小。
在已知技术中,有时通过使用能够连续接收和处理视频帧的较高能力、较高成本MCU来解决此问题。类似地,有时采用专用外围控制器板或具有内置存储器的外围设备来解决上述问题。然而,所有这些解决方案都增加了系统的大量成本,并且增加了系统设计的显著复杂性。
因此,对于需要用于机器学习(ML)和/或神经网络(NN)处理的高质量、高速度视频的基于低成本、低能力MCU的IoT系统的开发人员,需要针对上述问题的解决方案。
发明内容
公开了一种在应用机器学习的物联网设备中使用的受约束主控制器单元装置、系统和方法。该系统至少包括:数据摄取器;数据处理器,其可与所述数据摄取器以相应的“暂停/进行/暂停/进行(pause/go/pause/go)”和“进行/暂停/进行/暂停(go/pause/go/pause)”匹配序列交替地操作;以及传入数据的报头预览,其中基于所述报头预览,针对所述匹配序列的参数被自动选择,该参数至少包括定时和数据量。非报头数据不由所述报头预览处理,且仅在其相应的“进行(go)”匹配序列中的一者期间由所述数据处理器处理。
附图说明
下文将参照附图描述示例性装置、系统和方法,附图仅以非限制性示例的方式给出,并且其中:
图1示出了实施例的各方面;
图2示出了实施例的各方面;
图3示出了实施例的各方面;
图4示出了实施例的各方面;
图5示出了实施例的各方面;以及
图6示出了实施例的各方面。
具体实施方式
本文提供的附图和描述可能已经被简化以说明与清楚理解本文描述的装置、系统和方法相关的方面,同时为了清楚起见,消除了可以在典型的类似设备、系统和方法中发现的其他方面。因此,本领域技术人员可以认识到,其它元件和/或操作对于实现本文所述的设备、系统和方法可能是期望的和/或必要的。但是因为这样的元件和操作在本领域中是已知的,并且因为它们不促进对本公开的更好理解,所以为了简洁起见,本文可能不提供对这样的元件和操作的讨论。然而,本公开被认为仍然包括本领域普通技术人员已知的对所描述的方面的所有这样的元件、变化和修改。
在全文中提供实施例,使得本公开充分彻底并且将所公开的实施例的范围完全传达给本领域技术人员。阐述了许多具体细节,例如具体组件、设备和方法的示例,以提供对本公开的实施例的透彻理解。然而,对于本领域技术人员来说显而易见的是,不需要采用某些具体公开的细节,并且实施例可以以不同的形式来被实施。因此,实施例不应被解释为限制本公开的范围。如上所述,在一些实施例中,可能不详细描述公知的过程、公知的设备结构和公知的技术。
本文所用的术语仅是为了描述特定实施例的目的,而不是旨在进行限制。例如,如本文所用,单数形式“一”、“一个”和“该”、“所述”也可旨在包括复数形式,除非上下文另外清楚地指明。术语“包括”、“包含”、“含有”和“具有”是包含性的,因此指定了所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或其群组的存在或添加。除非特别地被确定为优选的或需要的执行顺序,否则这里描述的步骤、过程和操作不应被解释为必须要求它们以所讨论或示出的特定顺序执行。还应理解,可采用额外或替代步骤来代替所公开方面或与所公开方面结合。
当元件或层被称为在另一元件或层“上”、“之上”、“连接到”或“耦合到”另一元件或层时,除非另外明确指出,否则其可以直接在另一元件或层上、之上、连接到或耦合到另一元件或层,或者可以存在中间元件或层。相反,当元件或层被称为“直接在另一元件或层上”、“直接在另一元件或层之上”、“直接连接到”或“直接耦合到”另一元件或层时,可能不存在中间元件或层。用于描述元件之间的关系的其他词语应当以类似的方式解释(例如,“在……之间”对“直接在……之间”、“相邻”对“直接相邻”等)。此外,如本文所使用的,术语“和/或”包括一个或多个相关联的所列项的任何和所有组合。
此外,尽管术语第一、第二、第三等可以在这里用于描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应当受这些术语限制。这些术语仅用于将一个元件、组件、区域、层或部分与另一个元件、组件、区域、层或部分区分开。除非上下文清楚地指出,否则诸如“第一”、“第二”和其它数字术语的术语当在本文中使用时不暗示顺序或次序。因此,在不脱离实施例的教导的情况下,下面讨论的第一元件、组件、区域、层或部分可以被称为第二元件、组件、区域、层或部分。
这些实施例提供了优于已知技术的若干优点。更具体地,实施例:
1)在针对非流式应用的高带宽USB操作期间,减轻了低成本MCU CPU和存储器写入性能约束;
2)允许Cortex-M4或类似MCU以60FPS1280x720 2字节/每像素压缩视频输出或等效物(约7.2MB/s数据速率)处理来自相机的数据,其质量在针对机器学习用例的图像获取中是合意的;
3)减轻上面引用的应用中的低成本MCU的性能问题,同时允许正常执行其它时间关键的任务;以及
4)实现了高带宽速率和无损接收,例如60FPS1280x720 2字节/像素压缩视频(约7.2MB/s数据速率),至多用于固定数量的帧,并确保存储器可用性。
上述能力在具有视频/图像能力的IoT解决方案中是非常有价值的,这些解决方案将受约束MCU系统上的“在边缘处(at-the-edge)”机器学习或神经网络处理应用于基于外部触发的传入实时成像。简而言之,实施例通过双重方法实现这些结果。
在第一方面,“暂停/进行/暂停/进行”方法被应用于数据摄取,然后是数据处理,然后是数据摄取,再然后是数据处理,等等。在第二方面,这些“数据摄取/暂停摄取”和“处理数据/数据摄取/暂停摄取”以及“处理数据/…分叉”的特性可基于“报头预览”来修改,其中在仅报头上查看传入数据/数据分组以得到报头中的信息,如果对“暂停/进行/暂停/进行…”过程的特性(即,定时、数据量等)进行微小修改,则该信息可指示效率提高。
更具体地,在第一方面,存在来自较高协议处理的原始数据摄取的解耦,以最小化存储器拷贝(低能力系统中的关键性能约束)。在第二方面,窥视USB数据分组报头信息以查明较高协议单元(例如视频帧)的数量和大小,允许监视/控制数据流而完全没有处理数据的损失。
这部分地通过以下方式实现,并且如与图1相比的图3-5中所证明的:
a)禁用原始数据的摄取后处理,直到上层软件请求捕获特定数量的较高协议单元(例如视频帧)为止。这在USB堆栈之上的层中完成,例如用于视频的UVC堆栈;
b)提供以“单元数量”为参数的“捕获开启(capture on)”API,以激活对USB原始数据分组的摄取和存储;
c)将原始USB分组的摄取与进一步处理解耦,允许在数据摄取的时间关键时段期间最小化存储器拷贝;
d)窥视USB分组报头以查明接收的较高协议单元(例如视频帧)的数量以及其大小,该大小是它们的可行性的指示并且可以用于过滤;
e)当已经接收到包含期望数量的帧的足够原始分组时,终止原始分组的摄取。如(d)中所述,确定帧终止/开始;以及
f)处理高速缓存的分组并转发到请求的输入的上层。
这种方法具有几个益处。这些益处中包括:将高速、高带宽外围设备与低能力MCU进行接口连接以用于非流式用例的能力;以及在非捕获模式期间限制CPU负载的能力,作为非限制性示例,这允许进行其他时间关键的任务,如驱动屏幕、RF连接性和GPIO处理。
如图6所示,作为非限制性示例,“捕获开启”触发可以在至少三种模式中操作:
“后视”:它使用已经接收的分组并且从这些分组检索足够的UVC视频帧(或其它更高协议帧);
“前视”:它捕获新的分组,直到已经接收到足够的更高协议单元(例如视频帧);以及
上述两种模式的混合,其中一些较高协议单元(例如视频帧)从现有分组中检索,而一些从新接收到的分组中检索。
在任何这样的相机加MCU系统中,从捕获信号传感器和相机缓冲到帧捕获的实时,都存在各种内置延迟。上述模式允许对端到端系统进行微调,以捕获设备的操作序列中的来自特定时刻的帧。
此外,提供本公开的描述以使得本领域的任何技术人员能够制造或使用所公开的实施例。所属领域的技术人员将容易明白对本发明的各种修改,且本文所界定的一般原理可在不脱离本发明的精神或范围的情况下应用于其它变化。因此,本公开内容并不旨在局限于本文所描述的示例和设计,而是应当符合与本文所公开的原理和新颖特征相一致的最宽范围。
Claims (13)
1.一种在应用机器学习的物联网设备中使用的受约束主控制器单元系统,具有小于或等于2.5MB的随机存取存储器能力、小于或等于8MB的闪存存储器能力以及200MHz或更小的系统时钟速率,所述受约束主控制器单元系统包括:
数据摄取器;
数据处理器,其可与所述数据摄取器以相应的“暂停/进行/暂停/进行”和“进行/暂停/进行/暂停”匹配序列交替地操作;
传入数据的报头预览,其中基于所述报头预览,针对所述匹配序列的参数被自动选择,所述参数至少包括定时和数据量;
其中非报头数据不由所述报头预览处理,且仅在其相应的“进行”匹配序列中的一者期间由所述数据处理器处理。
2.根据权利要求1所述的系统,其中所述匹配序列的所述参数将原始数据摄取与较高协议处理解耦以最小化存储器拷贝。
3.根据权利要求1所述的系统,其中所述报头预览与USB数据分组报头有关。
4.根据权利要求1所述的系统,其中所述报头预览至少查明较高协议单元的数量和大小。
5.根据权利要求4所述的系统,其中所述较高协议单元是视频帧。
6.根据权利要求1所述的系统,其中非报头数据被划分,并且仅在所述数据处理器的所述“进行”匹配序列中的选择的“进行”匹配序列期间,按类型被处理。
7.根据权利要求6所述的系统,其中在所述“进行”匹配序列期间,较高协议数据比较低协议数据更少地被处理。
8.根据权利要求7所述的系统,其中所述较高协议数据仅在来自较高处理层的请求时被处理。
9.根据权利要求1所述的系统,其中所述数据摄取器和所述数据处理器的所相应的“进行”和“暂停”匹配序列的所述定时是不相等的。
10.根据权利要求1所述的系统,其中所述数据摄取器和所述数据处理器的所相应的“进行”和“暂停”匹配序列的所述定时是相等的。
11.根据权利要求1所述的系统,其中所述报头预览指示数据可行性。
12.根据权利要求1所述的系统,其中所述数据处理器的所述“进行”序列相对于所述报头预览是后视的。
13.根据权利要求1所述的系统,其中所述数据处理器的所述“进行”序列相对于所述报头预览是前视的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163191682P | 2021-05-21 | 2021-05-21 | |
US63/191,682 | 2021-05-21 | ||
PCT/US2022/030554 WO2022246324A1 (en) | 2021-05-21 | 2022-05-23 | Capture of high bandwidth rate usb data in constrained mcu environments |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117337561A true CN117337561A (zh) | 2024-01-02 |
Family
ID=84140932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280036515.XA Pending CN117337561A (zh) | 2021-05-21 | 2022-05-23 | 受约束mcu环境中的高带宽速率usb数据的捕获 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4327550A1 (zh) |
CN (1) | CN117337561A (zh) |
WO (1) | WO2022246324A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9582541B2 (en) * | 2013-02-01 | 2017-02-28 | Netapp, Inc. | Systems, methods, and computer program products to ingest, process, and output large data |
EP3342137B1 (en) * | 2015-08-27 | 2021-06-02 | Foghorn Systems, Inc. | Edge intelligence platform, and internet of things sensor streams system |
WO2019050964A1 (en) * | 2017-09-06 | 2019-03-14 | Plex Systems, Inc. | SECURE AND EXPANDABLE DATA INGESTION PIPELINE |
KR101928400B1 (ko) * | 2018-09-11 | 2018-12-12 | 여운남 | 저전력 IoT 디바이스용 멀티 프로세서 시스템 |
US11394794B2 (en) * | 2018-10-18 | 2022-07-19 | Oracle International Corporation | Fast ingestion of records in a database using data locality and queuing |
-
2022
- 2022-05-23 EP EP22805664.4A patent/EP4327550A1/en active Pending
- 2022-05-23 WO PCT/US2022/030554 patent/WO2022246324A1/en active Application Filing
- 2022-05-23 CN CN202280036515.XA patent/CN117337561A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4327550A1 (en) | 2024-02-28 |
WO2022246324A1 (en) | 2022-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4421897B2 (ja) | デジタルビデオおよび高解像度デジタル静止写真の取得、処理および送信のための同時二重パイプライン | |
CN109963083B (zh) | 图像处理器、图像处理方法、拍摄装置和电子设备 | |
US20140111670A1 (en) | System and method for enhanced image capture | |
US20150242994A1 (en) | Method and system for accelerating video preview digital camera | |
CN110062161B (zh) | 图像处理器、图像处理方法、拍摄装置和电子设备 | |
JP2002503065A (ja) | ディジタル・カメラのビデオ・ストリーミング動作の間に静止画像をキャプチャする方法および装置 | |
KR20160110472A (ko) | 상이한 인코딩 파라미터를 이용해 인코딩되는 복수의 인코딩 스트리밍 | |
JP2003524909A (ja) | マルチメディアネットワーク・インタフェースを達成する方法及び装置 | |
TW201207624A (en) | Controlling data transfer method, controller and electronic system thereof | |
EP2919458A1 (en) | Method and system for playback of motion video | |
US6446155B1 (en) | Resource bus interface | |
CN111641804A (zh) | 视频数据处理方法和装置、终端、摄像头及视频会议系统 | |
US20070065022A1 (en) | Image signal processing apparatus and method | |
JP2001238190A (ja) | 画像処理装置及びその制御処理方法 | |
KR101615466B1 (ko) | 비디오 분석 및 인코딩을 위한 복수의 비디오 채널의 캡쳐 | |
US20190306462A1 (en) | Image processing apparatus, videoconference system, image processing method, and recording medium | |
CN117337561A (zh) | 受约束mcu环境中的高带宽速率usb数据的捕获 | |
US8436915B2 (en) | Image processing apparatus | |
JP2013211724A (ja) | 撮像装置 | |
JP2013211715A (ja) | 撮像装置 | |
CN114095660B (zh) | 图像显示方法、装置、存储介质及电子设备 | |
US7805069B2 (en) | Imaging device, system and associated methods using multiple harmonized data streams | |
JP2005176233A (ja) | 通信装置及び通信システム | |
JP4266477B2 (ja) | 情報処理装置及びその制御方法 | |
JP2021040269A (ja) | 撮像装置及びその制御方法及びプログラム |
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 |