KR102263897B1 - Fingerprint layouts for content fingerprinting - Google Patents
Fingerprint layouts for content fingerprinting Download PDFInfo
- Publication number
- KR102263897B1 KR102263897B1 KR1020207031093A KR20207031093A KR102263897B1 KR 102263897 B1 KR102263897 B1 KR 102263897B1 KR 1020207031093 A KR1020207031093 A KR 1020207031093A KR 20207031093 A KR20207031093 A KR 20207031093A KR 102263897 B1 KR102263897 B1 KR 102263897B1
- Authority
- KR
- South Korea
- Prior art keywords
- video frame
- fingerprint
- pixel values
- locations
- fingerprint file
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/441—Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card
- H04N21/4415—Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card using biometric characteristics of the user, e.g. by voice recognition or fingerprint scanning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2541—Rights Management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2668—Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4882—Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/812—Monomedia components thereof involving advertisement data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8126—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
- H04N21/814—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts comprising emergency warnings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8146—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
Abstract
미디어 콘텐츠를 식별하기 위한 방법이 개시된다. 상기 방법은 콘텐츠 사업자로부터의 지문 미디어 콘텐츠를 수신하여 제1 지문 세트를 획득하는 단계를 포함하며 제1 지문 세트는 제1 지문 레이아웃의 제1 지문 서브세트 및 제2 지문 레이아웃의 제2 지문 서브세트를 포함한다. 상기 방법은 제2 지문 세트를 수신하는 단계를 포함할 수 있으며, 제2 지문 세트는 제1 지문 레이아웃의 제3 지문 서브세트 및 제2 지문 레이아웃의 제4 지문 서브세트를 포함할 수 있다. 상기 방법은 제1 지문 서브세트의 제1 지문을 제3 지문 서브세트의 제2 지문에 매칭하거나 제2 지문 서브세트의 제3 지문을 제4 지문 서브세트의 제4 지문을 매칭하여 미디어 콘텐츠를 식별할 수 있다.A method for identifying media content is disclosed. The method includes receiving fingerprint media content from a content provider to obtain a first fingerprint set, wherein the first fingerprint set includes a first fingerprint subset in a first fingerprint layout and a second fingerprint subset in a second fingerprint layout. includes The method may include receiving a second fingerprint set, wherein the second fingerprint set may include a third fingerprint subset of the first fingerprint layout and a fourth fingerprint subset of the second fingerprint layout. The method includes matching a first fingerprint in a first fingerprint subset to a second fingerprint in a third fingerprint subset or by matching a third fingerprint in a second fingerprint subset to a fourth fingerprint in a fourth fingerprint subset to access media content. can be identified.
Description
삭제delete
미디어 소비 장치, 가령, 스마트 텔레비전(TV)이 방송 디지털 콘텐츠를 액세스하고 데이터, 가령, 스트리밍 미디어를 데이터 네트워크로부터 수신할 수 있다. 스트리밍 미디어는 최종 사용자가 미디어 콘텐츠, 가령, 영화 또는 뉴스를 전화선, 케이블 채널, 인터넷 채널 등을 통해 요청할 수 있는 서비스를 지칭한다. 예를 들어, 사용자는 자신의 거주지를 떠나지 않고 영화를 볼 수 있다. 덧붙여, 사용자는 다양한 유형의 교육 콘텐츠, 가령, 비디오 강의를 학교나 교육 기관의 수업에 물리적으로 참석할 필요 없이 액세스할 수 있다.
미디어 소비 장치의 수가 계속 증가함에 따라, 비디오 콘텐츠 생성 및 전달이 마찬가지로 증가할 수 있다. 방송 디지털 콘텐츠 및 스트리밍 미디어를 액세스하는 미디어 소비 장치의 사용의 증가에 따라, 콘텐츠 사업자 도는 네트워크 제공자는 방송 디지털 콘텐츠 또는 스트리밍 미디어를 소비하는 시청자에게 맥락적으로 관련된 콘텐츠를 배포할 수 있다. 예를 들어, 지역 방송국이 방송 디지털 콘텐츠 또는 스트리밍 미디어와 함께 맥락적으로 관련된 광고 및 대화형 콘텐츠를 포함할 수 있다.A media consuming device, such as a smart television (TV), may access broadcast digital content and receive data, such as streaming media, from a data network. Streaming media refers to a service through which an end user can request media content, such as a movie or news, over a telephone line, cable channel, Internet channel, or the like. For example, a user can watch a movie without leaving their residence. In addition, users can access various types of educational content, such as video lectures, without having to physically attend classes at a school or educational institution.
As the number of media consuming devices continues to increase, video content creation and delivery may likewise increase. With the increasing use of media consuming devices to access broadcast digital content and streaming media, content providers or network providers may distribute broadcast digital content or contextually relevant content to viewers consuming streaming media. For example, local broadcasters may include contextually relevant advertisements and interactive content along with broadcast digital content or streaming media.
보 발명은 이하에서 제공되는 상세한 설명 및 본 발명의 다양한 실시예의 도면으로부터 더 완전히 이해될 것이다. 그러나 도면은 본 발명을 특정 실시예로 한정하려는 것이 아니라 설명 및 이해만을 위한 것이다.
도 1은 하나의 실시예에 따르는 콘텐츠 배포 네트워크의 시스템도이다.
도 2는 하나의 실시예에 따르는 콘텐츠 오버레이 네트워크의 시스템도이다.
도 3a는 하나의 실시예에 따르는 전자 장치 상에 디스플레이될 이미지를 생성하기 위해 미디어 콘텐트 및 온스크린 디스플레이를 형성하기 위한 프레임의 합성을 도시한다.
도 3b는 하나의 실시예에 따르는 창을 포함하는 미디어 콘텐츠 및 온스크린 디스플레이의 합성을 도시한다.
도 3c는 하나의 실시예에 따르는 창을 포함하는 미디어 콘텐츠 및 온스크린 디스플레이의 합성을 도시한다.
도 3d는 하나의 실시예에 따르는 전자 장치 상에 디스플레이될 이미지를 생성하기 위한, 미디어 콘텐츠, 온스크린 디스플레이, 및 오버레이 콘텐츠의 합성을 도시한다.
도 4는 하나의 실시예에 따르는 프레임의 완전 세분된 지문 레이아웃을 도시한다.
도 5a는 하나의 실시예에 따르는 프레임의 상단 세분된 지문 레이아웃을 도시한다.
도 5b는 하나의 실시예에 따르는 복수의 블록을 갖는 도 5a에 도시된 프레임의 상단 세분된 지문 레이아웃을 도시한다.
도 5c는 하나의 실시예에 따르는 도 5a에 도시된 프레임의 하단 세분된 지문 레이아웃을 도시한다.
도 5d는 하나의 실시예에 따르는 복수의 블록을 갖는 도 5c에 도시된 프레임의 하단 세분된 지문 레이아웃을 도시한다.
도 6a는 하나의 실시예에 따르는 미디어 콘텐츠를 식별하기 위한 방법의 흐름도이다.
도 6b는 하나의 실시예에 따른 상단 세분된 지문 레이아웃을 이용해 미디어 콘텐츠를 식별하기 위한 방법의 흐름도이다.
도 7은 하나의 실시예에 따른 시스템의 블록도를 개략적으로 도시한다.The present invention will be more fully understood from the detailed description provided hereinafter and drawings of various embodiments of the invention. However, the drawings are not intended to limit the present invention to specific embodiments, but are for explanation and understanding only.
1 is a system diagram of a content distribution network according to an embodiment.
2 is a system diagram of a content overlay network according to an embodiment.
3A illustrates compositing of frames to form media content and an on-screen display to create an image to be displayed on an electronic device according to one embodiment.
3B illustrates a composite of an on-screen display and media content comprising a window according to one embodiment.
3C illustrates a composite of an on-screen display and media content comprising a window according to one embodiment.
3D illustrates compositing of media content, on-screen display, and overlay content to create an image to be displayed on an electronic device according to one embodiment.
4 shows a fully subdivided fingerprint layout of a frame according to one embodiment.
5A illustrates a top subdivided fingerprint layout of a frame according to one embodiment.
5B illustrates a top subdivided fingerprint layout of the frame shown in FIG. 5A with a plurality of blocks, according to one embodiment.
5C illustrates a bottom subdivided fingerprint layout of the frame shown in FIG. 5A according to one embodiment.
5D illustrates a bottom subdivided fingerprint layout of the frame shown in FIG. 5C with a plurality of blocks, according to one embodiment.
6A is a flowchart of a method for identifying media content according to one embodiment.
6B is a flow diagram of a method for identifying media content using a top subdivided fingerprint layout according to one embodiment.
7 schematically shows a block diagram of a system according to one embodiment.
현재, 케이블 텔레비전(TV) 제공자 및 위성 사업자에 의해 제공되는 수 백개의 프로그램 선택이 존재한다. 덧붙여, 수 십개의 지역 텔레비전 채널을 갖는 백 개가 넘는 주 텔레비전 시장 영역이 존재한다. 콘텐츠 사업자 또는 방송국이 중앙 위치에서 콘텐츠 피드를 생성하고 콘텐츠 피드를 다양한 위치로 배포할 수 있다. 예를 들어, 콘텐츠 사업자는 텔레비전 채널을 복수의 네트워크 제공자에게 배포할 수 있다. 네트워크 제공자는 지역 방송국, 멀티-채널 네트워크, 및 그 밖의 다른 콘텐츠 소유자 또는 배포자일 수 있다. Currently, there are hundreds of program selections offered by cable television (TV) providers and satellite operators. In addition, there are over a hundred major television market segments with dozens of regional television channels. A content provider or broadcaster can create a content feed from a central location and distribute the content feed to multiple locations. For example, a content provider may distribute a television channel to a plurality of network providers. Network providers may be local broadcasters, multi-channel networks, and other content owners or distributors.
용어 "콘텐츠"는 미디어 또는 멀티미디어를 지칭할 수 있다. 용어 "콘텐츠"는 또한 미디어 자체라기보다는 미디어의 주제 내용을 의미하는 특정 용어일 수 있다. 마찬가지로, 용어 "미디어(media)"는 및 "미디어"를 포함하는 일부 합성어(가령, 멀티미디어 또는 하이퍼미디어)는 정보가 최종 사용자/청자에게 전달될 때 통과하는 채널이라고 보다는 콘텐츠를 지칭한다. 미디어의 유형으로서 흔히 지칭되는 콘텐츠의 유형의 예시로는 "영화"라고도 지칭되는 "모션 픽처"가 있다. 또 다른 예로는 "비디오"가 있으며 이는 일반적으로 비디오 프레임 및 오디오 샘플을 포함한다. "방송"은 정보(가령, 미디어 콘텐츠)를 라디오, 텔레비전, 또는 그 밖의 다른 전자 장치로 전송하는 것을 지칭할 수 있다. 예를 들어, 전자 장치는 송신기를 이용해 미디어 콘텐츠를 방송할 수 있다. 또 다른 예에서, 전자 장치는 인터넷 또는 그 밖의 다른 사설 또는 공개 네트워크를 통해 미디어 콘텐츠를 스트리밍할 수 있다. "방송"은 또한 일대다 모델에서 콘텐츠 전달 시스템, 가령, 오버 디 에어(OTA), 케이블, 위성, 또는 인터넷 기반 네트워크를 이용해 분산된 시청자에게 전달되는 미디어 콘텐츠, 가령, 비디오 및 오디오 콘텐츠를 지칭할 수도 있다. 예를 들어, 방송은 라디오 또는 텔레비전 송신기로부터 전자 장치로 수신되는 미디어 콘텐츠일 수 있다. The term “content” may refer to media or multimedia. The term “content” may also be a specific term referring to the subject matter of a media rather than the media itself. Likewise, the terms “media” and some compound words including “media” (eg, multimedia or hypermedia) refer to content rather than a channel through which information is passed when it is delivered to an end user/audience. An example of a type of content commonly referred to as a type of media is a “motion picture,” also referred to as a “movie.” Another example is "video," which typically includes video frames and audio samples. “Broadcast” may refer to the transmission of information (eg, media content) to a radio, television, or other electronic device. For example, the electronic device may broadcast media content using a transmitter. In another example, the electronic device may stream media content over the Internet or other private or public network. “Broadcast” may also refer to media content, such as video and audio content, delivered to a distributed audience using a content delivery system, such as over the air (OTA), cable, satellite, or Internet-based networks, in a one-to-many model. may be For example, a broadcast may be media content received from a radio or television transmitter to an electronic device.
TV 쇼 또는 인터넷 방송과 같은 미디어 콘텐츠 방송 또는 스트리밍은 제품 및 서비스를 광고하고, 시청자에게 정보를 제공하거나, 또는 이들을 조합할 수 있는 매력적인 장소가 될 수 있다. 다양한 프로그래밍 선택을 제공하기 위한 수익을 창출하기 위해 콘텐츠 사업자(가령, 텔레비전 네트워크)는 미디어 콘텐츠에 광고 (AD)를 삽입할 수 있다. 일반적으로 광고주는 채널의 모든 시청자에게 하나의 미디어 콘텐츠 스트림을 보내는 것을 이용했으며 지역 방송국은 시청자 분석 및 등급 제공자, 가령, The Nielsen Company®가 제공한 등급만을 기초로 시청자를 타깃팅한다. Broadcasting or streaming media content, such as TV shows or Internet broadcasts, can be an attractive place to advertise products and services, provide information to viewers, or any combination thereof. To generate revenue for providing a variety of programming choices, content providers (eg, television networks) may place advertisements (AD) in their media content. In general, advertisers have used to send one stream of media content to all viewers on a channel, and local broadcasters target viewers based solely on ratings provided by viewer analytics and rating providers, such as The Nielsen Company®.
TV 광고가 제품 또는 서비스를 광고하는 떠오르는 장소이지만, 전통적인 TV 광고에는 상이한 시청자를 위한 타깃팅되고 개인화된 AD가 없다. 자동 콘텐츠 인식(ACR: Automatic content recognition) 시스템은 미디어 콘텐츠를 식별하고 시청자에게 타깃팅 및/또는 개인화된 광고를 제공하기 위한 지문을 이용할 수 있다. 예를 들어, ACR 시스템은 콘텐츠 지문화(content fingerprinting)를 이용해 미디어 콘텐츠를 식별할 수 있다. 하나의 실시예에서, ACR 시스템은 전자 장치, 가령, 서버 또는 TV 상에서 실행되는 소프트웨어일 수 있다. 또 다른 실시예에서, ACR 시스템은 벤더 또는 서비스 제공자에 의해 호스팅되고 인터넷을 통해 전자 장치에 의해 액세스될 수 있는 서비스일 수 있다. 예를 들어, ACR 시스템은 서비스형 소프트웨어(SaaS: Software as a Service), 서비스형 플랫폼(PaaS: Platform as a Service), 또는 서비스형 인프라구조(IaaS: Infrastructure as a Service)일 수 있다. While TV advertising is an emerging place to advertise a product or service, traditional TV advertising lacks targeted and personalized AD for different viewers. Automatic content recognition (ACR) systems may use fingerprints to identify media content and present targeted and/or personalized advertisements to viewers. For example, the ACR system may identify media content using content fingerprinting. In one embodiment, the ACR system may be software running on an electronic device, such as a server or a TV. In another embodiment, the ACR system may be a service hosted by a vendor or service provider and accessed by an electronic device via the Internet. For example, the ACR system may be software as a service (SaaS), a platform as a service (PaaS), or an infrastructure as a service (IaaS).
콘텐츠 지문화는 미디어 콘텐츠의 지문 성문을 식별, 추출 및 압축하여 미디어 콘텐츠를 이의 "지문"으로 고유하게 식별하는 프로세싱 장치를 포함할 수 있다. 하나의 예를 들면, 지문 성분은 시각적 비디오 특징, 가령, 키 프레임 분석, 컬러, 및 비디오 시퀀스 동안의 모션 변화일 수 있다. ACR 시스템은 전자 장치에 의해 디스플레이되고 있는 미디어 콘텐츠로부터의 하나의 콘텐츠 지문 또는 콘텐츠 시퀀스 지문을 참조 데이터베이스에 저장된 지문과 매칭함으로써 비디오 콘텐츠를 식별할 수 있다. Content fingerprinting may include a processing device that uniquely identifies the media content as its “fingerprint” by identifying, extracting, and compressing the fingerprinting of the media content. As one example, a fingerprint component may be a visual video feature, such as key frame analysis, color, and motion change during a video sequence. The ACR system may identify video content by matching one content fingerprint or content sequence fingerprint from the media content being displayed by the electronic device with a fingerprint stored in a reference database.
그러나 전자 장치가 미디어 콘텐츠에 온 스크린 디스플레이를 오버레이 할 때, 온 스크린 디스플레이는 미디어 콘텐츠를 식별하는 ACR 시스템을 교란시킬 수 있다. 예를 들어, 전자 장치는 콘텐츠 사업자로부터 수신한 미디어 콘텐츠에 온스크린 디스플레이를 오버레이할 수 있다. 온 스크린 디스플레이는 로고, 자막 텍스트, 긴급 메시지, 볼륨 바, 채널 번호, 구성 메뉴 등일 수 있다. However, when the electronic device overlays the on-screen display on the media content, the on-screen display may disrupt the ACR system for identifying the media content. For example, the electronic device may overlay the on-screen display on the media content received from the content provider. The on-screen display may be a logo, subtitle text, emergency message, volume bar, channel number, configuration menu, and the like.
종래에는, 전자 장치가 콘텐츠 지문을 생성하고 ACR 시스템으로 이를 전송할 때 미디어 콘텐츠의 콘텐츠 지문이 온스크린 디스플레이를 포함할 수 있고, 이 온스크린 디스플레이는 저장된 지문이 포함하지 않기 때문에 ACR 시스템이 콘텐츠 지문을 미디어 콘텐츠의 저장된 지문과 매칭하는 것을 교란시킬 수 있다. 콘텐츠 지문이 온스크린 디스플레이를 포함하고 저장 지문은 포함하지 않을 때, 저장된 지문의 적어도 일부분이 콘텐츠 지문과 상이하다.Conventionally, when an electronic device generates a content fingerprint and sends it to the ACR system, the content fingerprint of the media content may include an on-screen display, and since the on-screen display does not include a stored fingerprint, the ACR system detects the content fingerprint. It can disrupt matching with stored fingerprints of media content. When the content fingerprint includes an on-screen display and no stored fingerprint, at least a portion of the stored fingerprint is different from the content fingerprint.
본 명세서에, ACR 시스템이 미디어 콘텐츠에 오버레이된 또는 내장된 온스크린 디스플레이를 포함하는 미디어 콘텐츠를 식별할 수 있도록 하는 방법, 시스템, 및 장치가 기재된다. 하나의 실시예에서, 장치가 상이한 프레임 포맷을 이용해 지문을 생성할 수 있다. 장치는 전자 장치와 통신 가능하게 연결될 수 있으며, 장치는 ACR 시스템으로 지문을 통신할 수 있다. ACR 시스템은 상기 지문을 타 지문과 비교하여 디스플레이되는 미디어 콘텐츠를 식별할 수 있다. ACR 시스템은 미디어 콘텐츠 내 온스크린 디스플레이로 인한 교란을 피하기 위해 상이한 프레임 포맷을 사용할 수 있다. 지문을 위해 상이한 프레임 포맷을 이용함으로써, 본 명세서의 실시예에 기재된 바와 같이, 지문을 매칭할 때 긍정 오류(false positive)를 피할 수 있다. 상이한 프레임 포맷을 이용함으로써 또한 지문을 매칭할 때 실제 매칭을 놓치는 것을 피할 수 있다. Described herein are methods, systems, and apparatus that allow an ACR system to identify media content including an on-screen display that is overlaid or embedded in the media content. In one embodiment, the device may generate the fingerprint using a different frame format. The device may be communicatively coupled to the electronic device, and the device may communicate a fingerprint to the ACR system. The ACR system may identify the displayed media content by comparing the fingerprint with other fingerprints. The ACR system may use different frame formats to avoid disturbances due to on-screen display within the media content. By using different frame formats for fingerprints, false positives can be avoided when matching fingerprints, as described in the embodiments herein. By using a different frame format it is also possible to avoid missing the actual match when matching the fingerprint.
도 1은 하나의 실시예에 따르는 콘텐츠 배포 네트워크(100)의 시스템도이다. 콘텐츠 배포 네트워크(100)에서, 콘텐츠 사업자(102)는 지역 사업자(106)에게 콘텐츠 피드를 방송할 수 있다. 지역 사업자(106)는 헤드엔드(headend)(104) 및 ACR 지문화 서버(105)를 포함할 수 있다. 지역 사업자(106)의 헤드엔드(104)는 콘텐츠 사업자(102)로부터 콘텐츠 피드를 수신할 수 있다. 헤드엔드(104)는 수신된 콘텐츠 피드를 기초로 지역 콘텐츠 피드를 생성할 수 있다. 예를 들어, 헤드엔드(104)는 국립 또는 전역 방송국으로부터 프로그램과 광고와 함께 네트워크 채널을 수신하는 지역 제휴 방송국일 수 있다. 예를 들어, 헤드엔드(104)는 방송 피드를 송신하는 방송 설비 전의 방송 피드의 소스일 수 있다. 또 다른 예를 들면, 헤드엔드(104)는 분배 증폭기일 수 있다. 분배 증폭기는 소스 피드를 수신하고 동일한 소스 피드로부터 상이한 장치를 위한 복수의 출력을 만들 수 있다. 출력 피드는 다양한 배포 아웃렛으로 라우팅될 수 있는데, 가령, 공중(OTA) 방송, 케이블 사업자에게 전달, 위성 사업자에게 전달, 및/또는 온라인 스트리밍 사업자에게 전달될 수 있다. 1 is a system diagram of a
헤드엔드(104)는 지역 콘텐츠 피드를 ACR 지문화 서버(105), 공중(OTA) 방송국(108), 및/또는 멀티채널 비디오 프로그래밍 배포자(MVPD)(110)로 통신할 수 있다. 예를 들어, ACR 지문화 서버(105)는 방송 시설 내에 설치된 장치일 수 있다. ACR 지문화 서버(105)는 헤드엔드(104)로부터의 피드를 수신할 수 있다. ACR 지문화 서버(105)는 피드를 지문화하고 지문을 클라우드 기반 웹 서비스로 전송할 수 있다. 한 실시예에서, ACR 지문화 서버(105)는 방송 시설 내부에 설치되어 피드가 디스플레이 장치, 가령, 텔레비전(TV)으로 전달되기 전에 피드를 지문화할 수 있다. The
OTA 방송국(108) 및/또는 MVPD(110)는 지역 콘텐츠 피드를 전자 장치(115)로 통신할 수 있다. 전자 장치(115)의 일부 예시는 전자 장치(118 및 120), 미디어 콘텐츠를 전자 장치(118 및 120)로 스트리밍하는 셋 톱 박스(114), 및 사용자가 지역 콘텐츠 피드를 가령, 무선으로 스트리밍할 수 있도록 하는 그 밖의 다른 장치(116)를 포함한다. 예를 들어, 전자 장치(115)는 정보를 디스플레이하기 위한 디스플레이(가령, 액정 디스플레이 또는 터치스크린 디스플레이)를 포함할 수 있다.The
예를 들어, OTA 방송국(108)은 전통적인 지역 텔레비전 채널 또는 라디오 채널을 이용해 지역 콘텐츠 피드를 방송할 수 있다. 이 예시에서, 전자 장치(118 및 120)는 지역 콘텐츠 피드를 수신하기 위한 안테나(가령, TV 안테나 또는 라디오 안테나)를 포함할 수 있다. 또 다른 예를 들면, MVPD(110)(가령, 케이블 방송국 또는 위성 방송국)가 지역 콘텐츠 피드를 셋 톱 박스(114)로 통신할 수 있다. 이 예시에서, 셋 톱 박스(114)는 전자 장치(118 및 120)를 위한 콘텐츠 피드를 포맷팅하고 포맷팅된 콘텐츠 피드를 전자 장치(118 및 120)로 통신할 수 있다. 전자 장치(118 및 120)는 지역 콘텐츠를 시청자에게 디스플레이하기 위한 디스플레이 장치, 가령, 텔레비전 스크린 또는 터치 스크린을 포함할 수 있다. For example, the
콘텐츠 배포 네트워크(100)의 다양한 구성요소가 전자 장치(118 및 120)에 일체 구성되거나 이에 연결될 수 있다. 예를 들어, 전자 장치(118 및 120)는 스마트 텔레비전일 수 있다. 예를 들어, 스마트 TV는 안테나, 셋 톱 박스(114) 또는 단일 유닛으로 된 일체형 ACR 시스템 및 디스플레이 장치를 포함할 수 있다. 또 다른 예에서, 스마트 TV는 프로세싱 장치 및 라디오 주파수(RF) 회로를 포함할 수 있다. 프로세싱 장치는 운영 체제(OS) 및/또는 하나 이상의 애플리케이션, 가령, 주문형 비디오(VOD) 콘텐츠를 액세스하기 위한 애플리케이션을 실행할 수 있다. 프로세싱 장치는 라디오 주파수(RF) 회로의 안테나를 이용해 무선 로컬 영역 네트워크(WLAN) 상에서 통신할 수 있다. 예를 들어, 프로세싱 장치는 RF 회로를 이용해 인터넷으로 연결하여 온라인으로 대화형 미디어 또는 주문형 스트리밍 미디어를 액세스할 수 있다. The various components of the
ACR 지문화 서버(105)는 지역 콘텐츠 피드를 분석하고 지문 정보(가령, 지문)를 결정할 수 있다. ACR 지문화 서버(105)는 지문을 ACR 시스템(124 또는 126)으로 통신할 수 있다. ACR 시스템(124 및 126)은 장치 제조업체, 가령, 스마트 TV 제조업체가 선택한 상이한 ACR 시스템일 수 있다. 예를 들어, ACR 시스템(124 또는 126)은 프로세싱 로직 또는 프로세싱 장치를 포함해 명령을 실행하거나 프로세스를 수행할 수 있다. 또 다른 예를 들면, ACR 시스템(124 및 126)은 상이한 ACR 벤더를 위한 ACR 웹 서비스일 수 있다. The
ACR 지문화 서버(105)는 복수의 ACR 벤더로부터의 클라이언트의 인덱싱의 사용을 가능하게 할 수 있다. 예를 들어, 상이한 소비자 전자제품 제조업체(CEM), 가령, TV 제조업체가 자신의 전자 장치에 일체 구성될 ACR 벤더를 독립적으로 선택할 수 있다. 특정 CEM의 장치 상에서 ACR 기반 기능을 활성화하기 위해, ACR 시스템은 CEM이 선택하고 CEM의 텔레비전에 일체 구성된 ACR 벤더를 이용해 방송 피드를 인덱싱할 수 있다. 복수의 ACR 벤더를 ACR 지문화 서버(105)에 통합하는 하나의 이점은 광고주, 광고 에이전시 및 콘텐츠 사업자 같은 개체가 단일 플랫폼과 인터페이싱하고 복수의 CEM으로부터의 전자 장치에 진보된 광고 및 콘텐츠 경험을 전달할 수 있다는 것이다. The
예를 들어, ACR 시스템(124)은 참조 데이터베이스(125)에 연결될 수 있다. 또 다른 예시에서, ACR 시스템(126)은 참조 데이터베이스(127)에 연결될 수 있다. 참조 데이터베이스(125 및 127)는 지문 및 미디어 콘텐츠를 저장할 수 있다. 콘텐츠 관리 장치(122)가 ACR 시스템(124 및/또는 126)으로부터 메시지를 수신하는 서버 구성요소일 수 있다. 메시지는 전자 장치(118 또는 120)가 디스플레이하려는 또는 현재 디스플레이하고 있는 미디어 콘텐츠를 지시하는 정보를 포함할 수 있다. 예를 들어, 콘텐츠 관리 장치(122)가 메시지를 수신한 것에 응답하여, 콘텐츠 관리 장치(122)는 전자 장치(118 또는 120)와 데이터베이스(123)에 저장된 미디어 콘텐츠 간 인상(impression) 또는 연관을 기록할 수 있다. 또 다른 예시에서, 콘텐츠 관리 장치(122)가 메시지를 수신한 것에 응답하여, 콘텐츠 관리 장치(122)는 미디어 콘텐츠 위에 중첩될 이용 가능한 오버레이 콘텐츠에 대해 데이터베이스(123)의 질의를 생성 및 제출할 수 있다. For example, the
하나의 실시예에서, ACR 시스템(124 또는 126)은 각각 전자 장치(118 또는 120)로 지문 요청을 전송할 수 있고, 여기서 지문 요청은 지문에 대한 프레임 포맷을 포함한다. 전자 장치(118 또는 120) 또는 상기 전자 장치(118 또는 120)에 통합된 ACR 시스템은 프레임 포맷으로 지문을 생성하고 상기 지문을 ACR 시스템(124 또는 126)으로 다시 전송할 수 있다. ACR 시스템(124 또는 126)은 미디어 콘텐츠 식별을 위해 지문을 이용할 수 있다.In one embodiment, the
프레임 포맷은 다음의 문단에서 더 상세히 설명될 복수의 세그먼트로 분할되는 프레임을 포함할 수 있다. 예를 들어, 프레임 포맷은 복수의 세그먼트 중 하나 이상의 세그먼트를 ACR 시스템(124 또는 126)에 의해 콘텐츠 지문을 저장된 지문에 매칭하는 데 사용되지 못하게 제외할 수 있다. 예를 들어, 하나 이상의 제외된 세그먼트는 로고, 자막 텍스트, 긴급 메시지 등을 포함할 수 있다. 또 다른 실시예에서, 전자 장치(118 또는 120)는 전체 지문을 ACR 시스템(124 또는 126)으로 전송할 수 있다. ACR 시스템(124 또는 126)은 프레임 포맷에 의해 정의된 지문의 하나 이상의 세그먼트를 제외하도록 지문을 재포맷팅할 수 있다. 예를 들어, ACR 시스템(124 또는 126)은 다양한 상이한 지문 레이아웃을 요청할 수 있다. 또 다른 예를 들면, ACR 시스템(124 또는 126)은 콘텐츠 인식을 위해 사용될 다양한 상이한 포맷으로 지문을 재포맷팅할 수 있다. A frame format may include a frame that is divided into a plurality of segments, which will be described in more detail in the following paragraphs. For example, the frame format may exclude one or more of the plurality of segments from being used by the
전자 장치(115)로부터의 콘텐츠 지문과 참조 데이터베이스 내 저장된 지문 간 매칭을 찾기 위해, ACR 시스템(124 또는 126)은 콘텐츠 지문과 저장된 지문 간 1대1 비교를 수행할 수 있다. 예를 들어, ACR 시스템(124 또는 126)은 비교를 위해 O(n) 알고리즘(가령, 선형 알고리즘)을 이용할 수 있으며, 여기서 n은 참조 데이터베이스 내 요소의 개수이다. ACR 시스템이 데이터베이스 내 항목을 찾기 위해 O(n) 알고리즘을 이용할 때, ACR 시스템은 매칭을 찾기 위해 참조 데이터베이스 내 모든 또는 비교적 많은 개수의 저장된 지문에서 검색해야 할 수 있다. To find a match between the content fingerprint from the electronic device 115 and the fingerprint stored in the reference database, the
콘텐츠 관리 장치(122)는 전자 장치(118 또는 120)에 대한 장치 정보를 이용해 오버레이 콘텐츠를 필터링한다. 콘텐츠 관리 장치(122)는 ACR 시스템(124 또는 126)을 통해 전자 장치(118 또는 120)로 오버레이 콘텐츠를 전송할 수 있다. 하나의 실시예에서, 전자 장치(118 또는 120)는 오버레이 콘텐츠를 시청자에게 디스플레이할 수 있다. 또 다른 실시예에서, 전자 장치(118 또는 120)는 미디어 콘텐츠를 오버레이 콘텐츠로 대체하고 오버레이 콘텐츠를 시청자에게 디스플레이할 수 있다. The
하나의 실시예에서, ACR 시스템(124 또는 126)은 전자 장치(118 또는 120) 상에 트리거가 디스플레이되게 할 수 있다. 전자 장치(118 또는 120)는 트리거를 인식하고 콘텐츠 관리 장치(122)에게 전자 장치(118 또는 120)와 데이터베이스(123) 내 미디어 콘텐츠 간 인상 또는 연관을 기록하도록 하는 요청을 전송할 수 있다. 예를 들어, 전자 장치(118 또는 120)는 콘텐츠 관리 장치(122)에게 전자 장치(118 또는 120)가 선택 미디어 콘텐츠를 디스플레이할 때 시청자가 채널을 변경하는지 여부를 기록하도록 하는 요청을 전송할 수 있다. In one embodiment, the
본 명세서에 기재된 바와 같이 분산 아키텍처에서 자동 콘텐츠 인식이 수행될 수 있다. 하나의 실시예에서, ACR 시스템은 전자 장치(115, 118 또는 120) 중 임의의 것 상에 위치할 수 있다. 하나의 실시예에서, ACR 시스템은 자동 콘텐츠 인식을 수행할 수 있다. 또 다른 실시예에서, 지역 ACR 시스템 또는 지역 ACR 지문 매칭기가 자동 콘텐츠 인식을 수행하기 위해 전자 장치(115, 118 또는 120)에 통합된다. 또 다른 실시예에서, ACR 시스템은 본 명세서에 기재된 바와 같이 ACR 지문 매칭을 수행할 수 있다. 또 다른 실시예에서, ACR 시스템은 클라이언트 측 매칭 구성요소일 수 있다. Automatic content recognition may be performed in a distributed architecture as described herein. In one embodiment, the ACR system may be located on any of the
전자 장치(115, 118 또는 120)는 미디어 장치, 가령, 텔레비전, 모바일 전화기 또는 동글(dongle)일 수 있다. ACR 시스템은 전자 장치(115, 118 또는 120) 상에서 실행 또는 운영되는 소프트웨어 또는 펌웨어일 수 있다. ACR 시스템은 미디어 콘텐츠의 재생 동안 미디어 콘텐츠(가령, 오디오 콘텐츠, 비디오 콘텐츠, 자막, 긴급 메시지 등)을 지문화할 수 있다. ACR 시스템은 ACR 시스템(124 또는 126)과 통신하여 콘텐츠의 식별을 촉진하고 콘텐츠 오버레이 시스템이 동적인 광고 대체 및/또는 미디어 콘텐츠 위로 오버레이 콘텐츠 중첩을 수행하게 하는 이벤트를 트리거할 수 있다. 이하에서 ACR 시스템과 ACR 지문화 서버(105)의 상호작용을 더 상세히 기재한다.
ACR 지문화 서버(105)는 지역 콘텐츠 피드로부터의 프레임의 정렬된 시퀀스를 포함할 수 있는 지역 콘텐츠 피드를 분석할 수 있고 지문을 캡처할 수 있다. ACR 지문화 서버(105)는 상기 지문을 ACR 시스템(124 또는 126)으로 통신할 수 있다. ACR 시스템(124 및 126)은 장치 제조업체, 가령, 스마트 TV 제조업체에 의해 선택된 상이한 ACR 시스템일 수 있다. 예를 들어 ACR 지문화 서버(105)는 상이한 ACR 시스템(124 및 126)을 위한 지문을 포맷팅할 수 있다. The
ACR 시스템(124 및 126)은 상이한 전자 장치(115)와의 통신 연결을 확립할 수 있다. 전자 장치(115)는 지문 정보를 ACR 시스템(124 및 126)으로 각각 통신할 수 있다. ACR 시스템(124 또는 126)은 전자 장치(115)로부터 ACR 지문 정보를 수신할 때, ACR 시스템(124 또는 126)은 ACR 지문화 서버(105)에 의해 생성된 것과 수신된 지문을 매칭할 수 있다. 매칭이 발생하고 ACR 시스템(124 또는 126)이 콘텐츠를 식별할 때, ACR 시스템(124 또는 126)은 ACR 이벤트를 콘텐츠 관리 장치(122)로 통신할 수 있다.
또 다른 예를 들면, ACR 시스템(124 또는 126)은 전자 장치(115) 중 하나로부터 ACR 지문 정보를 수신하고 수신된 지문을 ACR 지문화 서버(105)에 의해 생성된 지문과 매칭할 수 있다. 매칭이 발생하고 ACR 시스템(124 또는 126)이 콘텐츠를 식별할 때, ACR 시스템(124 또는 126)은 전자 장치(115)에게 ACR 이벤트를 통지할 수 있다. 전자 장치(115)는 ACR 이벤트 정보를 콘텐츠 관리 장치(122)에게 통신할 수 있다. 대안으로 또는 추가로, ACR 시스템(124 또는 126)은 ACR 이벤트 정보를 콘텐츠 관리 장치(122)로 직접 통신할 수 있다. ACR 이벤트 정보는, 지역 콘텐츠 피드 내 광고를 지시하는 정보, 지역 콘텐츠 피드 내 선택 또는 플래깅된 콘텐츠를 지시하는 정보, 또는 전자 장치(115)에서 새로운 미디어 콘텐츠로 콘텐츠 채널의 변경을 지시하는 정보를 포함할 수 있다. As another example, the
상이한 ACR 시스템(124 및 126)으로부터의 ACR 이벤트 정보는 상이한 포맷을 가질 수 있으며 콘텐츠 관리 장치(122)는 데이터를 공통 포맷으로 정규화할 수 있다. 콘텐츠 관리 장치(122)는 정규화된 데이터를 데이터베이스(123)에 저장할 수 있다. 예를 들어, 콘텐츠 관리 장치(122)는 ACR 시스템(124 및 126)으로부터 이종 데이터 세트(disparate data set)를 수신할 수 있으며, 상기 이종 데이터 세트는 유사하지만 동일하지 않은 데이터, 가령, 동일한 콘텐츠지만 상이하게 포맷팅된 데이터를 포함한다. 콘텐츠 관리 장치(122)는 이종 데이터 세트를 처리 및 재포맷팅하여 단일 데이터 모델 또는 포맷(가령, 재포맷팅된 데이터 세트)를 생성할 수 있다. 콘텐츠 관리 장치(122)는 재포맷팅된 데이터 세트를 데이터베이스(123)에 저장할 수 있다. ACR event information from
하나의 실시예에서, ACR 시스템(124 및 126)으로부터의 이종 데이터 세트를 정규화하기 위해, 콘텐츠 관리 장치(122)는 데이터 세트에서 데이터를 제거 또는 필터링할 수 있다. 예를 들어 일부 데이터 세트는 콘텐츠 관리 장치(122)와 무관할 수 있는 필드 또는 데이터를 포함할 수 있다. 이 예시에서, 콘텐츠 관리 장치(122)는 상기 무관한 데이터를 제거 또는 필터링할 수 있다. 또 다른 실시예에서, ACR 시스템(124 및 126)으로부터의 이종 데이터 세트를 정규화하기 위해, 콘텐츠 관리 장치(122)는 데이터 세트 내 필드를 매핑할 수 있다. 예를 들어, 콘텐츠 관리 장치(122)가 ACR 시스템(124)으로부터 제1 데이터 세트를 수신하고 ACR 시스템(126)으로부터 제2 데이터 세트를 수신할 때, 제1 데이터 세트 및 제2 데이터 세트의 데이터 필드 중 적어도 일부가 제1 데이터 세트와 제2 데이터 세트 모두에게 공통될 수 있다. 그러나 공통 데이터 필드가 제1 데이터 세트 및 제2 데이터 세트 내 상이한 곳에 위치할 수 있다. 이 예시에서, 콘텐츠 관리 장치(122)는 제1 데이터 세트 및 제2 데이터 세트의 상이한 데이터 필드를 정규화된 필드로 매핑할 수 있다. 콘텐츠 관리 장치(122)가 데이터 필드를 매핑할 때, 동일한 데이터 필드가 데이터베이스(123) 내 동일한 데이터 필드 위치에 매핑된다.In one embodiment, to normalize heterogeneous data sets from the
또 다른 실시예에서, ACR 시스템(124 및 126)으로부터의 이종 데이터 세트를 정규화하기 위해, 콘텐츠 관리 장치(122)가 데이터 세트로부터 데이터를 도출할 수 있다. 예를 들어, ACR 시스템(124 및 126)으로부터의 데이터가 데이터베이스 내 데이터 필드를 채우기 위해 필요한 모든 필드를 포함하는 것은 아닐 수 있다. 그러나 콘텐츠 관리 장치(122)는 ACR 시스템(124 및 126)으로부터의 데이터 세트 내 다른 필드를 이용해 이들 데이터 필드에 대한 데이터를 도출할 수 있다. In another embodiment, to normalize heterogeneous data sets from
예를 들어, 데이터베이스(123)는 국가 내 주(state) 필드, 지정 시장 영역(DMA) 필드, 및 국가 및/또는 도시 필드를 위한 데이터 필드를 포함할 수 있지만, ACR 시스템(124 및 126)으로부터의 데이터 세트는 우편번호(ZIP) 코드만 포함할 수 있다. 이 예시에서, 콘텐츠 관리 장치(122)는 ZIP 코드를 이용해 데이터베이스 내 필드를 위한 데이터를 도출할 수 있다. 또 다른 예시에서, 데이터 세트는 어떠한 지리적 위치 정보도 포함하지 않고 ACR 시스템(124 및 126)의 인터넷 프로토콜(IP) 주소를 포함할 수 있다. 이 예시에서, 콘텐츠 관리 장치(122)는 지역-IP 검색 서비스(geo-IP lookup service)를 이용해 주, DMA, 국가, 도시 및 ZIP 코드 정보를 도출할 수 있다. For example,
또 다른 예를 들면, 데이터베이스(123)는 인구통계적 필드, 가령, 연령 필드, 성별 필드, 가계 소득 필드 등을 포함할 수 있다. 그러나 ACR 시스템(124 및 126)으로부터의 데이터 세트가 인구통계적 필드 또는 인구통계적 데이트를 포함하지 않을 수 있다. 이 예시에서, ACR 시스템(124 및 126)은 콘텐츠 관리 장치(122)에게 전자 장치(115)의 IP주소를 제공할 수 있다. 콘텐츠 관리 장치(122)는 IP 주소를 이용해 데이터베이스의 데이터 필드를 채우기 위한 인구통계적 데이터를 결정할 수 있다. As another example, the
또 다른 예에서, ACR 시스템(124)으로부터의 제1 데이터 세트 내 필드가 현지 시각 존 정보, 가령, 산악 여름 시각(MDT) 존을 포함하고 ACR 시스템(126)으로부터의 제2 데이터 세트가 또 다른 시각 존으로부터의 정보, 가령, 협정 세계 시(UTC) 존을 포함할 수 있다. 데이터베이스는 UTC를 이용해 모든 데이터를 저장할 수 있고 콘텐츠 관리 장치(122)는 데이터베이스(123)에 데이터를 저장하기 전에 현지 시각을 UTC로 변환할 수 있다. In another example, the fields in the first data set from the
또 다른 실시예에서, 콘텐츠 관리 장치(122)가 정규화된 데이터를 이용해 상이한 ACR 기술 벤더 및 스마트 TV 또는 그 밖의 다른 인터넷 연결 비디오 장치에 걸친 사용자의 시청 행동(시청 데이터)에 대한 보고서 또는 데이터를 생성할 수 있다. 콘텐츠 관리 장치(122) 및 전자 장치(115)는 정보, 가령, 오버레이 콘텐츠를 전자 장치(115)와 콘텐츠 관리 장치(122) 간에 정보를 통신하기 위한 통신 인터페이스를 포함할 수 있다. 예를 들어, 통신 인터페이스는 셀룰러 네트워크 및/또는 무선 네트워크를 이용해 정보를 통신할 수 있다. 예를 들어, 통신 네트워크가 3GPP(third generation partnership project) 릴리즈 8, 9, 10, 11, 또는 12 또는 IEEE®(Institute of Electronics and Electrical Engineers, Inc.) 802.16p, 802.16n, 802.16m-2011, 802.16h-2010, 802.16j-2009, 802.16-2009를 채용하는 셀룰러 네트워크일 수 있다. 또 다른 실시예에서, 통신 네트워크는 전기 전자 학회(Institute of Electronics and Electrical Engineers, Inc.)에 의해 개발된 IEEE® 표준, 가령, IEEE 802.11-2012, IEEE 802.11ac, 또는 IEEE 802.11ad 표준을 따를 수 있는 무선 네트워크(가령, Wi-Fi 연합에 의해 개발된 Wi-Fi® 기법을 이용한 네트워크)일 수 있다. 또 다른 실시예에서, 통신 네트워크는 Bluetooth SIG(Special Interest Group)에 의해 개발된 Bluetooth® 연결, 가령, Bluetooth v1.0, Bluetooth v2.0, Bluetooth v3.0, 또는 Bluetooth v4.0을 전개할 수 있다. 또 다른 실시예에서, 통신 네트워크는 ZigBee 연합에 의해 개발된 Zigbee® 연결, 가령, IEEE 802.15.4-2003 (Zigbee 2003), IEEE 802.15.4-2006 (Zigbee 2006), IEEE 802.15.4-2007 (Zigbee Pro)일 수 있다. In another embodiment, the
예를 들어, 콘텐츠 관리 장치(122)는 전자 장치(115)에게 OTA 방송국(108) 또는 MVPD(110)로부터 수신된 지역 콘텐츠 피드의 세그먼트를 오버레이 콘텐츠로 대체할 것을 명령할 수 있다. 또 다른 예시에서, 콘텐츠 관리 장치(122)는 전자 장치(115)에게 지역 콘텐츠 피드의 세그먼트 상에 오버레이 콘텐츠를 오버레이 또는 중첩할 것을 명령할 수 있다. 콘텐츠 관리 장치(122)는 복수의 ACR 시스템(124 및 126)에 걸쳐 ACR 이벤트 정보를 모을 수 있고, 오버레이 콘텐츠를 상이한 전자 장치(115)(가령, 상이한 장치 제조업체의 전자 장치)로 통신할 수 있다. For example, the
콘텐츠 관리 장치(122)는 또한 그 밖의 다른 장치(116)와의 통신 연결을 확립할 수 있다. 예를 들어 그 밖의 다른 장치(116)는 전자 장치(118 및 120)와 통신하고 추가 스크린(가령, 제2 스크린)을 제공하여 오버레이 콘텐츠를 디스플레이할 수 있다. 예를 들어, 전자 장치(118 및 120)는 OTA 방송국(108) 또는 MVPD(110)로부터 지역 콘텐츠 피드를 수신하고 상기 지역 콘텐츠 피드를 시청자에게 디스플레이할 수 있다. 그 밖의 다른 장치(116)도 역시 ACR 이벤트가 발생할 때, 앞서 언급한 바와 같이, ACR 이벤트 정보를 ACR 시스템(124 및 126)으로 통신할 수 있다. 콘텐츠 관리 장치(122)가 ACR 이벤트 정보를 수신할 때, 콘텐츠 관리 장치(122)는 그 밖의 다른 장치(116)로 오버레이 콘텐츠를 통신할 수 있다. The
예를 들어, 전자 장치(118 및 120)는 그 밖의 다른 장치(116)가 오버레이 콘텐츠를 디스플레이하는 동안 지역 콘텐츠를 계속 디스플레이할 수 있다. 또 다른 예시에서, 전자 장치(118 및 120) 및 그 밖의 다른 장치(116)는 모두 오버레이 콘텐츠를 디스플레이할 수 있다. 또 다른 예시에서, 전자 장치(118 및 120) 및 그 밖의 다른 장치(116)는 오버레이 콘텐츠의 세그먼트 및 지역 콘텐츠 피드의 세그먼트를 디스플레이할 수 있다. 또 다른 예시에서, 전자 장치(118 및 120) 및 그 밖의 다른 장치(116)는 상이한 지역 콘텐츠 피드 및 상이한 오버레이 콘텐츠를 디스플레이할 수 있다. For example,
예를 들어, 전자 장치(118 및 120) 및/또는 그 밖의 다른 장치(116)는 전자 장치(118 및 120) 및/또는 그 밖의 다른 장치(116)가 오버레이 콘텐츠를 수신할 때 오버레이 콘텐츠를 디스플레이할 수 있다. 또 다른 예시에서, 전자 장치(118 및 120) 및/또는 그 밖의 다른 장치(116)는 임계 시간 주기 동안 오버레이 콘텐츠를 디스플레이하는 것을 지연시킬 수 있다. 하나의 실시예에서 임계 시간 주기는 지정 시간 주기일 수 있다. 또 다른 실시예에서, 콘텐츠 관리 장치(122)는 전자 장치(118 및 120) 및 그 밖의 다른 장치(116)가 오버레이 콘텐츠를 디스플레이하는 것을 지연시키기 위한 시간 주기를 선택할 수 있다. For example,
도 2는 하나의 실시예에 따른 콘텐츠 오버레이 네트워크(200)의 시스템도이다. 콘텐츠 오버레이 네트워크(200)는 전자 장치(210), 제1 ACR 시스템(220), 콘텐츠 데이터베이스(230), 오버레이 콘텐츠 서버(240), 기록 데이터베이스(250) 및 오버레이 콘텐츠 관리 시스템(260)을 포함할 수 있다. ACR 시스템(220)은 방송 디지털 콘텐츠를 전자 장치(210)로 제공한다. 방송 디지털 콘텐츠는 ACR 시스템(220)이 전자 장치(210)가 시청자에게 디스플레이하기 위한 미디어 세그먼트 위에 중첩 또는 오버레이하는 오버레이 콘텐츠를 포함할 수 있다. 미디어 세그먼트는 미디어 콘텐츠의 세그먼트 또는 부분일 수 있다. 예를 들어, 미디어 세그먼트는 TV 프로그램 또는 영화를 위한 미디어 콘텐츠, 가령, TV 쇼 클립 또는 영화 클립의 세그먼트 또는 부분일 수 있다. 또 다른 예시에서, 미디어 콘텐츠의 미디어 세그먼트는 TV 쇼 또는 영화를 위한 미디어 콘텐츠의 일부인 광고일 수 있다. 2 is a system diagram of a
하나의 실시예에서, ACR 시스템(220)은 전자 장치(210)에 통합된다. 또 다른 실시예에서, ACR 시스템(220)은 전자 장치(210)에 연결된다. 예를 들어, ACR 시스템(220)은 전자 장치(210)의 입력 포트를 이용해 전자 장치(210)에 직접 연결될 수 있다. 예를 들어, ACR 시스템(220)은 전자 장치(210)의 HDMI(High-Definition Media Interface) 입력 단자로 플러깅되는 HDMI 동글이다. 이 예시에서, ACR 시스템(220)은 HDMI 입력 포트, HDMI 출력 포트, 및 콘텐츠 사업자로부터 방송 콘텐츠 또는 미디어 세그먼트를 수신하기 위한 네트워크 인터페이스를 포함할 수 있다. 또 다른 예에서, ACR 시스템(220)은 전자 장치(210)에 연결된 또 다른 장치, 가령, 오디오 및/또는 비디오(A/V) 장치를 통해 전자 장치(210)로 간접적으로 연결될 수 있다.In one embodiment, the
전자 장치(210)는 ACR 시스템(220)을 이용해 타깃팅된 또는 개인화된 오버레이 콘텐츠 세그먼트를 시청자에게 디스플레이할 수 있다. 오버레이 콘텐츠 세그먼트는 콘텐츠의 오디오 세그먼트, 비디오 세그먼트, 및/또는 그래픽 세그먼트일 수 있다. 예를 들어, 오버레이 콘텐츠 세그먼트는 대체 AD인 콘텐츠의 오디오 세그먼트 또는 비디오 세그먼트를 포함하는 미디어 객체 또는 파일일 수 있다. 또 다른 예에서, 오버레이 콘텐츠 세그먼트는 그 밖의 다른 오버레이 콘텐츠 세그먼트를 포함하는 더 큰 오디오 객체 또는 더 큰 비디오 객체의 오디오 세그먼트 또는 비디오 세그먼트이다. The
하나의 실시예에서, ACR 시스템(220)은 ACR 방송 콘텐츠를 디지털 워커마킹하는 것을 이용할 수 있다. 디지털 워터마킹을 위해, 콘텐츠 사업자 또는 방송국은 방송 콘텐츠를 처리하여 콘텐츠 신호를 방송하기 전에 워터마크 데이터를 콘텐츠 신호 내에 삽입할 수 있다. 전자 장치(210) 또는 ACR 시스템(220)은 워터마크 데이터를 검출하여 미디어 세그먼트를 식별하고 방송 콘텐츠와 동기화할 수 있다. In one embodiment, the
또 다른 실시예에서, ACR 시스템(220)은 전자 장치가 미디어 콘텐츠를 디스플레이할 때 콘텐츠 지문화를 이용해 방송 콘텐츠의 미디어 콘텐츠를 식별할 수 있다. 콘텐츠 지문화는 ACR 시스템(220)이 전자 장치(210)가 디스플레이 중인 미디어 콘텐츠에 대한 콘텐츠 지문의 시퀀스를 참조 데이터베이스에 저장된 지문과 매칭하는 것을 포함할 수 있다. 콘텐츠 지문화의 이점은 미디어 세그먼트가 방송 중인 동안 미디어 세그먼트를 처리(가령, 실시간 처리)하거나 미디어 세그먼트가 방송된 후 임계 시간 주기, 가령, 수초 내에 미디어 세그먼트를 처리(가령, 실질적으로 실시간 처리)할 수 있다는 것이다. 콘텐츠 오버레이 네트워크(200)는 전자 장치(210)가 콘텐츠를 디스플레이할 때 콘텐츠 방송 동안 시청자 행동을 기초로 오버레이 콘텐츠 세그먼트를 조절할 수 있다(가령, 실시간 또는 실질적으로 실시간 조정). 예를 들어, 시청자 행동은 전자 장치(210)가 사용자 장치로부터 채널을 변경하라는 명령어 또는 미디어 콘텐츠의 디스플레이를 중단하라는 명령어를 수신하는 것을 포함할 수 있다. 또 다른 예시에서, 시청자 행동은 전자 장치(210)가 사용자 장치로부터 시간-편이된 콘텐츠(time-shifted content)를 디스플레이하라는 명령어를 수신하는 것을 포함할 수 있다. 시청자가 콘텐츠를 선택하거나 변경할 때, 콘텐츠 오버레이 네트워크(200)는 미디어 콘텐츠 상에 중첩되는 오버레이 콘텐츠를 스위칭할 수 있다. In another embodiment, the
오버레이 콘텐츠 서버(240)는 ACR 시스템(220)에 연결된다. 오버레이 콘텐츠 서버(240)는 콘텐츠 사업자 또는 광고주로부터 오버레이 콘텐츠를 수신할 수 있다. 오버레이 콘텐츠 서버(240)는 미디어 세그먼트, 오버레이 콘텐츠 세그먼트, 및 미디어 세그먼트 및 오버레이 콘텐츠 세그먼트를 위한 포맷 정보를 저장할 수 있다. 오버레이 콘텐츠 서버(240)는 오버레이 포맷의 선택 오버레이 포맷으로 미디어 세그먼트를 전자 장치(210)로 전송할 수 있다. The
기록 데이터베이스(250)는 오버레이 콘텐츠 서버(240)에 연결된다. 기록 데이터베이스(250)는 전자 장치(210)가 디스플레이하는 미디어 세그먼트 또는 오버레이 콘텐츠 세그먼트의 기록을 유지할 수 있다. 하나의 실시예에서, 전자 장치(210)는 전자 장치(210)를 고유하게 식별하는 이와 연관된 고유 식별자(UID)를 가진다. 상기 UID는 또한 미디어 세그먼트 또는 오버레이 콘텐츠 세그먼트와 연관되어 전자 장치(210)가 디스플레이한 미디어 세그먼트 또는 오버레이 콘텐츠 세그먼트를 지시할 수 있다. The
또 다른 실시예에서, 기록 데이터베이스(250)는 오버레이 콘텐츠 서버(240)로부터 메시지를 수신할 수 있다. 예를 들어, 메시지는 미디어 세그먼트를 식별하는 미디어 세그먼트 ID 및 미디어 세그먼트 ID와 연관된 UID를 포함할 수 있다. 또 다른 예를 들면, 메시지는 오버레이 콘텐츠 세그먼트를 식별하는 오버레이 콘텐츠 세그먼트 ID 및 오버레이 콘텐츠 세그먼트 ID와 연관된 UID를 포함할 수 있다. 기록 데이터베이스(250)는 오버레이 콘텐츠 서버(240)에 의한 다음 검색을 위해 다양한 미디어 세그먼트 ID 및 오버레이 콘텐츠 세그먼트 ID를 이들의 연관된 UID와 함께 저장할 수 있다. 오버레이 콘텐츠 서버(240)는 기록 데이터베이스(250)를 검색하여 각자의 미디어 세그먼트 ID 또는 오버레이 콘텐츠 세그먼트 ID와 연관된 미디어 세그먼트 또는 오버레이 콘텐츠 세그먼트가 UID와 함께 전자 장치(210) 상에 디스플레이됐던 때를 결정할 수 있다. In another embodiment, the
하나의 실시예에서, 오버레이 콘텐츠 관리 시스템(260)은 미디어 세그먼트 및 오버레이 콘텐츠 세그먼트의 시퀀스에 대한 설정 정보를 수신하기 위한 입력 장치를 포함할 수 있다. 예를 들어, 입력 장치는 전자 장치 상의 소프트웨어 인터페이스(가령, 웹 포털)일 수 있으며, 여기서 사용자는 설정 정보를 입력하여 오버레이 콘텐츠 서버(240)에서 미디어 세그먼트 및 오버레이 콘텐츠 세그먼트의 시퀀스를 설정할 수 있다. 예를 들어, 오버레이 콘텐츠 관리 시스템(260)은 오버레이 콘텐츠 및 대체 비디오를 생성, 시청, 업데이트 및 삭제하기 위해 최종 사용자가 액세스 가능한 웹사이트일 수 있다. In one embodiment, the overlay content management system 260 may include an input device for receiving configuration information for the media segment and the sequence of the overlay content segment. For example, the input device may be a software interface (eg, a web portal) on the electronic device, where a user may input setting information to set a sequence of media segments and overlay content segments in the
예를 들어, 사용자는 입력 장치를 이용해, 오버레이 콘텐츠 서버(240)가 오버레이 콘텐츠 세트 중 한 오버레이 콘텐츠 세그먼트를 선택하는 데 사용하기 위한 규칙 또는 기준을 설정할 수 있다. 하나의 실시예에서, 규칙 또는 기준은 오버레이 콘텐츠 세트 내 아이템, 가령, 미디어 콘텐츠 및 오버레이 콘텐츠 세그먼트를 디스플레이하기 위한 시퀀스를 포함할 수 있다. 또 다른 실시예에서, 규칙 또는 기준은 사용자의 인구통계적 정보를 고려하여 상이한 오버레이 콘텐츠 세그먼트를 포함할 수 있다. 예를 들어, 사용자가 남성인 때, 전자 장치(210)는 선택된 오버레이 콘텐츠 세그먼트를 디스플레이할 수 있다. 또 다른 예시에서, 사용자가 여성인 때, 그 밖의 다른 오버레이 콘텐츠 세그먼트가 디스플레이될 수 있다. 또 다른 실시예에서, 규칙 또는 기준은 시간대를 고려하여 상이한 오버레이 콘텐츠 세그먼트를 디스플레이하는 것을 포함할 수 있다. 예를 들어, 오전에, 전자 장치(210)는 아침식사와 관련된 오버레이 콘텐츠 세그먼트를 디스플레이할 수 있고, 저녁에, 전자 장치(210)는 저녁식사와 관련된 오버레이 콘텐츠 세그먼트를 디스플레이할 수 있으며, 밤에는 전자 장치(210)가 성인 테마와 관련된 오버레이 콘텐츠 세그먼트를 디스플레이할 수 있다. 또 다른 실시예에서, 오버레이 콘텐츠 서버(240)는 미디어 콘텐츠 및 오버레이 콘텐츠 세그먼트를 선형 시퀀스로 정렬하기 위한 설정 정보를 수신하기 위한 입력 장치를 포함할 수 있다. 예를 들어, 사용자는 그래픽 사용자 인터페이스(GUI)를 이용해 설정 정보를 오버레이 콘텐츠 서버(240)로 전송하여 미디어 세그먼트 및 오버레이 콘텐츠 세그먼트의 시퀀스를 정렬할 수 있다. For example, a user may use an input device to set rules or criteria for
도 3a는 하나의 실시예에 따라, 전다 장치 상에 디스플레이될 이미지를 생성하기 위해, 미디어 콘텐츠(302) 및 온스크린 디스플레이(304)를 포함하는 프레임의 하나의 합성(compositing)을 도시한다. 합성은 복수의 트랙 상의 둘 이상의 비디오 또는 그래픽, 가령, 미디어 콘텐츠(302) 및 온스크린 디스플레이(304)를 적층함으로써 디스플레이 이미지를 생성하는 기법일 수 있다. 프로세싱 장치, 가령, 스마트 TV 또는 ACR 시스템에 통합되는 프로세싱 장치가 비디오 또는 그래픽을 하나의 이미지로 혼합할 수 있다. 하나의 실시예에서, 각각의 트랙이 하나의 레이어일 수 있다. 예를 들어, 최상위 레이어 또는 탑 레이어, 가령, 온스크린 디스플레이(304)가 주 레이어(dominant layer)일 수 있다. 주 레이어는 미디어 콘텐츠(302) 앞에 디스플레이될 수 있다. 예를 들어, 온스크린 디스플레이(304)는 미디어 콘텐츠(302)의 적어도 일부분(가령, 최하위 레이어 또는 바텀 레이어)을 덮을 수 있다. 3A illustrates one compositing of a frame comprising media content 302 and an on-screen display 304 to create an image to be displayed on the entire device, according to one embodiment. Compositing may be a technique for creating a display image by stacking two or more videos or graphics on multiple tracks, such as media content 302 and on-screen display 304 . A processing device, such as a processing device integrated into a smart TV or ACR system, may mix video or graphics into one image. In one embodiment, each track may be one layer. For example, the top layer or top layer, such as the on-screen display 304 , may be the dominant layer. The main layer may be displayed before the media content 302 . For example, the on-screen display 304 may cover at least a portion of the media content 302 (eg, a bottom layer or a bottom layer).
이미지의 레이어는 하나 이상의 장치에서 수신되고 합성될 수 있다. 하나의 실시예에서, 미디어 콘텐츠(302)는 제1 장치 상에 저장되거나 존재할 수 있고 인터페이스, 가령, HMDI(high definition multimedia interface) 연결을 통해 제2 장치로 전송될 수 있다. 제2 장치는 수신된 미디어 콘텐츠(302)를 온스크린 디스플레이(304)와 합성하여 최종 합성 이미지를 디스플레이할 수 있다. Layers of images may be received and composited on one or more devices. In one embodiment, the media content 302 may be stored or reside on a first device and may be transmitted to a second device via an interface, such as a high definition multimedia interface (HMDI) connection. The second device may synthesize the received media content 302 with the on-screen display 304 to display the final composite image.
또 다른 실시예에서, 미디어 콘텐츠(302) 및 온스크린 디스플레이(304)는 제1 장치 상에 저장되거나 존재할 수 있다. 제1 장치는 수신된 미디어 콘텐츠(302)를 온스크린 디스플레이(304)와 합성하여 최종 합성 이미지로서 디스플레이할 수 있다. 그 후 제1 장치는 최종 합성 이미지를 인터페이스를 통해 제2 장치로 전송할 수 있다. 또 다른 실시예에서, 미디어 콘텐츠(302) 및 온스크린 디스플레이(304)는 단일 장치 상에 저장되거나 존재할 수 있고, 여기서 단일 장치는 미디어 콘텐츠(302)와 온스크린 디스플레이(304)를 합성하고 합성 이미지를 디스플레이할 수 있다. In another embodiment, the media content 302 and the on-screen display 304 may be stored or reside on the first device. The first device may synthesize the received media content 302 with the on-screen display 304 and display it as a final composite image. Thereafter, the first device may transmit the final composite image to the second device through the interface. In another embodiment, the media content 302 and the on-screen display 304 may be stored or present on a single device, where the single device composites the media content 302 and the on-screen display 304 and combines the composite image. can be displayed.
미디어 콘텐츠(302) 또는 온스크린 디스플레이(304)를 합성하는 프로세싱 장치는 미디어 콘텐츠(302) 또는 온스크린 디스플레이(304)의 적어도 세그먼트의 불투명도 또는 투명도를 변경하는 것을 포함할 수 있다. 예를 들어, 합성은 시청자가 미디어 콘텐츠(302)의 일부를 볼 수 있도록 온스크린 디스플레이(304)(가령, 주 레이어)의 세그먼트의 불투명도 레벨을 변경하는 것을 포함할 수 있다. 예를 들어, 프로세싱 장치는 온스크린 디스플레이(304)의 하단의 위치에 대응하는 창(306)을 온스크린 디스플레이(304) 내에 형성할 수 있다. 상기 창(306)은 미디어 콘텐츠(302)위에 중첩될 수 있는 정보(가령, 텍스트, 그래픽 또는 비디오)를 포함할 수 있다. 예를 들어, 창(306) 내 정보는 자막 텍스트를 포함할 수 있다. 프로세싱 장치는 창(306)의 불투명도 레벨을 불투명 또는 솔리드(solid)이도록 설정될 수 있고 온스크린 디스플레이(304)의 나머지 부분(308)의 불투명도 레벨을 투명이도록 설정할 수 있다. 나머지 부분(308)의 불투명도 레벨이 투명일 때, 미디어 콘텐츠(302)가 시청자에게 보여질 수 있다. The processing device that composes the media content 302 or the on-screen display 304 may include changing the opacity or transparency of at least a segment of the media content 302 or the on-screen display 304 . For example, compositing may include changing the opacity level of a segment of an on-screen display 304 (eg, a main layer) so that a viewer can view a portion of the media content 302 . For example, the processing device may form a window 306 within the on-screen display 304 corresponding to a location of the bottom of the on-screen display 304 . The window 306 may include information (eg, text, graphics or video) that may be superimposed on the media content 302 . For example, the information in window 306 may include subtitle text. The processing device may set the opacity level of the window 306 to be opaque or solid and may set the opacity level of the remaining
도 3b는 하나의 실시예에 따라 창(310)을 포함하는 미디어 콘텐츠(302) 및 온스크린 디스플레이(304)의 합성을 도시한다. 달리 언급이 없는 한, 동일한 도면 부호로 표시될 때 도 3b의 특징 중 일부가 도 3a의 특징의 일부와 동일하거나 유사하다. 프로세싱 장치는 온스크린 디스플레이(304)의 상단의 위치에 대응하는 창(310)을 온스크린 디스플레이(304) 내에 형성할 수 있다. 상기 창(310)은 미디어 콘텐츠(302) 위에 중첩될 수 있는 정보(가령, 텍스트, 그래픽 또는 비디오)를 포함할 수 있다. 예를 들어, 창(310) 내 정보가 긴급 메시지를 위한 텍스트를 포함할 수 있다. 온스크린 디스플레이(304)의 나머지 부분(308)은 투명해져서, 미디어 콘텐츠(302)의 적어도 일부분이 상기 나머지 부분(308)을 통해 보여질 수 있다. 3B illustrates a composite of media content 302 including window 310 and on-screen display 304 , according to one embodiment. Unless otherwise noted, some of the features of FIG. 3B are the same as or similar to some of the features of FIG. 3A when indicated by the same reference numerals. The processing device may form a window 310 in the on-screen display 304 that corresponds to a location on top of the on-screen display 304 . The pane 310 may include information (eg, text, graphics, or video) that may be superimposed on the media content 302 . For example, the information in the window 310 may include text for an emergency message. The remaining
도 3c는 하나의 실시예에 따른 창(312-318)을 포함하는 미디어 콘텐츠(302) 및 온스크린 디스플레이(304)의 합성을 도시한다. 달리 언급이 없는 한, 동일한 도면 부호로 표시될 때 도 3c의 특징 중 일부가 도 3a의 특징의 일부와 동일하거나 유사하다. 프로세싱 장치는 온스크린 디스플레이(304)의 모서리의 위치에 대응하는 창(312-318)을 온스크린 디스플레이(304) 내에 형성할 수 있다. 상기 창(312-318)은 미디어 콘텐츠(302)의 하나 이상의 모서리 상에 중첩될 수 있는 정보(가령, 텍스트, 그래픽 또는 비디오)를 포함할 수 있다. 예를 들어, 창(312-318) 중 하나 이상의 정보가 로고를 위한 텍스트 및/또는 그래픽을 포함할 수 있다. 온스크린 디스플레이(304)의 나머지 부분(308)이 투명해져서, 미디어 콘텐츠(302)의 적어도 일부분이 상기 나머지 부분(308)을 통해 보여질 수 있다. 3C illustrates a composite of media content 302 including windows 312 - 318 and on-screen display 304 , according to one embodiment. Unless otherwise noted, some of the features of FIG. 3C are the same as or similar to some of the features of FIG. 3A when denoted by the same reference numerals. The processing device may form windows 312 - 318 in the on-screen display 304 corresponding to the locations of the corners of the on-screen display 304 . The panes 312 - 318 may include information (eg, text, graphics or video) that may be overlaid on one or more corners of the media content 302 . For example, information in one or more of windows 312 - 318 may include text and/or graphics for a logo. The remaining
도 3d는 하나의 실시예에 따라 전자 장치 상에 디스플레이될 이미지를 생성하기 위한 미디어 콘텐츠(302), 온스크린 디스플레이(304), 및 오버레이 콘텐츠(318)의 합성을 도시한다. 예를 들어, 탑 레이어 또는 주 레이어가 오버레이 콘텐츠(318)일 수 있다. 예를 들어, 오버레이 콘텐츠(318)는 미디어 콘텐츠(302)(가령, 최하위 레이어 또는 바텀 레이어) 및 온스크린 디스플레이(304)(가령, 중간 레이어)를 덮거나 마스킹할 수 있다. 이 예시에서, 온스크린 디스플레이(304)는 미디어 콘텐츠(302)를 커버하거나 마스킹할 수 있다. 3D illustrates the compositing of media content 302 , on-screen display 304 , and overlay content 318 to create an image to be displayed on an electronic device according to one embodiment. For example, the top layer or main layer may be the overlay content 318 . For example, the overlay content 318 may cover or mask the media content 302 (eg, the bottom layer or bottom layer) and the on-screen display 304 (eg, the middle layer). In this example, the on-screen display 304 may cover or mask the media content 302 .
예를 들어, 프로세싱 장치는 시청자가 오버레이 콘텐츠(318) 아래 또는 뒤에 있는 온스크린 디스플레이(304)의 부분을 볼 수 있도록 오버레이 콘텐츠(318)의 일부분의 불투명도 레벨을 조절할 수 있다. 또 다른 예시에서, 프로세싱 장치는 시청자가 오버레이 콘텐츠(318), 온스크린 디스플레이(304) 및 미디어 콘텐츠(302)의 일부분을 볼 수 있도록, 오버레이 콘텐츠(318) 및 온스크린 디스플레이(304)의 일부분의 불투명도 레벨을 조절할 수 있다. For example, the processing device may adjust the opacity level of a portion of the overlay content 318 such that a viewer may view the portion of the on-screen display 304 below or behind the overlay content 318 . In yet another example, the processing device may configure the overlay content 318 and the portion of the on-screen display 304 such that a viewer may view the overlay content 318 , the on-screen display 304 and the portion of the media content 302 . You can adjust the opacity level.
도 4는 하나의 실시예에 따라 프레임(400)의 완전 세분된 지문 레이아웃을 도시한다. 프레임(400)은 미디어 콘텐츠(302) 및 온스크린 디스플레이(304)의 합성일 수 있다(도 3a-3d). 세분된 지문 레이아웃은 ACR 시스템이 완전 세분된 지문 레이아웃을 이용해 프레임(400)을 복수의 블록(410-440)으로 세분하는 것을 포함할 수 있다. 블록(410-440) 각각은 프레임(400) 내 형성된 상이한 세그먼트 또는 위치를 나타낼 수 있다. 예를 들어, 블록(410-440)은 직사각형 또는 정사각형일 수 있다. 또 다른 예를 들면, 블록(410-440)은 다각형, 원형, 타원형 등일 수 있다. 또 다른 예시에서, 블록(410-440) 각각은 대략 동일한 크기일 수 있다. 또 다른 예시에서, 블록(410-440) 중 하나 이상이 상이한 크기일 수 있다. 하나의 프레임 내 블록의 수 및 형태 및 크기는 한정 사항이 아니며 블록의 개수 및 블록의 형태와 크기는 달라질 수 있다. 4 shows a fully subdivided fingerprint layout of a frame 400 according to one embodiment. Frame 400 may be a composite of media content 302 and on-screen display 304 ( FIGS. 3A-3D ). The subdivided fingerprint layout may include the ACR system subdividing the frame 400 into a plurality of blocks 410 - 440 using the fully subdivided fingerprint layout. Each of blocks 410 - 440 may represent a different segment or location formed within frame 400 . For example, blocks 410-440 may be rectangular or square. As another example, blocks 410-440 may be polygonal, circular, oval, and the like. In another example, each of blocks 410 - 440 may be approximately the same size. In another example, one or more of blocks 410 - 440 may be of different sizes. The number, shape, and size of blocks in one frame are not limited, and the number and shape and size of blocks may vary.
하나의 실시예에서, 프레임(400)은 16개의 블록(410-440)을 갖는 4×4 격자로 세분될 수 있다. 모서리 블록(434, 436, 438, 및/또는 440)은 온스크린 디스플레이, 가령, 로고를 포함할 수 있다. 예를 들어, 온스크린 디스플레이(304)의 모서리는 로고를 디스플레이하기 위해 이용 가능한 위치로 정의될 수 있다. In one embodiment, frame 400 may be subdivided into a 4x4 grid with 16 blocks 410-440. Corner blocks 434 , 436 , 438 , and/or 440 may include an on-screen display, such as a logo. For example, a corner of the on-screen display 304 may be defined as an available location for displaying a logo.
예를 들어, 전자 장치(118)(도 1)가 완전 세분된 지문 레이아웃을 이용하는 프레임(400)을 위한 지문을 형성하기 위한 요청을 ACR 시스템(124)으로부터 수신할 때, 전자 장치(118)는 블록(410-440)을 포함하는 완전 지문을 생성할 수 있다. 이 예시에서, 전자 장치(118)는 모서리 블록(434, 436, 438, 및/또는 440) 중 하나 이상을 지문으로부터 제거하고 지문을 ACR 시스템(124)으로 전송할 수 있다. 또 다른 예시에서 전자 장치(118)가 완전 세분된 지문 레이아웃을 이용해 프레임(400)에 대한 지문을 생성하라는 요청을 ACR 시스템(124)으로부터 수신한 때, 전자 장치(118)는 지문으로부터 모서리 블록(434, 436, 438, 및/또는 440) 중 하나 이상을 제외한 지문을 생성할 수 있다. 전자 장치(118)는 지문을 ACR 시스템(124)으로 전송할 수 있다. For example, when electronic device 118 ( FIG. 1 ) receives a request from
예를 들어, 프레임(400)이 16개의 블록(410-440)을 갖는 4×4 격자로 분할되고 블록(434, 436, 438, 및 440)이 제거된 때, 완전 세분된 지문 레이아웃에 총 12개의 블록이 존재한다. 이 예시에서, 완전 세분된 지문 레이아웃이 12!의 상이한 순열(즉, 12!=479001600개의 순열)을 갖는 12 블록 순위를 가진다. 하나의 실시예에서, ACR 시스템은 미디어 콘텐츠는 초당 30 프레임을 가진다고 가정하면 지문화를 위해 7일치 미디어 콘텐츠를 저장할 수 있다. 예를 들어, 7일치 비디오에 대해 프레임의 최대 총 개수는: 7일 * 24시간 * 60분 * 60초 * 30프레임 = 18144000개 프레임이며, 이때 479001600개의 순열/18144000개 프레임 = 26.4회이다. 또 다른 예시에서, 3×3 블록의 경우, 지문은 9!의 서로 다른 순열을 가질 수 있다. 또 다른 예시에서, 5×5 블록의 경우 지문은 25!의 서로 다른 순열을 가질 수 있다.For example, when frame 400 is divided into a 4x4 grid with 16 blocks 410-440 and blocks 434, 436, 438, and 440 are removed, there is a total of 12 in a fully subdivided fingerprint layout. There are two blocks. In this example, the fully subdivided fingerprint layout has 12 block ranks with 12! different permutations (ie, 12!=479001600 permutations). In one embodiment, the ACR system may store 7 days of media content for fingerprinting, assuming that the media content has 30 frames per second. For example, for a 7-match video, the maximum total number of frames is: 7 days * 24 hours * 60 minutes * 60 seconds * 30 frames = 18144000 frames, where 479001600 permutations/18144000 frames = 26.4 times. In another example, for a 3x3 block, the fingerprint may have different permutations of 9!. In another example, for a 5×5 block, the fingerprint may have 25! different permutations.
세분된 지문 레이아웃 내 블록의 개수는 한정 사항으로 의도된 것이 아니다. 블록의 개수는 2개의 블록에서 수십만개의 블록까지 다양할 수 있다. 예를 들어, ACR 시스템(124) 또는 전자 장치(118)는 참조 데이터베이스(125) 내 복수의 지문이 프레임(400)에 대한 지문과 매칭되는 임계 충돌 횟수를 피하기에 충분한 개수의 순열을 제공하도록 완전 세분된 지문 레이아웃에 대해 사용될 블록의 개수를 선택할 수 있다. 하나의 실시예에서, 블록의 3×3 격자는 임계 충돌 횟수를 초과하는 충돌 횟수를 야기할 수 있는 불충분한 개수의 순열을 가질 수 있다. The number of blocks in the subdivided fingerprint layout is not intended to be limiting. The number of blocks can vary from two blocks to hundreds of thousands of blocks. For example,
또 다른 실시예에서, ACR 시스템(124) 또는 전자 장치(118)는 각각의 블록이 작은 수의 픽셀을 포함하는 것을 피하기 위해 완전 세분된 지문 레이아웃에 대해 사용될 블록의 개수를 선택할 수 있다. 예를 들어 ACR 시스템(124) 또는 전자 장치(118)는 지문으로부터 모서리 블록(434, 436, 438, 및/또는 440)을 제거하고, 블록(410-432)이 그레이스케일 블록이도록 재포맷팅될 수 있다. 예를 들어, 그레이스케일 블록 각각은 평균 값을 가질 수 있다. In another embodiment, the
그레이스케일 블록의 평균 값은 그레이스케일 블록의 명도(luminosity) 또는 밝기 레벨을 기초로 증가되거나 감소될 수 있다. 예를 들어, 백색 그레이스케일 블록은 0의 평균 값을 가지고 흑색 그레이스케일 블록은 455의 평균 값을 가질 수 있다. 이 예시에서, 그레이스케일 블록의 평균 값은 컬러 블록보다 더 작은 데이터량을 이용할 수 있다. 그레이스케일 블록의 평균 값은 또한 지문화를 위한 더 많은 양의 명도 정보의 유지할 수 있다. 예를 들어 그레이스케일 블록에 대한 명도 정보가 프레임(400)의 컬러 지문을 위한 명도 정보와 실질적으로 유사할 수 있다. 작은 블록 영역(가령, 작은 수의 픽셀)을 갖는 블록에 대한 평균 그레이스케일 값의 사소한 변동이 지문을 변화시킬 수 있으며 참조 데이터베이스에 저장된 지문과의 매칭이 부정확해지게 할 수 있다. The average value of the grayscale block may be increased or decreased based on the luminosity or brightness level of the grayscale block. For example, a white grayscale block may have an average value of 0 and a black grayscale block may have an average value of 455. In this example, the average value of the grayscale block may use a smaller amount of data than the color block. The average value of the grayscale block can also retain a larger amount of lightness information for fingerprinting. For example, the brightness information for the grayscale block may be substantially similar to the brightness information for the color fingerprint of the frame 400 . Minor variations in average grayscale values for blocks with small block areas (eg, small number of pixels) can change the fingerprint and cause incorrect matching with the fingerprint stored in the reference database.
블록(410-432)과 연관된 평균 값이 순위화되거나 가중될 수 있다. 예를 들어, 블록(410-432)은 서수 순위(서수 ranking)를 이용해 순위화될 수 있다. 서수 순위화는 각각의 평균 값이 각자의 그레이스케일 평균 값의 서수 순위일 수 있는 평균 값의 시퀀스이다. 예를 들어 값의 시퀀스는 서수 순위가 1 2 4 3인 10, 20, 40, 30일 수 있다. 또 다른 예를 들면, 값의 시퀀스는 서수 순위가 1 2 4 3인 12 28 43 33일 수 있다. The average values associated with blocks 410 - 432 may be ranked or weighted. For example, blocks 410-432 may be ranked using an ordinal ranking. An ordinal ranking is a sequence of mean values, where each mean value may be an ordinal rank of a respective grayscale mean value. For example, the sequence of values may be 10, 20, 40, 30 with an ordinal rank of 1 2 4 3 . As another example, the sequence of values may be 12 28 43 33 with an ordinal rank of 1 2 4 3 .
또 다른 예를 들면, 연관된 블록(410-432)의 평균 값이 오름차순 또는 내림차순으로 순위화될 수 있다. 블록(410-432)과 연관된 12개의 그레이스케일 평균 s값의 순위가 시퀀스로, 가령, 16진수 문자열(hex string)로 연결(concatenate)될 수 있다. 16진수 문자열은 프레임(400)에 대한 지문 값일 수 있다. As another example, the average values of the associated blocks 410 - 432 may be ranked in ascending or descending order. The ranks of the twelve grayscale mean s values associated with blocks 410-432 may be concatenated into a sequence, such as a hex string. The hexadecimal string may be a fingerprint value for frame 400 .
도 5a는 하나의 실시예에 따라 프레임(500)의 상단 세분된 지문 레이아웃을 도시한다. 상단 세분된 지문 레이아웃은 복수의 블록(510-526)으로 세분된 프레임(500)을 포함할 수 있다. 상단 세분된 지문 레이아웃은 블록(510-524)을 갖는 상부 세그먼트(528) 및 블록(526)을 갖는 하부 세그먼트(530)를 포함할 수 있다. 5A illustrates a top subdivided fingerprint layout of a frame 500 according to one embodiment. The top subdivided fingerprint layout may include a frame 500 subdivided into a plurality of blocks 510 - 526 . The top subdivided fingerprint layout may include an
예를 들어, 프레임(500)의 상부 세그먼트(528)는 8개의 세그먼트(510-524)를 갖는 2×4 격자로 세분될 수 있다. 블록(526)은 온스크린 디스플레이, 가령, 로고, 긴급 메시지, 또는 자막을 포함할 가능성이 더 높을 수 있다. 예를 들어, 전자 장치(118)가 ACR 시스템(124)으로부터 상단 세분된 지문 레이아웃을 이용해 프레임(500)의 지문을 생성하라는 요청을 수신할 때, 전자 장치(118)는 지문으로부터 블록(526)을 제거 또는 제외할 수 있다. For example,
예를 들어, 복수의 블록(510-526)이 직사각형 또는 정사각형일 수 있다. 또 다른 예시에서, 블록(510-526)은 다각형, 원형, 타원형 등일 수 있다. 또 다른 예시에서, 복수의 블록(510-524 및 526) 각각은 대략 동일한 크기일 수 있다. 또 다른 예시에서, 복수의 블록(510-524 및 526) 중 하나 이상이 상이한 크기일 수 있다. 복수의 블록(510-524 및 526)의 개수 및 복수의 블록(510-524 및 526)의 형태 및 크기는 한정 사항이 아니며 변경될 수 있다. For example, the plurality of blocks 510 - 526 may be rectangular or square. In another example, blocks 510-526 may be polygonal, circular, elliptical, or the like. In another example, each of the plurality of blocks 510 - 524 and 526 may be approximately the same size. In another example, one or more of the plurality of blocks 510 - 524 and 526 may be of different sizes. The number of the plurality of blocks 510-524 and 526 and the shape and size of the plurality of blocks 510-524 and 526 are not limited and may be changed.
도 5b는 하나의 실시예에 따르는 블록(532-554)을 갖는 도 5a에 도시된 프레임(500)의 상단 세분된 지문 레이아웃을 도시한다. 달리 언급되지 않는 한, 동일한 도면 부호로 표시될 때 도 5b의 특징 중 일부는 도 5a의 특징 중 일부와 동일하거나 유사하다. 블록(532-554)은 도 5a의 블록(510-524)의 격자 분할과 비교할 때 수직으로 분할될 수 있다. 도 5b의 상단 세분된 지문 레이아웃은 그 밖의 다른 모든 면에서, 도 5a와 실질적으로 동일하다. 5B shows a top subdivided fingerprint layout of frame 500 shown in FIG. 5A with blocks 532-554 according to one embodiment. Unless otherwise noted, some of the features of FIG. 5B are the same as or similar to some of the features of FIG. 5A when indicated by the same reference numerals. Blocks 532-554 may be partitioned vertically as compared to the lattice partitioning of blocks 510-524 of FIG. 5A. The top subdivided fingerprint layout of FIG. 5B is substantially the same as FIG. 5A in all other respects.
도 5c는 하나의 실시예에 따라 블록(510-524)을 갖는 도 5a에 도시된 바와 같은 프레임(500)에 대한 하단 세분된 지문 레이아웃을 도시한다. 달리 언급되지 않는 한, 동일한 도면 부호로 표시될 때 도 5c의 특징 중 일부는 도 5a의 특징 중 일부와 동일하거나 유사하다. 하단 세분된 지문 레이아웃의 경우, 블록(510-524)이 도 5a의 상부 세그먼트(528) 상에 위치하는 블록(510-524)과 비교해서 하부 세그먼트(530)에 위치할 수 있다. 도 5c의 하단 세분된 지문 레이아웃은 그 밖의 다른 모든 면에서, 도 5a와 실질적으로 동일하다.5C shows a bottom subdivided fingerprint layout for frame 500 as shown in FIG. 5A with blocks 510-524 according to one embodiment. Unless otherwise noted, some of the features of FIG. 5C are the same as or similar to some of the features of FIG. 5A when indicated by the same reference numerals. For a bottom subdivided fingerprint layout, blocks 510 - 524 may be located in the
도 5d는 하나의 실시예에 따라 블록(532-554)을 갖는 도 5c에 도시된 프레임(500)에 대한 하단 세분된 지문 레이아웃을 도시한다. 달리 언급되지 않는 한, 동일한 도면 부호로 표시될 때 도 5d의 특징 중 일부는 도 5c의 특징 중 일부와 동일하거나 유사하다. 블록(532-554)은 도 5c의 블록(510-524)의 격자 분할에 비교해서 수직으로 분할될 수 있다. 블록(532-554)은 도 5b의 상부 세그먼트(528) 상에 위치하는 블록(510-524)에 비교해서 하부 세그먼트(530) 상에 위치할 수 있다. 도 5d의 하단 세분된 지문 레이아웃은 그 밖의 다른 모든 면에서, 도 5c와 실질적으로 동일하다.5D shows a bottom subdivided fingerprint layout for frame 500 shown in FIG. 5C with blocks 532-554 according to one embodiment. Unless otherwise noted, some of the features of FIG. 5D are the same as or similar to some of the features of FIG. 5C when denoted by the same reference numerals. Blocks 532-554 may be partitioned vertically compared to the lattice partitioning of blocks 510-524 of FIG. 5C. Blocks 532-554 may be located on
도 6은 하나의 실시예에 따르는 미디어 콘텐츠를 식별하기 위한 방법(600)의 흐름도를 도시한다. 방법(600)은 하드웨어(가령, 회로, 전용 로직, 프로그램 가능 로직, 마이크로코드 등), 소프트웨어(가령, 프로세싱 장치에 의해 실행되는 명령), 펌웨어 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 적어도 부분적으로 수행될 수 있다. 방법(600)은 도 1의 콘텐츠 배포 네트워크(100)의 전체 또는 부분에 의해 수행될 수 있다. 예를 들어 방법(600)은 전자 장치(118 또는 120), ACR 시스템(124 또는 126), 또는 참조 데이터베이스(125 또는 127)(도 1)의 프로세싱 로직의 전체 또는 부분에 의해 수행될 수 있다. 달리 언급되지 않는 한, 동일한 도면 부호로 표시될 때 도 6a의 특징 중 일부는 도 1의 특징 중 일부와 동일하거나 유사하다.6 shows a flow diagram of a method 600 for identifying media content according to one embodiment. Method 600 may be at least in part by processing logic, including hardware (eg, circuitry, dedicated logic, programmable logic, microcode, etc.), software (eg, instructions executed by a processing device), firmware, or a combination thereof. can be performed with Method 600 may be performed by all or part of
도 6a를 참조하여, 방법(600)은 콘텐츠 사업자(102) 또는 지역 사업자(106)에 의해 ACR 시스템(124) 또는 전자 장치(118)로 미디어 콘텐츠를 방송하는 단계(블록(610))로 시작한다. 상기 방법은 ACR 시스템(124)이 미디어 콘텐츠를 수신할 수 있는 단계(블록(612))를 포함한다. 방법은 ACR 시스템(124)이 미디어 콘텐츠를 지문화하여 제1 지문 세트를 획득하는 단계(블록(614))를 포함할 수 있다. ACR 시스템(124)은 완전 세분된 지문 레이아웃을 이용해 제1 지문을 생성하고 상단 세분된 지문 레이아웃을 이용해 제2 지문을 생성하며 상단 세분된 지문 레이아웃을 이용해 제3 지문을 생성할 수 있다. 제1 지문 세트는 제1 지문, 제2 지문, 및 제3 지문을 포함할 수 있다. Referring to FIG. 6A , method 600 begins with broadcasting media content (block 610 ) by
방법은 ACR 시스템(124)이 제1 지문 세트 및 미디어 콘텐츠와 연관된 메타데이터를 참조 데이터베이스(125)에 저장하는 단계(블록(616))를 포함할 수 있다. 상기 방법은 전자 장치(118)가 미디어 콘텐츠를 수신하는 단계(블록(618))를 포함할 수 있다. 상기 방법은 전자 장치(118)가 미디어 콘텐츠를 지문화하여 제2 지문 세트를 획득하는 단계(블록(620))를 포함할 수 있다. 전자 장치(118)는 완전 세분된 지문 레이아웃을 이용해 제4 지문을 생성하고 상단 세분된 지문 레이아웃을 이용해 제5 지문을 생성하며 상단 세분된 지문 레이아웃을 이용해 제6 지문을 생성할 수 있다. 제2 지문 세트는 제4 지문, 제5 지문, 및 제6 지문을 포함할 수 있다. The method may include the
방법은 전자 장치(118)가 제2 지문 세트와 미디어 콘텐츠와 연관된 메타데이터를 ACR 시스템(124)으로 전송하는 단계(블록(622))를 포함할 수 있다. 상기 메타데이터는 제1 지문 세트, 제2 지문 세트, 또는 미디어 콘텐츠와 연관된 스케줄 데이터를 포함할 수 있다. 상기 스케줄 데이터는 미디어 콘텐츠 또는 광고의 방영 시간의 스케줄을 포함할 수 있다. 또 다른 예를 들면, 스케줄 데이터는 제3자 서버 또는 데이터베이스로부터 획득된 데이터를 포함할 수 있다. 또 다른 예를 들면, 스케줄 데이터는 내부 스케줄링 시스템을 통해 방송 시스템으로부터 직접 획득된 데이터를 포함할 수 있다. 또 다른 실시예에서, 메타데이터는 전자 장치(118)에서 발생하는 이벤트, 가령, 전자 장치(118)가 입력 장치로부터, 미디어 콘텐츠의 일시 멈춤, 미디어 콘텐츠 빨리 감기, 미디어 콘텐츠 되감기 등의 명령어를 수신한 것을 포함할 수 있다. The method may include the
방법은 ACR 시스템(124)이 앞서 기재된 바와 같이, 세분된 지문 레이아웃, 상단 세분된 지문 레이아웃, 하단 세분된 지문 레이아웃, 또는 이들의 조합을 이용해 전자 장치(118) 상에 디스플레이된 미디어 콘텐츠를 식별하는 단계(블록(624))를 포함할 수 있다. 하나의 실시예에서, ACR 시스템(124)은 상단 세분된 지문 레이아웃을 이용해 제2 지문의 블록(510-524)을 참조 데이터베이스(125) 내 모든 상단 세분된 지문 레이아웃 지문과 비교할 수 있다. 제5 지문의 블록(510-524)이 제2 지문의 대응하는 블록(510-524)과 매칭할 때, ACR 시스템(124)은 제2 지문과 연관된 미디어 콘텐츠를 식별할 수 있다. 또 다른 실시예에서, ACR 시스템(124)은 세분된 지문 레이아웃을 유사하게 사용하여 제1 지문 내 블록(410-432)을 참조 데이터베이스(125) 내 모든 세분된 지문 레이아웃 지문과 비교할 수 있다. 제4 지문의 블록(410-432)이 제1 지문의 대응하는 블록(510-524)과 매칭될 때, ACR 시스템(124)은 제1 지문과 연관된 미디어 콘텐츠를 식별할 수 있다. 또 다른 실시예에서, ACR 시스템(124)은 하단 세분된 지문 레이아웃을 유사하게 이용해 제3 지문의 블록(510-524)을 참조 데이터베이스(125) 내 모든 하단 세분된 지문 레이아웃 지문과 비교할 수 있다. 제6 지문의 블록(510-524)이 제3 지문의 대응하는 블록(510-524)과 매칭할 때, ACR 시스템(124)은 제3 지문과 연관된 미디어 콘텐츠를 식별할 수 있다. The method includes the
하나의 실시예에서, ACR 시스템(124)은 지문 매칭을 검색할 때 참조 데이터베이스(125)에서 각각의 유형의 지문 레이아웃을 순차적으로 질의할 수 있다. 예를 들어 ACR 시스템(124)은 세분된 지문 레이아웃을 갖는 참조 데이터베이스(125) 내 모든 지문에 대한 제1 질의를 수행하여 임의의 세분된 지문 레이아웃 지문이 제4 지문과 매칭될 수 있는지 여부를 결정할 수 있다. ACR 시스템(124)이 지문 매칭을 식별할 때, ACR 시스템(124)은 질의를 중단하고 매칭 지문과 연관된 미디어 콘텐츠를 식별할 수 있다. ACR 시스템(124)이 지문 매칭을 식별하지 않는다면, ACR 시스템(124)은 상단 세분된 지문 레이아웃을 갖는 참조 데이터베이스(125) 내 모든 지문에 대한 제2 질의를 수행하여 임의의 상단 세분된 지문 레이아웃 지문이 제5 지문과 매칭되는지 여부를 결정할 수 있다. ACR 시스템(124)이 지문 매칭을 식별하면, ACR 시스템(124)은 질의를 중단하고 매칭 지문과 연관된 미디어 콘텐츠를 식별할 수 있다. ACR 시스템(124)이 지문 매칭을 식별하지 않는다면, ACR 시스템(124)은 하단 세분된 지문 레이아웃을 갖는 참조 데이터베이스(125) 내 모든 지문에 대한 제3 질의를 수행하여 임의의 하단 세분된 지문 레이아웃 지문이 제6 지문에 매칭되는지 여부를 결정할 수 있다. ACR 시스템(124)이 지문 매칭을 식별할 때 ACR 시스템(124)은 질의를 중단하고 매칭 지문과 연관된 미디어 콘텐츠를 식별할 수 있다. 제1 질의, 제2 질의, 및 제3 질의에서 사용되는 지문 레이아웃은 한정 사항이 아니며 지문 레이아웃은 어떠한 순서로도 사용될 수 있다. In one embodiment, the
또 다른 실시예에서, ACR 시스템(124)은 지문 매칭을 검색할 때 참조 데이터베이스(125)에서 각각의 유형의 지문 레이아웃에 대해 병렬 질의를 수행할 수 있다. 예를 들어, ACR 시스템(124)은 제1 질의, 제2 질의, 및 제3 질의를 동시에 수행할 수 있다. ACR 시스템(124)이 제1 질의, 제2 질의, 또는 제3 질의에 대한 지문 매칭을 식별하면, ACR 시스템은 질의를 중단하고 매칭 지문과 연관된 미디어 콘텐츠를 식별할 수 있다. In another embodiment, the
방법은 ACR 시스템(124)이 미디어 콘텐츠 상으로 중첩할 오버레이 콘텐츠를 식별하는 단계(블록(626))을 포함할 수 있다. 예를 들어, 오버레이 콘텐츠는 참조 데이터베이스(125)에 또는 ACR 시스템(124)에 연결된 메모리 장치에 저장될 수 있다. 오버레이 콘텐츠는 식별된 미디어 콘텐츠와 상관될 수 있다. 방법은 오버레이 콘텐츠를 전자 장치(118)로 전송하는 단계(블록(628))를 포함할 수 있다. 방법은 전자 장치(118)가 미디어 콘텐츠의 적어도 하나의 세그먼트 위에 오버레이 콘텐츠를 중첩하는 단계(630)를 포함할 수 있다. The method may include the
도 6a의 ACR 시스템(124), 참조 데이터베이스(125), 및 전자 장치(118)의 사용은 한정 사항이 아니며 그 밖의 다른 구성요소(가령, 도 1의 구성요소)가 도 6의 하나 이상의 단계를 구현할 수 있다. 예를 들어, ACR 시스템(124)은 ACR 시스템(126)으로 치환될 수 있으며, 전자 장치(118)는 전자 장치(120)로 치환될 수 있고 참조 데이터베이스(125)는 참조 데이터베이스(127)로 치환될 수 있다. Use of the
도 6b는 하나의 실시예에 따르는 상단 세분된 지문 레이아웃을 이용해 미디어 콘텐츠를 식별하기 위한 방법(640)의 흐름도이다. 방법(640)은 하드웨어(가령, 회로, 전용 로직, 프로그램 가능 로직, 마이크로코드 등), 소프트웨어(가령, 프로세싱 장치에 의해 실행되는 명령), 펌웨어 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 적어도 부분적으로 수행될 수 있다. 방법(640)은 도 1의 콘텐츠 배포 네트워크(100)의 전체 또는 부분에 의해 수행될 수 있다. 예를 들어 방법(640)은 전자 장치(118 또는 120), ACR 시스템(124 또는 126), 또는 참조 데이터베이스(125 또는 127)(도 1)의 프로세싱 로직의 전체 또는 부분에 의해 수행될 수 있다. 달리 언급되지 않는 한, 동일한 도면 부호로 표시될 때 도 6b의 특징 중 일부는 도 1의 특징 중 일부와 동일하거나 유사하다. 6B is a flow diagram of a method 640 for identifying media content using a top subdivided fingerprint layout according to one embodiment. Method 640 may be at least in part by processing logic, including hardware (eg, circuitry, dedicated logic, programmable logic, microcode, etc.), software (eg, instructions executed by a processing device), firmware, or a combination thereof. can be performed with Method 640 may be performed by all or part of
도 6b를 참조하면, 방법(640)은 ACR 시스템(124)이 상단 세분된 지문 레이아웃으로 제1 지문을 수신하는 단계(블록(642))로 시작한다. 상기 방법은 ACR 시스템(124)이 제1 지문과 매칭되는 제2 지문에 대해 참조 데이터베이스(125)에 질의하는 단계를 포함하며 여기서 제2 지문은 상단 세분된 레이아웃을 가진다(블록(644)). 방법은 또한 ACR 시스템(124)이 제2 지문에 상관된 오버레이 콘텐츠를 식별하는 단계(블록(646))를 포함할 수 있다. 예를 들어, 참조 데이터베이스(125)는 복수의 지문을 저장할 수 있다. 지문은 상이한 오버레이 콘텐츠와 상관될 수 있다. 오버레이 콘텐츠는 참조 데이터베이스(125) 또는 또 다른 메모리 장치에 저장될 수 있다. 방법은 ACR 시스템(124)이 전자 장치(118)로 오버레이 콘텐츠를 전송하는 단계(블록(648))를 포함할 수 있다. 제1 지문 및 제2 지문의 포맷은 한정 사항이 아니다. 제1 지문 및 제2 지문의 포맷은 완전 세분된 지문 레이아웃, 상단 세분된 지문 레이아웃, 하단 세분된 지문 레이아웃, 또는 그 밖의 다른 지문 레이아웃일 수 있다. Referring to FIG. 6B , method 640 begins with
도 7은 기계로 하여금 본 명세서에 기재된 방법들 중 하나 이상을 수행하게 하도록 하는 명령의 세트가 실행될 수 있는 컴퓨터 시스템(700)의 예시적 형태로 된 기계의 개략적인 표현을 도시한다. 대안적 실시예에서, 기계는 LAN, 인트라넷, 익스트라넷, 또는 인터넷의 타 기계에 연결(가령, 네트워킹)될 수 있다. 기계는 클라이언트-서버 네트워크 환경에서 서버 또는 전자 장치로서 또는 피어-투-피어(또는 분산) 네트워크 환경에서 피어 기계로서 동작할 수 있다. 기계는 개인 컴퓨터(PC), 태블릿 PC, 셋-톱 박스(STB), 개인 디지털 어시스턴트(PDA), 셀룰러 전화기, 스마트폰, 웹 어플라이언스, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 기계에 의해 수행될 동작을 특정하는 명령의 세트(순차 또는 그 밖의 다른 방식으로)를 실행할 수 있는 임의의 기계일 수 있다. 또한 단일 기계로 도시되었지만, 용어 "기계"는 또한 본 명세서의 방법 중 임의의 하나 이상을 수행하도록 명령의 세트(또는 복수의 세트)를 개별적으로 또는 공동으로 실행하는 기계의 임의의 모음을 포함하는 것으로도 여겨져야 한다. 7 shows a schematic representation of a machine in an exemplary form of a
컴퓨터 시스템(700)은 도 1의 ACR 지문화 서버(105)에 대응할 수 있다. 컴퓨터 시스템(700)은 클라우드-기반 컴퓨터 시스템의 적어도 한 세그먼트에 대응할 수 있다. 컴퓨터 시스템(700)은 프로세싱 장치(702), 메인 메모리(704)(가령, 리드-온리 메모리(ROM), 플래시 메모리, 동적 랜덤 액세스 메모리(DRAM)(가령, 동기식 DRAM(SDRAM) 또는 DRAM(RDRAM) 등), 정적 메모리(706)(가령, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM) 등), 및 데이터 저장 장치(718)를 포함하며, 이들은 버스(730)를 통해 서로 통신한다. The
프로세싱 장치(702)는 하나 이상의 프로세싱 장치, 가령, 마이크로프로세서, 중앙 처리 장치 등을 나타낸다. 더 구체적으로 프로세싱 장치는 복잡 명령 세트 컴퓨팅(CISC) 마이크로프로세서, 간소 명령 세트 컴퓨터(RISC) 마이크로프로세서, VLIW(very long instruction word) 마이크로프로세서, 또는 그 밖의 다른 명령 세트를 구현하는 프로세서 또는 명령 세트의 조합을 구현하는 프로세서일 수 있다. 프로세싱 장치(702)는 하나 이상의 특수 목적 프로세싱 장치, 가령, 주문형 집적 회로(ASIC), 필드 프로그램 가능 게이트 어레이(FPGA), 디지털 신호 프로세서(DSP), 네트워크 프로세서 등일 수 있다. 하나의 실시예에서, 프로세싱 장치(702)는 하나 이상의 프로세싱 코어를 포함할 수 있다. 프로세싱 장치(702)는 본 명세서에 기재된 동작들을 수행하기 위해 메인 메모리(704)에 저장된 미러링 로직의 명령(726)을 실행하도록 구성된다.
컴퓨터 시스템(700)은 네트워크(720)에 통신 가능하게 연결된 네트워크 인터페이스 장치(708)를 더 포함할 수 있다. 컴퓨터 시스템(700)은 또한 비디오 디스플레이 유닛(710)(가령, 액정 디스플레이(LCD) 또는 음극선관(CRT)), 문숫자 입력 장치(712)(가령, 키보드), 커서 제어 장치(714)(가령, 마우스), 신호 생성 장치(716)(가령, 스피커), 또는 그 밖의 다른 주변 장치를 포함할 수 있다. 또한, 컴퓨터 시스템(700)은 그래픽 처리 장치(722), 비디오 처리 장치(728), 및 오디오 처리 장치(732)를 포함할 수 있다. 또 다른 실시예에서, 컴퓨터 시스템(700)은 프로세싱 장치(702)와 작업하도록 설계되고 프로세싱 장치(702)와 외부 장치 간 통신을 제어하도록 설계된 집적 회로 또는 칩의 그룹을 지칭하는 칩셋(도시되지 않음)을 포함할 수 있다. 예를 들어, 칩셋은 프로세싱 장치(702)를 초고속 장치, 가령, 메인 메모리(704) 및 그래픽 제어기로 연결하고 프로세싱 장치(702)를 주변장치의 저속 주변장치 버스, 가령, USB, PCI 또는 ISA 버스로 연결하는 마더보드 상의 칩들의 세트일 수 있다.
데이터 저장 장치(718)는 본 명세서에 기재된 기능의 방법 중 임의의 하나 이상을 구현하는 저장된 명령(726)을 갖는 컴퓨터 판독형 저장 매체(725)를 포함할 수 있다. 명령(726)은 또한 컴퓨터 시스템(700)에 의해 실행되는 동안 메인 메모리(704) 및/또는 프로세싱 장치(702) 내에 완전히 또는 적어도 부분적으로 상주할 수 있고, 메인 메모리(704) 및 프로세싱 장치(702)는 또한 컴퓨터 판독형 저장 매체가 될 수 있다. Data storage device 718 may include computer-readable storage medium 725 having stored
컴퓨터 판독형 저장 매체(725)는 로직 및/또는 애플리케이션을 호출하는 메소드를 포함하는 소프트웨어 라이브러리를 이용하는 명령(726)을 저장하는 데 사용될 수 있다. 컴퓨터 판독형 저장 매체(725)는 예시적 실시예에서 단일 매체로 나타나지만, 용어 "컴퓨터 판독형 저장 매체" 또는 "컴퓨터 판독형 매체"는 하나 이상의 명령 세트를 저장하는 단일 매체 또는 복수의 매체(가령, 중앙집중형 또는 분산된 데이터베이스 및/또는 연관된 캐시 및 서버)를 포함하는 것으로 이해되어야 한다. 또한 "컴퓨터 판독형 저장 매체"는 기계에 의해 실행되어 기계로 하여금 본 발명의 실시예의 방법 중 임의의 하나 이상을 수행하게 하는 명령의 세트를 저장, 인코딩, 또는 운송할 수 있는 임의의 매체를 포함하는 것으로 이해되어야 한다. 용어 "컴퓨터 판독형 저장 매체"는 솔리드-스테이트 메모리, 광학 및 자기 매체를 포함하는 것으로 이해될 것이나, 이에 한정되어서는 안 된다. The computer-readable storage medium 725 may be used to store
상기 기재로부터, 많은 세부사항이 제공되었다. 그러나 해당 분야의 통상의 기술자라면 실시예가 이들 특정 세부사항 없이도 실시될 수 있음을 알 것이다. 일부 경우, 공지된 구조 및 장치는 기재를 모호하게 하는 것을 피하기 위해 상세히보다는 블록도 형태로 도시되었다. From the above description, many details have been provided. However, it will be apparent to one of ordinary skill in the art that the embodiments may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form rather than in detail in order to avoid obscuring the description.
실시예가 특정 집적 회로, 가령, 컴퓨팅 플랫폼 또는 마이크로프로세서를 참조하여 기재될 수 있지만, 그 밖의 다른 실시예가 그 밖의 다른 유형의 집적 회로 및 로직 장치에 적용될 수 있다. 본 명세서에 기재된 실시예의 유사한 기법 및 설명이 그 밖의 다른 유형의 회로 또는 반도체 장치에 적용될 수 있다. 예를 들어 개시된 실시예는 데스크톱 컴퓨터 시스템 또는 Ultrabooks™에 한정되지 않으며 그 밖의 다른 장치, 가령, 핸드헬드 장치, 태블릿, 그 밖의 다른 씬 노트북, 시스템 온 칩(SOC) 장치 및 임베디드 응용예에서도 사용될 수 있다. 핸드헬드 장치의 일부 예시로는 셀룰러 폰, 인터넷 프로토콜 장치, 스마트폰, 디지털 카메라, 개인 디지털 어시스턴트(PDA), 및 핸드헬드 PC가 있다. 임베디드 응용예는 일반적으로 마이크로제어기, 디지털 신호 프로세서(DSP), 시스템 온 칩, 네트워크 컴퓨터(NetPC), 셋-톱 박스, 네트워크 허브, 광역 네트워크(WAN) 스위치, 또는 이하에서 설명되는 기능 및 동작을 수행할 수 있는 그 밖의 다른 임의의 시스템을 포함한다. Although embodiments may be described with reference to specific integrated circuits, such as computing platforms or microprocessors, other embodiments may be applied to other types of integrated circuits and logic devices. Similar techniques and descriptions of the embodiments described herein may be applied to other types of circuits or semiconductor devices. For example, the disclosed embodiments are not limited to desktop computer systems or Ultrabooks™, but may also be used in other devices such as handheld devices, tablets, other thin notebooks, system-on-a-chip (SOC) devices, and embedded applications. have. Some examples of handheld devices include cellular phones, Internet Protocol devices, smartphones, digital cameras, personal digital assistants (PDAs), and handheld PCs. Embedded applications typically include microcontrollers, digital signal processors (DSPs), system-on-chips, network computers (NetPCs), set-top boxes, network hubs, wide area network (WAN) switches, or the functions and operations described below. any other system capable of performing.
실시예가 본 명세서에서 프로세서 또는 프로세싱 장치를 참조하여 기재되었지만, 그 밖의 다른 실시예가 그 밖의 다른 유형의 집적 회로 및 로직 장치에 적용될 수 있다. 본 발명의 실시예의 유사한 기법 및 설명이 더 높은 파이프라인 처리율 및 개선된 성능으로부터 혜택을 받을 수 있는 그 밖의 다른 유형의 회로 또는 반도체 장치에 적용될 수 있다. 본 발명의 실시예의 설명은 데이터 조작을 수행하는 임의의 프로세서 또는 기계에 적용될 수 있다. 그러나 본 발명은 512 비트, 256 비트, 128 비트, 64 비트, 32 비트, 및/또는 16 비트 데이터 동작을 수행하는 프로세서 또는 기계에 한정되지 않으며 데이터의 조작 또는 관리가 수행되는 임의의 프로세서 및 기계에 적용될 수 있다. 덧붙여, 다음의 기재가 예시를 제공하며 이하의 도면이 설명 목적으로 다양한 예시를 보여준다. 그러나 이들 예시는 본 발명의 모든 가능한 구현의 전체 목록을 제공하려는 것이기보다는 본 발명의 실시예를 제공하려는 의도를 갖기 때문에 한정으로 해석되어서는 안 된다. Although embodiments have been described herein with reference to processors or processing devices, other embodiments may be applied to other types of integrated circuits and logic devices. Similar techniques and descriptions of embodiments of the present invention may be applied to other types of circuits or semiconductor devices that may benefit from higher pipeline throughput and improved performance. The description of embodiments of the present invention may apply to any processor or machine that performs data manipulation. However, the present invention is not limited to processors or machines performing 512-bit, 256-bit, 128-bit, 64-bit, 32-bit, and/or 16-bit data operations, but may be applied to any processor and machine in which manipulation or management of data is performed. can be applied. In addition, the following description provides examples and the following drawings show various examples for illustrative purposes. These examples, however, should not be construed as limiting as they are intended to provide embodiments of the invention rather than to provide an exhaustive list of all possible implementations of the invention.
상세한 설명의 일부 부분이 컴퓨터 메모리 내 데이터 비트에 대한 연산의 알고리즘 및 부호 표현으로 제공된다. 이들 알고리즘 기재 및 표현은 해당 분야의 통상의 기술자가 자신의 작업의 의미를 또 다른 통상의 기술자에게 가장 효과적으로 전달하기 위해 사용되는 수단이다. 알고리즘은 여기서 그리고 일반적으로, 원하는 결과를 이끄는 일관된 동작 시퀀스로 여겨진다. 동작은 물리량의 물리적 조작을 요구하는 것이다. 일반적으로 반드시는 아니더라도, 이들 양은 저장, 전달, 조합, 비교, 또는 그 밖의 다른 방식으로 조작될 수 있는 전기 또는 자기 신호의 형태를 취한다. 이들 신호를 비트, 값, 요소, 심볼, 문자, 용어, 숫자 등으로 지칭하는 것이 공통 사용의 이유로 때때로 편리함이 증명되었다. 본 명세서에 기재된 블록은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합일 수 있다. Some portions of the detailed description are presented as algorithms and symbolic representations of operations on bits of data in a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the art to most effectively convey the meaning of their work to another person skilled in the art. An algorithm is here and generally conceived as a coherent sequence of actions leading to a desired result. An operation is one that requires physical manipulation of a physical quantity. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, or otherwise manipulated. It has proven convenient at times, for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. The blocks described herein may be hardware, software, firmware, or a combination thereof.
그러나 이들 및 유사한 용어 모두 적절한 물리적 양과 연관되어야 하며 이들 양에 적용되는 편리한 라벨에 불과함을 알아야 한다. 앞서 설명에서 자명하듯이, 달리 특정하게 언급되지 않는 한, 기재 전체에서, "감지", "개시", "결정", "계속", "중단", "수신", "기록" 등의 용어를 사용한 기재는, 컴퓨팅 시스템의 레지스터 및 메모리 내 물리적(가령, 전자) 양으로 표현되는 데이터를 컴퓨팅 시스템 메모리 또는 레지스터 또는 그 밖의 다른 이러한 정보 저장 전송 또는 전자 장치 내 그 밖의 다른 데이터로 조작하고 변환하는 컴퓨팅 시스템 또는 유사한 전자 컴퓨팅 장치의 동작 및 프로세스를 지칭하는 것임을 알 것이다. It should be understood, however, that all of these and similar terms should be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. As is apparent from the preceding description, the terms "sensing", "initiating", "determining", "continue", "interrupt", "receive", "record", etc. are used throughout the description, unless specifically stated otherwise. The description used is computing that manipulates and transforms data expressed in physical (eg, electronic) quantities in registers and memories of the computing system into computing system memory or registers or other such information storage transfers or other data in electronic devices. It will be understood that reference to the operations and processes of a system or similar electronic computing device.
단어 "예" 또는 "예시적"은 본 명세서에서 예, 사례, 또는 예시로서 역할 함을 의미하도록 사용된다. "예" 또는 "예시"라고 본 명세서에서 기재된 임의의 양태 또는 설계는 타 양태 또는 설계보다 반드시 선호되거나 바람직하다고 해석되지는 않는다. 오히려 단어 "예" 또는 "예시"는 본 발명을 명확한 방식으로 제공하려는 의도를 가진다. 본 명세서에서 사용될 때, 용어 "또는"은 배타적 "또는"이 아니라 포괄적 "또는"을 의미한다. 즉, 달리 특정되거나 문맥으로부터 자명하지 않는 한, "X가 A 또는 B를 포함한다"는 임의의 자연적 포함 순열을 포함하는 것을 의도한다. 즉, X가 A를 포함, X가 B를 포함, 또는 X가 A와 B 모두를 포함하는 경우, "X가 A 또는 B를 포함한다"는 상기 사례 중 임의의 것 하에서 만족된다. 덧붙여, 부정관사("a" 및 "an")가 본 출원 및 청구항에서 사용될 때, 단수 형태라고 달리 특정되거나 문맥으로부터 자명하지 않는 한 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다. 덧붙여, 전체에서 용어 "실시예" 또는 "하나의 실시예" 또는 "구현예" 또는 "하나의 구현예"라는 용어의 사용은 그렇다고 기재되지 않는 한 동일한 실시예 또는 구현예를 의미하는 것이 아니다. 또한 용어 "제1", "제2", "제3", "제4" 등은 본 명세서에서 사용될 때 상이한 요소들을 구별하기 위한 라벨로서 의미하며, 반드시 이들 숫자 지정에 따른 순서적 의미를 갖는 것이 아닐 수 있다. The word “example” or “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as "example" or "exemplary" is not necessarily to be construed as preferred or preferred over other aspects or designs. Rather, the words "example" or "example" are intended to present the invention in a clear manner. As used herein, the term “or” means an inclusive “or” rather than an exclusive “or.” That is, "X comprises A or B" is intended to include any natural inclusive permutation, unless otherwise specified or clear from context. That is, if X includes A, X includes B, or X includes both A and B, then “X includes A or B” is satisfied under any of the preceding instances. In addition, when the indefinite articles "a" and "an" are used in this application and in the claims, they should generally be construed to mean "one or more" unless otherwise specified in the singular form or clear from the context. In addition, the use of the terms "an embodiment" or "an embodiment" or "an embodiment" or "an embodiment" throughout does not mean the same embodiment or embodiment unless otherwise stated. Also, the terms "first", "second", "third", "fourth", etc., when used herein, are meant as labels for distinguishing different elements, and must have an ordinal meaning according to these numerical designations. it may not be
본 명세서에 기재된 실시예는 또한 본 명세서의 동작을 수행하기 위한 장치와도 관련될 수 있다. 이 장치는 특히 요구되는 목적을 위해 구성될 수 있거나 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화 또는 재구성되는 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 비-일시적(non-transitory ) 컴퓨터 판독형 저장 매체, 비제한적 예를 들면, 임의의 유형의 디스크, 가령, 플로피 디스크, 광학 디스크, CD-ROM, 및 자기-광학 디스크, 리드-온리 메모리(ROM), 랜덤 액세스 메모리(RAM), EPROM, EEPROM, 자기 또는 광학 카드, 플래시 메모리 또는 전자 명령을 저장하기에 적합한 임의의 유형의 매체에 저장될 수 있다. 용어 "컴퓨터 판독형 저장 매체"는 하나 이상의 명령 세트를 저장하는 단일 매체 또는 복수의 매체(가령, 중앙집중형 또는 분산된 데이터베이스 및/또는 연관된 캐시 및 서버)를 포함하는 것으로 이해되어야 한다. 또한 "컴퓨터 판독형 매체"는 기계에 의해 실행되어 기계로 하여금 본 발명의 실시예의 방법 중 임의의 하나 이상을 수행하게 하는 명령의 세트를 저장, 인코딩, 또는 운송할 수 있는 임의의 매체를 포함하는 것으로 이해되어야 한다. 용어 "컴퓨터 판독형 저장 매체"는 솔리드-스테이트 메모리, 광학 매체, 자기 매체 및 기계에 의해 실행될 때 기계로 하여금 본 발명의 실시예의 방법들 중 임의의 하나 이상을 수행하게 하는 명령의 세트를 저장할 수 있는 임의의 매체를 포함하는 것으로 이해될 것이나, 이에 한정되어서는 안 된다.Embodiments described herein may also relate to apparatus for performing the operations herein. The apparatus may be specially constructed for the required purpose or it may comprise a computer selectively activated or reconfigured by a computer program stored on the computer. Such computer programs may include non-transitory computer readable storage media including, but not limited to, disks of any type, such as floppy disks, optical disks, CD-ROMs, and magneto-optical disks, read- It may be stored in only memory (ROM), random access memory (RAM), EPROM, EEPROM, magnetic or optical card, flash memory, or any tangible medium suitable for storing electronic instructions. The term “computer-readable storage medium” should be understood to include a single medium or a plurality of media (eg, centralized or distributed databases and/or associated caches and servers) that store one or more sets of instructions. "Computer-readable medium" also includes any medium that can store, encode, or transport a set of instructions that is executed by a machine to cause the machine to perform any one or more of the methods of embodiments of the present invention. should be understood as The term "computer-readable storage medium" is capable of storing solid-state memory, optical media, magnetic media and a set of instructions that, when executed by a machine, cause the machine to perform any one or more of the methods of the embodiments of the present invention. It will be understood to include, but not be limited to, any medium in which
본 명세서에서 제공되는 알고리즘 및 디스플레이는 임의의 특정 컴퓨터 또는 그 밖의 다른 장치와 본질적으로는 관련된 것은 아니다. 다양한 컴퓨팅 시스템이 본 명세서의 설명에 따르는 프로그램과 함께 사용될 수 있거나 동작을 수행하도록 더 특수화된 장치를 구성하는 것이 편리함이 증명될 수 있다. 다양한 이들 시스템을 위한 요구되는 구조는 이하의 기재로부터 자명할 것이다. 덧붙여, 본 발명의 실시예는 임의의 특정 프로그래밍 언어를 참조하여 기재되지 않는다. 다양한 프로그래밍 언어가 본 명세서에 기재된 실시예의 설명을 구현하는 데 사용될 수 있음을 알 것이다. The algorithms and displays provided herein are not inherently related to any particular computer or other device. Various computing systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the operations. The required structure for a variety of these systems will be apparent from the description below. In addition, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the description of the embodiments described herein.
상기의 기재는 몇몇 실시예의 우수한 이해를 제공하기 위해, 특정 세부사항, 가령, 특정 시스템, 구성요소, 방법 등의 예시를 제공한다. 그러나 해당 분야의 통상의 기술자라면 적어도 일부 실시예는 이들 특정 세수사항 없이 실시될 수 있음을 알 것이다. 또 다른 경우, 잘 알려진 구성요소 또는 방법은 본 발명의 실시예를 불필요하게 모호하게 하지 않도록 상세히 기재되지 않으며 단순한 블록도 포맷으로 제공된다. 따라서 앞서 제공된 특정 세부사항은 단지 예시에 불과하다. 특정 구현예는 이들 예시적 세부사항과 달라질 수 있으며 본 발명의 범위 내에 있는 것으로 여전히 간주될 수 있다. The foregoing description provides examples of specific details, such as specific systems, components, methods, and the like, in order to provide a good understanding of some embodiments. However, one of ordinary skill in the art will recognize that at least some embodiments may be practiced without these specific details. In other instances, well-known components or methods have not been described in detail in order not to unnecessarily obscure the embodiments of the present invention and are presented in simple block diagram format. Accordingly, the specific details provided above are by way of example only. Certain embodiments may vary from these exemplary details and are still considered to be within the scope of the present invention.
상기의 기재는 설명을 위한 것이며 한정을 위한 것이 아님이 이해될 것이다. 그 밖의 다른 많은 실시예가 본 기재를 읽고 이해한 후 해당 분양의 통상의 기술자에게 자명할 것이다. 따라서 본 실시예의 범위는 이하의 청구범위와 이러한 청구범위가 동반하는 균등예의 전체 범위를 참조하여 결정되어야 한다.It is to be understood that the foregoing description is for the purpose of explanation and not limitation. Many other embodiments will be apparent to those skilled in the art after reading and understanding this description. Accordingly, the scope of the present embodiment should be determined with reference to the following claims and the full scope of equivalents accompanying these claims.
Claims (19)
하나 이상의 프로세서, 및
상기 하나 이상의 프로세서에 의한 실행 시, 상기 컴퓨팅 시스템으로 하여금 기능들을 행하게 하는 명령을 저장하는 컴퓨터 판독형 매체를 포함하고,
상기 기능들은,
제1 비디오 프레임 내의 제1 위치들에 각각 대응하는 제1 픽셀 값들을 포함하는 제1 비디오 프레임에 액세스하는 기능,
제2 위치들을 식별하는 제1 지문 레이아웃에 근거하여 상기 제1 비디오 프레임 내의 제2 위치들에 각각 대응하는 제2 픽셀 값들을 선택하는 기능 ― 상기 제1 픽셀 값들은 상기 제2 픽셀 값들 및 상기 제2 픽셀 값들에 포함되지 않은 적어도 하나의 픽셀 값을 포함하고, 상기 제1 위치들은 상기 제2 위치들 및 (a) 상기 제2 위치들에 포함되지 않고 (b) 상기 적어도 하나의 픽셀 값에 대응하는 적어도 하나의 위치를 포함함 ― ,
상기 제2 픽셀 값들을 처리함으로써 상기 제1 비디오 프레임을 식별하는 제1 지문 파일을 생성하는 기능,
상기 제1 지문 파일이 제2 비디오 프레임을 식별하는 제2 지문 파일과 매칭됨을 결정하는 기능,
상기 제1 비디오 프레임이 상기 제2 비디오 프레임과 매칭됨을 지시하는 데이터를 저장하는 기능,
제3 위치들을 식별하는 제2 지문 레이아웃에 근거하여 상기 제1 비디오 프레임 내의 제3 위치들에 각각 대응하는 제3 픽셀 값들을 선택하는 기능 ― 상기 제1 픽셀 값들은 상기 제3 픽셀 값들 및 상기 제3 픽셀 값들에 포함되지 않은 적어도 하나의 추가 픽셀 값을 포함하고, 상기 제1 위치들은 상기 제3 위치들 및 (a) 상기 제3 위치들에 포함되지 않고 (b) 적어도 하나의 추가 픽셀 값에 대응하는 적어도 하나의 위치를 포함함 ― ,
상기 제3 픽셀 값들을 처리함으로써 상기 제1 비디오 프레임을 식별하는 제3 지문 파일을 생성하는 기능, 및
상기 제3 지문 파일이 데이터베이스에 저장된 어떠한 지문 파일과도 매칭되지 않음을 결정하는 기능을 포함하고,
상기 제1 지문 파일을 생성하는 기능은 상기 제3 지문 파일이 데이터베이스에 저장된 어떠한 지문 파일과도 매칭되지 않음을 결정하는 것에 응답하여 상기 제1 지문 파일을 생성하는 기능을 포함하는, 컴퓨팅 시스템.A computing system comprising:
one or more processors, and
a computer-readable medium storing instructions that, when executed by the one or more processors, cause the computing system to perform functions;
The functions are
the ability to access a first video frame comprising first pixel values each corresponding to first positions within the first video frame;
selecting second pixel values respectively corresponding to second locations within the first video frame based on a first fingerprint layout identifying second locations, wherein the first pixel values include the second pixel values and the second location. at least one pixel value not included in the two pixel values, wherein the first locations correspond to the second locations and (a) not included in the second locations and (b) the at least one pixel value contains at least one position where -
generating a first fingerprint file identifying the first video frame by processing the second pixel values;
determining that the first fingerprint file matches a second fingerprint file identifying a second video frame;
a function of storing data indicating that the first video frame matches the second video frame;
the function of selecting third pixel values respectively corresponding to third positions in the first video frame based on a second fingerprint layout identifying third positions, the first pixel values being the third pixel values and the second at least one additional pixel value not included in the three pixel values, wherein the first positions are at the third positions and (a) not included in the third positions and (b) at least one additional pixel value. contains at least one corresponding position —
generating a third fingerprint file identifying the first video frame by processing the third pixel values; and
a function of determining that the third fingerprint file does not match any fingerprint file stored in a database;
and generating the first fingerprint file comprises generating the first fingerprint file in response to determining that the third fingerprint file does not match any fingerprint file stored in a database.
상기 제1 비디오 프레임에 액세스하는 기능은 미디어 장치로부터 상기 제1 비디오 프레임을 수신하는 기능을 포함하는, 컴퓨팅 시스템.According to claim 1,
wherein the function of accessing the first video frame comprises the function of receiving the first video frame from a media device.
상기 기능들은,
미디어 콘텐츠와 상기 제1 비디오 프레임 사이의 연관에 근거하여 상기 미디어 콘텐츠를 선택하는 기능, 및
상기 미디어 콘텐츠를 재생하도록 명령을 상기 미디어 장치에 송신하는 기능을 더 포함하는, 컴퓨팅 시스템.3. The method of claim 2,
The functions are
selecting the media content based on an association between the media content and the first video frame; and
and sending instructions to the media device to play the media content.
상기 제2 픽셀 값들은 밝기 값들을 포함하고, 상기 제2 픽셀 값들을 처리함으로써 상기 제1 지문 파일을 생성하는 기능은 상기 밝기 값들을 처리함으로써 상기 제1 지문 파일을 생성하는 기능을 포함하는, 컴퓨팅 시스템.According to claim 1,
wherein the second pixel values include brightness values, and the function of generating the first fingerprint file by processing the second pixel values comprises the function of generating the first fingerprint file by processing the brightness values. system.
상기 밝기 값들을 처리하는 것은,
상기 밝기 값들의 제1 밝기 값이 상기 밝기 값들의 제2 밝기 값보다 크거나 작은지의 여부를 결정하는 것, 및
상기 결정에 근거하여 상기 제1 지문 파일을 생성하는 것을 포함하는, 컴퓨팅 시스템.5. The method of claim 4,
Processing the brightness values is:
determining whether a first brightness value of the brightness values is greater than or less than a second brightness value of the brightness values; and
and generating the first fingerprint file based on the determination.
상기 기능들은, 상기 제1 지문 파일이 상기 제2 지문 파일과 매칭됨을 결정하기에 앞서, 상기 제2 지문 파일을 생성하는 기능을 더 포함하는, 컴퓨팅 시스템.According to claim 1,
The functions further include generating the second fingerprint file prior to determining that the first fingerprint file matches the second fingerprint file.
상기 제1 비디오 프레임은 4개의 모서리 영역들을 포함하는 직사각형 비디오 프레임이고, 상기 제2 위치들에 포함되지 않은 적어도 하나의 위치는 상기 4개의 모서리 영역들 중 하나 이상을 포함하는, 컴퓨팅 시스템.According to claim 1,
wherein the first video frame is a rectangular video frame comprising four corner regions, and wherein at least one position not included in the second positions comprises one or more of the four corner regions.
상기 제1 비디오 프레임은 (i) 직사각형 비디오 프레임의 좌측 에지로부터 상기 직사각형 비디오 프레임의 우측 에지에 이르는 상부 영역 및 (ii) 상기 좌측 에지로부터 상기 우측 에지에 이르는 하부 영역을 포함하는 직사각형 비디오 프레임이고, 상기 제2 위치들에 포함되지 않은 적어도 하나의 위치는 상기 하부 영역을 포함하는, 컴퓨팅 시스템.According to claim 1,
wherein the first video frame is a rectangular video frame comprising (i) an upper region from a left edge of the rectangular video frame to a right edge of the rectangular video frame and (ii) a lower region from the left edge to the right edge; and at least one location not included in the second locations includes the sub-region.
상기 제1 비디오 프레임은 (i) 직사각형 비디오 프레임의 좌측 에지로부터 상기 직사각형 비디오 프레임의 우측 에지에 이르는 상부 영역 및 (ii) 상기 좌측 에지로부터 상기 우측 에지에 이르는 하부 영역을 포함하는 직사각형 비디오 프레임이고, 상기 제2 위치들에 포함되지 않은 적어도 하나의 위치는 상기 상부 영역을 포함하는, 컴퓨팅 시스템.According to claim 1,
wherein the first video frame is a rectangular video frame comprising (i) an upper region from a left edge of the rectangular video frame to a right edge of the rectangular video frame and (ii) a lower region from the left edge to the right edge; and at least one location not included in the second locations comprises the upper region.
하나 이상의 프로세서, 및
상기 하나 이상의 프로세서에 의한 실행 시, 상기 컴퓨팅 시스템으로 하여금 기능들을 행하게 하는 명령을 저장하는 컴퓨터 판독형 매체를 포함하고,
상기 기능들은,
제1 비디오 프레임 내의 제1 위치들에 각각 대응하는 제1 픽셀 값들을 포함하는 제1 비디오 프레임에 액세스하는 기능,
제2 위치들을 식별하는 지문 레이아웃에 근거하여 상기 제1 비디오 프레임 내의 제2 위치들에 각각 대응하는 제2 픽셀 값들을 선택하는 기능 ― 상기 제1 픽셀 값들은 상기 제2 픽셀 값들 및 상기 제2 픽셀 값들에 포함되지 않은 적어도 하나의 픽셀 값을 포함하고, 상기 제1 위치들은 상기 제2 위치들 및 (a) 상기 제2 위치들에 포함되지 않고 (b) 상기 적어도 하나의 픽셀 값에 대응하는 적어도 하나의 위치를 포함함 ― ,
상기 제2 픽셀 값들을 처리함으로써 상기 제1 비디오 프레임을 식별하는 제1 지문 파일을 생성하는 기능,
상기 제1 지문 파일이 제2 비디오 프레임을 식별하는 제2 지문 파일과 매칭됨을 결정하는 기능, 및
상기 제1 비디오 프레임이 상기 제2 비디오 프레임과 매칭됨을 지시하는 데이터를 저장하는 기능을 포함하고,
상기 제2 픽셀 값들은 밝기 값들을 포함하고, 상기 제2 픽셀 값들을 처리함으로써 상기 제1 지문 파일을 생성하는 기능은 상기 밝기 값들을 처리함으로써 상기 제1 지문 파일을 생성하는 기능을 포함하고,
상기 밝기 값들을 처리하는 것은,
상기 밝기 값들의 제1 그룹에 대한 제1 평균 밝기 값 및 상기 밝기 값들의 제2 그룹에 대한 제2 평균 밝기 값을 계산하는 것,
상기 제1 평균 밝기 값이 상기 제2 평균 밝기 값보다 크거나 작은지의 여부를 결정하는 것, 및
상기 결정에 근거하여 상기 제1 지문 파일을 생성하는 것을 포함하는, 컴퓨팅 시스템.A computing system comprising:
one or more processors, and
a computer-readable medium storing instructions that, when executed by the one or more processors, cause the computing system to perform functions;
The functions are
the ability to access a first video frame comprising first pixel values each corresponding to first positions within the first video frame;
selecting second pixel values each corresponding to second locations within the first video frame based on a fingerprint layout identifying second locations, wherein the first pixel values are the second pixel values and the second pixel at least one pixel value not included in the values, wherein the first locations are at least corresponding to the second locations and (a) not included in the second locations and (b) the at least one pixel value. contains one location ― ,
generating a first fingerprint file identifying the first video frame by processing the second pixel values;
determining that the first fingerprint file matches a second fingerprint file identifying a second video frame, and
a function of storing data indicating that the first video frame matches the second video frame;
the second pixel values include brightness values, and the function of generating the first fingerprint file by processing the second pixel values includes the function of generating the first fingerprint file by processing the brightness values;
Processing the brightness values is:
calculating a first average brightness value for the first group of brightness values and a second average brightness value for the second group of brightness values;
determining whether the first average brightness value is greater than or less than the second average brightness value; and
and generating the first fingerprint file based on the determination.
상기 제1 지문 파일은 상기 제1 평균 밝기 값이 상기 제2 평균 밝기 값보다 크거나 작은지의 여부를 지시하는 수들의 시퀀스를 포함하는, 컴퓨팅 시스템.11. The method of claim 10,
wherein the first fingerprint file comprises a sequence of numbers indicating whether the first average brightness value is greater than or less than the second average brightness value.
하나 이상의 프로세서, 및
상기 하나 이상의 프로세서에 의한 실행 시, 상기 컴퓨팅 시스템으로 하여금 기능들을 행하게 하는 명령을 저장하는 컴퓨터 판독형 매체를 포함하고,
상기 기능들은,
제1 비디오 프레임 내의 제1 위치들에 각각 대응하는 제1 픽셀 값들을 포함하는 제1 비디오 프레임에 액세스하는 기능,
제2 위치들을 식별하는 지문 레이아웃에 근거하여 상기 제1 비디오 프레임 내의 제2 위치들에 각각 대응하는 제2 픽셀 값들을 선택하는 기능 ― 상기 제1 픽셀 값들은 상기 제2 픽셀 값들 및 상기 제2 픽셀 값들에 포함되지 않은 적어도 하나의 픽셀 값을 포함하고, 상기 제1 위치들은 상기 제2 위치들 및 (a) 상기 제2 위치들에 포함되지 않고 (b) 상기 적어도 하나의 픽셀 값에 대응하는 적어도 하나의 위치를 포함함 ― ,
상기 제2 픽셀 값들을 처리함으로써 상기 제1 비디오 프레임을 식별하는 제1 지문 파일을 생성하는 기능,
상기 제1 지문 파일이 제2 비디오 프레임을 식별하는 제2 지문 파일과 매칭됨을 결정하는 기능, 및
상기 제1 비디오 프레임이 상기 제2 비디오 프레임과 매칭됨을 지시하는 데이터를 저장하는 기능을 포함하고,
상기 제1 비디오 프레임은 (i) 직사각형 비디오 프레임의 좌측 에지로부터 상기 직사각형 비디오 프레임의 우측 에지에 이르는 상부 영역 및 (ii) 상기 좌측 에지로부터 상기 우측 에지에 이르는 하부 영역을 포함하는 직사각형 비디오 프레임이고, 상기 제2 위치들에 포함되지 않은 적어도 하나의 위치는 상기 하부 영역을 포함하고,
상기 제2 픽셀 값들은 상기 상부 영역의 제1 행의 부분들 및 상기 하부 영역과 상기 제1 행 사이인 상기 상부 영역의 제2 행의 부분들에 각각 대응하는, 컴퓨팅 시스템.A computing system comprising:
one or more processors, and
a computer-readable medium storing instructions that, when executed by the one or more processors, cause the computing system to perform functions;
The functions are
the ability to access a first video frame comprising first pixel values each corresponding to first positions within the first video frame;
selecting second pixel values each corresponding to second locations within the first video frame based on a fingerprint layout identifying second locations, wherein the first pixel values are the second pixel values and the second pixel at least one pixel value not included in the values, wherein the first locations are at least corresponding to the second locations and (a) not included in the second locations and (b) the at least one pixel value. contains one location ― ,
generating a first fingerprint file identifying the first video frame by processing the second pixel values;
determining that the first fingerprint file matches a second fingerprint file identifying a second video frame, and
a function of storing data indicating that the first video frame matches the second video frame;
wherein the first video frame is a rectangular video frame comprising (i) an upper region from a left edge of the rectangular video frame to a right edge of the rectangular video frame and (ii) a lower region from the left edge to the right edge; At least one location not included in the second locations includes the lower region,
and the second pixel values correspond to portions of the first row of the upper region and portions of the second row of the upper region that are between the lower region and the first row, respectively.
하나 이상의 프로세서, 및
상기 하나 이상의 프로세서에 의한 실행 시, 상기 컴퓨팅 시스템으로 하여금 기능들을 행하게 하는 명령을 저장하는 컴퓨터 판독형 매체를 포함하고,
상기 기능들은,
제1 비디오 프레임 내의 제1 위치들에 각각 대응하는 제1 픽셀 값들을 포함하는 제1 비디오 프레임에 액세스하는 기능,
제2 위치들을 식별하는 지문 레이아웃에 근거하여 상기 제1 비디오 프레임 내의 제2 위치들에 각각 대응하는 제2 픽셀 값들을 선택하는 기능 ― 상기 제1 픽셀 값들은 상기 제2 픽셀 값들 및 상기 제2 픽셀 값들에 포함되지 않은 적어도 하나의 픽셀 값을 포함하고, 상기 제1 위치들은 상기 제2 위치들 및 (a) 상기 제2 위치들에 포함되지 않고 (b) 상기 적어도 하나의 픽셀 값에 대응하는 적어도 하나의 위치를 포함함 ― ,
상기 제2 픽셀 값들을 처리함으로써 상기 제1 비디오 프레임을 식별하는 제1 지문 파일을 생성하는 기능,
상기 제1 지문 파일이 제2 비디오 프레임을 식별하는 제2 지문 파일과 매칭됨을 결정하는 기능, 및
상기 제1 비디오 프레임이 상기 제2 비디오 프레임과 매칭됨을 지시하는 데이터를 저장하는 기능을 포함하고,
상기 제1 비디오 프레임은 (i) 직사각형 비디오 프레임의 좌측 에지로부터 상기 직사각형 비디오 프레임의 우측 에지에 이르는 상부 영역 및 (ii) 상기 좌측 에지로부터 상기 우측 에지에 이르는 하부 영역을 포함하는 직사각형 비디오 프레임이고, 상기 제2 위치들에 포함되지 않은 적어도 하나의 위치는 상기 하부 영역을 포함하고,
상기 제2 픽셀 값들은 상기 직사각형 비디오 프레임의 상부 에지로부터 상기 하부 영역에 이르는 상부 영역의 일 행의 부분들에 각각 대응하는, 컴퓨팅 시스템. A computing system comprising:
one or more processors, and
a computer-readable medium storing instructions that, when executed by the one or more processors, cause the computing system to perform functions;
The functions are
the ability to access a first video frame comprising first pixel values each corresponding to first positions within the first video frame;
selecting second pixel values each corresponding to second locations within the first video frame based on a fingerprint layout identifying second locations, wherein the first pixel values are the second pixel values and the second pixel at least one pixel value not included in the values, wherein the first locations are at least corresponding to the second locations and (a) not included in the second locations and (b) the at least one pixel value. contains one location ― ,
generating a first fingerprint file identifying the first video frame by processing the second pixel values;
determining that the first fingerprint file matches a second fingerprint file identifying a second video frame, and
a function of storing data indicating that the first video frame matches the second video frame;
wherein the first video frame is a rectangular video frame comprising (i) an upper region from a left edge of the rectangular video frame to a right edge of the rectangular video frame and (ii) a lower region from the left edge to the right edge; At least one location not included in the second locations includes the lower region,
and the second pixel values each correspond to portions of a row of an upper region extending from an upper edge of the rectangular video frame to the lower region.
하나 이상의 프로세서, 및
상기 하나 이상의 프로세서에 의한 실행 시, 상기 컴퓨팅 시스템으로 하여금 기능들을 행하게 하는 명령을 저장하는 컴퓨터 판독형 매체를 포함하고,
상기 기능들은,
제1 비디오 프레임 내의 제1 위치들에 각각 대응하는 제1 픽셀 값들을 포함하는 제1 비디오 프레임에 액세스하는 기능,
제2 위치들을 식별하는 지문 레이아웃에 근거하여 상기 제1 비디오 프레임 내의 제2 위치들에 각각 대응하는 제2 픽셀 값들을 선택하는 기능 ― 상기 제1 픽셀 값들은 상기 제2 픽셀 값들 및 상기 제2 픽셀 값들에 포함되지 않은 적어도 하나의 픽셀 값을 포함하고, 상기 제1 위치들은 상기 제2 위치들 및 (a) 상기 제2 위치들에 포함되지 않고 (b) 상기 적어도 하나의 픽셀 값에 대응하는 적어도 하나의 위치를 포함함 ― ,
상기 제2 픽셀 값들을 처리함으로써 상기 제1 비디오 프레임을 식별하는 제1 지문 파일을 생성하는 기능,
상기 제1 지문 파일이 제2 비디오 프레임을 식별하는 제2 지문 파일과 매칭됨을 결정하는 기능, 및
상기 제1 비디오 프레임이 상기 제2 비디오 프레임과 매칭됨을 지시하는 데이터를 저장하는 기능을 포함하고,
상기 제1 비디오 프레임은 (i) 직사각형 비디오 프레임의 좌측 에지로부터 상기 직사각형 비디오 프레임의 우측 에지에 이르는 상부 영역 및 (ii) 상기 좌측 에지로부터 상기 우측 에지에 이르는 하부 영역을 포함하는 직사각형 비디오 프레임이고, 상기 제2 위치들에 포함되지 않은 적어도 하나의 위치는 상부 영역을 포함하고,
상기 제2 픽셀 값들은 상기 하부 영역의 제1 행의 부분들 및 상기 상부 영역과 제1 행 사이인 상기 하부 영역의 제2 행의 부분들에 각각 대응하는, 컴퓨팅 시스템.A computing system comprising:
one or more processors, and
a computer-readable medium storing instructions that, when executed by the one or more processors, cause the computing system to perform functions;
The functions are
the ability to access a first video frame comprising first pixel values each corresponding to first positions within the first video frame;
selecting second pixel values each corresponding to second locations within the first video frame based on a fingerprint layout identifying second locations, wherein the first pixel values are the second pixel values and the second pixel at least one pixel value not included in the values, wherein the first locations are at least corresponding to the second locations and (a) not included in the second locations and (b) the at least one pixel value. contains one location ― ,
generating a first fingerprint file identifying the first video frame by processing the second pixel values;
determining that the first fingerprint file matches a second fingerprint file identifying a second video frame, and
a function of storing data indicating that the first video frame matches the second video frame;
wherein the first video frame is a rectangular video frame comprising (i) an upper region from a left edge of the rectangular video frame to a right edge of the rectangular video frame and (ii) a lower region from the left edge to the right edge; At least one location not included in the second locations includes an upper region,
and the second pixel values correspond to portions of a first row of the lower region and portions of a second row of the lower region between the upper region and the first row, respectively.
하나 이상의 프로세서, 및
상기 하나 이상의 프로세서에 의한 실행 시, 상기 컴퓨팅 시스템으로 하여금 기능들을 행하게 하는 명령을 저장하는 컴퓨터 판독형 매체를 포함하고,
상기 기능들은,
제1 비디오 프레임 내의 제1 위치들에 각각 대응하는 제1 픽셀 값들을 포함하는 제1 비디오 프레임에 액세스하는 기능,
제2 위치들을 식별하는 지문 레이아웃에 근거하여 상기 제1 비디오 프레임 내의 제2 위치들에 각각 대응하는 제2 픽셀 값들을 선택하는 기능 ― 상기 제1 픽셀 값들은 상기 제2 픽셀 값들 및 상기 제2 픽셀 값들에 포함되지 않은 적어도 하나의 픽셀 값을 포함하고, 상기 제1 위치들은 상기 제2 위치들 및 (a) 상기 제2 위치들에 포함되지 않고 (b) 상기 적어도 하나의 픽셀 값에 대응하는 적어도 하나의 위치를 포함함 ― ,
상기 제2 픽셀 값들을 처리함으로써 상기 제1 비디오 프레임을 식별하는 제1 지문 파일을 생성하는 기능,
상기 제1 지문 파일이 제2 비디오 프레임을 식별하는 제2 지문 파일과 매칭됨을 결정하는 기능, 및
상기 제1 비디오 프레임이 상기 제2 비디오 프레임과 매칭됨을 지시하는 데이터를 저장하는 기능을 포함하고,
상기 제1 비디오 프레임은 (i) 직사각형 비디오 프레임의 좌측 에지로부터 상기 직사각형 비디오 프레임의 우측 에지에 이르는 상부 영역 및 (ii) 상기 좌측 에지로부터 상기 우측 에지에 이르는 하부 영역을 포함하는 직사각형 비디오 프레임이고, 상기 제2 위치들에 포함되지 않은 적어도 하나의 위치는 상기 상부 영역을 포함하고,
상기 제2 픽셀 값들은 상기 직사각형 비디오 프레임의 하부 에지로부터 상기 상부 영역에 이르는 상기 하부 영역의 일 행의 부분들에 각각 대응하는, 컴퓨팅 시스템.A computing system comprising:
one or more processors, and
a computer-readable medium storing instructions that, when executed by the one or more processors, cause the computing system to perform functions;
The functions are
the ability to access a first video frame comprising first pixel values each corresponding to first positions within the first video frame;
selecting second pixel values each corresponding to second locations within the first video frame based on a fingerprint layout identifying second locations, wherein the first pixel values are the second pixel values and the second pixel at least one pixel value not included in the values, wherein the first locations are at least corresponding to the second locations and (a) not included in the second locations and (b) the at least one pixel value. contains one location ― ,
generating a first fingerprint file identifying the first video frame by processing the second pixel values;
determining that the first fingerprint file matches a second fingerprint file identifying a second video frame, and
a function of storing data indicating that the first video frame matches the second video frame;
wherein the first video frame is a rectangular video frame comprising (i) an upper region from a left edge of the rectangular video frame to a right edge of the rectangular video frame and (ii) a lower region from the left edge to the right edge; At least one location not included in the second locations includes the upper region,
and the second pixel values respectively correspond to portions of a row of the lower region extending from the lower edge of the rectangular video frame to the upper region.
제1 비디오 프레임 내의 제1 위치들에 각각 대응하는 제1 픽셀 값들을 포함하는 제1 비디오 프레임에 액세스하는 단계,
제2 위치들을 식별하는 제1 지문 레이아웃에 근거하여 상기 제1 비디오 프레임 내의 제2 위치들에 각각 대응하는 제2 픽셀 값들을 선택하는 단계 ― 상기 제1 픽셀 값들은 상기 제2 픽셀 값들 및 상기 제2 픽셀 값들에 포함되지 않은 적어도 하나의 픽셀 값을 포함하고, 상기 제1 위치들은 상기 제2 위치들 및 (a) 상기 제2 위치들에 포함되지 않고 (b) 상기 적어도 하나의 픽셀 값에 대응하는 적어도 하나의 위치를 포함함 ― ,
상기 제2 픽셀 값들을 처리함으로써 상기 제1 비디오 프레임을 식별하는 제1 지문 파일을 생성하는 단계,
상기 제1 지문 파일이 제2 비디오 프레임을 식별하는 제2 지문 파일과 매칭됨을 결정하는 단계,
상기 제1 비디오 프레임이 상기 제2 비디오 프레임과 매칭됨을 지시하는 데이터를 저장하는 단계,
제3 위치들을 식별하는 제2 지문 레이아웃에 근거하여 상기 제1 비디오 프레임 내의 제3 위치들에 각각 대응하는 제3 픽셀 값들을 선택하는 단계 ― 상기 제1 픽셀 값들은 상기 제3 픽셀 값들 및 상기 제3 픽셀 값들에 포함되지 않은 적어도 하나의 추가 픽셀 값을 포함하고, 상기 제1 위치들은 상기 제3 위치들 및 (a) 상기 제3 위치들에 포함되지 않고 (b) 상기 적어도 하나의 추가 픽셀 값에 대응하는 적어도 하나의 위치를 포함함 ― ,
상기 제3 픽셀 값들을 처리함으로써 상기 제1 비디오 프레임을 식별하는 제3 지문 파일을 생성하는 단계, 및
상기 제3 지문 파일이 데이터베이스에 저장된 어떠한 지문 파일과도 매칭되지 않음을 결정하는 단계를 포함하고,
상기 제1 지문 파일을 생성하는 단계는 상기 제3 지문 파일이 상기 데이터베이스에 저장된 어떠한 지문 파일과도 매칭되지 않음을 결정하는 것에 응답하여 상기 제1 지문 파일을 생성하는 단계를 포함하는, 방법.As a method,
accessing a first video frame comprising first pixel values each corresponding to first positions within the first video frame;
selecting second pixel values each corresponding to second locations within the first video frame based on a first fingerprint layout identifying second locations, wherein the first pixel values include the second pixel values and the second location. at least one pixel value not included in the two pixel values, wherein the first locations correspond to the second locations and (a) not included in the second locations and (b) the at least one pixel value contains at least one position where -
generating a first fingerprint file identifying the first video frame by processing the second pixel values;
determining that the first fingerprint file matches a second fingerprint file identifying a second video frame;
storing data indicating that the first video frame matches the second video frame;
selecting third pixel values each corresponding to third positions in the first video frame based on a second fingerprint layout identifying third positions, the first pixel values being the third pixel values and the second pixel values at least one additional pixel value not included in the three pixel values, wherein the first positions are not included in the third positions and (a) the third positions and (b) the at least one additional pixel value contains at least one position corresponding to − ,
generating a third fingerprint file identifying the first video frame by processing the third pixel values; and
determining that the third fingerprint file does not match any fingerprint file stored in a database;
wherein generating the first fingerprint file comprises generating the first fingerprint file in response to determining that the third fingerprint file does not match any fingerprint file stored in the database.
상기 제2 픽셀 값들은 밝기 값들을 포함하고, 상기 제2 픽셀 값들을 처리함으로써 제1 지문 파일을 생성하는 단계는 상기 밝기 값들을 처리함으로써 상기 제1 지문 파일을 생성하는 단계를 포함하는, 방법.17. The method of claim 16,
wherein the second pixel values include brightness values, and generating the first fingerprint file by processing the second pixel values comprises generating the first fingerprint file by processing the brightness values.
상기 밝기 값들을 처리하는 것은,
상기 밝기 값들의 제1 밝기 값이 상기 밝기 값들의 제2 밝기 값보다 크거나 작은지의 여부를 결정하는 것, 및
상기 결정에 근거하여 상기 제1 지문 파일을 생성하는 것을 포함하는, 방법.18. The method of claim 17,
Processing the brightness values is:
determining whether a first brightness value of the brightness values is greater than or less than a second brightness value of the brightness values; and
and generating the first fingerprint file based on the determination.
상기 기능들은,
제1 비디오 프레임 내의 제1 위치들에 각각 대응하는 제1 픽셀 값들을 포함하는 제1 비디오 프레임에 액세스하는 기능,
제2 위치들을 식별하는 제1 지문 레이아웃에 근거하여 상기 제1 비디오 프레임 내의 제2 위치들에 각각 대응하는 제2 픽셀 값들을 선택하는 기능 ― 상기 제1 픽셀 값들은 상기 제2 픽셀 값들 및 상기 제2 픽셀 값들에 포함되지 않은 적어도 하나의 픽셀 값을 포함하고, 상기 제1 위치들은 상기 제2 위치들 및 (a) 상기 제2 위치들에 포함되지 않고 (b) 상기 적어도 하나의 픽셀 값에 대응하는 적어도 하나의 위치를 포함함 ― ,
상기 제2 픽셀 값들을 처리함으로써 상기 제1 비디오 프레임을 식별하는 제1 지문 파일을 생성하는 기능,
상기 제1 지문 파일이 제2 비디오 프레임을 식별하는 제2 지문 파일과 매칭됨을 결정하는 기능,
상기 제1 비디오 프레임이 상기 제2 비디오 프레임과 매칭됨을 지시하는 데이터를 저장하는 기능,
제3 위치들을 식별하는 제2 지문 레이아웃에 근거하여 상기 제1 비디오 프레임 내의 제3 위치들에 각각 대응하는 제3 픽셀 값들을 선택하는 기능 ― 상기 제1 픽셀 값들은 상기 제3 픽셀 값들 및 상기 제3 픽셀 값들에 포함되지 않은 적어도 하나의 추가 픽셀 값을 포함하고, 상기 제1 위치들은 상기 제3 위치들 및 (a) 상기 제3 위치들에 포함되지 않고 (b) 상기 적어도 하나의 추가 픽셀 값에 대응하는 적어도 하나의 위치를 포함함 ― ,
상기 제3 픽셀 값들을 처리함으로써 상기 제1 비디오 프레임을 식별하는 제3 지문 파일을 생성하는 기능, 및
상기 제3 지문 파일이 데이터베이스에 저장된 어떠한 지문 파일과도 매칭되지 않음을 결정하는 기능을 포함하고,
상기 제1 지문 파일을 생성하는 기능은 상기 제3 지문 파일이 상기 데이터베이스에 저장된 어떠한 지문 파일과도 매칭되지 않음을 결정하는 것에 응답하여 상기 제1 지문 파일을 생성하는 기능을 포함하는, 비-일시적 컴퓨터 판독형 매체.A non-transitory computer-readable medium storing instructions that, when executed by a computing system, cause the computing system to perform functions, comprising:
The functions are
the ability to access a first video frame comprising first pixel values each corresponding to first positions within the first video frame;
selecting second pixel values respectively corresponding to second locations within the first video frame based on a first fingerprint layout identifying second locations, wherein the first pixel values include the second pixel values and the second location. at least one pixel value not included in the two pixel values, wherein the first locations correspond to the second locations and (a) not included in the second locations and (b) the at least one pixel value contains at least one position where -
generating a first fingerprint file identifying the first video frame by processing the second pixel values;
determining that the first fingerprint file matches a second fingerprint file identifying a second video frame;
a function of storing data indicating that the first video frame matches the second video frame;
the function of selecting third pixel values respectively corresponding to third positions in the first video frame based on a second fingerprint layout identifying third positions, the first pixel values being the third pixel values and the second at least one additional pixel value not included in the three pixel values, wherein the first positions are not included in the third positions and (a) the third positions and (b) the at least one additional pixel value contains at least one position corresponding to − ,
generating a third fingerprint file identifying the first video frame by processing the third pixel values; and
a function of determining that the third fingerprint file does not match any fingerprint file stored in a database;
wherein the function of generating the first fingerprint file comprises generating the first fingerprint file in response to determining that the third fingerprint file does not match any fingerprint file stored in the database. computer readable media.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662309366P | 2016-03-16 | 2016-03-16 | |
US15/243,658 | 2016-08-22 | ||
US15/243,658 US10063917B2 (en) | 2016-03-16 | 2016-08-22 | Fingerprint layouts for content fingerprinting |
PCT/US2017/021690 WO2018038766A1 (en) | 2016-03-16 | 2017-03-09 | Fingerprint layouts for content fingerprinting |
KR1020197007862A KR102173417B1 (en) | 2016-03-16 | 2017-03-09 | Fingerprint layout for content intellectual culture |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197007862A Division KR102173417B1 (en) | 2016-03-16 | 2017-03-09 | Fingerprint layout for content intellectual culture |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200126020A KR20200126020A (en) | 2020-11-05 |
KR102263897B1 true KR102263897B1 (en) | 2021-06-15 |
Family
ID=76432811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207031093A KR102263897B1 (en) | 2016-03-16 | 2017-03-09 | Fingerprint layouts for content fingerprinting |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102263897B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120117584A1 (en) | 2010-11-01 | 2012-05-10 | Gordon Donald F | Method and System for Presenting Additional Content at a Media System |
US20140236988A1 (en) | 2013-01-07 | 2014-08-21 | Gracenote, Inc. | Video fingerprinting |
-
2017
- 2017-03-09 KR KR1020207031093A patent/KR102263897B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120117584A1 (en) | 2010-11-01 | 2012-05-10 | Gordon Donald F | Method and System for Presenting Additional Content at a Media System |
US20140236988A1 (en) | 2013-01-07 | 2014-08-21 | Gracenote, Inc. | Video fingerprinting |
Also Published As
Publication number | Publication date |
---|---|
KR20200126020A (en) | 2020-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102258407B1 (en) | Fingerprint layouts for content fingerprinting | |
US11064238B2 (en) | Sequentially overlaying media content | |
KR101993913B1 (en) | Frequency capping for media content | |
US9906831B2 (en) | Fingerprinting media content using hashing | |
US20190387266A1 (en) | Content Comparison Testing on Linear Media Streams | |
KR102263897B1 (en) | Fingerprint layouts for content fingerprinting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |