CN112261290A - 显示设备、摄像头以及ai数据同步传输方法 - Google Patents
显示设备、摄像头以及ai数据同步传输方法 Download PDFInfo
- Publication number
- CN112261290A CN112261290A CN202011112517.1A CN202011112517A CN112261290A CN 112261290 A CN112261290 A CN 112261290A CN 202011112517 A CN202011112517 A CN 202011112517A CN 112261290 A CN112261290 A CN 112261290A
- Authority
- CN
- China
- Prior art keywords
- data
- image
- index
- image data
- algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/64—Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请提供一种显示设备、摄像头以及AI数据同步传输方法。所述显示设备包括显示器、摄像头以及控制器。其中,控制器可以从摄像头获取图像数据和AI数据,并对图像数据进行解析,以获得每帧图像的索引ID。再根据索引ID在AI数据中查找每帧图像对应的AI算法包,并根据图像数据和AI算法包控制显示器的显示画面。所述显示设备可以通过索引ID建立图像数据和AI数据之间的对应关系,从而在调用图像数据时,可根据索引ID确定对应的AI数据,解决摄像头数据传输图像和AI算法结果无法对齐问题。
Description
技术领域
本申请涉及智能电视技术领域,尤其涉及一种显示设备、摄像头以及AI数据同步传输方法。
背景技术
智能电视是基于Internet应用技术,具备开放式操作系统与芯片,拥有开放式应用平台,可实现双向人机交互功能,集影音、娱乐、数据等多种功能于一体的电视产品,用于满足用户多样化和个性化需求。智能电视可以内置或外接摄像头设备,通过摄像头可以对指定区域进行图像采集,并显示在智能电视中,以实现特定的功能。
摄像头可以通过图像采集传感器将环境内的光学信号转化为电信号,形成多帧图像数据。智能电视在启动对应功能的摄像头相关应用后,可以从摄像头获取多帧图像数据,并按照应用内置的显示算法,生成具体的显示画面。例如,在启动“照镜子”应用时,照镜子应用会先启动摄像头,由摄像头实时采集用户图像。再通过获取摄像头采集的图像数据,从而将多帧图像数据依次在应用界面中展出,实现“照镜子”的功能。
根据智能电视所启动的应用,部分应用需要对摄像头采集的数据执行AI算法,即通过AI算法从摄像头采集的图像数据中识别出人脸、肢体动作等目标,以实现更加丰富的功能。通过AI算法可以生成AI数据,由于AI数据不同于图像数据,需要独立的传输协议或通道,难以确定图像与AI算法结果之间的对应关系,导致智能电视在使用图像数据和AI数据进行显示时无法对齐。
发明内容
本申请提供了一种显示设备、摄像头以及AI数据同步传输方法,以解决传统AI数据传输方法容易出现图像和AI数据无法对齐引起的应用显示错误的问题。
第一方面,本申请提供一种显示设备,包括:显示器、外部装置接口以及控制器。其中,所述显示器被配置为呈现用户界面;所述外部装置接口被配置为连接摄像头,所述摄像头内置AI算法模型,被配置为采集图像数据以及将所述图像数据输入所述AI算法模型,以生成AI数据;
所述控制器被配置为执行以下程序步骤:
从所述摄像头获取图像数据和AI数据,所述图像数据包括多帧图像,每帧图像带有索引ID,所述AI数据包括多个AI算法包,每个所述AI算法包带有索引ID;
解析所述图像数据,以获得每帧图像的所述索引ID;
根据所述索引ID在所述AI数据中查找每帧图像对应的AI算法包;
控制所述显示器根据所述图像数据和AI算法包显示画面。
第二方面,本申请提供一种显示设备,包括:显示器、摄像头以及控制器。其中,所述显示器被配置为呈现用户界面;所述摄像头内置AI算法模型,被配置为采集图像数据以及将所述图像数据输入所述AI算法模型,以生成AI数据;
所述控制器被配置为执行以下程序步骤:
从所述摄像头获取图像数据和AI数据,所述图像数据包括多帧图像,每帧图像带有索引ID,所述AI数据包括多个AI算法包,每个所述AI算法包带有索引ID;
解析所述图像数据,以获得每帧图像的所述索引ID;
根据所述索引ID在所述AI数据中查找每帧图像对应的AI算法包;
控制所述显示器根据所述图像数据和AI算法包显示画面。
由以上技术方案可知,本申请提供的显示设备包括显示器以及控制器,并外接或内置有摄像头。其中,控制器可以从摄像头获取图像数据和AI数据,并对图像数据进行解析,以获得每帧图像的索引ID。再根据索引ID在AI数据中查找每帧图像对应的AI算法包,最后根据图像数据和AI算法包控制显示器的显示画面。所述显示设备可以通过索引ID建立图像数据和AI数据之间的对应关系,从而在调用图像数据时,可根据索引ID确定对应的AI数据,解决摄像头数据传输图像和AI算法结果无法对齐问题。
第三方面,本申请还提供一种摄像头,所述摄像头可应用于显示设备,包括:镜头组件和AI模块。其中,所述镜头组件用于拍摄图像数据;所述AI模块内置AI算法模型,可生成AI算法结果。所述AI模块被进一步配置为执行以下程序步骤:
通过所述镜头组件获取图像数据,所述图像数据包括多帧图像;
将所述图像数据中的多帧图像逐一输入所述AI算法模型,以生成结果文件;
为每一帧图像设置索引ID;
根据所述索引ID与所述结果文件生成AI数据,所述AI数据包括多个AI算法包,每个所述AI算法包带有索引ID;
向所述显示设备发送所述图像数据和所述AI数据。
由以上技术方案可知,本申请提供的摄像头可外接或内置于显示设备中,包括镜头组件和AI模块。AI模块可以通过镜头组件获取图像数据,并将图像数据中的多帧图像逐一输入AI算法模型,以生成结果文件。再为每一帧图像设置索引ID以及根据索引ID与结果文件生成AI数据,以便向显示设备发送图像数据和AI数据。所述摄像头可以在执行AI算法后,分别为图像数据和AI数据添加索引ID,以建立每帧图像与AI算法包之间的关联关系,便于显示设备调用图像数据时能够获得正确的AI数据,解决摄像头数据传输图像和AI算法结果无法对齐问题。
第四方面,本申请还提供一种AI数据同步传输方法,应用于显示设备,所述显示设备内置或外接有摄像头,所述摄像头内置AI算法模型,所述传输方法包括:
从所述摄像头获取图像数据和AI数据,所述图像数据包括多帧图像,每帧图像带有索引ID,所述AI数据包括多个AI算法包,每个所述AI算法包带有索引ID;
解析所述图像数据,以获得每帧图像的索引ID;
根据所述索引ID在所述AI数据中查找每帧图像对应的AI算法包;
根据所述图像数据和AI算法包显示画面。
由以上技术方案可知,本申请提供的AI数据同步传输方法可以在摄像头采集图像数据以及生成AI数据后,通过索引ID建立图像数据和AI数据之间的关联关系,从而在显示画面前可以根据索引ID在AI数据中查找每帧图像对应的AI算法包,以最终生成显示画面。可见,通过所述传输方法可以缓解图像数据对应的画面与AI数据对应画面之间不匹配的情况,保证画面的正确显示,解决摄像头数据传输图像和AI算法结果无法对齐问题。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中显示设备与控制装置之间操作场景的示意图;
图2为本申请实施例中显示设备的硬件配置框图;
图3为本申请实施例中控制设备的硬件配置框图;
图4为本申请实施例中显示设备软件配置示意图;
图5为本申请实施例中显示设备应用程序的图标控件界面显示示意图;
图6为本申请实施例中显示设备与摄像头结构示意图;
图7为本申请实施例中AI数据同步传输方法的流程示意图;
图8为本申请实施例中摄像头设置索引ID的流程示意图;
图9为本申请实施例中显示设备还原图像数据的流程示意图;
图10为本申请实施例中显示基础画面的流程示意图;
图11为本申请实施例中显示AI结果画面的流程示意图;
图12为本申请实施例中摄像头发送数据的流程示意图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(Unless otherwise indicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
本申请中使用的术语“遥控器”,是指电子设备(如本申请中公开的显示设备)的一个组件,通常可在较短的距离范围内无线控制电子设备。一般使用红外线和/或射频(RF)信号和/或蓝牙与电子设备连接,也可以包括WiFi、无线USB、蓝牙、动作传感器等功能模块。例如:手持式触摸遥控器,是以触摸屏中用户界面取代一般遥控装置中的大部分物理内置硬键。
本申请中使用的术语“手势”,是指用户通过一种手型的变化或手部运动等动作,用于表达预期想法、动作、目的/或结果的用户行为。
图1中示例性示出了根据实施例中显示设备与控制装置之间操作场景的示意图。如图1中示出,用户可通过移动终端300和控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键,语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。
在一些实施例中,也可以使用移动终端、平板电脑、计算机、笔记本电脑、和其他智能设备以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,在直观的用户界面(UI)中为用户提供各种控制。
在一些实施例中,移动终端300可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以实现用移动终端300与显示设备200建立控制指令协议,将遥控控制键盘同步到移动终端300上,通过控制移动终端300上用户界面,实现控制显示设备200的功能。也可以将移动终端300上显示音视频内容传输到显示设备200上,实现同步显示功能。
如图1中还示出,显示设备200还与服务器400通过多种通信方式进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。示例的,显示设备200通过发送和接收信息,以及电子节目指南(EPG)互动,接收软件程序更新,或访问远程储存的数字媒体库。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。通过服务器400提供视频点播和广告服务等其他网络服务内容。
显示设备200,可以液晶显示器、OLED显示器、投影显示设备。具体显示设备类型,尺寸大小和分辨率等不作限定,本领技术人员可以理解的是,显示设备200可以根据需要做性能和配置上一些改变。
显示设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能,包括但不限于,网络电视、智能电视、互联网协议电视(IPTV)等。
图2中示例性示出了根据示例性实施例中显示设备200的硬件配置框图。
在一些实施例中,显示设备200中包括控制器250、调谐解调器210、通信器220、检测器230、输入/输出接口255、显示器275,音频输出接口285、存储器260、供电电源290、用户接口265、外部装置接口240中的至少一种。
在一些实施例中,显示器275,用于接收源自第一处理器输出的图像信号,进行显示视频内容和图像以及菜单操控界面的组件。
在一些实施例中,显示器275,包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件。
在一些实施例中,显示视频内容,可以来自广播电视内容,也可以是说,可通过有线或无线通信协议接收的各种广播信号。或者,可显示来自网络通信协议接收来自网络服务器端发送的各种图像内容。
在一些实施例中,显示器275用于呈现显示设备200中产生且用于控制显示设备200的用户操控UI界面。
在一些实施例中,根据显示器275类型不同,还包括用于驱动显示的驱动组件。
在一些实施例中,显示器275为一种投影显示器,还可以包括一种投影装置和投影屏幕。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信器可以包括Wifi芯片,蓝牙通信协议芯片,有线以太网通信协议芯片等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。
在一些实施例中,显示设备200可以通过通信器220与外部控制设备100或内容提供设备之间建立控制信号和数据信号发送和接收。
在一些实施例中,用户接口265,可用于接收控制装置100(如:红外遥控器等)红外控制信号。
在一些实施例中,检测器230是显示设备200用于采集外部环境或与外部交互的信号。
在一些实施例中,检测器230包括光接收器,用于采集环境光线强度的传感器,可以通过采集环境光可以自适应性显示参数变化等。
在一些实施例中,检测器230还可以包括图像采集器,如相机、摄像头等,可以用于采集外部环境场景,以及用于采集用户的属性或与用户交互手势,可以自适应变化显示参数,也可以识别用户手势,以实现与用户之间互动的功能。
在一些实施例中,检测器230还可以包括温度传感器等,如通过感测环境温度。
在一些实施例中,显示设备200可自适应调整图像的显示色温。如当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调,或当温度偏低的环境时,可以调整显示设备200显示图像偏暖色调。
在一些实施例中,检测器230还可声音采集器等,如麦克风,可以用于接收用户的声音。示例性的,包括用户控制显示设备200的控制指令的语音信号,或采集环境声音,用于识别环境场景类型,使得显示设备200可以自适应适应环境噪声。
在一些实施例中,如图2所示,输入/输出接口255被配置为,可进行控制器250与外部其他设备或其他控制器250之间的数据传输。如接收外部设备的视频信号数据和音频信号数据、或命令指令数据等。
在一些实施例中,外部装置接口240可以包括,但不限于如下:可以高清多媒体接口HDMI接口、模拟或数据高清分量输入接口、复合视频输入接口、USB输入接口、RGB端口等任一个或多个接口。也可以是上述多个接口形成复合性的输入/输出接口。
在一些实施例中,如图2所示,调谐解调器210被配置为,通过有线或无线接收方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,从多多个无线或有线广播电视信号中解调出音视频信号,该音视频信号可以包括用户所选择电视频道频率中所携带的电视音视频信号,以及EPG数据信号。
在一些实施例中,调谐解调器210解调的频点受到控制器250的控制,控制器250可根据用户选择发出控制信号,以使的调制解调器响应用户选择的电视信号频率以及调制解调该频率所携带的电视信号。
在一些实施例中,广播电视信号可根据电视信号广播制式不同区分为地面广播信号、有线广播信号、卫星广播信号或互联网广播信号等。或者根据调制类型不同可以区分为数字调制信号,模拟调制信号等。或者根据信号种类不同区分为数字信号、模拟信号等。
在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。这样,机顶盒将接收到的广播电视信号调制解调后的电视音视频信号输出给主体设备,主体设备经过第一输入/输出接口接收音视频信号。
在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示UI对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接或图标。与所选择的对象有关操作,例如:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。用于选择UI对象用户命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。
如图2所示,控制器250包括随机存取存储器251(Random Access Memory,RAM)、只读存储器252(Read-Only Memory,ROM)、视频处理器270、音频处理器280、其他处理器253(例如:图形处理器(Graphics Processing Unit,GPU)、中央处理器254(CentralProcessing Unit,CPU)、通信接口(Communication Interface),以及通信总线256(Bus)中的至少一种。其中,通信总线连接各个部件。
在一些实施例中,RAM 251用于存储操作系统或其他正在运行中的程序的临时数据在一些实施例中,ROM 252用于存储各种系统启动的指令。
在一些实施例中,ROM 252用于存储一个基本输入输出系统,称为基本输入输出系统(Basic Input Output System,BIOS)。用于完成对系统的加电自检、系统中各功能模块的初始化、系统的基本输入/输出的驱动程序及引导操作系统。
在一些实施例中,在收到开机信号时,显示设备200电源开始启动,CPU运行ROM252中系统启动指令,将存储在存储器的操作系统的临时数据拷贝至RAM 251中,以便于启动或运行操作系统。当操作系统启动完成后,CPU再将存储器中各种应用程序的临时数据拷贝至RAM 251中,然后,以便于启动或运行各种应用程序。
在一些实施例中,处理器254,用于执行存储在存储器中操作系统和应用程序指令。以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。
在一些示例性实施例中,处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及一个或多个子处理器。主处理器,用于在预加电模式中执行显示设备200一些操作,和/或在正常模式下显示画面的操作。一个或多个子处理器,用于在待机模式等状态下一种操作。
在一些实施例中,图形处理器253,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
在一些实施例中,视频处理器270被配置为将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等等视频处理,可得到直接可显示设备200上显示或播放的信号。
在一些实施例中,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入MPEG-2,则解复用模块进行解复用成视频信号和音频信号等。
视频解码模块,则用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
帧率转换模块,用于对转换输入视频帧率,如将60Hz帧率转换为120Hz帧率或240Hz帧率,通常的格式采用如插帧方式实现。
显示格式化模块,则用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出RGB数据信号。
在一些实施例中,图形处理器253可以和视频处理器可以集成设置,也可以分开设置,集成设置的时候可以执行输出给显示器的图形信号的处理,分离设置的时候可以分别执行不同的功能,例如GPU+FRC(Frame Rate Conversion))架构。
在一些实施例中,音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。
在一些实施例中,视频处理器270可以包括一颗或多颗芯片组成。音频处理器,也可以包括一颗或多颗芯片组成。
在一些实施例中,视频处理器270和音频处理器280,可以单独的芯片,也可以于控制器一起集成在一颗或多颗芯片中。
在一些实施例中,音频输出,在控制器250的控制下接收音频处理器280输出的声音信号,如:扬声器286,以及除了显示设备200自身携带的扬声器之外,可以输出至外接设备的发生装置的外接音响输出端子,如:外接音响接口或耳机接口等,还可以包括通信接口中的近距离通信模块,例如:用于进行蓝牙扬声器声音输出的蓝牙模块。
供电电源290,在控制器250控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以包括安装显示设备200内部的内置电源电路,也可以是安装在显示设备200外部电源,在显示设备200中提供外接电源的电源接口。
用户接口265,用于接收用户的输入信号,然后,将接收用户输入信号发送给控制器250。用户输入信号可以是通过红外接收器接收的遥控器信号,可以通过网络通信模块接收各种用户控制信号。
在一些实施例中,用户通过控制装置100或移动终端300输入用户命令,用户输入接口则根据用户的输入,显示设备200则通过控制器250响应用户的输入。
在一些实施例中,用户可在显示器275上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
存储器260,包括存储用于驱动显示设备200的各种软件模块。如:第一存储器中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等中的至少一种。
基础模块用于显示设备200中各个硬件之间信号通信、并向上层模块发送处理和控制信号的底层软件模块。检测模块用于从各种传感器或用户输入接口中收集各种信息,并进行数模转换以及分析管理的管理模块。
例如,语音识别模块中包括语音解析模块和语音指令数据库模块。显示控制模块用于控制显示器进行显示图像内容的模块,可以用于播放多媒体图像内容和UI界面等信息。通信模块,用于与外部设备之间进行控制和数据通信的模块。浏览器模块,用于执行浏览服务器之间数据通信的模块。服务模块,用于提供各种服务以及各类应用程序在内的模块。同时,存储器260还用存储接收外部数据和用户数据、各种用户界面中各个项目的图像以及焦点对象的视觉效果图等。
图3示例性示出了根据示例性实施例中控制设备100的配置框图。如图3所示,控制设备100包括控制器110、通信接口130、用户输入/输出接口、存储器、供电电源。
控制设备100被配置为控制显示设备200,以及可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。如:用户通过操作控制设备100上频道加减键,显示设备200响应频道加减的操作。
在一些实施例中,控制设备100可是一种智能设备。如:控制设备100可根据用户需求安装控制显示设备200的各种应用。
在一些实施例中,如图1所示,移动终端300或其他智能电子设备,可在安装操控显示设备200的应用之后,可以起到控制设备100类似功能。如:用户可以通过安装应用,在移动终端300或其他智能电子设备上可提供的图形用户界面的各种功能键或虚拟按钮,以实现控制设备100实体按键的功能。
控制器110包括处理器112和RAM 113和ROM 114、通信接口130以及通信总线。控制器用于控制控制设备100的运行和操作,以及内部各部件之间通信协作以及外部和内部的数据处理功能。
通信接口130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:将接收到的用户输入信号发送至显示设备200上。通信接口130可包括WiFi芯片131、蓝牙模块132、NFC模块133等其他近场通信模块中至少之一种。
用户输入/输出接口140,其中,输入接口包括麦克风141、触摸板142、传感器143、按键144等其他输入接口中至少一者。如:用户可以通过语音、触摸、手势、按压等动作实现用户指令输入功能,输入接口通过将接收的模拟信号转换为数字信号,以及数字信号转换为相应指令信号,发送至显示设备200。
输出接口包括将接收的用户指令发送至显示设备200的接口。在一些实施例中,可以红外接口,也可以是射频接口。如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。
在一些实施例中,控制设备100包括通信接口130和输入输出接口140中至少一者。控制设备100中配置通信接口130,如:WiFi、蓝牙、NFC等模块,可将用户输入指令通过WiFi协议、或蓝牙协议、或NFC协议编码,发送至显示设备200.
存储器190,用于在控制器的控制下存储驱动和控制控制设备200的各种运行程序、数据和应用。存储器190,可以存储用户输入的各类控制信号指令。
供电电源180,用于在控制器的控制下为控制设备100各元件提供运行电力支持。可以电池及相关控制电路。
在一些实施例中,系统可以包括内核(Kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
参见图4,在一些实施例中,将系统分为四层,从上至下分别为应用程序(Applications)层(简称“应用层”),应用程序框架(Application Framework)层(简称“框架层”),安卓运行时(Android runtime)和系统库层(简称“系统运行库层”),以及内核层。
在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(Window)程序、系统设置程序、时钟程序、相机应用等;也可以是第三方开发者所开发的应用程序,比如嗨见程序、K歌程序、魔镜程序等。在具体实施时,应用程序层中的应用程序包不限于以上举例,实际还可以包括其它应用程序包,本申请实施例对此不做限制。
框架层为应用程序层的应用程序提供应用编程接口(application programminginterface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过API接口,可在执行中访问系统中的资源和取得系统的服务
如图4所示,本申请实施例中应用程序框架层包括管理器(Managers),内容提供者(Content Provider)等,其中管理器包括以下模块中的至少一个:活动管理器(ActivityManager)用与和系统中正在运行的所有活动进行交互;位置管理器(Location Manager)用于给系统服务或应用提供了系统位置服务的访问;文件包管理器(Package Manager)用于检测当前安装在设备上的应用程序包相关的各种信息;通知管理器(NotificationManager)用于控制通知消息的显示和清除;窗口管理器(Window Manager)用于管理用户界面上的括图标、窗口、工具栏、壁纸和桌面部件。
在一些实施例中,活动管理器用于:管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出(包括将显示窗口中当前显示的用户界面切换到系统桌面)、打开、后退(包括将显示窗口中当前显示的用户界面切换到当前显示的用户界面的上一级用户界面)等。
在一些实施例中,窗口管理器用于管理所有的窗口程序,比如获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。
在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的C/C++库以实现框架层要实现的功能。
在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,触摸传感器、压力传感器等)等。
在一些实施例中,内核层还包括用于进行电源管理的电源驱动模块。
在一些实施例中,图4中的软件架构对应的软件程序和/或模块存储在图2或图3所示的第一存储器或第二存储器中。
在一些实施例中,以魔镜应用(拍照应用)为例,当遥控接收装置接收到遥控器输入操作,相应的硬件中断被发给内核层。内核层将输入操作加工成原始输入事件(包括输入操作的值,输入操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,根据焦点当前的位置识别该输入事件所对应的控件以及以该输入操作是确认操作,该确认操作所对应的控件为魔镜应用图标的控件,魔镜应用调用应用框架层的接口,启动魔镜应用,进而通过调用内核层启动摄像头驱动,实现通过摄像头捕获静态图像或视频。
在一些实施例中,对于具备触控功能的显示设备,以分屏操作为例,显示设备接收用户作用于显示屏上的输入操作(如分屏操作),内核层可以根据输入操作产生相应的输入事件,并向应用程序框架层上报该事件。由应用程序框架层的活动管理器设置与该输入操作对应的窗口模式(如多窗口模式)以及窗口位置和大小等。应用程序框架层的窗口管理根据活动管理器的设置绘制窗口,然后将绘制的窗口数据发送给内核层的显示驱动,由显示驱动在显示屏的不同显示区域显示与之对应的应用界面。
在一些实施例中,如图5中所示,应用程序层包含至少一个应用程序可以在显示器中显示对应的图标控件,如:直播电视应用程序图标控件、视频点播应用程序图标控件、媒体中心应用程序图标控件、应用程序中心图标控件、游戏应用图标控件等。
在一些实施例中,直播电视应用程序,可以通过不同的信号源提供直播电视。例如,直播电视应用程可以使用来自有线电视、无线广播、卫星服务或其他类型的直播电视服务的输入提供电视信号。以及,直播电视应用程序可在显示设备200上显示直播电视信号的视频。
在一些实施例中,视频点播应用程序,可以提供来自不同存储源的视频。不同于直播电视应用程序,视频点播提供来自某些存储源的视频显示。例如,视频点播可以来自云存储的服务器端、来自包含已存视频节目的本地硬盘储存器。
在一些实施例中,媒体中心应用程序,可以提供各种多媒体内容播放的应用程序。例如,媒体中心,可以为不同于直播电视或视频点播,用户可通过媒体中心应用程序访问各种图像或音频所提供服务。
在一些实施例中,应用程序中心,可以提供储存各种应用程序。应用程序可以是一种游戏、应用程序,或某些和计算机系统或其他设备相关但可以在智能电视中运行的其他应用程序。应用程序中心可从不同来源获得这些应用程序,将它们储存在本地储存器中,然后在显示设备200上可运行。
基于上述显示设备200,如图6所示,可以通过摄像头500获取图像数据。摄像头500可以作为一种检测器230内置于显示设备200中,也可以作为一种外部装置外接在显示设备200上。对于外接在显示设备200的摄像头500,可以将摄像头500连接至显示设备200的外部装置接口240,接入显示设备200。
摄像头500可以进一步包括镜头组件,镜头组件中设有感光元件(sensor)和透镜。透镜可以通过多个镜片对光线的折射作用,使景物的图像的光能够照射在感光元件上。感光元件可以根据摄像头500的规格选用基于CCD(Charge-coupled Device,电荷耦合器件)或CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)的检测原理,通过光感材料将光信号转化为电信号,并将转化后的电信号输出成图像数据。摄像头500还可以按照设定的采样频率逐帧获取图像数据,以根据图像数据形成视频流数据。
摄像头500还可以内置AI模块,用于对镜头组件采集的图像数据进行AI算法处理。其中,AI(Artificial Intelligence,人工智能)算法是通过AI模型对采集的图像数据中的内容进行识别或分类,以根据图像数据输出识别结果或分类概率。例如,可以通过AI算法确定图像中的人脸或者肢体目标在图像中的位置等。
为了执行AI算法,在AI模块中可以内置有微处理器以及与AI模型相关的存储单元等。微处理器可以在镜头组件获得图像数据后,从存储单元中调用AI模型,并将图像数据输入AI模型,以获得AI模型的输出结果,即AI算法结果。
其中,AI模型可以是根据机器学习原理构建的神经网络模型,根据不同的应用场景,AI算法根据图像数据输出的处理结果也不同。AI模型可以根据不同应用场景下的训练样本数据进行训练获得。AI模型的训练过程可以按照神经网络模型的训练方式进行。即在初始AI模型中输入大量带有标签的训练样本数据,训练样本数据输入初始化的AI模型后,AI模型会输出结果。再通过对比AI模型输出结果与训练样本数据标签之间的误差,以误差最小化为基准进行反向传播,调整AI模型中的模型参数。
通过将一定量的训练样本数据输入AI模型,反复多次调节模型参数,使得AI模型的输出结果可以逐渐接近于标签,在误差小于许可值后,完成模型训练。训练后的AI模型可以直接将训练后的模型进行输出,从而使微处理器可以在调用AI模型后,通过输入数据获得AI算法结果。
由于模型训练的数据处理量较大,因此可以通过独立训练单元完成模型训练,并将训练好的AI模型发送给摄像头500。显然,不同应用需求下,所使用的AI模型也不同,因此在摄像头500中,还可以通过存储单元存储多个AI模型,在不同的应用需求时,调用不同的AI模型。
在一些实施例中,AI模型可以通过专用的服务器400为摄像头500远程配置,即摄像头500可以通过网络或显示设备200的通信器连接至服务器400,再从服务器400获得AI模型,并保存在存储单元内。AI模型可以在存储单元中永久保存,也可以在存储单元中暂存,即在开机期间保持存储,而在关机后自动删除。AI模型则可以通过服务器400统一进行更新维护,从而使每个摄像头500调用的AI模型是最新的,提高AI算法结果的准确性。
AI模型输出的结果可以被显示设备200中的部分应用进行调用,并解析出具体的数据。应用可以根据AI算法结果生成具体的显示画面内容,以便展示出带有AI算法结果的画面内容;应用还可以将AI算法结果添加至任一其他算法,作为初始或中间数据以获得其他类型数据。
AI模型输出的结果,可以根据应用需要的不同,设置为不同格式。例如,在部分应用中,AI算法结果可以是对图像中人脸或肢体位置的识别结果,则输出的结果数据中包括位置坐标或位置范围坐标集合。在部分应用中,AI算法结果还可以是对图像进行分类的分类概率。为了便于应用调用,AI算法结果可以为json格式字符串,应用可以在获取后直接解析获得原始数据。
所述应用是指安装在显示设备200中的软件程序,应用可以使用摄像头500采集的图像数据,并根据设计需要,实现特定的功能。例如,“照镜子”应用可以在启动运行后,通过调用摄像头500获取图像数据,并将图像数据实时显示在应用界面中,从而达到照镜子的效果。部分应用可以使用摄像头500输出的AI算法结果,实现进一步功能。例如,照镜子应用可以在显示图像时,根据人像识别的AI算法结果,在图像中人脸位置处显示方框,以展示人脸位置。
在一些实施例中,应用还可以利用多个AI模型输出的AI算法结果,以便根据多个AI算法结果实现更加复杂的内容。例如,照镜子应用还可以在人脸区域显示方框以后,通过年龄识别相关的AI算法结果,对框内的人脸图像对应的年龄进行识别,以便在图像画面中显示年龄相关的内容。
实际应用中,可以在摄像头500的AI模块中完成AI算法处理后,再将算法结果发送给显示设备200,以便显示设备200能够直接利用算法结果数据生成显示画面,以此来减小AI算法对其他数据处理过程造成的影响。对于这种处理方式,需要将摄像头500端生成的AI数据和图像数据同时发送到显示设备200中。
通常,摄像头500采集的图像数据需要通过图像相关的协议进行传输,例如通过H264或MJPG(Motion Joint Photographic Experts Group)进行传输,而AI算法结果则需要通过另一种协议进行传输,例如通过UVC(USB Video Class,USB视频类)协议传输。由于两者是不同的通信协议,因此显示设备200对两种数据需单独进行接收处理。
即显示设备200在接收到H264或MJPG协议传输的数据流后,会送到专门DSP(Digital Signal Process,数字信号处理)中进行解码,例如将图像数据解码成YUV420格式的图片。解码后的图片仅仅包含图像信息,无法携带AI算法结果,也就无法确定图片和AI结果的对应关系,导致显示设备200的应用在使用图像数据和AI数据时无法同步(对齐),容易造成显示不对齐问题。例如,会出现方框不在图像上人脸位置的问题。
为了改善显示不对齐的问题,在一些实施方式中,可以在摄像头500运行AI算法获得AI数据后,在摄像头500端直接进行图像合成处理。即通过摄像头500中的AI模块将AI算法结果应用至图像数据,并向显示设备200直接传输合成后的图像数据。例如,把方框直接添加到需要传输的图像上,然后经过H264编码发送给显示设备200。但是这种处理方式显示设备200收到的图像数据是合成后的图片,无法单独收到AI算法结果,限制了显示设备200的应用范围。
为此,本申请的部分实施例中提供一种AI数据同步传输方法,用于在图像数据与AI数据之间建立关联关系。所述AI数据同步传输方法可应用于显示设备200,其中,显示设备200内置或外接有摄像头500,并且摄像头500中内置有AI算法模型,并可以执行AI算法。如图7所示,所述传输方法包括以下步骤:
S110:从所述摄像头获取图像数据和AI数据。
显示设备200在开机运行后,如果需要使用摄像头500,则可以向摄像头500发送唤醒指令,以启动摄像头500。摄像头500在启动后,一方面可以通过镜头组件采集图像数据,另一方面可以通过AI模块对图像数据执行AI算法,以生成AI数据。
摄像头500在获取图像数据和AI数据后,还可以在图像数据和AI数据中添加索引ID。即摄像头500采集的图像数据中包括多帧图像,并且每帧图像带有索引ID。摄像头500生成的AI数据中包括多个AI算法包,并且每个AI算法包带有索引ID。
添加了索引ID后的图像数据和AI数据可以分别通过各自的传输协议发送给显示设备200。例如,图像数据通过H264或MJPG协议形成数据流,发送至显示设备200;AI数据通过UVC XU协议传输至显示设备200。
S120:解析所述图像数据,以获得每帧图像的索引ID。
在从摄像头500获取图像数据和AI数据后,显示设备200可以对图像数据进行解析。通过对图像数据的解析,可以将图像数据中所包含的图片逐一进行提取,确定每一帧图像对应的索引ID。
索引ID一方面可以对每一帧图像进行标识,另一方面可以作为后续查询AI数据的索引值,因此每一帧图像应具有唯一的索引ID。为了能够对每帧图像进行标识,所述索引ID可以为根据图像拍摄时间生成的预设长度字符串。例如,摄像头500在2020年7月30日20:49:33拍摄到一帧图像,则其对应的索引ID可以为“20200730204933”。
显然,根据摄像头500的图像采集原理,摄像头500通常可以在1s钟内采集多张图像,因此还需要根据摄像头500的采样率(或传输帧率),以更精确的拍摄时间设置索引ID。例如,对于视频类的图像数据,图像传输帧率最大为30帧,则拍摄时间应精确到毫秒级,才能保证每张图像具有唯一的索引ID,例如,摄像头500在2020年7月30日20:49:33:000拍摄到一帧图像,则其对应的索引ID可以为“20200730204933000”。
S130:根据所述索引ID在所述AI数据中查找每帧图像对应的AI算法包。
在获得每一帧图像的索引ID后,显示设备200还可以根据索引ID在AI数据中进行查询,以便在AI数据中确定与当前图像具有相同索引ID的AI算法包。例如,通过对图像数据的解析,获得其中一帧图像的索引ID为“20200730204933000”,则显示设备200可以这一索引ID作为索引值在AI数据中进行查询,确定索引ID同样为“20200730204933000”的AI算法包,即可确定当前图像所对应的AI算法结果。
同理,可以按照上述查询方法,对图像数据中的全部图像进行查询,以确定每一帧图像对应的AI算法结果。通常,摄像头500可以按照图像采集的时间顺序将每一帧图像依次输入AI算法模型中,进而按照拍摄时间顺序依次生成AI算法包。因此,为了减少数据处理量,可以在首帧图像通过索引ID确定关联的AI算法包以后,按照拍摄顺序依次建立后续图像与后续AI算法包之间的关联关系,即在部分实施例中,可以无需对每一帧图像都按照索引ID进行查询。
另外,由于AI算法的差异,在部分情况下会出现图像数据中的图像帧数与AI数据中的AI算法包数量不相同的情况。因此,为了在保证同步性的前提下减少数据处理量,在部分实施例中还可以按照设定的频率进行查询。即按照设定的时间间隔或者图像帧数间隔执行根据索引ID在AI数据中查找每帧图像对应的AI算法包的步骤。
例如,可以设定每间隔1s进行一次查询,以确定其中一帧图像与一个AI算法包之间的关联关系,并将在本次查询过程之后至下一次查询过程开始前,这一时段的图像按照拍摄顺序依次与AI算法包之间建立关联关系。即关联关系每1s钟重新确定一次,既能够保证较好的同步性,又能够减少数据处理量。
S140:根据所述图像数据和AI算法包显示画面。
在确定图像数据中每帧图像与AI数据中每个AI算法包之间的关联关系后,显示设备200可以根据图像数据和AI算法包生成具体的画面,并在显示器275上进行显示。例如,显示设备200可以根据图像数据中的每一帧图像在显示器275上呈现照片画面,同时从AI算法包中提取AI算法结果,并生成方框画面,从而在照片画面中的人脸位置上显示方框。
同样,对于视频类的图像数据,显示设备200可以逐帧在图像数据中提取图像进行显示,同时在每一帧图像对应的AI算法包中提取AI算法结果,并根据AI算法结果调整显示的图像,使AI算法结果画面与图像保持同步显示,从而在视频画面中也能够显示AI算法结果对应的画面。
由以上技术方案可知,上述实施例中提供的AI数据同步传输方法可以在摄像头采集图像数据以及生成AI数据后,通过索引ID建立图像数据和AI数据之间的关联关系,从而在显示画面前可以根据索引ID在AI数据中查找每帧图像对应的AI算法包,以最终确定显示画面。可见通过所述传输方法可以缓解图像数据对应的画面与AI数据对应画面之间不匹配的情况,保证画面的正确显示,解决摄像头数据传输图像和AI算法结果无法对齐问题。
在上述实施例中,由于不同类型的数据具有不同的格式,例如,图像数据可以采用YUV或RAW格式,而AI数据通常为封装有AI算法结果文本的离散数据包。因此,在添加索引ID时,应尽量保留数据的原始格式,以便能够按照原始格式相适应的方式对数据进行传输。
即在一些实施例中,所述图像数据中每帧图像指定位置上的图像原数据被所述索引ID替换;所述AI算法包中包括所述索引ID、所述AI算法模型的输出结果以及所述图像数据中被替换的原数据。
如图8所示,对于摄像头500,可以在设置索引ID时,根据预先指定的替换方式将图像数据中的部分原数据替换为索引ID。例如,摄像头500中的图像可以采用YUV或RAW格式,则将每一帧图像的第一行最右边17个字节替换为索引ID,并将带着索引ID的图像数据经过H264编码后传输到显示设备200。
在将图像数据中的部分原数据替换为索引ID后,摄像头500还可以将被替换的原数据与索引ID以及AI算法结果数据统一进行打包,以便在AI算法包中保留图像数据中被替换的原数据。例如,摄像头500可以将上述示例中当前图像的索引ID、被替换的17个字节原数据和当前图像对应的AI算法结果打包在一起,并通过UVC XU协议传输到显示设备200。
按照上述索引ID的添加方式,可以在不改变图像数据格式的前提下,为图像数据添加索引ID,使图像数据仍然能够适应原有的数据传输形式。并且,由于摄像头500送出的图像数据和AI数据中均包含了索引ID,因此为后续显示设备200对图像和AI算法结果的同步提供基础。
相应的,显示设备200还需要按照上述索引ID添加方式相适应的方式对图像数据进行还原。即如图9所示,在本申请的部分实施例中,根据所述索引ID在所述AI数据中查找每帧图像对应的AI算法包的步骤还包括:
S131:根据当前帧图像的所述索引ID查找目标AI算法包,所述目标AI算法包与当前帧图像具有相同的索引ID;
S132:在所述目标AI算法包中提取被替换的原数据;
S133:将被替换的原数据添加至当前帧图像,以还原所述当前帧图像。
在显示设备200显示图像数据和AI数据任一帧图像对应的显示画面之前,可以先根据当前帧图像的索引ID查找与其具有相同索引ID的AI算法包,作为目标AI算法包。再从目标算法包中提取被替换的原数据,从而将被替换的原数据添加至当前帧图像,将当前帧图像中标记的索引ID替换为原数据,以还原当前帧图像。
例如,显示设备200在收到H264协议传输的图像数据和UVC XU协议传输的AI数据后,先将图像数据和AI数据保存到内存中,以供摄像头应用使用。在摄像头应用使用相关数据时,摄像头应用可以先取出一帧图像的索引ID,并根据索引ID找到对应AI算法包,取出该帧图像中被替换的17个字节数据。从而将取出的17个字节数据回填到这一帧数据中,还原帧图像数据。
在上述示例中,显示设备200可以在运行摄像头应用时,使用图像数据和/或AI数据,即为了呈现具体的显示画面,显示设备200可以通过内置的应用程序界面显示图像数据和AI数据对应的画面内容。因此,如图10所示,在本申请的部分实施例中,控制所述显示器根据所述图像数据和AI算法包显示画面的步骤还包括:
S141:获取用户输入的应用启动指令;
S142:响应于所述应用启动指令,运行摄像头应用以显示应用界面;
S143:使用所述摄像头应用根据所述图像数据生成基础画面;
S144:控制所述显示器在所述应用界面中显示所述基础画面。
本实施例中,摄像头500可以在显示设备200启动摄像头应用后,自动开启并输出图像数据和/或AI数据。因此,用户可以在显示设备200启动运行后,通过控制装置100等交互设备输入应用启动指令,以启动摄像头应用。显示设备200在接收到应用启动指令后,可以响应于该应用启动指令,通过运行摄像头应用以显示应用界面。
例如,用户可以通过遥控器等控制装置100控制显示设备200启动“照镜子”应用,则在照镜子应用启动后,可以在显示器275上展示照镜子应用首页。其中,在照镜子应用首页包括用于实时显示具体图像内容的图像区、用于调整画面参数(如亮度、对比度、滤镜)的控制区以及用于向显示画面中附加内容(如衣服图案、装饰图案)的功能区等。图像区、控制区以及功能区中均包括多个控件,用户可以针对控件执行交互操作以实现其功能。
在显示应用界面后,显示设备200还可以通过运行摄像头应用,根据图像数据生成基础画面,并在应用界面中显示基础画面。例如,显示设备200可以将图像数据中的多帧图像进行解析,并在照镜子应用的图像区将解析的图像进行展示。
在显示基础画面后,显示设备200还可以通过运行摄像头应用根据AI数据对基础画面进行调整,例如向基础画面中添加图案、滤镜等。即如图11所示,在一些实施例中,控制所述显示器根据所述图像数据和AI算法包显示画面的步骤还包括:
S145:在所述AI算法包中提取AI结果文件;
S146:使用所述摄像头应用根据所述AI结果文件生成AI结果画面;
S147:控制所述显示器在所述应用的界面中显示所述AI结果画面。
在生成基础画面的同时,摄像头应用可以在AI算法包中提取AI结果文件,AI结果文件可以采用json格式,以便于解析并能够支持摄像头端多种算法结果获取。json(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式,json格式字符串采用完全独立于编程语言的文本格式来存储和表示数据。通过简洁和清晰的层次结构,使得易于机器解析和生成,并有效地提升网络传输效率。
提取AI结果画面后,显示设备200还可以通过运行摄像头应用根据AI结果文件生成AI结果画面,并在应用界面中显示生成的AI结果画面。例如,显示设备200在运行“照镜子”应用时,可通过人脸识别AI算法结果调整图像区中显示的画面。摄像头应用则根据解析规则,从结果文件中解析出人脸识别结果,即确定人脸在当前图像中的位置,如获取到人脸的json数据为:{"id":"1","score":"98","x":"642","y":"466","w":"234","h":"303"},其中“score”即人脸的置信度,x是人脸在显示器275的x轴坐标,y是人脸在显示器275的y轴坐标,w是宽度,h是高度。
应用可以根据上述AI算法结果数据确定人脸的位置,以便实现多种显示功能。如在确定人脸位置后,还可以根据识别结果中的人脸大小确定方框大小,从而在确定的人脸位置处显示方框,以在图像区中实时显示图像数据的同时,也将该方框进行显示。
基于上述AI数据同步传输方法,本申请的部分实施例中还提供一种显示设备200,用于执行上述AI数据同步传输方法,所述显示设备200包括:显示器275、摄像头500以及控制器250。其中,所述显示器275被配置为呈现用户界面;所述摄像头500内置AI算法模型,被配置为采集图像数据以及将所述图像数据输入所述AI算法模型,以生成AI数据。
所述控制器250被配置为执行以下程序步骤:
S110:从所述摄像头获取图像数据和AI数据,所述图像数据包括多帧图像,每帧图像带有索引ID,所述AI数据包括多个AI算法包,每个所述AI算法包带有索引ID;
S120:解析所述图像数据,以获得每帧图像的所述索引ID;
S130:根据所述索引ID在所述AI数据中查找每帧图像对应的AI算法包;
S140:控制所述显示器根据所述图像数据和AI算法包显示画面。
由以上技术方案可知,上述实施例提供的显示设备包括显示器275、摄像头500以及控制器250。其中,控制器250可以从摄像头500获取图像数据和AI数据,并对图像数据进行解析,以获得每帧图像的索引ID。再根据索引ID在AI数据中查找每帧图像对应的AI算法包,最后根据图像数据和AI算法包控制显示器275的显示画面。所述显示设200备可以通过索引ID建立图像数据和AI数据之间的对应关系,从而在调用图像数据时,可根据索引ID确定对应的AI数据,解决摄像头数据传输图像和AI算法结果无法对齐问题。
基于上述显示设备200,本申请的部分实施例中还提供一种摄像头500,所述摄像头500可应用于显示设备200。如图12所示,所示摄像头500包括:镜头组件和AI模块。其中,所述镜头组件用于拍摄图像数据;所述AI模块内置AI算法模型,可生成AI算法结果。所述AI模块被进一步配置为执行以下程序步骤:
S210:通过所述镜头组件获取图像数据,所述图像数据包括多帧图像。
摄像头500可以在显示设备200运行摄像头应用时被自动唤醒。即在显示设备200启动运行摄像头应用后,自动生成一个唤醒指令,并发送给摄像头500。摄像头500则在接收到唤醒指令后,开启镜头组件,以通过镜头组件获取图像数据。
显然,唤醒指令可以根据不同的摄像头应用类型,设置在启动运行摄像头应用时生成或者在需要使用摄像头500进行拍摄时生成。例如,对于部分即时通讯类应用,其在启动运行后可以不直接生成唤醒指令,而在用户操作选择进行视频通话时,生成唤醒指令,唤醒摄像头500获取图像数据。
S220:将所述图像数据中的多帧图像逐一输入所述AI算法模型,以生成结果文件。
在获取图像数据后,摄像头500可以将图像数据中的多帧图像逐一输入AI算法模型,通过AI算法模型可以针对每一帧图像进行计算,最终输出AI算法结果。摄像头500还可以在AI算法模型输出AI算法结果后,将AI算法结果写入结果文件,以便能够对AI算法结果进行传输。
S230:为每一帧图像设置索引ID。
摄像头500在获取图像数据的同时,还可以为获取的图像数据中每一帧图像设置索引ID。例如,为每一帧图像添加17位字符串形式的索引ID,索引ID根据图像的拍摄时间生成。
需要说明的是,为图像设置索引ID的步骤可以在将图像输入AI模型前进行,即镜头组件只要获取图像就在获取的图像中添加索引ID,以便于实时获取用于生成索引ID的拍摄时间。为图像设置索引ID也可以在将图像输入AI模型的同时进行,即只有对输入AI模型的图像才设置索引ID,以此来减小摄像头500的数据处理量。
S240:根据所述索引ID与所述结果文件生成AI数据。
在将图像输入AI算法模型并设置索引ID后,摄像头500还可以将模型输出的结果文件与索引ID进行打包,生成AI数据。其中,所述AI数据包括多个AI算法包,每个所述AI算法包带有索引ID。
S250:向所述显示设备发送所述图像数据和所述AI数据。
最后,摄像头500可以分别将图像数据和AI数据发送到显示设备200,以使显示设备200能够从摄像头500获取图像数据和AI数据。在传输AI数据时,可以根据不同的应用需求,采用不同的传输方式。例如,显示设备200可以通过数据获取接口从摄像头500主动获取AI数据,即显示设备200可以先通过HIDL跨进程调用数据获取接口;再控制摄像头应用通过数据获取接口提取AI数据。即摄像头应用直接通过HIDL(HAL Interface DescriptionLanguage)跨进程调用Camera Control的get AiResult接口获取AI数据,从而返回值为json格式字符串,摄像头应用则在获取结果文件后直接解析即可。
显示设备200还可以通过数据回调接口从摄像头500被动接收AI数据。显示设备200可以先注册数据回调接口,并持续监听数据回调接口,如果摄像头500输出AI数据,将AI数据上抛给摄像头应用。即,应用通过注册Camera Control服务的set AiResult Callback回调,只要打开摄像头500后,Camera Control服务就会将读取到的结果上抛给注册监听的应用。上述两种传输方式,可以在启动运行摄像头应用后指定,也可以根据显示设备200的类型和摄像头500的数据交互情况预先设定。
在一些实施例中,如图8所示,为每一帧图像设置索引ID的步骤还包括:
S231:提取每一帧图像的拍摄时间;
S232:将所述拍摄时间转化为预设长度字符串,以生成所述索引ID;
S233:将所述图像数据中每帧图像指定位置上的图像原数据替换为所述索引ID;
S234:获取被替换的所述图像原数据;
S235:打包所述索引ID、所述图像原数据以及所述结果文件,生成所述AI算法包。
为了在图像数据以及AI数据中添加索引ID,本实施例可以在拍摄图像后,提取每一帧图像的拍摄时间,并将拍摄时间转化为预设长度的字符串,从而将图像数据中每帧图像指定位置上的图像原数据替换为该字符串,完成在图像数据中添加索引ID。
在一帧图像中添加索引ID后,摄像头500还可以获取被替换的图像原数据,并将索引ID、图像原数据以及结果文件进行打包,生成AI算法包,从而完成在AI数据中添加索引ID。
上述实施例可以在不改变图像数据格式的前提下,为图像数据添加索引ID,使图像数据仍然能够适应原有的数据传输形式,并且在摄像头500送出的图像数据和AI数据中包含索引ID,为后续显示设备200对图像和AI算法结果的同步提供基础。
在一些实施例中,提取每一帧图像的拍摄时间的步骤中,还可以对需要的索引ID的字符串长度进行判断,从而在能够区分多帧图像的前提下,尽可能减小数据处理量以及降低对硬件的精密度要求。
因此,在通过镜头组件拍摄图像前,还可以获取最大传输帧率,并根据所述最大传输帧率计算时间戳精度,以便按照所述时间戳精度提取每一帧图像的拍摄时间。例如,摄像头500的图像传输帧率最大为30帧,即1s内最多传输30帧图像,因此时间戳精度到毫秒级就能保证每张图像的索引ID是唯一的。相应的,毫秒级时间戳共需要17个字节,如:20200730204933000。
由以上技术方案可知,上述实施例中提供的摄像头500可外接或内置于显示设备200中,包括镜头组件和AI模块。AI模块可以通过镜头组件获取图像数据,并将图像数据中的多帧图像逐一输入AI算法模型,以生成结果文件。再为每一帧图像设置索引ID以及根据索引ID与结果文件生成AI数据,以便向显示设备200发送图像数据和AI数据。所述摄像头500可以在执行AI算法后,分别为图像数据和AI数据添加索引ID,以建立每帧图像与AI算法包之间的关联关系,便于显示设备200调用图像数据时能够获得正确的AI数据,解决摄像头数据传输图像和AI算法结果无法对齐问题。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。
Claims (10)
1.一种显示设备,其特征在于,包括:
显示器;
外部装置接口,被配置为连接摄像头,所述摄像头内置AI算法模型,被配置为采集图像数据以及将所述图像数据输入所述AI算法模型,以生成AI数据;
控制器,被配置为:
从所述摄像头获取图像数据和AI数据,所述图像数据包括多帧图像,每帧图像带有索引ID,所述AI数据包括多个AI算法包,每个所述AI算法包带有索引ID;
解析所述图像数据,以获得每帧图像的所述索引ID;
根据所述索引ID在所述AI数据中查找每帧图像对应的AI算法包;
控制所述显示器根据所述图像数据和AI算法包显示画面。
2.根据权利要求1所述的显示设备,其特征在于,所述索引ID为根据图像拍摄时间生成的预设长度字符串;所述图像数据中每帧图像指定位置上的图像原数据被所述索引ID替换;所述AI算法包中包括所述索引ID、所述AI算法模型的输出结果以及所述图像数据中被替换的原数据。
3.根据权利要求2所述的显示设备,其特征在于,根据所述索引ID在所述AI数据中查找每帧图像对应的AI算法包的步骤中,所述控制器被进一步配置为:
根据当前帧图像的所述索引ID查找目标AI算法包,所述目标AI算法包与当前帧图像具有相同的索引ID;
在所述目标AI算法包中提取被替换的原数据;
将被替换的原数据添加至当前帧图像,以还原所述当前帧图像。
4.根据权利要求1所述的显示设备,其特征在于,控制所述显示器根据所述图像数据和AI算法包显示画面的步骤中,所述控制器被进一步配置为:
获取用户输入的应用启动指令;
响应于所述应用启动指令,运行摄像头应用以显示应用界面;
使用所述摄像头应用根据所述图像数据生成基础画面;
控制所述显示器在所述应用界面中显示所述基础画面。
5.根据权利要求4所述的显示设备,其特征在于,控制所述显示器根据所述图像数据和AI算法包显示画面的步骤中,所述控制器被进一步配置为:
在所述AI算法包中提取AI结果文件;
使用所述摄像头应用根据所述AI结果文件生成AI结果画面;
控制所述显示器在所述应用的界面中显示所述AI结果画面。
6.一种摄像头,其特征在于,应用于显示设备,所述摄像头包括:
镜头组件;
AI模块,所述AI模块内置AI算法模型;
所述AI模块被配置为:
通过所述镜头组件获取图像数据,所述图像数据包括多帧图像;
将所述图像数据中的多帧图像逐一输入所述AI算法模型,以生成结果文件;
为每一帧图像设置索引ID;
根据所述索引ID与所述结果文件生成AI数据,所述AI数据包括多个AI算法包,每个所述AI算法包带有索引ID;
向所述显示设备发送所述图像数据和所述AI数据。
7.根据权利要求6所述的摄像头,其特征在于,为每一帧图像设置索引ID的步骤中,所述AI模块被配置为:
提取每一帧图像的拍摄时间;
将所述拍摄时间转化为预设长度字符串,以生成所述索引ID;
将所述图像数据中每帧图像指定位置上的图像原数据替换为所述索引ID;
打包所述索引ID、所述图像原数据以及所述结果文件,生成所述AI算法包。
8.根据权利要求7所述的摄像头,其特征在于,提取每一帧图像的拍摄时间的步骤中,所述AI模块被配置为:
获取最大传输帧率;
根据所述最大传输帧率计算时间戳精度;
按照所述时间戳精度提取每一帧图像的拍摄时间。
9.一种显示设备,其特征在于,包括:
显示器;
摄像头,所述摄像头内置AI算法模型,被配置为采集图像数据以及将所述图像数据输入所述AI算法模型,以生成AI数据;
控制器,被配置为:
从所述摄像头获取图像数据和AI数据,所述图像数据包括多帧图像,每帧图像带有索引ID,所述AI数据包括多个AI算法包,每个所述AI算法包带有索引ID;
解析所述图像数据,以获得每帧图像的所述索引ID;
根据所述索引ID在所述AI数据中查找每帧图像对应的AI算法包;
控制所述显示器根据所述图像数据和AI算法包显示画面。
10.一种AI数据同步传输方法,其特征在于,应用于显示设备,所述显示设备内置或外接有摄像头,所述摄像头内置AI算法模型,所述传输方法包括:
从所述摄像头获取图像数据和AI数据,所述图像数据包括多帧图像,每帧图像带有索引ID,所述AI数据包括多个AI算法包,每个所述AI算法包带有索引ID;
解析所述图像数据,以获得每帧图像的索引ID;
根据所述索引ID在所述AI数据中查找每帧图像对应的AI算法包;
根据所述图像数据和AI算法包显示画面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011112517.1A CN112261290B (zh) | 2020-10-16 | 2020-10-16 | 显示设备、摄像头以及ai数据同步传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011112517.1A CN112261290B (zh) | 2020-10-16 | 2020-10-16 | 显示设备、摄像头以及ai数据同步传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112261290A true CN112261290A (zh) | 2021-01-22 |
CN112261290B CN112261290B (zh) | 2022-04-19 |
Family
ID=74244062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011112517.1A Active CN112261290B (zh) | 2020-10-16 | 2020-10-16 | 显示设备、摄像头以及ai数据同步传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112261290B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114296841A (zh) * | 2021-06-08 | 2022-04-08 | 海信视像科技股份有限公司 | 一种显示设备及ai增强显示方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5982350A (en) * | 1991-10-07 | 1999-11-09 | Eastman Kodak Company | Compositer interface for arranging the components of special effects for a motion picture production |
CN102272756A (zh) * | 2008-11-06 | 2011-12-07 | 阿玛得斯两合公司 | 实时整合数据库中大量更新的方法 |
CN105933529A (zh) * | 2016-04-20 | 2016-09-07 | 努比亚技术有限公司 | 拍摄画面的显示方法及装置 |
US20160283519A1 (en) * | 2015-03-25 | 2016-09-29 | Dane Glasgow | Media discovery and content storage within and across devices |
WO2017206656A1 (zh) * | 2016-05-31 | 2017-12-07 | 努比亚技术有限公司 | 一种图像处理方法及终端、计算机存储介质 |
CN108052670A (zh) * | 2017-12-29 | 2018-05-18 | 北京奇虎科技有限公司 | 一种相机特效的推荐方法及装置 |
CN109040591A (zh) * | 2018-08-22 | 2018-12-18 | Oppo广东移动通信有限公司 | 图像处理方法、装置、计算机可读存储介质和电子设备 |
CN109729266A (zh) * | 2018-12-25 | 2019-05-07 | 努比亚技术有限公司 | 一种图像拍摄方法、终端及计算机可读存储介质 |
CN110475150A (zh) * | 2019-09-11 | 2019-11-19 | 广州华多网络科技有限公司 | 虚拟礼物特效的渲染方法和装置、直播系统 |
CN110784730A (zh) * | 2019-10-31 | 2020-02-11 | 广州华多网络科技有限公司 | 直播视频数据的传输方法、装置、设备和存储介质 |
CN111467805A (zh) * | 2020-05-11 | 2020-07-31 | 网易(杭州)网络有限公司 | 虚拟场景动态变化的实现方法及装置、介质及电子设备 |
US20200260093A1 (en) * | 2018-10-19 | 2020-08-13 | Samsung Electronics Co., Ltd. | Methods and apparatuses for performing encoding and decoding on image |
CN111669636A (zh) * | 2020-06-19 | 2020-09-15 | 海信视像科技股份有限公司 | 一种音画同步的视频录制方法及显示设备 |
-
2020
- 2020-10-16 CN CN202011112517.1A patent/CN112261290B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5982350A (en) * | 1991-10-07 | 1999-11-09 | Eastman Kodak Company | Compositer interface for arranging the components of special effects for a motion picture production |
CN102272756A (zh) * | 2008-11-06 | 2011-12-07 | 阿玛得斯两合公司 | 实时整合数据库中大量更新的方法 |
US20160283519A1 (en) * | 2015-03-25 | 2016-09-29 | Dane Glasgow | Media discovery and content storage within and across devices |
CN105933529A (zh) * | 2016-04-20 | 2016-09-07 | 努比亚技术有限公司 | 拍摄画面的显示方法及装置 |
WO2017206656A1 (zh) * | 2016-05-31 | 2017-12-07 | 努比亚技术有限公司 | 一种图像处理方法及终端、计算机存储介质 |
CN108052670A (zh) * | 2017-12-29 | 2018-05-18 | 北京奇虎科技有限公司 | 一种相机特效的推荐方法及装置 |
CN109040591A (zh) * | 2018-08-22 | 2018-12-18 | Oppo广东移动通信有限公司 | 图像处理方法、装置、计算机可读存储介质和电子设备 |
US20200260093A1 (en) * | 2018-10-19 | 2020-08-13 | Samsung Electronics Co., Ltd. | Methods and apparatuses for performing encoding and decoding on image |
CN109729266A (zh) * | 2018-12-25 | 2019-05-07 | 努比亚技术有限公司 | 一种图像拍摄方法、终端及计算机可读存储介质 |
CN110475150A (zh) * | 2019-09-11 | 2019-11-19 | 广州华多网络科技有限公司 | 虚拟礼物特效的渲染方法和装置、直播系统 |
CN110784730A (zh) * | 2019-10-31 | 2020-02-11 | 广州华多网络科技有限公司 | 直播视频数据的传输方法、装置、设备和存储介质 |
CN111467805A (zh) * | 2020-05-11 | 2020-07-31 | 网易(杭州)网络有限公司 | 虚拟场景动态变化的实现方法及装置、介质及电子设备 |
CN111669636A (zh) * | 2020-06-19 | 2020-09-15 | 海信视像科技股份有限公司 | 一种音画同步的视频录制方法及显示设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114296841A (zh) * | 2021-06-08 | 2022-04-08 | 海信视像科技股份有限公司 | 一种显示设备及ai增强显示方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112261290B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111935518B (zh) | 一种视频投屏方法及显示设备 | |
CN112511882B (zh) | 一种显示设备及语音唤起方法 | |
CN112163086B (zh) | 多意图的识别方法、显示设备 | |
CN112153447B (zh) | 一种显示设备及音画同步控制方法 | |
CN111836109A (zh) | 显示设备、服务器及自动更新栏目框的方法 | |
CN111818378B (zh) | 显示设备及人物识别展示的方法 | |
CN112333509A (zh) | 一种媒资推荐方法、推荐媒资的播放方法及显示设备 | |
CN112087671B (zh) | 一种输入法控件的操控提示信息的显示方法及显示设备 | |
CN112422365A (zh) | 显示设备及自动监测网络状态的方法 | |
CN114095769B (zh) | 一种应用级播放器的直播低延迟处理方法及显示设备 | |
CN112261290B (zh) | 显示设备、摄像头以及ai数据同步传输方法 | |
CN112162764A (zh) | 显示设备、服务器以及摄像头软件升级方法 | |
CN111984167A (zh) | 一种快捷命名的方法及显示设备 | |
CN112040340A (zh) | 资源文件获取方法及显示设备 | |
CN112261289B (zh) | 显示设备及ai算法结果获取方法 | |
CN112118476B (zh) | 一种快速显示节目预约图标的方法及显示设备 | |
CN111918132B (zh) | 一种显示设备及多接口设备判断方法 | |
CN114302197A (zh) | 一种语音分离控制方法及显示设备 | |
CN111931692A (zh) | 显示设备及图像识别方法 | |
CN115185392A (zh) | 显示设备、图像处理方法及装置 | |
CN113542878A (zh) | 一种基于人脸识别与手势检测的唤醒方法及显示设备 | |
CN113438553B (zh) | 一种显示设备被唤醒方法及显示设备 | |
CN112835631B (zh) | 一种启动主页应用的方法及显示设备 | |
CN112153443B (zh) | Pts获取方法和显示设备 | |
CN114040341B (zh) | 一种蓝牙广播包上报处理方法及显示设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |