KR20100030661A - 고속 채널 스위칭을 위한 조기 렌더링 - Google Patents
고속 채널 스위칭을 위한 조기 렌더링 Download PDFInfo
- Publication number
- KR20100030661A KR20100030661A KR1020107002156A KR20107002156A KR20100030661A KR 20100030661 A KR20100030661 A KR 20100030661A KR 1020107002156 A KR1020107002156 A KR 1020107002156A KR 20107002156 A KR20107002156 A KR 20107002156A KR 20100030661 A KR20100030661 A KR 20100030661A
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- rendering
- decoded
- data
- display
- Prior art date
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 286
- 238000000034 method Methods 0.000 claims abstract description 82
- 238000012937 correction Methods 0.000 claims description 52
- 230000004044 response Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000003672 processing method Methods 0.000 claims 3
- 230000008014 freezing Effects 0.000 claims 1
- 238000007710 freezing Methods 0.000 claims 1
- 230000001360 synchronised effect Effects 0.000 abstract description 48
- 230000005540 biological transmission Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000006854 communication Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/44016—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
- H04N19/895—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23424—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
- H04N21/43072—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4382—Demodulation or channel decoding, e.g. QPSK demodulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4383—Accessing a communication channel
- H04N21/4384—Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/44004—Processing 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
본 개시는 디지털 멀티미디어 콘텐츠의 채널들 간에 스위칭을 위한 기술에 관한 것이다. 특히, 디코딩 디바이스는 세그먼트 전체를 수신하기에 앞서 데이터 세그먼트의 적어도 하나의 프레임을 디코딩하고 디스플레이에 렌더링한다. 특정 양상에서, 디코딩 디바이스는 세그먼트의 프레임들 중 하나를 렌더링하고, 디코딩 디바이스가 세그먼트의 모든 프레임을 수신할 때까지 렌더링된 프레임을 정지시킬 수 있다. 다른 양상에서, 현재 세그먼트의 렌더링이 다음 세그먼트의 수신과 실질적으로 동시에 발생하도록 디코딩 디바이스의 수신 및 렌더링 동작이 동기화될 때까지, 디코딩 디바이스는 감소된 렌더링 속도로 하나 이상의 세그먼트의 프레임들을 렌더링할 수 있다. 세그먼트 전체를 수신하기에 앞서 적어도 하나의 프레임을 렌더링함으로써, 디코딩 디바이스는 채널 스위칭 이벤트 동안 더욱 빠르게 사용자에게 콘텐츠를 디스플레이한다.
Description
본 개시는 디지털 멀티미디어에 관한 것이며, 더욱 상세하게는, 디지털 멀티미디어 콘텐츠의 채널들 간 스위칭을 위한 기술에 관한 것이다.
디지털 멀티미디어를 브로드캐스팅하기 위한 다양한 기술들이 개발되어 왔으며, 이 기술들은 이동 무선 디바이스에 의한 수신에 최적화되어 왔다. 이러한 기술들로는 포워드 링크 온리(Forward Link Only: FLO), 디지털 멀티미디어 브로드캐스팅(Digital Multimedia Broadcasting: DMB) 및 휴대용 디지털 비디오 브로드캐스팅(Digital Video Broadcasting - Handheld: DVB-H)을 포함한다. 디지털 멀티미디어 브로드캐스팅은 전형적으로 MPEG(Moving Picture Experts Group)-1, MPEG-2, MPEG-4, ITU(International Telecommunication Union) H.263 또는 ITU H.264와 같은 하나 이상의 디지털 멀티미디어 인코딩 표준에 의존한다. ITU H.264 표준은 "고급 비디오 코딩(Advanced Video Coding)"이라는 제목의 MPEG-4, 파트 10에 대응한다. 일반적으로 이러한 코딩 표준들은 압축하는 방식으로 데이터를 인코딩함으로써 멀티미디어 시퀀스의 전송 효율을 지원한다.
몇몇 브로드캐스팅 기술들은 일련의 물리적 또는 논리적 채널로서 콘텐츠를 전달하여, 전통적인 텔레비전과 유사하게 콘텐츠 선택 경험을 제공한다. 각각의 물리적 또는 논리적 채널은 오디오 및/또는 비디오 스트림, 오디오 및/또는 비디오 클립, 또는 기타 정보 콘텐츠를 인코딩하는 디지털 데이터를 반송한다. 채널을 스위칭하기 위하여, 이동 디바이스는 선택된 채널로부터, 예컨대 하나 이상의 패킷 또는 프레임의 형태로, 디지털 데이터를 획득하고, 그 데이터를 디코딩하여 사용자에게 콘텐츠를 제시한다. 채널을 선택하고 제공하는데 있어서 장기적인 지연은 바람직하지 않으며, 이는 사용자들에게 익숙해져 있는 "채널 서핑(channel surfing)" 경험을 손상시킨다. 따라서, 채널 스위칭 시간의 단축은 브로드캐스팅에 있어서 중요한 관심사이다.
본 개시의 특정 양상에서, 비디오 데이터를 프로세싱하기 위한 방법은 비디오 데이터의 세그먼트의 적어도 일 부분의 복수의 코딩된 프레임 중 적어도 하나의 코딩된 프레임을 디코딩하는 단계, 및 이벤트에 응답하여 적어도 하나의 디코딩된 프레임과 연관된 재생 시간 이전에 적어도 하나의 디코딩된 프레임을 디스플레이에 렌더링하는 단계를 포함한다.
본 개시의 특정 양상에서, 비디오 데이터를 프로세싱하기 위한 장치는 비디오 데이터의 세그먼트의 적어도 일 부분의 복수의 코딩된 프레임 중 적어도 하나의 코딩된 프레임을 디코딩하는 디코딩 모듈, 및 이벤트에 응답하여 적어도 하나의 디코딩된 프레임과 연관된 재생 시간 이전에 적어도 하나의 디코딩된 프레임을 디스플레이에 렌더링(rendering)하는 렌더링 모듈을 포함한다.
본 개시의 특정 양상에서, 비디오 데이터를 프로세싱하기 위한 장치는 비디오 데이터의 세그먼트의 적어도 일 부분의 복수의 코딩된 프레임 중 적어도 하나의 코딩된 프레임을 디코딩하기 위한 수단, 및 이벤트에 응답하여 적어도 하나의 디코딩된 프레임과 연관된 재생 시간 이전에 적어도 하나의 디코딩된 프레임을 디스플레이에 렌더링하기 위한 수단을 포함한다.
본 개시의 특정 양상에서, 멀티미디어 데이터를 프로세싱하기 위한 컴퓨터 프로그램 제품은 명령어들을 갖는 컴퓨터 판독가능 매체를 포함한다. 명령어들은 비디오 데이터의 세그먼트의 적어도 일 부분의 복수의 코딩된 프레임 중 적어도 하나의 코딩된 프레임을 디코딩하기 위한 코드, 및 이벤트에 응답하여 적어도 하나의 디코딩된 프레임과 연관된 재생 시간 이전에 적어도 하나의 디코딩된 프레임을 디스플레이에 렌더링하기 위한 코드를 포함한다.
하나 이상의 자세한 실시예가 아래의 상세한 설명과 첨부된 도면에 개시된다. 다른 특징, 목적 및 이점들은 상세한 설명, 도면 및 청구항으로부터 명백할 것이다.
도 1은 본 명세서에 설명된 채널 스위칭 기술을 이용하는 멀티미디어 코딩 시스템을 도시한 블록도이다.
도 2는 예시적인 렌더링 모듈을 더욱 상세하게 도시한 블록도이다.
도 3은 디코딩 디바이스가 연관된 재생 시간 이전에 프레임을 렌더링하여 렌더링된 프레임을 정지시키는 예시적인 인코딩된 멀티미디어 시퀀스의 일 부분을 도시한 도면이다.
도 4는 디코딩 디바이스가 연관된 재생 시간 이전에 감소된 렌더링 속도로 하나 이상의 프레임을 렌더링하는 다른 예시적인 인코딩된 멀티미디어 시퀀스의 일 부분을 도시한 도면이다.
도 5는 연관된 오류 정정 유닛을 수신하기에 앞서 하나 이상의 데이터 유닛이 디코딩 모듈에 제공되는 다른 예시적인 인코딩된 멀티미디어 시퀀스의 일 부분을 도시한 도면이다.
도 6은 디코딩 디바이스가 연관된 재생 시간 이전에 프레임을 렌더링하여 렌더링된 프레임을 정지시키는 다른 예시적인 인코딩된 멀티미디어 시퀀스의 일 부분을 도시한 도면이다.
도 7은 디코딩 디바이스가 연관된 재생 시간 이전에 원래의 또는 감소된 렌더링 속도로 하나 이상의 프레임을 렌더링하는 다른 예시적인 인코딩된 멀티미디어 시퀀스의 일 부분을 도시한 도면이다.
도 8은 수퍼프레임의 프레임을 렌더링하고, 수퍼프레임 전체가 수신될 때까지 렌더링된 프레임을 정지시키는 디코딩 디바이스의 예시적인 동작을 도시하는 흐름도이다.
도 9는 하나 이상의 프레임을 그들의 연관된 재생 시간에 앞서 렌더링하는 디코딩 디바이스의 예시적인 동작을 도시하는 흐름도이다.
도 2는 예시적인 렌더링 모듈을 더욱 상세하게 도시한 블록도이다.
도 3은 디코딩 디바이스가 연관된 재생 시간 이전에 프레임을 렌더링하여 렌더링된 프레임을 정지시키는 예시적인 인코딩된 멀티미디어 시퀀스의 일 부분을 도시한 도면이다.
도 4는 디코딩 디바이스가 연관된 재생 시간 이전에 감소된 렌더링 속도로 하나 이상의 프레임을 렌더링하는 다른 예시적인 인코딩된 멀티미디어 시퀀스의 일 부분을 도시한 도면이다.
도 5는 연관된 오류 정정 유닛을 수신하기에 앞서 하나 이상의 데이터 유닛이 디코딩 모듈에 제공되는 다른 예시적인 인코딩된 멀티미디어 시퀀스의 일 부분을 도시한 도면이다.
도 6은 디코딩 디바이스가 연관된 재생 시간 이전에 프레임을 렌더링하여 렌더링된 프레임을 정지시키는 다른 예시적인 인코딩된 멀티미디어 시퀀스의 일 부분을 도시한 도면이다.
도 7은 디코딩 디바이스가 연관된 재생 시간 이전에 원래의 또는 감소된 렌더링 속도로 하나 이상의 프레임을 렌더링하는 다른 예시적인 인코딩된 멀티미디어 시퀀스의 일 부분을 도시한 도면이다.
도 8은 수퍼프레임의 프레임을 렌더링하고, 수퍼프레임 전체가 수신될 때까지 렌더링된 프레임을 정지시키는 디코딩 디바이스의 예시적인 동작을 도시하는 흐름도이다.
도 9는 하나 이상의 프레임을 그들의 연관된 재생 시간에 앞서 렌더링하는 디코딩 디바이스의 예시적인 동작을 도시하는 흐름도이다.
본 개시는 디지털 멀티미디어 통신에 관한 것이며, 더욱 상세하게는, 디지털 멀티미디어 콘텐츠의 채널들 간 스위칭을 위한 기술에 관한 것이다. 일부 멀티미디어 코딩 시스템에서는, 복수의 데이터 유닛이 멀티미디어 데이터의 세그먼트로 그룹화되어, "수퍼프레임(superframe)"이라고 일컬어진다. 본 명세서에서, "수퍼프레임"이란 용어는 데이터 세그먼트를 형성하기 위하여 시간 주기 또는 윈도우에 걸쳐 수집된 프레임 그룹을 지칭한다. MediaFLOTM를 이용하는 코딩 시스템에서, 수퍼프레임은 1초 동안의 데이터 세그먼트를 포함할 수 있으며, 일반적으로 30개의 프레임을 가질 수 있다. 그러나 수퍼프레임은 임의의 수의 프레임을 포함할 수 있다. 일부 양상에서, 데이터 유닛은 공통 오류 보호 코드(common error protection code)와 관련된 데이터 세그먼트를 형성하도록 그룹화될 수 있다. 이 기술들은, 고정된 시간 주기일 수도 아닐 수도 있는 상이한 시간 주기에 걸쳐 수신된 데이터의 세그먼트들, 또는 데이터의 개별 프레임들 또는 프레임 집합들과 같은, 데이터의 기타 세그먼트들을 인코딩, 결합 및 전송하는 데에도 이용될 수 있다. 환언하면, 수퍼프레임은 1초 주기보다 더 크거나 더 작은 시간 간격, 또는 다양한 시간 간격을 커버하도록 정의될 수도 있다. 어떠한 경우이든지, 데이터 세그먼트의 데이터 유닛(예컨대, 프레임)은 공통 오류 보호 코드에 대응한다. 본 명세서 전체적으로, (예컨대, 수퍼프레임의 개념과 유사한) 멀티미디어 데이터의 특정 세그먼트는 특정 크기 및/또는 기간의 멀티미디어 데이터의 임의의 청크(chunk)를 지칭하며, 특정 크기 및/또는 기간은 전송 계층(transport layer)에서 사용되는 오류 정정 코드에 적어도 부분적으로 기초한다.
본 명세서에 개시된 기술들은 디코딩 디바이스가 수퍼프레임의 프레임들 중 적어도 하나의 디코딩된 데이터를 그 프레임과 연관된 재생 시간 이전에 디스플레이에 렌더링하는 채널 스위칭 기법을 제공한다. 재생 시간은 인코딩하는 동안에 프레임에 할당된다. 프레임이 각각의 재생 시간에 디코딩 디바이스에 의해 렌더링되는 경우, 비디오가 인코딩 디바이스에 의해 특정된 속도(pace)로 재생되도록, 인코딩 디바이스가 이들 재생 시간을 할당한다. 인코딩 디바이스는 프레임의 재생 시간을 특정함으로써, 인코딩된 프레임을 디코딩 디바이스로 전송하는 동안에 전송 오류가 발생한 경우에도(전송 오류가 정정된다는 것을 가정함), 비디오의 원활한 재생을 기본적으로 보장한다. 재생 시간은 전형적으로 특정 전송 메커니즘의 콘텍스트(context)에서 정의된다.
이하 더욱 상세하게 설명하는 바와 같이, 프레임과 연관된 재생 시간은 수퍼프레임 내에, 예컨대 참조 데이터(reference data) 내에 특정될 수 있다. 디코딩 디바이스는, 예컨대 수퍼프레임의 프레임들 중 하나의 디코딩된 데이터를 저장하는 프레임 메모리를 포함할 수 있다. 디스플레이 구동기는 프레임 메모리에 저장된 디코딩된 데이터로 디스플레이를 구동하여, 디코딩된 프레임을 그 프레임과 연관된 재생 시간 이전에 사용자에게 제시할 수 있다. 더욱이, 디코딩 디바이스는, 현재 수퍼프레임의 렌더링이 후속 수퍼프레임의 수신과 실질적으로 동시에 발생하도록 디코딩 디바이스의 수신 및 렌더링(rendering) 동작을 동기화하기 위하여, 프레임 메모리가 리프레시(refresh)되는 속도를 제어할 수 있다.
특정 양상에서, 디코딩 디바이스는 수퍼프레임의 프레임들 중 하나를 그 프레임과 연관된 재생 시간 이전에 렌더링하고 렌더링된 프레임을 정지시킬 수 있다. 디코딩 디바이스는, 현재 수퍼프레임의 렌더링이 후속 수퍼프레임의 수신과 실질적으로 동시에 발생하도록 디코딩 디바이스의 수신 및 렌더링 동작이 동기화될 때까지, 렌더링된 프레임을 정지시키는 것을 지속할 수 있다. 디코딩 디바이스의 수신 및 렌더링 동작이 동기화되는 시점은, 예컨대 프레임의 렌더링 시간이 동일 프레임의 재생 시간과 일치하는 시각에 해당할 수 있다. 대안으로, 디코딩 디바이스는 복수의 프레임을 그들 각각의 재생 시간 이전에 렌더링할 수 있다. 예컨대, 디코딩 디바이스는, 디코딩 디바이스의 수신 및 렌더링 동작이 동기화될 때까지, 감소된 렌더링 속도로 수퍼프레임의 하나 이상의 프레임을 렌더링할 수 있다. 디코딩 디바이스의 조기 렌더링 성능을 더욱 강화하기 위하여, 디코딩 디바이스는, 수퍼프레임과 연관된 오류 정정 유닛을 수신하기 이전에 수퍼프레임의 적어도 하나의 프레임을 디코딩 및 렌더링할 수 있다.
디코딩 디바이스의 수신 및 렌더링 동작이 동기화된 후에, 디코딩 디바이스는 수퍼프레임의 나머지 프레임들을 정규 렌더링 속도로 렌더링하기 시작할 수 있다. 일부 양상에서, 디코딩 디바이스는 프레임의 손상에 대한 추가적인 모니터링을 할 수 있다. 예컨대, 전송 오류로 인하여, 프레임들 중 하나가 손상된 경우, 디코딩 디바이스는 현재 렌더링된 프레임을 정지시킬 수 있다. 수퍼프레임의 프레임들 중 적어도 하나를 그 프레임과 연관된 재생 시간 이전에 렌더링함으로써, 채널 스위칭 이벤트 동안 디코딩 디바이스는 더욱 빠르게 사용자에게 콘텐츠를 디스플레이한다.
도 1은 본 명세서에 설명된 채널 스위칭 기술을 사용하는 멀티미디어 코딩 시스템(10)을 도시하는 블록도이다. 멀티미디어 코딩 시스템(10)은 인코딩 디바이스(12) 및 전송 채널(15)에 의해 연결된 디코딩 디바이스(14)를 포함한다. 인코딩 디바이스(12)는 디지털 멀티미디어 데이터의 하나 이상의 시퀀스를 인코딩하고, 인코딩된 시퀀스를 전송 채널(15)을 통해, 디코딩과 디코딩 디바이스(14) 사용자로의 프레젠테이션을 위한 디코딩 디바이스(14)로 전송한다. 전송 채널(15)은 임의의 유선 또는 무선 매체, 또는 그들의 결합을 포함할 수 있다.
인코딩 디바이스(12)는 멀티미디어 데이터의 하나 이상의 채널을 브로드캐스트(broadcast)하는데 사용되는 브로드캐스트 네트워크 컴포넌트의 일부를 형성할 수 있다. 이러한 경우, 인코딩된 시퀀스 각각은 멀티미디어 데이터의 채널에 대응할 수 있다. 예컨대, 인코딩 디바이스(12)는 무선 기지국, 서버, 또는 인코딩된 멀티미디어 데이터의 하나 이상의 채널을 무선 디바이스로 브로드캐스트하는데 사용되는 임의의 기반 구조 노드(infrastructure node)의 일부를 형성할 수 있다. 이러한 경우, 인코딩 디바이스(12)는 복수의 (디코딩 디바이스(14)와 같은) 무선 디바이스로 인코딩된 데이터를 전송할 수 있다. 그러나 도 1에는 설명을 간단히 하기 위해 하나의 디코딩 디바이스(14)가 도시되어 있다.
디코딩 디바이스(14)는 인코딩 디바이스(12)에 의해 전송된 인코딩된 멀티미디어 데이터를 수신하고, 사용자로의 프레젠테이션을 위한 비디오 데이터를 디코딩하는 사용자 디바이스를 포함할 수 있다. 예컨대, 디코딩 디바이스(14)는 디지털 텔레비전, 무선 통신 디바이스, 게임 디바이스, PDA(portable digital assistant), 랩톱(laptop) 컴퓨터 또는 데스크톱 컴퓨터, "iPod"이라는 상표로 판매되는 것과 같은 디지털 음악 및 비디오 디바이스, 셀룰러, 위성 또는 지상 기반 무선 전화기와 같은 무선 전화기, 또는 비디오 및/또는 오디오 스트리밍, 비디오 전화, 또는 양자 모두를 위한 기타 무선 이동 단말기의 일부로서 구현될 수 있다. 디코딩 디바이스(14)는 이동 또는 고정 디바이스와 연관될 수 있다. 브로드캐스트 응용에서, 인코딩 디바이스(12)는 복수의 사용자와 연관된 복수의 디코딩 디바이스(14)로 인코딩된 멀티미디어 데이터를 전송할 수 있다.
일부 양상에서, 양방향 통신 응용을 위하여, 멀티미디어 코딩 시스템(10)은 SIP(Session Initiation Protocol), ITU-T(International Telecommunication Union Standardization Sector) H.323 표준, ITU-T H.324 표준, 또는 기타 표준에 따른 오디오 및/또는 비디오 스트리밍 또는 비디오 전화를 지원할 수 있다. 일방향 또는 양방향 통신을 위하여, 인코딩 디바이스(12)는 MPEG(Moving Picture Experts Group)-2, MPEG-4, ITU-T H.263, 또는 MPEG-4, 파트 10, 고급 비디오 코딩(AVC)에 대응하는 ITU-T H.264와 같은 비디오 압축 표준에 따라 인코딩된 멀티미디어 데이터를 생성할 수 있다. 도 1에 도시되어 있지 않지만, 인코딩 디바이스(12) 및 디코딩 디바이스(14)는 각각 오디오 인코더 및 디코더로 통합될 수 있으며, 적합한 멀티플렉서-디멀티플렉서(MUX-DEMUX) 모듈, 또는 공통 데이터 시퀀스 또는 별개 데이터 시퀀스로 오디오 및 비디오 양자의 인코딩을 다루기 위한 기타 하드웨어, 펌웨어 또는 소프트웨어를 포함할 수 있다. 적용가능하다면, MUX-DEMUX 모듈은 ITU H.223 멀티플렉서 프로토콜 또는 UDP(user datagram protocol)와 같은 기타 프로토콜에 따를 수 있다.
일부 양상에서, 본 개시는 FLO(Forward Link Only) 무선 인터페이스 명세(Air Interface Specification)로서, 2006년 8월, 기술 표준 TIA-1099로 공개된 "지상 이동 멀티미디어 멀티캐스트를 위한 포워드 링크 온리(Forward Link Only) 무선 인터페이스 명세"("FLO 명세")를 사용하는 지상 이동 멀티미디어 멀티캐스트(TM3) 시스템에서 실시간 멀티미디어 서비스를 제공하기 위한 강화된 H.264 비디오 코딩에의 응용을 고려한다. 그러나 본 명세서에 개시된 채널 스위칭 기술은 브로드캐스트, 멀티캐스트, 유니캐스트 또는 점 대 점 시스템의 임의의 특정 유형으로 제한되지 않는다. 더욱이, 본 명세서에 개시된 기술은 채널 스위칭이 발생하는 유선 시스템에도 동일하게 적용될 수 있다.
도 1에 도시된 바와 같이, 인코딩 디바이스(12)는 인코딩 모듈(16) 및 송신기(17)를 포함한다. 인코딩 모듈(16)은, 비디오 코딩의 경우, 하나 이상의 데이터 프레임을 포함할 수 있는 하나 이상의 입력 멀티미디어 시퀀스를 수신하고, 수신된 멀티미디어 시퀀스의 프레임을 선택적으로 인코딩한다. 인코딩 모듈(16)은 하나 이상의 소스(도 1에 미도시)로부터 입력 멀티미디어 시퀀스를 수신한다. 일부 양상에서, 인코딩 모듈(16)은, 예컨대 위성을 통해, 하나 이상의 비디오 콘텐츠 제공자로부터 입력 멀티미디어 시퀀스를 수신할 수 있다. 다른 실시예에서, 인코딩 모듈(16)은 인코딩 디바이스(12) 내에 통합되거나 인코딩 디바이스(12)에 연결된 화상 캡처 디바이스로부터 멀티미디어 시퀀스를 수신할 수 있다. 대안으로, 인코딩 모듈(16)은 인코딩 디바이스(12) 내에 있는, 또는 인코딩 디바이스(12)에 연결된 메모리 또는 아카이브(archive)로부터 멀티미디어 시퀀스를 수신할 수 있다. 멀티미디어 시퀀스는 브로트캐스트 또는 주문형(on-demand)으로서 코딩되고 전송되어야 하는 실시간의 또는 거의 실시간의 비디오 및/또는 오디오 시퀀스를 포함할 수 있으며, 또는 브로트캐스트 또는 주문형으로서 코딩되고 전송되어야 하는 사전 기록되고 저장된 비디오 및/또는 오디오 시퀀스를 포함할 수 있다. 일부 양상에서, 멀티미디어 시퀀스의 적어도 일 부분은 게임의 경우와 같이 컴퓨터 생성된 것일 수 있다.
어느 경우이든지, 인코딩 모듈(16)은 복수의 코딩된 프레임을 인코딩하고, 송신기(17)를 통하여 디코딩 디바이스(14)로 전송한다. 일부 양상에서, 인코딩 디바이스(12)는 일정 기간에 걸쳐 수신되고 공통 오류 정정 코드와 연관된 프레임을 인코딩하고, 결합하고, 전송할 수 있다. 상술한 바와 같이, 예컨대 인코딩 디바이스(12)는 일정 기간 또는 윈도우에 걸쳐 수신된 입력 멀티미디어 시퀀스 각각의 프레임을 인코딩하고, 인코딩된 데이터 프레임을 결합하여 수퍼프레임 또는 기타 데이터 세그먼트를 형성하여, 수퍼프레임 또는 기타 데이터 세그먼트를 송신기(17)를 통해 전송 채널(15)상으로 전송할 수 있다. 인코딩된 수퍼프레임 또는 기타 데이터 세그먼트는 데이터 세그먼트의 전송 동안 발생되는 임의의 오류를 정정하는데 사용되는 적어도 하나의 오류 정정 코드 블록을 또한 포함할 수 있다. 데이터 세그먼트의 프레임 각각은 오류 정정 코드 블록과 각각 연관될 수 있다. 환언하면, 복수의 프레임이 오류 정정 코드 블록과 연관되도록 데이터 세그먼트의 프레임과 오류 정정 유닛 간에는 일부 관계가 존재할 수 있다.
인코딩 모듈(16)은 하나 이상의 코딩 기술을 사용하여 수퍼프레임의 프레임 각각을 인코딩할 수 있다. 예컨대, 인코딩 모듈(16)은 인트라 코딩 기술을 사용하여 하나 이상의 프레임을 인코딩할 수 있다. 인트라 코딩(intra-coding) 기술을 사용하여 인코딩된 프레임은 다른 프레임을 참조하지 않고 코딩되며, 인트라("I") 프레임이라고 종종 지칭된다. 인코딩 모듈(16)은 인터 코딩(inter-coding) 기술을 사용하여 하나 이상의 프레임을 인코딩할 수도 있다. 인터 코딩 기술을 사용하여 인코딩된 프레임은 하나 이상의 다른 프레임을 참조하여 코딩된다. 인터 코딩된 프레임은 하나 이상의 예측(predictive)("P") 프레임, 양방향("B") 프레임 또는 이들의 결합을 포함할 수 있다. P 프레임은 적어도 하나의 시간상으로 앞선 프레임(temporally prior frame)을 참조하여 인코딩되며, B 프레임은 적어도 하나의 시간상으로 미래의 프레임(temporally future frame)과 적어도 하나의 시간상으로 앞선 프레임을 참조하여 인코딩된다.
인코딩 모듈(16)은 프레임을 복수의 블록으로 분할하고, 각각의 블록을 개별적으로 인코딩하도록 더 구성될 수 있다. 예컨대, 인코딩 모듈(16)은 프레임을 16행의 픽셀과 16열의 픽셀을 포함하는 복수의 16×16 블록으로 분할할 수 있다. "매크로 블록(macroblock)"으로 종종 지칭되는 일부 블록은 서브 분할 블록(sub-partition block)(본 명세서에서는 "서브 블록(sub-block)"으로 지칭함)의 그룹을 포함한다. 예컨대, 16×16 매크로 블록은 4개의 8×8 서브 블록 또는 기타 서브 분할 블록을 포함할 수 있다. 예컨대, H.264 표준은 다양한 상이한 크기(예컨대 16×16, 16×8, 8×16, 8×8, 4×4, 8×4 및 4×8)로 블록 인코딩을 허용한다. 나아가, 확장에 의해, 임의의 크기의 서브 블록이 매크로 블록 내에 포함될 수 있다(예컨대, 2×16, 16×2, 2×2, 4×16, 8×2 등).
인코딩 모듈(16)은 하나 이상의 채널 스위치 프레임(channel switch frame: CSF)을 인코딩하고 전송하여 디코딩 디바이스(14)의 채널 스위칭 성능을 강화할 수도 있다. 본 명세서에서 사용된 바와 같이, "채널 스위치 프레임" 또는 "CSF"라는 용어는 대응하는 인터 코딩된 데이터 프레임으로 된 멀티미디어 데이터의 적어도 일 부분을 포함하는 인트라 코딩된 데이터 프레임을 지칭한다. 환언하면, CSF는 대응하는 인터 코딩된 데이터 프레임으로 된 멀티미디어 데이터의 적어도 일 부분의 제2 코딩된 버전으로 볼 수 있다. 이러한 방식으로, CSF는 인터 코딩된 프레임 중 대응하는 것과 같은 장소에 배치되고, 일부 경우에는, 대응하는 인터 코딩된 프레임을 대신하여 또는 이와 함께 디코딩될 수 있다.
추가적으로, 인코딩 모듈(16)은 세그먼트의 코딩된 프레임을 디코딩하는데 사용되는 참조 데이터(reference data)를 인코딩할 수 있다. 참조 데이터는 수퍼프레임의 각 프레임에 대응하는 재생 시간을 식별한다. 재생 시간은 디코딩 디바이스(14)가 연관된 디코딩된 프레임을 렌더링해야할 시간을 특정한다. 재생 시간은 수퍼프레임의 시작 또는 기타 데이터 세그먼트와 같은 특정 이벤트와 관련되어 있을 수 있다. 예컨대, 제1 수퍼프레임의 제1 프레임의 재생 시간은 제2 수퍼프레임의 시작과 관련되어 있을 수 있으며, 이에 대해서는 이하 더욱 상세히 설명할 것이다. 참조 데이터는 인터 코딩된 프레임 및 인트라 코딩된 프레임의 위치를 식별하는 데이터, 프레임을 코딩하는데 사용된 코딩 기술의 유형, 단일 프레임 내의 블록을 코딩하는데 사용된 코딩 유형과 블록을 식별하는 블록 식별자, 인터 코딩된 프레임에 대한 참조 프레임의 위치 및 코딩된 프레임을 디코딩하는데 유용하거나 필요할 수 있는 기타 정보를 포함할 수도 있다.
인코딩 디바이스(12)는 코딩된 프레임과 데이터의 참조 데이터를 송신기(17)를 통해 전송한다. 송신기(17)는 인코딩된 멀티미디어를 전송 채널(15)을 통해 전송하기 위하여 적합한 모뎀 및 구동 회로 소프트웨어 및/또는 펌웨어를 포함할 수 있다. 무선 응용을 위하여, 송신기(17)는 인코딩된 멀티미디어 데이터를 반송하는 무선 데이터를 전송하기 위하여 RF 회로를 포함한다.
디코딩 디바이스(14)는 코딩된 데이터 프레임을 수신기(18)를 통하여 수신한다. 송신기(17)와 같이, 수신기(18)는 코딩된 데이터 프레임을 전송 채널(15)을 통해 수신하기 위하여 적합한 모뎀 및 구동 회로 소프트웨어 및/또는 펌웨어를 포함할 수 있으며, 무선 응용에서 코딩된 데이터 프레임을 반송하는 무선 데이터를 수신하기 위하여 RF 회로를 포함할 수 있다. 일부 양상에서, 인코딩 디바이스(12) 및 디코딩 디바이스(14) 각각은 상호적인 전송 및 수신 회로를 포함하여, 각각이 전송 채널(15)을 통해 전송된 인코딩된 멀티미디어 데이터 및 기타 정보를 위한 송신 디바이스 및 수신 디바이스 양자로서 기능할 수 있다. 이러한 경우, 인코딩 디바이스(12) 및 디코딩 디바이스(14) 모두 멀티미디어 시퀀스를 송신 및 수신하여, 양방향 통신에 참여할 수 있다. 환언하면, 도시된 멀티미디어 코딩 시스템(10)의 컴포넌트들은 인코더/디코더(CODEC)의 일부로서 통합될 수 있다.
수신기(18)는 코딩된 프레임을 디코딩 모듈(19)에 제공한다. 특정 양상에서, 수신기(18)는 데이터를 디코딩을 위한 디코딩 모듈(19)로 제공하기 이전에 수퍼프레임 전체가 수신될 때까지 대기할 수 있다. 환언하면, 수신기(18)는 오류 정정 유닛을 포함하는 수퍼프레임 전체를 수신하고, 그 후 수퍼프레임 전체를 디코딩을 위한 디코딩 모듈(19)로 제공한다. 다른 양상에서, 수신기(18)는 수퍼프레임의 적어도 일부 프레임들을 수신하고, 수퍼프레임을 수신하면서 수퍼프레임의 프레임들을 디코딩 모듈(19)에 제공한다. 예컨대, 수신기(18)는 개별 프레임들 또는 프레임 청크(chunk)를 수신하면서 수퍼프레임의 프레임들을 디코딩 모듈(19)에 제공할 수 있다. 이러한 경우, 수신기(18)는 프레임과 연관된 오류 정정 코드 블록을 수신하기 이전에 수퍼프레임의 프레임들을 디코딩 모듈(19)에 제공한다.
디코딩 모듈(19)은 수신기(18)로부터 수신된 코딩된 프레임을 디코딩하고, 디코딩된 멀티미디어 데이터를 렌더링 모듈(20)에 제공한다. 렌더링 모듈(20)은 디스플레이를 위한 디코딩된 멀티미디어 데이터를 디스플레이(21)를 통해 사용자에게 렌더링한다. 본 명세서에서 상세히 설명하는 바와 같이, 렌더링 모듈(20)은 수퍼프레임의 프레임들 중 하나에서의 디코딩된 데이터를 저장하는 프레임 메모리 및 디코딩된 프레임을 사용자에게 제시하기 위하여 디스플레이(21)를 구동하는 디스플레이 구동기를 포함할 수 있다. 렌더링 모듈(20)은 본 명세서에서의 기술을 구현하기 위하여 프레임 메모리가 후속 프레임의 디코딩된 데이터로 리프레시되는 속도를 제어할 수 있다. 디스플레이(21)는 도 1에 도시된 바와 같이 디코딩 디바이스(14) 내에 통합될 수 있다. 대안으로, 디스플레이(21)는 디코딩 디바이스(14)에 연결될 수 있다. 디스플레이(21)는 액정 디스플레이(LCD), 발광 다이오드(LED), 유기 발광 다이오드(OLED) 및 음극선관(CRT) 또는 기타 유형의 디스플레이를 포함할 수 있다.
정규 동작 동안, 렌더링 모듈(20)은 프레임과 연관된 재생 시간에 디코딩된 멀티미디어 데이터 프레임을 렌더링할 수 있다. 환언하면, 렌더링 모듈(20)은 참조 데이터에 특정된 재생 시간에 따라 디코딩된 멀티미디어 데이터 프레임을 렌더링한다. 일부 경우, 예컨대, 렌더링 모듈(20)은 수신기(18)가 후속 수퍼프레임의 프레임을 수신하는 것과 실질적으로 동시에 현재 수퍼프레임의 프레임을 렌더링할 수 있다. 따라서, 렌더링 모듈(20)은 수신기(18)가 후속 수퍼프레임의 프레임을 수신하는 것과 동일한 속도로 현재 수퍼프레임의 디코딩된 프레임 데이터로 프레임 메모리를 리프레시할 수 있다. 후속 수퍼프레임을 수신하는 것과 실질적으로 동시에 현재 수퍼프레임을 렌더링하는 것은, 디코딩된 데이터를 사용자를 위해 디스플레이(21)에 렌더링하기 이전에 네트워크를 통한 전송 동안의 데이터 손실 또는 전송 동안 삽입된 오류 결과인 임의의 손상을 디코딩 모듈(19)이 정정할 수 있도록 한다. 예컨대, 각각의 수퍼프레임은 수퍼프레임 내의 임의의 전송 오류를 정정하는데 사용되는 오류 정정 유닛을 수퍼프레임의 끝에 포함할 수 있다. 만약 오류 정정 유닛이 수신되기 이전에 데이터가 디스플레이(21)로 렌더링된다면, 렌더링된 비디오 내의 손상 가능성이 더 높게 된다.
채널 스위치 요청과 같은 이벤트에 응답하여, 디코딩 디바이스(14)는 새로운 채널의 수퍼프레임의 프레임들 중 적어도 하나를, 그 프레임과 연관된 재생 시간에 앞서, 디코딩하고 렌더링한다. 이러한 방식으로, 디코딩 디바이스(14)는 사용자에게 더욱 신속하게 새로운 채널의 콘텐츠를 디스플레이할 수 있다. 사용자에게 디스플레이된 콘텐츠는 정지 프레임 또는 일련의 정지 프레임으로서 디스플레이될 수 있으며, 또는 감소된 렌더링 속도로 디스플레이될 수 있다. 그러나 정지 프레임 또는 감소된 렌더링 속도의 디스플레이는 채널 스위칭 이벤트 동안에 사용자에게 아무것도 디스플레이하지 않거나 이전에 시청하던 채널 콘텐츠를 디스플레이하는 것보다 더 만족스러울만한 시청 경험을 제공할 수 있다.
특정 양상에서, 렌더링 모듈(20)은, 현재 수퍼프레임의 렌더링이 후속 수퍼프레임의 수신과 실질적으로 동시에 발생하도록 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화될 때까지, 수퍼프레임의 프레임들 중 하나를 디스플레이(21)에 렌더링할 수 있다. 상술한 바와 같이, 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화되는 시점은 프레임의 렌더링 시간이 동일 프레임의 재생 시간과 일치하는 시점에 대응할 수 있다. 환언하면, 렌더링 모듈(20)은 디스플레이(21) 상에 정지되어 있는 렌더링된 프레임과 연관된 재생 시간까지 디스플레이(21) 상에 렌더링된 프레임을 정지시킬 수 있다. 일 실시예에서, 렌더링 모듈(20)은 프레임 메모리의 디코딩된 데이터를 리프레시하지 않음으로써 디스플레이(21) 상에 렌더링된 프레임을 정지시킬 수 있다. 수신 및 렌더링 동작이 동기화된 이후에, 렌더링 모듈(20)은 참조 데이터에 특정된 연관된 재생 시간에 수퍼프레임의 나머지 프레임의 데이터를 렌더링하기 시작할 수 있다.
다른 양상에서, 렌더링 모듈(20)은 대응하는 렌더링 속도에 앞서 복수의 프레임을 렌더링할 수 있다. 예컨대, 렌더링 모듈(20)은 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화될 때까지, 즉 프레임의 렌더링 시간이 렌더링되고 있는 프레임의 연관된 재생 시간과 동일할 때까지, 감소된 렌더링 속도로 하나 이상의 수퍼프레임의 프레임들을 렌더링할 수 있다. 이러한 경우, 렌더링 모듈(20)은 수신 및/또는 디코딩 속도보다 느린 리프레시 속도로 프레임 메모리의 디코딩된 데이터를 리프레시할 수 있다. 이러한 방식으로, 둘 이상의 프레임이 그것의 연관된 재생 시간에 앞서 렌더링된다. 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화되기 이전에 소요되는 시간의 정도는 렌더링 모듈(20)이 프레임을 렌더링하는 감소된 속도에 좌우된다. 현재 수퍼프레임의 렌더링이 후속 수퍼프레임의 수신과 실질적으로 동시에 발생하도록 디코딩 디바이스(14)의 수신 및 렌더링 기능이 동기화된 이후, 렌더링 모듈(20)은 참조 데이터에 특정된 연관된 재생 시간에 후속 수퍼프레임의 프레임을 렌더링하기 시작한다. 특정 양상에서, 렌더링 모듈(20)은 수신 및 렌더링 동작이 동기화될 때까지 프레임 렌더링 속도를 점진적으로 증가시킬 수 있다.
다른 실시예에서, 렌더링 모듈(20)은 하나 이상의 수퍼프레임의 프레임들을 그들의 연관된 재생 시간 이전에, 그러나 정상 렌더링 속도로, 렌더링할 수 있다. 이러한 경우, 후속 프레임들 중 하나의 데이터가 디코딩 디바이스(19)에 의해 수신되지 않을 때까지 디코딩 디바이스(14)의 수신 및 렌더링 동작은 동기화되지 않을 수 있으며, 후술하는 바와 같이 현재 프레임이 정지된다.
원래의 또는 감소된 렌더링 속도로 프레임을 렌더링할 때, 디코딩 디바이스(14)는 코딩된 및/또는 디코딩된 프레임 내의 데이터 손상을 모니터링할 수 있다. 프레임 내의 손상은 네트워크를 통한 전송 동안의 데이터 손실 또는 전송 동안 발생된 오류로부터의 결과일 수 있다. 수퍼프레임의 후속 프레임 내의 손상을 검출함에 따라, 수신기(18)는 수퍼프레임과 연관된 오류 정정 유닛이 수신되기를 기다리고, 연관된 오류 정정 유닛을 사용하여 프레임 내의 오류를 정정하려고 시도할 수 있다. 따라서, 수신기(18)는 프레임과 연관된 오류 정정 유닛을 사용하여 오류가 정정될 때까지 프레임을 디코딩 모듈(19)에 제공하지 않는다. 렌더링 모듈(20)은 렌더링할 프레임 데이터가 없기 때문에 수퍼프레임의 프레임을 렌더링하는 것을 중지할 수 있다. 대신에, 렌더링 모듈(20)은 오류를 포함하는 후속 프레임을 렌더링하는 대신에 현재 렌더링된 프레임을 정지시킬 수 있다.
렌더링 모듈(20)은 디스플레이를 위한 수퍼프레임 내의 제1 랜덤 액세스 포인트(RAP)를 처음으로 렌더링하도록 구성될 수 있다. RAP는, 예컨대 I 프레임 또는 CSF 프레임을 포함할 수 있다. 대안으로, 렌더링 모듈(20)은 프레임을 코딩하는데 사용된 코딩 기술과 무관하게 수퍼프레임의 제1 프레임을 렌더링할 수 있다. 환언하면, 렌더링 모듈(20)은 제1 프레임이 인터 코딩된 프레임이든지 또는 인트라 코딩된 프레임이든지 간에 수퍼프레임의 제1 디코딩된 프레임을 렌더링한다.
상술한 기술들은 개별적으로 구현될 수 있으며, 또는 둘 이상의 이러한 기술들 또는 이러한 모든 기술들이 인코딩 디바이스(12) 및/또는 디코딩 디바이스(14)에 함께 구현될 수 있다. 인코딩 디바이스(12) 및 디코딩 디바이스(14)의 컴포넌트들은 본 명세서에 개시된 기술들을 구현하기 위하여 적용 가능한 예시이다. 그러나 인코딩 디바이스(12) 및 디코딩 디바이스(14)는, 필요한 경우, 상술한 하나 이상의 모듈의 기능을 결합하는 더 적은 컴포넌트들뿐만 아니라, 많은 다른 컴포넌트들을 포함할 수 있다. 추가적으로, 적용 가능한 경우에 인코딩 디바이스(12) 및 디코딩 디바이스(14)는 무선 주파수(RF) 무선 컴포넌트 및 안테나를 포함하는, 인코딩된 비디오의 송신 및 수신을 위한, 적합한 변조, 복조, 주파수 변환, 필터링 및 증폭기 컴포넌트를 포함할 수 있다. 그러나 도시의 편이성을 위하여, 이러한 컴포넌트가 도 1에 도시되어 있지 않다.
인코딩 디바이스(12) 및 디코딩 디바이스(14)의 컴포넌트들은 하나 이상의 프로세서, 디지털 신호 처리기, 특정 용도 집적 회로(ASIC), FPGA(field programmable gate array), 이산 논리, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합에 의해 구현될 수 있다. 모듈로서의 상이한 특징들에 대한 서술은 인코딩 디바이스(12) 및 디코딩 디바이스(14)의 상이한 기능적 양상을 강조하기 위하여 의도된 것이며, 이러한 모듈들이 반드시 별개의 하드웨어 또는 소프트웨어 컴포넌트에 의해 실현되어야 한다는 것을 의미하는 것은 아니다. 오히려, 하나 이상의 모듈과 연관된 기능은 공통의 또는 별개의 하드웨어 또는 소프트웨어 컴포넌트 내에 통합될 수 있다. 따라서, 본 개시는 인코딩 디바이스(12) 및 디코딩 디바이스(14)의 예시에 제한되어서는 안 된다.
도 2는 예시적인 렌더링 모듈(20)을 더욱 상세하게 도시한 블록도이다. 렌더링 모듈(20)은 프레임 메모리(22), 디스플레이 구동기(24) 및 리프레시 제어기(26)를 포함한다. 프레임 메모리(22)는 수퍼프레임의 적어도 하나의 프레임의 디코딩된 데이터를 저장한다. 프레임 메모리(22)는 디코딩 모듈(19)(도 1)로부터 디코딩된 데이터를 수신할 수 있다. 디스플레이 구동기(24)는 프레임 메모리(22)에 저장된 디코딩된 데이터를 사용자에게 제시하기 위하여 디스플레이(21)(도 1)를 구동한다. 리프레시 제어기(26)는 렌더링 모듈(20)이 디코딩 모듈(19)로부터의 새로운 디코딩된 프레임 데이터로 프레임 메모리(22)를 리프레시하는 속도를 제어한다. 도 1과 관련하여 상술한 바와 같이, 프레임 메모리(22), 디스플레이 구동기(24) 및 리프레시 제어기(26)는 함께 동작하여, 채널 스위치 요청에 응답하여 새로운 채널의 수퍼프레임의 적어도 하나의 프레임을 그 프레임과 연관된 재생 시간 이전에 렌더링한다.
특정 양상에서, 렌더링 모듈(20)은 수퍼프레임의 프레임들 중 하나를 그 프레임과 연관된 재생 시간 이전에 디스플레이(21)에 렌더링하고, 렌더링된 프레임을 정지시킬 수 있다. 특히, 디스플레이 구동기(24)는 참조 데이터에 특정된 연관된 재생 시간 이전에 프레임 메모리(22)의 디코딩된 데이터로 디스플레이(21)를 구동할 수 있다. 리프레시 제어기(26)는 프레임과 연관된 재생 시간까지 프레임 메모리(22)의 디코딩된 데이터를 리프레시하지 않는다. 환언하면, 리프레시 제어기는 현재 수퍼프레임의 렌더링이 후속 수퍼프레임의 수신과 실질적으로 동시에 발생하도록 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화될 때까지 프레임 메모리(22)의 디코딩된 데이터를 리프레시하지 않는다.
리프레시 제어기(26)는 특정 시간 동안 프레임 메모리(22)의 디코딩된 프레임 데이터를 리프레시하지 않도록 구성될 수 있다. 예컨대, 리프레시 제어기(26)는 수퍼프레임의 후속 프레임과 연관된 재생 시간까지 프레임 메모리(22)의 디코딩된 프레임 데이터를 리프레시하지 않도록 구성될 수 있다. 따라서, 렌더링 모듈(20)은 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화될 때까지 디스플레이(21) 상에 렌더링된 프레임을 정지시키는 것으로 보일 수 있다. 환언하면, 렌더링 모듈(20)은 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화될 때까지 프레임 메모리(22) 내의 현재 디코딩된 프레임을 유지한다. 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화된 이후, 예컨대 현재 렌더링된/정지된 프레임과 연관된 재생 시간에, 리프레시 제어기(26)는 수퍼프레임의 후속 프레임들 각각과 연관된 재생 시간에 후속하는 디코딩된 프레임들의 데이터로 프레임 메모리(22)를 리프레시하는 것을 시작한다.
다른 양상에서, 렌더링 모듈(20)은 하나 이상의 수퍼프레임의 프레임들을 연관된 재생 시간에 앞서 렌더링할 수 있다. 일 실시예에서, 렌더링 모듈(20)은 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화될 때까지 감소된 속도로 하나 이상의 프레임을 렌더링할 수 있다. 환언하면, 렌더링 모듈(20)은 프레임들 중 하나의 렌더링 시간과 동일 프레임의 연관된 재생 시간이 일치할 때까지 감소된 속도로 하나 이상의 프레임을 렌더링할 수 있다. 이것은, 예컨대 감소된 프레임 속도로 렌더링된 하나 이상의 프레임들의 마지막 프레임과 연관된 재생 시간일 수 있다. 이러한 경우, 리프레시 제어기(26)는 정상 렌더링 속도보다 느린 리프레시 속도로 프레임 메모리(22)의 디코딩된 데이터를 리프레시한다. 이러한 방식으로, 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화될 때까지 둘 이상의 프레임이 그것과 연관된 재생 시간에 앞서 렌더링된다. 일 실시예에서, 리프레시 제어기(26)는 정상 렌더링 속도의 절반의 속도로 프레임 메모리(22)의 디코딩된 데이터를 리프레시한다. 이러한 감소된 리프레시 속도로, 하나의 수퍼프레임의 렌더링 후에 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화된다. 그러나 연관된 재생 시간에 앞서 렌더링되는 수퍼프레임의 수 또는 시간의 정도는 리프레시 제어기(26)가 프레임 메모리(22)의 디코딩된 데이터를 리프레시하는 감소된 리프레시 속도에 좌우된다. 특정 양상에서, 리프레시 제어기는 동기화를 원조하기 위하여 리프레시 속도를 동적으로 증가 및/또는 감소시킬 수 있다.
다른 실시예에서, 렌더링 모듈(20)은 연관된 재생 시간에 앞서, 그러나 정상 렌더링 속도로 하나 이상의 수퍼프레임의 프레임들을 렌더링할 수 있다. 환언하면, 리프레시 제어기(26)는 정상 리프레시 속도로 프레임 메모리(22)의 디코딩된 데이터를 리프레시한다. 후속 프레임들 중 하나의 데이터가 디코딩 디바이스(19)에 의해 수신되지 않을 때까지 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화되지 않을 수 있으며, 현재 프레임이 후술하는 바와 같이 정지된다.
둘 이상의 프레임을 그들의 연관된 재생 시간에 앞서 렌더링할 때, 수신기(18)는 코딩된 및/또는 디코딩된 프레임 내의 데이터 손상을 모니터링할 수 있다. 프레임 내의 손상은 네트워크를 통한 전송 동안의 데이터 손실 또는 전송 동안 발생된 오류로부터의 결과일 수 있다. 수퍼프레임의 후속 프레임 내의 손상을 검출함에 따라, 리프레시 제어기(26)는 프레임 메모리(22)의 디코딩된 데이터를 리프레시하는데 사용하기 위한 후속 프레임의 데이터를 갖지 않을 수 있다. 따라서, 리프레시 제어기(26)는 프레임 메모리(22) 내의 이전 프레임 데이터를 유지하여, 후속 프레임을 렌더링하는 대신에 현재 렌더링된 프레임을 정지시킬 수 있다.
렌더링 모듈(20) 내의 컴포넌트들은 본 명세서에 개시된 기술들을 구현하기 위하여 적용 가능한 예시이다. 그러나 렌더링 모듈(20)은, 필요에 따라, 상술한 하나 이상의 모듈의 기능을 결합하는 더 적은 컴포넌트들뿐만 아니라, 많은 다른 컴포넌트들을 포함할 수 있다. 모듈/컴포넌트로서의 상이한 특징들에 대한 서술은 렌더링 모듈(20)의 상이한 기능적 양상을 강조하기 위하여 의도된 것이며, 이러한 모듈들이 반드시 별개의 하드웨어 또는 소프트웨어 컴포넌트에 의해 실현되어야 한다는 것을 의미하는 것은 아니다. 오히려, 하나 이상의 모듈/컴포넌트와 연관된 기능은 공통의 또는 별개의 하드웨어 또는 소프트웨어 컴포넌트 내에 통합될 수 있다.
도 3은 예시적인 인코딩된 멀티미디어 시퀀스(30)의 일부를 도시한 도면이다. 인코딩된 시퀀스(30)는 멀티미디어 데이터의 채널에 대응할 수 있다. 예컨대, 인코딩된 시퀀스(30)는 ESPN, FOX, MSNBC 또는 기타 텔레비전 채널에 대응할 수 있다. 도 3에 도시된 예에서는 단지 하나의 채널에 대한 인코딩된 시퀀스를 도시하고 있지만, 본 명세서에 개시된 기술들은 임의의 개수의 채널에 대한 임의의 개수의 인코딩된 시퀀스에 적용 가능하다.
인코딩된 시퀀스(30)는 복수의 코딩된 프레임을 포함한다. 코딩된 프레임은 다양한 인터 코딩 또는 인트라 코딩 기술에 의해 인코딩된 각 입력 프레임의 압축된 버전을 나타낸다. 인코딩된 시퀀스(30)는 인트라 코딩된 프레임(32)(도 3에서 "I11"로 표시됨), P 프레임(34A-34O)(총칭하여 "P 프레임(34)", "Pxx"로 표시됨), 및 오류 정정 유닛(36A 및 36B)(총칭하여 "오류 정정 유닛(36)", "Exx"로 표시됨)을 포함한다.
I 프레임(32)은 각 입력 프레임의 적어도 일부의 인트라 코딩된 버전이다. 환언하면, I 프레임(32)은 다른 프레임에 대한 참조 없이 코딩되며, 따라서 독립적으로 디코딩 가능하다. I 프레임(32)은, 예컨대 비디오 시퀀스의 시작 또는 장면 전환에서 인트라 코딩된 프레임일 수 있다. 따라서, I 프레임(32)의 위치는 수퍼프레임(38A) 내의 임의의 위치일 수 있다. 대안으로, 인트라 코딩된 프레임은 CSF(도 3에 미도시)를 포함할 수 있다.
인터 코딩된 프레임(34)은 하나 이상의 다른 프레임을 참조하는 각 입력 프레임의 인터 코딩된 버전이다. 도 3에 도시된 예에서, 인터 코딩된 프레임(34)은 P 프레임을 포함한다. 환언하면, 그러나 인터 코딩된 프레임은 B 프레임 또는 P 프레임과 B 프레임의 조합을 포함할 수 있다. 오류 정정 유닛(36)은 오류 정정을 위하여 디코딩 디바이스(14)에 의해 사용되는 정보를 포함한다. 예컨대, 오류 정정 유닛(36)은 전송 오류를 정정하기 위하여 디코딩 디바이스(14)에 의해 사용될 리드 솔로몬 패리티 검사 코드(Reed-Solomon parity check code)를 포함할 수 있다.
상술한 바와 같이, 인코딩된 시퀀스(30)의 코딩된 프레임은 멀티미디어 데이터의 세그먼트, 예컨대 수퍼프레임으로 함께 그룹화될 수 있다. 도 3에 도시된 실시예에서 도시된 인코딩된 시퀀스(30)의 부분은 두 개의 전체 수퍼프레임(38A 및 38B)(총칭하여 "수퍼프레임(38)")과 함께 제3 수퍼프레임의 일부를 포함한다. 수퍼프레임(38A)은 I 프레임(32), P 프레임(34A-34F) 및 오류 정정 유닛(36A)을 포함한다. I 프레임(32) 및 P 프레임(34A-34F)은 수퍼프레임(38A)의 하나 이상의 데이터 블록을 형성할 수 있고, 오류 정정 유닛(36A)은 보호 블록을 형성할 수 있다. 따라서, I 프레임(32) 및 P 프레임(34A-34F)은 공통 오류 보호 스킴과 관련되어 있는 것으로 볼 수 있다. 수퍼프레임(38B)은 P 프레임(34G-34M) 및 오류 정정 유닛(36B)을 포함한다. P 프레임(34G-34M)은 수퍼프레임(38B)의 하나 이상의 데이터 블록을 형성할 수 있고, 오류 정정 유닛(36B)은 보호 블록을 형성할 수 있다. 따라서, P 프레임(34G-34M)은 공통 오류 보호 스킴과 관련되어 있는 것으로 볼 수 있다. 제3 수퍼프레임의 제1, 제2 프레임, 즉 P 프레임(34N 및 34O) 또한 도시되어 있다. 도 3에 도시된 수퍼프레임(38) 각각은 7개의 프레임 및 그들의 대응하는 오류 정정 유닛을 포함하지만, 수퍼프레임(38)은 임의의 수의 프레임을 포함할 수 있다. 일 양상에서, 예컨대 수퍼프레임(38) 각각은 30개의 프레임을 포함할 수 있다. 더욱이, 수퍼프레임(38) 각각은 상이한 배열 및 유형의 프레임을 포함할 수 있다. 예컨대, I 프레임(32)은 수퍼프레임(38A) 내의 다른 곳에 위치할 수 있다. 추가적으로, 수퍼프레임은 둘 이상의 오류 정정 유닛(36)을 포함할 수 있다.
디코딩 디바이스(14)는 채널 스위치 요청과 같은 이벤트를 검출한다. 채널 스위치 요청은 사용자 인터페이스를 통해 사용자로부터 수신될 수 있다. 일 실시예에서, 사용자는 디코딩 디바이스(14) 상에 위치한 채널 스위치 버튼을 작동시켜서 채널 스위치 요청을 생성할 수 있다. 도 3에 도시된 실시예에서, 디코딩 디바이스(14)는 화살표(40)에서 채널 스위치 요청을 수신한다. 채널 스위치 요청을 수신한 이후, 디코딩 디바이스(14)는 임의의 프레임을 렌더링하기 이전에 다음 수퍼프레임, 도 3에 도시된 실시예에서는 수퍼프레임(38B)의 시작까지 기다릴 수 있다. 대안으로, 디코딩 디바이스(14)는 수퍼프레임(38B)을 기다리지 않고, 대신에 채널 스위치 요청을 뒤따르는 첫 번째 프레임을 즉시 디코딩하고 렌더링하기 시작할 수 있다.
도 3에 도시된 실시예에서, 디코딩 디바이스(14)는 수신기(18)(도 1)가 오류 정정 코드 블록을 포함하는 수퍼프레임 전체를 수신한 이후에 수신기(18)로부터 수퍼프레임(38)을 수신한다. 따라서, 디코딩 디바이스(14)는 임의의 프레임을 렌더링하기 이전에 다음 수퍼프레임, 수퍼프레임(38B)의 시작까지 기다린다. 디코딩 디바이스(14)는 디스플레이를 위한 수퍼프레임(38A)의 프레임들 중 하나를 그 프레임과 연관된 재생 시간에 앞서 디코딩하고 사용자에게 렌더링한다. 도 3에 도시된 실시예에서, 디코딩 디바이스(14)는 화살표(42)에서 프레임을 렌더링하기 시작한다. 통상적으로, 디코딩 디바이스(14)는 전형적으로 제2 수퍼프레임(38B)과 관련하여 측정된, 참조 데이터 내에 특정된 각각의 재생 시간에 프레임들을 렌더링하기 시작할 것이다. 그러나 렌더링 모듈(20)은 본 명세서에 개시된 기술에 따라 화살표(42)에서 I 프레임(32)을 렌더링하여, 새로운 채널의 콘텐츠를 사용자에게 더욱 빨리 제시한다. 도시된 실시예에서, I 프레임(32)은 통상적으로 화살표(46)에 의해 나타내어진 그 개별 재생 시간에 디코딩될 것이다.
I 프레임(32)을 디스플레이(21)에 렌더링한 후, 디코딩 디바이스(14)는 I 프레임(32)과 연관된 재생 시간, 즉 화살표(46)까지 렌더링된 I 프레임(32)을 정지시킨다. 이 포인트에서, 디코딩 디바이스(14)의 수신 및 렌더링 동작은 동기화되며, 렌더링 모듈(20)은 참조 데이터에 특정된 연관된 재생 시간에 수퍼프레임(38A)의 나머지 디코딩된 프레임들의 데이터를 렌더링하기 시작한다. 이 포인트에서, 렌더링 모듈(20)은 수퍼프레임(38A)의 프레임을 사용자에게 렌더링하는 한편, 수신기(18)는 수퍼프레임(38B)의 프레임을 수신한다. 예컨대, 렌더링 모듈(20)이 P 프레임(P14)을 렌더링할 때, 수신기(18)는 프레임(P25)을 수신한다.
채널 스위치 요청에 응답하여 I 프레임(32)을 그 연관된 재생 시간에 앞서 렌더링하는 것은 디코딩 디바이스(14)가 새로운 채널의 콘텐츠를 사용자에게 더욱 빨리 디스플레이할 수 있게 한다. 게다가, 렌더링된 I 프레임(32)을 정지시키고, 수신 및 렌더링 동작이 동기화되기를 기다리는 것은, 디코딩된 데이터의 나머지가 사용자로의 프레젠테이션을 위해 디스플레이(21)로 렌더링되기 이전에, 디코딩 디바이스(14)가 프레임 내의 손상을 정정할 수 있게 한다. 따라서, 사용자에게 디스플레이된 콘텐츠는 정지 프레임으로서 디스플레이될 수 있지만, 채널 스위칭 이벤트 동안 아무것도 디스플레이하지 않거나 이전에 시청하던 콘텐츠를 디스플레이하는 것보다는 더 만족스러울만한 시청 경험을 제공한다.
상술한 실시예에서, 디코딩 디바이스(14)는 수퍼프레임(38A)의 임의의 이전 프레임 대신에 I 프레임(32)을 렌더링한다. 이러한 방식으로, 디코딩 디바이스(14)는 수퍼프레임(38A) 내의 RAP을 렌더링한다. 대안으로, 디코딩 디바이스(14)는 수퍼프레임(38A) 내의 다른 프레임, 예컨대 P 프레임(34C)을 대응하는 재생 시간에 앞서 렌더링할 수 있다. 그러나 렌더링된 P 프레임(34C)은 새로운 채널과 이전 채널로부터의 콘텐츠의 혼합에 의해 야기된 인공물(artifact)을 포함할 수 있다.
인코딩된 시퀀스(30)는 예시적인 목적으로만 도시되어 있다. 인코딩된 시퀀스(30) 내 I 프레임(32)의 위치는 다양하게 사용될 수 있다. 더욱이, 인코딩된 시퀀스(30)는 상이한 배열 및 유형의 프레임을 포함할 수 있다. 예컨대, 인코딩된 시퀀스는 상이한 배열의 CSF 프레임, I 프레임, P 프레임 및 B 프레임을 포함할 수 있다.
도 4는 다른 예시적인 인코딩된 멀티미디어 시퀀스(50)의 일 부분을 도시한 도면이다. 인코딩된 멀티미디어 시퀀스(50)는, 데이터의 단일 디코딩된 프레임을 연관된 재생 시간에 앞서 렌더링하고 렌더링된 프레임을 정지시키는 대신에, 디코딩 디바이스(14)가 하나 이상의 수퍼프레임(38)의 복수의 프레임을 연관된 재생 시간에 앞서 렌더링한다는 점만 제외하고는, 도 3의 인코딩된 멀티미디어 시퀀스(30)와 실질적으로 일치한다.
특히, 디코딩 디바이스(14)는 채널 스위치 요청에 응답하여 수퍼프레임(38A)의 하나 이상의 프레임을 그들의 연관된 재생 시간에 앞서 렌더링하기 시작한다. 특정 양상에서, 디코딩 디바이스(14)는 I 프레임(32)과 같은 수퍼프레임(38A)의 RAP를 렌더링하기 시작할 수 있다. 도 3과 관련하여 상술한 바와 같이, 디코딩 디바이스(14)는 화살표(42)에서 I 프레임(32)을 렌더링할 수 있다. 그러나 렌더링된 I 프레임(32)을 정지시키는 대신에, 디코딩 디바이스(14)는 수퍼프레임(38A)의 후속 프레임들을 렌더링하는 것을 지속할 수 있다.
일 실시예에서, 현재 수퍼프레임의 렌더링이 후속 수퍼프레임의 수신과 실질적으로 동시에 발생하도록 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화될 때까지, 디코딩 디바이스(14)는 감소된 렌더링 속도로 하나 이상의 프레임을 렌더링할 수 있다. 예컨대, 디코딩 디바이스(14)는, 화살표(42)에서, 정상 렌더링 속도의 절반의 프레임 렌더링 속도로 수퍼프레임(38A)의 프레임을 렌더링하기 시작할 수 있다. 이 감소된 프레임 렌더링 속도로, 디코딩 디바이스(14)의 수신 및 렌더링 동작은 화살표(46)에서 동기화된다. 일부 경우에는, 수퍼프레임의 끝에서 동기화가 발생하는 것이 바람직할 수 있다. 이러한 방식으로, 수퍼프레임(38A)의 복수의 프레임은 그들의 연관된 재생 시간에 앞서 렌더링된다. 그러나 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화되기 이전에 렌더링되는 수퍼프레임의 수 또는 시간의 정도는 렌더링 모듈(20)이 프레임을 렌더링하는 감소된 렌더링 속도에 좌우된다. 특정 양상에서, 현재 수퍼프레임의 렌더링이 후속 수퍼프레임의 수신과 실질적으로 동시에 발생하도록 수신 및 렌더링 동작이 동기화될 때까지, 디코딩 디바이스(14)는 렌더링 속도를 점진적으로 증가시킬 수 있다.
디코딩 디바이스(14)의 수신 및 렌더링 기능이 동기화된 이후, 렌더링 모듈(20)은 후속 수퍼프레임의 프레임들을 참조 데이터에 특정된 그들 각각의 재생 시간에 렌더링하기 시작한다. 따라서, 디코딩 디바이스(14)는 P 프레임(34G)을 화살표(46)에 의해 표시된 연관된 재생 시간에 렌더링한다. 더욱이, 수퍼프레임(38B)의 나머지 프레임들은 수퍼프레임(38B)의 참조 데이터에 특정된 그들 각각의 재생 시간에 렌더링된다. 수퍼프레임(38A)의 프레임들을 감소된 속도로 렌더링하는 것은 디코딩 디바이스(14)가 사용자로의 프레젠테이션을 위한 디스플레이(21)에 새로운 채널의 콘텐츠를 더욱 빠르게 렌더링할 수 있게 한다.
다른 실시예에서, 렌더링 모듈(20)은 하나 이상의 수퍼프레임의 프레임들을 그들의 연관된 재생 시간에 앞서, 그러나 정상 렌더링 속도로 렌더링할 수 있다. 예컨대, 디코딩 디바이스(14)는, 화살표(42)에서, 정상 렌더링 속도로 수퍼프레임(38A)의 프레임들을 렌더링하기 시작할 수 있다. 이러한 경우, 디코딩 디바이스(14)의 수신 및 렌더링 동작은 화살표(46)에서 동기화된다. 사실, 후속 프레임들 중 하나의 데이터가 렌더링 가능하지 않을 때까지, 디코딩 디바이스(14)의 수신 및 렌더링 동작은 동기화되지 않을 수 있다. 후속 프레임들 중 하나에 대하여 이용 가능한 데이터가 없는 경우, 렌더링 모듈(20)은, 후술하는 바와 같이, 수신 및 렌더링 동작이 동기화될 때까지, 현재 렌더링된 프레임을 정지시킬 수 있다.
도 5는 다른 예시적인 인코딩된 멀티미디어 시퀀스(60)의 일 부분을 도시한 도면이다. 인코딩된 멀티미디어 시퀀스(60)는 복수의 데이터 유닛("Dxx"로 표시됨) 및 오류 정정 유닛("Exx"로 표시됨)을 포함한다. 데이터 유닛 및 오류 정정 유닛은 그룹화되어 코드 블록(62A 및 62B)(총칭하여 "데이터 세그먼트(62)")을 형성한다. 특히, 데이터 유닛(D11-D17) 및 오류 정정 유닛(E11)은 그룹화되어 코드 블록(62A)을 형성한다. 마찬가지로, 데이터 유닛(D21-D27) 및 오류 정정 유닛(E22)은 그룹화되어 코드 블록(62B)을 형성한다. 이러한 방식으로, 코드 블록(62)은 공통 오류 정정 코드에 대응하는 데이터 유닛 그룹을 나타낸다.
일부 양상에서, 코드 블록(62)과 수퍼프레임, 예컨대 도 3 및 도 4의 수퍼프레임(38) 간에는 1:1 대응 관계가 있을 수 있다. 환언하면, 코드 블록(62) 각각은 각각의 수퍼프레임에 대응할 수 있다. 대안으로, 둘 이상의 코드 블록이 단일 수퍼프레임 내에 포함될 수 있다. 마찬가지로, 데이터 유닛과 데이터 프레임 간에도 1:1 대응 관계가 있을 수 있다. 환언하면, 데이터 유닛 각각은 픽쳐 시퀀스의 단일 프레임에 대응할 수 있다. 대안으로, 데이터 유닛은 단일 프레임보다 많거나 적은 데이터를 포함할 수 있다.
일부 실시예에서, 수신기(18)는 연관된 오류 정정 유닛(Exx)을 포함하는 데이터 세그먼트 전체를 수신하기를 기다리고, 데이터 세그먼트 전체를 디코딩 모듈(19)에 제공할 수 있다. 그러나 상술한 바와 같이 조기 렌더링 성능을 더욱 강화하기 위하여, 수신기(18)는, 오류 정정 유닛(E11)이 수신되기 이전에, 예컨대 화살표(64)에서, 데이터 세그먼트(62A)의 데이터 유닛들 중 적어도 하나를 디코딩 모듈(19)에 제공할 수 있다. 환언하면, 수신기(18)는 데이터 세그먼트(62A)의 데이터 유닛들 중 적어도 일 부분을 수신하고, 데이터 세그먼트(62A)를 수신하면서 그 데이터 유닛을 디코딩 모듈(19)에 제공한다. 예컨대, 수신기(18)는 개별 데이터 유닛을 수신하면서 데이터 세그먼트(62A)의 데이터 유닛을 디코딩 모듈(19)에 제공할 수 있다. 데이터 세그먼트(62A) 전체를 수신하기 이전에 하나 이상의 데이터 유닛을 디코딩 모듈(19)에 제공하는 것은, 디코딩 디바이스(14)가 새로운 채널의 콘텐츠를 더욱 빠르게 디스플레이에 렌더링할 수 있게 한다.
그러나 데이터 세그먼트(62A)의 데이터 유닛들 중 하나가 전송 오류를 포함하는 경우, 수신기(18)는 오류 정정 유닛(E11)이 수신되기 이전에 데이터 유닛을 디코딩 모듈(19)에 제공하는 것을 중단한다. 대신에, 수신기(18)는 오류 정정 유닛(E11)이 수신되기를 기다리고, 오류 정정 유닛(E11)을 사용하여 프레임의 전송 오류를 정정하려고 시도한다. 오류가 정정되면, 수신기(18)는 프레임들을 디코딩 모듈(19)에 제공하는 것을 지속한다.
도 6은 예시적인 인코딩된 멀티미디어 시퀀스(70)의 일 부분을 도시한 도면이다. 인코딩된 시퀀스(70)는 도 3의 인코딩된 시퀀스(30)와 실질적으로 일치한다. 이하 상세히 설명하는 바와 같이, 디코딩 디바이스(14)는 도 3과 관련하여 상술한 바와 같은 조기 렌더링 기술과 도 5와 관련하여 설명한 바와 같이 수신기(18)로부터 디코딩 모듈(19)로의 데이터 유닛의 조기 전달을 결합하여, 디코딩 디바이스(14)의 조기 렌더링 성능을 더욱 강화할 수 있다.
상술한 바와 같이, 수신기(18)는 데이터 세그먼트의 오류 정정 유닛(36)이 수신되기 이전에 데이터 세그먼트의 데이터 유닛들 중 적어도 하나를 디코딩 모듈(19)에 제공할 수 있다. 프레임과 연관된 오류 정정 유닛(36)을 수신하기에 앞서 데이터 유닛을 디코딩 모듈(19)에 제공하는 것은, 디코딩 디바이스(14)가, 도 3과 관련하여 상술한 기술에서보다, I 프레임(32)을 그 프레임과 연관된 재생 시간보다 훨씬 이전에 렌더링하게 한다. 더욱 상세하게, 디코딩 디바이스(14)는 화살표(72)에서 프레임을 렌더링하기 시작한다. 따라서, 디코딩 디바이스(14)는 수퍼프레임(38A) 전체를 수신하기 이전에 I 프레임(32)을 디코딩하고 렌더링한다. I 프레임(32)을 디스플레이(21)에 렌더링한 이후, 수퍼프레임(38A)의 렌더링이 후속 수퍼프레임(38B)의 수신과 실질적으로 동시에 발생하도록 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화될 때까지(즉, 화살표(74)), 디코딩 디바이스(14)는 렌더링된 I 프레임(32)을 정지시킨다. 이 포인트에서, 수신 및 렌더링 동작은 동기화되고, 렌더링 모듈(20)은 수퍼프레임(38A)의 나머지 디코딩된 프레임들의 데이터를 참조 데이터에 특정된 연관된 재생 시간에 렌더링하기 시작한다. 그러나 연관된 오류 정정 유닛(36)을 수신하기 이전에 데이터를 렌더링하는 것은, 연관된 오류 정정 유닛(36)이 수신되지 않았기 때문에 디코딩 디바이스(14)가 정정할 수 없었던 전송 오류들로 인한 손상 또는 시각적 인공물(artifact)을 렌더링된 I 프레임(32)이 갖는 결과가 될 수 있다.
도 7은 다른 예시적인 인코딩된 멀티미디어 시퀀스(80)의 일 부분을 도시한 도면이다. 인코딩된 시퀀스(80)가 CSF(81A-81C)(총칭하여 "CSF(81)", 도 7에서 "CSFx"로 표시됨)를 포함한다는 점만 제외하고는, 인코딩된 시퀀스(80)는 도 6의 인코딩된 시퀀스(70)와 실질적으로 일치한다. 도 7에 도시된 실시예에서, 각각의 수퍼프레임(38)은 각 수퍼프레임(38)의 제1 프레임으로서 위치한 대응하는 CSF(81)를 포함한다. 그러나 인코딩된 시퀀스(80) 내에서 CSF 프레임(81)의 위치를 선택하는 다양한 방법이 사용될 수 있다.
CSF(81)는 개별 입력 프레임의 적어도 일 부분의 인트라 코딩된 버전이다. 환언하면, CSF(81)는 다른 프레임에 대한 참조 없이 코딩되며, 따라서 독립적으로 디코딩 가능하다. 특정 양상에서, CSF(81)는 인코딩된 시퀀스(80)의 다른 프레임들보다 낮은 품질로 인코딩될 수 있다. 도 7에 도시되지 않았지만, 비디오 시퀀스 내에서 CSF(81)의 시간적 위치는 동일한 비디오 시퀀스 내의 대응하는 인터 코딩된 프레임(34)의 시간적 위치에 대응한다는 점에서, CSF(81)는 인터 코딩된 프레임들 중 대응하는 것과 시간상으로 함께 배치될 수 있다. 이러한 경우, CSF(81)는 대응하는 인터 코딩된 프레임(34) 내에 코딩된 멀티미디어 데이터의 적어도 일 부분의 제2의 인트라 코딩된 버전으로 볼 수 있다.
채널 스위치가 요청되지 않는 경우, CSF(81)는 버려질 수 있고, 디코딩 디바이스는 CSF 프레임(81)과 연관된 인터 코딩된 프레임들(34) 중 하나를 디코딩하고 렌더링한다. 그러나 채널 스위치 요청에 응답하여, 디코딩 디바이스(14)는 수퍼프레임(38A)의 CSF(81A)를, 즉 화살표(82)에서, 디코딩하고 렌더링한다. 본 명세서에 개시된 기술에 따라, 디코딩 디바이스(14)는 CSF(81A)를 그 연관된 재생 시간에 앞서 렌더링한다. CSF(81A)의 연관된 재생 시간은, 일부 경우, 인터 코딩된 프레임들 중 대응하는 것(예컨대, P 프레임(34A))과 연관된 재생 시간과 동일할 수 있다.
일부 경우, 상술한 바와 같이, 디코딩 디바이스(14)는 렌더링된 CSF 프레임(81A)을 정지시킬 수 있다. 대안으로, 디코딩 디바이스(14)는 하나 이상의 후속 프레임을 그들의 연관된 재생 시간에 앞서 렌더링할 수 있다. 일 실시예에서, 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화될 때까지, 디코딩 디바이스(14)는 수퍼프레임(38A)의 프레임을 감소된 렌더링 속도로 렌더링할 수 있다. 환언하면, 프레임들 중 하나의 렌더링 시간이 그 프레임과 연관된 재생 시간과 동일할 때까지, 디코딩 디바이스(14)는 수퍼프레임(38A)의 프레임을 감소된 렌더링 속도로 렌더링할 수 있다. 이러한 방식으로, 수퍼프레임(38A)의 복수의 프레임은 그들의 연관된 재생 시간에 앞서 렌더링된다. 그러나 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화되기 이전에 렌더링되는 수퍼프레임의 수 또는 시간의 정도는 렌더링 모듈(20)이 프레임을 렌더링하는 감소된 렌더링 속도에 좌우된다. 특정 양상에서, 현재 수퍼프레임의 렌더링이 후속 수퍼프레임의 수신과 실질적으로 동시에 발생하도록 수신 및 렌더링 동작이 동기화될 때까지, 디코딩 디바이스(14)는 렌더링 속도를 점진적으로 증가시킬 수 있다.
다른 실시예에서, 렌더링 모듈(20)은 수퍼프레임(38A)의 프레임들을 그들의 연관된 재생 시간에 앞서, 그러나 정상 렌더링 속도로 렌더링할 수 있다. 예컨대, 디코딩 디바이스(14)는, 화살표(82)에서, 정상 렌더링 속도로 수퍼프레임(38A)의 프레임들을 렌더링하기 시작할 수 있다. 정상 렌더링 속도로 프레임을 렌더링하는 경우, 디코딩 디바이스(14)의 수신 및 렌더링 동작은 화살표(46)에서 동기화되지 않는다. 사실, 후술하는 바와 같이, 후속 프레임들 중 하나의 데이터가 렌더링 가능하지 않고 렌더링된 프레임이 정지될 때까지, 디코딩 디바이스(14)의 수신 및 렌더링 동작은 동기화되지 않을 수 있다.
렌더링 모듈(20)은 전송 오류로 인해 수퍼프레임(38A)의 후속 프레임 데이터를 갖지 않을 수 있다. 상술한 바와 같이, 손상은 네트워크를 통한 전송 동안의 데이터 손실 또는 전송 동안 발생된 오류의 결과일 수 있다. 도시된 실시예에서, 렌더링 모듈(20)은 수신기(18)에 의해 검출된 손상 오류로 인해 P 프레임(34D)에 대한 데이터를 갖지 않을 수 있다. 결과로서, 렌더링 모듈(20)은 화살표(86)에 의해 표시된 위치에서, 현재 렌더링된 프레임, 즉 P 프레임(34C)을 정지시킨다. 디코딩 디바이스(14)는 P 프레임(34C)과 연관된 재생 시간까지, 즉 디코딩 디바이스(14)의 수신 및 렌더링 동작이 화살표(88)에서 동기화될 때까지, P 프레임(34C)을 정지시키는 것을 지속할 수 있다.
도 8은 수퍼프레임의 프레임을 렌더링하고 수퍼프레임 전체가 수신될 때까지 렌더링된 프레임을 정지시키는, 도 1의 디코딩 디바이스(14)와 같은, 디코딩 디바이스의 예시적인 동작을 도시하는 흐름도이다. 처음에, 디코딩 모듈(19)은 채널 스위치 요청을 수신한다(90). 채널 스위치 요청은 채널 제어 버튼과 같은 사용자 인터페이스를 통해 사용자로부터 수신될 수 있다.
디코딩 모듈(19)은 수퍼프레임의 프레임을 디코딩한다(92). 일부 경우, 디코딩 모듈(19)은 수퍼프레임의 제1 RAP, 예컨대 CSF 또는 I 프레임까지 대기한다. 디코딩 모듈(19)은 수퍼프레임의 프레임들 중 하나를 디코딩하기 이전에 채널 스위치 요청 이후 첫 번째 완전한 수퍼프레임의 프레임을 수신할 때까지 대기할 수도 있다. 환언하면, 만약 채널 스위치 요청이 새로운 채널의 수퍼프레임의 중간에서 발생하면, 디코딩 모듈(19)은 후속 수퍼프레임의 프레임을 디코딩하기 위하여 대기할 수 있다. 대안으로, 디코딩 디바이스(14)는 다음 수퍼프레임(38)을 기다리지 않고, 대신에 채널 스위치 요청을 뒤따르는 첫 번째 RAP 프레임을 즉시 디코딩하기 시작할 수 있다.
렌더링 모듈(20)은 사용자로의 디스플레이를 위한 수퍼프레임의 디코딩된 프레임을 연관된 재생 시간에 앞서 렌더링한다(94). 특히, 렌더링 모듈(20)은 디스플레이(21)를 구동하여, 수퍼프레임의 참조 데이터에 특정된 연관된 재생 시간에 앞서 프레임 메모리(22)에 저장된 프레임의 디코딩된 데이터를 나타낸다. 렌더링 모듈(20)은 디스플레이(21) 상에 렌더링된 프레임을 정지시킨다(96). 렌더링 모듈(20)은 프레임 메모리(22)의 디코딩된 데이터를 리프레시하지 않음으로써 디스플레이(21) 상의 현재 렌더링된 프레임을 정지시킬 수 있다. 환언하면, 프레임 메모리(22)는 현재 사용자에게 디스플레이되는 프레임의 디코딩된 데이터를 유지한다.
디코딩 디바이스는, 현재 수퍼프레임의 렌더링이 후속 수퍼프레임의 수신과 실질적으로 동시에 발생하도록 수신 및 렌더링 동작이 동기화될 때까지 대기한다(98). 수신 및 렌더링 동작은, 예컨대 정지된 프레임과 연관된 재생 시간에 동기화될 수 있다. 수신 및 렌더링 동작이 동기화된 때, 렌더링 모듈(20)은 정상 렌더링 속도로 수퍼프레임의 추가적인 디코딩된 프레임들을 렌더링하기 시작한다(99). 렌더링 모듈(20)은, 예컨대 정지된 프레임의 재생 시간에 수퍼프레임의 추가적인 디코딩된 프레임들을 렌더링하기 시작할 수 있다.
도 9는 하나 이상의 수퍼프레임의 복수의 프레임을 그들의 연관된 재생 시간에 앞서 렌더링하는, 도 1의 디코딩 디바이스(14)와 같은, 디코딩 디바이스의 예시적인 동작을 도시하는 흐름도이다. 처음에, 디코딩 모듈(19)은 채널 스위치 요청을 수신한다(100). 채널 스위치 요청은 채널 제어 버튼과 같은 사용자 인터페이스를 통해 사용자로부터 수신될 수 있다.
디코딩 모듈(19)은 수퍼프레임의 프레임을 디코딩한다(102). 일부 경우에, 디코딩 모듈(19)은 수퍼프레임의 첫 번째 RAP, 예컨대 CSF 또는 I 프레임까지 대기한다. 디코딩 모듈(19)은 프레임 디코딩을 시작하기 이전에 채널 스위치 요청 이후 첫 번째 완전한 수퍼프레임의 프레임까지 대기할 수도 있다. 환언하면, 만약 채널 스위치 요청이 새로운 채널의 수퍼프레임의 중간에서 발생하면, 디코딩 모듈(19)은 프레임을 디코딩하기 이전에 후속 수퍼프레임에 대한 디코딩을 위하여 대기할 수 있다. 대안으로, 디코딩 디바이스(14)는 다음 수퍼프레임(38)을 기다리지 않고, 대신에 채널 스위치 요청을 뒤따르는 첫 번째 프레임을 즉시 디코딩하기 시작할 수 있다.
렌더링 모듈(20)은 수퍼프레임의 디코딩된 프레임을 참조 데이터에 특정된 그와 연관된 재생 시간에 앞서 렌더링한다(104). 특정 양상에서, 렌더링 모듈(20)은 프레임을 디코딩한 직후에 디코딩된 프레임을 렌더링할 수 있다. 대안으로, 렌더링 모듈(20)은 프레임의 디코딩과 렌더링 사이에 특정 지연 후에 프레임을 디스플레이(21)로 렌더링하기 시작할 수 있다. 어떠한 경우이든지, 렌더링 모듈(20)은 프레임을 수퍼프레임의 참조 데이터에 특정된 그들의 개별적인 재생 시간에 앞서 렌더링하기 시작한다. 렌더링 모듈(20)은, 예컨대 프레임 메모리(22)로부터의 데이터로 디스플레이(21)를 구동하여, 프레임의 디코딩된 데이터를 나타낸다.
디코딩 디바이스(14)는 다음 프레임에 대한 데이터를 갖고 있는지 여부를 판정한다(106). 디코딩 디바이스(14)는 네트워크를 통한 전송 동안의 데이터 손실 또는 전송 동안에 발생된 프레임 내의 데이터 손상(오류)을 모니터링할 수 있다. 수퍼프레임의 후속 프레임에서 손상을 검출함에 응답하여, 수신기(18)는 수신되어야 할 수퍼프레임과 연관된 오류 정정 유닛을 기다리고, 연관된 오류 정정 유닛을 사용하여 프레임 내의 오류를 정정하려고 시도할 수 있다. 따라서 수신기(18)는 프레임과 연관된 오류 정정 유닛을 사용하여 오류가 정정되기까지 디코딩 모듈(19)에 프레임을 제공하지 않는다. 따라서 렌더링 모듈(20)은 렌더링할 디코딩된 프레임 데이터를 갖고 있지 않다.
디코딩 디바이스(14)가 후속 프레임에 대한 디코딩된 데이터를 갖고 있지 않은 때에는, 렌더링 모듈(20)은 현재 렌더링된 프레임을 정지시킨다(114). 렌더링 모듈(20)은 프레임 메모리(22)의 디코딩된 데이터를 리프레시하지 않음으로써 디스플레이(21) 상에 현재 렌더링된 프레임을 정지시킬 수 있다. 환언하면, 프레임 메모리(22)는 사용자에게 현재 디스플레이되는 프레임의 디코딩된 데이터를 유지한다.
디코딩 디바이스(14)가 후속 프레임에 대한 디코딩된 데이터를 갖는 때에는, 렌더링 모듈(20)은 디코딩된 데이터를 연관된 재생 시간에 앞서 렌더링한다(108). 렌더링 모듈(20)은, 예컨대 프레임 메모리(22)의 데이터를 리프레시하여, 후속 프레임의 디코딩된 데이터를 그것의 연관된 재생 시간에 앞서 나타낼 수 있다. 정상 렌더링 속도로 데이터를 렌더링할 때, 디코딩 디바이스(14)는 다음 프레임에 대한 데이터를 갖고 있는지 여부를 판정한다(110, 106).
후속 프레임 내의 오류로 인해 프레임이 정지된 때 또는 감소된 렌더링 속도로 데이터를 렌더링할 때, 디코딩 디바이스(14)는 현재 수퍼프레임의 렌더링이 후속 수퍼프레임의 수신과 실질적으로 동시에 발생하도록 수신 및 렌더링 동작이 동기화되어 있는지 여부를 판정한다(112). 상술한 바와 같이, 수신 및 렌더링 동작이 동기화되는 시점은 프레임의 렌더링 시간과 동일 프레임의 연관된 재생 시간이 동일한 시점에 대응할 수 있다. 감소된 렌더링 속도로 데이터를 렌더링할 때, 디코딩 디바이스(14)의 수신 및 렌더링 동작이 동기화되기 이전에 렌더링되는 프레임의 수 또는 시간의 정도는 렌더링 모듈(20)이 프레임을 렌더링하는 감소된 속도에 좌우된다. 예컨대, 디코딩 디바이스(14)가 프레임 수신 및 디코딩 속도의 절반의 렌더링 속도로 수퍼프레임의 프레임을 렌더링할 때, 현재 수퍼프레임의 렌더링은 수퍼프레임 전체를 렌더링한 이후 후속 수퍼프레임의 수신과 실질적으로 동시에 발생하도록 수신 및 렌더링 동작이 동기화될 수 있다.
수신 및 렌더링 동작이 동기화되지 않은 때, 프레임의 디코딩된 데이터가 이용 가능한 경우, 디코딩 디바이스는 수퍼프레임의 프레임을 디코딩하는 것을 지속한다. 더욱이, 디코딩 디바이스(14)는 감소된 렌더링 속도로 수퍼프레임의 디코딩된 프레임을 렌더링하는 것을 지속한다. 그러나 디코딩 디바이스(14)의 수신 및 렌더링 기능이 동기화된 이후, 렌더링 모듈(20)은 멀티미디어 데이터 시퀀스의 프레임들을 수퍼프레임의 참조 데이터에 특정된 그들의 연관된 재생 시간에 렌더링하기 시작한다(116). 환언하면, 렌더링 모듈(20)은 원래의 렌더링 속도로 프레임을 렌더링하기 시작한다.
본 명세서에 개시된 기술에 기초하여, 본 명세서에 개시된 양상은 임의의 다른 양상으로 독립적으로 구현될 수 있으며, 둘 이상의 이러한 양상은 다양한 방식으로 결합될 수 있다는 것은 명백할 것이다. 본 명세서에 개시된 기술은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 결합으로 구현될 수 있다. 만약 하드웨어로 구현되면, 디지털 하드웨어, 아날로그 하드웨어 또는 이들의 결합을 이용하여 기술이 실현될 수 있다. 만약 소프트웨어로 구현되면, 적어도 부분적으로, 하나 이상의 명령어 또는 코드가 저장된 컴퓨터 판독 가능한 매체를 포함하는 컴퓨터 프로그램 제품에 의해 기술이 실현될 수 있다.
제한이 아닌 예로서, 컴퓨터 판독 가능한 매체는 동기식 동적 램(SDRAM)과 같은 RAM(random access memory), ROM(read-only memory), 비휘발성 램(NVRAM: non-volatile random access memory), 전기적 소거 및 프로그램 가능 읽기 전용 기억 장치(EEPROM: electrically erasable programmable read-only memory), 소거 및 프로그램 가능 읽기 전용 기억 장치(EPROM), FLASH 메모리, CD-ROM 또는 기타 광학 디스크 저장 장치, 자기 디스크 저장 장치 또는 기타 자기 저장 디바이스, 또는 명령어 또는 데이터 구조의 형태로 원하는 프로그램 코드를 반송하거나 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스 될 수 있는 임의의 기타 유형 매체(tangible medium)를 포함할 수 있다.
컴퓨터 프로그램 제품의 컴퓨터 판독 가능한 매체와 연관된 명령어 또는 코드는 컴퓨터, 예컨대 하나 이상의 디지털 신호 처리기(DSP)와 같은 하나 이상의 프로세서, 범용 마이크로프로세서, ASIC, FPGA, 또는 기타 상당하는 집적 또는 이산 논리 회로에 의해 실행될 수 있다.
다수의 양상 및 실시예가 개시되어 있다. 그러나 이러한 예들에 대한 다양한 변형이 가능하며, 본 명세서에서 제시한 원리들은 다른 양상들에도 마찬가지로 적용될 수 있다. 이러한 양상들 및 다른 양상들은 이하 청구항의 권리범위 내에 있다.
Claims (52)
- 비디오 데이터를 프로세싱하기 위한 방법으로서,
상기 비디오 데이터의 세그먼트의 적어도 일 부분의 복수의 코딩된 프레임 중 적어도 하나의 코딩된 프레임을 디코딩하는 단계; 및
이벤트에 응답하여 상기 적어도 하나의 디코딩된 프레임과 연관된 재생 시간 이전에 상기 적어도 하나의 디코딩된 프레임을 디스플레이에 렌더링하는 단계를 포함하는, 비디오 데이터 프로세싱 방법. - 제1항에 있어서,
상기 적어도 하나의 디코딩된 프레임과 연관된 상기 재생 시간까지 상기 적어도 하나의 렌더링된 프레임을 정지시키는 단계를 더 포함하는, 비디오 데이터 프로세싱 방법. - 제2항에 있어서,
상기 적어도 하나의 렌더링된 프레임을 정지시키는 단계는, 상기 적어도 하나의 디코딩된 프레임과 연관된 상기 재생 시간까지 프레임 메모리에 상기 프레임의 디코딩된 데이터를 유지하는 단계를 포함하는, 비디오 데이터 프로세싱 방법. - 제1항에 있어서,
상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하는 단계는, 상기 적어도 하나의 디코딩된 프레임의 마지막 프레임과 연관된 재생 시간까지 감소된 렌더링 속도로 상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하는 단계를 포함하는, 비디오 데이터 프로세싱 방법. - 제4항에 있어서,
상기 감소된 렌더링 속도로 상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하는 단계는, 정상 렌더링 속도보다 적은 리프레시 속도로 상기 프레임들 중 후속하는 프레임의 디코딩된 데이터로 프레임 메모리의 디코딩된 데이터를 리프레시하는 단계를 포함하는, 비디오 데이터 프로세싱 방법. - 제4항에 있어서,
상기 적어도 하나의 디코딩된 프레임의 상기 마지막 프레임과 연관된 상기 재생 시간 이후에 원래의 렌더링 속도로 프레임들을 상기 디스플레이에 렌더링하는 단계를 더 포함하는, 비디오 데이터 프로세싱 방법. - 제6항에 있어서,
상기 감소된 렌더링 속도는 상기 원래의 렌더링 속도의 1/2인, 비디오 데이터 프로세싱 방법. - 제4항에 있어서,
상기 프레임들이 상기 디스플레이에 렌더링되는 상기 감소된 렌더링 속도를 점진적으로 증가시키는 단계를 더 포함하는, 비디오 데이터 프로세싱 방법. - 제1항에 있어서,
비디오 데이터의 상기 세그먼트를 수신하는 단계 - 상기 수신된 세그먼트는 비디오 데이터의 상기 복수의 코딩된 프레임 및 연관된 오류 정정 유닛을 포함하는 데이터 블록을 포함함 - 를 더 포함하며,
상기 적어도 하나의 코딩된 프레임을 디코딩하는 단계는, 상기 연관된 오류 정정 유닛을 수신하기에 앞서 상기 적어도 하나의 코딩된 프레임을 디코딩하는 단계를 포함하는, 비디오 데이터 프로세싱 방법. - 제1항에 있어서,
제2 프레임 내의 오류를 검출하는 단계; 및
상기 제2 프레임 내의 상기 오류를 검출함에 따라 상기 제1 프레임의 상기 디코딩된 데이터를 상기 디스플레이 상에 정지시키는 단계를 더 포함하는, 비디오 데이터 프로세싱 방법. - 제1항에 있어서,
상기 적어도 하나의 디코딩된 프레임과 연관된 재생 시간 이전에 상기 적어도 하나의 디코딩된 프레임을 디스플레이에 렌더링하는 단계는, 상기 적어도 하나의 디코딩된 프레임 중 제1 프레임의 디코딩된 데이터를 상기 디스플레이에 렌더링하는 단계, 및 상기 적어도 하나의 디코딩된 프레임 중 제2 프레임에서 오류가 검출되지 않은 때, 상기 적어도 하나의 디코딩된 프레임 중 상기 제2 프레임의 디코딩된 데이터를 상기 디스플레이에 렌더링하는 단계를 포함하는, 비디오 데이터 프로세싱 방법. - 제1항에 있어서,
상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하는 단계는, 채널 스위치 요청에 응답하여 상기 적어도 하나의 디코딩된 프레임과 연관된 상기 재생 시간 이전에 상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하는 단계를 포함하는, 비디오 데이터 프로세싱 방법. - 제1항에 있어서,
상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하는 단계는,
프레임 메모리에 상기 적어도 하나의 디코딩된 프레임의 상기 디코딩된 데이터를 저장하는 단계, 및
상기 프레임 메모리의 상기 데이터로 상기 디스플레이를 구동하는 단계를 포함하는, 비디오 데이터 프로세싱 방법. - 비디오 데이터를 프로세싱하기 위한 장치로서,
상기 비디오 데이터의 세그먼트의 적어도 일 부분의 복수의 코딩된 프레임 중 적어도 하나의 코딩된 프레임을 디코딩하는 디코딩 모듈; 및
이벤트에 응답하여 상기 적어도 하나의 디코딩된 프레임과 연관된 재생 시간 이전에 상기 적어도 하나의 디코딩된 프레임을 디스플레이에 렌더링하는 렌더링 모듈을 포함하는, 비디오 데이터 프로세싱 장치. - 제14항에 있어서,
상기 렌더링 모듈은 상기 적어도 하나의 디코딩된 프레임과 연관된 상기 재생 시간까지 상기 적어도 하나의 렌더링된 프레임을 정지시키는, 비디오 데이터 프로세싱 장치. - 제15항에 있어서,
상기 렌더링 모듈은 상기 적어도 하나의 디코딩된 프레임과 연관된 상기 재생 시간까지 프레임 메모리에 상기 프레임의 디코딩된 데이터를 유지하는, 비디오 데이터 프로세싱 장치. - 제14항에 있어서,
상기 렌더링 모듈은 상기 적어도 하나의 디코딩된 프레임의 마지막 프레임과 연관된 상기 재생 시간까지 감소된 렌더링 속도로 상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하는, 비디오 데이터 프로세싱 장치. - 제17항에 있어서,
상기 렌더링 모듈은 정상 렌더링 속도보다 적은 리프레시 속도로 상기 프레임들 중 후속하는 프레임의 디코딩된 데이터로 프레임 메모리의 디코딩된 데이터를 리프레시하는, 비디오 데이터 프로세싱 장치. - 제17항에 있어서,
상기 렌더링 모듈은 상기 적어도 하나의 디코딩된 프레임의 상기 마지막 프레임과 연관된 상기 재생 시간 이후에 원래의 렌더링 속도로 프레임들을 상기 디스플레이에 렌더링하는, 비디오 데이터 프로세싱 장치. - 제19항에 있어서,
상기 감소된 렌더링 속도는 상기 원래의 렌더링 속도의 1/2인, 비디오 데이터 프로세싱 장치. - 제17항에 있어서,
상기 렌더링 모듈은 상기 프레임들이 상기 디스플레이에 렌더링되는 상기 감소된 렌더링 속도를 점진적으로 증가시키는, 비디오 데이터 프로세싱 장치. - 제14항에 있어서,
비디오 데이터의 상기 세그먼트를 수신하는 수신기를 더 포함하며,
상기 수신된 세그먼트는 비디오 데이터의 상기 복수의 코딩된 프레임 및 연관된 오류 정정 유닛을 포함하는 데이터 블록을 포함하고,
상기 디코딩 모듈은 상기 수신기가 상기 연관된 오류 정정 유닛을 수신하기에 앞서 상기 적어도 하나의 코딩된 프레임을 디코딩하는, 비디오 데이터 프로세싱 장치. - 제22항에 있어서,
상기 수신기는 상기 데이터 블록 내의 오류를 검출하고,
상기 렌더링 모듈은 상기 데이터 블록 내의 상기 오류를 검출함에 따라 상기 제1 프레임의 상기 디코딩된 데이터를 상기 디스플레이 상에 정지시키는, 비디오 데이터 프로세싱 장치. - 제22항에 있어서,
상기 렌더링 모듈은 상기 적어도 하나의 디코딩된 프레임의 제1 프레임의 디코딩된 데이터를 상기 디스플레이에 렌더링하고, 상기 데이터 블록에서 오류가 검출되지 않은 때, 상기 적어도 하나의 디코딩된 프레임의 제2 프레임의 디코딩된 데이터를 상기 디스플레이에 렌더링하는, 비디오 데이터 프로세싱 장치. - 제14항에 있어서,
상기 렌더링 모듈은 채널 스위치 요청에 응답하여 상기 적어도 하나의 디코딩된 프레임과 연관된 상기 재생 시간 이전에 상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하는, 비디오 데이터 프로세싱 장치. - 제14항에 있어서,
상기 렌더링 모듈은 프레임 메모리에 상기 적어도 하나의 디코딩된 프레임의 상기 디코딩된 데이터를 저장하고, 상기 프레임 메모리의 상기 데이터로 상기 디스플레이를 구동하는, 비디오 데이터 프로세싱 장치. - 비디오 데이터를 프로세싱하기 위한 장치로서,
상기 비디오 데이터의 세그먼트의 적어도 일 부분의 복수의 코딩된 프레임 중 적어도 하나의 코딩된 프레임을 디코딩하기 위한 디코딩 수단; 및
이벤트에 응답하여 상기 적어도 하나의 디코딩된 프레임과 연관된 재생 시간 이전에 상기 적어도 하나의 디코딩된 프레임을 디스플레이에 렌더링하기 위한 렌더링 수단을 포함하는, 비디오 데이터 프로세싱 장치. - 제27항에 있어서,
상기 렌더링 수단은 상기 적어도 하나의 디코딩된 프레임과 연관된 상기 재생 시간까지 상기 적어도 하나의 렌더링된 프레임을 정지시키는, 비디오 데이터 프로세싱 장치. - 제28항에 있어서,
상기 렌더링 수단은 상기 적어도 하나의 디코딩된 프레임과 연관된 상기 재생 시간까지 프레임 메모리에 상기 프레임의 디코딩된 데이터를 유지하는, 비디오 데이터 프로세싱 장치. - 제27항에 있어서,
상기 렌더링 수단은 상기 적어도 하나의 디코딩된 프레임의 마지막 프레임과 연관된 재생 시간까지 감소된 렌더링 속도로 상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하는, 비디오 데이터 프로세싱 장치. - 제30항에 있어서,
상기 렌더링 수단은 정상 렌더링 속도보다 적은 리프레시 속도로 상기 프레임들 중 후속하는 프레임의 디코딩된 데이터로 프레임 메모리의 디코딩된 데이터를 리프레시하는, 비디오 데이터 프로세싱 장치. - 제30항에 있어서,
상기 렌더링 수단은 상기 적어도 하나의 디코딩된 프레임의 상기 마지막 프레임과 연관된 상기 재생 시간 이후에 원래의 렌더링 속도로 프레임들을 상기 디스플레이에 렌더링하는, 비디오 데이터 프로세싱 장치. - 제32항에 있어서,
상기 감소된 렌더링 속도는 상기 원래의 렌더링 속도의 1/2인, 비디오 데이터 프로세싱 장치. - 제30항에 있어서,
상기 렌더링 수단은 상기 프레임들이 상기 디스플레이에 렌더링되는 상기 감소된 렌더링 속도를 점진적으로 증가시키는, 비디오 데이터 프로세싱 장치. - 제27항에 있어서,
비디오 데이터의 상기 세그먼트를 수신하기 위한 수신 수단을 더 포함하며,
상기 수신된 세그먼트는 비디오 데이터의 상기 복수의 코딩된 프레임 및 연관된 오류 정정 유닛을 포함하는 데이터 블록을 포함하고,
상기 디코딩 수단은 상기 연관된 오류 정정 유닛을 수신하기에 앞서 상기 적어도 하나의 코딩된 프레임을 디코딩하는, 비디오 데이터 프로세싱 장치. - 제27항에 있어서,
제2 프레임 내의 오류를 검출하기 위한 오류 검출 수단을 더 포함하고,
상기 렌더링 수단은 상기 제2 프레임 내의 상기 오류를 검출함에 따라 상기 제1 프레임의 상기 디코딩된 데이터를 상기 디스플레이 상에 정지시키는, 비디오 데이터 프로세싱 장치. - 제27항에 있어서,
상기 렌더링 수단은 상기 적어도 하나의 디코딩된 프레임의 제1 프레임의 디코딩된 데이터를 상기 디스플레이에 렌더링하고, 상기 적어도 하나의 디코딩된 프레임의 제2 프레임에서 오류가 검출되지 않은 때, 상기 적어도 하나의 디코딩된 프레임의 상기 제2 프레임의 디코딩된 데이터를 상기 디스플레이에 렌더링하는, 비디오 데이터 프로세싱 장치. - 제27항에 있어서,
상기 렌더링 수단은 채널 스위치 요청에 응답하여 상기 적어도 하나의 디코딩된 프레임과 연관된 상기 재생 시간 이전에 상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하는, 비디오 데이터 프로세싱 장치. - 제27항에 있어서,
상기 렌더링 수단은 프레임 메모리에 상기 적어도 하나의 디코딩된 프레임의 상기 디코딩된 데이터를 저장하고, 상기 프레임 메모리의 상기 데이터로 상기 디스플레이를 구동하는, 비디오 데이터 프로세싱 장치. - 명령어들을 갖는 컴퓨터 판독 가능한 매체를 포함하는 멀티미디어 데이터 프로세싱을 위한 컴퓨터 프로그램 제품으로서,
상기 명령어들은,
상기 비디오 데이터의 세그먼트의 적어도 일 부분의 복수의 코딩된 프레임 중 적어도 하나의 코딩된 프레임을 디코딩하기 위한 코드; 및
이벤트에 응답하여 상기 적어도 하나의 디코딩된 프레임과 연관된 재생 시간 이전에 상기 적어도 하나의 디코딩된 프레임을 디스플레이에 렌더링하기 위한 코드를 포함하는, 컴퓨터 프로그램 제품. - 제40항에 있어서,
상기 적어도 하나의 디코딩된 프레임과 연관된 상기 재생 시간까지 상기 적어도 하나의 렌더링된 프레임을 정지시키기 위한 코드를 더 포함하는, 컴퓨터 프로그램 제품. - 제41항에 있어서,
상기 적어도 하나의 렌더링된 프레임을 정지시키기 위한 코드는, 상기 적어도 하나의 디코딩된 프레임과 연관된 상기 재생 시간까지 프레임 메모리에 상기 프레임의 디코딩된 데이터를 유지하기 위한 코드를 포함하는, 컴퓨터 프로그램 제품. - 제40항에 있어서,
상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하기 위한 코드는, 상기 적어도 하나의 디코딩된 프레임의 마지막 프레임과 연관된 재생 시간까지 감소된 렌더링 속도로 상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하기 위한 코드를 포함하는, 컴퓨터 프로그램 제품. - 제43항에 있어서,
상기 감소된 렌더링 속도로 상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하기 위한 코드는, 정상 렌더링 속도보다 적은 리프레시 속도로 상기 프레임들 중 후속하는 프레임의 디코딩된 데이터로 프레임 메모리의 디코딩된 데이터를 리프레시하기 위한 코드를 포함하는, 컴퓨터 프로그램 제품. - 제43항에 있어서,
상기 적어도 하나의 디코딩된 프레임의 상기 마지막 프레임과 연관된 상기 재생 시간 이후에 원래의 렌더링 속도로 프레임들을 상기 디스플레이에 렌더링하기 위한 코드를 더 포함하는, 컴퓨터 프로그램 제품. - 제45항에 있어서,
상기 감소된 렌더링 속도는 상기 원래의 렌더링 속도의 1/2인, 컴퓨터 프로그램 제품. - 제43항에 있어서,
상기 프레임들이 상기 디스플레이에 렌더링되는 상기 감소된 렌더링 속도를 점진적으로 증가시키기 위한 코드를 더 포함하는, 컴퓨터 프로그램 제품. - 제40항에 있어서,
비디오 데이터의 상기 세그먼트를 수신하기 위한 코드 - 상기 수신된 세그먼트는 비디오 데이터의 상기 복수의 코딩된 프레임 및 연관된 오류 정정 유닛을 포함하는 데이터 블록을 포함함 - 를 더 포함하며,
상기 적어도 하나의 코딩된 프레임을 디코딩하기 위한 코드는 상기 연관된 오류 정정 유닛을 수신하기에 앞서 상기 적어도 하나의 코딩된 프레임을 디코딩하기 위한 코드를 포함하는, 컴퓨터 프로그램 제품. - 제40항에 있어서,
제2 프레임 내의 오류를 검출하기 위한 코드; 및
상기 제2 프레임 내의 상기 오류를 검출함에 따라 상기 제1 프레임의 상기 디코딩된 데이터를 상기 디스플레이 상에 정지시키기 위한 코드를 더 포함하는, 컴퓨터 프로그램 제품. - 제40항에 있어서,
상기 적어도 하나의 디코딩된 프레임과 연관된 재생 시간 이전에 상기 적어도 하나의 디코딩된 프레임을 디스플레이에 렌더링하기 위한 코드는,
상기 적어도 하나의 디코딩된 프레임의 제1 프레임의 디코딩된 데이터를 상기 디스플레이에 렌더링하기 위한 코드, 및
상기 적어도 하나의 디코딩된 프레임의 제2 프레임에서 오류가 검출되지 않은 때, 상기 적어도 하나의 디코딩된 프레임의 상기 제2 프레임의 디코딩된 데이터를 상기 디스플레이에 렌더링하기 위한 코드를 포함하는, 컴퓨터 프로그램 제품. - 제40항에 있어서,
상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하기 위한 코드는, 채널 스위치 요청에 응답하여 상기 적어도 하나의 디코딩된 프레임과 연관된 상기 재생 시간 이전에 상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하기 위한 코드를 포함하는, 컴퓨터 프로그램 제품. - 제40항에 있어서,
상기 적어도 하나의 디코딩된 프레임을 상기 디스플레이에 렌더링하기 위한 코드는,
프레임 메모리에 상기 적어도 하나의 디코딩된 프레임의 상기 디코딩된 데이터를 저장하기 위한 코드, 및
상기 프레임 메모리의 상기 데이터로 상기 디스플레이를 구동하기 위한 코드를 포함하는, 컴퓨터 프로그램 제품.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/775,478 US9426522B2 (en) | 2007-07-10 | 2007-07-10 | Early rendering for fast channel switching |
US11/775,478 | 2007-07-10 | ||
PCT/US2007/078922 WO2009008897A2 (en) | 2007-07-10 | 2007-09-19 | Early rendering for fast channel switching |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127004825A Division KR20120030596A (ko) | 2007-07-10 | 2007-09-19 | 고속 채널 스위칭을 위한 조기 렌더링 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100030661A true KR20100030661A (ko) | 2010-03-18 |
KR101134807B1 KR101134807B1 (ko) | 2012-04-16 |
Family
ID=40090328
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127004825A KR20120030596A (ko) | 2007-07-10 | 2007-09-19 | 고속 채널 스위칭을 위한 조기 렌더링 |
KR1020107002156A KR101134807B1 (ko) | 2007-07-10 | 2007-09-19 | 고속 채널 스위칭을 위한 조기 렌더링 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127004825A KR20120030596A (ko) | 2007-07-10 | 2007-09-19 | 고속 채널 스위칭을 위한 조기 렌더링 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9426522B2 (ko) |
EP (1) | EP2177031A2 (ko) |
JP (1) | JP5302307B2 (ko) |
KR (2) | KR20120030596A (ko) |
CN (1) | CN101690219B (ko) |
TW (1) | TW200904188A (ko) |
WO (1) | WO2009008897A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150092927A (ko) * | 2014-02-06 | 2015-08-17 | 에스케이플래닛 주식회사 | 레이턴시를 고려한 영상 처리 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0902136D0 (en) * | 2009-02-10 | 2009-03-25 | Pace Plc | Improved television channel switching method and apparatus |
JP6031750B2 (ja) * | 2011-11-25 | 2016-11-24 | 株式会社リコー | 表示制御装置、画像表示システム、表示制御方法およびプログラム |
US8879858B1 (en) * | 2013-10-01 | 2014-11-04 | Gopro, Inc. | Multi-channel bit packing engine |
KR102313529B1 (ko) | 2015-03-09 | 2021-10-15 | 에스케이플래닛 주식회사 | 클라우드 스트리밍 서비스 시스템, 최적 렌더링에 기반한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
KR102312681B1 (ko) | 2015-03-17 | 2021-10-13 | 한화테크윈 주식회사 | 영상 처리 시스템 및 방법 |
US20160323351A1 (en) | 2015-04-29 | 2016-11-03 | Box, Inc. | Low latency and low defect media file transcoding using optimized storage, retrieval, partitioning, and delivery techniques |
US11470131B2 (en) | 2017-07-07 | 2022-10-11 | Box, Inc. | User device processing of information from a network-accessible collaboration system |
CN114327708A (zh) * | 2021-12-22 | 2022-04-12 | 惠州市德赛西威智能交通技术研究院有限公司 | 加速车机和移动端交互信息处理的方法,系统及存储介质 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6480541B1 (en) * | 1996-11-27 | 2002-11-12 | Realnetworks, Inc. | Method and apparatus for providing scalable pre-compressed digital video with reduced quantization based artifacts |
US6031584A (en) * | 1997-09-26 | 2000-02-29 | Intel Corporation | Method for reducing digital video frame frequency while maintaining temporal smoothness |
US6480475B1 (en) * | 1998-03-06 | 2002-11-12 | Texas Instruments Incorporated | Method and system for accomodating a wide range of user data rates in a multicarrier data transmission system |
BR0014954A (pt) * | 1999-10-22 | 2002-07-30 | Activesky Inc | Sistema de vìdeo baseado em objetos |
JP3677185B2 (ja) | 1999-11-29 | 2005-07-27 | 株式会社東芝 | 符号分割多重伝送方式と送信装置及び受信装置 |
US6985188B1 (en) * | 1999-11-30 | 2006-01-10 | Thomson Licensing | Video decoding and channel acquisition system |
US8572646B2 (en) * | 2000-04-07 | 2013-10-29 | Visible World Inc. | System and method for simultaneous broadcast for personalized messages |
JP2002247465A (ja) | 2001-02-20 | 2002-08-30 | Sony Corp | テレビジョン受信装置およびテレビジョン受信装置の受信状態表示方法 |
US7218636B2 (en) * | 2001-06-13 | 2007-05-15 | Inrange Technology Corporation | Method and apparatus for rendering a cell-based switch useful for frame based application protocols |
US6782497B2 (en) * | 2001-09-20 | 2004-08-24 | Koninklijke Philips Electronics N.V. | Frame error rate estimation in a receiver |
US20030126600A1 (en) * | 2001-12-27 | 2003-07-03 | Koninklijke Philips Electronics N.V. | Smart suggestions for upcoming TV programs |
MXPA04009782A (es) | 2002-04-08 | 2004-12-13 | Thomson Licensing Sa | Aparato y metodo par memorizar datos en cache para reducir los tiempos de cambio de canal. |
FR2841080A1 (fr) | 2002-06-14 | 2003-12-19 | Thomson Licensing Sa | Procede de visualisation video utilisant un decodeur |
US7496283B2 (en) * | 2002-06-28 | 2009-02-24 | Microsoft Corporation | Methods and systems for processing digital data rate and directional playback changes |
US20040194134A1 (en) | 2003-03-25 | 2004-09-30 | Gunatilake Priyan Deveka | Method and system for rapid channel change providing stored images of current channel programs |
US8014651B2 (en) | 2003-06-26 | 2011-09-06 | International Business Machines Corporation | MPEG-2 decoder, method and buffer scheme for providing enhanced trick mode playback of a video stream |
US7355976B2 (en) * | 2004-02-09 | 2008-04-08 | Texas Instruments Incorporated | Method and apparatus for providing retry control, buffer sizing and management |
JP2005277701A (ja) | 2004-03-24 | 2005-10-06 | Hitachi Ltd | 動画データの伝送方法、伝送システム、配信装置及び受信装置 |
JP2006060813A (ja) | 2004-08-20 | 2006-03-02 | Polycom Inc | ビデオデコーダにおける誤り隠蔽 |
JP4661373B2 (ja) * | 2004-10-15 | 2011-03-30 | Kddi株式会社 | 特定メディアデータの破棄を制御する送信装置及び送信プログラム |
US7383438B2 (en) * | 2004-12-18 | 2008-06-03 | Comcast Cable Holdings, Llc | System and method for secure conditional access download and reconfiguration |
US20090222873A1 (en) * | 2005-03-07 | 2009-09-03 | Einarsson Torbjoern | Multimedia Channel Switching |
US7583287B2 (en) * | 2005-03-22 | 2009-09-01 | Microsoft Corp. | System and method for very low frame rate video streaming for face-to-face video conferencing |
US7721308B2 (en) | 2005-07-01 | 2010-05-18 | Microsoft Corproation | Synchronization aspects of interactive multimedia presentation management |
US20070067480A1 (en) * | 2005-09-19 | 2007-03-22 | Sharp Laboratories Of America, Inc. | Adaptive media playout by server media processing for robust streaming |
US8879635B2 (en) * | 2005-09-27 | 2014-11-04 | Qualcomm Incorporated | Methods and device for data alignment with time domain boundary |
US7873760B2 (en) * | 2005-11-11 | 2011-01-18 | Versteeg William C | Expedited digital signal decoding |
US7793329B2 (en) * | 2006-02-06 | 2010-09-07 | Kasenna, Inc. | Method and system for reducing switching delays between digital video feeds using multicast slotted transmission technique |
US8713195B2 (en) * | 2006-02-10 | 2014-04-29 | Cisco Technology, Inc. | Method and system for streaming digital video content to a client in a digital video network |
US7652994B2 (en) * | 2006-03-31 | 2010-01-26 | Sharp Laboratories Of America, Inc. | Accelerated media coding for robust low-delay video streaming over time-varying and bandwidth limited channels |
EP2082571B1 (en) * | 2006-11-07 | 2016-05-04 | Thomson Licensing | Method for reducing channel change times and synchronizing audio/video content during channel change |
US8411762B2 (en) * | 2007-06-26 | 2013-04-02 | Intel Corporation | Method and apparatus for data synchronization |
US7784456B2 (en) * | 2008-07-09 | 2010-08-31 | Chien-Chih Yeh | Air-compressed bullet gun assembly |
-
2007
- 2007-07-10 US US11/775,478 patent/US9426522B2/en active Active
- 2007-09-19 WO PCT/US2007/078922 patent/WO2009008897A2/en active Application Filing
- 2007-09-19 JP JP2010516018A patent/JP5302307B2/ja not_active Expired - Fee Related
- 2007-09-19 KR KR1020127004825A patent/KR20120030596A/ko not_active Application Discontinuation
- 2007-09-19 KR KR1020107002156A patent/KR101134807B1/ko not_active IP Right Cessation
- 2007-09-19 CN CN2007800537077A patent/CN101690219B/zh not_active Expired - Fee Related
- 2007-09-19 EP EP07842803A patent/EP2177031A2/en not_active Withdrawn
- 2007-10-03 TW TW096137090A patent/TW200904188A/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150092927A (ko) * | 2014-02-06 | 2015-08-17 | 에스케이플래닛 주식회사 | 레이턴시를 고려한 영상 처리 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템 |
Also Published As
Publication number | Publication date |
---|---|
US9426522B2 (en) | 2016-08-23 |
JP5302307B2 (ja) | 2013-10-02 |
WO2009008897A2 (en) | 2009-01-15 |
CN101690219B (zh) | 2013-11-06 |
KR20120030596A (ko) | 2012-03-28 |
CN101690219A (zh) | 2010-03-31 |
EP2177031A2 (en) | 2010-04-21 |
KR101134807B1 (ko) | 2012-04-16 |
TW200904188A (en) | 2009-01-16 |
JP2010532963A (ja) | 2010-10-14 |
WO2009008897A3 (en) | 2009-02-19 |
US20090016445A1 (en) | 2009-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101134807B1 (ko) | 고속 채널 스위칭을 위한 조기 렌더링 | |
US8340183B2 (en) | Digital multimedia channel switching | |
US8761162B2 (en) | Systems and methods for applications using channel switch frames | |
JP5788101B2 (ja) | メディアデータのネットワークストリーミング | |
US8831039B2 (en) | Time-interleaved simulcast for tune-in reduction | |
US7584495B2 (en) | Redundant stream alignment in IP datacasting over DVB-H | |
US8340113B2 (en) | Method and arrangement for improved media session management | |
US9661378B2 (en) | Using scalable codecs for providing channel zapping information to broadcast receivers | |
US8831402B2 (en) | Media stream processing | |
US20110109810A1 (en) | Method an apparatus for fast channel change using a scalable video coding (svc) stream | |
US20080301742A1 (en) | Time-interleaved simulcast for tune-in reduction | |
KR20190032671A (ko) | 실시간 iptv 방송에서의 채널 전환 시스템 | |
Vadakital et al. | Time-interleaved simulcast and redundant intra picture insertion for reducing tune-in delay in DVB-H | |
WO2008149271A2 (en) | Time-interleaved simulcast for tune-in reduction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
J121 | Written withdrawal of request for trial | ||
A107 | Divisional application of patent | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160330 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170330 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180329 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |