KR102197364B1 - 모바일 비디오 서치 기법 - Google Patents

모바일 비디오 서치 기법 Download PDF

Info

Publication number
KR102197364B1
KR102197364B1 KR1020167010380A KR20167010380A KR102197364B1 KR 102197364 B1 KR102197364 B1 KR 102197364B1 KR 1020167010380 A KR1020167010380 A KR 1020167010380A KR 20167010380 A KR20167010380 A KR 20167010380A KR 102197364 B1 KR102197364 B1 KR 102197364B1
Authority
KR
South Korea
Prior art keywords
video
audio
query
search
signature
Prior art date
Application number
KR1020167010380A
Other languages
English (en)
Other versions
KR20160074500A (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 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority to KR1020207037134A priority Critical patent/KR102567285B1/ko
Publication of KR20160074500A publication Critical patent/KR20160074500A/ko
Application granted granted Critical
Publication of KR102197364B1 publication Critical patent/KR102197364B1/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/732Query formulation
    • G06F16/7328Query by example, e.g. a complete video frame or video sequence
    • 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
    • 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/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/7834Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using audio features
    • G06K9/00744
    • G06K9/00758
    • G06K9/4671
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • 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
    • 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/48Matching video sequences

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)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Television Signal Processing For Recording (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

비디오 컨텐츠를 서치하기 위해 모바일 디바이스를 사용하는 설비는 카메라 및/또는 마이크를 통해 입력을 캡처하고, 실시간으로 입력의 오디오-비디오 시그니처를 추출하며, 점진적 서치를 수행하기 위해 모바일 디바이스 상의 컴퓨팅 용량을 활용한다. 입력이 수신될 때에 실시간으로 입력으로부터 결합 오디오-비디오 시그니처를 추출하는 것 및 계층화된 오디오-비디오 색인화를 통해 유사한 비디오 컨텐츠를 서치하기 위해 클라우드에 시그니처를 송신하는 것에 의해, 그 설비는 점진적 시그니처 캡처를 위해 후보 비디오의 점진적 결과를 제공할 수 있다.

Description

모바일 비디오 서치 기법{MOBILE VIDEO SEARCH}
저작권 공고 및 승인(COPYRIGHT NOTICE AND PERMISSION)
이 특허 문서의 개시의 일부분은 저작권 보호의 대상이 되는 내용을 포함할 수 있다. 저작권 소유자는 누구든지 특허 문서 또는 특허 개시를 특허상표청(Patent and Trademark Office) 특허 파일 또는 기록에 나타나는 것처럼 복사한 것에 이의가 없으나, 그 밖에는 여하간에 모든 저작권 권리를 보유한다. 다음의 공고가 이 문서에 적용되는 바이다: 저작권 ⓒ 2013, 마이크로소프트 사(Microsoft Corp.).
인터넷 및 월드 와이드 웹(World Wide Web)으로의 액세스(access) 기능을 가진 모바일 디바이스는 점점 더 흔하게 되었으며, 이는 개인 인터넷 서핑 안내자로서의 역할을 하고 있고, 이동 중에 계속 늘어나는 양의 데이터로의 액세스를 사용자에게 제공한다.
모바일 디바이스는 몇몇 유형의 서치하기(searching), 특히 질의(query)로서 서치 대상(search subject)의 레코딩(recording)을 기록하고 송신하기 위해 리소스를 소비하지 않고서 비디오 컨텐츠(video content)를 서치하는 데에 이바지하는 플랫폼을 현재 제공하지 않는다.
모바일 디바이스를 위한 몇몇 서치 애플리케이션은 모바일 디바이스에 내장된 카메라로 촬영된 사진을 시각적 질의로서 지원하는데, 이는 캡처-투-서치(capture-to-search)로 불린다. 캡처-투-서치에서, 통상 사진이 먼저 찍힌다(snapped). 이후 그 스냅샷(snapshot)은 여러 종적 도메인(vertical domain)들 내에서 매치(match)를 찾아 서치하기 위한 질의로서 제출된다. 다른 서치 애플리케이션은 모바일 디바이스에 내장된 마이크로부터 녹음된 오디오를 오디오 질의로서 지원한다. 예컨대, INTONOW는 사용자로 하여금 질의로서의 사용을 위해 오디오를 녹음할 수 있게 한다. 그러나, 그 소리는 약 12초까지의 기간 동안 녹음된다. 이후 그 소리 레코딩은 여러 종적 도메인들 내에서 매치를 찾아 서치하기 위한 질의로서 제출된다. 이 프로세스는 만약 레코딩 상황이 소란스러운 경우 또는 그 레코딩이 묵음(silent)이도록 소리 없는 비디오인 경우에 제대로 작동하지 않는다.
오디오 파일을 위한 몇몇 서치 엔진은 훨씬 더 긴 녹음 시간을 사용한다. 그러나, 보통의 오디오 서치 엔진들은 비디오와 조합하여 오디오를 찾아 서치하지 않고, 그것들은 여전히 실제의 녹음이 질의로서 제출될 것을 요구한다.
또 다른 서치 애플리케이션은 모바일 디바이스에 내장된 카메라로 촬영된 비디오 이미지를 시각적 질의로서 지원하는데, 이는 비디오 캡처-투-서치(video capture-to-search)로 불릴 수 있다. VIDEOSURF는 비디오 캡처-투-서치의 일례이다. VIDEOSURF에서, 비디오 이미지는 적어도 10초의 기간 동안 캡처되어 저장된다. 사용자는 이후 서치를 위해 차별적인(discriminative) 시각적 컨텐츠를 고르며, 이후 그 비디오 이미지 클립(video image clip)은 매칭 비디오(matching video)를 찾아 서치하기 위한 질의로서 제출된다.
기존의 모바일 비디오 서치 애플리케이션은 비교적 긴 오디오 및/또는 비디오 클립을 저장하기 위해, 그리고 기록된 클립을 서치 엔진에 송신하기 위해 상당한 리소스를 소비한다. 일단 서치 엔진이 기록된 비디오 클립 질의를 수신하면, 서치 엔진은 클립에 기초해서 매칭을 수행할 수 있다. 기존의 방법은 고정된 지속기간(duration), 가령 10초 또는 12초의 클립을 요구한다.
모바일 디바이스 상에서의 비디오 서치에 관련된 대부분의 연구는 모바일 디바이스 상의 간결한 서술자(descriptor) 설계에 집중되었다. 이 문제를 해결하기 위한 가장 인기있는 방식은 유사 중복(near-duplicate) 비디오 서치를 위한 이미지 코딩(image coding)의 기술을 통해 서술자를 압축하는 것인데, 이는 의존하는 데이터 모드(data modality)의 유형에 따라 세 가지 카테고리로 분류될 수 있다: 오디오 기반(audio-based), 비디오 기반(video-based) 및 융합 기반(fusion-based) 방법들. 그러나, 유사 중복 비디오 서치로의 대부분의 기존 접근법은, 보통 질의 비디오가 모바일 디바이스에 의해 캡처된 비디오라기보다 상당한 왜곡이 없는 원래의 비디오의 서브세트(subset)인 데스크톱(desktop) 시나리오에 주로 집중한다. 더욱이, 서술자의 계산 비용과 간결성은 기존의 접근법들에서 흔히 무시되는데 중복 비디오 서치로의 종래의 접근법들은 앞서 언급된 모바일 난제들을 고려하지 않기 때문이다. 중복 비디오 서치로의 종래의 접근법들은 모바일 비디오 서치에 적합하지 않다.
이 문서는 모바일 디바이스가 아닌 디바이스에 의해 제시되고 있는 비디오 컨텐츠의 오디오 및 비디오 특성들을 추출하기 위해, 그리고 비디오 컨텐츠의 레코딩을 질의로서 송신하기보다 그 특성들을 질의로서 송신하기 위해 모바일 디바이스 상에서 이용가능한(available) 컴퓨팅 리소스를 활용하는 모바일 디바이스 상의 비디오 서치를 위한 설비(facility)를 기술한다. 서치 질의로서의 사용을 위해 오디오 및 비디오 특성들을 추출함으로써, 그리고 오디오 및 비디오 특성들을 비디오 컨텐츠의 색인화된 데이터세트(indexed dataset) 내에 저장된 오디오 및 비디오 특성들에 매칭함으로써, 그 설비는 그 특성들이 소란스럽거나, 빈약하게 빛을 받거나, 일관적이지 않은 상황에서 추출되는 경우를 비롯하여 제출된 각각의 오디오 및 비디오 특성에 대해 후보 비디오를 제공한다. 그 설비는 비디오 입력의 추가적 부분이 획득되고 있는 동안 후보 비디오의 표시(indication)의 제시를, 그리고 표시될 후보 비디오의 점진적 정교화(progressive refinement)를 가능케 한다. 그 설비는, 제공되고 있는 후보 비디오로부터 선택이 행해질 때까지 또는 후보 비디오의 결과 리스트(list)가 안정화될, 가령 후보 비디오의 결과 리스트가 일정 기간 동안 바뀌지 않게 되고 서치가 중단될 때까지 비디오 입력의 추가적 부분이 획득되고 있는 동안 제공되고 있는 후보 비디오의 목록을 개정하는 것을 포함하여, 후보 비디오의 목록을 제공한다. 그 설비는 후보 비디오의 결과 리스트가 안정화되는 것, 가령 일정 기간 동안 바뀌지 않게 되는 것에 응답하여 후보 비디오의 표시의 상이한 제시를 가능케 한다. 그 설비는 또한 제공되고 있는 후보 비디오로부터 선택이 행해지는 것에 응답하여 추가적인 인터페이스(interface)의 제시를 제공하며, 예컨대, 그 설비는 사용자로 하여금 선택된 비디오를 구입하거나 빌릴 수 있게 하거나, 사용자로 하여금 선택된 비디오에 대한 추가적인 또는 보조적인 정보를 볼 수 있게 하거나, 사용자로 하여금 나중에 보기 위해 비디오의 표시를 세이브할(save) 수 있게 하기 위한 브라우저(browser) 오프닝을 제공한다.
이 개요는 상세한 설명에서 추가로 후술되는 개념들 중 선택된 것을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 청구 대상의 중요 특징 또는 필수적 특징을 식별하도록 의도된 것이 아니며, 청구된 대상물의 범주를 판정하는 데에서 보조로서 사용되도록 의도된 것도 아니다. 예를 들면 용어 "기법"은, 방법(들) 및/또는 컴퓨터 실행가능(computer-executable) 명령어, 모듈(들), 알고리즘, 하드웨어 로직(가령, 필드 프로그램가능 게이트 어레이(Field-programmable Gate Array: FPGA), 애플리케이션 특정 집적 회로(Application-Specific Integrated Circuit: ASIC), 애플리케이션 특정 표준 제품(Application-Specific Standard Product: ASSP), 시스템 온 칩 시스템(System-On-a-Chip system: SOC), 복합 프로그램가능 로직 디바이스(Complex Programmable Logic Device: CPLD))을 나타낼 수 있고/있거나, 예를 들면 용어 "설비"는, 하드웨어 로직(가령, 필드 프로그램가능 게이트 어레이(Field-programmable Gate Array: FPGA), 애플리케이션 특정 집적 회로(Application-Specific Integrated Circuit: ASIC), 애플리케이션 특정 표준 제품(Application-Specific Standard Product: ASSP), 시스템 온 칩 시스템(System-On-a-Chip system: SOC), 복합 프로그램가능 로직 디바이스(Complex Programmable Logic Device: CPLD)), 다른 디바이스(들), 그리고/또는 위의 콘텍스트(context)에 의해 그리고 문서를 통틀어 허용되는 바와 같은 다른 시스템(들)을 나타낼 수 있다.
상세한 설명은 첨부된 도면을 참조하여 기술된다. 도면에서, 참조 번호의 맨 왼쪽의 숫자는 그 참조 번호가 처음 나타난 도면을 나타낸다. 전체 도면에서, 동일한 특징부 및 구성 요소에는 동일한 번호가 사용된다.
도 1은 텔레비전 상의 비디오 제시(video presentation)로부터 오디오-비디오를 캡처하는 모바일 디바이스를 사용하는 모바일 비디오 서치의 예시적 실시예를 나타내는 도면,
도 2는 도 1의 실시예로부터의 모바일 비디오 서치의 예시적 사용자 인터페이스의 일부를 나타내는 도면,
도 3은 모바일 비디오 서치를 구현하기 위한 예시적 아키텍처(architecture)를 나타내는 도면,
도 4는 모바일 비디오 서치를 위해 구성된 예시적 모바일 디바이스의 선택 컴포넌트를 나타내는 블록도,
도 5는 모바일 비디오 서치를 위해 이용될 수 있는 계층화된 오디오-비디오 색인화(layered audio-video indexing)를 위해 구성된 예시적 서버 디바이스의 선택 컴포넌트를 나타내는 블록도,
도 6은 모바일 비디오 서치를 구현하는 모바일 디바이스 및 계층화된 오디오-비디오 색인화를 구현하는 서버를 포함하는 시스템의 예시적 프레임워크(framework)를 나타내는 도면,
도 7은 오디오 핑거프린트(audio fingerprint)의 추출의 일례를 나타내는 도면,
도 8은 계층화된 오디오-비디오 색인(layered audio-video index)의 일례를 나타내는 도면,
도 9는 클라이언트 디바이스 상의 모바일 비디오 서치를 구현하기 위한 예시적 프로세스의 흐름도(flow diagram),
도 10은 계층화된 오디오-비디오 색인을 사용해서 서버에 대한 비디오 서치를 실시하는 예시적 프로세스의 흐름도,
도 11은 계층화된 오디오-비디오 색인을 사용해서 서버에 대한 비디오 서치를 행하는 동안의 점진적 처리의 예시적 구현예를 나타내는 흐름도이다.
모바일 비디오 서치 툴(mobile video search tool)은 비디오 서치에 필요한 관련 결과물을 획득하기 위한 여러가지 기능의 세트를 제공한다. 실제 비디오 파일들의 스니핏(snippet)들을 이용하는 서치를 주로 지원하는 데스크톱 컴퓨터에 비해, 모바일 디바이스는 사용을 용이하게 하고 다양한 환경에서 결과물을 획득하는 데에 이용될 수 있는 사용자 상호작용(user interaction)을 위한 여러가지 인터페이스의 세트를 제공한다. 예컨대, 데스크톱 환경에서 전통적인 키보드와 마우스 입력들 및 파일 업로드와 다운로드를 수신하는 것에 비해서, 모바일 디바이스는 추가적인 다양한 모드의 입력을 수신할 수 있게 된다. 모바일 디바이스 인터페이스는 내장된 카메라를 통한 시각적 모드 및 내장된 마이크를 통한 오디오 모드를 조합할 수 있다.
모바일 디바이스가 이러한 입력 모드를 조합할 수 있으나, 모바일 디바이스로부터의 비디오 서치는 다양한 난제에 직면해 있다. 예컨대, 모바일 비디오 서치가 직면한 난제 중 하나는 사용자가 이상적인 상황을 밑돌더라도 서치가 요망될 수 있다는 것이다. 그 환경은 소란스럽고/거나, 일관적이지 않게 빛을 받거나 변덕스러운 조명이 있고/있거나, 변덕스러운 속도의 인터넷 연결이 있는 환경 내에 있을 수 있다. 대조적으로, 데스크톱 컴퓨터로부터의 비디오 서치는 통상 카메라 및/또는 마이크로써 캡처된 것과 같은 다른 디바이스 상의 비디오의 제시의 레코딩보다는 비디오 파일의 스니핏을 제출하는 것을 포함한다.
모바일 비디오 서치가 직면한 다른 난제는 모바일 디바이스의 하드웨어 제한을 포함한다. 모바일 디바이스의 프로세서, 가령 중앙 처리 유닛(Central Processing Unit: CPU)과 그래픽 처리 유닛(Graphics Processing Unit: GPU) 및 메모리는 여전히 데스크톱 컴퓨터와 호환가능하지 않다. 엄격한 메모리 및 계산 제약은 커다란 메모리 비용이나 심한 계산이 있는 시그니처(signature)들을 모바일 클라이언트에 부적합하게 만든다. 추가적으로, 네트워크 및 대역폭 제한의 부정적 영향이다. 모바일 디바이스와는 네트워크 연결이 흔히 신뢰할 수 없는 것이며 대역폭은 상대적으로 적다. 본 명세서에 기술된 바와 같은 모바일 비디오 서치에서, 병목 및 단절된(dropped) 연결의 영향은 네트워크 상에서 통신되는 데이터의 볼륨(volume)을 줄이기 위해 그리고 궁극적으로는 네트워크 지연시간(latency)을 줄이기 위해 간결한 시그니처들을 사용함으로써 제한될 수 있다. 추가로, 서치를 위한 모바일 디바이스의 사용자는 서치 지연시간에 민감하다. 종래의 질의 클립보다 더 짧은 것이 캡처되고 있는 동안 점진적 서치로부터의 결과를 비롯한 예비적 결과의 제시는 사용자에 대해 외관상 지연시간을 줄인다.
예컨대, 사용자는 회의에 걸어가고 있고 상점 앞 창유리에서의 비디오 제시에 주목할 수 있다. 사용자가 멈추어서 비디오를 주시할 시간은 없더라도, 사용자는 그 툴이 매칭 비디오를 회신할 때까지 그 툴을 사용하여 비디오의 몇 초를 캡처할 수 있다. 사용자는 나중에 보기 위해 비디오의 명칭을 세이브할 수 있다. 이 예에서, 클라이언트 측 툴은 그 제시로부터 오디오를 그리고 그 제시로부터 비디오 이미지를 캡처하고 캡처된 컨텐츠에 대해 경량의(lightweight) 변환을 수행할 수 있다. 그 변환은 소란스러운 거리 상황에서라도 오디오 핑거프린트를 추출하는 것과 시각적 해시 비트(visual hash bit)를 추출하는 것을 포함한다. 데스크톱 컴퓨터에 비해 모바일 디바이스의 상대적으로 제한된 메모리 및 컴퓨팅 리소스에 비추어, 예컨대, 비디오 클립을 제시하기 위해 계산상으로 고비용인 시그니처를 추출하는 것을 실현불가능하게 만들 수 있다. 더욱이, 처리를 위해 서버에 비디오 클립을 송신하는 데에 이용가능한 대역폭은 이용가능하지 않을 수 있거나 송신의 지속기간이 받아들일 수 없게 길 수 있다. 모바일 디바이스 상의 컴퓨팅 용량을 이용함으로써, 그 툴은 그 변환을 수행하고 네트워크 상에서 훨씬 더 적은 양의 데이터를 송신할 수 있다. 예컨대, 오디오 핑거프린트의 추출은 1초의 비디오에 대해 대략 0.5 KB의 데이터를 초래할 수 있다. 유사하게, 비디오로부터의 시각적 해시 비트의 추출은 1초의 비디오에 대해 대략 1.0 KB의 데이터를 초래할 수 있다. 그러므로, 비디오 클립의 전체 초를 송신하기 위한 데이터의 양에 비해 2KB 미만의 데이터를 위하여 이들 조합된 특성들의 오디오-비디오 시그니처(audio-video signature)가 송신될 수 있다. 더욱이, 검색 시스템(retrieval system)의 감소된 지연시간 때문에, 예를 들어 후보 결과의 점진적 제시를 위해, 비디오 입력이 여전히 획득되고 있는 동안, 가능한 매치가 회신될(returned) 수 있다. 어떠한 추가적인 후보 비디오 매치도 획득되고 있지 않거나 결과 리스트가 일정 기간, 가령 3초 동안 바뀌지 않으면, 질의와 매칭하는 비디오가 식별되었을 때 서치는 끝날 수 있고, 서치는 자동으로 중단될 수 있으며, 사용자 인터페이스는 후보 결과의 안정화된 리스트를 반영하도록 변경될 수 있다.
본 명세서에 기술된 바와 같은 모바일 비디오 서치 툴의 측면은 모바일 디바이스 상에서 및/또는 애플리케이션 프로그래밍 인터페이스(Application Programming Interface: API)를 통하여 구동되는(running) 서치 애플리케이션으로서 구현될 수 있다. 모바일 비디오 서치 툴은 질의를 위해 비디오 입력을 캡처하고, 오디오-비디오 시그니처를 형성하기 위해 오디오 핑거프린트 및 시각적 해시 비트의 추출을 수행할 수 있다. 모바일 디바이스 상에서 구동되는 애플리케이션의 경우에, 애플리케이션은 오디오-비디오 시그니처를 비디오 서치 질의로서 송신할 수 있다. API의 경우에, 애플리케이션은 비디오 서치를 위해 사용할 다른 애플리케이션을 위해 API를 통하여 오디오-비디오 시그니처를 조성하는 오디오 핑거프린트 및 시각적 해시 비트를 노출시킬 수 있다.
클라우드(cloud)에서, 시스템은 신규한 계층화된 오디오-비디오(Layered Audio-VidEo: LAVE) 색인화 방안을 사용하여 대규모 비디오 데이터를 색인화할 수 있되, 클라이언트 상에서, 시스템은 경량의 결합 오디오-비디오 시그니처(joint audio-video signature)들을 실시간으로 추출하고 점진적 방식으로 서치한다. LAVE 방안은 오디오-비디오 시그니처들을 결합 다중계층화된 오디오-비디오 색인화(joint multi-layered audio-video indexing)를 통해 조합하는데, 이는 유사도 계산에서 각각의 시그니처의 개별적인 구조를 보존하고 조합 단계에서 그것들의 상관관계(correlation)를 고려한다. 결합 오디오-비디오 시그니처는 모바일 디바이스에 있어서 계산상 저비용이고 개별적인 오디오 및 시각적 모드들로부터 차별적인 힘을 강화한다. 그러므로 오디오-비디오 시그니처는 큰 변이(variance), 가령 질의 비디오 내의 잡음 및 왜곡에 강인하다. 다양한 실시예에서, 학습된 해시 함수는 모바일 디바이스로부터 네트워크 상에서 예를 들어 서버나 클라우드로 전송할 비트의 개수를 상당히 줄인다. 2부분(two-part) 그래프 변환 및 매칭 알고리즘이 비디오 서치를 점진적이게 하는데, 이는 안정적인 결과가 달성되는 경우에 서치가 중단될 수 있음을 의미한다. 본 명세서에 기술된 바와 같이 결과들이 일정 기간 동안, 가령 3초 동안 바뀌지 않는 경우에 결과가 안정적이다. 적어도 하나의 구현예에서, 본 명세서에 기술된 시스템은 질의 비디오가 10초 미만이었던 경우에 90%를 넘는, 가령 90.77%의 정확성을, 그리고 질의 비디오가 5초 미만이었던 경우에 약 70%, 가령 70.07%의 정확성을 달성하였다.
본 명세서에 기술된 바와 같이 서버 또는 클라우드 컴퓨팅 환경은, 네트워크 분산된(network-distributed) 환경으로 지칭될 수도 있는 것으로서, 서치가 행해지는 비디오 컨텐츠의 계층화된 오디오-비디오 색인을 호스팅할(host) 수 있다. 오디오디오-비디오 시그니처를 획득하기 위한 오디오 핑거프린트 및 시각적 해시 비트의 습득의 설명과 유사하게, 서버 또는 클라우드 컴퓨터는 비디오 파일의 라이브러리(library)로부터의 비디오 파일에 대해 오디오-비디오 시그니처의 추출을 수행할 수 있다. 추출된 오디오-비디오 시그니처는 계층화된 오디오-비디오 색인으로서 저장될 수 있는데, 이는 다른 서치 구조에 비해 서치 지연시간을 줄일 수 있다.
다양한 실시예에서, LAVE 색인을 서치하는 것은 다단계 프로세스를 포함한다. 적어도 하나의 실시예에서 우선, 비디오 서치 엔진은 질의로부터의 오디오 핑거프린트를 필터(filter)로서 사용한다. 둘째, 비디오 서치 엔진은 유사도에 대해서 그 필터링된 세트(filtered set)로부터 키 프레임(key frame)들을 비교한다. 셋째, 비디오 서치 엔진은 가장 가까운 결과를 획득하기 위해 기하학적 확인(geometric verification)을 수행한다. 비디오 서치 엔진은 가장 가까운 결과를 순위화할 수 있으며, 비디오 서치 엔진은 가장 가까운 결과를 업데이트할 수 있고/있거나 추가적인 오디오-비디오 시그니처로서의 순위화가 질의로부터 행해진다. 비디오 서치 엔진은 질의가 비롯된 모바일 디바이스를 향해 후보 결과 비디오의 표현을 송신할 수 있다. 몇몇 실시예에서, 후보 결과들은 오디오-비디오 캡처 제시가 진행 중인 동안 그것과 함께 공유되는 사용자 인터페이스 내에 제시될 수 있다. 적어도 하나의 실시예에서, 후보 결과들은 질의를 위한 비디오 입력의 캡처 및 오디오-비디오 시그니처를 형성하기 위한 오디오 핑거프린트와 시각적 해시 비트의 추출이 일어나고 있는 동안 오디오-비디오 캡처 제시와 함께 공유되는 사용자 인터페이스 내에 점진적으로 제시될 수 있다. 결과 리스트가 안정화되는 경우에, 캡처 양상은 종료할 수 있고 사용자 인터페이스는 추가적인 정보를 구비한 또는 추가적인 정보가 없는 후보 결과들의 안정적인 목록의 서치 결과 리스트의 제시로 전이할 수 있다.
적어도 하나의 실시예에서, 본 명세서에 기술된 모바일 비디오 서치 기법은 네트워크 분산된 환경 내에 구현된다. 네트워크 분산된 환경은 하나 이상의 유형의 컴퓨팅 리소스를 포함할 수 있는데, 그 유형의 컴퓨팅 리소스는 컴퓨팅, 네트워킹 및/또는 저장 디바이스를 포함할 수 있다. 네트워크 분산된 환경은 또한 클라우드 컴퓨팅 환경으로 지칭될 수도 있다.
다양한 실시예의 양상이 도 1 내지 도 11을 참조하여 추가로 기술된다.
예시적 구현예
도 1은 본 명세서에 기술된 바와 같이 모바일 디바이스를 사용하는 모바일 비디오 서치의 예시적 실시예의 구현예를 나타낸다. 도시된 예에서, 사용자(102)는 태블릿 또는 스마트폰과 같은 모바일 컴퓨팅 디바이스(104)를 사용하고 있다. 도 1에서, 모바일 컴퓨팅 디바이스(104)는 후보 결과의 리스트(112)를 제시하면서 모바일 비디오 서치 툴(110)을 통하여 텔레비전(108) 상의 비디오 제시(106)로부터 오디오 및 시각적 입력을 캡처하는 것을 나타내는 사용자 인터페이스와 함께 도시된다. 적어도 하나의 실시예에서, 후보 결과의 리스트(112)는 실시간, 또는 거의 실시간으로 계산되고, 클라이언트에 후보 결과의 점진적 리스트(112)로서 회신될 수 있다. 후보 결과와 연관된 후보 이미지 및/또는 후보 텍스트가 모바일 디바이스(104)의 스크린 상의 사용자 인터페이스 내의 목록(112) 내에 제시될 수 있다. 도시된 예에서, 모바일 디바이스(104)는 윈도우즈 폰(Windows Phone®) 디바이스를 나타내되, 다만 다른 모바일 전화, 스마트폰, 태블릿 컴퓨터 및 다른 그러한 모바일 디바이스가 유사하게 이용될 수 있다. 모바일 디바이스(104) 상에서, 하드(hard) 또는 소프트(soft) 버튼의 활성화는 모바일 비디오 서치 툴(110)을 개시하려는 바람을 나타낼 수 있다.
도 1의 예시적 구현예에서, 모바일 비디오 서치 툴(110)은 마이크 그래픽(114)으로 나타내어진 바와 같이, 모바일 디바이스의 마이크를 통해서 오디오 입력을 캡처하는 것으로 도시된다. 다른 구현예에서이기는 하지만, 오디오 캡처는, 다른 그래픽으로 제시될 수도 있고 혹은 대응하는 그래픽 없이 간단히 이해될 수도 있다. 한편, 모바일 비디오 서치 툴(110)은 시각적 캡처(116)를 디스플레이하는 사용자 인터페이스로부터 분명한 바와 같이, 모바일 디바이스의 카메라를 통하여 비디오 입력을 캡처하고 있다. 모바일 비디오 서치 툴이 오디오 입력과 시각적 입력을 계속 캡처하는 동안, 모바일 비디오 서치 툴은, 서치하는 데에서의 사용을 위해, 예컨대 LAVE 색인화된 데이터세트를 서치하기 위해, 클라우드를 향해 송신하기 위한 오디오 입력의 오디오 핑거프린트 및 시각적 입력의 시각적 해시 비트를 추출할 수 있다. 추가로, 모바일 비디오 서치 툴이 오디오 입력과 시각적 입력을 계속 캡처하는 동안, 모바일 비디오 서치 툴은 후보 서치 결과의 점진적 리스트(112)를 수신할 수 있다. 후보 결과와 연관된 후보 이미지 및/또는 후보 텍스트가 모바일 디바이스(104)의 스크린 상의 사용자 인터페이스 내의 목록(112) 내에 제시될 수 있다. 도시된 실시예에서, 후보 이미지 및 후보 텍스트를 포함하는 후보 서치 결과의 점진적 리스트(112)가 사용자 인터페이스 내의 시각적 캡처 옆에 제시되는데, 다만 다른 제시 위치가 고려된다.
다양한 실시예에서, 메모리를 최적화하기 위하여, 모바일 디바이스(104)는 오디오 입력 또는 시각적 입력을 저장하지 않고, 대신에 모바일 디바이스(104)는 오디오 핑거프린트 및 시각적 해시 비트를 저장한다. 오디오 핑거프린트 및 시각적 해시 비트를 저장하는 것은, 대역폭 상태가 좋지 않거나 일정하지 않은 경우 혹은, 디바이스에 네트워크 연결 기능이 없는 경우에 유용할 수 있다.
이전에, 유사 중복(near-duplicate) 비디오를 서치하기 위해 전역적(global) 특징이 채택되었는데, 여기서 비디오는 간결한 전역적 시그니처에 의해 나타내어진다. 그러한 전역적 특징은 불변의(invariant) 전역적 시그니처를 구성하기 위한 공간적 및 시간적 정보의 조합 그리고 비디오를 나타내기 위한 시간선(timeline)에 관해 명암도 세기 분포(gray-level intensity distribution)를 활용하는 시공간적(spatiotemporal) 특징을 포함하였다. 이들 전역적 표현이 대규모 비디오 데이터세트에서 빠른 검색 속도를 달성하기는 하나, 그것들은 심각한 왜곡이 있는 녹화된 질의 비디오에 부응하지 않는다.
전역적 특징과 비교하여, 국부적(local) 서술자는 스케일(scale) 및 배향(orientation)과 같은 국부적 불변성을 살펴보므로 녹화된 질의 비디오 왜곡에 대해 더 독특하고 강인하다. 그러나, 계산상의 복잡도로 인해, 왜곡을 포함할 수 있는 녹화된 질의 비디오를 위해 국부적 서술자를 이용하는 것의 효율성은 다루기 곤란하게 된다. 국부적 서술자 매칭의 속도를 개선하고자 BoW(Bag-of-Words) 및 계층 구조 구성(매칭 프로세스의 속도를 올리기 위함)을 포함하여 몇 가지 접근법이 시도되었다. 그러나, 국부적 서술자 기반 접근법은 모바일 디바이스의 제한된 컴퓨팅 능력 및 메모리로 인해 모바일 디바이스 상에서 동작하는 데 광범위한 최적화를 요구한다.
오디오는 유사 중복 비디오 서치하기에서 중요한 역할을 할 수 있다. 하나의 예는 유사 오디오 서치를 행하기 위해 표식 기반(landmark-based) 오디오 핑거프린트를 이용하고, 다른 예는 유사 비디오 서치를 위하여 오디오 특징을 결정짓기 위한 BoA(Bag of Audio words) 표현(BoW에서 영감을 받음)을 포함한다. 시각적 특징에 비해, 오디오 특징은 더욱 강인하고, 계산상 효율적이며, 간결할 수 있는데, 이는 오디오 특징을 모바일 비디오 서치에서 이용하기에 적합하게 한다.
최근에, 결합 오디오-시각적 유사 중복 비디오 서치(joint audio-visual near-duplicate video search)가 대규모 비디오 사본 검출을 위해 적용되었다. 특징 조합의 핵심 문제는 오디오 및 비디오 특징들 간의 상관관계를 식별하는 것이다. 기존의 융합(fusion) 전략들은 초기 융합(early fusion) 및 후기 융합(late fusion)을 포함한다. 초기 융합 및 후기 융합 전략 양자 모두는 난점이 있다. 예컨대, 초기 융합은 개별적인 특징의 구조적 정보를 보존하지 않는 반면 후기 융합은 특징들 사이의 상관 관계를 인식하지 않는다.
기존의 초기 융합 및 후기 융합 방법들은 모바일 비디오 서치가 특유의 모바일 난제를 다루기 위해 기존의 유사 중복 비디오 서치 방법들이 직접적으로 적응될 수 있도록 오디오-비디오 시그니처의 이점을 충분히 채취할 수는 없다.
도 2는 도 1의 실시예의 모바일 비디오 서치의 사용자 인터페이스 내의 예시적인 안정화된 결과 목록(200)의 도면이다.
위의 방법들에 비해, 본 명세서에 기술된 바와 같은 모바일 비디오 서치 기법 및 설비는 비디오 입력이 캡처되고 있는 동안 점진적인 모바일 비디오 서치를 제공한다. 모바일 비디오 서치 방안은 오디오 핑거프린트 및 시각적 해시 비트로부터 도출될 수 있는 간결한 오디오-비디오 시그니처를 클라우드에 점진적으로 송신한다. LAVE 색인화 기법은 강인한 비디오 서치를 위해 오디오-비디오 시그니처의 이점을 활용한다. 더욱이, 사용자의 서치 경험을 개선하기 위하여, 점진적 질의 프로세스는 2부분 그래프 기반 변환 및 매칭 방법을 이용한다.
따라서, 다양한 구현예에서 모바일 비디오 서치 툴은 오디오 핑거프린트를 획득하기 위해 표식 기반 오디오 핑거프린팅(Landmark-Based Audio Fingerprinting: LBAF)을 이용함으로써 사용자가 질의를 가속화하는 데에 도움이 되도록 오디오 입력을 활용한다.
예시적 구현예에서, 안정화된 후보 결과와 연관된 후보 이미지는 204에 도시된 바와 같이 모바일 디바이스(104)의 스크린 상의 사용자 인터페이스 내의 목록(200) 내에 제시될 수 있다. 한편, 후보 결과와 연관된 텍스트, 가령 표제, 캐릭터 이름 등등은 206에 도시된 바와 같이 모바일 디바이스(104)의 스크린 상의 사용자 인터페이스 내의 목록(200) 내에 제시된다. 도시된 예에서, 결과 목록은 수평 띠 포맷(horizontal ribbon format)으로 제시된 후보 이미지(204) 및 대응하는 표제(206)를 포함하는데, 이로부터 특정한 후보 결과가 서치 영역(202) 위로 드래그하기(dragging)에 의해 또는 모바일 디바이스(104)의 스크린 상의 이미지든 또는 텍스트든 어느 것을 터치하거나 아니면 선택하기에 의해 선택될 수 있다. 그러나, 다른 포맷이 가능하기도 하고 고려되기도 한다. 예컨대, 후보 이미지의 선택은 브라우저가 열려서 사용자가 모바일 디바이스 상에서 보기 위해 그 선택의 사본을 구입하거나 빌릴 기회를 제공하게 할 수 있고/있거나 텍스트 또는 표제의 선택은, 나중의 액세스를 위해, 연관된 이미지와 함께 또는 연관된 이미지 없이, 연관된 비디오에 대한 정보를 띄우거나 표제를 저장할 수 있다.
예시적인 아키텍처
후술되는 아키텍처는 단지 하나의 예를 구성하며 청구항을 어떠한 하나의 특정한 아키텍처나 운영 환경(operating environment)으로라도 한정하도록 의도된 것이 아니다. 청구된 대상물의 사상 및 범주를 벗어나지 않고서 다른 아키텍처가 사용될 수 있다. 도 3은 모바일 비디오 서치를 구현하기 위한 예시적 아키텍처의 도면이다.
몇몇 실시예에서, 환경(300)의 다양한 디바이스 및/또는 컴포넌트는, 모바일 컴퓨팅 디바이스(304)(모바일 컴퓨팅 디바이스(104)에 대응할 수 있고 본 명세서에서 클라이언트 디바이스(304) 또는 단순히 디바이스(304)로 지칭됨)가 적어도 하나의 서버(306)에 연결될 수 있는 하나 이상의 네트워크(들)(302)를 포함한다. 환경(300)은 여러 네트워크(302), 다양한 디바이스(304) 및/또는 복수의 서버(306)를 포함할 수 있다.
다양한 실시예에서, 서버(들)(306)는 학교 시스템 또는 회사와 같은 개체(entity)에 특정한 클라우드 기반 서비스(cloud-based service) 또는 중앙화된 서비스(centralized service)를 호스팅할 수 있다. 실시예는, 리소스를 공유하기, 부하의 균형을 유지하기(balance load), 성능을 올리기, 페일오버(fail-over) 지원 또는 리던던시(redundancy)를 제공하기, 또는 다른 목적을 위해 네트워크(302) 상에서 클러스터(cluster) 또는 다른 그룹화된 구성 내에서 동작하는 하나 이상의 컴퓨팅 디바이스를 서버(들)(306)가 포함할 수 있는 시나리오를 지원한다.
예컨대, 네트워크(들)(302)는 인터넷과 같은 공용 네트워크, 기관 및/또는 개인 인트라넷과 같은 사설 네트워크, 또는 사설 및 공용 네트워크들의 어떤 조합을 포함할 수 있다. 네트워크(들)(302)는, 로컬 영역 네트워크(Local Area Network: LAN), 광역 네트워크(Wide Area Network: WAN), 위성 네트워크, 케이블 네트워크, 와이파이(Wi-Fi) 네트워크, 와이맥스(WiMax) 네트워크, 모바일 통신 네트워크(가령, 3G, 4G 등등) 또는 이들의 임의의 조합을 포함하나 이에 한정되지 않는 임의의 유형의 유선 및/또는 무선 네트워크를 또한 포함할 수 있다. 네트워크(들)(302)는 인터넷 프로토콜(IP), 전송 제어 프로토콜(Transmission Control Protocol: TCP), 사용자 데이터그램 프로토콜(User Datagram Protocol: UDP) 또는 다른 유형의 프로토콜과 같은 패킷 기반(packet-based) 및/또는 데이터그램 기반(datagram-based) 프로토콜을 포함하는 통신 프로토콜을 활용할 수 있다. 더욱이, 네트워크(들)(302)는 네트워크 통신을 가능하게 하고/하거나 네트워크를 위한 하드웨어 기반을 형성하는 다수의 디바이스, 예를 들어 스위치, 라우터, 게이트웨이, 액세스 포인트, 방화벽, 기지국, 리피터, 백본 디바이스 및 유사한 것을 또한 포함할 수 있다.
몇몇 실시예에서, 네트워크(들)(302)는 무선 네트워크로의 연결을 가능하게 하는 디바이스, 예를 들어 무선 액세스 포인트(Wireless Access Point: WAP)를 더 포함할 수 있다. 실시예는, 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers: IEEE) 802.11 표준(가령, 802.11g, 802.11n 등등) 및 다른 표준을 지원하는 WAP을 비롯하여, 다양한 전자기 주파수(가령, 무선 주파수(radio frequency)) 상에서 데이터를 송신하고 수신하는 WAP을 통해 연결성(connectivity)을 지원한다.
컴퓨터 판독가능 매체
컴퓨터 판독가능 매체는, 그 용어가 본 명세서에서 사용됨에 있어서, 적어도, 두 유형의 컴퓨터 판독가능 매체, 즉 컴퓨터 저장 매체 및 통신 매체를 포함한다.
컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성(volatile) 및 비휘발성(non-volatile), 탈착가능형(removable) 및 탈착불가능형(non-removable) 매체를 포함한다. 컴퓨터 저장 매체는, 랜덤 액세스 메모리(RAM), 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 상변화 메모리(PRAM), 판독 전용 메모리(ROM), 소거가능 프로그램가능 판독 전용 메모리(EPROM), 전기적 소거가능 프로그램가능 판독 전용 메모리(EEPROM), 플래시 메모리, 콤팩트 디스크 판독 전용 메모리(CD-ROM), 디지털 다기능 디스크(DVD), 광학 카드 또는 다른 광학 저장 매체, 자기 카세트, 자기 테이프, 자기 디스크 스토리지, 자기 카드 또는 다른 자기 저장 디바이스 또는 매체, 고체 상태 메모리 디바이스, 저장 어레이(storage array), 네트워크 부착 스토리지(network attached storage), 저장 영역 네트워크(storage area network), 호스팅된 컴퓨터 스토리지(hosted computer storage) 또는 임의의 다른 저장 메모리, 저장 디바이스, 그리고/또는 저장 매체 또는 메모리 기술 또는 임의의 다른 비송신(non-transmission) 매체(컴퓨팅 디바이스에 의한 액세스를 위해 정보를 저장하고 유지하는 데에 사용될 수 있음)를 포함하나 이에 한정되지 않는 것이되, 디바이스 및/또는 하드웨어 컴포넌트(디바이스의 일부이거나 디바이스의 외부에 있음)에 포함된 유형적(tangible) 및/또는 물리적 형태의 매체를 포함한다.
대조적으로, 통신 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 변조된 데이터 신호(modulated data signal), 예를 들어 반송파(carrier wave) 또는 다른 송신 메커니즘 내에 실체화할(embody) 수 있다.
본 명세서에 정의된 바와 같이, 컴퓨터 저장 매체는 송신을 수행하는 데에 필요한 하드웨어 컴포넌트 중 어느 것이든 제외한 통신 매체를 포함하지 않는다. 즉, 컴퓨터 저장 매체는 변조된 데이터 신호, 반송파 또는 전파 신호(propagated signal)로만 이루어진 통신 매체 그 자체는 포함하지 않는다.
다양한 실시예에서, 모바일 컴퓨팅 디바이스(304)는 디바이스(304A 내지 304E)와 같은 디바이스를 포함한다. 실시예는 리소스를 공유하기 위해 또는 다른 목적을 위해 클러스터 또는 다른 그룹화된 구성 내에서 동작하는 하나 이상의 컴퓨팅 디바이스를 디바이스(들)(304)가 포함할 수 있는 시나리오를 지원한다. 여러 가지 다양한 모바일 디바이스 유형으로서 도시되거나, 디바이스(들)(304)는 다른 모바일 디바이스 유형일 수 있고 도시된 모바일 디바이스 유형에 한정되지 않는다. 디바이스(들)(304)는 입력/출력 인터페이스(310) 및 컴퓨터 판독가능 매체(312)에 동작가능하게 연결된 하나 또는 여러 프로세서(들)(308)가 있는 임의의 유형의 모바일 컴퓨팅 디바이스를 포함할 수 있다. 디바이스(304)는 예컨대 스마트폰(304A), 랩톱 컴퓨터(304B), 태블릿 컴퓨터(304C), 전기통신 디바이스(304D), PDA(304E) 및/또는 이들의 조합과 같은 모바일 컴퓨팅 디바이스를 포함할 수 있다. 디바이스(304)는 전자책 판독기(electronic book reader), 착용가능 컴퓨터(wearable computer), 자동차용 컴퓨터(automotive computer), 게이밍 디바이스(gaming device), 모바일 씬 클라이언트(mobile thin client), 단말(terminal) 및/또는 워크 스테이션(work station)을 또한 포함할 수 있다. 몇몇 실시예에서, 디바이스(304)는 모바일 디바이스가 아닐 수 있고, 예컨대 컴퓨팅 디바이스, 기기 또는 다른 종류의 디바이스 내에의 통합(integration)을 위한 컴포넌트 및/또는 데스크톱 컴퓨터를 포함할 수 있다.
몇몇 실시예에서, 디바이스(304A)에 관해 도시된 바와 같이, 컴퓨터 판독가능 매체(312)는, 운영 체제(314), 모바일 비디오 서치용 엔진(316), 그리고 다른 모듈, 프로그램 또는 애플리케이션(308)(CPU 또는 GPU와 같은 프로세서(들)(308)에 의해 로딩가능(loadable)하고 실행가능함)을 포함하여 프로세서(들)(308)에 의해 실행가능한 명령어를 저장할 수 있다. 대안적으로, 또는 추가로, 본 명세서에 기능적으로 기술된 것은, 적어도 부분적으로, 하나 이상의 하드웨어 로직 컴포넌트에 의해 수행될 수 있다. 한정하지 않고서, 예를 들면, 사용될 수 있는 하드웨어 로직 컴포넌트의 예시적인 유형은 필드 프로그램가능 게이트 어레이(Field-programmable Gate Array: FPGA), 프로그램 특정 집적 회로(Program-Specific Integrated Circuit: ASIC), 프로그램 특정 표준 제품(Program-Specific Standard Product: ASSP), 시스템 온 칩 시스템(System-On-a-Chip system: SOC), 복합 프로그램가능 로직 디바이스(Complex Programmable Logic Device: CPLD) 등등을 포함한다.
다양한 실시예에서의 컴퓨터 판독가능 매체(312)는 컴퓨터 저장 매체를 포함할 수 있는데, 이는 결국 앞서 논의된 바와 같이 휘발성 메모리, 비휘발성 메모리, 그리고/또는 다른 지속성(persistent) 및/또는 보조적 컴퓨터 저장 매체를 포함할 수 있다. 그러므로, 컴퓨터 저장 매체로서 구현되는 경우에 컴퓨터 판독가능 매체(312)는, RAM, SRAM, DRAM, ROM, EPROM, EEPROM, 플래시 메모리, CD-ROM, DVD, 광학 카드 또는 다른 광학 저장 매체, 자기 카세트, 자기 테이프, 자기 디스크 스토리지, 자기 카드 또는 다른 자기 저장 디바이스 또는 매체, 솔리드 스테이트 메모리 디바이스, 저장 어레이, 네트워크 부착 스토리지, 저장 영역 네트워크, 호스팅된 컴퓨터 스토리지 또는 임의의 다른 저장 메모리, 저장 디바이스, 그리고/또는 저장 매체(컴퓨팅 디바이스에 의한 액세스를 위해 정보를 저장하고 유지하는 데에 사용될 수 있음)를 포함하나 이에 한정되지 않는 것이되, 디바이스 및/또는 하드웨어 컴포넌트(디바이스의 일부이거나 디바이스의 외부에 있음)에 포함된 유형적 및/또는 물리적 형태의 매체를 포함한다. 그러나, 컴퓨터 저장 매체로서 구현되는 경우에 컴퓨터 판독가능 매체(312)는 전파 신호로만 이루어진 통신 매체 그 자체는 포함하지 않는다.
디바이스(들)(304)는 디바이스(304)로 하여금 다른 디바이스와 통신할 수 있게 하기 위한 하나 이상의 입력/출력(I/O) 인터페이스(310)를 더 포함할 수 있다. 디바이스(304)의 입력/출력(I/O) 인터페이스(310)는 네트워크(들)(302) 상에서 컴퓨팅 디바이스(304) 및 다른 네트워킹된 디바이스(예를 들어 다른 디바이스(들)(304) 및/또는 서버(들)(306)) 간의 통신을 가능하게 하기 위한 하나 이상의 네트워크 인터페이스를 또한 포함할 수 있다. 디바이스(304)의 입력/출력(I/O) 인터페이스(310)는 디바이스(304)로 하여금 사용자 입력 주변 디바이스(가령, 키보드, 마우스, 펜, 게임 컨트롤러, 오디오 입력 디바이스, 시각적 입력 디바이스, 터치 입력 디바이스, 제스처 입력 디바이스(gestural input device) 및 유사한 것) 및/또는 출력 주변 디바이스(가령, 디스플레이, 프린터, 오디오 스피커, 촉각 출력(haptic output) 및 유사한 것)와 같은 다른 디바이스와 통신할 수 있게 할 수 있다. 네트워크 인터페이스(들)는 네트워크 상에서 통신을 송신하고 수신하기 위한 하나 이상의 네트워크 인터페이스 제어기(Network Interface Controller: NIC) 또는 다른 유형의 송수신기 디바이스를 포함할 수 있다.
서버(들)(306)는 입력/출력 인터페이스(322) 및 컴퓨터 판독가능 매체(324)에 동작가능하게 연결된 하나 또는 여러 프로세서(들)(320)가 있는 임의의 유형의 컴퓨팅 디바이스를 포함할 수 있다. 몇몇 실시예에서, 서버(들)(306)에 관해 도시된 바와 같이, 컴퓨터 판독가능 매체(324)는 컴퓨터 판독가능 매체(324)는, 운영 체제(326), 계층화된 오디오-비디오 엔진용 프레임워크(328), 그리고 다른 모듈, 프로그램 또는 애플리케이션(330)(CPU 및/또는 GPU와 같은 프로세서(들)(320)에 의해 로딩가능하고 실행가능함)을 포함하여 프로세서(들)(320)에 의해 실행가능한 명령어를 저장할 수 있다. 대안적으로, 또는 추가로, 본 명세서에 기능적으로 기술된 것은, 적어도 부분적으로, 하나 이상의 하드웨어 로직 컴포넌트에 의해 수행될 수 있다. 한정하지 않고서, 예를 들면, 사용될 수 있는 하드웨어 로직 컴포넌트의 예시적인 유형은 FPGA, ASIC, ASSP, SOC, CPLD 등등을 포함한다.
컴퓨터 저장 매체로서 구현되는 경우에 컴퓨터 판독가능 매체(324)는 휘발성 메모리, 비휘발성 메모리, 그리고/또는 다른 지속성 및/또는 보조적 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 서버(들)(306)는 서버(306)로 하여금 사용자 입력 주변 디바이스(가령, 키보드, 마우스, 펜, 게임 컨트롤러, 오디오 입력 디바이스, 비디오 입력 디바이스, 터치 입력 디바이스, 제스처 입력 디바이스 및 유사한 것) 및/또는 출력 주변 디바이스(가령, 디스플레이, 프린터, 오디오 스피커, 촉각 출력 및 유사한 것)와 같은 다른 디바이스와 통신할 수 있게 하기 위한 하나 이상의 입력/출력(Input/Output: I/O) 인터페이스(322)를 더 포함할 수 있다. 서버(306)의 입력/출력(Input/Output: I/O) 인터페이스(310)는 네트워크(들)(302) 상에서 컴퓨팅 서버(306) 및 다른 네트워킹된 디바이스(예를 들어 다른 서버(들)(306) 및/또는 디바이스(304)) 간의 통신을 가능하게 하기 위한 하나 이상의 네트워크 인터페이스를 또한 포함할 수 있다.
다양한 실시예에서, 서버(들)(306)는 학교 시스템 또는 회사와 같은 개체에 특정한 클라우드 기반 서비스 또는 중앙화된 서비스를 나타낼 수 있다. 서버(들)(306)는 사용자 인터페이스를 하나 이상의 디바이스(들)(304)에 송신하기 위한 프로그래밍을 포함할 수 있다. 서버(들)(306)는 사용자 프로파일(user profile)을 저장하거나 액세스할 수 있는데, 이는 사용자 계좌 번호, 이름, 위치와 같이 사용자가 그 개체가 모으는 것에 동의한 정보 및/또는 신뢰할 수 없는 환경에서 사용자가 민감한 거래를 위해 사용할 수 있는 하나 이상의 클라이언트(들)(304)에 대한 정보를 포함할 수 있다.
예시적 모바일 디바이스
도 4는 본 명세서에 기술된 바와 같은 모바일 비디오 서치 설비를 제공하도록 구성된 예시적 모바일 디바이스(104)의 선택 컴포넌트를 나타낸다. 예시적 모바일 디바이스(304)는 전력 공급부(power supply)(402), 하나 이상의 프로세서(404)(프로세서(들)(308)에 대응할 수 있고 마이크로프로세서를 포함할 수 있음), 그리고 네트워크 인터페이스(406), 하나 이상의 카메라(408), 하나 이상의 마이크(410)를 포함하여 입력/출력 인터페이스(310)에 대응하는 입력 인터페이스를 포함하며, 몇몇 사례에서는 추가적인 입력 인터페이스(412)가 터치 기반 인터페이스 및/또는 제스처 기반 인터페이스를 포함할 수 있다. 예시적 모바일 디바이스(304)는 디스플레이(414)를 포함하여 입력/출력 인터페이스(310)에 대응하는 출력 인터페이스를 또한 포함하며 몇몇 사례에서는 스피커, 프린터 등등과 같은 추가적인 출력 인터페이스(416)를 포함할 수 있다. 네트워크 인터페이스(406)는 모바일 디바이스(304)로 하여금 네트워크(302) 상에서 데이터를 송신 및/또는 수신할 수 있게 한다. 네트워크 인터페이스(406)는 모바일 디바이스(304)로 하여금 웹 기반 데이터 및 셀룰러 전화 네트워크 기반 데이터를 포함하되 이에 한정되지 않는 다양한 유형의 통신을 송신 및/또는 수신할 수 있게 하기 위한 다른 통신 인터페이스의 임의의 조합을 또한 나타낼 수 있다. 추가로 예시적 모바일 디바이스(304)는 컴퓨터 판독가능 매체(418)를 포함하는데, 이는 몇몇 실시예에서 컴퓨터 판독가능 매체(312)에 대응한다. 컴퓨터 판독가능 매체(418)는 운영 체제(OS)(420), 브라우저 애플리케이션(422), 모바일 비디오 서치 툴(316) 및 임의의 개수의 다른 애플리케이션 또는 모듈(424)(이들은 컴퓨터 판독가능 명령어로서 컴퓨터 판독가능 매체(418) 내에 저장되고, 적어도 부분적으로 프로세서(404) 상에서 실행됨)을 저장한다.
브라우저 애플리케이션(422)은 사용자 인터페이스(인터넷 상에서 이용가능한 웹 컨텐츠가 이를 통해 액세스될 수 있음)를 제공하기 위해 모바일 디바이스(304) 상에서 실행될 수 있는 다양한 애플리케이션 중 임의의 것을 나타낸다.
다른 애플리케이션 또는 모듈(424)은 모바일 디바이스(304) 상에서 실행가능한 임의의 개수의 다른 애플리케이션을 포함할 수 있다. 그러한 다른 애플리케이션은, 예컨대 이메일 애플리케이션(email application), 캘린더 애플리케이션(calendar application), 거래 모듈(transactions module), 음악 플레이어, 카메라 애플리케이션, 계산기, 하나 이상의 게임, 하나 이상의 생산성 도구, 메시징 애플리케이션(messaging application), 가속도계(accelerometer) 및 기타 등등을 포함할 수 있다.
모바일 비디오 서치 툴(316)은 오디오 추출 모듈(426), 비디오 추출 모듈(428), 시그니처 모듈(430), 결과 모듈(432), 사용자 인터페이스 모듈(434) 및 임의의 개수의 다른 모바일 비디오 서치 모듈(436) 중 하나 이상을 포함한다. 오디오 추출 모듈(426)은 LBAF와 같은 오디오 핑거프린트를 추출할 수 있다.
비디오 추출 모듈(428)은, 신속히 추출될 뿐만 아니라, 모션(motion), 블러(blur) 및 불균일 조명 상황과 같은 왜곡에 대해 강인한 비디오 서술자를 이용한다. 비디오 추출 모듈(428)은 국부적 비디오 특징으로부터 고속화된 강인 특징(Speeded-Up Robust Features: SURF) 특징과 같은 미처리(raw) 특징을 추출할 수 있다. 그러나, 미처리 SURF 특징을 송신하는 것은 모바일 디바이스로 하여금 받아들일 수 없을 정도로 많은 양의 에너지를 소모하게 할 수 있고 사용자에게 수용가능한 것이기에는 너무 오래 걸릴 수 있다. 다양한 실시예에서 비디오 추출 모듈은 모바일 컴퓨팅 디바이스(104)의 많지 않은 계산 및 메모리 리소스에 부합하여, 해시 비트로 국부적 특징을 압축하기 위해 해싱(hashing) 방법을 사용한다.
시그니처 모듈(430)은 적어도 오디오 추출 모듈(426)로부터의 오디오 핑거프린트 및/또는 비디오 추출 모듈(428)로부터의 시각적 해시 비트에 기초해서 LAVE 서치를 수행하기 위한 프로그래밍의 전부 또는 일부분과 부합하여 동작하며, 이를 만들어낼 수 있다.
사용자 인터페이스 모듈(434)은 모바일 디바이스(104)의 다른 기계적 및/또는 소프트웨어 사용자 인터페이스 컴포넌트의 동작을 위한 프로그래밍의 전부 또는 일부분과 부합하여 동작하며, 이를 만들어낼 수 있다. 예컨대, 프로세서(404)에 의해 실행될 수 있는 것인 사용자 인터페이스 모듈(434)은 모바일 비디오 서치 툴(316)의 콘텍스트에서 하드 또는 소프트 선택 버튼, 홈 스크린 버튼(home screen button), 뒤로 가기 버튼(back button) 및/또는 시작 버튼(start button)의 기능을 제어할 수 있다. 사용자 인터페이스 모듈(434)은 결과 모듈(432)에 의해 수신된 후보 결과 목록 중 특정한 목록의 제시 및 선택을 가능하게 한다. 예컨대, 사용자 인터페이스 모듈(434)은 112 및/또는 200에 도시된 바와 같이 모바일 디바이스(104)의 스크린 상의 스크롤가능 띠 포맷(scrollable ribbon format)으로 제시된 특정한 후보 목록의 제시 및 선택을 가능케 한다.
몇몇 실시예에서, 다른 상호작용적(interactive)인 다양한 모드 이미지 서치 컴포넌트(436)는 모바일 비디오 서치를 수행하기 위해 다른 상호작용적 데이터의 콘텍스트를 적용할 수 있다. 예컨대, 사용될 수 있는 다른 콘텍스트 데이터는 최근의 서치, 메시징 정보, 최근에 액세스된 애플리케이션(가령, 브라우저 서치, 영화 목록 앱 등등)을 식별하는 데이터 및 기타 등등을 포함할 수 있으나 이에 한정되지 않는다.
도 4에는, 모바일 비디오 서치 툴(316) 또는 그 일부가 모바일 디바이스(304)의 컴퓨터 판독가능 매체(418) 상에 저장된 것으로 도시되어 있으나, 몇몇 구현예에서는 하나 이상의 서버(306) 상에 저장되고/되거나 클라우드 기반 구현을 통하여 실행될 수 있다. 추가로, 몇몇 구현예에서, 모바일 비디오 서치 툴(316) 또는 이의 부분은 모바일 디바이스(304)에 의해 액세스가능한(accessible) 임의의 형태의 컴퓨터 판독가능 매체를 사용하여 구현될 수 있다. 나아가, 몇몇 실시예에서, 운영 체제(420), 브라우저 애플리케이션(422), 모바일 비디오 서치 툴(316) 및/또는 다른 애플리케이션이나 모듈(424)의 하나 이상의 컴포넌트는 모바일 디바이스(304)의 일부이거나 모바일 디바이스(304)에게 액세스가능한 것인 집적 회로의 일부로서 구현될 수 있다. 나아가, 모바일 디바이스(304) 상에 구현된 것으로 도시되고 기술되나, 몇몇 실시예에서, 본 명세서에 기술된 바와 같은 모바일 비디오 서치 툴(316)에 의해 제공되는 데이터 액세스 및 다른 기능성은, 데스크톱 컴퓨터 시스템, 게이밍 시스템 및/또는 텔레비전 시스템을 포함하나 이에 한정되지 않는 임의의 다른 유형의 컴퓨팅 디바이스(이는 오디오 및 시각적 입력을 위해 구성된 것이고 이를 통해 사용자는 비디오 서치를 수행할 수 있음) 상에 또한 구현될 수 있다.
예시적 서버 디바이스
도 5는 본 명세서에 기술된 바와 같은 모바일 비디오 서치 설비로서 계층화된 오디오-비디오 색인화를 제공하도록 구성된 예시적 서버 디바이스(306)의 선택 컴포넌트를 나타내는 블록도이다. 예시적 서버(306)는 전력 공급부(502), 하나 이상의 프로세서(504)(프로세서(들)(320)에 대응할 수 있고 마이크로프로세서를 포함할 수 있음), 그리고 네트워크 인터페이스(506)를 포함하여 입력/출력 인터페이스(322)에 대응하는 입력 인터페이스를 포함하며, 몇몇 사례에서는 키보드, 소프트 키, 마이크, 카메라 등등과 같은 하나 이상의 추가적인 입력 인터페이스(508)를 포함할 수 있다. 네트워크 인터페이스(506)에 더하여, 예시적 서버 디바이스(306)는 디스플레이, 스피커, 프린터 등등과 같은 출력 인터페이스를 포함하여 입력/출력 인터페이스(322)에 대응하는 하나 이상의 추가적인 출력 인터페이스(510)를 또한 포함할 수 있다. 네트워크 인터페이스(506)는 서버(306)로 하여금 네트워크(302) 상에서 데이터를 송신 및/또는 수신할 수 있게 한다. 네트워크 인터페이스(506)는 서버(306)로 하여금 웹 기반 데이터 및 셀룰러 전화 네트워크 기반 데이터를 포함하되 이에 한정되지 않는 다양한 유형의 통신을 송신 및/또는 수신할 수 있게 하기 위한 다른 통신 인터페이스의 임의의 조합을 또한 나타낼 수 있다. 추가로 예시적 서버(306)는 컴퓨터 판독가능 매체(512)를 포함하는데, 이는 몇몇 실시예에서 컴퓨터 판독가능 매체 컴퓨터 판독가능 매체(324)에 대응한다. 컴퓨터 판독가능 매체(512)는 운영 체제(OS)(514), LAVE 색인(516), 계층화된 오디오-비디오 엔진(328) 및 임의의 개수의 다른 애플리케이션 또는 모듈(518)(이들은 컴퓨터 실행가능 명령어로서 컴퓨터 판독가능 매체(512) 상에 저장되고, 적어도 부분적으로 프로세서(504) 상에서 실행됨)을 저장한다.
다른 애플리케이션 또는 모듈(518)은 서버(306) 상에서 실행가능한 임의의 개수의 다른 애플리케이션을 포함할 수 있다. 그러한 다른 애플리케이션은, 예컨대 이메일 애플리케이션, 캘린더 애플리케이션, 거래 모듈, 음악 플레이어, 카메라 애플리케이션, 계산기, 하나 이상의 게임, 하나 이상의 생산성 도구, 메시징 애플리케이션, 가속도계 및 기타 등등을 포함할 수 있다.
계층화된 오디오-비디오 엔진(328)은 오디오 추출 모듈(524), 비디오 추출 모듈(526), LAVE 서치 모듈(528), 기하학적 확인 모듈(530), 점진적 질의 모듈(532) 및 판단 모듈(534) 중 적어도 하나를 포함한다.
서버(306)의 컴퓨터 판독가능 매체(512) 상에 저장된 것으로 도 5에 도시되어 있으나, 몇몇 구현예에서, 계층화된 오디오-비디오 엔진(328) 또는 이의 부분은 하나 이상의 추가적인 서버(306) 상에서 저장되고/되거나 클라우드 기반 구현을 통하여 실행될 수 있다. 추가로, 몇몇 구현예에서, 계층화된 오디오-비디오 엔진(328) 또는 이의 부분은 서버(306)에 의해 액세스가능한 임의의 형태의 컴퓨터 판독가능 매체를 사용하여 구현될 수 있다. 나아가, 몇몇 실시예에서, 운영 체제(514), LAVE 색인(516) 및/또는 다른 애플리케이션이나 모듈(518)의 하나 이상의 컴포넌트는 서버(306)의 일부이거나 서버(306)에게 액세스가능한 것인 집적회로의 일부로서 구현될 수 있다. 나아가, 서버(306) 상에 구현된 것으로 도시되고 기술되나, 몇몇 실시예에서, 본 명세서에 기술된 바와 같은 계층화된 오디오-비디오 엔진(328)에 의해 제공되는 데이터 액세스 및 다른 기능성은, 데스크톱 컴퓨터 시스템, 헤드 엔드(head end) 텔레비전 배포 시스템 및 랩톱 컴퓨터 시스템을 포함하나 이에 한정되지 않는 임의의 다른 유형의 컴퓨팅 디바이스(이는 오디오 및 시각적 색인화를 위해 구성된 것이고 이는 비디오 질의 입력에 기초해서 비디오 서치를 수행할 수 있음) 상에 또한 구현될 수 있다.
도 6은, 600에서, 모바일 비디오 서치를 구현하는 모바일 디바이스 및 계층화된 오디오-비디오 색인화를 구현하는 서버 또는 클라우드 컴퓨팅 환경(네트워크 분산된 환경으로 지칭될 수도 있음)의 예시적 프레임워크의 도면이다. 프레임워크(600)는 오프라인 스테이지(offline stage)(602) 및 온라인 스테이지(online stage)(604)로써 도시된다. 프레임워크(600)는 적어도 하나의 서버(606)(이는 다양한 실시예에서 서버(들)(306)에 대응함)를 포함할 수 있고, 예컨대 웹 서버, 애플리케이션 서버 및 임의의 개수의 다른 데이터 서버를 포함할 수 있다. 한편, 프레임워크(600)는 적어도 하나의 클라이언트(608)(이는 다양한 실시예에서 디바이스(들)(104 및/또는 304)에 대응함)를 포함할 수 있다.
다양한 실시예에서, 클라이언트(608)는 예를 들어 네트워크(302)와 같은 네트워크를 통해서 데이터를 송수신하도록 구성된 임의의 유형의 모바일 컴퓨팅 디바이스를 나타낸다. 예컨대, 클라이언트(608)는 모바일 전화, 스마트폰, PDA, 넷북(netbook), 태블릿 컴퓨터, 휴대형 컴퓨터, 그리고 축소된 폼 팩터(form factor) 및 리소스 제한의 특징을 가진 모바일 컴퓨팅 디바이스로 구현될 수 있다.
오프라인 스테이지(602)에서는, 클라우드 컴퓨팅의 능력을 이용해서, 수천 개의 비디오를 포함한 대규모 소스 비디오 데이터세트(610)를 저장할 수 있다. 612에서, LAVE(328)와 같은 계층화된 오디오-비디오 색인화 애플리케이션은 대규모 소스 비디오 데이터세트(610)로부터 비디오 개개를 위한 오디오-비디오 서술자를 추출한다. 효과적인 결합 오디오-비디오 서술자는, 모바일 비디오 서치 시스템에서 모바일 비디오 캡처링(mobile video capturing) 상태가 복잡한 것으로 인한 질의 비디오의 변이(variance)(가령, 소리가 없는 비디오나 혹은 낮은 시각적 품질의 블러링된 비디오)에 대해 강인할 것이다. 다양한 실시예에서, 결합 서술자 선택은 적어도 부분적으로 세 가지 특성에 기반한다: 1) 녹화된 질의 비디오의 변이에 강인함, 2) 모바일 디바이스 상에서 계산하는 데에 저비용임, 그리고 3) 모바일 비디오 서치를 위해 색인화하기 용이함. 적어도 하나의 실시예에서, LAVES 애플리케이션은 오디오 핑거프린트(614)를 획득하기 위해 표식 기반 오디오 핑거프린팅(Landmark-Based Audio Fingerprinting: LBAF)을, 그리고 시각적 해시 비트(616)를 획득하기 위해 고속화된 강인 특징(Speeded-Up Robust Features: SURF)을 이용한다. 618에서 LAVE 애플리케이션(328)은 이들 서술자를 사용하여 LAVE 색인(620)을 구축하고(build) 저장한다.
온라인 질의 스테이지(604)는 디바이스(304)와 같은 클라이언트 디바이스(608)가 질의 비디오 클립을 캡처하는 동안 수행될 수 있는 다음의 동작을 포함한다: 1) 모바일 디바이스(624) 상에서의 경량의 오디오-비디오 서술자의 실시간 추출. 모바일 비디오 서치 툴(316)은 서버(606)를 향해 (시각적 해시 비트(626) 및 오디오 핑거프린트(628)를 포함하는) 오디오-비디오 시그니처를 송신한다. 다양한 실시예에서 모바일 비디오 서치 툴(316)은 사전결정된 간격으로, 가령 2초의 간격, 1초의 간격, 0.5초의 간격 등등으로 시그니처를 송신한다. 2) 서버(606)는 시그니처, 가령 2초 시그니처, 1초 시그니처, 0.5초 시그니처 등등을 수신한다. 630에서 도시된 바와 같이, 서버(606)는 LAVE 색인(620)을 통해 유사 비디오 키 프레임(632)을 찾는 서치를 행한다. 3) 634에서 도시된 바와 같이, 서버(606)는 서치 결과를 정교화하기 위해 기하학적 확인 기반 시각적 순위화를 사용한다. 기하학적 확인은 질의 특성(636)을 소스 특성(638)과 비교한다. 각각의 매칭된 질의, 가령 1초 질의 및 소스 비디오 키 프레임에 대해, 2부분 그래프 내의 하나의 노드가 수신된 질의를 나타낼 수 있고 다른 노드가 소스 비디오로부터의 후보 매칭 키 프레임을 나타낼 수 있다. 그 그래프에서, 에지(edge)가 질의 노드를 후보 매칭 키 프레임 노드에 연결한다. 4) 640에서 도시된 바와 같이, 서버(606)는 비디오 서치를 점진적이게 하기 위해 2부분 그래프 변환 및 매칭을 통하여 점진적 질의 프로세스를 수행한다. 점진적 질의 프로세스(640)의 세부사항은 알고리즘 1(Algorithm 1)에 도시된다. 예컨대, 만약 새 질의가 도착하는 경우, 새 질의 노드가 636에서 추가될 것이다. 이후, 2부분 그래프의 에지는 회신된 결과에 따라 업데이트될 것이다. 점진적 질의(640) 동안에, 만약 2부분 그래프의 에지의 개수가 바뀌지 않는 경우, 매칭된 비디오의 유사도 점수는 바뀌지 않을 것이고, 그렇지 않다면, 매칭된 비디오의 유사도 점수는 업데이트될 것이다.
642에서, 만약 서치 결과 및/또는 유사도 점수에서의 변화가 일정 기간 동안, 가령 사전결정된 기간인 연속 2초 동안, 연속 3초 동안, 연속 4초 동안 전혀 없는 경우, 판단 모듈(534)은 안정적인 서치 결과가 달성되었음을 판정한다. 몇몇 실시예에서는, 642에서, 만약 서치 결과 및/또는 유사도 점수에서의 변화가 일정 기간 동안, 가령 가변적인 기간 및/또는 상대적인 기간 동안 전혀 없는 경우, 판단 모듈(534)은 안정적인 서치 결과가 달성되었음을 판정한다. 안정적인 서치 결과가 달성되는 경우, 서치 프로세스는 자동으로 중지될 수 있고, 644에서 결과가 모바일 디바이스에 회신될 것이다. 몇몇 실시예에서 서치 결과가 안정적인 경우에는, 646에 나타낸 바와 같이, 서치가 안정적임을 시그널링하는(signal) 사용자 인터페이스 내의 클라이언트 디바이스(608) 상에서의 제시를 위해, 그 결과가 회신된다. 그러나, 서치 결과가 원하는 시간 동안 안정적이지 않은 경우, 서치 프로세스는 계속되고, 648에서 판단 모듈(534)은 비디오 캡처(622) 동안 사용자 인터페이스 내에 보여지는 바와 같이 서치가 완료된 것이 아님을 나타내는 방식으로 디바이스(608)에 결과를 회신한다.
도시된 예에서, 모바일 디바이스(304)와 같은 클라이언트 디바이스(608)는 622에서 도시된 바와 같이, 비디오 질의를 개시하기 위해 마이크 및 카메라를 통하여 비디오 입력을 수신한다. 시스템은 628에서 도시된 바와 같이 LBAF와 같은 오디오 핑거프린트를 추출하기 위해 모듈(426)과 같은 오디오 추출 모듈을 이용한다. 시스템은 또한 626에서 도시된 바와 같이 시각적 해시 비트를 추출하기 위해 모듈(428)과 같은 비디오 추출 모듈을 이용한다.
시각적 해시 비트에 관해, 비디오 추출 모듈(428) 및/또는 비디오 추출 모듈(526)과 같은 비디오 추출 모듈은 국부적 특징을 해시 비트로 압축하기 위해 해싱 방법을 사용할 수 있다. 예컨대, 비디오 추출 모듈은
Figure 112016037947641-pct00001
에 의해 나타내어지는 것과 같은 해시 함수(hash function)를 학습하기 위해 최소 손실 해싱(Minimal Loss Hashing) 또는 스펙트럼 해싱(Spectral Hashing)을 사용할 수 있는데, 여기서
Figure 112016037947641-pct00002
는 SURF 서술자 벡터를 나타내고,
Figure 112016037947641-pct00003
는 학습된 해시 행렬(hash matrix)을 나타내며,
Figure 112016037947641-pct00004
는 임계 스칼라(threshold scalar)를 나타내어,
Figure 112016037947641-pct00005
를 계산하는데, 이는 학습된 시각적 해시 비트를 나타낸다. 몇몇 실시예에서, 비디오 추출 모듈은 이진 코드(binary code)를 80 비트로 한정할 수 있다. 이러한 실시예에서, 비디오 추출 모듈은 SURF 서술자의 각도 값을 세이브하기 위해 8개의 비트를 사용할 수 있는데, 이는 도 6의 634에 관해서 설명한 바와 같이 장래에 기하학적 확인을 위해 사용될 것이다. 따라서, 비디오 추출 모듈은 각각의 SURF 특징을
Figure 112016037947641-pct00006
로 압축할 수 있는데, 이는 논의된 예에서 단지 88 비트일 수 있다.
비디오 추출 모듈은 다양한 모바일 디바이스 상의 상이한 카메라 해상도로 인한 차이를 최소화하기 위해 질의 이미지를 작은 사진으로 스케일조정을 할 수 있다. 질의 이미지를 작은 사진으로 스케일조정하는 것은 모바일 디바이스 상에서의 특징 추출 속도를 개선할 수 있고 그것은 송신될 필요가 있는 특징점(feature point)의 개수를 감소시킬 수 있다. 몇 가지 구현예에서, 그러한 스케일조정(scaling)은 정확도에 대한 영향은 거의 없이 질의 속도를 개선한다. 예컨대, 스케일조정 후, 하나의 프레임에 대해 평균 75개의 SURF 점이 있는데, 이는 모바일 디바이스로 하여금 그 프레임을 위해 서버에 1 KB보다 적은 시각적 특징을 송신할 수 있게 한다.
도 7은 오디오 핑거프린트의 추출의 일례의 도면이다. 다양한 오디오 특징 중에서, LBAF가 많은 유사 중복 비디오 서치 방법에서 널리 사용된다. LBAF의 빠른 계산, 효율적인 메모리 및 불변 환산(invariant translation)은 또한 모바일 비디오 서치에 적합하다. 다양한 구현예에서, 오디오 추출 모듈(426) 및/또는 오디오 추출 모듈(524)과 같은 오디오 추출 모듈은 LBAF와 같은 오디오 핑거프린트를 추출한다. 702에서, 오디오 추출 모듈은 오디오 정보를, 길이가
Figure 112016037947641-pct00007
이고 폭(stride)이
Figure 112016037947641-pct00008
인, 짧고 부분적으로 중첩하는 프레임으로 오디오 정보를 분할한다(segment). 704에서, 오디오 추출 모듈은 각 프레임에 대해 스펙트로그램(spectrogram)을 계산한다. 706에서, 오디오 추출 모듈은 프레임의 스펙트로그램 상의 708a 및 708b와 같은 후보 피크(candidate peak)들을 설정한다. 몇 가지 실시예에서 오디오 추출 모듈은 적어도 세 가지 기준에 따라 프레임의 스펙트로그램 상의 후보 피크를 설정한다: 그것의 모든 이웃보다 더 높은 에너지 함량(energy content), 그것의 이웃보다 더 높은 진폭, 그리고 밀도 기준. 710에서, 오디오 추출 모듈은 그 피크들로부터 기준점(anchor point)(712)을 고르고 기준점을 위한 대응하는 목표 구역(target zone)(714)을 식별한다. 각각의 기준점(712)은 순차적으로 그것의 목표 구역(714) 내의 후보 피크와 짝지어진다(paired). 기준점-후보 피크 쌍은 표식으로 불릴 수 있다. 각각의 표식은
Figure 112016037947641-pct00009
로서 나타내어질 수 있는데, 여기서
Figure 112016037947641-pct00010
Figure 112016037947641-pct00011
는 기준점의 시간 오프셋(time offset) 및 주파수이고,
Figure 112016037947641-pct00012
Figure 112016037947641-pct00013
는 기준점 및 목표 구역 내의 짝지어진 점 간의 시간 및 주파수 차이들이다. 오디오 추출 모듈은 핑거프린트를
Figure 112016037947641-pct00014
로 압축할 수 있는데 여기서
Figure 112016037947641-pct00015
Figure 112016037947641-pct00016
,
Figure 112016037947641-pct00017
Figure 112016037947641-pct00018
의 해시 값이다. 상이한
Figure 112016037947641-pct00019
가 동일한
Figure 112016037947641-pct00020
을 가질 수 있다.
하나의 구현예에서, 해시 비트
Figure 112016037947641-pct00021
에 대한 25 비트 미만으로의 제한과 함께,
Figure 112016037947641-pct00022
= 256 ms이고
Figure 112016037947641-pct00023
= 32 ms이다.
Figure 112016037947641-pct00024
에 대해 15 비트가 있으므로,
Figure 112016037947641-pct00025
의 길이 = 40 비트이다. 적어도 하나의 실시예에서, 1초 오디오 클립에 대해, 오디오 추출 모듈은 총 100개의 표식을 고를 수 있다. 그러므로, 오디오 추출 모듈은 송신할 데이터의 양을 오디오 핑거프린팅을 위해 단지 초당 0.5 KB로 줄일 수 있다.
이 예에서, 특징 추출을 통해, 모바일 디바이스는 100개의 오디오 특징점과 75개의 시각적 특징점을 획득하는데, 이는 효율적인 압축을 통해 네트워크 상에서 송신될 비디오 컨텐츠의 초당 2KB 미만의 오디오-시각적 시그니처를 나타낸다.
도 8은 계층화된 오디오-비디오(LAVE) 색인화 방안(800)의 일례의 도면이다. 800에 도시된 바와 같이, LAVE 방안은 두 계층(802 및 804)을 이용한다. 제1 계층(802)은 색인 엔트리(index entry)를 나타내는데, 이는 오디오 색인(audio index)(806) 및 시각적 색인(visual index)(808)으로 구성된 다중 색인(multi-index)을 포함한다. 제2 계층(804)은 시각적 해시 비트를 나타내는데, 이는 제2 계층 시각적 색인화(810)를 포함한다. LAVE 방안은 특징 매칭 및 조합을 위해 제2 계층 시각적 색인화(810)의 시각적 해시 비트를 사용한다. 제1 계층에서 서치하는 것 이후에, 시스템은 정교화된 유사 시각적 특징점을 오디오 색인으로부터 그리고 시각적 색인으로부터 획득할 수 있다. 따라서, 이 콘텍스트에서의 조합은 오디오 색인으로부터의 그리고 시각적 색인으로부터의 정교화된 유사 시각적 특징점들을 함께 융합하는 것 및 그것들로부터 가장 (상위 K개의) 유사한 시각적 특징점을 선택하는 것을 포함한다.
이 구조들에는 두 가지 이점이 있다: 1) 그 구조들은 계층적 분해(hierarchical decomposition) 전략을 이용함으로써 시각적 점 서치 속도를 개선하고, 2) 그 구조들은 오디오 및 시각적 신호들의 상보적(complementary) 특질을 활용한다. 제1 계층(802) 내의 상이한 색인화 엔트리는 오디오 및 시각적 시그니처들의 개별적인 구조를 보존한다. 제2 계층(804)에서, 오디오 및 시각적의 조합은 시각적 해시 비트들의 해밍 거리(hamming distance)에 의해 가중화될(weighted) 수 있다.
LAVE 색인 구축
다양한 실시예에서, 시각적 특징과는 대조적으로, 오디오 특징은 (예컨대 각 점을 나타내는 데에 단지 25 비트로써) 매우 압축될 수 있다. 이 압축을 통해서, LAVE 서치 모듈(528)은 오디오 색인의 선형 서치가 가능해진다. LAVE 색인(516)을 구축하기 위하여, 618에 도시된 것과 같은 프로세스는 오디오 색인을 제1 계층(802)의 일부로서 사용할 수 있고 제1 계층의 오디오 색인 내의 각각의 버킷(bucket), 가령 806a,
Figure 112016037947641-pct00026
은 비디오
Figure 112016037947641-pct00027
, 오디오 시간 오프셋
Figure 112016037947641-pct00028
및 키 프레임 번호
Figure 112016037947641-pct00029
에 의해 제2 계층과 연관될 수 있는데, 가령 806aa는,
Figure 112016037947641-pct00030
,
Figure 112016037947641-pct00031
, 그리고 806aa'는,
Figure 112016037947641-pct00032
,
Figure 112016037947641-pct00033
이고, 806b, 가령
Figure 112016037947641-pct00034
, 806c, 가령
Figure 112016037947641-pct00035
등이다. 오디오 색인화를 통해, 계층화된 오디오-비디오 엔진(328)은 제2 계층에서 서치될 시각적 점의 개수를 정교화할 수 있는데, 이는 서치 속도를 개선한다.
그러나, 오디오 정보가 상당히 변경되거나 유실되는 것은 제2 계층 내의 가장 가까운 이웃을 찾아내기 어렵게 할 수 있다. 계층화된 오디오-비디오 엔진(328)은 이 문제를 해결하기 위해 다중 색인을 사용한다. 계층화된 오디오-비디오 엔진(328)은
Figure 112016037947641-pct00036
개의 상이한 해시 테이블에 의해 제2 계층 시각적 색인으로부터 해시 비트를 색인화하는데, 이는 제1 계층의 시각적 색인을 구성한다. 계층화된 오디오-비디오 엔진(328)은 제1 계층 내의 시각적 색인의 해시 비트,
Figure 112016037947641-pct00037
(가령 808a
Figure 112016037947641-pct00038
, 808a'
Figure 112016037947641-pct00039
, 808b
Figure 112016037947641-pct00040
, 808b'
Figure 112016037947641-pct00041
, 808c
Figure 112016037947641-pct00042
, 808c'
Figure 112016037947641-pct00043
, 808d
Figure 112016037947641-pct00044
, 808d'
Figure 112016037947641-pct00045
, 808e
Figure 112016037947641-pct00046
, 808e'
Figure 112016037947641-pct00047
, 808f
Figure 112016037947641-pct00048
, 808f'
Figure 112016037947641-pct00049
등등)를 제2 계층 내의 해시 비트로부터 무작위로(randomly) 선택한다. 수신된 시각적 점에 대해, 적어도 하나의 그러한 해시 테이블 내에서 질의에 가깝게 있게 된 엔트리는 이웃 후보로 여겨진다. 계층화된 오디오-비디오 엔진(328)은 이후 제2 계층 색인(810)(가령 810a
Figure 112016037947641-pct00050
,
Figure 112016037947641-pct00051
, 810a'
Figure 112016037947641-pct00052
, 810a''
Figure 112016037947641-pct00053
, 810b
Figure 112016037947641-pct00054
,
Figure 112016037947641-pct00055
, 810b'
Figure 112016037947641-pct00056
, 810a''
Figure 112016037947641-pct00057
, 810c
Figure 112016037947641-pct00058
,
Figure 112016037947641-pct00059
, 810c'
Figure 112016037947641-pct00060
, 810c''
Figure 112016037947641-pct00061
)을 사용하여 타당성에 대해 후보들을 체크한다. 기존의 기법들과는 대조적으로, 계층화된 오디오-비디오 엔진(328)은
Figure 112016037947641-pct00062
개의 다중 색인을 이용한다:
Figure 112016037947641-pct00063
개의 시각적 색인 및 하나의 오디오 색인.
Figure 112016037947641-pct00064
개의 다중 색인에 의해 정교화된 모든 결과는 제2 계층 내에 함께 조합되며 상위
Figure 112016037947641-pct00065
개의 유사 결과가 선택된다. 오디오 색인은 시각적 색인을 위한 개수
Figure 112016037947641-pct00066
을 줄인다. 적어도 하나의 구현예에서, 설비는 하나의 시각적 색인과 함께 동작한다.
LAVE 색인 서치
다양한 실시예에서, LAVE 색인화에서의 서치 프로세스는 다음과 같이 제시될 수 있다.
Figure 112016037947641-pct00067
는 수신된 오디오 질의 점을 나타내고
Figure 112016037947641-pct00068
는 수신된 시각적 질의 점을 나타낸다고 하자. 서치 프로세스(630)와 같은 서치 프로세스를 통해, LAVE 서치 모듈(528)은 각각의 질의 시각적 점(query visual point)에 대해 상위
Figure 112016037947641-pct00069
개의 시각적 점을 회신할 수 있다.
단계 1,
Figure 112016037947641-pct00070
내의 각각의 오디오 점
Figure 112016037947641-pct00071
에 대해, LAVE 서치 모듈(528)은 오디오 색인에서의 선형 서치에 의해 가장 가까운 근사적 이웃을 습득한다. 이후 LAVE 서치 모듈(528)은 매칭 쌍을 상이한 후보 클러스터
Figure 112016037947641-pct00072
에 할당한다. LAVE 서치 모듈(528)은 두 쌍을, 만약 그것들의 가장 가까운 근사적 이웃이 동일한 비디오에서 유래하는 경우에 동일한 클러스터에 할당한다.
단계 2 LAVE 서치 모듈(528)은 시간적 확인(temporal verification)에 의해 클러스터를 재순서화한다(reorder). 예컨대, LAVE 서치 모듈(528)은 매칭 쌍 내의 두 LBAF들의 시간 차이를 표기하도록
Figure 112016037947641-pct00073
에 의해 시간적 거리를 나타낼 수 있다.
Figure 112016037947641-pct00074
의 히스토그램(histogram)은
Figure 112016037947641-pct00075
내의 모든 쌍에 대해 계산될 수 있고
Figure 112016037947641-pct00076
의 점수는
Figure 112016037947641-pct00077
과 같은데, 여기서
Figure 112016037947641-pct00078
은 히스토그램의 최대값을 나타낸다. 이 점수는 또한 유사도 계산을 위해 사용될 수 있다. 이후 상위
Figure 112016037947641-pct00079
개의 후보 클러스터가 선택된다. 제2 계층 내의 상위
Figure 112016037947641-pct00080
개의 후보 클러스터와 연관된 버킷은 서브세트로 간주될 수 있다.
단계 3,
Figure 112016037947641-pct00081
내의 각각의
Figure 112016037947641-pct00082
에 대해,
Figure 112016037947641-pct00083
개의 LAVE 서치 모듈(528)은 다음과 같이 가장 가까운 근사적 이웃을 획득할 수 있다: a) 상위
Figure 112016037947641-pct00084
개의 근사적 이웃이 제2 계층의 서브세트에서의 선형 서치에 의해 판정될 수 있다. b) 다른 상위
Figure 112016037947641-pct00085
개의 가장 가까운 이웃 점을 서치하기 위해 다중 색인 색인화 방법을 사용한다. c) 그
Figure 112016037947641-pct00086
개의 가장 가까운 이웃 점이 유사 거리에 의해 재순서화될 수 있고, 상위
Figure 112016037947641-pct00087
개의 가장 가까운 점이 선택될 수 있다.
단계 4, LAVE 서치 모듈(528)은 상위
Figure 112016037947641-pct00088
개의 가장 가까운 시각적 점을 서치 결과로서 회신할 수 있다.
요컨대, 그 프로세스에 따르면, LAVE 서치 모듈(528)은 두 스테이지에서 오디오 및 시각적 정보를 조합한다. 제1 스테이지는 단계 1 내지 단계 3.a이다. 이 스테이지에서, 모바일 비디오 서치는 더 많이 압축된 오디오 정보를 조립단위 필터(coarse filter)로서 사용하고 더 차별적인 시각적 정보를 미세단위 필터(fine filter)로서 사용하여 전체적인 서치 속도를 개선한다. 나아가, 별개의 계층들에서 유사도가 계산되므로, 조합 스테이지는 또한 각각의 시그니처의 개별적인 구조를 보존할 수 있다. 제2 스테이지는 단계 3.b 내지 단계 4이다. 오디오 서치 정확도에 심하게 의존하는 제1 조합 스테이지와는 대조적으로, 제2 스테이지에서, 오디오 및 시각적 정보의 조합은 시각적 해시 비트의 해밍 거리에 의해 가중화될 수 있다. 이 두 스테이지는 강인한 모바일 비디오 서치를 위해 오디오 및 시각적 신호의 상보적 특질을 활용한다.
Figure 112016037947641-pct00089
개의 다중 색인, 즉
Figure 112016037947641-pct00090
개의 시각적 색인과 하나의 오디오 색인으로 인해, LAVE 색인을 서치하는 계산상의 복잡도는 LAVE 서치 모듈(528)이 가장 가까운 시각적 이웃 점을 서치하기 위해 사용하는 다중 색인 색인화 방법에 기반할 수 있다.
기하학적 확인
다양한 실시예에서, 기하학적 확인 모듈(530)에 의한 기하학적 확인(634)과 같은 기하학적 확인은 다음과 같이 제시될 수 있다. 기하학적 확인은 질의의 유사한 소스 키 프레임을 얻기 위해 휴 전송(Hough Transfer) 방법으로써, 상위
Figure 112016037947641-pct00091
개의 점을 사용할 수 있고, 국부적 특징의 공간적 일관성을 고려하는 후속 기하학적 확인(Geometric Verification: GV)(634)이 오긍정(false-positive) 매치를 배제하는 데에 사용될 수 있다. GV의 시간 소모를 줄이기 위해서, 기하학적 확인 모듈(530)은 가장 유사한 이미지를 찾아내기 위해 빠르고 효과적인 GV 기반 순위화 단계를 이용할 수 있다. 적어도 하나의 구현예에서, 그 방법은 국부적 특징의 위치 정보가 네트워크 상에서 송신될 필요가 없도록, 서술자의 배향을 활용한다. 그 방법은 중복적인 이미지의 두 개의 매칭된 서술자는 동일한 배향 차이를 가져야 한다고 가정한다. 그래서 두 개의 중복적인 이미지에 대해, 기하학적 확인 모듈(530)은 각각의 매칭된 국부적 특징 쌍 간의 배향 거리(orientation distance)
Figure 112016037947641-pct00092
를 계산한다. 이후 기하학적 확인 모듈(530)은 모든
Figure 112016037947641-pct00093
Figure 112016037947641-pct00094
개(가령,
Figure 112016037947641-pct00095
)의 빈(bin)으로 양자화한다(quantize). 나아가, 기하학적 확인 모듈(530)은 피크를 찾아 히스토그램을 스캐닝하고 전역적인 배향 차이를 피크 값으로서 설정한다. 기하학적 확인 모듈(530)은 피크 내의 쌍의 개수로부터 기하학적 확인 점수를 획득하는데, 이는 총 쌍의 개수에 의해 정규화된다(normalized).
점진적 질의
다양한 실시예에서, 점진적 질의(640)와 같은 점진적 질의 프로세스가 점진적 질의 모듈(532)에 의해 수행된다. 기존의 모바일 비디오 서치 시스템(즉, 모든 질의 데이터를 달성한 후 서치)과는 대조적으로, 본 명세서에 기술된 바와 같은 점진적 질의 프로세스는 질의 비용을 상당히 줄이고 사용자의 서치 경험을 개선할 수 있다. 점진적 질의 모듈(532)은 다음 질의로 나아가고, 예컨대 각각의 질의의 도달 후에 또는 이에 응답하여, 검색 결과를 동적으로 계산할 수 있다. 안정적인 결과가 달성되는 경우 서치가 중지될 수 있다.
알고리즘 1은 적어도 하나의 실시예를 위해 예시적인 점진적 질의 프로세스를 제공한다.
Figure 112016037947641-pct00096
본 명세서에 기술된 바와 같은 계층화된 오디오-비디오 시스템에서, 점진적 질의 프로세스는 2부분 그래프 변환 및 매칭 알고리즘을 통하여 구현될 수 있다. 도 6에 도시된 바와 같이, 각각의 매칭된 질의 및 소스 비디오에 대해, 점진적 질의 모듈(532)은 매칭을 나타내기 위해 2부분 그래프
Figure 112016037947641-pct00097
를 사용할 수 있다. 2부분 그래프에서, 질의 노드 636은
Figure 112016037947641-pct00098
에 의해 나타내어질 수 있고, 시간
Figure 112016037947641-pct00099
에서의 수신된 질의를 표기하며, 소스 노드 638은
Figure 112016037947641-pct00100
에 의해 나타내어질 수 있고, 소스 비디오
Figure 112016037947641-pct00101
내의
Figure 112016037947641-pct00102
번째 키 프레임을 표기한다.
Figure 112016037947641-pct00103
가 질의
Figure 112016037947641-pct00104
의 모든 회신된 유사 키 프레임
Figure 112016037947641-pct00105
을 표기한다고 하자. 만약
Figure 112016037947641-pct00106
인 경우 에지
Figure 112016037947641-pct00107
가 있을 것이다. 매 초의 시간 서치하기 후에, 점진적 질의 모듈(532)은 2부분 그래프
Figure 112016037947641-pct00108
를 업데이트할 수 있고 이후 매칭의 유사도 점수는
Figure 112016037947641-pct00109
를 통해 점진적으로 계산될 수 있다.
알고리즘 1은 점진적 질의 프로세스의 세부사항의 하나의 실시예를 나타낸다. 만약 새로운 질의가 도달하는 경우, 새로운 질의 노드가, 예를 들어 636에서 추가될 것이다. 이후, 2부분 그래프의 에지는 회신된 결과에 따라 업데이트될 것이다. 점진적 질의(640) 동안에, 만약 2부분 그래프의 에지의 개수가 바뀌지 않는 경우, 매칭된 비디오의 유사도 점수는 바뀌지 않을 것이고, 그렇지 않으면, 매칭된 비디오의 유사도 점수는 다음과 같이 업데이트될 것이다: 우선, 점진적 질의 모듈(532)은
Figure 112016037947641-pct00110
의 최대 크기 매칭(Maximum Size Matching: MSM)
Figure 112016037947641-pct00111
을 계산할 수 있다. 만약
Figure 112016037947641-pct00112
인 경우, 점진적 질의 모듈(532)은 수학식 1에 따라 유사도 점수
Figure 112016037947641-pct00113
를 계산할 수 있다.
Figure 112016037947641-pct00114
수학식 1에서,
Figure 112016037947641-pct00115
은 오디오 컨텐츠 유사도를 뒷받침하는데, 이는 수학식 2에 따라 계산될 수 있다.
Figure 112016037947641-pct00116
수학식 2에서,
Figure 112016037947641-pct00117
는 질의
Figure 112016037947641-pct00118
및 비디오
Figure 112016037947641-pct00119
간의 오디오 유사도를 나타내고
Figure 112016037947641-pct00120
는 질의 길이를 나타낸다.
Figure 112016037947641-pct00121
은 수학식 3에 따라 시각적 유사도를 나타낸다.
Figure 112016037947641-pct00122
수학식 3에서,
Figure 112016037947641-pct00123
는 질의
Figure 112016037947641-pct00124
및 비디오
Figure 112016037947641-pct00125
간의 시각적 유사도를 나타내며,
Figure 112016037947641-pct00126
는 시간적 순서 유사도를 나타낸다. 이 점수는 매칭된 비디오가 유사한 시간적 순서를 가질 것임을 보장한다.
Figure 112016037947641-pct00127
의 MSM
Figure 112016037947641-pct00128
가 주어지면, 그것의 시간적 매칭 번호(temporal matching number)는, 예컨대 최장 공통 서브시퀀스(Longest Common Subsequence: LCSS)에 의해 계산될 수 있다. LCSS는 편집 거리(edit distance)의 변형인데, 이는 수학식 4에 따라서 시간적 순서를 따라 매칭된
Figure 112016037947641-pct00129
의 프레임 쌍의 개수를 표기하기 위해 점진적 질의 모듈(532)이 사용할 수 있는 것이다.
Figure 112016037947641-pct00130
그러므로,
Figure 112016037947641-pct00131
은 수학식 5에 따라 획득될 수 있다.
Figure 112016037947641-pct00132
Figure 112016037947641-pct00133
Figure 112016037947641-pct00134
간의 모든 유사도를 계산한 후, 점진적 질의 모듈(532)은 상위
Figure 112016037947641-pct00135
개의 비디오를 서치 결과로서 회신할 수 있다. 다양한 실시예에서, 본 명세서에 기술된 바와 같은 점진적 질의 프로세스(640)의 계산상의 복잡도는
Figure 112016037947641-pct00136
인데, 여기서
Figure 112016037947641-pct00137
는 2부분 그래프의 개수를 나타내고,
Figure 112016037947641-pct00138
는 꼭지점의 개수를 나타내되,
Figure 112016037947641-pct00139
는 각각의 2부분 그래프 내의 에지의 개수를 나타낸다. 그러나, 적어도 하나의 구현예에서, 유사도 계산 프로세스를 위해 쓰이는 시간은
Figure 112016037947641-pct00140
보다 작은데
Figure 112016037947641-pct00141
가 대부분의 2부분 그래프에서 변하지 않기 때문이다.
예시적 동작
도 9 내지 도 11은 본 명세서에 기술된 바와 같은 LAVE 색인화된 데이터세트의 모바일 비디오 서치의 양상을 구현하기 위한 예시적 프로세스를 나타낸다. 이들 프로세스는 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있는 동작의 시퀀스(sequence)를 나타내는 논리적 흐름 그래프 내의 블록들의 모음으로서 나타낸다. 소프트웨어의 콘텍스트에서, 블록들은 하나 이상의 프로세서에 의해 실행되는 경우 프로세서로 하여금 기재된 동작들을 수행하게 하는 하나 이상의 컴퓨터 판독가능 매체 상의 컴퓨터 실행가능 명령어를 나타낸다.
이것은 소프트웨어가 가치 있고 별도로 매매가능한 상품(commodity)일 수 있음을 인정하는 것이다. 그것은, 원하는 기능을 행하기 위해, "덤"(dumb) 또는 표준 하드웨어 상에서 구동되거나 이를 제어하는 소프트웨어를 망라하도록 의도된다. 그것은 또한, 원하는 기능을 행하기 위해, 실리콘 칩을 설계하는 데에 또는 범용 프로그램가능 칩을 구성하는 데에 사용되는, 예를 들어 HDL(hardware description language) 소프트웨어와 같은, 하드웨어의 구성을 "기술"하거나 정의하는 소프트웨어를 망라하도록 의도된다.
프로세스들이 기술된 순서는 한정으로 해석되도록 의도된 것이 아니며, 그 프로세스들 또는 대체적 프로세스들을 구현하기 위해 기술된 프로세스 블록들 중 임의의 개수가 임의의 순서로 조합될 수 있음에 유의하시오. 추가적으로, 개별 블록들은 본 명세서에 기술된 대상물의 사상 및 범주로부터 벗어나지 않고서 프로세스들로부터 삭제될 수 있다. 나아가, 프로세스들은 도 1 내지 도 8을 참조하여 전술된 모바일 디바이스(304) 및 서버(306)를 참조하여 기술되나, 몇몇 실시예에서는 전술된 바와 같은 다른 클라우드 기반 아키텍처를 포함하는 다른 컴퓨터 아키텍처가 전체적으로 또는 부분적으로 이들 프로세스들의 하나 이상의 부분을 구현할 수 있다.
도 9는 디바이스(304)와 같은 클라이언트 디바이스 상의 모바일 비디오 서치 툴을 구현하기 위한 예시적 프로세스(900)를 나타낸다. 프로세스(900)가 클라이언트 디바이스 상에서 수행되는 것으로 기술되나, 클라이언트 디바이스 및 서버를 포함하는 시스템(몇몇 실시예에서는, 전술된 바와 같은 네트워크 기반 또는 클라우드 구성 내의 여러 디바이스를 포함할 수 있음)이 프로세스(900)의 양상을 수행할 수 있다.
본 명세서에 기술된 바와 같은 모바일 비디오 서치 툴의 양상은 몇몇 실시예에서 모바일 디바이스 상에서 및/또는 애플리케이션 프로그래밍 인터페이스(Application Programming Interface: API)를 통하여 구동되는 서치 애플리케이션으로서 구현될 수 있다. 모바일 비디오 서치 툴은 질의를 위한 비디오 입력을 캡처하고 오디오-비디오 시그니처를 형성하기 위해 오디오 핑거프린트 및 시각적 해시 비트의 추출을 수행할 수 있다. 모바일 디바이스 상에서 구동되는 애플리케이션의 경우에, 애플리케이션은 오디오-비디오 시그니처를 비디오 서치 질의로서 송신할 수 있다. API의 경우에, 애플리케이션은 오디오-비디오 시그니처를 이루는 오디오 핑거프린트 및 시각적 해시 비트를 API를 통하여 노출시켜서, 다른 애플리케이션이 비디오 서치하는데 사용하게 할 수 있다. 이 경우, 비디오 서치를 위해 API를 액세스하는 애플리케이션은 오디오-비디오 시그니처를 비디오 서치 질의로서 송신할 수 있다.
블록(902)에서, 모바일 비디오 서치 툴(316)과 같은 비디오 서치 툴을 통하여 비디오 컨텐츠를 입력으로서 수신하도록 구성된 디바이스(304)와 같은 디바이스는 비디오 컨텐츠를 입력으로서 수신한다. 다양한 실시예에서 비디오 컨텐츠를 입력으로서 수신하는 것은 디바이스(304)와 연관된 마이크(410) 및/또는 카메라(408)와 같은 하나 이상의 입력 디바이스 또는 컴포넌트가 마이크를 통하여 비디오 컨텐츠로부터 오디오 입력을 캡처하는 것 및/또는 시간 슬라이스들로 카메라를 통하여 비디오 컨텐츠로부터 시각적 입력을 캡처하는 것을 포함한다. 몇몇 실시예에서 비디오 컨텐츠를 입력으로서 수신하는 것은 API를 통하여 노출된 바와 같은 비디오 컨텐츠와 연관된 오디오 입력 및/또는 시각적 입력을 수신하는 것을 포함한다. 몇 가지 실시예에서, 비디오 컨텐츠의 시간 슬라이스는 디바이스와 연관되지 않은 비디오 출력 디바이스로부터 디바이스와 연관된 입력 디바이스에 의해 수신된다. 다양한 실시예에서, 시간 슬라이스 중 개별 시간 슬라이스의 길이는 적어도 약 0.1초 및 많아야 약 10.0초를 포함한다. 적어도 하나의 실시예에서, 각각의 시간 슬라이스는 비디오 컨텐츠의 1초를 나타낼 수 있다.
블록(904)에서, 오디오 추출 모듈(426) 및/또는 비디오 추출 모듈(428) 중 하나 이상과 같은 오디오-비디오 추출기를 통하여 비디오 컨텐츠의 시간 슬라이스를 위한 오디오-비디오 서술자를 추출하도록 구성된, 디바이스(304)와 같은 디바이스는, 비디오 컨텐츠의 시간 슬라이스를 위한 오디오-비디오 서술자를 포함하여 이의 추출을 수행한다. 다양한 실시예에서 비디오 컨텐츠의 시간 슬라이스를 위한 오디오-비디오 서술자를 추출하는 것은 시간 슬라이스에 대응하는 비디오 컨텐츠의 청각적 및/또는 시각적 특성을 획득하는 것을 포함한다.
몇몇 실시예에서, 블록(906)에서, 오디오 추출 모듈(426)과 같은 오디오 추출 모듈을 통하여 비디오 컨텐츠의 시간 슬라이스를 위해 청각적 특성을 추출하도록 구성된, 디바이스(304)와 같은 디바이스는, 오디오-비디오 시그니처를 생성하는 데에서의 사용을 위해 시간 슬라이스에 대응하는 비디오 컨텐츠의 오디오 핑거프린트를 포함하여 이의 추출을 수행한다.
몇몇 실시예에서, 블록(908)에서, 비디오 추출 모듈(428)과 같은 비디오 추출 모듈을 통하여 비디오 컨텐츠의 시간 슬라이스를 위해 시각적 특성을 추출하도록 구성된, 디바이스(304)와 같은 디바이스는, 오디오-비디오 시그니처를 생성하는 데에서의 사용을 위해 시간 슬라이스에 대응하는 비디오 컨텐츠의 적어도 하나의 시각적 해시 비트를 포함하여 이의 추출을 수행한다.
블록(910)에서, 시그니처 모듈(430)과 같은 시그니처 생성기를 통하여 오디오-비디오 시그니처를 생성하도록 구성된, 디바이스(304)와 같은 디바이스는, 오디오-비디오 서술자가 추출된 것에 적어도 부분적으로 기초해서 비디오 컨텐츠의 시간 슬라이스 중 하나 이상과 연관된 오디오-비디오 시그니처를 생성한다. 몇 가지 실시예에서, 오디오-비디오 시그니처는 비디오 컨텐츠의 시간 슬라이스와 연관된 적어도 오디오 핑거프린트 및 비디오 해시 비트를 포함한다. 다양한 실시예에서, 디바이스 상에서의 오디오-비디오 시그니처의 생성은 애플리케이션에 의해 수행될 수 있고, 생성된 오디오-비디오 시그니처는 서치를 위해 애플리케이션에 의해 사용될 수 있거나 API에 의해 애플리케이션으로부터 제공될 수 있다. 몇몇 실시예에서, 디바이스 상에서의 오디오-비디오 시그니처의 생성은 API가 미처리 서술자 추출(이로부터 디바이스 상에 있거나 디바이스에서 떨어질 수 있는 다른 애플리케이션이 오디오-비디오 시그니처를 생성할 수 있음)을 제공하는 것을 포함할 수 있다.
블록(912)에서, 시그니처 모듈(430)과 같은 시그니처 모듈을 통하여 오디오-비디오 시그니처를 제공하도록 구성된, 디바이스(304)와 같은 디바이스는, 오디오-비디오 서술자가 질의로서 추출된 것에 적어도 부분적으로 기초해서 생성된 비디오 컨텐츠의 시간 슬라이스 중 하나 이상과 연관된 오디오-비디오 시그니처를 제공한다. 다양한 실시예에서 오디오-비디오 시그니처를 제공하는 것은 오디오-비디오 시그니처를 질의로서 데이터세트에 대해 송신하는 것을 포함한다. 다양한 실시예에서, 데이터세트는 계층화된 오디오-비디오 색인화된 데이터세트를 포함한다.
블록(914)에서, 결과 모듈(432)과 같은 결과 모듈을 통하여 질의에 응답하여 후보 결과를 수신하도록 구성된, 디바이스(304)와 같은 디바이스는, 질의에 응답하는 후보 결과를 수신한다. 다양한 실시예에서 질의에 응답하는 후보 결과를 수신하는 것은 수신되고 있는 비디오 컨텐츠의 시간 슬라이스의 끝에 도달하기 전에 후보 결과의 점진적 목록으로서 후보 결과를 수신하는 것을 포함한다.
블록(916)에서, 사용자 인터페이스 모듈(434)과 같은 사용자 인터페이스 모듈을 통하여 질의에 응답하는 후보 결과를 제시하도록 구성된, 디바이스(304)와 같은 디바이스는, 후보 결과가 제시되게 한다. 다양한 실시예에서 후보 결과를 제시하는 것은 수신되고 있는 비디오 컨텐츠의 시간 슬라이스의 끝에 도달하기 전에 디바이스의 사용자 인터페이스 내에 후보 결과를 제시하는 것을 포함한다. 몇몇 실시예에서 후보 결과를 제시하는 것은 수신되고 있는 비디오 컨텐츠의 시간 슬라이스의 끝에 도달하기 전에 디바이스의 사용자 인터페이스 내에 업데이트된 후보 결과를 제시하는 것을 포함한다. 그러한 업데이트된 후보 결과는 점진적 후보 결과 목록을 위한 점진적 후보 결과를 나타낼 수 있다.
도 10은 LAVE 색인(516)과 같은 계층화된 오디오-비디오 색인을 사용하여, 서버(306)와 같은 서버에 대해 비디오 서치를 실시하는 예시적 프로세스(1000)를 나타낸다.
프로세스(100)는 서버 상에서 수행되는 것으로 기술되나, 하나 이상의 서버를 포함하는 시스템(몇몇 실시예에서는 전술된 바와 같은 네트워크 기반 또는 클라우드 구성 내의 여러 디바이스를 그리고 몇몇 사례에서는 적어도 하나의 클라이언트 디바이스를 포함할 수 있음)이 프로세스(1000)를 수행할 수 있다.
블록(1002)에서, 계층화된 오디오-비디오 엔진(328)과 같은 계층화된 오디오-비디오 엔진을 통하여 입력으로서 질의 오디오-비디오 시그니처를 수신하도록 구성된 서버(306)와 같은 디바이스는, 질의 오디오-비디오 시그니처를 입력으로서 수신한다. 다양한 실시예에서 질의 오디오-비디오 시그니처는 계층화된 오디오-비디오 서치를 위한 입력으로서 수신된다. 몇몇 실시예에서 질의 오디오-비디오 시그니처는 디바이스(304)와 같은 모바일 디바이스로부터 계층화된 오디오-비디오 서치를 위한 입력으로서 수신된다.
블록(1004)에서, LAVE 서치 모듈(528)과 같이, 질의 오디오-비디오 시그니처와의 유사도를 갖는 엔트리를 식별하기 위해 계층화된 오디오-비디오 색인을 서치하도록 구성된 서버(306)와 같은 디바이스는, 질의 오디오-비디오 시그니처와의 유사도를 갖는 계층화된 오디오-비디오 색인 내의 엔트리를 식별하기 위해 계층화된 오디오-비디오 엔진과 연관된 계층화된 오디오-비디오 색인의 서치를 수행한다. 다양한 실시예에서 서치는 임계를 넘어 질의 오디오-비디오 시그니처와의 유사도를 갖는 엔트리를 식별한다. 다양한 비배타적(non-exclusive) 사례에서 그 임계는 사전결정된 유사도 임계, 가변적 유사도 임계, 상대적 유사도 임계 및/또는 실시간으로 판정되는 유사도 임계를 포함할 수 있다.
블록(1006)에서, 기하학적 확인 모듈(530)과 같이, 질의 오디오-비디오 시그니처와의 유사도를 갖는 엔트리의 기하학적 확인을 수행하도록 구성된 서버(306)와 같은 디바이스는, 질의 오디오-비디오 시그니처와의 유사도를 갖는 계층화된 오디오-비디오 색인으로부터의 엔트리의 기하학적 확인을 수행한다. 다양한 실시예에서 기하학적 확인을 수행하는 것은 그 질의 오디오-비디오 시그니처로부터의 각각의 키 프레임 및 그 유사도를 갖는 계층화된 오디오-비디오 색인으로부터의 엔트리의 기하학적 확인을 수행하는 것을 포함한다.
블록(1008)에서, 판단 모듈(534)과 같이, 후보 결과를 송신하도록 구성된 서버(306)와 같은 디바이스는, 질의 오디오-비디오 시그니처와 유사한 후보 결과를 송신한다. 다양한 실시예에서 기하학적 확인을 통하여 식별된 후보 결과를 송신하는 것은 모바일 디바이스(예를 들어 모바일 디바이스(304))(이로부터 질의 오디오-비디오 시그니처가 수신되었음)를 향해 기하학적 확인을 통하여 식별된 후보 결과를 송신하는 것을 포함한다.
도 11은 LAVE 색인(516)과 같은 계층화된 오디오-비디오 색인을 사용하여, 서버(306)와 같은 서버에 대해 비디오 서치를 실시하는 다른 예시적 프로세스(1100)를 나타낸다.
프로세스(1100)는 서버 상에서 수행되는 것으로 기술되나, 하나 이상의 서버를 포함하는 시스템(몇몇 실시예에서는 전술된 바와 같은 네트워크 기반 또는 클라우드 구성 내의 여러 디바이스를 그리고 몇몇 사례에서는 적어도 하나의 클라이언트 디바이스를 포함할 수 있음)이 프로세스(1100)를 수행할 수 있다.
블록(1102, 1104 및 1106)에서, 프로세스(1000)에 관해 기술된 바와 같이, 예를 들어 계층화된 오디오-비디오 엔진(328)을 구비하여 구성된 서버(306)와 같은 디바이스는, 각각 블록(1002, 1004 및 1006)에 대응하는 동작을 수행한다.
블록(1108)에서, 점진적 질의 모듈(532)과 같이, 점진적 처리를 수행하도록 구성된 서버(306)와 같은 디바이스는, 기하학적 확인을 통하여 식별된 후보 결과를 처리한다. 다양한 실시예에서 기하학적 확인을 통하여 식별된 후보 결과를 처리하는 것은 각각의 오디오-비디오 시그니처를 갖는 엔트리를 점진적으로 처리하는 것을 포함한다. 몇몇 실시예에서, 각각의 오디오-비디오 시그니처를 갖는 엔트리를 점진적으로 처리하는 것은 2부분 그래프 기반 변환 및 매칭을 이용하는 것을 포함한다.
블록(1110)에서, 판단 모듈(534)과 같이, 후보 결과를 송신하도록 구성된 서버(306)와 같은 디바이스는, 점진적 처리에 따라 후보 결과를 송신한다. 다양한 실시예에서 점진적 처리에 따라 후보 결과를 송신하는 것은 모바일 디바이스(예를 들어 모바일 디바이스(304))(이로부터 질의 오디오-비디오 시그니처가 수신되었음)를 향해 점진적 처리에 따라 후보 결과를 송신하는 것을 포함한다. 몇몇 실시예에서, 점진적 처리에 따라 후보 결과를 송신하는 것은 112와 같이 후보 결과가 업데이트되었고 서치하기가 계속될 것임을 나타내기 위한 구성으로 후보 결과를 송신하는 것으로 포함한다. 몇몇 실시예에서, 점진적 처리에 따라 후보 결과를 송신하는 것은 또한 200과 같이 후보 결과가 업데이트되지 않았고 서치하기가 중지될 것임을 나타내기 위한 구성으로 안정화된 후보 결과를 송신하는 것을 포함한다.
블록(1112)에서, 판단 모듈(534)과 같이, 후보 결과를 송신하도록 구성된 서버(306)와 같은 디바이스는, 점진적 처리로부터의 후보 결과가 안정적인지를 판정한다. 다양한 실시예에서 점진적 처리로부터의 후보 결과가 안정적인지를 판정하는 것은 후보 결과가 유지되는지에 적어도 부분적으로 기초해서 후보 결과를 업데이트할 것인지를 판정하는 것을 포함한다. 몇몇 실시예에서, 점진적 처리로부터의 후보 결과가 안정적인지를 판정하는 것은 일정 시간 동안 후보 결과가 안정적인지를 판정하는 것을 포함한다. 몇몇 실시예에서, 시간은 초로 측정된다. 몇몇 실시예에서, 시간은 2초이다. 몇몇 실시예에서, 시간은 3초이다. 몇몇 실시예에서, 시간은 서치를 중지하지 않고서 점진적 질의 프로세스가 수행된 횟수에 대해 상대적이고/이거나 가변적이다.
몇몇 실시예에서, 블록(1112)에서 후보 결과가 안정적이라고 판정되는 것에 응답하여, 블록(1114)에서, 판단 모듈(534)과 같이, 질의하기를 종료하도록 구성된 서버(306)와 같은 디바이스는, 오디오-비디오 컨텐츠에 대응하는 서치하기를 중지한다. 다양한 실시예에서 후보 결과가 블록(1112)에서 일정 기간 동안 안정적이라고 판정되는 경우는, 오디오-비디오 컨텐츠에 대응하는 위 수신하기, 서치하기, 수행하기 및 처리하기를 중지하는 것을 포함한다. 몇몇 실시예에서, 블록(1114)에서 서치하기를 중지하는 것은 200의 사용자 인터페이스에서와 같이 후보 결과가 업데이트되지 않았고 서치하기가 중지되고 있음을 나타내기 위한 구성으로 점진적 처리에 따라 후보 결과를 송신하는 것을 포함할 수 있다.
몇몇 실시예에서, 블록(1112)에서 후보 결과가 안정적이지 않다고 판정되는 것에 응답하여, 판단 모듈(534)과 같이 질의하기를 종료하도록 구성된 서버(306)와 같은 디바이스는, 서치하기를 계속한다. 다양한 실시예에서 후보 결과가 블록(1112)에서 일정 기간 동안 안정적이지 않다고 판정되는 경우는, 블록(1102)으로 흐름을 되돌림으로써 서치하기를 계속하는 것을 포함하는데, 이는 오디오-비디오 컨텐츠에 대응하는 위 수신하기, 서치하기, 수행하기 및 처리하기를 반복하는 것을 포함할 수 있다. 몇몇 실시예에서, 블록(1102)으로 흐름을 되돌림으로써 서치하기를 계속하는 것은 200의 사용자 인터페이스에서와 같이 후보 결과가 업데이트되었는지를 나타내기 위한 구성으로 점진적 처리에 따라 후보 결과를 송신하는 것을 포함할 수 있다.
실시예의 추가적 예
실시예 A는, 비디오 데이터세트를 액세스하는 단계와, 위 비디오 데이터세트로부터 각각의 비디오에 대해 오디오-비디오 서술자 추출을 수행하는 단계와, 위 각각의 비디오의 시간 슬라이스와 연관된 일련의 오디오-비디오 시그니처를 생성하는 단계와, 그 엔트리가 위 일련의 오디오-비디오 시그니처를 포함하는 계층화된 오디오-비디오 색인을 구축하는 단계를 포함하는 방법을 포함한다.
실시예 B는, 비디오 데이터세트 내의 개별 비디오에 대응하는 오디오-비디오 서술자를 추출하는 단계와, 오디오 색인을 획득하는 단계(위 오디오 인덱스는 위 오디오-비디오 서술자로부터의 오디오 핑거프린트를 포함함)와, 시각적 색인을 획득하는 단계(위 시각적 인덱스는 위 오디오-비디오 서술자로부터의 시각적 해시 비트를 포함함)와, 위 오디오 색인 및 위 시각적 색인의 적어도 일부를 연관시킴으로써 다중 색인을 포함하는 제1 계층을 생성하는 단계와, 위 시각적 색인을 포함하는 제2 계층을 생성하는 단계와, 위 제1 계층의 위 다중 색인 및 위 제2 계층의 위 시각적 색인 간의 시간 관계를 유지하는 단계를 포함하는 방법을 포함한다.
실시예 C는, 실시예 A 및/또는 B에 관해 기술된 바와 같은 방법을 포함하는데, 여기서 제1 계층을 생성하기 위한 시각적 색인의 위 적어도 일부는 제2 계층으로부터의 해시 비트의 무작위 선택을 포함한다.
실시예 D는 실시예 A, B 및/또는 C에 관해 기술된 바와 같은 방법을 포함하는데, 오디오 색인을 통하여 제2 계층 내에서 서치될 다수의 시각적 점을 정교화하는 단계를 더 포함한다.
실시예 E는, 계층화된 오디오-비디오 엔진에서 비디오 컨텐츠에 관련된 질의 오디오-비디오 시그니처를 수신하는 단계와, 임계를 넘는 위 질의 오디오-비디오 시그니처와의 유사도를 갖는 위 계층화된 오디오-비디오 색인 내의 엔트리를 식별하기 위해 위 계층화된 오디오-비디오 엔진과 연관된 계층화된 오디오-비디오 색인을 서치하는 단계와, 위 질의 오디오-비디오 시그니처로부터의 각각의 키 프레임 및 위 유사도를 갖는 위 계층화된 오디오-비디오 색인으로부터의 엔트리의 기하학적 확인을 수행하는 단계와, 위 기하학적 확인을 통하여 식별된 후보 결과를 송신하는 단계를 포함하는 방법을 포함한다.
실시예 F는, 계층화된 오디오-비디오 엔진에서 비디오 컨텐츠에 관련된 질의 오디오-비디오 시그니처를 수신하는 단계와, 임계를 넘는 위 질의 오디오-비디오 시그니처와의 유사도를 갖는 위 계층화된 오디오-비디오 색인 내의 엔트리를 식별하기 위해 위 계층화된 오디오-비디오 엔진과 연관된 계층화된 오디오-비디오 색인을 서치하는 단계와, 위 질의 오디오-비디오 시그니처로부터의 각각의 키 프레임 및 위 유사도를 갖는 위 계층화된 오디오-비디오 색인으로부터의 엔트리의 기하학적 확인을 수행하는 단계와, 각각의 오디오-비디오 시그니처를 갖는 엔트리를 점진적으로 처리하는 단계와, 그 후보 결과가 안정적인지를 판정하는 단계와, 위 부호 결과가 유지되는지에 적어도 부분적으로 기초해서 위 후보 결과를 업데이트할 것인지를 판정하는 단계와, 위 후보 결과가 유지되는지에 따라 식별된 후보 결과를 송신하는 단계와, 위 후보 결과가 사전결정된 기간 동안 유지되지 않는 경우에, 위 오디오-비디오 컨텐츠에 대응하는 위 수신하는 단계, 서치하는 단계, 수행하는 단계 및 처리하는 단계를 반복하는 단계와, 위 후보 결과가 사전결정된 기간 동안 유지되는 경우에, 위 오디오-비디오 컨텐츠에 대응하는 위 수신하는 단계, 서치하는 단계, 수행하는 단계 및 처리하는 단계를 중지하는 단계를 포함하는 방법을 포함한다.
결론
계속 늘어나는 기능성 및 데이터 액세스가 모바일 디바이스를 통해 이용가능하면서, 그러한 디바이스는 이동 중에 계속 늘어나는 양의 데이터로의 액세스를 사용자에게 제공하는 개인 인터넷 서핑 안내자로서의 역할을 할 수 있다. 본 명세서에 기술된 바와 같이 모바일 디바이스에 의해 이용가능한 것이 된 컴퓨팅 리소스를 활용함으로써, 모바일 비디오 서치 툴은 비디오의 클립 자체를 질의로서 송신하지 않고서 비디오 서치를 효과적으로 수행할 수 있다.
모바일 비디오 서치 시스템을 구조적 특징 및/또는 방법 동작에 특정된 표현으로 개시했으나, 첨부된 청구항에 정의된 특징 및 동작은 반드시 개시된 특정 특징 또는 동작으로 한정되는 것이 아니라는 것을 이해할 것이다. 특정한 특징 및 동작은 청구항을 구현하기 위한 예시적 형태로서 개시된 것이다.

Claims (20)

  1. 컴퓨팅 디바이스의 입력 컴포넌트를 통해, 비디오 컨텐츠의 복수의 시간 슬라이스를 수신하는 단계와,
    상기 비디오 컨텐츠의 복수의 시간 슬라이스의 각각의 시간 슬라이스의 비디오의 스케일을 축소시켜 상기 각각의 시간 슬라이스에 대한 각각의 작은 사진을 생성하는 단계 - 상기 작은 사진은 상기 비디오 컨텐츠의 복수의 시간 슬라이스 중의 시간 슬라이스와 대응하는 비디오 세그먼트로부터 수집된 이미지의 축소된 스케일 버전임 - 와,
    상기 각각의 시간 슬라이스에 대응하는 비디오 컨텐츠의 청각적 특성 및 시각적 특성을 획득하도록 상기 각각의 시간 슬라이스에 대한 오디오-비디오 서술자(audio-video descriptor)를 추출하는 단계 - 상기 시각적 특성은 상기 각각의 작은 사진으로부터 추출된 해싱된 특징(hashed feature)을 포함하고, 상기 청각적 특성은 상기 각각의 시간 슬라이스에 대응하는 오디오 컨텐츠에 대한 압축된 핑거프린트(compressed fingerprint)를 포함함 - 와,
    상기 각각의 시간 슬라이스에 대한 상기 오디오-비디오 서술자에 적어도 부분적으로 기초하여, 상기 각각의 시간 슬라이스와 연관된 오디오-비디오 시그니처(audio-video signature)를 생성하는 단계와,
    상기 복수의 시간 슬라이스의 각각의 시간 슬라이스 중 하나 이상의 시간 슬라이스와 연관된 상기 오디오-비디오 시그니처를 데이터세트(dataset)에 대해 질의로서 제공하는 단계와,
    상기 비디오 컨텐츠의 복수의 시간 슬라이스의 각각의 시간 슬라이스 중 상기 하나 이상의 시간 슬라이스의 끝에 도달하기 전에 상기 질의의 후보 결과를 수신하는 단계 - 상기 후보 결과는 상기 복수의 시간 슬라이스의 각각의 시간 슬라이스 중 상기 하나 이상의 시간 슬라이스의 각각을 사용하여 상기 데이터세트의 질의에 대해 업데이트되고, 상기 데이터세트의 질의는 상기 질의에 허용된 시간 윈도우의 경과 후에 중지됨 - 와,
    상기 비디오 컨텐츠의 복수의 시간 슬라이스의 각각의 시간 슬라이스 중 상기 하나 이상의 시간 슬라이스의 끝에 도달하기 전에 상기 후보 결과 중 적어도 일부를 제시하는 단계를 포함하는
    방법.
  2. 제1항에 있어서,
    상기 비디오 컨텐츠의 복수의 시간 슬라이스는 상기 컴퓨팅 디바이스와 연관되지 않은 비디오 출력 디바이스로부터 수신되는,
    방법.
  3. 제1항에 있어서,
    상기 비디오 컨텐츠의 복수의 시간 슬라이스의 각각의 시간 슬라이스의 오디오-비디오는, 상기 컴퓨팅 디바이스와 연관된 카메라 입력 디바이스 또는 마이크 입력 디바이스 중 적어도 하나에 의해 직접적으로 또는 간접적으로 수신되는,
    방법.
  4. 제3항에 있어서,
    상기 비디오 컨텐츠의 복수의 시간 슬라이스는 상기 컴퓨팅 디바이스와 연관되지 않은 비디오 출력 디바이스로부터 수신되는,
    방법.
  5. 제1항에 있어서,
    상기 복수의 시간 슬라이스의 개별 시간 슬라이스의 길이는 적어도 0.1초 및 최대 10.0초를 포함하는,
    방법.
  6. 제1항에 있어서,
    상기 데이터세트는 계층화된 오디오-비디오 색인화된 데이터세트(layered audio-video indexed dataset)를 포함하는,
    방법.
  7. 제1항에 있어서,
    상기 오디오-비디오 시그니처는 상기 비디오 컨텐츠의 복수의 시간 슬라이스의 각각의 시간 슬라이스와 연관된 오디오 핑거프린트 및 비디오 해시 비트(video hash bit)를 포함하는,
    방법.
  8. 제1항에 기재된 방법을 수행하도록 구성된 명령어를 포함하는 메모리 및 적어도 하나의 프로세서를 포함하는 시스템.
  9. 컴퓨터 실행가능 명령어가 인코딩된 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 실행가능 명령어는 실행 시에 디바이스를 제1항에 기재된 방법을 수행하게 프로그램하도록 구성되는,
    컴퓨터 판독가능 저장 매체.
  10. 제1항에 기재된 방법을 수행하도록 구성된 모바일 디바이스.
  11. 계층화된 오디오-비디오 엔진(layered audio-video engine)에서, 비디오 컨텐츠와 관련된 질의 오디오-비디오 시그니처(query audio-video signature)를 수신하는 단계 - 상기 질의 오디오-비디오 시그니처는 상기 질의 오디오-비디오 시그니처와 연관된 비디오 컨텐츠의 스케일을 축소시킴으로써 생성된 작은 사진을 사용하여 적어도 부분적으로 생성된 것이고, 상기 작은 사진은 상기 질의 오디오-비디오 시그니처와 대응하는 비디오 세그먼트로부터 수집된 이미지의 축소된 스케일 버전이며, 상기 질의 오디오-비디오 시그니처는 상기 작은 사진으로부터 추출된 해싱된 특징 및 상기 질의 오디오-비디오 시그니처에 대응하는 오디오 컨텐츠에 대한 압축된 핑거프린트를 포함함 - 와,
    상기 계층화된 오디오-비디오 엔진과 연관된 계층화된 오디오-비디오 색인(layered audio-video index)을 서치하여, 임계값을 초과하는 상기 질의 오디오-비디오 시그니처와의 유사도를 갖는 상기 계층화된 오디오-비디오 색인 내의 엔트리를 식별하는 단계와,
    상기 질의 오디오-비디오 시그니처로부터의 각각의 키 프레임 및 상기 유사도를 갖는 상기 계층화된 오디오-비디오 색인으로부터의 엔트리에 대해서 기하학적 확인(geometric verification)을 수행하는 단계와,
    상기 기하학적 확인을 통해 식별된 후보 결과를 전송하는 단계를 포함하되,
    상기 후보 결과는, 상기 질의 오디오-비디오 시그니처로부터의 각각의 키 프레임 및 상기 유사도를 갖는 상기 계층화된 오디오-비디오 색인으로부터의 엔트리에 대해서 상기 기하학적 확인을 수행할 때 업데이트되고,
    상기 질의 오디오-비디오 시그니처로부터의 각각의 키 프레임 및 상기 유사도를 갖는 상기 계층화된 오디오-비디오 색인으로부터의 엔트리에 대해서 상기 기하학적 확인을 수행하는 것은 상기 질의 오디오-비디오 시그니처를 사용하는 질의에 허용된 시간 윈도우의 경과 후에 중지되는
    방법.
  12. 제11항에 있어서,
    각각의 오디오-비디오 시그니처를 갖는 엔트리를 점진적으로(progressively) 처리하는 단계를 더 포함하는
    방법,
  13. 제12항에 있어서,
    상기 각각의 오디오-비디오 시그니처를 갖는 엔트리를 점진적으로 처리하는 단계는 2부분 그래프 기반 변환 및 매칭(two-part graph-based transformation and matching)을 이용하는 단계를 포함하는,
    방법.
  14. 제11항에 있어서,
    상기 후보 결과가 안정적인지 여부를 판정하는 단계와,
    상기 후보 결과가 유지되는지 여부에 적어도 부분적으로 기초하여 상기 후보 결과를 업데이트할지 여부를 판정하는 단계를 더 포함하는
    방법.
  15. 컴퓨터 실행가능 명령어가 인코딩된 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 실행가능 명령어는 실행 시에 디바이스를 제11항에 기재된 동작을 수행하게 프로그램하도록 구성되는,
    컴퓨터 판독가능 저장 매체.
  16. 제11항에 기재된 방법을 수행하도록 구성된 명령어를 포함하는 메모리 및 적어도 하나의 프로세서를 포함하는 시스템.
  17. 제11항에 기재된 방법을 수행하도록 구성된 컴퓨팅 디바이스.
  18. 계층화된 오디오-비디오 색인을 구축하는 방법으로서,
    비디오 데이터세트 내의 개별 비디오에 대응하는 오디오-비디오 서술자를 추출하는 단계와,
    상기 오디오-비디오 서술자로부터의 오디오 핑거프린트를 포함하는 오디오 색인를 획득하는 단계 - 상기 핑거프린트는 압축되며, 오디오의 표식(landmarks)으로부터 도출됨 - 와,
    상기 오디오-비디오 서술자로부터의 시각적 해시 비트를 포함하는 시각적 색인을 획득하는 단계 - 상기 시각적 해시 비트는 개별 비디오의 스케일의 축소에 의해 생성된 작은 사진으로부터 추출되고, 상기 작은 사진은 상기 오디오-비디오 서술자에 대응하는 비디오 세그먼트로부터 수집된 이미지의 축소된 스케일 버전임 - 와,
    상기 시각적 색인의 적어도 일부와 상기 오디오 색인을 연관시킴으로써 다중 색인을 포함하는 제1 계층을 생성하는 단계와,
    상기 시각적 색인을 포함하는 제2 계층을 생성하는 단계와,
    상기 제1 계층의 다중 색인과 상기 제2 계층의 시각적 색인 사이의 시간 관계를 유지하는 단계를 포함하되,
    상기 오디오-비디오 서술자를 추출하는 것은, 상기 다중 색인을 사용하는 데이터세트에 대한 질의를 완료하는 데 허용된 시간 윈도우의 경과 후에 중지되는
    방법.
  19. 제18항에 있어서,
    상기 제1 계층을 생성하기 위한 상기 시각적 색인의 상기 적어도 일부는 상기 제2 계층으로부터의 해시 비트의 무작위 선택을 포함하는
    방법.
  20. 제18항에 있어서,
    상기 오디오 색인을 통해 제2 계층 내에서 서치될 다수의 시각적 점을 정교화(refining)하는 단계를 더 포함하는
    방법.
KR1020167010380A 2013-10-21 2013-10-21 모바일 비디오 서치 기법 KR102197364B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020207037134A KR102567285B1 (ko) 2013-10-21 2013-10-21 모바일 비디오 서치 기법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/085585 WO2015058332A1 (en) 2013-10-21 2013-10-21 Mobile video search

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020207037134A Division KR102567285B1 (ko) 2013-10-21 2013-10-21 모바일 비디오 서치 기법

Publications (2)

Publication Number Publication Date
KR20160074500A KR20160074500A (ko) 2016-06-28
KR102197364B1 true KR102197364B1 (ko) 2020-12-31

Family

ID=52992108

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167010380A KR102197364B1 (ko) 2013-10-21 2013-10-21 모바일 비디오 서치 기법
KR1020207037134A KR102567285B1 (ko) 2013-10-21 2013-10-21 모바일 비디오 서치 기법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020207037134A KR102567285B1 (ko) 2013-10-21 2013-10-21 모바일 비디오 서치 기법

Country Status (11)

Country Link
US (2) US10452712B2 (ko)
EP (1) EP3061035B1 (ko)
JP (1) JP6321153B2 (ko)
KR (2) KR102197364B1 (ko)
CN (1) CN105917359B (ko)
AU (1) AU2013403805B2 (ko)
BR (1) BR112016007145A8 (ko)
CA (1) CA2924764C (ko)
MX (1) MX2016005070A (ko)
RU (1) RU2647696C2 (ko)
WO (1) WO2015058332A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023120969A1 (ko) * 2021-12-22 2023-06-29 경기대학교 산학협력단 동영상 관계 탐지 시스템

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323840B2 (en) * 2013-01-07 2016-04-26 Gracenote, Inc. Video fingerprinting
US9495451B2 (en) 2013-01-07 2016-11-15 Gracenote, Inc. Identifying video content via fingerprint matching
US10268667B1 (en) * 2014-07-23 2019-04-23 Evernote Corporation Contextual optimization of news streams associated with content entry
US9805099B2 (en) 2014-10-30 2017-10-31 The Johns Hopkins University Apparatus and method for efficient identification of code similarity
US10521472B2 (en) * 2015-02-27 2019-12-31 Realnetworks, Inc. Composing media stories method and system
JP2016181808A (ja) * 2015-03-24 2016-10-13 富士フイルム株式会社 画像処理装置、画像処理方法、プログラムおよび記録媒体
CN106557765A (zh) * 2015-09-29 2017-04-05 欧姆龙株式会社 注意检测装置以及注意检测方法
US11003692B2 (en) * 2015-12-28 2021-05-11 Facebook, Inc. Systems and methods for online clustering of content items
RU2634211C1 (ru) 2016-07-06 2017-10-24 Общество с ограниченной ответственностью "Траст" Способ и система анализа протоколов взаимодействия вредоносных программ с центрами управления и выявления компьютерных атак
DE102016212888A1 (de) 2016-07-14 2018-01-18 Siemens Healthcare Gmbh Bestimmen einer Bildserie abhängig von einer Signaturmenge
RU2649793C2 (ru) 2016-08-03 2018-04-04 ООО "Группа АйБи" Способ и система выявления удаленного подключения при работе на страницах веб-ресурса
RU2634209C1 (ru) 2016-09-19 2017-10-24 Общество с ограниченной ответственностью "Группа АйБи ТДС" Система и способ автогенерации решающих правил для систем обнаружения вторжений с обратной связью
US20180101540A1 (en) * 2016-10-10 2018-04-12 Facebook, Inc. Diversifying Media Search Results on Online Social Networks
US11205103B2 (en) 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis
RU2671991C2 (ru) 2016-12-29 2018-11-08 Общество с ограниченной ответственностью "Траст" Система и способ сбора информации для обнаружения фишинга
RU2637477C1 (ru) 2016-12-29 2017-12-04 Общество с ограниченной ответственностью "Траст" Система и способ обнаружения фишинговых веб-страниц
US10218911B2 (en) * 2017-03-22 2019-02-26 Htc Corporation Mobile device, operating method of mobile device, and non-transitory computer readable storage medium
RU172737U1 (ru) * 2017-04-18 2017-07-21 Общество с ограниченной ответственностью "ДЖЕНТ КЛАБ" Устройство для идентификации музыкальных произведений
KR101961132B1 (ko) * 2017-06-08 2019-03-25 김준희 오디오 특징값 추출을 통한 동영상 인코딩 방법 및 장치
CN107748750A (zh) * 2017-08-30 2018-03-02 百度在线网络技术(北京)有限公司 相似视频查找方法、装置、设备及存储介质
US11284062B2 (en) * 2017-09-05 2022-03-22 Texas Instruments Incorporated Automotive display validation
RU2689816C2 (ru) 2017-11-21 2019-05-29 ООО "Группа АйБи" Способ для классифицирования последовательности действий пользователя (варианты)
US10629242B2 (en) 2017-12-06 2020-04-21 International Business Machines Corporation Recording user activity on a computer
RU2677368C1 (ru) 2018-01-17 2019-01-16 Общество С Ограниченной Ответственностью "Группа Айби" Способ и система для автоматического определения нечетких дубликатов видеоконтента
RU2676247C1 (ru) 2018-01-17 2018-12-26 Общество С Ограниченной Ответственностью "Группа Айби" Способ и компьютерное устройство для кластеризации веб-ресурсов
RU2668710C1 (ru) 2018-01-17 2018-10-02 Общество с ограниченной ответственностью "Группа АйБи ТДС" Вычислительное устройство и способ для обнаружения вредоносных доменных имен в сетевом трафике
RU2677361C1 (ru) 2018-01-17 2019-01-16 Общество с ограниченной ответственностью "Траст" Способ и система децентрализованной идентификации вредоносных программ
RU2680736C1 (ru) 2018-01-17 2019-02-26 Общество с ограниченной ответственностью "Группа АйБи ТДС" Сервер и способ для определения вредоносных файлов в сетевом трафике
RU2681699C1 (ru) 2018-02-13 2019-03-12 Общество с ограниченной ответственностью "Траст" Способ и сервер для поиска связанных сетевых ресурсов
US11055346B2 (en) 2018-08-03 2021-07-06 Gracenote, Inc. Tagging an image with audio-related metadata
CN109246446A (zh) * 2018-11-09 2019-01-18 东方明珠新媒体股份有限公司 比较视频内容相似性的方法、装置和设备
KR102043366B1 (ko) * 2018-11-21 2019-12-05 (주)터보소프트 최대 공통 뷰를 이용한 공간참조 영상들간의 궤적 유사도 측정방법
RU2708508C1 (ru) 2018-12-17 2019-12-09 Общество с ограниченной ответственностью "Траст" Способ и вычислительное устройство для выявления подозрительных пользователей в системах обмена сообщениями
RU2701040C1 (ru) 2018-12-28 2019-09-24 Общество с ограниченной ответственностью "Траст" Способ и вычислительное устройство для информирования о вредоносных веб-ресурсах
CN111506772B (zh) * 2019-01-31 2023-05-09 北京小犀智能科技中心(有限合伙) 基于图像特征提取的以图搜影方法及系统
WO2020167660A1 (en) * 2019-02-11 2020-08-20 Gemiini Educational Systems, Inc. Verbal expression system
WO2020176005A1 (ru) 2019-02-27 2020-09-03 Общество С Ограниченной Ответственностью "Группа Айби" Способ и система идентификации пользователя по клавиатурному почерку
JP2022542643A (ja) * 2019-07-03 2022-10-06 ペインテッド・ドッグ・インコーポレイテッド パーセプチュアルフレームハッシングを使用したビデオメタデータの識別および検索
US20210089781A1 (en) * 2019-09-24 2021-03-25 Rovi Guides, Inc. Systems and methods for displaying subjects of a video portion of content and displaying autocomplete suggestions for a search related to a subject of the video portion
US11099811B2 (en) 2019-09-24 2021-08-24 Rovi Guides, Inc. Systems and methods for displaying subjects of an audio portion of content and displaying autocomplete suggestions for a search related to a subject of the audio portion
RU2728498C1 (ru) 2019-12-05 2020-07-29 Общество с ограниченной ответственностью "Группа АйБи ТДС" Способ и система определения принадлежности программного обеспечения по его исходному коду
RU2728497C1 (ru) 2019-12-05 2020-07-29 Общество с ограниченной ответственностью "Группа АйБи ТДС" Способ и система определения принадлежности программного обеспечения по его машинному коду
RU2743974C1 (ru) 2019-12-19 2021-03-01 Общество с ограниченной ответственностью "Группа АйБи ТДС" Система и способ сканирования защищенности элементов сетевой архитектуры
CN113132752B (zh) 2019-12-30 2023-02-24 阿里巴巴集团控股有限公司 视频处理方法及装置
CN113132753A (zh) 2019-12-30 2021-07-16 阿里巴巴集团控股有限公司 数据处理方法及装置、视频封面生成方法及装置
CN113139121A (zh) * 2020-01-20 2021-07-20 阿里巴巴集团控股有限公司 查询方法、模型训练方法、装置、设备及存储介质
CN111339356B (zh) * 2020-02-21 2023-07-18 北京字节跳动网络技术有限公司 视频检索中防误判方法、装置及电子设备
SG10202001963TA (en) 2020-03-04 2021-10-28 Group Ib Global Private Ltd System and method for brand protection based on the search results
CN113297452A (zh) * 2020-05-26 2021-08-24 阿里巴巴集团控股有限公司 多级检索方法、多级检索装置及电子设备
US11475090B2 (en) 2020-07-15 2022-10-18 Group-Ib Global Private Limited Method and system for identifying clusters of affiliated web resources
RU2743619C1 (ru) 2020-08-06 2021-02-20 Общество с ограниченной ответственностью "Группа АйБи ТДС" Способ и система генерации списка индикаторов компрометации
US11538248B2 (en) * 2020-10-27 2022-12-27 International Business Machines Corporation Summarizing videos via side information
CN112785400A (zh) * 2021-01-12 2021-05-11 四川天行健穗金科技有限公司 一种用于去财税数据的智能检索方法及系统
CN113094551B (zh) * 2021-02-19 2023-09-19 深圳市麦谷科技有限公司 行车记录仪视频的检索方法、装置、服务端及检索系统
US11947572B2 (en) 2021-03-29 2024-04-02 Group IB TDS, Ltd Method and system for clustering executable files
CN113139093A (zh) * 2021-05-06 2021-07-20 北京百度网讯科技有限公司 视频搜索方法及装置、计算机设备和介质
CN113190695B (zh) * 2021-05-06 2024-05-14 北京百度网讯科技有限公司 多媒体数据搜索方法及装置、计算机设备和介质
NL2030861B1 (en) 2021-06-01 2023-03-14 Trust Ltd System and method for external monitoring a cyberattack surface
EP4120267A1 (en) * 2021-07-14 2023-01-18 Utopia Music AG Apparatus, method and computer program code for processing audio stream

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110264700A1 (en) * 2010-04-26 2011-10-27 Microsoft Corporation Enriching online videos by content detection, searching, and information aggregation

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100538701C (zh) * 2000-07-31 2009-09-09 兰德马克数字服务公司 用于从媒体样本辨认媒体实体的方法
CN1445696A (zh) * 2002-03-18 2003-10-01 朗迅科技公司 自动检索图像数据库中相似图象的方法
KR100597398B1 (ko) 2004-01-15 2006-07-06 삼성전자주식회사 비디오 클립을 검색하는 장치 및 방법
JP4403937B2 (ja) 2004-09-29 2010-01-27 カシオ計算機株式会社 カメラ装置、情報処理装置、被写体識別方法
US7809722B2 (en) * 2005-05-09 2010-10-05 Like.Com System and method for enabling search and retrieval from image files based on recognized information
US20130191368A1 (en) 2005-10-26 2013-07-25 c/o Cortica, Ltd. System and method for using multimedia content as search queries
TWI442773B (zh) * 2006-11-30 2014-06-21 Dolby Lab Licensing Corp 抽取視訊與音訊信號內容之特徵以提供此等信號之可靠識別的技術
JP5204217B2 (ja) * 2007-05-15 2013-06-05 ティヴォ インク スイベル検索システム
US8171030B2 (en) 2007-06-18 2012-05-01 Zeitera, Llc Method and apparatus for multi-dimensional content search and video identification
CN100530196C (zh) 2007-11-16 2009-08-19 北京交通大学 一种基于分层匹配的快速音频广告识别方法
US8195689B2 (en) * 2009-06-10 2012-06-05 Zeitera, Llc Media fingerprinting and identification system
US9367544B2 (en) * 2008-06-18 2016-06-14 Gracenote, Inc. Method for efficient database formation and search on media devices acting synchronously with television programming
US8364698B2 (en) 2008-07-11 2013-01-29 Videosurf, Inc. Apparatus and software system for and method of performing a visual-relevance-rank subsequent search
US8498978B2 (en) * 2008-12-30 2013-07-30 Yahoo! Inc. Slideshow video file detection
KR101028956B1 (ko) * 2009-07-31 2011-04-12 포항공과대학교 산학협력단 모바일 iptv 서비스를 제공하는 방법 및 이를 위한 시스템
US8515933B2 (en) 2009-08-18 2013-08-20 Industrial Technology Research Institute Video search method, video search system, and method thereof for establishing video database
CN102763123B (zh) * 2009-12-02 2015-03-25 高通股份有限公司 通过使查询图像和模型图像中的检测到的关键点成群集而进行特征匹配
US9508011B2 (en) 2010-05-10 2016-11-29 Videosurf, Inc. Video visual and audio query
US8694533B2 (en) 2010-05-19 2014-04-08 Google Inc. Presenting mobile content based on programming context
US9047516B2 (en) 2010-06-18 2015-06-02 Verizon Patent And Licensing Inc. Content fingerprinting
US20120117051A1 (en) * 2010-11-05 2012-05-10 Microsoft Corporation Multi-modal approach to search query input
US20130014136A1 (en) * 2011-07-06 2013-01-10 Manish Bhatia Audience Atmospherics Monitoring Platform Methods
US20120201472A1 (en) * 2011-02-08 2012-08-09 Autonomy Corporation Ltd System for the tagging and augmentation of geographically-specific locations using a visual data stream
RU2452001C1 (ru) * 2011-03-15 2012-05-27 Общество С Ограниченной Ответственностью "Виси Рус" Способ отображения рекламы на ресурсах интернет в зависимости от их комбинированного содержания
RU2459281C1 (ru) * 2011-09-15 2012-08-20 Общество с ограниченной ответственностью "Цифрасофт" Устройство и способ формирования сигнатуры акустического сигнала, устройство идентификации акустического сигнала
US8892572B2 (en) 2011-12-30 2014-11-18 Cellco Partnership Video search system and method of use
US9609395B2 (en) * 2012-03-26 2017-03-28 Max Abecassis Second screen subtitles function
CN102682091A (zh) * 2012-04-25 2012-09-19 腾讯科技(深圳)有限公司 基于云服务的视觉搜索方法和系统
WO2014179810A1 (en) * 2013-05-03 2014-11-06 Digimarc Corporation Watermarking and signal recogniton for managing and sharing captured content, metadata discovery and related arrangements
US9570630B2 (en) * 2013-06-26 2017-02-14 Mediatek Inc. Schottky diode structure

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110264700A1 (en) * 2010-04-26 2011-10-27 Microsoft Corporation Enriching online videos by content detection, searching, and information aggregation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023120969A1 (ko) * 2021-12-22 2023-06-29 경기대학교 산학협력단 동영상 관계 탐지 시스템

Also Published As

Publication number Publication date
RU2016115348A (ru) 2017-10-25
EP3061035B1 (en) 2023-03-22
CN105917359A (zh) 2016-08-31
KR102567285B1 (ko) 2023-08-14
KR20210000326A (ko) 2021-01-04
US20160267179A1 (en) 2016-09-15
CN105917359B (zh) 2021-01-26
RU2647696C2 (ru) 2018-03-16
CA2924764C (en) 2020-03-10
EP3061035A1 (en) 2016-08-31
MX2016005070A (es) 2016-07-19
BR112016007145A8 (pt) 2020-03-03
CA2924764A1 (en) 2015-04-30
KR20160074500A (ko) 2016-06-28
US10452712B2 (en) 2019-10-22
AU2013403805B2 (en) 2019-08-15
JP2017502533A (ja) 2017-01-19
JP6321153B2 (ja) 2018-05-09
AU2013403805A1 (en) 2016-03-31
EP3061035A4 (en) 2016-09-14
BR112016007145A2 (pt) 2017-08-01
US20200142928A1 (en) 2020-05-07
WO2015058332A1 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
KR102197364B1 (ko) 모바일 비디오 서치 기법
JP6850877B2 (ja) オンデバイスモデルを使用するスマートリプライ
US20230376548A1 (en) Expert Detection in Social Networks
US10437868B2 (en) Providing images for search queries
US11550751B2 (en) Sequence expander for data entry/information retrieval
US20150213127A1 (en) Method for providing search result and electronic device using the same
CN110209810B (zh) 相似文本识别方法以及装置
KR20150048751A (ko) 피처 기반 후보 선택
CN109165292A (zh) 数据处理方法、装置以及移动终端
TW201327203A (zh) 用於行動環境中之漸進式型樣匹配之方法及裝置
CN111538830B (zh) 法条检索方法、装置、计算机设备及存储介质
CN112995757B (zh) 视频剪裁方法及装置
WO2024036616A1 (zh) 一种基于终端的问答方法及装置
KR20150101846A (ko) 스케치를 기반으로 하는 영상 분류 서비스 시스템, 사용자 장치, 서비스 제공 장치, 그 서비스 방법 및 컴퓨터 프로그램이 기록된 기록매체
CN115730030B (zh) 一种评论信息的处理方法以及相关装置
CN117407565A (zh) 资源处理方法、装置、电子设备和存储介质
CN116363490A (zh) 伪造对象检测方法、相关装置及存储介质
CN117615226A (zh) 一种数据处理方法、装置、设备以及存储介质
KR20150033448A (ko) 착용 가능한 디바이스를 이용하여 객체를 검색하는 방법 및 객체를 검색하는 디바이스.

Legal Events

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