KR20170010378A - 비디오의 텍스트 검출 - Google Patents

비디오의 텍스트 검출 Download PDF

Info

Publication number
KR20170010378A
KR20170010378A KR1020167034595A KR20167034595A KR20170010378A KR 20170010378 A KR20170010378 A KR 20170010378A KR 1020167034595 A KR1020167034595 A KR 1020167034595A KR 20167034595 A KR20167034595 A KR 20167034595A KR 20170010378 A KR20170010378 A KR 20170010378A
Authority
KR
South Korea
Prior art keywords
text
video content
identified
category
additional information
Prior art date
Application number
KR1020167034595A
Other languages
English (en)
Other versions
KR102343766B1 (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 KR20170010378A publication Critical patent/KR20170010378A/ko
Application granted granted Critical
Publication of KR102343766B1 publication Critical patent/KR102343766B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • G06V20/635Overlay text, e.g. embedded captions in a TV program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4882Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Analysis (AREA)
  • Character Input (AREA)

Abstract

비디오에서 텍스트를 검출하는 기술이 개시되어 있다. 일부 실시예에서, 비디오 콘텐츠의 일부는 텍스트를 갖는 것으로 식별될 수 있다. 비디오 콘텐츠의 식별된 부분 내의 텍스트를 식별할 수 있다. 식별된 텍스트에 대한 카테고리가 판정될 수 있다. 일부 실시예에서, 비디오 콘텐츠가 적어도 하나의 미리 정해진 조건을 만족시키는지의 여부에 대한 판정이 이루어지고, 비디오 콘텐츠의 일부는 비디오 콘텐츠가 미리 정해진 조건(들)을 만족시킨다는 판정에 응답해서 텍스트를 갖는 것으로 식별된다. 일부 실시예에서, 미리 정해진 조건(들)은 복수의 프레임에 걸친 최소 레벨의 명료성, 최소 레벨의 콘트라스트, 및 최소 레벨의 콘텐츠 안정도 중 적어도 하나를 포함한다. 일부 실시예에서, 비디오 콘텐츠에 대응하는 추가 정보가 식별된 텍스트 및 판정된 카테고리에 의거하여 판정된다.

Description

비디오의 텍스트 검출{TEXT DETECTION IN VIDEO}
본 출원은 일반적으로 데이터 처리 기술분야에 관한 것이며, 다양한 실시예에서, 비디오의 텍스트를 검출하는 방법 및 시스템에 관한 것이다.
텔레비전 프로그램, 영화, 및 광고 등의 비디오 콘텐츠는 때때로 텍스트를 포함한다. 이 텍스트는 시청자에게 유익하고 유용할 수 있다. 그러나, 시청자는 텍스트를 소비하는 측면에 있어서는 옵션이 제한적이다. 예를 들면, 시청자는 일반적으로 나중 이용을 위해 텍스트를 적는 것 외에는 다른 선택의 여지가 거의 없다.
본 개시의 일부 실시예는 첨부된 도면의 형태로 예로서 나타내며 그에 한정되는 것은 아니고, 동일한 참조 부호는 마찬가지인 요소를 나타낸다.
비디오에서 텍스트를 검출하는 예시적인 방법 및 시스템이 개시된다. 이하의 설명에서, 설명의 목적으로, 예시적인 실시예들의 완전한 이해를 제공하기 위해 다수의 특정 세부 사항들이 제시된다. 그러나, 당업자에게는, 이러한 특정 세부 사항들 없이 본 실시예가 실시될 수 있음이 자명할 것이다.
본원에 개시된 바와 같이, 텍스트 검출 시스템은 비디오 콘텐츠에서 오버레이된 텍스트를 효율적으로 인식하도록 구성되고 사용될 수 있다. 이 텍스트는, 제한이 아닌 예시로서, URL(uniform resource locator), 사용자 계정의 식별 정보(identification)(예를 들면, Twitter®handle), 메타데이터 태그(예를 들면, 해시태그), 및 전화번호를 포함하는 정보 또는 정보 소스를 참조하는 것으로 분석 및 식별될 수 있다. 이 분석의 결과(예를 들면, 식별된 텍스트, 정보, 및/또는 정보 소스)는 데이터베이스에 저장될 수 있고 및/또는 미디어 콘텐츠 장치 상의 소프트웨어 애플리케이션에 제공될 수 있다.
일부 실시예에서, 비디오 콘텐츠의 일부는 텍스트를 갖는 것으로 식별된다. 비디오 콘텐츠의 식별된 부분 내의 텍스트를 식별할 수 있다. 식별된 텍스트의 카테고리가 판정될 수 있다.
일부 실시예에서, 비디오 콘텐츠가 적어도 하나의 미리 정해진 조건을 만족시키는지의 여부에 대한 판정이 이루어지고, 비디오 콘텐츠가 미리 정해진 조건(들)을 만족시킨다는 판정에 응답해서 비디오 콘텐츠의 일부가 텍스트를 갖는 것으로 식별된다. 일부 실시예에서, 미리 정해진 조건(들)은 복수의 프레임들에 걸친 최소 레벨의 명료성, 최소 레벨의 콘트라스트, 및 최소 레벨의 콘텐츠 안정도 중 적어도 하나를 포함한다.
일부 실시예에서, 식별된 텍스트 및 판정된 카테고리에 의거하여, 비디오 콘텐츠에 대응하는 추가 정보가 판정된다. 추가 정보는 미디어 콘텐츠 장치 상에 표시되게 될 수 있다. 추가 정보는, 비디오 콘텐츠와 연관해서 또는 비디오 콘텐츠의 식별된 시청자와 연관해서 저장될 수 있다. 추가 정보는 미디어 콘텐츠 장치 상의 소프트웨어 애플리케이션에 제공될 수 있다. 추가 정보는 URL(uniform resource locator), 사용자 계정의 식별 정보, 메타데이터 태그, 및 전화번호 중 적어도 하나를 포함할 수 있다. 미디어 콘텐츠 장치는 텔레비전, 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 컴퓨터, 및 스마트폰 중 하나를 포함할 수 있다. 식별된 텍스트는 비디오 콘텐츠와 연관해서 또는 비디오 콘텐츠의 식별된 시청자와 연관해서 저장될 수 있다.
일부 실시예에서, 비디오 콘텐츠의 일부를 텍스트를 갖는 것으로 식별하는 것은, 비디오 콘텐츠의 프레임을 그레이스케일(grayscale)로 변환하는 것; 프레임 상에서 에지 검출을 수행하는 것; 프레임 내에서 수직 에지들을 연결하도록 프레임 상에서 확장(dilation)을 수행하는 것; 프레임을 이진화하는 것; 프레임 내의 연결된 컴포넌트들을 검출하도록, 프레임 상에서 연결된 컴포넌트 분석을 수행해 것; 연결된 컴포넌트들을 복수의 텍스트 라인으로 병합하는 것; 수평 및 수직 투영을 이용해서 복수의 텍스트 라인들을 세분화(refining)하는 것; 복수의 텍스트 라인들 중 적어도 하나의 크기에 의거하여 복수의 텍스트 라인들 중 적어도 하나를 필터링해서, 텍스트 라인들의 필터링된 세트를 형성하는 것; 텍스트 라인들의 필터링된 세트를 이진화하는 것; 및 텍스트 라인들의 적어도 하나에서의 컴포넌트들의 형상 및 텍스트 라인들 중 적어도 하나에서의 컴포넌트들의 위치 중 적어도 하나에 의거하여, 이진화된 텍스트 라인들의 필터링된 세트로부터 텍스트 라인들 중 적어도 하나를 필터링해서, 텍스트를 갖는 비디오 콘텐츠의 부분을 형성하는 것을 포함한다. 일부 실시예에서, 텍스트 라인들의 필터링된 세트를 형성하도록 복수의 텍스트 라인 중 적어도 하나의 크기에 의거하여 복수의 텍스트 라인 중 적어도 하나를 필터링하는 것은 프로세스에서 제외될 수 있다. 예를 들면, 모든 텍스트 라인이 미리 정해진 기준을 만족시킨다고 판정되면, 이 필터링 단계는 회피될 수 있다.
일부 실시예에서, 비디오 콘텐츠의 식별된 부분 내의 텍스트를 식별하는 것은 비디오 콘텐츠의 식별된 부분에 대한 OCR을 수행하는 것을 포함한다.
일부 실시예에서, 식별된 텍스트에 대한 카테고리를 판정하는 것은 식별된 텍스트의 복수의 세그먼트들을 판정하도록 식별된 텍스트를 파싱(parsing)하고, 복수의 세그먼트들 중 적어도 하나와 카테고리 사이의 저장된 연관에 의거하여 카테고리를 판정하는 것을 포함한다.
일부 실시예에서, 비디오 콘텐츠는 텔레비전 프로그램의 일부, 비-에피소드적(non-episodic) 영화, 웨비소드(webisode), 비디오 공유 웹 사이트에 대한 사용자 생성 콘텐츠, 또는 광고를 포함한다.
여기에 개시된 방법 또는 실시예는, 하나 이상의 모듈(예를 들면, 하드웨어 모듈 또는 소프트웨어 모듈)을 갖는 컴퓨터 시스템으로서 구현될 수 있다. 이러한 모듈은 컴퓨터 시스템의 하나 이상의 프로세서에 의해 실행될 수 있다. 본원에 개시된 방법 또는 실시예는, 하나 이상의 프로세서에 의한 실행시, 하나 이상의 프로세서에게 명령을 수행하게 하는 머신-판독 가능한 매체에 저장된 명령으로서 구현될 수 있다.
도 1은 일부 예시적인 실시예에 따른 텍스트 검출 시스템을 나타내는 블록도.
도 2는 일부 예시적인 실시예에 따라 텍스트 검출 시스템의 특징이 구현될 수 있는 환경을 나타내는 블록도.
도 3a 내지 도 3i는 일부 예시적인 실시예에 따라 비디오 콘텐츠의 프레임에서 텍스트를 검출하고 해석하는 서로 다른 단계들을 나타내는 도면.
도 4는 일부 예시적인 실시예에 따른 방법을 나타내는 플로차트.
도 5는 일부 예시적인 실시예에 따른 방법을 나타내는 플로차트.
도 6은 일부 예시적인 실시예에 따른 방법을 나타내는 플로차트.
도 7은 일부 예시적인 실시예에 따른 모바일 장치를 나타내는 블록도.
도 8은 일부 예시적인 실시예에 따라 여기에서 설명되는 방법이 실시될 수 있는 예시적인 컴퓨터 시스템의 블록도.
도 1은 예시적인 실시예에 따른 텍스트 검출 시스템(100)을 예시하는 블록도이다. 일부 실시예에서, 텍스트 검출 시스템(100)은 콘텐츠 선택 모듈(110), 텍스트 검출 모듈(120), 텍스트 인식 모듈(130), 텍스트 해석 모듈(140), 정보 모듈(150), 및 하나 이상의 데이터베이스(160)를 포함한다.
일부 실시예에서, 텍스트 검출 모듈(120)은 비디오 콘텐츠의 일부를 텍스트를 갖는 것으로 식별하도록 구성된다. 비디오 콘텐츠의 일부를 텍스트를 갖는 것으로 식별하는 것은 비디오 콘텐츠 내의 텍스트의 위치를 식별하는 것을 포함할 수 있다. 비디오 콘텐츠의 일부를 텍스트를 갖는 것으로 식별하는 기술은 본원의 후반에서 논의될 것이다. 비디오 콘텐츠는 텔레비전 프로그램의 일부, 비-에피소드적 영화, 웨비소드, 비디오 공유 웹 사이트(예를 들면, YouTube®)에 대한 사용자 생성 콘텐츠, 또는 광고를 포함할 수 있다. 다른 유형의 비디오 콘텐츠도 본 개시의 범위 내에 있다. 비디오 콘텐츠는 비디오 콘텐츠의 하나 이상의 프레임을 포함할 수 있다.
비디오 콘텐츠의 일부를 텍스트를 갖는 것으로서 식별하는 것 등에 의한 비디오 콘텐츠의 프레임을 처리하는 것은 계산적으로 및 금전적으로 비용이 많이 들 수 있다. 본 개시는 이러한 비용을 저감시키기 위한 기술을 도입한다. 일부 실시예에서, 콘텐츠 선택 모듈(110)은, 텍스트를 포함할 가능성이 있는 프레임을 식별하도록 프레임의 사전 분석을 수행하도록 구성된다. 본원에 개시된 텍스트 검출 특징은 이러한 식별된 프레임들에 대해 수행될 수 있는 한편, 텍스트를 포함하지 않을 것으로 판정된 프레임은 텍스트 검출 프로세스에서 생략될 수 있으며, 그에 따라 비용을 절감할 수 있다. 위에서 말하는 사전 분석은 전역 및 로컬 콘트라스트, 블루어니스(blurriness), 전역 및 로컬 모션, 및 프레임의 다른 특징의 분석을 포함할 수 있다. 인간이 텍스트를 쉽게 읽을 수 있도록 하기 위해, 텍스트는 일반적으로 특정 크기이며 양호한 콘트라스트(예를 들면, 검정 바탕에 흰색, 흰색 바탕에 검정, 어둠에 대한 밝기 등)를 갖고, 다수의 프레임에 걸쳐 상당히 정적이다. 또한, 비디오 콘텐츠 제작자의 의도는 사람들이 텍스트를 보고 읽는 것이므로, 일반적으로 이미지에는, 텍스트에서 눈을 어지럽게 하는 것과 같은 이미지 내의 너무 많은 로컬 또는 전역 모션이 있지는 않다. 이 가이드라인은 여기에 설명된 텍스트 검출 기술에서 더 분석을 위한 가능한 후보를 식별하는 데 사용될 수 있다.
일부 실시예에서, 콘텐츠 선택 모듈(110)은, 비디오 콘텐츠가 적어도 하나의 미리 정해진 조건을 만족시키는지에 대한 판정을 하도록 구성된다. 텍스트 검출 모듈(120)은, 비디오 콘텐츠의 하나 이상의 부분을 텍스트를 갖는 것으로 식별하도록 콘텐츠 선택 모듈(110)에 의해 긍정적인 판정이 이루어지는 비디오 콘텐츠에 대해 그 동작을 수행할 수 있는 한편, 부정적인 판정이 이루어지는 비디오 콘텐츠에 대해서는 그러한 동작이 생략될 수 있다. 일부 실시예에서, 미리 정해진 조건(들)은 복수의 프레임들에 걸친 최소 레벨의 명료성, 최소 레벨의 콘트라스트, 및 최소 레벨의 콘텐츠 안정도 중 적어도 하나를 포함한다. 다른 미리 정해진 조건들 또한, 본 개시의 범위 내에 있다.
텍스트를 포함할 가능성이 있는 프레임이 식별되면, 이들은, 복수의 프레임에 걸쳐 평균함으로써, 잔여 모션 및 노이즈를 필터링하는 데 사용될 수 있다. 일부 실시예에서, 해상도는 연속 프레임의 보간에 의해 증가될 수 있고, 이에 의해 텍스트의 더 나은 분간이 가능해진다.
대부분의 쓰기 언어에서, 특정 구조 방향이 지배적이다. 예를 들면, 라틴 문자에서는, 이 방향은 수평선 및 수직선이다. 이 개념은 텍스트 검출 모듈(120)에 의해 이용되어, 대상 영역에서 더 좁혀질 수 있다. 또한, 프레임 내의 텍스트의 유무를 판정하도록 본원에서 논의된 동일한 규칙 및 조건(예를 들면, 콘트라스트, 블루어니스, 모션)이 여기에서 프레임 내의 대상 영역을 식별하도록 사용될 수 있다.
일부 실시예에서, 텍스트 인식 모듈(130)은 비디오 콘텐츠의 식별된 부분 내의 텍스트를 식별하도록 구성된다. 비디오 콘텐츠의 식별된 부분 내의 텍스트를 식별하는 것은 비디오 콘텐츠의 식별된 부분에 대해 OCR을 수행하는 것을 포함할 수 있다. 비디오 콘텐츠의 식별된 부분 내의 텍스트를 식별하는 다른 기술 또한, 본 개시의 범위 내에 있다.
일부 실시예에서, 텍스트 인식 모듈(130)은 식별된 텍스트에 대한 카테고리를 판정하도록 구성된다. 카테고리의 예에는, URL, 사용자 계정의 식별 정보, 메타데이터 태그, 및 전화번호가 포함되지만, 이에 국한되지는 않다. 다른 유형의 카테고리 또한, 본 개시의 범위 내에 있다. 식별된 텍스트에 대한 카테고리를 판정하는 것은, 식별된 텍스트의 복수의 세그먼트를 판정하도록 식별된 텍스트를 파싱(parsing)하고, 세그먼트들 중 적어도 하나와 카테고리 사이의 저장된 연관에 의거하여 카테고리를 판정하는 것을 포함할 수 있다. 연관은 데이터베이스(들)(160)에 저장될 수 있다. 일부 실시예에서, 연관은 텍스트의 세그먼트가 어느 카테고리에 대응하는 지를 판정하기 위한 규칙을 포함할 수 있다. 일 예시에서, 텍스트 "www.examplewebsite.com"이 텔레비전 프로그램의 비디오 콘텐츠 위에 디스플레이될 수 있다. 텍스트 인식 모듈(130)은, "www." 또는 ".com"의 사용에 의거하여 이 텍스트가 웹 사이트를 참조하는 것으로 판정할 수 있거나, 텍스트 "www.examplewebsite.com"와 데이터베이스(들)(160)에 저장된 동일한 텍스트(예를 들면, "www.examplewebsite.com") 또는 유사한 텍스트(예를 들면, "examplewebsite.com")와의 매칭에 의거하여 이 텍스트가 웹 사이트를 참조하는 것으로 판정할 수 있다. 일부 실시예에서, 텍스트 인식 모듈(130)은 해당 텍스트 및 카테고리의 룩업 테이블에 액세스하는 것에 의거하여 카테고리를 판정할 수 있다. 식별된 텍스트는 비디오 콘텐츠와 연관해서 또는 비디오 콘텐츠의 식별된 시청자와 연관해서 저장될 수 있다. 이후 더 상세히 설명되는 바와 같이, 저장된 텍스트는 추가 처리에서 액세스, 검색, 및 사용될 수 있다.
일부 실시예에서, 정보 모듈(150)은, 식별된 텍스트 및 판정된 카테고리에 의거하여 비디오 콘텐츠에 대응하는 추가 정보를 판정하도록 구성된다. 추가 정보는 URL(uniform resource locator), 사용자 계정의 식별 정보(예를 들면, Twitter®handle), 메타데이터 태그(예를 들면, 해시태그), 및 전화번호 중 적어도 하나를 포함할 수 있다. 추가 정보는 비디오 콘텐츠와 연관해서 또는 비디오 콘텐츠의 식별된 시청자와 연관해서 저장될 수 있다. 추가 정보(예를 들면, 링크 및 참조)의 이력은 사용자(예를 들면, 시청자)가 추가 정보를 이용하여 후속 조치를 취하거나 및/또는 추가 검색을 가능하게 하도록, 데이터베이스(들)(160) 또는 미디어 콘텐츠 장치에 유지될 수 있다. 일부 실시예에서, 미디어 콘텐츠 장치는 비디오 콘텐츠 및/또는 오디오 콘텐츠 등의 미디어 콘텐츠를 재생하도록 구성된 임의의 전자 장치를 포함할 수 있다. 미디어 콘텐츠 장치의 예는, 텔레비전, 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 게임 장치, 및/또는 오디오, 비디오 및/또는 다른 멀티미디어 콘텐츠를 수신 및 제시할 수 있는 다른 장치를 포함하지만 이에 국한되지 않는다.
추가 정보는 미디어 콘텐츠 장치 상의 소프트웨어 애플리케이션에 제공될 수 있다. 추가 정보는 또한, 미디어 콘텐츠 장치 상에 디스플레이되게 될 수 있다. 예를 들면, 링크에 대응하는 텍스트의 검출에 응답하여, 비디오 콘텐츠 또는 비디오 콘텐츠 내의 검출된 텍스트에 대응하는 페이지(예를 들면, 웹 페이지)를 디스플레이하도록, 링크가 소프트웨어 애플리케이션(예를 들면, 브라우저) 상에 자동으로 로드될 수 있다. 다른 예에서, 특정 키워드에 대한 인터넷 검색 또는 특정 서비스의 검색은 식별된 텍스트, 판정된 카테고리, 및/또는 판정된 추가 정보에 의거하여 자동으로 수행될 수 있다. 예를 들면, 텔레비전 프로그램(또는 일부 다른 비디오 콘텐츠)의 클로징 크레딧에서 이름이 검출되는 것에 응답하여, 그 이름에 대응하는 사람(예를 들면, 배우, 여배우, 기타 기여자)에 대한 정보를 컴파일하도록, 검출된 이름을 이용해서 검색이 자동으로 수행될 수 있다. 일부 실시예에서, 검출된 텍스트, 또는 키워드 또는 심볼 등의 판정된 추가 정보에 관해 취해져야 할 동작을 식별하도록, 미리 정해진 사전 정의된 지시(indication)가 사용될 수 있다. 예를 들면, 위의 예에서, 비디오 콘텐츠의 끝 크레딧에서 검출되는 "cast"라는 단어는 "cast"라는 단어 뒤에 나오는 검출된 이름에 대한 컨텍스트 및 의미를 제공하는 데 사용할 수 있다. 이어서, 판정된 컨텍스트 및 의미에 대응하는 하나 이상의 동작이 수행될 수 있다. 검출된 텍스트가 비디오 콘텐츠의 캐스트 멤버들의 이름에 대응한다는 판정에 의거하여, 서비스(예를 들면, IMDb®)를 이용해서 이름을 검색할 수 있다. 검색은 배우/여배우의 이름에 대응하는 픽션 캐릭터 등의 이름에 대응하는 추가 정보를 제공할 수 있다. 검출된 텍스트, 판정된 카테고리, 및 판정된 추가 정보 중 하나 이상의 임의의 조합이, 대응하는 비디오 콘텐츠와 연관해서 및/또는 대응하는 비디오 콘텐츠의 대응하는 시청자 등의 사용자와 연관해서 데이터베이스(들)(160)에 저장될 수 있다.
도 2는 예시적인 실시예에 따라, 텍스트 검출 시스템(100)의 특징이 구현될 수 있는 환경(200)을 나타내는 블록도이다. 텍스트 검출 시스템(100)은 본원에 개시된 텍스트 검출 기능을 비디오 콘텐츠 프로바이더(210), 제 1 미디어 콘텐츠 장치(220) 또는 제 2 미디어 콘텐츠 장치(240) 등의 미디어 콘텐츠 장치, 및/또는 미디어 튜너/플레이어 장치(230)에 제공하도록 구성될 수 있다.
비디오 콘텐츠 프로바이더(210)는, 비디오 콘텐츠를 미디어 콘텐츠 장치에 제공하도록 구성된 컴퓨터 시스템을 포함할 수 있다. 일부 실시예에서, 비디오 콘텐츠 프로바이더(210)는 비디오 콘텐츠의 브로드캐스터(예를 들면, 케이블 텔레비전 브로드캐스터, 위성 라디오 브로드캐스터, 웹캐스터)를 포함한다. 이전에 논의된 바와 같이, 비디오 콘텐츠는 텔레비전 프로그램, 비-에피소드적 영화, 웨피소드, 비디오 공유 웹 사이트에 대한 사용자-생성 콘텐츠, 또는 광고를 포함할 수 있다. 다른 유형의 비디오 콘텐츠도 본 개시의 범위 내에 있다.
일부 실시예에서, 제 1 미디어 콘텐츠 장치(220) 및 제 2 미디어 콘텐츠 장치(240)는 비디오 콘텐츠를 재생하도록 구성된다. 일부 실시예에서, 제 1 미디어 콘텐츠 장치(220)는 스마트 텔레비전을 포함한다. 따라서, 제 1 미디어 콘텐츠 장치(220)는 인터넷 기반 및 주문형 미디어 콘텐츠의 재생을 가능하게 하는 하나 이상의 스마트 TV 애플리케이션(222)(예를 들면, Netflix® 또는 Hulu®)을 포함할 수 있다. 다른 구성들 또한, 본 개시의 범위 내에 있다. 일부 실시예에서, 제 2 미디어 콘텐츠 장치(240)는 다양한 방식으로 제 1 미디어 콘텐츠 장치(220)와 동시에 사용될 수 있다. 일부 실시예에서, 제 2 미디어 콘텐츠 장치(240)는 제 1 미디어 콘텐츠 장치(220)를 제어하기 위한 원격 컨트롤로서 사용될 수 있다. 일부 실시예에서, 제 2 미디어 콘텐츠 장치(240)는 제 1 미디어 콘텐츠 장치(220) 상에서 제시되고 있는 비디오 콘텐츠에 대응해서 추가적인 정보를 시청하는데 사용될 수 있다.
일 예에서, 사용자는 제 2 미디어 콘텐츠 장치(240)를 쥐고 제 1 미디어 콘텐츠 장치(220) 상의 텔레비전 광고를 시청할 수 있다. 텔레비전 광고는 본원에서 설명되는 바와 같이, 텍스트 검출 시스템(100)에 의해 검출되고 해석될 수 있는 텍스트를 포함할 수 있다. 텍스트 검출 시스템은 텔레비전 광고에 대응하는 URL(예를 들면, 광고에서 광고되는 제품에 대한 웹 사이트) 등의 검출된 텍스트에 의거하여 추가 정보를 판정할 수 있다. 텍스트 검출 시스템(100)은 제 2 미디어 콘텐츠 장치(240) 상에서의 제시 또는 추가 처리를 위해, 제 2 미디어 콘텐츠 장치(240)에 추가 정보를 제공할 수 있다. URL을 포함하는 추가 정보의 예에서, URL은 제 2 미디어 콘텐츠 장치(240)의 웹 브라우저가 개시되게 되어, 사용자가 광고 제품에 관한 추가 정보를 볼 수 있게 한다. 일부 실시예에서, 전화번호가 텍스트 검출 시스템(100)에 의해 비디오 콘텐츠 내에서 검출될 수 있고, 텍스트 검출 시스템(100)은 사용자에게 전화번호로 전화하기를 원하는 지의 여부를 묻도록, 사용자의 모바일 장치(예를 들면, 스마트폰) 상에서 프롬프팅(prompting)을 자동적으로 제공할 수 있다. 다른 예 및 구성 또한, 본 개시의 범위 내에 있다.
일부 실시예에서, 미디어 콘텐츠 장치는, 콘텐츠 프로바이더(예를 들면, 케이블 또는 위성 텔레비전 프로바이더, 웹 텔레비전 프로바이더, 지상파 또는 위성 무선국, 온라인 뮤직 서비스 등)로부터 비디오 및/또는 오디오 콘텐츠의 스트림을 수신하고, 미디어 콘텐츠 장치를 채용한 사용자에게 비디오 및/또는 오디오 콘텐츠를 제시 또는 재생하도록, 스트림을 처리해서 미디어 콘텐츠 장치의 디스플레이에 의해 이용 가능한 정보(예를 들면, 디지털 또는 아날로그)를 출력함으로써 콘텐츠의 스트림을 재생할 수 있다. 미디어 튜너/플레이어 장치(230)의 예는, 셋톱 유닛(예를 들면, 케이블 박스) 및 디지털 미디어 플레이어(예를 들면, Apple TV®player 또는 Roku®player)를 포함하지만 이에 한정되지 않는다. 일부 실시예에서, 미디어 튜너/플레이어 장치(230)는 그 서비스를 채용하는 미디어 콘텐츠 장치와 분리되어 외부에 있을 수 있다. 다른 실시예에서, 미디어 튜너/플레이어 장치(230)는 그 서비스를 채용하는 미디어 콘텐츠 장치에 통합될 수 있다.
여기에 개시된 장치 및 시스템은 다양한 방식으로 다른 장치 및 시스템과 통신할 수 있다. 일부 실시예에서, 장치 및 시스템은 하나 이상의 네트워크를 통해 통신할 수 있다. 사용될 수 있는 네트워크의 예로는, 유선 네트워크, 무선 네트워크(예를 들면, 모바일 네트워크 또는 Wi-Fi 네트워크), 라디오 또는 전기 통신 네트워크, 위성 네트워크, 케이블 네트워크 등을 포함하지만 이에 한정되지 않는다. 일부 실시예에서, 네트워크는 사설 네트워크(예를 들면, 케이블 텔레비전 네트워크 또는 위성 라디오 네트워크), 공중 네트워크(예를 들면, 공중 방송 채널 또는 인터넷) 등을 구성하는 하나 이상의 부분을 포함할 수 있다. 장치들과 시스템들간에 정보를 통신하는 다른 구성 및 방법 또한, 본 개시의 범위 내에 있다.
일부 실시예에서, 검출된 텍스트, 판정된 카테고리, 및/또는 판정된 추가 정보는 사용자 계정과 연관해서 데이터베이스(들)(160)에 저장될 수 있다. 각 사용자 계정은 특정 미디어 콘텐츠 장치, 특정 개인, 및/또는 특정 사람 그룹과 연관 및 그에 대응할 수 있다. 예를 들면, 하나의 사용자 계정은 가족의 거실의 특정 텔레비전 세트에 대응할 수 있다. 다른 예에서, 또 다른 사용자 계정은 그 또는 그녀가 어떤 미디어 콘텐츠 장치를 사용하던지에 상관없이 가족의 하나의 특정 멤버에 대응할 수 있다. 이와 관련해서, "사용자 계정" 및 "사용자의 계정"이라는 용어는 특정 사용자의 계정, 특정 사용자의 특정 그룹(예를 들면, 가족 구성원)의 계정, 또는 하나 이상의 특정 장치(예를 들면, 가족의 주방 TV)의 계정을 말할 수 있고, 특허의 청구범위에서 명시적으로 언급하지 않는 한 단일의 특정 사용자에게 속한 계정으로만 한정되게 해석되어서는 안 된다.
각각의 사용자 계정은, 사용자 계정에 대응하는 미디어 콘텐츠 장치 상에 제시되는 비디오 콘텐츠 내에서 어떤 텍스트가 검출되었는지 및/또는 사용자 계정에 대응하는 사람이 시청한 비디오 콘텐츠 내에서 어떤 텍스트가 검출되었는지의 이력을 포함할 수 있다. 또한, 각 사용자 계정은 카테고리의 이력 및/또는 검출된 텍스트에 대응하는 추가 정보를 포함할 수 있다. 이러한 하나 이상의 이력의 임의의 조합은, 나중 참조를 위해 사용자가 액세스하고 볼 수 있거나 또는 대응하는 사용자 계정과 연관된 사용자에게 검출된 텍스트에 대응하는 추가 정보를 제시하는 데 사용하기 위해 소프트웨어 애플리케이션에 의해 자동으로 액세스될 수 있다. 예를 들면, 사용자는 제 1 미디어 콘텐츠 장치(220) 상에서 텔레비전 프로그램을 시청할 수 있다. 텔레비전 프로그램 중에, 텔레비전 프로그램의 웹 사이트에 대한 URL을 포함하는 텍스트가 디스플레이될 수 있다. URL은 텍스트 검출 시스템(100)에 의해 검출되고 사용자와 연관해서 저장될 수 있다. 며칠 후, 텔레비전 프로그램이 끝난 오랜 후에, 사용자는 제 2 미디어 콘텐츠 장치(240) 상의 웹 브라우저를 사용할 수 있고, 텍스트 검출 시스템(100)은 웹 브라우저에게 텔레비전 프로그램의 웹 사이트에 대한 URL을 자동으로 로드하게 할 수 있다. 다른 예 및 구성도, 본 개시의 범위 내에 있다.
일부 실시예에서, 텍스트 검출 시스템(100), 또는 그 하나 이상의 컴포넌트(예를 들면, 모듈 및/또는 데이터베이스)의 임의의 조합이, 비디오 콘텐츠 프로바이더(210), 제 1 미디어 콘텐츠 장치(220), 미디어 튜너/플레이어 장치(230), 및 제 2 미디어 콘텐츠 장치(240)에 상주하거나 그에 통합될 수 있다. 일부 실시예에서, 텍스트 검출 시스템(100)의 컴포넌트들은 모두, 비디오 콘텐츠 프로바이더(210), 제 1 미디어 콘텐츠 장치(220), 미디어 튜너/플레이어 장치(230), 및 제 2 미디어 콘텐츠 장치(240) 중 하나에서 구현될 수 있다. 다른 실시예에서, 텍스트 검출 시스템(100)의 서로 다른 컴포넌트는, 서로 다른 장치 및 시스템(210)에 걸쳐 퍼져 있을 수 있다(예를 들면, 텍스트 검출 모듈(130)은 비디오 콘텐츠 프로바이더(210)에 통합되고, 텍스트 인식 모듈(130), 텍스트 해석 모듈(140), 및 정보 모듈(150)은 제 2 미디어 콘텐츠 장치(240)에 통합됨). 다른 구성도, 본 개시의 범위 내에 있다.
일부 실시예에서, 텍스트 검출 시스템(100), 또는 그 컴포넌트들 중 일부는 이전에 논의된 미디어 콘텐츠 장치(220, 240) 또는 미디어 플레이어/튜너 장치(230) 등의 클라이언트 장치에 포함될 수 있다. 일부 실시예에서, 텍스트 검출 시스템(100), 또는 그 컴포넌트들 중 일부는, 방송 피드가 실시간으로 분석되고 클라이언트 장치가 식별 방법(예를 들면, 핑거프린팅, 워터마킹)을 이용하여 추출된 정보를 검색하는 서버 시스템에 포함될 수 있다.
하나의 예시적인 실시예에서, 제 2 스크린 장치(예를 들면, 태블릿 또는 스마트폰)는, 오디오 핑거프린팅을 사용해서 TV에서 사용자가 시청하고 있는 쇼를 식별할 수 있고, 그 쇼에 연관된 정보를 제 2 스크린 장치에 가져온다. 그 정보는 쇼의 오프닝 크레딧 상의 텍스트 오버레이를 사용해서 컴파일될 수 있다. 이러한 정보의 예는, 소셜 미디어 링크(예를 들면, Facebook® 또는 Twitter®link)를 포함할 수 있다. 그러나, 다른 유형의 정보도 본 개시의 범위 내에 있다.
도 3a 내지도 3i는 일부 예시적인 실시예에 따라 비디오 콘텐츠 (310)의 프레임(300) 내의 텍스트(320)를 검출하고 해석하는 다양한 단계들을 나타낸다. 도 3a 내지 도 3h의 단계들은 텍스트를 갖는 비디오 콘텐츠의 부분을 식별하는 것에 대응하고, 도 3i는 비디오 콘텐츠의 식별된 부분 내의 텍스트를 식별하는 것뿐만 아니라 식별된 텍스트에 대한 카테고리를 판정하는 것에 대응한다.
도 3a는 서로 다른 위치에 다양한 텍스트(320)를 갖는 비디오 콘텐츠 (310)의 프레임(300)을 나타낸다. 일부 실시예에서, 프레임(300)은 그레이스케일로 변환될 수 있다. 에지 검출이 변환된 프레임(300) 상에서 수행될 수 있다. 에지 검출은, 이미지 밝기가 급격하게 변화하거나 불연속성을 갖는 디지털 이미지에서의 포인트를 식별하는 것을 목표로 하는 수학적 방법들의 세트에 대한 이름이다. 일부 실시예에서, 소벨(Sobel) 필터 또는 연산자가 에지 검출과 함께 사용될 수 있다. 소벨 연산자는 이산 미분 연산자이며 이미지 강도 함수의 기울기의 근사치를 계산한다. 이미지의 각 포인트에서, 소벨 연산자의 결과는 대응하는 기울기 벡터 또는 이 벡터의 노름이다.
일부 실시예에서, 프레임(300) 내의 수직 에지들을 연결하도록 프레임(300) 상에서 확장이 수행될 수 있다. 이진 이미지에 대한 확장의 기본 효과는 전경(foreground) 픽셀들의 영역들의 경계를 점진적으로 확장하는 것이다. 따라서, 전경 픽셀의 에어리어가 크기가 커지면서 해당 영역 내의 구멍은 작아진다.
일부 실시예에서, 프레임(300)은 이진화될 수 있다. 프레임은 오츠의 방법(Otsu's method)을 이용해서 이진화될 수 있다. 오츠의 방법은, 클러스터링 기반 이미지 이진화(thresholding)를 자동으로 수행하거나, 그레이레벨 이미지를 이진 이미지로 축소하는 데 사용된다. 알고리즘은, 이진화될 이미지가 두 가지 클래스의 픽셀 또는 바이모달(bi-modal) 히스토그램(예를 들면, 전경 및 배경)을 포함하는 것으로 상정하고, 결합된 스프레드(클래스내(intra-class) 분산)가 최소가 되도록 해당 두 클래스를 분리하는 최적의 임계값을 계산한다.
일부 실시예에서, 연결된 컴포넌트 분석이 프레임(300) 상에서 수행되어 프레임(300) 내의 연결된 컴포넌트를 검출할 수 있다. 연결된 컴포넌트 분석은 그래프 이론의 알고리즘 적용이며, 여기서 연결된 컴포넌트의 서브세트는 소정의 경험적 방법(heuristic)에 의거하여 고유하게 라벨링된다. 연결된 컴포넌트 분석은 컴퓨터 비전에서 이진 디지털 이미지의 연결된 영역을 검출하는 데 사용되지만, 컬러 이미지 및 더 높은 차원의 데이터도 처리될 수 있다. 관련 입력 데이터로부터 정점을 포함하고 에지를 연결하는 그래프가 구성된다. 정점은 비교 경험적 방법에 필요한 정보를 포함하고, 에지는 연결된 '이웃'을 나타낸다. 알고리즘은 그래프를 가로질러, 이웃들의 연결성 및 상대값에 의거하여 정점을 라벨링한다. 라벨링 단계 이후에, 그래프는 서브세트로 분할될 수 있으며, 그 후 원래 정보가 복구 및 처리될 수 있다.
도 3b는 연결된 컴포넌트 분석이 수행된 후의 프레임(300)을 나타낸다. 도 3b에서, 바운딩 박스(330)들이, 검출되는 연결된 컴포넌트들 둘레에 배치된다. 도 3c에서, 연결된 컴포넌트는 텍스트 라인(340)으로 병합될 수 있다. 도 3d에서, 텍스트 라인(340)은 수평 투영을 이용해서 세분화될 수 있는 한편, 도 3e에서, 텍스트 라인(340)은 수직 투영을 이용해서 세분화될 수 있다. 이 세분화는 다수의 텍스트 라인들을 분리하고 바람직하지 않은 텍스트 라인들을 제거하는 데 도움이 될 수 있다. 이진 이미지를 라인으로 투영하는 것은, 라인을 빈(bin)으로 분할하고 각 빈에 수직인 라인 상에 있는 1 픽셀들의 수를 찾음으로써 얻어질 수 있다. 투영은, 많은 유용한 정보가 투영에 유지되므로 이미지의 콤팩트한 표현이다. 수평 및 수직 투영은, 각각의 빈에 대해 수직 및 수평 방향으로 각각 1 픽셀들의 수를 찾음으로써 얻어질 수 있다.
도 3f에서, 텍스트 라인(340)은 그들의 에지 정보에 의거하여 텍스트를 포함하는 가능한 영역을 나타낸다. 프로세스에서 지금까지 식별된 하나 이상의 텍스트 라인(340)이 그 크기에 의거하여 필터링될 수 있다. 이러한 필터링된 텍스트 라인은 텍스트(또는 유용한 텍스트)를 포함하지 않을 수 있다. 그에 따라, 가능성 있는 텍스트 라인들의 필터링된 세트가 형성될 수 있다. 도 3g는 프레임(300)의 20개의 서로 다른 텍스트 라인(340)들을 나타낸다. 이들 20개의 서로 다른 텍스트 라인(340)들은, 그들의 에지 정보에 의거하여 텍스트를 포함하는 가능한 영역을 나타낸다. 도 3h에서, 텍스트 라인(340)들은 이진화되고, 17개의 텍스트 라인이 결과의 이진화의 컴포넌트가 문자가 아닐 가능성에 의거하여(예를 들면, 대부분 검은색 이미지로 되는 이진화) 필터링된다. 텍스트 라인(340)은 또한, 대응하는 컴포넌트의 형상 및/또는 위치에 의거하여 필터링되어, 텍스트를 갖는 비디오 콘텐츠(310)의 부분을 형성할 수 있다.
도 3i는 텍스트를 갖는 비디오 콘텐츠(310)의 부분으로서 단일 텍스트 라인(340)을 나타낸다. 텍스트 라인(340)은 이진화되고, 이에 의해 텍스트 라인(340)의 이진화된 버전(350)을 형성할 수 있다. 이진화된 버전(350) 내의 텍스트는, 이진화된 버전(350)에 대해 OCR을 수행함으로써 식별될 수 있다. 다음으로, 식별된 텍스트는 파싱되어 복수의 텍스트 세그먼트를 판정할 수 있다. 도 3i의 결과 테이블에서, 텍스트 세그먼트는, af(OCR이 MTV 로고 부분을 "af"로 해석했음), NEWS, TWEET, US, @MTVNEWS, WITH, YOUR, JO, BROS, QUESTIONS, #ASKJONAS를 포함한다. 텍스트 세그먼트와 카테고리 사이의 저장된 연관에 의거하여, 대응하는 카테고리가 각 텍스트 세그먼트에 대해 판정될 수 있다. 예를 들면, "@"의 사용과 "handle"의 카테고리(예를 들면, Twitter®handle) 사이에 저장된 연관이 있을 수 있다. 결과적으로 "@MTVNEWS"는 "handle"로서 식별될 수 있다. 마찬가지로, "#"의 사용과 "hashtag"의 카테고리 사이에 저장된 연관이 있을 수 있다. 결과적으로, "#ASKJONAS"는 "hashtag"로서 식별될 수 있다. 이러한 연관은 적절한 카테고리를 판정하기 위한 문법 또는 구문 규칙(예를 들면, "www."의 사용은 URL을 나타냄)을 포함할 수 있거나 및/또는 카테고리가 판정되고 있는 텍스트의 전체(또는 대부분)를 포함할 수 있는 것으로 고려된다(예를 들면, 텍스트 "www.examplewebsite.com"이 저장되어 있고, 카테고리가 판정될 텍스트가 이 저장된 텍스트와 비교되어 그것이 일치해서 동일한 카테고리가 할당되어야 하는지의 여부를 판정할 수 있다).
일부 실시예에서, 텍스트에 대한 카테고리의 판정은, 텍스트 검출 시스템(100)에 의해 수행되는 추가 동작을 판정하는 데 사용될 수 있다. 예를 들면, 비디오 콘텐츠 내의 텍스트가 식별되고 URL로서 카테고리화되면, 텍스트 검출 시스템(100)은 URL로서의 카테고리의 판정에 의거하여 미디어 콘텐츠 장치에의 URL의 로드를 일으킬 수 있다. 다른 예에서, 비디오 콘텐츠의 텍스트가 식별되고 전화번호로서 카테고리화되면, 텍스트 검출 시스템(100)은 전화번호로서의 카테고리의 판정에 의거하여 전화번호에 사용자가 전화하도록 프로프팅하게 할 수 있다. 다른 예 및 구성도 본 개시의 범위 내에 있다.
서버 측(예컨대, 비디오 콘텐츠 프로바이더(210)) 또는 클라이언트 측(예를 들면, 제 1 미디어 콘텐츠 장치(220) 또는 제 2 미디어 콘텐츠 장치(240)) 중 하나에, 추가 정보가 페치(fetch)되고 수집될 수 있다. 일부 실시예에서, 대응하는 애플리케이션이 개시될 수 있다. 검출된 텍스트로부터 추출된 추가 정보가 애플리케이션에 제공될 수 있다(예를 들면, 비디오 콘텐츠의 텍스트로부터 추출된 Twitter®handle이 Twitter®application에 제공될 수 있음).
일부 상황에서, 식별된 텍스트 및/또는 그것의 대응하는 추가 정보는 임의의 의미있는 사용에 대응하지 못할 수 있다. 예를 들면, 특정 URL은 비디오 콘텐츠 내에서 식별된 텍스트에 의거하여 (예를 들면, 추가 정보로서) 판정될 수 있다. 그러나, 웹 브라우저에서의 URL의 로드가 해당 페이지로 되지 않을 수 있다(예를 들면 URL이 없거나 임의의 연관 콘텐츠가 없을 수 있음). 일부 실시예에서, 식별된 텍스트 및/또는 그 대응하는 추가 정보가 미리 정해진 유용성 임계값(예를 들면, URL이 웹 브라우저에 의해 발견되지 않는 경우)을 만족시키지 못한다는 판정에 응답하여, 또는 다른 방식으로 그에 의거하여, 검출된 텍스트 및/또는 추가 정보의 수정(예를 들면, 텍스트의 서로 다른 스펠링들 및/또는 심볼 조합들)이 텍스트 검출 시스템(100)에 의해 임의적으로 또는 체계적으로 시도될 수 있다. 이러한 수정은, 이전에 텍스트 검출 시스템(100)이 식별된 텍스트 및/또는 추가 정보에 속하지 않는 텍스트를 가져오거나 달리 사용하는 것을 고려하도록 서브스트링을 포함할 수 있지만, 이에 국한되지는 않는다.
일부 실시예에서, 텍스트 인식(예를 들면, OCR) 단계는, 식별된 텍스트 및/또는 그 대응하는 추가 정보가 미리 정해진 유용성 임계값을 만족시키지 못한다는 판정에 응답해서 또는 다른 방식으로 그에 의거하여 반복될 수 있다. 이 텍스트 인식 단계는 파싱에서 다른 가능성 있는 심볼, 문자, 및/또는 숫자 조합 또는 가능한 오류를 찾기 위해 반복될 수 있다. 일부 실시예에서, 텍스트 인식 단계의 앞선 수행 동안 OCR 결과들을 정정하기 위해 사전이 앞서 사용되었지만, 일부 문자 조합들이 의도적으로 사전 단어에 가깝지만 서로 다를 수 있으므로(예를 들면, 문자를 유사하게 보이는 숫자로 대체, 'E'를 '3'으로, 'I'를 '1'로 등), 이 사전 특징 없이, 텍스트 인식 단계의 반복 수행이 수행될 수 있다.
일부 실시예에서, 사용을 위한 소프트웨어 애플리케이션에 URL, handle, 또는 다른 추가 정보를 제공하기 전에, 텍스트 검출 시스템(100)은 텍스트 인식이 정확하게 수행되었는지를 보장하기 위해 추가 정보에 대한 검증 프로세스를 수행할 수 있다. 예를 들면, 텍스트 검출 시스템(100)은 Facebook®URL 또는 Twitter®handle이 공식적이거나 검증된 계정과 대응하는 지를 확인하도록 체크할 수 있다. 텍스트 검출 시스템(100)은 추가 정보를 소프트웨어 애플리케이션에 제공하기 위한 조건으로서 검증을 사용할 수 있다. 다른 예 및 구성은 본 개시의 범위 내에 있다.
일부 실시예에서, 텍스트 검출 시스템(100)은 현재의 텍스트 인식 프로세스에 대해 수정을 하거나, 다른 방식으로 영향을 미치도록, 이전에 검출되고 인식/식별된 단어(또는 다른 텍스트)의 저장된 이력을 사용하도록 구성될 수 있다.
도 4는 일부 예시적인 실시예에 따른 방법(400)을 나타내는 플로차트이다. 방법(400)의 동작은 시스템 또는 시스템의 모듈들에 의해 수행될 수 있다(예를 들면, 도 1의 텍스트 검출 시스템(100)). 동작(410)에서, 비디오 콘텐츠가 적어도 하나의 미리 정해진 조건을 만족시키는지에 대한 판정이 이루어질 수 있다. 일부 실시예에서, 미리 정해진 조건(들)은 다수의 프레임들에 걸친 최소 레벨의 명료성, 최소 레벨의 콘트라스트, 및 최소 레벨의 콘텐츠 안정도 중 적어도 하나를 포함한다. 비디오 콘텐츠가 미리 정해진 조건(들)을 만족시키지 못한다고 판정되면, 방법(400)은, 비디오 콘텐츠에 대해 본원에 개시된 텍스트 검출 기술이 수행되어 있지 않고 종료될 수 있다. 비디오 콘텐츠가 미리 정해진 조건(들)을 만족시키는 것으로 판정되면, 동작(420)에서, 비디오 콘텐츠의 일부가 텍스트를 갖는 것으로 식별될 수 있다. 동작(430)에서, 비디오 콘텐츠의 식별된 부분 내의 텍스트가 식별될 수 있다. 동작(440)에서, 식별된 텍스트에 대한 카테고리가 판정될 수 있다. 동작(450)에서, 식별된 텍스트 및 판정된 카테고리에 의거하여, 비디오 콘텐츠에 대응하는 추가 정보가 판정될 수 있다. 추가 정보는 URL(uniform resource locator), 사용자 계정의 식별 정보, 메타데이터 태그, 및 전화번호 중 적어도 하나를 포함할 수 있다. 동작(460)에서, 추가 정보는 미디어 콘텐츠 장치에 제공될 수 있다. 추가 정보는 미디어 콘텐츠 장치 상의 소프트웨어 애플리케이션에 제공될 수 있다. 추가 정보는 미디어 콘텐츠 장치 상에 표시되게 될 수 있다. 추가 정보는 비디오 콘텐츠와 연관해서 또는 비디오 콘텐츠의 식별된 시청자와 연관해서 저장될 수 있다. 식별된 텍스트는 비디오 콘텐츠와 연관해서 또는 비디오 콘텐츠의 식별된 시청자와 연관해서 저장될 수 있다. 방법(400)의 동작은 본원에 개시된 임의의 다른 특징을 포함할 수 있는 것으로 고려된다.
도 5는 일부 예시적인 실시예에 따른 방법(500)을 나타내는 플로차트이다. 방법(500)의 동작은 시스템 또는 시스템의 모듈들에 의해 수행될 수 있다(예를 들면, 도 1의 텍스트 검출 시스템(100)). 방법(500)은 텍스트를 갖는 비디오 콘텐츠의 부분을 식별하는 데 사용될 수 있다. 동작(502)에서, 비디오 콘텐츠의 프레임이 그레이스케일로 변환될 수 있다. 동작(504)에서, 프레임에 대해 에지 검출이 수행될 수 있다. 동작(506)에서, 프레임 내에서 수직 에지들을 연결하도록 프레임 상에서 확장이 수행될 수 있다. 동작(508)에서, 프레임은 이진화될 수 있다. 동작(510)에서, 프레임 내의 연결된 컴포넌트들을 검출하도록 프레임 상에서 연결된 컴포넌트 분석이 수행될 수 있다. 동작(512)에서, 연결된 컴포넌트들은 복수의 텍스트 라인으로 병합될 수 있다. 동작(514)에서, 복수의 텍스트 라인은 수평 및 수직 투영을 이용해서 세분화될 수 있다. 동작(516)에서, 복수의 텍스트 라인 중 적어도 하나의 크기에 의거하여 복수의 텍스트 라인 중 적어도 하나가 필터링되어, 텍스트 라인들의 필터링된 세트를 형성할 수 있다. 일부 실시예에서, 동작(516)은 방법(500)에서 제외될 수 있다. 예를 들면, 텍스트 라인들 모두가 미리 정해진 기준을 만족시키는 것으로 판정되면, 이 필터링 동작(516)은 회피될 수 있다. 동작(518)에서, 텍스트 라인들의 필터링된 세트(또는 필터링 동작(516)이 수행되지 않을 경우, 단순히 세분화된 세트)는 이진화될 수 있다. 동작(520)에서, 텍스트 라인들 중 적어도 하나에서의 컴포넌트들의 형상 및 텍스트 라인들 중 적어도 하나에서의 컴포넌트들의 위치 중 적어도 하나에 의거하여, 텍스트 라인들 중 적어도 하나가 텍스트 라인들의 이진화된 필터링된 세트로부터 필터링되어, 텍스트를 갖는 비디오 콘텐츠의 부분을 형성할 수 있다. 방법(500)의 동작들은 본원에 개시된 임의의 다른 특징들을 포함할 수 있는 것이 고려된다.
도 6은 일부 예시적인 실시예에 따른 방법(600)을 나타내는 플로차트이다. 방법(600)의 동작은 시스템 또는 시스템의 모듈들에 의해 수행될 수 있다(예를 들면, 도 1의 텍스트 검출 시스템(100)). 동작(610)에서, 식별된 부분 내의 텍스트를 식별하기 위해, 비디오 콘텐츠의 식별된 부분(예를 들면, 텍스트를 갖는 것으로 식별된 부분)에 대한 OCR이 수행될 수 있다. 동작(620)에서, 식별된 텍스트는 식별된 텍스트의 복수의 세그먼트를 판정하도록 파싱될 수 있다. 동작(630)에서, 복수의 세그먼트들 중 적어도 하나와 카테고리 사이의 저장된 연관에 의거하여 카테고리가 판정될 수 있다. 방법(600)의 동작들은 본원에 개시된 임의의 다른 특징들을 포함할 수 있는 것이 고려된다.
예시적인 모바일 장치
도 7은 예시적인 실시예에 따른 모바일 장치(700)를 나타내는 블록도이다. 모바일 장치(700)는 프로세서(702)를 포함할 수 있다. 프로세서(702)는 모바일 장치(700)에 적합한 다양한 서로 다른 형태의 임의의 시판중인 임의의 프로세서일 수 있다(예를 들면, XScale 아키텍처 마이크로프로세서, MIPS(Microprocessor without Interlocked Pipeline Stage) 아키텍처 프로세서, 또는 다른 유형의 프로세서). 랜덤 액세스 메모리(RAM), 플래시 메모리 또는 다른 유형의 메모리 등의 메모리(704)는 일반적으로 프로세서(702)가 액세스 가능하다. 메모리(704)는 또한, 운영 체제(OS)(706)뿐만 아니라, LBS를 사용자에게 제공할 수 있는 모바일 위치 인에이블된 애플리케이션 등의 애플리케이션 프로그램(708)을 저장하는 데 적합할 수 있다. 프로세서(702)는, 직접 또는 적절한 중간 하드웨어를 통해, 디스플레이(710), 및 키패드, 터치 패널 센서, 마이크로폰 등과 같은 하나 이상의 입출력(I/O) 장치(712)에 결합될 수 있다. 마찬가지로, 일부 실시예에서, 프로세서(702)는 안테나(716)와 인터페이싱하는 송신기(714)에 연결될 수 있다. 송신기(714)는, 셀룰러 네트워크 신호, 무선 데이터 신호, 또는 다른 유형의 신호를 안테나를 통해, 모바일 장치(700)의 특성에 의존하여, 송수신하도록 구성될 수 있다. 또한, 일부 구성에서, GPS 수신기(718)는 안테나(716)를 이용해서 GPS 신호를 수신할 수 있다.
모듈, 컴포넌트 및 로직
특정 실시예는 본원에서 로직 또는 다수의 컴포넌트, 모듈 또는 메커니즘을 포함하는 것으로 설명된다. 모듈은 소프트웨어 모듈(예를 들면, 머신-판독 가능한 매체 또는 전송 신호에 구현된 코드) 또는 하드웨어 모듈을 구성할 수 있다. 하드웨어 모듈은 특정 작업을 수행할 수 있는 유형의 유닛이며 특정 방식으로 구성하거나 배치될 수 있다. 예시적인 실시예에서, 하나 이상의 컴퓨터 시스템(예를 들면, 독립형, 클라이언트, 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(예를 들면, 프로세서 또는 프로세서 그룹)은 소프트웨어(예를 들면, 애플리케이션 또는 애플리케이션 부분)에 의해 본원에서 설명되는 특정 동작을 수행하도록 하드웨어 모듈로서 구성될 수 있다.
다양한 실시예에서, 하드웨어 모듈은 머신적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 하드웨어 모듈은 특정 동작을 수행하도록 (예를 들면, 필드 프로그래머블 게이트 어레이(FPGA) 또는 주문형 집적 회로(ASIC) 등의 특수 목적용 프로세서로서) 영구적으로 구성된 전용 회로 또는 로직을 포함할 수 있다. 하드웨어 모듈은 또한, 특정 동작을 수행하도록 소프트웨어에 의해 일시적으로 구성된 프로그램 가능한 로직 또는 회로(예를 들면, 범용 프로세서 또는 다른 프로그램 가능한 프로세서 내에 포함되는 것)를 포함할 수 있다. 전용 및 영구적으로 구성된 회로에서, 또는 일시적으로 구성된 회로(예를 들면, 소프트웨어에 의해 구성됨)에서 머신적으로 하드웨어 모듈을 구현하기 위한 결정이 비용 및 시간 고려에 의해 이루어질 수 있음을 이해할 것이다.
따라서, 용어 "하드웨어 모듈"은 특정 방식으로 동작하거나 및/또는 여기에 설명된 특정 동작을 수행하도록, 물리적으로 구성되거나, 영구적으로 구성되거나(예를 들면, 하드와이어드(hardwired)) 또는 일시적으로 구성되는(예를 들면, 프로그래밍된) 유형의 엔티티를 포함하는 것으로 이해되어야 한다. 하드웨어 모듈들이 일시적으로 구성되는(예를 들면, 프로그래밍되는) 실시예들을 고려하면, 하드웨어 모듈들 각각은 임의의 어느 하나의 시간 인스턴스에 구성되거나 인스턴스화될 필요는 없다. 예를 들면, 하드웨어 모듈이 소프트웨어를 사용해서 구성된 범용 프로세서를 포함할 경우, 범용 프로세서는 서로 다른 시간에 각각의 서로 다른 하드웨어 모듈로서 구성될 수 있다. 따라서, 소프트웨어는, 예를 들면 하나의 시간 인스턴스에서 특정 하드웨어 모듈을 구성하고 다른 시간 인스턴스에서 다른 하드웨어 모듈을 구성하도록, 프로세서를 구성할 수 있다.
하드웨어 모듈은 다른 하드웨어 모듈에 정보를 제공하고 다른 하드웨어 모듈로부터 정보를 수신할 수 있다. 따라서, 설명된 하드웨어 모듈들은 통신 가능하게 결합된 것으로 간주될 수 있다. 그러한 다수의 하드웨어 모듈들이 동시에 존재할 경우, 하드웨어 모듈들을 연결하는 신호 전송(예를 들면, 적절한 회로 및 버스로)을 통해 통신이 달성될 수 있다. 다수의 하드웨어 모듈들이 서로 다른 시간에 구성되거나 인스턴스화되는 실시예에서, 그러한 하드웨어 모듈들간의 통신은, 예를 들면 다수의 하드웨어 모듈들이 액세스하는 메모리 구조 내의 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들면, 하나의 하드웨어 모듈이 동작을 수행하고 그 동작의 출력을 통신 가능하게 연결된 메모리 장치에 저장할 수 있다. 이어서 추가적인 하드웨어 모듈이 나중에 메모리 장치에 액세스해서 저장된 출력을 검색하고 처리할 수 있다. 하드웨어 모듈은 또한, 입력 또는 출력 장치와의 통신을 개시할 수 있고 자원(예를 들면, 정보 모음)을 조작할 수 있다.
본원에 설명된 예시적인 방법들의 다양한 동작은, 관련 동작을 수행하도록(예를 들면, 소프트웨어에 의해) 일시적으로 구성되거나 영구적으로 구성된 하나 이상의 프로세서에 의해 적어도 부분적으로 수행될 수 있다. 일시적으로 또는 영구적으로 구성되든지의 여부에 상관없이, 이러한 프로세서는 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서-구현 모듈을 구성할 수 있다. 본원에서 언급된 모듈은 일부 실시예에서 프로세서-구현 모듈을 포함할 수 있다.
마찬가지로, 본원에 설명된 방법들은 적어도 부분적으로 프로세서-구현될 수 있다. 예를 들면, 방법의 동작들 중 적어도 일부는 하나 이상의 프로세서 또는 프로세서 구현 모듈에 의해 수행될 수 있다. 특정 동작의 수행은, 단일 머신 내에 상주할 뿐만 아니라, 다수의 머신간에 배치되는 하나 이상의 프로세서간에 분산될 수 있다. 일부 실시예에서, 프로세서 또는 프로세서들은 (예를 들면, 가정 환경, 사무 환경 내에 또는 서버 팜으로서) 단일 위치에 위치될 수 있는 한편, 다른 실시예에서, 프로세서가 다수의 위치에 걸쳐 분산될 수 있다.
하나 이상의 프로세서는 또한, "클라우드 컴퓨팅" 환경에서 또는 "SaaS(software as a service)"로서 관련 동작의 수행을 지원하도록 동작할 수 있다. 예를 들면, 동작의 적어도 일부는 (프로세서를 포함하는 머신의 예로서) 컴퓨터 그룹에 의해 수행될 수 있으며, 이러한 동작은 네트워크 및 하나 이상의 적절한 인터페이스(예를 들면, API)를 통해 액세스 가능하다.
예시적인 실시예는 디지털 전자 회로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 예시적인 실시예는, 예를 들면 프로그램 가능한 프로세서, 컴퓨터, 또는 다수의 컴퓨터 등의 데이터 처리 장치에 의해 실행하거나 그 동작을 제어하도록, 예를 들면 머신-판독 가능한 매체 등의 정보 캐리어에, 예를 들면 유형으로 구현되는 컴퓨터 프로그램 등의 컴퓨터 프로그램 제품을 이용하여 구현될 수 있다.
컴퓨터 프로그램은 컴파일된 언어 또는 해석된 언어를 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있으며, 독립형 프로그램 또는 모듈, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적합한 다른 유닛으로서 포함하여 임의의 형태로 전개될 수 있다. 하나의 사이트에서 또는 다수의 사이트에 분산되고 통신 네트워크로 상호 연결되는 하나의 컴퓨터 또는 다수의 컴퓨터에서 실행되도록 컴퓨터 프로그램이 전개될 수 있다.
예시적인 실시예에서, 입력 데이터를 조작하고 출력을 생성함으로써 기능을 수행하도록 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능한 프로세서에 의해 동작들이 수행될 수 있다. 또한, 방법 동작은 특수 목적 로직 회로(예를 들면, FPGA 또는 ASIC)에 의해 수행될 수 있고, 예시적인 실시예의 장치는 특수 목적 로직 회로(예를 들면, FPGA 또는 ASIC)로서 구현될 수 있다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 원격으로 되어 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계가, 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 프로그램 가능한 컴퓨팅 시스템을 배치하는 실시예들에서, 하드웨어 및 소프트웨어 구조들 모두가 고려될 수 있음을 이해할 것이다. 특히, 영구적으로 구성된 하드웨어(예를 들면, ASIC), 일시적으로 구성된 하드웨어(예를 들면, 소프트웨어 및 프로그램 가능한 프로세서의 조합), 또는 영구적으로 및 일시적으로 구성된 하드웨어의 조합의 특정 기능을 구현할지의 여부의 선택은 설계 선택일 수 있음임을 이해할 것이다. 다음은 다양한 예시적인 실시예에서 배치될 수 있는 하드웨어(예를 들면, 머신) 및 소프트웨어 아키텍처이다.
도 8은 컴퓨터 시스템(800)의 예시적인 형태의 머신의 블록도로서, 여기에서 논의된 방법들 중 임의의 하나 이상의 방법을 머신이 수행하게 하는 명령어(824)가 예시적인 실시예에 따라 실행될 수 있다. 다른 실시예에서, 머신은 독립형 장치로서 동작하거나 다른 머신에 접속(예를 들면, 네트워크화)될 수 있다. 네트워크화 배치에서, 이 머신은 서버-클라이언트 네트워크 환경에서 서버 또는 클라이언트 머신의 능력 내에서, 또한 피어-투-피어(peer-to-peer)(또는 분산) 네트워크 환경에서 피어 머신로서 동작할 수 있다. 이 머신은 개인용 컴퓨터(PC), 태블릿 PC, 셋톱 박스(STB), PDA(Personal Digital Assistant), 휴대 전화, 웹 어플라이언스, 네트워크 라우터, 스위치 또는 브리지, 또는 해당 머신이 취할 액션을 지정하는 명령어(순차 또는 기타)를 실행할 수 있는 임의의 머신일 수 있다. 또한, 단지 하나의 머신만이 도시되어 있지만, "머신"이라는 용어는 본원에서 논의된 어느 하나 이상의 방법을 수행하기 위한 명령어의 세트(또는 다수의 세트)를 개별적으로 또는 공동으로 실행하는 임의의 머신들의 컬렉션을 포함하는 것으로 간주된다.
예시적인 컴퓨터 시스템(800)은 프로세서(802)(예를 들면, 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU) 또는 둘 모두), 메인 메모리(804) 및 정적 메모리(806)를 포함하고, 이들은 버스(808)를 통해 서로 통신한다. 컴퓨터 시스템(800)은 비디오 디스플레이 유닛(810)(예를 들면, 액정 디스플레이(LCD) 또는 음극선관(CRT))을 더 포함할 수 있다. 컴퓨터 시스템(800)은 또한, 영숫자 입력 장치(812)(예를 들면, 키보드), 사용자 인터페이스(UI) 네비게이션(또는 커서 컨트롤) 장치(814)(예를 들면, 마우스), 디스크 드라이브 유닛(816), 신호 생성 장치(818)(예를 들면, 스피커) 및 네트워크 인터페이스 장치(820)를 포함한다.
디스크 드라이브 유닛(816)은, 여기에 설명된 임의의 하나 이상의 방법 또는 기능에 의해 구현되거나 이용되는 데이터 구조 및 명령어(824)(예를 들면, 소프트웨어)의 하나 이상의 세트가 저장되는 머신-판독 가능한 매체(822)를 포함한다. 명령어(824)는 또한, 머신-판독 가능한 매체를 구성하는 컴퓨터 시스템(800), 메인 메모리(804) 및 프로세서(802)에 의한 실행 중에 주 메모리(804) 및/또는 프로세서(802) 내에 완전히 또는 적어도 부분적으로 상주할 수 있다. 명령어(824)는 또한, 정적 메모리(806) 내에 완전히 또는 적어도 부분적으로 상주할 수 있다.
머신-판독 가능한 매체(822)가 예시적인 실시예에서 단일 매체인 것으로 도시되어 있지만, "머신-판독 가능한 매체"라는 용어는 하나 이상의 명령어(824) 또는 데이터 구조를 저장하는 단일 매체 또는 다중 매체(예를 들면, 중앙 집중식 또는 분산형 데이터베이스, 및/또는 연관된 캐시 및 서버)를 포함할 수 있다. "머신-판독 가능한 매체"라는 용어는 또한, 머신에 의한 실행을 위한 명령어를 저장, 인코딩 또는 운반할 수 있고 머신으로 하여금 본 실시예의 방법 중 어느 하나 이상을 수행하게 하거나, 또는 그러한 명령어에 의해 이용되거나 그와 연관되는 데이터 구조를 저장, 인코딩 또는 운반할 수 있는 임의의 유형의 매체를 포함하는 것으로 간주된다. 따라서 "머신-판독 가능한 매체"라는 용어는 고체 상태 메모리 및 광학 및 자기 매체를 포함하는 것으로 간주되어야 하지만, 이에 국한되지는 않다. 머신-판독 가능한 매체의 특정 예는, 예로서 반도체 메모리 장치(예를 들면, 소거 가능한 프로그램 가능한 판독 전용 메모리(EPROM), 전기 소거 가능한 프로그램 가능한 판독 전용 메모리(EEPROM) 및 플래시 메모리 장치); 내부 하드 디스크 및 이동식 디스크 등의 자기 디스크; 광 자기 디스크; 및 CD-ROM(Compact Disc-Read-Only memory) 및 DVD-ROM(Digital Versatile Disc 또는 Digital Video Disc read-only memory) 디스크를 포함한다.
명령어(824)는 또한, 전송 매체를 이용해서 통신 네트워크(826)를 통해 전송되거나 수신될 수 있다. 명령어(824)는 네트워크 인터페이스 장치(820) 및 다수의 잘 알려진 전송 프로토콜들(예를 들면, HTTP) 중 어느 하나를 이용해서 전송될 수 있다. 통신 네트워크의 예는 LAN, WAN, 인터넷, 이동 전화 네트워크, POTS 네트워크, 및 무선 데이터 네트워크(예를 들면, WiFi 및 WiMAX 네트워크)를 포함한다. "전송 매체"는, 머신에 의한 실행을 위한 명령어를 저장, 인코딩, 또는 운반할 수 있는 임의의 무형의 매체를 포함하는 것으로 간주되어야 하며, 디지털 또는 아날로그 통신 신호 또는 그러한 소프트웨어의 통신을 용이하게 하기 위한 다른 무형의 매체를 포함한다.
일 실시예가 특정 예시적인 실시예를 참조해서 설명되었지만, 본 개시의 광의의 사상 및 범주에서 벗어나지 않고 이들 실시예에 대해 다양한 수정 및 변경이 이루어질 수 있음이 명백할 것이다. 따라서, 명세서 및 도면은 제한적인 의미라기보다는 예시적인 것으로 간주되어야 한다. 본원의 일부를 형성하는 첨부된 도면은 본 내용을 실시할 수 있는 특정 실시예를 제한이 아닌 예시로서 나타내고 있다. 도시된 실시예는 당업자가 본원에 개시된 교시를 실시할 수 있도록 충분히 상세하게 설명된다. 본 개시의 범위를 벗어나지 않고 구조적 및 논리적 대체 및 변경이 이루어질 수 있도록 다른 실시예가 이용되고 이로부터 유도될 수 있다. 따라서, 상세한 설명은 제한적인 의미로 간주되어서는 안 되며, 첨부된 청구범위와 그러한 청구범위와 등가물의 전체 범위에 의해서만 다양한 실시예들의 범위가 정의된다.
본원에서 특정 실시예가 예시되고 설명되었지만, 동(同) 목적을 달성하도록 계산된 임의의 배치가 도시된 특정 실시예를 대체할 수 있다는 것을 이해해야 한다. 본 개시는 다양한 실시예의 임의의 및 모든 적응 또는 변형을 포함하는 것이 의도된다. 상기 실시예들의 조합 및 본원에서 구체적으로 설명되지 않은 다른 실시예들은 상기 설명을 검토하면 통상의 기술자에게 명백할 것이다.

Claims (20)

  1. 메모리 및 적어도 하나의 프로세서를 갖는 머신에 의해, 비디오 콘텐츠의 일부를 텍스트를 갖는 것으로 식별하는 단계;
    상기 비디오 콘텐츠의 식별된 부분 내의 텍스트를 식별하는 단계; 및
    상기 식별된 텍스트에 대한 카테고리를 판정하는 단계를 포함하는
    컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    상기 비디오 콘텐츠가 적어도 하나의 미리 정해진 조건을 만족시키는지의 여부를 판정하는 단계를 더 포함하고,
    상기 비디오 콘텐츠의 일부를 텍스트를 갖는 것으로 식별하는 단계의 수행은, 상기 비디오 콘텐츠가 상기 적어도 하나의 미리 정해진 조건을 만족시킨다는 판정을 조건으로 하는 컴퓨터 구현 방법.
  3. 제 2 항에 있어서,
    상기 적어도 하나의 미리 정해진 조건은 다수의 프레임에 걸친 최소 레벨의 명료성(clarity), 최소 레벨의 콘트라스트(contrast), 및 최소 레벨의 콘텐츠 안정도(stability) 중 적어도 하나를 포함하는 컴퓨터 구현 방법.
  4. 제 1 항에 있어서,
    상기 식별된 텍스트 및 상기 판정된 카테고리에 의거하여 상기 비디오 콘텐츠에 대응하는 추가 정보를 판정하는 단계를 더 포함하는 컴퓨터 구현 방법.
  5. 제 4 항에 있어서,
    상기 추가 정보가 미디어 콘텐츠 장치 상에 디스플레이되게 하는 단계를 더 포함하는 컴퓨터 구현 방법.
  6. 제 4 항에 있어서,
    상기 추가 정보를 상기 비디오 콘텐츠와 연관해서 또는 상기 비디오 콘텐츠의 식별된 시청자와 연관해서 저장하는 단계를 더 포함하는 컴퓨터 구현 방법.
  7. 제 4 항에 있어서,
    상기 추가 정보를 미디어 콘텐츠 장치 상의 소프트웨어 애플리케이션에 제공하는 단계를 더 포함하는 컴퓨터 구현 방법.
  8. 제 7 항에 있어서,
    상기 추가 정보는 URL(uniform resource locator), 사용자 계정의 식별 정보(identification), 메타데이터 태그, 및 전화번호 중 적어도 하나를 포함하는 하는 컴퓨터 구현 방법.
  9. 제 7 항에 있어서,
    상기 미디어 콘텐츠 장치는 텔레비전, 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 컴퓨터, 및 스마트폰 중 하나를 포함하는 컴퓨터 구현 방법.
  10. 제 1 항에 있어서,
    상기 식별된 텍스트를 상기 비디오 콘텐츠와 연관해서 또는 상기 비디오 콘텐츠의 식별된 시청자와 연관해서 저장하는 단계를 더 포함하는 컴퓨터 구현 방법.
  11. 제 1 항에 있어서,
    상기 비디오 콘텐츠의 일부를 텍스트를 갖는 것으로 식별하는 단계는,
    상기 비디오 콘텐츠의 프레임을 그레이스케일(grayscale)로 변환하는 단계;
    상기 프레임 상에서 에지 검출을 수행하는 단계;
    상기 프레임 내에서 수직 에지들을 연결하도록 상기 프레임 상에서 확장(dilation)을 수행하는 단계;
    상기 프레임을 이진화하는 단계;
    상기 프레임 내의 연결된 컴포넌트들을 검출하도록, 상기 프레임 상에서 연결된 컴포넌트 분석을 수행하는 단계;
    상기 연결된 컴포넌트들을 복수의 텍스트 라인들로 병합하는 단계;
    수평 및 수직 투영을 이용해서 상기 복수의 텍스트 라인들을 세분화(refining)하는 단계;
    상기 복수의 텍스트 라인들 중 적어도 하나의 크기에 의거하여 상기 복수의 텍스트 라인들 중 적어도 하나를 필터링해서, 텍스트 라인들의 필터링된 세트를 형성하는 단계;
    상기 텍스트 라인들의 필터링된 세트를 이진화하는 단계; 및
    상기 텍스트 라인들의 적어도 하나에서의 컴포넌트들의 형상 및 상기 텍스트 라인들 중 적어도 하나에서의 컴포넌트들의 위치 중 적어도 하나에 의거하여, 상기 텍스트 라인들의 이진화된 필터링된 세트로부터 텍스트 라인들 중 적어도 하나를 필터링해서, 텍스트를 갖는 비디오 콘텐츠의 부분을 형성하는 단계를 포함하는
    컴퓨터 구현 방법.
  12. 제 1 항에 있어서,
    상기 비디오 콘텐츠의 식별된 부분 내의 텍스트를 식별하는 단계는, 상기 비디오 콘텐츠의 식별된 부분에 대해 OCR(optical character recognition)을 수행하는 단계를 포함하는 컴퓨터 구현 방법.
  13. 제 1 항에 있어서,
    상기 식별된 텍스트에 대한 카테고리를 판정하는 단계는,
    상기 식별된 텍스트의 복수의 세그먼트를 판정하도록 상기 식별된 텍스트를 파싱(parsing)하는 단계; 및
    상기 복수의 세그먼트 중 적어도 하나와 상기 카테고리 사이의 저장된 연관에 의거하여 상기 카테고리를 판정하는 단계를 포함하는 컴퓨터 구현 방법.
  14. 제 1 항에 있어서,
    상기 비디오 콘텐츠는 텔레비전 프로그램의 일부, 비에피소드적(non-episodic) 영화, 웨비소드(webisode), 비디오 공유 웹 사이트에 대한 사용자 생성 콘텐츠, 또는 광고를 포함하는 컴퓨터 구현 방법.
  15. 메모리 및 적어도 하나의 프로세서를 갖는 머신; 및
    상기 머신 상의 적어도 하나의 모듈을 포함하고,
    상기 적어도 하나의 모듈은,
    비디오 콘텐츠의 일부를 텍스트를 갖는 것으로 식별하고;
    상기 비디오 콘텐츠의 식별된 부분 내의 텍스트를 식별하고;
    상기 식별된 텍스트에 대한 카테고리를 판정하도록 구성되는
    시스템.
  16. 제 15 항에 있어서,
    상기 적어도 하나의 모듈은,
    상기 비디오 콘텐츠가 적어도 하나의 미리 정해진 조건을 만족시키는지의 여부를 판정하고,
    상기 비디오 콘텐츠가 상기 적어도 하나의 미리 정해진 조건을 만족시킨다는 판정에 응답해서, 상기 비디오 콘텐츠의 일부를 텍스트를 갖는 것으로 식별하도록 더 구성되는
    시스템.
  17. 제 16 항에 있어서,
    상기 적어도 하나의 미리 정해진 조건은 다수의 프레임에 걸친 최소 레벨의 명료성, 최소 레벨의 콘트라스트, 및 최소 레벨의 콘텐츠 안정도 중 적어도 하나를 포함하는 시스템.
  18. 제 15 항에 있어서,
    상기 적어도 하나의 모듈은 상기 식별된 텍스트 및 상기 판정된 카테고리에 의거하여 상기 비디오 콘텐츠에 대응하는 추가 정보를 판정하도록 더 구성되는 시스템.
  19. 제 18 항에 있어서,
    상기 적어도 하나의 모듈은 상기 추가 정보를 미디어 콘텐츠 장치 상의 소프트웨어 애플리케이션에 제공하도록 더 구성되는 시스템.
  20. 적어도 하나의 프로세서에 의한 실행시,
    비디오 콘텐츠의 일부를 텍스트를 갖는 것으로 식별하는 것;
    상기 비디오 콘텐츠의 식별된 부분 내의 텍스트를 식별하는 것; 및
    상기 식별된 텍스트에 대한 카테고리를 판정하는 것을 포함하는
    동작들의 세트를 상기 적어도 하나의 프로세서에게 수행하게 하는 명령어의 세트를 유형으로(tangibly) 구현한 비일시적인 머신-판독 가능한 저장 장치.
KR1020167034595A 2014-05-28 2015-05-27 비디오의 텍스트 검출 KR102343766B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/289,142 2014-05-28
US14/289,142 US9036083B1 (en) 2014-05-28 2014-05-28 Text detection in video
PCT/US2015/032618 WO2015183914A1 (en) 2014-05-28 2015-05-27 Text detection in video

Publications (2)

Publication Number Publication Date
KR20170010378A true KR20170010378A (ko) 2017-01-31
KR102343766B1 KR102343766B1 (ko) 2021-12-27

Family

ID=53054656

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167034595A KR102343766B1 (ko) 2014-05-28 2015-05-27 비디오의 텍스트 검출

Country Status (5)

Country Link
US (2) US9036083B1 (ko)
EP (1) EP3149658B1 (ko)
JP (1) JP6626843B2 (ko)
KR (1) KR102343766B1 (ko)
WO (1) WO2015183914A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018143779A1 (ko) * 2017-02-06 2018-08-09 삼성전자 주식회사 동영상 관련 서비스 표시 방법, 저장 매체 및 이를 위한 전자 장치
WO2024106761A1 (ko) * 2022-11-15 2024-05-23 삼성전자 주식회사 전자 장치 및 그 동작 방법

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10567823B2 (en) 2008-11-26 2020-02-18 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US10880340B2 (en) 2008-11-26 2020-12-29 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9154942B2 (en) 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US10419541B2 (en) 2008-11-26 2019-09-17 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US10977693B2 (en) 2008-11-26 2021-04-13 Free Stream Media Corp. Association of content identifier of audio-visual data with additional data through capture infrastructure
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US10631068B2 (en) 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US8180891B1 (en) 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
US9762950B1 (en) * 2013-09-17 2017-09-12 Amazon Technologies, Inc. Automatic generation of network pages from extracted media content
US9495083B2 (en) * 2014-05-16 2016-11-15 International Business Machines Corporation Symbolic referential third-party notification
US9036083B1 (en) * 2014-05-28 2015-05-19 Gracenote, Inc. Text detection in video
US9471990B1 (en) * 2015-10-20 2016-10-18 Interra Systems, Inc. Systems and methods for detection of burnt-in text in a video
CN105653156B (zh) * 2015-12-30 2018-08-31 深圳酷比通信股份有限公司 一种安卓设备及其收音机电台刻度控件
CN108235143B (zh) * 2016-12-15 2020-07-07 广州市动景计算机科技有限公司 视频播放模式转换方法、装置及移动终端
JP7102103B2 (ja) * 2017-03-31 2022-07-19 キヤノン株式会社 携帯型の情報処理装置及び当該情報処理装置を用いた方法及びプログラム
US10762375B2 (en) 2018-01-27 2020-09-01 Microsoft Technology Licensing, Llc Media management system for video data processing and adaptation data generation
US10638168B2 (en) 2018-09-06 2020-04-28 International Business Machines Corporation Detecting minimum viable display resolution of media content using optical character recognition
CN112966606B (zh) * 2021-03-05 2023-07-21 北京百度网讯科技有限公司 图像识别方法、相关装置及计算机程序产品
US20240046669A1 (en) * 2022-08-08 2024-02-08 Capital One Services, Llc Systems and methods for extracting in-video moving text in live video streams

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6608930B1 (en) * 1999-08-09 2003-08-19 Koninklijke Philips Electronics N.V. Method and system for analyzing video content using detected text in video frames
US20100054585A1 (en) * 2008-09-03 2010-03-04 Jean-Pierre Guillou Text localization for image and video OCR
US7876381B2 (en) * 2008-06-30 2011-01-25 Kabushiki Kaisha Toshiba Telop collecting apparatus and telop collecting method
US20130330003A1 (en) * 2012-06-07 2013-12-12 Amazon Technologies, Inc. Adaptive thresholding for image recognition

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321770A (en) 1991-11-19 1994-06-14 Xerox Corporation Method for determining boundaries of words in text
US6532302B2 (en) * 1998-04-08 2003-03-11 Canon Kabushiki Kaisha Multiple size reductions for image segmentation
US6614930B1 (en) 1999-01-28 2003-09-02 Koninklijke Philips Electronics N.V. Video stream classifiable symbol isolation method and system
US7474698B2 (en) * 2001-10-19 2009-01-06 Sharp Laboratories Of America, Inc. Identification of replay segments
US20030198386A1 (en) 2002-04-19 2003-10-23 Huitao Luo System and method for identifying and extracting character strings from captured image data
US7876978B2 (en) * 2005-10-13 2011-01-25 Penthera Technologies, Inc. Regions of interest in video frames
US8060373B2 (en) * 2007-03-21 2011-11-15 At&T Intellectual Property I, L.P. System and method of identifying contact information
US8596541B2 (en) * 2008-02-22 2013-12-03 Qualcomm Incorporated Image capture device with integrated barcode scanning
US20130194448A1 (en) 2012-01-26 2013-08-01 Qualcomm Incorporated Rules for merging blocks of connected components in natural images
US20140188889A1 (en) * 2012-12-31 2014-07-03 Motorola Mobility Llc Predictive Selection and Parallel Execution of Applications and Services
US9036083B1 (en) 2014-05-28 2015-05-19 Gracenote, Inc. Text detection in video

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6608930B1 (en) * 1999-08-09 2003-08-19 Koninklijke Philips Electronics N.V. Method and system for analyzing video content using detected text in video frames
US7876381B2 (en) * 2008-06-30 2011-01-25 Kabushiki Kaisha Toshiba Telop collecting apparatus and telop collecting method
US20100054585A1 (en) * 2008-09-03 2010-03-04 Jean-Pierre Guillou Text localization for image and video OCR
US20130330003A1 (en) * 2012-06-07 2013-12-12 Amazon Technologies, Inc. Adaptive thresholding for image recognition

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018143779A1 (ko) * 2017-02-06 2018-08-09 삼성전자 주식회사 동영상 관련 서비스 표시 방법, 저장 매체 및 이를 위한 전자 장치
US11122324B2 (en) 2017-02-06 2021-09-14 Samsung Electronics Co., Ltd. Method for displaying video related service, storage medium, and electronic device therefor
WO2024106761A1 (ko) * 2022-11-15 2024-05-23 삼성전자 주식회사 전자 장치 및 그 동작 방법

Also Published As

Publication number Publication date
EP3149658A4 (en) 2017-11-29
EP3149658A1 (en) 2017-04-05
KR102343766B1 (ko) 2021-12-27
JP6626843B2 (ja) 2019-12-25
US20150350725A1 (en) 2015-12-03
WO2015183914A1 (en) 2015-12-03
US9876982B2 (en) 2018-01-23
US9036083B1 (en) 2015-05-19
EP3149658B1 (en) 2020-07-29
JP2017522648A (ja) 2017-08-10

Similar Documents

Publication Publication Date Title
KR102343766B1 (ko) 비디오의 텍스트 검출
JP7511482B2 (ja) 埋め込まれた情報カード位置特定およびコンテンツ抽出のためのビデオ処理
US9443147B2 (en) Enriching online videos by content detection, searching, and information aggregation
US10242265B2 (en) Actor/person centric auto thumbnail
KR102262481B1 (ko) 비디오 컨텐츠 요약
TWI523539B (zh) 具有編碼辨識之網路媒體裝置
US20150356195A1 (en) Browser with video display history
US20140279075A1 (en) Interactive advertising
US20180068188A1 (en) Video analyzing method and video processing apparatus thereof
CN103220581A (zh) 电视社交网络信息提供方法和电视接收机设备
US20150256905A1 (en) Server apparatus and method of transmitting finger print thereof, and broadcast receiving apparatus
US20140324623A1 (en) Display apparatus for providing recommendation information and method thereof
US9544656B1 (en) Systems and methods for recognition of sign language for improved viewing experiences
KR20220000758A (ko) 영상 검출 장치 및 그 동작 방법
US20230291772A1 (en) Filtering video content items
US20170325003A1 (en) A video signal caption system and method for advertising
US20140129729A1 (en) Method and system for remote altering static video content in real time
US20130177286A1 (en) Noninvasive accurate audio synchronization
US20170249319A1 (en) Methods and systems for aggregating data from webpages using path attributes
US20160127778A1 (en) Head end detection
US11700285B2 (en) Filtering video content items
CN117014649A (zh) 视频处理方法、装置及电子设备
US9473734B2 (en) Inter-video corresponding relationship display system and inter-video corresponding relationship display method
CN112154671A (zh) 电子设备及其内容识别信息获取
US11960851B2 (en) Systems and methods for improving comprehension in translation based on context-based references

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