KR20070039982A - 비디오 카메라 공유 - Google Patents

비디오 카메라 공유 Download PDF

Info

Publication number
KR20070039982A
KR20070039982A KR1020077005165A KR20077005165A KR20070039982A KR 20070039982 A KR20070039982 A KR 20070039982A KR 1020077005165 A KR1020077005165 A KR 1020077005165A KR 20077005165 A KR20077005165 A KR 20077005165A KR 20070039982 A KR20070039982 A KR 20070039982A
Authority
KR
South Korea
Prior art keywords
image
capture device
shared memory
image capture
memory buffer
Prior art date
Application number
KR1020077005165A
Other languages
English (en)
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 KR20070039982A publication Critical patent/KR20070039982A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source

Abstract

둘 이상의 어플리케이션 가운데서 비디오 카메라와 같은 영상 캡처 장치의 출력을 공유하는 시스템, 방법 및 소프트웨어가 제공된다. 소정의 실시예는 하나 이상의 어플리케이션에 의해 액세스 가능한 공유 메모리 버퍼에 영상 프레임들을 기입하는 것을 포함한다. 소정의 어플리케이션은, 영상 데이터를 생산하는 영상 캡처 장치의 실제적인 장치 드라이버들처럼 보이는 가상 장치 드라이버들이다. 소정의 실시예는 영상 캡처 장치 드라이버의 배타적 제어를 획득하는 것, 공유 메모리 버퍼를 할당하는 것, 영상 캡처 장치 드라이버로부터 영상 프레임을 수신하는 것, 및 공유 메모리 버퍼에 영상 프레임을 기입하는 것을 포함한다. 소정의 실시예에서, 공유 메모리 버퍼는 번갈아서 판독되고 기입되는 두 개의 공유 메모리 버퍼를 포함한다.
영상 캡처 장치, 공유, 공유 메모리 버퍼, 어플리케이션, 상호 배타적 제어

Description

비디오 카메라 공유{VIDEO CAMERA SHARING}
컴퓨터 시스템들을 위한 비디오 카메라들은 오늘날의 컴퓨팅 환경에서 보다 흔하게 되고 있다. 더욱이, 보다 많은 어플리케이션들이 비디오 카메라로부터 캡처된(captured) 영상을 활용할 수 있다. 그러나, 컴퓨터 시스템 어플리케이션들에 의한 비디오 카메라들로의 액세스는 일반적으로 단일 어플리케이션으로 제한된다. 그러한 비디오 카메라를 위한 장치 드라이버들은 서로 배타적이고, 다수의 어플리케이션 가운데서 비디오 카메라들이 공유되어 사용되는 것을 방해한다. 일단 어플리케이션이 영상 캡처 장치 드라이버를 획득하면, 그 제어 어플리케이션이 드라이버의 제어를 포기할 때까지 다른 어플리케이션은 그 비디오 카메라로부터의 출력을 수신할 수 없다.
도 1은 본 발명의 예시적인 실시예에 따른 시스템의 개략도이다.
도 2는 본 발명의 예시적인 실시예의 흐름도이다.
도 3은 본 발명의 방법의 예시적인 실시예의 블록도이다.
도 4는 본 발명의 방법의 예시적인 실시예의 블록도이다.
도 5는 본 발명의 방법의 예시적인 실시예의 블록도이다.
도 6은 본 발명의 예시적인 실시예의 흐름도이다.
다음의 상세한 설명에서, 본원의 일부를 이루는 첨부 도면들에 대한 참조가 이루어지고, 본 발명이 실시될 수 있는 특정한 실시예들이 예시로서 첨부도면에서 도시된다. 이러한 실시예들은 본 기술분야의 당업자들이 실시할 수 있도록 충분히 상세하게 기술된다. 다른 실시예들이 이용될 수 있다는 것과, 구조적, 논리적 및 전기적 변경들이 본 발명의 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 이해될 것이다. 본 발명의 그러한 실시예들은, 사실상 둘 이상이 개시될 경우 임의의 단일 발명 또는 발명적 개념으로 본원의 범위를 자발적으로 제한하지 않으면서, 단지 편의를 위해 본원에서, 개별적으로 및/또는 집합적으로, "발명"이라는 용어로 칭해질 수 있다.
그러므로, 다음의 설명은 제한적인 의미로 해석되어서는 안 되고, 본 발명의 범위는 첨부된 청구범위에 의해 규정된다.
본원에 기술된 기능들 또는 알고리즘들은 하드웨어, 소프트웨어 또는 소프트웨어와 하드웨어의 조합으로 구현될 수 있다. 소프트웨어는 메모리 또는 다른 유형의 저장 장치와 같은 컴퓨터 판독 가능한 매체(computer readable medium)에 저장된 컴퓨터 실행 가능한(computer-executable) 명령들을 포함한다. "컴퓨터 판독 가능한 매체"라는 용어는 또한 소프트웨어를 송신할 수 있는 반송파를 나타내기 위해 사용될 수도 있다. 더욱이, 그러한 기능들은 소프트웨어, 하드웨어, 펌웨어, 또는 그들의 임의의 조합인 모듈들에 대응한다. 다수의 기능은 하나 이상의 모듈에서 원하는 대로 수행되고, 기술된 실시예들은 단지 예들이다. 소프트웨어는 디지털 신호 프로세서, ASIC(Application Specific Integrated Circuit), 마이크로프로세서, 또는 개인용 컴퓨터, 서버, 라우터와 같은 시스템에서 동작하는 다른 유형의 프로세서, 또는 네트워크 상호접속 장치들을 포함하는, 데이터를 처리할 수 있는 다른 장치 상에서 실행될 수 있다.
소정의 실시예는 그 기능들을 모듈들 사이에서 및 모듈들을 통하여 전해지는 관련 제어 신호 및 데이터 신호들을 이용하여 둘 이상의 특정한 상호접속된 하드웨어 모듈들 또는 장치들에서 구현하거나, ASIC의 일부분들로서 구현한다. 그리하여, 예시적인 프로세스 흐름은 소프트웨어, 펌웨어, 및 하드웨어 구현들 또는 그들의 조합들에 적용가능하다.
본원에서 사용될 때, "영상(video)"이라는 용어는 캡처된 정지 화상 또는 동화상들을 포괄하기 위해 사용된다. 그리하여, "영상"이라는 용어는 넓은 의미의 용어로서 의도되었고 본 명세서 또는 청구범위의 폭을 제한하도록 의도되지 않는다.
본원에서 사용될 때, "상호 배타적(mutually exclusive)"이라는 용어는 다수의 어플리케이션 가운데서 비디오 카메라들이 공유되어 사용되는 것을 금지하는 장치 드라이버들을 기술하는데 사용된다. 그러한 "상호 배타적" 장치 드라이버들은 제1 어플리케이션에 의해 획득되고 제1 어플리케이션이 드라이버를 놓을 때까지 또다른 어플리케이션에 의해 획득될 수 없다.
본 발명은 컴퓨팅 시스템 상의 다수의 어플리케이션 가운데서 비디오 카메라와 같은 영상 캡처 장치를 공유하기 위한 다양한 시스템, 방법 및 소프트웨어를 제공한다. 소정의 그러한 실시예는 상호 배타적인 영상 캡처 장치 드라이버에 대해 배타적 제어를 획득하고 시스템 상의 다른 어플리케이션들에 액세스 가능한 메모리 버퍼에 캡처된 영상을 기입하는 서버 프로세스를 포함한다. 그 후, 그 시스템 상의 하나 이상의 다른 프로세스는 메모리 버퍼로부터 영상을 판독하고 하나 이상의 어플리케이션들에 그 영상을 제공한다. 다양한 실시예들이 도면들에서 예시되고 아래에 기술된다.
도 1은 본 발명의 예시적인 실시예에 따른 시스템(100)의 개략도이다. 시스템(100)의 예시적인 실시예는 본 발명의 많은 가능한 하드웨어 및/또는 소프트웨어 구성 중 하나를 제공한다. 시스템(100)은 프로세서(102), 메모리(104) 및 영상 캡처 장치(118)를 갖는 컴퓨팅 장치(101)를 포함한다. 메모리(104)는 복수의 어플리케이션(1-N)을 포함하고 그 어플리케이션 1 및 어플리케이션 N은 각각 참조번호 106 및 108로 식별된다. 메모리(104)는 가상 영상 캡처 장치 드라이버(110), 공유 메모리 버퍼(112), 비디오 서버 프로세스(116), 및 영상 캡처 장치 드라이버(114)를 더 포함한다.
컴퓨팅 장치(101)는 영상 캡처 장치(118)와 함께 동작할 수 있는 임의의 유형의 컴퓨팅 장치를 나타낸다. 그러한 컴퓨팅 장치(101)의 소정의 예들은 컴퓨터, 개인용 컴퓨터, 서버, PDA(personal digital assistant), 또는 실질적으로 임의의 다른 유형의 컴퓨팅 장치(101)를 포함한다. 컴퓨팅 장치(101)는 실질적으로 임의의 운영체제를 이용하는 임의의 아키텍처일 수도 있다.
컴퓨팅 장치(101)의 프로세서(102)는 임의의 적합한 프로세서가 사용될 수 있지만, 디지털 신호 프로세서, 또는 ASIC, CISC(Complex Instruction Set Computer), RISC(Reduced Instruction Set Computer), VLIW(Very Long Instruction Word), 또는 하이브리드 아키텍처(hybrid architecture)와 같은 임의의 유형의 아키텍처의 프로세싱 유닛을 나타낸다. 프로세서(102)는 명령어들을 실행한다. 프로세서(102)는 메모리(104)와 같은 메모리에 데이터 및 프로그램 저장을 조직하고, 데이터 및 다른 정보를 영상 캡처 장치(118)에 대해서와 같이 컴퓨팅 장치(101)의 안팎으로 전송하고, 소정의 실시예에서, 선택적인 네트워크 인터페이스(도시 안됨)를 통해 하나 이상의 네트워크 접속들(도시 안됨)에 대해 전송하는 제어 유닛도 포함할 수 있다. 오직 하나의 프로세서만 컴퓨팅 장치(101) 내에 예시되었지만, 컴퓨팅 장치(101)는 소정의 실시예에서 다수의 프로세서(102)를 포함한다.
메모리(104)는 데이터를 저장하기 위한 하나 이상의 메카니즘을 나타낸다. 예를 들면, 다양한 실시예에서 메모리(104)는, RAM(random access memory), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 장치들, 및/또는 휘발성 및 비휘발성 머신 판독 가능(machine-readable) 매체 중 하나 이상을 포함한다. 다른 실시예들에서, 메모리는 임의의 적합한 유형의 저장 장치 또는 메모리(104)를 포함한다. 오직 하나의 메모리(104)만 도시되었지만, 다양한 유형의 다수의 메모리(104) 및 다수 유형의 저장 장치들이 주어질 수 있다.
소정의 실시예에서, 영상 캡처 장치(118)는 비디오 카메라와 같은, 영상을 캡처할 수 있는 장치이다. 다양한 실시예에서, 영상 캡처 장치(118)는 영상의 단일 프레임, 시간이 흐름에 따른 다수의 프레임, 또는 둘 다를 캡처할 수 있다. 영상 캡처 장치(118)는 다양한 방법으로 컴퓨팅 장치(101)에 결합될 수 있다. 예를 들면, 영상 캡처 장치(118)는 USB(Universal Serial Bus) 케이블과 같은 케이블을 통해 컴퓨팅 장치(101)에, 작동가능하게 결합될 수 있다. 다른 실시예들은 Bluetooth® 무선 접속과 같은 무선 접속, 또는 유무선 접속 장치 또는 영상 캡처 장치(118)로부터 컴퓨팅 장치(101)로 캡처된 영상을 전달할 수 있는 기술을 통해 컴퓨팅 장치(101)에, 작동가능하게 결합된 영상 캡처 장치를 포함한다.
소정의 실시예에서, 영상 캡처 장치(118)는 640×480 픽셀의 해상도에서 초당 30프레임의 속도로 컬러 영상을 캡처할 수 있다. 이러한 영상 캡처 장치(118)는 1.3M픽셀의 해상도로 정지 화상들을 캡처할 수 있다. 다른 실시예들에서, 영상 캡처 장치(118)는 영상 및 정지 화상들을 보다 높은 해상도 및 보다 낮은 해상도들과 보다 빠른 초당 프레임 속도 및 보다 느린 초당 프레임 속도들로 캡처할 수 있다. 소정의 실시예에서, 캡처된 영상의 특성들은 영상 캡처 장치(118)의 하나 이상의 파라미터를 조정함에 의해 변경될 수 있다. 소정의 그러한 설정은 영상이 캡처되는 해상도를 포함한다. 다른 설정들은 프레임 속도(frame rate), 선명도(sharpness), 밝기, 초점, 줌, 컬러, 카메라 각도 또는 위치, 및 캡처된 영상의 하나 이상의 특성 또는 객체를 조정하기 위한 임의의 다른 설정을 실질적으로 포함한다.
영상 캡처 장치(118)의 소정의 추가 실시예는 마이크로폰(microphone)을 포함한다. 소정의 그러한 실시예에서, 영상 캡처 장치(118)는 컴퓨팅 장치(101)로 다중화된 신호를 전달할 수 있고, 그 다중화된 신호는 영상 및 음성을 포함한다.
영상 캡처 장치(118)는 상술된 바와 같이 컴퓨팅 장치(101)에 작동가능하게 결합된다. 영상 캡처 장치 드라이버(114)는 영상 캡처 장치(118)로부터 영상을 수신한다. 소정의 실시예에서, 영상 캡처 장치 드라이버(114)는 영상 캡처 장치(118)로 커맨드들도 제공한다. 그러한 커맨드들은 영상 캡처 장치(118)에 의해 캡처된 영상의 특성들을 변경하기 위한 커맨드들을 포함한다. 소정의 실시예에서, 영상 캡처 장치 드라이버(114)는 컴퓨팅 장치(101) 상에서 동작하는 오직 하나의 어플리케이션만 그 영상 캡처 장치 드라이버(114)를 사용하게 하는 상호 배타적인 장치 드라이버이다. 소정의 실시예에서, 영상 캡처 장치 드라이버(114)는 영상 캡처 장치(118)의 판매자/생산자에 의해 공급되는 드라이버이다.
비디오 서버 프로세스(116)는 영상 캡처 장치 드라이버(114)에 대한 제어를 획득하는 프로세스이다. 비디오 서버 프로세스(116)는 공유 메모리 버퍼(112)가 아직 할당되지 않았다면 메모리(104)의 공유 메모리 버퍼(112)를 더 할당한다. 일단 영상 캡처 장치 드라이버(114)가 획득되고 공유 메모리 버퍼(112)가 할당되면, 비디오 서버 프로세스(116)는 영상 캡처 장치 드라이버(114)로부터 수신된 영상을 공유 메모리 버퍼(112)에 기입한다. 공유 메모리 버퍼(112)에 영상을 기입하는 것은 프레임 단위로 수행될 수 있고, 각 프레임은 이전의 프레임을 덮어쓴다. 소정의 실시예에서, 두 개 이상의 공유 메모리 버퍼(112)가 존재한다. 그러한 다중 공유 메모리 버퍼(112) 실시예들에서, 영상은 공유 메모리 버퍼들 사이에서 번갈아서 기입된다.
공유 메모리 버퍼(112)는 비디오 서버 프로세스(116) 및 다른 어플리케이션들에 대해 이용가능하도록 할당된 메모리의 영역이다. 공유 메모리 버퍼(112)는 적어도 영상 프레임을 보유하기에 충분히 큰 크기이다. 둘 이상의 공유 메모리 버퍼(112)를 포함하는 실시예들에서, 각 공유 메모리 버퍼(112)는 적어도 영상 프레임을 보유하기에 충분히 큰 크기이다. 비디오 서버 프로세스(116)에 의해 공유 메모리 버퍼(112)에 기입된 영상 프레임들은 가상 영상 캡처 장치 드라이버(110)과 같은 다른 어플리케이션들에 의해 판독될 수 있다. 소정의 실시예들에서, 어플리케이션(106) 및 어플리케이션(108)과 같은 어플리케이션들은 공유 메모리 버퍼(112)로부터 직접 영상을 얻을 수 있다.
소정의 실시예에서, 컴퓨팅 장치(101) 상에서 가상 영상 캡처 장치 드라이버(110)는, 컴퓨팅 장치(101) 상에서 동작가능한 어플리케이션들에 의해 획득될 수 있는 실제의 영상 캡처 장치 드라이버처럼 보인다. 가상 영상 캡처 장치 드라이버(110)는 공유 메모리 버퍼(112)로부터 영상을 판독하고 그 영상을 하나 이상의 어플리케이션에 제공한다. 시스템(100)의 소정의 실시예는 둘 이상의 가상 영상 캡처 장치 드라이버(110)를 포함한다. 소정의 실시예에서, 가상 영상 캡처 장치 드라이버(110)는 상호 배타적이어서, 오직 하나의 어플리케이션만 가상 영상 캡처 장치 드라이버(110)를 획득하게 한다. 소정의 그러한 실시예에서, 둘 이상의 어플리케이션이 동시에 영상을 수신하도록 하는 다수의 상호 배타적인 가상 영상 캡처 장치 드라이버가 존재한다. 도 1에서 예시된 바와 같이, 다른 실시예들에서, 가상 영상 캡처 장치 드라이버(110)는 둘 이상의 어플리케이션이 동시에 멀티 인스턴스(multi-instance) 가상 드라이버를 획득하고 영상을 수신하도록 하는 멀티 인스턴스 가상 드라이버이다.
소정의 실시예에서, 가상 영상 캡처 장치 드라이버(110)는 하나 이상의 설정에 따라 영상에 대한 변환들을 수행한다. 소정의 실시예에서, 비디오 서버 프로세스(116)는 영상 캡처 장치 드라이버(114)로부터 영상 캡처 장치(118)에 의해 캡처된 영상을 높은 품질로 수신하거나, 심지어 그 영상 캡처 장치(118)가 할 수 있는 가장 높은 품질의 영상을 수신한다. 그 후 비디오 서버 프로세스(116)는 이러한 높은 품질의 영상을 공유 메모리 버퍼(112)에 기입하는 것을 진행한다. 소정의 실시예에서, 비디오 서버 프로세스는 영상을 공유 메모리에 기입하기 전에, 하나 이상의 영상 특성을 변경하는 하나 이상의 변환을 영상에 대해 수행한다. 그 후 가상 영상 캡처 장치 드라이버(110)는 공유 메모리 버퍼(112)로부터 영상을 판독하고 그 영상을 요청하는 어플리케이션에 제공하기 전에 하나 이상의 설정에 따라 임의의 필요한 변환들을 영상에 수행한다. 소정의 실시예에서, 설정들은 해상도, 프레임 크기, 프레임 속도, 선명도, 밝기 중 하나 이상에 대한 설정 또는 실질적으로 영상의 특성들에 관련된 임의의 다른 설정을 포함한다. 다양한 실시예에서, 이러한 설정들은 어플리케이션에 의해서 또는 설정들을 사용자가 조작함으로써 제공된다.
어플리케이션(106) 및 어플리케이션(108)은 영상 가능(video-enabled) 어플리케이션들을 반영하도록 의도된다. 컴퓨팅 장치상에서 동작하는 임의의 수의 그러한 영상 가능 어플리케이션들이 존재할 수 있다. 그러한 영상 가능 어플리케이션들의 예들은 영상 기록 어플리케이션들, 화상 회의 어플리케이션들, 인스턴트 메신저 어플리케이션들, 영상 감시 어플리케이션들, 및 실질적으로 영상 캡처 장치(118)를 이용하여 시작되는 영상을 수신 또는 요청할 수 있는 임의의 다른 유형의 어플리케이션을 포함한다.
도 2는 본 발명의 예시적인 실시예의 흐름도이다. 도 2는 영상 캡처 장치(202)로부터 하나 이상의 클라이언트 어플리케이션(210)으로 흐르는 캡처된 영상의 수준 높은 뷰(view)를 제공하고 그 클라이언트 어플리케이션들은(210) 캡처된 영상을 하나 이상의 사용자 어플리케이션(도시 안됨)에 제공한다. 영상 캡처 장치(202)는 도 1의 영상 캡처 장치(118)와 동일하거나 다를 수 있다.
도 2의 예시적인 도시는 판매자가 공급한 드라이버(204)에 영상을 제공하는 영상 캡처 장치(202)를 포함한다. 판매자가 공급한 드라이버(204)는 서버(206)에 의해 획득된 상호 배타적인 드라이버이다. 서버(206)는 판매자가 공급한 드라이버(204)로부터 영상을 수신하고 그 영상을 메모리(208)에 두도록 동작된다. 메모리(208)는 어플리케이션들에 대해 액세스 가능한 메모리이다. 소정의 그러한 어플리케이션은 클라이언트들(210A 및 210B)와 같은 클라이언트들을 포함한다. 클라이언트들(210A 및 210B)의 기능은 메모리(208)로부터 영상을 판독하고 그 영상을 하나 이상의 사용자 어플리케이션에 제공하는 것이다. 일반적으로 사용자 어플리케이션들은 영상 캡처 장치(202)의 캡처된 영상과 호환되는 임의의 어플리케이션이다.
도 3은 본 발명의 방법(300)의 예시적인 실시예의 블록도이다. 방법(300)은 영상 캡처 장치 드라이버(302)의 배타적인 제어를 획득하는 것과 공유 메모리 버퍼(304)를 할당하는 것을 포함한다. 방법(300)은 영상 캡처 장치 드라이버(306)로부터 영상 프레임을 수신하는 것 및 공유 메모리 버퍼(308)에 영상 프레임을 기입하는 것을 더 포함한다. 소정의 실시예에서, 방법(300)은 영상 캡처 장치(306)으로부터 다른 영상 프레임을 수신하는 것 및 공유 메모리 버퍼(308)에 영상 프레임을 다시 기입하는 것을 더 포함한다. 그 후 방법(300)은 영상 프레임들이 수신되는 동안 그 방법의 이러한 부분들(즉, 306 및 308)을 되풀이한다.
방법(300)의 공유 메모리 버퍼는 가상 영상 캡처 장치 드라이버와 같은 하나 이상의 어플리케이션에 의해 액세스 가능하다. 가상 영상 캡처 장치 드라이버는 영상 가능 어플리케이션들에 영상을 제공하고 어플리케이션들에게 실제의 장치 드라이버처럼 보인다.
소정의 실시예에서, 공유 메모리 버퍼를 할당하는 것은 RAM과 같은 시스템 메모리 내에 공간을 할당하는 것을 포함한다. 할당되는 메모리의 양은 캡처된 영상의 특성들에 따라 달라진다. 일반적으로, 고해상도 영상은 보다 큰 공유 메모리 버퍼를 할당하는 것을 필요로 할 것이다. 게다가, 영상을 캡처하고 전송하는 데 사용된 포맷이 필요한 메모리 크기에 영향을 줄 수 있다. 더욱이, 관련된 음성을 포함하도록 영상이 다중화된다면, 필요한 메모리 공간은 영향을 받을 것이다.
도 4는 본 발명의 방법(400)의 예시적인 실시예의 블록도이다. 방법(400)은 상호 배타적인 영상 캡처 장치 드라이버(402)를 획득하는 것, 두 개의 공유 메모리 버퍼(404)를 할당하는 것, 및 하나 이상의 가상 장치 드라이버를 생성하는 것을 포함하고, 하나 이상의 가상 장치 드라이버는 그 방법을 실행하는 시스템 상에서 동작가능한 어플리케이션들에 영상 캡처 장치 드라이버들(406)처럼 보인다. 방법(400)의 소정의 실시예는 영상 캡처 장치 드라이버로부터 영상 프레임들의 스트림을 수신하는 것과 두 개의 공유 메모리 버퍼 사이에서 번갈아서 영상 프레임들을 기입하는 것을 더 포함한다. 방법(400)으로 생성된 가상 장치 드라이버들은 두 개의 공유 메모리 버퍼로부터 번갈아서 영상 프레임들을 판독함으로써 시스템 상에서 동작 가능한 어플리케이션들에 영상을 제공할 수 있다.
방법(400)의 소정의 실시예에서, 하나 이상의 가상 장치 드라이버(406)를 생성하는 것은 고정된 수의 상호 배타적인 가상 장치 드라이버를 생성하는 것을 포함한다. 소정의 실시예에서, 고정된 수는 2이고, 다른 실시예들에서 고정된 수는 10이다. 그러나, 임의의 수의 상호 배타적인 장치 드라이버가 방법(400)에 의해 생성될 수 있다. 소정의 실시예에서, 상호 배타적인 장치 드라이버들의 수는 방법(400)에 의해 한꺼번에 영상을 수신할 수 있는 영상 가능 어플리케이션들의 최대 개수이다. 소정의 다른 실시예에서, 만약 모든 상호 배타적인 장치 드라이버가 이용된다면, 방법(400)을 구현하는 시스템은 하나 이상의 추가적인 상호 배타적인 장치 드라이버들을 동적으로 생성할 것이다.
소정의 실시예에서, 상호 배타적인 장치 드라이버는 상호 배타적인 장치 드라이버가 영상 캡처 장치보다는 공유 메모리 버퍼로부터 영상 데이터를 판독하도록 하는 방식으로 변경된, 판매자가 공급한 장치 드라이버의 사본이다. 다른 실시예들에서, 상호 배타적인 장치 드라이버는 방법(400)을 구현하는 시스템에 결합가능한 영상 캡처 장치에 대해 장치 드라이버로 보이도록 쓰여진 소프트웨어를 포함한다.
도 5는 본 발명의 방법(500)의 예시적인 실시예의 블록도이다. 방법(500)은 DirectShow®를 포함하는 Microsoft® Windows® 운영체제를 갖는 시스템 상의 방법(500)의 예시적인 실시예이다.
마이크로소프트사의 DirectShow® 아키텍처는 필터들에 기초한다. 일반적으로, 필터는 영상 프레임들의 스트림과 같은 데이터 스트림상에 대해 하나의 동작을 수행한다. 소정의 필터 동작은 파일들 또는 스트림들을 판독하는 것, 비디오 카드 또는 다른 주변 장치로 데이터를 보내는 것, 및 MPEG-1(Moving Pictures Experts Group; 국제 표준 기구/국제 전자 기술 위원회 표준 11172) 또는 RGB(Red-Green-Blue)와 같은 특정한 포맷으로 또는 특정한 프레임 크기로 데이터를 변환하는 것을 포함한다.
일반적으로, 영상 데이터를 얻는 소스 필터들, 소정의 방식으로 영상 데이터를 변환하는 변환 필터들, 및 영상 데이터를 출력하는 렌더 필터(render filter)들의 세 가지 필터 종류가 있다. 다수의 필터는 한 필터의 출력이 다음 필터의 입력이 되는 방식으로 서로 연결될 수 있다. 연결된 필터들의 그룹들은 필터 그래프(filter graph)라고 불린다. 일반적으로, 필터 그래프는 적어도 하나의 소스 필터와 렌더 필터를 포함한다.
방법(500)은 영상 캡처 장치 드라이버(502)의 배타적인 제어를 획득하는 것과 공유 메모리 버퍼(504)를 할당하는 것을 포함한다. 방법은 영상 캡처 장치 드라이버로부터 필터 그래프(506)로의 영상 스트림을 수신하는 것과, 영상 캡처 장치 드라이버(508)처럼 보이는 소스 필터 내로 영상 스트림을 얻는 것과, 어플리케이션에 의해 소스 필터를 획득하는 것(공유 메모리 버퍼(510)로부터 영상 스트림을 얻기 위해 소스 필터가 어플리케이션의 필터 그래프에 의해 사용됨)을 더 포함한다.
영상 캡처 장치 드라이버로부터 필터 그래프(506) 내로 영상 스트림을 수신하는 것은 영상 스트림을 얻고 그 영상 스트림을 렌더 필터에 제공하는 소스 필터를 포함한다. 그 후 렌더 필터는 영상 스트림을 프레임 단위로 공유 메모리 버퍼에 렌더링한다.
어플리케이션들에게 영상 캡처 장치 드라이버(508)처럼 보이는 소스 필터 내로 영상 스트림을 얻는 것은, 영상 스트림을 얻기 위해 장치 드라이버로서 획득될 수 있는 소스 필터를 포함한다. 소스 필터는 어플리케이션에 의해 일단 획득되면, 공유 메모리 버퍼로부터 영상 스트림을 얻기 위해 어플리케이션의 필터 그래프에 대한 소스 필터로서 사용된다.
도 6은 본 발명의 예시적인 실시예의 흐름도이다. 도 6은 도 2의 실시예와 유사하게 높은 수준의 뷰를 제공하지만, 도 5에서 제공된 방법(500)의 예시적인 실시예 상에서 전개된다. 이러한 높은 수준의 뷰는 영상 캡처 장치(602)로부터, 하나 이상의 사용자 어플리케이션(도시 안됨)에 캡처된 영상을 제공하는 참조번호 610A 및 610B와 같은, 하나 이상의 클라이언트 소스 필터들로 캡처된 영상을 흘려보내는 것을 포함한다. 영상 캡처 장치(602)는 도 1의 영상 캡처 장치와 동일하거나 다를 수 있다.
도 6의 예시적인 도시는 판매자가 공급한 드라이버(604)로 영상을 제공하는 영상 캡처 장치(602)를 포함한다. 판매자가 공급한 드라이버(604)는 서버 필터 그래프(606)에 의해 획득된 상호 배타적인 드라이버이다. 서버 필터 그래프(606)는 판매자가 공급한 드라이버(604)로부터 영상을 얻도록 동작하는 소스 필터를 포함한다. 서버 필터 그래프(606)는 영상을 공유 메모리 버퍼(608)에 기입하는 렌더 필터를 더 포함한다. 공유 메모리 버퍼(608)는 적어도 클라이언트 소스 필터들(610A 및 610B)에 대해 액세스 가능한 메모리이다. 클라이언트 소스 필터들(610A 및 610B)의 기능은, 공유 메모리 버퍼(608)로부터 영상을 판독하는 것과 하나 이상의 사용자 어플리케이션의 필터 그래프로 영상을 제공하는 것에 의해 하나 이상의 사용자 어플리케이션(도시 안됨)에 대한 소스 필터 필터 그래프들처럼 동작하는 것이다.
요약서는 기술 명세서의 특성과 요점을 신속히 파악할 수 있도록 하는 요약서를 요구하는 37 C. F. R §1.72(b) 조항에 따라서 제공된 것이다. 이 요약서는 청구범위의 범위나 의미를 해석하거나 한정하는데 이용되어서는 안 된다는 것을 전제로 제출된다.
앞의 상세한 설명에서 명세서를 간결하게 하기 위해 단일 실시예에서 다양한 특징들이 그룹지어진다. 명세서의 이러한 방법은 본 발명의 주장된 실시예들이 각 청구항에 명백히 나열된 것보다 많은 특징을 필요로 한다는 의도를 반영하는 것으로 해석되어서는 안된다. 그보다는, 다음의 청구범위가 반영하듯이, 본 발명은 개시된 단일 실시예의 모든 특징보다 적은 특징을 가지고 있다. 그리하여, 다음의 청구범위는 본원에서 상세한 설명에 포함되고, 각 청구항이 본 발명의 개별적인 실시예로서 독립적으로 존재한다.
본 기술분야의 당업자들은 본 발명의 특징을 설명하기 위해 개시되고 예시된 부분들 및 방법의 단계의 구성들, 세부 사항들, 재료에 있어서, 증보된 청구범위에서 표현된 본 발명의 원리 및 범위에서 떠나지 않고 다양한 다른 변경들이 이루어질 수 있다는 것을 쉽게 이해할 것이다.

Claims (28)

  1. 영상 캡처 장치 드라이버의 배타적인 제어를 획득하는 단계;
    공유 메모리 버퍼를 할당하는 단계;
    상기 영상 캡처 장치 드라이버로부터 영상 프레임을 수신하는 단계; 및
    상기 공유 메모리 버퍼에 상기 영상 프레임을 기입하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 공유 메모리 버퍼는 하나 이상의 어플리케이션에 의해 액세스 가능한 방법.
  3. 제2항에 있어서,
    상기 하나 이상의 어플리케이션은 영상 가능(video-enabled) 어플리케이션들인 방법.
  4. 제1항에 있어서,
    뒤에 수신된 영상 프레임들은 상기 공유 메모리 버퍼의 이전의 영상 프레임들을 덮어쓰면서 상기 공유 메모리 버퍼에 기입되는 방법.
  5. 하나 이상의 어플리케이션에 의해 액세스 가능한 공유 메모리 버퍼에 영상 프레임을 기입하는 단계를 포함하는 방법.
  6. 제5항에 있어서,
    상기 하나 이상의 어플리케이션은 영상 가능 어플리케이션들을 포함하는 방법.
  7. 제6항에 있어서,
    영상 프레임을 수신하는 단계를 더 포함하고, 상기 공유 메모리 버퍼는 두 개의 공유 메모리 버퍼를 포함하고 상기 영상 프레임을 수신하는 단계는 영상 프레임들의 스트림을 수신하는 단계를 포함하고, 상기 방법은
    상기 두 개의 메모리 버퍼 사이에서 영상 프레임들의 상기 스트림을 번갈아서 기입하는 단계를 더 포함하는 방법.
  8. 제5항에 있어서,
    상기 공유 메모리 버퍼는 수신된 영상 프레임을 보유하는데 필요한 크기와 적어도 동등한 크기인 방법.
  9. 제5항에 있어서,
    상기 하나 이상의 어플리케이션에 의해 상기 공유 메모리 버퍼로부터 상기 영상 프레임을 판독하는 단계를 더 포함하는 방법.
  10. 메모리;
    영상 캡처 장치;
    캡처된 영상 프레임들을 상기 영상 캡처 장치로부터 수신하기 위한, 상호 배타적인 영상 캡처 장치 드라이버; 및
    시스템 상에서 동작 가능한 소프트웨어
    를 포함하고,
    상기 시스템 상에서 동작 가능한 상기 소프트웨어는,
    상기 메모리의 공유 메모리 버퍼를 할당하고;
    상기 영상 캡처 장치 드라이버로부터 영상 프레임들을 수신하고;
    상기 수신된 영상 프레임들을 상기 공유 메모리 버퍼로 기입하는 시스템.
  11. 제10항에 있어서,
    상기 공유 메모리 버퍼에 기입된 상기 수신된 영상 프레임들은 상기 시스템 상에서 동작하는 하나 이상의 어플리케이션에 대해 액세스 가능한 시스템.
  12. 제11항에 있어서,
    상기 소프트웨어는 멀티 인스턴스(multi-instance) 가상 드라이버인 시스템.
  13. 제12항에 있어서,
    상기 멀티 인스턴스 가상 드라이버는 상기 시스템 상에서 동작하는 상기 하나 이상의 어플리케이션에게 영상 캡처 장치 드라이버처럼 보이는 시스템.
  14. 제10항에 있어서,
    상기 소프트웨어는, 실행될 때, 상기 영상 캡처 장치 드라이버의 배타적인 제어를 갖는 시스템.
  15. 관련 명령어들을 갖는 머신 액세스 가능한(machine-accessible) 매체를 포함하는 물품으로서, 상기 명령어들은 액세스 될 때,
    공유 메모리 버퍼를 통하여 상기 머신 상에서 동작 가능한 둘 이상의 어플리케이션에 영상 캡처 장치로부터의 영상 데이터를 제공하는 단계
    를 수행하는 머신(machine)을 도출하는 물품.
  16. 제15항에 있어서,
    상기 명령어들은, 액세스 될 때,
    상기 둘 이상의 어플리케이션에 상기 영상 데이터를 제공하기 위한 하나 이상의 가상 영상 캡처 장치 드라이버를 제공하는 단계
    를 수행하고,
    상기 가상 영상 캡처 장치 드라이버들은 상기 공유 메모리 버퍼로부터 상기 영상 데이터를 얻는 머신을 더 도출하는 물품.
  17. 제15항에 있어서,
    상기 머신은 상기 영상 캡처 장치에 작동가능하게 결합된 영상 캡처 장치 드라이버를 포함하고, 상기 명령어들은, 액세스 되었을 때,
    상기 영상 캡처 장치로부터 상기 영상 캡처 장치 드라이버로 상기 영상 데이터를 수신하는 단계; 및
    상기 영상 캡처 장치 드라이버로부터의 상기 영상 데이터를 상기 공유 메모리 버퍼에 기입하는 단계
    를 수행하는 머신을 도출하는 물품.
  18. 상호 배타적인 영상 캡처 장치 드라이버를 획득하는 단계;
    두 개의 공유 메모리 버퍼를 할당하는 단계; 및
    하나 이상의 가상 장치 드라이버를 생성하는 단계
    를 포함하고,
    상기 하나 이상의 가상 장치 드라이버는 상기 방법을 실행하는 시스템 상에서 동작 가능한 어플리케이션에게 영상 캡처 장치 드라이버들처럼 보이는 방법.
  19. 제18항에 있어서,
    상기 영상 캡처 장치 드라이버로부터 영상 프레임들의 스트림을 수신하는 단계; 및
    상기 두 개의 공유 메모리 버퍼 사이에서 번갈아서 상기 영상 프레임들을 기입하는 단계
    를 더 포함하는 방법.
  20. 제19항에 있어서,
    상기 가상 장치 드라이버들은 상기 두 개의 공유 메모리 버퍼로부터 상기 영상 프레임들을 번갈아서 판독하는 것에 의해 상기 시스템 상에서 동작 가능한 상기 어플리케이션들에 영상을 제공할 수 있는 방법.
  21. 제19항에 있어서,
    하나 이상의 가상 장치 드라이버를 생성하는 단계는 고정된 수의 상호 배타적인 가상 장치 드라이버들을 생성하는 단계를 포함하는 방법.
  22. 영상 캡처 장치 드라이버의 배타적인 제어를 획득하는 단계;
    공유 메모리 버퍼를 할당하는 단계;
    상기 영상 캡처 장치 드라이버로부터의 영상 스트림을 필터 그래프 내로 수신하는 단계
    를 포함하고,
    상기 필터 그래프는,
    상기 영상 캡처 장치 드라이버로부터 영상 스트림을 수신하는 소스 필터(source filter), 및
    한번에 한 프레임씩 상기 영상 스트림을 공유 메모리 버퍼에 기입하는 렌더 필터(render filter)
    를 포함하는 방법.
  23. 제22항에 있어서,
    상기 공유 메모리 버퍼를 할당하는 단계는, 상기 필터 그래프의 상기 렌더 필터에 의해 한번에 한 프레임씩, 상기 메모리 버퍼 사이에서 번갈아 기입되는 둘 이상의 공유 메모리 버퍼를 할당하는 단계를 포함하는 방법.
  24. 제22항에 있어서,
    어플리케이션들에게 영상 캡처 장치 드라이버처럼 보이는 소스 필터 내로 영상 스트림을 얻는 단계; 및
    상기 공유 메모리 버퍼로부터 영상을 얻기 위해 어플리케이션의 필터 그래프에 의해 사용되는 상기 소스 필터를 상기 어플리케이션에 의해 획득하는 단계
    를 더 포함하는 방법.
  25. 제22항에 있어서,
    상기 영상 스트림은 음성 스트림(audio stream)을 포함하는 다중화된 스트림인 방법.
  26. 공유 메모리 버퍼로부터 영상 데이터를 얻는 하나 이상의 가상 영상 캡처 장치 드라이버를 시스템에 제공하는 단계;
    상호 배타적인 영상 캡처 장치 드라이버로부터 수신된 영상 데이터를 상기 공유 메모리 버퍼에 채우는 단계
    를 포함하는 방법.
  27. 제26항에 있어서,
    상기 하나 이상의 가상 영상 캡처 장치 드라이버는 상호 배타적인 방법.
  28. 제26항에 있어서,
    상기 가상 영상 캡처 장치 드라이버들은 필터 그래프의 소스 필터를 적어도 포함하는 방법.
KR1020077005165A 2004-09-02 2005-08-12 비디오 카메라 공유 KR20070039982A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/932,566 2004-09-02
US10/932,566 US20060050155A1 (en) 2004-09-02 2004-09-02 Video camera sharing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020097000603A Division KR100962753B1 (ko) 2004-09-02 2005-08-12 영상 캡처 장치 출력 공유 방법 및 영상 캡처 장치 출력 공유 시스템

Publications (1)

Publication Number Publication Date
KR20070039982A true KR20070039982A (ko) 2007-04-13

Family

ID=35457993

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020097000603A KR100962753B1 (ko) 2004-09-02 2005-08-12 영상 캡처 장치 출력 공유 방법 및 영상 캡처 장치 출력 공유 시스템
KR1020077005165A KR20070039982A (ko) 2004-09-02 2005-08-12 비디오 카메라 공유

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020097000603A KR100962753B1 (ko) 2004-09-02 2005-08-12 영상 캡처 장치 출력 공유 방법 및 영상 캡처 장치 출력 공유 시스템

Country Status (6)

Country Link
US (1) US20060050155A1 (ko)
EP (1) EP1790164A2 (ko)
KR (2) KR100962753B1 (ko)
CN (1) CN1744048B (ko)
TW (1) TWI285499B (ko)
WO (1) WO2006028659A2 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438638B1 (en) 2000-07-06 2002-08-20 Onspec Electronic, Inc. Flashtoaster for reading several types of flash-memory cards with or without a PC
US7295443B2 (en) 2000-07-06 2007-11-13 Onspec Electronic, Inc. Smartconnect universal flash media card adapters
US7508659B2 (en) * 2002-11-15 2009-03-24 Mcm Portfolio Llc Flash media reading devices with integrated storage compartments
US7930409B2 (en) * 2005-02-23 2011-04-19 Aol Inc. Configuring output on a communication device
EP1858261A1 (de) * 2006-05-16 2007-11-21 Ascom (Schweiz) AG Echtzeitübertragung von Videodaten
TW200832274A (en) * 2007-01-17 2008-08-01 Asustek Comp Inc Video processing method and system for a virtual camera
US8954178B2 (en) 2007-09-30 2015-02-10 Optical Fusion, Inc. Synchronization and mixing of audio and video streams in network-based video conferencing call systems
US8243119B2 (en) * 2007-09-30 2012-08-14 Optical Fusion Inc. Recording and videomail for video conferencing call systems
US8276195B2 (en) * 2008-01-02 2012-09-25 Microsoft Corporation Management of split audio/video streams
US20170251145A1 (en) * 2008-12-05 2017-08-31 University Of Pittsburgh-Of The Commonwealth Syste M Of Higher Education Passively powered image capture and transmission system
CN101833520B (zh) * 2009-03-11 2013-01-16 凹凸电子(武汉)有限公司 多个应用程序同时使用一个摄像头的系统和方法
CN101594510B (zh) * 2009-06-23 2011-11-23 腾讯科技(深圳)有限公司 一种实现摄像头资源共享的方法及系统
CN101667143B (zh) * 2009-09-18 2015-11-25 北京中星微电子有限公司 一种视频数据处理系统及方法
CN101714956B (zh) * 2009-10-29 2015-08-05 北京中星微电子有限公司 一种虚拟视频系统、视频文件远程共享系统和方法
EP2923497A4 (en) * 2012-11-21 2016-05-18 H4 Eng Inc AUTOMATIC CAMERA CAMERA, AUTOMATIC RECORDING SYSTEM AND VIDEO RECORDING NETWORK
EP2790102A1 (en) * 2013-04-12 2014-10-15 ST-Ericsson SA Vibrator and audio resource sharing for mobile communication device
CN103327278A (zh) * 2013-07-10 2013-09-25 亿览在线网络技术(北京)有限公司 一种图像实时共享方法及装置
US9525892B2 (en) * 2014-05-27 2016-12-20 Nextdrive Inc. Video image distribution method
CN104243906B (zh) * 2014-06-26 2018-06-01 深圳市麦驰物联股份有限公司 视频监控与可视对讲系统间的视频码流共享实现方法
EP3275170B1 (en) 2015-03-23 2023-07-05 Tahoe Research, Ltd. Workload scheduler for computing devices with camera
CN105516666B (zh) * 2015-12-14 2019-03-29 深圳市云视互联有限公司 一种音视频采集设备、音视频采集辅助系统以及音视频监控系统
CN105808353A (zh) * 2016-03-08 2016-07-27 珠海全志科技股份有限公司 一种摄像机资源共享的方法和装置
US10530706B2 (en) 2016-03-25 2020-01-07 Microsoft Technology Licensing, Llc Arbitrating control access to a shared resource across multiple consumers
CN106020777B (zh) * 2016-04-29 2018-08-07 杭州华橙网络科技有限公司 一种数据处理方法、装置及系统
KR20180023326A (ko) * 2016-08-25 2018-03-07 삼성전자주식회사 전자 장치 및 이미지 센서로부터 획득된 이미지를 어플리케이션으로 전달하기 위한 방법
US10212326B2 (en) * 2016-11-18 2019-02-19 Microsoft Technology Licensing, Llc Notifications for control sharing of camera resources
CN106598715A (zh) * 2016-12-01 2017-04-26 北京光年无限科技有限公司 一种用于机器人的图像数据处理方法及机器人
US10206083B2 (en) * 2016-12-30 2019-02-12 Intel Corporation Using wireless display docking technology over infrastructure networks
US10447924B2 (en) * 2017-06-30 2019-10-15 Microsoft Technology Licensing, Llc Camera usage notification
US10330932B2 (en) * 2017-07-14 2019-06-25 Realwear, Incorporated Multi-process access to a single-process resource
US10368128B2 (en) * 2017-08-11 2019-07-30 Microsoft Technology Licensing, Llc Memory allocation type for media buffer
CN109462726B (zh) * 2017-09-06 2021-01-19 比亚迪股份有限公司 摄像头的控制方法和装置
CN111327758B (zh) * 2018-12-17 2022-08-02 中兴通讯股份有限公司 摄像头共享方法及装置
US10769915B2 (en) * 2018-12-31 2020-09-08 TCL Research America Inc. Privacy preserving camera
CN110913145A (zh) * 2019-01-10 2020-03-24 姜鹏飞 一种拍摄控制方法、装置、设备及计算机可读存储介质
KR20200094436A (ko) * 2019-01-30 2020-08-07 삼성전자주식회사 복수의 어플리케이션에 카메라에서 획득한 이미지를 제공하는 전자 장치 및 그의 동작 방법
CN111565332A (zh) * 2020-04-27 2020-08-21 北京字节跳动网络技术有限公司 视频传输方法、电子设备和计算机可读介质
CN114079732B (zh) * 2020-08-20 2022-11-22 腾讯科技(深圳)有限公司 摄像头控制方法及装置、电子设备、存储介质
CN112118459A (zh) * 2020-08-28 2020-12-22 上海商米科技集团股份有限公司 共享摄像头数据实现多个app共同直播的方法及可读介质
CN114302040B (zh) * 2021-12-24 2024-03-19 展讯半导体(成都)有限公司 多应用共享单一摄像头的方法及相关产品
CN114500877A (zh) * 2021-12-30 2022-05-13 惠州华阳通用智慧车载系统开发有限公司 一种摄像头的共享方法、系统及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3321651B2 (ja) * 1991-07-26 2002-09-03 サン・マイクロシステムズ・インコーポレーテッド コンピュータの出力表示のためのフレームバッファメモリを提供する装置および方法
US5815678A (en) * 1995-07-14 1998-09-29 Adaptec, Inc. Method and apparatus for implementing an application programming interface for a communications bus
US5842015A (en) * 1996-07-26 1998-11-24 Hewlett-Packard Company System and method for real-time control of hardware in a multiprocessing environment
US6308248B1 (en) * 1996-12-31 2001-10-23 Compaq Computer Corporation Method and system for allocating memory space using mapping controller, page table and frame numbers
US6380968B1 (en) * 1998-01-06 2002-04-30 Intel Corporation Method and apparatus for controlling a remote video camera in a video conferencing system
KR100605067B1 (ko) * 1998-08-12 2006-07-26 텍사스 인스트루먼츠 인코포레이티드 프로세싱 태스크들 간의 애플리케이션 제어된 데이터 플로우
US7830362B2 (en) * 2001-07-05 2010-11-09 Michael Cain Finley Laser and digital camera computer pointer device system
JP4322119B2 (ja) * 2001-12-14 2009-08-26 エヌエックスピー ビー ヴィ データ処理システム
US7289716B2 (en) * 2002-06-14 2007-10-30 Microsoft Corporation Scalable programmable video recorder
TW589880B (en) * 2003-03-07 2004-06-01 Asustek Comp Inc Processing method and system for real-time video stream
US7032088B2 (en) * 2003-08-07 2006-04-18 Siemens Corporate Research, Inc. Advanced memory management architecture for large data volumes
US7139894B1 (en) * 2003-09-12 2006-11-21 Microsoft Corporation System and methods for sharing configuration information with multiple processes via shared memory
US7486297B2 (en) * 2003-09-22 2009-02-03 Ati Technologies, Inc. Method and apparatus for image processing in a handheld device

Also Published As

Publication number Publication date
CN1744048B (zh) 2010-09-29
KR100962753B1 (ko) 2010-06-10
WO2006028659A2 (en) 2006-03-16
KR20090009998A (ko) 2009-01-23
TWI285499B (en) 2007-08-11
TW200611560A (en) 2006-04-01
EP1790164A2 (en) 2007-05-30
US20060050155A1 (en) 2006-03-09
WO2006028659A3 (en) 2007-03-15
CN1744048A (zh) 2006-03-08

Similar Documents

Publication Publication Date Title
KR100962753B1 (ko) 영상 캡처 장치 출력 공유 방법 및 영상 캡처 장치 출력 공유 시스템
US11074082B2 (en) Fully extensible camera processing pipeline interface
US11048913B2 (en) Focusing method, device and computer apparatus for realizing clear human face
US20060244839A1 (en) Method and system for providing multi-media data from various sources to various client applications
US20100231754A1 (en) Virtual camera for sharing a physical camera
US20060064701A1 (en) Multi-instance input device control
JP2001189886A (ja) 撮像装置、情報処理装置、画像処理システム、画像処理方法、及び記憶媒体
US20110317763A1 (en) Information processing apparatus and information processing method
US20180220872A1 (en) Medical information recording device
WO2023055635A1 (en) Region of interest (roi)-based upscaling for video conferences
KR20070082835A (ko) 직접 메모리 액세스 제어장치 및 방법
CN116962870A (zh) 车载拍摄数据管理方法、装置、电子设备及可读存储介质
KR102012717B1 (ko) 360 vr 영상을 실시간으로 생성하는 영상변환장치 및 시스템
WO2016203971A1 (ja) データ転送装置およびデータ転送方法
US20190324646A1 (en) Memory access device, image-processing device, and imaging device
JP6041630B2 (ja) 画像処理装置
JP2022042011A (ja) 医療情報制御システム、信号処理装置、及び医療情報制御方法
JP2003304481A (ja) 画像処理装置と画像処理方法
KR101716861B1 (ko) 영상데이터 관리 장치 및 방법
US20190043155A1 (en) Systems for processing image signals
US10530980B2 (en) Apparatus for managing video data and method the same
JP3629169B2 (ja) 映像信号処理装置
WO2018168506A1 (ja) 画像変換支援装置、画像変換装置、画像変換支援方法、及びコンピュータ読み取り可能な記録媒体
JP2021125748A (ja) 情報処理装置、撮像装置、情報処理方法、及びプログラム
CN117082337A (zh) 图像处理系统、方法及相关装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
J201 Request for trial against refusal decision
B601 Maintenance of original decision after re-examination before a trial
E801 Decision on dismissal of amendment
J121 Written withdrawal of request for trial
WITB Written withdrawal of application