CN116018799B - 一种图像传输方法及装置 - Google Patents
一种图像传输方法及装置 Download PDFInfo
- Publication number
- CN116018799B CN116018799B CN202080103381.XA CN202080103381A CN116018799B CN 116018799 B CN116018799 B CN 116018799B CN 202080103381 A CN202080103381 A CN 202080103381A CN 116018799 B CN116018799 B CN 116018799B
- Authority
- CN
- China
- Prior art keywords
- frame
- information
- data packet
- field
- line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 115
- 230000005540 biological transmission Effects 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 claims abstract description 274
- 238000012545 processing Methods 0.000 claims description 42
- 230000015654 memory Effects 0.000 claims description 28
- 238000013139 quantization Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 238000005538 encapsulation Methods 0.000 abstract description 38
- 230000007774 longterm Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 44
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 102100034112 Alkyldihydroxyacetonephosphate synthase, peroxisomal Human genes 0.000 description 8
- 101000799143 Homo sapiens Alkyldihydroxyacetonephosphate synthase, peroxisomal Proteins 0.000 description 8
- 238000000848 angular dependent Auger electron spectroscopy Methods 0.000 description 8
- 238000004806 packaging method and process Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 206010063385 Intellectualisation Diseases 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/183—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/64322—IP
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了一种图像传输方法及装置,可以应用于自动驾驶,智能驾驶或短距离通信领域,还可应用于车联网,如车辆外联V2X、车间通信长期演进技术LTE‑V、车辆‑车辆V2V等。第一通信装置生成第一数据包,第一数据包包括一帧图像的部分内容和第一信息,第一信息用于指示部分内容所在的帧的帧号,以及用于指示部分内容在一帧图像中所在的行。第一通信装置将第一数据包发送给第二通信装置。第一信息可以指示第一数据包所包括的内容所在的帧的帧号,因此第一信息无需占用过多的比特,从而提高封装效率,节省传输开销。
Description
技术领域
本申请涉及通信领域,尤其涉及一种图像传输方法及装置。
背景技术
目前汽车正在向智能化发展,在汽车上会设置相应的车载设备来提供智能化服务。例如,自动驾驶辅助系统(advanced driver assistance systems,ADAS)或自动驾驶系统(advanced driver systems,ADS)等越来越多地搭载在汽车上。车载设备之间需要进行数据传输,以协同工作。例如,目前多数的ADAS或ADS都要依赖摄像头实时地感知汽车周围的环境,因此摄像头将感知的行驶环境信息准确地传输给ADAS或ADS的图像处理单元,就变得尤为重要。
一个车载设备向另一个车载设备发送数据前,需要对数据进行封装,之后再发送封装的数据。封装的数据可以成为数据包,数据包可以包括包头和负载,负载用于承载该数据,包头用于承载该数据的一些描述信息。目前,数据包的包头所占用的比特数较多,导致封装效率降低。
发明内容
本申请实施例提供一种图像传输方法及装置,用于提高封装效率。
第一方面,提供第一种图像传输方法,该方法包括:第一通信装置生成第一数据包,第一数据包包括一帧图像的部分内容和第一信息,第一信息用于指示部分内容所在的帧的逻辑帧号,以及用于指示部分内容在一帧图像中所在的行。第一通信装置将第一数据包发送给第二通信装置。
该方法可由第一通信装置执行,第一通信装置可以是通信设备或能够支持通信设备实现该方法所需的功能的通信装置,例如芯片。示例性地,所述第一通信装置为终端装置,该终端装置可以是车载装置,例如为车载的摄像头或CDC等,或者该终端装置也可以是非车载装置。该终端装置为终端设备,或者为设置在终端设备中的用于实现终端设备的功能的芯片,或者为用于实现终端设备的功能的其他部件。
本申请实施例中,第一信息可以指示第一数据包所包括的内容所在的帧的逻辑帧号,由于是指示逻辑帧号,无需指示实际帧号,因此第一信息无需占用过多的比特,例如第一信息即使只占用一个比特,也能完成对逻辑帧号的指示。相较于已有技术来说,本申请实施例提供的技术方案能够减少数据包的包头所占用的比特数,节省传输开销,以及提高封装效率。
在一种可选的实施方式中,第一信息包括帧指示信息和行号指示信息,帧指示信息承载在帧指示字段中,行号指示信息承载在行号指示字段中,其中,第一信息指示部分内容所在的帧的逻辑帧号,以及指示部分内容在所述一帧图像中所在的行,可以通过如下方式实现:
帧指示字段用于指示部分内容所在的帧的帧号,行号指示字段用于指示部分内容在一帧图像中所在的行。
在这种方式下,帧指示字段(或者说,帧指示信息)可以指示所述部分内容所在的帧的帧号,行号指示字段可以指示所述部分内容在一帧图像中所在的行,即,不同的内容可以通过不同的信息分别指示,这样可以使得指示更为明确。而且帧指示信息可以指示所述部分内容所在的帧,那么,对于包括了同一个帧的内容的数据包来说,所包括的帧指示信息的取值应该都是相同的,都用于指示该帧的逻辑帧号。这样,即使在传输过程中丢失了部分数据包,但是还是有其他数据包能够被正常接收,对于接收端来说,根据接收的数据包所包括的帧指示信息,也能提取到帧同步信号。可见,通过本申请实施例提供的方案,也能提高帧同步的可靠性,减少因接收端无法提取帧同步信号而导致的图像混乱的情况出现。
在一种可选的实施方式中,第一信息指示部分内容所在的帧的逻辑帧号,以及指示部分内容在所述一帧图像中所在的行,可以通过如下方式实现:
第一信息通过联合编码方式指示部分内容所在的帧的逻辑帧号,以及指示部分内容在一帧图像中所在的行。
使用联合编码的方式,使得一个信息(即,第一信息)能够指示更多的内容,提高了信息的利用率,而且使用联合编码方式更有助于减少完成同样功能的字段所占用的比特数,能够在更大程度上提高封装效率。而且第一信息有明确的状态分别指示一帧的开始和结束,即使用于指示上一帧的帧结束的数据包丢失,而接收端还可以根据接收的用于指示下一帧的帧开始的数据包确定下一帧的开始位置,也相应可以确定上一帧的结束位置。显然本申请实施例的技术方案可以使得接收端对于帧开始和结束的确定更为可靠。
在一种可选的实施方式中,第一数据包还可以包括行分段指示字段,行分段指示字段用于指示第一数量,第一数量用于指示部分内容所在的行的数据包的个数。
例如对于车载场景来说,一帧图像的一行不会被划分为过多的分段,因此,要指示一行图像的分段,可能无需使用过多的比特。本申请实施例中,通过行分段指示字段指示一行被划分的分段的个数,而无需指示具体的分段号,这样更能减少行分段指示字段所占用的比特数,提高封装效率。也就是说,本申请实施例是提供了另外一种指示方式(即,指示一行被划分的分段的个数),从而能够减少行分段指示字段所占用的比特数。
在一种可选的实施方式中,行分段指示字段所占用的比特数大于或等于2且小于8。
行分段指示字段所占用的比特数可以大于或等于2,且小于8。或者,对于行分段指示字段占用的比特数不做限制,例如也可以为1,或者也可以大于或等于8。如果采用现有的数据包的包头,接收端可以通过i_seq_num字段的取值确定一个数据包的分段号,i_seq_num字段占用8个比特。而本申请实施例中,接收端可以通过行分段指示字段确定一行被划分的分段数,行分段指示字段占用的比特数小于8,显然相较于目前的方式来说,本申请实施例提供的技术方案能够减少包头所占用的比特数,从而提升封装效率。
在一种可选的实施方式中,第一信息还用于指示第一数量,第一数量用于指示部分内容所在的行的数据包的个数。其中,第一信息用于指示部分内容所在的帧的逻辑帧号、指示部分内容在一帧图像中所在的行、以及指示第一数量,可以通过如下方式实现:
第一信息通过联合编码方式指示部分内容所在的帧的逻辑帧号、指示部分内容在一帧图像中所在的行、以及指示第一数量。
使用联合编码的方式,使得一个信息(即,第一信息)能够指示更多的内容,提高了信息的利用率,而且第三种实施方式中,第一信息能够指示的内容更多,可以在更大程度上减少完成同样功能的字段所占用的比特数,从而在更大程度上提高封装效率。而且第一信息有明确的状态分别指示一帧的开始和结束,即使用于指示上一帧的帧结束的数据包丢失,而接收端还可以根据接收的用于指示下一帧的帧开始的数据包确定下一帧的开始位置,也相应可以确定上一帧的结束位置。本申请实施例的技术方案可以使得接收端对于帧开始和结束的确定更为可靠。
在一种可选的实施方式中,第一信息指示部分内容在一帧图像中所在的行,可以通过如下方式实现:
第一信息用于指示部分内容在一帧图像中的逻辑行号。
逻辑行号指的是一种行的计数方式,记录的不是真正的行号,是用于在一定的范围内区别不同的行。由于是指示逻辑行号,无需指示实际行号,因此第一信息无需占用过多的比特。因此,本申请实施例提供的技术方案由于指示逻辑行号,无需指示实际行号,因此能够减少包头所占用的比特数,节省传输开销,以及提高封装效率。
在一种可选的实施方式中,所述第一数据包还可以包括序列号字段,序列号字段用于指示第一数据包在第一数据流中的序列号,第一数据流为第一数据包所在的数据流。
在一种可选的实施方式中,序列号字段占用的比特数大于或等于6且小于或等于8。
通过序列号字段,第一通信装置可以对每个数据包计数,使得第一通信装置发出的每个数据包的序列号都是连续的,接收端可以根据接收的数据包的序列号字段判断传输过程中有哪些数据包丢失,根据序列号字段能够确定出丢失的数据包的位置,从而减少了接收端所接收的数据混乱的概率。
在一种可选的实施方式中,第一数据包还可以包括流标识字段,流标识字段用于指示第一数据包所在的数据流的标识。
在一种可选的实施方式中,流标识字段占用的比特数大于或等于2且小于或等于5。
流标识字段可指示第一数据流的标识,第一数据流是第一数据包所在的数据流,从而使得第二通信装置能够明确第一数据包所属的数据流。例如,对于车载场景来说,传输的数据流不会太多,因此流标识字段无需占用过多的比特数就能完成对于数据流的指示,由此可以减少包头所占用的比特数,提高封装效率。
在一种可选的实施方式中,第一数据包还可以包括数据格式字段,数据格式字段用于指示一帧图像的格式以及像素的量化深度。
通过数据格式字段,使得第二通信装置能够明确第一数据包所包括的内容所在的图像的格式以及像素的量化深度。
第二方面,提供第二种图像传输方法,该方法包括:第二通信装置接收来自第一通信装置的第一数据包。第二通信装置从第一数据包获得一帧图像的部分内容和第一信息,并根据第一数据包所包括的第一信息确定部分内容所在的帧的逻辑帧号,以及确定部分内容在一帧图像中所在的行。
该方法可由第二通信装置执行,第二通信装置可以是通信设备或能够支持通信设备实现该方法所需的功能的通信装置,例如芯片。示例性地,所述第二通信装置为终端装置,该终端装置可以是车载装置,例如为MDC或车载的显示器等,或者该终端装置也可以是非车载装置。该终端装置为终端设备,或者为设置在终端设备中的用于实现终端设备的功能的芯片,或者为用于实现终端设备的功能的其他部件。
在一种可选的实施方式中,第一信息包括帧指示信息和行号指示信息,帧指示信息承载在帧指示字段中,行号指示信息承载在行号指示字段中,其中,第二通信装置根据第一数据包所包括的第一信息确定部分内容所在的帧的逻辑帧号,以及确定部分内容在一帧图像中所在的行,可以通过如下方式实现:
第二通信装置根据帧指示字段确定部分内容所在的帧的逻辑帧号,以及根据行号指示字段确定部分内容在一帧图像中所在的行。
在一种可选的实施方式中,第二通信装置根据第一数据包所包括的第一信息确定部分内容所在的帧的逻辑帧号,以及确定部分内容在一帧图像中所在的行,可以通过如下方式实现:
第二通信装置根据第一信息的联合编码方式,确定部分内容所在的帧的逻辑帧号,以及确定部分内容在一帧图像中所在的行。
在一种可选的实施方式中,第一数据包还包括行分段指示字段,行分段指示字段用于指示第一数量,第一数量用于指示部分内容所在的行的数据包的个数。
在一种可选的实施方式中,行分段指示字段所占用的比特数大于或等于2且小于8。
在一种可选的实施方式中,第一信息还用于指示第一数量,第一数量用于指示部分内容所在的行的数据包的个数。其中,第二通信装置根据第一数据包所包括的第一信息确定部分内容所在的帧的逻辑帧号、确定部分内容在一帧图像中所在的行、以及确定第一数量,可以通过如下方式实现:
第二通信装置根据第一信息的联合编码方式,确定部分内容所在的帧的逻辑帧号、部分内容在一帧图像中所在的行、以及确定第一数量。
在一种可选的实施方式中,第二通信装置根据第一信息确定部分内容在一帧图像中所在的行,可以通过如下方式实现:第二通信装置根据第一信息确定部分内容在一帧图像中的逻辑行号。
在一种可选的实施方式中,第一数据包还可以包括序列号字段,序列号字段用于指示第一数据包在第一数据流中的序列号,第一数据流为第一数据包所在的数据流。
在一种可选的实施方式中,序列号字段占用的比特数大于或等于6且小于或等于8。
在一种可选的实施方式中,第一数据包还包括流标识字段,流标识字段用于指示第一数据包所在的数据流的标识。
在一种可选的实施方式中,流标识字段占用的比特数大于或等于2且小于或等于5。
在一种可选的实施方式中,第一数据包还包括数据格式字段,数据格式字段用于指示一帧图像的格式以及像素的量化深度。
关于第二方面或各种可选的实施方式所带来的技术效果,可参考对于第一方面或相应的实施方式的技术效果的介绍。
第三方面,提供一种通信装置,例如该通信装置为如前所述的第一通信装置。所述第一通信装置用于执行上述第一方面或任一可选的实施方式中的方法。具体地,所述第一通信装置可以包括用于执行第一方面或任一可选的实施方式中的方法的模块,例如包括处理模块和收发模块。示例性地,收发模块可以包括发送模块和接收模块,发送模块和接收模块可以是不同的功能模块,或者也可以是同一个功能模块,但能够实现不同的功能(发送模块用于实现发送信号的功能,接收模块用于实现接收信号的功能)。示例性地,所述第一通信装置为通信设备,或者为设置在通信设备中的芯片或其他部件。示例性地,所述通信设备为终端设备,或者为车载模块等。例如,第一通信装置可以是车载模块,或者可以是设置在车载模块中的芯片或其他部件。例如,所述收发模块也可以通过收发器实现,所述处理模块也可以通过处理器实现。或者,发送模块可以通过发送器实现,接收模块可以通过接收器实现,发送器和接收器可以是不同的功能模块,或者也可以是同一个功能模块,但能够实现不同的功能(发送器用于实现发送信号的功能,接收器用于实现接收信号的功能)。如果第一通信装置为通信设备,收发器例如通过通信设备中的天线、馈线和编解码器等实现。或者,如果第一通信装置为设置在通信设备中的芯片,那么收发器(或,发送器和接收器)例如为芯片中的通信接口(或者说,是接口电路),该通信接口与通信设备中的射频收发组件连接,以通过射频收发组件实现信息的收发。在第三方面的介绍过程中,继续以所述处理模块和所述收发模块为例进行介绍。其中,
处理模块,用于生成第一数据包,第一数据包包括一帧图像的部分内容和第一信息,第一信息用于指示部分内容所在的帧的逻辑帧号,以及用于指示部分内容在一帧图像中所在的行;
收发模块,用于将第一数据包发送给第二通信装置。
在一种可选的实施方式中,第一信息包括帧指示信息和行号指示信息,帧指示信息承载在帧指示字段中,行号指示信息承载在行号指示字段中,其中,第一信息指示部分内容所在的帧的逻辑帧号,以及指示部分内容在一帧图像中所在的行,可以通过如下方式实现:
帧指示字段用于指示部分内容所在的帧的逻辑帧号,行号指示字段用于指示部分内容在一帧图像中所在的行。
在一种可选的实施方式中,第一信息指示部分内容所在的帧的逻辑帧号,以及指示部分内容在一帧图像中所在的行,可以通过如下方式实现:
第一信息通过联合编码方式指示部分内容所在的帧的逻辑帧号,以及用于指示部分内容在一帧图像中所在的行。
在一种可选的实施方式中,第一数据包还可以包括行分段指示字段,行分段指示字段用于指示第一数量,第一数量用于指示部分内容所在的行的数据包的个数。
在一种可选的实施方式中,行分段指示字段所占用的比特数大于或等于2且小于8。
在一种可选的实施方式中,第一信息还用于指示第一数量,第一数量用于指示部分内容所在的行的数据包的个数。其中,第一信息指示部分内容所在的帧的逻辑帧号、指示部分内容在一帧图像中所在的行、以及指示第一数量,可以通过如下方式实现:
第一信息通过联合编码方式指示部分内容所在的帧的逻辑帧号、指示部分内容在一帧图像中所在的行、以及指示第一数量。
在一种可选的实施方式中,第一信息指示部分内容在一帧图像中所在的行,可以通过如下方式实现:
第一信息用于指示部分内容在一帧图像中的逻辑行号。
在一种可选的实施方式中,第一数据包还可以包括序列号字段,序列号字段用于指示第一数据包在第一数据流中的序列号,第一数据流为第一数据包所在的数据流。
在一种可选的实施方式中,序列号字段占用的比特数大于或等于6且小于或等于8。
在一种可选的实施方式中,第一数据包还可以包括流标识字段,流标识字段用于指示第一数据包所在的数据流的标识。
在一种可选的实施方式中,流标识字段占用的比特数大于或等于2且小于或等于5。
在一种可选的实施方式中,第一数据包还可以包括数据格式字段,数据格式字段用于指示一帧图像的格式以及像素的量化深度。
关于第三方面或各种可选的实施方式所带来的技术效果,可参考对于第一方面或相应的实施方式的技术效果的介绍。
第四方面,提供一种通信装置,例如该通信装置为如前所述的第二通信装置。所述第二通信装置用于执行上述第二方面或任一可选的实施方式中的方法。具体地,所述第二通信装置可以包括用于执行第二方面或任一可选的实施方式中的方法的模块,例如包括处理模块和收发模块。示例性地,收发模块可以包括发送模块和接收模块,发送模块和接收模块可以是不同的功能模块,或者也可以是同一个功能模块,但能够实现不同的功能(发送模块用于实现发送信号的功能,接收模块用于实现接收信号的功能)。示例性地,所述第二通信装置为通信设备,或者为设置在通信设备中的芯片或其他部件。示例性地,所述通信设备为网络设备(例如接入网设备等),或者为终端设备,或者为车载模块等。例如,第二通信装置可以是车载模块,或者可以是设置在车载模块中的芯片或其他部件。例如,所述收发模块也可以通过收发器实现,所述处理模块也可以通过处理器实现。或者,发送模块可以通过发送器实现,接收模块可以通过接收器实现,发送器和接收器可以是不同的功能模块,或者也可以是同一个功能模块,但能够实现不同的功能(发送器用于实现发送信号的功能,接收器用于实现接收信号的功能)。如果第二通信装置为通信设备,收发器例如通过通信设备中的天线、馈线和编解码器等实现。或者,如果第二通信装置为设置在通信设备中的芯片,那么收发器(或,发送器和接收器)例如为芯片中的通信接口(或者说,是接口电路),该通信接口与通信设备中的射频收发组件连接,以通过射频收发组件实现信息的收发。在第四方面的介绍过程中,继续以所述处理模块和所述收发模块为例进行介绍。
其中,
收发模块,用于接收来自第一通信装置的第一数据包;
处理模块,用于从第一数据包获得一帧图像的部分内容和第一信息,并根据第一信息确定部分内容所在的帧的逻辑帧号,以及确定部分内容在一帧图像中所在的行。
在一种可选的实施方式中,第一信息包括帧指示信息和行号指示信息,帧指示信息承载在帧指示字段中,行号指示信息承载在行号指示字段中,其中,处理模块用于:
根据帧指示字段确定部分内容所在的帧的逻辑帧号,以及根据行号指示字段确定部分内容在一帧图像中所在的行。
在一种可选的实施方式中,处理模块用于:
根据第一信息的联合编码方式,确定部分内容所在的帧的逻辑帧号,以及确定部分内容在一帧图像中所在的行。
在一种可选的实施方式中,第一数据包还包括行分段指示字段,行分段指示字段用于指示第一数量,第一数量用于指示部分内容所在的行的数据包的个数。
在一种可选的实施方式中,行分段指示字段所占用的比特数大于或等于2且小于8。
在一种可选的实施方式中,第一信息还用于指示第一数量,第一数量用于指示部分内容所在的行的数据包的个数,其中,处理模块用于:
根据第一信息的联合编码方式,确定部分内容所在的帧的逻辑帧号、部分内容在一帧图像中所在的行、以及确定第一数量。
在一种可选的实施方式中,处理模块用于:
根据第一信息确定部分内容在一帧图像中的逻辑行号。
在一种可选的实施方式中,第一数据包还可以包括序列号字段,序列号字段用于指示第一数据包在第一数据流中的序列号,第一数据流为第一数据包所在的数据流。
在一种可选的实施方式中,序列号字段占用的比特数大于或等于6且小于或等于8。
在一种可选的实施方式中,第一数据包还可以包括流标识字段,流标识字段用于指示第一数据包所在的数据流的标识。
在一种可选的实施方式中,流标识字段占用的比特数大于或等于2且小于或等于5。
在一种可选的实施方式中,第一数据包还可以包括数据格式字段,数据格式字段用于指示一帧图像的格式以及像素的量化深度。
关于第四方面或各种可选的实施方式所带来的技术效果,可参考对于第二方面或相应的实施方式的技术效果的介绍。
第五方面,提供一种通信装置,该通信装置例如为如前所述的第一通信装置或第二通信装置。该通信装置包括处理器和通信接口(或者,接口电路),通信接口可用于与其他装置或设备进行通信。可选的,还可以包括存储器,用于存储计算机指令。处理器和存储器相互耦合,用于实现上述第一方面或各种可选的实施方式所描述的方法,或用于实现上述第二方面或各种可选的实施方式所描述的方法。或者,该通信装置也可以不包括存储器,存储器可以位于该通信装置外部。处理器、存储器和通信接口相互耦合,用于实现上述第一方面或各种可选的实施方式所描述的方法,或用于实现上述第二方面或各种可选的实施方式所描述的方法。例如,当处理器执行所述存储器存储的计算机指令时,使该通信装置执行上述第一方面或任意一种可选的实施方式中的方法,或,使该通信装置执行上述第二方面或任意一种可选的实施方式中的方法。示例性地,该通信装置为通信设备,或者为设置在通信设备中的芯片或其他部件。示例性地,所述通信设备为终端设备,或者为车载模块等。例如,该通信装置可以是车载模块,或者可以是设置在车载模块中的芯片或其他部件。
其中,如果该通信装置为通信设备,通信接口例如通过所述通信设备中的收发器(或者,发送器和接收器)实现,例如所述收发器通过所述通信设备中的天线、馈线和编解码器等实现。或者,如果该通信装置为设置在通信设备中的芯片,那么通信接口例如为芯片的输入/输出接口,例如输入/输出管脚等,该通信接口与通信设备中的射频收发组件连接,以通过射频收发组件实现信息的收发。
在一种可选的实施方式中,一帧图像的部分内容可以包含在第一数据包的负载中。
在一种可选的实施方式中,第一信息,分段指示字段,序列号字段,流标识字段,数据格式字段等中的一个或多个可以包含在第一数据包的包头中。
第六方面,提供一种芯片,该芯片包括处理器和通信接口,所述处理器用于从该通信接口调用并运行指令,当该处理器执行所述指令时,使得该芯片执行如第一方面、第二方面、第一方面的各种实施方式、或第二方面的各种实施方式所述的方法。
第七方面,提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如第一方面、第二方面、第一方面的各种实施方式、或第二方面的各种实施方式所述的方法。
第八方面,提供一种计算机程序产品,该计算机程序产品包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如第一方面、第二方面、第一方面的各种实施方式、或第二方面的各种实施方式所述的方法。
第九方面,本申请实施例提供一种通信系统,所述通信系统包括第三方面所述的通信装置、第五方面所述的通信装置(实现第一方面或各种可选的实施方式所描述的方法)或第六方面所述的芯片(实现第一方面或各种可选的实施方式所描述的方法),以及包括第四方面所述的通信装置、第五方面所述的通信装置(实现第二方面或各种可选的实施方式所描述的方法)或第六方面所述的芯片(实现第二方面或各种可选的实施方式所描述的方法)。
本申请实施例中,第一信息可以指示第一数据包所包括的内容所在的帧的逻辑帧号,因此第一信息无需包括过多的比特,能够减少包头所占用的比特数,节省传输开销,以及提高封装效率。
附图说明
图1为本申请实施例的一种应用场景示意图;
图2为数据包的一种封装格式的示意图;
图3为本申请实施例的另一种应用场景示意图;
图4A~图4C为本申请实施例的另外三种应用场景的示意图;
图5为本申请实施例提供的一种图像传输方法的流程图;
图6为本申请实施例提供的第一通信装置的一种结构示意图;
图7为本申请实施例提供的第二通信装置的一种结构示意图;
图8为本申请实施例提供的一种通信设备的结构示意图;
图9为本申请实施例提供的一种装置的一种结构示意图。
具体实施方式
本申请实施例的说明书和权利要求书及附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
例如,本申请实施例涉及的通信装置可以是能够向其他设备发送图像或视频文件的设备,例如为车载摄像头或座舱域控制器(cockpit domain controller或controldomain cockpit,CDC)等车载设备,或者也可以是手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、手持计算机、上网本、个人数字助理(personal digital assistant,PDA)、可穿戴电子设备、虚拟现实设备等电子设备。又例如,本申请实施例涉及的通信装置还可以是除了车辆之外的其他具有本申请实施例所述的第一通信装置或第二通信装置所能够实现的功能的智能终端,或设置在除了车辆之外的其他具有本申请实施例所述的第一通信装置或第二通信装置所能够实现的功能的智能终端中,或设置于该智能终端的部件中。该智能终端可以为智能运输设备、智能家居设备、机器人等其他终端设备。该通信装置包括但不限于智能终端或智能终端内的控制器、芯片、雷达或摄像头等其他传感器、以及其他部件等。或者,本申请实施例所涉及的通信装置也可以是设置在如上的任一种设备中的功能模块,例如芯片系统。
下面首先对本申请实施例涉及的部分用语进行解释说明,以便于本领域技术人员理解。
(1)CDC,座舱域控制器,也简称车机。目前车机的功能除了传统的收音机、音乐时频播放、导航功能以外,已经带有蜂窝通信功能(3G,4G等),能结合汽车的控制器局域网络(controller area network,CAN)-总线(BUS)技术,实现人与车,车与外界的信息通讯,增强了用户体验及服务、安全相关的功能。
(2)多域控制器(multi domain controller,MDC),或称为移动数据中心(mobiledata center,MDC),是ADAS或ADS的控制中心。MDC可以接收摄像头、激光雷达、或毫米波雷达等传感器所感知的信息,对接收的信息进行处理并作出相应决策,进而操控汽车的行驶。
(3)本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,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可以是单个,也可以是多个。
以及,除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的大小、内容、顺序、时序、优先级或者重要程度等。例如,第一数据包和第二数据包,只是为了便于描述而给予的名称,这两个数据包可能是同一个数据包,或者也可能是不同的数据包。
前文介绍了本申请实施例所涉及到的一些名词概念,下面介绍本申请实施例涉及的技术特征。
目前汽车正在向智能化发展,在汽车上会设置相应的车载设备来提供智能化服务。例如,ADAS或ADS等越来越多地搭载在汽车上。车载设备之间需要进行数据传输,以协同工作。例如,目前多数的ADAS或ADS都要依赖摄像头实时地感知汽车周围的环境,因此摄像头将感知的行驶环境信息准确地传输给ADAS或ADS的图像处理单元,就变得尤为重要。ADAS或ADS对图像的分辨率、帧率、像素量化深度要求越来越高,因此需要传输的数据量也越来越大,对传输芯片的速率要求也越来越高。
请参考图1,为一个车载图像传输过程的示例。图1包括摄像头和MDC,摄像头中的图像传感器将感知的图像数据传输到摄像头中的串行器,串行器将接收的图像数据按照一定的格式封装成数据包,然后将数据包发送给MDC的解串器,解串器解析该数据包,以得到该数据包内所包括的图像数据,并将图像数据发送给MDC中的主控芯片。
视频由一定帧率的图像组成,每一帧图像由固定的行和列组成,行乘以列就是一副图像的像素数量。例如,分辨率为1080P的图像,就是由1080行和1920列组成,其像素数为1080×1920。其中的每个像素由一定数量的比特(bit)来承载,例如一个像素可以通过16比特承载,或者也可以通过其他数量的比特承载。
在进行图像传输时,除了传输图像的像素数据,还会传输两路同步信号,分别为帧同步信号和行同步信号。其中帧同步信号用于标识一个帧的开始和结束,行同步信号用于标识一个帧中的每行的开始和结束。
请参考图2,为数据包的包头和负载,图2中的一个小格子代表一个比特(bit),8个比特构成一个字节(byte)。
子类型(subtype)字段用于指示数据类型,例如RAW图像等,占用1个字节。
sv字段,即流身份号有效(stream_id valid)字段,用于指示流ID是否有效,占用1个比特。
版本(version)字段用于指示协议版本号,占用4个比特。
mr字段,即媒体时钟重启(media clock restart)字段,用于指示时钟源是否切换,占用1个比特。
rsv字段,即预留(reserved)字段,用于作为预留比特,占用2个比特。
tv字段,即时间戳有效(timestamp valid)字段,用于指示时间戳是否有效,占用1个比特。
序列号(sequence_num)字段用于指示该数据包的序列号,占用1个字节。
图2所示的包头中包括多段预留位字段,用于指示包头中预留的位置,尚未使用。
tu字段,即时间戳未确定(timestamp uncertain)字段,用于指示时间戳是否准确,占用1个比特。
其中,subtype字段、sv字段、version字段、mr字段、rsv字段、tv字段、sequence_num字段、占用7个比特的reserved字段以及tu字段,属于subtype data。
流ID(stream_id)字段用于指示该数据包所属的数据流的ID,占用8个字节。
avtp_timestamp字段用于指示当前数据包的时间戳,占用4个字节。avtp_timestamp字段属于音视频传输协议(audio video transport protocol,AVTP)时间(time),timestamp表示时间戳。
有效像素(active_pixels)字段用于指示该数据包在一帧图像中所在的行所包括的有效像素点的个数,占用2个字节。
总行数(total_line)字段用于指示该数据包所在的一帧图像所包含的行数,占用2个字节。
active_pixels字段和total_line字段属于子类型专用(subtype specific)。
流数据长度(steam_data_length(octets))字段用于指示数据包负载长度,长度单位以字节为单位。其中,octets的意思是8位组,即8个比特,1个字节。流数据长度字段占用2个字节。
ap字段,即有效像素(active pixel)字段,用于指示数据包是否包含有效像素,占用1个比特。
r字段用于表示预留字段,占用1个比特。
f字段,即域(field)字段,用于指示隔行视频负载中的一个隔行对中的第一字段和第二字段,占用1个比特。
ef字段,即帧结束(end frame)字段,用于指示帧结束,占用1个比特。其中,如果当前数据包为一帧图像中的最后一个数据包,则ef字段置1,否则ef字段置0。
evt字段,即事件(event)字段,用于预留给上层协议的指示事件使用,占用4个比特。
pd字段,即下拉(pull-down)字段,用于指示视频帧率是否降低,占用1个比特。
i字段,即交错(interlace)字段,用于指示视频源是否为隔行视频模式,占用1个比特。
steam_data_length(octets)字段、ap字段、r字段、f字段、ef字段、evt字段、pd字段、i字段以及占用6个比特的reserved字段,属于包信息(packet information)。
像素深度(pixel_depth)字段用于指示该数据包所在的一帧图像的像素的量化深度,占用4个比特。
像素格式(pixel_format)字段用于指示该数据包所在的一帧图像的类型,例如指示图像的类型为红,绿,蓝(RGB),占用4个比特。
例如,结合pixel_depth字段和pixel_format字段,可以确定该数据包所在的一帧图像为RGB888的图像。
帧率(frame_rate)字段用于指示该数据包所在的一帧图像的帧率,占用1个字节。
色彩空间(colourspace)字段用于指示该数据包所包括的内容所在的图像的色彩空间,即,指示该图像显示时的色彩组成,占用4个比特。
行数(num_lines)字段用于指示当前数据包中包含的行数,占用4个比特。当数据包所包含的行数小于1时(例如该数据包只包括一行的部分像素点),该字段置0。
占用1个字节的reserved字段、pixel_depth字段、pixel_format字段、frame_rate字段、colourspace字段、num_lines字段、占用1个字节的reserved字段、i_seq_num字段以及line_number字段,属于原始头(raw header)。
分段号(i_seq_num)字段用于指示当前数据包所包括的内容在一帧图像的一行中对应的分段号,占用1个字节。即,一帧图像的一行像素点可能会分成多个分段,一个分段承载在一个数据包中,那么这多个分段中的每个分段就会对应一个分段号,而i_seq_num字段就用于指示当前数据包所承载的像素点的分段号。当num_lines字段的取值为0时,表示一行像素点分成多个数据包传输,i_seq_num字段用于指示当前数据包在位于一行像素点中的分段号。而当num_lines大于0时,i_seq_num字段值置0。
行号(line_number)字段用于指示当前数据包所包括的像素点位于一帧图像的哪一行,占用2个字节。其中,当数据包中包括一帧图像的多行时,line_number字段用于指示这多行中的最大行号。当line_number字段的取值与total_line字段的取值相等时,说明当前帧结束。
另外,视频数据负载(video_data_payload)用于承载图像数据。
根据如上介绍可知,在接收端,可以通过ef字段的取值,以及通过判断line_number字段的取值是否等于total_line字段的取值来提取帧同步信号,另外可以通过line_number字段的取值提取行同步信号。并且,在发生丢包时,接收端可以通过line_number字段确定所丢的数据包所包括的像素点是一帧图像的哪一行,还可以通过i_seq_num字段确定丢失的数据包所包括的像素点在一帧图像的一行中的位置,从而丢包后接收端不至于使一帧图像错乱。
对于一些特殊场景来说,图2所示的数据包的包头中,实际上包括了一些冗余字段,导致封装效率降低,下面以车载场景为例进行介绍。
例如,对于车载场景来说,使用的摄像头均为高清摄像头,因此一帧图像的一行会包括较多的像素点,数据量较大,在实际应用中一般不存在一个数据包封装多行的情况,一个数据包最多只能封装一行。因此num_lines字段在车载场景下实际上是无用字段,导致封装效率降低。
又例如,如果采用图2所示的数据包的包头,可通过total_line字段和line_number字段这两个字段提取帧同步信号和行同步信号,这两个字段占用的比特数较多,开销太大,导致封装效率降低。
又例如,如果采用图2所示的数据包的包头,既可以通过ef字段提取帧同步,也可以通过total_line字段和line_number字段这两个字段提取帧同步信号,显然功能有所重复。
又例如,在车载场景下,在传输图像时,如果要将一帧图像的一行进行分段,则所划分的分段个数不会很多,例如最多可能划分为十几个分段,因此要指示一行的分段号,无需使用过多的比特就能实现。而i_seq_num字段占用的比特较多,导致开销较大,封装效率降低。
又例如,在车载场景下,一个数据包内承载的一般都是有效像素点,因此无需通过active-pixel来指示哪些是有效像素点。
又例如,在车载场景下,图像的帧率一般都是固定的,发送端和接收端都会事先配置,因此无需通过frame-rate字段指示图像的帧率。
再例如,在车载场景下,摄像头输出的一般是图像传感器直接采集的视频数据,没有色彩空间。如果由CDC输出视频数据,则发送端和接收端一般会事先配置色彩空间。因此,数据包内无需设置colourspace字段。
综上所述,对于一些特殊场景来说,图2所示的包头包括了一些冗余字段,或者说冗余比特,导致封装的开销较大。而且,数据包包括包头+负载,封装效率等于数据包中的负载占用的字节数除以该数据包的总字节数。可见,包头占用的比特数越多,数据包的总字节数就越多,相应的封装效率就会越低。
鉴于此,提供本申请实施例的技术方案。本申请实施例中,第一信息可以指示第一数据包所包括的内容所在的帧的逻辑帧号,由于是指示逻辑帧号,无需指示实际帧号,因此第一信息无需包括过多的比特,例如第一信息即使只包括一个比特,也能完成对逻辑帧号的指示。相较于已有技术来说,本申请实施例提供的技术方案能够减少包头所占用的比特数,节省传输开销,以及提高封装效率。
本申请实施例提供的技术方案所应用的通信场景,可以包括广域通信,例如包括多个基站与多个终端设备之间的通信。也可以包括车内通信场景,例如包括CDC与显示器之间的通信,或者包括摄像头与MDC之间的通信等。还可以包括车联通信场景,例如本申请实施例可以应用于自动驾驶,智能驾驶或短距离通信领域,还可应用于车联网,如车辆外联车到一切(vehicle to everything,V2X)、车间通信长期演进技术长期演进(long termevolution,LTE)-V、车辆到车辆(vehicle to vehicle,V2V)等。还可以包括局域无线通信,例如多个接入点(access point,AP)与多个站点(station)之间的通信等。
例如,将本申请实施例提供的技术方案应用于车内的通信场景,则可参考图1和图3,为本申请实施例的两种应用场景的示例。图1包括摄像头和MDC,摄像头可以作为数据包的发送端,MDC可以作为数据包的接收端。摄像头和MDC之间使用同轴线或者双绞线等电缆连接。摄像头包括图像传感器和串行器(例如,传输芯片),摄像头内的图像传感器和串行器之间的接口有移动产业处理器接口(mobile industry processor interface,MIPI)或者并口;MDC内的解串器和处理器之间通过MIPI接口或并口等接口连接。图像传感器采集的图像数据经MIPI等接口传输给串行器,串行器从MIPI接口接收图像数据,再将图像数据经线缆传输给MDC的解串器,解串器收到后将图像数据通过MIPI接口传输给处理器,处理器接收到图像数据,对图像数据的内容进行分析,然后可以做出行车决策。
图3包括CDC和显示器,CDC和显示器之间使用同轴线或者双绞线等电缆连接。CDC包括图像处理器和串行器(例如,传输芯片),处理器和串行器之间的接口有MIPI或者并口;显示屏内的解串器和屏幕之间通过MIPI接口或并口等接口连接。CDC内处理器获得的图像数据经MIPI等接口传输给串行器,串行器从MIPI接口接收图像数据,再将图像数据经线缆传输给显示器内的解串器,解串器收到后将图像数据通过MIPI接口传输给屏幕,然后可以将图像数据显示在屏幕上。
或者,如果将本申请实施例提供的技术方案应用于车内的通信场景,则不限于图1或图3所示的场景,只要两个车载设备之间通过行传输的方式传输图像,且图像的一行包括的像素点较多,就可以采用本申请实施例提供的技术方案。另外,如果将本申请实施例提供的技术方案应用于其他的广域通信或局域通信场景,则本申请实施例所应用的网络架构可以相应有所变化。
例如,将本申请实施例提供的技术方案应用于V2X通信场景,那么可参考图4A,为本申请实施例的一种应用场景。图4A包括终端设备1和终端设备2,终端设备1和终端设备2可通过侧行链路(sidelink,SL)通信。
又例如,将本申请实施例提供的技术方案应用于LTE系统或NR系统的Uu接口的通信,可参考图4B,为本申请实施例的一种应用场景。图4B包括网络设备和终端设备,网络设备和终端设备可通过Uu口通信。
再例如,将本申请实施例提供的技术方案应用于无线保真(wireless fidelity,Wi-Fi)场景,那么可参考图4C,为本申请实施例的一种应用场景。图4C包括AP和station,station可通过Wi-Fi接入AP。在图4C中,station以手机为例。
图4A和图4B也都以终端设备是手机为例,本申请实施例的终端设备不限于此。
接下来结合附图介绍本申请实施例提供的技术方案。需要注意的是,本申请实施例后文中所涉及的字段的名称以及信息的名称等均为示例,后文中的字段或信息均可以有其他名称,本申请实施例对于字段及信息的名称均不限制。
本申请实施例提供一种图像传输方法,请参见图5,为该方法的流程图。该方法可应用于图1、图3、图4A、图4B或图4C中的任一个附图所示的网络架构。
为了便于介绍,在下文中,以该方法由第一通信装置和第二通信装置执行为例。如果将本申请实施例应用在图1所示的网络架构,则下文所述的第一通信装置可以是图1所示的摄像头,第二通信装置可以是图1所示的MDC。或者,如果将本申请实施例应用在图3所示的网络架构,则下文所述的第一通信装置可以是图3所示的CDC,第二通信装置可以是图3所示的显示器。或者,如果将本申请实施例应用在图4A所示的网络架构,则下文所述的第一通信装置可以是图4A所示的终端设备1,第二通信装置可以是图4A所示的终端设备2,或者,第一通信装置可以是图4A所示的终端设备2,第二通信装置可以是图4A所示的终端设备1。或者,如果将本申请实施例应用在图4B所示的网络架构,则下文所述的第一通信装置可以是图4B所示的网络设备,第二通信装置可以是图4B所示的终端设备,或者,第一通信装置可以是图4B所示的终端设备,第二通信装置可以是图4B所示的网络设备。或者,如果将本申请实施例应用在图4C所示的网络架构,则下文所述的第一通信装置可以是图4C所示的AP,第二通信装置可以是图4C所示的站点,或者第一通信装置可以是图4C所示的站点,第二通信装置可以是图4C所示的AP。
S51、第一通信装置生成第一数据包。
第一数据包可以包括负载和包头。第一数据包的负载包括一帧图像的部分内容,例如可以包括一帧图像的一行像素点,或者可以包括一帧图像的一行像素点中的一部分(或者说包括一帧图像的一行像素点的一个分段)。为了方便表述,将第一数据包的负载所包括的内容称为第一内容。
第一数据包的包头可以包括第一信息,第一信息可指示第一内容所在的帧的逻辑帧号,以及还可以指示第一内容在一帧图像中所在的行。如果采用图2所示的数据包的包头,接收端可以通过ef字段的取值,以及通过判断line_number字段的取值是否等于total_line字段的取值来提取帧同步信号,另外可以通过line_number字段的取值提取行同步信号。而本申请实施例中,通过第一信息就能提供帧同步信号和行同步信号,因此可以认为,第一信息可以替代图2所示的包头中的ef字段、line_number字段以及total_line字段。如果采用图2所示的包头,则ef字段只能指示帧结尾,且只有包括了一帧的最后的内容的一个数据包中的ef字段才会置1,其他数据包内的ef字段都只能置0,或者,如果通过line_number字段和total_line字段提取帧同步信号,那么也只有包括了一帧的最后的内容的一个数据包中,line_number字段的取值和total_line字段的取值会相等。也就是说,对于一帧图像,接收端只能从一个数据包中提取到帧同步信号,而如果该数据包丢失,则接收端无法提取帧同步信号,也就无法确定帧结尾的位置,相应的也无法确定下一个帧开始的位置,导致图像传输混乱。但是本申请实施例中,第一信息可以指示第一内容所在的帧的逻辑帧号,那么,对于包括了同一个帧的内容的数据包来说,所包括的第一信息的取值应该都是相同的,都用于指示该帧的逻辑帧号。这样,即使在传输过程中丢失了部分数据包,但是还是有其他数据包能够被正常接收,对于接收端来说,根据接收的数据包所包括的第一信息,也能提取到帧同步信号。可见,通过本申请实施例提供的方案,能够提高帧同步的可靠性,减少因接收端无法提取帧同步信号而导致的图像混乱的情况出现。
而且本申请实施例中,第一信息指示第一内容所在的帧的逻辑帧号,逻辑帧号指的是一种帧的计数方式,记录的不是真正的帧号,是用于在一定的范围内区别不同的帧。由于是指示逻辑帧号,无需指示实际帧号,因此第一信息无需包括过多的比特,例如第一信息即使只包括一个比特,也能完成对逻辑帧号的指示。而根据前文的介绍可知,图2所示的包头是通过ef字段、line_number字段和total_line字段来指示帧尾的,可见,相较于已有技术来说,本申请实施例提供的技术方案能够减少包头所占用的比特数,节省传输开销,以及提高封装效率。
可选的,第一信息指示第一内容所包括的内容在一帧图像中所在的行,一种实现方式为,第一信息指示第一内容所包括的内容在一帧图像中的逻辑行号。逻辑行号指的是一种行的计数方式,记录的不是真正的行号,是用于在一定的范围内区别不同的行。由于是指示逻辑行号,无需指示实际行号,因此第一信息无需包括过多的比特。而根据前文的介绍可知,图2所示的包头是通过line_number字段指示行号,line_number字段占用1个字节,那么,相较于已有技术来说,本申请实施例提供的技术方案由于指示逻辑行号,无需指示实际行号,因此能够减少包头所占用的比特数,节省传输开销,以及提高封装效率。
例如,第一信息占用的比特数可以大于或等于1,且小于32。或者,对于第一信息占用的比特数不做限制,例如也可以大于或等于32。而图2所示的包头中的ef字段、line_number字段以及total_line字段共占用了33个比特,可见,本申请实施例相对于图2所示的方案来说,减少了包头占用的比特数,有助于节省传输开销,而且也可以提高封装效率。当然,这里只是对于第一信息占用的比特数的举例,实际不限于此。
第一信息指示第一内容所在的帧的逻辑帧号,以及指示第一内容所包括的内容在一帧图像中所在的行,可以有不同的实现方式,下面举例介绍。
1、第一种实现方式。
第一信息可包括帧指示信息和行号指示信息,第一数据包的包头可包括帧指示字段和行号指示字段。其中,帧指示信息可以承载在帧指示字段中,行号指示信息可以承载在行号指示字段中。例如,帧指示字段占用的比特数大于或等于1,且小于16,行号指示字段占用的比特数大于或等于1,且小于16。当然,这里只是对于帧指示字段和行号指示字段的比特数的举例,实际不限于此。例如,帧指示字段占用的比特数也可以大于或等于16,和/或,行号指示字段占用的比特数也可以大于或等于16。
在这种方式下,帧指示字段(或者说,帧指示信息)可以指示第一内容所在的帧的逻辑帧号,行号指示字段可以指示第一内容在一帧图像中所在的行,即,不同的内容可以通过不同的信息分别指示,这样可以使得指示更为明确。而且,如果采用图2所示的包头,则ef字段只能指示帧结尾,且只有包括了一帧的最后的内容的一个数据包中的ef字段才会置1,其他数据包内的ef字段都只能置0,或者,如果通过line_number字段和total_line字段提取帧同步信号,那么也只有包括了一帧的最后的内容的一个数据包中,line_number字段的取值和total_line字段的取值会相等。也就是说,对于一帧图像,接收端只能从一个数据包中提取到帧同步信号,而如果该数据包丢失,则接收端无法提取帧同步信号,也就无法确定帧结尾的位置,相应的也无法确定下一个帧开始的位置,导致图像传输混乱。但是本申请实施例中,帧指示信息可以指示第一内容所在的帧,那么,对于包括了同一个帧的内容的数据包来说,所包括的帧指示信息的取值应该都是相同的,都用于指示该帧的逻辑帧号。这样,即使在传输过程中丢失了部分数据包,但是还是有其他数据包能够被正常接收,对于接收端来说,根据接收的数据包所包括的帧指示信息,也能提取到帧同步信号。可见,通过本申请实施例提供的方案,也能提高帧同步的可靠性,减少因接收端无法提取帧同步信号而导致的图像混乱的情况出现。
而且,如果采用图2所示的数据包的包头,接收端可以通过ef字段的取值,以及通过判断line_number字段的取值是否等于total_line字段的取值来提取帧同步信号,ef字段、line_number字段和total_line字段共占用33个比特。而本申请实施例中,例如帧指示字段占用的比特数小于16,显然相较于目前的方式来说,本申请实施例提供的技术方案能够大幅减少包头所占用的比特数,从而提升封装效率。
帧指示信息要指示第一内容所在的帧的逻辑帧号,一种可选的实现方式为,帧指示信息占用1个比特,这1个比特的取值每帧翻转一次。在这种情况下,也可以将帧指示信息称为帧翻转指示信息,或者称为帧翻转指示,相应的,用于承载帧指示信息的帧指示字段也可以称为帧翻转指示字段。而帧翻转指示,可以理解为是一种逻辑帧号。例如,在传输第一帧时,包括了第一帧的数据包内的帧翻转指示的取值为“1”;之后,在传输第二帧时,包括了第一帧的数据包内的帧翻转指示的取值翻转为“0”;之后,在传输第三帧时,包括了第一帧的数据包内的帧翻转指示的取值又翻转为“1”,以此类推。这样,通过一个比特就能提取帧同步信号,能够大幅减小包头所占用的比特数。
或者,帧指示信息要指示第一内容所在的帧的逻辑帧号,另一种可选的实现方式为,帧指示信息占用的比特数大于或等于2,即,可以通过多个比特来指示逻辑帧号。例如,帧指示信息占用3个比特,那么帧指示信息最多能够指示8个帧,到第9个帧时,帧指示信息的取值恢复为初始值,重新计数。例如,在传输第一帧时,包括了第一帧的数据包内的帧指示信息的取值为“000”;之后,在传输第二帧时,包括了第二帧的数据包内的帧指示信息的取值为“001”;之后,在传输第三帧时,包括了第三帧的数据包内的帧指示信息的取值为“010”,以此类推,在传输第八帧时,包括了第八帧的数据包内的帧指示信息的取值为“111”,接下来传输第九帧,此时包括了第九帧的数据包内的帧指示信息的取值为“000”,即,帧指示信息重新开始计数。通过较多的比特来指示逻辑帧号,可以使得接收端更容易区分出不同的帧。
或者,帧指示信息也可以占用2比特,从0到3循环计数;或者,帧指示信息也可以占用16比特,从0到65535循环计数,等等。
如果采用图2所示的数据包的包头,接收端可以通过line_number字段的取值提取行同步信号,line_number字段占用16个比特。而本申请实施例中,接收端可以通过行号指示信息来提取行同步信号,例如行号指示字段占用的比特数小于16,显然相较于目前的方式来说,本申请实施例提供的技术方案能够减少包头所占用的比特数,从而提升封装效率。对于包括了一帧图像的同一行的内容的数据包来说(例如将一帧图像的一行划分为多个分段,一个数据包包括其中一个分段),所包括的行号指示信息的取值是相同的,因此,即使传输过程中发生了丢包,例如丢失了一行对应的部分数据包,但接收端还是能接收这一行对应的剩余数据包,因此接收端不至于丢失行同步信号。对于接收端来说,如果发生了丢包,则接收端能够根据行号指示字段确定丢失的数据包属于一帧图像的哪一行,从而能够保证传输中一帧图像不错行。
如果第一信息指示第一内容所包括的内容在一帧图像中的逻辑行号,那么行号指示字段(或者说,行号指示信息)就可以用于指示第一内容在一帧图像中的逻辑行号。例如,行号指示信息占用3个比特,那么行号指示信息最多能够指示8行,到第9行时,行号指示信息的取值恢复为初始值,重新计数。例如,在传输一帧图像的第一行时,包括了第一行的数据包内的行号指示信息的取值为“000”;之后,在传输第二行时,包括了第二行的数据包内的行号指示信息的取值为“001”;之后,在传输第三行时,包括了第三行的数据包内的行号指示信息的取值为“010”,以此类推,在传输第八行时,包括了第八行的数据包内的行号指示信息的取值为“111”,接下来传输第九行,此时包括了第九行的数据包内的行号指示信息的取值为“000”,即,行号指示信息重新开始计数。通过较多的比特来指示逻辑行号,可以使得接收端更容易区分出不同的行。
为了丰富包头所包括的内容,第一数据包的包头除了包括第一信息外,还可以包括其他信息。
作为一种可选的实施方式,第一数据包的包头还可以包括如下字段中的一种或多种:行分段指示字段,序列号字段,流标识字段,数据格式字段,封装业务类型字段,预留(reserved)字段,或,负载长度指示字段。例如,第一数据包的包头还可以包括行分段指示字段;或者,第一数据包的包头还可以包括序列号字段;或者,第一数据包的包头还可以包括行分段指示字段和序列号字段;或者,第一数据包的包头还可以包括行分段指示字段、序列号字段、以及流标识字段;或者,第一数据包的包头还可以包括行分段指示字段、序列号字段、流标识字段、封装业务类型字段、预留字段、负载长度指示字段、以及数据格式字段,等等。
第一数据包的包头还可以包括行分段指示字段,或者理解为,第一数据包的包头还包括行分段指示信息,行分段指示信息承载在行分段指示字段内。行分段指示信息(或者说,行分段指示字段)可指示第一数量,第一数量可指示用于指示第一内容所在的行的数据包的个数,例如第一数量就是用于指示第一内容所在的行的数据包的个数。也就是说,如果一帧图像的一行像素点较多,本申请实施例也可以将一行像素点划分为多个分段,一个数据包承载其中一个分段。那么如果第一内容所在的行被划分为了多个分段,则行分段指示字段就用于指示这多个分段的个数。例如,第一数据包承载的是一帧图像的第二行的一个分段,而第二行被划分为4个分段,那么用于承载第二行的每个数据包内的行分段指示字段就可以指示4。另外,如果将一行像素点划分为多个分段,则每段的数据量(例如,包括的像素点的个数)可以相同,或者不同的分段的数据量也可以不同。
例如对于车载场景来说,一帧图像的一行不会被划分为过多的分段,因此,要指示一行图像的分段,可能无需使用过多的比特。如果采用图2所示的数据包的包头,接收端可以通过i_seq_num字段的取值确定一个数据包的分段号,i_seq_num字段占用8个比特,这显然是一种浪费。本申请实施例中,通过行分段指示字段指示一行被划分的分段的个数,而无需指示具体的分段号,这样更能减少行分段指示字段所占用的比特数,提高封装效率。也就是说,本申请实施例是提供了另外一种指示方式(即,指示一行被划分的分段的个数),从而能够减少行分段指示字段所占用的比特数。
可选的,行分段指示字段所占用的比特数可以大于或等于2,且小于8。或者,对于行分段指示字段占用的比特数不做限制,例如也可以为1,或者也可以大于或等于8。如果采用图2所示的数据包的包头,接收端可以通过i_seq_num字段的取值确定一个数据包的分段号,i_seq_num字段占用8个比特。而本申请实施例中,接收端可以通过行分段指示字段确定一行被划分的分段数,行分段指示字段占用的比特数小于8,显然相较于目前的方式来说,本申请实施例提供的技术方案能够减少包头所占用的比特数,从而提升封装效率。
将一帧图像的一行分为多个分段,除了是因为一行像素点过多,如果放到一个数据包内可能会使得传输速度下降之外,还有可能是为了传输一些控制信息。因为两个通信装置之间除了要传输数据,可能还要传输一些控制信息,而控制信息有一定的时延要求,例如控制信息的时延要求是四分之一个数据包的传输时间。那么,可以根据控制信息的时延要求确定将一行分为多少个分段。例如,控制信息的时延要求是四分之一个数据包的传输时间,那么就可以将一行分为4个分段,在这4个分段的传输间隙,就可以传输控制信息,使得控制信息能够满足时延要求。也就是说,将一行究竟划分为多少个分段,一般来说都是相对固定的,例如可按照控制信息的时延要求来确定,例如可能是2段或4段。因此,行分段指示字段指示的分段数无需是行分段指示信息的具体取值,而是可以设置行分段指示字段的取值与所指示的数量之间的对应关系,行分段指示字段可以通过不同的取值(或者说,不同的状态)来指示不同的数量,该对应关系可以通过协议规定,或者可以由第一通信装置和第二通信装置协商。通过这种对应关系的方式,能进一步减少行分段指示字段占用的比特数。
例如,行分段指示字段占用2比特,这2比特可以作为行分段指示信息。如果这2比特的取值为“00”,表示当前数据包所在的行未分段,可以理解为,当前数据包包括的是完整的一行像素点;如果这2比特的取值为“01”,表示当前数据包所在的一行被分为2个分段,也就是说,当前数据包所在的一行承载在2个数据包中,当前数据包是其中一个数据包;如果这2比特的取值为“10”,表示当前数据包所在的一行被分为4个分段,也就是说,当前数据包所在的一行承载在4个数据包中,当前数据包是其中一个数据包;如果这2比特的取值为“11”,可以表示自定义,或者表示预留。
又例如,行分段指示字段占用4比特,这4比特可以作为行分段指示信息。如果这4比特的取值为“0000”,表示当前数据包所在的行被划分为20个分段,即1个分段,或者理解为,当前数据包所在的行未分段,即,当前数据包包括的是完整的一行像素点;如果这4比特的取值为“0001”,表示当前数据包所在的一行被分为21个分段,即2个分段,也就是说,当前数据包所在的一行承载在2个数据包中,当前数据包是其中一个数据包;如果这4比特的取值为“0010”,表示当前数据包所在的一行被分为22个分段,即4个分段,也就是说,当前数据包所在的一行承载在4个数据包中,当前数据包是其中一个数据包;如果这4比特的取值为“0011”,表示当前数据包所在的一行被分为23个分段,即8个分段,也就是说,当前数据包所在的一行承载在4个数据包中,当前数据包是其中一个数据包,以此类推,这4比特的取值每增加“1”,则对应的2的幂值就增加1,唯一例外的是,如果这4比特的取值为“1111”,可以表示自定义,或者表示预留。
第一数据包的包头还可以包括序列号字段,或者理解为,第一数据包的包头还包括序列号信息,序列号信息承载在序列号字段内。序列号字段可指示第一数据包在第一数据流中的序列号,第一数据流为第一数据包所在的数据流。例如,序列号字段占用的比特数可以大于或等于6,且小于或等于8,或者,对于序列号字段所占用的比特数不做限制,例如也可以小于6,或者也可以大于8。在本申请实施例中,可以对每个数据流内的数据包计数,不同的数据流分别计数,以区分不同的数据流。例如,图1中的摄像头向MDC传输三路图像,这三路图像认为是三个数据流,那么对于其中的每个数据流内的数据包,所包括的序列号字段都可以从初始值开始计数。通过序列号字段,第一通信装置可以对每个数据包计数,使得第一通信装置发出的每个数据包的序列号都是连续的,接收端可以根据接收的数据包的序列号字段判断传输过程中有哪些数据包丢失,根据序列号字段能够确定出丢失的数据包的位置,从而减少了接收端所接收的数据混乱的概率。
例如,对于接收端来说,可以结合接收的数据包中的序列号字段、行号指示字段和行分段指示字段,确定丢失的数据包在一帧图像的一行中的位置。例如,第一通信装置发送了数据包1、数据包2、数据包3、数据包4和数据包5,其中数据包1和数据包2的行号指示字段指示第一行,数据包3、数据包4和数据包5的行号指示字段指示第二行,数据包1和数据包2的行分段指示字段指示的个数为2,数据包3、数据包4和数据包5的行分段指示字段指示的个数为3。第二通信装置接收了数据包1、数据包2、数据包4和数据包5。那么,第二通信装置根据数据包1和数据包2的行分段指示字段确定第一行的内容已全部接收,根据数据包4和数据包5的行分段指示字段确定第二行丢失了一个数据包。另外,第二通信装置根据数据包1、数据包2、数据包4和数据包5的序列号字段,就能确定丢失的是第二行的第一个数据包。可见,本申请实施例不但能够提高封装效率,而且能够使得接收端较为明确地确定丢失的数据包的位置,从而能够防止图像乱序。
第一数据包的包头还可以包括流标识字段,或者理解为,第一数据包的包头还包括流标识信息,流标识信息承载在流标识字段内。流标识字段可指示第一数据流的标识,第一数据流是第一数据包所在的数据流。例如对于车载场景来说,传输的数据流不会太多,因此流标识字段无需占用过多的比特数就能完成对于数据流的指示。例如,流标识字段占用的比特数可以大于或等于2,且小于或等于5,或者,对于流标识字段占用的比特数不做限制,例如也可以为1,或者也可以大于5。例如,图1中的摄像头向MDC传输3路图像(例如3路高动态范围图像(high-dynamic range,HDR)图像),这3路图像认为是三个数据流,那么对于数据流1内的数据包,所包括的流标识字段可以指示数据流1,数据流,2内的数据包所包括的流标识字段可以指示数据流2,数据流3内的数据包所包括的流标识字段可以指示数据流3,从而可以区分不同的数据流。
第一数据包的包头还可以包括数据格式字段,或者理解为,第一数据包的包头还包括数据格式信息,数据格式信息承载在数据格式字段内。数据格式字段可以指示第一内容所在的一帧图像的格式以及该帧图像的像素的量化深度。例如,数据格式字段可以指示该帧图像为RGB888、RAW10或YUV422等。例如,数据格式字段占用的比特数可以大于或等于6,且小于或等于8,或者,对于数据格式字段占用的比特数不做限制,例如也可以小于6,或大于8。
第一数据包的包头还可以包括封装业务类型字段,或者理解为,第一数据包的包头还包括封装业务类型信息,封装业务类型信息承载在封装业务类型字段内。封装业务类型字段可以指示第一内容所属的业务的类型,例如视频业务。例如,封装业务类型字段占用的比特数可以大于或等于4,且小于或等于8,或者,对于封装业务类型字段所占用的比特数不做限制,例如也可以小于4,或大于8。
第一数据包的包头还可以包括预留字段,预留字段可以用作以后的扩展应用。例如,预留字段占用的比特数可以大于或等于6,且小于或等于29,或者,对于预留字段所占用的比特数不做限制,例如也可以小于6,或大于29。
第一数据包的包头还可以包括负载长度指示字段,或者理解为,第一数据包的包头还包括负载长度指示信息,负载长度指示信息承载在负载长度指示字段内。负载长度指示信息可以指示第一数据包的负载的长度,使得接收端能够根据包头获知第一数据包的负载的长度,从而获取第一数据包内的负载。例如,负载长度指示字段占用的比特数可以大于或等于16,或者,对于负载长度指示字段所占用的比特数不做限制,例如也可以小于16。
另外,第一数据包还包括负载和包尾,包尾例如为校验位,用于对第一数据包进行校验。例如包尾为循环冗余校验(cyclic redundancy check,CRC)校验。
以第一数据包的包头包括帧指示字段、行号指示字段、行分段指示字段、序列号字段、流标识字段、数据格式字段、封装业务类型字段、预留字段、以及负载长度指示字段为例,第一数据包的一种格式可参考表1。
表1
表1中,以帧指示字段是帧翻转指示字段为例。另外,流身份号(ID)字段即为流标识字段。
2、第二种实现方式。
第一信息通过联合编码方式指示第一内容所在的帧的逻辑帧号,以及指示第一内容在一帧图像中所在的行。在这种方式下,第一信息无需像第一种实现方式那样分为帧指示信息和行号指示信息,而是作为一个完整的信息,通过这一个信息就能指示第一内容所在的帧的逻辑帧号,以及指示第一内容在一帧图像中所在的行。例如在这种方式下,第一数据包内包括图像同步指示字段,图像同步指示字段可承载第一信息。
例如,第一信息占用6个比特。如果这6个比特的取值为“000000”,指示一帧开始,也指示该帧内的第一行的逻辑行号;如果这6个比特的取值为“111111”,表示一帧结束,也指示该帧内最后一行的逻辑行号;而这6个比特的取值为“000001”~“111110”,则用于指示一帧内相应的行号,例如取值为“000001”,指示该帧第二行的逻辑行号,取值为“000011”,指示该帧内第三行的逻辑行号,等等。使用联合编码的方式,使得一个信息(即,第一信息)能够指示更多的内容,提高了信息的利用率,而且使用联合编码方式更有助于减少完成同样功能的字段所占用的比特数,能够在更大程度上提高封装效率。而且第一信息有明确的状态分别指示一帧的开始和结束,即使用于指示上一帧的帧结束的数据包丢失,而接收端还可以根据接收的用于指示下一帧的帧开始的数据包确定下一帧的开始位置,也相应可以确定上一帧的结束位置。显然相较于图2所示的包头中只能通过一个数据包来确定帧尾的方案来说,本申请实施例的技术方案可以使得接收端对于帧开始和结束的确定更为可靠。
为了丰富包头所包括的内容,第一数据包的包头除了包括第一信息外,还可以包括其他信息。作为一种可选的实施方式,第一数据包的包头还可以包括如下字段中的一种或多种:行分段指示字段,序列号字段,流标识字段,数据格式字段,封装业务类型字段,预留字段,或,负载长度指示字段。关于这部分内容,可参考对于第一种实施方式的介绍。
另外,第一数据包还包括负载和包尾,包尾例如为校验位,用于对第一数据包进行校验。例如包尾为CRC校验。
以第一数据包的包头包括图像同步指示字段、行分段指示字段、序列号字段、流标识字段、数据格式字段、封装业务类型字段、预留字段、以及负载长度指示字段为例,第一数据包的一种格式可参考表2。
表2
表2中,流ID字段即为流标识字段。
3、第三种实现方式。
在这种实现方式下,第一信息除了可以指示第一内容所在的帧的逻辑帧号,以及指示第一内容在一帧图像中所在的行之外,还可以指示第一数量,第一数量用于指示第一内容所在的行的数据包的个数。例如,第一信息可以通过联合编码方式指示第一内容所在的帧的逻辑帧号、指示第一内容在一帧图像中所在的行、以及指示第一数量。在这种方式下,第一信息无需像第一种实现方式那样分为帧指示信息、行号指示信息以及行分段指示信息,也无需像第二种实现方式那样分为第一信息和行分段指示信息,而是作为一个完整的信息,通过这一个信息就能指示第一内容所在的帧的逻辑帧号、指示第一内容在一帧图像中所在的行、以及指示第一数量。例如在这种方式下,第一数据包内包括图像同步辅助指示字段,图像同步辅助指示字段可承载第一信息。
例如,第一信息占用8个bit。如果这8个比特的取值为“00000000”,则指示第一内容为第1帧的第1行的第1段;如果这8个比特的取值为“00000001”,则指示第一内容为第1帧的第1行的第2段;如果这8个比特的取值为“00000011”,则指示第一内容为第1帧的第1行的第3段;如果这8个比特的取值为“00010000”,则指示第一内容为第1帧的第2行的第1段;如果这8个比特的取值为“00010001”,则指示第一内容为第1帧的第2行的第2段;如果这8个比特的取值为“10110000”,则指示第一内容为第2帧的第3行的第1段;如果这8个比特的取值为“01110000”,则指示第一内容为第3帧的第7行的第1段,以此类推。这里所指示的帧号均为逻辑帧号,行号也均为逻辑行号。
使用联合编码的方式,使得一个信息(即,第一信息)能够指示更多的内容,提高了信息的利用率,而且第三种实施方式中,第一信息能够指示的内容更多,可以在更大程度上减少完成同样功能的字段所占用的比特数,从而在更大程度上提高封装效率。而且第一信息有明确的状态分别指示一帧的开始和结束,即使用于指示上一帧的帧结束的数据包丢失,而接收端还可以根据接收的用于指示下一帧的帧开始的数据包确定下一帧的开始位置,也相应可以确定上一帧的结束位置。显然相较于图2所示的包头中只能通过一个数据包来确定帧尾的方案来说,本申请实施例的技术方案可以使得接收端对于帧开始和结束的确定更为可靠。
为了丰富包头所包括的内容,第一数据包的包头除了包括第一信息外,还可以包括其他信息。作为一种可选的实施方式,第一数据包的包头还可以包括如下字段中的一种或多种:序列号字段,流标识字段,数据格式字段,封装业务类型字段,预留字段,或,负载长度指示字段。关于这部分内容,可参考对于第一种实施方式的介绍。
另外,第一数据包还包括负载和包尾,包尾例如为校验位,用于对第一数据包进行校验。例如包尾为CRC校验。
以第一数据包的包头包括图像同步辅助指示字段、序列号字段、流标识字段、数据格式字段、封装业务类型字段、预留字段、以及负载长度指示字段为例,第一数据包的一种格式可参考表3。
表3
表3中,流ID字段即为流标识字段。
至于第一信息究竟通过如上三种方式中的哪一种实现,可以通过协议规定,或者也可以由第一通信装置和第二通信装置协商确定,或者也可以预配置在第一通信装置和第二通信装置中。
S52、第一通信装置向第二通信装置发送第一数据包,相应的,第二通信装置接收来自第一通信装置的第一数据包。
第一通信装置生成第一数据包后,可以向第二通信装置发送第一数据包,从而第二通信装置能够接收第一数据包。而第二通信装置知晓第一数据包的封装格式,例如为表1、表2或表3所示的格式,则第二通信装置能够按照相应的封装格式对第一数据包进行解封装,从而获得第一数据包的负载,或者说获得第一内容。
本申请实施例中,第一信息可以指示第一内容所在的帧的逻辑帧号,由于是指示逻辑帧号,无需指示实际帧号,因此第一信息无需包括过多的比特,例如第一信息即使只包括一个比特,也能完成对逻辑帧号的指示。而根据前文的介绍可知,图2所示的包头是通过ef字段、line_number字段和total_line字段来指示帧尾的,可见,相较于已有技术来说,本申请实施例提供的技术方案能够减少包头所占用的比特数,节省传输开销,以及提高封装效率。另外,第一信息也可以指示第一内容在一帧内的逻辑行号,由于是指示逻辑帧号,无需指示实际行号,因此第一信息无需包括过多的比特,这也能够减少包头所占用的比特数,节省传输开销,以及提高封装效率。
以上详细说明了本申请实施例提供的方法。以下详细说明本申请实施例提供的通信装置。应理解,通信设备的实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。
本申请实施例可以对通信模块进行功能模块的划分,例如,可对应各个功能划分各个功能模块,也可将两个或两个以上的功能集成在一个功能模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
例如,以采用集成的方式划分第一通信装置各个功能模块的情况下,图6示出了本申请上述实施例中所涉及的第一通信装置600的一种可能的结构示意图。第一通信装置1000可以包括收发模块620和处理模块610。其中,处理模块610可以用于执行上述方法实施例中由第一通信装置所执行的除了发送操作和接收操作之外的全部操作和/或用于支持本文所描述的技术的其它过程。收发模块620可以用于执行上述方法实施例中由第一通信装置所执行的全部接收操作和/或发送操作,和/或用于支持本文所描述的技术的其它过程。收发模块还可以由传输模块代替,或者收发模块可以包括独立的发送模块、接收模块,并且可以用于支持本文所描述的技术的其它过程。
处理模块610,用于生成第一数据包,所述第一数据包包括一帧图像的部分内容和第一信息,所述第一信息用于指示所述部分内容所在的帧的逻辑帧号,以及用于指示所述部分内容在所述一帧图像中所在的行;
收发模块620,用于将所述第一数据包发送给第二通信装置。
作为一种可选的实施方式,所述第一信息包括帧指示信息和行号指示信息,所述帧指示信息承载在帧指示字段中,所述行号指示信息承载在行号指示字段中,其中,所述第一信息用于指示所述部分内容所在的帧的逻辑帧号,以及用于指示所述部分内容在所述一帧图像中所在的行,包括:
所述帧指示字段用于指示所述部分内容所在的帧的逻辑帧号,所述行号指示字段用于指示所述部分内容在所述一帧图像中所在的行。
作为一种可选的实施方式,所述第一信息用于指示所述部分内容所在的帧的逻辑帧号,以及用于指示所述部分内容在所述一帧图像中所在的行,包括:
所述第一信息通过联合编码方式指示所述部分内容所在的帧的逻辑帧号,以及用于指示所述部分内容在所述一帧图像中所在的行。
作为一种可选的实施方式,所述第一数据包还包括行分段指示字段,所述行分段指示字段用于指示第一数量,所述第一数量用于指示所述部分内容所在的行的数据包的个数。
作为一种可选的实施方式,所述行分段指示字段所占用的比特数大于或等于2且小于8。
作为一种可选的实施方式,所述第一信息还用于指示第一数量,所述第一数量用于指示所述部分内容所在的行的数据包的个数,其中,所述第一信息用于指示所述部分内容所在的帧的逻辑帧号、指示所述部分内容在所述一帧图像中所在的行、以及指示所述第一数量,包括:
所述第一信息通过联合编码方式指示所述部分内容所在的帧的逻辑帧号、指示所述部分内容在所述一帧图像中所在的行、以及指示所述第一数量。
作为一种可选的实施方式,所述第一信息用于指示所述部分内容在所述一帧图像中所在的行,包括:
所述第一信息用于指示所述部分内容在所述一帧图像中的逻辑行号。
作为一种可选的实施方式,所述第一数据包还包括序列号字段,所述序列号字段用于指示所述第一数据包在第一数据流中的序列号,所述第一数据流为所述第一数据包所在的数据流。
作为一种可选的实施方式,所述序列号字段占用的比特数大于或等于6且小于或等于8。
作为一种可选的实施方式,所述第一数据包还包括流标识字段,所述流标识字段用于指示所述第一数据包所在的数据流的标识。
作为一种可选的实施方式,所述流标识字段占用的比特数大于或等于2且小于或等于5。
作为一种可选的实施方式,所述第一数据包还包括数据格式字段,所述数据格式字段用于指示所述一帧图像的格式以及像素的量化深度。
关于收发模块620和处理模块610所能够完成的功能,也可参考上述的方法实施例的介绍。
图7示出了本申请上述实施例中所涉及的第二通信装置700的一种可能的结构示意图。第二通信装置700可以包括收发模块720和处理模块710。其中,处理模块710可以用于执行上述方法实施例中由第二通信装置所执行的除了发送操作和接收操作之外的全部操作和/或用于支持本文所描述的技术的其它过程。收发模块720可以用于执行上述方法实施例中由第二通信装置所执行的全部接收操作和/或发送操作,和/或用于支持本文所描述的技术的其它过程。收发模块还可以由传输模块代替,或者收发模块可以包括独立的发送模块、接收模块,并且可以用于支持本文所描述的技术的其它过程。
收发模块720,用于接收来自第一通信装置的第一数据包;
处理模块710,用于从所述第一数据包获得一帧图像的部分内容和第一信息,并根据所述第一信息确定所述部分内容所在的帧的逻辑帧号,以及确定所述部分内容在所述一帧图像中所在的行。
作为一种可选的实施方式,所述第一信息包括帧指示信息和行号指示信息,所述帧指示信息承载在帧指示字段中,所述行号指示信息承载在行号指示字段中,其中,处理模块710用于:
根据所述帧指示字段确定所述部分内容所在的帧的逻辑帧号,以及根据所述行号指示字段确定所述部分内容在所述一帧图像中所在的行。
作为一种可选的实施方式,处理模块710用于:
根据所述第一信息的联合编码方式,确定所述部分内容所在的帧的逻辑帧号,以及确定所述部分内容在所述一帧图像中所在的行。
作为一种可选的实施方式,所述第一数据包还包括行分段指示字段,所述行分段指示字段用于指示第一数量,所述第一数量用于指示所述部分内容所在的行的数据包的个数。
作为一种可选的实施方式,所述行分段指示字段所占用的比特数大于或等于2且小于8。
作为一种可选的实施方式,所述第一信息还用于指示第一数量,所述第一数量用于指示所述部分内容所在的行的数据包的个数,其中,处理模块710用于:
根据所述第一信息的联合编码方式,确定所述部分内容所在的帧的逻辑帧号、所述部分内容在所述一帧图像中所在的行、以及确定所述第一数量。
作为一种可选的实施方式,处理模块710用于:
根据所述第一信息确定所述部分内容在所述一帧图像中的逻辑行号。
作为一种可选的实施方式,所述第一数据包还包括序列号字段,所述序列号字段用于指示所述第一数据包在第一数据流中的序列号,所述第一数据流为所述第一数据包所在的数据流。
作为一种可选的实施方式,所述序列号字段占用的比特数大于或等于6且小于或等于8。
作为一种可选的实施方式,所述第一数据包还包括流标识字段,所述流标识字段用于指示所述第一数据包所在的数据流的标识。
作为一种可选的实施方式,所述流标识字段占用的比特数大于或等于2且小于或等于5。
作为一种可选的实施方式,所述第一数据包还包括数据格式字段,所述数据格式字段用于指示所述一帧图像的格式以及像素的量化深度。
关于收发模块720和处理模块710所能够完成的功能,也可参考上述的方法实施例的介绍。
图8为本申请实施例提供的第一通信装置或第二通信装置的另一种可能的结构示意图。该通信设备8可以包括至少一个处理器801、发射器802和接收器803。处理器801的功能可与处理模块610或处理模块710对应,发射器802和接收器803的功能可与收发模块620对应,或与收发模块720对应,此处不再赘述。可选的,通信设备8还可以包含存储器804,用于存储程序指令和/或数据,以供至少一个处理器801读取。
图9为本申请实施例提供的一种装置9的结构示意图。图9所示的装置9可以是第一通信装置或第二通信装置本身,或者可以是能够完成第一通信装置或第二通信装置的功能的芯片或电路,例如该芯片或电路可以设置在第一通信装置或第二通信装置中。图9所示的装置9可以包括至少一个处理器901和接口电路902。该处理器901实现上述实施例所提供的方法中所涉及的步骤。可选的,装置9还可以包括存储器903,存储器903可用于存储指令。处理器901通过执行存储器903所存储的指令,使得装置9实现上述方法实施例所提供的方法中的步骤。
进一步的,处理器901、接口电路902和存储器903之间可以通过内部连接通路互相通信,传递控制和/或数据信号。存储器903用于存储计算机程序,处理器901可以从存储器903中调用并运行计算机程序,以控制接口电路902接收信号或发送信号,或者所述处理器901通过接口电路902从存储器903中调用并运行计算机程序,以完成上述实施例所提供的方法中第一通信装置或第二通信装置执行的步骤。存储器903可以集成在处理器901中,也可以与处理器901分开设置。
可选地,若装置9为设备,接口电路902可以包括接收器和发送器。其中,接收器和发送器可以为相同的部件,或者为不同的部件。接收器和发送器为相同的部件时,可以将该部件称为收发器。
可选地,若装置9为芯片或电路,则接口电路902可以包括输入接口和输出接口,输入接口和输出接口可以是相同的接口,或者可以分别是不同的接口。
可选地,若装置9为芯片或电路,装置9也可以不包括存储器903,处理器901可以读取该芯片或电路外部的存储器中的指令(程序或代码)以实现上述实施例所提供的方法中第一通信装置或第二通信装置执行的步骤。
可选地,若装置9为芯片或电路,则装置9可以包括电阻、电容或其他相应的功能部件,处理器901或接口电路902可以通过相应的功能部件实现。
作为一种实现方式,接口电路902的功能可以考虑通过收发电路或收发的专用芯片实现。处理器901可以考虑通过专用处理芯片、处理电路、处理器或通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的第一通信装置或第二通信装置。即,将实现处理器901、接口电路902的功能的程序代码存储在存储器903中,处理器901通过执行存储器903存储的程序代码来实现处理器901、接口电路902的功能。
其中,以上列举的装置9中各模块或单元的功能和动作仅为示例性说明,装置9中各功能单元可用于上述方法实施例中第一通信装置或第二通信装置所执行的各动作或处理过程。这里为了避免赘述,省略其详细说明。
本申请实施例还提供一种通信系统,可应用于无人驾驶或智能驾驶中,其包含至少一个本申请上述实施例提到的第一通信装置或第二通信装置,该通信系统内的至少一个通信装置可以集成为一个整机或设备,或者该通信系统内的至少一个通信装置也可以独立设置为元件或装置。
再一种可选的方式,当使用软件实现第一通信装置或第二通信装置时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地实现本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriberline,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
需要说明的是,用于执行本申请实施例提供的图像传输方法的上述第一通信装置或第二通信装置中所包含的处理器可以为一个或者多个处理器,所述一个或多个处理器可以是中央处理器(central processing unit,CPU)、通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。或者,如果第一通信装置或第二通信装置是处理装置,那么处理装置可以是CPU、通用处理器、DSP、ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理装置也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。
结合本申请实施例所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)存储器、可擦除可编程只读存储器(erasable programmable read-onlymemory,EPROM)、电可擦除可编程只读存储器(electrically erasable programmableread-only memory,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(compact disc read-onlymemory,CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于第一装置中。当然,处理器和存储介质也可以作为分立组件存在于第一通信装置、第二通信装置、第三通信装置或第四通信装置中。
可以理解的是,图6~图9仅仅示出了第一通信装置或第二通信装置的简化设计。在实际应用中,第一通信装置或第二通信装置可以包含任意数量的发射器,接收器,处理器,控制器,存储器或其他可能存在的元件。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。
Claims (67)
1.一种图像传输方法,其特征在于,包括:
第一通信装置生成第一数据包,所述第一数据包包括一帧图像的部分内容和第一信息,所述第一信息用于指示所述部分内容所在的帧的逻辑帧号,以及用于指示所述部分内容在所述一帧图像中所在的行;
所述第一通信装置将所述第一数据包发送给第二通信装置;
其中,所述第一信息包括帧指示信息,所述帧指示信息承载在帧指示字段中,所述第一信息用于指示所述部分内容所在的帧的逻辑帧号,包括:
所述帧指示字段用于指示所述部分内容所在的帧的逻辑帧号,其中所述帧指示字段为帧翻转指示字段,所述帧指示信息用于提供帧同步信号。
2.根据权利要求1所述的方法,其特征在于,所述第一信息用于提供帧同步信号和行同步信号。
3.根据权利要求1或2所述的方法,其特征在于,所述第一信息包括行号指示信息,所述行号指示信息承载在行号指示字段中,其中,所述第一信息用于指示所述部分内容在所述一帧图像中所在的行,包括:
所述行号指示字段用于指示所述部分内容在所述一帧图像中所在的行。
4.根据权利要求1或2所述的方法,其特征在于,所述帧翻转指示字段占用1个比特,所述1个比特的取值每帧翻转一次。
5.根据权利要求3所述的方法,其特征在于,所述行号指示字段用于提供行同步信号,且一帧图像的同一行的内容的数据包所包括的行号指示字段的取值是相同的。
6.根据权利要求5所述的方法,其特征在于,所述行号指示字段占用3个比特。
7.根据权利要求1、2、或5~6任一项所述的方法,其特征在于,所述第一信息用于指示所述部分内容在所述一帧图像中所在的行,包括:
所述第一信息用于指示所述部分内容在所述一帧图像中的逻辑行号。
8.根据权利要求1所述的方法,其特征在于,所述第一信息用于指示所述部分内容所在的帧的逻辑帧号,以及用于指示所述部分内容在所述一帧图像中所在的行,包括:
所述第一信息通过联合编码方式指示所述部分内容所在的帧的逻辑帧号,以及用于指示所述部分内容在所述一帧图像中所在的行。
9.根据权利要求1、2、5~6或8任一项所述的方法,其特征在于,所述第一数据包包括负载和包头,所述负载包括所述一帧图像的部分内容,所述包头包括所述第一信息。
10.根据权利要求9所述的方法,其特征在于,所述第一数据包的包头还包括行分段指示字段,所述行分段指示字段用于指示第一数量,所述第一数量用于指示所述部分内容所在的行的数据包的个数。
11.根据权利要求10所述的方法,其特征在于,所述行分段指示字段所占用的比特数大于或等于2且小于8。
12.根据权利要求9所述的方法,其特征在于,所述第一数据包的包头还包括序列号字段,所述序列号字段用于指示所述第一数据包在第一数据流中的序列号,所述第一数据流为所述第一数据包所在的数据流。
13.根据权利要求12所述的方法,其特征在于,所述序列号字段占用的比特数小于6。
14.根据权利要求9所述的方法,其特征在于,所述第一数据包的包头还包括流标识字段,所述流标识字段用于指示所述第一数据包所在的数据流的标识。
15.根据权利要求14所述的方法,其特征在于,所述流标识字段占用的比特数为5。
16.根据权利要求9所述的方法,其特征在于,所述第一数据包还包括数据格式字段,所述数据格式字段用于指示所述一帧图像的格式以及像素的量化深度。
17.一种图像传输方法,其特征在于,包括:
第二通信装置接收来自第一通信装置的第一数据包;
所述第二通信装置从所述第一数据包获得一帧图像的部分内容和第一信息,并根据所述第一信息确定所述部分内容所在的帧的逻辑帧号,以及确定所述部分内容在所述一帧图像中所在的行;
其中,所述第一信息包括帧指示信息,所述帧指示信息承载在帧指示字段中,根据所述第一信息确定所述部分内容所在的帧的逻辑帧号,包括:
根据所述帧指示字段确定所述部分内容所在的帧的逻辑帧号,其中所述帧指示字段为帧翻转指示字段,所述帧指示信息用于提供帧同步信号。
18.根据权利要求17所述的方法,其特征在于,所述第一信息用于提供帧同步信号和行同步信号。
19.根据权利要求17或18所述的方法,其特征在于,所述第一信息包括行号指示信息,所述行号指示信息承载在行号指示字段中,其中,根据所述第一数据包所包括的第一信息确定所述部分内容在所述一帧图像中所在的行,包括:
根据所述行号指示字段确定所述部分内容在所述一帧图像中所在的行。
20.根据权利要求17或18所述的方法,其特征在于,所述帧翻转指示字段占用1个比特,所述1个比特的取值每帧翻转一次。
21.根据权利要求19所述的方法,其特征在于,所述行号指示字段用于提供行同步信号,且一帧图像的同一行的内容的数据包所包括的行号指示字段的取值是相同的。
22.根据权利要求21所述的方法,其特征在于,所述行号指示字段占用3个比特。
23.根据权利要求17、18、或21~22任一项所述的方法,其特征在于,所述第一信息用于指示所述部分内容在所述一帧图像中所在的行,包括:
所述第一信息用于指示所述部分内容在所述一帧图像中的逻辑行号。
24.根据权利要求17所述的方法,其特征在于,根据所述第一数据包所包括的第一信息确定所述部分内容所在的帧的逻辑帧号,以及确定所述部分内容在所述一帧图像中所在的行,包括:
根据所述第一信息的联合编码方式,确定所述部分内容所在的帧的逻辑帧号,以及确定所述部分内容在所述一帧图像中所在的行。
25.根据权利要求17、18、21~22或24任一项所述的方法,其特征在于,所述第一数据包包括负载和包头,所述负载包括所述一帧图像的部分内容,所述包头包括所述第一信息。
26.根据权利要求25所述的方法,其特征在于,所述第一数据包的包头还包括行分段指示字段,所述行分段指示字段用于指示第一数量,所述第一数量用于指示所述部分内容所在的行的数据包的个数。
27.根据权利要求26所述的方法,其特征在于,所述行分段指示字段所占用的比特数大于或等于2且小于8。
28.根据权利要求25所述的方法,其特征在于,所述第一数据包的包头还包括序列号字段,所述序列号字段用于指示所述第一数据包在第一数据流中的序列号,所述第一数据流为所述第一数据包所在的数据流。
29.根据权利要求28所述的方法,其特征在于,所述序列号字段占用的比特数小于6。
30.根据权利要求25所述的方法,其特征在于,所述第一数据包的包头还包括流标识字段,所述流标识字段用于指示所述第一数据包所在的数据流的标识。
31.根据权利要求30所述的方法,其特征在于,所述流标识字段占用的比特数为5。
32.根据权利要求25所述的方法,其特征在于,所述第一数据包还包括数据格式字段,所述数据格式字段用于指示所述一帧图像的格式以及像素的量化深度。
33.一种通信装置,其特征在于,包括:
处理模块,用于生成第一数据包,所述第一数据包包括一帧图像的部分内容和第一信息,所述第一信息用于指示所述部分内容所在的帧的逻辑帧号,以及用于指示所述部分内容在所述一帧图像中所在的行;
收发模块,用于将所述第一数据包发送给第二通信装置;
其中,所述第一信息包括帧指示信息,所述帧指示信息承载在帧指示字段中,所述第一信息用于指示所述部分内容所在的帧的逻辑帧号,包括:
所述帧指示字段用于指示所述部分内容所在的帧的逻辑帧号,其中所述帧指示字段为帧翻转指示字段,所述帧指示信息用于提供帧同步信号。
34.根据权利要求33所述的通信装置,其特征在于,所述第一信息用于提供帧同步信号和行同步信号。
35.根据权利要求33或34所述的通信装置,其特征在于,所述第一信息包括行号指示信息,所述行号指示信息承载在行号指示字段中,其中,所述第一信息用于指示所述部分内容在所述一帧图像中所在的行,包括:
所述行号指示字段用于指示所述部分内容在所述一帧图像中所在的行。
36.根据权利要求33或34所述的通信装置,其特征在于,所述帧翻转指示字段占用1个比特,所述1个比特的取值每帧翻转一次。
37.根据权利要求35所述的通信装置,其特征在于,所述行号指示字段用于提供行同步信号,且一帧图像的同一行的内容的数据包所包括的行号指示字段的取值是相同的。
38.根据权利要求37所述的通信装置,其特征在于,所述行号指示字段占用3个比特。
39.根据权利要求33、34、或37~38任一项所述的通信装置,其特征在于,所述第一信息用于指示所述部分内容在所述一帧图像中所在的行,包括:
所述第一信息用于指示所述部分内容在所述一帧图像中的逻辑行号。
40.根据权利要求33所述的通信装置,其特征在于,所述第一信息用于指示所述部分内容所在的帧的逻辑帧号,以及用于指示所述部分内容在所述一帧图像中所在的行,包括:
所述第一信息通过联合编码方式指示所述部分内容所在的帧的逻辑帧号,以及用于指示所述部分内容在所述一帧图像中所在的行。
41.根据权利要求33、34、37~38或40任一项所述的通信装置,其特征在于,所述第一数据包包括负载和包头,所述负载包括所述一帧图像的部分内容,所述包头包括所述第一信息。
42.根据权利要求41任一项所述的通信装置,其特征在于,所述第一数据包的包头还包括行分段指示字段,所述行分段指示字段用于指示第一数量,所述第一数量用于指示所述部分内容所在的行的数据包的个数。
43.根据权利要求42所述的通信装置,其特征在于,所述行分段指示字段所占用的比特数大于或等于2且小于8。
44.根据权利要求41所述的通信装置,其特征在于,所述第一数据包的包头还包括序列号字段,所述序列号字段用于指示所述第一数据包在第一数据流中的序列号,所述第一数据流为所述第一数据包所在的数据流。
45.根据权利要求44所述的通信装置,其特征在于,所述序列号字段占用的比特数小于6。
46.根据权利要求41所述的通信装置,其特征在于,所述第一数据包的包头还包括流标识字段,所述流标识字段用于指示所述第一数据包所在的数据流的标识。
47.根据权利要求46所述的通信装置,其特征在于,所述流标识字段占用的比特数为5。
48.根据权利要求41所述的通信装置,其特征在于,所述第一数据包还包括数据格式字段,所述数据格式字段用于指示所述一帧图像的格式以及像素的量化深度。
49.一种通信装置,其特征在于,包括:
收发模块,用于接收来自第一通信装置的第一数据包;
处理模块,用于从所述第一数据包获得一帧图像的部分内容和第一信息,并根据所述第一信息确定所述部分内容所在的帧的逻辑帧号,以及确定所述部分内容在所述一帧图像中所在的行;
其中,所述第一信息包括帧指示信息,所述帧指示信息承载在帧指示字段中,所述处理模块用于:
根据所述帧指示字段确定所述部分内容所在的帧的逻辑帧号,其中所述帧指示字段为帧翻转指示字段,所述帧指示信息用于提供帧同步信号。
50.根据权利要求49所述的通信装置,其特征在于,所述第一信息用于提供帧同步信号和行同步信号。
51.根据权利要求49或50所述的通信装置,其特征在于,所述第一信息包括行号指示信息,所述行号指示信息承载在行号指示字段中,其中,所述处理模块用于:
根据所述行号指示字段确定所述部分内容在所述一帧图像中所在的行。
52.根据权利要求49或50所述的通信装置,其特征在于,所述帧翻转指示字段占用1个比特,所述1个比特的取值每帧翻转一次。
53.根据权利要求51所述的通信装置,其特征在于,所述行号指示字段用于提供行同步信号,且一帧图像的同一行的内容的数据包所包括的行号指示字段的取值是相同的。
54.根据权利要求53所述的通信装置,其特征在于,所述行号指示字段占用3个比特。
55.根据权利要求49、50、或53~54任一项所述的通信装置,其特征在于,所述第一信息用于指示所述部分内容在所述一帧图像中所在的行,包括:
所述第一信息用于指示所述部分内容在所述一帧图像中的逻辑行号。
56.根据权利要求49所述的通信装置,其特征在于,所述处理模块用于根据所述第一信息的联合编码方式,确定所述部分内容所在的帧的逻辑帧号,以及确定所述部分内容在所述一帧图像中所在的行。
57.根据权利要求56所述的通信装置,其特征在于,所述第一数据包包括负载和包头,所述负载包括所述一帧图像的部分内容,所述包头包括所述第一信息。
58.根据权利要求57所述的通信装置,其特征在于,所述第一数据包的包头还包括行分段指示字段,所述行分段指示字段用于指示第一数量,所述第一数量用于指示所述部分内容所在的行的数据包的个数。
59.根据权利要求58所述的通信装置,其特征在于,所述行分段指示字段所占用的比特数大于或等于2且小于8。
60.根据权利要求57~59任一项所述的通信装置,其特征在于,所述第一数据包的包头还包括序列号字段,所述序列号字段用于指示所述第一数据包在第一数据流中的序列号,所述第一数据流为所述第一数据包所在的数据流。
61.根据权利要求60所述的通信装置,其特征在于,所述序列号字段占用的比特数小于6。
62.根据权利要求57所述的通信装置,其特征在于,所述第一数据包还包括流标识字段,所述流标识字段用于指示所述第一数据包所在的数据流的标识。
63.根据权利要求62所述的通信装置,其特征在于,所述流标识字段占用的比特数为5。
64.根据权利要求57所述的通信装置,其特征在于,所述第一数据包还包括数据格式字段,所述数据格式字段用于指示所述一帧图像的格式以及像素的量化深度。
65.一种通信装置,其特征在于,包括:处理器,所述处理器和存储器耦合;所述存储器用于存储一个或多个计算机程序,所述一个或多个计算机程序包括计算机执行指令,当所述通信装置运行时,所述处理器执行所述存储器存储的所述一个或多个计算机程序,以使得所述通信装置执行如权利要求1~16中任一项所述的方法,或使得所述通信装置执行如权利要求17~32中任一项所述的方法。
66.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1~16中任一项所述的方法,或使得所述计算机执行如权利要求17~32中任一项所述的方法。
67.一种芯片,其特征在于,所述芯片包括:
处理器和通信接口,所述处理器用于从所述通信接口调用并运行指令,当所述处理器执行所述指令时,实现如权利要求1~16中任一项所述的方法,或实现如权利要求17~32中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/112323 WO2022041164A1 (zh) | 2020-08-29 | 2020-08-29 | 一种图像传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116018799A CN116018799A (zh) | 2023-04-25 |
CN116018799B true CN116018799B (zh) | 2024-02-13 |
Family
ID=80352441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080103381.XA Active CN116018799B (zh) | 2020-08-29 | 2020-08-29 | 一种图像传输方法及装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230224349A1 (zh) |
EP (1) | EP4195625A4 (zh) |
JP (1) | JP2023539315A (zh) |
KR (1) | KR20230052980A (zh) |
CN (1) | CN116018799B (zh) |
WO (1) | WO2022041164A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119490A (zh) * | 2006-08-02 | 2008-02-06 | 索尼株式会社 | 图像信号处理装置和图像信号处理方法 |
CN106973188A (zh) * | 2017-04-11 | 2017-07-21 | 北京图森未来科技有限公司 | 一种图像传输装置和方法 |
CN107888945A (zh) * | 2017-11-22 | 2018-04-06 | 豪威科技(上海)有限公司 | 一种图像传输方法及系统 |
CN109649437A (zh) * | 2018-12-31 | 2019-04-19 | 河南思维自动化设备股份有限公司 | 一种铁路车站计算机联锁信息传输方法和系统 |
CN110855852A (zh) * | 2019-12-03 | 2020-02-28 | 深圳市沃特沃德股份有限公司 | 多通道图像数据的输出方法、装置及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231728A (zh) * | 2011-05-16 | 2011-11-02 | 铁道部运输局 | 列车控制数据的通信方法、设备及系统 |
KR20130067665A (ko) * | 2011-12-14 | 2013-06-25 | 삼성테크윈 주식회사 | 이더넷 기반 디지털 영상 송수신 시스템 |
WO2017094318A1 (ja) * | 2015-12-03 | 2017-06-08 | ソニー株式会社 | フレーム生成装置、フレーム生成方法、画像復元装置、画像復元方法、画像伝送システムおよび画像伝送方法 |
US10541933B2 (en) * | 2016-11-10 | 2020-01-21 | Disney Enterprises, Inc. | Systems and methods for aligning frames of a digital video content in IP domain |
KR20180076725A (ko) * | 2016-12-28 | 2018-07-06 | 현대자동차주식회사 | 차량을 이용한 데이터 전송 시스템 및 그 제어 방법 |
CN109996306B (zh) * | 2017-12-29 | 2022-02-25 | 华为技术有限公司 | 通信方法和通信设备 |
-
2020
- 2020-08-29 CN CN202080103381.XA patent/CN116018799B/zh active Active
- 2020-08-29 KR KR1020237010016A patent/KR20230052980A/ko active Search and Examination
- 2020-08-29 EP EP20950834.0A patent/EP4195625A4/en active Pending
- 2020-08-29 WO PCT/CN2020/112323 patent/WO2022041164A1/zh unknown
- 2020-08-29 JP JP2023513833A patent/JP2023539315A/ja active Pending
-
2023
- 2023-02-27 US US18/175,166 patent/US20230224349A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119490A (zh) * | 2006-08-02 | 2008-02-06 | 索尼株式会社 | 图像信号处理装置和图像信号处理方法 |
CN106973188A (zh) * | 2017-04-11 | 2017-07-21 | 北京图森未来科技有限公司 | 一种图像传输装置和方法 |
CN107888945A (zh) * | 2017-11-22 | 2018-04-06 | 豪威科技(上海)有限公司 | 一种图像传输方法及系统 |
CN109649437A (zh) * | 2018-12-31 | 2019-04-19 | 河南思维自动化设备股份有限公司 | 一种铁路车站计算机联锁信息传输方法和系统 |
CN110855852A (zh) * | 2019-12-03 | 2020-02-28 | 深圳市沃特沃德股份有限公司 | 多通道图像数据的输出方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4195625A4 (en) | 2023-09-27 |
EP4195625A1 (en) | 2023-06-14 |
KR20230052980A (ko) | 2023-04-20 |
WO2022041164A1 (zh) | 2022-03-03 |
JP2023539315A (ja) | 2023-09-13 |
CN116018799A (zh) | 2023-04-25 |
US20230224349A1 (en) | 2023-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230131345A1 (en) | User equipment and method for sidelink communication in unlicensed frequency spectrum by same | |
US20150326941A1 (en) | Software based wireless channel-aware adaptive video bit rate encoding | |
CN110740481B (zh) | 基于服务质量的数据处理方法、设备和计算机存储介质 | |
US20220140937A1 (en) | Information indication and determination methods and apparatuses | |
CN113287329B (zh) | 一种数据传输的方法及装置 | |
US11902706B2 (en) | Method for transmitting high bandwidth camera data through SerDes links | |
US20210345009A1 (en) | Method and device, equipment, and storage medium for data processing | |
CN111669262A (zh) | 数据发送的方法、装置、电子设备及介质 | |
WO2021087682A1 (zh) | 下行控制信息dci下发方法及装置、通信设备及存储介质 | |
CN116018799B (zh) | 一种图像传输方法及装置 | |
CN113141520B (zh) | 视频流传输方法、装置、电子设备及存储介质 | |
CN113132552B (zh) | 视频流处理方法及装置 | |
CN111711580A (zh) | 数据发送的方法、装置、电子设备及介质 | |
CN113196720B (zh) | 数据处理方法及传输设备、数据处理系统 | |
US9485333B2 (en) | Method and apparatus for network streaming | |
WO2021212509A1 (zh) | 一种确定辅助信息资源块的方法及装置 | |
CN106851134B (zh) | 传输图像数据的方法、装置及系统 | |
CN112436919A (zh) | 流数据传输方法、装置、设备及计算机可读存储介质 | |
US10268626B2 (en) | Data processing device, data processing system and method | |
EP2736220B1 (en) | Method and apparatus for network streaming | |
CN114513523B (zh) | 数据同步方法、装置、设备及存储介质 | |
RU2796639C1 (ru) | Способ и устройство для передачи управляющей информации нисходящей линии связи (DCI), устройство связи и носитель информации | |
RU2791870C1 (ru) | Способ и устройство для индикации и определения информации, устройство связи и носитель информации | |
WO2024060991A1 (zh) | 一种多路径的数据流引流方法及装置 | |
CN109451796B (zh) | 传输上行业务数据的方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |