KR102146042B1 - 녹화된 비디오를 재생하기 위한 방법 및 시스템 - Google Patents

녹화된 비디오를 재생하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR102146042B1
KR102146042B1 KR1020170178286A KR20170178286A KR102146042B1 KR 102146042 B1 KR102146042 B1 KR 102146042B1 KR 1020170178286 A KR1020170178286 A KR 1020170178286A KR 20170178286 A KR20170178286 A KR 20170178286A KR 102146042 B1 KR102146042 B1 KR 102146042B1
Authority
KR
South Korea
Prior art keywords
frame rate
video stream
received
video
encoder
Prior art date
Application number
KR1020170178286A
Other languages
English (en)
Other versions
KR20180078149A (ko
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 엑시스 에이비
Publication of KR20180078149A publication Critical patent/KR20180078149A/ko
Application granted granted Critical
Publication of KR102146042B1 publication Critical patent/KR102146042B1/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • 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
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/87Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4344Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • 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/93Regeneration of the television signal or of selected parts thereof
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/87Regeneration of colour television signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명은 녹화된 비디오를 재생하기 위한 방법, 비디오 서버, 및 시스템에 관한 것이다. 본 발명은, 수신된 비디오 시퀀스의 시간적 위치들에서의 인코더 프레임 레이트들을 미리결정된 임계치와 비교하는 것; 그리고 만약 인코더 프레임 레이트가 미리결정된 임계치보다 더 작다면, 재생 프레임 레이트를 인코더 프레임 레이트보다 더 큰 재생 프레임 레이트로 변경하는 것; 그리고 만약 인코더 프레임 레이트가 미리결정된 임계치보다 더 크다면, 재생 프레임 레이트를 인코더 프레임 레이트로 변경하는 것에 기반을 두고 있다. 이에 따라, 녹화된 비디오는 시간에 있어 효율적인 방식으로 재생되어, 비디오 재생을 위한 전체 기간을 감소시키며, 아울러 관심의 대상이 될 수 있는 녹화된 비디오의 일부분들을 찾는 데 있어 보안 운용자를 보조한다.

Description

녹화된 비디오를 재생하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR PLAYING BACK RECORDED VIDEO}
본 발명은 비디오 모니터링(video monitoring) 분야에 관한 것이다. 특히, 본 발명은 녹화된 비디오(recorded video)를 재생(playing back)하기 위한 방법 및 시스템에 관한 것이다.
비디오 관리 시스템(video management system)들은 일반적으로, 예를 들어, 구내(premises), 사무실 단지(office complex), 쇼핑몰(shopping mall), 공공 운송 시스템(public transport system) 등을 모니터링(monitoring)하는 모니터링 카메라(monitoring camera)들의 시스템으로부터의 녹화(recording)들을 처리하도록 구성된다. 비디오 관리 시스템들은 종종, 생생한 감시(live surveillance)를 위해, 뿐만 아니라 관심 있는 사건(incident)과 연결된 비디오 시퀀스(video sequence)들의 법의학적 검색(forensic search)을 위해, 그 캡처된 비디오 장면(captured video footage)을 사용하는 보안 운용자(security operator)들의 팀(team)에 의해 관리된다. 녹화된 비디오 시퀀스들 내에서 검색하려는 관심 있는 사건들(예를 들어, 주차된 차량에 충돌하는 버스, 은행에서의 강도, 두 사람들 간의 싸움, 플랫폼에 가방을 남겨둔 누군가, 등)은 다양한 성질(nature)을 가질 수 있다.
보안 운용자가 관심 있는 특정 사건을 검색하면서 비디오 녹화들을 수동으로 검토하는 것은 지루하고 시간 소모적인 일인데, 왜냐하면 검토할 비디오 장면들의 양이 전형적으로 매우 많기 때문이다. 해당 사건의 기간(period of time)이 적어도 개략적으로 알려져 있는 경우에도, 녹화된 비디오 장면의 1시간은 실제 시간 재생 속도에서 검토하는데 여전히 1시간이 소요될 것이고, 그리고 모니터링 카메라들의 시스템으로부터 관심 있는 녹화된 비디오 시퀀스들을 검색할 때, 전형적으로, 검토할 하나보다 많은 카메라로부터의 비디오 장면이 존재한다.
녹화된 비디오 장면들 중 대부분은 전형적으로 아무것도 일어나지 않은 정적 장면(static scene)들로부터 나온 것인데(예를 들어, 정상적으로 대부분의 시간에 아무것도 일어나지 않는 슈퍼-마켓(super-market)의 야간 감시), 하지만 이 경우 매우 짧은 기간 동안 카메라들 중 하나의 카메라를 지나가는 도둑(burglar)이 존재할 수 있다. 재생을 고속으로 진행시킬 수 있고 이에 따라 재생 속도를 증가시킬 수 있지만, 그러한 경우 재생 속도가 더 높아졌기 때문에 관심 있는 경과과정(passage)들을 또한 쉽게 놓칠 수 있고, 예를 들어, 카메라 시야(camera view)의 주변부(periphery)에서 움직이는 그림자(shadow)와 같이 특별히 관심 있는 세부사항들을 쉽게 놓칠 수 있다.
비디오 장면들로부터 관심 있는 사건들을 식별하기 위해 비디오 분석법(video analytics)을 사용하는 것이 또한 가능하다. 하지만, 특정 사건에 대한 법의학적 검색시 도움을 줄 비디오 분석 규칙을 구성 및 적용하는 것은 전형적으로 복잡할 것이고 시간이 소비되어 문제가 될 것인데, 왜냐하면 공통적인 방식으로 일반화 및 정의하기 어려운 다수의 상이한 타입의 사건들이 존재하기 때문이며, 그리고 관심 있는 사건들이 많은 경우, 실제 사건이 비디오 장면 내에서 발견되기 전까지는 검색할 식별력 있는 속성(attribute)들이 무엇인지를 정확히 정의하는 것이 또한 어려울 수 있기 때문이다. 따라서, 비디오 재생 방법들에 대한 추가적인 개선들이 필요하다.
따라서, 앞에서와 같은 상황을 고려하여, 본 발명의 목적은, 녹화된 비디오를 재생하기 위한 개선된 방법, 비디오 서버(video server), 및 시스템을 제공하는 것이다. 특히, 본 발명의 목적은, 녹화된 비디오를 시간에 있어 효율적인 방식으로 재생하기 위한 방법, 비디오 서버, 및 시스템을 제공하는 것이고, 이를 통해 비디오 재생을 위한 전체 기간을 감소시킴과, 아울러 관심의 대상이 될 수 있는 녹화된 비디오의 일부분들을 찾는 데 있어 도움을 주는 기능을 하는 그러한 방법, 비디오 서버, 및 시스템을 제공하는 것이다.
본 발명의 또 하나의 다른 목적은, 적어도 하나의 중첩되는 기간(overlapping time period) 동안 캡처된 두 개의 비디오 스트림들을 재생하는 것 그리고 이러한 비디오 스트림들의 재생을 동기화(synchronizing)하는 것을 수행하기 위한 방법, 비디오 서버, 및 시스템을 제공하는 것이고, 이것은 비디오 재생을 위한 전체 기간을 감소시킴과, 아울러 관심의 대상이 될 수 있는 녹화된 비디오의 일부분들을 찾는 데 있어 도움을 주는 기능을 한다.
본 발명의 제 1 실시형태에 따르면, 앞서의 목적은, 녹화된 비디오(recorded video)를 재생(playing back)하기 위한 방법에 의해 달성되며, 이러한 방법은, 관련된 타임 스탬프(time stamp)들을 갖고 있는 비디오 프레임(video frame)들의 시퀀스(sequence)를 포함하는 비디오 스트림(video stream)을 수신하는 것; 수신된 비디오 프레임들의 타임 스탬프들로부터, 또는 수신된 비디오 스트림 내에 삽입(embed)된 인코더 프레임 레이트 값(encoder frame rate value)들로부터, 수신된 비디오 스트림 내의 다양한 시간적 위치(temporal position)들에 대한 인코더 프레임 레이트 파라미터(encoder frame rate parameter)들을 결정하는 것; 결정된 인코더 프레임 레이트 파라미터가, 미리결정된 임계치(threshold)보다 더 작은 때인 수신된 비디오 스트림 내의 시간적 위치들에서, 재생 프레임 레이트(playback frame rate)를 결정된 인코더 프레임 레이트 파라미터보다 더 큰 프레임 레이트로 변경하는 것; 결정된 인코더 프레임 레이트 파라미터가, 미리결정된 임계치보다 더 큰 때인 수신된 비디오 스트림 내의 시간적 위치들에서, 재생 프레임 레이트를 결정된 인코더 프레임 레이트 파라미터와 동등한 재생 프레임 레이트로 변경하는 것; 그리고 변경된 재생 프레임 레이트에서, 수신된 비디오 스트림의 비디오 프레임들을 재생하는 것을 포함한다.
이러한 방식으로, 인코더 프레임 레이트는, 비디오 시퀀스들이 인코딩되었을 때 관심이 있는 것으로서 고려되었던 비디오 시퀀스들을 찾는데 사용될 것이다. 이것은 예를 들어, 인코더가 가변 프레임 레이트(variable frame rate)를 구현하고 그리고 이러한 인코딩이 일반적으로, 만약 장면 내에서 어떠한 것도 변하지 않는다면(이것은 종종 관심 있는 것이 녹화되고 있지 않는 것과 관련됨), 낮은 프레임 레이트를 갖는 비디오 시퀀스를 발생시킬 때, 가능하다. 더욱이, 이러한 가변 프레임 레이트 인코딩은, 만약 장면 내에서 많은 것이 변하고 있다면(이것은 종종 관심 있는 이벤트(event)들이 녹화되고 있는 것과 관련됨), 결과적으로, 높은 프레임 레이트를 발생시킨다. 인코더 프레임 레이트가, 미리결정된 임계치보다 더 작은 비디오 시퀀스의 일부분들에 대한 재생 프레임 레이트가 변경될 것이고, 이것은 모니터링되는 장면 내에서 많은 움직이는 물체들(모니터링되는 장면 내에서 많은 동작, 등)을 포함하지 않는 것으로서 고려되었던 비디오 시퀀스의 일부분들의 고속 재생(fast forwarding)을 효과적으로 달성한다. 인코더 프레임 레이트가, 미리결정된 임계치보다 더 큰 비디오 시퀀스의 일부분들에 대한 재생 프레임 레이트가 인코더 프레임 레이트로 변경될 것이고, 이것은 모니터링되는 장면 내에서 움직이는 물체들(모니터링되는 장면 내에서 동작, 등)을 포함하는 것으로서 고려되었던 비디오 시퀀스의 일부분들에 대한 재생 프레임 레이트가 인코더 프레임 레이트와 동일한 프레임 레이트를 갖게 한다.
따라서, 본 발명은 임의의 사람이 인코딩 알고리즘에 의해 관심이 있는 것으로서 고려된 비디오 시퀀스의 뷰잉 부분(viewing part)에 상대적으로 더 많은 시간을 소비하며 비디오 시퀀스의 재생을 보는 것을 보조할 것이다. 동작을 포함하지 않거나 매우 작은 움직임들, 등을 묘사하는 비디오 시퀀스의 일부분들은 고속으로 재생될 것이기 때문에, 비디오 시퀀스의 이러한 일부분들에 대해서는 더 적은 재생 시간이 소비될 것이고, 그럼으로써 임의의 사람이 관심이 있을 수 있는 비디오 시퀀스의 일부분들에 시간을 소비하며 재생을 보는 것을 보조하게 된다. 따라서, 관심 있는 사건을 묘사하는 비디오 장면을 찾는 사람은 비디오 시퀀스들의 재생에 더 적은 시간을 소비할 것이다. 본 발명의 또 하나의 다른 이점은 관심 있는 시퀀스들을 선택하기 위해 어떠한 고급 비디오 분석 알고리즘(advanced video analytics algorithm)들도 필요하지 않다는 것인데, 왜냐하면 본 발명에서는 인코더 프레임 레이트를 미리결정된 임계치와 비교하는 것에 의해 이러한 결정이 이루어지기 때문이며, 이것은 비디오 분석 알고리즘들에 대해 요구되는 것과 비교하여 볼 때 더 적은 프로세싱 파워(processing power) 및 매우 작은 구성(configuration)을 요구한다.
제 2 실시예에 따르면, 수신된 비디오 스트림은 수신된 제 1 비디오 스트림이고, 앞서의 방법은 또한, 관련된 타임 스탬프들을 갖고 있는 비디오 프레임들의 제 2 시퀀스를 포함하는 제 2 비디오 스트림을 수신하는 것(여기서, 수신된 제 1 비디오 스트림과 수신된 제 2 비디오 스트림은 적어도 하나의 중첩되는 기간(overlapping time period) 동안 캡처(capture)된 것임); 그리고 제 2 비디오 스트림의 수신된 비디오 프레임들의 타임 스탬프들로부터 혹은 수신된 제 2 비디오 스트림 내에 삽입된 인코더 프레임 레이트 값들로부터, 수신된 제 2 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하는 것을 포함하고; 여기서, 제 1 비디오 스트림의 결정된 인코더 프레임 레이트 파라미터와 제 2 비디오 스트림의 결정된 프레임 레이트 파라미터가 모두, 미리결정된 임계치보다 더 작은 때인 수신된 제 1 비디오 스트림 내의 시간적 위치들에서, 재생 프레임 레이트는 수신된 제 1 비디오 스트림의 결정된 프레임 레이트 파라미터보다 더 큰 프레임 레이트로 변경되고; 여기서, 수신된 제 1 비디오 스트림 혹은 수신된 제 2 비디오 스트림의 결정된 인코더 프레임 레이트 파라미터가, 미리결정된 임계치보다 더 큰 때인 시간적 위치들에서, 재생 프레임 레이트는 수신된 제 1 비디오 스트림의 결정된 프레임 레이트 파라미터와 동등한 프레임 레이트로 변경된다.
이러한 방식으로, 제 1 비디오 시퀀스의 재생 프레임 레이트는 수신된 제 1 비디오 시퀀스 및 수신된 제 2 비디오 시퀀스의 인코더 프레임 레이트들에 따라 달라질 것이다. 이것은, 양쪽 비디오 시퀀스들의 인코더 프레임 레이트들이 모두, 미리결정된 임계치보다 더 작은 경우에만 고속 재생이 수행됨을 의미할 것이다. 이것은 복수의 모니터링 카메라들의 모니터링 시스템으로부터의 비디오 시퀀스들을 포함하는 비디오 보관소(video archive) 내에서 관심 있는 사건을 묘사하는 비디오 장면을 검색하는 사람을 보조할 것이다. 이러한 시스템들에서, 상이한 카메라들의 비디오 시퀀스들은 연결될 수 있는데, 예를 들어, 상이한 시야각(viewing angle)들로부터 동일한 장면을 묘사하는 비디오 시퀀스들이 연결될 수 있다. 이러한 경우, 어떤 점(respect)에서 제 1 비디오 시퀀스에 연결되어 있는 또 하나의 다른 비디오 시퀀스에서 동시에 발생하는 활동 혹은 움직임이 존재한다면, 비디오 시퀀스의 해당 부분들을 인코더 프레임 레이트에서 재생하는 것에 관심이 있을 수 있다. 이것은 관심 있는 사건의 비디오 장면을 검색하는 보안 운용자가 제 2 비디오 시퀀스 내에서의 활동과 동시에 발생하는 제 1 비디오 시퀀스 내에서의 관심 있는 세부사항들을 알아차리게 하는 것을 보조할 수 있으며, 하지만 동시에, 제 1 비디오 시퀀스와 제 2 비디오 시퀀스의 인코더 프레임 레이트들이 모두, 미리결정된 임계치보다 더 작은 기간 동안에는 재생 프레임 레이트가 고속 재생 프레임 레이트(fast forward frame rate)로 변경되는 그러한 시간적으로 효율적인 방식으로 재생을 제공할 수 있다.
제 3 실시예에 따르면, 제 1 비디오 스트림의 결정된 프레임 레이트 파라미터와 제 2 비디오 스트림의 결정된 프레임 레이트 파라미터가 모두, 미리결정된 임계치보다 더 작은 때인 수신된 제 2 비디오 스트림 내의 시간적 위치들에서, 수신된 제 2 비디오 스트림의 재생 프레임 레이트는 또한, 수신된 제 2 비디오 스트림의 결정된 프레임 레이트 파라미터보다 더 큰 프레임 레이트로 변경되고; 수신된 제 1 비디오 스트림 혹은 수신된 제 2 비디오 스트림의 결정된 인코더 프레임 레이트 파라미터가, 미리결정된 임계치보다 더 큰 때인 시간적 위치들에서, 수신된 제 2 비디오 스트림의 재생 프레임 레이트는 수신된 제 2 비디오 스트림의 결정된 프레임 레이트 파라미터와 동등한 프레임 레이트로 변경되고; 앞서의 방법은 또한, 수신된 제 2 비디오 스트림의 변경된 재생 프레임 레이트에서, 수신된 제 2 비디오 스트림의 비디오 프레임들을 재생하는 단계를 포함한다.
제 2 비디오 스트림의 재생 프레임 레이트가 또한 변경될 것이고 제 1 비디오 스트림의 고속 재생과 동기화될 것이다. 이것은, 두 개의 비디오 스트림들 내에 녹화된 동시 발생 이벤트들을 발견해 내기 위해 관심 있는 사건의 비디오 장면을 검색하는 사람을 도울 수 있도록 두 개의 스트림들을 동기화된 상태로 동시에 재생하는 이점을 제공한다.
또 하나의 다른 실시예에서, 결정된 인코더 프레임 레이트 파라미터가, 슬로우-모션 재생(slow-motion playback)을 위한 미리결정된 임계치보다 더 큰 때인 수신된 비디오 스트림 내의 시간적 위치들에서, 재생 프레임 레이트는 또한, 결정된 인코더 프레임 레이트 파라미터보다 더 작은 프레임 레이트로 변경된다.
이것은, 높은 인코더 프레임 레이트를 갖는, 따라서 또한 매우 빠른 움직임들 및 높은 레벨의 활동을 묘사하는 것으로 고려되었던, 비디오 시퀀스의 일부분들을 슬로우 모션으로 재생할 수 있을 것이다. 매우 빠른 움직임들을 인코더 프레임 레이트에서 파악하는 것은 어려울 수 있기 때문에, 슬로우 모션 재생은 관심 있는 사건들을 검색하는 사람에게 비디오 시퀀스의 이러한 부분들을 면밀히 검토하도록 상대적으로 더 많은 시간을 제공하는 것을 보조할 것이다.
본 발명의 또 하나의 다른 실시예들에서, 인코더 프레임 레이트를 결정하기 위한 상이한 방법들이 특정된다. 수신된 비디오 프레임들의 타임 스탬프들로부터, 수신된 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하는 단계는, 임의의 시간적 위치에 대해, 수신된 비디오 스트림 내에서 그 시간적 위치를 포함하는 미리결정된 기간 내에 비디오 스트림으로 연속적으로 수신되는 비디오 프레임들의 개수를 산출(counting)하는 것; 그리고 인코더 프레임 레이트 파라미터들을 결정하기 위해, 연속적으로 수신된 프레임들의 산출된 개수를 미리결정된 기간으로 나누는 것을 포함한다.
대안적으로, 수신된 비디오 프레임들의 타임 스탬프들로부터, 수신된 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하는 단계는, 임의의 시간적 위치에 대해, 그 시간적 위치에서의 비디오 프레임의 타임 스탬프와 선행하는 비디오 프레임 혹은 후속하는 비디오 프레임의 타임 스탬프 간의 시간에서의 차이를 계산하는 것; 그리고 시간에서 계산된 차이로부터 그 시간적 위치에 대한 수신 프레임 파라미터(receive frame parameter)를 결정하는 것을 포함한다.
미리결정된 기간에 걸쳐 비디오 프레임들의 개수를 산출하는 것, 혹은 연속적으로 수신된 비디오 프레임들 간의 시간 차이를 계산하는 것은 모두, 많은 프로세싱 파워를 요구하지 않는 방식으로 인코더 프레임 레이트를 결정하는 방법들을 제공하고, 그리고 이것은 또한, 표준 절차에서, 정상적으로, 비디오 프레임들과 함께 동반되는 비디오 프레임들의 타임 스탬프들을 사용하는바, 따라서 이것은 본 발명에 따른 방법을 수행하기 위해 행해져야 할 어떠한 특별한 설정(setting)들 및 요청(request)들도 요구하지 않는다.
또 하나의 다른 실시예에서, 수신된 비디오 스트림 내에 삽입된 인코더 프레임 레이트 값들로부터, 수신된 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하는 단계는, 수신된 비디오 스트림의 헤더(header)들로부터, 수신된 비디오 내에 삽입된 인코더 프레임 레이트 값들을 추출(extracting)하는 것을 포함한다.
이것은, 비디오 프레임들의 타임 스탬프들로부터 인코더 프레임 레이트들을 계산할 필요가 없도록 하는 추가 이점을 갖는다.
또 하나의 다른 실시예에서, 수신된 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하는 단계는 또한, 비어 있는 비디오 프레임(empty video frame)들을 스킵 블록 타입(skip block type)의 비디오 인코딩 블록(video encoding block)들만을 포함하는 비디오 프레임들로서 식별하기 위해, 수신된 비디오 프레임들의 비디오 인코더 블록들을 분석하는 것; 그리고 인코더 프레임 레이트 파라미터들을 결정할 때의 비디오 프레임들로서 그 식별된 비어 있는 비디오 프레임들을 무시(disregard)하는 것을 포함한다.
이러한 실시예는 본 발명이, 수신된 비디오 스트림(들)을 인코딩한 비디오 인코더의 복수의 비디오 인코딩 모드(video encoding mode)들과 잘 맞도록(compliant) 하는 이점을 제공한다. 비디오 인코더가, 스킵 블록 타입의 인코딩 유닛(encoding unit)들만을 포함하는 일부 프레임들을 비어 있는 프레임들로서 인코딩함으로써 인코더 프레임 레이트를 감소시킨 경우인지, 혹은 모든 프레임들을 전송하지 않음으로써 인코더 프레임 레이트를 감소시킨 경우인지 상관없이, 올바른 인코더 프레임 레이트가 결정될 것이다.
다른 실시예에서, 수신된 비디오 스트림은 가변 인코더 프레임 레이트(variable encoder frame rate)로 인코딩되어, 수신된 비디오 스트림의 제 1 부분 동안에, 수신된 비디오 스트림은 제 1 인코더 프레임 레이트로 인코딩되게 되고, 그리고 수신된 비디오 스트림의 또 하나의 다른 부분 동안에, 수신된 비디오 스트림은 또 하나의 다른 인코더 프레임 레이트로 인코딩되게 되는 것이 또한 특정된다.
제 2 실시형태에 따르면, 본 발명은 컴퓨터-판독가능 저장 매체에 관한 것이고, 여기서 컴퓨터-판독가능 저장 매체는 프로세서에 의해 실행될 때 제 1 실시형태와 연계하여 설명된 방법을 수행하도록 되어 있는 명령들을 갖는다. 본 발명의 제 1 실시형태와 관련하여 언급된 이점들은 또한, 본 발명의 이러한 제 2 실시형태에 대해서도 적용가능하다.
본 발명의 제 3 실시형태에 따르면, 본 발명은 녹화된 비디오를 재생하기 위한 비디오 서버(video server)에 관한 것이고, 이러한 비디오 서버는, 수신 디바이스(receiving device); 프레임 레이트 결정 디바이스(frame rate determining device); 재생 프레임 레이트 변경 디바이스(playback frame rate changing device); 그리고 비디오 신호 발생 디바이스(video signal generating device)를 포함하고, 여기서, 수신 디바이스는, 관련된 타임 스탬프들을 갖고 있는 비디오 프레임들의 시퀀스를 포함하는 적어도 하나의 비디오 스트림을 수신하도록 구성되고; 프레임 레이트 결정 디바이스는, 수신된 비디오 프레임들의 타임 스탬프들로부터, 또는 수신된 비디오 스트림 내에 삽입된 인코더 프레임 레이트 값들로부터, 수신된 적어도 하나의 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하도록 구성되고; 재생 프레임 레이트 변경 디바이스는, 수신된 비디오 스트림의 결정된 인코더 프레임 레이트 파라미터가, 미리결정된 임계치보다 더 작은 때인 수신된 비디오 스트림 내의 시간적 위치들에서, 수신된 비디오 스트림의 재생 프레임 레이트를 결정된 인코더 프레임 레이트 파라미터보다 더 큰 프레임 레이트로 변경하도록 구성되고, 그리고 수신된 비디오 스트림의 결정된 프레임 레이트 파라미터가, 미리결정된 임계치보다 더 큰 때인 수신된 비디오 스트림 내의 시간적 위치들에서, 수신된 비디오 스트림의 결정된 인코더 프레임 레이트 파라미터와 동등한 재생 프레임 레이트로 변경하도록 구성되고; 비디오 신호 발생 디바이스는, 변경된 재생 프레임 레이트에서, 수신된 비디오 스트림을 나타내는 비디오 신호들을 발생시키도록 구성된다.
본 발명의 제 3 실시형태의 추가 실시예들에 따르면, 비디오 서버의 수신 디바이스는, 관련된 타임 스탬프들을 갖고 있는 비디오 프레임들의 시퀀스들을 포함하는 제 1 비디오 스트림 및 제 2 비디오 스트림을 수신하도록 구성되고; 여기서, 수신된 제 1 비디오 스트림과 수신된 제 2 비디오 스트림은 적어도 하나의 중첩되는 기간 동안 캡처된 것이며; 재생 프레임 레이트 변경 디바이스는, 제 1 비디오 스트림의 결정된 프레임 레이트 파라미터와 제 2 비디오 스트림의 결정된 프레임 레이트 파라미터가 모두, 미리결정된 임계치보다 더 작은 때인 시간적 위치들에서, 수신된 제 1 비디오 스트림의 재생 프레임 레이트를 수신된 제 1 비디오 스트림의 결정된 프레임 레이트 파라미터보다 큰 프레임 레이트로 변경하도록 구성되고, 그리고 수신된 제 1 비디오 스트림의 결정된 프레임 레이트 파라미터 혹은 수신된 제 2 비디오 스트림의 결정된 프레임 레이트 파라미터가, 미리결정된 임계치보다 더 큰 때인 시간적 위치들에서, 수신된 제 1 비디오 스트림의 결정된 프레임 레이트 파라미터와 동등한 프레임 레이트로 변경하도록 구성되고; 비디오 신호 발생 디바이스는 또한, 변경된 재생 프레임 레이트에서, 수신된 제 2 비디오 스트림을 나타내는 비디오 신호들을 발생시키도록 구성된다. 본 발명의 제 1 실시형태와 관련하여 언급된 이점들은 또한, 본 발명의 이러한 제 3 실시형태에 대해서도 적용가능하다.
본 발명의 제 4 실시형태에 따르면, 본 발명은 녹화된 비디오를 재생하기 위한 비디오 시스템에 관한 것이고, 이러한 비디오 시스템은, 이미지 캡처 디바이스(image capturing device); 본 발명의 제 3 실시형태에 따른 비디오 서버; 그리고 디스플레이 디바이스(display device)를 포함하고, 여기서 이미지 캡처 디바이스는, 장면(scene)의 이미지 데이터를 캡처하도록 구성되고, 캡처된 이미지 데이터를 비디오 스트림의 비디오 프레임들로서 인코딩하고, 그리고 비디오 스트림을 전송하며; 비디오 서버는, 모니터링 카메라(monitoring camera)로부터의 전송된 비디오 스트림를 수신하도록 구성되고; 디스플레이 디바이스는, 비디오 서버에 의해 발생된 비디오 신호들을 수신 및 디스플레이하도록 구성된다.
본 발명의 제 4 실시형태의 다른 실시예들에 따르면, 이전의 실시예에 따른 시스템의 이미지 캡처 디바이스는 제 1 이미지 캡처 디바이스이고, 이러한 제 1 이미지 캡처 디바이스는, 장면의 이미지 데이터를 캡처하도록 구성되고, 캡처된 이미지 데이터를 제 1 비디오 스트림의 비디오 프레임들로서 인코딩하고, 그리고 제 1 비디오 스트림을 전송하며; 이러한 시스템은 또한, 제 2 이미지 캡처 디바이스; 본 발명의 제 3 실시형태의 추가 실시예의 비디오 서버; 그리고 디스플레이 디바이스를 포함하고, 여기서, 제 2 이미지 캡처 디바이스는, 장면의 이미지 데이터를 캡처하도록 구성되고, 캡처된 이미지 데이터를 제 2 비디오 스트림의 비디오 프레임들로서 인코딩하고, 그리고 제 2 비디오 스트림을 전송하며(여기서, 제 1 비디오 스트림과 제 2 비디오 스트림은 적어도 하나의 중첩되는 기간 동안 캡처된 것임); 디스플레이 디바이스는, 수신된 제 1 비디오 스트림 및 수신된 제 2 비디오 스트림을 나타내는 비디오 서버에 의해 발생된 비디오 신호들을 수신 및 디스플레이하도록 구성되고; 여기서 수신된 제 1 비디오 스트림과 수신된 제 2 비디오 스트림은 적어도 하나의 중첩되는 기간 동안 디스플레이 디바이스에 의해 동시에 디스플레이된다. 본 발명의 제 1 실시형태와 관련하여 언급된 이점들은 또한, 본 발명의 이러한 제 4 실시형태에 대해서도 적용가능하다.
본 발명의 응용가능성(applicability)의 추가적 범위는 아래에서 제공되는 상세한 설명으로부터 명백하게 될 것이다. 하지만, 이러한 상세한 설명 및 특정 예들은, 비록 이들이 본 발명의 바람직한 실시예들을 표시하고는 있지만, 단지 예시적 목적으로만 제공되는 것임을 이해해야 하는데, 왜냐하면 본 발명의 범위 내에서 다양한 변경들 및 수정들이 이러한 상세한 설명으로부터 본 발명의 기술분야에서 숙련된 자들에게는 명백하게 될 것이기 때문이다. 따라서, 본 발명은 설명되는 디바이스의 특정 컴포넌트 부분들 혹은 설명되는 방법들의 단계들로만 한정되지 않음을 이해해야하는데, 왜냐하면 이러한 디바이스 및 방법은 다양하게 변할 수 있기 때문이다. 본 명세서에서 사용되는 용어는 단지 특정 실시예들을 설명할 목적을 가지고 있는 것이지 한정의 의미로 사용되도록 의도된 것이 아님을 또한 이해해야 한다. 본 명세서 및 첨부되는 청구항에서 사용되는 바와 같은 단수적 표현은 문맥이 명확히 다르게 기재하고 있지 않다면 해당 요소가 하나 이상 존재함을 의미하도록 의도된 것임을 유의해야만 한다. 따라서, 예를 들어, "임의의 센서(sensor)" 혹은 "상기 센서"와 같이 언급되는 것은 수 개의 센서들, 등을 포함할 수 있다. 더욱이, 단어 "포함하는"은 다른 요소들 혹은 단계들을 배제하는 것이 아니다.
본 발명의 다른 특징들 및 장점들은 첨부 도면들을 참조하는 본 명세서의 바람직한 실시예의 다음과 같은 상세한 설명으로부터 명백하게 될 것이다.
도 1은 녹화된 비디오를 재생하기 위한 방법의 흐름도이다.
도 2A, 도 2B, 및 도 2C는 가변 인코더 프레임 레이트 및 그 관련된 재생 프레임 레이트를 갖는 비디오 시퀀스의 예를 나타낸다.
도 3은 녹화된 비디오를 재생하기 위한 비디오 서버의 도식적 블록도이다.
도 4는 녹화된 비디오를 재생하기 위한 비디오 시스템의 도식적 블록도이다.
더욱이, 도면들에서, 유사한 참조 기호들은 수 개의 도면들 전체에 걸쳐 유사한 혹은 대응하는 부분들을 나타낸다.
디지털 비디오 녹화들 및 비디오 스트림들은 특정 빈도(frequency)에서 캡처 및 재생되는 이미지 프레임들의 시퀀스들에 의해 나타내어진다. 이러한 빈도는 종종 프레임 레이트로 지칭되거나 혹은 fps로 지칭되며, fps는 프레임 레이트에 주어지는 단위로 "초당 프레임 수(Frames Per Second)"를 의미한다. 모니터링 카메라가 임의의 장면으로부터 비디오를 녹화하고 있을 때, 모니터링 카메라는 예를 들어, 인코더 프레임 레이트(예컨대, 15 fps)에서 비디오 시퀀스를 인코딩하도록 설정될 수 있다. 모니터링 카메라로부터 이러한 녹화된 비디오 시퀀스를 재생할 때, 재생 프레임 레이트는 해당 비디오 시퀀스가 인코딩된 속도와 동일한 속도에서 비디오 시퀀스를 재생하기 위해 결과적으로 15 fps로 설정될 수 있다.
하지만, 많은 양의 비디오 녹화들을 검토할 때, 그 녹화된 비디오 시퀀스의 재생을 고속으로 진행시키는 것이 유용할 수 있는바, 예를 들어, 앞서의 예의 경우, 녹화된 비디오 시퀀스가 재생되는 속도를 두 배로 하기 위해, 재생 프레임 레이트는 30 fps로 설정되는데, 즉, 인코더 프레임 레이트에 2를 곱한 값으로 설정된다. 이러한 방식으로, 재생 프레임 레이트는 인코더 프레임 레이트에 재생의 속도를 조절(governing)하는 재생 배율(playback multiplier)을 곱함으로써 조정될 수 있다. 0과 1 사이의 재생 배율을 사용함으로써, 슬로우 모션 재생(비디오가 녹화된 속도보다 더 낮은 속도에서 비디오 녹화를 재생하는 것)에 대응하는 재생 프레임 레이트가 또한 설정될 수 있다.
디지털 비디오 녹화들은, 보통, 하드 드라이브(hard drives) 상에서 많은 양의 저장 공간을 요구하고 아울러 네트워크에서 많은 대역폭(bandwidth)을 요구한다. 이러한 경우는 특히, 방대한 기간 동안 많은 비디오가 녹화되는 감시 비디오에 대한 경우가 그렇다. 디지털 비디오 녹화를 나타내기 위해 필요한 데이터의 양을 감소시키기 위해, 많은 압축 방식들이 개발되어 오고 있다(예를 들어, H.262, H.264, H.265, 및 MPEG). 하지만, 디지털 비디오를 나타내기 위해 사용되는 데이터의 양을 감소시키기 위해서는 지속적으로 계속되는 조사(research)를 해야 한다.
디지털 모션 비디오 압축(digital motion video compression) 분야에서 한 가지 개발된 것은, 인코더에서 가변 프레임 레이트(variable frame rate)를 도입하는 것인데, 이러한 가변 프레임 레이트는 또한 때때로 동적 프레임 레이트(dynamic frame rate)로 지칭된다. 가변 인코더 프레임 레이트는 녹화되는 비디오의 지속시간 동안 디지털 비디오에 대한 인코더 프레임 레이트가 변하는 것으로서 이해돼야 한다. 예를 들어, 장면 내에서 매우 작은 움직임 및/또는 동작, 예컨대, 캡처되는 이미지들 내에서 작은 변경들을 갖는 기간 동안, 프레임 레이트는 매우 낮은 값, 예를 들어, 1 fps로 조정될 수 있고, 그 다음에, 카메라가 장면 내에서 움직임 및/또는 동작, 예를 들어, 캡처되는 이미지들 내에서 커다란 혹은 매우 빠른 변경들을 식별할 때, 프레임 레이트는 해당 움직임을 캡처하기 위한 값, 예를 들어, 30 fps로 조정될 수 있다. 따라서, 가변 인코더 프레임 레이트는 잠재적으로 많은 대역폭 및/또는 저장 공간을 절약한다. 특히, 많은 녹화들이 어떠한 움직임도 전혀 포함하지 않는 모니터링 혹은 감시와 같은 그러한 타입의 상황들에서 그렇다.
다양한 비디오 인코더들이 다양한 방식으로 가변 인코더 프레임 레이트의 인코딩을 구현할 수 있다. 인코더 프레임 레이트가 감소하는 상황에서, 인코더 프레임 레이트에서의 감소는 예를 들어, 인코딩되는 비디오 스트림으로부터 비디오 프레임들을 완전히 떨어뜨림(dropping)으로써 실현될 수 있다. 대안적으로, 비디오 프레임들을 완전히 떨어뜨리는 대신에, 이러한 비디오 프레임들은 단지 필요한 헤더(header) 및 비디오 스킵 블록(video skip block)들만을 포함하는 비어 있는 프레임(empty frame)들로서 인코딩될 수 있다(여기서, 비디오 스킵 블록들은 단지 이전의 비디오 프레임에서 나타내어진 비디오 데이터와 동일한 비디오 데이터만을 참조함). 녹화된 비디오 시퀀스를 재생하기 위한 기간을 감소시키기 위해, 녹화된 비디오 시퀀스의 인코더 프레임 레이트에 근거하여 비디오 시퀀스의 재생 프레임 레이트를 변경시킴으로써, 녹화된 비디오를 재생하기 위한 방법(100)이 고안되게 되었다.
이러한 방법이 또한 도 1을 참조하여 설명된다. 단계(110)에서, 관련된 타임 스탬프들을 갖고 있는 비디오 프레임들의 시퀀스를 포함하는 비디오 스트림이 수신된다. 비디오 스트림은 비디오를 인코딩하는 비디오 인코더로부터 수신될 수 있거나, 또는 네트워크 접속 저장(Network Attached Storage, NAS) 디바이스 혹은 비디오 서버와 같은 비디오 저장 디바이스로부터 수신될 수 있다. 시퀀스의 수신된 비디오 프레임들은 해당하는 특정 비디오 프레임의 발생 혹은 그 비디오 프레임 내에서 사용되는 이미지 데이터의 발생과 연결된 시점(point in time)을 표시하는 관련된 타임 스탬프들을 갖는데, 이러한 시점은, 예를 들어, 이미지 데이터가 이미지 센서에 의해 캡처된 시점, 혹은 비디오 프레임이 인코딩된 시점, 또는 비디오 프레임이 비디오 인코더로부터 전송된 시점일 수 있다. 이러한 타임 스탬프들은 RTP 헤더들로부터 추출될 수 있거나, 또는 유사한 네트워크 통신 프로토콜들의 헤더들로부터 추출될 수 있다. 타임 스탬프들은 대안적으로, 이용가능한 경우, 비디오 헤더로부터, 예를 들어, 이미지 프레임 헤더로부터 추출될 수 있다.
단계(120)에서, 수신된 비디오 스트림 내의 다양한 위치들에 대한 인코더 프레임 레이트 파라미터들이 결정된다. 이러한 인코더 프레임 레이트 파라미터들은, 수신된 비디오 프레임들의 타임 스탬프들로부터 결정될 수 있거나, 또는 수신된 비디오 스트림 내에 삽입된 인코더 프레임 레이트 값들로부터 결정될 수 있다.
수신된 비디오 프레임들의 타임 스탬프들로부터, 수신된 비디오 스트림 내의 시간적 위치들에서, 인코더 프레임 레이트 파라미터들이 결정될 수 있는데, 이러한 결정은 예를 들어, 해당하는 시간적 위치를 포함하는 미리결정된 기간 동안 프레임들의 개수를 산출함으로써 수행될 수 있거나, 또는 해당하는 시간적 위치에 연결된 비디오 프레임을 포함하는 연속하는 비디오 프레임들 간의 시간에서의 차이를 계산함으로써 수행될 수 있다. 수신된 비디오 스트림 내에서의 시간적 위치를 포함하는 미리결정된 기간 내에 비디오 스트림으로 연속적으로 수신되는 비디오 프레임들의 개수를 산출하고, 연속적으로 수신된 프레임들의 산출된 개수를 미리결정된 기간으로 나눔으로써, 시간적 위치와 관련된 인코더 프레임 레이트 파라미터가 결정될 수 있다.
시간적 위치와 관련된 비디오 프레임의 타임 스탬프와 선행하는 비디오 프레임 혹은 후속하는 비디오 프레임의 타임 스탬프 간의 시간에서의 차이가 대안적으로 시간적 위치에 대한 프레임 레이트 파라미터를 결정하기 위해 계산될 수 있고 사용될 수 있다.
일부 비디오 인코더들은 인코딩된 비디오 스트림 내에 인코더 프레임 레이트를 삽입하도록 구성되는데, 예를 들어, 인코더 프레임 레이트는 비디오 프레임들의 타임 스탬프들과 유사하게 프레임 헤더들 내에 삽입될 수 있거나, 또는 인코더 프레임 레이트는 비디오를 보는 사람을 보조하는 것으로서 비디오 프레임들의 시각적 부분 내에 오버레이(overlay)로서 포함될 수 있다. 이러한 대안적인 것들 중 어느 하나를 사용함으로써, 그 삽입된 인코더 프레임 레이트는 본 발명의 기술분야에서 숙련된 사람에게 알려진 기법들을 사용하여, 그 수신된 비디오 내의 다양한 시간적 위치들에서 추출될 수 있고 결정될 수 있다.
수신된 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정할 때, 선택에 따라서는, 인코더 프레임 레이트의 결정시 기반이 되는 그러한 비디오 프레임들로부터 비어 있는 비디오 프레임들이 식별될 수 있고 배제될 수 있다. 비어 있는 프레임들을 식별하기 위해서, 스킵 블록 타입의 비디오 인코딩 블록들만을 포함하는 비디오 프레임들을 검출하기 위해 그 수신된 비디오 프레임들의 비디오 인코딩 블록들이 분석된다. 인코더 프레임 레이트 파라미터들을 결정할 때의 비디오 프레임들로서 그 식별된 비어 있는 비디오 프레임들을 무시함으로써, 진정한 가변 인코더 프레임 레이트가 결정될 것이다.
수신된 비디오 스트림 내의 다양한 시간적 위치들에서 인코더 프레임 레이트 파라미터들이 결정되면, 단계(130)에서, 그 결정된 인코더 프레임 레이트들은 미리결정된 임계치와 비교된다. 단계(130)에서 사용되는 미리결정된 임계치는, 장면의 타입에 적합하도록, 그리고 비디오 스트림을 인코딩하기 위해 사용되는 비디오 인코더들에 적합하도록, 각각의 모니터링 카메라에 대해 혹은 모니터링 카메라들의 그룹에 대해 개별적으로 설정될 수 있다. 미리결정된 임계치는 고속 순방향 재생(fast forward playback)이 이루어지게 되는 비디오 스트림의 부분들이 어떤 부분들인지를 조절할 것인데, 왜냐하면 재생 프레임 레이트에서의 변경은 미리결정된 임계치에 대한 시간적 위치에서의 인코더 프레임 레이트의 관계에 의존하기 때문이다. 미리결정된 임계치보다 더 작은 인코더 프레임 레이트들에 대해, 단계(140)에서, 재생 프레임 레이트는, 예를 들어, 인코더 프레임 레이트에 미리결정된 재생 배율을 곱함으로써, 인코더 프레임 레이트보다 더 큰 프레임 레이트로 변경될 것이다.
미리결정된 임계치보다 더 큰 인코더 프레임 레이트들에 대해, 단계(150)에서, 재생 프레임 레이트는 인코더 프레임 레이트로 변경될 것이다. 도 1에서, 재생 프레임 레이트들은, 인코더 프레임 레이트들이, 미리결정된 프레임 레이트와 동등한 경우, 인코더 프레임 레이트로 변경될 것이다. 대안적 실시예에서, 재생 프레임 레이트는 이러한 경우 인코더 프레임 레이트보다 더 큰 프레임 레이트로 변경될 수 있다. 인코더 프레임 레이트들이, 미리결정된 프레임 레이트들과 동등한 경우들이, 관심 있는 두 개의 상태들 사이의 임의의 지점(point)에 속할 때는, 이러한 경우들은 어느 한 방식으로 처리될 수 있다. 미리결정된 임계치의 값이 되도록 결정되는 그러한 값은 이러한 경우들이 인코더 프레임 레이트들의 어느 한 상태에 포함되도록 조정될 수 있음에 또한 유의해야 한다.
재생 프레임 레이트는 전형적으로 비디오 시퀀스의 시작에서는 디폴트 값(default value)으로 설정될 것인데, 예를 들어, 디폴트 값은 인코더 프레임 레이트로 설정될 수 있다. 비디오 시퀀스 내의 다양한 시간적 위치들에서 그 결정된 인코더 프레임 레이트들에 의존하여, 재생 프레임 레이트는 도 1에서 설명되는 방법에 따라 변경될 것이다. 그 다음에, 단계(160)에서, 비디오 시퀀스는 변경된 재생 프레임 레이트들에서 재생된다.
방법(100)의 단계들은 한번에 하나의 비디오 프레임에 대해 수행될 수 있거나, 또는 비디오 시퀀스의 복수의 비디오 프레임들에 대해 수행될 수 있음에 유의해야 한다.
도 2A, 도 2B, 및 도 2C는 또한 본 발명과 관련된 실제 예를 나타낸다. 도 2A는 네 개의 부분들(202, 203, 204 및 205)을 포함하는 비디오 프레임들(201)의 수신된 비디오 시퀀스를 도시한다. 각각의 부분은 앞서 설명된 방법들에 따라 결정되는 관련된 인코더 프레임 레이트를 갖고, 그 결정된 인코더 프레임 레이트들이 도 2B에서 상이한 부분들(202 내지 205)에 대해 시간의 함수로서 예시된다. 부분들(202 및 204)이, 미리결정된 임계치(206)보다 더 작은 인코더 프레임 레이트들을 갖는 비디오 시퀀스들을 포함하기 때문에, 이러한 시퀀스들의 재생 프레임 레이트는 인코더 프레임 레이트보다 더 큰 재생 프레임 레이트로 변경되는데, 이러한 예에서, 이러한 부분들에 대한 인코더 프레임 레이트들에는, 인코더 프레임 레이트의 두 배의 재생 프레임 레이트를 달성하기 위해서, 재생 배율 2가 곱해진다.
반면, 미리결정된 임계치(206)보다 더 큰 인코더 프레임 레이트들을 갖는 비디오 시퀀스들을 포함하는 부분들(203 및 205)에 대한 재생 프레임 레이트는 인코더 프레임 레이트로 변경될 것이다. 재생 프레임 레이트가 부분들(202 및 204)에 대해 인코더 프레임 레이트보다 더 클 것이기 때문에, 수신된 비디오 시퀀스를 재생하기 위한 전체 시간은 실제-시간 속도로 재생하는 것과 비교하여 감소될 것인데, 도 2A와 도 2C를 비교하기 바란다(도 2A는 비디오 시퀀스의 수신된 비디오 프레임들이 인코더 프레임 레이트들에서 예시되어 있고, 도 2C는 수신된 비디오 시퀀스가 재생 프레임 레이트들에서 예시되어 있음). 하지만, 이것은 인코더 프레임 레이트가, 미리결정된 임계치보다 더 작은 경우의 비디오 시퀀스의 부분들에 대해서만 수행될 것이기 때문에, 고속 재생은 장면 내에서 매우 작은 움직임 및/또는 동작을 묘사하는 그러한 부분들에서만 수행될 것이다. 따라서, 이러한 재생을 위한 방법은, 활동의 레벨을 검출하고 이와 관련하여 인코더 프레임 레이트를 결정하는 인코더에 의해 수행되는 분석을 이용한다. 매우 빠른 움직임들 및/또는 높은 레벨의 활동을 묘사하는 수신된 비디오 시퀀스의 부분들이 또한 존재할 수 있기 때문에, 비디오 내용물의 세부사항들이 보안 운용자에 대해 파악가능하도록 하기 위해 비디오 시퀀스의 이러한 부분을 슬로우 모션으로 재생하기 위한 방법에 대한 필요성이 또한 존재할 수 있다. 이러한 경우의 예는 카지노에서 블랙잭 혹은 포커 테이블을 모니터링하는 모니터링 카메라로부터의 비디오 시퀀스일 수 있는데, 이 경우 카드 게임 동안 속임수를 검출하기 위해서 빠른 손 움직임들을 캡처하기 위해 최대 60 fps의 인코더 프레임 레이트들이 필요하다.
이러한 경우 슬로우-모션 재생을 위한 임계치가 도입될 수 있다. 이 경우, 결정된 인코더 프레임 레이트 파라미터가 슬로우-모션 재생을 위한 미리결정된 임계치보다 더 큰 때인 수신된 비디오 스트림 내의 시간적 위치들에서, 재생 프레임 레이트는 또한, 그 결정된 인코더 프레임 레이트 파라미터보다 더 작은 프레임 레이트로 변경될 수 있다. 이러한 경우, 결정된 인코더 프레임 레이트에는, 슬로우 모션 재생을 위한 재생 프레임 레이트을 달성하기 위해, 앞에서 설명된 바와 같이, 0과 1 사이의 미리결정된 재생 배율이 곱해질 것이다.
슬로우-모션 재생을 위한 설명된 방법은 도 1을 참조하여 설명된 고속 순방향 재생을 위한 방법과 결합될 수 있거나, 또는 슬로우 모션 재생을 위한 별도의 방법으로서 구현될 수 있다. 비디오 모니터링 시스템은 전형적으로 모니터링 카메라 또는 아날로그 모니터링 카메라에 연결된 비디오 인코더와 같은 하나보다 많은 비디오 소스(video source)를 포함한다. 수 개의 모니터링 카메라들은 종종, 중첩되는 장면들을 모니터링하거나, 또는 다른 실시형태들에서는 연결되는 장면들을 모니터링하여 다른 비디오 시퀀스들에 맥락적으로 연결되어 있는 비디오 시퀀스들을 제공하게 된다. 하나의 예는, 상이한 시각(views)으로부터 동일한 장면을 커버(covering)하고 있는 모니터링 카메라들로부터의 비디오 시퀀스들일 수 있다. 모니터링 카메라들은 또한, 컬러 이미지(colour image)들, 흑백 이미지(black and white image)들, 적외선 필터(infrared filter)들의 사용 및 미사용, 동적 범위가 높은 프로세싱(high dynamic range processing)의 사용 및 미사용, 등과 같은 상이한 비디오 캡처 및 이미지 프로세싱 구성들을 사용하여 동일한 장면으로부터의 비디오 장면을 제공할 수 있다. 모니터링 카메라들은 또한 상이한 타입의 모니터링 카메라들일 수 있는데, 예를 들어, 가시광(visual light)을 캡처하는 카메라들, 열 카메라(thermal camera)들, 비행-시간 카메라(time-of-flight camera)들, 등과 같은 것일 수 있고, 그럼으로써 장면에 대한 상호 보완적 정보(complementary information)를 제공하게 된다.
어떤 점에서 연결되어 있는 둘 이상의 비디오 시퀀스들을 갖는 경우에, 도 1에서 예시되는 방법은 임의의 시간적 위치에서 그 연결된 비디오 시퀀스들의 모든 인코더 프레임 레이트들이 단계(130)에서, 미리결정된 프레임 레이트 임계치와 비교되도록 구성될 수 있다. 이것은 제 1 비디오 시퀀스의 재생 프레임 레이트의 변경이 그 연결된 모든 비디오 시퀀스들의 인코더 프레임 레이트들에 의존하도록 한다. 이것은 그 연결된 모든 비디오 시퀀스들의 인코더 프레임 레이트들이, 미리결정된 임계치보다 더 작은 경우에만 제 1 비디오 시퀀스의 고속 재생이 수행됨을 의미할 것이다.
이것은 비디오 보관소 내에서 관심 있는 사건을 묘사하는 비디오 장면을 검색하는 사람을 보조할 것인데, 왜냐하면, 만약 어떤 점에서 제 1 비디오 시퀀스에 연결되어 있는 또 하나의 다른 비디오 시퀀스에서 동시에 발생하는 활동 혹은 움직임이 존재한다면, 비디오 시퀀스의 해당 부분들을 인코더 프레임 레이트에서 재생하는 것에 관심이 있을 수 있기 때문이다. 이것은 관심 있는 사건의 비디오 장면을 검색하는 보안 운용자가 다른 비디오 시퀀스 내에서의 활동과 동시에 발생하는 제 1 비디오 시퀀스 내에서의 관심 있는 세부사항들을 알아차리게 하는 것을 보조할 수 있으며, 하지만 동시에, 모든 비디오 시퀀스들의 인코더 프레임 레이트들이, 미리결정된 임계치보다 더 작은 기간 동안에는 재생 프레임 레이트가 고속 재생 프레임 레이트로 변경되는 그러한 시간적으로 효율적인 방식으로 재생을 제공할 수 있다.
비디오 관리 시스템에서, 수 개의 비디오 소스들로부터의 비디오 장면은 또한 동시에 보여질 수 있는데, 예를 들어, 단일 디스플레이 유닛 상의 상이한 뷰잉 윈도우(viewing window)들로서 또는 서로 옆에 장착된 상이한 디스플레이 유닛들 상의 상이한 뷰잉 윈도우들로서, 동시에 보여질 수 있다. 관심 있는 사건을 검색할 때, 동시에 녹화된 수 개의 비디오 시퀀스들은 또한, 보안 운용자를 보조하는 것으로서, 동시에 재생될 수 있다. 앞에서 설명된 본 발명에 따른 녹화된 비디오를 재생하기 위한 방법들은, 적어도 하나의 중첩되는 기간 동안 캡처된 복수의 비디오 시퀀스들 간의 재생 프레임 레이트에서의 변경들을 동기화시키고 이러한 비디오 시퀀스들을 재생하도록 구성될 수 있다. 복수의 연결된 비디오 시퀀스들에 대해 앞에서 설명된 것, 그리고 도 1의 단계(130)에 추가하여, 단계들(140, 150 및 160)이, 이러한 경우에, 복수의 비디오 시퀀스들에 대해 수행되게 된다.
만약 수 개의 비디오 소스들로부터의 비디오 시퀀스들이 동시에 보여져야 한다면, 임의의 중첩되는 기간들을 식별하기 위해 비디오 시퀀스들의 타임 스탬프들이 사용될 것이다. 이러한 비디오 시퀀스들의 임의의 중첩되지 않는 기간들 동안에는, 도 1을 참조하여 설명된, 비디오 시퀀스를 재생하기 위한 방법이 적용될 수 있다. 중첩되는 기간들에 대해서는, 재생은 동기화될 필요가 있을 것이고, 도 1을 참조하여 설명된 방법이 이에 맞게 구성되며, 이것도 또한 앞에서 설명되었다.
앞서 도 1에서 설명된 방법과 연계하여 설명되었던 바와 같이, 미리결정된 임계치는 고속 순방향 재생이 이루어지게 되는 비디오 스트림의 부분들이 어떤 부분들인지를 조절할 것인데, 왜냐하면 재생 프레임 레이트에서의 변경은 미리결정된 임계치에 대한 시간적 위치에서의 인코더 프레임 레이트의 관계에 의존하기 때문이다. 두 개의 수신된 비디오 스트림들의 재생을 동기화시키는 경우, 제 1 미리결정된 임계치가, 수신된 제 1 비디오 스트림에 적용될 수 있고, 그리고 제 2 미리결정된 임계치가, 수신된 제 2 비디오 스트림에 적용될 수 있다. 대안적으로, 동일한 미리결정된 임계치가 또한 양쪽 비디오 스트림들에 적용될 수 있다. 비디오 시퀀스들에 대해 상이한 미리결정된 임계치들을 갖는 것은 이로울 수 있는데, 왜냐하면 이 경우, 장면의 타입에 적합하도록 그리고 비디오 시퀀스들을 인코딩하기 위해 사용되는 비디오 인코더들에 적합하도록 임계치가 개별적으로 조정될 수 있기 때문이다.
미리결정된 임계치들의 수 개의 계층(tier)들이 또한 정의될 수 있고 동일한 비디오 시퀀스에 적용될 수 있다. 이러한 방식으로, 고속 재생의 상이한 레벨들이 인코더 프레임 레이트에 따라 구현될 수 있다. 예시적 사례로서, 미리결정된 임계치 A보다 작은 매우 낮은 인코더 프레임 레이트들에 대해서, 재생 배율은 높을 것이고(예를 들어, 예시로서 6); 미리결정된 임계치 B보다는 작지만 미리결정된 임계치 A보다는 큰 낮은 인코더 프레임 레이트들에 대해서, 재생 배율은 중간 정도 높을 것이고(예를 들어, 4); 그리고 미리결정된 임계치 C보다는 작지만 미리결정된 임계치 B보다는 큰 약간 낮은 인코더 프레임 레이트들에 대해서, 재생 배율은 낮을 것이다(예를 들어, 2). 미리결정된 임계치들의 수 개의 계층들을 구현하는 이점은, 이것이 비디오 스트림의 재생 프레임 레이트를 미세하게 조정할 수 있는 기회를 제공한다는 것이고, 재생 배율들의 개별적 단계들은 또한, 재생 프레임 레이트와 인코더 프레임 레이트 간에 연속 관계(continuous relationship)를 갖는 경우(이것은 보안 운용자에 대해서 그 재생되는 비디오 시퀀스들을 보는 것 그리고 거기서 세부사항들을 파악하는 것을 어렵게 할 수 있음)와는 대조적으로, 운용자의 시청 경험(viewing experience)을 더 좋게 할 것임을 의미한다.
더욱이, 본 발명은 하나 이상의 비-일시적 컴퓨터 판독가능 매체(들)의 형태를 취할 수 있고, 여기서 하나 이상의 비-일시적 컴퓨터 판독가능 매체(들)에는 컴퓨터 판독가능 프로그램 코드가 구현된다.
도 3은 녹화된 비디오를 재생하기 위한 비디오 서버(300)를 설명한다. 녹화된 비디오를 재생하기 위한 디바이스는 반드시 비디오 서버(30)일 필요는 없고, 비디오 콘텐츠(video content)를 재생할 수 있는 임의의 디바이스일 수 있는데, 예를 들어, 비디오 클라이언트(video client), 비디오 관리 시스템, PC, 워크스테이션(workstation), 태블릿 컴퓨터, 전화기 등일 수 있다. 비디오 서버(300)는, 수신 디바이스(310), 프레임 레이트 결정 디바이스(320), 재생 프레임 레이트 변경 디바이스(330), 그리고 비디오 신호 발생 디바이스(340)를 포함한다.
수신 디바이스(310)는 관련된 타임 스탬프들을 갖고 있는 비디오 프레임들의 시퀀스를 포함하는 적어도 하나의 비디오 스트림을 수신하도록 구성된다. 적어도 하나의 비디오 스트림은 예를 들어, 하나 이상의 모니터링 카메라들로부터 수신될 수 있거나, 다른 비디오 서버들로부터 수신될 수 있거나, 또는 비디오 스트림들을 저장하는 네트워크 접속 저장(NAS) 유닛들과 같은 저장 디바이스들로부터 수신될 수 있다. 비디오 스트림들은 또한, 비디오 서버 내의 내부 저장 디바이스(350)로부터 수신될 수 있다(여기서, 비디오 스트림들은 비디오 관리 시스템의 일부로서 저장됨).
프레임 레이트 결정 디바이스(320)는, 수신된 비디오 프레임들의 타임 스탬프들로부터, 또는 수신된 비디오 스트림 내에 삽입된 인코더 프레임 레이트 값들로부터, 수신된 적어도 하나의 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하도록 구성된다. 이것은 본 발명의 방법과 연계되어 이전에 설명된 바와 같이 다양한 방식으로 수행될 수 있다.
재생 프레임 레이트 변경 디바이스(330)는, 수신된 비디오 스트림의 결정된 인코더 프레임 레이트 파라미터가, 미리결정된 임계치보다 더 작은 때인 수신된 비디오 스트림 내의 시간적 위치들에서, 수신된 비디오 스트림의 재생 프레임 레이트를 결정된 인코더 프레임 레이트 파라미터보다 더 큰 프레임 레이트로 변경하도록 구성되고, 그리고 수신된 비디오 스트림의 결정된 프레임 레이트 파라미터가, 미리결정된 임계치보다 더 큰 때인 수신된 비디오 스트림 내의 시간적 위치들에서, 수신된 비디오 스트림의 결정된 인코더 프레임 레이트 파라미터와 동등한 재생 프레임 레이트로 변경하도록 구성된다. 이것은 본 발명의 방법의 실시예들에 관한 앞서의 설명과 연계되어 더 상세히 설명되었다.
비디오 신호 발생 디바이스(340)는 변경된 재생 프레임 레이트에서, 수신된 비디오 스트림을 나타내는 비디오 신호들을 발생시키도록 구성된다. 발생된 비디오 신호들은 또한 디스플레이 디바이스(예를 들어, 컴퓨터 모니터, 비디오 영사기(video projector), 혹은 텔레비젼 디스플레이)로 전송될 수 있다. 비디오 신호들을 디스플레이로 전송하기 위한 다양한 포맷(format)들 및 인터페이스(interface)들이 있으며, 몇 가지 적용가능한 예들을 언급하면, 수신된 비디오 스트림을 나타내는 비디오 신호들을 발생시킬 때 VGA, HDMI 또는 PAL이 사용될 수 있다.
도 3을 참조하여 설명된 비디오 서버의 수신 디바이스(310)는 적어도 부분적으로 중첩하는 제 1 비디오 스트림 및 제 2 비디오 스트림을 수신하도록 구성될 수 있으며, 여기서 제 1 비디오 스트림 및 제 2 비디오 스트림은 관련된 타임 스탬프들을 갖고 있는 비디오 프레임들의 시퀀스들을 포함한다. 이러한 경우에, 재생 프레임 레이트 변경 디바이스(330)는 또한, 제 1 비디오 스트림의 결정된 프레임 레이트 파라미터와 제 2 비디오 스트림의 결정된 프레임 레이트 파라미터가 모두, 미리결정된 임계치보다 더 작은 때인 시간적 위치들에서, 수신된 제 1 비디오 스트림의 재생 프레임 레이트를 수신된 제 1 비디오 스트림의 결정된 프레임 레이트 파라미터보다 더 큰 프레임 레이트로 변경하도록 구성될 수 있고, 그리고 수신된 제 1 비디오 스트림의 결정된 프레임 레이트 파라미터 또는 수신된 제 2 비디오 스트림의 결정된 프레임 레이트 파라미터가, 미리결정된 임계치보다 더 큰 때인 시간적 위치들에서, 수신된 제 1 비디오 스트림의 결정된 프레임 레이트 파라미터와 동등한 프레임 레이트로 변경하도록 구성될 수 있다. 더욱이, 이러한 경우에, 비디오 신호 발생 디바이스(340)는 또한, 변경된 재생 프레임 레이트에서, 수신된 제 2 비디오 스트림을 나타내는 비디오 신호들을 발생시키도록 구성될 수 있다.
도 4는 녹화된 비디오를 재생하기 위한 시스템(400)을 설명한다. 비디오 시스템(400)은 이미지 캡처 디바이스(410), 이전에 설명된 비디오 서버(300), 통신 네트워크(430), 및 디스플레이 디바이스(440)를 포함하고 있다. 녹화된 비디오를 재생하기 위한 시스템(400)은 또한, 선택에 따라서는 제 2 이미지 캡처 디바이스(420) 및 비디오 저장 디바이스(470)를 포함한다(도 4에서 이러한 디바이스들이 선택적인 것임을 나타내기 위해 점선으로 이루어진 박스로 표시되어 있음).
이미지 캡처 디바이스(410)는 장면의 이미지 데이터를 캡처하도록 구성되고, 캡처된 이미지 데이터를 비디오 스트림의 비디오 프레임들로서 인코딩하고, 그리고 비디오 스트림을 전송한다. 이미지 캡처 디바이스들(410 및 420)은 예를 들어, 디지털 네트워크 연결 모니터링 카메라(digital network connected monitoring camera)일 수 있거나, 또는 아날로그 이미지 정보를 디지털 이미지 데이터로 변환하는 변환기(converter)를 통해 네트워크에 연결되는 아날로그 카메라일 수 있다. 이러한 변환기는 비디오 인코더 혹은 비디오 서버일 수 있다. 모니터링 카메라들에 관한 본 발명의 방법 및 비디오 서버의 실시예들의 앞서의 설명과 연계되어 앞에서 기술된 것이 또한 이미지 캡처 디바이스들(410 및 420)에 대해 적용가능하다. 비디오 저장 디바이스(470)는 예를 들어, 네트워크 접속 저장(NAS) 유닛들과 같은 임의 타입의 네트워크 접속 비디오 저장 디바이스들일 수 있다. 이미지 캡처 디바이스(410, 420)는 국지적으로, 또는 비디오 저장 디바이스와 같은 가까이에서 서비스를 제공하는 국지적 컴퓨터연산 디바이스를 사용함으로써, 비디오 데이터의 저장, 프로세싱, 및 관리를 처리하도록 구성될 수 있다.
이미지 캡처 디바이스(410, 420)와, 비디오 서버(300)와, 그리고 선택에 따라서는 녹화된 비디오를 재생하기 위한 시스템(400)에 연결된 비디오 저장 디바이스(470)는 네트워크(430)를 통해 통신한다. 네트워크(430)는 임의 종류의 통신 네트워크일 수 있는데, 예를 들어, 유선 혹은 무선 데이터 통신 네트워크, 예컨대, 로컬 영역 네트워크(Local Area Network, LAN) 또는 무선 로컬 영역 네트워크(Wireless Local Area Network, W-LAN) 또는 와이드 영역 네트워크(Wide Area Network, WAN)일 수 있다.
디스플레이 디바이스(400)는 비디오 서버(300)에 의해 발생된 비디오 신호들을 수신 및 디스플레이하도록 구성된다. 디스플레이 디바이스들(440)의 일부 예들은 컴퓨터 모니터들, 비디오 영사기들, 혹은 텔레비젼 디스플레이들을 포함한다. 앞에서 설명된 바와 같이, 비디오 신호들을 디스플레이 디바이스로 전송하기 위한 다양한 포맷들 및 인터페이스들이 있으며, 몇 가지 적용가능한 예들을 언급하면, 수신된 비디오 스트림을 나타내는 비디오 신호들을 전송하기 위한, 비디오 서버(600)와 디스플레이 디바이스(440) 간의 인터페이스로서 VGA, HDMI 또는 PAL이 사용될 수 있다. 디스플레이 디바이스(400)는 뷰잉 윈도우(450)에서 비디오 스트림을 디스플레이하도록 구성될 수 있고, 그리고 동시에 발생하는 제 1 비디오 스트림 및 제 2 비디오 스트림을 관리하는 시스템(400)의 경우, 제 2 비디오 스트림의 디스플레이를 위한 제 2 뷰잉 윈도우(460)가 구성될 수 있다.

Claims (14)

  1. 녹화된 비디오(recorded video)를 재생(playing back)하기 위한 방법으로서, 상기 방법은,
    관련된 타임 스탬프(time stamp)들을 갖고 있는 비디오 프레임(video frame)들의 시퀀스(sequence)를 포함하는 비디오 스트림(video stream)을 수신하는 단계와;
    상기 수신된 비디오 프레임들의 타임 스탬프들로부터, 또는 상기 수신된 비디오 스트림 내에 삽입(embed)된 인코더 프레임 레이트 값(encoder frame rate value)들로부터, 상기 수신된 비디오 스트림 내의 다양한 시간적 위치(temporal position)들에 대한 인코더 프레임 레이트 파라미터(encoder frame rate parameter)들을 결정하는 단계와;
    상기 결정된 인코더 프레임 레이트 파라미터가 미리결정된 프레임 레이트 임계치(frame rate threshold)보다 더 작은 때인 상기 수신된 비디오 스트림 내의 시간적 위치들에서, 재생 프레임 레이트(playback frame rate)를 상기 결정된 인코더 프레임 레이트 파라미터보다 더 큰 프레임 레이트로 변경하는 단계와;
    상기 결정된 인코더 프레임 레이트 파라미터가 상기 미리결정된 프레임 레이트 임계치보다 더 큰 때인 상기 수신된 비디오 스트림 내의 시간적 위치들에서, 재생 프레임 레이트를 상기 결정된 인코더 프레임 레이트 파라미터와 동등한 재생 프레임 레이트로 변경하는 단계와; 그리고
    상기 변경된 재생 프레임 레이트에서, 상기 수신된 비디오 스트림의 비디오 프레임들을 재생하는 단계를 포함하는 것을 특징으로 하는 녹화된 비디오를 재생하기 위한 방법.
  2. 제1항에 있어서,
    상기 수신된 비디오 스트림은 수신된 제 1 비디오 스트림이고, 상기 방법은 또한,
    관련된 타임 스탬프들을 갖고 있는 비디오 프레임들의 제 2 시퀀스를 포함하는 제 2 비디오 스트림을 수신하는 단계와, 여기서 상기 수신된 제 1 비디오 스트림과 상기 수신된 제 2 비디오 스트림은 적어도 하나의 중첩되는 기간(overlapping time period) 동안 캡처(capture)된 것이며; 그리고
    상기 제 2 비디오 스트림의 수신된 비디오 프레임들의 타임 스탬프들로부터 혹은 상기 수신된 제 2 비디오 스트림 내에 삽입된 인코더 프레임 레이트 값들로부터, 상기 수신된 제 2 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하는 단계를 포함하고,
    상기 제 1 비디오 스트림의 상기 결정된 인코더 프레임 레이트 파라미터와 상기 제 2 비디오 스트림의 상기 결정된 프레임 레이트 파라미터가 모두 상기 미리결정된 프레임 레이트 임계치보다 더 작은 때인 상기 수신된 제 1 비디오 스트림 내의 시간적 위치들에서, 재생 프레임 레이트는 상기 수신된 제 1 비디오 스트림의 상기 결정된 프레임 레이트 파라미터보다 더 큰 프레임 레이트로 변경되고,
    상기 수신된 제 1 비디오 스트림 혹은 상기 수신된 제 2 비디오 스트림의 상기 결정된 인코더 프레임 레이트 파라미터가 상기 미리결정된 프레임 레이트 임계치보다 더 큰 때인 시간적 위치들에서, 재생 프레임 레이트는 상기 수신된 제 1 비디오 스트림의 상기 결정된 프레임 레이트 파라미터와 동등한 프레임 레이트로 변경되는 것을 특징으로 하는 녹화된 비디오를 재생하기 위한 방법.
  3. 제2항에 있어서,
    상기 제 1 비디오 스트림의 상기 결정된 프레임 레이트 파라미터와 상기 제 2 비디오 스트림의 상기 결정된 프레임 레이트 파라미터가 모두 상기 미리결정된 프레임 레이트 임계치보다 더 작은 때인 상기 수신된 제 2 비디오 스트림 내의 시간적 위치들에서, 상기 수신된 제 2 비디오 스트림의 재생 프레임 레이트는 상기 수신된 제 2 비디오 스트림의 상기 결정된 프레임 레이트 파라미터보다 더 큰 프레임 레이트로 변경되고,
    상기 수신된 제 1 비디오 스트림 혹은 상기 수신된 제 2 비디오 스트림의 상기 결정된 인코더 프레임 레이트 파라미터가 상기 미리결정된 프레임 레이트 임계치보다 더 큰 때인 시간적 위치들에서, 상기 수신된 제 2 비디오 스트림의 재생 프레임 레이트는 상기 수신된 제 2 비디오 스트림의 상기 결정된 프레임 레이트 파라미터와 동등한 프레임 레이트로 변경되고,
    상기 방법은 또한, 상기 수신된 제 2 비디오 스트림의 상기 변경된 재생 프레임 레이트에서, 상기 수신된 제 2 비디오 스트림의 비디오 프레임들을 재생하는 단계를 포함하는 것을 특징으로 하는 녹화된 비디오를 재생하기 위한 방법.
  4. 제1항에 있어서,
    상기 결정된 인코더 프레임 레이트 파라미터가 슬로우-모션 재생(slow-motion playback)을 위한 미리결정된 프레임 레이트 임계치보다 더 큰 때인 상기 수신된 비디오 스트림 내의 시간적 위치들에서, 재생 프레임 레이트는 또한, 상기 결정된 인코더 프레임 레이트 파라미터보다 더 작은 프레임 레이트로 변경되는 것을 특징으로 하는 녹화된 비디오를 재생하기 위한 방법.
  5. 제1항에 있어서,
    상기 수신된 비디오 프레임들의 타임 스탬프들로부터, 상기 수신된 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하는 단계는,
    임의의 시간적 위치에 대해, 상기 수신된 비디오 스트림 내에서 상기 시간적 위치를 포함하는 미리결정된 기간 내에 비디오 스트림으로 연속적으로 수신되는 비디오 프레임들의 개수를 산출(counting)하는 것과; 그리고
    상기 인코더 프레임 레이트 파라미터들을 결정하기 위해, 연속적으로 수신된 프레임들의 상기 산출된 개수를 상기 미리결정된 기간으로 나누는 것을 포함하는 것을 특징으로 하는 녹화된 비디오를 재생하기 위한 방법.
  6. 제1항에 있어서,
    상기 수신된 비디오 프레임들의 타임 스탬프들로부터, 상기 수신된 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하는 단계는,
    임의의 시간적 위치에 대해, 상기 시간적 위치에서의 비디오 프레임의 타임 스탬프와 선행하는 비디오 프레임 혹은 후속하는 비디오 프레임의 타임 스탬프 간의 시간에서의 차이를 계산하는 것과; 그리고
    시간에서 상기 계산된 차이로부터 상기 시간적 위치에 대한 수신 프레임 파라미터(receive frame parameter)를 결정하는 것을 포함하는 것을 특징으로 하는 녹화된 비디오를 재생하기 위한 방법.
  7. 제1항에 있어서,
    상기 수신된 비디오 스트림 내에 삽입된 인코더 프레임 레이트 값들로부터, 상기 수신된 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하는 단계는 또한,
    상기 수신된 비디오 스트림의 헤더(header)들로부터 상기 수신된 비디오 내에 삽입된 상기 인코더 프레임 레이트 값들을 추출(extracting)하는 것을 포함하는 것을 특징으로 하는 녹화된 비디오를 재생하기 위한 방법.
  8. 제1항에 있어서,
    상기 수신된 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하는 단계는 또한,
    비어 있는 비디오 프레임(empty video frame)들을 스킵 블록 타입(skip block type)의 비디오 인코딩 블록(video encoding block)들만을 포함하는 비디오 프레임들로서 식별하기 위해 상기 수신된 비디오 프레임들의 비디오 인코더 블록들을 분석하는 것과; 그리고
    인코더 프레임 레이트 파라미터들을 결정할 때의 비디오 프레임들로서 상기 식별된 비어 있는 비디오 프레임들을 무시(disregard)하는 것을 포함하는 것을 특징으로 하는 녹화된 비디오를 재생하기 위한 방법.
  9. 제1항에 있어서,
    상기 수신된 비디오 스트림은 가변 인코더 프레임 레이트(variable encoder frame rate)로 인코딩되어, 상기 수신된 비디오 스트림의 제 1 부분 동안에, 상기 수신된 비디오 스트림은 제 1 인코더 프레임 레이트로 인코딩되게 되고, 그리고 상기 수신된 비디오 스트림의 또 하나의 다른 부분 동안에, 상기 수신된 비디오 스트림은 또 하나의 다른 인코더 프레임 레이트로 인코딩되게 되는 것을 특징으로 하는 녹화된 비디오를 재생하기 위한 방법.
  10. 비-일시적 컴퓨터 판독가능 저장 매체로서, 상기 비-일시적 컴퓨터 판독가능 저장 매체 상에는 녹화된 비디오를 재생하기 위한 명령들이 저장되고,
    컴퓨팅 디바이스에 의한 상기 명령들의 실행은 상기 컴퓨팅 디바이스로 하여금,
    관련된 타임 스탬프들을 갖고 있는 비디오 프레임들의 시퀀스를 포함하는 비디오 스트림을 수신하는 것과;
    상기 수신된 비디오 프레임들의 타임 스탬프들로부터, 또는 상기 수신된 비디오 스트림 내에 삽입된 인코더 프레임 레이트 값들로부터, 상기 수신된 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하는 것과;
    상기 결정된 인코더 프레임 레이트 파라미터가 미리결정된 프레임 레이트 임계치보다 더 작은 때인 상기 수신된 비디오 스트림 내의 시간적 위치들에서, 재생 프레임 레이트를 상기 결정된 인코더 프레임 레이트 파라미터보다 더 큰 프레임 레이트로 변경하는 것과;
    상기 결정된 인코더 프레임 레이트 파라미터가 상기 미리결정된 프레임 레이트 임계치보다 더 큰 때인 상기 수신된 비디오 스트림 내의 시간적 위치들에서, 재생 프레임 레이트를 상기 결정된 인코더 프레임 레이트 파라미터와 동등한 재생 프레임 레이트로 변경하는 것과; 그리고
    상기 변경된 재생 프레임 레이트에서, 상기 수신된 비디오 스트림의 비디오 프레임들을 재생하는 것을
    포함하는 동작들을 수행하도록 하는 것을 특징으로 하는 비-일시적 컴퓨터 판독가능 저장 매체.
  11. 녹화된 비디오를 재생하기 위한 비디오 서버(video server)로서, 상기 비디오 서버는,
    수신 디바이스(receiving device)와;
    프레임 레이트 결정 디바이스(frame rate determining device)와;
    재생 프레임 레이트 변경 디바이스(playback frame rate changing device)와; 그리고
    비디오 신호 발생 디바이스(video signal generating device)를 포함하고,
    상기 수신 디바이스는,
    관련된 타임 스탬프들을 갖고 있는 비디오 프레임들의 시퀀스를 포함하는 적어도 하나의 비디오 스트림을 수신하도록 되어 있고;
    상기 프레임 레이트 결정 디바이스는,
    상기 수신된 비디오 프레임들의 타임 스탬프들로부터, 또는 상기 수신된 비디오 스트림 내에 삽입된 인코더 프레임 레이트 값들로부터, 상기 수신된 적어도 하나의 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하도록 되어 있고;
    상기 재생 프레임 레이트 변경 디바이스는,
    상기 수신된 비디오 스트림의 상기 결정된 인코더 프레임 레이트 파라미터가 미리결정된 프레임 레이트 임계치보다 더 작은 때인 상기 수신된 비디오 스트림 내의 시간적 위치들에서, 수신된 비디오 스트림의 재생 프레임 레이트를 상기 결정된 인코더 프레임 레이트 파라미터보다 더 큰 프레임 레이트로 변경하도록 되어 있고, 그리고
    상기 수신된 비디오 스트림의 상기 결정된 프레임 레이트 파라미터가 상기 미리결정된 프레임 레이트 임계치보다 더 큰 때인 상기 수신된 비디오 스트림 내의 시간적 위치들에서, 상기 수신된 비디오 스트림의 상기 결정된 인코더 프레임 레이트 파라미터와 동등한 재생 프레임 레이트로 변경하도록 되어 있고;
    상기 비디오 신호 발생 디바이스는,
    상기 변경된 재생 프레임 레이트에서, 상기 수신된 비디오 스트림을 나타내는 비디오 신호들을 발생시키도록 되어 있는 것을 특징으로 하는 녹화된 비디오를 재생하기 위한 비디오 서버.
  12. 제11항에 있어서,
    상기 수신 디바이스는,
    관련된 타임 스탬프들을 갖고 있는 비디오 프레임들의 시퀀스들을 포함하는 제 1 비디오 스트림 및 제 2 비디오 스트림을 수신하도록 되어 있고,
    여기서, 상기 수신된 제 1 비디오 스트림과 상기 수신된 제 2 비디오 스트림은 적어도 하나의 중첩되는 기간 동안 캡처된 것이며;
    상기 재생 프레임 레이트 변경 디바이스는,
    상기 제 1 비디오 스트림의 상기 결정된 프레임 레이트 파라미터와 상기 제 2 비디오 스트림의 상기 결정된 프레임 레이트 파라미터가 모두 상기 미리결정된 프레임 레이트 임계치보다 더 작은 때인 시간적 위치들에서, 상기 수신된 제 1 비디오 스트림의 재생 프레임 레이트를 상기 수신된 제 1 비디오 스트림의 상기 결정된 프레임 레이트 파라미터보다 더 큰 프레임 레이트로 변경하도록 되어 있고, 그리고
    상기 수신된 제 1 비디오 스트림의 상기 결정된 프레임 레이트 파라미터 혹은 상기 수신된 제 2 비디오 스트림의 상기 결정된 프레임 레이트 파라미터가 상기 미리결정된 프레임 레이트 임계치보다 더 큰 때인 시간적 위치들에서, 상기 수신된 제 1 비디오 스트림의 상기 결정된 프레임 레이트 파라미터와 동등한 프레임 레이트로 변경하도록 되어 있고;
    상기 비디오 신호 발생 디바이스는,
    상기 변경된 재생 프레임 레이트에서, 상기 수신된 제 2 비디오 스트림을 나타내는 비디오 신호들을 발생시키도록 되어 있는 것을 특징으로 하는 녹화된 비디오를 재생하기 위한 비디오 서버.
  13. 녹화된 비디오를 재생하기 위한 시스템으로서, 상기 시스템은,
    이미지 캡처 디바이스(image capturing device)와;
    비디오 서버와; 그리고
    디스플레이 디바이스(display device)를 포함하고,
    상기 이미지 캡처 디바이스는,
    장면(scene)의 이미지 데이터를 캡처하도록 되어 있고, 상기 캡처된 이미지 데이터를 비디오 스트림의 비디오 프레임들로서 인코딩하고, 그리고 상기 비디오 스트림을 전송하며;
    상기 비디오 서버는,
    상기 이미지 캡처 디바이스로부터의 상기 전송된 비디오 스트림을 수신하도록 되어 있고;
    상기 디스플레이 디바이스는,
    상기 비디오 서버에 의해 발생된 비디오 신호들을 수신 및 디스플레이하도록 되어 있고,
    상기 비디오 서버는,
    수신 디바이스와;
    프레임 레이트 결정 디바이스와;
    재생 프레임 레이트 변경 디바이스와; 그리고
    비디오 신호 발생 디바이스를 포함하고,
    상기 수신 디바이스는,
    관련된 타임 스탬프들을 갖고 있는 비디오 프레임들의 시퀀스를 포함하는 적어도 하나의 비디오 스트림을 수신하도록 되어 있고,
    상기 프레임 레이트 결정 디바이스는,
    상기 수신된 비디오 프레임들의 타임 스탬프들로부터, 또는 상기 수신된 비디오 스트림 내에 삽입된 인코더 프레임 레이트 값들로부터, 상기 수신된 적어도 하나의 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하도록 되어 있고,
    상기 재생 프레임 레이트 변경 디바이스는,
    상기 수신된 비디오 스트림의 상기 결정된 인코더 프레임 레이트 파라미터가 미리결정된 프레임 레이트 임계치보다 더 작은 때인 상기 수신된 비디오 스트림 내의 시간적 위치들에서, 수신된 비디오 스트림의 재생 프레임 레이트를 상기 결정된 인코더 프레임 레이트 파라미터보다 더 큰 프레임 레이트로 변경하도록 되어 있고, 그리고
    상기 수신된 비디오 스트림의 상기 결정된 프레임 레이트 파라미터가 상기 미리결정된 프레임 레이트 임계치보다 더 큰 때인 상기 수신된 비디오 스트림 내의 시간적 위치들에서, 상기 수신된 비디오 스트림의 상기 결정된 인코더 프레임 레이트 파라미터와 동등한 재생 프레임 레이트로 변경하도록 되어 있고,
    상기 비디오 신호 발생 디바이스는,
    상기 변경된 재생 프레임 레이트에서, 상기 수신된 비디오 스트림을 나타내는 비디오 신호들을 발생시키도록 되어 있는 것을 특징으로 하는 녹화된 비디오를 재생하기 위한 시스템.
  14. 녹화된 비디오를 재생하기 위한 시스템으로서, 상기 시스템은,
    제 1 이미지 캡처 디바이스와;
    제 2 이미지 캡처 디바이스와;
    비디오 서버와; 그리고
    디스플레이 디바이스를 포함하고,
    상기 제 1 이미지 캡처 디바이스는,
    장면의 이미지 데이터를 캡처하도록 되어 있고, 상기 캡처된 이미지 데이터를 제 1 비디오 스트림의 비디오 프레임들로서 인코딩하고, 그리고 상기 제 1 비디오 스트림을 전송하며;
    상기 제 2 이미지 캡처 디바이스는,
    장면의 이미지 데이터를 캡처하도록 되어 있고, 상기 캡처된 이미지 데이터를 제 2 비디오 스트림의 비디오 프레임들로서 인코딩하고, 그리고 상기 제 2 비디오 스트림을 전송하며;
    여기서, 상기 제 1 비디오 스트림과 상기 제 2 비디오 스트림은 적어도 하나의 중첩되는 기간 동안 캡처된 것이고;
    상기 비디오 서버는,
    상기 제 1 이미지 캡처 디바이스 및 상기 제 2 이미지 캡처 디바이스로부터의 상기 전송된 제 1 비디오 스트림 및 상기 전송된 제 2 비디오 스트림을 수신하도록 되어 있고;
    상기 디스플레이 디바이스는,
    상기 수신된 제 1 비디오 스트림 및 상기 수신된 제 2 비디오 스트림을 나타내는 상기 비디오 서버에 의해 발생된 비디오 신호들을 수신 및 디스플레이하도록 되어 있고;
    상기 수신된 제 1 비디오 스트림과 상기 수신된 제 2 비디오 스트림은 상기 적어도 하나의 중첩되는 기간 동안 상기 디스플레이 디바이스에 의해 동시에 디스플레이되고,
    상기 비디오 서버는,
    수신 디바이스와;
    프레임 레이트 결정 디바이스와;
    재생 프레임 레이트 변경 디바이스와; 그리고
    비디오 신호 발생 디바이스를 포함하고,
    상기 수신 디바이스는,
    관련된 타임 스탬프들을 갖고 있는 비디오 프레임들의 시퀀스를 포함하는 적어도 하나의 비디오 스트림을 수신하도록 되어 있고,
    상기 프레임 레이트 결정 디바이스는,
    상기 수신된 비디오 프레임들의 타임 스탬프들로부터, 또는 상기 수신된 비디오 스트림 내에 삽입된 인코더 프레임 레이트 값들로부터, 상기 수신된 적어도 하나의 비디오 스트림 내의 다양한 시간적 위치들에 대한 인코더 프레임 레이트 파라미터들을 결정하도록 되어 있고,
    상기 재생 프레임 레이트 변경 디바이스는,
    상기 수신된 비디오 스트림의 상기 결정된 인코더 프레임 레이트 파라미터가 미리결정된 프레임 레이트 임계치보다 더 작은 때인 상기 수신된 비디오 스트림 내의 시간적 위치들에서, 수신된 비디오 스트림의 재생 프레임 레이트를 상기 결정된 인코더 프레임 레이트 파라미터보다 더 큰 프레임 레이트로 변경하도록 되어 있고, 그리고
    상기 수신된 비디오 스트림의 상기 결정된 프레임 레이트 파라미터가 상기 미리결정된 프레임 레이트 임계치보다 더 큰 때인 상기 수신된 비디오 스트림 내의 시간적 위치들에서, 상기 수신된 비디오 스트림의 상기 결정된 인코더 프레임 레이트 파라미터와 동등한 재생 프레임 레이트로 변경하도록 되어 있고,
    상기 비디오 신호 발생 디바이스는,
    상기 변경된 재생 프레임 레이트에서, 상기 수신된 비디오 스트림을 나타내는 비디오 신호들을 발생시키도록 되어 있고,
    상기 수신 디바이스는,
    관련된 타임 스탬프들을 갖고 있는 비디오 프레임들의 시퀀스들을 포함하는 제 1 비디오 스트림 및 제 2 비디오 스트림을 수신하도록 되어 있고,
    여기서, 상기 수신된 제 1 비디오 스트림과 상기 수신된 제 2 비디오 스트림은 적어도 하나의 중첩되는 기간 동안 캡처된 것이며;
    상기 재생 프레임 레이트 변경 디바이스는,
    상기 제 1 비디오 스트림의 상기 결정된 프레임 레이트 파라미터와 상기 제 2 비디오 스트림의 상기 결정된 프레임 레이트 파라미터가 모두 상기 미리결정된 프레임 레이트 임계치보다 더 작은 때인 시간적 위치들에서, 상기 수신된 제 1 비디오 스트림의 재생 프레임 레이트를 상기 수신된 제 1 비디오 스트림의 상기 결정된 프레임 레이트 파라미터보다 더 큰 프레임 레이트로 변경하도록 되어 있고, 그리고
    상기 수신된 제 1 비디오 스트림의 상기 결정된 프레임 레이트 파라미터 혹은 상기 수신된 제 2 비디오 스트림의 상기 결정된 프레임 레이트 파라미터가 상기 미리결정된 프레임 레이트 임계치보다 더 큰 때인 시간적 위치들에서, 상기 수신된 제 1 비디오 스트림의 상기 결정된 프레임 레이트 파라미터와 동등한 프레임 레이트로 변경하도록 되어 있고;
    상기 비디오 신호 발생 디바이스는,
    상기 변경된 재생 프레임 레이트에서, 상기 수신된 제 2 비디오 스트림을 나타내는 비디오 신호들을 발생시키도록 되어 있는 것을 특징으로 하는 녹화된 비디오를 재생하기 위한 시스템.
KR1020170178286A 2016-12-29 2017-12-22 녹화된 비디오를 재생하기 위한 방법 및 시스템 KR102146042B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP16207297.9A EP3343561B1 (en) 2016-12-29 2016-12-29 Method and system for playing back recorded video
EP16207297.9 2016-12-29

Publications (2)

Publication Number Publication Date
KR20180078149A KR20180078149A (ko) 2018-07-09
KR102146042B1 true KR102146042B1 (ko) 2020-08-19

Family

ID=57755074

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170178286A KR102146042B1 (ko) 2016-12-29 2017-12-22 녹화된 비디오를 재생하기 위한 방법 및 시스템

Country Status (6)

Country Link
US (1) US10609426B2 (ko)
EP (1) EP3343561B1 (ko)
JP (1) JP6769943B2 (ko)
KR (1) KR102146042B1 (ko)
CN (1) CN108259934B (ko)
TW (1) TWI694716B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3818691B1 (en) * 2018-10-04 2024-04-10 Samsung Electronics Co., Ltd. Method and system for recording a super slow motion video in a portable electronic device
JP7279068B2 (ja) * 2018-10-09 2023-05-22 グーグル エルエルシー モバイル画像キャプチャデバイスを用いて巻戻し動作を実行するためのシステムおよび方法
US10404923B1 (en) * 2018-10-29 2019-09-03 Henry M. Pena Real time video special effects system and method
US10957360B1 (en) * 2019-02-01 2021-03-23 Objectvideo Labs, Llc Using optical character recognition to synchronize recorded videos
CN110139117B (zh) * 2019-05-17 2022-06-21 歌尔科技有限公司 直播数据推送方法及装置
CN110728799A (zh) * 2019-10-15 2020-01-24 恩亿科(北京)数据科技有限公司 一种余量更新方法及装置
CN114079820A (zh) * 2020-08-19 2022-02-22 安霸国际有限合伙企业 在摄像机设备上借助于神经网络输入的以感兴趣的事件/对象为中心的间隔拍摄视频生成
CN112702228B (zh) * 2020-12-18 2023-08-29 广州黑蜂科技有限公司 服务限流响应方法、装置、电子设备及可读存储介质
CN113873295B (zh) * 2021-10-26 2024-05-28 北京金山云网络技术有限公司 多媒体信息处理方法、装置、设备及存储介质
CN114302169B (zh) * 2021-12-24 2023-03-07 威创集团股份有限公司 一种画面同步录制方法、装置、系统及计算机存储介质
CN114422735B (zh) * 2022-01-28 2023-12-01 杭州海康威视数字技术股份有限公司 一种录像机、视频数据处理方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1429334A2 (en) 2002-12-10 2004-06-16 Sony Computer Entertainment Inc. Method and apparatus for editing images, and method and apparatus for reproducing the edited images
US20110064129A1 (en) 2009-09-16 2011-03-17 Broadcom Corporation Video capture and generation at variable frame rates

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002320203A (ja) * 2001-04-19 2002-10-31 Matsushita Electric Ind Co Ltd 映像信号記録装置および映像信号再生装置
GB0130198D0 (en) * 2001-12-17 2002-02-06 Snell & Wilcox Ltd Video processing
JP2004180290A (ja) * 2002-11-15 2004-06-24 Sony Corp 伝送装置と伝送方法と再生装置と再生方法およびプログラムと記録媒体
JP2004221999A (ja) * 2003-01-15 2004-08-05 Canon Inc 画像処理方法
CN101534405B (zh) * 2004-03-31 2011-06-01 松下电器产业株式会社 用于可变帧速率记录的视频记录设备
US7817193B2 (en) * 2004-11-25 2010-10-19 Sony Corporation Image pickup apparatus and image pickup method to display or record images picked up at high rate in real time
JP4646668B2 (ja) * 2005-03-29 2011-03-09 キヤノン株式会社 撮像装置及びその制御方法
AU2005202866A1 (en) * 2005-06-29 2007-01-18 Canon Kabushiki Kaisha Storing video data in a video file
JP2009253370A (ja) * 2008-04-01 2009-10-29 Hitachi Kokusai Electric Inc 記録映像データ再生システム
JP2010074323A (ja) 2008-09-17 2010-04-02 Sony Corp 記録装置および方法、並びに記録再生装置および方法
US8830339B2 (en) * 2009-04-15 2014-09-09 Qualcomm Incorporated Auto-triggered fast frame rate digital video recording
CN101600107B (zh) * 2009-07-08 2012-01-25 杭州华三通信技术有限公司 调整视频录像播放速度的方法、系统及装置
JP5627383B2 (ja) * 2010-01-06 2014-11-19 キヤノン株式会社 動画再生装置及びその制御方法、プログラム、及び記憶媒体
US8543724B2 (en) * 2010-04-30 2013-09-24 Digital Keystone, Inc. Methods and apparatuses for a projected PVR experience
US8839318B2 (en) * 2010-07-08 2014-09-16 Echostar Broadcasting Corporation Apparatus, systems and methods for quick speed presentation of media content
WO2012036658A1 (en) 2010-09-17 2012-03-22 Thomson Licensing Method for semantics based trick mode play in video system
JP5701017B2 (ja) * 2010-11-09 2015-04-15 キヤノン株式会社 動画再生装置、動画再生方法、コンピュータプログラム、記憶媒体
US8925021B2 (en) * 2011-07-11 2014-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for trick play in over-the-top video delivery
CN103155582A (zh) * 2011-08-11 2013-06-12 松下电器产业株式会社 广播通信协作系统、数据生成装置及接收装置
JP6319545B2 (ja) * 2013-03-15 2018-05-09 パナソニックIpマネジメント株式会社 画像符号化装置、撮影システム、撮影記録システム、画質符号化方法、及び画像符号化制御プログラム
EP2814253B1 (en) * 2013-06-05 2015-09-16 Axis AB Method for encoding digital video data
US10009628B2 (en) * 2013-06-07 2018-06-26 Apple Inc. Tuning video compression for high frame rate and variable frame rate capture
WO2015050562A1 (en) * 2013-10-04 2015-04-09 Intel Corporation Technology for dynamically adjusting video playback speed
US9871740B2 (en) * 2013-10-29 2018-01-16 Citrix Systems, Inc. Methods and systems for optimal delivery of internet video over wireless networks
US11609689B2 (en) * 2013-12-11 2023-03-21 Given Imaging Ltd. System and method for controlling the display of an image stream
CN105100692B (zh) * 2014-05-14 2018-10-26 杭州海康威视系统技术有限公司 视频播放方法及其装置
US10264293B2 (en) * 2014-12-24 2019-04-16 Activevideo Networks, Inc. Systems and methods for interleaving video streams on a client device
US9591254B2 (en) * 2015-03-26 2017-03-07 Qualcomm Incorporated Device and method for processing video data
US9900499B2 (en) * 2015-05-21 2018-02-20 Apple Inc. Time lapse user interface enhancements

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1429334A2 (en) 2002-12-10 2004-06-16 Sony Computer Entertainment Inc. Method and apparatus for editing images, and method and apparatus for reproducing the edited images
US20110064129A1 (en) 2009-09-16 2011-03-17 Broadcom Corporation Video capture and generation at variable frame rates

Also Published As

Publication number Publication date
EP3343561A1 (en) 2018-07-04
KR20180078149A (ko) 2018-07-09
US20180192091A1 (en) 2018-07-05
EP3343561B1 (en) 2020-06-24
CN108259934A (zh) 2018-07-06
US10609426B2 (en) 2020-03-31
CN108259934B (zh) 2021-12-24
TWI694716B (zh) 2020-05-21
JP2018129790A (ja) 2018-08-16
TW201824873A (zh) 2018-07-01
JP6769943B2 (ja) 2020-10-14

Similar Documents

Publication Publication Date Title
KR102146042B1 (ko) 녹화된 비디오를 재생하기 위한 방법 및 시스템
US11197057B2 (en) Storage management of data streamed from a video source device
US10075758B2 (en) Synchronizing an augmented reality video stream with a displayed video stream
US9819973B2 (en) Embedded appliance for multimedia capture
CN101860731B (zh) 视频信息处理方法、系统及服务器
CN110740290A (zh) 监控录像预览方法及装置
KR101033238B1 (ko) 영상 감시 장치와 영상 감시 프로그램이 기록된 기록매체
US20180332344A1 (en) Digital video recorder with additional video inputs over a packet link
AU2019204751B2 (en) Embedded appliance for multimedia capture
JP2008054150A (ja) 複数チャンネル画像転送装置
CA2914803C (en) Embedded appliance for multimedia capture
JP2004260389A (ja) デジタル映像の取込み、デジタル映像の圧縮、デジタル映像の記録をベースにモーション記録検知、映像のマルチ再生、映像のスケジュール記録またセンサー動作検知記録などを可能にすると同時にそれらの映像信号を狭域ネットワークlanや広域ネットワークwan、又はインターネット経由で遠隔送受信をも可能とした映像信号を記録すると同時に映像表示や映像検索及び映像再生等が可能なプログラムを記録したコンピューター読取り可能な記録媒体、並びに処理可能な装置。
JP2010183239A (ja) 映像記録装置、検出エリア設定装置及び検出エリア設定方法

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant