一种嵌入式摄像头视频采集及网络传输模块及其工作方法转让专利

申请号 : CN200910256031.2

文献号 : CN101729869B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 袁东风石祚夫魏斌林贺徐超王恒

申请人 : 山东大学

摘要 :

一种嵌入式摄像头视频采集及网络传输模块及其工作方法,属于视频网络传输技术领域。模块包括硬件和软件两部分,硬件是一个USB摄像头和嵌入式开发平台,软件写入嵌入式开发平台。嵌入式开发平台是带有S3C2410芯片并装有LINUX操作系统的开发板。工作方法,包括摄像头采集视频数据、网络传输和调节图像亮度和对比度。本发明能够在S3C2410嵌入式开发平台实现控制USB摄像头采集视频图像,并通过采用QT视频显示技术,既可以将采集的视频图像在本地的QT编写的可视化窗口中播放,也可以调整采集图像的格式,使图像在保证图像质量的前提下最大化压缩数据量,通过linux下的网络编程技术将压缩后视频数据通过网络传输,并且可以调节采集图像的亮度和对比度。

权利要求 :

1.一种嵌入式摄像头视频采集及网络传输模块的工作方法,模块包括硬件和软件两部分,硬件是一个USB摄像头和嵌入式开发平台,软件写入嵌入式开发平台;所述的嵌入式开发平台是带有S3C2410芯片并装有LINUX操作系统的开发板;其特征在于,工作方法如下:

1)设置被采集图像的对比度和亮度参数;

2)打开摄像头并初始化采集图像的各项参数;

3)创建并初始化网络套接字;

4)初始化视频流显示的参数;

5)初始化视频流压缩的参数;

6)设置并初始化视频发送缓冲区;

7)从摄像头中读取一帧原始图像数据;

8)显示原始图像数据;

9)将原始图像数据压缩;

10)建立UDP网络连接,将压缩的原始图像数据通过UDP网络发送到目的IP地址;

11)根据被采集图像的清晰度要求,实时调整采集图像的亮度和对比度。

2.如权利要求1所述的一种嵌入式摄像头视频采集及网络传输模块的工作方法,其特征在于,步骤2)所述的打开摄像头并初始化采集图像的各项参数的流程如下:

1)查看是否有摄像头节点;

2)内存映射;

3)检查设置的参数是否在摄像头允许取值的范围之内;

4)设置图像亮度;

5)设置图像对比度;

6)设置图像的分辨率;

7)设置图像的数据格式;

8)设置图像获取通道。

3.如权利要求1所述的一种嵌入式摄像头视频采集及网络传输模块的工作方法,其特征在于,所述步骤3)创建并初始化网络套接字的流程如下:

1)创建本地网络套接字;

2)设置本地网络套接字的协议族、端口、IP地址;

3)创建目的网络套接字;

4)设置目的网络套接字的协议族、端口、IP地址;

5)绑定本地网络和目的网络套接字。

4.如权利要求1所述的一种嵌入式摄像头视频采集及网络传输模块的工作方法,其特征在于,所述步骤4)初始化视频流显示的参数的流程如下:

1)设置显示器的显示深度;

2)设置图像显示的的分辨率;

3)设置播放图像的速率。

5.如权利要求1所述的一种嵌入式摄像头视频采集及网络传输模块的工作方法,其特征在于,所述步骤5)初始化视频流压缩的参数的流程如下:

1)设置视频的压缩标准;

2)设置视频的帧率;

3)设置视频的分辨率。

6.如权利要求1所述的一种嵌入式摄像头视频采集及网络传输模块的工作方法,其特征在于,所述步骤8)显示原始图像数据的流程如下:

1)读取一帧图像数据;

2)初始化QImage类和QRgb类;

3)将每帧视频数据中的每一个像素点的值转换成QRgb类中的像素点值;

4)将每个QRgb类中的像素点值按照原来的顺序排列成为QImage类的一帧图像;

5)初始化QPainter类;

6)调用QPainter类的drawImage接口函数和QImage类实例以显示出图像。

7.如权利要求1所述的一种嵌入式摄像头视频采集及网络传输模块的工作方法,其特征在于,所述步骤10)建立UDP网络连接,将压缩的图像数据通过UDP网络发送到目的IP地址的流程如下:

1)将图像数据按固定长度分为UDP包数据;

2)为每个UDP包数据加上控制信息,该控制信息即RTP头;

3)将UDP包数据和RTP头组成的UDP包通过网络套接字发往目的地址。

说明书 :

一种嵌入式摄像头视频采集及网络传输模块及其工作方法

技术领域

[0001] 本发明涉及一种嵌入式摄像头视频采集及网络传输模块及其工作方法,属于视频网络传输技术领域。

背景技术

[0002] 随着网络的蓬勃发展,摄像头视频显示及网络传输技术在日常生活、生产中得到了越来越广泛的应用。摄像头视频显示及网络传输技术一般包括摄像头的视频采集、视频显示和视频的网络传输等过程。此技术可以将摄像头采集到的视频数据实时显示,也可以按照特定的压缩标准进行压缩,形成视频帧序列。为了适应不同的传输网络,一个大的视频帧会被拆分成若干个数据包,分别添加上相应的控制信息,通过网络发送到客户端。
[0003] 另外,国内的嵌入式技术发展还处于起步阶段,应用于嵌入式开发平台的各项技术的开发也进展缓慢,摄像头视频显示及网络传输技术在S3C2440嵌入式开发平台的实现是一项空白。

发明内容

[0004] 针对现有技术的缺陷,本发明提供一种嵌入式摄像头视频采集及网络传输模块及其工作方法。
[0005] 一种嵌入式摄像头视频采集及网络传输模块,模块包括硬件和软件两部分,硬件是一个USB摄像头和嵌入式开发平台,软件写入嵌入式开发平台。
[0006] 所述的嵌入式开发平台是带有S3C2410芯片并装有LINUX操作系统的开发板。
[0007] 一种嵌入式摄像头视频采集及网络传输模块的工作方法,包括摄像头采集视频数据、网络传输和调节图像亮度和对比度,其特征在于,实现方法步骤如下:
[0008] 1)设置被采集图像的对比度和亮度参数;
[0009] 2)打开摄像头并初始化采集图像的各项参数;
[0010] 3)创建并初始化网络套接字;
[0011] 4)初始化视频流显示的参数;
[0012] 5)初始化视频流压缩的参数;
[0013] 6)设置并初始化视频发送缓冲区;
[0014] 7)从摄像头中读取一帧原始图像数据;
[0015] 8)显示原始图像数据;
[0016] 9)将原始图像数据压缩;
[0017] 10)建立UDP网络连接,将压缩的原始图像数据通过UDP网络发送到目的IP地址;
[0018] 11)根据被采集图像的清晰度要求,实时调整采集图像的亮度和对比度。
[0019] 步骤2)所述的打开摄像头并初始化采集图像的各项参数的流程如下:
[0020] 1)查看是否有摄像头节点;
[0021] 2)内存映射;
[0022] 3)检查设置的参数是否在摄像头允许取值的范围之内;
[0023] 4)设置图像亮度;
[0024] 5)设置图像对比度;
[0025] 6)设置图像的分辨率;
[0026] 7)设置图像的数据格式;
[0027] 8)设置图像获取通道。
[0028] 所述步骤3)创建并初始化网络套接字的流程如下:
[0029] 1)创建本地网络套接字;
[0030] 2)设置本地网络套接字的协议族、端口、IP地址;
[0031] 3)创建目的网络套接字;
[0032] 4)设置目的网络套接字的协议族、端口、IP地址;
[0033] 5)绑定本地网络和目的网络套接字。
[0034] 所述步骤4)初始化视频流显示的参数的流程如下:
[0035] 1)设置显示器的显示深度;
[0036] 2)设置图像显示的的分辨率;
[0037] 3)设置播放图像的速率。
[0038] 所述步骤5)初始化视频流压缩的参数的流程如下:
[0039] 1)设置视频的压缩标准;
[0040] 2)设置视频的帧率;
[0041] 3)设置视频的分辨率。
[0042] 所述步骤8)显示原始图像数据的流程如下:
[0043] 1)读取一帧图像数据;
[0044] 2)初始化QImage类和QRgb类;
[0045] 3)将每帧视频数据中的每一个像素点的值转换成QRgb类中的像素点值;
[0046] 4)将每个QRgb类中的像素点值按照原来的顺序排列成为QImage类的一帧图像;
[0047] 5)初始化QPainter类;
[0048] 6)调用QPainter类的drawImage接口函数和QImage类实例以显示出图像。
[0049] 所述步骤10)建立UDP网络连接,将压缩的图像数据通过UDP网络发送到目的IP地址的流程如下:
[0050] 1)将图像数据按固定长度分为UDP包数据;
[0051] 2)为每个UDP包数据加上控制信息,该控制信息即RTP头;
[0052] 3)将由UDP包数据和RTP头组成的UDP包通过网络套接字发往目的地址。
[0053] 本发明能够在S3C2410嵌入式开发平台实现控制USB摄像头采集视频图像,并通过采用QT视频显示技术,既可以将采集的视频图像在本地的QT编写的可视化窗口中播放,也可以调整采集图像的格式,使图像在保证图像质量的前提下最大化压缩数据量,通过linux下的网络编程技术将压缩后视频数据通过网络传输,并且可以调节采集图像的亮度和对比度。

附图说明

[0054] 图1为本发明的总体结构框图。
[0055] 图2为视频采集的流程图。
[0056] 图3为视频显示的流程图。
[0057] 图4为视频压缩及网络传输务的流程图。
[0058] 其中,1、摄像头,2、开发板,3、网络。具体实施方案:
[0059] 下面将结合附图和实施例对本发明做进一步的详细说明。
[0060] 实施例:
[0061] 一种嵌入式摄像头视频采集及网络传输模块,模块包括硬件和软件两部分,硬件是一个USB摄像头1和嵌入式开发平台,软件写入嵌入式开发平台。
[0062] 所述的嵌入式开发平台是带有S3C2410芯片并装有LINUX操作系统的开发板2。
[0063] 一种嵌入式摄像头视频采集及网络传输模块的工作方法,包括摄像头采集视频数据、网络传输和调节图像亮度和对比度,其特征在于,实现方法步骤如下:
[0064] 1)设置被采集图像的对比度和亮度参数;
[0065] 2)打开摄像头并初始化采集图像的各项参数;
[0066] 3)创建并初始化网络套接字;
[0067] 4)初始化视频流显示的参数;
[0068] 5)初始化视频流压缩的参数;
[0069] 6)设置并初始化视频发送缓冲区;
[0070] 7)从摄像头中读取一帧原始图像数据;
[0071] 8)显示原始图像数据;
[0072] 9)将原始图像数据压缩;
[0073] 10)建立UDP网络连接,将压缩的原始图像数据通过UDP网络发送到目的IP地址;
[0074] 11)根据被采集图像的清晰度要求,实时调整采集图像的亮度和对比度。
[0075] 步骤2)所述的打开摄像头并初始化采集图像的各项参数的流程如下:
[0076] 1)查看是否有摄像头节点;
[0077] 2)内存映射;
[0078] 3)检查设置的参数是否在摄像头允许取值的范围之内;
[0079] 4)设置图像亮度;
[0080] 5)设置图像对比度;
[0081] 6)设置图像的分辨率;
[0082] 7)设置图像的数据格式;
[0083] 8)设置图像获取通道。
[0084] 所述步骤3)创建并初始化网络套接字的流程如下:
[0085] 1)创建本地网络套接字;
[0086] 2)设置本地套接字的协议族、端口、IP地址;
[0087] 3)创建目的网络套接字;
[0088] 4)设置目的套接字的协议族、端口、IP地址;
[0089] 5)绑定套接字。
[0090] 所述步骤4)初始化视频流显示的参数的流程如下:
[0091] 1)设置显示器的显示深度;
[0092] 2)设置图像的分辨率;
[0093] 3)设置播放图像的速率。
[0094] 所述步骤5)初始化视频流压缩的参数的流程如下:
[0095] 4)设置视频的压缩标准;
[0096] 5)设置视频的帧率;
[0097] 6)设置视频的分辨率。
[0098] 所述步骤8)显示原始图像数据的流程如下:
[0099] 1)读取一帧图像数据;
[0100] 2)初始化QImage类和QRgb类;
[0101] 3)将每帧视频数据中的每一个像素点的值转换成QRgb类中的像素点值;
[0102] 4)将每个QRgb类中的像素点值按照原来的顺序排列成为QImage类的一帧图像;
[0103] 5)初始化QPainter类;
[0104] 6)调用QPainter类的drawImage接口函数和QImage类实例显示出图像。
[0105] 所述步骤10)建立UDP网络连接,将压缩的图像数据通过UDP网络发送到目的IP地址的流程如下:
[0106] 1)将图像数据按固定长度分为UDP包数据;
[0107] 2)为每个UDP包数据加上控制信息,即RTP头;
[0108] 3)将UDP包通过网络套接字发往目的地址。