用于通过数据网络传输数据文件的方法和系统的制作方法

文档序号:7512665阅读:189来源:国知局
专利名称:用于通过数据网络传输数据文件的方法和系统的制作方法
技术领域
本发明涉及用于通过数据网络向远程设备传输数据文件的方法。 更具体地但并非排他地,本发明涉及用于流式传输音频和/或视频数据 文件的方法。
背景技术
电子二进制文件针对多种不同的用途以多种不同的格式存在。这 些格式包括适于图像、声音、文本、数据、可执行文件等的存储的格 式。
电子二进制音频和视频文件以多种不同的数据格式可用。有些使
用无损压缩,例如WAV和AVI。其他4吏用有损压缩的包括MP2、 MP3和其他格式。
这些数据格式适于在远程设备(例如,个人计算机、便携式设备 和其他硬件)上播放。数据文件能够通过因特网或其他数据网络被传 输,以便在以后的时间或日期被存取、存储或播放。某些格式能够以 这样的方式被传输,即,能使数据文件的一部分在远程设备上被播放 或存取,同时该数据文件的剩余部分或至少其他部分被向远程设备传 输。后者的传输方法已知为流式传输。
传统上,用于流式传输音频或视频的电子二进制文件使用高等级 的有损压缩,以减小通过数据网络传输的文件大小。这种高等级的有 损压缩会导致被传送的音频或视频的质量的严重下降。在视频的情况
下,质量下降在便携式设备中并不是很明显,因为回放屏幕非常小。 较少的数据需要被传输以在这些小屏幕上进行回放。
本发明的目的在于提供流式传输包括二进制音频和视频文件在 内的数据文件的改进的或可选的方法,或者,至少向公众提供一种有用的选择。

发明内容
在一种形式中,本发明包括修改数据文件用于通过数据网络进行
传输的方法。所述方法包括以下步骤接收原始数据文件并创建数据 头文件,所述数据头文件包括原始数据文件的以字节为单位的长度。 在原始数据文件中识别至少一个重复字节序列,所述重复字节序列包 括在所述重复字节序列中被连续重复的字节值。通过以重复标记、重 复的字节值和重复频率值替换重复字节序列,来创建修改的数据文 件,所述重复频率值表示在重复字节序列中的重复的字节值出现的次 数。将重复标记加到数据头文件中。
在另一种形式中,本发明包括通过数据网络向远程设备传输数据 文件的方法,所述数据文件包括多个有序数据段和数据头文件,所述 数据头文件包括表示数据文件中的段数的段频率值。所述方法包括以 下步骤通过数据网络向远程设备传输数据头文件。在第一执行线程 的请求下,通过数据网络将具有多个有序数据段的第 一数据段传输到 远程设备,然后增加计数器值的值。在第二执行线程的请求下,通过 数据网络同时将具有多个有序数据段的第二数据段传输到远程设备, 然后增加计数器值的值。在第一和第二执行线程的请求下,通过数据 网络将随后的交替的数据段传输到远程设备,以及在传输所有或一些 随后的数据段之后,增加计数器值的值。
在本说明书和权利要求书中使用的术语"包括"的意思是"至少部 分地由...组成"。也就是,当解释本说明书和权利要求书中包含"包括" 的表述时,还可以存在其他特征(不同于在每个表述中以该术语开始 的那些特征)。相关的术语如"包括"和"被包括"也以类似的方式进行
本发明还被广义地认为由本申请文件的说明书中所指的或者所 表示的部分、元件和特征单独或共同地组成,以及由任何两个或两个 以上的所述部分、元件或者特征的任何或者所有的组合組成,并且其中,在本文中提到涉及本发明的本领域技术人员公知等同替换的特定 整体,这种公知的等同替换被认为如单独提出那样包括在本文中。


现在,将参考附图描述用于通过数据网络传输数据文件的方法的
优选形式,其中
图l示出了其中执行所述方法的一个优选系统。
图2示出了修改数据文件的方法。
图3示出了传输所修改的数据文件的方法。
图4示出了优选形式的数据头文件。
图5示出了一个优选形式的数据压缩技术。
图6示出了另一个优选形式的数据压缩技术。
图7示出了又一个优选形式的数据压缩技术。
具体实施例方式
图1示出了适于通过网络传输数据文件的一个优选形式的系统 100。典型的数据文件105可以是二进制音频和/或视频文件。数据文 件105可以是任何二进制格式,包括WAV、 AVI、 MP2、 MP3、 AC3、 MP4、 H264、 Xvid、 DivX、 WMA、 WMV、 MOV、 VOB、 PPT、 PPS、 DOC、 XLS、 DOC、 ZIP、 RAR、 PPM等。数据文件105通常存储 在辅助存储装置110中,该辅助存储装置构成计算设备115的一部分 或者至少与其连接。计算设备115至少包括与直接存取存储器125连 接的处理器120,以及显示器130。可以理解的是,计算设备可以包 括例如数据输入设备(未示出)和输出设备(未示出)的其他组件, 或者与该其他组件连接。
下面描述一种用于修改数据文件105以创建修改的或者输出的 数据文件135的技术。下面描述用于在通过数据网络150进行传输之 前,修改原始数据文件105的技术。数据网络150包括因特网和任何 其他适当的网络文件传输结构或过程。输出数据文件135通过数据网络150传输到远程设备160。
远程设备160包括个人计算机、便携式设备或者能够在其上向用 户显示音频和/或视频文件的任何其他适当的硬件。远程设备160通常 包括例如Windows Media Player、 Real Player、 VLC等的查看器组 件165,或者与该查看器组件连接。查看器组件165允许向操作远程 设备的用户播放二进制音频和视频数据文件。
远程设备160还包括流式服务器170。作为一种选择,流式服务 器170可以远离远程设备160,但与该远程设备相关联。在下文中, 将更加详细地对流式服务器的操作进行描述。流式服务器170允许输 出数据文件135的一些部分或段通过数据网络150进行传输,并高速 緩存在流式服务器170上,用于使用查看器165显示给用户。作为一 种选择,所传输的数据文件被存储在远程设备160上。
系统IOO进一步包括文件修改器组件180。在下文中进一步描述 文件修改器180。该文件修改器包括保持在计算机存储器中的软件组 件。
在一个实施例中,远程设备160包括或者关联有两个或两个以上 的执行线程190以及段计数器195。期望n的值将至少为2。如下文 所述,配置每个执行线程以处理新的段。
图2示出了优选形式的方法200,通过该方法,文件修改器180 修改数据文件105以产生输出数据文件135。这种修改能够在数据文 件通过数据网络150传输或者部分传输时发生。作为一种选择,预先 执行修改过程,并将其存储在辅助存储装置110中。辅助存储装置包 括硬盘驱动器、计算机高速緩存、光盘、DVD等。
下文所述的修改过程可以被应用于视频或者音频格式,可以与一 个或多个下文所述的可选的方法结合,也可以不与这些方法结合。可 以理解,如此处针对视频格式的情况,可以利用该修改过程或者专用 于其他数据格式的特征的修改过程来对该数据格式进行操作。文件可 以采用与通过任何类型的网络进行的二进制信息的传输相兼容的任 何格式。过程200的第 一个步骤是文件修改器180接收205在其上应用修 改过程的原始数据文件105,或者至少获得对该原始数据文件的访问 入口 。
文件修改器180创建210将包含描述原始数据文件105和对其所 作的任何修改的关键信息的数据头文件。下文中将描述适当的数据头 文件格式的例子。
原始数据文件的以字节为单位的长度被加215到数据头文件中。
扫描数据文件105,以识别220没有在原始数据文件中出现的多 达三个唯一的4个字节的序列或者字节组。
如果数据文件是视频文件类型225,那么对于关键帧点可选地扫 描视频文件。关键帧是在视频数据文件压缩中不参考另 一个帧中的任 何图像而被编码的帧。本申请中的关键帧也被称为内部帧或I帧。
I帧之后通常是根据前面的关键帧计算的一个或多个中间帧 (inter frame) 。 I帧是在没有参考除了自身以外的任何画面的情况 下而编码的画面。能够由编码器产生I帧,以创建随机访问点来允许 解码器从该画面位置上的暂存数据(scratch)开始进行适当的解码。 当有差异的图像细节妨碍有效数据帧的产生时,还可以产生I帧。I 帧相对于其他画面类型通常需要更多的比特来编码。
至少一些(在优选情况下所有)表示关键帧的二进制数据被移除 230,并以其中一个唯一的4个字节的序列来替换。
可选地,针对帧进一步扫描视频文件。B帧是通常的视频压缩设 计中存在的三个画面类型之一。这三个主要的画面类型蜂皮称为内部画 面、预测(predicted)画面和双预观'J ( bi-predictive)画面。内部画 面、预测画面和双预测画面是本领域公知的浮见频压缩设计的所有组成 部分。移除235所有帧信息,例如,I、 B或者P画面或帧,并且每 次出现都以另一个唯一的4比特的序列来替换。
对于视频文件类型和其他文件类型,移除240所有重复。优选形 式的数据转换是行程(run length)编码。相同字节的值连续重复的 数据序列以计数或者频率值之前的字节值的单次出现来替换。这些重复字节序列中的至少 一个在原始数据文件中被识别。
没有在原始数据文件中出现的另一个唯一的4个字节序列被选 择为重复标记。当重复标记出现在数据文件中时,表示已经被应用行 程编码的数据值。
重复字节序列以重复标记、重复的字节的值和重复频率值来替 换。重复频率值表示重复的字节值在重复字节序列中出现的次数。通 常,在6到260次之间连续重复的所有值都被移除,并以6个字节的 字符串进行替换。这6个字节的字符串包括重复标记、重复的字节值 和重复频率值。
通过向数据头文件写入用作重复标记的唯一的4个字节的序列, 来对数据头文件进行更新。同样写入数据头文件的是分别表示关键帧 点和帧的字节序列,其中,数据文件是视频文件类型的。
当文件类型是视频或者音频文件类型时245,在该技术中一个可 选的步骤是对文件进行分段250。文件被分段成一系列有序的数据段。 ^险可以是任何大小,但通常在大约524,288字节到1,572,864字节之间。 每个段可以具有相同大小,并且最后一个段的大小较小。作为一种选 择,每个段在大小上可以不同。
在一个例子中,文件可以被分段成具有1兆字节(1,048,576字 节的长度)的相等的多个段。作为一种选择,在另一个形式中,在关 键帧、多个关键帧、或者出现在1兆字节序列之后的第一个关键帧之 前或者之后,对文件进行分段。在关键帧上对文件进行分段允许从其 他视频文件插入其他段。通过在数据头文件中插入组成该数据文件的 段的数量,来更新数据头文件。
可以理解的是,数据文件能够以产生一个以上的被保持为单独数 据文件的单独文件段的方式被分段。作为一种选择,数据文件被保持 为单个数据文件。根据需要,通过从数据文件中的不同偏移量开始进
行读取,创建各个数据段。
进一步的可选步骤是将一个或多个数据转换技术应用于一些或 者所有段。这些数据转换技术中的一些包括一个或多个段的数据压缩255。在第一优选形式的数据压缩技术中,各个段被划分成块,每个块 不大于256个字节。将结合图5在下文中进一步描述数据压缩技术。 这些块是各个段的子序列。如果各个块具有超过128个唯一的字节值, 那么对该块应用数据转换,以将块中的唯一的字节值的频率增加到 128个唯一值或者更少,或者是256个唯一值。数据转换包括多次向 块中的每个值应用一个或者多个转换数据集或掩码。可以设想,多达 65,535个不同的转换数据集可用于被应用到各个块中。如果在各个块中能够达到256个唯一值,那么将相关的排列写回 到数据文件中。这能够用210.5个字节来实现。如果达到128个或者 更少的唯一值,那么用224个字节来写回它。如果既没有达到256个唯一值也没有达到128个或更少的唯一 值,那么覆盖或者掩码值作为零或空被写入,意味着相关的二进制信 息不需要解码或解压缩。上述压缩^支术在我们的净皮出版为标题为"Data Compression System and Method,,的WO2005/039057的专利说明书中进行了进一 步地描述,其通过引用全部并入此文。作为一种选择,或者在此之外,将第二优选形式的数据压缩技术 应用于一个或多个段。在下文中将参考图6进一步描述该第二数据压 缩技术。整个段被扫描,并保留每个字节的值的出现次数。然后进行 替换,其中重复最多的字节值被替换为0的字节值。下一个重复最多 的值被替换为l的字节值,依此类推,直到最少重复的字节值被替换 为255的字节值。然后段将以这样一种方式被构造,即,最常见的值 是较低的字节值。原始字节值和替换值的表需要512个字节并被加到 数据头文件中。作为一种选择,或者在此之外,应用第三优选形式的数据压缩技 术。参考图7对此进行进一步的描述。该技术是我们的被出版为标题 为"Data Compression System and Method,,的WO2005/039057的专利 说明书的变型。段可以被分成字节序列的组。单个数据转换集被重复应用于这些段中的每一个,直到在每个数据段中出现预定数量的唯一 值。在一个例子中,文件被分成256个字节的序列,并且0、 1、 2、 3、 4...255的数据转换被按序应用于每个字节值。该数据转换以类似 的方式应用于上述的第二数据压缩技术。然后扫描字节序列并进行唯 一字节值的数量的计数。在该例子中,寻找162个唯一值(在所有可 能的256个字节的结构中的约7.9%的结构中会出现162个唯一值), 但是该值可以变化。如果在段中没有识别162个唯一字节值,那么对 相同的段再次应用相同的数据转换并重复该过程。 一旦识别了 162个 唯一值,记录转换掩码被应用的次数。记录转换次数的值可以被写入 到索引文件、数据头文件中,或者包括在256个转换的字节值的开头 或结尾。数据序列现在包括序列大小的所有可能的组合的已知的子集。该 子集可以被记录为字节值转换或者索引值。在162个唯一值的情况下, 用以创建索引所需的值的数量是可能的256个值的结构的总数量约 7.9%。字节段的大小可以变化。被识别的唯一值的数量可以变化。段中 被识别的唯一值的数量可以被固定为某个设定的数量,其可以是该数 量或更小,或者该数量或更大。作为一种选择,或者在此之外,可以对使用上述方法的任何组合 的修改或未修改的整个数据文件应用无损压缩技术260。进一步附加的步骤是向整个文件应用加密265,或者作为一种选 择,能够向各个段应用各个加密函数,其中,包括视频或者音频文件, 并且该文件已经,皮分l殳。对数据文件进行修改以产生上述的输出数据文件之后,输出或者 修改的数据文件然后通过数据网络150被传输到远程设备160。图3 示出了用于传输修改的数据文件的优选形式的过程300。数据头文件首先从计算设备115传输305到流式服务器170。上成的段的数量(如果已经使用了该方法的话)。数据头还可以包括每 个段的类型、任何覆盖掩码信息、在流式传输、观看、回放或者使用 开始之前用于下载所需要的段的数量,以及使用的任何附加形式的压 缩技术和类型。
当被使用时,流式服务器170确定通过数据网络150到远程设备 160的可用的带宽或者下栽速度。将可用的带宽与数据头文件中的相 关信息进行比较,以确定需要下栽文件的多少个段,用以使段能够在 远程设备160中使用,同时其他的段通过数据网络150进行传输。
在远程设备160或者流式服务器170上运行的是两个或者更多的 不同的执行线程。在下文所述的方法中,两个线程被称为ThreadOdd 和ThreadEven 。 ThreadOdd处理奇数编号的段的下载,而 ThreadEven处理偶数编号的段的下载。
ThreadOdd和ThreadEven在下文所述的方法中主要设计用于 下载奇数和偶数段。但是,在某些情况下,ThreadOdd将下载偶数编 号的段,而ThreadEven将下载奇数编号的段。
当完成特定段的下载时,控制线程(ThreadOdd或ThreadEven ) 允许下载下一个段。两个ThreadOdd和ThreadEven执4亍线程同时运 行。这增加了可以通过网络连接下载的数据量。
第一数据段被传输或下载310到远程设备160。
在传输完段以后,增加315段计数器的值。在一个优选形式中, 计数器并不只是增加1,而是增加有序的数据段序列中的段的数量。 检查计数器以确定何时完成緩冲并能够开始回放。
可以以不同的速度下载段。将计数器增加段的数量会防止例如段 1、 2、 3和5被下载并发送给查看器。当计数器增加时,段被排序320 成有序的。
步骤310和315表示是奇数编号段的ThreadOdd。同样同时运 行的是下载偶数编号萃史的ThreadEven。 ThreadEven下载325段并将 计数器增加330段的数量。
一旦已经下载335足够数量的段,这样就建立了足够的緩冲。排序的下载的段被传递340到查看器165,用于解码和/或解密345并被 用户》见看、回》文或卩吏用350。
一旦开始流式传输、回放、观看或者使用,那么第一段被读入到 存储器中的阵列中。 一旦在存储器中,文件就如数据头文件指示的那 样被解码和/或解密。在实践中,解码和解密是用于参考图2的上述压 缩和编制索引的修改的相反过程。将该处理应用于每个段。文件优选 地被以编码或者加密的状态存储在与流式服务器170和/或远程设备 160相关联的存储装置中。只有在随机存取存储器中,它们才以原本 的格式存储。
该处理可以包括用于低质量或者低比特率的视频文件的附加步 骤。该步骤包括通过帧抓取软件的视频回放,其中,每个帧以与原始 视频文件相同的每秒帧率被复制为联合图像专家组(jpg)或者位图 (bmp)文件类型。在每个帧被传递给查看器用于回放之前,对该帧 使用一遍图像清理算法。
图像清理算法对多个像素上的彩色分布(spread)进行平均,并 移除通常与低质量的图像相关联的实体动画(pixilation )。同样,这 要么在流式服务器170的存储器中要么在远程设备160的存储器中进 行。
流式服务器是远程设备160上的软件驱动的虚拟服务器。本地流 式服务器170是通过非标准端口连接的web服务器。当程序加载时端 口被确定,并且如果需要的话,能够通过该程序调节端口,以防止操 作系统环境中的沖突。当视频被选择并且緩冲要求被满足时, 一旦回 放窗口向本地流式服务器发出请求,那么向本地流式服务器呈现原本 格式的媒体。
当内容请求到达时,本地流式服务器检查以确定需要的整个段 (在本例中为段1)是否已经下载。如果该段已经下栽,那么将其传 送给查看器165用于回放。 一旦段已经被传送,那么流式传输线程检 查下一段是否准备好用于下载以及准备好用于传送,并随后将该段馈 送给本地流式服务器。该过程在整个传送处理中继续,直到所有段被馈送给本地流式服 务器。 一旦段被馈送到本地流式服务器,就可以对它们进行删除,但 这种行为是根据本地要求可修改的。
如果本地流式服务器确定所需要的段没有准备好用于传送,那么 与回放窗口保持连接,但没有数据被发送。这种事件向用户显示为回 放中的暂停。在这段时间中,能够实现附加内容的传送,以便查看器 接收其他流式传输馈送,同时完成緩冲,直到足够的媒体准备好用于 传送过程。 一旦足够的资料准备好用于流式传输,回放重新开始。查 看器选择进行緩冲的数据量对于本地流式服务器来说无关紧要,因为 数据以查看器能够对其接收的速度尽可能快地提供给查看器。查看器 表现为好像其以当前正常的方式被提供数据 一样。
上述过程通过短的初始緩冲期间的1兆比特或者128千字节的连 接,能够提供接近DVD质量的视频。该緩沖期间随着视频的初始期 间所需要的数据量而变化。对于一部在电影开头具有大量场景变化的 150分钟的电影,以每秒大约92千字节下载,在回放开始之前有90 秒的緩冲期间。
图4示出了在上述文件修改之后的优选形式的数据头文件。优选 形式的数据头文件400包括文件长度值405。文件长度值表示参考215 的如上所述加到数据头文件的原始数据文件的以字节为单位的长度。
关键帧标记410是识别关键帧的三个唯一的4个字节的序列的其 中之一。帧标记415是识别帧信息(例如I、 B或者P图像或帧)的 第二个唯一的4个字节的序列。重复标记420是信号通知紧跟在重复 标记之后的数据的行程编码的第三个唯 一 的4个字节的序列。
当数据文件已经被分段时,段的总数量被表示为段总数425。
当对各个段或者数据文件应用了数据转换时,数据头文件将包括
其他数据值。这些数据值包括转换数据集标识符430。该值与上述第 一数据压缩技术相关。在该技术中,标识符430唯一识别已经应用于 数据的转换数据集。
当已经根据上述的第二优选形式的数据压缩技术执行字节替换时,数据头文件将包括字节替换表435。可以设想,字节替换表在长 度上大约为512个字节。该表将包括重复最多的字节值,之后是重复 第二多的字节值,依此类推,直到重复最少的字节值。
当应用第三优选的数据压缩技术时,数据头文件将进一步包括已 经应用于数据文件的数据转换的数量440。
图5示出了应用于各个段或者数据文件的一个优选形式的数据 压缩技术。优选形式的技术500首先接收或者获取对原始文件505的 访问入口。文件被分段510成各个字节组。优选情况下,每个字节组 不大于256个字节。
每个段被依次检查515。各个段被检查,以识别唯一字节值的数 量520。
如果在段中存在超过128个唯一字节值525,并且进一步地,如 果存在小于256个唯一字节值530,那么应用转换535,以增加块中 的唯一字节值的频率。如上所述,适当的数据转换包括对块中的每个 值多次应用一个或多个转换数据集或掩码。可以设想,多达65,535个 不同的转换集可用于应用到各个块。如果在转换之后存在256个唯一 字节值540,那么在输出数据文件中,将初始比特值设置5"为1。 在输出文件中的下一比特值也设置为1。第二比特值识别在输出数据 文件中存在256个唯一字节值。转换标识符然后被加550到输出数据 文件中。期望转换标识符在长度上大约为两个字节。
如果在各个块中能够达到256个唯一值,那么相关的排列被写回 或者加555到数据文件中。期望该排列在长度上大约为210.5个字节。
期望总共212.75个字节替换(560) 256个字节的序列。
如果在应用转换535之后,不存在256个唯一字节值,那么输出 数据文件的初始比特值被设置为零,如565所示。原始的256个字节 然后被加到该数据文件上。
如果在字节识别520之后存在小于128个唯一字节值525,那么 将输出数据文件的初始比特值设置为1,如565所示。紧跟在1之后 的比特值是值零,其表示存在小于128个唯一值。相关的排列被加570到被期望在长度上大约为224个字节的数据文件上。在这种情况下, 总共224.25个字节替换(575) 256个字节的序列。
如580所示,在应用本方法后,写出相关字节序列。然后处理 515下一段。
参考图6,第二数据压缩技术能够被应用于一个或者多个段。技 术600接收605原始文件或者获取对其的访问入口 。整个段被扫描并 且保留610每个字节值的出现次数。最常出现字节值以0来替换,如 615所示。
第二最常出现字节值以值"l"来替换,如620所示。 一般情况下 该步骤重复,以便第"N,,最常出现的字节值分别以相应的N-l的值来 替换,如625所示。
新的输出文件通过以新的值替换630文件来创建。
创建635按照出现顺序的字节的表,并且将该表或者列表写入 640到数据头文件中。
图7显示参考图2的上文所述的第三优选形式的数据压缩技术。 该技术700的第一个步骤是接收原始文件或者对其进行访问705。该 文件被分段710成256个字节的段。如上所述,段可以是实际的也可 以是虚拟的。
下个步骤是计算715模字节偏移量值。假定各个段包括N个字 节,那么新的字节值b!...n以如下公式计算
bn = bn+ (n-l) modulo 256 其中,n在l到N的范围内。
当N- 256时,第一字节值加O,第二字节值加l等等,直到第 256个值加255。通过使用模256计算新的值。这样确保新计算的字 节值或者偏移量不会超过255。
这也可以应用于各种比特长度。上述情况包括8个比特或者具有 256个值的1个字节。作为一种选择,比特数可以是7个比特,其中 将使用模128。另一个备选方案是10个比特,其中将使用模1024。 也可以使用更小的字节集,例如180个字节(8比特)。将对这些值使用模256,但是n将在l到180的范围内。
扫描字节序列并且进行唯一字节值数量的计数。如果已经达到
720 了预定数量的唯一字节值,那么0比特值被写入到索引文件。作
为一种选择,0值被写入725到数据头文件。
然后将唯一段的值的相关排列写入730到文件。 如果预定数量的唯一值还没有达到,那么如果N小于或者等于
256,那么N的值被加到715字节数量N。作为一种选择,如果N大
于256,那么1比特值被写入到索引文件,原始字节值被写入到文件。
作为一种选择,O值被写入到数据头文件,修改的字节值被写入到文件。
前文描述了包括其优选的形式的本发明。对本领域技术人员来说 显而易见的修改和改进也将包括在本发明的范围内,该范围由所附的 权利要求来限定。
权利要求
1. 一种修改数据文件用于通过数据网络传输的方法,所述方法包括接收原始数据文件;创建数据头文件,所述数据头文件包括所述原始数据文件的以字节为单位的长度;在所述原始数据文件中识别至少一个重复字节序列,所述重复字节序列包括在所述重复字节序列中连续重复的字节值;通过以重复标记、所述重复的字节值和重复频率值替换所述重复字节序列,来创建修改的数据文件,所述重复频率值表示在所述重复字节序列中的所述重复的字节值出现的次数;将所述重复标记加到所述数据头文件中。
2. 根据权利要求1的方法,其中,所述重复标记包括没有出现 在所述原始数据文件中的4个字节的序列。
3. 根据权利要求2的方法,其中,所述重复频率值包括字节值。
4. 根据权利要求3的方法,其中,所述重复字节序列具有260 个字节的最大长度。
5. 根据权利要求3的方法,其中,所述重复字节序列具有6个 字节的最小长度。
6. 根据前述任何一项权利要求的方法,进一步包括计算表示各个字节值在所述原始数据文件中的出现次数的多个 字节频率值;以及以至少部分地基于所述字节频率值而选择的替换值 来替换所述原始数据文件中的字节值。
7. 根据权利要求6的方法,进一步包括为具有相对高的字节频 率值的字节,选择相对低的替换值。
8. 根据权利要求7的方法,进一步包括以值n-l替换第n最常 出现的字节值。
9. 根据权利要求6到8中的任何一项的方法,进一步包括将替换的字节加到所述数据头文件上。
10. 根据权利要求9的方法,进一步包括将所述替换的字节以在所述原始数据文件中的频率下降的顺序; 加到所述数据头文件上。
11. 根据前述任何一项权利要求的方法,进一步包括a) 为所述原始数据文件中的各个字节计算字节偏移量值;b) 至少部分基于所述字节偏移量值,将数据转换应用于所述原 始数据文件中的字节;c) 计算转换后的数据文件中的唯一字节值的数量;d) 将所计算出的数量与预定阈值进行比较;e) 如果所计算出的数量小于所述预定阈值,那么重复步骤(a) 到(d)。
12. 根据权利要求11的方法,其中,所述数据转换包括 bn = bn + (n-l) modulo x 。
13. 根据权利要求12的方法,其中,x=256。
14. 根据权利要求12或权利要求13的方法,其中,n在1到256 的范围内。
15. —种通过数据网络向远程设备传输数据文件的方法,所述数 据文件包括多个有序数据段和数据头文件,所述数据头文件包括表示 所述数据文件中的段的数量的段频率值和/或用于解压缩所需的其他 值,所述方法包括以下步骤通过所述数据网络向所述远程设备传输所述数据头文件;在第 一执行线程的请求下,通过所述数据网络将所述多个有序数据段的第 一数据段同时与第二或者随后的数据段一起传输到所述远程设备;增加计数器值的值;在第二执行线程的请求下,通过所述数据网络将所述多个有序数 据段的第二数据段同时与第一或者附加数据段一起传输到所述远程设备;增加所述计数器值的值;同时在所述第一和第二执行线程的请求下,通过所述数据网络将 随后的交替的数据段传输到所述远程设备;以及在传输所有或一些所述随后的数据段之后,增加所述计数器值的值。
16. 根据权利要求15的方法,其中,所述有序的数据段具有相 关联的各自序数值。
17. 根据权利要求16的方法,其中,所述计数器值增加与最近 通过所述数据网络传输的数据段相关联的序数值。
18. 根据权利要求17的方法,其中,所述数据头文件包括緩冲 数量,所述緩沖数量表示段的阈值数量。
19. 根据权利要求18的方法,其中,所述数据文件表示视频数 据文件。
20. 根据权利要求19的方法,进一步包括步骤在所述远程设备上向用户播放所述视频数据文件的一个或多个 段,同时通过所述数据网络传输所述视频数据文件的其他段。
21. 根据权利要求15的方法,进一步包括步骤 向所述数据文件或其部分应用一个或多个数据转换。
22. 根据权利要求21的方法,其中,所述一个或多个数据转换 包括增加一个或多个所述段中的至少一部分中的唯一字节值的数量 的数据转换。
23. 根据权利要求21的方法,其中,所述一个或多个数据转换 包括数据压缩技术。
24. 根据权利要求21的方法,其中,所述一个或多个数据转换 包括加密技术。
25. —种用于修改数据文件以通过数据网络传输的数据修改系 统,所述系统包括文件修改器,被配置成接收所述数据文件并创建数据头文件,所 述数据头文件包括原始数据文件的以字节为单位的长度;重复组件,被配置成在所述原始数据文件中识别至少一个重复字 节序列,所述重复字节序列包括在所述重复字节序列中连续重复的字节值;所述重复组件进一步被配置成通过以重复标记、所述重复的字节 值和重复频率值替换所述重复字节序列,来创建修改的数据文件,所 述重复频率值表示在所述重复字节序列中的所述重复的字节值出现 的次数,并将所述重复标记加到所述数据头文件中。
26. —种用于通过数据网络向远程设备传输数据文件的数据文件传输系统,所述数据文件包括多个有序的数据段和数据头文件,所 述数据头文件包括表示所述数据文件中的段的数量的段频率值和/或用于解压缩所需要的其他值,所述系统被配置成通过所述数据网络向所述远程设备传输所述数据头文件;在第 一执行线程的请求下,通过所述数据网络将所述多个有序数据段的第一数据段同时与第二或者随后的数据段一起传输到所述远程设备;增加计数器值的值;在第二执行线程的请求下,通过所述数据网络将所述多个有序数 据段的第二数据段同时与第一或者附加数据段一起传输到所述远程 设备;增加所述计数器值的值;同时在所述第一和第二执行线程的请求下,通过所述数据网络将随后的交替的数据段传输到所述远程设备;以及在传输所有或一些所述随后的数据段之后,增加所述计数器值的值。
全文摘要
本发明涉及用于通过数据网络传输数据文件的方法和系统。在一个形式中,本发明提供修改数据文件用于通过数据网络传输的方法。所述方法包括以下步骤接收原始数据文件并创建数据头文件,所述数据头文件包括原始数据文件的以字节为单位的长度。在原始数据文件中识别至少一个重复字节序列,所述重复字节序列包括在重复字节序列中连续重复的字节值。通过以重复标记、重复的字节值和重复频率值替换重复字节序列,来创建修改的数据文件,所述重复频率值表示在重复字节序列中的重复的字节值出现的次数。将重复标记加到数据头文件中。本发明还提供通过数据网络向远程设备传输数据文件的方法。
文档编号H03M7/30GK101523732SQ200780037001
公开日2009年9月2日 申请日期2007年8月31日 优先权日2006年9月1日
发明者B·帕克尔, R·W·霍德尔 申请人:帕克比特软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1