KR101909260B1 - 어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말 - Google Patents
어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
단말에서 동작하는 어플리케이션이 단말에 탑재된 미디어 칩셋과 연동하는 방법으로서, 미디어의 실행을 요청받는 단계, 미디어의 실행에 관계된 미디어 서버로 단말에 탑재된 미디어 칩셋의 정보를 요청하는 단계, 미디어 서버로부터 미디어 칩셋의 정보를 수신하는 단계, 미디어 칩셋의 정보를 기초로 미디어 칩셋의 프로그래밍 인터페이스를 호출하는 단계, 그리고 미디어 칩셋을 이용하여 미디어를 실행하는 단계를 포함한다.
Description
본 발명은 어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말에 관한 것이다.
안드로이드(android) 기반에서 동작하는 어플리케이션은 미디어 프레임워크(Media Framework)를 통해 각종 미디어를 실행한다. 어플리케이션이 프로그래밍 인터페이스를 통해 미디어 프레임워크에 접근하면, 미디어 프레임워크는 어플리케이션의 요청을 받아 하드웨어 코덱(codec) 처리를 하는 미디어 칩셋에 접근하거나, 소프트웨어 코덱으로 처리하여, 필요한 미디어 서비스를 제공한다. 미디어 프레임워크는 스트리밍 서버 연동, 그리고 코덱 및 렌더링(rendering) 처리 등 각종 미디어 처리를 통합적으로 수행한다.
이와 같이 지금까지의 어플리케이션은 미디어 칩셋과 직접 연동하는 대신 미디어 프레임워크를 통해 하드웨어 코덱을 이용할 수 있다. 따라서, 어플리케이션은 단말 제조사가 포팅하여 제공하는 미디어 형식에 대해서만 미디어 칩셋의 하드웨어 코덱 등을 이용하여 미디어 서비스를 제공받을 수 있다. 그러나, 미디어 프레임워크는 단말 제조사별로 구현 사항이 달라서 일관성이 없고, 하드웨어 미디어 처리에 소프트웨어 미디어 처리를 연동하여 구현할 수 있다. 즉, 미디어 프레임워크가 단말 제조사의 구현에 의존적이므로, 지금까지의 어플리케이션은 미디어 프레임워크에 구현되지 않은 미디어 형식인 경우, 단말에서 미디어를 재생하지 못할 수 있다.
본 발명이 해결하고자 하는 과제는 어플리케이션 구동 시 어플리케이션이 미디어 칩셋에 직접 접근하여 하드웨어로 미디어를 처리하는, 어플리케이션의 미디어 칩셋 연동 방법을 제공하는 것이다.
본 발명의 한 실시예에 따른 단말에서 동작하는 어플리케이션이 상기 단말에 탑재된 미디어 칩셋과 연동하는 방법으로서, 미디어의 실행을 요청받는 단계, 상기 미디어의 실행에 관계된 미디어 서버로 상기 단말에 탑재된 미디어 칩셋의 정보를 요청하는 단계, 상기 미디어 서버로부터 상기 미디어 칩셋의 정보를 수신하는 단계, 상기 미디어 칩셋의 정보를 기초로 상기 미디어 칩셋의 프로그래밍 인터페이스(application programming interface)를 호출하는 단계, 그리고 상기 프로그래밍 인터페이스를 통해 접근한 상기 미디어 칩셋을 이용하여 상기 미디어를 실행하는 단계를 포함한다.
상기 미디어를 실행하는 단계는 상기 미디어 칩셋의 하드웨어 코덱을 이용하여 상기 미디어를 실행할 수 있다.
상기 미디어 칩셋의 정보를 요청하는 단계는 상기 미디어 실행에서 하드웨어 코덱의 사용이 필요한 경우, 상기 미디어 서버에 상기 미디어 칩셋의 정보를 요청할 수 있다.
상기 미디어 칩셋의 정보를 요청하는 단계는 상기 단말의 식별 정보를 전송하여 상기 단말에 탑재된 상기 미디어 칩셋의 정보를 요청할 수 있다.
상기 미디어 칩셋의 정보를 요청하는 단계는 상기 단말에 탑재된 미디어 칩셋을 식별하지 못한 경우, 상기 미디어 칩셋의 정보를 요청할 수 있다.
상기 미디어 칩셋의 정보는 상기 프로그래밍 인터페이스 정보를 포함할 수 있다.
본 발명의 다른 실시예에 따른 단말에서 동작하는 어플리케이션이 상기 단말에 탑재된 미디어 칩셋과 연동하는 방법으로서, 미디어의 실행을 요청받는 단계, 상기 미디어의 실행에 관계되고, 상기 단말에 탑재된 미디어 칩셋을 식별하는 단계, 저장된 적어도 하나의 프로그래밍 인터페이스 정보 중에서, 상기 미디어 칩셋의 프로그래밍 인터페이스를 호출하는 단계, 그리고 상기 프로그래밍 인터페이스를 통해 접근한 상기 미디어 칩셋을 이용하여 상기 미디어를 실행하는 단계를 포함한다.
상기 미디어를 실행하는 단계는 상기 미디어의 실행에 관계된 미디어 서버와 연동하여, 상기 미디어 서버에서 스트리밍되는 상기 미디어를 상기 미디어 칩셋을 이용하여 재생할 수 있다.
상기 단말에 탑재된 미디어 칩셋을 식별하는 단계는 상기 단말에 탑재된 운영체제(operating system)에서 상기 미디어의 실행을 지원하지 않는 경우, 탑재된 미디어 칩셋을 식별할 수 있다.
상기 미디어 칩셋의 프로그래밍 인터페이스를 호출하는 단계는 저장된 적어도 하나의 프로그래밍 인터페이스 정보 중에서, 상기 미디어 칩셋의 프로그래밍 인터페이스가 없는 경우, 미디어 서버로부터 상기 단말에 탑재된 미디어 칩셋의 프로그래밍 인터페이스 정보를 수신할 수 있다.
본 발명의 또 다른 실시예에 따른 미디어 칩셋을 이용하여 어플리케이션의 미디어를 실행하는 사용자 단말로서, 하드웨어 코덱과 하드웨어 렌더러를 이용하여 미디어를 처리하는 미디어 칩셋, 그리고 상기 미디어 칩셋을 식별하여 상기 미디어 칩셋의 프로그래밍 인터페이스를 호출하고, 상기 미디어 칩셋과 연동하여 미디어를 실행하는 어플리케이션부를 포함한다.
상기 어플리케이션부는 상기 미디어의 실행에 관계된 미디어 서버와 연동하여, 상기 미디어 서버에서 스트리밍되는 상기 미디어를 상기 미디어 칩셋을 이용하여 재생할 수 있다.
상기 사용자 단말은 적어도 하나의 미디어 칩셋에 대응하는 프로그래밍 인터페이스 정보를 저장하는 미디어 칩셋 정보 저장부를 더 포함할 수 있다.
상기 어플리케이션부는 상기 미디어 칩셋 정보 저장부 에 저장된 적어도 하나의 프로그래밍 인터페이스 정보 중에서, 상기 미디어 칩셋의 프로그래밍 인터페이스가 없는 경우, 상기 미디어의 실행에 관계된 미디어 서버로부터 상기 단말에 탑재된 미디어 칩셋의 프로그래밍 인터페이스를 수신할 수 있다.
본 발명의 실시예에 따르면 어플리케이션은 미디어 칩셋과 직접 연동하여 단말 제조사의 미디어 관련 구현 내용과 관계없이 하드웨어인 미디어 칩셋으로 미디어 처리를 할 수 있다. 따라서, 본 발명의 실시예에 따르면 어플리케이션의 미디어 품질을 높일 수 있다.
도 1은 어플리케이션 동작을 나타내는 도면이다.
도 2는 본 발명의 한 실시예에 따른 어플리케이션 동작을 나타내는 도면이다.
도 3은 본 발명의 한 실시예에 따른 어플리케이션의 미디어 칩셋 연동 방법의 흐름도이다.
도 4는 본 발명의 다른 실시예에 따른 어플리케이션의 미디어 칩셋 연동 방법의 흐름도이다.
도 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)
- 단말에서 동작하는 어플리케이션이 상기 단말에 탑재된 미디어 칩셋과 연동하는 방법으로서,
미디어의 실행을 요청받는 단계,
상기 어플리케이션에서 프로그래밍 인터페이스(application programming interface, API)를 통해 상기 미디어의 실행에 필요한 미디어 칩셋에 접근 가능한지 판단하는 단계,
접근 가능한 상기 프로그래밍 인터페이스의 정보가 없는 경우, 상기 미디어의 실행에 관계된 미디어 서버로 상기 단말에 탑재된 미디어 칩셋의 정보를 요청하는 단계,
상기 미디어 서버로부터 상기 프로그래밍 인터페이스의 호출 정보를 수신하는 단계,
상기 프로그래밍 인터페이스를 호출하는 단계, 그리고
상기 프로그래밍 인터페이스를 통해 접근한 상기 미디어 칩셋을 이용하여 상기 미디어를 실행하는 단계
를 포함하는 어플리케이션의 미디어 칩셋 연동 방법. - 제1항에서,
상기 미디어를 실행하는 단계는 상기 미디어 칩셋의 하드웨어 코덱을 이용하여 상기 미디어를 실행하는
어플리케이션의 미디어 칩셋 연동 방법. - 제1항에서,
상기 미디어 칩셋의 정보를 요청하는 단계는
상기 미디어 실행에서 하드웨어 코덱의 사용이 필요한 경우, 상기 미디어 서버에 상기 미디어 칩셋의 정보를 요청하는 어플리케이션의 미디어 칩셋 연동 방법. - 제1항에서,
상기 미디어 칩셋의 정보를 요청하는 단계는
상기 단말의 식별 정보를 전송하여 상기 단말에 탑재된 상기 미디어 칩셋의 정보를 요청하는 어플리케이션의 미디어 칩셋 연동 방법. - 제1항에서,
상기 미디어 칩셋의 정보를 요청하는 단계는
상기 단말에 탑재된 미디어 칩셋을 식별하지 못한 경우, 상기 미디어 칩셋의 정보를 요청하는 어플리케이션의 미디어 칩셋 연동 방법. - 삭제
- 단말에서 동작하는 어플리케이션이 상기 단말에 탑재된 미디어 칩셋과 연동하는 방법으로서,
적어도 하나의 미디어 칩셋에 접근하는데 필요한 프로그래밍 인터페이스(application programming interface, API)의 호출 정보를 저장하는 단계,
미디어의 실행을 요청받는 단계,
상기 미디어의 실행에 관계되고, 상기 단말에 탑재된 특정 미디어 칩셋을 식별하는 단계,
저장된 적어도 하나의 프로그래밍 인터페이스의 호출 정보를 기초로, 상기 특정 미디어 칩셋의 프로그래밍 인터페이스를 호출하는 단계, 그리고
호출한 프로그래밍 인터페이스를 통해 접근한 상기 특정 미디어 칩셋을 이용하여 상기 미디어를 실행하는 단계를 포함하며,
상기 프로그래밍 인터페이스를 호출하는 단계는
저장된 적어도 하나의 프로그래밍 인터페이스의 호출 정보 중에서, 상기 특정 미디어 칩셋의 호출 정보가 없는 경우, 미디어 서버로부터 상기 특정 미디어 칩셋의 프로그래밍 인터페이스의 호출 정보를 획득하는, 어플리케이션의 미디어 칩셋 연동 방법. - 제7항에서,
상기 미디어를 실행하는 단계는
상기 미디어의 실행에 관계된 미디어 서버와 연동하여, 상기 미디어 서버에서 스트리밍되는 상기 미디어를 상기 미디어 칩셋을 이용하여 재생하는 어플리케이션의 미디어 칩셋 연동 방법. - 제7항에서,
상기 단말에 탑재된 미디어 칩셋을 식별하는 단계는
상기 단말에 탑재된 운영체제(operating system)에서 상기 미디어의 실행을 지원하지 않는 경우, 탑재된 미디어 칩셋을 식별하는 어플리케이션의 미디어 칩셋 연동 방법. - 삭제
- 미디어 칩셋을 이용하여 어플리케이션의 미디어를 실행하는 사용자 단말로서,
하드웨어 코덱과 하드웨어 렌더러를 이용하여 미디어를 처리하는 미디어 칩셋, 그리고
미디어 실행을 요청받으면 상기 미디어 칩셋을 식별하고, 상기 미디어 칩셋에 접근하는데 필요한 프로그래밍 인터페이스(application programming interface, API)의 호출 정보를 기초로 상기 미디어 칩셋의 프로그래밍 인터페이스를 호출하고, 상기 미디어 칩셋과 연동하여 미디어를 실행하는 어플리케이션부를 포함하며,
상기 어플리케이션부는
상기 미디어 칩셋의 호출 정보가 없는 경우, 미디어 서버로부터 상기 미디어 칩셋의 프로그래밍 인터페이스의 호출 정보를 획득하는 사용자 단말. - 제11항에서,
상기 어플리케이션부는
상기 미디어의 실행에 관계된 미디어 서버와 연동하여, 상기 미디어 서버에서 스트리밍되는 상기 미디어를 상기 미디어 칩셋을 이용하여 재생하는 사용자 단말. - 제11항에서,
적어도 하나의 미디어 칩셋에 대응하는 프로그래밍 인터페이스 정보를 저장하는 미디어 칩셋 정보 저장부
를 더 포함하는 사용자 단말. - 삭제
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102284289B1 (ko) * | 2019-12-04 | 2021-08-03 | 주식회사 이노와이어리스 | 이동통신 단말의 단말 정보 자동 획득 방법 |
Citations (1)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080062216A (ko) * | 2006-12-29 | 2008-07-03 | 삼성전자주식회사 | 휴대용 단말기에서 디엠비 음량 제어 장치 |
WO2010014539A2 (en) * | 2008-07-28 | 2010-02-04 | Sony Corporation | Client device and associated methodology of accessing networked services |
-
2011
- 2011-11-25 KR KR1020110124519A patent/KR101909260B1/ko active IP Right Grant
Patent Citations (1)
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)
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 | |
US9451319B2 (en) | Streaming digital content with flexible remote playback | |
US9009118B2 (en) | Temporal metadata track | |
US10476928B2 (en) | Network video playback method and apparatus | |
US20120278796A1 (en) | Automatically installing device drivers | |
CN108076377B (zh) | 一种视频的存储、播放方法、装置、电子设备及存储介质 | |
KR20110101051A (ko) | 북마크 정보를 생성하는 방법 및 장치 | |
JP2007067702A (ja) | 情報処理装置及びそのコンテンツ再生方法 | |
US9454995B2 (en) | Information storage medium storing content, content providing method, content reproducing method and apparatus therefor | |
RU2012110056A (ru) | Интеллектуальная приставка и способ функционирования для предоставления интеллектуального сервиса и услуг цифрового телевидения с помощью установленного по умолчанию медиапроигрывателя в одной операционной системе | |
CN110401858B (zh) | 一种视频播放方法、装置、电子设备及存储介质 | |
CN103945259A (zh) | 一种在线视频播放方法及装置 | |
WO2019071678A1 (zh) | 一种直播的方法和装置 | |
US11245885B2 (en) | Method and system for playing media data | |
US8391688B2 (en) | Smooth rewind media playback | |
US20140188975A1 (en) | Transmission apparatus, transmission method, and program | |
CN110891051B (zh) | 流媒体直播播放方法、装置及计算机可读存储介质 | |
KR101909260B1 (ko) | 어플리케이션의 미디어 칩셋 연동 방법, 그리고 이를 구현한 사용자 단말 | |
US20160182585A1 (en) | Media playback redirected to a networked renderer | |
US9055130B1 (en) | Initiating media presentation prior to receiving seek index data | |
CN109688468B (zh) | 一种开机视频的播放方法、智能终端、系统及存储介质 | |
WO2019071679A1 (zh) | 一种直播的方法和装置 | |
CN113296984A (zh) | 兼容性参数确定方法、装置、电子设备及存储介质 | |
CN113873298A (zh) | 视频重定向的方法、电子设备以及计算机可读存储介质 | |
US20110231859A1 (en) | Process assigning device, process assigning method, and computer program |
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 |