KR20050022556A - 고신뢰 복호화 장치 및 방법 - Google Patents

고신뢰 복호화 장치 및 방법 Download PDF

Info

Publication number
KR20050022556A
KR20050022556A KR1020030057504A KR20030057504A KR20050022556A KR 20050022556 A KR20050022556 A KR 20050022556A KR 1020030057504 A KR1020030057504 A KR 1020030057504A KR 20030057504 A KR20030057504 A KR 20030057504A KR 20050022556 A KR20050022556 A KR 20050022556A
Authority
KR
South Korea
Prior art keywords
stream
packet
interrupt
stored
decoding
Prior art date
Application number
KR1020030057504A
Other languages
English (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 KR1020030057504A priority Critical patent/KR20050022556A/ko
Priority to JP2004238857A priority patent/JP2005073253A/ja
Priority to EP20040254946 priority patent/EP1511318A2/en
Priority to CNA2004100569220A priority patent/CN1585481A/zh
Priority to US10/922,170 priority patent/US20050068204A1/en
Publication of KR20050022556A publication Critical patent/KR20050022556A/ko

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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • H04N21/42615Internal components of the client ; Characteristics thereof for processing the incoming bitstream involving specific demultiplexing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • 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
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal

Abstract

본 발명은 디지털 멀티미디어 방송 수신 시스템에 관한 것으로서, 특히 MPEG 4 시스템에 관한 것으로, 본 발명에 따른 고신뢰 복호화 장치는 중앙 처리 장치로부터 인터럽트 호출 신호를 수신하면, 패킷 버퍼에 스트림별로 저장된 패킷의 스트림 인덱스를 스트림 인덱스 큐에 저장하는 인터럽트 서비스 루틴을 수행하는 인터럽트 서비스 루틴 수행부; 스트림 인덱스 큐로부터 스트림 인덱스를 독출하고, 패킷 버퍼로부터 독출된 스트림 인덱스를 갖는 패킷을 독출하고, 독출된 패킷을 역패킷화하여 복호화 정보를 추출하고, 추출된 복호화 정보를 복호화 정보 버퍼에 스트림별로 저장하는 패킷 파싱부; 및 패킷 파싱부에서 복호화 정보 버퍼에 스트림별로 저장된 복호화 정보를 참조하여 패킷 버퍼에 스트림별로 저장된 패킷에 포함된 페이로드를 독출하고, 독출된 페이로드를 복호화하는 복호화부를 포함하며, 인터럽트 방식을 사용하여 복호화 준비를 처리함으로서 폴링 방식과는 달리, 여러 구성 요소가 지속적으로 체크할 필요가 없게 되어, MPEG 4 시스템의 퍼포먼스가 향상된다는 효과가 있다.

Description

고신뢰 복호화 장치 및 방법 {Reliable decoder and decoding method}
본 발명은 디지털 멀티미디어 방송 수신 시스템에 관한 것으로서, 특히 MPEG 4 시스템에 관한 것이다.
종래의 MPEG 4 시스템에서는 복호화 준비를 처리하기 위하여 폴링 방식을 사용하였다. 그런데, 폴링 방식은 여러 구성 요소가 다른 구성 요소를 지속적으로 체크하여야 하기 때문에 MPEG 4 시스템의 퍼포먼스에 한계가 있다는 문제점이 있었다. 또한, 수신되는 전송 스트림의 비트 레이트(bit rate)가 일정하지 않음으로 인하여 전송량이 폭주할 경우, 패킷이 분실되는 경우가 발생한다는 문제점이 있었고, 궁극적으로는 고신뢰의 복호화를 구현할 수 없다는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 인터럽트 방식을 사용하여 복호화 준비를 처리함으로서 폴링 방식과는 달리, 여러 구성 요소가 지속적으로 체크할 필요가 없게 되는 장치 및 방법을 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 고신뢰 복호화 장치는 중앙 처리 장치로부터 인터럽트 호출 신호를 수신하면, 패킷 버퍼에 스트림별로 저장된 패킷의 스트림 인덱스를 스트림 인덱스 큐에 저장하는 인터럽트 서비스 루틴을 수행하는 인터럽트 서비스 루틴 수행부; 상기 스트림 인덱스 큐로부터 상기 스트림 인덱스를 독출하고, 상기 패킷 버퍼로부터 상기 독출된 스트림 인덱스를 갖는 패킷을 독출하고, 상기 독출된 패킷을 역패킷화하여 복호화 정보를 추출하고, 상기 추출된 복호화 정보를 복호화 정보 버퍼에 스트림별로 저장하는 패킷 파싱부; 및 상기 패킷 파싱부에서 상기 복호화 정보 버퍼에 스트림별로 저장된 복호화 정보를 참조하여 상기 패킷 버퍼에 스트림별로 저장된 패킷에 포함된 페이로드를 독출하고, 상기 독출된 페이로드를 복호화하는 복호화부를 포함한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 따른 고신뢰 복호화 방법은 (a) 중앙 처리 장치로부터 인터럽트 호출 신호를 수신하면, 패킷 버퍼에 스트림별로 저장된 패킷의 스트림 인덱스를 스트림 인덱스 큐에 저장하는 인터럽트 서비스 루틴을 수행하는 단계; (b) 상기 스트림 인덱스 큐로부터 상기 스트림 인덱스를 독출하고, 상기 패킷 버퍼로부터 상기 독출된 스트림 인덱스를 갖는 패킷을 독출하고, 상기 독출된 패킷을 역패킷화하여 복호화 정보를 추출하고, 상기 추출된 복호화 정보를 복호화 정보 버퍼에 스트림별로 저장하는 단계; 및 (c) 상기 (b) 단계에서 상기 복호화 정보 버퍼에 스트림별로 저장된 복호화 정보를 참조하여 상기 패킷 버퍼에 스트림별로 저장된 패킷에 포함된 페이로드를 독출하고, 상기 독출된 페이로드를 복호화하는 단계를 포함한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 1은 본 발명이 적용될 수 있는 디지털 멀티미디어 방송 수신기의 구성도이다.
도 1을 참조하면, 디지털 멀티미디어 방송 수신기는 튜너(11), OFDM(Orthogonal Frequency Division Multiplexing, 직교 주파수 분할 다중) 복조기(12), 채널 복호기(3), 제어기(14), MPEG(Motion Picture Experts Group) 4 시스템(15)으로 구성된다.
디지털 멀티미디어 방송은 차량 또는 보행으로 이동 중인 사용자에게 다양한 비디오, 오디오, 데이터 등의 멀티미디어 서비스를 제공하기 위한 방송 시스템을 의미한다. 본 발명은 상기된 디지털 멀티미디어 방송 수신기의 구성 요소 중 MPEG 4 시스템(15)의 효율적 설계에 관한 것이다.
도 2는 본 발명의 일 실시예에 따른 고신뢰 복호화 장치의 구성도이다.
도 2를 참조하면, 고신뢰 복호화 장치는 전송 스트림 역다중화부(21), 패킷 버퍼(22), 중앙 처리 장치(23), 인터럽트 서비스 루틴 수행부(24), 스트림 인덱스 큐(25), 패킷 파싱부(26), 복호화 정보 버퍼(27), 및 복호화부(28)로 구성된다.
전송 스트림(TS, Transport Stream) 역다중화부(demultiplexer, 21)는 도 1에 도시된 디지털 멀티미디어 방송 수신기의 채널 복호기(13)로부터 전송된 전송 스트림에 포함된 전송 스트림 패킷을 역패킷화(depacketize)하여 소정의 패킷을 추출하고, 패킷 버퍼(22)에 추출된 패킷을 스트림별로 저장하고, 스트림별로 저장된 패킷에 대한 인터럽트를 중앙 처리 장치(CPU, Central Processing Unit, 23)로 요청한다. 인터럽트 서비스 루틴(ISR, Interrupt Service Routine) 수행부(22)는 전송 스트림 역다중화부(21)에서 요청된 인터럽트를 수신한 중앙 처리 장치(23)로부터 인터럽트 서비스 루틴 호출 신호를 수신하면, 패킷 버퍼(22)에 기록된 패킷의 스트림 인덱스를 스트림 인덱스 큐(stream index queue)에 저장하는 인터럽트 서비스 루틴을 수행한다.
패킷 파싱부(26)는 스트림 인덱스 큐(25)로부터 스트림 인덱스를 독출하고, 패킷 버퍼(22)로부터 독출된 스트림 인덱스를 갖는 패킷을 독출하고, 독출된 패킷을 역패킷화하여 복호화 정보를 추출하고, 추출된 복호화 정보를 복호화 정보 버퍼에 스트림별로 저장한다. 복호화부(28)는 패킷 파싱부(26)에서 복호화 정보 버퍼(27)에 스트림별로 저장된 복호화 정보를 참조하여 패킷 버퍼(22)에 스트림별로 저장된 패킷에 포함된 페이로드를 독출하고, 독출된 페이로드를 복호화한다.
도 3은 MPEG 4 표준에 따른 전송 스트림 패킷, PES 패킷, 및 14496 섹션의 관계를 도시한 도면이다.
디지털 멀티미디어 방송 신호를 송출하는 방송국으로부터 도 1에 도시된 수신기는 이 디지털 멀티미디어 방송 신호를 수신한다. 수신된 튜너(11), OFDM 복조기(12), 및 채널 복호기(13)를 거치면서 수신된 디지털 멀티미디어 방송 신호는 전송 스트림으로 복원된다. 이 전송 스트림은 MPEG 4 시스템, 즉 고신뢰 복호화 장치(15)로 전송된다. 이 전송 스트림은 일정한 길이(188 바이트)의 전송 스트림 패킷들로 이루어져 있으며, 이 전송 스트림 패킷은 PAT(Program Association Table) 패킷, PMT(Program Map Table) 패킷, OD(Object Descriptor) 스트림, BIFS(Binary Input Format for Scene) 스트림, 오디오 스트림, 비디오 스트림이 저장된 패킷으로 분류된다. 전송 스트림 역다중화부(21)에서 스트림 인덱스인 PID(Program ID)가 0인 PAT 패킷을 파싱(parsing)하여 PMT 패킷의 PID를 얻고, PMT 패킷을 파싱하여 OD 스트림, BIFS 스트림, 비디오 스트림, 오디오 스트림이 저장된 패킷의 PID를 얻는다.
도 3을 참조하면, 전송 스트림 패킷 각각은 헤더(header)와 페이로드(payload)로 이루어져 있으며, 몇 개의 전송 스트림 패킷을 역패킷화한 후, 조합하여 PES(Packetized Elementary Stream) 패킷 또는 14496 섹션을 만든다. PES 패킷의 페이로드에는 비디오 페이로드 또는 오디오 페이로드를 포함하는 동기 계층(SL, Sync Layer) 패킷이 저장되어 있고, 14496 섹션의 페이로드에는 OD 페이로드 또는 BIFS 페이로드를 포함하는 동기 계층 패킷이 저장되어 있다. 이 동기 계층 패킷의 페이로드에는 억세스 단위(AU, Access Unit)의 스트림, 예를 들면 1 프레임의 비디오 스트림 또는 오디오 스트림이 저장되어 있다. 그런데, 억세스 단위의 스트림은 그 길이가 일정하지 않기 때문에 PES 패킷 또는 14496 섹션의 헤더에는 동기 계층 패킷의 길이 정보도 저장되어 있다. 일반적으로, 억세스 단위의 스트림이 비디오 스트림인 경우에는 길고, 억세스 단위의 스트림이 OD 스트림 또는 BIFS 스트림인 경우에는 짧다.
이하, 상기된 패킷이 동기 계층 패킷인 경우를 예를 들어 설명하기로 하겠다. 전송 스트림 역다중화부(21)는 전송 스트림에 포함된 전송 스트림 패킷을 역패킷화한 후, 역패킷화된 전송 스트림 패킷의 페이로드를 조합하여 PES 패킷 또는 14496 섹션을 추출하고, 추출된 PES 패킷 또는 14496 섹션으로부터 다시 동기 계층 패킷을 추출하고, 패킷 버퍼(22)에 추출된 동기 계층 패킷을 스트림별로 저장하고, 패킷 버퍼(22)에 스트림별로 저장될 때마다 스트림별로 저장된 동기 계층 패킷에 대한 인터럽트를 중앙 처리 장치(23)로 요청한다.
도 4는 도 2에 도시된 패킷 버퍼의 저장 형태를 도시한 도면이다.
도 4를 참조하면, 패킷 버퍼(22)의 각 주소에는 동기 계층 패킷의 길이 및 이 길이에 해당하는 동기 계층 패킷이 저장된다. 패킷 버퍼(22)는 OD 영역, BIFS 영역, 비디오 1 영역, 오디오 1 영역 등 동일한 PID를 갖는 스트림별로 구분되어 저장된다. 이 PID는 스트림을 표시하는 인덱스이므로, 이하 PID를 스트림 인덱스로 칭하기로 한다.
하나의 스트림 영역에는 N 개의 동기 계층 패킷이 저장될 수 있다. 상기와 같이, 스트림별로 구분하여 저장하는 이유는 미리 패킷 버퍼(22) 단에서 스트림을 분류함으로서 로드가 심한 복호화부(28)에서 다시 스트림을 분류하는 일이 없도록 하고, 또한 복호화부(28)에서 복호화가 진행되는 동안, 동시에 스트림 분류 작업을 진행함으로서 전체적으로 MPEG 4 시스템의 처리 속도를 향상시키기 위함이다.
도 5는 도 2에 도시된 전송 스트림 역다중화부의 상세 구성도이다.
도 5를 참조하면, 전송 스트림 역다중화부(21)는 전송 스트림에 포함된 전송 스트림 패킷 중, 패킷 선택 레지스터(51)에 저장된 스트림 인덱스를 갖는 전송 스트림 패킷을 역패킷화하여 패킷을 추출한다. 패킷 선택 레지스터(51)에 저장된 스트림 인덱스는 패킷 파싱부(26)에서 추출된 복호화 정보 중 OD 복호화 정보에 따라 결정된 스트림 인덱스이다. OD 복호화 정보란 사용자가 설정한 디지털 멀티미디어 방송을 재생하기 위해 앞으로 복호화가 필요한 스트림의 PID를 말한다. 전송 스트림 역다중화부(21)는 상기한 바와 같이 패킷 버퍼(22)에 추출된 패킷을 스트림별로 저장하고, 스트림별로 저장된 패킷의 스트림별 개수를 스트림별 카운트 레지스터(52)에 저장한다. 예를 들어, 인터럽트와 인터럽트 사이에 OD 스트림이 저장된 동기 계층 패킷 2 개, 비디오 스트림이 저장된 동기 계층 패킷 1 개를 패킷 버퍼(22)에 스트림별로 저장한 경우, OD 카운트 레지스터에는 2 개가 가산되고, 비디오 카운트 레지스터에는 1 개가 가산된다. 이때, 전송 스트림 역다중화부(21)는 인터럽트 요청 레지스터(53)에 저장된 값이 인터럽트가 요청 가능함을 나타내는 경우에 한하여 인터럽트를 요청하고, 요청된 인터럽트와 요청된 인터럽트 직전에 요청된 인터럽트 사이에 추출된 패킷을 스트림별로 저장한다. 여기에서, 인터럽트 요청 레지스터(53)에 저장된 인터럽트가 요청 가능함을 나타내는 값은 인터럽트 서비스 루틴 수행부(24)에서 인터럽트 서비스 루틴 수행이 완료된 경우에 저장된 값이다.
도 6은 도 2에 도시된 인터럽트 서비스 루틴 수행부의 상세 구성도이다.
도 6을 참조하면, 중앙 처리 장치(23)로부터 인터럽트 호출 신호를 수신하면, 인터럽트 서비스 루틴을 수행하게 된다. 여기에서, 인터럽트 서비스 루틴은 인터럽트가 걸리면, MPEG 4 시스템이 다른 작업을 멈추고 우선적으로 수행되는 일종의 함수이다. 상기한 바와 같이 레지스터를 이용하여 인터럽트 서비스 루틴 수행에 필요한 정보를 주고받기 때문에 아주 짧은 시간 내에 처리될 수 있다. 따라서, MPEG 4 시스템 전체의 퍼포먼스를 고려할 때, 이 인터럽트는 복호화 작업에 거의 영향을 주지 않게 된다. 인터럽트 서비스 루틴이 시작되면, 우선 스트림별 카운트 레지스터(2)로부터 각 스트림의 패킷 개수를 독출한다. 각 스트림의 패킷 개수만큼의 스트림 인덱스를 스트림 인덱스 큐(25)에 저장한다. 예를 들면, OD 카운트 레지스터에 2가 저장되어 있고, 비디오 1 카운트 레지스터에 1이 저장되어 있으면, 스트림 인덱스 큐(25)에는 OD 스트림의 PID이 2 번 연속해서 저장되고, 비디오 스트림의 PID가 1 번 저장된다.
도 7은 도 2에 도시된 패킷 파싱부의 상세 구성도이다.
도 7을 참조하면, 패킷 파싱부(26)는 스트림 인덱스 큐(25)에 저장된 스트림 인덱스를 독출한다. 패킷 버퍼(22)에는 동기 계층 패킷이 스트림별로 저장되어 있기 때문에 스트림마다의 저장 영역은 항상 일정하게 된다. 따라서, 스트림 인덱스만을 가지고, 해당 패킷의 저장 위치를 알 수 있게 된다. 다만, 스트림별 영역의 시작 주소는 고정적으로 저장되어 있어야 하며, 패킷 파싱부(26)는 스트림 인덱스 큐(25)에 저장된 스트림 인덱스를 이 시작 주소부터 차례대로 독출해나감으로서, 올바른 패킷을 독출할 수 있게 된다. 패킷 파싱부(26)는 독출된 패킷을 역패킷화하여 복호화 정보를 추출하고, 추출된 복호화 정보를 복호화 정보 버퍼에 스트림별로 저장한다. 복호화부(28)는 패킷 파싱부(26)에서 복호화 정보 버퍼(27)에 스트림별로 저장된 복호화 정보를 참조하여 패킷 버퍼(22)에 스트림별로 저장된 패킷에 포함된 페이로드를 독출하고, 독출된 페이로드를 스트림별로 동시에 복호화한다.
도 8은 본 발명의 일 실시예에 따른 고신뢰 복호화 방법의 흐름도이다.
도 8을 참조하면, 고신뢰 복호화 방법은 다음과 같은 단계로 구성된다.
전송 스트림에 포함된 전송 스트림 패킷을 역패킷화하여 패킷을 추출하고, 패킷 버퍼에 추출된 패킷을 스트림별로 저장하고, 스트림별로 저장된 패킷에 대한 인터럽트를 중앙 처리 장치로 요청한다(81). 이때, 패킷 버퍼에 추출된 패킷을 스트림별로 저장하고, 스트림별로 저장된 패킷의 스트림별 개수를 스트림별 카운트 레지스터에 저장한다(81). 요청된 인터럽트를 수신한 중앙 처리 장치로부터 상기 인터럽트 서비스 루틴 호출 신호를 수신하면(82), 이어서 패킷 버퍼에 기록된 패킷의 스트림 인덱스를 스트림 인덱스 큐에 저장하는 인터럽트 서비스 루틴을 수행한다(83). 이때, 스트림별 카운트 레지스터에 저장된 스트림별 개수만큼의 스트림 인덱스를 스트림 인덱스 큐에 저장하고, 인터럽트 요청 레지스터에 인터럽트가 요청 가능함을 나타내는 값을 저장하는 인터럽트 서비스 루틴을 수행한다. 이때, 81 단계는 인터럽트 요청 레지스터에 저장된 값이 인터럽트가 요청 가능함을 나타내는 경우에 한하여 인터럽트를 요청하고, 요청된 인터럽트와 요청된 인터럽트 직전에 요청된 인터럽트 사이에 추출된 패킷을 스트림별로 저장한다.
이어서, 스트림 인덱스 큐로부터 스트림 인덱스를 독출하고, 패킷 버퍼로부터 독출된 스트림 인덱스를 갖는 패킷을 독출하고, 독출된 패킷을 역패킷화하여 복호화 정보를 추출하고, 추출된 복호화 정보를 복호화 정보 버퍼에 스트림별로 저장한다(84). 이어서, 복호화 정보 버퍼에 스트림별로 저장된 복호화 정보를 참조하여 패킷 버퍼에 스트림별로 저장된 패킷에 포함된 페이로드를 독출하고, 독출된 페이로드를 복호화한다(85). 이때, 85 단계는 추출된 복호화 정보 중 OD 기술자 복호화 정보에 따라 결정된 스트림 인덱스를 패킷 선택 레지스터에 저장하고, 81 단계는 전송 스트림에 포함된 전송 스트림 패킷 중, 패킷 선택 레지스터에 저장된 스트림 인덱스를 갖는 전송 스트림 패킷을 역패킷화하여 패킷을 추출한다.
이상, 상기된 패킷은 일반적으로 동기 계층 패킷일 것이다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록 매체는 마그네틱 저장 매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지, 본 발명에 대하여 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라, 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, 인터럽트 방식을 사용하여 복호화 준비를 처리함으로서 폴링 방식과는 달리, 여러 구성 요소가 지속적으로 체크할 필요가 없게 되어, MPEG 4 시스템의 퍼포먼스가 향상된다는 효과가 있다. 또한, 본 발명에 따르면, 스트림 인덱스 큐를 도입하여 인터럽트 서비스 루틴을 수행하는 과정과 패킷을 파싱하는 과정이 독립적으로 병행 구동되도록 함으로서, MPEG 4 시스템의 퍼포먼스가 향상된다는 효과가 있다. 또한, 본 발명에 따르면, 스트림 인덱스 큐를 도입하여 수신된 모든 패킷이 분실되지 않고 복호화될 수 있도록 한다는 효과가 있고, 궁극적으로 고신뢰의 복호화를 구현할 수 있다는 효과가 있다.
도 1은 본 발명이 적용될 수 있는 디지털 멀티미디어 방송 수신기의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 고신뢰 복호화 장치의 구성도이다.
도 3은 MPEG 4 표준에 따른 전송 스트림 패킷, PES 패킷, 및 14496 섹션의 관계를 도시한 도면이다.
도 4는 도 2에 도시된 패킷 버퍼의 저장 형태를 도시한 도면이다.
도 5는 도 2에 도시된 전송 스트림 역다중화부의 상세 구성도이다.
도 6은 도 2에 도시된 인터럽트 서비스 루틴 수행부의 상세 구성도이다.
도 7은 도 2에 도시된 패킷 파싱부의 상세 구성도이다.
도 8은 본 발명의 일 실시예에 따른 고신뢰 복호화 방법의 흐름도이다.

Claims (13)

  1. 중앙 처리 장치로부터 인터럽트 호출 신호를 수신하면, 패킷 버퍼에 스트림별로 저장된 패킷의 스트림 인덱스를 스트림 인덱스 큐에 저장하는 인터럽트 서비스 루틴을 수행하는 인터럽트 서비스 루틴 수행부;
    상기 스트림 인덱스 큐로부터 상기 스트림 인덱스를 독출하고, 상기 패킷 버퍼로부터 상기 독출된 스트림 인덱스를 갖는 패킷을 독출하고, 상기 독출된 패킷을 역패킷화하여 복호화 정보를 추출하고, 상기 추출된 복호화 정보를 복호화 정보 버퍼에 스트림별로 저장하는 패킷 파싱부; 및
    상기 패킷 파싱부에서 상기 복호화 정보 버퍼에 스트림별로 저장된 복호화 정보를 참조하여 상기 패킷 버퍼에 스트림별로 저장된 패킷에 포함된 페이로드를 독출하고, 상기 독출된 페이로드를 복호화하는 복호화부를 포함하는 것을 특징으로 하는 고신뢰 복호화 장치.
  2. 제 1 항에 있어서, 상기 패킷은 동기 계층 패킷인 것을 특징으로 하는 고신뢰 복호화 장치.
  3. 제 1 항에 있어서,
    전송 스트림에 포함된 전송 스트림 패킷을 역패킷화하여 상기 패킷을 추출하고, 상기 패킷 버퍼에 상기 추출된 패킷을 스트림별로 저장하고, 상기 스트림별로 저장된 패킷에 대한 인터럽트를 상기 중앙 처리 장치로 요청하는 전송 스트림 역다중화부를 포함하고,
    상기 인터럽트 서비스 루틴 수행부는 상기 전송 스트림 역다중화부에서 요청된 인터럽트를 수신한 중앙 처리 장치로부터 상기 인터럽트 서비스 루틴 호출 신호를 수신하면, 상기 패킷 버퍼에 기록된 패킷의 스트림 인덱스를 스트림 인덱스 큐에 저장하는 인터럽트 서비스 루틴을 수행하는 것을 특징으로 하는 고신뢰 복호화 장치.
  4. 제 3 항에 있어서,
    상기 전송 스트림 역다중화부는 상기 패킷 버퍼에 상기 추출된 패킷을 스트림별로 저장하고, 상기 스트림별로 저장된 패킷의 스트림별 개수를 스트림별 카운트 레지스터에 저장하고,
    상기 인터럽트 서비스 루틴 수행부는 상기 스트림별 카운트 레지스터에 저장된 스트림별 개수만큼의 스트림 인덱스를 스트림 인덱스 큐에 저장하고, 인터럽트 요청 레지스터에 인터럽트가 요청 가능함을 나타내는 값을 저장하는 인터럽트 서비스 루틴을 수행하는 것을 특징으로 하는 고신뢰 복호화 장치.
  5. 제 4 항에 있어서,
    상기 전송 스트림 역다중화부는 상기 인터럽트 요청 레지스터에 저장된 값이 인터럽트가 요청 가능함을 나타내는 경우에 한하여 인터럽트를 요청하고, 상기 요청된 인터럽트와 상기 요청된 인터럽트 직전에 요청된 인터럽트 사이에 추출된 패킷을 스트림별로 저장하는 것을 특징으로 하는 고신뢰 복호화 장치.
  6. 제 3 항에 있어서,
    상기 패킷 파싱부는 상기 추출된 복호화 정보 중 오브젝트 기술자 복호화 정보에 따라 결정된 스트림 인덱스를 패킷 선택 레지스터에 저장하고,
    상기 전송 스트림 역다중화부는 상기 전송 스트림에 포함된 전송 스트림 패킷 중, 상기 패킷 선택 레지스터에 저장된 스트림 인덱스를 갖는 전송 스트림 패킷을 역패킷화하여 상기 패킷을 추출하는 것을 특징으로 하는 고신뢰 복호화 장치.
  7. (a) 중앙 처리 장치로부터 인터럽트 호출 신호를 수신하면, 패킷 버퍼에 스트림별로 저장된 패킷의 스트림 인덱스를 스트림 인덱스 큐에 저장하는 인터럽트 서비스 루틴을 수행하는 단계;
    (b) 상기 스트림 인덱스 큐로부터 상기 스트림 인덱스를 독출하고, 상기 패킷 버퍼로부터 상기 독출된 스트림 인덱스를 갖는 패킷을 독출하고, 상기 독출된 패킷을 역패킷화하여 복호화 정보를 추출하고, 상기 추출된 복호화 정보를 복호화 정보 버퍼에 스트림별로 저장하는 단계; 및
    (c) 상기 (b) 단계에서 상기 복호화 정보 버퍼에 스트림별로 저장된 복호화 정보를 참조하여 상기 패킷 버퍼에 스트림별로 저장된 패킷에 포함된 페이로드를 독출하고, 상기 독출된 페이로드를 복호화하는 단계를 포함하는 것을 특징으로 하는 고신뢰 복호화 방법.
  8. 제 7 항에 있어서, 상기 패킷은 동기 계층 패킷인 것을 특징으로 하는 고신뢰 복호화 방법.
  9. 제 7 항에 있어서,
    (a-1) 전송 스트림에 포함된 전송 스트림 패킷을 역패킷화하여 상기 패킷을 추출하고, 상기 패킷 버퍼에 상기 추출된 패킷을 스트림별로 저장하고, 상기 스트림별로 저장된 패킷에 대한 인터럽트를 상기 중앙 처리 장치로 요청하는 단계를 포함하고,
    상기 (a) 단계는 상기 (a-1) 단계에서 요청된 인터럽트를 수신한 중앙 처리 장치로부터 상기 인터럽트 서비스 루틴 호출 신호를 수신하면, 상기 패킷 버퍼에 기록된 패킷의 스트림 인덱스를 스트림 인덱스 큐에 저장하는 인터럽트 서비스 루틴을 수행하는 것을 특징으로 하는 고신뢰 복호화 방법.
  10. 제 9 항에 있어서,
    상기 (a-1) 단계는 상기 패킷 버퍼에 상기 추출된 패킷을 스트림별로 저장하고, 상기 스트림별로 저장된 패킷의 스트림별 개수를 스트림별 카운트 레지스터에 저장하고,
    상기 (a) 단계는 상기 스트림별 카운트 레지스터에 저장된 스트림별 개수만큼의 스트림 인덱스를 스트림 인덱스 큐에 저장하고, 인터럽트 요청 레지스터에 인터럽트가 요청 가능함을 나타내는 값을 저장하는 인터럽트 서비스 루틴을 수행하는 것을 특징으로 하는 고신뢰 복호화 방법.
  11. 제 10 항에 있어서,
    상기 (a-1) 단계는 상기 인터럽트 요청 레지스터에 저장된 값이 인터럽트가 요청 가능함을 나타내는 경우에 한하여 인터럽트를 요청하고, 상기 요청된 인터럽트와 상기 요청된 인터럽트 직전에 요청된 인터럽트 사이에 추출된 패킷을 스트림별로 저장하는 것을 특징으로 하는 고신뢰 복호화 방법.
  12. 제 9 항에 있어서,
    상기 (c) 단계는 상기 추출된 복호화 정보 중 오브젝트 기술자 복호화 정보에 따라 결정된 스트림 인덱스를 패킷 선택 레지스터에 저장하고,
    상기 (a-1) 단계는 상기 전송 스트림에 포함된 전송 스트림 패킷 중, 상기 패킷 선택 레지스터에 저장된 스트림 인덱스를 갖는 전송 스트림 패킷을 역패킷화하여 상기 패킷을 추출하는 것을 특징으로 하는 고신뢰 복호화 방법.
  13. 제 7 항 내지 제 12 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020030057504A 2003-08-20 2003-08-20 고신뢰 복호화 장치 및 방법 KR20050022556A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020030057504A KR20050022556A (ko) 2003-08-20 2003-08-20 고신뢰 복호화 장치 및 방법
JP2004238857A JP2005073253A (ja) 2003-08-20 2004-08-18 高信頼復号化装置及び方法
EP20040254946 EP1511318A2 (en) 2003-08-20 2004-08-18 Video decoder and video decoding method
CNA2004100569220A CN1585481A (zh) 2003-08-20 2004-08-20 可靠的解码器和解码方法
US10/922,170 US20050068204A1 (en) 2003-08-20 2004-08-20 Reliable decoder and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030057504A KR20050022556A (ko) 2003-08-20 2003-08-20 고신뢰 복호화 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20050022556A true KR20050022556A (ko) 2005-03-08

Family

ID=34101830

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030057504A KR20050022556A (ko) 2003-08-20 2003-08-20 고신뢰 복호화 장치 및 방법

Country Status (5)

Country Link
US (1) US20050068204A1 (ko)
EP (1) EP1511318A2 (ko)
JP (1) JP2005073253A (ko)
KR (1) KR20050022556A (ko)
CN (1) CN1585481A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100770879B1 (ko) * 2005-05-27 2007-10-26 삼성전자주식회사 디지털 방송 수신 단말기 및 그를 이용한 디지털 방송데이터 처리 방법
TWI399938B (zh) * 2006-10-30 2013-06-21 Broadcom Corp 媒體資料解碼方法和提供媒體的電路

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4389216B2 (ja) * 2004-11-15 2009-12-24 株式会社カシオ日立モバイルコミュニケーションズ 移動通信端末およびコンテンツ再生方法
KR101042850B1 (ko) * 2005-01-12 2011-06-17 삼성전자주식회사 디지털 멀티미디어 방송 수신 단말기에서 특정 프로그램의방송 채널을 검색하는 방법
US20060268994A1 (en) * 2005-05-27 2006-11-30 Samsung Electronics Co., Ltd. Digital broadcasting reception terminal and method for processing digital broadcasting data using the same
US8213548B2 (en) 2006-04-04 2012-07-03 Qualcomm Incorporated Methods and apparatus for dynamic packet reordering
US8139612B2 (en) * 2006-04-04 2012-03-20 Qualcomm Incorporated Methods and apparatus for dynamic packet mapping
KR102203060B1 (ko) * 2014-04-07 2021-01-14 엘지이노텍 주식회사 통신 모듈 및 이를 이용한 데이터 분할 전송방법
CN106559698A (zh) * 2015-09-28 2017-04-05 深圳市中兴微电子技术有限公司 一种数据处理方法及装置
US9912783B2 (en) * 2016-01-29 2018-03-06 Veritas Technologies Llc Securing internal services in a distributed environment
JP2020022118A (ja) * 2018-08-02 2020-02-06 ソニーセミコンダクタソリューションズ株式会社 受信装置、通信システム、および、受信装置の制御方法
US11416553B2 (en) 2019-03-28 2022-08-16 Amazon Technologies, Inc. Spatial indexing
US11150960B2 (en) 2019-03-28 2021-10-19 Amazon Technologies, Inc. Distributed application allocation and communication
US11106502B2 (en) * 2019-03-28 2021-08-31 Amazon Technologies, Inc. Object domains
US11436217B2 (en) 2019-03-28 2022-09-06 Amazon Technologies, Inc. Ordered append-only log based data storage
CN114666638B (zh) * 2022-03-11 2023-11-28 平安国际智慧城市科技股份有限公司 音视频数据同步方法、装置、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5533021A (en) * 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
US5920572A (en) * 1995-06-30 1999-07-06 Divicom Inc. Transport stream decoder/demultiplexer for hierarchically organized audio-video streams
US5959659A (en) * 1995-11-06 1999-09-28 Stellar One Corporation MPEG-2 transport stream decoder having decoupled hardware architecture
KR100207687B1 (ko) * 1995-12-09 1999-07-15 윤종용 앰펙(mpeg) 시스템 복호기 및 오디오/비디오 동기 방법
JPH10304353A (ja) * 1997-02-27 1998-11-13 Matsushita Electric Ind Co Ltd オブジェクトデータ処理装置,オブジェクトデータ記録装置,データ記憶媒体,及び伝送用データ構造
MXPA04001196A (es) * 2001-08-08 2004-05-20 Thomson Licensing Sa Dispositivo de comunicacion remoto de mpeg-4.
KR100418437B1 (ko) * 2001-12-24 2004-02-14 (주)씨앤에스 테크놀로지 멀티미디어 신호처리를 위한 영상복원 프로세서
US7873110B2 (en) * 2003-06-17 2011-01-18 Broadcom Corporation MPEG smart video transport processor with different transport packet handling

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100770879B1 (ko) * 2005-05-27 2007-10-26 삼성전자주식회사 디지털 방송 수신 단말기 및 그를 이용한 디지털 방송데이터 처리 방법
TWI399938B (zh) * 2006-10-30 2013-06-21 Broadcom Corp 媒體資料解碼方法和提供媒體的電路

Also Published As

Publication number Publication date
US20050068204A1 (en) 2005-03-31
CN1585481A (zh) 2005-02-23
JP2005073253A (ja) 2005-03-17
EP1511318A2 (en) 2005-03-02

Similar Documents

Publication Publication Date Title
JP6961778B2 (ja) 送信方法、受信方法、送信装置及び受信装置
KR20050022556A (ko) 고신뢰 복호화 장치 및 방법
CN100401784C (zh) 数字多媒体数据接收机的数据同步方法和设备
US20060013123A1 (en) Method and apparatus for processing transmission error in DMB system
JP2019193311A (ja) 受信方法
JP4475336B2 (ja) タイムスタンプ付加装置およびタイムスタンプ付加方法、並びにプログラム
US20030093800A1 (en) Command packets for personal video recorder
GB2362065A (en) Pid/section filter
KR20010095264A (ko) 데이터 다중화 장치, 데이터 다중화 방법, 및 기록 매체
US8831405B2 (en) Transmission controller, reception controller, transmission control method, reception control method and transmission control program
US10194196B2 (en) Decoding device, reception device, transmission device, transmission/reception system, decoding method, and storage medium having decoding program stored therein
US6577813B1 (en) Transmitting system and transmitting apparatus
US11128911B2 (en) Decoding device, reception device, transmission device, transmission/reception system, decoding method, and storage medium having decoding program stored therein
KR100405975B1 (ko) Pvr에서의 스트림 점프 방법
JP3898674B2 (ja) Dtvストリーム生成のための情報を貯蔵する情報貯蔵媒体、dtvストリーム変換方法及びその装置
CN100416689C (zh) 再现设备和方法以及记录介质
US8254764B2 (en) Recording apparatus, image reproducing apparatus, and special reproduction method therefor
JP2005151462A (ja) ストリームデータ送信機、ストリームデータ送信方法、ストリームデータ受信機及びストリームデータ受信方法並びにストリームデータ通信システム及びストリームデータ送受信方法。
US8832773B2 (en) System and method for transport PID broadcast scheme
JP2004312629A (ja) デジタル放送受信装置
KR100710393B1 (ko) 압축 스트림의 복호방법
JP2007074671A (ja) Pid値検出回路、ストリームデータ受信機およびpid値検出方法
JP5016335B2 (ja) 再生装置、および、再生方法
JP2008153955A (ja) 映像記録再生装置、その特殊再生方法
JP4035802B2 (ja) パケット生成装置及びパケット再生装置並びにそれらの方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application