1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 编码装置 解码装置以及存储介质的制作方法

编码装置 解码装置以及存储介质的制作方法

时间:2020-04-08 04:47:21

相关推荐

编码装置 解码装置以及存储介质的制作方法

本发明涉及一种编码装置、解码装置以及存储介质。

背景技术:

三维(threedimensional,3d)打印机(立体打印机)等立体成形装置正逐渐普及。作为3d打印机用的数据格式,例如广泛使用有如标准成三角语言(standardtriangulatedlanguage,stl)格式或3ds格式那样,通过多边形(polygon)的网格(mesh)表达来记述立体形状的格式。

而且,申请人等提出了“fav”这一数据格式,所述“fav”是以体素(voxel)表达来记述利用3d打印机而成形的立体模型(非专利文献1)。fav格式通过使体素具备颜色、材质、与其他体素的连结(link)强度等各种属性,从而能够表达立体形状以外的各种特性。

根据二维全彩(fullcolor)图像的位图(bitmap)表达的数据量庞大这一现象可类推的是,表达立体的体素格式的数据(称作体素数据)尤其在使体素具备颜色等多种属性的情况下,会造成非常庞大的数据量。寻求一种能够削减体素数据的数据量的编码方法。

作为削减二维图像的数据量的编码方法,有专利文献1、专利文献2及专利文献3所揭示的方法。

专利文献1所揭示的图像处理装置在对所输入的编码数据进行解码时,提取原始编码处理中的编码信息,基于对经解码的图像数据实施的图像处理的内容和所提取的编码信息,推测图像处理后的编码效率,使用所推测的编码效率,对图像处理后的图像数据进行编码量控制。由此,能够一次(one-pass)实现编码量控制。

专利文献2所揭示的编码装置中,当像素值预测部的预测结果的任一个与关注像素一致时,利用编码部对一致的像素值预测部的识别符进行编码。在不一致时,利用编码部对预测误差计算部的预测误差进行编码。在解码装置中,将编码解码成识别符或预测误差,基于识别符而从相应的像素值预测部输出像素数据,而且,基于预测误差来从预测误差加法部导出像素数据。

专利文献3所揭示的编码装置中,第1预测部、第2预测部分别利用规定的方法,基于图像数据来预测关注像素的像素值,生成预测值数据。行程计数部对图像数据与预测值数据进行比较,若命中且行程持续至正前像素,则将相应的预测部的行程计数值加1。若无一预测部命中且行程持续至正前像素,则将已持续至正前像素的行程跟所述预测部的识别编号一同作为行程数据而送出至选择部。选择部择一性地输出行程值及识别编号、或者来自预测误差计算部的预测误差数据,并进行编码而输出。

[现有技术文献]

[专利文献]

专利文献1:日本专利特开-166492号公报

专利文献2:日本专利第2888186号说明书

专利文献3:日本专利第3885413号说明书

[非专利文献]

非专利文献1:高桥智也、藤井雅彦,“实现世界最高水平表现力的下一代3d打印用数据格式“fav””,[在线],富士施乐技术报告,no.26,,[7月1日检索],国际互联网〈url:https://www.fujixerox.co.jp/company/technical/tr//pdf/s_07.pdf〉

技术实现要素:

[发明所要解决的问题]

本发明的目的在于,在对体素数据进行预测编码的装置中,相较于未考虑所述体素数据中所含的各体素的连结方向信息的情况而减少编码的数据量。

[解决问题的技术手段]

技术方案1的发明是一种编码装置,其包括:获取体素数据的部件,所述体素数据表示成形对象的立体,且对应于构成所述立体的每个体素而包含所述体素的值、及表示所述体素的连结方向的连结信息;以及编码部件,根据基于关注体素周围的一个以上的参照体素的值来预测所述关注体素的值的多个预测部中对所述关注体素的值的预测命中的预测部,来决定编码,由此来对所述体素数据进行编码,且所述编码部件基于所述关注体素的连结信息来对所述关注体素编码。

技术方案2的发明是根据技术方案1所述的编码装置,还包括:控制部件,以下述方式来控制所述编码部件,即,在用于预测的一个以上的所述参照体素相对于所述关注体素的方向以外的条件相同的所述预测部彼此之间,相对于所述关注体素而位于所述连结方向上的所述参照体素对预测的贡献率越高的所述预测部,则分配越短的编码。

技术方案3的发明是根据技术方案1或2所述的编码装置,还包括:控制部件,以下述方式来控制所述编码部件,即,在所述多个预测部中存在多个预测命中者的情况下,基于这些预测命中的预测部中相对于所述关注体素而位于所述连结方向上的所述参照体素对预测的贡献率最高的预测部,来决定编码。

技术方案4的发明是根据技术方案1所述的编码装置,还包括:控制部件,以下述方式来控制所述编码部件,即,在用于预测的一个以上的所述参照体素相对于所述关注体素的方向以外的条件相同的所述预测部彼此之间,相对于所述关注体素而位于越靠近所述连结方向的方向上的所述参照体素的预测部,则分配越短的编码。

技术方案5的发明是根据技术方案1至4中任一项所述的编码装置,还包括:提取部件,从所述体素数据中提取各体素的连结信息;以及输出部件,将所述编码部件对所述体素数据的编码结果即编码数据、与所述提取部件所提取的所述连结信息相关联地予以输出。

技术方案6的发明是一种解码装置,其包括:输入从技术方案5所述的编码装置的所述输出部件所输出的所述编码数据与所述连结信息的部件;多个解码用预测部件,基于关注体素周围的一个以上的体素的值来求出所述关注体素的预测值,且所述多个解码用预测部件分别利用与跟相同的识别信息对应的所述编码装置的所述预测部相同的方法,来求出所述预测值;以及将与所输入的所述编码和所述连结信息所表示的连结方向的组合对应的所述解码用预测部件的预测值,作为与所述编码对应的关注体素的值而输出的部件。

技术方案7的发明是一种存储介质,其存储有用于使计算机(computer)作为下述部件发挥功能的程序,即:获取体素数据的部件,所述体素数据表示成形对象的立体,且对应于构成所述立体的每个体素而包含所述体素的值、及表示所述体素的连结方向的连结信息;以及编码部件,根据基于关注体素周围的一个以上的参照体素的值来预测所述关注体素的值的多个预测部中对所述关注体素的值的预测命中的预测部,来决定编码,由此来对所述体素数据进行编码,且所述编码部件基于所述关注体素的连结信息来控制所述关注体素的编码。

[发明的效果]

根据技术方案1或技术方案7的发明,在对体素数据进行预测编码的装置中,相较于未考虑所述体素数据中所含的各体素的连结方向信息的情况,能够减少编码的数据量。

根据技术方案2的发明,相较于未考虑相对于关注体素而位于连结方向上的参照体素对预测的贡献率来对预测部分配编码的情况,能够减少编码的数据量。

根据技术方案3的发明,相较于未考虑相对于关注体素而位于连结方向上的参照体素对预测的贡献率来决定选择哪个预测部的情况,能够减少编码的数据量。

根据技术方案4的发明,相较于未考虑参照体素相对于关注体素的方向来对预测部分配编码的情况,能够减少编码的数据量。

根据技术方案5或技术方案6的发明,能够利用解码装置对考虑到连结方向而编码的编码数据进行解码。

附图说明

图1是例示编码装置的功能结构的图。

图2是例示连结方向与用于编码的参照体素的关系的图。

图3是表示连结方向与用于编码的参照体素的关系的另一例的图。

图4是表示连结方向与用于编码的参照体素的关系的又一例的图。

图5是例示选择部的处理流程的图。

图6是表示以编码的推进方向为基准而分配给各参照体素的识别编号的示例的图。

图7是例示解码装置的功能结构的图。

图8是例示进行行程长度编码(run-lengthencoding)时的编码装置的预测部的处理流程的图。

图9是例示进行行程长度编码时的编码装置的选择部的处理流程的图。

[符号的说明]

10:连结信息提取部

12:连结信息编码部

14:预测部

16:预测误差计算部

18:选择部

20:编码部

22:输出部

30:解码部

31:连结信息解码部

32:选择部

34:预测部

36:预测误差加法部

38:体素数据

具体实施方式

本实施方式的编码装置是用于对三维成形用的体素数据进行编码的装置。

体素数据例如是通过体素的集合来规定在三维成形装置中成形的立体的数据。体素是作为立体的构成单位的要素,收容在骰子状的各个小空间内,所述骰子状的各个小空间是通过将内含所述立体形状的三维空间以与x、y、z的各坐标轴平行的等间隔的直线划分成格子状而形成。以下将所述小空间称作格子位置或胞元(cell)。小空间为立方体形状,在典型例中,体素是占据整个所述小空间的立方体形状的要素,但体素的形状并不限定于此。各个体素具备颜色、材质、与邻接体素的关系性的强弱(例如表示接合强度)等的一个以上的属性。在空间内的格子位置中,有存在构成立体的体素的格子位置与不存在此种体素的格子位置。在体素数据中,对应于各个格子位置的每一个而包含表示此格子位置处的体素有无的信息、及关于存在体素的格子位置而表示此体素所具备的一个以上的属性的值的信息。非专利文献1所示的fav格式是可表达此种体素数据的数据格式的一例。

体素所具备的属性例如有颜色、材质、连结信息等。连结信息是具备能够确定所述体素的连结方向的信息内容的信息。连结方向是在此立体中与所述体素在结构上的联系(例如体素间的接合强度)强的方向。例如,fav格式中的体素的连结信息中,对应于与此体素邻接的每个邻接体素,而包含此体素与邻接体素之间的连结强度的值。在考虑6附近的邻接体素的情况下,连结信息为将6个连结强度值以对于邻接体素所规定的规定顺序排列而成的排列。根据此种对各邻接体素的连结强度的排列,例如求出从所述体素(即自此决定连结方向的对象体素)朝向连结强度最强的邻接体素的方向来作为连结方向。而且,也考虑这样简单地将连结强度最高的方向作为连结方向的方法以外的方法。例如,若与所述体素的连结强度大致相当的(即连结强度差小,例如此差为某阈值以下)邻接体素存在多个,则也可参照所述体素周围的已确定了连结方向的体素的连结方向,来决定将所述多个邻接体素中的哪个的方向作为连结方向。若位于所述体素周围的连结方向已决定的邻接体素为一个,则只要在相对于所述体素的连结强度大致相当的多个邻接体素的方向中,存在与所述一个邻接体素的连结方向一致者,也可将所述一致的方向决定为所述体素的连结方向。若位于所述体素周围的连结方向已决定的邻接体素存在多个,则也可将相对于所述体素的连结强度大致相当的多个邻接体素的方向中与所述多个邻接体素的连结方向中的最多数者一致的方向,决定为所述体素的连结方向。

连结方向例如是供在三维成形装置中对体素数据进行成形时参照。例如,当三维成形装置一边基于层叠结构的体素数据来对每层(layer)进行成形一边予以层叠时,在同一层内参照连结方向,沿着此方向来进行成形。而且,当一边在已成形的层上重叠下一层一边进行成形时,参照连结方向,以沿着此方向来重叠的方式使下一层成形。另外,所述示例中,对三维成形装置参照连结方向的情况进行了说明,但并不限定于此,也可供三维成形装置以外的装置参照。例如,作为三维成形装置的前处理,也可由其他装置参照连结方向来制作提供给三维成形装置的数据。

另外,体素的连结信息并不限于所述的fav格式的连结信息。也可为其他格式的信息,只要包含需求连结方向的信息内容即可。

此种连结信息是在制作表达立体的体素数据等时设定。此设定只要由设计立体的设计者来进行即可。而且,当将利用计算机辅助设计(computeraideddesign,cad)系统等而设计的立体的其他格式(例如实体模型(solidmodel))的立体数据转化为体素数据时,执行此转换的工具也可根据其他格式的立体数据所具备的材质及其他属性信息,来生成体素间的连结信息。

本实施方式中,通过在体素数据的编码中将体素的连结方向考虑在内,从而实现编码效率的提高。

体素相对于位于连结方向上的邻接体素的关联,比相对于位于其他方向上的邻接体素的关联要强。因此,对于邻接的体素的属性值(例如颜色或材质等)的关联性而言,可认为位于连结方向上的体素彼此之间比位于连结方向以外的方向上的体素彼此的情况要强。换言之,可认为体素的属性值沿着连结方向而相关。因此,本实施方式中,在体素的编码时,进行依存于连结方向的预测编码。

即,本实施方式的编码中,对于编码对象体素(称作关注体素)的预测编码时所参照的体素(称作参照体素)中相对于关注体素而位于连结方向上的体素,相较于并非如此的体素而优先处理。另外,以下,将相对于关注体素而位于连结方向上的参照体素称作“连结方向体素”。

例如,在将使用参照体素中的一个以上来预测关注体素的值的多个预测部中预测命中的预测部的识别信息作为表示关注体素的值的信息来进行编码的系统中,以使连结方向体素优先的方式,来分配与预测部的识别信息相关联的编码。即,若“在连结方向体素的贡献率以外的方面为同条件”的预测部存在多个,则在所述多个预测部中,对于“连结方向体素的贡献率”越高的预测部,则分配越短的编码。

此处,所谓“在连结方向体素的贡献率以外的方面为同条件”,例如是指:预测部用于预测的预测式中出现的参照体素距关注体素的距离在多个预测部之间相同,且预测式在所述多个预测部之间为同形。例如,假设相对于关注体素x而存在五个参照体素a、b、c、d、e,参照体素a、b、c距关注体素x的距离为1(即邻接于关注体素x),参照体素d、e距关注体素x的的距离为2。其中,假设参照体素a为连结方向体素,除此以外并非连结方向体素。以下,为了简洁地进行表述,将预测部所算出的关注体素x的预测值设为x,将用于此预测值的计算的参照体素y(y为a~e中的任一者)的值设为y。本例中,若存在预测为x=a的预测部α、预测为x=b的预测部β、预测为x=d的预测部δ,则预测部α与β除了所用的参照体素的区别以外,预测式的形式相同,且所用的参照体素距关注体素x的距离也相同,因此符合“在连结方向体素的贡献率以外的方面为同条件”。与此相对,预测部α与δ在预测式的形式上相同,但所用的参照体素a与d距关注体素x的距离不同,因此不符合“在连结方向体素的贡献率以外的方面为同条件”。而且,预测为x=(2a+d)/3的预测部μ与预测为x=(2b+e)/3的预测部ν除了所用的参照体素的区别以外,预测式的形式相同,且在式的彼此对应的项中所用的参照体素距关注体素x的距离相同,因此符合“在连结方向体素的贡献率以外的方面为同条件”。

而且,所谓“连结方向体素的贡献率”,是指连结方向体素对预测部所预测的预测值的贡献程度。例如,在预测部所用的预测式中,连结方向体素所占的比例为所述贡献率的一例。例如,关于前述的预测部α(x=a,a为连结方向体素的值)的连结方向体素的贡献率为1(即100%),关于预测部β的连结方向体素的贡献率为0。而且,关于预测为x=(2a+d)/3的预测部μ的连结方向体素的贡献率为2/3(66%),关于预测为x=(2b+e)/3的预测部ν的连结方向体素的贡献率为0。

例如考虑下述方式:对多个预测部进行排序,顺位越高的预测部,则分配越短的编码。此方式中,若进行在除用于预测的参照体素是否为连结方向体素以外的方面为同条件的预测(例如预测式的格式与所用的参照体素距关注体素的距离相同)的预测部存在多个,则连结方向体素的贡献率越高的预测部,给予越高的顺位。

由于体素的值(属性值)的相关沿着连结方向为高,因此可认为,连结方向体素的贡献率高的预测部容易预测命中。对于越容易命中的预测部,分配越短的编码,由此,整体的编码量变少,编码效率变佳。

而且,本实施方式中,作为优先处理连结方向体素的编码的另一方式,若关注体素的值的预测命中的预测部存在多个,且所述多个预测部“在连结方向体素的贡献率以外的方面为同条件”,则将其中的“连结方向体素的贡献率”最高的预测部的识别信息作为表示所述关注体素的值者进行编码。连结方向体素的贡献率越高的预测部,预测的命中越容易连续,因此在进行基于行程长度的编码时,可预料使平均的行程长度变长的效果。而且,通过与“连结方向体素的贡献率”越高的预测部则分配相对越短的编码的方式加以组合,从而可期待编码效率的进一步提高。

以上,例示了本实施方式的编码的思路。接下来,参照图1来说明本实施方式的编码装置的结构的一例。

图1所示的编码装置具有连结信息提取部10、连结信息编码部12、预测部14-1、14-2、…、14-n(n为2以上的整数)(以下,在无须区分的情况下,总称作“预测部14”)、预测误差计算部16、选择部18、编码部20及输出部22。

对于此编码装置,输入作为编码对象的体素数据。体素数据中包含各体素的连结信息。连结信息提取部10从体素数据提取连结信息。在fav格式的体素数据的情况下,连结信息作为连结图(map)而包含在体素数据中,因此连结信息提取部10从体素数据提取所述连结图。所提取的连结信息例如被输入至连结信息编码部12、各预测部14、选择部18。

连结信息编码部12对所输入的连结信息进行编码。此时的编码方式并无特别限定,连结信息编码部12也可使用现有的或者此后开发的任一编码方式来对连结信息进行编码。连结信息编码部12的编码结果即连结编码数据是与由后述的预测部14~编码部20所生成的主编码数据相关联地输出,并提供给解码侧。

n个预测部14根据位于所述关注体素周围的一个以上的参照体素的属性值,来预测体素数据内的关注体素的连结信息以外的属性值(例如颜色、材质)。各预测部14使用各不相同的方法来求出关注体素的颜色的预测值。此处所说的“不同的方法”,包括:预测部14用于预测的参照体素不同的情况;或者根据一个以上的参照体素的属性值来预测关注体素的属性值时的预测式不同的情况。

图2所示的示例中,使用在关注层(layer)内相对于关注体素x而分别关于编码的主扫描方向及副扫描方向为正前的体素b及c、关注层内的关注体素x正下方的体素a、以及在与体素a相同的层内分别关于编码的主扫描方向及副扫描方向为正前的体素d及e这五个体素来作为参照体素。a、b、c、d、e的顺序表示参照体素的顺位。参照体素的顺位是:距离关注体素越近的参照体素,则顺位越高。而且,若距关注体素的距离相同,则相对于关注体素而位于沿着连结方向的位置处的体素的顺位比并非如此的体素的顺位高。图2的示例中,连结方向与在成形时层所层叠的方向(层叠方向)一致。因此,相对于体素x而位于连结方向(本例中也是层叠方向)的体素a的顺位比并非如此的体素b及c的顺位高。而且,在层内,对于距关注体素位于相同距离的参照体素彼此的顺位,相对于关注体素而位于主扫描方向者的顺位比位于副扫描方向者高。

而且,图3所示的示例是连结方向与层内的编码的主扫描方向一致。此时,相对于关注体素x而关于主扫描方向为前一个的体素为最高顺位的参照体素a,相对于关注体素x而关于副扫描方向为前一个的体素为下一位的参照体素b。而且,关注体x的正下方的体素为第3位的参照体素c。以下,按照下述规则来决定各参照体素的顺位,即:(a)距关注体素x的距离越近则顺位越高;(b)若距离相同,则按照相对于关注体素而位于连结方向即主扫描方向者、位于副扫描方向者、位于下层者的顺序而顺位变低。

而且,图4所示的示例是连结方向与层内的编码的副扫描方向一致的情况。此时,按照下述规则来决定各参照体素的顺位,即:(a)距关注体素x的距离越近则顺位越高;(b)若距离相同,则按照相对于关注体素而位于连结方向即主扫描方向者、位于副扫描方向者、位于下层者的顺序而顺位变低。

此处,假设编码装置包括五个参照图2所例示的五个参照体素来进行预测的预测部14,各预测部14分别将对应的参照体素的值作为关注体素x的预测值。此时,在预测部14-1以x=a这一预测式来进行预测的情况下,参照体素a为连结方向体素,且是距关注体素x的距离最短的1体素,因此将最短的编码关联于预测部14-1,并且若预测命中,则由选择部18来最优先选择。以下,若设预测部14-2、14-3、14-4,14-5分别以x=b、x=c、x=d、x=e这些预测式来进行预测,则按照分别对应的参照体素b、c、d、e的顺位的顺序来对各预测部14分配短的编码,若多个预测部14的预测同时命中,则依此顺位的顺序优先选择。

而且,假设编码装置所具备的预测部14在图2的参照体素的配置例中,分别使用x=a、x=b、x=c、x=(a+d)/2这些预测式。例如,也可基于关注体素的距离或方向来决定参照体素的分数,根据预测部14所用的预测式中的参照体素的分数来求出预测部14的分数,按照分数由大到小的顺序来对预测部14进行排序。例如,若使用下述打分规则,即,若相对于关注体素而距离为1体素,则为4分,若距离为2体素,则为1分,若相对于关注体素而位于连结方向上,则为3分,若相对于关注体素而位于编码的主扫描方向上,则为1分,则参照体素a的分数为7分,参照体素b的分数为5分,以x=a进行预测的预测部14为7分,以x=b进行预测的预测部14的分数为5分。对于使用如x=(a+d)/2这样包含除法的预测式的预测部14,例如只要同样地对此预测式中的参照体素的分数进行除法来决定分数,例如为4分。并且,只要基于这样决定的分数来决定各预测部14的顺位,并使用此顺位来进行对各预测部14的编码分配、或者多个预测部14的预测同时命中时的选择即可。

另外,图2~图4所示的参照体素a~e不过是一例。当然也可使用相对于关注体素x而处于a~e以外的位置关系的体素来作为参照体素。

以上表示了若干个示例,但无论哪种方法,在存在是否为连结方向体素这一条件以外的条件(例如距关注体素x的距离)相同的多个预测部14的情况下,均在这些预测部14中按照连结方向体素的贡献率(即所述示例中由于是体素在连结方向而得到的分数)由高到低的顺序来赋予顺位。

这样,各预测部14根据各自所用的预测式(及此式中所用的参照体素)来预先进行排序。所述排序的信息被保持在选择部18中。而且,编码部20根据此排序,对于各预测部14,顺位越高则分配越短的编码。

各预测部14分别对自身算出的预测值与关注体素x的值进行比较,若两者一致,即,若预测命中,则向选择部18发送表示命中的信号,若并非如此,则向选择部18发送表示未命中的信号。

预测误差计算部16在n个预测部14的预测全部未中的情况下,算出按照规定的方法(例如与预测部14中的特定的一个相同的方法)而预测出的关注体素x的值与实际的关注体素的值的差值,并将其输出作为预测误差。预测误差计算部16也可求出根据关注体素的连结方向而决定的最高顺位的预测部14的预测结果与关注体素的值之差,来作为预测误差。

选择部18从n个预测部14与预测误差计算部16接收信息,并从其中选择一个送往编码部20。将选择部18的处理流程的示例示于图5。

此流程中,当选择部18收到从n个预测部14与预测误差计算部16输出的信息时(s10),根据此信息来判定是否存在命中的预测部14(s12)。若存在命中的预测部14(s12的判定结果为是(yes)),则将命中的预测部14中顺位最高的预测部14的识别信息(id)或顺位输出至编码部20(s14)。若命中的预测部14为一个,则当然将此预测部14的id输出至编码部20。若s12的判定结果为否(no),则选择部18将从预测误差计算部16收到的预测误差输出至编码部20(s16)。

编码部20对从选择部18收到的信息进行编码。此处,对于预测部14的id的编码,如前所述,将连结方向考虑在内而给予的顺位越高的预测部14,则赋予越短的编码。所分配的编码是事先设定的。而且,预测误差的编码是通过在表示预测未中的编码之后附加预测误差的值而进行。除了将连结方向考虑在内而给予的顺位越高的预测部14则赋予越短的编码这点以外,编码部20的处理可与专利文献2(例如参照图4)所示者同样。所用的编码可为霍夫曼编码(huffmancode)之类的熵编码(entropycode),但并不限定于此。将编码部20所输出的编码数据称作主编码数据。

输出部22将编码部20所生成的主编码数据跟连结信息编码部12所生成的连结编码数据相关联地予以输出。

此外,根据图2~图4可知的是,当连结方向与编码的推进方向(层内的主扫描方向、副扫描方向、层的推进(层叠)方向)的关系发生变化时,各参照体素的排序将发生变化。如图6所示,对于各参照体素,以编码的推进方向为基准来从1开始依序赋予识别编号。此时,在连结方向相对于编码的推进方向而处于图2所示的关系(连结方向=层的推进方向)的情况下,最高顺位的参照体素a为识别编号3的体素,在图3所示的关系的情况下为识别编号1的体素,在处于图4所示的关系的情况下为识别编号2的体素。一旦连结方向决定,则各识别编号的体素的顺位也被决定。因此,在编码中,也必须根据此种与连结方向相应的参照体素的顺位变化,来求出各预测部14的顺位。在此,例如有以下说明的两种方式。

第1方式中,设想各预测部14所用的预测式以根据编码的推进方向而定的识别编号(参照图6)来表示用于预测的参照体素的情况。例如,预测部14-1使用将识别编号1的体素设为预测值(x=1)的预测式,预测部14-2使用将识别编号2的体素设为预测值(x=2)的预测式等情况为其一例。此时,若关注体素的连结方向已知,则可知所述预测部14的预测式中所含的各参照体素的顺位,因此,根据这些参照体素的顺位,利用与在上文参照图2所说明的同样的方法,来求出所述预测部14的分数。并且,根据这样求出的各预测部14的分数,来决定这些预测部14的顺位。例如,若设预测部14-1、14-2、14-3、14-4、14-5分别利用x=1、x=2、x=3、x=4、x=5这些预测式来分别进行预测(数值1~5为参照体素的识别编号),且编码的推进方向与连结方向的关系如图2所示,则以最高位为预测部14-3、第2位为预测部14-1、第3位为预测部14-2、…的方式来决定各预测部14的顺位。

在此第1方式的情况下,预测部14的预测式中所用的各参照体素相对于关注体素的相对位置是关于编码的推进方向而固定地决定。因此,各预测部14只要分别读出所述位置被固定地决定的各参照体素的属性值,将这些属性值适用于预测式而求出预测值即可。在预测部14的此种处理中,不需要连结方向的信息。另一方面,选择部18根据连结方向的信息来进行所述各预测部14的排序,将预测命中的预测部14中的最高顺位者的识别编号通知给编码部20。编码部20按照根据连结方向所决定的各预测部14的顺位由高到低的顺序来分配短的编码,并将与从预测部14通知的识别编号对应的编码作为编码结果而输出。结果,此编码是表示预测命中的最高顺位的预测部14的顺位的编码。

第2方式中,设想各预测部14所用的预测式以顺位来表示用于预测的参照体素的情况。所述预测部14-1、14-2、14-3、14-4、14-5分别使用x=a、x=b、x=c、x=d、x=e这些预测式的示例为其一例。a、b、c、d、e是表示参照体素的顺位的编码(a为最高位,b为下一位,…)。此方式中,各预测部14的排序已定(所述示例中,为预测部14-1、14-2、14-3、…的顺序)。这是因为,在各预测部14的预测式中使用哪个顺位的参照体素已决定。此方式中,关注体素的连结方向的信息也被提供给各预测部14。各预测部14根据连结方向的信息,来确定与a~e的各顺位对应的参照体素的识别编号(参照图6),求出自身的预测式中所用的参照体素的识别编号,读出与所求出的识别编号对应的参照体素的属性值并适用于预测式。选择部18将预测命中的预测部14中的最高顺位者的识别信息(即所述预测部14的顺位)通知给编码部20。编码部20按照各预测部14的顺位由高到低的顺序来分配短的编码,并将与从预测部14通知的识别信息(即顺位)对应的编码作为编码结果而输出。

这样生成的编码数据能够通过执行编码的逆过程(process)而解码。图7中例示解码装置的结构。对于此解码装置,输入图1的编码装置所生成的主编码数据与连结编码数据。

预测部34-1、34-2、…、34-n(以下总称为预测部34)分别利用与编码装置的预测部14-1、14-2、…、14-n相同的识别信息(顺位)来识别,并利用相同的预测式来预测关注体素的值。例如,预测部34-1具备与预测部14-1相同的识别信息(或顺位),利用与预测部14-1相同的预测式来预测关注体素的值。

解码部30从先头开始依序对所输入的主编码数据进行解码。解码结果的值是编码装置中预测命中的最高位的预测部14的顺位、或表示预测未中的值。在后者的情况下,预测误差的编码紧跟于其后,因此解码部30对其进行解码。

连结信息解码部31对所输入的连结编码数据进行解码,由此来再生每个关注体素的连结信息。

若从解码部30收到的解码结果是表示预测命中的最高位的预测部14的顺位,则选择部32向与此顺位对应的预测部34发送预测指示。

此处,在预测部14及预测部34使用第1方式(利用图6的识别编号来识别参照体素的方式)的情况下,选择部32根据由再生的连结信息而求出的连结方向,来进行各预测部34的排序。所述排序只要与编码装置的预测部14的排序同样地进行即可。并且,对与解码结果所表示的顺位对应的预测部14指示预测的执行。收到此指示的预测部14将自身参照的各识别编号的参照体素的属性值适用于预测式来进行预测。

而且,在预测部14及预测部34使用前述的第2方式(利用顺位来识别参照体素的方式)的情况下,各预测部34的顺位也已决定。此时,选择部32对与解码结果所表示的顺位对应的预测部34指示预测的执行。收到指示的预测部34根据由连结信息解码部31所解码的连结信息而确定的关注体素的连结方向,来求出所述预测部34所参照的各参照体素(预测式中以顺位来表示)的识别编号(根据编码的推进方向而唯一决定,参照图6)。并且,所述预测部34将与所求出的所述各识别编号对应的各参照体素的属性值适用于预测式来进行预测。

并且,所选择的预测部34将预测结果的值作为关注体素的值而写入至体素数据38的存储器区域。

而且,选择部32在来自解码部30的解码结果表示预测未中的情况下,将紧跟于其而输入的预测误差的值输入至预测误差加法部36。预测误差加法部36利用与编码装置的预测误差计算部16相同的方法来预测关注体素的值。并且,将对此预测值加上所输入的预测误差所得的结果,作为关注体素的值而写入至体素数据38的存储器区域。

以上所示的示例中,选择部32选择一个预测部34来执行预测,但也可进行其他控制。即,也可使n个预测部34全部执行预测,选择部32从这些预测部34的预测结果中选择一个,将其作为关于关注体素的最终解码结果。

这样,解码装置所解码的体素数据38用于成形装置中的成形处理。

以上的示例中,将下述方式予以组合,即:相对于关注体素为连结方向的参照体素的贡献越高的预测部,则分配越短的编码这一方式;以及在预测命中的预测部存在多个的情况下,相对于关注体素为连结方向的参照体素的贡献越高的预测部,则越优先选择这一方式。但是,未必需要一起执行两方式,仅使用其中一种方式的编码装置、解码装置预计也能实现一定程度的编码效率的提高。

也可在所述方法中适用行程长度编码。将进行行程长度编码时的编码装置的预测部14及选择部18的处理流程示于图8及图9。

如图8所示,预测部14使用一个以上的参照体素来执行关注体素的值的预测(s30),并判定所预测的值与关注体素的值是否一致(命中)(s32)。若判定为一致,则使所保持的行程长度计数器的值增加1(s34),并返回s30,进行下个关注体素的处理。

若在s32中判定为预测值与关注体素的值不一致,则预测部14将表示行程已结束的意旨的行程结束信号和行程长度计数器所示的值(行程长度)输出至选择部18。若最开始的体素的预测便未中,则输出至选择部18的行程长度为0。

继而,预测部14将行程长度计数器的值初始化为0,并待机至从选择部18发来重开指示为止(s39)。在此待机的期间,有时会有其他预测部14继续预测命中。当从选择部18发来重开指示时,从所述指示所表示的体素开始重开处理,进行s30~s39的处理。

而且,在行程长度编码的情况下,选择部18如图9所示,首先,每当获取各预测部14及预测误差计算部16所输出的信息(s40)时,判定是否从所有n个预测部14收到行程结束信号(s42)。若此判定的结果为否,则弃用从预测误差计算部16收到的预测误差的信息,返回s40,获取关于下个关注体素的来自预测部14及预测误差计算部16的输出。

若s42的判定结果为是,则选择部18判定是否存在行程持续至正前为止的预测部14(s44)。若关于前个行程结束之后的关注体素而n个预测部14的预测全部未中(即,若所有预测部14的行程长度为0),则s44的判定结果为否,若并非如此,则判定结果为是。若判定结果为是,则选择部18从行程持续至正前为止的预测部14,即,与行程结束信号一同送往选择部18的行程长度为最长的预测部14中,确定考虑到前述连结方向的顺位为最高位者,将所确定的预测部14的id与行程长度输出至编码部20(s46)。若s44的判定结果为否,则选择部18将从预测误差计算部16收到的预测误差输出至编码部20(s48)。

这样,选择部18将求出最长行程的预测部14中的将连结方向考虑在内的最高顺位者通知给编码部20。

另外,对经所述行程长度编码处理而获得的编码进行解码的解码装置是通过执行编码装置的逆过程,来对主编码数据进行解码。所述解码的方式可根据图4的示例等而容易地类推,因此省略说明。所述解码处理可类似于专利文献3的图3所示的流程,因此若有需要,请参照专利文献3。

接下来,对所述实施方式的变形例进行说明。所述实施方式中,进行使相对于关注体素而位于连结方向(例如连结最强的方向)上的参照体素的贡献率高的预测部14优先的编码。与此相对,本变形例中,对于材质相同的范围内的体素的编码,进行使位于连结最弱的方向上的参照体素的贡献率高的预测部14(即,所述示例中的分数最低的预测部14)优先的编码。即,位于连结最弱的方向上的参照体素的贡献率越高的预测部14,则分配越短的编码,当有多个预测命中的预测部14竞争时,若包含位于连结最弱的方向上的参照体素的贡献率最高的预测部14,则对此预测部14的顺位或识别编号进行编码。这是基于以下的思路。

即,在逐层地沿垂直于层的面的方向而使形状成长的方式的成形中,体素间的连结强度在层内的成形所推进的方向上强,在层间比层内弱。在层内邻接的体素彼此的材料以融化或柔软的状态被供给至这些体素的位置,在时间上接近地依序固化。在层1的成形完成,来到其上进行下个层2的成形的时刻,层1的固化大致完成,层2的各体素的材料将在大致固化完成的层1上共用。彼此从柔软的状态大致同时固化的邻接体素彼此的连结(此时为接合强度),比向已大致固化完成的体素的旁边供给其他体素的材料并使其固化时的这两体素间的连结要强。另一方面,在体素位置存在实体的情况下,在此体素位置正下方的体素位置也存在实体的可能性高(若并非如此,则使每一层依序成长的方式的成形将变得困难)。因此,在体素位置存在实体的情况下,可以说,在此体素位置的正下方存在相同材料的实体的可能性高。根据此性质,通过进行使连结最弱的方向(即关注体素的正下方的方向)优先的预测编码,可实现体素的材料属性值的编码的效率化。

进一步说明此变形例对于材质相同的范围内的体素的编码有用的情况。

成形方向中,层叠方向会影响到支撑材(用于构成支撑部的材料,所述支撑部是在成形过程中对成形物结构中下方无支撑的部分进行支撑。支撑部在成形完成后将被去除)的量,因此一般是由成形物的设计者来指定。另一方面,同一层内的成形方向不会影响到支撑材的量,而且每个成形装置情况各有不同,因此罕有设计者详细指定,完全委托给成形装置侧的情况也不少。此种前提下,设计者有时会将同一层内的连结方向或强度设定成一样。若考虑到成形物的强度等,理想的是,在成形物的设计时,设想工具轨迹(toolpath)(例如供给成形材料的头(head)所运动的路径)的方向而沿着此方向来设定连结方向与强度,但可能引起下述情况(case),即,设计者未进行那么细致的设定,而是进行如上所述的一样的设定。此情况下,对于层的边缘(edge)(周缘)部分的体素,也将设定与同层的其他体素相同的一样的连结方向和强度属性。若进行此种设定,则在边缘部分的体素中,也将包含对所述体素所设定的连结方向所指的同一层内的体素位置不存在体素(由于所述体素位于边缘)者。对于此种边缘部分的体素,在使位于连结方向(连结最强的方向)上的参照体素的贡献率高的预测部14优先的所述实施方式的预测编码中,编码效率有可能变差。对于此种边缘部分的体素,使位于相对于关注体素而连结弱的层叠方向上的参照体素优先的预测编码反而编码效率佳。

以上例示的编码装置及解码装置在一例中可作为硬件(hardware)的逻辑电路而构成。而且,作为其他例,编码装置及解码装置例如也可通过使内置的计算机执行表现所述各装置内的各功能模块的功能的程序而实现。此处,作为硬件,计算机例如具有下述电路结构,即:中央处理器(centralprocessingunit,cpu)等处理器、随机存取存储器(randomaccessmemory,ram)及只读存储器(readonlymemory,rom)等存储器(一次存储)、控制硬盘驱动器(harddiskdrive,hdd)的hdd控制器、各种输入/输出(input/out,i/o)接口、进行用于与局域网络(localareanetwork)等网络的连接的控制的网络接口等例如经由总线而连接。而且,对于此总线,例如也可经由i/o接口而连接有用于对光盘(compactdisc,cd)或数字多功能光盘(digitalversatiledisk,dvd)等便携式光盘记录介质进行读取和/或写入的光驱(diskdrive)、用于对快闪存储器(flashmemory)等各种规格的便携式非易失性记录介质进行读取和/或写入的存储器读写器等。记述有以上例示的各功能模块的处理内容的程序经由cd或dvd等记录介质,或者经由网络等通信方式,而保存至硬盘驱动器等固定存储装置中,并安装(install)于计算机。通过将存储于固定存储装置中的程序读出至ram并由cpu等处理器予以执行,从而实现以上例示的功能模块群。而且,编码装置及解码装置也可包含软件(software)与硬件的组合。

技术特征:

1.一种编码装置,包括:

获取体素数据的部件,所述体素数据表示成形对象的立体,且对应于构成所述立体的每个体素而包含所述体素的值、及表示所述体素的连结方向的连结信息;以及

编码部件,根据基于关注体素周围的一个以上的参照体素的值来预测所述关注体素的值的多个预测部中对所述关注体素的值的预测命中的预测部,来决定编码,由此来对所述体素数据进行编码,且所述编码部件基于所述关注体素的连结信息来对所述关注体素编码。

2.根据权利要求1所述的编码装置,还包括:

控制部件,以下述方式来控制所述编码部件,即,在用于预测的一个以上的所述参照体素相对于所述关注体素的方向以外的条件相同的所述预测部彼此之间,相对于所述关注体素而位于所述连结方向上的所述参照体素对预测的贡献率越高的所述预测部,则分配越短的编码。

3.根据权利要求1或2所述的编码装置,还包括:

控制部件,以下述方式来控制所述编码部件,即,在所述多个预测部中存在多个预测命中者的情况下,基于这些预测命中的预测部中相对于所述关注体素而位于所述连结方向上的所述参照体素对预测的贡献率最高的预测部,来决定编码。

4.根据权利要求1所述的编码装置,还包括:

控制部件,以下述方式来控制所述编码部件,即,在用于预测的一个以上的所述参照体素相对于所述关注体素的方向以外的条件相同的所述预测部彼此之间,相对于所述关注体素而位于越靠近所述连结方向的方向上的所述参照体素的预测部,则分配越短的编码。

5.根据权利要求1至4中任一项所述的编码装置,还包括:

提取部件,从所述体素数据中提取各体素的连结信息;以及

输出部件,将所述编码部件对所述体素数据的编码结果即编码数据、与所述提取部件所提取的所述连结信息相关联地予以输出。

6.一种解码装置,包括:

输入从权利要求5所述的编码装置的所述输出部件所输出的所述编码数据与所述连结信息的部件;

多个解码用预测部件,基于关注体素周围的一个以上的体素的值来求出所述关注体素的预测值,且所述多个解码用预测部件分别利用与跟相同的识别信息对应的所述编码装置的所述预测部相同的方法,来求出所述预测值;以及

将与所输入的所述编码和所述连结信息所表示的连结方向的组合对应的所述解码用预测部件的预测值,作为与所述编码对应的关注体素的值而输出的部件。

7.一种存储介质,其存储有用于使计算机作为下述部件发挥功能的程序,即:

获取体素数据的部件,所述体素数据表示成形对象的立体,且对应于构成所述立体的每个体素而包含所述体素的值、及表示所述体素的连结方向的连结信息;以及

编码部件,根据基于关注体素周围的一个以上的参照体素的值来预测所述关注体素的值的多个预测部中对所述关注体素的值的预测命中的预测部,来决定编码,由此来对所述体素数据进行编码,且所述编码部件基于所述关注体素的连结信息来控制所述关注体素的编码。

技术总结

本发明的编码装置、解码装置以及存储介质,在对体素数据进行预测编码的装置中,相较于未考虑使所述体素数据所表示的立体进行成形时的连结方向的情况而减小编码的数据量。选择部(18)在存在多个预测命中的预测部(14)的情况下,选择其中相对于关注体素为连结方向的参照体素的贡献最高的预测部(14)。编码部(20)对于相对于关注体素而位于连结方向上的参照体素的贡献越高的预测部(14),则分配越短的编码,并将对选择部(18)所选择的预测部(14)分配的编码作为关注体素的编码结果而输出。

技术研发人员:横瀬太郎

受保护的技术使用者:富士施乐株式会社

技术研发日:.03.07

技术公布日:.02.28

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。