CN1988661A - 一种在游戏中视频的使用和传输的方法 - Google Patents
一种在游戏中视频的使用和传输的方法 Download PDFInfo
- Publication number
- CN1988661A CN1988661A CNA2006100225602A CN200610022560A CN1988661A CN 1988661 A CN1988661 A CN 1988661A CN A2006100225602 A CNA2006100225602 A CN A2006100225602A CN 200610022560 A CN200610022560 A CN 200610022560A CN 1988661 A CN1988661 A CN 1988661A
- Authority
- CN
- China
- Prior art keywords
- udp
- video
- recreation
- transmitting
- peer
- 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
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种在游戏中视频的使用和传输的方法,其特征在于:通过数据压缩算法对采集到的视频数据进行压缩,每个采集端通过建立不同的连接向一个或者多个Peer同时应用多线程技术发送压缩的图;再通过UDP的打洞技术穿透NAT进行UDP的P2P连接,并通过数据压缩算法将接收端的Peer接收到的图片格式转换成DirectX显示的图片格式;本发明将DirectX、UDP和数据压缩方法完美的结合,做好了游戏中视频传输和使用;本发明可以减小在游戏中的网络传输量,也可以在游戏中实现多人视频的使用和传输,并且视频的使用传输不影响游戏的流畅性,同时游戏用户还可以直接彼此访问通讯,增加了游戏的互动性。
Description
技术领域
本发明涉及实现视频的方法,特别是一种在游戏中视频的使用和传输的方法。
背景技术
网络游戏蓬勃发展的今天,人们不仅仅是在游戏中体验游戏本身的内容,更多情况下是通过游戏进行人与人之间的沟通。视频本身是按时间的流失播放一张一张的图片,而图片的最初数据是保存了每一个点的具体RGB值(对一种颜色进行编码的方法统称为″颜色空间″或″色域″,任何一种颜色的″颜色空间″都可定义成一个固定的数字或变量,RGB只是众多颜色空间的一种,采用这种编码方法,每种颜色都可用三个变量来表示-红色、绿色以及蓝色的强度),因此现在把视频的传输放入游戏中,使得玩家可以边打游戏边进行视频传递,更加方便了玩家的彼此沟通。
DirectX,由微软公司开发的用途广泛的API(Application Programming Interface,应用程序接口),它包含有Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects等多个组件,它提供了一整套的多媒体接口方案,也是被现代游戏制作者大量用于制作游戏的API,图片的压缩算法也是广泛运用于图片的储存领域,UDP作为一种通讯协议被广泛用于网络传输上,三者如何更好的结合是做好游戏中视频传输和使用的关键。但是目前这方面的运用,普遍存在通讯量过大,传输不能在不同NAT后面进行而需要通过Server(服务端)转发的情况。
发明内容
本发明的目的是提供一种可以在保证通讯量小的情况下,在游戏中实现多人视频的使用和传输的方法,并且视频传输不影响游戏的流畅性。
本发明的技术方案如下:
一种在游戏中视频的使用和传输的方法,其特征在于:通过数据压缩算法对采集到的视频数据进行压缩,每个采集端通过建立不同的连接向一个或者多个Peer同时应用多线程技术发送压缩的图;再通过UDP的打洞技术穿透NAT进行UDP的P2P连接,并通过数据压缩算法将接收端的Peer接收到的图片格式转换成DirectX显示的图片格式。
所述数据压缩算法采用JPEG算法。JPEG(Joint Photographic Experts Group,是一个可以提供优异图像质量的文件压缩格式)算法是一个静态的数字图像数据压缩编码标准,是国际上通用的标准,因此又称为JPEG标准。JPEG是一个适用范围很广的静态图像数据压缩标准,既可用于灰度图像又可用于彩色图像。
所述JPEG算法的压缩编码分为三个步骤:
A.使用正向离散余弦变换(forward discrete cosine transform,FDCT)把空间域表示的图变换成频率域表示的图;
B.使用加权函数对DCT系数进行量化,这个加权函数对于人的视觉系统是最佳的;
C.使用霍夫曼可变字长编码器对量化系数进行编码。
所述JPEG算法的译码,即解压缩的过程与压缩编码过程相反。
所述JPEG算法的压缩编码的主要计算步骤如下:
A.正向离散余弦变换(FDCT);
B.量化(quantization);
C.Z字形编码(zigzag scan);
D.使用差分脉冲编码调制(differential pulse code modulation,DPCM)对直流系数(DC)进行编码;
E.使用行程长度编码(run-length encoding,RLE)对交流系数(AC)进行编码;
F.熵编码(entropy coding)。
所述数据压缩算法是通过对压缩品质好坏的调节来控制压缩比的大小,可以更好的减低通讯量。
数据压缩算法也可以是MPEG(Moving Pictures Experts Group,动态影像压缩技术)和H.264(数字视频编码标准)等等,但是采用JPEG算法是为针对采集来的视频可以拆分为多张的图片,而只针对单张图片进行压缩,且可以通过对压缩品质好坏的调节来控制压缩比的大小,更好的减低通讯量。
所述视频数据是通过普通USB的摄像头并运用Microsoft Plarform SDK(微软公司的操作平台开发库)进行软件处理而采集到的。
所述接收端的Peer接收到的图片格式是指通过JPEG算法压缩过的图片格式。
所述转换是JPEG算法的解压过程,完成解压以后,图片以位图的格式传给DirectX进行显示。
所述Peer指游戏客服端程序,每个Peer指不同的游戏客服端程序(Client)。
所述多线程技术是允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。
所述UDP是User Datagram Protocol的缩写,即用户数据报协议,用来支持计算机之间传输数据的网络应用。
所述UDP的打洞技术指一种普遍使用的NAT穿越技术,通过UDP打洞实现NAT穿越是一种在处于使用了NAT的私有网络中的Internet主机之间建立双向UDP连接的方法。
所述UDP的打洞技术的具体步骤是:将位于NAT后的两台主机都与处于公共地址空间的第三台服务器相连,当一台主机的NAT设备建立好,UDP状态信息就转为直接通信,然后NAT设备会从另外一台主机传送过来时仍然保持当前状态。
所述UDP打洞技术的算法如下:
假设有两台分别处于各自的私有网络中的主机:A和B;N1和N2是两个NAT设备;S是一个使用了一个众所周知的、从全球任何地方都能访问得到的IP地址的公共服务器。
步骤一:A和B分别和S建立UDP连接;NAT设备N1和N2创建UDP转换状态并分配临时的外部端口号;
步骤二:S将这些端口号传回A和B;
步骤三:A和B通过转换好的端口直接联系到各自的NAT设备;NAT设备则利用先前创建的转换状态将分组发往A和B。
所述NAT即Network Address Translation,网络地址转换,是一个IETF(InternetEngineering Task Force,Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。
所述P2P是Peer-to-Peer的缩写,即对等互联或点对点技术。P2P技术可以让用户直接连接到其他用户的计算机,进行文件共享与交换。P2P技术是一种用于不同PC用户之间,不经过中继设备直接交换数据或服务的技术,它允许Internet用户直接使用对方的文件,每个人可以直接连接到其他用户的计算机,并进行文件的交换,而不需要连接到服务器上再进行浏览与下载。
目前Internet的存储模式是″内容位于中心″,而P2P技术的运用将使Internet上的内容向边缘移动。因此使用P2P技术可以实现:客户不再需要将文件上传到服务器,而只需要使用P2P与其他计算机进行共享;使用P2P技术的计算机不需要固定的IP地址和永久的Internet连接,这使得占有极大比例的拨号上网用户也可以享受P2P带来的好处。
所述位图指一个像素值阵列,像素阵列存储在一个字节数组中,每一个像素的位数可以是1、4、8或24。
本发明的优点如下:
本发明将DirectX、UDP和数据压缩方法完美的结合,做好了游戏中视频传输和使用;本发明可以减小在游戏中的网络传输量,也可以在游戏中实现多人视频的使用和传输,并且视频的使用传输不影响游戏的流畅性,同时游戏用户还可以直接彼此访问通讯,增加了游戏的互动性。
附图说明
图1为本发明的程序流程图
图2为本发明运用UDP打洞技术的示意图
具体实施方式
实施例1
如图1所示,一种在游戏中视频的使用和传输方法,是通过数据压缩算法对采集到的视频数据进行压缩,每个采集端通过建立不同的连接向一个或者多个Peer同时应用多线程技术发送压缩的图;再通过UDP的打洞技术穿透NAT进行UDP的P2P连接,并通过数据压缩算法将接收端的Peer接收到的图片格式转换成DirectX显示的图片格式。
所述数据压缩算法采用JPEG算法。JPEG(Joint Photographic Experts Group,是一个可以提供优异图像质量的文件压缩格式)算法是一个静态的数字图像数据压缩编码标准,是国际上通用的标准,因此又称为JPEG标准。JPEG是一个适用范围很广的静态图像数据压缩标准,既可用于灰度图像又可用于彩色图像。
所述JPEG算法的压缩编码分为三个步骤:
A.使用正向离散余弦变换(forward discrete cosine transform,FDCT)把空间域表示的图变换成频率域表示的图;
B.使用加权函数对DCT系数进行量化,这个加权函数对于人的视觉系统是最佳的;
C.使用霍夫曼可变字长编码器对量化系数进行编码。
所述JPEG算法的译码,即解压缩的过程与压缩编码过程相反。
所述JPEG算法的压缩编码的主要计算步骤如下:
A.正向离散余弦变换(FDCT);
B.量化(quantization);
C.Z字形编码(zigzag scan);
D.使用差分脉冲编码调制(differential pulse code modulation,DPCM)对直流系数(DC)进行编码;
E.使用行程长度编码(run-length encoding,RLE)对交流系数(AC)进行编码;
F.熵编码(entropy coding)。
所述数据压缩算法是通过对压缩品质好坏的调节来控制压缩比的大小,可以更好的减低通讯量。
数据压缩算法也可以是MPEG(Moving Pictures Experts Group,动态影像压缩技术)和H.264(数字视频编码标准)等等,但是采用JPEG算法是为针对采集来的视频可以拆分为多张的图片,而只针对单张图片进行压缩,且可以通过对压缩品质好坏的调节来控制压缩比的大小,更好的减低通讯量。
所述视频数据是通过普通USB的摄像头并运用Microsoft Plarform SDK(微软公司的操作平台开发库)进行软件处理而采集到的。
所述接收端的Peer接收到的图片格式是指通过JPEG算法压缩过的图片格式。
所述转换是JPEG算法的解压过程,完成解压以后,图片以位图的格式传给DirectX进行显示。
所述Peer指游戏客服端程序,每个Peer指不同的游戏客服端程序(Client)。
所述多线程技术是允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。
所述UDP用来支持计算机之间传输数据的网络应用。
所述UDP的打洞技术指一种普遍使用的NAT穿越技术,通过UDP打洞实现NAT穿越是一种在处于使用了NAT的私有网络中的Internet主机之间建立双向UDP连接的方法。
所述UDP的打洞技术的具体步骤是:将位于NAT后的两台主机都与处于公共地址空间的第三台服务器相连,当一台主机的NAT设备建立好,UDP状态信息就转为直接通信,然后NAT设备会从另外一台主机传送过来时仍然保持当前状态。
所述UDP打洞技术的算法如下:
假设有两台分别处于各自的私有网络中的主机:A和B;N1和N2是两个NAT设备;S是一个使用了一个众所周知的、从全球任何地方都能访问得到的IP地址的公共服务器。
步骤一:A和B分别和S建立UDP连接;NAT设备N1和N2创建UDP转换状态并分配临时的外部端口号;
步骤二:S将这些端口号传回A和B;
步骤三:A和B通过转换好的端口直接联系到各自的NAT设备;NAT设备则利用先前创建的转换状态将分组发往A和B。
所述NAT即Network Address Translation,网络地址转换,是一个IETF(InternetEngineering Task Force,Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。
所述P2P是Peer-to-Peer的缩写,即对等互联或点对点技术。P2P技术可以让用户直接连接到其他用户的计算机,进行文件共享与交换。P2P技术是一种用于不同PC用户之间,不经过中继设备直接交换数据或服务的技术,它允许Internet用户直接使用对方的文件,每个人可以直接连接到其他用户的计算机,并进行文件的交换,而不需要连接到服务器上再进行浏览与下载。
目前Internet的存储模式是“内容位于中心”,而P2P技术的运用将使Internet上的内容向边缘移动。因此使用P2P技术可以实现:客户不再需要将文件上传到服务器,而只需要使用P2P与其他计算机进行共享;使用P2P技术的计算机不需要固定的IP地址和永久的Internet连接,这使得占有极大比例的拨号上网用户也可以享受P2P带来的好处。
所述位图指一个像素值阵列,像素阵列存储在一个字节数组中,每一个像素的位数可以是1、4、8或24。
实施例2
如图2所示,假设Client A和Client B都拥有自己的私有IP地址,并且都处在不同的NAT之后,端对端的程序运行于Client A,Client B,S之间,并且它们都开放了UDP端口1234。Client A和Client B首先分别与S建立通信会话,这时NAT A把它自己的UDP端口62000分配给Client A与S的会话,NAT B也把自己的UDP端口31000分配给CLIENT B与S的会话。
假如这个时候Client A想与Client B建立一条UDP通信直连,如果Client A只是简单的发送一个UDP信息到Client B的公网地址138.76.29.7:31000的话,NAT B会不加考虑的将这个信息丢弃,因为这个UDP信息中所包含的地址信息,与Client B和服务器S建立连接时存储在NAT B中的服务器S的地址信息不符。同样的,Client B如果做同样的事情,发送的UDP信息也会被NAT A丢弃。
假如Client A开始发送一个UDP信息到Client B的公网地址上,与此同时,他又通过S中转发送了一个邀请信息给Client B,请求Client B也给Client A发送一个UDP信息到Client A的公网地址上。这时Client A向ClientB的公网IP(138.76.29.7:31000)发送的信息导致NAT A打开一个处于ClientA的私有地址和Client B的公网地址之间的新的通信会话,与此同时,NAT B也打开了一个处于Client B的私有地址和Client A的公网地址(155.99.25.11:62000)之间的新的通信会话。一旦这个新的UDP会话各自向对方打开了,Client A和Client B之间就可以直接通信,而无需Server搭桥。
Claims (10)
1、一种在游戏中视频的使用和传输的方法,其特征在于:通过数据压缩算法对采集到的视频数据进行压缩,每个采集端通过建立不同的连接向一个或者多个Peer同时应用多线程技术发送压缩的图;再通过UDP的打洞技术穿透NAT进行UDP的P2P连接,并通过数据压缩算法将接收端的Peer接收到的图片格式转换成DirectX显示的图片格式。
2、根据权利要求1所述的一种在游戏中视频的使用和传输的方法,其特征在于:所述数据压缩算法采用JPEG算法;
所述JPEG算法的压缩编码分为三个步骤:
A.使用正向离散余弦变换(forward discrete cosine transform,FDCT)把空间域表示的图变换成频率域表示的图;
B.使用加权函数对DCT系数进行量化,这个加权函数对于人的视觉系统是最佳的;
C.使用霍夫曼可变字长编码器对量化系数进行编码;
所述JPEG算法的译码,即解压缩的过程与压缩编码过程相反,所述JPEG算法的压缩编码的主要计算步骤如下:
A.正向离散余弦变换(FDCT);
B.量化(quantization);
C.Z字形编码(zigzag scan);
D.使用差分脉冲编码调制(differential pulse code modulation,DPCM)对直流系数(DC)进行编码;
E.使用行程长度编码(run-length encoding,RLE)对交流系数(AC)进行编码;
F.熵编码(entropy coding)。
3、根据权利要求1所述的一种在游戏中视频的使用和传输的方法,其特征在于:所述视频数据是通过USB的摄像头并运用Microsoft Plarform SDK进行软件处理而采集到的。
4、根据权利要求1所述的一种在游戏中视频的使用和传输的方法,其特征在于:所述接收端的Peer接收到的图片格式是指通过JPEG算法压缩过的图片格式。
5、根据权利要求1所述的一种在游戏中视频的使用和传输的方法,其特征在于:所述转换是JPEG算法的解压过程,完成解压以后,图片以位图的格式传给DirectX进行显示。
6、根据权利要求1所述的一种在游戏中视频的使用和传输的方法,其特征在于:所述Peer指游戏客服端程序,每个Peer指不同的游戏客服端程序。
7、根据权利要求1所述的一种在游戏中视频的使用和传输的方法,其特征在于:所述多线程技术是允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。
8、根据权利要求1所述的一种在游戏中视频的使用和传输的方法,其特征在于:所述UDP即用户数据报协议,用于支持计算机之间传输数据的网络应用,UDP的打洞技术指一种在处于使用了NAT的私有网络中的Internet主机之间建立双向UDP连接的方法;所述UDP的打洞技术的具体步骤是:将位于NAT后的两台主机都与处于公共地址空间的第三台服务器相连,当一台主机的NAT设备建立好,UDP状态信息就转为直接通信,然后NAT设备会从另外一台主机传送过来时仍然保持当前状态。
9、根据权利要求1或8所述的一种在游戏中视频的使用和传输的方法,其特征在于:所述NAT即Network Address Translation,网络地址转换,是一个IETF标准,允许一个整体机构以一个公用IP地址出现在Internet上。
10、根据权利要求1所述的一种在游戏中视频的使用和传输的方法,其特征在于:所述P2P是Peer-to-Peer的缩写,即对等互联或点对点技术,用于让用户直接连接到其他用户的计算机,进行文件共享与交换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100225602A CN1988661A (zh) | 2006-12-21 | 2006-12-21 | 一种在游戏中视频的使用和传输的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100225602A CN1988661A (zh) | 2006-12-21 | 2006-12-21 | 一种在游戏中视频的使用和传输的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1988661A true CN1988661A (zh) | 2007-06-27 |
Family
ID=38185262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006100225602A Pending CN1988661A (zh) | 2006-12-21 | 2006-12-21 | 一种在游戏中视频的使用和传输的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1988661A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102209120A (zh) * | 2011-07-08 | 2011-10-05 | 盛趣信息技术(上海)有限公司 | 一种基于p2p技术的游戏画面共享系统及方法 |
CN101789914B (zh) * | 2009-01-23 | 2012-07-18 | 财团法人工业技术研究院 | 运用点对点代理服务的点对点通信装置与方法 |
CN101918934B (zh) * | 2007-12-05 | 2013-08-28 | 欧乐2号公司 | 用于加速网页传送的系统 |
CN113457160A (zh) * | 2021-07-15 | 2021-10-01 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
-
2006
- 2006-12-21 CN CNA2006100225602A patent/CN1988661A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101918934B (zh) * | 2007-12-05 | 2013-08-28 | 欧乐2号公司 | 用于加速网页传送的系统 |
CN101789914B (zh) * | 2009-01-23 | 2012-07-18 | 财团法人工业技术研究院 | 运用点对点代理服务的点对点通信装置与方法 |
CN102209120A (zh) * | 2011-07-08 | 2011-10-05 | 盛趣信息技术(上海)有限公司 | 一种基于p2p技术的游戏画面共享系统及方法 |
CN113457160A (zh) * | 2021-07-15 | 2021-10-01 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN113457160B (zh) * | 2021-07-15 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102625149B (zh) | 使用基于片的再现系统的低等待时间远程显示再现 | |
TWI680671B (zh) | 圖片檔處理方法、設備及系統以及儲存介質 | |
US6404928B1 (en) | System for producing a quantized signal | |
CN104580991B (zh) | 用于会议系统对会议会话的当前条件的实时适应的系统和方法 | |
CN101002471B (zh) | 对图像编码的方法和设备及对图像数据解码的方法和设备 | |
CN109218734A (zh) | 用于视频编码和解码的方法、装置和计算机程序产品 | |
Lee | JPEG 2000: Retrospective and new developments | |
JP2011519193A (ja) | モバイル端末でリッチビデオを実施するための方法 | |
CN101640784A (zh) | 一种在视频会议系统中控制多画面复合的控制装置及方法 | |
Gül et al. | Cloud rendering-based volumetric video streaming system for mixed reality services | |
CN103108186A (zh) | 实现视频高清传播的方法 | |
CN112235606A (zh) | 一种多层视频处理方法、系统和可读存储介质 | |
CN107070671A (zh) | 会议系统中共享桌面的处理方法 | |
CN1988661A (zh) | 一种在游戏中视频的使用和传输的方法 | |
CN101299709A (zh) | 基于互联网的流式媒体服务器系统 | |
CN102231834A (zh) | 一种apng文件在数字电视系统中的处理方法和装置 | |
CN116938906A (zh) | 一种基于共享内存点对点传输的云渲染推流优化方法 | |
KR20160015123A (ko) | 클라우드 스트리밍 서비스 시스템, 스틸 이미지 기반 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
WO2001022198A3 (en) | Data compression through offset representation | |
CN110798705A (zh) | 一种视频图像传输方法、装置及设备 | |
WO2021223577A1 (zh) | 一种视频处理的方法、相关装置、存储介质及程序产品 | |
WO2016107174A1 (zh) | 多媒体文件数据的处理方法及系统、播放器和客户端 | |
Gilbert | Text/graphics and image transmission over bandlimited lossy links | |
KR20020070721A (ko) | 동영상 전송장치 | |
CN107959833A (zh) | 一种家庭安防监控系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |