KR20030063694A - Software upgrade apparatus and method for digital broadcasting receiver - Google Patents

Software upgrade apparatus and method for digital broadcasting receiver Download PDF

Info

Publication number
KR20030063694A
KR20030063694A KR1020020003943A KR20020003943A KR20030063694A KR 20030063694 A KR20030063694 A KR 20030063694A KR 1020020003943 A KR1020020003943 A KR 1020020003943A KR 20020003943 A KR20020003943 A KR 20020003943A KR 20030063694 A KR20030063694 A KR 20030063694A
Authority
KR
South Korea
Prior art keywords
oad
software
information
data
user
Prior art date
Application number
KR1020020003943A
Other languages
Korean (ko)
Other versions
KR100892311B1 (en
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 KR1020020003943A priority Critical patent/KR100892311B1/en
Publication of KR20030063694A publication Critical patent/KR20030063694A/en
Application granted granted Critical
Publication of KR100892311B1 publication Critical patent/KR100892311B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE: An apparatus and a method for upgrading software of a digital broadcasting receiver are provided to improve the utilization of the digital broadcasting receiver by upgrading software without a user's operation. CONSTITUTION: An MPEG(Moving Picture Experts Group) 2 receiving unit(1) receives transport streams including an application transmitted from a broadcasting company. An MPEG 2 section unit(2) separates section data from the transport streams. A DSM-CC(Digital Storage Media-Common and Control)(3) extracts a file to be used for an MHEG(Multimedia and Hypermedia information coding Experts Group) engine from the received application. An ASN. 1(Abstract Syntax Notation One) decoder(4) decodes the extracted file according to a transfer protocol for obtaining data to be used for MHEG. A digital broadcasting processing unit(5) processes digital video broadcasting information. An OAD(Over Air Download) engine(6) detects upgraded software in the transport streams for upgrading software installed inside a digital broadcasting receiver. An OAD application program interface unit(8) automatically receives the updated software in the transport streams for detecting the information for upgrading the software without operation of a user.

Description

디지털 방송 수신기의 소프트웨어 업그레이드 장치 및 방법{SOFTWARE UPGRADE APPARATUS AND METHOD FOR DIGITAL BROADCASTING RECEIVER}Software upgrade apparatus and method of digital broadcasting receiver {SOFTWARE UPGRADE APPARATUS AND METHOD FOR DIGITAL BROADCASTING RECEIVER}

본 발명은 디지털 방송 수신기의 소프트웨어 업그레이드 장치 및 방법에 관한 것으로, 특히 API를 이용하여 엠헥엔진의 기능을 확장하고, 이를 통해 오버에어 다운로드를 사용하기 위한 스펙을 정의하여, 디지털 방송수신기의 소프트웨어를 업그레이드 시킬 수 있도록 하는 디지털 방송 수신기의 소프트웨어 업그레이드 장치 및 방법에 관한 것이다.The present invention relates to a software upgrade apparatus and method for a digital broadcast receiver, and in particular, to extend the function of the M-Heng engine using an API, and to define a specification for using the over-air download through this, to upgrade the software of the digital broadcast receiver The present invention relates to an apparatus and method for upgrading a software of a digital broadcast receiver.

종래 디지털 방송수신기는 제품이 출시될 당시에 적당한 프로그램을 내장하여 출시된다. 이때 프로그램은 사용자 인터페이스 등 디지털 방송수신기와 사용자 사이, 또는 디지털 방송수신기 자체의 동작을 제어하기 위한 것이며, 사용환경의 변화에 따라 또는 보다 그 성능을 향상시킬 수 있는 프로그램의 업그레이드가 필요하게 된다.Conventional digital broadcast receivers are released by embedding a suitable program at the time of product release. At this time, the program is for controlling the operation of the digital broadcast receiver and the user, such as a user interface, or the digital broadcast receiver itself, and it is necessary to upgrade the program to improve the performance according to the change of the use environment.

이와 같이 종래 디지털 방송수신기의 소프트웨어를 업그레이드 하기 위해서는 그 디지털 방송수신기를 제조한 제조사의 서비스맨이 직접 소프트웨어를 업그레이드 시키거나, 사용자가 제조사의 웹사이트 등에 접속하여 다운로드 받아 업그레이드 하거나, 방송신호에 각 제조사의 소프트웨어를 포함시켜 그 전송되어진 방송신호로 부터 방송수신기 자체에서 그 소프트웨어를 추출하여 자동으로 업그레이드 하는 방식을 사용하고 있다.Thus, in order to upgrade the software of a conventional digital broadcast receiver, the serviceman of the manufacturer who manufactures the digital broadcast receiver may upgrade the software directly, or the user may download and upgrade by accessing the manufacturer's website or the like. Including the software of the software, the broadcast receiver itself extracts the software from the transmitted broadcast signal and uses the method of upgrading automatically.

이처럼 방송신호에 포함된 업데이트된 소프트웨어를 추출하여 수신기의 소프트웨어를 업그레이드 시키는 방법을 오버 에어 다운로드(OVER AIR DOWNLOAD: 이하 OAD)라고 한다.The method of upgrading the software of the receiver by extracting the updated software included in the broadcast signal is called OVER AIR DOWNLOAD (hereinafter referred to as OAD).

이와 같은 종래 오버 에어 다운로드 방식의 디지털 방송수신기의 소프트웨어 업그레이드 방법을 좀 더 상세히 설명한다.The software upgrade method of the conventional over-air download type digital broadcast receiver will be described in more detail.

도1은 종래 OAD 방식의 소프트웨어 업그레이드 방법을 보인 모식도로서, 이에 도시한 바와 같이 먼저, 디지털 방송수신기 제조업체에서는 그 디지털 방송 수신기에 적용되는 업그레이드된 소프트웨어를 OC 프로토콜(Object Carousel protocol)로 인코딩하여 제공한다.FIG. 1 is a schematic diagram showing a conventional software upgrade method of an OAD method. As shown in the drawing, first, a manufacturer of a digital broadcast receiver encodes and provides upgraded software applied to the digital broadcast receiver using an object carousel protocol (OC protocol). .

이와 같이 제공된 OAD 소프트웨어이 OC 인코딩된 스트림은 방송국(10)의 방송 스트림(A/W strean)과 데이터 방송 및 프로그램 인덱스를 위한 데이터 스트림(data stream)과 멀티플랙싱되어 전송된다.The OC-encoded stream provided by the OAD software is thus multiplexed with a broadcast stream (A / W strean) of the broadcasting station 10 and a data stream for data broadcast and program index.

그 다음, 상기 방송국(10)에서 전송되는 스트림은 중계기(20)를 통해 사용자의 디지털 방송 수신기(30)에서 수신되어 방송신호외에 포함된 업그레이드된 소프트웨어를 추출하여 소프트웨어를 업그레이드 시키게 된다.Then, the stream transmitted from the broadcasting station 10 is received by the digital broadcast receiver 30 of the user through the repeater 20 to extract the upgraded software included in addition to the broadcast signal to upgrade the software.

일반적으로 엠헥(MHEG, Multimedea and Hypermedia information coding Experts Group)은 멀티미디어와 하이퍼미디어 데이터 기술의 표준으로 멀티미디어와 하이퍼미디어의 제어, 포맷, 동기, 다중화 방식 등을 표준화하는 ISO의 위원회 또는 그 위원회가 정한 동화상의 국제표준을 말한다.In general, MHEG (Multimedea and Hypermedia information coding Experts Group) is a standard for multimedia and hypermedia data technology. International standard.

이는 MPEG 시스템의 상위 개념으로 멀티미디어 데이터의 표준화는 물론 정지 화면과 문자를 링크하는 하이퍼미디어의 표준화까지 대상으로 하고 있다.This is a higher concept of MPEG system, and it is aimed not only for standardizing multimedia data but also for standardizing hypermedia linking still images and text.

하이퍼미디어란 하이퍼텍스트의 확장된 개념으로서 문자뿐만 아니라 소리, 애니메이션, 그래픽, 비디오, 정지화상, 동화상 등으로 혼합한 형태를 나타내기 위한 방법이다.Hypermedia is an extended concept of hypertext and is a method for representing not only text but also sound, animation, graphics, video, still images, moving images, and the like.

MHEG 표준은 각각 다른 형태의 미디어 객체들을 묶어 하나의 구조체로 제공할 수 있으며, 이 객체들의 집합 형태를 취한다. MHEG 문서는 하나의 파일이며 그 안에 여러 매체 조각들 사이의 동기화 정보를 담고 있다. 각각의 매체 조각들은 별도의 파일로 존재할 수도 있고, MHEG 파일 안에 포함되어 존재할 수도 있다.The MHEG standard can combine different types of media objects and provide them as a structure, which takes the form of a set of objects. An MHEG document is a file that contains synchronization information between several pieces of media. Each piece of media may exist in a separate file or may be included in an MHEG file.

상기와 같은 매체들을 관리하기 위해 MHEG은 객체지향 프로그래밍의 방법을 사용한다. MHEG 파일은 별도의 변환 등을 거치지 않고 모든 시스템에서 사용될 수 있다. 즉, 교환형식의 표준이 되는 것이다. 또한 MHEG 파일은 컴파일된 것이기 때문에 보통의 프로그램과 마찬가지로 역공학이 힘들다.To manage such media, MHEG uses a method of object-oriented programming. MHEG files can be used on any system without any conversion. That is, it becomes a standard of exchange form. Also, because MHEG files are compiled, they are hard to reverse engineer like regular programs.

MHEG 문서를 해석하고 구동시켜 주는 재생기를 MHEG 엔진이라 부르는데 MHEG 문서를 해석하여 실시간 이미지를 만들어놓고 실행한다. 기본적인 표기법은 추상구문기법.1(이하, ASN.1)을 기반으로 하며 SGML에 기반한 MHEG 표기법에 관한 표준화 작업도 수행되고 있다. MHEG은 MPEG, JPEG, JBIG과 더불어 정보 암호화의 4대 ISO 표준이다.The player that interprets and runs the MHEG document is called the MHEG engine. It interprets the MHEG document and creates and executes a real-time image. The basic notation is based on Abstract Syntax Technique.1 (hereafter ASN.1), and standardization of MHEG notation based on SGML is being performed. MHEG is the four ISO standards for information encryption, along with MPEG, JPEG and JBIG.

종래 MHEG-5 엔진은 방송사업자에 의해 송신되는 어플리케이션을 수신하여, 시청자가 볼수 있는 형태의 데이터로 디코딩하여, 디스플레이 장치에 표시하는 역할만을 수행하며, 이와 같은 종래 MHEG 엔진을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.The conventional MHEG-5 engine receives an application transmitted by a broadcaster, decodes the data into a form that can be viewed by a viewer, and plays a role of displaying it on a display device. The conventional MHEG engine is described with reference to the accompanying drawings. It will be described in detail as follows.

도2는 종래 디지털 방송 수신기에 포함된 MHEG 엔진의 구성도로서, 이에 도시한 바와 같이 방송사업자로 부터 송신된 어플리케이션이 포함된 트랜스포트 스트림(TS)을 인가받는 MPEG2 수신부(1)와; 상기 트랜스포트 스트림(TS)에서 섹션데이터를 분리하는 MPEG2 섹션부(2)와; 상기 수신된 어플리케이션에서 MHEG엔진에서 사용할 파일을 추출하는 디지털저장매체 명령 제어부(3,이하, DSM-CC)와; 상기 추출된 파일을 전송규약에 따라 디코딩하여 MHEG에서 사용할 데이터를 획득하는 ASN.1 디코더(4)와; 디지털 비디오 방송 정보를 처리하는 디지털 비디오 방송 처리부(5)와; 상기 트랜스포트 스트림(TS)에 포함된 업그레이드된 소프트웨어를 검출하여 디지털 방송 수신기에 내장된 소프트웨어를 업그레이드시키는 OAD엔진(6)으로 구성된다.FIG. 2 is a block diagram of an MHEG engine included in a conventional digital broadcast receiver. As shown therein, an MPEG2 receiver 1 receives a transport stream TS including an application transmitted from a broadcaster; An MPEG2 section section (2) for separating section data in the transport stream (TS); A digital storage medium command controller (3, hereinafter referred to as DSM-CC) for extracting a file to be used by the MHEG engine in the received application; An ASN.1 decoder (4) for decoding the extracted file according to a transmission protocol to obtain data for use in an MHEG; A digital video broadcast processor 5 for processing digital video broadcast information; The OAD engine 6 detects upgraded software included in the transport stream TS and upgrades the software embedded in the digital broadcast receiver.

즉, 상기 방송국(10)에서는 어플리케이션을 상기 MHEG규격의 문법에 맞게 기술하고, 이를 전송규약인 ASN.1에 따라 인코딩한 후, 다시 MPEG-2로 압축한 섹션데이터를 트랜스포트 스트림(TS)에 실어서 전송하게 된다.That is, the broadcasting station 10 describes the application according to the grammar of the MHEG standard, encodes it according to ASN.1, which is a transmission protocol, and then compresses the section data, which is compressed with MPEG-2, to the transport stream (TS). It will be loaded and sent.

이때, 전송되는 트랜스포트 스트림(TS)에는 업그레이드된 소프트웨어가 포함된다.At this time, the transport stream (TS) transmitted includes upgraded software.

상기 OAD엔진(6)에서는 그 트랜스포트 스트림(TS)에 포함된 소프트웨어를 검출하여 이를 이용해 디지털 방송수신기의 소프트웨어를 업그레이드 시키게 된다.The OAD engine 6 detects software included in the transport stream TS and upgrades the software of the digital broadcast receiver using the software.

이러한 오버 에어 소프트웨어(OVER AIR SOFTWARE)와 관련된 스펙은 DVB스펙에 기준하며, 좀 더 세부적으로 영국의 시장에 제품을 출시하는 제조업자 그룹(MANUFACTURER'S GROUP)에서 제안된 스펙을 따른다.The specifications associated with this OVER AIR SOFTWARE are based on the DVB specification and follow the specifications proposed by the MANUFACTURER'S GROUP, which will bring the product to the UK market in more detail.

또한, 상기 OC포맷은 UK DTT에 제안된 "digital terretrial television MHEG-5 specifiction v1.04.4"를 따른다.In addition, the OC format follows the "digital terretrial television MHEG-5 specifiction v1.04.4" proposed in the UK DTT.

상기 UK DTT의 OC 스펙에서 OAD를 하기 위해서는 DSI(DOWNLOAD SERVER INITIATE) 메세지의 정의 되지 않은 영역을 제조업자 정보 스트럭쳐(MANUFACTURER INFORMATION STRUCTURE)로 정의해서 사용한다.In order to perform OAD in the OC specification of the UK DTT, an undefined area of a DSI (DOWNLOAD SERVER INITIATE) message is defined as a MANUFACTURER INFORMATION STRUCTURE.

즉, 각 제조업자가 제공하는 OAD를 해당하는 디지털 텔레비전에서만 적용하여 업그레이드를 수행할 수 있도록 하는 정의를 기재한다.That is, a definition is made so that the upgrade can be performed by applying the OAD provided by each manufacturer only to the corresponding digital television.

도3은 상기 DSI의 구조도로서, 이에 도시한 바와 같이 상기 문법영역중 privatDataByte 영역에는 서비스 게이트웨이(service gateway)의 정보가 들어간다.3 is a structural diagram of the DSI. As shown in the figure, information of a service gateway is contained in a privatDataByte area of the grammar area.

서비스 게이트웨이의 구조는 도4에 표시하였다.The structure of the service gateway is shown in FIG.

상기 도4에서 userInfo_data는 현재 DTT호환의 디지털 방송 수신기에서는 무시할 수 있으나, OAD를 수행하기 위해서는 이영역에 MIS(Manufacturer Information Structure)를 사용하게 된다.In FIG. 4, userInfo_data can be ignored in a DTT compatible digital broadcast receiver. However, MIS (Manufacturer Information Structure) is used in this area to perform OAD.

도5에는 상기 MIS의 구조를 표시하였다.5 shows the structure of the MIS.

상기 도5에서 manufacturer specific data에는 제조업체가 필요한 정보를 저장하여 업그레이드를 실시하려는 소프트웨어의 정보를 삽입하게 된다.In FIG. 5, manufacturer specific data stores information necessary for the manufacturer to insert information of software to be upgraded.

종래 상기 manufacturer specific data영역에는 디스크립터(descriptor) 포맷을 사용하여 제조업자가 필요한 정보를 삽입하게 된다.Conventionally, the manufacturer inserts necessary information into the manufacturer specific data area using a descriptor format.

상기 제조업자의 정보는 현재 선택적 다운로드 슬롯 기술자(optional download slot descriptor), 다음 선택적 다운로드 스롯 기술자(optional downloadslot descriptor), 구체적 선택적 다운로드 기술자(optional download priority descriptor), 선택적 사용자 정보(optional user information), 0x80~0xFF값의 기술자를 이용한 제조업자의 구체적인 부가 데이터(Manufacturers can add manufacturer specific data using descriptor values 0x80~0xFF)로 이루어진다.The manufacturer's information is currently optional download slot descriptor, optional download slot descriptor, optional download priority descriptor, optional user information, 0x80 ~ Manufacturers can add manufacturer specific data using descriptor values 0x80 to 0xFF.

이와 같은 구조의 MIS를 수신한 디지털 방송수신기는 사용자에게 업그레이드된 소프트웨어를 전달 받았으며, 그 소프트웨어를 업그레이드 할 것인가를 사용자에게 질의하게 된다.The digital broadcast receiver receiving the MIS having such a structure receives the upgraded software from the user and asks the user whether to upgrade the software.

사용자는 그 소프트웨어를 업그레이드 할 것이면, 리모트 콘트롤러를 조작하여 소프트웨어의 업그레이드를 실시한다.If you upgrade the software, operate the remote controller to upgrade the software.

이와 같이 소프트웨어를 업그레이드 하라는 명령을 내리면 디지털 방송수신기는 방송의 표시를 중단하고, 소프트웨어를 업그레이드 시킨 후, 전원을 자동으로 리셋하여 재부팅 과정을 거치게 된다.When the software upgrade command is given, the digital broadcast receiver stops displaying the broadcast, upgrades the software, and automatically resets the power and reboots.

이로 인하여, 사용자는 그 소프트웨어를 업그레이드 시키기 위해서는 일정한 시간동안 디지털 방송을 시청할 수 없으며, 관심있는 디지털 방송을 시청하는 동안 소프트웨어를 업그레이드 시키지 않음을 선택하면, 차후에 다시 소프트웨어를 업그레이드 시킬 것인가 하는 질의를 받게 된다.Because of this, the user cannot watch the digital broadcast for a certain period of time to upgrade the software, and if the user chooses not to upgrade the software while watching the digital broadcast of interest, the user is asked whether to upgrade the software later. .

이처럼 종래 디지털 방송 수신기의 소프트웨어 업그레이드 장치 및 방법은 방송신호와 함께 수신된 업그레이드된 소프트웨어를 추출하여, 그 추출된 소프트웨어를 사용하여 소프트웨어 업그레이드를 수행하며, 이 과정에서 사용자의 업그레이드 확인등 사용자의 조작이 필요로 하고, 그 업그레이드 과정에서는 방송신호를 표시할 수 없도록 되어 있어, 그 사용효율이 감소하는 문제점이 있었다.As such, the software upgrade apparatus and method of the conventional digital broadcasting receiver extracts the upgraded software received along with the broadcast signal, and performs the software upgrade using the extracted software. In the upgrade process, it is not possible to display a broadcast signal, and there is a problem in that its use efficiency is reduced.

상기와 같은 문제점을 감안한 본 발명은 사용자의 조작없이 방송을 시청하는 중에 소프트웨어를 업그레이드 시키거나, 특정한 시간대를 예약하여 소프트웨어를 업그레이드 시키는 등 그 업그레이드 방식을 유연하게 변환시킬 수 있는 디지털 방송 수신기의 소프트웨어 업그레이드 장치 및 방법을 제공함에 그 목적이 있다.In view of the above problems, the present invention provides a software upgrade of a digital broadcast receiver capable of flexibly converting the upgrade method such as upgrading the software while watching a broadcast without user's operation, or upgrading the software by reserving a specific time zone. It is an object of the present invention to provide an apparatus and method.

도1은 종래 OAD 방식의 소프트웨어 업그레이드 방법을 보인 모식도.Figure 1 is a schematic diagram showing a software upgrade method of the conventional OAD method.

도2는 종래 디지털 방송 수신기에 포함된 MHEG 엔진의 구성도.2 is a block diagram of an MHEG engine included in a conventional digital broadcast receiver.

도3은 도2에 있어서, DSI의 구조도.3 is a structural diagram of a DSI in FIG.

도4는 서비스 게이트웨이의 구조도.4 is a structural diagram of a service gateway;

도5는 MIS의 구조도.5 is a structural diagram of MIS.

도6은 본 발명 디지털 방송 수신기의 소프트웨어 업그레이드 장치의 블록도.6 is a block diagram of a software upgrade apparatus of the digital broadcast receiver of the present invention.

도7은 본 발명 디지털 방송 수신기의 소프트웨어 업그레이드 방법의 순서도.7 is a flowchart of a software upgrade method of the digital broadcast receiver of the present invention.

*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

1:MPEG2 수신부2:MPEG2 섹션부1: MPEG2 receiver 2: MPEG2 section

3:디지털저장매체 명령 제어부4:ASN.1 디코더3: Digital storage medium command control unit 4: ASN.1 decoder

5:디지털 비디오 방송 처리부6:OAD 엔진5: Digital video broadcasting processing part 6: OAD engine

7:상주 프로그램 인터페이스8:OAD 응용 프로그램 인터페이스7: Resident Program Interface 8: OAD Application Interface

상기와 같은 목적은 사용자의 설정에 따라 소프트웨어를 전송받아 그 정보와 현재 설치된 소프트웨어의 정보를 검출하여, 이를 판단하여 자동으로 OAD 엔진을 구동하여, 안정적으로 소프트웨어를 다운로드 받으며, 그 다운로드가 완료되면 미디어에 다운로드된 업그레이드된 소프트웨어를 저장하도록 하는 OAD 응용 프로그램 인터페이스를 포함하여 구성함으로써 달성되는 것으로, 이와 같은 본 발명을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.The purpose of the above is to receive the software according to the user's settings, detect the information and the information of the currently installed software, determine this and automatically drive the OAD engine, and download the software stably, when the download is completed, the media It is achieved by including an OAD application program interface for storing the upgraded software downloaded to the, as described in detail with reference to the accompanying drawings, the present invention.

도6은 본 발명 디지털 방송 수신기의 소프트웨어 업그레이드 장치의 블록도로서, 이에 도시한 바와 같이 방송사업자로 부터 송신된 어플리케이션이 포함된 트랜스포트 스트림(TS)을 인가받는 MPEG2 수신부(1)와; 상기 트랜스포트 스트림(TS)에서 섹션데이터를 분리하는 MPEG2 섹션부(2)와; 상기 수신된 어플리케이션에서 MHEG엔진에서 사용할 파일을 추출하는 디지털저장매체 명령 제어부(3,이하, DSM-CC)와; 상기 추출된 파일을 전송규약에 따라 디코딩하여 MHEG에서 사용할 데이터를 획득하는 ASN.1 디코더(4)와; 디지털 비디오 방송 정보를 처리하는 디지털 비디오방송 처리부(5)와; 상기 트랜스포트 스트림(TS)에 포함된 업그레이드된 소프트웨어를 검출하여 디지털 방송 수신기에 내장된 소프트웨어를 업그레이드시키는 OAD엔진(6)과; 상기 디지털 비디오 방송 처리부(5)에 내장되어 설정된 시간 또는 설정된 상황에 따라 상기 OAD엔진(6)을 구동하여 업그레이드된 소프트웨어를 전송받는 상주 프로그램 인터페이스(7)와; 상기 업데이트된 소프트웨어를 자동으로 전송받아 그 정보를 검출하여 사용자의 개입 없이 소프트웨어를 업그레이드시키는 OAD 응용 프로그램 인터페이스(8)로 구성된다.Fig. 6 is a block diagram of a software upgrade apparatus of a digital broadcasting receiver of the present invention, and as shown therein, an MPEG2 receiver 1 for receiving a transport stream TS including an application transmitted from a broadcaster; An MPEG2 section section (2) for separating section data in the transport stream (TS); A digital storage medium command controller (3, hereinafter referred to as DSM-CC) for extracting a file to be used by the MHEG engine in the received application; An ASN.1 decoder (4) for decoding the extracted file according to a transmission protocol to obtain data for use in an MHEG; A digital video broadcast processor 5 for processing digital video broadcast information; An OAD engine (6) for detecting upgraded software included in the transport stream (TS) and upgrading the software embedded in the digital broadcast receiver; A resident program interface (7) embedded in the digital video broadcasting processing unit (5) to receive the upgraded software by driving the OAD engine (6) according to a set time or set situation; It consists of an OAD application program interface 8 which automatically receives the updated software and detects the information to upgrade the software without user intervention.

이하, 상기와 같은 본 발명을 좀 더 상세히 설명한다.Hereinafter, the present invention as described above will be described in more detail.

먼저, 상기 OAD 응용 프로그램 인터페이스(APPLICATION PROGRAMMING INTERFACE, 8)는 디지털 방송 수신기의 소프트웨어 정보를 검출하고, 트랜스포트 스트림(TS)에 업데이트된 소프트웨어가 포함되어 있는지 확인하며, 그 확인 결과 소프트웨어를 업그레이드 할 필요가 있으면, 그 트랜스포트 스트림(TS)으로 부터 그 업데이트된 소프트웨어의 이미지를 추출하여 상기 OAD엔진(6)에서 그 소프트웨어를 업데이트할 수 있도록 한다.First, the OAD application program interface (APPLICATION PROGRAMMING INTERFACE) 8 detects the software information of the digital broadcasting receiver, checks whether the updated stream is included in the transport stream (TS), and as a result, it is necessary to upgrade the software. If present, the image of the updated software is extracted from the transport stream TS so that the OAD engine 6 can update the software.

또한, 상기 상주 프로그램 인터페이스(7)는 사용자의 설정에 의해 정해진 시간, 또는 특정 조건에 부합하는 시점에서 상기 OAD엔진(6)을 제어하여 소프트웨어를 업데이트한다.In addition, the resident program interface 7 updates the software by controlling the OAD engine 6 at a time determined by a user's setting or at a time when a specific condition is met.

이와 같은 과정 및 OAD 응용 프로그램 인터페이스(8)의 구성을 예를 들어 보다 상세히 설명한다.This process and the configuration of the OAD application program interface 8 will be described in more detail by way of example.

도7은 본 발명에 적용되는 OAD 응용 프로그램 인터페이스(8)의 동작 순서도로서, 이에 도시한 바와 같이 OAD 서비스 모듈을 실행하고, 현재 디지털 방송 수신기에 내장된 소프트웨어의 현재 버전을 검출하는 단계와; 전송되는 OAD의 소프트웨어 버전을 검출하고, 그 검출된 소프트웨어의 버전과 현재 소프트웨어의 버전을 비교하여, 현재 소프트웨어가 신버전이면 OAD 서비스 모듈의 동작을 종료하는 단계와; 상기 비교결과 현재 소프트웨어가 구버전이면, 디지털 방송수신기의 모델명을 검출하고, 그 검출된 모델이 지원하는 모듈 및 버전정보를 검출하는 단계와; 상기 트랜스포트 스트림(TS)에 OAD서비스가 존재하는지 판단하여 존재하지 않으면 종료하는 단계와; 상기 트랜스포트 스트림(TS)에 OAD서비스가 존재하면 OAD엔진에 등록하고, 그 트랜스포트 스트림(TS)으로 부터 OAD데이터를 필터링하여 OAD를 시작하는 단계와; 상기 OAD의 데이터에서 오류를 검출하여 오류가 없으면 소프트웨어를 업그레이드하고, OAD 모듈의 동작을 종료시키는 단계로 이루어진다.7 is an operation flowchart of the OAD application program interface 8 applied to the present invention, which executes the OAD service module as shown in the figure, and detects the current version of the software embedded in the current digital broadcast receiver; Detecting a software version of the transmitted OAD, comparing the detected software version with the current software version, and terminating the operation of the OAD service module if the current software is a new version; Detecting the model name of the digital broadcast receiver and detecting the module and version information supported by the detected model if the current software is an old version as a result of the comparison; Determining whether an OAD service exists in the transport stream (TS) and terminating if it does not exist; Registering an OAD service in the transport stream (TS) and starting the OAD by filtering the OAD data from the transport stream (TS); Detecting an error in the data of the OAD, if there is no error, the software is upgraded, and the operation of the OAD module is terminated.

상기와 같은 동작은 OAD 응용 프로그램 인터페이스(8)에서 자동으로 실행하는 과정이며, 사용자의 제어에 따라 정해진 시간에 자동으로 소프트웨어를 업그레이드하는 과정은 상기 상주 프로그램 인터페이스(7)에서 제어한다.The above operation is a process that is automatically executed in the OAD application program interface 8, and the process of automatically upgrading the software at a predetermined time under the control of the user is controlled by the resident program interface 7.

상기 OAD 응용 프로그램 인터페이스(8)를 구체적으로 살펴보면 다음과 같다.The OAD application program interface 8 will now be described in detail.

표1은 상기 도7에서 OAD 모듈을 실행시켜, OAD 서비스를 실행하기 위한 OAD 응용 프로그램 인터페이스로서, 이에 도시한 바와 같이 입출력신호, 그 타입, 이름, 코멘트가 정의된다.Table 1 shows an OAD application program interface for executing an OAD service by executing the OAD module in FIG. 7, and an input / output signal, its type, a name, and a comment are defined as shown.

HANDLE OAD_ServiceOpen(void); - OAD_ServiceOpenHANDLE OAD_ServiceOpen (void); OAD_ServiceOpen in/outin / out typetype namename commentcomment outputoutput GenericInteger(shall provide an IndirectReference to an IntergerVariable)GenericInteger (shall provide an IndirectReference to an IntergerVariable) handlehandle this integer is a receiver-specific identifier fo specific OAD streamthis integer is a receiver-specific identifier fo specific OAD stream

상기 표1을 포함하여 아래에 기술하는 표에 기재된 OAD 응용 프로그램 인터페이스에 사용하는 타입을 정리하면 다음과 같다.The type used for the OAD application program interface described in the table below including Table 1 is summarized as follows.

HANDLE: 개발시 내부적인 구조체를 사용한다.HANDLE: Use internal structures for development.

ReturnCode: 동작이 정상적으로 수행되는지 판단하기 위한 구조체이며, 일반적으로 INTEGER형태의 변수타입을 사용한다.ReturnCode: This structure is used to determine whether the operation is normally performed. In general, a variable type of INTEGER type is used.

VersionInfo: 디지털 방송 수신기의 소프트웨어 버전정보를 획득하는 것으로, 스트링 형태를 가지며, 각각의 버전 필드는 특수문자로 구분된다.VersionInfo: Acquires software version information of a digital broadcast receiver, which has a string form, and each version field is separated by a special character.

IEEEOUI: IEEE OUI(ORGANIZATION UNIQUE IDENTIFIER)를 정의하는 3바이트 값이며, 본 발명에서는 이를 INTEGER 타입으로 정의하여 사용한다.IEEEOUI: A three-byte value defining IEEE OUI (ORGANIZATION UNIQUE IDENTIFIER). In the present invention, this is defined and used as an INTEGER type.

EventList: 이벤트의 집합이며, 이벤트는 프로그램의 동작중에 시스템 및 모듈이 제공하는 비동기적인 상태 값이며, 이는 개발시의 내부적인 구조체로 정의한다.EventList: A collection of events, which are asynchronous state values provided by the system and modules during the program's operation. These are defined as internal structures during development.

MuxInfo: 트랜스포트 스트림의 멀티플렉싱 정보를 저장하는 구조체이다. 이는 개발 내부적인 구조체를 따른다.MuxInfo: This structure stores the multiplexing information of the transport stream. This follows the internal structure of development.

ExceptionType: 예외정보를 저장하는 구조체이며, 이역시 개발 내부적인 구조체를 따른다.ExceptionType: Structure that stores exception information. This also follows development internal structure.

ExceptionHandler: 상기 exception이 발생했을때 이와 관련된 처리를 수행하는 핸들러에 대한 포인터이다.ExceptionHandler: A pointer to a handler that performs the processing when the exception occurs.

표2는 OAD를 종료하기 위한 응용 프로그램 인터페이스이다.Table 2 shows the application program interface for terminating OAD.

void OAD_ServiceClose(HANDLE in_handle): -OAD_ServiceClosevoid OAD_ServiceClose (HANDLE in_handle): -OAD_ServiceClose in/outin / out typetype namename commentcomment outputoutput GenericIntegerGenericInteger handlehandle this integer is a receiver-specific identifier fo specific OAD streamthis integer is a receiver-specific identifier fo specific OAD stream

또한, 상기 도7에서 보여지는 디지털 방송 수신기에서 현재 사용하고 있는 소프트웨어의 버전을 획득하기 위해 아래의 표3에 나타낸 응용 프로그램 인터페이스를 사용한다.In addition, the application program interface shown in Table 3 below is used to obtain a version of software currently used in the digital broadcast receiver shown in FIG.

ReturnCode OAD_GetSystemVersion(VersionInfo*out_sysVersion); - OAD_GetSystemVersionReturnCode OAD_GetSystemVersion (VersionInfo * out_sysVersion); OAD_GetSystemVersion in/outin / out typetype namename commentcomment outputoutput GenericInteger(shall provide an IndirectReference to an OctetstringVariable)GenericInteger (shall provide an IndirectReference to an OctetstringVariable) SysVersionSysVersion this octet string includes all version fields of current systemthis octet string includes all version fields of current system outputoutput GenericInteger(shall provide an IndirectReference to an IntergerVariable)GenericInteger (shall provide an IndirectReference to an IntergerVariable) returnCodereturnCode Error code is carried by this systemError code is carried by this system

상기 소프트웨어의 현재 버전을 검출하는 과정은 제조업체에서 정한 버전정보 필드에서 버전정보를 읽어오게 된다.The process of detecting the current version of the software reads the version information from the version information field determined by the manufacturer.

그 다음, 상기 도7에 도시한 바와 같이 전송되고 있는 OAD의 소프트웨어 이미지의 버전정보를 확인하며, 이는 아래의 표4에 나타낸 응용 프로그램 인터페이스를 사용한다.Then, as shown in Fig. 7, the version information of the software image of the OAD being transmitted is checked, which uses the application program interface shown in Table 4 below.

ReturnCode OAD_GetOADSWVersion(HANDLE in_handle, VersionInfo*out_swVersion); -OAD_GetOADSWVersionReturnCode OAD_GetOADSWVersion (HANDLE in_handle, VersionInfo * out_swVersion); -OAD_GetOADSWVersion in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle This integer is a receiver-specific identifier for specific OAD streamThis integer is a receiver-specific identifier for specific OAD stream outputoutput GenericInteger(shall provide an IndirectReference to an OctetstringVariable)GenericInteger (shall provide an IndirectReference to an OctetstringVariable) swVersionswVersion this octet string includes all version field of current OAD streamthis octet string includes all version field of current OAD stream outputoutput GenericInteger(shall provide an IndirectReference to an IntergerVariable)GenericInteger (shall provide an IndirectReference to an IntergerVariable) returnCodereturnCode Error code is carried by this variableError code is carried by this variable

현재 전송되고 있는 OAD의 소프트웨어 이미지의 버전정보를 상기와 같은 응용 프로그램 인터페이스를 통해 검출하고, 이를 상기 검출된 현재 소프트웨어의 버전과 비교하게 된다.Version information of the software image of the OAD currently being transmitted is detected through the application program interface as described above, and compared with the detected version of the current software.

이와 같은 비교결과 현재 소프트웨어의 버전과 OAD 소프트웨어 이미지의 버전정보가 동일하거나, 현재 소프트웨어의 버전이 더 상위버전인 경우 소프트웨어의 업그레이드 필요성이 없으며, 이에 따라 그 필요성이 없으면, 상기 표2에 나타낸 응용 프로그램 인터페이스를 사용하여, OAD모듈을 종료시킨다.As a result of this comparison, if the version information of the current software and the version information of the OAD software image are the same, or if the current software version is a higher version, there is no need to upgrade the software. Using the interface, exit the OAD module.

상기와 같이 검출된 버전을 비교하는 응용 프로그램 인터페이스(API)를 표5에 나타내었다.Table 5 shows an application program interface (API) for comparing the detected versions as described above.

ReturnCode OAD_CheckCompatibility(HANDLE in_handle, VersionInfo*in_sysVersion, boolean*out_needUpgrade);ReturnCode OAD_CheckCompatibility (HANDLE in_handle, VersionInfo * in_sysVersion, boolean * out_needUpgrade); in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle This integer is a receiver-specific identifier for specific OAD streamThis integer is a receiver-specific identifier for specific OAD stream inputinput GenericOctetStringGenericOctetString sysVersionsysVersion this octet string include all version field of current systemthis octet string include all version field of current system outputoutput GenericBoolean(shall provide an IndirectReference to an BooleanVariable)GenericBoolean (shall provide an IndirectReference to an BooleanVariable) needUpgradeneedUpgrade outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode Error code is carried by this variableError code is carried by this variable

상기와 같은 응용 프로그램 인터페이스를 사용하여 현재 시스템의 소프트웨어버전이 전송되는 소프트웨어의 버전보다 구버전인 경우, 업그레이드를 할 필요가 있으며, 그 업그레이드를 위해서는 현재 디지털 방송 수신기에 적합한 소프트웨어만을 선택하여 받을 필요가 있다.If the software version of the current system is older than the version of the transmitted software using the application program interface as described above, it is necessary to upgrade, and for the upgrade, it is necessary to select and receive only the software suitable for the current digital broadcasting receiver. .

이를 위해, 디지털 방송 수신기의 제조사 및 그 제조사의 고유 모델 정보를 검출하며, 그 검출에 관련된 응용 프로그램 인터페이스를 표6에 나타내었다.To this end, the manufacturer of the digital broadcast receiver and unique model information of the manufacturer are detected, and an application program interface related to the detection is shown in Table 6.

ReturnCode OAD_GetSystemOUInumber(IEEEEOUT*out_ouiNumber); - OAD_GetSystemOUInumberReturnCode OAD_GetSystemOUInumber (IEEEEOUT * out_ouiNumber); -OAD_GetSystemOUInumber in/outin / out typetype namename commentcomment outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) ouiNumberouiNumber outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode Error code is carried by this variableError code is carried by this variable

이는 디지털 방송 수신기가 어느 회사에서 개발된 것인지의 정보를 IEEE OUI(Organization Unique Identifier)값을 이용하여 알아내는 것이다.This is to find out which company the digital broadcast receiver was developed by using the IEEE OUI (Organization Unique Identifier) value.

이와 같이 제조사를 알아낸 후, 그 제조사의 모델에 따라 사용하는 소프트웨어가 다를 수 있으므로, 그 정확한 모델을 검출하게 되며, 이때의 응용 프로그램 인터페이스를 표7에 나타내었다.After identifying the manufacturer as described above, the software used may vary depending on the model of the manufacturer, and thus the correct model is detected, and the application program interface is shown in Table 7.

ReturnCode OAD_GetSystemModelName(char*out_modelName); - OAD_GetSystemModelNameReturnCode OAD_GetSystemModelName (char * out_modelName); OAD_GetSystemModelName in/outin / out typetype namename commentcomment outputoutput GenericOctetString(shall provide an IndirectReference to an OctetStringVariable)GenericOctetString (shall provide an IndirectReference to an OctetStringVariable) modelNamemodelName This octet string include model name of current systemThis octet string include model name of current system outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode Error code is carried by this variableError code is carried by this variable

이와 같이 디지털 방송 수신기의 제조사와 모델명을 검출하면, 트랜스포트 스트림(TS) 내에 포함된 업그레이드 된 소프트웨어 중, 해당하는 소프트웨어만을 검출하여 사용할 수 있다.As such, when the manufacturer and model name of the digital broadcast receiver are detected, only the corresponding software can be detected and used among the upgraded software included in the transport stream TS.

이를 위해서는 현재 검출된 디지털 방송 수신기의 모델명을 지원하는 모듈을먼저 검출해야 하며, 이때 사용하는 응용 프로그램 인터페이스를 표8에 나타내었다.To this end, the module supporting the model name of the currently detected digital broadcast receiver must be detected first, and the application program interface used is shown in Table 8.

in/outin / out typetype namename commentcomment outputoutput GenericOctetString(Shall provide an IndirectReference to an IntegerVariable)GenericOctetString (Shall provide an IndirectReference to an IntegerVariable) moduleNamesmoduleNames this octet string includes module names of current system. Each modules can be separated and identified by some fields divided by special charactersthis octet string includes module names of current system. Each modules can be separated and identified by some fields divided by special characters outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode Error code is carried by this variableError code is carried by this variable

상기 검출된 모듈은 각 제조사의 특정 모델에 따라 여러 모델이 하나의 모듈을 사용할 수 있고, 이때 제조사가 제공하는 소프트웨어는 각 모델에 따른 것이아니며, 기본적으로 모듈에 대한 소프트웨어이므로 각 모델의 모듈을 검출하여 그에 적당한 업그레이드된 소프트웨어를 다운로드 받을 수 있도록 한다.The detected module can use one module in several models according to a specific model of each manufacturer. In this case, the software provided by the manufacturer does not correspond to each model, and since the software is basically a module, the module of each model is detected. To download the appropriate upgrade software.

그 다음, 상기 검출된 모듈의 버전정보를 검출한다.Then, the version information of the detected module is detected.

그 버전정보의 검출을 위한 응용 프로그램 인터페이스를 표9에 나타내었다.Table 9 shows an application program interface for detecting version information.

ReturnCode OAD_GetSystemModuleVersion(char*in_moduleName, VersionInfo *out_moduleVersion) - OAD_GetSystemModuleVersionReturnCode OAD_GetSystemModuleVersion (char * in_moduleName, VersionInfo * out_moduleVersion)-OAD_GetSystemModuleVersion in/outin / out typetype namename commentcomment inputinput GenericOctetStringGenericOctetString moduleNamemoduleName outputoutput GenericOctetString(shall provide an IndrectReference to an OctetStringVariable)GenericOctetString (shall provide an IndrectReference to an OctetStringVariable) moduleVersionmoduleVersion this octet string includes all version fields of specific modulethis octet string includes all version fields of specific module outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariableGenericInteger (shall provide an IndirectReference to an IntegerVariable returnCodereturnCode Error code is carried by this variableError code is carried by this variable

상기와 같이 디지털 방송 수신기의 모듈 이름과 버전을 확인한 후, OAD 서비스를 지원하기 위해 트랜스포트 스트림(TS)에 OAD 서비스가 존재하는지 확인한다.After checking the module name and version of the digital broadcast receiver as described above, it is checked whether the OAD service exists in the transport stream (TS) to support the OAD service.

이때 OAD서비스가 존재하지 않으면, 상기 표2에 도시한 응용 프로그램 인터페이스를 사용하여 OAD 모듈을 클로즈 시킨다.At this time, if the OAD service does not exist, the OAD module is closed using the application program interface shown in Table 2.

아래의 표10은 OAD 서비스가 있는지 확인하는 응용 프로그램 인터페이스이다.Table 10 below shows the application program interface to check whether there is OAD service.

ReturnCode OAD_ServiceExits(HANDLE in_OADhandle, boolean*out_flags); - OAD_ServiceExitsReturnCode OAD_ServiceExits (HANDLE in_OADhandle, boolean * out_flags); OAD_ServiceExits in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle this integer is a receiver-specific identifier for specific OAD streamthis integer is a receiver-specific identifier for specific OAD stream outputoutput GenericBoolean(shall provide an IndirectReference to an BooleanVariable)GenericBoolean (shall provide an IndirectReference to an BooleanVariable) flagsflags outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode Error code is carried by this variableError code is carried by this variable

상기의 과정과 함께 상기 도7에는 나타내지 않았지만, 상기 OAD 응용 프로그램 인터페이스(8)에서는 항상 이벤트의 발생여부를 검출한다.Although not shown in FIG. 7 together with the above process, the OAD application program interface 8 always detects whether an event has occurred.

상기 서두에서 정의한 바와 같이 이벤트는 OAD를 실행하는중 디지털 방송 수신기 내에서는 비동기적으로 여러가지 상태의 변화가 발생하게 된다.As defined at the outset, an event causes various state changes asynchronously in the digital broadcast receiver during OAD.

이는 사용자의 제어일 수 있고, 디지털 방송 수신기 내에서 자체적으로 발생할 수도 있다. 이때 각각의 상태에 대하여 특별한 이벤트로 정의를 한다.This may be the control of the user or may occur within the digital broadcast receiver itself. At this time, each state is defined as a special event.

이때, 정의된 이벤트중 현재 어플리케이션이 수신할 필요가 있는 이벤트에 대해서는 OAD엔진(6)에 등록하기 위해 사용한다.At this time, the event which the current application needs to receive among the defined events is used to register in the OAD engine 6.

표11에 상기 이벤트의 발생을 검출하는 응용 프로그램 인터페이스를 나타내었다.Table 11 shows the application program interface for detecting the occurrence of the event.

ReturnCode OAD_SetNotifyEvent(EventList*in_eventList); - OAD_SetNotifyEventReturnCode OAD_SetNotifyEvent (EventList * in_eventList); OAD_SetNotifyEvent in/outin / out typetype namename commentcomment inputinput GenericOctetStringGenericOctetString eventListeventList this variable includes all events fields which is divided by special charactersthis variable includes all events fields which is divided by special characters outputoutput genericInteger(shall provide an IndirectReference to an IntegerVariable)genericInteger (shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode error code is carried by this variableerror code is carried by this variable

이와 같은 상태에서 현재의 OAD 모듈을 현재의 응용 프로그램 인터페이스를 통해 제어하고 있는 모듈로 전송하고, 시스템 OAD의 상황에 맞는 이벤트를 수신할모듈의 핸들(handle)값을 설정한다.In this state, the current OAD module is transmitted to the module controlling through the current application program interface, and the handle value of the module to receive the event appropriate to the system OAD is set.

ReturnCode OAD_SetEventListener(HANDLE in_handle, HANDLE in_handler); - OAD_SetEventListenerReturnCode OAD_SetEventListener (HANDLE in_handle, HANDLE in_handler); OAD_SetEventListener in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle inputinput GenericIntegerGenericInteger hadnlerhadnler outputoutput GenericInteger(shall provide an IndirectReference to an IntergerVariable)GenericInteger (shall provide an IndirectReference to an IntergerVariable) returnCodereturnCode error code is carried by this variableerror code is carried by this variable

상기와 같이 비동기적으로 발생하는 이벤트에 대한 처리 대책을 마련하고, OAD를 수행한다.As described above, a countermeasure for handling asynchronously occurring events is prepared and OAD is performed.

상기 OAD를 수행하기 위해서는 각 디지털 방송 수신기에 적당한 소프트웨어만을 다운 로드 받아야 하며, 상기 검출한 디지털 방송 수신기의 모델명, 그 모델명에 따른 모듈명과 버전을 이용한다.In order to perform the OAD, only appropriate software should be downloaded to each digital broadcast receiver, and the model name of the detected digital broadcast receiver and the module name and version according to the model name are used.

이때 다운로드 하는 소프트웨어는 방송국에서 멀티플랙싱된 정보(MuxInfo)를 판독하여, 그 멀티플랙싱된 모든 디지털 방송 수신기의 소프트웨어중 필요한 소프트웨어만을 필터링하여 받게 된다.At this time, the downloading software reads the multiplexed information (MuxInfo) from the broadcasting station, and receives only the necessary software from all the multiplexed digital broadcast receivers.

이와 같은 필터링 과정을 표13에 나타내었다.This filtering process is shown in Table 13.

ReturnCode OAD_TuneToOADServiceChannel(HANDLE in_handle, MUXinfo*in_targetMux, int in_targetPid); - OAD_TuneToOADServiceChannelReturnCode OAD_TuneToOADServiceChannel (HANDLE in_handle, MUXinfo * in_targetMux, int in_targetPid); -OAD_TuneToOADServiceChannel in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle inputinput GenericOctetStringGenericOctetString targetMuxtargetMux inputinput GenericIntegerGenericInteger targetPidtargetPid outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode error code is carried by this variableerror code is carried by this variable

상기와 같은 응용 프로그램 인터페이스를 사용하여 필터링된 업그레이드된 소프트웨어를 다운받기 시작하며, 그 다운로드되는 소프트웨어는 버퍼에 저장되며, 그 버퍼에 대한 기록을 저장하며, 이와 같은 다운로드 시작 및 그 다운로드 정보를 표시하는 응용 프로그램 인터페이스를 표14에 나타내었다.Using the above application program interface, the user can start downloading the filtered upgraded software, and the downloaded software is stored in a buffer, storing a record of the buffer, and displaying such download start and the download information. The application program interface is shown in Table 14.

ReturnCode OAD_StartDownload(HANDLE in_handle, char*in_swImageName, void*out_imageBuffer, int*out_sizeOfImage); - OAD_StartDownloadReturnCode OAD_StartDownload (HANDLE in_handle, char * in_swImageName, void * out_imageBuffer, int * out_sizeOfImage); -OAD_StartDownload in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle inputinput GenericOctetStringGenericOctetString swImageNameswImageName outputoutput GenericOctetString(shall provide an IndirectReference to an OctetStringVariable)GenericOctetString (shall provide an IndirectReference to an OctetStringVariable) imageBufferimageBuffer outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) sizeOfImagesizeOfImage outputoutput GenericInteger(shall provide an IndirecReference to an IntegerVariable)GenericInteger (shall provide an IndirecReference to an IntegerVariable) returnCodereturnCode error code is carried by this variableerror code is carried by this variable

상기와 같이 다운로드 받는 소프트웨어의 이미지는 버퍼에 저장되며, 상기 out_imageBuffer는 그 버퍼에 저장되는 위치를 기억하기 위한 변수이다. 또한 상기 out_sizeOfImage는 소프트웨어 이미지가 저장되는 버퍼의 크기를 정한다.The image of the software downloaded as described above is stored in a buffer, and the out_imageBuffer is a variable for storing the location stored in the buffer. The out_sizeOfImage also determines the size of the buffer in which the software image is stored.

이와 같이 버퍼에 일시적으로 저장하는 이유는 현재 OAD가 비동기적으로 동작하기 때문에 OAD가 완료된 상태에서만 그 프로그램의 업그레이드가 이루어지게 하기 위함이다.The reason for the temporary storage in the buffer is to upgrade the program only when the OAD is completed because the current OAD operates asynchronously.

만약, OAD와 동시에 소프트웨어를 업그레이드 시키면, 그 업그레이드과정에서 이벤트가 발생하여 종료되는 경우, 디지털 방송 수신기를 사용할 수 없게 되는 상황이 발생할 수 있다.If the software is upgraded at the same time as the OAD, a situation may occur in which the digital broadcast receiver cannot be used if an event occurs and ends during the upgrade process.

즉, 이벤트의 발생에 의해 상기 OAD동작을 중단 할 수 있으며, 이와 같은 인터럽트는 이벤트의 발생을 감지한 아래 표15에 나타낸 응용 프로그램 인터페이스에 의해 이루어진다.That is, the OAD operation may be stopped by the occurrence of an event, and such an interrupt may be performed by the application program interface shown in Table 15 below when the occurrence of the event is detected.

ReturnCode OAD_StopDownload(HANDLE in_handle); - OAD_StopDownloadReturnCode OAD_StopDownload (HANDLE in_handle); -OAD_StopDownload in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle this integer is a receiver-specific identifier for specific OAD streamthis integer is a receiver-specific identifier for specific OAD stream outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode error code is carried by this variableerror code is carried by this variable

이처럼 다운로드를 중지할 수 있으며, 그 다운로드 상태와 진행정도를 검출할 수 있다. 이때 상태의 검출은 status를 통해 확인하며, 이를 표16에 나타내었다.In this way, the download can be stopped, and the download status and progress can be detected. At this time, the detection of status is confirmed through status, and it is shown in Table 16.

ReturnCode OAD_GetDownloadStatus(HANDLE in_handle, OADSTATUS*out_status); - OAD_GetDownloadStatusReturnCode OAD_GetDownloadStatus (HANDLE in_handle, OADSTATUS * out_status); -OAD_GetDownloadStatus in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle outputoutput GenericOctetString(Shall provide an IndirectReference to an OctetStringVariable)GenericOctetString (Shall provide an IndirectReference to an OctetStringVariable) statusstatus this octet string includes all status fields for notify the status of progressthis octet string includes all status fields for notify the status of progress outputoutput GenericInteger(Shall provide an IndirectReference to an IntegerVariable)GenericInteger (Shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode erro code is carried by this variableerro code is carried by this variable

이는 사용자가 OAD의 진행상황을 인지할 수 있도록 화면에 표시할 수 있도록 하는 기능이다.This is a function to display on the screen so that the user can recognize the progress of the OAD.

그 다음, 상기 다운로드가 진행되어 그 다운로드가 완료되면, 그 다운로드 받은 소프트웨어 이미지의 데이터에 이상이 있는지, 혹은 데이터에 변조가 있는지를 검출한다.Then, when the download is in progress and the download is completed, it is detected whether there is an error in the data of the downloaded software image or there is a modulation in the data.

이때 데이터에 이상이 있으면, 상기 다운로드과정을 재 실행하거나, 복원하는 과정을 거치게 되며, 이상이 없는 경우에는 그 다운로드된 업그레이드된 소프트웨어를 사용하여 업그레이드를 실시하게 되며, 상기 데이터의 오류여부를 검사하는 응용 프로그램 인터페이스를 표17에 나타내었다.At this time, if there is a problem with the data, the download process is executed again or restored. If there is no error, the upgrade is performed using the downloaded upgraded software, and the data is checked for errors. The application program interface is shown in Table 17.

ReturnCode OAD_CheckDownloadImageIntegrity(HANDLE in_handle, void*in_imageBuffer, int in_length); - OAD_CheckDownloadImageIntegrityReturnCode OAD_CheckDownloadImageIntegrity (HANDLE in_handle, void * in_imageBuffer, int in_length); -OAD_CheckDownloadImageIntegrity in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle inputinput GenericOctetStringGenericOctetString imageBufferimageBuffer inputinput GenericIntegerGenericInteger lengthlength outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode error code is carried by this variableerror code is carried by this variable

상기 데이터의 오류여부는 이미지 버퍼에 저장된 데이터의 길이를 이용하여 판단한다.The error of the data is determined using the length of the data stored in the image buffer.

또한, 상기 설명한 상주 프로그램 인터페이스(7)는 사용자가 업그레이드 시간을 예약해둔 상태를 기억하고 있으며, 그 상주 프로그램 인터페이스(7)로 부터 그 업그레이드 시간에 대한 정보를 검출한 OAD응용 프로그램 인터페이스(8)는 그 설정된 시간에 OAD를 수행한다.In addition, the above-described resident program interface 7 stores a state in which the user has reserved an upgrade time, and the OAD application program interface 8 that has detected information on the upgrade time from the resident program interface 7 Perform OAD at that set time.

이를 분할하여 생각하면, 사용자는 OAD를 할 수 있는 시간을 복수의 시간대로 지정할 수 있으며, 그 시간대 내에서는 언제든지 OAD를 실시할 수 있도록 설정한다.Considering this division, the user can designate a time when the OAD can be performed in a plurality of time zones, and set the OAD to be performed at any time within the time zone.

또한, 상기 OAD 응용 프로그램 인터페이스(8)에서는 상기 설정된 시간대와 현재시간을 비교하여 일치하는 경우 그 시간에 OAD를 수행한다.In addition, the OAD application program interface 8 compares the set time zone with the current time and performs OAD at the corresponding time.

아래의 표18에는 설정된 시간대의 리스트를 검출하고, 표19에서는 그 시간대중 특정시간을 검출하여 그 시간에 OAD를 수행하는 응용 프로그램 인터페이스를 나타내었다.Table 18 below detects a list of set time zones, and Table 19 shows an application program interface that detects a specific time in the time zone and performs OAD at that time.

ReturnCode OAD_GetDownloadScheduleList(HANDLE in_handle, char**out_scheduleList); - OAD_GetDownloadScheduleListReturnCode OAD_GetDownloadScheduleList (HANDLE in_handle, char ** out_scheduleList); -OAD_GetDownloadScheduleList in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle outputoutput GenericOctetString(shall provide an IndirectReference to an OctetStringVariable)GenericOctetString (shall provide an IndirectReference to an OctetStringVariable) scheduleListscheduleList each element of this list is separated by special characterseach element of this list is separated by special characters outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode error code is carried by this variableerror code is carried by this variable

ReturnCode OAD_SetDownloadReserveDateTime(HANDLE in_handle, DATETIME*in_reserveTime); - OAD_SetDownloadReserveDateTimeReturnCode OAD_SetDownloadReserveDateTime (HANDLE in_handle, DATETIME * in_reserveTime); -OAD_SetDownloadReserveDateTime in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle inputinput GenericOctetStringGenericOctetString reserveTimereserveTime each elements of time information is separated by special characterseach elements of time information is separated by special characters outputoutput GenericInteger(Shall provide an IndirectReference to an IntegerVariable)GenericInteger (Shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode error code is carried by this variableerror code is carried by this variable

상기와 같은 응용 프로그램 인터페이스를 사용하여, 사용자는 자정 또는 새벽의 특정한 시간에 디지털 방송 수신기 자체에서 자동으로 소프트웨어를 다운받아 업그레이드를 수행할 수 있도록 설정함으로써, 보다 그 사용효율을 향상시키게 된다.By using the application program interface as described above, the user can automatically download the software from the digital broadcast receiver itself at a specific time of midnight or dawn to set up to perform the upgrade, thereby improving its use efficiency.

상기와 같이 다운로드 및 오류검사가 완료된 후, 그 업그레이드된 소프트웨어 이미지를 사용하여 소프트웨어를 업그레이드 시키게 된다.After the download and error checking is completed as described above, the software is upgraded using the upgraded software image.

이는 상기 다운받은 소프트웨어 이미지를 디지털 방송 수신기가 제공하는 미디어에 저장하는 과정으로 이루어진다.This is done by storing the downloaded software image in the media provided by the digital broadcasting receiver.

상기 미디어는 디지털 방송 수신기의 모델에 따라 롬, 램, 하드디스크, 플래쉬 메모리등 데이터를 저장 가능한 모든 수단을 포함한다.The media includes all means capable of storing data, such as a ROM, a RAM, a hard disk, and a flash memory, depending on the model of the digital broadcast receiver.

이와 같은 업그레이드를 수행하는 응용 프로그램 인터페이스를 표20에 나타내었다.Table 20 shows the application program interface for performing this upgrade.

ReturnCode OAD_StartWriteTo(HANDLE in_handle, MediaType in_index, void*in_swImageBuff, int in_length); - OAD_StartWriteToReturnCode OAD_StartWriteTo (HANDLE in_handle, MediaType in_index, void * in_swImageBuff, int in_length); -OAD_StartWriteTo in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle inputinput GenericIntegerGenericInteger indexindex inputinput GenericOctetStringGenericOctetString swImageBuffswImageBuff outputoutput GenericIntegerGenericInteger lengthlength outputoutput GenericInteger(shall provide an InterGenericInteger (shall provide an Inter returnCodereturnCode error code is carried by this variableerror code is carried by this variable

상기 응용 프로그램 인터페이스에 의해 상기 버퍼에 저장되어 있는 소프트웨어 이미지는 지정한 미디어에 기록되어, 업그레이드가 이루어진다.The software image stored in the buffer by the application program interface is recorded on the designated media and upgraded.

이와 같이 업그레이드를 수행하며, 부가적인 기능들을 설정할 필요가 있다. 이는 OAD를 수행하는 과정에서 발생하는 의외의 상황에 대처하기 위한 것이나, 디지털 방송 수신기의 제조업자가 사용자에게 전달하고자 하는 정보, 다운로드의 우선순위등을 설정할 수 있는 부가기능이며, 이에 적용되는 응용 프로그램 인터페이스는 다음과 같다.In doing so, it is necessary to set up additional functions. This is to cope with an unexpected situation occurring in the process of performing OAD, but it is an additional function that allows the manufacturer of a digital broadcasting receiver to set information to be delivered to the user, download priority, and the like. Is as follows.

표21은 디지털 방송 수신기가 설정된 시간에 자동으로 다운로드를 수행하는중에 예측하지 못한 상황을 처리하기 위한 것으로, 그 상황에 따라 다운로드를 중단하거나, 일시정지 등 다양한 처리를 설정할 수 있다.Table 21 is for handling an unforeseen situation while the digital broadcast receiver is automatically downloading at a set time. Various processing such as stopping or downloading can be set according to the situation.

ReturnCode OAD_SetExceptionHandler(HANDLE in_handle, ExceptionType exception, ExceptionHandler pfExHandler); - OAD_SetExceptionHandlerReturnCode OAD_SetExceptionHandler (HANDLE in_handle, ExceptionType exception, ExceptionHandler pfExHandler); OAD_SetExceptionHandler in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle inputinput GenericIntegerGenericInteger exceptionexception outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode error code is carried by this variableerror code is carried by this variable

또한, 표22는 제조업자가 제공하는 정보(MIS, manufacturer information structure)를 이진데이터로 수신받기 위한 것이다.In addition, Table 22 is for receiving the manufacturer information structure (MIS, manufacturer information structure) provided as binary data.

ReturnCode OAD_GetMIS(HANDLE in_handle, char*out_MIS, int*out_length); - OAD_GetMISReturnCode OAD_GetMIS (HANDLE in_handle, char * out_MIS, int * out_length); OAD_GetMIS in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle outputoutput GenericOctetString(shall provide an IndirectReference to an OctetStringVariable)GenericOctetString (shall provide an IndirectReference to an OctetStringVariable) MISMIS outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) lengthlength outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode error code is carried by this variableerror code is carried by this variable

그리고, 표23에 보인 응용 프로그램 인터페이스는 OAD의 다운로드 우선순위를 결정하는 값을 인가받는다.The application program interface shown in Table 23 is authorized to determine the download priority of the OAD.

ReturnCode OAD_GetDownloadPriority(HANDLE in_handle, int*out_priority); - OAD_GetDownloadPriorityReturnCode OAD_GetDownloadPriority (HANDLE in_handle, int * out_priority); -OAD_GetDownloadPriority in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle outputoutput GenericInteger(shall provide an IndirectReference to an OctetStringVariable)GenericInteger (shall provide an IndirectReference to an OctetStringVariable) prioritypriority outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode error code is carried by this variableerror code is carried by this variable

마지막으로 OAD를 수행하는 기기의 사용자 정보 필드를 전송한다. 이와 같은 정보필드는 제조업체에서 기재하는 특별한 주석 또는 기타정보가 저장되는 필드이다. 이를 표24에 나타내었다.Finally, the user information field of the device performing the OAD is transmitted. Such an information field is a field for storing special annotation or other information described by the manufacturer. This is shown in Table 24.

ReturnCode OAD_GetUserInformations(HANDLE in_handle, char*out_userInfo, int*out_length); - OAD_GetUserInformationsReturnCode OAD_GetUserInformations (HANDLE in_handle, char * out_userInfo, int * out_length); OAD_GetUserInformations in/outin / out typetype namename commentcomment inputinput GenericIntegerGenericInteger handlehandle outputoutput GenericOctetString(shall provide an IndirectReference to an OctetStringVariable)GenericOctetString (shall provide an IndirectReference to an OctetStringVariable) userInfouserInfo outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) lengthlength outputoutput GenericInteger(shall provide an IndirectReference to an IntegerVariable)GenericInteger (shall provide an IndirectReference to an IntegerVariable) returnCodereturnCode error code is carried by this variableerror code is carried by this variable

상기한 바와 같이 OAD를 수행하는 각 과정은 응용 프로그램 인터페이스로 구현함으로써, 사용자의 조작없이 지정한 시간대에 사용자의 방송시청을 방해하지 않으면서, 디지털 방송 수신기에 내장된 소프트웨어를 자동으로 업그레이드 할 수 있다.As described above, each process of performing the OAD may be implemented by an application program interface, and thus, the software embedded in the digital broadcasting receiver may be automatically upgraded without interfering with the user's viewing at a designated time period without user's manipulation.

상기한 바와 같이 본 발명 디지털 방송 수신기의 소프트웨어 업그레이드 장치 및 방법은 MHEG-5엔진에 사용자의 설정시간을 저장하고, 그 저장된 설정시간에 따라 오버 에어 다운로드를 수행할 수 있도록 하는 상주 프로그램 인터페이스를 구성하고, 그 상주 프로그램 인터페이스에 저장된 시간에 자동으로 그 디지털 방송 수신기에 해당하는 업그레이드 된 소프트웨어를 선택적으로 다운받아 안정적이며, 사용자의 조작없이 소프트웨어를 업그레이드 시킴으로써, 그 디지털 방송 수신기의 사용효율을 향상시키는 효과가 있다.As described above, the software upgrade apparatus and method of the present invention provide a resident program interface for storing a user's setting time in the MHEG-5 engine and performing over-air downloading according to the stored setting time. By selectively downloading upgraded software corresponding to the digital broadcasting receiver at the time stored in the resident program interface, it is stable and upgrades the software without user's operation, thereby improving the efficiency of using the digital broadcasting receiver. have.

Claims (8)

방송사업자로 부터 송신된 어플리케이션이 포함된 트랜스포트 스트림을 인가받는 MPEG2 수신부와; 상기 트랜스포트 스트림에서 섹션데이터를 분리하는 MPEG2 섹션부와; 상기 수신된 어플리케이션에서 MHEG엔진에서 사용할 파일을 추출하는 디지털저장매체 명령 제어부와; 상기 추출된 파일을 전송규약에 따라 디코딩하여 MHEG에서 사용할 데이터를 획득하는 ASN.1 디코더와; 디지털 비디오 방송 정보를 처리하는 디지털 비디오 방송 처리부와; 상기 트랜스포트 스트림에 포함된 업그레이드된 소프트웨어를 검출하여 디지털 방송 수신기에 내장된 소프트웨어를 업그레이드시키는 OAD(over air download)엔진과; 상기 트랜스포트 스트림에 포함된 업데이트된 소프트웨어를 자동으로 전송받아 그 정보를 검출하여 사용자의 조작 없이 소프트웨어를 업그레이드시키는 OAD 응용 프로그램 인터페이스부로 구성하여 된 것을 특징으로 하는 디지털 방송 수신기의 소프트웨어 업그레이드 장치.An MPEG2 receiver configured to receive a transport stream including an application transmitted from a broadcaster; An MPEG2 section unit that separates section data from the transport stream; A digital storage medium command control unit for extracting a file to be used by an MHEG engine in the received application; An ASN.1 decoder for decoding the extracted file according to a transmission protocol to obtain data for use in an MHEG; A digital video broadcasting processing unit which processes digital video broadcasting information; An OAD engine for detecting upgraded software included in the transport stream and upgrading software embedded in a digital broadcast receiver; And an OAD application interface unit configured to automatically receive updated software included in the transport stream, detect the information, and upgrade the software without a user's manipulation. 제 1항에 있어서, 상기 디지털 비디오 방송 처리부에 내장되어 사용자가 설정한 시간을 저장하며, 그 시간정보를 상기 OAD 응용 프로그램 인터페이스부에 인식시켜 사용자가 지정한 시간에 소프트웨어를 자동으로 업그레이드 시키는 상주 프로그램 인터페이스부를 더 포함하여 된 것을 특징으로 하는 디지털 방송 수신기의 소프트웨어 업그레이드 장치.The resident program interface of claim 1, wherein the resident program interface is embedded in the digital video broadcasting processing unit to store a time set by a user, and the time information is recognized by the OAD application program interface to automatically upgrade software at a user specified time. Software upgrade apparatus of the digital broadcast receiver characterized in that it further comprises a wealth. OAD(over air download) 서비스 모듈을 실행하고, 현재 디지털 방송 수신기에 내장된 소프트웨어의 현재 버전을 검출하는 단계와; 전송되는 트랜스포트 스트림에 포함된 소프트웨어의 버전을 검출하고, 그 검출된 소프트웨어의 버전과 현재 소프트웨어의 버전을 비교하여, 현재 소프트웨어가 신버전이면 OAD 서비스 모듈의 동작을 종료하는 단계와; 상기 비교결과 현재 소프트웨어가 구버전이면, 디지털 방송수신기의 제조사 및 모델명을 검출하고, 그 검출된 모델이 지원하는 모듈과 그 모듈의 버전정보를 검출하는 단계와; 상기 트랜스포트 스트림에 OAD서비스가 존재하는지 판단하여 존재하지 않으면 종료하는 단계와; 상기 트랜스포트 스트림에 OAD서비스가 존재하면 OAD엔진에 등록하고, 그 트랜스포트 스트림으로 부터 OAD데이터를 필터링하여 다운로드를 시작하는 단계와; 상기 OAD의 데이터에서 오류를 검출하여 오류가 없으면 소프트웨어를 업그레이드하고, OAD 모듈의 동작을 종료시키는 단계로 이루어진 것을 특징으로 하는 디지털 방송 수신기의 소프트웨어 업그레이드 방법.Executing an over air download (OAD) service module and detecting a current version of software currently embedded in a digital broadcast receiver; Detecting a version of software included in the transport stream, comparing the detected software version with a version of the current software, and terminating the operation of the OAD service module if the current software is a new version; If the current software is an old version as a result of the comparison, detecting a manufacturer and a model name of the digital broadcast receiver, and detecting a module supported by the detected model and version information of the module; Determining whether an OAD service exists in the transport stream and terminating if it does not exist; Registering an OAD engine in the transport stream and filtering the OAD data from the transport stream to start downloading; Detecting an error in the data of the OAD, upgrading the software if there is no error, and terminating the operation of the OAD module. 제 3항에 있어서, 상기 다운로드되는 OAD 데이터는 버퍼에 저장되며, 그 버퍼에 저장되는 위치와, OAD 데이터의 크기를 검출하여 저장하는 것을 특징으로 하는 디지털 방송 수신기의 소프트웨어 업그레이드 방법.4. The method of claim 3, wherein the downloaded OAD data is stored in a buffer, and the location of the downloaded OAD data and the size of the OAD data are detected and stored. 제 3항에 있어서, 상기 다운로드 과정에서 그 다운로드의 진행률을 표시하며, 그 다운로드중 이벤트가 발생하면, 그 이벤트의 종류를 판별하는 단계와; 상기이벤트의 종류에 따라 OAD과정을 종료하거나, 일시 정지시키는 단계와; 상기 이벤트를 처리하는 단계와; 상기 OAD과정을 재 수행하는 단계를 더 포함하여 된 것을 특징으로 하는 디지털 방송 수신기의 소프트웨어 업그레이드 방법.4. The method of claim 3, further comprising: displaying a progress rate of the download in the downloading process, and determining an event type when an event occurs during the download; Terminating or pausing the OAD process according to the type of the event; Processing the event; And re-implementing the OAD process. 제 3항에 있어서, 사용자가 OAD를 실시할 시간을 설정하면, 그 설정된 시간에 맞춰 상기 OAD모듈을 동작시키는 단계를 더 포함하여 된 것을 특징으로 하는 디지털 방송 수신기의 소프트웨어 업그레이드 방법.4. The method as claimed in claim 3, further comprising the step of operating the OAD module according to the set time when the user sets a time for performing the OAD. 제 3항에 있어서, 다운로드를 완료한 후, 업그레이드 하는 단계는 버퍼에 일시 저장된 업그레이드 된 소프트웨어 데이터를 디지털 방송 수신기에서 제공하는 미디어에 기록하는 것을 특징으로 하는 디지털 방송 수신기의 소프트웨어 업그레이드 방법.4. The method of claim 3, wherein after the download is completed, the upgrading step records upgraded software data temporarily stored in a buffer on media provided by the digital broadcasting receiver. 제 3항에 있어서, 다운로드의 우선순위를 정하여 OAD를 실행하는 단계와; 사용자의 정보필드를 전송하는 단계와; 제조업체가 사용자에게 전달하고자 하는 제조업체 정보 데이터(MIS, manufacturer information structure)를 이진 데이터로 다운받는 단계를 더 포함하여 된 것을 특징으로 하는 디지털 방송 수신기의 소프트웨어 업그레이드 방법.4. The method of claim 3, further comprising: executing an OAD by prioritizing downloads; Transmitting an information field of a user; The manufacturer further includes the step of downloading the manufacturer information data (MIS, manufacturer information structure) to be delivered to the user as a binary data software upgrade method of a digital broadcast receiver.
KR1020020003943A 2002-01-23 2002-01-23 Software upgrade apparatus and method for digital broadcasting receiver KR100892311B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020003943A KR100892311B1 (en) 2002-01-23 2002-01-23 Software upgrade apparatus and method for digital broadcasting receiver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020003943A KR100892311B1 (en) 2002-01-23 2002-01-23 Software upgrade apparatus and method for digital broadcasting receiver

Publications (2)

Publication Number Publication Date
KR20030063694A true KR20030063694A (en) 2003-07-31
KR100892311B1 KR100892311B1 (en) 2009-04-08

Family

ID=32219053

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020003943A KR100892311B1 (en) 2002-01-23 2002-01-23 Software upgrade apparatus and method for digital broadcasting receiver

Country Status (1)

Country Link
KR (1) KR100892311B1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100643274B1 (en) * 2004-06-15 2006-11-10 삼성전자주식회사 Device for displaying download progress state of data and method thereof
KR100727147B1 (en) * 2005-05-31 2007-06-13 엘지전자 주식회사 Method of upgrading software and television receiver thereof
KR100755848B1 (en) * 2005-06-03 2007-09-07 엘지전자 주식회사 Method and Apparatus of software upgrade in Digital Receiver
KR100793748B1 (en) * 2005-05-20 2008-01-10 엘지전자 주식회사 Software upgrade system and control method of the same
KR100848142B1 (en) * 2003-11-04 2008-07-23 한국전자통신연구원 Apparatus and Method for Receiving Data Broadcasting Service to Support a Connection with Mobile Networks
WO2009120027A3 (en) * 2008-03-28 2009-12-23 Samsung Electronics Co., Ltd. Method and apparatus for software update of terminals in a mobile communication system
US7734835B2 (en) 2004-11-29 2010-06-08 Lg Electronics Inc. Method and apparatus of setting-up configuration of display devices
KR101053726B1 (en) * 2003-09-17 2011-08-02 엘지전자 주식회사 Software upgrade method and device in digital broadcasting system
KR101224304B1 (en) * 2006-05-08 2013-01-18 엘지전자 주식회사 Broadcasting receiving apparatus and method for upgrading software thereof
KR101319890B1 (en) * 2007-02-15 2013-10-18 엘지전자 주식회사 Method, apparatus and system for upgrading software

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100478016B1 (en) * 2002-05-30 2005-03-22 주식회사 휴맥스 Method for upgrade operating system program in digital broadcasting receiver

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101053726B1 (en) * 2003-09-17 2011-08-02 엘지전자 주식회사 Software upgrade method and device in digital broadcasting system
KR100848142B1 (en) * 2003-11-04 2008-07-23 한국전자통신연구원 Apparatus and Method for Receiving Data Broadcasting Service to Support a Connection with Mobile Networks
KR100643274B1 (en) * 2004-06-15 2006-11-10 삼성전자주식회사 Device for displaying download progress state of data and method thereof
US8060911B2 (en) 2004-06-15 2011-11-15 Samsung Electronics Co., Ltd. Apparatus, medium, and method for displaying download status of data
US7734835B2 (en) 2004-11-29 2010-06-08 Lg Electronics Inc. Method and apparatus of setting-up configuration of display devices
KR100793748B1 (en) * 2005-05-20 2008-01-10 엘지전자 주식회사 Software upgrade system and control method of the same
KR100727147B1 (en) * 2005-05-31 2007-06-13 엘지전자 주식회사 Method of upgrading software and television receiver thereof
KR100755848B1 (en) * 2005-06-03 2007-09-07 엘지전자 주식회사 Method and Apparatus of software upgrade in Digital Receiver
KR101224304B1 (en) * 2006-05-08 2013-01-18 엘지전자 주식회사 Broadcasting receiving apparatus and method for upgrading software thereof
KR101319890B1 (en) * 2007-02-15 2013-10-18 엘지전자 주식회사 Method, apparatus and system for upgrading software
WO2009120027A3 (en) * 2008-03-28 2009-12-23 Samsung Electronics Co., Ltd. Method and apparatus for software update of terminals in a mobile communication system
US8396464B2 (en) 2008-03-28 2013-03-12 Samsung Electronics Co., Ltd Method and apparatus for software update of terminals in a mobile communication system

Also Published As

Publication number Publication date
KR100892311B1 (en) 2009-04-08

Similar Documents

Publication Publication Date Title
US9264648B2 (en) Receiving device, receiving method, transmitting device, and transmitting method
US7774820B2 (en) Settop cable television control device and method including bootloader software and code version table for maintaining and updating settop receiver operating system software
EP1841228A1 (en) Broadcast reception device
US8001208B2 (en) Information processing apparatus
US7950043B2 (en) Digital broadcast system, receiving apparatus and transmitting apparatus
US20060179465A1 (en) Handling feature availability in a broadcast
US20060193597A1 (en) Broadcast recording apparatus
CN104054354A (en) Receiving device, receiving method, program, and information processing system
BR9810774B1 (en) DIGITAL DATA-FLOW PROCESSING DEVICE, OPERATING DEVICE, DATA-PROCESSING SYSTEM AND DIGITAL DATA-FLOW PROCESSING METHOD
US9219950B2 (en) Reproduction apparatus, reproduction method, and program
KR100892311B1 (en) Software upgrade apparatus and method for digital broadcasting receiver
EP2103121A1 (en) Apparatus and method for configuring and executing function of application appropriate to broadcast-receiving device
KR101046867B1 (en) Apparatus and methods, and related products, for performing conditional execution decisions in relation to received services and for generating information messages related to the services
JP4729310B2 (en) How to send interactive television
JP2008066764A (en) Broadcast recording device
US20160105717A1 (en) Receiving device, receiving method, transmitting device, transmitting method, and program
CN104012107A (en) Device and method for processing bi-directional service related to broadcast program
US8266669B2 (en) Method and apparatus for storing an interactive television program
US20070008402A1 (en) Apparatus and method for backing up broadcast files
JP4845257B2 (en) Method for transmitting and processing summaries developed in television systems, and receivers and transmitters of such systems
CN1985507A (en) Device and method for activating interactive application
JP2002358228A (en) Digital data transmission/reception system and method thereof
JPH11239175A (en) Packet processor
US20040162908A1 (en) Method of servicing reception of software broadcasted in a carousel of objects
KR100657743B1 (en) Firmware upgrading method of combo device and its system

Legal Events

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

Payment date: 20160324

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170314

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180314

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190314

Year of fee payment: 11