排版方法及其装置 【技术领域】
本发明涉及排版方法及其装置。所述排版方法和装置可被用于诸如印刷、 切割和 包装等的各种领域中。背景技术
排版是印刷过程中的重要阶段, 它是指根据某些规则将 ( 文本和图像的 ) 各种块 放置在印刷材料片材上。图 1(a) 和图 1(b) 示出排版的例子。图 1(a) 示出要在具有固定 宽度和可变高度的一张纸上排版的五个原始矩形块 R1 ~ R5。 这里, 宽度是沿水平方向的尺 寸, 高度是沿垂直方向的尺寸。图 1(b) 示出其排版结果。在图 1(b) 中, H 是要从纸上切割 的高度, 并且阴影区域被浪费。排版的一个目标是使 H 最小化。然后, 从纸上切出块 R1 ~ R5。
在图 2 的流程图 200 中示出一种常规的排版方法, 该排版方法是基于 P.Y.Wang 的 标题为 “Two Algorithms for Constrained Two-Dimensional Cutting Stock Problems” 的文章, Operations Research, Vol.31, No.3, PP.573-586(1983)。在该方法中, 在准备块 集合 ( 步骤 210) 之后, 反复地执行块集合中的块的自由组合 ( 步骤 220), 以获得并输出部 分解 ( 步骤 230 和 240)。这里, 术语 “自由组合” 是指包含图 3 所示的水平组合 ( 即, 沿水 平方向组合块 ) 和垂直组合 ( 即, 沿垂直方向组合块 ) 的组合过程。在图 3 中, 两个块 A 和 B 分别被水平组合和垂直组合以产生新的块 C, 并且阴影区域被浪费。术语 “部分解” 是指满 足某些条件 ( 例如, 其浪费面积小于给定的阈值等 ) 的块, 但是该块不包含所有的原始块。 在找到并输出部分解之后, 对于剩余的原始块递归地应用算法 ( 步骤 250), 直到输出所有 的原始块。
从成本的观点看, 理想的排版方法可使材料片材的浪费最小化 ; 从效率的观点看, 理想的排版方法不依赖于人工干预, 并且使用很少的时间。当前的所有排版方法都朝着这 两个方向进行改进, 但是很少有令人满意的。 因此, 需要能减少材料片材的浪费并由此降低 成本、 并且 / 或者能提高排版速度并由此改善效率的排版方法及其装置。
应当注意, 虽然基于印刷排版来描述本发明, 但是很显然它还可应用于诸如切割 和包装等的各种其它领域中的排版。 发明内容 本发明的目的是提供一种排版方法及其装置, 其中, 可以减少材料片材的浪费并 由此可降低成本, 并且 / 或者, 可以提高排版速度并由此可改善效率。
根据本发明的第一方面, 提供一种排版方法, 其中, 多个输入的矩形的原始块要 在具有固定宽度和可变长度的材料片材上没有重叠且没有倾斜地被输出、 并且以贯通 (guillotine) 切割的方式从材料片材被切出, 所述方法依次包括以下步骤 :
块集合准备步骤, 用于准备包含所述原始块的第一块集合 ;
自由组合步骤, 用于对于第一块集合中的块执行反复的水平和垂直组合以产生新
块, 所产生的可被进一步水平组合的新块被添加到第一块集合中, 用于在所述自由组合步 骤中反复组合, 并且, 所产生的不能被进一步水平组合的新块被添加到第二块集合中, 并在 所述自由组合步骤中将不再被组合 ;
垂直组合步骤, 用于对于通过合并第一块集合和第二块集合而获得的第三块集合 中的块执行反复的垂直组合以产生新块, 并且, 所产生的新块被添加到第三块集合中, 用于 在所述垂直组合步骤中反复组合 ; 以及
部分解获得步骤, 用于从第三块集合获得满足第一部分解条件的块作为部分解。
所述排版方法可进一步包括 : 部分解输出步骤, 用于将作为所述部分解的块输出 到材料片材, 并从输入的原始块去除包含于作为所述部分解的块中的所有原始块 ; 并且, 对 于剩余的原始块重复所述块集合准备步骤、 所述自由组合步骤、 所述垂直组合步骤、 所述部 分解获得步骤和所述部分解输出步骤, 直到输出所有的输入的原始块。
其中, 当组合块时, 所获得的组合块是被组合的块的外接矩形。
优选地, 所述块集合准备步骤还包括将不是正方形的原始块旋转 90 度并将旋转 的原始块添加到第一块集合中的步骤。
优选地, 在所述部分解获得步骤中, 如果在第三块集合中不存在满足第一部分解 条件的任何块, 那么从第三块集合获得满足第二部分解条件的块作为部分解, 所述第二部 分解条件可被自动调整以保证可找到块。 根据本发明的第二方面, 提供一种排版装置, 其中, 多个输入的矩形的原始块要在 具有固定宽度和可变长度的材料片材上没有重叠且没有倾斜地被输出、 并且以贯通切割的 方式从材料片材被切出, 所述装置包括以下部件 :
块集合准备部件, 用于准备包含所述原始块的第一块集合 ;
自由组合部件, 用于对于第一块集合中的块执行反复的水平和垂直组合以产生新 块, 所产生的可被进一步水平组合的新块被添加到第一块集合中, 用于在所述自由组合部 件中反复组合, 并且, 所产生的不能被进一步水平组合的新块被添加到第二块集合中, 并在 所述自由组合部件中将不再被组合 ;
垂直组合部件, 用于对于通过合并第一块集合和第二块集合而获得的第三块集合 中的块执行反复的垂直组合以产生新块, 并且, 所产生的新块被添加到第三块集合中, 用于 在所述垂直组合部件中反复组合 ; 以及
部分解获得部件, 用于从第三块集合获得满足第一部分解条件的块作为部分解。
所述排版装置可进一步包括部分解输出部件, 用于将作为所述部分解的块输出到 材料片材, 并从输入的原始块去除包含于作为所述部分解的块中的所有原始块 ; 并且, 对于 剩余的原始块重复所述块集合准备部件、 所述自由组合部件、 所述垂直组合部件、 所述部分 解获得部件和所述部分解输出部件中的处理, 直到输出所有的输入的原始块。
其中, 当组合块时, 所获得的组合块是被组合的块的外接矩形。
优选地, 所述块集合准备部件将不是正方形的原始块旋转 90 度并将旋转的原始 块添加到第一块集合中。
优选地, 在所述部分解获得部件中, 如果在第三块集合中不存在满足第一部分解 条件的任何块, 那么从第三块集合获得满足第二部分解条件的块作为部分解, 所述第二部 分解条件可被自动调整以保证可找到块。
从参照附图对示例性实施例的以下详细描述, 本发明的进一步的目的、 特征和优 点将变得明显。 附图说明 被包含于说明书中并构成其一部分的附图示出本发明的实施例, 并与描述一起用 于解释本发明的原理。
图 1(a) 和图 1(b) 示出一个排版例子, 其中, 图 1(a) 示出要在一张纸上排版的五 个原始矩形块, 图 1(b) 示出其一个排版结果。
图 2 是示出常规的排版方法的流程图。
图 3 是示出水平组合和垂直组合的示图。
图 4 是示出可实现根据本发明的排版方法和装置的计算设备的硬件配置的框图。
图 5(a) ~ 5(d) 是分别示出块的重叠、 块的倾斜、 块的贯通切割和块的非贯通切割 的示图。
图 6(a) ~ 6(h) 是示出贯通切割过程的详细例子的示图。
图 7 是示出不能被进一步水平组合的块的概念的示图。
图 8(a) 和图 8(b) 是示出浪费面积和浪费率 ( 包括块浪费率和条带浪费率 ) 的概 念的示图。
图 9 是示出实现根据本发明的排版方法的示例性一般过程的流程图。
图 10(a) ~ 10(e) 示出根据本发明的示例性排版过程。图 10(a) 示出要被排版的 五个原始块, 图 10(b) ~ 10(c) 示出自由组合结果, 图 10(d) 示出随后的垂直组合结果, 图 10(e) 示出材料片材上的最终布局。
图 11 是示出根据本发明的准备块集合的示例性过程的流程图。
图 12(a) ~ 12(b) 和 图 13(a) ~ 13(b) 示 出 旋 转 块 的 效 果。 更 具 体 而 言, 图 12(a) ~ 12(b) 示出当不允许两个块旋转时仅存在两种可能的组合结果 ; 图 13(a) ~ 13(b) 示出当允许两个块旋转时存在八种可能的组合结果。
图 14 是示出根据本发明的自由组合的示例性过程的流程图。
图 15 是示出根据本发明的垂直组合的示例性过程的流程图。
图 16 是示出根据本发明的排版装置的示例性一般配置的框图。
从参照附图的以下描述, 本发明的进一步的特征和优点将显而易见。
具体实施方式
现在参照附图详细描述本发明的示例性实施例。 应当注意, 除非另外具体说明, 否 则, 在实施例中阐述的部件和步骤不限制本发明的范围。
以下的描述在本质上仅仅是示例性的, 并且决不是要限制本发明、 其应用或用途。
相关领域的普通技术人员所公知的技术、 方法和装置可能不被详细讨论, 但是在 适当的情况下意在成为说明书的一部分。
硬件配置
图 4 是示出能实现根据本发明的排版方法和装置的计算设备 400 的硬件配置的框 图。为了简化的目的, 系统被示出为建于单个的计算设备中。但是, 不管所述系统是建于单个计算设备中还是建于作为网络系统的多个计算设备中, 所述系统都是有效的。
如图 4 所示, 计算设备 400 被用于实现排版的过程。 计算设备 400 可包含 CPU 411、 芯片集 412、 RAM 413、 存储控制器 414、 显示控制器 415、 硬盘驱动器 416、 CD-ROM 驱动器 417 和显示器 418。计算设备 400 还可包含连接在 CPU 411 和芯片集 412 之间的信号线 421、 连 接在芯片集 412 和 RAM 413 之间的信号线 422、 连接在芯片集 412 和各种外围设备之间的外 围设备总线 423、 连接在存储控制器 414 和硬盘驱动器 416 之间的信号线 424、 连接在存储 控制器 414 和 CD-ROM 驱动器 417 之间的信号线 425、 以及连接在显示控制器 415 和显示器 418 之间的信号线 426。
客户机 430 可直接或经由网络 440 与计算设备 400 连接。客户机 430 可向计算设 备 400 发送排版任务, 并且计算设备 400 可将排版结果返回到客户机 430。
很显然, 图 4 所示的计算设备 400 仅仅是说明性的, 并且决不是要限制本发明、 其 应用或用途。
定义
以下, 在详细描述根据本发明的排版方法之前, 首先引入在本发明中使用的一些 定义。 如前所述, 术语 “排版” 是指根据某些规则将各种块放置在材料片材上。更具体而 言, 术语 “排版” 是指接收多个输入的矩形原始块, 设计布局以使得所有的原始块根据某些 规则被放置在材料片材上, 并从材料片材切出所有的原始块。
这里, 如图 1(a) 所示, 材料片材是具有固定的宽度 ( 沿水平方向的尺寸 ) 和可变 的长度 ( 沿垂直方向的尺寸 ) 的矩形。
块是矩形。 块具有其自身的方向 : 当将块放置在材料片材上时, 与材料片材的宽平 行的边缘被称为宽 ( 水平方向 ) ; 另一边缘被称为高 ( 垂直方向 )。块可以指输入的原始块 或者通过组合两个或更多个块而获得的中间组合块。当沿块的边缘组合块时, 所获得的组 合块是它们的外接矩形 ( 参见图 3, 图 3 示出通过组合块 A 和 B 获得的块 C 是块 A 和 B 的外 接矩形 )。
对于本发明的排版, 存在一些要求。首先, 不允许块的重叠 ( 参见图 5(a))。第 二, 不允许块的倾斜 ( 参见图 5(b))。第三, 每次切割应是贯通切割, 使得可以容易地切割 排版结果。图 5(c) 和图 5(d) 分别示出贯通切割的例子和非贯通切割的例子。术语 “贯通 切割” 是指沿横贯线贯穿材料片材切割。图 6(a) ~ 6(h) 示出贯通切割的详细例子。如从 图 6(a) ~ 6(h) 可以看出, 从第一切割到第七切割的每次切割都贯穿材料片材切割, 即, 材 料片材被切割成两个分开的片。在本发明中, 如上所述, 当沿块的边缘组合块时, 所获得的 组合块是它们的外接矩形 ; 很显然, 这确保在本发明中每次切割都是贯通切割。
在本发明中, 引入了不能被进一步水平组合的块的概念。图 7 示出不能被进一步 水平组合的块的例子。 也就是说, 块和材料片材之间的宽度差比任何块的宽度和高度都小。 如果所述块被进一步与任何块水平组合, 那么得到的组合块的宽度将超出材料片材的宽 度, 这是不可接受的。
为了评价排版结果, 在本发明中引入术语 “浪费面积” 和 “浪费率” 。如图 8(a) 所 示, 两个块 A 和 B 被组合以构成新的块 C, 该块 C 是块 A 和 B 的外接矩形。阴影面积 Winner 是 由该组合产生的浪费面积。由于块 A 和 B 还可能是由其它的块组合而成的, 因此它们还可
能具有它们自身的内部浪费面积。因此, 块 C 的浪费面积被定义如下 :
WC = Winner+WA+WB
这里, WC 表示组合块 C 的浪费面积 ; WA 和 WB 分别表示块 A 和 B 的浪费面积 ; Winner 表示通过块 A 和 B 的组合产生的浪费面积。很显然, 当块 A 和 B 均为原始块时, WA = 0 并且 WB = 0 ; 在这种情况下, WC = Winner。
术语 “块浪费率 (WRB)” 是块的浪费面积相对于所述块的面积的百分比, 即, 是块 和包含于所述块中的所有原始块之间的面积差相对于所述块的面积的百分比。 它被定义如 下:
WRBC = (Winner+WA+WB)/MC = WC/MC
这里, WRBC 表示组合块 C 的块浪费率 ; MC 表示组合块 C 的面积。很显然, 当块 A 和 B 均为原始块时, WA = 0 并且 WB = 0 ; 在这种情况下, WRBC = Winner/MC。
如图 8(b) 所示, 术语 “条带浪费率 (WRS)” 涉及当将块 C 放置在材料片材上并将其 切出时的浪费率。它是块 C 的内外浪费面积相对于切出的材料片材的面积的百分比, 即, 是 切出的材料片材和包含于块 C 中的所有原始块之间的面积差相对于切出的材料片材的面 积的百分比。它被定义如下 :
WRSC = (WC+Wouter)/(w * h)
这里, WRSC 表示块 C 的条带浪费率 ; Wouter 表示通过将块 C 放置在材料片材上产生的 浪费面积 ( 即, 图 8(b) 中的网格区域 ) ; w 和 h 分别表示材料片材的宽度和高度。很显然, 当块 C 为原始块时, WC = 0 ; 在这种情况下, WRSC = Wouter/(w * h)。
如上所述, 对于排版, 术语 “部分解” 是指满足某些条件 ( 例如, 其浪费面积小于给 定的阈值等 ) 的块, 但是所述块不包含所有的原始块。在找到并输出部分解之后, 对于剩余 的原始块递归地应用算法。这可减少布局问题的复杂性。
排版方法
以下, 参照图 9 描述根据本发明的排版方法的一般过程。
图 9 是示出实现根据本发明的排版方法的示例性一般过程的流程图 900。
在步骤 910 处, 准备块集合。该步骤对于输入的原始块执行预处理并形成块集合。
在步骤 920 处, 反复执行块集合中的块的自由组合。如上所述, 在该步骤中可采用 水平组合和垂直组合两者。
在步骤 930 处, 反复执行块的垂直组合。该步骤仅允许垂直组合。
在步骤 940 处, 获得部分解。
在步骤 950 处, 输出获得的部分解。
在步骤 960 处, 确定是否所有的原始块都被输出。如果不是, 那么对于剩余的原始 块重复步骤 910 ~ 950 ; 如果是, 那么过程结束。
与图 2 中的常规排版方法的组合过程相比, 本发明的组合过程是两阶段的过程 : 第一阶段是自由组合, 第二阶段是垂直组合。此外, 虽然图 2 中的流程图 200 和图 9 中的流 程图 900 均具有准备块集合的步骤和自由组合的步骤, 但是这两个步骤在它们之间不是完 全相同。以下将解释对于这些差异的详细描述。
图 10(a) ~ 10(e) 示出根据本发明的示例性排版过程。在图 10(a) 中, 给出五个 原始块 R1 ~ R5 用于排版。图 10(b) ~ 10(c) 示出自由组合结果, 例如, 块 R2 和 R4 被水平组合, 而块 R1 和 R5 被垂直组合并然后水平地与块 R3 组合。图 10(d) 示出随后的垂直组合 结果, 其中, 所有的五个原始块 R1 ~ R5 被组合。图 10(e) 示出材料片材上的最终布局。
以下, 参照图 11 详细描述根据本发明的准备块集合的示例性过程。这里, 所输入 的具有相同尺寸的原始块被视为相同的原始块, 并且仅在块集合中出现一次。 例如, 如果存 在三个输入的具有相同尺寸的原始块 ( 宽度为 3cm, 高度为 5cm), 那么它们仅作为一个块对 块集合有贡献, 但是, 所述原始块的原始量是三个。
如图 11 的流程图 1100 所示, 首先, 在步骤 1110 处, 去除超出材料片材的原始块。
在步骤 1120 处, 将剩余的原始块添加到块集合 S1 中。
在步骤 1130 处, 将原始块 ( 除了正方形块以外 ) 旋转 90 度。但是, 如果原始块是 宽度与高度相等的正方形, 那么 90 度旋转前后的块将是相同的, 因此旋转对于正方形块来 说是不必要的。
在步骤 1140 处, 去除超出材料片材的旋转的原始块。
在步骤 1150 处, 将剩余的旋转的原始块添加到块集合 S1 中。
在流程图 1100 结束时, 准备了用于随后的组合过程中的块集合 S1。
从以上的描述可以看出, 在根据本发明的排版方法中, 原始块 ( 除了正方形块以 外 ) 可被旋转 90 度, 即, 旋转的原始块在本发明的排版过程中被用作不同的组合用块。这 是本发明的排版方法和常规的排版方法 ( 诸如图 2 中的排版方法 ) 之间的差异之一。通过 允许旋转块, 可以获得更多的组合结果, 并且更可能找到更好的组合结果, 由此可以减少材 料片材的浪费, 最终可降低成本。 图 12(a) ~ 12(b) 和图 13(a) ~ 13(b) 具体示出旋转块的效果。以两个块 A 和 B 为例。当如图 2 中的方法那样不允许块 A 和 B 旋转时, 如图 12(a) 所示, 仅存在两个可用于 组合的块, 即块 A 和块 B。对于这两个块, 如图 12(b) 所示, 仅存在两个可能的组合结果。相 比之下, 当如在本发明中那样允许块 A 和 B 旋转时, 如图 13(a) 所示, 存在四个可用于组合 的块, 即, 块 A、 块 B、 作为通过将块 A 旋转 90 度获得的块的块 A′、 和作为通过将块 B 旋转 90 度获得的块的块 B′。对于这四个块, 如图 13(b) 所示, 可能的组合结果的数量跳到八个。 这种组合方式的显著增加使得更可能找到更好的组合结果, 由此可以减少材料片材的浪费 并可降低成本。
以下, 参照图 14 详细描述根据本发明的自由组合的示例性过程。
如图 14 的流程图 1400 所示, 首先, 在步骤 1405 处, 建立新的块集合 S2, 其是空的。
在步骤 1410 处, 从块集合 S1 取任意的两个块 ( 可以是块及自身 )。
在步骤 1420 处, 执行所述两个块的自由组合。
在步骤 1430 处, 对于通过所述自由组合获得的新块, 去除满足第一过滤条件的那 些块。所述第一过滤条件至少包括块的浪费率不在预定的第一阈值内。作为例子, 所述第 一过滤条件可以如下 :
(1) 新块不在材料片材内。
(2) 包含于新块中的每一原始块的量不在所述原始块的原始量内, 其中, 对于量计 数的目的, 原始块及其相应的旋转块被视为相同的原始块 ( 这与对于组合目的而言旋转的 原始块被用作不同的块不同 )。
(3) 对于新块, 在块集合 S1 中或在块集合 S2 中存在同样的块。 当两个块具有相同
的宽度、 具有相同的高度、 并且它们的构成原始块相同 ( 即, 包含于它们中的每种原始块的 量相同 ) 时, 它们被视为同样的。这里, 块及其旋转的相应块被视为不同。
(4) 新块的块浪费率 (WRB) 不在预定的第一阈值 ( 例如, 0.03) 内。
应当注意, 以上的条件仅仅是示例性的, 并不是要限制本发明的保护范围。 根据实 际的需求, 本领域技术人员可以采用其它的过滤条件。
然后, 在步骤 1440 处, 确定是否所有的新块都被去除。如果是, 那么过程跳到步骤 1480。如果不是, 那么过程前进到步骤 1450。
在步骤 1450 处, 对于每个剩余的新块, 确定它是否能够被进一步水平组合。如果 是, 那么该块被添加到块集合 S1 中 ( 步骤 1460) ; 如果不是, 那么该块被添加到块集合 S2 中 ( 步骤 1455)。
如用图 7 解释的那样, 对于不能被进一步水平组合的块, 块和材料片材之间的宽 度差小于任意块的宽度和高度。如果所述块进一步与任意的块水平组合, 那么所得到的组 合块的宽度将超出材料片材的宽度, 这是不可接受的。 根据新块是否可被进一步水平组合, 步骤 1450、 1455 和 1460 将新块分成两个块集合 S1 和 S2。块集合 S2 中的块不能被进一步 沿水平方向组合, 并且它们在该自由组合过程中将不再被组合 ; 块集合 S1 中的块不满足块 集合 S2 的进入条件 ( 即, 它们可被进一步水平组合 ), 并且它们将在该自由组合过程中被反 复组合。 在步骤 1470 处, 确定块集合 S1 的大小和块集合 S2 的大小的和 ( 即, S1+S2 的大 小 ) 是否达到预定的第一大小。如果是, 那么过程跳出循环到达步骤 1490 ; 如果不是, 那么 过程前进到下一步骤 1480。
在步骤 1480 处, 确定在块集合 S1 中是否存在可用于自由组合的任何块。如果是, 那么过程回到步骤 1410, 并且步骤 1410 ~ 1470 被重复执行 ; 如果不是, 那么过程跳出循环 到达步骤 1490。
在步骤 1490 处, 块集合 S1 和 S2 被合并为块集合 S3, 并且自由组合过程结束。
如从以上可以看出, 根据本发明的自由组合过程将新块分成可被进一步水平组合 并由此在自由组合过程中将被反复组合的那些新块和不能被进一步水平组合并由此在自 由组合过程中将不再被组合的那些新块, 这减少了不必要的计算, 由此提高排版速度。 这是 因为, 无效的组合块 ( 其宽度超出材料片材的宽度 ) 将不出现, 并因此将不在本发明的自由 组合过程中被进一步组合。这与常规的自由组合过程 ( 诸如图 2 中的步骤 220) 不同, 在常 规的自由组合过程中, 这种无效的组合块 ( 其宽度超出材料片材的宽度 ) 将会出现并将在 自由组合过程中被进一步组合, 由此消耗大量的计算时间并降低排版速度。当块集合 S1 的 大小和块集合 S2 的大小的和增大到预定的值 ( 即, 预定的第一大小 ) 或者在块集合 S1 中 不存在可用于自由组合的任何块 ( 即, 将不产生新的自由组合结果 ) 时, 根据本发明的自由 组合过程结束。
下面, 参照图 15 详细描述根据本发明的垂直组合的示例性过程。
如图 15 的流程图 1500 所示, 首先, 在步骤 1510 处, 从块集合 S3 中取任意两个块 ( 可以是块及自身 )。
在步骤 1520 处, 执行所述两个块的垂直组合。
在步骤 1530 处, 对于通过所述垂直组合获得的新块, 去除满足第二过滤条件的那
些块。所述第二过滤条件至少包括块的浪费率不在预定的第二阈值内。作为例子, 所述第 二过滤条件可以如下 :
(1) 新块不在材料片材内。
(2) 包含于新块中的每一原始块的量不在所述原始块的原始量内, 其中, 对于量计 数的目的, 原始块及其相应的旋转的块被视为相同的原始块 ( 这与对于组合目的而言旋转 的原始块被用作不同的块不同 )。
(3) 对于新块, 在块集合 S3 中存在同样的块。 当两个块具有相同的宽度、 具有相同 的高度、 并且它们的构成原始块相同 ( 即, 包含于它们中的每种原始块的量相同 ) 时, 它们 被视为同样的。这里, 块及其旋转的相应块被视为不同。
(4) 新块的条带浪费率 (WRS) 不在预定的第二阈值 ( 例如, 0.02) 内。
应当注意, 以上的条件仅仅是示例性的, 并不是要限制本发明的保护范围。 根据实 际的需求, 本领域技术人员可以采用其它的过滤条件。
然后, 在步骤 1540 处, 确定是否所有的新块都被去除。如果是, 那么过程跳到步骤 1570 ; 如果不是, 那么过程前进到下一步骤 1550。
在步骤 1550 处, 剩余的新块被添加到块集合 S3 中。 在步骤 1560 处, 确定块集合 S3 的大小是否达到预定的值 ( 例如, 预定的第二大 小 )。如果是, 那么过程跳出循环并且垂直组合过程结束 ; 如果不是, 那么过程前进到下一 步骤 1570。
在步骤 1570 处, 确定是否在块集合 S3 中存在可用于垂直组合的任何块。如果是, 那么过程回到步骤 1510, 并且步骤 1510 ~ 1560 被重复执行 ; 如果不是, 那么过程跳出循环 并且垂直组合过程结束。
如从以上可以看出, 当块集合 S3 的大小增大到预定的值 ( 即, 预定的第二大小 ) 或者在块集合 S3 中不存在可用于垂直组合的任何块 ( 即, 将不产生新的垂直组合结果 ) 时, 根据本发明的垂直组合过程结束。
然后, 从块集合 S3 获得部分解。该过程可被实施如下。从块集合 S3 选择一个满 足第一部分解条件的块作为部分解。所述第一部分解条件可至少包括以下方面 :
(1) 块的条带浪费率小于上述的预定的第二阈值 ;
(2) 块的宽度不超出材料片材的宽度。
顺便说一句, 存在多于一个的块满足第一部分解条件的情况。为了在它们中选择 一个块作为部分解, 可以采用各种处理。例如, 可以选择条带浪费率最低的一个块。并且, 如果存在多于一个的具有最低条带浪费率的块, 那么可以选择具有最大高度的一个块作为 部分解。应当注意, 上述的例子在本质上仅仅是说明性的。
并且, 如果不存在满足第一部分解条件的任何块, 那么从块集合 S3 选择一个满足 第二部分解条件的块作为部分解。很显然, 第二部分解条件没有第一部分解条件严格。第 二部分解条件可至少包括以下方面 :
(1) 块的条带浪费率小于可在部分解获得步骤中被自动调整的第三阈值 ;
(2) 块的宽度不超出材料片材的宽度。
类似地, 存在多于一个的块满足第二部分解条件的情况。为了在它们中选择一个 块作为部分解, 可以采用各种处理。例如, 可以选择条带浪费率最低的一个块。并且, 如果
存在多于一个的具有最低条带浪费率的块, 那么可以选择具有最大高度的一个块作为部分 解。应当注意, 上述的例子在本质上仅仅是说明性的。
这样, 保证找到满足条件的块, 即, 保证找到部分解。
很显然, 上述的获得部分解的过程仅仅是示例性的, 本领域技术人员可设计其它 的方式以实现它。
然后, 输出获得的部分解。例如, 包含于部分解中的所有原始块的坐标被计算, 并 且, 每一输入的原始块的量被更新 ( 下面的表 1 示出更新每一输入的原始块的量的例子 )。 然后, 作为部分解的所获得的块被放置在材料片材上, 并且根据其高度从材料片材被切出。 这里, 如图 6(a) ~ 6(h) 所示的那样执行贯通切割, 以得到分开的构成原始块。
表 1. 更新输入的原始块的量的例子
原始块 原始输入量 包含于部分解中的量 剩余量
R1 21 3 18R2 15 1 14R3 4 1 3R4 17 4 13R5 9 2 7然后, 确定是否所有的原始块都被输出。 如果不是, 那么对于剩余的原始块再次实 施整个排版过程。如果是, 那么整个排版过程结束。
将图 2 中的常规的排版方法与图 9 中的根据本发明的排版方法相比较, 本发明的 组合过程是两阶段过程 : 第一阶段是自由组合, 随后的第二阶段是垂直组合。 在自由组合阶 段中, 块被分类为可被进一步水平组合并由此将在自由组合过程中被反复组合的那些块和 不能被进一步水平组合并由此在自由组合过程中将不再被组合的那些块。然后, 在垂直组 合阶段中, 所有的块 ( 包含可被进一步水平组合的那些块和不能被进一步水平组合的那些 块 ) 被垂直组合。以此方式, 与常规的一阶段自由组合过程相比, 减少了不必要的计算, 因 此提高了排版速度。
此外, 在根据本发明的准备块集合的步骤中, 原始块 ( 除了正方形块以外 ) 被允许 旋转 90 度, 并在本发明的排版过程中对于组合目的而言被视为不同的块。与图 2 中的常规 排版方法中的准备块集合的步骤相比, 通过允许原始块旋转 90 度, 可以获得更多的组合结 果, 并且更可能找到更好的组合结果, 因此可以减少材料片材的浪费, 最终可降低成本。
排版装置
以下, 详细描述根据本发明的示例性排版装置。
图 16 是示出根据本发明的排版装置的示例性一般配置的框图。
如从图 16 可以看出, 根据本发明的排版装置 1600 可包含块集合准备部件 1610、 自 由组合部件 1620、 垂直组合部件 1630、 部分解获得部件 1640、 部分解输出部件 1650。很明 显, 排版装置 1600 还可包含图 16 中未示出的其它部件。
块集合准备部件 1610 被配置为准备块集合。 它对于输入的原始块执行预处理 ( 例 如, 旋转不是正方形的原始块并去除超出材料片材的原始块 ), 并形成第一块集合。自由组合部件 1620 被配置为对于第一块集合中的块执行反复的水平和垂直组 合, 以产生新块。自由组合部件 1620 将新块分类为可被进一步水平组合的那些块和不能被 进一步水平组合的那些块。可被进一步水平组合的新块被添加到第一块集合中, 用于在自 由组合部件中反复组合, 并且, 不能被进一步水平组合的新块被添加到第二块集合中, 并且 在自由组合部件中将不再被组合。
垂直组合部件 1630 被配置为对于通过合并第一块集合和第二块集合而获得的第 三块集合中的块执行反复的垂直组合, 以产生新块, 并且, 所产生的新块被添加到第三块集 合中, 用于在垂直组合部件中反复组合。
部分解获得部件 1640 被配置为从第三块集合获得满足第一部分解条件的块作为 部分解。在部分解获得部件 1640 中, 如果在第三块集合中不存在满足第一部分解条件的任 何块, 那么从第三块集合获得满足第二部分解条件的块作为部分解, 所述第二部分解条件 可被自动调整以保证可找到块。
部分解输出部件 1650 被配置为输出所获得的部分解。
所有以上的部件都是用于实现本发明的排版方法的示例性的优选模块。但是, 以 上没有详尽地描述用于实现各步骤的模块。 一般地, 如果存在执行某一过程的步骤, 则存在 用于实现相同过程的相应的功能模块或部件。
另外, 应当注意, 虽然图 16 示出自由组合部件 1620 和垂直组合部件 1630 是单独 的部件, 但是, 本领域的普通技术人员很容易想到, 只要可以实现自由组合部件 1620 和垂 直组合部件 1630 的功能, 那么它们就可被组合为一个部件。这类似地可应用于部分解获得 部件 1640 和部分解输出部件 1650。另一方面, 只要可以实现类似的功能, 则排版装置 1600 中的任何部件都可被分成多个部件。
能够以各种方式来实现本发明的排版方法和排版装置。例如, 能够通过软件、 硬 件、 固件或其任意组合来实现本发明的排版方法和排版装置。此外, 在一些实施例中, 本发 明还可被实施为记录在记录介质中的程序, 包括用于实现根据本发明的方法的机器可读指 令。因此, 本发明还覆盖存储有用于实现根据本发明的方法的程序的记录介质。
虽然已参照示例性实施例描述了本发明, 但应理解, 本发明不限于公开的示例性 实施例。对于本领域技术人员显而易见的是, 可以在不背离本发明的范围和精神的条件下 修改以上的示例性实施例。以下的权利要求的范围应被赋予最宽的解释, 以包含所有这样 的修改以及等同的结构和功能。