CN1608379A - 确定相邻数据块内的模式的方法和设备 - Google Patents
确定相邻数据块内的模式的方法和设备 Download PDFInfo
- Publication number
- CN1608379A CN1608379A CNA028262085A CN02826208A CN1608379A CN 1608379 A CN1608379 A CN 1608379A CN A028262085 A CNA028262085 A CN A028262085A CN 02826208 A CN02826208 A CN 02826208A CN 1608379 A CN1608379 A CN 1608379A
- Authority
- CN
- China
- Prior art keywords
- target frame
- frame
- described method
- search block
- traversal
- 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
Images
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/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/99—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 involving fractal coding
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Analysis (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明描述了用于在数据的相邻顺序帧之间提供模式识别的方法和设备,该数据可以是不同类型的不相关数据或者是时序上相关的,并且每帧内既可含有音频又可含有图像数据。利用预测线索确定缺省模式方向,然后利用不同的线索和并行处理技术,在基准帧中的各种搜索块与目标帧的相应目标搜索区之间作出横向、纵向、斜向和旋转方向的比较,来实现模式识别,其中,没有获得足够多的匹配的定向线索被终止。只要匹配被找到,它们就被保存为链接表或二叉树,然后被处理,使得帧内的交叠匹配被表示成超集块。
Description
技术领域
本发明涉及一种确定相邻数据块内的模式的方法和设备。
背景技术
有许多不同的技术可用于数据的压缩和先前压缩数据的后续解压缩。ZIP数据压缩是用于文件的压缩和先前压缩文件的后续解压缩的一例众所周知的技术。
所有压缩技术都想通过消除文件中可能存在的冗余来缩减文件长度,即对文件进行“压缩”。不同压缩技术之间的区别在于消除冗余所用的方法。一般说来,压缩技术在消除冗余时越成功,压缩量越大。
为了消除冗余,一般使用某种类型的模式匹配。例如,我们知道,在电影的连续帧中,时常会出现冗余模式(帧面)。因此,当电影被数字化成某一格式(比如MPEG)时,原图像帧序列将被替换成MPEG的I、B和P图像帧序列,I、B和P图像帧含有原图像帧序列中所存在的信息的足够百分比以便于人眼接受其再现。然而,MPEG的I、B和P图像帧序列是有损失的,这是因为,在得到MPEG的图像帧序列时所用的数学表示无法保留原帧序列中所存在的所有数据。此外,在其他许多情况下也存在冗余模式,可用模式匹配操作来消除冗余。各种射线照相图像序列(比如x光照片)都含有冗余模式。各种可执行或不可执行文件的集合相互之间也含有冗余。因此,显然,任何类型的数据都可以与其他任何数据进行比较,试图找出这两种数据集所共有的模式。因此,在随后的描述中,可以获得数据集并与另一数据集进行比较。与另一数据集进行比较的每一数据集都将被描述成被格式化为这样一种帧,其中含有矩阵阵列的数据集中的数据,然后可将该帧与含有另一数据集中的数据的另一帧进行比较。此外,在电影中的图像的相关时序的情况下容易理解术语“帧”的使用,其中每一图像都呈现单独帧并构成一个单独数据集,然而,应当理解,该术语可适用于任何类型的数据集,因此,具有比电影中的各种图像的情况更为广泛的预计适用性和用法。
此外,在理解冗余模式存在与实际找出这些冗余模式之间也有很大的差别。继续用电影中的图像序列的例子,显然,由于图像的至少一部分在运动,因此每帧的数字数据一般是不同的。而且,该运动每次都可能以一个以上的方向出现。对于以多方向存在的运动,这可能会给当运动以单方向出现时作用有效得多的模式识别技术(比如MPEG)带来一些难题。关于MPEG情况下含有更复杂运动的相邻帧,可能要求这些帧成为新的独立帧,即I帧,而不是含有较少数据的B或P类型的预测帧。结果,很可能在相应的MPEG序列内会存在大量的I帧,相应地,由于对帧之间确实存在的但没有找到的模式识别较少,因此压缩较少。这种情况的发生归因于MPEG情况下许多原因的综合,但特别重要的一个原因在于只认识到有限的运动矢量,并且正好没有找到与现存的有限的运动矢量认识不同的运动矢量或移动的方向。
此外,确定模式的方式不仅影响所发生的压缩量,而且影响所出现的损失量。在例如作为有损失压缩技术的MPEG中,利用预置块尺寸来定位模式,这样,为了实现压缩,必须容许较高的损失量。
再者,在诸如MPEG的技术中,通过用数学表示来表示数字数据的某些部分来实现压缩,这种数学表示一般与原数据非常接近,但实际上有所不同。然而,利用这些技术,虽然可以得到压缩,但在压缩过程中,可能会带来一些不希望的人为因素,这些人为因素在后续数据解压缩时可能会带来一些问题,例如,所得到画面质量下降。例如,众所周知,在MPEG中,由于用于压缩的DCT算法中的限制,可能会出现原数据内容的高达20%以上的损失。而无损失压缩技术(比如LZW)尽管没有带来任何损失,但一般不可能达到有效的压缩量。
因此,希望有一种模式匹配技术,它既能无损失地操作,又能在以无损失方式或以有损失方式操作时识别出数据的相邻帧之间存在的较大百分比的冗余模式。
发明内容
这里所描述的本发明提供了一些有益的模式匹配技术。
本发明描述了用于在数据的相邻顺序帧之间提供模式识别的方法和设备,该数据可以是不同类型的不相关数据或者是时序上相关的,并且每帧内既可含有音频又可含有图像数据。利用预测线索确定缺省模式方向,然后利用不同的线索和并行处理技术,在基准帧中的各种搜索块与目标帧的相应目标搜索区之间作出横向、纵向、斜向和旋转方向的比较,来实现模式识别,其中,没有获得足够多的匹配的定向线索被终止。只要匹配被找到,它们就被保存为链接表或二叉树,然后被处理,使得帧内的交叠匹配被表示成超集块。
根据一个方面,本发明提供了一种压缩多个顺序帧的比特长度的方法,其中每帧都由多个比特组成。该方法将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧最初被设定为多个顺序帧的初始帧而目标帧最初被设定为多个顺序帧的后续帧。利用多个比较块来得到被压缩的目标帧的表示。然后,再将基准帧重新指定为作为目标帧的后续帧,和将目标帧重新指定为跟随在该后续帧之后的另一后续帧,再重复这些比较和利用步骤。
根据另一方面,还提供了一种根据基准帧得到目标帧中存在的冗余模式的链接表的方法,其中每个基准和目标帧都由多个比特组成。该方法包括如下步骤:将基准帧的多个搜索块部分中的每一部分与目标帧内的多个区域进行比较以确定多个匹配;和针对每一匹配,用与搜索块部分链接的区域标识符来表示与该匹配相应的目标帧的那个部分。
根据另一方面,还提供了一种搜索多个顺序帧内的模式的方法,其中每帧都由按可被横向、纵向和斜向遍历的矩阵阵列排列的多个比特组成。该方法包括:将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧被设定为多个顺序帧的初始帧而目标帧最初被设定为多个顺序帧的后续帧。该比较步骤包括:横向遍历目标帧以将至少第一组搜索块与目标帧内的相应横向目标块进行比较;和纵向遍历目标帧以将与第一组搜索块可能相同也可能不同的至少第二组搜索块与目标帧内的相应纵向目标块进行比较。
根据另一方面,本发明还提供了一种搜索多个顺序帧内的模式的方法,其中每帧都由按矩阵阵列排列的多个比特组成。该方法包括:将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧被设定为多个顺序帧的初始帧而目标帧最初被设定为多个顺序帧的后续帧。该比较步骤包括:以多个不同的方向遍历目标帧以将搜索块与目标帧内的相应目标块进行比较,该遍历步骤包括启动并行处理的多个不同的线索,其中每个不同的线索按不同的搜索块和不同的方向至少之一来操作;和判断这些遍历是否导致了在目标帧与基准帧之间可找到足够多的匹配。然后出现终止多个不同的线索中的某些线索的步骤,其中,如果判定与特定线索相关的遍历没有导致足够多的匹配,则出现针对该特定线索的终止步骤。
根据另一方面,本发明还提供了一种压缩多个顺序帧的比特长度的方法,其中每帧都由多个比特组成。该方法包括:将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧被设定为多个顺序帧的初始帧而目标帧最初被设定为多个顺序帧的后续帧。比较步骤使用了用于比较的多个不同的线索以及每一线索内的尺寸一致的搜索块,这样相应的比较块的尺寸也一致。该方法利用多个比较块来得到从原状态被压缩的目标帧的表示。该利用步骤包括:判断是否存在能被压缩的相邻比较块;和针对能被压缩的相邻比较块中的至少某些比较块,建立其中含有这些相邻比较块的至少一个尺寸不一致的超集块。
根据另一方面,本发明还提供了一种搜索多个顺序帧内的模式的方法,其中每帧都由按矩阵阵列排列的多个比特组成。该方法包括:以一种有损失方式将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧被设定为多个顺序帧的初始帧而目标帧最初被设定为多个顺序帧的后续帧。该比较步骤包括:针对第一搜索块,获得表示目标帧内存在的比较百分比的第一权重;和针对与第一搜索块交叠的第二搜索块,获得表示目标帧内存在的另一比较百分比的第二权重。如果第一权重与第二权重两者都具有超过所确定阈值的比较百分比,那么,将放弃第一和第二搜索块中比较百分比较低的比较块。
根据另一方面,本发明还提供了一种搜索多个顺序帧内的模式的方法,其中每帧都由按矩阵阵列排列的多个比特组成。该方法包括:将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧被设定为多个顺序帧的初始帧而目标帧最初被设定为多个顺序帧的后续帧。该比较步骤包括:启动一种预测线索,该预测线索用于将基准帧的矩阵阵列内的不同位置的块尺寸不同的一些不同的预测搜索块与目标帧中的不同的相应预测目标块进行比较,以获得目标帧的预测最佳块尺寸和预测移动方向。该比较步骤还在搜索块尺寸与预测最佳块尺寸相应时以与预测移动方向相应的方向启动目标帧的遍历。
根据本发明的另一方面,还提供了一种搜索多个顺序帧内的模式的方法,其中每帧都由按矩阵阵列排列的多个比特组成。该方法包括:将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧被设定为多个顺序帧的初始帧而目标帧最初被设定为多个顺序帧的后续帧。该比较步骤包括:启动一种预测线索,该预测线索用于将基准帧的矩阵阵列内的不同位置的块尺寸不同的一些不同的预测搜索块与目标帧中的不同的相应预测目标块进行比较,以获得目标帧的预测最佳块尺寸和预测移动方向。该比较步骤还包括:在搜索块的尺寸与预测最佳块尺寸相应时以与预测移动方向相应的方向启动目标帧的遍历。
根据另一方面,本发明还提供了一种搜索多个顺序帧内的模式的方法,其中每帧都由按可被至少横向和纵向遍历的矩阵阵列排列的多个比特组成。该方法包括:将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧被设定为多个顺序帧的初始帧而目标帧最初被设定为多个顺序帧的后续帧。该比较步骤包括:至少横向和纵向按分别大于单比特列或比特行的增量遍历目标帧,以将搜索块与目标帧内的相应目标块进行比较。该遍历步骤包括:对于矩阵阵列边缘的那些搜索块和相应目标块,分别用完全相同的信息来填充超出基准帧和目标帧范围的搜索块和相应目标块内的比特位置,这样,在整个遍历步骤中可以保持搜索块和相应目标块的尺寸。
根据本发明的另一方面,还提供了一种搜索模式的方法。该方法包括:获得多个顺序的且时间相关的帧,其中每帧都由表示视频信息的多个比特和表示音频信息的另外多个比特组成。通过将基准帧内的多个不同的搜索块与目标帧进行比较来获得多个比较块,基准帧最初被设定为多个顺序的且时间相关的帧的初始帧而目标帧最初被设定为多个顺序的且时间相关帧的后续帧。利用多个比较块来得到被压缩的目标帧的表示。
根据另一方面,本发明还提供了一种压缩多个顺序帧的比特长度的方法,其中每帧都由多个比特组成。该方法包括:将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧最初被设定为初始帧而目标帧最初被设定为后续帧。该比较步骤包括:判断是否达到基准帧与后续帧之间的所希望的压缩比。如果达到了所希望的压缩比,则终止比较步骤。如果没有达到所希望的压缩比,则利用多个比较块来得到与原状态相比被压缩的目标帧的表示。
如下文所述,可以看到本发明的其他方面的优点和目的。
附图说明
以下,参照作为本发明的非限定性举例的实施方式的附图,进一步详述了本发明的上述及其他特征和优点,其中,一些图中同样的标号表示本发明的类似部分,并且其中:
图1示出了本发明的框图。
图2A、2B1、2B2和2C示出了根据本发明被格式化为帧的例示数字数据。
图3更详细地示出了一个数据帧内的主块以及根据本发明对其操作的搜索块。
图4示出了初始O-帧主块内的一例初始搜索块,后续O-帧主块内的相应初始搜索区,以及根据本发明所用的纵向、横向和斜向模式搜索方向。
图5示出了一例视频数据流帧内的后续O-帧主块的一部分以及举例说明的对其操作的搜索块。
图6示出了根据本发明所用的举例说明的旋转模式搜索。
图7A-7D示出了在获得根据本发明的模式识别时所用的数据和报头以及结果数据格式,该结果数据格式此后可进一步被压缩。
图8A-8C示出了根据本发明的一种优选实施方式的模式识别系统的总体操作的流程图。
图9A和9B分别示出了根据本发明的实施方式的典型搜索块和有损失的目标块。
具体实施方式
本发明提供了一种模式匹配方法,该方法由于提供了匹配模式的指示,不仅可以产生压缩,而且还可用于压缩表示要进一步压缩的匹配模式的数据。如上所述,尽管本发明因此可用于对任何类型的数字数据进行操作(因为任何类型的数字数据都可以与其他数字数据进行比较),然而,本发明对于数据中很可能存在模式的应用而言具有特殊意义,这种应用比如有:来自电影的数字原版的视频图像序列,从实时数字摄像机馈送信号中得到的图像序列,相关医学图像序列,表示音频内容的数据序列或每个都被确定为另一个的拷贝的冗余数据存储设备。
应当注意,对于相关序列(如视频图像),本发明的模式识别方面的操作最好对能用于显示图像和再现声音的原数字数据的帧进行操作。因此,例如,能对来自数字视频摄像机的馈送信号(无论是电影的实时、延时还是数字形式)进行操作。然而,如果已用预先已知的压缩技术存储了序列的相关数据(比如MPEG),那么,本发明最好将MPEG解码以获得与原版帧序列最密切相符的相应帧序列并对其进行操作(尽管未必这样),并且MPEG编码数据可以按其编码格式被操作,这样仍然可得到根据本发明的优点。
显然,本发明能对任何类型的数据(无论该数据是随机收集的、预先压缩的还是预先置入已知数据格式的)进行操作的一个原因在于,模式识别操作最好按比特级执行,从而将一帧数据中的比特与另一帧数据中的比特进行比较。因此,例如,如果搜索块含有利用像素表示图像的数据,而每个像素都可表示为24比特且都在一帧中,如果相应的搜索块区含有这样一些像素,其中每个像素都被识别出24比特中有22比特与该搜索块中的相应像素相同而只有2比特不同,那么,根据本发明的比较可以确定其类似度,并且,由于每24比特中至少有22比特相同,因此可以如下所述建立一个标识该搜索区与该搜索块相同的链接表,并且仍可以实现相当大的压缩,并且仍可以保持大于90%的精确度。
对于时间上相关的数据(比如视频或音频),不同的帧之间有关联。在既含有视频又含有音频的电影的情况下,与电影中的每一图像相应的还有必须与电影同步的那部分声音。尽管在诸如MPEG的系统中,要完全独立地压缩需要单独被编码和解码的单独音频流的音频,然而,如上所述,本发明并不能区分所操作的数据的“类型”。因此,在本发明中,在判断既含有音频又含有视频数据的帧内是否存在模式时,不需要单独的音频数据流。本发明可以通过对同一帧内存在的两种类型的数据都进行操作来识别模式。对该数据进行操作时这两种类型之间并没有什么区别,尽管(如下所述)通过区分给定帧内的音频和视频数据可以获得某些好处。
然而,本发明在处理含有音频信息的帧序列时,确实最好(但未必)是处理已利用这样一些技术所转换的音频数据,这些技术如与本申请同一发明人在同一天所申请的名称为“Optical Encoding of AudioData”、申请人的代理人的编号为042503/0261933的美国专利申请中所述。这另一个发明描述了一种将音频数字数据转换成色空间数字数据的技术。
正如这一“光学编码”申请中所述,数字抽样音频信号是一个数字值序列,也称为数字音频信号元,它们间隔相同的时间间隔。由于音频和视频数据格式不同,因此,音频数据通常不被附加到视频数据中和用视频数据来编码。“光学编码”提供了这样一种机制,用于操作音频数据,使得它可以附加到视频数据中,以便以后用视频数据同时进行编码。具体地说,数字抽样音频信号元被映射到选自可能色彩的调色板的一种色彩。及时根据指示重放速率的报头(未示出)跟踪不同时刻的音频数据,这样使得可以在适当时刻重放数字音频元序列。所有不同时刻出现的幅度相同的音频信号都具有为它们所分配的相同色彩。映射过程在各不同时刻将色彩分配给相应的音频数据。在映射过程后,每一音频信号不再具有相关的幅度,而具有从色彩查阅表中得到的相应色彩。因此,幅度相同的数字音频信号元将具有相同的色彩。此外,所得到的调色板是一种可被分配的可能色彩的调色板的子调色板。
“光学编码”申请中将数字抽样音频信号元映射到选自可能色彩的调色板的一种色彩的过程从读取当前数字音频信号元的幅度开始。然后,判断是否已预先为该幅度分配了色彩。如果预先为该幅度分配了色彩,则将预先为该色彩分配的色彩查表分配给当前抽样。如果预先没有为该幅度分配色彩,那么,为该色彩和幅度分配一个新的色彩查表,并将该色彩加到子调色板中。该子调色板是已分配给数字抽样音频信号元的幅度的色彩的集合。然后,判断是否还有数字音频信号元要处理。如果还有数字音频信号元要处理,那么,过程进至下一个抽样并读入当前抽样的幅度。过程结束时,该子调色板包含有描述所有数字抽样音频信号元的所有时刻的幅度所需要的所有色彩。此外,对于每一抽样,都用该子调色板中的相关色彩来代替幅度。该过程的输出是这样一种帧,它含有该子调色板以及其变换色彩格式的序列数字音频信号元。
该扩充视频帧被解码后,可以从扩充视频帧中分离出色彩音频,并恢复数字音频信号元,如“光学编码”应用中所述。当恢复出数字音频信号元时,读入当前数字音频信号元的数字色彩值,并根据色彩查表重新得到相应的数字音频值。然后,判断是否还有表示数字音频信号元的数字色彩值要处理。如果还有值要处理,那么过程进至下一个抽样并读入此刻当前抽样的幅度。过程的输出是原数字抽样音频信号。
针对这些帧中的所有帧,色空间转换的音频数字数据最好以同样的方式编排在帧内,并在其中做一个如下所述的标记,该标记指示帧内的哪些帧块含有该音频数据,如这里所详述。
图1示出了根据本发明的一例系统100,该系统包括数字传递设备110,它可以是能将流中的任何类型的数据传送到下级设备120的数字摄像机、硬盘驱动器、磁盘控制器或任何媒体。如图所示,设备120最好是含有能执行多线程并行操作的处理器的计算机。在利用设备120进行模式识别后,可以执行含有根据本发明的输出数据的流的后续编码。此外,图中还示出了网络130和另一设备140,该设备140能执行解码过程以及再生原处理数据,这样,就可以按计划使用数据。关于这一点,本申请在此将描述用于获得根据本发明的模式识别的方法。显然,一旦模式被识别并利用链接表、二叉树或这里所述的其他数据存储格式使其相互关联,那么从如这里所述格式化的数据中得到原数据就成为一件简单的事情。
尽管提供了上述系统来说明能利用这里所述的本发明的优点的一种方式,然而这只是为了举例说明。例如,每个不同的计算机设备120和140可以实现成一个单独的计算机,而除了含有能实现这里所述的发明的处理器的计算机之外的设备也可以使用。还可以有许多其他变形。此外,尽管诸如所提到的设备通常含有某类型的处理器,比如Intel Pentium 4微处理器或与根据这里的讲解所编写的程序指令结合的DSP,然而,还可以使用实现本发明的其他硬件,比如现场可编程门阵列。这些程序指令最好用C++或其他某种计算机编程语言来编写。对于重复使用的重复性例程,它们可以用更快速处理的汇编程序来编写。如上所述,本发明对最好格式化为帧内的矩阵阵列的数据进行操作,如下文进一步所述。对于时间上不相关的数据,可以将这些块格式化为能保存或不能保存相同数据量的帧。对于时间上相关的数据,比如图像和音频数据,每一图像及其相关的音频数据最好具有它自己的帧,尽管未必这样。
图2A示出了典型帧220,这种帧按帧块230来分块,帧块230含有置入帧块230中的数据。该数据可以是也可以不是时间上相关的。
图2B(1)示出了一例序列210-1,210-2…210-n,这些序列可以是数字电影,该电影含有每一图像的数据(这些图像彼此时间上相关)以及相应的音频数据(这些音频数据也与这些图像时间上相关)。每个序列210都包含因此而彼此时间上相关的一些帧220,如图2B(2)中所示的三个帧220所示。图中示出了这些帧220具有一些帧块230(这里为举例说明示出了20块),其中15块(230V1,23V2…23Vn)示为用于视频图像数据,而其中5块(230A1,230A2…230An)示为用于音频信息。一个重要的方面是:帧块230V的总矩阵阵列与需要描述的图像相应,而帧块230A被置于其它地方,比如置于这里所示的底部。还要注意,标记232在最后一个帧图像帧块(如230N所示)与第一个音频帧块(如230A1所示)之间。如以下进一步所述,这使得可以轻易地识别含有图像和音频信息的那些帧块,这样,可以利用不同的线索来对它们进行操作,如下所述。这一标记是数据中在其他情况下不会出现的唯一的比特组合。
通常,在含有时间上相关的数据的帧的情况下,最好每帧都能保存相同的数据量,尽管未必这样。此外,在时间上相关的帧的情况下,序列的至少第一帧可以成为被称之为关键帧的帧,而在高速移动的视频的情况下,序列内的其他帧也可以成为关键帧,如下所述。
图2C(1)-(2)示出了把数据定位于帧块230中的方式。因此,整个帧的数据被定位置入到通常每个都能保存相同数据量的帧块中。
图2C1示出了一个含有时间上不相关的数据的帧块。如图所示,在这一特例中,数据由16比特字构成,而各种字都以帧块230的左上角为起点进行定位并被插入直到完成,其中图2C1中的每个点都代表可以进行存储的单比特位置。该图中所示的情况是:对于不含数据的帧的末尾的那些比特位置(如带下划线的比特位置所示),本发明最好用比特电平0值来填充这些位置以及其他任何空比特位置。
图2C2示出了一个包括含有图像数据的数据的帧块,它可以是(但也可以不是)时间上与另一帧相关的帧的一部分。如图所示,在这一特例中,数据是24比特RGB数据,因此,每个像素为24比特。当然,这一数据格式纯粹是针对典型用途所提出的,除此之外,还可以使用其他数据格式和图像数据类型。代表每比特位置的数据最好置于帧块内与所提供部分的像素位置相应的位置,尽管当然还可以想出其他方案。此外,图2C2中的每个点都代表可以进行存储的单比特位置。
对于包括含有音频数据的数据的帧块,如上所述,该数据最好转换到色空间,比如RGB数据,于是能以与图像数据相同的方式来表示,如图2C2中所示。当然,还可以使用其他数据格式。代表每比特位置的数据最好置于帧块内时间上与表示同一音频流的其他部分的其他数据相应的位置,尽管当然还可以想出其他方案。
在描述了这种最初在帧内定位所要操作的数据的方式后,下面将描述便于识别帧之间存在的模式的本发明的一些方面。具体地说,在详述根据本发明的模式识别系统的操作之前,将先讨论无论单独还是共同都十分重要的搜索和模式识别策略的某些方面。正如已经所提到的,本发明按比特级对数据进行操作。基准帧中的数据的搜索块每个都与目标帧的各种块(如前面以及下文所述)进行比较。最好按比特级来确定匹配,尽管还可以按多比特、字节和多字节级来确定匹配。确定匹配基于这样的模式匹配操作:综合利用纵向、横向、斜向和旋转搜索技术,最好通过并行操作和利用不同的线索,将基准帧内的典型比特搜索块与目标帧内的各种位置进行比较,如下所述。
为了便于描述,原数据帧将被称为原帧或O-帧,而由于找到模式其中需要用来表示帧已被缩减的数据的总尺寸较小的那些帧将被称为缩减或R-帧。因此,在这里所述的模式匹配操作完成后,目标O-帧将变成缩减或R-帧,因为该帧内的数据的表示在多数情况下将从其原格式被缩减。如果未被缩减,那么依旧是是原O-帧,因此,描述该帧的数据与任何模式匹配操作发生之前所存在的数据完全相同。这种未被缩减的原O-帧在此也被称为关键帧。因此,根据本发明的一种优选实施方式,初始O-帧作为基准帧,从中取出搜索块并将这些搜索块与相邻目标O-帧进行比较。初始O-帧以其原格式保留其原数据,而目标O-帧很可能可用缩减数据集或R-帧来描述。
在操作上,根据一种优选实施方式并且如下所述,一旦初始基准O-帧完成了其与目标O-帧的模式匹配操作,尽管目标O-帧将表示为R-帧,但具有原O-帧数据的目标O-帧将作为新基准O-帧以得到搜索块,然后取这种搜索块并将其与下一或相邻O-帧(此时成为新目标O-帧)进行比较。这样,通过检测相邻帧内存在的模式,并且在帧移动的情况下,通过检测这些帧内存在的模式的移动方向,得到模式识别,从而可以建立反映这些模式的链接表。然而,应注意,尽管在这种优选实施方式中,新基准O-帧和新目标O-帧互相都在开窗,使得两者都在移动,然而,还可以有其他实施方式,比如使初始O-帧继续作为基准O-帧,而使后续多个O-帧中的每一个都成为连续的目标O-帧(使同一基准O-帧与这些目标O-帧单独进行比较)。
图3进一步详细示出了典型数据O-帧内的四个典型帧块230以及其中所定义的典型搜索块310。如前面所讨论,无论什么类型最好都格式化为每个都含有矩阵阵列的数据的帧220。尽管该数据时间上或其它方面可以是不相关的,并因此被格式化为任意尺寸的数据帧块,然而能存储相同数据量的帧块230更容易有助于进行更快的处理。不过,在本发明的讨论中,随后是视频情况下的特例,它含有时间上相关的数据的帧以及每帧内的各种数据类型,这样,可以描述和便于理解本发明的某些重要优点。因此,视频将含有帧序列的视频流。如上所述,由于图像数据以及与该图像相应的音频数据必须一起保持在适当的序列中并保持同步,因此,单个帧能存储这两种数据。在这种情况下,每个O-帧最初其尺寸与再现视觉图像所需的比特数和再现相应的音频所需的比特数的合并数相应。
图3还一般性地示出了搜索块310其尺寸比帧块230小。尽管搜索块310的尺寸可以随O-帧的尺寸以及所操作的给定帧的特定部分而变,然而,已被确定为有利于各种帧尺寸的搜索块的优选尺寸如下表I所提供。
表I | |
帧类型 | 搜索块 |
320×240字节视频帧 | 32×32字节搜索块 |
720×480字节视频帧 | 64×64字节搜索块 |
1440×960字节视频帧 | 128×128字节搜索块 |
音频块 | 8×8字节搜索块 |
如下文进一步所述,在诸如如图2B1中所示的210A-210D的序列内,存在一些帧220,需要对其进行操作以判断这些帧220内是否有一些模式存在。为此,要使用一种搜索块。通常,针对含有同类型数据的帧块230,该搜索块的尺寸(一旦被确定)保持不变。因此,尽管可以用相同的搜索块来搜索含有既有图像数据又有音频数据的帧块的帧,然而,已经发现,最好在搜索含有图像数据的帧块时使用一种所确定的搜索块尺寸而在搜索含有音频数据的帧块时使用另一种所确定的搜索块尺寸。如上所述,与该序列有关的前后紧挨的帧在时间和内容上可能是相关的,不过,为了便于根据本发明的模式识别,却被确定为是不相关的。例如,可以将帧序列后面的后续帧确定为是新关键帧,这是因为,该后续帧由于这里所述的模式识别未能被缩减。从下文可以看到,这种新关键帧可能具有与被确定为是R-帧的前面帧序列不同尺寸的搜索块,尽管对于时间上相关帧内的数据,情况通常不是这样。
图3还示出了与纵向320和横向330相应的箭头。这用来说明,在给定基准O-帧内,搜索窗横移过帧块230,这样,整个基准O-帧在作为搜索块的每个部分内都有数据。如下文中所述,最好配置能利用多个线索进行操作的现代处理器,这样,如下所述,不同的线索可以同时处理不同的搜索块或同时以不同的方向进行处理。至于选择不同的搜索块的方式,最好将搜索块移动单比特位置,这样,就存在搜索块的交叠窗,尽管可以移动2、4、8个或更多的比特以及按字节和多字节移动(这种移动为所选搜索块提供较少交叠甚至没有交叠)。因此,单比特位置移动将保证沿同一横向水平面的所有块都被搜索,而搜索块窗此时可以独立地纵向下移,从而使另一组搜索沿这一新的横向水平面进行。当然,还可以采用其他选择搜索块被选次序的方式。
如图4中所示,当基准O-帧220R中的特定搜索块310应用于目标O-帧220T时,搜索块310最初应用于在与基准R-帧220R内的相同位置的与帧块230R内的相同位置相应的目标O-帧220T的帧块230T内的搜索块区410。在这一初始位置,利用无损失压缩的“与”操作以及如文中针对有损失操作所述的其他操作,在此时搜索块310内的数据与目标O-帧230T的搜索块区410内的相应数据之间按比特级进行二进制比特比较,如下文中进一步所述。一旦初始比较完成,于是就在帧220R内以各种其他移动方向,包括如这里所述的纵向420、横向430、斜向440和旋转方向,来移动搜索块310,并在沿移动方向的每一这样的位置上,在搜索窗内按数据的比特级进行另一比较。
图4还示出了目标帧内搜索块410的优选纵向移动和横向移动的方向以及一种优选斜向移动方向。如图所示,如果从目标帧的搜索区410开始,那么,搜索块310针对各自的纵向或横向移动方向,每次在相应的纵向和横向移动方向的列或行方向上分别下移或横移最好1比特,而对于所示45度角斜向,它最好横移1比特和下移1比特,这可以被称为(1,1)斜向移动。利用例如(1,2),(1,3),(1,4)…(1,n)移动以及(2,1),(3,1),(4,1)…(n,1)移动,还可以实现与各种其他角度相应的斜向移动。此外,如环绕箭头所示,还可以搜索纵向、横向和斜向内的所有各种像素位置,尽管如下文进一步所述,所有这种搜索都可能是不必要的从而可能不进行。
当搜索窗310应用于主块的边缘处的搜索区410时,使用相邻主块像素数据,此外,一旦在帧的边缘处,就执行作为环绕结果的进一步搜索。
在边缘处,如果搜索块窗的移动是单比特,那么,在帧220T的边缘处,搜索窗将转到帧220T的对面并开始另一比较。然而,如果搜索块窗跳越多比特,那么,在帧220T的边缘处,将难以得到数据来填充搜索区410。在这种情况下,搜索区410内的该数据用0来填充,而搜索块310内的相应比特位置也用0来填充,这样,搜索块窗310的尺寸和搜索块区410的尺寸都无需改变。
图5示出了应用于目标O-帧帧块230T内的初始搜索区410的基准O-帧220R的基准O-帧帧块230R的一例初始搜索块310。这一特定搜索块310表示为24×24比特的块(为了便于理解,只使用了这一窗口尺寸)。图中示出了搜索窗310处于三个连续的横向搜索区410、412和414,其左上角的比特位置(它们可用来标识目标O-帧220上的搜索窗位置)分别是位置(36,24)、(37,24)和(38,24)。对于纵向移动,可得到类似的这种搜索区,比如从(36,24)位置到(36,25)位置,而对于斜向移动,也可以得到类似的这种搜索区,比如从(36,24)位置到(37,25)位置的1-1移动。
图6A-6D示出了举例说明的旋转模式搜索,一种模式如图6A中所示,而在90、180和270度位置,分别如图6B-6D中所示。可以这样来实现基于这些原则的旋转模式搜索:在利用同样如这里所述的移动操作得到的不同位置处,旋转可以检测出模式的旋转移动。
图7A-7D示出了在获得根据本发明的模式识别时所用的数据和报头以及结果数据格式,该结果数据格式此后可进一步被压缩。在结合图8A-C的流程图解释如何实现本发明来得到模式匹配时,将利用这种数据和报头。
图8A-C示出了本发明的一种优选实施方式的流程图。如步骤10中所示,设置一些初始条件。这些初始条件包括:总压缩目标比,预定计数值,缺省搜索块尺寸,涉及有损失压缩时的损失百分比,缺省模式方向,纵向和横向搜索块这两者的遍历偏移量,以及纵向和横向目标搜索区的偏移量。下面将稍微详细地讨论每一初始条件。
总压缩目标比是目标帧的所需总压缩。这一总压缩不仅包括根据本发明的模式识别所得到的压缩,而且还包括想要进行的进一步压缩操作,这些进一步压缩操作超出了本发明的范围。在某些情况下,如下文中所述,如果识别了大量的模式,那么,对整个压缩而言,这里所述的模式识别将被终止,而代之以使用上述进一步压缩操作。例如,在电影内的帧序列中,如果两个相邻帧完全含有块图像(例如,作为介绍性片头的先导),那么将超过这一总压缩目标比(因为这两个图像实际上完全相同)。
本发明用预定计数值来终止正在以某一特定方向移动搜索块且没有找到匹配的线索。具体地说,在搜索了基准块的某一最小搜索区(例如占20%)后,很可能在基准帧的20%区内的搜索块之间的某些匹配将在目标帧内找到一些匹配。因此,可以用预定计数值来设置这一计数。尽管这一计数有可能被设置为0,然而它也有可能被设置为某一较高的整数。
缺省搜索块尺寸值为缺省搜索块尺寸提供了一个值。如果在特定帧内使用了一个以上的搜索块尺寸,例如,含有视频信息的帧块的一个搜索块尺寸和含有音频信息的另一个搜索块,那么,定义同样大小的一些搜索块尺寸。
如前面所述,本发明既可以按无损失方式又可以按有损失方式操作。当按有损失方式操作时,本发明允许设置损失百分比,以确定这里所述的模式识别操作内所能容许的损失量。因此,可以将该损失百分比设置为初始条件,这样,当搜索块根据目标帧的搜索块区作出其比较时,如果该搜索块区内同样多的比特数达到了损失百分比,则可以认为匹配。
缺省模式方向初始条件被设置成这样一个方向,它在缺少预测线索(该线索确定一种不同于缺省模式方向的模式方向应当用于第一线索)的情况下可用来遍历目标帧。
搜索块遍历偏移量也可以被设置为初始条件。最好各种不同的线索都存在有偏移量的组合。例如,搜索块遍历偏移量的不同组合可用于各种不同的横向、纵向、斜向和旋转搜索。此外,在搜索不同帧块内的不同类型的信息(比如,某些帧块内的视频信息和另一些帧块内的音频信息)时,可以使用不同的搜索块遍历偏移量。这种既有横向又有纵向分量的偏移量集合将确定基准帧内的移动进程,该移动进程在先前所用的搜索块已完成了其对目标帧的比较后用来获得新搜索块。可以使用各种进程(该进程最好包括与基准帧内的各种可能的位置相应的最多的不同搜索块),这样,可以提高所找到的与目标帧的匹配的可能性。因此,搜索块遍历偏移量在前一搜索块已完成与目标帧的比较操作后将确定基准帧内的下一搜索块在基准帧内的位置及其内容。基于搜索块遍历偏移量,搜索块的移动可以是一个比特、多比特、一个字节或多字节,如前面所述。
目标搜索区偏移量同样以与搜索块遍历偏移量类似的方式来设置。在完成了搜索块与目标帧的特定搜索块区的比较操作后,目标搜索区遍历偏移量确定了特定搜索块在目标帧内的移动量。因此,例如,在利用横向操作的线索进行了初始比较操作后,横向偏移量将确定搜索块在目标帧内的移动量,使得可以进行下一比较操作。同一搜索块在目标帧内被移动从而完成给定行的所有比较操作后,将以列偏移量所确定的列方向进行移动。此后,后续移动是目标帧内的搜索块将按上述横向偏移量进行。搜索块按目标搜索区偏移量的移动可以是一个比特、多比特、一个字节或多字节,如前面所述。
在设置了这些初始条件后,操作便进至步骤12,如下文所述。
在步骤12中,如果先前没有做,则将原帧格式化为帧块,然后,将第一帧指定为基准帧,并将下一帧指定为目标帧。
在步骤14中,启动用于分析原帧的预测线索。这些原帧,如前面所述,当用于本发明时,在处理期间,除了附加帧数据外,还附加报头信息,其中一些报头信息被保留并且最终将被编码,而其他报头信息被时间上使用然后被丢弃,这可以从文中所提供的描述中看到。如图7A中所示,除了与每帧有关的帧数据之外,还将保存基准帧号或帧ID,这样,其他帧内的指针就可以参照该帧,下一帧将定位于存储器中何处的指针(即下一帧的帧ID)和帧尺寸将被加入并与每帧的帧数据有关。帧数据最好被格式化为矩阵阵列,如前面所述。具体地说,预测线索将在初始基准帧与后续目标帧之间作出这些帧的某些有限区的一些(比如20个)比较。具体地说,比较将根据基准帧的不同部分进行并利用不同尺寸的搜索块进行操作。根据帧的尺寸,搜索块的尺寸在跨度可能为从8×8字节到128×128字节甚至更大的不同尺寸的范围内可以有很大的变化。一般而言,帧越大,所用搜索块尺寸越大。因此,预测线索可以确定初始搜索块的优选移动方向、所应使用的预测搜索块尺寸以及指示在所进行的比较中是否出现匹配的匹配百分比。
相应地,在步骤16中,预测线索至少分析第一目标帧,这样,会出现涉及初始基准帧与后续目标帧之间的比较的线索。尽管该预测线索将延续到其他后续帧,然而,搜索比较操作此时发生在初始基准帧与后续目标帧之间。应当理解,预测线索将继续与当时加入的其他线索并行运行,如下文所述。
如上所述,预测线索将获得预测移动方向以及预测搜索块尺寸。这些方向和尺寸用于启动为基准帧与目标帧之间的比较所设的第一线索的设置。此外,预测线索还可以根据所得到的搜索抽样来获得匹配百分比。因此,例如,如果基准帧中有20个不同抽样与目标帧进行匹配,那么,最好可在与基准帧的特定区相应的区域和这些区(或整个目标帧)周围的某些边界上,确定预测匹配个数。通常,如果预测匹配个数少,那么,在两帧之间很可能不会有相应的大量匹配。相反,如果该百分比高,比如,20个抽样匹配中有14个,那么在帧之间存在许多不同匹配区的可能性高得多。关于这一点,当两帧中所分析的数据是视频信息序列时,少量预测匹配表明高速运动序列,而大量预测匹配表明低运动序列。如下文所述,可以利用预测匹配的个数或百分比来确定特定移动方向上所设的线索数。
当完成了步骤16时,判断预测线索是否提供了关于目标帧的预测移动方向和预测搜索块尺寸的信息。如果是,那么预测搜索块尺寸和预测移动方向被传递,以用于所设置的初始线索。如果不是,那么所设置的初始线索将使用缺省搜索块尺寸和缺省移动方向。随后进行步骤20,设置第一线索,同时还设置用于该线索的搜索块尺寸、纵向和横向搜索块遍历以及目标搜索区偏移量,以及预测移动方向。
步骤24启动第一线索,随后进行步骤26。
如步骤26所示,将搜索块计数器初始化。这一搜索块计数器用来检测搜索块与所比较的目标帧内的相应搜索块区之间的匹配实例个数。当搜索块与相应搜索块区之间所发生的比较个数已知时,搜索块计数器中的计数与所作的比较个数的比表示已获得的匹配的百分比。
在步骤26中将搜索块计数器初始化后,随后进行步骤28,从基准帧的初始位置中得到搜索块。然后,接着进行步骤32,将从初始搜索位置中得到的搜索块与目标帧中的初始搜索区进行比较,以利用无损失比较的“与”操作以及进行有损失比较时便于确定匹配的“与”、“或”、乘、除和其他操作来判断是否存在匹配,如上所述。
根据所发生的比较类型以及是否找到匹配,随后将进行步骤34a、34b或34c。在步骤34a中,如果搜索块完全匹配,这表明搜索块的所有比特都可以在目标帧的相应搜索块区内找到,那么,搜索块计数器加1,这表明发生了完全相同的匹配并在目标帧的搜索块区中建立表示搜索块与基准帧之间的关系的链接。然而,如果允许进行有损失比较操作,如果搜索块在有损失范围内匹配,那么搜索块计数器也加1,如步骤34b所示,并在目标帧的搜索块区中建立表示搜索块与基准帧之间的关系的链接。然而,如果在步骤34c中,搜索块在有损失范围内不匹配,那么,针对该特定搜索块,目标帧内的搜索块区被标记为无模式。相应地,由于发现基准帧的搜索块与目标帧的搜索块区之间的没有充分的关系,因此,这可以看作是好象没有匹配,然后比较过程将继续在该搜索块与目标帧内的另一搜索块区之间进行。
至此,随后进行步骤36,这样搜索块可以遍历目标帧,然后搜索块移至目标帧内的下一搜索位置。这可以利用前面所提到的目标搜索区偏移量来实现。因此,例如,如果使初始线索横向进行搜索,并且还没有到达横向中的列末尾,那么,利用横向目标搜索区偏移量将搜索块移动到该目标帧内的下一相邻位置。
然后,接着进行步骤38,根据所找到的匹配类型和所允许的匹配操作类型,再次使用该步骤。如果搜索块完全匹配,那么步骤38a将使搜索块计数器加1,并在目标帧的搜索块区中建立表示搜索块与基准帧之间的关系的链接。然而,如果搜索块在有损失范围内匹配且允许损失,那么,将这一比较的结果与前一比较位置的结果进行比较,如步骤38b1或38b2所述。在步骤38b1中,如果当前有损失范围内的结果小于等于从前一搜索块区得到的前一有损失范围,那么这一特定搜索块区被标记为无模式。然而,如果当前有损失范围内的结果大于前一有损失范围的结果,那么,在步骤38b2中,建立一个链接并撤消前一链接。然后,不论采用步骤38a、步骤38b1还是步骤38b2,随后都进行步骤40。
在步骤40中,重复进行移动和搜索步骤,直到搜索了整个目标帧,除非另有终止。当已搜索了整个目标帧时,通过利用搜索块遍历偏移量移动搜索块来获得新搜索块,重复该移动直到该线索结束。还应注意,为了保持搜索块区域,使用一种可提供基准帧中搜索块的初始位置的区域的起始位置偏移量。此外,在利用特定搜索块的搜索操作结束时,利用同一线索获得下一搜索块并对其进行操作。作为所建立的另一线索的结果,将得到基准帧内搜索块位置的移动的结束位置以及该线索的终止,如下文中所述。
尽管发生了这些移动和搜索操作,然而,可以认识到,如果出现大量的匹配,则不必继续在帧块内搜索(尤其如果该偏移量是单比特列或比特行)。相应地,如步骤42中所示,如果在给定帧块内出现用户预定个数的完全相同的匹配,那么,搜索块的下一移动不是由移动量来确定,而是将被移动到目标帧内的下一帧块的初始位置。如果目标帧内的下一帧块的初始位置此时产生一个匹配,那么,不是在该特定帧块内进一步进行搜索,而是可以重复移动到目标帧内的后续下一帧块。如果在每一帧块的每个第一位置都出现匹配,那么,这表明,毫无疑问,这些相邻帧块的初始位置之间的所有相应比特位置也都匹配。
在发生移动和搜索操作的同时,还发生了如下文中所述的步骤44-50。不过,为了便于讨论,在此对它们进行了阐述,尽管应当注意,这里所讨论的这些步骤或其他步骤未必按这一所述的次序位置发生。
如步骤44中所述,如果目标帧中的目标搜索区的移动处在该目标帧的边缘处且大于单比特位置(因为如果移动只是单比特行或单比特列,就不会出现交叠),那么目标帧的目标搜索区在与目标帧没有填充目标搜索块区的区域相应的那些区域上就会有空比特位置。相应地,在这些环境中,该搜索块也用0来填充,这样,搜索块可以与尺寸相同的相应目标搜索区相比较。
步骤46、48和50描述了用于终止所设置的特定线索的三种不同类型的步骤。如下文所讨论,具有不同搜索的多线索可以并行运行。为了终止某些没有效果(没有发现匹配)的线索,采取一些步骤来终止没有效果的线索。如步骤46所述,在搜索了基准帧的最小搜索区(比如占基准帧的搜索的20%)后,如果其他定向线索正在产生大于等于与这一线索的方向相应的线索的量值,那么,终止这一特定线索以及具有同一相应定向移动的其他线索。
在一种类型有点类似的操作中,在步骤48中,当覆盖了最小搜索区后,如果以同一方向搜索的所有线索都产生了小于某一预定计数值的量值(如上所述,该计数值可能是0或者是比初始条件下所设更大的某个数),那么终止这一特定搜索方向的所有线索。
最后,如果满足以上参照初始条件所述的总压缩目标比,那么,终止包括当前线索的所有线索。至于步骤50,如果步骤50有成效,那么,该目标帧按原状态被保存,随后进行如下文所述的步骤62。如上所述,由于不需要根据本发明的模式匹配,而可以使用超出本发明的范围的后续压缩例程,因此目标帧按原状态被保存。
一旦如以上步骤40所述该线索终止,随后就进行步骤52,将该线索中的数据写到文件中,最好作为含有匹配的比较块的链接表。这如图7B和7D所示,图中示出了缩减帧报头以及链接表块数据。缩减帧的数据的每一标识部分都服务于关于这些所述操作的目的,并且如上所述都含有在这里所述的操作期间所更新和使用的信息。帧ID与类型O帧的基准帧号相同。下一基准或关键帧的指针和缩减R帧的指针可以在确定其区域时(可能在对后续帧的操作完结时)被加入。帧内的缩减帧块数可以用来保持对操作状态的跟踪。图7B和7C中此后所示的数据块针对帧内的每一帧块进行重复,其中这些块包括:
-指向下一R帧块的指针,
-该R帧块的ID或标号,
-表示允许无论有损失还是无损失匹配的匹配类型,和有损失时的损失百分比,该损失百分比在被使用时,可以有助于使系统更快速地处理这里所述的步骤,
-帧块尺寸,
-目标帧的匹配块座标,这些座标的内容详见图7C,图中示出了搜索块的尺寸和区域以及发现了匹配的目标搜索区的区域。如图所示,这些座标是具有第一、第二和第n定位目标搜索区位置的链接表,用以指示针对目标帧内的那个搜索块已出现匹配(无论是有损失还是无损失)的位置。然后,针对每一搜索块都重复这一过程。
此后,正如描述了终止已建立的线索的步骤46、48和50那样,步骤54描述了线索建立的过程。具体地说,在设置了如上所述的第一线索后,立刻又根据如上所述的预测线索确定下一块搜索尺寸、偏移量和方向,并设置一个新线索。关于设置这一新线索,需要考虑一些事项。不分优先次序,这些事项包括:
-通常,在设置同一方向的远离先前设置的线索的新线索之后,才设置不同方向的另一线索;
-对于典型数据,每100k字节数据设置一个新线索,尽管对于高速运动视频,最好每50k字节数据设置一个新线索(低速运动与高速运动视频之间的差别可以根据前面提到的预测线索得到);
-在设置了与已根据预测线索搜索的初始方向相应的线索后,搜索线索的典型缺省次序是横向、纵向、斜向然后是旋转;和
-所设置的线索数实质上受处理器的限制,这样所设置的线索数受限于所用处理器的限制。因此,如步骤56所示,对于每一附加线索,都重复步骤22-52。
如步骤58所示,其中一些线索先前已并行运行,如果所有线索都被终止,那么随后进行步骤60。否则,继续进行不同的移动、搜索和线索的建立,并继续进行终止操作以及如上所述的相关步骤。
然后,在步骤60中,作为所找到的比较结果(如基准帧的搜索块与目标帧的搜索块区之间的匹配)所得到的链接表被更新以得到表示匹配数据的超集块。具体地说,通过整理图7C中所示的第一、第二和第n定位目标帧搜索区位置来得到超集块。因此,尽管先前已有一些不同的相对较小尺寸的匹配块,然而,就这些小块之间的交叠来说,可以找到一个大的超集块(它未必呈现块的形状)。
在步骤62中,在得到这些超集块后,数据最好再以链接表的形式被更新(该链接表说明了基准帧与目标帧之间的匹配),其更新数据被保存到文件中。此后,在步骤64中,该目标帧被设置为基准帧,然后,在步骤66中,如果还存在另一帧,那么,将该另一帧设置为新目标帧,从而可以重复步骤20-66。此后,如步骤68所示,如果不存在另一帧,则结束。相应地,将得到含有原帧以及缩减帧的数据流,如图7D中所示。
关于上述内容,应当注意,还可以有许多变化。例如,实现步骤的次序可以改变。此外,例如,过程中不同时刻跟踪数据的方式也可以不同,并且,尽管最好使用链接表或二叉树,然而还可以实现其他保存数据的方式。
图9A示出了无损失匹配时与完全相同的目标块匹配的一例搜索块模式。9B示出了在所允许的损失百分比(本例中为90%)范围内的一例目标块。
以上所述描述了有损失和无损失模式识别技术,并利用“与”操作进行搜索块与搜索区之间的比较。尽管对于无损失模式识别需要“与”操作或其逻辑等价操作,然而,对于无损失比较,事实上诸如“异或”、“或”、减法或乘法等其他操作可以得到更好的结果。
回到图1,以上所述的操作可以在任意一种计算机180内进行,然后进一步将所得到的流编码。这种进一步编码可以例如采用2000年11月29日所申请的转让给本发明的同一受让人的名称为“Method AndApparatus For Encoding Information Using Multiple Passes AndDecoding In A Single Pass”的美国申请09/727,096中所述的多路编码,或其他编码过程。一旦完全被编码然后被发送到目的地设备(比如图1中所示的计算机140),就将采用与该编码互易的解码,然后作为该解码过程的最后一个步骤,可以通过使用链接表以及文中所述的指针,从O-帧和利用本发明得到的R-帧的组合中再现出原O-帧集合。根据与获得基于文中的识别模式的链接表有关的详细描述,对普通技术人员而言,显然,利用作为O-帧所保留的O-帧内存在的原数据,通过扩展数据,可以从这一压缩数据集中再现得到原数据集。
尽管以上详述了各种优选实施方式,然而,熟练技术人员容易懂得,在不实质背离本发明的新教导和优点的前提下,还可以对举例实施方式进行许多修改。
Claims (276)
1.一种压缩多个顺序帧的比特长度的方法,其中每帧都由多个比特组成,该方法包括如下步骤:
将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧最初被设定为多个顺序帧中的初始帧而目标帧最初被设定为多个顺序帧中的后续帧;
利用多个比较块来得到被压缩的目标帧的表示;
将作为目标帧的后续帧重新指定为基准帧,并将跟随在该后续帧之后的另一后续帧重新指定为目标帧;和
重复所述比较和利用步骤。
2.如权利要求1所述的方法,还包括如下步骤:重复所述重新指定和重复步骤,使得余下的多个顺序帧中的每一个都一度成为目标帧,同时执行所述比较和利用步骤。
3.如权利要求1所述的方法,其中,被压缩的目标帧的表示采用链接表。
4.如权利要求1所述的方法,其中,比较步骤包括如下步骤:
横向遍历目标帧以将第一组的多个不同的搜索块中的每一个与目标帧内的不同位置进行比较;和
纵向遍历目标帧以将第二组的多个不同的搜索块中的每一个与目标帧内的不同位置进行比较。
5.如权利要求4所述的方法,其中,比较步骤包括:斜向遍历目标帧以将第三组的多个不同的搜索块中的每一个与目标帧内的不同位置进行比较。
6.如权利要求5所述的方法,其中,比较步骤还包括如下步骤:遍历目标帧以将第四组的多个不同的搜索块中的每一个与目标帧内的不同位置按不同的旋转位置进行比较。
7.如权利要求6所述的方法,其中,遍历第一组、第二组、第三组和第四组的步骤可以按并行操作方式操作。
8.如权利要求7所述的方法,还包括如下步骤:在终止遍历第一、第二、第三和第四组中的其他组的步骤之前,先终止遍历第一、第二、第三和第四组之一的步骤。
9.如权利要求7所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,没有达到一种搜索块与相应目标块之间的预定个数的匹配,那么终止遍历第一、第二、第三和第四组的步骤所用的搜索块中的一些特定搜索块。
10.如权利要求9所述的方法,其中,预定个数为1。
11.如权利要求9所述的方法,其中,要求匹配是完全相同的匹配。
12.如权利要求9所述的方法,其中,匹配可以引入损失。
13.如权利要求7所述的方法,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,搜索块中的其他一些搜索块导致了一种搜索块与相应目标块之间的预定较大百分比的匹配,那么终止遍历第一、第二、第三和第四组的步骤所用的搜索块中的一些特定搜索块。
14.如权利要求5所述的方法,其中,遍历第一组、第二组、第三组的步骤可以按并行操作方式操作。
15.如权利要求14所述的方法,还包括如下步骤:在终止遍历第一、第二和第三组中的其他组的步骤之前,先终止遍历第一、第二和第三组之一的步骤。
16.如权利要求14所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,没有达到一种搜索块与相应目标块之间的预定个数的匹配,那么终止遍历第一、第二和第三组的步骤所用的搜索块中的一些特定搜索块。
17.如权利要求16所述的方法,其中,预定个数为1。
18.如权利要求16所述的方法,其中,要求匹配是完全相同的匹配。
19.如权利要求16所述的方法,其中,匹配可以引入损失。
20.如权利要求14所述的方法,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,搜索块中的其他一些搜索块导致了一种搜索块与相应目标块之间的预定较大百分比的匹配,那么终止遍历第一、第二和第三组的步骤所用的搜索块中的一些特定搜索块。
21.如权利要求4所述的方法,其中,遍历第一组和第二组的步骤可以按并行操作方式操作。
22.如权利要求21所述的方法,还包括如下步骤:在终止遍历第一和第二组中的其他组的步骤之前,先终止遍历第一和第二组之一的步骤。
23.如权利要求21所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,没有达到一种搜索块与相应目标块之间的预定个数的匹配,那么终止遍历第一和第二组的步骤所用的搜索块中的一些特定搜索块。
24.如权利要求23所述的方法,其中,预定个数为1。
25.如权利要求23所述的方法,其中,要求匹配是完全相同的匹配。
26.如权利要求23所述的方法,其中,匹配可以引入损失。
27.如权利要求21所述的方法,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,搜索块中的其他一些搜索块导致了一种搜索块与相应目标块之间的预定较大百分比的匹配,那么终止遍历第一和第二组的步骤所用的搜索块中的一些特定搜索块。
28.如权利要求4所述的方法,其中,遍历步骤遍历目标帧,使得目标帧内的后续不同位置相互交叠。
29.如权利要求28所述的方法,其中,后续不同位置相差至多为预定个数的比特行和预定个数的比特列。
30.如权利要求29所述的方法,其中,比特行的预定个数为1,而比特列的预定个数也为1。
31.如权利要求4所述的方法,其中,横向遍历目标帧和纵向遍历目标帧的步骤至少之一遍历整个目标帧。
32.如权利要求31所述的方法,其中:
横向遍历整个目标帧包括在目标帧内不同的纵向位置进行横向重复通过;和
纵向遍历整个目标帧包括在目标帧内不同的横向位置进行纵向重复通过。
33.如权利要求32所述的方法,其中,目标帧内的相邻的不同纵向位置和相邻的不同横向位置相差至多为预定个数的比特行和预定个数的比特列。
34.如权利要求33所述的方法,其中,比特行的预定个数为1,而比特列的预定个数也为1。
35.如权利要求32所述的方法,其中,每一遍历步骤都使用一个不同的处理器线程来实现。
36.如权利要求35所述的方法,其中,每一遍历步骤都使用多个不同的处理器线程来实现。
37.如权利要求1所述的方法,其中,在比较基准帧视频数据与目标帧视频数据的比较步骤中使用至少一个视频处理器线程,并且使用至少一个音频处理器线程来比较基准帧音频数据与目标帧音频数据。
38.如权利要求1所述的方法,其中,在比较基准帧视频数据与目标帧视频数据以及基准帧音频数据与目标帧音频数据的比较步骤中使用至少一个处理器线程。
39.如权利要求1所述的方法,其中,利用步骤得到在没有引入任何损失的情况下与原状态比较被压缩的目标帧的表示。
40.如权利要求1所述的方法,其中,比较步骤利用“与”操作将搜索块与目标帧进行比较。
41.如权利要求1所述的方法,其中,利用步骤得到在引入损失的情况下与原状态比较被压缩的目标帧的表示。
42.如权利要求41所述的方法,其中,比较步骤利用“与”操作将搜索块与目标帧进行比较。
43.如权利要求41所述的方法,其中,比较步骤利用“或”操作将搜索块与目标帧进行比较。
44.如权利要求41所述的方法,其中,比较步骤利用“异或”操作将搜索块与目标帧进行比较。
45.如权利要求41所述的方法,其中,比较步骤利用加操作将搜索块与目标帧进行比较。
46.如权利要求41所述的方法,其中,比较步骤利用减操作将搜索块与目标帧进行比较。
47.如权利要求41所述的方法,其中,比较步骤利用乘操作将搜索块与目标帧进行比较。
48.如权利要求41所述的方法,其中,比较步骤利用除操作将搜索块与目标帧进行比较。
49.如权利要求1所述的方法,其中,利用步骤将多个比较块中的交叠块进行组合以得到表示所用的超集块。
50.如权利要求1所述的方法,其中,比较步骤包括如下步骤:跟踪表示搜索块与目标帧内存在的相应目标块之间的完全相同的匹配的比较块。
51.如权利要求50所述的方法,其中,跟踪步骤用来提供基准帧与目标帧之间可达到的压缩量的动态指示,并且其中,比较步骤还包括选择压缩目标比的步骤。
52.如权利要求50所述的方法,其中,当动态指示表明针对目标帧达到了压缩目标比时,终止比较步骤。
53.如权利要求52所述的方法,其中,比较步骤还包括如下步骤:选择表示中所能容许的所希望的损失量。
54.如权利要求53所述的方法,其中,如果目标块内的比特百分比至少等于所希望的损失量,那么认为比较块与搜索块完全相同。
55.如权利要求1所述的方法,其中,比较步骤还包括如下步骤:选择表示中所能容许的损失量。
56.如权利要求1所述的方法,其中,比较步骤包括如下步骤:
启动一种预测处理器线程,以得到搜索块与目标帧之间的匹配的可能性的估算;和
将该估算传递给至少一个比较处理器线程,该线索用于将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块。
57.如权利要求1所述的方法,其中,比较步骤按比特级进行比较。
58.如权利要求1所述的方法,其中,比较步骤按字节级进行比较。
59.一种根据基准帧得到目标帧中存在的冗余模式的链接表的方法,其中每个基准和目标帧都由多个比特组成,该方法包括如下步骤:
将基准帧的多个搜索块部分中的每一部分与目标帧内的多个区域进行比较以确定多个匹配;和
针对每一匹配,用与搜索块部分链接的区域标识符来表示与该匹配相应的目标帧的那个部分。
60.如权利要求59所述的方法,其中,比较步骤还包括如下步骤:
启动一种预测处理器线程,以得到搜索块与目标帧之间的匹配的可能性的估算;和
将该估算传递给至少一个比较处理器线程,该线索用于将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块。
61.如权利要求59所述的方法,还包括如下步骤:
得到另一目标帧;
将基准帧的多个搜索块部分中的每一部分与该另一目标帧内的多个区域进行比较以确定多个匹配;和
针对每一匹配,用与搜索块部分链接的区域标识符来表示与该匹配相应的该另一目标帧的那个部分。
62.如权利要求61所述的方法,其中,与基准帧的搜索块部分不匹配的目标帧的区域作为与该目标帧相关的剩余数据被保存。
63.如权利要求62所述的方法,其中,与基准帧的搜索块部分不匹配的另一目标帧的区域作为与该另一目标帧相关的剩余数据被保存。
64.如权利要求59所述的方法,其中,比较步骤无损失地进行比较。
65.如权利要求64所述的方法,其中,与基准帧的搜索块部分不匹配的目标帧的区域作为与该目标帧相关的剩余数据被保存。
66.如权利要求59所述的方法,其中,比较步骤在允许引入损失的情况下进行比较。
67.如权利要求66所述的方法,其中,在所允许损失百分比的范围内与基准帧的搜索块部分不匹配的目标帧的区域作为与该目标帧相关的剩余数据被保存。
68.如权利要求59所述的方法,其中,目标帧中的多个区域包括整个目标帧的遍历,而基准帧中的多个搜索块区域包括整个基准帧的遍历。
69.如权利要求59所述的方法,其中,每帧含有代表图像的多个比特。
70.如权利要求69所述的方法,其中,每帧含有代表音频的另外多个比特。
71.如权利要求59所述的方法,其中,比较步骤按比特级进行比较。
72.如权利要求59所述的方法,其中,比较步骤按字节级进行比较。
73.如权利要求59所述的方法,其中,比较步骤包括如下步骤:
横向遍历目标帧以将第一组的多个不同的搜索块中的每一个与目标帧内的不同位置进行比较;和
纵向遍历目标帧以将第二组的多个不同的搜索块中的每一个与目标帧内的不同位置进行比较。
74.如权利要求73所述的方法,其中,比较步骤包括:斜向遍历目标帧以将第三组的多个不同的搜索块中的每一个与目标帧内的不同位置进行比较。
75.如权利要求74所述的方法,其中,遍历第一组、第二组、第三组的步骤可以按并行操作方式操作。
76.如权利要求75所述的方法,还包括如下步骤:在终止遍历第一、第二和第三组中的其他组的步骤之前,先终止遍历第一、第二和第三组之一的步骤。
77.如权利要求75所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,没有达到一种搜索块与相应目标块之间的预定个数的匹配,那么终止遍历第一、第二和第三组的步骤所用的搜索块中的一些特定搜索块。
78.如权利要求77所述的方法,其中,预定个数为1。
79.如权利要求77所述的方法,其中,要求匹配是完全相同的匹配。
80.如权利要求77所述的方法,其中,匹配可以引入损失。
81.如权利要求75所述的方法,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,搜索块中的其他一些搜索块导致了一种搜索块与相应目标块之间的预定较大百分比的匹配,那么终止遍历第一、第二和第三组的步骤所用的搜索块中的一些特定搜索块。
82.如权利要求73所述的方法,其中,遍历第一组和第二组的步骤可以按并行操作方式操作。
83.如权利要求82所述的方法,还包括如下步骤:在终止遍历第一和第二组中的其他组的步骤之前,先终止遍历第一和第二组之一的步骤。
84.如权利要求82所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,没有达到一种搜索块与相应目标块之间的预定个数的匹配,那么终止遍历第一和第二组的步骤所用的搜索块中的一些特定搜索块。
85.如权利要求84所述的方法,其中,预定个数为1。
86.如权利要求84所述的方法,其中,要求匹配是完全相同的匹配。
87.如权利要求84所述的方法,其中,匹配可以引入损失。
88.如权利要求82所述的方法,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,搜索块中的其他一些搜索块导致了一种搜索块与相应目标块之间的预定较大百分比的匹配,那么终止遍历第一和第二组的步骤所用的搜索块中的一些特定搜索块。
89.如权利要求73所述的方法,其中,遍历步骤遍历目标帧,使得目标帧内的后续不同位置相互交叠。
90.如权利要求89所述的方法,其中,后续不同位置相差至多为预定个数的比特行和预定个数的比特列。
91.如权利要求90所述的方法,其中,比特行的预定个数为1,而比特列的预定个数也为1。
92.如权利要求73所述的方法,其中,横向遍历目标帧和纵向遍历目标帧的步骤至少之一遍历整个目标帧。
93.如权利要求92所述的方法,其中:
横向遍历整个目标帧包括在目标帧内不同的纵向位置进行横向重复通过;和
纵向遍历整个目标帧包括在目标帧内不同的横向位置进行纵向重复通过。
94.如权利要求93所述的方法,其中,目标帧内的相邻的不同纵向位置和相邻的不同横向位置相差至多为预定个数的比特行和预定个数的比特列。
95.如权利要求94所述的方法,其中,比特行的预定个数为1,而比特列的预定个数也为1。
96.如权利要求93所述的方法,其中,每一遍历步骤都使用一个不同的处理器线程来实现。
97.如权利要求96所述的方法,其中,每一遍历步骤都使用多个不同的处理器线程来实现。
98.如权利要求59所述的方法,其中,在比较基准帧视频数据与目标帧视频数据的比较步骤中使用至少一个视频处理器线程,并且使用至少一个音频处理器线程来比较基准帧音频数据与目标帧音频数据。
99.如权利要求59所述的方法,其中,在比较基准帧视频数据与目标帧视频数据以及基准帧音频数据与目标帧音频数据的比较步骤中使用至少一个处理器线程。
100.一种搜索多个顺序帧内的模式的方法,其中每帧都由按可被横向、纵向和斜向遍历的矩阵阵列排列的多个比特组成,该方法包括:
将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧被设定为多个顺序帧的初始帧而目标帧最初被设定为多个顺序帧的后续帧,该比较步骤包括:
横向遍历目标帧以将至少第一组搜索块与目标帧内的相应横向目标块进行比较;和
纵向遍历目标帧以将与第一组搜索块可能相同也可能不同的至少第二组搜索块与目标帧内的相应纵向目标块进行比较。
101.如权利要求100所述的方法,还包括如下步骤:
判断这些横向和纵向遍历是否导致了在目标帧与基准帧之间可找到足够多的匹配;和
如果判定不存在足够多的比较,那么,斜向遍历目标帧以将与第一和第二组搜索块可能相同也可能不同的至少第三组搜索块与目标帧内的相应斜向目标块进行比较。
102.如权利要求100所述的方法,其中,就多个顺序帧重复比较步骤,还包括如下步骤:
将作为目标帧的后续帧重新指定为基准帧,和将跟随在该后续帧之后的另一后续帧重新指定为目标帧;和
重复比较步骤。
103.如权利要求100所述的方法,还包括如下步骤:
将跟随在该后续帧之后的另一后续帧重新指定为目标帧;和
重复所述重新指定和重复步骤,使得余下的多个顺序帧中的每一个都一度成为目标帧,同时执行比较步骤。
104.如权利要求103所述的方法,其中,基准帧保持一样。
105.如权利要求100所述的方法,其中,比较步骤包括:斜向遍历目标帧以将第三组的多个不同搜索块中的每一个与目标帧内的不同位置进行比较。
106.如权利要求105所述的方法,其中,比较步骤还包括如下步骤:遍历目标帧以将第四组的多个不同搜索块中的每一个与目标帧内的不同位置按不同的旋转位置进行比较。
107.如权利要求106所述的方法,其中,遍历第一组、第二组、第三组和第四组的步骤可以按并行操作方式操作。
108.如权利要求107所述的方法,还包括如下步骤:在终止遍历第一、第二、第三和第四组中的其他组的步骤之前,先终止遍历第一、第二、第三和第四组之一的步骤。
109.如权利要求107所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,没有达到一种搜索块与相应目标块之间的预定个数的匹配,那么终止遍历第一、第二、第三和第四组的步骤所用的搜索块中的一些特定搜索块。
110.如权利要求109所述的方法,其中,预定个数为1。
111.如权利要求109所述的方法,其中,要求匹配是完全相同的匹配。
112.如权利要求109所述的方法,其中,匹配可以引入损失。
113.如权利要求109所述的方法,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,搜索块中的其他一些搜索块导致了一种搜索块与相应目标块之间的预定较大百分比的匹配,那么终止遍历第一、第二、第三和第四组的步骤所用的搜索块中的一些特定搜索块。
114.如权利要求105所述的方法,其中,遍历第一组、第二组、第三组的步骤可以按并行操作方式操作。
115.如权利要求114所述的方法,还包括如下步骤:在终止遍历第一、第二和第三组中的其他组的步骤之前,先终止遍历第一、第二和第三组之一的步骤。
116.如权利要求114所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,没有达到一种搜索块与相应目标块之间的预定个数的匹配,那么终止遍历第一、第二和第三组的步骤所用的搜索块中的一些特定搜索块。
117.如权利要求116所述的方法,其中,预定个数为1。
118.如权利要求116所述的方法,其中,要求匹配是完全相同的匹配。
119.如权利要求116所述的方法,其中,匹配可以引入损失。
120.如权利要求114所述的方法,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,搜索块中的其他一些搜索块导致了一种搜索块与相应目标块之间的预定较大百分比的匹配,那么终止遍历第一、第二和第三组的步骤所用的搜索块中的一些特定搜索块。
121.如权利要求100所述的方法,其中,遍历第一组和第二组的步骤可以按并行操作方式操作。
122.如权利要求121所述的方法,还包括如下步骤:在终止遍历第一和第二组中的其他组的步骤之前,先终止遍历第一和第二组之一的步骤。
123.如权利要求121所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,没有达到一种搜索块与相应目标块之间的预定个数的匹配,那么终止遍历第一和第二组的步骤所用的搜索块中的一些特定搜索块。
124.如权利要求123所述的方法,其中,预定个数为1。
125.如权利要求123所述的方法,其中,要求匹配是完全相同的匹配。
126.如权利要求123所述的方法,其中,匹配可以引入损失。
127.如权利要求121所述的方法,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,搜索块中的其他一些搜索块导致了一种搜索块与相应目标块之间的预定较大百分比的匹配,那么终止遍历第一和第二组的步骤所用的搜索块中的一些特定搜索块。
128.如权利要求100所述的方法,其中,遍历步骤遍历目标帧,使得目标帧内的后续不同位置相互交叠。
129.如权利要求128所述的方法,其中,后续不同位置相差至多为预定个数的比特行和预定个数的比特列。
130.如权利要求129所述的方法,其中,比特行的预定个数为1,而比特列的预定个数也为1。
131.如权利要求100所述的方法,其中,横向遍历目标帧和纵向遍历目标帧的步骤至少之一遍历整个目标帧。
132.如权利要求131所述的方法,其中:
横向遍历整个目标帧包括在目标帧内不同的纵向位置进行横向重复通过;和
纵向遍历整个目标帧包括在目标帧内不同的横向位置进行纵向重复通过。
133.如权利要求132所述的方法,其中,目标帧内的相邻的不同纵向位置和相邻的不同横向位置相差至多为预定个数的比特行和预定个数的比特列。
134.如权利要求133所述的方法,其中,比特行的预定个数为1,而比特列的预定个数也为1。
135.如权利要求132所述的方法,其中,每一遍历步骤都使用一个不同的处理器线程来实现。
136.如权利要求135所述的方法,其中,每一遍历步骤都使用多个不同的处理器线程来实现。
137.如权利要求100所述的方法,其中,在比较基准帧视频数据与目标帧视频数据的比较步骤中使用至少一个视频处理器线程,并且使用至少一个音频处理器线程来比较基准帧音频数据与目标帧音频数据。
138.如权利要求100所述的方法,其中,在比较基准帧视频数据与目标帧视频数据以及基准帧音频数据与目标帧音频数据的比较步骤中使用至少一个处理器线程。
139.如权利要求100所述的方法,还包括如下步骤:利用多个比较块来得到在没有引入任何损失的情况下被压缩的目标帧的表示。
140.如权利要求100所述的方法,其中,比较步骤利用“与”操作将搜索块与目标帧进行比较。
141.如权利要求100所述的方法,其中,利用步骤得到在引入损失的情况下与原状态比较被压缩的目标帧的表示。
142.如权利要求141所述的方法,其中,比较步骤利用“与”操作将搜索块与目标帧进行比较。
143.如权利要求141所述的方法,其中,比较步骤利用“或”操作将搜索块与目标帧进行比较。
144.如权利要求141所述的方法,其中,比较步骤利用“异或”操作将搜索块与目标帧进行比较。
145.如权利要求141所述的方法,其中,比较步骤利用加操作将搜索块与目标帧进行比较。
146.如权利要求141所述的方法,其中,比较步骤利用减操作将搜索块与目标帧进行比较。
147.如权利要求141所述的方法,其中,比较步骤利用乘操作将搜索块与目标帧进行比较。
148.如权利要求141所述的方法,其中,比较步骤利用除操作将搜索块与目标帧进行比较。
149.如权利要求100所述的方法,还包括如下步骤:利用多个比较块来得到被压缩的目标帧的表示,其中,利用步骤将多个比较块中的交叠块进行组合以得到表示所用的超集块。
150.如权利要求100所述的方法,其中,比较步骤包括如下步骤:跟踪表示搜索块与目标帧内存在的相应目标块之间的完全相同的匹配的比较块。
151.如权利要求150所述的方法,其中,跟踪步骤用来提供基准帧与目标帧之间可达到的压缩量的动态指示,并且其中,比较步骤还包括选择压缩目标比的步骤。
152.如权利要求150所述的方法,其中,当动态指示表明针对目标帧达到了压缩目标比时,终止比较步骤。
153.如权利要求152所述的方法,其中,比较步骤还包括如下步骤:选择表示中所能容许的所希望的损失量。
154.如权利要求153所述的方法,其中,如果目标块内的比特百分比至少等于所希望的损失量,那么认为比较块与搜索块完全相同。
155.如权利要求100所述的方法,其中,比较步骤还包括如下步骤:选择表示中所能容许的损失量。
156.如权利要求100所述的方法,其中,比较步骤包括如下步骤:
启动一种预测处理器线程,以得到搜索块与目标帧之间的匹配的可能性的估算;和
将该估算传递给至少一个比较处理器线程,该线索用于将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块。
157.如权利要求100所述的方法,其中,比较步骤按比特级进行比较。
158.如权利要求100所述的方法,其中,比较步骤按字节级进行比较。
159.一种搜索多个顺序帧内的模式的方法,其中每帧都由按矩阵阵列排列的多个比特组成,该方法包括如下步骤:
将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧被设定为多个顺序帧的初始帧而目标帧最初被设定为多个顺序帧的后续帧,该比较步骤包括:
以多个不同的方向遍历目标帧以将搜索块与目标帧内的相
应目标块进行比较,该遍历步骤包括启动并行处理的多个不同的线索,其中每个不同的线索按不同的搜索块和不同的方向至少之一来操作;和
判断这些遍历是否导致了在目标帧与基准帧之间可找到足够多的匹配;和
终止多个不同的线索中的某些线索,其中,如果判定与特定线索相关的遍历没有导致足够多的匹配,则出现针对该特定线索的终止步骤。
160.如权利要求159所述的方法,其中,遍历步骤包括如下步骤:
横向遍历目标帧以将第一组的多个不同的搜索块中的每一个与目标帧内的不同位置进行比较;和
纵向遍历目标帧以将第二组的多个不同的搜索块中的每一个与目标帧内的不同位置进行比较。
161.如权利要求160所述的方法,其中,遍历步骤包括:斜向遍历目标帧以将第三组的多个不同的搜索块中的每一个与目标帧内的不同位置进行比较。
162.如权利要求161所述的方法,其中,遍历步骤还包括如下步骤:遍历目标帧以将第四组的多个不同的搜索块中的每一个与目标帧内的不同位置按不同的旋转位置进行比较。
163.如权利要求162所述的方法,其中,遍历第一组、第二组、第三组和第四组的步骤可以按并行操作方式操作。
164.如权利要求163所述的方法,其中,终止步骤在终止遍历第一、第二、第三和第四组中的其他组的步骤之前,先终止遍历第一、第二、第三和第四组之一的步骤。
165.如权利要求163所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,并且其中,如果在比较了目标帧的预定部分之后,没有达到一种搜索块与相应目标块之间的预定个数的匹配,那么终止步骤终止遍历第一、第二、第三和第四组的步骤所用的搜索块中的一些特定搜索块。
166.如权利要求165所述的方法,其中,预定个数为1。
167.如权利要求165所述的方法,其中,要求匹配是完全相同的匹配。
168.如权利要求165所述的方法,其中,匹配可以引入损失。
169.如权利要求165所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,并且其中,如果在比较了目标帧的预定部分之后,搜索块中的其他一些搜索块导致了一种搜索块与相应目标块之间的预定较大百分比的匹配,那么终止步骤终止遍历第一、第二、第三和第四组的步骤所用的搜索块中的一些特定搜索块。
170.如权利要求161所述的方法,其中,遍历第一组、第二组、第三组的步骤可以按并行操作方式操作。
171.如权利要求170所述的方法,其中,在终止遍历第一、第二和第三组中的其他组的步骤之前,先终止步骤终止遍历第一、第二和第三组之一的步骤。
172.如权利要求170所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,并且其中,如果在比较了目标帧的预定部分之后,没有达到一种搜索块与相应目标块之间的预定个数的匹配,那么终止步骤终止遍历第一、第二和第三组的步骤所用的搜索块中的一些特定搜索块。
173.如权利要求172所述的方法,其中,预定个数为1。
174.如权利要求172所述的方法,其中,要求匹配是完全相同的匹配。
175.如权利要求172所述的方法,其中,匹配可以引入损失。
176.如权利要求170所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,并且其中,如果在比较了目标帧的预定部分之后,搜索块中的其他一些搜索块导致了一种搜索块与相应目标块之间的预定较大百分比的匹配,那么终止步骤终止遍历第一、第二和第三组的步骤所用的搜索块中的一些特定搜索块。
177.如权利要求160所述的方法,其中,遍历第一组和第二组的步骤可以按并行操作方式操作。
178.如权利要求177所述的方法,其中,在终止遍历第一和第二组中的其他组的步骤之前,先终止步骤终止遍历第一和第二组之一的步骤。
179.如权利要求177所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,并且其中,如果在比较了目标帧的预定部分之后,没有达到一种搜索块与相应目标块之间的预定个数的匹配,那么终止步骤终止遍历第一和第二组的步骤所用的搜索块中的一些特定搜索块。
180.如权利要求179所述的方法,其中,预定个数为1。
181.如权利要求179所述的方法,其中,要求匹配是完全相同的匹配。
182.如权利要求179所述的方法,其中,匹配可以引入损失。
183.如权利要求177所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,并且其中,如果在比较了目标帧的预定部分之后,搜索块中的其他一些搜索块导致了一种搜索块与相应目标块之间的预定较大百分比的匹配,那么终止步骤终止遍历第一和第二组的步骤所用的搜索块中的一些特定搜索块。
184.如权利要求160所述的方法,其中,遍历步骤遍历目标帧,使得目标帧内的后续不同位置相互交叠。
185.如权利要求184所述的方法,其中,后续不同位置相差至多为预定个数的比特行和预定个数的比特列。
186.如权利要求185所述的方法,其中,比特行的预定个数为1,而比特列的预定个数也为1。
187.如权利要求160所述的方法,其中,横向遍历目标帧和纵向遍历目标帧的步骤至少之一遍历整个目标帧。
188.如权利要求187所述的方法,其中:
横向遍历整个目标帧包括在目标帧内不同的纵向位置进行横向重复通过;和
纵向遍历整个目标帧包括在目标帧内不同的横向位置进行纵向重复通过。
189.如权利要求188所述的方法,其中,目标帧内的相邻的不同纵向位置和相邻的不同横向位置相差至多为预定个数的比特行和预定个数的比特列。
190.如权利要求189所述的方法,其中,比特行的预定个数为1,而比特列的预定个数也为1。
191.如权利要求188所述的方法,其中,每一遍历步骤都使用一个不同的处理器线程来实现。
192.如权利要求191所述的方法,其中,每一遍历步骤都使用多个不同的处理器线程来实现。
193.如权利要求159所述的方法,其中,在比较基准帧视频数据与目标帧视频数据的比较步骤中使用至少一个视频处理器线程,并且使用至少一个音频处理器线程来比较基准帧音频数据与目标帧音频数据。
194.如权利要求159所述的方法,其中,在比较基准帧视频数据与目标帧视频数据以及基准帧音频数据与目标帧音频数据的比较步骤中使用至少一个处理器线程。
195.一种压缩多个顺序帧的比特长度的方法,其中每帧都由多个比特组成,该方法包括如下步骤:
将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧被设定为多个顺序帧的初始帧而目标帧最初被设定为多个顺序帧的后续帧,该比较步骤使用了用于比较的多个不同的线索以及每一线索内的尺寸一致的搜索块,这样相应的比较块的尺寸也一致;和
利用多个比较块来得到从原状态被压缩的目标帧的表示,该利用步骤包括如下步骤:
判断是否存在能被压缩的相邻比较块;和
针对能被压缩的相邻比较块中的至少某些比较块,建立其中含有这些相邻比较块的至少一个尺寸不一致的超集块。
196.如权利要求195所述的方法,其中,这些相邻比较块包括所有某些相邻比较块。
197.如权利要求195所述的方法,其中,建立尺寸不一致的多个超集块,每一超集块其中都含有某些相邻比较块,并且其中,多个超集块中的每一超集块内的这些相邻比较块彼此不相邻。
198.如权利要求195所述的方法,其中,利用链接表来表示能被压缩的这些相邻比较块。
199.如权利要求195所述的方法,其中,利用二叉树来表示能被压缩的这些相邻比较块。
200.一种搜索多个顺序帧内的模式的方法,其中每帧都由按矩阵阵列排列的多个比特组成,该方法包括:
以一种有损失方式将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧被设定为多个顺序帧的初始帧而目标帧最初被设定为多个顺序帧的后续帧,该比较步骤包括:
针对第一搜索块,获得表示目标帧内存在的比较百分比的第一权重;
针对与第一搜索块交叠的第二搜索块,获得表示目标帧内存在的另一比较百分比的第二权重;和
如果第一权重与第二权重两者都具有超过所确定阈值的比较百分比,那么,将放弃第一和第二搜索块中比较百分比较低的比较块。
201.如权利要求200所述的方法,其中,利用链接表来表示能被压缩的比较块。
202.如权利要求200所述的方法,其中,利用二叉树来表示能被压缩的比较块。
203.如权利要求200所述的方法,其中,所确定的阈值是有选择地可调整的。
204.一种搜索多个顺序帧内的模式的方法,其中每帧都由按矩阵阵列排列的多个比特组成,该方法包括:
将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧被设定为多个顺序帧的初始帧而目标帧最初被设定为多个顺序帧的后续帧,该比较步骤包括:
启动一种预测线索,该预测线索用于将基准帧的矩阵阵列内的不同位置的块尺寸不同的一些不同的预测搜索块与目标帧中的不同的相应预测目标块进行比较,以获得目标帧的预测最佳块尺寸和预测移动方向;和
在搜索块尺寸与预测最佳块尺寸相应时以与预测移动方向相应的方向启动目标帧的遍历。
205.如权利要求204所述的方法,其中,预测最佳块尺寸在8×8字节和128×128字节的范围内。
206.如权利要求205所述的方法,其中,预测移动方向为横向、纵向和斜向之一。
207.如权利要求204所述的方法,其中,预测移动方向为横向、纵向和斜向之一。
208.如权利要求204所述的方法,其中,启动遍历步骤利用一种处理器线程启动遍历。
209.如权利要求204所述的方法,其中,启动遍历步骤利用多个处理器线程启动遍历,每一处理器线程都按预测最佳块尺寸以预测移动方向遍历目标帧。
210.如权利要求209所述的方法,还包括如下步骤:以与预测移动方向不相符的另一方向启动目标帧的进一步遍历。
211.如权利要求210所述的方法,还包括如下步骤:在该遍历完成之前终止初始遍历和进一步遍历之一。
212.如权利要求210所述的方法,其中,当按表示基准帧的预定部分的不同搜索块遍历目标帧后没有达到比较块的预定个数的匹配时,出现终止步骤。
213.一种搜索多个顺序帧内的模式的方法,其中每帧都由按可被至少横向和纵向遍历的矩阵阵列排列的多个比特组成,该方法包括如下步骤:
将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧被设定为多个顺序帧的初始帧而目标帧最初被设定为多个顺序帧的后续帧,该比较步骤包括:
至少横向和纵向按分别大于单比特列或比特行的增量遍历目标帧,以将搜索块与目标帧内的相应目标块进行比较,该遍历步骤包括:对于矩阵阵列边缘的那些搜索块和相应目标块,分别用完全相同的信息来填充超出基准帧和目标帧范围的搜索块和相应目标块内的比特位置,这样,在整个遍历步骤中可以保持搜索块和相应目标块的尺寸。
214.一种搜索模式的方法,包括如下步骤:
获得多个顺序的且时间相关的帧,其中每帧都由表示视频信息的多个比特和表示音频信息的另外多个比特组成;
通过将基准帧内的多个不同的搜索块与目标帧进行比较来获得多个比较块,基准帧最初被设定为多个顺序的且时间相关的帧的初始帧而目标帧最初被设定为多个顺序的且时间相关帧的后续帧;
利用多个比较块来得到被压缩的目标帧的表示。
215.如权利要求214所述的方法,还包括如下步骤:重复所述重新指定和重复步骤,使得余下的多个顺序帧中的每一个都一度成为目标帧,同时执行比较和利用步骤。
216.如权利要求214所述的方法,其中,获得步骤还包括如下步骤:在多个顺序的且时间相关的帧中的每一帧内的视频信息与音频信息之间做一个标记。
217.如权利要求214所述的方法,其中,被压缩的目标帧的表示采用链接表。
218.如权利要求214所述的方法,其中,表示音频信息的多个比特利用色空间来表示音频信息,而比较步骤包括如下步骤:
横向遍历既含有视频信息又含有音频信息的目标帧以将第一组的多个不同的搜索块中的每一个与目标帧内的不同位置进行比较;和
纵向遍历既含有视频信息又含有音频信息的目标帧以将第二组的多个不同的搜索块中的每一个与目标帧内的不同位置进行比较。
219.如权利要求218所述的方法,其中,比较步骤包括:斜向遍历既含有视频信息又含有音频信息的目标帧以将第三组的多个不同的搜索块中的每一个与目标帧内的不同位置进行比较。
220.如权利要求219所述的方法,其中,比较步骤还包括如下步骤:遍历既含有视频信息又含有音频信息的目标帧以将第四组的多个不同的搜索块中的每一个与目标帧内的不同位置按不同的旋转位置进行比较。
221.如权利要求220所述的方法,其中,遍历第一组、第二组、第三组和第四组的步骤可以按并行操作方式操作。
222.如权利要求221所述的方法,其中,还包括如下步骤:在终止遍历第一、第二、第三和第四组中的其他组的步骤之前,先终止遍历第一、第二、第三和第四组之一的步骤。
223.如权利要求221所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,没有达到一种搜索块与相应目标块之间的预定个数的匹配,那么终止遍历第一、第二、第三和第四组的步骤所用的搜索块中的一些特定搜索块。
224.如权利要求223所述的方法,其中,预定个数为1。
225.如权利要求223所述的方法,其中,要求匹配是完全相同的匹配。
226.如权利要求223所述的方法,其中,匹配可以引入损失。
227.如权利要求221所述的方法,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,搜索块中的其他一些搜索块导致了一种搜索块与相应目标块之间的预定较大百分比的匹配,那么终止遍历第一、第二、第三和第四组的步骤所用的搜索块中的一些特定搜索块。
228.如权利要求219所述的方法,其中,遍历第一组、第二组、第三组的步骤可以按并行操作方式操作。
229.如权利要求228所述的方法,还包括如下步骤:在终止遍历第一、第二和第三组中的其他组的步骤之前,先终止遍历第一、第二和第三组之一的步骤。
230.如权利要求228所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,没有达到一种搜索块与相应目标块之间的预定个数的匹配,那么终止遍历第一、第二和第三组的步骤所用的搜索块中的一些特定搜索块。
231.如权利要求230所述的方法,其中,预定个数为1。
232.如权利要求230所述的方法,其中,要求匹配是完全相同的匹配。
233.如权利要求230所述的方法,其中,匹配可以引入损失。
234.如权利要求228所述的方法,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,搜索块中的其他一些搜索块导致了一种搜索块与相应目标块之间的预定较大百分比的匹配,那么终止遍历第一、第二和第三组的步骤所用的搜索块中的一些特定搜索块。
235.如权利要求218所述的方法,其中,遍历第一组和第二组的步骤可以按并行操作方式操作。
236.如权利要求235所述的方法,还包括如下步骤:在终止遍历第一和第二组中的其他组的步骤之前,先终止遍历第一和第二组之一的步骤。
237.如权利要求235所述的方法,其中,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,没有达到一种搜索块与相应目标块之间的预定个数的匹配,那么终止遍历第一和第二组的步骤所用的搜索块中的一些特定搜索块。
238.如权利要求237所述的方法,其中,预定个数为1。
239.如权利要求237所述的方法,其中,要求匹配是完全相同的匹配。
240.如权利要求237所述的方法,其中,匹配可以引入损失。
241.如权利要求235所述的方法,比较步骤将搜索块与目标帧内的目标块进行比较,还包括如下步骤:如果在比较了目标帧的预定部分之后,搜索块中的其他一些搜索块导致了一种搜索块与相应目标块之间的预定较大百分比的匹配,那么终止遍历第一和第二组的步骤所用的搜索块中的一些特定搜索块。
242.如权利要求218所述的方法,其中,遍历步骤遍历目标帧,使得目标帧内的后续不同位置相互交叠。
243.如权利要求242所述的方法,其中,后续不同位置相差至多为预定个数的比特行和预定个数的比特列。
244.如权利要求243所述的方法,其中,比特行的预定个数为1,而比特列的预定个数也为1。
245.如权利要求218所述的方法,其中,横向遍历目标帧和纵向遍历目标帧的步骤至少之一遍历整个目标帧。
246.如权利要求245所述的方法,其中:
横向遍历整个目标帧包括在目标帧内不同的纵向位置进行横向重复通过;和
纵向遍历整个目标帧包括在目标帧内不同的横向位置进行纵向重复通过。
247.如权利要求246所述的方法,其中,目标帧内的相邻的不同纵向位置和相邻的不同横向位置相差至多为预定个数的比特行和预定个数的比特列。
248.如权利要求247所述的方法,其中,比特行的预定个数为1,而比特列的预定个数也为1。
249.如权利要求246所述的方法,其中,每一遍历步骤都使用一个不同的处理器线程来实现。
250.如权利要求249所述的方法,其中,每一遍历步骤都使用多个不同的处理器线程来实现。
251.如权利要求214所述的方法,其中,在比较基准帧视频数据与目标帧视频数据的比较步骤中使用至少一个视频处理器线程,并且使用至少一个音频处理器线程来比较基准帧音频数据与目标帧音频数据。
252.如权利要求214所述的方法,其中,在比较基准帧视频数据与目标帧视频数据以及基准帧音频数据与目标帧音频数据的比较步骤中使用至少一个处理器线程。
253.如权利要求214所述的方法,其中,利用步骤得到在没有引入任何损失的情况下与原状态比较被压缩的目标帧的表示。
254.如权利要求214所述的方法,其中,比较步骤利用“与”操作将搜索块与目标帧进行比较。
255.如权利要求214所述的方法,其中,利用步骤得到在引入损失的情况下与原状态比较被压缩的目标帧的表示。
256.如权利要求255所述的方法,其中,比较步骤利用“与”操作将搜索块与目标帧进行比较。
257.如权利要求255所述的方法,其中,比较步骤利用“或”操作将搜索块与目标帧进行比较。
258.如权利要求255所述的方法,其中,比较步骤利用“异或”操作将搜索块与目标帧进行比较。
259.如权利要求255所述的方法,其中,比较步骤利用加操作将搜索块与目标帧进行比较。
260.如权利要求255所述的方法,其中,比较步骤利用减操作将搜索块与目标帧进行比较。
261.如权利要求255所述的方法,其中,比较步骤利用乘操作将搜索块与目标帧进行比较。
262.如权利要求255所述的方法,其中,比较步骤利用除操作将搜索块与目标帧进行比较。
263.如权利要求214所述的方法,其中,利用步骤将多个比较块中的交叠块进行组合以得到表示所用的超集块。
264.如权利要求214所述的方法,其中,比较步骤包括如下步骤:跟踪表示搜索块与目标帧内存在的相应目标块之间的完全相同的匹配的比较块。
265.如权利要求264所述的方法,其中,跟踪步骤用来提供基准帧与目标帧之间可达到的压缩量的动态指示,并且其中,比较步骤还包括选择压缩目标比的步骤。
266.如权利要求264所述的方法,其中,当动态指示表明针对目标帧达到了压缩目标比时,终止比较步骤。
267.如权利要求266所述的方法,其中,比较步骤还包括如下步骤:选择表示中所能容许的所希望的损失量。
268.如权利要求267所述的方法,其中,如果目标块内的比特百分比至少等于所希望的损失量,那么认为比较块与搜索块完全相同。
269.如权利要求214所述的方法,其中,比较步骤还包括如下步骤:选择表示中所能容许的损失量。
270.如权利要求214所述的方法,其中,比较步骤包括如下步骤:
启动一种预测处理器线程,以得到搜索块与目标帧之间的匹配的可能性的估算;和
将该估算传递给至少一个比较处理器线程,该线索用于将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块。
271.如权利要求214所述的方法,其中,比较步骤按比特级进行比较。
272.如权利要求214所述的方法,其中,比较步骤按字节级进行比较。
273.一种压缩多个顺序帧的比特长度的方法,其中每帧都由多个比特组成,该方法包括如下步骤:
将基准帧内的多个不同的搜索块与目标帧进行比较以获得多个比较块,基准帧最初被设定为初始帧而目标帧最初被设定为后续帧,该比较步骤包括如下步骤:
判断是否达到基准帧与后续帧之间的所希望的压缩比;
如果达到了所希望的压缩比,则终止比较步骤;和
如果没有达到所希望的压缩比,则利用多个比较块来得到与原状态相比被压缩的目标帧的表示。
274.如权利要求273所述的方法,还包括如下步骤:
将作为目标帧的后续帧重新指定为基准帧,和将跟随在该后续帧之后的另一后续帧重新指定为目标帧;和
重复这些比较和判断步骤。
275.一种对多个顺序帧进行模式识别的设备,其中每帧都由多个比特组成,该设备包括:
一种处理器,它使用应用程序来启动一种预测线索以确定缺省模式方向,利用各方向的不同线索在基准帧中的各种搜索块与目标帧的相应目标搜索区之间作出至少横向和纵向的比较,获得一些比较匹配作为链接表,处理该链接表以得到包括交叠比较匹配的超集块,并保存所得到的压缩帧;和
一种存储器,用于保存所得到的压缩帧。
276.一种处理器可操作的计算机可读媒体,包括:
存储在该计算机可读媒体上的计算机程序,可用来执行模式匹配:启动一种预测线索以确定缺省模式方向,利用各方向的不同线索在基准帧中的各种搜索块与目标帧的相应目标搜索区之间作出至少横向和纵向的比较,获得一些比较匹配作为链接表,处理该链接表以得到包括交叠比较匹配的超集块,并保存所得到的压缩帧。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/999,776 US20030081685A1 (en) | 2001-10-31 | 2001-10-31 | Method and apparatus for determining patterns within adjacent blocks of data |
US09/999,776 | 2001-10-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1608379A true CN1608379A (zh) | 2005-04-20 |
Family
ID=25546669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA028262085A Pending CN1608379A (zh) | 2001-10-31 | 2002-10-31 | 确定相邻数据块内的模式的方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20030081685A1 (zh) |
EP (1) | EP1440582A2 (zh) |
JP (1) | JP2006502598A (zh) |
CN (1) | CN1608379A (zh) |
AU (1) | AU2002353952A1 (zh) |
WO (1) | WO2003039162A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045561A (zh) * | 2009-10-15 | 2011-05-04 | 三星电子株式会社 | 处理将要被显示在显示装置上的图像数据的装置和方法 |
CN101371586B (zh) * | 2006-01-10 | 2012-06-27 | 汤姆森特许公司 | 用于并行实现4:4:4编码的方法和装置 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1466320B1 (en) * | 2001-11-30 | 2007-02-07 | Koninklijke Philips Electronics N.V. | Signal coding |
US7302006B2 (en) * | 2002-04-30 | 2007-11-27 | Hewlett-Packard Development Company, L.P. | Compression of images and image sequences through adaptive partitioning |
CN100440825C (zh) * | 2003-01-28 | 2008-12-03 | 华为技术有限公司 | 数字传送网上不同的数据帧接入和传送的系统和方法 |
CN100396035C (zh) * | 2003-01-28 | 2008-06-18 | 华为技术有限公司 | 数字传送网上不同的数据帧接入和传送的系统和方法 |
US20060079513A1 (en) * | 2004-10-13 | 2006-04-13 | Preston David M | Methods and compositions including methscopolamine nitrate |
US20060235683A1 (en) * | 2005-04-13 | 2006-10-19 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Lossless encoding of information with guaranteed maximum bitrate |
US7991610B2 (en) * | 2005-04-13 | 2011-08-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Adaptive grouping of parameters for enhanced coding efficiency |
US7788106B2 (en) * | 2005-04-13 | 2010-08-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Entropy coding with compact codebooks |
KR100750137B1 (ko) * | 2005-11-02 | 2007-08-21 | 삼성전자주식회사 | 영상의 부호화,복호화 방법 및 장치 |
JP4981461B2 (ja) * | 2007-01-18 | 2012-07-18 | 株式会社日立製作所 | 情報秘匿化方法、および情報秘匿装置 |
JP5265139B2 (ja) * | 2007-06-13 | 2013-08-14 | オリンパスメディカルシステムズ株式会社 | 体内画像取得システム |
US8285068B2 (en) | 2008-06-25 | 2012-10-09 | Cisco Technology, Inc. | Combined deblocking and denoising filter |
US9697535B2 (en) | 2008-12-23 | 2017-07-04 | International Business Machines Corporation | System and method in a virtual universe for identifying spam avatars based upon avatar multimedia characteristics |
US9704177B2 (en) | 2008-12-23 | 2017-07-11 | International Business Machines Corporation | Identifying spam avatars in a virtual universe (VU) based upon turing tests |
US8553778B2 (en) * | 2009-03-19 | 2013-10-08 | International Business Machines Corporation | Coding scheme for identifying spatial locations of events within video image data |
US8537219B2 (en) | 2009-03-19 | 2013-09-17 | International Business Machines Corporation | Identifying spatial locations of events within video image data |
US8656476B2 (en) | 2009-05-28 | 2014-02-18 | International Business Machines Corporation | Providing notification of spam avatars |
US8638395B2 (en) | 2009-06-05 | 2014-01-28 | Cisco Technology, Inc. | Consolidating prior temporally-matched frames in 3D-based video denoising |
US9628674B2 (en) | 2010-06-02 | 2017-04-18 | Cisco Technology, Inc. | Staggered motion compensation for preprocessing video with overlapped 3D transforms |
US8472725B2 (en) | 2010-06-02 | 2013-06-25 | Cisco Technology, Inc. | Scene change detection and handling for preprocessing video with overlapped 3D transforms |
US9635308B2 (en) * | 2010-06-02 | 2017-04-25 | Cisco Technology, Inc. | Preprocessing of interlaced video with overlapped 3D transforms |
GB2502774B (en) * | 2012-05-29 | 2014-07-02 | Appsense Ltd | Improvements in and relating to managing process image hijacks |
CN105632503B (zh) * | 2014-10-28 | 2019-09-03 | 南宁富桂精密工业有限公司 | 信息隐藏方法及系统 |
US9832351B1 (en) | 2016-09-09 | 2017-11-28 | Cisco Technology, Inc. | Reduced complexity video filtering using stepped overlapped transforms |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3068002B2 (ja) * | 1995-09-18 | 2000-07-24 | 沖電気工業株式会社 | 画像符号化装置、画像復号化装置及び画像伝送システム |
KR100204478B1 (ko) * | 1996-05-09 | 1999-06-15 | 배순훈 | 전역 움직임에 의한 빈 공간 보상 방법 및 그 장치 |
TW444507B (en) * | 1998-10-22 | 2001-07-01 | Sony Corp | Detecting method and device for motion vector |
-
2001
- 2001-10-31 US US09/999,776 patent/US20030081685A1/en not_active Abandoned
-
2002
- 2002-10-31 JP JP2003541280A patent/JP2006502598A/ja not_active Withdrawn
- 2002-10-31 WO PCT/US2002/035028 patent/WO2003039162A2/en not_active Application Discontinuation
- 2002-10-31 CN CNA028262085A patent/CN1608379A/zh active Pending
- 2002-10-31 AU AU2002353952A patent/AU2002353952A1/en not_active Abandoned
- 2002-10-31 EP EP02789356A patent/EP1440582A2/en not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101371586B (zh) * | 2006-01-10 | 2012-06-27 | 汤姆森特许公司 | 用于并行实现4:4:4编码的方法和装置 |
CN102045561A (zh) * | 2009-10-15 | 2011-05-04 | 三星电子株式会社 | 处理将要被显示在显示装置上的图像数据的装置和方法 |
CN102045561B (zh) * | 2009-10-15 | 2014-08-13 | 三星电子株式会社 | 处理将要被显示在显示装置上的图像数据的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
AU2002353952A1 (en) | 2003-05-12 |
WO2003039162A3 (en) | 2003-12-31 |
US20030081685A1 (en) | 2003-05-01 |
JP2006502598A (ja) | 2006-01-19 |
WO2003039162A2 (en) | 2003-05-08 |
EP1440582A2 (en) | 2004-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1608379A (zh) | 确定相邻数据块内的模式的方法和设备 | |
US10021418B2 (en) | Method and apparatus of candidate generation for single sample mode in video coding | |
CN1175667C (zh) | 对预定场奇偶性的场进行解码的装置和方法 | |
CN1044064C (zh) | 图象信号编码与解码方法以及图象信号编码与解码装置 | |
CN1164120C (zh) | 图像编码装置和图像解码装置 | |
CN104869422B (zh) | 用于对运动矢量进行编码和解码的方法和设备 | |
CN1169087C (zh) | 多道数据压缩方法 | |
CN103069802B (zh) | 重构图像的当前块的方法和对应的编码方法、对应的装置 | |
US8538180B2 (en) | Method and apparatus for generating JPEG files suitable for parallel decoding | |
CN1741619A (zh) | 动画图像解码方法和装置、 动画图像编码方法和装置 | |
ATE471632T1 (de) | Videokodierungsverfahren, videodekodierungsverfahren, videokodierungsprogramm, videodekodierungsprogramm, videokodierungsvorrichtung, videodekodierungsvorrichtung | |
CN1926879A (zh) | 视频信号编码器、视频信号处理器、视频信号分发系统及其操作方法 | |
CN1147156C (zh) | 用于自适应编码一目标的轮廓的方法和装置 | |
JP2001186516A (ja) | 画像データの符号化復号化方法及び装置 | |
EP4199516A1 (en) | Reduction of redundant data in immersive video coding | |
WO2022069388A1 (en) | A method and apparatus for encoding and decoding one or more views of a scene | |
CN1147158C (zh) | 图象信号处理、记录方法和设备 | |
CN1187977C (zh) | 图象信号译码方法和装置 | |
CN1288913C (zh) | 视频获取设备和通过低数据速率链路传送高质量视频的方法 | |
CN1230856A (zh) | 解码装置和解码方法 | |
CN107197288B (zh) | 视频全局视差向量编码方法、解码方法和装置 | |
KR20240110005A (ko) | 피쳐 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
CN104221368A (zh) | 图像编码装置、图像解码装置、图像编码方法、图像解码方法以及程序 | |
CN110868611A (zh) | 视频编码、解码方法及装置 | |
CN104284171A (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 | ||
AD01 | Patent right deemed abandoned | ||
C20 | Patent right or utility model deemed to be abandoned or is abandoned |