KR20070092500A - 데이터 스트림 포맷의 변환 방법 및 장치, 이를 이용한데이터 스트림 기록 방법 및 장치 - Google Patents

데이터 스트림 포맷의 변환 방법 및 장치, 이를 이용한데이터 스트림 기록 방법 및 장치 Download PDF

Info

Publication number
KR20070092500A
KR20070092500A KR1020060022725A KR20060022725A KR20070092500A KR 20070092500 A KR20070092500 A KR 20070092500A KR 1020060022725 A KR1020060022725 A KR 1020060022725A KR 20060022725 A KR20060022725 A KR 20060022725A KR 20070092500 A KR20070092500 A KR 20070092500A
Authority
KR
South Korea
Prior art keywords
transport stream
packet
stream
pack
pes
Prior art date
Application number
KR1020060022725A
Other languages
English (en)
Other versions
KR100788685B1 (ko
Inventor
강희범
정춘식
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060022725A priority Critical patent/KR100788685B1/ko
Priority to US11/708,069 priority patent/US20070211718A1/en
Priority to CNA2007101288497A priority patent/CN101080019A/zh
Publication of KR20070092500A publication Critical patent/KR20070092500A/ko
Application granted granted Critical
Publication of KR100788685B1 publication Critical patent/KR100788685B1/ko

Links

Images

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/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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B43WRITING OR DRAWING IMPLEMENTS; BUREAU ACCESSORIES
    • B43KIMPLEMENTS FOR WRITING OR DRAWING
    • B43K27/00Multiple-point writing implements, e.g. multicolour; Combinations of writing implements
    • B43K27/02Combinations of pens and pencils
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B43WRITING OR DRAWING IMPLEMENTS; BUREAU ACCESSORIES
    • B43KIMPLEMENTS FOR WRITING OR DRAWING
    • B43K23/00Holders or connectors for writing implements; Means for protecting the writing-points
    • B43K23/06Means for connecting two or more writing implements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B43WRITING OR DRAWING IMPLEMENTS; BUREAU ACCESSORIES
    • B43KIMPLEMENTS FOR WRITING OR DRAWING
    • B43K23/00Holders or connectors for writing implements; Means for protecting the writing-points
    • B43K23/08Protecting means, e.g. caps
    • B43K23/10Protecting means, e.g. caps for pencils
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B43WRITING OR DRAWING IMPLEMENTS; BUREAU ACCESSORIES
    • B43KIMPLEMENTS FOR WRITING OR DRAWING
    • B43K8/00Pens with writing-points other than nibs or balls
    • B43K8/02Pens with writing-points other than nibs or balls with writing-points comprising fibres, felt, or similar porous or capillary material
    • B43K8/022Pens with writing-points other than nibs or balls with writing-points comprising fibres, felt, or similar porous or capillary material with writing-points comprising fibres
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/7921Processing of colour television signals in connection with recording for more than one processing mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

프로그램 스트림을 트랜스포트 스트림으로 변환하는 방법 및 장치, 이를 이용한 데이터 스트림의 기록 방법 및 장치가 개시된다. 본 발명은 프로그램 스트림의 팩에 구비된 팩 헤더로부터 SCR(System Clock Reference)을 추출하고 전송 스트림 패킷의 페이로드 크기에 따라 분할된 PES 패킷에 전송 스트림 패킷 헤더를 부가함으로써 연속적인 전송 스트림 패킷을 형성하며, 전송 스트림 패킷 헤더에 구비된 적응적 필드의 PCR(Program Clock Reference)을 추출된 SCR과 동일하게 설정하는 것을 특징으로 한다.

Description

데이터 스트림 포맷의 변환 방법 및 장치, 이를 이용한 데이터 스트림 기록 방법 및 장치{Method and apparatus for converting data stream format, and method and apparatus for recording data stream using the same}
도 1은 종래 기술에 따른 프로그램 스트림을 트랜스포트 스트림으로 변환하는 데이터 스트림 포맷 변환 장치의 구성을 나타낸 블록도이다.
도 2는 MPEG-2 프로그램 스트림의 데이터 구조를 나타낸 참고도이다.
도 3은 MPEG-2 전송 스트림의 데이터 구조를 나타낸 참고도이다.
도 4는 본 발명의 일 실시예에 따른 데이터 스트림 포맷 변환 방법을 나타낸 플로우 차트이다.
도 5는 본 발명의 일 실시예에 따른 데이터 스트림 포맷 변환 장치를 나타낸 블록도이다.
도 6 내지 도 8은 본 발명의 일 실시예에 따라서 프로그램 스트림의 팩을 전송 스트림 패킷으로 변환하는 과정의 예들을 나타낸 도면이다.
도 9는 본 발명의 다른 실시예에 따른 데이터 스트림 포맷 변환 방법을 나타낸 플로우 차트이다.
도 10는 본 발명의 다른 실시예에 따른 데이터 스트림 포맷 변환 장치를 나타낸 블록도이다.
도 11 내지 도 13은 본 발명의 다른 실시예에 따라서 프로그램 스트림의 팩을 전송 스트림 패킷으로 변환하는 과정의 예들을 나타낸 도면이다.
본 발명은 데이터 스트림의 포맷을 변환하는 방법 및 장치에 관한 것으로, 보다 상세하게는 프로그램 스트림을 트랜스포트 스트림으로 변환하는 방법 및 장치, 이를 이용한 데이터 스트림의 기록 방법 및 장치에 관한 것이다.
MPEG과 같은 데이터 압축 표준에 따라 생성된 비디오 및 오디오 데이터는 전송 또는 저장을 위해 각각 소정 크기의 데이터로 분할된 다음 다중화된다. MPEG 시스템에서의 다중화는 각 미디어 부호기에서 압축된 비트열들로부터 얻어진 ES(Elementary Stream)를 입력으로 하여 우선 PES(Packetized Elementary Stream) 패킷을 생성한다. PES 패킷이 구성되면 이 PES 패킷들을 다중화함으로써 프로그램 스트림(Program stream)이나 전송 스트림(Transport stream)이 생성된다. 프로그램 스트림의 경우는 통상 다수의 PES 패킷들을 그룹화하여 팩(pack)을 구성하고, 전송 스트림은 반대로 PES 패킷을 재분할하여 복수의 전송스트림 패킷이 만들어진다. 프로그램 스트림은 가변 길이의 PES 패킷의 다중화에 해당하며, 주로 DVD 및 HD-DVD와 같은 저장매체에 데이터를 기록하는 데 이용되고 주로 에러가 없는 환경에서 사용된다. 전송 스트림 패킷은 188 바이트의 고정된 길이의 패킷으로 구성된다. 또한 전송 스트림 패킷은 복수 개의 프로그램의 다중화의 기능을 가지며, 방 송과 같이 에러가 발생하기 쉬운 환경에서 이용된다.
현재 DVD 및 HD-DVD 등의 저장 매체는 프로그램 스트림을 이용하여 데이터를 저장한다. 최근에 상용화되고 있는 디지털 방송을 수신하여 저장하는 장치에서는 트랜스포트 스트림을 그대로 소정의 저장 매체, 예를 들어 HDD 또는 BD(Blu-ray) 디스크에 기록하여 저장한다. 따라서, DVD 및 HD-DVD와 같이 프로그램 스트림 포맷 형태로 기록된 컨텐츠를 트랜스포트 스트림 포맷의 데이터를 재생하는 장치에서 처리할 수 있도록 하기 위해서는 프로그램 스트림을 트랜스포트 스트림으로 변환하는 과정이 선행되어야 한다.
도 1은 종래 기술에 따른 프로그램 스트림을 트랜스포트 스트림으로 변환하는 데이터 스트림 포맷 변환 장치의 구성을 나타낸 블록도이다.
도 1을 참조하면, 종래 기술에 따른 데이터 스트림 포맷 변환 장치(100)는 프로그램 스트림 역다중화부(110) 및 전송 스트림 다중화부(120)를 포함한다.
프로그램 스트림 역다중화부(110)는 입력되는 프로그램 스트림(PS)에 대한 역다중화 과정에 의해 일련의 PES 패킷들로 구성된 PES 스트림을 생성하는 PES 추출부(111) 및 생성된 PES 스트림에 대하여 역패킷화 과정을 수행하여 기본 스트림(Elementary Stream:ES)을 생성하는 ES 생성부(112)를 포함한다.
전송 스트림 다중화부(120)는 상기 프로그램 스트림 역다중화부(110)에서 생성된 기본 스트림(ES)을 입력받아 ES 생성부(112)의 역과정을 수행하여 PES 헤더 및 PES 헤더의 내용과 부합되도록 페이로드(payload)를 구성하여 PES 패킷을 생성하는 PES 패킷화부(121) 및 상기 PES 패킷을 재분할하여 188 바이트 단위의 전송 스트림 패킷을 생성하는 TS 패킷화부(122)를 포함한다. 상기 PES 패킷화부(121)는 PES 패킷 생성시에 PTS(Presentation Time Stamp) 및 DTS(Decoding Time Stamp)를 PES 패킷의 헤더 부분에 추가한다. 이때, 상기 PTS 및 DTS가 나타내는 값들은 동일한 시간 기준값으로서 시스템 타임 클럭(System Time Clock:STC)(123)을 기준으로 표현된다. MPEG 시스템에서 인코더부와 디코더부의 기준 클럭을 동기화하기 위해서 TS 패킷화부(122)는 PCR(Program Clock Reference)을 생성된 TS 패킷의 헤더에 기록한다.
이와 같이, 종래 기술에 따르면 프로그램 스트림을 전송 스트림으로 변환하기 위해서는 프로그램 스트림에 대한 역다중화 과정이 수행되어야 한다. 또한 프로그램 스트림 내의 시간 정보를 이용하지 못하고 재다중화 과정에서 새롭게 동기화를 위한 시간 정보를 생성하여 전송 스트림 패킷의 헤더에 부가해야 하는 불편함이 있다.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서 MPEG-2 프로그램 스트림을 MPEG-2 전송 스트림으로 변환하는 데이터 스트림 포맷 변환 방법 및 장치, 이를 이용한 데이터 스트림 기록 방법 및 장치를 제공하는 데에 목적이 있다.
특히, 본 발명은 프로그램 스트림을 전송 스트림으로 변환하는 과정에 있어서 PES 패킷화 과정 및 기본 스트림 생성 과정을 생략하고 프로그램 스트림에 구비된 시간 정보를 이용하여 전송 스트림에서 요구되는 시간 기준값 등을 계산하여 적 용함으로써 데이터 스트림 포맷 변환시 요구되는 연산량을 감소시키는 데이터 스트림 포맷 변환 방법 및 장치, 이를 이용한 데이터 스트림 기록 방법 및 장치를 제공하는 데에 목적이 있다.
상기와 같은 기술적 과제를 해결하기 위하여 본 발명의 일 측면에 따른 프로그램 스트림을 전송 스트림으로 변환하는 데이터 스트림 포맷 변환 방법은, (a) 상기 프로그램 스트림의 팩에 구비된 팩 헤더로부터 SCR(System Clock Reference) 및 프로그램 다중화율을 추출하는 단계; (b) 상기 팩에 구비된 PES(Packetized Elementary Stream) 패킷 헤더로부터 추출된 스트림 식별자를 이용하여 상기 팩에 구비된 PES 패킷들의 데이터 유형을 판별하는 단계; (c) 상기 판별된 데이터 유형이 비디오 또는 오디오 데이터인 경우, 상기 PES 패킷들을 전송 스트림 패킷의 페이로드 크기에 따라 분할하는 단계; 및 (d) 상기 분할된 PES 패킷 각각에 전송 스트림 포맷에 따른 전송 스트림 패킷 헤더를 부가함으로써 연속적인 전송 스트림 패킷을 형성하고, 상기 연속적인 전송 스트림 패킷 중 최초로 형성된 전송 스트림 패킷 헤더에 구비된 적응적 필드의 PCR(Program Clock Reference)을 상기 추출된 SCR과 동일하게 설정하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 일 측면에 따른 프로그램 스트림을 전송 스트림으로 변환하는 데이터 스트림 포맷 변환 장치는, 상기 프로그램 스트림의 팩에 구비된 팩 헤더로부터 SCR(System Clock Reference) 및 프로그램 다중화율을 추출하는 프로그램 스트림 해석부; 상기 팩에 구비된 PES(Packetized Elementary Stream) 패킷 헤더로부터 추출된 스트림 식별자를 이용하여 상기 팩에 구비된 PES 패킷들의 데이터 유형을 판별하는 PES 패킷 유형 판별부; 상기 판별된 데이터 유형이 비디오 또는 오디오 데이터인 경우, 상기 PES 패킷들을 전송 스트림 패킷의 페이로드 크기에 따라 분할하는 PES 패킷 분할부; 및 상기 분할된 PES 패킷 각각에 전송 스트림 포맷에 따른 전송 스트림 패킷 헤더를 부가함으로써 연속적인 전송 스트림 패킷을 형성하고, 상기 연속적인 전송 스트림 패킷 중 최초로 형성된 전송 스트림 패킷 헤더에 구비된 적응적 필드의 PCR(Program Clock Reference)을 상기 추출된 SCR과 동일하게 설정하는 전송 스트림 패킷 형성부를 포함하는 것을 특징으로 한다.
본 발명의 다른 측면에 따른 프로그램 스트림을 전송 스트림으로 변환하는 데이터 스트림 포맷 변환 방법은, (a) 상기 프로그램 스트림의 팩에 구비된 팩 헤더로부터 프로그램 다중화율을 추출하는 단계; (b) 상기 팩 크기 및 추출된 프로그램 다중화율을 이용하여 전송 스트림 패킷 사이의 시간차인 전송 스트림 ATS(Arrival Time Stamp) 오프셋을 계산하는 단계; (c) 상기 팩에 구비된 PES 패킷들을 전송 스트림 패킷의 페이로드 크기에 따라 분할하고, 상기 분할된 PES 패킷 각각에 전송 스트림 포맷에 따른 전송 스트림 패킷 헤더를 부가함으로써 연속적인 전송 스트림 패킷을 형성하는 단계; 및 (d) 상기 팩과 상기 형성된 연속적인 전송 스트림 패킷의 동기화를 위해 삽입되는 널 패킷 중 적어도 하나의 널 패킷 대신에, 고정된 PCR(Program Clock Reference) 패킷 식별자와 상기 전송 스트림 ATS 오프셋을 이용하여 계산된 PCR 값을 구비하는 전송 스트림 패킷을 삽입하는 단계를 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.를 포함하는 것을 특징으 로 한다.
본 발명의 다른 측면에 따른 프로그램 스트림을 전송 스트림으로 변환하는 데이터 스트림 포맷 변환 장치는, 상기 프로그램 스트림의 팩에 구비된 팩 헤더로부터 프로그램 다중화율을 추출하는 프로그램 스트림 해석부; 상기 추출된 프로그램 다중화율 및 팩 크기를 이용하여 전송 스트림 패킷 사이의 시간차인 전송 스트림 ATS(Arrival Time Stamp) 오프셋을 계산하는 전송 스트림 ATS 오프셋 계산부; 및 상기 팩에 구비된 PES 패킷들을 전송 스트림 패킷의 페이로드 크기에 따라 분할하고 상기 분할된 PES 패킷 각각에 전송 스트림 포맷에 따른 전송 스트림 패킷 헤더를 부가함으로써 연속적인 전송 스트림 패킷을 형성하며, 상기 팩과 상기 형성된 연속적인 전송 스트림 패킷의 동기화를 위해 삽입되는 널 패킷 중 적어도 하나의 널 패킷 대신에 고정된 PCR(Program Clock Reference) 패킷 식별자와 상기 전송 스트림 ATS 오프셋을 이용하여 계산된 PCR 값을 구비하는 전송 스트림 패킷을 삽입하는 전송 스트림 패킷 형성부를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.
먼저, 본 발명의 이해를 위하여 도 2 및 도 3을 참조하여 MPEG-2 표준안에 따른 프로그램 스트림 및 전송 스트림의 구조에 대하여 설명한다.
도 2는 MPEG-2 프로그램 스트림의 데이터 구조를 나타낸 참고도이다. 프로그램 스트림은 다수의 팩(pack)(200)으로 구성된 가변 길이 구조이며, 각 팩은 팩 헤더(pack header)(210) 및 다수의 PES 패킷(220)으로 구성된다. 일반적으로 DVD나 HD-DVD와 같이 프로그램 스트림 포맷으로 데이터를 기록하는 저장매체에서는 섹터 크기를 고려하여 하나의 팩은 2 KB의 크기를 갖는다. 팩 헤더(210)는 팩 개시 코드(pack start code), '01' 필드, 시스템 클럭 기준값(System Clock Reference, 이하 "SCR"이라 함)(211), 프로그램 다중화율(program mux rate)(212), 팩 스터핑 길이 필드(pack stuffing length), 팩 스터핑 바이트(pack stuffing byte) 및 시스템 헤더 필드를 구비한다. 시스템 헤더 필드는 시스템 헤더 시작 코드 필드(system header start code), 헤더 길이(header length) 필드, 레이트 바운드(rate bound) 필드, 오디오 바운드(audio bound) 필드, 고정 플래그(fixed flag) 필드, CSPS 필드, 오디오 락 플래그 필드, 비디오 락 플래그 필드 및 N 루프 필드를 구비한다. N 루프 필드는 스트림 식별자(stream id) 필드(213), "11" 필드, P-STD 버퍼 바운드 스케일 필드, P-STD 버퍼 크기 바운드 필드 및 기타 다른 필드를 구비한다. 상기 팩에 구비된 다수의 PES 패킷(220)들 각각은 헤더부와 데이터부를 갖는다. 후술되는 바와 같이 상기 팩 헤더(210)에 구비된 다양한 필드 중에서 SCR(211), 프로그램 다중화율(212) 및 스트림 식별자 필드(213)가 본 발명에 따라서 프로그램 스트림을 전송 스트림으로 변환하는 과정에 이용된다.
도 3은 MPEG-2 전송 스트림의 데이터 구조를 나타낸 참고도이다. 도 3에서는 하나의 전송 스트림 패킷(300) 및 이에 구비된 헤더(310) 및 페이로드(320)의 데이터 구조를 도시하고 있다. 전송 스트림은 복수 개의 188 바이트의 전송 스트림 패킷(이하 "TS 패킷"이라 함)으로 구성되며, 각 TS 패킷은 헤더(310) 및 페이로 드(320)를 구비한다. 헤더(310)는 동기화 바이트(sync byte) 필드, 전송 에러 표시자(transport error indicator) 필드, 페이로드 유닛 시작 표시(payload unit start indicator) 필드, 전송 우선 순위(transport priority) 필드, 패킷 식별자(Packet ID:PID) 필드(311), 전송 스크램블링 제어(transport scrambling control) 필드, 적응 필드 제어(adaptation field control) 필드, 연속 카운터(continuity counter) 필드 및 적응 필드(adaptation field)(312)를 구비한다. 적응 필드(312)는 또한 적응 필드 길이 필드, 불연속 카운터 필드, 랜덤 액세스 표시자 필드, 기본 스트림 우선 순위 표시자 필드, 선택 사양적 필드 및 스터핑 바이트 필드(313)를 구비한다. 상기 선택 사양적 필드는 다시 프로그램 클럭 기준값(Program Clock Reference, 이하 "PCR"이라 함) 필드(314), 구 프로그램 클록 기준값(Old Program Clock Reference:OPCR) 필드, 스플라이스 카운터 필드, 전송 기밀 데이터 길이 필드, 전송 기밀 데이터 필드, 적응 필드 확장 길이 필드 및 선택 사양적 필드를 가리키는 3 플래그 필드를 구비한다. 후술되는 바와 같이 상기 TS 패킷의 헤더(310)에 구비된 다양한 필드 중에서 패킷 식별자 필드(311) 및 PCR 필드(314)에 상기 프로그램 스트림 패킷으로부터 추출된 정보를 이용하여 계산된 값이 기록되며, 스터핑 바이트 필드(313)는 PES 패킷이 TS 패킷의 페이로드 크기보다 작은 경우, 부족한 PES 패킷을 보충하여 완전한 TS 패킷을 생성하는 경우에 이용된다.
도 4는 본 발명의 일 실시예에 따른 데이터 스트림 포맷 변환 방법을 나타낸 플로우 차트이고, 도 5는 본 발명의 일 실시예에 따른 데이터 스트림 포맷 변환 장치를 나타낸 블록도이다.
본 발명의 일 실시예에 따른 데이터 스트림 포맷 변환 방법 및 장치(500)는 전송 스트림 포맷에 있어서 PCR 값을 갖는 패킷(이하, "PCR 패킷"이라 함)의 식별자(PID)가 제한되지 않은 경우 프로그램 스트림을 전송 스트림으로 변환하는 경우에 관한 것이다. 도 5를 참조하면, 본 발명의 일 실시예에 따른 데이터 스트림 포맷 변환 장치(500)는 프로그램 스트림 해석부(510), PES 패킷 유형 판별부(520), PES 패킷 분할부(530) 및 전송 스트림 패킷 형성부(540)을 포함하며, 후술되는 바와 같이 SESF(Self Encode Stream Format) 전송 스트림 포맷을 지원하기 위한 경우 부가적으로 SESF 전송 스트림 패킷 형성부(550)를 더 포함한다.
프로그램 스트림 해석부(510)는 프로그램 스트림(PS)의 팩에 구비된 팩 헤더로부터 프로그램 스트림 다중화에 이용된 정보를 추출한다(단계 410). 여기서, 추출되는 정보는 상기 도 2에 도시된 바와 같은 SCR(211) 및 프로그램 다중화율(212) 값이 있다. 추출된 SCR 값은 최초 소스 패킷에 대한 ATS(Arrival Time Stamp) 초기값으로 적용된다. 또한, PCR 값을 갖는 패킷의 식별자(PID)가 특정값으로 제한되지 않은 경우에는 추출된 SCR 값을 팩에 대한 최초 TS 패킷의 적응 필드 내에 PCR 값으로 바로 적용할 수 있다. 추출된 프로그램 다중화율 값은 후술되는 바와 같이 프로그램 스트림에 구비된 팩 사이의 SCR 차이값을 나타내는 SCR 오프셋을 구하는데 이용된다.
PES 패킷 유형 판별부(520)는 팩에 구비된 PES 패킷 헤더로부터 추출된 스트림 식별자(stream ID)를 이용하여 팩에 구비된 PES 패킷들의 데이터 유형을 판별한다(단계 420). PES 패킷 분할부(530)는 PES 패킷들의 데이터 유형이 비디오 또는 오디오 데이터인 것으로 판별된 경우, PES 패킷들을 TS 패킷의 페이로드 크기에 따라 분할한다(단계 440). 일반적으로 TS 패킷의 페이로드 크기는 184바이트이므로, 상기 PES 패킷 분할부(530)는 프로그램 스트림에 구비된 PES 패킷들을 184 바이트로 분할할 수 있다.
전송 스트림 패킷 형성부(540)는 분할된 PES 패킷 각각에 전송 스트림 포맷에 따른 TS 패킷 헤더를 부가함으로써 연속적인 전송 스트림 패킷을 형성한다(단계 450). 이때, 상기 전송 스트림 패킷 형성부(540)는 상기 프로그램 스트림의 팩 헤더로부터 추출된 SCR 값을 최초로 형성된 TS 패킷의 헤더의 적응적 필드 내의 PCR 값으로 바로 적용한다. 또한, 전송 스트림 패킷 형성부(540)는 TS 패킷의 헤더를 형성할 때 상기 판별된 PES 패킷들의 데이터 유형을 이용하여 패킷 식별자(PID)를 결정한다. 즉, 전송 스트림 패킷 형성부(540)는 추출된 스트림 식별자(stream ID)가 비디오 스트림을 나타내면 비디오 스트림을 나타내는 패킷 식별자를 TS 패킷의 헤더에 삽입하고, 추출된 스트림 식별자가 오디오 스트림을 나타내면 오디오 스트림을 나타내는 패킷 식별자를 TS 패킷의 헤더에 삽입하며, 추출된 스트림 식별자가 네비게이션 데이터를 나타내면 PSI(Program Specific Informatio)/SI(System Information)을 나타내는 패킷 식별자를 TS 패킷의 헤더에 삽입한다. 여기서, 네비게이션 데이터에는 GCI(General Control Information), PCI(Presentation Control Information) 및 DSI(Data Search Information)가 있다. 스트림 식별자로부터 판별된 PES 패킷의 데이터가 상기와 같은 네비게이션 데이터에 해당되는 것으로 판단된 경우에는 현재 PES 패킷에 대한 처리를 대신하여 PSI/SI 패킷을 삽입하 며, 현재 팩에 대한 처리가 종료되었는지 여부를 확인하여 남은 공간은 널(null) 패킷을 삽입하여 프로그램 스트림의 팩과 생성된 전송 스트림 패킷 사이의 동기를 일치시키도록 한다(단계 460).
또한, 전송 스트림 패킷 형성부(540)는 프로그램 스트림의 팩 헤더로부터 추출된 프로그램 다중화율을 이용하여 다음의 수학식 1과 같이 프로그램 스트림에 구비된 팩 사이의 SCR 차이값을 나타내는 SCR 오프셋(offset)을 계산한다.
Figure 112006017148449-PAT00001
수학식 1에서 팩 크기(pack size)는 하나의 팩의 크기를 나타내는 것으로, 일반적으로 DVD나 HD-DVD와 같은 저장매체에서는 하나의 팩은 2Kbyte(=2048byte)의 크기를 갖는다. 예를 들어, 팩 헤더로부터 추출된 프로그램 다중화율이 10.08Mbps이고, 시스템 클럭이 27MHz라고 하면, 프로그램 스트림의 인접한 팩 사이의 SCR 값의 차이인 SCR 오프셋은 약 43885.7(s)의 값을 갖는다. 수학식 1에서 8을 곱하는 이유는 바이트 단위를 비트 단위로 환산하기 위한 것이다.
전송 스트림 패킷 형성부(540)는 PES 패킷 헤더에 구비된 PES 패킷 길이 필드(PES packet length)를 이용하여 PES 패킷 크기(PES packet size)를 계산한다. 여기서, PES 패킷 크기는 프로그램 스트림의 하나의 팩의 크기로부터 팩 헤더를 제외한 나머지 팩 부분의 크기를 나타내며 전송 스트림 패킷들의 페이로드에 할당되는 부분이다. 상기 PES 패킷 크기는 다음의 수학식 2와 같이 계산된다.
Figure 112006017148449-PAT00002
여기서 2 byte는 PES packet length 필드의 크기를 나타내며, 4 byte는 패킷 개시 코드 프리픽스 필드 및 스트림 식별자 필드를 합한 크기를 나타낸다. MPEG-2 PES 패킷 구조에 있어서 PES packet length 필드는 그 이후의 PES 패킷에 포함된 데이터의 크기를 나타내므로, 처리할 PES 패킷 크기를 구하기 위해서는 상기 수학식 2와 같이 PES packet length 필드의 크기, 패킷 개시 코드 프리픽스 필드 및 스트림 식별자 필드의 크기를 합해야 한다.
전송 스트림 패킷 형성부(540)는 상기 PES 패킷 크기를 전송 스트림 패킷의 페이로드 크기로 나누어서, 프로그램 스트림의 PES 패킷들을 변환하는데 필요한 전송 스트림 패킷의 개수를 구한다. 즉, 하나의 팩을 전송 스트림 패킷으로 변환하는데 필요한 전송 스트림 패킷의 개수(TS packet count in one pack)를 구한다. 예를 들어, PES 패킷 크기를 2034 byte, 전송 스트림 패킷의 페이로드 크기를 184 byte라고 하면 팩에 구비된 PES 패킷을 전송 스트림 패킷의 페이로드에 분할하여 할당하는 경우 필요한 전송 스트림 패킷의 개수(TS packet count in one pack)는 2034/184≒11.05이다. 이 경우, 적어도 12개의 전송 스트림 패킷이 프로그램 스트림의 PES 패킷의 데이터를 할당하기 위하여 필요하다. 전송 스트림 패킷 형성부(540)는 상기 필요한 전송 스트림 패킷의 개수(TS packet count in one pack)와 현재 처리된 전송 스트림 패킷의 개수를 비교하여 프로그램 스트림에 구비된 모든 PES 패킷들이 전송 스트림 패킷으로 변환되었는지 여부를 확인할 수 있다(단계 470). 만약, 처리할 PES 패킷이 남아있는 경우에는 상기 단계를 반복하게 된다.
전송 스트림 패킷 형성부(540)는 처리할 PES 패킷 크기에서 하나의 전송 스트림 패킷을 형성할 때마다 필요한 전송 스트림 패킷의 페이로드 크기를 상기 PES 패킷 크기로부터 감산한다. 그리고, 전송 스트림 패킷 형성부(540)는 전송 스트림 패킷 형성 과정이 반복되어 처리할 PES 패킷 크기가 전송 스트림 패킷의 최대 페이로드 크기(184 byte)보다 작으면, 해당 전송 스트림 패킷을 생성하는데 있어서 부족한 전송 스트림 패킷의 페이로드 공간은 적응 필드 내에 스터프(stuff) 바이트를 적용하여 188 byte의 전송 스트림 패킷을 생성한다.
한편, 전송 스트림 패킷 형성부(540)는 생성된 연속적인 전송 스트림 패킷을 SESF(Self Encode Stream Format) 전송 스트림 포맷으로 변환할 필요가 있는 경우, 엑스트라 헤더에 삽입되는 ATS(Arrival Time Stamp)값을 계산하기 위해서 전송 스트림 패킷 사이의 시간차를 나타내는 전송 스트림 ATS 오프셋(TS ATS offset)을 계산한다. 전송 스트림 ATS 오프셋은 상기 수학식 1에서 계산된 SCR 오프셋(SCR offset)과 팩에 구비된 PES 패킷을 전송 스트림 패킷의 페이로드에 분할하여 할당하는 경우 필요한 전송 스트림 패킷의 개수(TS packet count in one pack)를 이용하여 다음의 수학식 3과 같이 계산될 수 있다.
Figure 112006017148449-PAT00003
상기 예에서 SCR 오프셋 값을 43885.7, PES 패킷을 전송 스트림 패킷의 페이로드에 분할하여 할당하는 경우 필요한 전송 스트림 패킷의 개수(TS packet count in one pack)를 12개라 하면 전송 스트림 ATS 오프셋 값은 43885.7/12≒3657.14가 된다.
SESF는 아날로그 입력신호를 부호화하거나 디지털 입력 신호를 디코드하고 나서 MPEG 전송 스트림으로 부호화하는 경우 이용되는 포맷으로 블루레이 디스크(Blu-ray disc)에서 데이터의 기록시에 이용된다. SESF 전송 스트림 포맷을 지원하기 위해서는 통상의 188 바이트의 전송 스트림 패킷의 앞 단에 4 바이트의 전송스트림 패킷 엑스트라 헤더(TP extra header)를 부가하여 192 바이트의 소스 패킷을 구성한다. 4 바이트의 전송 부가 헤더는 2 비트의 복사 허용 표시자(copy permission indicator) 및 30 비트의 ATS(Arrival Time Stamp) 필드로 구성된다.
SESF 전송 스트림 패킷 형성부(550)는 전송 스트림 ATS 오프셋 값을 이용하여, 전송 스트림 패킷 형성부(540)로부터 출력되는 전송 스트림 패킷 각각에 4 바이트의 엑스트라 헤더를 부가한다. 이 때, SESF 전송 스트림 패킷 형성부(550)는 현재 처리되는 전송 스트림 패킷 이전에 k(k는 정수)개의 전송 스트림 패킷이 형성된 경우, (k×전송 스트림 ATS 오프셋) 값을 상기 현재 처리되는 전송 스트림 패킷의 엑스트라 헤더의 ATS에 삽입한다. 즉, SESF 전송 스트림 패킷 형성부(550)는 이전 전송 스트림 패킷의 ATS 값과 전송 스트림 ATS 오프셋 값을 더하여 새롭게 갱신된 ATS 값을 전송 스트림 패킷 엑스트라 헤더에 적용함으로써, 블루레이 디스크 등에서 이용되는 SESF 전송 스트림 포맷을 지원하는 소스 패킷을 형성한다.
도 6 내지 도 8은 본 발명의 일 실시예에 따라서 프로그램 스트림의 팩을 전송 스트림 패킷으로 변환하는 과정의 예들을 나타낸 도면이다. 도 6은 한 개의 팩 내에 데이터 패킷만이 존재하는 경우를 나타내고, 도 7은 한 개의 팩 내에 데이터 패킷과 패딩(padding) 패킷이 존재하는 경우를 나타내며, 도 8은 한 개의 팩 내에 네비게이션 데이터가 존재하는 경우를 나타낸다.
도 6을 참조하면, 프로그램 스트림의 팩 헤더(610)에서 추출된 SCR값은 대응되는 전송 스트림 패킷의 헤더 중 적응 필드(611)의 PCR 필드에 기록된다. 또한, 프로그램 스트림의 PES 팩 헤더(620)는 그대로 전송 스트림 패킷의 페이로드 부분(621)에 삽입되고, 첫 번째 전송 스트림 패킷의 페이로드 부분 중 나머지 공간(631)에는 PES 페이로드 데이터의 일부분(630)이 삽입된다. 프로그램 스트림에 구비된 나머지 PES 페이로드 부분은 전송 스트림 패킷의 페이로드 크기로 분할되어 각각 전송 스트림 패킷의 페이로드 부분에 삽입된다. 전술한 바와 같이, 상기 전송 스트림 패킷의 패킷 식별자 필드에는 상기 프로그램 스트림의 스트림 식별자로부터 추출된 데이터 유형에 대응되는 패킷 식별자 값이 삽입된다. 이와 같은 과정을 반복하여 프로그램 스트림에 구비된 모든 PES 패킷들을 전송 스트림 패킷 페이로드에 분할하여 삽입하게 된다. 만약, 도면 부호 670에 도시된 바와 같이, 잔여 PES 패킷 부분(670)이 전송 스트림 패킷의 페이로드 크기인 184 byte보다 작은 경우에는, 상기 잔여 PES 패킷 부분(670)을 전송 스트림 패킷의 페이로드(671)에 삽입하고, 부족한 전송 스트림 패킷의 페이로드 공간은 적응 필드 내에 스터프(stuff) 바이트를 적용하여 188 byte의 전송 스트림 패킷을 생성한다.
도 7을 참조하면 팩 크기를 유지하기 위해 패딩 패킷(710)이 존재하는 경우에는 팩과의 동기화를 위해서 널 패킷(711)을 삽입한다. 이 때 삽입되는 널 패킷의 개수는 하나의 팩을 전송 스트림 패킷으로 변환하는 과정에 필요한 전송 스트림 패킷의 개수(TS packet count in one pack)로부터 널 패킷을 제외한 PES 패킷을 분할하여 생성된 전송 스트림 패킷의 개수를 감산하여 계산될 수 있다.
도 8을 참조하면, 현재 처리되는 프로그램 스트림의 팩이 GCI(810), PCI(820) 및 DSI(830)를 구비하는 네비게이션 팩에 해당되는 경우에는, 현재 PES 패킷에 대한 처리를 대신하여 PSI/SI 패킷을 삽입하며 현재 팩에 대한 처리가 종료되었는지 여부를 확인하여 남은 공간은 널(null) 패킷(870)을 삽입하여 프로그램 스트림의 팩과 생성된 전송 스트림 패킷 사이의 동기를 일치시키도록 한다.
한편, 전술한 본 발명의 일 실시예에 따른 데이터 스트림 포맷 변환 방법 및 장치에 따라 프로그램 스트림을 전송 스트림 포맷으로 변환할 때 최소 전송 스트림 다중화율(MIN TS mux rate)는 다음의 수학식 4와 같이 계산된다.
Figure 112006017148449-PAT00004
상기 예와 같이, 전송 스트림 ATS 오프셋 값이 3657.14, 전송 스트림 패킷 크기를 188 byte, 시스템 클럭을 27MHz 인 경우, 최소 전송 스트림 다중화율은 (188*8)*27000000/3657.14≒11.1(Mbps)가 된다. 이 때 프로그램 다중화율보다 전송 스트림 다중화율이 더 높은 이유는 전송 스트림이 프로그램 스트림에 비하여 동 일 시간 내에 더 많은 데이터를 전송하기 때문이다.
도 9는 본 발명의 다른 실시예에 따른 데이터 스트림 포맷 변환 방법을 나타낸 플로우 차트이고, 도 10는 본 발명의 다른 실시예에 따른 데이터 스트림 포맷 변환 장치를 나타낸 블록도이다.
본 발명의 다른 실시예에 따른 데이터 스트림 포맷 변환 방법 및 장치는 전송 스트림 포맷에 있어서 PCR 값을 갖는 패킷의 식별자(PID)가 제한되어 있는 경우 프로그램 스트림을 전송 스트림으로 변환하는 경우에 관한 것이다. 예를 들어, SESF 전송 스트림 포맷을 이용하는 블루레이 디스크에서는 PCR 패킷의 패킷 식별자가 "0x1001"로 제한된다. 다시 말해서, PCR값을 갖는 패킷의 식별자가 제한되는 경우란, 임의의 전송 스트림 패킷에 PCR 값을 삽입하지 못하고 특별한 패킷 식별자를 갖는 전송 스트림 패킷만이 PCR 값을 갖는 경우를 말한다. 전술한 본 발명의 일 실시예에 따르면 비디오 또는 오디오 데이터를 구비한 전송 스트림 패킷의 적응 필드 내에 PCR 값을 삽입할 수 있으나, 본 발명의 다른 실시예와 같은 경우에는 임의의 전송 스트림 패킷에 PCR 값을 삽입할 수 없으므로 별도의 취급을 요한다. 본 발명의 다른 실시예에 있어서는 PCR 값을 프로그램 스트림의 팩과 전송 스트림 패킷 사이의 동기를 위해 삽입되는 널 패킷을 대체하는 전송 스트림 패킷을 이용하여 삽입한다.
도 10을 참조하면, 본 발명의 다른 실시예에 따른 데이터 스트림 포맷 변환 장치(1000)는 프로그램 스트림 해석부(1010), 전송 스트림 패킷 형성부(1020) 및 전송 스트림 ATS 오프셋 계산부(1030)를 포함한다.
프로그램 스트림 해석부(1010)는 프로그램 스트림(PS)의 팩에 구비된 팩 헤더로부터 프로그램 다중화율을 추출하고, PES 패킷 헤더로부터는 PES 길이 정보를 추출한다(단계 910).
전송 스트림 ATS 오프셋 계산부(1030)는 PCR 패킷에 삽입되는 PCR 값을 계산하기 위하여 상기 추출된 프로그램 다중화율 및 팩 크기를 이용하여 연속적인 전송 스트림 패킷 사이의 시간차인 전송 스트림 ATS 오프셋을 계산한다(단계 920). 구체적으로, 전송 스트림 ATS 오프셋 계산부(1030)는 상기 수학식 1을 이용하여 프로그램 스트림에 구비된 팩 사이의 SCR 값의 차이인 SCR 오프셋을 계산한다. 다음 전송 스트림 ATS 오프셋 계산부(1030)는 추출된 PES 패킷 길이를 상기 수학식 2에 대입하여 하나의 팩에 구비된 PES 패킷 크기를 계산하고, 계산된 PES 패킷 크기를 전송 스트림 패킷의 페이로드 크기로 나누어 하나의 팩에 구비된 PES 패킷을 전송 스트림으로 변환하는 경우 필요한 전송 스트림 패킷의 개수(TS packet count in one pack)를 구한다. 다음, 전송 스트림 ATS 오프셋 계산부(1030)는 상기 수학식 3과 같이 SCR 오프셋 값을 PES 패킷을 전송 스트림으로 변환하는 경우 필요한 전송 스트림 패킷의 개수(TS packet count in one pack)로 나누어 전송 스트림 ATS 오프셋을 계산한다.
전송 스트림 패킷 형성부(1020)는 본 발명의 일 실시예와 같이, 팩에 구비된 PES 패킷들을 전송 스트림 패킷의 페이로드 크기에 따라 분할하고, 분할된 PES 패킷 각각에 전송 스트림 포맷에 따른 전송 스트림 패킷 헤더를 부가함으로써 연속적인 전송 스트림 패킷을 형성한다(단계 930). 이 때, 전송 스트림 패킷 식별자 (PID) 필드에는 PES 패킷 헤더로부터 추출된 스트림 식별자로부터 판별된 PES 패킷들의 유형에 대응되는 패킷 식별자가 부여된다. 본 발명의 다른 실시예에 따르면 PCR 값을 갖는 패킷 식별자는 제한되어 있기 때문에, 본 발명의 일 실시예에서와 같이 팩 헤더로부터 추출된 SCR 값이 바로 전송 스트림 패킷 헤더의 PCR 필드에 적용될 수 없다. 그 대신에 전송 스트림 ATS 오프셋을 이용하여 계산된 PCR값을 갖으며 고정된 PCR 패킷 식별자를 갖는 전송 스트림 패킷을 이용한다. 특히, PCR 패킷은 네비게이션 팩이나 패딩 패킷의 존재시에 팩과 전송 스트림 패킷의 동기화를 위해 삽입되는 널 패킷 중 적어도 하나의 널 패킷을 대체하여 삽입된다. 널 패킷을 대체하여 삽입되는 PCR 패킷은 PCR 값을 구비하고 있음을 나타내는 고정된 PCR 패킷 식별자를 갖고, 적응 필드 내에 상기 전송 스트림 ATS 오프셋으로부터 계산된 PCR 값을 갖는 전송 스트림 패킷이다. 상기 PCR 패킷이 삽입되는 널 패킷 이전에 처리된 전송 스트림 패킷의 개수를 k(k는 정수)라 할 때, PCR 패킷의 적응 필드 내의 PCR 값은 (k×전송 스트림 ATS 오프셋) 값을 갖는다.
한편, 생성된 전송 스트림이 SESF에 따른 전송 스트림 포맷을 지원하기 위해서, 전술한 본 발명의 일 실시예에서와 같이 전송 스트림 패킷 각각에 4 바이트의 엑스트라 헤더를 부가하는 SESF 전송 스트림 패킷 형성부(미도시)가 더 포함될 수 있다.
도 11 내지 도 13은 본 발명의 다른 실시예에 따라서 프로그램 스트림의 팩을 전송 스트림 패킷으로 변환하는 과정의 예들을 나타낸 도면이다. 도 11은 한 개의 팩 내에 데이터 패킷만이 존재하는 경우를 나타내고, 도 12는 한 개의 팩 내 에 데이터 패킷과 패딩(padding) 패킷이 존재하는 경우를 나타내며, 도 13은 한 개의 팩 내에 네비게이션 데이터가 존재하는 경우를 나타낸다.
도 11을 참조하면, 본 발명의 다른 실시예의 경우 PCR 값을 갖는 패킷 식별자가 고정되어 있기 때문에 프로그램 스트림의 팩 헤더(1110)에서 추출된 SCR값을 이용하지 않고, 전송 스트림 패킷의 헤더(1140) 내의 적응 필드(611)의 PCR 필드를 이용하지 않는다. 프로그램 스트림의 PES 팩 헤더(1120)는 그대로 전송 스트림 패킷의 페이로드 부분(1150)에 삽입되고, 첫 번째 전송 스트림 패킷의 페이로드 부분 중 나머지 공간(1160)에는 PES 페이로드 데이터의 일부분(1130)이 삽입된다. 본 발명의 일 실시예에서와 마찬가지로, 프로그램 스트림에 구비된 나머지 PES 페이로드 부분은 전송 스트림 패킷의 페이로드 크기로 분할되어 각각 전송 스트림 패킷의 페이로드 부분에 삽입된다. 이 때, PES 패킷 헤더 내에 존재하는 PTS/DTS 값을 별도의 다른 처리 없이 그대로 분할하여 전송 스트림 패킷의 페이로드에 삽입한다. 이는 본 발명에 있어서 팩 내의 SCR 값을 참조하여 전송 스트림 패킷의 PCR 값을 계산하기 때문에 프로그램 스트림의 팩 헤더에 존재하는 PTS/DTS 역시 그대로 적용할 수 있다. 전술한 바와 같이, 상기 전송 스트림 패킷의 패킷 식별자 필드에는 상기 프로그램 스트림의 스트림 식별자로부터 추출된 데이터 유형에 대응되는 패킷 식별자 값이 삽입된다. 이와 같은 과정을 반복하여 프로그램 스트림에 구비된 모든 PES 패킷들을 전송 스트림 패킷 페이로드에 분할하여 삽입하게 된다. 잔여 PES 패킷 부분이 전송 스트림 패킷의 페이로드 크기인 184 byte보다 작은 경우에는, 부족한 전송 스트림 패킷의 페이로드 공간은 적응 필드 내에 스터프(stuff) 바이트를 적용하여 188 byte의 전송 스트림 패킷을 생성한다.
도 12를 참조하면 팩 크기를 유지하기 위해 패딩 패킷(1210)이 존재하는 경우에는 팩과의 동기화를 위해서 널 패킷을 삽입한다. 특히, 본 발명의 다른 실시예에 따르면 팩과 전송 스트림 패킷의 동기화를 위해 삽입되는 널 패킷 중 적어도 하나의 널 패킷 대신에 고정된 PCR 식별자와 전송 스트림 ATS 오프셋을 이용하여 계산된 PCR 값을 구비하는 전송 스트림 패킷인 PCR 패킷(1220)을 삽입한다. 도 12에서는 최초 널 패킷 대신에 PCR 패킷을 삽입한 경우를 도시하였지만, 반드시 최초 널 패킷 대신에 PCR 패킷을 삽입할 필요는 없고, 디코더 단에서 요구되는 PCR 패킷의 주기를 고려하여 삽입되는 PCR 패킷의 개수를 증가시킬 수 있다.
도 13을 참조하면, 현재 처리되는 프로그램 스트림의 팩이 네비게이션 팩에 해당되는 경우에는, 현재 PES 패킷에 대한 처리를 대신하여 PSI/SI 패킷을 삽입하고 현재 팩에 대한 처리가 종료되었는지 여부를 확인하여 남은 공간은 널(null) 패킷을 삽입하여 프로그램 스트림의 팩과 생성된 전송 스트림 패킷 사이의 동기를 일치시킨다. 이 때, 전술한 바와 같이 삽입되는 널 패킷을 대신하여 고정된 PCR 식별자와 적응 필드 내에 전송 스트림 ATS 오프셋을 이용하여 계산된 PCR 값을 구비하는 전송 스트림 패킷인 PCR 패킷(1310)을 삽입한다.
본 발명에 따른 데이터 스트림 포맷 변환 방법 및 장치는 프로그램 스트림 포맷으로 기록 매체에 저장된 데이터를 추출하고, 상기 추출된 프로그램 스트림을 전송 스트림 포맷으로 변환하여 기록하는 장치에도 적용될 수 있다. 이 경우, 상기 프로그램 스트림을 전송 스트림 포맷으로 변환하여 기록하는 장치는 전술한 본 발명에 따른 데이터 포맷 변환 장치의 구성에 추가하여, 기록 매체에 저장된 프로그램 스트림 포맷의 데이터 중 하나의 팩을 추출하는 독출부와 상기 본 발명에 따른 데이터 포맷 변환 장치에 의해 변환된 전송 스트림을 소정의 기록 매체에 기록하는 기록부가 더 포함될 수 있다. 이와 같은 기록 장치는 HD-DVD나 DVD 기록 매체와 같이 프로그램 스트림 포맷 형식으로 데이터가 기록된 소정의 저장매체로부터 데이터를 추출하고, 추출된 프로그램 스트림을 전송 스트림 포맷으로 변환하여 블루레이 디스크와 같이 전송 스트림 포맷을 이용하는 저장 매체에 변환된 데이터를 저장하는 데 이용될 수 있다.
한편, 전술한 데이터 스트림 포맷 변환 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 소정의 연산 장치에 의하여 읽혀지고 실행됨으로써 데이터 스트림 포맷 변환 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
전술한 본 발명에 따르면 프로그램 스트림을 전송 스트림으로 변환하는 과정에서 프로그램 스트림에 대한 역다중화 과정을 생략할 수 있다. 즉, 본 발명은 프로그램 스트림의 시간 정보를 활용하여 전송 스트림 내의 시간 정보를 계산하는 과정이 생략됨으로써 효율적인 데이터 스트림 포맷을 제공하며, 프로그램 스트림과 전송 스트림 모두를 지원하는 기록 및/또는 재생 장치에서 데이터 스트림 포맷의 변환에 이용될 수 있다.

Claims (36)

  1. 프로그램 스트림을 전송 스트림으로 변환하는 데이터 스트림 포맷 변환 방법에 있어서,
    (a) 상기 프로그램 스트림의 팩에 구비된 팩 헤더로부터 SCR(System Clock Reference) 및 프로그램 다중화율을 추출하는 단계;
    (b) 상기 팩에 구비된 PES(Packetized Elementary Stream) 패킷 헤더로부터 추출된 스트림 식별자를 이용하여 상기 팩에 구비된 PES 패킷들의 데이터 유형을 판별하는 단계;
    (c) 상기 판별된 데이터 유형이 비디오 또는 오디오 데이터인 경우, 상기 PES 패킷들을 전송 스트림 패킷의 페이로드 크기에 따라 분할하는 단계; 및
    (d) 상기 분할된 PES 패킷 각각에 전송 스트림 포맷에 따른 전송 스트림 패킷 헤더를 부가함으로써 연속적인 전송 스트림 패킷을 형성하고, 상기 연속적인 전송 스트림 패킷 중 최초로 형성된 전송 스트림 패킷 헤더에 구비된 적응적 필드의 PCR(Program Clock Reference)을 상기 추출된 SCR과 동일하게 설정하는 단계를 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  2. 제 1항에 있어서, 상기 (c) 단계는
    상기 PES 패킷 헤더로부터 추출된 PES 패킷 길이 정보를 이용하여 상기 팩에 구비된 PES 패킷 크기를 계산하고, 상기 PES 패킷 크기를 최대 전송 스트림 패킷의 페이로드 값으로 나누어 상기 팩에 구비된 모든 PES 패킷을 전송 스트림 패킷으로 변환하는 경우 필요한 전송 스트림 패킷의 개수를 계산하는 단계를 더 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  3. 제 2항에 있어서, 상기 PES 패킷 크기는
    상기 추출된 PES 패킷 길이 정보에 패킷 개시 코드 및 스트림 식별자의 길이를 더하여 계산되는 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  4. 제 1항에 있어서, 상기 (d) 단계는
    상기 전송 스트림 패킷이 형성될 때마다 상기 PES 패킷 크기로부터 상기 전송 스트림 패킷의 페이로드 크기를 감산하여 잔여 PES 패킷 크기를 계산하고 상기 잔여 PES 패킷 크기가 상기 전송 스트림 패킷의 페이로드 크기보다 작은 경우, 상기 전송 스트림 패킷 헤더의 적응적 필드에 스터프(stuff) 바이트를 삽입하는 단계를 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  5. 제 1항에 있어서, 상기 (d) 단계는
    상기 분할된 PES 패킷이 패딩 패킷에 해당되는 경우에는 상기 전송 스트림 패킷으로 널 패킷을 삽입하는 단계를 더 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  6. 제 1항에 있어서, 상기 (d) 단계는
    상기 판별된 PES 패킷의 데이터 유형에 따라서 상기 전송 스트림 패킷의 식별자를 부여하는 것을 특징으로 하는 데이트 스트림 포맷 변환 방법.
  7. 제 1항에 있어서,
    (e) 상기 판별된 데이터 유형이 네비게이션 데이터인 경우, 상기 팩에 구비된 PES 패킷의 네비게이션 정보를 PSI(Program Specific Information) 또는 SI(System Information) 패킷으로 대체하는 단계를 더 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  8. 제 1항에 있어서,
    (f) SESF(Self Encode Stream Format)에 따른 전송 스트림을 지원하기 위해서, 상기 형성된 연속적인 전송 스트림 패킷 각각에 복사 허용 식별자 및 ATS 필드를 구비한 엑스트라 헤더를 부가하는 단계를 더 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  9. 제 8항에 있어서, 상기 (f) 단계는
    (f-1) 상기 추출된 프로그램 다중화율, 상기 팩 크기 및 시스템 클럭을 이용하여 상기 프로그램 스트림에 구비된 팩 사이의 SCR 값의 차이인 SCR 오프셋을 계산하는 단계;
    (f-2) 상기 계산된 SCR 오프셋을 상기 하나의 팩에 구비된 모든 PES 패킷을 전송 스트림 패킷으로 변환하는 경우 필요한 전송 스트림 패킷의 개수로 나누어 전송 스트림 패킷 사이의 시간차인 전송 스트림 ATS(Arrival Time Stamp) 오프셋을 계산하는 단계; 및
    (f-3) 상기 형성된 연속적인 전송 스트림 패킷들 중 현재 처리되는 전송 스트림 패킷 이전에 k(k는 정수)개의 전송 스트림 패킷이 형성된 경우, (k×전송 스트림 ATS 오프셋) 값을 상기 현재 처리되는 전송 스트림 패킷의 엑스트라 헤더의 ATS에 삽입하는 단계를 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  10. 제 9항에 있어서,
    상기 추출된 프로그램 다중화율을 m, 상기 팩 크기를 s, 시스템 클럭을 c라고 할 때, 상기 SCR 오프셋은
    Figure 112006017148449-PAT00005
    인 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  11. 프로그램 스트림을 전송 스트림으로 변환하는 데이터 스트림 포맷 변환 장치에 있어서,
    상기 프로그램 스트림의 팩에 구비된 팩 헤더로부터 SCR(System Clock Reference) 및 프로그램 다중화율을 추출하는 프로그램 스트림 해석부;
    상기 팩에 구비된 PES(Packetized Elementary Stream) 패킷 헤더로부터 추출된 스트림 식별자를 이용하여 상기 팩에 구비된 PES 패킷들의 데이터 유형을 판별하는 PES 패킷 유형 판별부;
    상기 판별된 데이터 유형이 비디오 또는 오디오 데이터인 경우, 상기 PES 패킷들을 전송 스트림 패킷의 페이로드 크기에 따라 분할하는 PES 패킷 분할부; 및
    상기 분할된 PES 패킷 각각에 전송 스트림 포맷에 따른 전송 스트림 패킷 헤더를 부가함으로써 연속적인 전송 스트림 패킷을 형성하고, 상기 연속적인 전송 스트림 패킷 중 최초로 형성된 전송 스트림 패킷 헤더에 구비된 적응적 필드의 PCR(Program Clock Reference)을 상기 추출된 SCR과 동일하게 설정하는 전송 스트림 패킷 형성부를 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 장치.
  12. 제 11항에 있어서, 상기 PES 패킷 분할부는
    상기 PES 패킷 헤더로부터 추출된 PES 패킷 길이 정보를 이용하여 상기 팩에 구비된 PES 패킷 크기를 계산하고, 상기 PES 패킷 크기를 최대 전송 스트림 패킷의 페이로드 값으로 나누어 상기 팩에 구비된 모든 PES 패킷을 전송 스트림 패킷으로 변환하는 경우 필요한 전송 스트림 패킷의 개수를 계산하는 것을 특징으로 하는 데이터 스트림 포맷 변환 장치.
  13. 제 12항에 있어서, 상기 처리할 총 PES 패킷 크기는
    상기 추출된 PES 패킷 길이 정보에 패킷 개시 코드 및 스트림 식별자의 길이 를 더하여 계산되는 것을 특징으로 하는 데이터 스트림 포맷 변환 장치.
  14. 제 11항에 있어서, 상기 전송 스트림 패킷 형성부는
    상기 전송 스트림 패킷이 형성될 때마다 상기 PES 패킷 크기로부터 상기 전송 스트림 패킷의 페이로드 크기를 감산하여 잔여 PES 패킷 크기를 계산하고 상기 잔여 PES 패킷 크기가 상기 전송 스트림 패킷의 페이로드 크기보다 작은 경우, 상기 전송 스트림 패킷 헤더의 적응적 필드에 스터프(stuff) 바이트를 삽입하는 것을 특징으로 하는 데이터 스트림 포맷 변환 장치.
  15. 제 11항에 있어서, 상기 전송 스트림 패킷 형성부는
    상기 분할된 PES 패킷이 패딩 패킷에 해당되는 경우에는 상기 전송 스트림 패킷으로 널 패킷을 삽입하는 것을 특징으로 하는 데이터 스트림 포맷 변환 장치.
  16. 제 11항에 있어서, 상기 전송 스트림 패킷 형성부는
    상기 판별된 PES 패킷의 데이터 유형에 따라서 상기 전송 스트림 패킷의 식별자를 부여하는 것을 특징으로 하는 데이트 스트림 포맷 변환 장치.
  17. 제 11항에 있어서, 상기 전송 스트림 패킷 형성부는
    상기 판별된 데이터 유형이 네비게이션 데이터인 경우, 상기 팩에 구비된 PES 패킷의 네비게이션 정보를 PSI(Program Specific Information) 또는 SI(System Information) 패킷으로 대체하는 것을 특징으로 하는 데이터 스트림 포맷 변환 장치.
  18. 제 11항에 있어서,
    SESF(Self Encode Stream Format)에 따른 전송 스트림을 지원하기 위해서, 상기 형성된 연속적인 전송 스트림 패킷 각각에 복사 허용 식별자 및 ATS 필드를 구비한 엑스트라 헤더를 부가하는 SESF 전송 스트림 패킷 형성부를 더 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 장치.
  19. 제 18항에 있어서, 상기 SESF 전송 스트림 패킷 형성부는
    상기 추출된 프로그램 다중화율, 상기 팩 크기 및 시스템 클럭을 이용하여 상기 프로그램 스트림에 구비된 팩 사이의 SCR 값의 차이인 SCR 오프셋을 계산하는 SCR 오프셋 계산부;
    상기 계산된 SCR 오프셋을 상기 하나의 팩에 구비된 모든 PES 패킷을 전송 스트림 패킷으로 변환하는 경우 필요한 전송 스트림 패킷의 개수로 나누어 전송 스트림 패킷 사이의 시간차인 전송 스트림 ATS(Arrival Time Stamp) 오프셋을 계산하는 전송 스트림 ATS 오프셋 계산부; 및
    상기 형성된 연속적인 전송 스트림 패킷들 중 현재 처리되는 전송 스트림 패킷 이전에 k(k는 정수)개의 전송 스트림 패킷이 형성된 경우, (k×전송 스트림 ATS 오프셋) 값을 상기 현재 처리되는 전송 스트림 패킷의 엑스트라 헤더의 ATS에 삽입 하는 엑스트라 헤더 삽입부를 더 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 장치.
  20. 제 19항에 있어서,
    상기 추출된 프로그램 다중화율을 m, 상기 팩 크기를 s, 시스템 클럭을 c라고 할 때, 상기 SCR 오프셋은
    Figure 112006017148449-PAT00006
    인 것을 특징으로 하는 데이터 스트림 포맷 변환 장치.
  21. 프로그램 스트림을 전송 스트림으로 변환하는 데이터 스트림 포맷 변환 방법에 있어서,
    (a) 상기 프로그램 스트림의 팩에 구비된 팩 헤더로부터 프로그램 다중화율을 추출하는 단계;
    (b) 상기 팩 크기 및 추출된 프로그램 다중화율을 이용하여 전송 스트림 패킷 사이의 시간차인 전송 스트림 ATS(Arrival Time Stamp) 오프셋을 계산하는 단계;
    (c) 상기 팩에 구비된 PES 패킷들을 전송 스트림 패킷의 페이로드 크기에 따라 분할하고, 상기 분할된 PES 패킷 각각에 전송 스트림 포맷에 따른 전송 스트림 패킷 헤더를 부가함으로써 연속적인 전송 스트림 패킷을 형성하는 단계; 및
    (d) 상기 팩과 상기 형성된 연속적인 전송 스트림 패킷의 동기화를 위해 삽 입되는 널 패킷 중 적어도 하나의 널 패킷 대신에, 고정된 PCR(Program Clock Reference) 패킷 식별자와 상기 전송 스트림 ATS 오프셋을 이용하여 계산된 PCR 값을 구비하는 전송 스트림 패킷을 삽입하는 단계를 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  22. 제 21항에 있어서, 상기 (b) 단계는
    (b-1) 상기 추출된 프로그램 다중화율, 상기 팩 크기 및 시스템 클럭을 이용하여 상기 프로그램 스트림에 구비된 팩 사이의 SCR 값의 차이인 SCR 오프셋을 계산하는 단계; 및
    (b-2) 상기 계산된 SCR 오프셋을 상기 팩에 구비된 모든 PES 패킷을 전송 스트림 패킷으로 변환하는 경우 필요한 전송 스트림 패킷의 개수로 나누어 상기 전송 스트림 ATS 오프셋을 계산하는 단계를 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  23. 제 22항에 있어서,
    상기 추출된 프로그램 다중화율을 m, 상기 팩 크기를 s, 시스템 클럭을 c라고 할 때, 상기 SCR 오프셋은
    Figure 112006017148449-PAT00007
    인 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  24. 제 21항에 있어서, 상기 (c) 단계는
    상기 PES 패킷 헤더로부터 추출된 스트림 식별자로부터 판별된 PES 패킷들의 유형에 따라서 상기 전송 스트림 패킷의 식별자를 부여하는 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  25. 제 21항에 있어서, 상기 PCR 값은
    상기 PCR 패킷이 삽입되는 널 패킷 이전에 처리된 전송 스트림 패킷의 개수를 k(k는 정수)라 할 때, (k×전송 스트림 ATS 오프셋) 값을 갖는 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  26. 제 21항에 있어서,
    (e) SESF(Self Encode Stream Format)에 따른 전송 스트림을 지원하기 위해서, 상기 형성된 연속적인 전송 스트림 패킷 각각에 4 바이트의 엑스트라 헤더를 부가하는 단계를 더 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  27. 프로그램 스트림을 전송 스트림으로 변환하는 데이터 스트림 포맷 변환 장치에 있어서,
    상기 프로그램 스트림의 팩에 구비된 팩 헤더로부터 프로그램 다중화율을 추출하는 프로그램 스트림 해석부;
    상기 추출된 프로그램 다중화율 및 팩 크기를 이용하여 전송 스트림 패킷 사 이의 시간차인 전송 스트림 ATS(Arrival Time Stamp) 오프셋을 계산하는 전송 스트림 ATS 오프셋 계산부; 및
    상기 팩에 구비된 PES 패킷들을 전송 스트림 패킷의 페이로드 크기에 따라 분할하고 상기 분할된 PES 패킷 각각에 전송 스트림 포맷에 따른 전송 스트림 패킷 헤더를 부가함으로써 연속적인 전송 스트림 패킷을 형성하며, 상기 팩과 상기 형성된 연속적인 전송 스트림 패킷의 동기화를 위해 삽입되는 널 패킷 중 적어도 하나의 널 패킷 대신에 고정된 PCR(Program Clock Reference) 패킷 식별자와 상기 전송 스트림 ATS 오프셋을 이용하여 계산된 PCR 값을 구비하는 전송 스트림 패킷을 삽입하는 전송 스트림 패킷 형성부를 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 장치.
  28. 제 27항에 있어서, 상기 전송 스트림 패킷 형성부는
    상기 PES 패킷 헤더로부터 추출된 스트림 식별자로부터 판별된 PES 패킷들의 유형에 따라서 상기 전송 스트림 패킷의 식별자를 부여하는 것을 특징으로 하는 데이터 스트림 포맷 변환 장치.
  29. 제 27항에 있어서, 상기 전송 스트림 ATS 오프셋 계산부는
    상기 추출된 프로그램 다중화율, 상기 팩 크기 및 시스템 클럭을 이용하여 상기 프로그램 스트림에 구비된 팩 사이의 SCR 값의 차이인 SCR 오프셋을 계산하고, 상기 계산된 SCR 오프셋을 상기 팩에 구비된 모든 PES 패킷을 전송 스트림 패 킷으로 변환하는 경우 필요한 전송 스트림 패킷의 개수로 나누어 상기 전송 스트림 ATS 오프셋을 계산하는 것을 특징으로 하는 데이터 스트림 포맷 변환 장치.
  30. 제 29항에 있어서,
    상기 추출된 프로그램 다중화율을 m, 상기 팩 크기를 s, 시스템 클럭을 c라고 할 때, 상기 SCR 오프셋은
    Figure 112006017148449-PAT00008
    인 것을 특징으로 하는 데이터 스트림 포맷 변환 장치.
  31. 제 27항에 있어서, 상기 PCR 값은
    상기 최초의 널 패킷 이전에 처리된 전송 스트림 패킷의 개수를 k(k는 정수)라 할 때, (k×전송 스트림 ATS 오프셋) 값을 갖는 것을 특징으로 하는 데이터 스트림 포맷 변환 장치.
  32. 제 27항에 있어서,
    SESF(Self Encode Stream Format)에 따른 전송 스트림을 지원하기 위해서, 상기 형성된 연속적인 전송 스트림 패킷 각각에 4 바이트의 엑스트라 헤더를 부가하는 SESF 전송 스트림 패킷 형성부를 더 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 장치.
  33. 프로그램 스트림 포맷으로 기록매체에 저장된 데이터를 추출하고 전송 스트림 포맷으로 변환하여 기록하는 방법에 있어서,
    (a) 상기 기록 매체에 저장된 프로그램 스트림 포맷의 데이터 중 하나의 팩을 추출하는 단계;
    (b) 상기 프로그램 스트림의 팩에 구비된 팩 헤더로부터 SCR(System Clock Reference) 및 프로그램 다중화율을 추출하는 단계;
    (c) 상기 팩에 구비된 PES(Packetized Elementary Stream) 패킷 헤더로부터 추출된 스트림 식별자를 이용하여 상기 팩에 구비된 PES 패킷들의 데이터 유형을 판별하는 단계;
    (d) 상기 판별된 데이터 유형이 비디오 또는 오디오 데이터인 경우, 상기 PES 패킷들을 전송 스트림 패킷의 페이로드 크기에 따라 분할하는 단계;
    (e) 상기 분할된 PES 패킷 각각에 전송 스트림 포맷에 따른 전송 스트림 패킷 헤더를 부가함으로써 연속적인 전송 스트림 패킷을 형성하고, 상기 연속적인 전송 스트림 패킷 중 최초로 형성된 전송 스트림 패킷 헤더에 구비된 적응적 필드의 PCR(Program Clock Reference)을 상기 추출된 SCR과 동일하게 설정하는 단계; 및
    (f) 상기 형성된 연속적인 전송 스트림 패킷을 소정의 기록 매체에 기록하는 단계를 포함하는 것을 특징으로 하는 방법.
  34. 프로그램 스트림 포맷으로 기록매체에 저장된 데이터를 추출하고 전송 스트림 포맷으로 변환하여 기록하는 장치에 있어서,
    상기 기록 매체에 저장된 프로그램 스트림 포맷의 데이터 중 하나의 팩을 추출하는 독출부;
    상기 프로그램 스트림의 팩에 구비된 팩 헤더로부터 SCR(System Clock Reference) 및 프로그램 다중화율을 추출하는 프로그램 스트림 해석부;
    상기 팩에 구비된 PES(Packetized Elementary Stream) 패킷 헤더로부터 추출된 스트림 식별자를 이용하여 상기 팩에 구비된 PES 패킷들의 데이터 유형을 판별하는 PES 패킷 유형 판별부;
    상기 판별된 데이터 유형이 비디오 또는 오디오 데이터인 경우, 상기 PES 패킷들을 전송 스트림 패킷의 페이로드 크기에 따라 분할하는 PES 패킷 분할부;
    상기 분할된 PES 패킷 각각에 전송 스트림 포맷에 따른 전송 스트림 패킷 헤더를 부가함으로써 연속적인 전송 스트림 패킷을 형성하고, 상기 연속적인 전송 스트림 패킷 중 최초로 형성된 전송 스트림 패킷 헤더에 구비된 적응적 필드의 PCR(Program Clock Reference)을 상기 추출된 SCR과 동일하게 설정하는 전송 스트림 패킷 형성부; 및
    상기 형성된 연속적인 전송 스트림 패킷을 소정의 기록 매체에 기록하는 기록부를 포함하는 것을 특징으로 하는 장치.
  35. 프로그램 스트림 포맷으로 기록매체에 저장된 데이터를 추출하고 전송 스트림 포맷으로 변환하여 기록하는 방법에 있어서,
    (a) 상기 기록 매체에 저장된 프로그램 스트림 포맷의 데이터 중 하나의 팩 을 추출하는 단계;
    (b) 상기 팩의 팩 헤더로부터 프로그램 다중화율을 추출하는 단계;
    (c) 상기 추출된 프로그램 다중화율 및 팩 크기를 이용하여 상기 연속적인 전송 스트림 패킷 사이의 시간차인 전송 스트림 ATS(Arrival Time Stamp) 오프셋을 계산하는 단계;
    (d) 상기 팩에 구비된 PES 패킷들을 전송 스트림 패킷의 페이로드 크기에 따라 분할하고, 상기 분할된 PES 패킷 각각에 전송 스트림 포맷에 따른 전송 스트림 패킷 헤더를 부가함으로써 연속적인 전송 스트림 패킷을 형성하는 단계;
    (e) 상기 팩과 상기 형성된 연속적인 전송 스트림 패킷의 동기화를 위해 삽입되는 널 패킷 중 적어도 하나의 널 패킷 대신에, 고정된 패킷 식별자와 상기 전송 스트림 ATS를 이용하여 계산된 PCR(Program Clock Reference) 값을 구비하는 전송 스트림 패킷을 삽입하는 단계; 및
    (f) 상기 형성된 전송 스트림 패킷을 소정의 기록 매체에 기록하는 단계를 포함하는 것을 특징으로 하는 데이터 스트림 포맷 변환 방법.
  36. 프로그램 스트림 포맷으로 기록매체에 저장된 데이터를 추출하고 전송 스트림 포맷으로 변환하여 기록하는 장치에 있어서,
    상기 기록 매체에 저장된 프로그램 스트림 포맷의 데이터 중 하나의 팩을 추출하는 독출부;
    상기 팩에 구비된 팩 헤더로부터 프로그램 다중화율을 추출하는 프로그램 스 트림 해석부;
    상기 추출된 프로그램 다중화율 및 팩 크기를 이용하여 전송 스트림 패킷 사이의 시간차인 전송 스트림 ATS(Arrival Time Stamp) 오프셋을 계산하는 전송 스트림 ATS 오프셋 계산부;
    상기 팩에 구비된 PES 패킷들을 전송 스트림 패킷의 페이로드 크기에 따라 분할하고 상기 분할된 PES 패킷 각각에 전송 스트림 포맷에 따른 전송 스트림 패킷 헤더를 부가함으로써 연속적인 전송 스트림 패킷을 형성하며, 상기 팩과 상기 형성된 연속적인 전송 스트림 패킷의 동기화를 위해 삽입되는 널 패킷 중 적어도 하나의 널 패킷 대신에 고정된 PCR(Program Clock Reference) 패킷 식별자와 상기 전송 스트림 ATS 오프셋을 이용하여 계산된 PCR 값을 구비하는 전송 스트림 패킷을 삽입하는 전송 스트림 패킷 형성부; 및
    상기 형성된 전송 스트림 패킷을 소정의 기록 매체에 기록하는 기록부를 포함하는 것을 특징으로 하는 장치.
KR1020060022725A 2006-03-10 2006-03-10 데이터 스트림 포맷의 변환 방법 및 장치, 이를 이용한데이터 스트림 기록 방법 및 장치 KR100788685B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020060022725A KR100788685B1 (ko) 2006-03-10 2006-03-10 데이터 스트림 포맷의 변환 방법 및 장치, 이를 이용한데이터 스트림 기록 방법 및 장치
US11/708,069 US20070211718A1 (en) 2006-03-10 2007-02-20 Method of and apparatus for converting data stream format and method of and apparatus for recording data stream using the method and apparatus
CNA2007101288497A CN101080019A (zh) 2006-03-10 2007-03-12 转换数据流格式的方法和装置及记录数据流的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060022725A KR100788685B1 (ko) 2006-03-10 2006-03-10 데이터 스트림 포맷의 변환 방법 및 장치, 이를 이용한데이터 스트림 기록 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20070092500A true KR20070092500A (ko) 2007-09-13
KR100788685B1 KR100788685B1 (ko) 2007-12-26

Family

ID=38478860

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060022725A KR100788685B1 (ko) 2006-03-10 2006-03-10 데이터 스트림 포맷의 변환 방법 및 장치, 이를 이용한데이터 스트림 기록 방법 및 장치

Country Status (3)

Country Link
US (1) US20070211718A1 (ko)
KR (1) KR100788685B1 (ko)
CN (1) CN101080019A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010151007A2 (ko) * 2009-06-24 2010-12-29 한국전자통신연구원 패킷의 길이가 가변적인 mpeg-2 트랜스포트 패킷 생성 장치 및 방법
KR101349487B1 (ko) * 2009-06-24 2014-01-08 한국전자통신연구원 패킷의 길이가 가변적인 mpeg-2 트랜스포트 패킷 생성 장치 및 방법

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI275273B (en) * 2004-03-03 2007-03-01 Mediatek Inc Method and apparatus for extracting payload from a packetized elementary stream packet
US7890986B2 (en) * 2007-06-19 2011-02-15 Broadcom Corporation System and method for reducing channel change time
KR101346735B1 (ko) * 2007-07-13 2014-01-03 삼성전자주식회사 전송 스트림 저장장치 및 방법
US20090257438A1 (en) * 2008-03-10 2009-10-15 Wright Timothy D Method and system for transport of structure aware tdm traffic over packet networks
KR20100016774A (ko) * 2008-08-05 2010-02-16 삼성전자주식회사 방송정보 송수신을 위한 장치 및 방법
KR101557676B1 (ko) * 2008-10-31 2015-10-06 삼성전자주식회사 이동무선 통신시스템의 하향링크 제어채널의 페이로드 크기결정장치 및 방법
US9060187B2 (en) 2008-12-22 2015-06-16 Netflix, Inc. Bit rate stream switching
US20100246361A1 (en) * 2008-12-30 2010-09-30 Mozaik Multimedia, Inc. Method for converting standard dvds into blu-ray format
US8045582B1 (en) * 2009-05-27 2011-10-25 Lockheed Martin Corporation Variable bandwidth communication system
CN101820540B (zh) * 2009-12-25 2011-09-14 北京惠信博思技术有限公司 一种mpeg-2编码复用的方法
CN102104795A (zh) * 2011-03-30 2011-06-22 重庆大学 基于mpeg-2的多路ps流转复用为一路ts流的方法
JP5807594B2 (ja) * 2012-03-19 2015-11-10 富士通株式会社 検証支援プログラム、検証支援方法および検証支援装置
US9838292B2 (en) * 2014-09-19 2017-12-05 Splunk Inc. Utilizing packet headers to monitor network traffic in association with a client device
TWI617187B (zh) * 2016-08-15 2018-03-01 晨星半導體股份有限公司 多媒體處理系統與其控制方法
CN108932849B (zh) * 2018-06-22 2020-09-01 安徽科力信息产业有限责任公司 一种记录多台机动车低速行驶违法行为的方法及装置
CN110798731A (zh) * 2019-11-15 2020-02-14 北京字节跳动网络技术有限公司 视频数据的处理方法、装置、电子设备及计算机可读介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0177314B1 (ko) * 1996-06-28 1999-05-01 배순훈 엠펙시스템에서의 전송패킷 보호장치
KR100657237B1 (ko) * 1998-12-16 2006-12-18 삼성전자주식회사 데이터열간의 연속 재생을 보장하기 위한 부가 정보 생성 방법
KR100529304B1 (ko) 1999-02-26 2005-11-17 삼성전자주식회사 엠펙-2 트랜스포트 스트림 인코더
US7088725B1 (en) 1999-06-30 2006-08-08 Sony Corporation Method and apparatus for transcoding, and medium
KR100644568B1 (ko) 1999-10-01 2006-11-13 삼성전자주식회사 엠펙 트랜스포트 스트림 인코더 및 그 방법
GB9930787D0 (en) * 1999-12-30 2000-02-16 Koninkl Philips Electronics Nv Method and apparatus for convrerting data streams
GB9930788D0 (en) * 1999-12-30 2000-02-16 Koninkl Philips Electronics Nv Method and apparatus for converting data streams
JPWO2002023776A1 (ja) 2000-09-11 2004-01-29 松下電器産業株式会社 ストリームデコード装置
WO2002099804A1 (fr) * 2001-06-04 2002-12-12 Matsushita Electric Industrial Co., Ltd. Appareil d'enregistrement, support d'enregistrement, appareil de reproduction, programme et procede connexes
US7197234B1 (en) * 2002-05-24 2007-03-27 Digeo, Inc. System and method for processing subpicture data
KR20040009927A (ko) * 2002-07-26 2004-01-31 삼성전자주식회사 Dtv 스트림 생성을 위한 정보를 저장하는정보저장매체, dtv 스트림 변환 방법 및 그 장치
US7298741B2 (en) * 2003-02-27 2007-11-20 Sharp Laboratories Of America, Inc. Robust MPEG-2 multiplexing system and method using an adjustable time stamp
JP4902935B2 (ja) * 2003-05-08 2012-03-21 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び記録媒体
US20050060420A1 (en) * 2003-09-11 2005-03-17 Kovacevic Branko D. System for decoding multimedia data and method thereof
JP4342411B2 (ja) * 2004-09-27 2009-10-14 株式会社東芝 編集装置及び編集方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010151007A2 (ko) * 2009-06-24 2010-12-29 한국전자통신연구원 패킷의 길이가 가변적인 mpeg-2 트랜스포트 패킷 생성 장치 및 방법
WO2010151007A3 (ko) * 2009-06-24 2011-03-03 한국전자통신연구원 패킷의 길이가 가변적인 mpeg-2 트랜스포트 패킷 생성 장치 및 방법
KR101349487B1 (ko) * 2009-06-24 2014-01-08 한국전자통신연구원 패킷의 길이가 가변적인 mpeg-2 트랜스포트 패킷 생성 장치 및 방법
US8705569B2 (en) 2009-06-24 2014-04-22 Electronics And Telecommunications Research Institute Apparatus and method for generating an MPEG-2 transport packet having a variable packet length

Also Published As

Publication number Publication date
CN101080019A (zh) 2007-11-28
US20070211718A1 (en) 2007-09-13
KR100788685B1 (ko) 2007-12-26

Similar Documents

Publication Publication Date Title
KR100788685B1 (ko) 데이터 스트림 포맷의 변환 방법 및 장치, 이를 이용한데이터 스트림 기록 방법 및 장치
KR100716973B1 (ko) Av 데이터에 동기된 텍스트 서브 타이틀 데이터를기록한 정보저장매체, 재생방법 및 장치
US7573917B2 (en) Method and apparatus for generating information signal to be recorded
US8244108B2 (en) After-recording apparatus
KR20010095018A (ko) 더미 헤더 삽입을 사용하여 디지털 비디오 시스템에서디지털 비디오 스트림을 디코딩하기 위한 방법 및 장치
US7974281B2 (en) Multiplexer and multiplexing method, program, and recording medium
KR20040086564A (ko) 복수의 데이터 스트림 간의 연속 재생을 보장하는 재생방법 및 그 재생 장치
WO2016132836A1 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
EP2337368B1 (en) Reproducing device, reproducing method, data structure, recording medium, recording device, recording method, and program
KR20200014284A (ko) 정보 처리 장치, 정보 기록 매체 및 정보 처리 방법, 그리고 프로그램
JP2005151463A (ja) ストリームデータ受信装置およびストリームデータ受信方法
JP3536493B2 (ja) オーサリングシステム,このシステムで使用される符号化装置及び多重化装置並びに多重ビットストリームを生成する方法
KR100376578B1 (ko) 디지털 데이터 스트림 기록방법 및 그에 따른 표현제어정보 제공방법
JPWO2006075457A1 (ja) 記録装置
WO2017033764A1 (ja) 記録装置、および記録方法、並びにプログラム
CN100593952C (zh) 多路复用器及多路复用方法
KR0181081B1 (ko) 시스템 복호화기의 이에스씨알 재생장치
JP3889338B2 (ja) データ記録方法、データ記録装置、データ変換方法、データ変換装置、データ記録媒体、データ記録のためのプログラムおよびそのプログラムを記録した記録媒体
JP2002152738A (ja) 映像音声ストリーム変換装置及び映像音声ストリーム変換方法
JP2009130757A (ja) コンテンツデータ変換装置
KR20020097452A (ko) 디지털 방송 데이터 기록/재생장치 및 방법
JP2007026619A (ja) 再生装置及び方法
JP2011077846A (ja) 情報処理装置
JP2010011508A (ja) 放送記録再生装置および放送記録再生処理プログラム

Legal Events

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

Payment date: 20121129

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141127

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee