KR101015351B1 - 미디어 필터 관리 방법, 컴퓨터 시스템, 확장가능 미디어 관련 컴퓨터 시스템 프로세스를 주문제작하는 방법, 미디어 관련 필터를 설치하는 방법 및 컴퓨터 판독가능 기록 매체 - Google Patents

미디어 필터 관리 방법, 컴퓨터 시스템, 확장가능 미디어 관련 컴퓨터 시스템 프로세스를 주문제작하는 방법, 미디어 관련 필터를 설치하는 방법 및 컴퓨터 판독가능 기록 매체 Download PDF

Info

Publication number
KR101015351B1
KR101015351B1 KR1020030062955A KR20030062955A KR101015351B1 KR 101015351 B1 KR101015351 B1 KR 101015351B1 KR 1020030062955 A KR1020030062955 A KR 1020030062955A KR 20030062955 A KR20030062955 A KR 20030062955A KR 101015351 B1 KR101015351 B1 KR 101015351B1
Authority
KR
South Korea
Prior art keywords
filter
media
filters
add
computer
Prior art date
Application number
KR1020030062955A
Other languages
English (en)
Other versions
KR20040086098A (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 KR20040086098A publication Critical patent/KR20040086098A/ko
Application granted granted Critical
Publication of KR101015351B1 publication Critical patent/KR101015351B1/ko

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

미디어 프로세싱 필터를 자동적으로 설치하고 사용하여 시스템 프로세스의 미디어 기능을 확장하는 시스템 및 방법이 개시된다. 시스템 서비스는 시스템 상에 설치될 애드인 필터에 의해 요구된다. 필터 관리 서비스는 요구를 프로세싱하고, 장치 드라이버, 애플리케이션 및 취득 소프트웨어 등의 다른 시스템 프로세스에 의해 나중에 호출될 필터를 설치한다. 시스템 프로세스는 필터 관리 서비스를 사용하여 시스템 상에 이용가능한 필터를 열거하고 하나 이상의 필터를 선택하여 그들의 미디어 기능을 확장한다. 필터는 임의의 주어진 시간에 다수의 프로세스에 의해 사용될 수 있는 오브젝트이다. 또한, 필터 관리 서비스는 시스템 상에 필터를 설치하기 전에 필터의 신뢰성을 확인할 수 있다. 또한, 필터 관리 서비스는 사용하기 위한 필터를 요구하는 프로세스로부터 분리된 프로세스로부터 호출될 선택된 필터를 제공하는데 사용될 수 있다. 설치된 필터는 그들의 관련된 카테고리에 따라 탐색되고 열거될 수 있다.
Figure R1020030062955
애드인 필터, 소프트웨어 요소

Description

미디어 필터 관리 방법, 컴퓨터 시스템, 확장가능 미디어 관련 컴퓨터 시스템 프로세스를 주문제작하는 방법, 미디어 관련 필터를 설치하는 방법 및 컴퓨터 판독가능 기록 매체{SYSTEM ARCHITECTURE AND RELATED METHODS FOR DYNAMICALLY ADDING SOFTWARE COMPONENTS TO EXTEND FUNCTIONALITY OF SYSTEM PROCESSES}
도 1은 애드인(add-in) 필터를 설치하고 사용함으로써 시스템 프로세스의 미디어 기능을 확장하는 스태틱 방법을 나타내는 블록도.
도 2는 애드인 필터를 자동적으로 설치하고 사용함으로써 시스템 프로세스의 미디어 기능을 확장하는 다이내믹 방법을 나타내는 블록도.
도 3은 애드인 필터를 동적으로 자동적으로 설치하고 사용하여 시스템 프로세스의 미디어 기능을 확장하는 방법의 플로우챠트.
도 4는 애드인 필터를 동적으로 자동적으로 설치하고 사용하여 다양한 유형의 시스템 프로세스의 매치 기능을 확장하는 애드인 매니저 서비스를 포함하는 시스템 아키텍처를 나타내는 블록도.
도 5는 시스템내에 애드인 필터를 설치하고, 탐색하고, 열거하는 방법을 갖는 애드인 매니저에 대한 인터페이스의 프로그램 표시.
도 6은 시스템 프로세스에 의해 나중에 호출될 시스템내의 애드인 필터를 자동적으로 설치하는 방법을 설명하는 플로우챠트.
도 7은 시스템내의 애드인 필터의 열거에 대한 요구를 프로세싱하기 위한 애드인 매니저 서비스용 방법을 설명하는 플로우챠트.
도 8은 제공된 기준에 따라 시스템내의 애드인 필터의 열거에 대한 요구를 프로세싱하기 위한 애드인 매니저 서비스용 방법을 설명하는 플로우챠트.
도 9는 애드인 필터에 의해 열거된 하나 이상의 필터를 선택하고 선택된 필터를 사용하여 자신의 미디어 프로세싱 기능을 확장하는 시스템 프로세스용 방법을 설명하는 플로우챠트.
도 10은 프로세스에 의해 선택될 때 시스템 프로세스에 의한 호출 (invocation)에 응답하여 그 미디어 기능을 확장하는 애드인 필터용 방법을 설명하는 플로우챠트.
도 11은 애드인 필터에 의해 공급되어 사용자로부터 그 프로세싱 파라미터 중의 하나 이상을 수신하는 사용자 인터페이스.
도 12는 필터 오브젝트를 호출하는 프로세스로부터 신뢰성없는 필터를 분리함으로써 애드인 필터를 호출하는 프로세스의 안전을 확보하는 방법을 설명하는 블록도.
도 13은 신뢰성있는 필터 오브젝트가 시스템 프로세스내로부터 호출되도록 하는 방법을 나타내는 블록도.
도 14는 체인으로 결합되어 미디어 데이터를 연속적으로 프로세싱하는 애드인 필터를 나타내는 블록도.
도 15는 미디어 데이터의 더 많은 부분을 계속적으로 수신하면서 미디어 데 이터의 선택된 부분을 수신하고 수신된 부분을 프로세싱하고 프로세싱된 부분을 출력하는 애드인 필터를 나타내는 블록도.
도 16은 미디어 파일의 부분을 연속적으로 프로세싱하는 다수의 기능을 갖는 다수의 애드인 필터를 나타내는 블록도.
*도면의 주요 부분에 대한 부호의 설명
210: 프로세스
220: 애드인 매니저
245: 애드인 필터
250: 편집기
260: 내장 필터
270: 렌더 타겟
본 발명의 기술 분야는 일반적으로 컴퓨터 시스템 아키텍처에 관한 것이며, 특히, 시스템 프로세스에 소프트웨어 요소를 자동적으로 추가하는 오퍼레이팅 시스템 아키텍처에 관한 것이다.
디지털 오디오 테이프(DAT), 디지털 비디오 디스크(DVD), 디지털 비디오 카메라 및 디지털 스틸 카메라 등의 디지털 미디어 장치의 급증으로, 컴퓨터 사용자는 디지털 미디어 파일을 프로세싱하고 사용하기 위한 하드웨어 및 소프트웨어 능 력의 증가를 요구하고 있다. 많은 수의 IHV(independent hardware vendor)와 ISV(independent software vendor)가 증가된 미디어 기능에 대한 이러한 요구를 만족시키기 위하여 시장에 도입되어 왔다. 이러한 많은 ISV 및 IHV의 시장 도입은 미디어 기능을 갖는 오퍼레이팅 시스템과 애플리케이션의 개발자에게 많은 도전을 제공한다. 예를 들어, IHV 및 ISV는 코덱 및 다른 필터를 위한 많은 가변적인 포맷을 생성하였다. 현재, 오퍼레이팅 시스템 및 애플리케이션은 널리 이용되지 않는 다수 포맷으로 작업하기 위한 능력을 제한하여 왔다.
필터는, 코덱(코더 또는 디코더)으로서 제공되거나, 이펙트(예를 들어, 색보정, 휘도 향상 등)를 추가하거나, 파일의 내용(예를 들어, 주어진 화상 파일의 사람 수와 같은 메타 데이터(metadata) 추출용을 분석하기 위하여 미디어 파일(예를 들어, 오디오, 비디오, 또는 스틸 화상)과 함께 사용되는 소프트웨어 요소이다. 현재, 몇개의 코덱 표준(예를 들어, JPEG, TIFF)는 화상 파일을 포맷하기 위한 탁상 출판(desk top publishing)에 널리 사용된다. 대부분의 오퍼레이팅 시스템, 애플리케이션 및 취득(acquisition) 소프트웨어는 이러한 널리 사용되는 표준을 지원한다. 예를 들어, Microsoft
Figure 112003033753323-pat00001
Corporation에 의한 Microsoft
Figure 112003033753323-pat00002
Windows
Figure 112003033753323-pat00003
Me 및 Microsoft
Figure 112003033753323-pat00004
Windows
Figure 112003033753323-pat00005
XP의 취득 소프트웨어 명명 스캐너 및 카메라 위저드는 스캐너 및 디지털 카메라 장치와 함께 작업하고 스캐너 및 디지털 카메라 드라이버에 의해 생성된 TIFF 파일을 디코딩하고 프로세싱할 능력을 갖는다.
그러나, 디지털 카메라 및 스캐너 등의 하드웨어의 몇몇 제조자는 그들 자신 의 하드웨어 요소를 가지고 작업하도록 특별히 설계된 코덱을 사용하는 것을 선호할 수 있다. 예를 들어, Nikon
Figure 112003033753323-pat00006
Corporation은 디지털 화상을 코딩하고 디코딩하는 TIFF/EP 포맷으로서 공지된 특수 버전의 TIFF를 사용하기를 선호한다. 그러나, TIFF/EP 포맷은 오퍼레이팅 시스템 또는 화상 프로세싱 애플리케이션에 의해 널리 사용되거나 지원되지 않는다. 예를 들어, Microsoft
Figure 112003033753323-pat00007
Corporation에 의한 Windows
Figure 112003033753323-pat00008
XP 오퍼레이팅 시스템은 화상용 TIFF/EP 포맷을 지원하지 않는다. 따라서, Windows
Figure 112003033753323-pat00009
XP 데스크탑 사용자는 별도의 뷰어 애플리케이션을 설치하지 않고 Nikon
Figure 112003033753323-pat00010
카메라로부터 얻어진 TIFF/EP 화상 파일을 디코딩하고 관찰할 수 없을 것이다. 또한, Microsoft
Figure 112003033753323-pat00011
Corporation에 의한 화상 뷰어(Image Viewer) 등의 어떤 화상 프로세싱 애플리케이션은 TIFF형 파일이 애플리케이션에 부여될때마다 표준 TIFF 디코더를 사용하도록 설계되어 있으므로 TIFF/EP를 지원하도록 확장될 수 없다. 현재, 사용자는 TIFF/EP 화상을 관찰하고 개선시키기 위하여 그들의 Windows XP
Figure 112003033753323-pat00012
시스템에 TIFF/EP 코덱 성분을 추가하고 TIFF/EP 화상을 가지고 작업하도록 특수 설계된 애플리케이션을 사용해야 한다. 그러므로, 시스템 프로세스에 애드인(add-in)으로서 그들 자신이 소유하는 필터를 제공함으로써 IHV 및 ISV가 장치 드라이버, 취득 소프트웨어 및 다른 애플리케이션 등의 기존의 시스템 프로세스의 능력을 확장시키는데 있어서 좀더 유연성있는 오퍼레이팅 시스템의 필요성이 증가하였다. IHV 또는 ISV가 기존의 애플리케이션 또는 취득 소프트웨어의 능력을 확장시키는 것은 또한 특수 필터와 작업하기 위하여 고객 애플리케이션을 생성할 필 요성을 제거할 것이며, 대신 ISV와 IHV가 애드인으로서 최상의 필터를 제공하는 것에 대하여 그들의 노력을 집중하도록 한다.
애드인 필터의 임의의 에러가 잠재적으로 그들 자신의 소프트웨어 요소의 동작에 영향을 줄 수 있으므로, 소프트웨어 개발자는 외부 엔티티에 의해 개발된 필터가 애드인으로서 사용될 수 있도록 하는데 신중하다. 따라서, 애드인 필터를 사용하는 시스템 또는 애플리케이션의 안전을 적절하게 확보하는 시스템 및 방법이 필요하다.
일반적으로, 시스템 상에 설치된 필터 요소는 애플리케이션과 결합되거나 선택된 임의의 애플리케이션과 함께 특별하게 작업하도록 설치된다. 통상, 시스템 상의 많은 다른 애플리케이션은 설치된 필터의 기능을 액세스할 수 없다. 따라서, 시스템 상의 모든 프로세스가 애드인 필터를 탐색하고 사용하여 애드인 필터가 특정되지 않은 애플리케이션 및 장치 드라이버에 의해 사용될 수 있는 개방되고 유연성있는 시스템 아키텍처가 필요하다.
또한, 증가된 미디어 기능에 대한 요구로, 다수의 미디어 기능을 갖는 다양한 필터가 시스템 상에 설치되어 사용된다. 따라서, 애플리케이션 또는 (애플리케이션을 통한) 사용자가 필요할때 적절한 애드인을 선택할 수 있도록 시스템 상에 설치되어 이용가능한 애드인 필터를 탐색하고 열거하는데 효율적인 시스템 아키텍처가 필요하다.
또한, 시스템 상에 설치된 다수의 필터는 각각 다수의 미디어 기능을 가질 수 있으며 어떤 필터는 중첩하는 가능을 가질 수 있다. 어떤 경우, 필터 중의 하 나 이상이 임의의 유형의 미디어 프로세싱에 특히 적합할 수 있다. 사용자 또는 시스템 프로세스는 적절한 필터를 선택하기 전에 필터의 기능을 탐색할 필요가 있을 수 있다. 이것을 달성하는 하나의 방법은 메모리에 필터를 로드한 후 그 능력을 판정하는 것이다. 그러나, 이것은 시스템 자원들을 구속하고 필터가 애드인 프로세스를 지루하고 느리게 할 수 있다. 따라서, 메모리로 필터를 로딩하지 않고, 그들의 특징에 의해 필터를 분류하고 그들의 분류에 의해 필터를 검색하고 탐색하고 열거하는 시스템 및 방법이 필요하다.
여기에 설명한 바와 같이, 미디어 프로세싱 필터를 자동적으로 설치하고 호출하여 미디어 애플리케이션, 취득 소프트웨어 및 장치 드라이버 등의 시스템 프로세스의 미디어 관련 기능을 확장하는 시스템 아키텍처 및 방법이 제공된다.
일 형태에서, 시스템 아키텍처는 하나의 엔티티에 의해 제공된 애드인 필터가 또다른 엔티티에 의해 제공된 기존의 프로세스의 능력을 확장하는데 사용될 수 있도록 개방적이고 유연성이 있다. 시스템은 애드인 필터가 시스템 상에 설치될 요구 자체에 대한 애드인 매니저 시스템 서비스로서 지칭되는 필터 관리 서비스를 사용하도록 한다. 필터 자체는 그 기능에 관련된 정보를 애드인 매니저에 제공하고 애드인 매니저는 그 정보를 사용하여 임의의 시스템 프로세스에 의해 호출될 애드인 필터를 시스템 상에 식별가능하게 설치한다.
또다른 형태에서, 애드인 매니저는 시스템 프로세스에 의한 요구에 응답하여 시스템 상에서 이용가능한 애드인 필터를 열거한다. 그후, 프로세스는 열거된 애드인 필터로부터 선택하여 그 자신의 미디어 프로세싱 능력을 확장할 수 있다. 필터는 그들의 기능 및 특징에 따라 분류될 수 있고 이러한 분류에 따라 열거될 수 있다. 일 실시예에서, 애드인 매니저는, 시스템 상에 설치된 임의의 프로세스에 의해 사용되어 그들 자신의 미디어 프로세싱 기능을 확장하는 서비스이다.
여전히 다른 형태에서, 설치되도록 요구되는 애드인 필터에는 디지털 서명 등의 안전 메카니즘이 제공되고 애드인 매니저는 시스템 상에 필터를 설치하기 전에 디지털 서명을 확인한다. 또한, 애드인 필터를 호출한 프로세스 그 자체가 애드인 매니저에게 선택된 디지털 서명을 갖는 필터만을 열거할 것을 요구한다. 또한, 애드인 매니저는 애드인 필터의 열거를 요구하는 프로세스로부터 분리된 프로세스의 선택된 애드인 필터를 이용하도록 요구되어 애드인 필터의 임의의 에러 또는 실패가 열거를 요구하는 프로세스의 동작에 영향을 줄 수 없다.
또다른 형태에서, 애드인 매니저는 다수 종류의 다수 필터를 열거할 수 있고 프로세스는 체인으로 함께 결합된 다수의 필터를 사용하여 미디어 데이터를 연속적으로 프로세싱할 수 있다.
여기에 개시된 시스템 및 방법의 또다른 특징 및 이점은 수반된 도면을 참조한 다음의 상세한 설명으로부터 명백해질 것이다.
개요
필터는 미디어(예를 들어, 오디오, 비디오, 및 스틸 화상)를 프로세싱하는 데 사용되는 소프트웨어 요소이다. 필터는 코덱(코더 또는 디코더), 분석 필터, 또는 인핸스먼트(enhancement) 필터일 수 있다. 코덱의 예는 비디오용 MPEG, 디지 털 스틸 화상용 JPEG 또는 TIFF 및 오디오 파일용 WAV 또는 AVI를 포함한다. 코덱은 네트워크를 통한 효율적인 전송을 위한 미디어 파일을 압축하는데 주로 사용된다. 또한, 이펙트(effect)로서 또한 지칭되는 인핸스먼트 필터는 화상 비트를 변경함으로써 미디어 파일에 인핸스먼트 이펙트를 추가하여 데이터를 향상시키거나 데이터를 달성(예를 들어, 화상 파일에 대한 휘도 향상 또는 오디오 파일에 대한 잡음 감소)하는데 주로 사용된다. 분석 필터는 화상 파일로부터 데이터를 추출한다(예를 들어, 화상 파일의 배경의 색 등 메타데이터). 많은 필터가 오퍼레이팅 시스템 소프트웨어(예를 들어 Microsoft
Figure 112003033753323-pat00013
Windows
Figure 112003033753323-pat00014
XP) 또는 미디어 프로세싱 애플리케이션(예를 들어 Adobe
Figure 112003033753323-pat00015
Photoshop
Figure 112003033753323-pat00016
)과 함께 표준으로서 제공된다. 그러나, 특정 오퍼레이팅 시스템 플랫폼 또는 애플리케이션에 의해 지원될 수 없는 특수 목적을 제공하는 무수한 필터가 있다. 이들중에서, 이하에서 설명하는 시스템 아키텍처 및 방법은 애드인으로서 필터를 추가하여 기존의 시스템 프로세스의 능력을 확장하는 개방되고 유연성있는 아키텍처를 제공한다.
도 1은 애드인을 제공함으로써 시스템의 능력을 확장하여 특수 작업을 달성하는 스태틱 방법을 나타낸다. 이러한 시스템에서, 프로세스(110)(예를 들어, 장치 드라이버, 애플리케이션 또는 취득 소프트웨어)는 시스템 레지스트리(120; system registry)에 등록된 이용가능한 애드인 필터(125)를 알고 있을 필요가 있다. 그후, 프로세스(110)는 특정 애드인 필터 오브젝트(125)를 선택하고 편집기(130; 예를 들어, Microsoft
Figure 112003033753323-pat00017
Corporation에 의한 필터 그래프 편집기)를 사용하여 내장 필터(140) 등의 다른 요소와 필터(125)를 합하여 미디어 파일을 프로세싱하고 그것을 150의 렌더 타겟(render target; 예를 들어, 디스플레이, 스피커, 또는 파일)에 제공할 수 있다. 이러한 방법은 기존의 애드인 필터(125)를 알고 있는 애플리케이션 자체에 의존해야 하거나 레지스트리(120)에 조회하여 기존의 필터(125)의 이용가능성을 탐색하기 위하여 애플리케이션 자체내에 광대한 코드를 가져야 한다. 이것은 코드의 추가 라인을 추가하여 애드인 필터 데이터의 조회와 처리를 달성하도록 요구하는 상당한 부담을 애플리케이션 개발자에게 부여한다.
애드인 필터의 다이내믹한 설치와 호출을 위한 예시적인 전체 시스템 및 방법
도 2는 애드인 필터(245)로 시스템 프로세스(210)의 능력을 확장하는 좀더 다이내믹하고 유연성있는 시스템(200)을 나타낸다. 이러한 시스템에서, 여기에서 애드인 매니저(220)로서 언급되는 시스템 서비스는, 전체 시스템에 액세스되어 프로세스(210)와 애드인 필터(245) 사이의 노드로서 제공하는 컴포넌트 오브젝트(예를 들어, Microsoft
Figure 112003033753323-pat00018
Windows
Figure 112003033753323-pat00019
플랫폼의 컴포넌트 오브젝트 모델(Component Object Model) 오브젝트)로서 제공된다. 따라서, 일단에서, 애드인 필터(245)는 애드인 매니저(220)를 사용하여 시스템의 240에 애드인 필터를 설치하고 프로세스(210)에 애드인 필터가 이용가능하도록 할 수 있다. 다른 단에서, 애드인 매니저(220)는 프로세스(210)에 의해 사용되어 인터페이스를 탐색하고 열거하고 그 인터페이스를 필터(245) 등의 애드인 필터에 제공한다. 프로세스(210)는 편집기(250)를 사용하여 내장 필터(260)와 함께 애드인 필터(245)를 추가하여 미디 어 파일을 프로세싱하고 그 미디어 파일을 렌더 타겟(270)에 제공할 수 있다. 애드인 필터의 설치 및 공급을 관리하는 별도의 시스템 서비를 제공하는 것은 그러한 코드의 광대한 작업을 처리하는 것으로부터 프로세스(210)의 부담을 줄일 뿐만 아니라 애드인 매니저(220)에 호출을 발생시킬 수 있는 시스템 상의 모든 프로세스에 잠재적으로 이용가능한 서비스를 형성할 것이다.
또한, 애드인 매니저(220)를 갖는 전체 시스템(200)은 신뢰성있는 안전 모델을 제공하여 임의의 에러가 있기 쉬운, 의심스러운, 또는 확인되지 않은 필터가 애드인 필터(245)를 사용할 수 있는 프로세스(210)내에 에러를 발생시키거나 시스템을 손상시킬 수 없도록 해야 한다. 예를 들어, 애드인 매니저(220)는 225에서 시스템의 설치 또는 등록전에 애드인 필터(245)를 확인하는 데 사용될 수 있다. 또한, 애드인 매니저(220)는 215에서 애드인 필터(245)로부터 프로세스(210)를 분리하여 애드인 필터(245)의 에러가 프로세스(210)로 이송되지 않도록 하는데 이용될 수 있다. 시스템(200)의 이들 형태 및 다른 형태가 이하에 추가적으로 상세히 기재된다.
200의 예시된 전체 시스템 아키텍처와 애드인 매니저(220)는 애드인 필터를 동적으로 설치하고 호출하여 시스템 프로세스(210)의 능력을 확장하는 방법을 구현하는 데 사용될 수 있다. 도 3은 이러한 하나의 프로세스를 도시한다. 310에서, 애드인 매니저는 시스템과 관련된 하나 이상의 프로세스에 의해 호출될 시스템내의 애드인 필터를 설치하는 데 사용될 수 있다. 그후, 320에서, 애드인 매니저(220)는 시스템 프로세스에 의해 사용될 애드인 필터를 동적으로 호출하는 데 사용될 수 있다. 예를 들어, 애드인 매니저(220)는, 요구를 발생하고 특정 조회 기준을 충족하는 필터의 리스트를 애플리케이션에 제공하는 데 사용될 수 있다. 그후, 애플리케이션은 애플리케이션에 제공되어 특수 작업을 달성할 수 있는 필터의 리스트로부터 선택할 수 있다.
애드인을 설치하고 호출하는 시스템 상의 프로세스에 이용가능한 시스템 서비스를 갖는 예시적인 시스템 아키텍처
도 4는 애드인 필터를 설치하고 호출하는 시스템 서비스를 갖는 시스템 아키텍처를 나타낸다. 특히, 도 4는 애드인 필터를 탐색하고 사용하는 시스템의 모든 프로세스에 대하여 이용가능한 시스템 서비스를 갖는 시스템 아키텍처를 나타낸다. 프로세스는 장치 드라이버(430; 예를 들어, 특정 스캐너 모델을 위한 장치 드라이버), 하드 드라이브(470) 상에 기억하기 전에 장치로부터 데이터를 프로세싱하는 데 사용될 수 있는 취득 소프트웨어(420), 취득 사용자 인터페이스(425) 및 일반적인 애플리케이션(410)을 포함할 수 있다. 애드인 매니저(440)는 시스템 와이드 서비스(system wide service)이며 이들 모든 프로세스(예를 들어, 430, 420, 410, 및 425)에 의해 액세스 될수 있다. 또한, 애드인 필터는 IHV, ISV 또는 제 3 벤더(vendor)에 의해 제공될 수 있다. 따라서, 제 3 벤더에 의해 제공된 신뢰성있는 필터는 IHV에 의해 제공된 드라이버 또는 ISV에 의한 애플리케이션을 확장하는 데 사용될 수 있다. 이러한 유연성은 사용자가 그들의 데스크탑을 주문제작하도록 하여 그들의 시스템의 미디어 기능을 증가시킬 수 있게 할 것이다.
장치 드라이버(430)의 능력은 애드인 매니저(440)을 사용하여 확장되어 특수 작업에 사용될 하나 이상의 열거된 필터를 선택하는 시스템 상에서 이용가능한 애드인 필터(455)를 열거할 수 있다. 드라이버 측(470) 상의 애드인 필터는 애드인의 임의의 지식을 가진 사용자없이 미디어 데이터를 프로세싱하는 데 사용될 수 있다. 예를 들어, 특정 모델이 어두운 그림자를 갖는 착색된 페이퍼를 스캔하는 것을 스캔 제조자가 알면, 드라이버 측(470)에 애드인 필터(455)를 제공하여 사용자의 지식이나 중재없이 그러한 결점을 자동적으로 보정할 수 있다.
또한, 일반적인 장치 드라이버(430)는, 장치(도시하지 않음)로부터 애플리케이션 또는 오퍼레이팅 시스템으로 미디어 데이터를 전송하고 전송된 데이터를 프로세싱하는 것과 관련된 작업을 수행한다. 장치와 시스템 사이의 데이터 전송과 관련된 드라이버(430)의 요소는 다른 장치 모델에 대해서 일반적으로 동일하다. 그러나, 다른 이펙트 및 인핸스먼트 필터가 다른 장치 모델을 위한 드라이버에 사용될 수 있다. 미디어 데이터의 프로세싱과 관련된 드라이버(430)의 요소는 애드인 필터(455)로서 구현될 수 있고, 애드인 매니저(440)를 사용하여 필요할때 드라이버에 의해서만 호출될 수 있다. 따라서, 유연성있는 시스템 아키텍처(400)는 IHV 또는 드라이버 개발자가 다수 장치 모델들간에 공유될 임의의 특수 필터없이 표준 드라이버를 제공하도록 하고 애드인으로서 모델 독립 요소를 제공하여 표준 드라이버를 확장한다. 또한, 완전히 새로운 버전의 장치 드라이버를 제공하는 대신에 임의의 업그레이드 및 향상된 특징이 애드인으로서 제공될 수 있다. 이것은 드라이버를 유지하는데 드는 비용을 상당히 절약할 수 있게 한다.
또한, IHV는 애드인 매니저(440)를 사용하여 유사한 내장 또는 시스템 디폴 트(default) 필터의 기능을 대체할 수 있다. 예를 들어, Microsoft
Figure 112003033753323-pat00020
Windows
Figure 112003033753323-pat00021
XP 플랫폼의 스캐너 취득 소프트웨어는 스캔된 화상의 부분으로서 스캐너의 문서 공급 롤러를 인식한다. 현재, 사용자는 스캔된 롤러를 포함하지 않는 영역을 선택함으로써 이것에 대하여 수동으로 보정해야만 한다. 그러나, IHV는 애드인 매니저를 사용하여 애드인 필터를 제공하고 내장 필터를 대체하고 스캔된 화상으로부터 자동적으로 롤러를 제거한다.
취득 소프트웨어(420; 예를 들어, Microsoft
Figure 112003033753323-pat00022
Corporation에 의한 스캐너 및 카메라 위저드)는 일반적으로 장치로부터 시스템 또는 시스템으로부터 장치로 데이터가 이송됨에 따라 미디어 데이터를 프로세싱하는 데 사용된다. 취득 소프트웨어(420)는 애드인 매니저(440)를 사용하여 드라이버(430)에 대하여 상술한 바와 같이 동일한 방법으로 그들 자신의 능력을 확장할 수 있다. 현재, IHV는 그들 자신의 취득 소프트웨어를 제공하여 오퍼레이팅 시스템에 내장된 표준 취득 소프트웨어에 의해 통상 지원되지 않는 특수 필터와 함께 작업해야 한다. 그러나, 시스템 아키텍처(400)에서는, 오퍼레이팅 시스템에 내장된 취득 소프트웨어(예를 들어, Microsoft
Figure 112003033753323-pat00023
Corporation에 의한 스캐너 및 카메라 위저드)는 애드인으로서 특수 필터를 사용함으로써 확장될 수 있다. 따라서, IHV는 그들을 대체하기보다는 오히려 기존의 취득 소프트웨어의 기능에 추가할 수 있다.
마찬가지로, 애플리케이션은 또한 애드인 매니저(440)를 사용하여 460의 시스템 상에서 이용가능한 애드인 필터(465)를 탐색하고, 열거하고, 선택하고, 사용 하여 그들의 기능을 확장한다. 따라서 애드인 매니저(440)가 시스템 서비스로서 구현될때 미디어 데이터의 프로세싱의 다양한 레벨(예를 들어, 470, 475, 480)에서 다양한 프로세스(예를 들어, 410, 420, 및 430)의 기능을 증가시킬 수 있다.
시스템의 미디어 데이터의 일반적인 프로세싱의 분할은 도 4에서 애드인 매니저(440)가 소프트웨어 요소의 다양한 유형을 확장하는 데 사용될 수 있는 시스템 서비스라는 개념을 설명하기 위한 레벨(예를 들어, 470, 475, 480)로 도시된다. 마찬가지로, 애드인 필터(455, 465)를 애플리케이션 애드인(450) 및 취득 애드인(460)으로 분할하는 것은 단지 예시적인 것이며 시스템의 적절한 기능을 위하여 필수적인 것은 아니다.
애드인 필터를 설치하고 호출하는 예시적인 시스템 서비스
도 5, 6, 7, 및 8을 참조하여, 애드인 매니저(440)의 기능이 상세히 설명된다. 애드인 매니저(440)는 장치 드라이버(420) 또는 애플리케이션(410) 등의 시스템 프로세스에 의해 실증될 수 있는 오브젝트(예를 들어, 컴포넌트 오브젝트 모델)로서 구현될 수 있다. 일반적으로, 애드인 매니저(440)는 시스템 상에서 이용가능한 애드인 필터(455, 465)의 설치 및 열거의 이행 능력이 있다. 도 5는 프로세스가 그 능력을 확장하는 데 사용할 수 있는 다양한 방법과 필터 개발자가 시스템 상에 그들의 필터를 설치하는 데 사용할 수 있는 방법을 나타내는 애드인 매니저(440)의 예시적인 구현을 제공한다.
455 및 465 등의 애드인 필터는 그들의 기능에 의해 분류될 수 있고 애드인 매니저는 이러한 분류화(categorization)에 기초하여 필터를 찾을 수 있다. 다음 은 그들의 기능에 기초한 필터의 표준 카테고리의 가능한 리스트이다: 미술, 미술 이펙트, 블러(Blur), 블러 이펙트, 칼라, 칼라 이펙트, 선명, 선명 이펙트, 잡음, 잡음 이펙트. 시스템은 이러한 표준 카테고리하에서 등록된 많은 필터를 가질 수 있으며, 하나 이상의 필터가 임의의 하나의 카테고리에 속할 수 있고 단일 필터가 하나 이상의 카테고리에 속할 수 있다. 그러나, 때때로, 하나의 표준 카테고리내로 분류될 수 없는 필터가 있다. 이 경우, 필터의 기능의 고유 식별자(예를 들어, GUID (Global Unique Identifier)) 명명 카테고리 ID, 이름과 몇가지 설명을 제공함으로써 개인 카테고리를 추가하는 데 방법(510)이 사용될 수 있다. 필터가 일단 분류되고 등록되면, 방법(520)은 시스템 상에서 이용가능한 하나 이상의 필터를 갖는 모든 카테고리를 열거하는 데 사용될 수 있다. 방법(520)을 수정하여 시스템에 공지된 모든 카테고리를 간단하게 열거하거나 시스템 정의 카테고리를 열거한다. 또한, 애드인 매니저(440)는 또한 카테고리를 삭제하는 방법을 제공한다. 예를 들어, 방법(530)은 카테고리와 관련된 고유 식별자의 입력에 기초하여 카테고리를 삭제한다. 530의 방법을 사용하여 카테고리를 삭제하는 것은 카테고리만을 삭제할 수 있는 것이 아니라 삭제된 카테고리와 관련된 모든 필터를 삭제할 수 있다. 따라서, 애드인 필터(440)는 그들이 속하는 카테고리에 기초하여 필터의 추가, 열거, 및 삭제를 관리하는 능력을 가지며, 이는 필터 레벨에서 동일물을 성취하는 것보다 더 신속하고 더 효율적일 수 있다.
카테고리 대신 개별 필터를 검색하고 열거함으로써 제공된 항목의 추가 레벨이 또한 애드인 매니저(440)를 사용하여 가능하다. 방법(540)은 시스템 프로세스 에 의해 사용되어 특정 카테고리에 속하는 모든 필터를 열거할 수 있다. 방법(540)을 위한 호출은 그 고유 식별자(ID)를 사용하여 카테고리를 특정할 필요가 있다. 또한, 필터 개발자는 방법(550)을 사용하여 필터 기능의 카테고리 ID, 필터 ID, 이름, 및 설명을 제공함으로써 새로운 필터를 설치할 수 있다. 또한, 방법(560)이 사용되어 방법(560)을 위한 호출이 필터 ID를 특정하는 필터를 설치하지 않을 수 있다. 또한, 방법(570)은 시스템 프로세스에 의해 사용되어 특정 필터에 대한 정보를 얻고 필터를 사용하는지를 결정하여 그들의 능력을 확장한다.
시스템의 안전을 확보하기 위하여, 카테고리(530) 또는 필터(560)을 설치하지 않거나 삭제하기 위한 방법을 호출하는 프로세스가 적절한 안전 토큰(token)을 애드인 매니저(440)에 제공할 필요가 있다. 필터 개발자(예를 들어 특정 장치와 작업하도록 설계된 드라이버 관련 필터)는 또한 애드인 매니저(440)를 사용하여 특정 개인 카테고리 또는 고유 필터의 사용을 특정 장치 또는 애플리케이션으로 제한하고, 따라서, 다른 애플리케이션 또는 다른 장치에 의한 사용을 방지한다.
시스템 프로세스에 의해 동적으로 호출될 애드인 필터를 설치하는 예시적인 프로세스
도 5에 관련된 기재는 시스템 상에 필터를 설치하는 방법(550)을 간략히 설명한다. 도 6은 추가 항목을 갖는 필터를 설치하는 프로세스를 나타낸다. 610에서, 시스템은 시스템 상에 설치될 애드인을 수신한다. 애드인 필터는 새로운 애플리케이션 등의 설치로 관련된 장치 드라이버와 함께 제공될 수 있는 소프트웨어 컴포넌트 오브젝트일 수 있다. 또한, 사용자가 그들 자신의 편의로 서버를 액세스하 고 애드인 필터를 다운로드할 수 있도록 네트워크 상의 서버 상에 애드인 필터를 위치시킬 수 있다. 애드인 필터를 수신하는 방법이면 무엇이든지, 필터 개발자 자신이 상술한 방법을 사용하여 그들 자신의 필터를 시스템에 설치하기 위하여 애드인 매니저 인터페이스(예를 들어, 도 5)에 익숙해져야 한다. 따라서, 620에서, 애드인 필터는 애드인 매니저 인터페이스를 사용하여 애드인 매니저로부터 호(call)를 어드레싱하여 필터의 설치를 시작한다. 필터는 그 카테고리 ID, 그 필터 ID, 그 이름, 및 설명을 애드인 매니저에 제공한다. 그후, 630에서, 애드인 매니저는 추가될 필터가 신뢰성있는 필터임을 확인한다. 추가될 필터에는 애드인 매니저가 믿을만한 것으로 인식하는 디지털 서명이 제공된다. 640에서, 서명이 수락되지 않으면, 650에서, 애드인 매니저는 추가될 필터를 거부한다. 그러나, 640에서, 서명이 수락되면, 추가될 필터는 믿을만한 것으로 확인된다. 그후, 660에서, 애드인 매니저는 애드인 필터에 의해 제공된 파라미터를 사용하여 시스템 상에 애드인 필터를 설치한다. 추가될 애드인 필터가 표준 필터 카테고리 또는 시스템이 이미 익숙한 임의의 카테고리에 속하지 않으면, 애드인 매니저로의 호출기는 그 관련된 필터 중 임의의 것을 설치하기 전에 레지스트리에 카테고리(510)를 추가할 필요가 있다.
시스템 상의 애드인 필터를 검색하고 열거하는 것과 관련된 예시적인 프로세스
일단 필터가 설치되면, 도 6과 관련하여 상술한 바와 같이, 필터는 열거되고 시스템 프로세스에 제공되어 그들의 능력을 확장할 수 있다. 도 7 및 도 8은 이러 한 모든 프로세스를 설명한다. 710에서, 애드인 매니저는 시스템 프로세스로부터 호출 프로세스에 의해 제공된 기준을 충족하는 시스템 상의 이용가능한 애드인 필터의 리스트를 열거하라는 요구를 수신한다. 일단 애드인 매니저가 열거하라는 요구를 수신하면, 720에서, 호출 프로세스에 제공된 애드인 필터의 리스트를 열거함으로써 요구에 응답한다.
열거될 필터를 선택하는 기준은 하나 이상의 필터 카테고리(예를 들어, 540)에 속하는 필터의 리스트처럼 간단할 수 있다. 기준은 또한 특정 신뢰 엔티티와 관련된 디지털 서명을 갖는 필터의 열거에 대한 요구와 같이 좀더 정교할 수 있다. 도 8은 기준의 예시적인 셋트에 기초하여 시스템 상에 이용가능한 애드인 필터를 열거하는 프로세스를 나타낸다. 810에서, 애드인 매니저는 프로세스로부터 애드인 필터를 열거하라는 요구를 수신한다. 820에서, 애드인 매니저는 프로세스로부터의 요구에서 특정된 카테고리에 속하는 모든 필터를 식별한다. 후에, 830에서, 애드인 매니저는 선택된 필터가 요구하는 프로세스에 의해 특정된 디지털 서명중의 하나 이상을 갖는지를 확인한다. 예를 들어, Microsoft
Figure 112003033753323-pat00024
Corporation에 의한 애플리케이션은 Microsoft
Figure 112003033753323-pat00025
가 확인하고 승인한 디지털 서명을 갖는 애드인 필터만을 사용하기를 원할 수 있다. 또한, 840에서, 애드인 매니저는 선택된 필터가 필터와 관련된 소정의 만료일을 지나지 않았는지를 확인한다. 이것은 필터에 대한 유효 인가서를 구입하지 않은 사용자에 의해 시험용으로 필터가 시스템 상에 로드되었다면 유용할 수 있다. 따라서, 850에서, 프로세스에 의해 특정된 모든 기준(예를 들어, 카테고리 ID, 수락가능한 디지털 서명, 만료일 등)을 충족하는 필터만이 열거 된다. 기준을 더 정교하게 하는 것은 설치된 필터의 이름 또는 설명에 의존할 수 있다. 그러나, 필터를 더 정교하게 할 수록 열거의 프로세스가 덜 효율적으로 될 수 있다. 또한, 하나 이상의 기준은 애드인 매니저, 애드인 필터 및 오퍼레이팅 시스템 중 하나 이상에 의해 설정될 수 있다.
시스템 상에서 이용가능한 애드인 필터를 선택하고 사용하는 예시적인 프로세스
일단 애드인 매니저가 프로세스에 의한 요구에 응답하여 필터의 리스트를 열거하면, 프로세스는 애드인 필터를 사용하여 그들 자신의 능력을 확장할 수 있다. 도 9에 도시된 바와 같이, 910에서, 애드인 필터의 열거를 요구하는 프로세스는 열거된 애드인 필터 리스트 또는 테이블을 수신 또는 액세스한다. 그후, 920에서, 열거를 요구하는 프로세스는 이용가능한 하나 이상의 애드인 필터를 선택한다. 930에서, 열거를 요구하는 프로세스는 선택된 애드인 필터 오브젝트에 대한 인터페이스 포인터를 수신한다. 그후, 940에서, 프로세스는 애드인 필터에 대한 인터페이스를 사용하여 필터 및 그 관련된 방법을 호출하여 선택된 미디어 데이터를 프로세싱한다. 또한 필터를 직접 호출하는 프로세스 대신에 애드인 매니저에게 필터를 호출하도록 요구하거나 명령하는 프로세스를 갖는 것이 유리하다. 이것은 애드인 필터를 사용하도록 요구하는 프로세스가 필터 프로세스로부터 분리되도록 하며, 따라서, 필터내의 임의의 에러에 의해 덜 손상된다.
열거된 필터의 리스트는 애플리케이션 또는 취득 소프트웨어 사용자 인터페이스를 통해 사용자에게 디스플레이되어 사용자가 리스트로부터 필터를 선택할 수 있도록 한다. 그러나, 이러한 리스트를 사용자에게 제공하는 것이 항상 필요하거나 유용한 것이 아닐 수 있다. 이러한 경우, 애플리케이션 또는 다른 시스템 프로세스는 열거된 애드인 필터의 리스트로부터 자동적으로 선택될 수 있다.
프로세스가 선택된 애드인 필터를 선택하여 미디어 데이터를 프로세싱하면, 프로세스 또는 애드인 매니저가 필터 자체에 대한 프로세싱의 제어를 조절할 수 있다. 도 10에 도시된 바와 같이, 1010에서, 애드인 필터는 사용자에게 사용자 인터페이스를 제공하여 미디어 데이터를 프로세싱하기 위한 파라미터를 입력한다. 도 11은 확산기 이펙트 필터에 대한 사용자 정의 파라미터를 입력하는 것에 관련된 사용자 인터페이스의 일예를 나타낸다. 다른 방법으로, 필터의 기능은 임의의 사용자 입력 또는 임의의 프로세스 파라미터를 요구하지 않을 수 있다(예를 들어, 몇개의 분석 필터만이 입력으로서 미디어를 요구하고 출력으로서 하나 이상의 메타데이터를 제공할 수 있다). 1020에서, 애드인 필터는 특정 파라미터를 사용하여 미디어 데이터를 프로세싱할 수 있다. 그후, 1030에서, 애드인 필터는 프로세싱된 데이터를 애드인 필터 또는 다른 필터를 호출하는 프로세스에 제공하여 미디어 데이터의 프로세싱을 계속한다. 프로세싱된 데이터는 그후 디스플레이 또는 스피커 등의 렌더 타겟에 제공될 수 있다.
애드인 필터를 설치하고 호출하는 시스템을 위한 예시적인 안전 모델
시스템 프로세스가 애드인 필터를 사용하여 그들의 능력을 확장하도록 하는 도 4의 시스템 아키텍처는 개방되고 유연성이 있다. 이것은, 개방되고 유연성있는 아키텍처가 사용자에게 주문제작된 미디어 프로세싱 요소를 그들의 데스크탑에 추 가하도록 한다는 점에서 이점이 있다. 그러나, 이것은 또한 ISV, IHV, 또는 제 3 자에 의해 제공된 애드인 필터내에 상주할 수 있는 버그 및 에러에 손상되기 쉬운 시스템을 만든다. 오퍼레이팅 시스템 소프트웨어 또는 애플리케이션의 제조자는 사용자가 이 증가된 안전 위험에 의해 다른 당사자에 의해 제공된 요소를 사용하여 그들의 프로세스를 확장하도록 하는 데 항상 신중해왔다. 그러나, 상술한 바와 같이, 이들 걱정에 대한 몇가지는 그들의 안전 응낙을 확인할 수 있는 디지털 서명과 함께 제공될 애드인 필터를 요구함으로써 어드레싱될 수 있다. 예를 들어, 애드인 매니저는 모든 애드인 필터에게 승인된 하나 이상의 디지털 서명(예를 들어, 630 참조)를 제공할 것을 요구하도록 구성될 수 있다. 또한, 애드인 필터가 시스템내에 설치되는 것으로 승인된 후에도, 애드인 필터를 요구하는 프로세스가 애드인 매니저에 대한 추가의 안전 기준을 특정하여 그 기준을 충족하는 필터들만이 선택을 위하여 열거되도록 할 수 있다.
또한, 도 12 및 13은 그들의 능력을 확장하는 데 사용되는 애드인 필터내의 임의의 에러 또는 버그로부터 프로세스를 보호하는 여전히 다른 안전 메카니즘을 나타낸다. 도 12에 도시된 바와 같이, 프로세스(1210)는 애드인 매니저(1220)에게 이용가능한 애드인 필터(1230)의 리스트를 열거하도록 요구한다. 프로세스는 또한 애드인 매니저(1220)에게 애드인 필터의 각각과 관련된 디지털 서명을 식별하도록 요구한다. 하나 이상의 소정의 승인된 디지털 서명을 제공할 수 없는 이들 필터는 샌드박스(1240)에 배치되어 선택된 필터(1250, 1251, 1253)가 프로세스(1210)의 외부에서 사용될 수 있도록 할 수 있다. 따라서, 프로세스(1210)는 선택된 필터(1250, 1251, 1253)으로부터 격리되어 필터내의 임의의 에러 또는 버그가 동작동안 프로세스(1210)에 불량을 발생시키지 않도록 할 수 있다. 그러나, 프로세스(1210)는 여전히 필터(1250, 1251, 1253)의 출력을 수신할 수 있을 것이다.
도 12의 샌드박스 어프로치는 미디어 파일을 프로세싱하는 속도를 현저하게 감소시킬 수 있다. 그러므로, 소정의 상황하에서, 필터는 프로세스(1210) 자체내에서 이용되는 것이 바람직할 수 있다. 도 13은 프로세스(1320)내에서 호출되고 사용되는 선택된 애드인 오브젝트(1320)를 나타낸다. 비록, 이것이 더 빠른 프로세싱을 유도하지만 애드인 필터(1320)내의 에러의 결과로서 프로세스(1310) 실패의 위험을 부여한다. 그러므로, 애드인 매니저(1340)는 애드인 필터의 디지털 서명을 확인하는데 사용되어 승인된 서명을 부여하는 필터(1320)만이 프로세스(1310)내에서 호출되고 이용될 수 있도록 할 수 있다. 반면에, 애드인 필터는 도 12에 도시된 바와 같이 프로세스(1310)의 외부에 배치될 수 있다. 예를 들어, 애플리케이션이 애드인 매니저(1340)으로부터 필터의 신뢰성 확인을 수신하면, 애플리케이션 프로세스(1310)는 자신의 사용자 인터페이스를 통해 호출될 필터를 로드할 수 있다. 이러한 배열은 다른 엔티티의 소프트웨어내에서 사용될때조차도 필터 개발자가 자신의 브랜드를 광고할 수 있게 한다.
시스템 프로세스의 능력을 동적으로 확장하는 데 사용될 애드인 필터의 예시적인 특징
(도 4의 시스템 아키텍처에 의해 가능한) 프로세스의 능력을 확장하기 위하 여 애드인 매니저에 의해 사용된 애드인 필터는 애드인 매니저와 시스템 프로세스와 함께 효율적으로 작업하도록 소정의 표준 기능을 가질 필요가 있다. 예를 들어, 애드인 필터는 다수 유형의 입력을 수신하고 다수 유형의 출력 화상을 제공할 수 있다. 이러한 필터중의 하나는 다수의 화상을 취득하고 하나의 출력을 생성할 수 있는 스티칭(stitching) 필터이다. 또한, 문서 스캔 필터는 하나의 화상을 취득하고 화상 및 텍스트 데이터 등의 다수 유형의 출력을 생성할 수 있다. 화상과는 다른 출력 데이터를 제공하는 필터의 예는 주석(annotation) 발생기 및 화상 측정 필터를 포함한다. 주석 발생기는 화상 상의 데이터 스탬프로부터 날짜 등의 데이터를 추출할 수 있거나 화상내에 사람이 있는지를 추출할 수 있다. 화상 측정 필터는 스캔 파라미터를 설정하기 위하여 사용될 미리보기 스캔 화상의 히스토그램 또는 측정 형태를 생성할 수 있다.
또한, 애드인 필터는 다른 필터 오브젝트로부터 그들의 입력을 수신하고 또한 다른 필터 오브젝트로 그들의 출력을 제공하는 능력을 가져야 한다. 도 14에 도시된 바와 같이, 애드인 필터(1410, 1420, 1430)는 체인으로 결합되어 미디어 데이터(1440)가 다수의 필터(1410, 1420, 1430)를 이용하여 한번에 프로세싱될 수 있도록 한다. 그렇지 않으면, 애드인 필터(1410, 1420, 1430)의 각각은 개별적으로 프로세싱되고 렌더링된 후 또다른 필터에 의해 다시 프로세싱되어야 한다. 이것은 시간을 소비하게 한다. 체인으로 결합될 필터의 능력으로, 애드인 매니저는 몇개의 필터를 열거할 수 있고 애플리케이션은 한번에 다수의 이펙트 필터를 선택하여 그들의 능력을 확장할 수 있다.
애드인 필터의 여전히 다른 특징은 도 15에 도시되어 있다. 일반적으로, 필터는 미디어 데이터의 전체 입력의 부분만을 프로세싱할 수 있다. 예를 들어, 화상 프로세싱에 대하여, 애드인 이펙트 필터(1510) 등의 필터는 전체 화상의 부분(예를 들어 그들의 좌표에 의해 식별된)을 수신하여 선택된 부분을 프로세싱하고, 그것을 렌더 타겟 (1530)으로 출력할 수 있다. 이 방법에서, 화상이 필터를 통해 애플리케이션에 의해 조작되므로, 화상의 원래의 관찰은 이펙트에 의해 변경된 화상의 부분으로서 지속될 수 있다. 이것은 애플리케이션이 사용자에게 애드인의 이펙트의 근사한 순시 관찰을 제공하도록 할 것이다. 예를 들어, 이펙트가 바람직하지 않으면, 애드인은 선택되지 않을 수 있다. 비록, 도 15는 이 필터의 특징을 설명하기 위한 화상 파일의 일예를 사용하였지만, 다른 미디어(예를 들어, 오디오 또는 비디오)가 각각의 필터 유형과 동일한 방법으로 프로세싱될 수 있다.
도 16에 도시된 바와 같이, 애드인 필터를 체인으로 결합하는 특징(도 14) 및 미디어 파일의 일부를 프로세싱하는 특징은 결합되어 입력 파일의 부분이 프로세싱됨에 따라 체인내의 다수의 필터를 결합하거나 애드인 필터의 이펙트를 보고 들을 수 있다. 예를 들어, 1610에서의 전체 화상은 1620에서 스케일링된 후 선택된 부분이 1630에서 취소되어 1640에서 화상을 렌더링하기 전에 레드아이(red-eye)를 제거할 수 있다.
다른 방법
방법 및 시스템은 시스템 서비스 애드인 매니저, 애드인 필터, 및 시스템 프로세스 등의 몇개의 시스템 요소의 기능을 설명한다. 상술한 임의의 요소 및 다른 요소에 속하는 기능은 그들이 그렇게 수행하도록 프로그램되면 다른 관련된 컴포넌트 중의 임의의 것에 의해 수행될 수 있음을 이해할 것이다.
또한, 상술한 예들은 특정 유형의 미디어(예를 들어, 비디오, 오디오, 화상 등)의 프로세싱을 설명하였지만, 이들 예의 기초가 되는 개념은 모든 형태의 미디어 데이터에 동등하게 적용가능하다. 많은 가능한 실시예에서, 예시된 실시예는 단지 예를 포함하며 본 발명의 사상을 제한하는 것이 아님을 인식할 것이다. 오히려, 본 발명은 다음의 청구범위에 의해 정의된다. 그러므로, 이들 청구범위의 범위내에 있는 이러한 모든 실시예를 본 발명으로서 청구한다.
본 발명에 따르면, 미디어 프로세싱 필터를 자동적으로 설치하고 호출하여 미디어 애플리케이션, 취득 소프트웨어 및 장치 드라이버 등의 시스템 프로세스의 미디어 관련 기능을 확장하는 시스템 아키텍처 및 방법이 제공될 수 있다.

Claims (36)

  1. 미디어 필터를 설치하기 위한 시스템 레벨 서비스 애드인(add-in) 매니저를 갖는 오퍼레이팅 시스템을 구비하는 컴퓨터 상에서 구현되는 미디어 필터 관리 방법에 있어서,
    하나 이상의 미디어 필터를 설치하는 프로세스가 상기 하나 이상의 미디어 필터를 설치하기 위하여 상기 시스템 레벨 서비스 애드인 매니저를 인스턴트화(instantiating)하는 단계;
    상기 시스템 레벨 서비스 애드인 매니저가 상기 프로세스로부터 상기 하나 이상의 미디어 필터를 설치하라는 요구를 수신하는 단계 - 상기 요구는 상기 시스템 레벨 서비스 애드인 매니저에게로의 호(call)를 포함하고, 상기 호(call)는 필터 설치 파라미터를 포함하며, 상기 필터 설치 파라미터는 필터 ID 및 카테고리 ID를 포함함 - ;
    상기 요구를 수신하면, 상기 시스템 레벨 서비스 애드인 매니저가 상기 필터 ID 및 다른 필터 설치 파라미터들 중 적어도 일부를 사용하여 상기 하나 이상의 미디어 필터를 설치하는 단계;
    프로세스가 상기 시스템 레벨 서비스 애드인 매니저에 대한 인터페이스를 사용하여 상기 하나 이상의 설치된 미디어 필터 중 적어도 하나를 인스턴트화하고 상기 하나 이상의 설치된 미디어 필터 중 적어도 하나를 사용하여 미디어 데이터를 프로세싱하는 프로세스를 확장하게 하는 단계
    를 포함하는 미디어 필터 관리 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 하나 이상의 미디어 필터를 설치하라는 요구는,
    상기 미디어 필터와 관련된 카테고리에 대응하는 하나 이상의 고유 식별자,
    상기 미디어 필터에 대응하는 하나 이상의 고유 식별자,
    상기 미디어 필터에 대응하는 하나 이상의 이름,
    상기 미디어 필터의 하나 이상의 설명(description), 및
    상기 미디어 필터의 각각과 관련된 하나 이상의 디지털 서명 중 하나 이상을 포함하는 방법.
  4. 미디어 필터를 설치하고 열거(enumerate)하기 위한 시스템 레벨 서비스를 갖는 오퍼레이팅 시스템을 구비하는 컴퓨터 시스템 상에서 구현되는 미디어 필터 관리 방법에 있어서,
    상기 시스템 레벨 서비스는 하나 이상의 미디어 필터를 설치하라는 요구를 수신하고,
    상기 시스템 레벨 서비스는 상기 하나 이상의 미디어 필터를 설치하고,
    상기 시스템 레벨 서비스는 상기 설치된 미디어 필터 중 하나 이상을 열거하라는 요구를 수신하고,
    상기 시스템 레벨 서비스는 상기 설치된 미디어 필터 중 하나 이상을 열거하는 미디어 필터 관리 방법.
  5. 제 4 항에 있어서,
    상기 하나 이상의 미디어 필터를 설치하라는 요구는 상기 하나 이상의 미디어 필터로부터 수신되는 방법.
  6. 제 4 항에 있어서,
    상기 설치된 미디어 필터를 열거하라는 요구는 컴퓨터와 관련된 하나 이상의 프로세스로부터 수신되는 방법.
  7. 제 4 항에 있어서,
    상기 설치된 미디어 필터는 상기 미디어 필터에 대응하는 하나 이상의 카테고리에 따라 열거되는 방법.
  8. 제 7 항에 있어서,
    상기 카테고리의 각각은 고유 시스템 와이드 식별자에 대응하고 상기 필터를 열거하라는 요구는 고유 카테고리 식별자를 포함하는 방법.
  9. 제 4 항에 있어서,
    상기 필터를 설치하기 전에 상기 하나 이상의 미디어 필터와 관련된 하나 이상의 디지털 서명의 수락 가능성을 판정하는 단계를 더 포함하는 방법.
  10. 제 9 항에 있어서,
    상기 설치된 필터를 열거하기 전에 상기 필터와 관련된 하나 이상의 디지털 서명의 수락 가능성(acceptability)을 판정하는 단계를 더 포함하는 방법.
  11. 제 4 항에 있어서,
    상기 설치된 필터를 열거하기 전에 상기 필터와 관련된 하나 이상의 디지털 서명의 수락 가능성을 판정하는 단계를 더 포함하는 방법.
  12. 제 11 항에 있어서,
    상기 설치된 필터의 열거를 요구하는 프로세스로부터, 수락할 수 없는 디지털 서명을 갖는 것으로 판정된 필터를 분리하는 단계를 더 포함하는 방법.
  13. 제 11 항에 있어서,
    상기 설치된 필터의 열거 수락 가능성은 열거를 요구하는 프로세스로부터 수신된 기준에 따라 판정되는 방법.
  14. 제 11 항에 있어서, 시스템 상의 설치된 필터의 열거 수락 가능성은 열거를 요구하는 프로세스, 상기 설치된 필터, 및 상기 오퍼레이팅 시스템 중의 하나 이상으로부터 수신된 기준에 따라 판정되는 방법.
  15. 제 4 항의 방법을 수행하기 위한 컴퓨터 실행가능 명령을 포함하는 컴퓨터 판독가능 기록 매체.
  16. 제 4 항에 있어서,
    상기 미디어 필터는 체인으로 함께 접속되며 입력 미디어 데이터는 체인내의 미디어 필터에 의해 연속적으로 프로세싱되는 방법.
  17. 제 4 항에 있어서,
    상기 미디어 필터 중의 임의의 하나는 다수의 프로세스에 의해 동시에 이용될 수 있는 방법.
  18. 프로세서,
    오퍼레이팅 시스템을 저장하고 있는 메모리,
    미디어 필터로부터의 설치 요구를 수신하기 위해 상기 오퍼레이팅 시스템에 저장되어 있는 필터 관리 서비스용 코드,
    상기 미디어 필터를 설치하기 위한 상기 필터 관리 서비스용 코드,
    설치된 필터를 열거하라는 요구를 시스템 프로세스로부터 수신하기 위한 코드, 및
    상기 설치된 필터를 탐색하여 열거하기 위한 상기 필터 관리 서비스용 코드를 포함하는 컴퓨터 시스템.
  19. 제 18 항에 있어서,
    상기 미디어 필터를 설치하기 전에 상기 미디어 필터의 유효성을 판정하는 코드를 더 포함하는 컴퓨터 시스템.
  20. 제 18 항에 있어서,
    상기 필터의 열거를 요구하는 시스템 프로세스에 의해 특정된 기준에 따라 열거될 필터를 선택하기 위한 코드를 더 포함하는 컴퓨터 시스템.
  21. 제 18 항에 있어서,
    열거를 요구하는 시스템 프로세스로부터 분리된 프로세스로서 호출(invoke)될, 상기 열거된 필터 중 하나 이상을 선택하는 코드를 더 포함하는 컴퓨터 시스템.
  22. 컴퓨터 시스템 상에 설치된 미디어 관련 필터를 열거하는 오퍼레이팅 시스템 서비스를 갖는 컴퓨터 상에서 동작하는 확장가능 미디어 관련 컴퓨터 시스템 프로세스를 주문제작(customizing)하는 방법에 있어서,
    상기 오퍼레이팅 시스템 서비스에 상기 컴퓨터 상에 설치된 상기 미디어 관련 필터를 열거할 것을 요구하는 단계,
    상기 열거된 미디어 관련 필터 중 하나 이상의 필터를 선택하는 단계, 및
    상기 선택된 미디어 관련 필터를 사용하여 미디어 관련 데이터를 프로세싱하는 단계를 포함하는 확장가능 미디어 관련 컴퓨터 시스템 프로세스를 주문제작하는 방법.
  23. 제 22 항에 있어서,
    상기 시스템 프로세스가 상기 선택된 미디어 관련 필터를 사용하는 적절한 권한을 갖는지를 확인하는 단계를 더 포함하는 방법.
  24. 제 22 항의 방법을 수행하기 위한 컴퓨터 판독가능 명령을 포함하는 컴퓨터 판독가능 기록 매체.
  25. 제 22 항에 있어서,
    상기 시스템 프로세스는,
    미디어 프로세싱 소프트웨어 애플리케이션,
    장치 드라이버, 및
    미디어 관련 취득 소프트웨어 중 하나인 방법.
  26. 미디어 필터를 설치하기 위한 시스템 레벨 서비스를 갖는 오퍼레이팅 시스템과 관련된 컴퓨터 시스템 상에 미디어 관련 필터를 설치하는 방법에 있어서,
    상기 시스템 레벨 서비스에게 상기 시스템 상에 상기 미디어 관련 필터를 설치할 것을 요구하는 단계, 및
    상기 미디어 필터에 관련된 정보와 함께 설치될 상기 미디어 필터를 상기 시스템 레벨 서비스에 제공하는 단계를 포함하는 미디어 관련 필터를 설치하는 방법.
  27. 제 26 항의 방법을 수행하기 위한 컴퓨터 실행가능 명령을 포함하는 컴퓨터 판독가능 기록 매체.
  28. 제 26 항에 있어서,
    상기 미디어 필터에 관련된 정보는,
    상기 미디어 필터에 대응하는 하나 이상의 고유 식별자,
    상기 미디어 필터에 대응하는 하나 이상의 이름,
    상기 미디어 필터의 하나 이상의 설명, 및
    상기 미디어 필터의 각각과 관련된 하나 이상의 디지털 서명 중 하나 이상을 포함하는 방법.
  29. 컴퓨터 상에 미디어 필터를 설치하고 컴퓨터 상에 설치된 상기 미디어 필터를 탐색하는 시스템 레벨 서비스를 갖는 오퍼레이팅 시스템을 구비한 컴퓨터 시스템 상에서 구현되는 미디어 필터 관리 방법에 있어서,
    상기 시스템 레벨 서비스는 상기 컴퓨터 상에 하나 이상의 미디어 필터를 설치하라는 요구를 수신하고,
    상기 시스템 레벨 서비스는 상기 컴퓨터 상에 상기 미디어 필터를 설치하고,
    상기 시스템 레벨 서비스는 상기 컴퓨터 상에 설치된 미디어 필터를 탐색하라는 요구를 수신하고,
    상기 시스템 레벨 서비스는 상기 컴퓨터 상에 설치된 상기 미디어 필터를 탐색하는 미디어 필터 관리 방법.
  30. 프로세서,
    미디어 필터를 설치하고 열거하기 위한 시스템 레벨 서비스를 갖는 오퍼레이팅 시스템과, 하나 이상의 시스템 프로세스를 저장하고 있는 메모리,
    상기 미디어 필터를 설치하고 열거하기 위한 시스템 레벨 서비스에 관련된 프로그래밍 인터페이스,
    상기 프로그래밍 인터페이스를 노출하기 위한 상기 프로세서들에 관련된 호들(calls),
    컴퓨터 시스템 상에 하나 이상의 미디어 필터를 설치하기 위한 상기 프로그래밍 인터페이스에 관련된 코드, 및
    상기 컴퓨터 시스템 상에 설치된 상기 하나 이상의 필터를 열거하기 위한 상기 프로그래밍 인터페이스에 관련된 코드를 포함하는 컴퓨터 시스템.
  31. 제 30 항에 있어서,
    상기 하나 이상의 미디어 필터는 상기 필터의 각각에 관련된 고유 식별자에 따라 상기 컴퓨터 시스템 상에 설치되는 컴퓨터 시스템.
  32. 제 30 항에 있어서,
    상기 하나 이상의 미디어 필터의 각각은 필터 카테고리에 대응하고 상기 하나 이상의 필터는 그 대응하는 카테고리에 따라 설치되는 컴퓨터 시스템.
  33. 제 32 항에 있어서,
    상기 컴퓨터 시스템 상에 설치된 상기 하나 이상의 필터는 그 대응하는 카테고리에 따라 열거되는 컴퓨터 시스템.
  34. 제 32 항에 있어서,
    상기 컴퓨터 시스템 상에 설치된 하나 이상의 필터에 대응하는 하나 이상의 카테고리를 삭제하기 위한 코드를 더 포함하는 컴퓨터 시스템.
  35. 제 34 항에 있어서,
    상기 하나 이상의 카테고리의 삭제는 상기 컴퓨터 시스템으로부터 그 대응하는 필터의 삭제를 초래하는 컴퓨터 시스템.
  36. 제 30 항에 있어서,
    상기 컴퓨터 시스템 상에 설치된 하나 이상의 필터를 삭제하기 위한 코드를 더 포함하는 컴퓨터 시스템.
KR1020030062955A 2003-03-31 2003-09-09 미디어 필터 관리 방법, 컴퓨터 시스템, 확장가능 미디어 관련 컴퓨터 시스템 프로세스를 주문제작하는 방법, 미디어 관련 필터를 설치하는 방법 및 컴퓨터 판독가능 기록 매체 KR101015351B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/404,985 2003-03-31
US10/404,985 US7493614B2 (en) 2003-03-31 2003-03-31 System architecture and related methods for dynamically adding software components to extend functionality of system processes

Publications (2)

Publication Number Publication Date
KR20040086098A KR20040086098A (ko) 2004-10-08
KR101015351B1 true KR101015351B1 (ko) 2011-02-16

Family

ID=28792119

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030062955A KR101015351B1 (ko) 2003-03-31 2003-09-09 미디어 필터 관리 방법, 컴퓨터 시스템, 확장가능 미디어 관련 컴퓨터 시스템 프로세스를 주문제작하는 방법, 미디어 관련 필터를 설치하는 방법 및 컴퓨터 판독가능 기록 매체

Country Status (15)

Country Link
US (1) US7493614B2 (ko)
EP (1) EP1471423B1 (ko)
JP (2) JP4772282B2 (ko)
KR (1) KR101015351B1 (ko)
CN (1) CN100538625C (ko)
AU (1) AU2003244041B2 (ko)
BR (1) BR0304191A (ko)
CA (1) CA2439729C (ko)
HK (1) HK1067201A1 (ko)
MX (1) MXPA04002999A (ko)
MY (1) MY149417A (ko)
NO (1) NO331575B1 (ko)
RU (1) RU2353968C2 (ko)
TW (1) TWI301946B (ko)
ZA (1) ZA200306968B (ko)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101165647B (zh) * 2006-10-17 2010-12-15 北京书生国际信息技术有限公司 一种文档库系统和文档库系统功能的扩展方法
US7240292B2 (en) 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7769794B2 (en) 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US7712034B2 (en) 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7421438B2 (en) 2004-04-29 2008-09-02 Microsoft Corporation Metadata editing control
US7650575B2 (en) 2003-03-27 2010-01-19 Microsoft Corporation Rich drag drop user interface
US7925682B2 (en) 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
US8024335B2 (en) 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US7694236B2 (en) 2004-04-23 2010-04-06 Microsoft Corporation Stack icons representing multiple objects
US7657846B2 (en) 2004-04-23 2010-02-02 Microsoft Corporation System and method for displaying stack icons
US8707209B2 (en) 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
US7359902B2 (en) 2004-04-30 2008-04-15 Microsoft Corporation Method and apparatus for maintaining relationships between parts in a package
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US7383500B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US8243317B2 (en) 2004-05-03 2012-08-14 Microsoft Corporation Hierarchical arrangement for spooling job data
US8363232B2 (en) 2004-05-03 2013-01-29 Microsoft Corporation Strategies for simultaneous peripheral operations on-line using hierarchically structured job information
US7580948B2 (en) 2004-05-03 2009-08-25 Microsoft Corporation Spooling strategies using structured job information
US7607141B2 (en) * 2004-05-03 2009-10-20 Microsoft Corporation Systems and methods for support of various processing capabilities
US7755786B2 (en) 2004-05-03 2010-07-13 Microsoft Corporation Systems and methods for support of various processing capabilities
US8032482B2 (en) * 2004-09-30 2011-10-04 Microsoft Corporation Method, system, and apparatus for providing a document preview
US7647559B2 (en) * 2004-09-30 2010-01-12 Microsoft Corporation Method and computer-readable medium for navigating between attachments to electronic mail messages
US7457671B2 (en) * 2004-09-30 2008-11-25 Rockwell Automation Technologies, Inc. Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution
US8156488B2 (en) * 2004-10-20 2012-04-10 Nokia Corporation Terminal, method and computer program product for validating a software application
US20060106869A1 (en) * 2004-11-17 2006-05-18 Ulead Systems, Inc. Multimedia enhancement system using the multimedia database
US7584111B2 (en) 2004-11-19 2009-09-01 Microsoft Corporation Time polynomial Arrow-Debreu market equilibrium
CN100349119C (zh) * 2004-12-30 2007-11-14 杭州华三通信技术有限公司 软件安装与集成的方法
US20060181540A1 (en) * 2005-02-12 2006-08-17 Patrick Loo Image editor with plug-in capability for editing images in a mobile communication device
US8195646B2 (en) 2005-04-22 2012-06-05 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
US7665028B2 (en) 2005-07-13 2010-02-16 Microsoft Corporation Rich drag drop user interface
US8060483B2 (en) * 2005-08-15 2011-11-15 National Instruments Corporation Method for indexing file structures in an enterprise data system
CN1794734B (zh) * 2005-09-28 2010-04-14 华为技术有限公司 预先下载后续安装媒体对象的方法及终端设备
US7698685B2 (en) * 2005-10-12 2010-04-13 Microsoft Corporation Discovery, qualification, and activation of software add-in components
KR20070058977A (ko) * 2005-12-05 2007-06-11 한국전자통신연구원 홈 네트워크 단말 시스템 소프트웨어의 동적 재구성 장치및 방법
US8132106B2 (en) * 2006-06-23 2012-03-06 Microsoft Corporation Providing a document preview
US8850388B2 (en) * 2006-09-07 2014-09-30 Microsoft Corporation Controlling application features
US7908580B2 (en) * 2006-09-07 2011-03-15 Microsoft Corporation Connecting an integrated development environment with an application instance
US20080127055A1 (en) * 2006-09-07 2008-05-29 Microsoft Corporation Application proxy
US7530079B2 (en) * 2006-09-07 2009-05-05 Microsoft Corporation Managing application customization
US8438266B2 (en) * 2006-10-11 2013-05-07 Microsoft Corporation File sharing administration
US20080115124A1 (en) * 2006-11-10 2008-05-15 Charles J. Kulas Trial mode for selectively trying a component that adds functionality to base software
JP4996272B2 (ja) * 2007-01-31 2012-08-08 キヤノン株式会社 情報処理装置及びその制御方法及び該方法を実行するプログラム
US8484115B2 (en) 2007-10-03 2013-07-09 Palantir Technologies, Inc. Object-oriented time series generator
JP2010067156A (ja) * 2008-09-12 2010-03-25 Kubota Corp クライアントサーバシステム
US8041714B2 (en) * 2008-09-15 2011-10-18 Palantir Technologies, Inc. Filter chains with associated views for exploring large data sets
US8429194B2 (en) 2008-09-15 2013-04-23 Palantir Technologies, Inc. Document-based workflows
US20100070426A1 (en) 2008-09-15 2010-03-18 Palantir Technologies, Inc. Object modeling for exploring large data sets
US8745361B2 (en) 2008-12-02 2014-06-03 Microsoft Corporation Sandboxed execution of plug-ins
US8532714B2 (en) * 2009-01-29 2013-09-10 Qualcomm Incorporated Dynamically provisioning a device with audio processing capability
US20100313252A1 (en) * 2009-06-08 2010-12-09 Erie Trouw System, method and apparatus for creating and using a virtual layer within a web browsing environment
US8892646B2 (en) 2010-08-25 2014-11-18 Damaka, Inc. System and method for shared session appearance in a hybrid peer-to-peer environment
US8611540B2 (en) 2010-06-23 2013-12-17 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
US8554797B2 (en) * 2010-12-17 2013-10-08 Sap Ag System and method for modular business applications
US8407314B2 (en) 2011-04-04 2013-03-26 Damaka, Inc. System and method for sharing unsupported document types between communication devices
US9063776B2 (en) * 2011-05-27 2015-06-23 Microsoft Technology Licensing, Llc Application activation framework
US8918776B2 (en) 2011-08-24 2014-12-23 Microsoft Corporation Self-adapting software system
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
CA2759461C (en) * 2011-11-24 2018-11-20 Ibm Canada Limited - Ibm Canada Limitee Platform specific payload management
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US8930897B2 (en) 2013-03-15 2015-01-06 Palantir Technologies Inc. Data integration tool
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
US9785767B2 (en) * 2013-03-15 2017-10-10 Imagine Communications Corp. Systems and methods for determining trust levels for computing components
US10628578B2 (en) 2013-03-15 2020-04-21 Imagine Communications Corp. Systems and methods for determining trust levels for computing components using blockchain
US8903717B2 (en) 2013-03-15 2014-12-02 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US8855999B1 (en) 2013-03-15 2014-10-07 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US9027032B2 (en) 2013-07-16 2015-05-05 Damaka, Inc. System and method for providing additional functionality to existing software in an integrated manner
JP6217034B2 (ja) * 2013-07-31 2017-10-25 華為技術有限公司Huawei Technologies Co.,Ltd. 関連プラグインの管理方法、装置およびシステム
JP6196848B2 (ja) * 2013-09-02 2017-09-13 株式会社オービックビジネスコンサルタント 情報処理装置、情報処理方法、及びプログラム
US8938686B1 (en) 2013-10-03 2015-01-20 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
US8935201B1 (en) 2014-03-18 2015-01-13 Palantir Technologies Inc. Determining and extracting changed data from a data source
CA2956617A1 (en) 2014-08-05 2016-02-11 Damaka, Inc. System and method for providing unified communications and collaboration (ucc) connectivity between incompatible systems
CN104700353B (zh) * 2015-02-11 2017-12-05 小米科技有限责任公司 图像滤镜生成方法及装置
US9967418B1 (en) 2016-10-31 2018-05-08 Microsoft Technology Licensing, Llc Platform DMFT and interaction with IHV DMFT
US11126446B2 (en) * 2019-10-15 2021-09-21 Microsoft Technology Licensing, Llc Contextual extensible skills framework across surfaces
CN114020361A (zh) * 2021-11-09 2022-02-08 上海浦东发展银行股份有限公司 一种基于过滤器的链式规则处理方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304967B1 (en) 1997-12-10 2001-10-16 Rmc Software, Inc. System and architecture for distributing, monitoring, and managing information requests on a computer network
US6310941B1 (en) 1997-03-14 2001-10-30 Itxc, Inc. Method and apparatus for facilitating tiered collaboration
US6370686B1 (en) * 1998-09-21 2002-04-09 Microsoft Corporation Method for categorizing and installing selected software components

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314701A (ja) * 1995-05-16 1996-11-29 Hitachi Ltd エンドユーザ作成プログラムの自動検出管理方式と管理装置
JP3601949B2 (ja) * 1996-09-17 2004-12-15 株式会社東芝 プログラム合成装置及びプログラム合成方法
US6216152B1 (en) 1997-10-27 2001-04-10 Sun Microsystems, Inc. Method and apparatus for providing plug in media decoders
US6446109B2 (en) * 1998-06-29 2002-09-03 Sun Microsystems, Inc. Application computing environment
US6683696B1 (en) * 1998-10-27 2004-01-27 Hewlett-Packard Development Company, L.P. Filter based data imaging method for an image forming device
JP3740931B2 (ja) * 2000-03-01 2006-02-01 日本電信電話株式会社 アプリケーションプログラム管理方法及びシステム及びコンピュータ読み取り可能な記録媒体
US6957199B1 (en) * 2000-08-30 2005-10-18 Douglas Fisher Method, system and service for conducting authenticated business transactions
JP4458219B2 (ja) * 2001-03-28 2010-04-28 セイコーエプソン株式会社 印刷システムおよび印刷制御プログラム
US20020174206A1 (en) * 2001-05-21 2002-11-21 Moyer Alan L. Web-based file manipulating system
US7149734B2 (en) * 2001-07-06 2006-12-12 Logic Library, Inc. Managing reusable software assets
US7171690B2 (en) * 2001-08-01 2007-01-30 Mcafee, Inc. Wireless malware scanning back-end system and method
JP2003067210A (ja) * 2001-08-22 2003-03-07 Just Syst Corp プログラム実行防止装置、プログラム実行防止方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
US7519911B2 (en) * 2001-11-02 2009-04-14 At&T Intellectual Property Ii, L.P. Systems and methods for managing and aggregating media formats
US7376695B2 (en) * 2002-03-14 2008-05-20 Citrix Systems, Inc. Method and system for generating a graphical display for a remote terminal session
US7092946B2 (en) * 2002-12-02 2006-08-15 Lightsurf Technologies, Inc. System and methodology for providing a mobile device with a network-based intelligent resource fork

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6310941B1 (en) 1997-03-14 2001-10-30 Itxc, Inc. Method and apparatus for facilitating tiered collaboration
US6304967B1 (en) 1997-12-10 2001-10-16 Rmc Software, Inc. System and architecture for distributing, monitoring, and managing information requests on a computer network
US6370686B1 (en) * 1998-09-21 2002-04-09 Microsoft Corporation Method for categorizing and installing selected software components

Also Published As

Publication number Publication date
HK1067201A1 (en) 2005-04-01
EP1471423A2 (en) 2004-10-27
JP4772282B2 (ja) 2011-09-14
NO20033913L (no) 2004-10-01
EP1471423B1 (en) 2013-10-23
AU2003244041B2 (en) 2009-08-20
TW200419442A (en) 2004-10-01
JP2010055640A (ja) 2010-03-11
TWI301946B (en) 2008-10-11
MXPA04002999A (es) 2005-08-16
RU2353968C2 (ru) 2009-04-27
RU2003129200A (ru) 2005-03-20
CA2439729C (en) 2012-06-05
MY149417A (en) 2013-08-30
BR0304191A (pt) 2005-05-10
NO331575B1 (no) 2012-01-30
NO20033913D0 (no) 2003-09-04
CN1534461A (zh) 2004-10-06
JP2004303189A (ja) 2004-10-28
AU2003244041A1 (en) 2004-10-21
KR20040086098A (ko) 2004-10-08
EP1471423A3 (en) 2007-04-04
CA2439729A1 (en) 2004-09-30
ZA200306968B (en) 2004-06-17
US20040193599A1 (en) 2004-09-30
US7493614B2 (en) 2009-02-17
CN100538625C (zh) 2009-09-09
JP4585030B2 (ja) 2010-11-24

Similar Documents

Publication Publication Date Title
KR101015351B1 (ko) 미디어 필터 관리 방법, 컴퓨터 시스템, 확장가능 미디어 관련 컴퓨터 시스템 프로세스를 주문제작하는 방법, 미디어 관련 필터를 설치하는 방법 및 컴퓨터 판독가능 기록 매체
JP5058966B2 (ja) オントロジを組み込むリソース・オーサリング
KR101619557B1 (ko) 커스터마이즈된 컴퓨터 응용 프로그램 패키지
JP5058499B2 (ja) 文化特有のデータを作成し、格納し、管理し、消費する方法およびシステム
US20030177448A1 (en) System and methods for acquiring images from imaging devices
US20130067459A1 (en) Order-Independent Deployment Collections with Dependency Package Identifiers
US20080147684A1 (en) Enhancing User Experiences Using Aggregated Device Usage Data
US9317681B2 (en) Information processing apparatus, information processing method, and computer program product
JP5063014B2 (ja) アプリケーションローカライゼーション規則を実装するオーサリング
JP2006260559A (ja) 再利用スコアおよび推奨された再利用可能データを用いたリソースオーサリング
US9361710B2 (en) Defining a midlet region space
US20130346407A1 (en) Context sensitive media and information
CN111259441B (zh) 设备控制方法、装置、存储介质及电子设备
US7007273B2 (en) Object oriented model of preloading software
US7184176B2 (en) Methods and systems for black and white conversion of imaging data
US7509485B2 (en) Method for loading a program module in an operating system
AU2015203571A1 (en) A method and image processing device for automatically adjusting images

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: 20140123

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150121

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 10