CN112069094A - 一种数据包封装方法及显示设备 - Google Patents
一种数据包封装方法及显示设备 Download PDFInfo
- Publication number
- CN112069094A CN112069094A CN201910496041.7A CN201910496041A CN112069094A CN 112069094 A CN112069094 A CN 112069094A CN 201910496041 A CN201910496041 A CN 201910496041A CN 112069094 A CN112069094 A CN 112069094A
- Authority
- CN
- China
- Prior art keywords
- data
- data packet
- packet
- transmitted
- display
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0033—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0036—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Abstract
本申请提供了一种数据包封装方法及显示设备,所述方法包括:获取待传送数据;对所述待传送数据进行封装,得到第一数据包,所述第一数据包包括头部和数据部;所述头部用于描述所述第一数据包的属性以及校验所述第一数据包的准确性;所述数据部包括数据标识字段和数据字段,所述数据标识字段包括CID和SID,所述CID和SID用于标识所述待传送数据,所述数据字段包括所述待传送数据。本申请提供的数据包封装方法及显示设备,可实现对上层应用提供统一接口以及对下抽象出通信层的能力,便于屏蔽通信方式的差异实现双系统间的进程间调用,双系统通信过程中应用程序只需要关心自己待传送的数据不用关心通信的细节,进而方便应用程序的开发。
Description
技术领域
本申请涉及显示技术领域,尤其涉及一种数据包封装方法及显示设备。
背景技术
在双系统设备的使用中,为协调其中两个系统的能力,实现双系统间交互的协调性和一致性,两个系统之间往往需要建立通信,用于两个系统中进程之间数据的传输以及实现两个系统间的功能切换。
目前系统间通信主要是指不同设备之间的系统通信,即设备间系统的通信。现有设备间系统的通信形式多种多样,如通过网络、串口、USB等,即两设备间系统通过网线、串口线或USB直连。并且,多种通信方式可以能同时并存,例如两个系统之间同时存在网线连接、串口连接和USB连接。由于在采用不同通信方式进行通信时,所采用的数据包结构各不相同。因此当有多路通信共存时,应用程序需要关心具体使用的每一个通信通路。如此,若是将现有设备间的通信形式用于双系统设备中,在应用程序开发过程中,将会导致应用程序开发工作量的增加,对应用程序的开发造成不便。
发明内容
本申请提供了一种数据包封装方法及显示设备,便于屏蔽通信方式的差异实现双系统间的进程间调用,方便应用程序的开发。
第一方面,本申请提供了一种数据包封装方法,所述方法包括:
获取待传送数据;
对所述待传送数据进行封装,得到第一数据包,所述第一数据包包括头部和数据部;
所述头部用于描述所述第一数据包的属性以及校验所述第一数据包的准确性;
所述数据部包括数据标识字段和数据字段,所述数据标识字段包括CID和SID,所述CID和SID用于标识所述待传送数据,所述数据字段包括所述待传送数据。
第二方面,本申请提供了一种显示设备,包括:
显示器,所述显示器被配置为显示用户界面;
与所述显示器通信连接的控制器,所述控制器被配置为执行呈现用户界面:
与所述显示器连接的主芯片、以及与所述主芯片通过Net、串口和CEC连接的辅芯片,其中,所述主芯片被配置为执行上述任一所述的数据包封装方法。
本申请提供的数据包封装方法及显示设备,在接收到待传送数据后,根据第一数据包的结构将待传送数据封装成第一数据包,其中第一数据包包括头部和数据部,头部用于描述第一数据包的属性以及校验所述第一数据包的准确性;数据部包括数据标识字段和数据字段,数据标识字段包括CID和SID,CID和SID用于标识所述待传送数据,数据字段包括待传送数据。CID用于区分一个进程的某一个调用成功后还能返回到当前调用,SID区分通信服务器发出的某一个调用成功后还能返回到调用客户端。如此结构的第一数据包便于双系统间通信的建立,实现双系统设备中双系统之间进程的通信;且当其应用于双系统通信中时,可实现对上层应用提供统一接口以及对下抽象出通信层的能力,便于屏蔽通信方式的差异实现双系统间的进程间调用,双系统通信过程中应用程序只需要关心自己待传送的数据不用关心通信的细节,进而方便应用程序的开发。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1中示例性示出了根据实施例中显示设备与控制装置之间操作场景的示意图;
图2中示例性示出了根据实施例中控制装置100的硬件配置框图;
图3中示例性示出了根据实施例中显示设备200的硬件配置框图;
图4中示例性示出了根据图3显示设备200的硬件架构框图;
图5中示例性示出了根据实施例中显示设备200的功能配置示意图;
图6a中示例性示出了根据实施例中显示设备200中软件配置示意图;
图6b中示例性示出了根据实施例中显示设备200中应用程序的配置示意图;
图7中示例性示出了根据实施例中显示设备200中用户界面的示意图;
图8为本申请实施例提供的一种数据包封装方法的流程示意图;
图9为本申请实施例提供的用于数据包封装的架构;
图10为本申请实施例提供的数据包的结构示意图。
具体实施方式
为使本申请示例性实施例的目的、技术方案和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
为便于用户使用,显示设备上通常会设置各种外部装置接口,以便于连接不同的外设设备或线缆以实现相应的功能。而在显示设备的接口上连接有高清晰度的摄像头时,如果显示设备的硬件系统没有接收源码的高像素摄像头的硬件接口,那么就会导致无法将摄像头接收到的数据呈现到显示设备的显示屏上。
并且,受制于硬件结构,传统显示设备的硬件系统仅支持一路硬解码资源,且通常最大仅能支持4K分辨率的视频解码,因此当要实现边观看网络电视边进行视频聊天时,为了不降低网络视频画面清晰度,就需要使用硬解码资源(通常是硬件系统中的GPU)对网络视频进行解码,而在此情况下,只能采取由硬件系统中的通用处理器(例如CPU)对视频进行软解码的方式处理视频聊天画面。
采用软解码处理视频聊天画面,会大大增加CPU的数据处理负担,当CPU的数据处理负担过重时,可能会出现画面卡顿或者不流畅的问题。进一步的,受制于CPU的数据处理能力,当采用CPU软解码处理视频聊天画面时,通常无法实现多路视频通话,当用户想要再同一聊天场景同时与多个其他用户进行视频聊天时,会出现接入受阻的情况。
基于上述各方面的考虑,为克服上述缺陷,本申请公开了一种双硬件系统架构,以实现多路视频聊天数据(至少一路本地视频)。
下面首先结合附图对本申请所涉及的概念进行说明。在此需要指出的是,以下对各个概念的说明,仅为了使本申请的内容更加容易理解,并不表示对本申请保护范围的限定。
本申请各实施例中使用的术语“模块”,可以是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
本申请各实施例中使用的术语“遥控器”,是指电子设备(如本申请中公开的显示设备)的一个组件,该组件通常可在较短的距离范围内无线控制电子设备。该组件一般可以使用红外线和/或射频(RF)信号和/或蓝牙与电子设备连接,也可以包括WiFi、无线USB、蓝牙、动作传感器等功能模块。例如:手持式触摸遥控器,是以触摸屏中用户界面取代一般遥控装置中的大部分物理内置硬键。
本申请各实施例中使用的术语“手势”,是指用户通过一种手型的变化或手部运动等动作,用于表达预期想法、动作、目的/或结果的用户行为。
本申请各实施例中使用的术语“硬件系统”,可以是指由集成电路(IntegratedCircuit,IC)、印刷电路板(Printed circuit board,PCB)等机械、光、电、磁器件构成的具有计算、控制、存储、输入和输出功能的实体部件。在本申请各个实施例中,硬件系统通常也会被称为主板(motherboard)或芯片。
图1中示例性示出了根据实施例中显示设备与控制装置之间操作场景的示意图。如图1所示,用户可通过控制装置100来操作显示设备200。
其中,控制装置100可以是遥控器100A,其可与显示设备200之间通过红外协议通信、蓝牙协议通信、紫蜂(ZigBee)协议通信或其他短距离通信方式进行通信,用于通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。
控制装置100也可以是智能设备,如移动终端100B、平板电脑、计算机、笔记本电脑等,其可以通过本地网(LAN,Local Area Network)、广域网(WAN,Wide Area Network)、无线局域网((WLAN,Wireless Local Area Network)或其他网络与显示设备200之间通信,并通过与显示设备200相应的应用程序实现对显示设备200的控制。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序可以在与智能设备关联的屏幕上通过直观的用户界面(UI,User Interface)为用户提供各种控制。
示例的,移动终端100B与显示设备200均可安装软件应用,从而可通过网络通信协议实现二者之间的连接通信,进而实现一对一控制操作的和数据通信的目的。如:可以使移动终端100B与显示设备200建立控制指令协议,将遥控控制键盘同步到移动终端100B上,通过控制移动终端100B上用户界面,实现控制显示设备200的功能;也可以将移动终端100B上显示的音视频内容传输到显示设备200上,实现同步显示功能。
如图1所示,显示设备200还可与服务器300通过多种通信方式进行数据通信。在本申请各个实施例中,可允许显示设备200通过局域网、无线局域网或其他网络与服务器300进行通信连接。服务器300可以向显示设备200提供各种内容和互动。
示例的,显示设备200通过发送和接收信息,以及电子节目指南(EPG,ElectronicProgram Guide)互动,接收软件程序更新,或访问远程储存的数字媒体库。服务器300可以是一组,也可以是多组,可以是一类或多类服务器。通过服务器300提供视频点播和广告服务等其他网络服务内容。
显示设备200,可以是液晶显示器、OLED(Organic Light Emitting Diode)显示器、投影显示设备、智能电视。具体显示设备类型,尺寸大小和分辨率等不作限定,本领技术人员可以理解的是,显示设备200可以根据需要做性能和配置上的一些改变。
显示设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能。示例的包括,网络电视、智能电视、互联网协议电视(IPTV)等。
如图1所述,显示设备上可以连接或设置有摄像头,用于将摄像头拍摄到的画面呈现在本显示设备或其他显示设备的显示界面上,以实现用户之间的交互聊天。具体的,摄像头拍摄到的画面可在显示设备上全屏显示、半屏显示、或者显示任意可选区域。
作为一种可选的连接方式,摄像头通过连接板与显示器后壳连接,固定安装在显示器后壳的上侧中部,作为可安装的方式,可以固定安装在显示器后壳的任意位置,能保证其图像采集区域不被后壳遮挡即可,例如,图像采集区域与显示设备的显示朝向相同。
作为另一种可选的连接方式,摄像头通过连接板或者其他可想到的连接器可升降的与显示后壳连接,连接器上安装有升降马达,当用户要使用摄像头或者有应用程序要使用摄像头时,再升出显示器之上,当不需要使用摄像头时,其可内嵌到后壳之后,以达到保护摄像头免受损坏。
作为一种实施例,本申请所采用的摄像头可以为1600万像素,以达到超高清显示目的。在实际使用中,也可采用比1600万像素更高或更低的摄像头。
当显示设备上安装有摄像头以后,显示设备不同应用场景所显示的内容可得到多种不同方式的融合,从而达到传统显示设备无法实现的功能。
示例性的,用户可以在边观看视频节目的同时,与至少一位其他用户进行视频聊天。视频节目的呈现可作为背景画面,视频聊天的窗口显示在背景画面之上。形象的,可以称该功能为“边看边聊”。
可选的,在“边看边聊”的场景中,在观看直播视频或网络视频的同时,跨终端的进行至少一路的视频聊天。
另一示例中,用户可以在边进入教育应用学习的同时,与至少一位其他用户进行视频聊天。例如,学生在学习教育应用程序中内容的同时,可实现与老师的远程互动。形象的,可以称该功能为“边学边聊”。
另一示例中,用户在玩纸牌游戏时,与进入游戏的玩家进行视频聊天。例如,玩家在进入游戏应用参与游戏时,可实现与其他玩家的远程互动。形象的,可以称该功能为“边看边玩”。
可选的,游戏场景与视频画面进行融合,将视频画面中人像进行抠图,显示在游戏画面中,提升用户体验。
可选的,在体感类游戏中(如打球类、拳击类、跑步类、跳舞类等),通过摄像头获取人体姿势和动作,肢体检测和追踪、人体骨骼关键点数据的检测,再与游戏中动画进行融合,实现如体育、舞蹈等场景的游戏。
另一示例中,用户可以在K歌应用中,与至少一位其他用户进行视频和语音的交互。形象的,可以称该功能为“边看边唱”。优选的,当至少一位用户在聊天场景进入该应用时,可多个用户共同完成一首歌的录制。
另一个示例中,用户可在本地打开摄像头获取图片和视频,形象的,可以称该功能为“照镜子”。
在另一些示例中,还可以再增加更多功能或减少上述功能。本申请对该显示设备的功能不作具体限定。
图2中示例性示出了根据示例性实施例中控制装置100的配置框图。如图3所示,控制装置100包括控制器110、通信器130、用户输入/输出接口140、存储器190、供电电源180。
控制装置100被配置为可控制所述显示设备200,以及可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起到用户与显示设备200之间交互中介作用。如:用户通过操作控制装置100上频道加减键,显示设备200响应频道加减的操作。
在一些实施例中,控制装置100可是一种智能设备。如:控制装置100可根据用户需求安装控制显示设备200的各种应用。
在一些实施例中,如图1所示,移动终端100B或其他智能电子设备,可在安装操控显示设备200的应用之后,起到控制装置100类似功能。如:用户可以通过安装应用,在移动终端100B或其他智能电子设备上可提供的图形用户界面的各种功能键或虚拟按钮,以实现控制装置100实体按键的功能。
控制器110包括处理器112、RAM113和ROM114、通信接口以及通信总线。控制器110用于控制控制装置100的运行和操作,以及内部各部件之间通信协作以及外部和内部的数据处理功能。
通信器130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:将接收到的用户输入信号发送至显示设备200上。通信器130可包括WIFI模块131、蓝牙模块132、NFC模块133等通信模块中至少一种。
用户输入/输出接口140,其中,输入接口包括麦克风141、触摸板142、传感器143、按键144等输入接口中至少一者。如:用户可以通过语音、触摸、手势、按压等动作实现用户指令输入功能,输入接口通过将接收的模拟信号转换为数字信号,以及数字信号转换为相应指令信号,发送至显示设备200。
输出接口包括将接收的用户指令发送至显示设备200的接口。在一些实施例中,可以是红外接口,也可以是射频接口。如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。
在一些实施例中,控制装置100包括通信器130和输出接口中至少一者。控制装置100中配置通信器130,如:WIFI、蓝牙、NFC等模块,可将用户输入指令通过WIFI协议、或蓝牙协议、或NFC协议编码,发送至显示设备200.
存储器190,用于在控制器110的控制下存储驱动和控制控制装置100的各种运行程序、数据和应用。存储器190,可以存储用户输入的各类控制信号指令。
供电电源180,用于在控制器110的控制下为控制装置100各元件提供运行电力支持。可以电池及相关控制电路。
图3中示例性示出了根据示例性实施例中显示设备200中硬件系统的硬件配置框图。
在采用双硬件系统架构时,硬件系统的机构关系可以图3所示。为便于表述以下将双硬件系统架构中的一个硬件系统称为第一硬件系统或A系统、A芯片,并将另一个硬件系统称为第二硬件系统或N系统、N芯片。A芯片包含A芯片的控制器及通过各类接口与A芯片的控制器相连的各类模块,N芯片则包含N芯片的控制器及通过各类接口与N芯片的控制器相连的各类模块。A芯片及N芯片中可以各自安装有独立的操作系统,从而使显示设备200中存在两个在独立但又存在相互关联的子系统。
如图3所示,A芯片与N芯片之间可以通过多个不同类型的接口实现连接、通信及供电。A芯片与N芯片之间接口的接口类型可以包括通用输入输出接口(General-purposeinput/output,GPIO)、USB接口、HDMI接口、UART接口等。A芯片与N芯片之间可以使用这些接口中的一个或多个进行通信或电力传输。例如图3所示,在双硬件系统架构下,可以由外接的电源(power)为N芯片供电,而A芯片则可以不由外接电源,而由N芯片供电。
除用于与N芯片进行连接的接口之外,A芯片还可以包含用于连接其他设备或组件的接口,例如图3中所示的用于连接摄像头(Camera)的MIPI接口,蓝牙接口等。
类似的,除用于与N芯片进行连接的接口之外,N芯片还可以包含用于连接显示屏TCON(Timer Control Register)的VBY接口,用于连接功率放大器(Amplifier,AMP)及扬声器(Speaker)的i2S接口;以及IR/Key接口,USB接口,Wifi接口,蓝牙接口,HDMI接口,Tuner接口等。
下面结合图4对本申请双硬件系统架构进行进一步的说明。需要说明的是图4仅仅是对本申请双硬件系统架构的一个示例性说明,并不表示对本申请的限定。在实际应用中,两个硬件系统均可根据需要包含更多或更少的硬件或接口。
图4中示例性示出了根据图3显示设备200的硬件架构框图。如图4所示,显示设备200的硬件系统可以包括A芯片和N芯片,以及通过各类接口与A芯片或N芯片相连接的模块。
N芯片可以包括调谐解调器220、通信器230、外部装置接口250、控制器210、存储器290、用户输入接口、视频处理器260-1、音频处理器260-2、显示器280、音频输出接口272、供电电源。在其他实施例中N芯片也可以包括更多或更少的模块。
其中,调谐解调器220,用于对通过有线或无线方式接收广播电视信号,进行放大、混频和谐振等调制解调处理,从而从多个无线或有线广播电视信号中解调出用户所选择电视频道的频率中所携带的音视频信号,以及附加信息(例如EPG数据信号)。根据电视信号广播制式不同,调谐解调器220的信号途径可以有很多种,诸如:地面广播、有线广播、卫星广播或互联网广播等;以及根据调制类型不同,所述信号的调整方式可以数字调制方式,也可以模拟调制方式;以及根据接收电视信号种类不同,调谐解调器220可以解调模拟信号和/或数字信号。
调谐解调器220,还用于根据用户选择,以及由控制器210控制,响应用户选择的电视频道频率以及该频率所携带的电视信号。
在其他一些示例性实施例中,调谐解调器220也可在外置设备中,如外置机顶盒等。这样,机顶盒通过调制解调后输出电视音视频信号,经过外置装置接口250输入至显示设备200中。
通信器230是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信器230可以包括WIFI模块231,蓝牙通信协议模块232,有线以太网通信协议模块233,及红外通信协议模块等其他网络通信协议模块或近场通信协议模块。
显示设备200可以通过通信器230与外部控制设备或内容提供设备之间建立控制信号和数据信号的连接。例如,通信器可根据控制器的控制接收遥控器100的控制信号。
外部装置接口250,是提供N芯片控制器210和A芯片及外部其他设备间数据传输的组件。外部装置接口可按照有线/无线方式与诸如机顶盒、游戏装置、笔记本电脑等的外部设备连接,可接收外部设备的诸如视频信号(例如运动图像)、音频信号(例如音乐)、附加信息(例如EPG)等数据。
其中,外部装置接口250可以包括:高清多媒体接口(HDMI)端子251、复合视频消隐同步(CVBS)端子252、模拟或数字分量端子253、通用串行总线(USB)端子254、红绿蓝(RGB)端子(图中未示出)等任一个或多个。本申请不对外部装置接口的数量和类型进行限制。
控制器210,通过运行存储在存储器290上的各种软件控制程序(如操作系统和/或各种应用程序),来控制显示设备200的工作和响应用户的操作。
如图4所示,控制器210包括只读存储器RAM213、随机存取存储器ROM214、图形处理器216、CPU处理器212、通信接口218、以及通信总线。其中,RAM213和ROM214以及图形处理器216、CPU处理器212、通信接口218通过总线相连接。
ROM213,用于存储各种系统启动的指令。如在收到开机信号时,显示设备200电源开始启动,CPU处理器212运行ROM中系统启动指令,将存储在存储器290的操作系统拷贝至RAM214中,以开始运行启动操作系统。当操作系统启动完成后,CPU处理器212再将存储器290中各种应用程序拷贝至RAM214中,然后,开始运行启动各种应用程序。
图形处理器216,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,产生基于运算器得到的各种对象,进行渲染的结果显示在显示器280上。
CPU处理器212,用于执行存储在存储器290中操作系统和应用程序指令。以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。
在一些示例性实施例中,CPU处理器212,可以包括多个处理器。所述多个处理器中可包括一个主处理器以及多个或一个子处理器。主处理器,用于在预加电模式中执行显示设备200一些操作,和/或在正常模式下显示画面的操作。多个或一个子处理器,用于执行在待机模式等状态下的一种操作。
通信接口,可包括第一接口218-1到第n接口218-n。这些接口可以是经由网络被连接到外部设备的网络接口。
控制器210可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器280上显示UI对象的用户命令,控制器210便可以执行与由用户命令选择的对象有关的操作。
其中,所述对象可以是可选对象中的任何一个,例如超链接或图标。与所选择的对象有关操作,例如:显示连接到超链接页面、文档、图像等操作,或者执行与图标相对应程序的操作。用于选择UI对象用户命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。
存储器290,包括存储用于驱动和控制显示设备200的各种软件模块。如:存储器290中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等。
其中,基础模块是用于显示设备200中各个硬件之间信号通信、并向上层模块发送处理和控制信号的底层软件模块。检测模块是用于从各种传感器或用户输入接口中收集各种信息,并进行数模转换以及分析管理的管理模块。
例如:语音识别模块中包括语音解析模块和语音指令数据库模块。显示控制模块是用于控制显示器280进行显示图像内容的模块,可以用于播放多媒体图像内容和UI界面等信息。通信模块,是用于与外部设备之间进行控制和数据通信的模块。浏览器模块,是用于执行浏览服务器之间数据通信的模块。服务模块,是用于提供各种服务以及各类应用程序在内的模块。
同时,存储器290还用于存储接收外部数据和用户数据、各种用户界面中各个项目的图像以及焦点对象的视觉效果图等。
用户输入接口,用于将用户的输入信号发送给控制器210,或者,将从控制器输出的信号传送给用户。示例性的,控制装置(例如移动终端或遥控器)可将用户输入的诸如电源开关信号、频道选择信号、音量调节信号等输入信号发送至用户输入接口,再由用户输入接口转送至控制器;或者,控制装置可接收经控制器处理从用户输入接口输出的音频、视频或数据等输出信号,并且显示接收的输出信号或将接收的输出信号输出为音频或振动形式。
在一些实施例中,用户可在显示器280上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
视频处理器260-1,用于接收视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频数据处理,可得到直接在显示器280上显示或播放的视频信号。
示例的,视频处理器260-1,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入MPEG-2,则解复用模块进行解复用成视频信号和音频信号等。
视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
帧率转换模块,用于对输入视频的帧率进行转换,如将输入的24Hz、25Hz、30Hz、60Hz视频的帧率转换为60Hz、120Hz或240Hz的帧率,其中,输入帧率可以与源视频流有关,输出帧率可以与显示器的更新率有关。输入有通常的格式采用如插帧方式实现。
显示格式化模块,用于将帧率转换模块输出的信号,改变为符合诸如显示器显示格式的信号,如将帧率转换模块输出的信号进行格式转换以输出RGB数据信号。
显示器280,用于接收源自视频处理器260-1输入的图像信号,进行显示视频内容和图像以及菜单操控界面。显示器280包括用于呈现画面的显示器组件以及驱动图像显示的驱动组件。显示视频内容,可以来自调谐解调器220接收的广播信号中的视频,也可以来自通信器或外部设备接口输入的视频内容。显示器220,同时显示显示设备200中产生且用于控制显示设备200的用户操控界面UI。
以及,根据显示器280类型不同,还包括用于驱动显示的驱动组件。或者,倘若显示器280为一种投影显示器,还可以包括一种投影装置和投影屏幕。
音频处理器260-2,用于接收音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等音频数据处理,得到可以在扬声器272中播放的音频信号。
音频输出接口270,用于在控制器210的控制下接收音频处理器260-2输出的音频信号,音频输出接口可包括扬声器272,或输出至外接设备的发生装置的外接音响输出端子274,如:外接音响端子或耳机输出端子等。
在其他一些示例性实施例中,视频处理器260-1可以包括一个或多个芯片组成。音频处理器260-2,也可以包括一个或多个芯片组成。
以及,在其他一些示例性实施例中,视频处理器260-1和音频处理器260-2,可以为单独的芯片,也可以与控制器210一起集成在一个或多个芯片中。
供电电源,用于在控制器210控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源可以包括安装显示设备200内部的内置电源电路,也可以是安装在显示设备200外部的电源,如在显示设备200中提供外接电源的电源接口。
与N芯片相类似,如图4所示,A芯片可以包括控制器310、通信器330、检测器340、存储器390。在某些实施例中还可以包括用户输入接口、视频处理器、音频处理器、显示器、音频输出接口。在某些实施例中,也可以存在独立为A芯片供电的供电电源。
通信器330是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信器330可以包括WIFI模块331,蓝牙通信协议模块332,有线以太网通信协议模块333,及红外通信协议模块等其他网络通信协议模块或近场通信协议模块。
A芯片的通信器330和N芯片的通信器230也有相互交互。例如,N芯片的WiFi模块231用于连接外部网络,与外部服务器等产生网络通信。A芯片的WiFi模块331用于连接至N芯片的WiFi模块231,而不与外界网络等产生直接连接。因此,对于用户而言,一个如上述实施例中的显示设备至对外显示一个WiFi账号。
检测器340,是显示设备A芯片用于采集外部环境或与外部交互的信号的组件。检测器340可以包括光接收器342,用于采集环境光线强度的传感器,可以通过采集环境光来自适应显示参数变化等;还可以包括图像采集器341,如相机、摄像头等,可以用于采集外部环境场景,以及用于采集用户的属性或与用户交互手势,可以自适应变化显示参数,也可以识别用户手势,以实现与用户之间互动的功能。
外部装置接口350,提供控制器310与N芯片或外部其他设备间数据传输的组件。外部装置接口可按照有线/无线方式与诸如机顶盒、游戏装置、笔记本电脑等的外部设备连接。
控制器310,通过运行存储在存储器390上的各种软件控制程序(如用安装的第三方应用等),以及与N芯片的交互,来控制显示设备200的工作和响应用户的操作。
如图4所示,控制器310包括只读存储器ROM313、随机存取存储器RAM314、图形处理器316、CPU处理器312、通信接口318、以及通信总线。其中,ROM313和RAM314以及图形处理器316、CPU处理器312、通信接口318通过总线相连接。
ROM313,用于存储各种系统启动的指令。CPU处理器312运行ROM中系统启动指令,将存储在存储器390的操作系统拷贝至RAM314中,以开始运行启动操作系统。当操作系统启动完成后,CPU处理器312再将存储器390中各种应用程序拷贝至RAM314中,然后,开始运行启动各种应用程序。
CPU处理器312,用于执行存储在存储器390中操作系统和应用程序指令,和与N芯片进行通信、信号、数据、指令等传输与交互,以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。
通信接口,可包括第一接口318-1到第n接口318-n。这些接口可以是经由网络被连接到外部设备的网络接口,也可以是经由网络被连接到N芯片的网络接口。
控制器310可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器280上显示UI对象的用户命令,控制器210便可以执行与由用户命令选择的对象有关的操作。
图形处理器316,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,产生基于运算器得到的各种对象,进行渲染的结果显示在显示器280上。
A芯片的图形处理器316与N芯片的图形处理器216均能产生各种图形对象。区别性的,若应用1安装于A芯片,应用2安装在N芯片,当用户在应用1的界面,且在应用1内进行用户输入的指令时,由A芯片图形处理器316产生图形对象。当用户在应用2的界面,且在应用2内进行用户输入的指令时,由N芯片的图形处理器216产生图形对象。
图5中示例性示出了根据示例性实施例中显示设备的功能配置示意图。
如图5所示,A芯片的存储器390和N芯片的存储器290分别用于存储操作系统、应用程序、内容和用户数据等,在A芯片的控制器310和N芯片的控制器210的控制下执行驱动显示设备200的系统运行以及响应用户的各种操作。A芯片的存储器390和N芯片的存储器290可以包括易失性和/或非易失性存储器。
对于N芯片,存储器290,具体用于存储驱动显示设备200中控制器210的运行程序,以及存储显示设备200内置各种应用程序,以及用户从外部设备下载的各种应用程序、以及与应用程序相关的各种图形用户界面,以及与图形用户界面相关的各种对象,用户数据信息,以及各种支持应用程序的内部数据。存储器290用于存储操作系统(OS)内核、中间件和应用等系统软件,以及存储输入的视频数据和音频数据、及其他用户数据。
存储器290,具体用于存储视频处理器260-1和音频处理器260-2、显示器280、通信接口230、调谐解调器220、输入/输出接口等驱动程序和相关数据。
在一些实施例中,存储器290可以存储软件和/或程序,用于表示操作系统(OS)的软件程序包括,例如:内核、中间件、应用编程接口(API)和/或应用程序。示例性的,内核可控制或管理系统资源,或其它程序所实施的功能(如所述中间件、API或应用程序),以及内核可以提供接口,以允许中间件和API,或应用访问控制器,以实现控制或管理系统资源。
示例的,存储器290,包括广播接收模块2901、频道控制模块2902、音量控制模块2903、图像控制模块2904、显示控制模块2905、音频控制模块2906、外部指令识别模块2907、通信控制模块2908、光接收模块2909、电力控制模块2910、操作系统2911、以及其他应用程序2912、浏览器模块等等。控制器210通过运行存储器290中各种软件程序,来执行诸如:广播电视信号接收解调功能、电视频道选择控制功能、音量选择控制功能、图像控制功能、显示控制功能、音频控制功能、外部指令识别功能、通信控制功能、光信号接收功能、电力控制功能、支持各种功能的软件操控平台、以及浏览器功能等各类功能。
存储器390,包括存储用于驱动和控制显示设备200的各种软件模块。如:存储器390中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等。由于存储器390与存储器290的功能比较相似,相关之处参见存储器290即可,在此就不再赘述。
示例的,存储器390,包括图像控制模块3904、音频控制模块2906、外部指令识别模块3907、通信控制模块3908、光接收模块3909、操作系统3911、以及其他应用程序3912、浏览器模块等等。控制器210通过运行存储器290中各种软件程序,来执行诸如:图像控制功能、显示控制功能、音频控制功能、外部指令识别功能、通信控制功能、光信号接收功能、电力控制功能、支持各种功能的软件操控平台、以及浏览器功能等各类功能。
区别性的,N芯片的外部指令识别模块2907和A芯片的外部指令识别模块3907可识别不同的指令。
示例性的,由于摄像头等图像接收设备与A芯片连接,因此,A芯片的外部指令识别模块3907可包括图形识别模块2907-1,图形识别模块3907-1内存储有图形数据库,摄像头接收到外界的图形指令时,与图形数据库中的指令进行对应关系,以对显示设备作出指令控制。而由于语音接收设备以及遥控器与N芯片连接,因此,N芯片的外部指令识别模块2907可包括语音识别模块2907-2,图形识别模块2907-2内存储有语音数据库,语音接收设备等接收到外界的语音指令或时,与语音数据库中的指令进行对应关系,以对显示设备作出指令控制。同样的,遥控器等控制装置100与N芯片连接,由按键指令识别模块与控制装置100进行指令交互。
图6a中示例性示出了根据示例性实施例中显示设备200中软件系统的配置框图。
对N芯片,如图6a中所示,操作系统2911,包括用于处理各种基础系统服务和用于实施硬件相关任务的执行操作软件,充当应用程序和硬件组件之间完成数据处理的媒介。
一些实施例中,部分操作系统内核可以包含一系列软件,用以管理显示设备硬件资源,并为其他程序或软件代码提供服务。
其他一些实施例中,部分操作系统内核可包含一个或多个设备驱动器,设备驱动器可以是操作系统中的一组软件代码,帮助操作或控制显示设备关联的设备或硬件。驱动器可以包含操作视频、音频和/或其他多媒体组件的代码。示例的,包括显示器、摄像头、Flash、WiFi和音频驱动器。
其中,可访问性模块2911-1,用于修改或访问应用程序,以实现应用程序的可访问性和对其显示内容的可操作性。
通信模块2911-2,用于经由相关通信接口和通信网络与其他外设的连接。
用户界面模块2911-3,用于提供显示用户界面的对象,以供各应用程序访问,可实现用户可操作性。
控制应用程序2911-4,用于控制进程管理,包括运行时间应用程序等。
事件传输系统2914,可在操作系统2911内或应用程序2912中实现。一些实施例中,一方面在在操作系统2911内实现,同时在应用程序2912中实现,用于监听各种用户输入事件,将根据各种事件指代响应各类事件或子事件的识别结果,而实施一组或多组预定义的操作的处理程序。
其中,事件监听模块2914-1,用于监听用户输入接口输入事件或子事件。
事件识别模块2914-1,用于对各种用户输入接口输入各类事件的定义,识别出各种事件或子事件,且将其传输给处理用以执行其相应一组或多组的处理程序。
其中,事件或子事件,是指显示设备200中一个或多个传感器检测的输入,以及外界控制设备(如控制装置100等)的输入。如:语音输入各种子事件,手势识别的手势输入子事件,以及控制装置的遥控按键指令输入的子事件等。示例的,遥控器中一个或多个子事件包括多种形式,包括但不限于按键按上/下/左右/、确定键、按键按住等中一个或组合。以及非实体按键的操作,如移动、按住、释放等操作。
界面布局管理模块2913,直接或间接接收来自于事件传输系统2914监听到各用户输入事件或子事件,用于更新用户界面的布局,包括但不限于界面中各控件或子控件的位置,以及容器的大小或位置、层级等与界面布局相关各种执行操作。
由于A芯片的操作系统3911与N芯片的操作系统2911的功能比较相似,相关之处参见操作系统2911即可,在此就不再赘述。
如图6b中所示,显示设备的应用程序层包含可在显示设备200执行的各种应用程序。
N芯片的应用程序层2912可包含但不限于一个或多个应用程序,如:视频点播应用程序、应用程序中心、游戏应用等。A芯片的应用程序层3912可包含但不限于一个或多个应用程序,如:直播电视应用程序、媒体中心应用程序等。需要说明的是,A芯片和N芯片上分别包含什么应用程序是根据操作系统和其他设计确定的,本发明无需对A芯片和N芯片上所包含的应用程序做具体的限定和划分。
直播电视应用程序,可以通过不同的信号源提供直播电视。例如,直播电视应用程可以使用来自有线电视、无线广播、卫星服务或其他类型的直播电视服务的输入提供电视信号。以及,直播电视应用程序可在显示设备200上显示直播电视信号的视频。
视频点播应用程序,可以提供来自不同存储源的视频。不同于直播电视应用程序,视频点播提供来自某些存储源的视频显示。例如,视频点播可以来自云存储的服务器端、来自包含已存视频节目的本地硬盘储存器。
媒体中心应用程序,可以提供各种多媒体内容播放的应用程序。例如,媒体中心,可以为不同于直播电视或视频点播,用户可通过媒体中心应用程序访问各种图像或音频所提供服务。
应用程序中心,可以提供储存各种应用程序。应用程序可以是一种游戏、应用程序,或某些和计算机系统或其他设备相关但可以在显示设备中运行的其他应用程序。应用程序中心可从不同来源获得这些应用程序,将它们储存在本地储存器中,然后在显示设备200上可运行。
图7中示例性示出了根据示例性实施例中显示设备200中用户界面的示意图。如图7所示,用户界面包括多个视图显示区,示例的,第一视图显示区201和播放画面202,其中,播放画面包括布局一个或多个不同项目。以及用户界面中还包括指示项目被选择的选择器,可通过用户输入而移动选择器的位置,以改变选择不同的项目。
需要说明的是,多个视图显示区可以呈现不同层级的显示画面。如,第一视图显示区可呈现视频聊天项目内容,第二视图显示区可呈现应用层项目内容(如,网页视频、VOD展示、应用程序画面等)。
可选的,不同视图显示区的呈现存在优先级区别,优先级不同的视图显示区之间,视图显示区的显示优先级不同。如,系统层的优先级高于应用层的优先级,当用户在应用层使用获取选择器和画面切换时,不遮挡系统层的视图显示区的画面展示;以及,根据用户的选择使应用层的视图显示区的大小和位置发生变化时,系统层的视图显示区的大小和位置不受影响。
也可以呈现相同层级的显示画面,此时,选择器可以在第一视图显示区和第二视图显示区之间做切换,以及当第一视图显示区的大小和位置发生变化时,第二视图显示区的大小和位置可随及发生改变。
由于A芯片及N芯片中可能分别安装有独立的操作系统,从而使显示设备200中存在两个在独立但又存在相互关联的子系统。例如,A芯片和N均可以独立安装有安卓(Android)及各类APP,使得每个芯片均可以实现一定的功能,并且使A芯片和N芯片协同实现某项功能。
双系统之间的可通过网络、串口以及CEC等通信方式实现通信,当同时采用不同通信方式进行通信时,不同通信方式所采用的数据包结构各不相同,为屏蔽通信方式的差异,本申请将数据包结构进行统一。为实现数据包结构的统一,本申请实施例提供了一种数据包封装方法。
附图8为本申请实施例提供的一种数据包封装方法的流程示意图。如附图8所示,本申请实施例提供的数据包封装方法,包括:
S101:获取待传送数据。
S102:对所述待传送数据进行封装,得到第一数据包。所述第一数据包包括头部和数据部;所述头部用于描述所述第一数据包的属性以及校验所述第一数据包的准确性;所述数据部包括数据标识字段和数据字段,所述数据标识字段包括CID和SID,所述CID和SID用于标识所述待传送数据,所述数据字段包括所述待传送数据。
在本申请实施例中,待传送数据主要包括双系统之间进程调用数据。本申请实例提供的数据包封装方法的执行主体为双系统设备内的各个应用程序(客户端),各个客户端内各进程产生待传送数据后,相应系统对所述待传送数据进行封装。
为更详细的描述待传送数据的封装过程,本申请实施例按照数据封装过程提供一套传输协议,基于所述传输协议对待传送数据进行封装。本申请实施例中协议结构如附图9所示,包括应用层、协议层、传输层和物理层。应用层负责获取待传送数据;协议层负责封装和解析数据包;传输层负责数据传输,将数据送入物理层或者从物理层获取数据;物理层,连接传输设备,负责写入、读取数据。
应用层接收系统内各进程发送的待传送数据,协议层对待传送数据进行封装,得到第一数据包。
在本申请实施例中,头部包括magic、version、hdr_size、length、CRC-HEAD和CRC-DATA。magic用于描述第一数据包的开始,在本申请中可以使用HiRPC表示。version用于描述待传送数据所属客户端的版本,用于匹配数据待传送数据的版本。hdr_size用于描述所述头部的长度,用作数据读取中头部的截取长度的判定依据。length用于描述所述数据部的长度数据部的长度,用作数据读取中数据从什么长度位置结束的判定依据。CRC-HEAD用作头部CRC数据校验,CRC-DATA用作数据部的CRC数据检验。CRC为Cyclic RedundancyCheck,即循环冗余校验码。因此,CRC-HEAD为头部的循环冗余校验码,根据头部通过计算获得;CRC-DATA为数据部的循环冗余校验码,根据数据部通过计算获得。
在本申请实施例中,数据部中的数据标识字段包括loading、CID、SID和type。loading用于描述传输第一数据包的通信服务器的负载,为通信服务器的调度提供依据。CID和SID用于标识所述待传送数据。CID用于标识所述待传送数据对应进程的某一次调用,确保待传送数据对应的返回值能够返回到该进程的这次调用中。SID用于标识待传送数据的所属客户端,确保待传送数据经过通信服务器发出后接收的返回值能够返回到该客户端。type用于描述待传送数据的类型。在本申请实施例中,type包括ACK消息、数据命令、控制命令或调试命令。
在本申请实施例中,对所述待传送数据进行封装,得到第一数据包,包括:对所述待传送数据进行添加数据标识字段的封装,得到第二数据包;对所述第二数据包进行添加头部的封装,得到第一数据包。
在获取到待传送数据后,协议层对待传送数据进行初步封装,在待传送数据前添加数据标识字段,如loading、CID、SID和type,获得第二数据包;对第二数据包进行添加头部的封装,如添加magic、version、hdr_size、length、CRC-HEAD和CRC-DATA,得到第二数据包。
在本申请实施例中根据待传送数据的类型确定封装时添加的type值。如:当待传送数据为ACK消息可采用0x00000000表示;当待传送数据为数据命令时,可采用0xFFFFXXXX表示,其中的XXXX为数字代号,可根据具体的数据命令进行选择,比如0xFFFF0001代表注册消息、0xFFFF0002代表同步调用消息、0xFFFF0003代表同步调用回复消息、0x0001FFFF代表主动查询通信服务器状态、0xFFFFFFFF代表Debug命令等。添加type可方便带传输数据的处理,如客户端和通信服务器之间的待传送数据为状态信息同步的控制命令,负责通信服务器动态上线、下线的通知,只需要客户端和通信服务器底层了解控制命令即可,上层应用不需要了解。
在本申请实施例中,CID是客户端发出的每一个数据包的唯一序号,是用于区分一个客户端的某一个调用成功后还能返回到当前调用的标识,SID是通信服务器发出的每个包的唯一序号,是用于表示区分通信服务器发出的某一个调用成功后还能返回到调用客户端的标识。
在本申请实施例中,某一各户端的某一次调用的CID可用0x0001表示。当某一各户端同一时刻发出三次调用,为区分三次调用保证调用的返回值能够准确的返回至相应的调用,可采用0x0001、0x0002和0x0003作为三次调用的CID,当接收到调用返回值的时候根据相应的CID返回至相应的调用,有效保证调用通路与返回通路的一致性,防止返回值的返回路径出错。
若是客户端为某一次调用的发起端,那么当在数据封装形成第一数据包时,其SID字段可为空,在第一数据包传输至经过通信服务器时,通信服务器解析第一数据包并根据接收到的第一数据包的发起端在SID字段添加相应的标识,如0x00000001。当通信服务器接收到不同客户端的第一数据包,在相应数据包的SID字段添加不同的SID,如0x00000001、0x00000002等。假如。当通信服务器同一时刻接收到若干客户端调用的返回值,根据SID可清楚的知道将接收到的返回值返回至准确的客户端,有效保证调用通路与返回通路的一致性,防止返回值的返回路径出错。
在将第一数据包传输至通信服务器时,获取当前通信服务器的负载信息,将负载信息添加至loading字段。负载信息反应当前通信服务器的一段时间内累计工作时长所占比。假如,在24小时内,当前通信服务器的工作时长为12小时,12/24=50%,那么当前通信服务器的负载信息为50。负载信息用于指导后续数据传输工作中通信服务器的调度。如,当通信服务器1的负载信息为90而通信服务器2的负载信息为10时,当某一客户端需要传输数据时根据通信服务器1和通信服务器2负载信息的大小比较可优先选择通信服务器2,有助于协调数据传输资源保证数据传输速率。
为充分展现本申请实施例提供的数据部结构,本申请实例性的给出表1,表1为本申请实施例提供的数据部的数据组成。
表1:
表1仅为实例性的展示,并不构成对申请的具体限定。
在进行数据包封装时,在头部的magic字段可直接添加HiRPC,在读取第一数据包时,当读取到HiRPC时,则认为找了一个数据包的开始,然后从其开始读取数据。version是根据客户端的程序版本确定,如当前的程序为1.0版本,可直接在version字段添加1。hdr_size是指第一数据包头部的总长度,length为第一数据包数据部的总长度。当在读取第一数据包时,从magic字段开始根据hdr_size和length确定读取到什么长度位置结束以及数据部的开始位置,便于快速的读取到数据包各字段的信息。在计算CRC-HEAD时,可根据其相应字段长度的要求在其位置先全置为O,然后结合其他字段的实际信息计算头部的CRC,最后用计算得到的CRC替换CRC-HEAD字段的0。在计算CRC-DATA时,根据数据部的信息集合直接计算求取。CRC-HEAD和CRC-DATA用于防止数据包被破坏以及串改等,保证数据传输的准确性。
下面结合一个具体实例对本申请实施例提供的数据包封装过程进行详细说明,如当某一端的客户端(ClientA)与对端的客户端(ClientB)通信时,假设待传送数据为(service_name,params),ClientA将数据传输至ClientB经过通信服务器(Server)。那么ClientA将待传送数据(service_name,params)封装为如附图10所示格式的第一数据包,ClientA向Server发送第一数据包时,第一数据包中携带ClientA中唯一标识CID;Server解析并封装添加SID,Server向ClientB转发的传输数据携带Server中唯一标识SID;ClientB处理完数据,将返回值返回到Server,Server根据SID能判断出是ClientA发送过来的调用,所以将这条调用数据的返回值返回给ClientA;ClientA接收到回复数据,根据CID能判断出是哪个调用函数发送的调用数据,然后将返回值返回给这个调用函数。
本申请提供的数据包封装方法,在接收到待传送数据后,根据第一数据包的结构将待传送数据封装成第一数据包,其中第一数据包包括头部和数据部,头部用于描述第一数据包的属性以及校验所述第一数据包的准确性;数据部包括数据标识字段和数据字段,数据标识字段包括CID和SID,CID和SID用于标识所述待传送数据,数据字段包括待传送数据。CID用于区分一个进程的某一个调用成功后还能返回到当前调用,SID区分通信服务器发出的某一个调用成功后还能返回到调用客户端。如此结构的第一数据包便于双系统间通信的建立,实现双系统设备中双系统之间进程的通信;且当其应用于双系统通信中时,可实现对上层应用提供统一接口以及对下抽象出通信层的能力,便于屏蔽通信方式的差异实现双系统间的进程间调用,双系统通信过程中应用程序只需要关心自己待传送的数据不用关心通信的细节,进而方便应用程序的开发。
本申请实施例提供的数据包封装方法封装的数据包可实现基于不同传输类型(如,网络、串口、CEC、USB)对客户端提供统一访问的方法在设计上,屏蔽掉设备类型的差异,对上层提供统一接口,方便设备扩展,未来还可以支持别的传输方式。并且可将device抽象出来,对使用者只保留最基础的接口,具体的读写操作由各个设备完成,能轻易的集成其他多种传输方式。多种传输方式保证了通信的及时、有效性,如即使网络坏掉也能通过切换成串口和CEC传输保证正常的通信。
在本申请实施例中,头部占用所述第一数据包的第1至28个字节,即头部的长度为28个字节,可根据头部每一字段的实际情况选择其适应长度。如此,能保证满足头部性能需求,又能保证头部占用传输空间的的最优化。可选的,magic的长度为5个字节,version的长度为1个字节,hdr_size的长度为2个字节,length的长度为4个字节,CRC-HEAD的长度为8个字节,CRC-DATA的长度为8个字节。更具体的,第一数据包的第1至5个字节为magic,第一数据包的第6个字节为1version,第一数据包的第7至8个字节为hdr_size,第一数据包的第9至12个字节为length,第一数据包的第13至20个字节为CRC-HEAD,第一数据包的第21至28个字节为CRC-DATA。
在本申请实施例中,数据部的长度可调。根据待传送数据的实际长度,在第一数据包的最大规定长度范围内确定数据部的长度。假设规定每个第一数据包的最大长度为1024个字节,当头部长度为28个字节,那么数据部将在996个字节内。
在本申请实施例中数据标识字段的长度为12个字节,即数据标识字段占用数据部的第1至12个字节。当头部长度为28个字节时,数据标识字段占用第一数据包的第29至40个字节。假设规定每个第一数据包的最大长度为1024个字节时,待传送数据可占用第41至1024个字节,即第一数据包内允许封装的待传送数据长度为1-984个字节,当待传送数据的长度大于984个字节时,需要进行拆包输送。
当数据标识字段的长度为12个字节,可选的,loading的长度为2个字节,CID的长度为2个字节,SID的长度为4个字节,type的长度为4个字节。更具体的,第一数据包的第29至30个字节为loading,第一数据包的第31至32个字节为CID,第一数据包的第33至36个字节为SID,第一数据包的第31至32个字节为type。
基于本申请实施例提供的数据包封装方法,本申请实施例还提供了一种显示设备。本申请实施例提供的显示设备,包括显示器,所述显示器被配置为显示用户界面;
与所述显示器通信连接的控制器,所述控制器被配置为执行呈现用户界面:
与所述显示器连接的主芯片、以及与所述主芯片通过Net、串口和CEC连接的辅芯片,其中,所述主芯片和辅芯片均被配置为上述实施例所述的数据包封装方法。
基于数据包封装方法参见上述实施例以及有关于本申请实施例提供的显示设备的其他特征参见于上述实施例提供的显示设备200,在此不再赘述。
基于本申请中示出的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整技术方案。
应当理解,本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种数据包封装方法,其特征在于,所述方法包括:
获取待传送数据;
对所述待传送数据进行封装,得到第一数据包,所述第一数据包包括头部和数据部;
所述头部用于描述所述第一数据包的属性以及校验所述第一数据包的准确性;
所述数据部包括数据标识字段和数据字段,所述数据标识字段包括CID和SID,所述CID和SID用于标识所述待传送数据,所述数据字段包括所述待传送数据。
2.根据权利要求1所述的数据包封装方法,其特征在于,对所述待传送数据进行封装,得到第一数据包,包括:
对所述待传送数据进行添加数据标识字段的封装,得到第二数据包;
对所述第二数据包进行添加头部的封装,得到第一数据包。
3.根据权利要求1所述的数据包封装方法,其特征在于,所述数据标识字段还包括type和loading,所述type用于描述所述待传送数据的类型,所述loading用于描述传输所述第一数据包的通信服务器的负载。
4.根据权利要求2所述的数据包封装方法,其特征在于,所述头部包括magic、version、hdr_size、length、CRC-HEAD和CRC-DATA;
所述magic用于描述所述第一数据包的开始,所述version用于描述待传送数据所属客户端的版本,所述hdr_size用于描述所述头部的长度,所述length用于描述所述数据部的长度,所述CRC-HEAD用于所述头部的CRC数据检验,所述CRC-DATA用于所述数据部的CRC数据检验。
5.根据权利要求3所述的数据包封装方法,其特征在于,所述type包括ACK消息、数据命令、控制命令或调试命令。
6.根据权利要求1所述的数据包封装方法,其特征在于,所述头部占用所述第一数据包的第1至28个字节。
7.根据权利要求4所述的数据包封装方法,其特征在于,所述第一数据包的第1至5个字节为所述magic,所述第一数据包的第6个字节为所述1version,所述第一数据包的第7至8个字节为所述hdr_size,所述第一数据包的第9至12个字节为所述length,所述第一数据包的第13至20个字节为所述CRC-HEAD,所述第一数据包的第21至28个字节为所述CRC-DATA。
8.根据权利要求3所述的数据包封装方法,其特征在于,所述数据标识字段占用所述第一数据包的第29至40个字节,所述数据字段的长度为1-984个字节。
9.根据权利要求3所述的数据包封装方法,其特征在于,所述第一数据包的第29至30个字节为所述loading,所述第一数据包的第31至32个字节为所述CID,所述第一数据包的第33至36个字节为所述SID,所述第一数据包的第31至32个字节为所述type。
10.一种显示设备,其特征在于,包括:
显示器,所述显示器被配置为显示用户界面;
与所述显示器通信连接的控制器,所述控制器被配置为执行呈现用户界面:
与所述显示器连接的主芯片、以及与所述主芯片通过Net、串口和CEC连接的辅芯片,其中,所述主芯片和辅芯片均被配置为执行权利要求1至9任一所述的数据包封装方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910496041.7A CN112069094A (zh) | 2019-06-10 | 2019-06-10 | 一种数据包封装方法及显示设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910496041.7A CN112069094A (zh) | 2019-06-10 | 2019-06-10 | 一种数据包封装方法及显示设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112069094A true CN112069094A (zh) | 2020-12-11 |
Family
ID=73658725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910496041.7A Pending CN112069094A (zh) | 2019-06-10 | 2019-06-10 | 一种数据包封装方法及显示设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112069094A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113626139A (zh) * | 2021-06-30 | 2021-11-09 | 济南浪潮数据技术有限公司 | 一种高可用的虚拟机存储方法及装置 |
WO2024016758A1 (zh) * | 2022-07-20 | 2024-01-25 | 哲库科技(上海)有限公司 | 音频数据传输方法、装置、芯片、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123481A (zh) * | 2006-08-10 | 2008-02-13 | 成都迈普产业集团有限公司 | Ip电信网数据帧封装方法 |
CN101459654A (zh) * | 2007-12-14 | 2009-06-17 | 联想移动通信科技有限公司 | 一种多协议业务数据封装解析方法、接收端和发送端 |
CN104144086A (zh) * | 2013-12-04 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 通信方法和系统及信息发送/接收装置 |
CN105516139A (zh) * | 2015-12-09 | 2016-04-20 | 北京四达时代软件技术股份有限公司 | 一种网络数据的传输方法、装置及系统 |
-
2019
- 2019-06-10 CN CN201910496041.7A patent/CN112069094A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123481A (zh) * | 2006-08-10 | 2008-02-13 | 成都迈普产业集团有限公司 | Ip电信网数据帧封装方法 |
CN101459654A (zh) * | 2007-12-14 | 2009-06-17 | 联想移动通信科技有限公司 | 一种多协议业务数据封装解析方法、接收端和发送端 |
CN104144086A (zh) * | 2013-12-04 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 通信方法和系统及信息发送/接收装置 |
CN105516139A (zh) * | 2015-12-09 | 2016-04-20 | 北京四达时代软件技术股份有限公司 | 一种网络数据的传输方法、装置及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113626139A (zh) * | 2021-06-30 | 2021-11-09 | 济南浪潮数据技术有限公司 | 一种高可用的虚拟机存储方法及装置 |
WO2024016758A1 (zh) * | 2022-07-20 | 2024-01-25 | 哲库科技(上海)有限公司 | 音频数据传输方法、装置、芯片、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112073788B (zh) | 视频数据处理方法、装置及显示设备 | |
CN112399232A (zh) | 一种显示设备、摄像头优先级使用的控制方法及装置 | |
CN112073662A (zh) | 一种显示设备 | |
CN112073795B (zh) | 视频数据处理方法、装置及显示设备 | |
CN112073778A (zh) | 显示设备及按键传递的容错方法 | |
CN112995733B (zh) | 一种显示设备、设备发现方法及存储介质 | |
CN112069094A (zh) | 一种数据包封装方法及显示设备 | |
CN112463267B (zh) | 在显示设备屏幕上呈现屏保信息的方法及显示设备 | |
CN112073789A (zh) | 一种声音处理法及显示设备 | |
CN112073356B (zh) | 一种数据传输方法及显示设备 | |
CN112073812B (zh) | 一种智能电视上的应用管理方法及显示设备 | |
CN112073777B (zh) | 一种语音交互方法及显示设备 | |
CN112073759B (zh) | 双系统之间通信方式的选取及调度方法、装置及显示设备 | |
CN112399071B (zh) | 一种摄像头马达的控制方法、装置及显示设备 | |
CN112073773A (zh) | 一种屏幕互动方法、装置及显示设备 | |
CN112073769A (zh) | 显示设备及应用共同显示的方法 | |
CN112073808A (zh) | 一种色彩空间切换方法及显示装置 | |
CN112073776A (zh) | 语音控制方法及显示设备 | |
CN112071338A (zh) | 一种录音控制方法、装置和显示设备 | |
CN112073816A (zh) | 双系统usb升级方法、装置及显示设备 | |
CN112073811B (zh) | 一种文件传输调度方法及显示设备 | |
CN112995113B (zh) | 一种显示设备、端口控制方法及存储介质 | |
CN112738580B (zh) | 双系统应用图标信息的处理、显示方法、装置及显示设备 | |
CN112073779B (zh) | 显示设备及按键传递的容错方法 | |
CN112073772B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201211 |
|
RJ01 | Rejection of invention patent application after publication |