编码方法与解码方法、编解码系统、编码器与解码器的制造方法_3

文档序号:9528008阅读:来源:国知局
与像素63的编码值仅需包括向左复制跑模式620和位移数(1)626。换句话说,由于索引地图500中第1个像素的索引值(S卩,像素60)不同于第3个像素(即,像素62)的索引值,因此,当解码器120接收到向左复制跑模式620和位移数(1)626时,仅需根据索引地图500中第1个像素的索引值(即,0),而可得知第3个像素的索引值为1。
[0100]在本范例实施例中,由于对应索引地图500的第2行第1列索引的像素(即,像素64)与接续的2个像素(即,像素65与像素66)的索引值分别地相同于对应索引地图500的第1行第1列索引的像素(即,像素60)与接续的2个像素(即,像素61与像素62)的索引值。因此,编码模块112会在编码值600中使用向上复制跑模式(COpyAbOVeMOde)630以及位移数(2)636来描述第一编码单元200中对应索引地图500的第2行第1列索引的像素(即,像素64)以及之后的2个像素(即,像素65与像素66)。特别是,当解码器120接收到向上复制跑模式630时,解码器120会根据此向上复制跑模式630以及位移数(2)636得知对应索引地图500的第2行第1列索引的像素(即,像素64)与接续之后的2个像素(即,像素65与像素66)的索引值分别地相同于对应索引地图的第1行第1列索引的像素(即,像素60)与接续的2个像素(即,像素61与像素62)的索引值。
[0101]由于对应索引地图500的第2行第4列索引的像素(S卩,像素67)的索引值不同于对应索引地图500的第1行第4列索引的像素(S卩,像素63)的索引值,并且接续于对应索引地图500的第2行第4列索引的像素(S卩,像素67)之后的2个像素(S卩,像素68与像素69)的索引值相同于对应索引地图的第2行第4列索引的像素(S卩,像素67)的索引值。因此,编码模块112会在编码值600中使用向左复制跑模式640和位移数(2) 646来描述第一编码单元200中对应索引地图500的第2行第4列索引的像素(即,像素67)以及之后的2个像素(S卩,像素68与像素69)。换句话说,当解码器120接收到向左复制跑模式640和位移数(2)646时,仅需根据对应索引地图500的第1行第4列索引的索引值(即,
1),即可得知对应索引地图500的第2行第4列索引的索引值为0以及接续在像素67之后的2个像素(即,像素68与像素69)亦为0。
[0102]此外,由于对应索引地图500的第3行第3列索引的像素(S卩,像素70)与接续在对应索引地图500的第3行第3列索引的像素之后的3个像素(即,像素71、像素72与像素73)的索引值分别地相同于像素66与接续的像素之后的3个像素(S卩,像素67、像素68与像素69)的索引值。因此,编码模块112会使用向上复制跑模式650以及位移数(3)656来描述第一编码单元200中对应索引地图500的第3行第3列索引的像素(即,像素70)以及接续的3个像素(即,像素71、像素72与像素73)。换句话说,当解码器120接收到向上复制跑模式650时,解码器120会根据此向上复制跑模式650以及位移数(3) 656得知对应索引地图500的第3行第3列索引的像素(即,像素70)与接续的3个像素(S卩,像素71、像素72与像素73)的索引值分别地相同于对应索引地图的第2行第3列索引的像素(即,像素66)与接续在的3个像素(即,像素67、像素68与像素69)的索引值。
[0103]在本范例实施例中,由于对应索引地图500的第4行第3列索引的像素(即,像素74)的索引值不同于对应索引地图500的第3行第3列索引的像素(S卩,像素70)的索引值,且接续于对应索引地图500的第4行第3列索引的像素(S卩,像素74)之后的像素(即,像素75)的索引值并不相同于像素74的索引值。因此,编码模块112会在编码值600中使用向左复制跑模式660和位移数(0)666来描述第一编码单元200中对应索引地图500的第4行第3列索引的像素(即,像素74)。而当解码器120接收到向左复制跑模式660和位移数(0)666时,仅需根据对应索引地图500的第3行第3列索引的索引值(即,1),即可得知对应索引地图500的第4行第3列索引的索引值为0。
[0104]之后,由于对应索引地图500的第4行第4列索引的像素(即,像素75)的索引值不同于像素74的索引值。因此,编码模块112会在编码值600中使用向左复制跑模式670和位移数(0)676来描述第一编码单元200中对应索引地图500的第4行第4列索引的像素。也就是说,当解码器120接收到向左复制跑模式670和位移数(0)676时,仅需根据对应索引地图500的第3行第4列索引的索引值(即,0),即可得知对应索引地图500的第4行第4列索引的像素的索引值为1。基于上述,由图6A与图6B所示的产生编码值的范例中可得知编码值包括第一编码单元200的像素之中的第1个被扫描像素的索引值、至少一复制模式以及至少一跑字符的值。
[0105]值得一提的是,在上述编码模块112依据索引地图500产生对应第一编码单元200的编码值600并将编码值600传送至解码器120的操作中,编码模块112仅需记录并传送对应第一编码单元200的多个像素之中的第1个被扫描像素的索引值,解码器120即可根据编码值600中的其他信息与第一编码单元200中已解码的像素的索引值,判断目前正在解码的像素的索引值,由此有效地减少编码运算时的传输量并提升编码与解码的效能。
[0106]综上,在以双颜色模式为例的实施例中,编码模块112会将编码值与识别值传送至解码器,并且根据上述,编码值会包括第一编码单元200的像素之中的第1个被扫描像素的索引值、至少一复制模式以及至少一跑字符的值。
[0107]值得一提的是,本公开并不限于使用上述双颜色模式对第一编码单元中的每一像素进行索引编号。例如,在另一范例实施例中,是使用调色盘模式对第一编码单元中的每一像素进行索引编号来产生对应第一编码单元的索引地图。具体而言,在以调色盘模式为例的范例实施例中,编码器110并不会建立上述图3的像素对表,例如,编码器110是直接将编码值、第一索引像素的颜色与第二索引画的颜色直接传送给解码器120,而非传送对应第一索引像素的颜色与第二索引画的颜色的一个识别值。并且,编码值包括第一编码单元200的像素之中的第1个被扫描像素的索引值、至少一复制模式以及至少一跑字符的值。
[0108]图7为根据本公开第一范例实施例所绘示的编码方法的流程图。
[0109]请参照图7,在步骤S701中,编码器110接收一画面的第一编码单元,其中第一编码单元具有以LXL矩阵形式的多个像素,且L为正整数。
[0110]在步骤S703中,编码器110在多个像素中选出两个像素作为第一索引像素与第二索引像素,并且第一索引像素的颜色不同于第二索引像素的颜色。举例来说,在双颜色模式中,编码器110会建立像素对表,并根据此像素对表将对应所选出的两个像素的一个识别值传送至解码器120。而在调色盘模式中,编码器110会直接将此两个像素的颜色传送至解码器120。
[0111]在步骤S705中,编码器110对第一编码单元中的每一像素进行索引编号以产生索引地图,其中在索引地图中第一编码单元的每一像素的颜色是以对应第一索引像素的索引值或对应第二索引像素的索引值来呈现。
[0112]在步骤S707中,编码器110依据索引地图产生对应第一编码单元的编码值,其中在编码值中仅记录对应第一编码单元的像素之中的第1个被扫描像素的索引值,即在索引地图中仅对应第一编码单元的像素之中的第1个被扫描像素的索引值被记录在编码值中。
[0113]图8A与图8B为根据本公开第一范例实施例所绘示的解码的程序代码。
[0114]请参照图8A与图8B,在解码操作中,解码器120可以根据图8A所示的程序代码中的方程式来决定是否使用双颜色模式来进行解码。其中参数“slice_bi_sample_mode_enable_flag”用以指示是否使用双颜色模式,例如,当“slice_bi_sample_mode_enable_flag”的值被设为1时,解码器120会使用双颜色模式对目前欲进行解码的画面进行解码的操作。接着,解码器120会根据图8B所示的程序代码中的方程式来决定是否使用双颜色模式来对目前欲进行解码的编码单元进行解码的操作。例如,当“bi_Sample_flag”的值被设为1时,解码器120会使用双颜色模式对目前欲进行解码的编码单元进行解码的操作。值得一提的是,本公开不限于此,例如,在另一范例实施例中,解码器120是使用调色盘模式对目前欲进行解码的画面进行解码的操作。特别是,上述“slice_bi_sample_mode_enable_flag”的值也可以被预设为1,当预设为1时,解码器120会于解码操作中省略判断“slice_b i_samp 1 e_mode_enab 1 e_f 1 ag ” 的值的步骤。
[0115]请再参照图8B,在解码器120依据编码值重建索引地图的操作中,解码器120是根据第1行第1列个索引像素的索引值、复制模式(向上复制跑模式或向左复制跑模式)、跑字符的值来重建索引地图,且解码器120是根据图8B所示的程序代码中的方程式来决定使用向上复制跑模式或向左复制跑模式来重建索引地图。具体而言,当参数“palette_rUn_type_flag”被设为1时,解码器120会使用向上复制跑模式来重建索引地图中的像素,并且根据参数“palette_rUn”来决定位移数,其中使用向上复制跑模式所重建的像素会与索引地图之上一行中对应位移数的至少两个像素相同。反之,当参数“palette_rUn_type_flag”被设为0时,解码器120会使用向左复制跑模式来描述正在编码的编码单元中的像素,并且根据参数“palette_rUn”来决定位移数,其中使用向左复制跑模式所重建的像素会与索引地图中接续于此像素之后的对应位移数的至少一个像素相同。此外,如上所述,在本公开中,所建立的索引地图中的编码单元中的像素的颜色是以两个索引像素的索引值来呈现。例如,方程式中的参数“bi_sample_idX”是用来表示多个候选索引像素的索引值,而参数“palettejndex”是用来表示从多个候选索引像素中所选择的上述两个索引像素的索引值。特别是,在本公开中,编码器110是通过参数“palettejndex”将索引地图中对应第一行第一列的索引像素的索引值传送至解码器120,据此,解码器120即可根据编码值中的其他信息与编码单元中已解码的像素的索引值,判断目前正在解码的像素的索引值。
[0116]图9A为根据本公开第一范例实施例所绘示的以向左复制跑模式为例的对编码单元进行扫描的程序代码,在此范例实施例中,将假设目前正在解码的像素所使用的复制模式为向左复制跑模式,其中复制模式以图9A中的参数“CodeMode”表示,复制模式中的向左复制跑模式则以图9A中的参数“CopyLeftMode”表示。
[0117]请参照图9A,在本范例实施例中,解码器120的解码模块124并不局限于使用特定的扫描方式来对画面中的编码单元进行扫描与解码。例如,在一范例实施例中,解码模块124可使用Z轴扫描(Z-scan)对画面中的编码单元进行扫描与解码,而在另一范例实施例中,解码模块124是使用水平交叉扫描(Horizontal traverse scan)或垂直交叉扫描(Vertical traverse scan)对画面中的编码单元进行扫描与解码。具体而言,图9A中所示的程序代码是将对应水平交叉扫描的坐标与对应垂直交叉扫描的坐标转换成对应Z轴扫描的坐标来对画面中的编码单元进行扫描与解码的操作,以下将参照图9A,以目前正在解码的像素所使用的复制模式为向左复制跑模式(即,“CopyLeftMode”)的范例来进行说明。
[0118]在本范例实施例中,索引地图中对应一个编码单元的每一像素的索引值是以LXL矩阵形式排列,在此,如图9所示,假设索引地图中已被扫描的索引的个数为c。例如,当解码模块124解码对应索引地图中所扫描的第1个索引的像素时(S卩,c= 1时),解码模块124是根据索引地图的第1个索引、跑字符的值重建索引地图。此外,当解码模块124解码对应索引地图中所扫描的第c个索引的像素时(例如,l<c< = L时),解码模块124会将所扫描的第c个索引的索引值(即,正在解码的索引值)转换为坐标(x,y),以及将已扫描的第c-Ι个索引的索引值转换为坐标(m,η)。接着,解码模块124根据索引地图中已扫描的第c-Ι个索引和跑字符的值重建索引地图,特别是,索引地图中所扫描的第c个索引的值(即,Index (x, y))为对应坐标(m, η)的索引值(即,Index (m, η))加1后除以2所获得的余数。
[0119]在另一范例实施例中,当解码模块124解码对应索引地图中所扫描的第c个索引的像素时(例如,OL时),解码模块124会将索引地图中所扫描的第c个索引转换为坐标(X,y),将已扫描的第c-Ι个索引转换为坐标(m,η),以及将已扫描的第c_L个索引转换为坐标(p,q)。此外,解码模块124还会判断对应第c-1个索引的复制模式是使用向上复制跑模式或向左复制跑模式来解码对应索引地图中所扫描的第c-Ι个索引的像素。倘若当第c-Ι个索引的复制模式为使用向左复制跑模式解码对应索引地图中所扫描的第c-Ι个索引的像素时,解码模块124会根据已扫描的第c-Ι个索引和跑字符的值重建索引地图,其中索引地图中所扫描的第c个索引的值(即,Index(x,y))为对应坐标(m,n)的索引值(即,Index(m, η))加1后除以2所获得的余数。反之,在另一范例实施例中,倘若上述对应第c_l个索引的复制模式为使用向上复制跑模式(即,”CopyAboveMode”)解码对应索引地图中所扫描的第c-Ι个索引的像素时,解码模块124会根据索引地图中已扫描的第c-L个索引和跑字符的值重建索引地图,其中索引地图中所扫描的第c个索引的值(即,Index(x,y))为对应坐标(p,q)的索引值(即,IndeX(p,q))加1后除以2所获得的余数。然而,值得注意的是,本公开并不限于此。
[0120]图9B为根据本公开第一范例实施例所绘示的以向上复制跑模式为例的对编码单元进行扫描的程序代码,在此范例实施例中,将假设目前正在解码的像
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1