CN101197578A - 避免数据膨胀的数据修改游程编码器 - Google Patents
避免数据膨胀的数据修改游程编码器 Download PDFInfo
- Publication number
- CN101197578A CN101197578A CNA2007101676581A CN200710167658A CN101197578A CN 101197578 A CN101197578 A CN 101197578A CN A2007101676581 A CNA2007101676581 A CN A2007101676581A CN 200710167658 A CN200710167658 A CN 200710167658A CN 101197578 A CN101197578 A CN 101197578A
- Authority
- CN
- China
- Prior art keywords
- data
- value
- run
- length
- trigger value
- 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.)
- Granted
Links
Images
Classifications
-
- 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/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
-
- 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/93—Run-length coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
一种避免数据膨胀的数据修改游程编码器,其实现一种有选择地对数据进行游程编码的方法,包括:如果在一个或多个数据元素中存在触发值,则从所述一个或多个数据元素中移除所述触发值,并且计算所述一个或多个数据元素的游程长度。所述方法还包括:当所述游程长度大于二时,将所述一个或多个数据元素编码成一个命令对。所述命令对可以包含所述触发值。当所述游程长度不大于二时,可以输出所述一个或多个数据元素,而不对所述一个或多个数据元素进行编码。
Description
技术领域
请求保护的本发明的实施通常涉及数据压缩方案,特别是,涉及包含游程编码的数据压缩方案。
背景技术
游程编码(RLE)被应用于数据压缩中已经有很多年。因为RLE利用数据元素的重复来压缩数据,因此在电视机和计算机的图像显示方面表现非常理想。例如,在黑白图形图像中,可能会有大量的像素重复,特别是白像素。因此,对于这样的图像,可以使用RLE来压缩存储了该图像的帧缓冲器中的数据,并且可以减少,例如,存储器大小、功耗和/或这样的缓冲器的带宽需求。
关于RLE的一个已知的设计问题是,RLE处理可能导致数据大小或者数据量的膨胀,而不是压缩数据。通过观察发现,RLE的这个问题在于使用了多于一个的数据元素(例如,至少一对数据元素)来描述这两种情况:1)数据级或者数值;2)它的游程长度。这对数据元素有时候被称为“命令对”。如果被游程编码的数据中出现过多的数据变化,那么与最初包含在数据中的数据元素数量相比,游程编码将使用更为大量的数据元素(例如,命令对)来描述游程长度和值的对。这种经过RLE后更大量的数据可以称作“数据膨胀”。
因为这种数据膨胀的可能性,系统和电路的设计者通常会考虑“最坏情况”的数据膨胀量来设计系统。这种设计惯例可能减少或者排除了RLE在一些应用中的使用,因为“最坏情况”的数据膨胀量可能比根本不使用RLE花费更多的电力,存储器大小和/或带宽。
附图说明
所附的附图被结合到说明书中并作为说明书的一个组成部分,解释说明了一个或多个遵照该发明的原理的实施方式,连同描述部分一起,解释了这些实施方式。附图的重点不在于限定范围,而是阐明发明原理。在附图中,
图1概念性地解释说明了一个数据压缩和解压缩系统;
图2说明一个改进的游程编码的处理;以及
图3说明一个改进的游程解码的处理。
具体实施方式
接下来的详细描述涉及到所述附图。在不同的附图中将使用同样的附图标记来标识同样的或相似的元素。在下面的描述中,目的在于解释而非限制,陈述了具体的细节,例如特定的结构、构架、接口、技术等,以便对请求保护的发明的各个方面提供一个全面的理解。然而,对于知晓本技术领域现有公开技术的技术人员来说,显然可以采用与这些具体细节完全不同的其他实施例来实现该请求保护的发明的不同方面。在某些实例中,将忽略已知的装置、电路和方法的描述,以避免因不必要的细节给本发明的说明造成混淆。
图1解释说明了一个数据压缩和解压系统100。系统100可以包括一个可选的预调节器110,一个改进的游程编码器(MRLE)120,一个数据存储器130,一个改进的游程解码器(MRLD)140,和一个目的装置150。尽管为了简化说明将分为多个分离的功能元素进行说明,但系统100的任何元件或所有元件可以被置于一处和/或用公用的一组门电路和/或晶体管来实现。在一些实施方式中,元件110-150中的一些元件都可以被由通用处理器或者专用处理器所执行的指令来实现。更进一步,任何元素110-150都可以通过软件、固件、硬件或其任何适当的组合来实现。这些实施方式不限于上下文所提及的内容。
系统100可以接收数据,该数据可以包括但不限于视频、音频、软件、图形信息、电视、电影、音乐、金融信息、商业信息、娱乐信息、通信、或其他任何适合于被系统100和/或处理流程200处理的数据。为便于参考,输入到系统100的数据在此可以认为是视频或图形数据,尽管它不限于这些特定的可视信息类型。
在一些实施方式中,具有可选的预调节器110,其用来对数据进行预调节,从而使其包括更多的可被编码的数据的“游程”。例如,如果数据包含一个alpha通道(例如,在图形中,为透明度信息而保留的一部分像素数据),预调节器110可以用零替代任何其alpha值使其不可见的数据元素。相对于其他方式来说,在这种方式中预调节器110可以在输入到MRLE120的数据中生成更多的游程。当然,在所有实施方式中,这样的预调节是值得的,或者甚至是可行的。在如此的实施方式中,可选的预调节器110可能不出现在系统100中,数据可以被直接输入到MRLE 120。
MRLE 120可以被设置为执行处理流程200,以有选择地对输入的数据进行游程编码。在一些实施方式中,MRLE 120可以实时操作(即,当数据流到达时操作数据流),并且实现为用于快速操作的逻辑电路。MRLE 120将被设置为使其有选择地对它的输入数据进行编码以防止数据膨胀,尽管其更多操作细节将通过处理流程200来描述。确切地说,如果某些数据元素使用游程编码后的数据大小将会达到或者超过那些没有编码的数据,则MRLE 120可以不进行任何变化地传递这些数据。在这种方式下,MRLE 120可以获益于RLE数据压缩,同时避免了输入数据的膨胀超过其原始大小。
MRLE 120可被设置为在输入数据的可能值的范围内编码一个“触发器”(例如,游程长度或命令对的指示部分,其它部分是游程长度的重复出现次数的值)。MRLE120可以通过保留一个输入值作为“触发值”然后将任何恰好具有触发值的输入数据修改为另一个值(例如,相邻值或者相似值)来实现这些。当保留输入值中的一个作为触发值(并且当输入数据中遇到这个触发值时就改变数据)的时候,MRLE120可能在被压缩的数据中引入小的误差,因此阻碍了无损压缩。
数据存储器130可以被设置为临时存储来自MRLE 120中的选择性压缩数据的元素。存储器130可能包括,例如,半导体和/或磁性存储器,并且可能是可重写的。在一些实施方式中,存储器130可能包括,例如,一个被设置为在显示前存储一定量的的视频和/或图形数据的帧缓冲器。然而,在这些实施方式中,由于MRLE120的存在,对于一个特定输出分辨率,数据存储器130可以被设计成小于没有MRLE120时所具有大小。在这些情况下,由更小的存储器130所节省的电源量、芯片面积(尺寸)和/或带宽可以证明在系统100中包含MRLE 120和/或MRLD 140的正确性。
尽管数据存储器130的一些实施方式中可能包括一个物理存储装置,例如一个帧缓冲器,但在一些实施方式中,存储器130可以包括,例如,一对发射机和接收机,用于通过通信链路(未示出)从MRLE120到MRLD140远程传递压缩数据。在这些实施方式中,存储器130可以被概念化为远程(或通过传输媒介临时地)存储被压缩的数据。在任何情况下,存储器130不是必须被限定为一个本地物理存储装置,例如一个帧缓冲器。
MRLD 140可以被设置为执行操作流程300,以有选择地对其输入数据进行游程解码。在一些实施方式中,MRLD 140可以实时操作(即,当来自存储器130的数据流被发送到目的装置150时,操作数据流),为快速操作,还可以将其实现为逻辑电路。MRLD 140可以被设置为使其通过检测数据中的触发值(以及在触发值中的一个游程长度)来有选择地对数据进行解码,尽管其进一步的操作细节将通过流程300来描述。MRLD 140可以根据该游程长度来重复跟随在触发值后的数据值,以再现由MRLE 120编码的相同数量的重复元素。如果对于在输入数据的一个元素(或多个元素)没有检测到触发值,则MRLD 140将传输未经改变的输入数据。在这种方式下,MRLD 140可以有选择地解压缩由MRLE 120编码的数据。
目的装置150可以包括系统100中的数据的任何消费者,所述数据应来自于存储器130。在前述的、存储器130包括一个显示缓冲器的实施例中,目的装置150可以包括一个显示装置,例如一个监视器、电视机、综合显示器等等。然而在其他实施方式中,目的装置150不是必须为输出装置,而是可以包括一个或多个可能是中间媒介的、用于操作来自存储器130的数据的装置。
图2解释说明了一个可以由MRLE 120来实现的、改进的游程编码的处理流程200。尽管处理流程200可以通过系统100和MRLE 120来描述,但是它还可以在其他环境中以及由其他元素来实现。流程200可以开始于向MRLE 120输入一个数据元素[操作210]。
处理由MRLE 120继续,MRLE 120确定该数据元素中是否包含预定的触发值,如果包含,则通过用其他值来替换该触发值来将其过滤掉[操作220]。操作220的一个实施例可以在亮度-色度(YUV)颜色空间进行解释说明,这里,可以选择彩色分量值中极少或者从不使用的一个值(例如:表示V分量的值FF(即,255的十六进制))作为触发值。在操作220中,如果存在V分量值为FF的情况,MRLE120将消除其所遇到的所有的情况,以消除对于MRLD 140的错误触发器。还是在操作220中,MRLE 120可以用一个相似值替换该触发值,这个相似值最好是用户不易察觉的,例如在上述实施例中使用FE(254的十六进制)。
在输入数据中用于命令触发器的适合模式可因不同的数据类型和应用而有所区别。例如,图形的红-绿-蓝(RGB)数据可以使用在蓝色信道中的“接近黑(near black)”(在视觉上不能与黑区分开)作为触发器。其他数据类型中的其他适合的触发器模式将是显而易见的。
处理流程200由MRLE 120继续,MRLE 120确定当前的(可能已被修改的)数据元素是否是对于在前数据元素的重复[操作230]。如果是,则由MRLE 120增加一个游程计数[操作240],然后返回到操作210来处理下一个数据元素。对第一个重复的元素,游程计数将由一增加到二。对第二个重复的元素,游程计数将由二增加到三,以此类推。
如果操作230遇到一个非重复的数据元素,则MRLE 120可以针对在前数据元素判断是否当前游程计数大于二[操作250]。在操作250中,不管游程计数是否大于二,MRLE 120都将游程计数重置为1。
如果上述游程计数大于二,则MRLE 120将发送一个命令对到存储器130[操作260],该命令对指示了长度大于等于三的被游程编码的数值。MRLE 120可以将重复数据元素的大于二的任何长度编码成为一个游程长度命令,游程长度数据值紧随其后(例如,一个命令对)。例如,在上述YUV实施例中,作为结果的命令对可能具有的形式是(00,xx,FF)(YY,UU,VV),其中,第一个命令项具有触发值FF和一个游程长度xx(如果需要的话,还可能包含具有最重要字节,在这里是00)来指示后面的(YY,UU,VV)游程长度数据值连续出现的次数。为清楚起见,YY字段表示一个从00到FF的十六进制的亮度值,UU表示一个从00到FF的色度值,以及VV表示一个从00到FE的色度值。
如果游程计数不大于二,MRLE 120将发送一个或多个数据元素到存储器130[操作270]并且不将其编码为命令对。在游程长度为一的情况下(例如,与在前的值不同),操作270将将输入的数据元素按照原样发送到存储器130。当游程长度是二(例如,在一行中只有两个相同的值),操作270将发送这两个未经进一步处理的输入数据元素到存储器130。然而在这两种情况下,需要注意的是,任何出现在数据中的触发器(例如,前述示例中的FF)将在操作270之前的操作220中消除。
在操作250中可以将阈值设置为一而不是二,但这可能对于“仅有两个相同值”的情况招致额外的编码操作260,这不会给发送到存储器130的数据长度带来任何相应的减少。换句话说,在操作270中,这两种情况都将发送两个数据元素——一种情况是经过编码的,一种情况是不编码。因此,在操作250中阈值为“>2”,以避免出现游程长度=2的临界情况给操作260带来的额外计算。
将通过两个数字示例来进一步解释处理流程200。在第一个示例中,下面的数据元素:(Y,U,V)(16,45,67)(16,45,67)(16,45,67)(16,45,67)(16,45,67)(16,45,FF)(16,45,67)(16,45,67)将被压缩成为下面的数据流:(00,05,FF)(16,45,67)(16,45,FE)(16,45,67)(16,45,67)。
前五个重复的值通过操作210-260被转换成为一个命令对:
(00,05,FF)(16,45,67),这就告知MRLD 140使用(16,45,67)五次。该命令包括在最重要比特位中的、带有游程长度的0xFF触发器。在该命令后的数据值,(16,45,67),是要由MRLD 140重复的数值。第六个数据值(16,45,FF)在操作220中被过滤,以消除错误的触发器,并采用最接近的值来结束:(16,45,FE)。在其之后的剩下的两个值不能从压缩中获益,因此在操作250和270中将其保持原样:(16,45,67)(16,45,67)。处理流程200和MRLE 120可以将具有八个数据元素的整个字串压缩成五个数据元素,而不会带来任何视觉上可以察觉到的数据损失。
在第二个实施例中,下面的数据元素:(Y,U,V)(16,45,67)(16,45,68)(16,45,67)(16,45,68)(16,45,67)(16,45,68)(16,45,67)(16,45,67)不会经处理流程200被压缩,而且将保持同样的数据流(16,45,67)(16,45,68)(16,45,67)(16,45,68)(16,45,67)(16,45,68)(16,45,67)(16,45,67)。
第二个实施例包含了一种“最坏情况”,数据值在每个数据元素之后都会变换,并将导致典型的RLE方案将数据扩大到16个数据元素。面对这种“最坏情况”,典型的RLE方案将生成八对级别(level)和游程长度,在处理后会使数据量加倍。与之相反,处理流程200经过操作210-230、250和270的操作不会造成数据膨胀。
图3解释说明了一个由MRLD 140实现的改进的游程解码处理流程300。虽然处理流程300可以通过系统100和MRLD 140来描述,但是它还可以在其他环境中由其他元素来实现。处理流程300开始于从存储器130输入一个数据元素到MRLD 140[操作310]。
处理将由MRLD 140继续,MRLD 140检测该数据元素中是否包含触发值[操作320]。如果该数据元素包含触发值(例如,是一个游程长度命令),MRLD 140就输入下一个元素[操作330],然后将其重复以生成在该游程长度命令的游程计数部分中所指示的总数目的实例[操作340]。这个相同元素的游程将由MRLD 140输出到目的装置150[操作350]。
在操作320中,如果在数据元素中不存在触发值,则MRLD 140可将其不经解码而输出到目的装置150[操作350]。
在前述的一个或多个实施方式的详细说明中,提供了解释和详细说明,但这并不意味着要穷举或将本发明的范围限制在所公开的精确方式下。根据上述教导或根据本发明的不同实施方式所得而进行修改和改变是可能的。
例如,尽管一些实施方式可能包含使用不同的数据替换其他有效数据(例如,一个触发值)而导致有损压缩,但在一些实施方式中数据格式允许插入一个触发值而不会导致丢失数据。在这些实施方式中,例如,在数据中存在适合于触发值的一个未使用字段的情况下,可以实现通过RLE进行无损压缩同时避免数据膨胀。
更进一步地说,附图2和3中的至少一些操作可以被实现为可在机器可读介质中实现的指令或一组指令。
在本申请的描述中使用的元素、操作或指令不应作为本发明的决定性的或基本的解释,除非像那样明确地说明。同时,在此所使用的冠词“一个”被规定为一项或多项。在基本上不背离本发明的精神和原理的基础上,可以对所请求保护的发明的上述实施方式进行变化和修改。所有这些修改和改变被确认为包含于这份公开的范围之内,并且受到随附的权利要求的保护。
Claims (20)
1.一种有选择地对数据进行游程编码的方法,包括:
如果在一个或多个数据元素中存在触发值,则从所述一个或多个数据元素中移除所述触发值;
计算所述一个或多个数据元素的游程长度;
当所述游程长度大于二时,将所述一个或多个数据元素编码成命令对,所述命令对包含所述触发值;以及
当所述游程长度不大于二时,输出所述一个或多个数据元素,而不对所述一个或多个数据元素进行编码。
2.如权利要求1所述的方法,其中,所述移除步骤包括:
用一个相似但不同的替代值,替换在所述一个或多个数据元素中的所述触发值。
3.如权利要求2所述的方法,其中,所述替代值是所述触发值的相邻值。
4.如权利要求1所述的方法,其中,所述计算步骤包括:
判断当前数据元素是否与在前元素相同,以及
如果所述当前数据元素与在前元素相同,则递增游程长度。
5.如权利要求1所述的方法,其中,所述命令对包括:
命令元素,其包含所述触发值和所述游程长度,以及
另一元素,其包含所述一个或多个数据元素的值。
6.如权利要求1所述的方法,其中,所述编码步骤包括:
输出所述命令对。
7.如权利要求1所述的方法,其中,所述一个或多个数据元素包括在YUV颜色空间或RGB颜色空间中的视频数据或图形数据的像素。
8.如权利要求1所述的方法,还包括:
存储所述命令对或者所述被输出的一个或多个数据元素。
9.如权利要求1所述的方法,还包括:
对数据流中的所有数据元素,重复所述移除、计算、编码和输出步骤。
10.一种系统,包括:
改进的游程编码器,用于根据输入数据生成编码数据,并且其被设置为:
用替代值替换在所述输入数据中发现的任何触发值,以生成被修改数据,以及
根据所述被修改数据的游程长度,有选择地对所述被修改数据进行游程编码,或者不对所述被修改数据进行编码,以避免编码数据相对于所述被修改数据的数据膨胀;
存储装置,用来存储所述编码数据;以及
改进的游程解码器,用于根据在所述编码数据中的触发值,有选择地对所述编码数据进行游程解码,或者不对所述编码数据进行解码,以生成解码数据。
11.如权利要求10所述的系统,其中,所述改进的游程编码器被进一步设置为,当所述游程长度大于二时,对所述被修改数据进行游程编码,并且当所述游程长度不大于二时,不对所述被修改数据进行游程编码。
12.如权利要求10所述的系统,其中,所述改进的游程编码器被进一步设置为,当其对所述被修改数据进行游程编码时,在命令值中插入所述触发值和所述游程长度。
13.如权利要求10所述的系统,其中,所述输入数据包括视频或者图形数据的像素,并且
其中,所述替换值从视觉上无法与所述触发值相区别。
14.如权利要求13所述的系统,其中,所述存储装置包括帧缓冲器。
15.如权利要求13所述的系统,还包括:
显示装置,用来显示所述解码数据。
16.如权利要求10所述的系统,还包括:
预调节器,用于通过调节数据来生成所述输入数据,以便在所述输入数据中得到更高的游程长度。
17.一种存储颜色数据的方法,包括:
用在视觉上相似的替代值来替换出现在所述颜色数据中的任何触发值;
当所述颜色数据的游程长度大于二时,对所述颜色数据进行游程编码以生成经过编码的输入数据,所述经过编码的输出数据包括所述触发值;以及
当所述游程长度不大于二时,输出所述颜色数据而不进行修改,作为未编码的输出数据;以及
在帧缓冲器中存储所述经过编码的输出数据和所述未编码的输出数据。
18.如权利要求17所述的方法,其中,所述经过编码的输出数据包括:
命令元素,其包含所述触发值和所述游程长度,以及
另一元素,其包含所述颜色数据的值。
19.如权利要求17所述的方法,还包括:
在检测到所述触发值时,将来自所述帧缓冲器的数据游程解码为目的数据;以及
在未检测到所述触发值时,不进行修改地输出来自所述帧缓冲器的数据,作为目的数据。
20.如权利要求19所述的方法,还包括:
显示所述目的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/533,647 US7327289B1 (en) | 2006-09-20 | 2006-09-20 | Data-modifying run length encoder to avoid data expansion |
US11/533,647 | 2006-09-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101197578A true CN101197578A (zh) | 2008-06-11 |
CN101197578B CN101197578B (zh) | 2014-05-07 |
Family
ID=38988823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710167658.1A Expired - Fee Related CN101197578B (zh) | 2006-09-20 | 2007-09-20 | 游程编码方法、游程编码解码系统以及颜色数据存储方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7327289B1 (zh) |
EP (1) | EP2064890A4 (zh) |
KR (1) | KR100996748B1 (zh) |
CN (1) | CN101197578B (zh) |
TW (1) | TWI352512B (zh) |
WO (1) | WO2008036860A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102651795A (zh) * | 2012-05-15 | 2012-08-29 | 上海大学 | 游长缩减的二元序列压缩编码方法 |
CN103124350A (zh) * | 2012-12-24 | 2013-05-29 | 东软集团股份有限公司 | 基于rle的图像压缩方法及装置 |
CN103873868A (zh) * | 2012-12-13 | 2014-06-18 | 比亚迪股份有限公司 | 一种位图数据的压缩方法 |
CN104137061A (zh) * | 2011-12-30 | 2014-11-05 | 英特尔公司 | 向量频率扩展指令 |
CN106507108A (zh) * | 2016-12-07 | 2017-03-15 | 中国石油大学(华东) | 图像编码、解码的方法和装置 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104011673B (zh) * | 2011-12-30 | 2016-12-07 | 英特尔公司 | 向量频率压缩指令 |
CN104285377A (zh) | 2012-03-15 | 2015-01-14 | 诺基亚公司 | 数据的编码和解码 |
CN103346800B (zh) * | 2013-07-08 | 2016-10-05 | 沈阳东软医疗系统有限公司 | 一种数据压缩方法及装置 |
CN106156169B (zh) * | 2015-04-16 | 2019-12-06 | 深圳市腾讯计算机系统有限公司 | 离散数据的处理方法和装置 |
CN108777583B (zh) * | 2018-06-12 | 2021-08-13 | 安庆师范大学 | 一种数据压缩方法及装置 |
PL3938894T3 (pl) | 2019-03-15 | 2024-02-19 | Intel Corporation | Zarządzanie pamięcią wielokafelkową dla wykrywania dostępu krzyżowego między kafelkami, zapewnianie skalowanie wnioskowania dla wielu kafelków i zapewnianie optymalnej migracji stron |
US11934342B2 (en) | 2019-03-15 | 2024-03-19 | Intel Corporation | Assistance for hardware prefetch in cache access |
EP3938888A1 (en) | 2019-03-15 | 2022-01-19 | INTEL Corporation | Systolic disaggregation within a matrix accelerator architecture |
US11861761B2 (en) | 2019-11-15 | 2024-01-02 | Intel Corporation | Graphics processing unit processing and caching improvements |
US11663746B2 (en) | 2019-11-15 | 2023-05-30 | Intel Corporation | Systolic arithmetic on sparse data |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1265250A (en) * | 1985-03-04 | 1990-01-30 | Alan Douglas Clark | Data transmission |
GB9727398D0 (en) * | 1997-12-29 | 1998-02-25 | Sgs Thomson Microelectronics | Run-length encoding |
US6947604B2 (en) * | 2002-01-17 | 2005-09-20 | Intel Corporation | Method and hardware to implement two-dimensional compression |
EP1494456A1 (en) | 2003-07-01 | 2005-01-05 | Deutsche Thomson-Brandt GmbH | Method for run-length encoding of a bitmap data stream |
US7724827B2 (en) | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US7129864B2 (en) * | 2004-12-31 | 2006-10-31 | Intel Corporation | Fast compact decoder for huffman codes |
-
2006
- 2006-09-20 US US11/533,647 patent/US7327289B1/en not_active Expired - Fee Related
-
2007
- 2007-09-20 EP EP07842930A patent/EP2064890A4/en not_active Ceased
- 2007-09-20 TW TW096135113A patent/TWI352512B/zh not_active IP Right Cessation
- 2007-09-20 WO PCT/US2007/079100 patent/WO2008036860A1/en active Application Filing
- 2007-09-20 CN CN200710167658.1A patent/CN101197578B/zh not_active Expired - Fee Related
- 2007-09-20 KR KR1020097004469A patent/KR100996748B1/ko not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
DAVID SALOMON: "《Data Compression (Third Edition)》", 31 December 2004 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104137061A (zh) * | 2011-12-30 | 2014-11-05 | 英特尔公司 | 向量频率扩展指令 |
CN104137061B (zh) * | 2011-12-30 | 2017-12-22 | 英特尔公司 | 用于执行向量频率扩展指令的方法、处理器核和计算机系统 |
US10241792B2 (en) | 2011-12-30 | 2019-03-26 | Intel Corporation | Vector frequency expand instruction |
CN102651795A (zh) * | 2012-05-15 | 2012-08-29 | 上海大学 | 游长缩减的二元序列压缩编码方法 |
CN102651795B (zh) * | 2012-05-15 | 2014-10-01 | 上海大学 | 游长缩减的二元序列压缩编码方法 |
CN103873868A (zh) * | 2012-12-13 | 2014-06-18 | 比亚迪股份有限公司 | 一种位图数据的压缩方法 |
CN103124350A (zh) * | 2012-12-24 | 2013-05-29 | 东软集团股份有限公司 | 基于rle的图像压缩方法及装置 |
CN106507108A (zh) * | 2016-12-07 | 2017-03-15 | 中国石油大学(华东) | 图像编码、解码的方法和装置 |
CN106507108B (zh) * | 2016-12-07 | 2018-04-17 | 杜昀晓 | 图像编码、解码的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US7327289B1 (en) | 2008-02-05 |
KR100996748B1 (ko) | 2010-11-25 |
EP2064890A1 (en) | 2009-06-03 |
CN101197578B (zh) | 2014-05-07 |
EP2064890A4 (en) | 2009-10-21 |
TWI352512B (en) | 2011-11-11 |
WO2008036860A1 (en) | 2008-03-27 |
TW200822579A (en) | 2008-05-16 |
KR20090036605A (ko) | 2009-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101197578B (zh) | 游程编码方法、游程编码解码系统以及颜色数据存储方法 | |
US20100118947A1 (en) | Decoder for selectively decoding predetermined data units from a coded bit stream | |
CN104718754A (zh) | 将帧的像素数据编码为交错比特流的图像压缩方法和装置以及相关的图像解压缩方法和装置 | |
US7983494B2 (en) | Method, medium, and system compressing and/or decompressing pixel data | |
CN1675842B (zh) | 算术编码的方法、设备以及相应解码方法 | |
JP2016512004A (ja) | データエンコーダ、データデコーダ及び方法 | |
CN103581684A (zh) | 压缩编码和解码方法及装置 | |
US7430328B2 (en) | Rice lossless compression module | |
TW401704B (en) | Data efficient quantization table for a digital video signal processor | |
US10897635B2 (en) | Memory compression systems and methods | |
CN105144726A (zh) | 指示媒体内容的样本的标称范围的定制数据 | |
KR20100079121A (ko) | 이미지 인코더 및 이미지 인코딩 방법 | |
JP4061104B2 (ja) | コンテキストモデルによるラン・スキップカウントに基づくメモリアクセス及びスキッピング | |
CN101657973B (zh) | 采用位精度的编码装置和编码方法 | |
CN110191341B (zh) | 一种深度数据的编码方法和解码方法 | |
CN112449191B (zh) | 压缩多个图像的方法、解压缩图像的方法和装置 | |
US10904532B2 (en) | Differential prefix coding for high throughput entropy coder in display compression | |
US20010030615A1 (en) | Variable length decoding system and method | |
CN102388538A (zh) | 编码输入位序列的方法和设备以及相应解码方法和设备 | |
CN112449186B (zh) | 编码方法、解码方法、相应的装置、电子设备及存储介质 | |
WO2004056085A1 (ja) | 画像符号化装置及び方法、並びに符号化画像複合化装置及び方法 | |
US7193541B2 (en) | Representation of sign in encoding scheme | |
CN112055223A (zh) | 一种图像编解码方法及编解码器 | |
CN112449201A (zh) | 解码方法、编码方法、相应的装置、电子设备及存储介质 | |
CN111656784A (zh) | 解码方法、解码器和解码系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140507 Termination date: 20180920 |