KR20140072668A - 네트워크 카메라 서버 및 그의 비디오 스트림 처리 방법 - Google Patents

네트워크 카메라 서버 및 그의 비디오 스트림 처리 방법 Download PDF

Info

Publication number
KR20140072668A
KR20140072668A KR1020120140442A KR20120140442A KR20140072668A KR 20140072668 A KR20140072668 A KR 20140072668A KR 1020120140442 A KR1020120140442 A KR 1020120140442A KR 20120140442 A KR20120140442 A KR 20120140442A KR 20140072668 A KR20140072668 A KR 20140072668A
Authority
KR
South Korea
Prior art keywords
video
server
network
camera
video stream
Prior art date
Application number
KR1020120140442A
Other languages
English (en)
Inventor
이승우
이범철
이정희
최강일
이상민
박영호
Original Assignee
한국전자통신연구원
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020120140442A priority Critical patent/KR20140072668A/ko
Publication of KR20140072668A publication Critical patent/KR20140072668A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

복수의 카메라 및 사용자 디바이스와 네트워크를 통해 연결되어 있는 네트워크 카메라 서버는 플로우별로 서버를 할당하고, 설정된 비디오 파라미터를 기준으로 복수의 카메라로부터 각각 수신된 복수의 비디오 스트림을 플로우 별로 구분하고, 플로우별로 구분된 비디오 스트림을 플로우별로 할당된 서버에 전달한다.

Description

네트워크 카메라 서버 및 그의 비디오 스트림 처리 방법{NETWORK CAMERA SERVER AND METHOD FOR PROCESSING VIDEO STREAM THEREOF}
본 발명은 네트워크 카메라 서버 및 그의 비디오 스트림 처리 방법에 관한 것으로, 특히 네트워크 카메라와 사용자 디바이스와 네트워크를 통해 연결되어 있는 네트워크 카메라 서버에서 네트워크 카메라로부터 전달되는 비디오 스트림을 처리하는 방법에 관한 것이다.
특정 빌딩 또는 편의 시설 등의 시설물을 감시하기 위해서, CCTV와 같은 폐쇄 네트워크 카메라 시스템이 일반적이다.
폐쇄 네트워크 카메라 시스템의 경우, 사용자 디바이스에는 사용자 에이전트가 존재하고, 사용자 에이전트는 서버를 통해서 카메라에 명령어를 전송하여 카메라의 상태 정보를 알아내고, 카메라는 현재의 상태 정보를 서버를 통해서 사용자 에이전트에게 전달한다. 서버는 사용자 에이전트와 카메라 사이에 인터페이스 통신을 제공한다. 서버는 사용자 에이전트를 통해서 사용자가 비디오 이미지를 저장하거나 또는 화면에 표시하는 등의 명령을 사용자 대신 수행할 수 있다. 만약, 사용자가 비디오 데이터를 사용자 디바이스의 화면에 보여주길 원한다면, 서버는 카메라로부터 전달된 비디오 스트림을 사용자 디바이스에 전달한다. 사용자가 비디오 데이터를 서버 내의 저장 장치에 저장하고자 원한다면, 서버는 카메라로부터 전달된 비디오 스트림을 서버 내의 저장 장치에 저장한다.
하지만 폐쇄 네트워크 카메라 시스템은 확장성에 한계가 있을 뿐만 아니라 사용자가 폐쇄 네트워크에 직접 연결되지 않는 경우에 인터넷과 같은 일반적인 네트워크를 통해서 카메라를 제어하거나 최소한 비디오 이미지를 보거나 저장할 수 있는 기능을 제공하기 어렵다는 단점이 있다.
폐쇄 네트워크 카메라 시스템과 달리 사용자 디바이스와 네트워크 카메라가 네트워크로 연결된 네트워크 카메라 시스템도 있다. 네트워크 카메라 시스템의 경우, 사용자 디바이스는 네트워크 카메라와 인터넷을 통해 연결되며, 원거리에 있는 네트워크 카메라를 인터넷을 통해서 접근할 수 있도록 인터넷 접속이 가능하다. 네트워크 카메라에서 촬영된 비디오 데이터는 인터넷을 통해서 사용자 디바이스의 화면에 표시되거나, 사용자 디바이스의 저장 장치에 저장된다. 그리고 카메라 접근, 조작 및 비디오 데이터의 수신, 모니터링 또는 저장 장치의 관리 등은 네트워크로 접속하는 사용자에 의해서 이뤄질 수 있다. 이러한 네트워크 카메라 시스템은 사용자에게 네트워크 카메라를 인터넷을 통해 접속 가능하도록 하는 기능을 제공함으로써, 확장성을 키울 수 있지만, 폐쇄 네트워크 카메라 시스템에서 제공되는 신뢰성과 안정성을 제공하기에는 부족한 부분이 있다. 왜냐하면, 원거리의 네트워크 카메라를 제어하고, 저장 장치를 효율적으로 사용하기 위해서, 인터넷으로 연결된 사용자 디바이스가 기존의 폐쇄 네트워크에서 사용했던 카메라 서버급의 성능 및 저장 장치를 갖추어야 하지만, 이는 용이하지 않기 때문이다.
앞서 언급한 단점을 보완하기 위해서, 네트워크 카메라, 카메라 서버 및 사용자 디바이스가 인터넷을 통해서 연결되어 있는 네트워크 카메라 시스템이 있다. 이 시스템은 사용자가 네트워크 카메라로부터 촬영한 비디오 데이터를 카메라 서버 상의 저장 장치에 인터넷을 통해서 저장한다. 카메라 서버 상의 저장 장치에 비디오 데이터를 저장하기 위한 방식은 HTTP(Hypertext Transfer Protocol)를 기반으로 한 응용 프로그램 인터페이스(Application Program Interface)를 사용한다. 따라서, 서버 상에 저장 장치가 존재하고, 사용자 디바이스는 웹 접근이 가능한 사용자 에이전트 기능을 수행한다. 따라서, 사용자 디바이스는 직접 비디오 데이터를 수신하여 저장하는 저장 장치를 필요로 하지 않고, 단지 서버 상의 저장 장치에 비디오 데이터를 저장하는 명령을 인터넷을 통해 요청하는 기능을 수행한다.
이러한 네트워크 카메라 시스템에서는 네트워크 카메라, 카메라 서버 및 사용자 디바이스가 인터넷을 통해서 서로 연결되기 때문에 시스템의 확장성이 폐쇄 네트워크 카메라 시스템보다 훨씬 크다. 또한 사용자가 카메라 서버의 저장 장치에 비디오 데이터를 저장하도록 할 수 있기 때문에 전체 시스템의 최적화 및 자원 관리를 사용자의 요구에 의해서 가능해질 수 있다. 따라서, 신뢰성 및 효율성이 앞에서 언급한 네트워크 카메라 시스템보다 크게 향상되는 장점이 있다.
네트워크 카메라 시스템에서 하나 또는 다수의 네트워크 카메라는 사용자 요구사항이나 대역폭 등에 따라서 다중의 비디오 스트림을 제공한다. 따라서 카메라 서버는 네트워크 카메라로부터 생성되는 비디오 스트림을 카메라 서버 내의 저장 장치나 사용자 디바이스에 효율적으로 전달하기 위해서는 네트워크 카메라로부터 전달되는 비디오 스트림을 효율적으로 관리할 필요가 있다.
본 발명이 해결하고자 하는 기술적 과제는 네트워크 카메라로부터 생성되는 비디오 스트림을 저장 장치나 사용자 디바이스에 효율적으로 전달할 수 있는 네트워크 카메라 서버 및 그의 비디오 스트림 처리 방법을 제공하는 것이다.
본 발명의 한 실시 예에 따르면, 복수의 카메라 및 사용자 디바이스와 네트워크를 통해 연결되어 있는 네트워크 카메라 서버가 제공된다. 네트워크 카메라 서버는 복수의 서버, 그리고 제어부를 포함한다. 상기 복수의 서버는 플로우별로 할당되어 있으며, 설정된 디지털 처리 방식에 따라서 비디오 스트림을 내부 저장 장치에 저장하거나 사용자 디바이스에 전달한다. 그리고 제어부는 설정된 비디오 파라미터를 기준으로 복수의 카메라로부터 각각 수신된 복수의 비디오 스트림을 플로우 별로 구분하고, 플로우별로 구분된 비디오 스트림을 상기 플로우별로 할당된 복수의 서버에 전달한다.
본 발명의 실시 예에 의하면, 네트워크로 연결된 카메라들로부터 생성되는 비디오 스트림을 사용자 디바이스에 전달하거나 비디오 서버 내 저장 장치에 저장하기 위해서, 다중의 비디오 스트림을 스트림 별로 구분한 후, 사용자 디바이스 또는 비디오 서버 내 저장 장치에 전달하기 때문에 비디오 스트림을 효율적으로 네트워크를 통해서 전달하고 처리할 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 네트워크 카메라 시스템의 일 예를 나타낸 도면이다.
도 2는 도 1에 도시된 비디오 스트리밍 유닛을 나타낸 도면이다.
도 3은 도 1에 도시된 네트워크 카메라 서버를 나타낸 도면이다.
도 4는 본 발명의 실시 예에 따른 네트워크 카메라 서버에서 단일 또는 다중의 비디오 스트림을 처리하는 방법을 나타낸 흐름도이다.
도 5는 본 발명의 실시 예에 따른 네트워크 카메라 시스템의 다른 일 예를 나타낸 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
이제 본 발명의 실시 예에 따른 네트워크 카메라 서버 및 그의 비디오 스트림 처리 방법에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 실시 예에 따른 네트워크 카메라 시스템의 일 예를 나타낸 도면이다. 그리고 도 2는 도 1에 도시된 비디오 스트리밍 유닛을 나타낸 도면이고, 도 3은 도 1에 도시된 네트워크 카메라 서버를 나타낸 도면이다.
도 1을 참고하면, 네트워크 카메라 시스템(100)은 복수의 비디오 스트리밍 유닛(1101~110n), 네트워크 카메라 서버(120) 및 사용자 디바이스(130)를 포함한다.
복수의 비디오 스트리밍 유닛(1101~110n), 네트워크 카메라 서버(120) 및 사용자 디바이스(130)은 네트워크(200)를 통해서 연결되어 있다.
도 2를 보면, 각 비디오 스트리밍 유닛(1101~110n)은 적어도 하나의 카메라(112) 및 비디오 처리부(114)를 포함한다. 도 2에서는 비디오 스트리밍 유닛(1101~110n) 중 하나의 비디오 스트리밍 유닛(1101)만을 도시하였으며, 나머지 비디오 스트리밍 유닛(1102~110n) 또한 비디오 스트리밍 유닛(1101)과 동일하게 구성될 수 있다.
카메라(112)는 비디오를 촬영하며, 촬영한 비디오 데이터를 비디오 처리부(114)로 전달한다. 카메라(112)로는 아날로그 카메라, IP 카메라 등이 사용될 수 있다.
비디오 처리부(114)는 카메라(112)에 의해 촬영된 비디오 데이터를 처리하여 TCP/IP 네트워크 상에서 전송한다. 카메라(112)가 아날로그 카메라인 경우, 비디오 처리부(114)는 IP 스트리밍에 적합한 데이터 형식을 갖도록 카메라(112)에 의해 촬영된 비디오 데이터를 디지털 비디오 신호로 변환할 수 있다.
비디오 처리부(114)는 카메라(112)에 의해 촬영된 비디오 데이터를 다중의 비디오 스트림으로 전송할 수 있다. 즉, 비디오 처리부(114)는 1개의 비디오 스트림을 전송할 수 있고, 또는 2개 이상의 비디오 스트림을 전송할 수 있다. 비디오 처리부(114)에서 전송되는 다중의 비디오 스트림은 다양한 해상도, 압축 방식, 프레임 레이트(frame rate) 등에 따라서 제공될 수 있다. 예를 들면, 다중의 스트림 중 하나는 예를 들면, 압축되지 않은 원래 비디오 데이터일 수 있고, 또 다른 하나는 낮은 압축률을 가진 비디오 데이터이고, 다른 하나의 스트림은 높은 압축률을 가진 비디오 데이터일 수 있다.
비디오 처리부(114)는 다양한 압축 방식을 지원할 수 있다. 비디오 처리부(114)는 지연 시간(latency), 비디오 이미지 품질(quality), 대역폭 소모, 카메라 수 등에 따라서 압축 방식을 선택할 수 있다.
일반적으로 많이 사용되는 압축 방식은 모션 JPEG(Motion Joint Photographic Experts Group, MJPEG), MPEG(Motion Picture Experts Group)-4, H.264, 웨이블릿(Wavelet), JPEG 2000 등이 있다.
MJPEG의 경우, 일반적으로 TCP(Transmission Control Protocol)를 통해서 전송되는데, TCP는 수신단에서 데이터를 수신하면, 응답 신호를 전송하기 때문에 데이터 전송에 신뢰성을 갖게 된다. 만약, 응답 신호를 받지 못하는 경우에는 송신단이 데이터를 재전송하게 된다. 이러한 재전송 방식은 네트워크 상에서 충돌이 발생하는 경우 또는 무선 네트워크와 같이 데이터의 손실이 있는 경우에 유용하게 사용된다. 이러한 재전송 시에는 실시간의 비디오 스트림이 수신단에서 뚝뚝 끊어질 수도 있지만, MJPEG을 사용하면, 각 이미지가 독립적으로 유효하기 때문에 일반적으로 좋은 품질의 화질을 화면에 표현할 수 있는 장점이 있다. 반면, MPEG-4 및 H.264는 일반적으로 UDP(user datagram protocol) 또는 RTP(Real-time Transport Protocol)를 사용하여 전송한다. UDP는 전송의 신뢰성을 보장하지 못하고, 손실된 패킷에 대해서 재전송을 하지 않는다. 따라서, RTP 및 UDP를 이용한 전송은 대부분 매우 데이터 손실이 적고 QoS(Quality of Service)를 이용하여 대역폭이 보장되는 네트워크에서 적합하다. MPEG-4를 RTP/UDP 상에서 전송하는 경우에는 데이터 손실에 좋은 특성을 갖는다. 만약 UDP 상에서 전송할 때, 손실이 발생한다면, 전송되어 디코딩된 비디오의 품질은 저하되지만, 알고리즘을 통해 손실된 이미지를 복원할 수 있기 때문이다. 그리고 UDP 전송은 하나의 비디오 스트림을 이용하여 다수의 수신단이 비디오 스트림을 전송 받는 IP 멀티캐스트(multicast) 전송이 가능하다. 이러한 IP 멀티캐스트 환경에서, 비디오 인코딩 또는 카메라에서 처리해야 될 작업량이 줄어들고, 네트워크 상에서 소모하는 데이터의 대역폭을 줄일 수 있는 장점이 있다.
대역폭 사용 측면으로 보면, MPEG-4 및 H.264는 오늘날 가장 널리 사용되는 효율적인 압축 방식이다. 이는 대역폭과 저장 장치를 아끼기 위해서 가장 잘 사용할 수 있는 압축 방식이다. 반면, MJPEG은 이미지의 품질은 훌륭하지만, 큰 대역폭을 차지하는 단점이 있다. 따라서, 각 프레임이 서로 독립적이기 때문에 속도가 느린 링크(link)에서는 훌륭한 압축 방식이다. MJPEG에 비해서, H264는 약 1/6의 대역폭만을 사용하기 때문에, 대역폭과 저장 장치의 최적화를 위해서 가장 최적의 선택일 수 있다.
한편, 실시간 비디오 스트림의 경우, 사용자 디바이스(130)의 화면에 직접 표시되기 위해서는 네트워크(200)를 통해서 전달되는 시간이 가능한 짧아야 한다. 특히, 실시간으로 감시되는 화면에서 팬, 틸트, 줌(Pan, Tilting, Zoom) 기능을 수행하기 위해서는 사용자 디바이스(130)는 가능한 짧은 시간에 전달된 화면에 반응하여 팬, 틸트, 줌 기능의 명령을 카메라(112)에 전달하고 카메라(112)는 전달된 명령을 수행한다. 이를 위해서 네트워크(200)에서는 짧은 지연 시간(low latency)를 갖는 스위치 등의 자원을 할당하여 실시간 비디오 스트림이 사용자에게 전달될 수 있도록 설정된다.
또한 대용량의 비디오 스트림을 데이터 센터와 같은 대용량을 제공하는 저장 장소에 저장하기 위해서는 대역폭이 큰 네트워크 자원이 할당되어야 한다. 특히, 품질이 좋은 화질 또는 높은 해상도(예, HD 급 화질 등)를 갖는 비디오 스트림의 경우에는 대용량으로 전송되기 때문에 데이터 센터에 저장되기 위해서는 대역폭이 큰 네트워크를 통해서 저장되어야 한다.
카메라(112)에서 전송하는 다중의 비디오 스트림은 네트워크의 트래픽 상황에 따라서 네트워크 상의 트래픽이 많아서 사용 가능한 대역폭이 적을 경우와 네트워크 상의 트래픽이 적어서 사용 가능한 대역폭이 클 경우로 구분될 수 있다. 따라서, 카메라(112)는 사용 가능한 대역폭이 적을 경우에 카메라(112)에 직접 또는 네트워크를 통해 연결되어 있는 버퍼, 메모리 또는 캐쉬와 같은 저장 장치에 비디오 스트림을 저장한다. 그리고 나서, 카메라(112)는 충분히 대역폭이 커졌을 때 버퍼, 메모리 또는 캐쉬에 저장하고 있던 데이터를 전송할 수 있다.
카메라(112)는 촬영된 비디오 스트림을 카메라(112)에 연결된 버퍼에 저장한다. 그리고 나서, 카메라(112)는 출력되는 버퍼의 출력 레이트(rate)를 조절한다. 예를 들면, 실시간 비디오 스트림의 경우에는 네트워크 트래픽이 적은 경우, 카메라(112)의 버퍼는 실시간 트래픽의 출력 속도보다 더 빠른 속도로 전송하게 된다. 그리고 네트워크 트래픽이 많은 경우, 카메라(112)의 버퍼는 실시간 트래픽의 출력 속도보다 더 느린 속도로 전송하게 된다.
도 3을 보면, 네트워크 카메라 서버(120)는 제어부(122), 복수의 서버(1241~124m) 및 복수의 저장부(1261~126m)를 포함한다. 저장부(1261~126m)는 각각 서버(1241~124m) 내의 장치일 수 있으며, 서버(1241~124m)에 연결되어 있는 장치일 수 있다.
제어부(122)는 복수의 비디오 스트리밍 유닛(1101~110n) 중 하나 이상의 비디오 스트리밍 유닛을 각 서버(1241~124m)에 할당한다. 이러한 서버 할당은 소프트웨어 기반의 설정 툴을 이용하여 가능하다.
제어부(122)는 하나의 카메라를 하나의 서버에 할당할 수 있다. 이러한 방식으로 하나의 정해진 카메라를 적어도 하나의 서버에 할당할 수도 있다. 이 경우, 사용자는 자신이 원하는 시스템에 따라서 적절한 서버에 접속한다.
제어부(122)는 하나의 스트림을 하나의 서버에 할당할 수 있다. 각 비디오 스트리밍 유닛(1101~110n)에서 제공하는 다중의 스트림은 네트워크(200) 상에 플로우로 할당되고 플로우별로 구분된다. 따라서 제어부(122)는 각 플로우를 처리하기 위해서 구분된 플로우에 따라서 서버를 할당할 수 있다.
각 서버(1241~124m)는 할당된 비디오 스트리밍 유닛으로부터 생성되는 비디오 스트림을 처리한다. 각 서버(1241~124m)는 각 서버(1241~124m)와 사용자 디바이스(130) 사이에 소켓(socket) 연결을 통해서 실시간 비디오 스트림을 제공한다. 사용자가 서버(1241~124m)에서 제공하는 인터페이스를 통해서 실시간 비디오를 요청하는 경우, 서버(1241~124m)는 할당된 비디오 스트리밍 유닛에서부터 사용자 디바이스(130)에 직접 TCP 소켓을 이용하여 비디오 데이터를 전송할 수 있다.
서버(1241~124m)는 물리적인 서버 또는 가상의 서버일 수 있으며, 각 서버(1241~124m)는 하나 이상의 비디오 스트림을 처리할 수 있다.
전체적으로 다중의 스트림을 전송하는 것은 효율성을 크게 향상시킬 수 있다. 특히, 각각의 스트림들은 제각각의 목적에 맞게 최적화될 수 있다. 이를 위해서 사용자 디바이스(130)는 다중의 스트림을 설정할 수 있도록 하는 소프트웨어를 포함할 수 있다.
사용자 디바이스(130)는 서버(1241~124m) 또는 비디오 스트리밍 유닛(1101~110n)의 카메라(112)로부터 비디오 스트림을 수신하고, 비디오 화면을 통해 표시하거나 기록 장치에 기록하거나 브라우저를 통해서 표시할 수 있다. 또한 비디오 화면의 경우에는 이동 통신 기기와 같은 단일 화면 장치이거나, 개인용 컴퓨터 또는 노트북일 수 있으며, 감시 화면과 같은 다중 화면 장치일 수도 있다.
다중의 비디오 스트림을 플로우 별로 구별하기 위해서, 사용자는 비디오 스트리밍 유닛(1101~110n)이 제공하는 서로 다른 성격의 스트림을 위한 비디오 파라미터를 정의할 필요가 있다. 일단 정의된 파라미터는 각각의 비디어 스트리밍 유닛(1101~110n)에 전달되고, 각 비디오 스트리밍 유닛(1101~110n)은 해당되는 비디오 파라미터에 맞는 비디오 스트림을 제공한다. 비디오 파라미터로 고려할 수 있는 요소는 압축률, 프레임 속도, 색깔, 해상도, 오디오 제공 여부, 대역폭, 스트림 분석 등이 있을 수 있다. 또한 비디오 파라미터는 네트워크 카메라 서버(120)에도 제공된다. 네트워크 카메라 서버(120)는 카메라에서 수신한 비디오 스트림을 플로우 별로 구분하기 위해서 비디오 파라미터를 기준으로 삼는다. 따라서, 정의된 비디오 파라미터에 따라서 비디오 스트림은 각 서버(1241~124m)에 할당될 수 있다. 예를 들면, 서버(1241~124m) 중 하나는 사용자에게 직접 실시간 비디오 데이터를 전송하기에 적합한 비디오 스트림이 할당될 수 있고, 서버(1241~124m) 중 다른 하나는 원거리의 대용량 저장 장치를 갖춘 데이터 센터에 저장하기에 적합한 비디오 스트림이 할당될 수 있다. 또한 서버(1241~124m) 중 또 다른 하나는 사용자가 요구하는 사양에 맞게 비디오 데이터를 분석하여 사용자에게 알람 신호를 이용하여 상태를 보고하도록 할당될 수 있다.
네트워크 카메라 서버(120)의 제어부(122)는 다중의 비디오 스트림을 수신하면, 다중의 비디오 스트림을 파라미터 별로 분석하여 각 비디오 스트림을 해당하는 서버로 전달한다.
도 4는 본 발명의 실시 예에 따른 네트워크 카메라 서버에서 단일 또는 다중의 비디오 스트림을 처리하는 방법을 나타낸 흐름도이다.
네트워크 카메라 서버(120)의 제어부(122)는 비디오 스트리밍 유닛(1101~110n)으로부터 단일 또는 다중의 비디오 스트림들을 수신하면(S410), 수신한 단일 또는 다중의 비디오 스트림들을 정의된 비디오 파라미터에 따라서 분석하여 수신한 비디오 스트림들을 플로우 별로 구분한다(S420). 단일 또는 다중의 비디오 스트림은 압축되지 않은 원래의 비디오 데이터(raw video data)일 수도 있고, MJPEG, MPEG-4, H.264 등의 압축 알고리즘을 사용하여 압축된 비디오 데이터일 수도 있다.
제어부(122)는 수신한 비디오 스트림을 각각 플로우에 따라서 할당된 서버에 전달한다(S430).
그러면, 비디오 스트림을 수신한 서버(1241~124m)는 사용자의 요구에 맞춰서 압축을 변환하거나 해상도를 변환하는 등 비디오 스트림을 처리하고(S440), 사용자 디바이스(130)로 네트워크(200)를 통해서 전송하거나 해당 저장부(1261~126m)에 비디오 스트림을 저장한다(S450).
예를 들면, HD 해상도를 위한 비디오 스트림으로, 1920x1080 픽셀의 해상도를 갖고 초당 최대 30프레임(30fps)을 갖는 비디오 데이터를 H.264의 압축 방식으로 압축하여 전송하는 비디오 스트림 1과 1280x720 픽셀의 해상도를 갖고 30fps를 갖는 비디오 데이터를 MJPEG의 압축 방식으로 압축하여 전송하는 비디오 스트림 2가 제공된다고 가정한다.
따라서, 카메라(112)의 각 비디오 스트리밍 유닛에서 제공되는 비디오 스트림들은 다음과 같이 정의할 수 있다.
각 비디오 스트리밍 유닛(1101~110n)의 카메라(112)로부터 제공되는 비디오 스트림들은 네트워크(200)를 통해서 네트워크 카메라 서버(120)로 전송된다. 이때 비디오 스트리밍 유닛(1101)의 카메라로부터 제공되는 비디오 스트림 1의 형식을 비디오 스트림 11이라고 정의하고, 비디오 스트림 2의 형식을 비디오 스트림 12라고 정의한다. 또한 비디오 스트리밍 유닛(1102)의 카메라로부터 제공되는 비디오 스트림 1의 형식을 비디오 스트림 21이라고 정의하고, 비디오 스트림 2의 형식을 비디오 스트림 22라고 정의한다. 비디오 스트리밍 유닛(110n)의 카메라로부터 제공되는 비디오 스트림 1의 형식을 비디오 스트림 n1이라고 정의하고, 비디오 스트림 2의 형식을 비디오 스트림 n2라고 정의한다.
또한 압축 방식에 따라서 H.264는 플로우 1에 해당되고, MJPEG은 플로우 2에 해당되며, 원래 압축되지 않은 비디오 데이터는 플로우 3에 해당한다고 가정한다. 또한 제어부(122)는 플로우 1을 복수의 서버(1241~124m) 중 서버(1241, 1243)에 할당하고, 플로우 2를 서버(1242, 1244)에 할당하며, 플로우 3을 서버(1245, 1246)에 할당하도록 설정되어 있다고 가정한다.
비디오 스트리밍 유닛(1101~110n)의 카메라(112)는 각각 비디오 스트림 1 또는 비디오 스트림 2를 생성하여 네트워크(200)를 통해서 네트워크 카메라 서버(120)에 전달한다. 네트워크 카메라 서버(120)의 제어부(122)는 비디오 스트림 1 또는 비디오 스트림 2를 수신하면, 비디오 스트림 1 또는 비디오 스트림 2를 해당 서버에 할당한다. 앞서 가정한 바와 같이, 비디오 스트림 1은 H.264로 압축되어 있기 때문에 플로우 1에 해당되어서, 제어부(122)는 서버(1241,1243)에 할당하고, 비디오 스트림 2 MJPEG으로 압축되어 있기 때문에 플로우 2에 해당되어서, 제어부(122)는 플로우 2를 서버(1242, 1244)에 할당한다.
따라서, 플로우 1과 같이 압축률이 높은 H.264의 경우, 서버(1241)의 저장부(1261)에 저장될 수 있고, 플로우 2와 같이 사용자에 실시간 비디오 화면을 제공하기 위한 경우에는 사용자 디바이스(130)에 바로 전송될 수 있다.
그리고 H.264 압축 방식의 경우에는 대역폭에서 효율적으로 사용하기에 용이하지만, 비디오 스트림을 분석하기에는 용이하지 않다. 비디오 데이터를 분석하기에 용이한 MJPEG으로 변환하여 서버에 전달해야 된다. 따라서, 제어부(122)는 플로우 1을 서버(1243)에 할당하여 H.264 방식으로 압축된 비디오 데이터들을 MJPEG 방식으로 변환하여, 이를 서버(1244)에 할당하도록 할 수 있다. 서버(1244)는 서버(1243)에서 MJPEG로 변환된 비디오 스트림을 사용자 프로파일에 맞추어서 실시간 분석을 수행한다. 서버(1244)는 실시간 분석을 통해서, 얼굴 인식(face recognition), 객체 추적(object tracking), 움직임 감지(motion detection) 등을 수행할 수 있다. 실시간 분석을 위한 기준이 되는 사용자의 프로파일은 서버(1244)에 연결된 저장 장치에 미리 저장된다. 또한 실시간 분석을 통해서 얻어진 결과는 경고 신호 또는 프로그램을 통한 카메라 조작을 위한 제어 신호 등이 있을 수 있다. 예를 들면, 경고 신호의 경우에는 서버(1244)을 통해서 클라이언트에 경고 신호를 전송하고, 사용자는 경고 신호를 수신하게 된다.
도 5는 본 발명의 실시 예에 따른 네트워크 카메라 시스템의 다른 일 예를 나타낸 도면이다.
도 5를 참고하면, 네트워크 카메라 시스템(100')는 무선 게이트웨이(140, 150)를 더 포함할 수 있다.
비디오 스트리밍 유닛(1101~110n)의 카메라(112)는 무선으로 비디오 스트림을 전송한다.
무선 게이트웨이(140)는 비디오 스트리밍 유닛(1101~110n)의 카메라(112)로부터 비디오 스트림을 무선으로 전송 받는다.
또한 사용자 디바이스(130) 또한 무선 게이트웨이(150)를 통해서 서버(1241~124n)로부터 비디오 스트림을 제공받아서 저장하거나 화면에 표시할 수 있다.
유선 및 무선 통신을 동시에 제공하는 비디오 스트리밍 유닛(1101~110n)의 카메라(112)는 비디오 스트림을 유선 네트워크와 무선 네트워크를 통해서 각각 제공 가능하다. 예를 들면, 비디오 스트리밍 유닛(1101~110n)의 카메라(112)는 유선 네트워크로 비디오 스트림을 전송하다가 유선 네트워크 상에 트래픽이 많아서 할당된 대역폭이 줄어들어서 실시간 비디오 스트림 전송이 어려울 경우에는 무선 네트워크를 통해서 충분히 할당된 대역폭으로 비디오 스트림을 전송할 수 있다. 이러한 경우, 비디오 스트리밍 유닛(1101~110n)의 카메라(112)는 비디오 스트림을 네트워크 상에 제공하기 위해서, 유선 네트워크와 무선 네트워크를 동시에 제공해야 한다. 무선 네트워크로는 3G, HSPA/HSDPA, WiMAX, LTE 및 다른 여러가지 무선 통신을 이용한 기술들이 있다. 또한 무선 네트워크를 통해서 비디오 스트림을 전송 받은 사용자 디바이스(130)는 다양한 무선 단말기를 사용할 수 있다.
본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술 분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다.

Claims (1)

  1. 복수의 카메라 및 사용자 디바이스와 네트워크를 통해 연결되어 있는 네트워크 카메라 서버로서,
    플로우별로 할당되어 있으며, 설정된 디지털 처리 방식에 따라서 비디오 스트림을 내부 저장 장치에 저장하거나 사용자 디바이스에 전달하는 복수의 서버, 그리고
    설정된 비디오 파라미터를 기준으로 복수의 카메라로부터 각각 수신된 복수의 비디오 스트림을 플로우 별로 구분하고, 플로우별로 구분된 비디오 스트림을 상기 플로우별로 할당된 복수의 서버에 전달하는 제어부
    를 포함하는 네트워크 카메라 서버.
KR1020120140442A 2012-12-05 2012-12-05 네트워크 카메라 서버 및 그의 비디오 스트림 처리 방법 KR20140072668A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120140442A KR20140072668A (ko) 2012-12-05 2012-12-05 네트워크 카메라 서버 및 그의 비디오 스트림 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120140442A KR20140072668A (ko) 2012-12-05 2012-12-05 네트워크 카메라 서버 및 그의 비디오 스트림 처리 방법

Publications (1)

Publication Number Publication Date
KR20140072668A true KR20140072668A (ko) 2014-06-13

Family

ID=51126474

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120140442A KR20140072668A (ko) 2012-12-05 2012-12-05 네트워크 카메라 서버 및 그의 비디오 스트림 처리 방법

Country Status (1)

Country Link
KR (1) KR20140072668A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160142200A (ko) 2015-06-02 2016-12-12 한화테크윈 주식회사 Mjpeg 압축방식을 이용하는 영상촬영장치
US10362307B2 (en) 2016-09-09 2019-07-23 Hanwha Techwin Co., Ltd. Quantization parameter determination method and image capture apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160142200A (ko) 2015-06-02 2016-12-12 한화테크윈 주식회사 Mjpeg 압축방식을 이용하는 영상촬영장치
US11356635B2 (en) 2015-06-02 2022-06-07 Hanwha Techwin Co., Ltd. Imaging apparatus using MJPEG compression method
US10362307B2 (en) 2016-09-09 2019-07-23 Hanwha Techwin Co., Ltd. Quantization parameter determination method and image capture apparatus
US10999577B2 (en) 2016-09-09 2021-05-04 Hanwha Techwin Co., Ltd. Quantization parameter determination method and image capture apparatus

Similar Documents

Publication Publication Date Title
US11503307B2 (en) System and method for automatic encoder adjustment based on transport data
US11272189B2 (en) Adaptive encoding in security camera applications
US8254441B2 (en) Video streaming based upon wireless quality
US8160129B2 (en) Image pickup apparatus and image distributing method
US20070024705A1 (en) Systems and methods for video stream selection
KR20160110472A (ko) 상이한 인코딩 파라미터를 이용해 인코딩되는 복수의 인코딩 스트리밍
AU2005306791A1 (en) Method and apparatus for controlling a video surveillance display
US10785511B1 (en) Catch-up pacing for video streaming
AU2021200428B2 (en) System and method for automatic encoder adjustment based on transport data
US20070127437A1 (en) Medium signal transmission method, reception method, transmission/reception method, and device
US20190306220A1 (en) System for Video Monitoring with Adaptive Bitrate to Sustain Image Quality
KR20140072668A (ko) 네트워크 카메라 서버 및 그의 비디오 스트림 처리 방법
US20170118528A1 (en) System and method for adaptive video streaming
US9363574B1 (en) Video throttling based on individual client delay
KR102586963B1 (ko) 카메라 및 카메라의 프로파일 운영 방법
KR101291559B1 (ko) 실시간 다중 영상압축 장치 및 방법
KR102546764B1 (ko) 영상 제공 장치 및 방법
Wan et al. Research and Implementation of Low-Latency Streaming Media Transmission System
JP6045051B1 (ja) 動画像伝送装置及び動画像伝送方法
Callens Cloud-based video stabilization processing in real-time
KR20150095080A (ko) 영상 데이터 전송 장치 및 방법
KR100952990B1 (ko) 다중영상코딩방법 및 장치
JP2019161251A (ja) 画像配信装置、方法及びプログラム
JP2006262205A (ja) エンコーダ及びコーデック方法並びにネットワーク伝送システム

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination