KR100619038B1 - Multimedia device having a firmware built-in - Google Patents
Multimedia device having a firmware built-in Download PDFInfo
- Publication number
- KR100619038B1 KR100619038B1 KR1020040052318A KR20040052318A KR100619038B1 KR 100619038 B1 KR100619038 B1 KR 100619038B1 KR 1020040052318 A KR1020040052318 A KR 1020040052318A KR 20040052318 A KR20040052318 A KR 20040052318A KR 100619038 B1 KR100619038 B1 KR 100619038B1
- Authority
- KR
- South Korea
- Prior art keywords
- codec
- program
- firmware
- multimedia
- codec program
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 편리한 코덱 업데이트 기능을 제공하는 펌웨어를 내장한 멀티미디어 장치에 관한 것으로, 보다 구체적으로 펌웨어가 내장된 멀티미디어 장치에 있어서, 펌웨어는 통일된 인터페이스를 가지도록 모듈화된 적어도 하나의 코덱 프로그램과, 코덱 프로그램을 실행시키며 코덱 프로그램들을 모듈 단위로 업데이트하는 코덱 관리자를 포함하는 것을 특징으로 한다.The present invention relates to a multimedia device incorporating firmware that provides a convenient codec update function. More particularly, in a multimedia device in which firmware is embedded, the firmware includes at least one codec program modularized to have a uniform interface, and a codec. It includes a codec manager that executes the program and updates the codec programs in module units.
이에 따라, 사용자는 A/S 센터의 전문가의 도움을 받거나, 업데이트 후 멀티미디어 장치를 재부팅시키는 번거로움 없이, 편리하게 최신 버전의 멀티미디어 서비스를 받을 수 있다. Accordingly, the user can conveniently receive the latest version of the multimedia service without the help of an expert in the A / S center or the hassle of rebooting the multimedia device after the update.
Description
도 1은 일반적인 멀티미디어 장치의 하드웨어 구성을 나타내는 도면,1 is a view showing a hardware configuration of a general multimedia device,
도 2a 및 도 2b는 본 발명에 따른 모듈화된 코덱(codec)을 탑재한 펌웨어 구성의 일 실시예 들을 나타내는 도면,2A and 2B illustrate one embodiment of a firmware configuration equipped with a modular codec according to the present invention;
도 3은 본 발명에 따른 모듈화된 코덱의 통일된 인터페이스 구성의 일 실시예를 나타내는 도면,3 illustrates an embodiment of a unified interface configuration of a modular codec according to the present invention;
도 4는 본 발명에 따른 펌웨어가 내장된 멀티미디어 장치에서 멀티미디어 서비스를 제공하는 방법을 나타내는 플로 차트,4 is a flowchart illustrating a method of providing a multimedia service in a multimedia device with firmware according to the present invention;
도 5는 본 발명에 따른 펌웨어가 내장된 멀티미디어 장치에서 코덱을 업데이트하는 방법을 나타내는 플로 차트이다.5 is a flowchart illustrating a method of updating a codec in a multimedia device with firmware according to the present invention.
본 발명은 멀티미디어 장치에 관한 것으로, 보다 구체적으로 편리한 코덱 업데이트 기능을 제공하는 펌웨어를 내장한 멀티미디어 장치에 관한 것이다.The present invention relates to a multimedia device, and more particularly, to a multimedia device with embedded firmware that provides a convenient codec update function.
최근 들어 DVD 복합기, 개인 디지털 녹화기(Personal Digital Recoder: 이하 PVR이라 약칭함), MP3 플레이어, 동영상 기능을 제공하는 휴대폰 등 다양한 멀티미디어 서비스를 제공하는 멀티미디어 장치들이 각광받고 있다. 특히, 다양한 형식의 오디오 및 비디오 파일들을 하나의 장치에서 재생/녹화/전송하는 디지털 컨버전스화(Digital Convergence)가 커다란 이슈가 되고 있다. Recently, multimedia devices that provide various multimedia services such as a DVD multifunction device, a personal digital recorder (hereinafter, referred to as a PVR), an MP3 player, and a mobile phone that provide a video function have been in the spotlight. In particular, digital convergence (playing / recording / transmitting various types of audio and video files in one device) has become a big issue.
컨버전스(convergence)는 보통 ‘융합’으로 번역하는데, 기술 통합, 하이브리드(hybrid), 잡종적 지식, 퓨전 등과 맥을 같이하는 트랜드를 나타내는 표현이다. 따라서, 디지털 컨버전스란, 디지털을 매개로 가전(Consumer Electronics: CE), 정보통신기술(IT), 컨텐츠, 서비스 등이 서로 유기적으로 통합되는 경향을 말한다. 특히, 복합기, 카메라폰, 휴대폰뱅킹, 텔레메틱스 등 IT와 가전 분야에서 디지털 컨버전스화가 급속하게 진행되고 있다.Convergence is usually translated as "fusion," a term that describes the trends that coincide with technology integration, hybrid, hybrid knowledge, fusion, and so on. Accordingly, digital convergence refers to a trend in which consumer electronics (CE), information and communication technology (IT), contents, and services are organically integrated with each other through digital. In particular, digital convergence is rapidly progressing in the fields of IT and consumer electronics such as multifunction devices, camera phones, mobile phone banking, and telematics.
이러한 디지털 컨버전스화에 따라, 하나의 멀티미디어 장치에서 다양한 종류의 오디오 또는 비디오 파일들을 재생/녹화/전송할 필요가 발생한다. 따라서, 하나의 멀티미디어 장치에서 다양한 종류의 코덱(codec: coder and decoder)을 지원해야할 필요가 있다. 특히 새로운 기술의 발전에 따라, 혹은 사용자들의 선택에 따라 코덱을 변경하거나 업데이트해야 하는 경우가 많이 발생한다.With such digital convergence, there is a need to play / record / transmit various kinds of audio or video files in one multimedia device. Therefore, it is necessary to support various kinds of coders (codec: coder and decoder) in one multimedia device. In particular, there are many cases in which the codec needs to be changed or updated according to the development of new technology or the choice of users.
그러나, 종래의 일반적인 멀티미디어 장치는 퍼스널 컴퓨터(Personal Computer: PC)와는 달리 소프트웨어의 업데이트가 매우 불편하다. 대표적인 예로 복합기나 개인 디지털 녹화기(PVR) 등과 같은 멀티미디어 가전의 경우, 소프트웨어를 내장하고 있는 펌웨어(firmware) 전체를 업그레이드해야 하는 불편함이 있었다.However, the conventional multimedia device is very inconvenient to update the software, unlike a personal computer (PC). As a representative example, in the case of a multimedia home appliance such as a multifunction device or a personal digital recorder (PVR), it is inconvenient to upgrade the firmware (firmware) in which software is embedded.
보다 구체적으로, 도 1은 일반적인 멀티미디어 장치의 하드웨어 구성을 나타 내는 도면이다. 도 1을 참조하면, 일반적인 멀티미디어 장치는, 중앙처리장치(CPU)(101), 플래쉬롬(Flash-ROM)(102), 데이터 메모리(RAM)(103), 네트워크 어댑터(104), 저장 매체(105), 하드웨어 코덱(106), 및 입출력 장치(107 및 108)를 구비한다.More specifically, FIG. 1 is a diagram illustrating a hardware configuration of a general multimedia device. Referring to FIG. 1, a general multimedia device includes a central processing unit (CPU) 101, a flash ROM (Flash-ROM) 102, a data memory (RAM) 103, a
CPU(101)는 전체 멀티미디어 장치의 재생/녹화/전송을 제어한다. 플래쉬롬(102)은, 멀티미디어 장치의 운영체제(Operating System: OS)와 같은 시스템 프로그램과, 멀티미디어 서비스를 제공하기 위한 소프트웨어 코덱을 포함하는 어플리케이션 프로그램 등이 저장되는 비휘발성 메모리이다. 시스템 프로그램을 커널(kernel)이라고도 한다. 또한, 이와 같이 플래쉬롬에 탑재되는 시스템 프로그램을 비롯한 멀티미디어 서비스를 제공하는 소프트웨어들을 펌웨어(firmware)라고 한다. 일반적으로 펌웨어의 업데이트를 위해 수정이 가능한 플래쉬 타입의 메모리가 사용된다.The
데이터 메모리(103)는, 멀티미디어 시스템에서 사용하는 메모리로서, 내부 메모리라고도 한다. 중간 버퍼, 중간 계산 결과를 저장하는 임시 메모리이다. 펌웨어에 포함되는 어플리케이션 프로그램들은 플래쉬롬(102)으로부터 데이터 메모리(103)로 로드되어 실행된다. The
네트워크 어댑터(104)는, 외부의 네트워크와 연결하기 위한 인터페이스로서, TCP/IP 기반의 인터넷 등에 연결될 수 있다. 적절한 네트워크 어댑터를 통해, 멀티미디어 장치는, 이더넷(Ethernet), 종합디지털통신망(Integrated Services Digital Network: ISDN), 전력선이동통신망(Power Line Control: PLC), 무선 통신 망(Wireless Network)등에 접속할 수 있다.The
저장 매체(105)는, 내부 메모리와는 다른 별도의 외부 기억 장치이다. 씨디롬(CD-ROM), 디브이디(DVD), 하드디스크(HDD), 메모리 카드(memory card)등과 같은 매체(media)가 사용된다. 멀티미디어 데이터를 읽거나 기록하는데 사용된다. The
하드웨어 코덱(106)은, 비디오 데이터 및 오디오 데이터 등의 멀티미디어 데이터를 처리하는 하드웨어 인코더(encoder) 및 디코더(decoder)를 말한다. 비디오 데이터 및 오디오 데이터를 압축하거나, 압축해제 하거나, 영상 화질의 개선, 음질의 개선 등의 멀티미디어 장치 고유의 기능을 수행하는 부분이다. 하드웨어 코덱과는 별도로, 전술한 바와 같이 플래쉬롬(102)에는 펌웨어로서 소프트웨어 코덱이 포함된다. 물론, 멀티미디어 장치의 스펙에 따라 하드웨어 코덱 또는 소프트웨어 코덱 중 일부만을 제공할 수도 있다.The
입출력 장치(107 및 108)는, 오디오 데이터 및 비디오 데이터와 같은 멀티미디어 데이터를 입출력 또는 송수신하는 장치이다. 디지털 방송을 재생 또는 기록하기 위한 디지털 튜너가 그 예이다.The input /
전술한 바와 같이 일반적인 멀티미디어 장치는 멀티미디어 데이터의 재생/압축/기록 등과 같은 기능을 수행하며, 이를 위해 소프트웨어 및/ 또는 하드웨어 코덱을 구비한다. 또한, 저장 매체에 기록된 멀티미디어 데이터를 내부 메모리로 로드하여 재생하거나, 멀티미디어 데이터를 압축하여 저장 매체에 기록한다.As described above, a general multimedia device performs a function such as playing / compressing / recording multimedia data, and includes a software and / or hardware codec for this purpose. In addition, the multimedia data recorded in the storage medium is loaded into the internal memory for reproduction, or the multimedia data is compressed and recorded in the storage medium.
이상의 하드웨어 구성에 기초하여 멀티미디어 장치가 멀티미디어 서비스를 제공하는 과정을 살펴보면 다음과 같다. A process of providing a multimedia service by a multimedia device based on the hardware configuration described above is as follows.
예를 들어 마이크로 소프트 사의 WMV(Windows Media Video) 포맷에 따른 영상이 담긴 DVD를 재생하는 서비스를 제공하고자 하는 경우, 먼저 DVD 라는 저장 매체에 기록된 WMV 파일 데이터를 읽는다. 읽어들인 파일 데이터는 하드웨어 코덱이나 CPU에 탑재된 소프트웨어 코덱에 의해 디코딩 된다. 즉, 플래쉬롬(102)에 기록된 시스템 프로그램 및 코덱 프로그램이 내부 메모리(103)로 로드되어 CPU의 제어를 받아 WMV 파일을 디코딩한다. 하드웨어 코덱을 사용하는 경우에도 내부 메모리에 로드된 시스템 프로그램 및 코덱 프로그램이 디코딩과정을 제어한다. 디코딩된 결과는 내부 메모리(103)에 저장되고, 출력 장치(107)를 통해 NTSC 또는 VGA 신호와 같은 아날로그 신호로 변환되어 디스플레이 된다. 오디오 데이터도 유사한 과정을 통해 아날로그 신호로 변환되어 출력 장치(107)를 통해 출력된다. 나아가, 인터넷과 같은 외부 TCP/IP망에 연결하기 위한 네트워크 어댑터(107)를 포함하는 경우, 네트워크 상의 서버로부터 주문형 비디오(Video on Demand: VOD) 서비스 또는 주문형 오디오(Audio on Demand: AOD) 서비스를 받을 수도 있으며, 다른 멀티미디어 장치에 저장된 멀티미디어 데이터의 스트리밍(streaming) 서비스를 받을 수도 있다.For example, if you want to provide a service that plays DVDs containing images in Microsoft's Windows Media Video (WMV) format, first read the WMV file data recorded on a storage medium called DVD. The read file data is decoded by a hardware codec or a software codec mounted on the CPU. That is, the system program and codec program recorded in the
그러나, 만약 WMV 코덱의 새로운 버전이 등장하는 경우, 또는 WMV 외에 새로운 H.264 코덱을 지원하고자 하는 경우에는 플래쉬롬(102)에 탑재된 펌웨어의 업그레이드가 필요하다. 다만, 하드웨어 코덱으로만 구성된 멀티미디어 장치의 경우에는 펌웨어의 업그레이드 자체가 불가능하다. 즉, 소프트웨어 코덱을 포함하는 경우에 한해 플래쉬롬에 탑재된 펌웨어를 업그레이드해야 한다. 이 때, 펌웨어의 업 그레이드를 위해서는 펌웨어 전체를 CD-ROM 디스크, 메모리 카드, 인터넷 등을 통해 업데이트 하여야 한다. 이를 위해 플래쉬롬 억세스 모듈은, 저장 매체 또는 네트워크를 통해 새로운 펌웨어를 읽어들여 내부 메모리(RAM)에 로드하고, 이를 다시 플래쉬롬의 특정 부분에 덮어 쓴다(overwrite).However, if a new version of the WMV codec appears, or if you want to support a new H.264 codec in addition to WMV, it is necessary to upgrade the firmware mounted on the flash ROM (102). However, in the case of a multimedia device configured only with a hardware codec, firmware upgrade itself is impossible. In other words, the firmware installed in the flash ROM should be upgraded only when the software codec is included. At this time, in order to upgrade the firmware, the entire firmware must be updated through a CD-ROM disk, a memory card, and the Internet. To this end, the flashrom access module reads new firmware via a storage medium or network, loads it into internal memory (RAM), and overwrites a specific portion of the flashrom again.
그러나, 펌웨어 전체를 업데이트 하는 것은 사용자 입장에서 매우 복잡하고 어려운 과정이다. 따라서, A/S 센터를 이용하여 전문가의 도움을 받아야 하는 불편함이 있었다. 또한, 펌웨어 전체를 업데이트하고 나면, 멀티미디어 장치를 껐다가 다시 켜야 하는 불편함도 있었다. 나아가, 멀티미디어 서비스를 받는 중에는 펌웨어의 업데이트가 불가능한 문제점도 있었다.However, updating the entire firmware is a very complicated and difficult process for the user. Therefore, there was a discomfort to seek professional help using the after-sales center. In addition, after updating the entire firmware, there was a inconvenience of turning off and on the multimedia device again. In addition, there was a problem that the firmware can not be updated while receiving a multimedia service.
따라서, 본 발명의 기술적 과제는 전술한 문제점을 해결하기 위하여, 편리한 코덱 업데이트 기능을 제공하는 펌웨어를 내장한 멀티미디어 장치를 제공하는 것이다.Accordingly, the technical problem of the present invention is to provide a multimedia device incorporating firmware that provides a convenient codec update function in order to solve the above problems.
전술한 기술적 과제는, 본 발명에 따라 펌웨어가 내장된 멀티미디어 장치에 있어서, 펌웨어는 통일된 인터페이스를 가지도록 모듈화된 적어도 하나의 코덱 프로그램과, 코덱 프로그램을 실행시키며 코덱 프로그램들을 모듈 단위로 업데이트하는 코덱 관리자를 포함하는 것을 특징으로 하는 멀티미디어 장치에 의해 달성된다.In the above-described technical problem, in a multimedia device in which firmware is embedded, the firmware includes at least one codec program modularized to have a unified interface, and a codec that executes the codec program and updates the codec programs in module units. It is achieved by a multimedia device characterized in that it comprises a manager.
상기 코덱 프로그램은, 동적으로 링크되는 플러그인(plug-in) 방식의 프로그램인 것이 바람직하며,The codec program is preferably a plug-in type program that is dynamically linked.
상기 코덱 프로그램은, 펌웨어에 내장된 적어도 하나의 코덱 프로그램과, 저장 매체나 네트워크로부터 다운로드된 적어도 하나의 코덱 프로그램을 포함하는 것이 바람직하다.The codec program preferably includes at least one codec program embedded in firmware and at least one codec program downloaded from a storage medium or a network.
또한, 상기 통일된 인터페이스는, 해당 코덱 프로그램의 버전 정보를 포함하며, 코덱 관리자는, 버전 정보를 이용하여, 동일한 포맷에 대응하는 복수의 코덱 프로그램이 존재하는 경우, 최신 버전의 코덱 프로그램을 선택하여 다운로드하는 하는 것이 바람직하다.In addition, the unified interface includes version information of the corresponding codec program, and if a plurality of codec programs corresponding to the same format exist, the codec manager selects the latest version of the codec program by using the version information. It is desirable to download.
상기 통일된 인터페이스는, 펌웨어에 탑재된 복수의 코덱 프로그램들 중 해당 코덱 프로그램이 적용되는 순서를 나타내는 우선순위 정보를 포함하며, 코덱 관리자는 우선 순위 정보를 이용하여 우선순위가 가장 높은 코덱 프로그램을 실행시키는 것이 바람직하다.The unified interface includes priority information indicating the order in which the corresponding codec program is applied among a plurality of codec programs mounted in the firmware, and the codec manager executes the codec program having the highest priority using the priority information. It is preferable to make it.
또한, 상기 코덱 관리자는, 우선순위 정보를 참조하여 그 우선순위 순서대로 펌웨어에 탑재된 복수의 코덱 프로그램들을 시험(probe)하여, 소정의 멀티미디어 서비스를 제공하기 위해 필요한 코덱 프로그램을 알아내는 것이 바람직하다.In addition, the codec manager, by referring to priority information, probes a plurality of codec programs mounted in firmware in order of priority, and finds a codec program necessary to provide a predetermined multimedia service. .
또한, 상기 코덱 관리자는, 멀티미디어 서비스를 제공하면서 코덱 프로그램을 업데이트하는 것이 바람직하며,In addition, the codec manager, it is preferable to update the codec program while providing a multimedia service,
상기 코덱 관리자는, 새로운 버전의 코덱을 업데이트하는 경우, 업데이트 될 코덱 프로그램과 이전 버전의 코덱 프로그램과의 차분 데이터를 다운로드하여 펌웨어를 업데이트 하는 것이 특히 바람직하다.When the codec manager updates a new version of the codec, it is particularly preferable to update firmware by downloading difference data between the codec program to be updated and the codec program of the previous version.
한편, 본 발명의 다른 분야에 따르면 전술한 기술적 과제는, 멀티미디어 장 치의 펌웨어를 업데이트하는 방법에 있어서, 저장 매체 또는 네트워크로부터 통일된 인터페이스를 가지도록 모듈화된 적어도 하나의 코덱 프로그램을 모듈 단위로 다운로드하는 단계; 및 다운로드된 코덱 프로그램을 펌웨어의 소정의 영역에 기록하는 단계를 포함하는 것을 특징으로 하는 업데이트 방법에 의해 달성된다.On the other hand, according to another field of the present invention, in the method for updating the firmware of a multimedia device, the method for downloading at least one codec program modularized to have a unified interface from a storage medium or a network in a module unit step; And recording the downloaded codec program in a predetermined area of the firmware.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 2a 및 도 2b는 본 발명에 따른 모듈화된 코덱(codec)을 탑재한 펌웨어의 구성의 일 실시예들을 나타내는 도면이다.2A and 2B are diagrams illustrating embodiments of a configuration of firmware having a modular codec according to the present invention.
본 발명에 따른 모듈화된 코덱을 탑재한 펌웨어는 재프로그램이 가능한 비휘발성 메모리인 플래쉬롬의 각 영역을 계층적으로 나누어 사용한다. 도 2a 및 도 1을 참조하면, 펌웨어는 부트 로더(201), 시스템 프로그램(202), 코덱 관리자 및 내장 코덱(203), 및 외장 코덱(204)을 포함한다.The firmware equipped with the modular codec according to the present invention uses each region of the flash ROM, which is a reprogrammable nonvolatile memory, in a hierarchical manner. 2A and 1, the firmware includes a
부트 로더(boot loader)(201)는, 플래쉬롬(102)에 탑재된 시스템 프로그램(202)을 읽어 내부 메모리(103)에 로드한다.The
시스템 프로그램(202)은, 멀티미디어 장치를 운영하는 시스템 소프트웨어로서, 부트 로더에 의해 내부 메모리에 로드되어 멀티미디어 장치의 재생/기록/전송 등의 전 과정을 총괄하여 운영한다. 시스템 프로그램에는 PSOS, Linux, Vxworks, Window CE 등과 같은 운영체제 프로그램이 포함되며, 파일 시스템 관리자, 플래쉬롬 관리자 등이 더 포함될 수 있다. The
본 발명에 따르면, 코덱 프로그램을 내장 코덱과 외장 코덱으로 나눈다. 내 장 코덱(203)은 멀티미디어 장치가 출시될 때 탑재되는 펌웨어에 포함되는 코덱들을 말한다. 멀티미디어 장치의 출시 후에 업데이트 되는 코덱들은 외장 코덱(204) 영역에 저장된다. 코덱 관리자(203)는 내장 코덱(203) 및 외장 코덱의 실행과 업데이트를 제어한다. 즉, 본 발명에 따른 멀티미디어 장치는 출시 초기에는 내장 코덱 들만을 이용하여 멀티미디어 서비스를 제공하지만, 외장 코덱 들이 업데이트 됨에 따라 내장 코덱과 외장 코덱을 함께 사용하여 멀티미디어 서비스를 제공한다. 이에 따라, 다양한 형태의 코덱을 이용한 멀티미디어 서비스가 가능하다.According to the present invention, a codec program is divided into an internal codec and an external codec. The built-in
보다 구체적으로, 본 발명에 따른 내장 코덱과 외장 코덱은 통일된 인터페이스를 가지도록 설계된다. 즉, 오브젝트(object)와 같은 형태로 모듈화된다. 멀티미디어 장치가 다양한 형태의 코덱을 지원함과 동시에 펌웨어의 업데이트가 편리하고 효율적으로 수행되도록 하기 위해서이다. 통일된 인터페이스에 대해서는 후술한다. 또한, 전술한 바와 같이 내장 코덱과 외장 코덱으로 나뉘어 별도의 영역에 저장된다. 내장 코덱은, 펌웨어 업데이트의 편의성과 효율성을 위하여 후술하는 바와 같이 통일된 인터페이스로 기술되며, 도시된 바와 같이 코덱 관리자와 함께 일체형으로 프로그램 된다. 내장 코덱은 코덱 관리자와 더불어 컴파일되고 링크된 형태의 빌트인 모듈일 수도 있고 제품 출하 시 기본적으로 설치된 플러그인 프로그램 형식으로 구현될 수도 있다. More specifically, the built-in codec and the external codec according to the present invention are designed to have a unified interface. That is, it is modularized in the same form as an object. This is to allow the multimedia device to support various types of codecs and to update the firmware conveniently and efficiently. The unified interface will be described later. In addition, as described above, it is divided into an internal codec and an external codec and stored in a separate area. The built-in codec is described as a unified interface as described below for convenience and efficiency of firmware update, and is integrally programmed with the codec manager as shown. The built-in codec can be a built-in module compiled and linked with the codec manager or implemented as a plug-in program installed by default.
외장 코덱은 내장 코덱과 동일한 형식의 인터페이스를 가지며, 추후의 업데이트를 위하여 패치 프로그램이나 플러그인 프로그램 형식의 동적 링크 라이브러리(Dynamic Link Library)이다. 예를 들어, 리눅스 운영체제에서는 *.so의 파일 확 장자를 가지는 동적 라이브러리 파일로 구현될 수 있으며, 윈도우즈 운영체제에서는 *.dll의 확장자를 가지는 동적 라이브러리 파일로 구현될 수 있다. 즉, 본 발명에 따른 외장 코덱은, 내장 코덱과 같은 형식의 인터페이스를 가지는 동적 링크가 가능한 파일로 구현된다. 따라서, 업데이트 될 코덱 파일만 외장 코덱 영역에 기록하여 코덱의 업데이트를 할 수 있으므로, 종래와 같이 일부 코덱을 업데이트하기 위하여 전체 펌웨어를 업데이트 할 필요가 없다. 또한, 코덱 관리자가 내장 코덱 또는 외장 코덱을 이용하여 멀티미디어 서비스를 제공하도록 제어하므로, 멀티미디어 서비스 중에도 필요한 코덱을 업데이트할 수 있으며, 업데이트 후에도 재부팅이나 프로그램의 재기동이 필요하지 않다. 즉, 펌웨어 전체를 업데이트 할 필요없이, 일부의 해당 외장 코덱 파일만 업데이트하면 해당 기능을 바로 사용할 수 있다. 또한, 모든 내장 코덱들과 외장 코덱들이 우선순위(priority) 값을 가지도록 하여, 내장 코덱이라도 우선순위가 높은 외장 코덱에 의해 자동으로 대체될 수 있다. The external codec has the same type of interface as the internal codec, and is a dynamic link library in the form of a patch program or a plug-in program for later update. For example, the Linux operating system can be implemented as a dynamic library file with a * .so file extension, and the Windows operating system can be implemented as a dynamic library file with a * .dll extension. That is, the external codec according to the present invention is implemented as a file capable of dynamic linking having an interface in the same format as the internal codec. Therefore, since only the codec file to be updated can be recorded in the external codec area to update the codec, it is not necessary to update the entire firmware in order to update some codecs as in the prior art. In addition, since the codec manager controls to provide a multimedia service using an internal codec or an external codec, the required codec can be updated even during the multimedia service, and no reboot or restart of the program is required even after the update. In other words, you don't have to update the entire firmware, just update some of the external codec files to use the function immediately. In addition, all built-in codecs and external codecs have a priority value, so that even a built-in codec can be automatically replaced by a high priority external codec.
한편, 다른 실시예로서, 도 2b를 참조하면, 내장 코덱을 코덱 관리자와 일체형으로 프로그램하지 않고, 분리하여 별도로 프로그램하는 경우의 펌웨어 구성이 도시된다.Meanwhile, as another embodiment, referring to FIG. 2B, the firmware configuration in the case of separately programming the built-in codec without being integrally programmed with the codec manager is illustrated.
도 3은 본 발명에 따른 모듈화된 코덱의 통일된 인터페이스 구성의 일 실시예를 나타내는 도면이다.3 is a diagram illustrating an embodiment of a unified interface configuration of a modular codec according to the present invention.
도 3을 참조하면, 본 발명에 따른 모듈화된 내장 코덱 및 외장 코덱은 그림과 같이 동일한 형식의 인터페이스를 가진다. 즉, 본 발명에 따른 내장 코덱 및 외장 코덱의 인터페이스(300)는, 헤더 마크(301), 오브젝트 정보(302), 버전 정보(303), 엔트리 포인트 정보(304), 및 우선 순위 정보(305) 등을 포함한다.Referring to FIG. 3, the modular built-in codec and the external codec according to the present invention have the same type of interface as shown in the figure. That is, the
헤더 마크(301)는 이하 계속되는 정보가 코덱의 인터페이스에 관한 정보임을 나타낸다. 오브젝트 정보(302)는, 모듈화 또는 오브젝트화 된 코덱의 식별자 정보를 나타낸다. 예를 들어, MPEG 오디오 코덱의 인터페이스는 오브젝트 정보(302)에 MPEG 오디오 코덱임을 나타내는 정보가 포함된다. 코덱 버전 정보(303)는 해당 코덱의 버전을 나타낸다. 만약, 업데이트하고자 하는 외장 코덱의 오브젝트 정보와 동일한 오브젝트 정보를 가지는 외장 코덱이 이미 플래쉬롬의 외장 코덱 영역에 존재하는 경우, 버전 정보(303)를 비교하여 상대적으로 높은 버전의 외장 코덱으로 업데이트할 수 있다. 엔트리 포인트 정보(304)는 코덱 프로그램을 실제로 호출하여 실행하기 위해 필요한 정보들을 나타낸다. 예를 들어, 코덱 프로그램이 실제 저장된 위치를 알려주는 주소 정보가 포함된다. 우선 순위 정보(305)는 복수의 코덱들 간에 적용 순서를 지정하는 정보이다. 복수의 내장 코덱 및 외장 코덱들을 우선순위 정보에 따라 정렬하고 우선순위가 높은 코덱부터 실행한다. 특히, 소정의 멀티미디어 서비스를 위해 필요한 코덱을 알아내기 위해서, 플래쉬롬에 저장된 모든 코덱들을 순서대로 호출하여 해당 멀티미디어 서비스가 가능한지 시험(probe)한다. 이 경우에도 저장된 순서가 아니라 우선순위 정보에 지정된 우선순위 순으로 코덱을 시험하는 것이 더 효율적일 수 있다. 예를 들어 어떤 MP3 파일을 해당 코덱이 디코딩할 수 있는지 시험하는 경우, 우선순위가 높은 코덱을 먼저 사용하여 시험한다. MP3 내장 코덱보다 더 높은 우선순위의 MP3 외장 코덱이 있다면, 이 외 장 코덱을 사용하여 멀티미디어 서비스를 제공한다. 따라서, 버전 정보(303)와 우선순위 정보(305)를 이용하여 최신의 코덱을 선택하여 멀티미디어 서비스를 제공할 수 있다. The
코덱들의 인터페이스를 도 3에 도시된 필드들 중 일부를 포함하도록 정의하거나, 다른 필드를 추가하도록 정의하는 등 다양하게 변형하여 구현할 수 있음은 물론이다. 전술한 바와 같이 내장 코덱과 외장 코덱의 인터페이스를 동일한 방식으로 정의하여 모듈화 함으로써, 모듈 또는 오브젝트 단위의 코덱 업데이트가 가능해 진다.The interface of the codecs may be implemented by various modifications such as defining to include some of the fields shown in FIG. 3 or adding other fields. As described above, the interface between the built-in codec and the external codec is defined and modularized, so that the codec can be updated on a module or object basis.
이하에서는 전술한 모듈화된 코덱을 이용하여 멀티미디어 서비스를 제공하고, 멀티미디어 장치의 펌웨어를 업데이트하는 방법을 설명한다. Hereinafter, a method of providing a multimedia service using the aforementioned modular codec and updating a firmware of the multimedia device will be described.
도 4는 본 발명에 따른 펌웨어가 내장된 멀티미디어 장치에서 멀티미디어 서비스를 제공하는 방법을 나타내는 플로 차트이다.4 is a flowchart illustrating a method of providing a multimedia service in a multimedia device with firmware according to the present invention.
도 4 및 도 2a를 를 참조하면, 멀티미디어 서비스를 제공하기 위하여, 먼저 부트 로더(201)를 실행한다(401 단계). 부트 로더는 시스템 프로그램(kernel)(202)을 내부 메모리(RAM)(103)로 로드하고 제어권을 시스템 프로그램으로 넘긴다(402 단계). 시스템 프로그램은 각종 디바이스 드라이버 및 저장 매체의 드라이브 파티션들을 필요에 따라 로드하고 어플리케이션 프로그램을 실행시킨다. 멀티미디어 서비스를 제공하는 어플리케이션 프로그램인 경우, 코덱 매니저(203)를 실행시킨다(403 단계). 코덱 매니저는 제품을 출시할 때 기본적으로 내장 코덱을 포함한다. 예를 들어, 기본적으로 포함된 내장 코덱에 파일 리더(File Reader), 엠펙 오디오 디코더(MPEG Audio decoder), 엠펙 비디오 디코더(MPEG Video Decoder), 엠펙-2 디멀티플렉서(MPEG-2 Demultiplexer), 비디오 랜더러(Video Renderer), 및 오디오 랜더러(Audio Renderer) 등이 포함된 경우를 가정한다. 전술한 내장 코덱들을 이용하면 MPEG 파일이나 MP3와 같은 동영상과 음악 파일들을 재생할 수 있다. 또한, 각 내장 코덱들은 도 2a 또는 도 2b에 도시된 바와 같은 통일된 인터페이스를 가지도록 모듈화 되어 구현된다. 4 and 2A, in order to provide a multimedia service, a
한편, 새로운 포맷의 멀티미디어 데이터를 재생/기록/전송하기 위하여 새로운 외장 코덱이 추가될 수 있다. 예를 들어 WMA(Windows Media Audio) 디코더용 외장 코덱을 하드디스크나 메모리 스틱, DVD 등과 같은 저장 매체를 통해 업데이트하거나, 네트워크 상의 서버로부터 다운로드 하여 업데이트 할 수 있다(404 단계). 외장 코덱을 업데이트하는 구체적인 방법은 후술한다. 외장코덱은 저장 매체를 통해 업데이트 되거나, 네트워크를 통해 업데이트 된다. 업데이트 된 외장 코덱 파일은 도 2에 도시된 바와 같이 외장 코덱 영역(204)에 덮어 쓰거나, 추가되는 외장 코덱은 외장 코덱 영역(204)중 빈 영역에 기록된다. Meanwhile, a new external codec may be added to play / record / transmit multimedia data in a new format. For example, an external codec for a WMA (Windows Media Audio) decoder may be updated through a storage medium such as a hard disk, a memory stick, a DVD, or the like, or downloaded and updated from a server on a network (step 404). A detailed method of updating an external codec will be described later. The external codec can be updated via storage media or over a network. The updated external codec file is overwritten in the
이제, 업데이트된 외장 코덱을 포함하여 내장 코덱을 내부 메모리에 로드하고(405 단계), 도 3에 도시된 각 코덱의 인터페이스 정의 중 우선순위 정보를 참조하여 우선순위 순으로 정렬한다(406 단계). 그 중 우선순위가 가장 높은 코덱을 이용하여 멀티미디어 서비스를 제공한다(407 단계 및 408 단계). 이와 같이 멀티미디어 서비스를 제공하기 전에 저장 매체나 네트워크를 통해 업데이트 될 외장 코덱이 있는지 수시로 확인하여 업데이트하고, 업데이트된 외장 코덱 및 내장 코덱을 이용하여 사용자에게 멀티미디어 서비스를 제공한다. The internal codec, including the updated external codec, is loaded into the internal memory (step 405) and sorted in order of priority with reference to the priority information in the interface definition of each codec shown in FIG. Among them, the multimedia service is provided using the codec having the highest priority (
따라서, 사용자가 코덱의 업데이트를 따로 관리하지 않아도, 본 발명에 따른 멀티미디어 장치가 자동으로 새로운 버전의 코덱으로 업데이트하여 멀티미디어 서비스를 제공할 수 있다. Therefore, even if the user does not manage to update the codec separately, the multimedia apparatus according to the present invention can automatically update to a new version of the codec to provide a multimedia service.
이하, 코덱을 업데이트 하는 과정(A)을 보다 구체적으로 설명한다. 도 5는 본 발명에 따른 펌웨어가 내장된 멀티미디어 장치에서 코덱을 업데이트하는 방법을 나타내는 플로 차트이다.Hereinafter, a process (A) of updating the codec will be described in more detail. 5 is a flowchart illustrating a method of updating a codec in a multimedia device with firmware according to the present invention.
도 5를 참조하면, 편리하고 안전하게 코덱을 업데이트하는 방법이 도시되어 있다. Referring to FIG. 5, a method of conveniently and safely updating a codec is illustrated.
먼저, 코덱 관리자(203)는 저장 매체 또는 네트워크를 이용하여 업데이트 가능한 코덱 목록을 메모리로 로드 또는 다운로드한다(501 단계). 로딩된 코덱 목록에서 각 코덱의 버전 정보(303)를 확인한다. 즉, 새로운 코덱이나 또는 오브젝트 정보(302)가 동일한 코덱이라도 다른 버전의 코덱이 존재하는지 확인하여(503 단계), 만약 새로운 코덱 또는 다른 버전의 코덱을 발견하면 해당 코덱의 다운로드 정보를 이용하여 내부 메모리에 로드하거나 다운로드한다(504 단계). 로드 또는 다운로드를 에러 없이 완료한 경우(505 단계), 로드 또는 다운로드된 코덱을 이용하여 플래쉬롬(102)을 업데이트 한다(506 단계). 업데이트가 완료되면(507 단계), 내장 코덱 뿐만 아니라 업데이트된 외장 코덱에 대한 정보를 포함하도록 코덱 관리자를 초기화한다(508 단계). 이제 도 3에 도시된 바와 같이 업데이트 된 펌웨어에 포함된 내장 코덱 및 외장 코덱을 내부 메모리로 로드하고(406 단계), 그 중 우선 순의 정보(305)를 비교하여 우선순위가 가장 높은 코덱을 이용하여 멀티미디어 서비스를 제공한다(407 단계 및 408 단계).First, the
한편, 코덱의 업데이트 시에 새로운 코덱 파일이라면 저장 매체 또는 네트워크로부터 그대로 로드 또는 다운로드한다. 그러나, 업데이트될 코덱이 버그 수정 또는 기능 추가 등을 위해 새로운 버전으로 업데이트된 경우라면 해당 코덱 파일 전부를 로드 또는 다운로드할 필요 없이, 이전 버전의 코덱 파일과 새로운 버전의 코덱 파일의 차분 데이터(different data)를 구하여, 이를 가변장 부호화(Variable Length Coding: VLC라 약칭함)하여 로드 또는 다운로드할 수 있다. 멀티미디어 장치에서는 수신된 VLC 인코딩된 차분 데이터를 복호화하여 외장 코덱 파일을 업데이트 한다. 가변장 부호화/복호화는 널리 알려진 무손실 압축 기법의 하나이며, 다른 부호화/복호화 기법을 물론 사용할 수 있다. On the other hand, when a codec is updated, a new codec file is loaded or downloaded as it is from a storage medium or a network. However, if the codec to be updated is updated to a new version to fix a bug or add a function, the differential data between the previous codec file and the new version of the codec file is not required to be loaded or downloaded. ) Can be loaded or downloaded by variable length coding (VLC). The multimedia device updates the external codec file by decoding the received VLC encoded differential data. Variable length encoding / decoding is one of the well-known lossless compression techniques, and other encoding / decoding techniques may of course be used.
이와 같이 업데이트될 코덱 파일 전체가 아니라, 이전 버전의 코덱 파일과의 차분 데이터 만을 부호화하여 로드 또는 다운로드함으로써, 업데이트되는 파일의 용량을 대폭 감소할 수 있다. 이에 따라, 업데이트 시간을 최소화 할 수 있다.By encoding and loading or downloading only difference data from the codec file of the previous version, not the entire codec file to be updated, the capacity of the file to be updated can be greatly reduced. Accordingly, the update time can be minimized.
이상의 설명은 본 발명의 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명에 따른 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.The above description is only one embodiment of the present invention, and those skilled in the art may implement the present invention in a modified form without departing from the essential characteristics of the present invention. Therefore, it should be interpreted to include various embodiments that are not limited to the examples according to the present invention but within the scope equivalent to those described in the claims.
전술한 바와 같이, 본 발명에 따르면, 모듈화된 내장 코덱 및 외장 코덱과 코덱 관리자를 이용하여 편리하게 코덱을 업데이트 하는 펌웨어가 포함된 멀티미디어 장치가 제공된다. 이에 따라, 다양한 포맷의 멀티미디어 데이터를 재생/녹화/전송할 수 있도록 다양한 코덱 파일들을 편리하게 업데이트할 수 있다. 즉, 펌웨어 전체를 업데이트할 필요 없이, 필요한 모듈만 업데이트하면 되므로, 업데이트 후에도 멀티미디어 장치를 껐다가 다시 켤 필요가 없다. 나아가, 멀티미디어 서비스를 받는 중에는 펌웨어의 업데이트도 가능하다. As described above, according to the present invention, there is provided a multimedia device including a firmware for updating the codec conveniently using a modular built-in codec and an external codec and a codec manager. Accordingly, various codec files can be conveniently updated to play / record / transmit various types of multimedia data. In other words, instead of updating the entire firmware, only the necessary modules need to be updated, so there is no need to turn the multimedia device off and on again after the update. Furthermore, the firmware can be updated while receiving the multimedia service.
또한, 버전 정보나 우선순위 정보를 이용하여, 사용자가 코덱의 업데이트를 관리하지 않아도, 자동으로 멀티미디어 서비스를 시작하기 전에 저장 매체 또는 네트워크로부터 최신 버전의 코덱들을 다운로드 받아 펌웨어를 업데이트할 수 있다. 이에 따라, 사용자는 A/S 센터의 전문가의 도움을 받거나, 업데이트 후 멀티미디어 장치를 재부팅시키는 번거로움 없이, 편리하게 최신 버전의 멀티미디어 서비스를 받을 수 있다.In addition, by using the version information or priority information, even if the user does not manage the update of the codec, the firmware can be updated by downloading the latest version of the codec from the storage medium or the network before automatically starting the multimedia service. Accordingly, the user can conveniently receive the latest version of the multimedia service without the help of an expert in the A / S center or the hassle of rebooting the multimedia device after the update.
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040052318A KR100619038B1 (en) | 2004-07-06 | 2004-07-06 | Multimedia device having a firmware built-in |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040052318A KR100619038B1 (en) | 2004-07-06 | 2004-07-06 | Multimedia device having a firmware built-in |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060003437A KR20060003437A (en) | 2006-01-11 |
KR100619038B1 true KR100619038B1 (en) | 2006-09-01 |
Family
ID=37105884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040052318A KR100619038B1 (en) | 2004-07-06 | 2004-07-06 | Multimedia device having a firmware built-in |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100619038B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100818924B1 (en) * | 2006-05-03 | 2008-04-04 | 삼성전자주식회사 | Apparatus and method for creating DSP code through combing of software module |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010044634A (en) * | 2001-03-13 | 2001-06-05 | 김형석 | Codec Upgradable 'Digital Audio(Voice) Recorder/Player (MP3 Recoder/Player)' and Internet Service |
JP2002149536A (en) * | 2000-11-07 | 2002-05-24 | Canon Inc | Communication terminal device, program updating method and storage medium |
KR20040008007A (en) * | 2002-07-15 | 2004-01-28 | 에임텍 주식회사 | Method of upgrading firmware for wireless terminal |
-
2004
- 2004-07-06 KR KR1020040052318A patent/KR100619038B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002149536A (en) * | 2000-11-07 | 2002-05-24 | Canon Inc | Communication terminal device, program updating method and storage medium |
KR20010044634A (en) * | 2001-03-13 | 2001-06-05 | 김형석 | Codec Upgradable 'Digital Audio(Voice) Recorder/Player (MP3 Recoder/Player)' and Internet Service |
KR20040008007A (en) * | 2002-07-15 | 2004-01-28 | 에임텍 주식회사 | Method of upgrading firmware for wireless terminal |
Also Published As
Publication number | Publication date |
---|---|
KR20060003437A (en) | 2006-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030066084A1 (en) | Apparatus and method for transcoding data received by a recording device | |
US8402456B2 (en) | Portable storage device, system and method for automatic software installation | |
EP1383127A2 (en) | Host processing device using external storage medium | |
JP2010279075A (en) | Mobile information terminal and method, information processing apparatus and method, recording medium, and information processing system | |
TW476046B (en) | Dynamic detection of hardware configuration in a digital terminal | |
US20060210246A1 (en) | Data processing apparatus | |
JP3860428B2 (en) | Image recording device | |
KR100619038B1 (en) | Multimedia device having a firmware built-in | |
US20060015905A1 (en) | Wireless communication system having program upgrade function and method thereof | |
JP2011154710A (en) | Retrieving data from information carrier | |
EP1401206A2 (en) | Stream Data Processing Apparatus | |
EP1523191B1 (en) | Content Recording Method, System and Computer Program | |
JP2007094939A (en) | Information processing device, information processing method, and its program | |
US20060098946A1 (en) | Video and audio data recording and/or reproducing apparatus having lock setting function and control method thereof | |
WO2010132189A1 (en) | System and method for sharing memory | |
KR20000034254A (en) | Apparatus for program upgrade of digital television | |
KR20040018712A (en) | Set Top Box and controlling method thereof | |
JP3849137B2 (en) | Digital broadcast receiver | |
KR100617565B1 (en) | Method of preinsatall contents for mobile station | |
KR101009954B1 (en) | The home network device, the peripheral device install program system and method for setting the peripheral device install program | |
KR100830466B1 (en) | The method for downloading SW in digital television and apparatus for controlling the same | |
US7113113B2 (en) | Reproduction apparatus | |
KR20040110700A (en) | Method for upgrading dvd by using usb | |
KR20070058041A (en) | Optical disk playback device capable downloading codec and method for controlling thereof | |
KR20080081470A (en) | File system management method and apparatus for embedded linux based set-top box |
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 |