CN108683920A - 一种深度数据的编码方法和解码方法 - Google Patents
一种深度数据的编码方法和解码方法 Download PDFInfo
- Publication number
- CN108683920A CN108683920A CN201810551609.6A CN201810551609A CN108683920A CN 108683920 A CN108683920 A CN 108683920A CN 201810551609 A CN201810551609 A CN 201810551609A CN 108683920 A CN108683920 A CN 108683920A
- Authority
- CN
- China
- Prior art keywords
- data
- depth value
- depth
- pixel
- coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种深度数据的编码方法和解码方法,该深度数据的编码方法包括:步骤S11,读取当前像素的深度数值;步骤S12,判断当前像素的深度数值和当前像素的相邻像素的深度数值是否相同;步骤S13,在当前像素的深度数值和相邻像素的深度数值相同的情况下,将计算出的重复的像素个数存储,以及更新相邻像素的深度数值,并返回步骤S11。借助于本发明的上述技术方案,能够实现深度视频数据的实时压缩。
Description
技术领域
本发明涉及图像处理技术领域,具体涉及一种深度数据的编码方法和解码方法。
背景技术
现有的压缩数据技术并没有专门针对深度数据的压缩算法,其可以借鉴的算法主要分为两类:
一类是通用的有损视频压缩算法,比如H264以及JPEG(Joint PhotographicExperts Group,联合图像专家小组)等等,该有损视频压缩算法的优势是有很多成熟的硬件芯片方案去实现压缩算法,而且压缩率较高。但是,其缺点是压缩算法的输入源要求是8位的通用图像数据,其原理是在频域对人眼不敏感的边缘信息进行滤波处理,从而减少频域上的数据量用于实现压缩,而深度数据的边缘往往是最关键的部分,如果被低通滤波之后,会出现中间数据,影响深度的数据准确性,而且深度数据基本都不是用8位数据表示的,所以此方案基本无法对通用的深度数据进行压缩处理。
另外一类则是通用的无损数据压缩算法,比如PNG(Portable Network Graphics,便携式网络图形)和Zip采用的压缩方法,该无损数据压缩算法的优势是可以完整的将数据压缩并还原,而且基本与数据源格式无关,但是缺点是对较大的图像数据压缩时,需要消耗巨大的系统性能,而且往往没有硬件模块去实现,很难在嵌入式设备上对视频数据实现实时的压缩和解压。另外由于其设计初衷并没有利用深度数据的特性,所以压缩率也并不高。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出了一种深度数据的编码方法和解码方法,其解决了现有压缩技术无法在嵌入式设备里对实时的深度视频数据进行压缩的问题。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种深度数据的编码方法。
该深度数据的编码方法包括:步骤S11,读取当前像素的深度数值;步骤S12,判断当前像素的深度数值和当前像素的相邻像素的深度数值是否相同;步骤S13,在当前像素的深度数值和相邻像素的深度数值相同的情况下,将计算出的重复的像素个数存储,以及更新相邻像素的深度数值,并返回步骤S11。
根据本发明的一个实施例,在当前像素的深度数值和相邻像素的深度数值不相同的情况下,编码方法还包括:步骤S21,计算当前像素的差值和相邻像素的差值;步骤S22,判断差值是否位于预设的深度数值范围内;步骤S23,在差值位于深度数值范围内的情况下,将计算出的差值保存,以及更新相邻像素的深度数值,并返回步骤S11。
根据本发明的一个实施例,在差值没有位于深度数值范围内的情况下,编码方法还包括:直接将当前像素的深度数值进行存储,并更新相邻像素的深度数值。
根据本发明的另一方面,提供了一种深度数据的解码方法。
该深度数据的解码方法包括:步骤S41,判断当前数据的类型;步骤 S42,在当前数据的类型为原始数据的情况下,去除数据类型,以及存储当前数据,并更新相邻像素,并返回步骤S41。
根据本发明的一个实施例,还包括:步骤S43,在当前数据的类型为重复数据的情况下,根据相邻像素的深度数值,还原相应重复数目的深度数值并存储,并返回步骤S41。
根据本发明的一个实施例,还包括:步骤S44,在当前数据的类型为差值数据的情况下,根据差值和相邻像素的深度数值,计算当前像素的深度数值,并返回步骤S41。
根据本发明的一个实施例,步骤S44进一步包括:
多次计算当前像素的深度数值,并在每次计算完后,存储深度数值并更新相邻像素的深度数值。
本发明的有益技术效果在于:
本发明通过读取当前像素的深度数值,随后判断当前像素的深度数值和当前像素的相邻像素的深度数值是否相同,最后在当前像素的深度数值和相邻像素的深度数值相同的情况下,将计算出的重复的像素个数存储,以及更新相邻像素的深度数值,从而能够实现深度视频数据的实时压缩。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的深度数据的编码方法的流程图;
图2是根据本发明实施例的深度数据的编码方法的语义设计图;
图3是根据本发明实施例的深度数据的编码方法的具体流程图;
图4是根据本发明实施例的深度数据的解码方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种深度数据的编码方法。
如图1所示,根据本发明实施例的深度数据的编码方法包括:步骤S11,读取当前像素的深度数值;步骤S12,判断当前像素的深度数值和当前像素的相邻像素的深度数值是否相同;步骤S13,在当前像素的深度数值和相邻像素的深度数值相同的情况下,将计算出的重复的像素个数存储,以及更新相邻像素的深度数值,并返回步骤S11。
借助于本发明的上述技术方案,通过读取当前像素的深度数值,随后判断当前像素的深度数值和当前像素的相邻像素的深度数值是否相同,最后在当前像素的深度数值和相邻像素的深度数值相同的情况下,将计算出的重复的像素个数存储,以及更新相邻像素的深度数值,从而能够实现深度视频数据的实时压缩。
根据本发明的一个实施例,在当前像素的深度数值和相邻像素的深度数值不相同的情况下,编码方法还包括:步骤S21,计算当前像素的差值和相邻像素的差值;步骤S22,判断差值是否位于预设的深度数值范围内;步骤S23,在差值位于深度数值范围内的情况下,将计算出的差值保存,以及更新相邻像素的深度数值,并返回步骤S11。
根据本发明的一个实施例,在差值没有位于深度数值范围内的情况下,编码方法还包括:直接将当前像素的深度数值进行存储,并更新相邻像素的深度数值。
为了便于理解本发明的技术方案,下面通过具体的实施例进行详细的描述。
该深度数据的编码方法的工作原理为:大多数相邻的深度数据变化并不大,只有在少数边缘部分处存在大幅度变化。所以可以只用少量数据来存储大多数数值不大的差分数据,就可以实现一定的数据压缩。另外为了节省CPU运算资源,全部采用定长数据编码。
此外,该深度数据的编码方法的语法设计:将编码后的数据分两部分存储,一部分存储数据类型,一部分存储数据,数据的真实含义根据数据类型的不同则分别表示三种不同的含义,一种表示真实数据,一种表示差值数据,另外一种表示重复数据的个数。
另外,假设深度数据每个像素需要占用N位表示,而深度数据本身可以只用n位数据表示,差值数据用m位数据表示,数据类型用t位表示。则设计时只要保证N不小于n和t的和,同时n不小于2倍的m,就很容易实现快速高效的压缩算法。
此外,该深度数据的编码方法的语义设计:最终的数据由t+n位数据表示,假设t位数据里存储的值为type,n位数据里存储的值为num,当type 表示真实数据时,则num表示当前像素的深度数值;当type表示重复数据时,则num表示有连续num个相同的数据,其深度数值和当前像素的前一个像素的值相同;当type表示差值数据时,则num表示至少两个深度数据的差值,此差值表示当前像素的深度数值和前一像素的深度数据的差值,同时type本身还可以扩展为后面差值数据的个数。
另外,考虑到实际的深度数据只有12位,数据的高四位实际上是没有使用的,所以将高四位数据拿出来用于表示数据类型,如图2所示。
其中,图2中0位表示低位,F表示第15位,也就是最高位。
C到F位表示数据类型。
0到B位表示存储数据,其含义与数据类型相关。
数据类型与存储数据的对应关系如下:
数据类型为0时,存储数据表示真实数据;
数据类型为1时,存储数据表示重复数据的个数;
数据类型2~4时,存储数据表示差值数据,而数据类型本身的值还表示差值数据的个数。
当存储数据为差值模式时,后面的12位被分成4部分,也就是用每3 位数据表示相邻像素的差值,范围为-4~3,以补码形式存储。
0到2位表示第一个差值;
3到5位表示第二个差值;
6到8位表示第三个差值;
9到B位表示第三个差值;
当数据类型为2时,只有0到5位数据有效。
如图3所示,该深度数据的编码方法步骤如下:
步骤1、根据m的值来确定差值数据能够表示的数值范围;
步骤2、将前一像素的默认值修改为0;
步骤3、获取一个像素的待编码的数据;
步骤4、判断当前像素和前一个像素是否相同,如果相同则计算重复的像素个数并存储,更新前一像素的数值,并返回步骤3,如果不同,则进行下一步操作;
步骤5、判断当前像素和前一像素的差值是否在m位差值数据的表示范围内,如果在,则计算差值并保存,更新前一像素的数值,并返回步骤3,如果不在,则进行下一步操作;
步骤6、直接存储当前像素的原始数据,并更新前一像素的数值。然后返回步骤3。
根据本发明的实施例,还提供了一种深度数据的解码方法。
如图4所示,根据本发明实施例的深度数据的解码方法包括:步骤S301,判断当前数据的类型;步骤S303,在当前数据的类型为原始数据的情况下,去除数据类型,以及存储当前数据,并更新相邻像素,并返回步骤S301。
根据本发明的一个实施例,还包括:步骤S305,在当前数据的类型为重复数据的情况下,根据相邻像素的深度数值,还原相应重复数目的深度数值并存储,并返回步骤S301。
根据本发明的一个实施例,还包括:步骤S307,在当前数据的类型为差值数据的情况下,根据差值和相邻像素的深度数值,计算当前像素的深度数值,并返回步骤S301。
根据本发明的一个实施例,步骤S307进一步包括:多次计算当前像素的深度数值,并在每次计算完后,存储深度数值并更新相邻像素的深度数值。
为了便于理解本发明的技术方案,下面通过具体的实施例进行详细的描述。
该深度数据的解码方法包括:
步骤10、将前一像素的默认值修改为0;
步骤20、读取n+t位数据,判断数据类型,如果数据类型为原始数据,则执行步骤30;如果数据类型为重复数据,则执行步骤40;如果数据类型为差值数据,则执行步骤50;
步骤30、去除数据类型,存储当前数据,并更新前一像素,返回步骤 20;
步骤40、根据前一像素的数值,还原相应重复数目的数据并存储,返回步骤20;
步骤50、根据差值和前一像素的数值,计算当前像素的深度数值,每计算一次,则需要存储数据并更新前一像素的数值,计算完成后返回步骤 20。
从而,通过本发明的上述编码方法和解码方法,从而在正常应用场景中,对12位的深度数据,最终能够实现2到4倍的数据压缩率,而且此算法实现较为简单,消耗性能极低,在基于armA7架构的芯片上,能够实现分辨率为640x480,帧率为30帧的12位深度实时视频数据的压缩。
综上所述,借助于本发明的上述技术方案,能够实现深度视频数据的实时压缩,并且该方案实现较为简单,消耗性能极低。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种深度数据的编码方法,其特征在于,包括以下步骤:
步骤S11,读取当前像素的深度数值;
步骤S12,判断所述当前像素的深度数值和所述当前像素的相邻像素的深度数值是否相同;
步骤S13,在所述当前像素的深度数值和所述相邻像素的深度数值相同的情况下,将计算出的重复的像素个数存储,以及更新所述相邻像素的深度数值,并返回所述步骤S11。
2.根据权利要求1所述的编码方法,其特征在于,在所述当前像素的深度数值和所述相邻像素的深度数值不相同的情况下,所述编码方法还包括:
步骤S21,计算所述当前像素的差值和所述相邻像素的差值;
步骤S22,判断所述差值是否位于预设的深度数值范围内;
步骤S23,在所述差值位于所述深度数值范围内的情况下,将计算出的差值保存,以及更新所述相邻像素的深度数值,并返回所述步骤S11。
3.根据权利要求2所述的编码方法,其特征在于,在所述差值没有位于所述深度数值范围内的情况下,所述编码方法还包括:
直接将所述当前像素的深度数值进行存储,并更新所述相邻像素的深度数值。
4.一种深度数据的解码方法,其特征在于,包括以下步骤:
步骤S41,判断当前数据的类型;
步骤S42,在所述当前数据的类型为原始数据的情况下,去除数据类型,以及存储所述当前数据,并更新相邻像素,并返回所述步骤S41。
5.根据权利要求4所述的解码方法,其特征在于,还包括:
步骤S43,在所述当前数据的类型为重复数据的情况下,根据所述相邻像素的深度数值,还原相应重复数目的深度数值并存储,并返回所述步骤S41。
6.根据权利要求4所述的解码方法,其特征在于,还包括:
步骤S44,在所述当前数据的类型为差值数据的情况下,根据差值和所述相邻像素的深度数值,计算当前像素的深度数值,并返回所述步骤S41。
7.根据权利要求6所述的解码方法,其特征在于,所述步骤S44进一步包括:
多次计算所述当前像素的深度数值,并在每次计算完后,存储所述深度数值并更新所述相邻像素的深度数值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810551609.6A CN108683920A (zh) | 2018-05-31 | 2018-05-31 | 一种深度数据的编码方法和解码方法 |
CN201910456564.9A CN110191341B (zh) | 2018-05-31 | 2019-05-29 | 一种深度数据的编码方法和解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810551609.6A CN108683920A (zh) | 2018-05-31 | 2018-05-31 | 一种深度数据的编码方法和解码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108683920A true CN108683920A (zh) | 2018-10-19 |
Family
ID=63809540
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810551609.6A Pending CN108683920A (zh) | 2018-05-31 | 2018-05-31 | 一种深度数据的编码方法和解码方法 |
CN201910456564.9A Active CN110191341B (zh) | 2018-05-31 | 2019-05-29 | 一种深度数据的编码方法和解码方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910456564.9A Active CN110191341B (zh) | 2018-05-31 | 2019-05-29 | 一种深度数据的编码方法和解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN108683920A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704208B (zh) * | 2021-10-27 | 2022-02-08 | 浙江闪铸三维科技有限公司 | 一种3d打印文件的压缩方法 |
CN115174774B (zh) * | 2022-06-29 | 2024-01-26 | 上海飞机制造有限公司 | 一种深度图像的压缩方法、装置、设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8351685B2 (en) * | 2007-11-16 | 2013-01-08 | Gwangju Institute Of Science And Technology | Device and method for estimating depth map, and method for generating intermediate image and method for encoding multi-view video using the same |
CN103139577B (zh) * | 2011-11-23 | 2015-09-30 | 华为技术有限公司 | 一种深度图像滤波方法、获取深度图像滤波阈值的方法和装置 |
CN105915917A (zh) * | 2015-07-24 | 2016-08-31 | 乐视云计算有限公司 | 深度信息编码方法、解码方法及装置 |
CN106162195B (zh) * | 2016-07-05 | 2018-04-17 | 宁波大学 | 一种基于单深度帧内模式的3d‑hevc深度视频信息隐藏方法 |
-
2018
- 2018-05-31 CN CN201810551609.6A patent/CN108683920A/zh active Pending
-
2019
- 2019-05-29 CN CN201910456564.9A patent/CN110191341B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110191341A (zh) | 2019-08-30 |
CN110191341B (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11683524B2 (en) | Method and apparatus for point cloud compression | |
CN101883284B (zh) | 基于背景建模和可选差分模式的视频编/解码方法及系统 | |
JPH1056643A (ja) | 任意の対象物を収録している動画像の符号化及び復号化装置 | |
CN105027560A (zh) | 确定用于变换系数的二进制码字的方法 | |
CN110913230A (zh) | 一种视频帧预测方法、装置及终端设备 | |
CN105898296A (zh) | 视频编码帧选择方法及装置 | |
JP4796228B2 (ja) | エンコード領域において圧縮定数を復元する装置及び方法 | |
US20150103916A1 (en) | Method and apparatus for displacement vector component transformation in video coding and decoding | |
CN108683920A (zh) | 一种深度数据的编码方法和解码方法 | |
CN112584158B (zh) | 视频质量增强方法和系统 | |
CN107103632B (zh) | 图像压缩方法及装置 | |
JP2013162395A (ja) | 画像符号化方法、画像符号化装置及び画像符号化プログラム | |
CN116828184B (zh) | 视频编码、解码方法、装置、计算机设备和存储介质 | |
CN114173137A (zh) | 视频编码方法、装置及电子设备 | |
CN110545435B (zh) | 一种基于概率模型的桌面像素编码方法、装置及存储介质 | |
CN111083479A (zh) | 一种视频帧预测方法、装置及终端设备 | |
Jilani et al. | JPEG image compression using FPGA with Artificial Neural Networks | |
CN1332560C (zh) | 无附加帧存储器基于块边界的差和量化因子的去块效应法 | |
CN113422965A (zh) | 一种基于生成对抗网络的图像压缩方法及装置 | |
CN104904199A (zh) | 深度查找表的高效编码方法及装置 | |
KR100580616B1 (ko) | 삼차원 객체의 형태 변형 정보에 대한 부호화 방법 및 그장치 | |
CN111953971B (zh) | 视频处理方法、视频处理装置及终端设备 | |
Adepu et al. | A security mechanism for video data hiding | |
CN103139557A (zh) | 一种视频编码中的运动估计方法及系统 | |
US20240292028A1 (en) | Grouping of duplicate vertices in position compression |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181019 |
|
WD01 | Invention patent application deemed withdrawn after publication |