首页 / 专利库 / 多媒体工具与应用 / 视频编码 / 使用像素流执行视频编码

使用像素流执行视频编码

阅读:139发布:2024-01-11

专利汇可以提供使用像素流执行视频编码专利检索,专利查询,专利分析的服务。并且视频流 包括多个连续 像素 帧 。一种处理所述视频流的方法包括以下步骤:针对帧中的每个像素,从每个帧提取包括该特定像素的 颜色 分量的像素数据流;针对每个像素数据流,执行将所述像素数据流变换成多个细节分量;从每个变换后的像素数据流收集定义相应像素数据流的最低级别细节的细节分量;将所收集的最低级别细节分量连续存储在主 块 中;以及生成包含其余细节分量的一个或多个附加块。,下面是使用像素流执行视频编码专利的具体信息内容。

1.一种处理包括多个连续像素视频流的方法,所述方法包括以下步骤:
针对帧中的每个像素,从每个帧提取包括该特定像素的颜色分量的像素数据流,针对每个像素数据流,执行将所述像素数据流变换成多个细节分量,
从每个变换后的像素数据流收集定义相应像素数据流的最低级别细节的细节分量,将所收集的最低级别细节分量连续存储在主中,以及
生成包含其余细节分量的一个或多个附加块。
2.如权利要求1中所述的方法,还包括:在针对每个像素数据流,执行将所述像素数据流变换成多个细节分量之前,将所述像素的颜色分量转换成亮度色度格式。
3.如权利要求1或2中所述的方法,其中所述针对每个像素数据流,执行将所述像素数据流变换成多个细节分量的步骤包括:对每个像素数据流执行连续离散小波变换
4.如权利要求1、2或3中所述的方法,还包括:将包括有关原始视频流的信息的元数据存储在所述主块中。
5.如任一上述权利要求中所述的方法,还包括:
接收音频流
将所述音频流分离成限频流,
针对每个限频流,执行将所述限频流变换成多个音频细节分量,
从每个变换后的限频流收集定义相应限频流的最低级别细节的细节分量,将所收集的最低级别音频细节分量存储在所述主块中,以及
生成包含其余音频细节分量的一个或多个附加块。
6.如任一上述权利要求中所述的方法,还包括:在生成包含其余细节分量的一个或多个附加块之前,压缩所述其余细节分量以消除数据冗余。
7.一种用于处理包括多个连续像素帧的视频流的系统,所述系统包括处理器,所述处理器被配置为执行以下步骤:
针对帧中的每个像素,从每个帧提取包括该特定像素的颜色分量的像素数据流,针对每个像素数据流,执行将所述像素数据流变换成多个细节分量,
从每个变换后的像素数据流收集定义相应像素数据流的最低级别细节的细节分量,将所收集的最低级别细节分量连续存储在主块中,以及
生成包含其余细节分量的一个或多个附加块。
8.一种位于计算机可读介质上的用于处理包括多个连续像素帧的视频流的计算机程序产品,所述产品包括执行以下步骤的指令:
针对帧中的每个像素,从每个帧提取包括该特定像素的颜色分量的像素数据流,针对每个像素数据流,执行将所述像素数据流变换成多个细节分量,
从每个变换后的像素数据流收集定义相应像素数据流的最低级别细节的细节分量,将所收集的最低级别细节分量连续存储在主块中,以及
生成包含其余细节分量的一个或多个附加块。
9.一种产生包括多个连续像素帧的视频流的方法,所述方法包括以下步骤:
接收连续存储最低级别细节分量的主块和包含其余细节分量的一个或多个附加块,构建多个变换后的像素数据流,每个变换后的像素数据流包括最低级别细节分量和一个或多个其余细节分量,
针对每个变换后的像素数据流,执行将所述变换后的像素数据流逆变换成包括来自每个帧的特定像素的颜色分量的像素数据流,以及
通过从每个像素数据流提取特定帧的像素数据而生成帧。
10.如权利要求9中所述的方法,其中针对每个变换后的像素数据流,执行将所述变换后的像素数据流逆变换成像素数据流包括:对每个变换后的像素数据流执行连续逆离散小波变换
11.如权利要求9或10中所述的方法,还包括:从所述主块提取包括有关原始视频流的信息的元数据,以及根据所提取的元数据执行构建和/或执行步骤。
12.如权利要求9、10或11中所述的方法,还包括:
从所述主块提取最低级别音频细节分量和包含其余音频细节分量的一个或多个附加块,
构建多个变换后的限频流,每个变换后的限频流包括最低级别音频细节分量和一个或多个其余音频细节分量,
针对每个变换后的限频流,执行将所述变换后的限频流逆变换成限频流,以及通过组合所述限频流而生成音频输出。
13.如权利要求9至12中的任一权利要求中所述的方法,其中构建多个变换后的限频流,每个变换后的限频流包括最低级别音频细节分量和一个或多个其余音频细节分量的步骤包括:确定一个或多个其余细节分量缺失并且使用一串0替换一个或每个缺失的细节分量。
14.如权利要求9至13中的任一权利要求中所述的方法,其中通过从每个像素数据流提取特定帧的像素数据而生成帧包括:确定像素数据未被完全重构的像素以及根据邻近像素的像素数据内插所确定像素的像素数据。
15.一种用于产生包括多个连续像素帧的视频流的系统,所述系统包括处理器,所述处理器被配置为执行以下步骤:
接收连续存储最低级别细节分量的主块和包含其余细节分量的一个或多个附加块,构建多个变换后的像素数据流,每个变换后的像素数据流包括最低级别细节分量和一个或多个其余细节分量,
针对每个变换后的像素数据流,执行将所述变换后的像素数据流逆变换成包括来自每个帧的特定像素的颜色分量的像素数据流,以及
通过从每个像素数据流提取特定帧的像素数据而生成帧。
16.一种位于计算机可读介质上的用于产生包括多个连续像素帧的视频流的计算机程序产品,所述产品包括执行以下步骤的指令:
接收连续存储最低级别细节分量的主块和包含其余细节分量的一个或多个附加块,构建多个变换后的像素数据流,每个变换后的像素数据流包括最低级别细节分量和一个或多个其余细节分量,
针对每个变换后的像素数据流,执行将所述变换后的像素数据流逆变换成包括来自每个帧的特定像素的颜色分量的像素数据流,以及
通过从每个像素数据流提取特定帧的像素数据而生成帧。
17.一种包括程序代码装置的计算机程序,当所述程序在计算机上运行时,所述程序代码装置适于执行如权利要求1至14中的任一权利要求中所述的方法。

说明书全文

使用像素流执行视频编码

[0001] 本发明涉及一种用于处理视频流的方法、系统和计算机程序产品。
[0002] 诸如LCD显示设备之类的设备所显示的图像由像素数据构成,所述像素数据在每个像素级上定义该显示设备的输出。像素数据可以不同方式设置格式,例如,传统上使用RGB色阶定义实际像素的最终颜色。通过每秒显示大量单个图像()以呈现移动错觉来生成移动图像(视频)。视频可能例如需要每秒15、25或30个帧,具体取决于所使用的视频格式。源视频和显示设备不断增加的分辨率(每帧的像素)意味着影片之类的给定视频流具有大量像素数据,并且还意味着需要更高带宽(每秒传输的数据量)以例如在广播域内将视频数据从一个位置传输到另一位置。
[0003] 为了降低数据和带宽需求,通常对原始帧和像素数据使用视频压缩。视频压缩在丝毫不影响观看者最终收看质量的情况下减少所提供的数据量。视频压缩的工作基于单个帧内以及帧之间存在大量数据冗余。例如,当在视频中每秒使用多个帧时,很可能存在许多帧与先前的帧非常类似的情况。视频压缩已实现标准化并且当前的通用标准是MPEG-2,其在数字广播电视以及DVD中采用。此标准大幅减少了从每个原始像素数据提供给最终压缩后的视频流的数据量。
[0004] 大型媒体文件(包含视频和音频)通过因特网频繁传输。所谓“按需点播”高清视频内容服务的出现给中央服务器带来了巨大压,因此引入了点对点(P2P)文件传输的概念,以便在所有参与方之间共享负载。例如,目前在BBC iPlayer下载业务中使用此技术。但是,当前视频和音频编码器的面向流的方法不能很好地与P2P传输的随机访问分发方法兼容。对于给定压缩方法,使用目前的方法对部分完整的媒体文件进行解码会导致部分内容达到最佳质量,而其他部分无任何信息。
[0005] 因此,本发明的目标是对公知技术进行改进。
[0006] 根据本发明的第一方面,提供一种处理包括多个连续像素帧的视频流的方法,所述方法包括以下步骤:针对帧中的每个像素,从每个帧提取包括该特定像素的颜色分量的像素数据流;针对每个像素数据流,执行将所述像素数据流变换成多个细节分量;从每个变换后的像素数据流收集定义相应像素数据流的最低级别细节的细节分量;将所收集的最低级别细节分量连续存储在主中;以及生成包含其余细节分量的一个或多个附加块。
[0007] 根据本发明的第二方面,提供一种用于处理包括多个连续像素帧的视频流的系统,所述系统包括处理器,所述处理器被配置为执行以下步骤:针对帧中的每个像素,从每个帧提取包括该特定像素的颜色分量的像素数据流;针对每个像素数据流,执行将所述像素数据流变换成多个细节分量;从每个变换后的像素数据流收集定义相应像素数据流的最低级别细节的细节分量;将所收集的最低级别细节分量连续存储在主块中;以及生成包含其余细节分量的一个或多个附加块。
[0008] 根据本发明的第三方面,提供一种位于计算机可读介质上的用于处理包括多个连续像素帧的视频流的计算机程序产品,所述产品包括执行以下步骤的指令:针对帧中的每个像素,从每个帧提取包括该特定像素的颜色分量的像素数据流;针对每个像素数据流,执行将所述像素数据流变换成多个细节分量;从每个变换后的像素数据流收集定义相应像素数据流的最低级别细节的细节分量;将所收集的最低级别细节分量连续存储在主块中;以及生成包含其余细节分量的一个或多个附加块。
[0009] 根据本发明的第四方面,提供了一种产生包括多个连续像素帧的视频流的方法,所述方法包括以下步骤:接收连续存储最低级别细节分量的主块和包含其余细节分量的一个或多个附加块;构建多个变换后的像素数据流,每个变换后的像素数据流包括最低级别细节分量和一个或多个其余细节分量;针对每个变换后的像素数据流,执行将所述变换后的像素数据流逆变换成包括来自每个帧的特定像素的颜色分量的像素数据流;以及通过从每个像素数据流提取特定帧的像素数据而生成帧。
[0010] 根据本发明的第五方面,提供一种用于产生包括多个连续像素帧的视频流的系统,所述系统包括处理器,所述处理器被配置为执行以下步骤:接收连续存储最低级别细节分量的主块和包含其余细节分量的一个或多个附加块;构建多个变换后的像素数据流,每个变换后的像素数据流包括最低级别细节分量和一个或多个其余细节分量;针对每个变换后的像素数据流,执行将所述变换后的像素数据流逆变换成包括来自每个帧的特定像素的颜色分量的像素数据流;以及通过从每个像素数据流提取特定帧的像素数据而生成帧。
[0011] 根据本发明的第六方面,提供一种位于计算机可读介质上的用于产生包括多个连续像素帧的视频流的计算机程序产品,所述产品包括执行以下步骤的指令:接收连续存储最低级别细节分量的主块和包含其余细节分量的一个或多个附加块;构建多个变换后的像素数据流,每个变换后的像素数据流包括最低级别细节分量和一个或多个其余细节分量;针对每个变换后的像素数据流,执行将所述变换后的像素数据流逆变换成包括来自每个帧的特定像素的颜色分量的像素数据流;以及通过从每个像素数据流提取特定帧的像素数据而生成帧。
[0012] 使用本发明,可以提供支持通过主块生成整个视频流的视频处理方法,在这种方法中,所有附加块改进视频流的质量,并且无需以任何特定顺序接收附加块。本发明使得通过按像素寿命编码进行视频传输成为可能。通过考虑整个源素材上的单个像素寿命,可以实现逐次逼近。这些逼近使得能够在整部电影中通过非常少的种子信息估计(可能不准)像素颜色。
[0013] 为了理解本发明的原理,在一般实现中,考虑发送像素的开始颜色和结束颜色。然后,对于影片中的任意帧,可通过线性插值来计算值。如果现在添加中点像素值,影片前半部分的所有值和后半部分的所有值现在可能稍微接近。通过添加四分位数(quartile),现在可以生成原始信号的更接近近似。很明显这优于开始的方法,因为最初只知道两个像素忠于原始信号,现在知道五个像素忠于原始信号。但是,如果只有第二四分位像素而没有第一四分位像素,则只有视频流的后半部分更准确。这是使用随机接收的数据生成源信号的更忠实重构,同时随时能够生成某种输出信号的概念基础
[0014] 除了能够通过随机访问传输机制构建完整的视频流之外,此方法的另一主要优点是能够执行流处理和/并行处理。在使用基于帧的流序列时,编码和解码一般非常依赖于先前结果。使用本发明,不仅所有像素相互独立,而且除了在很容易识别的交叉点处,编码器和解码器还可以相互独立地在同一时间序列上工作。
[0015] 优选地,所述针对每个像素数据流,执行将所述像素数据流变换成多个细节分量的步骤包括:对每个像素数据流执行连续离散小波变换。一种将像素数据流变换成细节分量的有效方法是使用离散小波变换从所述像素数据流提取各级别的细节。每次经过离散小波变换都会将数据分离成原始数据的近似值(最低级别细节)和定义更高级别细节的局部信息。可从最低级别细节重构原始像素数据流,而每个附加细节信息片段提高最终结果的质量和精确度。
[0016] 有利地,本发明还包括:接收音频流;将所述音频流分离成限频流;针对每个限频流,执行将所述限频流变换成多个音频细节分量;从每个变换后的限频流收集定义相应限频流的最低级别细节的细节分量;将所收集的最低级别音频细节分量存储在所述主块中;以及生成包含其余音频细节分量的一个或多个附加块。
[0017] 音频数据可以被视为整个视频序列中的单个信号(或者更准确地说,两个立体声信号,六个5.1环绕声信号)。但是初始测试显示按频率分割信号和对若干不同频段进行编码会生成更完美的效果。同样,将视频信号从RGB分量变换成YCbCr允许使用丢弃一半颜色信息,同时保留在视觉上更重要的亮度信息的常用视频编码技巧。
[0018] 检查得到的小波变换空间将发现其中亮度(Y')和色度(CbCr)并不迅速改变的大型区域,这由变换的高细节区域中的一系列0表示。本质上,在与核函数(kernel)进行卷积时,这些0不会对得到的重构产生影响,从而对给定像素的总和产生零影响。这类似于对变化缓慢的信号使用极高采样率。此外,在知觉重构时可以不需要某些在完美重构时所需的非零信息。也就是说,如果对基础信号的校正并不明显调整信号,则可以忽略此校正。这会在小波空间中再次显示为较小值,因为它们对重构信号的整体影响也会相应地变小。通过截去低值,可以丢弃进一步的信息。
[0019] 由于能够在任意级别设置丢弃数据的阈值,因此,此编码机制可用于压缩任何信号,不用考虑最低为每信号15至25次(介于3×内核宽度/2与5×内核宽度/2之间的数)采样的长度,因而不用考虑整部影片的几千字节的顺序,根据应用的不同,真正达到无损或感知无损。可以构想许多方案,其中使用有限带宽获取低质量视频,但能够添加进一步细节而无需重传将是有用的,例如,判定是丢弃还是接收来自火星探测器的视频。
[0020] 在一种优选实施方式中,使用朴素阈值滤波器,但也可使用任何图像和信号处理“重要性”算法,其中例如包括在例如显示广告或演职员表期间丢弃细节,并且在例如动作场景中提供更多带宽的自适应算法。这是可能的,因为对于小波空间中的给定样本,可以精确地确定该样本通过原始流中的哪些样本导出并且在重构期间产生影响。
[0021] 得到的分解集可以相互附加,并编码为稀疏向量以便传输。将忽略一系列不重要数据(0或低于阈值),然后在看到重要数据时立即存储其偏移,并存储后续不重要数据流之前的所有数据。然后,在假设小波空间多数为0的情况下,此带有偏移开销的编码将比传输原始信号中存在的一长串0更高效。
[0022] 为了构建编码的视频,将编写包含各种元数据(高度、宽度、标题、帧计数等)的标头,后跟允许在任何时间代码处粗略构建任何像素/音频信道的种子数据。此后,可以在文件的其余部分随机分布包括小波空间偏移和重要数据的组块(chunk)。
[0023] 当前P2P应用可以优先处理文件的第一段,因此可以合理地保证存在带有全部此种子信息的区段(section)。之后,来自文件其余部分的任何其他随机数据样本将提供有关电影中(随机)像素/音轨的进一步细节。此方法的随机访问特性意味着必须将数据的完整副本存储在存储器中,因为解码单个帧与解码整个电影一样困难。但是,随着现代图形卡内存接近2GB,并且诸如Cell之类的流处理器接近320G/秒的带宽,这不被看作一个限制因素,尤其是在利用此方法提供的并行流处理功能之后。
[0024] 现在仅通过实例的方式参考附图描述本发明的各实施例,这些附图是:
[0025] 图1至3是处理视频流的示意图,
[0026] 图4是视频流的分发路径的示意图,
[0027] 图5至10是处理视频流的一个优选实施例的示意图,以及
[0028] 图11和12是重构视频流的一个优选实施例的示意图。
[0029] 图1示出本发明的原理,其中显示包括具有像素12的多个连续帧10的视频流。在该实例中,视频流包括九个帧10,每个帧具有四个像素12。示出该实例是为了阐述执行视频流处理的原理。在实际中,待处理的视频流将包括成千上万个帧,并且每个帧将包括成千上万个像素。例如,高清影片包含近180000个单个帧,每个帧包括1920×1080个像素(每个单个帧内的像素宽度乘以像素高度)。
[0030] 每个帧10中的四个像素12用P1至P4编号,尽管一般将用x和y坐标寻址像素。因此,帧1包括四个像素F1P1、F1P2、F1P3和F1P4。后续帧10也具有四个使用同一方法编号的像素。假设每个帧10具有相同数量的以相同宽度×高度矩阵表示的像素。每个像素
12包括定义每个像素12最终显示时的实际颜色的颜色分量。这些分量可以是红、绿和蓝值(RGB),它们定义像素内颜色分量的相对强度。在诸如LCD显示设备之类的显示设备中,每个像素由根据像素数据12控制的红、绿和蓝三种颜色输出来表示。
[0031] 图1示出视频流的处理的第一阶段。其中针对帧10中的每个像素12,从每个帧10提取包括特定像素12的颜色分量的像素数据流14。由于帧10中有四个像素12,因此一旦此提取过程完成,便会有四个像素数据流14。本质上,此步骤将视频流从按帧表示切换为按像素表示。每个像素数据流14包含所有帧10表示的整个视频序列中的特定像素12的颜色信息。
[0032] 图2示出下一处理阶段,其中针对每个像素数据流14,执行将像素数据流14变换成包括多个细节分量18的变换后的像素数据流16。来自图1的四个像素数据流14中的每个像素数据流如图2所示被变换成变换后的像素数据流16。变换后的像素数据流16具有从D1至Dn的细节分量18。细节分量18的数量不必与像素数据流14中的像素12的数量相同,变换后的像素数据流16内的细节分量的数量将取决于变换过程。
[0033] 在此优选实施例中,在变换过程中使用离散小波变换(DWT),这是因为已经证明它在诸如JPEG2000之类的其他应用中很适用。每次经过DWT,源信号都被分割为两个部分;一个近似信号和一个细节信号。非常快速地对该近似信号执行连续DWT将缩短该信号的长度。例如经过10次DWT之后,近似信号的长度变为原始信号长度的1/1000,然而仍可使用该近似信号和其余九个细节信号(每个信号的长度是上一信号长度的一半,也一直缩短到原始源信号的大约1/1000)完美重构源信号。
[0034] DWT的一个有价值特性是细节层中的信息位于本地。拥有细节信号的一部分在重构期间非常有用,不需整个细节信号,与多项式分解不同。缺失的数据无任何影响,并且可以在重构期间安全地作为0,因此,满足具有随机数据的目标在尝试重构视频流的给定帧时很有用。在变换后的像素数据流16中,细节分量18是包含最低级别细节的近似信号,并且其余细节分量18b至18n是在每次经过变换时去除的细节信号。
[0035] 一旦执行处理每个像素数据流14,从而将每个流14变换成变换后的像素数据流16,该处理将继续下去,如图3所示。将从每个变换后的像素数据流16收集定义相应像素数据流14的最低级别细节的细节分量18a并且这些细节分量连续存储在主块20中作为最低级别细节分量18a的集合。细节分量P1D1至P4D1被放到一起并存储在主块20中。理论上,此块20包含重建整个原始视频流的足够信息。块20可以是单个文件,也可以是数据库表项。
[0036] 块20还被示为包括标头22,并且标头22可用于存储有关块20的其余部分的元数据。例如,诸如帧10的数量和/或每帧10中包含的像素12的数量之类信息可以包括在标头22中。当使用原始主块20创建将在适当显示设备上显示的视觉输出时,过程的解码端可能需要此信息。其他信息可能包括原始视频序列的帧速率以及有关导致创建主块20的特定处理方法的数据,例如,所使用的DWT的细节。一旦在传输路径的解码端传输和接收块20,标头22便可被适当的解码器访问并且用于解压缩块20的其余部分。
[0037] 图2的变换过程中创建的数据的其余部分也可以放在一起,这是生成包含其余细节分量的一个或多个进一步块的过程。一旦收集图3的上半部分示出的细节分量并将它们放置在主块20中,其余细节分量就散布在其他块中。无需将此信息以任何顺序放置,仅将标识符包括在每个细节分量中以便识别细节分量所属的像素和变换级别。这些包含其余细节分量的块也将在传输路径的解压缩端使用。
[0038] 图4示出如何针对帧的视频流24实现传输路径的一个实例。如以上描述的,在处理设备26上处理视频流24,可以使用专用硬件进程或使用诸如DVD之类的计算机可读介质上的计算机程序产品或使用二者的组合来进行所述处理。处理设备26的输出是主块20和附加块28。一般而言,将存在大量附加块28,在实际实现中,较多文件比较少文件更好。由连接到诸如因特网之类的网络32的服务器存储这些块20和28。
[0039] 服务器30提供按需点播服务,允许通过主块20和附加块28访问原始视频流24。客户端计算机34可以连接到网络32并从服务器30访问主块20和附加块28。一旦客户端计算机34下载了主块20,则在理论上,客户端计算机34便可提供整个视频序列24的视频输出,尽管实际上还可能需要30%的附加块28才能创建可接受的足够质量的输出。可以以相同方式处理和存储与原始视频序列24关联的音频分量,这将在下面详细介绍。
[0040] 图4中示出的分发路径也可以利用P2P技术。客户端设备34无需与服务器30通信或从服务器30接收信息即可访问原始视频序列24。例如,其他连接的客户端设备可以以标准的P2P方式将块20和28中的一个或多个直接传送到客户端设备34。客户端设备34被示为传统桌面计算机,但也可以是具有必要连接以及处理和显示功能的任何设备,例如移动电话或手持式计算机。在解压缩(或更准确地说是重构)原始视频24之后在本地设备34上呈现原始视频序列。
[0041] 为了便于理解,上面参考图1至3描述的处理涉及视频序列24的简化处理模型。现在将描述视频序列24的更详细处理版本,此版本在最大化视频序列24的压缩方面提供更佳的效果并且交付在实际商业环境中提供工作解决方案时所需的数据。此处理从图5开始。视频序列24表示为一系列帧10,帧编号在图中从左到右增大。在单个帧10中,帧行按降序编号,行0是单个帧10的顶部行,行n是帧10的底部行(实际编号取决于帧10的分辨率)。每个帧10被分割为像素行36并且每个像素行36附加到对应于该行编号的文件。这些文件中的每列是视频序列24中像素的颜色分量38的寿命。将提取每个像素并将其从采取RGB格式的由字节组成的颜色分量38转换为浮点[0.0-1.0]YCbCr格式。
[0042] 图6的顶部示出一个像素的寿命亮度和颜色数据。这是单个像素在整个视频序列24期间的颜色分量。对于原始视频序列24中的每个像素,将存在类似于此的YCbCr流14。
然后对每个数据流14执行连续离散小波变换以产生变换后的像素数据流16。优选使用的小波是逆双正交4.4小波,该小波可以提供视觉上令人满意的效果。在对每个流14执行多次DWT之后,得到的变换后的像素数据流16包括细节分量18,具有由小波变换表示的不断增大的细节级别。
[0043] 一旦将所有像素数据流14转换为变换后的像素数据流16,便针对要编码到主块20内的所有流收集所有0级信息(Y、Cb、Cr、音频),如图7所示。数据被量化并在标头块22之后连续存储在主块20中。由于在从浮点到字节的量化期间必须表示很宽范围的值,有利地应使用诸如压扩(companding)之类的非线性方法。标头块22包含有关原始视频序列24和处理方法的元数据。
[0044] 在应用类似的DWT过程之前,音频数据必须被转换为单个通道(例如,左声道、右声道、左环绕声道、重低音声道)。由于部分重构声音报警大多数仅使用低频数据,因此在执行连续DWT过程之前,使用心理-声学模型将音频分为在有限频率内的若干更多数据流。此信息可以例如由LZA压缩进一步压缩以削减关键块的大小。如果仍然可以通过部分数据重构,则对于流数据的其余部分而言,不可能执行这种后续压缩。此信息作为0级音频数据44存储在主块20中。
[0045] 其余数据集18b等的填充变得越来越稀疏并且在缺失某些部分的情况下对最终重构的影响减少。通过量化、跳过稀疏区域以及熵编码实现压缩。按照分解级别使用不同参数将产生最佳方法。由于参数必须存储在标头22中以防止对文件随机访问区域中数据的依赖,因此针对每个分解级别使用文件范围的设置而非基于流的设置,从而使标头22的大小减小。Cb和Cr数据一般可以非常接近。
[0046] 有必要量化每个分解级别18,如图8所示,其中处理细节“Y4”。在量化之后,生成量化后的细节46。然后处理此细节46以查找重要串并跳过0。一般在量化之后都存在连续的一串0。找到重要数据串,其中某些可能包含0。在开始新块之前最多合并多少个0由块前缀大小以及熵编码之后数据的大小确定。块大小的实际上限是在传输期间使用的工作单元的大小。将细节分量46连成一串并用前缀48进行标记。
[0047] 前缀48始于标记0x00(0x00不能出现在任何编码数据中)、流编号、分解层或偏移(因此被保留用于此功能)。流编号是识别与数据相关的Y/Cb/Cr/音频流的手段。它在从该流导出的所有分解层之间共享。为避免出现0x0000,将值范围限于30位表示,然后分为包含15位的组,且1位在串行化期间作为填充(padding),从而确保一行中不会存在16个0位的序列。偏移数据定义深入分解层多远出现该块的第一成员。
[0048] 然后例如使用区分符号的指数哥伦布编码对每个数据区段46执行熵编码。这在图9中示出,其中对数据区段46执行熵编码(其中在编码双射到[0,252]的量化值[126,126]时防止出现0x0000,因为在编码128之后以及在编码任何其他大于127的数之前,最多可以出现15个0位)。因此,最终结果是将流编码为1x12字节前缀48和6字节熵编码数据46,而非2x12字节前缀48和4字节熵编码数据。在该实例中,0序列的长度约为96才能导致转换。
[0049] 现在完成原始视频序列24的处理。图10示出处理完视频序列24之后的最终数据结构。所有其他数据块以随机顺序集合在一起并写入磁盘作为附加块28。可以使用P2P技术/其他机制分发数据,其中主要数据区段的随机部分可能丢失,但是主块20的关键数据(标头、0级数据)不会丢失。通过优先处理数据的第一区段获取关键数据。数据的其余部分(分量28)继续到达随机块。主数据块20和附加块28可以作为单个文件全部存储在一起,或散布在多个文件之间,具体取决于视频处理的实施方式。
[0050] 传输路径端将显示视频序列24的接收设备34可以通过以相反顺序执行上述过程来解码和播放视频24。接收设备34将具有主块20并将接收一个或多个与视频序列24相关的其他块或数据分组。这在图11中示出,其中接收设备34将检测数据中的0x00、0x00序列。从前缀48中的0x00、0x00序列识别接收的分量50。从前缀48中包含的流编号、分解级别和偏移,可以计算出在何处对小波重构数组的存储器表示中的数据进行解包。
[0051] 在图11的实例中,接收的分量50通过其前缀48被识别为是特定变换后的像素数据流16的Y4细节分量18e。Y4细节分量18e从熵编码解码,并从量化后的字节转换回浮点表示。Y4被填充以0(在接收分量50之前),现在它的某些部分(或它的更多部分,甚至是它的全部)具有有用数据。从主块20的关键数据已可完整提供Y0。Y3例如仍然全部为0。已确认一个或多个其余细节分量缺失并且它们被代之以一串0。接收设备34将尽最大可能重构数据。由用户选择是否在中等色阶(level)数据缺失时使用高色阶数据,这将改善场景变化检测、音频脆声,但增加了平均误差。
[0052] 解码后的数据流16经历逆离散小波变换。但是,不必完全重构原始信号来针对给定帧编号从数据流获取特定样本。缺失的数据已被填充以0。只要0级数据存在,就始终可以重构某个近似信号。如图12所示,对数据流时间线的特定部分52进行解码只需来自每个分解级别的数据的精确滑动(slither)。但是相应地,最终解码值更多地受低级别分解数据的影响,并且低分解级别中的相同数据滑动用于重构比高级别数据中具有相同宽度的窗口更多的像素。
[0053] 当前最佳估计与其他颜色或音频频率信息进行组合以生成提供给用户的值。还可以利用相关性来内插缺失的值。例如,当前处理的像素12是P5。在转换为RGB以在屏幕上显示之前,提供一个像素值阵列(YcbCr)。已解码的像素具有更高精确度,因为用于其重构的所有数据均可用,例如像素P4和P6。P4和P6的Y分量中所有分解级别的完整数据均存在。如果P5的Y分量已使用来自P5Y0、P5Y1和P5Y2的数据以及P5Y3和P5Y4中的缺失数据重构,但是P4和P6具有完整的Y分量,则由于视频中邻近像素之间的空间关系,基于P4和P6中更准确的Y色阶来调整P5的Y色阶是适合的。此过程识别并未完全重构像素数据的像素,并根据邻近像素的像素数据内插所识别像素的像素数据。
[0054] 要执行的混色(blending)量以及从中采样多少邻近像素将取决于播放期间的空闲计算时间量。由于此步骤依赖于来自其他像素的值,因此不能像计算块那样并行执行。输出必须被放置在附加缓冲区中以避免在计算邻近像素期间污染源数据。其他邻近像素(例如,P2和P8,以及程度较轻的P1、P3、P7和P9)提供与P5混色的进一步的源。也可对先前和将来的帧中的这些邻近像素的值进行采样。在时间和空间上相距更远的邻近像素可以基于它们自己的精确度及与目标像素的距离而与适当的加权一起使用。在YCbCr中执行混色,因为内插这些值通常比针对最终RGB值做出这些调整更能取得令人满意的视觉效果。随着更多数据进入,对于屏幕上更大比例的像素而言,解码的细节和精确度将更高。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈