KR20070074760A - 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된비디오 및/또는 오디오 데이터 스트림의 재생을 위한 코덱변경 방법 및 장치 - Google Patents

동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된비디오 및/또는 오디오 데이터 스트림의 재생을 위한 코덱변경 방법 및 장치 Download PDF

Info

Publication number
KR20070074760A
KR20070074760A KR20060002715A KR20060002715A KR20070074760A KR 20070074760 A KR20070074760 A KR 20070074760A KR 20060002715 A KR20060002715 A KR 20060002715A KR 20060002715 A KR20060002715 A KR 20060002715A KR 20070074760 A KR20070074760 A KR 20070074760A
Authority
KR
South Korea
Prior art keywords
codec
program
video
stream
buffer
Prior art date
Application number
KR20060002715A
Other languages
English (en)
Other versions
KR101215615B1 (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 KR1020060002715A priority Critical patent/KR101215615B1/ko
Priority to EP20070100180 priority patent/EP1827030A3/en
Priority to JP2007001795A priority patent/JP5133567B2/ja
Priority to US11/651,572 priority patent/US20070162852A1/en
Priority to CN2007101097288A priority patent/CN101068367B/zh
Publication of KR20070074760A publication Critical patent/KR20070074760A/ko
Application granted granted Critical
Publication of KR101215615B1 publication Critical patent/KR101215615B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/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/4341Demultiplexing of audio 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/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/4345Extraction or processing of SI, e.g. extracting service information from an MPEG 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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
    • H04N21/8193Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명은 비디오 및/또는 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법 및 장치에 관한 것으로, 본 발명은 특히 적어도 2개의 서로 다른 코덱을 이용하여 부호화된 비디오 및/또는 오디오 데이터 스트림을 재생하는 경우 소정 데이터 패킷에 구비된 코덱 변화 정보를 이용하여 버퍼에 저장된 비디오 및/또는 오디오 데이터 스트림들 중 코덱 변화가 발생하는 프로그램 엘리먼트가 저장된 위치를 미리 판단하고, 상기 코덱 변화가 발생하는 프로그램 엘리먼트를 복호화하는 순간에 코덱을 바로 변환할 수 있도록 제어함으로써 코덱이 변화되는 시점의 비디오 및/또는 오디오 데이터 스트림을 끊김없이(seamless) 재생하는 것을 특징으로 한다.

Description

동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및/또는 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법 및 장치{Method and apparatus for changing codec to reproduce video and/or audio data stream encoded by different codec within the same channel}
도 1은 본 발명에 따른 서로 다른 코덱을 이용하여 부호화된 비디오 및/또는 오디오 데이터 스트림의 재생을 위한 코덱 변경 장치의 구성을 나타낸 블록도이다.
도 2는 본 발명에 따른 트랜스포트 스트림의 데이터 구조를 나타낸 도면이다.
도 3은 본 발명에 따른 PMT 패킷의 구조를 나타낸 도면이다.
도 4는 본 발명에 따른 PES 패킷의 구조를 나타낸 도면이다.
도 5는 본 발명에 따른 비디오, 오디오 데이터 스트림의 재생을 위한 코덱 변경 장치에 의하여 재생되는 부호화된 비디오 프레임의 입력 순서 및 비디오 프레임의 디스플레이 순서 사이의 관계를 나타낸 도면이다.
도 6은 본 발명에 따라서, 코덱 변화시의 비디오 엘리멘트리 스트림 버퍼의 상태를 나타낸 도면이다.
도 7은 본 발명에 따른 비디오, 오디오 데이터 스트림의 재생 방법을 나타낸 플로우 차트이다.
도 8 및 도 9는 도 7의 단계 730을 구체화한 플로우 차트이다.
본 발명은 비디오 및/또는 오디오 데이터 스트림의 재생을 위한 코덱 변경 장치 및 방법에 관한 것으로, 보다 상세하게는 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및/또는 오디오 데이터 스트림의 재생시에 끊김없이 비디오 및/또는 오디오 데이터 스트림을 재생하기 위한 코덱 변경 방법 및 장치에 관한 것이다.
지상파, 위성파, 케이블 등의 다양한 매체를 통한 디지털 방송 서비스가 전세계적으로 빠른 속도로 확산되어 가고 있다. 현재 국내의 디지털 방송은 ATSC(Advanced Television Systems Comittee) 기반의 지상파 방송과 DVB(Digital Video Broadcasting) 기반의 위성 방송 및 OpenCable 기반의 케이블 방송으로 나누어진다. 디지털 방송 서비스를 제공하는 송신측은 MPEG-2 규격에 따라서 비디오, 오디오 및 기타 부가 서비스 정보를 압축 및 다중화하여 트랜스포트 스트림(Transport Stream) 패킷 형태로 전송하고, 수신측은 상기 트랜스포트 스트림을 파싱(parsing)하여 부가 서비스 정보 등을 추출하고 이를 복호화하여 사용한다.
현재 디지털 방송의 동일 채널에서는 비디오, 오디오를 단일 코덱(codec)을 사용하여 부호화하여 전송한다. 그러나, 방송 프로그램의 특성에 따라서 동일 채널 내 프로그램이라고 하더라도 서로 다른 코덱을 적용할 필요가 요구되고 있다. 예를 들어, 상대적으로 많은 데이터량을 갖는 고화질의 영화를 방송하고자 하는 경우라면, 종래 MPEG-2 방식에 따른 코덱보다 더 높은 압축율을 갖는 H.264/MPEG-4 AVC(Advanced Video Coding) 등을 적용한다면 채널 대역폭의 한계를 극복할 수 있다. 따라서, 앞으로 채널 또는 방송 프로그램의 특성에 따라서 다양한 코덱의 적용할 필요가 요구되고 있다.
그러나, 종래 기술에 따르면 한 채널 내에서 방송 프로그램들이 단일 코덱을 이용하여 부호화된 경우를 가정하고 있으므로, 만약 한 채널 내의 프로그램들이 다양한 코덱을 적용하여 부호화되어 전송된 경우 코덱 변동으로 인하여 채널 전환의 경우와 같이 버퍼 비움 및 초기화가 발생하므로 코덱 변동시에 끊김 현상이 발생될 수 있다.
또한, 소정의 저장 매체에 서로 다른 코덱을 이용하여 부호화된 비디오, 오디오 데이터를 재생하는 경우에도, 코덱이 변화되는 시점에서 재생 영상이 끊기는 현상이 발생된다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및/또는 오디오 데이터 스트림을 재생할 경우, 코덱 변동시에도 끊김없이 비디오 및/또는 오디오 데이터 스트림을 재생하는 코덱 변경 방법 및 장치를 제공하는데 목적이 있다.
또한, 본 발명은 코덱 변화시에 버퍼 초기화나 언더플로우(underflow) 또는 오버플로우(overflow) 없이 매끄럽게 비디오 및/또는 오디오 데이터 스트림을 재생 하는 코덱 변경 방법 및 장치를 제공하는데 목적이 있다.
상기와 같은 기술적 과제를 해결하기 위하여 본 발명에 따른 동일 채널 내에서 적어도 2개의 서로 다른 코덱을 이용하여 부호화된 비디오 및/또는 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법은, 비디오, 오디오 프로그램 엘리먼트 및 프로그램 정보를 구비한 트랜스포트 스트림을 역다중화하여 비디오, 오디오 프로그램 엘리먼트 및 프로그램 정보를 출력하는 단계; 상기 역다중화된 비디오, 오디오 프로그램 엘리먼트 및 프로그램 정보를 각각 소정의 버퍼에 저장하는 단계; 상기 프로그램 정보를 이용하여 상기 프로그램 엘리먼트의 코덱 변화 여부 및 상기 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 판단하는 단계; 상기 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 이용하여 상기 코덱 변화가 발생하는 프로그램 엘리먼트가 저장된 상기 소정의 버퍼상의 위치를 추출하는 단계; 및 상기 추출된 버퍼상의 위치를 이용하여 상기 버퍼에 저장된 비디오, 오디오 프로그램 엘리먼트의 부호화에 이용된 코덱을 선택하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 동일 채널 내에서 적어도 2개의 서로 다른 코덱을 이용하여 부호화된 비디오 및/또는 오디오 데이터 스트림의 재생을 위한 코덱 변경 장치는, 비디오, 오디오 프로그램 엘리먼트 및 프로그램 정보를 구비한 트랜스포트 스트림을 역다중화하여 비디오, 오디오 프로그램 엘리먼트 및 프로그램 정보를 출력하는 스트림 역다중화부; 상기 역다중화된 비디오, 오디오 프로그램 엘리먼트 및 프로그 램 정보를 저장하는 버퍼부; 상기 버퍼부에 저장된 프로그램 정보를 이용하여 상기 프로그램 엘리먼트의 코덱 변환 여부 및 상기 수신된 트랜스포트 스트림 중에서 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 판단하고, 상기 비디오, 오디오 프로그램 엘리먼트의 복호화를 위한 코덱을 선택하는 제어부; 및 상기 제어부에서 선택된 코덱에 따라 상기 버퍼부에 저장된 비디오, 오디오 프로그램 엘리먼트를 복호화하는 복호화부를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.
본 발명에 따른 비디오 및/또는 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법 및 장치는 적어도 2개의 서로 다른 코덱을 이용하여 부호화된 비디오 및/또는 오디오 데이터 스트림을 재생하는 경우 소정 데이터 패킷에 구비된 코덱 변화 정보를 이용하여 버퍼에 저장된 비디오 및/또는 오디오 데이터 스트림들 중 코덱 변화가 발생하는 프로그램 엘리먼트가 저장된 위치를 미리 판단하고, 상기 코덱 변화가 발생하는 프로그램 엘리먼트를 복호화하는 순간에 코덱을 바로 변환할 수 있도록 제어함으로써 코덱이 변화되는 시점의 비디오 및/또는 오디오 데이터 스트림을 끊김없이(seamless) 재생하는 것을 특징으로 한다.
상기 데이터 스트림은 방송국으로부터 전송되는 디지털 방송 프로그램, 소정의 네트워크 망을 통해 전송되는 네트워크 전송 프로그램, 또는 블루레이 디스크(Blu-ray disc)나 DVD(Digital Versatile Disc) 등의 소정의 저장 매체에 저장된 프로그램으로부터 출력될 수 있다. 이하에서는 설명의 편의를 위하여 방송국으로부터 전송되는 동일 가상 채널(virtual channel) 내의 디지털 방송 프로그램이 적어도 2개의 서로 다른 코덱을 이용하여 부호화된 비디오 및/또는 오디오 데이터 스트림 형태로 전송되는 경우를 중심으로 설명하기로 한다.
도 1은 본 발명에 따른 서로 다른 코덱을 이용하여 부호화된 비디오 및/또는 오디오 데이터 스트림의 재생을 위한 코덱 변경 장치의 구성을 나타낸 블록도이다.
도 1을 참조하면, 비디오 및/또는 오디오 데이터 스트림의 재생 장치(100)는 스트림 역다중화부(110), 버퍼부(120), 제어부(130), 복호화부(140), 비디오 프레임 버퍼(150), 오디오 프레임 버퍼(160), 디스플레이부(170) 및 오디오 재생부(180)를 포함한다.
상기 스트림 역다중화부(110)는 비디오, 오디오 프로그램 엘리먼트 및 프로그램 정보를 구비한 트랜스포트 스트림을 수신하고, 수신된 트랜스포트 스트림을 역다중화하여 비디오, 오디오 프로그램 엘리먼트(Program Element)와 프로그램 정보를 출력한다. 상기 스트림 역다중화부(110)에서 역다중화되는 트랜스포트 스트림에 대하여 설명하면 다음과 같다.
디지털 방송 프로그램은 여러 개의 프로그램이 시분할 다중화되어 트랜스포트 스트림(tranport stream) 형태로 전송된다. 트랜스포트 스트림의 데이터 구조를 나타낸 도 2를 참조하면, 트랜스포트 스트림은 TS(Transport stream) 패킷이라고 불리는 188바이트의 고정길이 패킷의 연속이다. 프로그램을 규정하는 비트열의 종류를 나타내는 프로그램 정보, 비트열 및 미디어 간의 동기를 위한 PCR(Program Clock Reference), 부호화된 비디오, 오디오 데이터(21,22) 모두는 상기 트랜스포트 스트림 패킷에 의해 전송된다. 여기서, 본 발명에 따라서 재생되는 비디오 및/또는 오디오 데이터 스트림은 다양한 코덱을 이용하여 부호화된 것으로 가정한다. 예를 들어, 비디오 데이터의 경우 MPEG-1, MPEG-2, MPEG-4, VC-1 및 H-264 등의 코덱을 이용하고, 오디오 데이터의 경우 AC-3, LPCM 및 DTS 등의 코덱을 이용하여 부호화될 수 있다. 이렇게 부호화된 비디오, 오디오 데이터(21,22)는 패킷화된 엘리멘트리 스트림(PES:Packetized Elementry Stream) 패킷(23)으로 다중화되고, 프로그램 정보는 섹션(section)이라고 불리는 데이터 구조(24,25)로 다중화되며, 패킷화된 엘리멘트리 스트림(PES) 및 섹션 정보는 다시 트랜스포트 스트림 패킷으로 다중화된다.
다시 도 1을 참조하면, 상기 스트림 역다중화부(110)에서 역다중화된 비디오, 오디오 프로그램 엘리먼트 및 프로그램 정보는 각각 버퍼부(120)에 구비된 비디오 엘리멘트리 스트림 버퍼(121), 오디오 엘리멘트리 스트림 버퍼(122) 및 PSI(Program Specific Information) 버퍼(123)에 저장된다.
상기 제어부(130)는 상기 PSI 버퍼(123)에 저장된 프로그램 정보를 분석하여 상기 수신된 트랜스포트 스트림 중에서 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 판단하고, 비디오, 오디오 프로그램 엘리먼트의 복호화를 위한 코덱이 선택되도록 상기 복호화부(140)를 제어한다.
만약 수신된 트랜스포트 스트림 중에 코덱 변화가 발생하는 프로그램 엘리먼트가 포함되어 있을 경우 끊김없이 비디오, 오디오 데이터 스트림을 재생하기 위해 서는 코덱 변화가 발생하는 프로그램 엘리먼트를 복호화하기 이전에 코덱 변화 여부를 알 필요가 있다. 이를 위해서, 상기 제어부(130)는 수신된 트랜스포트 스트림 중에서 프로그램 정보를 구비한 트랜스포트 스트림 패킷의 PSI(Program Specific Information) 및/또는 PSIP(Program and System Information Protocol) 데이터를 이용하여 코덱 변화가 발생하는 프로그램 엘리먼트가 구비된 트랜스포트 스트림 패킷의 위치를 판단한다. 널리 알려진 바와 같이, PSI는 MPEG(ISO/IEC 13818-1)에 정의된 정보로서 프로그램 사양 정보를 포함한다. 상기 PSI는 PID가 0인 패킷에 의해 전송되는 특수 정보로써 각 프로그램마다 그 프로그램의 구성 요소를 기술하는 PMT의 PID값을 갖는 PAT, 프로그램 식별 번호와 프로그램을 구성하는 비디오, 오디오 등의 개별 비트 열이 전송되고 있는 트랜스포트 스트림 패킷의 PID 리스트와 부속 정보를 기술하고 있는 PMT, 재생에 제한을 두기 위해 스크램블을 설정한 비트열을 허가된 사용자만이 복호화 및 재생할 수 있도록 하기 위해 필요한 CAT(Conditional Access Tabel), 및 수신받는 지역의 물리적 네트워크 정보를 갖는 NIT(Network Information Table)의 총 4개의 테이블로 구성된다. 특히, 본 발명에 따른 제어부(130)는 상기 PMT에 구비된 코덱 변화 정보 또는 PSIP에 따른 테이블들 중 가상 채널에 대한 정보를 갖는 VCT(Virtual Channel Table)에 구비된 코덱 변화 정보를 이용하여 코덱 변화가 발생하는 프로그램 엘리먼트가 구비된 트랜스포트 스트림 패킷의 위치를 판단한다. 또한, 상기 제어부(130)는 PES 패킷의 스트림 식별자(stream_id) 및 서브 스트림 식별자(sub_stream_id)의 조합을 이용하여 수신된 프로그램 엘리먼트의 부호화에 이용된 코덱을 판단하고, 상기 판단된 코덱 정보로 부터 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 판단할 수 있다.
도 3은 본 발명에 따른 PMT 패킷의 구조를 나타낸 도면이다. 도 3을 참조하면, 본 발명에 따른 PMT 패킷(30)의 스트림 타입(stream type) 필드에는 프로그램 엘리먼트의 부호화에 이용된 코덱 정보가 저장된다. 또한, PMT 패킷(30)의 N 루프 기술자(N loop descriptor) 필드에는 PMT 패킷으로부터 실제 코덱 변화가 발생하는 트랜스포트 스트림 패킷 사이의 공간적 위치의 차이를 나타내는 'codec_transition_descriptor'가 삽입된다.
상기 제어부(130)는 상기 PMT 패킷(30)의 상기 스트림 타입 필드 및 섹션 정보가 변화될 때마다 1씩 증가하는 'version number' 필드로부터 전송되는 패킷의 부호화에 이용된 코덱의 변화 여부를 판단할 수 있다. 참고로 ISO/IEC 13818-1에 규정된 스트림 타입은 다음의 표 1과 같다.
Figure 112006001691434-PAT00001
상기 제어부(130)는 상기 스트림 타입 필드 및 'version number' 필드로부터 수신되는 트랜스포트 스트림의 코덱 변화 여부를 판단하고, 코덱 변화가 발생한 경우에는 몇 번째 패킷으로부터 코덱 변화가 발생하는지를 알기 위해 상기 'codec_transition_descriptor'를 해석한다.
상기 'codec_transition_descriptor'는 프로그램 정보를 구비한 PMT 패킷 이후로 몇 번째 트랜스포트 스트림 패킷에 다른 코덱으로 부호화된 트랜스포트 스트림 패킷이 도달하는지를 나타내는 'num_ts_cnt_next_codec' 정보를 구비한다. 예를 들어 도 2에서 프로그램 정보를 구비한 PMT 패킷(26)이후로 n번째 수신되는 트랜스포트 스트림 패킷이 변화된 코덱을 이용하여 부호화된 비디오 또는 오디오 데이터를 구비한다고 가정하면, 상기 'num_ts_cnt_next_codec'은 n값을 갖는다. 따라서, 상기 제어부(130)는 상기 'codec_transition_descriptor'의 'num_ts_cnt_next_codec' 값으로부터 현재 PMT 패킷 이후로 몇 번째 트랜스포트 스트림 패킷부터 코덱 변화가 발생하는지를 알 수 있다. 한편, 상기 'codec_transition_descriptor'의 'descriptor_tag'는 프로그램 엘리먼트에 대한 다양한 기술자(descriptor)를 구분하기 위해 이용되고, 'descriptor_length'는 기술자의 길이를 나타낸다.
도 4는 본 발명에 따른 PES 패킷의 구조를 나타낸 도면이다.
코덱이 변화되는 패킷의 위치 정보를 별도로 기술하기 위하여 'codec_transition_descriptor'을 이용하는 대신에, 상기 제어부(130)는 도 4에 도시된 패킷화된 엘리멘트리 스트림(PES) 헤더에 구비된 스트림 식별자(stream_id) 및 패킷화된 엘리멘트리 스트림의 데이터 영역(PES packet data byte)에 구비된 서브 스트림 식별자(sub_stream_id)의 조합을 이용하여 수신된 트랜스포트 스트림 패킷에 구비된 비디오 또는 오디오 프로그램 엘리먼트의 부호화에 이용된 코덱을 판단할 수 있다. 또한 상기 제어부(130)는 상기 판단된 코덱 정보로부터 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 판단할 수 있다.
표 2는 패킷화된 엘리멘트리 스트림(PES) 헤더에 구비된 스트림 식별자(stream_id) 및 패킷화된 엘리멘트리 스트림의 데이터 영역(PES packet data byte)에 구비된 서브 스트림 식별자(sub_stream_id)의 조합에 따른 코덱 유형의 일 예를 나타낸 도면이다.
스트림 식별자(stream_id) 서브 스트림 식별자(sub_stream_id) 코덱 유형
1110 0000b MPEG-2 비디오 스트림
1110 0010b MPEG-4 AVC 비디오 스트림
1111 1101b VC-1 비디오 스트림
110x xxxxb MPEG 오디오 스트림
1011 1101b 1000 0xxxb AC-3 오디오 스트림
1011 1101b 1000 1xxxb DTS 오디오 스트림
.... .... ....
상기 제어부(130)는 상기 스트림 식별자 및 서브 스트림 식별자의 조합으로부터 현재 처리되는 패킷의 부호화에 이용되는 코덱을 판단할 수 있으며, 입력되는 패킷의 부호화에 이용된 코덱 변화 여부를 관찰하여 변화된 코덱을 이용하는 프로그램 엘리먼트가 구비된 트랜스포트 스트림 패킷의 시작 위치를 판단할 수 있다.
이와 같이 상기 제어부(130)는 트랜스포트 스트림에 구비된 프로그램 정보를 분석한 다음, 각 프로그램 엘리먼트에 대한 PID 및 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치 정보를 상기 스트림 역다중화부(110)에 전송하고, 상기 스트림 역다중화부(110)에 상기 코덱 변화된 프로그램 엘리먼트가 저장되는 구체적인 버퍼의 어드레스 정보를 요청한다.
상기 스트림 역다중화부(110)는 상기 제어부(130)로부터 상기 어드레스 정보 요청을 받으면, 해당 프로그램 엘리먼트를 구비한 트랜스포트 스트림의 패킷화된 PES 패킷의 스트림 식별자 필드와 코덱의 스트림 식별자를 비교하여 코덱 변화 시점을 찾은 다음, 코덱 변화가 발생하는 프로그램 엘리먼트가 저장된 상기 비디오, 오디오 엘리멘트리 버퍼(121,122)상의 어드레스를 상기 제어부(130)로 전달한다.
상기 제어부(130)는 상기 스트림 역다중화부(110)로부터 출력된 코덱 변화가 발생하는 상기 비디오,오디오 엘리멘트리 스트림 버퍼(121,122)의 어드레스 정보를 이용하여 상기 어드레스 이전의 프로그램 엘리먼트는 이전 코덱을 이용하여 복호화 상태를 유지하고, 코덱 변화가 발생하는 프로그램 엘리먼트부터 변화된 코덱에 따라 복호화가 수행될 수 있도록 상기 복호화부(140)에 구비된 비디오 복호화부(141) 및 오디오 복호화부(142)의 디코더들을 선택 제어한다. 여기서, 상기 비디오 복호화부(141)는 상기 비디오 엘리멘트리 스트림 버퍼(121)로부터 출력되는 서로 다른 코덱을 이용하여 부호화된 비디오 데이터를 복호화하기 위하여 복수 개의 비디오 디코더들(141a 내지 141c)을 구비한다. 또한, 상기 오디오 복호화부(142)도 상기 오디오 엘리멘트리 스트림 버퍼(122)로부터 출력되는 서로 다른 코덱을 이용하여 부호화된 오디오 데이터를 복호화하기 위하여 복수 개의 오디오 디코더들(142a,142b)를 구비한다. 상기 비디오 디코더들(141a 내지 141c) 및 오디오 디코더들(142a,142b)의 수는 도시된 바에 한정되지 않고 부호화에 이용된 코덱에 따라서 변경될 수 있다.
상기 비디오 복호화부(141)과 오디오 복호화부(142)에서 복호화된 비디오 및 오디오 데이터는 각각 비디오 프레임 버퍼(150) 및 오디오 프레임 버퍼(160)에 저장되었다가 디스플레이부(170) 및 오디오 재생부(180)에서 각각 출력된다. 상기 디스플레이부(170)는 OSG(On Screen Graphic)를 통해 현재 재생되고 있는 코덱 정보를 외부에 표시할 수 있다.
한편, 본 발명에 따라서 서로 다른 코덱을 이용하여 부호화된 비디오 및/또는 오디오 데이터 스트림을 끊김없이 재생하기 위해서는, 상기 버퍼부(120)의 비디오 엘리멘트리 스트림 버퍼(121) 및 오디오 엘리멘트리 스트림 버퍼(122)의 크기를 서로 다른 코덱에서 요구되는 버퍼 크기 중 최대값과 동일하도록 설정할 필요가 있다. 이는 코덱에 따른 비트 레이트의 차이 등으로 인하여 코덱 변환시에 오버 플로우가 발생할 수 있기 때문이다.
도 5는 본 발명에 따른 비디오, 오디오 데이터 스트림의 재생을 위한 코덱 변경 장치에 의하여 재생되는 부호화된 비디오 프레임의 입력 순서 및 비디오 프레임의 디스플레이 순서 사이의 관계 등을 나타낸 도면이고, 도 6은 코덱 변화시의 비디오 엘리멘트리 스트림 버퍼(121)의 상태를 나타낸 도면이다.
도 5를 참조하면, 비디오 데이터 스트림은 인트라 예측된 I(Intra) 프레임, 순방향 예측 부호화된 P(Predictive) 프레임, 및 쌍방향 예측 부호화된 B(Bidirectionally predictive) 프레임으로 이루어진다. 상기 I 프레임은 프레임간 예측을 이용하지 않고 프레임 내 부호화되기 때문에, 자신의 데이터만으로 원영상을 복원할 수 있다. 상기 P 프레임은 그 이전의 I 또는 P 프레임을 참조하여 예측 부호화된다. 상기 B 프레임은 그 이전 및 다음의 I 또는 P프레임을 참조하여 예측 부호화되어 있기 때문에, 그 이전 또는 다음의 I 또는 P프레임을 이용하지 않으면 복원될 수 없다. 비디오 프레임 유형에 따라서 비디오 데이터 스트림의 재생시에 비디오 스트림 버퍼(121)에 참조 프레임을 저장할 필요가 있으며, 이에 따라서 복호화 과정 중의 상기 비디오 엘리멘트리 스트림 버퍼(121)의 상태는 도 6과 같다. 도 6을 참조하면, 만약 비디오 데이터 스트림이 MPEG-2 코덱 방식으로부터 H.264 코덱으로 변환되는 경우, 상기 비디오 엘리멘트리 스트림 버퍼(121)가 MPEG-2 코덱에서 요구되는 버퍼 상한값으로 설정된 경우에는 코덱이 변화되는 시점에 오버 플로우가 발생할 수 있다. 따라서, 상기 비디오 엘리멘트리 스트림 버퍼(121)는 서로 다른 코덱에서 요구되는 버퍼 크기 중 최대값을 갖도록 설정한다.
유사하게 오디오 데이터 스트림을 재생하는 경우에도 코덱 변화에 따른 오버 플로우 등의 발생을 방지하기 위하여 상기 오디오 스트림 버퍼(122)는 이용되는 서로 다른 코덱들에서 요구되는 버퍼 크기 중 최대값을 갖도록 설정한다.
한편, 디지털 방송 프로그램의 경우 하나의 가상 채널 내에서 프로그램 엘리먼트에 대한 다른 코덱의 입력 버퍼 크기를 알 수 없는 경우에는, 상기 비디오, 오디오 엘리멘트리 스트림 버퍼(121,122)의 크기를 수신된 프로그램 엘리먼트의 소정 영역에 기록된 버퍼 크기로 전환되도록 할 수 있다.
도 7은 본 발명에 따른 비디오, 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법을 나타낸 플로우 차트이다.
도 7을 참조하면, 단계 710에서 상기 스트림 역다중화부(110)는 비디오, 오디오 프로그램 엘리먼트 및 프로그램 정보를 구비한 트랜스포트 스트림을 수신하고, 수신된 트랜스포트 스트림을 역다중화하여 비디오, 오디오 프로그램 엘리먼트(Program Element)와 프로그램 정보를 출력한다. 전술한 바와 같이, 비디오, 오디오 데이터 스트림은 디지털 방송 프로그램, 네트워크 전송 프로그램, 또는 소정의 저장 매체에 저장된 프로그램으로부터 출력될 수 있다. 또한, 단계 720에서 상기 스트림 역다중화부(110)는 역다중화된 비디오, 오디오 프로그램 엘리먼트 및 프로그램 정보를 상기 버퍼부(120)에 저장한다.
단계 730에서 상기 제어부(130)는 버퍼부(120)에 저장된 프로그램 정보를 이용하여 코덱 변화가 발생하는 프로그램 엘리먼트가 구비된 트랜스포트 스트림 패킷의 시작 위치를 판단한다.
전술한 바와 같이, 코덱 변화가 발생하는 프로그램 엘리먼트가 구비된 트랜스포트 스트림 패킷의 시작 위치를 판단하기 위해서 상기 PMT 또는 VCT를 이용하거나, 또는 패킷화된 엘리멘트리 스트림(PES)의 헤더에 구비된 스트림 식별자와 상기 패킷화된 엘리멘트리 스트림(PES)의 데이터 영역에 구비된 서브 스트림 식별자의 조합을 이용할 수 있다.
상기 PMT 또는 VCT를 이용하는 경우의 단계 730을 구체화한 도 8을 참조하면, 단계 731에서 상기 제어부(130)는 코덱 변화가 발생하는 프로그램 엘리먼트가 구비되는 트랜스포트 스트림 패킷의 시작 위치를 판단하기 위하여, 상기 수신된 트랜스포트 스트림들로부터 프로그램 정보를 구비한 PMT 또는 VCT를 추출한다.
다음, 단계 732에서 상기 제어부(130)는 상기 PMT 또는 VCT의 스트림 타입(stream type) 필드와 'version_number' 필드의 정보를 이용하여 코덱 변화 여부를 판단한다.
단계 732의 판단 결과 코덱이 변화된 경우에는 상기 제어부(130)는 상기 PMT 또는 VCT의 소정 영역에 구비된 'codec_transition_descriptor'를 이용하여, 현재 패킷 이후로 몇 번째 트랜스포트 스트림 패킷에 다른 코덱으로 부호화된 트랜스포트 스트림 패킷이 도달하는지를 알아낸다. 그리고, 상기 제어부(130)는 상기 스트림 역다중화부(110)에 코덱 변화된 프로그램 엘리먼트가 저장된 버퍼부(120)의 어드레스를 요청한다.
다른 실시예로서 PES 패킷을 이용하는 경우의 단계 730을 구체화한 도 9를 참조하면, 단계 735에서 상기 제어부(130)는 패킷화된 엘리멘트리 스트림(PES)의 헤더에 구비된 스트림 식별자(stream_id) 및 상기 패킷화된 엘리멘트리 스트림의 데이터 영역에 구비된 서브 스트림 식별자(sub_stream_id)의 조합으로부터 수신된 프로그램 엘리먼트의 부호화에 이용된 코덱을 판단한다.
단계 736에서 상기 제어부(130)는 상기 판단된 코덱 정보를 이용하여, 수신된 트랜스포트 스트림 중에서 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 판단하고, 상기 스트림 역다중화부(110)에 코덱 변화된 프로그램 엘리먼트가 저장되는 버퍼부(120)의 어드레스를 요청한다.
다시 도 7을 참조하면, 단계 740에서 상기 스트림 역다중화부(110)는 상기 제어부(110)의 어드레스 요청에 따라서 코덱 변화된 프로그램 엘리먼트가 저장된 상기 버퍼부(120)의 어드레스를 다시 상기 제어부(130)에 제공한다.
단계 750에서, 상기 제어부(130)는 상기 어드레스 정보를 이용하여 코덱 변화가 발생하기 이전의 프로그램 엘리먼트는 이전 코덱을 이용하여 복호화 상태를 유지하고, 코덱 변화가 발생하는 프로그램 엘리먼트부터 변화된 코덱에 따라 복호화가 수행될 수 있도록 상기 비디오 복호화부(141) 및 오디오 복호화부(142)의 디코더들을 선택 제어한다.
본 발명은 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및/또는 오디오 데이터 스트림을 포함하는 디지털 방송 프로그램 뿐만 아니라 네트워크 전송 프로그램 및 소정의 저장 매체에 서로 다른 코덱을 이용하여 부호화된 비디오 및/또는 오디오 데이터 스트림을 끊김없이 재생하는데에도 적용될 수 있다.
한편, 전술한 비디오, 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 소정의 연산 장치에 의하여 읽혀지고 실행됨으로써 비디오, 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면 비디오 및/또는 오디오 데이터 스트림의 재생시에 코덱 변화가 발생하는 경우, 버퍼의 초기화나 오버플로우 없이 비디오 및/또는 오디오 데이터 스트림을 끊김없이 재생할 수 있다.

Claims (21)

  1. 동일 채널 내에서 적어도 2개의 서로 다른 코덱을 이용하여 부호화된 비디오 및/또는 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법에 있어서,
    비디오, 오디오 프로그램 엘리먼트 및 프로그램 정보를 구비한 트랜스포트 스트림을 역다중화하여 비디오, 오디오 프로그램 엘리먼트 및 프로그램 정보를 추출하는 단계;
    상기 역다중화된 비디오, 오디오 프로그램 엘리먼트 및 프로그램 정보를 각각 소정의 버퍼에 저장하는 단계;
    상기 프로그램 정보를 이용하여 상기 프로그램 엘리먼트의 코덱 변화 여부 및 상기 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 판단하는 단계;
    상기 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 이용하여 상기 코덱 변화가 발생하는 프로그램 엘리먼트가 저장된 상기 소정의 버퍼상의 위치를 추출하는 단계; 및
    상기 추출된 버퍼상의 위치를 이용하여 상기 버퍼에 저장된 비디오, 오디오 프로그램 엘리먼트의 부호화에 이용된 코덱을 선택하는 단계를 포함하는 것을 특징으로 하는 코덱 변경 방법.
  2. 제 1항에 있어서,
    상기 프로그램 정보는,
    PSI(Program Specific Information) 및/또는 PSIP(Program and System Information Protocol) 데이터를 이용하여 코덱 변화가 발생하는 프로그램 엘리먼트가 구비된 트랜스포트 스트림 패킷의 위치 정보를 포함하는 것을 특징으로 하는 코덱 변경 방법.
  3. 제 1항에 있어서,
    상기 프로그램 정보를 이용하여 상기 프로그램 엘리먼트의 코덱 변화 여부 및 상기 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 판단하는 단계는,
    상기 수신된 트랜스포트 스트림으로부터 PMT(Program Map Table)를 추출하는 단계;
    상기 PMT의 스트림 타입 필드 및 'version_number' 필드를 이용하여 코덱 변화 여부를 판단하는 단계; 및
    상기 PMT의 소정 영역에 구비된 'codec_transition_descriptor'를 이용하여 상기 코덱 변화가 발생하는 프로그램 엘리먼트가 구비된 트랜스포트 스트림 패킷의 위치를 판단하는 단계를 더 포함하는 것을 특징으로 하는 코덱 변경 방법
  4. 제 1항에 있어서,
    상기 프로그램 정보를 이용하여 상기 프로그램 엘리먼트의 코덱 변화 여부 및 상기 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 판단하는 단계는,
    상기 수신된 트랜스포트 스트림으로부터 VCT(Virtual Channel Table)를 추출하는 단계; 및
    상기 VCT의 소정 영역에 구비된 'codec_transition_descriptor'를 이용하여 상기 코덱 변화가 발생하는 프로그램 엘리먼트가 구비된 트랜스포트 스트림 패킷의 위치를 판단하는 단계를 더 포함하는 것을 특징으로 하는 코덱 변경 방법
  5. 제 3항 또는 제 4항에 있어서,
    상기 'codec_transition_descriptor'는, 현재 수신된 트랜스포트 스트림 패킷 이후로 몇 번째 트랜스포트 스트림 패킷에 다른 코덱으로 부호화된 프로그램 엘리먼트를 구비한 트랜스포트 스트림 패킷이 도달하는지를 나타내는 정보를 포함하는 것을 특징으로 하는 코덱 변경 방법
  6. 제 1항에 있어서,
    상기 프로그램 정보를 이용하여 상기 프로그램 엘리먼트의 코덱 변화 여부 및 상기 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 판단하는 단계는,
    패킷화된 엘리멘트리 스트림(PES)의 헤더에 구비된 스트림 식별자(stream_id) 및 상기 패킷화된 엘리멘트리 스트림의 데이터 영역에 구비된 서브 스 트림 식별자(sub_stream_id)의 조합을 이용하여 상기 수신된 프로그램 엘리먼트의 부호화에 이용된 코덱을 판단하는 단계; 및
    상기 판단된 코덱으로부터 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 판단하는 단계를 더 포함하는 것을 특징으로 하는 코덱 변경 방법
  7. 제 1항에 있어서,
    상기 추출된 버퍼상의 위치를 이용하여 상기 버퍼에 저장된 비디오, 오디오 프로그램 엘리먼트의 부호화에 이용된 코덱을 선택하고 상기 비디오, 오디오 프로그램 엘리먼트를 복호화하는 단계는,
    상기 추출된 버퍼상의 위치 이전의 상기 비디오, 오디오 프로그램 엘리먼트는 이전 코덱을 이용하여 복호화를 수행하고, 상기 추출된 버퍼상의 위치 이후의 상기 비디오, 오디오 프로그램 엘리먼트는 변화된 코덱에 따라 복호화를 수행하는 것을 특징으로 하는 코덱 변경 방법
  8. 제 1항에 있어서,
    상기 버퍼는,
    서로 다른 코덱에서 요구되는 버퍼 크기 중 최대값을 갖도록 설정되는 것을 특징으로 하는 코덱 변경 방법
  9. 제 1항에 있어서,
    상기 버퍼는,
    수신된 프로그램 엘리먼트의 소정 영역에 기록된 버퍼 크기로 전환되는 것을 특징으로 하는 코덱 변경 방법
  10. 제 1항에 있어서,
    상기 트랜스포트 스트림은,
    디지털 방송 프로그램, 네트워크 전송 프로그램 또는 소정의 저장 매체에 저장된 프로그램으로부터 출력되는 것을 특징으로 하는 코덱 변경 방법
  11. 동일 채널 내에서 적어도 2개의 서로 다른 코덱을 이용하여 부호화된 비디오 및/또는 오디오 데이터 스트림의 재생을 위한 코덱 변경 장치에 있어서,
    비디오, 오디오 프로그램 엘리먼트 및 프로그램 정보를 구비한 트랜스포트 스트림을 역다중화하여 비디오, 오디오 프로그램 엘리먼트 및 프로그램 정보를 출력하는 스트림 역다중화부;
    상기 역다중화된 비디오, 오디오 프로그램 엘리먼트 및 프로그램 정보를 저장하는 버퍼부;
    상기 버퍼부에 저장된 프로그램 정보를 이용하여 상기 프로그램 엘리먼트의 코덱 변환 여부 및 상기 수신된 트랜스포트 스트림 중에서 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 판단하고, 상기 비디오, 오디오 프로그램 엘리먼트의 복호화를 위한 코덱을 선택하는 제어부; 및
    상기 제어부에서 선택된 코덱에 따라 상기 버퍼부에 저장된 비디오, 오디오 프로그램 엘리먼트를 복호화하는 복호화부를 포함하는 것을 특징으로 하는 코덱 변경 장치.
  12. 제 11항에 있어서,
    상기 제어부는 수신된 트랜스포트 스트림 중에서 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 상기 스트림 역다중화부에 전달하고, 상기 역다중화부는 상기 시작 위치를 이용하여 코덱 변화가 발생하는 프로그램 엘리먼트가 저장되는 상기 버퍼부의 어드레스를 상기 제어부로 전달하는 것을 특징으로 하는 코덱 변경 장치..
  13. 제 11항에 있어서,
    상기 프로그램 정보는,
    PSI(Program Specific Information) 및/또는 PSIP(Program and System Information Protocol) 데이터를 이용하여 코덱 변화가 발생하는 프로그램 엘리먼트가 구비된 트랜스포트 스트림 패킷의 위치 정보를 포함하는 것을 특징으로 하는 코덱 변경 장치.
  14. 제 11항에 있어서,
    상기 제어부는,
    상기 수신된 트랜스포트 스트림으로부터 추출된 PMT(Program Map Table)의 스트림 타입 필드 및 'version_number' 필드로부터 코덱 변화 여부를 판단하고, 상기 PMT의 소정 영역에 구비된 'codec_transition_descriptor'를 이용하여 상기 코덱 변화가 발생하는 프로그램 엘리먼트가 구비된 트랜스포트 스트림 패킷의 위치를 판단하는 것을 특징으로 하는 코덱 변경 장치.
  15. 제 11항에 있어서,
    상기 제어부는,
    상기 수신된 트랜스포트 스트림으로부터 추출된 VCT(Virtual Channel Table)의 소정 영역에 구비된 'codec_transition_descriptor'를 이용하여 상기 코덱 변화가 발생하는 프로그램 엘리먼트가 구비된 트랜스포트 스트림 패킷의 위치를 판단하는 것을 특징으로 하는 코덱 변경 장치.
  16. 제 13항 또는 제 14항에 있어서,
    상기 'codec_transition_descriptor'는, 현재 수신된 트랜스포트 스트림 패킷 이후로 몇 번째 트랜스포트 스트림 패킷에 다른 코덱으로 부호화된 프로그램 엘리먼트를 구비한 트랜스포트 스트림 패킷이 도달하는지를 나타내는 정보를 포함하는 것을 특징으로 하는 코덱 변경 장치.
  17. 제 10항에 있어서,
    상기 제어부는,
    패킷화된 엘리멘트리 스트림(PES)의 헤더에 구비된 스트림 식별자(stream_id) 및 상기 패킷화된 엘리멘트리 스트림의 데이터 영역에 구비된 서브 스트림 식별자(sub_stream_id)의 조합을 이용하여 상기 수신된 프로그램 엘리먼트의 부호화에 이용된 코덱을 판단하고, 상기 판단된 코덱 정보로부터 코덱 변화가 발생하는 프로그램 엘리먼트가 시작되는 위치를 판단하는 것을 특징으로 하는 코덱 변경 장치.
  18. 제 11항에 있어서,
    상기 복호화부는,
    상기 제어부의 제어에 따라서 상기 추출된 버퍼상의 위치 이전의 상기 비디오 및/또는 오디오 프로그램 엘리먼트는 이전 코덱을 이용하여 복호화를 수행하고, 상기 추출된 버퍼상의 위치 이후의 상기 비디오 및/또는 오디오 프로그램 엘리먼트는 변화된 코덱에 따라 복호화를 수행하는 것을 특징으로 하는 코덱 변경 장치.
  19. 제 11항에 있어서,
    상기 버퍼부는,
    서로 다른 코덱에서 요구되는 버퍼 크기 중 최대값을 갖도록 설정되는 것을 특징으로 하는 코덱 변경 장치.
  20. 제 11항에 있어서,
    상기 버퍼부는,
    수신된 프로그램 엘리먼트의 소정 영역에 기록된 버퍼 크기로 그 크기가 전환되는 것을 특징으로 하는 코덱 변경 장치.
  21. 제 11항에 있어서,
    상기 트랜스포트 스트림은,
    디지털 방송 프로그램, 네트워크 전송 프로그램 또는 소정의 저장 매체에 저장된 프로그램으로부터 출력되는 것을 특징으로 하는 코덱 변경 장치.
KR1020060002715A 2006-01-10 2006-01-10 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법 및 장치 KR101215615B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020060002715A KR101215615B1 (ko) 2006-01-10 2006-01-10 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법 및 장치
EP20070100180 EP1827030A3 (en) 2006-01-10 2007-01-05 Method and apparatus for changing codec to reproduce video and/or audio data streams encoded by different codecs within a channel
JP2007001795A JP5133567B2 (ja) 2006-01-10 2007-01-09 コーデック変更方法及び装置
US11/651,572 US20070162852A1 (en) 2006-01-10 2007-01-10 Method and apparatus for changing codec to reproduce video and/or audio data streams encoded by different codecs within a channel
CN2007101097288A CN101068367B (zh) 2006-01-10 2007-01-10 用于改变编解码器的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060002715A KR101215615B1 (ko) 2006-01-10 2006-01-10 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20070074760A true KR20070074760A (ko) 2007-07-18
KR101215615B1 KR101215615B1 (ko) 2012-12-26

Family

ID=38234165

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060002715A KR101215615B1 (ko) 2006-01-10 2006-01-10 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법 및 장치

Country Status (5)

Country Link
US (1) US20070162852A1 (ko)
EP (1) EP1827030A3 (ko)
JP (1) JP5133567B2 (ko)
KR (1) KR101215615B1 (ko)
CN (1) CN101068367B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100900293B1 (ko) * 2008-01-10 2009-05-29 엘지전자 주식회사 방송수신장치 및 이를 이용한 외부장치의 데이터 재생방법
KR100960147B1 (ko) * 2007-11-23 2010-05-27 한국전자통신연구원 움직임 보상기의 움직임 보상 방법
KR100970145B1 (ko) * 2008-07-18 2010-07-14 (주)휴맥스 부호화/복호화 방법 및 장치
KR20170131436A (ko) * 2015-03-27 2017-11-29 소니 주식회사 비디오 콘텐츠 리플레이

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5087985B2 (ja) * 2007-04-27 2012-12-05 ソニー株式会社 データ処理装置、データ処理方法、及びプログラム
KR101439381B1 (ko) * 2008-04-24 2014-11-04 (주)휴맥스 홀딩스 부호화/복호화 방법 및 장치
EP2120416A1 (en) 2008-05-16 2009-11-18 Deutsche Telekom AG Apparatus, method and system for improved quality of voice calls over a packet based network
GB2483081A (en) * 2010-08-25 2012-02-29 Sony Corp America Tamper resistance in media processing using an obfuscated buffer handle
KR101641612B1 (ko) * 2010-11-30 2016-07-21 삼성전자주식회사 영상처리장치 및 그 영상처리방법
CA2837532C (en) 2011-06-23 2018-10-02 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
USRE47366E1 (en) 2011-06-23 2019-04-23 Sun Patent Trust Image decoding method and apparatus based on a signal type of the control parameter of the current block
KR102062283B1 (ko) 2011-06-24 2020-01-03 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
CA2830046C (en) 2011-06-24 2018-09-04 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
CN103563375B (zh) 2011-06-27 2017-04-05 太阳专利托管公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编码解码装置
CA2837535C (en) 2011-06-28 2018-09-04 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
MX2013010892A (es) 2011-06-29 2013-12-06 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
AU2012277219A1 (en) 2011-06-30 2013-09-19 Sun Patent Trust Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
CN103583048B (zh) 2011-06-30 2017-05-17 太阳专利托管公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编码解码装置
KR20140034209A (ko) 2011-07-11 2014-03-19 파나소닉 주식회사 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
US8938422B1 (en) * 2011-09-02 2015-01-20 Google Inc. Delay retrieval of synchronization information
KR101347827B1 (ko) 2013-07-22 2014-01-10 주식회사 알엠 Mpeg-ts 신호 처리부의 능동형 오디오 코덱 변경 방법 및 장치
JP6475559B2 (ja) * 2015-04-28 2019-02-27 日本放送協会 符号化装置、復号装置及びこれらのプログラム
CN116631416A (zh) * 2017-01-10 2023-08-22 弗劳恩霍夫应用研究促进协会 音频解码器、提供解码的音频信号的方法、和计算机程序
US10826838B2 (en) 2019-01-29 2020-11-03 Microsoft Technology Licensing, Llc Synchronized jitter buffers to handle codec switches
WO2021015484A1 (ko) * 2019-07-19 2021-01-28 인텔렉추얼디스커버리 주식회사 무선 통신 시스템에서 적응적인 오디오 처리 방법, 장치, 컴퓨터 프로그램 및 그 기록 매체

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5899578A (en) * 1995-12-25 1999-05-04 Sony Corporation Digital signal processor, processing method, digital signal recording/playback device and digital signal playback method
KR100238136B1 (ko) * 1996-11-28 2000-01-15 윤종용 디지털 비디오 재생장치
JP3879231B2 (ja) * 1997-02-24 2007-02-07 ヤマハ株式会社 ディジタルチューナおよびそのチャンネル切換方法
JP3791720B2 (ja) * 1997-06-11 2006-06-28 ソニー株式会社 伝送装置及び伝送方法
US6477202B1 (en) * 1997-09-03 2002-11-05 Matsushita Electric Industrial Co., Ltd. Apparatus of layered picture coding, apparatus of picture decoding, methods of picture decoding, apparatus of recording for digital broadcasting signal, and apparatus of picture and audio decoding
EP0990346B1 (en) * 1998-04-20 2014-10-15 TP Vision Holding B.V. Digital television system which switches channels in response to control data in a television signal
ATE392758T1 (de) * 2000-01-05 2008-05-15 Mitsubishi Electric Inf Tech Verfahren und vorrichtung zur feststellung der paketübertragungspriorität zwischen mehreren datenströmen
JP2002290973A (ja) * 2001-03-28 2002-10-04 Mitsubishi Electric Corp マルチメディア通信装置
EP1267579A3 (en) * 2001-06-11 2003-03-19 Canal+ Technologies Société Anonyme MPEG table structure
JP4416361B2 (ja) * 2001-09-14 2010-02-17 パナソニック株式会社 マルチフォーマットトランスポートストリームデコーダ
US7457359B2 (en) * 2001-09-26 2008-11-25 Mabey Danny L Systems, devices and methods for securely distributing highly-compressed multimedia content
JP2003152546A (ja) * 2001-11-15 2003-05-23 Matsushita Electric Ind Co Ltd マルチフォーマットストリーム復号化装置及びマルチフォーマットストリーム送出装置
JP4447197B2 (ja) * 2002-01-07 2010-04-07 三菱電機株式会社 動画像符号化装置および動画像復号装置
JP3731554B2 (ja) * 2002-03-19 2006-01-05 ソニー株式会社 信号処理装置、信号処理方法
US7127604B2 (en) * 2002-07-09 2006-10-24 Texas Instruments Incorporated Changing a codec or MAC size without affecting the encryption key in PacketCable communication
EP1570647A1 (en) * 2002-12-04 2005-09-07 Koninklijke Philips Electronics N.V. Method and apparatus for selecting particular decoder based on bitstream format detection
KR100604032B1 (ko) * 2003-01-08 2006-07-24 엘지전자 주식회사 복수 코덱을 지원하는 장치와 방법
KR100532997B1 (ko) 2003-05-23 2005-12-02 엘지전자 주식회사 디지털 티브이의 클로즈 캡션 운용 장치
JP4250631B2 (ja) * 2003-12-17 2009-04-08 キヤノン株式会社 通信装置及び制御方法
KR100606827B1 (ko) * 2004-01-27 2006-08-01 엘지전자 주식회사 가상 채널 테이블 데이터 구조, 전송 스트림 판별 방법, 및 방송 수신기
US8842175B2 (en) * 2004-03-26 2014-09-23 Broadcom Corporation Anticipatory video signal reception and processing
JP4508728B2 (ja) * 2004-06-07 2010-07-21 アルパイン株式会社 車載用電子機器およびその機器におけるディジタル放送の表示方法
WO2006025489A1 (ja) * 2004-09-01 2006-03-09 Matsushita Electric Industrial Co., Ltd. 画像再生方法及び画像再生装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100960147B1 (ko) * 2007-11-23 2010-05-27 한국전자통신연구원 움직임 보상기의 움직임 보상 방법
KR100900293B1 (ko) * 2008-01-10 2009-05-29 엘지전자 주식회사 방송수신장치 및 이를 이용한 외부장치의 데이터 재생방법
KR100970145B1 (ko) * 2008-07-18 2010-07-14 (주)휴맥스 부호화/복호화 방법 및 장치
KR20170131436A (ko) * 2015-03-27 2017-11-29 소니 주식회사 비디오 콘텐츠 리플레이

Also Published As

Publication number Publication date
JP2007189688A (ja) 2007-07-26
CN101068367A (zh) 2007-11-07
EP1827030A3 (en) 2008-07-23
KR101215615B1 (ko) 2012-12-26
JP5133567B2 (ja) 2013-01-30
US20070162852A1 (en) 2007-07-12
CN101068367B (zh) 2010-09-29
EP1827030A2 (en) 2007-08-29

Similar Documents

Publication Publication Date Title
KR101215615B1 (ko) 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법 및 장치
JP4769717B2 (ja) 画像復号化方法
CN101778235B (zh) 运动画面产生装置,编码装置,解码装置及多路复用装置
JP5568465B2 (ja) 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法およびプログラム
CN102396221B (zh) 阻止特技模式操作的支持
US7610605B2 (en) Method and apparatus for conversion and distribution of data utilizing trick-play requests and meta-data information
US20210409752A1 (en) Personal Video Recorder
JP5258885B2 (ja) 符号化ストリーム再生装置及び符号化ストリーム再生方法
JP2008527762A (ja) 画像符号化装置および画像復号化装置
JPH11196411A (ja) 画像符号化装置、画像符号化方法、画像復号化装置、及び画像復号化方法
US20080159636A1 (en) Encoding apparatus and encoding method
EP2249567A1 (en) Dynamic image stream processing method and device, and dynamic image reproduction device and dynamic image distribution device using the same
US10554711B2 (en) Packet placement for scalable video coding schemes
JP6641344B2 (ja) 符号化装置
JP4906197B2 (ja) 復号装置および方法、並びに記録媒体
JP6825075B2 (ja) 復号装置
JP7003308B2 (ja) 復号装置
JP6257448B2 (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: 20151127

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161129

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee