发明内容
本发明提供了一种视频数据处理方法及其装置和系统,应用于视频监控系统,用以解决现有技术中的数据编解码机制导致显示设备资源浪费的问题。
本发明提供的视频数据处理方法,应用于包含有服务器、IPC、解码器、监控客户端的音视频监控系统,其中,解码器与对应显示器连接,用于解码视频数据并将解码后的视频数据发送给对应的显示器进行显示;当监控客户端向服务器发起视频数据访问请求后,该方法包括:
IPC接收服务器发送的视频数据访问请求,其中携带有分屏模式信息,以及分屏区域与解码器的对应关系信息;
IPC根据分屏模式信息对采集到的视频数据进行分块,并对各分块数据分别进行编码,得到各分屏区域的编码数据;
IPC根据各分屏区域各自对应的解码器,将各分屏区域的编码数据分别发送给对应的解码器进行解码。
上述方法中,所述IPC根据分屏模式对采集到的视频数据进行分块,并对各分块数据分别进行编码,包括:
所述IPC根据分屏模式,确定各分屏区域的数据在IPC缓存队列中的起始位置和偏移量;所述缓存队列中存储有所述IPC采集到的视频数据;
所述IPC根据各分屏区域的数据在IPC缓存队列中的起始位置和偏移量,从该缓存区中读取相应分屏区域的数据,并对读取到的各分屏区域的数据分别进行编码。
上述方法中,其特征在于,所述IPC中的主控模块根据分屏模式,确定各分屏区域的数据在IPC缓存队列中的起始位置和偏移量;
所述IPC中的单块数字信号处理器DSP根据各分屏区域的数据在IPC缓存队列中的起始位置和偏移量,从该缓存区中读取相应分屏区域的数据,并对读取到的各分屏区域的数据分别进行编码。
上述方法中,所述IPC内模数转换模块中的行、列选择逻辑电路根据分屏模式,确定各分屏区域的数据在IPC缓存队列中的起始位置和偏移量,根据各分屏区域的数据在IPC缓存队列中的起始位置和偏移量,从该缓存区中读取相应分屏区域的数据,并将读取到的各分屏区域的数据分别输出给相应的DSP,其中每块DSP得到一个分屏区域的数据;
各DSP得到的分屏区域的数据分别进行编码。
上述方法中,所述IPC对各分块数据分别进行编码时,在编码数据中增加时间戳。
上述方法中,所述服务器发送视频数据访问请求的过程,包括:
服务器接收到监控客户端发送的视频数据访问请求后,根据所述视频数据访问请求中携带的用户标识,获取对应的分屏模式及其配置信息,所述分屏模式配置信息包括分屏区域与解码器的对应关系信息;
所述服务器将获取到的分屏模式及其配置信息发送给所述IPC。
上述方法中,当服务器接收到监控客户端发送的视频数据访问请求后,还包括:
服务器获取分屏模式信息以及分屏区域与解码器的对应关系信息,从所述解码器获取媒体参数;
所述服务器对所述解码器的媒体参数和所述IPC的媒体参数进行协商,并将协商结果分别发送给所述解码器和所述IPC。
本发明提供的一种IPC,包括:
接收模块,用于接收服务器发送的视频数据访问请求,其中携带有分屏模式信息,以及分屏区域与解码器的对应关系信息;
编码模块,用于根据分屏模式信息对采集到的视频数据进行分块,并对各分块数据分别进行编码,得到各分屏区域的编码数据;
发送模块,用于根据各分屏区域各自对应的解码器,将各分屏区域的编码数据分别发送给对应的解码器进行解码。
上述IPC中,所述编码模块具体用于,根据分屏模式,确定各分屏区域的数据在IPC缓存队列中的起始位置和偏移量,所述缓存队列中存储有所述IPC采集到的视频数据;根据各分屏区域的数据在IPC缓存队列中的起始位置和偏移量,从该缓存区中读取相应分屏区域的数据,并对读取到的各分屏区域的数据分别进行编码。
上述IPC中,所述编码模块包括:
主控模块,用于根据分屏模式,确定各分屏区域的数据在IPC缓存队列中的起始位置和偏移量;
DSP,用于根据各分屏区域的数据在IPC缓存队列中的起始位置和偏移量,从该缓存区中读取相应分屏区域的数据,并对读取到的各分屏区域的数据分别进行编码。
上述IPC中,所述编码模块包括:模数转换模块和不少于分屏区域数量的DSP,所述模数转换模块包括行、列选择逻辑电路和模数转换电路;其中,
所述模数转换模块中的行、列选择逻辑电路,用于根据分屏模式,确定各分屏区域的数据在IPC缓存队列中的起始位置和偏移量,根据各分屏区域的数据在IPC缓存队列中的起始位置和偏移量,从该缓存区中读取相应分屏区域的数据;
所述模数转换模块中的模数转换电路,用于将读取到的各分屏区域的数据进行模数转换,并分别输出给相应的DSP,其中每块DSP得到一个分屏区域的数据;
所述DSP,用于将得到的分屏区域的数据分别进行编码。
上述IPC中,所述编码模块还用于,对各分块数据分别进行编码时,在编码数据中增加时间戳。
本发明提供的一种音视频监控系统,包括:服务器、解码器,以及如权利要求8-12之一所述的IPC;其中
服务器,用于在接收监控客户端的视频数据访问请求后,向IPC发送视频数据访问请求,其中携带有分屏模式信息,以及分屏区域与解码器的对应关系信息;
IPC,用于根据分屏模式信息对采集到的视频数据进行分块,并对各分块数据分别进行编码,得到各分屏区域的编码数据,根据各分屏区域各自对应的解码器,将各分屏区域的编码数据分别发送给对应的解码器;其中,每个解码器用于一个分屏区域的编码数据的解码;
解码器,与对应显示器连接,用于解码视频数据并将解码后的视频数据发送给对应的显示器进行显示。
上述音视频监控系统中,所述服务器具体用于,接收到监控客户端发送的视频数据访问请求后,根据所述视频数据访问请求中携带的用户标识,获取对应的分屏模式及其配置信息,并将获取到的分屏模式及其配置信息发送给所述IPC;所述分屏模式配置信息包括分屏区域与解码器的对应关系信息。
上述音视频监控系统中,所述服务器还用于,当接收到监控客户端发送的视频数据访问请求后,获取分屏模式信息以及分屏区域与解码器的对应关系信息,从所述解码器获取媒体参数;对所述解码器的媒体参数和所述IPC的媒体参数进行协商,并将协商结果分别发送给所述解码器和所述IPC。
本发明的有益技术效果包括:
根据分屏模式将视频数据进行分块,分别对每个分块的数据分别进行编码,并送至对应的解码器进行解码,由于解码器根据分配模式与显示器对应,每个解码器仅负责一个分屏区域的编码数据的解码,这样,各个分屏区域的数据解码后送至对应的显示器进行显示,而不需要经过大屏分割器就可直接将解码数据送至显示器进行显示,从而实现方式灵活,并避免了由于大屏分割器的重采样、分割等处理对图像质量造成的影响。
具体实施方式
针对现有视频监控系统中的显示设备资源不能充分利用的问题,通过提高大屏分割器的输入分辨率,即通过提高前端编码的分辨率,将带来2次方级别的运算工作量,需要更强的硬件处理能力,而当前DSP(Digital Signal Processor,数字信号处理器)处理技术无法进行高于1080P的编码,所以暂时不可行。本发明实施例通过改进DSP编码端的处理,对IPC的CCD(Charge CoupledDevice,电耦合器)采集到的数据,通过取数方式分割为多个区域,区域分割的排列模式与大屏的分屏模式相同。对各个区域的数据分别编码后送至独立的解码器进行解码并送至对应的显示器进行显示,而不需要经过大屏分割器就可直接将解码数据送至显示器进行显示,从而实现方式灵活,并避免了由于大屏分割器的重采样、分割等处理对图像质量造成的影响。
下面结合附图对本发明实施例进行详细描述。
本发明实施例的实现可基于现有的视频监控系统架构。本发明实施例适用的视频监控系统架构中,可包括服务器、监控客户端、IPC(网络摄像机)、解码器,其中:
监控客户端可以有多个,每个监控客户端可与服务器进行交互。用户可通过监控客户端发起视频数据访问请求,以及各种控制指令,如对IPC的转动和变焦进行控制的指令。
服务器主要用于实现视频监控系统的各种控制功能,如,控制存储设备存储视频数据,响应监控客户端的视频数据访问请求,为视频客户端提供需要访问的视频数据等。
IPC是视频数据(如监控图像)的输入端。IPC将传统摄像机技术与网络视频技术相结合,除了具备一般传统摄像机所具有的图像捕捉功能外,还内置有充当数字化压缩控制器的DSP。IPC中的CCD(Charge Coupled Device,电荷耦合器),是一种特殊的半导体材料,由大量独立的光敏元件组成,这些光敏元件通常是按矩阵排列,光线透过镜头照射到CCD上,并被转换成电荷,每个元件上的电荷量取决于它所受到的光照强度,从而实现图像捕捉功能;IPC中的DSP主要用于对模拟图像的数字化,将数字图像按照指定算法进行压缩等处理,使得视频数据经压缩加密后通过局域网、INTERNET或无线网络发送至终端用户。而远端用户可通过电视墙(即大屏幕显示器)或自己的PC上根据网络摄像机带的独立IP地址,对网络摄像机进行访问,从而实时监控目标现场的情况。
解码器主要用于对编码后的数据进行解压缩,并送至终端用户或者大屏幕显示器进行显示,可以用硬件或软件实现。其中,根据分屏模式的不同,需要设置相应数量的解码器。比如,对于2*2分屏模式,需要设置4个解码器,对于4*4分屏模式,需要设置16个解码器。解码器的数量可由服务器根据分屏模式进行设置。在大屏幕应用场景下,根据分屏模式,每个解码器与对应的一个大屏幕显示器连接,用于将解码后的数据送至对应的大屏幕显示器进行显示。
上述视频监控系统中,服务器中存储有分屏模式和对应的配置信息。分屏模式是指在大屏幕显示场景下,使用大屏幕中的哪些显示器、以何种排列方式显示一幅完整的图像,其中每个显示器仅显示一幅完整图像的局部区域。具体的,分屏模式可以是n*n模式(使用横向n个显示器和纵向n个显示器的显示器阵列)或n*m模式(使用横向n个显示器和纵向m个显示器的显示器阵列),其中,n≥1,m≥1。分屏模式的配置信息用于描述相应分屏模式下,为每个显示器分配的解码器,以及各解码器(或显示器)与分屏区域的对应关系。
例如,对于如图2所示的大屏幕的2*2的分屏模式,其所对应的显示器组包括显示器A、B、C和D,对应的分屏区域可分别用坐标(1,1)、(1,2)、(2,1)、(2,2)表示;为显示器A分配的解码器为解码器A,对应的IP地址为IP A,以此类推,分屏模式2*2的配置信息可如表1所示:
表1
显示器标识 |
解码器IP地址 |
分屏区域 |
A |
IPA |
(1,1) |
B |
IPB |
(1,2) |
C |
IPC |
(2,1) |
D |
IPD |
(2,2) |
需要说明的是,表1所示的配置信息仅为一种配置信息组织形式的示例,只要分屏模式的配置信息能够描述所使用的显示器和对应的解码器,以及与分屏区域的对应关系,都应在本发明的保护范围之内。
分屏模式及其配置信息可保存在服务器的数据库中。分屏模式及其配置信息可以是视频监控系统默认提供的(如预先配置在数据库中的),也可以是用户根据需要配置的。
如图3所示,用户通过监控客户端配置分屏模式的过程可包括:
步骤301,用户通过所在监控客户端发送分屏模式配置请求消息。
该步骤中,用户可通过所在监控客户端选择大屏幕中的显示器用于显示该用户所请求访问的图像。由于大屏幕中的各显示器位置是相对固定的,因此在用户选择出显示器后,其分屏模式以及各显示器与各分屏区域的对应关系也就确定了,当然,用户也可以根据实际需要设置显示器与分屏区域的对应关系。所述配置请求消息中可包括分屏模式信息、显示器信息和显示器与分屏区域的对应关系信息。其中,分屏模式信息可以是分屏模式指示信息或分屏模式描述信息等,用于标识或描述分屏模式,如使用分屏模式ID标识分屏模式,分屏模式ID=1表示2*2分屏模式,分屏模式ID=2表示4*4分屏模式,以此类推;显示器信息可以是显示器标识或描述信息;显示器与分屏区域的对应关系可使用坐标方式标识。
仍以图2所示的分屏模式为例,分屏模式配置请求消息中除携带发送该请求的用户的标识以外,还携带显示器A、B、C、D的标识,以及分别对应各显示器标识的坐标(1,1)、(1,2)、(2,1)、(2,2)。
步骤302,服务器接收到该配置请求消息后,保存该用户设置的分屏模式及其配置信息。
该步骤中,服务器在接收到配置请求消息后,根据其中的显示器数量分配相应数量的解码器,每个解码器对应分配该一个显示器,用于将解码器解码后的视频数据传输给对应的显示器进行显示。服务器可将用户设置的分屏模式和分配的解码器相关信息作为分屏模式配置信息进行保存,可保存在服务器的数据库中。
仍以图2所示的分屏模式为例,对应发起该配置请求消息的用户的用户标识,保存的分屏模式配置信息可包括分屏模式标识,以及如表1所示的信息。
上述流程描述了用户自主配置分屏模式的流程,除此以外,本发明实施例还提供了以下分屏模式配置方式:
视频监控系统预先设置有各种分屏模式及其配置信息,供用户选择。用户只要通过所在监控客户端选择需要的分屏模式,服务器就会对应该用户的用户标识记录其所选择的分屏模式,后续在该用户发起视频数据的访问请求(如请求调阅IPC的实时图像数据,以下称实况请求)时,服务器将与该用户的标识对应的分屏模式的配置信息发送给IPC,以便IPC据此进行编码处理。当然,视频监控系统可默认设置一种分屏模式,对于发起实况请求的用户使用默认分屏模式(即在用户发起实况请求时,服务器将默认分屏模式的配置信息发送给IPC,以便IPC据此进行编码处理)。当然,对于之前已经自主设置分屏模式或选择分屏模式的用户,则按照用户设置或选择的分屏模式处理。
基于以上分屏模式配置,当用户发起实况请求时,就可以根据其所对应的分屏模式(即该用户设置的分屏模式、选择的分屏模式或系统默认为该用户的分屏模式)进行相应处理。
参见图4,为本发明实施例提供的视频数据编解码流程示意图,如图所示,该流程可包括:
步骤401,用户通过所在监控客户端向服务器发送视频数据调阅请求。
步骤402,服务器根据该请求,向负责采集相应视频数据的IPC发送视频数据调阅请求,其中携带有分屏模式配置信息,如包括分屏模式标识,分屏区域与解码器的对应关系等。
步骤403,IPC根据分屏模式对采集到的视频数据进行分块,并对各分块数据分别进行编码,得到各分屏区域的编码数据。
步骤404,IPC根据各分屏区域各自对应的解码器,将各分屏区域的编码数据分别发送给对应的解码器进行解码,解码器将解码后的数据送至与其连接的显示器进行显示。
通过以上流程可以看出,由于各编码器与大屏幕的显示器之间对应连接,以及分屏配置信息规定了分屏区域与解码器的对应关系,因此只要将各分屏区域的数据发送给对应的解码器,该分屏区域的画面就能够在大屏幕相应位置的显示器上进行显示,从而实现了分屏效果。
由于视频数据调阅处理过程中,通常包括媒体参数协商过程,通过媒体参数协商,可使编码端和解码端使用同一编解码格式,更好的协调。本发明实施例中,服务器在收到视频数据调阅请求后,可对解码端和编码端的媒体参数进行协商,在媒体参数协商的交互过程中,可将分屏模式配置信息发送给IPC。
下面结合图5对本发明实施例提供的视频数据的编解码流程进行详细描述。
如图5所示,该流程以用户设置有如图2所示的2*2分屏模式为例,对用户发起实况请求以及视频监控系统响应该请求的过程进行详细描述,其中包括媒体协商过程,该流程可包括:
步骤501,用户通过所在监控客户端向服务器发起实况请求,以请求将IPC采集到的视频数据以2*2分屏模式在大屏幕上显示。
具体的,用户可在其监控客户端所提供的网页上以提交HTTP(Hyper TextTransfer Protocol,超文本传输协议)消息的方式发起实况请求,也可以使用视频监控系统自定义的私有协议发起实况请求,实况请求消息中可携带该用户的标识,还可进一步携带2*2分屏模式标识。本发明实施例不对提交实况请求消息的方式以及实况请求消息的形式进行限制。
步骤502,服务器收到监控客户端发起的实况请求消息后回应确认消息(OK消息),该步骤可选。
步骤503,服务器向该用户设置的2*2分屏模式下的各解码器发送消息,以请求获取各解码器的SDP信息。
具体的,服务器根据用户标识和分屏模式标识,从数据库中查找对应用户设置的2*2分屏模式所对应的一组解码器的IP地址,并根据解码器IP地址向这些解码器发送SIP(Session Initiation Protocol,会话初始协议)消息,其中携带有空SDP(Session Description Protocol,会话描述协议)信息单元。
步骤504,解码器接收到消息后向服务器返回自己的SDP信息。
具体的,解码器收到消息后回应200OK消息,其中携带有自己的SDP信息,如包括媒体参数、接收IP/端口信息等。
步骤505,服务器将各解码器返回的SDP信息与IPC的媒体参数进行协商,然后发送SIP消息给IPC,其中携带有协商后的SDP(包括媒体参数、各解码器接收IP/端口信息等),还携带有该用户设置的分屏模式及其配置信息。
步骤506,IPC收到服务器的消息后,根据媒体参数协商结果修改自己的SDP,如对自己的媒体参数和各解码器的媒体参数取交集,将自己的SDP修改为取交集后的媒体参数,之后返回200OK消息,其中携带有该IPC自己的SDP(包括媒体参数、IPC发送数据的IP/端口等信息)。其中,在不需要根据媒体参数协商结果修改自身SDP的情况下,该200OK消息中携带的SDP是未经修改的SDP,否则是修改后的SDP)。
步骤507,IPC根据从服务器接收到的分屏模式及其配置信息,配置对应的编码策略。
具体的,IPC根据2*2的分屏模式及其配置信息,决定将其采集到的数据分成4路进行处理,每一路对应一个分屏区域以及分屏模式配置信息中的一个解码器。
步骤508,服务器接收到IPC发送的携带有其修改后的SDP后,向上述各解码器发送ACK消息,其中携带有SDP,该SDP中携带协商成功的媒体参数和IPC的IP地址以及接收端口等信息。服务器向IPC发送ACK消息,其中不携带SDP信息。
步骤509,IPC收到服务器的ACK消息后,根据步骤507所配置的编码策略,对采集到的视频数据按分屏区域分别进行编码,并将编码后的数据发送给对应分屏区域的解码器。
具体的,IPC收到服务器的ACK消息后,将各DSP传过来的数据进行打包、封装,发送给对应的解码器,其中,分屏区域为(1,1)的编码数据发送给解码器A,分屏区域为(1,2)的编码数据发送给解码器B,分屏区域为(2,1)的编码数据发送给解码器C,分屏区域为(2,2)的编码数据发送给解码器D。
步骤510,各解码器根据协商后的媒体参数,对接收到的数据进行解码,并送至对应的显示器进行显示。
具体的,解码器接收到数据后,可通过时钟控制进行解码显示,保证显示图像同步。解码后数据通过视频线送至大屏幕的显示器,此时用户可以看到2*2共4个显示器同时进行解码复合成一幅图像。
上述流程中的步骤503~506是媒体参数协商过程,通过该过程将分屏模式及其配置信息发送给IPC。媒体参数协商过程可采用现有方式实现。
根据IPC中的DSP的处理能力,上述流程中IPC的编码处理方式(对应的步骤包括步骤507和步骤509)可以包括:
方式一:
IPC的通信模块解析消息中的分组模式,得知需要进行2*2模式编码;上层软件(如主控模块)进行模式匹配选择2*2D1模式(若匹配不到即协商失败,则返回失败,若匹配成功则返回OK),若匹配成功,DSP进行套餐切换到2*2编码模式(这里的“套餐切换”是指通过一块DSP,根据用户使用需求切换进行1路或n*n路编码);此时,IPC中CCD采集到的数据放入缓存队列后,上层软件确定DSP对4路数据(即各分屏区域数据)分别的取数起始位置和偏移量;当CCD采集到数据并存入缓存队列后,DSP根据确定出的4路数据各自的取数位置和偏移量从缓存队列中读出这4路数据,并对读取出的4路数据分别独立编码;IPC向网络发送4路编码后的D1媒体流。进一步的,编码后可在数据中打上时间戳,以便在解码端根据时间戳对各路数据进行同步。
其中,以IPC采集的图像的分辨率为2x*2y(即横向共2x个像素,纵向共2y个像素)为例,上层软件确定4路数据(即各分屏区域数据)分别的取数起始位置和偏移量的具体实现可以是:上层软件在获知分屏模式为2*2后,可以根据IPC所采集的图像的分辨率计算出各分屏区域中的像素起始点(左上角)坐标,以及横向和纵向的像素数偏移量:
区域(1,1):起始点像素坐标为(1,1),横向像素数偏移量为x,纵向像素数偏移量为y;
区域(1,2):起始点像素坐标为(x+1,1),横向像素数偏移量为x,纵向像素数偏移量为y;
区域(2,1):起始点像素坐标为(1,y+1),横向像素数偏移量为x,纵向像素数偏移量为y;
区域(2,2):起始点像素坐标为(x+1,y+1),横向像素数偏移量为x,纵向像素数偏移量为y。
DSP根据各分屏区域的像素起始点坐标和横向和纵向的像素数偏移量,可以从缓存队列中读出相应分屏区域的数据。
方式一中,CCD采集到的数据会先放到缓存队列中,只需要上层软件控制DSP的取数地址,就可以将图像进行分块编解码。此方式在单块DSP编码能力满足使用要求时可以采用,即可实现一路图像多路编码。
方式二:
IPC的通信模块解析消息中的分屏模式,得知需要进行2*2模式编码。如图6所示,IPC将编码指令传给主控模块,主控模块从内部支持的编码模式中进行匹配,选择2*2D1模式(若匹配不到即协商失败,则返回失败,若匹配成功则返回OK)。主控模块在匹配成功的情况下将匹配成功指令下发给FPGA(Field-Programmable Gate Array,现场可编程门阵列)模块,通知A/D转换模块(即模数转换模块)内的行、列选择逻辑电路根据2*2D1编码模式调整采样模式,具体在本实施例中,行、列选择逻辑电路根据2*2D1编码模式计算采样起始位置和偏移位置,输出4个分屏区域对应的4路数据。结合时序电路控制,CCD按顺序将4路数据的模拟信号传送给A/D生成4路D1分辨率的视频信号。此时编码器的编码模式切换完成。IPC内部为保证同一副图像不错帧,4路D1分辨率的每一个信号从CCD输出时都带有区域标识(1,1),(1,2),(2,1),(2,2)。4路图像数据经过各DSP分别进行编码后可进一步打上时间戳。上述过程中,行、列选择逻辑电路可标识每个像素的位置,从而可以计算4个分屏区域的信号数据的起始位置和偏移位置;时序控制电路用来控制数据的传输顺序,也就是按顺序定期将一幅图像的数据进行输出。
其中,以IPC采集的图像的分辨率为2x*2y(即横向共2x个像素,纵向共2y个像素)为例,行、列选择逻辑电路根据2*2分屏模式计算采样起始位置和偏移位置的具体实现可以是:
行、列选择逻辑电路获知分屏模式为2*2后,行选择逻辑电路可以根据IPC所采集的图像的分辨率计算出各分屏区域中的像素起始点(左上角)坐标,以及横向像素数偏移量,列择逻辑电路可以根据IPC所采集的图像的分辨率计算各分屏区域的纵向像素数偏移量:
区域(1,1):起始点像素坐标为(1,1),横向像素数偏移量为x,纵向像素数偏移量为y;
区域(1,2):起始点像素坐标为(x+1,1),横向像素数偏移量为x,纵向像素数偏移量为y;
区域(2,1):起始点像素坐标为(1,y+1),横向像素数偏移量为x,纵向像素数偏移量为y;
区域(2,2):起始点像素坐标为(x+1,y+1),横向像素数偏移量为x,纵向像素数偏移量为y。
在对缓存队列中的图像数据采样时,以区域(1,1)为例,行逻辑选择电路根据该区域的起始点像素坐标和横向像素数偏移量读取一行像素数据,即(1,1)-(1,x),然后再读取下一行像素数据(2,1)-(2,x),直到列逻辑选择电路针对该区域计算出的纵向像素数偏移量y,这样就读出了起始点像素坐标为(1,1)、结束点像素坐标为(x,y)的分屏区域(1,1)的图像数据。以此类推,其它分屏区域可参照上述方式采样得到。
上述方式二中,当前CCD是通过行选择逻辑电路和列选择逻辑电路对采集到的信号进行传输的,因而可通过软件控制CCD对采集的信号进行分块传输,给不同的DSP进行分别编码。此方式适合在单块DSP编码能力无法满足用户使用需求时采用,即比如超高像素摄像机如1600万像素摄像机,超过单块DSP(最大进行高清1920*1080即208万像素)编码能力,可采用2*2块高清DSP(830万像素)分别进行编解码,充分利用CCD像素。多块DSP可根据摄像头的像素通过插卡方式实现,根据用户需求配置设备的DSP数量。通过该方式,可实现针对一路图像,控制CCD数据输出方式进行分块采集,可通过插卡方式使多块DSP协同编码,突破高清编解码限制,从而进一步提高图像质量。
进一步的,在IPC和某显示器组建立了实况关系后,又有其他用户需要使用该IPC(如发起对该IPC采集的数据进行调阅的请求),此时,视频监控系统通过该IPC与该请求中的分屏模式对应的一组解码器组进行能力协商(即媒体参数协商),若匹配即可响应该请求,若不匹配则返回失败。
通过上述描述可以看出,在大屏幕显示应用的场景下,一方面,用户可灵活配置分屏模式;另一方面,IPC根据分屏模式对采集到的数据分别进行独立编码,形成各分屏区域对应的媒体流,并发送到对应的解码器进行解码处理,由于解码后图像不需要经过大屏分割器,而直接将解码后的数据发送给大屏幕的相应显示器进行显示,因此,不会由于通过大屏分割器转换而损失图像质量,并可充分利用显示器的硬件资源。例如,若使用1600万像素的高端摄像机,进行6*6路D1(1493万像素)的编码,输入图像分辨率可达到4320*3456,同时大屏上每个屏幕显示的图像为D1分辨率,可见,采用本发明实施例不会由于大屏分割器的使用导致每个显示屏的图像质量差(不到300线)。
采用本发明实施例,针对目前的高清摄像机如1600万像素的,最大可支持6*6路DI(即1500万像素),或2*2路1920*1080(830万像素),或3*3路1280*720(830万像素)等。针对目前的标清摄像机如44万像素摄像机,最大可支持1路D1,或2*2路CIF等。若200万像素的标清摄像机就可以支持2*2路D1(170万像素)。
基于相同的技术构思,本发明实施例还提供了一种IPC,可适应于上述视频监控系统以及上述流程。
如图7所示,本发明实施例提供的IPC可包括:
接收模块701,用于接收服务器发送的视频数据访问请求,其中携带有分屏模式信息,以及分屏区域与解码器的对应关系信息;
编码模块702,用于根据分屏模式信息对采集到的视频数据进行分块,并对各分块数据分别进行编码,得到各分屏区域的编码数据;
发送模块703,用于根据各分屏区域各自对应的解码器,将各分屏区域的编码数据分别发送给对应的解码器进行解码。
上述IPC中,编码模块702可根据分屏模式,确定各分屏区域的数据在IPC缓存队列中的起始位置和偏移量,所述缓存队列中存储有所述IPC采集到的视频数据;根据各分屏区域的数据在IPC缓存队列中的起始位置和偏移量,从该缓存区中读取相应分屏区域的数据,并对读取到的各分屏区域的数据分别进行编码。
如图8A所示,编码模块702的一种结构中,可包括:
主控模块81,用于根据分屏模式,确定各分屏区域的数据在IPC缓存队列中的起始位置和偏移量;
DSP82,用于根据各分屏区域的数据在IPC缓存队列中的起始位置和偏移量,从该缓存区中读取相应分屏区域的数据,并对读取到的各分屏区域的数据分别进行编码。
如图8B所示,编码模块702的另一种结构中,可包括:模数转换模块83和不少于分屏区域数量的DSP84,所述模数转换模块包括行、列选择逻辑电路(831,832)和模数转换电路833;其中,
模数转换模块83中的行、列选择逻辑电路(831,832),用于根据分屏模式,确定各分屏区域的数据在IPC缓存队列中的起始位置和偏移量,根据各分屏区域的数据在IPC缓存队列中的起始位置和偏移量,从该缓存区中读取相应分屏区域的数据;
模数转换模块83中的模数转换电路833,用于将读取到的各分屏区域的数据进行模数转换,并分别输出给相应的DSP84,其中每个DSP84得到一个分屏区域的数据;
DSP84,用于将得到的分屏区域的数据分别进行编码。
上述IPC中,编码模块702还可在对各分块数据分别进行编码时,在编码数据中增加时间戳。
本发明实施例还提供了一种音视频监控系统,该系统可包括:服务器、解码器,以及上述实施例中的IPC;其中
服务器,用于在接收监控客户端的视频数据访问请求后,向IPC发送视频数据访问请求,其中携带有分屏模式信息,以及分屏区域与解码器的对应关系信息;
IPC,用于根据分屏模式信息对采集到的视频数据进行分块,并对各分块数据分别进行编码,得到各分屏区域的编码数据,根据各分屏区域各自对应的解码器,将各分屏区域的编码数据分别发送给对应的解码器;其中,每个解码器用于一个分屏区域的编码数据的解码;
解码器,与对应显示器连接,用于解码视频数据并将解码后的视频数据发送给对应的显示器进行显示。
上述音视频监控系统中,服务器具体用于,接收到监控客户端发送的视频数据访问请求后,根据所述视频数据访问请求中携带的用户标识,获取对应的分屏模式及其配置信息,并将获取到的分屏模式及其配置信息发送给所述IPC;所述分屏模式配置信息包括分屏区域与解码器的对应关系信息。
上述音视频监控系统中,服务器还用于,当接收到监控客户端发送的视频数据访问请求后,获取分屏模式信息以及分屏区域与解码器的对应关系信息,从所述解码器获取媒体参数;对所述解码器的媒体参数和所述IPC的媒体参数进行协商,并将协商结果分别发送给所述解码器和所述IPC。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。