KR20190099027A - 비디오 컨텐츠 요약 - Google Patents

비디오 컨텐츠 요약 Download PDF

Info

Publication number
KR20190099027A
KR20190099027A KR1020197021054A KR20197021054A KR20190099027A KR 20190099027 A KR20190099027 A KR 20190099027A KR 1020197021054 A KR1020197021054 A KR 1020197021054A KR 20197021054 A KR20197021054 A KR 20197021054A KR 20190099027 A KR20190099027 A KR 20190099027A
Authority
KR
South Korea
Prior art keywords
subset
video content
frames
frame
content element
Prior art date
Application number
KR1020197021054A
Other languages
English (en)
Other versions
KR102262481B1 (ko
Inventor
이 센
티엔펑 진
캐롤린 오
상용 첸
윤 시
민-현 싸이
웨이롱 양
챙 순
징빈 왕
제임스 퓨트렐
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20190099027A publication Critical patent/KR20190099027A/ko
Application granted granted Critical
Publication of KR102262481B1 publication Critical patent/KR102262481B1/ko

Links

Images

Classifications

    • 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/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
    • 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/7847Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using low-level visual features of the video content
    • G06F16/785Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using low-level visual features of the video content using colour or luminescence
    • 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/7847Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using low-level visual features of the video content
    • G06F16/786Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using low-level visual features of the video content using motion, e.g. object motion or camera motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • G06K9/00751
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • 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
    • G06V20/47Detecting features for summarising video content
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Image Analysis (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

비디오 컨텐츠의 요약을 자동 추출하는 시스템 및 방법이 본 명세서에서 기술된다. 데이터 처리 시스템은 비디오 데이터베이스로부터 제1 복수의 프레임을 포함하는 제1 비디오 컨텐츠 요소를 액세스할 수 있다. 데이터 처리 시스템은 제1 비디오 컨텐츠 요소의 제1 복수의 프레임의 인터벌 서브 세트를 선택할 수 있다. 데이터 처리 시스템은 인터벌 서브 세트로부터 사전 결정된 수의 프레임들을 포함하는 복수의 추가 서브 세트 각각에 대해, 추가 서브 세트에 대한 스코어를 계산할 수 있다. 데이터 처리 시스템은 복수의 추가 서브 세트들로부터, 최고 스코어를 갖는 추가 서브 세트를 식별할 수 있다. 데이터 처리 시스템은 최고 스코어를 갖는 추가 서브 세트의 프레임들을 포함하는 제1 비디오 컨텐츠 요소의 부분을 선택할 수 있다. 데이터 처리 시스템은 제1 비디오 컨텐츠 요소의 상기 선택된 부분을 포함하는 제2 비디오 컨텐츠 요소를 생성할 수 있다.

Description

비디오 컨텐츠 요약
본 출원은 2017년 5월 5일자로 출원된 국제출원 번호 PCT/CN2017/083223 호의 35 USC §§ 119에 따른 이익을 청구하며, 그 전체는 본 명세서에 참조로 포함된다.
비디오 컨텐츠 요소(elements)는 클라이언트 디바이스상의 렌더링 및 재생을 위해 컴퓨터 네트워크 환경을 통해 제공될 수 있다. 이러한 비디오 컨텐츠 요소는 어느 정도의 시간 지속 시간을 가질 수 있으며, 대응하는 양의 컴퓨터 처리 전력 및 네트워크 대역폭을 소비할 수 있다. 컨텐츠에 대한 요청(예를 들어,"푸시" 컨텐츠, 다른 컨텐츠의 일부에 포함되거나 일부로서 제공되는 컨텐츠, 요청된 컨텐츠 아이템 또는 다른 전달 메커니즘)에 앞서 이러한 컨텐츠를 전달하는 것은 대역폭, 처리 전력 및 모바일 디바이스상의 배터리 전력의 상당한 소비를 초래할 수 있다.
대역폭, 처리 전력 및 배터리 전력은 컨텐츠의 축소 또는 요약 버전으로 지칭되는 컨텐츠의 축소 형태를 전달함으로써 감소될 수 있다. 축소 또는 요약 버전은 사용자 개입, 구성 요소의 선택 또는 세그먼트 값의 주관적 결정을 요구하지 않고 자동으로 생성될 수 있다. 컨텐츠 제공자에 의한 요청시 또는 처리 디바이스로 컨텐츠 전달시, 처리 디바이스는 비디오 컨텐츠 요소의 축소 또는 요약 버전을 자동으로 생성할 수 있다. 일부 구현예에서, 서버는 비디오 컨텐츠 요소를 (예를 들어, 초당 하나의 프레임, 초당 2개의 프레임, 2초당 하나의 프레임 또는 임의의 다른 속도로) 다운-샘플링할 수 있는데, 이는 비디오 컨텐츠 요소의 프레임들의 인터벌 서브 세트(intervallic subset)를 선택하는 것으로 지칭될 수 있다. 서버 시스템은 다수의 평가기를 통해 복수의 처리 규칙 및 값 계산을 적용함으로써 다운-샘플링된 비디오 컨텐츠 요소의 각 프레임을 평가하거나 분석할 수 있다. 이들 평가기는 이미지 품질 비교기, 객체 검출기, 모션 검출기 및 컬러 분포 측정기를 포함할 수 있다. 각 프레임을 분석하기 전에 비디오 컨텐츠 요소를 다운-샘플링함으로써 서버 시스템은 그렇지 않은 경우 각 평가기의 자원이 많은 이미지 분석 알고리즘을 실행하는데 사용되는 컴퓨팅 자원를 줄일 수 있다.
트레이닝된 모델을 이용하여, 이미지 품질 비교기는 다운-샘플링된 비디오 컨텐츠 요소의 각 프레임의 품질을 평가할 수 있다. 상기 모델은 네거티브로 마킹된 다른 비디오로부터 랜덤하게 선택된 하나의 프레임 세트와 포지티브로 마킹된 다른 비디오로부터의 다른 프레임 세트로 트레이닝되었을 수 있다. 모델을 적용함으로써 이미지 품질 비교기는 프레임을 포지티브 및 네거티브 샘플과 비교할 수 있다. 상기 이미지 비교기는 다운-샘플링된 비디오 컨텐츠 요소의 프레임이 포지티브 및 네거티브 샘플과 얼마나 유사한지를 결정할 수 있고, 그 결정된 유사도로부터 스코어를 계산할 수 있다.
상기 다운-샘플링된 비디오 컨텐츠 요소의 각 프레임 내의 객체를 검출하기 위해, 객체 검출기는 각 프레임에 이미지 인식 알고리즘을 적용할 수 있다. 이미지 인식 알고리즘은 다른 패턴 인식 기술 중에서 얼굴 검출 및 광학 문자 인식을 포함할 수 있다. 프레임 내의 객체를 검출하면, 객체 검출기는 그 객체의 다양한 특성(예를 들어, 크기, 컬러, 폰트 등)을 식별할 수 있다. 그런 다음 객체 검출기는 검출된 객체의 수 및 각 객체에 대해 식별된 다양한 특성에 따라 스코어를 계산할 수 있다.
상기 다운-샘플링된 비디오 컨텐츠 요소의 인접 프레임들 사이에서, 모션 검출기는 프레임마다 모션의 픽셀 단위 측정을 결정할 수 있다. 모션 검출기는 모션 측정치를 실링 임계치 및 플로어 임계치와 비교할 수 있다. 만약 모션 측정치가 실링 및 플로어 임계치 내에 있는 경우, 모션 검출기는 측정치와 실링 임계치 사이 및 측정치와 플로어 임계치 사이의 차이 또는 거리에 기초하여 스코어를 계산하고 조정할 수 있다. 따라서 모션 검출기는 적당한 양의 모션으로 연속적인 프레임에 더 높은 스코어를 할당할 수 있다.
각 프레임에 대해, 컬러 분포 측정기는 프레임의 픽셀들 사이의 컬러 분포를 계산할 수 있다. 컬러 분포는 단일 프레임 내의 컬러의 분산 또는 표준 편차를 나타낼 수 있다. 프레임의 픽셀들 사이의 계산된 컬러 분포에 기초하여, 컬러 분포 측정기는 다운-샘플링된 비디오 컨텐츠의 프레임에 대한 스코어를 결정할 수 있다. 상기 스코어의 결정은 스코어 맵핑에 대한 분포를 고려할 수 있다.
다운-샘플링된 비디오 컨텐츠 요소의 각 프레임을 분석함으로써 서버 시스템은 각 프레임 평가기로부터 스코어들의 가중 평균을 계산할 수 있다. 그런 다음 서버 시스템은 슬라이딩 윈도우를 사용하여 윈도우 내의 프레임들의 서브 세트에 대한 스코어를 계산할 수 있다. 윈도우의 길이는 절단되거나 요약된 비디오 컨텐츠 요소의 최대 길이에 대응하도록 설정될 수 있다. 합 계산에서 서버 시스템은 최고 합을 식별할 수 있다. 그런 다음 서버 시스템은 최고의 합의 슬라이딩 윈도우에 대응하는 프레임들의 서브 세트를 다운-샘플링된 비디오 컨텐츠 요소로부터 선택할 수 있다. 서버 시스템은 요약된 비디오 컨텐츠 요소로서 다운-샘플링된 비디오 컨텐츠 요소의 상기 선택된 프레임들의 서브 세트에 대응하는 오리지널 비디오 컨텐츠 요소의 프레임들의 서브 세트를 식별할 수 있다. 감소된 수의 프레임을 갖는 요약된 비디오 컨텐츠 요소를 클라이언트 디바이스에 제공함으로써, 서버 시스템은 전체 비디오 컨텐츠 요소를 전달하는 것과 비교하여 소비되는 대역폭의 양을 줄일 수 있다. 또한, 요약된 비디오 컨텐츠 요소는 클라이언트 디바이스에서 비디오 컨텐츠를 처리하여 재생할 때 컴퓨팅 자원의 양을 감소시킬 수 있다.
다운-샘플링 후에 비디오 컨텐츠 요소의 프레임들이 분석됨에 따라, 상기 선택된 프레임들의 서브 세트, 상기 요약된 비디오 컨텐츠 요소의 프레임들의 서브 세트의 선택은 다른 장면의 프레임들을 포함할 수 있다. 다른 장면을 제거하기 위해, 서버 시스템은 상기 선택된 서브셋의 프레임들 내의 단일 장면의 초기 샷 프레임과 최종 샷 프레임을 검출하여, 상기 초기 및 최종 샷 프레임 사이의 이들 프레임에 대해 비디오 컨텐츠 요소를 절단할 수 있다. 서버 시스템은 또한 특정 객체를 포함하여 식별된 대로 선택된 프레임들의 서브 세트를 추가할 수 있다.
이들 및 다른 양태 및 구현예들은 아래에서 상세히 논의된다. 전술한 정보 및 이하의 상세한 설명은 다양한 양태 및 구현예의 예시적인 예시를 포함하며, 청구된 양태 및 구현예의 본질 및 특성을 이해하기 위한 개요 또는 프레임 워크를 제공한다. 도면은 다양한 양태 및 구현예의 예시 및 추가 이해를 제공하며, 본 명세서에 통합되어 본 명세서의 일부를 구성한다.
첨부 도면은 실제 크기로 그려지는 것은 아니다. 다양한 도면에서 동일한 참조 번호와 명칭은 동일한 요소를 나타낸다. 명료함을 위해 모든 도면에 모든 구성 요소가 라벨링되는 것은 아니다.
도 1은 예시적인 구현에 따른 컴퓨터 네트워크 환경에서 비디오 컨텐츠의 요약을 자동으로 추출하는 프로세스를 나타내는 블록도이다.
도 2는 예시적인 구현에 따른 컴퓨터 네트워크 환경에서 비디오 컨텐츠의 요약을 자동으로 추출하는 시스템을 나타내는 블록도이다.
도 3a 내지 도 3e는 예시적인 구현에 따른 컴퓨터 네트워크 환경에서 비디오 컨텐츠의 요약을 자동으로 추출하는 방법을 나타내는 흐름도이다.
도 4는 예시적인 구현예에 따른 본 명세서 설명되고 예시된 시스템 및 방법의 요소를 구현하기 위해 사용될 수 있는 컴퓨터 시스템를 위한 일반적인 아키텍처를 도시하는 블록도이다.
컴퓨터 네트워크 환경에서 비디오 컨텐츠의 요약을 자동으로 추출하는 방법, 장치 및 시스템과 관련된 다양한 개념 및 구현의 보다 상세한 설명은 아래와 같다. 전술한 개념은 임의의 특정 구현 방식으로 제한되지 않기 때문에, 위에서 소개되고 이하에서 보다 상세히 논의되는 다양한 개념은 다양한 방식 중 임의의 방식으로 구현될 수 있다.
본 명세서 기술된 시스템 및 방법은 비디오 컨텐츠의 요약의 자동 생성과 관련된 문제점을 해결할 수 있다. 비디오 컨텐츠의 요약은 오리지널 비디오의 압축 포멧으로 오리지널 비디오의 정보 컨텐츠를 제공하는 비디오 컨텐츠를 제공할 수 있다. 따라서 비디오 컨텐츠의 요약은 오리지널 비디오에 비해 소량의 데이터를 사용하여 비디오 컨텐츠가 클라이언트 디바이스의 사용자에 의해 프리뷰될 수 있게 함으로써, 예를 들어, 일단 이러한 전체 비디오 컨텐츠를 원한다고 결정하면 사용자가 전체 비디오 컨텐츠를 수신할 수 있게 함으로써 대역폭 사용을 감소시킬 수 있다.
먼저 도 1을 참조하면, 비디오 컨텐츠의 요약을 자동으로 추출하는 프로세스(100)를 나타내는 블록도가 도시되어 있다. 본 명세서에서 프로세스(100)에 기술된 기능은 데이터 처리 시스템에 의해 수행되거나 후술되는 도 2에 도시된 시스템(200) 또는 도 4의 시스템(400)의 임의의 하나 이상의 컴포넌트 또는 모듈에 의해 수행될 수 있다. 프로세스(100)는 원시 또는 비 압축 비디오 파일, 압축 비디오 파일, 애니메이션 또는 비디오의 개별 이미지들의 집합, 또는 임의의 다른 유형 및 형태의 비디오 요소(element)를 포함할 수 있는 오리지널 비디오 컨텐츠 요소(105)로 시작할 수 있다. 비디오 컨텐츠 및 분석 관점에서 주로 논의되었지만, 컨텐츠 아이템은 비디오 및 오디오를 포함하는 멀티미디어 컨텐츠 아이템일 수 있다. 비디오 컨텐츠 요소(105)는 N개의 프레임(110-1~110-N)을 포함할 수 있다. 상기 프레임(110-1~110-N)은 임의의 프레임 속도(rate)(예를 들어, 초당 10 프레임~초당 600 프레임)에서 컴퓨팅 디바이스상의 비디오 재생기에 의한 재생을 위해 구성되거나 식별될 수 있다.
오리지널 비디오 컨텐츠 요소(105)는 다운-샘플링된 비디오 컨텐츠 요소(105')를 형성하기 위해 다운-샘플링될 수 있다. 다운-샘플링된 비디오 컨텐츠 요소(105')는 오리지널 비디오 컨텐츠 요소(105)의 프레임들의 인터벌(interval) 서브 세트, 또는 소정 기간 또는 프레임의 인터벌 수(예를 들어, 10 프레임마다 하나, 30 프레임마다 하나 등)에 따라 선택된 프레임의 서브 세트를 포함할 수 있다. 도 1에 도시된 구현예에서, 다운-샘플링된 비디오 컨텐츠 요소(105')는 오리지널 비디오 컨텐츠 요소(105)(예를 들어, 프레임(110-1, 110-11, 110-21 내지 110-M)의 매 10 번째 프레임을 포함한다. 매 10 번째 프레임의 사용은 하나의 예이며, 다른 샘플 속도 값이 사용될 수 있다. 오리지널 비디오 컨텐츠 요소(105)를 다운-샘플링함으로써, 다운-샘플링된 비디오 컨텐츠 요소(105')에 다양한 품질 분석 기술을 적용할 때 컴퓨팅 자원이 감소될 수 있다.
비디오 컨텐츠 요소(105)를 다운-샘플링함으로써, 프레임 평가기가 일반적으로 스코어(들)(120)로 지칭되는 스코어(125A~125M)를 계산하기 위해 다운-샘플링된 비디오 컨텐츠 요소(105')의 개별 프레임에 적용될 수 있다. 일부 구현예에서, 프레임 평가기는 이미지 품질 비교기, 객체 검출기, 모션 검출기 및 컬러 분포 측정기를 포함할 수 있다.
이미지 품질 비교기는 상기 프레임과 포지티브 또는 네거티브로 마킹된 다른 이미지들간의 비교에 기초하여 다운-샘플링된 비디오 컨텐츠 요소(105')의 각 프레임에 대한 스코어를 계산할 수 있다. 예를 들어, 일부 구현예에서, 트레이닝된 모델을 사용하여, 이미지 품질 비교기는 다운-샘플링된 비디오 컨텐츠 요소의 각 프레임의 품질을 평가할 수 있다. 상기 모델은 네거티브로 마킹된 다른 비디오로부터 랜덤하게 선택된 하나의 프레임 세트 및 포지티브로 마킹된 다른 비디오로부터의 다른 프레임 세트를 이용하여 트레이닝되었을 수 있다. 상기 모델을 적용함으로써 이미지 품질 비교기는 프레임을 포지티브 및 네거티브 샘플과 비교할 수 있다. 이미지 비교기는 다운-샘플링된 비디오 컨텐츠 요소로부터의 프레임들이 포지티브 및 네거티브 샘플과 얼마나 유사한지를 결정할 수 있고, 그 결정된 유사도로부터 스코어를 계산할 수 있다.
객체 검출기는 객체들과 이미지 인식 알고리즘을 사용하여 프레임에서 식별된 객체들의 다양한 특성을 사용하여 각 프레임에 대한 다른 스코어를 계산할 수 있다. 일부 구현예에서, 다운-샘플링된 비디오 컨텐츠 요소의 각 프레임 내의 객체들을 검출하기 위해, 객체 검출기는 각 프레임에 이미지 인식 알고리즘을 적용할 수 있다. 상기 이미지 인식 알고리즘은 다른 패턴 인식 기술 중에서 얼굴 검출 및 광학 문자 인식을 포함할 수 있다. 프레임 내의 객체를 검출하면, 객체 검출기는 그 객체의 다양한 특성(예를 들어, 크기, 컬러, 폰트 등)을 식별할 수 있다. 객체 검출기는 검출된 객체의 수 및 각 객체에 대해 식별된 다양한 특성에 따라 스코어를 계산할 수 있다.
모션 검출기는 다운-샘플링된 비디오 컨텐츠 요소(105')의 인접 프레임들 사이의 모션량에 기초하여 각 프레임에 대한 다른 스코어를 계산할 수 있다. 예를 들어, 일부 구현예에서, 다운-샘플링된 비디오 컨텐츠 요소의 인접 프레임들 사이에서, 모션 검출기는 프레임마다 모션의 픽셀 단위 측정치를 결정할 수 있다. 모션 검출기는 모션 측정치을 실링(ceiling) 임계값과 플로어(floor) 임계값과 비교할 수 있다. 만약 모션 측정치가 실링 및 플로어 임계치 내에 있으면, 모션 검출기는 측정치와 실링 임계치 사이 및 측정치와 플로어 임계치 사이의 차이 또는 거리에 기초하여 스코어를 계산 및 조정할 수 있다. 따라서 모션 검출기는 적당한 양의 모션으로 연속적인 프레임에 더 높은 스코어를 할당할 수 있다.
컬러 분포 측정기는 대응하는 프레임상의 픽셀들의 컬러 분포에 기초하여 다운-샘플링된 비디오 컨텐츠 요소(105')의 각 프레임에 대한 또 다른 스코어를 계산할 수 있다. 각 프레임에 대해, 컬러 분포 측정기는 프레임의 픽셀들 사이의 컬러 분포를 계산할 수 있다. 컬러의 분포는 단일 프레임 내의 컬러의 분산 또는 표준 편차를 나타낼 수 있다. 프레임의 픽셀들 사이의 계산된 컬러 분포에 기초하여, 컬러 분포 측정기는 다운-샘플링된 비디오 컨텐츠의 프레임에 대한 스코어를 결정할 수 있다. 스코어의 결정은 스코어 맵핑에 대한 분포를 고려할 수 있다.
컬러 분포 측정기는 대응하는 프레임상의 픽셀들의 컬러 분포에 기초하여 다운-샘플링된 비디오 컨텐츠 요소(105')의 각 프레임에 대한 다른 스코어를 계산할 수 있다. 각 프레임에 대해, 컬러 분포 측정기는 프레임의 픽셀들 사이의 컬러 분포를 계산할 수 있다. 컬러 분포는 단일 프레임 내의 컬러의 분산 또는 표준 편차를 나타낼 수 있다. 프레임의 픽셀들 사이의 상기 계산된 컬러 분포에 기초하여, 컬러 분포 측정기는 다운-샘플링된 비디오 컨텐츠의 프레임에 대한 스코어를 결정할 수 있다. 스코어의 결정은 스코어 맵핑에 대한 분포를 고려할 수 있다.
다양한 품질 분석 기술로 계산된 스코어들을 사용하여, 다운-샘플링된 비디오 컨텐츠 요소(105')의 각 프레임에는 대응하는 합성(composite) 스코어(125A-125M)가 할당될 수 있다. 각각의 합성 스코어(125A-125M)는 프레임 평가기들에 의해 계산된 스코어의 가중 합산 또는 가중 평균일 수 있다. 일부 구현예에서, 스코어들은 각각의 직렬 처리 또는 분석 단계 후에 누적(예를 들어, 새로 계산된 스코어를 이전 합계에 가산)될 수 있지만, 다른 구현예에서는 처리 또는 분석이 병렬로 수행될 수 있고 스코어가 함께 합산될 수 있다.
그런 다음 슬라이딩 윈도우(135)는 다운-샘플링된 비디오 컨텐츠 요소(105') (예를 들어, 프레임 110-11 및 110-21)의 대응하는 프레임들에 걸쳐 다수의 합성 스코어(130A-130O)(예를 들어, 130B까지 합산하는 스코어 125B 및 125C)의 합산을 계산하는데 사용될 수 있다. 윈도우의 길이는 절단되거나 요약된 비디오 컨텐츠 요소의 최대 길이에 대응하도록 설정될 수 있다.
스코어(130A-130O)의 합산 중에, 슬라이딩 윈도우(135)를 사용하는 다수의 스코어의 최대 합산(예를 들어, 합계 130B)이 식별될 수 있다. 다수의 스코어의 최대 합산에 대응하는 다운-샘플링된 비디오 컨텐츠 요소(105')의 프레임(예를 들어, 프레임 110-11 및 110-21)이 선택될 수 있다. 그런 다음, 이들 선택된 선택된 프레임에 대응하는 오리지널 비디오 컨텐츠 요소(105)의 프레임(예를 들어, 10:1 다운-샘플링을 구현하기 위해 프레임 110-11~110-30)이 식별되어, 요약된 비디오 컨텐츠 요소(105")를 생성할 수 있다. 따라서, 일부 구현예에서, 서버 시스템은 다운-샘플링된 비디오 컨텐츠 요소의 프레임들의 상기 선택된 서브 세트에 대응하는 오리지널 비디오 컨텐츠 요소의 프레임들의 서브 세트를 상기 요약된 비디오 컨텐츠 요소로서 식별할 수 있다.
전체 오리지널 비디오 컨텐츠 요소(105)에 비해, 상기 요약된 비디오 컨텐츠 요소(105")는 더 적은 프레임을 포함하거나 더 짧은 지속 시간(예를 들어, 60초가 아닌 5초 또는 슬라이딩 윈도우의 크기에 기초한 임의의 다른 시간)을 포함할 수 있다. 이러한 방식으로, 요약된 비디오 컨텐츠 요소(105")의 전달은 전체 비디오 컨텐츠 요소(105)를 제공하는 것에 비해 비디오 당 소비된 대역폭 및 다른 네트워크 자원의 양을 감소시킬 수 있다. 게다가, 요약된 비디오 컨텐츠 요소(105")는 클라이언트 디바이스에서 비디오 컨텐츠를 프로세싱하고 렌더링할 때 컴퓨팅 자원의 양을 감소시킬 수 있다.
다운-샘플링 후에 비디오 컨텐츠 요소의 프레임이 분석될 때, 상기 선택된 프레임들의 서브 세트, 상기 요약된 비디오 컨텐츠 요소의 프레임들의 서브 세트의 선택은 다른 장면의 프레임을 포함할 수 있다. 다른 장면을 제거하기 위해, 서버 시스템은 선택된 서브 세트의 프레임들 내의 단일 장면의 초기 샷(initial shot) 프레임 및 최종 샷(terminal shot) 프레임을 검출할 수 있고, 상기 초기 및 최종 샷 프레임 사이의 프레임들에 대해 비디오 컨텐츠 요소를 절단할 수 있다. 서버 시스템은 또한 특정 객체들을 포함하는 식별된 대로 선택된 프레임들의 서브 세트를 추가할 수 있다.
이제 도 2를 참조하면, 비디오 컨텐츠의 요약을 자동으로 추출하기 위한 데이터 처리 시스템(200)이 도시되어 있다. 하나의 데이터 처리 시스템(200)만이 도시되어 있지만, 많은 구현예에서, 데이터 처리 시스템(200)은 팜, 클라우드, 클러스터 또는 다수의 데이터 처리 시스템 또는 컴퓨팅 디바이스의 다른 그룹일 수 있다. 데이터 처리 시스템(200)은 종종 처리 회로로 지칭되는 적어도 하나의 프로세서 및 메모리를 포함할 수 있으며, 이들 각각은 도 4와 관련하여 아래에서 보다 상세히 설명된다. 데이터 처리 시스템(200)은 비디오 액세서(accessor)(210), 다운-샘플러 또는 인터벌(intervallic) 프레임 선택기(215), (도시된 바와 같이 병렬로, 직렬로, 임의의 순서로 또는 직렬 및 병렬 처리의 임의의 조합으로 제공될 수 있는) 하나 이상의 프레임 평가기(220), 스코어 결합기(score amalgamator)(250), 프레임 선택기(255) 및 장면 경계 절단기(260)를 포함한다. 하나 이상의 프레임 평가기(220)는 특히 이미지 비교기(225), 모션 검출기(235), 객체 검출기(240) 및 컬러 분포 측정기(245)를 포함할 수 있다. 비디오 액세서(210), 다운-샘플러(215), 하나 이상의 프레임 평가기(220), 스코어 결합기(250), 프레임 선택기(255), 장면 경계 절단기(260) 및 프레임 연결기(frame concatenator)(265) 각각은, 하나 이상의 스크립트 또는 다른 컴퓨터 로직을 실행하도록 구성된 하나 이상의 프로세서와 같은 하드웨어 또는 하드웨어와 소프트웨어의 조합을 포함할 수 있다. 상기 비디오 액세서(210), 다운-샘플러(215), 하나 이상의 프레임 평가기(220), 스코어 결합기 (250), 프레임 선택기(255), 장면 경계 절단기(260) 및 프레임 연결기(265) 각각은 개별 컴포넌트, 단일 컴포넌트 또는 데이터 처리 시스템(110)의 일부일 수 있다. 데이터 처리 시스템(200)은 비디오 컨텐츠 데이터베이스(205), 샘플 이미지 데이터베이스(230) 및 요약 비디오 컨텐츠 데이터베이스(265)와 같은 컨텐츠 저장소 또는 데이터베이스를 포함할 수 있다. 일부 구현예에서, 데이터 처리 시스템(200)은 물리적 컴퓨팅 디바이스, 물리적 컴퓨팅 디바이스에 의해 실행되는 가상 컴퓨팅 디바이스, 클러스터, 서버 팜, 클라우드, 또는 다른 병렬 또는 확장 가능 시스템을 포함하여 복수의 컴퓨팅 디바이스간에 분할될 수 있다.
보다 상세하게, 비디오 액세서(210)는 비디오 컨텐츠 요소(105)를 식별하거나 검색하기 위해 비디오 컨텐츠 데이터베이스(205)에 액세스할 수 있다. 비디오 컨텐츠 데이터베이스(205)는 하나 이상의 오리지널 비디오 컨텐츠 요소(105)를 포함할 수 있다. 각 오리지널 비디오 컨텐츠 요소(105)는 하나 이상의 프레임(110-1~110-N)을 포함할 수 있다. 오리지널 비디오 컨텐츠 요소(105)는 특정(specified) 프레임 속도(rate)(예를 들어, 초당 10 프레임~초당 600 프레임 또는 임의의 다른 값들)를 포함할 수 있다. 일부 구현예에서, 비디오 액세서(210)는 컨텐츠를 요약하거나 요약을 생성하기 위한 요청을 수신할 수 있다. 상기 컨텐츠를 요약하기 위한 요청은 비디오 컨텐츠 식별자를 포함할 수 있다. 비디오 컨텐츠 식별자는 비디오 컨텐츠 요소(105)(예를 들어, URL, 고유 자원 식별자(URI), 또는 컨텐츠의 임의의 다른 식별자)를 참조하는 어드레스들을 포함할 수 있다. 요청에 포함된 비디오 컨텐츠 식별자를 사용하여, 비디오 액세서(210)는 비디오 컨텐츠 요소(105)를 검색하거나 식별할 수 있다. 일부 구현예에서, 컨텐츠를 요약하기 위한 요청은 비디오 컨텐츠 요소(105) 자체를 포함할 수 있다. 비디오 컨텐츠 요소(105)를 수신하면, 비디오 액세서(210)는 그 비디오 컨텐츠 요소(105)를 비디오 컨텐츠 데이터베이스(205)에 저장(store)하거나 저장(save)할 수 있다. 일부 구현예에서, 컨텐츠를 요약하기 위한 요청은 타겟 절단 또는 요약 시간(예를 들어, 10초, 5초, 1분 또는 임의의 다른 시간)을 포함할 수 있다. 비디오 컨텐츠가 압축된 포맷으로 제공되는 일부 구현예에서, 비디오 컨텐츠 요소(105)를 검색할 때, 비디오 액세서(210)는 비디오 컨텐츠 요소(105)를 압축 해제할 수 있다. 압축 해제된 비디오 컨텐츠 요소(105)를 사용하여, 비디오 액세서(210)는 비디오 컨텐츠 요소(105)의 각 프레임(110-1~110-N)의 렌더링을 생성할 수 있다. 다른 구현예에서, 처리는 압축 해제 또는 변환을 요구하지 않고 직접 상기 압축된 비디오 컨텐츠 요소(105)에 대해 수행될 수 있다. 또 다른 구현에서, 컨텐츠의 압축 해제는 프레임 평가기(220)에 의해 나중에 또는 필요에 따라 수행될 수 있다. 예를 들어, 하나의 그러한 구현예에서, 상기 컨텐츠는 폐기되거나 분석되지 않을 프레임을 압축 해제하는 것을 피하기 위해, 압축 해제 전에 다운-샘플링될 수 있다.
위에서 논의된 바와 같이, 비디오 액세서(210)에 의해 식별된 비디오 컨텐츠 요소(105)를 분석할 때 계산상의 복잡도를 감소시키기 위해, 다운-샘플러(215)는 (예를 들어, 초당 1프레임~초당 60프레임의) 샘플링 속도로 상기 비디오 컨텐츠 요소(105)의 프레임(110-1~110-N)을 다운-샘플링할 수 있다. 일부 구현예에서, 다운-샘플러(215)는 식별된 샘플링 또는 서브 샘플링 속도로 비디오 컨텐츠 요소(105)의 프레임들(110-1~110-N)의 인터벌 서브 세트를 선택할 수 있다. 상기 인터벌 서브 세트는 10개의 프레임 중 하나, 20개의 프레임 중 하나와 같은 샘플링 속도로 비디오 컨텐츠 요소(105)로부터의 프레임들(110-1~110-N)의 주기적인 샘플을 포함할 수 있다. 인터벌 서브 세트는 (예를 들어, 도 1에 도시된 바와 같이 프레임(110-1, 110-11, 110-22~110-M)을 갖는) 다운-샘플링된 비디오 컨텐츠 요소(105')를 형성할 수 있다.
일부 구현예에서, 다운-샘플러(215)는 비디오 컨텐츠 요소(105)를 다운-샘플링하기 위해 샘플링 속도를 식별하거나 결정할 수 있다. 일 실시예에서, 다운-샘플러(215)는 오리지널 비디오 컨텐츠 요소(105)의 특정 프레임 속도를 식별할 수 있다. 오리지널 비디오 컨텐츠 요소(105)의 식별된 프레임 속도를 사용하여, 다운-샘플러(215)는 프레임들의 인터벌 서브 세트를 선택하기 위한 샘플링 속도를 계산할 수 있다. 일부 구현예에서, 다운-샘플러(215)는 샘플링 속도를 오리지널 비디오 컨텐츠 요소(105)의 프레임 속도의 특정 비율(percentage)(예를 들어, 1~50%)로 계산할 수 있다. 일부 구현예에서, 다운-샘플러(215)는 비디오 컨텐츠 요소(105)의 길이를 식별할 수 있다. 다운-샘플러(215)는 오리지널 비디오 컨텐츠 요소(105)의 길이 및 프레임 속도에 기초하여 샘플링 속도를 결정할 수 있다. 일부 구현예에서, 다운-샘플러(215)는 다운-샘플러에 더 기초하여 샘플링 속도를 결정할 수 있다. 일부 구현예에서, 다운-샘플러(215)는 타겟 절단 시간(예를 들어, 1~50%)의 역수의 특정 비율로 샘플링 속도를 계산할 수 있다. 또 다른 구현예에서, 다운-샘플러 (215)는 샘플링 속도를 계산하여, 다운-샘플링된 프레임들의 타겟 출력 수를 달성 할 수 있다(예를 들어, 샘플링 속도는 타겟 프레임 수를 소스 또는 입력 프레임 수로 나눈 값으로서 계산될 수 있다). 따라서 샘플링 속도는 일부 구현에서는 더 긴 비디오의 경우 더 긴 주기 또는 더 낮은 주파수일 수 있다.
다운-샘플링된 비디오 컨텐츠 요소(105')를 형성하는 인터벌 서브 세트를 사용하여, 데이터 처리 시스템(200)은 하나 이상의 프레임 평가기(220)를 상기 추출된 프레임들의 서브 세트에 적용하여 각 프레임에 대한 스코어를 결정할 수 있다. 스코어는 다운-샘플링된 비디오 컨텐츠 요소(105')의 프레임들의 품질을 나타내는 수치값을 포함할 수 있다. 일부 구현예에서, 스코어는 정규화된 수치(예를 들어, 0~1, 0~10, -1~1, -10~10) 일 수 있다. 하나 이상의 프레임 평가기(220)는 특히 이미지 비교기(225), 모션 검출기(235), 객체 검출기(240) 및 컬러 분포 측정기(245)를 포함할 수 있다. 각 프레임 평가기(220)는 비디오 컨텐츠의 각 프레임의 품질을 분석할 때 계산적으로 고가의 알고리즘을 실행(execute)하거나 실행(run)할 수 있고, 직렬, 병렬, 또는 직렬 및 병렬의 조합으로 실행될 수 있다. 이러한 알고리즘이 오리지널 비디오 컨텐츠 요소(105)와 반대로 상기 다운-샘플링된 비디오 컨텐츠 요소(105')에 적용될 수 있기 때문에, 컴퓨팅 자원 및 전력 소비가 감소되고 낮아질 수 있으므로 데이터 처리 시스템(200)의 효율을 향상시킬 수 있다.
이미지 비교기(225)는 프레임에 대한 스코어를 계산할 때 상기 다운-샘플링된 비디오 컨텐츠 요소(105')의 각 프레임을 샘플 이미지들과 비교할 수 있다. 이미지 비교기(225)는 동일한 컴퓨팅 디바이스 내의 저장 디바이스에 저장될 수 있고, 네트워크를 통해 액세스될 수 있고, 또는 이미지 비교기(225)에 액세스 가능한 샘플 이미지 데이터베이스(230)에 액세스할 수 있다. 상기 샘플 이미지 데이터베이스(230)는 포지티브로 마킹된 샘플 이미지 세트 및 네거티브로 마킹된 다른 샘플 이미지 세트를 포함할 수 있다. 포지티브로 마킹된 샘플 이미지의 세트는 더 높은 품질(예를 들어, 더 높은 선명도, 높은 콘트라스트, 높은 해상도, 높은 색채 등)과 관련될 수 있고, 더 높은 스코어(예를 들어, -1 대 1 스케일에서 0~1, 0 대 1 스케일에서 0.5~1, 10 대 10 스케일에서 0~10, 0 대 10스케일에서 5~10 또는 그 밖의 다른 범위에서)와 관련될 수 있다. 네거티브로 마킹된 샘플 이미지 세트는 더 낮은 품질(예를 들어, 흐릿한(buurry), 낮은 콘트라스트, 아티팩트의 존재, 낮은 해상도 등)과 관련될 수 있고, 더 낮은 스코어(예를 들어, -1 대 1 스케일에서는 -1~0, 0 대 1 스케일에서는 0~0.5, -10에서 10 스케일에서는 -10~0, 0 대 10스케일에서 0~5 또는 더 높은 스코어를 위해 범위와 다른 임의의 다른 범위)와 관련될 수 있다. 일부 구현예에서, 샘플 이미지의 두 세트는 포지티브 또는 네거티브로 사전 지정될 수 있다. 샘플 이미지들의 세트는 다른 비디오 컨텐츠 요소들로부터 추출될 수 있다.
포지티브 또는 네거티브로 마킹된 이미지 세트를 사용하여, 이미지 비교기(225)는 프레임과 이미지 세트 사이의 거리 측정치를 계산할 수 있다. 일부 구현예에서, 이미지 비교기(225)는 프레임과 포지티브로 마킹된 샘플 이미지 세트 간의 거리 메트릭을 계산할 수 있다. 일부 구현예에서, 이미지 비교기(225)는 프레임과 네거티브로 마킹된 샘플 이미지 세트 간의 거리 메트릭을 계산할 수 있다. 거리 메트릭은 선명도, 콘트라스트 및 해상도와 같은 품질에 기초할 수 있다. 일부 구현예에서, 이미지 비교기(225)는 각 프레임을 포지티브 또는 네거티브로 마킹된 샘플 이미지 세트와 비교하기 위한 모델(예를 들어, 베이지안 네트워크, 인공 신경망, 또는 계층 모델 등)을 유지할 수 있다. 인공 지능 알고리즘(예를 들어, 지도 학습 기술, 심층 학습, 서포트 벡터 머신 등)을 적용함으로써 모델은 포지티브 또는 네거티브로 마킹된 이미지 세트를 사용하여 트레이닝될 수 있다. 일부 구현예에서, 상기 모델을 사용하여, 이미지 비교기(225)는 프레임과 상기 포지티브로 마킹된 샘플 이미지의 세트간 및 프레임과 상기 네거티브로 마킹된 샘플 이미지 세트 간의 2개의 거리 메트릭을 계산할 수 있다. 따라서, 이미지 비교기(225)는 각각의 프레임에 대한 포지티브 거리 메트릭(또는 포지티브 샘플 이미지 세트에 대한 거리 메트릭) 및 네거티브 거리 메트릭(또는 네거티브 샘플 이미지 세트에 대한 거리 메트릭), 상기 포지티브 또는 네거티브 샘플 이미지에 대한 상기 프레임의 비교로부터 추출된 계수의 가중 합에 기초한 각각의 메트릭, 상기 모델의 트레이닝 중에 동적으로 결정된 가중치를 생성할 수 있다. 예를 들어 선명도에 대한 계수 가중치는 해상도 또는 콘트라스트에 대한 계수 가중치보다 높거나 그 반대일 수 있다.
다운-샘플링된 비디오 컨텐츠 요소(105')의 프레임의 거리 메트릭이 포지티브로 마킹된 이미지 세트에 가까울수록, 그 프레임에 대한 스코어는 더 높을 수 있다. 반대로, 다운-샘플링된 비디오 컨텐츠 요소(105')의 프레임의 거리 매트릭이 네거티브로 마킹된 이미지 세트에 가까울수록, 그 프레임에 대한 스코어는 더 낮을 수 있다. 프레임과 상기 포지티브 또는 네거티브로 마킹된 2개의 개별 이미지 세트 사이의 2개의 계산된 거리 메트릭을 이용하여, 이미지 비교기(225)는 각 프레임에 대한 스코어를 계산할 수 있다. 일부 구현예에서, 이미지 비교기(225)는 상기 2개의 거리 메트릭의 조합으로서 스코어를 계산할 수 있다. 일부 구현예에서, 스코어는 상기 2개의 거리 메트릭의 선형 합일 수 있지만, 다른 구현예에서는, 어느 하나 또는 2개의 메트릭은 더 가중되거나 조정될 수 있다(예를 들어, 다른 메트릭의 평균에 기초하여 대수적으로 조정됨). 이미지 비교기(225)는 다운-샘플링된 비디오 컨텐츠 요소(105')의 각 프레임에 대해 위의 처리를 반복할 수 있다.
모션 검출기(235)는 다운-샘플링된 비디오 컨텐츠 요소(105')의 인접 프레임 사이의 모션량을 분석 또는 결정하여 각 프레임에 대한 스코어를 계산할 수 있다. 모션 검출기(235)는 프레임들의 인터벌 서브 세트내의 2개의 인접 프레임(예를 들어, 도 1에 도시된 바와 같은 프레임(110-1 및 110-11))을 식별할 수 있다. 모션 검출기(235)는 모션 검출 알고리즘을 적용하여 2개의 식별된 인접 프레임 간의 모션 메트릭을 계산할 수 있다. 일부 구현예에서, 모션 검출기(235)는 각각의 픽셀 또는 2개의 인접 프레임내의 픽셀 블록의 컬러 값(예를 들어, RGB 값)을 결정할 수 있다. 프레임 내의 각 픽셀에 대한 컬러 값들로부터, 모션 검출기(235)는 프레임 내의 다른 위치에서 상기 인접 프레임의 대응하는 픽셀들 또는 픽셀 블록을 식별할 수 있고, 프레임 간의 모션 벡터를 생성할 수 있다. 모션 벡터는 개별 픽셀로부터 큰 픽셀 그룹의 매크로 블록까지 상이한 블록 사이즈로 계산될 수 있고, 상이한 블록 사이즈의 모션 벡터들은 일부 구현예에서 평균화되거나 함께 가산될 수 있다. 이것은 비디오의 더 크고 천천히 움직이는 영역 내에서 작고 빠르게 움직이는 객체의 식별을 가능하게 한다. 모션 메트릭은, 일부 구현예에서, 모션 벡터와 동일하거나 비례할 수 있다. 예를 들어, 빠른 모션은 높은 모션 메트릭에 대응할 수 있다. 다른 구현들에서, 빠른 모션은 요약 비디오에 적합하지 않을 수 있으며, 따라서, 상기 모션 메트릭은 빠른 모션이 낮은 모션 메트릭 또는 네거티브 모션 메트릭에 대응하도록 상기 모션 벡터에 반비례할 수 있다.
일부 구현예에서, 모션 검출기(235)는 프레임들간의 모션 벡터들을 실링 임계치 및 플로어 임계치와 비교할 수 있다. 실링 임계치 및 플로어 임계치는 과도한또는 최소의 모션 메트릭을 갖는 프레임들의 스코어를 감소시키도록 설정될 수 있다. 모션 검출기(235)는 프레임들과 실링 임계치 사이의 모션 벡터들 간의 차이를 계산할 수 있다. 모션 검출기(235)는 프레임들과 플로어 임계치 사이의 모션 벡터들 간의 차이를 계산할 수 있다. 상기 2개의 차이에 기초하여, 모션 검출기(235)는 다운-샘플링된 비디오 컨텐츠 요소(105')의 프레임에 대한 스코어를 계산할 수 있다. 모션 검출기(235)는 다운-샘플링된 비디오 컨텐츠 요소(105')를 구성하는 인터벌 서브 세트의 프레임들에 걸쳐 상기 기능을 반복할 수 있다.
객체 검출기(240)는 하나 이상의 객체를 식별하고 그 객체의 하나 이상의 특성 및 유형을 식별하기 위해 다운-샘플링된 비디오 컨텐츠 요소(105')의 각 프레임에 이미지 인식 알고리즘을 적용할 수 있다. 상기 인식된 객체들, 특성들에 기초하여, 객체 검출기(240)는 인터벌 서브 세트 내의 대응하는 프레임에 대한 스코어를 계산할 수 있다. 객체 검출기(240)에 의해 적용된 이미지 인식 알고리즘은 안면 인식 알고리즘, 광학 문자 인식 알고리즘 및 다른 컴퓨터 비전 기술을 포함할 수 있다. 예를 들어, 객체 검출기(240)는 사전 결정된 규칙 세트(예를 들어, 매칭하는 컬러를 갖는 연속 픽셀들의 블록, 동일한 모션 벡터를 갖는 연속 픽셀들의 블록 등)와 매칭하는 또는 다른 객체와 매칭하는 객체를 식별하기 위해 (예를 들어, 이미지들의 라이브러리에 대한 이미지 비교 검색 또는 다른 방법을 통해) 픽셀들, 매크로블록들 또는 영역들을 스캔할 수 있다.
프레임상의 얼굴 표정을 식별하기 위해, 객체 검출기(240)는 안면 인식 알고리즘을 인터벌 서브 세트의 프레임들에 적용할 수 있다. 안면 인식 알고리즘은 선형 판별 분석, EBGM(elastic bunch graph matching), 은닉 마르코프 모델, 다중선형 부공간 학습(multilinear subspace learning) 및 주성분 분석을 포함할 수 있다. 일부 구현예에서, 객체 검출기(240)는 프레임의 인터벌 서브 세트의 프레임의 그레이-스케일 버전을 생성할 수 있다. 객체 검출기(240)는 얼굴 이미지의 트레이닝 세트를 식별할 수 있다. 얼굴 이미지의 트레이닝 세트는 얼굴 표정을 갖는 샘플 이미지를 포함할 수 있다. 객체 검출기(240)는 프레임의 그레이-스케일 버전과 얼굴 이미지의 트레이닝 세트 사이의 고유 벡터 세트를 계산할 수 있다. 객체 검출기(240)는 고유 벡터 세트(예를 들어, 유클리드 거리)를 사용하여 거리 메트릭을 계산할 수 있다. 객체 검출기(240)는 거리 메트릭을 임계 메트릭과 비교할 수 있다. 만약 거리 메트릭이 임계치보다 작으면, 객체 검출기(240)는 프레임내에 얼굴 표정이 존재한다고 결정할 수 있다. 만약 거리 메트릭이 임계치보다 크거나 같으면, 객체 검출기(240)는 프레임내에 얼굴 표정이 존재하지 않는다고 결정할 수 있다. 객체 검출기(240)는 얼굴 표정이 없는 경우 프레임에 대한 스코어를 0으로 설정할 수 있다.
만약 얼굴 표정이 프레임에서 검출되면, 객체 검출기(240)는 다운-샘플링된 비디오 컨텐츠 요소(105')의 프레임의 하나 이상의 특성을 식별할 수 있다. 하나 이상의 특성은 크기, 밝기, 콘트라스트, 해상도, 위치, 둥근 모양(rounded-ness) 및 얼굴 표정의 다른 속성을 포함할 수 있다. 일부 구현예에서, 하나 이상의 특성은 얼굴 표정에서 검출된 눈의 크기를 포함할 수 있다. 눈은 컴퓨터 비전 기술을 사용하여 감지할 수 있다. 객체 검출기(240)는 프레임에서 식별된 얼굴 표정의 하나 이상의 특성에 기초하여 프레임의 스코어를 설정할 수 있다. 식별된 얼굴 표정의 크기, 밝기, 콘트라스트, 해상도 및 눈의 크기가 클수록, 객체 검출기(240)에 의해 계산되는 스코어는 더 높을 수 있다. 식별된 얼굴 표정의 크기, 밝기, 콘트라스트, 해상도 및 눈의 크기가 작을수록, 객체 검출기(240)에 의해 계산되는 스코어는 더 낮을 수 있다. 객체 검출기(240)는 다운-샘플링된 비디오 컨텐츠 요소(105')를 구성하는 인터벌 서브 세트의 프레임에 걸쳐 상기 기능을 반복할 수 있다.
프레임상의 텍스트를 검출하기 위해, 객체 검출기(240)는 다운-샘플링된 비디오 컨텐츠 요소(105')의 프레임들에 광학 문자 인식 알고리즘을 적용할 수 있다. 광학 문자 인식 알고리즘은 패턴 매칭, 패턴 인식 및 다른 상관 기술을 포함할 수 있다. 일부 구현예에서, 객체 검출기(240)는 프레임의 그레이-스케일 버전을 생성할 수 있다. 그런 다음 객체 검출기(240)는 문자들의 트레이닝 세트에 액세스할 수 있다. 문자들의 트레이닝 세트는 문자를 갖는 샘플 이미지를 포함할 수 있다. 객체 검출기(240)는 프레임에 대한 특징 벡터를 결정할 수 있다. 그런 다음 객체 검출기(240)는 문자들의 트레이닝 세트 내의 각 문자에 대한 특징 벡터를 결정할 수 있다. 객체 검출기(240)는 프레임의 특징 벡터와 상기 문자들의 트레이닝 세트의 각 문자의 특징 벡터 간의 거리 메트릭을 계산할 수 있다. 그런 다음 객체 검출기(240)는 거리 메트릭을 임계치와 비교할 수 있다. 만약 거리 메트릭이 임계치 미만이면, 객체 검출기(240)는 문자가 프레임에 존재한다고 판단할 수 있다. 만약 거리 메트릭이 임계치 이상이면, 객체 검출기(240)는 문자가 프레임에 존재하지 않는다고 결정할 수 있다. 객체 검출기(240)는 문자가 없는 경우에 프레임에 대한 스코어를 0으로 설정할 수 있다.
문자가 프레임에서 검출되면, 객체 검출기(240)는 그 문자의 하나 이상의 특성을 식별할 수 있다. 하나 이상의 특성은 크기, 밝기, 콘트라스트, 해상도, 폰트, 문자 유형(예를 들어,"a","1","@"), 위치 및 문자의 다른 속성을 포함할 수 있다. 객체 검출기(240)는 문자의 하나 이상의 특성에 기초하여 프레임의 스코어를 설정할 수 있다. 상기 크기, 밝기, 콘트라스트, 해상도 및 폰트가 클수록, 객체 검출기(240)에 의해 계산되는 스코어는 더 높을 수 있다. 상기 크기, 밝기, 콘트라스트, 해상도 및 폰트가 작을수록, 객체 검출기(240)에 의해 계산되는 스코어는 더 낮을 수 있다. 일부 구현예에서, 객체 검출기(240)는 프레임상의 문자 수를 식별할 수 있다. 식별된 프레임 수를 사용하여, 객체 검출기(240)는 스코어를 계산할 수 있다. 객체 검출기(240)는 다운-샘플링된 비디오 컨텐츠 요소(105')를 구성하는 인터벌 서브 세트의 프레임들에 걸쳐 상기 기능을 반복할 수 있다.
컬러 분포 측정기(245)는 프레임상의 픽셀의 컬러 분포를 사용하여 인터벌 서브 세트의 각 프레임에 대한 스코어를 결정할 수 있다. 컬러 분포 측정기(245)는 각 픽셀의 컬러값(예를 들어, RGB 값)을 식별하기 위해 프레임의 픽셀들을 횡단(traverse)할 수 있다. 컬러 분포 측정기(245)는 프레임상의 픽셀의 식별된 컬러값을 사용하여 컬러 분포를 결정할 수 있다. 컬러 분포는 특히 평균값, 표준 편차, 및 프레임의 픽셀의 컬러값 분산을 포함할 수 있다. 일부 구현예에서, 컬러 분포는 RGB 값들 사이의 편차 측정치에 대응하는 3차원 값일 수 있다. 컬러 분포 측정기(245)는 프레임의 결정된 컬러 분포에 기초하여 스코어를 계산할 수 있다. 일부 구현예에서, 컬러 분포 측정기(245)는 스코어에 대한 컬러 분포의 맵핑에 액세스할 수 있다. 상기 맵핑은 메모리에 저장된 데이터 구조일 수 있다. 매핑은 특정 컬러 분포에 대한 스코어를 지정할 수 있다. 매핑을 사용하여, 컬러 분포 측정기(245)는 프레임에 대한 스코어를 계산할 수 있다. 컬러 분포 측정기(245)는 다운-샘플링된 비디오 컨텐츠 요소(105')를 구성하는 인터벌 서브 세트의 프레임에 걸쳐 상기 기능을 반복할 수 있다.
각각의 프레임 평가기(220)에 의해 계산된 스코어를 취하여, 스코어 결합기(250)는 다운-샘플링된 비디오 컨텐츠 요소(105')의 각 프레임에 대한 합성 스코어(composite score)(125A-125M)를 계산할 수 있다. 일부 구현예에서, 합성 스코어(125A-125M)는 하나 이상의 프레임 평가기(220)에 의해 계산된 스코어의 평균 일 수 있다. 일부 구현예에서, 합성 스코어(125A-125M)는 하나 이상의 프레임 평가기(220)에 의해 계산된 스코어의 가중 평균 또는 가중 합일 수 있다. 일부 구현예에서, 스코어 결합기(250)는 하나 이상의 프레임 평가기(220)에 의해 계산된 스코어 각각에 대한 가중치를 식별할 수 있다. 가중치는 합성 스코어(125A-125M)의 스코어에 대한 구성 비율(예를 들어, 이미지 비교기(225)에 의해 계산된 스코어에 대해 35%, 모션 검출기(235)에 의해 계산된 스코어에 대해 10%, 객체 검출기(240)에 의해 계산된 스코어에 대해 30%, 컬러 분포 측정기(245)에 의해 계산된 스코어에 대해 25% 또는 임의의 다른 분포)에 해당할 수 있다. 일부 구현예에서, 가중치는 사전에 결정되거나 사전에 지정될 수 있다. 일부 구현예에서, 가중치는 스코어 결합기(250)에 의해 동적으로 결정될 수 있다. 일부 실시예에서, 스코어 결합기(250)는 특히 오리지널 비디오 컨텐츠 요소(105)의 길이, 타겟 절단 시간 및 다운-샘플링된 비디오 컨텐츠 요소(105')의 프레임 수에 기초하여 가중치를 설정할 수 있다. 예를 들어, 매우 짧은 타겟 절단 시간의 경우, 텍스트 인식에 기초하여 높은 스코어를 포함하는 프레임은 제목에 해당할 수 있기 때문에 더 긴 타겟 절단 시간보다 더 높은 등급이 될 수 있다.
합성 스코어(125A-125M)로부터, 프레임 선택기(255)는 슬라이딩 윈도우(135) 내의 다운-샘플링된 비디오 컨텐츠 요소(105')의 프레임들의 서브 세트에 대한 합성 스코어의 합(130A-130O)을 계산할 수 있다. 프레임 선택기(255)는 타겟 절단 시간에 기초하여 슬라이딩 윈도우(135)의 길이 또는 슬라이딩 윈도우(135)에 대한 서브 세트 프레임 수를 설정 또는 산출할 수 있다. 일부 구현예에서, 슬라이딩 윈도우(135)의 길이는 요약된 비디오 컨텐츠 요소(105")에 대한 스틸 이미지로서 단일 프레임을 선택하기 위해 1로 설정될 수 있다. 일부 구현예에서, 프레임 선택기(255)는 타겟 절단 시간에 기초하여 슬라이딩 윈도우(135)의 오버랩을 결정할 수 있다. 오버랩은 합성 스코어 합(130A-130O)를 계산하기 위해 슬라이딩 윈도우(135)의 2개의 인스턴스사이에 사용되는 다수의 프레임을 포함할 수 있다. 일단 슬라이딩 윈도우(135)의 길이 및 오버랩이 설정되면, 프레임 선택기(255)는 슬라이딩 윈도우(135) 내의 프레임들의 각 서브 세트에 대한 합성 스코어 합(130A-130O)를 계산할 수 있다.
계산된 합성 스코어 합(130A-130O)으로부터, 프레임 선택기(255)는 최고의 합성 스코어 합을 식별할 수 있다. 그런 다음 프레임 선택기(255)는 최고의 합성 스코어 합에 대응하는 다운-샘플링된 비디오 컨텐츠 요소(105')의 프레임들의 서브 세트를 식별할 수 있다. 프레임들의 서브 세트는 슬라이딩 윈도우(135)와 동일한 수의 프레임들을 포함할 수 있다. 프레임 선택기(255)는 최고의 합성 스코어 합에 대응하는 것으로 식별된 다운-샘플링된 비디오 컨텐츠 요소(105')의 프레임들의 서브 세트에 대응하는 것으로서 오리지널 비디오 컨텐츠 요소(105)의 프레임들의 서브 세트를 식별할 수 있다. 일부 구현예에서, 프레임 선택기(255)는 비디오 컨텐츠 데이터베이스(205)로부터 오리지널 비디오 컨텐츠 요소(105)를 검색할 수 있다. 일부 구현예에서, 만약 슬라이딩 윈도우(135)의 길이가 요약된 비디오 컨텐츠 요소(105")에 대한 스틸 이미지로서 단일 프레임을 선택하기 위해 1로 설정되면, 프레임 선택기(255)는 최고의 합성 스코어 합에 대응하는 것으로 식별된 단일 프레임을 상기 요약된 비디오 컨텐츠 요소(105")로서 선택할 수 있다. 따라서, 다운-샘플링된 프레임들의 서브 세트로부터, 최고의 합성 스코어를 갖는 프레임 또는 프레임들을 식별함으로써, 프레임 선택기는 최고의 합성 스코어를 갖는 프레임 또는 프레임들과 상기 슬라이딩 윈도우 내의 프레임들에 대응하는 전체 프레임 세트를 검색함으로써 오리지널 소스 비디오 컨텐츠로 "업-샘플링"할 수 있다. 일 구현예에서, 초당 30 프레임을 갖는 소스 비디오 컨텐츠가 주어지면, 그 컨텐츠는 초당 1 프레임으로 다운-샘플링되어 분석될 수 있다. 슬라이딩 윈도우는 10초의 비디오 또는 10개의 다운-샘플링된 프레임에 대응할 수 있다. 최고의 합성 스코어를 갖는 프레임을 식별하면, 프레임 선택기는 그 식별된 프레임(즉, 다운-샘플링 속도로 10 프레임보다는 오히려 초당 30 프레임으로 300 프레임)을 포함하는 원래의 소스 비디오 컨텐츠로부터 대응하는 10초의 비디오를 검색할 수 있다. 검색된 프레임들은 오리지널 프레임 속도로 요약 비디오를 생성하는데 사용될 수 있다.
일부 실시예에서, 프레임 선택기(255)는 오리지널 비디오 컨텐츠 요소(105)의 프레임(110-1~110-N)을 횡단하여, 최고의 합성 스코어에 대응하는 것으로 식별된 다운-샘플링된 비디오 컨텐츠 요소(105')의 프레임들의 서브 세트에 대응하는 프레임들의 서브 세트를 식별할 수 있다. 프레임 선택기(255)는 최고의 합성 스코어 합에 대응하는 것으로 식별된 서브 세트 프레임의 다운-샘플링된 비디오 컨텐츠 요소(105')의 초기 프레임에 대응하는 상기 오리지널 비디오 컨텐츠 요소(105)의 초기 프레임을 식별할 수 있다. 프레임 선택기(255)가 프레임(110-1~110-N)을 횡단함에 따라, 프레임 선택기(255)는 프레임(110-1~110-N)을 선택하고, 요약된 비디오 컨텐츠 요소(105")의 일부로서 상기 선택된 프레임(110-1~110-N)을 포함시키거나 삽입할 수 있다. 프레임 선택기(255)가 다운-샘플링된 비디오 컨텐츠 요소(105')의 프레임들의 서브 세트 중 하나에 대응하는 것으로서 상기 오리지널 비디오 컨텐츠 요소(105)의 프레임을 식별할 때까지, 프레임 선택기(255)는 오리지널 컨텐츠 요소(105)의 프레임(110-1~110-N)을 횡단할 수 있다. 만약 다운-샘플링된 비디오 컨텐츠 요소(105') 내의 프레임들의 서브 세트의 프레임이 최종 프레임이면, 프레임 선택기(255)는 샘플링 간격(인터벌)을 정하는(numbering) 오리지널 비디오 컨텐츠 요소(105)의 프레임(110-1~110-N)의 나머지를 선택할 수 있다. 만약 다운-샘플링된 비디오 컨텐츠 요소(105') 내의 프레임들의 서브 세트의 프레임이 최종 프레임이 아니면, 프레임 선택기(255)는 오리지널 비디오 컨텐츠 요소(105)의 프레임(110-1~110-N)을 계속 선택할 수 있다. 다운-샘플링된 비디오 컨텐츠 요소(105')의 프레임들의 서브 세트에 대응하는 것으로 선택된 오리지널 비디오 컨텐츠 요소(105)의 프레임(110-1~110-N)을 이용하여, 프레임 선택기(255)는 요약된 비디오 컨텐츠 요소(105")를 생성할 수 있다. 일부 구현예에서, 프레임 선택기(255)는 요약된 비디오 컨텐츠 요소(105")를 생성하는 것에 응답하여, 상기 요약된 비디오 컨텐츠 요소(105")를 요약 비디오 데이터베이스(270)에 저장할 수 있다. 프레임 선택기(255)는 또한 요약된 비디오 컨텐츠 요소(105")를 생성하는데 사용된 오리지널 비디오 컨텐츠(105)를 참조하기 위해 상기 요약된 비디오 컨텐츠 요소(105")에 대한 대응 식별자를 저장할 수 있다.
다운-샘플링된 비디오 컨텐츠 요소(105')가 프레임의 품질을 분석하기 위해사용됨에 따라, 요약된 비디오 컨텐츠 요소(105")는 비디오 컨텐츠에 하나 이상의 장면을 포함할 수 있고, 상기 요약된 비디오 컨텐츠 요소(105")의 시청자에게 불쾌할 수 있는 갑작스럽거나 예기치 않은 시각적 변화(예를 들어, 컬러)를 또한 포함할 수 있다. 장면의 수를 감소시키기 위해, 장면 경계 절단기(260)는 요약된 비디오 컨텐츠 요소(105")로부터 하나 이상의 샷 경계를 식별할 수 있다. 시각적 관점에서, 상기 샷 경계는 한 장면에서 다른 장면으로 전환하는 프레임에 해당할 수 있다. 이러한 전환은 한 프레임에서 다음 프레임으로의 컬러의 급격한 변화 또는 검정색으로 또는 검정색으로부터의 퇴색(fade)에 대응할 수 있다. 상기 요약된 비디오 컨텐츠 요소(105")의 절단시, 장면 경계 절단기(260)는 요약 비디오 데이터베이스(270)에 상기 절단되고 요약된 비디오 컨텐츠 요소(105")를 저장할 수 있다.
상기 요약된 비디오 컨텐츠 요소(105")의 처음(start)에서 시작하여, 장면 경계 절단기(260)는 프레임을 횡단하여 프레임들 중에서 초기 샷 경계 프레임을 검출할 수 있다. 횡단하는 동안, 장면 경계 절단기(260)는 프레임의 픽셀들의 컬러 분포를 식별할 수 있다. 컬러 분포는 특히 평균값, 표준 편차 및 프레임상의 픽셀들의 컬러값 분산을 포함할 수 있다. 일부 구현예에서, 컬러 분포는 RGB 값들 사이의 편차 측정치에 대응하는 3차원 값일 수 있다. 장면 경계 절단기(260)는 현재 프레임의 컬러 분포를 상기 요약된 비디오 컨텐츠 요소(105")의 이전 프레임의 컬러 분포와 비교할 수 있다. 장면 경계 절단기(260)는 현재 프레임의 컬러 분포와 이전 프레임의 컬러 분포 간의 차이를 결정할 수 있다. 장면 경계 절단기(260)는 그 차이를 임계치와 비교할 수 있다. 만약 그 차이가 임계치보다 크면, 장면 경계 절단기(260)는 현재의 프레임을 초기 샷 경계 프레임으로 식별할 수 있다. 그런 다음 장면 경계 절단기(260)는 요약된 비디오 컨텐츠 요소(105")로부터 초기 샷 경계 프레임 이전의 프레임들을 제거할 수 있다. 만약 그 차이가 임계치보다 작으면, 장면 경계 절단기(260)는 현재 프레임을 비-샷 경계 프레임으로 식별하고, 요약된 비디오 컨텐츠 요소(105")의 프레임들을 계속해서 횡단할 수 있다.
일부 구현예에서, 장면 경계 절단기(260)는 프레임 사이의 컬러 분포의 차이를 이용하여 상기 요약된 비디오 컨텐츠 요소(105")의 프레임을 계속 횡단하여, 장면 변경 또는 샷 경계를 검출할 수 있다. 장면 경계 절단기(260)는 샷 경계 검출시 샷 경계의 수를 유지하고 샷 경계의 수를 증가시킬 수 있다. 일부 구현예에서, 장면 경계 절단기(260)는 샷 경계의 수를 최대 장면 수와 비교할 수 있다. 만약 샷 경계 수가 최대 개수 이상이면, 장면 경계 절단기(260)는 샷 경계에 대응하는 프레임에 후속하는 프레임들을 상기 요약된 비디오 컨텐츠 요소(105")로부터 제거할 수 있다.
요약된 비디오 컨텐츠 요소(105")의 끝으로부터 시작하여, 장면 경계 절단기(260)는 프레임들을 횡단하여 프레임들 중에서 최종 샷 경계 프레임을 검출할 수 있다. 횡단하는 동안, 장면 경계 절단기(260)는 프레임의 픽셀들의 컬러 분포를 식별할 수 있다. 컬러 분포는 특히 평균값, 표준 편차 및 프레임상의 픽셀들의 컬러값 분산을 포함할 수 있다. 일부 구현예에서, 컬러 분포는 RGB 값들 사이의 편차 측정치에 대응하는 3차원 값일 수 있다. 장면 경계 절단기(260)는 현재 프레임의 컬러 분포를 상기 요약된 비디오 컨텐츠 요소(105")의 이전에 횡단한 프레임의 컬러 분포와 비교할 수 있다. 장면 경계 절단기(260)는 현재 프레임의 컬러 분포와 이전에 횡단한 프레임의 컬러 분포 간의 차이를 결정할 수 있다. 장면 경계 절단기(260)는 그 차이를 임계치와 비교할 수 있다. 만약 그 차이가 임계치보다 크면, 장면 경계 절단기(260)는 현재의 프레임을 최종 샷 경계 프레임으로 식별할 수 있다. 그런 다음 장면 경계 절단기(260)는 요약된 비디오 컨텐츠 요소(105")로부터 최종 샷 경계 프레임에 후속하는 프레임들을 제거할 수 있다. 만약 그 차이가 임계치보다 작으면, 장면 경계 절단기(260)는 현재 프레임을 비-샷 경계 프레임으로 식별하고, 요약된 비디오 컨텐츠 요소(105")의 프레임들을 계속해서 횡단할 수 있다.
비디오 연결기(265)는 오리지널 비디오 컨텐츠 요소(105)의 다른 프레임을 요약된 비디오 컨텐츠 요소(105")에 추가(add)할 수 있다. 비디오 연결기(265)는 요약된 비디오 컨텐츠 요소(105")에 대해 선택되지 않은 오리지널 비디오 컨텐츠 요소(105)로부터 나머지 프레임을 식별할 수 있다. 일부 구현예에서, 비디오 연결기(265)는 오리지널 비디오 컨텐츠 요소(105)의 끝으로부터 사전 결정된 수의 프레임을 선택하여 요약된 비디오 컨텐츠 요소(105")에 추가할 수 있다. 일부 실시예에서, 이미지 인식 알고리즘을 사용하여, 비디오 연결기(265)는 하나 이상의 사전 지정된 객체를 포함하는 나머지 프레임으로부터 연속적인 프레임 세트를 식별할 수 있다. 하나 이상의 사전 지정된 객체는 특히 특정 유형의 텍스트 및 특정 유형의 이미지(예를 들어, 로고 또는 브랜드)를 포함할 수 있다. 하나 이상의 사전 지정된 객체를 식별하는데 사용되는 이미지 인식 알고리즘은 광학 문자 인식, 객체 인식, 블롭(blob) 감지, 에지 감지 및 기타 컴퓨터 비전 기술을 포함할 수 있다. 비디오 컨텐츠 요소(105)의 나머지 프레임을 횡단하는 동안, 비디오 연결기(265)는 하나 이상의 객체를 포함하는 하나 이상의 연속적인 프레임 세트를 식별할 수 있다. 나머지 프레임을 횡단한 후에, 비디오 연결기(265)는 하나 이상의 연속적인 프레임 세트를 요약된 비디오 컨텐츠 요소(105")에 추가할 수 있다. 일부 구현예에서, 비디오 연결기(265)는 하나 이상의 연속적인 프레임 세트를 요약된 비디오 컨텐츠 요소(105")에 연결, 추가(append) 또는 삽입할 수 있다. 일단 추가되면, 비디오 연결기(265)는 상기 변경된 요약된 비디오 컨텐츠 요소(105")를 요약 비디오 컨텐츠 데이터베이스(270)에 저장할 수 있다.
이제도 3a-3e를 참조하면, 예시적인 구현에 따른 비디오 컨텐츠의 요약을 자동으로 추출하는 방법(300)의 흐름도가 도시된다. 방법(300)에서 설명된 본 명세서에 설명된 기능은 데이터 처리 시스템에 의해 수행되거나 도 2에 도시된 데이터 처리 시스템(200) 또는 도 4의 시스템(400)의 임의의 하나 이상의 구성 요소 또는 모듈에 의해 수행될 수 있다.
도 3a로부터 시작하여, 단계(302)에서, 데이터 처리 시스템은 비디오 컨텐츠 데이터베이스에 액세스할 수 있다. 단계(304)에서, 데이터 처리 시스템은 비디오 컨텐츠 데이터베이스로부터 비디오 컨텐츠 요소를 검색할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 비디오 컨텐츠 요소를 압축 해제할 수 있다. 단계(306)에서, 데이터 처리 시스템은 품질 분석을 위한 샘플링 속도를 식별할 수 있다. 단계(308)에서, 데이터 처리 시스템은 데이터베이스로부터 검색된 비디오 컨텐츠 요소의 초기 프레임을 식별할 수 있다. 단계(310)에서, 데이터 처리 시스템은 프레임 위치가 샘플링 속도에 의해 정의된 샘플 간격과 동일한지의 여부를 결정할 수 있다. 만약 프레임 위치가 샘플 간격과 동일하면, 단계(312)에서, 데이터 처리 시스템은 샘플링된 세트에 대한 프레임을 선택할 수 있다. 임의의 경우에, 단계(314)에서, 데이터 처리 시스템은 더 많은 잔여 프레임이 있는지 여부를 결정할 수 있다. 그런 경우, 데이터 처리 시스템은 단계(310-314)의 기능을 반복할 수 있다.
도 3b로 이동하여, 더 이상의 잔여 프레임이 없으면, 단계 316에서, 데이터 처리 시스템은 품질 분석(예를 들어, 단계(318-328)에서의 기능)을 위해 상기 샘플링된 세트의 초기 프레임을 식별할 수 있다. 단계(318)에서, 데이터 처리 시스템은 포지티브 마팅된 샘플 이미지로부터 현재 프레임의 거리를 계산할 수 있다. 단계(319)에서, 데이터 처리 시스템은 네거티브 마킹된 샘플 이미지로부터 현재 프레임의 거리를 계산할 수 있다. 단계(320)에서, 데이터 처리 시스템은 상기 거리들에 기초하여 프레임에 대한 스코어를 계산할 수 있다. 단계(321)에서, 데이터 처리 시스템은 프레임의 이미지 내의 객체를 검출할 수 있다. 단계(322)에서, 데이터 처리 시스템은 프레임의 이미지내의 객체의 유형 또는 특성을 식별할 수 있다. 단계(323)에서, 데이터 처리 시스템은 이미지 내의 객체의 식별된 유형 또는 특성에 기초하여 프레임에 대한 스코어를 계산할 수 있다. 단계(324)에서, 데이터 처리 시스템은 현재 프레임에 인접한 프레임들을 식별할 수 있다. 단계(325)에서, 데이터 처리 시스템은 인접 프레임들과 현재 프레임 간의 모션 메트릭을 계산할 수 있다. 단계(326)에서, 데이터 처리 시스템은 모션 메트릭에 기초하여 프레임에 대한 스코어를 계산할 수 있다. 단계(327)에서, 데이터 처리 시스템은 현재 프레임에 대한 컬러 분포를 결정할 수 있다. 단계(328)에서, 데이터 처리 시스템은 컬러 분포에 기초하여 프레임에 대한 스코어를 계산할 수 있다.
계속해서, 단계(330)에서, 데이터 처리 시스템은 단계(320, 323, 326 및 328)에서 계산된 각각의 스코어에 대한 가중치를 식별할 수 있다. 단계(332)에서, 데이터 처리 시스템은 상기 스코어들 및 각 스코어에 대한 식별된 가중치에 기초하여 프레임에 대한 합 스코어를 계산할 수 있다. 단계(334)에서, 데이터 처리 시스템은 샘플링된 세트에 잔여 프레임이 더 있는지 여부를 결정할 수 있다. 만약 샘플링된 세트에 잔여 프레임이 남아 있으면, 단계(336)에서, 데이터 처리 시스템은 분석을 위해 다음 프레임을 식별하여, 단계(318-336)에 대한 기능을 반복할 수 있다.
이제 도 3c를 참조하면, 샘플링된 세트에 잔여 프레임이 더 이상 없으면, 단계 338에서, 데이터 처리 시스템은 초기 윈도우에서 프레임들에 대한 합 스코어를 계산할 수 있다. 단계(340)에서, 데이터 처리 시스템은 후속 윈도우에서 프레임들에 대한 합 스코어를 계산할 수 있다. 단계(342)에서, 데이터 처리 시스템은 현재 합 스코어를 이전의 높은 합 스코어와 비교할 수 있다. 만약 현재 합 스코어가 이전의 높은 합 스코어보다 크면, 단계(344)에서, 데이터 처리 시스템은 현재 윈도우 내의 프레임들의 세브 세트를 최고 합 스코어에 해당하는 것으로 설정할 수 있다. 만약 현재 합 스코어가 이전의 높은 합 스코어보다 작으면, 단계(346)에서, 데이터 처리 시스템은 이전에 식별된 윈도우 내의 프레임들의 서브 세트를 최고 합 스코어에 해당하는 것으로 유지할 수 있다. 단계(348)에서, 데이터 처리 시스템은 샘플링된 세트에 잔여 프레임이 더 있는지 여부를 결정할 수 있다. 만약 샘플링된 세트에 잔여 프레임이 더 남아 있으면, 단계(350)에서, 데이터 처리 시스템은 샘플링된 세트내의 프레임들의 다음 서브 세트로 윈도우를 슬라이드시킬 수 있다. 만약 샘플링된 세트에 더 이상 잔여 프레임이 없으면, 단계(352)에서, 데이터 처리 시스템은 결정된 상기 샘플링된 세트 내의 프레임들의 서브 세트를 최고 합 스코어에 대응하는 것으로 식별할 수 있다.
도 3d를 계속해서 참조하면, 단계(354)에서, 데이터 처리 시스템은 최고 합 스코어에 대응하는 것으로 식별된 상기 샘플링된 세트 내의 프레임들의 서브 세트에 대응하는 오리지널 비디오 컨텐츠 요소의 프레임들의 서브 세트를 식별할 수 있다. 단계(356)에서, 데이터 처리 시스템은 오리지널 비디오 컨텐츠 요소 내의 초기 프레임의 픽셀 특성을 식별할 수 있다. 단계(358)에서, 데이터 처리 시스템은 오리지널 비디오 컨텐츠 요소내의 다음 프레임의 픽셀 특성을 식별할 수 있다. 처음에, 데이터 처리 시스템은 오리지널 비디오 컨텐츠의 프레임들의 샷 경계를 식별하면서 상기 초기 프레임으로부터 오리지널 비디오 컨텐츠 요소의 프레임들의 식별된 서브 세트를 횡단할 수 있다. 단계(360)에서, 데이터 처리 시스템은 상기 2개의 프레임 사이의 픽셀 특성의 차이를 계산할 수 있다.
단계(362)에서, 데이터 처리 시스템은 픽셀 특성의 차이가 임계치보다 큰지를 결정할 수 있다. 만약 픽셀 특성의 차이가 임계치보다 크면, 단계 364에서, 데이터 처리 시스템은 현재 프레임을 샷 경계로서 식별할 수 있다. 단계(366)에서, 데이터 처리 시스템은 상기 식별된 샷 경계가 초기 또는 최종 샷 경계인지 여부를 결정할 수 있다. 만약 샷 경계가 처음으로 검출되면, 데이터 처리 시스템은 검출된 샷 경계를 초기 샷 경계로 식별할 수 있다. 만약 샷 경계가 초기 샷 경계이면, 단계(368)에서, 데이터 처리 시스템은 샷 경계 이전의 프레임들을 절단할 수 있다. 단계(370)에서, 데이터 처리 시스템은 오리지널 비디오 컨텐츠 요소의 프레임들의 서브 세트의 최종 프레임의 픽셀 특성을 식별할 수 있다. 단계(358-366 및 374)를 반복할 때, 데이터 처리 시스템은 최종 프레임으로부터 오리지널 비디오 컨텐츠 요소의 프레임들의 서브 세트를 횡단할 수 있다. 만약 샷 경계가 최종 샷 경계이면, 단계(372)에서, 데이터 처리 시스템은 그 샷 경계에 후속하는 프레임들을 절단할 수 있다. 단계(374)에서, 데이터 처리 시스템은 오리지널 비디오 컨텐츠 요소 내에 잔여 프레임이 더 있는지 여부를 결정할 수 있다. 만약 잔여 프레임이 남아 있으면, 데이터 처리 시스템은 단계(358-372)의 기능을 반복할 수 있다. 만약 잔여 프레임이 더 이상 남아 있지 않으면, 단계(376)에서, 데이터 처리 시스템은 잔여 프레임을 상기 요약된 비디오 컨텐츠 요소로 설정할 수 있다.
마지막으로 도 3e를 참조하면, 단계(378)에서, 데이터 처리 시스템은 요약된 비디오 컨텐츠 요소에 포함되지 않은 잔여 프레임을 오리지널 비디오 컨텐츠 요소로부터 식별할 수 있다. 단계(380)에서, 데이터 처리 시스템은 제외된 프레임 세트로부터 초기 프레임을 식별할 수 있다. 단계(382)에서, 데이터 처리 시스템은 이미지 인식 알고리즘을 사용하여 현재 프레임으로부터 객체를 식별할 수 있다. 단계(384)에서, 데이터 처리 시스템은 식별된 객체가 사전 지정된 객체와 매칭되는지 여부를 결정할 수 있다.
만약 검출된 객체가 사전 지정된 객체와 매칭되면, 단계(836)에서, 데이터 처리 시스템은 현재의 프레임이 이전에 저장된 프레임과 연속적인지 여부를 결정할 수 있다. 만약 현재의 프레임이 이전에 저장된 프레임과 연속하지 않으면, 단계(388)에서, 데이터 처리 시스템은 새로운 별도 세트를 생성할 수 있다. 임의의 경우에, 단계(390)에서, 데이터 처리 시스템은 별도 세트에 프레임을 저장할 수 있다. 단계(392)에서, 데이터 처리 시스템은 오리지널 비디오 컨텐츠 요소 내에 잔여 프레임이 더 있는지 여부를 결정할 수 있다. 만약 잔여 프레임이 남아 있으면, 데이터 처리 시스템은 요약된 비디오 컨텐츠 요소로부터 제외된 프레임 세트로부터 다음 프레임을 식별하여, 단계(382-392)의 기능을 반복할 수 있다. 만약 잔여 프레임이 더 이상 남아 있지 않으면, 단계(396)에서, 데이터 처리 시스템은 상기 저장된 세트의 프레임들을 상기 요약된 비디오 컨텐츠 요소에 연결시킬 수 있다.
도 4는 일부 구현예에 따라 본 명세서에서 논의된 임의의 컴퓨터 시스템(시스템(200) 및 그의 비디오 액세서(210), 다운-샘플러(215), 하나 이상의 프레임 평가기(220), 스코어 결합기(250), 프레임 선택기(255), 장면 경계 절단기(260) 및 프레임 연결기(265)와 같은 구성 요소를 포함하는)을 구현하기 위해 채용될 수 있는 예시적인 컴퓨터 시스템(400)의 일반적인 아키텍처를 도시한다. 컴퓨터 시스템(400)은 디스플레이를 위해 네트워크(430)를 통해 정보를 제공하는데 사용될 수 있다. 도 4의 컴퓨터 시스템(400)은 메모리(425), 하나 이상의 통신 인터페이스(405) 및 하나 이상의 출력 디바이스(410)(예를 들어, 하나 이상의 디스플레이 유닛) 및 하나 이상의 입력 디바이스(415)에 통신 가능하게 결합된 하나 이상의 프로세서(420)를 포함한다. 프로세서(420)는 데이터 처리 시스템(200) 및 그의 비디오 액세서(210), 다운-샘플러(215), 하나 이상의 프레임 평가기(220), 스코어 결합기(250), 프레임 선택기(255), 장면 경계 절단기(260) 및 프레임 연결기(265)와 같은 구성 요소에 포함될 수 있다. 프로세서(420)는 특히 비디오 액세서(210), 다운-샘플러(215), 하나 이상의 프레임 평가기(220), 스코어 결합기(250), 프레임 선택기(255), 장면 경계 절단기(260) 및 프레임 연결기(265)에 포함될 수도 있다.
도 4의 컴퓨터 시스템(400)에서, 메모리(425)는 임의의 컴퓨터-판독 가능 저장 매체를 포함할 수 있으며, 각각의 시스템에 대해 본 명세서에 기술된 다양한 기능뿐만 아니라 그에 관련된, 그에 의해 생성된 또는 (있는 경우) 통신 인터페이스(들) 또는 입력 디바이스(들)를 통해 수신된 임의의 데이터를 구현하기 위한 프로세서-실행 가능 명령들과 같은 컴퓨터 명령들을 저장할 수 있다. 데이터 처리 시스템(200)의 맥락에서, 메모리(425)는 상기 프로세서(420)에 의해 처리될 비디오 액세서(210), 다운-샘플러(215), 하나 이상의 프레임 평가기(220), 스코어 결합기(250), 프레임 선택기(255), 장면 경계 절단기 260) 및 프레임 연결기(265)에 대한 명령들을 포함할 수 있다. 메모리(425)는 또한 비디오 컨텐츠 데이터베이스(205), 샘플 이미지 데이터베이스(230) 및 요약 비디오 데이터베이스(270)를 포함할 수 있다. 도 4에 도시된 프로세서(들)(420)는 메모리(425)에 저장된 명령들을 실행하는데 사용될 수 있고, 그렇게함으로써 명령들의 실행에 따라 처리 및/또는 생성된 다양한 정보를 메모리로부터 판독하거나 메모리에 기록할 수 있다.
도 4에 도시된 컴퓨터 시스템(400)의 프로세서(420)는 또한 명령들의 실행에 따라 다양한 정보를 송신 또는 수신하기 위해 통신 인터페이스(들)(405)에 통신 가능하게 결합되거나 그를 제어할 수 있다. 예를 들어, 통신 인터페이스(들)(405)는 유선 또는 무선 네트워크, 버스, 또는 다른 통신 수단에 결합될 수 있고, 따라서 컴퓨터 시스템(400)이 다른 디바이스(예를 들어, 다른 컴퓨터 시스템들)로 정보를 전송하거나 그로부터 정보를 수신하도록 할 수 있다. 도 2의 시스템에 명시적으로 도시되지는 않았지만, 하나 이상의 통신 인터페이스는 시스템(400)의 구성 요소들 간의 정보 흐름을 용이하게 한다. 일부 구현예에서, 통신 인터페이스(들)는 컴퓨터 시스템(400)의 적어도 일부 양태에 대한 액세스 포털로서 웹 사이트를 제공하도록(예를 들어, 다양한 하드웨어 구성 요소 또는 소프트웨어 구성 요소를 통해) 구성될 수 있다. 통신 인터페이스(405)의 예는 사용자가 데이터 처리 시스템(200)과 통신할 수 있는 사용자 인터페이스(예를 들어, 웹 페이지)를 포함한다.
메모리(425)는 프로세서에 의해 실행될 때, 그 프로세서로 하여금 본 명세서 설명된 하나 이상의 동작을 수행하게 하는 프로세서-실행 가능 명령들을 저장할 수 있다. 프로세서(420)는 마이크로 프로세서, 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA) 또는 이들의 조합을 포함할 수 있다. 메모리는 이에 한정되지는 않지만 전자, 광학, 자기 또는 프로세서에 프로그램 명령을 제공할 수 있는 임의의 다른 저장 디바이스 또는 전송 디바이스를 포함할 수 있다. 메모리(425)는 플로피 디스크, CD-ROM, DVD, 자기 디스크, 메모리 칩, ASIC, FPGA, ROM, RAM, EEPROM, EPROM, 플래시 메모리, 광 매체, 또는 프로세서가 명령들을 판독할 수 있는 임의의 다른 적절한 메모리를 더 포함할 수 있다. 상기 명령들은 데이터 처리 시스템(200)의 구성 요소(예를 들어, 비디오 액세서(210), 다운-샘플러(215), 하나 이상의 프레임 평가기(220), 스코어 결합기(250), 프레임 선택기(255), 장면 경계 절단기(260) 및 프레임 연결기(265))와 같은 임의의 적절한 컴퓨터-프로그래밍 언어로부터의 코드를 포함할 수 있다.
도 4에 도시된 컴퓨터 시스템(400)의 출력 디바이스(410)는, 예를 들어 다양한 정보가 명령의 실행과 관련하여 보여지거나 감지될 수 있도록 제공될 수 있다. 입력 디바이스(들)(415)는 예를 들어, 사용자가 명령의 실행 동안 수동 조정하거나, 선택하거나, 데이터를 입력하거나, 프로세서와 다양한 방식으로 상호 작용할 수 있도록 제공될 수 있다. 본 명세서 논의된 다양한 시스템에 사용될 수 있는 일반적인 컴퓨터 시스템 아키텍처에 관한 추가 정보가 본 명세서에서 더 제공된다.
네트워크(430)는 인터넷, 로컬, 와이드, 메트로 또는 다른 영역 네트워크, 인트라넷, 위성 네트워크, 음성 또는 데이터 이동 전화 통신 네트워크와 같은 다른 컴퓨터 네트워크, 및 이들의 조합과 같은 컴퓨터 네트워크를 포함할 수 있다. 데이터 처리 시스템(200)은 네트워크(430)를 통해 하나 이상의 클라이언트 디바이스, 컨텐츠 제공자 서버 및/또는 컨텐츠 발행자 서버와 같은 다른 디바이스와 통신할 수 있다. 네트워크(430)는 데이터 처리 시스템(200), 클라이언트 디바이스, 컨텐츠 제공자 서버 및/또는 컨텐츠 발행자 서버간에 정보를 중계하는 임의의 형태의 컴퓨터 네트워크일 수 있다. 예를 들어, 네트워크(430)는 근거리 통신망(LAN), 광역 통신망(WAN), 셀룰러 네트워크, 위성 네트워크 또는 다른 유형의 데이터 네트워크와 같은 인터넷 및/또는 다른 유형의 데이터 네트워크를 포함할 수 있다. 네트워크(430)는 또한 네트워크(430) 내에서 데이터를 수신 및/또는 송신하도록 구성된 임의의 수의 컴퓨팅 디바이스(예를 들어, 컴퓨터, 서버, 라우터, 네트워크 스위치 등)를 포함할 수 있다. 네트워크(430)는 임의의 수의 고정 배선(hardwired) 및/또는 무선 접속을 더 포함할 수 있다. 예를 들어, 클라이언트 디바이스는 네트워크(430)의 다른 컴퓨팅 디바이스에 (예를 들어, 광섬유 케이블, CAT5 케이블 등을 통해) 고정 배선된 송수신기와 (예를 들어, WiFi, 셀룰러, 라디오 등을 통해) 무선으로 통신할 수 있다.
본 명세서에 기술된 주제 및 동작은 본 명세서에 개시된 구조 및 그의 구조적 등가물 또는 그의 하나 이상의 조합을 포함하여, 디지털 전자 회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수 있다. 본 명세서에 기술된 주제의 구현은 하나 이상의 컴퓨터 프로그램, 즉 데이터 처리 장치에 의한 실행을 위해 또는 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 저장 매체상에 인코딩된 컴퓨터 프로그램 명령들의 하나 이상의 모듈로서 구현될 수 있다. 상기 프로그램 명령들은 데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치로의 전송을 위해 정보를 인코딩하기 위해 생성된 인위적으로 생성된 전파 신호, 예를 들어, 기계-생성의 전기, 광학 또는 전자기 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터판독 가능 저장 디바이스, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스, 또는 이들 중 하나 이상의 조합일 수 있거나 이를 포함될 수 있다. 또한, 컴퓨터 저장 매체는 전파 신호는 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호로 인코딩된 컴퓨터 프로그램 명령들의 소스 또는 목적지를 포함할 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별 물리적 구성 요소 또는 매체(예컨대, 다수의 CD, 디스크 또는 다른 저장 디바이스)일 수 있거나 이를 포함될 수 있다.
본 명세서에 개시된 특징은 스마트 텔레비전 모듈(또는 텔레비전 모듈, 하이브리드 텔레비전 모듈 등에 연결된)에 구현될 수 있으며, 인터넷 접속을 보다 전통적인 텔레비전 프로그래밍 소스(예를 들어, 케이블, 위성, 무선, 또는 다른 신호들을 통해 수신된)과 통합하도록 구성된 처리 모듈을 포함할 수 있다. 스마트 텔레비전 모듈은 텔레비전 세트에 물리적으로 통합될 수 있거나 셋톱 박스, 블루 레이 또는 다른 디지털 미디어 플레이어, 게임 콘솔, 호텔 텔레비전 시스템 및 다른 동반 디바이스와 같은 별도 디바이스를 포함할 수 있다. 스마트 TV 모듈은 시청자가 웹, 로컬 케이블 TV 채널, 위성 TV 채널상의 또는 로컬 하드 드라이브에 저장된 비디오, 영화, 사진 및 기타 컨텐츠를 검색하고 찾을 수 있도록 구성될 수 있다. 셋톱 박스(STB) 또는 셋톱 유닛(STU)은 튜너를 포함할 수 있고, 신호를 컨텐츠로 변환한 다음 이를 텔레비전 스크린 또는 다른 디스플레이 디바이스에 디스플레이하는 텔레비전 세트 및 외부 신호 소스에 연결될 수 있는 정보 기기 디바이스를 포함할 수 있다. 스마트 텔레비전 모듈은 웹 브라우저 및 복수의 스트리밍 미디어 서비스, 연결된 케이블 또는 위성 미디어 소스, 다른 웹 "채널"등과 같은 복수의 상이한 애플리케이션에 대한 아이콘들을 포함하는 홈 스크린 또는 최상위 수준 스크린을 제공하도록 구성될 수 있다. 스마트 텔레비전 모듈은 사용자에게 전자 프로그래밍 가이드를 제공하도록 더 구성될 수 있다. 스마트 텔레비전 모듈에 대한 동반 어플리케이션은 모바일 컴퓨팅 디바이스에서 동작 가능하여, 사용자가 스마트 텔레비전 모듈을 제어할 수 있도록 이용 가능한 프로그램에 관한 부가 정보를 사용자에게 제공할 수 있다. 다른 구현예에서, 상기 특징들은 랩탑 컴퓨터 또는 다른 개인용 컴퓨터, 스마트폰, 다른 모바일 전화기, 핸드헬드 컴퓨터, 태블릿 PC, 또는 다른 컴퓨팅 디바이스 상에 구현될 수 있다.
본 명세서에서 기술된 동작은 하나 이상의 컴퓨터-판독 가능 저장 디바이스에 저장되거나 다른 소스로부터 수신된 데이터에 대해 데이터 처리 디바이스에 의해 수행되는 동작으로서 구현될 수 있다.
"데이터 처리 장치","데이터 처리 시스템","사용자 디바이스" 또는 "컴퓨팅 디바이스"라는 용어는 예를 들어 프로그램 가능 프로세서, 컴퓨터, 칩상의 시스템, 또는 이들의 다수 또는 이들의 조합을 포함하여, 데이터를 처리하기 위한 모든 종류의 장치, 디바이스 및 기계를 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그램머블 게이트 어레이) 또는 ASIC(주문형 집적 회로)을 포함할 수 있다. 상기 장치는 하드웨어 이외에, 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임 환경, 가상 머신 또는 이들 중 하나 이상의 조합을 구성하는 코드를 또한 포함할 수 있다. 상기 장치 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 상이한 컴퓨팅 모델 인프라를 실현할 수 있다. 비디오 액세서(210), 다운-샘플러(215), 하나 이상의 프레임 평가기(220), 스코어 결합기(250), 프레임 선택기(255), 장면 경계 절단기(260) 및 프레임 연결기는 데이터 처리 시스템(200)의 하나 이상의 컴퓨팅 디바이스 또는 프로세서(예를 들어, 프로세서(420))를 포함하거나 공유할 수 있다
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드로도 알려진)은 컴파일된 또는 해석된 언어, 선언적 또는 절차적 언어를 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램이나 모듈, 구성 요소, 서브 루틴, 객체, 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛을 포함하여 임의의 형태로 배치될 수 있다. 프로그램은 다른 프로그램 또는 데이터(예컨대, 마크-업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하고 있는 파일의 일부에, 문제의 프로그램에 전용된 단일 파일에 또는 다수의 조정 파일(예컨대, 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치하거나 다수의 사이트에 분산되고 통신 네트워크(430)에 의해 상호 접속된 다수의 컴퓨터상에서 실행되도록 배치될 수 있다.
본 명세서에서 설명되는 프로세스 및 논리 흐름은 입력 데이터를 조작하여 출력을 생성함으로써 동작들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 FPGA 또는 ASIC과 같은 특수 목적의 논리 회로에 의해 수행될 수 있고, 장치는 또한 특수 목적의 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적 마이크로 프로세서와 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령 및 데이터를 수신할 것이다. 컴퓨터의 필수 구성 요소는 명령에 따라 동작들을 수행하는 프로세서와 명령 및 데이터를 저장하는 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터(예를 들어, 자기, 광 자기 디스크 또는 광 디스크)를 저장하기 위해 하나 이상의 대용량 저장 디바이스로부터 데이터를 수신하거나 데이터를 전송하거나 또는 둘 모두를 수행하도록 동작 가능하게 결합되거나 이들을 포함할 것이다. 그러나, 컴퓨터에는 이러한 디바이스들이 있을 필요가 없다. 또한, 컴퓨터는 예를 들어 모바일 전화기, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 위성 위치 확인 시스템(GPS) 수신기 또는 휴대용 저장 디바이스(예를 들어, USB 플래시 드라이브)와 같은 다른 디바이스에 내장될 수 있다. 컴퓨터 프로그램 명령 및 데이터 저장에 적합한 디바이스들은 예를 들어 반도체 메모리 디바이스(예컨대, EPROM, EEPROM 및 플래시 메모리 디바이스); 자기 디스크(에컨대, 내부 하드 디스크 또는 이동식 디스크); 광 자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함하는, 모든 형태의 비 휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 상기 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보완되거나 또는 그 안에 포함될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 기술된 주제의 구현예는 사용자에게 정보를 디스플레이하기 위한 CRT(음극선 관), 플라즈마, 또는 LCD(액정 디스플레이) 모니터와 같은 디스플레이 디바이스, 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼과 같은 키보드 및 포인팅 디바이스를 갖는 컴퓨터상에서 구현될 수 있다. 다른 종류의 디바이스가 사용자와의 상호 작용을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백을 포함할 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하여 임의의 형태로 수신될 수 있다. 게다가, 컴퓨터는 사용자가 사용하는 디바이스와 문서를 송수신함으로써 사용자와 상호 작용할 수 있는데, 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 사용자의 클라이언트 디바이스상의 웹 브라우저에 웹 페이지를 전송함으로써 수행될 수 있다.
본 명세서에 기술된 주제의 구현예는 백-엔드 구성 요소(예컨대, 데이터 서버)를 포함하거나, 미들웨어 구성 요소(예컨대, 애플리케이션 서버)를 포함하거나, 프론트-엔드 구성 요소(예를 들어, 그래픽 사용자 인터페이스 또는 사용자가 본 명세서에 기술된 주제의 구현과 상호 작용할 수 있는 웹 브라우저를 갖는 클라이언트 컴퓨터), 또는 백-엔드, 미들웨어 또는 프런트-엔드 구성 요소 중 하나 이상의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 구성 요소는 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호 접속될 수 있다. 통신 네트워크의 예는 로컬 영역 네트워크(LAN) 및 광역 네트워크("WAN"), 네트워크 간(예컨대, 인터넷), 피어 투 피어 네트워크(예컨대, 애드혹 피어 투 피어 네트워크)를 포함한다.
시스템(400) 또는 시스템(200)과 같은 컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 예를 들어, 데이터 처리 시스템(200)은 하나 이상의 데이터 센터 또는 서버 팜에 하나 이상의 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 일부 구현예에서, 서버는 (예를 들어, 클라이언트 디바이스와 상호 작용하는 사용자에게 데이터를 디스플레이하고 사용자 입력을 수신하기 위한 목적으로) 클라이언트 디바이스로 데이터(예를 들어, HTML 페이지)를 전송한다. 클라이언트 디바이스에서 생성된 데이터(예를 들어, 사용자 상호 작용의 결과)는 서버의 클라이언트 디바이스로부터 수신될 수 있다.
본 명세서는 다수의 특정 구현 세부 사항을 포함하지만, 이들은 임의의 발명 또는 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 본 명세서 기술된 시스템 및 방법의 특정 구현예에 특정된 특징들에 대한 설명으로 해석되어야 한다. 별도의 구현예의 맥락으로 본 명세서에 기술된 소정 특징들은 또한 단일 구현예로 조합하여 구현될 수 있다. 반대로, 단일 구현예의 맥락으로 기술된 다양한 특징은 또한 다수의 구현예에서 개별적으로 또는 임의의 적절한 서브 조합으로 구현될 수 있다. 더욱이, 특징들은 특정 조합으로 작용하는 것으로 위에서 설명되고, 심지어 처음에는 그러한 것으로서 청구될지더라도, 어떤 경우 청구된 조합으로부터 하나 이상의 특징이 제거될 수 있고, 상기 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 유도될 수 있다.
유사하게, 동작들이 도면에 특정 순서로 도시되어 있지만, 이는 바람직한 동작을 달성하기 위해 이러한 동작들이 도시된 순서 또는 순차적인 순서로 수행되거나 도시된 모든 동작이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 경우에 따라 청구 범위에 인용된 동작들은 다른 순서로 수행되어 여전히 바람직한 결과를 얻을 수 있다. 또한, 첨부된 도면에 도시된 프로세스는 바람직한 결과를 얻기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 필요로 하지는 않는다.
소정 상황에서는, 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 또한, 상술한 구현예에서 다양한 시스템 구성 요소의 분리는 모든 구현예에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 기술된 프로그램 구성 요소 및 시스템은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품으로 패키징될 수 있다는 것을 이해해야 한다. 예를 들어, 비디오 액세서(210), 다운-샘플러(215), 하나 이상의 프레임 평가기(220), 스코어 결합기(250), 프레임 선택기(255), 장면 경계 절단기(260) 및 프레임 연결기(265)는 데이터 처리 시스템 (200)의 일부, 단일 모듈, 하나 이상의 처리 모듈들을 갖는 논리 디바이스, 하나 이상의 서버 또는 검색 엔진의 일부일 수 있다.
따라서, 본 명세서에서 논의된 시스템 및 방법은 비디오 컨텐츠의 요약을 자동으로 생성 또는 추출하기 위해 제공되어, 전체 컨텐츠의 전달에 필요한 매우 적인 대역폭 및 처리 전력으로 클라이언트 디바이스에 신속하고 효율적으로 제공될 수 있다. 본 명세서에서 논의된 적어도 하나의 양태는 비디오 컨텐츠의 요약을 자동으로 추출하는 방법에 관한 것이다. 데이터 처리 시스템은 비디오 데이터베이스로부터 제1 복수의 프레임을 포함하는 제1 비디오 컨텐츠 요소를 액세스할 수 있다. 데이터 처리 시스템은 제1 비디오 컨텐츠 요소의 제1 복수의 프레임의 인터벌 서브 세트를 선택할 수 있다. 데이터 처리 시스템은 인터벌 서브 세트로부터 사전 결정된 수의 프레임을 포함하는 복수의 추가 서브 세트 각각에 대해, 추가 서브 세트에 대한 스코어를 계산할 수 있다. 데이터 처리 시스템은 복수의 추가 서브 세트로부터, 최고 스코어를 갖는 추가 서브 세트를 식별할 수 있다. 데이터 처리 시스템은 최고 스코어를 갖는 추가 서브 세트의 프레임들을 포함하는 제1 비디오 컨텐츠 요소의 부분을 선택할 수 있다. 데이터 처리 시스템은 제1 비디오 컨텐츠 요소의 상기 선택된 부분을 포함하는 제2 비디오 컨텐츠 요소를 생성할 수 있다.
일부 구현예에서, 추가 서브 세트에 대한 스코어를 계산하는 단계는 추가 서브 세트와 포지티브 샘플링된 이미지 세트 간의 제1 거리 메트릭을 계산하는 단계를 더 포함할 수 있다. 일부 구현예에서, 추가 서브 세트에 대한 스코어를 계산하는 단계는 추가 서브 세트와 네거티브 샘플링된 이미지 세트 간의 제2 거리 메트릭을 계산하는 단계를 더 포함할 수 있다. 일부 구현예에서, 추가 서브 세트에 대한 스코어를 계산하는 단계는 제1 거리 메트릭과 제2 거리 메트릭의 조합에 기초하여 추가 서브 세트에 대한 스코어를 계산하는 단계를 더 포함할 수 있다.
일부 구현예에서, 추가 서브 세트에 대한 스코어를 계산하는 단계는 이미지 인식 알고리즘을 사용하여, 추가 서브 세트로부터 객체를 검출하는 단계를 더 포함할 수 있다. 일부 구현예에서, 추가 서브 세트에 대한 스코어를 계산하는 단계는 이미지 인식 알고리즘을 사용하여, 추가 서브 세트로부터 검출된 객체의 하나 이상의 특성을 식별하는 단계를 더 포함할 수 있다. 일부 구현예에서, 추가 서브 세트에 대한 스코어를 계산하는 단계는 객체로부터 식별된 하나 이상의 특성에 기초하여 추가 서브 세트에 대한 스코어를 계산하는 단계를 더 포함할 수 있다.
일부 구현예에서, 추가 서브 세트에 대한 스코어를 계산하는 단계는 추가 서브 세트의 각각의 프레임 사이에서, 상기 2개의 대응하는 프레임에 모션 검출 알고리즘을 적용하여 모션 메트릭을 계산하는 단계를 더 포함할 수 있다. 일부 구현예에서, 추가 서브 세트에 대한 스코어를 계산하는 단계는 추가 서브 세트의 각각의 프레임 사이에서 계산된 모션 메트릭들의 세트에 기초하여 추가 서브 세트에 대한 스코어를 계산하는 단계를 더 포함할 수 있다.
일부 구현예에서, 추가 서브 세트에 대한 스코어를 계산하는 단계는 추가 서브 세트의 프레임들에 대한 복수의 픽셀 사이의 컬러 분포를 결정하는 단계를 더 포함할 수 있다. 일부 구현예에서, 추가 서브 세트에 대한 스코어를 계산하는 단계는 추가 서브 세트의 프레임들에 대한 복수의 픽셀 사이의 컬러 분포에 기초하여 추가 서브 세트에 대한 스코어를 계산하는 단계를 더 포함할 수 있다.
일부 구현예에서, 추가 서브 세트에 대한 스코어를 계산하는 단계는 복수의 추가 서브 세트 각각에 대해, 추가 서브 세트의 프레임들에 대해 대응하는 수의 이미지 분석 알고리즘을 적용하여 복수의 스코어를 계산하는 단계를 더 포함할 수 ㅇ있다. 일부 구현예에서, 추가 서브 세트에 대한 스코어를 계산하는 단계는 복수의 스코어의 사전 결정된 가중 평균에 기초하여 스코어를 계산하는 단계를 더 포함할 수 있다.
일부 구현예에서, 제1 비디오 컨텐츠 요소의 부분을 선택하는 단계는 최고 스코어를 갖는 추가 서브 세트의 제2 초기 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 초기 프레임을 식별하는 단계를 더 포함할 수 있다. 일부 구현예에서, 제1 비디오 컨텐츠 요소의 부분을 선택하는 단계는 최고 스코어를 갖는 추가 서브 세트의 제2 최종 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 최종 프레임을 식별하는 단계를 더 포함할 수 있다. 일부 구현예에서, 제1 비디오 컨텐츠 요소의 부분을 선택하는 단계는 제1 초기 프레임부터 제1 최종 프레임까지 제1 비디오 컨텐츠 요소의 프레임들의 서브셋을 선택하는 단계를 더 포함할 수 있다.
일부 구현예에서, 제2 비디오 컨텐츠 요소를 생성하는 단계는 프레임들 사이의 제1 컬러 변화에 기초하여 제1 비디오 컨텐츠 요소의 상기 부분에 대응하는 프레임들 중에서 초기 샷 경계 프레임을 검출하는 단계를 더 포함할 수 있다. 일부 구현예에서, 제2 비디오 컨텐츠 요소를 생성하는 단계는 프레임들 사이의 제2 컬러 변화에 기초하여 제1 비디오 컨텐츠 요소의 상기 부분에 대응하는 프레임들 중에서 최종 샷 경계 프레임을 검출하는 단계를 더 포함할 수 있다. 상기 제2 컬러 변화는 제1 컬러 변화에 후속한다. 일부 구현예에서, 제2 비디오 컨텐츠 요소를 생성하는 단계는 상기 부분의 초기 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 서브-부분을 초기 샷 경계 프레임으로 절단하는 단계를 더 포함할 수 있다. 일부 구현예에서, 제2 비디오 컨텐츠 요소를 생성하는 단계는 상기 최종 샷 경계 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제2 서브-부분을 상기 부분의 최종 프레임으로 절단하는 단계를 더 포함할 수 있다.
일부 구현예에서, 추가 서브 세트에 대한 스코어를 계산하는 단계는 하나의 프레임을 포함하는 추가 서브 세트에 대한 스코어를 계산하는 단계를 더 포함할 수 있다. 일부 구현예에서, 제2 비디오 컨텐츠 요소를 생성하는 단계는 복수의 프레임으로부터 하나의 프레임을 포함하는 제2 비디오 컨텐츠 요소를 생성하는 단계를 더 포함할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 이미지 인식 알고리즘을 사용하여 제1 복수의 프레임으로부터 객체를 포함하는 연속적인 프레임들의 제2 서브 세트를 식별할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 연속적인 프레임들의 제2 서브 세트를 제2 비디오 컨텐츠 요소에 연결(concatenate)할 수 있다.
적어도 하나의 양태는 비디오 컨텐츠의 요약을 자동으로 추출하는 시스템에 관한 것이다. 시스템은 데이터 처리 시스템을 포함할 수 있다. 데이터 처리 시스템은 하나 이상의 프로세서 및 메모리를 가질 수 있다. 데이터 처리 시스템은 비디오 데이터베이스로부터, 제1 복수의 프레임을 포함하는 제1 비디오 컨텐츠 요소를 액세스할 수 있다. 데이터 처리 시스템은 제1 비디오 컨텐츠 요소의 제1 복수의 프레임의 인터벌 서브 세트를 선택할 수 있다. 데이터 처리 시스템은 인터벌 서브 세트로부터 사전 결정된 수의 프레임을 포함하는 복수의 추가 서브 세트 각각에 대해, 추가 서브 세트에 대한 스코어를 계산할 수 있다. 데이터 처리 시스템은 복수의 추가 서브 세트로부터, 최고 스코어를 갖는 추가 서브 세트를 식별할 수 있다. 데이터 처리 시스템은 최고 스코어를 갖는 추가 서브 세트의 프레임들을 포함하는 제1 비디오 컨텐츠 요소의 부분을 선택할 수 있다. 데이터 처리 시스템은 제1 비디오 컨텐츠 요소의 상기 선택된 부분을 포함하는 제2 비디오 컨텐츠 요소를 생성할 수 있다.
일부 구현예에서, 데이터 처리 시스템은 추가 서브 세트와 포지티브 샘플링된 이미지 세트 간의 제1 거리 메트릭을 계산할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 추가 서브 세트와 네거티브 샘플링된 이미지 세트 간의 제2 거리 메트릭을 계산할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 제1 거리 메트릭 및 제2 거리 메트릭의 조합에 기초하여 추가 서브 세트에 대한 스코어를 계산할 수 있다.
일부 구현예에서, 데이터 처리 시스템은 이미지 인식 알고리즘을 사용하여, 추가 서브 세트로부터 객체를 검출할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 이미지 인식 알고리즘을 사용하여, 추가 서브 세트로부터 검출된 객체의 하나 이상의 특성을 식별할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 객체로부터 식별된 하나 이상의 특성에 기초하여 추가 서브 세트에 대한 스코어를 계산할 수 있다.
일부 구현예에서, 데이터 처리 시스템은 추가 서브 세트의 각각의 프레임 사이에서, 상기 2개의 대응하는 프레임에 모션 검출 알고리즘을 적용하여 모션 메트릭을 계산할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 추가 서브 세트의 각각의 프레임 사이에서 계산된 모션 메트릭들의 세트에 기초하여 추가 서브 세트에 대한 스코어를 계산할 수 있다.
일부 구현예에서, 데이터 처리 시스템은 추가 서브 세트의 상기 프레임들에 대한 복수의 픽셀들 사이의 컬러 분포를 결정할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 추가 서브 세트의 상기 프레임에 대한 복수의 픽셀 사이의 컬러 분포에 기초하여 추가 서브 세트에 대한 스코어를 계산할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 복수의 추가 서브 세트 각각에 대해, 추가 서브 세트의 프레임들에 대해 대응하는 수의 이미지 분석 알고리즘을 적용하여 복수의 스코어를 계산할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 복수의 스코어의 사전 결정된 가중 평균에 기초하여 스코어를 계산할 수 있다.
일부 구현예에서, 데이터 처리 시스템은 최고 스코어를 갖는 추가 서브 세트의 제2 초기 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 초기 프레임을 식별할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 최고 스코어를 갖는 추가 서브 세트의 제2 최종 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 최종 프레임을 식별할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 제1 초기 프레임부터 제1 최종 프레임까지 제1 비디오 컨텐츠 요소의 프레임들의 서브셋을 선택할 수 있다.
일부 구현예에서, 데이터 처리 시스템은 프레임들 사이의 제1 컬러 변화에 기초하여 제1 비디오 컨텐츠 요소의 상기 부분에 대응하는 프레임들 중에서 초기 샷 경계 프레임을 검출할 수 있다. 프레임들 사이의 제2 컬러 변화에 기초하여 제1 비디오 컨텐츠 요소의 상기 부분에 대응하는 프레임들 중에서 최종 샷 경계 프레임을 검출할 수 있다. 상기 제2 컬러 변화는 제1 컬러 변화에 후속한다. 일부 구현예에서, 데이터 처리 시스템은 상기 부분의 초기 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 서브-부분을 상기 초기 샷 경계 프레임으로 절단할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 최종 샷 경계 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제2 서브-부분을 상기 부분의 최종 프레임으로 절단할 수 있다.
일부 구현예에서, 데이터 처리 시스템은 이미지 인식 알고리즘을 사용하여 제1 복수의 프레임으로부터 객체를 포함하는 연속적인 프레임들의 제2 서브 세트를 식별할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 연속적인 프레임들의 제2 서브 세트를 제2 비디오 컨텐츠 요소에 연결할 수 있다.
적어도 하나의 양태는 비디오 컨텐츠의 요약을 자동으로 추출하기 위한 명령들을 저장하는 비-일시적 컴퓨터 판독 가능 매체에 관한 것이다. 상기 명령들은 하나 이상의 프로세서에 의해 실행될 때 그 하나 이상의 프로세서로 하여금 동작들을 수행하도록 할 수 있다. 상기 동작들은 비디오 데이터베이스로부터, 제1 복수의 프레임을 포함하는 제1 비디오 컨텐츠 요소를 액세스하는 단계를 포함할 수 있다. 상기 동작들은 제1 비디오 컨텐츠 요소의 제1 복수의 프레임의 인터벌 서브 세트를 선택하는 단계를 포함할 수 있다. 상기 동작들은 인터벌 서브 세트로부터 사전 결정된 수의 프레임들을 포함하는 복수의 추가 서브 세트 각각에 대해, 추가 서브 세트에 대한 스코어를 계산하는 단계를 포함할 수 있다. 상기 동작들은 복수의 추가 서브 세트로부터, 최고 스코어를 갖는 추가 서브 세트를 식별하는 단계를 포함할 수 있다. 상기 동작들은 최고 스코어를 갖는 추가 서브 세트의 프레임들을 포함하는 제1 비디오 컨텐츠 요소의 부분을 선택하는 단계를 포함할 수 있다. 상기 동작들은 제1 비디오 컨텐츠 요소의 상기 선택된 부분을 포함하는 제2 비디오 컨텐츠 요소를 생성하는 단계를 포함할 수 있다.
이제 일부 예시적인 구현 및 구현예를 설명하였지만, 전술한 것은 예시적인 것으로 제한하려는 것은 아니며 예로서 제시되었음이 명백하다. 특히, 본 명세서에 제시된 많은 예들이 방법 동작 또는 시스템 요소의 특정 조합을 포함하지만, 그러한 동작 및 요소는 동일한 목적을 달성하기 위해 다른 방식으로 결합될 수 있다. 하나의 구현예와 관련하여 만 논의된 동작, 요소 및 특징은 다른 구현예 또는 구현예에서 유사한 역할로부터 배제되지 않는다.
본 명세서에서 사용된 어구 및 전문 용어는 설명의 목적을 위한 것이며 한정하는 것으로 간주되어서는 안된다. 본 발명에서 "포함하는(including)", "포함하는(comprising)", "갖는(having)", "포함하는(involving)", "로 특징화된 (characterized by)" "라고 특징화된(characterized in that" 및 그들의 변형을 사용하는 것은 이후에 열거된 아이템, 그 등가물 및 추가 아이템뿐만 아니라 이후에 열거된 아이템으로 구성된 대체 구현을 포괄하는 의미이다. 일 구현예에서, 본 명세서 기술된 시스템 및 방법은 설명된 요소, 동작 또는 구성 요소 중 하나, 하나 이상 또는 모두의 각각의 조합으로 구성된다.
본 명세서에서 단수로 언급된 시스템 및 방법의 구현예 또는 요소 또는 동작에 대한 임의의 참조는 또한 복수의 이들 요소를 포함하는 구현예를 포함할 수 있고, 본 발명에서 임의의 구현예 또는 요소 또는 동작에 대한 복수의 임의의 언급은 또한 단일 요소만 포함하는 구현예를 포함할 수 있다. 단수 또는 복수 형태의 언급은 현재 기술된 시스템 또는 방법, 그의 구성 요소, 동작 또는 요소를 단일 또는 복수 구성으로 제한하려는 것이 아니다. 임의의 정보, 동작 또는 요소에 기초한 임의의 동작 또는 요소에 대한 언급은 상기 동작 또는 요소가 임의의 정보, 동작 또는 요소에 적어도 부분적으로 기초하는 구현예를 포함할 수 있다.
본 명세서에 개시된 임의의 구현예는 임의의 다른 구현예와 결합될 수 있으며,"구현","일부 구현예","대안적인 구현예","다양한 구현예","하나의 구현예"등은 반드시 상호 배타적인 것은 아니며, 상기 구현예과 관련하여 기술된 특정 특징, 구조 또는 특성이 적어도 하나의 구현예에 포함될 수 있다는 것을 나타내도록 의도된다. 본 명세서에서 사용된 용어는 반드시 모두 동일한 구현을 지칭하는 것은 아니다. 임의의 구현예는 본 명세서 개시된 양태 및 구현예와 일관된 방식으로 다른 구현예와 포괄적으로 또는 독점적으로 결합될 수 있다.
"또는"에 대한 언급은 "또는"을 사용하여 기술된 임의의 용어가 기술된 용어 중 하나, 하나 이상 및 모두를 나타낼 수 있도록 포괄적인 것으로 해석될 수 있다.
도면, 상세한 설명 또는 임의의 청구 범위의 기술적 특징에 참조 부호가 뒤 따르는 경우, 그 참조 부호는 도면, 상세한 설명 및 청구 범위의 명료성을 증가시키기 위한 목적으로만 포함되었다. 따라서, 참조 부호 또는 그것의 부재는 임의의청구항 요소들의 범위에 대해 어떠한 제한 효과도 가지지 않는다.
본 명세서 설명된 시스템 및 방법은 그 특성을 벗어나지 않고 다른 특정 형태로 구체화될 수 있다. 본 명세서에서 제공되는 예들이 디스플레이를 위한 대화형 컨텐츠를 제공하는 것에 관한 것이지만, 본 명세서에 설명된 시스템 및 방법은 로그 데이터베이스에 포함된 데이터가 사용되어 컨텐츠에 대한 이전의 요청에 대응하는 데이터와 비교되고, 상기 데이터의 변경을 결정하는 것에 응답하여 상기 변경에 대한 크레디트를 나타내기 위한 하나 이상의 컨텐츠 요소를 식별하는 다른 환경에 적용될 수 있다. 전술한 구현예는 설명된 시스템 및 방법을 제한하기 보다는 예시적인 것이다. 따라서, 본 명세서에 설명된 시스템 및 방법의 범위는 전술한 설명보다는 첨부된 청구 범위에 의해 표시되며, 청구항과 등가의 의미 및 범위내에 있는 변경은 본 명세서 포함된다.

Claims (41)

  1. 비디오 컨텐츠의 요약을 자동으로 추출하는 방법으로서,
    데이터 처리 시스템에 의해, 비디오 데이터 베이스로부터, 제1 복수의 프레임을 포함하는 제1 비디오 컨텐츠 요소(element)를 액세스하는 단계와;
    상기 데이터 처리 시스템에 의해, 제1 비디오 컨텐츠 요소의 제1 복수의 프레임의 인터벌(intervallic) 서브 세트 선택하는 단계와;
    상기 데이터 처리 시스템에 의해, 인터벌 서브 세트로부터 사전 결정된 수의 프레임들을 포함하는 복수의 추가 서브 세트 각각에 대해, 추가 서브 세트에 대한 스코어를 계산하는 단계와;
    상기 데이터 처리 시스템에 의해, 복수의 추가 서브 세트로부터 최고 스코어를 갖는 추가 서브 세트를 식별하는 단계와;
    상기 데이터 처리 시스템에 의해, 최고 스코어를 갖는 추가 서브 세트의 프레임들을 포함하는 제1 비디오 컨텐츠 요소의 부분을 선택하는 단계와; 그리고
    상기 데이터 처리 시스템에 의해, 제1 비디오 컨텐츠 요소의 상기 선택된 부분을 포함하는 제2 비디오 컨텐츠 요소를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 추가 서브 세트에 대한 스코어를 계산하는 단계는,
    추가 서브 세트와 포지티브 샘플링된 이미지 세트 간의 제1 거리 메트릭을 계산하는 단계와;
    추가 서브 세트와 네거티브 샘플링된 이미지 세트 간의 제2 거리 메트릭을 계산하는 단계와; 그리고
    제1 거리 메트릭 및 제2 거리 메트릭의 조합에 기초하여 추가 서브 세트에 대한 스코어를 계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 추가 서브 세트에 대한 스코어를 계산하는 단계는,
    이미지 인식 알고리즘을 사용하여, 추가 서브 세트로부터 객체를 검출하는 단계와;
    상기 이미지 인식 알고리즘을 사용하여, 추가 서브 세트로부터 검출된 객체의 하나 이상의 특성을 식별하는 단계와; 그리고
    상기 객체로부터 식별된 하나 이상의 특성에 기초하여 추가 서브 세트에 대한 스코어를 계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 추가 서브 세트에 대한 스코어를 계산하는 단계는,
    추가 서브 세트의 각각의 프레임 사이에서, 상기 2개의 대응하는 프레임에 모션 검출 알고리즘을 적용하여 모션 메트릭을 계산하는 단계와; 그리고
    추가 서브 세트의 각각의 프레임 사이에서 계산된 모션 메트릭들의 세트에 기초하여 추가 서브 세트에 대한 스코어를 계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 선행하는 항들 중 어느 한 항에 있어서,
    상기 추가 서브 세트에 대한 스코어를 계산하는 단계는,
    추가 서브 세트의 프레임들에 대한 복수의 픽셀 사이의 컬러 분포를 결정하는 단계와; 그리고
    추가 서브 세트의 프레임들에 대한 복수의 픽셀 사이의 컬러 분포에 기초하여 추가 서브 세트에 대한 스코어를 계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 선행하는 항들 중 어느 한 항에 있어서,
    상기 추가 서브 세트에 대한 스코어를 계산하는 단계는,
    복수의 추가 서브 세트 각각에 대해, 추가 서브 세트의 프레임들에 대해 대응하는 수의 이미지 분석 알고리즘을 적용하여 복수의 스코어를 계산하는 단계와; 그리고
    복수의 스코어의 사전 결정된 가중 평균에 기초하여 스코어를 계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 선행하는 항들 중 어느 한 항에 있어서,
    상기 제1 비디오 컨텐츠 요소의 부분을 선택하는 단계는,
    최고 스코어를 갖는 추가 서브 세트의 제2 초기 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 초기 프레임을 식별하는 단계와;
    최고 스코어를 갖는 추가 서브 세트의 제2 최종 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 최종 프레임을 식별하는 단계와; 그리고
    제1 초기 프레임부터 제1 최종 프레임까지 제1 비디오 컨텐츠 요소의 프레임들의 서브셋을 선택하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 선행하는 항들 중 어느 한 항에 있어서,
    상기 제2 비디오 컨텐츠 요소를 생성하는 단계는,
    상기 프레임들 사이의 제1 컬러 변화에 기초하여 제1 비디오 컨텐츠 요소의 상기 부분에 대응하는 프레임들 중에서 초기 샷 경계 프레임을 검출하는 단계와;
    상기 프레임들 사이의 제2 컬러 변화에 기초하여 제1 비디오 컨텐츠 요소의 상기 부분에 대응하는 프레임들 중에서 최종 샷 경계 프레임을 검출하는 단계와, 상기 제2 컬러 변화는 제1 컬러 변화에 후속하고;
    상기 부분의 초기 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 서브-부분을 초기 샷 경계 프레임으로 절단하는 단계와; 그리고
    상기 최종 샷 경계 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제2 서브-부분을 상기 부분의 최종 프레임으로 절단하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 선행하는 항들 중 어느 한 항에 있어서,
    상기 추가 서브 세트에 대한 스코어를 계산하는 단계는 하나의 프레임을 포함하는 추가 서브 세트에 대한 스코어를 계산하는 단계를 더 포함하고,
    상기 제2 비디오 컨텐츠 요소를 생성하는 단계는 복수의 프레임으로부터 하나의 프레임을 포함하는 제2 비디오 컨텐츠 요소를 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서,
    상기 하나의 프레임을 포함하는 추가 서브 세트에 대한 스코어를 계산하는 단계는,
    인터벌 서브 세트의 복수의 프레임 각각에 대해, 프레임의 선명도의 측정치를 결정하는 단계와;
    상기 결정된 선명도의 측정치에 기초하여 복수의 프레임의 서브 세트를 선택하는 단계와; 그리고
    상기 선택된 프레임 각각에 대한 스코어를 계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 선행하는 항들 중 어느 한 항에 있어서,
    상기 데이터 처리 시스템에 의해, 이미지 인식 알고리즘을 사용하여 제1 복수의 프레임으로부터 객체를 포함하는 연속적인 프레임들의 제2 서브 세트를 식별하는 단계와; 그리고
    상기 데이터 처리 시스템에 의해, 연속적인 프레임들의 제2 서브 세트를 제2 비디오 컨텐츠 요소에 연결(concatenate)하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  12. 비디오 컨텐츠의 요약을 자동으로 추출하는 시스템에 있어서,
    하나 이상의 프로세서 및 메모리를 갖는 데이터 처리 시스템을 포함하여,
    비디오 데이터베이스로부터, 제1 복수의 프레임을 포함하는 제1 비디오 컨텐츠 요소를 액세스하고;
    제1 비디오 컨텐츠 요소의 제1 복수의 프레임의 인터벌 서브 세트를 선택하고;
    인터벌 서브 세트로부터 사전 결정된 수의 프레임을 포함하는 복수의 추가 서브 세트 각각에 대해, 추가 서브 세트에 대한 스코어를 계산하고;
    복수의 추가 서브 세트로부터, 최고 스코어를 갖는 추가 서브 세트를 식별하고;
    최고 스코어를 갖는 추가 서브 세트의 프레임들을 포함하는 제1 비디오 컨텐츠 요소의 부분을 선택하고; 그리고
    제1 비디오 컨텐츠 요소의 상기 선택된 부분을 포함하는 제2 비디오 컨텐츠 요소를 생성하도록 구성되는 것을 특징으로 하는 시스템.
  13. 제12항에 있어서,
    상기 데이터 처리 시스템은,
    추가 서브 세트와 포지티브 샘플링된 이미지 세트 간의 제1 거리 메트릭을 계산하고;
    추가 서브 세트와 네거티브 샘플링된 이미지 세트 간의 제2 거리 메트릭을 계산하고; 그리고
    제1 거리 메트릭 및 제2 거리 메트릭의 조합에 기초하여 추가 서브 세트에 대한 스코어를 계산하도록 더 구성되는 것을 특징으로 하는 시스템.
  14. 제12항 또는 제13항에 있어서,
    상기 데이터 처리 시스템은,
    이미지 인식 알고리즘을 사용하여, 추가 서브 세트로부터 객체를 검출하고;
    이미지 인식 알고리즘을 사용하여, 추가 서브 세트로부터 검출된 객체의 하나 이상의 특성을 식별하고; 그리고
    상기 객체로부터 식별된 하나 이상의 특성에 기초하여 추가 서브 세트에 대한 스코어를 계산하도록 더 구성되는 것을 특징으로 하는 시스템.
  15. 제12항 내지 제14항 중 어느 한 항에 있어서,
    상기 데이터 처리 시스템은,
    추가 서브 세트의 각각의 프레임 사이에서, 상기 2개의 대응하는 프레임에 모션 검출 알고리즘을 적용하여 모션 메트릭을 계산하고; 그리고
    추가 서브 세트의 각각의 프레임 사이에서 계산된 모션 메트릭들의 세트에 기초하여 추가 서브 세트에 대한 스코어를 계산하도록 더 구성되는 것을 특징으로 하는 시스템.
  16. 제12항 내지 제15항 중 어느 한 항에 있어서,
    상기 데이터 처리 시스템은,
    추가 서브 세트의 상기 프레임들에 대한 복수의 픽셀들 사이의 컬러 분포를 결정하고; 그리고
    추가 서브 세트의 상기 프레임에 대한 복수의 픽셀 사이의 컬러 분포에 기초하여 추가 서브 세트에 대한 스코어를 계산하도록 더 구성되는 것을 특징으로 하는 시스템.
  17. 제12항 내지 제16항 중 어느 한 항에 있어서,
    상기 데이터 처리 시스템은,
    복수의 추가 서브 세트 각각에 대해, 추가 서브 세트의 프레임들에 대해 대응하는 수의 이미지 분석 알고리즘을 적용하여 복수의 스코어를 계산하고; 그리고
    복수의 스코어의 사전 결정된 가중 평균에 기초하여 스코어를 계산하도록 더 구성되는 것을 특징으로 하는 시스템.
  18. 제12항 내지 제17항 중 어느 한 항에 있어서,
    상기 데이터 처리 시스템은,
    최고 스코어를 갖는 추가 서브 세트의 제2 초기 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 초기 프레임을 식별하고;
    최고 스코어를 갖는 추가 서브 세트의 제2 최종 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 최종 프레임을 식별하고; 그리고
    제1 초기 프레임부터 제1 최종 프레임까지 제1 비디오 컨텐츠 요소의 프레임들의 서브셋을 선택하도록 더 구성되는 것을 특징으로 하는 시스템.
  19. 제12항 내지 제18항 중 어느 한 항에 있어서,
    상기 데이터 처리 시스템은,
    상기 프레임들 사이의 제1 컬러 변화에 기초하여 제1 비디오 컨텐츠 요소의 상기 부분에 대응하는 프레임들 중에서 초기 샷 경계 프레임을 검출하고;
    상기 프레임들 사이의 제2 컬러 변화에 기초하여 제1 비디오 컨텐츠 요소의 상기 부분에 대응하는 프레임들 중에서 최종 샷 경계 프레임을 검출하고, 상기 제2 컬러 변화는 제1 컬러 변화에 후속하고;
    상기 부분의 초기 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 서브-부분을 상기 초기 샷 경계 프레임으로 절단하고; 그리고
    상기 최종 샷 경계 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제2 서브-부분을 상기 부분의 최종 프레임으로 절단하도록 더 구성되는 것을 특징으로 하는 시스템.
  20. 제12항 내지 제19항 중 어느 한 항에 있어서,
    상기 데이터 처리 시스템은,
    이미지 인식 알고리즘을 사용하여 제1 복수의 프레임으로부터 객체를 포함하는 연속적인 프레임들의 제2 서브 세트를 식별하고; 그리고
    연속적인 프레임들의 제2 서브 세트를 제2 비디오 컨텐츠 요소에 연결하도록 더 구성되는 것을 특징으로 하는 시스템.
  21. 하나 이상의 프로세서에 의해 실행될 때 그 하나 이상의 프로세서로 하여금 제1항 내지 제11항 중 어느 한 항에 따른 방법을 수행하게 하는 비디오 컨텐츠의 요약을 자동으로 추출하기 위한 명령들을 저장하는 비-일시적 컴퓨터 판독 가능 매체.
  22. 비디오 컨텐츠의 요약을 자동으로 추출하는 방법으로서,
    데이터 처리 시스템에 의해, 비디오 데이터베이스로부터, 제1 복수의 프레임을 포함하는 제1 비디오 컨텐츠 요소를 액세스하는 단계와;
    상기 데이터 처리 시스템에 의해, 제1 비디오 컨텐츠 요소의 제1 복수의 프레임의 인터벌 서브 세트를 선택하는 단계와;
    상기 데이터 처리 시스템에 의해, 인터벌 서브 세트로부터 사전 결정된 수의 프레임들을 포함하는 복수의 추가 서브 세트 각각에 대해, 추가 서브 세트에 대한 스코어를 계산하는 단계와;
    상기 데이터 처리 시스템에 의해, 복수의 추가 서브 세트로부터, 최고 스코어를 갖는 추가 서브 세트를 식별하는 단계와;
    상기 데이터 처리 시스템에 의해, 최고 스코어를 갖는 추가 서브 세트의 프레임들을 포함하는 제1 비디오 컨텐츠 요소의 부분을 선택하는 단계와; 그리고
    상기 데이터 처리 시스템에 의해, 제1 비디오 컨텐츠 요소의 상기 선택된 부분을 포함하는 제2 비디오 컨텐츠 요소를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  23. 제22항에 있어서,
    상기 추가 서브 세트에 대한 스코어를 계산하는 단계는,
    추가 서브 세트와 포지티브 샘플링된 이미지 세트 간의 제1 거리 메트릭을 계산하는 단계와;
    추가 서브 세트와 네거티브 샘플링된 이미지 세트 간의 제2 거리 메트릭을 계산하는 단계와; 그리고
    제1 거리 메트릭 및 제2 거리 메트릭의 조합에 기초하여 추가 서브 세트에 대한 스코어를 계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  24. 제22항에 있어서,
    상기 추가 서브 세트에 대한 스코어를 계산하는 단계는,
    이미지 인식 알고리즘을 사용하여, 추가 서브 세트로부터 객체를 검출하는 단계와;
    이미지 인식 알고리즘을 사용하여, 추가 서브 세트로부터 검출된 객체의 하나 이상의 특성을 식별하는 단계와; 그리고
    상기 객체로부터 식별된 상기 하나 이상의 특성에 기초하여 추가 서브 세트에 대한 스코어를 계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  25. 제22항에 있어서,
    상기 추가 서브 세트에 대한 스코어를 계산하는 단계는,
    추가 서브 세트의 각각의 프레임 사이에서, 상기 2개의 대응하는 프레임에 모션 검출 알고리즘을 적용하여 모션 메트릭을 계산하는 단계와; 그리고
    추가 서브 세트의 각각의 프레임 사이에서 계산된 모션 메트릭들의 세트에 기초하여 추가 서브 세트에 대한 스코어를 계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  26. 제22항에 있어서,
    상기 추가 서브 세트에 대한 스코어를 계산하는 단계는,
    추가 서브 세트의 프레임들에 대한 복수의 픽셀들 사이의 컬러 분포를 결정하는 단계와; 그리고
    추가 서브 세트의 프레임들에 대한 복수의 픽셀들 사이의 컬러 분포에 기초하여 추가 서브 세트에 대한 스코어를 계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  27. 제22항에 있어서,
    상기 추가 서브 세트에 대한 스코어를 계산하는 단계는,
    복수의 추가 서브 세트 각각에 대해, 대응하는 수의 이미지 분석 알고리즘을 추가 서브 세트의 프레임에 적용하여 복수의 스코어를 계산하는 단계와; 그리고
    복수의 스코어의 사전 결정된 가중 평균에 기초하여 스코어를 계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  28. 제22항에 있어서,
    상기 제1 비디오 컨텐츠 요소의 상기 부분을 선택하는 단계는,
    최고 스코어를 갖는 추가 서브 세트의 제2 초기 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 초기 프레임을 식별하는 단계와;
    최고 스코어를 갖는 추가 서브 세트의 제2 최종 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 최종 프레임을 식별하는 단계와; 그리고
    제1 초기 프레임으로부터 제1 최종 프레임까지 제1 비디오 컨텐츠 요소의 프레임들의 서브셋을 선택하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  29. 제22항에 있어서,
    상기 제2 비디오 컨텐츠 요소를 생성하는 단계는,
    상기 프레임들 사이의 제1 컬러 변화에 기초하여 제1 비디오 컨텐츠 요소의 상기 부분에 대응하는 프레임들 중에서 초기 샷 경계 프레임을 검출하는 단계와;
    상기 프레임들 사이의 제2 컬러 변화에 기초하여 제1 비디오 컨텐츠 요소의 상기 부분에 대응하는 프레임들 중에서 최종 샷 경계 프레임을 검출하는 단계와, 상기 제2 컬러 변화는 제1 컬러 변화에 후속하고;
    상기 부분의 초기 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 서브-부분을 상기 초기 샷 경계 프레임으로 절단하는 단계와; 그리고
    상기 최종 샷 경계 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제2 서브-부분을 상기 부분의 최종 프레임으로 절단하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  30. 제22항에 있어서,
    상기 추가 서브 세트에 대한 스코어를 계산하는 단계는 하나의 프레임을 포함하는 추가 서브 세트에 대한 스코어를 계산하는 단계를 더 포함하고,
    상기 제2 비디오 컨텐츠 요소를 생성하는 단계는 복수의 프레임으로부터 하나의 프레임을 포함하는 제2 비디오 컨텐츠 요소를 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  31. 제22항에 있어서,
    상기 데이터 처리 시스템에 의해, 이미지 인식 알고리즘을 사용하여 제1 복수의 프레임으로부터 객체를 포함하는 연속적인 프레임들의 제2 서브 세트를 식별하는 단계와; 그리고
    상기 데이터 처리 시스템에 의해, 연속적인 프레임들의 제2 서브 세트를 제2 비디오 컨텐츠 요소에 연결하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  32. 비디오 컨텐츠의 요약을 자동으로 추출하는 시스템으로서,
    하나 이상의 프로세서 및 메모리를 갖는 데이터 처리 시스템으로서,
    비디오 데이터베이스로부터, 제1 복수의 프레임을 포함하는 제1 비디오 컨텐츠 요소를 액세스하고;
    제1 비디오 컨텐츠 요소의 제1 복수의 프레임의 인터벌 서브 세트를 선택하고;
    인터벌 서브 세트로부터 미리 결정된 수의 프레임들을 포함하는 복수의 추가 서브 세트들 각각에 대해, 추가 서브 세트에 대한 스코어를 계산하고;
    복수의 추가 서브 세트로부터, 최고 스코어를 갖는 추가 서브 세트를 식별하고;
    최고 스코어를 갖는 추가 서브 세트의 프레임들을 포함하는 제1 비디오 컨텐츠 요소의 부분을 선택하고; 그리고
    제1 비디오 컨텐츠 요소의 상기 선택된 부분을 포함하는 제2 비디오 컨텐츠 요소를 생성하도록 구성되는 것을 특징으로 하는 시스템.
  33. 제32항에 있어서,
    상기 데이터 처리 시스템은,
    추가 서브 세트와 포지티브 샘플링된 이미지 세트 간의 제1 거리 메트릭을 계산하고;
    추가 서브 세트와 네거티브 샘플링된 이미지 세트 간의 제2 거리 메트릭을 계산하고; 그리고
    제1 거리 메트릭 및 제2 거리 메트릭의 조합에 기초하여 추가 서브 세트에 대한 스코어를 계산하도록 더 구성되는 것을 특징으로 하는 시스템.
  34. 제32항에 있어서,
    상기 데이터 처리 시스템은,
    이미지 인식 알고리즘을 사용하여, 추가 서브 세트로부터 객체를 검출하고;
    이미지 인식 알고리즘을 사용하여 추가 서브 세트로부터 검출된 객체의 하나 이상의 특성을 식별하고; 그리고
    상기 객체로부터 식별된 하나 이상의 특성에 기초하여 추가 서브 세트에 대한 스코어를 계산하도록 더 구성되는 것을 특징으로 하는 시스템.
  35. 제32항에 있어서,
    상기 데이터 처리 시스템은,
    추가 서브 세트의 각각의 프레임 사이에서, 상기 2개의 대응하는 프레임에 모션 검출 알고리즘을 적용하여 모션 메트릭을 계산하고; 그리고
    추가 서브 세트의 각각의 프레임 사이에서 계산된 모션 메트릭들의 세트에 기초하여 추가 서브 세트에 대한 스코어를 계산하도록 더 구성되는 것을 특징으로 하는 시스템.
  36. 제32항에 있어서,
    상기 데이터 처리 시스템은,
    추가 서브 세트의 프레임들에 대한 복수의 픽셀 사이의 컬러 분포를 결정하고; 그리고
    추가 서브 세트의 프레임들에 대한 복수의 픽셀 사이의 컬러 분포에 기초하여 추가 서브 세트에 대한 스코어를 계산하도록 더 구성되는 것을 특징으로 하는 시스템.
  37. 제32항에 있어서,
    상기 데이터 처리 시스템은,
    복수의 추가 서브 세트 각각에 대해, 대응하는 수의 이미지 분석 알고리즘을 추가 서브 세트의 프레임들에 적용하여 복수의 스코어를 계산하고; 그리고
    복수의 스코어의 사전 결정된 가중 평균에 기초하여 스코어를 계산하도록 더 구성되는 것을 특징으로 하는 시스템.
  38. 제32항에 있어서,
    상기 데이터 처리 시스템은,
    최고 스코어를 갖는 추가 서브 세트의 제2 초기 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 초기 프레임을 식별하고;
    최고 스코어를 갖는 추가 서브 세트의 제2 최종 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 최종 프레임을 식별하고; 그리고
    제1 초기 프레임으로부터 제1 최종 프레임까지 제1 비디오 컨텐츠 요소의 프레임들의 서브셋을 선택하도록 더 구성되는 것을 특징으로 하는 시스템.
  39. 제32항에 있어서,
    상기 데이터 처리 시스템은,
    상기 프레임들 사이의 제1 컬러 변화에 기초하여 제1 비디오 컨텐츠 요소의 상기 부분에 대응하는 프레임들 중에서 초기 샷 경계 프레임을 검출하고;
    상기 프레임들 사이의 제2 컬러 변화에 기초하여 제1 비디오 컨텐츠 요소의 상기 부분에 대응하는 프레임들 중에서 최종 샷 경계 프레임을 검출하고, 상기 제2 컬러 변화는 제1 컬러 변화에 후속하고;
    상기 부분의 초기 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제1 서브-부분을 상기 초기 샷 경계 프레임으로 절단하고; 그리고
    상기 최종 샷 경계 프레임에 대응하는 제1 비디오 컨텐츠 요소의 제2 서브-부분을 상기 부분의 최종 프레임으로 절단하도록 더 구성되는 것을 특징으로 하는 시스템.
  40. 제32항에 있어서,
    상기 데이터 처리 시스템은,
    이미지 인식 알고리즘을 사용하여 객체를 포함하는 제1 복수의 프레임으로부터 연속적인 프레임들의 제2 서브 세트를 식별하고; 그리고
    연속적인 프레임들의 제2 서브 세트를 제2 비디오 컨텐츠 요소에 연결시키도록 더 구성되는 것을 특징으로 하는 시스템.
  41. 하나 이상의 프로세서에 의해 실행될 때 그 하나 이상의 프로세서로 하여금 동작들을 수행하게 하는 비디오 컨텐츠의 요약을 자동으로 추출하기 위한 명령들을 저장하는 비-일시적 컴퓨터 판독 가능 매체로서, 상기 동작들은,
    비디오 데이터베이스로부터, 제1 복수의 프레임을 포함하는 제1 비디오 컨텐츠 요소를 액세스하는 단계와;
    제1 비디오 컨텐츠 요소의 제1 복수의 프레임의 인터벌 서브 세트를 선택하는 단계와;
    인터벌 서브 세트로부터 사전 결정된 수의 프레임들을 포함하는 복수의 추가 서브 세트 각각에 대해, 추가 서브 세트에 대한 스코어를 계산하는 단계와;
    복수의 추가 서브 세트로부터, 최고 스코어를 갖는 추가 서브 세트를 식별하는 단계와;
    최고 스코어를 갖는 추가 서브 세트의 프레임들을 포함하는 제1 비디오 컨텐츠 요소의 부분을 선택하는 단계와; 그리고
    제1 비디오 컨텐츠 요소의 상기 선택된 부분을 포함하는 제2 비디오 컨텐츠 요소를 생성하는 단계를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
KR1020197021054A 2017-05-05 2017-08-03 비디오 컨텐츠 요약 KR102262481B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2017/083223 2017-05-05
CNPCT/CN2017/083223 2017-05-05
PCT/US2017/045306 WO2018203920A1 (en) 2017-05-05 2017-08-03 Summarizing video content

Publications (2)

Publication Number Publication Date
KR20190099027A true KR20190099027A (ko) 2019-08-23
KR102262481B1 KR102262481B1 (ko) 2021-06-08

Family

ID=59656193

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197021054A KR102262481B1 (ko) 2017-05-05 2017-08-03 비디오 컨텐츠 요약

Country Status (6)

Country Link
US (2) US11042754B2 (ko)
EP (1) EP3513310A1 (ko)
JP (1) JP6735927B2 (ko)
KR (1) KR102262481B1 (ko)
CN (1) CN109844736B (ko)
WO (1) WO2018203920A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102198480B1 (ko) 2020-02-28 2021-01-05 연세대학교 산학협력단 재귀 그래프 모델링을 통한 비디오 요약 생성 장치 및 방법
KR102397147B1 (ko) * 2021-01-29 2022-05-12 숙명여자대학교산학협력단 인식률 향상을 위한 영상 처리 장치 및 그 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11057667B2 (en) 2017-11-17 2021-07-06 Gfycat, Inc. Selection of a prerecorded media file for superimposing into a video
US10945042B2 (en) * 2018-11-19 2021-03-09 Gfycat, Inc. Generating an interactive digital video content item
US10817998B1 (en) * 2018-12-27 2020-10-27 Go Pro, Inc. Systems and methods for selecting images
US11678011B1 (en) * 2019-04-17 2023-06-13 Kuna Systems Corporation Mobile distributed security response
US11227160B2 (en) * 2019-11-15 2022-01-18 International Business Machines Corporation Detecting scene transitions in video footage
US11689526B2 (en) * 2019-11-19 2023-06-27 Paypal, Inc. Ensemble method for face recognition deep learning models
CN115699778A (zh) * 2020-06-05 2023-02-03 高通股份有限公司 基于采样率的视频数据处理
US11568527B2 (en) * 2020-09-24 2023-01-31 Ati Technologies Ulc Video quality assessment using aggregated quality values
CN112559800B (zh) * 2020-12-17 2023-11-14 北京百度网讯科技有限公司 用于处理视频的方法、装置、电子设备、介质和产品
US11152031B1 (en) * 2021-05-11 2021-10-19 CLIPr Co. System and method to compress a time frame of one or more videos
JP7350200B1 (ja) * 2023-01-31 2023-09-25 株式会社ドワンゴ 動画配信装置、動画配信方法、動画配信プログラム、及びシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140023348A1 (en) * 2012-07-17 2014-01-23 HighlightCam, Inc. Method And System For Content Relevance Score Determination
US20140037269A1 (en) * 2012-08-03 2014-02-06 Mrityunjay Kumar Video summarization using group sparsity analysis

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MY118360A (en) * 1996-04-30 2004-10-30 Nippon Telegraph & Telephone Scheme for detecting shot boundaries in compressed video data using inter-frame/inter field prediction coding and intra-frame/intra-field coding
US20060003300A1 (en) * 2004-06-30 2006-01-05 Interactive Sports Training, Llc (Formerly Known As Major League Partners) Method and apparatus for creating a personal sports lesson
CN101431689B (zh) * 2007-11-05 2012-01-04 华为技术有限公司 生成视频摘要的方法及装置
EP2104105A1 (en) * 2008-03-20 2009-09-23 British Telecommunications Public Limited Company Digital audio and video clip encoding
US8345990B2 (en) * 2009-08-03 2013-01-01 Indian Institute Of Technology Bombay System for creating a capsule representation of an instructional video
US8432965B2 (en) * 2010-05-25 2013-04-30 Intellectual Ventures Fund 83 Llc Efficient method for assembling key video snippets to form a video summary
AU2010241260B2 (en) * 2010-10-29 2013-12-19 Canon Kabushiki Kaisha Foreground background separation in a scene with unstable textures
WO2012141244A1 (ja) * 2011-04-14 2012-10-18 株式会社ヤクルト本社 微生物菌体乾燥粉末の製造方法
CN102427507B (zh) * 2011-09-30 2014-03-05 北京航空航天大学 一种基于事件模型的足球视频集锦自动合成方法
US20130093899A1 (en) * 2011-10-18 2013-04-18 Nokia Corporation Method and apparatus for media content extraction
EP2701078A1 (en) * 2012-08-24 2014-02-26 Alcatel Lucent Process for summarising automatically a video content for a user of at least one video service provider in a network
IL223381B (en) * 2012-12-02 2018-01-31 Berale Of Teldan Group Ltd Automatic summarising of media content
US20140198177A1 (en) * 2013-01-15 2014-07-17 International Business Machines Corporation Realtime photo retouching of live video
CA2923991C (en) * 2013-10-11 2021-07-06 Mauna Kea Technologies Method for characterizing images acquired through a video medical device
EP2890108A1 (en) * 2013-12-27 2015-07-01 Thomson Licensing Method for sorting a group of images of a database and method for color correcting an image, corresponding devices, computer program and non-transitory computer-readable medium
US20170060831A1 (en) * 2015-08-26 2017-03-02 International Business Machines Corporation Deriving Logical Justification in an Extensible Logical Reasoning System
JP6648925B2 (ja) * 2015-12-17 2020-02-14 キヤノン株式会社 画像処理方法、画像処理装置、画像処理システム、生産装置、プログラム及び記録媒体
US9818451B1 (en) * 2015-12-21 2017-11-14 Amazon Technologies, Inc. Frame selection of video data
US10032081B2 (en) * 2016-02-09 2018-07-24 Oath Inc. Content-based video representation
GB2549471A (en) * 2016-04-15 2017-10-25 Quantel Ltd Methods of streaming media file data and media file servers
ES2648368B1 (es) * 2016-06-29 2018-11-14 Accenture Global Solutions Limited Recomendación de vídeo con base en el contenido
US10347294B2 (en) 2016-06-30 2019-07-09 Google Llc Generating moving thumbnails for videos
US10430685B2 (en) * 2016-11-16 2019-10-01 Facebook, Inc. Deep multi-scale video prediction
US10068616B2 (en) * 2017-01-11 2018-09-04 Disney Enterprises, Inc. Thumbnail generation for video
US10467507B1 (en) * 2017-04-19 2019-11-05 Amazon Technologies, Inc. Image quality scoring
CN110347872B (zh) * 2019-07-04 2023-10-24 腾讯科技(深圳)有限公司 视频封面图像提取方法及装置、存储介质及电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140023348A1 (en) * 2012-07-17 2014-01-23 HighlightCam, Inc. Method And System For Content Relevance Score Determination
US20140037269A1 (en) * 2012-08-03 2014-02-06 Mrityunjay Kumar Video summarization using group sparsity analysis

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102198480B1 (ko) 2020-02-28 2021-01-05 연세대학교 산학협력단 재귀 그래프 모델링을 통한 비디오 요약 생성 장치 및 방법
KR102397147B1 (ko) * 2021-01-29 2022-05-12 숙명여자대학교산학협력단 인식률 향상을 위한 영상 처리 장치 및 그 방법

Also Published As

Publication number Publication date
KR102262481B1 (ko) 2021-06-08
JP2020516107A (ja) 2020-05-28
WO2018203920A1 (en) 2018-11-08
US11042754B2 (en) 2021-06-22
JP6735927B2 (ja) 2020-08-05
CN109844736B (zh) 2023-08-22
EP3513310A1 (en) 2019-07-24
US20210312186A1 (en) 2021-10-07
CN109844736A (zh) 2019-06-04
US20210117691A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
KR102262481B1 (ko) 비디오 컨텐츠 요약
CN108446390B (zh) 用于推送信息的方法和装置
US9117112B2 (en) Background detection as an optimization for gesture recognition
CN108012162B (zh) 内容推荐方法及装置
US9892324B1 (en) Actor/person centric auto thumbnail
US11416546B2 (en) Content type detection in videos using multiple classifiers
CN109360028B (zh) 用于推送信息的方法和装置
US8923611B2 (en) Automatic background identification in video images
WO2019000789A1 (zh) 直播视频推荐方法、装置及服务器
Li et al. Optimal volumetric video streaming with hybrid saliency based tiling
EP2712453B1 (en) Image topological coding for visual search
US20180068188A1 (en) Video analyzing method and video processing apparatus thereof
WO2016053482A1 (en) Object based image processing
US11509963B2 (en) Systems and methods for deep recommendations using signature analysis
US11405442B2 (en) Dynamic rotation of streaming protocols
KR20160015136A (ko) 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
CN114627556A (zh) 动作检测方法、动作检测装置、电子设备以及存储介质
EP3607723B1 (en) Systems and methods for improving accuracy of device maps using media viewing data
US20160105731A1 (en) Systems and methods for identifying and acquiring information regarding remotely displayed video content
WO2014031538A1 (en) Background detection as an optimization for gesture recognition
US10489654B1 (en) Video analysis method and system
WO2021108707A1 (en) Systems and methods for deep recommendations using signature analysis
KR20240060207A (ko) 컨텐츠 스트리밍 시스템에서 장면을 분석하는 방법 및 장치
CN117732042A (zh) 画面数据处理方法、装置、电子设备、介质及程序产品
CN117750014A (zh) 视频编码方法、装置及存储介质

Legal Events

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