KR102090308B1 - Gop 단위 기반의 영상 저장 시스템 및 방법 - Google Patents

Gop 단위 기반의 영상 저장 시스템 및 방법 Download PDF

Info

Publication number
KR102090308B1
KR102090308B1 KR1020190128411A KR20190128411A KR102090308B1 KR 102090308 B1 KR102090308 B1 KR 102090308B1 KR 1020190128411 A KR1020190128411 A KR 1020190128411A KR 20190128411 A KR20190128411 A KR 20190128411A KR 102090308 B1 KR102090308 B1 KR 102090308B1
Authority
KR
South Korea
Prior art keywords
video
video stream
gop
queue
unit
Prior art date
Application number
KR1020190128411A
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 KR1020190128411A priority Critical patent/KR102090308B1/ko
Application granted granted Critical
Publication of KR102090308B1 publication Critical patent/KR102090308B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명은 GOP 단위 기반의 영상 저장 시스템 및 방법에 관한 것이다. 본 발명에 따른 GOP 단위 기반의 영상 저장 시스템은 비디오 스트림을 수신하는 수신부(100); GOP(Group Of Picture) 단위로 비디오 큐를 생성하는 비디오 큐 생성부(200); 상기 비디오 스트림의 각 프레임을 식별하는 인덱스 정보를 생성하고, 상기 인덱스 정보를 상기 비디오 스트림의 각 프레임에 삽입하는 인덱스 정보 삽입부(300); 상기 비디오 스트림을 GOP 단위로 상기 비디오 큐에 임시로 저장시키고, 상기 비디오 큐에 한 개의 GOP를 이루는 프레임들이 모두 채워지면 상기 비디오 큐에 한 개의 GOP를 이루는 프레임들이 모두 채워졌음을 나타내는 저장 이벤트 정보를 생성한 뒤, 상기 저장 이벤트 정보를 디스크 제어부(500)로 전송하는 비디오 스트림 제어부(400); 상기 저장 이벤트 정보가 수신되면 상기 비디오 큐에 저장된 비디오 스트림의 I(Intra-coded) 프레임으로부터 상기 인덱스 정보를 추출하는 인덱스 정보 추출부(500); 디스크(700) 내에 인덱스 바스켓 블록과 데이터 바스켓 블록을 생성하고, 상기 저장 이벤트 정보가 수신되면 I 프레임으로부터 추출된 상기 인덱스 정보를 상기 인덱스 바스켓 블록에 기록하고 상기 비디오 큐에 저장된 비디오 스트림을 상기 데이터 바스켓 블록에 기록하는 디스크 제어부(600); 및 디스크 제어부(600)의 제어에 따라 GOP 단위로 상기 비디오 스트림을 기록하는 디스크(700)를 포함한다.

Description

GOP 단위 기반의 영상 저장 시스템 및 방법{IMAGE STORING SYSTEM AND METHOD BASED ON GOP UNIT}
본 발명은 GOP 단위 기반의 영상 저장 시스템 및 GOP 단위 기반의 영상 저장 방법에 관한 것으로서, 영상을 프레임 단위가 아닌 GOP 단위로 디스크에 기록함으로써 디스크 입출력 횟수를 줄여 시스템 전체의 성능을 향상시킨 GOP 단위 기반의 영상 저장 시스템 및 방법에 관한 것이다.
최근 수년간 프로세서의 속도가 계속적으로 상승하여 왔으나, 프로그램 처리속도에 직접적으로 영향을 주는 디스크의 성능은 그와 보조를 맞추지 못하고 있다. 즉, 프로세서의 속도와 디스크의 속도 간에는 매우 큰 불균형이 존재하고 있다. 이러한 문제 때문에 컴퓨터시스템이 작업을 처리하는 속도는 궁극적으로 디스크 속도에 크게 의존하게 되었다. 다시 표현하면, 프로세서의 속도가 더 빨라지더라도 전체 시스템의 성능 향상은 디스크 I/O(Input/Output) 속도에 의해 제한될 수밖에 없다는 것이다.
따라서 컴퓨터시스템의 성능을 높이기 위해서는 프로세서와 기억장치의 속도가 빨라지는 정도만큼 디스크의 성능도 높아져야 한다는 것이다. 그러나 디스크의 성능은 반도체 기술이나 전자회로의 발전 속도에 비하여 현저히 느리게 발전해 오고 있다. 그 이유는 디스크 액세스 시간 중에서 많은 부분이 기계적인 장치들의 동작에 걸리는 시간이기 때문이며, 그 장치들의 속도를 높이는 것은 한계가 있다. 수치적으로 보면, 지난 30여년간 CPU와 주기억장치의 속도는 수천 배 높아졌지만, 디스크 액세스 시간은 수십 배 정도 밖에 개선되지 못하였다. 현재 디스크의 속도는 주기억장치 속도의 십만 분의 1 정도이며, 그 차이는 점차 더 커질 것으로 예상된다. 이러한 문제는 프로세서의 속도가 계속 향상되고 있기 때문에 더욱 심각해지고 있다. 따라서 디스크의 성능을 개선해야 할 필요성은 갈수록 더 높아지고 있다.
한편, 비디오 인코딩 기법에 있어서, MPEG-4, AVC, HEVC(High Efficiency Video Coding) 등 인코딩 방법은 프레임 사이의 상관정보인 움직임 예측 및 보상기법을 이용하고 있다. 그리고 인코딩된 비디오 스트림은 여러 개의 GOP(Group Of Picture)들로 구성되며, GOP는 여러 개의 프레임(픽쳐)들로 구성된다. 즉, 비디오 스트림은 여러 개의 프레임들로 구성된다고 할 수 있다. 이러한 비디오 스트림을 구성하는 프레임에는 I 프레임(Intra-coded frame)(100, 105)과 P 프레임(Predictive-coded frame)이 존재한다. 일반적으로 한 개의 GOP는 I 프레임을 한 개만 포함하며 다음 I 프레임 이전까지 P 프레임들만을 포함하여 구성된다. 비디오의 인코딩 시에 P 프레임은 이웃하는 I 프레임과 비교하고 그리고 그 다음 P 프레임은 이웃하는 이전 P 프레임과 비교하여 차이가 있는 부분만을 계산하여 그 차이 값만 인코딩한다.
종래 컴퓨터시스템에서 비디오 스트림은 저장장치인 디스크에 프레임 단위로 입출력되어왔다. 이에 매 프레임마다 디스크 입출력이 발생하게되어 하나의 비디오 파일을 저장하기까지 디스크 입출력 횟수가 매우 많을 수 밖에 없었다. 이렇게 많은 디스크 입출력 횟수를 기계장치로 구성된 디스크가 감당하다 보니 높은 성능을 갖는 프로세서와 기억장치가 구비되었음에도 불구하고 전체적인 컴퓨터시스템의 속도는 낮을 수 밖에 없었다.
대한민국특허청 공개특허공보 제10-2014-0020926호 대한민국특허청 공개특허공보 제10-2015-0093704호 대한민국특허청 공개특허공보 제10-2016-0111023호
상술한 문제점을 해결하기 위한 본 발명의 목적은 GOP 단위로 비디오 스트림을 디스크에 기록함으로써 디스크 입출력 횟수를 현저하게 줄일 수 있는 GOP 단위 기반의 영상 저장 시스템 및 방법을 제공하는 것이다.
본 발명의 다른 목적은 비디오 스트림이 수신되는 채널의 개수에 따라 복수 개의 비디오 큐를 생성한 뒤, 생성된 복수 개의 비디오 큐를 디스크 내 지정된 바스켓 블록에 GOP 단위로 기록함으로써 복수 개의 비디오 스트림이 수신되는 환경에서도 향상된 시스템 속도를 발휘할 수 있는 GOP 단위 기반의 영상 저장 시스템 및 방법을 제공하는 것이다.
상술한 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 GOP 단위 기반의 영상 저장 시스템은 비디오 스트림을 수신하는 수신부(100); GOP(Group Of Picture) 단위로 비디오 큐를 생성하는 비디오 큐 생성부(200); 상기 비디오 스트림의 각 프레임을 식별하는 인덱스 정보를 생성하고, 상기 인덱스 정보를 상기 비디오 스트림의 각 프레임에 삽입하는 인덱스 정보 삽입부(300); 상기 비디오 스트림을 GOP 단위로 상기 비디오 큐에 임시로 저장시키고, 상기 비디오 큐에 한 개의 GOP를 이루는 프레임들이 모두 채워지면 상기 비디오 큐에 한 개의 GOP를 이루는 프레임들이 모두 채워졌음을 나타내는 저장 이벤트 정보를 생성한 뒤, 상기 저장 이벤트 정보를 디스크 제어부(500)로 전송하는 비디오 스트림 제어부(400); 상기 저장 이벤트 정보가 수신되면 상기 비디오 큐에 저장된 비디오 스트림의 I(Intra-coded) 프레임으로부터 상기 인덱스 정보를 추출하는 인덱스 정보 추출부(500); 디스크(700) 내에 인덱스 바스켓 블록과 데이터 바스켓 블록을 생성하고, 상기 저장 이벤트 정보가 수신되면 I 프레임으로부터 추출된 상기 인덱스 정보를 상기 인덱스 바스켓 블록에 기록하고 상기 비디오 큐에 저장된 비디오 스트림을 상기 데이터 바스켓 블록에 기록하는 디스크 제어부(600); 및 디스크 제어부(600)의 제어에 따라 GOP 단위로 상기 비디오 스트림을 기록하는 디스크(700)를 포함한다.
바람직하게는, 상기 GOP 단위 기반의 영상 저장 시스템은 비디오 스트림이 수신되는 채널의 개수를 나타내는 비디오 스트림 채널 정보를 저장하는 데이터베이스(800)를 더 포함하고, 비디오 큐 생성부(200)는 상기 비디오 스트림 채널 정보를 기초로 비디오 스트림이 수신되는 채널의 개수만큼의 비디오 큐를 생성할 수 있다.
바람직하게는, 디스크 제어부(600)는 상기 비디오 스트림 채널 정보를 기초로 비디오 큐 생성부(200)에 의해 생성된 비디오 큐의 개수만큼의 인덱스 바스켓 블록 및 데이터 바스켓 블록을 생성할 수 있다.
바람직하게는, 비디오 스트림 제어부(400)는 수신되는 비디오 스트림에서 I 프레임이 재차 수신되면 상기 비디오 큐에 한 개의 GOP를 이루는 프레임들이 모두 채워진 것으로 판단하고 상기 저장 이벤트 정보를 생성하여 디스크 제어부(600)로 전송할 수 있다.
바람직하게는, 디스크 제어부(600)는 상기 비디오 스트림이 수신되는 채널을 식별하여 상기 비디오 스트림이 기록될 바스켓 블록을 변경할 필요가 있는지 판단하고, 변경이 필요한 경우 식별된 채널로 수신되는 비디오 스트림이 기록될 바스켓 블록을 새로 생성할 수 있다.
본 발명은 GOP 단위로 비디오 스트림을 디스크에 기록함으로써 디스크 입출력 횟수를 현저하게 줄일 수 있는 GOP 단위 기반의 영상 저장 시스템 및 방법을 제공할 수 있다.
본 발명은 비디오 스트림이 수신되는 채널의 개수에 따라 복수 개의 비디오 큐를 생성한 뒤, 생성된 복수 개의 비디오 큐를 디스크 내 지정된 바스켓 블록에 GOP 단위로 기록함으로써 복수 개의 비디오 스트림이 수신되는 환경에서도 향상된 시스템 속도를 발휘할 수 있는 GOP 단위 기반의 영상 저장 시스템 및 방법을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 GOP 단위 기반의 영상 저장 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명의 다른 일 실시예에 따른 GOP 단위 기반의 영상 저장 시스템의 구성을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 비디오 큐의 구성을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 인덱스 바스켓 블록 및 데이터 바스켓 블록의 구성을 나타낸 도면이다.
도 5는 본 발명의 다른 일 실시예에 따른 GOP 단위 기반의 영상 저장 방법의 순서를 나타낸 도면이다.
도 6은 Window 7 운영체제에서 기존 시스템의 성능을 평가한 결과를 나타낸 도면이다.
도 7은 Window 7 운영체제에서 본 발명의 일 실시예에 따른 GOP 단위 기반의 영상 저장 시스템의 성능을 평가한 결과를 나타낸 도면이다.
도 8은 Window 10 운영체제에서 기존 시스템의 성능을 평가한 결과를 나타낸 도면이다.
도 9는 Window 10 운영체제에서 본 발명의 일 실시예에 따른 GOP 단위 기반의 영상 저장 시스템의 성능을 평가한 결과를 나타낸 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.
그리고 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다.
도 1 내지 도 4를 참조하여, 본 발명의 일 실시예에 따른 GOP 단위 기반의 영상 저장 시스템의 구성과 동작에 대하여, 이하 설명한다.
도 1은 본 발명의 일 실시예에 따른 GOP 단위 기반의 영상 저장 시스템(이하, “본 영상 저장 시스템”이라 한다)의 구성을 나타낸 도면이다.
도 1을 참조하면, 본 영상 저장 시스템은 수신부(100), 비디오 큐 생성부(200), 인덱스 정보 삽입부(300), 비디오 스트림 제어부(400), 인덱스 정보 추출부(500), 디스크 제어부(600) 및/또는 디스크(700)를 포함한다.
수신부(100)는 비디오 소스(10)로부터 비디오 스트림을 수신한다. 이때 비디오 소스(10)는 IP 카메라, 스트림 서버, 미디어 서버 등에 해당할 수 있다.
비디오 큐 생성부(200)는 GOP(Group Of Picture) 단위로 비디오 큐(Queue, 20)를 생성한다. 비디오 큐 생성부(200)에 의해 생성된 비디오 큐(20)에는 비디오 스트림의 프레임들이 수신되는 순서대로 입력된다. 그리고 비디오 큐의 크기는 한 개의 GOP 길이에 해당한다.
인덱스 정보 삽입부(300)는 수신부(100)에 의해 수신되는 비디오 스트림을 구성하는 각 프레임을 식별하는 인덱스 정보를 생성한다. 그리고, 인덱스 정보 삽입부(300)는 이렇게 생성된 인덱스 정보를 각 프레임에 삽입한다. 여기서 인덱스 정보는 I 프레임과 P 프레임을 구분하기 위한 정보, 프레임의 시간 정보 등을 포함한다.
비디오 스트림 제어부(400)는 인덱스 정보가 삽입된 비디오 스트림을 GOP 단위로 비디오 큐(20)에 임시로 저장시킨다. 그리고 비디오 스트림 제어부(400)는 비디오 큐(20)에 한 개의 GOP를 이루는 프레임들이 모두 채워지면, 비디오 큐(20)에 한 개의 GOP를 이루는 프레임들이 모두 채워졌음을 나타내는 저장 이벤트 정보를 생성한다. 그러고 나서 비디오 스트림 제어부(400)는 생성된 저장 이벤트 정보를 디스크 제어부(500)로 전송한다. 한 개의 GOP 길이의 크기를 갖는 비디오 큐(20)가 프레임들로 가득차면, 채워진 비디오 큐(20)는 디스크(700)에 기록되고 그 다음 비디오 스트림이 새로운 비디오 큐(20)에 임시 저장된다.
구체적으로, 비디오 스트림 제어부(400)는 수신되는 비디오 스트림을 I 프레임부터 차례대로 비디오 큐(20)에 임시 저장한다. 그러다가 I 프레임이 재차 수신되면, 비디오 큐(20)에 한 개의 GOP를 이루는 프레임들이 모두 채워진 것으로 판단하고 비디오 스트림 제어부(400)는 저장 이벤트 정보를 생성하여 전송하고 디스크 제어부(600)는 다 채워진 비디오 큐(20)를 디스크에 기록한다. 그러고 나서, 비디오 스트림 제어부(400)는 재차 수신되는 I 프레임부터는 새로운 비디오 큐(20)에 다시 차례대로 임시 저장한다.
인덱스 정보 추출부(500)는 저장 이벤트 정보가 디스크 제어부(500)로 전달되면 디스크 제어부(500)의 제어에 따라, 비디오 큐(20)에 저장된 프레임들 중 I(Intra-coded) 프레임으로부터 인덱스 정보를 추출한다. 이때 추출되는 인덱스 정보는 인덱스 정보 삽입부(300)에 의해 삽입되었던 인덱스 정보이다.
디스크 제어부(600)는 먼저 디스크(700) 내에 인덱스 바스켓 블록(30)과 데이터 바스켓 블록(40)을 생성한다. 그리고 디스크 제어부(600)는 비디오 스트림 제어부(400)로부터 저장 이벤트 정보가 수신되면, 인덱스 정보 추출부(500)에 의해 I 프레임으로부터 추출된 인덱스 정보를 인덱스 바스켓 블록(30)에 기록하고 비디오 큐(20)에 임시 저장된 비디오 스트림을 데이터 바스켓 블록(40)에 기록한다. 즉, 추출된 인덱스 정보는 인덱스 바스켓 블록(30)에, GOP 단위의 비디오 스트림은 데이터 바스켓 블록(40)에 기록된다. 이때 데이터 바스켓 블록(40)에는 비디오 큐 단위인 GOP 단위를 기본 단위로 비디오 스트림이 기록된다.
디스크(700)는 디스크 제어부(600)의 제어에 따라 GOP 단위로 비디오 스트림을 기록한다.
도 2는 본 발명의 다른 일 실시예에 따른 GOP 단위 기반의 영상 저장 시스템의 구성을 나타낸 도면이다.
도 2는 복수 개의 비디오 스트림이 복수 개의 채널로부터 수신되는 경우에 본 영상 저장 시스템의 구성을 나타낸 것이다.
도 2를 참조하면, 본 영상 저장 시스템은 데이터베이스(800)를 더 포함하고, 비디오 큐 생성부(200)는 복수 개의 비디오 큐(20)를 생성하고 디스크 제어부(600)는 복수 개의 인덱스 바스켓 블록(30) 및 데이터 바스켓 블록(40) 세트를 생성한다.
데이터베이스(800)는 비디오 스트림이 수신되는 채널의 개수를 나타내는 비디오 스트림 채널 정보를 저장하고 있다. 이때 비디오 스트림이 수신되는 채널의 개수는 비디오 스트림을 전송하는 비디오 소스(10)의 개수를 의미할 수 있고, 또는 복수 개의 레이어로 된 비디오 스트림에서 레이어의 개수를 의미할 수 있다.
비디오 큐 생성부(200)는 데이터베이스(800)에 저장된 비디오 스트림 채널 정보를 기초로 비디오 스트림이 수신되는 채널의 개수만큼의 비디오 큐를 생성한다.
비디오 스트림 제어부(400)는 데이터베이스(800)로부터 비디오 스트림 채널 정보를 전송받고 이를 기초로 각 비디오 스트림 채널에 식별 정보를 부여하고, 비디오 큐 생성부(200)에 의해 생성된 각 비디오 큐에도 식별 정보를 부여할 수 있다. 그리고 비디오 스트림 제어부(400)는 부여된 각각의 식별 정보를 이용하여 비디오 스트림 채널과 비디오 큐(20)를 매칭시킴으로써, 특정 비디오 스트림 채널로 수신되는 비디오 스트림은 특정 비디오 큐에 임시 저장되도록 할 수 있다.
한편 디스크 제어부(600)는 데이터베이스(800)에 저장된 비디오 스트림 채널 정보를 기초로 비디오 큐 생성부(200)에 의해 생성된 비디오 큐(20)의 개수만큼의 인덱스 바스켓 블록(30) 및 데이터 바스켓 블록(40)을 생성하고, 생성된 한 개의 인덱스 바스켓 블록(30) 및 데이터 바스켓 블록(40) 세트마다 식별 정보(바스켓 블록 세트 식별 정보)를 부여한다. 그리고 디스크 제어부(600)는 비디오 스트림 제어부(400)로부터 비디오 스트림 채널에 부여된 식별 정보(채널 식별 정보) 및 비디오 큐(20)에 부여된 식별 정보(비디오 큐 식별 정보)를 전달받는다. 이후 디스크 제어부(600)는 바스켓 블록 세트의 식별 정보, 비디오 스트림 채널에 부여된 식별 정보 및 비디오 큐(20)에 부여된 식별 정보를 이용하여 비디오 스트림 채널, 비디오 큐(20) 및 인덱스 바스켓 블록(30)과 데이터 바스켓 블록(40) 세트를 매칭시킴으로써, 특정 비디오 스트림 채널로 수신되어 GOP 단위로 특정 비디오 큐(20)에 임시 저장되는 비디오 스트림이 특정 인덱스 바스켓 블록(30) 및 데이터 바스켓 블록(40)에 기록되도록 할 수 있다.
예를 들어, 제1 IP 카메라로부터 수신되는 비디오 스트림은 비디오 큐 #1에 임시 저장되고, 데이터 바스켓 블록 #1에 기록되며 해당 비디오 스트림의 인덱스 정보는 인덱스 바스켓 블록 #1에 기록된다. 반면, 제2 IP 카메라로부터 수신되는 비디오 스트림은 비디오 큐 #2에 임시 저장되고, 데이터 바스켓 블록 #2에 기록되며 해당 비디오 스트림의 인덱스 정보는 인덱스 바스켓 블록 #2에 기록된다.
나아가 디스크 제어부(600)는 비디오 스트림, 해당 비디오 스트림이 임시 저장된 비디오 큐, 해당 비디오 큐가 기록되는 바스켓 블록(인덱스 바스켓 블록 및 데이터 바스켓 블록)에 대한 상세 정보 등 저장 내용에 대한 정보를 데이터베이스(800)에 저장할 수 있다.
디스크 제어부(600)는 채널 식별 정보, 비디오 큐 식별 정보 및 바스켓 블록 세트 식별 정보를 이용하여 수신되는 비디오 스트림이 기록될 바스켓 블록을 변경할 필요가 있는지 판단하고(즉, 비디오 스트림이 서로 기 매칭된 바스켓 블록에 기록되고 있는지 판단하고), 변경이 필요한 경우 현재 비디오 스트림이 기록될 바스켓 블록을 생성한 뒤 생성된 바스켓 블록에 식별 정보를 부여하고 현재 비디오 스티림의 채널 식별 정보와 매칭한 후, 새로 생성된 바스켓 블록에 비디오 스트림이 기록되도록 할 수 있다. 나아가 디스크 제어부(600)는 바스켓 블록의 용량을 실시간으로 확인하고 용량이 가득찬 경우 새로운 바스켓 블록을 생성할 수 있다.
도 3은 본 발명의 일 실시예에 따른 비디오 큐의 구성을 나타낸 도면이다.
도 3을 참조하면, 비디오 큐 생성부(200)에 의해 생성되는 비디오 큐(20)에는 한 개의 GOP에 해당하는 프레임들이 저장된다. 상술한 바와 같이 한 개의 GOP에는 한 개의 I 프레임(21)이 구성되고 GOP 내 나머지 프레임들은 모드 P 프레임(22)이다.
비디오 스트림 제어부(400)의 제어에 따라 수신되는 비디오 스트림의 프레임들이 비디오 큐(20)에 큐(queue) 방식으로 저장되고, 한 개의 GOP가 구성되면 디스크 제어부(600)의 제어에 의해 디스크(700)에 기록된다.
도 4는 본 발명의 일 실시예에 따른 인덱스 바스켓 블록 및 데이터 바스켓 블록의 구성을 나타낸 도면이다.
도 4를 참조하면, 디스크 제어부(600)에 의해 디스크(700) 내에 인덱스 바스켓 블록(30)과 데이터 바스켓 블록(40)이 할당된다. 인덱스 바스켓 블록(30)에는 인덱스 정보 추출부(500)에 의해 비디오 스트림으로부터 추출된 인덱스 정보가 기록된다. 그리고 데이터 바스켓 블록(40)에는 비디오 스트림이 GOP 단위로 기록된다.
도 4의 인덱스 바스켓 블록(30)의 첫 번째 인덱스 정보(31)는 데이터 바스켓 블록(40)에 기록된 첫 번째 GOP(41)에 속하는 I 프레임을 식별하고, 두 번째 인덱스 정보(32)는 데이터 바스켓 블록(40)에 기록된 두 번째 GOP(42)에 속하는 I 프레임을 식별한다.
도 5를 참조하여, 본 발명의 일 실시예에 따른 GOP 단위 기반의 영상 저장 방법에 대하여, 이하 설명한다.
도 5는 본 발명의 다른 일 실시예에 따른 GOP 단위 기반의 영상 저장 방법(이하, “본 영상 저장 방법”이라 한다)의 순서를 나타낸 도면이다.
도 5를 참조하면, 본 영상 저장 방법은 GOP(Group Of Picture) 단위로 비디오 큐를 생성하는 단계(S5010), 비디오 스트림을 수신하는 단계(S5020), 상기 비디오 스트림의 각 프레임을 식별하는 인덱스 정보를 생성하고, 상기 인덱스 정보를 상기 비디오 스트림의 각 프레임에 삽입하는 단계(S5030), 상기 비디오 스트림을 GOP 단위로 상기 비디오 큐에 임시로 저장시키고, 상기 비디오 큐에 한 개의 GOP를 이루는 프레임들이 모두 채워지면 상기 비디오 큐에 한 개의 GOP를 이루는 프레임들이 모두 채워졌음을 나타내는 저장 이벤트 정보를 생성한 뒤, 상기 저장 이벤트 정보를 디스크 제어부(500)로 전송하는 단계(S5040), 상기 저장 이벤트 정보가 수신되면 상기 비디오 큐에 저장된 비디오 스트림의 I(Intra) 프레임으로부터 상기 인덱스 정보를 추출하는 단계(S5050), 및/또는 디스크(700) 내에 인덱스 바스켓 블록과 데이터 바스켓 블록을 생성하고, 상기 저장 이벤트 정보가 수신되면 I 프레임으로부터 추출된 상기 인덱스 정보를 상기 인덱스 바스켓 블록에 기록하고 상기 비디오 큐에 저장된 비디오 스트림을 상기 데이터 바스켓 블록에 기록하는 단계(S5060)를 포함한다.
상술한 각 단계에 대한 상세한 설명은 전술한 도 1 내지 도 4에 대한 설명으로 대체하며, 본 영상 저장 방법은 상술한 단계뿐만 아니라 도 1 내지 도 4의 설명 부분에서 본 영상 저장 시스템이 수행하는 동작을 하나 이상의 단계로서 더 포함할 수 있다.
도 6 내지 도 9를 참조하여, 본 발명의 일 실시예에 따른 GOP 단위 기반의 영상 저장 시스템의 개선된 성능에 대하여, 이하 설명한다.
도 6은 Window 7 운영체제에서 기존 시스템의 성능을 평가한 결과를 나타낸 도면이고, 도 7은 Window 7 운영체제에서 본 영상 저장 시스템의 성능을 평가한 결과를 나타낸 도면이다.
도 6 내지 도 7을 참조하면, Window 7 운영체제에서 비디오 소스로서 IP 카메라 50채널을 운용하는 환경에서, 기존 시스템(60)의 경우 CPU 사용율 38%(61), 디스크 I/O 시간 100%(62)가 측정된 반면, 본 영상 저장 시스템(70)의 경우 CPU 사용율 28%(71), 디스크 I/O 시간 10%(72)가 측정되었다. 즉, CPU 사용율이 10% 가량 감소하였고 디스크 I/O 시간이 90% 감소하였다. 여기서 DISK I/O 지표는 CPU와 DISK 사이의 입출력 속도를 판단하기 위한 바로미터로 사용된다. 이 값이 높으면 시스템 성능이 좋지 않은 것으로 판단되고 이 값이 낮으면 시스템 성능이 좋은 것으로 판단된다.
도 8은 Window 10 운영체제에서 기존 시스템의 성능을 평가한 결과를 나타낸 도면이고, 도 9는 Window 10 운영체제에서 본 영상 저장 시스템의 성능을 평가한 결과를 나타낸 도면이다.
도 8 내지 도 9를 참조하면, Window 10 운영체제에서 비디오 소스로서 IP 카메라 50채널을 운용하는 환경에서, 기존 시스템(80)의 경우 CPU 사용율 47%(81), 디스크 I/O 시간 9%(82)가 측정된 반면, 본 영상 저장 시스템(90)의 경우 CPU 사용율 40%(91), 디스크 I/O 시간 8%(92)가 측정되었다. 즉, CPU 사용율이 7% 가량 감소하였고 디스크 I/O 시간이 1% 감소하였다. 나아가 도 8 및 도 9의 우측 디스크 I/O 그래프를 참조하면, 기존 시스템(80)에서 90%에 육박하던 디스크 I/O 시간이 본 영상 저장 시스템(90)에서 확연히 감소한 것을 확인할 수 있었다.
예를 들어, 30fps(frame per second) 및 GOP=30의 비디오 스트림이 수신되는 경우, 기존 시스템에서는 1분당 30(fps) Χ 60(s) = 1,800번의 디스크 I/O가 발생되는 반면, 본 영상 저장 시스템에서는 1분당 1(GOP per second) Χ 60(s) = 1번의 디스크 I/O가 발생되는 것이다.
본 명세서에서 수신부(100), 비디오 큐 생성부(200), 인덱스 정보 삽입부(300), 비디오 스트림 제어부(400), 인덱스 정보 추출부(500), 디스크 제어부(600), 디스크(700) 및/또는 데이터베이스(800)는 메모리에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있다. 또는, 프로세서에 의해 구동되고 제어되는 소프트웨어 모듈들로서 동작할 수 있다. 나아가, 프로세서는 하드웨어 장치일 수 있다.
참고로, 본 발명의 일 실시예에 따른 GOP 단위 기반의 영상 저장 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독가능매체에 기록될 수 있다. 상기 컴퓨터 판독가능매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용가능한 것일 수도 있다. 컴퓨터 판독가능매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체, 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급언어코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명의 보호범위가 이상에서 명시적으로 설명한 실시예의 기재와 표현에 제한되는 것은 아니다. 또한, 본 발명이 속하는 기술분야에서 자명한 변경이나 치환으로 말미암아 본 발명이 보호범위가 제한될 수도 없음을 다시 한 번 첨언한다.
100: 수신부 200: 비디오 큐 생성부
300: 인덱스 정보 삽입부 400: 비디오 스트림 제어부
500: 인덱스 정보 추출부 600: 디스크 제어부
700: 디스크 800: 데이터베이스
10: 비디오 소스 20: 비디오 큐
30: 인덱스 바스켓 블록 40: 데이터 바스켓 블록

Claims (5)

  1. 비디오 스트림을 수신하는 수신부(100);
    GOP(Group Of Picture) 단위로 비디오 큐를 생성하는 비디오 큐 생성부(200);
    상기 비디오 스트림의 각 프레임을 식별하는 인덱스 정보를 생성하고, 상기 인덱스 정보를 상기 비디오 스트림의 각 프레임에 삽입하는 인덱스 정보 삽입부(300);
    상기 비디오 스트림을 상기 비디오 큐에 임시로 저장시키고, 수신되는 비디오 스트림에서 I 프레임이 재차 수신되면 상기 비디오 큐에 한개의 GOP를 이루는 프레임들이 모두 채워진 것으로 판단하여, 상기 비디오 큐에 한 개의 GOP를 이루는 프레임들이 모두 채워졌음을 나타내는 저장 이벤트 정보를 생성한 뒤, 상기 저장 이벤트 정보를 인덱스 정보 추출부(500) 및 디스크 제어부(600)로 전송하는 비디오 스트림 제어부(400);
    상기 저장 이벤트 정보가 수신되면 상기 비디오 큐에 저장된 비디오 스트림의 I(Intra-coded) 프레임으로부터 상기 인덱스 정보를 추출하는 인덱스 정보 추출부(500);
    디스크(700) 내에 인덱스 바스켓 블록과 데이터 바스켓 블록을 생성하고, 상기 저장 이벤트 정보가 수신되면 I 프레임으로부터 추출된 상기 인덱스 정보를 상기 인덱스 바스켓 블록에 기록하고 상기 비디오 큐에 저장된 GOP 단위의 비디오 스트림을 상기 데이터 바스켓 블록에 기록하는 디스크 제어부(600); 및
    디스크 제어부(600)의 제어에 따라 GOP 단위로 상기 비디오 스트림을 기록하는 디스크(700)를 포함하는 GOP 단위 기반의 영상 저장 시스템.
  2. 청구항 1에 있어서,
    상기 GOP 단위 기반의 영상 저장 시스템은 비디오 스트림이 수신되는 채널의 개수를 나타내는 비디오 스트림 채널 정보를 저장하는 데이터베이스(800)를 더 포함하고,
    비디오 큐 생성부(200)는 상기 비디오 스트림 채널 정보를 기초로 비디오 스트림이 수신되는 채널의 개수만큼의 비디오 큐를 생성하는 것을 특징으로 하는 GOP 단위 기반의 영상 저장 시스템.
  3. 청구항 2에 있어서,
    디스크 제어부(600)는 상기 비디오 스트림 채널 정보를 기초로 비디오 큐 생성부(200)에 의해 생성된 비디오 큐의 개수만큼의 인덱스 바스켓 블록 및 데이터 바스켓 블록을 생성하는 것을 특징으로 하는 GOP 단위 기반의 영상 저장 시스템.
  4. 삭제
  5. 청구항 3에 있어서,
    디스크 제어부(600)는 상기 비디오 스트림이 수신되는 채널을 식별하여 상기 비디오 스트림이 기록될 바스켓 블록을 변경할 필요가 있는지 판단하고, 변경이 필요한 경우 식별된 채널로 수신되는 비디오 스트림이 기록될 바스켓 블록을 새로 생성하는 것을 특징으로 하는 GOP 단위 기반의 영상 저장 시스템.
KR1020190128411A 2019-10-16 2019-10-16 Gop 단위 기반의 영상 저장 시스템 및 방법 KR102090308B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190128411A KR102090308B1 (ko) 2019-10-16 2019-10-16 Gop 단위 기반의 영상 저장 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190128411A KR102090308B1 (ko) 2019-10-16 2019-10-16 Gop 단위 기반의 영상 저장 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102090308B1 true KR102090308B1 (ko) 2020-03-17

Family

ID=70003751

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190128411A KR102090308B1 (ko) 2019-10-16 2019-10-16 Gop 단위 기반의 영상 저장 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102090308B1 (ko)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010060382A (ko) * 1999-11-30 2001-07-06 데니스 에이치. 얼백 비디오 디코딩 및 채널 획득 시스템
KR20050067919A (ko) * 2003-12-29 2005-07-05 엘지전자 주식회사 디지털 티브이의 비디오 유저 데이터 디코딩 장치 및 방법
KR20100061909A (ko) * 2008-12-01 2010-06-10 엘지전자 주식회사 영상표시장치, 영상전송장치, 영상전송방법 및 기록매체
KR20100082344A (ko) * 2007-10-31 2010-07-16 펠코, 인코포레이티드 비디오 데이터를 저장하는 장치 및 방법
KR20140020926A (ko) 2011-02-15 2014-02-19 에스.아이.에스브이.이엘. 쏘시에타‘ 이탈리아나 퍼 로 스빌루포 델‘엘레트로니카 에스.피.에이. 3-차원 비디오 스트림에 대한 데이터의 획득, 저장 및 사용 방법 및 비디오 처리 장치
KR101528269B1 (ko) * 2014-09-04 2015-06-16 (주)브레인키즈 동영상 재생 방법
KR20150093704A (ko) 2012-12-12 2015-08-18 톰슨 라이센싱 동일한 디지털 비디오 및/또는 오디오 스트림의 복수의 오버랩하는 레코딩들을 저장하는 디바이스 및 방법
KR20160111023A (ko) 2014-01-15 2016-09-23 아비질론 코포레이션 비디오 소스 디바이스로부터 스트리밍되는 데이터의 저장 관리

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010060382A (ko) * 1999-11-30 2001-07-06 데니스 에이치. 얼백 비디오 디코딩 및 채널 획득 시스템
KR20050067919A (ko) * 2003-12-29 2005-07-05 엘지전자 주식회사 디지털 티브이의 비디오 유저 데이터 디코딩 장치 및 방법
KR20100082344A (ko) * 2007-10-31 2010-07-16 펠코, 인코포레이티드 비디오 데이터를 저장하는 장치 및 방법
KR20100061909A (ko) * 2008-12-01 2010-06-10 엘지전자 주식회사 영상표시장치, 영상전송장치, 영상전송방법 및 기록매체
KR20140020926A (ko) 2011-02-15 2014-02-19 에스.아이.에스브이.이엘. 쏘시에타‘ 이탈리아나 퍼 로 스빌루포 델‘엘레트로니카 에스.피.에이. 3-차원 비디오 스트림에 대한 데이터의 획득, 저장 및 사용 방법 및 비디오 처리 장치
KR20150093704A (ko) 2012-12-12 2015-08-18 톰슨 라이센싱 동일한 디지털 비디오 및/또는 오디오 스트림의 복수의 오버랩하는 레코딩들을 저장하는 디바이스 및 방법
KR20160111023A (ko) 2014-01-15 2016-09-23 아비질론 코포레이션 비디오 소스 디바이스로부터 스트리밍되는 데이터의 저장 관리
KR101528269B1 (ko) * 2014-09-04 2015-06-16 (주)브레인키즈 동영상 재생 방법

Similar Documents

Publication Publication Date Title
JP6622879B2 (ja) メディアファイルの再生装置、再生方法、及びプログラム
US8699581B2 (en) Image processing device, image processing method, information processing device, and information processing method
KR100996850B1 (ko) 다시점 영상의 부호화, 복호화 방법 및 장치
EP3099074B1 (en) Systems, devices and methods for video coding
CN110324706B (zh) 一种视频封面的生成方法、装置及计算机存储介质
CN101557490B (zh) 信息处理装置和信息处理方法
US20170257659A1 (en) Information processing system
US20110250948A1 (en) Video compression in gaming machines
KR20180104191A (ko) 이미지 매칭 시스템을 이용한 비디오 매칭 시스템의 서비스 품질 향상
EP2950529B1 (en) Video image storage method and apparatus
GB2570879A (en) Encoding data arrays
CN102292727A (zh) 视频描述符生成器
KR102090308B1 (ko) Gop 단위 기반의 영상 저장 시스템 및 방법
KR20160107417A (ko) 유해 동영상 탐지 방법 및 장치
KR101163774B1 (ko) 비디오 압축용 장치 및 프로세스
CN101583039B (zh) 信息处理装置和信息处理方法
KR20210064587A (ko) 동영상 구간 고속 분할 장치 및 고속 분할 방법
US20170061215A1 (en) Clustering method using broadcast contents and broadcast related data and user terminal to perform the method
EP1643764A1 (en) Video reproducing apparatus
US20090185620A1 (en) Video encoding apparatus and method for the same
JP4154459B2 (ja) デジタル映像処理方法及びその装置
CN109886234B (zh) 目标检测方法、装置、系统、电子设备、存储介质
KR102215285B1 (ko) 키 프레임 선택 방법 및 이를 수행하는 장치들
KR100216512B1 (ko) 비디오 펌프에서의 정지화상 비디오 엘레멘트리 스트림 화일 생성방법
CN107623852A (zh) 一种对数字视频信号进行编码及降帧的方法及装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant