周云霞 李荣珩
摘 要:随着智能移动设备的普及和多媒体技术的快速发展,掌上多媒体应运而生。该文以掌上多媒体技术在服务端和客户端的应用为场景,对通信协议的设计和实现进行深入的阐述和分析,并探讨其中涉及的通信原理和算法,给出实现掌上多媒体服务技术的核心机制和关键技术。最后,该文给出掌上多媒体通信协议的多个不同应用场景。
关键词:通信协议;服务端;客户端;数据封装;掌上多媒体技术
中图分类号:G434 文献标志码:A 文章编号:2095-2945(2024)14-0009-04
Abstract: With the popularity of smart mobile devices and the rapid development of multimedia technology, handheld multimedia came into being. Taking the application of palm multimedia technology in server and client as the scene, this paper deeply expounds and analyzes the design and implementation of its communication protocol, and discusses the communication principle and algorithm involved in it. The core mechanism and key technology of realizing palmtop multimedia service technology are given. Finally, this paper gives several different application scenarios of the handheld multimedia communication protocol.
Keywords: communication protocol; server; client; data encapsulation; handheld multimedia technology
媒體是表示和传播信息的载体。多媒体是文字、声音、图像、图形、动画和视频等各种媒体的有机组合。多媒体技术则是通过计算机把文本、图形、图像、声音、动画和视频等多种媒体综合起来的一门综合的高新技术,是微电子技术、计算机技术、通信技术等相关学科综合发展的产物[1]。
多媒体与计算机通信的结合,更是将多媒体及相关技术嵌入到了人们日常的方方面面:随手打开的网页是利用超文体传输协议(HTML)将多媒体融入网络浏览的基础应用;基于此,发展出了充满弹幕的多媒体播放,以及在浏览或播放过程中需要回答问题的交互式多媒体[2],等等。
由于多媒体在使用过程中存在每秒上百万字节甚至更高的数据传输,远程使用多媒体时,对通信的传输数率要求很高。为了达到此要求,有线网络代表有分布式光纤接口(FDDI)通信协议和802.3x协议,无线网络代表有4G通信协议和802.11x协议;为了减少交互式应用中的延时,又开发出了5G通信协议等;在以上协议基础之上的IPV6协议、资源预留协议、实时传输协议综合实现了互联网环境下的多媒体信息通信[3]。
研发的掌上多媒体通信技术是这样一种情景[4]: 如图1所示,右边是手持式智能设备,如智能手机或平板电脑;左边是带有无线网卡的多媒体计算机,屏幕可以是多媒体计算机自带的显示屏,也可以是专用的大尺寸投影屏;左右两边通过无线局域网(WLAN)连接在一起。
这种应用场景实现了:①手持式智能设备能与左边的屏幕同步显示。即智能手机或平板电脑上的照片能在左右两边的大、小屏幕上同时显示,并且右边的设备在这些照片上手写文字、符号、简单图形的过程也可以在左边的屏幕上直播。②手持式智能设备能将网页浏览结果作出内容选择后显示在左边的屏幕上。例如,智能手机打开网页时,网页内容先只在手机上显示,不会在左边屏幕上显示;只有当手机发出特定的命令后,两边的屏幕才会同步显示。③在没有外网时,也能在手持式智能设备与多媒体计算机之间传送文件或图片。④在右边的手持式智能设备上可以实现多媒体计算机键盘和鼠标的大部分功能。即,在左边的多媒体计算机开机后,就可以用右边的智能手机或平板电脑模拟多媒体计算机的键盘和鼠标。
1 掌上多媒体通信协议的提出
1.1 掌上多媒体通信协议的帧格式
在公开文献中找不到实现图1所示场景的通信协议,为了达到该场景的应用目标,独立提出了掌上多媒体通信协议,该协议的帧格式见表1。实现时,该帧可以被封装在网络套接字中。
保留:保留字节用于掌上多媒体通信协议在未来推广过程中,如果与其他协议冲突,则可以用此字节作为标识字节,现在是十进制的255,十六进制为“FF”。
版本:掌上多媒体通信协议的版本号,现在是十进制的16,8421码是00010000,即1.0版。
命令:命令字节,理论上可以表示256个不同命令,当前版本的协议定义了18条命令。
含义与命令有关:从序号3字节到数据帧的最后一个字节,由具体的命令而定,内容和长度不尽相同。
1.2 掌上多媒体通信协议命令
1)协议握手命令:掌上多媒体通信协议的握手命令帧只有3个字节,即“保留”字节、“版本”字节、“命令”字节,且“命令”字节的十六进制为“01”。手持式智能设备利用 “握手命令”与多媒体计算机建立起两者之间的连接。
2)设置颜色和线宽命令:设置点、线的颜色和线宽命令的帧有5个字节,即“保留”字节、“版本”字节、“命令”字节,且“命令”字节的十六进制为“02”,后续2个字节分别存放“线宽值”和“颜色值”。线宽以像素点为单位,当前版本能设置的颜色有红、蓝、绿、黑和白5种颜色值。
3)设置光标坐标的命令:该命令的十六进制形式帧格式见表2,命令帧长为11个字节。
X坐标的十进制值就等于8号字节的十进制值乘以256,再加上7号字节的十进制值;Y坐标的十进制值就等于10号字节的十进制值乘以256,再加上9号字节的十进制值。
4)请求做粘贴的命令:手持式智能设备请求在多媒体计算机上做粘贴命令的帧只有3个字节,即“保留”字节、“版本”字节、“命令”字节,且“命令”字节的十六进制为“15”。
5)鼠标操作及坐标的命令:在多媒体计算机上模拟鼠标命令的十六进制形式帧格式见表3,该命令帧长为11个字节。
鼠标动作有移动、单击、双击和右击等,鼠标的坐标计算方法与“3)”的计算方法相同。
6)特定按键命令:在多媒体计算机上模拟特定按键命令的帧只有4个字节,即“保留”字节、“版本”字节、“命令”字节,且“命令”字节的十六进制为“1B”,后续字节存放“键值”。通过不同的键值实现了①将多媒体计算机上的屏幕内容截屏后发送给手持式智能设备的功能;②将多媒体计算机上“掌上多媒体通信协议主程序”窗口最大化的功能;③模拟多媒体计算机上键盘中向上“↑”和向下“↓”键的功能;④模拟多媒体计算机上键盘中 “Ctrl+A”键和“Ctrl+P”键等快捷键的功能。
7)将多媒体计算机上指定文件下载到手持式智能设备命令:该命令帧只有3个字节,即“保留”字节、“版本”字节、“命令”字节,且“命令”字节的十六进制为“1C”。
8)在多媒体计算机上连续画线命令:该命令的十六进制形式帧格式见表4,命令帧长为11个字节。
坐标的计算方法与“3)”相同。该命令实现:手写时,从前一个坐标点画一条线至当前坐标点。
9)在多媒体计算机上画直线命令:该命令的帧只有3个字节,即“保留”字节、“版本”字节、“命令”字节,且“命令”字节的十六进制为“31”。掌上智能设备可以利用此命令在多媒体计算机屏幕上,最近设置的2个坐标点之间画一条直线。
10)在多媒体计算机上画三角形命令:该命令的帧只有3个字节,即“保留”字节、“版本”字节、“命令”字节,且“命令”字节的十六进制为“32”。掌上智能设备可以利用此命令在多媒体计算机屏幕上,最近设置的3个坐标点之间画一个三角形。
11)在多媒体计算机上画矩形命令:该命令的帧只有3个字节,即“保留”字节、“版本”字节、“命令”字节,且“命令”字节的十六进制为“33”。掌上智能设备可以利用此命令在多媒体计算机屏幕上,以最近设置的2个坐标点为对角顶点画一个矩形。
12)在多媒体计算机上画圆命令:该命令的帧只有3个字节,即“保留”字节、“版本”字节、“命令”字节,且“命令”字节的十六进制为“34”。掌上智能设备可以利用此命令在多媒体计算机屏幕上,分别以最近设置的2个坐标点为圆心和半径画一个圆。
13)在多媒体计算机上显示文字命令:该命令帧可能多达几百个字节,即“保留”字节、“版本”字节、“命令”字节等,且“命令”字節的十六进制为“35”;后续的字节是欲显示文字的内部编码。此命令可以在多媒体计算机的屏幕上,以最近设置的2个坐标点为对角顶点的范围内显示命令帧中的所有文字。
14)向多媒体计算机发图片命令:该命令的帧有7个字节,即“保留”字节、“版本”字节、“命令”字节等,且“命令”字节的十六进制为“41”;后续4个字节表示图片的大小,单位是字节。
15)向多媒体计算机发文件命令:该命令的帧有7 个字节,即“保留”字节、“版本”字节、“命令”字节等,且“命令”字节的十六进制为“42”;后续4个字节表示文件的大小,单位是字节。
16)向多媒体计算机发数据命令:该命令的十六进制形式帧格式见表5,命令帧最长可达1 500个字节。
17)数据传送结束命令:向多媒体计算机发送数据结束命令的帧只有3个字节,即“保留”字节、“版本”字节、“命令”字节,且“命令”字节的十六进制为“4F”。该命令通知多媒体计算机图片或文件数据传送结束。多媒体计算机可以显示图片或者利用系统中的其他关联应用程序打开接收到的文件。
18)掌上多媒体通信协议结束命令:该命令的帧只有3个字节,即“保留”字节、“版本”字节、“命令”字节,且“命令”字节的十六进制为“7F”。手持式智能设备向多媒体计算机发出此命令后就退出与多媒体计算机之间的通信关系。这样多媒体计算机又可以重新初始化掌上多媒体通信协议,并等待下一个手持式智能设备用“协议握手命令”建立连接。
2 掌上多媒体通信协议的实现
要实现掌上多媒体通信协议,必须分别在多媒体计算机和手持式智能设备上运行支持掌上多媒体通信协议的程序。把运行在多媒体计算机上支持掌上多媒体通信协议的程序称为“掌上多媒体服务端”,简称服务端;把运行在手持式智能设备上支持掌上多媒体通信协议的程序称为“掌上多媒体客户端”,简称客户端。
2.1 掌上多媒体通信协议操作流程
嵌入了掌上多媒体通信协议的服务端程序与客户端程序的操作流程如图2所示。
2.2 应用场景
利用“掌上多媒体通信协议”已经实现了如下应用场景[4-6]。
1)用图1中的手持式智能设备无线控制图中左边的多媒体计算机。多媒体计算机开机后会自动运行服务端程序;运行了客户端程序的智能手机或平板电脑就能以模拟键盘或鼠标形式控制多媒体计算机。掌上多媒体技术用于会议和商业PPT演示,课堂教学[4]就是这一场景的经典应用。在此场景中,当主讲者的智能手机断开与多媒体计算机的连接后,听众的智能手机也可以运行客户端程序,连上多媒体计算机,与主讲者或其他听众反转互动。
2)大屏幕智能电视代替图1中的多媒体计算机,就能实现在电视屏幕上写字、画图、显示图片或相册和播放视频等功能,从而找到了掌上多媒体通信协议在家庭娱乐、家庭教育中的应用场景。
3)用智能手机代替图1中的多媒体计算机,即使没有外网也能在2台手机之间实现屏幕互写、互画、互显,以及文件传送等功能,从而实现掌上多媒体通信协议在没有数据流量的偏远地域的应用场景。
3 结束语
虽然掌上多媒体通信协议已经在上述多个场景中进行了应用。但是,掌上多媒体技术及其通信协议的研究和应用还处于起步阶段,需要得到更多的认同、使用、推广。
协议的下一步改进和完善包括让实现了该协议的掌上多媒体软件有更好的使用体验;将改进后的协议用于多媒体人工智能主讲者及其PPT演示,用于家庭多媒体设备之间的互动娱乐;开发或发现掌上多媒体通信协议更多的应用场景。
参考文献:
[1] 张虹,夏士雄,张薇,等.计算机网络多媒体技术与应用[M].北京:机械工业出版社,2003:1-5.
[2] 董向东.第三代交互式集控多媒体教学系统的设计与实现[J].中国教育信息化,2010(3):50-53.
[3] 张占军,韩承德,杨学良.支持多媒体通信的网络协议技术及其发展[J].小型微型计算机系统,2002(6):646-650.
[4] 周云霞,李荣珩,成夏炎.掌上多媒体技术在教学中的应用[J].中国教育技术装备,2021(22):30-32.
[5] 湖南师范大学.掌上多媒体软件远程注册系统:2019SR08522
37[P].2019-05-02.
[6] 周云霞.掌上多媒体简介[EB/OL].[2016-07-16].https://v.qq.co
m/x/page/y0313ukdxw6.html.