描画装置、描画方法及程序的制作方法

文档序号:6495416阅读:209来源:国知局
描画装置、描画方法及程序的制作方法
【专利摘要】描画装置根据在由多个像素构成的画面上描画并由画面上的两点规定的线的线宽,规定对将两点作为端点的线段进行插补的插补范围。另外,描画装置判断像素是否包含在插补范围内。描画装置描画由线段上的像素、判断为包含在插补范围内的像素规定的线。因此,描画装置仅基于与线宽相关的信息,能够确定用于描画线的像素。因此,在进行描画处理时需要处理的信息变少,能够高速地进行描画处理。另外,由于为了进行描画处理而需要事先准备的信息不多,所以能够实现装置的小型化。
【专利说明】描画装置、描画方法及程序
【技术领域】
[0001]本发明涉及一种描画装置、描画方法及程序,更详细来说,涉及一种在画面上描画线的描画装置、用于在画面上描画线的描画方法及程序。
【背景技术】
[0002]近年来,用于辅助车辆停入车库、纵向停车等的支援装置已经上市。这种支援(辅助)装置,例如在监视器画面中与车辆后方的影像重叠显示出表示车宽的直线、表示车辆的移动目的地的轨迹。在描画这种线时,例如,经常使用DDA (Digital DifferentialAnalyzer:数字微分分析器)。支援装置通过利用DDA,能够简单地进行描画直线时所需的运算,能够在短时间内在监视器画面上描画直线。
[0003]在利用DDA描画由不同的两点规定出的直线的情况下,作为描画对象的直线的线宽基本上取决于像素的宽度或高度等、像素的大小。因此,提出了各种各样的利用DDA来描画期望的线宽的直线的技术(例如,参照专利文献I及2)。
[0004]现有技术文献
[0005]专利文献
[0006]专利文献1:日本特开平4-23179号公报
[0007]专利文献2:日本特开平8-279038号公报

【发明内容】

[0008]发明要解决的问题
[0009]在上述专利文献I中记载的装置,按照DDA的算法描画作为描画对象的直线,并且描画与该直线的线宽相应的网点图案。另外,在专利文献2中记载的装置,按照DDA的算法描画作为描画对象的直线,并且在该直线的基础上描画长度与线宽相等的法线。上述两种装置通过描画与直线的线宽相应的网点图案或法线,来显示期望的线宽的直线。
[0010]然而,在专利文献I中记载的装置需,要实现存储与线宽对应的网点图案。因此,为了存储网点图案,需要具有某种程度的容量的存储器。其结果为,存在装置大型化的问题。
[0011]另外,在专利文献2中记载的装置,通过复杂的运算处理,来计算出作为描画对象的直线的法线。因此,运算电路复杂。另外,难以在短时间内在监视器画面上显示直线。
[0012]本发明是鉴于上述情况而提出的,目的在于,实现装置的简化,并且高速地进行描画处理。
[0013]用于解决问题的手段
[0014]为了达成上述目的,本发明的第一方案的描画装置,在由多个像素构成的画面中描画由两点规定的线,其具有:插补范围规定单元,其根据所述线的线宽,规定用于对将所述两点作为端点的线段进行插补的插补范围;判断单元,其判断所述像素是否包含在所述插补范围内;描画单元,其描画由所述线段上的像素和被判断为包含在所述插补范围内的像素规定出的线。
[0015]为了达成上述目的,本发明的第二方案的描画方法,在由多个像素构成的画面中描画由两点规定的线,包括:插补范围规定工序,根据所述线的线宽,规定用于对将所述两点作为端点的线段进行插补的插补范围;判断工序,判断所述像素是否包含在所述插补范围内;描画工序,描画由所述线段上的像素和被判断为包含在所述插补范围内的像素规定出的线。
[0016]为了达成上述目的,本发明的第三方案的程序使计算机执行如下的步骤:插补范围规定步骤,根据所述线的线宽,规定用于对将所述两点作为端点的线段进行插补的插补范围;判断步骤,判断所述像素是否包含在所述插补范围内;描画步骤,描画由所述线段上的像素和被判断为包含在所述插补范围内的像素规定出的线。
[0017]发明的效果
[0018]根据本发明,基于与线宽相关的信息,在通过两点确定的线段的周围规定插补范围。利用包含在插补范围内的像素来描画线。因此,在进行描画处理时需要处理的信息变少,能够高速地进行描画处理。另外,由于为了进行描画处理而需要事先准备的信息不多,所以能够实现装置的小型化。
【专利附图】

【附图说明】
[0019]图1是本实施方式的倒车监视系统的框图。
[0020]图2是表示拍摄装置的配置的图。
[0021]图3是示意性地表示显示部的画面的图。
[0022]图4是表示CPU执行的一系列的处理的流程图。
[0023]图5是表示CPU执行的描画处理的流程图。
[0024]图6是表示描画范围的图。
[0025]图7是用于说明描画顺序的图。
[0026]图8是用于说明描画顺序的图。
[0027]图9是用于说明描画顺序的图。
[0028]图10是用于说明描画顺序的图。
[0029]图11是用于说明描画顺序的图。
[0030]图12是表示插补范围的图。
【具体实施方式】
[0031]下面,参照附图,说明本发明的一个实施方式。图1是表示本实施方式的倒车监视系统10的概略结构的框图。倒车监视系统10,例如以与车辆的后方的图像重叠的方式显示出用于表示车辆轨迹、车宽的线。如图1所示,倒车监视系统10具有描画装置20、拍摄装置30。
[0032]如图2所示,拍摄装置30安装在车辆100的后方。调整该拍摄装置30的安装姿势、视角,以使得车辆后方的路面位于视野之内。拍摄装置30将通过拍摄得到的图像转换成电信号进行输出。
[0033]返回图1,描画装置2为具有CPU (Central Processing Unit:中央处理器)21、主存储部22、辅助存储部23、显示部24、输入部25及接口部26的计算机。
[0034]CPU21通过读取并执行存储在辅助存储部23内的程序,来在显示部24的画面上,与车辆100的后方的图像重叠地描画车辆100的轨迹、车宽等。该CPU21通过执行上述的程序,能够描画出期望的宽度的线。
[0035]主存储部22具有RAM (Random Access Memory:随机存取存储器)等的易失性存储器。主存储部22用来作为CPU21的作业区域。
[0036]辅助存储部23具有ROM (Read Only Memory:只读存储器)、磁盘、半导体存储器等的非易失性存储器。辅助存储部23存储有由CPU21执行的程序、各种参数等。另外,辅助存储部23依次存储与从拍摄装置30输出的图像相关的信息以及含有CPU21的处理结果
等的信息。
[0037]显示部24具有IXD (Liquid Crystal Display:液晶显示器)等的显示装置。显示部24显示CPU21的处理结果等。
[0038]输入部25具有输入键、触摸屏等的定点设备(pointing device)。经由输入部25输入操作员的指示,并经由系统总线27通知至CPU21。
[0039]接口部26构成为包括串行接口或LAN(Local Area Network:局域网)接口等。拍摄装置30经由接口部26与系统总线27连接。
[0040]接着,针对CPU21描画线的描画动作进行说明。为了方便说明,如图3所示,假设上述显示部24的画面由排列成10行20列的矩阵状的像素构成。位于第m行第η列的像素标记为像素D (m,n)。此外,(m,η)相当于显示部24的画面上的坐标。
[0041]另外,作为前提,由CPU21描画的直线为以下两点规定出的向右下方倾斜的直线,这两点是:标注有圆圈标记的像素D (3,3),和标注有三角形标记的像素D (13,6)。另外,所描画的直线在纵向上的线宽为3。
[0042]图4及图5的流程图与CPU21执行的程序的一系列的处理(算法)对应。下面,一边参照图4及图5,一边针对倒车监视系统10的动作进行说明。例如,通过驾驶员将车辆100的排挡变换成后退挡,开始进行图4及图5的流程图示出的一系列的处理。
[0043]首先,在步骤S201中,CPU21以描画开始像素为基准,计算出到达描画终点像素为止的距离Xa及距离Ya。例如,在描画开始像素为像素D (Xst,Yst)、描画结束像素为像素D (X印,Y印)的情况下,距离Xa及距离Ya分别由下面的式子(I)及(2)表示。此外,Abs(X)函数为输出X的绝对值的函数。
[0044]Xa = Abs (Xep-Xst)…(I)
[0045]Ya = Abs (Yep-Yst)…(2)
[0046]如上述前提所述,描画开始像素为像素D (3,3),描画结束像素为像素D (13,6)的情况下,分别计算出距离Xa为10、距离Ya为3。
[0047]另外,CPU21基于下面的式子(3),计算规定线宽的位移量XYsft。此外,Int (X)函数为输出不大于X的最大整数的函数。另外,S_wdt为所描画的线的宽度,在上述的前提下,s_wdt为3。因此,计算出位移量XYsft为I。
[0048]XYsft = Int (s_wdt/2)...(3)
[0049]在下一个步骤S202中,CPU21基于下面的式子(4)及(5),计算出取决于线宽的参数 Xb、Yb。[0050]Xb = O-XYsft…(4)
[0051]Yb = O-XYsft…(5)
[0052]该参数Xb、Yb为用于根据线宽来调整描画开始位置的参数。在如上述前提所述,线宽为3的情况下,分别计算出参数Xb、Yb为-1(= 0-1)。参照图3可知,此时的参数Xb、Yb表示从D (2,2)开始描画线,D (2,2)是指,从描画开始像素D (3,3)仅向X方向偏移-1、向Y方向偏移-1的像素。
[0053]在下一个步骤S203中,CPU21基于下面的式子(6)及(7),计算参数XaYb及参数YaXb。CPU21将计算出的参数YaXb的值设定为初始值YaXblnt。
[0054]XaYb = Xa.Yb…(6)
[0055]YaXb = Ya.Xb…(7)
[0056]在上述前提下,距离Xa为10,参数Yb为-1,因此,u计算出参数XaYb的值为_10。另外,距离Ya为3,参数Xb为-1,因此,计算出参数YaXb的值为_3。另外,初始值YaXbInt设定为_3。
[0057]另外,CPU21基于下面的式子(8 )及(9 ),分别计算参数Xa2、Ya2。
[0058]Xa2 = Int (Xa/2)...(8)
[0059]Ya2 = Int (Ya/2)...(9)
[0060]在上述的前提下,距离Xa为10,距离Ya为3。因此,计算出参数Xa2为5,参数Ya2为I。
`[0061 ] 在下一个步骤S204中,CPU21通过执行下面的式子(10 )及(11)示出的运算,根据线宽来更新参数Xa2,Ya2。在上述前提中,线宽为3,因此,计算出Int (s_wdt/2)为I。然后,参数Xa2加上距离Xa的值得到的值成为新的参数Xa2 (指标值)的值。另外,参数Ya2加上距离Ya的值得到的值成为新的参数Ya2 (指标值)的值。
[0062]Xa2 = Xa2 + Xa.Int (s_wdt/2)...(10)
[0063]Ya2 = Ya2 + Ya.Int (s_wdt/2)…(11)
[0064]在上述的前提下,参数Xa2的值从5更新至15 (= 5 + 10)。另外,参数Ya2的值从I更新至4(=1 + 3)。
[0065]在下一个步骤S205中,CPU21进行初始化,将用于指定构成显示部24的画面的像素的参数Xdp、Ydp的值分别设为O。
[0066]在下一个步骤S206中,CPU21执行用于实现描画处理的子程序300。在子程序300中,首先,在步骤S301中,CPU21使参数Ydp自加I。
[0067]在下一个步骤S302中,CPU21使参数Xdp自加I。
[0068]在下一个步骤S303中,CPU21判断像素D (Xdp、Ydp)是否在描画范围内。图6示出了描画范围F。该描画范围F由描画开始像素D (Xst,Yst)和描画结束像素D (Xep7Yep)以及位移量XYsft规定。具体来说,描画范围F规定为如下矩形的范围,在该矩形的范围中,在图6中利用双重圆表示的像素D (Xst-XYsft, Yst-XYsft)和像素D (Xep + XYsft,Yep + XYsft)位于角部。
[0069]在像素D (Xdp、Ydp)不包含在描画范围F内的情况下(步骤S303:否),CPU21前进至步骤S310。
[0070]在步骤S310中,CPU21判断参数Xdp的值是否在20以上。在参数Xdp的值小于20的情况下(步骤S310:否),CPU21返回步骤S302。
[0071] 例如,参照图7可知,在参数Ydp的值为I的情况下,通过使参数Xdp的值从I变化至20来进行指定的像素D (Xdp,Ydp),是用网点填充的第一行的像素。因此,在该情况下,在步骤S303中的判断得不到肯定的判断结果,CPU21反复进行步骤S302、步骤S303、步骤S310的处理。由此,将第一行的像素的状态指定为暗(OFF)。
[0072]然后,若参数Xdp的值变为20,则在步骤S310中的判断为肯定的(步骤S310:是),CPU21向步骤S311前进。
[0073]在步骤S311中,CPU21基于下面的式子(12),更新参数XaYb。
[0074]XaYb = XaYb + Xa…(12)
[0075]在上述的前提下,参数XaYb的值为-10,距离Xa的值为10。因此,参数XaYb的值更新为O。
[0076]在下一个步骤S312中,CPU21将参数YaXb的值设定为与初始值YaXbInt的值相等。在上述的前提下,由于初始值YaXbInt的值为-3,所以将参数YaXb的值设定为_3。
[0077]在下一个步骤S313中,CPU21判断参数Ydp的值是否在10以上。在参数Ydp的值小于10的情况下(步骤S313:否),CPU21前进至步骤S314。
[0078]在步骤S314中,CPU21将参数Xdp的值初始化为O。然后,返回步骤S301,使参数Ydp的值自加I。例如,在第二次执行的步骤S301中,参数Ydp的值变为2。
[0079]在以后的步骤中,CPU21执行步骤S302、步骤S303及步骤S310的处理。接着,通过在步骤S302中的处理,参数Xdp的值变为2。因此,由参数Xdp、Ydp规定的像素D(Xdp,Ydp)为像素 D (2、2)。
[0080]参照图8可知,像素D (2,2)位于描画范围F内。因此,在步骤S303中的判断为肯定的(步骤S303:是),CPU21前进至步骤S306。
[0081]在步骤S306中,CPU21基于作为规定条件式的下面的式子(14),计算参数s_abs的值。在参数Xdp、Ydp双方均为2的情况下,参数XaYb的值为-10,参数YaXb的值为-3。因此,计算出参数s_abs的值为7。
[0082]s_abs = Abs (XaYb-YaXb)…(14)
[0083]在下一个步骤S307中,CPU21判断参数s_abs的值是否在参数Xa2的值以下。在上述的前提下,由于参数Xa2的值为15,则在步骤S307中的判断为肯定的(步骤S307:是)。然后,CPU21前进至步骤S308,将像素D (2,2)的状态指定为亮(0N)。由此,图8的标注有星形标记的像素D (2,2)变为亮(0N)。
[0084]在下一个步骤S309中,CPU21基于下面的式子(15),更新参数YaXb的值。在参数Xdp,Ydp的双方为2的情况下,参数YaXb的值为-3,参数Ya的值为3。因此,参数YaXb的值更新为O。
[0085]YaXb = YaXb + Ya…(15)
[0086]在下一个步骤S310中,由于参数Xdp的值为2 (步骤S310:否),所以CPU21返回步骤S302。
[0087]在以后的步骤中,在步骤S302的处理中,参数Xdp的值变为3。然后,CPU21在进行步骤S303之后前进至步骤S306。接着,利用步骤S306的处理,计算出参数s_abs的值为10 (=Abs (-10-0))。由于参数Xa2为15,所以在步骤S307中的判断为肯定的(步骤S307:是),像素D (2,3)变为亮(ON)(步骤S308)。
[0088]同样地,在步骤S302的处理中,若参数Xdp的值变为4,则CPU21在进行步骤S303之后前进至步骤S306。接着,利用步骤S306的处理,计算出参数s_abs的值为13 (= Abs(-10-3))。由于参数Xa2为15,所以在步骤S307中的判断为肯定的(步骤S307:是),像素D(2,4)变为亮(0N)。由此,如图9所示,标注有星形标记的连续的像素D (2,2)、像素D (2,3)、像素D (2,4)变为亮(ON)(步骤S308)。
[0089]此后,在步骤S302的处理中,若参数Xdp的值变为5,则利用紧接着步骤S303之后的步骤S306的处理,计算参数s_abs的值为16 (=Abs (_10_6))。因此,由于参数Xa2为15,所以在步骤S307中的判断为否定的(步骤S307:否),像素D (2,5)变为暗(OFF)。此后,重复进行步骤S302?步骤S310的处理,直到在步骤S310中的判断变肯定为止。由此,在图10中,用网点填充的从像素D (2,5)到像素D (2,20)为暗(OFF)。
[0090]此后,CPU21重复执行上述的步骤S301?S314的处理,直到在步骤S313中的判断变为肯定为止。由此,如图11的标注有星形标记的像素D所示,描画出纵向线宽为3的线。若在步骤S313中的判断为肯定,则CPU21结束一系列的处理。
[0091]如上所述,本实施方式的倒车监视系统10执行图4及图5示出的处理。由此,如图12示意性示出的那样,规定出插补范围R,该插补范围R包括由标注有圆圈标记的像素D(3,3)和标注有三角形标记的像素D (13,6)规定的线段。利用在步骤S204中根据线宽而更新的参数Xa2,来间接地规定出该插补范围R。
[0092]因此,仅基于与线宽相关的信息,能够确定用于描画线的像素。因此,在进行描画处理时要处理的信息变少,描画装置20能够高速地进行描画处理。另外,由于为了进行描画处理而需要事先准备的信息少,所以能够实现主存储部22及辅助存储部23的小型化。而且,能够实现倒车监视系统10的小型化及降低价格。
[0093]以上,针对本发明的实施方式进行了说明,本发明不限于上述实施方式。
[0094]例如,在上述实施方式中,参照图3可知,针对距离Xa比距离Ya更大的情况进行了说明。另一方面,在距离Ya比距离Xa更大的情况下,CPU21在步骤S307中,对在步骤S204中计算出的参数Ya2的值和参数s_abs的值进行比较。由此,CPU21能够描画期望的线宽的线。
[0095]在上述实施方式中,如图3所示,针对描画向右下方倾斜的线的情况进行了说明。但不限于此,描画向右上方倾斜的线也能够利用同样的方式来实现。
[0096]在上述实施方式中,假设显示部24的画面由排列成10行20列的矩阵状的像素构成。但不限于此,构成显示部24的像素还可以排列成例如480行800列的矩阵状。
[0097]对于上述各实施方式的描画装置20的功能,能够利用专用的硬件实现,另外,也能够利用通常的计算机系统实现。
[0098]在上述实施方式中,存储在描画装置20的辅助存储部23内的程序能够保存在软盘、CD-ROM (Compact Disk Read-Only Memory:只读光盘)、DVD(Digital Versatile Disk:数字多功能光盘)、MO (Magneto-Optical disk:光磁盘)等的能够通过计算机读取的记录介质来进行分发,可以通过将该程序安装到计算机中,来构成执行上述的处理的装置。
[0099]在OS (Operating System:操作系统)分担实现上述的功能的情况下,或在OS和应用程序协同实现上述的功能的情况下,可以仅将OS以外的部分保存到介质中进行分发,另外,还可以将其下载到计算机等。
[0100]本发明在不脱离本发明的广义的精神和范围的前提下,能够进行各种各样的实施方式及变形。另外,上述的实施方式用于说明本发明,不限定本发明的范围。
[0101]本申请是基于在2011年5月30日申请的申请号为2011-121105的日本专利申请而提出的。在本说明书中,参照并摘取了申请号为2011 -121105的日本专利申请的说明书、专利权利要求书的范围、附图整体的内容。
[0102]工业上的可利用性
[0103]本发明的描画装置、描画方法及程序应用于在画面上描画线。
[0104]附图标记说明
[0105]10倒车监视系统,
[0106]20描画装置,
[0107]21 CPU,
[0108]22主存储部,
[0109]23辅助存储部,
[0110]24显示部,
[0111]25输入部,
[0112]26 接口部,
[0113]27系统总线,
[0114]30拍摄装置,
[0115]100 车辆,
[0116]D 像素,
[0117]F描画范围,
[0118]R插补范围。
【权利要求】
1.一种描画装置,在由多个像素构成的画面中描画由两点规定的线,其特征在于, 具有: 插补范围规定单元,其根据所述线的线宽,规定用于对将所述两点作为端点的线段进行插补的插补范围, 判断单元,其判断所述像素是否包含在所述插补范围内, 描画单元,其描画由所述线段上的像素和被判断为包含在所述插补范围内的像素规定出的线。
2.如权利要求1所述的描画装置,其特征在于, 所述插补范围规定单元计算用于规定所述插补范围的指标值, 所述判断单元,基于通过规定的条件式计算出的计算结果、与所述指标值进行比较的比较结果,来判断所述像素是否包含在所述插补范围内。
3.如权利要求2所述的描画装置,其特征在于, 在所述计算结果的绝对值小于所述指标值的情况下,所述判断单元判断为所述像素包含在所述插补范围内。
4.如权利要求2或者3所述的描画装置,其特征在于, 根据所述条件式,针对在所述线段上的像素进行计算的所述计算结果为O。
5.—种描画方法,在由多个像素构成的画面中描画由两点规定的线,其特征在于, 包括: 插补范围规定工序,根据所述线的线宽,规定用于对将所述两点作为端点的线段进行插补的插补范围, 判断工序,判断所述像素是否包含在所述插补范围内, 描画工序,描画由所述线段上的像素和被判断为包含在所述插补范围内的像素规定出的线。
6.一种程序,其特征在于, 使计算机执行如下的步骤: 插补范围规定步骤,根据所述线的线宽,规定用于对将所述两点作为端点的线段进行插补的插补范围, 判断步骤,判断所述像素是否包含在所述插补范围内, 描画步骤,描画由所述线段上的像素和被判断为包含在所述插补范围内的像素规定出的线。
【文档编号】G06T11/20GK103562965SQ201280026637
【公开日】2014年2月5日 申请日期:2012年5月22日 优先权日:2011年5月30日
【发明者】山本知弘, 石黑博, 豊嶋亮藏 申请人:爱信精机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1