KR101501378B1 - 비디오 스트리밍을 위한 방법 및 장치 - Google Patents

비디오 스트리밍을 위한 방법 및 장치 Download PDF

Info

Publication number
KR101501378B1
KR101501378B1 KR1020130121287A KR20130121287A KR101501378B1 KR 101501378 B1 KR101501378 B1 KR 101501378B1 KR 1020130121287 A KR1020130121287 A KR 1020130121287A KR 20130121287 A KR20130121287 A KR 20130121287A KR 101501378 B1 KR101501378 B1 KR 101501378B1
Authority
KR
South Korea
Prior art keywords
video
video stream
client application
arbitration module
result
Prior art date
Application number
KR1020130121287A
Other languages
English (en)
Other versions
KR20140047553A (ko
Inventor
스리람 삼파쓰쿠마란
헬무트 노이만
에릭 얌
승욱 홍
탄메이 아그니호트리
Original Assignee
소니 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 주식회사 filed Critical 소니 주식회사
Publication of KR20140047553A publication Critical patent/KR20140047553A/ko
Application granted granted Critical
Publication of KR101501378B1 publication Critical patent/KR101501378B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/96Management of image or video recognition tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation 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
    • H04N21/4316Generation 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 for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/441Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card
    • H04N21/4415Acquiring 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Business, Economics & Management (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Psychiatry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Social Psychology (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

장치 및 방법은 비디오 스트림뿐만 아니라 비디오 스트림에 관한 데이터를 출력 장치에 제공하기 위해 클라이언트 애플리케이션에 제공되며, 데이터는 클라이언트 애플리케이션 계층보다 더 낮은 계층에 수행되는 프로세스로부터 생성된다. 이것에 의해, 다수의 클라이언트 애플리케이션들은 하위 레벨 프로세스에 의해 생성되는 데이터를 동시에 이용할 수 있는 한편, 적어도 하나의 클라이언트 애플리케이션은 출력 장치에 비디오 스트림의 스트리밍을 달성할 수 있다.

Description

비디오 스트리밍을 위한 방법 및 장치{METHOD AND APPARATUS FOR VIDEO STREAMING}
본 발명은 일반적으로 비디오 스트리밍에 관한 것으로, 특히 클라이언트 애플리케이션들에 응답하는 비디오 스트리밍에 관한 것이다.
클라이언트 애플리케이션들은 고정식 또는 이동식인 현대의 전자 장치들, 특히 스마트 장치들에 광범위하게 사용된다. 이 클라이언트 애플리케이션들은 비디오 스트림에 관한 데이터가 출력되는 것에 더하여 비디오 스트림이 출력 장치(디스플레이와 같음)에 출력되는 것을 종종 필요로 할 수 있다. 비디오 디스플레이에 관한 그러한 데이터가 다른 클라이언트 애플리케이션들에 유용하면, 클라이언트 애플리케이션 계층보다 더 낮고 전자 장치의 운영 체제 내의 모든 또는 대부분의 클라이언트 애플리케이션들에 이용가능한 계층에서 기능 자원을 생성하여 비디오 스트림에 관한 데이터를 생성하는데 요구되는 기능 처리를 수행하는 것이 유익할 수 있다. 이 프로세스를 다수의 클라이언트 애플리케이션들에 이용가능한 자원으로 함으로써, 각각의 개별 클라이언트 애플리케이션에 의해 착수되는 반복 처리가 감소된다.
현재, 안드로이드TM과 같은 인기있는 운영 체제들은 다수의 클라이언트 애플리케이션들이 다양한 하드웨어 자원들을 동시에 요구하는 것을 허용하지 않는다. 예를 들어, 단 하나의 클라이언트 애플리케이션은 카메라 자원을 동시에 이용할 수 있다. 이것은 클라이언트 애플리케이션이 비디오 스트림을 카메라로부터 출력 장치로 제공할 뿐만 아니라 상기 논의된 기능 자원에 의해 생성되는 그 비디오 스트림에 관한 부가 데이터를 제공하는 것이 가능하지 않을 수 있다는 점에서 제한적이다. 이것은 운영 체제가 클라이언트 애플리케이션 또는 기능 자원을 허용하지만, 둘 다가 카메라 자원에 액세스하는 것을 허용하지 않기 때문이다. 따라서, 클라이언트 애플리케이션은 기능 자원으로부터 비디오 스트림만 또는 비디오 스트림에 관한 데이터만을 제공하지만, 둘 다를 동시에 제공할 수 없다.
게다가, 그러한 인기있는 운영 체제들은 하나의 클라이언트 애플리케이션이 다른 클라이언트 애플리케이션의 그래픽스 영역에 간단히 들어오는 것을 허용하지 않는다는 점에서 제한적이다. 그렇다면, 여기서 제공된 것과 상이한 해결법은 클라이언트 애플리케이션이 다른 클라이언트 애플리케이션 또는 기능 자원의 그래픽스 영역에 간단히 들어와서 그것이 전달하기를 원할 수 있는 임의의 시각 데이터를 전달할 수 있었다는 점에서 가능할 수 있다.
따라서, 상술한 원하는 기능성을 허용하는 시스템 아키텍처를 제공하는 것이 유익할 것이다.
본 발명의 수개의 실시예들은 방법 및 장치를 제공함으로써 상기 요구들뿐만 아니라 다른 요구들을 유리하게 처리하여 중재 모듈이 클라이언트 애플리케이션으로부터 비디오 스트림에 대한 요청, 비디오 스트림 상에 수행되는 프로세스의 결과들에 대한, 및 비디오 스트림을 스트리밍하는 비디오 평면 내의 지정된 위치를 수신하는 단계를 포함하는 방법을 수행한다. 중재 모듈은 또한 비디오 스트림을 중재 모듈에서 수신하고 프로세스를 비디오 스트림 상에 수행하여 결과들을 생성한다. 게다가, 중재 모듈은 비디오 스트림, 프로세스의 결과들, 및 비디오 스트림을 스트리밍하는 비디오 평면 내의 지정된 위치를 출력한다.
방법은 비디오 파이프라인 요소가 비디오 스트림 및 지정된 위치를 수신하고 반응적으로 비디오 스트림을 지정된 위치에서 비디오 평면에 스트리밍함으로써 계속된다. 방법은 클라이언트 애플리케이션이 부가 생성된 시각 정보뿐만 아니라 비디오 평면에 대한 액세스 및 비디오 스트림 상에 수행되는 프로세스의 결과들에 대한 액세스를 출력 장치에 제공함으로써 더 계속된다.
따라서, 이 방법 및 장치에 의해, 클라이언트 애플리케이션은 비디오 스트림뿐만 아니라 기능 자원에 의해 생성되는 비디오 스트림에 관한 데이터 둘 다를 출력 장치에 제공하는 것이 가능하다.
본 발명의 수개의 실시예들의 상기 및 다른 양상들, 특징들 및 장점들은 이하의 도면들과 함께 제공되는 그의 이하의 더 상세한 설명으로부터 더 분명해질 것이다.
도 1은 적어도 하나의 실시예에 따른 방법을 수행하기 위해 구성되는 장치의 블록도이다.
도 2는 다양한 실시예들에 따른 도 1의 장치의 맥락 예에 대한 도면이다.
도 3은 다양한 실시예들에 따른 도 1의 장치의 예시적 출력 이미지를 예시한다.
도 4는 적어도 하나의 실시예에 따른 도 3의 예시적 출력 이미지의 상세한 변형이다.
도 5는 적어도 하나의 실시예에 따른 도 3의 예시적 출력 이미지의 부가 상세한 변형이다.
대응하는 참조 부호들은 도면들 중 수개의 도면들 도처에서 대응하는 구성요소들을 표시한다. 숙력된 기술자들은 도면들 내의 요소들이 단순화 및 명료화를 위해 예시되고 반드시 축척에 따라 도시되지 않는다는 점을 이해할 것이다. 예를 들어, 도면들 내의 요소들의 일부의 치수들은 본 발명의 다양한 실시예들의 이해를 향상시키는데 도움이 되도록 다른 요소들에 비례하여 과장될 수 있다. 또한, 상업적으로 실행가능한 실시예에 유용하거나 필요해지는 공통이지만 잘 이해된 요소들은 본 발명의 이 다양한 실시예들의 덜 방해된 시야를 가능하게 하기 위해 종종 도시되지 않는다.
이하의 설명은 제한적 의미로 해석되어야 하는 것이 아니라, 단지 예시적 실시예들의 일반적 원리들을 설명할 목적으로 이루어진다. 본 발명의 범위는 청구항들을 참조하여 결정되어야 한다.
본 명세서 도처에서 "일 실시예", "하나의 실시예", 또는 유사한 언어에 대한 참조는 실시예와 관련하여 설명되는 특정 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함되는 것을 의미한다. 따라서, 본 명세서 도처에서 "일 실시예에서", "하나의 실시예에서", 및 유사한 언어의 구들의 출현들은 동일한 실시예를 모두 지칭할 수 있지만, 반드시 지칭하는 것은 아니다.
더욱이, 본 발명의 설명된 특징들, 구조들, 또는 특성들은 하나 이상의 실시예들에서 임의의 적절한 방식으로 결합될 수 있다. 이하의 설명에서, 본 발명의 실시예들의 완전한 이해를 제공하기 위해 프로그래밍, 소프트웨어 모듈들, 사용자(203) 선택들, 네트워크 트랜잭션들, 데이터베이스 질의들, 데이터베이스 구조들, 하드웨어 모듈들, 하드웨어 회로들, 하드웨어 칩들 등의 예들과 같은 다수의 특정 상세들이 제공된다. 그러나, 당업자는 특정 상세들 중 하나 이상을 갖지 않거나, 또는 다른 방법들, 구성요소들, 재료들 등을 가지고 본 발명이 실시될 수 있다는 점을 인식할 것이다. 다른 경우들에서, 공지된 구조들, 재료들, 또는 동작들은 본 발명의 양상들의 모호함을 회피하기 위해 도시되지 않거나 상세히 설명되지 않는다.
우선 도 1을 참조하면, 다양한 실시예들에 따른 방법을 수행하도록 구성되는 장치(100)의 블록도가 도시된다. 장치(100)는 예를 들어, 인텔TM 프로세서 또는 마블TM ARM 프로세서, 메모리, 광 저장 장치, 및 다양한 인터페이스들과 같은 적어도 하나의 컴퓨팅 장치 또는 처리 장치를 포함한다. 장치(100)는 적어도 하나의 클라이언트 애플리케이션(101), 중재 모듈(102), 비디오 파이프라인 요소(103), 비디오 평면(104), 및 출력 장치(105)를 더 포함한다. 다른 실시예들에 의해, 장치(100)는 카메라(106), 카메라 엔진(107), 및 디코드 요소(108)를 포함할 수도 있다. 게다가, 일부 실시예들에 의해, 중재 모듈(102)은 내추럴 입력 엔진(109)을 더 포함할 수 있으며, 중재 모듈은 얼굴 검출 엔진(110)을 심지어 더 포함할 수 있다. 이 다양한 모듈들 및 요소들은 개별적으로, 서로 결합하여, 또는 공지되거나 공지되지 않은 다른 요소들과 결합하여, 본 기술분야에서 이해되는 바와 같은 비디오파이프라인을 포함할 수 있다. 비디오 파이프라인 방식은 특정 실시예들에서 비디오 및/또는 오디오 표현을 사용자에게 또는 다른 소프트웨어 또는 하드웨어 요소, 또는 그 자체에 초래할 수 있다.
클라이언트 애플리케이션(101)은 중재 모듈(102) 및 출력 장치(105)에 결합된다. 중재 모듈(102)은 비디오 파이프라인 요소(103)에 결합되고 비디오 스트림(111)을, 선택적으로 카메라(106) 및/또는 카메라 엔진(107)으로부터 수신하도록 구성된다. 비디오 파이프라인 요소(103)는 선택적으로 디코드 요소(108)를 통해 비디오 평면에 결합된다. 차례로, 비디오 평면(104)은 출력 장치(105)에 결합된다.
클라이언트 애플리케이션(101)은 본 기술분야에 공지되고 이해되는 바와 같은 임의의 타입의 클라이언트 애플리케이션(101)일 수 있다. 도시된 클라이언트 애플리케이션(101)은 복수의 클라이언트 애플리케이션들(101)의 수집을 나타낼 수 있고, 중재 모듈(102), 출력 장치(105), 비디오 파이프라인 요소(103), 또는 비디오 평면(104)을 수용하는 동일한 또는 상이한 처리 장치 또는 컴퓨팅 장치 상에 존재하거나 실행될 수 있다. 클라이언트 애플리케이션(101)은 선택적으로 본 기술분야에서 잘 이해되는 바와 같이, 유선 또는 무선인 네트워크 연결을 통해 중재 모듈(102)에 결합될 수 있는 원격 위치에 실행되거나 저장될 수 있다. 클라이언트 애플리케이션(101)은 안드로이드TM, 리룩스, Apple® OS, Microsoft® 등을 포함하는 임의의 수의 공지된 운영 체제들에 실행되도록 설계될 수 있다. 안드로이드TM 애플리케이션들은 통상 안드로이드TM 소프트웨어 개발 키트를 사용하여 자바 또는 C 프로그래밍 언어로 개발되지만, 다른 개발 도구들 및 언어들이 통상 사용된다. Apple® 애플리케이션들은 통상 iOS SDK(Software Development Kit) 또는 iPhone® SDK를 사용하여 개발된다. 공지되어 있는 바와 같은 다른 스타일들 및 포맷들의 클라이언트 애플리케이션들(101)이 존재할 수 있고, 일부 실시예들에 의해, 장치(100) 또는 장치의 일부와 호환될 수 있다.
중재 모듈(102)은 다른 목적들 중에서, 복수의 클라이언트 애플리케이션들(클라이언트 애플리케이션(101)과 같음)과 복수의 자원들(즉, 카메라(106) 자원 또는 기능 자원) 사이의 통신을 허용하여 그의 자원들의 사용을 다수의 클라이언트 애플리케이션들(101)에 의해 동시에 허용하도록 구성된다. 게다가, 중재 모듈(102)은 적어도 하나의 프로세스를 비디오 스트림(111) 상에 수행하여 적어도 하나의 프로세스의 결과들을 생성하도록 더 구성될 수 있다. 본 명세서에 개시된 것과 유사한 중재 모듈은 발명의 명칭이 "Client Application and Resource Arbitration"이고, 2011년 10월 31일자로 출원된 공유 미국 특허 출원 번호 제13/285,121호에 설명되어 있으며, 그의 내용들은 본 명세서에 참고문헌으로 포함되어 있다.
일부 실시예들에 의해, 중재 모듈(102)은 프로세스를 비디오 스트림(111) 상에 수행하여 비디오 스트림(111)에 존재할 수 있는 하나 이상의 내추럴 입력들을 검출 또는 결정하도록 구성되는 내추럴 입력 엔진(109)을 더 포함할 수 있다. 게다가 다른 실시예들에 의해, 내추럴 입력 엔진(109)은 프로세스를 비디오 스트림(111)에서 수행하여 적어도 하나의 얼굴을 비디오 스트림(111)에서 검출하고 그 얼굴의 적어도 하나의 양상(즉, 사람의 신원 또는 사람의 나이)을 결정하도록 구성되는 얼굴 검출 엔진(110)을 더 포함할 수 있다. 일 실시예에 의해, 적어도 하나의 얼굴은 인간의 얼굴을 포함한다.
도 2를 간단히 참조하면, 비제한적 맥락 예는 내추럴 입력들에 관하여 제공된다. 도 2는 여기서 텔레비전, 컴퓨터 디스플레이와 같은 디스플레이(201), 또는 다른 공지된 디스플레이(201)로 도시되는 출력 장치(105)를 포함하는 장치(100)를 예시한다. 디스플레이(201)는 장치(100)로 동작되거나, 디스플레이(201)와 관계없이 또는 디스플레이와 함께 장치(100)로 동작되는 다른 장치(도시되지 않음)에 결합된다. 카메라(106)는 장치(100)에 부착되어 장면의 이미지들을 디스플레이(201)의 정면에서 캡처하고 대응하는 비디오 스트림(111)을 제공한다. 또 다른 실시예에 의해, 마이크로폰(202) 또는 다른 감지 장치(202)(동작 검출기, 광 검출기, 온도 센서, 적외선 센서, 초음파 센서, 가속도계, 또는 다른 공지된 검출기들 또는 센서들과 같음)는 또한 장치(100)에 연결될 수 있다. 사용자(203)는 장치(100)의 디스플레이(201)에 서 있는 것으로 도시된다. 디스플레이(201)는 사용자(203)가 보도록 상호작용 메뉴들, 가이드들, 멀티미디어, 또는 다른 프로그래밍을 출력하고 있을 수 있다. 사용자(203)는 종래의 원격 제어를 사용하는 대신에, 내추럴 입력을 사용하여 장치(100)와 상호작용할 수 있다. 예를 들어, 사용자(203)는 손 제스처(204)(도 2에 도시된 바와 같음)로 하여금 채널을 변경하거나, 볼륨을 변경하거나, 또는 그렇지 않으면 장치(100)와 상호작용하게 할 수 있다. 카메라(106)는 이 제스처(204)의 비디오를 캡처하여 그것을 비디오 스트림(111)을 통해 내추럴 입력 엔진(109)에 송신하며, 그 후에 제스처(204)를 특정 명령어 또는 동작에 대응하는 것으로서 인식한다(즉, 채널을 변경함). 그 다음, 내추럴 입력 엔진(109)은 중재 모듈(102)을 통해, 이 제스처(204) 명령의 수신을 중재 규칙들에 기초하여 그러한 명령들을 수신할 시에 관심있는 임의의 클라이언트 애플리케이션(101) 또는 자원에 전달할 수 있다. 대안적으로, 사용자(203)는 마이크로폰(202)에 의해 감지되고 내추럴 입력 엔진(109)에 의해 해석되는 사운드를 명령으로서 구성할 수 있으며, 명령은 그 후에 클라이언트 애플리케이션들(101) 또는 자원들에 전달될 수도 있다. 따라서, 내추럴 입력들은 사용자(203)에 의해 사용되어 장치(100)를 제어할 수 있다.
게다가, 도 3을 간단히 참조하면, 얼굴 검출 엔진(110)의 동작에 대응하는 출력 이미지(300)의 비제한 맥락 예가 도시된다. 도 2와 같이, 카메라(106)는 장면을 디스플레이(201)의 정면에서 캡처하며, 어떤 비디오 스트림(111)은 중재 모듈(102) 내의 얼굴 검출 엔진(110)에 공급된다. 얼굴 검출 엔진(110)은 얼굴들(301)(다른 내추럴 입력임)을 검출하여 얼굴들(301)의 적어도 하나의 양상을 결정한다. 도 3에 도시된 바와 같이, 각각의 사람의 신원 및 나이(각각의 얼굴(301)에 의해 식별됨)를 검출하기 위해 얼굴 검출 엔진(110)이 이용된다. 그 후에, 얼굴 검출 엔진(110)은 얼굴들(301)에 관한 정보를 그러한 정보를 요청하는 임의의 클라이언트 애플리케이션(101) 또는 자원에 송신할 수 있었다. 예를 들어, 차일드 로크 애플리케이션은 미성년자가 존재할 때 성인 등급 콘텐츠의 보기를 제한하는 차일드 로크 클라이언트 애플리케이션을 규정하도록 이 내추럴 입력 얼굴 검출 정보를 요청할 수 있었다. 다른 예로서, 프로파일 애플리케이션은 이 내추럴 입력 얼굴 검출 정보를 사용하여 좋아하는 채널 설정들을 자동으로 검색할 수 있었다.
도 1로 돌아가면, 스테이지, 스텝, 또는 필터로도 칭해지는 비디오 파이프라인 요소(103)는 디코더, 멀티플렉서, 디멀티플렉서, 스플리터, 컴바이너, 또는 임의의 다른 공지된 또는 공지되지 않은 비디오 파이프라인 요소(103)를 포함할 수 있다. 비디오 파이프라인 요소(103)는 단일 요소, 스테이지, 스텝, 또는 필터일 수 있거나, 다수의 요소들, 스테이지들, 스텝들, 및/또는 필터들의 결합일 수 있다. 비디오 파이프라인 요소(103)는 소프트웨어 또는 하드웨어로 구현될 수 있지만, 소프트웨어 구현은 가장 일반적이며, 그것은 표준 소프트웨어 또는 내장 소프트웨어이다.
일 실시예에 의해, 비디오 파이프라인 요소(103)는 지스트리머 요소, 또는 지스트리머 비디오 파이프라인 프레임워크와 호환되는 요소이고, 지스트리머 비디오 파이프라인 또는 지스트리머-호환 비디오 파이프라인의 일부이다. 본 기술분야에서 이해되는 바와 같이, 지스트리머는 설계자들이 다양한 종류들의 멀티미디어 애플리케이션들을 생성하는 것을 허용하는 파이프라인 기반 멀티미디어 프레임워크이다. 가장 자주, 지스트리머는 개방 소스이고, C 프로그래밍 언어로 기록되며, 지오브젝트(GObject)에 기초한 타입 시스템을 이용한다.
또 다른 실시예에 의해, 비디오 파이프라인 요소(103)는 오픈맥스TM 요소, 또는 오픈맥스TM 비디오 파이프라인 프레임워크와 호환되는 요소이고, 오픈맥스TM 비디오 파이프라인 또는 오픈맥스TM-호환 비디오 파이프라인의 일부이다. Microsoft® 다이렉트쇼 및 Apple® 코어 비디오를 포함하는, 다른 비디오 파이프라인 요소들 또는 비디오 파이프라인 프레임워크들이 또한 가능하다.
렌더러로도 이해되는 디코드 요소(108)는 압축된(또는 압축되지 않은) 비디오를 색 공간으로 렌더링할 수 있다. 일 실시예에 의해, 디코드 요소(108)는 RGB 포맷 디코드 요소(도 1에 표시된 바와 같음)를 포함할 수 있다. RGB 플러스 알파 블렌딩, YUV, HSL/HLS(hue saturation lightness), 및 HSV(hue saturation value)와 같은 디코드 요소(108)의 동작, 또는 다른 공지된 색 또는 블랙 및 화이트 색 공간 표현들을 위한 다른 가능성들이 존재한다.
비디오 평면(104)은 적어도 일부 클라이언트 애플리케이션들(101)에 액세스가능한 비디오 계층 또는 비디오 표면이다. 이 클라이언트 애플리케이션들(101)은 차례로 비디오 평면(104)의 콘텐츠를 출력 장치(105)에 전송, 플립, 또는 렌더링할 수 있다. 출력 장치(105)는 디스플레이(201), 하드 드라이브, 메모리, 네트워크 출력, 전화, 태블릿, PC, 또는 본 명세서에 설명되는 바와 같은 비디오 스트림(111)을 출력, 저장, 또는 그렇지 않으면 이용할 수 있는 임의의 다른 장치를 포함할 수 있다.
일부 실시예들에 의해, 클라이언트 애플리케이션(101), 출력 장치(105), 카메라(106), 및 카메라 엔진(107)는 안드로이드TM과 같은 운영 체제 내에 상주한다. 다른 실시예들에 의해, 중재 모듈(102), 비디오 파이프라인 요소(103), 선택적 디코드 요소(108), 및 비디오 평면(104)은 장치(100)의 네이티브 계층에 상주한다. 따라서, 중재 모듈(102)은 운영 체제 레벨 내의 클라이언트 애플리케이션들(101)이 네이티브 계층에 이용가능한 자원들을 요구하는 것을 허용하고, 역으로 네이티브 계층 자원들이 운영 체제 레벨 내에 배치되는 자원들 또는 애플리케이션들을 요구하는 것을 허용한다.
그렇게 구성되면 장치(100)는 비디오 스트림(111) 및 비디오 스트림에 관한 정보를 제공하는 방법을 수행할 수 있게 된다. 프로세스들이 중재 모듈(102) 내의 비디오 스트림(111) 상에(즉, 내추럴 입력 엔진(109) 및/또는 얼굴 검출 엔진(110)을 통해) 수행되는 것에 관하여 상술한 바와 같이, 이 프로세스들에 의해 생성되는 정보 또는 결과들을 이용하는 다수의 클라이언트 애플리케이션들(101) 및 자원들이 있을 수 있다. 따라서, 클라이언트 애플리케이션(101) 또는 자원을 각각 요청하는 계산들 및 처리를 반복하는 것보다는 오히려 그의 다수의 클라이언트 애플리케이션들(101) 및 자원들에 의해 호출되어 프로세스의 결과들에 액세스할 수 있는 액세스가능 기능 자원을 제공하는 것이 유익하다. 그러나, 이 클라이언트 애플리케이션들(101)의 일부는 출력 장치(105)에 스트리밍되도록, 비디오 스트림(111), 또는 그의 수정된 변형을 필요로 할 수도 있다. 안드로이드TM과 같은 다양하게 공지된 운영 체제들에 존재하는 제한들 때문에, 다수의 클라이언트 애플리케이션들(101) 또는 기능 자원들은 동일한 하드웨어 자원(카메라(106) 자원과 같음)에 동시에 액세스할 수 없으며, 동일한 하드웨어 자원은 클라이언트 애플리케이션(101) 및 기능 자원 둘 다가 비디오 스트림(111)을 동시에 수신하는 것을 방해한다. 따라서, 비디오 스트림(111)의 디스플레이를 필요로 하고 비디오 스트림에 관한 데이터를 필요로 하는 클라이언트 애플리케이션(101)은 비디오 스트림(111)을 수신하고 프로세스 자체를 수행하여 프로세스의 결과들을 클라이언트 애플리케이션 레벨에서 생성해야 할 것이다. 이것은 프로세스를 네이티브 레벨에서 수행하는 것보다 더 느리다. 게다가, 이 상황에서, 클라이언트 애플리케이션(101)은 기능 자원이 비디오 스트림(111)을 수신하는 것보다는 오히려 비디오 스트림(111)을 수신하기 때문에, 다른 클라이언트 애플리케이션들은 비디오 스트림(111) 상에 수행되는 프로세스의 결과들에 동시에 액세스하는 것이 방해된다.
그러한 단점들을 개선하기 위해, 장치(100)에 의해 선택적으로 수행되는 이하의 방법이 제공된다. 도 1을 참조하면, 일 실시예에 의해, 방법은 클라이언트 애플리케이션(101)이 비디오 스트림(111)에 대한 요청, 비디오 스트림(111) 상에 수행되는 적어도 하나의 프로세스의 결과들에 대한 요청, 및 비디오 스트림(111)을 스트리밍하는 비디오 평면(104) 내의 지정된 위치에 관한 명령어들(화살표(112)에 의해 집합적으로 표시됨)을 중재 모듈(102)에 송신하는 단계(및 중재 모듈(102)이 차례로 클라이언트 애플리케이션으로부터 수신하는 단계)를 포함한다. 일 실시예에 의해, 비디오 스트림(111)에 대한 요청은 비디오 스트림(111)을 클라이언트 애플리케이션(101) 자체에 라기 보다는 오히려 출력 장치(105)에 스트리밍하는 요청을 포함할 수 있다. 하나의 맥락 예에 의해, 그것은 카메라(106)에 의해 캡처되는 비디오 스트림(111)을 사용자(203)에 의해 실시간 보기를 위한 디스플레이(201) 또는 다른 출력 장치(105)에 디스플레이하는 요청일 수 있다.
비디오 스트림(111) 상에 수행되는 프로세스의 결과들에 대한 요청은 예를 들어 상술한 내추럴 입력 엔진(109) 및/또는 얼굴 검출 엔진(110)에 수행되는 것들과 같은 비디오 스트림(111) 상에 수행되는 하위 레벨 프로세스들 또는 기능들에 의해 생성되는 정보에 대한 요청일 수 있다. 예를 들어, 클라이언트 애플리케이션(101)은 비디오 스트림(111) 내에서 어떤 사람의 신원들 또는 나이들을 요청할 수 있으며, 어떤 그러한 정보는 얼굴 검출 엔진(110)에 의해 생성된다. 게다가, 요청은 그의 결과들 또는 그의 결과들의 일부를 클라이언트 애플리케이션(101)에서 수신하는 요청(화살표(113)에 의해 표시됨)일 수 있다. 유사하게, 요청은 결과들을 클라이언트 애플리케이션(101)에 송신하는 것없이 또는 송신하는 것에 더하여 그의 결과들 또는 그의 결과들의 일부를 출력 장치(105)에 출력하는 요청일 수 있다.
비디오 스트림(111)을 스트리밍하는 비디오 평면(104) 내의 지정된 위치에 관한 명령어들은 중재 모듈(102)에 위치, 크기, 배향, 또는 비디오 평면(104)에 비디오 스트림(111)의 렌더링에 관한 다른 상세들을 표시한다. 이 위치 정보는 좌표들, 이미지 오프셋 정보, 픽셀 치수들, 또는 위치를 비디오 평면(104) 내에 표시하기 위해 사용되는 다른 위치 데이터를 포함할 수 있다. 그것은 비디오 스트림(111)의 표현을 비디오 평면(104)으로 리사이즈, 크롭, 확장, 회전, 또는 그렇지 않으면 변경하기 위해 사용될 수 있는 크기 또는 치수 정보를 포함할 수도 있다. 더욱이, 위치 정보는 중복 비디오 스트림들 또는 비디오 스트림(111)의 섹션 부분들에 대응할 수 있는 복수의 위치들 또는 크기들을 포함할 수 있다. 게다가, 위치 정보는 시간에 따라 변할 수 있고 클라이언트 애플리케이션(101)에 의해 실시간으로 갱신될 수 있다(예를 들어, 클라이언트 애플리케이션(101)은 비디오 스트림(111)이 스트리밍되고 있는 페이지를 따라 스크롤하거나 비디오 스트림(111)에 대한 새로운 위치를 갖는 상이한 페이지로 변경되면).
중재 모듈(102)은 상기 식별된 요청들 및 명령어들(화살표(112)에 표시됨)과 함께 비디오 스트림(111)을 수신한다. 일 실시예에 의해, 비디오 스트림(111)은 카메라(106) 또는 카메라 엔진(107)에서 나온다. 카메라(106)는 장면을 디스플레이(201) 또는 다른 출력 장치(105)의 정면에서 캡처할 수 있다(도 2에 도시된 바와 같음). 중재 모듈(102)은 상기 논의된 바와 같이, 적어도 하나의 프로세스를 비디오 스트림(111) 상에 수행하여 적어도 하나의 프로세스의 요청된 결과들을 생성한다. 예를 들어, 요청된 결과들은 내추럴 입력들 및/또는 얼굴 검출에 관련될 수 있으며, 일 실시예에 의해, 중재 모듈(102)은 프로세스를 수행하여 비디오 스트림(111)에 존재하는 적어도 하나의 내추럴 입력(제스처(204) 또는 얼굴(301)과 같음)을 식별, 인식, 또는 결정하는 내추럴 입력 엔진(109)을 포함한다. 게다가, 또 다른 실시예에 의해, 중재 모듈(102) 또는 내추럴 입력 엔진(109)은 적어도 하나의 얼굴(301)을 비디오 스트림(111)에서 식별하거나 또는 그렇지 않으면 비디오 스트림(111)에 존재하는 적어도 하나의 얼굴(301)에 관련되는 적어도 하나의 양상을 결정하는 얼굴 검출 엔진(110)을 포함한다. 이 예시적 프로세스들 및 처리 엔진들은 제한적 의미로 해석되지 않아야 하고 가능한 요청 프로세스들 및 처리 엔진들의 맥락 예들로서만 제공된다. 제스처(204) 검출, 사운드 검출, 모션 검출, 얼굴 검출, 얼굴 식별, 얼굴 표현 검출, 나이 인식, 객체 식별, 장면 검출, 텍스트 인식, 및 다양한 엔진들과 같은 많은 다른 프로세스들은 이 프로세스들을 수행하기 위해 비디오 스트림(111) 상에 수행될 수 있으며, 그의 모두는 인스턴스 애플리케이션에 의해 충분히 고려된다.
중재 모듈(102)은 비디오 스트림(111) 상에 수행되는 프로세스의 결과들을 생성한 후에, 중재 모듈(102)은 결과들을 출력한다. 일 실시예에 의해, 프로세스의 결과들 또는 결과들의 일부는 화살표(113)에 의해 표시된 바와 같은 클라이언트 애플리케이션에 의해 수신된다. 또 다른 실시예에 의해, 결과들 또는 결과들의 일부는 클라이언트 애플리케이션(101)이 결과들(화살표(115) 내의 화살표(114)에 의해 표현되며, 이는 아래에 직접 논의됨)을 수신하는 것없이 또는 수신하는 것에 더하여 비디오 파이프라인 요소(103)에 의해 수신될 수 있다.
중재 모듈(102)은 비디오 스트림(111) 및 비디오 스트림(111)을 스트리밍하는 비디오 평면(104) 내의 지정된 위치(화살표(115)에 의해 집합적으로 표현됨)를 출력할 수 있으며, 이들은 비디오 파이프라인 요소(103)에 의해 수신된다. 비디오 파이프라인 요소(103)는 수신된 지정 위치 데이터에 따라(즉, 지정된 위치 또는 표시된 크기 등에서) 비디오 스트림(111)을 비디오 평면(104) 내의 지정된 위치(화살표들(116 및 117)에 의해 표시됨)에 응답적으로 스트리밍한다. 일부 실시예들에 의해, 비디오 파이프라인 요소(103)는 비디오 스트림(111)을 비디오 평면(104) 내의 지정된 위치에 스트리밍하기 위해 협력하는 디코드 요소(108) 및/또는 다른 요소들과 같은 비디오 파이프라인 프레임워크 내의 다수의 요소들을 포함할 수 있다.
비디오 스트림(111)을 포함하는 비디오 평면(104)이 클라이언트 애플리케이션(101)(또는 다른 클라이언트 애플리케이션들)에 의한 사용에 이용가능한 경우, 클라이언트 애플리케이션(101)은 출력 장치(105)(디스플레이(201)와 같음)에 비디오 평면(104)에 대한 액세스(화살표(118)에 의해 표시됨)를 제공한다. 게다가, 클라이언트 애플리케이션(101)은 출력 장치(105)에 클라이언트 애플리케이션에 의해 생성되거나 클라이언트 애플리케이션에 적절한 부가 시각 정보(화살표(119)에 의해 표시됨)를 제공할 수 있다. 일 실시예에 의해, 이 부가 시각 정보는 그래픽스, 텍스트, 또는 비디오 평면(104)의 상단에 중첩되는 그래픽 계층에 존재하는 다른 이미지를 포함할 수 있다(그러나, 일부 실시예들에서, 그래픽 계층은 비디오 평면 아래에 존재할 수 있음). 이 그래픽스는 비디오 스트림(111)을 표현하거나 또는 비디오 스트림(111)에 관련되거나 관련되지 않은 정보를 제공하는데 도움을 주기 위해 클라이언트 애플리케이션(101)의 사용자 인터페이스의 일부 또는 이미지들, 텍스트, 또는 데이터일 수 있다. 이 실시예에서, 클라이언트 애플리케이션(101)은 비디오 평면(104)과 결합되도록(즉, 비디오 평면에 걸쳐 놓여지거나, 비디오 평면의 상단에 투사되거나, 또는 그렇지 않으면 비디오 평면과 평평하게 되도록) 그래픽 계층의 적어도 일부, 또는 전부를 출력 장치(105)에 출력할 수 있다(119).
일 실시예에 의해, 클라이언트 애플리케이션(101)은 하나 이상의 보이드들(305)(도 3-도 5 참조)을 그래픽스 계층, 또는 그래픽스 평면에 생성하거나 남길 수 있으며, 그래픽스 평면은 하위 레벨에 존재하는 비디오 평면(104)의 부분들이 그래픽스 계층을 통해 보여지는 것을 허용한다. 이 보이드들(305)은 비디오 평면(104) 내의 비디오 스트림(111)의 지정된 위치에 직접 또는 거의 대응할 수 있다. 그렇게 구성되면, 출력 장치(105)에 제공되거나 출력 장치에 의해 제공되는 최종 출력 이미지(예시적 출력 이미지(300)와 같음)는 클라이언트 애플리케이션(101)에 의해 제공되는(119) 그래픽스 계층 내의 시각 정보 및 그래픽스 계층 내의 하나 이상의 보이드들(305) 내의 비디오 스트림(111) 둘 다를 포함할 수 있다. 최종 결과는 단일 통합 소스(예시적 출력 이미지(300)와 같음)의 출현을 제공하는 2개의 계층들을 균일하게 결합하는 최종 이미지이다.
또 다른 실시예에 의해, 클라이언트 애플리케이션(101)은 또한 출력 장치(105)에 비디오 스트림(111) 상에 수행되는 프로세스의 결과들 또는 결과들에 관한 정보의 액세스를 제공한다. 결과들 또는 결과들에 관한 정보의 이러한 액세스는 다양한 실시예들에 따른 다수의 방법들에 제공될 수 있다. 이 실시예들을 더 잘 이해하기 위해, 이 다양한 실시예들에 따른 출력 이미지들(300)의 비제한 맥락 예들을 제공하는 도 3, 도 4, 및 도 5가 참조된다.
전술된 바와 같이, 도 3은 출력 장치(105)에서 출력될 수 있는 바와 같은 예시적 출력 이미지(300)를 예시한다. 이러한 제한되지 않는 예에서, 디스플레이(201)(도 2에 도시된 바와 같은 텔레비전과 같음)의 정면에 배치되는 시청자들의 얼굴들(301)을 식별하고 정보를 디스플레이(201) 상에 제공하기 위해 "시청자 자동 검출" 클라이언트 애플리케이션이 호출될 수 있다. 일부 실시예들에 의해, 그래픽 템플레이트는 스크린의 일부를 커버할 수 있고 솔리드 컬러(블루 또는 그레이와 같음), 배경 이미지, 또는 텍스트, 다른 애니메이션들, 또는 다른 정보가 제공될 수 있는 애니메이션을 제공할 수 있다. 클라이언트 애플리케이션(101)의 타이틀(303)은 상단 또는 다른 곳에 나타날 수 있고, 내비게이션 버튼들(예시적 출력 이미지(300)의 하단에 도시되는 "메뉴", "편집 프로파일", 및 "종료" 버튼들과 같음)(304)은 스크린 상에 제공될 수 있다. 적어도 하나의 실시예에 의해, 상술한 그래픽스 및 텍스트는 클라이언트 애플리케이션(101)에 의해 생성되고 출력 장치(105)에 제공되는 부가 시각 정보를 포함할 수 있다.
부가 실시예에서, 클라이언트 애플리케이션(101)은 비디오 스트림(111) 상에 수행되는 프로세스의 결과들의 적어도 일부를 중재 모듈(102)에 의해 수신할 수 있다(도 1 내의 화살표(113)에 의해 표시된 바와 같음). 이 수신된 정보의 경우, 클라이언트 애플리케이션(101)은 수신된 결과들의 적어도 하나의 시각 표현을 생성하고 그 시각 표현을 출력 장치(105)에 제공할 수 있다(119). 시각 표현은 클라이언트 애플리케이션(101)에 의해 출력 장치(105)에 또한 제공되는(119) 부가 시각 정보(즉, 배경, 텍스트, 타이틀, 및 메뉴 버튼들)의 일부로서 제공되고(119) 부가 시각 정보로부터 분리될 수 있다. 게다가, 클라이언트 애플리케이션(101)은 비디오 평면(104)에 존재하는 비디오 스트림(111)이 보여질 수 있는 보이드(305)를 생성하거나 남길 것이다.
도 3의 맥락 예에서, 수신된 결과들 또는 수신된 결과들에 관계된 정보의 생성된 시각 표현(306)은 시청자들의 식별된 명칭들(307) 및 그의 각각의 나이들(308)로 도시되지만, 식별된 얼굴들(301)에 관한 임의의 종류의 정보 또는 데이터는 인식 확실성의 퍼센트 및 각각의 얼굴(301)의 프로파일 정보와 같은 수신된 결과들의 시각 표현(306)으로 제공될 수 있었다. 이 정보 아이템들은 중재 모듈(102)에서 발생되고 클라이언트 애플리케이션(101)에 결과들로서 송신될 수 있었거나, 결과들은 간단히 식별된 얼굴(301)에 관한 다양한 정보 아이템들을 검색하기 위해 클라이언트 애플리케이션(101)이 이 때 사용할 수 있는 식별(번호 또는 다른 지시자와 같음)일 수 있었다. 그 다음, 이 정보 아이템들은 텍스트 또는 다른 이미지로 변환되거나, 수신된 결과들의 시각 표현(306)이거나 수신된 결과들에 관련된다.
또 다른 실시예에 의해, 및 도 3의 맥락 예를 계속하면, 비디오 스트림(111) 상에 수행되는 프로세스의 결과들은 검출된 얼굴들(301)의 비디오 스트림(111) 내의 위치들을 포함할 수도 있다. 이 정보는 도 1의 화살표(113)에 의해 표시된 바와 같이, 또한 클라이언트 애플리케이션(101)에 송신될 수 있다. 이 수신된 결과들의 시각 표현(306)의 일부로서, 클라이언트 애플리케이션(101)은 식별된 얼굴들(301)을 둘러싸고 비디오 스트림(111) 내의 얼굴들(301)의 위치와 박스들(309) 위치를 실시간으로 조정하는 그래픽 박스들(309)을 생성할 수 있다. 그 다음, 이 그래픽 박스들(309)은 비디오 스트림(111)이 비디오 평면(104)으로부터 추가될 때, 그래픽 박스들(309)이 도 3에 도시된 바와 같은 얼굴들(301)에 걸쳐 나타나도록 적절한 위치에서 보이드(305) 내의 그래픽 계층에 배치될 수 있다.
도 4는 이 실시예에 따른 도 3의 예시적 출력 이미지(300)의 상세한 변형을 도시한다. 클라이언트 애플리케이션(101)에 의해 제공되는 그래픽 계층(401)은 부가 시각 정보(배경(302), 타이틀(303), 및 내비게이션 버튼들(304)과 같음)뿐만 아니라 비디오 스트림(111) 상에 수행되는 프로세스의 결과들의 생성된 시각 표현(306)도 포함한다. 이 예에서, 결과들의 시각 표현(306)은 얼굴들(301)에 대응하는 명칭들(307), 각각의 나이들(308), 및 그래픽 박스들(309)을 포함한다. 그래픽 계층(401)은 또한 적어도 하나의 보이드(305)를 포함한다. 비디오 스트림(111)을 포함하는 비디오 평면(104)이 그래픽 계층(401) 아래에 추가될 때, 출력 이미지(300)는 도 3에 도시된 바와 같은 단일 결합 이미지(300)로 나타난다.
또 다른 실시예에 의해, 중재 모듈(102)은 결과들의 적어도 하나의 시각 표현(306)을 중재 모듈에서 생성함으로써 비디오 스트림(111) 상에 수행되는 프로세스의 결과들, 또는 결과들의 일부를 출력하며, 그 후에 어떤 시각 표현(306)은 비디오 스트림(111)이 중재 모듈로부터 출력되기 전에 비디오 스트림(111)에 추가된다. 이것에 의해, 비디오 파이프라인 요소(103)는 도 1의 화살표(115) 내에 끼워 넣어진 화살표(114)에 의해 표시된 바와 같이, 이 결과들을 이 시각 표현들(306)을 포함하는 수정된 비디오 스트림(111)의 형태로 수신한다. 이 실시예에서, 클라이언트 애플리케이션(101)은 도 1 내의 화살표(113)에 의해 표시된 바와 같이, 또한 프로세스의 결과들의 적어도 일부를 수신할 수 있거나 수신하지 않을 수 있다는 점이 주목되어야 한다.
도 5는 본 명세서에 이미 설명된 맥락 예 내에서 이 실시예를 더 예시한다. 비디오 스트림(111) 내에 얼굴들(301)의 위치를 포함하는 얼굴 검출 엔진(110)에 의해 가능하면 생성되는 얼굴 검출 프로세스의 결과들은 중재 모듈(102)로부터 비디오 스트림(111)으로 삽입되는 그래픽 박스들(309)의 형태로 얼굴들(301) 주변에 출력된다. 이것은 도 4에 도시된 바와 같은 그래픽 계층(401) 대신에 도 5의 비디오 평면(104) 내의 비디오 스트림(111)에 도시된다. 또한, 그래픽 박스들(309)과 비디오 스트림(111)을 포함하는 비디오 평면(104)이 그래픽 계층 아래에 추가될 때, 출력 이미지(300)는 도 3에 도시된 바와 같은 단일 결합 이미지(300)로 나타난다. 또한, 이 맥락 예에서, 클라이언트 애플리케이션(101)은 또한 결과들의 적어도 일부를 수신하여(113) 식별된 얼굴들(301)에 대응하는 명칭들(307) 및 나이들(308)을 포함하는 결과들에 관계된 정보의 시각 표현들(306)을 생성한다는 점이 주목된다.
결과들(즉, 그래픽 박스들(309))의 시각 표현(306)을 중재 모듈(102) 내에, 또는 네이티브 계층 내의 다른 모듈에서 생성하는 것은 그러한 시각 표현(306) 생성이 클라이언트 애플리케이션 계층에서보다 네이티브 계층에서 더 빠르게 수행될 수 있다는 장점을 제공한다. 게다가, 비디오 평면(104)에 액세스할 수 있고 그래픽 박스들(309)을 갖는 동일한 비디오 스트림(111)을 이용하기를 원할 수 있는 다른 클라이언트 애플리케이션들은 그래픽 박스들(309)을 생성하기 위해 부가 중복 처리를 수행하는 것없이, 및 다른 클라이언트 애플리케이션들의 개발 동안 요구되는 중복 코딩 없이 그것에 액세스할 수 있다.
더욱이, 프로세스를 중재 모듈(102) 또는 그렇지 않으면 네이티브 계층에서와 같이, 클라이언트 애플리케이션 계층보다 더 낮은 계층에 있는 비디오 스트림(111) 상에 수행함으로써, 다수의 클라이언트 애플리케이션들은 그 데이터에 액세스할 수 있다. 예를 들어, 상술한 바와 같이, 예시적 시청자 자동 검출 클라이언트 애플리케이션은 얼굴 검출 결과들을 사용하여 다양한 얼굴들(301)의 명칭들(307)을 제지할 수 있는 반면에, 차일드 로크 클라이언트 애플리케이션은 성인 등급 콘텐츠에 액세스를 제한하기 위해 얼굴 검출 결과들을 동시에 사용하여 얼굴들(301)의 나이(308)를 결정해서 미성년자가 현재 디스플레이(201)를 보고 있는지를 판단할 수 있다. 인스턴트 애플리케이션의 교시들 없이, 안드로이드TM(단 하나의 클라이언트 애플리케이션(101) 또는 자원이 카메라 비디오 스트림(111)과 같은 하드웨어 자원을 동시에 이용하는 것을 허용함)과 같은 일부 운영 체제들에 현재 제한들이 주어지면, 다수의 애플리케이션들은 클라이언트 애플리케이션(101)이 또한 비디오 스트림(111)을 출력 장치(105)에 출력하는 것을 동시에 허용하면서 비디오 스트림(111) 상에 수행되는 프로세스의 결과들을 이용할 수 없을 것이다. 따라서, 이 제한들에 대한 해결법은 본 명세서에 개시되었다.
본 명세서에 설명되는 기능 유닛들 중 다수는 모듈들로 라벨링되어, 그의 구현 독립성을 특히 강조했다. 예를 들어, 모듈은 주문형 VLSI 회로들 또는 게이트 어레이들을 포함하는 하드웨어 회로, 로직 칩들, 트랜지스터들과 같은 OTS(off-the-shelf) 반도체들, 또는 다른 개별 부품으로 구현될 수 있다. 모듈은 필드 프로그램가능 게이트 어레이들, 프로그램가능 어레이 로직, 프로그램가능 로직 장치들 등과 같은 프로그램가능 하드웨어 장치들에 구현될 수도 있다.
모듈들은 다양한 타입들의 프로세서들에 의한 실행을 위해 소프트웨어로 구현될 수도 있다. 실행가능 코드의 식별된 모듈은 예컨대 객체, 절차, 또는 기능으로 구조화될 수 있는 예컨대 컴퓨터 명령어들의 하나 이상의 물리적 또는 논리적 블록들을 포함할 수 있다. 그럼에도 불구하고, 식별된 모듈의 실행들은 물리적으로 함께 배치될 필요는 없지만, 논리적으로 함께 연결될 때, 모듈을 포함하고 모듈에 대한 진술된 목적을 달성하는 상이한 위치들에 저장되는 이종 명령어들을 포함할 수 있다.
실제로, 실행가능 코드의 모듈은 단일 명령어, 또는 다수 명령어들일 수 있었고, 수개의 상이한 코드 세그먼트들에 걸쳐, 상이한 프로그램들 중에, 및 수개의 메모리 장치들을 가로질러 심지어 분배될 수 있다. 유사하게, 동작 데이터는 본 명세서에서 식별되고 모듈들 내에 예시될 수 있고, 임의의 적절한 형태로 구체화되고 임의의 적절한 타입의 데이터 구조 내에 조직화될 수 있다. 동작 데이터는 단일 데이터 세트로 수집될 수 있거나, 상이한 저장 장치들에 걸치는 것을 포함하는 상이한 위치들에 걸쳐 분배될 수 있고, 시스템 또는 네트워크 상에 전자 신호들로서 단지 적어도 부분적으로 존재할 수 있다.
본 명세서에 개시된 본 발명은 그의 특정 실시예들, 예들 및 애플리케이션들에 의해 설명되었을지라도, 다수의 수정들 및 변형들은 청구항들에 진술되어 있는 본 발명의 범위로부터 벗어나는 것없이 당업자에 의해 그것에 이루어질 수 있었다.

Claims (22)

  1. 비디오 스트리밍을 위한 방법으로서,
    컴퓨팅 장치의 중재 모듈 - 상기 중재 모듈은 상기 컴퓨팅 장치의 네이티브 계층에 상주함 - 에서, 적어도 하나의 클라이언트 애플리케이션으로부터 적어도 비디오 스트림에 대한 요청, 상기 비디오 스트림 상에 수행되는 적어도 하나의 프로세스의 결과들에 대한 요청, 및 비디오 평면 상에서의 상기 비디오 스트림의 디스플레이를 위한 적어도 하나의 위치 정보 요소를 수신하는 단계;
    상기 중재 모듈에 의해 상기 비디오 스트림을 수신하는 단계;
    상기 중재 모듈에 의해 상기 적어도 하나의 프로세스를 상기 비디오 스트림 상에 수행하여, 상기 적어도 하나의 프로세스의 상기 결과들을 생성하는 단계;
    상기 중재 모듈로부터, 상기 비디오 스트림, 상기 적어도 하나의 프로세스의 상기 결과들, 및 상기 비디오 평면 상에서의 상기 비디오 스트림의 디스플레이를 위한 상기 적어도 하나의 위치 정보 요소를 출력하는 단계;
    상기 중재 모듈에 결합된 비디오 파이프라인 요소에 의해 적어도 상기 비디오 스트림 및 상기 비디오 평면 상에서의 상기 비디오 스트림의 디스플레이를 위한 상기 적어도 하나의 위치 정보 요소를 수신하는 단계;
    상기 비디오 파이프라인 요소에 의해 적어도 상기 비디오 스트림을 상기 적어도 하나의 위치 정보 요소에 따라 상기 비디오 평면에 스트리밍하는 단계;
    상기 클라이언트 애플리케이션에 의해 상기 비디오 평면에 대한 액세스를 출력 장치에 제공하여, 상기 비디오 평면이 상기 출력 장치 상에 디스플레이되는 단계;
    상기 클라이언트 애플리케이션에 의해, 적어도 상기 적어도 하나의 프로세스의 상기 결과들로부터 생성된 시각 정보(visual information)의 적어도 하나의 요소를 포함하는 그래픽 계층을 생성하는 단계; 및
    상기 클라이언트 애플리케이션으로부터 상기 출력 장치로 상기 그래픽 계층을 출력하는 단계 - 상기 그래픽 계층 및 상기 비디오 평면은 상기 출력 장치의 디스플레이 상에 동시에 디스플레이됨 -
    를 포함하는, 비디오 스트리밍을 위한 방법.
  2. 제1항에 있어서, 상기 중재 모듈에 의해 상기 적어도 하나의 프로세스를 상기 비디오 스트림 상에 수행하는 단계는 상기 중재 모듈로부터 상기 비디오 스트림을 출력하기 전에 상기 결과들의 적어도 하나의 시각 표현을 상기 비디오 스트림에 추가하는 단계를 더 포함하고, 상기 중재 모듈로부터 상기 적어도 하나의 프로세스의 상기 결과들을 출력하는 단계는 상기 결과들의 추가된 상기 적어도 하나의 시각 표현을 갖는 비디오 스트림을 출력하는 단계를 더 포함하는, 비디오 스트리밍을 위한 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 클라이언트 애플리케이션에서 상기 중재 모듈로부터 상기 적어도 하나의 프로세스의 적어도 하나의 결과를 수신하는 단계를 더 포함하고;
    상기 클라이언트 애플리케이션에 의해 그래픽 계층을 생성하는 단계는 상기 적어도 하나의 클라이언트 애플리케이션에 의해 상기 비디오 스트림 상에 수행되는 상기 적어도 하나의 프로세스의 상기 적어도 하나의 결과의 적어도 하나의 시각 표현을 생성하는 단계 및 상기 비디오 스트림 상에 수행되는 상기 적어도 하나의 프로세스의 상기 적어도 하나의 결과의 상기 적어도 하나의 시각 표현을 상기 출력 장치에 제공하는 단계를 더 포함하는, 비디오 스트리밍을 위한 방법.
  4. 제1항에 있어서, 상기 적어도 하나의 위치 정보 요소는 상기 출력 장치의 상기 디스플레이에 관련된 위치 파라미터 및 상기 출력 장치의 상기 디스플레이에 관련된 크기 파라미터를 포함하고, 상기 그래픽 계층은 상기 위치 파라미터 및 상기 크기 파라미터에 대응하는 보이드(void)를 포함하는, 비디오 스트리밍을 위한 방법.
  5. 제1항에 있어서, 상기 비디오 파이프라인 요소는 지스트리머(gStreamer)-호환 비디오 파이프라인 내의 지스트리머-호환 비디오 파이프라인 요소를 포함하는, 비디오 스트리밍을 위한 방법.
  6. 제1항에 있어서, 상기 비디오 파이프라인 요소는 오픈맥스TM(OpenMAXTM)-호환 비디오 파이프라인 내의 오픈맥스TM-호환 비디오 파이프라인 요소를 포함하는, 비디오 스트리밍을 위한 방법.
  7. 제1항에 있어서, 상기 컴퓨팅 장치는 안드로이드TM(AndroidTM)-호환 운영 체제를 이용하는, 비디오 스트리밍을 위한 방법.
  8. 제1항에 있어서, 상기 중재 모듈은 내추럴 입력 엔진을 더 포함하고, 상기 중재 모듈에 의해 상기 적어도 하나의 프로세스를 상기 비디오 스트림 상에 수행하여, 상기 적어도 하나의 프로세스의 상기 결과들을 생성하는 단계는 상기 비디오 스트림에 존재하는 적어도 하나의 내추럴 입력을 결정하는 단계를 더 포함하는, 비디오 스트리밍을 위한 방법.
  9. 제8항에 있어서, 상기 내추럴 입력 엔진은 상기 비디오 스트림에 존재하는 적어도 하나의 얼굴에 관련되는 적어도 하나의 양상을 결정하도록 구성되는 얼굴 검출 엔진을 더 포함하는, 비디오 스트리밍을 위한 방법.
  10. 제1항에 있어서, 상기 상기 비디오 스트림을 상기 중재 모듈에서 수신하는 단계는 카메라 장치로부터 상기 비디오 스트림을 수신하는 단계를 더 포함하는, 비디오 스트리밍을 위한 방법.
  11. 비디오 스트리밍을 위한 장치로서,
    컴퓨팅 장치의 중재 모듈 - 상기 중재 모듈은 상기 컴퓨팅 장치의 네이티브 계층에 상주하고, 적어도 하나의 클라이언트 애플리케이션으로부터 적어도 비디오 스트림에 대한 요청, 상기 비디오 스트림 상에 수행되는 적어도 하나의 프로세스의 적어도 하나의 결과에 대한 요청, 및 비디오 평면 상에서의 상기 비디오 스트림의 디스플레이를 위한 적어도 하나의 위치 정보 요소를 수신하고; 상기 비디오 스트림을 수신하고; 상기 적어도 하나의 프로세스를 상기 비디오 스트림 상에 수행하여 상기 적어도 하나의 프로세스의 상기 적어도 하나의 결과를 생성하며; 상기 비디오 스트림, 상기 적어도 하나의 프로세스의 상기 적어도 하나의 결과, 및 상기 비디오 평면 상에서의 상기 비디오 스트림의 디스플레이를 위한 상기 적어도 하나의 위치 정보 요소를 출력하도록 구성됨 - ,
    상기 중재 모듈에 결합되는 상기 컴퓨팅 장치의 비디오 파이프라인 요소 - 상기 비디오 파이프라인 요소는, 적어도 상기 비디오 스트림 및 비디오 평면 상에서의 상기 비디오 스트림의 디스플레이를 위한 상기 적어도 하나의 위치 정보 요소를 수신하고; 적어도 상기 비디오 스트림을 상기 적어도 하나의 위치 정보 요소에 따라 상기 비디오 평면에 스트리밍하도록 구성됨 - 및
    상기 중재 모듈에 결합되는 상기 적어도 하나의 클라이언트 애플리케이션 - 상기 적어도 하나의 클라이언트 애플리케이션은, 상기 적어도 하나의 프로세스의 상기 적어도 하나의 결과로부터 생성된 시각 정보의 적어도 하나의 요소를 포함하는 그래픽 계층을 생성하고; 상기 그래픽 계층을, 상기 클라이언트 애플리케이션 및 상기 비디오 평면에 결합된 출력 장치에 제공하며; 상기 비디오 평면에 대한 액세스 및 상기 비디오 스트림 상에 수행되는 상기 적어도 하나의 프로세스의 상기 적어도 하나의 결과에 대한 액세스를 상기 출력 장치에 제공하도록 구성되고, 상기 그래픽 계층 및 상기 비디오 평면은 상기 출력 장치의 디스플레이 상에 동시에 디스플레이됨 -,
    을 포함하는, 비디오 스트리밍을 위한 장치.
  12. 제11항에 있어서,
    상기 중재 모듈에 결합되는 적어도 하나의 카메라 - 상기 적어도 하나의 카메라는 상기 비디오 스트림을 생성하도록 구성됨 - 를 더 포함하는, 비디오 스트리밍을 위한 장치.
  13. 제11항에 있어서,
    상기 적어도 하나의 클라이언트 애플리케이션이 동작하는 안드로이드TM-호환 운영 체제를 더 포함하는, 비디오 스트리밍을 위한 장치.
  14. 제11항에 있어서, 상기 비디오 파이프라인 요소는 지스트리머-호환 비디오 파이프라인 내의 지스트리머-호환 비디오 파이프라인 요소를 더 포함하는, 비디오 스트리밍을 위한 장치.
  15. 제11항에 있어서, 상기 비디오 파이프라인 요소는 오픈맥스TM-호환 비디오 파이프라인 내의 오픈맥스TM-호환 비디오 파이프라인 요소를 더 포함하는, 비디오 스트리밍을 위한 장치.
  16. 제11항에 있어서, 상기 중재 모듈은,
    상기 비디오 스트림을 출력하기 전에 상기 적어도 하나의 결과의 적어도 하나의 시각 표현을 상기 비디오 스트림에 추가함으로써 상기 적어도 하나의 프로세스를 상기 비디오 스트림 상에 수행하여 상기 적어도 하나의 결과를 생성하고;
    상기 적어도 하나의 결과의 추가된 상기 적어도 하나의 시각 표현을 갖는 상기 비디오 스트림을 출력함으로써 상기 적어도 하나의 프로세스의 상기 적어도 하나의 결과를 출력하도록 더 구성되는, 비디오 스트리밍을 위한 장치.
  17. 제11항에 있어서, 상기 적어도 하나의 클라이언트 애플리케이션은,
    상기 중재 모듈로부터 상기 적어도 하나의 프로세스의 상기 적어도 하나의 결과를 수신하고;
    상기 비디오 스트림 상에 수행되는 상기 적어도 하나의 프로세스의 상기 적어도 하나의 결과의 적어도 하나의 시각 표현을 생성함으로써 부가 시각 정보(additional visual information)를 생성하며;
    상기 그래픽 계층에 상기 적어도 하나의 시각 표현을 포함하도록 더 구성되는, 비디오 스트리밍을 위한 장치.
  18. 제11항에 있어서, 상기 적어도 하나의 위치 정보 요소는 상기 출력 장치의 상기 디스플레이에 관련된 위치 파라미터 및 상기 출력 장치의 상기 디스플레이에 관련된 크기 파라미터를 포함하고, 상기 그래픽 계층은 상기 위치 파라미터 및 상기 크기 파라미터에 대응하는 보이드(void)를 포함하는, 비디오 스트리밍을 위한 장치.
  19. 제11항에 있어서, 상기 중재 모듈은 상기 비디오 스트림을 처리하여 상기 비디오 스트림에 존재하는 적어도 하나의 내추럴 입력을 결정함으로써 상기 적어도 하나의 프로세스를 상기 비디오 스트림 상에 수행하여 상기 적어도 하나의 프로세스의 상기 적어도 하나의 결과를 생성하도록 구성되는 내추럴 입력 엔진을 더 포함하는, 비디오 스트리밍을 위한 장치.
  20. 제19항에 있어서, 상기 내추럴 입력 엔진은 상기 비디오 스트림에 존재하는 적어도 하나의 얼굴에 관련되는 적어도 하나의 양상을 결정하도록 구성되는 얼굴 검출 엔진을 더 포함하는, 비디오 스트리밍을 위한 장치.
  21. 제1항에 있어서, 상기 적어도 하나의 클라이언트 애플리케이션은 자바TM 애플리케이션인, 비디오 스트리밍을 위한 방법.
  22. 제11항에 있어서, 상기 적어도 하나의 클라이언트 애플리케이션은 자바TM 애플리케이션인, 비디오 스트리밍을 위한 장치.
KR1020130121287A 2012-10-12 2013-10-11 비디오 스트리밍을 위한 방법 및 장치 KR101501378B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/651,290 US9001216B2 (en) 2012-10-12 2012-10-12 Method and apparatus for video streaming
US13/651,290 2012-10-12

Publications (2)

Publication Number Publication Date
KR20140047553A KR20140047553A (ko) 2014-04-22
KR101501378B1 true KR101501378B1 (ko) 2015-03-12

Family

ID=49326551

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130121287A KR101501378B1 (ko) 2012-10-12 2013-10-11 비디오 스트리밍을 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US9001216B2 (ko)
EP (1) EP2720471A1 (ko)
JP (1) JP5807756B2 (ko)
KR (1) KR101501378B1 (ko)
CN (1) CN103731742B (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432730B2 (en) * 2012-12-26 2016-08-30 Huawei Technologies Co., Ltd. Multimedia file playback method and apparatus
US9251405B2 (en) * 2013-06-20 2016-02-02 Elwha Llc Systems and methods for enhancement of facial expressions
KR20150137499A (ko) * 2014-05-29 2015-12-09 엘지전자 주식회사 영상 표시 기기 및 그의 동작 방법
US10318361B2 (en) * 2014-07-02 2019-06-11 Atheer, Inc. Methods and systems for multiple access to a single hardware data stream
US9946355B2 (en) * 2015-09-01 2018-04-17 Samsung Electronics Co., Ltd. System and method for operating a mobile device using motion gestures
JP7267306B2 (ja) * 2018-05-18 2023-05-01 コリンダス、インコーポレイテッド ロボット介入処置のための遠隔通信及び制御システム
CN109905752B (zh) * 2019-03-14 2021-06-08 海信视像科技股份有限公司 音频数据处理方法、装置、电子设备和存储介质
CN110493626B (zh) * 2019-09-10 2020-12-01 海信集团有限公司 视频数据处理方法及装置
US11546617B2 (en) 2020-06-30 2023-01-03 At&T Mobility Ii Llc Separation of graphics from natural video in streaming video content

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005094741A (ja) * 2003-08-14 2005-04-07 Fuji Photo Film Co Ltd 撮像装置及び画像合成方法
KR20090053851A (ko) * 2006-09-06 2009-05-27 애플 인크. 상이한 제스처에 대해 유사한 동작을 수행하는 휴대용 전자 장치
KR20110085498A (ko) * 2010-01-20 2011-07-27 엘지전자 주식회사 영상 신호 조절 장치 및 제어 방법
KR101348142B1 (ko) * 2013-09-14 2014-01-07 주식회사 코어셀 얼굴인식기술을 이용하여 분류된 개인 또는 그룹 유형별 맞춤형 콘텐츠 제공 방법 및 그러한 시스템

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207487A (ja) 1999-01-20 2000-07-28 Sony Corp 情報処理装置および方法、並びに提供媒体
US6931376B2 (en) 2000-07-20 2005-08-16 Microsoft Corporation Speech-related event notification system
AU2002232928A1 (en) 2000-11-03 2002-05-15 Zoesis, Inc. Interactive character system
US20030046316A1 (en) 2001-04-18 2003-03-06 Jaroslav Gergic Systems and methods for providing conversational computing via javaserver pages and javabeans
US7020841B2 (en) 2001-06-07 2006-03-28 International Business Machines Corporation System and method for generating and presenting multi-modal applications from intent-based markup scripts
US6839896B2 (en) 2001-06-29 2005-01-04 International Business Machines Corporation System and method for providing dialog management and arbitration in a multi-modal environment
US7113618B2 (en) 2001-09-18 2006-09-26 Intel Corporation Portable virtual reality
US7644410B1 (en) 2004-11-23 2010-01-05 Hewlett-Packard Development Company, L.P. Resource management for shared computing environment
US7868893B2 (en) 2006-03-07 2011-01-11 Graphics Properties Holdings, Inc. Integration of graphical application content into the graphical scene of another application
US20070288627A1 (en) 2006-06-13 2007-12-13 Alicia Abella Method for sensing user presence for buddy list applications
US7839434B2 (en) * 2006-08-04 2010-11-23 Apple Inc. Video communication systems and methods
US7616131B2 (en) 2006-10-16 2009-11-10 Motorola, Inc. Method and apparatus for allowing runtime creation of a user experience for a wireless device
EP2081362B1 (en) 2008-01-21 2013-07-24 Alcatel Lucent Resource arbitration in a converged multi-media environment
US20100257252A1 (en) * 2009-04-01 2010-10-07 Microsoft Corporation Augmented Reality Cloud Computing
US20100289912A1 (en) 2009-05-14 2010-11-18 Sony Ericsson Mobile Communications Ab Camera arrangement with image modification
US20110213664A1 (en) * 2010-02-28 2011-09-01 Osterhout Group, Inc. Local advertising content on an interactive head-mounted eyepiece
JP5659510B2 (ja) 2010-03-10 2015-01-28 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
US20110289506A1 (en) 2010-05-18 2011-11-24 Google Inc. Management of computing resources for applications
US8850463B2 (en) 2010-12-30 2014-09-30 Átila Leão FLORES XAVIER System and method for capturing parameters and recording events in portable devices with digital television receiver
US8190749B1 (en) 2011-07-12 2012-05-29 Google Inc. Systems and methods for accessing an interaction state between multiple devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005094741A (ja) * 2003-08-14 2005-04-07 Fuji Photo Film Co Ltd 撮像装置及び画像合成方法
KR20090053851A (ko) * 2006-09-06 2009-05-27 애플 인크. 상이한 제스처에 대해 유사한 동작을 수행하는 휴대용 전자 장치
KR20110085498A (ko) * 2010-01-20 2011-07-27 엘지전자 주식회사 영상 신호 조절 장치 및 제어 방법
KR101348142B1 (ko) * 2013-09-14 2014-01-07 주식회사 코어셀 얼굴인식기술을 이용하여 분류된 개인 또는 그룹 유형별 맞춤형 콘텐츠 제공 방법 및 그러한 시스템

Also Published As

Publication number Publication date
KR20140047553A (ko) 2014-04-22
CN103731742A (zh) 2014-04-16
CN103731742B (zh) 2017-06-06
JP5807756B2 (ja) 2015-11-10
JP2014081933A (ja) 2014-05-08
EP2720471A1 (en) 2014-04-16
US20140104440A1 (en) 2014-04-17
US9001216B2 (en) 2015-04-07

Similar Documents

Publication Publication Date Title
KR101501378B1 (ko) 비디오 스트리밍을 위한 방법 및 장치
CN115145529B (zh) 语音控制设备的方法及电子设备
CN112073798B (zh) 一种数据传输方法及设备
US11917329B2 (en) Display device and video communication data processing method
US11960674B2 (en) Display method and display apparatus for operation prompt information of input control
CN111556350B (zh) 一种智能终端及人机交互方法
CN112698905A (zh) 一种屏保显示方法、显示设备、终端设备及服务器
CN113825002B (zh) 显示设备及焦距控制方法
KR20190097687A (ko) 전자 장치 및 전자 장치의 요약 영상 생성 방법
CN111741314A (zh) 视频播放方法及显示设备
CN111078926A (zh) 一种人像缩略图像的确定方法及显示设备
CN113573149B (zh) 一种频道搜索方法及显示设备
CN113453069B (zh) 一种显示设备及缩略图生成方法
CN113542878A (zh) 一种基于人脸识别与手势检测的唤醒方法及显示设备
KR101992193B1 (ko) 적어도 하나 이상의 네트워크 인터페이스로 연결된 멀티미디어 디바이스 및 그 제어 방법
CN114390329A (zh) 显示设备及图像识别方法
CN115119035B (zh) 显示设备、图像处理方法及装置
US11962743B2 (en) 3D display system and 3D display method
CN111405380B (zh) 播放流媒体数据的方法及装置
WO2022156729A1 (zh) 一种显示设备及显示方法
CN111901655B (zh) 一种显示设备及摄像头功能的演示方法
CN114339347A (zh) 显示设备及图像识别结果显示方法
CN115695804A (zh) 一种显示设备及显示方法
CN114297435A (zh) 一种通信终端及多屏互动视频浏览方法
CN116382453A (zh) 显示设备、触摸点定位方法以及装置

Legal Events

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

Payment date: 20180226

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190222

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200225

Year of fee payment: 6