KR20100099720A - 프로파일을 사용하여 소프트웨어 복잡도를 감소시키는 방법 및 장치 - Google Patents

프로파일을 사용하여 소프트웨어 복잡도를 감소시키는 방법 및 장치 Download PDF

Info

Publication number
KR20100099720A
KR20100099720A KR1020107014981A KR20107014981A KR20100099720A KR 20100099720 A KR20100099720 A KR 20100099720A KR 1020107014981 A KR1020107014981 A KR 1020107014981A KR 20107014981 A KR20107014981 A KR 20107014981A KR 20100099720 A KR20100099720 A KR 20100099720A
Authority
KR
South Korea
Prior art keywords
profile
parameter information
hardware
user interface
graphical user
Prior art date
Application number
KR1020107014981A
Other languages
English (en)
Other versions
KR101500636B1 (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 KR20100099720A publication Critical patent/KR20100099720A/ko
Application granted granted Critical
Publication of KR101500636B1 publication Critical patent/KR101500636B1/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/47End-user applications
    • H04N21/485End-user interface for client configuration
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Stored Programmes (AREA)

Abstract

프로파일들에 대한 참조를 갖는 애플리케이션에 관한 장치 및 방법이 제공되고, 여기서, 프로파일들은 디바이스 그래픽 사용자 인터페이스 옵션들에 대응하는 파라미터 정보를 가진다. 프로파일은 이미지, 비디오, 및 오디오 인코딩/디코딩과 같은 디바이스의 하드웨어 동작과 관련될 수 있고, 그리고 파라미터 정보는 하드웨어 디바이스의 능력 및 사양에 대응한다. 적어도 하나의 프로파일 참조를 가진 애플리케이션들을 생성하는 대응하는 시스템이 또한 설명된다.

Description

프로파일을 사용하여 소프트웨어 복잡도를 감소시키는 방법 및 장치{METHOD AND APPARATUS UTILIZING PROFILES TO REDUCE SOFTWARE COMPLEXITY}
본 발명은 일반적으로 프로그래밍 소프트웨어에 관한 것으로, 특히 멀티미디어 소프트웨어 복잡도와 같은 소프트웨어 복잡도를 감소시키는 것에 관한 것이다.
프로그래밍 소프트웨어 애플리케이션들은 종종 복잡하다. 더 복잡한 문제에 대해, 소프트웨어 애플리케이션들은 점점 더 하드웨어 디바이스들과 상호작용하고, 종종 멀티미디어 동작을 수행한다. 하드웨어 동작은, 예를 들어 이미지 캡처 및 디코딩, 비디오 캡처 및 재생, 오디오 캡처 및 재생, 그리고 오버레이 및 디스플레이 제어를 포함할 수 있다. 예를 들어, 소프트웨어는 카메라 혹은 다른 레코더들을 가지고 이미지, 비디오, 및 오디오와 같은 미디어를 캡처하기 위해 사용될 수 있고, 그리고 소프트웨어는 또한 예를 들어, 디스플레이 상에 이미지 및 비디오와 같은 미디어를 디스플레이하기 위해 사용될 수도 있다. 그러나, 멀티미디어 애플리케이션은 소프트웨어와 하드웨어 디바이스들 간의 상호작용들 중 단지 하나의 예이다. 소프트웨어는 종종 앞서 언급된 멀티미디어 디바이스들 뿐만 아니라 다른 비-멀티미디어 디바이스들(예를 들어, 모뎀, GPS 유닛, 입력 디바이스, 저장 디바이스 등)과 같은 다양한 하드웨어 디바이스들을 제어할 수 있다.
더 많은 디바이스들이 시장에 진입함에 따라, 설계 소프트웨어는 더 복잡하게 되었다. 부분적으로, 이것은 비록 두 개의 디바이스들이 동일한 하드웨어 동작(예를 들어, 비디오 혹은 오디오 캡처)을 수행할 수 있을지라도 이들은 서로 다른 파라미터 및 능력에 기반하여 이러한 하드웨어 동작을 할 수 있기 때문이다. 따라서, 예를 들어, 하나의 카메라 상에서의 가장 높은 품질의 비디오 캡처 능력이 또 다른 카메라 상에서의 가장 높은 품질의 비디오 캡처 능력과 동일한 품질이 아닐 수 있다. 따라서, 프로그래머는 소프트웨어가 상호작용할 수 있는 하드웨어의 모든 부분에 대한 파라미터 및 능력 모두를 알고 있어야만 하기 때문에, 소프트웨어 설계는 복잡해 질 수 있다. 이것은 수백 개의 코드 라인들을 차지할 수 있고, 따라서, 하드웨어의 각각의 부분에 대한 구성 파라미터들 모두를 익히는 데는 시간이 걸린다. 또한, 구성 파라미터들 모두를 프로그래밍하는 데는 매우 많은 시간이 필요하게 된다. 더욱이, 완성된 소프트웨어 애플리케이션은 종종 매우 복잡하다.
따라서, 더 능률적이고 덜 복잡한 방식으로 하드웨어와 상호작용하는 소프트웨어 애플리케이션을 만들 필요가 있다.
본 발명은 아래에 첨부되는 도면과 함께 이후 제공되는 설명을 통해 더 쉽게 이해될 수 있으며, 도면에서 동일한 참조 번호는 동일한 요소를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 멀티미디어 디바이스의 일 예를 나타낸 블럭도이다.
도 2는 본 발명의 일 실시예에 따른 디스플레이 상에서 볼 수 있는 그래픽 사용자 인터페이스의 일 예이다.
도 3은 본 발명의 일 실시예에 따른 휴대용 디바이스에 관한 하드웨어를 제어하기 위한 방법의 일 예를 나타낸 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 휴대용 디바이스에 관한 하드웨어를 제어하기 위한 방법의 일 예를 나타낸 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 소프트웨어 개발 시스템의 일 예를 나타낸 블럭도이다.
도 6은 본 발명의 일 실시예에 따른 애플리케이션을 발생시키기 위해 디스플레이 상에서 볼 수 있는 그래픽 사용자 인터페이스의 일 예이다.
간단히 말하면, 멀티미디어 디바이스와 같은 디바이스는 파라미터 정보가 포함된 프로파일들을 포함하는 메모리를 포함하고, 여기서 프로파일들은, 그래픽 사용자 인터페이스를 통해 제공되는 옵션들에 대응하는 디바이스 프로그래밍가능 옵션들에 대응한다. 디바이스 프로그래밍가능 옵션들은 하드웨어 세팅들 혹은 소프트웨어 셋팅들과 같은, 디바이스에 대한 구성 세팅들을 포함할 수 있다. 메모리는 공통 디바이스 기능에 대한 프로파일들의 세트를 포함할 수 있다. 디바이스는 또한 이러한 프로파일들을 참조하는 저장된 컴퓨터 판독가능 명령들의 실행에 응답하여 파라미터 정보를 사용하도록 동작가능한 프로세싱 회로를 포함한다. 파라미터 정보는 디바이스의 하드웨어 동작과 관련될 수 있고, 그리고 예를 들어, 비트 레이트(bit rate), 코텍 타입(codec type), 및 프레임 레이트(frame rate)를 정의할 수 있다. 파라미터 정보의 다른 예들로는 인코딩 모드(encoding modes), 프레임 크기(frame size), 및 오버레이 위치(overlay position)가 포함되지만 이러한 것에만 한정되는 것은 아니다.
일 예에서, 프로세싱 회로는 적어도 하나의 프로파일로부터 파라미터 정보를 포함하는 결합된 프로파일을 생성하도록 동작가능할 수 있다. 이 결합된 프로파일은, 비디오 하드웨어 및 오디오 하드웨어와 같은, 적어도 두 개의 하드웨어 디바이스에 대한 파라미터 정보를 포함할 수 있다.
휴대용 디바이스에 관한 하드웨어를 제어하는 방법이 또한 존재하며, 이 방법은 적어도 하나의 프로파일 참조(profile reference)를 포함하는 애플리케이션을 활성화시키는 것을 포함하고, 여기서 프로파일 참조는, 파라미터 정보를 포함함과 아울러 디바이스 그래픽 사용자 인터페이스 옵션들에 대응하는 프로파일을 참조한다. 이것은 일대일 대응이 아니다. 하나의 좋은 예로서, 파라미터 정보는 그래픽 사용자 인터페이스에 대응할 수 있지만, (직접적인 그래픽 사용자 인터페이스가 없는 경우에도) 주어진 용도에 대한 임베디드 디바이스 제조자의 사양에 대응할 수도 있다. 이 방법은 또한 적어도 하나의 프로파일 참조와 관련된 적어도 하나의 프로파일로부터의 파라미터 정보를 사용하여 하드웨어 동작을 수행하는 것을 포함한다.
또 다른 예에서, 이 방법은 프로파일 결합기 모듈을 호출하는 것과 그리고 하나 이상의 프로파일로부터의 파라미터 정보를 결합하여 디바이스 그래픽 사용자 인터페이스 옵션들 혹은 설계 결정들에 대응하는 결합된 프로파일을 확립하는 것을 포함할 수 있다. 추가적으로, 이 방법은 상기 결합된 프로파일에 새로운 프로파일 참조를 할당하는 것을 포함할 수 있다.
또 다른 예에서, 이 방법은 파라미터 정보가 포함된 프로파일을 참조하는 프로파일 참조에 대응하는 디바이스 그래픽 인터페이스 옵션들을 사용자에게 제공하는 것과, 그리고 사용자 입력을 수신하는 것을 포함한다. 이 방법은 또한 추가적인 사용자 입력을 수신하는 것과, 그리고 상기 추가적인 사용자 입력에 근거하여, 적어도 하나의 추가적인 프로파일 참조를 인코더에 전달하여 적어도 하나의 추가적인 하드웨어 동작을 수행하는 것을 포함한다.
추가적으로, 디스플레이, 프로세싱 회로, 및 메모리를 포함하는 소프트웨어 개발 시스템이 제공되고, 여기서 프로세싱 회로는 컴퓨터 판독가능 명령들을 실행하도록 동작가능하고 애플리케이션 발생기를 포함하며, 이 애플리케이션 발생기는 디바이스 그래픽 사용자 인터페이스 옵션들에 대응하는 파라미터 정보를 가진 프로파일을 식별하는 프로파일 참조가 포함된 애플리케이션을 나타내는 데이터를 소스 코드로부터 발생시키고, 그리고 메모리는 상기 컴퓨터 판독가능 명령들 및 상기 애플리케이션을 포함한다.
또 다른 예에서, 상기 애플리케이션 발생기는 또한, 디스플레이 상에서 볼 수 있는 애플리케이션 발생 사용자 인터페이스를 제공하고, 그리고 디바이스 그래픽 사용자 인터페이스 옵션들에 대응하는 파라미터 정보를 가진 프로파일을 식별하는 프로파일 참조에 대응하는 프로파일 참조 삽입 옵션들을 제공하도록 동작가능하다.
다른 장점들 중에서, 이러한 장치 및 방법들은 소프트웨어 개발자가 더 쉽게 그리고 더 효율적으로 애플리케이션들(특히 다양한 하드웨어 디바이스들과 상호작용할 수 있도록 요구되는 애플리케이션들)을 개발할 수 있게 한다. 예를 들어, 소프트웨어 개발자들은 파라미터들의 긴 목록, 즉 (비록 디바이스가 동일 기능을 수행할지라도) 모든 디바이스에 대해 서로 다를 수 있는 목록을 익힐 필요가 없다. 더욱이, 비록 소프트웨어 개발자들이 자신의 애플리케이션과의 상호작용을 원하는 모든 하드웨어 디바이스들에 대해 아주 잘 알고 있을지라도, 소프트웨어 개발자들은 수백 라인의 코드가 될 수 있는 프로그램을 여전히 프로그래밍해야만 하고, 이것은 상당한 시간을 요구할 수 있다. 따라서, 본 명세서에서 개시되는 장치 및 방법은 하드웨어의 서로 다른 부분의 복잡함을 익히는 시간 소비의 필요성을 제거할 수 있고, 종종 수백 라인의 코드가 될 수 있는 프로그램의 프로그래밍에 필요한 시간을 절약할 수 있다. 본 발명의 기술분야에서 통상의 기술을 가진자는 본 발명의 다른 장점도 알게 될 것이다.
도 1은, 휴대용 디바이스, 셀 폰, 뮤직 플레이어, 카메라, 휴대용 컴퓨터, 데스크탑 컴퓨터, 혹은 다른 유사한 디바이스와 같은, 멀티미디어 디바이스(100)의 일 예를 나타낸다. 멀티미디어 디바이스(100)는 메모리(즉, 저장 매체)(102)를 포함하며, 이 메모리(102)는 파라미터 정보(116, 118)를 포함하는 프로파일들(104, 106, 108, 110, 112, 114)을 가지고 있다. 주목할 사항으로, 프로파일들(106, 108, 112, 및 114)도 또한 비록 도 1에서 제시되지는 않았지만 파라미터 정보를 포함한다. 메모리(102)는 종래 기술에서 일반적으로 공지된 임의의 메모리 타입일 수 있으며, 여기에는 예를 들어, 랜덤 액세스 메모리(Random Access Memory, RAM), 판독-전용 메모리(Read-Only Memory, ROM), 프로그래밍가능 메모리(PROgrammable Memory, PROM), 소거가능 PROM(Erasable PROM, EPROM), 전기적으로 소거가능 PROM(Electrically Erasable PROM, EEPROM), 플래시 메모리, 자기 저장 디바이스(예를 들어, 하드 디스크, 플로피 디스크, 자기 테이프), 광학 디스크 드라이브, 또는 현재 알려지거나 이후 개발되는 임의의 다른 적절한 비휘발성 메모리가 있다.
프로파일들(104-114)에 추가하여, 메모리(102)는 또한 프로세싱 회로(120)가 실행할 수 있는 컴퓨터 판독가능 명령들을 포함할 수 있다. 프로세싱 회로(120)는 하나 이상의 중앙 처리 장치(Central Processing Unit, CPU)들, 분산형 프로세싱 회로, 애플리케이션 특정 집적 회로(Application Specific Integrated Circuit, ASIC)들, 이산 로직(discrete logic), 혹은 종래 기술에서 알려진 임의의 다른 적절한 회로를 포함할 수 있다. 멀티미디어 디바이스(100)에서, 프로세싱 회로(120)는, 다른 것들 중에서도, 애플리케이션(122), 미들웨어 API(124), 및 미들웨어 코드(126)와 같은 메모리 내에 저장된 컴퓨터 판독가능 코드를 실행시킨다. 미들웨어 코드(126)는 프로파일 결합기 모듈(128) 및 오디오/비디오 인코딩 모듈(130)을 포함한다. 프로세싱 회로는 또한, 무엇보다도 그래픽 사용자 인터페이스(Graphical User Interface, GUI)(134)를 디스플레이할 수 있는 디스플레이(132)에 동작가능하게 연결된다.
프로파일들(104-114)은 파라미터들의 그룹들을 나타내는 데이터의 그룹들이다. 프로파일들은 116과 118과 같은 파라미터 정보를 포함한다. 파라미터 정보(116, 118)는, 해상도, 압축 옵션, 디스플레이 위치, 디스플레이 디바이스와 같은 하드웨어 디바이스의 다양한 세팅과 관련될 수 있는 임의의 정보로 구성된다. 파라미터 정보의 다른 예로는 인코딩 모드, 프레임 크기, 및 오버레이 위치가 있지만 이러한 것에만 한정되는 것은 아니다. 예를 들어, 프로파일(104)은 비디오를 캡처할 수 있는 하드웨어 디바이스에 대응하는 파라미터 정보(116)를 포함한다. 따라서, 관련 파라미터 정보로는, 예를 들어, 코텍 타입, 비트 레이트(예를 들어, 최대치 및 최소치가 포함됨), 프레임 레이트, 샘플링 레이트, 채널 수, 스트림 포맷, 채널 모드, 프레임 포맷, DTX 모드, 어드밴스 오디오 코딩(Advance Audio Coding, "AAC") 프로파일, AAC 툴, 적응성 멀티-레이트(Adaptive Multi-Rate, "AMR") 밴드 모드, 및 다른 관련 속성, 노이즈 억제 정보(noise suppression information), CDMA 레이트, 음성의 수, 루프 모드(loop mode), 비트퍼샘플(bits per sample), 체적 정보(volume information)(예를 들어, 왼쪽, 오른쪽, 등), 해상도, 화이트 밸란스(white balance), 카메라 파라미터, 디스플레이 파라미터, 혹은 임의의 다른 적절한 파라미터 정보가 있을 수 있다.
하나의 예에서, 프로파일(110)은 오디오 재생을 위한 파라미터 정보(118)를 포함하고, 따라서, 무엇보다도, 코덱 타입 및 비트 레이트에 관한 파라미터 정보를 가질 수 있다. 또한 주목할 사항으로, 메모리(102)는 공통 디바이스 기능을 위한 프로파일들의 세트를 포함한다. 예를 들어, 프로파일들(104, 106, 및 108)은 비디오 캡처와 관련된 프로파일들의 세트를 형성한다. 프로파일들(110, 112, 및 114)은 오디오 캡처와 관련된 프로파일들의 세트를 형성한다.
하나의 예에서, 각각의 프로파일은 디바이스 그래픽 사용자 인터페이스 옵션들에 대응한다. 본 명세서 전반에 걸쳐 주목할 사항으로, 각각의 프로파일은 예를 들어, 그래픽 사용자 인터페이스가 있는 혹은 없는 소정 용도에 대한 임베디드 디바이스 제조자의 사양에 대응할 수 있다. 도 2에 도시된 바와 같이, 사용자 입력을 요구하는 GUI(134)가 도시된다. 프로세싱 회로(120)는 GUI 정보(135)를 디스플레이(132)에 전달하여 GUI(134)로서 디스플레이되도록 한다. 디스플레이(132)는 또한, 사용자 입력과 같은 GUI 정보(135)를 프로세싱 회로(120)에 다시 전달할 수 있다. 이러한 예에서, 사용자는, 드랍 다운 박스로부터, 서로 다른 그래픽 사용자 인터페이스 옵션들을 선택하도록 요구받는다. 예를 들어, 사용자는 드랍 다운 박스(202)를 사용하여 비디오와 관련된 디바이스 그래픽 사용자 인터페이스 옵션을 선택할 수 있다. 이러한 예에서, 사용자는, 프로파일(104)에 대응하는 "낮은 품질(Low Quality)", 프로파일(106)에 대응하는 "중간 품질(Medium Quality)", 또는 프로파일(108)에 대응하는 "높은 품질(High Quality)"을 선택할 수 있다. 사용자는 드랍 다운 박스(204)를 사용하여 오디오와 관련된 디바이스 그래픽 사용자 인터페이스 옵션을 선택할 수 있다. 이러한 예에서, 사용자는, 프로파일(110)에 대응하는 "낮은 품질(Low Quality)", 프로파일(112)에 대응하는 "중간 품질(Medium Quality)", 또는 프로파일(114)에 대응하는 "높은 품질(High Quality)"을 선택할 수 있다. 이해할 사항으로서, 디바이스 그래픽 사용자 인터페이스 옵션들은 임의의 적절한 방식으로 제공될 수 있는데, 이러한 방식으로는, 예를 들어, 도시된 바와 같은 드랍 다운 박스, 라디오 버튼, 체크 박스, 텍스트 입력, 혹은 종래 기술에서 알려진 임의의 다른 적절한 방법이 있다. 사용자가 디바이스 사용자 인터페이스 옵션들을 선택하면, 사용자는 OK 버튼(206)을 눌러 선택한 것들을 GUI 정보(135)로서 프로세싱 회로(120)에 반환할 수 있다.
이해할 사항으로서, 라벨(예를 들어, "낮은 품질")은 애플리케이션(122) 내의 코드에 의해 생성될 수 있거나 또는 프로파일의 일부로서 메모리(102)에 저장될 수 있다. 또한, 이해할 사항으로서, 예를 들어 각각의 프로파일은 프로파일 참조를 포함할 수 있다. 프로파일 참조는, 예를 들어 프로파일 ID(136, 138), 프로파일 라벨(140-150), 혹은 임의의 다른 적절한 프로파일 참조일 수 있다. 프로파일 ID(136, 138)는 예를 들어, 정수(integer)일 수 있다. 프로파일 라벨(140-150)은 GUI(134)에서 사용자에게 제공될 수 있고 아울러 암시적으로 해당 프로파일에 대한 어떤 정보를 전달할 수 있는 문자열일 수 있다. 예를 들어, "비디오의 낮은 품질 프로파일"은 해당 프로파일이 비디오에 대한 것이고, 아울러 "낮은 품질"에 대한 것임을 전달한다. "낮은 품질"은 특정 하드웨어 부분에 대해 상대적인 것임을 이해해야 하는데, 예를 들어 하드웨어의 낮은 품질의 한 부분이 하드웨어의 높은 품질의 또 다른 부분보다 더 높은 품질을 가질 수도 있음을 이해해야 한다. 앞서 설명된 바와 같이, 이와 같은 이유는 서로 다른 하드웨어 디바이스들이 서로 다른 능력을 가지고 있기 때문이다.
프로세싱 회로(120)는, 프로파일들(104-114)을 참조하는 저장된 컴퓨터 판독가능 명령들의 실행에 응답하여, 파라미터 정보(116, 118)와 같은 파라미터 정보를 사용하도록 동작가능하다. 예를 들어, 프로파일 데이터(152, 154)는 메모리(102)로부터 프로세싱 회로(120)로 진행한다. 도 1에 도시된 예에서와 같이, 미들웨어 코드(126)는 프로파일 결합기 모듈(128)을 포함하고, 이 프로파일 결합기 모듈(128)은 적어도 하나의 프로파일로부터 파라미터 정보를 포함하는 결합된 프로파일(156)을 생성하도록 동작가능하다. 그러나, 바람직한 실시예에서, 결합된 프로파일(156)은 하나 이상의 프로파일로부터의 파라미터 정보를 포함한다. 도 1에 도시된 특정 실시예에서, 프로파일 결합기 모듈(128)은 프로파일 데이터(152) 및 프로파일 데이터(154)를 수신한다. 프로파일 데이터(152)는 드랍 다운 박스(202)로부터의 사용자의 선택과 관련되어 있고, 아울러 비디오 하드웨어와 관련되어 있으며, 프로파일 데이터(154)는 드랍 다운 박스(204)로부터의 사용자의 선택과 관련되어 있고, 아울러 오디오 하드웨어와 관련되어 있다. 프로파일 결합기 모듈(128)은 프로파일 데이터(152, 154)를 결합하여 결합된 프로파일 데이터(158)를 메모리(102)에 전송하고, 결합된 프로파일(156)로서 저장되게 된다. 비록 본 예시가 비디오 하드웨어 디바이스 및 오디오 하드웨어 디바이스와 관련된 프로파일 데이터를 결합하는 것을 포함하지만, 이러한 결합된 프로파일들이 임의의 적절한 하드웨어 디바이스들과 관련될 수 있음을 이해해야 한다. 더욱이, 결합된 프로파일은 단지 하나의 하드웨어 디바이스에 대한 파라미터 정보를 포함할 수 있다. 예를 들어, 도 1은 (비디오에 대한) 하나의 코텍 타입, 비트 레이트, 및 프레임 레이트를 포함하는 것을 나타내지만, 하나의 프로파일이 비디오 코텍 타입에 대해 사용될 수 있고, 반면 또 다른 비디오 프로파일이 비디오 비트 레이트에 대해 사용되는 것도 고려된다. 그 다음에 이러한 두 개의 프로파일들이 결합되어 결합된 프로파일로서 메모리에 저장될 수 있다. 추가적으로, 결합된 프로파일은 새로운 프로파일 참조(예를 들어, 새로운 프로파일 ID)를 수신한다. 결합된 프로파일들은 아래에서 더 상세히 설명된다.
도 1에 도시된 멀티미디어 디바이스(100)가 더 잘 이해되도록 하기 위해, 디바이스에 관한 하드웨어를 제어하는 방법이 이제 설명된다. 비록 도 1 및 디바이스(100)를 참조하여 설명되지만, 임의의 적절한 디바이스가 아래에서 설명되는 방법을 구현하기 위해 사용될 수 있음이 이해될 것이다.
도 3에 도시된 바와 같이, 방법은 블럭(300)에서 시작한다. 블럭(302)에 도시된 바와 같이, 이 방법은 프로파일 ID(135 혹은 138)와 같은 프로파일 참조를 적어도 하나 포함하는 애플리케이션(122)을 활성화시키는 것을 포함한다. 앞서 설명된 바와 같이, 프로파일 참조(136, 138)는, 파라미터 정보(116, 118)를 포함함과 아울러 디바이스 그래픽 사용자 인터페이스 옵션들(202, 204)에 대응하는 104, 110과 같은 프로파일을 참조한다. 이러한 것은 일대일 대응이 아니다. 하나의 좋은 예로서, 파라미터 정보는 그래픽 사용자 인터페이스에 대응할 수 있지만, (직접적인 그래픽 사용자 인터페이스가 없는 경우에도) 주어진 용도에 대한 임베디드 디바이스 제조자의 사양에 대응할 수도 있다. 다음으로, 블럭(304)에 도시된 바와 같이, 이 방법은 프로파일 ID와 같은 적어도 하나의 프로파일 참조와 관련된 적어도 하나의 프로파일로부터의 파라미터 정보(116, 118)를 사용하여 하드웨어 동작을 수행하는 것을 포함할 수 있다. 하드웨어 동작은 하드웨어 디바이스(160)와 관련되어 있을 수 있다. 그러나, 주목할 사항으로, 디스플레이(132)도 또한 하드웨어 동작이 수행되는 하드웨어 디바이스일 수 있다. 예를 들어, 프로세싱 회로(120)는 하드웨어 디바이스 동작 데이터(162)를 하드웨어 디바이스(160)에 송신하고 하드웨어 디바이스(160)로부터 수신할 수 있다. 하드웨어 동작의 예는 앞서 설명되었다. 이 방법은 그 다음에 블럭(306)에서 끝난다.
그러나, 이 방법은, 앞서 설명된 단계들 전에, 혹은 이후에, 혹은 그 사이에 임의의 다른 적절한 단계들을 포함할 수 있다. 예를 들어, 도 4에 도시된 방법은 블럭(400)에서 시작하고, 도 3과 관련하여 설명된 바와 동일한 단계들(302 및 304)을 포함한다. 반면, 이 방법은 또한 블럭들(402, 404, 및 406)에 도시된 방법들을 포함한다. 블럭(402)에 도시된 바와 같이, 이 방법은 디바이스 그래픽 사용자 인터페이스 옵션들(202, 204)을 사용자에게 제공하는 것 및 사용자 입력을 수신하는 것을 포함할 수 있다.
애플리케이션(122)은 애플리케이션 미들웨어 API(Application Programming Interface)(124)에 그리고 이로부터 데이터(164)를 전송한다. 미들웨어 API(124)는 미들웨어 코드(126)와 애플리케이션(122) 간의 인터페이스이다. 미들웨어 API는, 애플리케이션(122)이 미들웨어 코드(126)를 이용하여 프로파일들(104-114)과 같은 프로파일들을 사용할 수 있게 하는 제한된 개수의 기능을 지원한다. 미들웨어 API 데이터(166)는 미들웨어 API(124) 및 미들웨어 코드(126)에 그리고 이로부터 전송된다.
미들웨어 코드(126)는 프로파일 결합기 모듈(128)을 포함할 수 있고, 그리고 블럭(404)에 도시된 바와 같이, 이 방법은 하나 이상의 프로파일들(예를 들어, 104-114)로부터 파라미터 정보(예를 들어, 116, 118)를 결합하기 위해 프로파일 결합기 모듈(128)을 호출하는 것, 그리고 결합된 프로파일에 새로운 프로파일 참조(예를 들어, 새로운 프로파일 ID)를 할당하는 것을 포함한다. 결합된 프로파일이 디바이스 그래픽 사용자 인터페이스 옵션들에 대응할 수 있지만, 결합된 프로파일이 설계 결정에 대응할 수도 있음을 이해해야 한다. 예를 들어, 설계 결정은 초기에 고정될 수 있으며, 그러나 파라미터들이 프로파일 내에 있기 때문에 파라미터들은 쉽게 불려질 수 있다. 또한, 이해할 사항으로, 제조자는 디바이스의 용도에 따라 프로파일을 선택할 수 있다. 하나의 예에서, 애플리케이션(122)은 미들웨어 API(124)에 프로파일 ID(136 및 138)를 전달할 수 있다. 그러나, 임의의 다른 적절한 프로파일 참조가 사용될 수 있음을 이해해야 한다. 미들웨어 API(124)는 그 다음에 프로파일 ID(136, 138)를 프로파일 결합기 모듈(128)(미들웨어 코드(126)의 일부임)에 전달한다. 프로파일 결합기 모듈(128)은 그 다음에 메모리(102)로부터 파라미터 정보(116, 118)를 검색한다.
결합된 프로파일(156)을 확립함에 있어, 프로파일 결합기 모듈(128)은 모든 결합된 프로파일들로부터 파라미터 정보(116, 118)를 포함하는 새로운 결합된 프로파일을 생성한다. 예를 들어, 일부 프로파일들은 상반되는 파라미터 정보를 포함할 수 있다. 예를 들어, 제 1 프로파일은 비디오 인코딩에 대한 비트 레이트를 설정할 수 있고, 그리고 제 1 프로파일은, 비디오 인코딩에 대한 다른 비트 레이트를 설정하는 파라미터 정보를 갖는 제 2 프로파일과 결합될 수 있다. 이러한 경우에, 임의 의 적절한 충돌 해소 방법이 구현될 수 있다. 예를 들어, 만약 파라미터 정보가 이미 설정되어 있다면, 프로파일 결합기 모듈(128)은 다른 프로파일들 내에서의 어떤 상반되는 파라미터 정보를 무시할 수 있다. 대안적으로, 프로파일 결합기 모듈(128)은 결합된 프로파일(156)에 존재하는 임의의 파라미터 정보를 무시할 수 있다.
다음으로, 블럭(406)에 도시된 바와 같이, 이 방법은 새로운 프로파일 참조(예를 들어, 새로운 프로파일 ID)를 또 다른 모듈에 전달하는 것을 포함할 수 있다. 예를 들어, 프로파일 결합기 모듈(128)은 결합된 프로파일 참조 데이터(168)를 오디오/비디오 인코딩(혹은 디코딩) 모듈(130)에 전달할 수 있다. 그 다음에, 오디오/비디오 인코딩 모듈(130)이, 블럭(304)에 도시된 바와 같이, 새로운 프로파일 참조를 사용하여, 결합된 프로파일을 사용할 수 있고, 이를 통해, 결합된 프로파일로부터의 파라미터 정보를 사용하여 하드웨어 동작을 수행할 수 있다. 이 방법은 블럭(408)에서 종료된다.
이 방법은 또한, 예를 들어, 파라미터 정보가 포함된 프로파일을 참조하는 프로파일 참조에 대응하는 디바이스 그래픽 사용자 인터페이스 옵션들(202, 204)을 사용자에게 제공하는 것을 포함할 수 있다. 수신된 입력은 그 다음에 올바른 하드웨어 동작을 수행하는데 사용될 수 있다. 더욱이, 이 방법은 추가적인 사용자 입력을 수신하는 것, 이러한 추가적인 사용자 입력에 근거하여 적어도 하나의 추가적인 프로파일 참조를 인코더에 전달하여 적어도 하나의 추가적인 하드웨어 동작이 수행되도록 하는 것을 포함할 수 있다. 예를 들어, 사용자는, 하드웨어 디바이스(160), 예를 들어, 디스플레이가 스크린의 오른쪽 상부에 멀티미디어 콘텐츠(예를 들어, 이미지, 비디오, 등)를 디스플레이하도록 하는 파라미터 정보를 가진 프로파일들에 대응하는 그래픽 사용자 인터페이스 옵션들을 선택할 수 있다. 사용자는 그 다음에 추가적인 사용자 입력을 제공할 수 있는데, 이것은 아마도 마우스 혹은 키스트로크(keystroke) 혹은 이들의 조합을 사용하여 이루어질 수 있고, 이것에 의해 애플리케이션(122)은 적어도 하나의 추가적인 프로파일 참조를 미들웨어 API(124)에 전달하게 되고, 미들웨어 API(124)는 또한 이러한 추가적인 프로파일 참조를 미들웨어 코드(126)에 전달한다. 오디오/비디오 인코딩 모듈(130)은 그 다음에 디스플레이 상의 이미지 또는 비디오의 배치를 바꿀 수 있다. 예를 들어, 그 배치가 디스플레이의 왼쪽 하부 구석으로 변할 수 있거나, 또는 멀티미디어가 전체 스크린에 디스플레이될 수 있다.
이제 도 5를 참조하면, 소프트웨어 개발 시스템(500)이 도시되며, 이 시스템은 예를 들어, 데스크탑 컴퓨터, 노트북 컴퓨터, 컴퓨터 시스템들의 네트워크, 또는 임의의 다른 적절한 개발 시스템을 포함할 수 있다. 예를 들어, 이 시스템은 종래 기술에서 공지된 바와 같이 하나 이상의 로컬 시스템 혹은 원격 시스템에 걸쳐 분산될 수 있다. 소프트웨어 개발 시스템(500)은 예를 들어, 디스플레이(132), 프로세싱 회로(120), 및 메모리(102)를 포함할 수 있다.
도시된 바와 같이, 메모리(102)는 프로파일들(예를 들어, 프로파일들(104-114))을 포함할 수 있다. 그러나, 이것은 필수적인 것이 아니다. 프로파일들(104-114)은 앞서 설명된 프로파일들과 유사하다. 일 예에서, 하드웨어 디바이스(160)의 제조자는 이러한 프로파일들을 생성할 수 있다. 하드웨어 디바이스(160)의 제조자는 하드웨어 디바이스(160)의 사양 및 능력을 가장 잘 알고 있기 때문에, 이러한 것이 바람직할 수 있다. 대안적으로, 박식한 프로그래머가 이러한 프로파일들을 생성함에 있어 제조자를 도울 수 있다. 그러나, 임의의 적합한 프로그래머가 프로파일들(104-114)을 생성할 수 있음을 이해해야 한다. 더욱이, 프로파일들은 소프트웨어 개발 시스템(500) 상에서 생성될 수 있고, 하지만 임의의 다른 적절한 환경이 사용될 수도 있음을 이해해야 한다.
메모리(102)는 프로세싱 회로(120)에 의해 실행가능한 컴퓨터 판독가능 명령들을 포함할 수 있다. 프로세싱 회로(120)는 컴퓨터 판독가능 명령을 실행시킬 수 있고, 애플리케이션 발생기(502)로서 도시되어 있다. 애플리케이션 발생기(502)는, 디바이스 그래픽 사용자 인터페이스 옵션들(예를 들어, 202, 204)에 대응하는 파라미터 정보(예를 들어, 116, 118)를 가진 프로파일(예를 들어, 104, 110)을 식별하는 프로파일 참조(예를 들어, 프로파일 ID(136 또는 138))가 포함된 애플리케이션(504)을 나타내는 데이터를 발생시킬 수 있다. 애플리케이션 발생기(502)는 애플리케이션 데이터(506)를 도시된 바와 같이 메모리에 저장하기 위해 전송할 수 있다. 앞서 설명된 바와 같이, 메모리는 분산될 수 있거나, 또는 소프트웨어 개발 시스템(500) 상에 있을 수 있다. 하나의 예에서, 애플리케이션 발생기(502)는 애플리케이션(504)을 소프트웨어 개발 시스템(500) 상의 하드 드라이브에 저장할 수 있다. 또 다른 예에서, 애플리케이션 발생기(502)는 애플리케이션(504)을 멀티미디어 디바이스(100) 상에 저장할 수 있다.
애플리케이션 발생기(502)는 또한 그래픽 사용자 인터페이스(Graphical User Interface, GUI) 정보(135)를 디스플레이(132)에 전송함으로써 디스플레이(132) 상에서 볼 수 있는 애플리케이션 발생 그래픽 사용자 인터페이스(GUI)(508)를 제공할 수 있다. 도 6에 상세히 도시된 바와 같이, 애플리케이션 발생기 GUI(508)는 사이드바(606)에 위치한 프로파일 참조 삽입 옵션들(602, 604)을 제공할 수 있고, 이 옵션들은, 디바이스 그래픽 사용자 인터페이스 옵션들에 대응하는 파라미터 정보를 가진 프로파일을 식별하는 프로파일 참조에 대응한다. 애플리케이션 발생 GUI(508)는 또한, 프로그래밍 윈도우(608)를 포함할 수 있고, 프로그래머는 애플리케이션(504)을 프로그래밍하기 위한 프로그래밍 코드를 이 프로그래밍 윈도우(608)에 삽입할 수 있다. 따라서, 동작시, 프로그래머는 프로그래밍 윈도우(608)를 사용하여 종래 기술에서 공지된 바와 같은 코드를 기입할 수 있고, 하지만 프로파일 참조 삽입 옵션들(602, 604)을 사용하여 프로파일 ID(136 또는 138)와 같은 프로파일 참조들을 애플리케이션(504)에 삽입할 수도 있다.
하나의 예시적 동작에서, 프로그래머는 하드웨어 디바이스(160)로부터 비디오를 캡처하기 위해 애플리케이션(504)을 개발하고 있을 수 있다. 종래 기술의 해법에서, 프로그래머는 각각의 특정 하드웨어 디바이스(160)에 대한 비디오 및 오디오의 서로 다른 품질들을 정의하는 수백 라인의 코드를 만들어야만 할 것이다. 그러나, 프로파일 참조들을 애플리케이션(504)에 삽입함으로써, 프로그래머는 단지, (종래 방식을 사용하는 경우 알고 있을 필요가 있었던) 파라미터 정보를 가진 프로파일에 대응하는 필요한 프로파일 참조만을 알면 된다. 프로그래머는 프로그래밍 윈도우(608)에 프로파일 참조(예를 들어, 프로파일 ID, 프로파일 라벨, 등)을 직접 타이핑할 수 있다.
대안적으로, 애플리케이션(504)의 개발자가 아닌 최초 프로그래머가 각각의 프로파일에 대해 일정한 값, 예를 들어 라벨을 정의하는 정의 파일을 설정할 수 있다. 그 다음에 애플리케이션 개발자가 애플리케이션(504)을 개발할 때, 그는 프로그래밍 윈도우(608)에서 이러한 일정한 값을 사용할 수 있고, 그럼으로써 원하는 프로파일을 참조할 수 있다.
또 다른 예에서, 애플리케이션 발생기(502)는 메모리(102)로부터 프로파일 데이터(510)를 수신할 수 있고, 이것을 사용하여 프로파일 참조 삽입 옵션들(602, 604)을 발생시킬 수 있고, 이것을 GUI 정보(135)로서 디스플레이(132)에 전송할 수 있고, 그리고 그 다음에 프로파일 참조 삽입 옵션들(602, 604)을 애플리케이션 발생 GUI(508) 상에 제공할 수 있다. 그래픽 사용자 인터페이스 옵션들(202, 204)과 유사하게, 프로파일 참조 삽입 옵션들(602, 604)은 임의의 적절한 포맷을 가질 수 있다. 예를 들어, 이들은 도시된 바와 같은 드랍 다운 박스들로 나타날 수 있고, 체크 박스들, 라디오 버튼들, 혹은 임의의 다른 적절한 표현 방법을 통해 나타날 수 있다. 하나의 예에서, 사용자가 프로파일 참조 삽입 옵션(602 또는 604)을 선택할 때, 대응하는 프로파일 참조가 프로그래밍 윈도우(608)에 삽입된다.
다른 장점들 중에서도, 소프트웨어 개발자들은 하드웨어 디바이스들과 상호작용하는 소프트웨어 애플리케이션들을 더 빠르게 그리고 더 능률적으로 개발할 수 있다. 더욱이, 소프트웨어 개발자들은 소정의 하드웨어 디바이스의 특정 능력 또는 파라미터에 대응하는 방대한 양의 코드를 타이핑하는 데 소중한 시간을 소비하지 않아도 된다.
앞서의 본 발명의 상세한 설명 및 본 명세서에서 설명된 예들은, 한정의 의미가 아닌 단지 설명 및 예시적 목적으로 제공된 것이다. 따라서, 본 발명은 앞서 설명되고 본 특허청구범위에서 청구되는 그 근간을 이루는 기본적 원리의 사상 및 범위 내에 있는 수정물, 변형물, 또는 등가물 중 어떤 것 혹은 모두를 포괄하는 것임을 이해해야 한다.

Claims (25)

  1. 디바이스로서,
    파라미터 정보가 포함된 프로파일들을 포함하는 메모리와, 여기서 상기 프로파일들은 그래픽 사용자 인터페이스를 통해 제공되는 옵션들에 대응하는 디바이스 프로그래밍가능 옵션들에 대응하고; 그리고
    상기 프로파일들을 참조하는 저장된 컴퓨터 판독가능 명령들의 실행에 응답하여 상기 파라미터 정보를 사용하도록 동작가능한 프로세싱 회로를 포함하는 것을 특징으로 하는 디바이스.
  2. 제1항에 있어서,
    상기 파라미터 정보는 상기 디바이스의 하드웨어 동작과 관련되는 것을 특징으로 하는 디바이스.
  3. 제2항에 있어서,
    상기 파라미터 정보는, 비트 레이트, 코덱 타입, 및 프레임 레이트 중 적어도 하나와 관련되는 것을 특징으로 하는 디바이스.
  4. 제1항에 있어서,
    상기 프로세싱 회로는 적어도 하나의 프로파일로부터 파라미터 정보를 포함하는 결합된 프로파일을 생성하도록 동작가능한 것을 특징으로 하는 디바이스.
  5. 제4항에 있어서,
    상기 결합된 프로파일은 적어도 비디오 하드웨어 및 오디오 하드웨어에 대한 파라미터 정보를 포함하는 것을 특징으로 하는 디바이스.
  6. 제1항에 있어서,
    상기 메모리는 공통 디바이스 기능에 대한 프로파일들의 세트를 포함하는 것을 특징으로 하는 디바이스.
  7. 휴대용 디바이스로서,
    저장된 컴퓨터 판독가능 명령들을 실행하도록 동작가능한 프로세싱 회로와;
    적어도 하나의 프로파일 참조에 대한 참조들이 포함된, 저장된 컴퓨터 판독가능 명령들을 포함하는 메모리와, 여기서 상기 적어도 하나의 프로파일 참조는 디바이스 그래픽 사용자 인터페이스 옵션들에 대응하는 파라미터 정보를 가진 프로파일에 대응하고;
    실행시, 상기 프로세싱 회로로 하여금 상기 적어도 하나의 프로파일 참조를 사용하여 상기 파라미터 정보를 검색하도록 하고 아울러 상기 파라미터 정보를 사용하여 디바이스 하드웨어 동작들을 제어하도록 하는, 미들웨어로서 동작가능한 저장된 컴퓨터 판독가능 명령들을 포함하는 메모리와; 그리고
    상기 프로파일 참조에 의해 인덱싱된 상기 파라미터 정보를 포함하는 메모리를 포함하는 것을 특징으로 하는 휴대용 디바이스.
  8. 제7항에 있어서,
    상기 파라미터 정보는, 비트 레이트, 코덱 타입, 및 프레임 레이트 중 적어도 하나와 관련되는 것을 특징으로 하는 휴대용 디바이스.
  9. 제7항에 있어서,
    적어도 하나의 프로파일부터 파라미터 정보를 포함하는 결합된 프로파일을 생성하도록 동작가능한 프로파일 결합기 모듈을 더 포함하는 것을 특징으로 하는 휴대용 디바이스.
  10. 제9항에 있어서,
    상기 결합된 프로파일은 적어도 비디오 하드웨어 및 오디오 하드웨어에 대한 파라미터 정보를 포함하는 것을 특징으로 하는 휴대용 디바이스.
  11. 휴대용 디바이스에 관한 하드웨어를 제어하는 방법으로서,
    적어도 하나의 프로파일 참조를 포함하는 애플리케이션을 활성화시키는 단계와, 여기서 상기 프로파일 참조는 프로파일을 참조하고, 상기 프로파일은 파라미터 정보를 포함하고 그리고 디바이스 그래픽 사용자 인터페이스 옵션들에 대응하며; 그리고
    상기 적어도 하나의 프로파일 참조와 관련된 적어도 하나의 프로파일로부터의 파라미터 정보를 사용하여 하드웨어 동작을 수행하는 단계를 포함하는 것을 특징으로 하는 하드웨어 제어 방법.
  12. 제11항에 있어서,
    프로파일 결합기 모듈을 호출하는 단계와; 그리고
    하나 이상의 프로파일로부터의 파라미터 정보를 결합하여 디바이스 그래픽 사용자 인터페이스 동작들에 대응하는 결합된 프로파일을 확립하는 단계를 더 포함하는 것을 특징으로 하는 하드웨어 제어 방법.
  13. 제12항에 있어서,
    상기 결합된 프로파일에 새로운 프로파일 참조를 할당하는 단계를 더 포함하는 것을 특징으로 하는 하드웨어 제어 방법.
  14. 제11항에 있어서,
    상기 파라미터 정보가 포함된 프로파일을 참조하는 상기 프로파일 참조에 대응하는 디바이스 그래픽 사용자 인터페이스 옵션들을 사용자에게 제공하는 단계와; 그리고
    사용자 입력을 수신하는 단계를 포함하는 것을 특징으로 하는 하드웨어 제어 방법.
  15. 제14항에 있어서,
    추가적인 사용자 입력을 수신하는 단계와; 그리고
    상기 추가적인 사용자 입력에 근거하여, 적어도 하나의 추가적인 프로파일 참조를 인코더에 전달하여 적어도 하나의 추가적인 하드웨어 동작을 수행하는 단계를 더 포함하는 것을 특징으로 하는 하드웨어 제어 방법.
  16. 제11항에 있어서,
    상기 하드웨어 동작은 오디오 코딩, 비디오 코딩, 및 이미지 코딩 중 적어도 하나를 포함하는 것을 특징으로 하는 하드웨어 제어 방법.
  17. 소프트웨어 개발 시스템으로서,
    컴퓨터 판독가능 명령들을 실행하도록 동작가능한 프로세싱 회로와, 여기서 상기 프로세싱 회로는, 디바이스 그래픽 사용자 인터페이스 옵션들에 대응하는 파라미터 정보를 가진 프로파일을 식별하는 프로파일 참조가 포함된 애플리케이션을 나타내는 데이터를 소스 코드로부터 발생시키는 애플리케이션 발생기를 포함하고; 그리고
    메모리를 포함하여 구성되고,
    상기 메모리는 상기 컴퓨터 판독가능 명령들을 포함하고 아울러 상기 디바이스 그래픽 사용자 인터페이스 옵션들에 대응하는 파라미터 정보를 가진 프로파일을 식별하는 프로파일 참조가 포함된 상기 애플리케이션을 포함하는 것을 특징으로 하는 소프트웨어 개발 시스템.
  18. 제17항에 있어서,
    상기 애플리케이션 발생기는 또한, 디스플레이 상에서 볼 수 있는 애플리케이션 발생 그래픽 사용자 인터페이스를 제공하도록 동작가능하고, 그리고 상기 디바이스 그래픽 사용자 인터페이스 옵션들에 대응하는 파라미터 정보를 가진 프로파일을 식별하는 프로파일 참조에 대응하는 프로파일 참조 삽입 옵션들을 제공하도록 동작가능한 것을 특징으로 하는 소프트웨어 개발 시스템.
  19. 제17항에 있어서,
    상기 파라미터 정보는 하드웨어 동작과 관련되는 것을 특징으로 하는 소프트웨어 개발 시스템.
  20. 제19항에 있어서,
    상기 파라미터 정보는, 비트 레이트, 코덱 타입, 및 프레임 레이트 중 적어도 하나와 관련되는 것을 특징으로 하는 소프트웨어 개발 시스템.
  21. 제19항에 있어서,
    상기 파라미터 정보는, 비디오 하드웨어 및 오디오 하드웨어 중 적어도 하나와 관련되는 것을 특징으로 하는 소프트웨어 개발 시스템.
  22. 저장 매체로서,
    상기 저장 매체에는 하나 이상의 프로세싱 디바이스들에 의해 실행가능한 저장된 컴퓨터 판독가능 명령들이 포함되고, 상기 저장된 컴퓨터 판독가능 명령들은 상기 하나 이상의 프로세싱 디바이스들에 의해 실행될 때, 상기 하나 이상의 프로세싱 디바이스들로 하여금, 디바이스 그래픽 사용자 인터페이스 옵션들에 대응하는 파라미터 정보를 가진 프로파일을 식별하는 프로파일 참조가 포함된 애플리케이션을 나타내는 데이터를 소스 코드로부터 발생시키도록 하는 것을 특징으로 하는 저장 매체.
  23. 제22항에 있어서,
    상기 컴퓨터 판독가능 명령들은 또한, 상기 하나 이상의 프로세싱 디바이스들에 의해 실행될 때, 상기 하나 이상의 프로세싱 디바이스들로 하여금, 디스플레이 상에서 볼 수 있는 애플리케이션 발생 그래픽 사용자 인터페이스를 제공하도록 하고, 그리고 상기 디바이스 그래픽 사용자 인터페이스 옵션들에 대응하는 파라미터 정보를 가진 프로파일을 식별하는 프로파일 참조에 대응하는 프로파일 참조 삽입 옵션들을 제공하도록 동작가능하게 하는 것을 특징으로 하는 저장 매체.
  24. 제22항에 있어서,
    상기 파라미터 정보는 하드웨어 동작과 관련되는 것을 특징으로 하는 저장 매체.
  25. 제24항에 있어서,
    상기 파라미터 정보는, 비디오 하드웨어 및 오디오 하드웨어 중 적어도 하나와 관련되는 것을 특징으로 하는 저장 매체.
KR1020107014981A 2007-12-06 2008-10-29 프로파일을 사용하여 소프트웨어 복잡도를 감소시키는 방법 및 장치 KR101500636B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/951,602 2007-12-06
US11/951,602 US20090150817A1 (en) 2007-12-06 2007-12-06 Method and Apparatus Utilizing Profiles to Reduce Software Complexity
PCT/CA2008/001902 WO2009070866A1 (en) 2007-12-06 2008-10-29 Method and apparatus utilizing profiles to reduce software complexity

Publications (2)

Publication Number Publication Date
KR20100099720A true KR20100099720A (ko) 2010-09-13
KR101500636B1 KR101500636B1 (ko) 2015-03-09

Family

ID=40717217

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107014981A KR101500636B1 (ko) 2007-12-06 2008-10-29 프로파일을 사용하여 소프트웨어 복잡도를 감소시키는 방법 및 장치

Country Status (6)

Country Link
US (1) US20090150817A1 (ko)
EP (1) EP2232384A4 (ko)
JP (1) JP5501244B2 (ko)
KR (1) KR101500636B1 (ko)
CN (1) CN101952819A (ko)
WO (1) WO2009070866A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100262630A1 (en) * 2009-04-14 2010-10-14 Microsoft Corporation Adaptive profile for directing graphical content in a computing system
WO2014076951A1 (ja) * 2012-11-19 2014-05-22 日本電気株式会社 プログラム設定装置、及び、プログラム設定方法
CN106034247A (zh) * 2015-03-12 2016-10-19 Tcl集团股份有限公司 一种智能电视应用的配置方法及装置
JP6843007B2 (ja) * 2017-06-26 2021-03-17 株式会社三菱Ufj銀行 アプリケーション生成支援システム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3279684B2 (ja) * 1992-11-17 2002-04-30 株式会社日立製作所 音声インタフェース・ビルダ・システム
US6530083B1 (en) * 1998-06-19 2003-03-04 Gateway, Inc System for personalized settings
FI107772B (fi) * 1998-12-16 2001-09-28 Nokia Networks Oy Menetelmä ja järjestelmä tiedonsiirron palvelunlaadun rajoittamiseksi
US7079166B1 (en) * 2000-01-07 2006-07-18 Ricoh Company, Ltd. Graphical user interface with enhanced operations when changing display screen
US7698389B2 (en) * 2001-05-16 2010-04-13 Hewlett-Packard Development Company, L.P. Device configuration in a distributed environment
US20030014436A1 (en) * 2001-06-27 2003-01-16 Spencer Donald J. Closed-loop delivery to integrated download manager
GB2380004A (en) * 2001-07-27 2003-03-26 Virtual Access Ireland Ltd A configuration and management development system for a netwok of devices
US7567575B2 (en) * 2001-09-07 2009-07-28 At&T Corp. Personalized multimedia services using a mobile service platform
US6944474B2 (en) * 2001-09-20 2005-09-13 Sound Id Sound enhancement for mobile phones and other products producing personalized audio for users
US20040218065A1 (en) * 2001-09-25 2004-11-04 Schinner Charles E. Personality modes in a handheld electronic device
US7043696B2 (en) * 2002-01-15 2006-05-09 National Instruments Corporation Graphical program system having a single graphical user interface shared by a plurality of graphical programs
NO318686B1 (no) * 2002-09-27 2005-04-25 Gridmedia Technologies As Multimedia-filformat
US7263605B2 (en) * 2002-12-09 2007-08-28 Intel Corporation Decoupled hardware configuration manager that generates a user interface prior to booting using hardware configuration option data read from plurality of hardware devices
US7409145B2 (en) * 2003-01-02 2008-08-05 Microsoft Corporation Smart profiles for capturing and publishing audio and video streams
US7882258B1 (en) * 2003-02-05 2011-02-01 Silver Screen Tele-Reality, Inc. System, method, and computer readable medium for creating a video clip
US20040230659A1 (en) * 2003-03-12 2004-11-18 Chase Michael John Systems and methods of media messaging
KR100513292B1 (ko) * 2003-04-16 2005-09-09 삼성전자주식회사 홈 네트워크에서 홈상태 정보를 구성하고 이용하는 방법및 시스템
EP1618459A4 (en) * 2003-04-25 2007-08-08 Qualcomm Inc SYSTEM FOR THE CONTROL OF SHOOTING RESOURCE IN A PORTABLE DEVICE
US20040243922A1 (en) * 2003-05-30 2004-12-02 Peter Sirota Method and process for scheduling and producing a network event
JP2004362090A (ja) * 2003-06-03 2004-12-24 Toyota Motor Corp 移動端末向けソフトウエア配信システム
US7418472B2 (en) * 2003-09-30 2008-08-26 Microsoft Corporation Systems and methods for determining remote device media capabilities
US7669121B2 (en) * 2005-01-19 2010-02-23 Microsoft Corporation Transcode matrix
US20060218488A1 (en) * 2005-03-28 2006-09-28 Microsoft Corporation Plug-in architecture for post-authoring activities
JP4622671B2 (ja) * 2005-04-18 2011-02-02 ソニー株式会社 電子機器および方法、記録媒体、並びにプログラム
US20070168866A1 (en) * 2006-01-13 2007-07-19 Broadcom Corporation Method and system for constructing composite video from multiple video elements
US7712039B2 (en) * 2006-03-31 2010-05-04 Microsoft Corporation Setting control using edges of a user interface
US20080124053A1 (en) * 2006-09-01 2008-05-29 Hutten Matthijs C Method for using a video content recording apparatus with syntax for video content recording parameters
US8995815B2 (en) * 2006-12-13 2015-03-31 Quickplay Media Inc. Mobile media pause and resume

Also Published As

Publication number Publication date
EP2232384A1 (en) 2010-09-29
EP2232384A4 (en) 2012-02-15
CN101952819A (zh) 2011-01-19
WO2009070866A1 (en) 2009-06-11
JP2011508294A (ja) 2011-03-10
KR101500636B1 (ko) 2015-03-09
JP5501244B2 (ja) 2014-05-21
US20090150817A1 (en) 2009-06-11

Similar Documents

Publication Publication Date Title
CN107770626B (zh) 视频素材的处理方法、视频合成方法、装置及存储介质
US9836437B2 (en) Screencasting for multi-screen applications
US7752560B2 (en) Systems and methods for creating and managing graphical user interface lists
US20080070616A1 (en) Mobile Communication Terminal with Improved User Interface
CN111625214B (zh) 音频控制方法、装置、设备及存储介质
US20080151702A1 (en) Content reproducing system, electronic apparatus, reproduction control method, program, and storage medium
CN102646014A (zh) 特定于上下文的用户界面
CN105556598A (zh) 多通道音频的通道的选择性加水印
US10191712B2 (en) Display apparatus and recording medium
KR101500636B1 (ko) 프로파일을 사용하여 소프트웨어 복잡도를 감소시키는 방법 및 장치
JP2013225326A (ja) レンダリング装置及び方法
KR20160056135A (ko) 디스플레이 장치 및 그의 디스플레이 방법
US20160359932A1 (en) Display device and method of controlling the same
CN101764957A (zh) 一种在会议字幕中插入图片的方法和装置
CN106782578B (zh) 一种分布式解码控制器、分布式解码方法及音频终端
CN114927110B (zh) 一种背光控制方法、显示设备、芯片系统及介质
KR100798556B1 (ko) 액티브 디스플레이 링크 기능을 포함하는 디지털 단말기
CN113038137B (zh) 视频数据的输出方法、系统、装置及计算机可读存储介质
CN111045631A (zh) 双屏异显异音实现方法、装置及存储介质
CN113542706B (zh) 跑步机的投屏方法、装置、设备及存储介质
CN115842944A (zh) 用于处理输入音频的方法、电子设备和存储介质
CN115412751B (zh) 一种显示设备及可视化菜单控制方法
US20210185102A1 (en) Server in multipoint communication system, and operating method thereof
CN113760211A (zh) 一种控制方法和控制装置
KR20210076643A (ko) 다자간 통화 시스템의 전자 장치, 서버 및 그의 동작 방법

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
LAPS Lapse due to unpaid annual fee