生成解压数据的方法和设备的制作方法

文档序号:75587阅读:258来源:国知局
专利名称:生成解压数据的方法和设备的制作方法
技术领域
本说明书所公开的一项技术涉及从外部设备下载图像对象的压缩数据,并且通过 对下载的压缩数据进行解压来生成解压数据以生成打印数据的技术。
背景技术
(1)目前存在从外部设备下载图像对象的压缩数据、通过对所下载的压缩数据进 行解压来生成解压数据、并且将所生成的解压数据转换成打印数据的打印机。例如,解压数 据为由多层RGB(例如256层)表示的位图数据。打印数据是由层数小于解压数据的层来 表示的位图数据。打印数据的层数将取决于打印机的具体结构。换句话说,对于只使用点 的存在与否来打印的打印机,打印数据将用2层(例如0和1)来表示。反之,对于采用大 点、中点、小点和无点来打印的打印机,打印数据将用4层(例如0、1、2和3)来表示。
(2)目前存在以区为单元生成打印数据的打印机。例如,在公开号2002-96506的 日本专利申请中公开了这种类型的打印机。
(3)目前存在可以执行所谓的索引打印的打印机。换句话说,目前存在调整多个图 像对象以便在一页上进行打印的打印机。例如,在公开号11-312069的日本专利申请中公 开了这种类型的打印机。

发明内容
从外部设备下载多个图像对象的方法可以示例如下通过使用多个连接并行下载 多个图像对象的方法(下面称之为多连接);以及通过使用一个连接下载多个图像对象的 方法(下面称之为单连接)。当通过多连接从外部设备下载多个图像对象时,打印机同时发 送多个请求到外部设备。与多连接相对应的外部设备对每一个请求做出响应,并且发送图 像对象的压缩数据。
当通过单连接下载图像对象时,不会向外部设备同时发送多个请求,而是在下载 一个图像对象之后,下载下一个图像对象。通过单连接下载图像对象,甚至可以从不与多连 接相对应的外部设备(通过单连接的方式进行通信的外部设备)可靠地获取图像对象。
反之,当例如以区为单元生成用于上述索引打印的打印数据时,在一个区中可以 包括多个图像对象。例如,图1示出了其中将用于在打印介质100上进行打印的打印数据 被分成多个区130、132、134的情况。在该例子中,将依次生成用于每一个区130、132、134 的打印数据。换句话说,将生成并打印用于第一区130的打印数据,将生成并打印用于下一 个区132的打印数据,并且将生成并打印用于下一个区134的打印数据。如图1所示,在一 个区130中可以包括多个图像对象110、120。进而,一个图像对象可以跨越两个或多个区分布。在图1的例子中,图像对象110具有包括在区130中的部分110a,和包括在区132中的 部分110b。
当通过单连接下载两个图像对象110、120以生成用于区130的打印数据时,这两 个图像对象不能同时下载。换句话说,必需下载图像对象110,然后下载另一个图像对象 120。在该例子中,所考虑的方法是下载形成图像对象110的所有压缩数据、并且通过对压 缩数据进行解压来生成用于图像对象110的所有解压数据。然而,在这种情况下,用于图像 对象110的解压数据的部分110b为生成用于区130的打印数据所不需要的数据。生成解 压数据的设备需要隐藏用于图像对象110的解压数据的部分110b,直到生成了用于区132 的打印数据的阶段为止。换句话说,需要在生成用于图像对象120的解压数据并且生成用 于区130的打印数据的同时暂时将部分110b存储在存储器中的设备。这种情况给存储器 施加了压力。
本说明书公开了在将通过单连接下载多个图像对象的压缩数据并且将生成解压 数据的情况下,有效生成解压数据的技术。
简单地说,在图1的例子中,当下载用于图像对象110的压缩数据时,会出现外部 设备被请求只发送与部分110a相对应的压缩数据的情况。然而,如果不试图对压缩数据解 压,则不会知道解压数据与哪一个区相对应。由于这个原因,本说明书实现了通过使用以下 方法的解压数据有效生成。
下面将参照图2描述本说明书中所公开的一种解压数据生成的方法。图2示出了 将用于在打印介质200上进行打印的打印数据被分成多个区230、232、234的情况。图2的 数据只是举例说明。本说明书中所公开的技术范围不应由通过图2的内容和以下相关解释 而狭义地解释。
本说明书中所公开的解压数据生成的方法将从采用了单连接的外部设备下载多 个图像对象210、220的压缩数据,并且通过对所下载的压缩数据进行解压来生成解压数据 以生成打印数据。上述外部设备并没有做特别限定,并且可以是任意一种类型的设备。例 如,外部设备可以是个人计算机、服务器、数码相机、便携式存储器等。该解压数据生成的方 法可以包括以下步骤的每一个
(1)第一下载步骤,下载第一图像对象210的第一压缩数据240。第一压缩数据 240具有预定尺寸。第一图像对象210将被包括在打印数据的第一区230和与第一区230 相邻的打印数据的第二区232两者中。
(2)第一解压步骤,通过对在第一下载步骤中所下载的第一压缩数据240进行解 压来生成第一解压数据。
(3)判定步骤,判定是否已经生成了对应于第一区230的所有第一解压数据210a。 上述“对应于第一区230的所有第一解压数据210a”指的是生成用于第一区230的打印数 据所需要的所有第一解压数据210a。例如,在仅生成第一压缩数据240的第一解压数据的 阶段,在本判定步骤上得到否定判定。在这种情况下,将执行下一个步骤。
(4)重复步骤,当在判定步骤中获得否定判定时,重复第一下载步骤、第一解压步 骤和判定步骤。换句话说,在第一压缩数据240之后将下载第一压缩数据242,将对该数据 进行解压,并且将执行上述判定步骤。在这种情况下,由于还尚未生成所有第一解压数据 210a,因此将再次执行上述步骤。换句话说,将下载第一压缩数据244、对该数据进行解压,并且执行上述判定步骤。该步骤还针对第一压缩数据246和第一压缩数据248执行。当对 第一压缩数据248进行解压并且生成解压数据时,将已经生成了所有第一解压数据210a。 这样,在判定步骤中将得到肯定判定。在这种情况下,将执行下一个步骤。
(5)第二下载步骤,在判定步骤中获得肯定判定的情况下,下载第二图像对象220 的第二压缩数据。第二图像对象将被包括在第一区230中。注意,在第二下载步骤中,可 以下载上面提到的预定尺寸的第二压缩数据,或者可以下载位于另一个单元的第二压缩数 据。
(6)第二解压步骤,通过对在第二下载步骤中所下载的第二压缩数据进行解压来 生成第二解压数据。
上述方法逐渐下载第一图像对象210的压缩数据(在上述预定尺寸的单元中下 载),对数据进行解压,并且执行上述判定步骤。如果在判定步骤中得到肯定判定,则停止 下载第一图像对象210,并且开始下载第二图像对象220。结果是将只生成为了生成用于第 一区230的打印数据所需要的第一解压数据210a。否则,即使生成了与第二区232相对应 的解压数据(例如参见图2的附图标记248),也是可忽略的量,并且并不意味着将生成与 第二区232相对应的所有解压数据210b。当使用该解压数据创建方法时,不需要将与第二 区232相对应的所有解压数据210b隐藏直到将生成用于第二区232的打印数据的阶段为 止。根据该方法,在将通过单连接下载多个图像对象的压缩数据并且将生成解压数据的情 况下,可以有效生成解压数据。
注意,上述方法可以进一步包括数据尺寸存储步骤,存储在每一个第一下载步骤 中下载的第一压缩数据的总数据尺寸。在这种情况下,每一个第一下载步骤可以包括请求 外部设备发送紧接着在数据尺寸存储步骤中存储的总数据尺寸的值之后的预定尺寸的第 一压缩数据。根据该结构,在每一个第一下载步骤中可以以预定尺寸单元来下载第一压缩 数据。即使解压数据超过一个区的量,当将下载下一个压缩数据时,由于从紧接着上一个下 载压缩数据的压缩数据开始进行下载,因此也不会发生压缩数据的不必要下载。
注意,使用上述压缩数据生成的方法的打印数据生成的方法也是新颖的。该打印 数据生成的方法可以通过转换由上述方法所生成的第一解压数据和第二解压数据来生成 用于第一区的打印数据。
另外,更为一般地,上述方法还可以如以下的下载方法来实现。换句话说,该下载 方法将使用单连接以生成打印数据,以及从外部设备下载用于多个图像对象的数据。该方 法可以包括以下步骤
(1)第一下载步骤,下载第一图像对象的第一数据。该第一数据具有预定尺寸。第 一图像对象将被包括在打印数据的第一区和与第一区相邻的打印数据的第二区两者中。
(2)判定步骤,判定是否已经下载了对应于第一区的所有第一数据。
(3)重复步骤,当在判定步骤中获得否定判定时,重复第一下载步骤和判定步骤。
(4)第二下载步骤,当在判定步骤中获得肯定判定时,下载第二图像对象的第二数 据。第二图像对象将被包括在第一区中。
根据本方法,通过单连接可以有效下载多个图像对象的数据。
可以执行布局处理,确定多个图像对象和每一个区之间的相对位置关系。可以根 据在XHTML打印数据中包括的每一个图像对象的位置数据来执行布局处理。[0031]以其在打印介质上被打印的次序来生成用于每一个区的打印数据。一个区的带宽 可以例如根据喷墨头在一个行程中能够打印的范围来设置。
打印数据可以为所谓的二进制数据。打印数据可以是其他类型的数据(例如多值 数据)。

[0033]图1示出了用于描述其中以区为单元生成打印数据的情况的图[0034]图2示出了用于描述在本说明书中公开的一种方法的图;[0035]图3示出了实施例的多功能设备系统的结构;[0036]图4示出了多功能设备的RAM的存储内容的例子;[0037]图5示出了由多功能设备执行的处理的流程图;[0038]图6示出了图5的流程图的延续部分;[0039]图7示出了图6的流程图的延续部分;[0040]图8示出了 XHTML打印数据的例子;[0041]图9示出了 XHTML打印数据的例子;[0042]图10示出了 XHTML打印数据的例子;[0043]图11示出了用于描述在XHTML打印数据中包括的空白等的图;[0044]图12示出了在一页打印介质上分布了多个图像对象的情况;[0045]图13示出了 JPEG文件的简化数据结构;[0046]图14示出了 HTTP请求的例子;[0047]图15示出了 HTTP响应的例子;以及[0048]图16示出了用于描述逐渐下载图像对象的情况的图。
具体实施方式
下面参照附图来描述实施例。图3示出了本实施例的多功能设备系统2。多功能 设备系统2包括PC 10和多功能设备40。
(PC 的结构)
PC 10包括操作设备12、显示设备14、控制器16和网络接口 24。操作设备12由 键盘和鼠标构成。用户可以通过操作操作设备12来将各种数据和命令输入到PC 10。例 如,用户可以将打印命令输入到PC10。结果是以下描述的XHTML打印数据将被从PC 10发 送到多功能设备40。显示设备14可以显示各种信息。
控制器16具有CPU 18,ROM 20和RAM 22等。CPU 18将根据在ROM 20中存储的 各种程序来执行处理。ROM 20存储各种类型的程序。例如,ROM 20存储用于执行将生成下 面所描述的XHTML打印数据并且将该数据发送到多功能设备40的处理的程序。RAM 22可 以暂时存储CPU 18在执行处理期间所产生的各种信息。网络接口 24连接到网络线60。网 络线60连接到多功能设备40。PC 10可以经由网络接口 24与多功能设备40通讯。
(多功能设备的结构)
多功能设备40具有操作设备42、显示设备44、打印设备46、扫描设备48、控制器 50和网络接口 58。操作设备42由多个键组成。用户可以通过操作操作设备42来将各种
7数据和命令输入到多功能设备40。显示设备44可以显示各种信息。本实施例的打印设备 46为喷墨型打印设备。打印设备46可以根据下面描述的二进制数据(打印数据)在打印 介质上打印。扫描设备48可以扫描原始文件,以生成图像数据。
控制器50具有CPU 52、ROM 54和RAM 56等。CPU 52将根据在ROM 54中存储 的各种程序来执行处理。ROM 54存储各种类型的程序。例如,ROM 54存储用于执行根据 XHTML来确定二进制数据的布局的处理、下载图像对象的压缩数据的处理、对压缩数据解压 并且生成解压数据的处理、以及将解压数据转换成二进制数据的处理等的程序。RAM 56可 以暂时存储CPU 56在执行处理期间所产生的各种信息。下面将详细描述在RAM 56中存储 的信息的内容。网络接口 58连接到网络线60。网络线60连接到PC 10。多功能设备40 可以经由网络接口 58与PC 10通讯。
(由多功能设备存储的数据的内容)
图4示出了多功能设备40的RAM 56的存储内容的例子。RAM 56具有XHTML打印数 据存储器(XPM) 70、上下文数据存储器(CDM) 72、解压数据存储器(DDM)86、区存储器(BM)88 和其他存储区域90等。XPM 70可以存储将从PC 10发送的XHTML打印数据。下面将详细 描述XHTML打印数据的内容。CDM 72可以关联和存储图像对象的地址(文件名)74、元信 息76、索引78、压缩数据80和接收标记82。下面将详细描述每一个数据74至82的内容。 DDM 86可以存储解压数据。BM 88可以存储一个区的二进制数据。存储区域90可以存储 各种数据。如果需要下面将详细描述由存储区域90存储的数据的内容。
(由PC执行的处理)
如上面所提到的,用户可以通过操作PC 10的操作单元12来输入打印命令。在这 种情况下,PC 10从计划要打印的数据生成XHTML打印数据(下面详细描述)。PC 10将发 送XHTML打印数据到多功能设备40。结果是多功能设备40将执行下面的图5至图7的每
一个处理。
(由多功能设备所执行的处理)
下面描述由多功能设备40执行的处理。这些处理将通过多功能设备40的CPU 52 来执行。图5至7示出了当从PC 10发送XHTML打印数据时,由多功能设备40执行的处理 的流程图。
当接收到XHTML打印数据时(S10),CPU 52将在XPM 70中存储XHTML打印数据 (见图4)。接下来,CPU 52将建立到PC 10的TCP连接(S12)。接下来,CPU 52将根据存 储在XPM 70中的XHTML打印数据来执行布局处理(S14)。下面将详细描述布局处理。
图8至10示出了 XHTML打印数据的例子。如图8所示,XHTML打印数据300包括 参考 URL 302。参考 URL 302 包括 PC 10 的 IP 地址“ 192. 168. 0. 100” 和“photo”。多功能 设备40将下载在参考URL 302中包含的图像对象的压缩数据(图像文件;下面将详细描 述)、对其解压以生成解压数据,并且将解压数据转换成二进制数据(打印数据)。XHTML打 印数据300包括文本串304,其指示打印介质的规则;文本串306,其指示可以打印的区域; 打印介质的尺寸307 ;以及空白308。下面将详细描述什么是空白和如何使用空白。
如图9所示,XHTML打印数据300包括空白310 (下面将详细描述)。另外,XHTML 打印数据300包括数据315,其指示图像对象的位置。在本实施例中,将在安排了 8个图像 对象的状态下打印一页。换句话说,8个图像对象将被索引打印。由于这一原因,数据315包括用于8个图像对象的每一个的位置数据。每一个图像对象的位置数据包括空白320、 322、324、宽度326和高度328(下面详细描述)。另外,XHTML打印数据300包括类别属性 340,其更加详细地指示图像对象的位置。类别属性340表示图像对象的旋转角和更具体的
空白等。
如图10所示,XHTML打印数据300包括数据350,其指示每一个图像对象的文件名 352和类别354。例如,数据350包括“photoOOl. jpg”的文件名352和“ img_34_0deg,,的 类别354。类别354对应于图9的附图标记340a的类别属性。换句话说,对应于数据350a 的图像对象具有“photo 001. jpg”的文件名352,并且根据类别属性340a设置旋转角和具 体空白。在本例子中,附图标记340a的类别属性包括“image_orientation:0deg”。这意味 着与数据350a相对应的图像对象的旋转角为“0”。注意,省略了在类别属性340a中包括的 详细空白的描述。
图11示出了用于描述在XHTML打印数据中包括的每一个空白等的含义的图。附图 标记400指示一页打印介质(例如打印纸)。打印介质400的尺寸是通过图8的尺寸307 来设置的。在本例子中,使用了信纸尺寸打印介质400。空白408对应于图8的空白308。 在本例子中,空白408为“0.2”(英寸)。空白409是事先由多功能设备40确定的值。空白 410对应于图9的空白310。在本例子中,空白410为“0”。这样,就限定了页面区域406。 在页面区域406的内部将安排多个图像对象。
页面区域406的空白422对应于图9的空白322。例如,在图9的位置数据315a 中空白322为“0”。由于这一原因,空白422还将为“0”。页面区域406的空白424对应于 图9的空白324。例如,在图9的位置数据315a中空白324为“0. 466”(英寸)。由于这一 原因,空白424还将为“0. 466”(英寸)。页面区域406的空白420对应于图9的空白320。 例如,在图9的位置数据315a中空白320为“0”。由于这一原因,空白420还将为“0”。宽 度426对应于图9的宽度326。例如,在图9的位置数据315a中宽度326为“3. 25” (英 寸)。由于这一原因,宽度426还将为“3. 25”(英寸)。高度428对应于图9的高度328。 例如,在图9的位置数据315a中高度328为“2. 5”(英寸)。由于这一原因,高度428还将 为“2.5”(英寸)。
图像对象的位置可以通过参照在XHTML打印数据300中包括的每一个空白等来设 置。换句话说,在图11的例子中,一个图像对象将安排于由附图标记450所指示的区域中。 如上指出的,XHTML打印数据300包括用于8个图像对象的每一个的位置数据315 (参见图 9)。由于这一原因,可以设置8个图像对象在图11的打印介质400上的位置。在图5的布 局处理S14中,CPU 52将根据XHTML打印数据300设置8个图像对象的位置。图12示出 了图像对象510、520、530、540在打印介质400上的位置。注意,虽然实际上存在8个图像 对象,但是在图12中,只显示了打印介质400的上半部,并且只显示了四个图像对象510、 520、530、540。
CPU 52将以区为单元生成和打印二进制数据。换句话说,在打印一页打印介质 400中所使用的二进制数据将被分成多个区480、482、484、486。虽然下面对其详细描述,但 是CPU 52首先生成和打印第一区480的二进制数据。接下来,CPU 52将生成和打印第二 区482的二进制数据。通过为第三区484和其后续重复该处理,将打印与一页打印介质400 相对应的所有二进制数据。注意,一个区的区宽度(在图12的垂直方向上的长度)是喷墨头在一个行程中可以打印的宽度。另外注意,区宽度可以由另一参照物来确定。
返回到图5,继续描述由CPU 52执行的处理。布局处理S14中所生成的布局数据 (指示图像对象和区的位置之间的相对位置关系的数据)被暂时存储在例如存储区域90 中(见图4)。当将执行布局处理时,CPU 52将限定第一区480作为处理区。另外,在S16 中,CPU 52将清空BM 88 (见图4)。接下来,CPU 52将判定在处理区中是否包括了图像对 象(S18)。例如,在图12的例子中,图像对象510、520包括在第一区480中。在这种情况 下,CPU 52将判定在S18中的答案为是。当在S18中答案为是时,CPU 52将确定待处理的 图像对象(S20)。例如,当存在类似于图12所示的两个图像对象510、520时,确定对象中的 一个(在本说明书中假设是图像对象510)。当完成S20时,处理进展到图6的S50。
在S50中,CPU 52将确定是否存在待处理的图像对象的上下文数据。图4的CDM 72可以存储用于每一个图像对象的上下文数据。通过检查CDM 72的存储内容,CPU 52将 判定是否已经生成了待处理的图像对象的上下文数据。例如,当图12的第一区480为处理 区时,仍然不会存在图像对象的上下文数据。在这种情况下,将确定在S50中答案为否。
在S50中答案为否的情况下,CPU 52将生成待处理的图像对象510的上下文数据, 并且将其存储在CDM 72中(S52)。首先,CPU 52将图像对象510的文件名“photo 001. jpg”存储在CDM 72中。在这种情况下,在元信息76、索引78和压缩数据80中没有存储任 何内容。另外,接收标记82为“0”。
接下来,CPU 52将发送请求到PC 10,以只以待处理的图像对象510(本实施例中 的JPEG文件)的预定字节数(本实施例中假设为“4000字节”)答复(S54)。更具体地,将 发送包括图像对象510的文件名“photo 001. jpg”的HTTP请求。HTTP请求包含请求4000 字节部分(0至3999字节的范围)的文本串。结果是PC 10将“photo 001. jpg”的JPEG文 件中包括的4000字节发送到多功能设备40 (HTTP响应)。注意,本实施例的多功能设备40 将经由单连接与PC 10执行数据通信。换句话说,CPU 52不会同时发送多个HTTP请求。CPU 52将发送一个HTTP请求,并且如果接收与之相对应的HTTP请求,其将发送下一个HTTP请 求。
这里将描述JPEG文件的数据结构。图13示出了 JPEG文件的简化数据结构。JPEG 文件610包括元信息612和压缩数据614。元信息612包括与图像有关的参数(分辨率等) 和对压缩数据614进行解压所需的参数(哈夫曼表等)。压缩数据614为其中已经压缩了 图像对象的JPEG图像数据(下面描述的解压数据)的项目。对于JPEG文件610,元信息 612为其第一部分,压缩数据614紧接其后。因此,当多功能设备40请求PC 10从其开始发 送数据时,PC 10首先以元信息612答复。
例如,当图6的S54的处理被设置以图像对象510开始时,CPU 52将发送图像对 象510的第一至第3999个字节的范围中用于请求答复的HTTP请求。图14示出了 HTTP请 求700的例子。HTTP请求700包括图像对象510的文件名710。另外,HTTP请求700包括 文本串702,其指示数据范围。例如,当在从第一至第3999个字节的范围中请求发送时,整 数“0-3999”被插入到文本串702中。这将导致PC 10采用包括了从第一至第3999个字节 的数据的HTTP响应来答复多功能设备40。
图15示出了 HTTP响应的例子。HTTP响应710包括文本串712,其指示已经提供了 什么数据范围;以及文本串714,其指示JPEG文件600的总数据尺寸。HTTP响应710可以包括元信息(参见图13的附图标记612)和/或压缩数据(见图13的附图标记614)。HTTP 响应710中包括的数据将根据HTTP响应710的内容而改变。例如,当元信息是JPEG文件 600的第一至第6000字节并且接收到请求包含有其第一至第3999个字节的答复的HTTP请 求700时,HTTP响应710将只包括元信息。另外,当在上述例子中接收到请求第4000至第 7999个字节的HTTP请求700时,HTTP向应710将包括元信息和压缩数据两者。另外,当在 上述例子中接收到请求第8000至第11999个字节的HTTP请求700时,HTTP响应710将只 包括压缩数据。注意,在图15中,图示了在HTTP响应710中包括的压缩数据716。
当执行如图6所示的处理S54时,由多功能设备40接收数据的4000字节部分 (S56)。CPU 52将增加CDM 72的索引78 (见图4)。例如,当所接收的数据范围是从图像对 象510的第一至第3999个字节时(photo 001. jpg),对应于图像对象510的上下文数据的 索引78将增加到“3999”。注意,当在S56中接收到元信息时(见图13),CPU52将元信息 612存储在CDM 72中。这样,CPU 52可以使用存储在CDM 72中的元信息612,并且在后续 步骤中对压缩数据解压(图7的S70)。
接下来,CPU 52将判定是否接收到所有元信息(S58)。例如,数据可以被包括在可 以计算元信息本身的总数据尺寸的元信息612中(见图13)。CPU 52可以计算元信息612 的总数据尺寸,并且由索引78来判定是否接收到总数据尺寸。在S58中答案为否的情况下, CPU 52将返回到S54,并且执行HTTP请求。该HTTP请求包括请求紧接着索引78中所存储 的值(例如3999)4000字节部分(4000 7999)的发送的文本串702 (见图14)。
在S58中答案为是的情况下,已经接收到所有的元信息610。例如,当JPEG文件 610的元信息612为6000字节时,将在第一个S56中接收元信息612的第一至第3999字 节,然后在下一个S56中将接收元信息612的第4000至第6000个字节(换句话说,所有的 元信息)。在这种情况下,还将接收从第6001至第7999个字节的压缩数据614。在这种情 况下,将执行处理S60。在S60中,CPU 52将在CDM 72中存储压缩数据(见图4)。例如, 当接收了图像对象510 (photo 001. jpg)的压缩数据时,图像对象510的文件名将与之关联 并且将存储压缩数据80。当S60结束时,CPU 52将进展到S70。
在S70中,CPU 52将通过对在S60中在CDM 72中存储的压缩数据解压来生成解 压数据。该解压数据将暂时存储在DDM 86中(见图4)。进而,CPU 52将存储在DDM 86中 的解压数据转换成二进制数据,并且将该二进制数据写入到BM 88(见图4)。解压数据为 256彩色RGB位图数据。二进制数据为解压数据被二元化的位图数据。打印设备46 (见图 3)在后续步骤中可以根据二进制数据而在打印介质400上生成多个点(图5的S32)。注 意,下面有时二进制数据将称为“打印数据”。当CPU 52生成解压数据和二进制数据时,将 清除在CDM 72中存储的压缩数据,并且清除在DDM 86中存储的解压数据。
图16示出了用于描述将生成两个图像对象510、520的解压数据的情况的图。通过 执行如上指出的处理S70,将生成对应于图像对象510的部分510a的解压数据(二进制数 据)。CPU 52将判定是否已经生成了对应于待处理的图像对象510的处理区(第一区480) 的所有解压数据(换句话说,二进制数据)(S72)。例如,在生成了对应于图1的部分510a 的解压数据的阶段上,还没有生成在第一区480中包括的部分510b、510c的解压数据。在 这种情况下,CPU 52将判定在S72中答案为否。
在S72中答案为否的情况下,CPU 52将发送HTTP请求到PC 10 (S74)。HTTP请求包括用于请求紧接着索引78中存储的值(例如7999)的4000字节部分(8000 11999) 的发送的文本串702 (见图14)。换句话说,CPU 52将请求紧接着图6的S56中所接收的压 缩数据的压缩数据。这导致多功能设备40接收4000字节的压缩数据(S76)。进而,CPU 52 将增加CDM 72的索引78 (见图4),并且将在CDM 72中存储压缩数据。接下来,CPU 52将 判定是否接收到组成图像对象510的所有压缩数据(S78)。在S78中,当存在4000字节响 应作为发送用于4000字节部分的请求的结果时,将判定答案为否。反之,当存在少于4000 字节响应作为发送用于4000字节部分的请求的结果时,将判定答案为是。
在S78中答案为否的情况下,CPU 52返回到S70、对压缩数据解压、生成解压数据, 并且然后将解压数据转换成二进制数据(打印数据)。这样,将生成图16的部分510b的 解压数据,并且部分510b的二进制数据将被写入到BM 88。在这个阶段,将再次判定在S72 中答案为否。这导致CPU 52重复处理S74、S76、S70。这样,将生成图16的部分510c的解 压数据,并且部分510c的二进制数据将被写入到BM88。注意,部分510c还将延伸跨越第二 区482。在这种情况下,CPU 52只将包括在第一区480中的二进制数据写入到BM 88。另 外,在处理S70中,CPU 52将只从CDM 72清除生成对应于第一区480的解压数据所需的压 缩数据。换句话说,生成对应于第二区482的解压数据所需的压缩数据仍将存储在CDM 72 中。当生成对应于第二区482的解压数据时,将使用该压缩数据。
当生成了对应于图16的部分510a、510b、510c的二进制数据时,将判定在S72中 答案为是。在这种情况下,CPU 52将进展到图7中S84。在S84中,CPU 52将判定待处理 的图像对象510的压缩数据是否在CDM 72中,以及接收标记82是否为“1”(见图4)。在 S78中答案为是的情况下接收标记82将为“1”。换句话说,当已经接收了图像对象510的 所有压缩数据时,对应于图像对象510的接收标记82将为“1”。在已经生成了对应于图16 的部分510a、510b、510c的二进制数据的阶段上,还没有接收到图像对象510的所有压缩数 据。由于这一原因,将在S84中判定答案为否。在这种情况下,CPU 52将跳过S86,并且进 展到图5的S30。反之,在S84中答案为是的情况下,CPU 52将从CDM 72中清除对应于待 处理的图像对象(例如510)的上下文数据。
在图5的S30中,CPU 52判定在处理区(第一区480)中是否存在未被处理的图像 对象。换句话说,CPU 54将判定是否存在包括在第一区480中的图像对象,并且判定是否还 没有生成对应于第一区480的二进制数据。例如,当在已经生成了图像对象510的二进制 数据(图16的附图标记510a、510b、510c的二进制数据)的阶段上将执行S30的处理时, 还没有生成用于图像对象520的二进制数据。在这种情况下,在S30中将判定答案为是,并 且CPU 52返回到S20。在S20中,图像对象520将被识别为待处理的图像对象。CPU 52将 对图像对象520来执行图6和图7的每一个处理。这会导致生成对应于在图16所示的部 分520a和部分520b的解压数据(和二进制数据)。在这种情况下,在S30中将判定答案为 否,并且CPU 52返回到S32。
在S32中,CPU 52将执行用于第一区480的打印处理。CPU 52将命令打印设备46 根据存储在BM 88中的二进制数据(打印数据)来打印(见图4)。这样,打印设备46将打 印第一区480。接下来,CPU52将判定是否已经打印了所有区(S34)。例如,在打印了第一区 480的阶段上,将不执行第二区482及其后续的打印。在这种情况下,在S34中将判定答案 为否。CPU 52将识别接着的第二区482为处理区(S36)。另外,CPU 52将清空BM 88 (见图4)。换句话说,CPU 52将清除用于第一区480的二进制数据。
当完成了 S36时,CPU 52将对第二区482执行处理S18。这会导致生成如图16所 示的部分510c (对应于第二区482的部分)、部分510d、部分510e、部分510f、部分510g和 部分510h中的一些的解压数据(和二进制数据)。接下来,将生成用于如图16所示的部 分520c、部分520d、部分520e、部分520f和部分520g的解压数据(和二进制数据)。这 样,将完成用于第二区482的二进制数据,并且将执行用于第二区482的打印处理(图5的 S32)。CPU 52将以相同的方式对第三区484及其后续的区执行打印处理。这样,将得到在 一页上已经打印了 510、520等8个图像对象的打印介质400。当已经完成了所有区的打印 时,CPU52将判定在图5的S34中答案为是。在这种情况下,CPU 52将切断连接(S38)并且 结束处理。
根据上述实施例,图像对象510的压缩数据将被逐渐下载(将被以4000字节为单 元来下载),并且将生成解压数据(和二进制数据)。每次生成解压数据时,将判定是否已 经生成了对应于图像对象510的第一区480的所有解压数据。如果这里发生了肯定判定, 则将停止下载图像对象510,并且开始下载图像对象520。结果是将只生成为了生成用于第 一区480的二进制数据所需的解压数据(对应于部分510a 510c的解压数据)。换句话 说,并非生成对应于图像对象510的第二区482和第三区484的所有解压数据。由于这一 原因,用于存储解压数据的存储容量(本实施例中为DDM 86的存储容量)极小。根据本实 施例,在通过单连接来下载多个图像对象510、520等的压缩数据并且将生成解压数据的情 况下,可以在不对存储容量施加压力的情况下有效生成解压数据。
虽然上面详细描述了多个实施例,但是这只是示例。可以对上述实施例进行各种 修订和更改。例如,上述实施例的多功能设备40将从PC 10下载用于图像对象的压缩数据 并且生成打印数据。然而,多功能设备40还可以从数码相机、存储卡、因特网上的服务器或 者其他外部设备下载图像对象,并且生成打印数据。
13
权利要求
一种生成解压数据以便通过利用单连接从外部设备下载多个图像对象的压缩数据并且通过解压下载的压缩数据来生成打印数据的方法,所述方法包括第一下载步骤,下载第一图像对象的预定尺寸的第一压缩数据,其中所述第一图像对象将被包括在所述打印数据的第一区和与所述第一区相邻的所述打印数据的第二区两者中;第一解压步骤,通过对在所述第一下载步骤中下载的具有所述预定尺寸的所述第一压缩数据进行解压来生成第一解压数据;判定步骤,判定是否已经生成了对应于所述第一区的所有所述第一解压数据;重复步骤,在所述判定步骤中获得否定判定的情况下,重复所述第一下载步骤、所述第一解压步骤和所述判定步骤;第二下载步骤,在所述判定步骤中获得肯定判定的情况下,下载第二图像对象的第二压缩数据,其中所述第二图像对象将被包括在所述第一区中;以及第二解压步骤,通过对在所述第二下载步骤中下载的所述第二压缩数据进行解压来生成第二解压数据。
2.如权利要求
1所述的方法,进一步包括数据尺寸存储步骤,每当所述第一下载步骤被执行时,存储在每一个第一下载步骤中 下载的所述第一压缩数据的总数据尺寸,其中每一个第一下载步骤进一步包括在所述下载之前,请求外部设备发送紧接着在 所述数据尺寸存储步骤中存储的所述总数据尺寸的值之后的所述预定尺寸的第一压缩数 据。
3.—种通过对根据权利要求
1所述的方法生成的所述第一解压数据和所述第二解压 数据进行转换来生成所述第一区的打印数据的方法。
4.一种用于生成解压数据以便通过利用单连接从外部设备下载多个图像对象的压缩 数据并且通过解压下载的压缩数据来生成打印数据的设备,所述设备包括第一下载设备,下载第一图像对象的预定尺寸的第一压缩数据,其中所述第一图像对 象将被包括在所述打印数据的第一区和与所述第一区相邻的所述打印数据的第二区两者 中;第一解压设备,通过对由所述第一下载设备下载的具有所述预定尺寸的所述第一压缩 数据进行解压来生成第一解压数据;判定设备,判定是否已经生成了对应于所述第一区的所有所述第一解压数据; 第二下载设备,在由所述判定设备获得肯定判定的情况下,下载第二图像对象的第二 压缩数据,其中所述第二图像对象将被包括在所述第一区中;以及第二解压设备,通过对由所述第二下载设备下载的所述第二压缩数据进行解压来生成 第二解压数据。
5.一种利用单连接从外部设备下载多个图像对象的数据以便生成打印数据的方法,所 述方法包括第一下载步骤,下载第一图像对象的预定尺寸的第一数据,其中所述第一图像对象将 被包括在所述打印数据的第一区和与所述第一区相邻的所述打印数据的第二区两者中; 判定步骤,判定是否已经下载了对应于所述第一区的所有所述第一数据;重复步骤,在所述判定步骤中获得否定判定的情况下,重复所述第一下载步骤和所述 判定步骤;以及第二下载步骤,在所述判定步骤中获得肯定判定的情况下,下载第二图像对象的第二 数据,其中所述第二图像对象将被包括在所述第一区中。
专利摘要
一种方法,可包括第一下载步骤,下载将被包括在打印数据的第一区和打印数据的第二区中的第一图像对象的第一压缩数据的预定尺寸;第一解压步骤,通过对在第一下载步骤中下载的具有预定尺寸的第一压缩数据进行解压来生成第一解压数据;判定步骤,判定是否已经生成了对应于第一区的所有第一解压数据;重复步骤,在判定步骤中获得否定判定的情况下,重复第一下载步骤、第一解压步骤和判定步骤;第二下载步骤,在判定步骤中获得肯定判定的情况下,下载第二图像对象的第二压缩数据;以及第二解压步骤,通过对在第二下载步骤中所下载的第二压缩数据进行解压来生成第二解压数据。
文档编号G06F3/12GKCN101277356 B发布类型授权 专利申请号CN 200810090740
公开日2010年10月13日 申请日期2008年3月31日
发明者宫泽雅史, 工藤康博 申请人:兄弟工业株式会社导出引文BiBTeX, EndNote, RefMan专利引用 (4),
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1