专利类型 | 发明公开 | 法律事件 | 公开; 实质审查; |
专利有效性 | 实质审查 | 当前状态 | 实质审查 |
申请号 | CN202510102959.4 | 申请日 | 2025-01-22 |
公开(公告)号 | CN119946334A | 公开(公告)日 | 2025-05-06 |
申请人 | 南京汇川技术有限公司; | 申请人类型 | 企业 |
发明人 | 王亚华; 祝福; | 第一发明人 | 王亚华 |
权利人 | 南京汇川技术有限公司 | 权利人类型 | 企业 |
当前权利人 | 南京汇川技术有限公司 | 当前权利人类型 | 企业 |
省份 | 当前专利权人所在省份:江苏省 | 城市 | 当前专利权人所在城市:江苏省南京市 |
具体地址 | 当前专利权人所在详细地址:江苏省南京市江宁区秣陵街道长青街19号(江宁开发区) | 邮编 | 当前专利权人邮编:211100 |
主IPC国际分类 | H04N21/266 | 所有IPC国际分类 | H04N21/266 ; H04N21/242 ; H04L69/14 ; H04N21/43 ; H04N21/433 ; H04N21/23 ; H04N21/231 |
专利引用数量 | 0 | 专利被引用数量 | 0 |
专利权利要求数量 | 16 | 专利文献类型 | A |
专利代理机构 | 深圳市世纪恒程知识产权代理事务所 | 专利代理人 | 张虹; |
摘要 | 本 申请 公开了一种视频处理装置、设备、视频数据传输方法、介质及产品,涉及工业视觉技术领域,视频处理装置包括多个传输通道、数据发送侧和数据接收侧,数据发送侧包括分发模 块 ,分发模块用于按照设定的分发模式将待处理视频数据流分成多个子数据流,并将分成的多个子数据流分发到多个传输通道进行传输;数据接收侧包括合并模块,所述合并模块经多个所述传输通道与所述分发模块连接,合并模块用于将接收到的多个传输通道的子数据流的标示位分别进行相互匹配;在多个所述传输通道的所述子数据流的标示位匹配成功时,根据对应的分发模式将接收的多个传输通道的子数据流进行缓存并合并。用于解决无法满足高 分辨率 、高行频场景的传输要求的技术问题。 | ||
权利要求 | 1.一种视频处理装置,其特征在于,所述视频处理装置包括: |
||
说明书全文 | 视频处理装置、设备、视频数据传输方法、介质及产品技术领域[0001] 本申请涉及工业视觉技术领域,尤其涉及一种视频处理装置、设备、视频数据传输方法、介质及产品。 背景技术[0003] 本申请的主要目的在于提供一种视频处理装置、设备、视频数据传输方法、介质及产品,旨在解决无法满足高分辨率、高行频场景的传输要求的技术问题。 [0004] 为实现上述目的,本申请提出一种视频处理装置,所述视频处理装置包括: [0005] 多个传输通道; [0006] 数据发送侧,包括分发模块,所述分发模块用于按照设定的分发模式将待处理视频数据流分成多个子数据流,并将分成的多个子数据流分发到多个传输通道进行传输; [0007] 数据接收侧,包括合并模块,所述合并模块经多个所述传输通道与所述分发模块连接,所述合并模块用于将接收到的多个传输通道的子数据流的标示位分别进行相互匹配;在多个所述传输通道的所述子数据流的标示位匹配成功时,根据对应的分发模式将接收的多个传输通道的子数据流进行缓存并合并。 [0008] 在一实施例中,所述数据发送侧设有多个发送模块,所述分发模块通过多个所述发送模块与多个所述传输通道的第一端连接,用于将所述待处理视频数据流分成多个子数据流,并将分成的多个子数据流分发到多个所述传输通道进行传输; [0009] 所述数据接收侧设有多个接收模块,所述合并模块通过多个所述接收模块与多个所述传输通道的第二端连接,用于接收多个所述传输通道传输的子数据流。 [0010] 在一实施例中,每一所述发送模块包括依次连接的第一mipi接口、串行器,所述分发模块与多个所述第一mipi接口连接,用于将所述待处理视频数据流分成多个mipi子数据流;多个所述串行器与多个所述传输通道的第一端连接,用于将分成的多个mipi子数据流转为GMSL串行子数据流后分发到多个所述传输通道进行传输; [0011] 每一所述接收模块包括依次连接的解串器、第二mipi接口,多个所述第二mipi接口与所述合并模块连接,多个所述解串器与多个所述传输通道的第二端连接,用于对多个所述传输通道传输的GMSL串行子数据流解串再转为mipi子数据流。 [0013] 所述分发模块用于将每一行像素子数据流中的数据流分为奇像素子数据流和偶像素子数据流,并将奇像素子数据流输出至多个传输通道中的一个或者多个,将偶像素子数据流输出至多个传输通道中的另一个或者多个; [0014] 或者,所述分发模块用于将每一帧中的数据流分为奇行像素子数据流和偶行像素子数据流,并将奇行像素子数据流输出至多个传输通道中的一个或者多个,将偶行像素子数据流输出至多个传输通道中的另一个或者多个; [0015] 或者,所述分发模块用于将每一行像素子数据流分为左子数据流和右子数据流,并将左子数据流输出至多个传输通道中的一个或者多个,将右子数据流输出至多个传输通道中的另一个或者多个。 [0016] 在一实施例中,所述数据接收侧还包括缓存模块,每一所述传输通道均设有所述缓存模块; [0017] 在将每一行像素子数据流中的数据流分为奇像素子数据流和偶像素子数据流,或者将每一帧中的数据流分为奇行像素子数据流和偶行像素子数据流,或者将每一行像素子数据流分为左子数据流和右子数据流时,所述缓存模块用于将接收的每一传输通道的子数据流分别进行缓存; [0018] 在将每一帧中的数据流分为奇行像素子数据流和偶行像素子数据流,或者将每一行像素子数据流分为左子数据流和右子数据流时,所述缓存模块用于对多个传输通道中存在重叠的子数据流中较后输出的子数据流进行缓存。 [0019] 此外,为实现上述目的,本申请还提出一种视频数据传输方法,方法应用于如上所述的视频处理装置,所述视频数据传输方法包括以下步骤: [0020] 数据发送侧按照设定的分发模式将待处理视频数据流分成多个子数据流,并将分成的多个子数据流分发到多个传输通道进行传输; [0021] 数据接收侧将接收到的多个传输通道的子数据流的标示位分别进行相互匹配; [0022] 在多个所述传输通道的所述子数据流的标示位匹配成功时,根据对应的分发模式将接收的多个传输通道的子数据流进行缓存。 [0023] 在一实施例中,将待处理视频数据流以帧为单位,每一帧包括多行像素数据流,所述分发模式包括: [0024] 将每一行像素子数据流中的数据流分为奇像素子数据流和偶像素子数据流,将奇像素子数据流输出至多个传输通道中的一个或者多个,将偶像素子数据流输出至多个传输通道中的另一个或者多个; [0025] 将每一帧中的数据流分为奇行像素子数据流和偶行像素子数据流,将奇行像素子数据流输出至多个传输通道中的一个或者多个,将偶行像素子数据流输出至多个传输通道中的另一个或者多个; [0026] 将每一行像素子数据流分为左子数据流和右子数据流,将左子数据流输出至多个传输通道中的一个或者多个,将右子数据流输出至多个传输通道中的另一个或者多个。 [0027] 在一实施例中,所述数据接收侧将接收到的多个传输通道的子数据流的标示位分别进行相互匹配的步骤包括: [0028] 在将每一行像素子数据流中的数据流分为奇像素子数据流和偶像素子数据流,或者将每一行像素子数据流分为左子数据流和右子数据流,或者将每一帧中的数据流分为奇行像素子数据流和偶行像素子数据流时,以帧号、行号确定多个传输通道的子数据流的标示位,数据接收侧对接收到的多个传输通道的子数据流中位于同一帧中的子数据流的行号进行相互匹配。 [0029] 在一实施例中,在将每一行像素子数据流中的数据流分为奇像素子数据流和偶像素子数据流,或者将每一行像素子数据流分为左子数据流和右子数据流时,所述数据接收侧对接收到的多个传输通道的子数据流中位于同一帧中的子数据流的行号进行相互匹配的步骤,具体包括: [0031] 当获取到所有传输通道的指示信号后,对多个传输通道的子数据流的帧号进行对比; [0032] 当多个传输通道的子数据流的帧号相同时,确定数据接收侧接收到的多个传输通道的子数据流位于同一帧中;当多个传输通道的子数据流的帧号不同时,重新执行所述检测子数据流的帧的步骤; [0033] 检测位于同一帧中的多个子数据流的行号,当位于同一帧中的多个子数据流的行号相同时,确定位于同一帧中的多个子数据流位于同一行中,并输出用于计数子数据流的当前行数的计数指令;当位于同一帧中的多个子数据流的行号不同时,确定该位于同一帧中的多个子数据流没有位于同一行中,丢弃该帧所有子数据流后重新执行所述检测子数据流的帧的步骤; [0034] 在计数的当前行数与子数据流实际行数不相符时,则重新执行所述检测位于同一帧中的多个子数据流的行号的步骤;在计数的子数据流的当前行数与子数据流实际行数相符时,则确定多个传输通道的子数据流中位于同一帧中并且行号相同的子数据流匹配完成。 [0035] 在一实施例中,在将每一帧中的数据流分为奇行像素子数据流和偶行像素子数据流时,所述数据接收侧对接收到的多个传输通道的子数据流中位于同一帧中的子数据流的行号进行相互匹配的步骤,具体包括: [0036] 检测子数据流的帧,在检测到每一传输通道的子数据流中用于指示第一个像素子数据流的信号上升沿时,获取该传输通道用于指示子数据流并对子数据流的帧号进行缓存的指示信号; [0037] 当获取到所有传输通道的指示信号后,对多个传输通道的子数据流的帧号进行对比; [0038] 当多个传输通道的子数据流的帧号相同时,确定数据接收侧接收到的多个传输通道的子数据流位于同一帧中;当多个传输通道的子数据流的帧号不同时,重新执行所述检测子数据流的帧的步骤; [0039] 检测位于同一帧中的多个子数据流在对应传输通道的行号,当位于同一帧中的多个子数据流在对应传输通道的行号相同时,确定多个子数据流位于同一帧中的相邻行中,并输出用于计数子数据流在对应传输通道的当前行数的计数指令;当位于同一帧中的多个子数据流在对应传输通道的行号不同时,确定多个子数据流没有位于同一帧中的相邻行中,丢弃该帧所有子数据流后重新执行所述检测子数据流的帧的步骤; [0040] 在计数的所有传输通道的当前行数的总和与子数据流实际行数不相符时,则重新执行所述检测位于同一帧中的多个子数据流的行号的步骤;在计数的所有传输通道的当前行数的总和与子数据流实际行数相符时,则确定多个传输通道的子数据流中位于同一帧中并且行号相邻的子数据流匹配完成。 [0041] 在一实施例中,所述的根据对应的分发模式将接收的多个传输通道的子数据流进行缓存的步骤,具体包括: [0042] 根据对应的分发模式将接收的每一传输通道的子数据流分别进行缓存。 [0043] 在一实施例中,所述的根据对应的分发模式将接收的多个传输通道的子数据流进行缓存的步骤,具体包括: [0044] 在将每一帧中的数据流分为奇行像素子数据流和偶行像素子数据流,或者将每一行像素子数据流分为左子数据流和右子数据流时,对多个传输通道中存在重叠的子数据流中较后输出的子数据流进行缓存。 [0045] 在一实施例中,所述数据发送侧按照设定的分发模式将待处理视频数据流分成多个子数据流,并将分成的多个子数据流分发到多个传输通道进行传输的步骤,具体包括: [0046] 数据发送侧按照设定的分发模式将待处理视频数据流分成多个mipi子数据流,并将分成的多个mipi子数据流转为GMSL串行子数据流后分发到多个传输通道进行传输; [0047] 在执行所述数据接收侧将接收到的多个传输通道的子数据流的标示位进行匹配的步骤之前,所述视频数据传输方法还包括以下步骤: [0048] 数据接收侧对多个传输通道的GMSL串行子数据流解串再转为mipi子数据流接收。 [0049] 此外,为实现上述目的,本申请还提出一种视频处理设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上所述的视频数据传输方法的步骤。 [0050] 此外,为实现上述目的,本申请还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的视频数据传输方法的步骤。 [0051] 此外,为实现上述目的,本申请还提出一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上所述的视频数据传输方法的步骤。 [0052] 本申请提出的一个或多个技术方案,至少具有以下技术效果: [0053] 数据发送侧的分发模块用于按照设定的分发模式将待处理视频数据流分成多个子数据流,利用多个传输通道进行同步传输,从而显著提高数据传输的带宽,满足高分辨率、高行频场景的传输要求;数据接收侧在接收到子数据流后,合并模块首先对每个子数据流的标示位进行相互匹配,以确保所有子数据流都来自同一个待处理视频数据流的同一帧或者同一帧的同一行;匹配成功后,合并模块根据对应的分发模式将接收到的多个子数据流进行缓存并合并; [0054] 通过标示位匹配和缓存处理,可以有效避免数据错位和丢失问题,确保视频数据流的完整性和准确性,进而提高视频处理的稳定性; [0055] 通过多个传输通道和分发模块的协同工作,能够充分利用多个传输通道的带宽资源,实现对待处理视频数据流的高速传输;视频处理装置的设计允许配置更多的传输通道和分发模块、合并模块,以适应更高分辨率的视频数据流传输需求,提高了系统的灵活性和实用性。附图说明 [0057] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 [0058] 图1为本申请的视频处理装置的一实施例提供的模块示意图; [0059] 图2为本申请的视频处理装置的一实施例提供的分发模式的示意图; [0060] 图3为本申请的视频处理装置的另一实施例提供的分发模式的示意图; [0061] 图4为本申请的视频处理装置的又一实施例提供的分发模式的示意图; [0062] 图5为本申请的视频数据传输方法的一实施例提供的流程图; [0063] 图6为本申请的视频数据传输方法的一实施例的步骤S200提供的流程图之一; [0064] 图7为本申请的视频数据传输方法的一实施例的步骤S200提供的流程图之二; [0065] 图8为本申请的视频数据传输方法的另一实施例的步骤S200提供的流程图之一; [0066] 图9为本申请的视频数据传输方法的另一实施例的步骤S200提供的流程图之二。 [0067] 附图标号说明: [0068] 100、传输通道; [0069] 200、数据发送侧;210、分发模块;221、第一mipi接口;222、串行器; [0070] 300、数据接收侧;310、合并模块;321、第二mipi接口;322、解串器。 [0071] 本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。 具体实施方式[0072] 应当理解,此处所描述的具体实施例仅仅用以解释本申请的技术方案,并不用于限定本申请。 [0073] 为了更好的理解本申请的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。 [0074] 相关技术中,视频传送方案大多只能够传输一路数据,在某些高分辨率和高行频的应用场景中,存在带宽不足的问题。若要传输多路数据,还会出现数据同步调整困难等问题。以mipi(Mobile Industry Processor Interface)接口传输为例,mipi接口作为专门用于连接图像传感器与图像处理器的接口,被广泛应用于智能手机、工业相机、汽车电子、安防监控和其他需要高性能图像传输的设备中。mipi接口采用差分信号传输,具有高带宽和低功耗的特点。每条传输通道100甚至可以支持高达3.2Gbps的传输速率。通过多lane传输通道并行传输,mipi能够实现非常高的数据带宽。总的来说,mipi接口因其高性能、高带宽和低功耗的优点,已经成为现代图像传感器系统中的主流接口标准,并可以应用于大部分分辨率规格的sensor(传感器)数据传输。 [0075] 虽然相关技术中mipi接口的传输速率已经很高,但大部分都是通过一个接口传输一路或者多路视频数据流的。以高分辨率和高行频的应用场景中的大靶面面阵sensor以及8K、16K高行频线阵sensor为例,mipi仍旧存在带宽不足的问题:其中大靶面面阵sensor通常意味着更高的分辨率,导致图像的数据量非常大,当这些数据需要通过mipi接口传输时,对带宽的需求就会急剧增加,如果单个mipi接口的带宽不足以支持这么大的数据量,就会影响图像质量和实时性;而8K、16K高行频线阵sensor意味着每秒可以扫描并传输非常多行的图像数据,采用传统的一路mipi无法满足传输需求。 [0076] 为满足高分辨率、高行频场景的传输要求,参照图1至图9,本申请提出了一种视频处理装置、设备、视频数据传输方法、介质及产品,其中,设备具体为视频处理设备,介质具体为计算机可读存储介质等存储介质,产品具体为计算机程序产品,并主要通过视频处理装置实现如下实施例的视频数据传输方法。 [0077] 视频处理装置包括多个传输通道100、数据发送侧200和数据接收侧300。 [0078] 其中,数据发送侧200包括分发模块210,分发模块210用于按照设定的分发模式将待处理视频数据流分成多个子数据流,并将分成的多个子数据流分发到多个传输通道100进行传输。 [0079] 数据接收侧300包括合并模块310,合并模块310经多个传输通道100与分发模块210连接,合并模块310用于将接收到的多个传输通道100的子数据流的标示位分别进行相互匹配;在多个传输通道100的子数据流的标示位匹配成功时,根据对应的分发模式将接收的多个传输通道100的子数据流进行缓存。 [0080] 可以理解的,传输通道100指的是数据传输的物理或逻辑路径。在视频处理装置中,这些通道可以是mipi接口、GMSL(Gigabit Multimedia Serial Link)链路等,它们负责将分发模块210生成的子数据流从数据发送侧200传输到数据接收侧300。 [0081] 数据发送侧200是视频处理装置中负责(生成或者接收外部传送的待处理数据流以及)发送待处理数据流的部分,其主要功能是将待处理的视频数据流分成多个子数据流,并按照设定的分发模式将这些子数据流分发到多个传输通道100上进行传输。数据接收侧300是视频处理装置中用于接收和处理这些传输通道100传来的子数据流的部分。数据发送侧200和数据接收侧300的设计及实现方式,以及传输通道100的数量和实现方法,都可以根据实际需求进行灵活调整,以适应不同的视频数据流传输需求。 [0082] 分发模块210作为数据发送侧200的关键组件,其主要作用是根据预设的分发模式将待处理的视频数据流分成两个、三个或者其他多个子数据流,并将这些子数据流中的部分分发到多个传输通道100中的至少一个,以及将这些子数据流中的其他部分分发到多个传输通道100中的其他至少一个,使得多个子数据流可以同步分发到多个传输通道100。利用多个传输通道100进行同步传输,从而显著提高数据传输的带宽,满足高分辨率、高行频场景(如大靶面面阵sensor和高行频线阵sensor)的传输要求。合并模块310作为数据接收侧300的关键组件,它主要负责根据采用的分发模式的不同,按照各子数据流的传输顺序将接收到的多个子数据流进行同步、拼接和恢复,以生成完整的视频数据流。以分发模块210用于将待处理的视频数据流分为奇像素子数据流和偶像素子数据流的奇偶像素传输模式为例,合并模块310用于按照各子数据流的传输顺序将从不同传输通道100接收到的奇像素子数据流和偶像素子数据流进行同步、拼接和恢复,以生成完整的与待处理的视频数据流(原始视频数据流)相同的视频数据流,从而进一步得到与原始视频相同的视频。 [0083] 合并模块310的功能包括但不限于检测功能和缓存功能。检测功能用于将接收到的多个传输通道100的子数据流的标示位进行相互匹配,以确保它们来自同一个原始视频数据流(待处理视频数据流)的同一帧或者同一帧的同一行;缓存功能则用于根据对应的分发模式将接收到的多个子数据流进行缓存,以便后续的处理和恢复。数据接收侧300在接收到子数据流后,合并模块310首先对每个子数据流的标示位(如帧号和行号)进行相互匹配,以确保所有子数据流都来自同一个待处理视频数据流。匹配成功后,合并模块310根据对应的分发模式将接收到的多个子数据流进行缓存并合并,以得到完整的与待处理的视频数据流(原始视频数据流)相同的视频数据流,从而进一步得到与原始视频相同的视频。通过标示位匹配和缓存处理,可以有效避免数据错位和丢失问题,确保视频数据流的完整性和准确性,进而提高视频处理的稳定性。 [0084] 通过多个传输通道100和分发模块210的协同工作,能够充分利用多个传输通道100的带宽资源,实现对待处理视频数据流的高速传输。视频处理装置的设计允许配置更多的传输通道100和分发模块210、合并模块310,以适应更高分辨率的视频数据流传输需求,提高了系统的灵活性和实用性。 [0085] 参照图1,在一实施例中,数据发送侧200设有多个发送模块,分发模块210通过多个发送模块与多个传输通道100的第一端连接,用于将待处理视频数据流分成多个子数据流,并将分成的多个子数据流分发到多个传输通道100进行传输。数据接收侧300设有多个接收模块,合并模块310通过多个接收模块与多个传输通道100的第二端连接,用于接收多个传输通道100传输的子数据流。 [0086] 发送模块可以包括但不限于以下接口和组件:mipi(Mobile Industry Processor Interface)接口、发送器、FPD‑Link IV串行接口。这些发送模块负责将待处理视频数据流从源设备发送到传输通道100。接收模块可以包括但不限于以下接口和组件:mipi接口、FPD‑Link IV解串器。这些接收模块负责从传输通道100接收视频子数据流,并进行必要的处理和转换。具体可以根据实际应用需求设置相应的发送模块和接收模块,在此不加以限定。通过发送模块和接收模块的合理设置,可以显著提高数据传输的速率和传输效率,使得视频处理装置或其他图像处理装置能够更快地处理数据,满足高分辨率、高行频场景的传输要求。 [0087] 本申请主要以mipi接口(Mobile Industry Processor Interface)为例进行阐述,采用其他发送模块、接收模块的实施例可对应参照而不一一赘述: [0088] 参照图1,具体地,每一发送模块包括依次连接的第一mipi接口221、串行器222,分发模块210与多个第一mipi接口221连接,用于将待处理视频数据流分成多个mipi子数据流;多个串行器222与多个传输通道100的第一端连接,用于将分成的多个mipi子数据流转为GMSL(Gigabit Multimedia Serial Link)串行子数据流后分发到多个传输通道100进行传输; [0089] 每一接收模块包括依次连接的解串器322、第二mipi接口321,多个第二mipi接口321与合并模块310连接,多个解串器322与多个传输通道100的第二端连接,用于对多个传输通道100传输的GMSL串行子数据流解串再转为mipi子数据流。 [0090] 分发模块210作为待处理视频数据流的入口,负责将视频数据流分成多个mipi子数据流,并将这些子数据流分别传输到多个第一mipi接口221,为后续的串行化处理做准备。GMSL(Gigabit Multimedia Serial Link)支持长距离、低延迟和高带宽的视频传输,串行器222的主要功能是将这些mipi子数据流从并行格式转换为GMSL(Gigabit Multimedia Serial Link)串行子数据流,然后分发到多个传输通道100进行传输。 [0091] 在数据接收侧300,解串器322作为串行器222的逆过程,负责将多个传输通道100传输的GMSL串行子数据流解串并转换回mipi子数据流。随后,这些mipi子数据流由合并模块310进一步合并成原始的视频数据流,以便进行后续的视频处理或显示。解串器322通过内部时序控制单元实现数据的同步和正确解析,确保数据的准确性和完整性。解串器322还会进行错误检测和纠正,以确保数据的完整性。 [0092] 通过将待处理视频数据流分成多个mipi子数据流,并利用多个传输通道100进行同步传输,可以显著提高数据传输的带宽,从而满足高分辨率、高帧率场景的传输要求。同时,由于解串器322通常会进行错误检测和纠正,以确保数据的完整性,因此通过串行器222、传输通道100和解串器322的协同工作,可以有效避免数据错位和丢失问题,确保处理后的视频数据流的完整性和准确性,进而提高视频处理的稳定性。 [0093] 本申请通过多路mipi接口传输同源数据的数据分发与合并技术,合并多路mipi同一视频源的流程,能够用mipi接口传输高带宽视频流,为大靶面面阵相机和高行频线阵相机等高分辨率、高行频场景的传输要求提供了一种新的接口选择,扩宽了mipi接口的使用场景,并适应了工业视觉领域未来的需求。 [0094] 在本申请中,传输通道100的数量可以为两个、三个、四个或者其他多个。在一实施例中,待处理视频数据流以帧为单位,每一帧包括多行像素数据流。 [0095] 参照图2,作为一示例,分发模块210用于将每一行像素子数据流中的数据流分为奇像素子数据流和偶像素子数据流,并将奇像素子数据流输出至多个传输通道100中的一个或者多个,将偶像素子数据流输出至多个传输通道100中的另一个或者多个。 [0096] 每一行像素子数据流中的奇像素子数据流和偶像素子数据流交替,分发模块210将每一行像素子数据流中奇像素子数据流和偶像素子数据流通过不同的传输通道100分开传输,并将分发模块210采用的这一种的分发模式定义为奇偶像素传输模式。在传输通道100包括通道1、通道2两个,并以p0至p5或者其他方式标示每一行子数据流的多个像素子数据流时,奇像素子数据流包括p1、p3、p5等,偶像素子数据流包括p0、p2、p4等,通道1、通道2中的一个用于传输p1、p3、p5等每一行像素子数据流中的奇像素子数据流,另一个用于传输p0、p2、p4等每一行像素子数据流中的偶像素子数据流。 [0097] 奇偶像素传输模式可用于在传输每一行像素子数据流时,减少每一传输通道100的数据量,降低每一传输通道100带宽需求,确保在有限的mipi带宽下能够传输更多的数据流。数据接收侧300用于将每一传输通道100的非连续的像素子数据流进行合并,以得到p0至p5等完整的一行像素子数据流输出。 [0098] 参照图3,作为另一示例,分发模块210用于将每一帧中的数据流分为奇行像素子数据流和偶行像素子数据流,并将奇行像素子数据流输出至多个传输通道100中的一个或者多个,将偶行像素子数据流输出至多个传输通道100中的另一个或者多个。 [0099] 多行像素子数据流的奇行像素子数据流和偶行像素子数据流交替,分发模块210将多行像素子数据流中的奇行像素子数据流和偶行像素子数据流通过不同的传输通道100分开传输,并将分发模块210采用的这一种的分发模式定义为奇偶行传输模式。在传输通道100包括通道1、通道2两个,并以p0至p5或者其他方式标示每一行子数据流的多个像素子数据流时,通道1、通道2用于同时传输相邻的多行像素子数据流。 [0100] 奇偶行传输模式可以确保在有限的mipi带宽下能够传输更多的数据流。由于每一行像素子数据流都是完整的,因此在数据接收侧300同步两个传输通道100的数据流时,只需要确保帧号相同及不同传输通道100传输的位于同一帧中的行像素子数据流相邻即可,有效降低了同步的复杂度。 [0101] 参照图4,作为又一示例,分发模块210用于将每一行像素子数据流分为左子数据流和右子数据流,并将左子数据流输出至多个传输通道100中的一个或者多个,将右子数据流输出至多个传输通道100中的另一个或者多个。 [0102] 分发模块210将每一行像素子数据流的左子数据流和右子数据流通过不同的传输通道100分开传输,并将分发模块210采用的这一种的分发模式定义为左右分部传输模式。在传输通道100包括通道1、通道2两个,并以p0至p5或者其他方式标示每一行子数据流的多个像素子数据流时,左子数据流包括p0、p1、p2等,右子数据流包括p3、p4、p5等,通道1、通道 2中的一个用于传输p0、p1、p2等每一行像素子数据流中的左子数据流,另一个用于传输p3、p4、p5等每一行像素子数据流中的右子数据流。 [0103] 左右分部传输模式可用于在传输每一行像素子数据流时,减少每一传输通道100的数据量,降低每一传输通道100带宽需求,确保在有限的mipi带宽下能够传输更多的数据流。将每一行像素子数据流分为左子数据流和右子数据流可以灵活适应不同分辨率的视频流,并根据需要调整左子数据流和右子数据流的大小。数据接收侧300用于将不同传输通道100中的同一行像素子数据流的左子数据流和右子数据流进行合并,以得到完整的像素子数据流输出。 [0104] 在一实施例中,数据接收侧300还包括缓存模块,每一传输通道100均设有缓存模块。缓存模块的设置用于确保两路、三路或者其他多路子数据流在传输过程中保持同步,由于数据在不同传输通道100的传输速度、传输时间可能不同,缓存可以暂存其中至少一个传输通道100的子数据流,用于确保多路传输通道传输的子数据流在数据接收侧能够进行同步合并处理。 [0105] 本申请的实施例主要以分发模块210用于将每一行像素子数据流中的数据流分为奇像素子数据流和偶像素子数据流的奇偶像素传输模式,或者将每一帧中的数据流分为奇行像素子数据流和偶行像素子数据流的奇偶行传输模式,或者将每一行像素子数据流分为左子数据流和右子数据流的左右分部传输模式为例进行阐述: [0106] 作为一示例,缓存模块用于将接收的每一传输通道100的子数据流分别进行缓存。 [0107] 作为另一示例,缓存模块用于对多个传输通道100中存在重叠的子数据流中较后输出的子数据流进行缓存。 [0108] 在将每一行像素子数据流中的数据流分为奇像素子数据流和偶像素子数据流时,因为原始视频流带宽比mipi带宽大,原本的行间间隔不足发送EOT和SOT,其中,SOT(Start of Transmission)是mipi接口协议中用于标记数据传输起始位置的信号;EOT(End of Transmission)是mipi接口协议中用于标记数据传输结束位置的信号。所以奇偶像素采样之后每个通道还需要加个fifo将非连续的像素转为连续像素传输,以增大行间间隔传输EOT和SOT,通过缓存模块来将每一传输通道100的这些非连续的像素子数据流分别进行缓存;其中,(First‑In‑First‑Out,先进先出队列)作为一种数据存储和管理的结构,用于在数据流中实现缓存功能。具体地,每个传输通道加一个fifo用于缓存像素,读取时依次输出,使得在数据接收侧300,可以按顺序输出缓存的像素子数据流,以确保数据传输的完整性和正确性。 [0109] 在将每一帧中的数据流分为奇行像素子数据流和偶行像素子数据流时,因为每行像素子数据之间的行间间隔是足够的(如在采用mipi接口时,其每行间隔足够mipi物理层的需求),可以直接传输。但是,考虑到不同传输通道100的硬件延迟不同,行像素子数据流的传输时间可能不相同,导致多个传输通道100的子数据流可能存在重叠,故而可选地通过缓存模块将接收的每一传输通道100的子数据流分别进行缓存,这样可以确保在通过合并模块310进行数据拼接时,所有传输通道100的子数据流同步,避免出现数据错位;或者,也可以通过缓存模块对多个传输通道100中存在重叠的子数据流中较后输出的子数据流进行缓存。在出现子数据流交叠时,缓存模块将优先缓存较后输出子数据流的通道的子数据流,以确保数据的完整性和正确性。具体地,每个传输通道100加一个fifo,若多个传输通道100传输的子数据流有交叠,用来缓存较后输出的子数据流,先输出的子数据流可以直接发送无需缓存。以使得在数据接收侧300,可以按顺序输出每一帧的像素子数据流。 [0110] 在将每一行像素子数据流分为左子数据流和右子数据流时,因此每个通道间隔为半行左右,每一传输通道100的间隔通常足够,(如在采用mipi接口时,其间隔足够mipi物理层的需求),所以可以直接传输。但是,考虑到不同传输通道100的硬件延迟不同,左子数据流和右子数据流的传输时间可能不相同,导致同一行像素子数据流的左子数据流和右子数据流通过不同传输通道100传输时可能存在重叠,故而可选地通过缓存模块将接收的每一传输通道100的子数据流分别进行缓存,这样可以确保在通过合并模块310进行数据拼接时,所有传输通道100的子数据流同步,避免出现数据错位;或者,也可以通过缓存模块对多个传输通道100中存在重叠的子数据流中较后输出的子数据流进行缓存。在出现子数据流交叠时,缓存模块将优先缓存较后输出子数据流的通道的子数据流,以确保数据的完整性和正确性。具体地,每个传输通道100加一个fifo,若多个传输通道100传输的子数据流有交叠,用来缓存较后输出的子数据流,先输出的子数据流可以直接发送无需缓存。以使得在数据接收侧300,可以按顺序输出每一行的像素子数据流。 [0111] 需要说明的是,在本申请的实施例中,传输通道100的数量可以为两个、三个或者其他多个,缓存模块用于对多个传输通道100中存在重叠的子数据流中较后输出的子数据流进行缓存。在传输通道100的数量为两个时,缓存模块用于对两个传输通道100中存在重叠的子数据流中较后输出的子数据流进行缓存;在传输通道100的数量不少于三个时,缓存模块用于对不少于三个的传输通道100中存在重叠的子数据流中较后输出的至少两个子数据流进行缓存。 [0112] 参照图5至图9,本申请还提出一种视频数据传输方法,视频数据传输方法应用于如上的视频处理装置,视频数据传输方法具体包括以下步骤: [0113] 步骤S100、数据发送侧按照设定的分发模式将待处理视频数据流分成多个子数据流,并将分成的多个子数据流分发到多个传输通道进行传输。 [0114] 数据发送侧200根据预设的分发模式(如奇偶像素传输模式、奇偶行传输模式、左右分部传输模式等),将待处理的视频数据流分成多个子数据流。这一过程旨在利用多个传输通道进行同步传输,优化数据传输效率,减少单个传输通道100的负载,从而显著提高数据传输的带宽,满足高分辨率、高行频场景的传输要求。 [0115] 步骤S200、数据接收侧将接收到的多个传输通道的子数据流的标示位分别进行相互匹配。 [0116] 数据接收侧300在接收到多个传输通道100的子数据流后,会对这些子数据流的标示位进行相互匹配。这一步骤的目的是确保所有传输通道100的子数据流都是完整且按照预定顺序到达的,为后续的缓存和合并做准备。具体来说,标示位匹配包括检测帧号和行号,以确保所有子数据流都来自同一个待处理视频数据流的同一帧或者来自同一帧中的同一行、同一帧中的相邻行。 [0117] 步骤S300、在多个传输通道的子数据流的标示位匹配成功时,根据对应的分发模式将接收的多个传输通道的子数据流进行缓存。 [0118] 由于不同传输通道100可能存在传输时间差异,或者由于数据包调度等原因,子数据流在到达数据接收侧300时可能会出现非连续或重叠的情况。缓存模块会暂时存储这些数据,直到所有数据都到达且可以按顺序输出为止。缓存模块的使用确保了数据的同步和完整性,提高了系统的稳定性和可靠性。缓存模块不仅可以进行错误检测和纠正,还可以确保接收到的子数据流的完整性和正确性。如果检测到数据错误或丢失,缓存模块可以尝试从其他传输通道100或之前的缓存中恢复数据,避免数据错位和丢失。 [0119] 通过多个传输通道100和分发模块210的协同工作,能够充分利用多个传输通道100的带宽资源,实现对待处理视频数据流的高速传输;视频处理装置的设计允许配置更多的传输通道100和分发模块210、合并模块310,以适应更高分辨率的视频数据流传输需求,提高了系统的灵活性和实用性。 [0120] 在一实施例中,将待处理视频数据流以帧为单位,每一帧包括多行像素数据流,分发模式包括但不限于下述方式中的任一种或者其他多种: [0121] 参照图2,作为一示例,分发模式包括将每一行像素子数据流中的数据流分为奇像素子数据流和偶像素子数据流,将奇像素子数据流输出至多个传输通道100中的一个或者多个,将偶像素子数据流输出至多个传输通道100中的另一个或者多个。 [0122] 将这一分发模式定义为奇偶像素传输模式,奇偶像素传输模式可用于在传输每一行像素子数据流时,减少每一传输通道100的数据量,降低每一传输通道100带宽需求,确保在有限的mipi带宽下能够传输更多的数据流。数据接收侧300用于将每一传输通道100的非连续的像素子数据流进行合并,以得到完整的一行像素子数据流输出。 [0123] 参照图3,作为另一示例,分发模式包括将每一帧中的数据流分为奇行像素子数据流和偶行像素子数据流,将奇行像素子数据流输出至多个传输通道100中的一个或者多个,将偶行像素子数据流输出至多个传输通道100中的另一个或者多个。 [0124] 将这一分发模式定义为奇偶行传输模式,奇偶行传输模式可以确保在有限的mipi带宽下能够传输更多的数据流。由于每一行像素子数据流都是完整的,因此在数据接收侧300同步两个传输通道100的数据流时,只需要确保帧号相同即可,有效降低了同步的复杂度。数据接收侧300用于将不同传输通道100中的同一帧数据流中的相邻行的奇行像素子数据流和偶行像素子数据流进行合并,以得到完整的像素子数据流输出。 [0125] 参照图4,作为又一示例,分发模式包括将每一行像素子数据流分为左子数据流和右子数据流,将左子数据流输出至多个传输通道100中的一个或者多个,将右子数据流输出至多个传输通道100中的另一个或者多个。 [0126] 将这一分发模式定义为左右分部传输模式,左右分部传输模式可用于在传输每一行像素子数据流时,减少每一传输通道100的数据量,降低每一传输通道100带宽需求,确保在有限的mipi带宽下能够传输更多的数据流。将每一行像素子数据流分为左子数据流和右子数据流可以灵活适应不同分辨率的视频流,并根据需要调整左子数据流和右子数据流的大小。数据接收侧300用于将不同传输通道100中的同一行像素子数据流的左子数据流和右子数据流进行合并,以得到完整的像素子数据流输出。 [0127] 方法采用的分发模式的具体实施方式可对应参照前述的分发模块210的实施例,在此不加以赘述。 [0128] 在一实施例中,步骤S200、数据接收侧300将接收到的多个传输通道100的子数据流的标示位分别进行相互匹配的步骤包括: [0129] 在将每一行像素子数据流中的数据流分为奇像素子数据流和偶像素子数据流,或者将每一行像素子数据流分为左子数据流和右子数据流时,以帧号、行号确定多个传输通道的子数据流的标示位,数据接收侧对接收到的多个传输通道的子数据流中位于同一帧中的子数据流的行号进行相互匹配。 [0130] 可以理解的,将待处理视频数据流以帧为单位,每一帧包括多行像素数据流,每一视频帧都会有一个唯一的帧号,每一帧的每一行像素数据流具有对应的行号。对于采用奇偶像素传输模式、左右分部传输模式传输的子数据流来说,每一传输通道100传输的子数据流会附上所属帧的帧号以及对应的行号。以帧号和行号作为传输通道100的子数据流的标示位,用于确定不同传输通道100的子数据流是否为位于同一帧中的同一行的子数据流。这有助于确定和匹配不同传输通道100的数据流,确保数据接收侧300接收到的不同传输通道100的子数据流来自同一帧的同一行,从而方便正确重组原始的视频数据流。 [0131] 采用奇偶像素传输模式、左右分部传输模式传输时,以采用mipi接口为例,在数据接收侧同步多个mipi的数据时需要在子数据流中插入帧号(frame_num)和行号(line_num),具体地,根据检测到的子数据流的帧在子数据流中插入帧号(frame_num),以及根据子数据流进入对应传输通道的顺序在对应传输通道的子数据流中插入行号(line_num)。 [0132] 参照图6、图7,在一实施例中,前述的数据接收侧对接收到的多个传输通道的子数据流中位于同一帧中的子数据流的行号进行相互匹配的步骤,具体包括: [0133] 步骤S211、检测子数据流的帧,在检测到每一传输通道的子数据流中用于指示第一个像素子数据流的信号上升沿时,获取该传输通道用于指示子数据流并对子数据流的帧号进行缓存的指示信号; [0134] 步骤S212、当获取到所有传输通道的指示信号后,对多个传输通道的子数据流的帧号进行对比。 [0135] 具体地,数据接收侧300处于初始IDLE状态时,当检测到通道tuser(tuser拉高表示数据流第一个像素到来)时,生成或者获取该传输通道用于指示子数据流并对子数据流的帧号进行缓存的指示信号,具体可通过拉高信号的方式指示对应传输通道的子数据流,通过用寄存器等缓存模块缓存帧号,并在获取所有传输通道的指示信号(确定所有传输通道的信号被拉高)后,比较所有传输通道的帧号frame_num。 [0136] 步骤S2131、当多个传输通道的子数据流的帧号相同时,确定数据接收侧接收到的多个传输通道的子数据流位于同一帧中;步骤S2132、当多个传输通道的子数据流的帧号不同时,重新执行检测子数据流的帧的步骤。 [0137] 具体地,当多个传输通道的子数据流的frame_num数值相同表示对应的多个子数据流位于同一帧,若frame_num数值不等则表示不是同一帧。通过步骤S2131和S2132,系统判断多个传输通道100的子数据流是否位于同一帧,通过帧号匹配确保所有子数据流属于同一帧,避免跨帧数据的混淆。若帧号不匹配,则重新检测信号上升沿和下降沿以确保准确性。 [0138] 步骤S2141、检测位于同一帧中的多个子数据流的行号;步骤S2142、当位于同一帧中的多个子数据流的行号相同时,确定位于同一帧中的多个子数据流位于同一行中,并输出用于计数子数据流的当前行数的计数指令;步骤S2143、当位于同一帧中的多个子数据流的行号不同时,确定该位于同一帧中的多个子数据流没有位于同一行中,丢弃该帧所有子数据流后重新执行检测子数据流的帧的步骤。 [0139] 在确认多个传输通道100对应的子数据流属于同一帧后,系统进一步检测并匹配行号。具体地,数据发送侧200将分成的多个子数据流分发到多个传输通道进行传送,进入不同传输通道的子数据流会按照进入对应传输通道的顺序确定行号。采用奇偶像素传输模式、左右分部传输模式传输时,不同传输通道的相同行号的子数据流来自待处理视频数据流的同一帧中的同一行,即子数据流在对应传输通道的行号与该子数据流实际行数相符。通过步骤S2141、S2142和S2143对行号进行匹配,主要用于对子数据流在对应传输通道的行号进行匹配,若行号匹配成功(即多个传输通道的子数据流的行号相同),则记录当前行数,确保只有来自同一帧且同一行的子数据流被匹配。若行号不匹配(即多个传输通道的子数据流的行号不相同),则丢弃当前帧的所有子数据流并重新检测。具体地,若检测到line_num值相同,则表示子数据流为同一行,通过输出用于计数子数据流的当前行数的计数指令至寄存器h_cnt等缓存模块,使寄存器h_cnt加1。若检测到line_num值不同,则表示对应的子数据流不是位于同一行,丢弃该帧的所有子数据流后通过重新检测子数据流的帧,等待下一帧同步。 [0140] 步骤S2151、在计数的当前行数与子数据流实际行数不相符时,则重新执行检测位于同一帧中的多个子数据流的行号的步骤;步骤S2152、在计数的子数据流的当前行数与子数据流实际行数相符时,则确定多个传输通道的子数据流中位于同一帧中并且行号相同的子数据流匹配完成。 [0141] 具体地,在计数的当前行数与子数据流实际行数不相符时,寄存器h_cnt值不等于行数;若寄存器h_cnt值等于行数则表示该行合并结束。通过步骤S2151和S2152验证行号匹配的准确性,确保数据重组的正确性。若计数的当前行数与实际行数匹配,则进行后续的数据重组和处理。 [0142] 这些步骤通过帧号和行号的匹配,确保了数据的完整性和正确性,提高了系统的稳定性和可靠性。用于在采用奇偶像素传输模式、左右分部传输模式传输时,确保数据接收侧300接收到的多个传输通道100的子数据流位于同一帧的同一行,从而方便正确地重组原始的视频数据流。 [0143] 在本申请的其他一些可选择的实施例中,可将前述的步骤S211、步骤S212替换为: [0144] 检测子数据流的帧,在检测到每一传输通道100的子数据流中用于指示第一个像素子数据流的信号上升沿时,输出用于开始对帧号进行缓存的缓存指令;根据随后检测到的信号下降沿确定该子数据流的帧号。 [0145] 可以理解的,以信号上升沿标志新帧的开始,此时输出缓存指令至寄存器等缓存模块以缓存帧号,为后续缓存做准备;信号下降沿标志着帧的结束,通过检测上升沿和下降沿可以确定子数据流的帧号,确保系统能准确识别当前子数据流的帧号。数据接收侧300处于初始IDLE状态时,当检测到tuser_flag(tuser拉高表示数据流第一个像素到来,tuser_flag在其中一个tuser拉高时拉高,在另一个tuser拉高时拉低)信号上升沿后,用寄存器等缓存模块缓存当前通道数据流的帧号。如此,即可确定不同传输通道的子数据流的帧号。相比于前述的步骤S211、步骤S212,该替换方案并不直接对不同传输通道的子数据流进行拉高指示,并主要适用于将待处理视频数据流通过两个传输通道进行传输的实施例;该替换方案的其他实施方式可参照前述步骤S211至步骤S2151的相关实施例,在此不再赘述。 [0146] 在另一实施例中,步骤S200、数据接收侧300将接收到的多个传输通道100的子数据流的标示位分别进行相互匹配的步骤包括: [0147] 在将每一帧中的数据流分为奇行像素子数据流和偶行像素子数据流时,以帧号、行号确定多个传输通道的子数据流的标示位,数据接收侧对接收到的多个传输通道的子数据流中位于同一帧中的子数据流的行号进行相互匹配。 [0148] 可以理解的,将待处理视频数据流以帧为单位,每一帧包括多行像素数据流,每一视频帧都会有一个唯一的帧号,每一帧的每一行像素数据流具有对应的行号。对于采用奇偶行传输模式传输的子数据流来说,每一传输通道100传输的子数据流会附上所属帧的帧号以及对应的行号。以帧号、行号作为传输通道100的子数据流的标示位,用于确定不同传输通道100的子数据流是否位于同一帧中的相邻行。这有助于确定和匹配不同传输通道100的数据流,确保数据接收侧300接收到的不同传输通道100的子数据流来自同一帧中的相邻行,从而方便正确重组原始的视频数据流。 [0149] 采用奇偶行传输模式时,以采用mipi接口为例,在数据接收侧同步多个mipi的数据时需要在子数据流中插入帧号(frame_num)和行号(line_num),具体地,根据检测到的子数据流的帧在子数据流中插入帧号(frame_num),以及根据子数据流进入对应传输通道的顺序在对应传输通道的子数据流中插入行号(line_num)。 [0150] 参照图8、图9,在一实施例中,前述的数据接收侧对接收到的多个传输通道的子数据流中位于同一帧中的子数据流的行号进行相互匹配的步骤,具体包括: [0151] 步骤S221、检测子数据流的帧,在检测到每一传输通道的子数据流中用于指示第一个像素子数据流的信号上升沿时,获取该传输通道用于指示子数据流并对子数据流的帧号进行缓存的指示信号; [0152] 步骤S222、当获取到所有传输通道的指示信号后,对多个传输通道的子数据流的帧号进行对比; [0153] 步骤S2231、当多个传输通道的子数据流的帧号相同时,确定数据接收侧接收到的多个传输通道的子数据流位于同一帧中;步骤S2232、当多个传输通道的子数据流的帧号不同时,重新执行检测子数据流的帧的步骤; [0154] 步骤S2241、检测位于同一帧中的多个子数据流在对应传输通道的行号;步骤S2242、当位于同一帧中的多个子数据流在对应传输通道的行号相同时,确定多个子数据流位于同一帧中的相邻行中,并输出用于计数子数据流在对应传输通道的当前行数的计数指令;步骤S2243、当位于同一帧中的多个子数据流在对应传输通道的行号不同时,确定多个子数据流没有位于同一帧中的相邻行中,丢弃该帧所有子数据流后重新执行检测子数据流的帧的步骤; [0155] 步骤S2251、在计数的所有传输通道的当前行数的总和与子数据流实际行数不相符时,则重新执行检测位于同一帧中的多个子数据流的行号的步骤;步骤S2252、在计数的所有传输通道的当前行数的总和与子数据流实际行数相符时,则确定多个传输通道的子数据流中位于同一帧中并且行号相邻的子数据流匹配完成。 [0156] 该实施例中的步骤S221至步骤S2243的可对应参照前述实施例的步骤S211至步骤S2143的相关步骤。采用奇偶行传输模式传输时,不同传输通道的相同行号的子数据流来自待处理视频数据流的同一帧中的相邻行,即子数据流在对应传输通道的行号相同,根据传输通道的数量计算所有传输通道的当前行数的总和,所有传输通道的当前行数的总和与子数据流当前实际处理的行数(即子数据流实际行数)相符。通过步骤S2241、S2242和S2243对行号进行匹配,主要用于对子数据流在对应传输通道的行号进行匹配,若行号匹配成功(即多个传输通道的子数据流的行号相同),则记录当前行数,确保只有来自同一帧且相邻行的子数据流被匹配。若行号不匹配(即多个传输通道的子数据流的行号不相同),则丢弃当前帧的所有子数据流并重新检测。具体地,若检测到line_num值相同,则表示多个传输通道的子数据流的行号相同,通过输出用于计数子数据流的当前行数的计数指令至对应通道的寄存器h_cnt等缓存模块,使寄存器h_cnt加1。若检测到line_num值不同,则表示多个传输通道的子数据流的行号不相同,丢弃该帧的所有子数据流后通过重新检测子数据流的帧,等待下一帧同步。 [0157] 在计数的所有传输通道的当前行数的总和与该子数据流当前实际处理的行数(即子数据流实际行数)不相符时,所有寄存器h_cnt值的总和不等于实际处理行数;若寄存器h_cnt值的总和等于实际处理行数则表示该行合并结束。通过步骤S2251和S2252验证行号匹配的准确性,确保所有行数相同的子数据流来自同一帧中的相邻行,并进一步确保数据重组的正确性。若所有传输通道的当前行数的总和与子数据流实际行数匹配,则进行后续的数据重组和处理。用于在采用奇偶行传输模式时通过帧号确定不同传输通道100的子数据流是否位于待处理视频数据流的同一帧中的相邻行,确保数据接收侧300接收到的多个传输通道100的行像素子数据流来自待处理视频数据的同一帧的相邻行,从而方便正确地重组原始的视频数据流。 [0158] 在一实施例中,步骤S300中的根据对应的分发模式将接收的多个传输通道100的子数据流进行缓存的步骤,具体包括: [0159] 根据对应的分发模式将接收的每一传输通道100的子数据流分别进行缓存。 [0160] 该缓存步骤具体可适用于采用奇偶像素传输模式、奇偶行传输模式、左右分部传输模式中的任一种或者其他多种分发模式,并主要以奇偶像素传输模式为例进行阐述:在将每一行像素子数据流中的数据流分为奇像素子数据流和偶像素子数据流时,因为每一传输通道100传输的子数据流是非连续的像素子数据流,需要通过缓存模块来将每一传输通道100的这些非连续的像素子数据流进行缓存。在数据接收侧300,可以按顺序输出缓存的像素子数据流,以确保数据传输的完整性和正确性。 [0161] 该缓存步骤的具体实施方式可参照前述的缓存模块的相关实施例,在此不一一赘述。 [0162] 在一实施例中,步骤S300中的根据对应的分发模式将接收的多个传输通道100的子数据流进行缓存的步骤,具体包括: [0163] 在将每一帧中的数据流分为奇行像素子数据流和偶行像素子数据流,或者将每一行像素子数据流分为左子数据流和右子数据流时,对多个传输通道100中存在重叠的子数据流中较后输出的子数据流进行缓存。 [0164] 该缓存步骤具体可适用于采用奇偶行传输模式、左右分部传输模式中的任一种或者其他多种分发模式,通过缓存模块对多个传输通道100中存在重叠的子数据流中较后输出的子数据流进行缓存。在出现子数据流交叠时,缓存模块将优先缓存这些重叠子数据流中较后输出的部分,以确保数据的完整性和正确性。在数据接收侧300,可以按顺序输出每一行的像素子数据流。 [0165] 在一实施例中,步骤S100、数据发送侧200按照设定的分发模式将待处理视频数据流分成多个子数据流,并将分成的多个子数据流分发到多个传输通道100进行传输的步骤,具体包括: [0166] 数据发送侧200按照设定的分发模式将待处理视频数据流分成多个mipi子数据流,并将分成的多个mipi子数据流转为GMSL串行子数据流后分发到多个传输通道100进行传输。 [0167] 分发模块210作为待处理视频数据流的入口,负责将视频数据流分割成多个mipi子数据流,并将这些子数据流分别传输到多个第一mipi接口221,为后续的串行化处理做准备。通过数据发送侧200的串行器222将这些mipi子数据流从并行格式转换为GMSL(Gigabit Multimedia Serial Link)串行子数据流,然后分发到多个传输通道100进行传输。通过将待处理视频数据流分成多个mipi子数据流,并利用多个传输通道100进行同步传输,可以显著提高数据传输的带宽,从而满足高分辨率、高帧率场景的传输要求。 [0168] 在执行步骤S200、数据接收侧300将接收到的多个传输通道100的子数据流的标示位进行匹配的步骤之前,视频数据传输方法还包括以下步骤: [0169] 数据接收侧300对多个传输通道100的GMSL串行子数据流解串再转为mipi子数据流接收。 [0170] 在数据接收侧300,通过解串器322将多个传输通道100传输的GMSL串行子数据流解串并转换回mipi子数据流。由于解串器322通常会进行错误检测和纠正,以确保数据的完整性,因此通过串行器222、传输通道100和解串器322的协同工作,可以有效避免数据错位和丢失问题,确保处理后的视频数据流的完整性和准确性,进而提高视频处理的稳定性。 [0171] 本申请通过多路mipi接口传输同源数据的数据分发与合并技术,合并多路mipi同一视频源的流程,能够用mipi接口传输高带宽视频流,为大靶面面阵相机和高行频线阵相机等高分辨率、高行频场景的传输要求提供了一种新的接口选择,扩宽了mipi接口的使用场景,适应了工业视觉领域未来的需求。 [0172] 视频处理设备包括至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行上述实施例中的视频数据传输方法。本申请实施例中的视频处理设备可以包括但不限于诸如FPGA(Field‑Programmable Gate Array)现场可编程门阵列、DSP(Digital Signal Processor)数字信号处理器、ASIC(Application‑Specific Integrated Circuit)专用集成电路。本申请示出的视频处理设备等计算机装置仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。 [0173] 视频处理设备等计算机装置可以包括处理装置(例如中央处理器、图形处理器等)等控制组件,其可以根据存储在只读存储器(ROM:Read Only Memory)中的程序或者从存储装置加载到随机访问存储器(RAM:Random Access Memory)中的程序而执行各种适当的动作和处理。在RAM中,还存储有计算机装置操作所需的各种程序和数据。处理装置、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。通常,以下系统可以连接至I/O接口:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置;包括例如液晶显示器(LCD:Liquid Crystal Display)、扬声器、振动器等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信装置。通信装置可以允许计算机装置与其他设备进行无线或有线通信以交换数据。 [0174] 特别地,根据本申请公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从ROM被安装。在该计算机程序被处理装置执行时,执行本申请公开实施例的方法中限定的上述功能。 [0175] 本申请提供的视频处理设备,采用上述实施例中的视频数据传输方法,用于解决无法满足高分辨率、高行频场景的传输要求的技术问题。与现有技术相比,本申请提供的计算机装置的有益效果与上述实施例提供的视频数据传输方法的有益效果相同,且该计算机装置中的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。 [0176] 应当理解,本申请公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。 [0177] 以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。 [0178] 本申请提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上实施例的视频数据传输方法的步骤。 [0179] 本申请提供的计算机可读存储介质例如可以是U盘,但不限于电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM:Random Access Memory)、只读存储器(ROM:Read Only Memory)、可擦式可编程只读存储器(EPROM:Erasable Programmable Read Only Memory或闪存)、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(Radio Frequency:射频)等等,或者上述的任意合适的组合。 [0180] 上述计算机可读存储介质可以计算机装置中所包含的;也可以是单独存在,而未装配入计算机装置中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被计算机装置执行时,使得计算机装置:数据发送侧200按照设定的分发模式将待处理视频数据流分成多个子数据流,并将分成的多个子数据流分发到多个传输通道100进行同步传输;数据接收侧300将接收到的多个传输通道100的子数据流的标示位分别进行相互匹配;在多个传输通道100的子数据流的标示位匹配成功时,根据对应的分发模式将接收的多个传输通道100的子数据流进行缓存。 [0181] 可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括诸如verilog、VHDL、system verilog。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN:Local Area Network)或广域网(WAN:Wide Area Network)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。 [0182] 附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。 [0183] 本申请实施例中所涉及的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定。 [0184] 本申请提供的可读存储介质为计算机可读存储介质,计算机可读存储介质存储有用于执行上述视频数据传输方法的计算机可读程序指令(即计算机程序),用于解决无法满足高分辨率、高行频场景的传输要求的技术问题。与现有技术相比,本申请提供的计算机可读存储介质的有益效果与上述实施例提供的视频数据传输方法的有益效果相同,在此不做赘述。 [0185] 本申请实施例还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上实施例的视频数据传输方法的步骤。 [0186] 本申请提供的计算机程序产品用于解决无法满足高分辨率、高行频场景的传输要求的技术问题。与现有技术相比,本申请实施例提供的计算机程序产品的有益效果与上述实施例提供的视频数据传输方法的有益效果相同,在此不做赘述。 [0187] 以上所述仅为本申请的部分实施例,并非因此限制本申请的专利范围,凡是在本申请的技术构思下,利用本申请说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本申请的专利保护范围内。 |