CN102388404B - 编码和解码每个码元可具有三个或更多可能码元值中的一个码元值的码元序列的方法和装置 - Google Patents
编码和解码每个码元可具有三个或更多可能码元值中的一个码元值的码元序列的方法和装置 Download PDFInfo
- Publication number
- CN102388404B CN102388404B CN201080015657.5A CN201080015657A CN102388404B CN 102388404 B CN102388404 B CN 102388404B CN 201080015657 A CN201080015657 A CN 201080015657A CN 102388404 B CN102388404 B CN 102388404B
- Authority
- CN
- China
- Prior art keywords
- sequence
- symbol
- string
- code element
- symhols
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- 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/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Signal Processing (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种压缩码元序列的方法,其中每个码元可以具有来自三个或者更多个可能码元值中的一个码元值,所述方法包括以下步骤:通过未被包括在所述三个或者更多个可能码元值中的另一码元值来取代每个串对而修改码元序列,所述每个串对包含最频繁的码元值的第一串码元和第二频繁的码元值的第二串码元;生成包括所有被取代的串对的二进制序列并且压缩编码该二进制序列和修改的码元序列。
Description
技术领域
在编码和解码其中每个码元可以具有来自三个或者更多个可能码元值中的一个码元值的码元序列的技术领域中提出本发明。
背景技术
在表示三维(3D)对象的各种应用中,包括游戏、工程设计、建筑预排(architectural walkthrough)、虚拟现实、电子商务,以及科学可视化中,已经广泛地使用了3D网格。尤其在近年来的3D扫描仪的快速增长的情况下,这些3D网格的原始表示通常需要海量的数据。然而,多数应用要求用于存储和传输的3D网格的紧凑的表示。
典型地,3D网格由三种类型的数据表示:
拓扑数据,其描述顶点之间的相邻关系;它在别处也被称为连通性数据。几何数据,其指定顶点位置和属性数据,指定诸如法向矢量、材料反射率,以及纹理坐标之类的性质。
拓扑数据和几何数据可以共同地或者单独地压缩。通过底层拓扑编码来确定几何数据的编码顺序。几何数据通常通过量化、预测和熵编码三个主要步骤来压缩。3D网格属性数据通常通过与几何压缩类似的方法来压缩。
在用以编码3D三角形网格的拓扑数据的方法中,J.Rossignac在1999年1月至3月的IEEE Transactions on Visualization and Computer Graphics,Vol.5,No.1,pp.47-61中的“Edgebreaker:Connectivity compression for trianglemeshes”中提出,边缘分隔(Edgebreaker)是非常高效并且普遍使用的一种方法。
对于大的网格,边缘分隔和熵编码可以得出(yield)每个三角形小于1.5比特。边缘分隔压缩和解压缩处理从一个三角形到相邻三角形对网格执行相同的遍历。在每个阶段,压缩产生用于描述当前三角形和已经编码的网格部分的边界之间的拓扑关系的比特。解压缩解码这些比特以重构整个拓扑图形。通过使用边缘分隔算法,3D三角形网格的所有拓扑数据是一系列的五种可能的模式码元:″C″,″R″,″L″,″E″,和″S″。例如,边缘分隔算法的最终输出看上去像″CCRRRSLCRSERRELCRRRCRRRE...″。
边缘分隔的3D网格的五种可能模式码元中的三种:″L″″″E″″S″的出现不如其它两种码元″C″″R″频繁。例如:
CRCRCRCRCLRECCRCRCRRCRLCCRRCRCRRCCRCRCCRSRCRCRCRRCRCR...
例如,在几个3D网格模型,5种模式的出现:
表1:在不同3D模型中五种模式“CRLES”出现的统计结果
发明内容
本发明提出一种用于移除多码元序列(例如作为在边缘分隔算法之后的3D网格模型的拓扑数据的表示)内的统计冗余的方法。
首先,将一些码元组合为新的码元,并且然后使用某个上下文模型将新的码元与其它码元一起进行编码。如果编码该新的码元,则接着编码组合的细节,其中若干上下文模型用于每个码元在“多个串(runs)”的不同位置。
提出了一种压缩码元序列的方法,其中每个码元可以具有来自三个或者更多个可能码元值中的一个码元值,所述方法包括以下步骤:通过未被包括在所述三个或者更多个可能码元值中的另一码元值来取代每个串对(run pair)而修改码元序列,所述每个串对包含最频繁的码元值的第一串码元和第二频繁的码元值的第二串码元;生成包括所有被取代的串对的二进制序列并且压缩编码该二进制序列和修改的码元序列。
另外,提出了一种码元序列的二进制表示,其中每个码元可以具有来自n个可能码元值中的一个码元值,n>2,并且其中由修改的码元序列的二进制表示和二进制序列的二进制表示来表示所述码元序列,其中修改的码元序列的码元可以具有来自(n-1)个可能码元值中的一个码元值。
而且,提出了一种承载这种比特流的存储介质。
在实施例中,应用以下方法来压缩编码二进制序列:
通过翻转二进制序列的比特来生成另一比特序列,其中在所述二进制序列中,在仅仅那些被翻转的比特之前是具有两个可能比特值中的第一个的相应的先前比特;并且编码该另一比特序列。
在另一实施例中,压缩编码二进制序列可以包括:生成多串1的长度的一元表示的第一序列,生成多串零的长度的一元表示的第二序列,并且比特平面(bit plane)编码所生成的一元表示的第一序列和第二序列。
为解码码元序列,解码修改的码元序列并且解码二进制序列。然后,通过该二进制序列包括的串对来取代修改的码元序列中的每处出现的另一码元,其中该二进制序列中的串对的顺序(order)等于在取代了修改的码元序列中的所述另一码元之后的串对的顺序。
可以通过以下步骤来解码二进制序列:解码另一比特序列,并且通过翻转所述另一比特序列的比特来生成二进制序列,其中在所述二进制序列中在每个被翻转比特之前是具有两个可能比特值中的第一个的相应的先前比特。
具体实施方式
实施例1:
示例编码器适配为以两个步骤进行编码:
步骤1-第一级:
首先,找到也被称为字的所有″C...CR...R″组合,每个字由一串(a run of)的″C″以及之后的一串的″R″组成(或者每个字由一串的″C″以及之前的一串的″R″组成)。然后,每个字由与特定的字所包含的多串的长度无关的同一码元(例如″A″)替换。随后,编码作为结果的码元序列。
例如,
CRCRCRCRCLRECCRCRCRRCRLCCRRCRCRRCCRCRCCRSRCRCRCRRCRCR...
将改变为:
AAAACLREAAAALAAAAAASRAAAAA...
注意:编组的方式:
(CR)(CR)(CR)(CR)CLRE(CCR)(CR)(CRR)(CR)L(CCRR)(CR)(CRR)(CCR)(CR)(CCR)SR(CR)(CR)(CRR)(CR)(CR)...
在此,″A″仅仅意味着一组″C..CR..R″并且″C″的数目和″R″的数目不固定,但是大于″0″。如果存在单独的″C″,例如″L″之前的″C″,则保留″C″本身。如果存在单独的″R″,例如,″E″之前的″R″和″S″之后的″R″,则也保留它。
在该步骤中,新系列具有6个码元:″C″″R″″L″″E″″S″″A″,将通过熵编码方法来对它们进行编码。
步骤2-第二级:
如果对″A″进行编码,则之后要编码″C..CR..R″的组合,这通过不同的上下文模型(context model)来编码多串的″C″和多串的″R″。
该步骤还可以与步骤(1)级联,使得编码器可以通过仅仅一个通道(onepass)来编码码元系列。此外,解码器可以通过一个通道来解码比特流。
编码器的示例实施例的伪代码:
以上两个步骤的伪代码可以被表现为状态机:
解码器的伪代码:
实验结果:
表2:用于边缘分隔拓扑编码的不同熵编码方法的比较
表2列出了该示例的拓扑数据的压缩结果。在此,VLC编码意味着使用Huffman代码。根据以上的伪代码来开发所提出的方法。
从该表中可见,所提出的方法与现有的算术编码相比,可以在压缩率上实现6.4%~47.1%的提高。
提出以两级编码码元的方法:
第一级将一些码元的一些组合(例如,C..CR..R)视作新的码元(例如,A),并且通过某个上下文模型(例如,上下文模型0)将该新的码元与现有的其它码元(例如,CRLESA)一起进行编码。
如果出现该新的码元(例如,A),则第二级将通过一系列的其它上下文模型(例如,上下文模型2*i+1,上下文模型2*i+2)来编码在该新的码元之后的其对应的原始码元组合(C..CR..R)。
相应地,将移除该组合(例如,CRCRCCRCRCRCRR..)中位于“多串”码元中的冗余。
熵编码方法是数据压缩中基本的处理。例如,所提出的方法可以实际用于对传输标准的定义。
应理解,上述的示例实施例仅仅针对说明性目的,并且它们不应被解释为以任何方式限制要求保护其范围的本发明的精神和范围,所述范围仅仅通过权利要求书来限定。
具体地,本发明绝不限于空间数据而是可以应用于包括例如文件数据或者测量数据的所有数据。
Claims (4)
1.一种压缩码元序列的方法,其中每个码元具有来自三个或者更多个可能码元值中的一个码元值,所述方法包括以下步骤:
-通过未被包括在所述三个或者更多个可能码元值中的另一码元值来取代每个串对而修改该码元序列,所述每个串对包含最频繁的码元值的第一串码元和第二频繁的码元值的第二串码元;
-生成包括所有被取代的串对的二进制序列并且
-压缩编码该二进制序列和修改的码元序列。
2.一种用于执行权利要求1所述的方法的编码器。
3.一种对压缩的码元序列进行解压缩的方法,其中每个码元具有来自三个或者更多个可能码元值中的一个码元值,所述方法包括以下步骤:
-解码不同的码元序列,所述不同的码元序列包括未被包含在所述三个或者更多个可能码元值中的另一码元值的码元;并且解码在二进制序列中包括的串对的序列,在串对的序列中的串对的数目等于所述不同码元序列中的所述另一码元值的码元的数目,
-在所述不同码元序列中通过所述串对来取代所述另一码元值的码元,其中保持所述串对的顺序。
4.一种执行权利要求3所述的方法的解码器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09305308.0 | 2009-04-09 | ||
EP09305308 | 2009-04-09 | ||
PCT/EP2010/054257 WO2010115789A1 (en) | 2009-04-09 | 2010-03-30 | Method and device for encoding and decoding of symbol sequences wherein each symbol may have one out of three or more possible symbol values |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102388404A CN102388404A (zh) | 2012-03-21 |
CN102388404B true CN102388404B (zh) | 2014-01-01 |
Family
ID=42140027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080015657.5A Active CN102388404B (zh) | 2009-04-09 | 2010-03-30 | 编码和解码每个码元可具有三个或更多可能码元值中的一个码元值的码元序列的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8514107B2 (zh) |
EP (1) | EP2417578B1 (zh) |
JP (1) | JP5536193B2 (zh) |
KR (1) | KR101672070B1 (zh) |
CN (1) | CN102388404B (zh) |
WO (1) | WO2010115789A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2011308154B2 (en) * | 2010-09-30 | 2015-10-08 | Samsung Electronics Co., Ltd. | Video encoding method for encoding hierarchical-structure symbols and a device therefor, and video decoding method for decoding hierarchical-structure symbols and a device therefor |
GB2539239B (en) | 2015-06-10 | 2017-10-04 | Gurulogic Microsystems Oy | Encoders, decoders and methods utilizing mode symbols |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1167951A (zh) * | 1996-01-31 | 1997-12-17 | 株式会社日立制作所 | 数据压缩、扩展方法和装置以及使用该方法和装置的数据处理设备及网络系统 |
CN101069354A (zh) * | 2004-12-07 | 2007-11-07 | 日本电信电话株式会社 | 信息压缩编码装置、其解码装置、及其方法和程序以及记录介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5710561A (en) * | 1996-01-02 | 1998-01-20 | Peerless Systems Corporation | Method and apparatus for double run-length encoding of binary data |
US6856651B2 (en) * | 2000-07-25 | 2005-02-15 | Peribit Networks, Inc. | System and method for incremental and continuous data compression |
US6909384B2 (en) * | 2002-01-31 | 2005-06-21 | Microsoft Corporation | Generating and searching compressed data |
DE10393630B4 (de) * | 2002-10-31 | 2007-10-25 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Verfahren und System zur Kodierung der Konnekrivität eines Dreiecknetzes |
-
2010
- 2010-03-30 CN CN201080015657.5A patent/CN102388404B/zh active Active
- 2010-03-30 US US13/138,717 patent/US8514107B2/en active Active
- 2010-03-30 KR KR1020117023615A patent/KR101672070B1/ko active IP Right Grant
- 2010-03-30 EP EP10712068.5A patent/EP2417578B1/en active Active
- 2010-03-30 WO PCT/EP2010/054257 patent/WO2010115789A1/en active Application Filing
- 2010-03-30 JP JP2012503974A patent/JP5536193B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1167951A (zh) * | 1996-01-31 | 1997-12-17 | 株式会社日立制作所 | 数据压缩、扩展方法和装置以及使用该方法和装置的数据处理设备及网络系统 |
CN101069354A (zh) * | 2004-12-07 | 2007-11-07 | 日本电信电话株式会社 | 信息压缩编码装置、其解码装置、及其方法和程序以及记录介质 |
Also Published As
Publication number | Publication date |
---|---|
KR101672070B1 (ko) | 2016-11-02 |
EP2417578B1 (en) | 2017-08-30 |
US20120019403A1 (en) | 2012-01-26 |
US8514107B2 (en) | 2013-08-20 |
JP2012523602A (ja) | 2012-10-04 |
WO2010115789A1 (en) | 2010-10-14 |
JP5536193B2 (ja) | 2014-07-02 |
EP2417578A1 (en) | 2012-02-15 |
KR20120013945A (ko) | 2012-02-15 |
CN102388404A (zh) | 2012-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240048741A1 (en) | Methods and apparatuses for encoding and decoding a bytestream | |
Garcia et al. | Intra-frame context-based octree coding for point-cloud geometry | |
Garcia et al. | Context-based octree coding for point-cloud video | |
JP5615354B2 (ja) | 繰り返しパターンを用いた3dメッシュの圧縮方法 | |
CN111669587B (zh) | 一种视频图像的拟态压缩方法、装置、存储介质及终端 | |
JP2008516318A (ja) | 時間的に変わるグラフィックモデルを表すデータストリームの符号化方法 | |
CN102308318A (zh) | 编码3d网格模型的方法和装置以及解码所编码的3d网格模型的方法和装置 | |
KR20120009605A (ko) | 3차원 메쉬 가변 부호화 장치 및 방법, 그리고 3차원 메쉬 가변 복호화 장치 및 방법 | |
CN107835431A (zh) | 对视频编码的方法和设备以及对视频解码的方法和设备 | |
RU2567988C2 (ru) | Кодер, способ кодирования данных, декодер, способ декодирования данных, система передачи данных, способ передачи данных и программный продукт | |
CN109040763A (zh) | 一种基于生成式对抗网络的图像压缩方法及系统 | |
CN111246206B (zh) | 一种基于自编码器的光流信息压缩方法及装置 | |
CN102388404B (zh) | 编码和解码每个码元可具有三个或更多可能码元值中的一个码元值的码元序列的方法和装置 | |
AU2012283580A1 (en) | System and method for encoding and decoding a bitstream for a 3D model having repetitive structure | |
WO2013007171A1 (en) | System and method for encoding and decoding a bitstream for a 3d model having repetitive structure | |
KR20120085134A (ko) | 3차원 메쉬 부호화 장치 및 방법, 그리고 3차원 메쉬 복호화 장치 및 방법 | |
CN111343458B (zh) | 一种基于重建残差的稀疏灰度图像编解码方法及系统 | |
CN111080729B (zh) | 基于Attention机制的训练图片压缩网络的构建方法及系统 | |
Samus et al. | 3D image mesh entropy coding | |
CN115102934A (zh) | 点云数据的解码方法、编码方法、装置、设备及存储介质 | |
CN118450131A (zh) | 定长码单元含多个编码参数变长码的数据解码方法和装置 | |
Szymczak | Optimized edgebreaker encoding for large and regular triangle meshes | |
CN108989800B (zh) | 以字节为单元产生压缩数据字节流的数据压缩方法和装置 | |
Biala et al. | Lossless Compression Technique Using ILZW with DFRLC | |
Jong et al. | Improved edge-based compression for the connectivity of 3D models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190530 Address after: American Delaware Patentee after: Interactive Digital VC Holding Company Address before: I Si Eli Murli Nor, France Patentee before: Thomson Licensing Corp. |
|
TR01 | Transfer of patent right |