CN114125456A - 数据处理方法及系统、电子设备 - Google Patents

数据处理方法及系统、电子设备 Download PDF

Info

Publication number
CN114125456A
CN114125456A CN202010899685.3A CN202010899685A CN114125456A CN 114125456 A CN114125456 A CN 114125456A CN 202010899685 A CN202010899685 A CN 202010899685A CN 114125456 A CN114125456 A CN 114125456A
Authority
CN
China
Prior art keywords
data
length
image data
compressed
compression unit
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
Application number
CN202010899685.3A
Other languages
English (en)
Inventor
边毅
赵凯
刘根禹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BOE Technology Group Co Ltd
Original Assignee
BOE Technology Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BOE Technology Group Co Ltd filed Critical BOE Technology Group Co Ltd
Priority to CN202010899685.3A priority Critical patent/CN114125456A/zh
Priority to PCT/CN2021/104745 priority patent/WO2022042053A1/zh
Priority to US17/770,600 priority patent/US20230024148A1/en
Publication of CN114125456A publication Critical patent/CN114125456A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开实施例提供一种数据处理方法及系统、电子设备,涉及显示技术领域,可减小功耗。数据处理方法包括:获取第一图像数据,其中的多个像素值连续排列且按照其排列次序分为多个数据块,每个数据块占一个字节且包含至少一个像素值;根据压缩参数将第一图像数据中至少一个待压缩数据集合压缩成相应的压缩单元,以得到包含压缩单元的第二图像数据。待压缩数据集合包含至少一个数据组,且包含的至少两个数据组连续排列且相同。每个数据组包括至少一个数据块,且包含的至少两个数据块连续排列。压缩参数中的第一长度用于表征数据组中数据块的数量。压缩单元包含待压缩数据集合中一个数据组和第二长度,第二长度用于表征待压缩数据集合中数据组的数量。

Description

数据处理方法及系统、电子设备
技术领域
本公开涉及显示技术领域,尤其涉及一种数据处理方法及系统、电子设备。
背景技术
随着技术的发展,电子设备例如显示装置等,越来越智能化,功能更加多样化,并且不同电子设备之间的相互传输资源也越来越广泛。
发明内容
本公开的实施例提供一种数据处理方法及系统、电子设备,可减小功耗。
为达到上述目的,本公开的实施例采用如下技术方案:
一方面,提供一种数据处理方法。所述数据处理方法包括:获取第一图像数据;根据压缩参数,将所述第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,以得到包含所述压缩单元的第二图像数据。其中,所述第一图像数据包括连续排列的多个像素值,所述多个像素值按照像素值排列的次序分为多个数据块,每个数据块占一个字节且包含至少一个像素值。
一个待压缩数据集合包含至少一个数据组,在所述待压缩数据集合包含至少两个数据组的情况下,所述至少两个数据组连续排列且相同;每个数据组包括至少一个所述数据块,在所述数据组包含至少两个数据块的情况下,所述至少两个数据块连续排列。所述压缩参数包括第一长度,所述第一长度被配置为表征所述数据组中的数据块的数量;所述压缩单元包含所述待压缩数据集合中的一个数据组和第二长度,所述第二长度被配置为表征所述待压缩数据集合中数据组的数量。
在一些实施例中,所述根据压缩参数,将所述第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,包括:从所述第一图像数据的待压缩的数据中,根据所述第一长度,依次读取数据组;自第一个数据组起,逐个确定后一个数据组与当前的数据组是否相同,直至后一个数据组与当前的数据组不相同,或者相同的各数据组的数量超过设定值为止;其中,相同的各数据组构成所述待压缩数据集合;根据相同的各数据组中的一个数据组和所述第二长度,生成所述待压缩数据集合相应的压缩单元。
在一些实施例中,所述根据压缩参数,将所述第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,还包括:将第二长度置零或置1;自第一个数据组起,响应于后一个数据组与当前的数据组相同,将所述第二长度增加1,直至后一个数据组与当前的数据组不相同,或者相同的各数据组的数量超过设定值为止,得到能够表征所述待压缩数据集合中相同的各数据组的数量的第二长度。
在一些实施例中,所述压缩参数还包括第三长度;所述第三长度被配置为表征所述压缩单元的存储空间的大小。所述根据相同的各数据组中的一个数据组和所述第二长度,生成所述待压缩数据集合相应的压缩单元,包括:将所述待压缩数据集合的一个数据组和所述第二长度,写入具有所述第三长度的存储空间中,生成所述待压缩数据集合相应的压缩单元。
在一些实施例中,所述压缩单元所包含的一个数据组为所述待压缩数据集合的第一个数据组。
在一些实施例中,所述从所述第一图像数据的待压缩的数据中,根据所述第一长度,依次读取的数据组,包括:从所述第一图像数据的待压缩的数据中,除第一个数据组外,在得到每个数据组之前,在已处理的数据的长度小于所述第一图像数据的长度的情况下,得到数据组。
在一些实施例中,所述压缩参数为多个压缩参数;所述多个压缩参数不完全相同。所述根据压缩参数,将所述第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,以得到包含所述压缩单元的第二图像数据,包括:根据所述多个压缩参数中的每个压缩参数,将所述第一图像数据中的待压缩数据集合压缩成相应的压缩单元,生成包含所述压缩单元的第三图像数据;从多个第三图像数据中选取长度最小的第三图像数据,或者,长度小于阈值的第三图像数据,作为所述第二图像数据。
在一些实施例中,所述根据压缩参数,将所述第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,包括:在所述第一图像数据的待压缩的数据不为空,且所述待压缩的数据占的字节数小于一个数据组占的字节数的情况下,在所述待压缩的数据之后写零,以将所述待压缩的数据补足为一个数据组。
在一些实施例中,所述第二图像数据还包括所述压缩参数。
在一些实施例中,所述数据组包括的数据块的数量为1~4个。
另一方面,提供一种数据处理方法。所述数据处理方法包括:获取第二图像数据;所述第二图像数据包括至少一个压缩单元;一个压缩单元包括一个数据组和第二长度;根据压缩参数,将所述第二图像数据中的压缩单元解压成相应的解压数据集合,以得到第四图像数据。
所述压缩参数包括第一长度,所述第一长度被配置为表征所述数据组中的数据块的数量。所述第二长度被配置为表征所述压缩单元相应的解压数据集合中的数据组的数量。所述解压数据集合包含至少一个所述数据组,在所述解压数据集合包含至少两个所述数据组的情况下,至少两个所述数据组连续排列。每个数据组包括至少一个所述数据块。在所述数据组包含至少两个所述数据块的情况下,所述至少两个所述数据块连续排列。所述第四图像数据包括连续排列的多个所述数据块,每个数据块包括连续排列的多个像素值。
在一些实施例中,所述根据压缩参数,将所述第二图像数据中的压缩单元解压成相应的解压数据集合,包括:根据所述第一长度,读取所述压缩单元中的所述数据组;根据所述第二长度复制所述数据组,生成所述解压数据集合。
在一些实施例中,所述压缩参数还包括第三长度;所述第三长度被配置为表征所述压缩单元的存储空间的大小。所述根据压缩参数,将所述第二图像数据中的压缩单元解压成相应的解压数据集合,还包括:根据所述第三长度,读取所述第二图像数据中的压缩单元,将所述压缩单元解压成相应的解压数据集合。
在一些实施例中,所述第二图像数据还包括第一图像数据的长度。所述数据处理方法还包括:在已解压的数据的长度大于所述第一图像数据的长度的情况下,删除所述已解压的数据的末端超出所述第一图像数据的长度的部分数据,得到所述第一图像数据。
又一方面,提供一种电子设备。所述电子设备包括存储器和处理器。所述处理器与所述存储器耦接。所述存储器中存储一个或多个计算机程序指令。所述处理器被配置为执行所述一个或多个计算机程序指令,以使得所述电子设备实现如上述任一实施例的数据处理方法。
又一方面,提供一种数据处理系统。数据处理系统包括:第一电子设备和第二电子设备。所述第一电子设备与所述第二电子设备耦接。所述第一电子设备被配置为实现如上述实施例所述的数据处理方法。所述第二电子设备被配置为实现如上述实施例所述的数据处理方法。
再一方面,提供一种计算机非瞬态可读存储介质。所述计算机可读存储介质存储有计算机程序指令,所述计算机程序指令在处理器上运行时,使得计算机执行如上述任一实施例所述的数据处理方法。
又一方面,提供一种计算机程序产品。所述计算机程序产品包括计算机程序指令,在计算机上执行所述计算机程序指令时,所述计算机程序指令使计算机执行如上述任一实施例所述的数据处理方法。
又一方面,提供一种计算机程序。当所述计算机程序在计算机上执行时,所述计算机程序使计算机执行如上述任一实施例所述的数据处理方法。
综上,本公开的实施例提供一种数据处理方法及系统、电子设备,对第一图像数据进行压缩,生成的压缩单元的数据量小于相应的待压缩数据集合的数据量,得到的包含压缩单元的第二图像数据的数据量也小于第一图像数据的数据量。因此,电子设备将第一图像数据压缩为第二图像数据后再进行传输,可以降低传输的数据量,缩短数据传输的时间,降低了电子设备之间数据传输的压力,减小了功耗,可适用于采用低性能处理器的电子设备。另外,可以降低电子设备存储第二图像数据所需的存储资源以及对第一图像数据压缩以得到第二图像数据过程中所需的数据处理资源,节约了电子设备进行图像数据处理的成本。
附图说明
为了更清楚地说明本公开中的技术方案,下面将对本公开一些实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例的附图,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。此外,以下描述中的附图可以视作示意图,并非对本公开实施例所涉及的产品的实际尺寸、方法的实际流程、信号的实际时序等的限制。
图1为根据一些实施例的数据处理系统的一种结构图;
图2为根据一些实施例的电子设备的结构图;
图3为根据一些实施例的数据处理方法的一种流程图;
图4A为根据一些实施例的像素的一种分布图;
图4B为根据一些实施例的第一图像数据的一种分布图;
图5为根据一些实施例的压缩单元的一种结构图;
图6为根据一些实施例的数据处理方法的一种过程图;
图7为根据一些实施例的数据处理方法的另一种流程图;
图8为根据一些实施例的数据处理方法的又一种流程图;
图9为根据一些实施例的数据处理方法的又一种流程图;
图10为根据一些实施例的数据处理方法的又一种流程图;
图11为根据一些实施例的数据处理方法的又一种流程图;
图12为根据一些实施例的数据处理方法的又一种流程图;
图13为根据一些实施例的数据处理方法的又一种流程图;
图14为根据一些实施例的数据处理方法的又一种流程图;
图15为根据一些实施例的数据处理方法的又一种流程图;
图16为根据一些实施例的数据处理方法的又一种流程图;
图17为根据一些实施例的数据处理装置的一种结构图;
图18为根据一些实施例的数据处理装置的另一种结构图。
具体实施方式
下面将结合附图,对本公开一些实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开所提供的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本公开保护的范围。
除非上下文另有要求,否则,在整个说明书和权利要求书中,术语“包括(comprise)”及其其他形式例如第三人称单数形式“包括(comprises)”和现在分词形式“包括(comprising)”被解释为开放、包含的意思,即为“包含,但不限于”。在说明书的描述中,术语“一个实施例(one embodiment)”、“一些实施例(some embodiments)”、“示例性实施例(exemplary embodiments)”、“示例(example)”、“特定示例(specific example)”或“一些示例(some examples)”等旨在表明与该实施例或示例相关的特定特征、结构、材料或特性包括在本公开的至少一个实施例或示例中。上述术语的示意性表示不一定是指同一实施例或示例。此外,所述的特定特征、结构、材料或特点可以以任何适当方式包括在任何一个或多个实施例或示例中。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在描述一些实施例时,可能使用了“耦接”和“连接”及其衍伸的表达。例如,描述一些实施例时可能使用了术语“连接”以表明两个或两个以上部件彼此间有直接物理接触或电接触。又如,描述一些实施例时可能使用了术语“耦接”以表明两个或两个以上部件有直接物理接触或电接触。然而,术语“耦接”或“通信耦合(communicatively coupled)”也可能指两个或两个以上部件彼此间并无直接接触,但仍彼此协作或相互作用。这里所公开的实施例并不必然限制于本文内容。
本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。
本公开的实施例提供一种数据处理系统200,如图1所示,该数据处理系统200包括第一电子设备100A和第二电子设备100B,二者相互耦接。
示例性地,第一电子设备100A可以通过无线通信方式,例如,Wi-Fi(Wireless-Fidelity,无线网)、蓝牙等,与第二电子设备100B建立连接。例如,第二电子设备100B通过无线通信方式或有线通信方式连接无线路由器或无线接入点(Access Point,AP),第一电子设备100A通过无线通信方式与无线路由器或无线接入点建立连接,进而与第二电子设备100B通信连接。当然,本公开的实施例中不限于这种通信连接方式,例如,第二电子设备100B与第一电子设备100A还可以通过有线通信方式建立连接。
其中,第一电子设备100A和第二电子设备100B可以应用于多种场景,例如,第一电子设备100A可以是台式机、便携式电脑、网络服务器、个人数字助理掌上电脑(personaldigital assistant,PDA)、移动手机、平板电脑、无线终端设备、嵌入式设备等。第二电子设备100B可以为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本、个人数字助理等。本公开实施例对第一电子设备100A和第二电子设备100B的具体类型不作任何限制。
本公开的实施例提供一种电子设备100,如图2所示,电子设备100包括存储器101和处理器102。存储器101和处理器102耦接。
存储器101中存储可在处理器102上运行的一个或多个计算机程序指令。
处理器102执行该计算机程序时,以使电子设备100实现如下述实施例中的数据处理方法。
示例性地,上述处理器102可以是一个处理器,也可以是多个处理元件的统称。例如,该处理器102可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application specific integrated circuit,ASIC),或一个或多个用于控制本公开方案程序执行的集成电路,例如:一个或多个微处理器,或,一个或者多个现场可编程门阵列。
上述存储器101可以是一个存储器,也可以是多个存储元件的统称,且用于存储可执行程序代码等。例如,存储器可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
其中,存储器101用于存储执行本公开方案的计算机程序指令(例如应用程序代码),并由处理器102来控制执行。处理器102用于执行存储器101中存储的计算机程序指令,以控制电子设备100实现本公开下述实施例提供的数据处理方法。
在一些实施例中,上述的数据处理系统200中的第一电子设备100A和第二电子设备100B可以均采用上述的电子设备100,即,数据处理系统200包括两个电子设备100,两个电子设备100之间相互通信,其中一个电子设备100作为第一电子设备100A,另一个电子设备100作为第二电子设备100B。
在一些实施例中,如图2所示,电子设备100还包括显示屏103和通信器件104。显示屏103和通信器件104均与处理器102耦接。显示屏103被配置为在处理器102的控制下显示图像,例如显示屏103为电子墨水屏;通信器件104为与外部设备(AP或无线路由器)进行信息交互的器件,以在处理器102的控制下向外部设备发送数据或命令,或者,接收外部设备发送的数据或命令。例如,通信器件104可以是收发器、收发电路、发送器、接收器等;例如可以是Wi-Fi装置、蓝牙装置等无线通信器件,也可以是通用串行总线(USB)接口等有线通信器件。其中,Wi-Fi装置为电子设备100提供遵循Wi-Fi相关标准协议的网络接入。蓝牙装置可以是集成电路或者蓝牙芯片等。作为示例,通信器件104和处理器102可以单独设置,也可以集成在一起。
其中,在两个电子设备100进行数据传输的过程中,例如,第一电子设备100A获取一图像数据(例如下文中的第一图像数据),并对该图像数据进行处理(例如压缩),得到压缩后的图像数据(例如下文中的第二图像数据),并向第二电子设备100B发送压缩后的图像数据,相应的第二电子设备100B接收压缩后的图像数据,对压缩后的图像数据进行处理(例如解压),获得解压后的图像数据(例如下文中的第四图像数据),第二电子设备100B可以根据解压后的图像数据进行显示。
示例性地,第一电子设备100A被配置为控制第二电子设备100B上显示的图像(即画面)。例如,第一电子设备100A可以不进行显示,例如,第一电子设备100A可以不包括显示屏,此时,第一电子设备100A可以是服务器也可以是终端。终端可以是个人计算机(Personal Computer,PC),例如,台式机、笔记本电脑、平板电脑以及超级本等;还可以是手机等手持终端。示例性地,第一电子设备100A和第二电子设备100B也可以均为显示装置。
示例性地,在电子设备100(例如第二电子设备100B)为显示装置的情况下,例如显示装置可以是显示器,还可以是包含显示器的产品,例如电子墨水显示装置(ElectronicPaper Display,EPD)、电视机、电脑(一体机或台式机)、平板电脑、手机、电子画屏等。例如,电子墨水显示装置可以应用于多种场景,例如电子墨水显示装置100可以是电子阅读器,智能标签(也称为电子标签),电子表(例如,电子手表),温度计,公交车站牌以及加油站的油价牌等。其中,智能标签可以包括:可以放置于超市、便利店、药店等货架上的电子价签,行李箱标签以及设置于药品包装上的药品标签等。
目前,对于一些低功耗的电子设备,可以广泛应用于商超、办公和交通等场景。例如EPD电子设备,具有耗电量低、节能省电和护眼等优势,可以应用在手持电子阅读器设备(例如电子书)或货架标签等小尺寸电子设备上。其中,EPD电子设备(或EPD显示装置)可以采用无线传输的方式,更新显示内容。由于EPD电子设备主要应用于低功耗场景,在直接传输无压缩图像的过程中,虽然可以保证图像尺寸固定,但传输的数据量较大,容易导致数据传输的时间较长,使得显示装置的功耗较大,影响显示装置的性能,并且,EPD电子设备的处理器的算力和存储空间(例如RAM)相对较低,在对数据进行处理的过程中,对显示装置的处理器的能力要求较高,EPD电子设备进行数据处理(例如压缩或解压)的难度较大。
示例性地,可以在电子设备预存底图(或者背景图片),或者对电子设备单独传输底图,只更新文字信息,以降低传输时间。但这样,电子设备需要内置字库芯片,且生成汉文字的图片需要较大的算力和存储空间,这样,会增加电子设备的成本和功耗。另外,底图不易变更,使得电子设备的显示较单调。示例性地,可以采用一些图像数据压缩比(即压缩前所占空间大小与实际所占空间大小之比)较高的压缩算法,例如JPEG(Joint PhotographicExperts Group)格式、TIFF(Tag Image File Format)格式、GIF(Graphic InterchangeFormat)格式或RAW格式等,以降低传输的数据量,缩短传输的时间。但这样,电子设备在解压时的算力要求较高,且存储空间(例如随机存储器)占用较多,从而使得电子设备的成本增加。
本公开的实施例提供一种数据处理方法,该数据处理方法应用于上述的电子设备100,例如应用于上述的第一电子设备100A。如图3所示,数据处理方法包括以下步骤:
S10、获取第一图像数据。其中,第一图像数据包括连续排列的多个像素值,多个像素值按照排列的次序分为多个数据块,每个数据块占一个字节且包含至少一个像素值。
示例性地,第一图像数据中的多个像素值的排列顺序,与显示第一图像数据时像素的显示顺序有关。例如,若显示第一图像时像素按逐行显示,则第一图像数据中多个像素值的排列也是按逐行排列。例如,对于每一行像素,第一列像素的像素值至最后一列像素的像素值依次排列,对于相邻两行像素,后一行像素的第一列像素的像素值位于前一行像素的最后一列像素的像素值之后。例如,参考图4A,第一图像数据在显示时通过i行j列像素进行逐行显示,i和j均为正整数,第u行第v列像素的像素表示为Ru-v,0≤u≤i,0≤v≤j,且u和v均为整数。其中,一行像素为沿图4中水平方向X排列成一排的像素,一列像素为沿图4中竖直方向Y排列成一排的像素,例如,R1-1至像素R1-j为第一行像素,像素R1-1至像素Ri-1为第一列像素。例如第u行第v列像素的像素Ru-v的像素值表示为Pu-v,第一图像数据中的多个像素值以(P1-1,P1-2,P1-3……P1-j,P2-1,P2-2……P2-j……Pu-1……Pu-v……Pi-1,Pi-2……Pi-j)顺序连续排列。
其中,像素值可以用于表征每个像素的色彩信息,像素值可以通过比特位表示。对于无梯度图像(图片),该图像中每个像素显示的颜色种类较少,且每种颜色无亮度和色度的梯度变化。每个像素的像素值可以用2~4个比特位表示。例如,在每个像素可以显示两种颜色,每种颜色可以用1个比特位表示,例如每个像素显示的两种颜色分别为黑色和白色的情况下,黑色的像素值为0,白色的像素值为1。例如,在每个像素可以显示四种颜色,每种颜色可以用2个比特位表示,例如每个像素显示的四种颜色分别为黑色、白色、红色和紫色的情况下,黑色的像素值为11,白色的像素值为00、红色的像素值为10,紫色的像素值为01。例如,如图4B所示,第一图像数据对应的显示图像呈数字“13”,图像中“1”对应像素的像素值为10,“1”呈红色,“3”对应像素的像素值为11,“3”呈黑色,其余部分对应像素的像素值为00,其余部分呈白色。
示例性地,从第一行第一列像素的像素值P1-1起,至第i行第j列像素的像素值Pi-j止,将第一图像数据分为多个数据块,每个数据块占一个字节。例如,在每个像素值用一个比特位表示的情况下,每个数据块包含八个像素的像素值,例如第一个数据块为(P1-1,P1-2,P1-3,P1-4,P1-5,P1-6,P1-7,P1-8),第二个数据块为(P1-9,P1-10,P1-11,P1-12,P1-13,P1-14,P1-15,P1-16)。例如,在每个像素值用两个比特位表示的情况下,每个数据块包含四个像素的像素值,例如第一个数据块为(P1-1,P1-2,P1-3,P1-4),第二个数据块为(P1-5,P1-6,P1-7,P1-8)。
S20、根据压缩参数,将第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,以得到包含压缩单元的第二图像数据。
其中,第一图像数据包含至少一个待压缩数据集合。一个待压缩数据集合包含至少一个数据组。在待压缩数据集合包含至少两个数据组的情况下,至少两个数据组连续排列且相同。每个数据组包括至少一个数据块。在数据组包含至少两个数据块的情况下,至少两个数据块连续排列。
例如,每个数据组可以包含两个数据块,例如,第一个数据块(P1-1,P1-2,P1-3,P1-4)和第二个数据块(P1-5,P1-6,P1-7,P1-8)构成一个数据组。或者,每个数据组可以包含一个数据块,例如,第一个数据组包含第一个数据块(P1-1,P1-2,P1-3,P1-4),第二个数据组包含第二个数据块(P1-5,P1-6,P1-7,P1-8)。其中,第一个数据组和第二个数据组连续排列。在第一个数据组和第二个数据组相同的情况下,可以得到包含第一个数据组和第二个数据组的一个待压缩数据集合。在第一个数据组和第二个数据组不相同的情况下,可以得到包含第一个数据组一个待压缩数据集合和包含第二个数据组的另一个待压缩数据集合。
其中,压缩参数包括第一长度。第一长度被配置为表征数据组中的数据块的数量。压缩单元包含待压缩数据集合中的一个数据组和第二长度,第二长度被配置为表征待压缩数据集合中数据组的数量。
例如,第一长度可以代表数据组中的数据块所占的字节数,例如第一长度可以代表存储空间的大小(即字节数),例如第一长度为2个字节,此时第一长度所表征的数据组中数据块占2个字节,即,数据块的数量为2个。或者,第一长度可以代表个数,例如第一长度的数值为2,此时第一长度所表征的数据组中数据块的数量为2个,2个数据块占2个字节,此时第一长度也可以为2个字节。第二长度可以表征待压缩数据集合中数据组的重复次数,例如第二长度的数值为1,数值1可以表示为00000001,表征待压缩数据集合中数据组重复1次,此时,待压缩数据集合中的数据组有2个,在此情况下,如果待压缩数据集合中数据组重复次数在255次以内,则第二长度占1个字节;如果待压缩数据集合中数据组重复次数在256~511次以内,则第二长度占2个字节。或者,第二长度可以代表待压缩数据集合中数据组的个数,例如,第二长度的数值为1,表示待压缩数据集合中数据组有1个,在此情况下,如果待压缩数据集合中数据组的个数在255个以内,则第二长度占1个字节;如果待压缩数据集合中数据组的个数在256~511个以内,则第二长度占2个字节。
示例性地,压缩单元占的存储空间为一个数据组占的存储空间与第二长度占的存储空间之和,例如,如图5所示,一个压缩单元占T个字节,其中的一个数据组占S个字节,第二长度占(T-S)个字节,S为正整数,T为大于S的正整数。例如,如图6所示,待压缩数据集合包括四个数据组,每个数据组中包含一个数据块(00001100),压缩单元包含的一个数据组为四个数据组中的任一个数据组,第二长度可以为4(即00000100),该数据组所占的空间为1个字节,第二长度所占的空间为1个字节,此时压缩单元所占的空间为一个数据组所占的空间和第二长度所占的空间之和,即为2个字节。在此情况下,四个数据组占4个字节,压缩单元占2个字节,压缩单元的数据量小于待压缩数据集合的数据量,因此,本公开的实施例对第一图像数据进行处理,减少了数据量和存储空间,从而降低了包含压缩单元的第二图像数据的数据量和存储空间。这样,在数据传输的过程中,可以缩短传输时间,降低了传输的数据量,提高了数据传输效率。
因此,本公开的实施例提供的数据处理方法,获取第一图像数据。其中,第一图像数据包括连续排列的多个像素值,多个像素值按照像素值排列的次序分为多个数据块,每个数据块占一个字节且包含至少一个像素值。将根据压缩参数,将第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,以得到包含压缩单元的第二图像数据。其中,待压缩数据集合包含至少一个数据组。在待压缩数据集合包含至少两个数据组的情况下,至少两个数据组连续排列且相同。每个数据组包括至少一个数据块。在数据组包含至少两个数据块的情况下,至少两个数据块连续排列。压缩参数包括第一长度。第一长度被配置为表征数据组中的数据块的数量。压缩单元包含待压缩数据集合中的一个数据组和第二长度,第二长度被配置为表征待压缩数据集合中数据组的数量。在此情况下,相比于对第一图像数据不进行压缩而直接传输的情况,本公开的实施例对第一图像数据进行压缩,生成的压缩单元的数据量小于相应的待压缩数据集合的数据量,得到的包含压缩单元的第二图像数据的数据量也小于第一图像数据的数据量。因此,电子设备将第一图像数据压缩为第二图像数据后再进行传输,可以降低传输的数据量,缩短数据传输的时间,降低了电子设备之间数据传输的压力,减小了功耗,可适用于采用低性能处理器的电子设备(例如EPD)。另外,可以降低电子设备存储第二图像数据所需的存储资源以及对第一图像数据压缩以得到第二图像数据过程中所需的数据处理资源,节约了电子设备进行图像数据处理的成本。
示例性地,对于无梯度图像,可以在每隔至少两个相同的像素值之间插入另一个不同的像素值,即,每隔至少两个同种颜色的像素之间插入另一种颜色的像素,使得显示的图像在视觉上可以具有灰度,该插入的另一种颜色的像素可以称为色点。例如,每隔两个相同的像素值之间存在有另一个像素值,即,每隔两个同种颜色的像素之间存在有另一种颜色的像素,这样,显示的图像在视觉上可以具有灰度。
例如,在每个像素的像素值可以用两个比特位表示,黑色的像素值为11,白色的像素值为00,每隔两个白色的像素值之间存在有一个黑色的像素值,即,每隔两个白色的像素之间存在有一个黑色的像素,此时,第一图像数据为0000110000110000110000110000110000……。在此情况下,每个数据组包括三个数据块,每个数据组包括的三个数据块分别为00001100,00110000,11000011,第一图像数据呈以三个数据块(即三个字节)为整体的循环,第一长度可以为3个字节。在此情况下,对于像素显示黑色和白色两种颜色的情况,在视觉上显示的图像可以呈灰色,使得显示的图像具有灰度。
示例性地,第一图像数据中的数据块具有一定的规律。例如,第一图像数据中的待压缩数据集合包括多个连续且相同的数据块A,此时,待压缩数据集合的数据呈单字节重复,一个数据组可以包括一个数据块A;例如,第一图像数据中的待压缩数据集合包括依次顺序排列的三种数据块A、B和C,即,数据块A、B和C呈一个整体循环排列,此时,待压缩数据集合的数据呈多字节循环,一个数据组可以包括三个数据块,分别为数据块A、B和C。
需要说明的是,可以根据电子设备的实际情况,例如电子设备在实际使用中所接收或显示的图像数据类型,预先设定压缩参数。例如,在电子设备接收的图像数据多为无梯度图像数据的情况下,例如,无梯度图像数据对应的显示图像主要为多个纯色色块,压缩参数中的第一长度所表征的数据组中的数据块的数量可以为一个。
示例性地,电子设备所显示的图像包括至少一个纯色色块,一个纯色色块对应于多个连续排列且相同的数据组,这样,第一图像数据具有至少两个连续且相同的数据组。例如,可以根据色块的大小(即连续且相同数据组的个数)确定压缩参数,例如连续且相同数据组的个数最多的待压缩数据集合对应的色块可作为最大的色块,可以根据最大的色块对应的数据组中的数据块的个数,确定第一长度的大小,例如最大的色块对应的数据组中的数据块的个数为3个,则第一长度可以为3个字节。并且,可以根据最多的相同数据组的个数,确定第二长度,例如最多的相同数据组的个数为250个,则第二长度可以为1个字节。此外,也可以根据第一长度和第二长度,得到压缩单元的存储空间的大小,例如,压缩单元的存储空间的大小可以为第一长度的存储空间和第二长度的存储空间之和,例如第一长度可以为3个字节,第二长度可以为1个字节,则压缩单元的存储空间为4个字节。
示例性地,根据压缩参数,将第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,如图7所示,包括:
S201、从第一图像数据的待压缩的数据中,根据第一长度,依次读取数据组。
例如,第一图像数据的待压缩的数据中,连续排列的多个像素值分别为00,10,11,01,00,10,11,01,00,00,11,11,00,00,11,11,00,00,11,11,00,00,11,11,此时,待压缩的数据具有四个数据块,分别为第一个数据块00101101,第二个数据块00101101,第三个数据块00001111,第四个数据块00001111,第五个数据块00001111,第六个数据块00001111,每个数据块包括四个像素值。在第一长度表征的数据组的数据块的数量为2,也即第一长度为2个字节的情况下,根据第一长度,从第一个像素值00开始读取数据,以2个字节为步长读取数据,得到三个数据组,分别为:包括第一个数据块和第二个数据块的第一个数据组,第一个数据组为0010110100101101;包括第三个数据块和第四个数据块的第二个数据组,第二个数据组为0000111100001111;包括第五个数据块和第六个数据块的第三个数据组,第三个数据组为0000111100001111。
示例性地,从第一图像数据的待压缩的数据中,根据第一长度,依次读取数据组,如图8所示,包括:
S2011、从第一图像数据的待压缩的数据中,除第一个数据组外,在得到每个数据组之前,在已处理的数据的长度小于第一图像数据的长度的情况下,得到数据组。
需要说明的是,已处理的数据指的是已经被压缩,以生成压缩单元的数据。
例如,第一图像数据的长度为6个字节,且第一图像数据的待压缩的数据为00,10,11,01,00,10,11,01,00,00,11,11,00,00,11,11,00,00,11,11,00,00,11,11。在每个数据组包括2个数据块的情况下,第一个数据组为0010110100101101。在得到第二个数据组之前,比较已处理的数据的长度与第一图像数据的长度的大小,此时,已处理的数据(即已读取的数据)为第一个数据组,其长度为2个字节,小于第一图像数据的长度,此时,可以得到第二个数据组0000111100001111。在得到第三个数据组之前,比较已处理的数据的长度与第一图像数据的长度的大小,此时,已处理的数据为第一个数据组和第二个数据组,其长度为4个字节,小于第一图像数据的长度,此时,可以得到第三个数据组0000111100001111。在得到第四个数据组之前,比较已处理的数据的长度与第一图像数据的长度的大小,此时,已处理的数据为第一个数据组、第二个数据组和第三个数据组,其长度为6个字节,等于第一图像数据的长度,此时,无法读取得到第四个数据组,第一图像数据无待处理的数据,则第一图像数据的读取过程结束。
S202、自第一个数据组起,逐个确定后一个数据组与当前的数据组是否相同,直至后一个数据组与当前的数据组不相同,或者相同的各数据组的数量超过设定值为止。其中,相同的各数据组构成待压缩数据集合。
S203、根据相同的各数据组中的一个数据组和第二长度,生成待压缩数据集合相应的压缩单元。
需要说明的是,在后一个数据组与当前的数据组不相同的情况下,当前的数据组与前一个数据组相同,此时,可以根据当前的数据组与前一个数据组生成压缩单元,即,当前的数据组与前一个数据组可以看作是已处理的数据;此时,后一个数据组可以看作是未处理的数据(待压缩的数据),该后一个数据组更新为当前的数据组,与后一个数据组比较,如果不相同,则根据当前的数据组,生成压缩单元。
例如,在读取得到第一个数据组为0010110100101101和第二个数据组为0000111100001111的情况下,比较第二个数据组和第一个数据组是否相同,由于第二个数据组和第一个数据组不相同,此时第一个待压缩数据集合包括第一个数据组,生成的第一个压缩单元所包括的一个数据组为第一个数据组,该第一个压缩单元所包括的第二长度表征的数据组的数量为1(例如数值1可以表示为00000001)。在读取得到第三个数据组为0000111100001111的情况下,比较第三个数据组和第二个数据组是否相同,由于第三个数据组和第二个数据组相同,此时可以继续读取数据组,在读取得到第四个数据组为0010110100101101的情况下,由于第四个数据组与第三个数据组不相同,此时可以得到第二个待压缩数据集合,第二个待压缩数据集合包括第二个数据组和第三个数据组,则生成的第二个压缩单元所包括的一个数据组为第三个数据组和第二个数据组中的任一个,该第二个压缩单元所包括的第二长度表征的数据组的数量为2(例如数值2可以表示为00000010)。其中,第二长度可以占1个字节的存储空间。例如参考图5,第二个压缩单元为(000011110000111100000010),占3个字节,其中前16位(第1个至第2个字节)表示数据组,占2个字节,后8位(第3个字节)表示第二长度,占1个字节,相比于第二个待压缩数据集合,第二个压缩单元占用的存储空间较小,减少了数据量。
需要说明的是,上述的设定值表示生成的待压缩数据集合相应的压缩单元所对应的相同的各数据组的最大数量,例如,在设定值为255的情况下,成的待压缩数据集合相应的压缩单元所对应的相同的各数据组的数量最大可以为255,此时,第二长度为255(即11111111),即第二长度占的存储空间为1个字节。
例如,待压缩的数据具有三个待压缩数据集合,第一待压缩数据集合中的第一数据组A的数量为511个,第二待压缩数据集合中的第二数据组B的数量为255个,第三待压缩数据集合中的第三数据组C的数量为255个,其中第一数据组A、第二数据组B和第三数据组C均为一个字节。在此情况下,由于第一图像数据压缩得到的压缩单元的存储空间相同,即,每个压缩单元中的一个数据组的存储空间相同,每个压缩单元中的第二长度的存储空间相同,因此,每个压缩单元可以为3个字节,根据第一待压缩数据集合得到的第一压缩单元的长度可以为3个字节(第一数据组A占1个字节,第二长度占2个字节),根据第二待压缩数据集合得到的第二压缩单元的长度可以为3个字节(第二数据组B占1个字节,第二长度占2个字节),根据第三待压缩数据集合得到的第三压缩单元的长度可以为3个字节(第三数据组C占1个字节,第二长度占2个字节),此时,得到的第二图像数据的长度至少为9个字节。在此情况下,由于第一数据组A的数量,大于第二数据组B的数量,也大于第三数据组C的数量,即,若设定值为255的情况下,第一数据组A的数量超过设定值,因此,在对第一待压缩数据集合进行压缩的过程中,可以得到两个第一压缩单元,其中一个第一压缩单元中第一数据组A的数量为255个,另一个第一压缩单元中第一数据组A的数量为255个,这样,两个压缩单元均占2个字节(第一数据组A占1字节,第二长度占1个字节),相应的,第二压缩单元的长度可以为2个字节(第二数据组B占1个字节,第二长度占1个字节),第三压缩单元的长度可以为2个字节(第三数据组C占1个字节,第二长度占1个字节),此时,得到的第二图像数据的长度至少为8个字节,使得第二图像数据的长度更小。
在一些实施例中,如图9所示,根据压缩参数,将第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,还包括:
S204、将第二长度置零或置1。在此情况下,可以对第二长度的存储空间初始化,从而避免第二长度的初始值错误,提高第二长度的准确性。
S205、自第一个数据组起,响应于后一个数据组与当前的数据组相同,将第二长度增加1,直至后一个数据组与当前的数据组不相同,或者相同的各数据组的数量超过设定值为止,得到能够表征所述待压缩数据集合中相同的各数据组的数量的第二长度。
例如,在第二长度置零的情况下,第二长度的初始数值可以为0000000,将第二个数据组和第一个数据组比较,第二个数据组和第一个数据组相同,则第二长度增加1,即第二长度的数值为1(如第二长度可以表示为00000001),将第三个数据组和第二个数据组比较,第三个数据组和第二个数据组相同,则第二长度再增加1,即第二长度的数值为2(如第二长度可以表示为00000010),将第四个数据组和第三个数据组比较,第四个数据组和第三个数据组不相同,则第二长度停止增加1,此时,第二长度的数值为2,可以表征相同的各数据组的数量为3个,分别为第一个数据组、第二个数据组和第三个数据组。或者,在设定值为255的情况下,后一个数据组与当前的数据组相同,对第二长度增加1,在第二长度的数值增加到255时停止,得到第二长度的数值为255(如第二长度可以表示为11111111)。在此情况下,第二长度也可以表征数据组的重复次数。
例如,在第二长度置1的情况下,第二长度的初始数值可以为0000001,将第二个数据组和第一个数据组比较,第二个数据组和第一个数据组相同,则第二长度增加1,即第二长度的数值为2(如第二长度可以表示为00000010),将第三个数据组和第二个数据组比较,第三个数据组和第二个数据组相同,则第二长度再增加1,即第二长度的数值为3(如第二长度可以表示为00000011),将第四个数据组和第三个数据组比较,第四个数据组和第三个数据组不相同,则第二长度增加1,此时,第二长度的数值为3,可以表征相同的各数据组的数量为3个,分别为第一个数据组、第二个数据组和第三个数据组。或者,在设定值为255的情况下,后一个数据组与当前的数据组相同,对第二长度增加1,在第二长度的数值增加到255下停止,得到第二长度的数值为255(如第二长度可以表示为11111111)。
在一些实施例中,压缩参数还包括第三长度。第三长度被配置为表征压缩单元的存储空间的大小。其中,压缩单元包含一个数据组和第二长度,因此,第三长度所表征的存储空间的大小,大于一个数据组的长度,即,大于第一长度所表征的数据块的数量。例如,第一长度表征数据组中的数据块的数量为Q个,Q为正整数,则第一长度为Q个字节,第三长度的字节数大于或等于(Q+1)个字节。
需要说明的是,电子设备可以在进行数据处理之前,可以预留出一定的存储空间,以写入压缩后的数据。例如,参考图5,第三长度可以为T,第一长度可以为S,这样,可以预留出T个字节的存储空间,在对第一图像数据进行压缩时,将一个数据组写入T个字节的存储空间中的S个字节处,并对(T-S)个字节的存储空间初始化(即置零或置1),将第二长度写入T个字节的存储空间中的(T-S)个字节处。
示例性地,根据相同的各数据组中的一个数据组和第二长度,生成待压缩数据集合相应的压缩单元,如图10所示,包括:
S206、将待压缩数据集合的一个数据组和第二长度,写入具有第三长度的存储空间中,生成待压缩数据集合相应的压缩单元。
例如,电子设备(第一电子设备)中的存储装置可以具有第三长度的存储空间,在该具有第三长度的存储空间写入一个数据组,并在得到第二长度的同时,写入第二长度,从而得到压缩单元。
在一些实施例中,压缩单元所包含的一个数据组为待压缩数据集合的第一个数据组。例如,在确定待压缩的数据中的第一个数据组的情况下,在具有第三长度的存储空间写入第一个数据组,并对该第三长度的存储空间的剩余的存储空间置零或置1。自第一个数据组起,在待压缩的数据中的后一个数据组与当前的数组相同的情况下,在剩余存储空间中增加1,直至后一个数据组与当前的数据组不相同为止,此时,剩余的存储空间累加的数值为第二长度,表征相同的各数据组的数量。例如,第二长度可以在比较相邻的两个数据组是否相同时并行写入剩余的存储空间。
例如,在剩余的存储空间初始数值为零(如若剩余的存储空间为1个字节,则剩余的存储空间的初始数值为00000000)的情况下,将第二个数据组和第一个数据组比较,第二个数据组和第一个数据组相同,则剩余的存储空间增加1,即第二长度的数值为1(如剩余的存储空间的数值为00000001),将第三个数据组和第二个数据组比较,第三个数据组和第二个数据组相同,则剩余的存储空间增加1,即第二长度的数值为2(如剩余的存储空间的数值为00000010),将第四个数据组和第三个数据组比较,第四个数据组和第三个数据组不相同,则剩余的存储空间停止增加1,此时,剩余的存储空间的数值为2,第二长度的数值为2,可以表征相同的各数据组的数量为3个,分别为第一个数据组、第二个数据组和第三个数据组。此时,第二长度也可以表征数据组的重复次数。
例如,在剩余的存储空间初始数值为1(如若剩余的存储空间为1个字节,则剩余的存储空间的初始数值为00000001)的情况下,将第二个数据组和第一个数据组比较,第二个数据组和第一个数据组相同,则剩余的存储空间增加1,即第二长度的数值为2(如剩余的存储空间的数值为00000010),将第三个数据组和第二个数据组比较,第三个数据组和第二个数据组相同,则剩余的存储空间增加1,即第二长度的数值为3(如剩余的存储空间的数值为00000011),将第四个数据组和第三个数据组比较,第四个数据组和第三个数据组不相同,则剩余的存储空间停止增加1,此时,剩余的存储空间的数值为3,第二长度的数值为3,可以表征相同的各数据组的数量为3个,分别为第一个数据组、第二个数据组和第三个数据组。
在一些实施例中,压缩参数的个数为多个,多个压缩参数不完全相同。例如,一个压缩参数中的第一长度N为1,压缩参数中的第三长度L为2;一个压缩参数中的第一长度N为2,压缩参数中的第三长度L为3;这两个压缩参数不相同。
示例性地,根据压缩参数,将第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,以得到包含压缩单元的第二图像数据,如图11所示,包括:
S207、根据多个压缩参数中的每个压缩参数,将第一图像数据中的待压缩数据集合压缩成相应的压缩单元,生成包含压缩单元的第三图像数据。
S208、从多个第三图像数据中选取长度最小的第三图像数据,或者,长度小于阈值的第三图像数据,作为第二图像数据。
例如,压缩参数包括第一长度,根据多个压缩参数中的每个压缩参数,即每个压缩参数中的第一长度,将第一图像数据中的待压缩数据集合压缩成相应的压缩单元,生成包含压缩单元的第三图像数据。例如,在多个压缩参数为三个的情况下,第一长度也为三个,分别为第一个压缩参数中的第一个第一长度N1,第二个压缩参数中的第二个第一长度N2,第三个压缩参数中的第三个第一长度N3。在此情况下,根据第一个第一长度N1,将第一图像数据中的待压缩数据集合压缩成相应的压缩单元(第一压缩单元),生成包含第一压缩单元的第一个第三图像数据,第一压缩单元中的一个数据组的长度为N1个字节。根据第二个第一长度N2,将第一图像数据中的待压缩数据集合压缩成相应的压缩单元(第二压缩单元),生成包含第二压缩单元的第二个第三图像数据,第二压缩单元中的一个数据组的长度为N2个字节。根据第三个第一长度N3,将第一图像数据中的待压缩数据集合压缩成相应的压缩单元(第三压缩单元),生成包含第三压缩单元的第三个第三图像数据,第三压缩单元中的一个数据组的长度为N3个字节。
例如,压缩参数包括第一长度和第三长度,根据多个压缩参数中的每个压缩参数,即每个压缩参数中的第一长度和第三长度,将第一图像数据中的待压缩数据集合压缩成相应的压缩单元,生成包含压缩单元的第三图像数据。例如,在多个压缩参数为三个的情况下,第一长度和第三长度均为三个,分别为第一个压缩参数中的第一个第一长度N1和第一个第三长度L1,第二个压缩参数中的第二个第一长度N2和第二个第三长度L2,第三个压缩参数中的第三个第一长度N3和第三个第三长度L3。在此情况下,根据第一个第一长度N1和第一个第三长度L1,将第一图像数据中的待压缩数据集合压缩成相应的压缩单元(第一压缩单元),生成包含第一压缩单元的第一个第三图像数据,第一压缩单元中的一个数据组的长度为N1个字节,第一压缩单元的长度为L1。根据第二个第一长度N2和第二个第三长度L2,将第一图像数据中的待压缩数据集合压缩成相应的压缩单元(第二压缩单元),生成包含第二压缩单元的第二个第三图像数据,第二压缩单元中的一个数据组的长度为N2个字节,第二压缩单元的长度为L2个字节。根据第三个第一长度N3和第三个第三长度L3,将第一图像数据中的待压缩数据集合压缩成相应的压缩单元(第三压缩单元),生成包含第三压缩单元的第三个第三图像数据,第三压缩单元中的一个数据组的长度为N3个字节,第三压缩单元的长度为L3个字节。
在此情况下,可以分别比较第一个第三图像数据、第二个第三图像数据和第三个第三图像数据的长度大小,将第一个第三图像数据、第二个第三图像数据和第三个第三图像数据中长度最小的第三图像数据,例如第二个第三图像数据的长度最小,则第二个第三图像数据作为第二图像数据进行传输。或者,在生成第一个第三图像数据、第二个第三图像数据和第三个第三图像数据的过程中,如果第一个第三图像数据的长度大于阈值,第二个第三图像数据的长度小于阈值,那么将第二个第三图像数据作为第二图像数据进行传输,这样不会再生成第三个第三图像数据。
示例性地,上述的阈值可以预先配置在电子设备中,阈值可以表征图像数据的长度(例如图像数据的字节数)。第一电子设备将第一图像数据压缩至长度在阈值范围内的第二图像数据,第二图像数据的长度远小于第一图像数据的长度,第一电子设备将第二图像数据传输至第二电子设备,第二电子设备在解压该第二图像数据的过程中,不会超出第二电子设备的算力。
需要说明的是,在电子设备(例如第一电子设备)中可以预先配置有多个压缩参数。例如,可以预先配置多个第一长度N,在压缩参数还包括第三长度的情况下,还可以预先配置多个第三长度L。
示例性地,根据压缩参数,将第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,如图12所示,包括:
S209、在第一图像数据的待压缩的数据不为空,且待压缩的数据占的字节数小于一个数据组占的字节数的情况下,在待压缩的数据之后写零,以将待压缩的数据补足为一个数据组。
例如,在每个数据组中的数据块的数量为3个,即,数据组为3个字节数,第一长度可以为3个字节的情况下,若在第一图像数据的末端,待压缩的数据为1个数据块A,此时,待压缩的数据为1个字节数,小于3个字节数,可以在待压缩的数据的1个数据块A的之后写零,即,补写2个数据为零的数据块B和C(例如数据块B和C均为00000000),这样,可以根据第一长度读取待压缩的数据,得到包含3个数据块的数据组,且数据组中的3个数据块依次为数据块A、数据块B和数据块C。在此情况下,将写零得到的数据组和其前一个数据组比较,以得到压缩单元。
在一些实施例中,第二图像数据还包括压缩参数。例如,可以将压缩参数写在第二图像数据中的压缩单元之前,也可以将压缩参数写在第二图像数据中的压缩单元之后,压缩参数在第二图像数据中的位置可以根据实际情况进行设计,在此不作限定。例如,压缩参数写在第二图像数据中的压缩单元之前的情况下,可以将第一长度和第三长度写在第二图像数据的压缩单元之前,顺序可以为第三长度,第一长度,压缩单元。例如,压缩参数位于第二图像数据的文件头中。
示例性地,在压缩参数有多个的情况下,第二图像数据所包括的压缩参数为得到该第二图像数据中的压缩单元时所采用的压缩参数。例如,上述的得到第二个第三图像数据时采用的第二个压缩参数,为第二图像数据所包括的压缩参数。
示例性地,第二图像数据还可以包括第一图像数据的数据大小(例如第一图像数据所占的存储空间大小)、所有压缩单元整体的数据大小(例如所有压缩单元整体所占的存储空间大小,或者压缩单元的总数量)和第一图像数据中的多个像素值的排列顺序等。例如,在第二图像数据的文件头中,第1个至第10个字节可以为第一图像数据的数据大小,第11个至第20个字节可以存储所有压缩单元整体的数据大小,第21个字节可以存储第三长度,第22个字节可以存储第一长度,第23个至第26个字节可以存储预留信息(例如图片名称等),第27个至第31个字节可以存储第一图像数据中的多个像素值的排列顺序(例如逐行扫描)。其中,第一图像数据的数据大小是第一图像数据在传输过程中自身携带的信息,所有压缩单元整体的数据大小是在对第一图像数据进行压缩过程中产生的信息,第一长度和第三长度可以是预先选取或设定的信息。
在一些实施例中,数据组包括的数据块的数量为1~4个。例如,一个数据组的存储空间的大小为1~4个字节。例如,第一长度N可以表示1~4个字节的长度。例如,在待压缩数据集合中数据组的数量小于或等于255个(或者数据组的重复次数小于或等于255次)的情况下,第二长度M的存储空间可以为1个字节,此时,第三长度L的存储空间可以为(N+1)个字节;在待压缩数据集合中数据组的数量大于255个,且小于或等于511个(或者数据组的重复次数大于255次,且小于或等于511次)的情况下,第二长度M的存储空间可以为2个字节,此时,第三长度L的存储空间可以为(N+2)个字节。可以理解的是,第三长度的存储空间与第一长度的存储空间的差值大于或等于1个字节。
示例性地,在压缩参数包括第一长度和第三长度的情况下,第二长度的存储空间为第三长度的存储空间与第一长度的存储空间的差值,例如,参考图5,第一长度占S个字节,第三长度占T个字节,此时,第二长度占(T-S)个字节。示例性地,在压缩参数包括第一长度的情况下,可以预设第二长度所占空间大小,进而得到第三长度的大小,例如,第一长度占S个字节,预设第二长度占1个字节,此时,第三长度占(S+1)个字节。
此外,在一些实施例中,数据处理方法还包括:发送第二图像数据至电子设备。例如,第一电子设备将第二图像数据发送至第二电子设备。
本公开的实施例提供一种数据处理方法,该数据处理方法应用于上述的电子设备100,例如应用于上述的第一电子设备100B。如图13所示,数据处理方法包括以下步骤:
S30、获取第二图像数据。其中,第二图像数据包括至少一个压缩单元,一个压缩单元包括一个数据组和第二长度。
S40、根据压缩参数,将第二图像数据中的压缩单元解压成相应的解压数据集合,以得到第四图像数据。
其中,压缩参数包括第一长度,第一长度被配置为表征数据组中数据块的数量。第二长度被配置为表征压缩单元相应的解压数据集合中的数据组的数量。解压数据集合包含至少一个数据组。在解压数据集合包含至少两个数据组的情况下,至少两个数据组连续排列。每个数据组包括至少一个数据块,在数据组包含至少两个数据块的情况下,至少两个数据块连续排列。第四图像数据包括连续排列的多个数据块,每个数据块包括连续排列的多个像素值。
可以理解的是,第一电子设备将待压缩数据集合压缩得到的压缩单元传输至第二电子设备,第二电子设备解压该压缩单元后得到解压数据集合,压缩单元对应的解压数据集合和待压缩数据集合的数据相同。第四图像数据包括至少一个解压数据集合。
需要说明的是,图像数据在解压时采用的压缩参数与该图像数据在压缩时采用的压缩参数相同。其中,压缩参数可以预先配置在电子设备(如第二电子设备)中。解压后的数据(即第四图像数据)与压缩前的数据(即第一图像数据)应该是相同的。
例如,在压缩单元包含一个数据组A,第二长度为3(即压缩单元相应的解压数据集合中的数据组的数量为3个)的情况下,解压数据集合为(A,A,A),且在第一长度为3(即数据组中数据块的数量为3个)的情况下,数据组A包含三个数据块(A1,A2,A3),解压数据集合为(A1,A2,A3,A1,A2,A3,A1,A2,A3),可以得到包括六个数据块(A1,A2,A3,A1,A2,A3,A1,A2,A3)的第四图像数据。此时,数据组A占3个字节,第二长度占1个字节,压缩单元占4个字节,解压数据集合占6个字节,第四图像数据占6个字节。在此情况下,压缩单元的数据量相对较小,在解压过程中占用电子设备的算力较小,且占用的存储空间也较小,可以降低电子设备的成本和功耗。
因此,本公开的实施例提供的数据处理方法,获取第二图像数据,第二图像数据包括压缩单元,压缩单元包括一个数据组和第二长度,根据压缩参数,将第二图像数据中的压缩单元解压成相应的解压数据集合,以得到第四图像数据,压缩参数包括第一长度。在此情况下,由于压缩单元的数据量相比于该压缩单元对应的解压数据集合的数据量较小,电子设备在对压缩单元进行解压以得到第四图像数据的过程中,占用的算力和存储空间相对较小,从而可以降低电子设备的成本和功耗,提高数据处理的效率。另外,本公开的实施例提供的数据处理方法,解压简单,可适用于例如包括微处理器(Micro Controller Unit,MCU)等的低端处理器。
示例性地,根据压缩参数,将第二图像数据中的压缩单元解压成相应的解压数据集合,如图14所示,包括:
S401、根据第一长度,读取压缩单元中的数据组。
例如,在第一长度大于1,即,数据组中的数据块的数量大于1的情况下,数据组占多个字节,可以一次读取该多个字节以得到压缩单元中的数据组,相比于单个字节读取,可以提高图像数据处理的效率。
S402、根据第二长度复制数据组,生成解压数据集合。
例如,在压缩以得到第二图像数据的过程中,将第二长度置零的情况下,自解压的第一个数据组起,每复制一个数据组,第二长度减少1,直至第二长度为零,得到解压数据集合。例如,压缩单元的数据组(00001111),第二长度为3,第一长度为1(表示1个字节),此时,根据第一长度,读取压缩单元中的1个字节,得到数据组(00001111),在第二长度不为零的情况下,则复制数据组,得到的解压数据集合为(00001111,00001111),此时第二长度减少1,即,第二长度为3-1=2;继续在第二长度不为零的情况下,复制数据组,得到的解压数据集合为(00001111,00001111,00001111),此时第二长度减少1,即,第二长度为2-1=1;继续在第二长度不为零的情况下,复制数据组,得到的解压数据集合为(00001111,00001111,00001111,00001111),此时第二长度减少1,即,第二长度为1-1=0;在此情况下,第二长度等于零,停止复制数据组,该压缩单元的解压完成,得到的解压数据集合中的数据组的数量为4个。
例如,在压缩以得到第二图像数据的过程中,将第二长度置零的情况下,复制次数置零,自解压的第一个数据组起,每复制一个数据组,复制次数增加1,直至复制次数与第二长度的数值相等时,压缩单元的解压完成,得到解压数据集合。例如,压缩单元的数据组(00001111),第二长度为3,第一长度为1(表示1个字节),此时,根据第一长度,读取压缩单元中的1个字节,得到数据组(00001111),在复制次数不等于第二长度的情况下,则复制数据组,得到的解压数据集合为(00001111,00001111),此时复制次数增加1,即,复制次数为1;继续,在复制次数不等于第二长度的情况下,复制数据组,得到的解压数据集合为(00001111,00001111,00001111),此时复制次数增加1,即,复制次数为1+1=2;继续,在复制次数不等于第二长度的情况下,复制数据组,得到的解压数据集合为(00001111,00001111,00001111,00001111),此时复制次数增加1,即,复制次数为2+1=3;在此情况下,复制次数等于第二长度,停止复制数据组,该压缩单元的解压完成,得到的解压数据集合中的数据组的数量为4个。
例如,在压缩以得到第二图像数据的过程中,将第二长度置1的情况下,自解压的第一个数据组起,每复制一个数据组,第二长度减少1,直至第二长度为1,得到解压数据集合。例如,压缩单元的数据组(00001111),第二长度为3,第一长度为1(表示1个字节),此时,根据第一长度,读取压缩单元中的1个字节,得到数据组(00001111),在第二长度不等于1的情况下,则复制数据组,得到的解压数据集合为(00001111,00001111),此时第二长度减少1,即,第二长度为3-1=2;继续在第二长度不为1的情况下,复制数据组,得到的解压数据集合为(00001111,00001111,00001111),此时第二长度减少1,即,第二长度为2-1=1;在此情况下,第二长度等于1,停止复制数据组,该压缩单元的解压完成,得到的解压数据集合中的数据组的数量为3个。
例如,在压缩以得到第二图像数据的过程中,将第二长度置1的情况下,复制次数置1,自解压的第一个数据组起,每复制一个数据组,复制次数增加1,直至复制次数与第二长度的数值相等时,压缩单元的解压完成,得到解压数据集合。例如,压缩单元的数据组(00001111),第二长度为3,第一长度为1(表示1个字节),此时,根据第一长度,读取压缩单元中的1个字节,得到数据组(00001111),在复制次数不等于第二长度的情况下,则复制数据组,得到的解压数据集合为(00001111,00001111),此时复制次数增加1,即,复制次数为1+1=2;继续,在复制次数不等于第二长度的情况下,复制数据组,得到的解压数据集合为(00001111,00001111,00001111),此时复制次数增加1,即,复制次数为2+1=3;在此情况下,复制次数等于第二长度,停止复制数据组,该压缩单元的解压完成,得到的解压数据集合中的数据组的数量为3个。
在一些实施例中,压缩参数还包括第三长度。第三长度被配置为表征压缩单元的存储空间的大小。根据压缩参数,将第二图像数据中的压缩单元解压成相应的解压数据集合,如图15所示,包括:
S403、根据第三长度,读取第二图像数据中的压缩单元,将压缩单元解压成相应的解压数据集合。
例如,根据第三长度,读取第二图像数据中待解压的数据,以得到压缩单元。例如,参考图5,在压缩单元占T个字节,可以每次读取T个字节,得到第二图像数据中的压缩单元。并在第一长度为S个字节的情况下,读取压缩单元的S个字节,即得到压缩单元的数据组,再根据压缩单元中的(T-S)个字节复制数据组,从而对压缩单元进行解压,得到解压数据集合。这样,相比于单个字节读取数据,可以提高图像数据处理的效率。
例如,电子设备在解压的过程中,在存储空间内,写入解压后的数据。例如,对于一个压缩单元,根据第一长度读取得到数据组时,在存储空间内写入第一个数据组,之后读取第二长度,并根据第二长度重复写入该数据组,以得到压缩单元对应的解压数据集合。
例如,在第二图像数据包括所有压缩单元整体的数据大小(例如所有压缩单元整体所占的存储空间大小,或者压缩单元的总数量)的情况下,可以在每次读取压缩单元之前,比较已读取的压缩单元的数据与第二图像数据所包括的所有压缩单元整体的数据的大小关系,若已读取的压缩单元的数据小于第二图像数据所包括的所有压缩单元整体的数据的大小,则表示第二图像数据中的压缩单元未读取完成,继续根据第三长度,读取压缩单元,若已读取的压缩单元的数据等于第二图像数据所包括的所有压缩单元整体的数据的大小,则表示第二图像数据中的压缩单元已全部读取完成,停止读取压缩单元。
在一些实施例中,第二图像数据还包括第一图像数据的长度。如图16所示,数据处理方法包括:
S50、在已解压的数据的长度大于第一图像数据的长度的情况下,删除已解压的数据的末端超出第一图像数据的长度的部分数据,得到第一图像数据。
例如,第一图像数据的长度为6个字节,已解压的数据的长度为7个字节的情况下,可以删除第7个字节的数据,已解压的数据的第1个至第6个字节的数据为第一图像数据;或者,可以从已解压的数据的第1个字节起读取数据,直至长度等于第一图像数据的长度(即第6个字节)为止,已解压的数据中的第1个至第6个字节的数据为第一图像数据。例如,对于发送端的电子设备,在待压缩的数据之后写零,以将待压缩的数据补足为一个数据组的情况,在补足的数据组解压后,在已解压的数据的长度大于第一图像数据的长度,删除压缩时写零的数据,得到的已解压的数据为第一图像数据。这样,压缩前的数据与解压后的数据一致,保证了数据处理的准确性。
需要说明的是,电子设备(如第二电子设备)包括第一存储器和第二存储器,例如第一存储器为随机存储器(RAM),第二存储器为闪存(Flash Memory)。例如,在对第二图像数据进行解压的过程中,对于解压每个压缩单元,可以将中间数据存储在第一存储器中,将解压得到的数据组存储在第二存储器中,即,解压数据集合存储在第二存储器中,第一存储器不存储相应的解压数据集合;或者,第一存储器也可以存储压缩单元的各数据组,在该压缩单元解压完成后,将包含各数据组的解压数据集合存入第二存储器中。
本公开的实施例提供一个数据处理装置300A,如图17所示,数据处理装置300A包括获取单元301A和处理单元302A。
获取单元301A被配置为获取第一图像数据。第一图像数据包括连续排列的多个像素值,多个像素值按照像素值排列的次序分为多个数据块,每个数据块占一个字节且包含至少一个像素值。
处理单元302A被配置为根据压缩参数,将第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,以得到包含压缩单元的第二图像数据。其中,一个待压缩数据集合包含至少一个数据组,在待压缩数据集合包含至少两个数据组的情况下,至少两个数据组连续排列且相同;每个数据组包括至少一个数据块,在数据组包含至少两个数据块的情况下,至少两个数据块连续排列。
压缩参数包括第一长度,第一长度被配置为表征数据组中的数据块的数量;压缩单元包含待压缩数据集合中的一个数据组和第二长度,第二长度被配置为表征待压缩数据集合中数据组的数量。
在一些实施例中,如图17所示,数据处理装置300A还包括发送单元303A。发送单元303A被配置为发送第二图像数据至电子设备100(例如上述的第二电子设备100B)。
需要说明的是,上述的数据处理装置可以实现上述的一些数据数据方法,例如对第一图像数据进行压缩的数据处理方法,上述的数据处理装置与上述的一些数据处理方法具有相同的有益效果,在此不作赘述。
本公开的实施例提供一种数据处理装置300B,如图18所示,数据处理装置300B包括获取单元301B和处理单元302B。
获取单元301B被配置为获取第二图像数据,第二图像数据包括至少一个压缩单元,一个压缩单元包括一个数据组和第二长度。
处理单元302B被配置为根据压缩参数,将第二图像数据中的压缩单元解压成相应的解压数据集合,以得到第四图像数据。压缩参数包括第一长度,第一长度被配置为表征所述数据组中的数据块的数量。第二长度被配置为表征压缩单元相应的解压数据集合中的数据组的数量。
解压数据集合包含至少一个数据组,在解压数据集合包含至少两个所述数据组的情况下,至少两个数据组连续排列。每个数据组包括至少一个数据块,在数据组包含至少两个数据块的情况下,至少两个数据块连续排列。第四图像数据包括连续排列的多个数据块,每个数据块包括连续排列的多个像素值。
示例性地,第二图像数据还包括第一图像数据的长度。处理单元302B还被配置为在已解压的数据的长度大于第一图像数据的长度的情况下,删除已解压的数据的末端超出第一图像数据的长度的部分数据,得到第一图像数据。
需要说明的是,上述的数据处理装置可以实现上述的一些数据处理方法,例如,对第二图像数据进行解压的数据处理方法,上述的数据处理装置与上述的一些数据处理方法具有相同的有益效果,在此不作赘述。
图17和图18所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。图17和图18中上述各个单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。例如,采用软件实现时,上述的获取单元301和处理单元302等可以是由至少一个处理器读取存储器中存储的程序代码后,生成的软件功能模块来实现。图17和图18中上述各个单元也可以由计算机(显示装置)中的不同硬件分别实现,例如处理单元302由至少一个处理器中的一部分处理资源(例如多核处理器中的一个核或两个核)实现,而获取单元301由至少一个处理器中的其余部分处理资源(例如多核处理器中的其他核)。例如,采用硬件的形式实现,示例性地,上述的数据处理装置300可以为可编程器件,例如硬件可编程器件,例如FPGA(Field Programmable Gate Array,现场可编程门阵列)。上述功能单元也可以采用软件硬件相结合的方式来实现,例如获取单元301和处理单元302等是由CPU读取存储器中存储的程序代码后,生成的软件功能模块。
图17和图18中获取单元301和处理单元302等实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、磁盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state drives,SSD))等。
本公开的一些实施例提供了一种计算机非瞬态可读存储介质(例如,非暂态计算机可读存储介质),该计算机可读存储介质中存储有计算机程序指令,计算机程序指令在计算机上运行时,使得计算机执行如上述实施例所述的数据处理方法中的一个或多个步骤。
示例性的,上述计算机可读存储介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,CD(Compact Disk,压缩盘)、DVD(Digital VersatileDisk,数字通用盘)等),智能卡和闪存器件(例如,EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、卡、棒或钥匙驱动器等)。本公开描述的各种计算机可读存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读存储介质。术语“机器可读存储介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
本公开的一些实施例还提供了一种计算机程序产品。该计算机程序产品包括计算机程序指令,在计算机上执行该计算机程序指令时,该计算机程序指令使计算机执行如上述实施例所述的数据处理方法中的一个或多个步骤。
本公开的一些实施例还提供了一种计算机程序。当该计算机程序在计算机上执行时,该计算机程序使计算机执行如上述实施例所述的数据处理方法中的一个或多个步骤。
上述计算机可读存储介质、计算机程序产品及计算机程序的有益效果和上述一些实施例所述的数据处理方法的有益效果相同,此处不再赘述。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (17)

1.一种数据处理方法,其特征在于,包括:
获取第一图像数据;所述第一图像数据包括连续排列的多个像素值,所述多个像素值按照像素值排列的次序分为多个数据块,每个数据块占一个字节且包含至少一个像素值;
根据压缩参数,将所述第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,以得到包含所述压缩单元的第二图像数据;
其中,一个待压缩数据集合包含至少一个数据组,在所述待压缩数据集合包含至少两个数据组的情况下,所述至少两个数据组连续排列且相同;每个数据组包括至少一个所述数据块,在所述数据组包含至少两个数据块的情况下,所述至少两个数据块连续排列;
所述压缩参数包括第一长度,所述第一长度被配置为表征所述数据组中的数据块的数量;所述压缩单元包含所述待压缩数据集合中的一个数据组和第二长度,所述第二长度被配置为表征所述待压缩数据集合中数据组的数量。
2.根据权利要求1所述的数据处理方法,其特征在于,所述根据压缩参数,将所述第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,包括:
从所述第一图像数据的待压缩的数据中,根据所述第一长度,依次读取数据组;
自第一个数据组起,逐个确定后一个数据组与当前的数据组是否相同,直至后一个数据组与当前的数据组不相同,或者相同的各数据组的数量超过设定值为止;
其中,相同的各数据组构成所述待压缩数据集合;
根据相同的各数据组中的一个数据组和所述第二长度,生成所述待压缩数据集合相应的压缩单元。
3.根据权利要求2所述的数据处理方法,其特征在于,所述根据压缩参数,将所述第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,还包括:
将所述第二长度置零或置1;
自第一个数据组起,响应于后一个数据组与当前的数据组相同,将所述第二长度增加1,直至后一个数据组与当前的数据组不相同,或者相同的各数据组的数量超过设定值为止,得到能够表征所述待压缩数据集合中相同的各数据组的数量的第二长度。
4.根据权利要求2所述的数据处理方法,其特征在于,所述压缩参数还包括第三长度;所述第三长度被配置为表征所述压缩单元的存储空间的大小;
所述根据相同的各数据组中的一个数据组和所述第二长度,生成所述待压缩数据集合相应的压缩单元,包括:
将所述待压缩数据集合的一个数据组和所述第二长度,写入具有所述第三长度的存储空间中,生成所述待压缩数据集合相应的压缩单元。
5.根据权利要求2所述的数据处理方法,其特征在于,所述压缩单元所包含的一个数据组为所述待压缩数据集合的第一个数据组。
6.根据权利要求2~5中任一项所述的数据处理方法,其特征在于,所述从所述第一图像数据的待压缩的数据中,根据所述第一长度,依次读取数据组,包括:
从所述第一图像数据的待压缩的数据中,除第一个数据组外,在得到每个数据组之前,在已处理的数据的长度小于所述第一图像数据的长度的情况下,得到数据组。
7.根据权利要求1~5中任一项所述的数据处理方法,其特征在于,所述压缩参数为多个压缩参数;所述多个压缩参数不完全相同;
所述根据压缩参数,将所述第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,以得到包含所述压缩单元的第二图像数据,包括:
根据所述多个压缩参数中的每个压缩参数,将所述第一图像数据中的待压缩数据集合压缩成相应的压缩单元,生成包含所述压缩单元的第三图像数据;
从多个第三图像数据中选取长度最小的第三图像数据,或者,长度小于阈值的第三图像数据,作为所述第二图像数据。
8.根据权利要求1~5中任一项所述的数据处理方法,其特征在于,所述根据压缩参数,将所述第一图像数据中的至少一个待压缩数据集合压缩成相应的压缩单元,包括:
在所述第一图像数据的待压缩的数据不为空,且所述待压缩的数据占的字节数小于一个数据组占的字节数的情况下,在所述待压缩的数据之后写零,以将所述待压缩的数据补足为一个数据组。
9.根据权利要求1~5中任一项所述的数据处理方法,其特征在于,所述第二图像数据还包括所述压缩参数。
10.根据权利要求1~5中任一项所述的数据处理方法,其特征在于,所述数据组包括的数据块的数量为1~4个。
11.一种数据处理方法,其特征在于,包括:
获取第二图像数据;所述第二图像数据包括至少一个压缩单元;一个压缩单元包括一个数据组和第二长度;
根据压缩参数,将所述第二图像数据中的压缩单元解压成相应的解压数据集合,以得到第四图像数据;所述压缩参数包括第一长度,所述第一长度被配置为表征所述数据组中的数据块的数量;所述第二长度被配置为表征所述压缩单元相应的解压数据集合中的数据组的数量;
所述解压数据集合包含至少一个所述数据组,在所述解压数据集合包含至少两个所述数据组的情况下,至少两个所述数据组连续排列;每个数据组包括至少一个所述数据块,在所述数据组包含至少两个所述数据块的情况下,所述至少两个所述数据块连续排列;所述第四图像数据包括连续排列的多个所述数据块,每个数据块包括连续排列的多个像素值。
12.根据权利要求11所述的数据处理方法,其特征在于,所述根据压缩参数,将所述第二图像数据中的压缩单元解压成相应的解压数据集合,包括:
根据所述第一长度,读取所述压缩单元中的所述数据组;
根据所述第二长度复制所述数据组,生成所述解压数据集合。
13.根据权利要求11或12所述的数据处理方法,其特征在于,所述压缩参数还包括第三长度;所述第三长度被配置为表征所述压缩单元的存储空间的大小;
所述根据压缩参数,将所述第二图像数据中的压缩单元解压成相应的解压数据集合,还包括:
根据所述第三长度,读取所述第二图像数据中的压缩单元,将所述压缩单元解压成相应的解压数据集合。
14.根据权利要求11或12所述的数据处理方法,其特征在于,所述第二图像数据还包括第一图像数据的长度;所述数据处理方法还包括:
在已解压的数据的长度大于所述第一图像数据的长度的情况下,删除所述已解压的数据的末端超出所述第一图像数据的长度的部分数据,得到所述第一图像数据。
15.一种电子设备,其特征在于,包括:
存储器;所述存储器中存储一个或多个计算机程序指令;
处理器;所述处理器与所述存储器耦接;所述处理器被配置为执行所述一个或多个计算机程序指令,以使得所述电子设备实现如权利要求1~10中任一项所述的数据处理方法;和/或,如权利要求11~14中任一项所述的数据处理方法。
16.一种数据处理系统,其特征在于,包括:
第一电子设备,被配置为实现如权利要求1~10中任一项所述的数据处理方法;
第二电子设备,与所述第一电子设备耦接;所述第二电子设备被配置为实现如权利要求11~14中任一项所述的数据处理方法。
17.一种计算机非瞬态可读存储介质,其特征在于,其存储有计算机程序指令,其中,所述计算机程序指令在计算机运行时,使得计算机实现如权利要求1~10中任一项所述的数据处理方法;或者,实现如权利要求11~14中任一项所述的数据处理方法。
CN202010899685.3A 2020-08-31 2020-08-31 数据处理方法及系统、电子设备 Pending CN114125456A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010899685.3A CN114125456A (zh) 2020-08-31 2020-08-31 数据处理方法及系统、电子设备
PCT/CN2021/104745 WO2022042053A1 (zh) 2020-08-31 2021-07-06 数据处理方法及系统、电子设备
US17/770,600 US20230024148A1 (en) 2020-08-31 2021-07-06 Data processing methods and systems, and electronic devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010899685.3A CN114125456A (zh) 2020-08-31 2020-08-31 数据处理方法及系统、电子设备

Publications (1)

Publication Number Publication Date
CN114125456A true CN114125456A (zh) 2022-03-01

Family

ID=80352573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010899685.3A Pending CN114125456A (zh) 2020-08-31 2020-08-31 数据处理方法及系统、电子设备

Country Status (3)

Country Link
US (1) US20230024148A1 (zh)
CN (1) CN114125456A (zh)
WO (1) WO2022042053A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022486A (zh) * 2022-08-09 2022-09-06 浙江深佳科技有限公司 一种基于多方交互的图像数据处理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4673987A (en) * 1985-04-22 1987-06-16 Ibm Corporation Compressed block code for facsimile transmission
JP3870171B2 (ja) * 2003-03-11 2007-01-17 キヤノン株式会社 符号化方法及び符号化装置、コンピュータプログラム並びにコンピュータ可読記憶媒体
US7483585B2 (en) * 2004-12-01 2009-01-27 Ati Technologies Ulc Image compression using variable bit size run length encoding
US8238674B2 (en) * 2009-08-11 2012-08-07 Freescale Semiconductor, Inc Method for encoding and decoding images
CN102281469A (zh) * 2011-08-31 2011-12-14 深圳市茁壮网络股份有限公司 一种位图信息的处理方法及机顶盒
CN103139567B (zh) * 2013-01-28 2015-11-18 东软集团股份有限公司 一种图像压缩和解压缩的方法和装置
US9734550B1 (en) * 2015-05-13 2017-08-15 Accusoft Corporation Methods and apparatus for efficiently determining run lengths and identifying patterns

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022486A (zh) * 2022-08-09 2022-09-06 浙江深佳科技有限公司 一种基于多方交互的图像数据处理方法

Also Published As

Publication number Publication date
WO2022042053A1 (zh) 2022-03-03
US20230024148A1 (en) 2023-01-26

Similar Documents

Publication Publication Date Title
CN106056530B (zh) 应用中图片内容的显示方法及装置
CN107292808B (zh) 图像处理方法、装置及图像协处理器
US10129385B2 (en) Method and apparatus for generating and playing animated message
CN102821279A (zh) 一种保留alpha通道的图片压缩方法
CN105611213A (zh) 一种图像处理方法、播放方法及相关的装置和系统
CN108900843A (zh) 单色图像压缩方法、装置、介质及电子设备
CN111491169A (zh) 一种数字图像压缩方法、装置、设备、介质
CN112118449B (zh) 一种图像压缩与解压缩的方法及装置
US20230024148A1 (en) Data processing methods and systems, and electronic devices
CN111222611A (zh) 一种基于颜色的堆叠式三维码编码方法、编码装置、解码方法、解码装置以及存储介质
US9781419B2 (en) Compressing image data
JP2010191026A (ja) 外部表示装置に応じた画像データを出力する端末、プログラム及び方法
CN110782387B (zh) 图像处理方法、装置、图像处理器及电子设备
CN105704215B (zh) 文件共享系统及相应的文件发送方法及装置
CN115794666B (zh) 纹素的内存地址确定方法、装置、设备及存储介质
CN112363791A (zh) 一种录屏方法、装置、存储介质及终端设备
CN116405692A (zh) 一种基于云端抠图的传输方法和相关设备
US20020159517A1 (en) Transmission apparatus of video information, transmission system of video information and transmission method of video information
US20230351976A1 (en) Internet-of-things terminal and picture updating method therefor
KR101538491B1 (ko) 이미지를 부가 데이터의 저장 및 이동 수단으로 이용하는 방법 및 장치
CN103310744A (zh) 液晶显示模块、可携式电子装置及其显示方法
US20060170708A1 (en) Circuits for processing encoded image data using reduced external memory access and methods of operating the same
CN114428595B (zh) 图像处理方法、装置、计算机设备和存储介质
CN112073726B (zh) 压缩方法及装置、计算机可读存储介质及电子设备
WO2023231710A1 (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