具有非循序输入的游程长度编码制造技术

技术编号:11980681 阅读:41 留言:0更新日期:2015-09-02 11:02
一种用于更新游程长度编码(RLE)流的方法包括:接收要在插入位置处插入到RLE流中的具有插入值的元素,插入值具有多个值之一,RLE流具有布置成游程的元素,并且每个元素具有值之一;识别包含插入位置的游程;确定插入值是否与插入位置处的元素的值相同;当插入值不同于插入位置处的元素的值时:确定插入位置是否与游程之中的一个或多个匹配游程邻接,匹配游程的每个元素具有与插入值相同的值;以及当插入位置与匹配游程中的仅一个邻接时,延长匹配游程之一。

【技术实现步骤摘要】
【专利说明】具有非循序输入的游程长度编码相关申请的交叉引用本申请要求2014年2月27日向美国专利商标局递交的标题为“Run LengthEncoding with Non-Sequential Input”的美国临时专利申请61/945,744号的优先权和权益,这里通过引用并入该申请的全部公开内容。
本专利技术的实施例涉及用于对通信信道中的数据编码和解码的系统和方法。
技术介绍
游程长度编码(Run Length Encoding,RLE)是一种流行的无损压缩技术,该技术用“游程”一一按一定的扫描顺序具有相同值的元素的数目一一来表示数据元素。例如,以下序列 “0,0,0,I, I, 1,0,0,0, I, I” 可由“ (O, 3),(1,3), (O, 3),(1,2) ” 表示,其中每一对中的第一数字确定游程的元素的值,并且第二数字确定该值的重复次数。在上述示例中,序列开始于三个O (0,3),之后是三个I (1,3),之后又是三个O (0,3),最后是两个I (1,2)。在二进制情况下,元素的值可被省略,并且该表示变成“(3,3,3,2) ”,其中RLE序列的第一数字指的是元素“O”的重复次数。游程长度编码经常通过按光栅扫描顺序操作的硬件使用,例如显示设备和扫描仪。RLE的效率取决于数据的特性。例如,当不同值的数目较小并且当相同的值在邻接元素的群组中经常重复时,RLE提供较高的压缩。通过对数据应用线性扫描顺序或者通过直接在多个维度中对重复次数编码,可将RLE应用到多维数据。通常,RLE编码器对按先后顺序提供并存储在行缓冲器或其他类型的存储器中的数据操作。如果数据是以非先后顺序产生的,则非先后顺序数据一般被缓冲以使数据完整,以便其可按先后顺序被提供给RLE编码器。
技术实现思路
本专利技术的实施例的一些方面涉及非循序游程长度编码装置。根据本专利技术的一个实施例,一种用于更新游程长度编码流的方法包括:处理器接收要在插入位置处插入到游程长度编码流中的具有插入值的元素,插入值具有多个值之一,游程长度编码流具有布置在位于游程长度编码流的开始位置和结束位置之间的多个游程中的多个元素,并且多个元素中的每一个具有多个值之一和在游程长度编码流中的位置;识别游程长度编码流的游程之中的包含插入位置的游程;处理器确定插入值是否与插入位置处的元素的值相同;当插入值不同于插入位置处的元素的值时:处理器确定插入位置是否与游程长度编码流的游程之中的一个或多个相邻匹配游程邻接,相邻匹配游程的每个元素具有与插入值相同的值;当插入位置与一个或多个相邻匹配游程中的仅一个邻接时,处理器延长一个或多个相邻匹配游程中的一个匹配游程;当插入位置与一个或多个相邻匹配游程中的两个匹配游程邻接时,处理器合并一个或多个相邻匹配游程中的该两个匹配游程;以及当插入位置不与一个或多个相邻匹配游程邻接时,处理器创建新的游程。确定插入位置是否与一个或多个相邻匹配游程邻接可包括:处理器计算从插入位置到一个或多个相邻匹配游程中的每一个的一个或多个距离,一个或多个相邻匹配游程中的每一个具有左端和右端;当插入位置在一个或多个相邻匹配游程中的两个之间时,处理器计算到一个或多个相邻匹配游程中的第一相邻匹配游程的右端的左距离;以及到一个或多个相邻匹配游程中的第二相邻匹配游程的左端的右距离;当插入位置在一个或多个相邻匹配游程之一与开始位置之间时,处理器计算到开始位置的左距离和到一个或多个相邻匹配游程中的该一个游程的左端的右距离;以及当插入位置在一个或多个相邻匹配游程之一与结束位置之间时,处理器计算到一个或多个相邻匹配游程中的该一个游程的右端的左距离和到结束位置的右距离。处理器确定插入位置是否与一个或多个相邻匹配游程邻接可包括:当左距离大于I并且右距离为I时,或者当左距离为I并且右距离大于I时,处理器确定插入位置仅与一个相邻匹配游程邻接;当左距离为I并且右距离为I时,处理器确定插入位置在两个匹配游程之间;以及当左距离大于I并且右距离大于I时,处理器确定插入位置不与一个或多个匹配游程邻接。多个值可包括两个值。多个值可包括三个值。识别游程长度编码流的包含插入位置的游程可包括:根据一个或多个先前接收的元素来预测游程长度编码流的该游程。元素包括多个连续的元素,连续的元素中的每一个具有插入值,并且其中,插入位置包括多个连续的位置,该方法还包括利用与连续的元素的值不同的值来替换游程长度编码流的与多个连续的位置相对应的位置处的值。游程长度编码序列可被填补以具有零长度的附加游程。合并两个匹配的游程可包括将附加游程转换成具有非零长度的游程。根据本专利技术的一个实施例,一种系统包括:触摸控制器;以及耦合到触摸控制器的游程长度编码器,游程长度编码器被配置为:从触摸控制器接收要在插入位置处插入到游程长度编码流中的具有插入值的元素,插入值具有多个值之一,游程长度编码流具有布置在位于游程长度编码流的开始位置和结束位置之间的多个游程中的多个元素,并且多个元素中的每一个具有多个值之一和在游程长度编码流中的位置;识别游程长度编码流的游程之中的包含插入位置的游程;确定元素的插入值是否与插入位置处的值相同;当插入值不同于插入位置处的元素的值时:确定插入位置是否与游程长度编码流的一个或多个相邻匹配游程邻接,相邻匹配游程的每个元素具有与插入值相同的值;当插入位置与一个或多个相邻匹配游程中的仅一个邻接时,延长一个或多个相邻匹配游程中的一个匹配游程;当插入位置与一个或多个相邻匹配游程中的两个匹配游程邻接时,合并一个或多个相邻匹配游程中的该两个匹配游程;以及当插入位置不与一个或多个相邻匹配游程邻接时,创建新的游程。游程长度编码器可被配置为通过以下操作来确定插入位置是否与一个或多个相邻匹配游程邻接:计算从插入位置到一个或多个相邻匹配游程中的每一个的一个或多个距离,一个或多个相邻匹配游程中的每一个具有左端和右端;当插入位置在一个或多个相邻匹配游程中的两个之间时,计算到一个或多个相邻匹配游程中的第一游程的右端的左距离;以及到一个或多个相邻匹配游程中的第二游程的左端的右距离;当插入位置在一个或多个相邻匹配游程之一与开始位置之间时,计算到开始位置的左距离和到一个或多个相邻匹配游程中的该一个游程的左端的右距离;以及当插入位置在一个或多个相邻匹配游程之一与结束位置之间时,计算到一个或多个相邻匹配游程中的该一个游程的右端的左距离和到结束位置的右距离。游程长度编码器可被配置为通过以下操作来确定插入位置是否与一个或多个相邻匹配游程邻接:当左距离大于I并且右距离为I时,或者当左距离为I并且右距离大于I时,确定插入位置仅与一个相邻匹配游程邻接;当左距离为I并且右距离为I时,确定插入位置在两个匹配游程之间;以及当左距离大于I并且右距离大于I时,确定插入位置不与一个或多个匹配游程邻接。多个值可包括两个值。多个值可包括三个值。游程长度编码器可被配置为通过以下操作来识别游程长度编码流的包含插入位置的游程:根据一个或多个先前接收的元素来预测游程长度编码流的该游程。所述元素可包括多个连续的元素,连续的元素中的每一个具有插入值,其中,插入位置包括多个连续的位置,以及其中,游程长度编码器还被配置为用与连续的元素的值不同的值来替换游程长度编码流的与多个连续的位置本文档来自技高网
...

【技术保护点】
一种用于更新游程长度编码流的方法,该方法包括:由处理器接收要在插入位置处插入到所述游程长度编码流中的具有插入值的元素,所述插入值具有多个值之一,所述游程长度编码流具有布置在位于所述游程长度编码流的开始位置和结束位置之间的多个游程中的多个元素,并且所述多个元素中的每一个具有所述多个值之一和在所述游程长度编码流中的位置;识别所述游程长度编码流的游程之中的包含所述插入位置的游程;由所述处理器确定所述插入值是否与所述插入位置处的元素的值相同;当所述插入值不同于所述插入位置处的元素的值时:由所述处理器确定所述插入位置是否与所述游程长度编码流的游程之中的一个或多个相邻匹配游程邻接,所述相邻匹配游程的每个元素具有与所述插入值相同的值;当所述插入位置与所述一个或多个相邻匹配游程中的仅一个邻接时,由所述处理器延长所述一个或多个相邻匹配游程中的一个匹配游程;当所述插入位置与所述一个或多个相邻匹配游程中的两个匹配游程邻接时,由所述处理器合并所述一个或多个相邻匹配游程中的所述两个匹配游程;以及当所述插入位置不与所述一个或多个相邻匹配游程邻接时,由所述处理器创建新的游程。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:伊戈尔冠金切夫
申请(专利权)人:三星显示有限公司
类型:发明
国别省市:韩国;KR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1