KR102505462B1 - 시선 감지에 기초한 블럭 레벨 업데이트 속도 제어 - Google Patents

시선 감지에 기초한 블럭 레벨 업데이트 속도 제어 Download PDF

Info

Publication number
KR102505462B1
KR102505462B1 KR1020170180019A KR20170180019A KR102505462B1 KR 102505462 B1 KR102505462 B1 KR 102505462B1 KR 1020170180019 A KR1020170180019 A KR 1020170180019A KR 20170180019 A KR20170180019 A KR 20170180019A KR 102505462 B1 KR102505462 B1 KR 102505462B1
Authority
KR
South Korea
Prior art keywords
video
video stream
video data
operator
gaze
Prior art date
Application number
KR1020170180019A
Other languages
English (en)
Other versions
KR20180079188A (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 KR20180079188A publication Critical patent/KR20180079188A/ko
Application granted granted Critical
Publication of KR102505462B1 publication Critical patent/KR102505462B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • 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/4728End-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 selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Studio Devices (AREA)

Abstract

시선 감지에 기초하여 비디오 데이터를 디코딩하는 방법이 개시된다. 본 방법은 카메라와 연관된 인코더로부터 수신된 인코딩된 비디오 스트림을 디코딩하고, 디코딩된 비디오 스트림을 장치의 디스플레이상에 제공한다. 본 방법은 또한 디스플레이를 보고 있는 조작자의 시선 포인트를 검출하여, 상기 시선 포인트에 기초하여 디코딩된 비디오 스트림과 연관된 위치를 스킵 블럭 삽입 포인트로 지정한다. 본 방법은 인코더에 상기 위치를 전송하고, 상기 인코더는 카메라에 의해 생성된 비디오 데이터를 인코딩할 때 상기 스킵 블럭 삽입 포인트에 대응하는 인터프레임 코딩 블럭의 업데이트 속도를 감소시킨다. 장치는 시선 감지에 기초하여 비디오 데이터를 디코딩하는 방법을 구현할 수 있다.

Description

시선 감지에 기초한 블럭 레벨 업데이트 속도 제어{BLOCK LEVEL UPDATE RATE CONTROL BASED ON GAZE SENSING}
본 발명은 비디오 데이터를 디코딩하는 방법에 관한 것이다. 보다 자세하게는, 시선 감지에 기초하여 비디오 데이터를 디코딩하는 방법에 관한 것이다.
비디오 모니터링 시스템은 하나 이상의 카메라에 의해 생성된 비디오 스트림을 분산할 때 대량의 데이터를 생성할 수 있다. 비디오 모니터링 시스템의 구성 요소들이 네트워크를 통해 상호 접속될 수 있기 때문에, 비디오 스트림을 분배하게 되면 상당한 양의 네트워크 자원을 소모하게 된다. 디스플레이상에 다수의 비디오 스트림이 제공될 때, 한 명의 조작자는 한 번에 하나의 비디오 스트림에 대해서만 주의를 기울일 수 있다. 따라서, 종래의 비디오 모니터링 시스템에서는, 상당한 양의 네트워크 자원이 조작자가 보고 있지 않은 비디오 스트림의 분산으로 인해 소모되게 된다.
일 실시예에서, 시선 감지에 기초하여 비디오 데이터를 디코딩하는 방법이 개시된다. 이 방법은 카메라와 연관된 인코더로부터 수신된 인코딩된 비디오 스트림을 디코딩하고 장치의 디스플레이상에 디코딩된 비디오 스트림을 제공하는 단계를 포함할 수 있다. 상기 방법은 상기 디스플레이를 보는 조작자의 시선 포인트를 검출하고, 상기 시선 포인트에 기초하여 상기 디코딩된 비디오 스트림과 연관된 위치들을 스킵 블럭 삽입 포인트(skip block insertion point)로서 지정하는 단계를 포함할 수 있다. 상기 방법은 상기 위치를 상기 인코더로 전송하는 단계를 포함할 수 있으며, 상기 인코더는 상기 카메라에 의해 생성된 비디오 데이터를 인코딩할 때 상기 스킵 블럭 삽입 포인트에 대응하는 인터프레임 코딩된 블럭의 업데이트 속도를 감소시킨다.
시선 감지에 기초하는 인코딩 동안 블럭들의 업데이트 속도를 감소시킴으로써, 조작자의 주변 시야에서의 비디오 스트림의 비트 레이트는 조작자의 전체 초점을 갖는 비디오 스트림의 비트 레이트보다 감소할 수 있고, 따라서 네트워크의 이용 및 효율을 향상시킨다. 또한, 업데이트 속도가 더 낮은 블럭을 갖는 비디오 스트림의 디코딩은 인코더 및 디코더 모두에서의 연산 부하를 감소시킬 것이고, 따라서 비디오 스트림을 인코딩하는 카메라 및 비디오 스트림을 디코딩하는 모니터링 스테이션에서의 전력 소모를 줄일 수 있다.
일 실시예에서, 상기 방법은 상기 장치의 디스플레이상에 상기 조작자의 주요 초점을 갖는 윈도우에 상기 디코딩된 비디오 스트림을 제공하는 단계와, 상기 조작자의 상기 시선 포인트가 조작자의 주요 초점을 갖는 윈도우의 경계 내에 있는 것을 결정하는 단계를 포함할 수 있다. 상기 방법은 조작자의 주요 초점을 갖는 윈도우 내의 중심 시야 영역을 결정하고, 중심 시야 영역 외부의 디코딩된 비디오 스트림과 연관된 위치를 스킵 블럭 삽입 포인트로서 지정하는 단계를 포함할 수 있다. 이 방법은 조작자의 시선에 기초하여 조작자의 주요 초점을 갖는 윈도우에서 제공되는 비디오의 품질을 향상시킬 수 있다.
일 실시예에서, 상기 방법은 적어도 하나의 부가적인 인코딩된 비디오 스트림을 디코딩하는 단계 및 상기 디코딩된 비디오 스트림 및 상기 적어도 하나의 추가적인 디코딩된 비디오 스트림을 상기 장치의 디스플레이 또는 장치의 다른 디스플레이상의 복수의 윈도우와는 별개의 윈도우에 각각 제공하는 단계를 포함할 수 있다. 상기 방법은, 상기 시선 포인트에 기초하여, 상기 조작자의 주요 초점을 갖는 상기 복수의 윈도우들 중에서 하나의 윈도우를 결정하는 단계, 및 조작자의 주요 초점을 갖지 않는 적어도 하나의 윈도우와 연관된 상기 디코딩된 비디오 스트림 내의 스킵 블럭 삽입 포인트들로서 위치들을 지정하는 단계를 포함할 수 있다. 따라서, 본 방법은 사용자의 주요 초점을 갖지 않는 윈도우에서 하나 이상의 비디오에 대해 연산, 전력 및 네트워크 자원을 낭비하는 것을 방지할 수 있다.
일 실시예에서, 상기 방법은 상기 시선 포인트에 기초하여, 상기 조작자의 주요 초점을 갖는 상기 윈도우 내의 중심 시야 영역을 결정하는 단계, 및 중심 시야 영역 외부의 위치를 조작자의 주요 초점을 갖는 윈도우와 연관된 디코딩된 비디오 스트림의 스킵 블럭 삽입 포인트로서 지정하는 단계를 포함할 수 있다. 따라서, 본 방법은 사용자의 주요 초점을 갖는 윈도우 내에서 비디오의 하나 이상의 부분에 대해 연산, 전력 및 네트워크 자원을 낭비하는 것을 방지할 수 있다.
일 실시예에서, 상기 방법은 조작자의 주요 초점을 갖지 않는 적어도 하나의 윈도우와 연관된 제2 디코딩된 비디오 스트림에 대한 픽쳐의 그룹(a group of pictures; GOP) 길이를, 조작자의 주요 초점을 갖는 윈도우와 연관된 디코딩된 비디오 스트림에 대한 GOP 길이보다 더 크게 결정하는 단계를 포함할 수 있다. 본 방법은 조작자의 주요 초점을 갖지 않는 적어도 하나의 윈도우와 연관된 비디오를 인코딩하기 위해 상기 결정된 GOOP 길이를 제2 디코딩된 비디오 스트림과 연관된 인코더에 전송하는 단계를 포함할 수 있다. GOP 길이는 연산, 네트워크, 및 전력 자원을 효율적인 방법으로 적절하게 할당하도록 결정될 수 있다.
일 실시예에서, 상기 방법은 시선 포인트로부터 조작자의 주요 초점을 갖지 않는 상기 적어도 하나의 윈도우까지의 거리를 결정하는 단계를 포함할 수 있다. 상기 방법은 시선 포인트와 조작자의 주요 초점을 갖지 않는 상기 적어도 하나의 윈도우 사이의 거리가 증가함에 따라 상기 결정된 GOP 길이를 증가시키는 단계를 포함할 수 있다.
일 실시예에서, 상기 방법은 상기 시선 포인트가 조작자의 주요 초점을 갖는 상기 윈도우 내에서 이동함에 따라 임계치를 초과하는 일정 시간이나 거리 동안 시선 포인트를 추적하는 단계와, 상기 시선 포인트의 움직임과 움직이는 객체를 디코딩된 비디오에서 상관시키는 단계를 포함한다. 본 방법은 움직이는 객체를 관심 객체로 지정하는 단계와, 상기 디코딩된 비디오 스트림에서 관심 객체와 연관된 위치에 대해 스킵 블럭 삽입 포인트로 위치 지정하는 것을 방지하는 단계를 포함할 수 있다. 시선에 따라 객체를 추적하면 조작자가 관심 객체를 효율적이고 자연스럽게 지정할 수 있다.
일 실시예에서, 상기 방법은 상기 관심 있는 것으로 지정된 객체를 나타내는 식별자를 생성하는 단계와, 상기 디코딩된 비디오 스트림의 메타 데이터를 포함하는 데이터베이스에 상기 식별자를 저장하는 단계를 포함할 수 있다. 시선에 따라 식별자를 생성하면 조작자가 관심 객체를 효율적이고 자연스럽게 지정할 수 있다.
일 실시예에서, 상기 방법은 시선 포인트가 미리 결정된 임계치를 초과하는 일정 시간 상기 디스플레이상에서 실질적으로 동일한 위치에 유지되었다고 결정하는 단계와, 시선 포인트 주변의 미리 결정된 영역에서 상기 디코딩된 비디오 스트림의 배율을 증가시키는 단계를 포함할 수 있다. 시선을 기준으로 배율을 제어하면 조작자가 비디오의 관심 영역에서 세부 정보를 효율적이고 자연스러운 방법으로 식별할 수 있다.
일 실시예에서, 상기 방법은 시선 포인트가 조작자의 주요 초점을 갖는 윈도우상에서 미리 결정된 임계치를 초과하는 일정 시간 유지되었다고 결정하는 단계와, 조작자의 주요 초점을 갖는 윈도우의 배율을 증가시키는 단계를 포함할 수 있다. 시선을 기준으로 배율을 제어하면 조작자가 비디오에서 관심 영역의 세부 정보를 효율적이고 자연스러운 방법으로 식별할 수 있다.
일 실시예에서, 상기 방법은 조작자에 의한 깜박임의 결과로서, 상기 시선 포인트가 상기 디스플레이상에서 실질적으로 동일한 위치를 유지하면서 미리 정해진 시간 내에 미리 결정된 횟수로 사라졌다가 다시 나타난다고 결정하는 단계와, 시선 포인트 주변의 영역에서 상기 디코딩된 비디오 스트림과 연관된 명령을 실행하는 단계를 포함한다. 시선 및 깜박임에 기초하여 명령을 입력하면 조작자가 효율적이고 자연스러운 방법으로 비디오 모니터링 시스템에 명령을 입력할 수 있다.
일 실시예에서, 상기 명령을 실행하는 단계는 상기 시선 포인트 주변의 영역에서 상기 디코딩된 비디오 스트림의 배율을 변경하는 단계 또는 상기 시선 포인트 주변의 영역에서 상기 디코딩된 비디오 스트림을 태그하는 데이터베이스에 식별자를 저장하는 단계를 포함할 수 있다. 시선 포인트 주변의 영역에서 배율을 제어하면 조작자가 비디오의 관심 영역에서 효율적이고 자연스러운 방법으로 세부 정보를 식별할 수 있다.
일 실시예에서, 본 방법은 일정 시간 시선 포인트의 위치를 추적하는 단계와, 시선 포인트의 추적된 위치에 기초하여 시선 포인트의 다음 위치를 예측하는 단계를 포함할 수 있다. 시선 포인트의 미래 위치를 예측하면 시선 제어를 기반으로 하는 비디오 스트림의 비트 레이트를 조정할 때 레이턴시를 줄일 수 있다.
일 실시예에서, 상기 방법은 스킵 블럭들을 포함하는 인터프레임들을 갖는 제1 구성 요소 비디오 스트림 및 상기 제1 구성 요소 비디오 스트림보다 낮은 픽셀 밀도를 갖는 제2 구성 요소 비디오 스트림을 포함하는 병합된 인코딩된 비디오 스트림을 수신하는 단계를 포함할 수 있고, 상기 제2 구성 요소 비디오 스트림은 상기 제1 구성 요소 비디오 스트림과 시간적 및 공간적으로 연관된다. 상기 방법은 상기 제1 구성 요소 비디오 스트림의 인터프레임들의 스킵 블럭들을 식별하는 단계 및 상기 스킵 블럭들이 아닌 블럭들에서 상기 제1 구성 요소 비디오 스트림의 인터프레임들을 디코딩하는 단계를 포함할 수 있다. 상기 방법은 상기 제2 구성 요소 비디오 스트림의 인터프레임들을 디코딩하는 단계와, 상기 디코딩된 제2 구성 요소 비디오 스트림 내의 인터프레임들의 픽셀 밀도와 정합하기 위해 디코딩된 제2 구성 요소 비디오 스트림 내의 인터프레임들을 업스케일링하는 단계를 포함할 수 있다. 이 방법은 디코딩된 제1 구성 요소 비디오 스트림 내의 스킵 블럭 위치에 대응하는 업스케일된 디코딩된 제2 구성 요소 비디오 스트림의 픽셀을 식별하는 단계를 포함할 수 있다. 상기 방법은 상기 디코딩된 제2 구성 요소 비디오 스트림에서 상기 식별된 픽셀을 추출하는 단계와, 상기 추출된 픽셀을 상기 디코딩된 제1 인코딩된 비트 스트림의 스킵 블럭의 대응하는 위치에 삽입하는 단계를 포함할 수 있다. 전술한 방법에 의하면 스킵 블럭들의 삽입을 통한 비디오 데이터 처리량을 감소시킬 수 있다.
일 실시예에서, 시선 감지에 기초하여 비디오 데이터를 인코딩하는 방법이 개시된다. 상기 방법은 적어도 하나의 센서 어레이에 의해 캡처된 비디오 데이터를 수신하는 단계와 수신된 비디오 데이터를 인코딩하기 위해 스킵 블럭 삽입 포인트를 지정하도록 디코딩된 비디오 스트림과 연관된 위치를 수신하는 단계를 포함할 수 있으며, 상기 위치는 장치에서 결정된 시선 포인트에 기초한다. 본 방법은 수신된 위치에 기초하여 수신된 비디오 데이터를 인코딩하기 전에 스킵 블럭 삽입 포인트를 식별하는 단계를 포함할 수 있으며, 스킵 블럭 삽입 포인트는 감소된 업데이트 속도를 갖는 인터프레임 내의 블럭을 지정한다. 이 방법은 식별된 스킵 블럭 삽입 포인트에 대해, 감소된 업데이트 속도에 대한 주파수를 결정하는 단계 및 결정된 주파수에 기초하여 식별된 스킵 블럭 삽입 포인트와 연관된 블럭을 갖는 인터프레임을 인코딩하는 단계를 포함할 수 있다. 시선을 기준으로 스킵 블럭 삽입 포인트를 결정하게 되면 연산, 전원 및 네트워크 자원을 효율적으로 사용할 수 있다.
일 실시예에서, 상기 방법은 상기 수신된 비디오 데이터로부터 제1 비디오 시퀀스를 생성하는 단계와, 상기 제1 비디오 시퀀스보다 픽셀 밀도가 낮은 상기 수신된 비디오 데이터로부터 제2 비디오 시퀀스를 생성하는 단계를 포함할 수 있으며, 상기 제2 비디오 시퀀스는 제1 비디오 시퀀스와 시간적 및 공간적으로 유사하다. 이 방법은 제1 비디오 시퀀스에 관련성 있는 픽셀을 나타내는 단계와 - 식별된 스킵 블럭 삽입 포인트는 관련성 없는 것으로서 지정됨 - , 제1 비디오 시퀀스에서 관련성 있다고 지시된 픽셀을 인코딩하여 제1 인코딩된 비디오 스트림을 생성하는 단계 - 관련성 없다고 지정된 픽셀은 스킵 블럭을 사용하여 인코딩됨 - 를 포함한다. 이 방법은 제2 비디오 시퀀스를 인코딩하여 제2 인코딩된 비디오 스트림을 생성하고 제1 인코딩된 비디오 스트림 및 제2 인코딩된 비디오 스트림을 병합하는 단계를 포함할 수 있다. 이 방법은 병합된 인코딩된 비디오 스트림을 장치에 전송하는 단계를 포함할 수 있다. 시선을 기준으로 스킵 블럭 삽입 포인트를 결정하게 되면 연산, 전원 및 네트워크 자원을 효율적으로 사용할 수 있다.
일 실시예에서, 제2 비디오 시퀀스를 생성하는 단계는 제1 비디오 시퀀스를 2차원적인 디지털 방식으로 다운샘플링하는 단계를 포함할 수 있다. 2차원적인 다운샘플링은 비디오 인코딩의 처리 속도를 향상시킬 수 있다.
일 실시예에서, 관련성 있다고 픽셀을 지시하는 단계는 상기 제1 비디오 시퀀스에 대한 마스크를 생성하는 단계를 포함할 수 있다. 마스크를 생성하면 비디오 인코딩 양을 줄임으로써 효율성을 향상시킬 수 있다.
일 실시예에서, 시선 감지에 기초하여 비디오 데이터를 디코딩하도록 구성된 장치가 개시된다. 장치는 디스플레이, 네트워크를 통해 데이터를 교환하도록 구성된 통신 인터페이스, 디스플레이 및 통신 인터페이스에 연결된 프로세서, 및 프로세서에 연결되어 명령을 저장하는 메모리를 포함할 수 있다. 이 명령들은 프로세서로 하여금 카메라와 관련된 인코더로부터 수신된 인코딩된 비디오 스트림을 디코딩하고, 디코딩된 비디오 스트림을 디스플레이상에 제공하고, 디스플레이를 보는 조작자의 시선 포인트를 검출하고, 디코딩된 비디오 스트림과 관련된 위치를 시선 포인트에 기초하여 스킵 블럭 삽입 포인트로 지정하고, 상기 위치를 인코더로 보내도록 한다. 인코더는 카메라에 의해 생성된 비디오 데이터를 인코딩할 때 스킵 블럭 삽입 포인트에 대응하는 인터프레임 코딩된 블럭의 업데이트 속도를 감소시킨다. 시선을 기준으로 스킵 블럭 삽입 포인트를 결정하면 연산, 전원 및 네트워크 자원을 효율적으로 사용할 수 있다.
일 실시예에서, 메모리는 더욱 프로세서로 하여금 디코딩된 비디오 스트림을 장치의 디스플레이상에서 조작자의 주요 초점을 갖는 윈도우에 제공하고, 조작자의 시선 포인트가 조작자의 주요 초점을 갖는 윈도우의 경계 내에 있다고 결정하고, 조작자의 주요 초점을 갖는 윈도우 내에서 중심 시야 영역을 결정하고, 중심 시야 영역 외부의 디코딩된 비디오 스트림과 연관된 위치를 스킵 블럭 삽입 포인트로 지정하도록 하는 명령을 포함한다. 시선을 기준으로 스킵 블럭 삽입 포인트를 결정하면 연산, 전원 및 네트워크 자원을 효율적으로 사용할 수 있다.
일 실시예에서, 메모리는 프로세서로 하여금 적어도 하나의 부가적인 인코딩된 비디오 스트림을 디코딩하고, 디코딩된 비디오 스트림 및 적어도 하나의 부가의 디코딩된 비디오 스트림을 디스플레이상에서 복수의 윈도우의 개별적인 윈도우에 각각 제공하고, 시선 포인트에 기초하여, 조작자의 주요 초점을 갖는 복수의 윈도우로 중에서 하나의 윈도우를 결정하고, 조작자의 주요 초점을 갖지 않는 적어도 하나의 윈도우와 연관된 디코딩된 비디오 스트림 내의 스킵 블럭 삽입 포인트로서 위치를 지정하도록 하는 명령을 포함할 수 있다. 시선을 기준으로 스킵 블럭 삽입 포인트를 결정하면 연산, 전원 및 네트워크 자원을 효율적으로 사용할 수 있다.
일 실시예에서, 메모리는 시선 포인트에 기초하여, 조작자의 주요 초점을 갖는 윈도우 내의 중심 시야 영역을 결정하고, 중심 시야 영역 외부의 위치를 조작자의 주요 초점을 갖는 윈도우와 연관된 디코딩된 비디오 스트림에서의 스킵 블럭 삽입 포인트로 지정하도록 하는 명령을 포함할 수 있다. 시선을 기준으로 스킵 블럭 삽입 포인트를 결정하면 연산, 전원 및 네트워크 자원을 효율적으로 사용할 수 있다.
일 실시예에서, 시선 감지에 기초하여 비디오 데이터를 인코딩하기 위한 카메라가 개시된다. 카메라는 센서 어레이, 네트워크를 통해 데이터를 교환하도록 구성된 통신 인터페이스, 제어기, 이미지 프로세서, 및 센서 어레이와 통신 인터페이스에 결합된 비디오 인코더, 및 제어기, 이미지 프로세서 및 비디오에 결합된 메모리를 포함할 수 있다. 메모리는 제어기, 이미지 프로세서 또는 비디오 인코더로 하여금 센서 어레이에 의해 캡처된 비디오 데이터를 수신하고 디코딩된 비디오 스트림과 관련된 위치를 수신하여 수신된 비디오 데이터를 인코딩하기 위해 스킵 블럭 삽입 포인트를 지정하게 하는 명령을 저장한다. 위치들은 클라이언트 장치에서 결정된 시선 포인트에 기초할 수 있고, 수신된 위치에 기초하여 수신된 비디오 데이터를 인코딩하기 전에 스킵 블럭 삽입 포인트를 식별하고, 스킵 블럭 삽입 포인트는 감소된 업데이트 속도를 갖는 인터프레임들 내의 블럭들을 지정하고, 식별된 스킵 블럭 삽입 포인트에 대해, 감소된 업데이트 속도에 대한 주파수를 결정하고, 결정된 주파수에 기초하여 식별된 스킵 블럭 삽입 포인트와 연관된 블럭을 갖는 인터프레임을 인코딩할 수 있다. 시선을 기준으로 스킵 블럭 삽입 포인트를 결정하면 연산, 전원 및 네트워크 자원을 효율적으로 사용할 수 있다.
일 실시예에서, 메모리는 더욱 제어기, 이미지 프로세서, 또는 비디오 인코더 중 적어도 하나가: 수신된 비디오 데이터로부터 제1 비디오 시퀀스를 생성하고, 제1 비디오 시퀀스보다 픽셀 밀도가 낮은 수신된 비디오 데이터로부터 제2 비디오 시퀀스를 생성하도록 하고 - 제2 비디오 시퀀스가 시간적 및 공간적으로 상기 제1 비디오 시퀀스와 유사함 -, 제1 비디오 시퀀스에서 관련성 있는 픽셀을 지시하고 - 식별된 스킵 블럭 삽입 포인트는 관련성 없는 것으로 지정됨 -, 제1 비디오 시퀀스에서 관련성 있다고 지시된 픽셀을 인코딩하여 제1 인코딩된 비디오 스트림을 생성하고 - 관련성 없다고 지정된 픽셀은 스킵 블럭을 이용하여 인코딩됨 -, 제1 인코딩된 비디오 스트림과 제2 인코딩된 비디오 스트림을 병합하고, 인코딩된 비디오 스트림을 클라이언트 장치로 전송하도록 하는 명령을 포함할 수 있다. 시선을 기준으로 스킵 블럭 삽입 포인트를 결정하면 연산, 전원 및 네트워크 자원을 효율적으로 사용할 수 있다.
도 1은 일 실시예에서 시각 추적을 포함하는 예시적인 환경을 나타내는 블럭도이다.
도 2는 일 실시예에서 카메라의 예시적인 구성 요소를 나타내는 블럭도이다.
도 3은 일 실시예에서 컴퓨팅 모듈의 예시적인 구성 요소들을 도시하는 블럭도이다.
도 4는 일 실시예에서 조작자가 시각 추적기를 구비한 디스플레이를 보는 환경을 도시한다.
도 5a 및 5b는 조작자의 관점에서 본 두 실시예의 디스플레이를 도시한다.
도 6은 시선 감지에 기초하여 비디오 데이터를 디코딩하기 위한 예시적인 프로세스를 도시하는 흐름도이다.
도 7은 시선 감지에 기초하여 비디오 데이터를 인코딩하기 위한 예시적인 프로세스의 흐름도이다.
다음의 상세한 설명은 첨부된 도면을 참조한다. 상이한 도면에서 동일한 참조 번호는 동일하거나 유사한 요소를 식별한다.
비디오 모니터링 시스템이 임의의 시간 동안 생성하는 많은 양의 데이터를 감안할 때, 수집된 데이터를 처리, 분산 및 검색하는 것은 특히 프로세싱 및/또는 네트워크 자원 활용과 관련하여 자원을 많이 소비하게 될 수 있다. 조작자가 네트워크를 통해 여러 비디오 스트림을 모니터링할 때, 모니터링 스테이션의 디스플레이에 표시된 많은 데이터는 조작자의 중심이 될 수 없다.
비디오 모니터링 시스템에서 프로세싱 및/또는 네트워크 자원을 보다 효율적으로 사용하기 위해, 이하에서 설명되는 실시예들은 시각 추적을 사용하여 조작자의 초점을 결정하고, 조작자의 초점이 아닌 비디오 스트림 내의 블럭에 대한 업데이트 속도를 낮추는 프로세스 및 시스템에 관한 것이다. 따라서, 조작자의 시선을 감지함으로써, 단일의 비디오 스트림 중 조작자의 주변 시야에 있는 부분들은 블럭의 감소된 업데이트 속도를 가질 수 있다. 부가적으로 또는 대안으로, 다수의 스트림이 개별 윈도우에서 사용자에게 제공되고 있는 경우, 조작자의 주변 시야에 있는 비디오 스트림은 비디오 스트림이 인코딩될 때 감소된 블럭의 업데이트 속도를 가질 수 있다.
시선 감지에 기초하여 인코딩하는 동안 블럭의 업데이트 속도를 감소시킴으로써, 조작자의 주변 시야에서의 비디오 스트림의 비트 레이트는 조작자의 전체 초점을 갖는 비디오 스트림의 비트 레이트와 비교하여 감소될 수 있다. 또한, 업데이트 속도가 더 낮은 블럭을 갖는 비디오 스트림의 디코딩은 인코더 및 디코더 모두에서 연산 부하를 감소시킬 수 있고, 따라서 비디오 스트림을 인코딩하는 카메라와 비디오 스트림을 디코딩하는 모니터링 스테이션에서의 전력 소모를 줄일 수 있다.
블럭의 업데이트 속도를 감소시키는 방법은, 예를 들어, 2015년 2월 5일 공개되어 Axis AB에 양도된, "합병된 디지털 비디오 시퀀스를 생성하기 위한 방법, 장치 및 시스템"이라는 제목의 미국 특허 출원 공개 번호 US 2015/0036736에 기재된 기술을 이용하여 실행될 수 있으며, 이의 기술은 본 명세서에서 참조로 언급된다.
예를 들어, 블럭들의 업데이트 속도를 감소시키는 것은, 인터프레임들을 인코딩할 때 인코더가 비디오의 프레임들에서 SKIP 블럭들을 전송하게 함으로써 달성될 수 있다. 비디오의 일부분에 대해 SKIP 블럭이 지시되면, 입력된 이미지가 해당 영역의 이전 이미지로부터 변경된 경우에도 비디오의 해당 부분에 대해 이미지 데이터가 전송되지 않는다.
본 명세서에 제시된 실시예는 예를 들어 ISO/MPEG 계열(MPEG-1, MPEG-2, MPEG-4)과 같은 인코딩/디코딩 표준이 적용되며 ITU-H.26X 계열(H.261, H.263 및 확장, H.264 및 H.265 표준으로도 알려진 HEVC)의 비디오 권장에 적용될 수 있다. 본 명세서에 제시된 실시예는 또한 다른 유형의 비디오 코딩 표준, 예를 들어, WMV 계열에 속하는 마이크로소프트 코덱, On2 코덱(예를 들어, VP6, VP6-E, VP6-S, VP7 또는 VP8) 또는 WebM에 적용될 수 있다.
비트 레이트를 감소시키기 위해 비디오 인코딩을 수행하는 경우, 인코딩될 프레임은 압축되고 인코딩될 수 있는 더 작은 코딩 유닛(블럭, 매크로 블럭 등)으로 분할될 수 있다. 인터프레임 인코딩의 경우, 각각의 블럭은 하나 또는 다수의 움직임 벡터가 할당될 수 있다. 프레임의 예측은 상기 움직임 벡터들의 세트에 따라 과거 및/또는 미래의 프레임(들)로부터의 픽셀 블럭들을 변위시킴으로써 구성될 수 있다. 그 후, 이전 프레임에서 움직임 벡터에 의해 변위된 블럭은 현재 프레임과 비교될 수 있고, 인코딩될 현재 프레임과 그 움직임 보상된 예측 사이의 잔여 신호라 불리는 차는 변환 코딩을 사용하여 인트라-코딩된 프레임과 유사한 방법으로 엔트로피 인코딩된다.
전술한 인터프레임 인코딩은 "스킵 블럭"을 사용함으로써 방지될 수 있다. 즉, 스킵 블럭은 잔류 에러 또는 움직임 벡터를 전송하지 않고 "코딩"될 수 있다. 대신에, 인코더는 스킵 블럭이 인터프레임 내의 특정 블럭 위치에 대해 지정되었다고 기록할 수 있으며, 디코더는 이미 디코딩된 다른 블럭들로부터 이미지 정보를 추정할 수 있다. 일 실시예에서, 스킵 블럭의 이미지 정보는 동일한 프레임의 블럭이나 디지털 비디오 데이터의 이전 프레임의 블럭으로부터 추정될 수 있다.
본 명세서에서 사용되는 바와 같이, 인트라프레임은 임의의 과거 또는 미래의 프레임에 대한 어떠한 참조도 없이 인코딩될 수 있으며, I-프레임이라고 불린다. 인터프레임은 P-프레임이라고 하는 단방향 예측 프레임 또는 B-프레임이라고 하는 양방향 예측 프레임을 사용하여 인코딩될 수 있다. P-프레임과 B-프레임 모두 이전 프레임의 어디에도 없는 새 데이터를 인코딩하는 블럭을 포함할 수 있지만, 이들은 드물 수도 있다. I-프레임은 어떤 시간적인 중복성도 가능하지 않는, 장면 변경에 대응하는 새로운 프레임 그룹의 시작시 배치되는 장면 전환 프레임, 또는 시간적 중복성이 가능한 다른 위치에 놓이는 새로 고침 프레임을 포함할 수 있다. I-프레임은 일반적으로 정규적이거나 불규칙한 간격으로 삽입되어 새로운 스트림 인코더에 대한 새로 고침 지점 또는 전송 오류에 대한 복구 지점으로 사용된다.
I-프레임은 소위 "픽처 그룹"(GOP)에서, 다수의 P-프레임 및 B-프레임으로, 또는 일부 실시예에서는 다수의 P-프레임만으로 경계를 이룰 수 있다. GOP 길이는 초당 30 프레임으로 샘플링된 30 프레임의 비디오를 포함할 수 있으며, 이는 하나의 I-프레임에 이어 29개의 P-프레임이 이어질 수 있음을 의미한다. 다른 실시예에서, GOP는 동적이어서 시각 추적기에 의해 제공되는 장면 내용, 비디오 품질 및/또는 시선 정보에 기초하여 변할 수 있다.
도 1은 일 실시예에서의 시각 추적을 포함하는 예시적인 환경(100)을 나타내는 블럭도이다. 환경(100)은 예를 들어, 구역의 안전을 지키거나 공공 안전을 제공하는 모니터링 시스템일 수 있다. 도 1에 도시된 바와 같이, 환경(100)은 카메라들(110-1 내지 110-M), 네트워크(120), 비디오 관리 시스템(VMS; 150), 모니터링 스테이션들(125-1 내지 125-N), 시각 추적기들(140-1 내지 140-N), 및/또는 디스플레이들(130-1 내지 130-N)을 포함할 수 있다. 환경(100)은 또한 예를 들어, 움직임 검출기, 온도 검출기, 연기 검출기 등(미도시)과 같은 다양한 비이미징 검출기를 포함할 수 있다.
카메라들(110-1 내지 110-M)("카메라(110)", 복수로 "카메라들(100)", 특히 카메라(110-x)"를 말함)는 모니터링된 영역(106)의 이미지 및/또는 비디오를 캡처한다. 모니터된 영역(106)은 하나 이상의 카메라(100)에 의해 모니터링될 수 있다. 객체(102)는 문, 사람, 동물, 차량, 자동차의 번호판 등과 같은 임의의 객체를 포함할 수 있다.
카메라(110)는 가시광, 적외광 및/또는 다른 비가시 전자기 방사선(예를 들어, 자외선, 원적외선, 테라 헤르쯔 방사선, 마이크로파 방사선 등)을 사용하여 이미지 데이터를 캡처할 수 있다. 카메라(110)는 열 화상 카메라 및/또는 레이더 영상을 위한 레이더를 포함할 수 있다. 캡처된 이미지 데이터는 연속적인 이미지 시퀀스(예를 들어, 비디오), 제한된 이미지 시퀀스, 정지 이미지 및/또는 이들의 조합을 포함할 수 있다. 카메라(110)는 이미지를 캡처하고 디지털화하기 위한 디지털 카메라 및/또는 이미지를 캡처하고 아날로그 포맷으로 이미지 데이터를 저장하기 위한 아날로그 카메라를 포함할 수 있다.
카메라(110)는 하나 이상의 2차원 어레이(들)(예를 들어, 이미지 데이터 또는 비디오 데이터)에 배열된 데이터를 생성하는 센서를 포함할 수 있다. 본 명세서에 사용된 바와 같이, "비디오 데이터" 및 "비디오"는 보다 일반적으로 각각 "이미지 데이터" 및 "이미지"로 지칭될 수 있다. 따라서, "이미지 데이터" 또는 "이미지"는 다른 언급이 없는 한 "비디오 데이터" 및 "비디오"를 포함하는 것을 의미한다. 마찬가지로, "비디오 데이터" 또는 "비디오"는 다르게 언급되지 않는 한 정지 이미지를 포함할 수 있다.
다른 모니터링 장치 또는 센서는 모니터링된 영역(106)으로부터 정보를 캡처할 수 있다. 예를 들어, 움직임 검출기(예를 들어, 카메라가 아닌 어떤 것)가 영역(106-1) 내의 움직임을 검출할 수 있다. 움직임 검출기는 근접 센서, 자기 센서, 침입 센서, 압력 센서, 적외선 센서, 레이더 센서 및/또는 방사선 센서를 포함할 수 있다. 다른 예로서, 연기 감지기는 영역(106-1)에서 연기를 감지할 수 있다. 연기 감지기에는 열 감지기가 포함될 수도 있다.
모니터링 스테이션들(125-1 내지 125-N)은 디스플레이들(130-1 내지 130-N)(각각 개별적으로는 "모니터링 스테이션(125)" 및 "디스플레이(130)")에 결합된다. 일 실시예에서, 모니터링 스테이션들(125-1 내지 125-N)은 또한 시각 추적기들(140-1 내지 140-N)(개별적으로 "시각 추적기(140)")에 연결된다. 모니터링 스테이션(125) 및 디스플레이(130)는 카메라(100)에 의해 형성된 이미지를 조작자(도 1에는 도시하지 않음)가 볼 수 있게 한다. 시각 추적기(140)는 디스플레이(130)를 보는 조작자의 시선을 추적한다. 각 모니터링 스테이션(125-x), 디스플레이(130-x) 및 시각 추적기(140-x)는 조작자가 환경(100)에 도시된 모니터링 시스템과 상호 작용하는 "클라이언트"일 수 있다.
디스플레이(130)는 하나 이상의 카메라(110)로부터 비디오 스트림(들)을 수신하여 디스플레이한다. 단일의 디스플레이(130)는 단일 카메라(110) 또는 다수의 카메라(110)로부터(예를 들어, 디스플레이(130)상의 다중 프레임 또는 윈도우에서) 이미지를 보여줄 수 있다. 단일의 디스플레이(130)는 또한 단일의 카메라로부터이지만 다른 프레임으로 이미지를 보여줄 수 있다. 즉, 단일 카메라는 예를 들어 광각 또는 어안 렌즈를 포함할 수 있고, 다수의 영역(106)의 이미지를 제공할 수 있다. 상이한 영역(106)으로부터의 이미지는 분리되어 상이한 윈도우 및/또는 프레임에서 개별적으로 디스플레이(130)상에 표시될 수 있다. 디스플레이(130)는 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 LED(OLED) 디스플레이, CRT 디스플레이, 플라즈마 디스플레이, 레이저 비디오 디스플레이, 전기 영동 디스플레이, 양자점 디스플레이, 비디오 프로젝터 및/또는 임의의 다른 유형의 디스플레이 장치일 수 있다.
시각 추적기(140)는 VMS(150)(또는 환경(100) 내의 임의의 장치)가 조작자의 눈이 어디에 집중하고 있는지를 결정할 수 있게 하는 센서(예를 들어, 카메라)를 포함한다. 예를 들어, 한 세트의 근적외선 광선이 조작자의 눈을 향하여, 조작자의 각막에 반사를 일으킬 수 있다. 반사는 조작자의 시선 영역을 결정하기 위해 시각 추적기(140)에 포함된 카메라에 의해 추적될 수 있다. 시선 영역은 시선 포인트 및 중심 초점 영역을 포함할 수 있다. 예를 들어, 조작자는 모니터링 스테이션(125)의 디스플레이(130) 앞에 앉을 수 있다. 시각 추적기(140)는 조작자가 디스플레이(130)의 어느 부분에 집중하고 있는지를 결정한다. 각 디스플레이(130)는 단일의 시각 추적기(140)와 연관될 수 있다. 이 경우에, 시각 추적기(140)는 조작자가 어느 디스플레이 및/또는 해당 디스플레이(130)의 어느 부분에 집중하고 있는지를 결정할 수 있다.
시각 추적기(140)는 또한 사용자의 존재, 주의 수준, 집중, 졸음, 생각 및/또는 그 외 상태를 결정할 수 있다. 시각 추적기(140)는 또한 사용자의 신원을 결정할 수 있다. 시각 추적기(140)의 정보는 시간 경과에 따른 조작자 행동을 간파하거나 조작자의 현 상태를 결정하기 위해 사용될 수 있다. 몇 구현 예에서, 디스플레이(130) 및 시각 추적기(140)는 조작자가 착용한 가상 실현 (VR) 헤드셋으로 구현될 수 있다. 조작자는 하나 이상의 카메라(110)를 VR 헤드셋에의 입력으로 이용하여 영역(106)의 가상 검사를 수행할 수 있다.
네트워크(120)는 하나 이상의 회선 교환 네트워크 및/또는 패킷 교환 네트워크를 포함할 수 있다. 예를 들어, 네트워크(120)는 근거리 통신망(Local Area Network; LAN), 원거리 통신망(Wide Area Network; WAN)), 도시 지역 통신망(Metropolitan Area Network; MAN), 공중 교환 전화망(Public Switched Telephone Network; PSTN), 애드혹 네트워크, 인트라넷, 인터넷, 광섬유 기반 네트워크, 무선 네트워크 및/또는 이들 또는 다른 유형의 네트워크의 조합을 포함할 수 있다.
VMS(150)는 카메라(110), 디스플레이 장치(130) 및/또는 시각 추적 시스템(140)의 동작을 조정하는, 예를 들어 서버 장치와 같은 하나 이상의 컴퓨터 장치를 포함할 수 있다. VMS(150)는 카메라(110)로부터 이미지 데이터를 수신하고 저장한다. VMS(150)는 또한 모니터링 스테이션(125)의 조작자가 VMS(150)에 저장된 이미지 데이터 또는 카메라(110)로부터 스트리밍된 이미지 데이터를 볼 수 있도록 사용자 인터페이스를 제공할 수 있다.
몇 실시예에서, 환경(100)은 별도의 VMS(150)를 포함하지 않는다. 대신에, VMS(150)에 의해 제공되는 서비스는 모니터링 스테이션(125) 및/또는 카메라(110) 자체에 의해 또는 환경(100)에서의 장치들 간에 분산되는 방식으로 제공된다. 유사하게, VMS(150)는 카메라(110)에 의해 수행되는 것으로 기술된 동작을 수행할 수 있다. 예를 들어, VMS(150)는 카메라(110) 대신에 움직임을 검출하기 위해 이미지 데이터를 분석할 수 있다.
도 1은 환경(100)의 예시적인 구성 요소를 도시하고 있지만, 다른 구현 예에서, 환경(100)은 도 1에 도시된 것보다 적은 수의 구성 요소, 다른 구성 요소, 다르게 배치된 구성 요소 또는 추가 구성 요소를 포함할 수 있다. 부가적으로 또는 대안적으로, 임의의 하나의 장치(또는 임의의 장치 그룹)는 하나 이상의 다른 장치에 의해 수행되는 것으로 기술된 기능을 수행할 수 있다.
도 2는 일 실시예에서 카메라의 예시적인 구성 요소들을 도시한 블럭도이다. 도 2에 도시된 바와 같이, 카메라(110)는 광학 체인(210), 센서 어레이(220), 버스(225), 이미지 프로세서(230), 제어기(240), 메모리(245), 비디오 인코더(250) 및/또는 통신 인터페이스(260)를 포함할 수 있다. 일 실시예에서, 카메라(110)는 카메라(110)를 패닝(panning), 틸팅(tilting) 및 주밍(zooming)하기 위한 하나 이상의 모터 제어기(270)(예를 들어, 3개) 및 하나 이상의 모터(272)(예를 들어 3개)를 포함할 수 있다.
광학 체인(210)은 입사 방사선(예를 들어, 광, 가시광, 적외선, 밀리미터파 등)을 센서 어레이(220)로 지향시켜 입사 방사선에 기초하여 이미지를 포착하기 위한 엔클로저를 포함한다. 광학 체인(210)은 모니터된 영역으로부터 입사 방사선을 수집하여 센서 어레이(220) 상에 포커싱하는 렌즈(212)를 포함한다.
센서 어레이(220)는 센서 어레이(220)에 입사하거나 떨어진 방사선(예를 들어, 빛)을 등록, 감지 및 측정하기 위한 센서 어레이를 포함할 수 있다. 방사선은 가시광선 파장 범위, 적외선 파장 범위 또는 다른 파장 범위에 있을 수 있다. 센서 어레이(220)는 예를 들어 전하 결합 소자(CCD) 어레이 및/또는 액티브 픽셀 어레이(예를 들어, 상보형 금속 산화물 반도체(CMOS) 센서 어레이)를 포함할 수 있다. 센서 어레이(220)는 또한 (예를 들어, 카메라(110)가 열 카메라 또는 검출기를 포함하는 경우) 마이크로볼로미터(microbolometer)를 포함할 수 있다.
센서 어레이(220)는 센서 어레이(220)에 입사하는 방사선(예를 들어, 광)을 나타내는 데이터를 출력한다(예를 들어, 속성 또는 특성을 기술한다). 예를 들어, 센서 어레이(220)로부터 출력된 데이터는, 센서 어레이(220)의 하나 이상의 픽셀에 입사하는 빛의 강도(예를 들어, 휘도), 색 등의 정보를 포함할 수 있다. 센서 어레이(220)에 입사하는 광은, 광학 체인(210)의 렌즈들의 결과로서 광이 집중된다는 점에서 "이미지"일 수 있다.
센서 어레이(220)는 센서 어레이(220)에 떨어지는 이미지를 감지하기 때문에 "이미지 센서"로 간주될 수 있다. 본 명세서에서 사용된 바와 같이, "이미지"는 센서 어레이(220)에 입사하는 방사선을 나타내는 데이터를 포함한다(예를 들어, 광의 속성이나 특성을 기술함). 따라서, "이미지"라는 용어는 "이미지 센서 데이터" 또는 이미지를 기술하는 임의의 데이터 또는 데이터 세트를 의미하는데 사용될 수도 있다. 또한, "픽셀"은 방사선의 측정(들)(예를 들어, 센서 어레이(220)상에 입사하는 광의 지표인 측정치)이 취해지는 센서 어레이(220)의 임의의 영역 또는 구역을 의미할 수 있다. 픽셀은 센서 어레이(220) 내의 하나 이상의 (또는 하나보다 적은) 센서(들)에 대응할 수 있다. 대안적인 실시예에서, 센서(240)는 이미지를 형성하기 위해 스캐닝 하드웨어 (예를 들어, 회전 거울)를 사용할 수 있는 선형 어레이거나 이미지 센서 데이터를 생성하기 위해 이미지 프로세서(230) 및/또는 제어기(240)에 의존하는 비선형 센서일 수 있다. 비디오 인코더(250)는 스테이션(125) 및/또는 VMS(150)와 같은 환경(100) 내의 다른 장치로의 전송을 위해 이미지 센서 데이터를 인코딩할 수 있다. 비디오 인코더(250)는 ISO/MPEG 또는 ITU-H.26X 계열의 비디오 코딩 표준과 같은 비디오 코딩 기술을 사용할 수 있다.
버스(225)는 카메라(110) 내의 구성 요소들이 서로 통신할 수 있게 하는 통신 경로이다. 제어기(240)는 카메라(110)의 동작을 제어 및 조정할 수 있다. 제어기(240) 및/또는 이미지 프로세서(230)는 센서 어레이(220)에 의해 캡처된 이미지 데이터에 대해 신호 처리 동작을 수행한다. 제어기(240) 및/또는 이미지 프로세서(230)는 임의의 유형의 단일 코어 또는 멀티 코어 프로세서, 마이크로프로세서, 래치 기반 프로세서, 및/또는 명령을 해석하고 실행하는 프로세싱 로직(또는 프로세서, 마이크로프로세서 및/또는 프로세싱 로직의 계열)을 포함할 수 있다. 제어기(240) 및/또는 이미지 프로세서(230)는 그래픽 처리 장치(graphics processing unit; GPU), 범용 그래픽 처리 장치(General Purpose Graphics Processing Unit; GPGPU), 셀(Cell), 전계 프로그래머블 게이트 어레이(field programmable gate array; FPGA), 주문형 집적 회로(ASIC), 및/또는 다른 유형의 집적 회로나 처리 로직 등과 같은 하드웨어 가속기를 포함하거나 이에 결합될 수 있다.
제어기(240)는 또한 카메라(110)의 원하는 초점과 위치(예를 들어, 틸트 및 줌)를 결정하고 조절할 수 있다. 이를 위해, 제어기(240)는 하나 이상의 모터(272)가 카메라(110) 또는 선택적으로 줌 렌즈(212)를 기울이고/이거나 상하좌우로 회전하게 하도록 하나 이상의 모터 제어기(270)에 명령을 보낸다.
메모리(245)는 정보 및/또는 명령들을 저장하는 임의의 유형의 휘발성 및/또는 비휘발성 저장 장치를 포함할 수 있다. 메모리(245)는 RAM(random access memory) 또는 임의의 유형의 동적 저장 장치, 판독 전용 메모리(ROM) 장치 또는 임의 유형의 정적 저장 장치, 자기 또는 광학 기록 메모리 장치 및 그 대응 드라이브, 또는 이동식 메모리 장치를 포함할 수 있다. 메모리(245)는 프로세서 카메라(110)에 의한 사용을 위해 정보 및 명령들(예를 들어, 애플리케이션 및/또는 운영 시스템) 및 데이터(예를 들어, 애플리케이션 데이터)를 저장할 수 있다.
메모리(245)는 제어기(240) 및/또는 이미지 프로세서(230)에 의해 실행하기 위한 명령을 저장할 수 있다. 소프트웨어 명령은 다른 컴퓨터 판독 가능 매체 또는 다른 장치로부터 메모리(245)로 판독될 수 있다. 소프트웨어 명령은 제어기(240), 비디오 인코더(260) 및/또는 이미지 프로세서(230)가 본 명세서에서 설명된 프로세스를 수행하게 할 수 있다. 예를 들어, 카메라(110)는 메모리(245)에 저장된 소프트웨어 명령을 실행하는 제어기(240), 비디오 인코더(250) 및/또는 이미지 프로세서(230)에 응답하여 이미지 처리(예를 들어, 인코딩, 트랜스코딩, 객체 검출 등)에 관한 동작을 실행할 수 있다. 대안으로, 하드와이어 회로(예를 들어, 로직)가 본 명세서에서 설명된 프로세스를 구현하기 위해 소프트웨어 명령 대신에 또는 소프트웨어 명령과 함께 사용될 수 있다.
통신 인터페이스(260)는 입력 및/또는 출력 포트, 입력 및/또는 출력 시스템, 및/또는 다른 장치로의 데이터 전송을 용이하게 하는 다른 입력 및 출력 구성 요소를 포함하는 회로 및 로직 회로를 포함한다. 예를 들어, 통신 인터페이스(260)는 유선 통신용 네트워크 인터페이스 카드(예를 들어, 이더넷 카드) 또는 무선 통신용 무선 네트워크 인터페이스(예를 들어, WiFi) 카드를 포함할 수 있다.
도 2는 다른 구현 예로 카메라(110)의 예시적인 구성 요소를 도시하고 있지만, 카메라(110)는 도 2에 도시된 것보다 적은 수의 구성 요소, 다른 구성 요소, 상이하게 배치된 구성 요소 또는 추가 구성 요소를 포함할 수 있다. 추가적으로 또는 대안적으로, 카메라(110)의 하나 이상의 구성 요소는 카메라(110)의 하나 이상의 다른 구성 요소에 의해 수행되는 것으로 기술된 기능을 수행할 수 있다. 예를 들어, 제어기(240)는 이미지 프로세서(230)에 의해 실행되는 것으로 기술된 기능을 실행하거나, 그 반대일 수 있다. 선택적으로 또는 부가적으로, 카메라(110)는 도 3과 관련하여 후술되는 컴퓨팅 모듈을 포함할 수 있다.
도 3은 일 실시예에서 컴퓨팅 모듈의 예시적인 구성 요소들을 도시하는 블럭도이다. VMS(150), 시각 추적 시스템(140) 및/또는 디스플레이 장치(130)와 같은 장치는 하나 이상의 컴퓨팅 모듈(300)을 포함할 수 있다. 도 3에 도시된 바와 같이, 컴퓨팅 모듈(300)은 버스(310), 프로세서(320), 메모리(330) 및/또는 통신 인터페이스(360)를 포함할 수 있다. 일부 실시예에서, 컴퓨팅 모듈(300)은 입력 장치(34) 및/또는 출력 장치(350)를 또한 포함할 수 있다.
버스(310)는 컴퓨팅 모듈(300)의 구성 요소나 다른 장치들 간의 통신을 허용하는 경로를 포함한다. 프로세서(320)는 명령을 해석하고 실행하는 임의 유형의 단일 코어 프로세서, 멀티 코어 프로세서, 마이크로프로세서, 래치 기반 프로세서 및/또는 프로세싱 로직(또는 프로세서, 마이크로프로세서 및/또는 프로세싱 로직의 계열)을 포함할 수 있다. 프로세서(320)는 ASIC, FPGA, 및/또는 다른 유형의 집적 회로 또는 프로세싱 로직을 포함할 수 있다. 프로세서(320)는 GPU, GPGPU, 셀, FPGA, ASIC 및/또는 다른 유형의 집적 회로 또는 프로세싱 로직과 같은 하드웨어 가속기를 포함하거나 그에 결합될 수 있다.
메모리(330)는 정보 및/또는 명령들을 저장하는 임의의 유형의 휘발성 및/또는 비휘발성 저장 장치를 포함할 수 있다. 메모리(330)는 RAM 또는 임의의 유형의 동적 저장 장치, ROM 또는 임의의 유형의 정적 저장 장치, 자기 또는 광학 기록 장치 및 그 대응 드라이브, 또는 착탈식 메모리 장치를 포함할 수 있다. 메모리(330)는 프로세서(320)에 의한 사용을 위해 정보 및 명령들(예를 들어, 애플리케이션 및 운영 시스템) 및 데이터(예를 들어, 애플리케이션 데이터)를 저장할 수 있다.
메모리(330)는 프로세서(320)에 의한 실행을 위한 명령을 저장할 수 있다. 소프트웨어 명령은 다른 컴퓨터 판독 가능 매체 또는 다른 장치로부터 메모리(330)로 판독될 수 있다. 소프트웨어 명령은 프로세서(320)가 본 명세서에 기술된 프로세스를 수행하게 할 수 있다. 대안으로, 하드웨어 회로(예를 들어, 로직)는 소프트웨어 명령 대신에 또는 소프트웨어 명령과 함께 사용되어 본 명세서에 기술된 프로세스들을 구현하는 데에 사용될 수 있다.
운영 체제는 컴퓨팅 모듈(300)의 하드웨어 및 소프트웨어 자원을 관리하기 위한 소프트웨어 명령을 포함한다. 예를 들어, 운영 체제는 리눅스, 윈도우즈, OS X, 안드로이드, 임베디드 운영 체제 등을 포함할 수 있다. 애플리케이션 및 애플리케이션 데이터는 특정 컴퓨팅 모듈(300)이 발견되는 장치에 따라, 네트워크 서비스를 제공하거나 애플리케이션을 포함할 수 있다.
통신 인터페이스(360)는 컴퓨팅 모듈(300)이 다른 구성 요소, 장치 및/또는 시스템과 통신할 수 있게 하는 송신기 및/또는 수신기(예를 들어, 송수신기)를 포함할 수 있다. 통신 인터페이스(360)는 무선 통신(예컨대, 무선 주파수, 적외선 등), 유선 통신, 또는 이들의 조합을 통해 통신할 수 있다. 통신 인터페이스(360)는 기저 대역 신호를 무선 주파수(RF) 신호로 또는 그 반대로 변환하는 트랜시버를 포함할 수 있으며 안테나에 연결될 수 있다.
통신 인터페이스(360)는 입력 및/또는 출력 포트, 입력 및/또는 출력 시스템, 및/또는 그 외 다른 장치로의 데이터 전송을 용이하게 하는 다른 입력 및 출력 구성 요소를 포함하는 논리 구성 요소를 포함할 수 있다. 예를 들어, 통신 인터페이스(360)는 유선 통신용 네트워크 인터페이스 카드(예를 들어, 이더넷 카드) 또는 무선 통신용 무선 네트워크 인터페이스(예를 들어, WiFi) 카드를 포함할 수 있다.
일부 장치는 또한 입력 장치(340) 및 출력 장치(350)를 포함할 수 있다. 입력 장치(340)는 사용자가 정보를 컴퓨팅 모듈(300)에 입력할 수 있게 한다. 입력 장치(370)는 키보드, 마우스, 펜, 마이크로폰, 카메라, 터치스크린 디스플레이 등을 포함할 수 있다.
출력 장치(350)는 사용자에게 정보를 출력할 수 있다. 출력 장치(350)는 디스플레이, 프린터, 스피커 등을 포함할 수 있다. 입력 장치(340) 및 출력 장치(350)는 사용자가 컴퓨팅 모듈(300)에 의해 실행되는 애플리케이션과 상호 작용할 수 있게 한다. "헤드리스" 장치 (배치된 원격 카메라 등)의 경우, 입력 및 출력은 입력 장치(340) 및 출력 장치(350)보다는 주로 통신 인터페이스(360)를 통해 이루어진다.
컴퓨팅 모듈(300)은 데이터 수신, 송신 및/또는 처리를 보조하는 다른 구성 요소(미도시)를 포함할 수 있다. 또한, 컴퓨팅 모듈(300)의 구성 요소의 다른 구성도 가능하다. 다른 구현 예에서, 컴퓨팅 모듈(300)은 도 3에 도시된 것보다 적은 수의 구성 요소, 다른 구성 요소, 추가 구성 요소 또는 상이하게 배치된 구성 요소를 포함할 수 있다. 부가적으로 또는 대안적으로, 컴퓨팅 모듈(300)의 하나 이상의 구성 요소는 컴퓨팅 모듈(300)의 하나 이상의 다른 구성 요소에 의해 수행되는 것으로 기술된 하나 이상의 작업을 수행할 수 있다.
도 4는 조작자(402)가 시각 추적기(140)를 구비한 디스플레이(130)를 보고 있는 예시의 환경을 도시한다. 디스플레이(130)는 조작자(402)에게 정보를 보여주기 위한 임의의 유형의 디스플레이를 포함할 수 있다. 조작자(402)는 디스플레이(130)를 보고, 모니터링 스테이션(125)에서 실행되는 애플리케이션을 통해 VMS(150)와 상호 작용할 수 있다. 예를 들어, 조작자(402)는 영역(106)의 비디오를 볼 수 있다. 규칙에 따라, 영역(106)에 움직임이 있을 때 모니터링 스테이션(125)은 경보를 울릴 수 있다. 이어서, 조작자(402)는 모니터링 스테이션(125)에서 실행되는 애플리케이션과 상호 작용하는 키보드를 통해 경보를 안 나게 하는 것으로 응답할 수 있다.
시각 추적기(140)는 모니터링 스테이션(125)으로 하여금 조작자(402)의 눈이 어디에 집중하고 있는지를 결정하게 하는 센서(예를 들어, 카메라)를 포함한다. 도 4에서, 예를 들어, 조작자(402)는 디스플레이(130) 앞에 앉아 있고 시각 추적기(140)의 센서는 조작자(402)의 눈을 감지한다. 예를 들어, 시각 추적기(140)는 시선 포인트(410)를 결정하고, 시선 포인트는 디스플레이(130)상의 위치로서(예를 들어, 픽셀 값) 나타낼 수 있다. 조작자와 디스플레이(130)의 상대적 위치에 기초하여, 조작자(402)의 중심 시각에 대응하는 중심 시각 영역(420)(또는 "영역(420)")이 추정될 수 있다. 중심 시각은 눈의 상세한 시각적 인식에 해당하며 1-2도 정도이다. 따라서, 디스플레이(130)상의 영역(420)은 완전한 시력을 가진 조작자(402)의 시야의 일부에 대응하는 것으로 연산되며 이해될 수 있다. 대안적인 실시예에서, 영역(420)은 특정 조작자(402)에 대한 설정 과정 중에 실험적으로 결정될 수 있다. 영역(420)은 조작자(402)의 주변 시야에 대응하는 중심 시각 영역(420) 외부의 주변 시야 영역(430)에 대비된다. 시선 포인트(410)는 대략 영역(420)의 중심에 있고 시선 포인트(410)로부터 조작자(402)의 눈에 이르는 시선에 대응한다. 일 실시예에서, 시선 포인트(410)를 식별하는 정보는 비디오 관리 시스템(150)에 전송될 수 있다.
도 5a는 조작자(402)의 관점에서 본 디스플레이(130)를 도시한다. 도 5a에서 도시된 바와 같이, 디스플레이(130)는 시선 포인트(410), 중심 시각 영역(420) 및 주변 시야 영역(430)을 포함한다. 디스플레이(130)는 또한 비디오 스트림이 조작자(402)에게 제공되는 비디오 프레임(520)을 포함한다. 이 예에서, 프레임(520)은 움직이고 있는 것으로 보이는 개인과 문을 포함하고 있는 상황인, 영역(106-1)의 카메라(110-1)로부터의 비디오 스트림을 나타낸다. 조작자(402)의 중심 시각 영역(420)은 개인을 둘러싸고, 시선 포인트(410)는 바로 개인의 얼굴 위에 있다. 한편, 프레임(520)에 디스플레이된 문은 조작자(402)의 주변 시야 영역(430)에 나타난다. 아래에서 보다 상세하게 설명되는 일 예에서, 움직임이 영역(106-1)에서 감지될 때, 스테이션(125-1)은 디스플레이(130)의 윈도우(522A)에 다음과 같은 경고를 표시한다: 영역(106-1) 내 움직임 경고.
시선 포인트(410) 및/또는 영역(420)의 위치에 기초하여, 비디오 스트림을 인코딩할 때 인터프레임 내의 블럭에 대한 상이한 업데이트 속도가 특정될 수 있으므로, 시각 추적기(140)에 의해 생성된 정보는 카메라(110)에 대한 사용자 입력으로서 해석될 수 있다(비디오 관리 시스템(150)을 통해 가능). 예를 들어, 시각 추적기(140-1)가 조작자(402)가 도 5a에 도시된 바와 같이 사람의 상반부를 보고 있는 것으로 결정하면, 영역(420)에 있는 비디오 데이터(예를 들어, 블럭들)는 인코딩 동안 인터프레임들을 생성할 때 움직임 및/또는 공간 세부 사항을 보존하기 위해 업데이트될 수 있다. 한편, 영역(420) 외부에 있는 비디오 데이터는 인터프레임의 전부 또는 일부를 생성할 때 사용되는 스킵 블럭을 갖도록 지정될 수 있으므로, 비트 레이트를 감소할 만큼 빈번하게 업데이트되지 않는다.
도 5b는 또한 조작자(402)의 관점에서 본 디스플레이(130)를 도시한다. 그러나, 도 5a와 비교하여, 도 5b의 디스플레이(130)는 수많은 프레임들(520-1 내지 520-N)(개별적으로 "프레임(520-x)", 복수로는 "프레임들(520)")을 보이고 있다. 각각의 프레임(520-1 내지 520-N)은 조작자(402)가 하나 이상의 영역을 모니터링할 수 있도록 상이한 비디오 스트림을 제공할 수 있다. 상이한 스트림은 상이한 카메라(110-1 내지 110-M)에 의해 생성될 수 있다. 선택적으로 또는 추가적으로, 각각의 프레임(520-1 내지 520-N)은 공통 카메라(110-x)에 의해 생성된 상이한 스트림을 디스플레이할 수 있다. 예를 들어, 카메라(110-x)는 "어안(fisheye)" 렌즈를 사용하여 확장된 각도 영역으로부터 비디오를 캡처할 수 있다. 비디오는 어안 렌즈에 의해 도입된 왜곡을 감소시키고 확장된 각도 영역을 프레임들(520-1 내지 520-N)에 개별적으로 제공될 수 있는 상이한 영역에 대응하는 개별적인 비디오 스트림으로 분리하도록 처리될 수 있다. 도 5a에서와 같이, 도 5b의 디스플레이(130)는 시선 포인트(410), 중심 시각 영역(420) 및 주변 시야 영역(430)을 포함한다.
이 예에서, 프레임(520-1)은 영역(106-1)의 카메라(110-1)로부터의 비디오 스트림을 보여줄 수 있고; 비디오 프레임(520-2)은 영역(106-2)(도시 생략)의 카메라(110-2)로부터의 비디오 스트림을 보여줄 수 있는 등이다(도시되지 않음). 도 5b의 조작자(402)의 중심 시각 영역(420)은 대다수 프레임(520-1)을 포함하고 시선 포인트(410)는 개인의 얼굴에 가깝다. 프레임(520)에 디스플레이된 문은 또한 중심 시각 영역(420)에 있다. 한편, 다른 프레임(520-2 내지 520-N)은 조작자(402)의 주변 시야 영역(430)에 있다.
시선 포인트(410) 및/또는 중심 시각 영역(420)의 위치는 다른 프레임들(520)과는 다른 후속 프로세싱을 위해 특정 프레임(520-x)을 선택 및/또는 지정하는데 사용될 수 있다. 예를 들어, 도 5b에 도시된 바와 같이, 시선 포인트(410)는 프레임(520-1)이 조작자에게 관심 프레임이라는 것을 지시하기 위해 사용될 수 있다. 따라서, 비디오 모니터링 시스템은 프레임(520-1)에서의 비디오 스트림의 제공을 개선하기 위해 프레임(520-1)에 더 많은 자원(예를 들어, 대역폭 및/또는 프로세싱 자원)를 할당할 수 있고, (예를 들어, 주변 시야에서) 조작자의 초점이 아닌 프레임에 대응하는 다른 스트림에 할당되는 자원을 줄일 수 있다. 구체적으로, 시각 추적기(140-1)가 조작자(402)가 도 5b에 도시된 바와 같이 프레임(520-1)을 보고 있다고 결정하면, 영역(420)에 있는 비디오 데이터는 인코딩 동안 인터프레임을 생성할 때 움직임 및/또는 공간 세부 사항을 보존하기 위해 업데이트될 수 있다. 한편, 영역(420) 외부에 있는 다른 프레임들(520-2 내지 520-N)에 대한 비디오 데이터는 인터프레임들을 생성하는데 사용되는 스킵 블럭들을 갖도록 지정될 수 있으므로, 블럭들은 프레임들(520-2 내지 520-N)에서 비트 레이트를 감소시킬 만큼 빈번하게 업데이트되지 않는다.
또한, 도 6은 시선 감지에 기초하여 비디오 데이터를 디코딩하는 예시적인 프로세스(600)를 도시하는 흐름도이다. 일 실시예에서, 프로세스(600)는 프로세서(320)의 명령을 실행하는 것으로 클라이언트 장치(예를 들어, 모니터링 스테이션; 125-x), 시각 추적기(140-x) 및 디스플레이(130-x))에 의해 수행될 수 있다. 명령은 메모리(330)에 저장될 수 있다. 다른 실시예에서, 프로세스(600)는 VMS(150)에 의해 수행될 수 있다.
일 실시예에서, 프로세스(600)는 초기에 카메라(110)와 관련된 인코더(예를 들어, 비디오 인코더(250))로부터 수신된 인코딩된 비디오 스트림을 디코딩하는 단계를 포함할 수 있다(블럭 610). 네트워크(120)를 통해 모니터링 스테이션(125)에서 수신될 수 있는 인코딩된 비디오 스트림은 모니터링된 영역(106-x)의 객체(102-x)를 촬영하는 카메라(110-x)에 의해 생성될 수 있다. 프로세스(600)는 모니터링 스테이션(125)의 디스플레이(130)상에 디코딩된 비디오 스트림을 제공하는 단계(블럭 615)와, 디스플레이(130)를 보는 조작자(402)의 시선 포인트(410)를 검출하는 단계(블럭 620)를 더 포함할 수 있다. 프로세스(600)는, 스킵 블럭 삽입 포인트로서, 시선 포인트(410)에 기초하여 디코딩된 비디오 스트림과 연관된 위치를 지정하는 단계(블럭 625)와, 이 위치를 비디오 인코더(250)에 전송하는 단계를 포함하고, 이로써 비디오 인코더(250)는 카메라(110)에 의해 생성된 비디오 데이터를 인코딩할 때 스킵 블럭 삽입 포인트에 대응하는 인터프레임 코딩된 블럭의 업데이트 속도를 감소시킬 수 있다.
프로세스(600)는 모니터링 스테이션(125)의 디스플레이(130)상에 조작자(402)의 주요 초점을 갖는 윈도우(520)에 디코딩된 비디오 스트림을 제공하는 단계와, 조작자(402)의 시선 포인트(410)가 조작자(402)의 주요 초점을 갖는 윈도우(520)의 경계 내에 있다고 결정하는 단계를 더 포함할 수 있다. 프로세스(600)는 조작자(402)의 주요 초점을 갖는 윈도우 내에서 중심 시각 영역(420)을 결정하는 단계를 더 포함할 수 있다. 디스플레이(130)상의 영역(420)은 조작자(402)와 디스플레이(130) 사이의 거리에 기초하여 연산될 수 있다. 프로세스(600)는 스킵 블럭 삽입 포인트로서 중심 시각 영역(420) 외부의 디코딩된 비디오 스트림과 연관된 위치를 지정하는 단계를 더 포함할 수 있다
다른 실시예에서, 모니터링 스테이션(125)은 하나 이상의 카메라(110)로부터 다수의 비디오 스트림을 수신하여 디스플레이(130)에 제공할 수 있다. 일 예시에서, 다수의 스트림은 넓은 시야(예를 들어, 360도)로부터 비디오를 수집하는, 어안 렌즈를 갖는 동일한 카메라(130-x)로부터 오고, 다음에 상이한 시야 부분들을 휨 방지하여 복수의 개별적인 왜곡되지 않은 비디오 스트림을 생성한다. 부가적으로 또는 대안으로, 다수의 비디오 스트림은 모니터링된 영역(106)의 상이한 부분을 수집할 수 있는 복수의 카메라(110)에 의해 생성될 수 있다. 따라서, 프로세스(600)는 하나 이상의 추가의 인코딩된 비디오 스트림(들)을 디코딩하는 단계와, 디코딩된 비디오 스트림 및 추가의 디코딩된 비디오 스트림(들)을 모니터링 스테이션(125)의 디스플레이(130)의 복수의 윈도우(520)와는 별도의 윈도우에 각각 제공하는 단계를 더 포함한다. 대안적으로, 추가의 비디오 스트림(들)이 모니터링 스테이션(125)의 추가 디스플레이상에 제공될 수 있다. 프로세스(600)는 시선 포인트(410)에 기초하여 조작자의 주요 초점을 갖는 다수의 윈도우(520) 중에서 하나의 윈도우(520-1)를 결정하고, 조작자(402)의 주요 초점을 갖지 않는 적어도 하나의 윈도우(520-2 내지 520-N)와 연관된 디코딩된 비디오 스트림 내의 스킵 블럭 삽입 포인트로서 위치를 지정하는 단계를 포함할 수 있다. 프로세스(600)는 시선 포인트(410)에 기초하여, 조작자(402)의 주요 초점을 갖는 윈도우(520-1) 내의 중심 시각 영역(420)을 결정하는 단계와, 조작자(402)의 주요 초점을 갖는 윈도우(520-1)와 연관된 디코딩된 비디오 스트림의 스킵 블럭 삽입 포인트으로서 중심 시각 영역(420) 외부의 위치를 지정하는 단계를 더 포함할 수 있다.
프로세스(600)는, 조작자(402)의 주요 초점을 갖지 않는 적어도 하나의 윈도우(520-2 내지 520-N)와 연관된 제2 디코딩된 비디오 스트림에 대한 픽쳐 그룹(GOP) 길이를 조작자(402)의 주요 초점을 갖는 윈도우(520-1)와 연관된 디코딩된 비디오 스트림에 대한 GOP 길이보다 더 길게 결정하는 단계와, 상기 결정된 GOP 길이를 조작자의 주요 초점을 갖지 않는 윈도두(들)(502-2 내지 502-N)와 연관된 비디오를 인코딩하기 위한 제2 디코딩된 비디오 스트림과 연관된 인코더(250)에 전송하는 단계를 더 포함한다. 프로세스(600)는 시선 포인트(410)로부터 조작자의 주요 초점을 갖지 않는 적어도 하나의 윈도우(예를 들어, 520-2 내지 520-N)까지의 거리를 결정하는 단계와, 상기 결정된 GOP 길이를 시선 포인트(410)와 조작자(402)의 주요 초점을 갖지 않는 적어도 하나의 윈도우(예를 들어, 520-2 내지 520-N) 사이의 거리가 증가함에 따라 증가시키는 단계를 더 포함할 수 있다.
GOP 길이와 관련하여, 전형적인 비디오 수집 시나리오는 초당 30 프레임으로 30개의 이미지의 GOP 길이를 갖는 I-프레임 및 P-프레임만을 사용할 수 있다. 이는 하나의 I-프레임 뒤에 29개의 P-프레임이 이어질 수 있음을 의미한다. 이러한 경우에, 조작자(402)에 의해 관찰되지 않는 영역의 매크로 블럭은 초당 1회 업데이트로 낮추어 질 수 있고, 반면에 관찰되고 있는 매크로 블럭은 초당 완전한 30회 업데이트일 수 있다. 더 낮은 업데이트 속도는 안정적인 업데이트 속도를 유지하면서 초당 2, 3 또는 5회의 업데이트로 설정될 수 있다. 업데이트 속도가 완벽하게 안정될 필요가 없다면 업데이트는 초당 1에서 30회 사이의 어느 값이나 가능하다. 일 실시예에서, GOP 길이는 시각 추적기(140)에 의해 결정된 바와 같이 조작자(402)의 초점에 기초하여 동적일 수 있다.
프로세스(600)는 시선 포인트(410)가 조작자(402)의 주요 초점을 갖는 윈도우(520-1) 내에서 이동함에 따라 시선 포인트(410)를 미리 설정된 임계치를 초과하는 시간 또는 거리 동안 추적하는 단계, 시선 포인트(410)의 움직임과 디코딩된 비디오 스트림 내의 움직이는 객체를 상관시키는 단계, 이 움직이는 객체를 관심 있는 객체로 지정하는 단계, 및 디코딩된 비디오 스트림에서 관심 객체와 연관된 위치에 대해 스킵 블럭 삽입 포인트로서의 위치 지정을 방지하는 단계를 더 포함한다. 프로세스(600)는 또한 지정된 관심 객체를 나타내는 식별자를 생성하는 단계와, 디코딩된 비디오 스트림의 메타 데이터를 포함하는 데이터베이스에 식별자를 저장하는 단계를 포함할 수 있다.
프로세스(600)는 시선 포인트(410)가 미리 결정된 임계치를 초과하는 시간 동안 디스플레이(130)상에서 실질적으로 동일한 위치에 유지된 것으로 결정하는 단계와, 시선 포인트(410) 주변의 미리 결정된 영역에서 디코딩된 비디오 스트림의 배율을 증가시키는 단계를 더 포함할 수 있다. 대안적으로, 프로세스(600)는 시선 포인트(410)가 조작자(402)의 주요 초점을 갖는 윈도우(520-1)상에서 미리 결정된 임계치를 초과하는 시간 동안 유지되었다고 결정하는 단계와, 조작자(402)의 주요 초점을 갖지 않는 다른 윈도우(520-2 내지 520-N)에 관하여 조작자의 주요 초점을 갖는 윈도우(520-1)의 배율을 증가시키는 단계를 포함할 수 있다.
프로세스(600)는 또한, 조작자(402)에 의한 깜박임의 결과로, 디스플레이(130)상에서 실질적으로 동일한 위치를 유지하면서, 시선 포인트(410)가 미리 정해진 시간 내에 미리 결정된 횟수로 사라지고 다시 나타났다고 결정하는 단계를 포함할 수 있다. 프로세스(600)는 또한 시선 포인트(410) 주변의 영역에서 디코딩된 비디오 스트림과 연관된 명령을 실행하는 단계를 더 포함할 수 있다. 프로세스(600)는 또한 시선 포인트 주변의 영역에서 디코딩된 비디오 스트림의 배율을 변경하는 단계, 또는 시선 포인트 주변 영역에서 디코딩된 비디오 스트림을 태깅하는 데이터베이스에 식별자를 저장하는 단계를 포함할 수 있다.
프로세스(600)는 일정 시간 시선 포인트(410)의 위치를 추적하는 단계와, 시선 포인트의 추적된 위치에 기초하여 시선 포인트의 다음 위치를 예측하는 단계를 더 포함할 수 있다. 예측은 공지된 추적 및/또는 통계적 추정 기술을 사용하여 수행될 수 있다. 따라서, 프로세스(600)는 시선 포인트(410)가 이동할 때와 그 위치와 관련된 인터프레임의 전체 갱신 속도가 달성될 때 사이의 지연을 최소화하거나 적어도 감소시킬 수 있다. 예를 들어, 카지노에서 사용되는 카메라(110)는 매우 낮은 레이턴시를 가질 것이 요구된다. 이러한 경우에, 지연은 매우 적어서 조작자자(402)는 시선 포인트(410)가 이동될 때마다 전체 업데이트 속도를 기다려야 하는 것에 의해 영향받지 않게 된다. 카메라(110)가 충분히 신속하게 반응하지 않으면, 상기 시선 포인트(410)의 상술한 예측이 사용될 수 있다.
스킵 블럭 삽입 포인트를 갖는 비디오 스트림을 디코딩하기 위해, 프로세스(600)는 스킵 블럭을 포함하는 인터프레임을 갖는 제1 구성 요소 비디오 스트림 및 제1 구성 요소 비디오 스트림 시퀀스보다 픽셀 밀도가 낮은 제2 구성 요소 비디오 스트림을 포함하는 병합 인코딩된 비디오 스트림을 수신하는 단계를 더 포함할 수 있고, 여기에서 제2 구성 요소 비디오 스트림은 상기 제1 구성 요소 비디오 스트림과 시간적 및 공간적으로 연관되어 있다. 프로세스(600)는 제1 구성 요소 비디오 스트림의 인터프레임들에서 스킵 블럭들을 식별하는 단계와, 스킵 블럭들이 아닌 블럭들에서 제1 구성 요소 비디오 스트림의 인터프레임들을 디코딩하는 단계를 더 포함할 수 있다. 프로세스(600)는 제2 구성 요소 비디오 스트림의 인터프레임을 디코딩하는 단계, 디코딩된 제1 구성 요소 비디오 스트림 내의 인터프레임들의 픽셀 밀도와 정합시키기 위해 디코딩된 제2 구성 요소 비디오 스트림의 인터프레임을 업스케일링하는 단계, 디코딩된 제1 구성 요소 비디오 스트림 내의 스킵 블럭 위치에 대응하는 업스케일링된 제2 구성 요소 비디오 스트림 내의 픽셀을 식별하는 단계, 디코딩된 제2 구성 요소 비디오 스트림에서 식별된 픽셀을 추출하는 단계, 및 추출된 픽셀을 디코딩된 제1 인코딩된 비트 스트림의 스킵 블럭의 대응하는 위치에 삽입하는 단계를 더 포함할 수 있다.
도 7은 시선 감지에 기초하여 비디오 데이터를 인코딩하기 위한 예시적인 프로세스(700)를 도시하는 흐름도이다. 일 실시예에서, 프로세스(700)는 제어기(240), 이미지 프로세서(230) 또는 비디오 인코더(250), 또는 이들의 임의의 조합에 대한 명령을 실행함으로써 카메라(110)에서 수행될 수 있다. 명령들은 공통 메모리(245)에 저장될 수 있고 및/또는 제어기(240), 이미지 프로세서(230) 및 비디오 인코더(250)에 전용인 개별 메모리들에 적어도 부분적으로 저장될 수 있다.
프로세스(700)는 적어도 하나의 센서 어레이(220)에 의해 캡처된 비디오 데이터를 수신하는 단계를 포함할 수 있다(블럭 710). 캡처된 비디오 데이터는 카메라(110)와 연관된 모니터링되는 영역(106)에 대응한다. 프로세스(700)는 수신된 비디오 데이터를 인코딩하기 위해 스킵 블럭 삽입 포인트를 지정하는 디코딩된 비디오 스트림과 관련된 위치를 수신하는 단계(블럭 715)를 더 포함할 수 있으며, 여기에서 위치는 시각 추적기(140)에 의해 결정된 시선 포인트(410)에 기초한다. 프로세스(700)는 수신된 위치에 기초하여 수신된 비디오 데이터를 인코딩하기 전에 스킵 블럭 삽입 포인트를 식별하는 단계(블럭 720)를 더 포함한다. 스킵 블럭 삽입 포인트는 업데이트 속도가 감소된 인터프레임 내의 블럭을 지정할 수 있다. 프로세스(700)는 식별된 스킵 블럭 삽입 포인트에 대해, 감소된 업데이트 속도에 대한 주파수를 결정하는 단계(블럭 725)를 포함할 수 있다. 주파수는 특정 블럭이 GOP 내의 인터프레임에서 초당 업데이트되는 횟수를 나타낼 수 있다. 프로세스(700)는 결정된 주파수에 기초하여 식별된 스킵 블럭 삽입 포인트와 연관된 블럭을 갖는 인터프레임을 인코딩하는 단계를 더 포함할 수 있다(블럭 730).
스킵 블럭 삽입 포인트를 갖는 비디오 스트림을 인코딩하기 위해, 프로세스(700)는 수신된 비디오 데이터로부터 제1 비디오 시퀀스를 생성하는 단계와, 제1 비디오 시퀀스보다 픽셀 밀도가 낮은 수신된 비디오 데이터로부터 제2 비디오 시퀀스를 생성하는 단계를 포함할 수 있다. 제2 비디오 시퀀스는 제1 비디오 시퀀스와 시간적 및 공간적으로 유사할 수 있다. 프로세스(700)는 제1 비디오 시퀀스에서의 관련성 있는 픽셀을 표시하는 단계를 더 포함할 수 있으며, 여기서 식별된 스킵 블럭 삽입 포인트는 관련성 없는 것으로서 지정되고, 제1 비디오 시퀀스에서 관련성 있는 것으로 지시된 픽셀을 인코딩하여 제1 인코딩된 비디오 스트림을 생성한다. 관련성 없는 것으로 지정된 픽셀은 스킵 블럭을 사용하여 인코딩될 수 있다. 프로세스(700)는 제2 비디오 시퀀스를 인코딩하여 제2 인코딩된 비디오 스트림을 생성하는 단계, 제1 인코딩된 비디오 스트림 및 제2 인코딩된 비디오 스트림을 병합하는 단계, 및 병합된 인코딩된 비디오 스트림을 모니터링 스테이션(125)에 전송하는 단계를 더 포함할 수 있다.
일 실시예에서, 제2 비디오 시퀀스를 생성하는 단계는 제1 비디오 시퀀스를 2차원적인 디지털 방식으로 다운샘플링하는 단계를 포함할 수 있다. 다른 실시예에서, 관련성 있는 픽셀을 지시하는 단계는 제1 비디오 시퀀스에 대한 마스크를 생성하는 단계를 포함할 수 있다.
전술한 명세서에서, 다양한 실시예가 첨부 도면을 참조하여 설명되었다. 그러나, 첨부된 청구 범위에 설명한 바와 같은 본 발명의 보다 넓은 범위를 벗어나지 않으면서 다양한 변형 및 변경이 이루어질 수 있으며, 추가 실시예가 구현될 수 있음이 명백할 것이다. 따라서, 명세서 및 도면은 제한적인 의미가 아니라 예시적인 의미로 간주되어야 한다.
예를 들어, 신호 및/또는 로직의 순서가 도 6 및 도 7과 관련하여 설명되었지만, 블럭들, 로직 흐름들, 및/또는 신호 흐름들의 순서는 다른 구현 예에서는 수정될 수 있다. 또한, 비의존적 블럭들 및/또는 신호 흐름들이 병렬로 수행될 수 있다.
본 출원은 본 특허 출원과 같은 날에 출원된 다음의 특허 출원을 참고 문헌으로 포함한다: 2016년 12월 30일자로 "시선 히트 맵(Gaze Heat Map)"이라는 발명의 명칭으로 제출된 미국 특허 출원 제15/395,893 호(대리인 관리 번호 P160085(0090-0018)); 2016년 12월 30일자로 "시선 제어된 비트 레이트(Gaze Controlled Bitrate)"라는 발명의 명칭으로 제출된 미국 특허 출원 제15/395,856호(대리인 관리 번호 P160069(0090-0022)); 및 2016년 12월 30일자로 "비디오 관리 시스템의 시선에 기초한 경보 마스킹"이라는 발명의 명칭으로 제출된 미국 특허 출원 제15/395,403호(대리인 관리 번호 P160191(0090-0023)).
전술한 시스템 및/또는 프로세스는 도면에 도시된 구현 예에서 소프트웨어, 펌웨어 및 하드웨어의 많은 상이한 형태로 구현될 수 있음이 명백할 것이다. 이러한 시스템 및 프로세스를 구현하는데 사용되는 실제 소프트웨어 코드 또는 특수 제어 하드웨어는 실시예를 제한하지 않는다. 따라서, 시스템 및 프로세스의 운전 및 동작은 특정 소프트웨어 코드를 참조하지 않고 설명되었지만, 소프트웨어 및 제어 하드웨어는 본 명세서의 설명에 기초하는 시스템 및 프로세스를 구현하도록 설계될 수 있는 것으로 이해된다.
또한, 전술한 특정 부분은 하나 이상의 기능을 수행하는 구성 요소로서 구현될 수 있다. 본 명세서에서 사용되는 구성 요소는 프로세서, ASIC, 또는 FPGA와 같은 하드웨어, 또는 하드웨어와 소프트웨어의 조합(예를 들어, 소프트웨어를 실행하는 프로세서)을 포함할 수 있다.
용어 "포함한다" 및 "포함하는"은 언급된 특징, 정수, 단계 또는 구성 요소의 존재를 특정하지만, 하나 이상의 다른 특징, 정수, 단계, 구성 요소 또는 이들의 그룹의 존재 또는 추가를 배제하지 않는다. "예시적인"이라는 단어는 하나 이상의 예에 대한 "예시, 사례 또는 실례를 제공"하는 것을 의미하는 데 사용된다. 본 명세서에서 "예시적인" 것으로 설명된 임의의 실시예는 반드시 다른 실시예보다 바람직하거나 유리한 것을 의미하지는 않는다.
본 출원에서 사용된 어떠한 요소, 동작 또는 명령도 명시적으로 기술되지 않는 한 실시예에 대해 결정적이거나 필수적인 것으로 해석되어서는 안된다. 또한, 본 명세서에서 사용되는 바와 같이, 단수로 기재한 항목은 하나 이상의 항목을 포함하는 것으로 의도된다. 또한, "~에 기초한"이라는 문구는 명시적으로 언급하지 않는 한, "적어도 부분적으로 기초하여"를 의미하는 것으로 의도된다.

Claims (15)

  1. 시선 감지에 기초하여 비디오 데이터를 디코딩하기 위한 방법에 있어서,
    카메라와 연관된 인코더로부터 수신된 인코딩된 비디오 스트림을 디코딩하는 단계 - 상기 비디오 스트림은 상기 카메라에 의해 캡쳐되고, 모니터링된 영역 및 움직이는 객체를 나타내는 비디오 데이터를 포함함 -;
    상기 디코딩된 비디오 스트림을 장치의 디스플레이상에 제공하는 단계;
    상기 디스플레이를 보고 있는 조작자의 시선 포인트를 검출하고, 상기 시선 포인트의 움직임을 추적하는 단계;
    상기 시선 포인트의 움직임과 상기 비디오 데이터 내의 상기 움직이는 객체의 움직임 사이에 결정된 상관관계를 기초로, 상기 비디오 데이터 내의 움직이는 객체를 관심 객체로 지정하는 단계;
    상기 시선 포인트에 기초하여, 상기 비디오 데이터의 프레임 내의 위치를 스킵 블록 삽입 포인트로 지정하는 단계 - 상기 프레임 내에 위치를 지정하는 것은 상기 관심 객체와 연관된 프레임 내의 위치에 대해서 스킵 블록 삽입 포인트를 지정하는 것을 방지하는 것을 포함함 - ; 및
    상기 인코더에 상기 스킵 블록 삽입 포인트를 전송하는 단계
    를 포함하고, 상기 인코더는 상기 카메라에 의해 생성된 비디오 데이터를 인코딩할 때 상기 스킵 블럭 삽입 포인트에 대응하는 인터프레임 코딩 블럭의 업데이트 속도를 감소시키는 방법.
  2. 제1항에 있어서,
    상기 장치의 상기 디스플레이에 상기 조작자의 주요 초점을 갖는 윈도우에 상기 디코딩된 비디오 스트림을 제공하는 단계;
    상기 조작자의 상기 시선 포인트가 상기 조작자의 상기 주요 초점을 갖는 상기 윈도우의 경계 내에 있다고 결정하는 단계;
    상기 조작자의 상기 주요 초점을 갖는 상기 윈도우 내에서 중심 시각 영역을 결정하는 단계; 및
    상기 중심 시각 영역 외부의 상기 디코딩된 비디오 스트림과 연관된 위치를 스킵 블럭 삽입 포인트로 지정하는 단계
    를 더 포함하는 방법.
  3. 제1항에 있어서,
    적어도 하나의 추가의 인코딩된 비디오 스트림을 디코딩하는 단계;
    상기 디코딩된 비디오 스트림 및 상기 적어도 하나의 추가의 디코딩된 비디오 스트림을 상기 장치의 상기 디스플레이 또는 상기 장치의 다른 디스플레이상의 복수의 윈도우로부터의 개별 윈도우에 각각 제공하는 단계;
    상기 시선 포인트에 기초하여, 상기 조작자의 주요 초점을 갖는 상기 복수의 윈도우중 하나의 윈도우를 결정하는 단계; 및
    상기 조작자의 상기 주요 초점을 갖지 않는 적어도 하나의 윈도우와 연관된 비디오 데이터의 프레임 내의 위치를 스킵 블럭 삽입 포인트로 지정하는 단계
    를 더 포함하는 방법.
  4. 제3항에 있어서,
    상기 시선 포인트에 기초하여, 상기 조작자의 상기 주요 초점을 갖는 상기 윈도우 내에서 중심 시각 영역을 결정하는 단계; 및
    상기 중심 시각 영역 외부에서, 상기 조작자의 상기 주요 초점을 갖는 상기 윈도우와 연관된 상기 비디오의 프레임 내의 위치를 스킵 블록 삽입 포인트로 지정하는 단계
    를 더 포함하는 방법.
  5. 제3항에 있어서,
    상기 조작자의 상기 주요 초점을 갖지 않는 상기 적어도 하나의 윈도우와 연관된 제2의 디코딩된 비디오 스트림의 픽쳐 그룹 (GOP) 길이를 상기 조작자의 상기 주요 초점을 갖는 상기 윈도우와 연관된 상기 디코딩된 비디오 스트림에 대한 상기 GOP 길이보다 더 크게 결정하는 단계; 및
    상기 조작자의 상기 주요 초점을 갖지 않는 상기 적어도 하나의 윈도우와 연관된 비디오를 인코딩하기 위해 상기 결정된 GOP 길이를 상기 제2의 디코딩된 비디오 스트림과 연관된 인코더에 전송하는 단계
    를 더 포함하는 방법.
  6. 제5항에 있어서,
    상기 시선 포인트로부터 상기 조작자의 상기 주요 초점을 갖지 않는 상기 적어도 하나의 윈도우까지의 거리를 결정하는 단계; 및
    상기 시선 포인트와 상기 조작자의 상기 주요 초점을 갖지 않는 상기 적어도 하나의 윈도우 간의 상기 거리가 증가함에 따라 상기 결정된 GOP 길이를 증가시키는 단계
    를 더 포함하는 방법.
  7. 제2항에 있어서,
    상기 시선 포인트의 움직임을 추적하는 단계는, 상기 시선 포인트가 상기 조작자의 주요 초점을 갖는 상기 윈도우 내에서 움직임에 따라 미리 결정된 임계치를 초과하는 시간이나 거리 동안 시선 포인트를 추적하는 것을 포함하고,
    상기 방법은 상기 비디오 데이터 내의 객체를 검출하는 단계를 더 포함하는 방법.
  8. 제7항에 있어서,
    상기 지정된 관심 객체를 나타내는 식별자를 생성하는 단계; 및
    상기 디코딩된 비디오 스트림의 메타데이터를 포함하는 데이터베이스에 상기 식별자를 저장하는 단계
    를 더 포함하는 방법.
  9. 제1항에 있어서,
    상기 시선 포인트의 위치를 일정 시간 추적하는 단계; 및
    상기 시선 포인트의 상기 추적된 위치에 기초하여 상기 시선 포인트의 다음 위치를 예측하는 단계
    를 더 포함하는 방법.
  10. 시선 감지에 기초하여 비디오 데이터를 인코딩하기 위한 방법에 있어서,
    적어도 하나의 센서 어레이에 의해 캡처된 비디오 데이터를 수신하는 단계 - 상기 비디오 데이터는 움직이는 객체를 포함하는 모니터링된 영역을 나타냄 - ;
    상기 수신된 비디오 데이터를 인코딩하기 위해 스킵 블럭 삽입 포인트를 지정하는 상기 비디오 데이터의 프레임 내의 위치를 수신하는 단계 - 상기 위치는 장치에서 결정된 시선 포인트의 움직임과 상기 비디오 데이터 내의 상기 움직이는 객체의 움직임 사이의 상관 관계의 결정에 기초함 - ;
    상기 수신된 위치에 기초하여, 상기 수신된 비디오 데이터를 인코딩하기 전에 스킵 블럭 삽입 포인트를 식별하는 단계 - 상기 스킵 블럭 삽입 포인트는 업데이트 속도가 감소된 인터프레임 내의 블럭을 지정함 - ;
    상기 식별된 스킵 블럭 삽입 포인트에 대해, 상기 감소된 업데이트 속도에 대한 주파수를 결정하는 단계; 및
    상기 결정된 주파수에 기초하여 상기 식별된 스킵 블럭 삽입 포인트와 연관된 블럭을 갖는 인터프레임을 인코딩하는 단계
    를 포함하는 방법.
  11. 제10항에 있어서,
    상기 수신된 비디오 데이터로부터 제1 비디오 시퀀스를 생성하는 단계;
    상기 제1 비디오 시퀀스보다 픽셀 밀도가 더 낮은 상기 수신된 비디오 데이터로부터 제2 비디오 시퀀스를 생성하는 단계 - 상기 제2 비디오 시퀀스는 시간 및 공간적으로 상기 제1 비디오 시퀀스와 유사함 - ;
    상기 제1 비디오 시퀀스에 관련성 있는 픽셀을 지시하는 단계 - 상기 식별된 스킵 블럭 삽입 포인트는 관련성 없는 것으로 지정됨 - ;
    상기 제1 비디오 시퀀스에 상기 관련성 있는 것으로 지시된 픽셀을 인코딩하여 제1 인코딩된 비디오 스트림을 생성하는 단계 - 상기 관련성 없는 것으로 지정된 픽셀은 스킵 블럭을 사용하여 인코딩됨 -
    상기 제2 비디오 시퀀스를 인코딩하여 제2 인코딩된 비디오 스트림을 생성하는 단계;
    상기 제1 인코딩된 비디오 스트림과 상기 제2 인코딩된 비디오 스트림을 합병하는 단계; 및
    상기 합병된 인코딩된 비디오 스트림을 상기 장치에 전송하는 단계
    를 더 포함하는 방법.
  12. 제11항에 있어서, 상기 제2 비디오 시퀀스를 생성하는 단계는 상기 제1 비디오 시퀀스를 2차원적인 디지털 방식으로 다운샘플링하는 단계를 더 포함하는 방법.
  13. 제11항에 있어서, 상기 관련성 있는 픽셀을 지시하는 단계는 상기 제1 비디오 시퀀스에 대해 마스크를 생성하는 단계를 더 포함하는 방법.
  14. 시선 감지에 기초하여 비디오 데이터를 디코딩하도록 구성된 장치에 있어서,
    디스플레이;
    네트워크를 통해 데이터를 교환하도록 구성된 통신 인터페이스;
    상기 디스플레이 및 상기 통신 인터페이스에 결합된 프로세서; 및
    상기 프로세서에 결합되어 상기 프로세서가 제1항 내지 제9항의 어느 한 항에 따른 상기 방법을 실행하도록 하는 명령을 저장하는 메모리
    를 포함하는 장치.
  15. 시선 감지에 기초하여 비디오 데이터를 인코딩하도록 구성된 카메라에 있어서,
    센서 어레이;
    네트워크를 통해 데이터를 교환하도록 구성된 통신 인터페이스;
    상기 센서 어레이 및 상기 통신 인터페이스에 결합된, 제어기, 이미지 프로세서, 및 비디오 인코더; 및
    상기 제어기, 상기 이미지 프로세서, 및 상기 비디오 인코더에 결합되어, 상기 제어기, 상기 이미지 프로세서, 또는 상기 비디오 인코더 중 적어도 하나가 제10항 내지 제13항 중 어느 한 항에 따른 상기 방법을 실행하도록 하는 명령을 저장하는 메모리
    를 포함하는 카메라.
KR1020170180019A 2016-12-30 2017-12-26 시선 감지에 기초한 블럭 레벨 업데이트 속도 제어 KR102505462B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15/395,790 US10123020B2 (en) 2016-12-30 2016-12-30 Block level update rate control based on gaze sensing
US15/395,790 2016-12-30
EP17154579.1 2017-02-03
EP17154579.1A EP3343916A1 (en) 2016-12-30 2017-02-03 Block level update rate control based on gaze sensing

Publications (2)

Publication Number Publication Date
KR20180079188A KR20180079188A (ko) 2018-07-10
KR102505462B1 true KR102505462B1 (ko) 2023-03-02

Family

ID=57995041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170180019A KR102505462B1 (ko) 2016-12-30 2017-12-26 시선 감지에 기초한 블럭 레벨 업데이트 속도 제어

Country Status (6)

Country Link
US (1) US10123020B2 (ko)
EP (1) EP3343916A1 (ko)
JP (1) JP7353015B2 (ko)
KR (1) KR102505462B1 (ko)
CN (1) CN108271021B (ko)
TW (1) TWI767972B (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102305633B1 (ko) * 2017-03-17 2021-09-28 엘지전자 주식회사 퀄리티 기반 360도 비디오를 송수신하는 방법 및 그 장치
US10528794B2 (en) * 2017-06-05 2020-01-07 Motorola Solutions, Inc. System and method for tailoring an electronic digital assistant inquiry response as a function of previously detected user ingestion of related video information
US10186124B1 (en) 2017-10-26 2019-01-22 Scott Charles Mullins Behavioral intrusion detection system
CN111263192A (zh) * 2018-11-30 2020-06-09 华为技术有限公司 视频处理方法及相关设备
CN111294601A (zh) 2018-12-07 2020-06-16 华为技术有限公司 视频图像解码、编码方法及装置
US20200195944A1 (en) * 2018-12-14 2020-06-18 Advanced Micro Devices, Inc. Slice size map control of foveated coding
IL314289A (en) 2019-04-10 2024-09-01 Raptor Vision Llc monitoring systems
US11055976B2 (en) * 2019-09-19 2021-07-06 Axis Ab Using a skip block mask to reduce bitrate from a monitoring camera
EP4043865A4 (en) * 2019-10-09 2022-11-23 Panasonic Intellectual Property Management Co., Ltd. PHOTOGRAPHY DEVICE
US11630508B1 (en) * 2020-06-12 2023-04-18 Wells Fargo Bank, N.A. Apparatuses and methods for securely presenting digital objects
US11343531B2 (en) * 2020-06-17 2022-05-24 Western Digital Technologies, Inc. Storage system and method for object monitoring
EP4272194A1 (en) * 2020-12-30 2023-11-08 Raptor Vision, LLC Monitoring systems
CN113849142B (zh) * 2021-09-26 2024-05-28 深圳市火乐科技发展有限公司 图像展示方法、装置、电子设备及计算机可读存储介质
CA3238641A1 (en) * 2021-11-24 2023-06-01 Fabian E. Bustamante Eye gaze as a proxy of attention for video streaming services
CN114827663B (zh) * 2022-04-12 2023-11-21 咪咕文化科技有限公司 分布式直播插帧系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050018911A1 (en) * 2003-07-24 2005-01-27 Eastman Kodak Company Foveated video coding system and method
JP2008532427A (ja) * 2005-03-01 2008-08-14 クゥアルコム・インコーポレイテッド テレビ電話のための背景のスキッピングを用いた関心領域の符号化
US20120146891A1 (en) * 2010-12-08 2012-06-14 Sony Computer Entertainment Inc. Adaptive displays using gaze tracking

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4513317A (en) 1982-09-28 1985-04-23 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Retinally stabilized differential resolution television display
JPH01141479A (ja) * 1987-11-28 1989-06-02 A T R Tsushin Syst Kenkyusho:Kk 視線検出を利用した画像通信装置
JPH07135623A (ja) 1993-10-27 1995-05-23 Kinseki Ltd 網膜直接表示装置
EP1201082B1 (de) 2000-04-28 2003-09-03 Swisscom Mobile AG Verfahren und system für videokonferenzen
JP2006054830A (ja) 2004-08-16 2006-02-23 Sony Corp 画像圧縮通信方法及び装置
US8879857B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
JP2009118072A (ja) 2007-11-05 2009-05-28 Ihi Corp 遠隔操作装置及び遠隔操作方法
US9282333B2 (en) * 2011-03-18 2016-03-08 Texas Instruments Incorporated Methods and systems for masking multimedia data
JP2012249116A (ja) 2011-05-30 2012-12-13 Canon Inc 画像符号化装置
CN103458238B (zh) * 2012-11-14 2016-06-15 深圳信息职业技术学院 一种结合视觉感知的可伸缩视频码率控制方法、装置
WO2014103732A1 (ja) 2012-12-26 2014-07-03 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
EP2838268B1 (en) 2013-07-31 2019-02-20 Axis AB Method, device and system for producing a merged digital video sequence
EP3021583B1 (en) 2014-11-14 2019-10-23 Axis AB Method of identifying relevant areas in digital images, method of encoding digital images, and encoder system
JP2016178356A (ja) 2015-03-18 2016-10-06 株式会社リコー 通信装置、通信システム、受信制御方法およびプログラム
US9900602B2 (en) * 2015-08-20 2018-02-20 Citrix Systems, Inc. Optimizing remote graphics delivery and presentation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050018911A1 (en) * 2003-07-24 2005-01-27 Eastman Kodak Company Foveated video coding system and method
JP2008532427A (ja) * 2005-03-01 2008-08-14 クゥアルコム・インコーポレイテッド テレビ電話のための背景のスキッピングを用いた関心領域の符号化
US20120146891A1 (en) * 2010-12-08 2012-06-14 Sony Computer Entertainment Inc. Adaptive displays using gaze tracking

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
T H REEVES, et al, Adaptive foveation of MPEG video, PROCEEDINGS OF ACM MULTIMEDIA 96, 1997-02-01, pp. 231-241*

Also Published As

Publication number Publication date
JP7353015B2 (ja) 2023-09-29
JP2018110399A (ja) 2018-07-12
KR20180079188A (ko) 2018-07-10
US10123020B2 (en) 2018-11-06
US20180192057A1 (en) 2018-07-05
TWI767972B (zh) 2022-06-21
TW201830973A (zh) 2018-08-16
CN108271021A (zh) 2018-07-10
EP3343916A1 (en) 2018-07-04
CN108271021B (zh) 2024-03-19

Similar Documents

Publication Publication Date Title
KR102505462B1 (ko) 시선 감지에 기초한 블럭 레벨 업데이트 속도 제어
KR102065479B1 (ko) 시선 제어된 비트 레이트
US8363107B2 (en) Image processing device and method, image processing system, and image processing program
US20200175282A1 (en) Image processing device, image processing method, and image processing system
EP3343524B1 (en) Alarm masking based on gaze in video management system
EP3634005A1 (en) Client device and method for receiving and rendering video content and server device and method for streaming video content
KR102694107B1 (ko) 비디오 모니터링의 실시간 편차
JP2022066158A (ja) プライバシーマスクを含む画像をエンコードする方法
US12100213B2 (en) Alert generation based on event detection in a video feed
US20220129680A1 (en) Alert generation based on event detection in a video feed
US20230262238A1 (en) Encoding of a video stream including an overlay
JP2008259011A (ja) 監視カメラ装置および監視カメラ装置の撮影方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right