编码器设备、解码器设备和方法_3

文档序号:9650834阅读:来源:国知局
接受的每个值是它自己 的解码值,并在计算它的解码符号值时将它之前(或之后)的所有可能连续统值与它一起 使用。换言之,在修正数据中小于等于SVT的符号(如果0值也是可接受的值)数量总是 与原始符号数据中的原始符号数量相同。此外,还存在一个或多个连续统值符号,运些连续 统值符号与小于等于SVT的修正数据符号或原始数据符号(如果0值也是可接受的值)是 不同的符号。有益地,原始和修正符号呈现为从0到SVT的符号,连续统值符号则呈现为符 号SVT+USVT+2,等等。有益地,最小的SVT值是2,否则使用LUT就比使用连续统运算器更 有效率。
[0083] 采用连续统运算器来产生可使用已知赌编码方法(见参考文献巧]、[3]和[4]) W及其他编码方法来压缩的修正符号流,所述其他编码方法例如是算术编码(见参考文献 [引)、行程编码(见参考文献[6])、或VariableLength编码(VLC)(见参考文献[7])。W 后也可W使用已知赌修正器来修正由连续统运算器修正的符号流,所述已知赌修正器例如 是ODelta编码(见参考文献[引和[14]),或具有或不具有赌编码器的赌修正器(EM)(见 参考文献[13])。要压缩的数据也可通过各种上述方法W及其他方法或变形被事先(即先 验地)修正。
[0084] 如上所述,可W通过使用计算的赌值和附加信息(例如表传递、方法选择连续统 值传递)的估计或计算量来进行对所采用的压缩方法组合的选择,但也可W例如W迭代的 方式,基于可获得的真实编码结果来进行该选择,直到找到压缩原始数据和/或其一个或 多个部分的最优组合。此外,下面的说明书中将描述可用于将编码数据恢复(即解压缩) 回例如W比特或符号数据表达的原始信息的解码器。
[0085] 下面将描述本公开的实现方式的实施例。运些方法例如W编码器或相应解码器的 硬件逻辑来实现。此外,要压缩的原始数据可选地从一个或多个传感器得到,所述一个或多 个传感器例如是一个或多个照相机和/或一个或多个麦克风,其将真实的物理现象转换为 相应的表示数据。备选地,通过使用布置为执行记录在非瞬态(非瞬时)机器可读数据存 储介质上的一个或多个软件产品的计算硬件来实现所述方法,其中软件产品实现本公开的 上述方法。在下面将要描述的示例中,通过使用本公开的方法来压缩一条原始样本信息,还 提供了与使用已知现有技术方法可获得的结果的一些比较。
[0086] 包含N个符号的一条示例信息可由公式2表示:
[0087]si,s2,s3, . . .sN
[0088]或sO,Si,s2, . . .,sN-1
[0089]或S(I),S似,S(3),. . .S(N),,公式 2
[0090] 等等
[0091] 在原始信息中,符号可W在使用上述连续统运算器之前或之后被分割为分离的序 列或流。类似地,如果存在很多序列或流,则它们可在连续统运算器之前或之后被组合W提 供一个或多个符号。
[0092] 基于由符号表示的原始数据的一个或多个部分的赌的一个或多个计算和估计的 附加信息,可W确定表示原始信息的符号的最佳备选形式来编码(即压缩)原始信息。可 W基于表示原始信息所需符号的概率来计算上述表示原始信息的符号的赌。类似地,可W 基于组合符号的出现概率来计算组合符号的赌。可W理解,组合符号通常明显少于原始符 号,而且组合流少于原始信息的原始流。
[0093] 还可W理解,与组合符号或组合流相关联的附加信息总是多于相应原始符号或原 始流的附加信息,换言之,具有相关联的数据头部来指示一个或多个符号和/或一个或多 个流已经在给定过程中被组合W产生相应的压缩数据。运是因为,一般地,组合符号之间的 相关性不等于1。此外,需要一些机制来指示哪些组合符号具有非零概率,否则,例如在采用 赌编码时,传递VLC码表或行程编码概率需要大量附加信息。当需要传递或编码较少原始 数据时,附加信息的量也是更显著的数据部分。
[0094] 类似地,可W基于分割流或符号的概率来计算分割流或符号的赌。如果基于原始 数据的分割创建了多个流,则分别计算每个流的赌然后求和是有益的。此外,每个流分别需 要附加信息。一般地,与该分割有关的附加信息的单独序列中的任意序列的数据大小都小 于一个流所需的附加信息,但是流的所有附加信息序列之和可W小于或大于一个流所需的 附加信息。当从1比特到8比特符号流分割或组合原始信息时,附加信息的数据大小一般 会减小,例如减小到最小值。当已知附加信息的所有赌和序列时,可W通过将赌比特和附加 信息减小到最小值来选择最佳符号格式。
[0095] 优选地,还可W基于原始符号创建SRLE符号和串流(runsstream)用于根据本公 开压缩数据,参见英国专利申请GB1303660. 3,类似的美国专利申请US13/782, 872,其相 关内容通过引用合并于此。W下公式3示出了用于获得两个流的符号的示例:
[0096]S(1),S(Xl),S(蝴,...(针对符号);W及
[0097] R(I),R(Xl),R(蝴,...(针对串)公式3
[0098]其中:
[009引S(I)是第一符号拟及
[0100]R(I)是类似的随后符号S(I)的串。
[0101] 符号S(Xl)是随后符号S(I)的串R(I)之后的下一个不同符号,R(Xl)是类似的 随后符号S(Xl)的串。
[0102] 符号S还可W表示如下:
[010引 S(1),S(1+R(1)),S(1+R(1)+R似),...(针对符号)公式 4
[0104] 现在,例如,在压缩原始信息时,在迭代到采用的最优方法的过程中,还可W将运 种组合的赌与较早的备选方案相比较。
[0105] 赌修正器和赌编码可用于处理比特数据,即用于W逐个比特的方式处理数据,如 英国专利申请GB1303658和GB2301252中所述,但是它们不适于处理高阶符号数据。用 于处理比特数据的运些连续统符号、剩余符号或换码符号方法也可W被修改W用于具有本 公开所描述的特征的符号数据,例如,可W通过使用在用于比特串流的EM中使用的类似连 续统符号技术来修正SRLE而非RLE串流(其中在同一流中存在串和符号)。除了W上描 述的比特之外,RLE/SRLE的大多数已知实现方式不采用连续统符号、剩余符号或换码符号。 当存在可W利用最大串值(例如8比特)表达的更多随后类似符号时,通过将同一符号再 次与新串号相加,来传递类似符号的极长串。
[0106] 在第一示例中,如果将8比特符号与8比特串一起使用,并且存在300个随后"A" 字符,则相应RLE写作:A255A45 (即流中有相同数量的符号和串)。还存在第二RLE方案, 当存在至少两个类似符号时仅使用且始终使用一个串值,但对于单个符号不使用串值。同 一示例可W表示为AA255AA45(即流中符号的数量是串的至少两倍)。如上所述,RLE/SRLE 实际上不使用任何连续统符号、剩余符号或换码符号(即编码),但可能存在自身具有串的 随后类似符号。此外,还可W使用SRLE(见参考文献巧])将符号和串划分到不同流。现 在,第一流可表示为AA和255、45,第二流可表示为AAAA和255,45。但是,可W理解,值255 具有特殊的重要性,并且基于字节(8比特)动态,值255既不是连续统值、剩余值或换码符 号,也不是编码。值255也可单独在不同位置使用,其并不额外需要W高于8比特(例如W 16比特)来传递换码串值。当与SRLE-起使用换码符号(编码)方案时,有益地,使用至 少=个流,例如A在符号流中,换码符号(例如0)在串流中,300在换码串值流中。
[0107] 接下来,将描述与SRLE方法结合使用上述连续统运算器的示例。连续统运算器修 正串的数量必须大于原始串符号的数量,从而当串符号值高于所选一个或多个连续统值并 至少高于符号值阔值(SVT)的值时,添加用于表示仍连续统的类似符号的数量的连续统值 符号,即(连续统+/-值和修正符号值或修正符号值和+/-连续统值)。例如,当存在N(= 330)个符号时,串值如下公式5所示:
[010引 2,7,9,102,12,21,19,3,1,6,18,18,16,10,5,37,19,5,2,18 公式 5
[0109] 该流,即总共20个符号值,具有串值,范围在1至Ij102之间,可W例如通过使用 Vari油IeLength编码(VLC)、Range编码或算术编码而被压缩。此外,可W理解,所有原始 串值必须大于等于1,最大串值必须小于等于N=所有符号数=330。传递运些符号直接需 要例如20*9 = 180比特,其中值330可W用9比特或4+20*7 = 144比特表示,其中4比特 用于传递用于符号的比特(=7,因为值102可W用7比特表示)。如果没有可用的合适固 定码表,如固定的预定码表,则传递相应码表将需要多得多的比特,所W很有可能不能与公 式5中的运种数据一起有效地使用赌编码方法。
[0110] 根据本公开的实施例,可W通过使用SVT值优化器经过大量计算,然后使用符号 O(因为O不能在原始串流中)选择与SVT值类似的一个连续统值(例如19+)来表示修正 串流中的连续统值。现在,可W将运些串R(X)值修正为修正串R' (X)值,如公式6所示:
[0111] 2,7,9,0,0,0,0,0,7,12,0,2,19,3,1,6,18,18,16,10,5,0,18, 19,5,2,18 公式 6
[011引符号(0,x)表示解码期间的值(19+X),类似的符号(0,0,0,x)例如表示解码期间 的值(19+19+19+X)或(19+(19+(19+x)))。连续统运算器修正串R'(X)符号值之和在解码 期间仍是330,因为在计算总和时,0值可被替换为值19。符号数量因此从20增加到27,即 由于有3个高于SVT值的串值,添加了 7个0。可W用例如6+27巧=141个比特来传递该 流,即27个符号,符号值为(1到19+0),6个比特用于传递连续统值(cont+),其类似于SVT 值(=19),20( = 1到19+0)个不同符号值可通过5个比特加W区分。还可W例如通过采 用VLC、行程编码或Arithmetic编码,使用用于参考文献[15]和[16]中描述的编码方法的 表传递来压缩该数据,上述文献通过引用合并于此。
[0113] 可选地,将连续统运算器修正为包含更多连续统值,例如contl+ = 19+,con。+ = 50+。此外,SVT值与contl+ = (19+)值类似,等于19。第一连续统值即contl+仍使用符 号0,第二连续统值即con。+将被分配符号20 ( =SVT+1)。连续统运算器修正串流R' (X) 可W写作公式7提供的形式:
[0114] 2,7,9,20,20,2,12,0,2,19,3,1,6,18,18,16,10,5,0,18,19, 5,2,18 公式 7
[0115] 现在,在公式7中,通过采用符号(20, 20, 2)而不是符号(0,0,0,0,0, 7)来对串值 "102"编码,于是串符号的总数减小到24个符号。公式7中的该流,即24个符号,具有符 号(0到20),可W例如通过6+6+24巧=132比特来传递,6比特用于传递连续统(19和50) 值,21(contl( = 0),cont2 ( = 20)和从1到19的值)个不同符号值可通过使用每符号值 5个比特来呈现。还可W通过使用例如上述化C、行程编码或算术编码,使用用于参考文献 [15]、[16]中描述的编码方法的表传递来压缩该数据,该参考文献通过引用合并于此。当 使用多个连续统值时,运些连续统值的传递也可W为不同方式,例如19和31而不是19和 50。可选地,如果使用具有负值的连续统值,则在传递连续统值时,也需要例如通过采用符 号比特或不同编码方法来将指示负值的信息发送到解码器或数据存储设备。有益地,如果 必须使用多于两个或S个其他连续统值,则定义新连续统值。
[0116] 有益地,在对原始符号流中的原始符号使用连续统运算器之前,对原始符号流中 的原始符号执行变换,使得变换后的流包含0值作为其中的最小值。下面将描述在使用连 续统运算器之前的示例串值变换,运修正了可获得的结果。下面的示例中还对连续统值做 了微小修正。可W理解,串符号值必须在范围1到N之间,如上所述,运些符号需要被1变 换而无需传递任何信息。现在,原始R(X)流表示为用于传输的T(X)流,如公式8所示:
[0117] 1,6,8,101,11,20,18,2,0,5,17,17,15,9,4,36,18,5,1,17 公式 8
[0118] 可选地,可W将SVT值选择为例如18( = 19-1),但在下文中,选择SVT值为19。 此外,将两个连续统值选择为针对符号20是contl+( =SVT+ = 19+),
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1