KR20180056656A - 비디오 처리를 위한 시스템들 및 방법들 - Google Patents

비디오 처리를 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20180056656A
KR20180056656A KR1020187007794A KR20187007794A KR20180056656A KR 20180056656 A KR20180056656 A KR 20180056656A KR 1020187007794 A KR1020187007794 A KR 1020187007794A KR 20187007794 A KR20187007794 A KR 20187007794A KR 20180056656 A KR20180056656 A KR 20180056656A
Authority
KR
South Korea
Prior art keywords
video content
frame
summary frame
video
playback
Prior art date
Application number
KR1020187007794A
Other languages
English (en)
Inventor
닝 비
판 링
징팅 딩
유 순
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20180056656A publication Critical patent/KR20180056656A/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/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/8549Creating video summaries, e.g. movie trailer
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/738Presentation of query results
    • G06F16/739Presentation of query results in form of a video summary, e.g. the video summary being a video sequence, a composite still image or having synthesized frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/74Browsing; Visualisation therefor
    • G06F16/743Browsing; Visualisation therefor a collection of video files or sequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7837Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using objects detected or recognised in the video content
    • G06F17/3079
    • G06F17/30858
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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
    • 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/234318Processing 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 decomposing into objects, e.g. MPEG-4 objects
    • 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/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/4722End-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 requesting additional data associated with the content
    • H04N21/4725End-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 requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
    • 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/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • H04N21/8153Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics comprising still images, e.g. texture, background image
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8453Structuring of content, e.g. decomposing content into time segments by locking or enabling a set of features, e.g. optional functionalities in an executable program
    • 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
    • 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/188Capturing isolated or intermittent images triggered by the occurrence of a predetermined event, e.g. an object reaching a predetermined position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

비디오 처리 시스템 및 방법이 개시된다. 특정 구현에서, 디바이스는 비디오 콘텐츠에 대한 인덱스 데이터를 발생시키도록 구성된 프로세서를 포함한다. 인덱스 데이터는 요약 프레임 및 메타데이터를 포함한다. 요약 프레임은 비디오 콘텐츠의 부분과 연관되며 비디오 콘텐츠의 부분에 포함된 오브젝트의 다수의 표현들을 나타낸다. 메타데이터는 비디오 콘텐츠의 재생 위치를 표시하는 마커 데이터를 포함한다. 재생 위치는 요약 프레임과 연관된다. 디바이스는 또한 인덱스 데이터를 저장하도록 구성된 메모리를 포함한다.

Description

비디오 처리를 위한 시스템들 및 방법들
본 개시물은 일반적으로 비디오 처리에 관련된다.
폐쇄 회로 텔레비전 (CCTV) 시스템과 같은, 비디오 감시 시스템들에서, 카메라는 고정된 위치에 장착될 수도 있다. 카메라에 의해 발생되는 비디오 콘텐츠 (예컨대, 비디오 스트림) 는 카메라의 시야 내에서 움직임이 없는 대부분의 시간 동안에는 특별한 일이 없을 수도 있다. 기록된 비디오 스트림에서 관심 이벤트들 (예컨대, 움직임) 을 로케이트하기 위해 다수의 옵션들이 이용가능할 수도 있다. 예를 들어, 기록된 비디오를 고속 순방향 모드에서 플레이함으로써 기록된 비디오 스트림에서 관심 이벤트가 식별될 수도 있다. 다른 예들로서, 인코딩할 때 (예컨대, 비디오 스트림의 매 n번째 프레임을 인코딩할 때, 여기서 n 은 정수이다) 프레임들을 스킵하여 비디오 스트림의 요약 클립을 발생시킴으로써 또는 기록된 비디오 스트림의 타임랩스 (time-lapse) 비디오를 발생시킴으로써, 관심 이벤트가 식별될 수도 있다. 이들 옵션들의 각각은 비효율적이고 시간 소모적일 수도 있다.
특정 양태에서, 디바이스는 비디오 콘텐츠용 인덱스 데이터를 발생시키도록 구성된 프로세서를 포함하며, 상기 인덱스 데이터는 요약 프레임 및 메타데이터를 포함한다. 요약 프레임은 비디오 콘텐츠의 부분과 연관되며 비디오 콘텐츠의 부분에 포함된 오브젝트의 다수의 표현들을 나타낸다. 메타데이터는 비디오 콘텐츠의 재생 위치를 표시하는 마커 데이터를 포함한다. 재생 위치는 요약 프레임과 연관된다. 디바이스는 인덱스 데이터를 저장하도록 구성된 메모리를 더 포함한다.
또 다른 특정 양태에서, 디바이스는 요약 프레임을 제시하도록 구성된 디스플레이를 포함한다. 요약 프레임은 비디오 콘텐츠의 부분에 포함된 오브젝트의 다수의 표현들을 나타낸다. 디바이스는 또한 비디오 콘텐츠의 부분에 대응하는 재생 위치를 식별하도록 구성된 프로세서를 포함한다. 재생 위치는 요약 프레임에 기초하여 식별된다. 프로세서는 또한 재생 위치에서 비디오 콘텐츠의 재생을 개시하도록 구성된다.
또 다른 특정 양태에서, 장치는 그래픽 사용자 인터페이스 (GUI) 를 제시하도록 구성된 디스플레이를 포함한다. GUI는 오브젝트의 제 1 표현 세트를 나타내는 요약 프레임을 포함한다. 장치는 또한, 디스플레이에 전기적으로 연결되고 제 1 표현 세트의 특정 표현을 나타내는 선택을 수신하도록 구성된 프로세서를 포함한다.
또 다른 특정 양태에서, 장치는 비디오 콘텐츠의 부분에 포함된 오브젝트의 다수의 표현들을 나타내는 요약 프레임을 제시하는 수단을 포함한다. 장치는 또한 비디오 콘텐츠의 부분에 대응하는 재생 위치를 식별하는 수단을 포함한다. 재생 위치는 요약 프레임에 기초하여 식별된다. 프로세서는 또한 재생 위치에서 비디오 콘텐츠의 재생을 개시하는 수단을 포함한다.
본 발명의 다른 양태들, 이점들 및 특징들은 다음 섹션들, 즉 도면의 간단한 설명, 상세한 설명 및 청구항들을 포함하여, 본원 전체를 검토한 후 분명해질 것이다.
도 1a 는 이미지 데이터를 처리하여 요약 프레임을 발생시키는 제 1 예시적인 시스템의 블록도이다.
도 1b 는 이미지 데이터를 처리하여 요약 프레임을 발생시키는 제 2 예시적인 시스템의 블록도이다.
도 1c 는 이미지 데이터를 처리하여 요약 프레임을 발생시키는 제 3 예시적인 시스템의 블록도이다.
도 2 는 요약 프레임 발생기의 실례의 블록도이다.
도 3 은 요약 프레임을 발생시키는 방법의 제 1 실례의 흐름도이다.
도 4 는 요약 프레임을 발생시키는 방법의 제 2 실례의 흐름도이다.
도 5 는 이미지 데이터를 처리하여 요약 프레임을 전달하는 예시적인 시스템의 블록도이다.
도 6 은 요약 프레임을 이용하여 비디오 콘텐츠를 인덱싱하도록 구성된 디바이스의 실례의 블록도이다.
도 7a 내지 도 7j 는 요약 프레임, 요약 프레임에 기초한 비디오 콘텐츠의 부분, 또는 양자 모두를 제시하는 인터페이스들의 예들이다.
도 8 은 요약 프레임을 발생시키는 방법의 제 3 실례의 흐름도이다.
도 9 는 요약 프레임을 전달하는 방법의 실례의 흐름도이다.
도 10 은 요약 프레임을 수신하는 방법의 실례의 흐름도이다.
도 11 은 다수의 요약 프레임들을 연쇄시키는 방법의 실례의 흐름도이다.
도 12 는 비디오 콘텐츠를 인덱싱하는 방법의 실례의 흐름도이다.
도 13 은 본원에서 개시된 하나 이상의 방법들, 시스템들, 장치들, 또는 컴퓨터-판독가능 저장 디바이스들의 다양한 양태들을 지원하도록 동작가능한 디바이스의 블록도이다.
상세한 설명
본 개시물의 특정의 양태들이 도면들을 참조하여 아래에서 설명된다. 이 설명에서, 공통 특징들은 도면 전반에 걸쳐서 공통 참조 번호들로 표시된다. 본원에서 사용될 때, 구조, 컴포넌트, 동작, 등과 같은 엘리먼트를 수식하는데 사용되는 서수의 용어 (예컨대, "제 1", "제 2", "제 3", 등) 는 다른 엘리먼트에 대해서 그 엘리먼트의 임의의 우선순위 또는 순서를 단독으로 표시하기 보다는, 오히려 그 엘리먼트를 (서수의 용어를 사용하지 않는다면) 동일한 이름을 가지는 또 다른 엘리먼트로부터 단순히 구별한다.
본 개시물은 비디오 콘텐츠의 부분을 요약하는 요약 프레임 (예컨대, 이미지) 을 발생시키기 위해, 비디오 스트림 (예컨대, 비디오 세그먼트) 과 같은, 비디오 콘텐츠를 처리하는 방법들을 기술한다. 예를 들어, 비디오 콘텐츠는 오브젝트 (예컨대, 사람, 차, 등) 와 연관된 모션 이벤트와 같은, 이벤트를 캡쳐할 수도 있다. 비디오 콘텐츠는 비디오 콘텐츠 내 (이벤트의) 모션 이벤트 기간의 시작과 종료를 식별하는 이미지 처리 디바이스에 제공될 수도 있다. 예를 들어, 모션 이벤트 기간은 카메라의 시야에 들어오고 나가는 오브젝트와 연관될 수도 있다. 이미지 처리 디바이스는 비디오 콘텐츠의 적어도 일부분과 연관된 요약 프레임을 발생시킬 수도 있다. 요약 프레임은 오브젝트의 다수의 표현들을 나타낼 수도 있다. 예시하자면, 모션 이벤트 기간의 종료에 응답하여, 요약 프레임이 발생되어, 사용자가 모션 이벤트 기간 동안 비디오 콘텐츠에서의 오브젝트의 움직임을 요약하는 단일 이미지를 빨리 볼 수 있도록 디바이스 (예컨대, 원격 디바이스) 로 전송될 수도 있다.
이미지 처리 디바이스는 예시적인, 비한정적인 예들로서, 카메라 또는 비디오 재생 디바이스에 포함될 수도 있다. 일부 구현예들에서, 이미지 처리 디바이스는 비디오 감시 시스템에 포함될 수도 있으며 하나 이상의 모션 이벤트들을 포함하는 비디오 시퀀스와 같은, 비디오 시퀀스를 인덱싱하는데 사용될 수도 있다. 일부 구현예들에서, 요약 프레임은 이벤트 (예컨대, 모션 이벤트 기간) 에 대응하는 비디오 콘텐츠의 부분과 연관된 식별자를 또한 포함하는 통지에 포함될 수도 있다. 예를 들어, 식별자는 요약 프레임에 임베딩되는 메타데이터에 포함될 수도 있다. 식별자는 디바이스로 하여금 비디오 감시 시스템으로부터 비디오 콘텐츠의 부분을 요청가능하게 할 수도 있다.
일부 구현예들에서, 이미지 처리 디바이스는 다수의 "연쇄된" 요약 프레임들을 포함하는 통지를 발생시킬 수도 있다. 예를 들어, 이미지 처리 디바이스는 제 1 모션 이벤트 기간에 대응하는 제 1 요약 프레임을 발생시킬 수도 있으며 제 2 모션 이벤트 기간에 대응하는 제 2 요약 프레임을 발생시킬 수도 있다. 제 1 모션 이벤트 기간은 제 1 카메라에 의해 캡쳐된 제 1 비디오 콘텐츠의 제 1 부분과 연관될 수도 있으며, 제 2 모션 이벤트 기간은 제 2 카메라에 의해 캡쳐된 제 2 비디오 콘텐츠의 제 2 부분과 연관될 수도 있다. 대안적으로, 제 1 모션 이벤트 기간 및 제 2 모션 이벤트 기간은 단일 카메라에 의해 캡쳐된 비디오 콘텐츠의 연관된 부분들일 수도 있다. 일부 구현예들에서, 연쇄된 요약 프레임은 제 1 모션 이벤트 동안 제 1 오브젝트의 제 1 표현 세트 및 제 2 모션 이벤트 동안 제 2 오브젝트의 제 2 표현 세트를 포함할 수도 있다. 표현들의 각각의 세트는 연쇄된 요약 프레임의 공통 배경 상에 중첩될 수도 있다. 이미지 처리 디바이스는 시간 기간 (예컨대, 6 시간 기간) 동안 발생된, 제 1 요약 프레임 및 제 2 요약 프레임과 같은, 하나 이상의 요약 프레임들을 저장할 수도 있으며, 하나 이상의 요약 프레임들을 포함하는 단일 통지를 전송할 수도 있다.
비디오 콘텐츠의 부분의 요약 프레임을 포함하는 통지를 전송함으로써, 통지의 데이터 사이즈가 비디오 콘텐츠의 부분의 비디오 클립을 포함하는 통지를 전송하는 것에 비해 감소될 수도 있다. 따라서, (비디오 클립이 아닌) 요약 프레임을 포함하는 통지가 비디오 클립을 포함하는 통지보다 더 빨리 디바이스에 제공될 수도 있다. 추가적으로, 비디오 클립을 전송하는 대신 요약 프레임을 전송함으로써, 디바이스의 사용자가 모션 이벤트 기간 동안 (예컨대, 비디오 콘텐츠의 부분 동안) 일어난 활동의 이해를 얻기 위해, 단일 이미지와 같은, 요약 프레임을 빨리 검토할 수도 있다.
도 1a 를 참조하면, 요약 프레임을 발생시키도록 동작가능한 시스템 (100) 의 실례가 도시된다. 시스템 (100) 은 디바이스 (102) 를 포함할 수도 있다. 일부 구현예들에서, 디바이스 (102) 는 도 5 를 참조하여 설명된 바와 같이, 폐쇄 회로 텔레비전 (CCTV) 시스템과 같은, 비디오 감시 시스템에 포함될 수도 있다. 예시하자면, 디바이스 (102) 는 카메라 디바이스일 수도 있거나, 카메라를 포함할 수도 있거나, 또는 비디오 시스템 제어기를 포함할 수도 있다. 추가적으로 또는 대안적으로, 디바이스 (102) 는 예시적인, 비한정적인 예들로서, 컴퓨터, 랩탑, 모바일 디바이스, 운송체 (vehicle) , 또는 서버와 같은, 재생 디바이스를 포함하거나 또는 그들에 포함될 수도 있다. 본원에서 설명되는 기법들은 전자 디바이스들, 모바일 디바이스들, 운송체들, 게이밍 콘솔들, 자동차 시스템 콘솔들 (예컨대, ADAS), 착용가능한 디바이스들 (예컨대, 개인 장착 카메라들), 헤드 장착 디스플레이들 (HMDs), 등과 함께 사용될 수도 있다. 추가적인 예들은 로봇들 또는 로봇 디바이스들, 무인 항공 운송체들 (UAVs), 및 드론들을 포함하지만 이에 한정되지 않는다. 운송체들의 예들은 자동차 (예컨대, 차, 트럭, 모터사이클, 버스, 또는 열차), 선박 (예컨대, 배 또는 보트), 항공기 (예컨대, 비행기 또는 헬리콥터), 우주선 (예컨대, 우주 왕복선), 자전거, 또는 다른 운송체를 포함할 수 있다. 운송체는 예시적인 비한정적인 예들로서, 차륜 운송체, 궤도 운송체, 레일 운송체, 공수 (airborne) 운송체, 또는 스키 운송체일 수도 있다. 일부의 경우, 운송체는 하나 이상의 드라이버들에 의해 동작될 수도 있다. 다른 경우, 운송체는 자율 운송체와 같은 컴퓨터-제어 운송체일 수도 있다. 더욱이, 하나 이상의 양태들이 디바이스에서 수행되는 동작들을 포함하는 것으로 본원에서 설명될 수도 있지만, 다른 예들에서, 이러한 동작들은 "클라우드" 에서 수행될 수 있는 것으로 이해되어야 한다.
디바이스 (102) 는 이미지 데이터를 포함하는 하나 이상의 이미지 프레임들과 같은, 비디오 콘텐츠 (140) (예컨대, 비디오 시퀀스) 를 수신하도록 구성될 수도 있다. 비디오 콘텐츠 (140) (예컨대, 이미지 데이터) 는 렌즈를 포함하는 캡쳐 유닛 (미도시) 으로부터 수신될 수도 있다. 예를 들어, 캡쳐 유닛은 카메라의 부분일 수도 있거나 또는 그를 포함할 수도 있다. 캡쳐 유닛은 비디오 콘텐츠 (140) 와 같은, 비디오 프레임 시퀀스를 획득하도록 구성될 수도 있다. 일부 구현예들에서, 비디오 프레임 시퀀스의 각각의 비디오 프레임은 대응하는 프레임 인덱스를 가질 수도 있다. 일부 구현예들에서, 디바이스 (102) 는 도 1b 내지 도 1c 를 참조하여 설명된 바와 같이 캡쳐 유닛을 포함할 수도 있다.
디바이스 (102) 는 프레임 버퍼 (110), 메모리 (112), 프로세서 (118), 사용자 인터페이스 (130), 및 송신기 (132) 를 포함할 수도 있다. 프레임 버퍼 (110) 는 예시적인, 비한정적인 예들로서, 비디오 콘텐츠 (140) 의 하나 이상의 프레임들 (예컨대, 비디오 프레임 시퀀스의 하나 이상의 프레임들), 프레임 타임스탬프, 프레임 시퀀스 인덱스 값, 또는 이들의 조합을 저장하도록 구성될 수도 있다. 일부 구현예들에서, 프레임 버퍼 (110) 는 비디오 콘텐츠 (140) 를 발생시키는 이미지 캡쳐 유닛에 커플링될 수도 있다. 본원에서 사용될 때, "커플링된" 은 "통신가능하게 커플링된", "전기적으로 커플링된", 또는 "물리적으로 커플링된", 및 이들의 조합들을 포함할 수도 있다. 2개의 디바이스들 (또는, 컴포넌트들) 은 직접 또는 하나 이상의 다른 디바이스들, 컴포넌트들, 와이어들, 버스들, 네트워크들 (예컨대, 유선 네트워크, 무선 네트워크, 또는 이들의 조합), 등을 통해서 간접적으로, 커플링될 (예컨대, 통신가능하게 커플링되거나, 전기적으로 커플링되거나, 또는 물리적으로 커플링될) 수도 있다. 전기적으로 커플링된 2개의 디바이스들 (또는, 컴포넌트들) 은 동일한 디바이스에 또는 상이한 디바이스들에 포함될 수도 있으며, 예시적인, 비한정적인 예들로서, 전자기기, 하나 이상의 커넥터들, 또는 유도 커플링을 통해서 접속될 수도 있다. 일부 구현예들에서, 전기 통신하는 것처럼, 통신가능하게 커플링된 2개의 디바이스들 (또는, 컴포넌트들) 은 직접 또는 예컨대, 하나 이상의 와이어들, 버스들, 네트워크들, 등을 통해서 간접적으로, 전기 신호들 (디지털 신호들 또는 아날로그 신호) 을 전송하고 수신할 수도 있다. 예를 들어, 프레임 버퍼 (110) 는 이미지 캡쳐 디바이스와 전기 통신할 수도 있다. 다른 예로서, 프레임 버퍼 (110) 는 디바이스 (102) 에 커플링되거나 또는 이에 포함된, 메모리와 같은, 저장 디바이스로부터 비디오 콘텐츠 (140) 를 수신할 수도 있다. 예시하자면, 저장 디바이스는 디바이스 (102) 의 외부에 있을 수도 있으며, 유선 네트워크, 무선 네트워크, 또는 이들의 조합과 같은, 네트워크를 통해서 디바이스 (102) 에 커플링될 수도 있다. 다른 예로서, 저장 디바이스는 디바이스 (102) 에 착탈식으로 커플링될 수도 있다. 예시하자면, 메모리 디바이스는 디바이스 (102) 에 물리적으로 커플링될 수도 있는, 보안 디지털 (SD) 카드와 같은, 메모리 카드를 포함할 수도 있다.
메모리 (112) 는 프레임 버퍼 (110) 에 커플링될 수도 있으며, 비디오 콘텐츠 (140) 의 적어도 일부분, 비디오 콘텐츠 (140) 의 적어도 일부분과 연관된 인덱스들 (예컨대, 비디오 프레임 시퀀스), 또는 이들의 조합과 같은, 비디오 콘텐츠 (114) 를 저장하도록 구성될 수도 있다. 예를 들어, 비디오 콘텐츠 (114) 는 제 1 프레임 및 제 2 프레임을 포함할 수도 있으며, 메모리 (112) 는 제 1 프레임과 연관된 제 1 데이터 (예컨대, 제 1 프레임 인덱스) 및 제 2 프레임과 연관된 제 2 데이터 (예컨대, 제 2 프레임 인덱스) 를 저장할 수도 있다. 추가적으로 또는 대안적으로, 메모리 (112) 는 제 1 비디오 프레임 시퀀스 인덱스 및 제 2 비디오 프레임 시퀀스 인덱스와 같은, 비디오 프레임 시퀀스들 (예컨대, 다수의 비디오 프레임 시퀀스들) 의 인덱스들을 저장하도록 구성될 수도 있다. 일부 구현예들에서, 비디오 콘텐츠 (140) 는 프레임 버퍼 (110) 및 메모리 (112) 에서 병렬로 수신될 수도 있다. 프레임 버퍼 (110) 및 메모리 (112) 는 분리된 것으로 설명되지만, 다른 구현예들에서, 메모리 (112) 는 프레임 버퍼 (110) 를 포함할 수도 있다. 일부 구현예들에서, 비디오 콘텐츠 (114) 는 도 2 를 참조하여 설명된 바와 같이, 모션 (예컨대, 모션 이벤트) 이 검출되는 비디오 콘텐츠 (140) 의 하나 이상의 부분들과 연관될 수도 있다. 메모리 (112) 는 디바이스 (102) 에 포함되는 것으로 예시되지만, 다른 구현예들에서, 메모리 (112) 는 디바이스 (102) 외부에 있거나 또는 디바이스 (102) 에 착탈식으로 커플링될 수도 있다. 예를 들어, 메모리 (112) 는 메모리 카드 또는 다른 착탈식 저장 디바이스, 예컨대, 범용 시리얼 버스 (USB) 드라이브를 포함할 수도 있다.
프로세서 (118) 는 프레임 버퍼 (110) 와, 전기적으로 커플링되거나, 통신가능하게 커플링되거나, 또는 양자 모두에 의해 커플링될 수도 있다. 예를 들어, 프로세서 (118) 는 프레임 버퍼 (110) 와 전기 통신할 수도 있다. 프로세서 (118) 는 예시적인, 비한정적인 예들로서, 디지털 신호 프로세서 (DSP), 중앙 처리 유닛 (CPU), 그래픽 처리 유닛 (GPU), 또는 이들의 조합을 포함할 수도 있다.
프로세서 (118) 는 요약 프레임 발생기 (120) 및 통지 발생기 (126) 를 포함할 수도 있다. 요약 프레임 발생기 (120) 는 요약 프레임 (122), 메타데이터 (124), 또는 양자 모두를 발생시키도록 구성될 수도 있다. 요약 프레임 (122) 은 모션 이벤트가 검출된 비디오 콘텐츠 (140) 의 부분의 시각적 요약을 제공할 수도 있다. 예를 들어, 요약 프레임 (122) 은 본원에서 추가로 설명되는 바와 같이, 비디오 콘텐츠의 부분에서 움직이는 것으로 검출된 오브젝트의 다수의 표현들을 나타낼 수도 있다. 오브젝트는 하나 이상의 검출된 블랍들 (blobs) 과 연관되거나 또는 이에 대응할 수도 있다. 요약 프레임 (122) 에 포함된 오브젝트의 다수의 표현들은 도 2 내지 도 5 를 참조하여 설명된 바와 같이, 비디오 콘텐츠 (140) 의 부분으로부터 선택된 키 프레임들에 대응할 수도 있다. 일부 구현예들에서, 프로세서 (118) 는 본원에서 추가로 설명되는 바와 같이, 비디오 콘텐츠 (140) 에서의 다수의 비디오 프레임들 (예컨대, 비디오 프레임 시퀀스에서의 다수의 프레임들) 에 걸친 모션 이벤트에 기초하여 요약 프레임 (122) 의 생성을 개시하도록 구성될 수도 있다.
예를 들어, 프로세서 (118) 는 비디오 콘텐츠 (140) 의 부분의 제 1 프레임으로부터의 오브젝트의 제 1 표현과 비디오 콘텐츠 (140) 의 부분의 제 2 프레임으로부터의 오브젝트의 제 2 표현을 결합하여, 요약 프레임 (122) 을 발생시킬 수도 있다. 예시하자면, 요약 프레임 (122) 의 일 예가 150 에 묘사된다. 요약 프레임 (122) 의 예 (150) 는 사람 및 자전거의 요약과 같은, 비디오 콘텐츠 (140) 의 부분의 시각적 요약을 제공한다. 예를 들어, 요약 프레임 (122) 은 모션 이벤트의 단일-프레임 시각적 요약을 제공할 수도 있다. 예시하자면, 요약 프레임 (122) 은 사람 및 자전거의 다수의 표현들 (151-156) 을 묘사할 수도 있다. 다수의 표현들 (151-156) 의 각각은 비디오 콘텐츠 (140) 의 부분으로부터 선택된 상이한 프레임에 대응할 수도 있다. 예를 들어, 제 1 표현 (151) 은 비디오 프레임 시퀀스의 제 1 프레임 인덱스와 연관된 제 1 프레임에 대응할 수도 있으며, 제 2 표현 (152) 은 비디오 프레임 시퀀스의 제 2 프레임 인덱스와 연관된 제 2 프레임에 대응할 수도 있는 등이다. 일부 구현예들에서, 제 1 프레임 및 제 2 프레임의 각각은 모션 이벤트에 대응하는 키 프레임과 각각 연관될 수도 있다. 요약 프레임 발생기 (120) 는 도 2 내지 도 4 를 참조하여 설명된 바와 같이, 하나 이상의 키 프레임들을 선택하도록 구성될 수도 있다. 일부 예들에서, 다수의 표현들이 사용자가 사람 및 자전거의 이동 방향을 결정할 수 있도록 (예컨대, 컬러링, 텍스쳐들, 셰이딩, 등을 이용하여) 제시될 수도 있다. 다른 예들에서, 각각의 표현은 다수의 표현들의 시간상의 시퀀스를 표시하는, 수치 값, 문자, 화살표, 등과 같은, 표시자를 포함할 수도 있다. 다수의 표현들 (151-156) 의 각각은 예 (150) 에 분리된 (예컨대, 비-중첩하는) 것으로 예시되지만, 다른 구현예들에서, 제 1 표현은 제 2 표현과 적어도 부분적으로 중첩할 수도 있으며, 여기서, 제 1 표현은 프레임들의 시퀀스에서, 제 2 표현과 연관된 제 2 프레임보다 일찍 또는 늦게 일어나는 제 1 프레임과 연관된다.
디바이스 (102) 를 참조하면, 메타데이터 (124) 는 비디오 콘텐츠 (140) 에 대응하는 파일 이름, 요약 프레임 식별자, 비디오 콘텐츠 (140) 가 발생된 일자 또는 시간, 요약 프레임 (122) 이 발생된 일자 또는 시간, 모션 이벤트 시작 시간, 모션 이벤트 종료 시간, 모션 이벤트 지속기간, 비디오 세그먼트 (예컨대, 모션 이벤트 기간에 대응하는 비디오 클립) 의 식별자, 요약 프레임 (122) 에 포함된 오브젝트의 표현을 발생시키는데 사용된 프레임의 표시, 비디오 콘텐츠 (140) 를 발생시킨 캡쳐 유닛과 연관된 캡쳐 유닛 식별자 (예컨대, 카메라 식별자), 카메라 로케이션, 비디오 콘텐츠 (114) 가 저장되는 메모리 (112) 의 저장 로케이션으로의 링크 (예컨대, URL (uniform resource locator)), 또는 이들의 조합을 포함할 수도 있다. 예시하자면, 메타데이터 (124) 는 (제 1 표현 (151) 에 대응하는) 연관된 제 1 프레임 인덱스 및 (제 2 표현 (152) 에 대응하는) 연관된 제 2 프레임 인덱스를 포함할 수도 있다. 일부 구현예들에서, 메타데이터 (124) 는 요약 프레임 (122) 에 포함될 (예컨대, 임베딩될) 수도 있다. 추가적으로 또는 대안적으로, 일부 구현예들에서, 메타데이터 (124) 는 환경 정보 (예컨대, 비디오 콘텐츠 (140) 의 발생 동안의 기상 상태들), 의미 정보 (예컨대, 이벤트 식별), 오브젝트 식별 정보, 장면 분류 정보, 또는 이들의 조합을 포함할 수도 있다. 메모리 (112) 가 요약 프레임 (122) 을 발생시키는데 사용되는 비디오 콘텐츠 (140) 의 부분에 대응하는 비디오 콘텐츠 (114) 를 저장하면, 메타데이터 (124) 는 비디오 콘텐츠 (114) 에 포함되거나 또는 이와 함께 저장될 수도 있다.
통지 발생기 (126) 는 요약 프레임 (122) 과 연관된 통지 (128) 를 발생시키도록 구성될 수도 있다. 통지 (128) 는 예시적인, 비한정적인 예들로서, 특정의 모션 이벤트가 시작되었다는 표시, 요약 프레임 (122) 이 발생중이라는 표시, 모션 이벤트가 종료되었다는 표시, 요약 프레임 (122) 이 발생되었다는 표시, 모션 이벤트의 지속기간의 표시, 요약 프레임 (122), 메타데이터 (124), 또는 이들의 조합을 포함할 수도 있다. 예를 들어, 통지 발생기 (126) 는 요약 프레임 (122) 이 요약 프레임 발생기 (120) 에 의해 발생되는 것에 응답하여 통지 (128) 를 발생시킬 수도 있다. 일부 구현예들에서, 통지 (128) 는 예시적인, 비한정적인 예들로서, 이메일 또는 단문 메시지 서비스 (SMS) 메시지를 포함할 수도 있다.
프로세서 (118) 는 사용자 인터페이스 (130), 송신기 (132), 또는 양자 모두에, 통신가능하게 커플링되거나, 전기적으로 커플링되거나, 또는 양자 모두에 의해 커플링될 수도 있다. 예를 들어, 프로세서 (118) 는 사용자 인터페이스 (130), 송신기 (132), 또는 양자 모두와 전자 통신할 수도 있다. 프로세서 (118) 는 프로세서 출력 (142) 을 사용자 인터페이스 (130), 송신기 (132), 또는 양자 모두에 제공하도록 구성될 수도 있다. 사용자 인터페이스 (130) 는 요약 프레임 (122), 메타데이터 (124), 통지 (128), 또는 이들의 조합과 연관된 출력을 발생시키도록 구성될 수도 있다. 예시하자면, 사용자 인터페이스 (130) 는 디스플레이 (예컨대, 스크린 또는 터치 스크린), 트랜스듀서, 예컨대 스피커 (예컨대, 라우드스피커), 광 (예컨대, 발광 다이오드 (LED)), 등을 포함할 수도 있다. 사용자 인터페이스 (130) 가 스크린을 포함하면, 스크린은 요약 프레임 (122), 통지 (128), 또는 이들의 조합을 디스플레이하도록 구성될 수도 있다. 다른 예로서, 사용자 인터페이스 (130) 가 라우드스피커를 포함하면, 라우드스피커는 요약 프레임 (122) 의 발생의 완료와 연관된 사운드를 플레이하도록 구성될 수도 있다. 추가적인 예로서, 사용자 인터페이스 (130) 가 라이트를 포함하면, 라이트는 요약 프레임 (122) 의 발생의 완료에 응답하여 조명하도록 구성될 수도 있다.
송신기 (132) 는 요약 프레임 (예컨대, 요약 프레임 (122)) 이 발생 중이거나 또는 발생되었다는 것을 표시하는 통지 신호와 같은, 디바이스 출력 (144) 을 제공하도록 구성될 수도 있다. 예를 들어, 디바이스 출력 (144) 은 요약 프레임 (122), 메타데이터 (124), 통지 (128), 또는 이들의 조합을 포함할 수도 있다. 일부 구현예들에서, 송신기 (132) 는 송신기 (132) 및 수신기를 포함하는 트랜시버와 같은, 트랜시버 (미도시) 에 포함될 수도 있다.
사용자 인터페이스 (130) 및 송신기 (132) 는 디바이스 (102) 에 포함되는 것으로 설명되지만, 다른 구현예들에서, 사용자 인터페이스 (130) 및 송신기 (132) 중 하나 또는 양자 모두는 디바이스 (102) 의 외부에 있을 수도 있다. 예를 들어, 사용자 인터페이스 (130) 는 디바이스 (102) 의 외부에 있는 디스플레이를 포함할 수도 있다.
동작 동안, 프로세서 (118) 는 비디오 콘텐츠 (140) (예컨대, 다수의 이미지 프레임들) 에 대응하는 모션 이벤트 기간을 검출할 수도 있다. 프로세서 (118) 는 오브젝트 (예컨대, 사람 및 자전거) 의 다수의 표현들을 나타내는 요약 프레임 (122) 을 발생시킬 수도 있다. 오브젝트는 모션 이벤트 기간에 대응하는 비디오 콘텐츠 (140) 의 부분에 포함될 수도 있다. 요약 프레임 (122) 이 발생된 후, 요약 프레임 (122) 은 통지 (128) 에 포함될 수도 있다. 요약 프레임 (122) 은 사용자 인터페이스 (130) (예컨대, 디스플레이) 를 통하여 제시될 수도 있으며, 통지 (128) 는 송신기 (132) 를 통해서, 하나 이상의 다른 디바이스들로 전송될 수도 있다.
일부 구현예들에서, 요약 프레임 발생기 (120) 는 모션 이벤트 기간 (예컨대, 모션 이벤트의 시작, 모션 이벤트의 종료, 또는 양자 모두) 을 검출하고 비디오 콘텐츠 (140) 의 부분과 연관된 요약 프레임 (122) 을 발생시키도록 구성될 수도 있다. 이 예에서, 메타데이터 (124) 는 모션 이벤트 기간의 시작과 연관된 제 1 타임스탬프, 모션 이벤트 기간의 종료와 연관된 제 2 타임스탬프, 또는 이들의 조합을 포함할 수도 있다.
일부 구현예들에서, 통지 발생기 (126) 는 각각의 요약 프레임이 요약 프레임 발생기 (120) 에 의해 발생되는 것에 응답하여 통지를 발생시키도록 구성될 수도 있다. 예를 들어, 요약 프레임 (122) 에 응답하여, 통지 발생기 (126) 는 도 1b 를 참조하여 설명된 바와 같이, 요약 프레임 (122) (예컨대, 단일 요약 프레임) 을 포함하는 통지 (128) 를 발생시킬 수도 있다. 다른 구현예들에서, 통지 발생기 (126) 는 도 1c 를 참조하여 설명된 바와 같이, 다수의 요약 프레임들을 통지 (예컨대, 단일 통지) 에 "연쇄" (concatenate) 시킬 수도 있다. 예를 들어, 통지 발생기 (126) 는 시간 기간 (예컨대, 프로그래밍가능 시간 기간) 에 대한 통지를 발생시킬 수도 있으며, 통지에서의 시간 기간 동안 발생된 각각의 요약 프레임을 포함할 수도 있다. 일부 구현예들에서, 상이한 요약 프레임들의 연쇄는 상이한 프로그래밍가능 시간 기간들에 기초할 수도 있다. 예시하자면, 제 1 프로그래밍가능 시간 기간은 1 시간에 대응할 수도 있다. 제 1 프로그래밍가능 시간 기간 경과에 응답하여, 통지 발생기 (126) 는 제 1 프로그래밍가능 시간 기간 동안 발생된 각각의 요약 프레임을 포함하는 통지를 발생시킬 수도 있다. 다른 예로서, 제 2 프로그래밍가능 시간 기간은 8 시간에 대응할 수도 있다.
일부 구현예들에서, 프로세서 (118) 는 비디오 콘텐츠 (140) (또는, 비디오 콘텐츠 (114)) 를 인덱싱하여 인덱싱된 비디오 콘텐츠를 발생시키도록 구성될 수도 있다. 예를 들어, 비디오 콘텐츠 (140) 또는 비디오 콘텐츠 (114) 는 모션 이벤트 기간의 시작에 대응하는 제 1 특정의 프레임, 모션 이벤트 기간과 연관되며 요약 프레임 (122) 을 발생시키는데 사용되는 하나 이상의 프레임들, 모션 이벤트 기간의 종료에 대응하는 제 2 특정의 프레임, 또는 이들의 조합에 따라서 인덱싱될 수도 있다. 다른 예로서, 비디오 콘텐츠 (140) (또는, 비디오 콘텐츠 (114)) 는 제 1 특정의 프레임, 모션 이벤트 기간과 연관되며 요약 프레임 (122) 을 발생시키는데 사용되는 프레임들 중 하나 이상, 제 2 특정의 프레임, 또는 이들의 조합에 적용되는 오프셋에 기초하여, 인덱싱될 수도 있다. 예시하자면, 비디오 콘텐츠 (140) (또는, 비디오 콘텐츠 (114)) 는 모션 이벤트 기간의 시작에 대응하는 제 1 특정의 프레임 전 제 1 오프셋 값 (예컨대, 60 프레임들) 에서의 프레임을 이용하여, 그리고 모션 이벤트 기간의 종료에 대응하는 제 2 특정의 프레임 이후 제 2 오프셋 값 (예컨대, 30 프레임들) 에서의 다른 프레임을 이용하여, 인덱싱될 수도 있다. 일부 구현예들에서, 프로세서 (118) 는 인덱싱된 비디오 콘텐츠를 메모리 (112) 에 저장할 수도 있다. 추가적으로 또는 대안적으로, 프로세서 (118) 는 모션 이벤트 기간과 연관된 비디오 세그먼트 (예컨대, 비디오 클립) 를 메모리 (112) 에 저장하도록 구성될 수도 있다. 예를 들어, 비디오 세그먼트는 인덱싱된 비디오 콘텐츠와는 별개로 (추가하여 또는 대신) 메모리 (112) 에 저장될 수도 있다.
일부 구현예들에서, 프로세서 (118) 는 도 1b 내지 도 1c 를 참조하여 설명된 바와 같이 비디오 콘텐츠 (140) (또는, 비디오 콘텐츠 (114)), 요약 프레임 (122), 또는 양자 모두를 압축하도록 구성된 비디오 인코더를 포함할 수도 있다. 예를 들어, 프로세서 (118) 의 비디오 인코더는 요약 프레임 (122) 을 인코딩하여, 요약 프레임 (122) 을 나타내는 인코딩된 파일을 발생시키도록 구성될 수도 있다. 일부 구현예들에서, 인코딩된 파일은 요약 프레임 (122) 과 연관된 메타데이터 (예컨대, 메타데이터 (124) 의 적어도 일부분) 를 포함할 수도 있다.
요약 프레임 (122) 을 발생시킴으로써, 비디오 콘텐츠 (140) 의 부분에서 일어나는 모션으로 인해 "관심있는" 비디오 콘텐츠 (140) 의 부분을 요약하는 단일 이미지 프레임이 발생될 수도 있다. 요약 프레임 (122) 은 사용자로 하여금 요약 프레임 (122) 을 빨리 검토가능하게 하여 비디오 콘텐츠의 부분 동안 일어난 모션 활동의 이해를 얻을 수 있게 할 수도 있다. 추가적으로, 요약 프레임 (122) 을 다른 디바이스로 전송되는 통지 (128) 에 포함시킴으로써, 통지 (128) 의 데이터 사이즈가 비디오 콘텐츠의 부분 (예컨대, 비디오 클립) 을 포함하는 통지를 전송하는 것에 비해 감소될 수도 있다. 따라서, (비디오 클립이 아닌) 요약 프레임 (122) 을 포함하는 통지 (116) 가 비디오 클립을 포함하는 통지보다 더 빨리 다른 디바이스에 제공될 수도 있다.
도 1b 를 참조하면, 요약 프레임을 발생시키도록 동작가능한 시스템 (160) 의 실례가 도시된다. 시스템 (160) 은 도 1a 의 시스템 (100) 을 포함하거나 또는 이에 대응할 수도 있다.
시스템 (160) 은 카메라 (162), 송신기 (184), 및 수신기 (186) 를 포함할 수도 있다. 카메라 (162) 는 도 1 의 디바이스 (102) 를 포함하거나 또는 이에 대응할 수도 있다. 일부 구현예들에서, 송신기 (184) 및 수신기 (186) 는 동일한 디바이스, 예컨대 트랜시버에 포함될 수도 있다. 송신기 (184) 및 수신기 (186) 의 각각은 카메라 (162) 와 별개인 것으로 설명되지만, 다른 구현예들에서, 송신기 (184), 수신기 (186), 또는 양자 모두는 카메라 (162) 에 포함될 수도 있다. 일부 구현예들에서, 카메라 (162) 는 예시적인, 비한정적인 예로서, 인터넷 프로토콜 (IP) 카메라를 포함할 수도 있다.
카메라 (162) 는 캡쳐 유닛 (164), 메모리 (166), 및 프로세서 (174) 를 포함할 수도 있다. 캡쳐 유닛 (164) 은 렌즈 (165) 를 포함할 수도 있다. 캡쳐 유닛 (164) 은 비디오 콘텐츠 (167) (예컨대, 이미지 데이터) 와 같은, 비디오 프레임 시퀀스를 획득하도록 구성될 수도 있다. 일부 구현예들에서, 비디오 프레임 시퀀스의 각각의 비디오 프레임은 대응하는 프레임 인덱스를 가질 수도 있다.
메모리 (166) 는 도 1a 의 메모리 (112) 를 포함하거나 또는 이에 대응할 수도 있다. 메모리 (166) 는 프레임 버퍼 (168), 인덱싱된 비디오 콘텐츠 (170), 및 디바이스 정보 (172) 를 포함할 수도 있다. 프레임 버퍼 (168) 는 도 1 의 프레임 버퍼 (110) 를 포함하거나 또는 이에 대응할 수도 있다. 인덱싱된 비디오 콘텐츠 (170) 는 본원에서 추가로 설명되는 바와 같이, 하나 이상의 요약 프레임들을 이용하여 인덱싱된 비디오 콘텐츠 (167) 의 적어도 일부분을 포함하거나 또는 이에 대응할 수도 있다. 추가적으로 또는 대안적으로, 인덱싱된 비디오 콘텐츠 (170) 는 본원에서 추가로 설명되는 바와 같이, 요약 프레임을 발생시키기 위해 사용될 요약 프레임 발생기 (180) 에 의해 선택되는 비디오 콘텐츠 (167) 의 하나 이상의 프레임들 (예컨대, 키 프레임들) 을 이용하여, 인덱싱될 수도 있다.
디바이스 정보 (172) 는 카메라 (162) 에 커플링된 (예컨대, 통신가능하게 커플링된) 하나 이상의 디바이스들과 연관될 수도 있다. 하나 이상의 디바이스들의 각각은 카메라 (162) 로부터 데이터를 수신하도록 구성될 수도 있다. 예를 들어, 하나 이상의 디바이스들의 제 1 디바이스는 카메라 (162) 로부터 원격으로 로케이트되고, 카메라 (162) 로부터, 비디오 콘텐츠 (167), 하나 이상의 요약 프레임들, 하나 이상의 통지들, 인덱싱된 비디오 콘텐츠 (170) 의 부분, 또는 이들의 조합을 수신하도록 구성될 수도 있다. 하나 이상의 디바이스들의 각각에 대해, 디바이스 정보 (172) 는 예시적인, 비한정적인 예들로서, 디바이스와 연관된 디바이스 어드레스 (예컨대, 이메일 어드레스, 전화 번호, 인터넷 프로토콜 (IP) 어드레스, 계정 번호, 프로파일, 등), 인증 정보 (예컨대, 사용자 이름, 패스워드, 계정 번호, 등), 인가 정보 (예컨대, 사용자 권리들), 또는 이들의 조합을 표시하는 데이터를 포함할 수도 있다. 특정의 디바이스의 디바이스 어드레스는 카메라 (162) 로 하여금 데이터를 특정의 디바이스로 전송가능하게 할 수도 있다. 인증 정보는 카메라 (162) 로 하여금, 카메라 (162) 에서 발생되거나 또는 저장된 비디오 콘텐츠 (예컨대, 비디오 콘텐츠 (167) 또는 인덱싱된 비디오 콘텐츠 (170)) 에 액세스하라는 특정의 디바이스로부터의 요청에 응답하여, 특정의 디바이스를 인증가능하게 할 수도 있다. 인가 정보는 특정의 디바이스에 제공될 수도 있는 데이터를 표시할 수도 있다
프로세서 (174) 는 도 1a 의 프로세서 (118) 를 포함하거나 또는 이에 대응할 수도 있다 프로세서는 요약 프레임 발생기 (180), 통지 발생기 (182), 비디오 인코더 (176), 및 모드 제어기 (178) 를 포함할 수도 있다 요약 프레임 발생기 (180) 및 통지 발생기 (182) 는 각각 도 1a 의, 요약 프레임 발생기 (120) 및 통지 발생기 (126) 를 포함하거나 또는 이에 대응할 수도 있다. 요약 프레임 발생기 (180) 는 하나 이상의 요약 프레임들, 메타데이터 (187), 또는 이들의 조합을 발생하도록 구성될 수도 있다. 하나 이상의 요약 프레임들은 도 1a 의 요약 프레임 (122) 을 포함하거나 또는 이에 대응할 수도 있다. 메타데이터 (187) 는 도 1a 의 메타데이터 (124) 를 포함하거나 또는 이에 대응할 수도 있다. 요약 프레임 발생기 (180) 는 하나 이상의 요약 프레임들을 비디오 인코더 (176) 에, 통지 발생기 (182) 에, 저장을 위해 메모리 (166) 에, 또는 인덱싱된 비디오 콘텐츠 (170) 를 발생시키기 위해 비디오 콘텐츠 (167) 를 인덱싱하도록 구성된 인덱서에, 제공하도록 구성될 수도 있다. 추가적으로 또는 대안적으로, 요약 프레임 발생기 (180) 는 메타데이터 (187) 를 통지 발생기 (182) 에, 인덱서에, 또는 저장을 위해 메모리 (166) 에 제공하도록 구성될 수도 있다.
통지 발생기 (182) 는 통지 (188) 와 같은, 하나 이상의 통지들을 발생시키도록 구성될 수도 있다. 통지 (188) 는 도 1 의 통지 (128) 를 포함하거나 또는 이에 대응할 수도 있다. 일부 구현예들에서, 통지 발생기 (182) 는 디바이스 정보 (172) 에 기초하여 통지 (188) 를 발생시킬 수도 있다. 예를 들어, 통지 발생기 (182) 는 디바이스 정보 (172) 에 기초하여 특정의 디바이스에 (예컨대, 특정의 디바이스의 어드레스에) 제공될 통지 (188) 를 발생시킬 수도 있다.
비디오 인코더 (176) 는 비디오 데이터와 같은, 이미지 데이터를 인코딩하도록 (예컨대, 압축하도록) 구성될 수도 있다. 예를 들어, 비디오 인코더 (176) 는 비디오 콘텐츠 (167), 인덱싱된 비디오 콘텐츠 (170), 또는 요약 프레임 발생기 (180) 에 의해 발생된 요약 프레임을 압축하도록 구성될 수도 있다.
모드 제어기 (178) 는 비디오 인코더 (176) 가 요약 프레임 발생기 (180) 에 의해 발생된 요약 프레임을 압축하는지 또는 비디오 콘텐츠 (167) 또는 인덱싱된 비디오 콘텐츠 (170) 와 같은, 비디오 콘텐츠를 압축하는지를 제어하도록 구성될 수도 있다. 일부 구현예들에서, 모드 제어기 (178) 는 카메라 (162) 의 모드를 나타내는 값을 저장하는 레지스터를 포함할 수도 있다. 모드 제어기 (178) 는 비디오 인코더 (176) 가 요약 프레임을 압축하는지 또는 비디오 콘텐츠 (167) 와 같은, 비디오 프레임 시퀀스를 압축하는지를 제어하도록 구성될 수도 있다. 예를 들어, 그 값이 0 이면, 카메라 (162) 는 비디오 인코더 (176) 가 비디오 콘텐츠 (167) 를 인코딩하도록 구성되는 제 1 모드에 있을 수도 있다. 그 값이 1 이면, 카메라 (162) 는 비디오 인코더 (176) 가 요약 프레임 발생기 (180) 에 의해 발생된 하나 이상의 요약 프레임들을 인코딩하도록 구성되는 제 2 모드에 있을 수도 있다. 제 2 모드에서, 요약 프레임 발생기 (180) 는 도 2 를 참조하여 설명된 바와 같이, 모션 이벤트의 종료를 검출하는 것에 기초하여, 요약 프레임을 발생시키도록 구성될 수도 있다. 추가적으로 또는 대안적으로, 제 2 모드에서, 통지 발생기 (182) 는 하나 이상의 통지들을 발생시키도록 구성될 수도 있으며, 여기서, 각각의 통지는 단일 요약 프레임을 포함한다. 예를 들어, 통지 발생기 (182) 는 요약 프레임 발생기 (180) 가 특정의 요약 프레임을 발생시키는 것에 응답하여 특정의 통지를 발생시킬 수도 있다.
모드 제어기 (178) 는 2개의 모드들을 가지는 것으로 설명되지만, 다른 구현예들에서, 모드 제어기 (178) 는 단일 모드 또는 2개보다 많은 모드들을 포함할 수도 있다. 추가적으로 또는 대안적으로, 모드 제어기 (178) 는 도 1b 를 참조하여 설명된 모드들 이외의 모드를 포함할 수도 있다. 예를 들어, 모드 제어기 (178) 는 도 1c 를 참조하여 설명된 바와 같이, 연쇄 모드를 포함할 수도 있다. 연쇄 모드는 요약 프레임 발생기 (180) 로 하여금, 프로그래밍가능 시간 기간과 같은, 시간 기간에 기초하여 하나 이상의 요약 프레임들을 발생시키게 할 수도 있다. 예시하자면, 특정의 시간 기간의 만료에 응답하여, 요약 프레임 발생기 (180) 는 특정의 시간 기간 동안에 발생된 비디오 콘텐츠 (167) 의 부분을 분석하여, 비디오 콘텐츠 (167) 의 부분에 기초하여 하나 이상의 요약 프레임들을 발생시킬 수도 있다. 예를 들어, 요약 프레임 발생기 (180) 는 비디오 콘텐츠 (167) 의 부분에서 검출된 각각의 모션 이벤트에 대해 적어도 하나의 요약 프레임을 발생시킬 수도 있다. 일부 구현예들에서, 통지 발생기 (182) 는 비디오 콘텐츠 (167) 의 부분에 기초하여 발생된 하나 이상의 요약 프레임들의 각각을 포함하도록 단일 통지 (188) 를 발생시킬 수도 있다. 연쇄 모드는 또한 비디오 인코더 (176) 로 하여금, 비디오 콘텐츠 (167) 의 부분에 기초하여 요약 프레임 발생기 (180) 에 의해 발생된 하나 이상의 요약 프레임들을 압축가능하게 할 수도 있다. 예시하자면, 일부 구현예들에서, 비디오 인코더 (176) 는 요약 프레임 발생기 (180) 에 의해 발생된 다수의 요약 프레임들을 압축할 수도 있다.
모드 제어기 (178) 는 프로세서 (174) 에 포함되는 것으로 설명되지만, 다른 구현예들에서, 모드 제어기 (178) 는 프로세서로부터 분리될 수도 있다. 이러한 구현예들에서, 모드 제어기 (178) 는 프로세서 (174), 프로세서 (174) 의 하나 이상의 컴포넌트들, 또는 이들의 조합에, 전기적으로 커플링되거나, 또는 통신가능하게 커플링되거나, 또는 양자 모두에 의해 커플링될 수도 있다. 예를 들어, 모드 제어기 (178) 는 프로세서 (174) 와 전기 통신할 수도 있다.
카메라 (162) 는 송신기 (184) 및 수신기 (186) 에 커플링될 수도 있다. 송신기 (184) 는 데이터를 하나 이상의 디바이스들, 예컨대, 유선 접속, 무선 접속, 또는 이들의 조합을 통해서 카메라 (162) 에 통신가능하게 커플링된 디바이스로 송신하도록 구성될 수도 있다. 송신기 (184) 에 의해 송신되는 데이터는 예시적인, 비한정적인 예들로서, 비디오 콘텐츠 (167) 의 적어도 일부분, 인덱싱된 비디오 콘텐츠 (170) 의 적어도 일부분, 하나 이상의 요약 프레임들, 메타데이터 (187) 의 적어도 일부분, 통지 (188), 또는 이들의 조합을 포함할 수도 있다. 송신기 (184) 에 의해 송신되는 데이터는 인코딩된 데이터 (예컨대, 압축된 데이터), 비-인코딩된 데이터 (예컨대, 비압축된 데이터), 또는 이들의 조합을 포함할 수도 있다.
수신기 (186) 는 하나 이상의 디바이스들로부터 데이터를 수신하도록 구성될 수도 있다. 일부 구현예들에서, 하나 이상의 디바이스들로부터 수신되는 데이터는 예시적인, 비한정적인 예들로서, 요청 (189), 디바이스 정보 (172) 의 부분, 또는 이들의 조합을 포함할 수도 있다. 예시하자면, 특정의 구현예에서, 수신기 (186) 는 송신될 통지 신호 (예컨대, 통지 (188)) 에 대한 요청 (189) 을 수신하도록 구성될 수도 있다. 다른 예로서, 프로세서 (174) 는 요약 프레임 발생기 (180) 에 의해 발생된 특정의 요약 프레임과 연관된 메타데이터 (187) 를 송신하라는 요청 (189) 을 (수신기 (186) 를 통해서) 수신하도록 구성될 수도 있다.
송신기 (184) 및 수신기 (186) 는 카메라 (162) 와 분리된 것으로 설명되지만, 다른 구현예들에서, 송신기 (184), 수신기 (186), 또는 양자 모두는, 카메라 (162) 에 포함될 수도 있다. 송신기 (184) 및 수신기 (186) 는 서로 분리된 것으로 설명되지만, 다른 구현예들에서, 송신기 (184) 및 수신기 (186) 는 트랜시버에 포함될 수도 있다.
동작 동안, 캡쳐 유닛 (164) 은 비디오 콘텐츠 (167) 를 발생시키고 비디오 콘텐츠 (167) 를 프레임 버퍼 (168) 에 제공할 수도 있다. 프로세서 (174) 는 프레임 버퍼 (168) 로부터 비디오 콘텐츠 (167) 를 수신할 수도 있으며, 모드 제어기 (178) 에 의해 표시된 모드에 따라서 비디오 콘텐츠 (167) 를 처리할 수도 있다. 예를 들어, 제 1 모드에서, 비디오 인코더 (176) 는 송신기 (184) 를 통해서 다른 디바이스로 송신될 비디오 콘텐츠 (167) 를 인코딩할 수도 있다. 제 2 모드에서, 요약 프레임 발생기 (180) 는 비디오 콘텐츠 (167) 에 기초하여 요약 프레임을 발생시킬 수도 있다. 비디오 인코더 (176) 는 요약 프레임을 인코딩하여, 압축된 요약 프레임과 같은, 압축된 데이터 (177) 를 발생시킬 수도 있다. 송신기 (184) 는 압축된 데이터 (177) 를 수신할 수도 있으며, 송신된 압축된 데이터 (185) (예컨대, 송신된 압축된 요약 프레임) 를 다른 디바이스에 제공할 수도 있다. 일부 구현예들에서, 요약 프레임 (또는, 그의 압축된 버전) 은 통지 (188) 에 포함될 수도 있다.
도 1c 를 참조하면, 요약 프레임을 발생시키도록 동작가능한 시스템 (190) 의 실례가 도시된다. 시스템 (190) 은 도 1a 의 시스템 (100) 또는 도 1b 의 시스템 (160) 을 포함하거나 또는 이에 대응할 수도 있다.
도 1b 를 참조하여 설명된 바와 같이, 모드 제어기 (178) 는 비디오 인코더 (176) 가 (요약 프레임 발생기 (180) 에 의해 발생된) 하나 이상의 요약 프레임들을 압축하는지 또는 비디오 콘텐츠 (167) 또는 인덱싱된 비디오 콘텐츠 (170) 와 같은, 비디오 콘텐츠를 압축하는지를 제어하도록 구성될 수도 있다. 일부 구현예들에서, 모드 제어기 (178) 는 카메라 (162) 의 모드를 나타내는 값을 저장하는 레지스터를 포함할 수도 있다. 예를 들어, 그 값이 0 이면, 카메라 (162) 는 비디오 인코더 (176) 가 비디오 콘텐츠 (167) 를 인코딩하도록 구성되는 제 1 모드에 있을 수도 있다. 그 값이 1 이면, 카메라 (162) 는 비디오 인코더 (176) 가 요약 프레임 발생기 (180) 에 의해 발생된 개개의 요약 프레임들을 인코딩하도록 구성되는 제 2 모드에 있을 수도 있다. 도 1c 의 예에서, 그 값이 2 이면, 카메라 (162) 는 비디오 인코더가 요약 프레임 발생기 (180) 에 의해 발생된 하나 이상의 요약 프레임들의 그룹을 압축하도록 구성되는 제 3 모드 (예컨대, 연쇄 모드) 에 있을 수도 있다.
제 3 모드에서, 요약 프레임 발생기 (180) 는 시간 기간 (예컨대, 프로그래밍가능 시간 기간) 에 기초하여 하나 이상의 요약 프레임들을 발생시킬 수도 있다. 예시하자면, 특정의 시간 기간의 만료에 응답하여, 요약 프레임 발생기 (180) 는 특정의 시간 기간 동안에 발생된 비디오 콘텐츠 (167) 의 부분을 분석하여, 비디오 콘텐츠 (167) 의 부분에 기초하여 하나 이상의 요약 프레임들을 발생시킬 수도 있다. 일부 구현예들에서, 통지 발생기 (182) 는 비디오 콘텐츠 (167) 의 부분에 기초하여 발생된 하나 이상의 요약 프레임들을 포함하도록 통지 (188) 를 발생시킬 수도 있다. 연쇄 모드 동안, 비디오 인코더 (176) 는 비디오 콘텐츠 (167) 의 부분에 기초하여 요약 프레임 발생기 (180) 에 의해 발생된 하나 이상의 요약 프레임들을 압축할 수도 있다. 예를 들어, 일부 구현예들에서, 비디오 인코더 (176) 는 요약 프레임 발생기 (180) 에 의해 발생된 상이한 요약 프레임들 (예컨대, 다수의 요약 프레임들) 의 연쇄를 압축할 수도 있다.
요약 프레임 연쇄 (196) 의 실례가 (194) 에 도시된다. 요약 프레임 연쇄 (196) 의 예 (194) 는 제 1 요약 프레임 (198), 제 2 요약 프레임 (199), 및 연쇄된 메타데이터 (197) 를 포함한다. 일부 구현예들에서, 제 1 요약 프레임 (198) 은 비디오 콘텐츠 (167) 에 포함된 제 1 모션 이벤트와 연관될 수도 있으며, 제 2 요약 프레임 (199) 은 비디오 콘텐츠 (167) 에 포함된 제 2 모션 이벤트와 연관될 수도 있다. 연쇄된 메타데이터 (197) 는 제 1 요약 프레임 (198) 에 대응하는 제 1 메타데이터 및 제 2 요약 프레임 (199) 에 대응하는 제 2 메타데이터 중 일부 또는 전부의 조합을 포함할 수도 있다. 요약 프레임 연쇄 (196) 는 다수의 별개의 요약 프레임들을 포함하는 것으로 설명되지만, 다른 구현예들에서, 요약 프레임 연쇄 (196) 는 단일 연쇄된 요약 프레임을 포함할 수도 있다. 예시하자면, 제 1 요약 프레임 (198) 은 제 1 오브젝트의 제 1 표현 세트를 포함할 수도 있으며, 제 2 요약 프레임 (199) 은 제 2 오브젝트의 제 2 표현 세트를 포함할 수도 있다. 연쇄된 요약 프레임은 제 1 오브젝트의 제 1 표현 세트 및 제 2 오브젝트의 제 2 표현 세트를 포함할 수도 있다. 제 1 오브젝트의 제 1 표현 세트 및 제 2 오브젝트의 제 2 표현 세트는 집중된 (concentrated) 요약 프레임의 공통 배경 상에 제시될 수도 있다. 일부 구현예들에서, 요약 프레임 연쇄 (196) 는 통지 (188) 에 대응할 수도 있다.
시스템 (190) 의 동작 동안, 캡쳐 유닛 (164) 은 비디오 콘텐츠 (167) 를 발생시키고 비디오 콘텐츠 (167) 를 프레임 버퍼 (168) 에 제공할 수도 있다. 프로세서 (174) 는 프레임 버퍼 (168) 로부터 비디오 콘텐츠 (167) 를 수신할 수도 있으며, 모드 제어기 (178) 에 의해 표시된 모드에 따라서 비디오 콘텐츠 (167) 를 처리할 수도 있다. 예를 들어, 제 3 모드에서, 비디오 인코더 (176) 는 특정의 시간 기간과 연관된 하나 이상의 요약 프레임들을 인코딩할 수도 있다. 하나 이상의 요약 프레임들은 요약 프레임 연쇄 (196) 와 같은, 요약 프레임 연쇄와 결합될 (예컨대, 그에 포함될) 수도 있다. 비디오 인코더 (176) 는 요약 프레임 연쇄 (196) 를 인코딩하여, 압축된 요약 프레임 연쇄와 같은, 압축된 데이터 (192) 를 발생시킬 수도 있다. 송신기 (184) 는 압축된 데이터 (192) 를 수신할 수도 있으며, 송신된 압축된 데이터 (193) (예컨대, 송신된 압축된 요약 프레임 연쇄) 를 다른 디바이스에 제공할 수도 있다. 일부 구현예들에서, 요약 프레임 연쇄 (196) (또는, 그의 압축된 버전) 는 통지 (188) 에 포함될 수도 있다.
도 2 를 참조하면, 요약 프레임을 발생시키도록 동작가능한 시스템 (200) 의 실례가 도시된다. 시스템 (200) 은 도 1a 의 요약 프레임 발생기 (120) 를 포함한다. 요약 프레임 발생기 (120) 는 다수의 이미지 프레임들과 같은, 이미지 프레임들 (240) 을 수신하도록 구성된다. 예를 들어, 이미지 프레임들 (240) 은 도 1a 의 비디오 콘텐츠 (140) 또는 도 1b 내지 도 1c 의 비디오 콘텐츠 (167) 를 포함하거나 또는 이들에 대응할 수도 있다. 이미지 프레임들 (240) 은 버퍼 또는 메모리와 같은 저장 유닛 (미도시) 으로부터, 또는 도 1b 내지 도 1c 의 캡쳐 유닛 (164) 과 같은 캡쳐 유닛 (미도시) 으로부터 수신될 수도 있다. 이미지 프레임들 (240) 은 이미지 프레임들 (241-246) 과 같은, 이미지 프레임들의 시퀀스를 포함할 수도 있다. 일부 구현예들에서, 이미지 프레임들 (240) 을 발생시키는 캡쳐 유닛은 고정된 (및 정지된) 위치에 장착되며, 카메라의 시야의 배경은 정지된 것으로 간주될 수도 있다. 예를 들어, 배경은 장 기간 동안 고정 (또는, 상대적으로 고정) 된 상태로 유지되는, 빌딩들, 나무들, 간판들, 등과 같은, 특징들을 포함할 수도 있다.
요약 프레임 발생기 (120) 는 배경 발생기 (210), 이벤트 검출기 (212), 키 프레임 선택기 (214), 및 결합기 (228) 를 포함할 수도 있다. 일부 구현예들에서, 이미지 프레임들 (240) 은 요약 프레임 발생기 (120) 에 의해 프레임 단위로 수신될 수도 있다. 요약 프레임 발생기 (120) 에 의해 수신된 이미지 프레임들 (240) 의 각각의 프레임은 배경 발생기 (210), 이벤트 검출기 (212), 및 키 프레임 선택기 (214) 에 제공될 수도 있다.
배경 발생기 (210) 는 이미지 프레임들 (240) 의 적어도 하나의 프레임에 기초하여 배경 모델 (230) 을 발생시키도록 (예컨대, 유지하도록) 구성될 수도 있다. 예를 들어, 배경 발생기 (210) 는 프레임 차이 (differencing), 평균 필터링, 가우시안 평균, 배경 혼합 모델링, 서베이 (survey), 등과 같은, 하나 이상의 접근법들을 이용하여, 배경 모델 (230) 을 발생시킬 수도 있다. 일부 구현예들에서, 배경 발생기 (210) 가 새로운 이미지 프레임들을 수신함에 따라, 배경 발생기 (210) 는 배경 모델 (230) 을 끊임없이 업데이트할 수도 있다. 배경 모델 (230) 은 이벤트 검출기 (212), 결합기 (228), 또는 양자 모두에 제공될 수도 있다.
이벤트 검출기 (212) 는 이미지 프레임들 (240) 에 기초하여 모션 이벤트의 시작 및 종료를 검출하도록 구성될 수도 있다. 시작과 종료 사이의 어떤 시간 기간은 모션 이벤트 기간으로서 지칭될 수도 있다. 이벤트 검출기 (212) 는 모션 이벤트 기간의 시작과 종료를 결정하도록 구성될 수도 있다. 이벤트 검출기 (212) 는 예시적인, 비한정적인 예들로서, 이미지 세그멘테이션, 칼라 세그멘테이션, 이미지 필터링, 가속 세그먼트 테스트로부터의 특징들 (FAST; features from accelerated segment test), 스피드업된 강건한 특징들 (SURF; speeded up robust features), 스케일-불변 특징 변환 (SIFT), 모서리 검출, 에지 검출, 배경 제거, 블랍 검출, 등과 같은, 하나 이상의 검출 알고리즘들을 수행함으로써, 모션 이벤트 기간을 검출할 수도 있다. 예를 들어, 이벤트 검출기 (212) 는 배경 제거 및 전경 모션 검출을 이용하여, 모션 이벤트 기간의 시작과 종료를 결정할 수도 있다. 추가적으로 또는 대안적으로, 모션 이벤트 기간은 하나 이상의 분류 알고리즘들, 장면들 의미 분석 알고리즘, 또는 이들의 조합을 이용하여 검출될 수도 있다.
모션 이벤트 기간의 시작은 이미지 프레임들 (240) (예컨대, 비디오 콘텐츠) 의 특정의 프레임에서 모션 (예컨대, 움직임) 을 검출하는 것에 응답하여 식별될 수도 있다. 예시적인, 비한정적인 예로서, 이벤트 검출기 (212) 는 배경 제거를 이용하여 이미지 프레임들 (240) 에서 모션을 검출할 수도 있다. 배경 제거는 (이미지 프레임들 (240) 의) 제 1 특정의 프레임과 배경 이미지 또는 배경 모델 (예컨대, 배경 모델 (230)) 로서 지칭될 수도 있는 참조 프레임 사이에 차이가 결정되는 이미지 처리 기법이다. 제 1 특정의 프레임과 제 1 배경 이미지 사이의 차이는 블랍 또는 전경 블랍으로서 종종 지칭되는, 적어도 하나의 전경 오브젝트와 연관될 수도 있다. 제 1 특정의 프레임과 배경 이미지 사이의 차이가 제 1 임계치보다 크거나 또는 같으면, 이벤트 검출기 (212) 는 (예컨대, 모션이 특정의 프레임에서 검출되는) 모션 이벤트 기간의 시작의 검출을 표시할 수도 있다. 예시하자면, 제 1 특정의 프레임의 전경 블랍의, 픽셀들의 수와 같은, 사이즈가 임계 사이즈보다 크거나 또는 같으면 모션 이벤트 기간의 시작은 제 1 특정의 프레임에 대응할 수도 있다.
예를 들어, 이벤트 검출기 (212) 는 이미지 프레임들 (240) 의 특정의 프레임을 수신하고 특정의 이미지 프레임을 배경 모델 (230) 을 비교하도록 (예컨대, 그들 사이의 차이를 결정하도록) 구성될 수도 있다. (오브젝트에 대응하는) 차이가 임계치보다 크거나 또는 같으면, 이벤트 검출기 (212) 는 모션 이벤트가 시작되었다고 결정할 수도 있다. 예를 들어, 이벤트 검출기 (212) 는 제 1 이미지 프레임 (241) 을 수신할 수도 있으며, 배경 모델 (230) 에 대한 제 1 이미지 프레임 (241) 의 비교에 기초하여 어떤 모션도 검출되지 않는다고 결정할 수도 있다. 제 1 이미지 프레임 (241) 을 수신한 후, 이벤트 검출기 (212) 는 제 2 이미지 프레임 (242) 을 수신할 수도 있으며, 배경 모델 (230) 에 대한 제 2 이미지 프레임 (242) 의 비교에 기초하여 모션 이벤트의 시작을 식별할 수도 있다. 예를 들어, 제 2 이미지 프레임 (242) 에 포함된 오브젝트 (예컨대, 자전거를 탄 사람) 는 제 2 이미지 프레임 (242) 과 배경 모델 (230) 사이의 차이가 임계치보다 크거나 또는 같게 할 수도 있다.
모션 이벤트 기간의 종료는 (모션 이벤트 기간의 시작이 검출된 후) 이미지 프레임들 (240) 에서 모션을 검출하는 것을 중지하는 것에 응답하여 식별될 수도 있다. 예를 들어, 이벤트 검출기 (212) 는 모션 이벤트 기간의 시작이 검출된 후 모션 이벤트 기간의 종료를 결정할 수도 있다. 모션 이벤트 기간의 종료는 (이미지 프레임들 (240) 의) 제 2 특정의 프레임과 제 2 배경 이미지 사이의 차이가 제 2 임계치보다 작거나 또는 같은 것에 응답하여 결정될 수도 있다. 예시하자면, 제 2 특정의 이미지와 연관된 제 2 전경 블랍의 사이즈가 제 2 임계치보다 작거나 또는 같으면, 이벤트 검출기 (212) 는 제 2 특정의 프레임이 모션 이벤트 기간의 종료와 연관된다는 것을 표시할 수도 있다. 제 1 배경 모델 (예컨대, 제 1 배경 이미지) 및 제 2 배경 모델 (예컨대, 제 2 배경 이미지) 은 동일할 수도 있거나 또는 상이할 수도 있다. 일부 구현예들에서, 제 2 배경 모델은 제 1 배경 모델의 업데이트된 버전일 수도 있다.
모션 이벤트의 종료의 식별을 예시하자면, 이벤트 검출기 (212) 는 모션 이벤트가 시작되었다고 결정한 후 모션 이벤트의 종료를 식별하기 위해 후속 입력 프레임들을 처리할 수도 있다. 예를 들어, 이벤트 검출기 (212) 는 수신된 이미지 프레임과 배경 모델 (230) 사이의 차이가 임계치보다 작으면, 모션 이벤트의 종료를 식별할 수도 있다. 예시하자면, 이벤트 검출기 (212) 는 이미지 프레임 (246) 을 수신할 수도 있으며, 이미지 프레임 (246) 및 배경 모델 (230) 의 비교에 기초하여 모션 이벤트의 종료를 검출할 수도 있다. 일부 구현예들에서, 이벤트 검출기 (212) 는 이미지 프레임들 (240) 의 2개의 연속적으로 수신된 이미지 프레임들을 비교함으로써 모션 이벤트의 종료를 검출할 수도 있다. 예를 들어, 이벤트 검출기 (212) 는 이미지 프레임 (246) 을 이전에 수신된 이미지 프레임과 비교할 수도 있으며, 이미지 프레임 (246) 과 이전에 수신된 이미지 프레임들 사이의 차이가 제 2 임계치보다 작거나 또는 같으면, 이벤트 검출기 (212) 는 모션 이벤트의 종료를 식별할 수도 있다.
이벤트 검출기 (212) 는 제 1 표시자 (232) (예컨대, 이벤트 시작 표시자) 및 제 2 표시자 (234) (예컨대, 이벤트 종료 표시자) 를 키 프레임 선택기 (214) 로 전송할 수도 있다. 예를 들어, 이벤트 검출기 (212) 는 모션 이벤트가 시작되었다고 결정하는 것에 응답하여 제 1 표시자 (232) 를 전송할 수도 있으며, 모션 이벤트가 종료되었다고 결정하는 것에 응답하여 제 2 표시자를 전송할 수도 있다. 제 1 표시자 (232) 는 모션 이벤트의 시작에 대응하는 제 1 타임 스탬프, 모션 이벤트의 시작에 대응하는 제 1 특정의 이미지 프레임 또는 제 1 특정의 이미지 프레임의 제 1 프레임 인덱스 값, 또는 이들의 조합을 표시하는 데이터를 포함할 수도 있다. 제 2 표시자 (233) 는 모션 이벤트의 종료에 대응하는 제 2 타임 스탬프, 모션 이벤트의 종료에 대응하는 제 2 특정의 이미지 프레임 또는 제 2 특정의 이미지 프레임의 제 2 프레임 인덱스 값, 모션 이벤트의 지속기간, 모션 이벤트와 연관된 프레임들의 수, 제 1 특정의 이미지 프레임으로부터 제 2 특정의 이미지 프레임까지의 오프셋, 또는 이들의 조합을 포함할 수도 있다. 제 1 표시자 (232) 및 제 2 표시자 (234) 는 별개의 표시자들인 것으로 설명되지만, 다른 구현예들에서, 제 1 표시자 (232) 및 제 2 표시자 (234) 는 단일 표시자로 결합될 수도 있다. 이벤트 검출기 (212) 는 모션 이벤트의 종료를 결정하는 것에 응답하여 단일 표시자를 키 프레임 선택기 (214) 로 전송할 수도 있다.
키 프레임 선택기 (214) (또는, 키 프레임 선택기 (214) 를 포함하거나 또는 구현하는 프로세서) 는 모션 이벤트 기간 (예컨대, 모션 이벤트) 동안 키 프레임들 (236) 로서 지정될 이미지 프레임들 (240) 중 다수의 프레임들을 결정하도록 (예컨대, 선택하도록) 구성될 수도 있다. 예를 들어, 키 프레임 선택기 (214) 는 본원에서 추가로 설명되는 바와 같이, 이미지 프레임들 (240) 의 2개 이상의 프레임들을 키 프레임들 (236) 로서 선택하도록 구성될 수도 있다.
키 프레임 선택기 (214) 는 버퍼 (216) 및 이벤트 분석기 (218) 를 포함할 수도 있다. 버퍼 (216) 는 이미지 프레임들 (240) 의 하나 이상의 이미지 프레임들을 저장하도록 구성될 수도 있다. 일부 구현예들에서, 버퍼 (216) 는 제 1 표시자 (232) (예컨대, 이벤트 시작 표시자) 에 응답하여 하나 이상의 이미지 프레임들을 저장하기 시작할 수도 있다. 다른 구현예들에서, 버퍼 (216) 는 선입선출 (FIFO) 버퍼로서 동작할 수도 있으며, 수신된 이미지 프레임들을 끊임없이 버퍼링할 수도 있다. 버퍼 (216) 는 요약 프레임 발생기 (120) 에 포함되는 것으로 설명되지만, 다른 구현예들에서, 버퍼 (216) 는 요약 프레임 발생기 (120) 로부터 분리될 수도 있다. 예를 들어, 버퍼 (216) 는 도 1a 의 프레임 버퍼 (110) 또는 도 1b 내지 도 1c 의 프레임 버퍼 (168) 를 포함하거나 또는 이들에 대응할 수도 있다. 다른 예로서, 버퍼 (216) 는 요약 프레임 발생기 (120) 를 포함하는 동일한 프로세서에 포함될, 예컨대, 도 1a 의 프로세서 (118) 또는 도 1b 내지 도 1c 의 프로세서 (174) 에 포함될 수도 있다.
키 프레임 선택기 (214) 는 키 프레임들 (236) 로서 결합기 (228) 에 제공될 다수의 프레임들을 (버퍼 (216) 에 저장된 프레임들로부터) 선택하기 위해 선택 알고리즘을 이용할 수도 있다. 일부 구현예들에서, 키 프레임들 (236) 은 선형적으로 선택될 수도 있다. 예를 들어, 키 프레임 선택기 (214) 는 모션 이벤트 기간에 대응하는 이미지 프레임들 (240) 의 부분의 매 n번째 프레임 (또는, n번째 키 프레임) 을 선택할 수도 있으며, 여기서, n 은 양의 정수이다. 예를 들어, 키 프레임 선택기 (214) 는 키 프레임들 (236) 에 포함될 이미지 프레임들 (240) 의 부분의 매 500 번째 프레임을 선택할 수도 있다. 다른 구현예들에서, 키 프레임 선택기 (214) 는 특정의 개수의 프레임들을 키 프레임들 (236) 로서 선택할 수도 있다. 키 프레임들 (236) 은 이미지 프레임들 (240) 의 서브세트 (예컨대, 모션 이벤트 기간에 대응하는 다수의 이미지 프레임들의 서브세트) 일 수도 있다. 예시하자면, 키 프레임 선택기 (214) 는 이미지 프레임들 (240) 의 부분에 포함된 프레임들의 총 개수로부터 특정의 개수의 프레임들 (예컨대, 미리 결정된 개수의 프레임들) 을 선택할 수도 있다. "키 프레임들" 로서 지칭되지만, 키 프레임들은 인트라코딩된 프레임들 (I-프레임들) 이거나 또는 아닐 수도 있는 것으로 이해되어야 한다. 일부 구현예들에서, 선택된 프레임들은 이미지 프레임들 (240) 의 (모션 이벤트에 대응하는) 부분 전체에 걸쳐 고르게 분포될 수도 있다. 예를 들어, 프레임들의 특정의 개수가 10개의 프레임들이고 이미지 프레임들 (240) 의 (모션 이벤트에 대응하는) 부분의 프레임들의 총 개수가 120 개의 프레임들이면, 이미지 프레임들 (240) 의 부분의 매 12 번째 프레임이 키 프레임으로서 선택될 수도 있다. 대안적으로, 특정의 개수의 프레임들이 매 3번째 이미지 또는 모션 이벤트 동안 균일하게 분포되는 10개의 키 프레임들과 같은, 이미지 프레임들 (240) 의 (모션 이벤트에 대응하는) 부분으로부터 무작위로 선택될 수도 있다.
다른 구현예들에서, 키 프레임 선택기 (214) 는 모션 이벤트의 각각의 프레임에 대한 분석 결과를 결정하는 것을 포함하는 비선형 기법 (예컨대, 비선형 선택 알고리즘) 을 이용할 수도 있다. 비선형 프로세스는 본원에서 추가로 설명되는 바와 같이, 요약 프레임을 생성하는데 사용될 이미지 프레임들 (240) 의 키 프레임들을 선택할 수도 있다. 선택된 키 프레임들은 키 프레임들의 선택이 무작위로 나타나도록 (예컨대, 키 프레임들이 모션 이벤트 기간 동안 시간적으로 고르게 분포되지 않도록) 모션 이벤트에 대해 비선형 분포를 가질 수도 있다.
예를 들어, 비선형 선택 기법은 본원에서 추가로 설명되는 바와 같이, 키 프레임들 (236) 의 선택이 무작위로 나타나도록 (예컨대, 키 프레임들 (236) 이 시간적으로 고르게 분포되지 않도록), 이벤트 분석 결과 (220) (예컨대, 이벤트 측정 결과) 에 따라서 키 프레임들 (236) 을 선택할 수도 있다. 프레임에 대한 이벤트 분석 결과 (220) (예컨대, 분석 측정치) 는 참조 프레임 (예컨대, 이미지 프레임들 (240) 의 다른 프레임, 배경 모델 (230), 등) 과 같은, 다른 프레임에 비교한, 모션의 상대적인 양을 나타낼 수도 있다. 모션의 상대적인 양은 블랍의 로케이션, 블랍의 사이즈, 블랍의 형상, 또는 이들의 조합에 기초하여 결정될 수도 있다. 예시하자면, 프레임 x 의 상대적인 모션은, 프레임 x 에서의 제 1 블랍과 프레임 x-1 (예컨대, 프레임 x 에 선행하는 프레임) 에서의 제 2 블랍 사이의 차이로서 결정될 수도 있으며, 여기서, x 는 양의 정수이다. 일부 구현예들에서, 모션의 상대적인 양은 픽셀들의 수에서의 변화로서 결정될 수도 있다. 다른 구현예들에서, 모션의 상대적인 양은 제 1 블랍의 로케이션과 제 2 블랍의 로케이션 사이의 차이에 기초하여 벡터로서 결정될 수도 있다.
일부 구현예들에서, 키 프레임 선택기 (214) (예컨대, 이벤트 분석기 (218)) 는 연속된 이미지 프레임들의 다수의 이벤트 분석 결과들 (220) 을 프레임 단위로 가산하여, 누적된 값을 발생시킬 수도 있다. 예시하자면, 모션 이벤트 기간과 연관된 각각의 프레임에 대해, 이벤트 분석기 (218) 는 프레임의 이벤트 분석 결과 (220) 를 이전 누적된 값에 가산함으로써 대응하는 누적된 값을 결정할 수도 있다. 각각의 프레임에 대해, 이벤트 분석기 (218) 는 대응하는 누적된 값을 고정된 임계치 (예컨대, 미리 결정된 임계치) 와 비교할 수도 있다. 대응하는 누적된 값이 고정된 임계치보다 크거나 또는 같으면, 누적된 값에 가장 최근에 추가된 이벤트 분석 결과 (220) 에 대응하는 프레임은 키 프레임들 (236) 중 하나로서 선택될 수도 있다. 키 프레임이 선택되는 것에 응답하여, 누적된 값은 고정된 임계치 만큼 감소될 수도 있거나 또는 다음 프레임에 대한 초기 값 (예컨대, 0) 으로 설정될 수도 있다. 대응하는 누적된 값이 고정된 임계치보다 작으면, 대응하는 누적된 값이 다음 이벤트 분석 결과 (220) 와 연관된 다음 프레임에 대한 이전 누적된 값으로서 사용될 수도 있다.
다른 구현예들에서, 임계치는 미리 결정된 개수의 키 프레임들이 선택될 수 있도록 동적으로 결정될 수도 있다. 예를 들어, 요약 프레임 발생기 (120) 는 모션 이벤트 기간과 연관된 모든 프레임들 (예컨대, 비디오 콘텐츠의 부분) 의 다수의 이벤트 분석 결과들 (220) 을 가산하여, 전체 이벤트 결과를 결정할 수도 있다. 전체 이벤트 결과는 모션 이벤트 기간 동안 이미지 프레임들 (240) (예컨대, 비디오 콘텐츠) 의 상대적인 모션의 총량을 표시할 (예컨대, 정량화할) 수도 있다. 이벤트 분석기 (218) 는 전체 이벤트 결과를 선택될 미리 결정된 개수의 키 프레임들로 나눔으로써 모션 이벤트 기간에 대응하는 동적 임계값을 결정할 수도 있다. (비디오 콘텐츠의 부분과 연관된) 연속된 이미지 프레임들의 분석 결과들은 누적된 값을 발생시키기 위해 프레임 단위로 결합될 수도 있다. 예시하자면, 모션 이벤트 기간과 연관된 각각의 프레임에 대해, 요약 프레임 발생기 (120) 는 프레임의 이벤트 분석 결과를 이전 누적된 값에 가산함으로써 대응하는 누적된 값을 결정할 수도 있다. 각각의 프레임에 대해, 요약 프레임 발생기 (120) 는 대응하는 누적된 값을 동적 임계값과 비교할 수도 있다. 누적된 값이 동적 임계값보다 크거나 또는 같으면, 대응하는 프레임이 키 프레임으로서 식별될 수도 있다. 키 프레임이 선택되는 것에 응답하여, 누적된 값은 동적 임계치 만큼 감소될 수도 있거나 또는 다음 프레임에 대한 초기 값 (예컨대, 0) 으로 설정될 수도 있다. 대응하는 누적된 값이 동적 임계치보다 작으면, 대응하는 누적된 값이 다음 이벤트 분석 결과와 연관된 다음 프레임에 대한 이전 누적된 값으로서 사용될 수도 있다. 각각의 프레임에 대한 이벤트 분석 결과를 이용함으로써, 비선형 선택 기법은 프레임들의 세트의 이벤트 분석 결과(들) 가 높을 때는 더 많은 프레임들을 키 프레임들로서 선택하도록 구성될 수도 있으며, 프레임들의 세트의 이벤트 분석 결과(들) 가 낮을 때는 더 적은 프레임들을 선택할 수도 있다.
비선형 기법을 구현하기 위해, 이벤트 분석기 (218) 는 누산기 (222) 및 비교기 (224) 를 포함할 수도 있다. 누산기 (222) 는 연속된 이미지들의 이벤트 분석 결과들 (220) 을 이미지 단위로 가산하여 누적된 값을 발생시키도록 구성될 수도 있다. 일부 구현예들에서, 누산기 (222) 는 가산기, 레지스터, 또는 가산 연산을 수행하도록 구성된 다른 회로부를 포함할 수도 있다.
비교기 (224) 는 누적된 값을 임계치 (226) 와 비교하도록 구성될 수도 있다. 일부 구현예들에서, 임계치 (226) 는 고정된 임계치일 수도 있다. 예시하자면, 각각의 프레임에 대해, 비교기 (224) 는 대응하는 누적된 값을 고정된 임계치 (예컨대, 미리 결정된 임계치) 와 비교할 수도 있으며, 누적된 값이 고정된 임계치보다 크거나 또는 같으면, 대응하는 프레임이 키 프레임으로서 선택될 수도 있으며 키 프레임들 (236) 에 포함될 수도 있다. 일단 키 프레임이 선택되면, 누적된 값이 다음 프레임에 대한 초기 값 (예컨대, 0) 으로 설정될 수도 있거나, 또는 누적된 값으로부터 임계치 (226) 의 값을 감산함으로써 누적된 값이 업데이트될 수도 있다.
다른 구현예들에서, 임계치 (226) 는 미리 결정된 개수의 키 프레임들이 선택될 수 있도록 동적으로 결정될 수도 있다. 예를 들어, 누산기 (222) 는 모션 이벤트와 연관된 모든 이미지 프레임들의 이벤트 분석 결과들 (220) 을 가산하여, 전체 이벤트 분석 결과 (예컨대, 전체 이벤트 측정 값) 를 결정할 수도 있다. 전체 이벤트 분석 결과는 모션 이벤트에 대응하는 이미지 프레임들 (240) 과 연관된 상대적인 모션의 총량과 연관될 (예컨대, 그를 정량화할) 수도 있다. 이벤트 분석기 (218) 는 전체 이벤트 분석 결과를 키 프레임들의 미리 결정된 개수로 나눔으로써 모션 이벤트에 대해 동적 임계값 (예컨대, 임계치 (226)) 을 결정할 수도 있다.
동적 임계값 (예컨대, 임계치 (226)) 이 결정된 후, 누산기 (222) 는 연속된 이미지들의 이벤트 분석 결과들을 이미지 단위로 가산하여, 대응하는 누적된 값을 발생시킬 수도 있다. 각각의 프레임에 대해, 비교기 (224) 는 누적된 값을 동적 임계값 (예컨대, 임계치 (226)) 과 비교할 수도 있으며, 누적된 값이 동적 임계값보다 크거나 또는 같으면, 대응하는 프레임이 키 프레임으로서 식별될 수도 있으며 키 프레임들 (236) 에 포함될 수도 있다. 일단 키 프레임이 선택되면, 누적된 값은 다음 프레임에 대한 초기 값 (예컨대, 0) 으로 설정될 수도 있거나, 또는 누적된 값은 누적된 값으로부터 임계치 (226) 의 값을 감산함으로써 업데이트될 수도 있다.
일부 구현예들에서, 키 프레임들 (236) 은 이미지 프레임들 (240) 이 수신됨에 따라서 선택될 수도 있다. 예를 들어, 모션 이벤트 기간과 연관된 키 프레임들 (236) 중 하나 이상이 모션 이벤트 기간의 종료가 결정되기 전에 선택될 수도 있다. 예시하자면, 매 300 번째 프레임이 키 프레임으로서 선택되면, 키 프레임 선택이 모션 이벤트 기간의 시작이 검출되는 것에 응답하여 시작할 수도 있다. 다른 구현예들에서, 키 프레임들 (236) 은 모션 이벤트와 연관된 부분 이미지 프레임들 (240) 이 수신된 후 선택될 수도 있다. 예를 들어, 특정의 모션 이벤트 기간의 키 프레임들 (236) 은 모션 이벤트 기간의 종료가 이벤트 검출기 (212) 에 의해 결정된 (예컨대, 식별된) 후 선택될 수도 있다.
키 프레임 선택기 (214) 는 또한 메타데이터 (237) 를 발생시키도록 구성될 수도 있다. 메타데이터 (237) 는 도 1a 의 메타데이터 (124) 또는 도 1b 내지 도 1c 의 메타데이터 (187) 를 포함하거나 또는 이들에 대응할 수도 있다. 키 프레임 선택기 (214) 는 메타데이터 (237) 를 결합기 (228) 에 제공할 수도 있거나, 메타데이터 (237) 를 요약 프레임 발생기 (120) 의 출력으로서 제공할 수도 있거나, 또는 양자 모두에 의해 제공할 수도 있다.
결합기 (228) 는 요약 프레임 (238) 을 발생시키도록 구성될 수도 있다. 요약 프레임 (238) 은 오브젝트의 다수의 표현들을 나타낼 수도 있다. 오브젝트는 모션 이벤트에 대응하는 이미지 프레임들 (240) 의 부분에 포함될 수도 있다. 오브젝트는 하나 이상의 검출된 블랍들 (blobs) 과 연관되거나 또는 이에 대응할 수도 있다. 요약 프레임 (238) 에 포함된 오브젝트의 다수의 표현들의 각각은 키 프레임들 (236) 중 하나에 대응할 (예컨대, 그로부터 추출될) 수도 있다. 예를 들어, 결합기 (228) 는 제 1 키 프레임으로부터의 오브젝트의 제 1 표현과 제 2 키 프레임으로부터의 오브젝트의 제 2 표현을 결합하여, 요약 프레임 (238) 을 발생시킬 수도 있다.
예시하자면, 결합기 (228) 는 배경 모델 (230) 및 키 프레임들 (236) (예컨대, 프레임들의 서브세트) 을 수신할 수도 있다. 결합기 (228) 는 키 프레임들 (236) 의 각각에 대해, 키 프레임으로부터의 오브젝트의 표현을 배경 모델 (230) 과 결합하도록 구성될 수도 있다. 오브젝트의 표현(들) 을 배경 모델 (230) 과 결합함으로써, 결합기 (228) 는 요약 프레임 (238) 을 발생시킬 수도 있다. 따라서, 요약 프레임 (238) 은 모션 이벤트 동안의 오브젝트의 모션을 단일 프레임 (예컨대, 단일 이미지) 으로 요약할 수도 있다. 요약 프레임 (238) 은 도 1 의 요약 프레임 (122) 을 포함하거나 또는 이에 대응할 수도 있다. 요약 프레임 (238) 의 실례가 250 에 표시된다. 일부 구현예들에서, 요약 프레임 (238) 은 요약 프레임 발생기 (120) 와 분리된 디바이스와 같은, 요약 프레임 발생기 (120) 로부터 원격의 다른 디바이스로 전달될 (예컨대, 송신될) 수도 있다.
일부 구현예들에서, 메타데이터 (237), 요약 프레임 (238) 또는 양자 모두는 도 6 을 참조하여 설명된 바와 같이, 인덱서 (미도시) 에 제공될 수도 있다. 인덱서는 메타데이터 (237), 요약 프레임 (238), 또는 양자 모두에 기초하여, 이미지 프레임들 (240) 을 포함하는 비디오 콘텐츠와 같은, 비디오 콘텐츠를 인덱싱하도록 구성될 수도 있다.
일부 구현예들에서, 결합기 (228) 는 메타데이터 (237) 를 요약 프레임 (238) 에 포함시킬 (예컨대, 임베딩할) 수도 있다. 메타데이터 (237) 는 키 프레임 선택기 (214) 에 의해 발생되어 출력되는 것으로 설명되지만, 다른 구현예들에서, 결합기 (228) 는 도 1a 의 메타데이터 (124) 또는 도 1b 내지 도 1c 의 메타데이터 (187) 와 같은, 메타데이터를 발생시킬 수도 있다. 일부 구현예들에서, 결합기 (228) 가 메타데이터를 발생시키면, 키 프레임 선택기 (214) 는 메타데이터 (237) 를 발생시키지 않을 수도 있다. 대안적으로, 다른 구현예들에서, 결합기 (228) 는 메타데이터를 발생시킬 수도 있으며, 키 프레임 선택기는 메타데이터 (237) 를 발생시킬 수도 있다.
일부 구현예들에서, 요약 프레임 발생기 (120) 에 의해 발생된 모션 이벤트 기간은 이미지 프레임들 (240) 의 부분에 대응할 수도 있다. 이미지 프레임들 (240) 의 부분은 이미지 프레임들 (240) 의 비디오 세그먼트 (예컨대, 비디오 클립) 와 연관될 수도 있다. 비디오 세그먼트는 이미지 프레임들의 부분 전체, 이미지 프레임들 (240) 의 부분 전체 미만, 또는 이미지 프레임들 (240) 의 부분 초과를 묘사할 수도 있다. 예시하자면, 비디오 세그먼트는 예시적인, 비한정적인 예로서, 모션 이벤트의 시작과 연관된 제 1 특정의 프레임, 모션 이벤트의 종료와 연관된 제 2 특정의 프레임, 및 제 1 특정의 프레임과 제 2 특정의 프레임 사이, 이전, 또는 이후 이미지 프레임들 (240) 의 하나 이상의 프레임들을 포함할 수도 있다.
일부 구현예들에서, 요약 프레임 발생기 (120) (예컨대, 이벤트 검출기 (212)) 는 검출 기법들, 분류 기법들, 의미 분석 기법들, 또는 이들의 조합과 같은, 하나 이상의 이미지 처리 기법들에 기초하여 모션 이벤트 기간 (예컨대, 모션 이벤트 기간의 시작 또는 종료) 을 검출하도록 구성될 수도 있다. 검출 기법들은 (위에서 설명한 바와 같은) 블랍 검출 또는 오브젝트 검출을 포함할 수도 있다. 오브젝트 검출은 이미지 프레임들 (240) 에서 하나 이상의 오브젝트들을 검출하기 위해 사용될 수도 있다. 검출될 수도 있는 예시적인, 오브젝트들의 비한정적인 예들은 보행자, 얼굴, 차, 화재, 연기, 물 (예컨대, 홍수), 등을 포함한다. 일부 구현예들에서, 모션 이벤트 기간의 시작은 이미지 프레임들 (240) (예컨대, 비디오 콘텐츠) 에서의 특정의 오브젝트의 검출에 응답하여 결정될 수도 있으며, 모션 이벤트 기간의 종료는 특정의 오브젝트가 이미지 프레임들 (240) (예컨대, 비디오 콘텐츠) 에서 더 이상 검출되지 않을 때 결정될 수도 있다.
분류 기법들은 장면 분류기, 오브젝트 분류기, 안면 분류기, (비디오 콘텐츠가 오디오 콘텐츠에 의해 수반되면) 사운드 및 음성 인식기, 또는 이들의 조합과 같은, 하나 이상의 분류기들을 이용하여, 프레임, 또는 그의 부분을 분류할 수도 있다. 장면 분류기는 프레임이 실내 장면 또는 실외 장면을 묘사하는지를 결정될 수도 있다. 실내 장면이 결정되면, 프레임은 사무실, 교실, 상점, 도서관, 레스토랑, 거실, 등으로서 분류될 수도 있다. 대안적으로, 실외 장면이 결정되면, 프레임은 거리 뷰, 풍경, 해변, 바다, 산, 숲, 빌딩들, 등으로서 분류될 수도 있다. 오브젝트 분류기는 검출된 오브젝트가 인간, 자동차, 자전거, 가방, 박스, 가정용 애완동물, 등인지를 결정할 수도 있다. 검출된 오브젝트가 인간이면, 안면의 분류기는 그 사람이 누구인지, 성별, 감정, 등을 식별할 수도 있다. 일부 구현예들에서, 이미지 프레임들 (240) (예컨대, 비디오 콘텐츠) 이 오디오 콘텐츠를 수반하면, 사운드 및 음성 분류기는 누군가 말하고 있는지를 결정하고 말한 것을 특성화할 수도 있다. 추가적으로 또는 대안적으로, 사운드 및 음성 분류기는 총성, 천둥, 경적, 사이렌 또는 알람, 등과 같은, 하나 이상의 사운드들을 식별할 수도 있다. 일부 구현예들에서, 이미지의 프레임 프레임들 (240) (예컨대, 비디오 콘텐츠) 와 연관된 분류기의 표시가 메타데이터에 포함될 수도 있다.
장면의 의미 분석은 자동 장면 이해 또는 사용자 미리 정의된 이벤트 검출을 포함할 수도 있다. 자동 장면 이해의 일 예는 싸우는 사람들의 검출을 포함할 수도 있다. 싸움은 어떤 신체 모션들을 가진 다수의 보행자들을 발견할 때에 검출될 수 있거나, 어떤 사운드들 및 음성과 연관될 수도 있거나, 또는 이들의 조합일 수도 있다. 싸움을 검출하는 것은 어떤 환경들 또는 로케이션들에서, 예컨대, 감옥에서 적용가능할 수도 있다. 의미 분석의 다른 예는 사용자 정의된 이벤트를 수반할 수 있다. 예를 들어, 요약 프레임 발생기 (120) 의 사용자는 카메라와 같은 캡쳐 유닛에 의해 캡쳐된 (배경에 대응하는) 거리 뷰의 장면에 주차 금지구역을 정의할 수 있다. 주차 금지구역에서의 불법 주차의 이벤트는, 차가 주차 금지구역에서 검출되고 드라이버가 차를 떠날 때 검출될 수 있다.
하나 이상의 이미지 처리 기법들 (예컨대, 검출 기법들, 분류 기법들, 의미 분석 기법들, 또는 이들의 조합) 은 프레임 전체 또는 프레임의 부분에서 구현될 수도 있다. 예를 들어, 프레임의 부분은 배경 제거가 프레임 상에서 수행된 후 검출되는 전경 블랍에 대응할 수도 있다. 이미지 전체 보다는 부분에 하나 이상의 이미지 처리 기법들을 적용함으로써, 하나 이상의 이미지 처리 기법들이 더 빨리 수행될 수행될 수도 있으며 더 적은 전력을 이용할 수도 있다.
따라서, 도 2 의 시스템 (200) 은 요약 프레임 (238) 을 발생시키도록 구성될 수도 있다. 요약 프레임 (238) 은 이미지 프레임들 (240) 에 포함되며 모션 이벤트에 대응하는 오브젝트의 다수의 표현들을 나타낼 수도 있다. 요약 프레임 (238) 은 이미지 프레임들 (240) 에 포함된 오브젝트의 모션을 사용자에 의해 빨리 시인될 수도 있는 단일 이미지로 요약할 수도 있다. 따라서, 사용자는 요약 프레임 (238) 에 기초하여 그리고 모션 이벤트에 대응하는 비디오 클립을 볼 필요 없이, 모션 이벤트의 이해를 얻을 수도 있다.
도 3 을 참조하면, 요약 프레임을 발생시키는 방법 (300) 의 제 1 실례의 흐름도가 도시된다. 요약 프레임은 도 1a 의 요약 프레임 (122), 요약 프레임 (150), 도 2 의 요약 프레임 (238), 또는 요약 프레임 (250) 을 포함하거나 또는 이들에 대응할 수도 있다. 방법 (300) 은 도 1a 의 시스템 (100), 도 1b 의 시스템 (160), 도 1c 의 시스템 (190), 도 2 의 시스템 (200) (예컨대, 요약 프레임 발생기 (120)), 또는 이들의 조합에 의해 수행될 수도 있다.
비디오 콘텐츠의 이미지 프레임 (예컨대, 이미지 프레임들의 스트림의 이미지 프레임) 은 302 에서, 수신될 수도 있다. 예를 들어, 비디오 콘텐츠는 도 1a 의 비디오 콘텐츠 (140), 도 1b 내지 도 1c 의 비디오 콘텐츠 (167), 또는 도 2 의 이미지 프레임들 (240) 을 포함하거나 또는 이들에 대응할 수도 있다. 306 에서, 활동 (예컨대, 모션) 이 프레임에서 검출되는지 여부에 대한 결정이 이루어질 수도 있다. 예를 들어, 비디오 분석 및 활동 결정은 도 2 의 이벤트 검출기 (212) 에 의해 수행될 수도 있다. 예시하자면, 비디오 분석 및 활동 테스트는 이미지 세그멘테이션, 칼라 세그멘테이션, 이미지 필터링, 가속 세그먼트 테스트로부터의 특징들 (FAST), 스피드업된 강건한 특징들 (SURF), 스케일-불변 특징 변환 (SIFT), 모서리 검출, 에지 검출, 배경 제거, 블랍 검출, 등과 같은, 하나 이상의 검출 알고리즘들을 수행하는 것과 연관될 수도 있다. 추가적으로 또는 대안적으로, 비디오 분석 및 활동 테스트는 하나 이상의 분류 알고리즘들, 장면들 의미 분석 알고리즘, 또는 이들의 조합을 이용하는 것과 연관될 수도 있다. 예시하자면, 프레임에서 모션을 검출하기 위해, 배경 제거는 전경 블랍을 결정하기 위해 특정의 프레임 상에서 수행될 수도 있다. 306 에서, 활동 (예컨대, 모션) 이 검출되는지 여부를 결정하기 위해, 전경 블랍의 사이즈가 결정되고 임계 사이즈와 비교될 수도 있다.
모션이 검출되면, 방법 (300) 은 308 에서, 모션 이벤트의 시작이 검출되었는지 여부를 결정할 수도 있다. 어떤 모션 이벤트도 시작되지 않았으면, 방법 (300) 은 310 에서, 모션 이벤트의 시작을 표시할 수도 있으며, 방법 (300) 은 312 에서, 프레임에 대한 이벤트 분석 결과를 결정하는 것으로 진행할 수도 있다. 대안적으로, 모션 이벤트가 이미 시작되었으면, 방법 (300) 은 312 로 진행할 수도 있다 (예컨대, 검출된 활동은 새로운 모션 이벤트의 시작이 아닌, 진행중인 모션 이벤트의 부분으로서 간주될 수도 있다).
방법 (300) 은 314 에서, 이벤트 분석 결과에 부분적으로 기초하여, 수신된 프레임을 유지할지 여부를 결정할 수도 있다. 312 에서, 이벤트 분석 결과를 결정하는 것, 및 314 에서, 수신된 프레임을 유지할지 여부를 결정하는 것은, 상대적인 모션 값과 같은 프레임에 대응하는 이벤트 분석 결과를 결정하는 것, 누적된 값을 이벤트 분석 결과에 기초하여 결정하는 것, 및 누적된 값을 임계치와 비교하는 것을 포함하거나 또는 이들에 대응할 수도 있다. 예를 들어, 이러한 동작들은 도 2 의 키 프레임 선택기 (214) (예컨대, 이벤트 분석기 (218)) 에 의해 수행될 수도 있다.
수신된 프레임을 유지하는 결정이 이루어지면, 316 에서, 수신된 프레임은 (버퍼에) 버퍼될 수도 있으며, 방법 (300) 은 318 에서, 비디오 콘텐츠의 다음 프레임을 식별하는 것으로 진행할 수도 있다. 버퍼된 프레임들은 도 2 의 키 프레임들 (236) 과 같은, 키 프레임들을 포함하거나 또는 이에 대응할 수도 있다. 일부 구현예들에서, 316 에서, 버퍼된 프레임의 메타데이터는 또한 버퍼되거나 또는 아니면 저장될 수도 있다. 대안적으로, 수신된 프레임을 유지하지 않는 (예컨대, 폐기하는) 결정이 이루어지면, 방법 (300) 은 프레임을 버퍼링함이 없이 318 로 진행할 수도 있다. 다음 프레임을 식별한 후, 318 에서, 본 방법은 302 로 되돌아갈 수도 있다.
306 에서, 활동이 검출되지 않으면, 방법 (300) 은 322 에서, 모션 이벤트의 시작이 검출되었는지 (예컨대, 모션 이벤트가 이미 시작되었는지) 여부를 결정할 수도 있다. 어떤 모션 이벤트도 시작되지 않았으면, 방법 (300) 은 318 로 진행할 수도 있다. 모션 이벤트가 이미 시작되었으면, 방법 (300) 은 324 에서, 이벤트의 종료를 표시할 수도 있다.
324 에서 이벤트가 종료된 후, 328 에서, 버퍼된 프레임들 (예컨대, 키 프레임들) 은 버퍼로부터 취출될 수도 있으며 버퍼된 프레임들을 이용하여 요약 프레임을 발생시킬 수도 있다. 316 에서, 요약 프레임은 버퍼된 이미지 프레임들을 이용하여 발생될 수도 있다. 예를 들어, 요약 프레임은 도 1 의 요약 프레임 (122), 요약 프레임 (150), 도 2 의 요약 프레임 (238), 또는 요약 프레임 (250) 을 포함하거나 또는 이들에 대응할 수도 있다.
일부 구현예들에서, 방법 (300) 은 옵션적으로, 330 에서, 요약 프레임과 연관된 메타데이터를 발생시킬 수도 있다. 예를 들어, 버퍼된 프레임들의 메타데이터의 부분들은 요약 프레임의 메타데이터의 적어도 일부분을 발생시키도록 결합될 수도 있다. 일부 구현예들에서, 요약 프레임의 메타데이터는 버퍼된 프레임들 중 어느 프레임이 요약 프레임을 발생시키는데 사용되었는지를 표시할 수도 있다.
따라서, 도 3 의 방법 (300) 은 모션 이벤트의 종료를 결정하기 전에 하나 이상의 프레임들 (예컨대, 키 프레임들) 을 선택 및 버퍼링하는 것을 예시한다. 모션 이벤트의 종료에 응답하여, 버퍼된 키 프레임들은 요약 프레임을 발생시키기 위해 액세스될 수도 있다.
도 4 를 참조하면, 요약 프레임을 발생시키는 방법 (400) 의 제 2 실례의 흐름도가 도시된다. 요약 프레임은 도 1 의 요약 프레임 (122), 요약 프레임 (150), 도 2 의 요약 프레임 (238), 또는 요약 프레임 (250) 을 포함하거나 또는 이들에 대응할 수도 있다. 방법 (400) 은 도 1a 의 시스템 (100), 도 1b 의 시스템 (160), 도 1c 의 시스템 (190), 도 2 의 시스템 (200) (예컨대, 요약 프레임 발생기 (120)), 또는 이들의 조합에 의해 수행될 수도 있다.
402 에서, 비디오 콘텐츠의 이미지 프레임 (예컨대, 이미지 프레임들의 스트림) 이 수신될 수도 있다. 예를 들어, 비디오 콘텐츠는 도 1a 의 비디오 콘텐츠 (140), 도 1b 내지 도 1c 의 비디오 콘텐츠 (167), 또는 도 2 의 이미지 프레임들 (240) 을 포함하거나 또는 이들에 대응할 수도 있다. 406 에서, 활동 (예컨대, 모션) 이 프레임에서 검출되는지 여부에 대한 결정이 이루어질 수도 있다. 예를 들어, 비디오 분석 및 활동 결정은 도 2 의 이벤트 검출기 (212) 에 의해 수행될 수도 있다. 예시하자면, 비디오 분석 및 활동 테스트는 이미지 세그멘테이션, 칼라 세그멘테이션, 이미지 필터링, 가속 세그먼트 테스트로부터의 특징들 (FAST), 스피드업된 강건한 특징들 (SURF), 스케일-불변 특징 변환 (SIFT), 모서리 검출, 에지 검출, 배경 제거, 블랍 검출, 등과 같은, 하나 이상의 검출 알고리즘들을 수행하는 것과 연관될 수도 있다. 추가적으로 또는 대안적으로, 비디오 분석 및 활동 테스트는 하나 이상의 분류 알고리즘들, 장면들 의미 분석 알고리즘, 또는 이들의 조합을 이용하는 것과 연관될 수도 있다. 예시하자면, 활동 테스트는, 406 에서, 특정의 프레임 상에서 배경 제거를 수행하여, 전경 블랍을 결정할 수도 있다. 406 에서, 특정의 프레임이 활동 (예컨대, 모션) 에 대응하는지 여부를 결정하기 위해, 전경 블랍의 사이즈가 결정되고 임계 사이즈와 비교될 수도 있다.
모션이 검출되면, 방법 (400) 은 408 에서, 모션 이벤트의 시작이 검출되었는지 여부를 결정할 수도 있다. 어떤 모션 이벤트도 시작되지 않았으면, 방법 (300) 은 410 에서, 모션 이벤트의 시작을 표시할 수도 있으며, 방법 (400) 은 412 에서, 프레임에 대한 이벤트 분석 결과를 결정하는 것으로 진행할 수도 있다. 대안적으로, 모션 이벤트가 이미 시작되었으면, 방법 (400) 은 412 로 진행할 수도 있다 (예컨대, 검출된 활동은 새로운 모션 이벤트의 시작보다는, 진행중인 모션 이벤트의 부분으로서 간주될 수도 있다).
412 에서, 방법 (400) 은 이벤트 분석 결과를 결정할 수도 있다. 이벤트 분석 결과는 프레임에 대응하여 결정될 수도 있다. 예를 들어, 이벤트 분석 결과는 상대적인 모션 값, 다수의 프레임들의 누적된 값 (예컨대, 이벤트의 전체 상대적인 모션 값), 또는 양자 모두일 수도 있다. 예를 들어, 이벤트 분석 결과는 도 2 의 키 프레임 선택기 (214) (예컨대, 이벤트 분석기 (218)) 에 의해 결정될 수도 있다.
412 에서, 이벤트 분석 후, 방법 (400) 은 416 에서, (버퍼에서) 프레임을 버퍼링할 수도 있다. 일부 구현예들에서, 416 에서, 버퍼된 프레임의 메타데이터는 또한 버퍼되거나 또는 아니면 저장될 수도 있다. 방법 (400) 은 418 에서, 비디오 콘텐츠의 다음 프레임을 식별하는 것으로 진행할 수도 있다. 418 에서, 다음 프레임을 식별한 후, 본 방법은 402 로 되돌아갈 수도 있다.
406 에서, 활동이 검출되지 않으면, 방법 (400) 은 422 에서, 모션 이벤트의 시작이 검출되었는지 (예컨대, 모션 이벤트가 이미 시작되었는지) 여부를 결정할 수도 있다. 어떤 모션 이벤트도 시작되지 않았으면, 방법 (400) 은 418 로 진행할 수도 있다. 모션 이벤트가 이미 시작되었으면, 방법 (400) 은 424 에서, 이벤트의 종료를 표시할 수도 있다.
424 에서 이벤트가 종료된 후, 방법 (400) 은 426 에서, 하나 이상의 버퍼된 프레임들을 키 프레임들로서 선택할 수도 있다. 예를 들어, 키 프레임 선택은 키 프레임 선택기 (214) (예컨대, 이벤트 분석기 (218)) 에 의해 수행될 수도 있으며, 키 프레임들은 도 2 의 키 프레임들 (236) 을 포함하거나 또는 이에 대응할 수도 있다. 예시하자면, 이벤트 종료에 응답하여, 누적된 값 (예컨대, 이벤트의 전체 상대적인 모션 값) 이 식별될 수도 있다. 임계값은 이벤트의 전체 상대적인 모션 값을 선택될 키 프레임들의 미리 결정된 개수로 나눔으로써 결정될 수도 있다. 임계값이 결정된 후, 416 에서, 버퍼된 프레임들은 상대적인 모션 값과 같은, 프레임에 대응하는 이벤트 분석 결과를 결정하고, 누적된 값을 이벤트 분석 결과에 기초하여 결정하고, 그리고 누적된 값을 임계치와 비교하기 위해, 프레임 단위로 처리될 수도 있다. 특정의 누적된 값이 임계치보다 크거나 또는 같으면, 특정의 누적된 값에 대응하는 특정의 프레임이 (예컨대, 요약 프레임 발생 동안 사용을 위해) 키 프레임으로서 선택될 수도 있다.
방법 (400) 은 428 에서, 요약 프레임을 발생시키는 단계를 포함할 수도 있다. 예를 들어, 요약 프레임은 도 1 의 요약 프레임 (122), 요약 프레임 (150), 도 2 의 요약 프레임 (238), 또는 요약 프레임 (250) 을 포함하거나 또는 이들에 대응할 수도 있다.
일부 구현예들에서, 방법 (400) 은 옵션적으로, 430 에서, 요약 프레임과 연관된 메타데이터를 발생시킬 수도 있다. 예를 들어, 키 프레임들로서 선택된 하나 이상의 버퍼된 프레임들의 메타데이터의 부분들은 요약 프레임의 메타데이터의 적어도 일부분을 발생시키기 위해 결합될 수도 있다. 일부 구현예들에서, 요약 프레임의 메타데이터는 어느 버퍼된 키 프레임들이 요약 프레임을 발생시키는데 사용되었는지를 표시할 수도 있다.
따라서, 도 4 의 방법 (400) 은 모션 이벤트의 종료를 결정한 후 하나 이상의 키 프레임들을 선택하는 것을 예시한다. 하나 이상의 키 프레임들의 부분들은 요약 프레임을 발생시키기 위해 결합될 수도 있다.
도 5 를 참조하면, 요약 프레임을 발생시켜 통신하도록 동작가능한 시스템 (500) 의 실례가 도시된다. 시스템 (500) 은 비디오 시스템 (502) 및 디바이스 (550) 를 포함할 수도 있다. 일부 구현예들에서, 비디오 시스템 (502) 은 폐쇄 회로 텔레비전 (CCTV) 시스템과 같은, 비디오 감시 시스템일 수도 있다. 추가적으로 또는 대안적으로, 도 5 를 참조하여 설명된 기법들은 전자 디바이스들, 모바일 디바이스들, 운송체들, 게이밍 콘솔들, 자동차 시스템 콘솔들 (예컨대, ADAS), 착용가능한 디바이스들 (예컨대, 개인 장착 카메라들), 헤드 장착 디스플레이들 (HMDs), 등과 함께 사용될 수도 있다. 추가적인 예들은 로봇들 또는 로봇 디바이스들, 무인 항공 운송체들 (UAVs), 및 드론들을 포함하지만 이에 한정되지 않는다.
비디오 시스템 (502) 은 네트워크 (570) 를 통해서 디바이스 (550) 에 통신가능하게 커플링될 수도 있다. 네트워크 (570) 는 유선 네트워크, 무선 네트워크, 또는 이들의 조합을 포함할 수도 있다.
비디오 시스템 (502) 은 제어기 (510) 및 하나 이상의 캡쳐 유닛들, 예컨대, 하나 이상의 카메라들을 포함할 수도 있다. 예를 들어, 비디오 시스템 (502) 은 단일 카메라를 포함할 수도 있거나 또는 제 1 카메라 (530) 및 제 2 카메라 (532) 와 같은, 복수의 카메라들을 포함할 수도 있다. 제 1 카메라 (530), 제 2 카메라 (532), 또는 양자 모두는 도 1b 내지 도 1c 의 카메라 (162) 를 포함하거나 또는 이에 대응할 수도 있다. 일부 구현예들에서, 제어기 (510) 는 예시적인, 비한정적인 예들로서, 컴퓨터, 서버, 태블릿, 라우터, 카메라, 등과 같은, 디바이스 (예컨대, 이미지 처리 디바이스) 를 포함하거나 또는 이들에 대응할 수도 있다. 제어기 (510) 는 제 1 접속 (536) 을 통해서 제 1 카메라 (530) 에 커플링될 수도 있으며, 제 2 접속 (538) 을 통해서 제 2 카메라 (532) 에 커플링될 수도 있다. 제 1 접속 (536) 및 제 2 접속 (538) 의 각각은 유선 접속, 무선 접속, 또는 이들의 조합을 포함할 수도 있다. 일부 구현예들에서, 제 1 카메라 (530) 또는 제 2 카메라 (532) 는 인터넷 프로토콜 (IP) 카메라를 포함할 수도 있다. 비디오 시스템 (502) 은 2개의 카메라들을 가지는 것으로 설명되지만, 다른 구현예들에서, 비디오 시스템 (502) 은 2개보다 많은 카메라들 또는 2개보다 적은 카메라들을 포함할 수도 있다.
제 1 카메라 (530) 및 제 2 카메라 (532) 의 각각은 카메라의 대응하는 시야의 비디오 콘텐츠를 발생시키도록 구성될 수도 있다. 비디오 콘텐츠는 이미지 프레임들의 시퀀스를 포함할 수도 있다. 예를 들어, 제 1 카메라 (530) 는 비디오 콘텐츠 (534) (예컨대, 다수의 이미지 프레임들) 를 발생시키도록 구성될 수도 있다. 비디오 콘텐츠 (534) 는 도 1a 의 비디오 콘텐츠 (140), 도 1b 내지 도 1c 의 비디오 콘텐츠 (167), 또는 도 2 의 이미지 프레임들 (240) 을 포함하거나 또는 이들에 대응할 수도 있다. 일부 구현예들에서, 제 1 카메라 (530), 제 2 카메라 (532), 또는 양자 모두는 대응하는 메모리를 포함할 수도 있다. 예를 들어, 제 1 카메라 (530) 는 제 1 카메라 (530) 에 의해 발생된 하나 이상의 이미지 프레임들 (예컨대, 비디오 콘텐츠 (534)) 을 저장하도록 구성된 메모리 (531) 를 포함할 수도 있다.
제 1 카메라 (530), 제 2 카메라 (532), 또는 양자 모두는 고정된 (및 정지된) 위치에 장착될 수도 있다. 제 1 카메라 (530) 가 고정된 및 정지된 위치에 장착되면, 제 1 카메라 (530) 의 시야의 배경은 정지된 것으로 간주될 수도 있다. 예를 들어, 비디오 콘텐츠 (534) (예컨대, 비디오 스트림) 의 배경은 장 기간 동안 고정된 (또는, 상대적으로 고정된) 채로 남아있는, 빌딩들, 나무들, 간판들, 등과 같은, 특징들을 포함할 수도 있다.
제어기 (510) 는 메모리 (512), 프로세서 (518), 및 통지 발생기 (526) 를 포함할 수도 있다. 제어기 (510) 는 제 1 카메라 (530) 및 제 2 카메라 (532) 와 같은, 하나 이상의 카메라들로부터 비디오 콘텐츠를 수신할 수도 있으며, 비디오 콘텐츠를 프로세서 (518) 에 제공할 수도 있다. 예를 들어, 프로세서 (518) 는 제 1 카메라 (530) 로부터 비디오 콘텐츠 (534) 를 수신할 수도 있다.
메모리 (512) 는 인덱싱된 비디오 콘텐츠 (514) 및 디바이스 정보 (516) 를 포함할 수도 있다. 인덱싱된 비디오 콘텐츠 (514) 는 비디오 콘텐츠 (534) 및 인덱스 데이터 (513) 를 포함할 수도 있다. 인덱스 데이터 (513) 는 도 6 을 참조하여 설명되는 바와 같이 발생될 수도 있다. 예를 들어, 인덱스 데이터 (513) 는 프로세서 (518) (예컨대, 인덱서) 에 의해 발생될 수도 있다. 인덱스 데이터 (513) 는 인덱스 메타데이터 (515) 및 하나 이상의 요약 프레임들 (521) 을 포함할 수도 있다. 인덱스 메타데이터 (515) 는 비디오 콘텐츠 (534) 의 하나 이상의 재생 위치들을 표시하는 마커 데이터를 포함할 수도 있다. 일 예로서, 마커 데이터는 비디오 콘텐츠 (534) 의 저장 로케이션으로의 링크 (예컨대, URL (uniform resource locator)) 를 포함할 수도 있으며, 링크의 선택은 제 1 재생 위치에서 시작하는 비디오 콘텐츠 (534) 의 재생을 개시할 수도 있다. 제 1 재생 위치는 하나 이상의 요약 프레임들 (521) 의 제 1 요약 프레임과 연관된 모션 이벤트의 시작에 대응할 수도 있다. 추가적으로 또는 대안적으로, 인덱스 메타데이터 (515) 는 비디오 콘텐츠 (534) 의 부분의 제 2 재생 위치를 표시하는 제 2 마커 데이터를 포함할 수도 있다. 제 2 재생 위치는 제 1 요약 프레임에 포함된 오브젝트의 다수의 표현들의 제 1 표현을 발생시키는데 사용되는 비디오 콘텐츠 (534) 의 프레임에 대응할 수도 있다.
일부 구현예들에서, 인덱스 데이터 (513) 는 제 1 요약 프레임 및 제 2 요약 프레임과 같은, 다수의 요약 프레임들을 포함할 수도 있다. 제 2 요약 프레임은 비디오 콘텐츠 (534) 의 제 2 부분과 연관될 수도 있으며, 비디오 콘텐츠 (534) 의 제 2 부분에 포함된 제 2 오브젝트의 다수의 표현들을 나타낼 수도 있다. 이 예에서, 인덱스 메타데이터 (515) 는 비디오 콘텐츠 (534) 의 제 2 부분에 대응하는 제 3 재생 위치를 표시하는 제 3 마커 데이터를 포함할 수도 있다.
일부 구현예들에서, 인덱스 데이터 (513) 가 다수의 요약 프레임들을 포함하면, 인덱스 메타데이터 (515) 는 (하나 이상의 요약 프레임들 (521) 의) 제 1 요약 프레임에 대응하는 메타데이터의 적어도 제 1 부분과, (하나 이상의 요약 프레임들 (521) 의) 제 2 요약 프레임에 대응하는 메타 데이터의 적어도 제 2 부분을 결합함으로써 발생된 메타데이터와 같은, 연쇄된 메타데이터일 수도 있다. 연쇄된 메타데이터 (586) 의 실례가 580 에 도시된다. 연쇄된 메타데이터 (586) 는 링크들 (581-585) 을 포함한다. 링크들 (581-585) 의 각각은 비디오 콘텐츠 (534) 의 상이한 재생 위치에 대응한다. 제 1 링크 (581) 는 제 1 요약 프레임과 연관된 모션 이벤트의 시작에서의 제 1 프레임에 대응한다. 제 2 링크 (582) 는 제 1 요약 프레임을 발생시키는데 사용된 비디오 콘텐츠 (534) 의 제 2 프레임 (예컨대, 제 1 키 프레임) 에 대응한다. 제 3 링크 (583) 는 제 1 요약 프레임을 발생시키는데 사용된 비디오 콘텐츠 (534) 의 제 3 프레임 (예컨대, 제 2 키 프레임) 에 대응한다. 제 4 링크 (584) 는 제 2 요약 프레임과 연관된 모션 이벤트의 시작에서의 제 4 프레임에 대응한다. 제 5 링크 (585) 는 제 2 요약 프레임을 발생시키는데 사용된 비디오 콘텐츠 (534) 의 제 5 프레임 (예컨대, 키 프레임) 에 대응한다. 따라서, 특정의 양태들에서, 요약 프레임(들) 에 대한 메타데이터는 비디오 콘텐츠 내 특정의 시점들로 "점프하는데" 사용될 수 있는 플레이리스트일 수도 있다.
디바이스 정보 (516) 는 비디오 시스템 (502) 에 원격으로 액세스하도록 구성될 수도 있거나 또는 비디오 시스템 (502) 으로부터 데이터를 수신할 수도 있는 디바이스 (550) 와 연관될 수도 있다. 예를 들어, 디바이스 정보 (516) 는 디바이스 (550) 의 디바이스 어드레스 (예컨대, 이메일 어드레스, 전화 번호, 등) 를 표시하는 데이터를 포함할 수도 있다.
디지털 신호 프로세서 (DSP), 중앙 처리 유닛 (CPU), 또는 그래픽 처리 유닛 (GPU) 과 같은, 프로세서 (518) 는 요약 프레임 발생기 (520) 를 포함할 수도 있다. 요약 프레임 발생기 (520) 는 도 1a 의 요약 프레임 발생기 (120) 또는 도 1b 내지 도 1c 의 요약 프레임 발생기 (180) 를 포함하거나 또는 이들에 대응할 수도 있다. 프로세서 (518) (예컨대, 요약 프레임 발생기 (520)) 는 비디오 콘텐츠 (534) 의 부분에 대응하는 모션 이벤트 기간 (예컨대, 모션 이벤트의 시작, 모션 이벤트의 종료, 또는 양자 모두) 을 검출하도록 구성될 수도 있다. 모션 이벤트 기간에 대응하는 비디오 콘텐츠 (534) 의 부분은 비디오 세그먼트 (548) (예컨대, 비디오 클립) 로서 지칭될 수도 있다. 일부 구현예들에서, 비디오 세그먼트 (548) 는 메모리 (512) 에 저장될 수도 있다.
프로세서 (518) (예컨대, 요약 프레임 발생기 (520)) 는 비디오 콘텐츠 (534) 의 부분과 연관된 요약 프레임 (522) 을 발생시키도록 더 구성될 수도 있다. 예를 들어, 비디오 콘텐츠 (534) 의 부분은 오브젝트와 연관된 모션 이벤트를 묘사할 수도 있다. 요약 프레임 (522) 은 비디오 콘텐츠 (534) 의 부분의 시각적 요약을 제공할 수도 있다. 예를 들어, 도 1a 의 요약 프레임 (122), 도 1c 의 제 1 요약 프레임 (198), 요약 프레임 (199), 도 2 의 요약 프레임 (238), 또는 요약 프레임 (250) 과 같은, 요약 프레임 (522) 은 오브젝트의 다수의 표현들을 나타낼 수도 있다. 요약 프레임 (522) 을 발생시키기 위해, 프로세서 (518) (예컨대, 요약 프레임 발생기 (520)) 는 도 2 의 키 프레임들 (236) 과 같은, 하나 이상의 키 프레임들을 선택하도록 구성될 수도 있다. 예를 들어, 프로세서 (518) 는 제 1 키 프레임으로부터의 오브젝트의 제 1 표현과, 제 2 키 프레임으로부터의 오브젝트의 제 2 표현을 결합하여, 요약 프레임 (522) 을 발생시킬 수도 있다.
프로세서 (518) 는 요약 프레임 (522) 과 연관된 메타데이터 (524) 를 발생시키도록 더 구성될 수도 있다. 메타데이터 (524) 는 도 1a 의 메타데이터 (124) 또는 도 1b 내지 도 1c 의 메타데이터 (187) 를 포함하거나 또는 이들에 대응할 수도 있다. 메타데이터 (524) 는 (모션 이벤트 기간에 대응하는) 비디오 세그먼트 (548) 의 식별자, 요약 프레임 (522) 에 포함된 오브젝트의 표현을 발생시키는데 사용되는 키 프레임의 표시, 모션 이벤트 기간의 시작과 연관된 제 1 타임스탬프, 모션 이벤트 기간의 종료와 연관된 제 2 타임스탬프, 비디오 콘텐츠 (534) 를 발생시킨 제 1 카메라 (530) 와 연관된 카메라 식별자, 인덱싱된 비디오 콘텐츠 (514) (또는, 비디오 세그먼트 (548)) 가 저장되는 메모리 (512) 의 저장 로케이션으로의 링크, 또는 이들의 조합을 포함할 수도 있다. 일부 구현예들에서, 메타데이터 (524) 는 요약 프레임 (522) 에 포함될 (예컨대, 임베딩될) 수도 있다. 추가적으로 또는 대안적으로, 메타데이터 (524) 는 메모리 (512) 에 저장될 수도 있다. 예시하자면, 메타데이터 (524) 는 메모리 (112) 에 저장된 인덱싱된 비디오 콘텐츠 (514) 또는 비디오 세그먼트 (548) 에 포함될 수도 있다.
일부 구현예들에서, 프로세서 (518) 는 인덱스 비디오 콘텐츠 (534) 를 인덱싱하여 인덱싱된 비디오 콘텐츠 (514) 를 발생시키도록 구성될 수도 있다. 예를 들어, 비디오 콘텐츠 (534) 는 모션 이벤트 기간의 시작에 대응하는 제 1 특정의 프레임, 모션 이벤트 기간과 연관된 키 프레임들 중 하나 이상, 모션 이벤트 기간의 종료에 대응하는 제 2 특정의 프레임, 또는 요약 프레임 (522), 또는 이들의 조합에 따라서 인덱싱될 수도 있다. 하나 이상의 요약 프레임들을 이용하여 비디오 콘텐츠를 인덱싱하는 예들이 도 7a 내지 도 7b 를 참조하여 설명된다. 다른 예로서, 비디오 콘텐츠 (534) 는 제 1 특정의 프레임, 키 프레임들 중 하나 이상, 제 2 특정의 프레임, 또는 이들의 조합에 적용되는 오프셋에 기초하여 인덱싱될 수도 있다. 예시하자면, 비디오 콘텐츠 (534) 는 모션 이벤트 기간의 시작에 대응하는 제 1 특정의 프레임 이전 제 1 오프셋 값 (예컨대, 60 개의 프레임들) 에서의 프레임을 이용하여, 그리고 모션 이벤트 기간의 종료에 대응하는 제 2 특정의 프레임 이후 제 2 오프셋 값 (예컨대, 30개의 프레임들) 에서의 다른 프레임을 이용하여, 인덱싱될 수도 있다. 일부 구현예들에서, 프로세서 (518) 는 모션 이벤트 기간과 연관된 비디오 세그먼트 (548) 를 메모리 (512) 에 저장할 수도 있다. 예를 들어, 비디오 세그먼트 (548) 는 인덱싱된 비디오 콘텐츠 (514) 와는 별개로 (추가하여 또는 대신) 메모리 (512) 에 저장될 수도 있다.
통지 발생기 (526) 는 요약 프레임 (522), 메타데이터 (524), 또는 양자 모두를 수신하고, 요약 프레임 (522) 을 수신할, 디바이스 (550) 와 같은, 하나 이상의 디바이스들을 식별하도록 구성될 수도 있다. 예를 들어, 요약 프레임 (522) 을 수신하는 것에 응답하여, 통지 발생기 (526) 는 메타데이터 (524) 를 식별할 수도 있으며, 비디오 콘텐츠 (534) 를 발생시킨 제 1 카메라 (530) 의 카메라 식별자를 결정할 수도 있다. 통지 발생기 (526) 는 디바이스 정보 (516) 에 액세스하여, 제 1 카메라 (530) 의 카메라 식별자에 기초하여 하나 이상의 디바이스들을 식별할 수도 있다. 예시하자면, 통지 발생기 (526) 는 검출된 모션 이벤트에 응답하여 디바이스 (550) 가 통지받아야 한다고 결정할 수도 있으며, 디바이스 정보 (516) 에 포함된 (디바이스 (550) 와 연관된) 어드레스를 식별할 수도 있다. 통지 발생기 (526) 는 모션 이벤트 기간과 연관된 요약 프레임 (522) 을 포함하는 통지 (540), 메타데이터 (524), 또는 요약 프레임 (522) 이 발생되었다는 것을 식별하는 표시자를 발생시킬 수도 있다. 일부 구현예들에서, 통지 (540) 는 예시적인, 비한정적인 예들로서, 이메일 또는 단문 메시지 서비스 (SMS) 메시지를 포함할 수도 있다. 비디오 시스템 (502) (예컨대, 제어기 (510)) 은 통지 (540) 를 무선 네트워크와 같은, 네트워크 (570) 를 통해서 어드레스 (예컨대, 디바이스 (550)) 로 전송할 수도 있다.
디바이스 (550) 는 수신기 (552), 송신기 (554), 디스플레이 (556), 프로세서 (558), 메모리 (560), 및 인터페이스 (562) 를 포함할 수도 있다. 일부 구현예들에서, 수신기 (552), 송신기 (554), 또는 양자 모두는 트랜시버 (미도시) 에 포함될 수도 있다. 수신기 (552) 는 비디오 시스템 (502) 으로부터 통지 (540) 를 수신하도록 구성될 수도 있다.
디스플레이 (556) 는 이미지 (예컨대, 이미지 프레임) 또는 다수의 이미지 프레임들을 포함하는 비디오 콘텐츠를 제시하도록 구성될 수도 있다. 예를 들어, 디스플레이 (556) 는 요약 프레임 (522) 을 제시하도록 구성될 수도 있다. 모션 이벤트 기간과 연관되며 오브젝트의 다수의 표현들을 포함하는 요약 프레임 (522) 을 제시함으로써, 디바이스 (550) 의 사용자는 요약 프레임 (522) 을 빨리 검토하여, 모션 이벤트 기간 동안 일어난 활동의 이해를 얻을 수도 있다.
인터페이스 (562) 는 키 패드, 터치 스크린, 마이크로폰, 카메라, 모션 센서 (예컨대, 초음파 또는 적외선 센서), 무선 인터페이스, 등과 같은, 사용자 인터페이스를 포함할 수도 있다. 일부 구현예들에서, 인터페이스 (562) 는 디스플레이 (556) 를 통해서 제시되는 그래픽 사용자 인터페이스 (GUI) 에 대응할 수도 있다. 인터페이스 (562) 는 요약 프레임 (522) 에 대응하는 비디오 콘텐츠 (534) 의 부분을 플레이하는 선택에 대응하는 입력과 같은, 입력을 수신하도록 구성될 수도 있다. 예를 들어, 입력은 요약 프레임 (522) 에 대응하는 비디오 세그먼트 (548) (예컨대, 비디오 콘텐츠 (534) 의 비디오 클립) 에 대한 요청 (544) 과 연관될 수도 있다. 예시하자면, 디바이스 (550) 에서 요약 프레임 (522) 을 보는 것에 응답하여, 디바이스 (550) 의 사용자는 요약 프레임 (522) 에 대응하는 비디오 세그먼트 (548) (예컨대, 비디오 클립) 를 보도록 요청할 수도 있다. 따라서, 사용자는 요청 (544) 을 개시하기 위해 인터페이스 (562) 를 통해서 입력을 제공할 수도 있다.
디지털 신호 프로세서 (DSP), 중앙 처리 유닛 (CPU), 또는 그래픽 처리 유닛 (GPU) 과 같은, 프로세서 (558) 는 메모리 (560) 에 커플링될 수도 있다. 메모리 (560) 는 데이터, 명령들, 또는 양자 모두를 저장하도록 구성될 수도 있다. 프로세서 (558) 는 메모리 (560) 에 저장된 소프트웨어 (예컨대, 하나 이상의 명령들의 프로그램) 를 실행하도록 구성될 수도 있다. 인터페이스 (562) 를 통해서 수신된 입력에 응답하여, 프로세서 (558) 는 요약 프레임 (522) 에 의해 요약된 모션 이벤트에 대응하는 비디오 세그먼트 (548) 에 대한 요청 (544) 을 발생시킬 수도 있다. 일부 구현예들에서, 요청 (544) 은 디바이스 (550) (또는, 사용자) 가 비디오 세그먼트 (548) 를 수신하도록 인가되는지를 확인하는데 사용될 수도 있는 인증 정보 (546) 를 포함할 수도 있다. 추가적으로 또는 대안적으로, 요청 (544) 은 예시적인, 비한정적인 예들로서, 요약 프레임 (522), 모션 이벤트 기간, 또는 이들의 조합을 식별하는 메타데이터 (524) 의 적어도 일부분을 포함할 수도 있다. 프로세서 (558) 는 요청 (544) 을 비디오 시스템 (502) (예컨대, 제어기 (510)) 으로 전송하는 것을 개시할 수도 있다. 송신기 (554) 는 요청 (544) 을 비디오 시스템 (502) 으로 네트워크 (570) 를 통해서 (예컨대, 적어도 하나의 네트워크를 통해서) 송신하도록 구성될 수도 있다.
제어기 (510) 는 디바이스 (550) 로부터 요청 (544) 을 수신할 수도 있으며, 디바이스 (550) 가 요약 프레임 (522) 과 연관된 비디오 세그먼트 (548) 를 수신하도록 인가되는지를 확인할 수도 있다. 예를 들어, 제어기 (510) 는 디바이스 (550) 로부터 수신된 인증 정보 (546) 에 포함된 사용자 이름 및 패스워드를 확인할 수도 있다. 예시하자면, 제어기 (510) 는 디바이스 정보 (516) 를 이용하여 사용자 이름 및 패스워드를 확인할 수도 있다.
요청 (544) 에 응답하여, 제어기 (510) 는 요약 프레임 (522) 에 대응하는 비디오 세그먼트 (548) 를 식별할 수도 있다. 예를 들어, 제어기 (510) 는 요청 (544) 에 포함된 메타데이터 (524) 의 부분에 기초하여 비디오 세그먼트 (548) 를 식별할 수도 있다. 일부 구현예들에서, 제어기 (510) (예컨대, 프로세서 (518)) 는 메모리 (512) 에 저장된 비디오 세그먼트 (548) 를 취출할 수도 있다. 다른 구현예들에서, 메타데이터 (524) 의 부분은 제어기 (510) 로 하여금 비디오 세그먼트 (548) 에 대응하는 인덱싱된 비디오 콘텐츠 (514) 의 부분에 액세스가능하게 하는 인덱스 식별자를 포함할 수도 있다. 제어기 (510) 는 비디오 세그먼트 (548) 를 디바이스 (550) 로 네트워크 (570) 를 통해서 전송할 수도 있다. (요약 프레임 (522) 을 포함하는) 통지 (540) 의 제 1 데이터 사이즈는 비디오 세그먼트 (548) 의 제 2 데이터 사이즈 미만일 수도 있다. 따라서, (비디오 세그먼트 (548) 가 아닌) 요약 프레임 (522) 을 포함하는 통지 (540) 는 더 적은 네트워크 대역폭을 이용할 수도 있으며, 비디오 세그먼트 (548) 를 포함하는 통지보다 더 빨리 디바이스 (550) 에 제공될 수도 있다.
동작 동안, 제어기 (510) 는 제 1 카메라 (530) 로부터 수신된 비디오 콘텐츠 (534) (예컨대, 다수의 이미지 프레임들) 에 대응하는 모션 이벤트 기간을 검출할 수도 있다. 제어기 (510) 는 오브젝트의 다수의 표현들을 나타내는 요약 프레임 (522) 을 발생시킬 수도 있다. 오브젝트는 모션 이벤트 기간에 대응하는 비디오 콘텐츠 (534) 의 부분에 포함될 수도 있다. 요약 프레임 (522) 이 발생된 후, 요약 프레임 (522) 은 디바이스 (550) 로 전송되는 통지 (540) 에 포함될 수도 있다.
디바이스 (550) 는 비디오 시스템 (502) (예컨대, 비디오 감시 시스템) 으로부터 모션 이벤트 기간의 통지 (540) 를 수신할 수도 있다. 디바이스 (550) 는 디스플레이 (556) 를 통해서 통지 (540) 에 포함된 요약 프레임 (522) 을 제시할 수도 있다. 디스플레이 (556) 를 통해서 제시되는 요약 프레임 (522) 은 디바이스 (550) 의 사용자에게, 모션 이벤트 기간에 대응하는 비디오 콘텐츠 (534) 를 요약하는 단일 이미지를 제공할 수도 있다. 예시하자면, 비디오 시스템 (502) 은 디바이스 (550) 의 사용자의 홈에 설치될 수도 있으며, 제 1 카메라 (530) 는 홈의 현관 문 외부의 장면과 연관된 시야를 갖도록 홈에 장착될 수도 있다. 제어기 (510) 는 배달원과 같은 사람이 현관 문에 접근할 때마다 모션 이벤트 기간을 검출할 수도 있으며, 디바이스 (550) 로 전송되는 대응하는 요약 프레임을 발생시킬 수도 있다.
요약 프레임 (522) 을 포함하는 통지 (540) 를 수신한 후, 디바이스 (550) 는 모션 이벤트 기간에 대응하는 비디오 세그먼트 (548) 와 같은, 요약 프레임 (522) 과 연관된 비디오 세그먼트 (548) 에 대한 요청 (544) 을 비디오 시스템 (502) (예컨대, 제어기 (510)) 으로 전송할 수도 있다. 비디오 시스템 (502) (예컨대, 제어기 (510)) 은 디바이스 (550) 로부터 요청 (544) 을 수신할 수도 있으며, 요청 (544) 에 응답하여, 비디오 세그먼트 (548) 를 디바이스 (550) 로 전송할 수도 있다. 디바이스 (550) 는 비디오 세그먼트 (548) 를 수신할 수도 있으며, 비디오 세그먼트 (548) 를 메모리 (560) 에 저장할 수도 있다. 추가적으로 또는 대안적으로, 디바이스 (550) 는 비디오 세그먼트 (548) 를 디바이스 (550) 의 디스플레이 (556) 를 통해서 제시할 수도 있다. 일부 구현예들에서, 비디오 세그먼트 (548) 는 요청 (544) 에 응답하여 비디오 시스템 (502) 으로부터 디바이스 (550) 로 스트리밍될 수도 있다.
일부 구현예들에서, 통지 (540) 는 요약 프레임 (522) 과 같은, 단일 요약 프레임을 포함할 수도 있다. 다른 구현예들에서, 통지 (540) 는 다수의 요약 프레임들을 포함할 수도 있다. 예를 들어, 프로세서 (518) 는 비디오 콘텐츠 (534) 의 제 1 부분과 연관된 제 1 모션 이벤트 기간을 검출할 수도 있으며, 제 1 카메라 (530) 또는 제 2 카메라 (532) 에 의해 발생된 제 2 비디오 콘텐츠의 제 2 부분과 연관된 제 2 모션 이벤트 기간을 검출할 수도 있다. 프로세서 (518) 는 제 1 모션 이벤트 기간과 연관된 요약 프레임 (522) 을 발생시킬 수도 있으며, 제 2 모션 이벤트 기간과 연관된 제 2 요약 프레임을 발생시킬 수도 있다. 통지 (540) 는 요약 프레임 (522) 및 제 2 요약 프레임을 포함할 수도 있다. 제 1 모션 이벤트는 제 2 모션 이벤트의 제 2 지속기간과는 동일하거나 또는 상이한 제 1 지속기간을 가질 수도 있다. 일부 구현예들에서, 제 1 지속기간 및 제 2 지속기간은 최소 또는 최대 시간 양에 제한되지 않을 수도 있다. 다른 구현예들에서, 제 1 지속기간 또는 제 2 지속기간 중 적어도 하나는, 제 1 지속기간 또는 제 2 지속기간이 제 1 임계치보다 크게, 제 2 임계치보다 작게, 또는 양자 모두에 의해, 시간적으로 제한될 수도 있다. 대안적으로 또는 추가적으로, 제 1 모션 이벤트 기간 및 제 2 모션 이벤트 기간은 적어도 부분적으로 시간적으로 중첩할 수도 있다. 다른 구현예들에서, 제 1 모션 이벤트 및 제 2 모션 이벤트는 시간적으로 비-중첩할 수도 있다.
일부 구현예들에서, 통지 발생기 (526) 는 모션 이벤트 기간의 종료를 결정하는 것에 응답하여 통지 (540) 를 발생시키도록 구성될 수도 있다. 추가적으로 또는 대안적으로, 통지 (540) 는 요약 프레임 (522) 이 발생되는 것에 응답하여 발생될 수도 있다. 다른 구현예들에서, 통지 발생기 (526) 는 미리 결정된 간격들로 통지를 발생시키도록 구성될 수도 있다. 예시적인 비한정적인 예로서, 통지 발생기 (526) 는 매 3 시간마다 통지를 발생시킬 수도 있다. 옵션적으로, 어떤 모션 이벤트들도 선행하는 3개의 시간 기간 동안 검출되지 않았으면, 요약 프레임(들) 없는 통지가 발생될 수도 있다. 다른 예로서, 제 1 간격은 8 시간 길이일 수도 있으며 오전 9시부터 오후 5시까지 일어날 수도 있으며, 제 2 간격은 1 시간 길이일 수도 있으며 오후 5시부터 오전 9시까지 여러번 일어날 수도 있다. 통지 발생기 (526) 가 통지들을 미리 결정된 간격들로 발생시키면, 각각의 통지는 가장 최근에 통지가 전송된 이후 발생된 하나 이상의 요약 프레임들을 포함할 수도 있다. 일부 구현예들에서, 통지 발생기 (526) 는 어떤 요약 프레임들도 발생되지 않았으면 통지를 미리 결정된 간격 마다 전송하지 않을 수도 있다. 예를 들어, 어떤 요약 프레임들도 제 1 시간과 제 2 시간 사이에서 발생되지 않았으면 그리고 제 2 시간이 미리 결정된 시간 간격에 대응하면, 통지 발생기 (526) 는 통지를 제 2 시간에 전송하지 않을 수도 있다.
일부 구현예들에서, 비디오 시스템 (502) (예컨대, 제어기 (510)) 이 통지를 미리 결정된 시간에, 예컨대, 시간 기간 후에 전송하도록 구성되면, 메모리 (512) 는 시간 기간 동안 비디오 콘텐츠 (또는, 그의 프레임들) 를 저장하도록 구성될 수도 있다. 미리 결정된 시간에, 요약 프레임 발생기 (520) 는 저장된 비디오 콘텐츠에 액세스하고 비디오 콘텐츠를 분석하여 비디오 콘텐츠에 포함된 모션 이벤트들을 식별하도록 구성될 수도 있다. 각각의 식별된 모션 이벤트에 대해, 요약 프레임 발생기 (520) 는 대응하는 요약 프레임을 발생시킬 수도 있다. (시간 기간과 연관된) 비디오 콘텐츠에 기초하여 발생된 각각의 요약 프레임은 통지 발생기 (526) 에 의해 발생된 동일한 통지에 포함될 수도 있다.
일부 구현예들에서, 디바이스 (550) 는 비디오 시스템 (502) 과 디바이스 (550) 사이에 안전한 통신을 가능하게 하는 애플리케이션 (예컨대, 프로세서 (558) 에 의해 실행가능한 소프트웨어 애플리케이션) 을 포함할 수도 있다. 이러한 구현예들에서, 통지 (540), 요청 (544), 비디오 세그먼트 (548), 또는 이들의 조합은 애플리케이션을 이용하여 통신될 수도 있다. 추가적으로 또는 대안적으로, 애플리케이션은 디바이스 (550) 로 하여금 비디오 시스템 (502) 에 액세스가능하게 할 수도 있다. 예를 들어, 애플리케이션은 예시적인, 비한정적인 예들로서, 디바이스 (550) 로 하여금, 메모리 (512) (예컨대, 디바이스 정보 (516) 또는 인덱싱된 비디오 콘텐츠 (514) 중 적어도 일부), 제 1 카메라 (530) 에 의해 발생된 비디오 콘텐츠 (534), 제 2 카메라 (532) 에 의해 발생된 비디오 콘텐츠에 액세스가능하게 할 수도 있다. 일부 구현예들에서, 애플리케이션은 디바이스 (550) 의 사용자로 하여금, 요약 프레임들의 발생 및 송신, 통지들, 또는 양자 모두와 연관된 하나 이상의 선호사항들을 설정가능하게 할 수도 있다. 예를 들어, 하나 이상의 선호사항들은 예시적인, 비한정적인 예들로서, 통지들이 얼마나 자주 디바이스들로 전송되는지, 디바이스 (550) 가 어느 카메라들에 대한 통지들을 수신하였는지, 또는 모션 이벤트 기간 동안 얼마나 많은 키 프레임들을 선택하는지를 표시할 수도 있다.
제어기 (510) 는 하나 이상의 카메라들과 분리된 것으로 설명되었지만, 다른 구현예들에서, 제어기 (510), 또는 이들의 컴포넌트들은 제 1 카메라 (530), 제 2 카메라 (532), 또는 양자 모두와 같은, 카메라에 포함될 수도 있다. 예시적인, 비한정적인 예로서, 제 2 카메라 (532) 는 메모리 (예컨대, 메모리 (512)) 및 이미지 프로세서 (예컨대, 프로세서 (518)) 를 포함할 수도 있다. 일부 구현예들에서, 제 1 카메라 (530) 의 메모리 (531) 는 제어기 (510) 의 메모리 (512) 에 대응할 수도 있다. 예를 들어, 메모리 (531) 는 인덱싱된 비디오 콘텐츠 (514), 디바이스 정보 (516), 또는 이들의 조합을 저장하도록 구성될 수도 있다.
일부 구현예들에서, 제 1 카메라 (530) 는 하나 이상의 요약 프레임들을 발생시켜, 하나 이상의 요약 프레임들을 (제 1 카메라 (530) 와 분리된) 제어기 (510) 또는 디바이스 (550) 에 제공하도록 구성될 수도 있다. 예를 들어, 일부 구현예들에서, 제 1 카메라 (530) 는 제 1 요약 프레임을 포함하는 제 1 통지를 디바이스 (550) 로 네트워크 (570) 를 통해서 전송할 수도 있다. 다른 예로서, 다른 구현예들에서, 제 1 카메라 (530) 는 제 1 요약 프레임을 발생시킬 수도 있으며, 제 1 요약 프레임을 포함하는 제 1 통지를 제어기 (510) 로 제 1 접속 (536) 을 통해서 전송할 수도 있다. 제 1 통지를 수신한 후, 제어기 (510) 는 제 1 요약 프레임을 포함하는 제 2 통지를 디바이스 (550) 로 네트워크 (570) 를 통해서 전송할 수도 있다. 일부 구현예들에서, 비디오 콘텐츠, 인덱싱된 비디오 콘텐츠, 비디오 세그먼트, 또는 요약 프레임은 제 1 카메라 (530) 의 메모리 (531), 제어기 (510) 의 메모리 (512), 또는 양자 모두에 저장될 수도 있다.
일부 구현예들에서, 메모리 (512) 는 비디오 시스템 (502) 의 동작과 연관된 파라미터들, 세팅들, 또는 다른 정보를 저장할 수도 있다. 예를 들어, 비디오 시스템 (502) 의 파라미터들 또는 세팅들은 예시적인, 비한정적인 예들로서, 디바이스 정보 (516), 계정 정보 (예컨대, 사용자 이름, 사용자 어드레스, 사용자에 의해 액세스되도록 인가된 하나 이상의 카메라들), (예컨대, 도 1b 내지 도 1c 의 모드 제어기 (178) 에 의해 규정된 모드를 표시하는) 모드 값, 연쇄 모드와 연관된 하나 이상의 시간 기간들, 카메라 로케이션 정보, 또는 이들의 조합을 포함하거나 또는 표시할 수도 있다. 예시하자면, 메모리 (512) 는 요약 프레임 발생기 (520) 의 동작과 연관된 파라미터들 또는 세팅을 저장할 수도 있다. 예를 들어, 요약 프레임 발생기 (520) 의 동작과 연관된 파라미터들 또는 세팅들은 예시적인, 비한정적인 예들로서, 요약 프레임 (522) 을 발생시키는데 사용될 키 프레임들의 수, (예컨대, 도 1b 내지 도 1c 의 모드 제어기 (178) 에 의해 규정된 모드를 표시하는) 모드 값, 연쇄 모드와 연관된 하나 이상의 시간 기간들, 하나 이상의 임계값들 (예컨대, 도 2 의 임계치 (226)), 또는 이들의 조합을 포함하거나 또는 표시할 수도 있다. 추가적으로 또는 대안적으로, 파라미터들 또는 세팅들은 통지 발생기 (526) 의 동작과 연관될 수도 있다. 예를 들어, 통지 발생기 (526) 와 연관된 파라미터들 또는 세팅들은 예시적인, 비한정적인 예들로서, (예컨대, 도 1b 내지 도 1c 의 모드 제어기 (178) 에 의해 규정된 모드를 표시하는) 모드 값, 연쇄 모드와 연관된 하나 이상의 시간 기간들, 통지 (540) 의 메시지 포맷, 통지가 요약 프레임 발생기 (520), 메타데이터 (524), 또는 비디오 세그먼트 (548) 를 포함하는지 여부, 또는 이들의 조합을 포함하거나 또는 표시할 수도 있다.
하나 이상의 양태들이 특정의 디바이스에서 수행되는 동작들을 포함하는 것으로 본원에서 설명될 수도 있지만, 다른 예들에서, 이러한 동작들, 컴포넌트들, 또는 디바이스들은 "클라우드" 와 연관될 수도 있는 것으로 이해되어야 한다. 예를 들어, 다른 구현예들에서, 비디오 콘텐츠 (534), 인덱싱된 비디오 콘텐츠 (514), 디바이스 정보 (516), 요약 프레임 (522), 메타데이터 (524), 또는 이들의 조합은 네트워크 (570) 에 포함된 디바이스 (예컨대, 서버) 에 저장될 수도 있다. 추가적으로 또는 대안적으로, 요약 프레임 발생기 (520) 는 네트워크 (570) 에 포함될 수도 있다.
모션 이벤트 기간과 연관된 요약 프레임 (522) 을 포함하는 통지 (540) 를 전송함으로써, 통지 (540) 의 데이터 사이즈가, 모션 이벤트 기간과 연관된 비디오 세그먼트 (548) (예컨대, 비디오 클립) 를 포함하는 통지를 전송하는 것에 비해 감소될 수도 있다. 따라서, (비디오 세그먼트 (548) 가 아닌) 요약 프레임 (522) 을 포함하는 통지 (540) 는 비디오 세그먼트 (548) 를 포함하는 통지보다, 더 적은 전력 및 더 적은 대역폭을 이용하여, 더 빨리 디바이스 (550) 로 제공될 수도 있다. 추가적으로, 비디오 세그먼트 (548) 를 전송하는 대신 요약 프레임 (522) 을 전송함으로써, 디바이스 (550) 의 사용자는 요약 프레임 (522) 을 빨리 검토하여 모션 이벤트 기간 동안 일어난 활동의 이해를 얻을 수도 있다.
도 6 을 참조하면, 요약 프레임을 이용하여 비디오 콘텐츠를 인덱싱하도록 동작가능한 시스템 (600) 의 실례가 도시된다. 시스템 (600) 은 도 1a 의 시스템 (100), 도 1b 내지 도 1c 의 시스템 (160), 시스템 (200), 또는 도 5 의 시스템 (500) (예컨대, 비디오 시스템 (502), 제어기 (510), 제 1 카메라 (530), 제 2 카메라 (532), 또는 디바이스 (550)) 을 포함하거나 또는 이들에 대응할 수도 있다.
시스템 (600) 은 디바이스 (602) 를 포함할 수도 있다. 디바이스 (602) 는 예시적인, 비한정적인 예들로서, 컴퓨터, 랩탑, 모바일 디바이스, 카메라, 또는 서버와 같은, 재생 디바이스를 포함할 수도 있다. 일부 구현예들에서, 디바이스 (602) 는 폐쇄 회로 텔레비전 (CCTV) 시스템과 같은, 비디오 감시 시스템에 포함될 수도 있다. 추가적으로 또는 대안적으로, 디바이스 (602) 는 전자 디바이스, 모바일 디바이스, 운송체, 게이밍 콘솔, 자동차 시스템 콘솔 (예컨대, ADAS), 착용가능한 디바이스 (예컨대, 개인 장착 카메라), 헤드 장착 디스플레이 (HMDs), 등을 포함하거나 또는 이들에 포함될 수도 있다. 추가적인 예들은 로봇 또는 로봇 디바이스, 무인 항공 운송체 (UAVs), 및 드론을 포함하지만 이에 한정되지 않는다. 더욱이, 하나 이상의 양태들이 디바이스에서 수행되는 동작들을 포함하는 것으로 본원에서 설명될 수도 있지만, 다른 예들에서, 이러한 동작들이 "클라우드" 에서 수행될 수 있는 것으로 이해되어야 한다.
디바이스 (602) 는 메모리 (612), 입력 디바이스 (632), 프로세서 (618), 및 디스플레이 (628) (예컨대, 스크린) 를 포함할 수도 있다. 메모리 (612) 는 비디오 콘텐츠 (614) 를 포함할 수도 있다. 일부 구현예들에서, 비디오 콘텐츠 (614) 는 파일 이름을 가지는 데이터 파일로서 저장될 수도 있다. 비디오 콘텐츠 (614) 는 도 1a 의 비디오 콘텐츠 (140), 도 1b 내지 도 1c 의 비디오 콘텐츠 (167), 도 2 의 이미지 프레임들 (240), 또는 도 5 의 비디오 콘텐츠 (534) 를 포함하거나 또는 이들에 대응할 수도 있다. 일부 구현예들에서, 메모리 (612) 는 다수의 데이터 파일들 (예컨대, 다수의 비디오 파일들) 을 포함할 수도 있으며, 각각의 데이터 파일은 상이한 비디오 콘텐츠에 대응할 수도 있다. 예를 들어, 다수의 데이터 파일들 중 제 1 데이터 파일은 제 1 비디오 콘텐츠에 대응할 수도 있으며, 다수의 데이터 파일들 중 제 2 데이터 파일은 제 2 비디오 콘텐츠를 포함하거나 또는 이에 대응할 수도 있다.
입력 디바이스 (632) 는 하나 이상의 입력들을 수신하도록 구성될 수도 있다. 사용자 인터페이스와 같은, 입력 디바이스 (632) 는 마우스, 터치 패드, 키보드, 터치 스크린, 마이크로폰, 모션 센서, 카메라, 디스플레이, 무선 수신기, 등을 포함할 수도 있다. 하나 이상의 입력들은 비디오 콘텐츠 (614) 의 인덱싱된 버전을 발생시키거나 또는 제공하라는 요청과 같은, 요청 (640) 을 포함하거나 또는 표시할 수도 있다. 일부 구현예들에서, 요청 (640) 은 비디오 콘텐츠 (614) 를 식별하거나 또는 이와 연관될 수도 있다. 예를 들어, 요청 (640) 은 비디오 콘텐츠 (614) 를 포함하는 파일의 파일 이름을 포함할 수도 있다.
프로세서 (618) 는 인덱싱된 비디오 콘텐츠 (642) 를 발생시키도록 구성될 수도 있다. 일부 구현예들에서, 인덱싱된 비디오 콘텐츠는 도 5 의 인덱싱된 비디오 콘텐츠 (514) 를 포함하거나 또는 이에 대응할 수도 있다. 프로세서 (618) 는 요약 프레임 발생기 (620) 및 인덱서 (624) 를 포함할 수도 있다. 요약 프레임 발생기 (620) 는 도 1a 의 요약 프레임 발생기 (120), 도 1b 내지 도 1c 의 요약 프레임 발생기 (180), 또는 도 5 의 요약 프레임 발생기 (520) 를 포함하거나 또는 이들에 대응할 수도 있다. 요약 프레임 발생기 (620) 는 비디오 콘텐츠 (614) 가 하나 이상의 모션 이벤트들을 포함하는지 여부를 결정하도록 구성될 수도 있다. 비디오 콘텐츠 (614) 에 포함된 각각의 모션 이벤트에 대해, 요약 프레임 발생기 (620) 는 모션 이벤트 동안 적어도 하나의 대응하는 오브젝트의 다수의 표현들을 포함하는, 요약 프레임 (622) 과 같은, 대응하는 요약 프레임을 발생시키도록 구성될 수도 있다.
인덱서 (624) 는 요약 프레임 발생기 (620) 에 의해 발생된 하나 이상의 요약 프레임들에 기초하여 비디오 콘텐츠 (614) 를 인덱싱하도록 구성될 수도 있다. 예시하자면, 인덱서 (624) 는 비디오 콘텐츠 (614) 를 인덱싱하여, 인덱싱된 비디오 콘텐츠 (642) 를 발생시킬 수도 있다. 프로세서 (618) 는 인덱싱된 비디오 콘텐츠 (642) 를 디스플레이 (628) (예컨대, 스크린) 와 같은 출력 디바이스에 제공하도록 구성될 수도 있다. 일부 구현예들에서, 프로세서 (618) 는 송신기 (미도시) 를 통한 다른 디바이스로의 인덱싱된 비디오 콘텐츠 (642) 의 송신을 개시하도록 구성될 수도 있다. 디스플레이 (628) 는 도 7a 내지 도 7b 를 참조하여 설명된 바와 같이, 인덱싱된 비디오 콘텐츠 (642) 의 표현을 제시하도록 구성될 수도 있다. 디스플레이 (628) 는 디바이스 (602) 에 포함되는 것으로 설명되지만, 다른 구현예들에서, 디스플레이 (628) 는 디바이스 (602) 의 외부에 있을 수도 있다. 예를 들어, 디스플레이 (628) 는 유선 접속, 무선 접속, 또는 이들의 조합을 통해서 디바이스 (602) 에 커플링될 수도 있다. 추가적으로 또는 대안적으로, 디스플레이 (628) 는 요약 프레임 발생기 (620) 에 의해 발생된, 요약 프레임 (622) 과 같은, (비디오 콘텐츠의) 적어도 하나의 요약 프레임을 제시하도록 구성될 수도 있다.
동작 동안, 디바이스 (602) 는 비디오 콘텐츠 (614) 를 인덱싱하라는 요청 (640) 을 수신할 수도 있다. 프로세서 (618) 는 요청 (640) 을 입력 디바이스 (632) 를 통해서 수신할 수도 있다. 프로세서 (618) 는 비디오 콘텐츠 (614) 와 연관된 표시자를 식별할 수도 있다. 표시자에 응답하여, 프로세서 (618) 는 비디오 콘텐츠 (614) 에 액세스할 수도 있다. 요약 프레임 발생기 (620) 는 비디오 콘텐츠에 포함된 하나 이상의 모션 이벤트들을 식별할 수도 있다. 예를 들어, 요약 프레임 발생기 (620) 는 제 1 시간에서 시작하는 제 1 모션 이벤트를 식별할 수도 있으며 제 2 시간에서 시작하는 제 2 모션 이벤트를 식별할 수도 있다. 요약 프레임 발생기 (620) 는 제 1 모션 이벤트와 연관된 제 1 요약 프레임을 발생시킬 수도 있으며 제 2 모션 이벤트와 연관된 제 2 요약 프레임을 발생시킬 수도 있다.
인덱서 (624) 는 요약 프레임 발생기 (620) 에 의해 발생된 하나 이상의 요약 프레임들 (예컨대, 제 1 요약 프레임 및 제 2 요약 프레임) 에 기초하여 비디오 콘텐츠 (614) 를 인덱스할 수도 있다. 예를 들어, 인덱서 (624) 는 제 1 요약 프레임을 이용하여 (제 1 시간에 대응하는) 제 1 로케이션에서의 비디오 콘텐츠 (614) 의 타임라인을 인덱스할 수도 있다. 인덱서 (624) 는 제 2 요약 프레임을 이용하여 (제 2 시간에 대응하는) 제 2 로케이션에서의 타임라인을 인덱스할 수도 있다. 일부 구현예들에서, 인덱싱된 비디오 콘텐츠 (642) 는 인덱싱된 타임라인을 포함하거나 또는 이에 대응할 수도 있다. 프로세서 (618) 는 디스플레이 (628) 를 통해서 제시된 인덱싱된 비디오 콘텐츠 (642) 를 제공할 수도 있다.
일부 구현예들에서, 프로세서 (618) 는 인덱싱된 비디오 콘텐츠 (642) 가 메모리 (612) 에 저장될 수 있게 할 수도 있다. 인덱싱된 비디오 콘텐츠 (642) 가 메모리 (612) 에 저장된 후, 디바이스는 비디오 콘텐츠 (614) 의 인덱싱된 버전에 대한 제 2 요청을 수신할 수도 있다. 제 2 요청에 응답하여, 프로세서 (618) 는 인덱싱된 비디오 콘텐츠 (642) 가 메모리 (612) 에 존재하는지 여부를 결정할 수도 있다. 인덱싱된 비디오 콘텐츠 (642) 가 메모리 (612) 에 존재하면, 프로세서 (618) 는 메모리 (612) 로부터의 인덱싱된 비디오 콘텐츠에 액세스할 수도 있으며 인덱싱된 비디오 콘텐츠 (642) 를 디스플레이 (628) 에 제공할 수도 있다. 대안적으로, 인덱싱된 비디오 콘텐츠 (642) 가 메모리 (612) 에 존재하지 않는다고 프로세서 (618) 가 결정하면, 프로세서 (618) 는 비디오 콘텐츠 (614) 에 액세스하고, 요약 프레임 발생기 (620) 및 인덱서 (624) 를 이용하여 인덱싱된 비디오 콘텐츠 (642) 를 발생시킬 수도 있다.
다른 구현예들에서, 프로세서 (618) 는 하나 이상의 발생된 요약 프레임들을 출력하도록 구성될 수도 있다. 예를 들어, 프로세서 (618) 는 비디오 콘텐츠 (614) 중 일부 또는 모두에서 모션 이벤트에 대응하는 단일 요약 프레임 또는 비디오 콘텐츠 (614) 전체에 대응하는 단일 요약 프레임과 같은, 비디오 콘텐츠 (614) 에 기초한 단일 요약 프레임을 발생시킬 수도 있다. 다른 예로서, 프로세서 (618) 는 다수의 요약 프레임들을 발생시킬 수도 있으며, 여기서, 각각의 요약 프레임은 비디오 콘텐츠 (614) 의 부분에 대응한다. 다수의 요약 프레임들이 발생될 때, 비디오 콘텐츠 (614) 의 연관된 부분들은 시간적으로 비-중첩할 수도 있거나 또는 적어도 부분적으로 중첩할 수도 있다. 일부 구현예들에서, 요약 프레임에 대응하는 비디오 콘텐츠 (614) 의 부분은 고정된 지속기간 (예컨대, 30 초), 최소 지속기간 (예컨대, 10 초), 또는 이들의 조합을 가질 수도 있다. 다른 구현예들에서, 부분의 지속기간은 비디오 콘텐츠 (614) 에서 검출된 모션 이벤트 기간의 지속기간에 기초할 수도 있다. 일부 예들에서, 프로세서 (618) 가 단일 비디오 파일에 대해 다수의 요약 프레임들을 발생시키면, 다수의 요약 프레임들이 연쇄되어 디스플레이 (628) 에 그룹으로서 제공될 수도 있다.
일부 구현예들에서, 디바이스 (602) 는 비디오 콘텐츠 (614) 를 발생시키도록 구성된, 카메라와 같은, 캡쳐 유닛을 포함할 수도 있거나 이에 커플링될 수도 있다. 예를 들어, 카메라는 비디오 콘텐츠 (614) 를 발생시키고 비디오 콘텐츠 (614) 를 메모리 (612) 에 제공할 수도 있다. 추가적으로 또는 대안적으로, 일부 구현예들에서, 디바이스 (602) 는 제 2 메모리를 포함하거나 또는 이에 커플링될 수도 있다. 제 2 메모리는 하나 이상의 데이터 파일들과 같은 비디오 콘텐츠를 저장할 수도 있으며, 여기서, 각각의 데이터 파일은 대응하는 비디오 콘텐츠를 포함한다. 예를 들어, 디바이스 (602) 는 유선 접속, 무선 접속, 또는 이들의 조합을 통해서 제 2 메모리에 커플링될 수도 있다. 예시하자면, 제 2 메모리는 "클라우드" 에 있을 수도 있으며, 디바이스 (602) 는 유선 네트워크, 무선 네트워크, 또는 이들의 조합을 통해서 제 2 메모리에 액세스할 수도 있다. 일부 구현예들에서, 요청 (640) 은 디바이스 (602) 에게, 제 2 메모리에 저장된 비디오 콘텐츠를 인덱싱하거나 또는 제 2 메모리에 저장된 비디오 콘텐츠에 기초하여 하나 이상의 요약 프레임들을 발생시키도록 요청할 수도 있다.
일부 구현예들에서, 프로세서 (618) 에 의해 출력된 하나 이상의 요약 프레임들은 메타데이터를 포함할 수도 있다. 특정의 요약 프레임에 대한 메타데이터는 특정의 요약 프레임과 연관된 비디오 콘텐츠 (614) 의 시간 (예컨대, 로케이션) 또는 부분에 대응하는 식별자 또는 링크를 포함할 수도 있다. 특정의 요약 프레임은 디스플레이 (628) 를 통해서 제시될 수도 있다. 특정의 요약 프레임의 사용자 선택에 응답하여, 메타데이터가 비디오 콘텐츠 (614) 에 액세스하는데 사용될 수도 있으며, 프로세서 (618) 는 비디오 콘텐츠 (614) (또는, 그의 대응하는 부분) 가 디스플레이 (628) 를 통해서 제시될 수 있게 할 수도 있다. 일부 구현예들에서, 비디오 콘텐츠 (614) (또는, 그의 부분) 의 제시는 특정의 요약 프레임의 발생을 야기한 모션 이벤트의 시작에 대응하는 비디오 프레임에서 시작할 수도 있다. 예를 들어, 프로세서 (618) 는 비디오 콘텐츠 (614) 의 시작을 스킵할 수도 있으며, 비디오 콘텐츠 (614) 의 중간의 부분을 플레이하기 시작할 수도 있다.
일부 구현예들에서, 프로세서 (618) (예컨대, 인덱서 (624)) 는 비디오 콘텐츠 (614) 에 대한 인덱스 데이터를 발생시키도록 구성될 수도 있다. 예를 들어, 인덱스 데이터는 도 5 의 인덱스 데이터 (513) 를 포함하거나 또는 이에 대응할 수도 있다. 인덱스 데이터는 요약 프레임, 예컨대 요약 프레임 (622), 및 메타데이터를 포함할 수도 있다. 메타데이터는 비디오 콘텐츠의 재생 위치를 표시하는 마커 데이터를 포함할 수도 있으며, 여기서, 재생 위치는 요약 프레임 (622) 과 연관될 수도 있다. 일부 구현예들에서, 메모리 (612) 는 인덱스 데이터를 저장하도록 구성될 수도 있다.
특정의 실례에서, 재생 위치는 비디오 콘텐츠에 포함된 모션 이벤트의 시작에 대응할 수도 있다. 마커 데이터는 비디오 콘텐츠 (614) 의 저장 로케이션으로의, URL (uniform resource locator) 과 같은, 링크를 포함할 수도 있다. (예컨대, 자동적으로 또는 사용자에 의해 디스플레이 (628) 또는 입력 디바이스 (632) 를 통한) 링크의 선택은 재생 위치에서 비디오 콘텐츠 (614) 의 재생을 개시하도록 구성될 수도 있다. 일부 구현예들에서, 메타데이터는 비디오 콘텐츠의 부분의 제 2 재생 위치를 표시하는 제 2 마커 데이터를 포함할 수도 있다. 제 2 재생 위치는 요약 프레임 (622) 에 의해 나타내어진 다수의 표현들 중 제 1 표현을 발생시키기 위해 요약 프레임 발생기 (620) 에 의해 사용되는 비디오 콘텐츠 (614) 의 프레임에 대응할 수도 있다.
일부 구현예들에서, 인덱스 데이터는 비디오 콘텐츠 (614) 의 제 2 부분과 연관된 제 2 요약 프레임 (미도시) 을 포함할 수도 있다. 제 2 요약 프레임은 요약 프레임 발생기 (620) 에 의해 발생될 수도 있으며, 비디오 콘텐츠 (614) 의 제 2 부분에 포함된 제 2 오브젝트의 다수의 표현들을 나타낼 수도 있다. 인덱스 데이터가 제 2 요약 프레임을 포함하면, 메타데이터는 비디오 콘텐츠 (614) 의 제 2 부분에 대응하는 제 3 재생 위치를 표시하는 제 3 마커 데이터를 포함할 수도 있다.
프로세서 (618) (예컨대, 인덱서 (624)) 는 인덱스 데이터를 디스플레이 (628) 로 전송할 수도 있다. 디스플레이 (628) 는 비디오 콘텐츠 (614) 의 시간 기간에 대응하는 타임라인을 제시할 수도 있다. 타임라인은 하나 이상의 마커들을 포함할 수도 있다. 하나 이상의 마커들의 각각의 마커는 비디오 콘텐츠 (614) 에 기초하여 발생된 상이한 요약 프레임에 대응할 수도 있다.
특정의 구현예에서, 디스플레이 (628) 는 오브젝트의 제 1 표현 세트를 나타내는 요약 프레임 (622) 을 포함하는 그래픽 사용자 인터페이스 (GUI) 를 제시하도록 구성될 수도 있다. 일부 구현예들에서, 요약 프레임 (622) 은 비디오 콘텐츠 (614) 의 부분과 연관된다. 추가적으로, 프로세서 (618) 는 디스플레이 (628) 에 전기적으로 커플링되어 제 1 표현 세트 중 특정의 표현을 표시하는 선택을 수신하도록 구성될 수도 있다. 예를 들어, 입력 디바이스 (632) 는 선택을 발생시키도록 구성될 수도 있다. 예시하자면, 선택은 선택에 의해 표시되는 특정의 표현과 연관된 재생 위치에서 (예컨대, 시작하여) 비디오 콘텐츠 (614) 의 재생에 대한 특정의 요청에 포함될 수도 있다.
도 7a 내지 도 7j 를 참조하면, 적어도 하나의 요약 프레임을 제시하는 인터페이스들의 예들이 도시된다. 도 7a 내지 도 7j 의 예들의 각각은 디스플레이 (702) 를 통해서 제시될 수도 있는, 사용자 인터페이스와 같은, 대응하는 인터페이스를 포함한다. 일부 구현예들에서, 사용자 인터페이스는 그래픽 사용자 인터페이스 (GUI) 를 포함할 수도 있다. 디스플레이 (702) 는 도 1a 의 사용자 인터페이스 (130), 도 5 의 디스플레이 (556), 또는 도 6 의 디스플레이 (628) 를 포함하거나 또는 이들에 대응할 수도 있다. 도 7a 내지 도 7j 를 참조하여 설명된 예들은 한정하려는 것이 아님에 유의한다. 예를 들어, 도 7a 내지 도 7j 의 일 예의 양태는 인터페이스를 생성하기 위해 도 7a 내지 도 7j 의 상이한 예의 다른 양태과 결합될 수도 있다. 추가적으로, 도 7a 내지 도 7j 의 예들에서, 어떤 양태 또는 특징도 도 7a 내지 도 7j 의 상이한 예들의 2개의 양태들을 결합시키는데 요구되는 것으로 고려되지 않는다는 점에 유의한다.
도 7a 는 도 6 의 비디오 콘텐츠 (614) 와 같은, 비디오 콘텐츠의 타임라인 (701) 을 포함하는 인터페이스의 제 1 예 (700) 를 포함한다. 비디오 콘텐츠에 대응하는 파일 이름 (706) 이 타임라인 아래에 제시된다. 타임라인 (701) 은 하나 이상의 시간 마커들 (대안적으로, 인덱스 마커들로서 지칭됨) 을 이용하여 인덱싱된다. 예를 들어, 시간 마크들은 제 1 시간 마커 T0, 제 2 시간 마커 T1, 제 3 시간 마커 T2, 제 4 시간 마커 T3, 제 5 시간 마커 T4, 및 제 6 시간 마커 T5 를 포함할 수도 있다. 제 1 시간 마커 T0 은 비디오 콘텐츠의 초기 프레임에 대응할 수도 있으며, 제 6 시간 마커 T5 는 비디오 콘텐츠의 최종 프레임에 대응할 수도 있다. 초기 프레임 및 최종 프레임은 요약 프레임들을 포함하지 않을 수도 있다. 일부 구현예들에서, 타임라인 (701) 은 제 1 시간 마커 T0 및 제 6 시간 마커 T5 를 포함하지 않을 수도 있다. 제 2 시간 마커 T1, 제 3 시간 마커 T2, 제 4 시간 마커 T3, 및 제 5 시간 마커 T4 의 각각은 상이한 요약 프레임에 대응할 수도 있다.
디스플레이 (702) 와 상호작용하는 사용자는 커서 (703) 를 제어할 수도 있다. 커서가 타임라인 (701) 의 시간 마커들 T0-T5 중 하나 상에 또는 근처에 위치되면, 시간 마커에 대응하는 요약 프레임이 디스플레이 (702) 를 통해서 제시될 수도 있다. 예시하자면, 제 1 예 (700) 에 도시된 바와 같이, 커서 (703) 는 요약 프레임 (704) 에 대응하는 제 2 시간 마커 T1 근처에 있다. 따라서, 요약 프레임 (704) 은 디스플레이 (702) 를 통해서 (타임라인 (701) 위에) 제시된다. 요약 프레임 (704) 은 제 2 시간 마커 T1 과 연관된 모션 이벤트를 요약할 수도 있다.
도 7b 는 디스플레이 (702) 를 통해서 제시될 수도 있는 인터페이스의 제 2 예 (710) 를 포함한다. 제 2 예 (710) 는 도 6 의 비디오 콘텐츠 (614) 와 같은, 비디오 콘텐츠에 대응하는 파일 이름 (711) 을 포함한다. 비디오 콘텐츠는 제 1 요약 프레임 (712) 및 제 2 요약 프레임 (713) 과 같은, 하나 이상의 요약 프레임들을 이용하여 인덱싱될 수도 있다. 디스플레이 (702) 는 제 1 요약 프레임 (712) 및 제 2 요약 프레임 (713) 을 포함한다. 제 1 요약 프레임 (712) 은 비디오 콘텐츠에 포함된 제 1 모션 이벤트와 연관될 수도 있으며, 제 2 요약 프레임 (713) 은 비디오 콘텐츠에 포함된 제 2 모션 이벤트와 연관될 수도 있다. 제 1 모션 이벤트는 제 1 시간 (714) 에서 일어날 수도 있으며 제 2 모션 이벤트는 제 2 시간 (715) 에서 일어날 수도 있다. 제 1 시간 (714) 및 제 2 시간 (715) (예컨대, 타임스탬프들) 은 또한 도시된 바와 같이, 제시될 수도 있다. 일부 구현예들에서, 디스플레이 (702) 는 또한 각각의 요약 프레임에 대해, 요약 프레임에 대응하는 모션 이벤트의 지속기간을 표시할 수도 있다.
제 2 예 (710) 는 또한 제 1 화살표 (716) 및 제 2 화살표 (717) 와 같은, 화살표들을 포함할 수도 있다. 제 1 화살표 (716) 및 제 2 화살표 (717) 는 사용자가 비디오 콘텐츠를 인덱싱하는데 사용되는 상이한 요약 프레임들을 볼 수 있게 할 수도 있다. 예시하자면, 디스플레이 (702) 와 상호작용하는 사용자는 디스플레이가 제 1 요약 프레임 (712) 에 대응하는 모션 이벤트에 시간적으로 앞서 일어난 모션 이벤트에 대응하는 다른 요약 프레임을 제시하도록 하기 위해 제 1 화살표 (716) 를 선택할 수도 있다. 제 1 요약 프레임 (712) 에 시간적으로 앞서는 어떤 요약 프레임도 존재하지 않으면, 제 1 화살표 (716) 는 디스플레이 (702) 에 포함되지 않을 수도 있다. 사용자는 디스플레이가 제 2 요약 프레임 (713) 에 대응하는 모션 이벤트에 시간적으로 후속하여 일어난 모션 이벤트에 대응하는 다른 요약 프레임을 제시하도록 하기 위해 제 2 화살표 (717) 를 선택할 수도 있다. 제 2 요약 프레임 (713) 에 시간적으로 후속하는 어떤 요약 프레임도 존재하지 않으면, 제 2 화살표 (717) 는 디스플레이 (702) 에 포함되지 않을 수도 있다.
다른 구현예들에서, 다수의 요약 프레임들이 상이한 포맷을 이용하여 편성되어 제시될 수도 있다. 예를 들어, 다수의 요약 프레임들은 예시적인, 비한정적인 예들로서, 타일화된 포맷, 리스트 포맷, 롤로덱스 (rolodex) 포맷, 또는 모자이크 포맷으로 제시될 수도 있다.
도 7c 는 디스플레이 (702) 를 통해서 제시될 수도 있는 인터페이스의 제 3 예 (720) 를 포함한다. 제 3 예 (720) 에서, 디스플레이 (702) 는 요약 프레임 (722) 및 요약 프레임 시간 기간 (721) 을 제시하도록 구성된다. 요약 프레임 (722) 은 비디오 콘텐츠의 적어도 일부분과 연관될 수도 있다. 요약 프레임 시간 기간 (721) 은 요약 프레임 (722) 과 연관된 비디오 콘텐츠의 적어도 일부분의 시작 시간, 종료 시간, 또는 지속기간을 표시할 수도 있다.
요약 프레임 (722) 은 자전거를 탄 사람과 같은, 오브젝트의 다수의 표현들을 포함할 수도 있다. 예를 들어, 다수의 표현들은 제 1 표현 (723) 및 제 2 표현 (724) 을 포함할 수도 있다. 요약 프레임 (722) 은 표현들의 시간 시퀀스를 표시하는 하나 이상의 표시자들을 포함할 수도 있다. 제 3 예 (720) 에 도시된 바와 같이, 하나 이상의 표시자들은 문자들 "A", "B", "C", "D", "E", 및 "F" 를 포함한다. 일부 구현예들에서, 각각의 표시자는 상이한 표현에 대응할 수도 있다. 예시하자면, 표시자 "A" 는 제 1 표현 (723) 에 대응할 수도 있으며, 표시자 "B" 는 제 2 표현 "B" 에 대응할 수도 있다. 따라서, 요약 프레임 (722) 에 포함된 하나 이상의 표시자들은 요약 프레임 (722) 을 참조하여 오브젝트 (예컨대, 자전거를 탄 사람) 가 우측에서 좌측으로 이동하였다는 것을 표시할 수도 있다. 하나 이상의 표시자들은 문자들인 것으로 설명되었지만, 하나 이상의 표시자들은 문자들에 한정되지 않는다. 예를 들어, 하나 이상의 표시자들은 예시적인, 비한정적인 예들로서, 숫자들, 화살표들, 문자들, 타임스탬프들, 또는 이들의 조합으로서 제시될 수도 있다.
도 7d 는 디스플레이 (702) 를 통해서 제시될 수도 있는 인터페이스의 제 4 예 (725) 를 포함한다. 제 4 예 (725) 에서, 디스플레이 (702) 는 요약 프레임 (726) 을 제시하도록 구성된다. 요약 프레임 (726) 은 비디오 콘텐츠의 적어도 일부분과 연관될 수도 있다. 요약 프레임 (726) 은 사람의 팔과 같은, 오브젝트의 다수의 표현들을 포함할 수도 있다. 예를 들어, 다수의 표현들은 제 1 표현 (727) 및 제 2 표현 (728) 을 포함할 수도 있다. 요약 프레임 (726) 은 다수의 표현들의 시간상의 시퀀스를 표시하는 하나 이상의 표시자들을 포함할 수도 있다. 제 4 예 (725) 에 도시된 바와 같이, 하나 이상의 표시자들은 화살표 (729) 와 같은, 화살표들을 포함한다. 다수의 표시자들은 도 7d 를 참조하여 설명되지만, 다른 구현예들에서, 요약 프레임 (726) 은 오브젝트 (예컨대, 팔) 의 이동 경로를 표시하는, 단일 화살표 또는 단일 선분과 같은, 단일 표시자를 포함할 수도 있다.
도 7e 는 디스플레이 (702) 를 통해서 제시될 수도 있는 인터페이스의 제 5 예 (730) 를 포함한다. 제 5 예 (730) 에서, 디스플레이 (702) 는 요약 프레임 (731) 및 비디오 세그먼트에 대한 링크 (732) 를 제시하도록 구성된다. 요약 프레임 (731) 은 비디오 콘텐츠의 적어도 일부분과 연관될 수도 있다. 링크 (732) 는 비디오 콘텐츠의 부분과 연관되는 비디오 세그먼트로의 링크를 제공할 수도 있다. 예시하자면, 디스플레이 (702) 를 통해서 제시되는 링크 (732) 가 사용자에 의해 선택되면, 디스플레이 (702) 는 요약 프레임 (731) 에 대응하는 비디오 세그먼트 (예컨대, 비디오 클립) 를 디스플레이할 수도 있다.
요약 프레임 (731) 은 차와 같은, 오브젝트의 다수의 표현들을 포함할 수도 있다. 예를 들어, 다수의 표현들은 제 1 표현 (733), 제 2 표현 (734), 및 제 3 표현 (735) 을 포함할 수도 있다. 요약 프레임 (731) 은 다수의 표현들의 시간상의 시퀀스를 표시하는 하나 이상의 표시자들을 포함할 수도 있다. 제 3 예 (720) 에 도시된 바와 같이, 하나 이상의 표시자들은 문자들 "A", "B", "C", 및 "D" 를 포함한다. 요약 프레임 (731) 에 포함된 하나 이상의 표시자들은 요약 프레임 (731) 을 참조하여 오브젝트 (예컨대, 차) 가 좌측에서 우측으로 이동하였다는 것을 표시할 수도 있다. 요약 프레임 (731) 에 도시된 바와 같이, 시간에서 후속하는 표현은 시간에서 앞서는 표현 "위에 계층화될" 수도 있다. 예시하자면, 제 2 표현 (734) 은 제 1 표현 (733) 과 중첩하며, 제 3 표현 (735) 은 제 1 표현 (733) 및 제 2 표현 (734) 과 중첩한다. 다른 구현예들에서, 특정의 표현은 특정의 표현에 대해 시간에서 후속하는 하나 이상의 표현들 "위에 계층화될" 수도 있다.
도 7f 는 디스플레이 (702) 를 통해서 제시될 수도 있는 인터페이스의 제 6 예 (740) 를 포함한다. 제 6 예 (740) 에서, 디스플레이 (702) 는 요약 프레임 (741), 데이터 값들 (750-758) (예컨대, 텍스트 정보), 및 선택가능한 특징들 (742-747) 을 제시하도록 구성된다. 요약 프레임 (741) 은 비디오 콘텐츠의 적어도 일부분과 연관될 수도 있다. 비디오 콘텐츠는 카메라에 의해 발생되었을 수도 있다. 비디오 콘텐츠는 파일 이름을 가지는 데이터 파일에 포함될 수도 있다. 요약 프레임 (741) 은 비디오 콘텐츠에 포함된 모션 이벤트와 연관될 수도 있다.
데이터 값들 (750-758) 은 요약 프레임 (741) 과 연관된 메타데이터에 대응할 수도 있다. 예를 들어, 메타데이터는 도 1a 의 메타데이터 (124), 도 1b 내지 도 1c 의 메타데이터 (187), 또는 도 5 의 메타데이터 (524) 를 포함하거나 또는 이들에 대응할 수도 있다. 데이터 값들 (750-758) 은 파일 이름 (750), 요약 프레임 식별자 (751), 모션 이벤트 일자 (752), 모션 이벤트 시작 시간 (753), 모션 이벤트 종료 시간 (754), 모션 이벤트 지속기간 (755), 카메라 식별자 (756), 카메라 로케이션 (757), 및 기상 상태 (758) 를 포함할 수도 있다. 파일 이름 (750) 은 비디오 콘텐츠를 포함하는 데이터 파일을 포함하거나 또는 이에 대응할 수도 있다. 요약 프레임 식별자 (751) 는 요약 프레임 (741) 을 고유하게 식별할 수 있다. 모션 이벤트 일자 (752), 모션 이벤트 시작 시간 (753), 모션 이벤트 종료 시간 (754), 및 모션 이벤트 지속기간 (755) 은 비디오 콘텐츠에 포함된 모션 이벤트에 대응할 수도 있다. 카메라 식별자 (756) 및 카메라 로케이션 (757) 은 비디오 콘텐츠를 발생시킨 카메라를 포함하거나 또는 이에 대응할 수도 있다. 기상 상태 (758) 는 비디오 콘텐츠에서 결정되거나 (예컨대, 검출되거나), 비디오 콘텐츠의 발생 동안 카메라에 의해 측정되거나, 또는 예컨대, 제 3 자 기상 정보 서비스에 액세스함으로써 비디오 콘텐츠의 발생 동안 카메라에 의해 결정된 환경 상태를 표시할 수도 있다.
선택가능한 특징들 (742-747) 은 비디오 세그먼트 요청 특징 (742), 스트림 카메라 특징 (743), 풀 스크린 특징 (744), 통지 세팅들 특징 (745), 요약 프레임 세팅들 특징 (746), 및 시스템 카메라들 특징 (747) 을 포함할 수도 있다. 비디오 세그먼트 요청 특징 (742) 의 사용자 선택에 응답하여, 디스플레이 (702) 는 요약 프레임 (741) 에 대응하는 비디오 콘텐츠의 부분의 비디오 클립을 제시할 수도 있다. 스트림 카메라 특징 (743) 의 사용자 선택에 응답하여, 디스플레이 (702) 는 카메라에 의해 발생된 비디오 스트림 (예컨대, 실시간 비디오 스트림) 을 디스플레이할 수도 있다. 풀 스크린 특징 (744) 의 사용자 선택에 응답하여, 디스플레이 (702) 는 요약 프레임 (741) 의 풀 스크린 버전을 디스플레이할 수도 있다. 통지 세팅들 특징 (745) 의 사용자 선택에 응답하여, 디스플레이 (702) 는 사용자가 도 5 의 통지 (540) 와 같은, 통지가 전달되어야 하는 디바이스 어드레스와 같은, 하나 이상의 통지 세팅들 또는 통지 파라미터들을 설정하거나 또는 수정가능하게 하는 인터페이스를 제시할 수도 있다. 하나 이상의 통지 세팅들 또는 통지 파라미터들은 도 1a 의 통지 발생기 (126), 도 1b 내지 도 1c 의 통지 발생기 (182), 도 5 의 통지 발생기 (526), 또는 이들의 조합과 같은, 통지 발생기의 동작과 연관될 수도 있다.
요약 프레임 세팅들 특징 (746) 의 사용자 선택에 응답하여, 디스플레이 (702) 는 사용자가 요약 프레임 (741) 과 같은, 특정의 요약 프레임에 포함될 (오브젝트의) 표현들의 수와 같은, 하나 이상의 요약 프레임 세팅들 또는 요약 프레임 파라미터들을 설정하거나 또는 수정가능하게 하는 인터페이스를 제시할 수도 있다. 하나 이상의 요약 프레임 세팅들 또는 요약 프레임 파라미터들은 도 1a 의 요약 프레임 발생기 (120), 도 1b 내지 도 1c 의 요약 프레임 발생기 (180), 도 5 의 요약 프레임 발생기 (520), 도 6 의 요약 프레임 발생기 (620), 또는 이들의 조합과 같은, 요약 프레임 발생기의 동작과 연관될 수도 있다. 일부 구현예들에서, 특정의 요약 프레임 세팅 또는 특정의 요약 프레임 파라미터를 설정하거나 또는 변경하는 것에 응답하여, 디스플레이 (702) 를 통해서 제시되는 요약 프레임 (741) 이 업데이트될 수도 있다. 예를 들어, 요약 프레임 (741) 에 포함된 표현들의 수가 6개로부터 7개로 변경되면, 요약 프레임 (741) 은 자전거를 탄 사람의 7개의 표현들을 포함하도록 업데이트될 수도 있다.
시스템 카메라들 특징 (747) 의 사용자 선택에 응답하여, 디스플레이 (702) 는 특정의 사용자에게 이용가능한 하나 이상의 카메라들의 표시 (예컨대, 리스트, 맵, 등) 를 제시할 수도 있다. 예를 들어, 특정의 사용자는 하나 이상의 카메라들의 각각으로부터 하나 이상의 요약 프레임들을 수신하도록 인가받을 수도 있다. 다른 예로서, 특정의 사용자는 하나 이상의 카메라들의 각각에 의해 발생된 비디오 콘텐츠를 스트리밍하도록 인가받을 수도 있다. 일부 예들에서, 사용자는 사용자 인터페이스로 하여금, 카메라들의 리스트에 포함된 카메라들을 활성하거나, 비활성화하거나, 또는 재배향하게 할 수도 있다.
도 7g 는 디스플레이 (702) 를 통해서 제시될 수도 있는 인터페이스의 제 7 예 (760) 를 포함한다. 제 7 예 (760) 에서, 디스플레이 (702) 는 비디오 콘텐츠의 부분과 연관된 요약 프레임 (761), 비디오 콘텐츠에 대응하는 제 1 타임라인 (762), 및 비디오 콘텐츠의 부분에 대응하는 제 2 타임라인 (763) 을 제시하도록 구성된다. 제 1 타임라인 (762) 은 시간 마크들 T0-T5 를 포함한다. 제 1 시간 마크 T0 은 비디오 콘텐츠의 시작에 대응하며, 제 2 시간 마크 T1 은 제 1 요약 프레임과 연관되며, 제 3 시간 마크 T2 는 제 2 요약 프레임 (예컨대, 요약 프레임 (761)) 과 연관되며, 제 4 시간 마크 T3 은 제 3 요약 프레임과 연관되며, 제 5 시간 마크 T5 는 비디오 콘텐츠의 종료에 대응한다.
시간 마크들 T1-T3 중 하나의 선택에 응답하여, 대응하는 요약 프레임이 제시된다. 예를 들어, 제 7 예 (760) 는 제 3 시간 마크 T2 의 선택에 응답한 요약 프레임 (761) 의 제시를 도시한다. 비디오 콘텐츠의 부분의 제 2 타임라인 (763) 이 또한 디스플레이될 수도 있다. 제 2 타임라인 (763) 은 또한 다수의 시간 마크들을 포함한다. 제 2 타임라인 (763) 에서의 시간 마크들의 각각은 부분 비디오 콘텐츠의 상이한 재생 위치 (예컨대, 상이한 프레임) 에 대응하며, 선택될 때, 재생 위치에서 (예컨대, 시작하여) 비디오 콘텐츠의 재생을 야기하는 링크를 포함할 수도 있다. 예를 들어, 제 1 시간 마크 (링크 T2) 는 비디오 콘텐츠의 부분의 제 1 프레임에 대응한다. 제 2 시간 마크 (링크 A) 는 요약 프레임 (761) 을 발생시키는데 제 1 키 프레임으로서 사용되는 제 2 프레임에 대응하며, 제 3 시간 마크 (링크 B) 는 요약 프레임 (761) 을 발생시키는데 제 2 키 프레임으로서 사용되는 제 3 프레임에 대응하며, 제 4 시간 마크 (링크 C) 는 요약 프레임 (761) 을 발생시키는데 제 3 키 프레임으로서 사용되는 제 4 프레임에 대응하며, 제 5 시간 마크 (링크 D) 는 요약 프레임 (761) 을 발생시키는데 제 4 키 프레임으로서 사용되는 제 5 프레임에 대응한다. 일부 예들에서, 재생은 또한, 또는 대안적으로, 요약 프레임 (761) 에 포함된 표현 세트 중 특정의 표현의 선택에 기초하여 개시될 수도 있다. 예를 들어, 표시자 "B" 에 대응하는 (자전거를 탄 사람의) 특정의 표현의 선택은 제 3 프레임에서 비디오 콘텐츠의 재생을 개시할 수도 있다.
도 7h 는 디스플레이 (702) 를 통해서 제시될 수도 있는 인터페이스의 제 8 예 (765) 를 포함한다. 제 8 예 (765) 에서, 디스플레이 (702) 는 제 1 요약 프레임 (766) 및 제 2 요약 프레임 (767) 을 동시에 제시하도록 구성된다. 제 1 요약 프레임 (766) 은 제 1 모션 이벤트와 연관될 수도 있으며, 제 1 모션 이벤트 동안 제 1 오브젝트의 제 1 표현 세트를 포함할 수도 있다. 예를 들어, 제 1 표현 세트는 제 1 표현 및 제 2 표현과 같은, 적어도 2개의 표현들을 포함할 수도 있다. 제 1 표현은 제 1 요약 프레임 (766) 을 발생시키는데 사용되는 제 1 키 프레임에 대응할 수도 있으며, 제 2 표현은 제 1 요약 프레임 (766) 을 발생시키는데 사용되는 제 2 키 프레임에 대응할 수도 있다. 제 2 요약 프레임 (767) 은 제 2 모션 이벤트와 연관될 수도 있으며, 제 2 모션 이벤트 동안 제 2 오브젝트의 제 2 표현 세트를 포함할 수도 있다. 예를 들어, 제 2 표현 세트는 제 3 표현 및 제 4 표현과 같은, 적어도 2개의 표현들을 포함할 수도 있다. 제 3 표현은 제 2 요약 프레임 (767) 을 발생시키는데 사용되는 제 3 키 프레임에 대응할 수도 있으며, 제 4 표현은 제 2 요약 프레임 (767) 을 발생시키는데 사용되는 제 4 키 프레임에 대응할 수도 있다. 제 1 오브젝트 및 제 2 오브젝트는 동일한 오브젝트일 수도 있거나 또는 상이한 오브젝트들일 수도 있다.
디스플레이 (702) 는 또한 링크들 (768) 의 제 1 세트 및 링크들 (769) 의 제 2 세트를 제시하도록 구성될 수도 있다. 링크들 (768) 의 제 1 세트는 제 1 요약 프레임 (766) 에 대응할 수도 있으며, 링크들 (769) 의 제 2 세트는 제 2 요약 프레임 (767) 에 대응할 수도 있다. 각각의 링크는, 선택될 때, 대응하는 재생 위치에서 비디오 콘텐츠의 재생을 개시하도록 구성될 수도 있다.
도 7i 는 디스플레이 (702) 를 통해서 제시될 수도 있는 인터페이스의 제 9 예 (770) 를 포함한다. 제 9 예 (770) 에서, 디스플레이 (702) 는 요약 프레임 (772) 및 타임라인 (771) 을 제시하도록 구성된다. 타임라인 (771) 은 이벤트 1 및 이벤트 2 와 같은, 2개의 모션 이벤트들을 포함하는 비디오 콘텐츠에 대응한다. 각각의 모션 이벤트에 대해, 4개의 키 프레임들이 표현 세트를 발생시키기 위해 선택되었다. 제 1 모션 이벤트 동안, 2개의 오브젝트들 (예컨대, 비행기 및 자전거를 탄 사람) 은 움직이고 있었다. 비행기가 제 1 이벤트의 4개의 키 프레임들 중 2개에서 검출되었다는 점에 유의한다. 제 2 모션 이벤트 동안, 차는 움직이고 있었다. 요약 프레임 (772) 은 다수의 모션 이벤트들 (예컨대, 이벤트 1 및 이벤트 2) 로부터의 표현들의 다수의 세트들을 포함하는 연쇄된 요약 프레임의 구현예를 나타낸다. 타임라인 (771) 상의 이벤트 1 의 선택은 요약 프레임 (772) 으로 하여금 이벤트 1 에 대응하는 제 1 표현 세트를 제시하게 하여, 이벤트 2 와 연관된 제 2 표현 세트를 제거하게 (예컨대, 숨기게) 할 수 있다.
도 7j 는 디스플레이 (702) 를 통해서 제시될 수도 있는 인터페이스의 제 10 예 (780) 를 포함한다. 제 10 예 (780) 에서, 디스플레이 (702) 는 제 1 영역 (782) (예컨대, GUI 윈도우와 같은, 요약 프레임 영역), 제 2 영역 (784) (예컨대, 다른 GUI 윈도우와 같은, 재생 영역), 및 타임라인 (789) 을 제시하도록 구성된다. 제 1 영역 (782) 은 하나 이상의 요약 프레임들을 포함할 수도 있다. 예를 들어, 제 1 영역 (782) 은 비디오 콘텐츠의 부분 (예컨대, 모션 이벤트) 과 연관되는 요약 프레임 (783) 을 포함할 수도 있다. 타임라인 (789) 은 비디오 콘텐츠의 부분에 대응할 수도 있다. 타임라인 (789) 은 모션 이벤트의 시작에 따라서, 그리고 요약 프레임 (783) 을 발생시키는데 사용되는 하나 이상의 키 프레임들에 따라서 인덱싱될 수도 있다. 제 2 영역 (784) 은 본원에서 설명하는 바와 같이, 비디오 세그먼트 (786) (예컨대, 비디오 클립) 를 제시하도록 구성될 수도 있다. 타임라인 (789) 은 사용자로 하여금 제 2 영역 (784) 에서 플레이될 비디오 콘텐츠의 재생 부분 (785) (예컨대, 시간 기간) 을 식별가능하게 할 수도 있다. 재생 위치 표시자 (787) 는 제 2 영역 (784) 에서 제시될 비디오 콘텐츠의 프레임을 표시할 수도 있다. 다른 구현예들에서, 요약 프레임 (783) 에 포함된 표현들 중 하나는 제 2 영역 (784) 에서, 표현에 대응하는 재생 위치에서 비디오 콘텐츠의 재생을 개시하도록 선택될 수도 있다. 추가적으로, 타임라인 (789) 을 인덱싱하는데 사용되는 시간 마크들 (예컨대, 링크들) 중 하나 이상은 또한 제 2 영역 (784) 에서, 특정의 재생 위치에서, 비디오 콘텐츠의 제시를 개시하도록 선택될 수도 있다.
제 1 영역 (782) 및 제 2 영역 (784) 은 도 7j 의 디스플레이 (702) 에서 나란히 있는 것으로 예시되지만, 다른 구현예들에서, 제 1 영역 (782) 및 제 2 영역 (784) 은 상이하게 위치될 수도 있다. 예를 들어, 제 1 영역 (782) 은 제 2 영역 (784) "위에" 부분적으로 또는 전체적으로 위치될 (예컨대, 상에 중첩될) 수도 있거나, 또는 반대의 경우도 마찬가지이다. 추가적으로 또는 대안적으로, 일부 구현예들에서, 제 1 영역 (782) 의 로케이션, 제 2 영역 (784) 의 로케이션, 또는 양자 모두는 이동가능할 수도 있다. 예를 들어, 디스플레이 (702) 에서의 영역들 (782, 784) 중 하나 이상의 영역의 로케이션은 입력에 응답하여 이동될 수도 있다. 예시하자면, 사용자가 디스플레이 (702) 의 제 1 영역 (782) 을 터치한 다음, 사용자가 제 1 영역 (782) 이 이동되어야 하는 디스플레이 (702) 의 새로운 로케이션을 터치할 수도 있다. 대안적으로, 사용자는 영역들 (782, 784) 을 선택하고 디스플레이 (702) 의 원하는 위치들로 "드래그할" 수도 있다.
본원에서 설명되는 여러 예들은 터치 스크린과 같은 입력을 통한 사용자 선택을 참조하지만, 대안적인 구현예들에서, "선택들" 은 다른 방법들로 수행될 수도 있는 것으로 이해되어야 한다는 점에 유의해야 한다. 예를 들어, 선택은 터치, 사용자의 눈의 트래킹 (예컨대, 시선 검출), 터치 입력을 제공함이 없이 아이템 상에서 손, 손가락, 스타일러스, 또는 다른 디바이스를 "호버링하는 것", 등을 통해서 이루어질 수도 있다.
일부 구현예들에서, 도 7a 내지 도 7j 의 일 예의 양태는 인터페이스를 생성하기 위해 도 7a 내지 도 7j 의 상이한 예의 다른 양태와 결합될 수도 있다. 예시하자면, 도 7b 의 제 2 예 (710) 는 제 1 요약 프레임 (712) 및 제 2 요약 프레임 (713) 의 각각에 대해, 도 7a 의 제 1 예 (700) 를 참조하여 설명된 바와 같이, 대응하는 타임라인을 포함할 수도 있다.
도 8 을 참조하면, 요약 프레임을 발생시키는 방법 (800) 의 실례의 흐름도가 도시된다. 요약 프레임은 도 1a 의 요약 프레임 (122), 도 1c 의 제 1 요약 프레임 (198), 제 2 요약 프레임 (199), 도 2 의 요약 프레임 (238), 도 5 의 요약 프레임 (522), 도 6 의 요약 프레임 (622), 도 7a 의 요약 프레임 (704), 도 7b 의 제 1 요약 프레임 (712), 제 2 요약 프레임 (713), 도 7c 의 요약 프레임 (722), 도 7d 의 요약 프레임 (726), 도 7e 의 요약 프레임 (731), 도 7f 의 요약 프레임 (741), 도 7g 의 요약 프레임 (761), 도 7h 의 제 1 요약 프레임 (766), 제 2 요약 프레임 (767), 도 7i 의 요약 프레임 (772), 도 7j 의 요약 프레임 (783), 또는 이들의 조합을 포함하거나 또는 이들에 대응할 수도 있다. 방법 (800) 은 도 1a 의 디바이스 (102) (예컨대, 프로세서 (118)), 도 1b 내지 도 1c 의 카메라 (162) (예컨대, 프로세서 (174)), 도 2 의 요약 프레임 발생기 (120), 도 5 의 비디오 시스템 (502) (예컨대, 제어기 (510), 제 1 카메라 (530), 또는 제 2 카메라 (532)), 도 6 의 디바이스 (602) (예컨대, 프로세서 (618)), 또는 이들의 조합에 의해 수행될 수도 있다.
방법 (800) 은 802 에서, 비디오 콘텐츠의 적어도 일부분에서의 이벤트에 대응하는 모션 이벤트 기간을 검출하는 단계를 포함할 수도 있으며, 비디오 콘텐츠는 다수의 이미지 프레임들을 포함하며, 여기서, 비디오 콘텐츠의 부분은 오브젝트를 포함한다. 데이터 콘텐츠는 카메라 또는 메모리 (예컨대, 버퍼) 로부터 수신될 수도 있다. 비디오 콘텐츠는 도 1a 의 비디오 콘텐츠 (140) (또는, 비디오 콘텐츠 (114)), 도 1b 내지 도 1c 의 비디오 콘텐츠 (167), 도 2 의 이미지 프레임들 (240), 도 5 의 비디오 콘텐츠 (534), 또는 도 6 의 비디오 콘텐츠 (614) 를 포함하거나 또는 이들에 대응할 수도 있다. 일부 구현예들에서, 모션 이벤트 기간을 검출하는 단계는 모션 이벤트 기간의 시작을 검출하는 단계 및 모션 이벤트 기간의 종료를 검출하는 단계를 포함할 수도 있다.
방법 (800) 은 804 에서, 비디오 콘텐츠의 부분과 연관된 요약 프레임을 발생시키는 단계를 더 포함할 수도 있으며, 요약 프레임은 오브젝트의 다수의 표현들을 나타낸다. 요약 프레임은 모션 이벤트 기간의 시각적 요약을 제공한다. 일부 구현예들에서, 통지는 제 1 모션 이벤트에 대응하는 제 1 요약 프레임 및 제 2 모션 이벤트에 대응하는 제 2 요약 프레임과 같은, 다수의 요약 프레임들을 포함할 수도 있다. 방법 (800) 은 806 에서, 디바이스로의 통지의 전송을 개시하는 단계를 더 포함할 수도 있으며, 여기서, 통지는 요약 프레임의 발생을 표시한다. 예를 들어, 통지는 요약 프레임을 포함할 수도 있거나, 또는 요약 프레임이 발생중이거나 또는 발생되었다는 것을 표시하는 표시자를 포함할 수도 있다. 통지는 도 1a 의 통지 (128), 도 1b 내지 도 1c 의 통지 (188), 도 5 의 통지 (540), 또는 이들의 조합을 포함하거나 또는 이들에 대응할 수도 있다. 디바이스는 도 1 의 제어기 (510) 또는 도 1 의 디바이스 (550) 를 포함하거나 또는 이들에 대응할 수도 있다.
일부 구현예들에서, 방법 (800) 은 다수의 이미지 프레임들 중 적어도 하나에 기초하여 배경 모델을 유지하는 단계를 포함할 수도 있다. 예를 들어, 프레임 차이, 평균 필터링, 가우시안 평균, 등이 배경 모델을 발생시키기 위해 다수의 이미지 프레임들 중 적어도 하나에 적용될 수도 있다. 배경 모델은 모션 이벤트 기간의 시작, 모션 이벤트 기간의 종료, 또는 양자 모두를 식별하기 위해 사용될 수도 있다. 예시하자면, 모션 이벤트 기간의 시작은 (다수의 이미지 프레임들의) 이미지 프레임을 배경 모델과 비교함으로써 식별될 수도 있다. 모션 이벤트 기간의 시작을 식별하는 것에 응답하여, 방법 (800) 은 이미지 프레임에 기초하여 비디오 콘텐츠를 인덱싱하는 단계를 포함할 수도 있다.
일부 구현예들에서, 방법 (800) 은 다수의 이미지 프레임들 중 2개 이상의 이미지 프레임들을 키 프레임들로서 선택하는 단계를 포함할 수도 있다. 2개 이상의 이미지 프레임들은 모션 이벤트 기간 동안 버퍼될 수도 있다. 비디오 콘텐츠는 키 프레임들로서 선택된 2개 이상의 이미지 프레임들의 각각을 이용하여 인덱싱될 수도 있다. 예를 들어, 비디오 콘텐츠는 도 1b 내지 도 1c 의 인덱싱된 비디오 콘텐츠 (170), 도 5 의 인덱싱된 비디오 콘텐츠 (514), 또는 도 6 의 인덱싱된 비디오 콘텐츠 (642) 와 같은, 인덱싱된 비디오 콘텐츠를 발생시키기 위해 인덱싱될 수도 있다. 추가적으로, 방법 (800) 은 2개 이상의 이미지 프레임들의 각각에 대해, 이미지 프레임으로부터의 오브젝트의 표현을 배경 모델과 결합하는 단계를 포함할 수도 있다.
일부 구현예들에서, 2개 이상의 이미지 프레임들을 선택하는 단계는 다수의 이미지 프레임의 각각의 이미지 프레임에 대해, 대응하는 분석 결과 값을 결정하기 위해 이미지 프레임을 분석하는 단계를 포함할 수도 있다. 모션 이벤트 기간의 전체 분석 결과 값을 결정하기 위해 다수의 이미지 프레임들의 다수의 분석 결과 값들이 함께 가산될 수도 있다. 전체 분석 결과 값은 임계값을 결정하기 위해 키 프레임들의 수로 나눠질 수도 있다.
다른 구현예들에서, 2개 이상의 이미지 프레임들 중 제 1 이미지 프레임을 선택하는 단계는 대응하는 분석 결과 값을 결정하기 위해 제 1 이미지 프레임을 분석하는 단계를 포함할 수도 있다. 누적된 값은 대응하는 분석 결과 값에 기초하여 결정될 수도 있다. 예를 들어, 누적된 값은 대응하는 분석 결과 값을 기존 누적된 값에 가산함으로써 결정될 수도 있다. 방법 (800) 은 누적된 값을 임계값과 비교하는 단계를 포함할 수도 있다. 제 1 이미지 프레임은 누적된 값이 임계값보다 크거나 또는 같은 것에 응답하여 키 프레임으로서 선택될 수도 있다.
따라서, 방법 (800) 은 모션 이벤트 기간과 연관된 요약 프레임의 발생을 가능하게 한다. 요약 프레임은 요약 프레임의 뷰어가 모션 이벤트 기간 동안 일어난 활동의 이해를 빨리 얻는 것을 가능하게 할 수도 있다. 추가적으로, 요약 프레임을 포함하는 통지를 디바이스로 전송함으로써, 통지의 데이터 사이즈가 모션 이벤트 기간과 연관된 비디오 세그먼트 (예컨대, 비디오 클립) 를 포함하는 통지를 전송하는 것에 비해 감소될 수도 있다. 또, (비디오 세그먼트가 아닌) 요약 프레임을 포함하는 통지는 비디오 세그먼트를 포함하는 통지보다, 더 적은 전력 및 더 적은 대역폭을 이용하여, 더 빨리 제공될 수도 있다.
도 9 를 참조하면, 요약 프레임을 전달하는 방법 (900) 의 실례의 흐름도가 도시된다. 요약 프레임은 도 1a 내지 도 1c 의 요약 프레임들 (122, 198, 199) 중 하나 이상, 도 2 의 요약 프레임 (238), 도 5 의 요약 프레임 (522), 도 6 의 요약 프레임 (622), 도 7a 내지 도 7j 의 요약 프레임들 (704, 712, 713, 722, 726, 731, 741, 761, 766, 767, 772, 783) 중 하나 이상, 또는 이들의 조합을 포함하거나 또는 이들에 대응할 수도 있다. 방법 (900) 은 도 1a 의 디바이스 (102), 도 1b 내지 도 1c 의 카메라 (162), 비디오 시스템 (502) (예컨대, 제어기 (510), 제 1 카메라 (530), 또는 제 2 카메라 (532)), 도 5 의 디바이스 (550), 도 6 의 디바이스 (602), 또는 이들의 조합에 의해 수행될 수도 있다.
방법 (900) 은 902 에서, 제 1 디바이스에 의해 제 2 디바이스로, 비디오 콘텐츠의 부분에서 검출된 모션 이벤트의 통지를 전송하는 단계를 포함할 수도 있으며, 통지는 비디오 콘텐츠의 부분과 연관된 요약 프레임을 포함하며, 여기서, 비디오 콘텐츠의 부분은 오브젝트를 포함하며, 요약 프레임은 오브젝트의 다수의 표현들을 나타낸다. 비디오 콘텐츠의 부분은 비디오 콘텐츠 전체 또는 비디오 콘텐츠 전체 미만을 포함할 수도 있다. 일부 구현예들에서, 제 1 디바이스는 비디오 감시 시스템에 포함될 수도 있으며, 비디오 콘텐츠는 비디오 감시 시스템의 캡쳐 디바이스 (예컨대, 카메라) 에 의해 발생되었을 수도 있다. 제 2 디바이스는 도 5 의 디바이스 (550) 를 포함하거나 또는 이에 대응할 수도 있다.
방법 (900) 은 904 에서, 제 1 디바이스에서, 모션 이벤트와 연관된 비디오 세그먼트에 대한 제 2 디바이스로부터의 요청을 수신하는 단계를 더 포함할 수도 있다. 예를 들어, 요청은 도 5 의 요청 (544) 을 포함하거나 또는 이에 대응할 수도 있다. 일부 구현예들에서, 요청을 수신하는 것에 응답하여, 비디오 세그먼트를 발생시킨 (예컨대, 비디오 세그먼트에 포함된 하나 이상의 이미지 프레임들을 발생시킨) 카메라의 카메라 식별자가 결정될 수도 있다. 비디오 세그먼트는 카메라 식별자에 기초하여 저장 로케이션으로부터 수신될 수도 있다. 예시하자면, 방법 (900) 은 비디오 콘텐츠를 발생시킨 카메라의 메모리로부터의 비디오 세그먼트에 액세스하는 단계를 포함할 수도 있다.
방법 (900) 은 또한 906 에서, 비디오 세그먼트를 제 1 디바이스로부터 제 2 디바이스로 전송하는 단계를 포함할 수도 있다. 예를 들어, 비디오 세그먼트는 도 5 의 비디오 세그먼트 (548) 를 포함하거나 또는 이에 대응할 수도 있다. 일부 구현예들에서, 통지의 제 1 데이터 사이즈는 비디오 세그먼트의 제 2 데이터 사이즈 미만일 수도 있다.
일부 구현예들에서, 통지는 단일 요약 프레임을 포함할 수도 있다. 다른 구현예들에서, 통지는 제 1 요약 프레임 및 제 2 요약 프레임과 같은, 다수의 요약 프레임들을 포함할 수도 있다. 제 1 요약 프레임은 제 1 비디오 세그먼트와 연관될 수도 있으며, 제 2 요약 프레임은 제 2 비디오 세그먼트와 연관될 수도 있다. 제 1 요약 프레임은 제 1 비디오 세그먼트에 포함된 제 1 오브젝트의 다수의 표현들을 나타낼 수도 있으며, 제 2 요약 프레임은 제 2 비디오 세그먼트에 포함된 제 2 오브젝트의 다수의 표현들을 나타낼 수도 있다. 제 1 오브젝트 및 제 2 오브젝트는 상이한 오브젝트들일 수도 있거나 또는 동일한 오브젝트일 수도 있다. 일부 구현예들에서, 제 1 비디오 세그먼트 및 제 2 비디오 세그먼트는 동일한 카메라에 의해 발생될 수도 있다. 다른 구현예들에서, 제 1 비디오 세그먼트 및 제 2 비디오 세그먼트는 상이한 카메라들에 의해 발생될 수도 있다.
일부 구현예들에서, 방법 (900) 은 제 2 디바이스로부터 인증 정보를 수신하는 단계를 포함할 수도 있다. 예를 들어, 인증 정보는 도 1 의 인증 정보 (546) 를 포함하거나 또는 이에 대응할 수도 있다. 방법 (900) 은 비디오 세그먼트를 제 2 디바이스로 전송하기 전에 인증 정보를 검증 (validate) 하는 단계를 포함할 수도 있다. 인증 정보는 디바이스가 비디오 세그먼트를 수신하도록 인가되었다는 것을 보장하기 위해 검증될 수도 있다.
일부 구현예들에서, 요약 프레임은 도 1a 의 메타데이터 (124), 도 1b 내지 도 1c 의 메타데이터 (187), 또는 도 5 의 메타데이터 (524) 와 같은, 메타데이터를 포함할 수도 있다. 메타데이터는 비디오 세그먼트의 식별자, 다수의 표현들의 표현을 발생시키는데 사용되는 비디오 세그먼트의 이미지 프레임의 표시자, 비디오 세그먼트의 시작과 연관된 제 1 타임스탬프, 비디오 세그먼트의 종료와 연관된 제 2 타임스탬프, 비디오 세그먼트가 저장되는 메모리의 저장 로케이션으로의 링크, 또는 이들의 조합을 포함할 수도 있다.
따라서, 방법 (900) 은 비디오 세그먼트를 제 2 디바이스로 전송하기 전에 모션 이벤트와 연관된 요약 프레임이 제 2 디바이스에 제공될 수 있게 한다. 요약 프레임은 제 2 디바이스에서 요약 프레임의 뷰어가 비디오 세그먼트를 볼 필요없이 모션 이벤트 동안 일어난 활동의 이해를 빨리 얻을 수 있게 할 수도 있다. 따라서, 제 2 디바이스의 사용자는 요약 프레임을 수신한 후 비디오 세그먼트를 요청하기로 결정할 수도 있다. 추가적으로, 요약 프레임을 포함하는 통지를 제 2 디바이스로 전송함으로써, 통지의 데이터 사이즈가 비디오 세그먼트를 제 2 디바이스로 전송하는 것에 비해 감소될 수도 있다. 따라서, (비디오 세그먼트가 아닌) 요약 프레임을 포함하는 통지가 비디오 세그먼트를 제공하는 것보다, 더 적은 전력 및 더 적은 대역폭을 이용하여, 제 2 디바이스에 더 빨리 제공될 수도 있다.
도 10 을 참조하면, 요약 프레임을 수신하는 방법 (1000) 의 실례의 흐름도가 도시된다. 요약 프레임은 도 1a 내지 도 1c 의 요약 프레임들 (122, 198, 199) 중 하나 이상, 도 2 의 요약 프레임 (238), 도 5 의 요약 프레임 (522), 도 6 의 요약 프레임 (622), 도 7a 내지 도 7j 의 요약 프레임들 (704, 712, 713, 722, 726, 731, 741, 761, 766, 767, 772, 783) 중 하나 이상, 또는 이들의 조합을 포함하거나 또는 이들에 대응할 수도 있다. 방법 (1000) 은 도 1a 의 디바이스 (102), 도 1b 내지 도 1c 의 카메라 (162), 비디오 시스템 (502) (예컨대, 제어기 (510), 제 1 카메라 (530), 또는 제 2 카메라 (532)), 도 5 의 디바이스 (550), 도 6 의 디바이스 (602), 또는 이들의 조합에 의해 수행될 수도 있다.
방법 (1000) 은 1002 에서, 모션 이벤트의 통지를 수신하는 단계를 포함할 수도 있으며, 통지는 모션 이벤트와 연관된 비디오 콘텐츠의 부분과 연관된 요약 프레임을 포함하며, 요약 프레임은 오브젝트의 다수의 표현들을 나타내며, 오브젝트는 비디오 콘텐츠의 부분에 포함된다. 예를 들어, 통지는 도 1a 의 통지 (128), 도 1b 내지 도 1c 의 통지 (188), 도 5 의 통지 (540), 또는 이들의 조합을 포함하거나 또는 이들에 대응할 수도 있다. 통지는 비디오 감시 시스템에 포함된 디바이스와 같은, 디바이스로부터 수신될 수도 있다. 일부 구현예들에서, 통지는 예시적인, 비한정적인 예들로서, 이메일 메시지 또는 단문 메시지 서비스 (SMS) 메시지를 포함할 수도 있다. 일부 구현예들에서, 통지는 무선 네트워크를 통해서 수신될 수도 있다. 통지를 수신한 후, 요약 프레임은 통지를 수신한 디바이스에 커플링된 디스플레이를 통해서 제시될 수도 있다.
방법 (1000) 은 1004 에서, 모션 이벤트와 연관된 비디오 콘텐츠 중 적어도 일부분에 대한 요청을 발생시키는 단계를 더 포함할 수도 있다. 예를 들어, 요청은 도 5 의 요청 (544) 을 포함하거나 또는 이에 대응할 수도 있다. 비디오 콘텐츠는 도 1a 의 비디오 콘텐츠 (140) (또는, 비디오 콘텐츠 (114)), 도 1b 내지 도 1c 의 비디오 콘텐츠 (167), 도 2 의 이미지 프레임들 (240), 도 5 의 비디오 콘텐츠 (534), 또는 도 6 의 비디오 콘텐츠 (614) 를 포함하거나 또는 이들에 대응할 수도 있다. 일부 구현예들에서, 요청을 전송한 후, 방법 (1000) 은 비디오 콘텐츠의 부분을 수신하는 단계를 포함할 수도 있다. 비디오 콘텐츠의 부분을 수신하는 것에 응답하여, 비디오 콘텐츠의 부분은 디스플레이를 통해서 제시되거나, 메모리에 저장되거나, 또는 양자 모두가 수행될 수도 있다.
일부 구현예들에서, 입력은 사용자 인터페이스 (예컨대, 키 패드, 터치 스크린, 마이크로폰, 등) 와 같은, 인터페이스를 통해서 수신될 수도 있다. 예를 들어, 인터페이스는 도 1a 의 사용자 인터페이스 (130), 도 5 의 인터페이스 (562), 또는 도 6 의 입력 디바이스 (632) 를 포함하거나 또는 이들에 대응할 수도 있다. 입력은 요청을 개시하는 것과 연관될 수도 있다. 예를 들어, 요청은 입력을 수신하는 것에 응답하여 발생될 수도 있다. 추가적으로, 입력에 응답하여, 요청은 예시적인, 비한정적인 예로서, 무선 네트워크와 같은, 적어도 하나의 네트워크를 통해서 송신될 수도 있다.
따라서, 방법 (1000) 은 디바이스가 요약 프레임을 수신가능하게 하여 요약 프레임의 뷰어가 모션 이벤트 동안 일어난 활동의 이해를 빨리 얻을 수 있게 한다. 따라서, 요약 프레임에 기초하여, 사용자는 모션 이벤트에 대응하는 비디오 세그먼트 (예컨대, 비디오 클립) 를 요청할지 여부를 결정할 수도 있다.
도 11 을 참조하면, 다수의 요약 프레임들을 "연쇄시키는" 방법 (1100) 의 실례의 흐름도가 도시된다. 다수의 요약 프레임들은 도 1a 내지 도 1c 의 요약 프레임들 (122, 198, 199) 중 하나 이상, 도 2 의 요약 프레임 (238), 도 5 의 요약 프레임 (522), 도 6 의 요약 프레임 (622), 도 7a 내지 도 7j 의 요약 프레임들 (704, 712, 713, 722, 726, 731, 741, 761, 766, 767, 772, 783) 중 하나 이상, 또는 이들의 조합을 포함하거나 또는 이들에 대응할 수도 있다. 방법 (1100) 은 도 1a 의 디바이스 (102), 도 1b 내지 도 1c 의 카메라 (162), 비디오 시스템 (502) (예컨대, 제어기 (510), 제 1 카메라 (530), 또는 제 2 카메라 (532)), 도 5 의 디바이스 (550), 도 6 의 디바이스 (602), 또는 이들의 조합에 의해 수행될 수도 있다.
방법 (1100) 은 1102 에서, 시간 기간의 종료의 식별에 응답하여, 시간 기간 동안 캡쳐된 비디오 콘텐츠에 액세스하는 단계를 포함할 수도 있다. 비디오 콘텐츠는 도 1a 의 비디오 콘텐츠 (140) (또는, 비디오 콘텐츠 (114)), 도 1b 내지 도 1c 의 비디오 콘텐츠 (167), 도 2 의 이미지 프레임들 (240), 도 5 의 비디오 콘텐츠 (534), 또는 도 6 의 비디오 콘텐츠 (614) 를 포함하거나 또는 이들에 대응할 수도 있다. 방법 (1100) 은 1104 에서, 비디오 콘텐츠에서 복수의 모션 이벤트를 식별하는 단계를 더 포함할 수도 있다. 방법 (1100) 은 또한, 1106 에서, 각각의 모션 이벤트에 대해, 모션 이벤트 동안 적어도 하나의 대응하는 오브젝트의 다수의 표현을 포함하는 대응하는 요약 프레임을 발생시키는 단계를 포함할 수도 있다. 방법 (1100) 은 1108 에서, 복수의 모션 이벤트들에 대응하는 요약 프레임들을 포함하는 통지를 발생시키는 단계를 포함할 수도 있다. 예시하자면, 통지는 도 1c 의 요약 프레임 연쇄 (196) 와 같은, 요약 프레임 연쇄를 포함할 수도 있다. 예를 들어, 통지는 도 1a 의 통지 (128), 도 1b 내지 도 1c 의 통지 (188), 도 5 의 통지 (540), 또는 이들의 조합을 포함하거나 또는 이들에 대응할 수도 있다. 따라서, 방법 (1100) 은 다수의 요약 프레임들을 포함하는 통지의 발생을 가능하게 한다.
도 12 를 참조하면, 비디오 콘텐츠를 인덱싱하는 방법 (1200) 의 실례의 흐름도가 도시된다. 방법 (1200) 은 도 1a 의 디바이스 (102), 도 1b 내지 도 1c 의 카메라 (162), 비디오 시스템 (502) (예컨대, 제어기 (510), 제 1 카메라 (530), 또는 제 2 카메라 (532)), 도 5 의 디바이스 (550), 도 6 의 디바이스 (602), 또는 이들의 조합에 의해 수행될 수도 있다.
방법 (1200) 은 1202 에서, 인덱싱된 비디오 콘텐츠에 대한 요청을 수신하는 단계를 포함할 수도 있다. 예를 들어, 요청은 도 6 의 요청 (640) 을 포함하거나 또는 이에 대응할 수도 있다. 비디오 콘텐츠는 도 1a 의 비디오 콘텐츠 (140) (또는, 비디오 콘텐츠 (114)), 도 1b 내지 도 1c 의 비디오 콘텐츠 (167), 도 2 의 이미지 프레임들 (240), 도 5 의 비디오 콘텐츠 (534), 또는 도 6 의 비디오 콘텐츠 (614) 를 포함하거나 또는 이들에 대응할 수도 있다.
방법 (1200) 은 또한 1204 에서, 요청에 응답하여, 비디오 콘텐츠를 수신하는 단계를 포함할 수도 있다. 예를 들어, 비디오 콘텐츠는 도 1a 의 비디오 콘텐츠 (140) (또는, 비디오 콘텐츠 (114)), 도 1b 내지 도 1c 의 비디오 콘텐츠 (167), 도 2 의 이미지 프레임들 (240), 도 5 의 비디오 콘텐츠 (534), 또는 도 6 의 비디오 콘텐츠 (614) 를 포함하거나 또는 이들에 대응할 수도 있다. 일부 구현예들에서, 비디오 콘텐츠를 수신하는 단계는 도 2 의 메모리 (612) 와 같은, 메모리로부터의 비디오 콘텐츠에 액세스하는 단계를 포함할 수도 있다.
방법 (1200) 은 1206 에서, 비디오 콘텐츠에 기초하여 하나 이상의 요약 프레임들을 발생시키는 단계를 더 포함할 수도 있다. 하나 이상의 요약 프레임들은 도 1a 내지 도 1c 의 요약 프레임들 (122, 198, 199) 중 하나 이상, 도 2 의 요약 프레임 (238), 도 5 의 요약 프레임 (522), 도 6 의 요약 프레임 (622), 도 7a 내지 도 7j 의 요약 프레임들 (704, 712, 713, 722, 726, 731, 741, 761, 766, 767, 772, 783) 중 하나 이상, 또는 이들의 조합을 포함하거나 또는 이들에 대응할 수도 있다.
방법 (1200) 은 1208 에서, 인덱싱된 비디오 콘텐츠를 발생시키기 위해 하나 이상의 요약 프레임들을 이용하여 비디오 콘텐츠를 인덱싱하는 단계를 포함할 수도 있다. 예를 들어, 인덱싱된 비디오 콘텐츠는 도 1b 내지 도 1c 의 인덱싱된 비디오 콘텐츠 (170), 도 5 의 인덱싱된 비디오 콘텐츠 (514), 또는 도 6 의 인덱싱된 비디오 콘텐츠 (642) 를 포함하거나 또는 이들에 대응할 수도 있다. 따라서, 방법 (1200) 은 하나 이상의 요약 프레임들을 이용한 비디오 콘텐츠의 인덱스를 가능하게 한다.
도 3, 도 4, 및 도 8-12 의 방법들은 필드-프로그래밍가능 게이트 어레이 (FPGA) 디바이스, 주문형 집적 회로 (ASIC), 처리 유닛, 예컨대 그래픽 처리 유닛 (GPU), 중앙 처리 유닛 (CPU), 디지털 신호 프로세서 (DSP), 제어기, 다른 하드웨어 디바이스, 펌웨어 디바이스, 또는 이들의 임의의 조합에 의해 구현될 수도 있다. 일 예로서, 도 3, 4, 및 8-12 의 방법들은 하나 이상의 이미지들과 연관된 선분들을 검출하거나 또는 추적하는 명령들을 실행하는 하나 이상의 프로세서들에 의해 수행될 수 있다. 일 예로서, 도 3 의 방법 (300), 도 4 의 방법 (400), 도 8 의 방법 (800), 도 9 의 방법 (900), 도 10 의 방법 (1000), 도 11 의 방법 (1100), 도 12 의 방법 (1200), 또는 이들의 조합은 요약 프레임을 발생시키거나 또는 전달하는 명령들을 실행하는 하나 이상의 프로세서들에 의해 수행될 수 있다. 예시하자면, 도 3, 4, 또는 8-12 의 방법들 중 하나의 부분은 도 3, 4, 또는 8-12 의 방법들 중 하나의 제 2 부분과 결합될 수도 있다. 추가적으로, 도 3, 4, 또는 8-12 의 방법들 중 하나를 참조하여 설명된 하나 이상의 단계들은 옵션적일 수도 있거나, 적어도 부분적으로 동시에 수행될 수도 있거나, 또는 도시되거나 또는 설명된 순서와는 상이한 순서로 수행될 수도 있다.
도 13 을 참조하면, 무선 통신 디바이스와 같은, 전자 디바이스 (1300) 의 특정의 실례의 블록도가 도시된다. 디바이스 (1300), 또는 이들의 컴포넌트들은, 도 1a 의 시스템 (100) (예컨대, 디바이스 (102)), 도 1b 의 시스템 (160) (예컨대, 카메라 (162)), 도 1c 의 시스템 (190) (예컨대, 카메라 (162)), 도 2 의 시스템 (200), 도 5 의 시스템 (500) (예컨대, 제어기 (510), 제 1 카메라 (530), 제 2 카메라 (532), 디바이스 (550)), 도 6 의 시스템 (600) (예컨대, 디바이스 (602)), 또는 이들의 컴포넌트들을 포함하거나 또는 이들에 대응할 수도 있다.
일부 구현예들에서, 디바이스 (1300), 또는 이들의 컴포넌트들은 폐쇄 회로 텔레비전 (CCTV) 시스템과 같은, 비디오 감시 시스템에 포함될 수도 있거나, 또는 이들을 구현하는데 사용될 수도 있다. 예시하자면, 디바이스 (1300) 는 카메라 디바이스일 수도 있거나, 카메라를 포함할 수도 있거나, 또는 비디오 시스템 제어기를 포함할 수도 있다. 추가적으로 또는 대안적으로, 디바이스 (1300) 는 예시적인, 비한정적인 예들로서, 컴퓨터, 랩탑, 모바일 디바이스 (예컨대, 스마트폰, 태블릿 컴퓨터, 등), 또는 서버와 같은, 재생 디바이스를 포함할 수도 있다. 추가적으로 또는 대안적으로, 디바이스 (1300) 는 운송체, 게이밍 콘솔, 자동차 시스템 콘솔 (예컨대, ADAS), 착용가능한 디바이스 (예컨대, 개인 장착 카메라), 헤드 장착 디스플레이 (HMD), 등에 포함될 수도 있다. 예를 들어, 디바이스 (1300) 는 운송체에 포함될 수도 있다. 추가적인 예들은 로봇 또는 로봇 디바이스, 무인 항공 운송체 (UAV), 또는 드론에 포함되는 예를 포함하지만 이에 한정되지 않는다. 운송체의 예들은 자동차 (예컨대, 차, 트럭, 모터사이클, 버스, 또는 열차), 선박 (예컨대, 배 또는 보트), 항공기 (예컨대, 비행기 또는 헬리콥터), 우주선 (예컨대, 우주 왕복선), 자전거, 또는 다른 운송체를 포함할 수 있다. 운송체는 예시적인 비한정적인 예들로서, 차륜 운송체, 궤도 운송체, 레일 운송체, 공수 운송체, 또는 스키 운송체일 수도 있다. 일부의 경우, 운송체는 하나 이상의 드라이버들에 의해 동작될 수도 있다. 다른 경우, 운송체는 자율 운송체와 같은 컴퓨터-제어 운송체일 수도 있다.
디바이스 (1300) 는 메모리 (1332) 에 커플링된, 디지털 신호 프로세서 (DSP), 중앙 처리 유닛 (CPU), 또는 그래픽 처리 유닛 (GPU) 과 같은, 적어도 하나의 프로세서 (1310) 를 포함한다. 메모리 (1332) 는 도 1a 의 메모리 (112), 도 1b 내지 도 1c 의 메모리 (166), 도 5 의 메모리 (512), 도 6 의 메모리 (612), 또는 이들의 조합을 포함하거나 또는 이들에 대응할 수도 있다. 프로세서 (1310) 는 하나 이상의 이미지들 (예컨대, 하나 이상의 이미지 프레임들) 과 연관된 이미지 데이터 (1374) 를 처리하도록 구성될 수도 있다. 이미지 데이터 (1374) 는 도 1a 의 비디오 콘텐츠 (140) (또는, 비디오 콘텐츠 (114)), 도 1b 내지 도 1c 의 비디오 콘텐츠 (167), 도 2 의 이미지 프레임들 (240), 도 5 의 비디오 콘텐츠 (534), 또는 도 6 의 비디오 콘텐츠 (614) 를 포함하거나 또는 이들에 대응할 수도 있다.
프로세서 (1310) 는 요약 프레임 발생기 (1350) 및 통지 발생기 (1356) 를 포함한다. 요약 프레임 발생기 (1350) 는 도 1a 의 요약 프레임 발생기 (120), 도 1b 내지 도 1c 의 요약 프레임 발생기 (180), 도 5 의 요약 프레임 발생기 (520), 도 6 의 요약 프레임 발생기 (620), 또는 이들의 조합을 포함하거나 또는 이들에 대응할 수도 있다. 통지 발생기 (1356) 는 도 1a 의 통지 발생기 (126), 도 1b 내지 도 1c 의 통지 발생기 (182), 도 5 의 통지 발생기 (526), 또는 이들의 조합을 포함하거나 또는 이들에 대응할 수도 있다. 요약 프레임 발생기 (1350) 는 이미지 데이터 (1374) 를 처리하여 요약 프레임 (1372) 을 발생시키도록 구성될 수도 있다. 요약 프레임 (1372) 은 도 1a 내지 도 1c 의 요약 프레임들 (122, 198, 199) 중 하나 이상, 도 2 의 요약 프레임 (238), 도 5 의 요약 프레임 (522), 도 6 의 요약 프레임 (622), 도 7a 내지 도 7j 의 요약 프레임들 (704, 712, 713, 722, 726, 731, 741, 761, 766, 767, 772, 783) 중 하나 이상, 또는 이들의 조합을 포함하거나 또는 이들에 대응할 수도 있다. 요약 프레임 발생기 (1350) 는 요약 프레임 (1372) 을 통지 발생기 (1356) 에 제공할 수도 있다. 통지 발생기 (1356) 는 요약 프레임 (1372) 을 포함하는 통지 (예컨대, 메시지) 를 발생시키도록 구성될 수도 있다.
메모리 (1332) 는 컴퓨터-판독가능 명령들 또는 프로세서-판독가능 명령들과 같은 명령들 (1368) (예컨대, 실행가능한 명령들), 및 비디오 콘텐츠 (1370) 를 포함한다. 비디오 콘텐츠 (1370) 는 이미지 데이터 (1374) 를 포함하거나 또는 이에 대응할 수도 있다. 일부 구현예들에서, 비디오 콘텐츠 (1370) 는 이미지 데이터 (1374) 의 적어도 일부분 또는 이미지 데이터 (1374) 의 인덱싱된 버전을 포함할 수도 있다. 명령들 (1368) 은 컴퓨터에 의해, 예컨대, 프로세서 (1310) 의 각각에 의해 실행가능한 하나 이상의 명령들을 포함할 수도 있다.
예시하자면, 명령들 (1368) 은 프로세서 (1310) 로 하여금 비디오 콘텐츠의 부분에서 모션 이벤트 기간 대응하는 이벤트를 검출하는 것을 포함한 동작들을 수행하게 하도록 프로세서 (1310) 에 의해 실행가능할 수도 있다. 다수의 이미지 프레임들을 포함하는 비디오 콘텐츠 및 비디오 콘텐츠의 부분은 오브젝트를 포함한다. 동작들은 비디오 콘텐츠의 부분과 연관된 요약 프레임을 발생시키는 단계를 더 포함할 수도 있으며, 요약 프레임은 오브젝트의 다수의 표현들을 나타낸다. 동작들은 디바이스로의 통지의 전송을 개시하는 것을 더 포함할 수도 있다. 통지는 요약 프레임을 포함할 수도 있다.
다른 예시적인, 비한정적인 예로서, 명령들 (1368) 은 프로세서 (1310) 로 하여금, 디바이스에 의해 제 2 디바이스로, 비디오 콘텐츠의 부분에서 검출된 모션 이벤트의 통지를 전송하는 것을 개시하는 것을 포함한 동작들을 수행하게 하도록 프로세서 (1310) 에 의해 실행가능하게 할 수도 있다. 통지는 비디오 콘텐츠의 부분과 연관된 요약 프레임을 포함할 수도 있다. 비디오 콘텐츠의 부분은 오브젝트를 포함할 수도 있다. 요약 프레임은 오브젝트의 다수의 표현들을 나타낼 수도 있다. 동작들은 디바이스에서, 모션 이벤트와 연관된 비디오 세그먼트에 대한 제 2 디바이스로부터의 요청을 수신하는 것을 더 포함할 수도 있다. 동작들은 디바이스로부터 제 2 디바이스로의 비디오 세그먼트의 전송을 개시하는 것을 더 포함한다.
다른 예시적인, 비한정적인 예로서, 명령들 (1368) 은 프로세서 (1310) 로 하여금 프로세서에 커플링된 디스플레이를 통한 그래픽 사용자 인터페이스 (GUI) 의 제시를 개시하는 것을 포함한 동작들을 수행하게 하도록 프로세서 (1310) 에 의해 실행가능할 수도 있다. GUI 는 비디오 콘텐츠의 부분과 연관된 요약 프레임을 포함할 수도 있다. 요약 프레임은 비디오 콘텐츠의 부분에 포함된 오브젝트의 제 1 표현 세트를 나타낼 수도 있다. GUI 는 요약 프레임과 연관된 메타데이터에 기초한 텍스트 정보를 포함할 수도 있다.
다른 예시적인, 비한정적인 예로서, 명령들 (1368) 은 프로세서 (1310) 로 하여금 비디오 콘텐츠에 대한 인덱스 데이터를 발생시키는 것을 포함한 동작들을 수행하게 하도록 프로세서 (1310) 에 의해 실행가능할 수도 있다. 인덱스 데이터는 요약 프레임 및 메타데이터를 포함할 수도 있다. 요약 프레임은 비디오 콘텐츠의 부분과 연관될 수도 있으며, 비디오 콘텐츠의 부분에 포함된 오브젝트의 다수의 표현들을 나타낼 수도 있다. 메타데이터는 비디오 콘텐츠의 재생 위치를 표시하는 마커 데이터를 포함할 수도 있다. 재생 위치는 요약 프레임과 연관될 수도 있다.
다른 예시적인, 비한정적인 예로서, 명령들 (1368) 은 프로세서 (1310) 로 하여금 디바이스로부터 수신된 통지에 포함된 요약 프레임을 식별하는 것을 포함한 동작들을 수행하게 하도록 프로세서 (1310) 에 의해 실행가능할 수도 있다. 요약 프레임은 비디오 콘텐츠와 연관된 모션 이벤트 동안 오브젝트의 다수의 표현들을 나타낼 수도 있다. 동작들은 모션 이벤트와 연관된 비디오 콘텐츠에 대한 요청을 발생시키는 것 및 요청을 디바이스로 전송하는 것을 더 포함할 수도 있다.
다른 예시적인, 비한정적인 예로서, 명령들 (1368) 은 프로세서 (1310) 로 하여금 요약 프레임을 디스플레이 디바이스에서 제시하는 것을 포함한 동작들을 수행하게 하도록 프로세서 (1310) 에 의해 실행가능할 수도 있다. 요약 프레임은 비디오 콘텐츠의 부분에 포함된 오브젝트의 다수의 표현들을 나타낼 수도 있다. 동작들은 또한 비디오 콘텐츠의 부분에 대응하는 재생 위치를 식별하는 것으로서, 재생 위치가 요약 프레임에 기초하여 식별되는, 상기 재생 위치를 식별하는 것, 및 재생 위치에서 비디오 콘텐츠의 재생을 개시하는 것을 포함할 수도 있다.
일부 구현예들에서, 메모리 (1332) 는 프로세서 (1310) 로 하여금, 도 1a 의 요약 프레임 발생기 (120), 도 1b 내지 도 1c 의 요약 프레임 발생기 (180), 도 5 의 요약 프레임 발생기 (520), 도 6 의 요약 프레임 발생기 (620) 를 참조하여 설명된 바와 같은 기능들을 수행하게 하거나, 도 3, 4, 8-12 의 방법들 중 하나 이상을 수행하게 하거나, 또는 이들의 조합 중 적어도 일부분을 수행하게 하는, 프로세서 (1310) 에 의해 실행될 수도 있는 코드 (예컨대, 해석된 또는 컴파일된 프로그램 명령들) 를 포함할 수도 있다. 추가로 예시하자면, 하기 예 1 은 메모리 (1332) 에 컴파일되어 저장될 수도 있는 예시적인 의사-코드 (예컨대, 부동 소수점에서의 단순화된 C-코드) 를 도시한다. 예 1 은 미리 결정된 키 프레임 수 (key frame number) 를 가진 비선형 키 프레임 선택 알고리즘을 제공한다. 비선형 키 프레임 선택 알고리즘은 이벤트 분석 결과에 따라서 키 프레임들을 비선형으로 선택한다. 예 1 의 비선형 키 프레임 선택 알고리즘을 이용하면, 이벤트 분석으로부터의 이벤트 측정 값이 높을 때는 요약 프레임을 발생시킬 때에 사용하기 위해 더 많은 프레임들이 선택되기 쉬우며, 이벤트 측정 값이 낮을 때는 더 적은 프레임들이 선택되기 쉽다.
예 1
accu = threshold /*누산기 값 (accu) 을 임계치와 같게 개시 한다. 프레임 i 의 이벤트 분석은
"ea[i]" 로서 표현된다. 임계치는 ea[i]
의 전체 값에 기초하여 선택될 수 있으며,
i 는 1 내지 N 이며, i 는 프레임에
대응하고 양의 정수이며, N 은 i 보다 큰
양의 정수이다. */
kfIndex=0 /*키 프레임 인덱스 값 (kfIndex) 을 제로와
같게 개시한다*/
For i = 1 to N, i++ /*비디오 클립에 기록된 이벤트의 N 개의
프레임의 루프*/
accu = accu + ea[i] /*프레임 i 의 이벤트 분석 (ea[i])
결과를 이벤트 측정치의 누산기에 누적한다
*/
IF accu >= threshold /*If 누산기의 값이 임계치보다 크거나
같으면 */
keyFrame[kfIndex] = i /*프레임 i 를 키 프레임으로서
선택한다*/
kfIndex = kfIndex + 1 /*다음 키 프레임으로 이동한다*/
accu = accu - threshold /*누산기에서 임계값을 제거한다*/
End if
End loop
M 개의 키 프레임들과 같은 미리 결정된 개수의 키 프레임들을 선택하기 위해 (여기서, M 은 1 보다 큰 양의 정수이다), 임계값은 다음에 따라서 설정될 수도 있다:
threshold = Sum(ea[i]) / (M-1).
대안적으로, 동적 적응 키 프레임 수를 갖기 위해, 임계치는 미리 결정된 상수로 설정될 수 있다. 임계치를 미리 결정된 상수로 설정함으로써, 현저한 활동들을 가진 모션 이벤트는 더 많은 키 프레임들을 얻을 수도 있으며, 활동들이 거의 없는 모션 이벤트는 상대적으로 더 적은 키 프레임들을 가질 수도 있다.
도 13 은 또한 프로세서 (1310) 에, 그리고 디스플레이 (1328) 에 커플링된 디스플레이 제어기 (1326) 를 나타낸다. 디스플레이 (1328) 는 도 1a 의 사용자 인터페이스 (130), 도 5 의 디스플레이 (556), 도 6 의 디스플레이 (628), 또는 도 7a 내지 도 7f 의 디스플레이 (702) 를 포함하거나 또는 이들에 대응할 수도 있다. 코더/디코더 (코덱) (1334) 는 또한 프로세서 (1310) 에 커플링될 수 있다. 스피커 (1336) 및 마이크로폰 (1338) 은 코덱 (1334) 에 커플링될 수 있다. 프로세서 (1310) 는 또한 카메라 (1362) 에 커플링된 카메라 제어기 (1360) 에 커플링될 수 있다. 카메라 (1362) 는 도 1b 내지 도 1c 의 캡쳐 유닛 (164), 도 5 의 제 1 카메라 (530), 또는 제 2 카메라 (532) 를 포함하거나 또는 이들에 대응할 수도 있다. 카메라 제어기 (1360) 는 이미지 데이터 (1374) 를 프로세서 (1310) 로 전달할 수도 있다. 이미지 데이터 (1374) 는 카메라 (1362) 에 의해 캡쳐된 하나 이상의 이미지들에 기초할 수도 있다.
디바이스 (1300) 는 또한 프로세서 (1310) 에, 그리고 안테나 (1342) 에 커플링될 수 있는, 무선 제어기와 같은, 무선 인터페이스 (1340) 를 포함할 수도 있다. 일부 구현예들에서, 무선 인터페이스 (1340) 는 트랜시버 (미도시) 를 통해서 안테나 (1342) 에 커플링될 수도 있다. 트랜시버는 송신기, 수신기, 또는 양자 모두를 포함할 수도 있다. 트랜시버는 디바이스 (1300) 에 의해 발생된 하나 이상의 메시지들을 송신하고, 다른 디바이스들에 의해 디바이스 (1300) 로 송신된 하나 이상의 메시지들을 수신하도록 구성될 수도 있다. 예를 들어, 트랜시버는 요약 프레임 (1372) 을 포함하는 통지와 같은, 통지 발생기 (1356) 에 의해 발생된 통지를 송신하도록 구성될 수도 있다.
특정의 구현예에서, 프로세서 (1310), 디스플레이 제어기 (1326), 카메라 제어기 (1360), 메모리 (1332), 코덱 (1334), 및 무선 인터페이스 (1340) 는 시스템-인-패키지 또는 시스템-온-칩 디바이스 (1322) 에 포함된다. 일부 구현예들에서, 입력 디바이스 (1330) 및 전원 (1344) 은 시스템-온-칩 디바이스 (1322) 에 커플링된다. 더욱이, 일부 구현예들에서, 도 13 에 예시된 바와 같이, 디스플레이 (1328), 입력 디바이스 (1330), 스피커 (1336), 마이크로폰 (1338), 안테나 (1342), 카메라 (1362), 및 전원 (1344) 은 시스템-온-칩 디바이스 (1322) 의 외부에 있다. 그러나, 디스플레이 (1328), 카메라 (1362), 입력 디바이스 (1330), 스피커 (1336), 마이크로폰 (1338), 안테나 (1342), 및 전원 (1344) 의 각각은 인터페이스 또는 제어기와 같은, 시스템-온-칩 디바이스 (1322) 의 컴포넌트에 커플링될 수 있다.
도 1 내지 도 13 의 설명된 양태들 중 하나 이상과 함께, 비디오 콘텐츠의 부분과 연관된 요약 프레임을 발생시키는 수단을 포함할 수도 있는 제 1 장치가 개시되며, 요약 프레임은 비디오 콘텐츠의 부분에 포함된 오브젝트의 다수의 표현들을 나타낸다. 요약 프레임을 발생시키는 수단은, 도 1a 의 디바이스 (102), 프로세서 (118), 요약 프레임 발생기 (120), 도 1b 내지 도 1c 의 카메라 (162), 프로세서 (174), 요약 프레임 발생기 (180), 도 2 의 배경 발생기 (210), 키 프레임 선택기 (214), 결합기 (228), 도 5 의 제어기 (510), 프로세서 (518), 요약 프레임 발생기 (520), 제 1 카메라 (530), 제 2 카메라 (532), 디바이스 (550), 프로세서 (558), 도 6 의 디바이스 (602), 프로세서 (618), 요약 프레임 발생기 (620), 요약 프레임 발생기 (1350), 도 13 의 명령들 (1368) 을 실행하도록 프로그래밍된 프로세서 (1310), 요약 프레임을 발생시키도록 구성된 하나 이상의 다른, 구조들, 디바이스들, 또는 회로들, 또는 이들의 임의의 조합을 포함하거나 또는 이들에 대응할 수도 있다.
제 1 장치는 또한 통지를 디바이스로 송신하는 수단을 포함할 수도 있으며, 여기서, 통지는 요약 프레임을 포함한다. 송신하는 수단은 도 1a 의 송신기 (132), 도 1b 내지 도 1c 의 송신기 (184), 도 5 의 송신기 (554), 도 13 의 무선 인터페이스 (1340), 송신기, 트랜시버, 통지를 송신하도록 구성된 하나 이상의 다른, 구조들, 디바이스들, 또는 회로들, 또는 이들의 임의의 조합을 포함하거나 또는 이들에 대응할 수도 있다. 통지는 예시적인, 비한정적인 예들로서, 이메일 또는 단문 메시지 서비스 (SMS) 메시지를 포함할 수도 있다. 일부 구현예들에서, 발생시키는 수단 및 송신하는 수단은 비디오 감시 시스템에 포함된다.
일부 구현예들에서, 비디오 콘텐츠를 발생시키는 수단은 도 1b 내지 도 1c 의 캡쳐 유닛 (164), 도 5 의 제 1 카메라 (530), 제 2 카메라 (532), 카메라, 인터넷 프로토콜 (IP) 카메라, 비디오 콘텐츠를 발생시키도록 구성된 하나 이상의 다른, 구조들, 디바이스들, 또는 회로들, 또는 이들의 임의의 조합을 포함하거나 또는 이들에 대응할 수도 있다.
도 1 내지 도 13 의 설명된 양태들 중 하나 이상과 함께, 요약 프레임을 제시하는 수단을 포함할 수도 있는 제 2 장치가 개시된다. 요약 프레임은 비디오 콘텐츠의 부분에 포함된 오브젝트의 다수의 표현들을 나타낼 수도 있다. 제시하는 수단은 도 1a 의 디바이스 (102), 사용자 인터페이스 (130), 도 5 의 디바이스 (550), 디스플레이 (556), 도 6 의 디바이스 (602), 디스플레이 (628), 도 13 의 디스플레이 (1328), 스크린, 디스플레이, 모니터, 텔레비전, 프로젝터, 요약 프레임을 제시하도록 구성된 하나 이상의 다른, 구조들, 디바이스들, 또는 회로들, 또는 이들의 임의의 조합을 포함하거나 또는 이들에 대응할 수도 있다.
제 2 장치는 또한 비디오 콘텐츠의 부분에 대응하는 재생 위치를 식별하는 수단을 포함할 수도 있다. 재생 위치는 요약 프레임에 기초하여 식별될 수도 있다. 식별하는 수단은 도 1a 의 디바이스 (102), 프로세서 (118), 도 1b 내지 도 1c 의 프로세서 (174), 도 5 의 제어기 (510), 프로세서 (518), 제 1 카메라 (530), 제 2 카메라 (532), 디바이스 (550), 프로세서 (558), 도 6 의 디바이스 (602), 프로세서 (618), 도 13 의 명령들 (1368) 을 실행하도록 프로그래밍된 프로세서 (1310), 요약 프레임을 발생시키도록 구성된 하나 이상의 다른, 구조들, 디바이스들, 또는 회로들, 또는 이들의 임의의 조합을 포함하거나 또는 이들에 대응할 수도 있다.
제 2 장치는 또한 재생 위치에서 비디오 콘텐츠의 재생을 개시하는 수단을 포함할 수도 있다. 식별하는 수단은 도 1a 의 디바이스 (102), 프로세서 (118), 사용자 인터페이스 (130), 도 1b 내지 도 1c 의 프로세서 (174), 수신기 (186), 도 5 의 제어기 (510), 프로세서 (518), 제 1 카메라 (530), 제 2 카메라 (532), 디바이스 (550), 디스플레이 (556), 프로세서 (558), 인터페이스 (562), 도 6 의 디바이스 (602), 프로세서 (618), 디스플레이 (628), 인터페이스 (632), 입력 디바이스 (1330), 카메라 (1336), 스피커 (1336), 마이크로폰 (1338), 디스플레이 (1328), 디스플레이 제어기 (1326), 도 13 의 명령들 (1368) 을 실행하도록 프로그래밍된 프로세서 (1310), 스크린, 디스플레이, 모니터, 텔레비전, 프로젝터, 요약 프레임을 발생시키도록 구성된 하나 이상의 다른, 구조들, 디바이스들, 또는 회로들, 또는 이들의 임의의 조합을 포함하거나 또는 이들에 대응할 수도 있다.
일부 구현예들에서, 제 2 장치는 요약 프레임의 선택 또는 다수의 표현들 중 적어도 하나의 표현을 수신하는 수단을 포함할 수도 있다. 재생 위치에서의 비디오 콘텐츠의 재생은 선택에 기초하여 개시될 수도 있다. 수신하는 수단은 도 1a 의 디바이스 (102), 프로세서 (118), 사용자 인터페이스 (130), 도 1b 내지 도 1c 의 캡쳐 유닛 (164), 프로세서 (174), 수신기 (186), 도 5 의 제어기 (510), 프로세서 (518), 제 1 카메라 (530), 제 2 카메라 (532), 디바이스 (550), 프로세서 (558), 수신기 (552), 인터페이스 (562), 디스플레이 (556), 도 6 의 디바이스 (602), 프로세서 (618), 입력 디바이스 (632), 디스플레이 (628), 입력 디바이스 (1330), 카메라 (1336), 스피커 (1336), 마이크로폰 (1338), 도 13 의 명령들 (1368) 을 실행하도록 프로그래밍된 프로세서 (1310), 마우스, 터치 패드, 키보드, 터치 스크린, 마이크로폰, 모션 센서, 카메라, 디스플레이, 무선 수신기, 선택을 수신하도록 구성된 하나 이상의 다른, 구조들, 디바이스들, 또는 회로들, 또는 이들의 임의의 조합을 포함하거나 또는 이들에 대응할 수도 있다.
개시된 양태들 중 하나 이상은 통신 디바이스, 고정된 로케이션 데이터 유닛, 모바일 로케이션 (mobile location) 데이터 유닛, 모바일 폰, 셀룰러폰, 위성 전화, 컴퓨터, 태블릿, 휴대형 컴퓨터, 디스플레이 디바이스, 미디어 플레이어, 또는 데스크탑 컴퓨터를 포함할 수도 있는 시스템 또는 장치, 예컨대 전자 디바이스 (1300) 에서 구현될 수도 있다. 대안적으로 또는 추가적으로, 전자 디바이스 (1300) 는 셋 탑 박스, 엔터테인먼트 유닛, 네비게이션 디바이스, 개인 휴대정보 단말기 (PDA), 모니터, 컴퓨터 모니터, 텔레비전, 튜너, 라디오, 위성 라디오, 뮤직 플레이어, 디지털 뮤직 플레이어, 휴대형 뮤직 플레이어, 비디오 플레이어, 디지털 비디오 플레이어, 디지털 비디오 디스크 (DVD) 플레이어, 휴대형 디지털 비디오 플레이어, 위성, 운송체, 프로세서를 포함하거나, 데이터 또는 컴퓨터 명령들을 저장하거나 또는 취출하는 임의의 다른 디바이스, 또는 이들의 조합을 포함할 수도 있다. 다른 예시적인, 비한정적인 예로서, 시스템 또는 장치는 원격 유닛들, 예컨대, 휴대용 개인 통신 시스템들 (PCS) 유닛들, 휴대형 데이터 유닛들, 예컨대 GPS 이용가능 (enabled) 디바이스들, 미터 판독 장비, 또는 프로세서를 포함하거나, 데이터 또는 컴퓨터 명령들을 저장하거나 또는 취출하는 임의의 다른 디바이스, 또는 이들의 임의의 조합을 포함할 수도 있다.
도 1 내지 도 13 중 하나 이상이 본 개시물의 교시들에 따른 시스템들, 장치들, 또는 방법들을 예시할 수도 있지만, 본 개시물은 이들 예시된 시스템들, 장치들, 또는 방법들에 한정되지 않는다. 본원에서 예시되거나 또는 설명된 바와 같은 도 1 내지 도 13 중 임의의 것의 하나 이상의 기능들 또는 컴포넌트들은 도 1 내지 도 13 의 다른 기능 또는 컴포넌트의 하나 이상의 다른 부분들과 결합될 수도 있다. 따라서, 본원에서 설명되는 단일 예는 한정하는 것으로 해석되어서는 안되며, 본 개시물의 예들은 본 개시물의 교시들로부터 일탈함이 없이 적절하게 결합될 수도 있다.
당업자들은 본원에서 개시된 양태들과 관련하여 설명되는 여러가지 예시적인 로직 블록들, 구성들, 모듈들, 회로들 및 알고리즘 단계들이 전자적 하드웨어, 프로세서에 의해 실행되는 컴퓨터 소프트웨어, 또는 양자 모두의 조합들로서 구현될 수도 있음을 또한 알 수 있을 것이다. 여러가지 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들, 및 단계들 일반적으로 그들의 기능의 관점에서 위에서 설명되었다. 이런 기능이 하드웨어 또는 프로세서 실행가능한 명령들로 구현되는지 여부는 특정의 애플리케이션 및 전체 시스템에 부과되는 설계 제한 사항들에 의존한다. 숙련자들은 각각의 특정의 애플리케이션 마다 설명한 기능을 여러가지 방법으로 구현할 수도 있으며, 그러나 이런 구현 결정들은 본 개시물의 범위로부터의 일탈을 초래하는 것으로 해석되어서는 안된다.
본원에서 개시된 예들과 관련하여 설명되는 방법 또는 알고리즘의 단계들은 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 조합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 랜덤 액세스 메모리 (RAM), 플래시 메모리, 판독 전용 메모리 (ROM), 프로그래밍가능 판독 전용 메모리 (PROM), 소거가능한 프로그래밍가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리 (EEPROM), 레지스터들, 하드 디스크, 착탈식 디스크, 컴팩트 디스크 판독 전용 메모리 (CD-ROM), 또는 당업계에 알려져 있는 임의의 다른 유형의 비-일시성 (예컨대, 비-일시적인) 저장 매체에 상주할 수도 있다. 예시적인 저장매체는 프로세서가 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있도록 프로세서에 커플링된다. 대안적으로는, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서 및 저장 매체는 주문형 집적 회로 (ASIC) 에 상주할 수도 있다. ASIC 는 컴퓨팅 디바이스 및 사용자 터미널에 상주할 수도 있다. 대안적으로는, 프로세서 및 저장 매체는 컴퓨팅 디바이스 및 사용자 터미널에 별개의 컴포넌트들로서 상주할 수도 있다.
개시된 양태들의 이전 설명은 당업자로 하여금 개시된 양태들을 실시하거나 또는 이용할 수 있도록 하기 위해서 제공된다. 이들 양태들에 대한 여러 변경들은 당업자들에게 명백할 것이며, 본원에서 정의된 원리들은 본 개시물의 범위로부터 일탈함이 없이 다른 양태들에 적용될 수도 있다. 따라서, 본 개시물은 본원에서 나타낸 양태들에 한정하려는 것이 아니라, 다음 청구항들에 의해 정의되는 바와 같은 원리들 및 신규한 특징들과 가능한 부합하는 최광의의 범위를 부여하려는 것이다.

Claims (30)

  1. 디바이스로서,
    비디오 콘텐츠용 인덱스 데이터를 발생시키도록 구성된 프로세서로서, 상기 인덱스 데이터는 요약 프레임 및 메타데이터를 포함하고, 상기 요약 프레임은 상기 비디오 콘텐츠의 부분과 연관되며 상기 비디오 콘텐츠의 부분에 포함된 오브젝트의 다수의 표현들을 나타내고, 상기 메타데이터는 상기 비디오 콘텐츠의 재생 위치를 표시하는 마커 데이터를 포함하고, 상기 재생 위치는 상기 요약 프레임과 연관되는, 상기 프로세서; 및
    상기 인덱스 데이터를 저장하도록 구성된 메모리
    를 포함하는, 디바이스.
  2. 제 1 항에 있어서,
    상기 비디오 콘텐츠의 부분은 상기 비디오 콘텐츠에 포함된 모션 이벤트에 대응하고, 상기 재생 위치는 상기 모션 이벤트의 시작에 대응하는, 디바이스.
  3. 제 1 항에 있어서,
    상기 마커 데이터는 상기 비디오 콘텐츠의 저장 로케이션으로의 링크를 포함하고, 상기 링크의 선택은 상기 재생 위치에서 상기 비디오 콘텐츠의 재생을 개시하도록 구성되는, 디바이스.
  4. 제 3 항에 있어서,
    상기 링크는 URL (uniform resource locator) 을 포함하는, 디바이스.
  5. 제 1 항에 있어서,
    상기 메타데이터는 상기 비디오 콘텐츠의 부분의 제 2 재생 위치를 표시하는 제 2 마커 데이터를 포함하고, 상기 제 2 재생 위치는 상기 다수의 표현들의 제 1 표현을 발생시키는데 사용되는 상기 비디오 콘텐츠의 프레임에 대응하는, 디바이스.
  6. 제 5 항에 있어서,
    상기 인덱스 데이터는 상기 비디오 콘텐츠의 제 2 부분과 연관된 제 2 요약 프레임을 포함하고 상기 비디오 콘텐츠의 제 2 부분에 포함된 제 2 오브젝트의 다수의 표현들을 나타내고, 상기 메타데이터는 상기 비디오 콘텐츠의 제 2 부분에 대응하는 제 3 재생 위치를 표시하는 제 3 마커 데이터를 포함하는, 디바이스.
  7. 제 1 항에 있어서,
    상기 비디오 콘텐츠의 시간 기간에 대응하는 타임라인을 제시하도록 구성된 디스플레이를 더 포함하며, 상기 타임라인은 하나 이상의 마커들을 포함하고, 상기 하나 이상의 마커들의 각각의 마커는 상기 비디오 콘텐츠에 기초하여 발생된 상이한 요약 프레임에 대응하는, 디바이스.
  8. 디바이스로서,
    요약 프레임을 제시하도록 구성된 디스플레이로서, 상기 요약 프레임은 비디오 콘텐츠의 부분에 포함된 오브젝트의 다수의 표현들을 나타내는, 상기 디스플레이; 및
    프로세서로서, 상기 비디오 콘텐츠의 부분에 대응하는 재생 위치를 식별하는 것으로서, 상기 재생 위치는 상기 요약 프레임에 기초하여 식별되는, 상기 재생 위치를 식별하고, 상기 재생 위치에서 상기 비디오 콘텐츠의 재생을 개시하도록 구성된, 상기 프로세서
    를 포함하는, 디바이스.
  9. 제 8 항에 있어서,
    상기 요약 프레임은 상기 재생 위치를 표시하는 메타데이터에 대응하고, 상기 프로세서는 상기 메타데이터에 기초하여 상기 재생 위치를 식별하도록 구성되는, 디바이스.
  10. 제 9 항에 있어서,
    상기 메타데이터는 상기 비디오 콘텐츠의 하나 이상의 재생 위치들을 표시하며, 상기 하나 이상의 재생 위치들은 상기 비디오 콘텐츠의 부분에 포함되고, 상기 하나 이상의 재생 위치들의 각각은 상기 요약 프레임에 대응하는, 디바이스.
  11. 제 10 항에 있어서,
    상기 메타데이터는 링크를 포함하고, 상기 링크의 선택은 상기 재생 위치에서 상기 비디오 콘텐츠의 재생을 개시하도록 구성되는, 디바이스.
  12. 제 8 항에 있어서,
    상기 프로세서는 입력을 수신하는 것에 응답하여 상기 재생 위치를 식별하도록 구성되며, 상기 입력은 상기 요약 프레임에 대응하는 상기 비디오 콘텐츠의 부분을 플레이하기 위한 선택에 대응하는, 디바이스.
  13. 제 12 항에 있어서,
    상기 입력은 상기 다수의 표현들 중 표현의 선택을 포함하고, 상기 표현은 상기 비디오 콘텐츠의 프레임에 기초하여 발생되고, 상기 재생 위치는 상기 프레임에 대응하는, 디바이스.
  14. 제 8 항에 있어서,
    상기 디스플레이는 제 2 요약 프레임을 제시하도록 구성되며, 상기 제 2 요약 프레임은 상기 비디오 콘텐츠의 제 2 부분에 포함된 제 2 오브젝트의 다수의 표현들을 나타내는, 디바이스.
  15. 제 14 항에 있어서,
    상기 디스플레이는 상기 요약 프레임 및 상기 제 2 요약 프레임을 동시에 제시하도록 구성되는, 디바이스.
  16. 제 14 항에 있어서,
    상기 프로세서는 메타데이터에 액세스하여 상기 재생 위치를 식별하도록 구성되며, 상기 메타데이터는 상기 비디오 콘텐츠의 부분과 연관된 상기 재생 위치에 대응하는 제 1 링크 및 상기 비디오 콘텐츠의 제 2 부분과 연관된 제 2 재생 위치에 대응하는 제 2 링크를 포함하는, 디바이스.
  17. 제 8 항에 있어서,
    상기 재생이 상기 프로세서에 의해 개시되는 것에 응답하여, 상기 디스플레이는 상기 재생 위치로부터 시작하는 상기 비디오 콘텐츠를 제시하도록 구성되는, 디바이스.
  18. 제 8 항에 있어서,
    상기 요약 프레임은 상기 비디오 콘텐츠의 제 2 부분에 포함된 제 2 오브젝트의 다수의 표현들을 나타내는, 디바이스.
  19. 제 8 항에 있어서,
    상기 비디오 콘텐츠를 저장하도록 구성된 메모리를 더 포함하는, 디바이스.
  20. 장치로서,
    그래픽 사용자 인터페이스 (GUI) 를 제시하도록 구성된 디스플레이로서, 상기 GUI 는 오브젝트의 제 1 표현 세트를 나타내는 요약 프레임을 포함하는, 상기 디스플레이; 및
    상기 디스플레이에 전기적으로 연결되고 상기 제 1 표현 세트 중 특정 표현을 표시하는 선택을 수신하도록 구성된 프로세서
    를 포함하는, 장치.
  21. 제 20 항에 있어서,
    상기 선택을 발생시키도록 구성된 입력 디바이스를 더 포함하고, 상기 요약 프레임은 비디오 콘텐츠의 부분과 연관되고, 상기 선택은 상기 특정 표현과 연관된 재생 위치에서 상기 비디오 콘텐츠의 재생에 대한 요청에 포함되는, 장치.
  22. 제 20 항에 있어서,
    상기 GUI 는 상기 요약 프레임과 연관된 메타데이터에 기초한 텍스트 정보를 포함하고, 상기 텍스트 정보는 파일 이름, 요약 프레임 식별자, 모션 이벤트 날짜, 모션 이벤트 시작 시간, 모션 이벤트 종료 시간, 모션 이벤트 지속시간, 카메라 식별자, 카메라 로케이션, 기상 상태, 또는 이들의 임의의 조합을 포함하는, 장치.
  23. 제 20 항에 있어서,
    상기 GUI는 상기 요약 프레임을 제시하도록 구성된 요약 프레임 영역을 포함하는, 장치.
  24. 제 23 항에 있어서,
    상기 요약 프레임 영역은 또한, 상기 요약 프레임의 제시와 동시에 제 2 요약 프레임을 제시하도록 구성되고, 상기 제 2 요약 프레임은 제 2 오브젝트의 제 2 표현 세트를 나타내는, 장치.
  25. 제 23 항에 있어서,
    상기 GUI 는 상기 요약 프레임과 연관된 비디오 콘텐츠의 비디오 클립을 제시하도록 구성된 재생 영역을 포함하는, 장치.
  26. 제 25 항에 있어서,
    상기 재생 영역은 상기 요약 프레임 영역과 동시에 제시되는, 장치.
  27. 제 20 항에 있어서,
    상기 GUI는 타임라인을 포함하고, 상기 타임라인은 상기 요약 프레임에 대응하는 적어도 하나의 마커를 포함하는, 장치.
  28. 제 20 항에 있어서,
    상기 요약 프레임은 상기 제 1 표현 세트의 시간 시퀀스를 표시하며, 상기 제 1 표현 세트의 각각의 표현은 비디오 콘텐츠의 저장 로케이션으로의 링크에 대응하고 상기 표현에 대응하는 재생 부분에서 상기 비디오 콘텐츠의 재생을 개시하도록 선택 가능한, 장치.
  29. 장치로서,
    요약 프레임을 제시하는 수단으로서, 상기 요약 프레임은 비디오 콘텐츠의 부분에 포함된 오브젝트의 다수의 표현들을 나타내는, 상기 요약 프레임을 제시하는 수단;
    상기 비디오 콘텐츠의 부분에 대응하는 재생 위치를 식별하는 수단으로서, 상기 재생 위치는 상기 요약 프레임에 기초하여 식별되는, 상기 재생 위치를 식별하는 수단; 및
    상기 재생 위치에서 상기 비디오 콘텐츠의 재생을 개시하는 수단
    을 포함하는, 장치.
  30. 제 29 항에 있어서,
    상기 다수의 표현들 중 적어도 하나의 표현 또는 상기 요약 프레임의 선택을 수신하는 수단을 더 포함하고, 상기 재생 위치에서의 상기 비디오 콘텐츠의 재생은 상기 선택에 기초하여 개시되는, 장치.
KR1020187007794A 2015-09-25 2015-09-25 비디오 처리를 위한 시스템들 및 방법들 KR20180056656A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/090684 WO2017049577A1 (en) 2015-09-25 2015-09-25 Systems and methods for video processing

Publications (1)

Publication Number Publication Date
KR20180056656A true KR20180056656A (ko) 2018-05-29

Family

ID=58385708

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187007794A KR20180056656A (ko) 2015-09-25 2015-09-25 비디오 처리를 위한 시스템들 및 방법들

Country Status (8)

Country Link
US (1) US10708673B2 (ko)
EP (1) EP3354038A4 (ko)
JP (1) JP2018533295A (ko)
KR (1) KR20180056656A (ko)
CN (1) CN108028969B (ko)
BR (1) BR112018006098A2 (ko)
TW (1) TW201724866A (ko)
WO (1) WO2017049577A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10796163B2 (en) * 2014-03-07 2020-10-06 Eagle Eye Networks, Inc. Surveillance video activity summary system and access method of operation (VASSAM)
CN113038020B (zh) * 2016-10-14 2023-07-11 深圳市大疆创新科技有限公司 用于时刻捕获的系统和方法
US20180150697A1 (en) * 2017-01-09 2018-05-31 Seematics Systems Ltd System and method for using subsequent behavior to facilitate learning of visual event detectors
TWI649729B (zh) * 2017-11-10 2019-02-01 中華電信股份有限公司 一種自動舉證交通違規車輛的系統與方法
US11615623B2 (en) * 2018-02-19 2023-03-28 Nortek Security & Control Llc Object detection in edge devices for barrier operation and parcel delivery
US10674318B2 (en) * 2018-02-26 2020-06-02 Exponential Innovative Technology & Gaming Company, Llc Systems and methods for location tracking and monitoring within a secured area
CN108551582A (zh) * 2018-03-19 2018-09-18 上海交通大学 一种图像、视频数据的身份标识方法与系统
CN110324528A (zh) * 2018-03-28 2019-10-11 富泰华工业(深圳)有限公司 摄像装置、影像处理系统及方法
US20200186852A1 (en) * 2018-12-07 2020-06-11 Arris Enterprises Llc Methods and Systems for Switching Between Summary, Time-shifted, or Live Content
EP3912363A4 (en) * 2019-02-22 2022-09-28 Sportlogiq Inc. SYSTEM AND METHOD FOR CREATING VIDEO DIGEST ACCORDING TO A TEMPLATE
US10728443B1 (en) 2019-03-27 2020-07-28 On Time Staffing Inc. Automatic camera angle switching to create combined audiovisual file
US10963841B2 (en) 2019-03-27 2021-03-30 On Time Staffing Inc. Employment candidate empathy scoring system
US10956120B1 (en) 2019-08-28 2021-03-23 Rovi Guides, Inc. Systems and methods for displaying subjects of an audio portion of content and searching for content related to a subject of the audio portion
US10999647B2 (en) 2019-08-28 2021-05-04 Rovi Guides, Inc. Systems and methods for displaying subjects of a video portion of content and searching for content related to a subject of the video portion
WO2021041103A1 (en) * 2019-08-28 2021-03-04 Rovi Guides, Inc. Systems and methods for displaying subjects of a video portion of content and searching for content related to a subject of the video portion
KR102261544B1 (ko) * 2019-11-13 2021-06-07 한국광기술원 스트리밍 서버 및 이를 이용한 다시점 동영상에서의 객체 처리 방법
WO2021107421A1 (ko) * 2019-11-26 2021-06-03 한화테크윈 주식회사 사건 중심의 다채널 영상 백업 장치 및 그 방법과, 이를 포함한 네트워크 감시 카메라 시스템
US11127232B2 (en) 2019-11-26 2021-09-21 On Time Staffing Inc. Multi-camera, multi-sensor panel data extraction system and method
US11023735B1 (en) 2020-04-02 2021-06-01 On Time Staffing, Inc. Automatic versioning of video presentations
US11144882B1 (en) 2020-09-18 2021-10-12 On Time Staffing Inc. Systems and methods for evaluating actions over a computer network and establishing live network connections
US20220358314A1 (en) * 2021-05-07 2022-11-10 Waymo Llc Time-line based object tracking annotation
US20230005507A1 (en) * 2021-07-03 2023-01-05 Logitech Europe S.A. System and method of generating media content from livestreaming media content
US11831973B2 (en) * 2021-08-05 2023-11-28 Qualcomm Incorporated Camera setting adjustment based on event mapping
US11330229B1 (en) * 2021-09-28 2022-05-10 Atlassian Pty Ltd. Apparatuses, computer-implemented methods, and computer program products for generating a collaborative contextual summary interface in association with an audio-video conferencing interface service
CN114157877B (zh) * 2021-10-08 2024-04-16 钉钉(中国)信息技术有限公司 回放数据的生成方法及装置、回放方法及装置
US11722536B2 (en) 2021-12-27 2023-08-08 Atlassian Pty Ltd. Apparatuses, computer-implemented methods, and computer program products for managing a shared dynamic collaborative presentation progression interface in association with an audio-video conferencing interface service

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1184810A3 (en) 1996-02-05 2004-03-10 Texas Instruments Incorporated Improvements in or relating to motion event detection
US6219837B1 (en) * 1997-10-23 2001-04-17 International Business Machines Corporation Summary frames in video
US6549643B1 (en) 1999-11-30 2003-04-15 Siemens Corporate Research, Inc. System and method for selecting key-frames of video data
US6940998B2 (en) 2000-02-04 2005-09-06 Cernium, Inc. System for automated screening of security cameras
US6882793B1 (en) 2000-06-16 2005-04-19 Yesvideo, Inc. Video processing system
US6998527B2 (en) 2002-06-20 2006-02-14 Koninklijke Philips Electronics N.V. System and method for indexing and summarizing music videos
US20040064691A1 (en) 2002-09-26 2004-04-01 International Business Machines Corporation Method and system for processing certificate revocation lists in an authorization system
US6963378B2 (en) 2002-11-01 2005-11-08 Motorola, Inc. Method and apparatus for reduction of visual content
US20040197088A1 (en) * 2003-03-31 2004-10-07 Ferman Ahmet Mufit System for presenting audio-video content
US7577199B1 (en) 2003-06-19 2009-08-18 Nvidia Corporation Apparatus and method for performing surveillance using motion vectors
US7280753B2 (en) 2003-09-03 2007-10-09 Canon Kabushiki Kaisha Display apparatus, image processing apparatus, and image processing system
JP4168940B2 (ja) 2004-01-26 2008-10-22 三菱電機株式会社 映像表示システム
US7447331B2 (en) * 2004-02-24 2008-11-04 International Business Machines Corporation System and method for generating a viewable video index for low bandwidth applications
JP2005277733A (ja) 2004-03-24 2005-10-06 Seiko Epson Corp 動画像処理装置
JP2006121475A (ja) 2004-10-22 2006-05-11 Matsushita Electric Ind Co Ltd 画像伝送装置
US7619647B2 (en) 2005-04-20 2009-11-17 Mitsubishi Electric Research Laboratories, Inc. Context aware surveillance system using a hybrid sensor network
JP2007019769A (ja) 2005-07-06 2007-01-25 Sony Corp タグ情報表示制御装置、情報処理装置、表示装置、タグ情報表示制御方法及びプログラム
US20070061727A1 (en) 2005-09-15 2007-03-15 Honeywell International Inc. Adaptive key frame extraction from video data
US20070212023A1 (en) 2005-12-13 2007-09-13 Honeywell International Inc. Video filtering system
US8036263B2 (en) 2005-12-23 2011-10-11 Qualcomm Incorporated Selecting key frames from video frames
JP4181590B2 (ja) 2006-08-30 2008-11-19 株式会社東芝 インタフェース装置及びインタフェース処理方法
JP2008154100A (ja) 2006-12-19 2008-07-03 Sharp Corp 撮像装置、サーバ、その制御プログラムおよび該制御プログラムを記録したコンピュータ読取り可能な記録媒体、イベント管理システムならびに制御方法
US8335345B2 (en) 2007-03-05 2012-12-18 Sportvision, Inc. Tracking an object with multiple asynchronous cameras
JP4663746B2 (ja) 2008-03-03 2011-04-06 東芝テリー株式会社 画像処理装置
TW201004339A (en) * 2008-07-09 2010-01-16 Univ Nat Taiwan Method and system for processing synthetic graphic images on digital video file
US8462212B1 (en) 2008-12-04 2013-06-11 Stoplift, Inc. Correlating detected events with image data
JP5213123B2 (ja) 2009-01-15 2013-06-19 株式会社日立製作所 映像出力方法及び映像出力装置
JP2010187046A (ja) * 2009-02-10 2010-08-26 Nippon Telegr & Teleph Corp <Ntt> 映像再生制御装置,映像再生制御方法および映像再生制御プログラム
US10645344B2 (en) * 2010-09-10 2020-05-05 Avigilion Analytics Corporation Video system with intelligent visual display
CN202003350U (zh) * 2010-12-14 2011-10-05 广东鑫程电子科技有限公司 视频摘要系统
US8743204B2 (en) 2011-01-07 2014-06-03 International Business Machines Corporation Detecting and monitoring event occurrences using fiber optic sensors
CN102156707A (zh) * 2011-02-01 2011-08-17 刘中华 一种视频摘要形成和搜索的方法、系统
JP2012248070A (ja) * 2011-05-30 2012-12-13 Sony Corp 情報処理装置、メタデータ設定方法、及びプログラム
JP5774506B2 (ja) 2012-01-17 2015-09-09 株式会社日立ビルシステム 映像監視システム
CN102930061B (zh) * 2012-11-28 2016-01-06 安徽水天信息科技有限公司 一种基于运动目标检测的视频摘要方法
US9141866B2 (en) 2013-01-30 2015-09-22 International Business Machines Corporation Summarizing salient events in unmanned aerial videos
US8879888B2 (en) * 2013-03-12 2014-11-04 Fuji Xerox Co., Ltd. Video clip selection via interaction with a hierarchic video segmentation
US20150318020A1 (en) * 2014-05-02 2015-11-05 FreshTake Media, Inc. Interactive real-time video editor and recorder
US9665777B2 (en) 2013-05-10 2017-05-30 Robert Bosch Gmbh System and method for object and event identification using multiple cameras
US10075680B2 (en) 2013-06-27 2018-09-11 Stmicroelectronics S.R.L. Video-surveillance method, corresponding system, and computer program product
US20150104149A1 (en) * 2013-10-15 2015-04-16 Electronics And Telecommunications Research Institute Video summary apparatus and method
CN103761284B (zh) * 2014-01-13 2018-08-14 中国农业大学 一种视频检索方法和系统
KR101804383B1 (ko) * 2014-01-14 2017-12-04 한화테크윈 주식회사 요약 영상 브라우징 시스템 및 방법
US10140827B2 (en) * 2014-07-07 2018-11-27 Google Llc Method and system for processing motion event notifications
CN104284158B (zh) 2014-10-23 2018-09-14 南京信必达智能技术有限公司 应用于面向事件的智能监控相机的方法
US10424341B2 (en) * 2014-11-12 2019-09-24 Massachusetts Institute Of Technology Dynamic video summarization
CN104581437B (zh) * 2014-12-26 2018-11-06 中通服公众信息产业股份有限公司 一种视频摘要生成及视频回溯的方法及系统
KR102375864B1 (ko) * 2015-02-10 2022-03-18 한화테크윈 주식회사 요약 영상 브라우징 시스템 및 방법
US10643442B2 (en) * 2015-06-05 2020-05-05 Withings Video monitoring system
US9866923B2 (en) * 2015-08-28 2018-01-09 Cbs Interactive Inc. Digital channel integration system
CN108028908A (zh) 2015-09-25 2018-05-11 高通股份有限公司 用于视频处理的系统和方法

Also Published As

Publication number Publication date
EP3354038A1 (en) 2018-08-01
CN108028969A (zh) 2018-05-11
JP2018533295A (ja) 2018-11-08
US20180295428A1 (en) 2018-10-11
CN108028969B (zh) 2021-07-06
TW201724866A (zh) 2017-07-01
WO2017049577A1 (en) 2017-03-30
US10708673B2 (en) 2020-07-07
BR112018006098A2 (pt) 2018-10-16
EP3354038A4 (en) 2019-03-20

Similar Documents

Publication Publication Date Title
US10708673B2 (en) Systems and methods for video processing
KR20180056655A (ko) 비디오 처리를 위한 시스템들 및 방법들
US10679676B2 (en) Automatic generation of video and directional audio from spherical content
US10084961B2 (en) Automatic generation of video from spherical content using audio/visual analysis
US20150281710A1 (en) Distributed video processing in a cloud environment
CN105323657B (zh) 提供视频摘要的成像设备和方法
US20190080180A1 (en) Automated capture of image data for points of interest
US11037604B2 (en) Method for video investigation
US20130201328A1 (en) Multimedia processing as a service
US11095924B1 (en) Method and device for providing a time-compressed preview of a pre-buffered video during a push-to-video communication session
CN112367478A (zh) 一种隧道机器人全景图像处理方法及装置
EP4171023A1 (en) Computer-implemented method and computer program for generating a thumbnail from a video stream or file, and video surveillance system
CN113965726A (zh) 处理交通视频的方法、装置以及系统
US11887386B1 (en) Utilizing an intelligent in-cabin media capture device in conjunction with a transportation matching system
US9112940B2 (en) Correlating sensor inputs with content stream intervals and selectively requesting and transmitting content streams