掌桥专利:专业的专利平台
掌桥专利
首页

显示控制方法、屏幕显示OSD数据压缩方法及装置

文献发布时间:2024-04-18 20:02:18


显示控制方法、屏幕显示OSD数据压缩方法及装置

技术领域

本公开涉及显示技术领域,尤其涉及一种显示控制方法、屏幕显示OSD数据压缩方法及装置。

背景技术

OSD(On-Screen-Display,屏幕显示)是一种屏幕显示技术,其核心就是在图像上叠加文字、简单的图片等信息,使显示屏幕为用户提供更多的附加信息,为用户提供极大便利。在汽车显示屏领域,最典型的应用就是显示汽车状态的图标与文字信息,比如油表信息、安全带提示、ABS状态等。早期的车载显示设备多采用镂空面板和背部LED灯组合来实现一些警示信息的显示。随着新能源汽车的发展,越来越多的汽车采用全液晶面板作为汽车的显示设备,警示信息和车辆状态信息以OSD的方式直接呈现在显示画面上。

然而,相关技术在切换OSD数据进行显示时,因延迟过大会导致OSD显示出现延迟或者错误。

发明内容

根据本公开的一方面,提供了一种显示控制方法,应用于屏幕显示OSD控制器中,所述方法包括:

在根据显示数据确定当前像素对应的区域需进行OSD数据操作的情况下,获取OSD数据压缩包;

从所述OSD数据压缩包的头部开始依次确定各行的数据长度,按照所述数据长度对压缩OSD数据进行解压缩,得到各行的解压缩OSD数据,其中,所述OSD数据压缩包由多行压缩OSD数据拼接得到,每行压缩OSD数据的头部包括该行压缩OSD数据的数据长度;

将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,将得到的显示数据输出到显示面板进行显示,其中所述区域的尺寸与所述解压缩OSD数据的尺寸相对应。

在一种可能的实施方式中,所述方法还包括:

在每行压缩OSD数据解压缩完成后,保存各行压缩OSD数据中最后的压缩OSD数据的位置,以确定下一行压缩OSD数据的解压缩的起始位置。

在一种可能的实施方式中,所述将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,包括:

将各行解压缩OSD数据分别与各行的显示数据进行叠加;或

利用各行解压缩OSD数据分别替换各行的显示数据。

在一种可能的实施方式中,将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,包括:

若所述解压缩OSD数据为RGB数据,则直接将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作;

若所述解压缩OSD数据为索引数据,则根据所述索引数据确定相应的RGB数据,将各行解压缩OSD数据对应的RGB数据分别与各行的显示数据进行目标操作。

在一种可能的实施方式中,将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,包括:

在进行所述目标操作中,调整解压缩OSD数据与相应显示数据的比例。

根据本公开的一方面,提供了一种屏幕显示OSD数据压缩方法,所述方法包括:

获取待压缩OSD数据;

对每一行OSD数据分别进行压缩,得到多行压缩OSD数据;

将所述多行压缩OSD数据按顺序拼接为OSD数据压缩包。

在一种可能的实施方式中,在对每一行OSD数据分别进行压缩,得到多行压缩OSD数据后,所述方法还包括:

确定每一行压缩OSD数据的数据长度;

设置每一行压缩OSD数据的头部为相应的数据长度。

在一种可能的实施方式中,对每一行OSD数据分别进行压缩的压缩编码方式包括游程编码、哈夫曼编码、字典编码的任意一种。

在一种可能的实施方式中,所述待压缩OSD数据包括字符型OSD数据、位图型OSD数据。

根据本公开的一方面,提供了一种显示控制装置,所述装置包括屏幕显示OSD控制器、OSD存储器、缓存器、译码器及多路选择器,所述OSD控制器连接于所述OSD存储器、所述缓存器及所述译码器,所述译码器还连接于所述多路选择器,其中,所述OSD控制器用于:

在根据显示数据确定当前像素对应的区域需进行OSD数据操作的情况下,从所述OSD存储器中获取OSD数据压缩包加载到所述缓存器中;

从所述缓存器中获取OSD数据压缩包,从所述OSD数据压缩包的头部开始依次确定各行的数据长度,利用所述译码器按照所述数据长度对压缩OSD数据进行解压缩,得到各行的解压缩OSD数据,其中,所述OSD数据压缩包由多行压缩OSD数据拼接得到,每行压缩OSD数据的头部包括该行压缩OSD数据的数据长度;

将各行解压缩OSD数据通过所述多路选择器输出,以将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,将得到的显示数据输出到显示面板进行显示,其中所述区域的尺寸与所述解压缩OSD数据的尺寸相对应。

在一种可能的实施方式中,所述OSD控制器还用于:

在每行压缩OSD数据解压缩完成后,保存各行压缩OSD数据中最后的压缩OSD数据的位置,以确定下一行压缩OSD数据的解压缩的起始位置。

在一种可能的实施方式中,所述将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,包括:

将各行解压缩OSD数据分别与各行的显示数据进行叠加;或

利用各行解压缩OSD数据分别替换各行的显示数据。

在一种可能的实施方式中,所述装置还包括调色盘,所述调色盘连接于所述OSD控制器及所述多路选择器,其中,所述将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,包括:

若所述解压缩OSD数据为RGB数据,则直接将各行解压缩OSD数据通过所述多路选择器输出,以将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作;

若所述解压缩OSD数据为索引数据,则根据所述索引数据在所述调色盘中确定相应的RGB数据,将确定的RGB数据通过所述多路选择器输出,以将各行解压缩OSD数据对应的RGB数据分别与各行的显示数据进行目标操作。

在一种可能的实施方式中,将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,包括:

在进行所述目标操作中,调整解压缩OSD数据与相应显示数据的比例。

根据本公开的一方面,提供了一种屏幕显示OSD数据压缩装置,所述装置包括:

获取模块,用于获取待压缩OSD数据;

压缩模块,对每一行OSD数据分别进行压缩,得到多行压缩OSD数据;

拼接模块,将所述多行压缩OSD数据按顺序拼接为OSD数据压缩包。

根据本公开的一方面,提供了一种芯片,所述芯片包括所述的显示控制装置,和/或,所述的屏幕显示OSD数据压缩装置。

根据本公开的一方面,提供了一种电子设备,所述电子设备包括所述的芯片、显示面板。

在一种可能的实施方式中,所述显示面板包括液晶显示面板、有机发光二极管显示面板、量子点发光二极管显示面板、迷你发光二极管显示面板和微发光二极管显示面板的任意一种。

在一种可能的实施方式中,所述电子设备包括显示器、智能手机、智能手表、智慧手环、平板电脑、笔记本电脑、一体式计算机、门禁装置、和电子式门锁的任意一种。

根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。

根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。

本公开实施例通过在根据显示数据确定当前像素对应的区域需进行OSD数据操作的情况下,获取OSD数据压缩包,从所述OSD数据压缩包的头部开始依次确定各行的数据长度,按照所述数据长度对压缩OSD数据进行解压缩,得到各行的解压缩OSD数据,将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,由于在OSD数据压缩包中各行压缩OSD数据是分别压缩的,且包含各行压缩OSD数据的数据长度,本公开实施例可以快速完成各行压缩OSD数据的切换,降低切换数据的开销,能够高效、准确的实现译码,避免出现显示错误。

本公开实施例通过每行数据头部存入数据长度信息,可以使得加载数据和译码过程按照流水线操作,提高了效率(如果对OSD区域整体压缩,那么必须等译码输出后才能确定下一次加载数据的数量或者是否加载数据,降低了效率和整体译码速度),并且采用分行压缩的方法可以降低压缩数据出错后的风险,因为压缩数据出错只会影响当前行的译码。而如果对OSD区域整体压缩,一旦压缩数据出错,那么后续整个OSD区域就无法正常译码。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。

图1示出了根据本公开实施例的显示控制方法的流程图。

图2示出了根据本公开实施例的OSD数据压缩包的示意图。

图3示出了根据本公开实施例的显示控制装置的示意图。

图4示出了根据本公开实施例的屏幕显示OSD数据压缩方法的流程图。

图5示出了根据本公开实施例的屏幕显示OSD数据压缩方法的示意图。

图6示出了根据本公开实施例的屏幕显示OSD数据压缩装置的框图。

图7示出了根据本公开实施例的一种电子设备的框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在本公开的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本公开中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。

另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

请参阅图1,图1示出了根据本公开实施例的显示控制方法的流程图。

所述方法应用于屏幕显示OSD控制器中,如图1所示,所述方法包括:

步骤S11,在根据显示数据确定当前像素对应的区域需进行OSD数据操作的情况下,获取OSD数据压缩包;

步骤S12,从所述OSD数据压缩包的头部开始依次确定各行的数据长度,按照所述数据长度对压缩OSD数据进行解压缩,得到各行的解压缩OSD数据,其中,所述OSD数据压缩包由多行压缩OSD数据拼接得到,每行压缩OSD数据的头部包括该行压缩OSD数据的数据长度;

步骤S13,将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,将得到的显示数据输出到显示面板进行显示,其中所述区域的尺寸与所述解压缩OSD数据的尺寸相对应。

本公开实施例通过在根据显示数据确定当前像素对应的区域需进行OSD数据操作的情况下,获取OSD数据压缩包,从所述OSD数据压缩包的头部开始依次确定各行的数据长度,按照所述数据长度对压缩OSD数据进行解压缩,得到各行的解压缩OSD数据,将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,由于在OSD数据压缩包中各行压缩OSD数据是分别压缩的,且包含各行压缩OSD数据的数据长度,本公开实施例可以快速完成各行压缩OSD数据的切换,降低切换数据的开销,能够高效、准确的实现译码,避免出现显示错误。

示例性的,显示数据可以是外部传来的,也可以是自主显示中对应的显示数据,对此本公开实施例不做限定。

本公开实施例对OSD数据的具体类型不做限定,本领域技术人员可以根据实际情况及需要设置,例如,在一种可能的实施方式中,OSD数据包括字符型(Font-Based)OSD数据、位图型(Bit-Map)OSD数据。例如,在车载屏幕中文字信息一般采用字符型,而警示信息多采用位图型。

本公开实施例对步骤S11根据显示数据确定当前像素对应的区域需进行OSD数据操作的具体实现方式不做限定,示例性的,OSD控制器可以像素地址判断该区域是否需要进行目标操作,例如,若接收到的显示数据中当前像素的地址与预存的OSD数据的第一个像素的地址相同,或当前像素的地址在OSD数据块对应的区域中,则认为需进行目标操作,当然,显示数据中也可以携带当前像素对应的区域需进行目标操作的指令,以使得OSD控制器根据该指令确定需进行目标操作,当然,该指令也可以是单独发送的,对于指令的具体类型,本公开实施例不做限定,本领域技术人员可以根据实际情况及需要设置。当然,若确定不需进行OSD数据操作,例如不在OSD显示区域的显示数据直接输出到显示面板进行显示。

本公开实施例对解压缩的具体方法不做限定,本领域技术人员可以根据实际情况及需要确定,例如解压缩(也可称为解码)方法可以与压缩(也可称为编码)方法对应,若对OSD数据的压缩编码方式采用游程编码、哈夫曼编码、字典编码等,则解码方法可以是与游程编码、哈夫曼编码、字典编码等对应的解码算法。

请参阅图2,图2示出了根据本公开实施例的OSD数据压缩包的示意图。

示例性的,如图2所示,所述OSD数据压缩包由N行压缩OSD数据拼接得到,每行压缩OSD数据的头部包括该行压缩OSD数据的数据长度,如长度1与第1行编码数据组成第1行压缩OSD数据,长度2与第2行编码数据组成第2行压缩OSD数据,…,长度N与第N行编码数据组成第N行压缩OSD数据,N为正整数。

根据本公开实施例的方案,由于OSD数据压缩包由各行压缩OSD数据拼接得到,因此,本公开实施例可以切换各行压缩OSD数据之间的依赖关系,在译码某行压缩OSD数据的时候不需要加载其他行压缩OSD数据或历史译码的中间数据,有利于快速完成OSD译码数据的切换。并且,加入每行OSD压缩数据的长度信息有利于提高译码效率。一般数据压缩方法的压缩率都不是恒定的,其导致译码输出的速率也不是恒定的。数据加载到数据译码输出需要一定的时间,如果等到译码输出完毕才知道该数据块译码结束,那么必然会导致加载下一个OSD数据的延迟,进而导致实时显示错误。本公开实施例在译码初始阶段就知道加载的各行压缩OSD数据的数据长度,因此在完成相应数据长度的加载后即可迅速切换到下一待解压的压缩OSD数据,降低切换数据开销,满足实时性需求。

如果对整个OSD数据块压缩,那么其中某个数据位置的错误扩散将会影响到整个OSD解压缩后的数据,本公开实施例采用按行压缩的方式,即使某行压缩数据出现错误(压缩数据部分),其影响也是该行数据内部,不会影响到其他行的译码,提高了系统的鲁棒性,降低了某一行OSD数据出错后对整体的影响。

在一种可能的实施方式中,所述方法还可以包括:

在每行压缩OSD数据解压缩完成后,保存各行压缩OSD数据中最后的压缩OSD数据的位置,以确定下一行压缩OSD数据的解压缩的起始位置。

示例性的,在每行压缩OSD数据解压缩完成后,可以保存当前数据指针的值,以实现保存各行压缩OSD数据中最后的压缩OSD数据的位置,在进行下一行压缩OSD数据的解压缩时,只需恢复保存的数据指针,即可实现下一行压缩OSD数据的解压缩的起始位置的快速确定,从该数据指针开始继续译码解压缩即可。

本公开实施例对步骤S13将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作的具体操作方式不做限定,本领域技术人员可以根据实际情况及需要设置,下面进行示例性介绍。

在一种可能的实施方式中,步骤S13将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,可以包括以下至少一种:

将各行解压缩OSD数据分别与各行的显示数据进行叠加;

利用各行解压缩OSD数据分别替换各行的显示数据;

调整解压缩OSD数据与相应显示数据的比例;

调整解压缩OSD数据中RGB分量的值。

通过将各行解压缩OSD数据分别与各行的显示数据进行叠加,可以同时在所述区域显示OSD数据及显示数据,在这种情况下,可以通过调整解压缩OSD数据与相应显示数据的比例,以设置解压缩OSD数据或相应显示数据的显示透明度,通过调整解压缩OSD数据中RGB分量的值,可以得到不同的OSD颜色效果。当然,本公开实施例对具体的比例大小、具体的RGB分量调整方案不做限定,本领域技术人员可以根据实际情况及需要设置。其中,“相应显示数据的比例”包括“该位置原有显示数据的比例”。

通过利用各行解压缩OSD数据分别替换各行的显示数据,本公开实施例可以在所述区域上仅显示解压缩OSD数据,在这种情况下,也可以设置解压缩OSD数据的显示透明度(例如调整解压缩OSD数据与背景色的比例),通过调整解压缩OSD数据中RGB分量的值,可以得到不同的OSD颜色效果。

在一种可能的实施方式中,步骤S13将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,还可以包括:

若所述解压缩OSD数据为RGB数据,则直接将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作;

若所述解压缩OSD数据为索引数据,则根据所述索引数据确定相应的RGB数据,将各行解压缩OSD数据对应的RGB数据分别与各行的显示数据进行目标操作。

示例性的,对于较大的字体或者位图信息,往往需要消耗较大的存储资源来实现。因此,本公开实施例的OSD数据可以是存储字体和位图信息的像素索引数据,这样,本公开实施例可以减少存储成本,并且降低数据量后可以提高解码速度,当解码得到索引数据后,可以通过查找对应调色盘颜色来获取该像素的相应的RGB数据,将各行解压缩OSD数据对应的RGB数据分别与各行的显示数据进行目标操作。

可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

请参阅图3,图3示出了根据本公开实施例的显示控制装置的示意图。

如图3所示,所述装置包括屏幕显示OSD控制器100、OSD存储器110、缓存器120、译码器130及多路选择器140,所述OSD控制器100连接于所述OSD存储器110、所述缓存器120及所述译码器130,所述译码器130还连接于所述多路选择器140,其中,所述OSD控制器100用于:

在根据显示数据确定当前像素对应的区域需进行OSD数据操作的情况下,从所述OSD存储器110中获取OSD数据压缩包加载到所述缓存器120中;

从所述缓存器120中获取OSD数据压缩包,从所述OSD数据压缩包的头部开始依次确定各行的数据长度,利用所述译码器130按照所述数据长度对压缩OSD数据进行解压缩,得到各行的解压缩OSD数据,其中,所述OSD数据压缩包由多行压缩OSD数据拼接得到,每行压缩OSD数据的头部包括该行压缩OSD数据的数据长度;

将各行解压缩OSD数据通过所述多路选择器140输出,以将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,将得到的显示数据输出到显示面板进行显示,其中所述区域的尺寸与所述解压缩OSD数据的尺寸相对应。

本公开实施例的OSD控制器100在根据显示数据确定当前像素对应的区域需进行OSD数据操作的情况下,从所述OSD存储器110中获取OSD数据压缩包加载到所述缓存器120中;从所述缓存器120中获取OSD数据压缩包,从所述OSD数据压缩包的头部开始依次确定各行的数据长度,利用所述译码器130按照所述数据长度对压缩OSD数据进行解压缩,得到各行的解压缩OSD数据;将各行解压缩OSD数据通过所述多路选择器140输出,以将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,将得到的显示数据输出到显示面板进行显示,由于在OSD数据压缩包中各行压缩OSD数据是分别压缩的,且包含各行压缩OSD数据的数据长度,本公开实施例可以快速完成各行压缩OSD数据的切换,降低切换数据的开销,能够高效、准确的实现译码,避免出现显示错误。

本公开实施例对OSD控制器100、OSD存储器110、缓存器120、译码器130及多路选择器140的具体实现方式不做限定,本领域技术人员可以根据实际情况及需要采用相关技术实现。

应说明的是,OSD控制器100将OSD存储器中的OSD数据压缩包中的压缩OSD数据加载到缓存器120的方式可以是按行进行的,例如OSD控制器100确定第一行压缩OSD数据的长度后将第一行OSD压缩数据加载到缓存器120中,然后OSD控制器100确定第二行压缩OSD数据的长度后将第二行OSD压缩数据加载到缓存器120中,以此类推。加载数据可以设置独立的数据加载器,或直接通过OSD控制器100实现,对此本公开实施例不做限定。

示例性的,OSD控制器100例如可以为处理组件,在一个示例中,处理组件包括但不限于单独的处理器,或者分立元器件,或者处理器与分立元器件的组合。所述处理器可以包括电子设备中具有执行指令功能的控制器,所述处理器可以按任何适当的方式实现,例如,被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现。在所述处理器内部,可以通过逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器等硬件电路执行所述可执行指令。

示例性的,OSD存储器110例如可以包括计算机可读存储介质,计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、可编程只读存储器(PROM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。优选的,OSD存储器110为静态随机存取存储器(SRAM)。

在一种可能的实施方式中,所述OSD控制器100还可以用于:

在每行压缩OSD数据解压缩完成后,保存各行压缩OSD数据中最后的压缩OSD数据的位置,以确定下一行压缩OSD数据的解压缩的起始位置。

在一种可能的实施方式中,所述将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,可以包括:

将各行解压缩OSD数据分别与各行的显示数据进行叠加;或

利用各行解压缩OSD数据分别替换各行的显示数据。

在一种可能的实施方式中,如图3所示,所述装置还可以包括调色盘150,所述调色盘150连接于所述OSD控制器100及所述多路选择器140,其中,所述将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,可以包括:

若所述解压缩OSD数据为RGB数据,则直接将各行解压缩OSD数据通过所述多路选择器140输出,以将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作;

若所述解压缩OSD数据为索引数据,则根据所述索引数据在所述调色盘150中确定相应的RGB数据,将确定的RGB数据通过所述多路选择器140输出,以将各行解压缩OSD数据对应的RGB数据分别与各行的显示数据进行目标操作。

本公开实施例对调色盘150的具体实现方式不做限定,本领域技术人员可以根据实际情况及需要设置。

在一种可能的实施方式中,将各行解压缩OSD数据分别与所述区域各行的显示数据进行目标操作,可以包括:

在进行所述目标操作中,调整解压缩OSD数据与相应显示数据的比例;或

在进行所述目标操作中,调整解压缩OSD数据中RGB分量的值。

应该说明的是,所述显示控制装置为与前述的显示控制方法对应的装置项,其具体介绍请参考之前对方法的介绍,在此不再赘述。

请参阅图4,图4示出了根据本公开实施例的屏幕显示OSD数据压缩方法的流程图。

如图4所示,所述方法包括:

步骤S21,获取待压缩OSD数据;

步骤S22,对每一行OSD数据分别进行压缩,得到多行压缩OSD数据;

步骤S23,将所述多行压缩OSD数据按顺序拼接为OSD数据压缩包。

本公开实施例通过对每一行OSD数据分别进行压缩,得到多行压缩OSD数据,将所述多行压缩OSD数据按顺序拼接为OSD数据压缩包,可以切断行压缩OSD数据的依赖关系,以便在译码某行OSD数据的时候不需要加载其他行OSD数据或历史译码的中间数据,有利于快速完成OSD译码数据的切换。

本公开实施例对OSD数据压缩方法的执行主体不做限定,所述OSD数据压缩方法的执行主体可以是装置。例如,所述方法可以由终端设备或服务器或其它处理设备执行。其中,终端设备可以是用户设备(User Equipment,UE)、移动设备、用户终端、终端、手持设备、计算设备或者车载设备等,示例性的,一些终端的举例为:手机(Mobile Phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(Mobile Internetdevice,MID)、可穿戴设备,虚拟现实(Virtual Reality,VR)设备、增强现实(Augmentedreality,AR)设备、工业控制(Industrial Control)中的无线终端、无人驾驶(Selfdriving)中的无线终端、远程手术(Remote medical Surgery)中的无线终端、智能电网(Smart Grid)中的无线终端、运输安全(Transportation Safety)中的无线终端、智慧城市(Smart City)中的无线终端、智慧家庭(Smart Home)中的无线终端、车联网中的无线终端等。例如,服务器可以是本地服务器,也可以是云服务器。

当然,所述OSD数据压缩方法的执行主体也可以是前述的处理组件,对此本公开实施例不做限定。

在一种可能的实施方式中,在对每一行OSD数据分别进行压缩,得到多行压缩OSD数据后,所述方法还可以包括:

确定每一行压缩OSD数据的数据长度;

设置每一行压缩OSD数据的头部为相应的数据长度。

本公开实施例在对OSD数据压缩中,在每一行压缩OSD数据的头部加入每行OSD压缩数据的长度信息有利于提高译码效率。一般数据压缩方法的压缩率都不是恒定的,其导致译码输出的速率也不是恒定的。数据加载到数据译码输出需要一定的时间,数据加载模块如果等到译码输出完毕才知道该数据块译码结束,那么必然会导致加载下一个OSD数据的延迟,进而导致实时显示错误,而如果在译码初始阶段就知道加载的数据长度,那么在完成相应数据长度的加载后即可迅速切换到下一待解压的数据块,降低切换数据开销,满足实时性需求。

值得说明的是,一般数据压缩方法的压缩率都不是恒定的,其导致译码输出的速率也不是恒定的。数据加载到数据译码输出需要一定的时间,如果等到译码输出完毕才知道该数据块译码结束,那么必然会导致加载下一个OSD数据的延迟,进而导致实时显示错误。本公开实施例在译码初始阶段就知道加载的各行压缩OSD数据的数据长度,因此在完成相应数据长度的加载后即可迅速切换到下一待解压的压缩OSD数据,降低切换数据开销,满足实时性需求。

另外,如果对整个OSD数据块压缩,那么其中某个数据位置的错误扩散将会影响到整个OSD解压缩后的数据,本公开实施例采用按行压缩的方式,即使某行压缩数据出现错误(压缩数据部分),其影响也是该行数据内部,不会影响到其他行的译码,提高了系统的鲁棒性,降低了某一行OSD数据出错后对整体的影响。

请参阅图5,图5示出了根据本公开实施例的屏幕显示OSD数据压缩方法的示意图。

示例性的,如图5所示,可以将OSD原始数据(待压缩OSD数据)按行分别进行压缩,得到多行压缩OSD数据,并确定每一行压缩OSD数据的数据长度,设置每一行压缩OSD数据的头部为相应的数据长度,从第1行压缩OSD数据开始将所述多行压缩OSD数据按顺序拼接为OSD数据压缩包。

本公开实施例对具体的压缩编码方式不做限定,本领域技术人员可以根据实际情况及需要设置,示例性的,在一种可能的实施方式中,对每一行OSD数据分别进行压缩的压缩编码方式包括游程编码、哈夫曼编码、字典编码等的任意一种。优选的,每一行均采用同一种编码方式,以便于译码端进行译码,减少开销。

在一种可能的实施方式中,所述待压缩OSD数据可以包括字符型OSD数据、位图型OSD数据。

应该说明的是,所述OSD数据压缩方法的相关内容已在前述的显示控制方法的描述中有所介绍,关于其具体介绍,请一并参考对显示控制方法的描述,在此不再赘述。

可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

请参阅图6,图6示出了根据本公开实施例的屏幕显示OSD数据压缩装置的框图。

如图6所示,所述装置包括:

获取模块10,用于获取待压缩OSD数据;

压缩模块20,对每一行OSD数据分别进行压缩,得到多行压缩OSD数据;

拼接模块30,将所述多行压缩OSD数据按顺序拼接为OSD数据压缩包。

本公开实施例通过对每一行OSD数据分别进行压缩,得到多行压缩OSD数据,将所述多行压缩OSD数据按顺序拼接为OSD数据压缩包,可以切断行压缩OSD数据的依赖关系,以便在译码某行OSD数据的时候不需要加载其他行OSD数据或历史译码的中间数据,有利于快速完成OSD译码数据的切换。

在一种可能的实施方式中,在对每一行OSD数据分别进行压缩,得到多行压缩OSD数据后,所述压缩模块20还用于:

确定每一行压缩OSD数据的数据长度;

设置每一行压缩OSD数据的头部为相应的数据长度。

在一种可能的实施方式中,对每一行OSD数据分别进行压缩的压缩编码方式包括游程编码、哈夫曼编码、字典编码的任意一种。

在一种可能的实施方式中,所述待压缩OSD数据包括字符型OSD数据、位图型OSD数据。

在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。

根据本公开的一方面,提供了一种芯片,所述芯片包括所述的显示控制装置,和/或,所述的屏幕显示OSD数据压缩装置。

根据本公开的一方面,提供了一种电子设备,所述电子设备包括所述的芯片、显示面板。

在一种可能的实施方式中,所述显示面板包括液晶显示面板、有机发光二极管显示面板、量子点发光二极管显示面板、迷你发光二极管显示面板和微发光二极管显示面板的任意一种。

在一种可能的实施方式中,所述电子设备包括显示器、智能手机、智能手表、智慧手环、平板电脑、笔记本电脑、一体式计算机、门禁装置、和电子式门锁的任意一种。

本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。

本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。

本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。

电子设备可以被提供为终端、服务器或其它形态的设备。

请参阅图7,图7示出了根据本公开实施例的一种电子设备的框图。

例如,电子设备1900可以被提供为一服务器。参照图7,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。

电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如微软服务器操作系统(Windows Server

在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。

本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

技术分类

06120116581681