KR100941336B1 - 멀티미디어 스트리밍에서 최적화된 오류 관리를 위한디코더 아키텍쳐 - Google Patents

멀티미디어 스트리밍에서 최적화된 오류 관리를 위한디코더 아키텍쳐 Download PDF

Info

Publication number
KR100941336B1
KR100941336B1 KR1020077023199A KR20077023199A KR100941336B1 KR 100941336 B1 KR100941336 B1 KR 100941336B1 KR 1020077023199 A KR1020077023199 A KR 1020077023199A KR 20077023199 A KR20077023199 A KR 20077023199A KR 100941336 B1 KR100941336 B1 KR 100941336B1
Authority
KR
South Korea
Prior art keywords
layer
error
protocol
delete delete
detected
Prior art date
Application number
KR1020077023199A
Other languages
English (en)
Other versions
KR20070119675A (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 KR20070119675A publication Critical patent/KR20070119675A/ko
Application granted granted Critical
Publication of KR100941336B1 publication Critical patent/KR100941336B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2966Turbo codes concatenated with another code, e.g. an outer block code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods 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/895Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4425Monitoring of client processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

오류 복구에서 사용하기 위한 다중-계층 통합 방법 및 장치가 개시된다. 제 1 계층 프로토콜에 기초하여 멀티미디어 데이터에서 오류가 검출되고 멀티미디어 데이터에서 검출된 오류는 제 2 계층 프로토콜에 기초하여 은폐된다. 일 측면에서, 멀티미디어 데이터의 오류는 통신 계층 프로토콜에 기초하여 검출되고 수송 계층 프로토콜에 기초하여 제어된다. 그 후, 제어된 오류의 오류 분포는 동기 계층 프로토콜에 기초하여 결정되고 멀티미디어 데이터의 검출된 오류는 애플리케이션 계층 프로토콜에 기초하여 은폐된다. 다른 측면에서, 멀티미디어 데이터 프로세싱을 위한 방법 및 장치는 스케일러빌리티뿐만 아니라 오류 복구도 포함한다. 최종적으로, 개시된 방법 및 장치는 인코딩된 멀티미디어 데이터의 다중 스트림을 수신하고, 스트림의 잘못된 부분 상에 오류 복구를 수행하고, 다중 스트림으로부터 멀티미디어 데이터를 재구성함으로써 멀티미디어 스트림의 프로세싱을 허가한다.
Figure R1020077023199
오류 복구, 멀티미디어 데이터, 다중-계층 통합

Description

멀티미디어 스트리밍에서 최적화된 오류 관리를 위한 디코더 아키텍쳐 {A DECODER ARCHITECTURE FOR OPTIMIZED ERROR MANAGEMENT IN STREAMING MULTIMEDIA}
35 U.S.C §119 에 따른 우선권 주장
본 특허 출원은, 본 발명의 양수인에게 양도되어 있으며, 여기서 참조로서 명백하게 포함되는 발명의 명칭이 "비디오 통신에 있어서 오류 복구를 위한 방법 및 장치" 로 2005년 3월 10일자로 출원된 가출원 제 60/660,681 호, 발명의 명칭이 "비디오 디코딩을 위한 방법 및 장치" 로 2005년 3월 10일자로 출원된 가출원 제 60/660,923 호, 및 발명의 명칭이 "디코더용 오류 복구 방법" 으로 2005년 3월 10일자로 출원된 가출원 제 60/660,867 호를 우선권 주장한다.
분야
본 발명은 핸드헬드 디바이스 상에서 실시간 스트리밍 미디어를 디코딩하는 방법 및 장치에 관한 것이다.
멀티미디어 서비스에 대한 증가하는 수요뿐만 아니라, 인터넷 및 무선 통신의 폭발적인 성장과 대단한 성공으로 인해, 인터넷 및 이동/무선 채널을 통한 스트리밍 미디어는 거대한 집중을 받아왔다. 이종의 인터넷 프로토콜 (IP) 네트워크에서, 비디오는 서버에 의해 제공되고 하나 이상의 클라이언트에 의해 스트림될 수 있다. 유선 접속은 다이얼-업 (dial-up), 통합된 서비스 디지털 네트워크 (ISDN), 케이블, 디지털 가입자 회선 프로토콜 (집합적으로 xDSL 로 지칭되는), 파이버 (fiber), 로컬 영역 네트워크 (LAN), 광대역 네트워크 (WAN) 등을 포함한다. 송신 모드는 유니-캐스트 또는 멀티-캐스트 중 하나일 수 있다.
이동/무선 통신은 이종 IP 네트워크와 유사하다. 이동/무선 채널을 통한 멀티미디어 콘텐트의 수송은, 이러한 채널들이 다중-경로 페이딩 (fading), 쉐도잉, 심볼간 간섭, 및 잡음 교란으로 인해 자주 심각하게 손상되기 때문에 어려운 문제이다. 이동성 및 경합하는 트래픽과 같은 다른 이유들도 대역폭 변동 및 손실을 초래한다. 채널 잡음 및 서비스 받는 사용자의 수는 채널 환경의 시간-변화 성질을 결정한다.
이종 IP 네트워크 및 이동 통신 시스템 모두에서 더 높은 데이터 레이트 및 더 고품질의 서비스에의 수요가 빠르게 증가하고 있다. 그러나, 제한된 지연 시간, 제한된 송신 파워, 제한된 대역폭, 및 다중-경로 페이딩과 같은 팩터는 실제적인 시스템에 의해 조종되는 데이터 레이트를 제한한다. 멀티미디어 통신에서, 구체적으로 오류가 나기 쉬운 환경에서, 단지 하나의 디코딩된 값의 오류만으로도 디코딩 아티팩트 (artifact) 를 공간적으로 시간적으로 전파시킬 수 있기 때문에 송신된 미디어의 오류 복구력은 바람직한 품질의 서비스를 제공하는데 있어서 중요하다. 다양한 인코딩 표준이 필요한 데이터 레이트를 유지하면서 오류를 최소화하기 위해 사용되었지만, 이러한 모든 기술이 디코더 측에 도달했을 경우 오류를 갖는 문제를 가진다.
소스 인코더의 사용을 통해, 데이터는 압축되어- 최소 수의 비트를 사용하여 최대의 정보를 전달하고, 이러한 비트를 수신하는데 있어서 주어진 확률의 오류에 대한 송신 채널의 용량을 최대화하려는 채널 인코더로 이어진다.
채널 코딩, 예를 들어, 리드-솔로몬 코딩은 소스-코딩된 데이터의 강인성을 개선하기 위해 사용된다. 조인트 소스-채널 코딩 방법이 다양한 레벨의 중요도를 갖는 소스 코딩된 데이터에 오류 보호의 다양한 레벨을 제공하거나 패킷을 분할하고 생략함을 통해서 이용가능한 네트워크 대역폭으로 코딩된 비디오 데이터의 레이트 적응을 가능하게 하도록 사용되었다.
오염된 패킷이 실제 수신된 경우 역순으로 패킷을 디코딩함으로써 가역의 가변 길이 코딩 (예를 들어, MPEG-4 에서) 과 같은 소스 코딩 기술이 오류 복구를 위해 사용되었다. 소스 코딩 기술에는 주어진 비트 레이트에서 디코딩된 비디오의 품질을 위해 코딩 효율에 있어서 타협이 있다.
MPEG-1, MPEG-2, MPEG-4 (집합적으로 MPEG-x 로 지칭되는) 와 같은 하이브리드 코딩 표준, H.261, H.262, H.263, 및 H.264 (집합적으로 H.26x 로 지칭되는) 는 비트스트림에서 재동기화 포인트를 디코더에서 오류를 조종하는 주요 방법으로서 사용한다.
초기 오염의 과잉에서 데이터 손실을 초래할 수도 있는 다른 이유는 부정확한 코드워드 에뮬레이션으로 인한 것이다. 초기 비트 오류 위치의 식별은 사소한 태스크가 아니며 통상적으로 MAC 계층 또는 물리 층 콤포넌트에서 비트 오류 위치의 식별을 지원하는 특별한 디자인 없이는 불가능하다. 따라서, 비트스트림 오염을 검출하면, 디코더는 디코딩을 멈추고 다음 재동기화 포인트를 찾기 위해 전진하고, 그 프로세서에서 반드시 상당한 양의 잠재적으로 양호한 데이터를 뛰어 넘게된다. 오리지날과 길이가 동일한 상이한 코드워드의 에뮬레이션, 즉 정격의 코드워드는 전술된 이벤트의 결과에 관해서 별로 문제가 아닐 것 같지만, 실제는 그렇지 않다. 이러한 종류의 오류가 디코더의 정정 비트스트림 해석에서 실패로 이끌 수도 있는 많은 경우가 존재한다. 예를 들어, 대부분의 현재 코덱에서 그 값이 비트스트림의 다음 부분의 신택스 (syntax) 에 영향을 주는 비트스트림 내의 오브젝트 (압축 관련 파라미터) 가 존재한다. 따라서 이러한 오브젝트의 부정확한 오브젝트가 부정확한 비트스트림 해석을 이끌 수도 있다.
통상적인 수송 프로토콜은 오염된 데이터를 디코더 (예를 들어, 비디오 또는 오디오 디코더 애플리케이션) 에 전달하지 않기 때문에, 디코더는 패킷의 드롭 및 재동기화를 가장 통상적인 해결책으로 하여, 비트 오류를 조종하는 제한된 능력을 갖는다. 동기화 손실 및 부정확한 코드워드 에뮬레이션과 같은 문제로 인해 오류 전달 및 데이터 손실을 초래하는 비트 오류를 조종하는 개선된 방법이 필요하다.
요약
일 측면에서, 오류 복구에서 사용하기 위한 다중-계층 통합 방법 및 장치는 제 1 계층 프로토콜에 기초하여 멀티미디어 데이터에서 오류를 검출하는 방법 또는 수단; 및 제 2 계층 프로토콜에 기초하여 멀티미디어 데이터에서 검출된 오류를 은폐하는 방법 및 수단을 포함한다. 다른 측면에서, 오류 복구에서 사용하기 위한 다중-계층 통합 장치는 제 1 계층 프로토콜에 기초하여 멀티미디어 데이터에서 오류를 검출하는 검출기; 및 제 2 계층 프로토콜에 기초하여 멀티미디어 데이터에서 검출된 오류를 은폐하는 은폐기를 포함한다. 다중-계층 통합 방법 및 장치에서, 제 1 계층은 통신 계층을 포함할 수도 있다. 통신 계층은 물리 계층, MAC 계층, 및 수송 계층 중 하나 또는 그들의 조합을 포함할 수도 있다. 또한, 상기 방법 및 장치는 수송 계층 프로토콜에 기초하여 검출된 오류를 제어하는 방법 또는 수단을 더 포함할 수도 있다. 검출된 오류를 제어하는 것은 검출된 오류를 로컬라이징하는 것을 포함할 수도 있다. 상기 방법 및 장치는 또한 동기 계층 프로토콜에 기초하여 검출된 오류의 오류 분포를 결정하는 방법 또는 수단을 더 포함할 수도 있다. 제 2 계층은 애플리케이션 계층을 포함할 수도 있다.
다른 측면에서, 오류 복구에서 사용하기 위한 다중-계층 통합 방법 및 장치는 통신 계층 프로토콜에 기초하여 멀티미디어 데이터에서 오류를 검출하는 방법 또는 수단; 수송 계층 프로토콜에 기초하여 검출된 오류를 제어하는 방법 또는 수단; 동기 계층 프로토콜에 기초하여 제어된 오류의 오류 분포를 결정하는 방법 또는 수단; 및 애플리케이션 계층 프로토콜에 기초하여 멀티미디어 데이터에서 검출된 오류를 은폐하는 방법 또는 수단을 포함한다. 여전히 다른 측면에서, 멀티미디어 데이터 프로세싱에서 사용하기 위한 방법 및 장치는 인코딩된 멀티미디어 데이터의 오류 복구를 수행하는 방법 또는 수단; 및 인코딩된 멀티미디어 데이터의 스케일러빌리티 (scalability) 를 지원하는 방법 및 장치를 포함한다. 또한, 다른 측면에서, 멀티미디어 데이터 프로세싱에서 사용하기 위한 장치는 인코딩된 멀티미디어 데이터의 오류 복구를 수행하는 오류 복구 콤포넌트; 및 인코딩된 멀티미디어 데이터의 스케일러빌리티를 지원하는 스케일러빌리티 콤포넌트를 포함한다. 멀티미디어 프로세싱에서 사용하기 위한 방법 및 장치에서, 스케일러빌리티는 공간적 및 시간적인 스케일러빌리티 중 하나 또는 모두를 포함할 수도 있다. 오류 복구는 시간적 오류 은폐, 공간적 오류 은폐 및 프레임 레이트 상향 변환 중 하나 또는 그 조합을 포함할 수도 있다.
또 다른 측면에서, 멀티미디어 스트림 프로세싱에서 사용하기 위한 방법 및 장치는 인코딩된 멀티미디어 데이터의 다중 스트림을 수신하는 방법 또는 수단; 스트림의 잘못된 부분 상에 오류 복구를 수행하는 방법 또는 수단; 및 다중 스트림으로부터 멀티미디어 데이터를 재구성하는 방법 또는 수단을 포함한다. 또한 다른 측면에서, 멀티미디어 스트림에서 사용하기 위한 장치는 인코딩된 멀티미디어 데이터의 다중 스트림을 수신하는 수신기; 스트림의 잘못된 부분 상에 오류 복구를 수행하는 오류 복구 콤포넌트; 및 다중 스트림으로부터 멀티미디어 데이터를 재구성하는 재구성기를 포함한다. 멀티미디어 스트림 프로세싱에서 사용하기 위한 방법 및 장치에서, 오류 복구는 시간적 오류 은폐, 공간적 오류 은폐 및 프레임 상향 변환 중 하나 또는 이들의 조합을 포함할 수도 있다.
상기 방법 및 장치는 상기 방법 또는 장치의 작동을 수행하도록 구성된 컴퓨터 판독 가능 매체 및/또는 프로세서에 의해 구현될 수도 있다.
도 1a 는 스트리밍 멀티미디어를 전달하기 위한 통신 시스템의 예의 블록 다이어그램이다.
도 1b 는 스트리밍 멀티미디어를 전달하기 위한 다중-계층 통신 시스템의 예의 블록 다이어그램이다.
도 1c 는 스트리밍 멀티미디어를 전달하기 위한 다중-계층 통신 시스템의 다른 예의 블록 다이어그램이다.
도 2a 는 스트리밍 멀티미디어를 디코딩하기 위한 디코더 디바이스 아키텍쳐의 예의 블록 다이어그램이다.
도 2b 는 송신기 및 도 2a 의 디코더 디바이스 아키텍쳐의 다른 관점을 포함하는 다중-계층 통합 관리 시스템의 프로토콜 스택 다이어그램이다.
도 3 은 연결된 리드 솔로몬 이레이져 및 터보 코딩을 위해 조직된 멀티미디어 심볼의 예를 도시한다.
도 4 는 스트리밍 멀티미디어를 디코딩하는 방법의 예의 플로우 다이어그램이다.
도 5 는 비디오 데이터에 대한 터보 정보 패킷 구조를 도시한다.
도 6 은 도 1 에서 도시된 멀티미디어 수신기 (24) 의 부분일 수도 있는 콤포넌트의 예시적 시스템의 블록 다이어그램을 도시한다.
도 7 은 오류 복구의 프로세스의 플로우 차트를 도시한다.
멀티미디어 디코더에서 개선된 오류 복구 능력을 제공하는 방법 및 장치가 설명된다. 예를 들어, 하부 계층 (예를 들어, 통신 계층) 에서 멀티미디어 데이터 스트림에서 오류를 검출하고 애플리케이션 계층 (예를 들어, 비디오 또는 오디오 디코더) 에서 검출된 오류 상에 오류 복구를 수행하는 것과 같은, 통합 오류 복구 능력이 제공된다. 일 예에서, 오류 복구 기술의 다양한 유형을 수행하는데 있어서 정보에 근거한 결정을 내리는데 사용하기 위한 애플리케이션 콤포넌트에게 오염된 비트 플래깅 (flagging) 정보를 제공하는 디코더 아키텍쳐가 나타난다. 오류 복구 기술은 이전에 디코딩된 비디오, 오디오, 텍스트 및 그래픽 정보와 같은 애플리케이션 콤포넌트에 이용가능한 정보로부터 획득된 추정된 심볼로 오염된 심볼을 대체하도록 사용된다. 다음 설명에서, 구체적인 세부사항이 실시형태의 철저한 이해를 위해 제공될 것이다. 그러나, 실시형태가 이러한 구체적인 세부사항 없이 실시될 수도 있다는 것이 당업자에게 이해된다. 예를 들어, 전기 콤포넌트는 불필요한 세부사항에서 실시형태를 불명확하게 하지 않기 위해 블록 다이어그램에서 도시될 수도 있다. 다른 경우에, 이러한 콤포넌트, 다른 구조 및 기술이 실시형태를 더 설명하기 위해 자세하게 도시될 수도 있다. 또한, 별도의 블록으로 도시된 전기 콤포넌트가 재배열되고 또는 다른 콤포넌트와 조합될 수도 있다는 것이 당업자에게 이해된다.
또한, 어떤 실시형태는 프로세스로 설명될 수도 있어서, 플로우차트, 플로우 다이어그램, 구조 다이어그램, 또는 블록 다이어그램으로 묘사된다. 플로우차트가 동작을 순차적인 프로세스로서 설명할 수도 있지만, 동작의 다수가 평행적으로 또는 동시에 수행될 수 있고, 프로세스는 반복될 수 있다. 추가로, 동작의 순서는 재배열될 수도 있다. 프로세스는 그것의 동작이 완료되었을 때 종료된다. 프로세스는 방법, 기능, 절차, 서브루틴, 서브프로그램 등에 대응될 수도 있다. 프로세스가 기능에 대응할 때, 그것의 종료는 기능이 호출 기능 또는 주요 기능으로 다시 돌아오는 것에 대응한다.
도 1a 는 스트리밍 멀티미디어를 전달하기 위한 통신 시스템의 일 예의 블록 다이어그램이다. 시스템 (20) 은 송신기 (22) 및 수신기 멀티미디어 디코더 (24) 를 포함한다. 송신기 (22) 는 비디오, 오디오, 그래픽, 텍스트 및 사진을 포함하지만, 이에 제한되지는 않는 다양한 형식의 압축된 멀티미디어 데이터를 포함한다. 데이터는 MPEG-x 및 H.26x 표준에서와 같은 압축된 비디오 및 오디오, MPEG-4 AAC, MP3, AMR 및 G.723 오디오 또는 음성 압축 표준에서와 같은 압축된 오디오, 또는 디지털 데이터의 다른 유형일 수 있다.
송신기 (22) 는 외부 메모리, 인터넷, 및 라이브 비디오 및/또는 오디오 피드 (feed) 를 포함하는 다양한 소스로부터 데이터를 획득한다. 송신기 (22) 는 또한 네트워크를 통해 획득된 데이터를 송신 (Tx) 한다. 네트워크는 전화, 케이블, 또는 광학 섬유와 같은 유선 네트워크 (28) 또는 무선 네트워크 (26) 일 수 있다. 무선 통신 시스템에서, 네트워크 (26) 는, 예를 들어, 코드 분할 다중 액세스 (CDMA 또는 CDMA 2000) 통신 시스템의 부분을 포함할 수 있고 또는 택일적으로, 시스템은 주파수 분할 다중 액세스 (FDMA) 시스템, 직교 주파수 분할 다중 액세스 (OFDMA) 시스템, GSM/GPRS (일반 패킷 라디오 서비스) / EDGE (향상된 데이터 GSM 환경) 또는 서비스 산업을 위한 TETRA (지상 중계 무선) 이동 전화 기술과 같은 시간 분할 다중 액세스 (TDMA) 시스템, 광대역 코드 분할 다중 액세스 (WCDMA), 고 데이터 레이트 (1xEV-DO 또는 1xEV-DO 골드 멀티캐스트) 시스템, 또는 일반적으로 이들 기술의 조합을 사용하는 어떤 무선 통신 시스템일 수 있다.
디코더 (24) 는 라디오 주파수 안테나 또는 네트워크 접속과 같은 무선 네트워크 (26) 및/또는 유선 네트워크 (28) 을 수신하기 위한 수단을 포함한다. 디코더 (24) 는 수신된 데이터에 관련된 복조 및 디코딩 태스크를 분배하기 위한 프리프로세서 (preprocessor) (예를 들어, ARM 과 같은 중앙 프로세서 유닛 CPU), 디지털 신호 프로세서 (DSP), 소프트웨어, 펌웨어, 및 비디오 코어 같은 하드웨어의 조합을 포함하는 다중 프로세서를 포함할 수도 있다. 디코더 (24) 는 또한 복조/디코딩 프로세스의 다양한 스테이지에서 수신된 데이터 및 중간 데이터를 저장하는 메모리 콤포넌트를 포함한다. 어떤 실시형태에서, ARM 프리프로세서는 오디오, 비디오 등을 포함하는 복수의 비트스트림을 언팩킹 (헤더 및 신호 메세지 같은 주변 정보를 제거), 및 디멀티플렉싱하는 것을 포함하는 덜 복잡한 태스크를 수행한다. ARM 프리프로세서는 또한 비트스트림 파싱 (parsing), 오류 검출 및 은폐 및 가변 길이 엔트로피 디코딩을 수행한다. 이러한 실시형태에서, DSP 는 VLC (가변 길이 코드) 코드워드의 확장, 공간적으로 픽셀 계수를 위치시키기 위한 비디오 데이터 역 지그-재그 스캔, MPEG-4 (콘텍스트 적응성 엔트로피 코딩으로 인한 H.264 의 특성이 아닌) 에 대한 픽셀 계수의 역 AC/DC 예측, 및 오디오 디코딩 (예를 들어, MPEG-4 AAC, MP3, AMR 또는 G.723) 을 수행한다. 비디오 코어는 역양자화 (dequantization), 역 변환, 모션 보상 예측, 및 디블록킹 (픽셀 블록 에지 사이의 에지 아티팩트를 감소시키기 위한 필터링의 형식) 을 포함하는 비디오 디코딩의 더 계산적으로 복잡한 태스크를 수행할 수도 있다. 하나 이상의 엘리먼트가 통신 시스템 (20) 에 추가, 재배열, 또는 조합될 수도 있다. 유선 통신 시스템의 경우에, 네트워크 (26) 는, 예를 들어, 실시간 수송 프로토콜 (RTP) 또는 유니버셜 데이터그램 프로토콜 (UDP) 와 같은 수송 프로토콜을 갖는 인터넷 프로토콜 (IP) 기반 통신 시스템의 부분을 포함할 수 있다.
도 1b 는 송신기 (22) 및 디코더 (24) 에서 태스크를 분할하기 위해 사용되는 다중-계층 프로토콜의 블록 다이어그램이다. 송신기 (22) 및 디코더 (24) 각각에서 상부 층 콤포넌트 (205 및 210) 는 예를 들어 비디오 또는 오디오 인코더 및/또는 디코더와 같은 다중 애플리케이션을 포함할 수도 있다. 어떤 실시형태는 동시에 디코딩되기로 되어 있는 정보의 다중 스트림을 포함할 수도 있다. 이러한 경우에, 다중 스트림의 동기화 태스크는 상부 층 콤포넌트 (205 및 210) 에서 수행될 수도 있다. 상부 층 콤포넌트 (205) 는 무선 네트워크 (26) 및/또는 유선 네트워크 (28) 을 통해 송신되는 비트스트림에서의 인코딩된 타이밍 정보를 제공할 수도 있다. 상부 층 콤포넌트 (210) 는 관련된 애플리케이션이 동시에 그들을 디코딩하도록 정보의 다중 스트림을 파싱 (parse) 할 수도 있다.
송신기 (22) 의 하부 계층 콤포넌트 (215) 는 오류 복원을 위해 제공할 다양한 방식을 포함할 수도 있다. 유선 네트워크 (28) 및/또는 무선 네트워크 (26) 와 같은 오류가 나기 쉬운 채널은 디코더 (24) 에 의해 수신되는 비트스트림으로 오류를 도입할 수도 있다. 이러한 하부 계층 콤포넌트 (215) 에서 제공되는 오류 복원 방식은 하나 이상의 오류 제어 코딩 계획, 인터리빙 방식 및 당업자에게 알려진 다른 방식을 포함할 수도 있다. 디코더 (24) 에서 하부 계층 콤포넌트 (220) 는 오류의 검출 및 정정을 가능하게 하는 대응하는 오류 디코딩 콤포넌트를 포함할 수도 있다. 무선 네트워크 (26) 및/또는 유선 네트워크 (28) 을 통해 도입되는 어떤 오류는 하부 계층 콤포넌트 (220) 에 의해 정정이 가능하지 않을 수도 있다. 이러한 정정이 불가능한 오류에 대해, 송신기 (22) 의 하부 계층 콤포넌트 (215) 에 의한 오염된 콤포넌트의 재송신 요구를 하부 계층 콤포넌트 (220) 가 요구하는 것과 같은 해결책은, 예를 들어, 스트리밍 애플리케이션과 같은 실시간 멀티미디어 통신에서와 같은 어떤 상황에서는 불가능할 수도 있다. 어떤 실시형태에서, 하부 계층 콤포넌트 (215 및 220) 는 통신 계층 콤포넌트를 포함한다. 하나 이상의 엘리먼트가 도 1b 에서 도시된 송신기 (22) 또는 디코더 (24) 에 추가, 재배열 또는 조합될 수도 있다.
도 1c 는 송신기 (22) 및 디코더 (24) 에서 태스크를 분할하기 위해 사용되는 다중-계층 프로토콜 스택의 더 상세한 예의 블록 다이어그램이다. 송신기 (22) 의 상부 계층 콤포넌트 (205) 는 하나 이상의 애플리케이션 계층 (206) 및 동기 계층 (207) 에 분포된다. 송신기 (22) 의 하부 계층 콤포넌트 (215) 는 하나 이상의 송신층 (216), 스트림 또는 매체 액세스 제어 (MAC) 층 (217), 및 물리 계층 (218) 으로 분포된다. 유사하게, 디코더 (24) 의 상부 계층 콤포넌트 (210) 는 하나 이상의 애플리케이션 계층 (211) 및 동기 계층 (207) 에서 분포된다. 디코더 (24) 의 하부 계층 콤포넌트 (220) 는 하나 이상의 수송 계층 (221), 스트림 또는 매체 액세스 제어 (MAC) 층 (222), 및 물리 계층 (223) 으로 분포된다. 당업자는 이러한 층을 인식하고 이들 중에 다양한 태스크를 할당하는 것에 익숙할 것이다. 전술된 바와 같이, 송신기 (22) 에서 제공되는 오류 복원을 이용하기 위한 디코더 디바이스 (24) 의 다양한 층을 통합한 아키텍쳐의 일 예가 다음에 설명될 것이다. 하나 이상의 엘리먼트가 도 1c 에서 도시된 송신기 (22) 또는 디코더 (24) 에 추가, 재배열 또는 조합될 수도 있다.
도 2a 는 스트리밍 멀티미디어를 디코딩하기 위한 디코더 디바이스 아키텍쳐의 일 예의 블록 다이어그램이다. 도 2b 는 송신기 (22) 및 도 2a 의 디코더 디바이스 아키텍쳐의 프로토콜 스택 관점을 포함하는 다중-계층 통합 관리 시스템의 일 예의 프로토콜 스택 다이어그램이다. 도 2a 및 2b 를 참조하면, 멀티미디어 디코더 (30) 는 물리 계층 콤포넌트 (32), MAC 계층 콤포넌트 (34), 수송 및 동기화 파서 (TSP; 39), 및 애플리케이션 계층 콤포넌트 (50) 를 포함한다. 멀티미디어 디코더 (30) 는 터보/리드-솔로몬이 연쇄된 방식과 같은 연쇄된 오류 정정 방식을 포함하는 입력 비트스트림 (IN) 을 수신한다. 물리 계층 콤포넌트 (32) 는 수신, 오류 제어 디코딩, 예를 들어, 터보 디코딩, 및 MAC (매체 액세스 제어) 층과 인터페이싱하는 것을 포함하고, 이에 제한되지는 않는 복조 태스크를 수행할 수도 있다. MAC 계층 콤포넌트 (34) 는 오류 제어 디코딩, 예를 들어, 정정 불가능한 오염된 데이터, 예를 들어, 하나 이상의 비트의 그룹의 리드-솔로몬 오류 검출, 오류 정정 및 플래깅을 수행할 수도 있다. MAC 계층 콤포넌트 (34) 는 수송 및 동기화 파서 콤포넌트 (TSP; 39) 와 인터페이싱한다.
TSP 콤포넌트 (39) 는 수송 계층 디-먹스 콤포넌트 (36) 및 동기 계층 파서 콤포넌트 (38) 을 더 포함할 수도 있다. 수송 계층 디-먹스 콤포넌트 (36) 는 정확한 비트 및 오염된 비트 모두와 오염된 비트의 그룹을 플래깅하는 정보를 포함하는 MAC 계층 콤포넌트 (34) 로부터 전달된 비트스트림을 수신할 수도 있다. 비트의 오염된 그룹 및 대응하는 플래깅 정보는 터보-디코더 CRC 실패 (33), 및 리드-솔로몬 실패 (35) 에 대응하는 정보를 포함한다. (어떤 프로토콜 스택에서, 수송 계층 디-먹스 콤포넌트 (36) 는 스트림 서브-층으로 알려져 있고, 여기서 MAC 서브-층 및 스트림 서브-층은 모두 수송 계층의 서브-층이다.) 수송 계층 디-먹스 콤포넌트 (36) 는 수신하는 비트스트림을 복수의 비트스트림으로 디멀티플렉스 (디-먹스) 또는 파싱할 수 있다. 파싱된 비트스트림은 비디오 디코더, 오디오 디코더 및 텍스트, 그래픽 및 이미지 애플리케이션의 다양한 조합과 같은 상이한 애플리케이션을 목표로 하는 비트스트림을 포함할 수 있다. 수송 계층 디-먹스 콤포넌트는 또한 예를 들어, 비디오 비트스트림과 같은 싱글 애플리케이션을 목표로 하는 일 비트스트림을 기저 계층 및 향상 계층과 같이 2 이상의 분리된 층으로 (예를 들어, 스케일러블 코딩을 사용하여) 파싱할 수 있다. 이러한 층들은 스케일러빌리티, 예를 들어, 시간적 및/또는 SNR 스케일러빌리티를 제공하는데 사용될 수 있다. 스케일러블 코딩의 일 예는, 인트라-코딩된 픽쳐 (I 프레임 같은) 및 상이한 인터-코딩된 픽쳐 (예를 들어, 모션 보상 예측을 사용하여 도출된 P 프레임 또는 B 프레임과 같은) 를 비트스트림의 상이한 층에 분할한다. I 프레임은 기저 계층에서 인코딩될 수도 있고 P 및/또는 B 프레임은 향상 계층에서 인 코딩될 수도 있다. 스케일러블 코딩은 동적 채널에서 유용하고, 여기서 스케일러블 비트스트림은 네트워크 대역폭에서의 변동을 맞추도록 적응될 수 있다. 오류가 나기 쉬운 채널에서, 스케일러블 코딩은 기저 계층 및 향상 계층의 동일하지 않은 오류 보호를 통해 강인성을 추가할 수 있다. 더 좋은 오류 보호가 더 중요한 층에 적용될 수 있다.
동기 계층 파서 콤포넌트 (38) 는 시간-동기적 기저 상에서 서로 관련된 서브-비트스트림에 관하여 비트스트림을 파싱하는 것을 더 수행한다. 멀티-미디어 비디오 비트스트림은 비디오 비트스트림, 오디오 비트스트림, 및 폐쇄된 캡셔닝을 위한 관련된 텍스트를 갖는 비트스트림으로 파싱될 수 있다. 동기 계층 파서 콤포넌트 (38) 는 시간-동기화 정보를 따라 파싱된 비트스트림을 관련된 디코더 애플리케이션으로 파싱된 비트스트림을 전달한다. 이것이 적합한 시간에 관련된 오디오, 비디오 및 텍스트가 디스플레이되고 재생되도록 한다.
전술된 파싱에 추가하여, 수송 계층 디-먹스 콤포넌트 (36) 는 오염 플래깅 정보 (예를 들어, CRC 실패 정보 (33) 및 리드-솔로몬 실패 정보 (35)) 를 파싱하고 전달하며, 이는 MAC 계층 콤포넌트 (34) 및 물리 계층 (32) 으로부터 동기 계층 파서 콤포넌트 (38) 및/또는 적합한 애플리케이션 계층 프로세스 (예를 들어, 비디오 디코더, 또는 오디오 디코더) 로 수신된다. 동기 계층 파서 콤포넌트 (38) 는 오염 플래깅 정보를 오류 분포 정보 (37) 형식으로 전달할 수도 있다. 동기 계층 파서 콤포넌트 (38) 는 추천된 오류 제어 전략 정보 (41) 을 전달할 수도 있다. 애플리케이션 계층 프로세스는 오염 플래깅 정보 (37) 를 사용하고 오류 조종을 위해 전략 정보 (41) 를 제어한다.
애플리케이션 계층 콤포넌트 (50) 는 예를 들어, 오류 복구 콤포넌트 (40), 스케일러빌리티 콤포넌트 (42), 프레임 상향 변환 (FRUC) 콤포넌트 (44), 코어 애플리케이션 디코딩 콤포넌트 (46) 및 포스트 프로세싱 콤포넌트 (48) 와 같은 하나 이상의 콤포넌트를 포함할 수도 있다. 애플리케이션 계층 콤포넌트 (50) 는 전달된 오염 플래깅 정보 (37) 및 제어 전략 정보 (41) 을 이용하여 오류 복구, 스케일러빌리티, 및 FRUC 콤포넌트를 어떻게 이용하여 그에 의해 오염된 데이터를 조작하여 코어 애플리케이션 디코딩 콤포넌트를 가지고 더 높은 품질의 디코딩을 제공하도록 하는가에 대한 결정을 내리도록 한다. 예를 들어, 중요한 정보를 포함하고 있는 어떤 매체가 하나의 층에 수신되고, 나머지 매체는 다른층에 수신되는 시간적 스케일러빌리티의 경우에, 제 2 계층이 수신되지 않거나 손실되거나 또는 오염되었다면 잃어버린 매체를 재구성하도록 FRUC 가 사용될 수 있다. 디코딩 후에, 포스트 프로세싱 콤포넌트 (48) 는 비디오 디스플레이 또는 스피커 상에서 비디오 및 오디오 출력 (OUT) 각각의 디스플레이 또는 재생 또는 렌더링을 하도록 필요한 하드웨어 특정 수정을 수행한다. 포스트 프로세싱 콤포넌트 (48) 는 또한 매체가 렌더링되거나 표시되기 전에 향상 또는 복구 동작을 수행할 수도 있다.
코어 애플리케이션 디코딩 콤포넌트 (46) 는 텍스트 및 그래픽 애플리케이션뿐만 아니라 비디오 디코더, 오디오 디코더를 포함할 수 있다. 코어 애플리케이션 콤포넌트 (46) 로 디코딩하기 전에 또는 그 동안에 다양한 애플리케이션 비트스트림의 오류 복구, 스케일러빌리티 및 FRUC 프로세싱을 수행함으로써, 저 품질 비트스트림 (저 품질에서 인코딩되거나 오류로 인해 저 품질에서 수신된 것) 의 품질을 개선하는 향상이 이루어질 수 있다. 예를 들어, 콤포넌트 (40, 42 및 44) 는 H.264 비디오 비트스트림에 호환하는 표준 베이스라인 (베이스라인 프로파일 (baseline profile) 은 낮은 파워 디바이스를 위해 디자인된 매우 단순한 프로파일이다) 에 향상을 제공할 수 있고, B-프레임과 같은 H.264 의 다른 프로파일 및 스트리밍 비디오에 대한 스케일러빌리티, 획득, 및 오류 복원 요구를 만족하도록 요구되는 슬라이스 데이터 분할로부터 어떠한 특성을 제공한다. 멀티미디어 디코더 (30) 의 콤포넌트를 이용하는 프로세스의 세부사항은 이하에서 설명된다. 하나 이상의 엘리먼트가 도 2a 및 2b 에서 도시되는 송신기 (22) 및 디코더 (30) 에 추가, 재배열 또는 조합된다.
오류 검출 및 오류 정정의 간략한 논의가 이제 설명될 것이다. 오류 검출 및 정정 방식의 일 예는 내부 (채널) 코드 및 외부 (채널) 코드를 포함하는 연쇄된 코드를 사용한다. 연쇄된 채널 코드는 물리 계층의 터보 (내부) 코드 및 수송 계층/MAC 계층에 위치한 리드-솔로몬 (외부) 이레이져 (erasure) 정정 코드를 포함한다. 도 3 은 연쇄된 리드 솔로몬 이에리져 및 터보 코딩을 위해 조직된 멀티미디어 심볼의 예를 묘사한다. 인코딩 면에 관하여, 정보 소스로부터의 심볼 출력, 인코더로부터의 이진법 코드워드 출력이 바이트 (102) 로 블록화된다. 각각의 바이트 (102) 는 GF (256) 을 통한 외부 (N, K) 리드-솔로몬 (RS) 코드의 목적을 위해 "갈로이스 필드 (256)" 로 알려진 유한 필드에서의 심볼로 고려된다. N 및 K 는 시스템적인 부분을 차지하는 전체 RS 코드워드 (104) 및 그것의 소스 데이터 (106) 의 크기를 각각 심볼의 수로 표시한다. 따라서, N 마이너스 K 는 각각의 코드워드 (104) 에 포함된 패리티 심볼 (108) 의 수를 나타낸다. (N, K) RS 코드는 N 마이너스 K 이레이져를 정정할 수 있다.
최상 K 행 (106) 은 반드시 정보 소스로부터 심볼 출력을 홀드하고 이러한 심볼은 행-우선 또는 열-우선 방식 중 하나로 K 행로 스캔될 수 있다. 열-우선 스캔에 의해 얻어진 인터리빙은, 주어진 터보 정보 패킷 행 (112) 이 오염된 경우에 상당히 짧은 그룹의 오염된 비트를 발생시킨다. 오염된 비트의 그룹은, 터보 정보 패킷 이레이져로 인해, 행 우선 스캐닝에서 각각이 (L-1) 바이트인 것과 반대로 열 우선 스캐닝에서 1 바이트일 수도 있다. 디코더에서, 이러한 오염된 그룹의 비트의 플래깅은, 전술된 바와 같이, 이들 비트 그룹의 (비트스트림에서) 크기 및 위치를 식별할 필요가 있을 수도 있다. 이러한 소스 데이터 배치의 초기 스텝 이후에, L 열 (104) 의 각각 (K 바이트의) 은 N-K 패리티 바이트를 추가함으로써 N 바이트로 RS 코딩되고, 이에 따라서, 도 3 의 행 K+1, ..., N (108) 이 생성된다. 소스 데이터 (106) 로 이루어지는 최상 K 행은 RS 정보 블록으로 지칭되고, N 행의 전체 세트는 RS 인코딩된 블록, 또는 단순히 코드 블록 (110) 으로 지칭된다.
각각의 행 (112) 은 터보 코더의 정확한 동작을 위해 요구되는 어떤 트레일링 (trailing) 비트 및 CRC (순환적 잉여 체크) 체크섬에 첨부된다. 체크섬을 각각의 행 (112) 에 첨부함으로써, 터보 디코딩 후에 그들의 각각의 체크섬을 만족하지 못하는 행들은 삭제된 걸로 선언될 수도 있다. 각각의 코드 블록 (110) 은 터보 코더로 한 번에 한 행 (112) 씩 입력되고, 이에 따라 각각의 행은 터보 정보 패킷으로 지칭된다.
터보 디코딩 프로세스는 리드-솔로몬 디코딩 프로세스로 경판정 (hard-decision) 데이터를 제공하고, 이것은 잔여 오류의 레이트를 감소시킨다. 성공적으로 이레이져를 정정하는 능력은 코드 블록 내의 이레이져의 총 수 및 RS 코드워드마다 사용되는 패리티 심볼의 수 (N 마이너스 K) 에 따른다.
도 2 의 멀티미디어 디코더 (30) 를 목표로 한 채널 코딩 디자인 채널에서, 리드-솔로몬 (RS) 코드 블록이 정정 능력을 넘는 이레이져를 가지면, 대응하는 RS 정보 블록 (도 3) 은 어떤 K 터보 정보 패킷 (112; 도 3) 이 오염되었는지 플래깅하는 조인트 통지와 함께 수송 계층, 동기 계층 및 최종적으로 애플리케이션 계층의 콤포넌트로 전달될 수도 있다. GF (256) 을 통한 외부 (N, K) RS 코드의 시스템적인 구조는 정확하게 수신된 (오염되지 않은) 터보 정보 패킷의 간단한 이용을 가능하게 한다.
도 4 는 스트리밍 멀티미디어를 디코딩하는 방법의 예의 플로우 다이어그램이다. 잡음 변조된 데이터 (IN) 는 수신되어 디코딩 프로세스 (60) 로 입력되고 복조 (62) 된다. 데이터는 도 1 의 무선 네트워크 (26) 및 유선 네트워크 (28) 과 같은 무선 또는 유선 네트워크를 통해 수신될 수 있다. 도 2 의 물리 계층 콤포넌트 (32) 는 스텝 62 에서 수신된 잡음 데이터를 복조하는 행동을 수행한다. 복조된 데이터는 오류가 검출되고 정정될 수도 있는 곳으로 전달 (단계 64) 된다. 도 2 의 MAC 계층 콤포넌트 (34) 가 리드 솔로몬 오류 정정의 행동 을 수행할 수 있는 반면 (단계 64), 도 2 의 물리 계층 콤포넌트 (32) 는 단계 64 의 터보 디코딩 행동을 수행할 수 있다.
터보 및 리드 솔로몬 디코딩이 정정가능한 단계 64 의 모든 오류를 검출하고 정정한 후에, 터보 정보 패킷 및/또는 오염된 바이트는, 예를 들어, 플래깅에 의해 식별 (단계 66) 된다. 파싱을 위해 비트스트림을 전달하기 (단계 68) 전에, 패리티 행 (108; 도 3) 뿐만 아니라 각각의 터보 정보 패킷의 CRC 체크섬 및 트레일링 비트가 버려진다. 정확하게 수신된, 부정확하게 수신되었으나 정정된, 그리고 플래깅된 오염된 데이터는, 오염된 데이터를 식별하는 플래깅 정보와 함께, 모두 비트스트림 파싱을 위해 전달 (단계 68) 된다. 도 2 의 물리 계층 콤포넌트 (32) 및/또는 MAC 계층 콤포넌트 (34) 는 (예를 들어, 플래깅에 의해) 오염된 데이터를 식별하는 행동 (단계 66) 을 수행할 수 있다.
전술된 바와 같이, 수송 디-먹스 콤포넌트 (36) 및 동기 계층 파서 콤포넌트 (38) 는 비트스트림을 다중 애플리케이션 계층 프로세스로 목표된 복수의 비트스트림으로 파싱 (단계 68) 한다. 도 4 에서 도시된 예에서, 비트스트림은 비디오 비트스트림 (70), 오디오 비트스트림 (72) 및 텍스트 및/또는 그래픽 비트스트림 (74) 로 파싱 (단계 68) 된다. 각각의 비트스트림 (70, 72 및 74) 은 각각의 비트스트림 내에서 오염된 그룹의 비트를 식별하는 데이터를 포함할 수 있다. 추가로, 각각의 비트스트림이 시간 동기적일 경우, 비트스트림은 타이밍 정보를 포함할 수 있다.
개별 비트스트림이 파싱된 후에, 오류 복구 또는 은폐의 몇 가지 기술 중 하나를 이용하여, 오염된 비트가 대체되는 (78, 82 및 86) 오류 조종이 애플리케이션 계층에서 일어난다. 도 2 의 애플리케이션 계층 콤포넌트 (50) 의 오류 복구 콤포넌트 (40), 스케일러빌리티 콤포넌트 (42) 및 FRUC 콤포넌트 (44) 은 대체하는 행위 (78, 82 및 86)를 수행할 수 있다. 오염된 심볼이 대체된 후에, 개별 비디오, 오디오 및 텍스트/그래픽 비트스트림은 각각 디코딩 (80, 84 및 88) 될 수 있다. 도 2 의 애플리케이션 계층 콤포넌트 (50) 의 코어 애플리케이션 콤포넌트 (46) 는 또한 더 낮은 층 콤포넌트에 의해 플래깅되었을 수도 있는 오염된 비트를 대체 (78, 82 및/또는 86) 할 수도 있다. 하나 이상의 엘리먼트가 도 4 에 도시된 프로세스 (60) 에 추가, 재배열, 또는 조합된다.
도 4 에서 도시된 바와 같이, 오염된 데이터의 플래깅을 통해 오염된 비트를 식별하는 (66) 것의 예가 더 상세하게 설명될 것이다. 도 5 는 비디오 데이터에 대한 터보 정보 패킷 구조를 묘사한다. 블록 (140) 은 도 3 에 묘사된 RS 정보 블록을 보충하는 터보 정보 패킷의 K 행 (106) 들과 같은 터보 정보 패킷을 묘사한다. 비디오의 프레임은 하나 이상의 데이터의 터보 정보 패킷이 인코딩되도록 요구할 수 있다. 예를 들어, 제 1 프레임, F1 은 정보 블록 148A 의 행 142A 에서 시작된다. 프레임 F1 의 나머지 데이터는 행 142B, 142C, 142D 및 행 142E 의 제 1 부분에 위치한다. 또한, 행 142A 는 스트림 식별, 동기화 시간, 프레임 식별 (프레임 수 및 기저 계층 및 향상 계층의 경우에는 가능하게는 층 수) 및 다른 정보 같은 정보를 포함하는 동기화 헤더 (SH; 146A) 를 포함한다. 동기화 헤더 (146A) 는 프레임 F1 을 나타내는 다음 정보 블록에 포함된 데이터를 어디로 (어떤 애플리케이션에) 보낼지 동기 계층 파서 (도 2 의 38) 에 식별시키도록 작동한다. 각각의 행의 끝에는 CRC 체크섬이 있고, 전술한 바와 같이, 이것은 삭제된 (오염된) 패킷을 식별하기 위해 리드-솔로몬 디코딩과 결합하여 사용된다.
각각의 터보 정보 패킷 행의 시작에는 수송 계층 (TH; 144) 이 존재한다. 각각의 TH (144) 는 Last_Flag 및 Offset_Pointer 를 포함한다. 도 4 의 상태 66 에서 수행되는 오염된 터보 정보 패킷의 플래깅은 Offset_Pointer 값 자체에 의해 행해질 수 있다. Offset_Pointer 를 위법한 값으로 세팅하는 것은 패킷을 오염된 것으로서 표시할 수도 있다. 택일적으로, Error_Flag 필드는 TH 에서 사용될 수도 있다. 플래깅은 대응하는 TH 에서 세팅 (Error_Flag = 1) 에 의해 이루어질 수 있다. 예를 들어, 행 142C 가 오염되었다면, 행 142C 의 TH 는 1 과 동일하게 설정될 수 있다. Last_Flag 는 현재 행이 프레임의 마지막 행인 것을 표시하는데 사용되고 (예를 들어, 1 로 세팅함으로써) 만약 마지막 행이라면, Offset_Pointer 는 터보 정보 패킷 행의 어디에서 다음 프레임이 시작하는지 (바이트의 수로) 표시하는데 사용된다. 행 142E 에서, 예를 들어, TH 144B 는 (Last_Flag=1) 를 가지고 Offset_Pointer 는 TH 144C 의 시작 전의 행 (프레임 F3 의 시작) 에 포함된 바이트의 수와 동일하게 될 수 있다. 동기화 헤더 (146B) 는 전술된 바와 같이 프레임_ID 및 비트스트림을 표시하는 데이터를 포함할 수도 있다. 정보 블록 (148C) 은 프레임 F3 를 나타내는 비디오 데이터를 포함한다. 행 142E 이 오염된 것으로 판정되면, 디코더는 어디서 F1 이 끝나고 어디서 F3 가 시작하는지 판정할 수 없을 수도 있다.
전술된 바와 같이, 수송 계층 헤더에서 Error_Flag 를 포함하는 것에 추가하여 (또는 대신하여), 데이터 테이블이 구성되어 각각의 비디오 프레임에 대해 테이블 1 에 리스트된 정보와 함께 애플리케이션 계층으로 전달될 수 있다.
테이블 1. 비디오 비트스트림 오류 테이블에 포함된 샘플 정보
Figure 112007072699374-pct00001
프레임 수 - 프레임의 유한한 세트, 예를 들어 30 프레임 내의 정수, 여기서 넘버링은 가장 높은 수에 이른 후에 1 에서 다시 시작한다.
Figure 112007072699374-pct00002
B/E - 다중층 스케일러빌리티의 경우에 프레임의 기저 계층 또는 향상 계층 수를 표시한다.
Figure 112007072699374-pct00003
프레임_길이 - 바이트로서 비디오 프레임의 길이.
Figure 112007072699374-pct00004
RAP_플래그 - 완전히 인트라-코딩된 I 프레임과 같이 프레임이 랜덤 액세스 포인트인지 나타내는 플래그. 이러한 플래그는 오류를 만났을 경우 재동기화 포인트로서 동작할 수도 있다.
프리젠테이션 시간 스탬프 (PTS) - 프레임이 디스플레이될 때 프레임의 시퀀스에서 시간.
Figure 112007072699374-pct00006
초당 프레임 (FPS)
Figure 112007072699374-pct00007
프레임이 차지하는 터보 정보 패킷의 수 (전체 및 부분 모두)
Figure 112007072699374-pct00008
오류_비트_패턴 - 어떤 터보 정보 패킷이 오염되었는지 나타내는 변수 (5 비트 '00100' 은 5 패킷 중 세 번째 터보 정보 패킷이 오염된 것을 나타낼 수 있 다.)
Figure 112007072699374-pct00009
오류_비율 - 오염된 터보 정보 패킷 대 정확한 패킷의 비율을 나타내는 변수 (1/5 은 5 패킷 중에 하나는 오염되었다는 걸 나타낼 수 있다.)
다른 비트스트림 오류 테이블은 테이블 1 에 유사하게 구성될 수 있다. 수송 헤더 및/또는 테이블 1 과 같은 오류 테이블에 포함된 오류 플래깅 정보가 콤포넌트 (도 2 의 40, 42 및 44) 와 같은 애플리케이션 계층 콤포넌트에 의해 이용되어, 파싱된 비트스트림 (70, 72 및 74) 에서 오염된 심볼을 식별하고 도 4 에서 스텝 78, 82, 및 86 각각에서 그들을 대체한다. 전술된 바와 같이, RS 코딩으로부터의 이레이져 패킷은 버려지지 않고 비디오 디코더와 같은 애플리케이션 계층으로 건네진다. 이것은 잠재적으로 비디오 패킷에 대해 122 바이트 이상의 길이인 전체 패킷이 손실되지 않도록 한다.
오염된 심볼을 대체하는 행동, 도 4 의 단계 78, 82, 및 86 은 2 개의 주요 형식, 오류 정정 및 오류 은폐로 나타날 수 있다. 비트스트림 레벨 오류 정정 및 은폐 동작은 이레이져 및 버스트 오류에서 수행된다. 디코딩 오류 (바이트 오류로 인한) 는 가능한 정도까지 MAP (최대 포스테리어리 확률) 표준을 사용하여 정정된다. 정정될 수 없는 오류는 이웃하는 매크로블록 (매크로블록은 비디오 표준에서 통상적으로 동작되는 16x16 픽셀 영역이지만, 8x8, 8x16 등과 같은 더 작은 서브-매크로블록이 또한 사용될 수 있다.) 으로부터 공간적 및/또는 시간적인 정보를 사용하여 은폐된다. 이미지가 한 프레임 이상에서 정지될 때 시간적인 은폐가 사용될 수 있다. 은폐되는 오염된 매크로 블록이 이전 프레임에서 상대적으로 일정하게 유지된 영역에 있다면, 오염된 프레임에서 존재하는 것이 가능하고 과거 프레임 영역은 오염된 영역에 대한 추정으로서 사용될 수 있다. 공간적인 은폐가 동일한 프레임 내의 이웃하는 매크로블록에서 존속하는 에지 또는 오브젝트를 이용할 수 있다.
전술된 바와 같이, 동일한 비트스트림을 나타내는 인코딩된 데이터의 다중층이 수신될 수 있다. 이 층들은 기저 계층 및 하나 이상의 향상 계층을 포함하고, 향상 계층은 기저 층에서 이용가능하지 않은 추가적인 프레임 (양 방향 예측된 B-프레임과 같은) 을 제공할 수 있거나, 그들은 더 높은 품질의 미분적 정련을 기저 계층 픽셀 계수에 제공할 수 있다. 기저 계층 계수로의 미분적 정련의 경우에, 기저 계층이 오염된다면, 향상 계층은 기저 계층 픽셀 값에 기초하여 도출되기 때문에 향상 계층은 무용할 수도 있다. 따라서, 기저 계층이 오염되었다면 향상 계층은 디코딩으로부터 생략될 수 있다. 이 프로세스는 선별적 디코딩으로 불리고 또한, 저 파워 시나리오에서 사용될 수도 있다. 예를 들어, 디바이스 호스팅 디코더가 저 파워 모드로 작동하거나 저 배터리에서 작동하는 경우, 향상 계층은 생략하고 기저 계층만이 디코딩되고, 따라서, 계산 사이클 및 결과적으로 파워 소비를 절약한다. 공간적 및/또는 시간적인 은폐 기술은 조합된 기저 플러스 향상 계층 데이터를 대체하도록 사용될 수 있다.
향상 계층 (때때로 낮은 우선도 층으로 취급되는) 은 기저 층 (또는 높은 우선도 층) 보다 저 파워에서 송신될 수도 있다. 이것은 기저 계층보다 향상 계 층에서의 오류 확률을 증가시킨다. 따라서, 수신된 기저 계층이 높은 퍼센티지의 오류를 포함하는 경우, 향상 계층은 잠재적으로 버려질 수 있다.
양-방향 예측된 프레임 (B-프레임) 은 모션 보상 예측을 사용하여 이전 프레임 및 이어지는 프레임 모두로부터 예측된다. B-프레임은 매우 높은 압축율을 제공하고 대역폭을 보존하는데 매우 바람직하다. B-프레임은 또한 그들의 시간적인 스케일러빌리티 특성에 대해 바람직하다. B-프레임에 호환되는 표준은 다른 프레임의 예측에 사용되지 않고, 이러한 이유로 그들은 다른 프레임에 부정적으로 영향을 끼치지 않고 버려질 수 있다. B-프레임은 또한 그들이 따르는 프레임 내의 오류로 인한 오류 전파에 더 민감하다. 이러한 이유로, B-프레임은 향상(또는 낮은 우선도) 층에서 수행될 가능성이 높다. 향상 계층이 저 파워에서 송신되면, B-프레임은 오류에 더욱 민감하다.
B-프레임이 완전히 오염되었거나 임계치 이상의 오류 퍼센티지로 시간적 또는 공간적 오류 은폐를 실행하기 어렵게 된다면, 프레임 상향 변환 (도 2 의 FRUC 콤포넌트 (44) 를 보라) 이 이용될 수 있다. FRUC 는 손실된 프레임을 재생성하도록 사용된다. 또한, FRUC 는 파워 절약과 같은 이유로 디코딩으로부터 스킵된 프레임을 재생성하는데 사용될 수 있다. FRUC 기술은 이전 프레임 및 이어지는 프레임으로부터 모션 벡터 및 픽셀 정보를 이용하여 모션 벡터 및 픽셀을 위한 값을 삽입한다. 정확한 FRUC 기술은 본 논의의 범위 밖이다. FRUC 기술은 디코더만의 그리고 인코더-지원되는 형식을 포함한다. 디코더만의 FRUC 는 어떤 다른 정보 없이 프레임 데이터의 의사-삽입을 수행한다. 인코더-지원된 FRUC 는 H.264 의 보충적인 향상 정보 (SEI) 메세지 또는 MPEG-2 의 사용자_데이터 메세지에서 송신된 주변 정보를 이용한다.
도 6 은 멀티미디어 수신기, 예를 들어 도 1 에 도시된 수신기 (24) 의 부분일 수도 있는 콤포넌트의 시스템의 예의 블록 다이어그램을 도시한다. 시스템 (600) 은 오류 복구에서 사용하기 위한 다중-계층 통합 시스템이다. 도 7 은 시스템 (600) 에 의해 사용될 수도 있는 오류 복구를 위한 프로세스의 플로우차트를 도시한다. 도 6 및 7 을 참조하면, 프로세스 (700) 는 멀티미디어 데이터의 하나 이상의 스트림을 수신 (단계 705) 한다. 데이터 스트림은 비디오, 오디오, 및/또는 폐쇄된 캡션 텍스트 등을 포함할 수도 있다. 수신된 하나 이상의 스트림은 인코딩된 데이터일 수도 있다. 인코딩된 데이터는 변환된 데이터, 양자화된 데이터, 압축된 데이터 또는 이들의 조합일 수도 있다. 도 1a 의 수신기 (24) 와 같은 수신하는 수단은 하나 이상의 스트림을 수신 (705) 할 수도 있다. 멀티미디어의 다중 스트림을 수신하는 것에 추가하여, 각각의 수신된 스트림은 다중층, 예를 들어, 기저 계층 및 향상 계층을 포함할 수도 있다. 수신기 (24) 는 무선 또는 유선 수신기 또는 그 조합일 수도 있다.
비트스트림에 남아있는 오류가 검출 (710) 된다. 검출된 오류는 더 낮은 층 오류 정정 및 검출 프로토콜이 채널, 예를 들어 도 1a 의 무선 채널 (26) 또는 유선 채널 (28) 을 통한 송신에 의해 도입된 오류의 일부를 정정한 후에 남아있는 오류를 포함할 수도 있다. 전술한 바와 같이, 모든 오류가 정정 가능한 것은 아니고 더 낮은 층 프로토콜은 오염된 데이터 및/또는 오류를 포함하는 데이터의 그룹을 표시할 수도 있다. 오류를 검출 (710) 하도록 사용되는 더 낮은 층 프로토콜은 전술된 바와 같이 통신 계층에서 구현될 수도 있다. 통신 계층은 물리 계층, MAC 계층 (또는 스트림층), 또는 수송 계층, 또는 이들의 조합 중 하나 또는 조합일 수도 있다. 도 6 의 오류 검출기 (605) 와 같은 검출하는 수단은 오류 검출 (710) 을 수행할 수도 있다. 오류 검출기 (605) 는 당업자에게 알려진 다양한 검출 방식, 예를 들어, 전술된 바와 같은 리드-솔로몬 및/또는 터보-코드 방식을 사용할 수도 있다. 오류 검출은 터보 디코더에서 CRC 실패로 인할 수도 있다. 오류 검출은 리드-솔로몬 디코더의 실패로 인한 것일 수도 있다.
검출된 오류는 몇 가지 방법에 의해 제어 (715) 된다. 제어 (715) 는 전술된 바와 같이, 오염된 데이터의 표시하는 것 (또는 플래깅) 을 포함할 수도 있다. 제어 (715) 는 데이터의 그룹, 예를 들어 검출된 오류를 포함하는 패킷, 블록, 슬라이스, 프레임, 매크로블록, 서브-매크로블록을 식별함으로써 오류를 로컬라이징하는 것을 포함할 수도 있다. 제어 (715) 는 수송 계층 프로토콜에 기초할 수도 있다. 이러한 프로토콜은 상부 계층 (도 1b 및 1c 를 보라.) 에 의한 사용을 위해 수송 계층 헤더에서 하나 이상의 비트를 인코딩하여 남아있는 오류를 표시할 수도 있다. 상부 계층은 수송층 헤더 오류 표시자를 사용하여 하나 이상의 오염된 수송 계층 패킷으로 만들어진 상부 계층 패킷을 식별 및/또는 로컬라이징하여, 이로써 상부 계층 비트스트림의 오류를 로컬라이징한다. 도 6 의 오류 제어기 (610) 와 같은 제어하는 수단은 오류 제어 태스크를 수행할 수도 있다.
오류 분포가 결정 (720) 된다. 일 측면에서, 오류 분포는 동기 계층 프로토콜에 기초하여 결정되었다. 수신된 (705) 하나 이상의 비트스트림은 동기 계층에서 파싱될 수도 있다. 동기 계층이 더 낮은 것 중 하나, 예를 들어, 통신 계층으로부터 정보를 수신하여 오염된 데이터를 표시하면, 어떤 비트스트림의 어떤 부분이 오염되었는지 식별할 수도 있다. 이러한 정보를 가지는 것은 동기 계층 프로토콜이 상부 계층 (예를 들어, 애플리케이션 계층) 오류 은폐 및/또는 오류 복구 전략을 계획하도록 할 수도 있다. 상이한 전략이 오염된 데이터의 크기에 따라 적용될 수도 있다. 잘못 표시된 수송 계층 패킷은 어떤 비트스트림의 부분인가에 따라 동기 계층에서 조합되어 다양한 애플리케이션 계층 콤포넌트로 전달될 수도 있다. 수송 계층 패킷은 고정된 길이를 가질 수도 있고, 동기 계층 패킷은 가변 길이를 가질 수도 있다. 동기 계층은 데이터를 삽입함으로써 오류 분포를 식별하여 가변 길이 동기화 패킷의 어떤 부분이 오염된 수송 계층 패킷을 포함하고 있는지 식별할 수도 있다. 오류 제어 (715) 정보를 사용하는 것에 추가하여, 동기 계층 프로토콜은 오류 검출 방법을 더 포함할 수도 있다. 이러한 오류 검출 방법은 동기 계층 패킷의 CRC 를 체크하는 것을 포함할 수도 있다. 결정된 오류 분포는 파싱된 데이터 패킷에 오류 표시를 삽입함으로써 애플리케이션 계층 콤포넌트로 통신될 수도 있다. 오류 분포 결정기 (615) 와 같은 결정하는 수단은 오류 분포를 결정 (720) 할 수도 있다.
오류 복구는 하나 이상의 인코딩된 멀티미디어 데이터 스트림의 부분에서 수행 (725) 될 수도 있다. 오류 복구는 애플리케이션 계층 프로토콜에 기초할 수도 있다. 애플리케이션 계층 콤포넌트는 오류 복구를 수행할 수도 있다. 애플리케이션 계층 콤포넌트는 전술된 바와 같이, 동기 계층으로부터 수신된 정보에 기초하여 어떤 유형의 오류 복구를 사용할지 결정할 수도 있다. 오류 복구는 전술된 바와 같이, 다른 방법뿐만이 아니라 시간적 오류 은폐, 공간적 오류 은폐 및 프레임 상향 변환 (FRUC) 의 하나 또는 그 조합을 포함할 수도 있다. 하나 이상의 멀티미디어 데이터 스트림에서 검출된 오류를 은폐하는 것은 애플리케이션 계층 프로토콜에 기초할 수도 있다. 오류 복구는 하나 이상의 데이터 스트림의 스케일러빌리티를 지원할 수도 있다. 스케일러빌리티는 전술된 바와 같은 공간적 또는 시간적 스케일러빌리티 중 하나 또는 모두를 포함할 수도 있다. 도 2a 의 오류 복구 콤포넌트 (40) 와 같은 오류 복구 수단은 오류 복구를 수행 (725) 할 수도 있다. 오류 은폐기 (620) 와 같은 오류 은폐 수단은 오류 은폐를 수행할 수도 있다. 스케일러빌리티 콤포넌트 (도 2a 의 42 및 도 6 의 625) 와 같은 스케일러빌리티 수단은 오류 복구를 수행 (725) 하는데 있어서 스케일러빌리티를 지원할 수도 있다.
프로세스 (700) 는 하나 이상의 비트스트림의 재구성 (730) 을 포함할 수도 있다. 재구성 (730) 은 은폐된 데이터와 정확하게 수신된 데이터를 조합하는 것을 포함할 수도 있다. 재구성은 프레임의 오류의 양이 임계치를 초과하는 경우 프레임 레이트 (시간적 스케일러빌리티의 형식) 를 감소시키는 것을 포함할 수도 있다. 재구성은 향상 계층 (SNR 스케일러빌리티의 형식) 을 디코딩 또는 은폐 또는 정정하지 않는 것을 선택하는 것을 포함할 수도 있다. 애플리케이션 계층 프로토콜은 재구성 (730) 을 위한 기저일 수도 있다. 데이터 스트림 재구성기 (630) 과 같은 재구성 수단은 재구성을 수행 (725) 할 수도 있다. 하나 이상의 엘리먼트가 시스템 (600) 에 추가, 재배열 또는 조합될 수도 있다. 하나 이상의 엘리먼트가 프로세스 (700) 에 추가, 재배열 또는 조합될 수도 있다.
상기 설명된 방법 및 장치의 예는 다음을 포함한다.
비트스트림을 수신하고, 수신된 비트스트림의 오류 제어 디코딩을 수행하는 것을 포함하고, 상기 오류 제어 디코딩은 정정되지 않은 오염된 비트를 식별하고, 식별된 오염된 비트를 포함하는 오류 제어 디코딩된 비트스트림을 디코더에 전달하고, 식별된 비트의 하나 이상을 대체하고, 대체된 비트를 포함하여 오류 제어 디코딩된 비트스트림을 디코딩하는 것을 포함하는 멀티미디어 데이터를 디코딩하는 방법이다. 일 측면에서, 이 방법은 하나 이상의 심볼으로 오류 제어 디코딩된 비트스트림을 파싱하고, 오염된 비트를 포함하는 어떤 심볼이 오염된 것으로 식별되도록 오염된 비트를 식별하는 정보를 파싱하는 것을 더 포함한다. 다른 측면에서, 이 방법은 오염된 비트를 식별하는 파싱된 정보를 포함하는 오류 테이블을 구성하는 것을 더 포함하고, 오류 테이블은 식별된 비트를 비디오 프레임의 시퀀스에서의 위치로 맵핑하는 정보를 포함한다. 또 다른 측면에서, 이 방법은 오류 제어 코딩된 비트스트림을 제 1 파싱된 비트스트림 및 제 2 파싱된 비트스트림으로 파싱하는 것을 더 포함하고, 제 1 파싱된 비트스트림은 기저 계층 비트스트림이고 제 2 파싱된 비트스트림은 향상 계층 비트스트림이다.
비트스트림을 수신하고 수신된 비트스트림의 오류 제어 디코딩을 수행하는 것을 포함하고, 상기 오류 제어 디코딩은 정정되지 않은 오염된 비트를 식별하고, 식별된 오염된 비트를 포함하는 오류 제어 디코딩된 비트스트림을 디코더에 전달하고, 제 1 프레임 및 제 2 프레임 사이에서 프레임 상향 변환을 수행함으로써 식별된 비트의 하나 이상을 대체하고, 오류 제어 디코딩된 비트스트림을 디코딩하는 것을 포함하는 멀티미디어 데이터를 디코딩하는 방법이다.
당업자는 다양한 서로 다른 기술 및 기법을 이용하여 정보 및 신호를 표현할 수도 있음을 알 수 있다. 예를 들어, 상기의 설명 전반에 걸쳐 참조될 수도 있는 데이터, 명령, 커맨드 (commands), 정보, 신호, 비트, 심볼, 및 칩은 전압, 전류, 전자기파, 자계 또는 자성 입자, 광계 또는 광자, 또는 입자 또는 이들의 임의의 결합으로 나타낼 수도 있다.
또한, 당업자는 여기에서 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 알고리즘 단계들을 전자 하드웨어, 펌웨어, 컴퓨터 소프트웨어, 미들웨어, 마이크로코드 또는 이들의 결합으로 구현할 수도 있음을 알 수 있다. 하드웨어와 소프트웨어의 이러한 대체 가능성을 분명히 설명하기 위하여, 다양한 예시적인 콤포넌트들, 블록들, 모듈들, 회로들 및 단계들을 주로 그들의 기능의 관점에서 상술하였다. 그러한 기능이 하드웨어로 구현될지 소프트웨어로 구현될지는 전체 시스템에 부과된 특정한 애플리케이션 및 아키텍쳐 제약조건들에 의존한다. 당업자는 설명된 기능을 각각의 특정한 애플리케이션에 대하여 다양한 방식으로 구현할 수도 있지만, 그러한 구현의 결정이 본 발명의 범주를 벗어나도록 하는 것으로 해석하지는 않아야 한다.
여기에서 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 콤포넌트들, 모듈들, 회로들은 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그래머블 게이트 어레이 신호 (FPGA), 또는 기타 프로그래머블 로직 디바이스, 별도의 게이트 또는 트랜지스터 로직, 별도의 하드웨어 콤포넌트들, 또는 여기서 설명된 기능을 수행하도록 설계되는 이들의 임의의 결합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다른 방법으로, 그 프로세서는 임의의 종래 프로세서, 제어기, 마이크로 제어기, 또는 상태 기계일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 결합, 예를 들어, DSP 와 마이크로프로세서의 결합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들 또는 임의의 기타 다른 구성물로 구현될 수도 있다.
여기에 개시된 실시형태들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 ASIC 내에 상주할 수도 있다. ASIC는 무선 모뎀 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 무선 모뎀 내에 개별 콤포넌트로서 상주할 수도 있다.
개시되어 있는 실시형태들에 대한 상기의 설명은 당업자로 하여금 개시된 방법 및 장치를 제조 또는 이용할 수 있도록 제공된다. 이들 예들에 대한 다양한 변형들이 당업자에게 명백히 이해될 것이며, 여기에서 정의된 일반적인 원리들은 다른 예에 적용될 수도 있고 추가적인 엘리먼트가 추가될 수도 있다.
따라서, 지능적인 오류 은폐 및 오염된 데이터의 오류 정정을 수행하도록 비트 오염 플래깅 정보 및 오염된 데이터를 사용하여 디코더 애플리케시션에서 실시간 스트리밍 멀티미디어를 디코딩하는 방법 및 장치가 설명되었다.

Claims (65)

  1. 다중-계층 통합을 이용하여 멀티미디어 데이터에서의 오류를 복구하는 방법으로서,
    제 1 계층의 프로토콜에 기초하여 상기 제 1 계층을 통해 멀티미디어 데이터에서의 오류를 검출하는 단계;
    제 2 계층의 프로토콜에 기초하여 상기 제 2 계층을 통해 상기 검출된 오류의 오류 분포를 결정하는 단계; 및
    제 3 계층의 프로토콜과 상기 결정된 오류 분포에 기초하여 상기 제 3 계층을 통해 상기 멀티미디어 데이터에서의 상기 검출된 오류를 은폐하는 단계를 포함하는, 오류 복구 방법.
  2. 제 1 항에 있어서,
    상기 제 1 계층은 통신 계층을 포함하는, 오류 복구 방법.
  3. 제 2 항에 있어서,
    상기 통신 계층은 물리 계층, MAC 계층 및 수송 계층 중 하나 또는 이들의 조합을 포함하는, 오류 복구 방법.
  4. 제 1 항에 있어서,
    수송 계층의 프로토콜에 기초하여 상기 수송 계층을 통해 상기 검출된 오류를 제어하는 단계를 포함하는, 오류 복구 방법.
  5. 제 4 항에 있어서,
    상기 검출된 오류를 제어하는 단계는 상기 검출된 오류를 로컬라이징하는 (localize) 단계를 포함하는, 오류 복구 방법.
  6. 제 1 항에 있어서,
    상기 제 2 계층은 동기 계층을 포함하고, 상기 오류 분포는 어떤 비트스트림의 어떤 부분에 오류가 있는지를 식별하기 위한 정보를 포함하고, 하나 이상의 오류 은폐와 오류 정정 방식을 상기 제 3 계층에 제공하는, 오류 복구 방법.
  7. 제 1 항에 있어서,
    상기 제 3 계층은 애플리케이션 계층을 포함하는, 오류 복구 방법.
  8. 다중-계층 통합을 이용하여 멀티미디어 데이터에서의 오류를 복구하는 장치로서,
    제 1 계층의 프로토콜에 기초하여 멀티미디어 데이터에서의 오류를 검출하는 수단;
    제 2 계층의 프로토콜에 기초하여 상기 검출된 오류의 오류 분포를 결정하는 수단; 및
    제 3 계층의 프로토콜과 상기 결정된 오류 분포에 기초하여 상기 멀티미디어 데이터에서의 상기 검출된 오류를 은폐하는 수단을 포함하는, 오류 복구 장치.
  9. 제 8 항에 있어서,
    상기 제 1 계층은 통신 계층을 포함하는, 오류 복구 장치.
  10. 제 9 항에 있어서,
    상기 통신 계층은 물리 계층, MAC 계층, 및 수송 계층 중 하나 또는 이들의 조합을 포함하는, 오류 복구 장치.
  11. 제 8 항에 있어서,
    수송 계층의 프로토콜에 기초하여 상기 검출된 오류를 제어하는 수단을 더 포함하는, 오류 복구 장치.
  12. 제 11 항에 있어서,
    상기 제어하는 수단은 상기 검출된 오류를 로컬라이징하는 수단을 더 포함하는, 오류 복구 장치.
  13. 제 8 항에 있어서,
    상기 제 2 계층은 동기 계층을 포함하고, 상기 오류 분포는 어떤 비트스트림의 어떤 부분에 오류가 있는지를 식별하기 위한 정보를 포함하고, 하나 이상의 오류 은폐와 오류 정정 방식을 상기 제 3 계층에 제공하는, 오류 복구 장치.
  14. 제 8 항에 있어서,
    상기 제 3 계층은 애플리케이션 계층을 포함하는, 오류 복구 장치.
  15. 다중-계층 통합을 이용하여 멀티미디어 데이터에서의 오류를 복구하는 장치로서,
    제 1 계층의 프로토콜에 기초하여 멀티미디어 데이터에서의 오류를 상기 제 1 계층에서 검출하는 검출기;
    제 2 계층의 프로토콜에 기초하여 상기 검출된 오류의 오류 분포를 상기 제 2 계층에서 결정하는 오류 분포 결정기; 및
    제 3 계층의 프로토콜과 상기 결정된 오류 분포에 기초하여 상기 멀티미디어 데이터에서의 상기 검출된 오류를 상기 제 3 계층에서 은폐하는 은폐기를 포함하는, 오류 복구 장치.
  16. 제 15 항에 있어서,
    상기 제 1 계층은 통신 계층을 포함하는, 오류 복구 장치.
  17. 제 16 항에 있어서,
    상기 통신 계층은 물리 계층, MAC 계층 및 수송 계층 중 하나 또는 이들의 조합을 포함하는, 오류 복구 장치.
  18. 제 15 항에 있어서,
    수송 계층 프로토콜에 기초하여 상기 검출된 오류를 제어하는 제어기를 더 포함하는, 오류 복구 장치.
  19. 제 18 항에 있어서,
    상기 제어기는 상기 검출된 오류를 로컬라이징하는, 오류 복구 장치.
  20. 제 15 항에 있어서,
    상기 제 2 계층은 동기 계층을 포함하고, 상기 오류 분포는 어떤 비트스트림의 어떤 부분에 오류가 있는지를 식별하기 위한 정보를 포함하고, 하나 이상의 오류 은폐와 오류 정정 방식을 상기 제 3 계층에 제공하는, 오류 복구 장치.
  21. 제 15 항에 있어서,
    상기 제 3 계층은 애플리케이션 계층을 포함하는, 오류 복구 장치.
  22. 다중-계층 통합을 이용하여 멀티미디어 데이터에서의 오류를 복구하는 프로세서로서,
    제 1 계층의 프로토콜에 기초하여 상기 제 1 계층을 통해 멀티미디어 데이터에서의 오류를 검출하고;
    제 2 계층의 프로토콜에 기초하여 상기 제 2 계층을 통해 상기 검출된 오류의 오류 분포를 결정하고;
    제 3 계층의 프로토콜과 상기 결정된 오류 분포에 기초하여 상기 제 3 계층을 통해 상기 멀티미디어 데이터에서의 상기 검출된 오류를 은폐하도록 구성되는, 오류 복구 프로세서.
  23. 제 22 항에 있어서,
    상기 제 1 계층은 통신 계층을 포함하는, 오류 복구 프로세서.
  24. 제 23 항에 있어서,
    상기 통신 계층은 물리 계층, MAC 계층 및 수송 계층 중 하나 또는 이들의 조합을 포함하는, 오류 복구 프로세서.
  25. 제 22 항에 있어서,
    수송 계층의 프로토콜에 기초하여 상기 수송 계층을 통해 상기 검출된 오류를 제어하도록 더 구성되는, 오류 복구 프로세서.
  26. 제 25 항에 있어서,
    상기 제어는 상기 검출된 오류를 로컬라이징하는, 오류 복구 프로세서.
  27. 제 22 항에 있어서,
    상기 제 2 계층은 동기 계층을 포함하고, 상기 오류 분포는 어떤 비트스트림의 어떤 부분에 오류가 있는지를 식별하기 위한 정보를 포함하고, 하나 이상의 오류 은폐와 오류 정정 방식을 상기 제 3 계층에 제공하는, 오류 복구 프로세서.
  28. 제 22 항에 있어서,
    상기 제 3 계층은 애플리케이션 계층을 포함하는, 오류 복구 프로세서.
  29. 다중-계층 통합을 이용하여 멀티미디어 데이터에서의 오류를 복구하는 방법을 포함하는 컴퓨터 판독 가능 매체로서,
    상기 방법은,
    제 1 계층의 프로토콜에 기초하여 상기 제 1 계층을 통해 멀티미디어 데이터에서의 오류를 검출하는 단계;
    제 2 계층의 프로토콜에 기초하여 상기 제 2 계층을 통해 상기 검출된 오류의 오류 분포를 결정하는 단계; 및
    제 3 계층의 프로토콜과 상기 결정된 오류 분포에 기초하여 상기 제 3 계층을 통해 상기 멀티미디어 데이터에서의 상기 검출된 오류를 은폐하는 단계를 포함하는, 컴퓨터 판독 가능 매체.
  30. 제 29 항에 있어서,
    상기 제 1 계층은 통신 계층을 포함하는, 컴퓨터 판독 가능 매체.
  31. 제 30 항에 있어서,
    상기 통신 계층은 물리 계층, MAC 계층 및 수송 계층 중 하나 또는 이들의 조합을 포함하는, 컴퓨터 판독 가능 매체.
  32. 제 29 항에 있어서,
    상기 방법은, 수송 계층의 프로토콜에 기초하여 상기 수송 계층을 통해 상기 검출된 오류를 제어하는 단계를 더 포함하는, 컴퓨터 판독 가능 매체.
  33. 제 32 항에 있어서,
    상기 검출된 오류를 제어하는 단계는 상기 검출된 오류를 로컬라이징하는 단계를 포함하는, 컴퓨터 판독 가능 매체.
  34. 제 29 항에 있어서,
    상기 제 2 계층은 동기 계층을 포함하고, 상기 오류 분포는 어떤 비트스트림의 어떤 부분에 오류가 있는지를 식별하기 위한 정보를 포함하고, 하나 이상의 오류 은폐와 오류 정정 방식을 상기 제 3 계층에 제공하는, 컴퓨터 판독 가능 매체.
  35. 제 29 항에 있어서,
    상기 제 3 계층은 애플리케이션 계층을 포함하는, 컴퓨터 판독 가능 매체.
  36. 제 1 항에 있어서,
    상기 제 1 계층은 통신 및 수송 계층을 포함하고,
    상기 제 2 계층은 동기 계층을 포함하고,
    상기 제 3 계층은 애플리케이션 계층을 포함하며,
    상기 방법은,
    상기 수송 계층의 프로토콜에 기초하여 상기 수송 계층을 통해 상기 검출된 오류를 제어하는 단계를 더 포함하는, 오류 복구 방법.
  37. 제 8 항에 있어서,
    상기 제 1 계층은 통신 및 수송 계층을 포함하고,
    상기 제 2 계층은 동기 계층을 포함하고,
    상기 제 3 계층은 애플리케이션 계층을 포함하며,
    상기 장치는,
    상기 수송 계층의 프로토콜에 기초하여 상기 수송 계층을 통해 상기 검출된 오류를 제어하는 수단을 더 포함하는, 오류 복구 장치.
  38. 제 15 항에 있어서,
    상기 제 1 계층은 통신 및 수송 계층을 포함하고,
    상기 제 2 계층은 동기 계층을 포함하고,
    상기 제 3 계층은 애플리케이션 계층을 포함하며,
    상기 장치는,
    상기 수송 계층의 프로토콜에 기초하여 상기 수송 계층에서 상기 검출된 오류를 제어하는 제어기를 더 포함하는, 오류 복구 장치.
  39. 제 22 항에 있어서,
    상기 제 1 계층은 통신 및 수송 계층을 포함하고,
    상기 제 2 계층은 동기 계층을 포함하고,
    상기 제 3 계층은 애플리케이션 계층을 포함하며,
    상기 프로세서는,
    상기 수송 계층의 프로토콜에 기초하여 상기 검출된 오류를 제어하도록 더 구성되는, 오류 복구 프로세서.
  40. 제 29 항에 있어서,
    상기 제 1 계층은 통신 및 수송 계층을 포함하고,
    상기 제 2 계층은 동기 계층을 포함하고,
    상기 제 3 계층은 애플리케이션 계층을 포함하며,
    상기 컴퓨터 판독 가능 매체는,
    상기 수송 계층의 프로토콜에 기초하여 상기 검출된 오류를 제어하도록 하는 명령을 더 포함하는, 컴퓨터 판독 가능 매체.
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
KR1020077023199A 2005-03-10 2006-03-10 멀티미디어 스트리밍에서 최적화된 오류 관리를 위한디코더 아키텍쳐 KR100941336B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US66086705P 2005-03-10 2005-03-10
US66068105P 2005-03-10 2005-03-10
US66092305P 2005-03-10 2005-03-10
US60/660,923 2005-03-10
US60/660,681 2005-03-10
US60/660,867 2005-03-10

Publications (2)

Publication Number Publication Date
KR20070119675A KR20070119675A (ko) 2007-12-20
KR100941336B1 true KR100941336B1 (ko) 2010-02-11

Family

ID=36910929

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077023199A KR100941336B1 (ko) 2005-03-10 2006-03-10 멀티미디어 스트리밍에서 최적화된 오류 관리를 위한디코더 아키텍쳐

Country Status (16)

Country Link
US (1) US7886201B2 (ko)
EP (3) EP1869896B1 (ko)
JP (3) JP4741649B2 (ko)
KR (1) KR100941336B1 (ko)
CN (1) CN101790098B (ko)
AT (1) ATE456256T1 (ko)
AU (1) AU2006223287C1 (ko)
BR (1) BRPI0607627A2 (ko)
CA (1) CA2600776C (ko)
DE (1) DE602006011865D1 (ko)
ES (1) ES2336824T3 (ko)
IL (1) IL185824A0 (ko)
MX (1) MX2007011093A (ko)
NO (1) NO20075128L (ko)
TW (1) TWI424750B (ko)
WO (1) WO2006099223A2 (ko)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003250800A1 (en) * 2002-08-02 2004-03-03 Siemens Aktiengesellschaft Evaluation of received useful information by the detection of error concealment
US7610190B2 (en) * 2003-10-15 2009-10-27 Fuji Xerox Co., Ltd. Systems and methods for hybrid text summarization
US8780957B2 (en) 2005-01-14 2014-07-15 Qualcomm Incorporated Optimal weights for MMSE space-time equalizer of multicode CDMA system
US8359513B2 (en) * 2005-01-19 2013-01-22 Intel Corporation Data communications methods and apparatus
US8693540B2 (en) * 2005-03-10 2014-04-08 Qualcomm Incorporated Method and apparatus of temporal error concealment for P-frame
MX2007011084A (es) 2005-03-10 2007-11-15 Qualcomm Inc Clasificacion de contenido para procesamiento multimedia.
US7925955B2 (en) * 2005-03-10 2011-04-12 Qualcomm Incorporated Transmit driver in communication system
KR101012624B1 (ko) 2005-05-11 2011-02-09 퀄컴 인코포레이티드 통합 에러 은폐 프레임워크를 위한 방법 및 장치
US8948309B2 (en) * 2005-07-26 2015-02-03 Broadcom Corporation Method and system for redundancy-based decoding of video content in a wireless system
US9113147B2 (en) 2005-09-27 2015-08-18 Qualcomm Incorporated Scalability techniques based on content information
KR20070038396A (ko) * 2005-10-05 2007-04-10 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
US8654848B2 (en) 2005-10-17 2014-02-18 Qualcomm Incorporated Method and apparatus for shot detection in video streaming
US8948260B2 (en) 2005-10-17 2015-02-03 Qualcomm Incorporated Adaptive GOP structure in video streaming
CA2633819C (en) 2005-12-08 2016-12-06 Vidyo, Inc. Systems and methods for error resilience and random access in video communication systems
EP1827023A1 (en) * 2006-02-27 2007-08-29 THOMSON Licensing Method and apparatus for packet loss detection and virtual packet generation at SVC decoders
US20070209057A1 (en) * 2006-03-01 2007-09-06 Broadband Wizard Inc. Wireless delivery of broadband cable signals
US8189686B2 (en) * 2006-03-03 2012-05-29 David John Boyes Systems and methods for visualizing errors in video signals
US8693538B2 (en) 2006-03-03 2014-04-08 Vidyo, Inc. System and method for providing error resilience, random access and rate control in scalable video communications
FR2898459B1 (fr) * 2006-03-08 2008-09-05 Canon Kk Procede et dispositif de reception d'images ayant subi des pertes en cours de transmission
US9131164B2 (en) 2006-04-04 2015-09-08 Qualcomm Incorporated Preprocessor method and apparatus
US8462856B2 (en) * 2007-01-09 2013-06-11 Vidyo, Inc. Systems and methods for error resilience in video communication systems
JP2008187694A (ja) * 2007-01-31 2008-08-14 Matsushita Electric Ind Co Ltd 画像符号化装置およびその方法
US8239731B1 (en) * 2007-07-06 2012-08-07 Marvell International Ltd. Methods and apparatus for providing multilevel coset coding and probabilistic error correction
WO2009023789A1 (en) * 2007-08-15 2009-02-19 Maxlinear, Inc. Method and apparatus for preserving deinterleaving erasure information of block interleaved coded signal
US8332736B2 (en) * 2007-11-29 2012-12-11 Texas Instruments Incorporated Decoder with resiliency to handle errors in a received data stream
EP2071851B1 (en) * 2007-12-11 2011-09-28 Alcatel Lucent Process for delivering a video stream over a wireless channel
EP2071852A1 (en) 2007-12-11 2009-06-17 Alcatel Lucent Process for delivering a video stream over a wireless bidirectional channel between a video encoder and a video decoder
US9078024B2 (en) * 2007-12-18 2015-07-07 Broadcom Corporation Video processing system with user customized graphics for use with layered video coding and methods for use therewith
US8130823B2 (en) 2007-12-19 2012-03-06 Broadcom Corporation Channel adaptive video transmission system for use with layered video coding and methods for use therewith
US9143731B2 (en) * 2008-01-02 2015-09-22 Broadcom Corporation Mobile video device for use with layered video coding and methods for use therewith
US8594191B2 (en) 2008-01-03 2013-11-26 Broadcom Corporation Video processing system and transcoder for use with layered video coding and methods for use therewith
US8144781B2 (en) 2008-01-04 2012-03-27 Broadcom Corporation Video processing system for scrambling layered video streams and methods for use therewith
US8179983B2 (en) * 2008-05-20 2012-05-15 Broadcom Corporation Video processing system with layered video coding for fast channel change and methods for use therewith
US8898448B2 (en) * 2008-06-19 2014-11-25 Qualcomm Incorporated Hardware acceleration for WWAN technologies
EP2150022A1 (en) * 2008-07-28 2010-02-03 THOMSON Licensing Data stream comprising RTP packets, and method and device for encoding/decoding such data stream
KR101003922B1 (ko) * 2008-08-04 2010-12-30 인하대학교 산학협력단 멀티미디어 서비스를 제공하기 위한 스케쥴링 방법
KR101479011B1 (ko) * 2008-12-17 2015-01-13 삼성전자주식회사 다중 대역 스케쥴링 방법 및 이를 이용한 방송 서비스 시스템
US9900150B2 (en) * 2009-10-30 2018-02-20 International Business Machines Corporation Dispersed storage camera device and method of operation
DE102010002777B4 (de) 2010-03-11 2016-01-21 Universität Kassel Halbzeug für einen Solarkollektor, Solarkollektor und Verfahren zur Herstellung
US8934530B2 (en) 2011-02-01 2015-01-13 Vidyo, Inc. Spatial scalability using redundant pictures and slice groups
US8953478B2 (en) * 2012-01-27 2015-02-10 Intel Corporation Evolved node B and method for coherent coordinated multipoint transmission with per CSI-RS feedback
US9232218B2 (en) * 2012-03-01 2016-01-05 Connesta System and method for data insertion in video stream
US9203757B2 (en) * 2012-03-22 2015-12-01 Texas Instruments Incorporated Network throughput using multiple reed-solomon blocks
US9241166B2 (en) * 2012-06-11 2016-01-19 Qualcomm Incorporated Technique for adapting device tasks based on the available device resources
US9363017B2 (en) * 2012-07-06 2016-06-07 Qualcomm Incorporated Methods and systems of specifying coaxial resource allocation across a MAC/PHY interface
CA2886688C (en) 2012-09-28 2020-01-07 Telefonaktiebolaget Lm Ericsson (Publ) Decoding and encoding of pictures of a video sequence
US9386326B2 (en) * 2012-10-05 2016-07-05 Nvidia Corporation Video decoding error concealment techniques
US10015486B2 (en) * 2012-10-26 2018-07-03 Intel Corporation Enhanced video decoding with application layer forward error correction
TWI486913B (zh) 2013-06-14 2015-06-01 Vivotek Inc 具網路與錄影功能之安全監控裝置及儲存裝置的偵錯及修復方法
US9756356B2 (en) * 2013-06-24 2017-09-05 Dialogic Corporation Application-assisted spatio-temporal error concealment for RTP video
US9648351B2 (en) * 2013-10-24 2017-05-09 Dolby Laboratories Licensing Corporation Error control in multi-stream EDR video codec
US10028002B2 (en) * 2013-12-16 2018-07-17 Samsung Electronics Co., Ltd. Server device for sharing contents, client device, and method for sharing contents
JP2015149564A (ja) * 2014-02-05 2015-08-20 トヨタ自動車株式会社 車載通信システム
JP6501127B2 (ja) * 2014-06-30 2019-04-17 ソニー株式会社 情報処理装置および方法
US10313749B2 (en) * 2015-01-15 2019-06-04 Electronics And Telecommunications Research Institute Apparatus for broadcasting scalable video contents and method using the same
US9652350B2 (en) 2015-01-22 2017-05-16 International Business Machines Corporation Evaluation of complex SAN environments
EP3076594B1 (en) * 2015-03-31 2020-09-23 Alcatel Lucent Network analyser and method for remote diagnosis of network problems
KR102126511B1 (ko) * 2015-09-02 2020-07-08 삼성전자주식회사 보충 정보를 이용한 영상 프레임의 보간 방법 및 장치
US10841621B2 (en) * 2017-03-01 2020-11-17 Wyse Technology L.L.C. Fault recovery of video bitstream in remote sessions
US20220165282A1 (en) * 2019-03-25 2022-05-26 Razer (Asia-Pacific) Pte. Ltd. Method and apparatus for using incremental search sequence in audio error concealment
US11917206B2 (en) 2021-12-17 2024-02-27 Lenovo (Singapore) Pte. Ltd. Video codec aware radio access network configuration and unequal error protection coding
US11824653B2 (en) * 2021-12-17 2023-11-21 Lenovo (Singapore) Pte. Ltd. Radio access network configuration for video approximate semantic communications
US11756502B2 (en) * 2022-02-11 2023-09-12 Dell Products, L.P. System and method for providing fast response time performance with low latency in liquid crystal displays

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030058472A (ko) * 2001-12-31 2003-07-07 트라이콤텍 주식회사 단거리 전용 고속 무선 통신 기반의 차량 탑재 장치
KR20040076428A (ko) * 2003-02-25 2004-09-01 엘지전자 주식회사 임시적 범위성 영상 코딩 장치 및 방법

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4301466A (en) * 1980-02-01 1981-11-17 Ampex Corporation Fast acting phase shifting apparatus for use in digital sampling systems
JPS622747A (ja) 1985-06-28 1987-01-08 Toshiba Corp 受信制御方式
US5504732A (en) * 1990-08-15 1996-04-02 Del Mar Avionics Null inflection detection and pulse expand latch in an optical recording system
US5241546A (en) * 1991-02-01 1993-08-31 Quantum Corporation On-the-fly error correction with embedded digital controller
JP3213389B2 (ja) 1992-07-24 2001-10-02 ローム株式会社 時分割多重通信装置
US5878217A (en) * 1994-11-21 1999-03-02 Cirrus Logic, Inc. Network controller for switching into DMA mode based on anticipated memory overflow and out of DMA mode when the host processor is available
GB9509831D0 (en) * 1995-05-15 1995-07-05 Gerzon Michael A Lossless coding method for waveform data
US5633870A (en) 1995-07-07 1997-05-27 Sun Microsystems, Inc. Method and apparatus for controlling data flow through an ATM interface
JP3297293B2 (ja) 1996-03-07 2002-07-02 三菱電機株式会社 動画像復号方法および動画像復号装置
US6026506A (en) * 1997-09-26 2000-02-15 International Business Machines Corporation Concealing errors in transport stream data
US6335985B1 (en) * 1998-01-07 2002-01-01 Kabushiki Kaisha Toshiba Object extraction apparatus
CN1121101C (zh) 1998-03-31 2003-09-10 三星电子株式会社 根据业务质量处理帧数据的快速编码/解码装置和方法
KR100377939B1 (ko) * 1998-09-01 2003-06-12 삼성전자주식회사 이동통신시스템에서서브프레임전송을위한프레임구성장치및방법
US6490705B1 (en) * 1998-10-22 2002-12-03 Lucent Technologies Inc. Method and apparatus for receiving MPEG video over the internet
US6192080B1 (en) * 1998-12-04 2001-02-20 Mitsubishi Electric Research Laboratories, Inc. Motion compensated digital video signal processing
US6553540B1 (en) * 1998-12-07 2003-04-22 Telefonaktiebolaget Lm Ericsson Efficient system and method for forward error correction
US20020063807A1 (en) * 1999-04-19 2002-05-30 Neal Margulis Method for Performing Image Transforms in a Digital Display System
JP3411234B2 (ja) * 1999-04-26 2003-05-26 沖電気工業株式会社 符号化情報受信復号装置
JP4269409B2 (ja) * 1999-05-19 2009-05-27 ソニー株式会社 受信装置および方法
US6662329B1 (en) * 2000-03-23 2003-12-09 International Business Machines Corporation Processing errors in MPEG data as it is sent to a fixed storage device
KR100833222B1 (ko) 2000-03-29 2008-05-28 삼성전자주식회사 멀티미디어 송수신 장치 및 방법
FI120125B (fi) * 2000-08-21 2009-06-30 Nokia Corp Kuvankoodaus
US6804494B2 (en) * 2001-06-11 2004-10-12 Qualcomm Inc. System and method for the detection and compensation of radio signal time of arrival errors
DE60135036D1 (de) 2001-10-05 2008-09-04 Mitsubishi Electric Corp Verfahren und Vorrichtung zur Kompensation von fehlerhaften Bewegungsvektoren in Bilddaten
JP2004007379A (ja) * 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
EP1337065A1 (en) * 2002-02-13 2003-08-20 Telefonaktiebolaget L M Ericsson (Publ) Semi-reliable ARQ method and device thereof
GB2386275B (en) * 2002-03-05 2004-03-17 Motorola Inc Scalable video transmissions
KR100984662B1 (ko) * 2002-03-08 2010-10-01 프랑스 텔레콤 종속 데이터 플로우 전송을 위한 방법
JP4185314B2 (ja) * 2002-06-07 2008-11-26 富士通株式会社 情報記録再生装置、光ディスク装置及び、データ再生方法
US20060093031A1 (en) * 2002-07-31 2006-05-04 Koninkijke Phillips Electronics N.V. Method and apparatus for performing multiple description motion compensation using hybrid predictive codes
JP3513148B1 (ja) * 2002-10-11 2004-03-31 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、及び動画像復号プログラム
EP1588505B1 (en) 2003-01-07 2013-02-20 Samsung Electronics Co., Ltd. Apparatus and method for controlling an output buffer in a hybrid automatic repeat request(harq) mobile communication system
JP4186705B2 (ja) * 2003-05-21 2008-11-26 日本電気株式会社 デジタル放送の補完視聴サービスサーバ、携帯受信機、及びデジタル放送補完視聴サービス方式
KR100621093B1 (ko) 2003-06-03 2006-09-07 삼성전자주식회사 무선 pan상의 어플리케이션에 채널 시간을 할당하는장치 및 방법
US7450610B2 (en) * 2003-06-03 2008-11-11 Samsung Electronics Co., Ltd. Apparatus and method for allocating channel time to applications in wireless PAN
US7221680B2 (en) 2003-09-02 2007-05-22 Qualcomm Incorporated Multiplexing and transmission of multiple data streams in a wireless multi-carrier communication system
US8599764B2 (en) * 2003-09-02 2013-12-03 Qualcomm Incorporated Transmission of overhead information for reception of multiple data streams
US8526412B2 (en) * 2003-10-24 2013-09-03 Qualcomm Incorporated Frequency division multiplexing of multiple data streams in a wireless multi-carrier communication system
US8582640B2 (en) * 2003-12-16 2013-11-12 Sony Corporation Adaptive joint source channel coding
US7882421B2 (en) * 2004-05-06 2011-02-01 Seyfullah Halit Oguz Method and apparatus for joint source-channel map decoding
US7197692B2 (en) * 2004-06-18 2007-03-27 Qualcomm Incorporated Robust erasure detection and erasure-rate-based closed loop power control
KR20050120491A (ko) * 2004-06-19 2005-12-22 삼성전자주식회사 멀티미디어 방송 시스템에서의 전송 에러 처리방법 및장치
JP2008507211A (ja) * 2004-07-15 2008-03-06 クゥアルコム・インコーポレイテッド イントラ予測方向に基づくh.264空間的誤り隠蔽
MX2007011084A (es) * 2005-03-10 2007-11-15 Qualcomm Inc Clasificacion de contenido para procesamiento multimedia.
US7653860B2 (en) * 2005-03-10 2010-01-26 Qualcomm Incorporated Transmit driver data communication
US7925955B2 (en) * 2005-03-10 2011-04-12 Qualcomm Incorporated Transmit driver in communication system
US7929776B2 (en) * 2005-03-10 2011-04-19 Qualcomm, Incorporated Method and apparatus for error recovery using intra-slice resynchronization points
US8693540B2 (en) * 2005-03-10 2014-04-08 Qualcomm Incorporated Method and apparatus of temporal error concealment for P-frame
US7995656B2 (en) * 2005-03-10 2011-08-09 Qualcomm Incorporated Scalable video coding with two layer encoding and single layer decoding
US8165167B2 (en) * 2005-03-10 2012-04-24 Qualcomm Incorporated Time tracking for a communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030058472A (ko) * 2001-12-31 2003-07-07 트라이콤텍 주식회사 단거리 전용 고속 무선 통신 기반의 차량 탑재 장치
KR20040076428A (ko) * 2003-02-25 2004-09-01 엘지전자 주식회사 임시적 범위성 영상 코딩 장치 및 방법

Also Published As

Publication number Publication date
WO2006099223A3 (en) 2007-05-31
AU2006223287A1 (en) 2006-09-21
JP2008537654A (ja) 2008-09-18
CN101790098A (zh) 2010-07-28
EP2268042A3 (en) 2011-08-10
NO20075128L (no) 2007-10-09
JP2011019246A (ja) 2011-01-27
WO2006099223A2 (en) 2006-09-21
TWI424750B (zh) 2014-01-21
KR20070119675A (ko) 2007-12-20
EP1869896B1 (en) 2010-01-20
US7886201B2 (en) 2011-02-08
JP5738929B2 (ja) 2015-06-24
ATE456256T1 (de) 2010-02-15
CA2600776A1 (en) 2006-09-21
TW200704206A (en) 2007-01-16
ES2336824T3 (es) 2010-04-16
BRPI0607627A2 (pt) 2009-09-22
CA2600776C (en) 2012-07-17
EP2019554A2 (en) 2009-01-28
IL185824A0 (en) 2008-01-06
EP2019554A3 (en) 2009-03-11
EP2268042A2 (en) 2010-12-29
AU2006223287C1 (en) 2010-10-21
MX2007011093A (es) 2007-12-04
JP4741649B2 (ja) 2011-08-03
AU2006223287B2 (en) 2010-05-20
JP2013243699A (ja) 2013-12-05
EP2268042B1 (en) 2014-07-02
EP1869896A2 (en) 2007-12-26
US20060282737A1 (en) 2006-12-14
CN101790098B (zh) 2016-01-20
DE602006011865D1 (de) 2010-03-11

Similar Documents

Publication Publication Date Title
KR100941336B1 (ko) 멀티미디어 스트리밍에서 최적화된 오류 관리를 위한디코더 아키텍쳐
KR100998454B1 (ko) 인 밴드 에러 패턴을 사용한 에러 복원
US8976858B2 (en) Error resilience using out of band directory information
US6490705B1 (en) Method and apparatus for receiving MPEG video over the internet
US6317462B1 (en) Method and apparatus for transmitting MPEG video over the internet
JP6104044B2 (ja) 映像データ伝送装置及び映像データ伝送方法
RU2374787C2 (ru) Структура декодера для оптимизированного управления обработкой ошибок в потоковой передаче мультимедийных данных
CN101176353B (zh) 用于流式多媒体中优化错误管理的解码器架构

Legal Events

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

Payment date: 20130130

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140129

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150129

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee