KR20060003437A - 펌웨어가 내장된 멀티미디어 장치 - Google Patents

펌웨어가 내장된 멀티미디어 장치 Download PDF

Info

Publication number
KR20060003437A
KR20060003437A KR1020040052318A KR20040052318A KR20060003437A KR 20060003437 A KR20060003437 A KR 20060003437A KR 1020040052318 A KR1020040052318 A KR 1020040052318A KR 20040052318 A KR20040052318 A KR 20040052318A KR 20060003437 A KR20060003437 A KR 20060003437A
Authority
KR
South Korea
Prior art keywords
codec
program
firmware
codec program
multimedia
Prior art date
Application number
KR1020040052318A
Other languages
English (en)
Other versions
KR100619038B1 (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 KR1020040052318A priority Critical patent/KR100619038B1/ko
Publication of KR20060003437A publication Critical patent/KR20060003437A/ko
Application granted granted Critical
Publication of KR100619038B1 publication Critical patent/KR100619038B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing 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

본 발명은 편리한 코덱 업데이트 기능을 제공하는 펌웨어를 내장한 멀티미디어 장치에 관한 것으로, 보다 구체적으로 펌웨어가 내장된 멀티미디어 장치에 있어서, 펌웨어는 통일된 인터페이스를 가지도록 모듈화된 적어도 하나의 코덱 프로그램과, 코덱 프로그램을 실행시키며 코덱 프로그램들을 모듈 단위로 업데이트하는 코덱 관리자를 포함하는 것을 특징으로 한다.
이에 따라, 사용자는 A/S 센터의 전문가의 도움을 받거나, 업데이트 후 멀티미디어 장치를 재부팅시키는 번거로움 없이, 편리하게 최신 버전의 멀티미디어 서비스를 받을 수 있다.

Description

펌웨어가 내장된 멀티미디어 장치{Multimedia device having a firmware built-in}
도 1은 일반적인 멀티미디어 장치의 하드웨어 구성을 나타내는 도면,
도 2a 및 도 2b는 본 발명에 따른 모듈화된 코덱(codec)을 탑재한 펌웨어 구성의 일 실시예 들을 나타내는 도면,
도 3은 본 발명에 따른 모듈화된 코덱의 통일된 인터페이스 구성의 일 실시예를 나타내는 도면,
도 4는 본 발명에 따른 펌웨어가 내장된 멀티미디어 장치에서 멀티미디어 서비스를 제공하는 방법을 나타내는 플로 차트,
도 5는 본 발명에 따른 펌웨어가 내장된 멀티미디어 장치에서 코덱을 업데이트하는 방법을 나타내는 플로 차트이다.
본 발명은 멀티미디어 장치에 관한 것으로, 보다 구체적으로 편리한 코덱 업데이트 기능을 제공하는 펌웨어를 내장한 멀티미디어 장치에 관한 것이다.
최근 들어 DVD 복합기, 개인 디지털 녹화기(Personal Digital Recoder: 이하 PVR이라 약칭함), MP3 플레이어, 동영상 기능을 제공하는 휴대폰 등 다양한 멀티미디어 서비스를 제공하는 멀티미디어 장치들이 각광받고 있다. 특히, 다양한 형식의 오디오 및 비디오 파일들을 하나의 장치에서 재생/녹화/전송하는 디지털 컨버전스화(Digital Convergence)가 커다란 이슈가 되고 있다.
컨버전스(convergence)는 보통 ‘융합’으로 번역하는데, 기술 통합, 하이브리드(hybrid), 잡종적 지식, 퓨전 등과 맥을 같이하는 트랜드를 나타내는 표현이다. 따라서, 디지털 컨버전스란, 디지털을 매개로 가전(Consumer Electronics: CE), 정보통신기술(IT), 컨텐츠, 서비스 등이 서로 유기적으로 통합되는 경향을 말한다. 특히, 복합기, 카메라폰, 휴대폰뱅킹, 텔레메틱스 등 IT와 가전 분야에서 디지털 컨버전스화가 급속하게 진행되고 있다.
이러한 디지털 컨버전스화에 따라, 하나의 멀티미디어 장치에서 다양한 종류의 오디오 또는 비디오 파일들을 재생/녹화/전송할 필요가 발생한다. 따라서, 하나의 멀티미디어 장치에서 다양한 종류의 코덱(codec: coder and decoder)을 지원해야할 필요가 있다. 특히 새로운 기술의 발전에 따라, 혹은 사용자들의 선택에 따라 코덱을 변경하거나 업데이트해야 하는 경우가 많이 발생한다.
그러나, 종래의 일반적인 멀티미디어 장치는 퍼스널 컴퓨터(Personal Computer: PC)와는 달리 소프트웨어의 업데이트가 매우 불편하다. 대표적인 예로 복합기나 개인 디지털 녹화기(PVR) 등과 같은 멀티미디어 가전의 경우, 소프트웨어를 내장하고 있는 펌웨어(firmware) 전체를 업그레이드해야 하는 불편함이 있었다.
보다 구체적으로, 도 1은 일반적인 멀티미디어 장치의 하드웨어 구성을 나타 내는 도면이다. 도 1을 참조하면, 일반적인 멀티미디어 장치는, 중앙처리장치(CPU)(101), 플래쉬롬(Flash-ROM)(102), 데이터 메모리(RAM)(103), 네트워크 어댑터(104), 저장 매체(105), 하드웨어 코덱(106), 및 입출력 장치(107 및 108)를 구비한다.
CPU(101)는 전체 멀티미디어 장치의 재생/녹화/전송을 제어한다. 플래쉬롬(102)은, 멀티미디어 장치의 운영체제(Operating System: OS)와 같은 시스템 프로그램과, 멀티미디어 서비스를 제공하기 위한 소프트웨어 코덱을 포함하는 어플리케이션 프로그램 등이 저장되는 비휘발성 메모리이다. 시스템 프로그램을 커널(kernel)이라고도 한다. 또한, 이와 같이 플래쉬롬에 탑재되는 시스템 프로그램을 비롯한 멀티미디어 서비스를 제공하는 소프트웨어들을 펌웨어(firmware)라고 한다. 일반적으로 펌웨어의 업데이트를 위해 수정이 가능한 플래쉬 타입의 메모리가 사용된다.
데이터 메모리(103)는, 멀티미디어 시스템에서 사용하는 메모리로서, 내부 메모리라고도 한다. 중간 버퍼, 중간 계산 결과를 저장하는 임시 메모리이다. 펌웨어에 포함되는 어플리케이션 프로그램들은 플래쉬롬(102)으로부터 데이터 메모리(103)로 로드되어 실행된다.
네트워크 어댑터(104)는, 외부의 네트워크와 연결하기 위한 인터페이스로서, TCP/IP 기반의 인터넷 등에 연결될 수 있다. 적절한 네트워크 어댑터를 통해, 멀티미디어 장치는, 이더넷(Ethernet), 종합디지털통신망(Integrated Services Digital Network: ISDN), 전력선이동통신망(Power Line Control: PLC), 무선 통신 망(Wireless Network)등에 접속할 수 있다.
저장 매체(105)는, 내부 메모리와는 다른 별도의 외부 기억 장치이다. 씨디롬(CD-ROM), 디브이디(DVD), 하드디스크(HDD), 메모리 카드(memory card)등과 같은 매체(media)가 사용된다. 멀티미디어 데이터를 읽거나 기록하는데 사용된다.
하드웨어 코덱(106)은, 비디오 데이터 및 오디오 데이터 등의 멀티미디어 데이터를 처리하는 하드웨어 인코더(encoder) 및 디코더(decoder)를 말한다. 비디오 데이터 및 오디오 데이터를 압축하거나, 압축해제 하거나, 영상 화질의 개선, 음질의 개선 등의 멀티미디어 장치 고유의 기능을 수행하는 부분이다. 하드웨어 코덱과는 별도로, 전술한 바와 같이 플래쉬롬(102)에는 펌웨어로서 소프트웨어 코덱이 포함된다. 물론, 멀티미디어 장치의 스펙에 따라 하드웨어 코덱 또는 소프트웨어 코덱 중 일부만을 제공할 수도 있다.
입출력 장치(107 및 108)는, 오디오 데이터 및 비디오 데이터와 같은 멀티미디어 데이터를 입출력 또는 송수신하는 장치이다. 디지털 방송을 재생 또는 기록하기 위한 디지털 튜너가 그 예이다.
전술한 바와 같이 일반적인 멀티미디어 장치는 멀티미디어 데이터의 재생/압축/기록 등과 같은 기능을 수행하며, 이를 위해 소프트웨어 및/ 또는 하드웨어 코덱을 구비한다. 또한, 저장 매체에 기록된 멀티미디어 데이터를 내부 메모리로 로드하여 재생하거나, 멀티미디어 데이터를 압축하여 저장 매체에 기록한다.
이상의 하드웨어 구성에 기초하여 멀티미디어 장치가 멀티미디어 서비스를 제공하는 과정을 살펴보면 다음과 같다.
예를 들어 마이크로 소프트 사의 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) 서비스를 받을 수도 있다.
그러나, 만약 WMV 코덱의 새로운 버전이 등장하는 경우, 또는 WMV 외에 새로운 H.264 코덱을 지원하고자 하는 경우에는 플래쉬롬(102)에 탑재된 펌웨어의 업그레이드가 필요하다. 다만, 하드웨어 코덱으로만 구성된 멀티미디어 장치의 경우에는 펌웨어의 업그레이드 자체가 불가능하다. 즉, 소프트웨어 코덱을 포함하는 경우에 한해 플래쉬롬에 탑재된 펌웨어를 업그레이드해야 한다. 이 때, 펌웨어의 업 그레이드를 위해서는 펌웨어 전체를 CD-ROM 디스크, 메모리 카드, 인터넷 등을 통해 업데이트 하여야 한다. 이를 위해 플래쉬롬 억세스 모듈은, 저장 매체 또는 네트워크를 통해 새로운 펌웨어를 읽어들여 내부 메모리(RAM)에 로드하고, 이를 다시 플래쉬롬의 특정 부분에 덮어 쓴다(overwrite).
그러나, 펌웨어 전체를 업데이트 하는 것은 사용자 입장에서 매우 복잡하고 어려운 과정이다. 따라서, A/S 센터를 이용하여 전문가의 도움을 받아야 하는 불편함이 있었다. 또한, 펌웨어 전체를 업데이트하고 나면, 멀티미디어 장치를 껐다가 다시 켜야 하는 불편함도 있었다. 나아가, 멀티미디어 서비스를 받는 중에는 펌웨어의 업데이트가 불가능한 문제점도 있었다.
따라서, 본 발명의 기술적 과제는 전술한 문제점을 해결하기 위하여, 편리한 코덱 업데이트 기능을 제공하는 펌웨어를 내장한 멀티미디어 장치를 제공하는 것이다.
전술한 기술적 과제는, 본 발명에 따라 펌웨어가 내장된 멀티미디어 장치에 있어서, 펌웨어는 통일된 인터페이스를 가지도록 모듈화된 적어도 하나의 코덱 프로그램과, 코덱 프로그램을 실행시키며 코덱 프로그램들을 모듈 단위로 업데이트하는 코덱 관리자를 포함하는 것을 특징으로 하는 멀티미디어 장치에 의해 달성된다.
상기 코덱 프로그램은, 동적으로 링크되는 플러그인(plug-in) 방식의 프로그램인 것이 바람직하며,
상기 코덱 프로그램은, 펌웨어에 내장된 적어도 하나의 코덱 프로그램과, 저장 매체나 네트워크로부터 다운로드된 적어도 하나의 코덱 프로그램을 포함하는 것이 바람직하다.
또한, 상기 통일된 인터페이스는, 해당 코덱 프로그램의 버전 정보를 포함하며, 코덱 관리자는, 버전 정보를 이용하여, 동일한 포맷에 대응하는 복수의 코덱 프로그램이 존재하는 경우, 최신 버전의 코덱 프로그램을 선택하여 다운로드하는 하는 것이 바람직하다.
상기 통일된 인터페이스는, 펌웨어에 탑재된 복수의 코덱 프로그램들 중 해당 코덱 프로그램이 적용되는 순서를 나타내는 우선순위 정보를 포함하며, 코덱 관리자는 우선 순위 정보를 이용하여 우선순위가 가장 높은 코덱 프로그램을 실행시키는 것이 바람직하다.
또한, 상기 코덱 관리자는, 우선순위 정보를 참조하여 그 우선순위 순서대로 펌웨어에 탑재된 복수의 코덱 프로그램들을 시험(probe)하여, 소정의 멀티미디어 서비스를 제공하기 위해 필요한 코덱 프로그램을 알아내는 것이 바람직하다.
또한, 상기 코덱 관리자는, 멀티미디어 서비스를 제공하면서 코덱 프로그램을 업데이트하는 것이 바람직하며,
상기 코덱 관리자는, 새로운 버전의 코덱을 업데이트하는 경우, 업데이트 될 코덱 프로그램과 이전 버전의 코덱 프로그램과의 차분 데이터를 다운로드하여 펌웨어를 업데이트 하는 것이 특히 바람직하다.
한편, 본 발명의 다른 분야에 따르면 전술한 기술적 과제는, 멀티미디어 장 치의 펌웨어를 업데이트하는 방법에 있어서, 저장 매체 또는 네트워크로부터 통일된 인터페이스를 가지도록 모듈화된 적어도 하나의 코덱 프로그램을 모듈 단위로 다운로드하는 단계; 및 다운로드된 코덱 프로그램을 펌웨어의 소정의 영역에 기록하는 단계를 포함하는 것을 특징으로 하는 업데이트 방법에 의해 달성된다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
도 2a 및 도 2b는 본 발명에 따른 모듈화된 코덱(codec)을 탑재한 펌웨어의 구성의 일 실시예들을 나타내는 도면이다.
본 발명에 따른 모듈화된 코덱을 탑재한 펌웨어는 재프로그램이 가능한 비휘발성 메모리인 플래쉬롬의 각 영역을 계층적으로 나누어 사용한다. 도 2a 및 도 1을 참조하면, 펌웨어는 부트 로더(201), 시스템 프로그램(202), 코덱 관리자 및 내장 코덱(203), 및 외장 코덱(204)을 포함한다.
부트 로더(boot loader)(201)는, 플래쉬롬(102)에 탑재된 시스템 프로그램(202)을 읽어 내부 메모리(103)에 로드한다.
시스템 프로그램(202)은, 멀티미디어 장치를 운영하는 시스템 소프트웨어로서, 부트 로더에 의해 내부 메모리에 로드되어 멀티미디어 장치의 재생/기록/전송 등의 전 과정을 총괄하여 운영한다. 시스템 프로그램에는 PSOS, Linux, Vxworks, Window CE 등과 같은 운영체제 프로그램이 포함되며, 파일 시스템 관리자, 플래쉬롬 관리자 등이 더 포함될 수 있다.
본 발명에 따르면, 코덱 프로그램을 내장 코덱과 외장 코덱으로 나눈다. 내 장 코덱(203)은 멀티미디어 장치가 출시될 때 탑재되는 펌웨어에 포함되는 코덱들을 말한다. 멀티미디어 장치의 출시 후에 업데이트 되는 코덱들은 외장 코덱(204) 영역에 저장된다. 코덱 관리자(203)는 내장 코덱(203) 및 외장 코덱의 실행과 업데이트를 제어한다. 즉, 본 발명에 따른 멀티미디어 장치는 출시 초기에는 내장 코덱 들만을 이용하여 멀티미디어 서비스를 제공하지만, 외장 코덱 들이 업데이트 됨에 따라 내장 코덱과 외장 코덱을 함께 사용하여 멀티미디어 서비스를 제공한다. 이에 따라, 다양한 형태의 코덱을 이용한 멀티미디어 서비스가 가능하다.
보다 구체적으로, 본 발명에 따른 내장 코덱과 외장 코덱은 통일된 인터페이스를 가지도록 설계된다. 즉, 오브젝트(object)와 같은 형태로 모듈화된다. 멀티미디어 장치가 다양한 형태의 코덱을 지원함과 동시에 펌웨어의 업데이트가 편리하고 효율적으로 수행되도록 하기 위해서이다. 통일된 인터페이스에 대해서는 후술한다. 또한, 전술한 바와 같이 내장 코덱과 외장 코덱으로 나뉘어 별도의 영역에 저장된다. 내장 코덱은, 펌웨어 업데이트의 편의성과 효율성을 위하여 후술하는 바와 같이 통일된 인터페이스로 기술되며, 도시된 바와 같이 코덱 관리자와 함께 일체형으로 프로그램 된다. 내장 코덱은 코덱 관리자와 더불어 컴파일되고 링크된 형태의 빌트인 모듈일 수도 있고 제품 출하 시 기본적으로 설치된 플러그인 프로그램 형식으로 구현될 수도 있다.
외장 코덱은 내장 코덱과 동일한 형식의 인터페이스를 가지며, 추후의 업데이트를 위하여 패치 프로그램이나 플러그인 프로그램 형식의 동적 링크 라이브러리(Dynamic Link Library)이다. 예를 들어, 리눅스 운영체제에서는 *.so의 파일 확 장자를 가지는 동적 라이브러리 파일로 구현될 수 있으며, 윈도우즈 운영체제에서는 *.dll의 확장자를 가지는 동적 라이브러리 파일로 구현될 수 있다. 즉, 본 발명에 따른 외장 코덱은, 내장 코덱과 같은 형식의 인터페이스를 가지는 동적 링크가 가능한 파일로 구현된다. 따라서, 업데이트 될 코덱 파일만 외장 코덱 영역에 기록하여 코덱의 업데이트를 할 수 있으므로, 종래와 같이 일부 코덱을 업데이트하기 위하여 전체 펌웨어를 업데이트 할 필요가 없다. 또한, 코덱 관리자가 내장 코덱 또는 외장 코덱을 이용하여 멀티미디어 서비스를 제공하도록 제어하므로, 멀티미디어 서비스 중에도 필요한 코덱을 업데이트할 수 있으며, 업데이트 후에도 재부팅이나 프로그램의 재기동이 필요하지 않다. 즉, 펌웨어 전체를 업데이트 할 필요없이, 일부의 해당 외장 코덱 파일만 업데이트하면 해당 기능을 바로 사용할 수 있다. 또한, 모든 내장 코덱들과 외장 코덱들이 우선순위(priority) 값을 가지도록 하여, 내장 코덱이라도 우선순위가 높은 외장 코덱에 의해 자동으로 대체될 수 있다.
한편, 다른 실시예로서, 도 2b를 참조하면, 내장 코덱을 코덱 관리자와 일체형으로 프로그램하지 않고, 분리하여 별도로 프로그램하는 경우의 펌웨어 구성이 도시된다.
도 3은 본 발명에 따른 모듈화된 코덱의 통일된 인터페이스 구성의 일 실시예를 나타내는 도면이다.
도 3을 참조하면, 본 발명에 따른 모듈화된 내장 코덱 및 외장 코덱은 그림과 같이 동일한 형식의 인터페이스를 가진다. 즉, 본 발명에 따른 내장 코덱 및 외장 코덱의 인터페이스(300)는, 헤더 마크(301), 오브젝트 정보(302), 버전 정보(303), 엔트리 포인트 정보(304), 및 우선 순위 정보(305) 등을 포함한다.
헤더 마크(301)는 이하 계속되는 정보가 코덱의 인터페이스에 관한 정보임을 나타낸다. 오브젝트 정보(302)는, 모듈화 또는 오브젝트화 된 코덱의 식별자 정보를 나타낸다. 예를 들어, MPEG 오디오 코덱의 인터페이스는 오브젝트 정보(302)에 MPEG 오디오 코덱임을 나타내는 정보가 포함된다. 코덱 버전 정보(303)는 해당 코덱의 버전을 나타낸다. 만약, 업데이트하고자 하는 외장 코덱의 오브젝트 정보와 동일한 오브젝트 정보를 가지는 외장 코덱이 이미 플래쉬롬의 외장 코덱 영역에 존재하는 경우, 버전 정보(303)를 비교하여 상대적으로 높은 버전의 외장 코덱으로 업데이트할 수 있다. 엔트리 포인트 정보(304)는 코덱 프로그램을 실제로 호출하여 실행하기 위해 필요한 정보들을 나타낸다. 예를 들어, 코덱 프로그램이 실제 저장된 위치를 알려주는 주소 정보가 포함된다. 우선 순위 정보(305)는 복수의 코덱들 간에 적용 순서를 지정하는 정보이다. 복수의 내장 코덱 및 외장 코덱들을 우선순위 정보에 따라 정렬하고 우선순위가 높은 코덱부터 실행한다. 특히, 소정의 멀티미디어 서비스를 위해 필요한 코덱을 알아내기 위해서, 플래쉬롬에 저장된 모든 코덱들을 순서대로 호출하여 해당 멀티미디어 서비스가 가능한지 시험(probe)한다. 이 경우에도 저장된 순서가 아니라 우선순위 정보에 지정된 우선순위 순으로 코덱을 시험하는 것이 더 효율적일 수 있다. 예를 들어 어떤 MP3 파일을 해당 코덱이 디코딩할 수 있는지 시험하는 경우, 우선순위가 높은 코덱을 먼저 사용하여 시험한다. MP3 내장 코덱보다 더 높은 우선순위의 MP3 외장 코덱이 있다면, 이 외 장 코덱을 사용하여 멀티미디어 서비스를 제공한다. 따라서, 버전 정보(303)와 우선순위 정보(305)를 이용하여 최신의 코덱을 선택하여 멀티미디어 서비스를 제공할 수 있다.
코덱들의 인터페이스를 도 3에 도시된 필드들 중 일부를 포함하도록 정의하거나, 다른 필드를 추가하도록 정의하는 등 다양하게 변형하여 구현할 수 있음은 물론이다. 전술한 바와 같이 내장 코덱과 외장 코덱의 인터페이스를 동일한 방식으로 정의하여 모듈화 함으로써, 모듈 또는 오브젝트 단위의 코덱 업데이트가 가능해 진다.
이하에서는 전술한 모듈화된 코덱을 이용하여 멀티미디어 서비스를 제공하고, 멀티미디어 장치의 펌웨어를 업데이트하는 방법을 설명한다.
도 4는 본 발명에 따른 펌웨어가 내장된 멀티미디어 장치에서 멀티미디어 서비스를 제공하는 방법을 나타내는 플로 차트이다.
도 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에 도시된 바와 같은 통일된 인터페이스를 가지도록 모듈화 되어 구현된다.
한편, 새로운 포맷의 멀티미디어 데이터를 재생/기록/전송하기 위하여 새로운 외장 코덱이 추가될 수 있다. 예를 들어 WMA(Windows Media Audio) 디코더용 외장 코덱을 하드디스크나 메모리 스틱, DVD 등과 같은 저장 매체를 통해 업데이트하거나, 네트워크 상의 서버로부터 다운로드 하여 업데이트 할 수 있다(404 단계). 외장 코덱을 업데이트하는 구체적인 방법은 후술한다. 외장코덱은 저장 매체를 통해 업데이트 되거나, 네트워크를 통해 업데이트 된다. 업데이트 된 외장 코덱 파일은 도 2에 도시된 바와 같이 외장 코덱 영역(204)에 덮어 쓰거나, 추가되는 외장 코덱은 외장 코덱 영역(204)중 빈 영역에 기록된다.
이제, 업데이트된 외장 코덱을 포함하여 내장 코덱을 내부 메모리에 로드하고(405 단계), 도 3에 도시된 각 코덱의 인터페이스 정의 중 우선순위 정보를 참조하여 우선순위 순으로 정렬한다(406 단계). 그 중 우선순위가 가장 높은 코덱을 이용하여 멀티미디어 서비스를 제공한다(407 단계 및 408 단계). 이와 같이 멀티미디어 서비스를 제공하기 전에 저장 매체나 네트워크를 통해 업데이트 될 외장 코덱이 있는지 수시로 확인하여 업데이트하고, 업데이트된 외장 코덱 및 내장 코덱을 이용하여 사용자에게 멀티미디어 서비스를 제공한다.
따라서, 사용자가 코덱의 업데이트를 따로 관리하지 않아도, 본 발명에 따른 멀티미디어 장치가 자동으로 새로운 버전의 코덱으로 업데이트하여 멀티미디어 서비스를 제공할 수 있다.
이하, 코덱을 업데이트 하는 과정(A)을 보다 구체적으로 설명한다. 도 5는 본 발명에 따른 펌웨어가 내장된 멀티미디어 장치에서 코덱을 업데이트하는 방법을 나타내는 플로 차트이다.
도 5를 참조하면, 편리하고 안전하게 코덱을 업데이트하는 방법이 도시되어 있다.
먼저, 코덱 관리자(203)는 저장 매체 또는 네트워크를 이용하여 업데이트 가능한 코덱 목록을 메모리로 로드 또는 다운로드한다(501 단계). 로딩된 코덱 목록에서 각 코덱의 버전 정보(303)를 확인한다. 즉, 새로운 코덱이나 또는 오브젝트 정보(302)가 동일한 코덱이라도 다른 버전의 코덱이 존재하는지 확인하여(503 단계), 만약 새로운 코덱 또는 다른 버전의 코덱을 발견하면 해당 코덱의 다운로드 정보를 이용하여 내부 메모리에 로드하거나 다운로드한다(504 단계). 로드 또는 다운로드를 에러 없이 완료한 경우(505 단계), 로드 또는 다운로드된 코덱을 이용하여 플래쉬롬(102)을 업데이트 한다(506 단계). 업데이트가 완료되면(507 단계), 내장 코덱 뿐만 아니라 업데이트된 외장 코덱에 대한 정보를 포함하도록 코덱 관리자를 초기화한다(508 단계). 이제 도 3에 도시된 바와 같이 업데이트 된 펌웨어에 포함된 내장 코덱 및 외장 코덱을 내부 메모리로 로드하고(406 단계), 그 중 우선 순의 정보(305)를 비교하여 우선순위가 가장 높은 코덱을 이용하여 멀티미디어 서비스를 제공한다(407 단계 및 408 단계).
한편, 코덱의 업데이트 시에 새로운 코덱 파일이라면 저장 매체 또는 네트워크로부터 그대로 로드 또는 다운로드한다. 그러나, 업데이트될 코덱이 버그 수정 또는 기능 추가 등을 위해 새로운 버전으로 업데이트된 경우라면 해당 코덱 파일 전부를 로드 또는 다운로드할 필요 없이, 이전 버전의 코덱 파일과 새로운 버전의 코덱 파일의 차분 데이터(different data)를 구하여, 이를 가변장 부호화(Variable Length Coding: VLC라 약칭함)하여 로드 또는 다운로드할 수 있다. 멀티미디어 장치에서는 수신된 VLC 인코딩된 차분 데이터를 복호화하여 외장 코덱 파일을 업데이트 한다. 가변장 부호화/복호화는 널리 알려진 무손실 압축 기법의 하나이며, 다른 부호화/복호화 기법을 물론 사용할 수 있다.
이와 같이 업데이트될 코덱 파일 전체가 아니라, 이전 버전의 코덱 파일과의 차분 데이터 만을 부호화하여 로드 또는 다운로드함으로써, 업데이트되는 파일의 용량을 대폭 감소할 수 있다. 이에 따라, 업데이트 시간을 최소화 할 수 있다.
이상의 설명은 본 발명의 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명에 따른 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.
전술한 바와 같이, 본 발명에 따르면, 모듈화된 내장 코덱 및 외장 코덱과 코덱 관리자를 이용하여 편리하게 코덱을 업데이트 하는 펌웨어가 포함된 멀티미디어 장치가 제공된다. 이에 따라, 다양한 포맷의 멀티미디어 데이터를 재생/녹화/전송할 수 있도록 다양한 코덱 파일들을 편리하게 업데이트할 수 있다. 즉, 펌웨어 전체를 업데이트할 필요 없이, 필요한 모듈만 업데이트하면 되므로, 업데이트 후에도 멀티미디어 장치를 껐다가 다시 켤 필요가 없다. 나아가, 멀티미디어 서비스를 받는 중에는 펌웨어의 업데이트도 가능하다.
또한, 버전 정보나 우선순위 정보를 이용하여, 사용자가 코덱의 업데이트를 관리하지 않아도, 자동으로 멀티미디어 서비스를 시작하기 전에 저장 매체 또는 네트워크로부터 최신 버전의 코덱들을 다운로드 받아 펌웨어를 업데이트할 수 있다. 이에 따라, 사용자는 A/S 센터의 전문가의 도움을 받거나, 업데이트 후 멀티미디어 장치를 재부팅시키는 번거로움 없이, 편리하게 최신 버전의 멀티미디어 서비스를 받을 수 있다.

Claims (16)

  1. 펌웨어가 내장된 멀티미디어 장치에 있어서,
    상기 펌웨어는, 통일된 인터페이스를 가지도록 모듈화된 적어도 하나의 코덱 프로그램과,
    상기 코덱 프로그램을 실행시키며, 상기 코덱 프로그램들을 모듈 단위로 업데이트하는 코덱 관리자를 포함하는 것을 특징으로 하는 멀티미디어 장치.
  2. 제1항에 있어서,
    상기 코덱 프로그램은, 동적으로 링크되는 플러그인(plug-in) 방식의 프로그램인 것을 특징으로 하는 멀티미디어 장치.
  3. 제1항에 있어서,
    상기 코덱 프로그램은, 상기 펌웨어에 내장된 적어도 하나의 코덱 프로그램과, 저장 매체나 네트워크로부터 다운로드된 적어도 하나의 코덱 프로그램을 포함하는 것을 특징으로 하는 멀티미디어 장치.
  4. 제1항에 있어서,
    상기 통일된 인터페이스는, 해당 코덱 프로그램의 버전 정보를 포함하며,
    상기 코덱 관리자는, 상기 버전 정보를 이용하여, 동일한 포맷에 대응하는 복수의 코덱 프로그램이 존재하는 경우, 최신 버전의 코덱 프로그램을 선택하여 다운로드하는 하는 것을 특징으로 하는 멀티미디어 장치.
  5. 제1항에 있어서,
    상기 통일된 인터페이스는, 상기 펌웨어에 탑재된 복수의 코덱 프로그램들 중 해당 코덱 프로그램이 적용되는 순서를 나타내는 우선순위 정보를 더 포함하며,
    상기 코덱 관리자는 상기 우선 순위 정보를 이용하여 우선순위가 가장 높은 코덱 프로그램을 실행시키는 것을 특징으로 하는 멀티미디어 장치.
  6. 제5항에 있어서,
    상기 코덱 관리자는, 상기 우선순위 정보를 참조하여 그 우선순위 순서대로 상기 펌웨어에 탑재된 복수의 코덱 프로그램들을 시험(probe)하여, 소정의 멀티미디어 서비스를 제공하기 위해 필요한 코덱 프로그램을 알아내는 것을 특징으로 하는 멀티미디어 장치.
  7. 제1항에 있어서,
    상기 코덱 관리자는, 멀티미디어 서비스를 제공하면서 상기 코덱 프로그램을 업데이트하는 것을 특징으로 하는 멀티미디어 장치.
  8. 제1항에 있어서,
    상기 코덱 관리자는, 새로운 버전의 코덱을 업데이트하는 경우, 업데이트 될 상기 코덱 프로그램과 이전 버전의 코덱 프로그램과의 차분 데이터를 다운로드하여 상기 펌웨어를 업데이트 하는 것을 특징으로 하는 멀티미디어 장치.
  9. 멀티미디어 장치의 펌웨어를 업데이트하는 방법에 있어서,
    저장 매체 또는 네트워크로부터 통일된 인터페이스를 가지도록 모듈화된 적어도 하나의 코덱 프로그램을 모듈 단위로 다운로드하는 단계; 및
    상기 다운로드된 코덱 프로그램을 상기 펌웨어의 소정의 영역에 기록하는 단계를 포함하는 것을 특징으로 하는 업데이트 방법.
  10. 제9항에 있어서,
    상기 기록하는 단계는 플러그인(plug-in) 방식을 이용하여 상기 다운로드된 코덱 프로그램을 상기 펌웨어의 소정의 영역에 동적으로 링크하는 것을 특징으로 하는 업데이트 방법.
  11. 제9항에 있어서,
    상기 펌웨어의 소정의 영역은, 상기 펌웨어에 내장된 적어도 하나의 코덱 프로그램이 기록되는 영역과, 상기 저장 매체나 네트워크로부터 다운로드된 적어도 하나의 코덱 프로그램이 기록되는 영역으로 별도로 분리되는 것을 특징으로 하는 업데이트 방법.
  12. 제9항에 있어서,
    상기 통일된 인터페이스는, 해당 코덱 프로그램의 버전 정보를 포함하며,
    상기 버전 정보를 이용하여, 동일한 포맷에 대응하는 복수의 코덱 프로그램이 존재하는 경우, 최신 버전의 코덱 프로그램을 선택하여 다운로드 하는 것을 특징으로 하는 업데이트 방법.
  13. 제9항에 있어서,
    상기 통일된 인터페이스는, 상기 펌웨어에 탑재된 복수의 코덱 프로그램들 중 해당 코덱 프로그램이 적용되는 순서를 나타내는 우선순위 정보를 더 포함하며,
    상기 우선 순위 정보를 이용하여 우선순위가 가장 높은 코덱 프로그램을 실행하여 멀티미디어 서비스를 제공하는 단계를 더 포함하는 것을 특징으로 하는 업데이트 방법.
  14. 제13항에 있어서,
    상기 우선순위 정보를 참조하여 그 우선순위 순서대로 상기 펌웨어에 탑재된 복수의 코덱 프로그램들을 시험(probe)하여, 소정의 멀티미디어 서비스를 제공하기 위해 필요한 코덱 프로그램을 알아내는 것을 특징으로 하는 멀티미디어 장치.
  15. 제9항에 있어서,
    멀티미디어 서비스를 제공하면서 동시에 상기 코덱 프로그램을 다운로드하는 것을 특징으로 하는 업데이트 방법.
  16. 제9항에 있어서,
    새로운 버전의 코덱을 업데이트하는 경우, 업데이트 될 상기 코덱 프로그램과 이전 버전의 코덱 프로그램과의 차분 데이터만을 다운로드하는 것을 특징으로 하는 업데이트 방법.
KR1020040052318A 2004-07-06 2004-07-06 펌웨어가 내장된 멀티미디어 장치 KR100619038B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040052318A KR100619038B1 (ko) 2004-07-06 2004-07-06 펌웨어가 내장된 멀티미디어 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040052318A KR100619038B1 (ko) 2004-07-06 2004-07-06 펌웨어가 내장된 멀티미디어 장치

Publications (2)

Publication Number Publication Date
KR20060003437A true KR20060003437A (ko) 2006-01-11
KR100619038B1 KR100619038B1 (ko) 2006-09-01

Family

ID=37105884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040052318A KR100619038B1 (ko) 2004-07-06 2004-07-06 펌웨어가 내장된 멀티미디어 장치

Country Status (1)

Country Link
KR (1) KR100619038B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100818924B1 (ko) * 2006-05-03 2008-04-04 삼성전자주식회사 소프트웨어 모듈의 조합을 통해 dsp 코드를 생성하는장치 및 그 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149536A (ja) * 2000-11-07 2002-05-24 Canon Inc 通信端末装置、プログラム更新方法及び記憶媒体
KR20010044634A (ko) * 2001-03-13 2001-06-05 김형석 멀티 코덱 업그레이드가 가능한 '디지털 음향 녹음재생장치' 및 인터넷서버를 통한 서비스 방법
KR20040008007A (ko) * 2002-07-15 2004-01-28 에임텍 주식회사 무선단말기 펌웨어 업그레이드 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100818924B1 (ko) * 2006-05-03 2008-04-04 삼성전자주식회사 소프트웨어 모듈의 조합을 통해 dsp 코드를 생성하는장치 및 그 방법

Also Published As

Publication number Publication date
KR100619038B1 (ko) 2006-09-01

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
KR20030032257A (ko) 프로그램 갱신 방법 및 이에 적합한 장치
JP2006040511A (ja) マルチメディアコンテンツ再生装置、再生方法、生成装置、生成方法、及びそのマルチメディアコンテンツを記録した記録媒体
TW476046B (en) Dynamic detection of hardware configuration in a digital terminal
US20060015905A1 (en) Wireless communication system having program upgrade function and method thereof
JP2007094939A (ja) 情報処理装置、情報処理方法及びそのプログラム
JP3860428B2 (ja) 画像記録装置
KR100619038B1 (ko) 펌웨어가 내장된 멀티미디어 장치
JP2011154710A (ja) 情報担体からのデータ読出
KR20060055521A (ko) 디지털 미디어 카트리지 시스템 및 방법
US7519272B2 (en) Video and audio data recording and/or reproducing apparatus having lock setting function and control method thereof
EP1401206A2 (en) Stream Data Processing Apparatus
US20120059961A1 (en) System and method for sharing memory
EP1523191B1 (en) Content Recording Method, System and Computer Program
KR20090128195A (ko) 미디어파일의 데이터 포맷 변환장치 및 방법
KR20070058041A (ko) 코덱 다운로드 가능한 광디스크 재생 장치 및 그 제어 방법
KR20000034254A (ko) 디지탈 텔레비젼에서의 프로그램 업그레이드 장치
JP3849137B2 (ja) ディジタル放送受信機
US20040025012A1 (en) System for processing coded content and associated decoding instructions on a removable storage medium
KR20040018712A (ko) 방송수신장치 및 그 제어방법
JP2007067949A (ja) 画像再生システム、画像再生装置、撮像装置及び情報処理装置
US7113113B2 (en) Reproduction apparatus
KR100617565B1 (ko) 이동단말기의 컨텐츠 프리인스톨 방법
KR101009954B1 (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