一种视频文件压缩及播放的方法

文档序号:7861861阅读:483来源:国知局
专利名称:一种视频文件压缩及播放的方法
技术领域
本发明涉及视频通信技术领域,更具体地,涉及一种视频文件压缩及播放的方法。
背景技术
现有的视频压缩系统可以压缩视频数据流,因此它耗用较少带宽通过通信信道进行发送。这些系统利用预计在它们打算压缩的视频中出现的冗余度。例如,JPEG和MPEG利用摄像图像的相邻像素的色彩中常见的相似性。另外,MPEG利用以下事实运动图像中往往有许多像素在视频的许多帧中保持相同色彩,或者仅仅随着摄像机移动而在屏幕上移动其位置。根据视频质量下降(或“视频损失”)多少是观看视频的人(或“用户”)可接受的,还可进一步压缩视频,但不同类型的视频损失的可接受性在很大程度上取决于用户的活动 (或“应用”)。四种视频损失为分辨率损失(看起来模糊);色深度损失(具有更少色调);帧速率损失(运动图像的失速或振动);以及时间损失或“视频延迟”(从视频捕捉到其可供观看的时间延迟)。为了实现更高的压缩率,不同的压缩系统利用它们要满足的用户最能接受的视频损失的类型。例如,采用MPEG为通信信道产生过多数据的快速动作画面利用分辨率损失来发送,因为影片观众接受分辨率损失超过他们接受帧速率损失或色深度损失。视频延迟在某些应用中不是一个问题,但在另外一些应用中却是严重问题。不同的压缩系统在它们压缩视频时加入不同的延迟量。加入更多延迟的系统得到更高的压缩率,因为所有在延迟期间被捕捉、保存及检验的视频帧提供决定如何对它们进行压缩的更好的可能性。视频画面的实时传输被用于若干应用,如视频会议、网络会议、TV广播和视频电话。然而,由于通常用8位比特表示画面中的每个像素来描述数字视频,所以表示运动画面需要大量的信息。这样的未压缩的视频数据导致大比特量,并且由于有限的带宽而导致不能通过传统的通信网络和传输线来实时传送。因此,为了能够进行实时视频传输,需要很大程度的数据压缩。然而,数据压缩可能会损害画面质量。因此,做了很多努力来开发压缩技术,以使得通过有限带宽数据连接的高质量视频的实时传输。在视频压缩系统中,主要目标是以尽可能少的容量表示视频信息。容量用比特来定义为常数值或者定义为比特/时间单位。在这两种情况下,主要目标是减少比特的数目。最常用的视频编码方法描述在MPEG和H. 26标准中,它们都使用根据先前编码和解码的画面的基于块的预测。视频数据在传输之前经历四个主要过程,即预测、变换、量化和熵编码。其中,预测过程显著地减少被传送视频序列中的每个画面所需要的比特的数量。它利用了序列的部分与序列的其他部分的相似性。因为预测器部分对于编码器和解码器两者是已知的,所以仅需要传送差异。该差异的表示通常需要更少的容量。预测主要基于来自先前重构画面的画面内容,其他内容的位置由运动向量来定义。在典型的视频序列中,当前块M的内容会与先前解码画面中的对应块类似。如果自该先前解码的画面以后没有发生改变,则M的内容可能等同于该先前解码的画面中的相同位置的块。在其他情况下,画面中的对象可能已经被移动,使得M的内容更加等同于该先前解码的画面中的不同位置的块。这样的运动通过运动向量V来表示。例如,运动向量(3 ;4)是指自该先前解码的图像以来,M的内容向左移动而来3个像素并且向上移动了 4个像素。目前对于视频文件,尤其是swf格式的视频文件,进行进一步压缩通常采用压缩工具,例如zip、gzip等。但是这些视频压缩工具对视频文件压缩之后,视频文件的大小几乎没有变化,尤其在采用gzip压缩工具的过程中,还有可能存在压缩后的视频文件大小 大于原始视频文件的大小。因此,在网络传输的过程中,现在常用的视频文件压缩工具通常不能有效地提高传输速率。

发明内容
本发明提供一种视频文件压缩及播放的方法,包括如下步骤
1)对所述视频文件进行LZMA压缩;
2)将所述LZMA压缩后的视频文件通过网络传输到服务器;
3)所述服务器将所述压缩后的视频文件传输到终端播放器;
4)检测步骤3)中所述终端播放器接收的所述压缩后的视频文件的格式是否为标准SffF格式,如果是,则转入步骤5,如果否,提示用户,播放错误;
5)检测所述终端播放器是否支持所述压缩后的视频文件的格式,如果是,则直接进行播放,如果否,则所述播放器对所述压缩后的视频文件进行解压缩后进行播放。优选的是,所述步骤4中判断所述视频文件是否为标准swf格式的步骤包括判断所述视频文件的前三个字节是否为16进制数据0X43、0X57,0X53,如果是,则所述视频文件为标准swf格式;如果否,则所述视频文件不是标准swf格式。优选的是,所述步骤5中判断所述终端播放器是否支持所述压缩后的视频文件的格式的步骤包括判断所述压缩后的视频文件是否为经过所述LZMA压缩后的格式,判断所述视频文件的第一个字节是否为16进制数据0X5A,如果是,则所述视频文件为经过所述LZMA压缩后的格式;如果否,则所述视频文件不是经过所述LZMA压缩后的格式。与现有技术相比,本发明提出了一种视频文件压缩及播放的方法,该方法能够大大提高视频文件的压缩率,并且在传输完毕之后进行解压缩播放时,不会降低播放的视频文件的质量,有效地提高传输效率。


为了使本发明便于理解,现在结合附图描述本发明的具体实施例。图I示出了本发明一优选实施例的流程示意图。
具体实施例方式下面结合附图和优选的实施方式对本发明作进一步详细描述。权利要求中构成要件和实施例中具体实例之间的对应关系可以如下例证。这里的描述意图在于确认在实施例中描述了用来支持在权利要求中陈述的主题的具体实例,由于在实施例中描述了实例,不意味着该具体实例不表示构成要件。相反地,即使在此包含了具体实例作为对应一个构成要件的要素特征,也不意味着该具体实例不表示任何其它构成要件。此外,这里的描述不意味着对应于实施例中陈述的具体实例的所有主题都在权利要求中引用了。换句话说,这里的描述不否认这种实体,即对应实施例包含的具体实例,但不包含在其任何一项权利要求中,即,能够在以后的修正被分案并申请、或增加的可能发明的实体。应当注意的是,“系统”在此意味着由两个或更多设备构成的处理。显而易见地,用户终端可以由个人计算机构成。此外,所述用户终端还可以由例如蜂窝电话、任何其它PDA (个人数字助理)工具、AV (音频视频)装置、诸如家用电气(家庭用电气化)设备的CE (消费电子设备)等构成。

“网络”意味着至少连接了两个设备的机构,并且在其中,一条信息能够从一个设备发送到另一个设备。经由网络建立通信的设备可以是彼此分离的,也可以是构成一个机器的内部模块。“通信”可表示无线通信和有线通信。然而,还可以是混合无线和有线通信的通信,更具体地,在某个区段采取无线通信而在另一个区段采取有线通信的通信。同样,它也可以是这样的通信从一个设备向另一设备的通信是有线的,且相反方向的通信是无线的。图I示出了本发明一优选实施例的流程示意图。如图I所示,本发明的一优选实施例的视频文件的压缩及播放方法包括如下步骤
首先,采用LZMA压缩方法,将所述视频文件进行压缩。其中,所述LZMA压缩方法预先匹配出重复出现的字符串,然后用偏移+长度的方法表示所述重复出现的字符串,所述LZMA压缩方法结合了 Huffman和Deflate。所述LZMA压缩方法对视频文件进行压缩,能够达到很好的压缩效率。例如,一个大小为360K的swf格式的视频文件通过所述LZMA压缩方法后,能够达到215K的压缩后文件。在这一步骤中,将原始的视频文件,例如文件a. swf,复制到相应的安装目录下,对其进行所述LZMA压缩,形成暂存视频文件,将所述暂存的视频文件命名为temporary,swf,并删除temporary, z. swf,然后对其进行LZMA压缩,压缩完毕之后检测是否存在temporary, z. swf文件,如果存在temporary, z. swf文件,则将其复制到其他文件夹中,命名为a. z. swf,完成对当前视频文件的压缩过程。然后,通过网络传输将压缩后的视频文件传输至服务器。将LZMA压缩后的视频文件通过网络传输至服务器上,以供相应的服务器进行视频文件分发。然后,检测播放器版本与当前视频文件的格式。其中,检测当前视频文件的格式是否为标准的swf格式。具体地说,视频文件的播放终端判断接收的所述视频文件是否为标准的swf文件,即通过检测当前视频文件的前三个字节是否为16进制数据0X43、0X57,0X53。若是,则该视频文件为标准的swf文件,若否,则提示用户播放错误。最后,检测终端播放器版本是否支持压缩后的视频文件,如果是,则直接进行播放,如果否,则所述播放器对所述压缩后的视频文件进行解压缩后进行播放。
如果当前压缩后的视频文件为标准SWF格式文件,视频文件的播放终端判断接收的压缩后的视频文件格式是否被终端播放器所支持,具体检测该视频文件是否进行过LZMA压缩,即通过检测当前视频文件的第一个字节是否为16进制数据0X5A。若是,则终端播放器不进行解压缩,直接进行播放;若不支持,则对终端播放器当前播放文件进行解压缩后播放所述解压缩后的视频文件。本发明提供的视频文件压缩及播放的方法采用了 LZMA压缩方法对视频文件进行压缩。在传输过程中由于压缩文件较小,能够有效地降低带宽。在播放压缩后的视频文件时,视频文件播放终端在解压缩的过程中,能够不降低文件质量并且正常播放。上述详细描述通过实施例和/或示意图阐明了系统和/或过程的各种实施例。就这些示意图和/或包含一个或多个功能和/或操作而言,本领域技术人员将理解,这些示意图或实施例中的每一个功能和/或操作都可由各种各样的硬件、软件、固件、或实际上其任 意组合来单独地和/或共同地实现。应该理解,本文描述的方法可以结合硬件或软件,或在适当时结合两者的组合来实现。因此,本发明的方法,可以采用包含在诸如软盘、CD-ROM、硬盘驱动器或任何其他机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中,当程序代码在可编程计算机上执行的情况下,计算设备通常包括处理器、该处理器可读的存储介质(包括易失性存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。一个或多个程序可以例如,通过使用API,可重用控件等来实现或利用结合本发明描述的过程。这样的程序优选地用高级过程语言或面向对象编程语言来实现,以与计算机系统通信。然而,如果需要,该程序可以用汇编语言或机器语言来实现。在任何情形中,语言可以是编译语言或解释语言,且与硬件实现相结合。需要说明的是,本发明的一种视频文件压缩及播放的方法的范畴包括但不限于上述各部分之间的任意组合。尽管具体地参考其优选实施例来示出并描述了本发明,但本领域的技术人员可以理解,可以做出形式和细节上的各种改变而不脱离所附权利要求书中所述的本发明的范围。以上结合本发明的具体实施例做了详细描述,但并非是对本发明的限制。凡是依据本发明的技术实质对以上实施例所做的任何简单修改,均仍属于本发明技术方案的范围。
权利要求
1.一种视频文件压缩及播放的方法,其特征在于,所述方法包括如下步骤 对所述视频文件进行LZMA压缩; 将所述LZMA压缩后的视频文件通过网络传输到服务器; 所述服务器将所述压缩后的视频文件传输到终端播放器; 检测步骤3)中所述终端播放器接收的所述压缩后的视频文件的格式是否为标准SWF格式,如果是,则转入步骤5,如果否,提示用户,播放错误; 检测所述终端播放器是否支持所述压缩后的视频文件的格式,如果是,则直接进行播放,如果否,则所述播放器对所述压缩后的视频文件进行解压缩后进行播放。
2.一种如权利要求I所述的视频文件压缩及播放的方法,其特征在于,所述步骤4中判断所述视频文件是否为标准swf格式的步骤包括判断所述视频文件的前三个字节是否··为16进制数据0X43、0X57,0X53,如果是,则所述视频文件为标准swf格式;如果否,则所述视频文件不是标准swf格式。
3.—种如权利要求I所述的视频文件压缩及播放的方法,其特征在于,所述步骤5中判断所述终端播放器是否支持所述压缩后的视频文件的格式的步骤包括判断所述压缩后的视频文件是否为经过所述LZMA压缩后的格式,判断所述视频文件的第一个字节是否为16进制数据0X5A,如果是,则所述视频文件为经过所述LZMA压缩后的格式;如果否,则所述视频文件不是经过所述LZMA压缩后的格式。
全文摘要
本发明提供的视频文件压缩及播放的方法采用了LZMA压缩方法对视频文件进行压缩。在传输过程中由于压缩文件较小,能够有效地降低带宽。在播放压缩后的视频文件时,视频文件播放终端在解压缩的过程中,能够不降低文件质量并且正常播放。与现有技术相比,本发明提出了一种视频文件压缩及播放的方法,该方法能够大大提高视频文件的压缩率,并且在传输完毕之后进行解压缩播放时,不会降低播放的视频文件的质量,有效地提高传输效率。
文档编号H04N21/44GK102892000SQ20121037093
公开日2013年1月23日 申请日期2012年9月29日 优先权日2012年9月29日
发明者林洋, 胡曰锋 申请人:乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1