提高编码增益的系统和方法

文档序号:7640074阅读:250来源:国知局
专利名称:提高编码增益的系统和方法
技术领域
本发明涉及数字内容和数据的分发。更具体而言,本发明涉及用于压 縮数字内容和数据以进行分发的系统和方法。
背景技术
数字图像是作为一组数字值(称为图像元素或像素)的二维图像的表 示。这些像素通常被存储在计算机存储器中作为光栅图像,小整数的二维 阵列。图像的各个像素一般与某个二维区域中的特定"位置"相关联,并 且具有由与该位置相关的一个或多个量(样本)构成的值。数字彩色图像包括各个像素的彩色信息。为了视觉上可接受的结果, 对于每个像素通常需要提供至少三个样本(彩色通道),这些样本被解释 为某种色彩空间中的坐标。在计算机显示中一般使用RGB色彩空间,但 是在其它情况下经常会使用诸如YUV和HSV之类的其它空间。在分发数字数据或内容时,特别是在分发数字彩色图像时,带宽是最 宝贵的。诸如MPEG1、 JPEG、 MPEG2、 JPEG2K、 QuickTime之类的压縮 算法标准已经被开发出来,并且已被媒体应用和设备采用以使得可以分发 数字音频/视频(AV)。这些压縮标准通过多种不同的算法来实现带宽压 縮,这些算法针对人类的感知特点被调整,并且利用了视频内容的空间和 时间冗余(或相关性)。对更高分辨率数字媒体(高清晰度视频及更高分辨率的视频)和更多 内容(例如,更多通道)的需求提高了对带宽的要求。这种要求通过使用 至少两种互补的技术开发工作来解决。第一个是开发复杂的调制方案来增加给定介质(例如,802.11x标准,MIMO模式,等)的总可用带宽。第 二个是开发以更高比率(例如,MPEG4、 AVC、 VC1,等)来压縮视频的 新压縮算法。对于未经压縮的数字视频的带宽要求可能非常高,例如,从针对标准 清晰度的300Mbps到针对高清晰度的2Gbps。视频压縮算法可以极大地降 低带宽要求,并且通常是在带宽受限环境中工作的许多视频应用(例如, 经大气/线缆/卫星的广播TV、流、存储等)的强制性要求。幸运的是,自然视频含有丰富的空间和时间冗余或相关性。大多数 (即使不是全部)视频压縮算法利用该相关性。 一般压縮算法的单独编码 增益很大程度上依赖于其对视频的空间和时间相关性的使用效率。但是, 这种算法需要在最小化视频的感知质量的损失的情况下执行该操作。这是 由于这样的事实,即,压縮导致了信息的损失,这是随着视频的感知质量 的恶化而显现的。好的压缩算法通过将信息损失限制于人类感知系统不容 易察觉的区域(例如,高频内容)同时获得显著的压縮来平衡这种权衡。MPEG1、 MPEG2和MPEG4是在媒体应用中广泛使用的视频压縮算 法中的一些。新兴的高级视频编码(AVC) (MPEG4-part 10)可能是下 一个主要视频算法。从MPEG2开始的各个算法在编码增益(压縮比)和 图像质量方面都比其前身有显著的提高。例如,对于大致相同的图像质 量,新兴的AVC算法相对于MPEG2可能提高了 50%的编码增益。这是 因为与MPEG2相比,AVC使用了可变数据块大小(例如,4x4、 8x8、 4x8等)转换并使用了增强型运动估计和补偿方法。可变数据块大小使得 可以更好地利用空间相关性,而增强型运动估计和补偿使得可以更有效地 提取时间相关。概括而言,视频压缩算法依据高级图像处理技术来获得更 高的压縮增益。然而,除了数据压縮的这些改进之外,该领域中还需要进一步的改进。发明内容通过在将数据发送给编码算法(例如,MPEG算法)之前在预处理模ii块中提高该数据的空间和时间相关性来实现额外的数据压縮。输入数据中 的更高的空间和时间相关性使得得到了更高的整体压縮比和更低的带宽要 求。根据本发明的一个实施例,包括多个像素的输入数据帧被分解成第一 分量帧和多个附加分量帧。第一分量帧和多个附加分量帧各自包含多个经 分解像素。基于第一分量帧的多个经分解像素中的每一个来重排序该第一分量帧 的多个经分解像素,以生成具有多个转换后的经分解像素的第一转换后 帧。描述了第一分量帧的多个经分解像素和第一转换后帧的多个转换后的 经分解像素之间的关系的映射被创建。根据这种映射来重排序多个附加分 量帧中的每一个的多个经分解像素,以生成多个附加转换后帧。将第一转 换后帧和多个附加转换后帧合成以生成转换后输出帧。在一个方面,第一分量帧的多个经分解像素是辉度像素。 在另一个方面,使用可变长度编码算法来对映射进行编码以生成经压 縮映射。在另一个方面,经压縮映射和转换后输出帧被发送到编码器。在又一个方面,所述编码器是MPEG1编码器、MPEG2编码器、 MPEG4编码器、或者AVC编码器。存在本发明的其它方面。因此,应当了解,在前的描述仅仅是本发明 的一些实施例和一些方面的概要。以下将提及其它实施例和方面。还应当 了解,在不脱离本发明的精神或范围的情况下可以对所公开的实施例进行 许多改变。因此,之前的概要并不意图限制本发明的范围。相反,本发明 的范围由所附权利要求和其等同物来确定。


根据以下结合附图对特定实施例进行的描述,本发明的这些和/或其它 方面和优点将变得显而易见,并且更容易理解,在附图中图1是根据本发明一个实施例的提高编码增益的方法的简化功能框图;图2是根据图1的实施例、用于提高数据的空间和时间相关性的方法的简化处理示图;图3是根据本发明的一个实施例的解码处理的简化功能框图;图4是根据图3的实施例、用于重构在空间和时间上相关的数据的方法的简化处理示图;图5是根据本发明一个实施例的数据帧转换的简化示图;图6a和6b是根据本发明一个替代实施例的数据帧转换的简化示图;图7是根据本发明一个实施例的接收设备的简化框图;以及图8是根据本发明一个实施例的用于生成音频/视频传输流的电路的简化框图。
具体实施方式
现在将详细地参考本发明的实施例,这些实施例的示例在附图中示 出,其中,相似的标号指代所有附图中的相似元件。应当了解,可以使用 其它实施例,并且在不脱离本发明的范围的情况下可以进行结构上和操作 上的改变。公开了用于实现额外数据压縮的方法和系统。本发明的实施例通过在 将数据发送给编码算法(例如,MPEG算法)之前在预处理模块中提高数 据的空间和时间相关性来实现这个目的。输入数据中的更高空间和时间相 关性使得实现更高的总体增益和更低的带宽要求。图1是根据本发明一个实施例的提高编码增益的方法的简化功能框 图。预处理模块102接收未经压縮的数据104 (例如,视频数据),并对 输入数据执行空间和时间相关性的提高操作,这在下文中将进行更详细的 描述。相关性提高后的数据106随后被馈入压縮算法或编码器108,该压 縮算法或编码器108将更有效地压縮该数据,从而产生相关性提高后的数 据110。示例性的压縮算法包括MPEG1、 MPEG2、 MPEG4、 AVC等。这 种方法的编码增益是(根据本发明的实施例)相关性提高后的视频数据和 未经处理(正常)的视频数据的之差。假定更高的空间和时间相关性将实现提高的整体压縮,则图1的方法产生了显著的编码增益。图2是根据图1的实施例、用于提高数据的空间和时间相关性的方法 的简化处理示图。对帧中的各个像素执行了基于强度的重排序。输入数据被馈入到预处理模块102,在这种情况下输入数据是以未经压縮的YUV格 式的视频数据帧202。YUV格式按照一个辉度分量和两个色度分量定义了色彩空间。Y表示 辉度分量(辉度),而U和V是色度(颜色)分量。因此,帧中的各个像 素都包含三个值, 一个Y分量的值,而两个U和V分量的值。YUV信号 是根据RGB (红、绿和蓝)源来生成的。将R、 G和B的加权值加在一起 来生成单个Y信号,Y信号表示那个点的整体辉度,或亮度。然后通过从 原始RGB的蓝色信号中减去Y,随后进行缩放来生成U信号。通过从红 色中减去Y,随后縮放不同的系数来生成V信号。虽然示出的实施例使用 了 YUV格式的数据,但是其它实施例也可以使用其它数据格式。在预处理模块102接收到未经压缩的YUV数据帧202之后,帧202 首先被导引至辉度/色度分离器204。辉度/色度分离器204将帧202分解成 具有多个辉度像素的一个辉度帧(Y) 206和各自具有多个色度像素的两 个色度帧(U、 V) 208、 210。接下来,基于各个辉度像素中的每一个来 转换辉度帧206中的多个辉度像素。所述转换是通过对进入的辉度帧206 中的辉度像素进行重排序以生成具有多个转换后的辉度像素的转换后辉度 帧(X) 212来完成的。换而言之,例如,进入的视频帧202中的位置0,0 处的像素可以具有这样的辉度值,以使得当根据该值与帧202中的其它像 素的辉度值相关地进行重排序时,该像素的辉度分量将被置于重排序后或 者转换后的辉度帧(Y) 212中的位置8,8处。图5示出了这种重排序处理的实施例。所示出的是图2的辉度帧206 (Y)的左下区域或部分。位于位置0,0 (以X-Y轴网格框架为基准)处 的是值为240的示例性辉度像素502。(对于8位像素系统,各个像素的 辉度值在从0到255的范围内。)在根据辉度帧206中的辉度像素的值来 对这些辉度像素进行重排序之后,产生了转换后的辉度帧212 (X)(图 2)。在图5中,示出了该转换后的辉度帧212的左下部分,其中,示例性辉度像素502根据其辉度值240而被重排序在或置于不同的位置处,在这 种情况下是8,8位置处。在将具有最高辉度值的像素置于或接近于转换后 的帧212的左下位置处(即,位置0,0处)并将具有最低辉度值的像素置 于或接近于帧212的右上角(未示出)处的示例性排序方案中,在图5的 情况下,位于示例性像素502右上方的辉度像素的值将等于或小于示例性 像素502的值240。返回到图2,描述了辉度帧206的多个辉度像素和转换后的辉度帧 212的多个转换后辉度像素之间的关系的映射214被生成。换而言之,例 如,如果原先位于0,0位置处的辉度像素被转换到位置8,8,则映射214将 提供信息以使得可以按需将该辉度像素恢复到其原始位置0,0处。因此可 以了解到,这是一个无损、可逆的处理,凭借该处理可以使用转换后的辉 度帧(Y) 212数据和映射214来重新生成原始辉度图像帧(Y) 206。映 射214可以是许多数据结构或关系(包括表格、数据库、等式、列表等) 中的一个或多个。色度帧(U、 V) 208、 210以类似方式被转换以生成转换后的色度帧 (U、 Y) 216、 218。即,这两个色度帧的每一个中的多个色度像素被重 排序。这种转换是根据先前生成的用于转换后的辉度帧(X) 212的相同 映射214来进行的。换而言之,例如,如果原先位于0,0处的示例性辉度 像素被转换到转换后辉度帧212中的位置8,8处,则如先前创建的映射 214所指引的,该同一像素的相应U和V值将同样地被置于它们各自的转 换后色度帧216、 218中的位置8,8处。如上所述,分量帧中的各个分解后的像素是基于各个辉度像素的强度 水平或值来重排序并被置于转换后的帧中的。但是,在替代实施例中,重 排序是基于一大块辉度像素而不是基于各个辉度像素的。输入分量帧被视 为多个像素数据块,例如,4x4块、或者8x8块等。对单个块的值进行计 算,单个块的值是该块中的各个辉度像素的函数。该单个块的值可以是该 块中的各个辉度像素的总和、各个辉度像素的平均等。于是,并非对各个 像素进行重排序,而是基于计算得到的单个块的值来重排序数据块本身,并将这些数据块置于转换后的帧中作为数据块。与之前一样,映射被创建 以用于重构分量帧。这种方法的一个优点在于将被转换的数据点较少,因 而将得到较快的处理。图6a和6b示出了该按块的像素转换的一个实施例。所示出的是通过 将输入帧分解成一个辉度帧602 (Y)和两个色度帧(未示出)而创建的 辉度数据帧602 (Y)的左下区域或部分。示例性数据块604包含从帧602 上的位置0,0向上向右延伸的4x4辉度像素块。在这个示例中,示例性数 据块604包含16个辉度像素,这16个辉度像素的值在190到240的范围 内(图6b)。对单个块的值进行计算,该单个块的值是示例性块604中的 16个单独辉度像素的函数。在这种情况下,该函数仅仅是加函数,因此代 表整个块的单个块的值是这16个值的和,或者是3360。'类似地使用4x4块来处理辉度帧602的其余部分,凭借该4x4块来为 每一个块计算单个数据块的值,其中,单个数据块的值代表该块中的16 个辉度值。随后基于根据各个数据块的值对4x4数据块进行这种重排序来 创建转换后的辉度帧606。因此,原始辉度帧602中的示例性数据块604 被重新布置到转换后的帧606中,在转换后的帧606中的从位置12,12向 上向右延伸的位置处。转换后的示例性数据块604的当前位置是基于其数 据块值3360与原始帧602中的其它块的数据块值之间的关系的。因此在通过将最高数据块值置于或接近转换后的帧606的左下位置处 (即,在O,O处)并将最低数据块值置于或接近右上角(未示出)处来对 转换后的数据块进行排序的排序系统中,在图6a的情况下,位于转换后的 示例性数据块604的右上方的转换后数据块的数据块值将小于或等于 3360,而位于转换后的示例性块的左下方的转换后块的数据块值将大于或 等于3360。但是注意,各个转换后的数据块中的各个辉度像素在它们被转 换到新的位置处时维持不变(值和块中的相对位置都保持不变)。与之前一样,描述了辉度帧602的多个辉度数据块和转换后的辉度帧 606的多个转换后辉度数据块之间的关系的映射(未在图6a中示出)被创 建,以使得可以以无损的方式来恢复原始辉度帧602。类似地,基于这种 4x4数据块、使用同一映射所指引的数据块位置来转换色度帧(U、 V)。即,根据该映射来重新排序这两个色度帧的每一个中的多个色度数据块, 从而生成两个转换后的色度帧。再次返回到图2,接下来所有的转换后帧(X、 LL和Y) 212、 216、218都被发送到辉度/色度合成器220中,在该辉度/色度合成器220中这些 转换后帧被合成为单个转换后视频帧222,因此Y、 U和V像素按它们的 转换后位置来被重新组合。为了将数据调整成编码器108 (图1)可用的 格式,这种合成是必须的。使用可变长度编码(VLC)算法或编码器224 (例如,内容自适应可 变长度编码(CAVLC)算法或内容自适应二进制算术编码(CABAC)算 法)来对映射214中的数据进行编码(即,压縮)。因此,预处理模块 102的输出是转换后视频帧222和经VLC编码后的映射数据226,所有这 些都被发送到编码器108 (图1)。经VLC编码后的映射数据226可以包 括在压縮算法108的用户数据(即,所谓的"私有"数据)部分中,压缩 算法108将使该数据通过而不对其进行进一步操作。虽然所示出的实施例 使用VLC编码器来编码映射214,但是其它实施例可以使用其它类型的编 码器或压缩算法。根据MPEG标准,算法对其执行压縮的图片或帧的单位称为图片组 (GOP, Group Of Pictures) 。 GOP内的压縮后的图片在空间和时间上相 互关联(通过预测)。在MPEG2中,定义了三种"图片类型"。图片类 型限定了可以使用哪种预测模式来对各个块进行编码。在不参考其它图片的情况下对"帧内"图片("Intra" picture) (I 图片)进行编码。通过降低空间冗余度而不是降低时间冗余度来实现适度 压縮。可以周期性地使用I图片来提供比特流中的可以开始解码的访问 点。"预测"图片("Predictive" picture) (P图片)可以使用在前的I 图片或P图片来进行运动补偿,并且可以用作进一步预测的参考。可以对 P图片中的各个块进行预测,或者对其进行帧内编码。通过降低空间和时 间冗余度,P图片相对于I图片提供了提高了的压縮。"双向预测"图片("Bidirectionally-predictive" picture) (B图片)可以使用在前的和之后的I图片或P图片来进行运动补偿,并提供了最高 程度的压縮比。一般在重复序列(即,GOP)中出现不同的图片类型。按显示顺序的 典型GOP是Bi B213 B4 B5 P6 B7 B8 P9 B10 Bu P12相应的比特流顺序是I3 Bi B2 P6 B4 B5 P9 B7 Bg P12 Bio B11可以利用两个参数N和M来描述常规的GOP结构,其中,N是GOP 中的帧或图片的数目,而M是P图片的间距。以上示例中的GOP被描述 成N42且M二3。根据本发明的一个实施例,如果GOP结构包含N个帧,则帧号为1 的第一个视频帧(即,帧"I3",如上所标识的)经历上述步骤而生成转 换后的l号视频帧和映射。但是,GOP中的其余帧(即,视频帧2-N)将 不生成另一个映射,并且将仅经历根据以下步骤的转换首先,2号帧经 历辉度/色度分离以创建辉度和色度帧。接下来,基于为1号视频帧生成的 映射来强度转换这些帧中的每一个。然后,将辉度和色度帧重新组合以生 成转换后的2号视频帧。对GOP的其余输入视频帧3到N中的每一个重 复该处理,以使得使用为帧号1生成的映射来转换每一个帧。通过对GOP 中的每一个帧使用相同映射,实现了数据传送的显著降低。现在参考示出了根据本发明一个实施例的解码处理的简化示图的图 3。已例如按上述方式经过预处理并在随后通过诸如MPEG之类的压縮算 法来编码的压縮后视频数据302被引入到第一解码器304,该解码器304 与编码数据的算法相对应。示例性的算法可以包括MPEG1、 MPEG2、 MPEG4、 AVC等。然后,解码后的帧数据306以及映射数据308被发送 到后处理模块310,后处理模块310基本上与前述预处理方法相反,基于 解码后的帧306和映射308来重构各个进入帧,并生成显示视频312。图4示出了根据本发明一个实施例的、图3的后处理模块310的操作 流程。经过VLC编码的映射数据308被后处理模块310接收,在后处理模 块310中,该映射数据被发送到VLC解码器402以恢复原始的解码后的或者未经压縮的映射404。假设视频数据是N个帧的GOP,则第一解码器 304 (图3)输出N个帧中的转换后的帧1 (306),并将该转换后的帧 306发送到辉度/色度分离器406。(此时,由于每个帧都包含根据各个辉 度像素来在各个帧内经过重排序的像素数据,所以这些帧和它们的数据被 称为"转换后的",如先前所述的。)辉度/色度分离器406将转换后的1 号帧(306)分解成包含转换后的辉度像素的一个转换后辉度帧(X) 408 和包含转换后的色度像素的两个转换后色度帧(LZ、 Y) 410、 412。未经压縮的映射404被用于对转换后的辉度和色度帧(Y、 U、 Y) 408、 410、 412中的每一个进行逆转换,以创建重构后的辉度和色度帧 (Y、 U、 V) 414、 416、 418。这些重构后的辉度和色度帧随后被发送到 辉度/色度合成器420,该辉度/色度合成器420对这些帧进行组合或合成以 生成显示帧312,作为后处理模块310的输出。除了不再接收或解码其它 映射数据之外,对GOP的编号为2-N的其余转换后帧重复上述处理。换 而言之,用于逆转1号帧的相同映射404也被用于逆转换该GOP的编号为 2-N的其余转换后帧。但是,对于下一个GOP的第一转换后帧,将接收新 的映射数据并对其进行处理,随之重复上述处理。如先前所提到的,虽然示出的实施例使用了 YUV格式的数据,但是 其它实施例也可以使用其它数据格式。因而描述了用于提高数据的空间和 时间相关性的方法的替代实施例。包含多个像素的输入数据帧被分解成第 一分量帧和多个附加分量帧。第一分量帧和多个附加分量帧各自包含多个 经分解像素。第一分量帧的多个经分解像素被基于该第一分量帧的多个经分解像素 中的每一个像素来重排序,从而生成具有多个转换后的经分解像素的第一 转换后帧。描述了第一分量帧的多个经分解像素和第一转换后帧的多个转 换后的经分解像素之间的关系的映射被创建。多个附加分量帧中的每一个 的多个经分解像素被根据该映射来重排序,以生成多个附加转换后帧。最 后,第一转换后帧和多个附加转换后帧被合成,以生成转换后的输出帧。此外,在按数据块来转换数据时也可以使用除YUV格式之外的数据 格式。因此,例如在替代实施例中,输入数据帧被分解成第一分量帧和多个附加分量帧,其中,这些帧中的每一个都具有多个数据块。多个数据块 中的每一个都具有多个经分解像素。为第一分量帧的多个数据块中的每一个数据块计算数据块值。每一个 数据块值都是第一分量帧的该数据块中的多个经分解像素的函数。基于各 个数据块值来重排序第一分量帧的多个数据块,从而生成具有第一多个转 换后数据块的第一转换后帧。描述了第一分量帧的多个数据块和第一转换后帧的第一多个转换后数 据块之间的关系的映射被创建。根据该映射来对多个附加分量帧中的每一 个的多个数据块进行重排序,从而生成多个附加转换后帧。最后,第一转 换后帧和多个附加转换后帧被合成,从而生成转换后输出帧。图7和8示出了本发明的实施例可以操作的示例性硬件环境。图7所示出的是作为机顶盒700的示例性接收设备。机顶盒700包括中央处理单 元(CPU) 702和存储器704 (例如,随机存取存储器(RAM)、只读存 储器(ROM)、或闪存),以及诸如硬盘驱动器、软盘驱动器、光盘驱动 器之类的盘驱动器705,或者机顶盒700可以容纳其它大容量存储器或电 子存储介质。这样的存储器和存储介质适合存储数据以及将由CPU 702执 行的处理的程序指令。存储在电子存储介质或存储器上的信息和程序还可 以经由任何适当的传输介质来传送。机顶盒700包括适合音频解码和处理的、适合对根据诸如运动图片专 家组(MPEG)标准之类的压縮标准来压縮的视频数据进行解码的、以及 适合其它处理的电路。注意,这些组件可以并入到电视机(未示出)中, 因而去除机顶盒700。另外,计算机可以替代电视机或机顶盒700或者这 两者。计算机可以包括能够生成视频媒体的多种设备,包括与数字网络、 有线电视网络、或者DSS (数字卫星系统)网络相耦合的调谐卡。机顶盒700包括输入/输出接口 706,该输入/输出接口 706可以为适 合控制机顶盒700的任何设备(例如,遥控器、红外接收器、无线射频接 收器、有线连接机顶盒700还可以通过适当的连接(包括拨号连接、DSL (数字用户线路))或与调谐器710相连接的传输介质708 (例如使用电缆调制解调 器)来与因特网服务提供商(ISP)主机相耦合,从而提供对来自ISP和因 特网的服务和内容的访问。机顶盒700还可以用作因特网接入设备,用以 经由因特网来从远程服务器获得信息和内容。还是参考图7,机顶盒700还包括解调器712、解复用器/去扰码器 714、音频解码器716、调制器718、视频解码器720、后处理模块721、 数据解码器722、系统总线724、和图形处理器726。诸如同轴电缆之类的 传输介质708通过适当的接口而与调谐器710相耦合。调谐器710可以包 括用于接收内容的广播带内调谐器、用于接收数据发送的带外(OOB)调 谐器、和用于为输出的数据提供OOB返回路径的返回路径调谐器。可以 提供分立的调谐器(未示出)以接收传统的RF广播电视信道。解调器712可以对来自调谐器710的任何己调信息(例如,MPEG-2 格式的数据)进行解调。解复用器/去扰码器电路714将解调后的信息分成 分立的节目信道。节目被分成多个分组,每一个分组都具有分组ID(PID)值,分组ID值用于将该分组标识为包含特定类型的数据(例如, 音频、视频和数据)。解复用器/去扰码器电路714还根据解密算法来对加 密信息进行解密,以例如防止对节目内容的未经授权的访问。来自解复用器/去扰码器电路714的音频分组(标识有音频PID的那 些)被解密并被转发到音频解码器716。音频解码器716可以将音频分组 转换成模拟音频以驱动扬声器系统(例如,立体声或家庭影院多通道音频 系统)或者其它音频系统(例如,立体声或家庭影院多通道放大器和扬声 器系统),或者可以简单地提供解码后的音频输出。来自解复用器/去扰码 器电路714的视频分组(标识有视频PID的那些)被解密并被转发到视频 解码器720。类似地,来自解复用器/去扰码器电路714的数据分组(标识 有数据PID的那些)被解密并被转发到数据解码器722。数据解码器722通过系统总线724将解码后的数据分组发送到CPU 702。位于解码后的数据分组内的经压縮映射数据被CPU 702识别出来, 并通过系统总线724而被发送到视频解码器720。视频解码器720将经压縮映射数据和具有转换后视频帧的形式的视频数据传送到后处理模块721,后处理模块721如以上参考图3和4来进行的一般性描述地使用经压 縮映射数据来重构转换后视频帧。视频帧随后被发送到图形处理器726, 图形处理器726被计算机优化为可以快速地处理图形信息。图形处理器 726还与系统总线724相耦合,并且在CPU 702的控制之下操作。机顶盒700可以在I/O (输入/输出)接口 706处包括多种I/O信号中 的任意一种,以用于与其它设备互连。以示例而非限制性的方式,可以在 一个端口处提供串行RS-232信号,以使得可以与由机顶盒的内部软件支 持的任何合适的串行设备互连。类似地,可以经由以太网端口、 USB (通 用串行总线)端口、 IEEE 1394 (火线或者I-Link)端口、 S-video端口、 或红外端口,利用I/O接口与适当兼容的设备的通信。这些接口可以用于 互连机顶盒700和诸如存储设备、音频/视频设备、游戏设备和因特网电器 之类的多种设备中的任意一种(未示出)。I/O接口 706还可以包括与端口相耦合且可以用于向机顶盒700输入 数据的PS/2或其它键盘/鼠标/操纵杆。机顶盒700还可以包括用于与电视 机直接连接的基本视频输出端口。在一些实施例中,视频输出端口可以直 接而不是经过如图7所示的系统总线724来耦合到图形处理器726或解复 用器/去扰码器714。输入/输出接口 706可以包括红外端口,该红外端口可以实现为红外接 收机并且可以从红外遥控器、红外键盘或其它红外控制设备接收命令。尽 管并未示出,但是在一些实施例中可以使用前面板控制器,以通过与I/O 接口 706相耦合的前面板控制接口来直接控制机顶盒700的操作。可以按 需或按要求来在机顶盒700中提供所选择的接口 (例如,上述那些和其它 接口)的各种组合。机顶盒700还包括盘驱动器705,用于存储内容和数据,以及为用于 操作CPU 702的程序(软件代码)提供存储。机顶盒700还可以包括其它 存储介质,例如,软盘驱动器、CDROM驱动器、CDR/W驱动器、DVD 驱动器以及其它。CPU 702通过系统总线724来与存储器704相耦合。存 储器704可以包括任何适当的存储器技术,包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、电可擦除可编程只读存储器 (EEPROM)、以及其它。现在参考图8,示出的是根据本发明实施例适合生成音频/视频传输流 的电路800的高层框图。电路800包括预处理模块801,该预处理模块 801接收未经压縮的音频/视频数据,并且如结合图1和2来进行的一般性 描述地对该数据执行空间和时间相关性提高操作。预处理模块801将转换 后的帧和压縮后的映射数据805发送到一个或多个编码器802,编码器 802根据MPEG-2音频/视频压縮标准来编码该转换后帧数据。编码器802 可以是这样的电路根据MPEG-2标准来对音频、数据、和视频进行编 码,并输出编码后视频、编码后音频、或者其它编码后比特流,作为至少 一个基本流(ES, elementary stream) 806。源材料804可以是电影、电视 节目、音乐视频、计算机游戏、或者适合MPEG-2编码的其它源材料。基本流(ES) 806被分发到一个或多个分组化器808 (—般是音频分 组化器和视频分组化器),分组化器808将基本流(ES) 806分组成包基 本流(PES) 810。包基本流(PES) 810被分发到传输流(TS)复用器 812,传输流复用器812将各个包基本流(PES) 810相互复用并且与任何 节目专用信息(PSI)表格814 (例如,包括以下信息的表格视频和音频 基本流(ES)的身份、由预处理模块801生成的映射数据、以及接收设备 解复用和呈现程序所需的其它信息)复用,从而生成传输流(TS) 816。这样,公开了用于实现额外的数据压縮的方法和系统。本发明的实施 例通过在将数据发送到编码算法(例如,MPEG算法)之前在预处理模块 中提高该数据的空间和时间相关性来实现这个目的。输入数据的更高空间 和时间相关性使得得到更高的整体压縮比和更低的带宽要求。虽然以上描述参考了本发明的特定实施例,但是应当了解,在不脱离 本发明的精神的情况下可以进行许多修改。权利要求旨在覆盖这样的修 改,只要这些修改落在本发明的真实范围和精神内。因此,当前公开的实 施例在各个方面都应当被视为是说明性的而非限制性的,本发明的范围由 权利要求来指示而不是由之前的描述来指示,并因此,在权利要求的等同 物的含义和范围内的所有改变都应当包含于此。
权利要求
1.一种方法,包括将输入帧分解成第一分量帧和多个附加分量帧,其中,所述输入帧包含多个像素,并且其中,所述第一分量帧和所述多个附加分量帧中的每个都包含多个经分解像素;基于所述第一分量帧的多个经分解像素中的每个来重排序所述第一分量帧的多个经分解像素,以生成具有多个转换后的经分解像素的第一转换后帧;创建映射,该映射描述所述第一分量帧的多个经分解像素和所述第一转换后帧的多个转换后的经分解像素之间的关系;根据所述映射来重新排序所述多个附加分量帧中的每个的所述多个经分解像素,以生成多个附加转换后帧;以及将所述第一转换后帧和所述多个附加转换后帧合成以生成转换后输出帧。
2. 如权利要求1所述的方法,其中,所述第一分量帧的多个经分解 像素是辉度像素。
3. 如权利要求1所述的方法,还包括对所述映射进行编码以生成经 压縮映射。
4. 如权利要求3所述的方法,其中,所述映射被用可变长度编码算 法编码。
5. 如权利要求3所述的方法,其中,所述映射被用内容自适应可变 长度编码算法和内容自适应二进制算术编码算法之一编码。
6. 如权利要求l所述的方法,还包括 对所述映射进行编码以生成经压縮映射;以及 将所述经压縮映射和所述转换后输出帧发送到编码器。
7. 如权利要求6所述的方法,其中,所述编码器是MPEG1编码器、 MPEG2编码器、MPEG4编码器和AVC编码器之一 。
8. —种方法,包括将输入帧分解成一个辉度帧和两个色度帧,其中,所述辉度帧具有多 个辉度像素,并且所述两个色度帧中的每个都具有多个色度像素;基于所述多个辉度像素中的每个来重排序所述多个辉度像素,以生成 具有多个转换后的辉度像素的转换后辉度帧;创建映射,该映射描述所述辉度帧的多个辉度像素和所述转换后辉度 帧的多个转换后的辉度像素之间的关系;.根据所述映射来重新排序所述两个色度帧中的每个的多个色度像素,以生成两个转换后色度帧;以及将所述转换后辉度帧和所述两个转换后色度帧合成以生成转换后输出帧。
9. 如权利要求8所述的方法,还包括对所述映射进行编码以生成经 压縮映射。
10. 如权利要求9所述的方法,其中,所述映射被用可变长度编码算 法编码。
11. 如权利要求9所述的方法,其中,所述映射被用内容自适应可变长度编码算法和内容自适应二进制算术编码算法之一编码。
12. 如权利要求8所述的方法,还包括对所述映射进行编码以生成经压縮映射;以及 将所述经压縮映射和所述转换后输出帧发送到编码器。
13. 如权利要求12所述的方法,其中,所述编码器是MPEG1编码 器、MPEG2编码器、MPEG4编码器和AVC编码器之一。
14. 一种由具有处理单元的设备使用的制品,该制品包括至少一种计算机可用介质,包括嵌入其中的至少一个计算机程序,所 述至少一个计算机程序适于使所述设备执行以下步骤将输入帧分解成一个辉度帧和两个色度帧,其中,所述辉度帧具 有多个辉度像素并且所述两个色度帧中的每个都具有多个色度像素;基于所述多个辉度像素中的每个来重排序所述多个辉度像素,以 生成具有多个转换后的辉度像素的转换后辉度帧;创建映射,该映射描述所述辉度帧的多个辉度像素和所述转换后辉度帧的多个转换后的辉度像素之间的关系;根据所述映射来重排序所述两个色度帧中的每个的多个色度像 素,以生成两个转换后色度帧;以及将所述转换后辉度帧和所述两个转换后色度帧合成以生成转换后 输出帧。
15. —种系统,包括具有能够执行软件例程的处理单元的设备,以及由所述处理单元执行 的编程逻辑,其中,所述编程逻辑包括用于将输入帧分解成一个辉度帧和两个色度帧的装置,其中,所 述辉度帧具有多个辉度像素并且所述两个色度帧中的每个都具有多个 色度像素;用于基于所述多个辉度像素中的每个来重排序所述多个辉度像素 以生成具有多个转换后的辉度像素的转换后辉度帧的装置;用于创建映射的装置,所述映射描述所述辉度帧的多个辉度像素 和所述转换后辉度帧的多个转换后的辉度像素之间的关系;用于根据所述映射来重排序所述两个色度帧中的每个的多个色度 像素以生成两个转换后色度帧的装置;以及用于将所述转换后辉度帧和所述两个转换后色度帧合成以生成转 换后输出帧的装置。
16. —种方法,包括将第一输入帧分解成第一辉度帧和第一多个色度帧,所述第一辉度帧 具有第一多个辉度像素,并且所述第一多个色度帧中的每个都具有第一多 个色度像素;基于所述第一多个辉度像素中的每个来重排序所述第一多个辉度像 素,以生成具有第一多个转换后辉度像素的第一转换后辉度帧;创建第一映射,该第一映射描述所述第一辉度帧的所述第一多个辉度 像素和所述第一转换后辉度帧的所述第一多个转换后辉度像素之间的关 系;根据所述映射来重排序所述第一多个色度帧中的每个中的所述第一多个色度像素,以生成第一多个转换后色度帧;将所述第一转换后辉度帧和所述第一多个转换后色度帧合成,以生成 第一转换后输出帧;将第二输入帧分解成第二辉度帧和第二多个色度帧,所述第二辉度帧 具有第二多个辉度像素,并且所述第二多个色度帧中的每个都具有第二多个色度像素;根据所述第一映射来重排序所述第二多个辉度像素,以生成第二转换 后辉度帧;根据所述第一映射来重排序所述第二多个色度帧中的每个中的所述第 二多个色度像素,以生成第二多个转换后色度帧;以及将所述第二转换后辉度帧和所述第二多个转换后色度帧合成,以生成 第二转换后输出帧。
17. 如权利要求16所述的方法,还包括对所述第一映射进行编码以 生成第一经压縮映射。
18. 如权利要求17所述的方法,其中,所述第一映射被用可变长度 编码算法编码。
19. 如权利要求17所述的方法,其中,所述第一映射被用内容自适 应可变长度编码算法和内容自适应二进制算术编码算法之一编码。
20. 如权利要求16所述的方法,还包括 对所述第一映射进行编码以生成第一经压縮映射; 将所述第一经压縮映射和所述第一转换后输出帧发送到编码器;以及 将所述第二转换后输出帧发送到所述编码器。
21. —种方法,包括 —将输入帧分解成第一分量帧和多个附加分量帧,其中,所述第一分量 帧和所述多个附加分量帧中的每个都具有多个数据块,并且其中,所述多 个数据块中的每一个都具有多个经分解像素;为所述第一分量帧的所述多个数据块中的每个计算数据块值,其中, 每个数据块值是所述第一分量帧的每个数据块中的所述多个经分解像素的 函数;基于所述第一分量帧的所述多个数据块的数据块值来重排序所述第一 分量帧的所述多个数据块,以生成具有多个转换后数据块的第一转换后 帧;创建映射,该映射描述所述第一分量帧的所述多个数据块和所述第一 转换后帧的所述多个转换后数据块之间的关系;根据所述映射来重排序所述多个附加分量帧的每个中的所述多个数据块,以生成多个附加转换后帧;以及将所述第一转换后帧和所述多个附加转换后帧合成,以生成转换后输 出帧。
22. 如权利要求21所述的方法,其中,所述第一分量帧的所述多个 经分解像素是多个辉度像素。
23. 如权利要求21所述的方法,还包括对所述映射进行编码以生成 经压缩映射。
24. 如权利要求23所述的方法,其中,所述映射被用可变长度编码 算法编码。
25. 如权利要求21所述的方法,还包括 对所述映射进行编码以生成经压縮映射;以及 将所述经压縮映射和所述转换后输出帧发送到编码器。
26. —种方法,包括将输入帧分解成一个辉度帧和两个色度帧,所述辉度帧具有多个辉度 数据块,其中,所述多个辉度数据块中的每个都包含多个辉度像素,并且 所述两个色度帧中的每个都具有多个色度数据块; 为所述多个辉度数据块计算多个数据块值,其中,所述多个数据块值 中的每个都是每个辉度数据块中的所述多个辉度像素的函数;基于所述多个数据块值来重排序所述多个辉度数据块,以生成具有多 个转换后的辉度数据块的转换后辉度帧;创建映射,该映射描述所述辉度帧的所述多个辉度数据块和所述转换 后辉度帧的所述多个转换后的辉度数据块之间的关系;根据所述映射来重排序所述两个色度帧的每个中的所述多个色度数据 块,以生成两个转换后色度帧;以及将所述转换后辉度帧和所述两个转换后色度帧合成,以生成转换后输
27. 如权利要求26所述的方法,还包括对所述映射进行编码以生成 经压縮映射。
28. 如权利要求27所述的方法,其中,所述映射被用可变长度编码 算法编码。
29. 如权利要求26所述的方法,还包括 对所述映射进行编码以生成经压縮映射;以及 将所述经压縮映射和所述转换后输出帧发送到编码器。
30. —种由具有处理单元的设备使用的制品,所述制品包括 至少一种计算机可用介质,包括嵌入其中的至少一个计算机程序,所述至少一个计算机程序适于使所述设备执行以下步骤将输入帧分解成一个辉度帧和两个色度帧,所述辉度帧具有多个 辉度数据块,其中,所述多个辉度数据块中的每个都包含多个辉度像素,并且其中,所述两个色度帧中的每个都具有多个色度数据块; 为所述多个辉度数据块计算多个数据块值,其中,所述多个数据 块值中的每个数据块值是每个辉度数据块中的所述多个辉度像素的函 数;基于所述多个数据块值来重排序所述多个辉度数据块,以生成具 有多个转换后的辉度数据块的转换后辉度帧;创建映射,该映射描述所述辉度帧的所述多个辉度数据块和所述 转换后辉度帧的所述多个转换后的辉度数据块之间的关系;根据所述映射来重排序所述两个色度帧的每个中的所述多个色度 数据块,以生成两个转换后色度帧;以及将所述转换后辉度帧和所述两个转换后色度帧合成,以生成转换后输出帧。
31. —种系统,包括具有能够执行软件程序的处理单元的设备,以及由所述处理单元执行 的编程逻辑,其中,所述编程逻辑包括用于将输入帧分解成一个辉度帧和两个色度帧的装置,所述辉度 帧具有多个辉度数据块,其中,所述多个辉度数据块中的每个都包含多个辉度像素,并且其中,所述两个色度帧中的每个都具有多个色度数据块; 用于为所述多个辉度数据块计算多个数据块值的装置,其中,所 述多个数据块值中的每个数据块值是每个辉度数据块中的所述多个辉 度像素的函数;用于基于所述多个数据块值来重排序所述多个辉度数据块以生成 具有多个转换后的辉度数据块的转换后辉度帧的装置;用于创建映射的装置,所述映射描述了所述辉度帧的所述多个辉 度数据块和所述转换后辉度帧的所述多个转换后的辉度数据块之间的 关系;用于根据所述映射来重排序所述两个色度帧的每个中的所述多个 色度数据块以生成两个转换后色度帧的装置;以及用于将所述转换后辉度帧和所述两个转换后色度帧合成以生成转 换后输出帧的装置。
32. —种方法,包括将转换后的数据帧分解成一个转换后辉度帧和两个转换后色度帧,其 中,所述转换后辉度帧和所述两个转换后色度帧每个都包括基于像素辉度 值在每个帧内排序的转换后像素数据;根据映射来对所述转换后辉度帧和所述两个转换后色度帧进行逆转 换,以创建一个重构辉度帧和两个重构色度帧,其中,所述映射描述所述 转换后辉度帧的所述转换后像素数据和原始辉度帧的原始像素数据之间的 关系;以及将所述重构辉度帧和所述两个重构色度帧合成,以生成重构合成帧。
33. 如权利要求32所述的方法,其中,所述映射是解码后映射,所 述方法还包括对经压縮映射进行解码,以生成所述解码后映射。
34. 如权利要求33所述的方法,其中,所述经压縮映射被用可变长 度解码算法解码。
35. 如权利要求33所述的方法,其中,所述经压縮映射被用内容自 适应可变长度解码算法和内容自适应二进制算术解码算法解码。
36. —种由具有处理单元的设备使用的制品,所述制品包括 至少一个计算机可用介质,包括嵌入其中的至少一个计算机程序,所述至少一个计算机程序适于使所述设备执行以下步骤-将转换后的数据帧分解成一个转换后辉度帧和两个转换后色度 帧,其中,所述转换后辉度帧和所述两个转换后色度帧每个都包括基 于像素辉度值在每个帧内排序的转换后像素数据;根据映射来对所述转换后辉度帧和所述两个转换后色度帧进行逆 转换,以创建一个重构辉度帧和两个重构色度帧,其中,所述映射描 述所述转换后辉度帧的所述转换后像素数据和原始辉度帧的原始像素 数据之间的关系;以及将所述重构辉度帧和所述两个重构色度帧合成以生成重构合成
37. —种系统,包括具有能够执行软件程序的处理单元的设备,以及由所述处理单元执行的编程逻辑,其中所述编程逻辑包括用于将转换后的数据帧分解成一个转换后辉度帧和两个转换后色 度帧的装置,其中,所述转换后辉度帧和所述两个转换后色度帧每个都包括基于像素辉度值在每个帧内排序的转换后像素数据;用于根据映射来对所述转换后辉度帧和所述两个转换后色度帧进行逆转换以创建一个重构辉度帧和两个重构色度帧的装置,其中,所述映射描述所述转换后辉度帧的所述转换后像素数据和原始辉度帧的原始像素数据之间的关系;以及用于将所述重构辉度帧和所述两个重构色度帧合成以生成重构合成帧的装置。
全文摘要
通过在将数据发送到编码算法(例如,MPEG算法)之前在预处理模块中提高该数据的空间和时间相关性来实现额外的数据压缩。输入数据帧被分解成一个辉度帧和两个色度帧。基于辉度帧内的多个辉度像素中的每个来转换该辉度帧,以生成具有多个转换后的辉度像素的转换后辉度帧。描述辉度帧的多个辉度像素和转换后辉度帧的多个转换后辉度像素之间的关系的映射被生成。根据这种映射来转换所述两个色度帧,以生成两个转换后色度帧。转换后的辉度帧和两个转换后的色度帧被合成,从而生成转换后输出帧。
文档编号H04N11/04GK101283605SQ200680037215
公开日2008年10月8日 申请日期2006年10月4日 优先权日2005年10月6日
发明者普里彦·德瓦卡·甘塔堤雷克 申请人:索尼电子有限公司;索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1