KR100933907B1 - 디코더에서 제로 딜레이를 가지고 기초 스트림들을스위칭하기 위한 방법 및 시스템 - Google Patents

디코더에서 제로 딜레이를 가지고 기초 스트림들을스위칭하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR100933907B1
KR100933907B1 KR1020070109755A KR20070109755A KR100933907B1 KR 100933907 B1 KR100933907 B1 KR 100933907B1 KR 1020070109755 A KR1020070109755 A KR 1020070109755A KR 20070109755 A KR20070109755 A KR 20070109755A KR 100933907 B1 KR100933907 B1 KR 100933907B1
Authority
KR
South Korea
Prior art keywords
video
elementary streams
stream
audio
streams
Prior art date
Application number
KR1020070109755A
Other languages
English (en)
Other versions
KR20080039307A (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 브로드콤 코포레이션
Publication of KR20080039307A publication Critical patent/KR20080039307A/ko
Application granted granted Critical
Publication of KR100933907B1 publication Critical patent/KR100933907B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • 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/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
    • 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/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

데이터 스트림 사이에서 빠른 스위칭을 위한 시스템들, 방법들, 장치들이 개시된다. 일실시예에서, 미디어를 제공하는 회로가 설명된다. 상기 회로는 멀티플렉시된 스트림 프로셋서, 큐, 및 디코더를 포함한다. 상기 멀티플렉싱된 스트림 프로세서는 멀티플렉싱된 스트림을 수신하고 적어도 하나의 기초 스트림을 필터링한다. 상기 큐는 적어도 하나의 기초 스트림을 큐잉한다. 상기 디코더는 상기 적어도 하나의 기초 스트림을 디코딩한다. 상기 멀티플렉싱된 스트림 프로세서는, 상기 적어도 하나의 기초 스트림으로부터 적어도 다른 기초 스트림으로 스위칭하기 위한 명령의 발행후에, 상기 적어도 하나의 기초 스트림을 대신하여 상기 적어도 다른 기초 스트림을 필터링한다. 상기 큐는 상기 명령의 발행후에 상기 적어도 하나의 기초 스트림의 일부를 저장하며, 상기 적어도 하나의 기초 스트림의 상기 일부는 상기 명령의 발행전에 상기 큐에 기록된다. 상기 디코더는 적어도 하나의 기초 스트림 및 상기 적어도 다른 기초 스트림의 일부를 디코딩한다.
스트림, 비디오, 오디오, 디코더, 프로그램, 미디어

Description

디코더에서 제로 딜레이를 가지고 기초 스트림들을 스위칭하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR SWITCHING ELEMENTARY STREAMS ON A DECODER WITH ZERO DELAY}
본 발명은 디코더에서 제로 딜레이를 가지고 기초 스트림들을 스위칭하기 위한 방법 및 시스템에 관한 것이다.
다양한 프로그램들은 뷰어들(viewers)이 다양한 다른 옵션들을 가지고 상기 프로그램을 볼 수 있게 한다. 상기 다른 옵션들중에 몇 가지 언급하자면, 언어 선택, 서브 타이틀 언어 선택(subtitle language selection), 뷰잉 밴티지 선택(viewing vantage selection), 및 주석의 선정(choice of commentary)이 있다.
상기 다른 옵션들은 다른 기초 스트림들( different elementary streams)을 사용하여 제공된다. 프로그램은 많은 수의 다른 기초 스트림들을 가질 수 있으며, 각 기초 스트림은 예를 들어 오디오, 비디오, 또는 데이터 선택을 제공할 수 있다.
일반적으로, DVD 영화 또는 프로그램은 전형적으로 오디오 및 비디오 셀렉션들의 동시 플레이로 보여지며, 몇몇 경우에는 데이터 섹렉션들도 동시 플레이된다. 몇몇 경우에, 사용자는 다른 셀렉션들을 플레이하도록 남겨두는 한편, 특정 셀렉션 으로 스위칭하도록 결정할 수 있다.
그러한 경우, 다른 셀렉션들을 플레이하는 동안 다른 특정 셀렉션으로 고르게(seamlessly) 스위칭하는 것이 바람직하다.
나아가, 종래의 전형적인 접근들이 가지는 한계점들과 단점들은 종래의 시스템들과 본 출원의 나머지 부분들에서 도면들을 참조하여 전개될 본 발명의 몇몇 측면들의 비교를 통해 당해 기술분야의 숙련된 자에게 명백해질 것이다.
본 발명이 해결하고자 하는 과제는 디코더에서 제로 딜레이를 가지고 기초 스트림들을 스위칭하기 위한 방법 및 시스템을 제공하는데 있다.
본 발명에 따른 기초 스트림들 사이에서 빠른 스위칭을 위한 방법 및 시스템은 실질적으로 적어도 하나의 도면들과 연관하여 보여지거나 설명되는 것처럼 청구범위에서 좀더 완전하게 전개될 것이다.
본 발명의 일측면에 의하면, 데이터를 디코딩하는 방법이 제공된다. 상기 방법은,
적어도 하나의 데이터 스트림(stream of data)을 큐잉(queueing)하는 단계;
상기 적어도 하나의 데이터 스트림 대신에 다른(another) 데이터 스트림을 디코딩하기 위한 명령을 수신하는 단계;
상기 명령을 수신한 후, 상기 적어도 하나의 데이터 스트림의 일부를 디코딩하는 단계로서, 상기 적어도 하나의 데이터 스트림의 상기 일부는 상기 명령을 수신하기 전에 큐잉되며;
상기 적어도 하나의 데이터 스트림의 상기 일부를 디코딩한 후에 다른 데이터 스트림을 디코딩하는 단계를 포함한다.
바람직하게는, 상기 방법은,
복수의 데이터 스트림들을 수신하는 단계; 및
상기 적어도 하나의 데이터 스트림을 필터링하는 단계를 더 포함한다.
바람직하게는, 상기 복수의 데이터 스트림들을 수신하는 단계는, 전송 스트림(transport stream)을 수신하는 단계를 더 포함하되, 상기 전송 스트림은 상기 복수의 데이터 스트림들을 포함한다.
바람직하게, 상기 복수의 데이터 스트림들을 수신하는 단계는 프로그램 스트림을 수신하는 단계를 더 포함하며, 상기 프로그램 스트림은 상기 복수의 데이터 스트림들을 포함한다.
바람직하게는, 상기 적어도 하나의 데이터 스트림은 패킷화된 데이터 스트림을 포함한다.
바람직하게는, 상기 적어도 하나의 데이터 스트림은 오디오 데이터 스트림을 포함하며, 상기 다른 데이터 스트림은 다른 오디오 데이터 스트림(another stream of audio data)을 더 포함한다.
바람직하게는, 상기 적어도 하나의 데이터 스트림은 비디오 데이터 스트림을 더 포함하며, 상기 다른 데이터 스트림은 다른 비디오 데이터 스트림을 포함한다.
바람직하게는, 상기 방법은 데이터 스트림들에서의 변경을 표시하는 식별자를 큐잉하는 단계를 더 포함한다.
본 발명의 일측면에 의하면, 미디어(media)를 제공하기 위한 회로가 제공된다. 상기 회로는 멀티플렉싱된 스트림을 수신하고 적어도 하나의 기초 스트림을 필터링하기 위한 멀티플렉싱된 스트림 프로세서;
상기 적어도 하나의 기초 스트림을 큐잉하기 위한 큐;
상기 적어도 하나의 기초 스트림을 디코딩하기 위한 디코더;를 포함하며,
상기 멀티플렉싱된 스트림 프로세서는, 상기 적어도 하나의 기초 스트림으로부터 상기 적어도 하나의 다른 기초 스트림으로 스위칭하기 위한 명령의 발행후에, 적어도 하나의 기초 스트림 대신에 적어도 하나의 다른 기초 스트림을 필터링하고;
상기 큐는, 상기 명령의 발행 후, 상기 적어도 하나의 기초 스트림의 일부를 저장하고, 상기 적어도 하나의 기초 스트림의 상기 일부는, 상기 명령의 발행전에 상기 큐에 기록되고;
상기 디코더는 상기 적어도 하나의 기초 스트림의 상기 일부 및 상기 적어도 하나의 다른 기초 스트림을 디코딩한다.
바람직하게는, 상기 디코더에 의한, 상기 적어도 하나의 다른 기초 스트림의 시작의 수신은 상기 디코더에서 예외(exception)를 발생시키고, 상기 예외는 상기 디코더가 상기 예외 핸들러(exception handler)를 실행하도록 하고, 상기 예외 핸들러는 상기 디코더가 상기 적어도 다른 기초 스트림을 위한 코덱을 선택하도록 유발한다.
바람직하게는, 상기 멀티플렉싱된 스트림 프로세서는 상기 큐에 인디케이터(indicator)를 위치시키고, 상기 인디케이터는 상기 적어도 다른 기초 스트림의 상기 시작(start)을 표시한다.
바람직하게는, 상기 회로는 상기 디코더가 상기 적어도 다른 데이터 스트림 및 상기 적어도 하나의 데이터 스트림을 디코딩하는 동안, 적어도 하나의 다른 데이터 스트림을 디코딩하기 위한 다른(another) 디코더를 더 포함한다.
바람직하게는, 상기 디코더는,
상기 적어도 하나의 기초 스트림 및 상기 다른 기초 스트림을 수신하기 위한 추출기(extractor); 및
상기 적어도 하나의 기초 스트림 및 상기 다른 기초 스트림을 압축해제하기 위한 압축해제 엔진을 더 포함한다.
바람직하게는, 상기 추출기는 상기 다른 기초 스트림을 검출하고, 상기 압축해제 엔진을 인터럽트시키며, 상기 인터럽트는 상기 압축해제 엔진이 상기 다른 기초 스트림과 연관된 컨텍스트(context)를 로드하게 유발한다.
바람직하게는, 상기 추출기는 상기 다른 기초 스트림으로의 변경을 표시하기 위한 인디케이터를 검출함으로써 상기 다른 기초 스트림을 검출한다.
바람직하게는, 상기 멀티플렉싱된 스트림은 프로그램 스트림을 포함한다.
바람직하게는, 상기 멀티플렉싱된 스트림은 전송 스트림을 포함한다.
바람직하게는, 상기 디코더는,
적어도 하나의 기초 스트림 및 다른 기초 스트림을 수신하기 위한 추출기; 및
상기 적어도 하나의 기초 스트림 및 상기 다른 기초 스트림을 압축해제하기 위한 압축해제 엔진을 더 포함하며,
상기 추출기는 상기 다른 기초 스트림을 검출하고, 상기 압축해제 엔진을 인터럽트시키며, 상기 인터럽트는 상기 압축해제 엔진이 상기 다른 기초 스트림과 연계된 컨텍스트를 로드하게 유발한다.
바람직하게는, 상기 추출기는, 상기 다른 기초 스트림으로의 상기 변경을 표시하는 인디케이터를 검출함으로써 상기 다른 기초 스트림을 검출한다.
본 발명의 이러한 장점들 및 다른 장점들과 신규한 특징들은 본 발명의 도시된 실시예들의 상세한 사항들뿐만 아니라 하기의 상세한 설명 및 도면으로부터 더 잘 이해될 것이다.
본 발명은 디코더에서 제로 딜레이를 가지고 기초 스트림들을 스위칭하기 위한 방법 및 시스템을 제공함으로써, 종래의 전형적인 접근들이 가지는 한계점들과 단점들을 해결할 수 있다.
도 1을 참조하면, 본 발명의 실시예에 따른 데이터 스트림들의 설명을 나타내는 블록도가 도시되어 있다. 프로그램은 어떠한 개수의 비디오 기초 스트림들(105v(0) ... 105v(m)), 오디오 기초 스트림들(105a(0)...105a(n)), 및 기초 데이터 스트림들(105d(0)... 105d(p))이라도 연관될 수 있다
대표적인 프로그램에서, 예를 들어, 각 비디오 기초 스트림(105v)은 특정 밴티지 포인트(vantage point)로부터의 비디오를 제공할 수 있다. 각 오디오 기초 스트림(105a)은 다른 언어들의 오디오를 제공할 수 있다. 각 기초 데이터 스트림(105d)은 다른 언어들의 서브 타이틀들(sub-titles)을 제공할 수 있다.
일반적으로, 상기 프로그램들의 프리젠테이션(presentation)은 적어도 하나의 비디오 기초 스트림(105v), 적어도 하나의 오디오 기초 스트림(105a), 및 어떠 한 개수의 다른 데이터 기초 스트림들(105d)(different elementary streams of data)의 동시적인 표시(simultaneous display)를 연관시킨다. 또한, 비디오 기초 스트림들(105v), 오디오 기초 스트림들(105a), 및 데이터 기초 스트림들(105d)은 타임 베이스(time base)와 연관되어 있다. 상기 기초 스트림들(105)은 상기 데이터의 특정 부분들을 표시하기 위한 시간을 나타내는 타임 스탬프들을 포함한다. 상기 타임 스탬프들은 데이터의 어떠한 기초 스트림들(105d) 뿐만 아니라 상기 오디오 및 비디오 기초 스트림들을 동기화하기 위한 로컬 클럭(local clock)에 비교될 수 있다.
상기 기초 스트림들(105)의 각각은 멀티플렉싱된 스트림(110)으로 제공된다. 멀티플렉싱된 스트림은, 예를 들어, 전송 스트림(transport stream) 또는 프로그램 스트림(program stream)을 포함한다. 전송 스트림은 인터넷과 같은 로시 매체들(lossy medium)을 통한 전송(transmission)을 위해 우선적으로 사용된다. 한편 프로그램 스트림은 버스(bus)와 같은 로컬 매체들(local medium)을 통한 전송에 우선적으로 사용된다. 상기 멀티플렉싱된 스트림(110)은 특정 패킷들(115)을 포함한다. 상기 패킷들(115)은 상기 기초 스트림들(105) 중 특정된 하나로부터의 데이터 및 헤더들(115h)을 포함한다. 상기 헤더들(115h)은 상기 특정 기초 스트림을 식별하기(identifying) 위한 패킷 식별 필드들(packet identifier fields) PID를 포함한다.
프리젠테이션될 상기 선택된 기초 스트림들(105)은 상기 멀티플렉싱된 스트림(110)으로부터 필터링된다. 예를 들면, 사용자가 특정 비디오 기초 스트 림(105v(3)), 오디오 기초 스트림(105a(4)), 및 데이터 기초 스트림(105d(5) 및 1405d(7))을 보고자 하면, 다른 패킷들은 버려지는 한편, 앞선 기초 스트림들에 연관된 PID들을 가진 멀티플렉싱된 스트림 패킷들(115)은 상기 멀티플렉싱된 스트림(110)으로부터 필터링된다.
그 다음 필터링된 상기 패킷들은 그와 연관된 큐에 위치된다. 예를 들면, 상기 큐들은 오디오 큐, 비디오 큐, 어떠한 개수의 데이터 큐들을 포함할 수 있다. 상기 큐들은 처리 및 프리젠테이션을 위한 기초 스트림들을 저장한다. 상기 타임 스탬프들은 상기 기초 스트림들을 동기시켜(in synchronization) 처리하는데 사용된다.
선택된 기초 스트림(105)은 변경될 수 있다. 예를 들면, 비디오 기초 스트림(105v(3)) 및 데이터 기초 스트림(105d(5) 및 105d(7))의 프리젠테이션을 지속하는 동안, 오디오 기초 스트림(105a(4))은 오디오 기초 스트림(105a(5))으로 변경될 수 있다.
상기 선택된 기초 스트림(105)이, 예를 들어 오디오 기초 스트림(105a(4))으로부터 기초 스트림(105a(5))으로 변경될 때, 상기 먼저 선택된 기초 스트림의 적어도 일부, 예를 들면, 기초 스트림(105a(4))은 상기 연관된 큐에 이미 저장되어 있는 상태일 수 있다. 추가적으로 상기 다른 오디오 기초 스트림들(105a(0) ... 105a(m))은 처리를 위한 다른 코덱을 요구할 수 있다.
상기 선택 변경에 앞서 상기 큐에 위치되어진, 상기 앞서 선택된 기초 스트림의 중에서 상기 일부중에서 상기 큐를 플러싱(flushing) 하는 것은, 바로 앞에 있는 큐를 위한 타임 스탬프가 나머지 큐들의 끝(end)에 일치하게 하는 조건에 이르게 한다.
예를 들면, 원래 선택되었던 기초 스트림이 기초 스트림(105a(4))이고, 기초 스트림(105a(5))으로 변경되었다면, 상기 기초 스트림이 기초 스트림(105a(5))으로 변경되었을 때, 기초 스트림(105a(4))의 일부는 큐(120a)에 남아 있을 것이다. 비디오 기초 스트림(105v(5)) 및 데이터 기초 스트림( 105d(5) 및 105d(7))이 동시에 플레이된다면, 큐(120a)를 플러싱하는 것은 큐(120a)의 헤드 끝이 큐들(120v, 120d)의 테일 끝(tail end)의 타임 베이스에 일치하게 되는 조건에 이르게 한다.
따라서, 상기 이전에 선택된 기초 스트림들의 일부, 예를 들면, 상기 선택 변경의 시점에 상기 큐(120a)에 있는, 오디오 기초 스트림(105a(4)')은 큐안에 남아있고 처리된다. 상기 선택 변경의 시점에서, 새롭게 선택된 기초 스트림, 예를 들면 오디오 기초 스트림(105a(5))과 연관된 멀티플렉싱된 패킷들(110)은 이전에 선택된 오디오 기초 스트림(105a(4))을 대신하여 필터링된다. 따라서, 상기 일부(105a(4)')를 플레이를 완료하는 점에서, 오디오 기초 스트림(105a(5))이 플레이된다. 이러한 천이(transition)는 비디오 기초 스트림(105v(3)) 및 기초 데이터 스트림들(105d(5) 및 105d(7))을 플레이하는 것에 대하여 고르게(seamlessly) 일어난다.
도 2를 참조하면, 본 발명의 실시예에 따른 데이터 스트림을 나타내기 위한 흐름도가 도시되어 있다. 단계 205에서, 데이터 스트림, 예를 들면 오디오 기초 스트림(105a(4))은 큐, 예를 들면 120a에 큐잉된다. 단계 210에서 현재 데이터 스트 림, 예를 들면 오디오 기초 스트림(105a(4))을 대신하여 다른 데이터 스트림, 예를 들면 오디오 기초 스트림(105a(5))을 디코딩하기 위한 명령이 수신된다.
상기 명령을 수신한 후에, 상기 명령, 예를 들면 오디오 기초 스트림(105a(4)')을 수신하기 전에 큐잉되었던, 상기 원래 디코딩된 데이터 스트림, 예를 들면 오디오 기초 스트림(150a(4))은 단계 215에서 디코딩된다. 상기 일부(105a(4)')를 디코딩한 후에, 단계 220에서, 상기 새롭게 선택된 데이터 스트림, 오디오 기초 스트림(105a(5))이 디코딩된다.
상기 과정은 멀티미디어 프리젠테이션 동안 하나의 미디어 스트림으로부터 다른 미디어 스트림으로 빠른 천이(transition)를 위해 사용될 수 있다. 본 발명의 몇몇 실시예들에서, 하나의 미디어 스트림으로부터 다른 미디어 스트림으로의 천이는 다른 미디어의 연속적인 프리젠테이션에 관하여 고르게(seamless) 될 수 있다. 예를 들면, 비디오 및 오디오를 포함하는 영화의 프리젠테이션동안, 상기 오디오 스트림은 다른 오디오 스트림, 예를 들면 다른 언어의 오디오로 스위칭될 수 있고, 이와 같은 방식으로 비디오에 대하여도 고르게 되어 보는 사람에게 비교적 연속적으로 나타난다.
몇몇 실시예들에서, 데이터 스트림들은 다양한 데이터 압축 표준들에 따라 압축된 데이터를 포함할 수 있다. 예를 들면, MPEG(Motion Picture Expert Group)은 MPEG-2, AVC(Advanced Video Compression)과 같은 비디오 데이터 압축, 및 MPEG-1 및 MP3와 같은 오디오 압축을 위한 많은 다른 표준들을 보급해왔다. 본 발명의 몇몇 실시예들은 앞서 말한 표준들에 따라 압축된 오디오 데이터 및 비디오 데이터를 포함하는 데이터 스트림들과 함께 사용될 수 있다.
도 3을 참조하면, 본 발명의 실시예에 따르는 대표적인 DVD 집적 회로(300)의 블록도가 나타나 있다. 상기 집적 회로(300)는 고해상도 DVD 플레이어들을 위한 고집적 실리콘 플랫폼을 제공할 수 있다. 또한 그것은 분리 인코더(separate encoder)와 함께 사용될 수 있다.
상기 집적 회로(300)는 입력(302)에서 복수의 기초 스트림들(105)을 캐리(carry)하는 멀티플렉싱된 스트림(110)을 수신하고, 프리젠테이션을 위해 선택된 기초 스트림들(105)로부터의 데이터를 프리젠테이션한다. 상기 선택된 비디오 기초 스트림들로부터의 비디오 데이터는 비디오 디지털 - 아날로그 변환기(DAC)(310)를 통해 컴포넌트 비디오, 또는 S-비디오로, HDMI 출력 단자(315)를 통해 HDMI로 출력될 수 있다. 상기 선택된 아날로그 기초 스트림들로부터의 아날로그 데이터는 8 채널/스테레오 출력 단자(320)를 통해 7.1 채널 출력 포맷 또는 스테레오 I2S 포맷으로, SPDIF 출력 단자(325)로부터 SPDIF 포맷으로, 및 스테레오 오디오 디지털 오디오 변환기(330)를 통해 아날로그로 출력될 수 있다.
상기 집적 회로(300)는 코어 프로세서(303), 예를 들면, HD-DVD 및 BD 그래픽스, HD-DVD 및 BD 네비게이션, 상호연결성(interconnectivty), 컨텐츠 보호 및 암호해독(content protection and decryption), 및 그래픽스를 위한 플로팅 포인트(폰트 렌더링;font rendering) 및 자바 지원(JAVA support)을 지원하는 4350 듀얼-쓰레드 MIPS 프로세서를 포함할 수 있다. 상기 코어 프로세서는 실행을 위해 멀티미디어 유닛, 32K/16K 명령(instruction), 32K 데이터 캐시, 및 128K RAC(read ahead cache)을 포함할 수 있다.
상기 집적 회로(300)는 멀티플렉싱된 스트림(110)을 수신하기 위해 멀티플렉싱된 스트림 프로세서(305)를 포함할 수 있다. 위에서 지적된 바와 같이, 상기 멀티플렉싱된 스트림(110)은 특정 기초 스트림들(105) 및 헤더들(115h)로부터 캐링하는 복수의 패킷들(115)을 포함한다. 상기 헤더들(115h)은 상기 특정 기초 스트림을 식별하기 위한 패킷 식별자 필드 PID를 포함한다.
상기 멀티플렉싱된 스트림 프로세서(305)는 입력(302)을 통해 멀티플렉싱된 스트림을 수신하고, 상기 멀티플렉싱된 스트림(110)으로부터 보여질 선택된 기초 스트림들(105)을 필터링한다. 상기 멀티플렉싱된 스트림(110)은 다른 기초 스트림들을 식별하는 PID들과 함께 멀티플렉싱된 패킷들(115)을 포함한다. 상기 멀티플렉싱된 스트림 프로세서(305)는 상기 멀티플렉싱된 패킷(115) 헤더들(115h)을 파싱하고, PID들을 조사하고, 상기 선택된 오디오 기초 스트림들 및 비디오 기초 스트림들을 필터링한다. 상기 멀티플렉싱된 스트림 프로세서(305)는 오디오 큐들(120a)을 통해 오디오 디코더(340)에 상기 필터링된 오디오 기초 스트림들(105a)을 제공하고, 비디오 큐들(120v)을 통해 비디오 디코더(350)에 상기 필터링된 비디오 기초 스트림들(105v)을 제공한다.
선택된 기초 스트림(105)은 변경될 수 있다. 예를 들면, 오디오 기초 스트림(105a(4))은, 비디오 기초 스트림(105v(3)) 및 데이터 기초 스트림들(105d(5) 및 105d(7))의 프리젠테이션을 지속하는 동안, 오디오 기초 스트림(105a(5))으로 변경될 수 있다.
상기 선택된 기초 스트림(105)이 예를 들면 오디오 기초 스트림(105a(4))으로부터 기초 스트림(105a(5))으로 변경될 때, 이전에 선택되었던 기초 스트림, 예를 들면 기초 스트림(150a(4))의 적어도 일부는 상기 연계된 큐에 이미 저장되어 있을 수 있다. 또한, 다른 오디오 기초 스트림들(105a(0)...105(a))은 처리를 위한 다른 코덱을 요구할 수 있다.
상기 선택 변경의 시간에 상기 큐(120a)에 있는, 이전에 선택되었던 기초 스트림, 예를 들면 기초 스트림(105a(4))의 일부는 큐에 남아있게 되고 처리된다. 상기 선택 변경의 시간에 상기 큐(120a)에 있는, 이전에 선택되었던 기초 스트림, 예를 들면 기초 스트림(105a(4))의 일부는 큐에 남아있게 되고 처리된다. 상기 선택 변경의 시간에, 새롭게 선택된 기초 스트림, 예를 들면 오디오 기초 스트림(105a(5))과 연관된 멀티플렉싱된 패킷들(110)은 상기 이전에 선택된 오디오 기초 스트림(105a(4))을 대신하여 필터링된다. 따라서, 상기 일부(105a(4)')를 플레이하는 것의 완료시에, 오디오 기초 스트림(105a(5))이 플레이된다. 이러한 천이는 비디오 기초 스트림(105v(3)) 및 데이터 기초 스트림들(105d(5) 및 105d(7))을 플레이하는 것에 대하여 고르게 발생한다.
본 발명의 몇몇 실시예들에서, 기초 스트림들의 변경은 단자(364)에서 수신된 스위칭을 위한 명령의 수신에 대응할 수 있다. 본 발명의 몇몇 실시예들에서, 상기 멀티플렉싱된 스트림 프로세서(305)는 이전에 선택된 데이터 스트림, 예를 들면 오디오 기초 스트림(105a(4)')의 일부 및 새롭게 선택된 데이터 스트림, 예를 들면 오디오 기초 스트림(105a(5) 사이에 인디케이터(indicator) 또는 마 커(marker)를 삽입할 수 있다. 상기 마커는 데이터 스트림의 변경을 가리킨다.
비디오 디코더
상기 비디오 디코더(350)는 비디오 큐(120v)에 의해 제공되는 비디오 기초 스트림들을 디코딩한다. 상기 비디오 디코더(350)는 하나의 선택된 비디오 기초 스트림으로부터 다른 것으로 천이시킬 수 있다. 본 발명의 몇몇 실시예들에서, 상기 비디오 디코더(350)는 비디오 큐(120v)에서 선택된 비디오 기초 스트림의 변경을 가리키는 마커를 검출하도록 동작가능하다. 대응적으로, 상기 비디오 디코더(350)는 미리 선택된 비디오 기초 스트림과 연관된 코덱을 새롭게 선택된 비디오 기초 스트림과 연관된 코덱으로 변경시킨다. 몇몇 실시예들에서, 비디오 디코더(350)에서 상기 마커의 도착은 인터럽트를 일으킬 수 있다. 상기 인터럽트는 비디오 디코더(350)가 적절한 코덱으로 스위칭하도록 할 수 있다.
상기 비디오 디코더(350)는 AVC(advanced video coding, H.264, 및 MPEG-4, Part10), SMPTE VC-1 어드밴스드 프로파일 레벨3(advanced profile level 3), SMPTE VC-1 심플 프로파일 to 미디엄 레벨, SMPTE VC-1 메인 프로파일 to 하이 레벨에 따라 압축된 비디오 데이터를 디코딩하기 위한 코덱들을 구비할 수 있다. 상기 비디오 디코더(350)는 동시 단일 고해상도 및 표준 해상도 디코딩을 가능하게 할 수 있다.
비디오 디코더(350)는 디코딩되고 압축해제된 비디오를 비디오 및 그래픽스 프로세서(355)에 제공한다. 몇몇 실시예들에서, 상기 비디오 및 그래픽스 프로세서(355)는 다음 특징들 중 어떤 것이라도 제공할 수 있다.
ㆍ풀 HD 해상도 프리젠테이션 그래픽스 플레인을 가지는 두 개의 컨텐츠 및 유저 인터랙션 드라이븐(user interaction driven) 2D 그래픽스 플레인(graphics planes)들을 위한 하드웨어의 지원.
ㆍ포그라운드(foreground) (인터랙티브) 그래픽스 플레인
ㆍ벤더 OSD 그래픽스 오버레이 플레인(상술된 두개의 플레인들에 추가하여)은, 모든 그래픽들 및 비디오 플레인들을 오버레이한다.
ㆍ모든 플레인들에 대한 알파-블렌딩 성능들(alpha-blending capabilities)
ㆍ동일 컨텐츠 및 그래픽스의 HD 및 SD 출력을 위한 동시 지원
ㆍ세컨더리 출력들을 위해 오버레이 플레인 단일 또는 컴포지트 출력의 가변된 버전사이에서의 선택
ㆍ비디오 스케일러 : 프로그래머블 줌잉(programmable zooming)(프레임 단위로)이 구비된 수평 및 수직; 각 비디오 스트림에 대하여 독립적으로 구성됨
ㆍ알파 블렌딩 성능들
3 레벨들의 그래픽스, 세컨더리 비디오 플레인상에서 두개의 비디오 HD-DVD 클리어 렉 기능(HD-DVD Clear Rec Function)
ㆍ모션 적응 디-인터레이서(motion adaptive de-interlacer)
ㆍ톰슨 필름 그레인 삽입 기술(Thomson Film Grain insertion technology)
ㆍ5개 입력들을 구비한 메인 출력 컴포지터
3개의 그래픽스 공급들 및 2개의 비디오 공급들
ㆍ해당 AACS-정의된 플래그가 컨텐츠 제공자에 의해 설정되면, 컴포넌트 출력들은 풀 HD 신호의 감소된 해상도 버전을 출력할 수 있다(DVO 및 HDMT 출력들은 풀 해상도로 유지해야 한다.)
그 다음, 단일 출력 이미지는 비디오 인코더(video encoder :VEC)에 보내진다. 비디오 인코더는 그 단일 출력 이미지를 다양한 아날로그 및 디지털 출력 포맷들(컴포지트 비디오, S-비디오, RF 비디오, 컴포넌트 비디오, HDMI, DVI 기타등등)로 변환한다.
오디오 디코더
오디오 디코더(340)는 선택된 오디오 기초 스트림들로부터의 오디오 데이터를 수신 및 디코딩하고, 그 디코딩된 오디오 데이터를 8 채널/스테레오 출력 단자(320), SPDIF 출력 단자(325), 및 스테레오 오디오 디지털 오디오 컨버터(330)에 제공한다.
오디오 디코더(340)는 오디오 큐(120a)에 의해 제공된 오디오 기초 스트림들을 디코딩한다. 오디오 디코더(340)는 하나의 선택된 오디오 기초 스트림들로부터 다른 오디오 기초 스트림으로 천이(transition)시킬 수 있다. 본 발명의 몇몇 실시예들에서, 오디오 디코더(340)는 오디오 큐(120a)에서 선택된 오디오 기초 스트림의 변경을 표시하는 마커(marker)를 검출하도록 동작가능하다. 이에 대응하여, 오 디오 디코더(340)는 이전에 선택된 오디오 기초 스트림과 연관된 코덱을 새롭게 선택된 오디오 기초 스트림과 연관된 코덱으로 변경한다. 몇몇 실시예들에서, 오디오 디코더(340)에의 마커의 도착(arrival)은 인터럽트를 유발할 수 있다. 이 인터럽트는 오디오 디코더(340)가 적절한 코덱으로 스위칭하도록 야기한다.
오디오 디코더(340)는 다음의 특징중의 어느 것을 포함한다.
오디오 표준들(audio standards)
-LPCM to 7.1 채널들
-MPEG 오디오
-MPEG-1 레이어Ill(MP3) to 스테레오
-Dolby 디지털(AC3) to 5.1채널들
-Dolby 디지털 플러스 to 7.1 채널들
-Dolby TruHD MLP(압축된 LPCM)- DTS to 5.1 채널 DTS - HD to 7.1채널들
-MPEG-4 고효율 AAC to 5.1 채널들 WMA Pro LPCM
-MLP(압축된 LPCM) aka Dolby TruHD - AAC-HE(IP-STB)
ㆍDTS를 위한 등가 지원을 구비한 돌비 디지털 멀티 채널 베이스 관리 지원(Dolby Digital multi-channel Bass Management support)
ㆍPCM 오디오 믹싱 및 후처리 - 아래의 특성을 가지는 프라이머리 및 세컨더리 디코딩된 스트림들
- 호스트 I/F을 통한 또는 스트림 입력으로부터의 오디오 클립들 입력
-개별적으로 제어된 믹싱 및 페이딩
ㆍ스피커 관리 성능들; "Small". "Large", 및 "Off" 설정을 위한 최소 지원
ㆍPCM 오디오 믹싱 및 후처리
- 효과음을 가진 믹스 프라이머리 및 세컨더리 디코딩된 스트림(PCM)
-개별적으로 제어된 믹싱 및 페이딩
ㆍS/PDIF 또는 HDMI 출력을 위한 믹싱된 프라이머리 및 세컨더리 프로그램들의 재인코딩 결과 및 PCM 효과들:
-포맷들:AC-3 5.1, DTS 5.1
집적 회로(300)는 인터페이스된 많은 시스템, 예를 들면 듀얼 SATA 인터페이스(357), 병렬 IDE 인터페이스(358), 10/100 베이스 이더넷 단자(359), 듀얼 USB 2.0 호스트 단자들(360), 32비트 PCI v2.2 33㎒ 마스터/타겟 인터페이스/EBI 병렬 버스 (362), 듀얼 UART 인터페이스/GPIO/사용자 인터페이스 핀들(364), 직렬 컨트롤러(serial controller:SC) 단자들(365), NAND 플래시 서포트, 외부형 플래시 서포트(external FLASH support)를 포함할 수 있다. 집적 회로(300)는 DDR 인터페이스들(367), 및 SDRAM 컨트롤러들과 같은 많은 다른 메모리 인터페이스들을 또한 포함할 수 있다.
본 발명의 몇몇 실시예들에서, 집적회로는 전체 동작(동시 HD 및 SD 디코딩, 듀얼 오디오 프로그램들, 및 풀 그래픽스 패키지 러닝(full graphics package running)에서 7.0W를 소모한다. 집적회로(300)는 액티브 상태로부터의 전력 소모를 최소 90% 또는 DVD 디바이스들에 대한 에너지스타 스펙(energystar specification)의 페이즈(phase)2에 의해 요구되는 레벨까지 줄이는 전력 다운 모드(power down mode)를 또한 포함할 수 있다. 앞서 말한 상태에서, 프로세서 및 사용자 인터페이스는 액티브 상태를 유지한다. 코어(core)를 위한 공급 전압은 1.2V일 수 있으며, DDR 인터페이스(367) 공급 전압은 1.8V일 수 있으며, PCI/EBI/GPIO 인터페이스(362) 전압은 3V일 수 있다. 집적 회로(300)는 3.3 입력으로부터 2.5V 를 제공하고, 2.5V를 집적 회로 2.5 입력들에 있는 전력 핀(power pin)상에 사용을 위해 출력하는 전압 레귤레이터를 또한 포함할 수 있다.
본 발명의 하나의 실시예는, 앞서 언급한 구조의 각각을 집적하여 탑재한 칩을 포함할 수 있으며, 외부 구조들에 대한 접속을 제공함으로써 다양한 입력 및 출력 단자들에 전기적으로 연결되는 복수의 핀들을 더 포함할 수 있다.
도 4를 참조하면, 본 발명의 실시예에 따른 대표적인 디코더(305)의 블록도가 나타나 있다. 상기 디코더는 추출기(405), 압축해제 엔진(410), 및 복수의 코덱들(415)을 포함한다. 본 발명의 몇몇 실시예들에서, 디코더(305)는 비디오 디코더(350)를 포함할 수 있으며, 상기 압축해제 엔진(410)은 비디오 압축해제 엔진을 포함하며, 상기 복수의 코덱들(415)은 비디오 코덱들을 포함한다. 본 발명의 몇몇 실시예들에서, 디코더(305)는 오디오 디코더(340)를 포함하며, 상기 압축해제 엔진(410)은 오디오 압축해제 엔진을 포함하며, 상기 복수의 코덱들(415)은 오디오 코덱들을 포함한다.
압축해제 엔진(410)은 선택된 기초 스트림과 연관된 코덱을 로딩하고, 큐(120)에 의해 제공된 데이터를 디코딩한다. 상기 기초 스트림이 변경될 때, 상기 추출기(405)는 상기 압축해제 엔진(410)에 인터럽트를 발생시킨다. 상기 인터럽트 는 상기 압축해제 엔진(410)이 코덱(415)을 새롭게 선택된 기초 스트림과 연관된 코덱으로 변경하도록 유발한다.
본 발명의 몇몇 실시예들에서, 큐(120)로부터의 마커는 추출기(405)가 압축해제 엔진(410)에 인터럽트를 발생시키게 한다. 다른 실시예들에서, 추출기(405)는 기초 스트림의 변경을 검출하고 상기 압축해제 엔진(410)을 인터럽트 할 수 있다.
도 5를 참조하면, 본 발명의 실시예에 따른 데이터 스트림을 보여주기 위한 흐름도가 나타나 있다. 단계 505에서, 멀티플렉싱된 스트림 프로세서(305)는 적어도 하나의 오디오 기초 스트림 및 적어도 하나의 비디오 기초 스트림을 필터링하고, 그 필터링된 기초 스트림들을 각각의 오디오 큐들(120a) 및 비디오 큐들(120v)에 위치시킨다. 단계 510에서, 단자(364)를 통해 현재 적어도 하나의 비디오 기초 스트림을 대신하여 동일 프로그램과 연관된 다른 데이터 기초 스트림(들)을 디코딩하기 위한 명령을 상기 멀티플렉싱된 스트림 프로세서에 의해 수신한다. 단계 515에서, 상기 멀티플렉싱된 스트림 프로세서(305)는 상기 선택된 비디오 기초 스트림(들)의 변경을 표시하는 마커를 비디오 큐(120v)에 위치시키고, 상기 적어도 오디오 기초 스트림을 필터링하는 것을 지속하는 동안 새롭게 선택된 비디오 기초 스트림(들)에 필터링을 스위칭한다.
단계 520에서, 상기 명령을 수신한 후, 상기 명령을 수신하기 전에 큐잉되어 있던, 상기 이전에 선택된 적어도 하나의 비디오 기초 스트림의 상기 일부는, 오디오 디코더(340)가 적어도 하나의 오디오 기초 스트림을 디코딩하는 것을 지속하는 동안, 비디오 디코더(350)에 의해 디코딩된다. 단계525에서, 상기 일부를 디코딩한 후, 비디오 디코더(350)의 추출기(405)는 상기 새롭게 선택된 비디오 기초 스트림(들)을 표시하는 상기 마커를 검출하고, 상기 비디오 압축해제 엔진(410)을 인터럽트시킨다. 단계 530에서, 상기 비디오 압축해제 엔진(410)은 상기 새롭게 선택된 비디오 기초 스트림(들)과 연관된 비디오 코덱을 선택한다. 단계 535에서, 상기 비디오 디코더(350)는, 상기 오디오 디코더(340)가 상기 적어도 하나의 오디오 기초 스트림을 디코딩하는 동안, 상기 새롭게 선택된 비디오 기초 스트림(들)을 디코딩한다.
여기에서 설명되었던 실시예들은 보드급 제품(board level product)으로서, 단일칩, ASIC(application specific integrated circuit), 또는 단일칩에 분리된 부품들과 같은 시스템의 다른 부분들과 집적화된(integrated) 다양한 레벨로서 구현될 수 있다.
시스템의 집적화 정도는 속도 및 비용 고려에 의해 우선적으로 결정될 수 있다. 현대 프로세로서의 정교한 특성으로 인하여 본 시스템의 ASIC 구현에 대하여 외부에 구현될 수 있는 상용 프로세서를 활용하는 것이 가능해졌다.
프로세서가 ASIC 코어(core) 또는 로직 블록(logic block)으로 가능한 경우, 상용 프로세서는 펌웨어로서 구현된 몇몇 기능을 가지는 ASIC 디바이스의 일부분으로서 구현될 수 있다. 선택적으로 상기 기능들은 상기 프로세서에 의해 제어되는 하드웨어 가속기 유닛(hardware accelerator unit)으로서 구현될 수 있다.
본 발명은 몇몇 실시예들을 참조하여 설명되었지만, 본 발명의 범주로부터 벗어나지 않고 다양한 변형이 이루어질 수 있으며, 균등물들이 대신될 수 있음은 당해 기술 분야에 숙련된 자들에게 이해될 것이다.
또한, 본 발명의 범주를 벗어나지 않고 특정한 상황 또는 매체를 본 발명의 기술들에 채택하기 위하여 많은 변형들이 있을 수 있다. 예를 들면, 본 발명은 VC-1, H.264, 및 비디오 데이터가 인코딩된 MPEG-2에 특별히 강조하여 설명되었지만, 본 발명은 광범위하게 다양한 표준들로 인코딩된 비디오 데이터에 적용될 수 있다.
따라서, 본 발명은 개시된 특정 실시예들에 한정되지 않아야 하며, 첨부되는 청구항들의 범위내에 있는 모든 실시예들을 포함할 것이다.
도 1은 본 발명의 실시예에 따른 데이터 스트림들의 설명을 나타내는 블록도이다.
도 2는 본 발명의 실시예에 따른 데이터 스트림을 나타내기 위한 흐름도이다.
도 3은 본 발명의 실시예에 따른 데이터 스트림을 나타내기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 대표적인 디코더의 블록도이다.
도 5는 본 발명의 실시예에 따른 데이터 스트림을 프리젠테이션하기 위한 흐름도이다.

Claims (10)

  1. 복수의 제1 오디오 기초 스트림 및 복수의 제2 비디오 기초 스트림을 수신하여 필터링하고 각각 오디오 큐들 및 비디오 큐들에 큐잉(queueing)하는 단계;
    상기 복수의 제1 비디오 기초 스트림을 대신하여 복수의 제2 비디오 스트림을 디코딩하기 위한 명령을 수신하는 단계;
    상기 명령을 수신한 후, 상기 큐잉되어 디코딩되지 않고 남아있는 상기 복수의 제1 비디오 기초 스트림 일부와 상기 복수의 제2 비디오 기초 스트림 사이에 상기 복수의 제2 비디오 기초 스트림의 시작을 알리기 위한 인디케이터를 삽입하고, 상기 복수의 제1 오디오 기초 스트림을 필터링하는 것을 지속하는 동안 상기 복수의 제2 비디오 기초 스트림을 상기 비디오 큐들에 큐잉하는 단계;
    상기 명령을 수신한 후, 상기 복수의 제1 오디오 기초 스트림을 디코딩하는 것을 지속하는 동안, 상기 인디케이터가 검출되기까지 상기 큐잉되어 디코딩되지 않고 남아있는 상기 복수의 제1 비디오 기초 스트림 일부를 디코딩하는 단계;
    상기 인디케이터가 검출되는 경우, 비디오 압축해제 엔진을 인터럽트시키는 단계;
    상기 비디오 압축해제 엔진이 상기 복수의 제2 비디오 기초 스트림과 연관된 비디오 코덱을 선택하는 단계; 및
    상기 복수의 제1 오디오 기초 스트림을 디코딩하는 동안 상기 큐잉된 상기 복수의 제2 비디오 기초 스트림을 디코딩을 할 비디오 기초 스트림으로 선택하여 디코딩을 수행하는 단계를 포함하는 데이터 디코딩 방법.
  2. 삭제
  3. 청구항 1에 있어서, 상기 복수의 제1 오디오 기초 스트림 및 상기 복수의 제1 비디오 기초 스트림을 수신하는 단계는,
    전송 스트림을 수신하는 단계를 더 포함하며, 상기 전송 스트림은 상기 복수의 제1 오디오 기초 스트림 및 상기 복수의 제1 비디오 기초 스트림들을 포함하는 데이터 디코딩 방법.
  4. 청구항 1에 있어서, 상기 복수의 제1 오디오 기초 스트림 및 상기 복수의 제1 비디오 기초 스트림을 수신하는 단계는,
    프로그램 스트림을 수신하는 단계를 더 포함하며, 상기 프로그램 스트림은 상기 복수의 제1 오디오 기초 스트림 및 상기 복수의 제1 비디오 기초 스트림들을 포함하는 데이터 디코딩 방법.
  5. 삭제
  6. 삭제
  7. 미디어를 제공하는 회로로서,
    멀티플렉싱된 복수의 오디오 기초 스트림 및 복수의 비디오 기초 스트림을 수신하여 필터링하기 위한 멀티플렉싱된 스트림 프로세서;
    상기 복수의 오디오 기초 스트림 및 상기 복수의 비디오 기초 스트림을 각각 큐잉하는 비디오 큐(queue)들 및 오디오 큐들;
    상기 복수의 오디오 기초 스트림 및 상기 복수의 비디오 기초 스트림을 디코딩하기 위한 디코더;를 포함하되,
    상기 멀티플렉싱된 스트림 프로세서는,
    복수의 제1 오디오 기초 스트림 및 복수의 제2 비디오 스트림을 수신하여 필터링하고 각각 오디오 큐들 및 비디오 큐들에 큐잉(queueing)하고;
    상기 복수의 제1 비디오 기초 스트림을 대신하여 복수의 제2 비디오 스트림을 디코딩하기 위한 명령을 발행하고; 및
    상기 명령을 발행한 후, 상기 큐잉되어 디코딩되지 않고 남아있는 상기 복수의 제1 비디오 기초 스트림 일부와 상기 복수의 제2 비디오 기초 스트림 사이에 상기 복수의 제2 비디오 기초 스트림의 시작을 알리기 위한 인디케이터를 삽입하고, 상기 복수의 제1 오디오 기초 스트림을 필터링하는 것을 지속하는 동안 상기 복수의 제2 비디오 기초 스트림을 상기 비디오 큐들에 큐잉하고;
    상기 디코더는,
    상기 명령이 발행된 후, 상기 복수의 제1 오디오 기초 스트림을 디코딩하는 것을 지속하는 동안, 상기 인디케이터가 검출되기까지 상기 큐잉되어 디코딩되지 않고 남아있는 상기 복수의 제1 비디오 기초 스트림 일부를 디코딩하고;
    상기 멀티플렉싱된 스트림 프로세서는,
    상기 인디케이터가 검출되는 경우, 상기 비디오 압축해제 엔진을 인터럽트시켜서, 상기 비디오 압축해제 엔진에 의해 상기 복수의 제2 비디오 기초 스트림과 연관된 비디오 코덱을 선택하고; 및
    상기 디코더는,
    상기 복수의 제1 오디오 기초 스트림을 디코딩하는 동안 상기 큐잉된 상기 복수의 제2 비디오 기초 스트림을 디코딩을 할 비디오 기초 스트림으로 선택하여 디코딩을 수행하는 미디어 제공 회로.
  8. 삭제
  9. 삭제
  10. 삭제
KR1020070109755A 2006-10-30 2007-10-30 디코더에서 제로 딜레이를 가지고 기초 스트림들을스위칭하기 위한 방법 및 시스템 KR100933907B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US86349506P 2006-10-30 2006-10-30
US60/863,495 2006-10-30
US11/736,989 US7920603B2 (en) 2006-10-30 2007-04-18 Method and system for switching elementary streams on a decoder with zero delay
US11/736,989 2007-04-18

Publications (2)

Publication Number Publication Date
KR20080039307A KR20080039307A (ko) 2008-05-07
KR100933907B1 true KR100933907B1 (ko) 2009-12-28

Family

ID=39330064

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070109755A KR100933907B1 (ko) 2006-10-30 2007-10-30 디코더에서 제로 딜레이를 가지고 기초 스트림들을스위칭하기 위한 방법 및 시스템

Country Status (6)

Country Link
US (2) US7920603B2 (ko)
EP (1) EP1956829B1 (ko)
KR (1) KR100933907B1 (ko)
CN (1) CN101175206B (ko)
HK (1) HK1119002A1 (ko)
TW (1) TWI399938B (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7920603B2 (en) * 2006-10-30 2011-04-05 Broadcom Corporation Method and system for switching elementary streams on a decoder with zero delay
US7961747B2 (en) * 2007-07-30 2011-06-14 Broadcom Corporation Display device with conversion capability for portable media player
KR100917527B1 (ko) 2008-04-28 2009-09-16 엘지전자 주식회사 사용자의 제스쳐를 검출하여 사용자 인터페이스를 제어하는방법
US8392942B2 (en) * 2008-10-02 2013-03-05 Sony Corporation Multi-coded content substitution
US20100287387A1 (en) * 2009-05-08 2010-11-11 Chen Johnny Hsiang-Yu Docking station
EP2672393A1 (en) 2012-06-04 2013-12-11 Dialog Semiconductor B.V. Circuit and methods to use an audio interface to program a device within an audio stream
US9154834B2 (en) * 2012-11-06 2015-10-06 Broadcom Corporation Fast switching of synchronized media using time-stamp management
KR102125856B1 (ko) * 2012-11-12 2020-06-23 삼성전자주식회사 데이터를 송수신하기 위한 멀티미디어 장치들간 출력 장치 공유 방법 및 시스템
US9672831B2 (en) * 2015-02-25 2017-06-06 International Business Machines Corporation Quality of experience for communication sessions
US20200236424A1 (en) * 2017-04-28 2020-07-23 Hewlett-Packard Development Company, L.P. Audio tuning presets selection
KR101988176B1 (ko) * 2018-07-16 2019-06-11 벨로넥트 인코퍼레이션 복수의 버스 마스터 간에 무순단 절체가 이루어질 수 있게 하는 방법과 그 방법을 위한 장치
US11153626B1 (en) * 2019-05-20 2021-10-19 Amazon Technologies, Inc. Systems and methods for transforming a fragment media player into an access unit media player

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920572A (en) 1995-06-30 1999-07-06 Divicom Inc. Transport stream decoder/demultiplexer for hierarchically organized audio-video streams
US20010038649A1 (en) * 2000-03-29 2001-11-08 Makoto Hagai Decoder, decoding method, multiplexer, and multiplexing method
EP1643772A2 (en) * 2004-10-04 2006-04-05 Broadcom Corporation System, method and apparatus for clean channel change
US7095945B1 (en) 2000-11-06 2006-08-22 Ati Technologies, Inc. System for digital time shifting and method thereof

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1273175A4 (en) * 1998-09-16 2003-01-08 Actv Inc CONTINUOUS SOLUTION-FREE VIDEO SWITCHING SYSTEM FOR COMPRESSED DIGITAL DATA
US7149230B2 (en) * 2002-03-08 2006-12-12 Microsoft Corporation Transport processor for processing multiple transport streams
KR20050022556A (ko) * 2003-08-20 2005-03-08 삼성전자주식회사 고신뢰 복호화 장치 및 방법
JP2007504753A (ja) * 2003-09-05 2007-03-01 トムソン ライセンシング 補助情報処理システム
WO2006025489A1 (ja) * 2004-09-01 2006-03-09 Matsushita Electric Industrial Co., Ltd. 画像再生方法及び画像再生装置
CN101053255A (zh) * 2004-09-09 2007-10-10 皇家飞利浦电子股份有限公司 内容相关的媒体流之间的简化切换
US8245264B2 (en) * 2006-05-26 2012-08-14 John Toebes Methods and systems to reduce channel selection transition delay in a digital network
US20080100631A1 (en) * 2006-10-30 2008-05-01 Doug Grearson Method and system for blu-ray/hd-dvd chip
US20080101421A1 (en) * 2006-10-30 2008-05-01 Stephen Gordon Fast audio and angle switching via multiple demux buffers
US7920603B2 (en) * 2006-10-30 2011-04-05 Broadcom Corporation Method and system for switching elementary streams on a decoder with zero delay

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920572A (en) 1995-06-30 1999-07-06 Divicom Inc. Transport stream decoder/demultiplexer for hierarchically organized audio-video streams
US20010038649A1 (en) * 2000-03-29 2001-11-08 Makoto Hagai Decoder, decoding method, multiplexer, and multiplexing method
US7095945B1 (en) 2000-11-06 2006-08-22 Ati Technologies, Inc. System for digital time shifting and method thereof
EP1643772A2 (en) * 2004-10-04 2006-04-05 Broadcom Corporation System, method and apparatus for clean channel change

Also Published As

Publication number Publication date
TW200836510A (en) 2008-09-01
KR20080039307A (ko) 2008-05-07
US20080101404A1 (en) 2008-05-01
US8737400B2 (en) 2014-05-27
TWI399938B (zh) 2013-06-21
CN101175206A (zh) 2008-05-07
EP1956829B1 (en) 2019-10-02
HK1119002A1 (en) 2009-02-20
CN101175206B (zh) 2010-11-03
US7920603B2 (en) 2011-04-05
EP1956829A1 (en) 2008-08-13
US20120087416A1 (en) 2012-04-12

Similar Documents

Publication Publication Date Title
KR100933907B1 (ko) 디코더에서 제로 딜레이를 가지고 기초 스트림들을스위칭하기 위한 방법 및 시스템
US9325929B2 (en) Power management in multi-stream audio/video devices
US6370323B1 (en) Digital video disc decoder including command buffer and command status pointers
US9154834B2 (en) Fast switching of synchronized media using time-stamp management
WO2017092344A1 (zh) 一种视频的播放方法和装置
CN102111663B (zh) 一种播放开机画面的方法、装置及电子设备
US20050180462A1 (en) Apparatus and method for reproducing ancillary data in synchronization with an audio signal
US9167220B2 (en) Synchronized stream packing
JP5087985B2 (ja) データ処理装置、データ処理方法、及びプログラム
JPH10308927A (ja) パソコンにおけるソフトウエアクロックによって同期されたオーディオ・ビジュアルストリームのレンダリング
US7609768B2 (en) Video buffer control apparatus for dual video decoding and digital broadcasting receiver thereof
US20080101421A1 (en) Fast audio and angle switching via multiple demux buffers
US9876599B2 (en) System(s), method(s), and apparatus for accurate detection of the end of stream
US20140112642A1 (en) Blu-ray disc, blu-ray disc player, and method of displaying subtitles in the blu-ray disc player
US8837921B2 (en) System for fast angle changing in video playback devices
US8213778B2 (en) Recording device, reproducing device, recording medium, recording method, and LSI
US7039849B2 (en) Data decoder and method of decoding data
US20080100631A1 (en) Method and system for blu-ray/hd-dvd chip
JPH11250566A (ja) データストリームのバッファリングを制御する方法及び装置
JP2008299653A (ja) 情報再生装置および情報再生方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121206

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131206

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150119

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151215

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161207

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171207

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191211

Year of fee payment: 11