CN114374470A - 数据传输方法、系统和计算机可读存储介质 - Google Patents
数据传输方法、系统和计算机可读存储介质 Download PDFInfo
- Publication number
- CN114374470A CN114374470A CN202011106012.4A CN202011106012A CN114374470A CN 114374470 A CN114374470 A CN 114374470A CN 202011106012 A CN202011106012 A CN 202011106012A CN 114374470 A CN114374470 A CN 114374470A
- Authority
- CN
- China
- Prior art keywords
- data
- algorithm
- error detection
- transmission
- correction
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明实施例提供了一种数据传输方法、系统和计算机可读存储介质。该方法包括:若传输通道的环境参数符合第一算法开启条件,通过第一检纠错算法对获取的传输数据进行编码,生成第一编码数据,并将所述第一编码数据发送至第二设备;若传输通道的环境参数符合第二算法开启条件,通过第二检纠错算法对获取的传输数据进行编码,生成第二编码数据,并将所述第二编码数据发送至第二设备,所述第二检纠错算法与所述第一检纠错算法不同。本发明实施例实现了在保证数据传输可靠性的基础上提高了数据传输效率。
Description
【技术领域】
本发明涉及通信技术领域,具体地涉及一种数据传输方法、系统和计算机可读存储介质。
【背景技术】
随着通信技术的发展,电子设备的应用对图像和视频处理的要求越来越高。在图像和视频传输过程中,需要通过检纠错技术对传输数据进行检纠错处理,以保证数据传输的可靠性。
但是,相关技术中还没有一种数据传输方法能够实现在保证数据传输可靠性的基础上提高数据传输效率。
【发明内容】
有鉴于此,本发明提供一种数据传输方法、系统和计算机可读存储介质,用于实现在保证数据传输可靠性的基础上提高数据传输效率。
第一方面,本发明实施例提供了一种数据传输方法,应用于第一设备,所述方法包括:
若传输通道的环境参数符合第一算法开启条件,通过第一检纠错算法对获取的传输数据进行编码,生成第一编码数据,并将所述第一编码数据发送至第二设备;
若传输通道的环境参数符合第二算法开启条件,通过第二检纠错算法对获取的传输数据进行编码,生成第二编码数据,并将所述第二编码数据发送至第二设备,所述第二检纠错算法与所述第一检纠错算法不同。
在一种可能的实现方式中,,还包括:
获取传输通道的环境参数。
在一种可能的实现方式中,所述传输通道的环境参数包括误码率;所述获取传输通道的环境参数包括:向所述第二设备依次发送第一序列和第二序列,以供所述第二设备统计接收到的正确的第二序列的比特数,所述第一序列用于实现状态机均衡训练;接收所述第二设备发送的正确的第二序列的比特数;根据所述第二设备发送的正确的第二序列的比特数和发送的第二序列的总比特数计算出误码率;或者,
所述传输通道环境参数包括系统传输速率;所述获取传输通道环境参数包括:从切速状态寄存器读取所述系统传输速率。
在一种可能的实现方式中,若所述传输通道的环境参数符合第一算法开启条件,所述方法还包括:采集原始数据;对所述原始数据进行编码格式转换,生成所述传输数据;或者,
若所述传输通道的环境参数符合第二算法开启条件,所述方法还包括:采集原始数据;对所述原始数据进行编码格式转换,生成所述传输数据。
在一种可能的实现方式中,所述传输通道的环境参数包括丢包率;所述获取传输通道的环境参数包括:
向第二设备发送测试数据包,并记录发送的所述测试数据包的个数;
接收第二设备返回的统计出的接收到的正确的测试数据包的个数;
根据正确的测试数据包的个数和发送的测试数据包的个数,计算出丢包率。
在一种可能的实现方式中,所述通过第一检纠错算法对获取的传输数据进行编码之前,还包括:采集原始数据;对所述原始数据进行编码格式转换,生成所述传输数据;或者,所述通过第二检纠错算法对获取的传输数据进行编码之前,还包括:采集原始数据;对所述原始数据进行编码格式转换,生成所述传输数据。
在一种可能的实现方式中,所述传输通道环境参数包括误码率、系统传输速率和所述丢包率中之一或其任意组合;
所述传输通道环境参数符合第一算法开启条件包括:所述误码率大于或等于第一阈值、所述系统传输速率大于或等于第二阈值以及所述丢包率大于或等于第三阈值中之一或其任意组合;
所述传输通道环境参数符合第二算法开启条件包括:所述误码率小于第一阈值、所述系统传输速率小于第二阈值以及所述丢包率小于第三阈值中之一或其任意组合。
在一种可能的实现方式中,所述第一检纠错算法包括至少二个检纠错算法,所述第二检纠错算法包括至少一个检纠错算法;或者,
所述第一检纠错算法中的检纠错算法的数量大于所述第二检纠错算法中的检纠错算法的数量。
在一种可能的实现方式中,所述第一检纠错算法包括前向纠错FEC算法、净核循环冗余校验CRC算法和包头错误纠正码ECC算法;或者所述第一检纠错算法包括FEC算法和CRC算法;或者所述第一检纠错算法包括FEC算法和ECC算法;或者,
所述第二检纠错算法包括FEC算法;或者所述第二检纠错算法包括CRC算法;或者所述第二检纠错算法包括ECC算法;或者所述第二检纠错算法包括CRC算法和ECC算法。
在一种可能的实现方式中,所述第一编码数据包括指示字段,所述第一编码数据的指示字段用于指示所述环境参数符合所述第一算法开启条件;和/或,
所述第二编码数据包括指示字段,所述第二编码数据的指示字段用于指示所述环境参数符合所述第二算法开启条件。
在一种可能的实现方式中,所述第一设备为摄像头模组,所述第二设备为主板;或者
所述第一设备为摄像头模组,第二设备为主机;或者
所述第一设备为主板,所述第二设备为显示屏;或者
所述第一设备为主机,所述第二设备为显示屏。
第二方面,本发明实施例提供了一种数据传输方法,应用于第二设备,所述方法包括:
接收到编码数据;
若确定出符合第一算法开启条件,通过第一检纠错算法对所述编码数据进行校验,生成传输数据;
若确定出符合第二算法开启条件,通过第二检纠错算法对所述编码数据进行校验,生成传输数据。
在一种可能的实现方式中,所述方法还包括:
接收第一设备依次发送的第一序列和第二序列,所述第一序列用于实现状态机均衡训练;
根据接收到的正确的第二序列的比特数和发送的第二序列的总比特数计算出误码率;
若所述误码率符合第一算法开启条件时,向所述第一设备发送第一误码率状态,所述第一误码率状态用于表示所述误码率符合所述第一算法开启条件;
若所述误码率符合第二算法开启条件时,向所述第一设备发送第二误码率状态,所述第二误码率状态用于表示所述误码率符合所述第二算法开启条件。
在一种可能的实现方式中,所述方法还包括:
接收第一设备发送的测试数据包;
根据接收到的正确的测试数据包的个数和发送的测试数据包的个数,计算出丢包率;
若所述丢包率符合第一算法开启条件时,向所述第一设备发送第一丢包率状态,所述第一丢包率状态用于表示所述丢包率符合所述第一算法开启条件;
若所述丢包率符合第二算法开启条件时,向所述第一设备发送第二丢包率状态,所述第一丢包率状态用于表示所述丢包率符合所述第二算法开启条件。
在一种可能的实现方式中,所述第一检纠错算法包括至少二个检纠错算法,第二检纠错算法包括至少一个检纠错算法,所述第一检纠错算法中的检纠错算法的数量大于所述第二检纠错算法中的检纠错算法的数量。
在一种可能的实现方式中,所述第一检纠错算法包括FEC算法、CRC算法和ECC算法;或者
所述第一检纠错算法包括FEC算法和CRC算法;或者
所述第一检纠错算法包括FEC算法和ECC算法;或者
所述第二检纠错算法包括FEC算法;或者
所述第二检纠错算法包括CRC算法;或者
所述第二检纠错算法包括ECC算法;或者
所述第二检纠错算法包括CRC算法和ECC算法。
在一种可能的实现方式中,所述确定出符合第一算法开启条件,包括:确定出所述编码数据包括指示字段;所述确定出符合第二算法开启条件,包括:确定出所述编码数据未包括指示字段;或者,
所述确定出符合第一算法开启条件,包括:确定出所述编码数据未包括指示字段;所述确定出符合第二算法开启条件,包括:确定出所述第二编码数据包括指示字段;或者,
所述确定出符合第一算法开启条件,包括:确定出所述第一编码数据中的指示字段为第一取值;所述确定出符合第二算法开启条件,包括:确定出所述第二编码数据中的指示字段为第二取值。
第三方面,本发明实施例提供了一种第一设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得设备执行上述第一方面或者第一方面的任一可能的实现方式中的数据传输方法。
第四方面,本发明实施例提供了一种第二设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得设备执行上述第二方面或者第一方面的任一可能的实现方式中的数据传输方法。
第五方面,本发明实施例提供了一种数据传输系统,包括:第一设备和第二设备,所述第一设备和所述第二设备通过传输通道通信连接;
所述第一设备,用于若传输通道的环境参数符合第一算法开启条件,通过第一检纠错算法对获取的传输数据进行编码,生成第一编码数据,并将所述第一编码数据发送至第二设备;若传输通道的环境参数符合第二算法开启条件,通过第二检纠错算法对获取的传输数据进行编码,生成第二编码数据,并将所述第二编码数据发送至第二设备,所述第二检纠错算法与所述第一检纠错算法不同;
所述第二设备,用于接收到编码数据;若确定出符合第一算法开启条件,通过第一检纠错算法对所述编码数据进行校验,生成传输数据;若确定出符合第二算法开启条件,通过第二检纠错算法对所述编码数据进行校验,生成传输数据。
第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于设备执行的程序代码,所述程序代码包括用于执行第一方面或者第一方面的任一可能的实现方式中的方法的指令。
第七方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于设备执行的程序代码,所述程序代码包括用于执行第二方面或者第二方面的任一可能的实现方式中的方法的指令。
第八方面,本发明实施例提供了一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机或任一至少一种处理器上运行时,使得所述计算机执行上述第一方面或者第一方面的任一可能的实现方式中的数据传输方法。
第九方面,本发明实施例提供了一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机或任一至少一种处理器上运行时,使得所述计算机执行上述第二方面或者第二方面的任一可能的实现方式中的数据传输方法。
本发明实施例提供的技术方案中,第一设备根据传输通道的环境参数符合第一算法开启条件选择第一检纠错算法对传输数据进行编码生成第一编码数据,或者第一设备根据传输通道的环境参数符合第二算法开启条件选择第二检纠错算法对传输数据进行编码生成第二编码数据,第二设备接收编码数据,若确定出符合第一算法开启条件时通过第一检纠错算法对编码数据进行校验生成传输数据,若确定出符合第二算法开启条件时通过第二检纠错算法对编码数据进行校验生成传输数据,实现了通过选择出的检纠错算法对数据传输过程中的传输数据进行检纠错处理,从而在保证数据传输可靠性的基础上提高了数据传输效率。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是一些实施例中检纠错技术的示意图;
图2是相关技术中基于D-PHY的数据传输系统的结构示意图;
图3是图2中数据传输系统基于D-PHY的数据传输方法的流程图;
图4是相关技术中基于D-PHY进行传输的第二数据块的格式示意图;
图5是相关技术中基于C-PHY的数据传输系统的结构示意图;
图6是图5中数据传输系统基于C-PHY的数据传输方法的流程图;
图7是相关技术中基于C-PHY进行传输的数据包的格式示意图;
图8为相关技术中基于CSI-3的数据传输系统的分层结构示意图;
图9是基于图8中数据传输系统的MIPI UniPro L2层数据帧的格式示意图;
图10是相关技术中基于HDMI的数据传输系统的结构示意图;
图11是图10中数据传输系统基于HDMI的数据传输方法的流程图;
图12是相关技术中基于HDMI进行传输的第二数据块的格式示意图;
图13是相关技术中基于HDMI进行传输的第三数据块的格式示意图;
图14是相关技术中基于DP的数据传输系统的结构示意图;
图15是相关技术中基于DP的数据传输方法的流程图;
图16是基于DP的链路层(Link Layer)数据帧的格式示意图;
图17是基于DP在PHY层实现单通道FEC的数据帧的格式示意图;
图18a是本发明一些实施例提供的一种数据传输系统的通信示意图;
图18b是本发明一些实施例提供的第一设备和第二设备之间的板级连接的示意图;
图18c是本发明另一些实施例提供的第一设备和第二设备之间的板级连接的示意图;
图18d是本发明实施例提供的一种数据传输方法的流程图;
图19是本发明一些实施例提供的一种数据传输系统的结构示意图;
图20是本发明一些实施例提供的数据传输方法的流程图;
图21是本发明一些实施例中训练码流的数据格式示意图;
图22是本发明一些实施例中基于D-PHY进行传输的数据块的格式示意图;
图23是本发明另一些实施例提供的数据传输方法的流程图;
图24是另一些实施例提供的数据传输系统的结构示意图;
图25是另一些实施例提供的数据传输方法的流程图;
图26是本发明实施例中基于HDMI进行传输的数据块的格式示意图;
图27是本发明一实施例提供的一种电子设备的结构示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,甲和/或乙,可以表示:单独存在甲,同时存在甲和乙,单独存在乙这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
随着电子设备的进步,电子设备的应用对图像和数据处理的要求越来越高。在电子设备内部,这种要求主要体现在对系统级芯片(System on Chip,简称SOC)和外围设备之间接口的传输速率的要求。以移动产业处理器接口(Mobile Industry ProcessorInterface,简称MIPI)的相机串行接口2(Camera Serial Interface 2,简称CSI-2)、相机串行接口3(Camera Serial Interface 3,简称CSI-3)、高清多媒体接口(High-DefinitionMultimedia Interface,简称HDMI)、显示端口(Display Port,简称DP)为代表的图像和视频传输技术,在处理灵活性、功能性等方面表现了诸多的优点。
但是,由于复杂的信道环境,在图像和视频的传输过程中不可避免的出现传输差错,尤其是信号传输路径损耗、信道干扰及终端移动等因素而造成的误码率较高。对于图像和视频传输而言,由于其对信道引入差错或突发的数据丢包较为敏感,一定数量的误码或丢包即可能会将图像质量降低很多数量级,直接影响到最终解码恢复和视觉内容的表达,因此需要采用强有力的信道编码方式来保证一定的误码率。其中,误码是指信道、设备等原因造成的接收数据中随机错误或突发错误;丢包是指一个或多个数据包(packet)的数据无法传输到达目的地。由于不同的检纠错算法适用于不同的信道环境,所以在图像和视频的传输过程中需要根据误码率、丢包率等大小情况采用不同的检纠错算法,以降低图像和视频传输的误码率和丢包率,提高接收端图像和视频的重构质量,且使得图像和视频的传输过程兼具复杂度低、实现简单的特点。
目前,图像和视频传输过程中采用的检纠错技术按照其在通信中所处的环节,可以分为发送端检纠错技术和接收端检纠错技术。如图1所示,在图像和视频的传输过程中,检纠错技术可包括信源编码、信道编码、传输线路传输、信道解码和信源解码,其中,信源编码属于信源处理部分,信道编码、传输线路传输和信道解码属于信道处理部分,信源解码属于信宿处理部分。发送端检纠错技术是信道编码时加入冗余信息来增强编码比特流检纠错能力的方法。接收端检纠错技术是基于信道解码来完成的,解码器根据解码规则近似地还原丢失或出错的数据,不需要在发送端提前做技术处理,如传真图像中的误码补偿、视频中的错误隐藏技术等。发送端检纠错技术中,信道解码阶段的检纠错技术是在发送端预先进行了处理,增加了可以进行检错或纠错的冗余信息。需要说明的是:本发明实施例提供的数据传输方法采用发送端检纠错技术对传输数据进行检纠错处理。
CSI-2是一种MIPI组织制定的用于在电子设备的摄像头芯片与主控芯片间传输图像数据的接口。CSI-2兼容两种端口物理层(Port Physical Layer,简称PHY),即C-PHY和D-PHY,因此CSI-2对应于两种不同的检纠错算法。
图2是相关技术中基于D-PHY的数据传输系统的结构示意图,如图2所示,该数据传输系统可包括第一设备和第二设备,第一设备包括图像处理单元和发送装置,第二设备包括主处理器单元和接收装置,发送装置和接收装置通过传输通道通信连接,图像处理单元与发送装置通信连接,主处理器单元与接收装置通信连接。其中,发送装置包括第一格式转换模块、协议发送单元和PHY层发送模块。协议发送单元包括包头错误纠正码(ErrorCorrection Code,简称ECC)编码模块和净核循环冗余校验(Cyclic Redundancy Check,简称CRC)编码模块。接收装置包括第二格式转换模块、协议接收单元和PHY层接收模块,协议接收单元包括包头ECC解码模块和净核CRC解码模块。其中,PHY层发送模块和PHY层接收模块之间通过传输通道通信连接。
相关技术提供了一种基于D-PHY的数据传输方法,第一设备包括摄像头模组,第二设备包括手机的主板,协议发送单元包括CSI-2发送单元,协议接收单元包括CSI-2接收单元,PHY层发送模块包括D-PHY发送模块,PHY层接收模块包括D-PHY接收模块。
图3是图2中数据传输系统基于D-PHY的数据传输方法的流程图,如图3所示,该方法包括:
步骤102、主处理器单元对图像处理单元进行参数配置。
具体地,在所有实际使用的场景下,主板可对摄像头模组进行工作参数配置,使得摄像头模组能够按照工作参数的要求工作。其中,工作参数可包括分辨率、帧率和接口速率等。
步骤104、协议发送单元向协议接收单元发送训练码流。
具体地,协议发送单元向PHY层发送模块发送训练码流,PHY层发送模块通过传输通道向PHY层接收模块发送训练码流,而后,PHY层接收模块将训练码流发送至协议接收单元,协议接收单元接收训练码流,自适应调整参数,以实现CSI-2状态机均衡训练过程。在实现状态机均衡训练之后,第一设备开始进行图像数据流的传输过程。
步骤106、图像处理单元采集图像数据流,并将采集的图像数据流发送至第一格式转换模块。
步骤108、第一格式转换模块对图像数据流进行编码格式转换,生成第一数据块,并为第一数据块添加数据包头。
图4是相关技术中基于D-PHY进行传输的第二数据块的格式示意图,图4所示,第一格式转换模块(如图2所示)对图像数据流进行二进制编码格式转换,以形成负载(Payload)。其中,“Payload”用于表示第一数据块。数据包头可包括数据类型符(DataIdentifier,简称Data ID)、字节数(16-bit WC)和虚拟通道标识符(Virtual ChannelExtension,简称VCX)。其中,字节数用于标记“Payload”的数量,WC为字统计(Word Count)的简称。第一格式转换模块将添加了数据包头的第一数据块发送至协议发送单元。
步骤110、协议发送单元通过包头ECC编码模块对数据包头进行ECC编码,生成第一ECC字段。
图4所示,包头ECC编码模块(如图2所示)通过6-bit的扩展汉明码对Data ID、WC和VCX进行ECC编码,生成第一ECC字段,其中,ECC字段例如为:6-bit字段。需要说明的是:图4中所示的ECC字段为第一ECC字段。
步骤112、协议发送单元通过净核CRC编码模块对第一数据块进行CRC编码,生成CRC字段。
图4所示,净核CRC编码模块(如图2所示)通过多项式对“Payload”进行CRC编码生成CRC字段。其中,多项式例如为:X16+X12+X5+X0,CRC字段例如为16-bit字段,CRC字段即图4中的“16-bit CRC”。
步骤114、协议发送单元根据第一数据块、数据包头、第一ECC字段和CRC字段,生成第二数据块。
图4所示,协议发送单元(如图2所示)将第一ECC字段和CRC字段分别放置于“Payload”的头部和尾部,将数据包头中的Data ID、WC和VCX分别放置于数据包的指定位置,并在数据包的开始位置设置传输开始(Start of Transmit,简称SoT)标识以及在数据包的结束位置设置传输结束(End of transmit,简称EoT)标识,以形成图4中所示的长包格式的第二数据块。
步骤116、协议发送单元将第二数据块发送至PHY层发送模块,PHY层发送模块通过传输通道将第二数据块发送至PHY层接收模块,PHY层接收模块将第二数据块发送至协议接收单元。
步骤118、协议接收单元通过净核CRC解码模块对第二数据块中的CRC字段进行CRC校验,生成CRC校验结果。
净核CRC解码模块(如图2所示)将第二数据块中的CRC字段与多项式进行模2除计算,得到余数,余数即为CRC校验结果。若CRC校验结果为0,则表明接收到的“Payload”是正确的数据;若CRC校验结果不为0,则表明接收到的“Payload”是错误的数据。其中,多项式可包括X16+X12+X5+X0。
步骤120、协议接收单元通过包头ECC解码模块对第二数据块中的数据包头进行ECC校验,生成ECC校验结果。
包头ECC解码模块(如图2所示)对数据包头中的Data ID、WC和VCX进行编码生成第二ECC字段,将第一ECC字段与第二ECC字段进行异或计算得出ECC校验结果。若ECC校验结果为0,表明数据包头正确;若ECC校验结果不为0且ECC校验结果指示出有1-bit错误以及错误位,则表明需要对数据包头的错误位进行纠正;若ECC校验结果不为0且ECC校验结果指示出有2-bit以上的错误,则表明数据包头发生了不可纠正的错误。
其中,包头ECC解码模块可采用与包头ECC编码模块相同的编码规则对数据包头中的Data ID、WC和VCX进行ECC编码,即包头ECC解码模块可通过6-bit的扩展汉明码对DataID、WC和VCX进行ECC编码生成第二ECC字段。
步骤122、协议接收单元若识别出CRC校验结果为0且ECC校验结果为0时,对第二数据块进行解包处理生成第一数据块。
具体地,协议接收单元去除第二数据块中的SoT标识、EoT标识、第一ECC字段、CRC字段、Data ID、WC和VCX,以实现对第二数据块进行解包处理得到第一数据块。
协议接收单元将解包得到的第一数据块发送至第二格式转换模块。
步骤124、第二格式转换模块对第一数据块进行编码格式转换,生成图像数据流,并将图像数据流上传至主处理器单元。
第二格式转换模块(如图2所示)将第一数据块进行像素图像编码格式转换生成图像数据流,并将图像数据流上传至主处理器单元。
作为一种可选方案,协议接收单元若识别出ECC校验结果不为0且ECC校验结果指示出有1-bit错误以及错误位,则对数据包头的错误位进行纠正,对第二数据块进行解包处理生成第一数据块,而后将第一数据块进行像素图像编码格式转换生成图像数据流,并将图像数据流上传至主处理器单元。
作为另一种可选方案,协议接收单元若识别出CRC校验结果不为0和/或识别出则ECC校验结果不为0且ECC校验结果指示出有2-bit以上的错误,则将第二数据块进行丢弃、直接跳过或重传等处理,此种情况下,可由开发人员确定对第二数据块的处理方式。
图5是相关技术中基于C-PHY的数据传输系统的结构示意图,如图5所示,该数据传输系统可包括第一设备和第二设备,第一设备包括图像处理单元和发送装置,第二设备包括主处理器单元和接收装置,发送装置和接收装置通过传输通道通信连接,图像处理单元与发送装置通信连接,主处理器单元与接收装置通信连接。其中,发送装置包括第一格式转换模块、协议发送单元和PHY层发送模块。协议发送单元包括包头CRC编码模块和净核CRC编码模块。接收装置包括第二格式转换模块、协议接收单元和PHY层接收模块,协议接收单元包括包头CRC解码模块和净核CRC解码模块。其中,PHY层发送模块和PHY层接收模块之间通过传输通道通信连接。
相关技术还提供了一种基于C-PHY的数据传输方法,第一设备包括摄像头模组,第二设备包括手机的主板,协议发送单元包括CSI-2发送单元,协议接收单元包括CSI-2接收单元,PHY层发送模块包括C-PHY发送模块,PHY层接收模块包括C-PHY接收模块。图6是图5中数据传输系统基于C-PHY的数据传输方法的流程图,如图6所示,该方法包括:
步骤202、主处理器单元对图像处理单元进行参数配置。
步骤204、协议发送单元向协议接收单元发送训练码流。
步骤206、图像处理单元采集图像数据流,并将采集的图像数据流发送至第一格式转换模块。
对步骤202至步骤206的描述可参见步骤102至步骤106,此处不再赘述。
步骤208、第一格式转换模块对图像数据流进行编码格式转换,生成第一数据块,并为第一数据块添加数据包头。
图7是相关技术中基于C-PHY进行传输的数据包的格式示意图,如图5和图7所示,第一格式转换模块(如图5所示)对图像数据流进行二进制编码格式转换,以形成第一数据块“Payload”。数据包头可包括Data ID、16-bit WC和VCX。第一格式转换模块将添加了数据包头的第一数据块发送至协议发送单元。
步骤210、协议发送单元通过包头CRC编码模块对数据包头进行CRC编码,生成PH-CRC字段。
图7所示,包头CRC编码模块(如图5所示)通过多项式对数据包中的Data ID、WC和VCX进行CEC编码生成PH-CRC字段。其中,多项式可包括X16+X12+X5+X0。
步骤212、协议发送单元通过净核CRC编码模块对第一数据块进行CRC编码,生成PF-CRC字段。
图7所示,净核CRC编码模块(如图5所示)通过多项式对“Payload”进行CRC编码生成PF-CRC字段。其中,多项式例如为:X16+X12+X5+X0。
由于C-PHY采用独特的三线编码方式,即:三个电平同时进行编码,若一个电平编码错误,会导致后续电平编码也出现错误,从而发生多位错误,因此为了增强数据可靠性,检测出多bits错误,可净核CRC编码模块对传输的数据进行CRC编码和校验。
步骤214、协议发送单元根据第一数据块、数据包头、PH-CRC字段、PF-CRC字段和保留字段(Reserved Field,简称RES),生成第二数据块。
图7所示,协议发送单元(如图5所示)将PH-CRC字段和PF-CRC字段分别放置于“Payload”的头部和尾部,将数据包头中的Data ID、WC、VCX、RES和填充(Filler)字段分别放置于第二数据块的指定位置,并在第二数据块的开始位置设置SoT标识以及在第二数据块的结束位置设置EoT标识,以形成图7中所示的长包格式的第二数据块。
步骤216、协议发送单元将第二数据块发送至PHY层发送模块,PHY层发送模块通过传输通道将第二数据块发送至PHY层接收模块,PHY层接收模块将第二数据块发送至协议接收单元。
步骤218、协议接收单元通过包头CRC解码模块对第二数据块中的PH-CRC字段进行CRC校验,生成第一CRC校验结果。
包头CRC解码模块(如图7所示)将第二数据块中的PH-CRC字段与多项式进行模2除计算,得到余数,余数即为第一CRC校验结果。第一CRC校验结果可以为0或者不为0。其中,多项式例如为:X16+X12+X5+X0。
步骤220、协议接收单元通过净核CRC解码模块对第二数据块中的PF-CRC字段进行CRC校验,生成第二CRC校验结果。
净核CRC解码模块将第二数据块中的PF-CRC字段与多项式进行模2除计算,得到余数,余数即为第二CRC校验结果。第二CRC校验结果可以为0或者不为0。其中,多项式例如为:X16+X12+X5+X0。
步骤222、协议接收单元若识别出第一CRC校验结果和第二CRC校验结果均为0时,对第二数据块进行解包处理生成第一数据块。
协议接收单元若识别出第一CRC校验结果和第二CRC校验结果均为0时,表明第二数据块的信息完全正确,可继续对第二数据块进行解包处理。
具体地,协议接收单元去除第二数据块中的SoT标识、EoT标识、PH-CRC字段、PF-CRC字段、Data ID、WC、VCX、RES和Filler,以实现对第二数据块进行解包处理得到第一数据块。
协议接收单元将解包得到的第一数据块发送至第二格式转换模块。
步骤224、第二格式转换模块对第一数据块进行编码格式转换,生成图像数据流,并将图像数据流上传至主处理器单元。
协议接收单元将第一数据块进行像素图像编码格式转换生成图像数据流,并将图像数据流上传至主处理器单元。
作为一种可选方案,协议接收单元若第一CRC校验结果不为0和/或第二CRC校验结果不为0时,表明第二数据块中的字段发生不可纠正的错误,则将第二数据块进行丢弃、直接跳过或重传等处理,此种情况下,可由开发人员确定对第二数据块的处理方式。
图8为相关技术中基于CSI-3的数据传输系统的分层结构示意图,如图8所示,该数据传输系统包括第一设备和第二设备,第一设备和第二设备之间通过传输通道通信连接。其中,第一设备包括图像处理单元、发送装置、设备管理实体(Device Management Entity)和PHY层发送模块,其中,图像处理单元包括相机应用层(Camera Application Layer,发送装置包括传输层(Transport)L4层、网络层(Network)L3层、数据链路层(Data Link)L2层、PHY适配层(PHY Adaptor)L1.5层;第二设备包括主处理器单元、接收装置、设备管理实体(Device Management Entity)和PHY层接收模块,其中,主处理器单元包括主机应用层(Host Application Layer),接收装置包括PHY适配层(PHY Adaptor)L1.5层、数据链路层(Data Link)L2层、网络层(Network)L3层和传输层(Transport)L4层。其中,PHY层发送模块和PHY层接收模块通过传输通道通信连接。
相关技术还提供了一种基于CSI-3的数据传输方法。图9是基于图8中数据传输系统的MIPI UniPro L2层数据帧的格式示意图,如图8和图9所示,对于所有摄像头模组实际使用场景下,在第一设备一侧,当L3层的图像数据块传输至L2层时,L2层在L3层的图像数据块的基础上添加L2层包头字符,并且采用CCITT CRC-16算法对L3层的图像数据块进行校验计算生成16-bit CRC校验字段。将16-bit CRC校验字段添加在L2层数据帧的尾部,如图9所示,L2层数据帧还包括数据链路层控制标识符(Data Link Layer Control SymbolIdentifier,简称ESC_DL)字段、L2层数据包结束帧标识符(End of Frame for even L2SDU,简称EOF_EVEN)字段、帧序列号(Frame Sequence Number,简称Frame Seq Number)和流量类型符(Traffic Class,简称TC)字段。然后在第二设备的L2层根据模2除法对图像数据块进行校验得到余数,若余数均为0,则表明当前数据包信息完全正确,则将L2层图像数据块还原出L3层图像数据块,并将还原出的L3层图像数据块传至L3层;若余数不为0,则表明L2层图像数据块发生了不可纠正的错误,将错误的数据包进行丢弃、直接跳过或重传等处理,此种情况下,可由开发人员确定对数据包的处理方式。相关技术中基于CSI-3的数据传输方法的流程可参见图6所示的基于C-PHY的数据传输方法,此处不再重复描述。
上述相关技术的基于CSI-2和CSI-3的数据传输方法的方案中,由于采用了CRC算法和ECC算法或者采用了CRC算法对数据进行检纠错处理,导致数据冗余较小,从而可提高数据传输的效率。但是由于无法实现多bits错误数据的纠错,对于突发错误无法有效保证数据的可靠传输,在传输信道受到干扰(例如,加性噪声及随机噪声等干扰)而使得误码率较高的情况下,会导致数据丢包进而引起图像画面卡顿、失真等情况,从而极大的影响了用户的使用体验。
HDMI是HDMI Forum制定的用于高清晰度多媒体传输的接口,主要用于设备间视频、图像等的传输。HDMI可应用于电子设备内部的第一设备与第二设备之间的多媒体传输,例如,第一设备例如为:手机的主板,第二设备例如为手机的显示屏;或者,HDMI可应用于不同的电子设备之间的多媒体传输,例如主机与显示屏之间的多媒体传输。
图10是相关技术中基于HDMI的数据传输系统的结构示意图,如图10所示,该数据传输系统可包括第一设备和第二设备,第一设备包括视频数据处理单元和发送装置,第二设备包括负载(sink)单元和接收装置,发送装置和接收装置通过传输通道通信连接,视频数据处理单元与发送装置通信连接,负载单元与接收装置通信连接。其中,发送装置包括第一格式转换模块、协议发送单元和PHY层发送模块。协议发送单元包括最小化传输差分信号(Transition-minimized differential signaling,简称TMDS)消费性电子控制(ConsumerElectronics Control,简称CEC)编码模块和前向纠错(Forward Error Correction,简称FEC)编码模块。接收装置包括第二格式转换模块、协议接收单元和PHY层接收模块,协议接收单元包括TMDS CEC解码模块和FEC解码模块,其中,PHY层发送模块和PHY层接收模块之间通过传输通道通信连接。
相关技术还提供了一种基于HDMI的数据传输方法,负载单元包括显示屏,协议发送单元包括HDMI发送单元,协议接收单元包括HDMI接收单元。图11是图10中数据传输系统基于HDMI的数据传输方法的流程图,如图11所示,该方法包括:
步骤302、视频数据处理单元对负载单元进行工作参数配置。
具体地,在所有实际使用的场景下,视频处理单元可对显示屏的视频/图像数据控制器进行工作参数配置,使得显示屏能够按照工作参数的要求工作。其中,工作参数可包括分辨率、帧率和接口速率等。
步骤304、视频数据处理单元采集图像或视频数据流,并将采集的图像或视频数据流发送至第一格式转换模块。
步骤306、第一格式转换模块对图像或视频数据流进行编码格式转换,生成第一数据块并为第一数据块添加数据包头。
图12是相关技术中基于HDMI进行传输的第二数据块的格式示意图,图12所示,数据包头包括前导码(Premble)、数据同步信息(Sync)、控制/数据信息(C/D)和保留字段(Rsvd)。第一格式转换模块(如图10所示)将前导码(Premble)、数据同步信息(Sync)、控制/数据信息(C/D)和保留字段(Rsvd)添加到第一数据块(Payload)的头部。其中,前导码(Premble)用于表明“Payload”是各种类型的包信息(Data Island)或是视频像素数据(Video Data),其中,包信息的内容包括音频数据包或者图像信息包等。第一格式转换模块将添加了数据包头的第一数据块发送至协议发送单元。
如图12所示,例如:第一数据块(Payload)可包括指令(Commad)或者数据(Data)。
步骤308、协议发送单元通过TMDS CEC编码模块对第一数据块进行ECC编码生成第一ECC字段以及对第一数据块进行CRC编码生成CRC字段。
具体地,TMDS CEC编码模块采用6-bit的扩展汉明码对“Payload”进行ECC编码生成第一ECC字段和校验位(Parity)字段;TMDS CEC编码模块采用16-bit CRC对“Payload”进行CRC编码生成CRC(16-bit CRC)字段和校验位(Parity)字段。
步骤310、协议发送单元将第一ECC字段和CRC字段添加至第一数据块的尾部,以生成第二数据块。
生成的第二数据块的具体格式可参见图12所示。如图12所示,第二数据块中第一ECC字段和CRC字段之后还可设置校验位(Parity)字段。
步骤312、协议发送单元通过FEC编码模块将第二数据块分成多个FEC数据块。
图13是相关技术中基于HDMI进行传输的第三数据块的格式示意图,如图13所示,FEC数据块包括Symbol数据块(Super Block Payload)。其中,“Super Block Payload”可包括指令(Commad)或者数据(Data)。
步骤314、协议发送单元通过FEC编码模块对每个FEC数据块进行FEC编码,生成FEC校验码。
具体地,FEC编码模块通过RS码编码算法对每个FEC数据块进行FEC编码生成FEC校验码(RS Block/Parity)。
步骤316、协议发送单元通过FEC编码模块将FEC校验码添加至FEC数据块的尾部,以生成第三数据块。
形成的第三数据块的具体格式可参见图13所示,第三数据块还包括开始位(StartSuper Block)字段和字节数(RS Block Symbol/Byte)字段。
步骤318、协议发送单元将第三数据块发送至PHY层发送模块,PHY层发送模块通过传输通道将第三数据块发送至PHY层接收模块,PHY层接收模块将第三数据块发送至协议接收单元。
步骤320、协议接收单元通过FEC解码模块对第三数据块进行FEC校验,生成FEC校验结果。
具体地,FEC解码模块通过RS码解码算法对第三数据块进行FEC校验,生成FEC校验结果。FEC校验结果包括校验成功、可纠正的错误结果或者不可纠正的错误结果。其中,可纠正的错误结果为FEC算法验证能力范围内的错误,此种类型的错误均可被纠正,从而使得FEC算法实现了对多bits错误数据进行检纠错;不可纠正的错误结果为FEC算法验证能力范围之外的错误,此种类型的错误数据无法被纠正。
步骤322、协议接收单元通过FEC解码模块若识别出FEC校验结果包括可纠正的错误结果时,对第三数据块的错误数据进行纠正处理,并且协议接收单元将第三数据块进行解包生成第二数据块。
协议接收单元去除第三数据块中的开始位(Start Super Block)字段、字节数(RSBlock Symbol/Byte)字段和FEC校验码,得出第二数据块。
协议接收单元若通过FEC解码模块识别出FEC校验结果包括校验成功,表明第三数据块中不存在错误数据,可直接将第三数据块进行解包生成第二数据块。
而后,协议接收单元将第二数据块发送至TMDS CEC解码模块。
协议接收单元若通过FEC解码模块识别出FEC校验结果包括不可纠正的错误结果,将第三数据块进行丢弃、直接跳过或重传等处理,此种情况下,可由开发人员确定对第三数据块的处理方式。
步骤324、协议接收单元通过TMDS CEC解码模块对第二数据块中的CRC字段进行CRC校验,生成CRC校验结果。
TMDS CEC解码模块将第二数据块中的CRC字段与多项式进行模2除计算,得到余数,余数即为CRC校验结果。CRC校验结果可以为0或者不为0。其中,多项式可包括X16+X12+X5+X0。
步骤326、协议接收单元通过TMDS CEC解码模块对第二数据块中的第一ECC字段进行ECC校验,生成ECC校验结果。
TMDS CEC解码模块对第二数据块中的“Payload”进行ECC编码生成第二ECC字段,将第一ECC字段与第二ECC字段进行异或计算得出ECC校验结果。若ECC校验结果为0,表明“Payload”正确;若ECC校验结果不为0且ECC校验结果指示出有1-bit错误以及错误位,则表明需要对“Payload”的错误位进行纠正;若ECC校验结果不为0且ECC校验结果指示出有2-bit以上的错误,则表明“Payload”发生了不可纠正的错误。其中,TMDS CEC解码模块可采用与TMDS CEC编码模块相同的编码规则对“Payload”进行ECC编码,即TMDS CEC解码模块可通过6-bit的扩展汉明码对“Payload”进行ECC编码生成第二ECC字段。
步骤328、协议接收单元判断CRC校验结果和ECC校验结果是否均为0,若是,则执行步骤330;若判断出重传时,则执行步骤312。
步骤330、协议接收单元对第二数据块进行解包处理生成第一数据块,并将第一数据块发送至第二格式转换单元。
具体地,协议接收单元去除第二数据块中的前导码(Premble)、数据同步信息(Sync)、控制/数据信息(C/D)、保留字段(Rsvd)、第一ECC字段、CRC字段和校验位(Parity)字段,以实现对第二数据块进行解包处理得到第一数据块。
步骤332、第二格式转换模块对第一数据块进行编码格式转换,生成图像或视频数据流,并将图像或视频数据流上传至负载单元。
第二格式转换模块将第一数据块进行像素图像编码格式转换生成图像或视频数据流,并将图像或视频数据流上传至负载单元。
作为一种可选方案,协议接收单元若识别出ECC校验结果不为0且ECC校验结果指示出有1-bit错误以及错误位,则对第二数据块的错误位进行纠正,对第二数据块进行解包处理生成第一数据块,而后,协议接收单元将第一数据块进行像素图像编码格式转换生成图像或视频数据流,并将图像或视频数据流上传至负载单元。
作为另一种可选方案,协议接收单元若识别出CRC校验结果不为0和/或识别出则ECC校验结果不为0且ECC校验结果指示出有2-bit以上的错误,则将第二数据块进行丢弃、直接跳过或重传等处理,此种情况下,可由开发人员确定对数据包的处理方式。其中若判断出对第二数据块进行重传时,可继续执行步骤312,此时协议接收单元可通过辅助通道向协议发送单元返回错误通知,告知协议发送单元第二数据块出现错误,需要重传。
DisplayPort(简称DP)是一个由PC及芯片制造商联盟开发,视频电子标准协会(VESA)标准化的数字式视频接口标准。图14是相关技术中基于DP的数据传输系统的结构示意图,如图14所示,图15中的数据传输系统与图10的区别在于:图15中,TMDS CEC编码模块和FEC编码模块均位于PHY层发送模块中,PHY层发送模块还包括信道编码模块,TMDS CEC解码模块和FEC解码模块均位于PHY层接收模块中,PHY层接收模块还包括信道解码模块。
图15是相关技术中基于DP的数据传输方法的流程图。如图15所示,图15中的数据传输方法与图11中的数据传输方法在流程上的区别在于:
图15中步骤310之后还包括:步骤S1、协议发送单元通过信道编码模块对第二数据块进行信道编码,生成编码后的第二数据块,而后步骤312中将编码后的第二数据块分为多个FEC数据块。
例如,信道编码可包括128b/132b编码或者8b/10b编码。
图15中步骤330之后还包括:步骤S2、协议发送单元通过信道解码模块对第一数据块进行信道解码,生成解码后的第一数据块。
例如,信道解码可包括128b/132b解码或者8b/10b解码。
图16是基于DP的链路层(Link Layer)数据帧的格式示意图,如图16所示,图16示出了多个数据帧,多个数据帧包括数据帧(Link Layer Frame)N-1、数据帧(Link LayerFrame)N和数据帧(Link Layer Frame)N+1。每个数据帧包括控制数据包(Control Packet)和传输数据包(Transport Packet)。图16中的传输数据包相当于图12中的第二数据块。其中传输数据包具有多通道(lane)数据流的特点,其中的ECC字段及CRC字段均在数据包尾部插入校验位,对数据进行检验保护。数据流的最后一个字节一般会映射到CRC字节使用,对于只有一个字节的(在最低位)的CRC校验位必须以0填充最高位以生成CRC的值,其他的CRC不需要填充。每个使用到的CRC可以具有不同的字节数。DP的Link Layer数据帧在数据传输过程中会进行压缩,所以对于CRC及ECC等校验字段均在Byte数据流进行映射校验。
图17是基于DP在PHY层实现单通道FEC的数据帧的格式示意图,如图17所示,示出的是经过对第二数据块进行信道编码以及FEC编码之后得到的数据帧,该数据帧可包括FEC数据块链路层编码(LL Codes for FEC Block)、FEC数据块校验位码(FEC Parity Codesfor Block)、极性位码(CD_ADJ Code,简称CAJ Code)和FEC标记符(FEC_PM)。其中,CAJ为保留的编码极性位,PM为FEC数据帧格式的标记符。信道解码模块执行的是信道编码模块的逆向译码过程,对得到的数据帧进行FEC校验和信道解码后生成第二数据块。DP在PHY层实现FEC的编译码纠错,保证数据的可靠传输。
上述相关技术的基于HDMI和DP的数据传输方法的方案,由于采用了FEC算法对图像或视频数据进行检纠错处理,因此可以对图像或视频数据进行多bits错误数据的检纠错,从而提高了数据传输的可靠性。但是由于在数据传输过程中只能采用FEC算法、CRC算法和ECC算法的组合算法进行检纠错处理,因此会导致数据冗余较大,从而降低了数据传输的效率。另外,基于HDMI和DP的数据传输方法仅适用于特定的显示应用场景,无法扩展到其它高速数据传输系统的数据可靠性传输中。
综上所述,相关技术中还没有一种数据传输方法能够实现在保证数据传输可靠性的基础上提高数据传输效率。为解决上述相关技术中提出的无法实现在保证数据传输可靠性的基础上提高数据传输效率的技术问题,本发明实施例提供了一种数据传输方法,通过检测传输通道环境,选择适合传输通道环境的检纠错算法,通过选择出的检纠错算法对数据传输过程中的传输数据进行检纠错处理,从而在保证数据传输可靠性的基础上提高了数据传输效率。本发明实施例的技术方案能够灵活的扩展到其它高速数据传输系统的数据可靠性传输中。
图18a是本发明一些实施例提供的一种数据传输系统的通信示意图,如图18a该数据传输系统包括第一设备和第二设备,第一设备包括发送装置和第一设备控制接口,第二设备包括接收装置和第二设备控制接口。其中,发送装置和接收装置之间设置有多条传输通道和时钟通道,传输通道和时钟通道均为单向通道,传输通道能够将图像数据从第一设备传输至第二设备;第一设备控制接口和第二设备控制接口之间设置有辅助通道(例如,I2C总线),辅助通道为双向传输通道,辅助通道包括数据线SDA和时钟信号线SCL。其中,发送装置和接收装置之间可通过高速接口传输数据,第一设备控制接口和第二设备控制接口之间可通过低速接口传输数据。
本发明实施例中,作为一种可选方案,第一设备和第二设备可以为不同的设备,即第一设备和第二设备为单独设备的两个设备。例如,第一设备为摄像头模组,第二设备为主机;又例如,第一设备为主机,第二设备为显示屏。主机的示例包括但不限于搭载iOS、Android、Microsoft或者其他操作系统的设备,可选地,主机为手机、平板电脑、可穿戴设备、智能电视或者个人计算机。
本发明实施例中,作为另一种可选方案,数据传输系统设置于一个电子设备中,即电子设备包括第一设备和第二设备。例如,第一设备为摄像头模组,第二设备为主板;又例如,第一设备为主板,第二设备为显示屏。电子设备的示例包括但不限于搭载iOS、Android、Microsoft或者其他操作系统的设备,可选地,电子设备包括手机、平板电脑、可穿戴设备、安防设备、智能电视或者个人计算机。其中,安防设备可包括安防摄像头设备。
图18b是本发明一些实施例提供的第一设备和第二设备之间的板级连接的示意图,如图18b所示,以第一设备为摄像头模组且第二设备为手机为例,手机包括主板,主板包括应用处理器(Application Processor,简称AP),主板通过连接器(Band to Board,简称BTB)和柔性电路板(Flexible Printed Circuit,简称FPC)与摄像头模组连接。其中,BTB主要为了连接摄像头模组和主板,通常BTB包括多个CSI-2的信号管脚;FPC中布满了CSI-2信号传输线,以与BTB配合完成摄像头模组和主板的连接。
图18c是本发明另一些实施例提供的第一设备和第二设备之间的板级连接的示意图,如图18c所示,以第一设备为手机且第二设备为显示屏为例,手机包括主板,主板包括AP,显示屏(图中未画出)包括手机显示驱动IC(Display Driver IC,简称DDIC)模组。主板通过BTB和FPC与DDIC模组连接。其中,BTB主要为了连接DDIC模组和主板,通常BTB包括多个DSI-2的信号管脚;FPC中布满了DSI-2信号传输线,以与BTB配合完成FFIC模组和主板的连接。其中,DSI-2协议为MIPI制定的连接SoC与DDIC的协议接口。
基于上述数据传输系统,本发明实施例提供了一种数据传输方法,该方法包括:
若传输通道的环境参数符合第一算法开启条件,第一设备通过第一检纠错算法对获取的传输数据进行编码,生成第一编码数据,并将所述第一编码数据发送至第二设备。第二设备接收编码数据;若确定出符合第一算法开启条件,通过第一检纠错算法对编码数据进行校验,生成传输数据;若确定出符合第二算法开启条件,通过第二检纠错算法对编码数据进行校验,生成传输数据。
其中,所述第二检纠错算法与所述第一检纠错算法不同。
作为一种可选方案,图18d是本发明实施例提供的一种数据传输方法的流程图,如图18d所示,该方法包括:
步骤100a、第一设备判断传输通道的环境参数符合第一算法开启条件或符合第二算法开启条件,若符合第一算法开启条件,则执行步骤100b;若符合第二算法开启条件,则执行步骤100c。
本发明实施例中,判断传输通道的环境参数符合第一算法开启条件或符合第二算法开启条件可以由第一设备或者第二设备执行。作为一种可选方案,步骤100a由第一设备执行。
若步骤100a由第二设备执行时,若第二设备判断出传输通道的环境参数符合第一算法开启条件,则向第一设备返回第一环境参数状态,第一环境参数状态例如为第一误码率状态或者第一丢包率状态,第一环境参数状态用于表示所述环境参数符合所述第一算法开启条件;若第二设备判断出传输通道的环境参数符合第二算法开启条件,则向第一设备返回第二环境参数状态,第二环境参数状态例如为第二误码率状态或者第二丢包率状态,第二环境参数状态用于于表示所述环境参数符合所述第二算法开启条件。
步骤100b、第一设备通过第一检纠错算法对获取的传输数据进行编码,生成第一编码数据,并将所述第一编码数据发送至第二设备,并继续执行步骤100d。
步骤100c、第一设备通过第二检纠错算法对获取的传输数据进行编码,生成第二编码数据,并将所述第二编码数据发送至第二设备。
步骤100d、第二设备接收编码数据。
步骤100e、第二设备若确定出符合第一算法开启条件,通过第一检纠错算法对所述编码数据进行校验,生成传输数据;若确定出符合第二算法开启条件,通过第二检纠错算法对所述编码数据进行校验,生成传输数据。
本发明实施例中,可由第一设备获取传输通道的环境参数,并判断传输通道的环境参数符合第一算法开启条件或者符合第二算法开启条件。
作为一种可选方案,若传输通道的环境参数包括误码率时,第一设备获取传输通道的环境参数可包括:第一设备向所述第二设备依次发送第一序列和第二序列,以供所述第二设备统计接收到的正确的第二序列的比特数,所述第一序列用于实现状态机均衡训练;接收所述第二设备发送的正确的第二序列的比特数;根据所述第二设备发送的正确的第二序列的比特数和发送的第二序列的总比特数计算出误码率。而第一设备判断传输通道的环境参数符合第一算法开启条件或者符合第二算法开启条件包括:第一设备判断误码率是否大于或等于第一阈值,若判断出误码率大于或等于第一阈值,表明传输通道的环境参数符合第一算法开启条件;若判断出误码率小于第一阈值,表明传输通道的环境参数符合第二算法开启条件。
作为另一种可选方案,若传输通道的环境参数包括系统传输速率时,第一设备获取传输通道的环境参数包括:第一设备从切速状态寄存器读取所述系统传输速率。而第一设备判断传输通道的环境参数符合第一算法开启条件或者符合第二算法开启条件包括:第一设备判断系统传输速率是否大于或等于第二阈值,若判断出系统传输速率大于或等于第二阈值,表明传输通道的环境参数符合第一算法开启条件;若判断出系统传输速率小于第二阈值,表明传输通道的环境参数符合第二算法开启条件。例如:此种情况可参见图23中步骤506和步骤508。
作为另一种可选方案,若传输通道的环境参数包括丢包率时,第一设备获取传输通道的环境参数包括:第一设备向第二设备发送测试数据包,并记录发送的所述测试数据包的个数;接收第二设备返回的统计出的接收到的正确的测试数据包的个数;根据正确的测试数据包的个数和发送的测试数据包的个数,计算出丢包率。而第一设备判断传输通道的环境参数符合第一算法开启条件或者符合第二算法开启条件包括:第一设备判断丢包率是否大于或等于第三阈值,若判断出丢包率大于或等于第三阈值,表明传输通道的环境参数符合第一算法开启条件;若判断出丢包率小于第三阈值,表明传输通道的环境参数符合第二算法开启条件。例如:此种情况可参见图25中步骤606和步骤612。
本发明实施例中,还可由第二设备获取传输通道的环境参数,并判断传输通道的环境参数符合第一算法开启条件或者符合第二算法开启条件。
作为一种可选方案,若传输通道的环境参数包括误码率时,第二设备接收第一设备依次发送的第一序列和第二序列,所述第一序列用于实现状态机均衡训练;根据接收到的正确的第二序列的比特数和发送的第二序列的总比特数计算出误码率;若所述误码率符合第一算法开启条件时,向所述第一设备发送第一误码率状态,所述第一误码率状态用于表示所述误码率符合所述第一算法开启条件;若所述误码率符合第二算法开启条件时,向所述第一设备发送第二误码率状态,所述第二误码率状态用于表示所述误码率符合所述第二算法开启条件。而第二设备判断传输通道的环境参数符合第一算法开启条件或者符合第二算法开启条件包括:第二设备判断误码率是否大于或等于第一阈值,若判断出误码率大于或等于第一阈值,表明传输通道的环境参数符合第一算法开启条件;若判断出误码率小于第一阈值,表明传输通道的环境参数符合第二算法开启条件。其中,第一设备可根据第一误码率状态获知误码率符合第一算法开启条件,即可采用第一检纠错算法进行编码;第一设备可根据第二误码率状态获知误码率符合第二算法开启条件,即可采用第二检纠错算法进行编码。例如:此种情况可参见图20中步骤406至步骤416以及步骤446。
作为另一种可选方案,若传输通道的环境参数包括丢包率时,第二设备接收第一设备发送的测试数据包;根据接收到的正确的测试数据包的个数和发送的测试数据包的个数,计算出丢包率;若所述丢包率符合第一算法开启条件时,向所述第一设备发送第一丢包率状态,所述第一丢包率状态用于表示所述丢包率符合所述第一算法开启条件;若所述丢包率符合第二算法开启条件时,向所述第一设备发送第二丢包率状态,所述第一丢包率状态用于表示所述丢包率符合所述第二算法开启条件。而第二设备判断传输通道的环境参数符合第一算法开启条件或者符合第二算法开启条件包括:第二设备判断丢包率是否大于或等于第三阈值,若判断出丢包率大于或等于第三阈值,表明传输通道的环境参数符合第一算法开启条件;若判断出丢包率小于第三阈值,表明传输通道的环境参数符合第二算法开启条件。其中,第一设备可根据第一丢包率状态获知丢包率符合第一算法开启条件,即可采用第一检纠错算法进行编码;第一设备可根据第二丢包率状态获知丢包率符合第二算法开启条件,即可采用第二检纠错算法进行编码。
本实施例中,该方法还包括:第一设备采集原始数据;对所述原始数据进行编码格式转换,生成所述传输数据。原始数据包括但不限于:图像数据流、视频数据流、指令数据、存储数据或者网络数据,其中,网络数据例如为:2G/3G/4G/5G数据或者WLAN数据等。例如,第一设备对原始数据进行编码格式转换生成所述传输数据,包括:对原始数据进行二进制编码格式转换生成所述传输数据。
作为一种可选方案,在第一设备判断出传输通道的环境参数符合第一算法开启条件之后,第一设备执行采集原始数据的步骤;或者在第一设备判断出传输通道的环境参数符合第一算法开启条件之后,第一设备执行采集原始数据的步骤。例如:此种情况可参见图23中步骤510以及步骤538。又例如:此种情况可参见图23中步骤510以及步骤538。
作为另一种可选方案,在第二设备判断出传输通道的环境参数符合第一算法开启条件,并向第一设备返回第一误码率状态之后,第一设备执行采集原始数据的步骤;或者在第二设备判断出传输通道的环境参数符合第一算法开启条件,并向第一设备返回第一误码率状态之后,第一设备执行采集原始数据的步骤。例如:此种情况可参见图20中步骤418以及步骤448。
作为另一种可选方案,在第一设备通过第一检纠错算法对获取的传输数据进行编码之前以及所述通过第二检纠错算法对获取的传输数据进行编码之前,执行采集原始数据的步骤。此种情况中,第一设备无需等待传输通道的环境参数符合第一算法开启条件或者符合第二算法开启条件的判断结果,可实时进行原始数据的采集。例如:此种情况可参见图25中步骤614以及步骤650。
本发明实施例中,判断环境通道参数符合第一算法开启条件还可以包括:所述误码率大于或等于第一阈值、所述系统传输速率大于或等于第二阈值以及所述丢包率大于或等于第三阈值的任意组合。
本发明实施例中,判断传输通道环境参数符合第二算法开启条件还可以包括:所述误码率小于第一阈值、所述系统传输速率小于第二阈值以及所述丢包率小于第三阈值的任意组合。
在一种可选的实施例中,所述第一检纠错算法包括至少二个检纠错算法,第二检纠错算法包括至少一个检纠错算法,所述第一检纠错算法中的检纠错算法的数量大于所述第二检纠错算法中的检纠错算法的数量。
作为一种可选方案,所述第一检纠错算法包括FEC算法、CRC算法和ECC算法(例如为图20中的步骤420至步骤444,以及图23中的步骤512至步骤524);或者,所述第一检纠错算法包括FEC算法和CRC算法;或者,所述第一检纠错算法包括FEC算法和ECC算法。例如:在图20中的步骤420至步骤444中,以及在图23中的步骤512至步骤524中,传输数据包括第一数据块,第一编码数据包括第四数据块。需要说明的是:FEC算法包括但不限于里德-所罗门码(Reed-solomon codes,简称RS码)算法。
作为另一种可选方案,所述第二检纠错算法包括FEC算法(例如为:图25中的步骤654至步骤666);或者,所述第二检纠错算法包括CRC算法;或者,所述第二检纠错算法包括ECC算法;或者,所述第二检纠错算法包括CRC算法和ECC算法(例如为:图20中的步骤450至步骤468,以及图23中的步骤540至步骤558)。例如:图25中的步骤654至步骤666,传输数据包括第一数据块,第一编码数据包括第三数据块。又例如:图20中的步骤450至步骤468中,以及图23中的步骤540至步骤558中,传输数据包括第一数据块,第一编码数据包括第五数据块。
本发明实施例中,所述第一编码数据包括指示字段,所述第一编码数据的指示字段用于指示所述环境参数符合所述第一算法开启条件;和/或,所述第二编码数据包括指示字段,所述第二编码数据的指示字段用于指示所述环境参数符合所述第二算法开启条件。
若仅第一编码数据中包括指示字段,则该指示字段例如为1。此种情况下,第二设备确定出符合第一算法开启条件具体包括:第二设备确定出编码数据中包括指示字段;第二设备确定出符合第二算法开启条件具体包括:确定出编码数据中未包括指示字段。
若仅第二编码数据中包括指示字段,则该指示字段例如为1。此种情况下,第二设备确定出符合第一算法开启条件具体包括:第二设备确定出编码数据中未包括指示字段;第二设备确定出符合第二算法开启条件具体包括:第二设备确定出编码数据中包括指示字段。
若第一编码数据和第二编码数据中均包括指示字段时,可将第一编码数据中的指示字段和第二编码数据中的指示字段设置为不同的取值。第一编码数据中的指示字段为第一取值,第一取值例如为1,第二编码字段中的指示字段为第二取值,第二取值例如为0。此种情况下,第二设备确定出符合第一算法开启条件具体包括:第二设备确定出编码数据中的指示字段为1;第二设备确定出符合第二算法开启条件具体可包括:第二设备确定出编码数据中的指示字段为0。其中,第一取值用于指示所述环境参数符合所述第一算法开启条件,第二取值用于所述环境参数符合所述第二算法开启条件。
所述指示字段包括保留字段或新增字段。当指示字段包括新增字段时,该指示字段例如为:误码率确认字段(如图20中的步骤428)、传输速率确认字段(如图23中的步骤520)或者丢包率确认字段(如图25中的步骤622)。
本发明实施例中,所述通过第一检纠错算法对编码数据进行校验,包括:若确定出所述编码数据包括指示字段,对编码数据进行FEC校验,所述指示字段用于指示所述环境参数符合所述第一算法开启条件;对FEC校验后的编码数据进行CRC校验和/或ECC校验。例如:此种情况可参见图20中步骤436和步骤438,以及图23中的528和步骤530。
本发明实施例中,所述通过第一检纠错算法对编码数据进行校验,包括:对编码数据进行FEC校验;若确定出编码数据包括指示字段,对FEC校验后的编码数据进行CRC校验和/或ECC校验,所述指示字段用于指示所述环境参数符合所述第一算法开启条件。例如:此种情况可参见图25中的步骤636至步骤640。
本发明实施例提供的数据传输方法的技术方案中,第一设备根据传输通道的环境参数符合第一算法开启条件选择第一检纠错算法对传输数据进行编码生成第一编码数据,或者第一设备根据传输通道的环境参数符合第二算法开启条件选择第二检纠错算法对传输数据进行编码生成第二编码数据,第二设备接收编码数据,若确定出符合第一算法开启条件时通过第一检纠错算法对编码数据进行校验生成传输数据,若确定出符合第二算法开启条件时通过第二检纠错算法对编码数据进行校验生成传输数据,实现了通过选择出的检纠错算法对数据传输过程中的传输数据进行检纠错处理,从而在保证数据传输可靠性的基础上提高了数据传输效率。
图19是本发明一些实施例提供的一种数据传输系统的结构示意图,如图19所示,该数据传输系统例如为MIPI CSI-2D-PHY数据传输系统,该数据传输系统采用CSI-2协议架构。如图19所示,该系统包括第一设备和第二设备,第一设备包括图像处理单元和发送装置,第二设备包括主处理器单元和接收装置。其中,第一设备为摄像头模组,则图像处理单元为摄像头传感器(Sensor),发送模块为接口电路;第二设备为主板,则主处理器单元为AP,接收模块为接口电路。发送装置包括第一格式转换模块、协议发送单元和PHY层发送模块。协议发送单元包括ECC编码模块、CRC编码模块和FEC编码模块。接收装置包括第二格式转换模块、协议接收单元和PHY层接收模块,协议接收单元包括包头ECC解码模块、净核CRC解码模块和FEC解码模块,其中,PHY层发送模块和PHY层接收模块之间通过传输通道通信连接,图19中以一条传输通道为例进行描述。其中,协议发送单元包括CSI-2发送单元,协议接收单元包括CSI-2接收单元,PHY层发送模块包括D-PHY发送模块,PHY层接收模块包括D-PHY接收模块。
图20是本发明一些实施例提供的数据传输方法的流程图,如图20所示,该方法包括:
步骤402、第二设备对第一设备进行工作参数配置。
如图19所示,第二设备的主处理器单元对图像处理单元进行工作参数配置。
具体地,在所有实际使用的场景下,主板可对摄像头模组进行工作参数配置,使得摄像头模组能够按照工作参数的要求工作。其中,工作参数可包括分辨率、帧率和接口速率等。
用户点击第二设备的相机APP的图标,打开相机APP,以触发第二设备对第一设备进行工作参数配置。
步骤404、第一设备向第二设备发送第一序列。
图21是本发明一些实施例中训练码流的数据格式示意图,如图21所示,在链路处于高速(High Speed,简称HS)传输状态时,第一设备通过传输通道向第二设备发送一段训练码流,以完成系统的训练过程。协议发送单元(如图19所示)通过传输通道向协议接收单元发送训练码流。具体地,协议发送单元向PHY层发送模块发送训练码流,PHY层发送模块通过传输通道向PHY层接收模块发送训练码流,而后,PHY层接收模块将训练码流发送至协议接收单元,以实现CSI-2状态机均衡训练过程。
如图21所示,训练码流包括数据类型序列、均衡序列、第一序列、第二序列和第三序列。第一设备在发送训练码流的过程中,首先,第一设备向第二设备发送数据类型序列,该数据类型序列包括“Control Word”,“Control Word”可表示该训练码流为控制包,例如,该Control Word”可以为0101。而后,第一设备向第二设备发送均衡(Equalization)序列。接着,第一设备向第二设备发送第一序列,该第一序列可包括伪随机二进制数列(Pseudo-Random Binary Sequence,简称PRBS)15序列,例如,第一设备可向第二设备发送100万个PRBS15序列,以实现状态机均衡训练过程。
步骤406、第一设备向第二设备发送第二序列。
如图21所示,第一设备在发送训练码流的过程中,第一设备向第二设备发送第二序列,该第二序列可包括PRBS31序列,例如,第一设备可向第二设备发送100万个PRBS31序列。
步骤408、第一设备向第二设备发送第三序列。
如图21所示,第一设备在发送训练码流的过程中,第一设备向第二设备发送第三序列,该第三序列可包括空闲(IDLE)序列。第二设备可直接丢弃该IDLE序列,忽略该IDLE序列,并一直保持链路恢复时钟锁定。
步骤410、第二设备统计接收到的正确的第二序列的比特数。
在第一设备发送IDLE序列的时间段内,第二设备统计出正确的第二序列的比特数。协议接收单元(如图19所示)统计接收到的正确的第二序列的比特数。
步骤412、第二设备根据正确的第二序列的比特数和第一设备发送的第二序列的总比特数,计算出误码率。
在第一设备发送IDLE序列的时间段内,第二设备计算出误码率。具体地,第二设备通过公式1-n/N计算出误码率,其中,n为正确的第二序列的比特数,N为第二序列的总比特数。协议接收单元(如图19所示)计算出误码率。
步骤414、第二设备判断误码率是否大于或等于第一阈值,若是,则执行步骤416;若否,则执行步骤446。
在第一设备发送IDLE序列的时间段内,第二设备判断误码率是否大于或等于第一阈值。第一阈值例如为:1e-12、1e-15或者1e-10。协议接收单元(如图19所示)判断误码率是否大于或等于第一阈值。
作为一种可选方案,步骤406至步骤416和步骤446可以替换为:第一设备向所述第二设备依次发送第一序列和第二序列,以供所述第二设备统计接收到的正确的第二序列的比特数,所述第一序列用于实现状态机均衡训练;接收所述第二设备发送的正确的第二序列的比特数;根据所述第二设备发送的正确的第二序列的比特数和发送的第二序列的总比特数计算出误码率。第一设备判断判断误码率是否大于或等于第一阈值。
步骤416、第二设备向第一设备返回第一误码率状态。
第二设备若判断出误码率大于或等于第一阈值,表明误码率较大,此时第二设备生成误码率大于或等于第一阈值这一判断结果对应的第一误码率状态(Bit Error RatemState,简称BER State),例如,第一误码率状态可以为1。
而后,在第一设备发送IDLE序列的时间段结束之前,第二设备的协议接收单元将第一误码率状态通过辅助通道(AUX)返回至第一设备的协议发送单元。
发送第三序列的时间段可用于进行误码率的计算和判断步骤,从而使得误码率的计算和判断步骤能够在发送训练码流的过程中完成。
步骤418、第一设备采集图像数据流,并对图像数据流进行编码格式转换生成第一数据块。
图像处理单元(如图19所示)采集图像数据流,并将采集的图像数据流发送至第一格式转换模块(如图19所示),第一格式转换模块对图像数据流进行编码格式转换。
步骤420、第一设备为第一数据块添加数据包头。
图22是本发明一些实施例中基于D-PHY进行传输的数据块的格式示意图,如图22所示,第一格式转换模块(如图19所示)对图像数据流进行二进制编码格式转换,以形成“Payload”。数据包头可包括Data ID、16-bit WC和VCX。第一格式转换模块将添加了数据包头的第一数据块发送至协议发送单元(如图19所示)。
步骤422、第一设备对数据包头进行ECC编码生成第一ECC字段,以及对第一数据块进行CRC编码生成CRC字段。
如如图22所示,协议发送单元通过包头ECC编码模块(如图19所示)对数据包头进行ECC编码,生成第一ECC字段。包头ECC编码模块通过6-bit的扩展汉明码对Data ID、WC和VCX进行ECC编码,生成第一ECC字段,其中,ECC字段为6-bit字段。需要说明的是:图22中所示的ECC字段包括第一ECC字段。
如图22所示,协议发送单元通过净核CRC编码模块(如图19所示)对第一数据块进行CRC编码,生成CRC字段。净核CRC编码模块通过多项式对“Payload”进行CRC编码生成CRC字段。其中,多项式例如为:X16+X12+X5+X0,CRC字段为16-bit字段。
步骤424、第一设备将第一ECC字段和CRC字段插入到第一数据块的包头和包尾,生成第二数据块。
如图22所示,协议发送单元(如图19所示)将第一ECC字段和CRC字段分别放置于“Payload”的包头和包尾,此时Data ID、WC和VCX分别位于第二数据块的指定位置。需要说明的是:图22中所示的ECC字段为第一ECC字段。
步骤426、第一设备对第二数据块的不同数据段进行FEC编码,生成每个数据段对应的FEC校验码,并将每个FEC校验码放置于对应的数据段的尾部。
如图22所示,协议发送单元(如图19所示)若判断出第一误码率状态为1时,通过FEC编码模块将第二数据块分为多个数据段,例如,多个数据段可包括第二数据块Part 0至Part N-1。FEC编码模块对第二数据块的不同数据段进行FEC编码,生成每个数据段对应的FEC校验码(FEC Parity),并将每个FEC校验码放置于对应的数据段的尾部。
步骤428、第一设备在第二数据块之前添加指示字段,以生成第三数据块。
本实施例中,作为一种可选方案,指示字段为新增字段,指示字段例如为:误码率确认(Bit Error Rate Ensure,简称BER EN)字段。该误码率确认字段用于指示误码率大于或等于第一阈值。如图22所示,协议发送单元通过FEC编码模块(如图19所示)在第二数据块之前添加BER EN字段。误码率确认字段的取值例如为1。
作为另一种可选方案,指示字段为保留字段,此种情况下,步骤428可以包括:第一设备设置保留字段的取值,以使保留字段用于指示误码率大于或等于第一阈值。保留字段的取值例如为1。
步骤430、第一设备在第三数据块的开始位置设置SoT标识以及在第三数据块的结束位置设置EoT标识,以形成第四数据块。
如图22所示,协议发送单元(如图19所示)在第三数据块的开始位置设置SoT标识以及在第三数据块的结束位置设置EoT以形成第四数据块。
步骤432、第一设备将第四数据块发送至第二设备。
如图22所示,协议发送单元(如图19所示)将第四数据块发送至PHY层发送模块(如图19所示),PHY层发送模块通过传输通道将第四数据块发送至PHY层接收模块(如图19所示),PHY层接收模块将第四数据块发送至协议接收单元(如图19所示)。
步骤434、第二设备去除第四数据块的SoT和EoT,以生成第三数据块。
如图22所示,协议接收单元(如图19所示)去除第四数据块的SoT和EoT,以生成第三数据块。
步骤436、第二设备对第三数据块进行解析。
,协议接收单元(如图19所示)对第三数据块进行解析。
步骤438、第二设备若解析出指示字段,对第三数据块进行FEC检纠错校验,生成第二数据块。
协议接收单元(如图19所示)若解析出指示字段,通过指示字段可获取误码率大于或等于第一阈值的判断结果,进而确定出采用第一检纠错算法,激活FEC解码模块(如图19所示),由FEC解码模块通过RS码解码算法对第三数据块进行FEC校验,生成FEC校验结果。FEC校验结果包括校验成功、可纠正的错误结果或者不可纠正的错误结果。
协议接收单元若识别出FEC校验结果包括可纠正的错误结果时,对第三数据块的错误数据进行纠正处理,并将第三数据块进行解包生成第二数据块。
协议接收单元若识别出FEC校验结果包括校验成功,表明第三数据块中不存在错误数据,可直接将第三数据块进行解包生成第二数据块。
协议接收单元若识别出FEC校验结果包括不可纠正的错误结果,将第三数据块进行丢弃、直接跳过或重传等处理,此种情况下,可由开发人员确定对第三数据块的处理方式。
步骤440、第二设备对第二数据块中的CRC字段进行CRC校验,生成CRC校验结果。
协议接收单元(如图19所示)通过净核CRC解码模块将第二数据块中的CRC字段与多项式进行模2除计算,得到余数,余数即为CRC校验结果。若CRC校验结果为0,则表明接收到的“Payload”是正确的数据;若CRC校验结果不为0,则表明接收到的“Payload”是错误的数据。其中,多项式可包括X16+X12+X5+X0。
步骤442、第二设备对第二数据块中的数据包头进行ECC校验,生成ECC校验结果。
如图22所示,协议接收单元通过包头ECC解码模块(如图19所示)对数据包头中的Data ID、WC和VCX进行ECC编码生成第二ECC字段,将第一ECC字段与第二ECC字段进行异或计算得出ECC校验结果。若ECC校验结果为0,表明数据包头正确;若ECC校验结果不为0且ECC校验结果指示出有1-bit错误以及错误位,则表明需要对数据包头的错误位进行纠正;若ECC校验结果不为0且ECC校验结果指示出有2-bit以上的错误,则表明数据包头发生了不可纠正的错误。
其中,包头ECC解码模块可采用与包头ECC编码模块相同的编码规则对数据包头中的Data ID、WC和VCX进行ECC编码,即包头ECC解码模块可通过6-bit的扩展汉明码对DataID、WC和VCX进行ECC编码生成第二ECC字段。
步骤444、第二设备若识别出校验结果为0且验证结果为0时,对第二数据块进行解包处理生成第一数据块,对第一数据块进行编码格式转换生成图像数据流,流程结束。
协议接收单元(如图19所示)若识别出校验结果为0且验证结果为0时,去除第二数据块的数据包头,得到第一数据块。
第二格式转换模块(如图19所示)对第一数据块进行编码格式转换生成图像数据流,并将图像数据流上传至主处理器单元,并将图像数据流上传至主处理器单元。具体地,第二格式转换模块将第一数据块进行像素图像编码格式转换生成图像数据流,并将图像数据流上传至主处理器单元。
步骤446、第二设备向第一设备返回第二误码率状态。
第二设备若判断出误码率小于第一阈值,表明误码率较小,此时第二设备生成误码率小于第一阈值这一判断结果对应的第二误码率状态(Bit Error Ratem State,简称BER State),例如,第二误码率状态可以为0。
而后,在第一设备发送IDLE序列的时间段结束之前,第二设备的协议接收单元将第二误码率状态通过辅助通道(AUX)返回至第一设备的协议发送单元。
步骤448、第一设备采集图像数据流,并对图像数据流进行编码格式转换生成第一数据块。
图像处理单元(如图19所示)采集图像数据流,并将采集的图像数据流发送至第一格式转换模块(如图19所示),第一格式转换模块对图像数据流进行编码格式转换,生成第一数据块。
步骤450、第一设备为第一数据块添加数据包头。
如图22所示,第一格式转换模块(如图19所示)对图像数据流进行二进制编码格式转换,以形成“Payload”。数据包头可包括Data ID、16-bit WC和VCX。第一格式转换模块将添加了数据包头的第一数据块发送至协议发送单元(如图19所示)。
步骤452、第一设备对数据包头进行ECC编码生成第一ECC字段,以及对第一数据块进行CRC编码生成CRC字段。
如图22所示,协议发送单元通过包头ECC编码模块(如图19所示)对数据包头进行编码,生成第一ECC字段。包头ECC编码模块通过6-bit的扩展汉明码对Data ID、WC和VCX进行ECC编码,生成第一ECC字段,其中,ECC字段为6-bit字段。需要说明的是:图22中所示的ECC字段包括第一ECC字段。
如图22所示,协议发送单元通过净核CRC编码模块(如图19所示)对第一数据块进行CRC编码,生成CRC字段。净核CRC编码模块通过多项式对“Payload”进行CRC编码生成CRC字段。其中,多项式例如为:X16+X12+X5+X0,CRC字段为16-bit字段。
步骤454、第一设备将第一ECC字段和CRC字段插入到第一数据块的包头和包尾,生成第二数据块。
如图22所示,协议发送单元(如图19所示)将第一ECC字段和CRC字段分别放置于“Payload”的包头和包尾,此时Data ID、WC和VCX分别位于第二数据块的指定位置。
步骤456、第一设备在第二数据块的开始位置设置SoT标识以及在第二数据块的结束位置设置EoT标识,以形成第五数据块。
如图22所示,协议发送单元(如图19所示)在第二数据块的开始位置设置SoT标识以及在第二数据块的结束位置设置EoT标识以形成第五数据块。
步骤458、第一设备将第五数据块发送至第二设备。
如图22所示,协议发送单元(如图19所示)将第五数据块发送至PHY层发送模块(如图19所示),PHY层发送模块通过传输通道将第五数据块发送至PHY层接收模块(如图19所示),PHY层接收模块将第五数据块发送至协议接收单元(如图19所示)。
步骤460、第二设备去除第五数据块的SoT和EoT,以生成第二数据块。
如图22所示,协议接收单元(如图19所示)去除第五数据块的SoT和EoT,以生成第二数据块。
步骤462、第二设备对第二数据块进行解析。
协议接收模块通过FEC解码模块对第二数据块进行解析。
步骤464、第二设备若未解析出指示字段,对第二数据块中的CRC字段进行CRC校验,生成CRC校验结果。
协议接收单元(如图19所示)若未解析出指示字段,获取到误码率小于第一阈值的判断结果,进而确定出采用第二检纠错算法,激活净核CRC解码模块(如图19所示),由净核CRC解码模块进行CRC校验和ECC校验。需要说明的是:本实施例中,第二设备若未解析出指示字段时,还可先执行步骤466,而后再执行步骤464中的对第二数据块中的CRC字段进行CRC校验,生成CRC校验结果的步骤。
协议接收单元(如图19所示)通过净核CRC解码模块将第二数据块中的CRC字段与多项式进行模2除计算,得到余数,余数即为CRC校验结果。若CRC校验结果为0,则表明接收到的“Payload”是正确的数据;若CRC校验结果不为0,则表明接收到的“Payload”是错误的数据。其中,多项式例如为:X16+X12+X5+X0。
步骤466、第二设备对第二数据块中的数据包头进行ECC校验,生成ECC校验结果。
如图22所示,协议接收单元通过包头ECC解码模块(如图19所示)对数据包头中的Data ID、WC和VCX进行ECC编码生成第二ECC字段,将第一ECC字段与第二ECC字段进行异或计算得出ECC校验结果。若ECC校验结果为0,表明数据包头正确;若ECC校验结果不为0且ECC校验结果指示出有1-bit错误以及错误位,则表明需要对数据包头的错误位进行纠正;若ECC校验结果不为0且ECC校验结果指示出有2-bit以上的错误,则表明数据包头发生了不可纠正的错误。
其中,包头ECC解码模块可采用与包头ECC编码模块相同的编码规则对数据包头中的Data ID、WC和VCX进行ECC编码,即包头ECC解码模块可通过6-bit的扩展汉明码对DataID、WC和VCX进行ECC编码生成第二ECC字段。
步骤468、第二设备若识别出校验结果为0且验证结果为0时,对第二数据块进行解包处理生成第一数据块,对第一数据块进行编码格式转换生成图像数据流。
如图22所示,协议接收单元(如图19所示)若识别出校验结果为0且验证结果为0时,去除第二数据块的数据包头,得到第一数据块。
第二格式转换模块对第一数据块进行编码格式转换生成图像数据流,并将图像数据流上传至主处理器单元,并将图像数据流上传至主处理器单元。具体地,第二格式转换模块将第一数据块进行像素图像编码格式转换生成图像数据流,并将图像数据流上传至主处理器单元。
需要说明的是:图20中的步骤420至步骤444可以替换为:通过FEC算法和CRC算法进行编码的方案;或者,通过FEC算法和ECC算法进行编码的方案。图20中的步骤450至步骤468可以替换为:通过FEC算法进行校验的方案;或者,通过CRC算法进行校验的方案;或者,通过ECC算法进行校验的方案。
本发明实施例的技术方案中,通过检测传输通道环境而获取到误码率,当误码率较大时选择FEC算法、CRC算法和ECC算法的组合对数据传输过程中的传输数据进行检纠错处理,实现了多bits错误数据的检纠错,从而提高了数据传输的可靠性;当误码率较小时选择CRC算法和ECC算法的组合对数据传输过程中的传输数据进行检纠错处理,避免了检纠错处理时数据冗余较大的情况,从而提高了数据传输效率。采用本实施例的数据传输方法在保证数据传输可靠性的基础上提高了数据传输效率。本发明实施例中,在保证传输效率最大化、功耗最低的情境下,特别是可以在误码率较大时,实现多bits纠错,使数据传输的可靠性提高。
图23是本发明另一些实施例提供的数据传输方法的流程图,如图23所示,图23与图20所示的数据传输方法的区别在于:图23是通过系统传输速率确定采用第一检纠错算法或者第二检纠错算法,区别步骤可如下所示:
步骤504、第一设备向第二设备发送第一序列。
首先,第一设备向第二设备发送数据类型序列,该数据类型序列包括“ControlWord”,“Control Word”可表示该训练码流为控制包,例如,该“Control Word”可以为0101。而后,第一设备向第二设备发送均衡(Equalization)序列。接着,第一设备向第二设备发送第一序列,该第一序列可包括PRBS15序列,例如,第一设备可向第二设备发送100万个PRBS15序列,以实现状态机均衡训练过程。由于本实施例后续无需计算误码率,因此后续无需再发送第二序列和第三序列,从而提高了训练效率。
协议发送单元(如图19所示)通过传输通道向协议接收单元发送第一序列。
步骤506、第一设备从切速状态寄存器读取系统传输速率。
协议发送单元(如图19所示)从切速状态寄存器读取系统传输速率。
步骤508、第一设备判断系统传输速率是否大于或等于第二阈值,若是,执行步骤510;若否,则执行步骤538。
如图19所示,协议发送单元判断系统传输速率是否大于或等于第二阈值。第二阈值例如为:16Gbps、32Gbp、8Gbps、28Gbps、56Gbps、10Gbps或40Gbps。
本实施例中,步骤502可参见步骤402中的描述。
本实施例中,步骤510至步骤536可参见步骤418至步骤444。其中,区别在于:本实施例中,指示字段包括传输速率确认(Transport Rate Ensure,简称TR EN)字段,该传输速率确认字段用于指示系统传输速率大于或等于第二阈值,传输速率确认字段的取值例如为1。或者,指示字段为保留字段,此种情况下,步骤520可以包括:第一设备设置保留字段的取值,以使保留字段用于指示系统传输速率大于或等于第二阈值,保留字段的取值例如为1。。
本实施例中,步骤538至步骤558可参见步骤448至步骤448。
本实施例的技术方案中,第一设备直接从切速状态寄存器读取系统传输速率,并根据传输速率选择出适合的检纠错算法,无需通过发送第二序列而获取误码率,减少了第一设备和第二设备之间频繁的交互过程,从而提高了系统的训练效率。
图24是另一些实施例提供的数据传输系统的结构示意图,如图24所示,该数据传输系统例如为HDMI数据传输系统,该数据传输系统可包括第一设备和第二设备,第一设备包括视频数据处理单元和发送装置,第二设备包括负载(sink)单元和接收装置,发送装置和接收装置通过传输通道通信连接,视频数据处理单元与发送装置通信连接,负载单元与接收装置通信连接。其中,第一设备为主板,则视频数据处理单元为AP,发送模块为接口电路;第二设备为显示屏,则负载单元为显示模组,接收装置为接口电路。其中,发送装置包括第一格式转换模块、协议发送单元和PHY层发送模块。协议发送单元包括TMDS CEC编码模块、FEC编码模块和信道编码模块。接收装置包第二格式转换模块、协议接收单元和PHY层接收模块,协议接收单元包括TMDS CEC解码模块、FEC解码模块和信道解码模块,其中,PHY层发送模块和PHY层接收模块之间通过传输通道通信连接。
图25是另一些实施例提供的数据传输方法的流程图,如图25所示,该方法包括:
步骤602、第一设备对第二设备进行工作参数配置。
如图24所示,第一设备的视频数据处理单元对第二设备的负载单元进行工作参数配置。
具体地,在所有实际使用的场景下,主板可对显示模组进行工作参数配置,使得显示模组能够按照工作参数的要求工作。其中,工作参数可包括分辨率、帧率和接口速率等。
步骤604、第一设备向第二设备发送第一序列。
首先,第一设备向第二设备发送数据类型序列,该数据类型序列包括“ControlWord”,“Control Word”可表示该训练码流为控制包,例如,该“Control Word”可以为0101。而后,第一设备向第二设备发送均衡(Equalization)序列。接着,第一设备向第二设备发送第一序列,该第一序列可包括PRBS15序列,例如,第一设备可向第二设备发送100万个PRBS15序列,以实现状态机均衡训练过程。由于本实施例后续无需计算误码率,因此后续无需再发送第二序列和第三序列,从而提高了训练效率。
协议发送单元(如图24所示)通过传输通道向协议接收单元发送第一序列。
步骤606、第一设备向第二设备发送测试数据包,并记录发送的测试数据包的个数。
作为一种可选方案,测试数据包可包括应用层数据包或控制数据包。第一设备的协议发送单元(如图24所示)通过寄存器记录发送的测试数据包的个数。
步骤608、第二设备统计接收到的正确的测试数据包的个数,并将统计出的正确的测试数据包的个数返回至第一设备。
第二设备的协议接收单元(如图24所示)统计接收到的正确的测试数据包的个数,并通过辅助通道将正确的测试数据包的个数返回至第一设备的协议发送单元。
步骤610、第一设备根据正确的测试数据包的个数和发送的测试数据包的个数,计算出丢包率。
具体地,第一设备通过公式1-m/M计算出误码率,其中,m为正确的测试数据包的个数,N为发送的测试数据包的个数。协议发送单元(如图24所示)计算出丢包率。
步骤612、第一设备判断丢包率是否大于或等于第三阈值,若是,则执行步骤616;若否,则执行步骤652。
协议发送单元(如图24所示)判断丢包率是否大于或等于第三阈值。
丢包率例如为:0.1%至1%。
作为一种可选方案,本实施例中的步骤606至步骤612可以替换为:第二设备接收第一设备发送的测试数据包;根据接收到的正确的测试数据包的个数和发送的测试数据包的个数,计算出丢包率;若所述丢包率符合第一算法开启条件时,向所述第一设备发送第一丢包率状态,所述第一丢包率状态用于表示所述丢包率符合所述第一算法开启条件;若所述丢包率符合第二算法开启条件时,向所述第一设备发送第二丢包率状态,所述第一丢包率状态用于表示所述丢包率符合所述第二算法开启条件。而第二设备判断传输通道的环境参数符合第一算法开启条件或者符合第二算法开启条件包括:第二设备判断丢包率是否大于或等于第三阈值,若判断出丢包率大于或等于第三阈值,表明传输通道的环境参数符合第一算法开启条件;若判断出丢包率小于第三阈值,表明传输通道的环境参数符合第二算法开启条件。
步骤614、第一设备采集图像或视频数据流,并对图像数据流进行编码格式转换生成第一数据块。
视频数据处理单元(如图24所示)采集图像或视频数据流,并将采集的图像或视频数据流发送至第一格式转换模块(如图24所示)。
作为一种可选方案,步骤614可以在步骤604之后执行。
步骤616、第一设备为第一数据块添加数据包头。
第一格式转换模块(如图24所示)对图像或视频数据流进行二进制编码格式转换,以形成“Payload”。
图26是本发明实施例中基于HDMI进行传输的数据块的格式示意图,如图26所示,数据包头包括前导码(Premble)、数据同步信息(Sync)、控制/数据信息(C/D)和保留字段(Rsvd)。协议发送单元将前导码(Premble)、数据同步信息(Sync)、控制/数据信息(C/D)和Rsvd添加到数据块(Payload)的头部。其中,前导码(Premble)用于表明“Payload”是各种类型的包信息(Data Island)或是视频像素数据(Video Data),其中,包信息的内容包括音频数据包或图像信息包等。
步骤618、第一设备对第一数据块进行ECC编码生成第一ECC字段,以及对第一数据块进行CRC编码生成CRC字段。
具体地,协议发送单元通过TMDS CED编码模块采用6-bit的扩展汉明码对“Payload”进行ECC编码生成第一ECC字段和校验位(Parity)字段;TMDS CED编码模块采用16-bit CRC对“Payload”进行CRC编码生成CRC(16-bit CRC)字段和校验位(Parity)字段。需要说明的是:图26中所示的ECC字段为第一ECC字段。
步骤620、第一设备将第一ECC字段和CRC字段添加至第一数据块的尾部。
如图26所示,协议发送单元(如图24所示)将第一ECC字段和CRC字段添加至“Payload”的尾部。
步骤622、第一设备将指示字段添加至第一数据块的头部,以生成第二数据块。
本实施例中,作为一种可选方案,指示字段为新增字段,指示字段例如为:丢包率确认字段(Packet Loss Rate Ensure,简称PLR EN)。该丢包率确认字段用于指示丢包率大于或等于第三阈值。
生成的第二数据块的具体格式可参见图26所示。丢包率确认字段的取值例如为1。如图26所示,第二数据块中第一ECC字段和CRC字段之后还可设置校验位(Parity)字段。
作为另一种可选方案,指示字段为保留字段,此种情况下,步骤622可以包括:第一设备设置保留字段的取值,以使保留字段用于指示丢包率大于或等于第一阈值。保留字段的取值例如为1。
步骤624、第一设备对第二数据块进行信道编码,生成编码后的第二数据块。
协议发送单元通过信道编码模块对第二数据块进行信道编码,生成编码后的第二数据块。
步骤626、第一设备将第二数据块分成多个FEC数据块。
如图13所示,FEC数据块包括Symbol数据块(Super Block Payload)。协议发送单元通过FEC编码模块(如图24所示)将第二数据块分成多个FEC数据块。
步骤628、第一设备对每个FEC数据块进行FEC编码,生成FEC校验码。
如图13所示,协议发送单元通过FEC编码模块采用RS码编码算法对每个FEC数据块进行FEC编码生成FEC校验码(RS Block/Parity)。
步骤630、第一设备将FEC校验码添加至FEC数据块的尾部,以生成第三数据块。
形成的第三数据块的具体格式可参见图13所示,第三数据块还包括开始位(StartSuper Block)字段和字节数(RS Block Symbol/Byte)字段。
步骤632、第一设备将第三数据块发送至第二设备。
协议发送单元(如图24所示)将第三数据块发送至PHY层发送模块(如图24所示),PHY层发送模块通过传输通道将第三数据块发送至PHY层接收模块(如图24所示),PHY层接收模块将第三数据块发送至协议接收单元。
步骤634、第二设备对第三数据块进行FEC检纠错校验,生成第二数据块。
协议接收单元通过FEC解码模块(如图24所示)采用RS码解码算法对第三数据块进行FEC校验,生成FEC校验结果。FEC校验结果包括校验成功、可纠正的错误结果或者不可纠正的错误结果。
协议接收单元若识别出FEC校验结果包括可纠正的错误结果时,对第三数据块的错误数据进行纠正处理,并将第三数据块进行解包生成第二数据块。
若识别出FEC校验结果包括校验成功,表明第三数据块中不存在错误数据,可直接将第三数据块进行解包生成第二数据块。
协议接收单元若识别出FEC校验结果包括不可纠正的错误结果,将第三数据块进行丢弃、直接跳过或重传等处理,此种情况下,可由开发人员确定对第三数据块的处理方式。
步骤636、第二设备对第二数据块进行解析。
协议接收单元(如图24所示)对第二数据块进行解析。
步骤638、第二设备若解析出指示字段,对第二数据块中的CRC字段进行CRC校验,生成CRC校验结果。
协议接收单元(如图24所示)若解析出指示字段,获取到丢包率大于或等于第三阈值的判断结果,进而确定出采用第一检纠错算法,激活TMDS CEC解码模块(如图24所示)通过TMDS CEC解码模块将第二数据块中的CRC字段与多项式进行模2除计算,得到余数,余数即为CRC校验结果。CRC校验结果可以为0或者不为0。其中,多项式可包括X16+X12+X5+X0。
步骤640、第二设备若解析出指示字段,对第二数据块中的第一ECC字段进行ECC校验,生成ECC校验结果。
TMDS CEC解码模块(如图24所示)对第二数据块中的“Payload”进行ECC编码生成第二ECC字段,将第一ECC字段与第二ECC字段进行异或计算得出ECC校验结果。若ECC校验结果为0,表明“Payload”正确;若ECC校验结果不为0且ECC校验结果指示出有1-bit错误以及错误位,则表明需要对“Payload”的错误位进行纠正;若ECC校验结果不为0且ECC校验结果指示出有2-bit以上的错误,则表明“Payload”发生了不可纠正的错误。其中,TMDS CEC解码模块可采用与TMDS CEC编码模块相同的编码规则对“Payload”进行ECC编码,即TMDS CEC解码模块可通过6-bit的扩展汉明码对“Payload”进行ECC编码生成第二ECC字段。
需要说明的是:本实施例中,第二设备若解析出指示字段时,还可先执行步骤640,而后再执行步骤638。
步骤642、第二设备判断CRC校验结果和ECC校验结果是否均为0,若是,则执行步骤644;若判断出重传,则执行步骤626。
协议接收单元(如图24所示)判断CRC校验结果和ECC校验结果是否均为0。
步骤644、第二设备对第二数据块进行解包处理生成第一数据块。
协议接收单元(如图24所示)对第二数据块进行解包处理生成第一数据块。
具体地,协议协议接收单元去除第二数据块中的前导码(Premble)、数据同步信息(Sync)、控制/数据信息(C/D)、保留字段(Rsvd)、丢包率确认字段(PLR EN))、第一ECC字段、CRC字段和校验位(Parity)字段,以实现对第二数据块进行解包处理得到第一数据块。
步骤646、第二设备对第一数据块进行信道解码,生成解码后的第一数据块。
协议接收单元通过信道解码模块(如图24所示)对第一数据块进行信道解码,生成解码后的第一数据块。
步骤648、第二设备对第一数据块进行编码格式转换,生成图像或视频数据流,流程结束。
第二格式转换模块(如图24所示)对第一数据块进行编码格式转换,生成图像或视频数据流,并将图像或视频数据流上传至负载单元(如图24所示)。具体地,第二格式转换模块将第一数据块进行像素图像编码格式转换生成图像数据流,并将图像数据流上传至负载单元。
作为一种可选方案,第二设备若识别出ECC校验结果不为0且ECC校验结果指示出有1-bit错误以及错误位,则对第二数据块的错误位进行纠正,对第二数据块进行解包处理生成第一数据块,而后对第一数据块进行信道解码生成解码后的第一数据块,对第一数据块进行像素图像编码格式转换生成图像或视频数据流。
作为另一种可选方案,第二设备若识别出ECC校验结果不为0和/或识别出则ECC校验结果不为0且验证结果指示出有2-bit以上的错误,则将第二数据块进行丢弃、直接跳过或重传等处理,此种情况下,可由开发人员确定对数据包的处理方式。其中若判断出对第二数据块进行重传时,可继续执行步骤626。
步骤650、第一设备采集图像或视频数据流,并对图像或视频数据流进行编码格式转换生成第一数据块。
作为一种可选方案,步骤650可以在步骤604之后执行。
第一格式转换模块(如图24所示)对图像或视频数据流进行二进制编码格式转换,以形成“Payload”。
步骤652、第一设备对第一数据块进行信道编码,生成编码后的第一数据块。
,协议发送单元(如图24所示)通过信道编码模块对第一数据块进行信道编码,生成编码后的第一数据块。
步骤654、第一设备将第一数据块分成多个FEC数据块。
步骤656、第一设备对每个FEC数据块进行FEC编码,生成FEC校验码。
步骤658、第一设备将FEC校验码添加至FEC数据块的尾部,以生成第四数据块。
步骤660、第一设备将第四数据块发送至第二设备。
步骤662、第二设备对第四数据块进行解析。
步骤664、第二设备若未解析出指示字段,对第四数据块进行FEC检纠错校验,生成第一数据块。
协议接收单元若(如图24所示)未解析出指示字段,获取到丢包率小于第三阈值的判断结果,进而确定出采用第二检纠错算法,通过FEC解码模块采用RS码解码算法对第四数据块进行FEC校验,生成FEC校验结果。FEC校验结果包括校验成功、可纠正的错误结果或者不可纠正的错误结果。
协议接收单元若识别出FEC校验结果包括可纠正的错误结果时,对第四数据块的错误数据进行纠正处理,并将第四数据块进行解包生成第一数据块。
协议接收单元若识别出FEC校验结果包括校验成功,表明第四数据块中不存在错误数据,可直接将第三数据块进行解包生成第一数据块。
协议接收单元若识别出FEC校验结果包括不可纠正的错误结果,将第四数据块进行丢弃、直接跳过或重传等处理,此种情况下,可由开发人员确定对第四数据块的处理方式。
步骤666、第二设备对第四数据块进行解包处理生成第一数据块。
步骤668、第二设备对第一数据块进行信道解码,生成解码后的第一数据块。
步骤670、第二设备对第一数据块进行编码格式转换,生成图像或视频数据流。
协议接收单元(如图24所示)对第一数据块进行编码格式转换,生成图像或视频数据流,并将图像或视频数据流上传至负载单元(如图24所示)。
需要说明的是:图25中的步骤616至步骤646可以替换为:通过FEC算法和CRC算法进行编码的方案;或者,通过FEC算法和ECC算法进行编码的方案。图25中的步骤654至步骤666可以替换为:通过CRC算法和ECC算法进行校验的方案;或者,通过CRC算法进行校验的方案;或者,通过ECC算法进行校验的方案。
本发明实施例的技术方案中,通过检测传输通道环境而获取到丢包率,当丢包率较大时选择FEC算法、CRC算法和ECC算法的组合对数据传输过程中的传输数据进行检纠错处理,实现了多bits错误数据的检纠错,从而提高了数据传输的可靠性;当丢包率较小时选择FEC算法对数据传输过程中的传输数据进行检纠错处理,避免了检纠错处理时数据冗余较大的情况,从而提高了数据传输效率。采用本实施例的数据传输方法在保证数据传输可靠性的基础上提高了数据传输效率。
发明实施例还提供一种第一设备,该第一设备可以是终端设备也可以是内置于所述终端设备的电路设备。该设备可以用于执行上述方法实施例中的功能/步骤。第一设备为主机,主机可以采用如下图27所示的电子设备。
发明实施例还提供一种第二设备,该第二设备可以是终端设备也可以是内置于所述终端设备的电路设备。该设备可以用于执行上述方法实施例中的功能/步骤。第二设备为主机,主机可以采用如下图27所示的电子设备。
图27是本发明一实施例提供的一种电子设备的结构示意图,如图27所示,电子设备900包括处理器910和收发器920。可选地,该电子设备900还可以包括存储器930。其中,处理器910、收发器920和存储器930之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器930用于存储计算机程序,该处理器910用于从该存储器930中调用并运行该计算机程序。
可选地,电子设备900还可以包括天线940,用于将收发器920输出的无线信号发送出去。
上述处理器910可以和存储器930可以合成一个处理装置,更常见的是彼此独立的部件,处理器910用于执行存储器930中存储的程序代码来实现上述功能。具体实现时,该存储器930也可以集成在处理器910中,或者,独立于处理器910。
除此之外,为了使得电子设备900的功能更加完善,该电子设备900还可以包括输入单元960、显示单元970、音频电路980、摄像头990和传感器901等中的一个或多个,所述音频电路还可以包括扬声器982、麦克风984等。其中,显示单元970可以包括显示屏
可选地,上述电子设备900还可以包括电源950,用于给终端设备中的各种器件或电路提供电源。
应理解,图27所示的电子设备900能够实现图20、图23或图25所示方法实施例的各个过程。电子设备900中的各个单元的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
应理解,图27所示的电子设备900中的处理器910可以是片上系统(system on achip,SOC),该处理器910中可以包括中央处理器(central processing unit,CPU),还可以进一步包括其他类型的处理器,所述CPU可以叫主CPU。各部分处理器配合工作实现之前的方法流程,并且每部分处理器可以选择性执行一部分软件驱动程序。
总之,处理器910内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器930中。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行如上述图20、图23或图25所示的数据传输方法中的各个步骤。
本发明还提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机或任一至少一种处理器上运行时,使得计算机执行如图20、图23或图25所示的数据传输方法中的各个步骤。
本发明还提供一种芯片,包括处理器。该处理器用于读取并运行存储器中存储的计算机程序,以执行本发明提供的数据传输方法执行的相应操作和/或流程。
可选地,该芯片还包括存储器,该存储器与该处理器通过电路或电线与存储器连接,处理器用于读取并执行该存储器中的计算机程序。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理。该通信接口可以是输入输出接口。
以上各实施例中,涉及的处理器910可以例如包括中央处理器(centralprocessing unit,CPU)、微处理器、微控制器或数字信号处理器,还可包括GPU、NPU和ISP,该处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储器中。
存储器可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质等。
本发明实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以所述权利要求的保护范围为准。
Claims (23)
1.一种数据传输方法,其特征在于,应用于第一设备,所述方法包括:
若传输通道的环境参数符合第一算法开启条件,通过第一检纠错算法对获取的传输数据进行编码,生成第一编码数据,并将所述第一编码数据发送至第二设备;
若传输通道的环境参数符合第二算法开启条件,通过第二检纠错算法对获取的传输数据进行编码,生成第二编码数据,并将所述第二编码数据发送至第二设备,所述第二检纠错算法与所述第一检纠错算法不同。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取传输通道的环境参数。
3.根据权利要求2所述的方法,其特征在于,所述传输通道的环境参数包括误码率;所述获取传输通道的环境参数包括:向所述第二设备依次发送第一序列和第二序列,以供所述第二设备统计接收到的正确的第二序列的比特数,所述第一序列用于实现状态机均衡训练;接收所述第二设备发送的正确的第二序列的比特数;根据所述第二设备发送的正确的第二序列的比特数和发送的第二序列的总比特数计算出误码率;或者,
所述传输通道环境参数包括系统传输速率;所述获取传输通道环境参数包括:从切速状态寄存器读取所述系统传输速率。
4.根据权利要求1或3所述的方法,其特征在于,若所述传输通道的环境参数符合第一算法开启条件,所述方法还包括:采集原始数据;对所述原始数据进行编码格式转换,生成所述传输数据;或者,
若所述传输通道的环境参数符合第二算法开启条件,所述方法还包括:采集原始数据;对所述原始数据进行编码格式转换,生成所述传输数据。
5.根据权利要求2所述的方法,其特征在于,所述传输通道的环境参数包括丢包率;所述获取传输通道的环境参数包括:
向第二设备发送测试数据包,并记录发送的所述测试数据包的个数;
接收第二设备返回的统计出的接收到的正确的测试数据包的个数;
根据正确的测试数据包的个数和发送的测试数据包的个数,计算出丢包率。
6.根据权利要求1或5所述的方法,其特征在于,所述通过第一检纠错算法对获取的传输数据进行编码之前,还包括:采集原始数据;对所述原始数据进行编码格式转换,生成所述传输数据;或者,所述通过第二检纠错算法对获取的传输数据进行编码之前,还包括:采集原始数据;对所述原始数据进行编码格式转换,生成所述传输数据。
7.根据权利要求1-6任一所述的方法,其特征在于,所述传输通道环境参数包括误码率、系统传输速率和所述丢包率中之一或其任意组合;
所述传输通道环境参数符合第一算法开启条件包括:所述误码率大于或等于第一阈值、所述系统传输速率大于或等于第二阈值以及所述丢包率大于或等于第三阈值中之一或其任意组合;
所述传输通道环境参数符合第二算法开启条件包括:所述误码率小于第一阈值、所述系统传输速率小于第二阈值以及所述丢包率小于第三阈值中之一或其任意组合。
8.根据权利要求1-7任一所述的方法,其特征在于,所述第一检纠错算法包括至少二个检纠错算法,所述第二检纠错算法包括至少一个检纠错算法;或者,
所述第一检纠错算法中的检纠错算法的数量大于所述第二检纠错算法中的检纠错算法的数量。
9.根据权利要求1或8所述的方法,其特征在于,所述第一检纠错算法包括前向纠错FEC算法、净核循环冗余校验CRC算法和包头错误纠正码ECC算法;或者所述第一检纠错算法包括FEC算法和CRC算法;或者所述第一检纠错算法包括FEC算法和ECC算法;或者,
所述第二检纠错算法包括FEC算法;或者所述第二检纠错算法包括CRC算法;或者所述第二检纠错算法包括ECC算法;或者所述第二检纠错算法包括CRC算法和ECC算法。
10.根据权利要求1-9任一所述的方法,其特征在于,所述第一编码数据包括指示字段,所述第一编码数据的指示字段用于指示所述环境参数符合所述第一算法开启条件;和/或,
所述第二编码数据包括指示字段,所述第二编码数据的指示字段用于指示所述环境参数符合所述第二算法开启条件。
11.根据权利要求1-10任一所述的方法,其特征在于,所述第一设备为摄像头模组,所述第二设备为主板;或者
所述第一设备为摄像头模组,第二设备为主机;或者
所述第一设备为主板,所述第二设备为显示屏;或者
所述第一设备为主机,所述第二设备为显示屏。
12.一种数据传输方法,其特征在于,应用于第二设备,所述方法包括:
接收到编码数据;
若确定出符合第一算法开启条件,通过第一检纠错算法对所述编码数据进行校验,生成传输数据;
若确定出符合第二算法开启条件,通过第二检纠错算法对所述编码数据进行校验,生成传输数据。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
接收第一设备依次发送的第一序列和第二序列,所述第一序列用于实现状态机均衡训练;
根据接收到的正确的第二序列的比特数和发送的第二序列的总比特数计算出误码率;
若所述误码率符合第一算法开启条件时,向所述第一设备发送第一误码率状态,所述第一误码率状态用于表示所述误码率符合所述第一算法开启条件;
若所述误码率符合第二算法开启条件时,向所述第一设备发送第二误码率状态,所述第二误码率状态用于表示所述误码率符合所述第二算法开启条件。
14.根据权利要求12所述的方法,其特征在于,所述方法还包括:
接收第一设备发送的测试数据包;
根据接收到的正确的测试数据包的个数和发送的测试数据包的个数,计算出丢包率;
若所述丢包率符合第一算法开启条件时,向所述第一设备发送第一丢包率状态,所述第一丢包率状态用于表示所述丢包率符合所述第一算法开启条件;
若所述丢包率符合第二算法开启条件时,向所述第一设备发送第二丢包率状态,所述第一丢包率状态用于表示所述丢包率符合所述第二算法开启条件。
15.根据权利要求12所述的方法,其特征在于,所述第一检纠错算法包括至少二个检纠错算法,第二检纠错算法包括至少一个检纠错算法,所述第一检纠错算法中的检纠错算法的数量大于所述第二检纠错算法中的检纠错算法的数量。
16.根据权利要求12或15所述的方法,其特征在于,所述第一检纠错算法包括FEC算法、CRC算法和ECC算法;或者
所述第一检纠错算法包括FEC算法和CRC算法;或者
所述第一检纠错算法包括FEC算法和ECC算法;或者
所述第二检纠错算法包括FEC算法;或者
所述第二检纠错算法包括CRC算法;或者
所述第二检纠错算法包括ECC算法;或者
所述第二检纠错算法包括CRC算法和ECC算法。
17.根据权利要求12所述的方法,其特征在于,所述确定出符合第一算法开启条件,包括:确定出所述编码数据包括指示字段;所述确定出符合第二算法开启条件,包括:确定出所述编码数据未包括指示字段;或者,
所述确定出符合第一算法开启条件,包括:确定出所述编码数据未包括指示字段;所述确定出符合第二算法开启条件,包括:确定出所述第二编码数据包括指示字段;或者,
所述确定出符合第一算法开启条件,包括:确定出所述第一编码数据中的指示字段为第一取值;所述确定出符合第二算法开启条件,包括:确定出所述第二编码数据中的指示字段为第二取值。
18.一种第一设备,其特征在于,包括:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行权利要求1至11中任意一项所述的数据传输方法。
19.一种第二设备,其特征在于,包括:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行权利要求12至17中任意一项所述的数据传输方法。
20.一种数据传输系统,其特征在于,包括:第一设备和第二设备,所述第一设备和所述第二设备通过传输通道通信连接;
所述第一设备,用于若传输通道的环境参数符合第一算法开启条件,通过第一检纠错算法对获取的传输数据进行编码,生成第一编码数据,并将所述第一编码数据发送至第二设备;若传输通道的环境参数符合第二算法开启条件,通过第二检纠错算法对获取的传输数据进行编码,生成第二编码数据,并将所述第二编码数据发送至第二设备,所述第二检纠错算法与所述第一检纠错算法不同;
所述第二设备,用于接收到编码数据;若确定出符合第一算法开启条件,通过第一检纠错算法对所述编码数据进行校验,生成传输数据;若确定出符合第二算法开启条件,通过第二检纠错算法对所述编码数据进行校验,生成传输数据。
21.根据权利要求20所述的系统,其特征在于,所述第一设备为摄像头模组,所述第二设备为主板;或者
所述第一设备为摄像头模组,第二设备为主机;或者
所述第一设备为主板,所述第二设备为显示屏;或者
所述第一设备为主机,所述第二设备为显示屏。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至11中任意一项所述的数据传输方法,或者,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求12至17中任意一项所述的数据传输方法。
23.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机或任一至少一种处理器上运行时,使得所述计算机执行如权利要求1至11中任一项所述的数据传输方法;或者,使得所述计算机执行如权利要求12至17中任一项所述的数据传输方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011106012.4A CN114374470A (zh) | 2020-10-15 | 2020-10-15 | 数据传输方法、系统和计算机可读存储介质 |
PCT/CN2021/123743 WO2022078426A1 (zh) | 2020-10-15 | 2021-10-14 | 数据传输方法、系统和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011106012.4A CN114374470A (zh) | 2020-10-15 | 2020-10-15 | 数据传输方法、系统和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114374470A true CN114374470A (zh) | 2022-04-19 |
Family
ID=81138568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011106012.4A Pending CN114374470A (zh) | 2020-10-15 | 2020-10-15 | 数据传输方法、系统和计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114374470A (zh) |
WO (1) | WO2022078426A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115297341A (zh) * | 2022-07-18 | 2022-11-04 | 西安电子科技大学芜湖研究院 | 一种视频数据传输方法、装置、电子设备及可读存储介质 |
CN116321286A (zh) * | 2023-03-13 | 2023-06-23 | 朱林清 | 应用智能算法的数据偏差鉴定系统 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115129509B (zh) * | 2022-06-30 | 2024-06-25 | 苏州浪潮智能科技有限公司 | 一种数据传输方法、装置、介质 |
CN114884624B (zh) * | 2022-07-08 | 2022-12-09 | 广州思德医疗科技有限公司 | 数据处理方法及装置 |
CN115484084B (zh) * | 2022-09-05 | 2023-03-31 | 北京天元特通科技有限公司 | 单向数据传输方法及相关设备 |
CN115914327B (zh) * | 2022-11-07 | 2024-03-26 | 中国第一汽车股份有限公司 | 一种控制方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182264B1 (en) * | 1998-05-22 | 2001-01-30 | Vlsi Technology, Inc. | Smart dynamic selection of error correction methods for DECT based data services |
CN102098130A (zh) * | 2009-12-15 | 2011-06-15 | 意法半导体研发(深圳)有限公司 | 具有高速度和高可靠性的高效动态传输 |
CN102158308A (zh) * | 2011-02-12 | 2011-08-17 | 中兴通讯股份有限公司 | 一种配置上行前向纠错流程的方法及系统 |
CN102790666A (zh) * | 2011-05-17 | 2012-11-21 | 华为终端有限公司 | 差错控制的方法、接收端、发送端和系统 |
CN104639919A (zh) * | 2013-11-14 | 2015-05-20 | 杭州海康威视数字技术股份有限公司 | 用于数字视频光端机系统的数据传输方法及其系统 |
CN109218083A (zh) * | 2018-08-27 | 2019-01-15 | 广州爱拍网络科技有限公司 | 一种语音数据传输方法及装置 |
CN109412753A (zh) * | 2018-10-25 | 2019-03-01 | 网易(杭州)网络有限公司 | 数据传输方法及装置、电子设备以及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2520269A (en) * | 2013-11-13 | 2015-05-20 | Mingoa Ltd | Ethernet link incorporating forward error correction |
CN107086898A (zh) * | 2017-04-19 | 2017-08-22 | 江苏卓胜微电子有限公司 | 联合纠错方法和装置 |
CN107947902A (zh) * | 2017-12-04 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种高速接口芯片的数据差错处理系统及方法 |
CN111128203B (zh) * | 2020-02-27 | 2022-10-04 | 北京达佳互联信息技术有限公司 | 音频数据编码、解码方法、装置、电子设备及存储介质 |
-
2020
- 2020-10-15 CN CN202011106012.4A patent/CN114374470A/zh active Pending
-
2021
- 2021-10-14 WO PCT/CN2021/123743 patent/WO2022078426A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182264B1 (en) * | 1998-05-22 | 2001-01-30 | Vlsi Technology, Inc. | Smart dynamic selection of error correction methods for DECT based data services |
CN102098130A (zh) * | 2009-12-15 | 2011-06-15 | 意法半导体研发(深圳)有限公司 | 具有高速度和高可靠性的高效动态传输 |
CN102158308A (zh) * | 2011-02-12 | 2011-08-17 | 中兴通讯股份有限公司 | 一种配置上行前向纠错流程的方法及系统 |
CN102790666A (zh) * | 2011-05-17 | 2012-11-21 | 华为终端有限公司 | 差错控制的方法、接收端、发送端和系统 |
CN104639919A (zh) * | 2013-11-14 | 2015-05-20 | 杭州海康威视数字技术股份有限公司 | 用于数字视频光端机系统的数据传输方法及其系统 |
CN109218083A (zh) * | 2018-08-27 | 2019-01-15 | 广州爱拍网络科技有限公司 | 一种语音数据传输方法及装置 |
CN109412753A (zh) * | 2018-10-25 | 2019-03-01 | 网易(杭州)网络有限公司 | 数据传输方法及装置、电子设备以及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115297341A (zh) * | 2022-07-18 | 2022-11-04 | 西安电子科技大学芜湖研究院 | 一种视频数据传输方法、装置、电子设备及可读存储介质 |
CN116321286A (zh) * | 2023-03-13 | 2023-06-23 | 朱林清 | 应用智能算法的数据偏差鉴定系统 |
CN116321286B (zh) * | 2023-03-13 | 2023-09-22 | 湖北华中电力科技开发有限责任公司 | 应用智能算法的数据偏差鉴定系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2022078426A1 (zh) | 2022-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022078426A1 (zh) | 数据传输方法、系统和计算机可读存储介质 | |
EP2127265B1 (en) | Method and system for transmission of uncompressed video over wireless communication channels | |
KR100608042B1 (ko) | 멀티 미디어 데이터의 무선 송수신을 위한 인코딩 방법 및그 장치 | |
CN106850143B (zh) | 数据包的封装方法及校验方法 | |
TWI686085B (zh) | 攝像裝置及圖像感測器之資料傳送方法、資訊處理裝置及資訊處理方法以及程式 | |
US8103942B2 (en) | Data transmission apparatus, data transmission device, data reception device and data transmission system | |
EP2317688A2 (en) | System and methods for implementing cyclic redundancy checks | |
US8312352B2 (en) | Communication apparatus and communication method | |
CN202663412U (zh) | 发送设备、接收设备、以及传输系统 | |
CN110769206A (zh) | 一种电子内窥镜信号传输方法、装置和系统及电子设备 | |
TW201001967A (en) | Communication transmitter, communication receiver, packet redundancy method and packet recovery method | |
CN106571893B (zh) | 一种语音数据的编解码方法 | |
CN101877793B (zh) | 数据传输方法、检错方法、系统和装置 | |
CN110138635B (zh) | 一种支持fc与以太网的协议转换功能验证装置及方法 | |
CN107733568B (zh) | 基于fpga实现crc并行计算的方法及装置 | |
US20150106679A1 (en) | Defect propagation of multiple signals of various rates when mapped into a combined signal | |
JP5761551B2 (ja) | 送信装置、送信方法、受信装置、受信方法、プログラム、および伝送システム | |
WO2002093820A1 (fr) | Procede de communication, dispositif de transmission, dispositif de reception, et systeme de communication equipe de ces dispositifs | |
RU2219664C2 (ru) | Способ и устройство для передачи и приема пакета данных радиосвязи | |
US8990645B2 (en) | Methods and apparatus for error rate estimation | |
WO2022193098A1 (zh) | 数据传输方法、通信设备及系统 | |
US20130013975A1 (en) | System and device | |
US20190115935A1 (en) | Forward Error Correction and Asymmetric Encoding for Video Data Transmission Over Multimedia Link | |
EP2811483A2 (en) | Methods and apparatus for error rate estimation | |
CN113454935B (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 |