发明名称 一种面向视觉对象的形状编码方法
摘要 本发明公开了一种面向视觉对象的形状编码方法,其包括了形状轮廓提取、轮廓曲线分割、曲线段和曲线子段编码等步骤,其针对视觉对象,提取对象轮廓并细化成单像素轮廓曲线,并将目标轮廓曲线分割成若干曲线段,然后将每个曲线段分割成若干曲线子段,然后完成所有曲线段内的曲线子段的编码操作,从而得到整个视觉对象的二值形状图像的压缩码流,其优点是经过轮廓细化和曲线段分割,使每个方向码只需用一个比特编码表示,有效地提高了编码效率和编码性能。
申请公布号 CN103313053B 申请公布日期 2016.05.25
申请号 CN201310179632.4 申请日期 2013.05.14
申请人 浙江万里学院 发明人 朱仲杰;王玉儿
分类号 H04N19/21(2014.01)I;H04N19/23(2014.01)I 主分类号 H04N19/21(2014.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 33226 代理人 程晓明
主权项 一种面向视觉对象的形状编码方法,其特征在于包括以下步骤:(1)将一幅形状图像的对象和背景区域的像素分别取值为0和255,形成一幅二值形状图像,对所述的二值形状图像进行轮廓提取,得到二值轮廓图像,表示为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>C</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mo>|</mo><mi>f</mi><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow><mo>|</mo><mo>+</mo><mo>|</mo><munderover><mo>&Pi;</mo><mrow><mi>p</mi><mo>,</mo><mi>q</mi><mo>=</mo><mo>-</mo><mn>1</mn></mrow><mn>1</mn></munderover><mrow><mi>f</mi><mrow><mo>(</mo><mrow><mi>x</mi><mo>+</mo><mi>p</mi><mo>,</mo><mi>y</mi><mo>+</mo><mi>q</mi></mrow><mo>)</mo></mrow></mrow><mo>|</mo><mo>+</mo><mo>|</mo><munderover><mo>&Pi;</mo><mrow><mi>p</mi><mo>,</mo><mi>q</mi><mo>=</mo><mo>-</mo><mn>1</mn></mrow><mn>1</mn></munderover><mrow><mo>|</mo><mi>f</mi><mrow><mo>(</mo><mrow><mi>x</mi><mo>+</mo><mi>p</mi><mo>,</mo><mi>y</mi><mo>+</mo><mi>q</mi></mrow><mo>)</mo></mrow><mo>-</mo><mn>255</mn><mo>|</mo></mrow><mo>|</mo><mo>=</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mn>255</mn></mtd><mtd><mrow><mi>e</mi><mi>l</mi><mi>s</mi><mi>e</mi></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000902938880000011.GIF" wi="1574" he="242" /></maths>其中,C(x,y)表示二值轮廓图像,f(x,y)表示二值形状图像,f(x+p,y+q)是f(x,y)的8邻域点,p、q分别表示f(x,y)在x,y方向上的偏移量,符号∏表示连乘,“| |”表示绝对值符号,“else”表示在其他条件的情况下,当C(x,y)=0时表示C(x,y)是对象形状的轮廓点;(2)对提取到的二值轮廓图像进行轮廓细化,得到基于8邻域的单像素轮廓曲线,表示为:<img file="FDA0000902938880000012.GIF" wi="1614" he="173" />其中,C<sub>1</sub>(x,y)表示单像素轮廓曲线,C(m,n)和C(p<sub>1</sub>,q<sub>1</sub>)是C(x,y)的2个4邻域点,C(m,n)和C(p<sub>1</sub>,q<sub>1</sub>)均只在C(x,y)的x方向或y方向上存在偏移量,m、p<sub>1</sub>分别对应表示C(m,n)、C(p<sub>1</sub>,q<sub>1</sub>)的x方向的位置信息,n、q<sub>1</sub>分别对应表示C(m,n)、C(p<sub>1</sub>,q<sub>1</sub>)的y方向的位置信息;(3)将提取到的单像素轮廓曲线分割成N个曲线段,并将得到的每个曲线段分割成N<sub>j</sub>个曲线子段,其中,j=1,2,…,N;(4)令N个曲线段中的第m个曲线段为当前曲线段,将当前曲线段的第i段曲线子段作为当前曲线子段,并对当前曲线子段进行二进制编码,具体过程如下:用C<sub>S</sub>表示曲线段的段类型,当C<sub>S</sub>的值为1时编码一个端点,当C<sub>S</sub>的值为0时编码两个端点;用C<sub>T</sub>表示曲线子段的编码模式,当C<sub>T</sub>的值为0时表示该曲线子段不包括可分离直线段,当C<sub>T</sub>的的值为1时表示该曲线子段包括可分离直线段,对该曲线子段内的可分离直线段进行独立编码,对曲线子段的子段长度采用固定长度编码或变长编码,对曲线子段的子段类型采用3比特固定长度编码,并对曲线子段内的每个链路采用1比特进行编码表示;对曲线子段的分隔符进行基于基本码的3比特/分隔符编码或变长编码;其中,m=1,2,…,N,i=1,2,…,N<sub>j</sub>;(5)令i=i+1,将第m个曲线段的下一个曲线子段作为当前的曲线子段,然后返回步骤(4)继续执行,直到完成对第i段曲线段中所有曲线子段的二进制编码,其中,i=i+1中的“=”表示赋值;(6)令m=m+1,将N个曲线段中的下一个曲线段作为当前曲线段,然后返回步骤(4)继续执行,直到完成所有曲线段的二进制编码,得到整幅视觉对象的二值形状图像的压缩码流,其中,m=m+1中的“=”表示赋值。
地址 315100 浙江省宁波市钱湖南路8号