KR19990058390A - 엠펙 포맷간의 실시간 데이터 변환 방법 - Google Patents

엠펙 포맷간의 실시간 데이터 변환 방법 Download PDF

Info

Publication number
KR19990058390A
KR19990058390A KR1019970078491A KR19970078491A KR19990058390A KR 19990058390 A KR19990058390 A KR 19990058390A KR 1019970078491 A KR1019970078491 A KR 1019970078491A KR 19970078491 A KR19970078491 A KR 19970078491A KR 19990058390 A KR19990058390 A KR 19990058390A
Authority
KR
South Korea
Prior art keywords
mpeg
stream
packet
format
video
Prior art date
Application number
KR1019970078491A
Other languages
English (en)
Other versions
KR100269786B1 (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 KR1019970078491A priority Critical patent/KR100269786B1/ko
Publication of KR19990058390A publication Critical patent/KR19990058390A/ko
Application granted granted Critical
Publication of KR100269786B1 publication Critical patent/KR100269786B1/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/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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명은 별도의 부가 장비 없이도 MPEG-1 SS 포맷의 데이터를 MPEG-2 TS 포맷의 데이터로 실시간적으로 변환할 수 있고 또한 요구되는 메모리 공간을 감소시킬 수 있도록 한 엠펙 포맷 간의 실시간 데이터 변환 방법에 관한 것이다.
본 발명의 엠펙 포맷간의 실시간 데이터 변환 방법은 (a) 버퍼에 임시적으로 저장되어 있는 MPEG-1 SS 파일 내의 패킷 개시 코드의 스트림 ID를 참조하여 상기 스트림 ID가 비디오 스트림을 나타내는 지 아니면 오디오 스트림을 나타내는 지를 판단하는 단계; (b) 첫 번째 패킷인 지의 여부를 판단하는 단계; (c) 상기 단계(a) 및 단계(b)에서 상기 스트림 ID가 비디오 스트림을 나타내고 또한 첫 번째 패킷인 경우에는 MPEG-2 TS 포맷의 비디오 패킷 헤더를 구성하는 단계; (d) 상기 단계(a) 및 단계(b)에서 상기 스트림 ID가 오디오 스트림을 나타내고 또한 첫 번째 패킷인 경우에는 MPEG-2 TS 포맷의 오디오 패킷 헤더를 구성하는 단계; (e) 상기 MPEG-1 SS 파일에서 비디오 기본 스트림 또는 오디오 기본 스트림을 추출하는 단계; 및 (f) 상기 단계(c) 내지 단계(e)에서 변환된 데이터를 MPEG-2 TS 패킷의 단위인 188 바이트 단위로 읽어 들인 후에 별도의 버퍼에 저장하는 단계를 포함하여 이루어진다.

Description

엠펙 포맷간의 실시간 데이터 변환 방법
본 발명은 엠펙 포맷간 실시간 데이터 변환 방법에 관한 것으로, 특히 CD-ROM 타이틀용으로 제작된 MPEG-1 SS 포맷 데이터를 별도의 부가 장비 없이도 VOD나 디지털 방송용으로 사용되는 MPEG-2 TS 포맷 데이터로 실시간으로 변환시켜주는 엠펙 포맷간 실시간 데이터 변환 방법에 관한 것이다.
MPEG(Moving Picture Experts Groups, 이하 간단히 MPEG라고 한다)은 ISO 내의 작업 부회에서 책정한 동화상 정보의 압축 및 저장에 관한 표준 규격을 말하는 것으로, VCR(Video Cassette Recorder) 수준의 화질을 제공하는 MPEG-1과 고해상도 디지털 비디오를 지원하는 MPEG-2가 있다.
MPEG-2 TS(Transport Stream) 포맷은 저장형 동영상 데이터의 압축 방식으로 고안된 MPEG-1 SS(System Stream) 포맷과는 달리 복수개의 동영상 데이터를 동시에 다중화할 수 있도록 고안되어 VOD(Video On Demand)나 다채널 디지털 방송 분야에서 동영상 데이터 전송 방식의 하나로 널리 사용 중에 있다.
종래의 소프트웨어 알고리즘을 이용하여 MPEG-1 SS를 MPEG-2 TS 포맷으로 변환하는 기술은 MPEG-1 SS 포맷의 헤더 부분의 세부적인 비트 정보를 분석하여 비디오와 오디오 기본 스트림을 추출한 후에 비트 레이트를 참조하여 MPEG-2 TS의 패킷 크기인 188 바이트 단위로 오디오 및 비디오 기본 스트림을 다중화하는 것이다. 따라서, 종래의 포맷 변환 기술은 지정된 비디오+오디오 비트 레이트에 따른 MPEG-2 TS 다중화율을 계산하고, 비디오 및 오디오 비트 레이트에 맞게 비디오 및 오디오 스트림을 다중화하는 방식으로 구현된다. 또한 188 바이트의 패킷을 구성할 때 지정된 비디오 및 오디오 PID 값이 사용된다.
종래의 MPEG-1 SS 포맷을 도식화하면 아래의 표 1 내지 표 6과 같다.
MPEG-1 SS 포맷
팩 헤더 시스템 헤더 패킷 ... 패킷 팩 헤더 패킷 ... 패킷 종료코드
최초의 팩
시스템 헤더
구분 시스템 헤더 개시코드 헤더 길이 비트율 오디오 채널수 4비트 플래그 비디오 채널수 예약 바이트 N 루프기본스트림
비트수 32 16 22+2 6 4+1 5 8 24*N
팩 헤더
구분 팩 개시코드 "0" SCR 다중화율
비트수 32 2 33+5 22+2
4비트 플래그
구분 고정 플래그 CSPS 플래그 오디오록 플래그 비디오록 플래그 마커 비트
비트수 1 1 1 1 1
N 루프 기본 스트림
구분 스트림 ID "11" 버퍼영역 스케일 버퍼영역 사이즈 ...
비트수 8 2 1 13
패킷
구분 선두개시 코드 스트림 ID 2비트 제어 스터핑 바이트 버퍼 스케일 버퍼 사이즈 PTS DTS "1111" 패킷 데이터
비트수 24 8 2 6+8*M 1 13 33+5 33+7 8*N
위의 표 1 내지 표 6에서 알 수 있는 바와 같이 MPEG-1 SS 데이터는 복수개의 패킷으로 구성된 팩의 연속이다. 첫 번째 팩에만 존재하는 시스템 헤더에는 SS 전체의 개요 즉, 비트율, 비디오 및 오디오 채널 수 등의 파라미터 정보가 기록된다. 팩 헤더 정보의 첫 번째 4 바이트에는 팩 개시 코드가 기록되는데, 새로운 비디오 또는 오디오 스트림이 시작됨을 의미한다. 이어서 나타나는 "0"은 패킷에 기록된 비디오 또는 오디오 데이터가 MPEG-1 SS임을 나타내며, SCR(System Clock Reference)은 복호 기준 시간을, 다중화율은 50 바이트 절상값으로 MPEG-1 SS의 비트율을 나타낸다.
실제 동영상 정보, 즉 비디오 또는 오디오 기본 스트림은 패킷에 기록되는데, 패킷의 첫 번째 4 바이트에는 패킷이 비디오 스트림인 지 아니면 오디오 스트림인 지를 구분하는 스트림 ID가 기록된다. 이어서 가변적인 패킷의 길이가 나타나며, 이 길이 만큼의 PTS(Presentation Time Stamp), DTS(Decoding Time Stamp) 정보, 비디오 또는 오디오 비트열 등이 순차적으로 기록된다.
도 1은 종래의 MPEG-1 SS 포맷을 MPEG-2 TS 포맷으로 변환하는 방법을 설명하기 위한 플로우차트이다. 종래의 MPEG-1 SS 포맷을 MPEG-2 TS 포맷으로 변환하는 과정은 MPEG-1 SS 파일의 첫 번째 12 바이트의 팩헤더 정보를 분석하는 것으로 시작된다. 즉, 도 1의 단계(S10)에서는 패킷 개시 코드의 스트림 ID를 참조하여 스트림 ID가 비디오 스트림을 나타내는 지 아니면 오디오 스트림을 나타내는 지를 판단한다. 단계(S10)에서 스트림 ID가 비디오 스트림인 경우에는 단계(S12) 및 단계(S14)에서 비디오 기본 스트림을 추출하여 하드 디스크에 저장한다. 다음, 단계(S18)에서는 MPEG-2 TS 포맷의 비디오 패킷 헤더, 즉 후술하는 바와 같은 동기 바이트, 단위 개시 표시 플래그, PID 및 어댑테이션 필드 등이 구성된다. 반면에, 스트림 ID가 오디오 스트림인 경우에는 단계(S20) 및 단계(S22)에서 오디오 기본 스트림을 추출하여 하드 디스크에 저장한다. 다음, 단계(S26)에서는 MPEG-2 TS 오디오 패킷 헤더를 구성한다. 다음, 단계(S28)에서는 이렇게 구성된 패킷이 첫 번째 패킷인 지를 판단한다. 단계(S28)에서 첫 번째 패킷인 경우에는 단계(S30)로 진행하여 단위 개시 코드에 '1'을 기록한다. 다음, 단계(S32)에서는 전술한 과정에 의해 변환된 데이터를 MPEG-2 TS 패킷의 단위인 188 바이트 단위로 읽어 들인 후에 하드 디스크에 저장한다. 단계(S28)에서 첫 번째 패킷이 아닌 경우에는 바로 단계(S32)로 진행한다.
전술한 바와 같이 비디오 또는 오디오 스트림 추출 작업은 패킷 개시 코드의 스트림 ID를 참조하여 비디오 또는 오디오 기본 스트림을 각각 별도의 파일에 기록하는 것이다. 이렇게 별도의 파일에 기록된 비디오 또는 오디오 스트림들은 MPEG-2 TS 비디오 또는 오디오 패킷을 구성하는 과정에서 MPEG-2 TS 4 바이트의 헤더 영역의 단위 개시 표시를 "1"로 기록하여 새로운 비디오 또는 오디오 스트림이 시작됨을 표시한다. MPEG-2 TS 포맷의 데이터는 188 바이트 단위로 구성되는데, 첫 번째 동기 바이트에는 MPEG-2 TS 포맷을 의미하는 47h값이 기록된다. 결국, 하나의 MPEG-1 SS 팩이 복수개의 MPEG-1 TS 패킷을 구성한다. MPEG-2 TS 포맷의 헤더 정보에는 MPEG-1 SS의 스트림 ID와 같이 해당 패킷이 비디오 스트림인 지 아니면 오디오 스트림인 지를 구별해 주는 PID(PacketIdentification) 값이 기록되며, 단위 개시 표시가 '1'인 경우에는 MPEG-1 SS의 SCR(System Clock Reference)과 같이 복호(재생) 기준 시간을 의미하는 PCR(Program Clock Reference) 값이 기록된 어댑테이션 필드가 존재한다. 여기에서, PCR 데이터 영역에는 MPEG-1 SS 포맷의 SCR 값이 변환되어 기록되거나 지정된 총(비디오+오디오) 비트 레이트에 따라 다시 계산되어 기록된다.
그러나, 전술한 바와 같은 종래의 MPEG-1 SS 포맷을 MPEG-2 TS 포맷으로 변환하는 일련의 기술에는 다음과 같은 문제점이 있다.
첫 번째로 포맷의 변환 속도가 느리다는 문제점이 있다. 일반적인 MPEG-1 SS의 비디오 또는 오디오 다중화율, 즉 비트 레이트는 1.0 - 2.5[Mbps] 정도로 초당 125 - 132 킬로바이트 정도의 데이터 량을 변환하여야 한다. 물론 포맷의 변환 속도는 장비의 CPU 성능에 따라 좌우되지만 수 시간 분량, 즉 1 - 2 기가바이트 정도의 동영상 데이터를 변환한다고 할 때 그 만큼 효율적인 변환 알고리즘이 요구된다.
두 번째로 중간 처리 결과를 저장할 하드 디스크가 구비되어야 하는 문제점이 있다. 도 1의 변환 과정에서 처럼 추출한 비디오 또는 오디오 스트림을 중간에 저장하는 경우에는 그렇지 않는 경우보다 2배 이상의 저장 공간이 요구된다. 저장할 수 있는 환경이 있다손 치더라도 중간 결과를 하드 디스크 내에 저장하는 방식은 변환 속도를 저해하는 요인 중의 하나이다. 즉, 종래에는 MPEG-1 SS 파일에서 비디오 또는 오디오 기본 스트림을 추출한 후에 이를 근거로 MPEG-2 TS 포맷으로 변환이 이루어지기 때문에 동일한 내용의 비디오 또는 오디오 스트림을 읽는 과정이 최소한 두 번 이상 반복된다. 보통 CD-ROM 타이틀용으로 제작된 MPEG-1 SS 파일의 경우에 1.2[Mbps] 다중화율 화질로 한시간 분량의 동영상 데이터를 저장하는데, 이 경우에 400 - 500 메가바이트 이상의 메모리 공간이 요구된다. 이를 디지털 방송 또는 VOD 용으로 사용코자 MPEG-2 TS 포맷으로 변환할 경우에는 여기에 최소한 2 - 3[%] 정도의 메모리 공간이 추가로 필요하게 된다. 또한, 이런 많은 양의 데이터를 처리하기 위해서는 상당한 시간이 소요된다.
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 별도의 부가 장비 없이도 MPEG-1 SS 포맷의 데이터를 MPEG-2 TS 포맷의 데이터로 실시간적으로 변환할 수 있고 또한 요구되는 메모리 공간을 감소시킬 수 있도록 한 엠펙 포맷 간의 실시간 데이터 변환 방법을 제공하는데 그 목적이 있다.
전술한 목적을 달성하기 위한 본 발명의 엠펙 포맷간의 실시간 데이터 변환 방법은 (a) 버퍼에 임시적으로 저장되어 있는 MPEG-1 SS 파일 내의 패킷 개시 코드의 스트림 ID를 참조하여 상기 스트림 ID가 비디오 스트림을 나타내는 지 아니면 오디오 스트림을 나타내는 지를 판단하는 단계; (b) 첫 번째 패킷인 지의 여부를 판단하는 단계; (c) 상기 단계(a) 및 단계(b)에서 상기 스트림 ID가 비디오 스트림을 나타내고 또한 첫 번째 패킷인 경우에는 MPEG-2 TS 포맷의 비디오 패킷 헤더를 구성하는 단계; (d) 상기 단계(a) 및 단계(b)에서 상기 스트림 ID가 오디오 스트림을 나타내고 또한 첫 번째 패킷인 경우에는 MPEG-2 TS 포맷의 오디오 패킷 헤더를 구성하는 단계; (e) 상기 MPEG-1 SS 파일에서 비디오 기본 스트림 또는 오디오 기본 스트림을 추출하는 단계; 및 (f) 상기 단계(c) 내지 단계(e)에서 변환된 데이터를 MPEG-2 TS 패킷의 단위인 188 바이트 단위로 읽어 들인 후에 별도의 버퍼에 저장하는 단계를 포함하여 이루어진다.
도 1은 종래의 MPEG-1 SS 포맷을 MPEG-2 TS 포맷으로 변환하는 방법을 설명하기 위한 플로우차트,
도 2는 본 발명에 따른 MPEG-1 SS 포맷을 MPEG-2 TS 포맷으로 변환하는 방법을 설명하기 위한 플로우차트이다.
이하에는 첨부한 도면을 참조하여 본 발명의 양호한 실시예에 따른 엠펙 포맷 간의 실시간 데이터 변환 방법에 대해서 상세하게 설명한다.
도 2는 본 발명에 따른 MPEG-1 SS 포맷을 MPEG-2 TS 포맷으로 변환하는 방법을 설명하기 위한 플로우차트이다. 도 2에 도시한 바와 같이, 본 발명에 따른 MPEG-1 SS 포맷을 MPEG-2 TS 포맷으로 변환하는 방법에서는 먼저 단계(S100)에서는 패킷 개시 코드의 스트림 ID를 참조하여 스트림 ID가 비디오 스트림을 나타내는 지 아니면 오디오 스트림을 나타내는 지를 판단한다. 단계(S100)에서 스트림 ID가 비디오 스트림인 경우에는 단계(S102)에서는 첫 번째 패킷인 지를 판단한다. 단계(S102)에서 첫 번째 패킷인 경우에는 단계(S104)로 진행하여 MPEG-2 TS 포맷의 비디오 패킷 헤더, 즉 동기 바이트, 단위 개시 표시 플래그, PID 및 어댑테이션 필드 등을 구성한다. 반면에, 단계(S100)에서 스트림 ID가 오디오 스트림인 경우에는 단계(S106)에서 첫 번째 패킷인 지를 판단한다. 단계(S106)에서 첫 번째 패킷인 경우에는 단계(S108)로 진행하여 MPEG-2 TS 포맷의 오디오 패킷 헤더를 구성한다. 다음, 단계(S110)에서는 단위 개시 코드에 '1'을 기록한 후에 단계(S112) 또는 단계(S114)로 진행하여 비디오 기본 스트림이나 오디오 기본 스트림을 추출한다. 마지막으로, 단계(S116)에서는 전술한 과정에 의해 변환된 데이터를 MPEG-2 TS 패킷의 단위인 188 바이트 단위로 읽어 들인 후에 별도의 버퍼에 파일 또는 비트 스트림의 형태로 저장한다. 단계(S102) 또는 단계(S106)에서 첫 번째 패킷이 아닌 경우에는 바로 단계(S112) 또는 단계(S114)로 진행한다.
도 2에 도시한 플로우차트와 도 1에 도시한 플로우차트 사이의 단순한 외형적인 차이는 중간 단계의 MPEG-1 SS 파일에서 패킷 내에 기록된 스트림 ID 값에 따라 비디오 스트림이나 오디오 스트림을 추출한 후에 하드 디스크에 저장하는 중간 과정이 생략된 것이다. 그리고, 도 2의 플로우차트에서 최종 출력은 적용 환경에 따라 파일 형태이거나 단순히 메모리 내의 MPEG-2 TS 포맷을 따르는 비트 스트림일 수 있으며, 비트 스트림일 경우에는 해당 장치의 디바이스 드라이브를 통해 MPEG-2 TS 디코우더 카드나 셋트톱 박스의 디코우더 모듈로 곧바로 전달될 수 있다. 이외에도 MPEG-2 TS 포맷으로의 변환 속도의 향상을 위해 본 발명에 적용된 알고리즘의 구현 방법은 다음과 같다.
첫 번째로 비트 단위 연산은 가급적 피하고 비트 마스크 방법을 통한 바이트 단위의 연산을 전개하고 있다. MPEG-1 SS의 경우에 각 필드의 크기가 비트율 22 비트 또는 오디오 채널수 6 비트 등과 같이 8 비트의 배수로 구성되지 않아서 바이트 단위의 연산이 어렵고, 따라서 수 많은 비트 연산이 요구된다. 이러한 비트 조작을 쉬프트 연산으로 할 경우에 내부적으로 레지스터 연산을 사용하게 되어 성능 저하를 가져오게 된다. 따라서, 본 발명에서는 필요한 데이터들에 대한 비트 마스크 연산을 통해 알고리즘의 수행 속도 향상시키고 있다.
두 번째로 메모리 버퍼의 사용 개수를 최소화하고 있다. 도 1에 도시한 바와 같은 종래의 변환 알고리즘들은 MPEG-1 SS 포맷 데이터를 읽어 비디오 또는 오디오 스트림을 추출하는 과정, MPEG-2 TS 포맷의 비디오 또는 오디오 패킷을 구성하는 과정 등에서 여러 차례의 메모리 버퍼간 복사가 수행된다. 본 발명에서는 MPEG-1 SS 파일을 읽어서 시스템 스트림을 임시 저장하기 위한 메모리 버퍼와 최종 출력을 위한 TS 저장용 버퍼만을 사용하여 변환이 없는 데이터 영역의 버퍼간 복사를 최소화하고 있다. 알고리즘 내에서 사용된 주요 변수들은 다음과 같다.
변환 알고리즘 내의 주요 변수명 및 용도
변수명 변수타입 용도
TSbuf[] unsigned char 변환과정을 거쳐서 구성된 최종 MPEG-2 TS 포맷 데이터를 저장
SSbuf[] unsigned char 파일로부터 읽은 MPEG-1 SS 포맷 데이터를 임시 저장
SSpos integer 비디오 또는 오디오 스트림을 188 바이트 단위로 추출할 때의 TSbuf 버퍼의 위치
도 2의 플로우차트에 의거한 본 발명의 알고리즘을 "C" 언어의 형태로 표현하면 다음과 같다.
MakePATPacket();
PackLen=ReadSSPacket(0,&sID); CCnt=0;
while((PackLen=ReadSSPacket(1,&sID)) > 0)
{
if(debug) printf("CCnt=%d, len=%d, sID=Ox%x\n",CCnt,PackLen,sID);
for(i=SSpos=0;SSpos<PackLen;i++) SSpos=MakeTSPackets(i,SSpos,PackLen,sID);
}
위에 기재된 알고리즘은 MPEG-1 SS 포맷 데이터를 패킷 단위로 읽으면서 스트림 ID 값에 따라 비디오 스트림 또는 오디오 스트림을 각각 MPEG-2 TS 포맷으로 변환하는 과정을 보인 것이다. 여기에서, SSpos는 임의의 크기(보통 1 - 2 킬로바이트)의 MPEG-1 SS 데이터를 188 바이트 단위의 MPEG-2 TS 패킷으로 쪼개어 변환할 때, SSbuf 내의 비디오 또는 오디오 스트림의 변환 시작 위치를 가리킨다.
MakeTSPackets(no,SSpos,PackLen,sID)
{
TSbuf[i++]=Ox47; /* MPEG-2 TS 패킷 동기 바이트 */
if(no==0) TSbuf[i++]=Ox50; else TSbuf[i++]=Ox10; /* 첫 번째 188인 */
/* 경우 단위개시표시 '1' */
if(sID==AUDIO_STR) TSbuf[i++]=AUDIO_PID; /* 스트림 ID에 따른 PID값 지정 */
else if(sID==VIDEO_STR TSbuf[i++]=VIDEO_PID;
if(no==0 && sID==VIDEO_STR) ∥ (no > 0 && rem<184)) TSbuf[i++]=
(Ox30|CCnt++%17);
else TSbuf[i++]=(Ox10|CCnt++%17); /* 어댑테이션 및 순회카운터 값 지정 */
if(no==o) {
if(sID==VIDEO_STR) {
TSbuf[i++]=Ox07; /* 어댑테이션 필드길이 */
TSbuf[i++]=Ox10; /* 옵션필드 5개 프래그 중 PCR 지정만 '1' */
...... /* SCR을 근거로 PCR 값을 생성 */
}
TSbuf[i++]=Ox00; TSbuf[i++]=Ox01; TSbuf[i++]=sID; /* 패킷 개시 코드 */
for(j=0; SSbuf[i]=Oxff;j++); /* MPEG-1 SS의 스터핑 바이트 무시 */
if(SSbuf[j]==Ox40∥SSbuf[j]==Ox60) j+=2; /* 버퍼스케일/크기값 무시 */
if(SSbuf[j] & Ox30)==Ox30) pdts_size=10;
else if(SSbuf[j] & Ox30)==Ox20) pdts_size = 5;
plen = len-14+3+pdts_size; /* MPEG-1 SS 패킷 길이에 근거한 */
/* MPEG-2 TS 패킷 길이 계산 */
TSbuf[i++]=plen >> 8 ; TSbuf[i++]=plen; /* MPEG-2 TS 패킷 길이 지정 */
...... /* PTS, DTS 값 계산 */
else if(rem<184) {
stuff=184-1-rem; TSbuf[i++]=stuff; /* MPEG-1 SS 패킷을 188바이트 */
TSbuf[i++]=Ox00; stuff+=(4+1); /* 단위로 쪼갠 후 마지막 남은 */
while(i<stuff) TSbuf[i++]=Oxff /* SS 데이터는 MPEG-2 TS 스터핑 */
/* 패킷을 구성하여 처리 */
}
while(i<188) TSbuf[i++]=SSbuf[j++]; /* MPEG-2 TS 패킷을 */
/* 188 바이트 단위로 구성 */
앞의 코드는 MPEG-1 SS 포맷 데이터를 188 바이트 단위의 MPEG-2 TS 포맷 데이터로 분할하여 변환해 주는 부분으로 MPEG-1 SS 패킷의 처음 188 바이트를 변환하는 경우에는 TS 패킷의 단위 개시 표시를 '1'로 지정한다. 스트림 ID에 따른 MPEG-2 TS 패킷 헤더를 구성한 후에 비디오 또는 오디오 스트림을 188 바이트에 맞게 분할해서 일련의 MPEG-2 TS 패킷을 완성한다.
전술한 바와 같이 본 MPEG-1 SS 포맷을 MPEG-2 TS 포맷 데이터로 변환하는 알고리즘은 기존의 CD-ROM 타이틀용으로 제작된 영화 등의 MPEG-1 SS 동영상 데이터를 클라이언트-서버 네트워크 환경에서 동작하는 VOD나 디지털 CATV(CableTelevision) 서비스 환경에 사용하기 위해 MPEG-2 TS 포맷으로 변환해 주는 툴의 일부로 활용할 수 있다.
본 발명의 MPEG-1 SS 포맷을 MPEG-2 TS 포맷으로 실시간 변환하는 방법은 전술한 실시예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위 내에서 다양하게 변형하여 실시할 수가 있다.
이상에서 설명한 바와 같은 본 발명의 엠펙 포맷간의 실시간 데이터 변환 방법에 따르면, 별도의 부가 장비 없이도 MPEG-1 SS 포맷의 데이터를 MPEG-2 TS 포맷의 데이터로 실시간적으로 변환할 수 있고 또한 요구되는 메모리 공간을 감소시킬 수 있는 효과가 있다.

Claims (5)

  1. (a) 버퍼에 임시적으로 저장되어 있는 MPEG-1 SS 파일 내의 패킷 개시 코드의 스트림 ID를 참조하여 상기 스트림 ID가 비디오 스트림을 나타내는 지 아니면 오디오 스트림을 나타내는 지를 판단하는 단계;
    (b) 첫 번째 패킷인 지의 여부를 판단하는 단계;
    (c) 상기 단계(a) 및 단계(b)에서 상기 스트림 ID가 비디오 스트림을 나타내고 또한 첫 번째 패킷인 경우에는 MPEG-2 TS 포맷의 비디오 패킷 헤더를 구성하는 단계;
    (d) 상기 단계(a) 및 단계(b)에서 상기 스트림 ID가 오디오 스트림을 나타내고 또한 첫 번째 패킷인 경우에는 MPEG-2 TS 포맷의 오디오 패킷 헤더를 구성하는 단계;
    (e) 상기 MPEG-1 SS 파일에서 비디오 기본 스트림 또는 오디오 기본 스트림을 추출하는 단계; 및
    (f) 상기 단계(c) 내지 단계(e)에서 변환된 데이터를 MPEG-2 TS 패킷의 단위인 188 바이트 단위로 읽어 들인 후에 별도의 버퍼에 저장하는 단계를 포함하여 이루어진 엠펙 포맷간의 실시간 데이터 변환 방법.
  2. 제 1항에 있어서, 상기 단계(f)에서 상기 버퍼에 임시 저장되는 데이터는 파일의 형태로 저장되는 것을 특징으로 하는 엠펙 포맷간의 실시간 데이터 변환 방법.
  3. 제 1항에 있어서, 상기 단계(f)에서 상기 버퍼에 임시 저장되는 데이터는 비트 스트림의 형태로 저장되는 것을 특징으로 하는 엠펙 포맷간의 실시간 데이터 변환 방법.
  4. 제 1항 내지 제 3항 중 어느 한 항에 있어서, 상기 방법에서 데이터의 연산은 비트 마스크 연산에 의해 수행되는 것을 특징으로 하는 엠펙 포맷간의 실시간 데이터 변환 방법.
  5. 제 4항에 있어서, 상기 방법은
    변환 과정을 거쳐서 구성된 최종 MPEG-2 TS 포맷 데이터를 임시 저장하는 버퍼(TSbuf);
    상기 파일로부터 읽은 MPEG-1 SS 포맷 데이터를 임시 저장하는 버퍼(SSbuf); 및
    비디오 또는 오디오 스트림을 188 바이트 단위로 추출할 때의 상기 버퍼(TSbuf)의 위치를 나타내는 변수(SSpos)를 설정하여 수행되는 것을 특징으로 하는 엠펙 포맷간의 실시간 데이터 변환 방법.
KR1019970078491A 1997-12-30 1997-12-30 엠펙 포맷간의 실시간 데이터 변환 방법 KR100269786B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970078491A KR100269786B1 (ko) 1997-12-30 1997-12-30 엠펙 포맷간의 실시간 데이터 변환 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970078491A KR100269786B1 (ko) 1997-12-30 1997-12-30 엠펙 포맷간의 실시간 데이터 변환 방법

Publications (2)

Publication Number Publication Date
KR19990058390A true KR19990058390A (ko) 1999-07-15
KR100269786B1 KR100269786B1 (ko) 2000-10-16

Family

ID=19529861

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970078491A KR100269786B1 (ko) 1997-12-30 1997-12-30 엠펙 포맷간의 실시간 데이터 변환 방법

Country Status (1)

Country Link
KR (1) KR100269786B1 (ko)

Also Published As

Publication number Publication date
KR100269786B1 (ko) 2000-10-16

Similar Documents

Publication Publication Date Title
US5801781A (en) Apparatus for converting moving picture stream of MPEG1 to transport stream of MPEG2
US6873629B2 (en) Method and apparatus for converting data streams
KR100226528B1 (ko) 다중화 압축화상/음성데이타의 복호장치
US8233776B2 (en) After-recording apparatus
US8218583B2 (en) Method and apparatus for generating information signal to be recorded
US7742687B2 (en) Digital television recorders and stream format conversion and methods thereof
US6643449B1 (en) Recording/reproducing apparatus, video data recording apparatus, recording method, reproducing method
EP2012322B1 (en) Recording/reproducing apparatus, recording apparatus, reproducing apparatus, recording method, reproducing method and computer program
CN100481238C (zh) 再现方法
US7024100B1 (en) Video storage and retrieval apparatus
JP2003018544A (ja) ディジタル放送用記録装置
KR100269786B1 (ko) 엠펙 포맷간의 실시간 데이터 변환 방법
US7653289B1 (en) Stream converting method and apparatus thereof, and stream recording method and apparatus thereof
JP2005347787A (ja) 情報記録装置及び情報記録方法
KR100269787B1 (ko) 엠펙 포맷 간의 실시간 데이터 변환 방법
JP3531324B2 (ja) 符号化・多重化装置,多重化前処理装置及び符号化・多重化方法
EP1148723B1 (en) Special reproduction data generating device, medium, and information aggregate
JP3590252B2 (ja) ダイジェストデータ記録装置

Legal Events

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

Payment date: 20110629

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee