基于云计算平台的图像序列编码及恢复方法

文档序号:8003457阅读:296来源:国知局
基于云计算平台的图像序列编码及恢复方法
【专利摘要】本发明公开了一种基于云计算平台的图像序列编码及恢复方法,包括:排序阶段,在云计算平台上将图像序列各个帧划分为多个数据块,将数据块进行排序;分割阶段,将排序后数据块分割为多个分块文件;压缩编码阶段,将各个分块文件分发到多个计算节点,由计算节点对分块文件进行压缩编码,存储压缩编码后的文件;解压缩阶段,由各个计算节点读取并解压缩各个压缩编码后的文件,得到解压缩后的文件;图像恢复阶段,将各个解压缩后的文件进行逆排序并存储在云计算平台中。本发明基于云计算平台的图像序列编码及恢复方法适合渲染图像这一类信源数据,各个计算节点在保持分布式编码特性的同时还能有效地利用整个图像序列的全局冗余信息。
【专利说明】基于云计算平台的图像序列编码及恢复方法
【技术领域】
[0001]本发明涉及图像编码及恢复方法,尤其涉及一种基于云计算平台的图像序列编码及恢复方法。
【背景技术】
[0002]云计算被认为是继个人计算机普及,互联网技术之后的第三次IT产业革命。云计算是并行计算、网格计算以及虚拟化、网络等技术的融合,能够提供弹性的计算和存储能力。同时作为一种服务提供给用户的商业模式,使得用户可以根据自己的实际需求方便廉价的完成任务,而不用关注于硬件性能升级维护等与要解决的问题相关性不大的领域。在电影制作领域,通过云计算平台进行处理、存储分发已经成为一种趋势,云渲染使得普通用户有机会利用海量的计算资源完成动画等场景渲染任务。渲染会产生海量的图像数据,无论是用户或者是提供渲染服务的运营商,都希望能够减少数据的存储代价。
[0003]在现有网络传输速率相对较慢的情况下,减少数据的存储空间可以降低数据传输过程中对带宽的依赖程度,从而能够提高服务商的运营效率。对用户来说减少存储代价同样意味着节约用户成本。因此通过数据压缩来减少图像数据的存储空间显得十分有用和必要。
[0004]另一方面,渲染产生的图像数据通常是作为中间数据,需要在后期制作阶段使用,因此不希望在数据压缩过程中存在信息损失。同时对于特定的领域比如医学图像处理以及艺术作品的数字化保持通常也不能容忍数据有丝毫的丢失。传统编码方案存在压缩比低并且当数据量急剧增长时处理时间偏长的问题。
[0005]现有较为常用的无损编码算法包括:哈夫曼编码算法、算术编码算法及基于字典的编码算法,其中基于字典的编码算法与其他压缩编码算法相比,编码及恢复速度较快、实现较为简单,且在数据源较大的情况下具有较好的压缩效果,尤其适用于计算机图像处理。然而,现有技术对渲染图像序列进行的基于字典的压缩编码及恢复是在单机上完成的,由于渲染图像序列所产生的数据庞大,这就使得整个编码及恢复过程缓慢,耗时较长。

【发明内容】

[0006]为了解决图像序列处理时间过长的问题,本发明提供了一种基于云计算平台的图像序列编码及恢复方法,包括以下阶段:
[0007]排序阶段,初始化云计算平台,在所述云计算平台中将待处理图像序列中的每一帧划分为大小相等的多个数据块,并且在各个数据块中建立索引信息,对所有数据块进行排序;
[0008]分割阶段,在所述云计算平台中设定分割策略,将排序后的所有数据块按所述分割策略分割为多个分块文件,存储所有的分块文件,并保留各个分块文件对应的存储路径;
[0009]压缩编码阶段,通过调度将分块文件分发至对应的计算节点,各个计算节点对相应的分块文件进行基于字典的压缩编码,在所述云计算平台中保存压缩编码后的文件,并保留各个压缩编码后的文件所对应的保存路径;
[0010]解压缩阶段,调度计算节点,各个计算节点通过如下两个阶段进行解压缩:
[0011]Map阶段:各个计算节点根据压缩编码阶段中对应的保存路径从云计算平台读取对应的压缩编码后的文件;
[0012]Reduce阶段:采用与压缩编码阶段所采用的压缩编码对应的解压缩方法,将Map阶段得到的所有压缩编码后的文件进行解压缩,得到解压缩后的文件,将所有解压缩后的文件按照分割阶段各个解压缩后的文件所对应的位置关系存储至所述云计算平台;
[0013]图像恢复阶段,所述云计算平台利用排序阶段中保存的相应索引信息,由解压缩后的文件重构图像序列并存储重构后的图像序列。
[0014]通过将图像序列分发到云计算平台中的各个计算节点,由各个计算节点同时对各个分块文件进行基于字典的压缩编码及恢复,极大提高图像序列的压缩及恢复速度;同时由于每一个文件都包含了整个图像序列的全局冗余信息,因而仍然能保持相对较高的压缩比。
[0015]分割阶段中的排序策略为:以帧内编号作为第一排序字段,以各帧的先后次序作为第二排序字段。由于对于给定长度的渲染的图像序列之间相似性较大,因此认为整个序列中相邻帧之间相同位置的数据相似性极大,因此数据块排序时只需将各个帧中处于同样位置的数据排列在一块即可。例如,在具有3帧图像的图像序列中,将每帧图像均分为3个数据块,用Dij表示第i帧图像第j个数据块,则排序后的数据块顺序依次为:Dn,D21, D31,Dl2,D22? D32J D13, D23J D33O.[0016]分割阶段中,分割策略为:预先指定分割数目,根据分割数目均匀分配每个分块文件的大小。为了使得各个计算节点的处理时间相对平衡,对序列较长的图像序列可以分割为较多的分块文件,反之则相反。
[0017]分割阶段中,分割策略为:预先指定每个分块文件的大小,根据分块文件的大小计算分块文件的数目。可以由用户自己指定分块文件的大小,再根据所有分块文件的大小得到总的分块文件数目。
[0018]所述云计算平台采用Hadoop计算框架。采用Hadoop计算框架具有可靠、便于架构等优点,适合用于大量数据的存储和处理。
[0019]所述压缩编码阶段中基于字典的压缩编码算法为LZ77算法。LZ77是传统的基于字典的压缩编码算法。
[0020]所述压缩编码阶段中基于字典的压缩编码算法为LZMA算法。LZMA是对LZ77压缩编码算法的改良,提高了压缩比。
[0021]其中压缩编码阶段及解压缩阶段的调度准则是根据每一个分块文件的压缩比和压缩时间以及所有计算节点完成压缩编码及解压缩的响应时间进行计算节点的分配。根据压缩比和压缩时间以及响应时间进行计算节点的分配,可以充分利用各个计算节点的资源,使图像的压缩编码及解压缩在最高效的情况下进行。
[0022]本发明基于云计算平台的图像序列编码及恢复方法通过将图像序列进行分块并分发到各个计算节点,利用了云计算技术,由多个计算节点同时进行图像的无损编码及恢复处理,提高了图像的编码及恢复速率。【专利附图】

【附图说明】
[0023]图1为本发明一个实施例的分块文件划分方式示意图;
[0024]图2是图1实施例中排序阶段、分割阶段及编码阶段的过程示意图。
【具体实施方式】
[0025]下面结合附图及实施例对本发明作进一步描述。
[0026]图1为本发明一个实施例的分块文件划分方式示意图。
[0027]参照图1和图2,基于云计算平台的图像序列编码及恢复方法包括以下阶段:
[0028]排序阶段,初始化云计算平台,在云计算平台中将待处理图像序列中的每一帧划分为大小相等的多个数据块,并且在各个数据块中建立对应的索引信息,对所有数据块进行排序。
[0029]其中,初始化云计算平台包括:分配计算节点及存储平台,为每一个计算节点分配软硬件资源。本发明基于云计算平台的图像序列编码及恢复方法以Hadoop作为当前实施例云计算平台的计算框架,利用Hadoop分布式文件系统(HDFS)存储图像序列及在对图像序列进行基于字典的压缩编码过程中产生的数据。
[0030]在将图像序列中的每一帧划分为数据块时,数据块大小的选取会影响各个计算节点压缩编码的效率,用户可以根据待压缩编码的序列图像的特征,通过实验的方式选取合适的数据块大小,根据数据块的大小可得到每帧图像被划分的数据块数目。
[0031]图像序列用集合I表示,其中Pi表示图像序列中的第i帧图像,η为图像序列的总帧数,则图像序列如下式所示:
[0032]I= (P1, P2,...Pi,…PJ (I≤ i≤ η)
[0033]将第i帧图像划分为k个数据块,则第i帧图像数据块如下式所示:
[0034]Pi= {Dn, Di2, -Dij, -DiJ (I ≤ j ≤ k,I ≤ i ≤ η)
[0035]Dij表示图像序列中第i帧图像的第j个数据块。
[0036]数据块的大小由用户来设定,当前实施例中每个数据块大小为64KB,按照该数据块大小对图像序列中的每一帧进行分割,例如每一帧被分为16个数据块,即k取值为16。在对图像序列进行划分时,在各个数据块中建立对应的索引信息,其中每个索引信息包括图像序列的长度,图像序列中对应图像帧的路径,图像序列总的分块数目。
[0037]划分完数据块之后,由于对于给定长度的渲染图像序列之间相似性较大,整个序列中相邻帧之间相同位置的数据相似性极大,因此数据块排序只需将同样位置的数据块排列在一起即可。如图1所示,将帧内编号相同的数据块按帧顺序依次排列,得到如图1中的排序后数据块集合Q。
[0038]分割阶段,在云计算平台中设定分割策略,分割策略可以是由用户指定每个分块文件的大小,再根据分块文件的大小计算分块文件的数目。当前实施例采用的的分割策略为:预先指定分割数目,根据分割数目均匀分配每个分块文件的大小。则经过数据块重排后的输出可以表不为集合Q,则Q表不如下:
[0039]Q= (F1, F2,…,Fi,…,Fj (I ≤ m ≤ η)
[0040]m为总的分块文件数目,公式中的η为图像序列的总帧数。如图1所示(为便于叙述仅示意了其中的3帧),当前实施例将排序阶段中排序后的48个数据块平均分割为多个分块文件。
[0041]压缩编码阶段,通过调度将对应的分块文件分发至各个计算节点,各个计算节点对相应的分块文件进行基于字典的压缩编码,在云计算平台的HDFS中保存压缩编码后的文件,并保留各个压缩编码后的文件对应的保存路径。
[0042]云计算平台的调度系统只处理分割阶段中保留的分块文件存储路径,根据分块文件在HDFS中的存储路径调度对应的分块文件,将分块文件分发到对应的计算节点中,通过Hadoop Streaming进程调用Mapper进程对相应的分块文件进行基于字典的压缩编码。在当前实施例中,基于字典的压缩编码算法为LZ77算法。对分块文件的压缩编码则交给各个计算节点。每一个分块文件分别启动一个单独的Mapper进程来完成基于LZ77的压缩编码。在Mapper进程完成压缩编码以后,将各个压缩编码后的文件存储到云计算平台的HDFS中,并在HDFS保留相应的路径信息。由于每一个分块文件都包含了整个图像序列的全局冗余信息,因而仍然能保持相对较高的压缩比。其中,基于字典的压缩编码也可为LZMA算法。
[0043]解压缩过程和压缩编码过程类似。在解压缩阶段,同样是通过Hadoop Streaming进行调度,对应的计算节点根据压缩编码阶段中的保存路径从所述云计算平台读取压缩编码后的文件,通过如下两个阶段(Map阶段和Reduce阶段)进行解压缩:
[0044]Map阶段,Mapper进程根据云计算平台中的保存路径从云计算平台将所有压缩编码后的文件下载到该Mapper进程所在计算节点的本地文件系统中。
[0045]Reduce阶段,通过多个Reducer进程完成并行解压缩任务。每一个Reducer进程采用与压缩编码阶段相对应的LZ77解压缩算法来完成解压缩步骤。最后,将所有解压缩后的文件按照分割阶段各个解压缩后的文件所对应的位置关系存储至HDFS中。
[0046]在图像恢复阶段,云计算平台利用排序阶段中保存的相应索引信息,通过对解压缩后的文件进行逆排序来重构图像序列,并在HDFS中存储重构后的图像序列。
[0047]由于整个压缩解压缩过程中数据没有丢失,因而解压缩后的文件和压缩编码阶段中切割后的文件相对应。
[0048]本发明基于云计算平台的图像序列编码及恢复方法适合渲染图像这一类信源数据,各个计算节点在保持分布式编码特性的同时还能有效地利用整个图像序列的全局冗余信息,可对图像序列进行高效无损的编码及恢复。
【权利要求】
1.一种基于云计算平台的图像序列编码及恢复方法,其特征在于,包括以下阶段: 排序阶段,初始化云计算平台,在所述云计算平台中将待处理图像序列中的每一帧划分为大小相等的多个数据块,并且在各个数据块中建立索引信息,对所有数据块进行排序; 分割阶段,在所述云计算平台中设定分割策略,将排序后的所有数据块按所述分割策略分割为多个分块文件,存储所有的分块文件,并保留各个分块文件对应的存储路径; 压缩编码阶段,通过调度将分块文件分发至对应的计算节点,各个计算节点对相应的分块文件进行基于字典的压缩编码,在所述云计算平台中保存压缩编码后的文件,并保留各个压缩编码后的文件所对应的保存路径; 解压缩阶段,调度计算节点,各个计算节点通过如下两个阶段进行解压缩: Map阶段:各个计算节点根据压缩编码阶段中对应的保存路径从云计算平台读取对应的压缩编码后的文件; Reduce阶段:采用与压缩编码阶段所采用的压缩编码对应的解压缩方法,将Map阶段得到的所有压缩编码后的文件进行解压缩,得到解压缩后的文件,将所有解压缩后的文件按照分割阶段各个解压缩后的文件所对应的位置关系存储至所述云计算平台; 图像恢复阶段,所述云计算平台利用排序阶段中保存的相应索引信息,由解压缩后的文件重构图像序列并存储重构后的图像序列。
2.如权利要求1所述基于云计算平台的图像序列编码及恢复方法,其特征在于,排序阶段中的排序策略为:以各个图像帧的帧内编号作为第一排序字段,以各帧的先后次序作为第二排序字段。
3.如权利要求1所述基于云计算平台的图像序列编码及恢复方法,其特征在于,分割阶段中,分割策略为:预先指定分割数目,根据分割数目均匀分配每个分块文件的大小。
4.如权利要求1所述基于云计算平台的图像序列编码及恢复方法,其特征在于,分割阶段中,分割策略为:预先指定每个分块文件的大小,根据分块文件的大小计算分块文件的数目。
5.如权利要求1所述基于云计算平台的图像序列编码及恢复方法,其特征在于,所述云计算平台采用Hadoop计算框架。
6.如权利要求1至5任一项所述基于云计算平台的图像序列编码及恢复方法,其特征在于,所述压缩编码阶段中基于字典的压缩编码算法为LZ77算法。
7.如权利要求1至5任一项所述基于云计算平台的图像序列编码及恢复方法,其特征在于,所述压缩编码阶段中基于字典的压缩编码算法为LZMA算法。
8.如权利要求1至5任一项所述基于云计算平台的图像序列编码及恢复方法,其中压缩编码阶段及解压缩阶段的调度准则是根据每一个分块文件的压缩比和压缩时间以及所有计算节点完成压缩编码及解压缩的响应时间进行计算节点的分配。
【文档编号】H04N7/26GK103428494SQ201310333020
【公开日】2013年12月4日 申请日期:2013年8月1日 优先权日:2013年8月1日
【发明者】张宏鑫, 刘晓哲, 郑文庭, 鲍虎军 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1