KR101909260B1 - 어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말 - Google Patents

어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말 Download PDF

Info

Publication number
KR101909260B1
KR101909260B1 KR1020110124519A KR20110124519A KR101909260B1 KR 101909260 B1 KR101909260 B1 KR 101909260B1 KR 1020110124519 A KR1020110124519 A KR 1020110124519A KR 20110124519 A KR20110124519 A KR 20110124519A KR 101909260 B1 KR101909260 B1 KR 101909260B1
Authority
KR
South Korea
Prior art keywords
media
chipset
information
application
programming interface
Prior art date
Application number
KR1020110124519A
Other languages
English (en)
Other versions
KR20130058492A (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 주식회사 케이티
Priority to KR1020110124519A priority Critical patent/KR101909260B1/ko
Publication of KR20130058492A publication Critical patent/KR20130058492A/ko
Application granted granted Critical
Publication of KR101909260B1 publication Critical patent/KR101909260B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • 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/451Execution arrangements for user interfaces

Abstract

단말에서 동작하는 어플리케이션이 단말에 탑재된 미디어 칩셋과 연동하는 방법으로서, 미디어의 실행을 요청받는 단계, 미디어의 실행에 관계된 미디어 서버로 단말에 탑재된 미디어 칩셋의 정보를 요청하는 단계, 미디어 서버로부터 미디어 칩셋의 정보를 수신하는 단계, 미디어 칩셋의 정보를 기초로 미디어 칩셋의 프로그래밍 인터페이스를 호출하는 단계, 그리고 미디어 칩셋을 이용하여 미디어를 실행하는 단계를 포함한다.

Description

어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말{METHOD FOR ACCESSING MEDIA CHIPSET OF APPLICATION, AND USER DEVICE THEREOF}
본 발명은 어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말에 관한 것이다.
안드로이드(android) 기반에서 동작하는 어플리케이션은 미디어 프레임워크(Media Framework)를 통해 각종 미디어를 실행한다. 어플리케이션이 프로그래밍 인터페이스를 통해 미디어 프레임워크에 접근하면, 미디어 프레임워크는 어플리케이션의 요청을 받아 하드웨어 코덱(codec) 처리를 하는 미디어 칩셋에 접근하거나, 소프트웨어 코덱으로 처리하여, 필요한 미디어 서비스를 제공한다. 미디어 프레임워크는 스트리밍 서버 연동, 그리고 코덱 및 렌더링(rendering) 처리 등 각종 미디어 처리를 통합적으로 수행한다.
이와 같이 지금까지의 어플리케이션은 미디어 칩셋과 직접 연동하는 대신 미디어 프레임워크를 통해 하드웨어 코덱을 이용할 수 있다. 따라서, 어플리케이션은 단말 제조사가 포팅하여 제공하는 미디어 형식에 대해서만 미디어 칩셋의 하드웨어 코덱 등을 이용하여 미디어 서비스를 제공받을 수 있다. 그러나, 미디어 프레임워크는 단말 제조사별로 구현 사항이 달라서 일관성이 없고, 하드웨어 미디어 처리에 소프트웨어 미디어 처리를 연동하여 구현할 수 있다. 즉, 미디어 프레임워크가 단말 제조사의 구현에 의존적이므로, 지금까지의 어플리케이션은 미디어 프레임워크에 구현되지 않은 미디어 형식인 경우, 단말에서 미디어를 재생하지 못할 수 있다.
본 발명이 해결하고자 하는 과제는 어플리케이션 구동 시 어플리케이션이 미디어 칩셋에 직접 접근하여 하드웨어로 미디어를 처리하는, 어플리케이션의 미디어 칩셋 연동 방법을 제공하는 것이다.
본 발명의 한 실시예에 따른 단말에서 동작하는 어플리케이션이 상기 단말에 탑재된 미디어 칩셋과 연동하는 방법으로서, 미디어의 실행을 요청받는 단계, 상기 미디어의 실행에 관계된 미디어 서버로 상기 단말에 탑재된 미디어 칩셋의 정보를 요청하는 단계, 상기 미디어 서버로부터 상기 미디어 칩셋의 정보를 수신하는 단계, 상기 미디어 칩셋의 정보를 기초로 상기 미디어 칩셋의 프로그래밍 인터페이스(application programming interface)를 호출하는 단계, 그리고 상기 프로그래밍 인터페이스를 통해 접근한 상기 미디어 칩셋을 이용하여 상기 미디어를 실행하는 단계를 포함한다.
상기 미디어를 실행하는 단계는 상기 미디어 칩셋의 하드웨어 코덱을 이용하여 상기 미디어를 실행할 수 있다.
상기 미디어 칩셋의 정보를 요청하는 단계는 상기 미디어 실행에서 하드웨어 코덱의 사용이 필요한 경우, 상기 미디어 서버에 상기 미디어 칩셋의 정보를 요청할 수 있다.
상기 미디어 칩셋의 정보를 요청하는 단계는 상기 단말의 식별 정보를 전송하여 상기 단말에 탑재된 상기 미디어 칩셋의 정보를 요청할 수 있다.
상기 미디어 칩셋의 정보를 요청하는 단계는 상기 단말에 탑재된 미디어 칩셋을 식별하지 못한 경우, 상기 미디어 칩셋의 정보를 요청할 수 있다.
상기 미디어 칩셋의 정보는 상기 프로그래밍 인터페이스 정보를 포함할 수 있다.
본 발명의 다른 실시예에 따른 단말에서 동작하는 어플리케이션이 상기 단말에 탑재된 미디어 칩셋과 연동하는 방법으로서, 미디어의 실행을 요청받는 단계, 상기 미디어의 실행에 관계되고, 상기 단말에 탑재된 미디어 칩셋을 식별하는 단계, 저장된 적어도 하나의 프로그래밍 인터페이스 정보 중에서, 상기 미디어 칩셋의 프로그래밍 인터페이스를 호출하는 단계, 그리고 상기 프로그래밍 인터페이스를 통해 접근한 상기 미디어 칩셋을 이용하여 상기 미디어를 실행하는 단계를 포함한다.
상기 미디어를 실행하는 단계는 상기 미디어의 실행에 관계된 미디어 서버와 연동하여, 상기 미디어 서버에서 스트리밍되는 상기 미디어를 상기 미디어 칩셋을 이용하여 재생할 수 있다.
상기 단말에 탑재된 미디어 칩셋을 식별하는 단계는 상기 단말에 탑재된 운영체제(operating system)에서 상기 미디어의 실행을 지원하지 않는 경우, 탑재된 미디어 칩셋을 식별할 수 있다.
상기 미디어 칩셋의 프로그래밍 인터페이스를 호출하는 단계는 저장된 적어도 하나의 프로그래밍 인터페이스 정보 중에서, 상기 미디어 칩셋의 프로그래밍 인터페이스가 없는 경우, 미디어 서버로부터 상기 단말에 탑재된 미디어 칩셋의 프로그래밍 인터페이스 정보를 수신할 수 있다.
본 발명의 또 다른 실시예에 따른 미디어 칩셋을 이용하여 어플리케이션의 미디어를 실행하는 사용자 단말로서, 하드웨어 코덱과 하드웨어 렌더러를 이용하여 미디어를 처리하는 미디어 칩셋, 그리고 상기 미디어 칩셋을 식별하여 상기 미디어 칩셋의 프로그래밍 인터페이스를 호출하고, 상기 미디어 칩셋과 연동하여 미디어를 실행하는 어플리케이션부를 포함한다.
상기 어플리케이션부는 상기 미디어의 실행에 관계된 미디어 서버와 연동하여, 상기 미디어 서버에서 스트리밍되는 상기 미디어를 상기 미디어 칩셋을 이용하여 재생할 수 있다.
상기 사용자 단말은 적어도 하나의 미디어 칩셋에 대응하는 프로그래밍 인터페이스 정보를 저장하는 미디어 칩셋 정보 저장부를 더 포함할 수 있다.
상기 어플리케이션부는 상기 미디어 칩셋 정보 저장부 에 저장된 적어도 하나의 프로그래밍 인터페이스 정보 중에서, 상기 미디어 칩셋의 프로그래밍 인터페이스가 없는 경우, 상기 미디어의 실행에 관계된 미디어 서버로부터 상기 단말에 탑재된 미디어 칩셋의 프로그래밍 인터페이스를 수신할 수 있다.
본 발명의 실시예에 따르면 어플리케이션은 미디어 칩셋과 직접 연동하여 단말 제조사의 미디어 관련 구현 내용과 관계없이 하드웨어인 미디어 칩셋으로 미디어 처리를 할 수 있다. 따라서, 본 발명의 실시예에 따르면 어플리케이션의 미디어 품질을 높일 수 있다.
도 1은 어플리케이션 동작을 나타내는 도면이다.
도 2는 본 발명의 한 실시예에 따른 어플리케이션 동작을 나타내는 도면이다.
도 3은 본 발명의 한 실시예에 따른 어플리케이션의 미디어 칩셋 연동 방법의 흐름도이다.
도 4는 본 발명의 다른 실시예에 따른 어플리케이션의 미디어 칩셋 연동 방법의 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이제 도면을 참고하여 어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말에 대하여 상세하게 설명한다.
도 1은 어플리케이션 동작을 나타내는 도면이다.
도 1을 참고하면, 사용자 단말(10)은 여러 하드웨어와 소프트웨어를 계층적으로 연결하고, 이들의 상위단에서 어플리케이션과 같은 프로그램을 구동한다. 어플리케이션(20)은 사용자 단말(10)에 탑재되어 사용자 단말(10)의 하드웨어와 소프트웨어 자원을 이용해 동작한다. 여기서 하드웨어는 중앙 처리 장치, 메모리, 미디어 칩셋(30)과 같이 물리적 형상으로 구현된 장치를 포함하며, 미디어 칩셋(30)은 하드웨어적으로 코덱과 렌더러(renderer) 처리를 수행하는 장치를 통칭한다. 소프트웨어는 운영체제(Operating System, OS) 등과 같이, 하드웨어를 이용하여 프로그램된 연산을 수행하는 구성을 포함한다. 그리고 어플리케이션(20)은 사용자 단말(10)에서 이용할 수 있는 콘텐트를 포함하는 일종의 프로그램 블록이며, 사용자 단말(10)에 복수 개 설치될 수 있다.
어플리케이션(20)은 미디어의 실행에 관련된 어플리케이션으로서, 음악이나 동영상에 관련된 각종 동작을 수행할 수 있다. 여기서 미디어의 실행은 음악이나 동영상 등의 미디어 재생에 관련된 각종 동작, 예를 들면, 콘텐트 재생, 정지, 일시 정지, 탐색 등의 디코딩(decoding) 동작을 포함한다. 그리고, 미디어의 실행은 음악이나 동영상 등의 미디어 편집, 녹음, 촬영 등 미디어 가공에 관련된 각종 인코딩(encoding) 동작을 더 포함한다.
지금까지의 미디어에 관련된 어플리케이션(20)은, 제조사가 사용자 단말(10)에 구현해 놓은 미디어 처리 소프트웨어부(40)를 통해 미디어를 실행한다. 예를 들면, 미디어 처리 소프트웨어부(40)는 안드로이드(android) 운영체제의 미디어 프레임워크(media framework)일 수 있다. 어플리케이션(20)은 미디어 실행을 위해, 안드로이드에서 제공하는 프로그래밍 인터페이스(application programming interface, API)(41)를 통해 미디어 프레임워크에 접근한다. 그리고, 미디어 처리 소프트웨어부(40)는 미디어 칩셋(30)의 프로그래밍 인터페이스(31)를 통해 미디어 칩셋(30)에 접근한다.
일반적으로 미디어 프레임워크는 외부 서버 연동, 미디어 처리, 코덱 처리, 렌더링(rendering) 처리 등을 모두 책임진다. 따라서, 미디어 프레임워크는 제조사에 의해 구현된 내용에 따라 소프트웨어 코덱으로 미디어를 처리하거나, 미디어 칩셋의 하드웨어 코덱으로 미디어를 처리할 수 있다. 그리고, 미디어 프레임워크는 어플리케이션(20)이 요청한 미디어가 스트리밍 콘텐트에 관련된 경우, 미디어 서버(600)와 연동하여 어플리케이션(20)에 해당 미디어를 제공한다.
이와 같이, 지금까지의 어플리케이션(20)은 독자적으로 미디어를 처리하는 대신, 사용자 단말(10)의 제조사가 구현해 놓은 미디어 처리 소프트웨어부(40)를 통해 미디어를 실행하기 때문에, 미디어 처리 소프트웨어부(40)에 의존적이다. 따라서, 어플리케이션(20)에서 미디어 처리 소프트웨어부(40)만을 이용하는 경우 미디어 처리 소프트웨어부(40)에서 지원하지 않은 형식의 미디어는 실행될 수 없다. 또한, 어플리케이션(20)이 소프트웨어 코덱 대신에 하드웨어 코덱을 이용하여 미디어를 실행하고 싶어도, 직접 미디어 칩셋(30)에 접근할 수 없어 하드웨어 코덱으로 미디어 처리를 할 수 없다.
다음에서, 본 발명의 실시예에 따른 어플리케이션이 미디어 칩셋과 연동하는 방법에 대해 살펴본다.
도 2는 본 발명의 한 실시예에 따른 어플리케이션 동작을 나타내는 도면이다.
도 2를 참고하면, 사용자 단말(100)은 여러 하드웨어와 소프트웨어를 계층적으로 연결하고, 이들의 상위단에서 복수의 어플리케이션(200, 210)을 구동한다. 여기서 어플리케이션(200, 210)은 미디어 실행에 관련된 어플리케이션이다. 사용자 단말(100)은 미디어 처리를 위한 미디어 칩셋(300)과 미디어 처리 소프트웨어부(400)를 포함하고, 이들 각각에 접근하기 위한 프로그래밍 인터페이스(API)(310, 410)를 포함한다. 이때, 사용자 단말(100)은 미디어 칩셋 정보 저장부(500)를 더 포함할 수 있다.
미디어 칩셋(300)은 하드웨어적으로 코덱과 렌더러 처리를 수행하는 장치로서, 프로그래밍 인터페이스(310)를 제공한다. 그리고 미디어 칩셋의 프로그래밍 인터페이스(310)를 통해 어플리케이션(200/210)이나 미디어 처리 소프트웨어부(400)가 미디어 칩셋(300)에 접근한다.
미디어 처리 소프트웨어부(400)는 안드로이드 운영체제의 미디어 프레임워크와 같이 미디어 처리를 위해 구현한 소프트웨어부이다. 미디어 처리 소프트웨어부(400)는 외부 서버 연동, 미디어 처리, 코덱 처리, 렌더링 처리 등을 수행한다. 어플리케이션(200/210)은 미디어 처리 소프트웨어부(400)에 프로그래밍 인터페이스(410)를 통해 접근하며, 안드로이드 운영체제의 경우, 안드로이드 API(410)일 수 있다.
미디어 칩셋 정보 저장부(500)는 적어도 하나의 미디어 칩셋에 대응하는 프로그래밍 인터페이스 정보를 저장한다. 미디어 칩셋 정보 저장부(500)는 어플리케이션(200) 개발 시 포함하여 어플리케이션(200) 내부에 구현될 수 있다. 이때, 어플리케이션(200)이 어떤 미디어 칩셋을 탑재한 사용자 단말에 다운로드될지 알 수 없으므로, 어플리케이션(200) 개발자는 미디어 칩셋 정보 저장부(500)에 복수의 미디어 칩셋에 대응하는 복수의 프로그래밍 인터페이스 정보를 미리 저장한다. 그리고, 어플리케이션(200)은 설치된 이후에 사용자 단말(100)에 탑재된 미디어 칩셋을 식별하고, 식별한 미디어 칩셋의 프로그래밍 인터페이스 정보를 선택할 수 있다. 그리고, 미디어 칩셋 정보 저장부(500)는 미디어 서버(600)를 포함하는 외부 서버부터 수신한 미디어 칩셋의 프로그래밍 인터페이스 정보를 저장할 수 있다.
미디어 칩셋 정보 저장부(500)는 어플리케이션(200) 이외의 일정 영역에 구현될 수 있다. 따라서, 어플리케이션(200)은 설치된 이후에 사용자 단말(100)에 탑재된 미디어 칩셋을 식별하고, 미디어 칩셋 정보 저장부(500)를 탐색하여 미디어 칩셋에 대응하는 프로그래밍 인터페이스 정보를 획득한다.
복수의 어플리케이션(200, 210)은 미디어 칩셋(300)과 미디어 처리 소프트웨어부(400)를 선택적으로 이용하여 음악이나 동영상에 관련된 각종 동작을 수행한다.
어플리케이션(200)은 미디어 실행 시, 미디어 칩셋(300)과 직접 연동하여 원하는 미디어 처리를 할 수 있다. 이를 위해 어플리케이션(200)은 사용자 단말(100)에 탑재된 미디어 칩셋(300)을 식별한다. 그리고 어플리케이션(200)은 탑재된 미디어 칩셋(300)의 프로그래밍 인터페이스(310)를 호출하여 미디어 칩셋(300)을 이용한다. 어플리케이션(200)은 미디어 칩셋 정보 저장부(500)를 검색하여 탑재된 미디어 칩셋(300)의 프로그래밍 인터페이스(310) 정보를 획득할 수 있다. 만약, 미디어 칩셋 정보 저장부(500)에 탑재된 미디어 칩셋(300)의 프로그래밍 인터페이스(310) 정보가 없는 경우, 어플리케이션(200)은 이를 제공하는 외부 서버, 예를 들면 미디어 서버(600)로부터 획득할 수 있다. 또는, 어플리케이션(200)은 운영 체제(OS)나 미디어 처리 소프트웨어부(400)로부터 사용자 단말(100)에 구현한 미디어 칩셋(300)과 프로그래밍 인터페이스(310) 정보를 획득할 수 있다. 이때 운영 체제(OS)나 미디어 처리 소프트웨어부(400)는 라이브러리 정보를 통해서 미디어 칩셋(300)의 정보를 제공할 수 있다.
이와 같이 어플리케이션(200)이 미디어 칩셋(300)과 직접 연동하는 경우, 어플리케이션(200)은 미디어 처리 소프트웨어부(400)의 일부 기능을 구현한다. 여기서 일부 기능은 외부 서버 연동 기능, 미디어 실행에 필요한 미디어 처리를 포함한다. 어플리케이션(200)이 제공하는 미디어 형식을 미디어 처리 소프트웨어부(400)에서 제공하지 않거나, 품질을 위해 하드웨어 코덱을 이용할 필요가 있는 경우, 어플리케이션(200)은 직접 미디어 칩셋(300)의 프로그래밍 인터페이스(310)를 호출하여 미디어 칩셋(300)을 이용할 수 있다. 이때 다른 어플리케이션(210)은 미디어 처리 소프트웨어부(400)를 이용하여 미디어를 실행할 수 있다.
도 3은 본 발명의 한 실시예에 따른 어플리케이션의 미디어 칩셋 연동 방법의 흐름도이다.
도 3을 참고하면, 어플리케이션(200)은 사용자 단말(100)에 설치되어 동작하고, 특히 미디어 실행에 관련된 어플리케이션이다. 어플리케이션(200)은 자신이 호출할 미디어 칩셋(300)을 알지 못하는 경우, 외부로부터 미디어 칩셋(300)의 정보를 획득하여 미디어 칩셋(300)과 연동한다.
어플리케이션(200)은 미디어의 실행을 요청받는다(S310). 어플리케이션(200)은 사용자 단말로부터 선택된 미디어의 실행 요청을 입력받는다. 미디어는 사용자 단말(100)에 저장된 콘텐트일 수 있고, 또는 외부의 미디어 서버(600)로부터 전송되는 스트리밍 콘텐트일 수 있다. 미디어의 실행은 미디어에 관련된 인코딩, 디코딩, 그리고 렌더링에 관련된 적어도 하나의 동작일 수 있다.
어플리케이션(200)은 미디어의 실행에 관계된 미디어 서버(600)로 사용자 단말(100)에 탑재된 미디어 칩셋(300)의 정보를 요청한다(S320). 어플리케이션(200)은 미디어 실행에서 하드웨어 코덱의 사용이 필요한 경우, 미디어 서버(600)에 탑재된 미디어 칩셋(300)의 정보를 요청한다. 이때 어플리케이션(200)은 사용자 단말(100)의 식별 정보를 전송한다.
어플리케이션(200)은 미디어 서버(600)로부터 미디어 칩셋(300)의 정보를 수신한다(S330). 미디어 서버로(500)는 사용자 단말(100)에 탑재된 미디어 칩셋(300)의 정보를 저장하고 있으며, 미디어 칩셋(300)의 정보 요청을 수신하면, 사용자 단말(100)에 대응하는 미디어 칩셋(300)의 정보를 찾아 사용자 단말(100)로 전송한다. 미디어 칩셋들의 프로그래밍 인터페이스들이 사용자 단말(100)에 저장된 경우, 미디어 서버(600)는 미디어 칩셋(300)의 종류를 식별할 수 있는 정보를 보낸다. 또는 사용자 단말(100)에 미디어 칩셋(300)의 프로그래밍 인터페이스 정보가 없는 경우, 미디어 서버(600)는 미디어 칩셋(300)의 프로그래밍 인터페이스 정보를 전달할 수 있다.
어플리케이션(200)은 미디어 칩셋(300)의 정보를 기초로 미디어 칩셋(300)의 프로그래밍 인터페이스(310)를 호출한다(S340).
어플리케이션(200)은 미디어 칩셋(300)을 이용하여 미디어를 실행한다(S350). 어플리케이션(200)은 미디어 칩셋(300)의 하드웨어 코덱을 이용하여 미디어를 실행한다.
이와 같이 어플리케이션(200)은 외부로부터 미디어 칩셋(300)과 프로그래밍 인터페이스(310) 정보를 획득할 수 있다. 이때, 어플리케이션(200)은 사용자 단말(100) 내부에 구현된 운영 체제(OS)나 미디어 처리 소프트웨어부(400)로부터 미디어 칩셋(300)과 프로그래밍 인터페이스(310) 정보를 획득할 수 있다. 따라서, 어플리케이션(200)은 사용자 단말(100)의 미디어 칩셋(300) 정보 제공 수준, 미디어 서버(600)의 미디어 칩셋(300) 정보 제공 수준 그리고, 미디어 서버(600)와 같은 외부 서버와의 네트워크 상황을 종합적으로 고려하여 미디어 칩셋(300) 정보를 수집할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 어플리케이션의 미디어 칩셋 연동 방법의 흐름도이다.
도 4를 참고하면, 어플리케이션(200)은 사용자 단말(100)에 설치되어 구동하는 미디어 실행에 관련된 어플리케이션이다. 어플리케이션(200)은 자신이 호출할 미디어 칩셋(300)을 직접 식별하여 미디어 칩셋(300)과 연동할 수 있다.
어플리케이션(200)은 미디어의 실행을 요청받는다(S410).
어플리케이션(200)은 사용자 단말(100)에 탑재된 미디어 칩셋(300)을 식별한다(S420). 어플리케이션(200)은 미디어 처리 소프트웨어부(400)에서 미디어 칩셋(300)과 연동을 위해 구현한 정보를 기초로 식별할 수 있다. 예를 들면, 어플리케이션(200)은 내이티브 API(native API)와 라이브러리 정보(Media library component)를 이용하여 미디어 칩셋(300)의 종류를 알 수 있다. 또는 어플리케이션(200)은 미리 저장된 미디어 칩셋(300) 정보를 참조할 수 있다. 미디어 칩셋(300) 정보는 사용자 단말(100)의 일정 영역에 저장되고, 미디어 서버(600)로부터 수신한 정보가 저장될 수 있다. 어플리케이션(200)은 사용자 단말(100)에 탑재된 운영체제나 미디어 처리 소프트웨어부(400)에서 원하는 미디어의 실행을 지원하지 않는 경우, 또는 일정 품질을 보장하기 위한 경우, 선택적으로 미디어 칩셋(300)을 직접 연동할 수 있다.
어플리케이션(200)은 저장된 적어도 하나의 프로그래밍 인터페이스 정보 중에서, 미디어 칩셋(300)의 프로그래밍 인터페이스를 호출한다(S430). 어플리케이션(200)은 적어도 하나의 프로그래밍 인터페이스 정보를 가지고 있으며, 이 중에서 식별한 미디어 칩셋(300)의 프로그래밍 인터페이스를 호출한다. 만약, 저장된 적어도 하나의 프로그래밍 인터페이스 정보 중에서, 미디어 칩셋(300)의 프로그래밍 인터페이스가 없는 경우, 어플리케이션(200)은 미디어 서버(600)에 요청하여 탑재된 미디어 칩셋(300)의 프로그래밍 인터페이스 정보를 수신한다.
어플리케이션(200)은 미디어 칩셋(300)을 이용하여 미디어를 실행한다(S440). 어플리케이션(200)은 스트리밍 콘텐트를 재생하는 경우, 미디어의 실행에 관계된 미디어 서버(600)와 연동한다. 그리고, 어플리케이션(200)은 미디어 서버(600)에서 스트리밍되는 미디어를 미디어 칩셋(300)을 이용하여 재생한다.
이와 같이 본 발명의 실시예에 따르면 어플리케이션(200)은 미디어 칩셋(300)과 직접 연동할 수 있고, 단말 제조사의 미디어 관련 구현 내용과 관계없이 하드웨어인 미디어 칩셋(300)으로 미디어 처리를 할 수 있어 어플리케이션의 미디어 품질을 높일 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (14)

  1. 단말에서 동작하는 어플리케이션이 상기 단말에 탑재된 미디어 칩셋과 연동하는 방법으로서,
    미디어의 실행을 요청받는 단계,
    상기 어플리케이션에서 프로그래밍 인터페이스(application programming interface, API)를 통해 상기 미디어의 실행에 필요한 미디어 칩셋에 접근 가능한지 판단하는 단계,
    접근 가능한 상기 프로그래밍 인터페이스의 정보가 없는 경우, 상기 미디어의 실행에 관계된 미디어 서버로 상기 단말에 탑재된 미디어 칩셋의 정보를 요청하는 단계,
    상기 미디어 서버로부터 상기 프로그래밍 인터페이스의 호출 정보를 수신하는 단계,
    상기 프로그래밍 인터페이스를 호출하는 단계, 그리고
    상기 프로그래밍 인터페이스를 통해 접근한 상기 미디어 칩셋을 이용하여 상기 미디어를 실행하는 단계
    를 포함하는 어플리케이션의 미디어 칩셋 연동 방법.
  2. 제1항에서,
    상기 미디어를 실행하는 단계는 상기 미디어 칩셋의 하드웨어 코덱을 이용하여 상기 미디어를 실행하는
    어플리케이션의 미디어 칩셋 연동 방법.
  3. 제1항에서,
    상기 미디어 칩셋의 정보를 요청하는 단계는
    상기 미디어 실행에서 하드웨어 코덱의 사용이 필요한 경우, 상기 미디어 서버에 상기 미디어 칩셋의 정보를 요청하는 어플리케이션의 미디어 칩셋 연동 방법.
  4. 제1항에서,
    상기 미디어 칩셋의 정보를 요청하는 단계는
    상기 단말의 식별 정보를 전송하여 상기 단말에 탑재된 상기 미디어 칩셋의 정보를 요청하는 어플리케이션의 미디어 칩셋 연동 방법.
  5. 제1항에서,
    상기 미디어 칩셋의 정보를 요청하는 단계는
    상기 단말에 탑재된 미디어 칩셋을 식별하지 못한 경우, 상기 미디어 칩셋의 정보를 요청하는 어플리케이션의 미디어 칩셋 연동 방법.
  6. 삭제
  7. 단말에서 동작하는 어플리케이션이 상기 단말에 탑재된 미디어 칩셋과 연동하는 방법으로서,
    적어도 하나의 미디어 칩셋에 접근하는데 필요한 프로그래밍 인터페이스(application programming interface, API)의 호출 정보를 저장하는 단계,
    미디어의 실행을 요청받는 단계,
    상기 미디어의 실행에 관계되고, 상기 단말에 탑재된 특정 미디어 칩셋을 식별하는 단계,
    저장된 적어도 하나의 프로그래밍 인터페이스의 호출 정보를 기초로, 상기 특정 미디어 칩셋의 프로그래밍 인터페이스를 호출하는 단계, 그리고
    호출한 프로그래밍 인터페이스를 통해 접근한 상기 특정 미디어 칩셋을 이용하여 상기 미디어를 실행하는 단계를 포함하며,
    상기 프로그래밍 인터페이스를 호출하는 단계는
    저장된 적어도 하나의 프로그래밍 인터페이스의 호출 정보 중에서, 상기 특정 미디어 칩셋의 호출 정보가 없는 경우, 미디어 서버로부터 상기 특정 미디어 칩셋의 프로그래밍 인터페이스의 호출 정보를 획득하는, 어플리케이션의 미디어 칩셋 연동 방법.
  8. 제7항에서,
    상기 미디어를 실행하는 단계는
    상기 미디어의 실행에 관계된 미디어 서버와 연동하여, 상기 미디어 서버에서 스트리밍되는 상기 미디어를 상기 미디어 칩셋을 이용하여 재생하는 어플리케이션의 미디어 칩셋 연동 방법.
  9. 제7항에서,
    상기 단말에 탑재된 미디어 칩셋을 식별하는 단계는
    상기 단말에 탑재된 운영체제(operating system)에서 상기 미디어의 실행을 지원하지 않는 경우, 탑재된 미디어 칩셋을 식별하는 어플리케이션의 미디어 칩셋 연동 방법.
  10. 삭제
  11. 미디어 칩셋을 이용하여 어플리케이션의 미디어를 실행하는 사용자 단말로서,
    하드웨어 코덱과 하드웨어 렌더러를 이용하여 미디어를 처리하는 미디어 칩셋, 그리고
    미디어 실행을 요청받으면 상기 미디어 칩셋을 식별하고, 상기 미디어 칩셋에 접근하는데 필요한 프로그래밍 인터페이스(application programming interface, API)의 호출 정보를 기초로 상기 미디어 칩셋의 프로그래밍 인터페이스를 호출하고, 상기 미디어 칩셋과 연동하여 미디어를 실행하는 어플리케이션부를 포함하며,
    상기 어플리케이션부는
    상기 미디어 칩셋의 호출 정보가 없는 경우, 미디어 서버로부터 상기 미디어 칩셋의 프로그래밍 인터페이스의 호출 정보를 획득하는 사용자 단말.
  12. 제11항에서,
    상기 어플리케이션부는
    상기 미디어의 실행에 관계된 미디어 서버와 연동하여, 상기 미디어 서버에서 스트리밍되는 상기 미디어를 상기 미디어 칩셋을 이용하여 재생하는 사용자 단말.
  13. 제11항에서,
    적어도 하나의 미디어 칩셋에 대응하는 프로그래밍 인터페이스 정보를 저장하는 미디어 칩셋 정보 저장부
    를 더 포함하는 사용자 단말.
  14. 삭제
KR1020110124519A 2011-11-25 2011-11-25 어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말 KR101909260B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110124519A KR101909260B1 (ko) 2011-11-25 2011-11-25 어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110124519A KR101909260B1 (ko) 2011-11-25 2011-11-25 어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말

Publications (2)

Publication Number Publication Date
KR20130058492A KR20130058492A (ko) 2013-06-04
KR101909260B1 true KR101909260B1 (ko) 2018-10-18

Family

ID=48857751

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110124519A KR101909260B1 (ko) 2011-11-25 2011-11-25 어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말

Country Status (1)

Country Link
KR (1) KR101909260B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102284289B1 (ko) * 2019-12-04 2021-08-03 주식회사 이노와이어리스 이동통신 단말의 단말 정보 자동 획득 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010135257A1 (en) * 2009-05-17 2010-11-25 Qualcomm Incorporated Method and apparatus for programming a mobile device with multiple service accounts

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080062216A (ko) * 2006-12-29 2008-07-03 삼성전자주식회사 휴대용 단말기에서 디엠비 음량 제어 장치
EP2321790A4 (en) * 2008-07-28 2012-01-18 Sony Corp CLIENT DEVICE AND ASSOCIATED METHODOLOGY FOR ACCESSING NETWORK SERVICES

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010135257A1 (en) * 2009-05-17 2010-11-25 Qualcomm Incorporated Method and apparatus for programming a mobile device with multiple service accounts

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Video Acceleration API. WIKIPEDIA. 2011.10.4.

Also Published As

Publication number Publication date
KR20130058492A (ko) 2013-06-04

Similar Documents

Publication Publication Date Title
US9507777B2 (en) Temporal metadata track
US9009118B2 (en) Temporal metadata track
US10476928B2 (en) Network video playback method and apparatus
CN108076377B (zh) 一种视频的存储、播放方法、装置、电子设备及存储介质
WO2019071680A1 (zh) 一种插件加载的方法和装置
KR20110101051A (ko) 북마크 정보를 생성하는 방법 및 장치
JP2007067702A (ja) 情報処理装置及びそのコンテンツ再生方法
US9454995B2 (en) Information storage medium storing content, content providing method, content reproducing method and apparatus therefor
RU2012110056A (ru) Интеллектуальная приставка и способ функционирования для предоставления интеллектуального сервиса и услуг цифрового телевидения с помощью установленного по умолчанию медиапроигрывателя в одной операционной системе
WO2012148449A1 (en) Automatically installing device drivers
WO2018126852A1 (zh) 媒体数据播放方法、电子设备和计算机可读存储介质
CN110913135A (zh) 一种视频拍摄方法、装置、电子设备和存储介质
CN103945259A (zh) 一种在线视频播放方法及装置
WO2019071678A1 (zh) 一种直播的方法和装置
US20230050596A1 (en) Playback mode determining method and apparatus
US20120093489A1 (en) Smooth rewind media playback
US20140188975A1 (en) Transmission apparatus, transmission method, and program
CN110401858B (zh) 一种视频播放方法、装置、电子设备及存储介质
CN110891051B (zh) 流媒体直播播放方法、装置及计算机可读存储介质
US9871838B2 (en) Media playback redirected to a networked renderer
KR101909260B1 (ko) 어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말
US20190116348A1 (en) Method and system for playing media data
US9055130B1 (en) Initiating media presentation prior to receiving seek index data
CN112218166A (zh) 一种对点播视频记忆播放的启播方法及相关装置
CN110968288A (zh) 应用音频隔离采集的方法、装置、存储介质及设备

Legal Events

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