屏幕显示OSD控制方法及装置、芯片、电子设备

申请号 CN202311797705.6 申请日 2023-12-25 公开(公告)号 CN118015950A 公开(公告)日 2024-05-10
申请人 北京集创北方科技股份有限公司; 发明人 李健;
摘要 本公开涉及一种屏幕显示OSD控制方法及装置、芯片、 电子 设备,所述方法包括:获取 显示面板 的旋转 角 度;根据所述旋转角度对OSD数据 块 的各个OSD数据的 位置 进行调整,得到调整后的OSD数据块;在根据接收的显示数据确定当前 像素 对应的区域需进行OSD数据操作的情况下,将所述调整后的OSD数据块与接收的所述区域的显示数据进行目标操作得到目标显示数据,将所述目标显示数据显示到旋转后的显示面板。本公开 实施例 根据显示面板的旋转角度调整OSD数据,可以高效准确的实现OSD数据块跟随显示面板旋转,具有较高的适应性和灵活性,并且系统开销较低。
权利要求

1.一种屏幕显示OSD控制方法,其特征在于,所述方法包括:
获取显示面板的旋转度;
根据所述旋转角度对OSD数据的各个OSD数据的位置进行调整,得到调整后的OSD数据块;
在根据接收的显示数据确定当前像素对应的区域需进行OSD数据操作的情况下,将所述调整后的OSD数据块与接收的所述区域的显示数据进行目标操作得到目标显示数据,将所述目标显示数据显示到旋转后的显示面板。
2.根据权利要求1所述的方法,其特征在于,根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块,包括:
若所述旋转角度为180°,则将所述OSD数据块中的各个OSD数据的位置进行逆序排列,得到所述调整后的OSD数据块。
3.根据权利要求1所述的方法,其特征在于,根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块,包括:
对所述OSD数据块对应的参数矩阵进行转置,得到转置参数矩阵;
若所述旋转角度为90°,则对所述转置参数矩阵中的各个数据按行进行逆序排列,得到所述调整后的OSD数据块;或
若所述旋转角度为270°,则对所述转置参数矩阵中的各个数据按列进行逆序排列,得到所述调整后的OSD数据块。
4.根据权利要求3所述的方法,其特征在于,所述对所述OSD数据块对应的参数矩阵进行转置,得到转置参数矩阵,包括:
将所述OSD数据块对应的参数矩阵转换为中间参数矩阵,所述OSD数据块对应的参数矩阵为K行N列,所述中间参数矩阵及所述转置参数矩阵为N行K列;
从所述中间参数矩阵的第二个参数开始依次进行循环移位,直到得到所述转置参数矩阵,其中,移位后所述中间参数矩阵中第n行第k列对应的参数由所述OSD数据块对应的参数矩阵中的第k行第n列对应的OSD数据填充,其中,1≤n≤N且为整数,1≤k≤K且为整数。
5.根据权利要求1所述的方法,其特征在于,所述将所述调整后的OSD数据块与接收的所述区域的显示数据进行目标操作得到目标显示数据,包括以下任意一种:
将调整后的OSD数据块的各行OSD数据分别与各行的显示数据进行叠加
利用调整后的OSD数据块的各行OSD数据分别替换各行的显示数据;
调整所述调整后的OSD数据块的各行OSD数据与相应显示数据的比例。
6.根据权利要求1所述的方法,其特征在于,所述OSD数据块包括字符型OSD数据、位图型OSD数据。
7.一种屏幕显示OSD控制装置,其特征在于,所述装置包括:
获取模块,用于获取显示面板的旋转角度;
调整模块,用于根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块;
操作模块,用于在根据接收的显示数据确定当前像素对应的区域需进行OSD数据操作的情况下,将所述调整后的OSD数据块与接收的所述区域的显示数据进行目标操作得到目标显示数据,将所述目标显示数据显示到旋转后的显示面板。
8.一种芯片,其特征在于,所述芯片包括如权利要求7所述的屏幕显示OSD控制装置。
9.一种电子设备,其特征在于,所述电子设备包括如权利要求8所述的芯片、显示面板。
10.根据权利要求9所述的电子设备,其特征在于,所述显示面板包括液晶显示面板、有机发光二极管显示面板、量子点发光二极管显示面板、迷你发光二极管显示面板和微发光二极管显示面板的任意一种。
11.根据权利要求10所述的电子设备,其特征在于,所述电子设备包括显示器、智能手机、智能手表、智慧手环、平板电脑笔记本电脑、一体式计算机、禁装置、和电子式门的任意一种。

说明书全文

屏幕显示OSD控制方法及装置、芯片、电子设备

技术领域

[0001] 本公开涉及显示技术领域,尤其涉及一种屏幕显示OSD控制方法及装置、芯片、电子设备。

背景技术

[0002] OSD(On‑Screen‑Display,屏幕显示)是一种屏幕显示技术,其核心就是在图像上叠加文字、简单的图片等信息,使显示屏幕为用户提供更多的附加信息,为用户提供极大便利。
[0003] 目前很多显示器具有旋转功能——即显示的画面根据显示器方向进行旋转以适配用户视。相应的OSD显示部分需要同步旋转才能正确显式。
[0004] 在缓存中,OSD字体数据通常按照逐行的顺序排列在一起,如果显示屏进行旋转后,OSD的读取顺序就要发生变化,其需要在多个地址跳跃读取。这增加了寻址的复杂性。此外,随着显示屏分辨率的增加和高刷新率屏的发展,在视频显式芯片中为了降低图像处理
的主频,通常会并行的处理多个像素点,这就需要OSD数据读取时需要同时读取多个离散位置的数据。受限于存储器的工作机制,很难在同一时刻并行读取多个跳变地址的值。
[0005] 有鉴于此,亟需提出一种高效准确实现OSD数据跟随显示面板旋转的方案,并降低系统开销。
发明内容
[0006] 根据本公开的一方面,提供了一种屏幕显示OSD控制方法,所述方法包括:
[0007] 获取显示面板的旋转角度;
[0008] 根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块;
[0009] 在根据接收的显示数据确定当前像素对应的区域需进行OSD数据操作的情况下,将所述调整后的OSD数据块与接收的所述区域的显示数据进行目标操作得到目标显示数
据,将所述目标显示数据显示到旋转后的显示面板。
[0010] 在一种可能的实施方式中,根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块,包括:
[0011] 若所述旋转角度为180°,则将所述OSD数据块中的各个OSD数据的位置进行逆序排列,得到所述调整后的OSD数据块。
[0012] 在一种可能的实施方式中,根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块,包括:
[0013] 对所述OSD数据块对应的参数矩阵进行转置,得到转置参数矩阵;
[0014] 若所述旋转角度为90°,则对所述转置参数矩阵中的各个数据按行进行逆序排列,得到所述调整后的OSD数据块;或
[0015] 若所述旋转角度为270°,则对所述转置参数矩阵中的各个数据按列进行逆序排列,得到所述调整后的OSD数据块。
[0016] 在一种可能的实施方式中,所述对所述OSD数据块对应的参数矩阵进行转置,得到转置参数矩阵,包括:
[0017] 将所述OSD数据块对应的参数矩阵转换为中间参数矩阵,所述OSD数据块对应的参数矩阵为K行N列,所述中间参数矩阵及所述转置参数矩阵为N行K列;
[0018] 从所述中间参数矩阵的第二个参数开始依次进行循环移位,直到得到所述转置参数矩阵,其中,移位后所述中间参数矩阵中第n行第k列对应的参数由所述OSD数据块对应的参数矩阵中的第k列第n行对应的OSD数据填充,其中,1≤n≤N且为整数,1≤k≤K且为整数。
[0019] 在一种可能的实施方式中,所述将所述调整后的OSD数据块与接收的所述区域的显示数据进行目标操作得到目标显示数据,包括以下任意一种:
[0020] 将调整后的OSD数据块的各行OSD数据分别与各行的显示数据进行叠加;
[0021] 利用调整后的OSD数据块的各行OSD数据分别替换各行的显示数据;
[0022] 调整所述调整后的OSD数据块的各行OSD数据与相应显示数据的比例。
[0023] 在一种可能的实施方式中,所述OSD数据块包括字符型OSD数据、位图型OSD数据。
[0024] 根据本公开的一方面,提供了一种屏幕显示OSD控制装置,所述装置包括:
[0025] 获取模块,用于获取显示面板的旋转角度;
[0026] 调整模块,用于根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块;
[0027] 操作模块,用于在根据接收的显示数据确定当前像素对应的区域需进行OSD数据操作的情况下,将所述调整后的OSD数据块与接收的所述区域的显示数据进行目标操作得
到目标显示数据,将所述目标显示数据显示到旋转后的显示面板。
[0028] 在一种可能的实施方式中,根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块,包括:
[0029] 若所述旋转角度为180°,则将所述OSD数据块中的各个OSD数据的位置进行逆序排列,得到所述调整后的OSD数据块。
[0030] 在一种可能的实施方式中,根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块,包括:
[0031] 对所述OSD数据块对应的参数矩阵进行转置,得到转置参数矩阵;
[0032] 若所述旋转角度为90°,则对所述转置参数矩阵中的各个数据按行进行逆序排列,得到所述调整后的OSD数据块;或
[0033] 若所述旋转角度为270°,则对所述转置参数矩阵中的各个数据按列进行逆序排列,得到所述调整后的OSD数据块。
[0034] 在一种可能的实施方式中,所述对所述OSD数据块对应的参数矩阵进行转置,得到转置参数矩阵,包括:
[0035] 将所述OSD数据块对应的参数矩阵转换为中间参数矩阵,所述OSD数据块对应的参数矩阵为K行N列,所述中间参数矩阵及所述转置参数矩阵为N行K列;
[0036] 从所述中间参数矩阵的第二个参数开始依次进行循环移位,直到得到所述转置参数矩阵,其中,移位后所述中间参数矩阵中第n行第k列对应的参数由所述OSD数据块对应的参数矩阵中的第k列第n行对应的OSD数据填充,其中,1≤n≤N且为整数,1≤k≤K且为整数。
[0037] 根据本公开的一方面,提供了一种芯片,所述芯片包括所述的屏幕显示OSD控制装置。
[0038] 根据本公开的一方面,提供了一种电子设备,所述电子设备包括所述的芯片、显示面板。
[0039] 在一种可能的实施方式中,所述显示面板包括液晶显示面板、有机发光二极管显示面板、量子点发光二极管显示面板、迷你发光二极管显示面板和微发光二极管显示面板
的任意一种。
[0040] 在一种可能的实施方式中,所述电子设备包括显示器、智能手机、智能手表、智慧手环、平板电脑笔记本电脑、一体式计算机、禁装置、和电子式门的任意一种。
[0041] 根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
[0042] 根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
[0043] 本公开实施例根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块,在根据接收的显示数据确定当前像素对应的区域需进行OSD数据操
作的情况下,将所述调整后的OSD数据块与接收的所述区域的显示数据进行目标操作得到
目标显示数据,将所述目标显示数据显示到旋转后的显示面板,本公开实施例根据显示面
板的旋转角度调整OSD数据,可以高效准确的实现OSD数据块跟随显示面板旋转,具有较高
的适应性和灵活性,并且系统开销较低。
[0044] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将
变得清楚。

附图说明

[0045] 此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
[0046] 图1示出了根据本公开实施例的屏幕显示OSD控制方法的流程图
[0047] 图2示出了OSD数据块跟旋转的示意图。
[0048] 图3示出了根据本公开实施例的屏幕显示OSD控制方法的流程图。
[0049] 图4示出了旋转180°时对OSD数据块的各个OSD数据的位置进行调整的示意图。
[0050] 图5a、图5b、图5c、图5d示出了本公开实施例对OSD数据块进行转置的示意图。
[0051] 图5e示出了根据转置参数矩阵得到调整后的OSD数据块的示意图。
[0052] 图6示出了根据本公开实施例的屏幕显示OSD控制装置的框图
[0053] 图7示出了根据本公开一实施例的一种电子设备的框图。

具体实施方式

[0054] 以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除
非特别指出,不必按比例绘制附图。
[0055] 在本公开的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限
制。
[0056] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0057] 在本公开中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
[0058] 在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0059] 本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
[0060] 另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
[0061] 请参阅图1,图1示出了根据本公开实施例的屏幕显示OSD控制方法的流程图。
[0062] 所述方法的执行主体可以是装置。例如,所述方法可以由终端设备或服务器或其它处理设备执行。其中,终端设备可以是用户设备(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)中的无线终端、车联网中的无线终端等。例如,服务器可以是本地服务器,也可以是服务器。
[0063] 在一些可能的实现方式中,所述方法可以通过处理组件调用存储器中存储的计算机可读指令的方式来实现。在一个示例中,处理组件包括但不限于单独的处理器,或者分立元器件,或者处理器与分立元器件的组合。所述处理器可以包括电子设备中具有执行指令
功能的控制器,所述处理器可以按任何适当的方式实现,例如,被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器微处理器或其他电子元件实现。在所述处理器内部,可以通过逻辑门开关、专用集成电路(Application Specific Integrated 
Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器等硬件电路执行所述可执行指令。
[0064] 如图1所示,所述方法包括:
[0065] 步骤S11,获取显示面板的旋转角度;
[0066] 步骤S12,根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块;
[0067] 步骤S13,在根据接收的显示数据确定当前像素对应的区域需进行OSD数据操作的情况下,将所述调整后的OSD数据块与接收的所述区域的显示数据进行目标操作得到目标
显示数据,将所述目标显示数据显示到旋转后的显示面板。
[0068] 本公开实施例根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块,在根据接收的显示数据确定当前像素对应的区域需进行OSD数据操
作的情况下,将所述调整后的OSD数据块与接收的所述区域的显示数据进行目标操作得到
目标显示数据,将所述目标显示数据显示到旋转后的显示面板,本公开实施例根据显示面
板的旋转角度调整OSD数据,可以高效准确的实现OSD数据块跟随显示面板旋转,具有较高
的适应性和灵活性,并且系统开销较低。
[0069] 本公开实施例对步骤S11获取显示面板的旋转角度的具体方式不做限定,示例性的,本公开实施例可以通过旋转编码器、霍尔效应传感器、惯性传感器或其他的传感器检测显示面板的旋转角度,也可以接受外界输入的旋转角度。
[0070] 请参阅图2,图2示出了OSD数据块跟旋转的示意图。
[0071] 示例性的,如图2所示,0°表示OSD数据块为显示面板未旋转时的初始状态,90°表示顺时针旋转90°(或逆时针旋转270°)对应的状态,180°表示旋转180°对应的状态,270°表示顺时针旋转270°(或逆时针旋转90°)对应的状态。
[0072] 本公开实施例对步骤S12根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整的具体方式不做限定,本领域技术人员可以根据实际情况及需要设置,下面对优选
的实现方式进行介绍。
[0073] 请参阅图3,图3示出了根据本公开实施例的屏幕显示OSD控制方法的流程图。
[0074] 在一种可能的实施方式中,如图3所示,步骤S12根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块,可以包括:
[0075] 步骤S121,若所述旋转角度为180°,则将所述OSD数据块中的各个OSD数据的位置进行逆序排列,得到所述调整后的OSD数据块。
[0076] 请参阅图4,图4示出了旋转180°时对OSD数据块的各个OSD数据的位置进行调整的示意图。
[0077] 示例性的,如图4所示,假设OSD数据块包括7行4列总计28个OSD数据,各个OSD数据采用按列递增的方式进行编号,28个OSD数据编号依次为编号0~编号27。当旋转角度为180°时,通过将所述OSD数据块中的各个OSD数据的位置进行逆序排列,即可得到所述调整
后的OSD数据块,其中,逆序排列的方式例如可以包括:将第m编号的OSD数据与第Q‑m编号的OSD数据交换,其中,Q为编号最大值(本例中为27),m为待操作的编号,示例性的,若m为0,则将编号为0的OSD数据与编号为27的OSD数据交换位置;若m为1,则将编号为1的OSD数据与编号为26的OSD数据交换位置,依次类推。
[0078] 在一种可能的实施方式中,如图3所示,步骤S12根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块,可以包括:
[0079] 步骤S122,对所述OSD数据块对应的参数矩阵进行转置,得到转置参数矩阵;
[0080] 步骤S123,若所述旋转角度为90°,则对所述转置参数矩阵中的各个数据按行进行逆序排列,得到所述调整后的OSD数据块;或
[0081] 步骤S124,若所述旋转角度为270°,则对所述转置参数矩阵中的各个数据按列进行逆序排列,得到所述调整后的OSD数据块。
[0082] 本公开实施例对转置得到转置参数矩阵的具体实现方式不做限定,本领域技术人员可以根据实际情况及需要设置。
[0083] 在一种可能的实施方式中,步骤S122对所述OSD数据块对应的参数矩阵进行转置,得到转置参数矩阵,包括:
[0084] 将所述OSD数据块对应的参数矩阵转换为中间参数矩阵,所述OSD数据块对应的参数矩阵为K行N列,所述中间参数矩阵及所述转置参数矩阵为N行K列;
[0085] 从所述中间参数矩阵的第二个参数开始依次进行循环移位,直到得到所述转置参数矩阵,其中,移位后所述中间参数矩阵中第n行第k列对应的参数由所述OSD数据块对应的参数矩阵中的第k行第n列对应的OSD数据填充,其中,1≤n≤N且为整数,1≤k≤K且为整数。
[0086] 请参阅图5a、图5b、图5c、图5d,图5a、图5b、图5c、图5d示出了本公开实施例对OSD数据块进行转置的示意图。
[0087] 在一个示例中,如图5a所示,假设OSD数据块包括7行4列总计28个OSD数据,各个OSD数据采用按列递增的方式进行编号,28个OSD数据编号依次为编号0~编号27,其中,各个OSD数据在存储空间中的存储顺序为编号0、4、8、12、16、20、24…、19、23、27依次存储,且顺序是连续的。
[0088] 示例性的,如图5a所示,根据“将所述OSD数据块对应的参数矩阵转换为中间参数矩阵,所述OSD数据块对应的参数矩阵为K行N列,所述中间参数矩阵及所述转置参数矩阵为N行K列”,中间参数矩阵包括7行4列总计28个OSD数据,应理解,此处的中间参数矩阵是为了便于理解而引入说明,实际的移位过程是在存储空间中对各个OSD数据进行移位实现的,最终移位完成后存储空间中对应的各个OSD数据依次写入如图5a中所示的得到的N行K列(7行
4列),即实现了将所述OSD数据块对应的参数矩阵的转置。
[0089] 示例性的,如图5a所示,在移位前,若将存储空间中的各个OSD数据即按照存储顺序转换为7行4列的中间参数矩阵,可以得到如图5a所述的中间参数矩阵,其中,OSD数据块对应的参数矩阵的编号0、4、8、12、16、20、24…,从中间参数矩阵的第一行开始,依次写入到中间参数矩阵中的各个位置,中间参数矩阵的第一行为编号0、4、8、12,第二行为编号16、
20、24、1,以此类推。
[0090] 示例性的,如图5a所示,根据“从所述中间参数矩阵的第二个参数开始依次进行循环移位,直到得到所述转置参数矩阵,其中,移位后所述中间参数矩阵中第n行第k列对应的参数由所述OSD数据块对应的参数矩阵中的第k行第n列对应的OSD数据填充”,在存储空间中,由于已经按照移位顺序进行了编号(编号1、编号2、编号3、…、编号27),因此,第一次移位时,将编号1对应的OSD数据存放到提前准备的中转存储空间,然后将从第二个OSD数据开始依次移位,直到前一个OSD数据(编号24)将原来编号1对应的OSD数据覆盖,然后将中转存储空间中的编号1的OSD数据写入到第二个存储单元。作为在矩阵中的表现,如图5a所示,从中间参数矩阵中的第二个参数(即第1行第2列)开始,进行第一次循环移位后,所述中间参
数矩阵中第1行第2列的位置,即编号0与编号4之间为空,将OSD数据块对应的参数矩阵中第
1列第2行对应的OSD数据(即编号1),也即中间参数矩阵中第二行第四列对应的OSD数据(即
编号1),写入到中转存储空间,然后,将所述OSD数据块对应的参数矩阵中的第1列第2行对应的OSD数据(即中转存储空间中编号1对应的数据)填充到所述中间参数矩阵中第1行第2
列对应的参数。
[0091] 应理解,虽然对OSD数据块对应的参数矩阵进行了阵列形式的改变,即从4行7列的矩阵转换为7行4列的矩阵,但是,OSD数据块本身各个参数是存储在连续的存储空间中,即OSD数据块对应的参数矩阵中第1列第2行对应的OSD数据(即编号1)与中间参数矩阵中第二
行第四列对应的OSD数据(即编号1)实际上位于同一存储空间。因此,在进行每一次循环移
位时,第M次移位的终点为所述OSD数据块中编号为M的OSD数据,换言之,对于第M次移位,当移位至中间参数矩阵的某一位置(即存储空间中的某一存储位置),该位置的数据编号为M,则本次移位结束,该编号为M的数据被前一数据覆盖,且将该编号为M的数据写入本次移位
空出的位置,即形成一次循环移位。举例而言,第一次(M=1)移位时,移位终点对应所述OSD数据块对应的参数矩阵中的第1列第2行对应的OSD数据(即编号1),将编号1对应的数据写
入中间存储空间后,由于各个OSD数据在存储空间存储的地址是连续的(编号0、4、8、12、16、
20、24…依次存储),中间参数矩阵中编号4、8、12、16、20、24依次向右移位,编号4的OSD数据覆盖编号8的OSD数据,编号8的OSD数据覆盖编号12的OSD数据,…,编号20的OSD数据覆盖编号24的OSD数据,编号24的OSD数据覆盖编号1的OSD数据,则第一次循环移位结束,将中转存储空间中编号1的OSD数据写入第1行第2列,覆盖编号4对应的OSD数据。由于OSD数据块对应的参数矩阵和中间参数矩阵共用存储空间,因此每次移位后,可认为OSD数据块对应的参数据矩阵也发生了相应的移位。
[0092] 应该说明的是,以上对循环移位的介绍是示例性的,不应视为是对本公开实施例的限定,本领域技术人员可以参考相关技术实现循环移位。
[0093] 在一个示例中,如图5b所示,第二次循环移位从第一次移位后中间参数矩阵的第1行第3列开始(即编号4的位置),进行第二次循环移位后,所述中间参数矩阵中编号1与编号
4之间为空,将所述OSD数据块对应的参数矩阵中的第1列第3行对应的OSD数据(即编号2)填
充到所述中间参数矩阵中第1行第3列对应的参数,参考前述介绍,第二次移位时,移位终点对应所述OSD数据块对应的参数矩阵中的第1列第3行对应的OSD数据(即编号2),将编号2对
应的数据写入中间存储空间后,中间参数矩阵中编号4、8、…21、25依次向右移位,编号4的OSD数据覆盖编号8的OSD数据,编号8的OSD数据覆盖编号12的OSD数据,…,编号21的OSD数据覆盖编号25的OSD数据,编号25的OSD数据覆盖编号2的OSD数据,则第二次循环移位结束,将中转存储空间中编号2的OSD数据写入第1行第3列,覆盖编号4对应的OSD数据。
[0094] 在一个示例中,如图5c所示,进行第三次循环移位后,所述中间参数矩阵中第1行第4列的参数为空,将所述OSD数据块对应的参数矩阵中的第1列第4行对应的OSD数据(即编
号3)填充到所述中间参数矩阵中第1行第4列对应的参数。
[0095] 重复以上过程,直到得到如图5d所示的转置参数矩阵,在一个示例中,如图5d所示,转置后的OSD数据块包括4行7列总计28个OSD数据,各个OSD数据采用按行递增的方式进行编号,28个OSD数据编号依次为编号0~编号27。
[0096] 请参阅图5e,图5e示出了根据转置参数矩阵得到调整后的OSD数据块的示意图。
[0097] 示例性的,如图5e所示,在得到转置参数矩阵;若所述旋转角度为90°,则对所述转置参数矩阵中的各个数据按行进行逆序排列,得到所述调整后的OSD数据块。
[0098] 示例性的,如图5e所示,若所述旋转角度为270°,则对所述转置参数矩阵中的各个数据按列进行逆序排列,得到所述调整后的OSD数据块。
[0099] 其中,逆序排列通过交换首尾的OSD数据即可实现,一行N个数据进行N/2次交换就可以完成。同理,一列K个数据通过K/2次交换即可。采用这样的方式,可以极大降低处理成本。
[0100] 示例性的,OSD的数据旋转可以借助处理器完成也可以借助专用的硬件电路。作为一个示例,可以读取OSD数据到缓存,然后再按一定的顺序写入原OSD区域,可见,采用这种方式,如果OSD数据块较大则需要更大的缓存,这会增加系统的开销。本公开实施例在进行循环移位的过程中,仅需要用一个像素的临时存储空间来临时中转,即可实现OSD块数据的旋转,可以大幅减少OSD数据旋转的开销,降低系统成本。
[0101] 在一种可能的实施方式中,步骤S13将所述调整后的OSD数据块与接收的所述区域的显示数据进行目标操作得到目标显示数据,可以包括以下任意一种:
[0102] 将调整后的OSD数据块的各行OSD数据分别与各行的显示数据进行叠加;
[0103] 利用调整后的OSD数据块的各行OSD数据分别替换各行的显示数据;
[0104] 调整所述调整后的OSD数据块的各行OSD数据与相应显示数据的比例;
[0105] 调整所述调整后的OSD数据块的各行OSD数据中RGB分量的值。
[0106] 示例性的,通过将各行OSD数据分别与各行的显示数据进行叠加,可以同时在所述区域显示OSD数据及显示数据,在这种情况下,可以通过调整OSD数据与相应显示数据的比
例,以设置OSD数据或相应显示数据的显示透明度,通过调整OSD数据中RGB分量的值,可以得到不同的OSD颜色效果。当然,本公开实施例对具体的比例大小、具体的RGB分量调整方案不做限定,本领域技术人员可以根据实际情况及需要设置。其中,“相应显示数据的比例”包括“该位置原有显示数据的比例”。
[0107] 示例性的,通过利用各行OSD数据分别替换各行的显示数据,本公开实施例可以在所述区域上仅显示OSD数据,在这种情况下,也可以设置OSD数据的显示透明度(例如调整
OSD数据与背景色的比例),通过调整OSD数据中RGB分量的值,可以得到不同的OSD颜色效
果。
[0108] 在一种可能的实施方式中,所述OSD数据块包括字符型OSD(Font‑Based)数据、位图型OSD位图型(Bit‑Map)数据。
[0109] 示例性的,对于字符型OSD:为了节约显示缓存,可以使用字符型OSD发生器,将OSD中显示内容按照特定的格式(12×18、12×16等)进行分割成块,例如数字0‑9、字母a‑z、常用的亮度对比度符号等,并把这些内容固化在ROM或Flash中,在显示缓存中仅存放对应的索引号,这样的“字典”结构可以大幅度减少显示缓存的需求。
[0110] 示例性的,对于位图OSD:可以通过对最终显示内容上特定区域的每个像素点进行改变,直接将OSD信息叠加到最终的显示画面上,其按像素进行控制的方式可以保证具有多色及足够的表现能。位图OSD的显示效果理论上可以做到非常完美的程度,可以提供类似Windows中具有立体感的各种物件,如具有阴影的按钮、颜色丰富的图形和文字等,其缺点是必须具有足够的OSD显示缓存,以及按像素进行处理而对MCU带来的速度要求。
[0111] 本公开实施例对将所述调整后的OSD数据块与接收的所述区域的显示数据进行目标操作得到目标显示数据的执行主体不做限定,示例性的,可以通过专用的硬件电路如OSD控制器执行,也可以通过通用的处理组件执行。
[0112] 本公开实施例对步骤S13根据接收的显示数据确定当前像素对应的区域需进行OSD数据操作的具体实现方式不做限定,示例性的,OSD控制器可以像素地址判断该区域是
否需要进行目标操作,例如,若接收到的显示数据中当前像素的地址与调整后的OSD数据块的第一个像素的地址相同,或当前像素的地址在OSD数据块对应的区域中,则认为需进行目标操作,当然,显示数据中也可以携带当前像素对应的区域需进行目标操作的指令,以使得OSD控制器根据该指令确定需进行目标操作,当然,该指令也可以是单独发送的,对于指令的具体类型,本公开实施例不做限定,本领域技术人员可以根据实际情况及需要设置。当
然,若确定不需进行OSD数据操作,例如不在OSD显示区域的显示数据直接输出到显示面板
进行显示。
[0113] 可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0114] 请参阅图6,图6示出了根据本公开实施例的屏幕显示OSD控制装置的框图。
[0115] 如图6所示,所述装置包括:
[0116] 获取模块10,用于获取显示面板的旋转角度;
[0117] 调整模块20,用于根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块;
[0118] 操作模块30,用于在根据接收的显示数据确定当前像素对应的区域需进行OSD数据操作的情况下,将所述调整后的OSD数据块与接收的所述区域的显示数据进行目标操作
得到目标显示数据,将所述目标显示数据显示到旋转后的显示面板。
[0119] 本公开实施例根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块,在根据接收的显示数据确定当前像素对应的区域需进行OSD数据操
作的情况下,将所述调整后的OSD数据块与接收的所述区域的显示数据进行目标操作得到
目标显示数据,将所述目标显示数据显示到旋转后的显示面板,本公开实施例根据显示面
板的旋转角度调整OSD数据,可以高效准确的实现OSD数据块跟随显示面板旋转,具有较高
的适应性和灵活性,并且系统开销较低。
[0120] 在一种可能的实施方式中,根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块,包括:
[0121] 若所述旋转角度为180°,则将所述OSD数据块中的各个OSD数据的位置进行逆序排列,得到所述调整后的OSD数据块。
[0122] 在一种可能的实施方式中,根据所述旋转角度对OSD数据块的各个OSD数据的位置进行调整,得到调整后的OSD数据块,包括:
[0123] 对所述OSD数据块对应的参数矩阵进行转置,得到转置参数矩阵;
[0124] 若所述旋转角度为90°,则对所述转置参数矩阵中的各个数据按行进行逆序排列,得到所述调整后的OSD数据块;或
[0125] 若所述旋转角度为270°,则对所述转置参数矩阵中的各个数据按列进行逆序排列,得到所述调整后的OSD数据块。
[0126] 在一种可能的实施方式中,所述对所述OSD数据块对应的参数矩阵进行转置,得到转置参数矩阵,包括:
[0127] 将所述OSD数据块对应的参数矩阵转换为中间参数矩阵,所述OSD数据块对应的参数矩阵为K行N列,所述中间参数矩阵及所述转置参数矩阵为N行K列;
[0128] 从所述中间参数矩阵的第二个参数开始依次进行循环移位,直到得到所述转置参数矩阵,其中,移位后所述中间参数矩阵中第n行第k列对应的参数由所述OSD数据块对应的参数矩阵中的第k列第n行对应的OSD数据填充,其中,1≤n≤N且为整数,1≤k≤K且为整数。
[0129] 在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
[0130] 根据本公开的一方面,提供了一种芯片,所述芯片包括所述的屏幕显示OSD控制装置。
[0131] 根据本公开的一方面,提供了一种电子设备,所述电子设备包括所述的芯片、显示面板。
[0132] 在一种可能的实施方式中,所述显示面板包括液晶显示面板、有机发光二极管显示面板、量子点发光二极管显示面板、迷你发光二极管显示面板和微发光二极管显示面板
的任意一种。
[0133] 在一种可能的实施方式中,所述电子设备包括显示器、智能手机、智能手表、智慧手环、平板电脑、笔记本电脑、一体式计算机、门禁装置、和电子式门锁的任意一种。
[0134] 本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计
算机可读存储介质。
[0135] 本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
[0136] 本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处
理器中运行时,所述电子设备中的处理器执行上述方法。
[0137] 电子设备可以被提供为终端、服务器或其它形态的设备。
[0138] 请参阅图7,图7示出了根据本公开一实施例的一种电子设备的框图。
[0139] 例如,电子设备1900可以被提供为一服务器。参照图7,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包
括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指
令,以执行上述方法。
[0140] 电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输
出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如微软服TM
务器操作系统(Windows Server ),苹果公司推出的基于图形用户界面操作系统(Mac OS 
TM TM
X ),多用户多进程的计算机操作系统(Unix ),自由和开放原代码的类Unix操作系统
TM TM
(Linux ),开放原代码的类Unix操作系统(FreeBSD )或类似。
[0141] 在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以
完成上述方法。
[0142] 本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
[0143] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具
体的例子(非穷举的列表)包括:便携式计算机盘、硬盘随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD‑ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可
读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波
导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电
信号。
[0144] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计
算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0145] 用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如
Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独
立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机
或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包
括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可
编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
[0146] 这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/
或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0147] 这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据
处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功
能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中
规定的功能/动作的各个方面的指令。
[0148] 也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0149] 附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也
可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执
行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0150] 该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
[0151] 以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨
在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的
其它普通技术人员能理解本文披露的各实施例。
QQ群二维码
意见反馈