高清视频循环存储网络摄录机
技术领域
本发明涉及计算机图像采集与处理技术领域,具体涉及一种高清视频图像捕获、视频音频识别、视频音频编码压缩、本机硬盘循环存储、网络传输技术的摄录机。
技术背景
目前的网络摄像机,有自带视频存储器、无视频存储器两种类型。对于自带视频存储器的网络摄像机,基本采用的是固态存储器,如SD闪存卡、CF闪存卡、SM闪存卡、记忆棒等,目前由于技术所限,存储容量只有几十吉,这使得高清视频摄像机只能存储很短时间的视频数据,使得产品运用受到了很大限制。
已公开的发明专利有,申请号:200410079437.5,公开日:2005年03月09日,名称是:网络照相机,能实现照相机照相后,网络传输图像。
目前的摄像机要解决无视频存储或视频存储容量小带来的问题,基本的解决措施是通过网络传送到服务器上。由于众所周知的网络带宽局限性,目前的网络摄像机只有降低视频分辨率或降低高清视频帧率,降低对网络带宽的要求,使得服务器接收的视频达不到高清的性能,或帧率降低,而高清的优势受到较大限制。
对于摄像机的启动方式,目前欠缺自带音频识别启动功能。
发明内容
为克服现有网络照相机的一些不足,本发明的高清视频循环存储网络摄录机由图像数据采集单元、数据处理单元、存储单元、外设与接口单元、循环存储文件系统配置组成,自带高清图像传感器和音频传感器,实现高清视频数据和音频数据的采集,实时视频识别和音频识别,将高清视频数据和音频数据压缩编码后在本机硬盘存储;实现将标清视频数据、音频数据实时传送到通过网络连接的服务器上;存储在本机硬盘的高清视频数据、音频数据可按时间段下载到通过网络与其连接的服务器上。
本发明所述的在硬盘上进行数据存储或读取,均是在循环文件系统上进行的。
本发明的本机高清视频数据、音频数据存储装置是本机的硬盘,存储容量320GB以上,可根据需要的存储周期选择硬盘容量。
本发明使用的循环存储文件系统,是按时间顺序循环存储文件数据的。循环存储文件系统在存储高清视频数据和音频数据文件时,如硬盘剩余容量不足,将自动删除最早存入的高清视频数据和音频数据文件,在增加硬盘剩余容量后,再把当前的高清视频数据和音频数据存入硬盘,使硬盘保存的是最新的最近的高清视频数据和音频数据。检索文件可按时间顺序进行文件检索。
本发明所述的循环文件系统是指循环存储文件系统的首目录地址参数是指向第一个文件目录,尾目录地址参数是指向第一个空目录;在硬盘被格式化时,首目录地址和尾目录地址相同,指向第0个文件目录位置;当硬盘没有足够的空间存储新文件时,文件系统的首目录地址向后跳过若干文件,释放这些文件对应的数据簇,用于新文件的存储;新文件在尾目录地址进行存储,存储后,文件系统的尾目录地址移向下一个空目录地址;写文件数据或读文件数据过程中,在数据簇地址向后移动超出最大数据簇地址时,转到第一个数据簇地址继续写或读文件数据。
本发明的循环文件系统对本机硬盘所有扇区从第0扇区开始依次作如下划分:
1)参数存储区:扇区数大于1,由地址连续的扇区组成,保存本机的工作参数和文件系统的状态参数,其扇区数在下文描述;
2)数据簇索引表1存储区:由地址连续的扇区组成,其一个扇区对应128个数据簇,本表的扇区数=(硬盘总扇区数一参数存储区扇区数)/(128×每簇扇区数+2),其中,参数存储区扇区数大于1,通过调整参数存储区扇区数,使上述计算的余数刚好为0;数据簇索引表及其对应的数据簇,按存储时间顺序依次是文件目录簇、文件数据簇、文件目录簇、文件数据簇,如此循环排列。
3)数据簇索引表2:本表是数据簇索引表1的备份,由地址连续的扇区组成,扇区数与数据簇索引表1的相同;
4)数据簇:由地址连续的扇区组成,用于存储文件目录或数据,其扇区数=文件数据索引表1扇区数×128×每簇扇区数;这里,每簇扇区数为2N,N是大于0的整数,根据硬盘容量确定;用于存储文件目录的一个簇对应的文件目录数量=每簇扇区数×512/(32×2M),每个文件目录字节数是(32×2M),这里,M为大于等于0且小于等于4的整数;
本发明的摄录机具有工作模式I和工作模式II,并自动在工作模式I或工作模式II间进行切换。平时处在工作模式I,当识别到视频或声频有异常时,或是接收到报警信息时,自动进入工作模式II,当识别不到异常一段时间后,设备又进入到工作模式I。
上述的工作模式I,是指本机同时工作在:实时采集高清视频数据和音频数据,将高清视频数据转换成标清视频数据,与音频数据一起编码压缩后传送到通过网络连接的服务器上;实时进行视频识别和音频识别;已存储在本地的高清视频数据、音频数据可下载到通过网络与其连接的服务器上。
上述的工作模式II,是指本机同时工作在:实时采集高清视频数据和音频数据,将采集的高清视频数据和音频数据压缩编码后存储到本机硬盘上;将高清视频数据转换成标清视频数据,与音频数据一起编码压缩后传送到通过网络连接的服务器上;实时进行视频识别和音频识别;已存储在本地的高清视频数据、音频数据可下载到通过网络与其连接的服务器上。
本发明的文件系统在持续一段时间不对硬盘进行读写操作,则控制硬盘进入休眠状态。当文件系统对硬盘有操作时,如硬盘处在休眠状态,则先控制硬盘退出休眠状态,唤醒硬盘,再进行对硬盘的读写操作。在工作模式I时,高清视频数据、音频数据不存储到硬盘上,硬盘处于休眠状态,可有效提高硬盘的使用寿命。
本发明对存储到本机硬盘的高清视频数据的编码压缩方法是:开始帧的亮度和色度均设为零;将当前帧亮度与上一帧亮度的变换量、当前帧色度与上一帧色度的变换量分别分割成8乘8的数据块,进行DCT变换、Z变换、可变行程编码,进行无损编码压缩后存储到硬盘上。
本发明的高清视频循环存储网络摄录机组成与连接:由数据处理单元、图像数据采集单元、存储单元、外设与接口单元、循环存储文件系统组成:
数据处理单元:用于运行控制、数据处理、通信;由DSP CPU、ARM CPU、图像/视频数据输入接口、图像/视频数据输出接口、音频接口、ATA接口、DDR2存储器接口、闪存存储器接口、第一UART接口,第二UART接口,第三UART接口、I2C接口、EMAC接口、USB接口、第一通用IO口,第二通用IO口、总线切换等,通过数据总线和地址总线连接组成。
图像数据采集单元:用于图像数据的采集;由镜头、图像传感器、镜头电机驱动电路、图像传感器驱动与A/D转换电路、补光灯驱动电路、补光灯插座等连接而成;其中,镜头电机端子与镜头电机驱动电路输出口连接,图像传感器的输入时钟口与图像传感器驱动与A/D转换电路的时钟驱动输出口连接,图像传感器的图像信号模拟输出口与图像传感器驱动与A/D转换电路的模拟信号输入口连接,图像传感器驱动与A/D转换电路的闪光同步信号输出口与补光灯驱动电路的闪光同步输入口连接,补光灯驱动电路的闪光同步驱动输出口与补光灯插座连接。
存储单元:用于程序存储、参数存储、图像数据存储;由I2C ROM、DDR2RAM、FLASH存储器、硬盘存储电路等,通过数据与控制总线与数据处理单元连接而成。
外设与接口单元:由视频编码器、音频编码/解码器、网络收发电路、RS-232收发电路、RS-485收发电路、USB电源开关电路、IO口驱动电路、MIC电路、视频输出插座、音频输出插座、RJ45插座、RS-232DB9插座、RS-485插座、USB插座、IO接口插座等连接而成;其中,视频编码器的模拟视频输出口与视频输出插座连接,音频编码/解码器的模拟音频输入口与MIC电路的音频输出口连接,音频编码/解码器的模拟音频输出口与音频输出插座连接;网络收发电路的驱动输入输出口与RJ45插座连接,RS-232电路)的驱动输入输出口与RS-232插座连接,RS-485收发电路驱动输入输出口与RS-485插座连接,USB电源开关电路的电源输出口与USB插座连接,IO口驱动电路的驱动输入输出口与IO接口插座连接。
上述单元之间连接关系是:图像传感器驱动与A/D转换电路的数据与控制总线与图像/视频数据输入接口连接,图像传感器驱动与A/D转换电路的控制输入口与第一通用IO口连接,补光灯驱动电路的补光控制输入口与第一通用IO口连接,I2C ROM存储器的I2C接口与I2C接口连接,DDR2RAM存储器的数据与控制总线与DDR2RAM存储器接口连接,FLASH存储器的数据与控制总线与闪存存储器接口连接,硬盘存储电路的数据与控制总线与ATA接口连接,视频编码器的视频数据输入口与图像/视频数据输出接口连接,视频编码器的I2C口与I2C接口连接,音频编码/解码器的音频数据总线与音频接口连接,音频编码/解码器的I2C接口与I2C接口连接,网络收发电路的EMAC接口与EMAC接口连接,RS-232电路与第一UART接口连接,RS-485电路与第二UART接口连接,USB插座与USB接口连接,IO口驱动电路与第二通用IO口连接。
高清视频循环存储网络摄录机视频数据处理流程:外部的光线通过镜头在图像传感器上形成影像,在图像传感器驱动与A/D转换电路的时序控制下,图像传感器输出模拟图像信号到图像传感器驱动与A/D转换电路进行模拟数据转换;图像传感器驱动与A/D转换电路模数转换出的图像数据送到数据处理单元的图像/视频数据输入接口;图像数据接口以DMA的方式将接收的图像数据写入到DDR2RAM存储器缓存;DDR2RAM存储器缓存的图像数据送数据处理单元进行下一步处理。
数据处理单元按以下流程对DDR2RAM存储器缓存的图像数据进行:
(a)由DSP CPU将图像数据进行几个像素提取一个像素的方式,进行图像幅面缩小处理,将高清视频数据转换成标清视频数据;通过视频数据输出口输出到视频编码;通过视频编码器编码后输出标清模拟视频到视频输出插座;DSP CPU将标清视频数据进行标准的编码压缩后,输出给ARM CPU处理;ARM CPU将接收的标清视频数据进行网络数据打包,打包后的数据传送网络收发器;网络收发器将接收到的数据包发送到网络上。
(b)DSP CPU对转换得到的标清视频数据进行识别,当识别到异常时,设置高清视频数据存盘使能标志,通知文件系统进行高清视频数据存盘;DSP CPU音频识别到异常时,或是DSP CPU接收到报警信息时,设置高清视频数据存盘使能标志,通知文件系统进行高清视频数据存盘;DSP CPU检测到高清视频数据存盘使能标志时,由DSP CPU进行高清视频数据编码压缩,编码后的数据送ARM CPU存储处理;ARM CPU将接收到的编码压缩数据形成数据文件;ARM CPU将数据文件存储到硬盘存储器的循环存储文件系统中。
音频数据处理流程:本发明的音频数据处理流程是:外部的声音被MIC电路捕获后,由MIC电路输出音频模拟信号到音频编/解码器进行处理;音频编/解码器将接收到的音频信号进行信号增益处理后,进行模拟音频到数字音频的转换,音频数据送音频数据接口处理;音频数据接口通过DMA方式将接收的音频数据送DDR2RAM存储器缓存;DDR2RAM存储器缓存的数据送数据处理单元进行下一步处理。
数据处理单元按以下流程对DDR2RAM存储器缓存的音频数据进行:
(c)由音频数据接口将音频数据送到音频编码/解码器处理;音频编码/解码器将接收的音频数据进行数模转换、信号放大,并输出模拟音频信号到音频输出插座;DSP CPU对音频数据进行标准的编码压缩,送ARM CPU处理;ARM CPU对接收的音频数据进行网络数据打包,打包后的音频数据送网络收发器;网络收发器将接收到的数据包发送到网络上。
(d)DSP CPU对音频数据进行识别,当识别到异常时,设置音频数据存盘使能标志,通知文件系统进行音频数据存盘;DSP CPU视频识别到异常时,或是DSP CPU接收到报警信息时,设置音频数据存盘使能标志,通知文件系统进行音频数据存盘;DSP CPU检测到音频数据存盘使能标志时,对音频数据进行标准的编码压缩,编码后的数据送ARM CPU存储处理;ARM CPU将接收到的编码压缩数据形成数据文件;ARM CPU将数据文件存储到硬盘存储器的循环存储文件系统中。
网络通信:网络服务器通、网络、本发明的高清视频循环存储摄录机配置成的系统,可进行如下双向数据交换:
(e)数据文件(包含高清视频数文件、音频数据文件)下载:网络服务器运行客户软件,通过客户软件发送文件数据下载指令到本摄录机,本摄录机接收到该下载指令后,在循环存储文件系统中进行文件检索,当检索到本机硬盘中有要下载的文件后,本摄录机读取该文件数据,通过网络发送给该网络服务器。
(f)标清视频数据流和音频数据流上传:本摄录机采集的标清视频数据和音频数据在编码压缩后,通过网络实时传送到网络服务器,由运行在该网络服务器上的客户软件进行接收。
循环存储文件系统:循环存储文件系统在本摄录机启动时,对硬盘进行初始化。初始化文件系统的存取参数,首目录地址参数和尾目录地址参数分别指向硬盘文件的首目录和尾目录的下一个空目录,初始化读文件目录地址参数。处理其它任务,包含视频图像采集、标清视频数据流编码、音频数据采集、音频数据流编码、视频识别、音频识别、网络通信、USB通信、RS-232通信、RS-485通信等处理任务。检查是否有文件要存入硬盘,当检测到有文件要存储时,在存储该文件之前检查硬盘剩余空间是否足够存储该文件,如硬盘处于休眠状态则先唤醒硬盘。当硬盘剩余空间不够存储文件时,则依据文件系统首目录参数,删除首目录簇与对应的文件数据簇,并将首目录参数修改为下一个文件目录地址,释放相应的数控簇用于新文件存储。当剩余存储空间足够时,在尾目录参数对应的空目录处存储文件,并修改尾目录参数,指向下一个空目录地址。文件系统检测到当有文件要读取时,如果硬盘处于休眠状态则先唤醒硬盘,文件系统按时间顺序进行检索要读取的文件,在检索到文件后,则读取文件数据,并记录下该文件目录的下一个文件目录。记录下读文件成功标志和文件数据缓存的数据地址,供其它任务使用。步骤111判断是否继续读取下一个文件,当是继续读取下一个文件时,依据上次设置的文件目录地址读取文件数据。文件系统对硬盘无文件操作时进行计时,当连续计时大于设定的时间后,文件系统控制硬盘进入休眠状态。
文件系统在开始时读取硬盘参数,检查硬盘是否已格式化,如没有格式化过,则对硬盘进行如上所述进行分区,清空数据簇索引表,初始化参数存储区。
在文件系统初始化硬盘后,文件系统读取硬盘参数存储区的数据,初始化文件系统的首目录地址参数、尾目录地址参数。当硬盘不为空时,首目录地址参数、尾目录地址参数分别初始化成首目录地址和尾目录地址。当硬盘为空时,首目录地址参数、尾目录地址参数分别初始成0。
高清视频循环存储网络摄录机高清视频数据编码:对用于高清视频相邻帧增量计算用的亮度、色度缓存器Y、Gb、Gr阵列进行初始化,阵列中所有变量初始化为0。本摄录机读取当前视频帧RGB图像数据阵列,计算出本帧的亮度、色度Y、Gb、Gr阵列。计算出的亮度、色度Y、Gb、Gr阵列分别与亮度、色度缓存器Y、Gb、Gr阵列进行减计算,得到当前高清视频数据帧与上一高清视频数据帧的亮度、色度Y、Gb、Gr的增量阵列。把当前高清视频数据帧的亮度、色度Y、Gb、Gr阵列存储到亮度、色度缓存器Y、Gb、Gr阵列,为参与下一高清视频帧数据增量的计算做初始化。分别将亮度、色度Y、Gb、Gr增量阵列分割成8乘8的数据块,进行DCT变换(离散余弦变换)、Z变换、可变行程编码,编码后的数据供其它任务使用,如形成高清视频数据文件由循环存储文件系统存到硬盘中。
本发明的显著进步在于使用的循环存储文件系统,是按时间顺序循环存储文件数据的;实现高清视频数据和音频数据的采集,实时视频识别和音频识别,将高清视频数据和音频数据压缩编码后在本机硬盘存储;实现将标清视频数据、音频数据实时传送到通过网络连接的服务器上;存储在本机硬盘的高清视频数据、音频数据可按时间段下载到通过网络与其连接的服务器上。
附图说明
图1:整机电路原理框图
图中:本发明由数据处理单元、图像数据采集单元、存储单元、外设与接口单元、循环存储文件系统组成,各单元连接关系是:
数据处理单元:用于运行控制、数据处理、通信;由DSP CPU(U101)、ARM CPU(U102)、图像/视频数据输入接口(U105)、图像/视频数据输出接口(U119)、音频接口(U116)、ATA接口(U110)、DDR2存储器接口(U108)、闪存存储器接口(U109)、第一UART接口(U114),第二UART接口(U113),第三UART接口(U106)、I2C接口(U107)、EMAC接口(U115)、USB接口(U112)、第一通用IO口(U104),第二通用IO口(U111)、总线切换(U103)等,通过数据总线和地址总线连接组成;
图像数据采集单元:用于图像数据的采集;由镜头(U0)、图像传感器(U9)、镜头电机驱动电路(U10)、图像传感器驱动与A/D转换电路(U3)、补光灯驱动电路(U8)、补光灯插座(JZ2)等连接而成;其中,镜头(U0)电机端子与镜头电机驱动电路(U10)输出口连接,图像传感器(U9)的输入时钟口与图像传感器驱动与A/D转换电路(U3)的时钟驱动输出口连接,图像传感器(U9)的图像信号模拟输出口与图像传感器驱动与A/D转换电路(U3)的模拟信号输入口连接,图像传感器驱动与A/D转换电路(U3)的闪光同步信号输出口与补光灯驱动电路(U8)的闪光同步输入口连接,补光灯驱动电路(U8)的闪光同步驱动输出口与补光灯插座(JZ2)连接;
存储单元:用于程序存储、参数存储、图像数据存储;由I2C ROM(U4)、DDR2RAM(U5)、FLASH存储器(U6)、硬盘存储电路(U12)等,通过数据与控制总线与数据处理单元连接而成;
外设与接口单元:由视频编码器(U19)、音频编码/解码器(U18)、网络收发电路(U17)、RS-232收发电路(U16)、RS-485收发电路(U15)、USB电源开关电路(U14)、IO口驱动电路(U13)、MIC电路(U20)、视频输出插座(JZ1)、音频输出插座(JZ4)、RJ45插座(JZ5)、RS-232DB9插座(JZ6)、RS-485插座(JZ7)、USB插座(JZ8)、IO接口插座(JZ9)等连接而成;其中,视频编码器(U19)的模拟视频输出口与视频输出插座(JZ1)连接,音频编码/解码器(U18)的模拟音频输入口与MIC电路(U20)的音频输出口连接,音频编码/解码器(U18)的模拟音频输出口与音频输出插座(JZ4)连接;网络收发电路(U17)的驱动输入输出口与RJ45插座(JZ5)连接,RS-232电路(U16)的驱动输入输出口与RS-232插座(JZ6)连接,RS-485收发电路(U15)驱动输入输出口与RS-485插座(JZ7)连接,USB电源开关电路(U14)的电源输出口与USB插座(JZ8)连接,IO口驱动电路(U13)的驱动输入输出口与IO接口插座(JZ9)连接;
上述单元之间,图像传感器驱动与A/D转换电路(U3)的数据与控制总线与图像/视频数据输入接口(U105)连接,图像传感器驱动与A/D转换电路(U3)的控制输入口与第一通用IO口(U104)连接,补光灯驱动电路(U8)的补光控制输入口与第一通用IO口(U104)连接,I2C ROM存储器(U4)的I2C接口与I2C接口(U107)连接,DDR2RAM存储器(U5)的数据与控制总线与DDR2RAM存储器接口(U108)连接,FLASH存储器(U6)的数据与控制总线与闪存存储器接口(U109)连接,硬盘存储电路(U12)的数据与控制总线与ATA接口(U110)连接,视频编码器(U19)的视频数据输入口与图像/视频数据输出接口(U119)连接,视频编码器(U19)的I2C口与I2C接口(U107)连接,音频编码/解码器(U18)的音频数据总线与音频接口(U116)连接,音频编码/解码器(U18)的I2C接口与I2C接口(U107)连接,网络收发电路(U17)的EMAC接口与EMAC接口(U115)连接,RS-232电路(U16)与第一UART接口(U114)连接,RS-485电路(U15)与第二UART接口(U113)连接,USB插座(JZ8)与USB接口(U112)连接,IO口驱动电路(U13)与第二通用IO口(U111)连接。
图2:视频数据处理流程框图
图中:本发明的视频数据处理流程是:步骤20,外部的光线通过镜头(U0)在图像传感器(U9)上形成影像,在图像传感器驱动与A/D转换电路(U3)的时序控制下,图像传感器(U9)输出模拟图像信号到图像传感器驱动与A/D转换电路(U3)进行模拟数据转换;步骤21,图像传感器驱动与A/D转换电路(U3)模数转换出的图像数据送到数据处理单元的图像/视频数据输入接口(U105);步骤22,图像数据接口(U105)以DMA的方式将接收的图像数据写入到DDR2RAM存储器(U5)缓存;步骤23,DDR2RAM存储器(U5)缓存的图像数据送数据处理单元进行下一步处理。
数据处理单元按以下流程对DDR2RAM存储器(U5)缓存的图像数据进行:
步骤27,由DSP CPU(U101)将图像数据进行几个像素提取一个像素的方式,进行图像幅面缩小处理,将高清视频数据转换成标清视频数据;步骤26,通过视频数据输出口(U119)输出到视频编码(U19);步骤25,通过视频编码器(U19)编码后输出标清模拟视频到视频输出插座(JZ1);步骤29,DSP CPU(U101)将标清视频数据进行标准的编码压缩后,输出给ARM CPU(U102)处理;步骤34,ARM CPU(U102)将接收的标清视频数据进行网络数据打包,打包后的数据传送网络收发器(U17);步骤33,网络收发器(U17)将接收到的数据包发送到网络上。
步骤30,DSP CPU(U101)对转换得到的标清视频数据进行识别,当识别到异常大时,设置高清视频数据存盘使能标志,通知文件系统进行高清视频数据存盘;步骤35,DSPCPU(U101)音频识别到异常时,或是步骤36,DSP CPU(U101)接收到报警信息时,设置高清视频数据存盘使能标志,通知文件系统进行高清视频数据存盘;步骤24,DSP CPU(U101)检测到高清视频数据存盘使能标志时,由DSP CPU(U101)进行高清视频数据编码压缩,编码后的数据送ARM CPU(U102)存储处理;步骤28,ARM CPU(U102)将接收到的编码压缩数据形成数据文件;步骤31,ARM CPU(U102)将数据文件存储到硬盘存储器(U12)的循环存储文件系统中。
图3:音频数据处理流程框图
图中:本发明的音频数据处理流程是:步骤01,外部的声音被MIC电路(U20)捕获后,由MIC电路(U20)输出音频模拟信号到音频编/解码器(U18)进行处理;步骤02,音频编/解码器(U18)将接收到的音频信号进行信号增益处理后,进行模拟音频到数字音频的转换,音频数据送音频数据接口(U116)处理;步骤03,音频数据接口(U116)通过DMA方式将接收的音频数据送DDR2RAM存储器(U5)缓存;步骤04,DDR2RAM存储器(U5)缓存的数据送数据处理单元进行下一步处理。
数据处理单元按以下流程对DDR2RAM存储器(U5)缓存的音频数据进行:
步骤07,由音频数据接口(U116)将音频数据送到音频编码/解码器(U18)处理;步骤06,音频编码/解码器(U18)将接收的音频数据进行数模转换、信号放大,并输出模拟音频信号到音频输出插座(JZ4);步骤12,DSP CPU(U101)对音频数据进行标准的编码压缩,送ARM CPU(U102)处理;步骤11,ARM CPU(U102)对接收的音频数据进行网络数据打包,打包后的音频数据送网络收发器(U17);步骤10,网络收发器(U17)将接收到的数据包发送到网络上。
步骤15,DSP CPU(U101)对音频数据进行识别,当识别到异常时,设置音频数据存盘使能标志,通知文件系统进行音频数据存盘;步骤14,DSP CPU(U101)视频识别到异常时,或是步骤16,DSP CPU(U101)接收到报警信息时,设置音频数据存盘使能标志,通知文件系统进行音频数据存盘;步骤05,DSP CPU(U101)检测到音频数据存盘使能标志时,对音频数据进行标准的编码压缩,编码后的数据送ARM CPU(U102)存储处理;步骤08,ARMCPU(U102)将接收到的编码压缩数据形成数据文件;步骤13,ARM CPU(U102)将数据文件存储到硬盘存储器(U12)的循环存储文件系统中。
图4:网络服务器与本发明的配置图
图中:网络服务器、网络、本发明的高清视频循环存储摄录机配置成的系统。
图5:循环文件系统工作流程图
图中:循环存储文件系统在本摄录机启动时,步骤101对硬盘进行初始化。步骤102,初始化文件系统的存取参数,首目录地址参数和尾目录地址参数分别指向硬盘文件的首目录和尾目录的下一个空目录,初始化读文件目录地址参数。步骤103,处理其它任务,包含视频图像采集、标清视频数据流编码、音频数据采集、音频数据流编码、视频识别、音频识别、网络通信、USB通信、RS-232通信、RS-485通信等处理任务。步骤104检查是否有文件要存入硬盘,当检测到有文件要存储时,步骤105在存储该文件之前检查硬盘剩余空间是否足够存储该文件,如硬盘处于休眠状态则先唤醒硬盘。步骤106当硬盘剩余空间不够存储文件时,则依据文件系统首目录参数,删除首目录簇与对应的文件数据簇,并将首目录参数修改为下一个文件目录地址,释放相应的数控簇用于新文件存储。步骤107,当剩余存储空间足够时,在尾目录参数对应的空目录处存储文件,并修改尾目录参数,指向下一个空目录地址。步骤108,文件系统检测到当有文件要读取时,如果硬盘处于休眠状态则先唤醒硬盘,文件系统按时间顺序进行检索要读取的文件,在检索到文件后,步骤110则读取文件数据,并记录下该文件目录的下一个文件目录。步骤113记录下读文件成功标志和文件数据缓存的数据地址,供其它任务使用。步骤111判断是否继续读取下一个文件,当是继续读取下一个文件时,步骤112依据上次设置的文件目录地址读取文件数据。步骤114文件系统对硬盘无文件操作时进行计时,当连续计时大于设定的时间后,步骤115文件系统控制硬盘进入休眠状态。
图6:格式化硬盘工作流程图
图中:步骤117文件系统在开始时读取硬盘参数,检查硬盘是否已格式化,如没有格式化过,步骤118、119则对硬盘进行如上所述进行分区,清空数据簇索引表,初始化参数存储区。
图7:循环文件系统参数初始化流程图
图中:在文件系统初始化硬盘后,步骤120文件系统读取硬盘参数存储区的数据,初始化文件系统的首目录地址参数、尾目录地址参数。步骤123当硬盘不为空时,首目录地址参数、尾目录地址参数分别初始化成首目录地址和尾目录地址。步骤122当硬盘为空时,首目录地址参数、尾目录地址参数分别初始成0。
图8:硬盘存储的视频图像压缩编码流程图
图中:步骤201对用于高清视频相邻帧增量计算用的亮度、色度缓存器Y、Gb、Gr阵列进行初始化,阵列中所有变量初始化为0。步骤203,本摄录机读取当前视频帧RGB图像数据阵列,计算出本帧的亮度、色度Y、Gb、Gr阵列。步骤204中,由步骤203计算出的亮度、色度Y、Gb、Gr阵列分别与亮度、色度缓存器Y、Gb、Gr阵列进行减计算,得到当前高清视频数据帧与上一高清视频数据帧的亮度、色度Y、Gb、Gr的增量阵列。步骤205,把当前高清视频数据帧的亮度、色度Y、Gb、Gr阵列存储到亮度、色度缓存器Y、Gb、Gr阵列,为参与下一高清视频帧数据增量的计算做初始化。步骤206,分别将亮度、色度Y、Gb、Gr增量阵列分割成8乘8的数据块,进行DCT变换(离散余弦变换)、Z变换、可变行程编码,编码后的数据供其它任务使用,如形成高清视频数据文件由循环存储文件系统存到硬盘中。
实施例
实施高清视频循环存储网络摄录机,并结合附图说明如下:
组成与连接:参看图1,本发明由数据处理单元、图像数据采集单元、存储单元、外设与接口单元、循环存储文件系统组成,各单元连接关系是:
数据处理单元:用于运行控制、数据处理、通信;由DSPCPU(U101)、ARMCPU(U102)、图像/视频数据输入接口(U105)、图像/视频数据输出接口(U119)、音频接口(U116)、ATA接口(U110)、DDR2存储器接口(U108)、闪存存储器接口(U109)、第一UART接口(U114),第二UART接口(U113),第三UART接口(U106)、I2C接口(U107)、EMAC接口(U115)、USB接口(U112)、第一通用IO口(U104),第二通用IO口(U111)、总线切换(U103)等,通过数据总线和地址总线连接组成;
图像数据采集单元:用于图像数据的采集;由镜头(U0)、图像传感器(U9)、镜头电机驱动电路(U10)、图像传感器驱动与A/D转换电路(U3)、补光灯驱动电路(U8)、补光灯插座(JZ2)等连接而成;其中,镜头(U0)电机端子与镜头电机驱动电路(U10)输出口连接,图像传感器(U9)的输入时钟口与图像传感器驱动与A/D转换电路(U3)的时钟驱动输出口连接,图像传感器(U9)的图像信号模拟输出口与图像传感器驱动与A/D转换电路(U3)的模拟信号输入口连接,图像传感器驱动与A/D转换电路(U3)的闪光同步信号输出口与补光灯驱动电路(U8)的闪光同步输入口连接,补光灯驱动电路(U8)的闪光同步驱动输出口与补光灯插座(JZ2)连接;
存储单元:用于程序存储、参数存储、图像数据存储;由I2C ROM(U4)、DDR2RAM(U5)、FLASH存储器(U6)、硬盘存储电路(U12)等,通过数据与控制总线与数据处理单元连接而成;
外设与接口单元:由视频编码器(U19)、音频编码/解码器(U18)、网络收发电路(U17)、RS-232收发电路(U16)、RS-485收发电路(U15)、USB电源开关电路(U14)、IO口驱动电路(U13)、MIC电路(U20)、视频输出插座(JZ1)、音频输出插座(JZ4)、RJ45插座(JZ5)、RS-232DB9插座(JZ6)、RS-485插座(JZ7)、USB插座(JZ8)、IO接口插座(JZ9)等连接而成;其中,视频编码器(U19)的模拟视频输出口与视频输出插座(JZ1)连接,音频编码/解码器(U18)的模拟音频输入口与MIC电路(U20)的音频输出口连接,音频编码/解码器(U18)的模拟音频输出口与音频输出插座(JZ4)连接;网络收发电路(U17)的驱动输入输出口与RJ45插座(JZ5)连接,RS-232电路(U16)的驱动输入输出口与RS-232插座(JZ6)连接,RS-485收发电路(U15)驱动输入输出口与RS-485插座(JZ7)连接,USB电源开关电路(U14)的电源输出口与USB插座(JZ8)连接,IO口驱动电路(U13)的驱动输入输出口与IO接口插座(JZ9)连接;
上述单元之间,图像传感器驱动与A/D转换电路(U3)的数据与控制总线与图像/视频数据输入接口(U105)连接,图像传感器驱动与A/D转换电路(U3)的控制输入口与第一通用IO口(U104)连接,补光灯驱动电路(U8)的补光控制输入口与第一通用IO口(U104)连接,I2C ROM存储器(U4)的I2C接口与I2C接口(U107)连接,DDR2RAM存储器(U5)的数据与控制总线与DDR2RAM存储器接口(U108)连接,FLASH存储器(U6)的数据与控制总线与闪存存储器接口(U109)连接,硬盘存储电路(U12)的数据与控制总线与ATA接口(U110)连接,视频编码器(U19)的视频数据输入口与图像/视频数据输出接口(U119)连接,视频编码器(U19)的I2C口与I2C接口(U107)连接,音频编码/解码器(U18)的音频数据总线与音频接口(U116)连接,音频编码/解码器(U18)的I2C接口与I2C接口(U107)连接,网络收发电路(U17)的EMAC接口与EMAC接口(U115)连接,RS-232电路(U16)与第一UART接口(U114)连接,RS-485电路(U15)与第二UART接口(U113)连接,USB插座(JZ8)与USB接口(U112)连接,IO口驱动电路(U13)与第二通用IO口(U111)连接。
视频数据处理流程:参看图2,本发明的视频数据处理流程是:步骤20,外部的光线通过镜头(U0)在图像传感器(U9)上形成影像,在图像传感器驱动与A/D转换电路(U3)的时序控制下,图像传感器(U9)输出模拟图像信号到图像传感器驱动与A/D转换电路(U3)进行模拟数据转换;步骤21,图像传感器驱动与A/D转换电路(U3)模数转换出的图像数据送到数据处理单元的图像/视频数据输入接口(U105);步骤22,图像数据接口(U105)以DMA的方式将接收的图像数据写入到DDR2RAM存储器(U5)缓存;步骤23,DDR2RAM存储器(U5)缓存的图像数据送数据处理单元进行下一步处理。
数据处理单元按以下流程对DDR2RAM存储器(U5)缓存的图像数据进行:
(1)步骤27,由DSP CPU(U101)将图像数据进行几个像素提取一个像素的方式,进行图像幅面缩小处理,将高清视频数据转换成标清视频数据;步骤26,通过视频数据输出口(U119)输出到视频编码(U19);步骤25,通过视频编码器(U19)编码后输出标清模拟视频到视频输出插座(JZ1);步骤29,DSP CPU(U101)将标清视频数据进行标准的编码压缩后,输出给ARMCPU(U102)处理;步骤34,ARMCPU(U102)将接收的标清视频数据进行网络数据打包,打包后的数据传送网络收发器(U17);步骤33,网络收发器(U17)将接收到的数据包发送到网络上。
(2)步骤30,DSP CPU(U101)对转换得到的标清视频数据进行识别,当识别到异常大时,设置高清视频数据存盘使能标志,通知文件系统进行高清视频数据存盘;步骤35,DSPCPU(U101)音频识别到异常时,或是步骤36,DSP CPU(U101)接收到报警信息时,设置高清视频数据存盘使能标志,通知文件系统进行高清视频数据存盘;步骤24,DSP CPU(U101)检测到高清视频数据存盘使能标志时,由DSP CPU(U101)进行高清视频数据编码压缩,编码后的数据送ARM CPU(U102)存储处理;步骤28,ARM CPU(U102)将接收到的编码压缩数据形成数据文件;步骤31,ARM CPU(U102)将数据文件存储到硬盘存储器(U12)的循环存储文件系统中。
音频数据处理流程:参看图3,本发明的音频数据处理流程是:步骤01,外部的声音被MIC电路(U20)捕获后,由MIC电路(U20)输出音频模拟信号到音频编/解码器(U18)进行处理;步骤02,音频编/解码器(U18)将接收到的音频信号进行信号增益处理后,进行模拟音频到数字音频的转换,音频数据送音频数据接口(U116)处理;步骤03,音频数据接口(U116)通过DMA方式将接收的音频数据送DDR2RAM存储器(U5)缓存;步骤04,DDR2RAM存储器(U5)缓存的数据送数据处理单元进行下一步处理。
数据处理单元按以下流程对DDR2RAM存储器(U5)缓存的音频数据进行:
(3)步骤07,由音频数据接口(U116)将音频数据送到音频编码/解码器(U18)处理;步骤06,音频编码/解码器(U18)将接收的音频数据进行数模转换、信号放大,并输出模拟音频信号到音频输出插座(JZ4);步骤12,DSP CPU(U101)对音频数据进行标准的编码压缩,送ARM CPU(U102)处理;步骤11,ARM CPU(U102)对接收的音频数据进行网络数据打包,打包后的音频数据送网络收发器(U17);步骤10,网络收发器(U17)将接收到的数据包发送到网络上。
(4)步骤15,DSP CPU(U101)对音频数据进行识别,当识别到异常时,设置音频数据存盘使能标志,通知文件系统进行音频数据存盘;步骤14,DSP CPU(U101)视频识别到异常时,或是步骤16,DSP CPU(U101)接收到报警信息时,设置音频数据存盘使能标志,通知文件系统进行音频数据存盘;步骤05,DSP CPU(U101)检测到音频数据存盘使能标志时,对音频数据进行标准的编码压缩,编码后的数据送ARM CPU(U102)存储处理;步骤08,ARM CPU(U102)将接收到的编码压缩数据形成数据文件;步骤13,ARM CPU(U102)将数据文件存储到硬盘存储器(U12)的循环存储文件系统中。
网络通信:参看图4,网络服务器、网络、本发明的高清视频循环存储摄录机配置成的系统,可进行如下双向数据交换:
(5)数据文件(包含高清视频数文件、音频数据文件)下载:网络服务器运行客户软件,通过客户软件发送文件数据下载指令到本摄录机,本摄录机接收到该下载指令后,在循环存储文件系统中进行文件检索,当检索到本机硬盘中有要下载的文件后,本摄录机读取该文件数据,通过网络发送给该网络服务器。
(6)标清视频数据流和音频数据流上传:本摄录机采集的标清视频数据和音频数据在编码压缩后,通过网络实时传送到网络服务器,由运行在该网络服务器上的客户软件进行接收。
循环存储文件系统:参看图5,循环存储文件系统在本摄录机启动时,步骤101对硬盘进行初始化。步骤102,初始化文件系统的存取参数,首目录地址参数和尾目录地址参数分别指向硬盘文件的首目录和尾目录的下一个空目录,初始化读文件目录地址参数。步骤103,处理其它任务,包含视频图像采集、标清视频数据流编码、音频数据采集、音频数据流编码、视频识别、音频识别、网络通信、USB通信、RS-232通信、RS-485通信等处理任务。步骤104检查是否有文件要存入硬盘,当检测到有文件要存储时,步骤105在存储该文件之前检查硬盘剩余空间是否足够存储该文件,如硬盘处于休眠状态则先唤醒硬盘。步骤106当硬盘剩余空间不够存储文件时,则依据文件系统首目录参数,删除首目录簇与对应的文件数据簇,并将首目录参数修改为下一个文件目录地址,释放相应的数控簇用于新文件存储。步骤107,当剩余存储空间足够时,在尾目录参数对应的空目录处存储文件,并修改尾目录参数,指向下一个空目录地址。步骤108,文件系统检测到当有文件要读取时,如果硬盘处于休眠状态则先唤醒硬盘,文件系统按时间顺序进行检索要读取的文件,在检索到文件后,步骤110则读取文件数据,并记录下该文件目录的下一个文件目录。步骤113记录下读文件成功标志和文件数据缓存的数据地址,供其它任务使用。步骤111判断是否继续读取下一个文件,当是继续读取下一个文件时,步骤112依据上次设置的文件目录地址读取文件数据。步骤114文件系统对硬盘无文件操作时进行计时,当连续计时大于设定的时间后,步骤115文件系统控制硬盘进入休眠状态。
参看图6,步骤117文件系统在开始时读取硬盘参数,检查硬盘是否已格式化,如没有格式化过,步骤118、119则对硬盘进行如上所述进行分区,清空数据簇索引表,初始化参数存储区。
参看图7,在文件系统初始化硬盘后,步骤120文件系统读取硬盘参数存储区的数据,初始化文件系统的首目录地址参数、尾目录地址参数。步骤123当硬盘不为空时,首目录地址参数、尾目录地址参数分别初始化成首目录地址和尾目录地址。步骤122当硬盘为空时,首目录地址参数、尾目录地址参数分别初始成0。
高清视频数据编码:参看图8,步骤201对用于高清视频相邻帧增量计算用的亮度、色度缓存器Y、Gb、Gr阵列进行初始化,阵列中所有变量初始化为0。步骤203,本摄录机读取当前视频帧RGB图像数据阵列,计算出本帧的亮度、色度Y、Gb、Gr阵列。步骤204中,由步骤203计算出的亮度、色度Y、Gb、Gr阵列分别与亮度、色度缓存器Y、Gb、Gr阵列进行减计算,得到当前高清视频数据帧与上一高清视频数据帧的亮度、色度Y、Gb、Gr的增量阵列。步骤205,把当前高清视频数据帧的亮度、色度Y、Gb、Gr阵列存储到亮度、色度缓存器Y、Gb、Gr阵列,为参与下一高清视频帧数据增量的计算做初始化。步骤206,分别将亮度、色度Y、Gb、Gr增量阵列分割成8乘8的数据块,进行DCT变换(离散余弦变换)、Z变换、可变行程编码,编码后的数据供其它任务使用,如形成高清视频数据文件由循环存储文件系统存到硬盘中。