动态调整压缩率传输数据的方法及装置的制作方法

文档序号:7627407阅读:209来源:国知局
专利名称:动态调整压缩率传输数据的方法及装置的制作方法
技术领域
本发明涉及一种动态调整压缩率传输数据的方法及装置,尤其涉及应用于一共享总线(share bus)的动态调整压缩率传输数据的方法及装置。
在一个共享总线的系统(如Ethernet,USB,IEEE1394)中,每一个设备(device)所分配到的频宽并非事先可以预期。而在一个有限频宽的系统中,欲传输大量的数据(如图像、语音等数据),先压缩再传输至另一端,再解压缩是常用的方式。但是压缩的方式不同,所需的计算时间(computing time)也就不同。一般而言,压缩率愈大,所需的计算时间就愈长。系统设计者希望求得总传输时间(=压缩时间T1+压缩数据经由传输系统传至另一端T2+解压缩时间T3)的最小值。但在共享总线的系统中,每次设备所分配到的频宽并非一定,所以T2并非固定。假如T1,T3固定(压缩/解压缩方式固定),并无法保证T1+T2+T3为最小值。
请参见

图1。为了在有限的频宽下传输大量的数据,设备A的数据输出/入端11在数据输出的时候,会先经一压缩/解压缩装置12压缩数据,再由传送/接收装置13将数据送上共享总线(share bus)17,而在设备B会由传送接收装置14取得共享总线上传送给设备B的数据,经一压缩/解压缩装置15将数据解压缩,再传送至设备B的数据输入/出端16。
压缩率会影响到压缩/解压缩所需的时间(computer time)。一般而言,压缩率愈高,所需的压缩/解压缩的时间就愈长。
通常一系统设计者会根据压缩/解压缩所需的时间和经由特定传输线传递到远程所需的时间和数据的大小,来决定一适合于所述系统的压缩方式,以求得一个最佳值,亦即总传输时间(压缩时间T1+压缩后的数据经由传输线传送到远程的时间T2+解压缩时间T3)的最小值。
但是在共享总线的系统(如Universal Serial Bus、Ethernet、IEEE1394等)的配置中,任何一个装置(如扫描仪、打印机、数字照像机等)所分配到的频宽并非一定,而是根据在整个共享总线上有多少个装置去动态分配频宽给与一个装置,亦即数据经由共享总线传送到另一端所需的时间会随共享总线上装置的多少而变动。
所以系统设计者便无法决定最佳压缩率的压缩/解压缩方式,当然也就无法预期总传输时间(压缩时间+压缩后的数据经由传输线送到远程的时间+解压缩时间)的最小值。
本发明的目的在于提供一种动态调整压缩率传输数据的方法,可使数据的传输能相应不同的传输频宽仍有最小的总传输时间,以提升数据的传输效率;还可使共享总线的使用效率达到最佳的效果。
为实现上述目的,本发明的动态调整压缩率传输数据的方法,是于一第一设备与一第二设备之间传输数据时,先行检测所述第一设备传送一组数据至所述第二设备的时间,接着相应所述时间决定所述第一设备及第二设备的数据压缩/解压缩方法,以传输所述组数据至所述第二设备。
其中所述第一设备传送所述组数据至所述第二设备还进行接收所述第二设备送回的响应信号,以检测所述时间。
所述数据压缩/解压缩方法至少包含一高压缩率的压缩/解压缩方法及一低压缩率的压缩/解压缩方法,以相应所述时间,决定其中的一种压缩率的压缩/解压缩方法。
当然,所述高压缩率的压缩/解压缩方法可为霍夫曼(Huffman)压缩/解压缩方法,而所述低压缩率的压缩/解压缩方法可为PCX-RLE压缩/解压缩方法。
为实现上述目的,本发明提供一种动态调整压缩率传输数据的装置,用以传输一组数据,它包括一控制单元,用以传输所述组数据及检测传输所述组数据的时间;以及一压缩/解压缩装置,用于所述控制单元接收所述组数据时予以解压缩,并于所述控制单元传送所述组数据时予以压缩,且相应传输所述组数据的时间,以不同的压缩率压缩/解压缩所述组数据。
当然,所述数据压缩/解压缩装置至少包含一高压缩率的压缩/解压缩装置及一低压缩率的压缩/解压缩装置。而所述高压缩率的压缩/解压缩装置为一可执行Huffman压缩/解压缩的装置,所述低压缩率的压缩/解压缩方法为一可执行PCX-RLE压缩/解压缩的装置。
采用本发明的上述技术方案,可相应数据传输的时间长短,动态调整不同的压缩/解压缩方法,可以使数据的传输获得一最佳方式,并可减少总传输时间及提高传输线的使用效率。本发明可应用于各种共享总线。
为更清楚理解本发明的目的、特点和优点,下面将结合附图对本发明进行详细说明。
图1是现有的数据传输示意图;图2是本发明的数据传输示意图;图3是动态调整压缩率传输数据流程图;图4是本发明应用于USB的实施例的示意图;图5是图4的分时拆解示意图。
上述的霍夫曼(Huffman)压缩/解压缩、PCX-RLE压缩/解压缩、控制单元等为现有技术而为本领域的技术人员熟悉,故本发明不多加赘述。下面将详细说明本发明传输数据的流程及原理等。
请参见图2。本发明动态调整压缩率传输数据的装置主要由控制单元21及压缩/解压缩装置23(或22,24)组成,再经由数据输入端11(或16)及传送/接收装置13(或14)的配合,以达动态调整压缩率传输数据的目的。
本发明有别于现有技术之处在于现有技术并无自动调整压缩率的机制,而在本发明中可通过控制单元与压缩/解压缩装置的互动即可达动态调整的目的。
在设备A,数据从数据输入/出端11送至控制单元21,控制单元决定压缩/解压缩装置13所采用的压缩/解压缩方式进行数据压缩,再由传送/接收装置13将设备A压缩过的数据放到共享总线(share bus)上,设备B的传送/接收装置14接收设备A压缩过的数据,在压缩/解压缩装置,以同样的压缩/解压缩方式进行数据解压缩的动作。当然,压缩/解压缩方式是由控制单元22所决定。数据经解压缩后,由控制单元22分配给所需的数据输入/出端16,以完成数据的传送的动作。
当然,压缩/解压缩的方式可以在系统一开始时加以设定,也可以在系统传输中相应共享总线(share bus)的频宽的多少进行动态调整。
在一开始,设备A与设备B的压缩/解压缩方式可通过先传送/接收一组测试封包(test packet),计算所述组封包来回所需的时间,来加以决定。若数据传输时间较长,代表共享总线的负载较大,设备A与设备B所分到的频宽较小,此时设备A与设备B的压缩/解压缩方式宜采用压缩率较高的,将数据量压缩得更小,再放上共享总线上,一方面减少总传输时间(T1+T2+T3),另方面可降低共享总线的负载。同理,若测得的数据传输时间较短,则可用压缩率较小的压缩/解压缩方式来进行传输。这样可提高共享总线的使用效率,同时总传输时间亦可得一最小值。
在数据传输当中,可能会有另外的设备加入或退出共享总线传输的行列,设备A与设备B的控制单元21,22在传输过程中,己时时注意数据来回的时间,传输时间一有变化(另外的设备加入或退出共享总线),则可适时调整,采用不同压缩率的压缩/解压缩方法,以达到动态调整的目的。
请参见图3。本发明动态调整压缩率传输数据的方法是用于设备A与设备B之间,当设备A传输数据至设备B时,检测设备A传送一组数据至设备B的时间,以及相应时间的长短决定设备A及设备B使用何种数据压缩/解压缩方法,以传输数据至设备B。其详细步骤如下步骤31在数据传输初,设备A与设备B必须预设一相同的压缩/解压缩方法来进行数据的传输。
步骤32数据传输中,设备A(B)的控制单元,根据其所能分配到的频宽决定要使用的压缩/解压缩方法。
步骤33在决定使压缩/解压缩方法后,必须通知设备B(A)的控制单元,以求得二设备所使用的压缩/解压缩方法一致。
步骤34接着,二设备各使用约定的压缩/解压缩方法压缩/解压缩数据,并传送数据。
在作法上,动态压缩解压缩装置23,24可以由软件完成,也可以采硬件的方式。当然,以结构而言,动态压缩/解压缩装置至少应包含一高压缩率的压缩/解压缩装置及一低压缩率的压缩/解压缩装置,换言之,至少应提供二种压缩/解压缩的方法(如Huffman,PCX-RLE等),以相应不同的传输频宽的需求。
图4及图5是本发明应用于USB的实施例。第一设备为扫描仪(scanner),第二设备为个人电脑(PC)。另外,为了说明传输频宽的影响,以第三设备的打印机(printer)加入(或退出)共享总线的情况进一步说明如下假设在t1时扫描仪(scanner)(A)想对个人电脑(PC)端(B)送一个图形数据文件,假设这一个数据文件有40MByte,这时(t1)在打印机(printer)(C)上并无数据在USB上传送,这时扫描仪(A)完全享有USB 12Mb/s的全部频宽于是扫描仪在开始传送数据前会送出一组测试封包(test packet),并等待个人电脑(B)的送还封包(return packet)。扫描仪收到由个人电脑(B)的送还封包时,判断USB上的信息量(traffic)很低(因为从传送到收到测试封包的时间很短)。于是扫描仪决定使用压缩比较低但压缩/解压缩时间较快的Huffman法来压缩数据。假设到了(t2)时,此组图形数据已传送了20Mbyte,这时打印机有数据想在USB上传送。此时(t2)USB上的12Mb/s频宽必需由打印机及扫描仪分享。由于扫描仪每送一组封包到个人电脑端,个人电脑端收到此组封包后必须回一组封包告诉扫描仪确认此组封包收到无误。在(t2)后,扫描仪可以知道封包从扫描仪发出到收到确认封包的时间大于(t1-t2)时。于是扫描仪决定使用在压缩比较高,但压缩/解压时间较长的PCX-RLE压缩方式来压缩数据,以求得较佳的值,亦即(压缩数据时间+传送压缩的数据时间+解压缩时间为最小)。假设到了(t3)时打印机已不再传送数据,扫描仪又完全享用USB的全部频宽,扫描仪又可用Huffman压缩方式来传送数据。
Huffman及PCX-RLE二压缩/解压缩方法并非唯一选择,还可视需求而采用市面上其它种压缩/解压缩方法,仍可达动态调整的目的。而二种压缩/解压缩方法只是本发明的一实例而已,设计者还可采二种以上的压缩/解压缩方法,以增加调整的弹性。
由上述的图解及说明可知,相应数据传输的时间长短,动态调整不同的压缩/解压缩方法,可以使数据的传输得一最佳方式,以达到减少总传输时间,及增加传输线的使用效率的目的。其次,本发明可应用于各共享总线上,文中已举一应用于USB的实际例子以使本领域的技术人员清楚理解本发明。
权利要求
1.一种动态调整压缩率传输数据的方法,用于一第一设备与一第二设备之间将所第一设备数据传输至所述第二设备,其特征在于,包括下列步骤检测所述第一设备传送一组数据至所述第二设备的时间;以及相应所述时间决定所述第一设备及第二设备的数据压缩/解压缩方法,以传输所述组据至所述第二设备。
2.如权利要求1所述的动态调整压缩率传输数据的方法,其特征在于,所述第一设备传送所述组数据至所述第二设备还进行接收所述第二设备送回的响应信号,以检测所述时间。
3.如权利要求1所述的动态调整压缩率传输数据的方法,其特征在于,所述数据压缩/解压缩方法至少包含一高压缩率的压缩/解压缩方法及一低压缩率的压缩/解压缩方法,以相应所述时间,决定其中一种压缩率的压缩/解压缩方法。
4.如权利要求3所述的动态调整压缩率传输数据的方法,其特征在于,所述高压缩率的压缩/解压缩方法为霍夫曼(Huffman)压缩/解压缩方法。
5.如权利要求3所述的动态调整压缩率传输数据的方法,其特征在于,所述低压缩率的压缩/解压缩方法为PCX-RLE压缩/解压缩方法。
6.一种动态调整压缩率传输数据的装置,用以传输一组数据,其特征在于,它包括一控制单元,用以传输所述组数据及检测传输所述组数据的时间;以及一压缩/解压缩装置,用于所述控制单元接收所述组数据时予以解压缩,并于所述控制单元传送所述组数据时予以压缩,且相应传输所述组数据的时间,以不同的压缩率压缩/解压缩所述组数据。
7.如权利要求6所述的动态调整压缩率传输数据的装置,其特征在于,所述数据压缩/解压缩装置至少包含一高压缩率的压缩/解压缩装置及一低压缩率的压缩/解压缩装置。
8.如权利要求7所述的动态调整压缩率传输数据的装置,其特征在于,所述高压缩率的压缩/解压缩装置为一可执行霍夫曼(Huffman)压缩/解压缩的装置。
9.如权利要求7所述的动态调整压缩率传输数据的装置,其特征在于,所述低压缩率的压缩/解压缩装置为一可执行PCX-RLE压缩/解压缩的装置。
全文摘要
本发明的动态调整压缩率传输数据的方法,是用于一第一设备与一第二设备之间,于所述第一设备传输数据至所述第二设备时,检测所述第一设备传送一组数据至所述第二设备的时间,以及相应所述时间,决定所述第一设备及第二设备的数据压缩/解压缩方法,以传输所述笔数据至所述第二设备。本发明的装置是由一控制单元及一压缩/解压缩装置组成,以相应数据传输的时间变化,设定不同的压缩/解压缩方法,进行传输数据,以提高传输的效率。
文档编号H04B1/66GK1385969SQ0111696
公开日2002年12月18日 申请日期2001年5月10日 优先权日2001年5月10日
发明者朱炳盈 申请人:华邦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1