首页 / 专利库 / 广播 / 数字视频广播 / 解码器、编码器、计算机程序及方法

解码器编码器计算机程序及方法

阅读:643发布:2020-05-11

专利汇可以提供解码器编码器计算机程序及方法专利检索,专利查询,专利分析的服务。并且一种字幕编码设备,包括: 控制器 电路 ,被配置为:接收便携式网络图形(PNG)文件,其中,PNG文件包括图像数据和 调色板 表,调色板表包含色彩查找表;将色彩查找表转换成色彩查找表定义 片段 ;将图像数据存储为 像素 数据 块 ;并且将色彩查找表定义片段和像素数据块编码成图像中的字幕。,下面是解码器编码器计算机程序及方法专利的具体信息内容。

1.一种字幕编码设备,包括:
控制器电路,被配置为:
接收便携式网络图形(PNG)文件,其中,所述PNG文件包括图像数据和含色彩查找表的调色板表;
将所述色彩查找表转化成色彩查找表定义片段
将所述图像数据存储为像素数据;并且
将所述色彩查找表定义片段和所述像素数据块编码成图像中的字幕。
2.根据权利要求1所述的编码设备,其中,所述PNG文件包括文本数据字段,所述文本数据字段包括复制所述图像数据的至少一部分的文本。
3.根据权利要求1所述的编码设备,其中,所述PNG文件包括指示所述字幕相对于所述图像的显示的显示时间的时间字段。
4.根据权利要求1所述的编码设备,其中,所述PNG文件包括指示所述字幕的绝对显示时间的时间字段。
5.根据权利要求1所述的编码设备,其中,所述PNG文件包括固定的物理像素尺寸字段。
6.根据权利要求1所述的编码设备,其中,所述PNG文件是每像素8位、使用RGB色彩空间并且是索引色彩模式。
7.一种字幕解码设备,包括:
控制器电路,被配置为:
从根据权利要求1所述的字幕编码设备接收编码图像;并且
对所述编码图像进行解码。
8.一种字幕编码方法,包括:
接收便携式网络图形(PNG)文件,其中,所述PNG文件包括图像数据和含色彩查找表的调色板表;
将所述色彩查找表转换成色彩查找表定义片段;
将所述图像数据存储为像素数据块;并且
将所述色彩查找表定义片段和所述像素数据块编码成图像中的字幕。
9.根据权利要求8所述的编码方法,其中,所述PNG文件包括文本数据字段,所述文本数据字段包括复制所述图像数据的至少一部分的文本。
10.根据权利要求8所述的编码方法,其中,所述PNG文件包括指示所述字幕相对于所述图像的显示的显示时间的时间字段。
11.根据权利要求8所述的编码方法,其中,所述PNG文件包括指示所述字幕的绝对显示时间的时间字段。
12.根据权利要求8所述的编码方法,其中,所述PNG文件包括固定的物理像素尺寸字段。
13.根据权利要求8所述的编码方法,其中,所述PNG文件是每像素8位、使用RGB色彩空间并且是索引色彩模式。
14.一种字幕解码方法,包括:
从根据权利要求8所述的字幕编码方法接收编码图像;并且
对所述编码图像进行解码。
15.一种被配置为存储计算机程序的计算机可读存储介质,当被加载到计算机中时,所述计算机程序将所述计算机配置为执行根据权利要求8所述的方法。
16.一种字幕解码设备,包括:
控制器电路,被配置为:
对与编码电视信号相关联的PNG字幕进行解码,所述PNG字幕改编自已移除了PNG区块数据并且其参数已并入到DVB字幕数据中的PNG文件,其中,解码使用所述参数输出具有解码电视信号的字幕。
17.根据权利要求16所述的字幕解码设备,其中,所述PNG区块数据是所述PNG文件的IHDR区块,所述IHDR区块分别位于所述DVB字幕数据的object_coding_method中的pixel-data_sub-block的宽度字段和高度字段中。
18.一种字幕解码方法,包括:
对与编码电视信号相关联的PNG字幕进行解码,所述PNG字幕改编自已移除了PNG区块数据并且其参数已并入到DVB字幕数据中的PNG文件,其中,解码使用所述参数输出具有解码电视信号的字幕。
19.根据权利要求18所述的字幕解码方法,其中,所述PNG区块数据是所述PNG文件的IHDR区块,所述IHDR区块分别位于所述DVB字幕数据的object_coding_method中的pixel-data_sub-block的宽度字段和高度字段中。
20.一种字幕解码设备,包括:
控制器电路,被配置为:
从字幕编码设备接收图像,其中,字幕是PNG图形并且所述图像已根据数字视频广播标准进行编码;并且
对所编码的字幕进行解码。
21.一种包括解码器的电视接收器设备,所述解码器用于对来自电视信号的视频内容进行解码,所述电视接收器设备进一步包括根据权利要求16所述的字幕解码设备。
22.一种包括解码器和电路的电视接收器设备,所述解码器用于对来自电视信号的视频内容进行解码,并且所述电路被配置为执行根据权利要求18所述的字幕解码方法。

说明书全文

解码器编码器计算机程序及方法

技术领域

[0001] 本技术涉及一种解码器、编码器、计算机程序及方法。

背景技术

[0002] 此处提供的“背景”描述用于整体展开本公开的上下文之目的。在背景部分描述的范围内,当前命名的发明人的作品以及提交之时不可通过其他方式具备现有技术资格的描述的各方面既未明确、亦未默示地承认为本技术的现有技术。
[0003] 已知字幕作为文本或位图发送。在位图的情况下,[1]中阐述了用于发送这些字幕的机制。
[0004] 然而,本公开的发明人已经认识到两个问题。
[0005] 首先,通常希望减少字幕中的数据发送和处理量。因此,希望在作为字幕发送之前对位图应用压缩。
[0006] 其次,存在变得逐渐流行的诸如便携式网络图形标准等其他开源格式。鉴于此,可以以PNG格式产生字幕,在传输字幕之前可能需要将PNG格式转换成字幕系统框架格式。因此,希望能够以PNG格式发起字幕并且尽可能使其简单便捷地转换成字幕。
[0007] 本公开的目的是解决这些问题。本公开并不局限于解决这些目的和问题。

发明内容

[0008] 一种字幕编码设备,包括:控制器电路,被配置为:接收便携式网络图形(PNG)文件,其中,PNG文件包括图像数据和含色彩查找表的调色板表;将色彩查找表转换成色彩查找表定义片段;将图像数据存储为像素数据;并且将色彩查找表定义片段和像素数据块编码成图像中的字幕。
[0009] 通常,可以将其他特征与实施方式写入所附加的下列权利要求中。
[0010] 已经通过一般性介绍提供了上述段落,并且上述段落并不旨在限制下列权利要求的范围。通过参考结合所附附图展开的下列细节描述,将能很好地理解所描述的实施方式以及进一步的优点。

附图说明

[0011] 当结合所附附图考虑时,通过参考下列细节描述,由于变得更易于理解,所以将易于获得对本公开及其许多附加优点的更为完整的认识,其中:
[0012] 图1示出了根据本公开的实施方式的电视接收器100;
[0013] 图2示出了根据本公开的实施方式的电视发送设备200;
[0014] 图3示出了根据[1]中阐述的字幕规范的字幕位图编码、输送、以及解码的过程300的示意图;
[0015] 图4示出了已知的隔行类型的扫描字幕编码过程400的示意图;
[0016] 图5示出了使用隔行类型扫描的object_data_segment的语法;
[0017] 图6A和图6B示出了根据本公开的实施方式的两种类型的逐行类型扫描字幕编码过程600的示意图;
[0018] 图7示出了根据本公开的实施方式的object_data_segment结构700;
[0019] 图8示出了根据本公开的实施方式对字幕编码器210中完成的过程进行说明的流程图800;
[0020] 图9示出了根据本公开的实施方式对字幕解码器110中完成的过程进行说明的流程图900;
[0021] 图10示出了通过字幕编码器210完成的过程1000的流程图;
[0022] 图11是示出通过字幕解码器110完成的过程1100的流程图;
[0023] 图12示出了根据本公开的实施方式的过程1200的流程图;
[0024] 图13示出了与根据实施方式的字幕的要求符合的PNG文件的转换过程步骤;并且[0025] 图14示出了根据本公开的实施方式的过程1300的流程图。

具体实施方式

[0026] 现参考附图,其中,类似参考标号指贯穿若干幅图的相同或对应部件。
[0027] 将下列描述分成三部分。第一部分是对逐行式扫描系统中发送和接收字幕位图的机制进行说明的描述。
[0028] 第二部分是对压缩字幕位图的机制进行说明的描述。该压缩技术可适用于通过隔行扫描或逐行式扫描系统发送的位图。
[0029] 第三部分是对发送和接收PNG字幕的机制进行说明的描述。下列描述对本领域技术人员显而易见,通过第一部分中描述的已有隔行扫描系统或逐行式扫描系统可以进行PNG字幕的发送和接收。
[0030] 第1部分–逐行式扫描系统
[0031] 图1示出了根据本公开的实施方式的电视接收器100。电视接收器100可以是接收地面电视、电缆电视或卫星电视的机顶盒,或可以是经由诸如宽带互联网连接等数据连接或经由移动通信网络接收电视服务的设备。电视接收器100可以被集成到诸如蓝光或DVD播放器等电视显示设备或光盘读取器中。可替代地,电视接收器可以被集成到游戏控制台、个人计算机或任意类型的合适设备中。电视接收器可以采用通过手持式设备或任意上述所述设备类型运行的软件应用形式。电视接收器是例如具有解码器或某种类型的解码机制、以对电视信号进行解码的设备的一个实施例
[0032] 通过控制器105控制电视接收器100的操作。控制器105可以采用控制器电路形式,控制器电路通常由半导体材料制成并且在体现为计算机可读代码的计算机软件的控制下而运行。可以将该代码存储在控制器105中或可以存储在电视接收器100内的其他地方。在该具体实施例中,将计算机软件存储在连接至控制器105的存储介质125内。存储介质125可以由诸如固态储存器或磁性或光学可读介质等任意类型的合适介质形成。还可以将诸如用户配置文件信息、应用数据、以及内容等其他数据存储在存储介质125中。
[0033] 通过控制器105的操作控制的电视解码器120也连接至控制器105。电视解码器120可以采用通信电路的形式,通信电路被配置为接收使用数字视频广播(DVB)系列标准编码的电视信号。在实施方式中,可以通过地面链路、电缆链路、卫星链路、宽带互联网连接、或通过蜂窝(移动电话)网络以多点传送或单点传送模式广播或传递被编码的电视信号。电视信号可以包含音频/视频内容,音频/视频内容可以是单独的音频内容、单独的视频或图像内容、或音频内容和视频(或图像)内容。实际上,电视信号可以是还包含音频信息的视频或图像信号。
[0034] 电视解码器120连接至允许接收这些电视信号的天线130。天线130可以采用八木和对数周期类型天线或卫星碟、电缆顶端器、或任意类型合适的接收设备形式。在一些电视解码器设备实施方式中,天线采用从电缆连接(例如,宽带互联网连接)接收电视信号的调制解调器形式。
[0035] 控制器105还连接至用户输入模块135。用户输入模块135可以是远程控制或指挥官、触摸屏笔、键盘鼠标、姿势辨别系统、或适合于允许用户控制电视接收器100的操作的任意类型的设备。
[0036] 控制器105还连接至用户输出模块115。用户输出模块115可以是显示器(电视接收器集成或连接至其)、诸如智能手表护目镜可穿戴技术、或适合于允许用户接收电视接收器100的电视输出的任意类型的设备。
[0037] 字幕解码器110可以被集成到控制器105内、或与控制器105分离。字幕解码器110的目的是对通过电视信号发送的字幕或通过另一方式与电视信号相关联的字幕进行解码。通过控制器105控制字幕解码器110的操作并且后面将描述其操作。然而,字幕解码器110将执行在本申请的三部分中描述的机制。如同控制器105的字幕解码器110可以体现为电路并且可以由存储在存储介质125上的软件控制。
[0038] 图2示出了根据本公开的实施方式的电视发送设备200。电视发送设备200可以是发送地面电视、电缆电视、或卫星电视的传递系统。
[0039] 通过控制器205控制电视发送设备200的操作。控制器205可以采用控制器电路形式,控制器电路通常由半导体材料制成并且在体现为计算机可读代码的计算机软件的控制下而运行。可以将该代码存储在控制器205内或存储在电视发送设备200的其他地方。在该具体实施例中,将计算机软件存储在连接至控制器205的存储介质225内。存储介质225可以由诸如固态储存器或磁性或光学可读介质等任意类型的合适介质形成。还可以将诸如用户配置文件信息、应用数据、以及内容等其他数据存储在存储介质225中。
[0040] 电视编码器220也连接至控制器205。电视编码器220可以采用通信电路形式,通信电路被配置为发送使用数字视频广播(DVB)标准编码的电视信号。在实施方式中,可以通过地面链路、电缆链路、卫星链路、宽带互联网连接、或通过蜂窝(移动电话)网络传递编码电视信号。
[0041] 电视编码器220连接至允许发送或广播这些电视信号的天线230。对于基于有线的传递系统,由调制解调器、开关服务器、或内容传递网络替代天线。
[0042] 控制器205还连接至用户输入模块235。用户输入模块235可以是远程控制或指挥官、触摸屏、铁笔、键盘、鼠标、语音控制、姿势辨别系统、或适合于允许用户控制电视发送设备200的操作的任意类型的设备。
[0043] 控制器205还连接至用户输出模块215。用户输出模块215可以是显示器(集成或连接了电视接收器)、诸如智能手表或护目镜等可穿戴技术、或适合于允许用户查看电视发送设备200的电视输出的任意类型的设备。
[0044] 字幕编码器210可以被集成到控制器205内或与控制器205分离。字幕编码器是通过电视信号或内容对字幕进行编码、或通过某种方式将字幕与电视信号或内容相关联的设备。通过控制器205控制字幕编码器210的操作并且后面将描述其操作。然而,字幕编码器210将执行在本申请的第三部分中描述的机制。如同控制器205,可以涵盖作为电路的字幕编码器210并且可以通过存储在存储介质225上的软件控制字幕编码器210。
[0045] 图3示出了根据[1]中阐述的字幕规范的字幕位图编码、输送、以及解码的过程300的示意图。为免生疑问,通过参考将[1]的主题结合在此。
[0046] 过程300具有被覆盖在电视内容上的字幕位图305。在所描述的实施例中,位图是文本“这是她说的内容(This is what she said)”的图形表示。当然,位图可以是诸如其他词语、图片、徽标等任意图形表示。将位图305反馈至图2的字幕编码器210中。通过字幕编码器210对位图进行编码。在已知系统中,字幕编码器将位图编码成隔行扫描类型的译码。然而,在本公开的实施方式中,字幕编码器210将位图直接编码成后面说明的逐行式扫描类型的译码。
[0047] 通过字幕位图对电视内容进行多路复用,然后,在框310中,将电视内容发送或广播至电视接收器100。在一些实施方式中,例如,经由互联网连接对其编码形式的字幕位图与电视内容分离地传递,并且在电视接收器100内与电视内容进行重新组合和同步。通过电视接收器100接收电视内容并且进行解码,并且通过字幕解码器110对字幕位图进行解码。在已知系统中,对隔行扫描类型的译码进行解码,并且如果显示器是逐行类型的显示器,电视接收器100则需要执行从隔行类型扫描至逐行式扫描的适当变换。然而,在本公开的实施方式中,字幕解码器110将接收通过逐行扫描类型译码编码的字幕位图并且因此不需要电视接收器100的进一步变换步骤。然后,在步骤315中,显示包括字幕位图的电视内容。
[0048] 图4示出了已知隔行类型的扫描字幕编码过程400的示意图。将字幕位图305划分成顶部字段405和底部字段410。在顶部字段405中,对奇数编号的像素行进行编码,并且在底部字段中,对偶数编号的像素行进行编码。图4描述了字幕位图输入数据作为模仿字幕位图的形状的一系列行。这仅仅是出于方便,因为已知每个pixel-data_sub-block是连续系列的字节值,所以无关于位图字幕的形状的描述。然后,在415,根据[1]中的已知方法,对这些像素数据行进行运行长度编码,并且在[1]中阐述的DVB标准的object_data_segment中携带这些像素数据行,且每个字段的运行长度编码像素数据被作为相应子块中的两个单独字段来携带。在不应用运行长度编码或相似的简单压缩技术的步骤的情况下,还可以将字幕位图传递至接收器。
[0049] 图5示出了使用隔行类型扫描的object_data_segment的语法。能够看出,通过top_field_data_block_length 505识别顶部字段的块长度并且通过bottom_field_data_block_length 510识别底部字段的块长度。而且,存在其中未分配已知的object_data_segment的保留位510。
[0050] 因此,在该已知的语法中,即使对逐行扫描字幕位图进行预处理,也会作为隔行扫描位图输送至object_data_segment结构并且作为隔行扫描类型位图进行发送。因此,电视接收器100不得不对隔行扫描类型位图进行解码并且将其变换成逐行扫描类型位图进行显示。
[0051] 图6A示出了根据本公开的实施方式的逐行类型扫描字幕编码过程600的示意图。将字幕位图305划分成用于逐行类型扫描的像素数据行。图6A描述了字幕位图输入数据作为模仿字幕位图的形状的一系列行。这仅仅是出于方便,因为已知每个pixel-data_sub-block是连续系列的字节值,所以无关于位图字幕的形状的描述。然后,在610,根据[1]中的已知方法,对这些像素数据行进行运行长度编码,并且在615,在object_data_segment的底部字段中携带这些像素数据行。
[0052] 为了使字幕解码器110理解所接收的字幕位图是逐行类型扫描,将top_field_data_block_length设置成0(零)。换言之,top_field_data_block_length的值是0x0000。然后,将bottom_field_data_block_length设置成位图大小并且在底部字段中发送逐行扫描格式的位图的全部内容。
[0053] 当然,尽管图6A示出了在底部字段中发送的字幕位图,然而,设想了可以在顶部字段中发送字幕位图。在该实例中,字幕位图305将再次被划分成用于逐行类型扫描的像素数据行。然而,在object_data_segment的顶部字段中对这些像素数据行进行编码。
[0054] 可替代地,可以将object_coding_method字段设置成0b10(小数点两位)。在该实例中,可以使用本公开中描述的方法(即,使用zlib)对像素数据行进行压缩。在615,在object_data_segment的像素数据块中携带压缩字幕。图6B中示出了此操作。
[0055] 为了使字幕解码器110理解所接收的字幕位图是逐行类型扫描,将重新定义保留位510,以发出object_data_segment携带逐行扫描位图字幕的信号。这是因为[1]已经包括了用于将bottom_field_data_block_length设置成零值的选项。在已知的对象数据片段中,将bottom_field_data_block_length设置成0(零)意味着顶部字段像素数据对于底部字段是有效的,并且由此在底部字段中有效地重复顶部填充像素数据。
[0056] 因此,在bottom_field_data_block_length的值是0x0000的实例中,需要将保留位改变成如参考图7说明的progressive_scan_bitmap位。当然,尽管将top_field_data_block_length定义成0x0000(零)将足以指示底部字段中所包含的逐行类型扫描和字幕位图,然而,当在底部字段中发送字幕位图时,也可以使用progressive_scan_bitmap位。
[0057] 继续说明在顶部字段中发送的字幕位图,top_field_data_block_length然后被设置为运行长度编码位图大小并且在顶部字段中发送逐行扫描格式的运行长度编码位图的全部内容。
[0058] 可替代地,对于图6B中的情形,将object_coding_method字段设置成值0b10。图7示出了根据本公开的实施方式的object_data_segment结构700。在根据本公开的实施方式的object_data_segment结构700中,将object_coding_method字段设置成值0b10,然后,压缩位图数据的长度被作为16位数据字段(例如,被称为pixel-data_block_length)携带,然后,在压缩字幕图像的字节值的序列之后,在例如命名为pixel-data_block的字段中携带压缩位图数据,将图5中的保留位改变成progressive_scan_bitmap位705。
[0059] 可以将progressive_scan_bitmap位定义成如下。
[0060] 逐行扫描位图:当设置成“1”时,顶部字段pixel-data_sub-block中包含的像素数据与逐行式扫描的位图对应并且底部字段pixel-data_sub-block中不包含任何数据,因此,应将字段bottom_field_data_block_length设置成值“0x0000”。在这种情况下,不适用包含值“0x0000”的bottom_field_data_block_length的意味着底部字段像素数据与顶部字段像素数据相同的之前定义情况。当将progressive_scan_bitmap设置成“0”时,字幕位图应由顶部字段和底部字段构成,并且当不在底部字段中发送像素数据时,即,bottom_field_data_block_length设置成值“0x0000”,则对于底部字段,顶部字段的数据将是有效的。可替代地,可以将object_coding_method字段设置成值0b10,则压缩位图数据的长度作为16位数据字段(例如,被称为pixel_data_block_length)携带,然后,在压缩字幕图像的字节值的序列之后,在例如命名为pixel-data_block的字段中携带压缩位图数据。
[0061] 图8示出了对字幕编码器210中完成的过程进行说明的流程图800。过程800从步骤805开始。然后,在步骤810中获得字幕位图。在步骤815,如果字幕位图是隔行类型扫描,则判断过程通过已知的方式进行并且在步骤820结束。然而,如果字幕位图是逐行类型扫描,过程则移至步骤825。
[0062] 在步骤825中,判断顶部字段或底部字段中是否携带字幕位图。如果底部字段中携带字幕位图,则将对象片段数据中的top_field_block_length设置成0x0000并且将bottom_field_data_block_length设置成位图大小。可选地,还可以设置progressive_scan_bitmap位。然后,在底部字段中以逐行类型扫描携带字幕位图。
[0063] 如果顶部字段中携带字幕位图,则将对象片段数据中的bottom_field_data_block_length设置成0x0000并且将top_field_data_block_length设置成位图大小。在这种情况下,还设置了progressive_scan_bitmap位。然后,在顶部字段中以逐行类型扫描携带字幕位图。
[0064] 可替代地,输入位图经历了根据PNG规范[3]的PNG图形格式所应用的两阶段压缩过程,涉及通过滤波(预测)的预压缩步骤,然后,使用根据RFC1951[2]的zlib(DEFLATE)算法进行实际压缩。已知,对于本公开中的字幕所采用的索引的色彩位图,通常滤波器类型0(空滤波器)是最佳的。当完成时,获知从压缩位图产生的字节编号,并且在数据字段pixel_data_block_length中设置该编号。将之后用于逐行式位图的压缩数据表示成字段pixel-data_block。
[0065] 当发送字幕位图时,过程在步骤830结束。
[0066] 图9示出了对字幕解码器110中完成的过程进行说明的流程图900。过程从步骤905开始。电视接收器100接收编码电视信号。在步骤910中接收并且解码被编码的电视信号。
[0067] 然后,在步骤915,字幕解码器110识别字幕是以逐行类型扫描还是隔行类型扫描携带。
[0068] 为了判断字幕位图是作为逐行类型扫描发送,字幕解码器110识别top_field_data_block_length是否被设置成0x000并且bottom_field_data_block_length是否被设置成非零值。在这种情况下,可选地,字幕解码器110还可以识别是否设置progressive_scan_bitmap位。在该实例中,字幕解码器110获知字幕位图是逐行类型扫描并且在底部字段中发送字幕位图。
[0069] 可替代地,字幕解码器110可以识别bottom_field_data_block_length是否被设置成0x000并且top_field_data_block_length是否被设置成非零值。在这种情况下,字幕解码器110还将识别是否设置progressive_scan_bitmap位。在该实例中,如果设置progressive_scan_bitmap,字幕解码器110则获知字幕位图是逐行类型扫描并且在顶部字段中发送字幕位图。
[0070] 可替代地,如果没有设置progressive_scan_bitmap,字幕解码器110则获知字幕位图是隔行扫描并且对于底部字段像素数据,顶部字段像素数据是有效的。
[0071] 当然,如果top_field_data_block长度和bottom_field_data_block长度都没有设置成0x000,则字幕解码器110则获知字幕位图是隔行扫描。
[0072] 可替代地,通过针对编码过程描述的object_coding_method的值可以判断字幕位图是否作为逐行类型扫描发送。
[0073] 然后,在步骤920中,显示字幕,并且在步骤925,结束过程。
[0074] 尽管上面描述了在顶部字段或底部字段中发送其全部位图,然而,本公开并不局限于此。实际上,可以分割字幕位图并且在顶部字段和底部字段两者中携带字幕位图。例如,progressive_scan_bitmap位的存在可以表示在顶部字段中携带字幕位图的上半部分并且在底部字段中携带下半部分。在该实例中,top_field_data_block_length和bottom_field_data_block_length将是非零值并且progressive_scan_bitmap位将仅识别字幕位图是逐行类型扫描并且以预定的方式在顶部字段和底部字段中携带。这可以通过标准或另一方式预定。
[0075] 在这种情况下,可以将progressive_scan_bitmap位的定义改变成还包括:当设置并且top_field_data_block_length和bottom_field_data_block_length的值是非零时,顶部字段中的数据则是位图的第一预定义(已经建立的)片段并且底部字段中的数据则是位图的第二预定义(已经建立的)片段。
[0076] 第2部分-位图压缩
[0077] 如上所述,希望减少DVB字幕中发送的数据量。因此,根据本公开的实施方式,使字幕经历根据PNG规范[3]的PNG图形格式所应用的两阶段压缩过程,涉及通过滤波(预测)的预压缩步骤,然后,在嵌入到DVB信号中之前,使用根据RFC1951[2]的zlib(DEFLATE)算法进行实际压缩。应注意,此处,压缩可以应用于隔行扫描位图或逐行扫描位图中的字幕。将通过字幕编码器210完成该压缩。
[0078] 图10示出了通过字幕编码器210完成的过程1000的流程图。
[0079] 过程从步骤1005开始。
[0080] 在步骤1010,接收被嵌入到DVB信号中的位图。
[0081] 然后,在步骤1015,使位图经历根据本公开的实施方式的压缩。在本公开的实施方式中,执行根据PNG规范[3]的PNG图形格式所应用的两阶段压缩过程。这涉及通过滤波(预测)的预压缩步骤,然后,使用根据RFC1951[2]的zlib(DEFLATE)算法进行实际压缩,即,DEFLATE算法,使用PNG规范[3]中规定的条件和约束。
[0082] 然后,在步骤1020,将压缩位图嵌入到DVB信号中。该嵌入构成了本公开的实施方式。
[0083] 在[1]的7.2部分中,描述了字幕片段的语法和语义。具体地,在表2中,定义了各个片段。现将描述压缩位图与表2中的片段之间的映射。
[0084] 当前,使用[1]的7.2.1部分中的显示定义片段和[1]的7.2.2部分中的页面合成片段。[1]的7.2.3部分中的区域合成片段与当前片段相同,但色彩查找表(CLUT)译码除外,并且将像素深度限制为8位。
[0085] 当前,可以使用[1]的7.2.4部分中的CLUT定义片段。可替代地,可以丢弃[1]的7.2.4中的CLUT定义片段并且替换为[3]中的CLUT定义。
[0086] 当前,对于隔行扫描位图,可以使用[1]的7.2.5部分中的对象数据片段。然而,对于上面第1部分中说明的逐行扫描系统,使用object_coding_method 0x2,其是[1]的7.2.5的表8中的指示逐行式扫描字幕对象的输送的新变量。针对根据本公开的像素数据的输送,定义了新的数据结构,此处被称为像素数据块。这由位图的宽度和高度以及PNG规范[3]中规定的位图数据的两阶段压缩过程的输出构成。
[0087] 将object_data_segment的字段pixel_data_block_length设置成等于通过所描述的两阶段压缩过程输出的字节数。当然,对于隔行扫描,可以根据需要将其分割成顶部字段和底部字段,或对于逐行扫描按以上所阐述的。在对隔行扫描位图应用两阶段压缩的情况下,存在通知使用哪一方法的单独信号或旗标,但是,本公开中未进一步详述该语法。
[0088] 在位图被压缩和嵌入之后,过程在步骤1025结束。
[0089] 然后,将DVB信号发送至根据实施方式的电视接收器100。
[0090] 图11是示出通过电视接收器100中的字幕解码器110完成的过程1100的流程图。
[0091] 过程1100从步骤1105开始。在步骤1110,将通过电视接收器100接收的DVB信号提供至字幕解码器110。在步骤1115,从DVB信号中提取被压缩的位图字幕。在步骤1120中,对压缩位图字幕进行解压,并且在步骤1125,过程结束。然后,位图被显示为字幕。
[0092] 第3部分-用于发送和接收DVB内的PNG字幕的机制
[0093] 如上所述,PNG图形的使用越来越多。这是因为PNG标准允许图形具有丰富的能。将PNG图形包括在DVB内为不同的电视和介质字幕系统提供了互操作结合点,由此能够对包括DVB的各种传递系统进行适配。
[0094] 然而,由于PNG图形具有丰富的能力,因为电视字幕具有有限的需求,并且因此其分配的带宽和处理能力有限,所以其不直接简单地将PNG图形包括在字幕中。可能不需要能够对PNG的全部可用特征进行解码的解码器。当用于传送字幕时,寻址PNG定义的解码器可能运算更高效、更快、并且成本更低。如果字幕解码器通过其他功能共享诸如总线和存储器等运算资源,则仅处理用于字幕的PNG的必要部分就能够共享其他功能所使用的资源。这可以提高性能和用户体验。
[0095] 本公开的该部分解决此问题。
[0096] 图12示出了根据本公开的实施方式的过程1200的流程图。将通过字幕编码器210完成此过程。
[0097] 过程从步骤1205开始。
[0098] 过程移至步骤1210,其中,字幕编码器210接收根据本公开的实施方式的与DVB标准符合的PNG图形文件。
[0099] 根据PNG规范[3],PNG文件应以IHDR图像报头数据块开始。从IHDR区块中提取PNG图像文件的各种性质或验证PNG图像文件的各种性质是否与所需的DVB字幕配置文件兼容。
[0100] 首先,提取存储在PNG文件的IHDR区块中的宽度和高度并且分别输入至被称为本文献中的pixel-data_sub-block的数据结构的宽度字段和高度字段中。
[0101] 其次,DVB字幕需要每像素8位。然而,PNG允许每像素1位至16位。因此,根据实施方式的PNG图形文件将仅具有每像素8位。通过DVB字幕编码器可以验证该值,但是,因为是假设,所以不需要在DVB数据结构中重复该信息。
[0102] 第三,DVB字幕支持sRGB色彩空间处理。因此,根据实施方式的PNG图形文件应指示sRGB色彩空间处理。通过DVB字幕编码器可以验证该值,但是,因为是假设,所以不需要在DVB数据结构中重复该信息。
[0103] 第四,PNG图形文件内的图像将是被索引的色彩。这属于CLUT形式。与通过α发送全色彩相比较,CLUT的使用是有效的,并且CLUT足以用于字幕。因此,PNG文件中的图像类型应是色彩类型为3的索引色彩。通过DVB字幕编码器可以验证该值,但是,因为是假设,所以不需要在DVB数据结构中重复该信息。PNG文件的索引色彩模式中的位深度应是8,即,与DVB标准中的逐行式编码字幕位图使用时所提供的位深度相同。
[0104] 第五,PNG图形文件包含辅助信息。
[0105] 该辅助信息可以包括各种其他的区块类型。所需的一种区块类型是与索引的PNG图像(PLTE)相关联的调色板表。这包含CLUT。将PLTE区块中包含的数据转换成DVB CLUT定义片段形式,以使得针对字幕的正确再现由字幕解码器生成等同的CLUT。
[0106] 因为DVB CLUT定义片段包含亮度参数(Y)及色彩分量Cr和Cb,所以必须执行从RGB至导出DVB CLUT的值的转换。
[0107] 所需的另一区块类型是图像数据区块(IDAT)。这包含被压缩的字幕图像数据。
[0108] 在实施方式中,所需的另一区块类型是trNS,即,透明区块。在PNG的索引色彩模式中,该区块包含各个CLUT条目的α值。DVB字幕编码器从tRNS区块中读取α值并且将等同值输入至透明中,即,DVB CLUT定义片段中的“T”值。
[0109] 其他辅助信息是可选的。例如,可以在“背景色彩”辅助信息中提供字幕的背景色彩。
[0110] 还可以提供“文本数据”辅助信息。在该信息存在的情况下,设想了该字段中将包括字幕的文本数据。提供文本数据允许电视接收器100执行某种动作,例如,基于文本数据的内容触发对用户的通知。而且,文本至语言算法可以读出文本数据,以改善视觉被削弱的人们的可访问性。文本数据可以用作用户选择试图在该点开始回放时的内容的时间线的参考点。实际上,基于已经搜索关键字的观众,文本数据内关键字的存在甚至可能致使开始记录内容。还可以提供文本数据内的译码,以确保正确或改善的发音。可以利用接收器中已知的标记字符界定文本数据中的一些词语,以指示文本至语言引擎应如何对词语进行发音。例如:
[0111] IEEE:~~I三重E~~
[0112] Caius College:~~关键字college~~
[0113] Sky Spts:~~Sky Sports~~
[0114] 在实施方式中,如果解码器能够显示文本数据,则不显示被界定的发音提示。解码器可以或可以不显示出于其他目的提供的文本数据供用户查看。
[0115] 可以提供“时间”辅助信息。这表示字幕相对于所附内容项的显示的显示时间。当然,“时间”还可以是所显示字幕的绝对时间。在不使用利用由运动图像专家组(MPEG)定义的呈现时间戳的常见方法的实施方式中,这允许电视接收器100获知何时显示字幕。
[0116] 可以提供“物理像素尺寸”辅助信息。如果存在,其应指示DVB字幕所需的正方形像素格式。通过DVB字幕编码器可以验证该值,但是,因为是假设,所以不需要在DVB数据结构中重复该信息。
[0117] 如[3]中描述的,由于经过修改的该PNG图形文件配置文件与PNG格式完全兼容,因此可以注册PNG配置文件。通过注册配置文件,例如在字幕创建和交换过程中,这将使与用途兼容的对应PNG文件的一致性的信令能够作为DVB字幕对象。
[0118] 过程移至步骤1215,其中,将PNG配置文件字幕嵌入到DVB信号中进行发送。
[0119] 为了将PNG配置文件字幕嵌入到DVB信号中,提取并且重新插入全部必要的信息(如上所述)并且或根据需要将全部必要的信息转换成DVB字幕数据结构。可以丢弃PNG文件中所有的区块报头和内容。在该过程中,仅需要提取和维持或转换关键区块IHDR和PLTE的内容、以及辅助区块tRNS的内容。
[0120] 将包括PNG格式的CLUT的PLTE信息、以及包含各个CLUT条目的α值的tRNS区块转换成与[1]中的7.2.4的CLUT定义片段相符的CLUT定义片段。
[0121] IDAT区块内的报头被移除并且剩余的图像数据是级联的。计算级联的图像数据的长度并且将计算值存储在[1]中的7.2.5的对象数据片段的pixel_data_block_length字段中。根据是否执行隔行扫描或逐行扫描,设置对象译码类型的值。然后,将级联的图像数据作为像素数据块存储在DVB对象数据片段中。再次,根据是否执行隔行扫描或逐行扫描,设置对象译码类型的值。
[0122] 过程在步骤1220结束。
[0123] 图13中描述了与DVB字幕的要求兼容的PNG文件的转换过程步骤。
[0124] 如上所述,在图13中,源PNG中包含的区块是IHDR、PLTE、tRNS、以及IDAT。根据需要,使用上述所述其他辅助区块。丢弃IEND区块(标记PNG文件结束)。图13的1305中示出了各个区块。
[0125] 如参考图12描述的,在1300的转换过程中,提取PLTE区块并且转换CLUT条目。如图12中说明的,从tRNS中提取α值,并且与PLTE的CLUT条目一起形成CLUT定义片段。
[0126] IDAT数据已移除了报头并且是级联的。计算级联的数据的大小。计算的值作为pixel_data_block_length插入并且级联的数据被插入到压缩的位图数据字段中。提取IHDR的宽度并且截断至16位。将该值作为bitmap_width字段插入到object_data_segment数据结构中。提取IHDR的高度并且截断至16位。将该值作为bitmap_height字段插入到object_data_segment数据结构中。截断至16位是由于TV屏幕像素大小的约束。
[0127] 1310中示出了字幕格式的数据结构。
[0128] 图14示出了根据本公开的实施方式的过程1400的流程图。通过字幕解码器110完成该过程。
[0129] 过程从步骤1405开始。
[0130] 字幕解码器110接收嵌入了PNG图形文件的DVB信号。这是步骤1410。
[0131] 在步骤1415,对DVB信号进行解码。在步骤1420,过程结束,之后,在显示器上对字幕进行渲染。在对字幕进行渲染时,电视接收器100假设用于渲染的色彩系统是sRGB。此外,像素译码的位深度是每像素8位,由此,像素值表示相关联CLUT的索引。
[0132] 根据上述教导,本公开的多种改造与变形是可能的。因此,应当理解的是,在所附权利要求的范围内,可以通过此处具体描述的其他方式实现本公开。
[0133] 在迄今已经描述的至少部分由软件控制数据处理装置实现本公开的实施方式中,应当认识到,还考虑了携带诸如软件、诸如光盘、磁盘、半导体存储器等非易失性机器可读介质来表示本公开的实施方式。
[0134] 应当认识到,出于清楚,上面描述已经参考不同的功能单元、电路、和/或处理器描述了实施方式。然而,显而易见的是,在不偏离实施方式的情况下,可以使用不同功能单元、电路、和/或处理器之间的功能的任意合适分布。
[0135] 可以通过包括硬件、软件、固件、或其任意组合的合适方式实现所描述的实施方式。可选地,所描述的实施方式可以至少部分实现为在一个或多个数据处理器和/或数字信号处理器上运行的计算机软件。可以通过任意合适的方式物理、功能、以及逻辑地实现任意实施方式中的元件和部件。实际上,可以在单一单元、多个单元、或作为其他功能单元的一部分实现功能。因此,可以在单一单元中实现所公开的实施方式或可以在不同单元、电路、和/或处理器之间物理并且功能地分布所公开的实施方式。
[0136] 尽管已经结合一些实施方式描述了本公开,然而,其并不旨在局限于此处阐述的具体形式。此外,尽管看似结合具体实施方式描述了特征,然而,本领域技术人员应当认识到,可以通过适合于实现技术的任意方式对所描述的实施方式的各个特征进行组合。
[0137] 通常,能够通过下列编号项描述本技术的实施方式:
[0138] 1.一种字幕编码设备,包括:
[0139] 控制器电路,被配置为:
[0140] 接收便携式网络图形(PNG)文件,其中,PNG文件包括图像数据和含色彩查找表的调色板表;
[0141] 将色彩查找表转化成色彩查找表定义片段;
[0142] 将图像数据存储为像素数据块;并且
[0143] 将色彩查找表定义片段和像素数据块编码成图像中的字幕。
[0144] 2.根据项1所述的编码设备,其中,PNG文件包括文本数据字段,文本数据字段包括复制图像数据的至少一部分的文本。
[0145] 3.根据项1或项2所述的编码设备,其中,PNG文件包括指示字幕相对于图像的显示的显示时间的时间字段。
[0146] 4.根据项1、2、或3所述的编码设备,其中,PNG文件包括指示字幕的绝对显示时间的时间字段。
[0147] 5.根据前述项中任一项所述的编码设备,其中,PNG文件包括固定的物理像素尺寸字段。
[0148] 6.根据前述项中任一项所述的编码设备,其中,PNG文件是每像素8位、使用RGB色彩空间并且是索引色彩模式。
[0149] 7.一种字幕解码设备,包括:
[0150] 控制器电路,被配置为:
[0151] 从根据前述项中任一项所述的字幕编码设备接收编码图像;并且对编码图像进行解码。
[0152] 8.一种字幕编码方法,包括:
[0153] 接收便携式网络图形(PNG)文件,其中,PNG文件包括图像数据和含色彩查找表的调色板表;
[0154] 将色彩查找表转换成色彩查找表定义片段;
[0155] 将图像数据存储为像素数据块;并且
[0156] 将色彩查找表定义片段和像素数据块编码成图像中的字幕。
[0157] 9.根据项8所述的编码方法,其中,PNG文件包括文本数据字段,文本数据字段包括复制图像数据的至少一部分的文本。
[0158] 10.根据项8或9所述的编码方法,其中,PNG文件包括指示字幕相对于图像的显示的显示时间的时间字段。
[0159] 11.根据项8、9、或10所述的编码方法,其中,PNG文件包括指示字幕的绝对显示时间的时间字段。
[0160] 12.根据项8至项11中任一项所述的编码方法,其中,PNG文件包括固定的物理像素尺寸字段。
[0161] 13.根据项8至项12中任一项所述的编码方法,其中,PNG文件是每像素8位、使用RGB色彩空间并且是索引色彩模式。
[0162] 14.一种字幕解码方法,包括:
[0163] 从根据项8至项13中任一项所述的字幕编码方法接收编码图像;并且[0164] 对编码图像进行解码。
[0165] 15.一种被配置为存储计算机程序的计算机可读存储介质,当被加载到计算机中时,计算机程序将计算机配置为执行根据项8至项14中任一项所述的方法。
[0166] 16.一种字幕解码设备,包括:
[0167] 控制器电路,被配置为:
[0168] 对与编码电视信号相关联的PNG字幕进行解码,PNG字幕改编自已移除了PNG区块数据并且其参数已并入到DVB字幕数据中的PNG文件,其中,解码使用参数输出具有解码电视信号的字幕。
[0169] 17.根据项16所述的字幕解码设备,其中,PNG区块数据是PNG文件的IHDR区块,IHDR区块分别位于DVB字幕数据的object_coding_method中的pixel-data_sub-block的宽度字段和高度字段中。
[0170] 18.一种字幕解码方法,包括:
[0171] 对与编码电视信号相关联的PNG字幕进行解码,PNG字幕改编自已移除了PNG区块数据并且其参数已并入到DVB字幕数据中的PNG文件,其中,解码使用参数输出具有解码电视信号的字幕。
[0172] 19.根据项18所述的字幕解码方法,其中,PNG区块数据是PNG文件的IHDR区块,IHDR区块分别位于DVB字幕数据的object_coding_method中的pixel-data_sub-block的宽度字段和高度字段中。
[0173] 20.一种字幕解码设备,包括:
[0174] 控制器电路,被配置为:
[0175] 从字幕编码设备接收图像,其中,字幕是PNG图形并且该图像已根据数字视频广播标准进行编码;并且
[0176] 对编码的字幕进行解码。
[0177] 21.一种包括解码器的电视接收器设备,解码器用于对来自电视信号的视频内容进行解码,电视接收器设备进一步包括根据项16所述的字幕解码设备。
[0178] 22.一种包括解码器和电路的电视接收器设备,解码器用于对来自电视信号的视频内容进行解码,并且电路被配置为执行根据项18所述的字幕解码方法。
[0179] 参考文献
[0180] [1]ETSI TS 300 743 v1.5.1(2014-01);DVB Digital Video Broadcasting(DVB);Subtitling systems.
[0181] [2]IETF RFC 1951,DEFLATE Compressed Data Format Specification,Version 1.3
[0182] [3]ISO/IEC 15948;,Information technology--Computer graphics and image processing--Portable Network Graphics(PNG):Functional specification。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈