CN112187369A - 传感器数据编码方法和装置、电子设备及存储介质 - Google Patents
传感器数据编码方法和装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112187369A CN112187369A CN202011054583.8A CN202011054583A CN112187369A CN 112187369 A CN112187369 A CN 112187369A CN 202011054583 A CN202011054583 A CN 202011054583A CN 112187369 A CN112187369 A CN 112187369A
- Authority
- CN
- China
- Prior art keywords
- data
- segment
- coding
- signal
- coded
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/50—Transmitters
- H04B10/516—Details of coding or modulation
- H04B10/524—Pulse modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
- H04L25/4902—Pulse width modulation; Pulse position modulation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Electromagnetism (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
- Optical Radar Systems And Details Thereof (AREA)
Abstract
本申请涉及一种传感器数据编码方法,包括:获取传感器探测到的信号数据;按时间顺序检测所述信号数据中的持续零数据片段,根据持续零数据片段生成对应的偏移编码数据;获取持续零数据片段之后的非零数据起始位置作为编码片段起始位置,从编码片段起始位置开始查找编码片段结束位置,对编码片段起始位置与编码片段结束位置之间的信号数据进行编码得到片段编码数据;返回按时间顺序检测信号数据中的持续零数据片段的步骤,得到对应的多个偏移编码数据和片段编码数据,直至信号数据完成编码;各个偏移编码数据和片段编码数据组成信号数据对应的目标编码数据,提高了传感器数据传输效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种传感器数据编码方法和装置、电子设备以及计算机可读存储介质。
背景技术
近年来,随着计算机技术的发展,飞行时间(ToF,Time of Flight)传感器运用于各个领域。传感器采集的数据量大是限制传感器高帧率采样的一个很大因素,如对于单光子雪崩二极管(SPAD,Single Photon Avalanche Diode)阵列来说,一个60X80像素的SPAD阵列产生的数据量可以达到39,321,600bps,这样的数据量对于1Gbps的高速移动产业处理器接口(MIPI,Mobile Industry Processor Interface)总线来说最大也就只能传输27帧。因此,在数据传输过程中不仅仅占用了巨大的数据带宽而且会影响数据采样效率,这会成为传感器高帧率采样的瓶颈,如何解决这一瓶颈是个重要的问题。
发明内容
本申请实施例提供一种传感器数据编码方法和装置、电子设备以及计算机可读存储介质,提供高效的编码传输方式,提高了传感器数据传输效率。
一种传感器数据编码方法,包括:
获取传感器探测到的信号数据;
按时间顺序检测所述信号数据中的持续零数据片段,根据所述持续零数据片段生成对应的偏移编码数据;
获取所述持续零数据片段之后的非零数据起始位置作为编码片段起始位置,从所述编码片段起始位置开始查找编码片段结束位置,对编码片段起始位置与编码片段结束位置之间的信号数据进行编码得到片段编码数据;
返回所述按时间顺序检测所述信号数据中的持续零数据片段的步骤,得到对应的多个偏移编码数据和片段编码数据,直至所述信号数据完成编码;
各个偏移编码数据和片段编码数据组成所述信号数据对应的目标编码数据。
一种传感器数据编码装置,包括:
获取模块,用于获取传感器探测到的信号数据;
偏移编码数据生成模块,用于按时间顺序检测所述信号数据中的持续零数据片段,根据所述持续零数据片段生成对应的偏移编码数据;
片段编码数据生成模块,用于获取所述持续零数据片段之后的非零数据起始位置作为编码片段起始位置,从所述编码片段起始位置开始查找编码片段结束位置,对编码片段起始位置与编码片段结束位置之间的信号数据进行编码得到片段编码数据;
目标编码数据确定模块,用于返回所述偏移编码数据生成模块,得到对应的多个偏移编码数据和片段编码数据,直至所述信号数据完成编码,各个偏移编码数据和片段编码数据组成所述信号数据对应的目标编码数据。
一种电子设备,包括存储器以及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取传感器探测到的信号数据;
按时间顺序检测所述信号数据中的持续零数据片段,根据所述持续零数据片段生成对应的偏移编码数据;
获取所述持续零数据片段之后的非零数据起始位置作为编码片段起始位置,从所述编码片段起始位置开始查找编码片段结束位置,对编码片段起始位置与编码片段结束位置之间的信号数据进行编码得到片段编码数据;
返回所述按时间顺序检测所述信号数据中的持续零数据片段的步骤,得到对应的多个偏移编码数据和片段编码数据,直至所述信号数据完成编码;
各个偏移编码数据和片段编码数据组成所述信号数据对应的目标编码数据。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
获取传感器探测到的信号数据;
按时间顺序检测所述信号数据中的持续零数据片段,根据所述持续零数据片段生成对应的偏移编码数据;
获取所述持续零数据片段之后的非零数据起始位置作为编码片段起始位置,从所述编码片段起始位置开始查找编码片段结束位置,对编码片段起始位置与编码片段结束位置之间的信号数据进行编码得到片段编码数据;
返回所述按时间顺序检测所述信号数据中的持续零数据片段的步骤,得到对应的多个偏移编码数据和片段编码数据,直至所述信号数据完成编码;
各个偏移编码数据和片段编码数据组成所述信号数据对应的目标编码数据。
上述传感器数据编码方法、装置、电子设备以及计算机可读存储介质,获取传感器探测到的信号数据,按时间顺序检测信号数据中的持续零数据片段,根据持续零数据片段生成对应的偏移编码数据;获取持续零数据片段之后的非零数据起始位置作为编码片段起始位置,从编码片段起始位置开始查找编码片段结束位置,对编码片段起始位置与编码片段结束位置之间的信号数据进行编码得到片段编码数据;返回按时间顺序检测所述信号数据中的持续零数据片段的步骤,得到对应的多个偏移编码数据和片段编码数据,直至信号数据完成编码,各个偏移编码数据和片段编码数据组成信号数据对应的目标编码数据,持续零数据片段的数据本身无需编码,只需生成偏移编码数据,通过各个偏移编码数据和片段编码数据,可将编码后的数据量降低到原始数据的10%甚至1%以下,在传输速度不变的情况下,将数据传输效率增强10倍100倍以上的同时,也降低了对传输数据总线的压力,解决了高分辨率高采样率的传感器的数据带宽问题,达到高效且无损的数据传输效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中传感器数据编码方法的应用环境图;
图2为一个实施例中传感器数据编码方法的流程示意图;
图3为一个实施例中信号统计直方图示意图;
图4为一个实施例中传感器和上位机内部传输层示意图;
图5为一个实施例中信号数据与编码数据示意图;
图6为一个实施例中传感器数据编码装置的结构框图;
图7为一个实施例中电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中传感器数据编码方法的应用环境图。如图1所示,该应用环境包括传感器110和上位机120,传感器110获取探测到的信号数据,按时间顺序检测信号数据中的持续零数据片段,根据持续零数据片段生成对应的偏移编码数据;获取持续零数据片段之后的非零数据起始位置作为编码片段起始位置,从编码片段起始位置开始查找编码片段结束位置,对编码片段起始位置与编码片段结束位置之间的信号数据进行编码得到片段编码数据;返回按时间顺序检测所述信号数据中的持续零数据片段的步骤,得到对应的多个偏移编码数据和片段编码数据,直至信号数据完成编码;各个偏移编码数据和片段编码数据组成所述信号数据对应的目标编码数据,目标编码数据可以从传感器110发送至上位机120,上位机120通过解码得到对应的解码数据,并可以进行展示。其中传感器110可以为ToF传感器等不同类型的产生数字信号的传感器,上位机120可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、车载电脑、穿戴式设备等终端设备。
图2为一个实施例中传感器数据编码方法的流程图。图2所示的传感器数据编码方法可应用于上述传感器110中,包括:
步骤202,获取传感器探测到的信号数据。
具体地,通过激光发射器发射激光经目标物体反射后由传感器接收,传感器将光信号转化为电信号,得到信号数据。传感器探测到的信号数据可以用单个比特0,1来表示,比如10进制的100可以用二进制的110,0100去表示;信号数据可以用统计直方图进行表示,直方图包括时间信息和与时间信息对应的信号强度信息。正常情况下,传感器输出的有效信号数据相对较集中,且信号强度为0的数据占到整个直方图数据的50%以上。
步骤204,按时间顺序检测信号数据中的持续零数据片段,根据持续零数据片段生成对应的偏移编码数据。
具体地,持续零数据片段是指信号强度持续为零的数据片段,这部分数据无需编码,只需要记录持续零数据片段的结束位置,得到持续零数据片段对应的偏移值,或记录非零数据的起始位置,得到非零数据对应的偏移值,传输的两边对未编码的数据默认为零,则可在解码端根据偏移值确定持续零数据片段的结束位置或非零数据的起始位置。偏移编码数据可以是相对位置,即每个持续零数据片段的持续时长,或者绝对位置,如持续零数据片段的结束位置索引值或持续零数据片段的下一个首个非零信号强度的位置索引值。
步骤206,获取持续零数据片段之后的非零数据起始位置作为编码片段起始位置,从编码片段起始位置开始查找编码片段结束位置,对编码片段起始位置与编码片段结束位置之间的信号数据进行编码得到片段编码数据。
具体地,持续零数据片段之后的首个非零信号强度所在的位置即为编码片段起始位置,编码片段结束位置可以是根据预设编码片段范围确定的,或根据下一个零信号强度所在的位置确定的,其中预设编码片段范围可以是自定义的范围,也可以是根据激光发射器的脉宽计算确定。编码片段起始位置与编码片段结束位置之间的信号数据就是需要进行编码的非零数据,可选择查表或者霍夫曼等多种算法中的其中一种进行编码。
步骤208,返回步骤204,得到对应的多个偏移编码数据和片段编码数据,直至信号数据完成编码,各个偏移编码数据和片段编码数据组成信号数据对应的目标编码数据。
具体地,当第一个非零数据片段编码完毕,得到第一偏移编码数据和第一片段编码数据后,后面可接着另一个持续零数据片段和非零数据片段,继续通过以上的方式进行编码,得到第二偏移编码数据和第二片段编码数据,循环上述编码步骤,直到信号数据完成编码,各个偏移编码数据和片段编码数据组成信号数据对应的目标编码数据。可以通过数据传输协议,将目标编码数据从传感器传输至上位机。
在一个实施例中,上位机对目标编码数据进行解码,得到解码数据,检测解码数据中信号强度最大值对应的目标时间,通过目标时间计算待测物体的距离,从而根据待测物体的距离生成深度图。
本实施例中的传感器数据编码方法,获取传感器探测到的信号数据,按时间顺序检测信号数据中的持续零数据片段,根据持续零数据片段生成对应的偏移编码数据;获取持续零数据片段之后的非零数据起始位置作为编码片段起始位置,从编码片段起始位置开始查找编码片段结束位置,对编码片段起始位置与编码片段结束位置之间的信号数据进行编码得到片段编码数据;返回按时间顺序检测所述信号数据中的持续零数据片段的步骤,得到对应的多个偏移编码数据和片段编码数据,直至信号数据完成编码,各个偏移编码数据和片段编码数据组成信号数据对应的目标编码数据,持续零数据片段的数据本身无需编码,只需生成偏移编码数据,通过各个偏移编码数据和片段编码数据,可将编码后的数据量降低到原始数据的10%甚至1%以下,在传输速度不变的情况下,将数据传输效率增强10倍100倍以上的同时,也降低了对传输数据总线的压力,解决了高分辨率高采样率的传感器的数据带宽问题,达到高效且无损的数据传输效果。
在一个实施例中,传感器为飞行时间传感器,信号数据为直方图数据,包括时间信息和对应的信号强度信息。
具体地,单光子雪崩二极管(SPAD,Single Photon Avalanche Diode)是一种具有高增益、高灵敏度等优点的探测器。SPAD输出的信号强度一般会用统计直方图(Histogram)表示;Histogram的样例如图3所示,横坐标为时间箱(timebin),纵坐标为信号强度。柱状图中的每个方形图表示的是一个时间箱(timebin)对应的信号强度。时间/数字转换器(TDC,Time-to-Digital Converter)是与SPAD搭配使用的一种电路结构。在单帧测量时间内发射和接收N次光信号,然后对记录的N次飞行时间做统计直方图。其中单帧测量时间根据测量的量程和最小测量单位确定,其中参照光速c=3×108米每秒,最小的测量距离为s=ct/2。假设TDC测量的精度为t=50皮秒,由公式可以算得测量距离为7.5毫米。在一个实施例中,如果测量的量程为10米,那么单帧的曝光时间需要设置为:
10米/7.5毫米×50ps×曝光次数=66纳秒×曝光次数
在一个实施例中,单帧测量时间可以是分区块曝光对应的测量时间。同时,也可以利用先验知识对测定的信号强度进行去噪处理,去噪方法如匹配滤波等,其统计直方图信号强度最大值对应的时间t可以用来计算待测物体的距离s,即s=c×t/2,其中c为光速。
在一个实施例中,在单帧测量时间内,其中单帧测量时间是形成一个完整深度图的时间,利用每个SPAD已分配的内存来记录该SPAD在各个时间箱(timebin)被触发次数,其中一个内存地址对应一个时间箱(timebin)。
本实施例中,信号数据为输出的统计直方图数据,基于统计直方图的数据特征,通过编码大大减少了数据传输效率。
在一个实施例中,步骤204包括:获取持续零信号强度对应的起始时间;按时间顺序获取信号数据中在持续零信号强度之后出现的首个非零信号强度,获取首个非零信号强度对应的第一时间;计算第一时间与起始时间的差值得到偏移值;对偏移值进行编码得到偏移编码数据。
具体地,编码起始位置从前置数据位非零位开始编码,例如当前面0~140的数为零时,从索引位141开始编码,而对于为零的大量数据则直接忽略,传输的两边对未编码的数据默认为零,只需要记录非零信号强度的位置,通过将首个非零信号强度对应的第一时间与持续零信号强度对应的起始时间计算差值得到偏移值,从而记录了非零信号强度的相对偏移位置,只需将偏移值进行编码得到偏移编码数据。如第一个非零信号强度的时间索引为141,则将141编码形成偏移编码数据。
本实施例中,通过持续零信号强度对应的起始时间与非零信号强度对应的第一时间计算得到偏移值,属于相对位置偏移,编码数据量少,高效便利。
在一个实施例中,步骤206包括:按时间顺序获取信号数据中在编码片段起始位置之后出现的首个或连续多个零信号强度,将首个或连续多个零信号强度相邻的前向非零信号强度对应的时间作为编码片段结束位置。
具体地,在查找编码片段结束位置时,按时间顺序当查找到信号强度值为零时结束编码,如编码片段起始位置之后出现的首个或连续多个零信号强度的起始位置对应的时间索引为160,则将159作为编码片段结束位置,编码片段起始位置为141,则将141与159之间的信号数据进行编码。其中连续多个零信号强度可以为连续两个零信号强度,连续三个、四个或五个零信号强度等。
本实施例中,通过查找编码片段起始位置之后出现的首个零信号强度自动匹配编码片段结束位置,智能高效。
在一个实施例中,步骤206包括:获取预设编码片段范围;从编码片段起始位置开始向后查找得到编码片段结束位置,编码片段起始位置与编码片段结束位置之间的时间段为预设编码片段范围。
具体地,预设编码片段范围的大小可自定义,如预设编码片段范围为100,则从编码片段起始位置开始向后的100个时间索引对应的信号数据为待编码信号数据。预设编码片段范围可根据待测物体的反射率选择适应的值,如对于不同反射率的待测物体选择不同的预设编码片段范围。还可根据待测物体与传感器的距离范围,选择不同的预设编码片段范围,还可根据传感器的种类和属性选择匹配的预设编码片段范围。
本实施例中,预设编码片段范围可自定义,根据不同的场景和条件设置不同的预设编码片段范围,通过预设编码片段范围可直接快速确定编码片段结束位置,高效便利。
在一个实施例中,获取预设编码片段范围包括:获取激光发射器的激光脉宽,获取传感器输出的信号数据的时间精度;根据激光脉宽和时间精度计算得到编码片段范围。
具体地,传感器接收到的信号强度图是和激光发射器的形状一样的,如激光脉宽是2ns,直方图中每个时间箱(timebin)是50ps,则每次编码范围为40个时间箱(timebin),直接预设编码的时间箱(timebin)个数,得到编码片段范围。
本实施例中,根据激光发射器的激光脉宽和传感器输出的信号数据时间精度计算得到编码片段范围,使得编码片段范围与激光发射器的激光脉宽相匹配,提高了编码片段结束位置的准确性。
在一个实施例中,步骤202包括:获取传感器探测到的原始信号数据;对原始信号数据中的噪音进行识别和清除。
具体地,可以在编码前对噪音进行识别和清除,例如,当某个特定点有信号,此信号为1,且前后一定范围内全部为零的情况,这里可以通过设定阈值的方式对其进行清除,阈值范围略高于环境噪声,低于此阈值的信号数据不被记录,这样可大大减小数据存储量,进一步提高了编码效率。对原始信号数据中的噪音进行识别和清除可为可配置项,由用户自行选择配置。
本实施例中,通过对原始信号数据中的噪音进行识别和清除,进一步提高了编码效率。
在一个实施例中,编码时传感器就将每个码的位数和每个码对应表同步给了上位机,上位机按照编码的方式反向解码即可。传感器和上位机分别包括物理层,数据传输层,数据打包层,数据协议层,如图4所示。其中物理传输层处于总体架构的最底层,是指基于多种总线的数据传输方式,包括MIPI,SPI,I2C,I3C等,其中ToF传感器为发送端,上位机为接收端,其中上位机包含手机主处理器,电脑或者其它用于控制ToF传感器的主控制器。传输层处于总体架构的第二层,这一层基于物理层,用于交互数据,包含发送和接收两个功能。协议层处于总体架构的第三层,这一层基于传输层,用于交互命令,包含打包各类命令和数据,ToF数据被打包成数据包的格式,其主要目的是用于传输非固定长度的数据内容。数据层用于在传感器通过上述方法进行数据编码,传输至上位机后通过数据层进行数据解码。本实施例中,通过各个协议层的配合,完成数据从底层至上层的数据包装,从而通过各层协议进行数据传输。
在一个具体的实施例中,提供一种传感器数据编码方法,以1024统计直方图为例,编码具体过程如下:
1、在编码前对噪音进行识别和清除,数据编码按照从0到1023的顺序进行编码。
2、编码起始位置从前置数据位非零位开始编码,例如当前面0~140的数为零时,从索引位141开始编码,而对于为零的大量数据则直接忽略,传输的两边对未编码的数据默认为零。
3、当遇到非0数据时,则开始对数据进行编码,编码内容包含基于前一个结束位置的起始位置或者相对位置的偏差,得到偏移编码数据,针对非零段的数据进行编码,编码后形成片段编码数据,即片段编码数据放在偏移编码数据之后,如图5所示,形成多个偏移编码数据和片段编码数据。
4、对数据的位置信息编码时,分偏移编码数据和片段编码数据两部分,片段编码数据为编码信息,主要是将数据按照多种格式相应的进行比特位,查表或者霍夫曼等多种算法进行编码。举例说明,如果一个直方图片段有15个直方图数值:2,2,3,3,5,6,6,30,5,5,3,3,2,2,2,信号强度值为30的有1个数值,信号强度值为6的有2个数值,信号强度值为5的有3个数值,信号强度值为3的有4个数值,信号强度值为2的有5个数值。直方图是以二进制的方式存储数据,存储的信号强度值30、6、5、3、2的格式分别为:30-11110;6-00110;5-00101;3-00011;2-00010;若用霍夫曼方式编码后,则存储的信号强度值为30、6、5、3、2的格式分别为:30-010;6-011;5-00;3-10;2-11;原内存总长度=5×(1+2+3+4+5)=75霍夫曼编码后长度=3×1+3×2+2×3+2×4+2×5=36。返回步骤2,得到对应的多个偏移编码数据和片段编码数据,直至信号数据完成编码。编码时传感器就将每个码的位数和每个码对应表同步给了上位机了,上位机按照编码的方式反向解码即可。
5、上位机收到编码数据后进行解码,将解码后的数据进行显示。
本实施例中,基于统计直方图的数据特征,提供一种对数据的编解码传输方式,将编码后的数据量降低到原始数据的10%甚至1%以下,在传输速度不变的情况下,将数据传输效率增强10倍100倍以上的同时,也降低了对传输数据总线的压力,解决了高分辨率高采样率的传感器的数据带宽问题,达到高效且无损的数据传输效果。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图6为一个实施例的传感器数据编码装置500的结构框图。如图6所示,一种传感器数据编码装置500,包括:获取模块502、偏移编码数据生成模块504、片段编码数据生成模块506和目标编码数据确定模块508,其中:
获取模块502,用于获取传感器探测到的信号数据。
偏移编码数据生成模块504,用于按时间顺序检测信号数据中的持续零数据片段,根据持续零数据片段生成对应的偏移编码数据。
片段编码数据生成模块506,用于获取持续零数据片段之后的非零数据起始位置作为编码片段起始位置,从编码片段起始位置开始查找编码片段结束位置,对编码片段起始位置与编码片段结束位置之间的信号数据进行编码得到片段编码数据。
目标编码数据确定模块508,用于返回偏移编码数据生成模块504,得到对应的多个偏移编码数据和片段编码数据,直至信号数据完成编码,各个偏移编码数据和片段编码数据组成信号数据对应的目标编码数据。
本实施例中的传感器数据编码装置500,获取传感器探测到的信号数据,按时间顺序检测信号数据中的持续零数据片段,根据持续零数据片段生成对应的偏移编码数据;获取持续零数据片段之后的非零数据起始位置作为编码片段起始位置,从编码片段起始位置开始查找编码片段结束位置,对编码片段起始位置与编码片段结束位置之间的信号数据进行编码得到片段编码数据;返回按时间顺序检测所述信号数据中的持续零数据片段的步骤,得到对应的多个偏移编码数据和片段编码数据,直至信号数据完成编码,各个偏移编码数据和片段编码数据组成信号数据对应的目标编码数据,持续零数据片段的数据本身无需编码,只需生成偏移编码数据,通过各个偏移编码数据和片段编码数据,可将编码后的数据量降低到原始数据的10%甚至1%以下,在传输速度不变的情况下,将数据传输效率增强10倍100倍以上的同时,也降低了对传输数据总线的压力,解决了高分辨率高采样率的传感器的数据带宽问题,达到高效且无损的数据传输效果。
在一个实施例中,传感器为飞行时间传感器,信号数据为直方图数据,包括时间信息和对应的信号强度信息。
本实施例中,信号数据为统计直方图数据,基于统计直方图的数据特征,通过编码大大减少了数据传输效率。
在一个实施例中,偏移编码数据生成模块504还用于获取持续零信号强度对应的起始时间;按时间顺序获取所述信号数据中在持续零信号强度之后出现的首个非零信号强度,获取首个非零信号强度对应的第一时间;计算第一时间与起始时间的差值得到偏移值;对偏移值进行编码得到偏移编码数据。
本实施例中,通过持续零信号强度对应的起始时间与非零信号强度对应的第一时间计算得到偏移值,属于相对位置偏移,编码数据量少,高效便利。
在一个实施例中,片段编码数据生成模块506还用于按时间顺序获取信号数据中在编码片段起始位置之后出现的首个或连续多个零信号强度;将首个或连续多个零信号强度相邻的前向非零信号强度对应的时间作为编码片段结束位置。
本实施例中,通过查找编码片段起始位置之后出现的首个或连续多个零信号强度自动匹配编码片段结束位置,智能高效。
在一个实施例中,片段编码数据生成模块506还用于获取预设编码片段范围;从编码片段起始位置开始向后查找得到所述编码片段结束位置,编码片段起始位置与编码片段结束位置之间的时间段为预设编码片段范围。
本实施例中,预设编码片段范围可自定义,根据不同的场景和条件设置不同的预设编码片段范围,通过预设编码片段范围可直接快速确定编码片段结束位置,高效便利。
在一个实施例中,片段编码数据生成模块506还用于获取激光发射器的激光脉宽,获取传感器输出的信号数据的时间精度;根据激光脉宽和时间精度计算得到编码片段范围。
本实施例中,根据激光发射器的激光脉宽和信号数据的时间精度计算得到编码片段范围,使得编码片段范围与激光发射器的激光脉宽相匹配,提高了编码片段结束位置的准确性。
在一个实施例中,获取模块502还用于获取传感器探测到的原始信号数据;对原始信号数据中的噪音进行识别和清除。
本实施例中,通过对原始信号数据中的噪音进行识别和清除,进一步提高了编码效率。
关于传感器数据编码装置的具体限定可以参见上文中对于传感器数据编码方法的限定,在此不再赘述。上述传感器数据编码装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图7为一个实施例中电子设备的内部结构示意图。如图7所示,该电子设备包括通过系统总线连接的处理器、存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以上各个实施例所提供的传感器数据编码方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。该电子设备可以是手机、服务器等。
本申请实施例中提供的传感器数据编码装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行传感器数据编码方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行传感器数据编码方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种传感器数据编码方法,其特征在于,包括:
获取传感器探测到的信号数据;
按时间顺序检测所述信号数据中的持续零数据片段,根据所述持续零数据片段生成对应的偏移编码数据;
获取所述持续零数据片段之后的非零数据起始位置作为编码片段起始位置,从所述编码片段起始位置开始查找编码片段结束位置,对编码片段起始位置与编码片段结束位置之间的信号数据进行编码得到片段编码数据;
返回所述按时间顺序检测所述信号数据中的持续零数据片段的步骤,得到对应的多个偏移编码数据和片段编码数据,直至所述信号数据完成编码;
各个偏移编码数据和片段编码数据组成所述信号数据对应的目标编码数据。
2.根据权利要求1所述的方法,其特征在于,所述传感器为单光子雪崩二极管,所述信号数据为直方图数据,包括时间信息和对应的信号强度信息。
3.根据权利要求1所述的方法,其特征在于,所述按时间顺序检测所述信号数据中的持续零数据片段,根据所述持续零数据片段生成对应的偏移编码数据包括:
获取持续零信号强度对应的起始时间;
按时间顺序获取所述信号数据中在所述持续零信号强度之后出现的首个非零信号强度,获取所述首个非零信号强度对应的第一时间;
计算所述第一时间与所述起始时间的差值得到偏移值;
对所述偏移值进行编码得到所述偏移编码数据。
4.根据权利要求1所述的方法,其特征在于,所述获取所述持续零数据片段之后的非零数据起始位置作为编码片段起始位置,从所述编码片段起始位置开始查找编码片段结束位置包括:
按时间顺序获取所述信号数据中在所述编码片段起始位置之后出现的首个或连续多个零信号强度;
将所述首个或连续多个零信号强度相邻的前向非零信号强度对应的时间作为所述编码片段结束位置。
5.根据权利要求1所述的方法,其特征在于,所述获取所述持续零数据片段之后的非零数据起始位置作为编码片段起始位置,从所述编码片段起始位置开始查找编码片段结束位置包括:
获取预设编码片段范围;
从所述编码片段起始位置开始向后查找得到所述编码片段结束位置,所述编码片段起始位置与所述编码片段结束位置之间的时间段为所述预设编码片段范围。
6.根据权利要求5所述的方法,其特征在于,所述获取预设编码片段范围包括:
获取激光发射器的激光脉宽;
获取所述传感器输出的所述信号数据的时间精度;
根据所述激光脉宽和所述时间精度计算得到所述编码片段范围。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述获取传感器探测到的信号数据包括:
获取传感器探测到的原始信号数据;
对所述原始信号数据中的噪音进行识别和清除。
8.一种传感器数据编码装置,其特征在于,包括:
获取模块,用于获取传感器探测到的信号数据;
偏移编码数据生成模块,用于按时间顺序检测所述信号数据中的持续零数据片段,根据所述持续零数据片段生成对应的偏移编码数据;
片段编码数据生成模块,用于获取所述持续零数据片段之后的非零数据起始位置作为编码片段起始位置,从所述编码片段起始位置开始查找编码片段结束位置,对编码片段起始位置与编码片段结束位置之间的信号数据进行编码得到片段编码数据;
目标编码数据确定模块,用于返回所述偏移编码数据生成模块,得到对应的多个偏移编码数据和片段编码数据,直至所述信号数据完成编码,各个偏移编码数据和片段编码数据组成所述信号数据对应的目标编码数据。
9.一种电子设备,包括存储器以及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011054583.8A CN112187369B (zh) | 2020-09-30 | 2020-09-30 | 传感器数据编码方法和装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011054583.8A CN112187369B (zh) | 2020-09-30 | 2020-09-30 | 传感器数据编码方法和装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112187369A true CN112187369A (zh) | 2021-01-05 |
CN112187369B CN112187369B (zh) | 2021-08-20 |
Family
ID=73946871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011054583.8A Active CN112187369B (zh) | 2020-09-30 | 2020-09-30 | 传感器数据编码方法和装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112187369B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114721601A (zh) * | 2022-05-26 | 2022-07-08 | 昆仑智汇数据科技(北京)有限公司 | 一种工业设备数据的存储方法及装置 |
CN115400887A (zh) * | 2021-05-28 | 2022-11-29 | 青岛海特生物医疗有限公司 | 用于离心机转子识别的方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IE921713A1 (en) * | 1991-06-04 | 1992-12-16 | Quantum Corp | Fault Tolerant RLL Data Sector Address Mark Decoder |
CN1171016A (zh) * | 1996-06-14 | 1998-01-21 | 大宇电子株式会社 | 用于视频信号编码系统的行程长度编码装置 |
CN102238381A (zh) * | 2010-04-29 | 2011-11-09 | 晨星软件研发(深圳)有限公司 | 加速游程长度编码的影像编码方法与影像编码装置 |
CN102790880A (zh) * | 2004-06-15 | 2012-11-21 | 思科技术公司 | 用于视频压缩的混合可变长度编码的方法和设备 |
CN110324639A (zh) * | 2018-03-29 | 2019-10-11 | 苹果公司 | 用于视频数据的高效熵编码的技术 |
CN111384959A (zh) * | 2018-12-28 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 编码方法、处理器、编码模块及存储介质 |
-
2020
- 2020-09-30 CN CN202011054583.8A patent/CN112187369B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IE921713A1 (en) * | 1991-06-04 | 1992-12-16 | Quantum Corp | Fault Tolerant RLL Data Sector Address Mark Decoder |
CN1171016A (zh) * | 1996-06-14 | 1998-01-21 | 大宇电子株式会社 | 用于视频信号编码系统的行程长度编码装置 |
CN102790880A (zh) * | 2004-06-15 | 2012-11-21 | 思科技术公司 | 用于视频压缩的混合可变长度编码的方法和设备 |
CN102238381A (zh) * | 2010-04-29 | 2011-11-09 | 晨星软件研发(深圳)有限公司 | 加速游程长度编码的影像编码方法与影像编码装置 |
CN110324639A (zh) * | 2018-03-29 | 2019-10-11 | 苹果公司 | 用于视频数据的高效熵编码的技术 |
CN111384959A (zh) * | 2018-12-28 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 编码方法、处理器、编码模块及存储介质 |
Non-Patent Citations (1)
Title |
---|
段鹏: "3D DCT视频图像压缩技术的改进", 《中国电子学会第十五届信息论学术年会暨第一届全国网络编码学术年会论文集(上册)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115400887A (zh) * | 2021-05-28 | 2022-11-29 | 青岛海特生物医疗有限公司 | 用于离心机转子识别的方法及系统 |
CN114721601A (zh) * | 2022-05-26 | 2022-07-08 | 昆仑智汇数据科技(北京)有限公司 | 一种工业设备数据的存储方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112187369B (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112187369B (zh) | 传感器数据编码方法和装置、电子设备及存储介质 | |
CN109100702B (zh) | 用于测量到对象的距离的光电传感器和方法 | |
EP2076048B1 (en) | Adaptive representation of 3d depth image information | |
US20220130074A1 (en) | Method, device, and storage medium for data encoding/decoding | |
KR102069961B1 (ko) | 신호 생성 방법, 신호 해석 방법, 액티브 펜 및 터치 스크린 | |
US10445608B2 (en) | Identifying object representations in image data | |
WO2023093582A1 (zh) | 雷达数据的压缩方法和装置 | |
CN104008080B (zh) | 串行数据解析方法和装置 | |
CN116097306A (zh) | 电子装置及其控制方法 | |
CN116300377B (zh) | 一种时间数字转换器与激光雷达 | |
CN112037295A (zh) | 一种事件型ToF相机编解码方法、装置、介质及设备 | |
KR20210094095A (ko) | 포인트 클라우드 인코딩 방법 및 인코더 | |
WO2022160622A1 (zh) | 一种距离测量方法、装置及系统 | |
CN115131315A (zh) | 一种图像的变化检测方法、装置、设备及存储介质 | |
CN115205845A (zh) | 一种目标检测方法、计算机程序产品及电子设备 | |
CN117651140A (zh) | 一种直方图数据的压缩传输方法与装置 | |
CN114279330A (zh) | 一种高速调制与同步采集关联成像方法及系统 | |
US11818191B1 (en) | Stateless lossless compression | |
CN108872999B (zh) | 一种物体识别方法、装置、识别设备及存储介质 | |
WO2020220249A1 (zh) | 一种数据编码、数据解码方法、设备及存储介质 | |
WO2023061296A1 (zh) | 一种信号发射、处理方法及相关装置 | |
WO2024093196A1 (zh) | 一种雷达数据的编码、解码方法、编码装置及解码装置 | |
CN117997349A (zh) | 一种雷达数据的编码、解码方法、编码装置及解码装置 | |
CN112712465B (zh) | 一种优化拍照式抄表终端通信数据量的方法和系统 | |
CN111417920A (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 |