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

文档序号:9528008阅读:399来源:国知局
编码方法与解码方法、编解码系统、编码器与解码器的制造方法
【技术领域】
[0001]本公开涉及一种对编码单元进行编码与解码的编码方法与解码方法,以及使用此方法的编解码系统、编码器与解码器。
【背景技术】
[0002]随着科技的演进,视频显示器的解析、规格、尺寸越来越高,人们对视频画面质量与尺寸的要求也随之不断上升。为满足此需求,国际电信联盟(ITU-T)下的视频编码专家小组VCEG(Video Coding Experts Group)与国际标准化组织IS0/IEC下的动态画像专家小组MPEG(Moving Picture Experts Group)共同成立视频编码联合工作小组JCT-VC(JointCollaborative Team on Video Coding),并开始 H.265/HEVC(High Efficiency VideoCoding)专案,目标为提供比H.264/AVC (Advanced Video Coding)视频压缩标准更高的编码效率(在相同主观质量下约可节省50%的位元率),尤其以高解析度(High Definit1n,HD)、超高解析度(Ultra High Definit1n, Ultra HD)等解析度高的视频为重。
[0003]此大尺寸与高解析度的视频应用的环境多以自然视频图像为主,并已于2013年完成制订,目前正在制定的是H.265/HEVC应用范围扩展(Range Extens1ns),其中包含制定针对屏幕分享应用服务所需要的屏幕视频内容编码(Screen Content Coding,SCC)标准。屏幕分享的视频内容通常会有混合的视频内容素材,例如画面可能同时包含自然图像、大量文字图片、鼠标指标及各种线条等,由于此屏幕应用环境已不符H.265/HEVC当初所设计的目标,故JCT-VC近来已将重心转至发展新的高效能屏幕编码标准技术。SCC标准乃基于H.265/HEVC现有的工具下进行开发,例如,单颜色模式(Single color mode)与调色盘模式(Palette mode)等,便是属于SCC标准的编码技术。
[0004]单颜色模式是藉由搜寻编码单元(Coding Unit,⑶)区块的邻近像素,并从此些邻近像素中找到一个颜色来表示编码单元区块内的所有像素。之后,编码端便将对应于此一个像素的邻近像素的索引传输到解码端。而调色盘模式的技术概念则是搜寻一个或多个颜色来代表现在正在编码中的编码单元区块内的画面,并利用这些颜色所对应到的索引来对编码单元内的每一个像素进行索引编号。编码端会使用此些颜色所对应到的索引来建立出一个索引地图,并将一个或多个代表颜色以及索引地图内对应每个像素的颜色的索引传送到解码端。由此可知,在上述调色盘模式中,若以多个颜色来代表现在正在编码中的编码单元区块的画面时,则需传送多个代表颜色以及对应每个像素的颜色的索引,因此,造成编码效能的降低。据此,如何能提升编码的效能,以减少编码运算中不必要的传输与计算,已成为当务之急。

【发明内容】

[0005]本公开提供一种编码方法与解码方法以及使用此方法的编解码系统、编码器与解码器,其能够有效地提升屏幕视频编码技术的编码效能。
[0006]本公开的一范例实施例提出一种编码方法,本编码方法包括:接收一画面的第一编码单元,此第一编码单元具有以LXL矩阵形式的多个像素,且L为正整数。本编码方法还包括:在所述画面中的多个像素中选出两个像素作为第一索引像素与第二索引像素,其中第一索引像素的颜色不同于第二索引像素的颜色。本编码方法也包括:对第一编码单元中的每一像素进行索引编号以产生一索引地图,其中在索引地图中第一编码单元的每一像素的颜色是以对应第一索引像素的索引值或对应第二索引像素的索引值来呈现。本编码方法还包括:依据索引地图产生对应第一编码单元的一编码值,以及将编码值传送至解码端,其中在索引地图中仅对应第一编码单元的第1个被扫描像素的索引值被记录在编码值中。
[0007]本公开的一范例实施例提出一种解码方法,本解码方法包括:接收对应第一编码单元的编码值,其中第一编码单元具有以一 LXL矩阵形式排列的多个像素,并且L为正整数。本解码方法还包括:根据此编码值中的一索引值、至少一复制模式以及至少一跑字符的值重建对应第一编码单元的索引地图,其中所接收的编码值仅针对在索引地图中的第一编码单元的第1个被扫描像素的索引值进行解码。本解码方法还包括:获得第一索引像素的颜色与第二索引像素的颜色,以及根据第一索引像素的颜色、第二索引像素的颜色与索引地图的多个索引值重建第一编码单元的多个像素,其中第一索引像素的颜色不同于第二索引像素的颜色。
[0008]本公开的一范例实施例提出一种编码器,此编码器包括:编码模块、颜色选择模块、索引设定模块以及索引地图建立模块。编码模块会接收一画面的第一编码单元,此第一编码单元具有以LXL矩阵形式的多个像素,且L为正整数。颜色选择模块会在第一编码单元的多个像素中选出两个像素作为一第一索引像素与一第二索引像素,并且第一索引像素的颜色不同于第二索引像素的颜色。索引地图建立模块对第一编码单元中的每一像素进行索引编号以产生一索引地图,并且在索引地图中第一编码单元的每一像素的颜色是以对应第一索引像素的索引值或对应第二索引像素的索引值来呈现。此外,在索引地图中仅对应第一编码单元的第1个被扫描像素的索引值被记录在编码值中。之后,编码模块会将编码值传送至解码器。
[0009]本公开的一范例实施例提出一种解码器,此解码器包括:编码值接收模块与解码模块。编码值接收模块接收对应第一编码单元的编码值,并且第一编码单元具有以LXL矩阵形式的多个像素,其中L为正整数。解码模块会根据编码值中的一索引值、至少一复制模式以及至少一跑字符的值重建对应第一编码单元的索引地图,并且所接收的编码值仅针对索引地图中的第一编码单元的第1个被扫描像素的索引值进行解码。此外,解码模块会获得第一索引像素的颜色与第二索引像素的颜色,并且根据此第一索引像素的颜色、第二索引像素的颜色与索引地图的多个索引值重建第一编码单元的像素,其中第一索引像素的颜色不同于第二索引像素的颜色。
[0010]本公开的一范例实施例提出一种编解码系统,本编解码系统包括:编码器与解码器。编码器会接收一画面的第一编码单元,此第一编码单元具有以LXL矩阵形式的多个像素,且L为正整数。接着,编码器会在所述画面中的多个像素中选出两个像素作为一第一索引像素与一第二索引像素,并且第一索引像素的颜色不同于第二索引像素的颜色。此外,编码器会对第一编码单元中的每一像素进行索引编号以产生一索引地图,其中在索引地图中第一编码单元的每一像素的颜色是以对应第一索引像素的索引值或对应第二索引像素的索引值来呈现。在索引地图中仅对应第一编码单元的第1个被扫描像素的索引值被记录在编码值中。并且,编码器会将编码值传送至解码器。
[0011]基于上述,本公开的范例实施例所提出的编码方法与解码方法及使用此方法的编解码系统、编码器与解码器能够藉由仅传送对应编码单元的像素之中的第1个被扫描像素的索引值而有效地减少编码运算时的传输量,进而大幅减少编码运算所需要的时间以提升编码效能。
[0012]为让本公开的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
【附图说明】
[0013]图1A是根据本公开的第一范例实施例所绘示的编码器。
[0014]图1B是根据本公开的第一范例实施例所绘示的解码器。
[0015]图1C是根据本公开的第一范例实施例所绘示的编解码芯片。
[0016]图2A与图2B是根据本公开的第一范例实施例所绘示的图像编码运作示意图。
[0017]图3是根据本公开的第一范例实施例所绘示的像素对表的一个范例。
[0018]图4是根据本公开的第一范例实施例所绘示的设定索引值的一个范例。
[0019]图5是根据本公开的第一范例实施例所绘示的建立索引地图的一个范例。
[0020]图6A与图6B是根据本公开的第一范例实施例所绘示的产生编码值的一个范例。
[0021]图7为根据本公开第一范例实施例所绘示的编码方法的流程图。
[0022]图8A与图8B为根据本公开第一范例实施例所绘示的编解码的程序代码。
[0023]图9A为根据本公开第一范例实施例所绘示的以向左复制跑模式为例的对编码单元进行扫描的程序代码。
[0024]图9B为根据本公开第一范例实施例所绘示的以向上复制跑模式为例的对编码单元进行扫描的程序代码。
[0025]图10A?图10G是根据本公开的第一范例实施例所绘示的根据编码值重建索引地图的一个范例。
[0026]图11为根据本公开第一范例实施例所绘示的解码方法的流程图。
[0027]图12是根据本公开的第二范例实施例所绘示的图像编码运作示意图。
[0028]图13A与图13B是根据本公开的第二范例实施例所绘示的像素分群运作示意图。
[0029]图14是根据本公开的第三范例实施例所绘示的图像编码运作示意图。
[0030]图15A与图15B是根据本公开的第三范例实施例所绘示的像素分群运作示意图。
[0031]【符号说明】
[0032]100:编解码芯片
[0033]102、130、150:存储电路
[0034]104、140、160:处理器电路
[0035]106:缓冲存储器
[0036]110:编码器
[0037]120:解码器
[0038]112:编码模块
[0039]114:颜色选择模块
[0040]116:索引设定模块
[0041]118:索引地图建立模块
[0042]122:编码值接收模块
[0043]124:解码模块
[0044]200:第一编码单元
[0045]202、204、206、208、210、230、250:像素
[0046]220、1220:至少一第二编码单元
[0047]1202、1204:第二编码单元
[0048]300:像素对表
[0049]302:识别值栏位
[0050]304:像素对栏位
[0051]500、900:索引地图
[0052]600:编码值
[0053]610、620、640、660、670:向左复制跑模式
[0054]630、650:向上复制跑模式
[0055]612:索引地图的第1行第1列个索引
[0056]616、626、636、646、656、666、676:位移数
[0057]618:跑字符的值
[0058]60、61、62、63、64、65、66、67、68、69、70、71、72、73、74、75:像素
[0059]1000、1200-1、1200-2:邻近范围
[0060]S701、S703、S705、S707:编码方法的步骤
[0061]S1001、S1003、S1005:解码方法的步骤
[0062]1102、1104、1106、1108、1112、1114、1116、1302、1304、1306、1308、1310、1312、1314、1316:丛集
[0063]C0、C1、C2、C3、C4、C5、C6:颜色
【具体实施方式】
[0064][第一范例实施例]
[0065]图1A是根据本公开的第一范例实施例所绘示的编码器。
[0066]请参照图1A,编码器110包括编码模块112、颜色选择模块114、索引设定模块116、索引地图建立模块118、存储电路130与处理器电路140。
[0067]在本范例实施例中,存储电路130用以存储各种数据、程序代码或待处理及处理后的图像。例如,存储电路130可以是存储器(memory)或硬盘(Hard Disk Drive,HDD)等存储介质,且不限于此。处理器电路140用以控制编码器110的整体运作。例如,处理器电路140可以是中央处理器(CPU)、微处理器(micro-processor)或嵌入式控制器(embeddedcontroller),本公开并不加以限制。处理器电路140是耦接至存储电路130,并且用以控制编码模块112、颜色选择模块114、索引设定模块116与索引地图建立模块118来进行编码操作。
[0068]编码模块112用以接收一画面中的一编码单元(以下称为第一编码单元),并且第一编码单元具有以一LXL矩阵形式排列的多个像素,其中L为正整数。具体而言,在Η.265/HEVC的标准下,是以一个编码树单元(Coding Tree Unit, CTU)作为编码单元编码时的最大处理区块,此编码树单元的大小通常是设定为64X64的区块。编码单元则可以是小于或等于编码树单元的区块大小。举例而言,编码单元为一正方矩形并且其大小可以是64X64、32X32、16X16与8X8的区块。值得注意的是,在本公开范例实施例中所述的编码单元及邻近范围的大小的单位皆为像素。在本范例实施例中,为了方便说明,以下将假设第一编码单元的大小为4X4的区块。
[0069]颜色选择模块114用以在编码模块112所接收的第一编码单元的多个像素中选出两个不同颜色的像素作为第一索引像素与第二索引像素。在一实施例中,编码模块112会在第一编码单元200的邻近范围内的多个像素中选出两个像素作为第一索引像素与第二索引像素,编码器110还包括像素对表建立模块(未绘示),像素对表建立模块会建立一像素对表以记录对应上述多个像素的识别值与像素对,其中,像素对表建立模块记录识别值与像素对的实施例将之后详细说明。然而,本公开并不限于此,例如,在另一范例实施例中,编码模块112可从画面中所有像素中选出两个像素作为第一索引像素与第二索引像素。目前视频图像应用皆是使用彩色显示,并且画面中每个像素皆会由三个编码构成要素组成,举例来说,每一个像素是藉由YUV颜色编码方法而被编码或以RGB颜色模型而被呈现。其中,YUV颜色编码方法用以编译颜色空间(color space),其中「Y」表示明亮度(Luminance、Luma),「
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1