发明内容
本申请实施例提供一种Teletext信息的传输方法和装置,通过调整Teletext功能所传输的数据包内容的规则,实现在Teletext功能下对Unicode码内容的传输,达到对多语种图文信息的传输进行支持。
为了达到上述技术目的,本申请提供了一种图文内容Teletext信息的传输方法,所述方法具体包括:
当需要进行Teletext信息传输时,解析用户发送的待传输数据包的编码指令;
若所述编码指令中携带有扩展标识,则在待传输数据包集合的包头信息中添加Unicode码标识,所述Unicode码标识用于使信息接收端确定接收到的数据包的编码方式;
在待传输数据包集合的各内容数据包中分别添加Unicode码内容长度标识以及与所述Unicode码内容长度标识对应长度的Unicode码内容信息;
将添加了Unicode码内容信息的待传输数据包集合发送给Teletext信息的信息接收端。
优选的,所述在待传输数据包集合的包头信息中添加Unicode码标识,具体为:
将待传输的X/0数据包的第十四字节的第一个比特的内容置1;
其中,如果所述待传输的X/0数据包的第十四字节的第一个比特的内容为0,则表示需要进行传输的Teletext信息具体为ASCII码内容。
优选的,所述在待传输数据包集合的各内容数据包中分别添加Unicode码内容长度标识,具体为:
设置待传输的X/1数据包至X/25数据包中的一个或多个数据包的第六个字节的内容表示相应的数据包所携带的Unicode码内容信息的长度。
优选的,所述Unicode码内容长度标识对应长度的Unicode码内容信息的添加方式,具体为:
设置待传输的X/1数据包至X/25数据包中的一个或多个数据包的第六个字节之后的内容表示相应的数据包所携带的Unicode码内容信息;
其中,以单字节的内容表示控制信息,单字节内容的赋值范围为0x00至0x1F;
以双字节的内容表示Unicode码内容信息,首字节内容的赋值范围为大于0x20。
另一方面,本申请实施例还提出了一种Teletext信息的发送装置,具体包括:
解析模块,用于在需要进行Teletext信息传输时,解析用户发送的待传输数据包的编码指令;
添加模块,用于在所述解析模块确定所述编码指令中携带有扩展标识时,在待传输数据包集合的包头信息中添加Unicode码标识,所述Unicode码标识用于使信息接收端确定接收到的数据包的编码方式,并在待传输数据包集合的各内容数据包中分别添加Unicode码内容长度标识以及与所述Unicode码内容长度标识对应长度的Unicode码内容信息;
发送模块,用于将所述添加模块添加了Unicode码内容信息的待传输数据包集合发送给Teletext信息的信息接收端。
另一方面,本申请实施例还提出了一种Teletext信息的传输方法,应用于信息接收端,所述方法具体包括:
当接收到Teletext信息时,识别所接收到的数据包集合的包头信息中是否包含Unicode码标识;
如果包含,分别获取所接收到的数据包集合中的各内容数据包所携带的Unicode码内容长度标识;
根据所述Unicode码内容长度标识,分别在相应的内容数据包中获取相应长度的Unicode码内容信息;
根据所获取的Unicode码内容信息进行Teletext信息的显示。
优选的,所述识别所接收到的数据包集合的包头信息中是否包含Unicode码标识,具体为:
识别所接收到的数据包集合中的X/0数据包的第十四字节的第一个比特的内容是否为1;
其中,如果所接收到的数据包集合中的X/0数据包的第十四字节的第一个比特的内容为0,则表示当前接收到的Teletext信息具体为ASCII码内容。
优选的,所述分别获取所接收到的数据包集合中的各内容数据包所携带的Unicode码内容长度标识,具体为:
根据所接收到的数据包集合中的X/1数据包至X/25数据包中的一个或多个数据包的第六个字节的内容,获取相应的数据包所携带的Unicode码内容信息的长度。
优选的,所述根据所述Unicode码内容长度标识,分别在相应的内容数据包中获取相应长度的Unicode码内容信息,具体为:
在获取到Unicode码内容长度标识的内容数据包中,从第七个字节开始读取相应长度的信息;
如果所读取到的当前字节的内容值为0x00至0x1F,则根据当前字节的内容确定所接收到的Teletext信息的控制信息;
如果所读取到的当前字节的内容值大于或等于0x20,则读取下一个字节的内容,通过将所述当前字节和下一个字节的内容合并,确定所对应的Unicode码内容信息。
另一方面,本申请实施例还提出了一种Teletext信息的接收装置,具体包括:
接收模块,用于接收Teletext信息;
识别模块,用于在所述接收模块接收到Teletext信息时,识别所接收到的数据包集合的包头信息中是否包含Unicode码标识;
获取模块,用于在所述识别模块的识别结果为包含时,分别获取所接收到的数据包集合中的各内容数据包所携带的Unicode码内容长度标识,并根据所述Unicode码内容长度标识,分别在相应的内容数据包中获取相应长度的Unicode码内容信息;
显示模块,用于根据所述获取模块所获取的Unicode码内容信息进行Teletext信息的显示。
与现有技术相比,本申请实施例所提出的技术方案的有益技术效果包括:
本申请实施例公开了一种Teletext信息的传输方法和装置,该方法在需要进行Teletext信息传输的待传输数据包中携带有扩展标识时,在所传输的数据包集合的包头信息中添加Unicode码标识,并在各内容数据包中添加Unicode码内容长度标识和相应长度的Unicode码内容信息,从而,在Teletext信息的传输过程中,实现了Unicode码内容的传输,扩展了Teletext功能对多语种图文信息的支持范围,丰富了通过Teletext功能进行传输的内容类型,改善了用户体验,满足了Teletext功能场景下对于传输内容多样化的需求。
具体实施方式
正如本申请背景技术所陈述的,在现有的Teletext功能场景下,由于其只能通过单一字节来表示字符内容的限定,其只能支持部分语言文字的传输,而对于中文,日文,韩文,蒙古,波斯等多种语言则无法借助Teletext功能进行传输,大大限制了Teletext功能的应用范围,而对于使用上述语言的用户和地区,Teletext功能所传输的内容限制也对用户使用带来了不便。
这是由于Teletext功能的设计规则是用一个字节即常用的ASCII码来表示字符内容,对于中文等较为复杂的语言文字来说,需要利用连续2个扩展ASCII码的扩展区域来表示一个汉字。因此在用原始的Teletext功能传输部分需要两个字节编码的语言文字时,会出现不支持的问题。
而Unicode码则统一使用2个字节表示一个字符。ASCII中不能用一个字节对应一个字符表示的语言文字,完全可以通过Unicode通过两个字节来实现对每个字符的编码,因此,本申请的发明人为了在Teletext功能中支持更多的语言种类,对Teletext信息的传输标准进行了扩展,在保持Teletext功能传输便捷性的同时,在Teletext信息的传输过程中,使其能够传输Unicode码内容,扩展Teletext功能对多语种图文信息的支持范围。
如图1所示,为本申请实施例所提出的一种Teletext信息的传输方法的流程示意图,该方法具体包括:
步骤S101、当需要进行Teletext信息传输时,解析用户发送的待传输数据包的编码指令。
如果解析结果为该待传输数据包中携带有扩展标识,则执行步骤S102;
如果解析结果为该待传输数据包中未携带扩展标识,则执行步骤S105。
需要进行说明的是,此处的扩展标识用于表示当前的待传输数据包中的数据是否需要进行扩展,即除了现有技术中的ASCII码信息之外,是否还有Unicode码信息,具体的扩展标识形式可以根据实际需要进行调整,这样的变化并不会影响本申请的保护范围。
步骤S102、在待传输数据包集合的包头信息中添加Unicode码标识。
其中,所述Unicode码标识用于使信息接收端确定接收到的数据包的编码方式。
需要说明的是,现有的Teletext标准规定了一屏信息为24行40列,传输时是以数据包为单位传输,每一行的数据即为一个数据包,一屏信息即为一个数据包集合。
一个数据包中固定有45个字节的数据。现有的Teletext标准规定在一个数据包集合的传输过程中,最多会达到31个数据包的数据被发送:除去24个数据包用以显示24行数据外,其它数据包都是各种控制包。其中,X/0包(即第一个数据包)为包头信息,其内容会控制整个页的显示格式和规则,X/26为控制字符集切换控制包,X/28为页功能和页编码控制包,X/29为杂志相关增加控制包等等。
为扩展Teletext功能的字符传输功能,本申请实施例所提出的技术方案首先需要扩展X/0包中的控制信息。
如图2所示,为现有技术中的X/0数据包的数据结构示意图。第一字节(Byte1)至到第十三字节(Byte 13)都已经有了定义,而Byte 38至Byte 45一般用于传输实时时间信息。所以,在现有的X/0数据包的结构中,Byte 14至Byte 37,总共有24个字节还没有使用,因此,本申请实施例所提出的技术方案中,只需要在这样的空闲字节中提取一个比特来表示Teletext信息的类型,例如,可以需使用Byte 14的第一个bit(比特),并规定当其内容为0时,则当前数据包集合中所传输的Teletext信息的字符为原始Teletext标准规定的字符,但当其为1时,则表示当前数据包集合中所传输的Teletext信息的字符是用Unicode码表示,以此来方便后续字符内容的提取过程。
需要进行说明的是,上述的bit位置的选择,以及其具体内容所对应的字符种类信息,可以根据实际需要的调整,上述的说明只是本申请实施例所给出的一种具体方案,在保证包头信息对Teletext信息的类型的传输的前提下,可以选取包头信息的其他bit位进行相应信息的表征,上述说明的内容并不会限制本申请的保护范围。
为方便说明,在本实施例所对应的具体应用场景中,本步骤的具体操作为将待传输的X0数据包的第十四字节的第一个比特的内容置1。
步骤S103、在待传输数据包集合的各内容数据包中分别添加Unicode码内容长度标识以及与所述Unicode码内容长度标识对应长度的Unicode码内容信息。
在本实施例所对应的具体应用场景中,本步骤的具体操作为设置待传输的X1数据包至X25数据包中的一个或多个数据包的第六个字节的内容表示相应的数据包所携带的Unicode码内容信息的长度。
对于这样设置的原因说明如下:
在现有的Teletext信息传输规则中,X/1至X/25数据包即用来显示具体的Teletext信息内容,即前述的内容数据包,其数据结构如图3所示,X/1至X/25数据包的长度为固定长度,分别为45字节。其中,前2个字节是Clock Run-In Code,第3到第5字节分别为Framing Code,Magazine Number,Packet Number,而后40个字节即为真正的Teletext信息的显示内容。
而为了扩展成传输Unicode码,需要把原有的固定长度的结构变为可变长度,因此,在每个内容数据包的5个已确定内容的字节之后,本申请实施例所提出的技术方案扩展规定了第6个字节的内容用于表示所传输字符信息的总长度。当编码或者解码时先读取这个长度值,假设其为n,那么再依次读取Byte7至Byte(7+n-1)字节的内容。
同样需要进行说明的是,上述的表示长度信息的字节位置的选择,可以根据实际需要的调整,上述的说明只是本申请实施例所给出的一种具体方案,在保证各内容数据包对自身的内容内息长度表征,以及易于识别的前提下,可以选取各内容数据包的其他字节位置进行相应信息的表征,上述说明的内容并不会限制本申请的保护范围。
在此基础上,对于添加Unicode码内容信息的处理策略,具体说明如下。
在内容数据包的后40个字节中,每个字节的内容要么是显示控制信息,要么就是要显示的字符内容,具体的,可以通过相应字节的具体内容来进行区分,当其为0x0至0x1F时即为控制信息,比如颜色,字体大小,马赛克颜色等,0x20以上都是要显示的字符信息。
基于步骤S103中的设置,本步骤中进一步设置待传输的X1数据包至X25数据包中的一个或多个数据包的第六个字节之后的内容表示相应的数据包所携带的Unicode码内容信息。其中,以单字节的内容表示控制信息,单字节内容的赋值范围为0x00至0x1F,以双字节的内容表示Unicode码内容信息,首字节内容的赋值范围为大于0x20。
基于上述的设置,在内容数据包中,对于每个字节,若值为0x0至0x1F则依然为控制信息,若大于0x1F,即是Unicode码,需要连续读取两个字节内容来拼接成一个Unicode码,且本申请实施例中规定使用的是大端Unicode码。
如图4所示,为本申请实施例所提出的一种携带Unicode码信息的内容数据包的数据结构示意图。
至此,通过修改包头信息和内容数据包的结构,本申请实施例所提出的技术方案扩展了原Teletext标准,使其通过传输Unicode码从而达到支持所有字符的功能。
在本步骤完成后,执行步骤S106。
步骤S104、在待传输数据包集合的包头信息中添加ASCII码标识。
参照步骤S102的说明,在具体的应用场景中,本步骤的具体操作为将待传输的X0数据包的第十四字节的第一个比特的内容置0。
步骤S105、根据现有的Teletext信息传输规则,在待传输数据包集合中添加ASCII码内容信息。
本步骤的处理过程类似与现有技术,并不是本申请实施例所关注的要点,在此不再进行具体说明。
步骤S106、将添加了Teletext信息的待传输数据包集合发送给Teletext信息的信息接收端。
其中,如果本步骤之前是步骤S103的操作,则本步骤的具体内容是将添加了Unicode码内容信息的待传输数据包集合发送给Teletext信息的接收端,而如果本步骤之前是步骤S105的操作,则本步骤的具体内容是将添加了ASCII码内容信息的待传输数据包集合发送给Teletext信息的接收端。
与发送端相对应的,在接收端侧,也同样存在相对应的数据包内容解析过程,如图5所示,为本申请实施例所提出的一种Teletext信息的传输方法在接收端侧的流程示意图,该方法具体包括:
步骤S501、当接收到Teletext信息时,识别所接收到的数据包集合的包头信息中是否包含Unicode码标识。
如果包含,则执行步骤S502;
如果不包含,则执行步骤S504。
对应前述的步骤S102的说明,本步骤的具体实现过程为识别所接收到的数据包集合中的X0数据包的第十四字节的第一个比特的内容是否为1。
其中,如果所接收到的数据包集合中的X0数据包的第十四字节的第一个比特的内容为0,则表示当前接收到的Teletext信息具体为ASCII码内容。
需要进行说明的是,上述的bit位置的选择,以及其具体内容所对应的字符种类信息,可以根据实际需要的调整,上述的说明只是本申请实施例所给出的一种具体方案,在保证包头信息对Teletext信息的类型的传输的前提下,可以选取包头信息的其他bit位进行相应信息的表征,上述说明的内容并不会限制本申请的保护范围。
步骤S502、分别获取所接收到的数据包集合中的各内容数据包所携带的Unicode码内容长度标识。
对应前述的步骤S103的说明,本步骤的具体实现过程为根据所接收到的数据包集合中的X1数据包至X25数据包中的一个或多个数据包的第六个字节的内容,获取相应的数据包所携带的Unicode码内容信息的长度。
同样需要进行说明的是,上述的表示长度信息的字节位置的选择,可以根据实际需要的调整,上述的说明只是本申请实施例所给出的一种具体方案,在保证各内容数据包对自身的内容内息长度表征,以及易于识别的前提下,可以选取各内容数据包的其他字节位置进行相应信息的表征,上述说明的内容并不会限制本申请的保护范围。
步骤S503、根据所述Unicode码内容长度标识,分别在相应的内容数据包中获取相应长度的Unicode码内容信息。
对应前述的步骤S104的说明以及步骤S502的设置,本步骤的具体实现过程为在获取到Unicode码内容长度标识的内容数据包中,从第七个字节开始读取相应长度的信息;
如果所读取到的当前字节的内容值为0x00至0x1F,则根据当前字节的内容确定所接收到的Teletext信息的控制信息;
如果所读取到的当前字节的内容值大于或等于0x20,则读取下一个字节的内容,通过将所述当前字节和下一个字节的内容合并,确定所对应的Unicode码内容信息。
至此,通过在修改后的包头信息和内容数据包结构中进行解析,本申请实施例所提出的技术方案通过扩展原Teletext标准,实现Unicode码内容的接收,从而达到支持所有字符传输的效果。
在本步骤完成后,执行步骤S505。
步骤S504、根据现有的Teletext信息传输规则,在待传输数据包集合中获取ASCII码内容信息。
步骤S505、根据所获取的内容信息进行Teletext信息的显示。
与现有技术相比,本申请实施例所提出的技术方案的有益技术效果包括:
本申请实施例公开了一种Teletext信息的传输方法和装置,该方法在需要进行Teletext信息传输的待传输数据包中携带有扩展标识时,在所传输的数据包集合的包头信息中添加Unicode码标识,并在各内容数据包中添加Unicode码内容长度标识和相应长度的Unicode码内容信息,从而,在Teletext信息的传输过程中,实现了Unicode码内容的传输,扩展了Teletext功能对多语种图文信息的支持范围,丰富了通过Teletext功能进行传输的内容类型,改善了用户体验,满足了Teletext功能场景下对于传输内容多样化的需求。
为更清楚地说明本申请前述实施例提供的方案,基于与上述方法同样的发明构思,本申请实施例还提出了一种Teletext信息的发送装置,其结构示意图如图6所示,具体包括:
解析模块61,用于在需要进行Teletext信息传输时,解析用户发送的待传输数据包的编码指令;
添加模块62,用于在所述解析模块61确定所述编码指令中携带有扩展标识时,在待传输数据包集合的包头信息中添加Unicode码标识,所述Unicode码标识用于使信息接收端确定接收到的数据包的编码方式,并在待传输数据包集合的各内容数据包中分别添加Unicode码内容长度标识以及与所述Unicode码内容长度标识对应长度的Unicode码内容信息;
发送模块63,用于将所述添加模块62添加了Unicode码内容信息的待传输数据包集合发送给Teletext信息的信息接收端。
另一方面,本申请实施例还提出了一种Teletext信息的接收装置,其结构示意图如图7所示,具体包括:
接收模块71,用于接收Teletext信息;
识别模块72,用于在所述接收模块71接收到Teletext信息时,识别所接收到的数据包集合的包头信息中是否包含Unicode码标识;
获取模块73,用于在所述识别模块72的识别结果为包含时,分别获取所接收到的数据包集合中的各内容数据包所携带的Unicode码内容长度标识,并根据所述Unicode码内容长度标识,分别在相应的内容数据包中获取相应长度的Unicode码内容信息;
显示模块74,用于根据所述获取模块73所获取的Unicode码内容信息进行Teletext信息的显示。
与现有技术相比,本申请实施例所提出的技术方案的有益技术效果包括:
本申请实施例公开了一种Teletext信息的传输方法和装置,该方法在需要进行Teletext信息传输的待传输数据包中携带有扩展标识时,在所传输的数据包集合的包头信息中添加Unicode码标识,并在各内容数据包中添加Unicode码内容长度标识和相应长度的Unicode码内容信息,从而,在Teletext信息的传输过程中,实现了Unicode码内容的传输,扩展了Teletext功能对多语种图文信息的支持范围,丰富了通过Teletext功能进行传输的内容类型,改善了用户体验,满足了Teletext功能场景下对于传输内容多样化的需求。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络侧设备等)执行本发明实施例各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明实施例所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明实施例的几个具体实施场景,但是,本发明实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明实施例的业务限制范围。