KR20080025370A - 대역외 디렉토리 정보를 이용한 에러 복원의 개선 - Google Patents

대역외 디렉토리 정보를 이용한 에러 복원의 개선 Download PDF

Info

Publication number
KR20080025370A
KR20080025370A KR1020077029204A KR20077029204A KR20080025370A KR 20080025370 A KR20080025370 A KR 20080025370A KR 1020077029204 A KR1020077029204 A KR 1020077029204A KR 20077029204 A KR20077029204 A KR 20077029204A KR 20080025370 A KR20080025370 A KR 20080025370A
Authority
KR
South Korea
Prior art keywords
packet
multimedia data
directory
packets
data stream
Prior art date
Application number
KR1020077029204A
Other languages
English (en)
Other versions
KR100926017B1 (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 KR20080025370A publication Critical patent/KR20080025370A/ko
Application granted granted Critical
Publication of KR100926017B1 publication Critical patent/KR100926017B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

멀티미디어 비트스트림을 프로세싱함에 있어서 에러 복원을 개선하기 위한 방법 및 장치를 설명한다. 헤더 정보의 디렉토리는 멀티미디어 비트스트림에 대해 생성된다. 디렉토리 정보는 멀티미디어 비트스트림과 연관된 패킷 헤더 정보를 포함한다. 디렉토리 정보는 멀티미디어 비트스트림과 함께 수신기로 송신될 수도 있다. 멀티미디어 비트스트림 및 디렉토리의 수신기는 헤더 정보를 이용하여, 수신된 비트스트림에서 에러 있는 데이터 내의 패킷 및 이에 후속하는 패킷을 식별 및 위치시킨다. 폐기될 수도 있는 패킷을 식별 및 위치시킴으로써, 수신기는 에러 복구 및 멀티미디어 데이터의 디코딩을 개선할 수 있다.
멀티미디어 비트스트림, 헤더 정보, 디렉토리, 패킷

Description

대역외 디렉토리 정보를 이용한 에러 복원의 개선{IMPROVING ERROR RESILIENCE USING OUT OF BAND DIRECTORY INFORMATION}
관련 출원에 관한 교차 참조
본 특허출원은 2006년 4월 4일에 출원되고 본 발명의 양수인에게 양도된, 발명의 명칭이 "Improving Error Resilience Using Out of Band Directory Information"인 가출원 번호 제 60/789,454호, 및 2005년 5월 13일에 출원되고 본 발명의 양수인에게 양도된, 발명의 명칭이 "Methods and Apparatus for Improving Packet Error Resiliency Using Out-Of-Band Directory Information"인 가출원 번호 제 60/680,809호를 우선권 주장하며, 모두 여기에 참조로서 포함된다.
본 발명의 배경기술
본 발명의 기술분야
본 발명은 에러 관리 방식으로 디지털 데이터를 인코딩 및 디코딩하기 위한 방법 및 장치에 관한 것이다.
관련 기술의 설명
멀티미디어 서비스에 대한 요구의 증가뿐만 아니라, 인터넷과 무선 통신의 폭발적인 성장 및 엄청난 성공으로 인해, 인터넷 및 모바일/무선 채널을 통한 스트리밍 미디어가 크게 주목 끌고 있다. 헤테로지니어스 인터넷 프로토콜 (IP) 네트워크에 있어서, 비디오는 서버에 의해 제공되고, 하나 이상의 클라이언트에 의해 스트리밍될 수 있다. 유선 접속은 다이얼-업, 통합 서비스 디지털 네트워크 (ISDN), 케이블, 디지털 가입자 회선 프로토콜 (총칭하여 xDSL로 부름), 파이버 (fiber), 로컬 영역 네트워크 (LAN), 광역 네트워크 (WAN) 및 다른 것을 포함한다. 송신 모드는 유니-캐스트 또는 멀티-캐스트 중 어떤 것일 수 있다.
모바일/무선 통신은 헤테로지니어스 IP 네트워크와 유사하다. 모바일/무선 채널을 통한 멀티미디어 컨텐츠의 전송은 이들 채널이 멀티-경로 페이딩, 섀도잉, 인터-심볼 간섭, 및 소음으로 인해 종종 심하게 손상되기 때문에 매우 도전적이다. 이동성 및 경쟁하는 트래픽과 같은 몇몇 다른 이유도 대역폭 변화 및 손실을 야기한다. 채널 노이즈 및 서빙되는 사용자의 수는 채널 환경의 시변 (time-varying) 특성을 결정한다.
헤테로지니어스 IP 네트워크 및 모바일 통신 시스템 둘 다에 있어서 더 높은 데이터 레이트 및 더 높은 서비스 품질에 대한 요구는 급속도로 커지고 있다. 그러나, 제한된 지연 시간, 제한된 송신력, 제한된 대역폭 및 멀티-경로 페이딩과 같은 요소는 실제 시스템에 의해 취급되는 데이터 레이트를 계속 제한한다. 멀티미디어 통신에 있어서, 특히 에러가 발생하기 쉬운 환경에 있어서, 송신된 미디어의 에러 복원은, 단일 디코딩된 값에서의 에러가 시공간으로 전파되는 아티팩트를 디코딩되게 할 수 있기 때문에, 원하는 서비스 품질을 제공하는데 있어서 중요하다. 다양한 인코딩 조치가 필요한 데이터 레이트를 유지하면서 에러를 감소시키는데 사용되었지만, 이들 기술 모두는 디코더 측에 도달한 에러 문제를 겪는다.
소스 인코더의 사용을 통해, 데이터가 압축된다 - 최소수의 비트를 소비함으로써 최대 정보를 전달한 후, 이들 비트를 수신시에 소정의 에러 가능성에 대해 송신 채널의 용량을 최대화하는 경향이 있는 채널 인코더가 따른다.
채널 코딩, 예를 들어, 리드-솔로몬 코딩 (Reed-Solomon coding) 은 소스-코딩된 데이터의 안정성 (robustness) 을 개선하는데 이용된다. 조인트 소스-채널 코딩 방법론은 변경되는 레벨의 중요성을 갖는 소스 코딩된 데이터에 변경되는 레벨의 에러 보호를 제공하고, 구획 및 드롭핑 패킷을 통해 이용가능한 네트워크 대역폭으로 코딩된 비디오 데이터의 레이트 적용을 가능하게 한다. 이는 공통 전송 프로토콜이 소스 디코더로 오류 있는 데이터를 전달하지 않기 때문이다.
(예를 들어, 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 의 인코더 디바이스 (105) 및 디코더 디바이스 (110) 에서 태스크를 분리하는데 이용되는 다중층 프로토콜 스택의 실시예의 블록 다이어그램이다.
도 3 은 스트리밍 멀티미디어 데이터를 프로세싱하기 위한 방법의 실시예를 도시하는 플로우 다이어그램이다.
도 4 는 다중층 패킷화 방식의 실시예를 도시한다.
도 5 는 스트리밍 멀티미디어 데이터를 프로세싱하기 위한 방법의 실시예를 도시한 플로우 다이어그램이다.
도 6 은 멀티미디어 데이터를 프로세싱하기 위한 장치의 실시예를 도시한 블록 다이어그램을 도시한다.
도 7 은 멀티미디어 데이터를 프로세싱하기 위한 장치의 또 다른 실시예를 도시한 블록 다이어그램을 도시한다.
바람직한 실시형태의 상세한 설명
멀티미디어 데이터 스트림을 디코딩하는데 있어서 패킷 에러 복원을 개선하기 위한 방법 및 장치를 설명한다. 인코더 디바이스는 멀티미디어 데이터 스트림의 하나 이상의 층 (예를 들어, 전송층 및/또는 동기층) 에 포함된 다양한 패킷과 연관된 헤더 정보를 식별할 수도 있다. 헤더 정보는 패킷 사이즈, 패킷 수, 패킷 내의 또 다른 헤더의 위치, 데이터 시퀀스 시간, 데이터 시퀀스 기간, 프레임 시간, 프레임 수, 랜덤 액세스 포인트 플래그 (random access point flag), 프레인 레이트 또는 패킷 그룹에서 연관된 패킷의 수를 포함할 수도 있다. 헤더 정보의 디렉토리가 생성되어, 데이터 스트림 내의 오리지널 헤더 정보의 일부가 송신 중에 분실되거나 실수로 수신된 경우에 이용될 디코더로 송신된다. 몇몇 양태에 있어서, 헤더 정보를 포함한 디렉토리는 오리지널 헤더가 포함된 데이터 패킷이 송신되는 통신 링크 이외의 채널과 같은 통신 링크를 통해 송신된다. 따라서, 디렉토리를 수신하는 디코더는 수신된 멀티미디어 데이터 스트림에 데이터 패킷을 위치시키기 위해 헤더 정보를 이용할 수도 있다. 에러 있는 패킷이 디코더에 의해 수신되는 경우에, 디코더는 분실되었을 데이터의 복구를 용이하게 하기 위해 디렉토리 헤더 정보를 이용할 수도 있다. 다음의 설명에 있어서, 실시형태의 완전한 이해를 제공하기 위해 상세한 설명이 주어진다. 그러나, 당업자는 이들 상세한 설명 없이도 실시형태를 실시할 수 있다는 것을 이해할 것이다. 예를 들어, 불필요하게 상세한 실시형태를 불명료하게 하지 않기 위해 전기 컴포넌트가 블록 다이어그램에 도시될 수도 있다. 다른 예에서, 이러한 컴포넌트, 다른 구조 및 기술은 실시형태를 더 설명하기 위해 상세히 나타낼 수도 있다. 또한, 당업자는 개별 블록으로서 도시된 전기 컴포넌트가 재배열되고/재배열되거나 하나의 컴포넌트로 결합될 수 있다는 것을 이해한다.
또한, 플로우차트, 플로우 다이어그램, 구조 다이어그램, 또는 블록 다이어그램으로서 도시된 프로세스로서 일부 실시형태를 설명할 수도 있다. 플로우차트가 순차적인 프로세스로서 동작을 설명할 수도 있지만, 동작 중 많은 것이 병행하여 또는 동시에 수행될 수 있고 프로세스는 반복될 수 있다. 또한, 동작의 순서는 재배열될 수도 있다. 프로세스는 동작이 완료되는 경우에 종결된다. 프로세스는 방법, 기능, 절차, 서브루틴, 서브프로그램 등에 대응할 수도 있다. 프로세스가 기능에 대응하는 경우, 그 종결은 기능의 소집 기능 또는 주 기능으로의 복귀에 대응한다.
도 1 은 스트리밍 비디오의 배급용 통신 시스템의 실시예를 도시한다. 시스템 (100) 은 인코더 디바이스 (105) 및 디코더 디바이스 (110) 를 포함한다. 인코더 디바이스 (105) 및 디코더 디바이스 (110) 와 같은 통신 디바이스는 분류 태스크에 이용되는 다중층 프로토콜 스택을 이용할 수도 있다. 인코더 디바이스 (105) 및 디코더 디바이스 (110) 의 상위층 컴포넌트는, 예를 들어, 비디오 또는 오디오 인코더 및/또는 디코더와 같은 다수의 애플리케이션을 포함할 수도 있다. 몇몇 실시형태는 동시에 디코딩되기로 되어 있는, 정보의 다중 스트림을 포함할 수도 있다. 이들 경우에 있어서, 다중 스트림의 동기화 태스크는 또한 상위층 컴포넌트에서 수행될 수도 있다. 인코더 디바이스 (105) 에 있어서, 상위층 컴포넌트는 무선 네트워크 및/또는 유선 네트워크 (150) 를 통해 송신되는 비트스트림에서의 인코딩된 타이밍 정보를 제공할 수도 있다. 디코더 디바이스 (110) 에 있어서, 상위층 컴포넌트는 연관된 애플리케이션이 대체로 동일한 시간에 디코딩하도록 정보의 다중 스트림을 파싱할 수도 있다.
인코더 디바이스 (110) 의 하위층 컴포넌트는 에러 복원에 제공하기 위한 다양한 방식을 포함할 수도 있다. 유선 및/또는 무선 네트워크 (150) 와 같은 에러가 발생하기 쉬운 채널은 디코더 디바이스 (110) 에 의해 수신된 비트스트림으로 에러를 도입할 수도 있다. 하위층 컴포넌트에서 제공된 이러한 에러 복원 방식은 하나 이상의 에러 제어 코딩 방식, 인터리빙 방식, 및 당업계에 알려진 다른 방식을 포함할 수도 있다. 디코더 디바이스 (110) 의 하위층 컴포넌트는 에러의 검출 및 정정을 허용하는 대응하는 에러 디코딩 컴포넌트를 포함할 수도 있다. 유선 및/또는 무선 네트워크 (150) 를 통해 도입된 몇몇 에러는 디코더 디바이스 (110) 의 하위층 컴포넌트에 의해 정정할 수 없을 수도 있다. 정정할 수 없는 에러의 경우, 인코더 디바이스 (105) 의 하위층 컴포넌트에 의해 오류가 있는 컴포 넌트의 재송신을 요청하는 것과 같은 해결책은 어떤 경우에는 실행가능하지 않을 수도 있다.
도 2 는 인코더 디바이스 (105) 및 디코더 디바이스 (110) 에서 태스크를 분리하는데 이용되는 다중층 프로토콜 스택의 실시예의 블록 다이어그램이다. 인코더 디바이스 (105) 의 상위층 컴포넌트는 애플리케이션층 (206) 과 동기층 (207) 중 하나 이상에서 분류된다. 인코더 디바이스 (105) 의 하위층 컴포넌트는 전송층 (216), 스트림 및/또는 매체 액세스 제어 (MAC) 층 (217), 및 물리층 (218) 중 하나 이상으로 분류된다. 유사하게, 디코더 디바이스 (110) 의 상위층 컴포넌트는 애플리케이션층 (211) 과 동기층 (212) 중 하나 이상에서 분류된다. 디코더 디바이스 (110) 의 하위층 컴포넌트는 전송층 (221), 스트림 및/또는 매체 액세스 제어 (MAC) 층 (222), 및 물리층 (223) 중 하나 이상으로 분류된다. 당업자는 이들 층을 인식하고 이들로의 다양한 태스크의 할당에 정통할 것이다.
도 1 및 도 2 를 참조하면, 인코더 디바이스 (105) 는 헤더 정보 식별자 (115), 헤더 디렉토리 생성기 (120), 멀티미디어 인코더 (125), 메모리 컴포넌트 (130), 프로세서 (135), 및 수신기/송신기 (140) 를 더 포함한다. 프로세서 (135) 는 일반적으로 예시적인 인코더 디바이스 (105) 의 전체 동작을 제어한다.
헤더 정보 식별자 컴포넌트 (115) 는 멀티미디어 데이터의 패킷화에 관하여 예를 들어, 통신의 다양한 층에 관련된 헤더에서 정보를 식별한다. 몇몇 실시예에서, 다양한 레벨에서 패킷화가 수행되어, 데이터의 다중 스트림이 인코딩 프로세스에서 스플릿 업 (파싱) 되게 하고, 인코더의 다양한 층에 의해 추가된 헤더 정 보를 적어도 부분적으로 이용하여 디코딩 중에 리-어셈블링되게 한다. 예를 들어, 동기층 (207) 은 다수의 유형의 패킷을 동시에 디코딩할 수도 있는 다중 디코더 컴포넌트와 링크되는 다수의 유형의 패킷을 식별하는 헤더 정보를 추가할 수도 있다. 동기층 헤더 정보는 데이터 시퀀스 시간, 데이터 시퀀스 기간, 수신지 디코더 컴포넌트 (예를 들어, 오디오, 비디오, 및 클로즈드 캡션), 프레임 수, 패킷 수 및 다른 정보를 식별하는 필드를 포함할 수도 있다. 동기층 패킷은 일부 실시예에서 가변 길이일 수도 있다. 이는, 예를 들어, 가변 길이 코딩 방식을 포함하는 디지털 압축 방식과 같은 다양한 인코딩 방식으로 인한 것일 수도 있다.
헤더 정보 식별자 (115) 에 의해 식별될 수도 있는 다른 유형의 패킷은 전송층 (216) 에서 이용될 수도 있는 것과 같은 고정 길이 패킷을 포함할 수도 있다. 다양한 에러 코딩 방식, 변조 방식, 및 고정 길이 패킷을 이용하는 다른 방식을 지원하기 위해 전송층 패킷은 고정 길이일 수도 있다. 전송 헤더는 단일 동기층 패킷으로부터 파싱된 전송층 패킷의 수를 식별하는 정보를 포함할 수도 있다. 동기층 패킷이 가변 길이이면, 데이터를 포함할 필요가 있는 전송층 패킷의 수도 가변일 수 있다.
헤더 정보 식별자 (115) 는 또한 다양한 패킷을 예를 들어 비트 또는 바이트로 식별하는 디코더에 의해 이용하기 위해 정보를 식별할 수 있다. 일부 패킷이 가변 길이로 되어 있고, 상이한 소스로부터의 고정 길이 패킷도 상이한 길이로 되어 있을 수도 있기 때문에, 패킷 길이는 패킷을 재구성할 필요가 있을 수도 있다. 패킷 길이 정보의 성질에 따라, 또 다른 패킷 내의 패킷의 위치 (예를 들 어, 하나의 더 큰 동기층 패킷과의 수개의 전송층 패킷의 위치) 는 간접적으로 (예를 들어, 축적된 패킷 사이즈 정보를 이용하여) 또는 직접적으로 결정될 수도 있다. 디코더가 헤더 정보 컴포넌트 (115) 에 의해 식별되는 다양한 형태의 헤더 정보를 어떻게 이용할 수 있는지에 대한 상세한 사항을 후술한다.
헤더 디렉토리 생성기 (120) 는 헤더 정보 식별자 (115) 에 의해 식별되는 정보의 적어도 일부를 취하여 디렉토리를 생성한다. 디렉토리는 애플리케이션층 (206), 동기층 (207), 전송층 (216) 및 다른 것과 같은 다양한 층에 관련된 헤더 정보를 포함할 수도 있다. 정보는 실수로 수신된 에러 있는 패킷의 사이즈를 식별하고 재동기화하기 위해 다음으로 이용가능한 패킷을 식별하는 등을 포함하는 다양한 에러에서 복구하는데 있어서 디코더 디바이스에 의해 이용될 수도 있다. 헤더 디렉토리로부터의 헤더 정보는 데이터 스트림 내에 분실되거나 에러 있는 오리지널 헤더 정보를 대체하는데 이용될 수 있다.
멀티-미디어 인코더 (125) 는 DCT (이산 코사인 변환) 의 경우에 공간 도메인으로부터 주파수 도메인과 같은 다른 도메인으로 비디오 (또는 오디오 또는 클로즈드 캡션 텍스트) 데이터를 변환 및/또는 양자화하는 변환기/양자화기 컴포넌트를 포함하는 서브컴포넌트를 포함할 수도 있다. 멀티미디어 인코더는 또한 엔트로피 인코더 컴포넌트를 포함할 수도 있다. 엔트로피 인코더 컴포넌트는 컨텍스트-적응형 가변 길이 코딩 (CAVLC) 을 이용할 수도 있다. 인코딩된 데이터는 양자화 데이터, 변환 데이터, 압축 데이터, 또는 임의의 조합을 포함할 수도 있다. 메모리 컴포넌트 (130) 는 인코딩된 원 (raw) 비디오 데이터, 송신될 인코딩된 비디오 데이터, 헤더 정보, 헤더 디렉토리, 또는 다양한 인코더 컴포넌트에 의해 동작되는 중간 데이터와 같은 정보를 저장하는데 이용된다.
이러한 실시예에 있어서, 수신기/송신기 컴포넌트 (140) 는 외부 소스 (145) 로부터 인코딩될 데이터를 수신하는데 이용되는 회로 및/또는 로직을 포함한다. 외부 소스 (145) 는 예를 들어, 외부 메모리, 인터넷, 라이브 비디오 및/또는 오디오 피드일 수 있고, 데이터를 수신하는 것은 유선 및/또는 무선 통신을 포함할 수 있다. 송신기 (140) 는 또한 네트워크 (150) 를 통해 인코딩된 데이터를 송신 (Tx) 하기 위한 회로 및/또는 로직, 예를 들어, 송신기를 포함한다. 네트워크 (150) 는 전화, 케이블, 및 파이버 옵틱과 같은 유선 시스템, 또는 무선 시스템의 일부일 수 있다. 무선 통신 시스템의 경우에, 네트워크 (150) 는 예를 들어, 코드 분할 다중 접속 (CDMA 또는 CDMA2000) 통신 시스템의 일부를 포함할 수 있고, 또는 다른 방법으로는 시스템은 주파수 분할 다중 접속 (FDMA) 시스템, 직교 주파수 분할 다중 접속 (OFDMA) 시스템, 서비스 산업의 GSM/GPRS (General Packet Radio Service)/EDGE (enhanced data GSM environment) 또는 TETRA (Terrestrial Trunked Radio) 핸드폰 기술과 같은 시분할 다중 접속 (TDMA) 시스템, 광대역 코드 분할 다중 접속 (WCDMA), 고속 데이터 전송 (high data rate)(1×EV-DO 또는 1×EV-DO Gold Multicast) 시스템, 또는 일반적으로 기술의 조합을 채용하는 임의의 무선 통신 시스템일 수 있다.
송신된 데이터는 비디오, 오디오 및/또는 클로즈드 캡션과 같은 다중 비트스트림을 포함할 수도 있다. 일부 실시예에서, 송신된 데이터는 또한 헤더 디렉 토리의 하나 이상의 부분을 포함한다. 일부 실시예에서, 헤더 디렉토리는 다중 비트스트림이 송신되는 채널 이외의 상이한 채널 (가상 또는 실제) 상에서 송신된다.
인코더 디바이스 (105) 는 설명을 위해 단순화한 실시예라는 것을 알아야 한다. 따라서, 도 1 및/또는 도 2 에 도시된 인코더 디바이스 (105) 의 하나 이상의 엘리먼트가 생략, 재배열 및/또는 결합될 수도 있다. 예를 들어, 프로세서 컴포넌트 (135) 는 인코더 디바이스 (105) 의 외부에 있을 수도 있다.
디코더 디바이스 (110) 는 헤더 정보 식별자 (155), 패킷 로케이터 (160), 멀티미디어 디코더 (165), 메모리 컴포넌트 (170), 플래거 (flagger; 172), 수신기 (175), 프로세서 (180), 및 파서 (parser; 182) 를 포함하는 인코더 디바이스 (105) 와 유사한 컴포넌트를 포함한다. 디코더 디바이스 (110) 는 네트워크 (150) 를 통해 송신되거나 외부 기억장치 (185) 로부터 송신된 인코딩된 멀티미디어 데이터를 수신한다. 수신기 (175) 는 외부 기억장치 (185) 로부터 인코딩된 데이터를 수신하기 위한 로직뿐만 아니라 네트워크 (150) 와 관련하여 인코딩된 데이터를 수신 (Rx) 하는데 이용되는 회로 및/또는 로직을 포함한다. 외부 기억장치 (185) 는 예를 들어, 외부 RAM 또는 ROM, 또는 원격 서버일 수 있다. 멀티미디어 비트스트림을 수신하는데 더하여, 수신기 (175) 는 헤더 디렉토리 생성기 (120) 에서 생성된 헤더 디렉토리를 수신할 수 있다.
멀티미디어 디코더 (165) 는 수신되어 인코딩된 멀티미디어 비트스트림을 디코딩하는데 이용되는 회로 및/또는 로직을 포함한다. 멀티미디어 디코더 (165) 의 서브컴포넌트는 역양자화 컴포넌트, 역변환 컴포넌트, 및 다양한 에러 복구 컴포넌트를 포함할 수도 있다. 정확하게 수신된 패킷은 애플리케이션층 (211) 의 대응하는 컴포넌트에 의해 디코딩될 수 있다. 에러 복구 컴포넌트는 하위층 방법에 의해 정정가능하지 않은 데이터를 대체 및/또는 소거하는데 이용되는 상위층 에러 복구 및/또는 에러 소거뿐만 아니라 하위 레벨 에러 검출 및 정정 컴포넌트 (리드-솔로몬 코딩 및/또는 터보-코딩 등) 를 포함할 수도 있다. 다양한 에러 복구 컴포넌트는 인코더 디바이스 (105) 의 헤더 디렉토리 생성기 (120) 에 의해 생성된 헤더 디렉토리에 포함된 정보로부터 이득을 얻을 수도 있다. 멀티미디어 디코더 (165) 의 서브컴포넌트는 애플리케이션층 (211), 동기층 (212), 전송층 (221), 스트림/MAC 층 (222), 물리층 (223) 또는 그 조합에 상주할 수도 있다.
헤더 정보 식별자 (155) 는 수신된 헤더 디렉토리에 포함된 정보 (예를 들어, 헤더 정보) 를 식별하는데 이용되는 회로 및/또는 로직을 포함한다. 에러 있는 패킷이 디코더 디바이스 (110) 에 의해 수신되는 경우, 헤더 정보 식별자 (155) 는 비트 스트림에서 후속하는 패킷의 위치를 식별하는데 이용될 수도 있는 헤더 디렉토리에서의 정보를 식별한다. 또한, 헤더 디렉토리에서의 헤더 정보는 에러 있는 패킷에서의 에러 있게 수신된 헤더 정보를 대체하거나 패킷에서 추가로 에러 있게 수신된 헤더를 제거하는데 이용될 수도 있다. 패킷 로케이터 (160) 는 식별된 헤더 디렉토리 정보를 이용하여 패킷을 위치시키는데 이용되는 회로 및/또는 로직을 포함한다. 일부 실시형태에 있어서, 에러 있는 하위 레벨 패킷 (예를 들어, 전송층 및/또는 동기층 패킷) 내부에 위치하는 보다 높은층 패킷 (예를 들어, 애플리케이션층 패킷) 은 에러 있다고 플래그 (flag) 될 수도 있다. 플래거 (172) 는 에러 있는 패킷을 플래그하는데 이용되는 회로 및/또는 로직을 포함한다. 또 다른 에러 있는 패킷에서의 위치로 인해 에러 있을 수도 있는 패킷을 플래그함으로써, 보다 높은층 컴포넌트 (예를 들어, 애플리케이션층 컴포넌트) 는 에러 복구 결정을 할 수도 있다. 애플리케이션층 (211) 컴포넌트는 에러 있는 애플리케이션층 패킷을 위치시키는데 있어서 헤더 디렉토리 정보 및 패킷 로케이터 (160) 를 이용하여 다양한 에러 복구 작용을 수행할 수도 있다.
다중 비트스트림이 디코더 디바이스 (110) 에 의해 수신될 수도 있기 때문에, 에러 있는 패킷은 다중 비트스트림에 위치할 수도 있다. 파서 (182) 는 동기층 (212) 뿐만 아니라 하위층에서 이용되어 정확하게 수신되고 에러 있는 패킷을 파싱하고 이를 멀티미디어 디코더 (165) 의 적절한 애플리케이션층 (211) 컴포넌트로 포워딩할 수도 있다. 또한, 필요한 헤더 디렉토리 정보는 전송층 (221) 으로부터 상위층 (예를 들어, 동기층 (212) 및/또는 애플리케이션층 (211)) 으로 포워딩되어, 에러 복구 및/또는 비트스트림의 재동기화를 위해 에러 있는 패킷을 식별하게 할 수도 있다. 전송층 (221) 은 보통 상위층으로 포워딩되는 패킷으로부터 전송층 헤더 정보를 제거한다.
디코딩된 멀티미디어 데이터는 디스플레이 컴포넌트 (190) 로 디스플레이되고, 외부 기억장치 (185) 에 저장되거나, 또는 내부 메모리 컴포넌트 (170) 에 저장될 수 있다. 디스플레이 컴포넌트 (190) 는 디코더 디바이스 (110) 의 통합된 부분일 수 있다. 디스플레이 컴포넌트 (190) 는 디스플레이 스크린 및/또는 스피커를 포함하는 비디오 및/또는 오디오 디스플레이 하드웨어 및 로직과 같은 부분을 포함한다. 디스플레이 컴포넌트 (190) 는 또한 외부 주변 디바이스일 수도 있다. 이 실시예에 있어서, 수신기 (175) 는 또한 외부 기억장치 컴포넌트 (185) 또는 디스플레이 컴포넌트 (190) 로 디코딩된 멀티미디어 데이터를 통신하는데 이용되는 로직을 포함한다.
또한, 디코더 디바이스 (110) 는 설명을 위해 단순화된 실시예라는 것을 알아야 한다. 따라서, 도 1 및/또는 도 2 에 도시된 디코더 디바이스 (110) 의 하나 이상의 엘리먼트는 생략, 재배열 및/또는 결합될 수도 있다. 예를 들어, 프로세서 (180) 는 디코더 디바이스 (110) 의 외부에 있을 수도 있다.
도 3 은 스트리밍 멀티미디어 데이터를 프로세싱하기 위한 방법의 실시예를 도시한 플로우 다이어그램이다. 방법 (300) 은 에러 복원을 개선하기 위한 디코더에 이용하기 위해 헤더 정보를 포함하는 디렉토리를 생성하는 방법이다. 방법 (300) 은 상태 (305) 에서 멀티미디어 데이터의 비트스트림을 수신하는 것으로 시작한다. 다중 비트스트림, 예를 들어, 비디오, 오디오, 및/또는 클로즈드 캡션 텍스트는 단일 비트스트림에 포함될 수도 있다. 도 1 의 수신기/송신기 (140) 와 같은 수신 수단은 상태 (305) 에서 멀티미디어 비트스트림을 수신할 수도 있다.
상태 (305) 에서 비트스트림을 수신한 후에, 방법은 옵션인 상태 (310) 에서 비트스트림에서 멀티미디어 데이터와 연관된 헤더 정보를 식별한다. 상술한 바와 같이, 헤더 정보는 다중층으로부터의 정보를 포함할 수도 있다. 도 4 는 다 중층 패킷화 방식의 실시예를 도시한 것이다. 이 실시예에서, 애플리케이션층 패킷 (405A 및 405B) 은 고정 및/또는 가변 길이 패킷일 수도 있다. 동기층은 동기층 헤더 (sync header; 410) 를 각 애플리케이션층 패킷 (405A 및 405B) 에 부가하여, 동기층 패킷 (406A 및 406B)(도 4 의 동기층 패킷 (406A 및 406B) 은 각각 동기층 헤더 (410) 및 애플리케이션층 패킷 (405A 및 405B) 을 포함한다) 을 생성한다. 동기층 패킷 (406A 및 406B) 은 이후 전송층에 입력된다. 이 실시예에 있어서, 전송층 패킷은 고정 길이이다. 전송층은 동기층 패킷을 전송층 패킷 사이즈에 대응하는 부분으로 분할하고, 결과적으로 생성된 전송층 패킷에 전송층 헤더 (415) 를 부가한다. 이 실시예에 있어서, 애플리케이션층 패킷 (405A) 을 포함하는 동기층 패킷 (406A) 은 2 개의 전송층 패킷 (420A 및 420B) 으로 스플릿되며, 패킷 (420B) 은 동기층 패킷 (406A) 의 잔여 부분 (425B) 및 동기층 패킷 (406B) 의 제 1 부분 (425C) 을 포함한다. 이러한 실시예에 있어서, 추가적인 전송층 헤더 (415) 는 전송층 패킷 (420B) 의 부분 (425C) 에 부가되고, 다음 동기층 패킷 (406B) 의 시작으로 진행한다. 제 3 전송층 패킷 (420D) 은 동기층 패킷 (406B) 의 다음 부분 (425D) 을 포함한다.
동기층 헤더 (410) 및 전송층 헤더 (415) 는 디코더로 하여금 동기층 패킷 및 애플리케이션층 패킷을 리어셈블링하도록 지시하는 유사한 정보를 포함할 수도 있다. 헤더는 패킷 사이즈, 패킷 수, 패킷 내의 헤더의 위치, 데이터 시퀀스 시간, 데이터 시퀀스 기간, 프레임 시간, 프레임 수, 랜덤 액세스 포인트 플래그, 프레임 레이트 및/또는 그룹에서의 연관된 패킷의 수와 같은 정보를 포함할 수도 있다. 또한, 헤더 정보는 비디오 비트스트림, 오디오 비트스트림, 및/또는 클로즈드 캡션 비트스트림에 속하는 것으로 연관된 패킷을 식별하는 스트림 식별 정보를 포함할 수도 있다.
도 1 의 헤더 정보 식별자 (115) 와 같은 식별 수단은 옵션인 상태 (310) 에서 멀티미디어 비트스트림에서 헤더 정보를 식별할 수도 있다.
방법 (300) 은, 이후, 상태 (310) 에서 멀티미디어 비트스트림에서 식별되는 헤더 정보의 적어도 부분에 기초하여, 상태 (315) 에서 헤더 정보 디렉토리를 생성한다. 디렉토리는 다른 유형의 헤더뿐만 아니라, 다중층으로부터 헤더에 부속하는 정보, 예를 들어, 애플리케이션층, 동기층 및/또는 전송층을 포함할 수도 있다. 디렉토리에 포함된 정보는 디코더에 의해 이용되어 에러 있는 데이터를 포함한 비트스트림에서의 패킷 바운더리를 위치시키고, 미싱 헤더 정보를 대체하고/대체하거나 에러 있는 헤더 정보를 제거할 수 있다.
일부 실시예에 있어서, 헤더 정보 디렉토리는 패킷 각각의 바운더리를 식별하는 정보를 포함하며, 패킷은 임의의 층 (예를 들어, 전송, 동기, 애플리케이션, 또는 그 조합) 으로부터 일 수 있다. 패킷용 헤더 정보는 상술한 바와 같은 다른 정보 뿐만 아니라, 헤더가 대응하는 층, 패킷의 사이즈 및 패킷 내에 위치하는 임의의 다른 패킷을 식별할 수도 있다. 다른 실시예에 있어서, 개별 디렉토리, 즉 디렉토리의 구별되는 부분은 개별층 (예를 들어, 전송층 디렉토리, 동기층 디렉토리 등) 으로 지시될 수도 있다.
상태 (315) 에서 생성된 전송층 디렉토리의 실시예를 설명한다. 이 실시 예는 도 4 에 도시된 동기층 및 전송층 관계를 나타낸다. 도 4 에 도시된 것과 같은 몇몇 실시예에 있어서 (예를 들어, 고정 길이 전송층 패킷, 즉, 122 바이트/패킷을 가진 시스템), 각 전송층 헤더는 고정 길이 (예를 들어, 단일 바이트 길이) 이고 적어도 각 전송층 패킷의 적어도 초반부에 나타난다. 헤더의 포맷은 END FLAG 필드를 포함할 수도 있으며, END FLAG 필드는 현재 패킷이 동기층 패킷의 최종 세그먼트이면 1로 설정되고, 그렇지 않으면 0으로 설정될 수 있는 1 비트 플래그일 수 있다. 또한, 전송층 헤더는 동기층 패킷의 최종 세그먼트에 의해 이용되는 바이트의 수를 표시할 수도 있는 BYTE_OFFSET 필드를 포함할 수도 있다 (또한, 이는 전송층 패킷 (420B) 에서 제 2 전송층 헤더 (415) 가 패킷 부분들 (425B 및 425C) 사이에 위치하는 도 4 에 도시된 바와 같이, 다음 전송층 헤더가 발견될 수도 있는 곳을 표시한다.). 전송층 패킷이 128 바이트 미만이면, 7 비트 BYTE_OFFSET 필드는 충분할 수도 있다. 현재 전송층 패킷에 추가적인 전송 헤더가 없으면, BYTE_OFFSET 필드는 전송층 패킷의 길이로 설정될 수도 있다.
이 전송 헤더 정보로 생성된 디렉토리는 표 1 에 열거한 필드를 포함할 수도 있다.
필드 이름 필드 설명
NUMBER_OF_PACKETS 이 헤더 디렉토리 리스팅에 열거된 패킷의 수
(NUMBER_OF_PACKETS-1) 다음의 유형의 레코드
PACKET_OFFSET 다음 패킷이 시작되는 바이트의 수
BYTE_OFFSET 또 다른 패킷 및/또는 패킷 헤더가 시작되는 현재 패킷 내의 바이트의 수
NUMBER_OF_PACKETS 필드는 헤더 디렉토리 메세지에 의해 커버되는 비트 스트림에 전송되는 패킷의 수, 즉, PACKET_OFFSET 및 BYTE_OFFSET 의 후속 레코드를 나타낸다. PACKET_OFFSET 필드 엔트리는 패킷의 그룹에서 다음 패킷을 가리킨다. PACKET_OFFSET 은 패킷의 엔드 바운더리 (end boundary) 에 대한 바이트 또는 비트의 수 또는 데이터 유닛의 다른 수일 수도 있다. BYTE_OFFSET 필드는 도 4 에서 전송층 패킷 부분들 (425B 및 425C) 사이에서의 전송층 헤더 (415) 와 같은 패킷 내의 추가 전송층 헤더를 위치시키는데 이용된다. 이 실시예에 있어서 BYTE_OFFSET의 유효 범위는 1 내지 121 이다. 하나 이상의 추가 전송층 헤더가 단일 전송층 패킷 내에서 발생할 수도 있으면, 단일 패킷 내의 BYTE_OFFSET 엔트리의 수를 정의하는 또 다른 필드가 이용될 수 있다. 몇몇 실시예에서, PACKET_OFFSET 및/또는 BYTE_OFFSET 값은 누적성이고, 모든 이전 어드밴스를 포함하는, 최종 위치한 패킷 헤더 위치로부터의 비트 스트림에서 어드밴스한 거리를 나타낸다.
필드의 사이즈는 미리 정해져 있거나 가변적일 수도 있다. 예를 들어, NUMBER_OF_PACKETS 필드는 단일 바이트로 제한될 수도 있고, 이 경우에 255까지 연속하여 넘버링된 패킷의 그룹은 필드가 반복되기 전에 나타날 수 있다. 따라서, 255 이상의 전송층 패킷이 (도 4 에 도시된 예시적인 파싱을 이용하여) 단일 동기층 패킷의 데이터를 피팅하는 것이 요구될 수도 있으면, 더 많은 비트가 요구될 수도 있다. 디렉토리는 관련 패킷의 소정의 그룹에 대해 표 1 에 도시된 엔트리의 세트 중 하나를 포함할 수도 있다. 예를 들어, 표 1 의 정보에 의해 나타낸 각 패킷은 프레임과 같은 비디오 데이터의 단일 그룹, 즉 슬라이스에 포함될 수도 있다. 또한, 오디오 또는 클로즈드 캡션 비트스트림은 유사한 필드를 포함한 개별 디렉토리를 가질 수도 있다.
고정 전송층 헤더가 있는 이와 같은 실시예에 있어서, 상위층 컴포넌트 (예를 들어, 동기층 및/또는 애플리케이션층) 는 이러한 알려진 고정 헤더 사이즈를 이용하여 배급 상의 헤더를 스트립하고 이에 따라 헤더 디렉토리에서의 PACKET_OFFSET 및 BYTE_OFFSET 엔트리를 조정할 수 있다.
상태 (315) 에서 생성된 동기층 헤더 디렉토리의 실시예를 설명한다. 이 실시예에 있어서, 단일 동기층 패킷 (예를 들어, 동기층 헤더 (410) 및 애플리케이션층 패킷 (405A)) 은 데이터의 프레임의 비디오, 오디오 및/또는 클로즈드 캡션 데이터를 포함한다. 데이터의 다른 구획된 그룹 (예를 들어, 프레임의 부분) 은 또한 동기층 패킷에 포함될 수 있다. 동기층 헤더 디렉토리는 상기 표 1 에 열거된 것과 유사한 필드를 포함할 수 있다. 그러나, 이 실시예에 있어서, 패킷 및 연관된 헤더는 동기층 패킷 및 헤더를 나타낸다. 동기층 패킷은 블록으로도 지칭되는 (전송 헤더가 스트립된) 수개의 전송층 패킷으로 이루어진다. 동기층 헤더 디렉토리 필드의 실시예는 표 2 에 열거한다.
필드 이름 필드 설명
NUMBER_OF_PACKETS 이 헤더 디렉토리 리스팅에 열거된 동기층 패킷의 수
(NUMBER_OF_PACKETS-1) 다음 유형의 레코드
BLOCK_OFFSET 다음 동기층 패킷이 시작되는 전송층 패킷 (블록) 의 수
BYTE_OFFSET 다음 동기층 패킷이 시작되는 BLOCK_OFFSET 에 의해 표시되는 전송층 패킷 내의 바이트의 수
NUMBER_OF_PACKETS 필드는 BLOCK_OFFSET 및 BYTE_OFFSET 의 후속 레코드에 의해 커버되는 전송층 패킷의 수를 나타낸다. 또한, NUMBER_OF_PACKETS 필드도 동시에 디스플레이될 비디오, 오디오 및/또는 클로즈드 캡션 데이터의 프레임에서의 전송층 패킷의 수를 나타낸다. 전송층 패킷의 사이즈가 고정되는 실시예에 있어서, 어드밴스할 비트의 수는 이 실시예에서와 같이 패킷의 수를 특정함으로써 알려진다. BLOCK_OFFSET 필드는 커버되는 동기층 패킷의 그룹에서 다음 동기층 패킷 (및 이 실시예에서는 다음 멀티미디어 프레임) 을 가리킨다. 동기층 패킷의 그룹은 소정의 수의 프레임일 수도 있다. BLOCK_OFFSET 은 수개의 바이트 또는 비트 또는 다른 수의 데이터 유닛일 수도 있다. 도 4 에 도시된 전송층 패킷 (420B) 에 포함된 (동기 헤더 (410) 및 애플리케이션층 패킷 (405B) 을 포함하는) 제 2 동기층 패킷 (406B) 의 시작을 포함하는 부분 (425C) 과 같은 전송층 패킷 내에서 발생하는 경우, BYTE_OFFSET 필드는 다음 동기층 패킷의 시작을 위치시키는데 이용된다. 몇몇 실시예에 있어서, BLOCK_OFFSET 값은 누적성이고, 모든 이전 어드밴스를 포함하는 최종 위치된 블록 위치로부터 비트스트림에서 어드밴스하는 전송층 패킷의 수를 나타낸다.
필드의 사이즈는 미리 설정되거나 가변적일 수도 있다. 예를 들어, NUMBER_OF_PACKETS 필드는 단일 바이트로 제한될 수도 있으며, 이러한 경우에 255 까지 순차적으로 넘버링된 전송층 패킷의 그룹은 필드가 반복되기 전에 나타날 수 있다. 따라서, 255 이상의 전송층 패킷이 (도 4 에 도시된 예시적인 파싱을 이용하여) 단일 동기층 패킷의 데이터를 피트시키는 것이 요구될 수도 있으면, 더 많은 비트가 요구될 수도 있다. 디렉토리는 소정의 그룹의 관련 패킷에 대해 표 1 에 도시된 바와 같은 엔트리 세트 중 하나를 포함할 수도 있다. 예를 들어, 표 1 에서의 정보에 의해 나타낸 각 패킷은 프레임과 같은 비디오 데이터의 단일 그룹, 즉, 슬라이스에 포함될 수도 있다. 또한, 오디오 또는 클로즈드 캡션 비트스트림은 유사한 필드를 포함한 개별 디렉토리를 가질 수도 있다.
표 2 에 포함된 데이터에 더하여, 동기층 헤더 디렉토리, 즉 표 2 의 헤더 디렉토리 정보를 포함한 메세지는 또한 표 3 에 열거한 동기층 헤더 디렉토리 필드 중 하나 이상을 포함할 수도 있다.
필드 이름 필드 설명
MESSAGE_ID 메세지가 동기층 디렉토리 메세지인 것을 표시하는데 이용되는 필드
STREAM_ID 헤더 디렉토리 정보가 연관된 애플리케이션의 유형 (예를 들어, 오디오, 비디오, 및/또는 클로즈드 캡션) 을 식별하는 필드
SIZE_OF_BLOCK_OFFSET 표 2 에 도시된 BLOCK_OFFSET 필드를 나타내는데 이용되는 비트의 수
SEQUENCE_TIME 이 세트에 의해 커버되는 패킷에 의해 나타내는 프레임을 디스플레이하기 위해 시퀀스 시간을 특정하는 필드
FRAME_NUMBER 다른 프레임의 오디오, 비디오 및/또는 클로즈드 캡션 시퀀스에서의 유일한 프레임 수를 식별
ENHANCEMENT_FLAG 이 프레임이 (예를 들어, 다중층 코딩 방식에서) 비디오 CODEC 베이스층 또는 상위계층 (enhancement layer) 으로 지칭되는지 여부를 시그널링
RAP_FLAG 이 필드는 다음의 프레임이 비트 스트림의 재획득을 위한 랜덤 액세스 프레임 (예를 들어, 인트라-코딩된 프레임) 인지 여부를 표시
FRAME_RATE 프레임 레이트가 급격히 변할 수 있는 시스템에 있어서, 이 필드는 언제 프레임을 디스플레이할지를 디코더에 표시할 수도 있다.
UNREFERENCED_FRAME_FLAG 프레임이 기준 프레임인지 여부를 시그널링 (예를 들어, 프레임이 하나 이상의 다른 프레임의 재구성에 있어서 기준으로서 이용되는지 여부를 표시)
RESERVED 헤더의 바이트 정렬에 대해 패딩을 제공하기 위한 예비 비트
도 1 에 도시된 헤더 디렉토리 생성기와 같은 생성 수단은 상태 (315) 에서 헤더 정보 디렉토리를 생성할 수도 있다.
방법 (300) 은 멀티미디어 데이터 스트림이 송신되는 옵션인 상태 (320) 로 계속된다. 도 1 과 관련하여 상술한 바와 같이, 멀티미디어 데이터는 유선 및/또는 무선 네트워크 (150) 를 통해 송신될 수도 있다. 이 실시예에서, 헤더 디렉토리는 옵션인 상태 (325) 에서 송신된다. 몇몇 실시예에서, 상태 (320) 에서의 멀티미디어 데이터의 송신 및 상태 (325) 에서의 헤더 디렉토리의 송신은 개별 채널을 통해 행해진다. 이는 수신기에서 에러 복원을 개선시킬 수도 있는 채널 다이버시티를 제공하거나 상이한 에러 보호 레벨을 제공하기 위해 행해질 수도 있다. 몇몇 실시예에 있어서, 멀티미디어 데이터 스트림 또는 헤더 디렉토리 중 하나 또는 둘 다가 가상 채널을 통해 (각각 상태 (320 또는 325) 에서) 송신될 수 있다. 가상 채널은 자유도를 제공하여, 멀티미디어 데이터 및 헤더 디렉토리에 대해 개별적으로 조정될 수도 잇는 에러 보호를 제공할 수도 있다. 도 1 에 도시된 수신기/송신기 (140) 와 같은 송신 수단은 옵션인 상태 (325) 에서 헤더 디렉토리를 송신할 뿐만 아니라 옵션인 상태 (320) 에서 멀티미디어 데이터 스트림을 송신할 수도 있다.
도 3 에 도시된 플로우차트에서 도시된 블럭 중 임의의 하나가 생략, 순서대로 재배열, 하나 이상의 블록과 결합될 수도 있다는 것을 알아야 한다.
도 5 는 스트리밍 멀티미디어 데이터를 프로세싱하기 위한 방법의 실시예를 도시한 플로우 다이어그램이다. 방법 (500) 은 도 1 에 도시된 디코더 디바이스 (110) 에 의해 수행될 수 있다. 방법 (500) 은 디코더 디바이스 (110) 에서 에러 복원을 개선하기 위해, 상술한 방법 (300) 을 이용하여 생성된 헤더 정보 디렉토리의 이용을 설명한다. 디코더 디바이스 (110) 는 상태 (505) 에서 비디오, 오디오 및/또는 클로즈드 캡션 데이터를 포함하는 멀티미디어 데이터 스트림을 수신한다. 인코딩된 데이터가 양자화 데이터, 변환 데이터, 압축 데이터 및 그 조합을 포함하는 데이터는 상술한 바와 같이 인코딩될 수도 있다. 멀티미디어 데이터는 패킷화가 다중 레벨에서 수행될 수도 있는 패킷화된 데이터를 포함할 수도 있다. 도 1 에 도시된 수신기 (175) 와 같은 수신 수단은 상태 (505) 에서 멀티미디어 데이터를 수신할 수도 있다.
디코더 디바이스 (110) 는 또한 상태 (510) 에서 헤더 정보 디렉토리를 수신한다. 헤더 정보 디렉토리는 상기 표 1, 2 및 3 에 도시 및 설명된 필드의 하나 이상을 포함하는 메세지에 포함될 수도 있다. 디렉토리는 표 1 에 도시된 바와 같은 전송층 헤더 디렉토리 및 표 2 및 표 3 에 도시된 바와 같은 동기층 헤더 디렉토리와 같이 개별 부분에서 수신될 수도 있다. 헤더 정보 디렉토리는 멀티미디어 데이터가 수신된 (505) 채널과 동일한 채널을 통해 수신될 수도 있다. 헤더 정보 디렉토리는 멀티미디어 데이터가 수신된 채널과 상이한 채널을 통해 수신될 수도 있다. 몇몇 실시예에 있어서, 멀티미디어 데이터 및 헤더 정보 디렉토리 중 하나 또는 둘 다는 가상 채널을 통해 (각각 상태 (505 및 510) 에서) 수신될 수 있다. 헤더 정보 디렉토리를 수신한 후에, 헤더 정보 디렉토리 중 일부 또는 전부는 상태 (510) 에서 메모리에 저장될 수도 있다. 도 1 에 도시된 메모리 모듈 (180) 또는 외부 기억장치 모듈 (185) 과 같은 메모리 저장 수단은 상태 (510) 에서 헤더 정보 디렉토리를 저장하는데 사용될 수도 있다.
옵션인 상태 (515) 에서, 멀티미디어 데이터를 수신한 후에, 디코더 디바이스 (110) 는 네트워크 (150) 를 통한 송신 중에 비트스트림으로 도입된 에러를 검출 및 정정할 수도 있다. 당업계에 알려진 다양한 에러 검출 및 정정 방식은 에러를 검출 및 정정하는데 이용될 수도 있다. 몇몇 에러는 검출할 수 없을 수도 있고 에러 있는 패킷을 발생시킬 수도 있다. 도 1 에 도시된 플래거 (172) 와 같은 플래그하는 수단에 의해 에러 있는 패킷이 (예를 들어, 패킷이 에러 있다라고 표시하는 값으로 필드를 설정함으로써) 마킹될 수도 있다. 에러 있는 패킷을 에러 있다고 마킹하는 것은 상위층 컴포넌트가 에러 있는 패킷을 용이하게 식별하고 에러 복구 방식을 개시하게 한다. 또한, 에러 있는 패킷은 임의의 플래그하는 정보 없이 에러 있다고 상위층에서 식별될 수도 있다.
옵션인 상태 (520) 에서, 정확한 패킷 및 에러 있는 패킷은 상위층 (예를 들어, 동기층 및 애플리케이션층) 으로 포워딩된다. 멀티미디어 데이터의 패킷을 포워딩하는 것에 더해, 헤더 정보 디렉토리는 또한 필요하다면 포워딩되거나 적어도 상위층에 이용가능하게 된다. 상위층으로 포워딩된 멀티미디어 패킷은 하나 이상의 하위층 헤더가 스트립되고, 패킷 사이즈와 관련된 헤더 디렉토리 정보는 하위층 헤더의 제거를 반영하도록 변경될 수도 있다.
디코더 디바이스 (110) 는 상태 (525) 에서 정확히 수신된 멀티미디어 데이터 패킷을 디코딩한다. 디코딩은 역양자화, 역변환, 압축풀기, 및 그 조합을 포함할 수도 있다. 멀티미디어 데이터 패킷은 동시에 디코딩 및 재생될 수도 있는 다중 비트스트림 (예를 들어, 비디오, 오디오 또는 클로즈드 캡션) 에 있을 수도 있다. 에러 있는 패킷이 상태 (520) 에서 포워딩되기 때문에, 에러 복구 및/또는 디코딩의 재동기화가 발생할 수 있을 때까지 디코딩이 지연될 수도 있다.
에러 있는 데이터가 조우하는 경우, 헤더 디렉토리 정보는, 에러 있는 데이터로부터 더 잘 회복하기 위해, (패킷 바운더리 위치를 식별함으로써) 개별 후속 패킷을 식별하고, 예정된 애플리케이션층 컴포넌트를 가능하면 식별하는데 이용될 수도 있다. 디코더 디바이스 (110) 는 옵션인 상태 (530) 에서, 비트스트림에서 에러 있는 패킷과 연관된 헤더 정보 디렉토리에 포함된 헤더 정보를 식별한다. 이후, 디코더 디바이스 (110) 는 옵션인 상태 (535) 에서, 예를 들어, 헤더 디렉토리에 포함된 PACKET_OFFSET 정보를 이용하여, 식별된 패킷을 위치시켜, 비트스트림에서 후속 패킷으로 어드밴스한다. 전송층, 동기층 및 애플리케이션층을 포함하여 에러가 조우하는 경우에 상태 (530) 에서의 식별은 임의의 층에서 수행될 수 있다.
도 4 를 참조하면, (부분적인 전송층 패킷 부분 (425B 및 425C) 을 포함하는) 제 2 전송층 패킷 (420B) 이 에러가 있다고 가정한다. 에러가 있기 때문에, 디코더는 전송층 패킷 (420B) 의 중간에 위치하는 추가 전송층 헤더 (415) 가 있는지를 모를 수도 있다. 상술한 바와 같이, 추가 전송층 헤더 (415) 는 동기 헤더 (410) 및 애플리케이션층 패킷 (405B) 을 포함하는 제 2 동기층 패킷 (406B) 의 시작이다. 헤더 정보 디렉토리를 이용하여, 추가 전송층 헤더 (415) 의 위치는 에러 있는 전송층 패킷 (420B) 과 연관된 헤더 정보 레코드의 (표 1 에 도시된) BYTE_OFFSET 필드를 참조하여 식별될 수도 있다. 전송층은 이후 상태 (535) 에서, 추가 전송층 패킷 헤더를 위치시키고, 에러 있는 전송층 패킷을 파싱하고, 전송층 헤더를 스트립하며, 둘 다 에러 있다고 플래그되는 2 개의 전송층 패킷을 동기층으로 포워딩한다. 이후, 동기층은 표 2 및 3 에 도시된 정보를 이용하여 애플리케이션층 컴포넌트를 식별하여 에러 있는 애플리케이션층 패킷 (405A 및 405B) 을 적절한 애플리케이션층 컴포넌트로 포워딩할 수 있다. 도 1 에 도시된 파서 (182) 와 같은 파싱 수단은 상술한 파싱을 수행할 수 있다.
이 실시예에서와 같이, 표 3 에 도시된 STREAM_ID 와 같은 정보가 헤더 정보 디렉토리에 포함되는 경우, 상태 (530) 에서의 식별은 동기층에서 적어도 부분적으로 발생할 수 있다. 개별 애플리케이션층 패킷은 플래그되고, 디코딩되는 것이 예정된 애플리케이션 컴포넌트로 포워딩될 수도 있다. 다른 실시예에 있어서, 디렉토리 헤더 정보는 상태 (535) 에서 패킷의 위치 및 헤더 정보의 식별이 발생할 수 있는 애플리케이션층 컴포넌트로 포워딩 (및 가능하면 임의의 하위층 헤더 데이터의 제거를 반영하도록 조절) 될 수도 있다. 도 1 에 도시된 헤더 정보 식별자 (155) 와 같은 식별 수단은 에러 있는 데이터에 후속하게 위치하는 패킷 (또는 패킷들) 과 연관된 디렉토리 헤더 정보를 식별 (530) 할 수 있다. 도 1 에 도시된 패킷 로케이터 (160) 와 같은 로케이팅 수단은 상태 (535) 에서 후속하는 패킷(들)을 위치시킬 수 있다.
디렉토리 헤더 정보를 식별하고 하나 이상의 후속하는 패킷을 위치시킨 후에, 방법 (500) 은 옵션인 상태 (540) 에서 에러 복구를 수행하여 에러 있는 패킷을 복구하고/복구하거나 후속하는 패킷에서 디코딩을 재개한다. 애플리케이션층 컴포넌트는 식별되고 위치한 패킷을 이용하여 에러 복구 방식을 개선할 수 있다. 일부 실시예에 있어서, 식별되고 위치한 패킷은 에러가 없을 수도 있고, 디코더는 헤더 디렉토리 정보를 이용하여 획득된 패킷과 계속하여 디코딩할 수 있다. (가변 길이 패킷의 경우에) 이용가능하지 않는 패킷의 위치를 단순히 식별할 수 있는 것은 에러 있는 비트스트림의 영역을 식별하는데 이용될 수 있다. 이들 영역을 식별함으로써, 에러 복구 방법은 폐기될 수도 있는 비트스트림에서 에러 있는 데이터에 후속하여 위치하는 데이터의 일부를 세이브 및/또는 대체할 수 있다.
도 5 에 도시된 플로우차트에서 설명된 블록 중 임의의 하나는 생략, 순서대로 재배열, 또는 하나 이상의 다른 블록과 결합될 수도 있다는 것을 알아야 한다.
실시예는 멀티미디어 데이터를 프로세싱하기 위한 장치를 제공한다. 예시적인 장치는 멀티미디어 데이터를 수신하기 위한 수단, 및 디렉토리를 생성하기 위한 수단을 포함하며, 디렉토리는 멀티미디어 데이터와 연관된 헤더 정보의 적어도 일부를 포함한다. 멀티미디어 데이터를 수신하기 위한 수단은 도 1 의 수신기/송신기 (140) 를 포함할 수도 있다. 디렉토리를 생성하기 위한 수단은 도 1 의 헤더 디렉토리 생성기 (120) 를 포함할 수도 있다.
실시예는 멀티미디어 데이터를 프로세싱하기 위한 장치를 제공한다. 예시적인 장치는 멀티미디어 데이터 스트림을 수신하고, 멀티미디어 데이터 스트림과 연관된 헤더 정보의 적어도 일부를 포함하는 디렉토리를 수신하기 위한 수단을 포함한다. 또한, 예시적인 장치는 디렉토리의 적어도 일부를 저장하기 위한 수단을 포함한다. 수신하기 위한 수단은 도 1 의 수신기 (175) 를 포함할 수도 있다. 디렉토리를 저장하기 위한 수단은 도 1 의 메모리 모듈 (170) 을 포함할 수도 있다.
도 6 은 멀티미디어 데이터를 프로세싱하기 위한 장치의 실시예를 도시한 블록 다이어그램을 도시한다. 도 6 의 예시적인 장치 (600) 는 멀티미디어 데이터를 수신하기 위한 수단, 및 디렉토리를 생성하기 위한 수단을 포함하며, 디렉토리는 멀티미디어 데이터와 연관된 헤더 정보의 적어도 일부를 포함한다. 멀티미디어 데이터를 수신하기 위한 수단은 도 6 의 수신기 (605) 를 포함할 수도 있다. 디렉토리를 생성하기 위한 수단은 도 6 의 헤더 디렉토리 생성기 (610) 를 포함할 수도 있다.
도 7 은 멀티미디어 데이터를 프로세싱하기 위한 장치의 실시예를 도시한 블록 다이어그램을 도시한다. 예시적인 장치는 멀티미디어 데이터 스트림을 수신하고, 멀티미디어 데이터 스트림과 연관된 헤더 정보의 적어도 일부를 포함하는 디렉토리를 수신하기 위한 수단을 포함한다. 또한, 예시적인 장치는 디렉토리의 적어도 일부를 저장하기 위한 수단을 포함한다. 수신하기 위한 수단은 도 7 의 수신기 (705) 를 포함할 수도 있다. 디렉토리를 저장하기 위한 수단은 도 7 의 메모리 기억장치 모듈 (710) 을 포함할 수도 있다.
상기에서 주어진 실시예는 헤더 및 헤더 정보와 함께 도시되며, 헤더는 패킷의 정면에 있는 것으로 도시되었다. 헤더 정보는 패킷으로부터의 개별 비트스트림 또는 패킷의 다른 위치에 위치할 수 있다는 것을 알아야 한다.
당업자는 정보 및 신호가 다양하고 상이한 기술 및 기법 중 임의의 것을 이용하여 나타낼 수도 있다는 것을 이해할 것이다. 예를 들어, 상기의 상세할 설명 전체를 통해 참조될 수도 있는 데이터, 명령, 커맨드, 정보, 시그널, 비트, 심볼, 및 칩은 전압, 전류, 전자기파, 자계 또는 자분 (magnetic particle), 광학장 또는 광학 입자, 또는 임의의 조합으로 나타낼 수도 있다.
당업자는 여기에 개시된 실시예와 관련하여 설명한 다양하고 예시적인 논리 블록, 모듈, 및 알고리즘 단계가 전자 하드웨어, 펌웨어, 컴퓨터 소프트웨어, 미들웨어, 마이크로코드 또는 그 조합으로서 구현될 수도 있다. 이 하드웨어와 소프트웨어의 호환성을 명확히 설명하기 위해, 다양하고 예시적인 컴포넌트, 블록, 모듈, 회로 및 단계를 일반적으로 기능성의 관점에서 상술하였다. 이러한 기능성이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약에 따른다. 당업자는 각 특정 애플리케이션에 대한 방법을 달리 하면서 상술한 기능성을 구현할 수도 있지만, 이러한 구현 결정은 개시된 방법의 범위를 벗어나서 해석되어서는 안 된다.
여기에 개시된 실시예와 관련하여 설명한 다양하고 예시적인 논리 블록, 컴포넌트, 모듈, 및 회로는 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 디스크리트 게이트 또는 트랜지스터 로직, 디스크리트 하드웨어 컴포넌트, 또는 여기에 설명한 기능을 수행하도록 설계된 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세시일 수도 있지만, 다른 방법으로는, 프로세서는 임의의 종래의 프로세서, 컨트롤러, 마이크로컨트롤러, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스의 조합, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 관련된 하나 이상의 마이크로프로세서, 또는 임의의 다른 구성으로 구현될 수도 있다.
여기에 개시된 실시예와 관련하여 설명한 방법 또는 알고리즘의 단계는 하드웨어 내에 직접 내장, 프로세서에 의해 실행가능한 소프트웨어 모듈 내에 내장, 또는 그 둘의 조합 내에 내장될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 분리성 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체 내에 상주할 수도 있다. 예시적인 저장 매체는 프로세서가 저장 매체로부터 정보를 판독하거나 정보를 기록할 수 있도록 프로세서에 커플링된다. 다른 방법으로는, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 ASIC (Application Specific Integrated Circuit) 에 상주할 수도 있다. ASIC 는 무선 모뎀 내에 상주할 수도 있다. 다른 방법으로는, 프로세서 및 저장 매체는 무선 모뎀의 디스크리트 컴포넌트로서 상주할 수도 있다.
개시된 실시예의 이전 설명은 당업자가 개시된 방법 및 장치를 제조 또는 이용할 수 있게 제공된다. 이들 실시형태에 대한 다양한 변경이 당업자에 자명하고, 여기에 정의된 원리는 다른 실시예에 적용될 수도 있고 추가적인 엘리먼트가 부가될 수도 있다.
따라서, 멀티미디어 비트스트림과 연관된 헤더 정보를 포함한 헤더 정보 디렉토리를 발생시키기 위한 방법 및 장치, 및 헤더 정보 디렉토리를 수신 및 이용하여 멀티미디어 비트스트림의 에러 관리를 제공하기 위한 방법 및 장치를 설명하였다.

Claims (65)

  1. 멀티미디어 데이터를 수신하는 단계; 및
    상기 멀티미디어 데이터와 연관된 적어도 일부의 헤더 정보를 포함하는 디렉토리를 생성하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  2. 제 1 항에 있어서,
    상기 멀티미디어 데이터를 송신하는 단계; 및
    상기 디렉토리를 송신하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  3. 제 1 항에 있어서,
    상기 헤더 정보는 패킷 사이즈, 패킷 수, 패킷 내의 헤더의 위치, 데이터 시퀀스 시간, 데이터 시퀀스 기간, 프레임 시간, 프레임 수, 랜덤 액세스 포인트 플래그, 프레임 레이트 및 그룹 내에 연관된 패킷의 수 중 하나 이상을 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  4. 제 2 항에 있어서,
    상기 멀티미디어 데이터를 송신하는 단계는 제 1 통신 링크를 통해 송신하는 단계를 포함하고,
    상기 디렉토리를 송신하는 단계는 제 2 통신 링크를 통해 송신하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  5. 제 4 항에 있어서,
    상기 제 1 통신 링크 또는 상기 제 2 통신 링크는 가상 채널을 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  6. 제 1 항에 있어서,
    상기 디렉토리는 상기 멀티미디어 데이터에서의 패킷을 오디오 패킷, 비디오 패킷 및 클로즈드 캡션 패킷 중 하나 이상으로서 식별하는 스트림 식별 정보를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  7. 제 1 항에 있어서,
    상기 디렉토리는 복수의 레코드를 더 포함하며,
    하나의 레코드는 상기 멀티미디어 데이터에서 패킷의 위치에 관한 정보를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  8. 제 1 항에 있어서,
    상기 디렉토리 정보를 포함하는 메세지를 식별하는 정보를 송신하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  9. 멀티미디어 데이터를 프로세싱하기 위한 프로세서로서,
    상기 멀티미디어 데이터를 수신하고;
    상기 멀티미디어 데이터와 연관된 적어도 일부의 헤더 정보를 포함하는 디렉토리를 생성하도록 구성된, 프로세서.
  10. 제 9 항에 있어서,
    상기 헤더 정보는 패킷 사이즈, 패킷 수, 패킷 내의 헤더의 위치, 데이터 시퀀스 시간, 데이터 시퀀스 기간, 프레임 시간, 프레임 수, 랜덤 액세스 포인트 플래그, 프레임 레이트, 및 그룹 내에 연관된 패킷의 수 중 하나 이상을 포함하는, 프로세서.
  11. 제 9 항에 있어서,
    상기 디렉토리는 상기 멀티미디어 데이터에서의 패킷을 오디오 패킷, 비디오 패킷 및 클로즈드 캡션 패킷 중 하나 이상으로서 식별하는 스트림 식별 정보를 더 포함하는, 프로세서.
  12. 제 9 항에 있어서,
    상기 디렉토리는 복수의 레코드를 더 포함하며,
    하나의 레코드는 상기 멀티미디어 데이터에서 패킷의 위치에 관한 정보를 포 함하는, 프로세서.
  13. 멀티미디어 데이터를 프로세싱하기 위한 장치로서,
    상기 멀티미디어 데이터를 수신하기 위한 수신기; 및
    상기 멀티미디어 데이터와 연관된 적어도 일부의 헤더 정보를 포함하는 디렉토리를 생성하기 위한 생성기를 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  14. 제 13 항에 있어서,
    상기 멀티미디어 데이터 및 상기 디렉토리를 송신하기 위한 송신기를 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  15. 제 13 항에 있어서,
    상기 헤더 정보는 패킷 사이즈, 패킷 수, 패킷 내의 헤더의 위치, 데이터 시퀀스 시간, 데이터 시퀀스 기간, 프레임 시간, 프레임 수, 랜덤 액세스 포인트 플래그, 프레임 레이트, 및 그룹 내에 연관된 패킷의 수 중 하나 이상을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  16. 제 14 항에 있어서,
    상기 송신기는 제 1 통신 링크를 통해 상기 멀티미디어 데이터를 송신하고, 제 2 통신 링크를 통해 상기 디렉토리를 송신하며,
    상기 제 1 통신 링크 또는 상기 제 2 통신 링크는 가상 채널을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  17. 제 13 항에 있어서,
    상기 디렉토리는 상기 멀티미디어 데이터에서의 패킷을 오디오 패킷, 비디오 패킷 및 클로즈드 캡션 패킷 중 하나 이상으로서 식별하는 스트림 식별 정보를 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  18. 제 13 항에 있어서,
    상기 디렉토리는 복수의 레코드를 더 포함하며,
    하나의 레코드는 상기 멀티미디어 데이터에서 패킷의 위치에 관한 정보를 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  19. 제 14 항에 있어서,
    상기 송신기는 상기 디렉토리 정보를 포함하는 메세지를 식별하는 정보를 송신하는, 멀티미디어 데이터의 프로세싱 장치.
  20. 멀티미디어 데이터를 프로세싱하기 위한 장치로서,
    상기 멀티미디어 데이터를 수신하기 위한 수단; 및
    상기 멀티미디어 데이터와 연관된 적어도 일부의 헤더 정보를 포함하는 디렉 토리를 생성하기 위한 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  21. 제 20 항에 있어서,
    상기 멀티미디어 데이터 및 상기 디렉토리를 송신하기 위한 수단을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  22. 제 20 항에 있어서,
    상기 헤더 정보는 패킷 사이즈, 패킷 수, 패킷 내의 헤더의 위치, 데이터 시퀀스 시간, 데이터 시퀀스 기간, 프레임 시간, 프레임 수, 랜덤 액세스 포인트 플래그, 프레임 레이트, 및 그룹 내에 연관된 패킷의 수 중 하나 이상을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  23. 제 20 항에 있어서,
    상기 디렉토리는 상기 멀티미디어 데이터에서의 패킷을 오디오 패킷, 비디오 패킷 및 클로즈드 캡션 패킷 중 하나 이상으로서 식별하는 스트림 식별 정보를 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  24. 제 20 항에 있어서,
    상기 디렉토리는 복수의 레코드를 더 포함하며,
    하나의 레코드는 상기 멀티미디어 데이터에서 패킷의 위치에 관한 정보를 포 함하는, 멀티미디어 데이터의 프로세싱 장치.
  25. 제 21 항에 있어서,
    상기 송신하기 위한 수단은 상기 디렉토리 정보를 포함하는 메세지를 식별하는 정보를 송신하기 위한 수단을 더 포함하는, 멀티미디어 데이터 프로세싱 장치.
  26. 멀티미디어 데이터를 프로세싱하는 방법을 구현하는 컴퓨터 판독가능 매체로서,
    상기 방법은,
    상기 멀티미디어 데이터를 수신하는 단계; 및
    상기 멀티미디어 데이터와 연관된 적어도 일부의 헤더 정보를 포함하는 디렉토리를 생성하는 단계를 포함하는, 컴퓨터 판독가능 매체.
  27. 제 26 항에 있어서,
    상기 헤더 정보는 패킷 사이즈, 패킷 수, 패킷 내의 헤더의 위치, 데이터 시퀀스 시간, 데이터 시퀀스 기간, 프레임 시간, 프레임 수, 랜덤 액세스 포인트 플래그, 프레임 레이트, 및 그룹 내에 연관된 패킷의 수 중 하나 이상을 포함하는, 컴퓨터 판독가능 매체.
  28. 제 26 항에 있어서,
    상기 디렉토리는 상기 멀티미디어 데이터에서의 패킷을 오디오 패킷, 비디오 패킷 및 클로즈드 캡션 패킷 중 하나 이상으로서 식별하는 스트림 식별 정보를 더 포함하는, 컴퓨터 판독가능 매체.
  29. 제 26 항에 있어서,
    상기 디렉토리는 복수의 레코드를 더 포함하며,
    하나의 레코드는 상기 멀티미디어 데이터에서 패킷의 위치에 관한 정보를 포함하는, 컴퓨터 판독가능 매체.
  30. 멀티미디어 데이터 스트림을 수신하는 단계; 및
    상기 멀티미디어 데이터 스트림과 연관된 적어도 일부의 헤더 정보를 포함하는 디렉토리를 수신하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  31. 제 30 항에 있어서,
    상기 디렉토리를 이용하여 상기 멀티미디어 데이터 스트림의 적어도 일부를 디코딩하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  32. 제 30 항에 있어서,
    상기 디렉토리는 복수의 레코드를 더 포함하며,
    하나의 레코드는 상기 멀티미디어 데이터 스트림에서 패킷의 위치에 관한 정 보를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  33. 제 32 항에 있어서,
    상기 복수의 수신된 레코드 중 하나 이상에 기초하여 상기 멀티미디어 데이터 스트림에 상기 패킷을 위치시키는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  34. 제 30 항에 있어서,
    상기 헤더 정보는 패킷 사이즈, 패킷 수, 패킷 내의 헤더의 위치, 데이터 시퀀스 시간, 데이터 시퀀스 기간, 프레임 시간, 프레임 수, 랜덤 액세스 포인트 플래그, 프레임 레이트, 및 그룹 내에 연관된 패킷의 수 중 하나 이상을 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  35. 제 30 항에 있어서,
    상기 멀티미디어 데이터 스트림을 수신하는 단계는 제 1 통신 링크를 통해 수신하는 단계를 포함하고,
    상기 디렉토리를 수신하는 단계는 제 2 통신 링크를 통해 수신하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  36. 제 35 항에 있어서,
    상기 제 1 통신 링크 또는 상기 제 2 통신 링크는 가상 채널을 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  37. 제 30 항에 있어서,
    상기 디렉토리는 상기 멀티미디어 데이터 스트림에서의 패킷을 오디오 패킷, 비디오 패킷 및 클로즈드 캡션 패킷 중 하나 이상으로서 식별하는 스트림 식별 정보를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  38. 제 30 항에 있어서,
    상기 멀티미디어 데이터 스트림은 다수의 패킷을 포함하고, 상기 패킷 중 하나 이상은 에러가 있으며,
    상기 방법은,
    상기 멀티미디어 데이터 스트림에서 상기 에러 있는 패킷에 후속하게 위치하는 패킷과 연관된 상기 디렉토리 정보의 일 부분을 식별하는 단계; 및
    상기 멀티미디어 데이터 스트림에 상기 후속하는 패킷을 위치시킴에 있어서 상기 식별된 부분의 디렉토리 정보를 이용하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  39. 제 38 항에 있어서,
    상기 후속하는 패킷은 상기 에러 있는 패킷 내에 위치하고,
    상기 방법은,
    상기 에러 있는 패킷으로부터 상기 후속하는 패킷을 파싱하는 단계; 및
    상기 파싱된 패킷을 에러가 있다고 플래그하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  40. 멀티미디어 데이터를 프로세싱하기 위한 프로세서로서,
    상기 멀티미디어 데이터 스트림을 수신하고;
    상기 멀티미디어 데이터 스트림과 연관된 적어도 일부의 헤더 정보를 포함하는 디렉토리를 수신하도록 구성된, 프로세서.
  41. 제 40 항에 있어서,
    상기 디렉토리를 이용하여 상기 멀티미디어 데이터 스트림 중 적어도 일부를 디코딩하도록 더 구성된, 프로세서.
  42. 제 40 항에 있어서,
    상기 디렉토리는 복수의 레코드를 더 포함하며,
    하나의 레코드는 상기 멀티미디어 데이터 스트림에서 패킷의 위치에 관한 정보를 포함하고,
    또한, 상기 프로세서는 상기 복수의 수신된 레코드 중 하나 이상에 기초하여 상기 멀티미디어 데이터 스트림에 상기 패킷 중 하나를 위치시키도록 더 구성된, 프로세서.
  43. 제 40 항에 있어서,
    상기 멀티미디어 데이터 스트림은 다수의 패킷을 포함하고, 상기 패킷 중 하나 이상은 에러가 있으며,
    상기 프로세서는,
    상기 멀티미디어 데이터 스트림에서 상기 에러 있는 패킷에 후속하게 위치하는 패킷과 연관된 상기 디렉토리 정보의 일 부분을 식별하고;
    상기 식별된 부분의 디렉토리 정보를 이용하여 상기 멀티미디어 데이터 스트림에 상기 후속하는 패킷을 위치시키도록 더 구성된, 프로세서.
  44. 제 43 항에 있어서,
    상기 후속하는 패킷은 상기 에러가 있는 패킷 내에 위치하고,
    상기 프로세서는,
    상기 에러 있는 패킷으로부터 상기 후속하는 패킷을 파싱하고;
    상기 파싱된 패킷을 에러가 있다고 플래그하도록 더 구성된, 프로세서.
  45. 멀티미디어 데이터를 프로세싱하기 위한 장치로서,
    멀티미디어 데이터 스트림을 수신하고, 상기 멀티미디어 데이터 스트림과 연관된 적어도 일부의 헤더 정보를 포함하는 디렉토리를 수신하기 위한 수신기; 및
    상기 수신된 디렉토리 중 적어도 일부를 저장하기 위한 메모리를 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  46. 제 45 항에 있어서,
    상기 디렉토리를 이용하여 상기 멀티미디어 데이터 스트림 중 적어도 일부를 디코딩하기 위한 디코더를 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  47. 제 45 항에 있어서,
    상기 디렉토리는 복수의 레코드를 더 포함하며,
    하나의 레코드는 상기 멀티미디어 데이터 스트림에서 패킷의 위치에 관한 정보를 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  48. 제 47 항에 있어서,
    상기 복수의 수신된 레코드 중 하나 이상에 기초하여 상기 멀티미디어 데이터 스트림에 상기 패킷 중 하나 이상을 위치시키기 위한 로케이터를 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  49. 제 45 항에 있어서,
    상기 헤더 정보는 패킷 사이즈, 패킷 수, 패킷 내의 헤더의 위치, 데이터 시퀀스 시간, 데이터 시퀀스 기간, 프레임 시간, 프레임 수, 랜덤 액세스 포인트 플 래그, 프레임 레이트, 및 그룹 내에 연관된 패킷의 수 중 하나 이상을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  50. 제 45 항에 있어서,
    상기 디렉토리는 상기 멀티미디어 데이터에서의 패킷을 오디오 패킷, 비디오 패킷 및 클로즈드 캡션 패킷 중 하나 이상으로서 식별하는 스트림 식별 정보를 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  51. 제 45 항에 있어서,
    상기 멀티미디어 데이터 스트림은 다수의 패킷을 포함하고, 상기 패킷 중 하나 이상은 에러가 있으며,
    상기 장치는,
    상기 멀티미디어 데이터 스트림에서 상기 에러 있는 패킷에 후속하게 위치하는 패킷과 연관된 상기 디렉토리 헤더 정보의 일 부분을 식별하기 위한 식별자; 및
    상기 식별된 부분의 디렉토리 헤더 정보를 이용하여 상기 멀티미디어 데이터 스트림에 상기 후속하는 패킷을 위치시키기 위한 로케이터를 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  52. 제 51 항에 있어서,
    상기 후속하는 패킷은 상기 에러 있는 패킷 내에 위치하고,
    상기 장치는,
    상기 에러 있는 패킷으로부터 상기 후속하는 패킷을 파싱하기 위한 파서; 및
    상기 파싱된 패킷을 에러가 있다고 플래그하기 위한 플래거를 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  53. 멀티미디어 데이터를 프로세싱하기 위한 장치로서,
    멀티미디어 데이터 스트림을 수신하고, 상기 멀티미디어 데이터 스트림과 연관된 적어도 일부의 헤더 정보를 포함하는 디렉토리를 수신하기 위한 수단; 및
    상기 디렉토리 중 적어도 일부를 저장하기 위한 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  54. 제 53 항에 있어서,
    상기 디렉토리를 이용하여 상기 멀티미디어 데이터 스트림 중 적어도 일부를 디코딩하기 위한 수단을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  55. 제 53 항에 있어서,
    상기 디렉토리는 복수의 레코드를 더 포함하며,
    하나의 레코드는 상기 멀티미디어 데이터 스트림에서 패킷의 위치에 관한 정보를 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  56. 제 55 항에 있어서,
    상기 복수의 수신된 레코드 중 하나 이상에 기초하여 상기 멀티미디어 데이터 스트림에 패킷을 위치시키기 위한 수단을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  57. 제 53 항에 있어서,
    상기 헤더 정보는 패킷 사이즈, 패킷 수, 패킷 내의 헤더의 위치, 데이터 시퀀스 시간, 데이터 시퀀스 기간, 프레임 시간, 프레임 수, 랜덤 액세스 포인트 플래그, 프레임 레이트, 및 그룹 내에 연관된 패킷의 수 중 하나 이상을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  58. 제 53 항에 있어서,
    상기 디렉토리는 상기 멀티미디어 데이터 스트림에서의 패킷을 오디오 패킷, 비디오 패킷 및 클로즈드 캡션 패킷 중 하나 이상으로서 식별하는 스트림 식별 정보를 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  59. 제 53 항에 있어서,
    상기 멀티미디어 데이터 스트림은 다수의 패킷을 포함하고, 상기 패킷 중 하나 이상은 에러가 있으며,
    상기 장치는,
    상기 멀티미디어 데이터 스트림에서 상기 에러 있는 패킷에 후속하게 위치하는 패킷과 연관된 상기 디렉토리 정보의 일 부분을 식별하기 위한 수단; 및
    상기 식별된 부분의 디렉토리 정보를 이용하여 상기 멀티미디어 데이터 스트림에 상기 후속하는 패킷을 위치시키기 위한 수단을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  60. 제 59 항에 있어서,
    상기 후속하는 패킷은 상기 에러 있는 패킷 내에 위치하고,
    상기 장치는,
    상기 에러 있는 패킷으로부터 상기 후속하는 패킷을 파싱하기 위한 수단; 및
    상기 파싱된 패킷을 에러가 있다고 플래그하기 위한 수단을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  61. 멀티미디어 데이터를 프로세싱하는 방법을 구현하는 컴퓨터 판독가능 매체로서,
    상기 방법은,
    멀티미디어 데이터 스트림을 수신하는 단계; 및
    상기 멀티미디어 데이터 스트림과 연관된 적어도 일부의 헤더 정보를 포함하는 디렉토리를 수신하는 단계를 포함하는, 컴퓨터 판독가능 매체.
  62. 제 61 항에 있어서,
    상기 디렉토리를 이용하여 상기 멀티미디어 데이터 스트림의 적어도 일부를 디코딩하는 단계를 더 포함하는, 컴퓨터 판독가능 매체.
  63. 제 61 항에 있어서,
    상기 디렉토리는 복수의 레코드를 더 포함하며,
    하나의 레코드는 상기 멀티미디어 데이터 스트림에서 패킷의 위치에 관한 정보를 포함하고,
    또한, 상기 방법은 상기 복수의 수신된 레코드 중 하나 이상에 기초하여 상기 멀티미디어 데이터 스트림에 패킷을 위치시키는 단계를 더 포함하는, 컴퓨터 판독가능 매체.
  64. 제 61 항에 있어서,
    상기 멀티미디어 데이터 스트림은 다수의 패킷을 포함하고, 상기 패킷 중 하나 이상은 에러가 있으며,
    상기 방법은,
    상기 멀티미디어 데이터 스트림에서 상기 에러 있는 패킷에 후속하게 위치하는 패킷과 연관된 상기 디렉토리 정보의 일 부분을 식별하는 단계; 및
    상기 멀티미디어 데이터 스트림에 상기 후속하는 패킷을 위치시킴에 있어서 상기 식별된 부분의 디렉토리 정보를 이용하는 단계를 더 포함하는, 컴퓨터 판독가 능 매체.
  65. 제 64 항에 있어서,
    상기 후속하는 패킷은 상기 에러 있는 패킷 내에 위치하고,
    상기 방법은,
    상기 에러 있는 패킷으로부터 상기 후속하는 패킷을 파싱하는 단계; 및
    상기 파싱된 패킷을 에러가 있다고 플래그하는 단계를 더 포함하는, 컴퓨터 판독가능 매체.
KR1020077029204A 2005-05-13 2006-05-15 대역외 디렉토리 정보를 이용한 에러 복원의 개선 KR100926017B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US68080905P 2005-05-13 2005-05-13
US60/680,809 2005-05-13
US78945406P 2006-04-04 2006-04-04
US60/789,454 2006-04-04

Publications (2)

Publication Number Publication Date
KR20080025370A true KR20080025370A (ko) 2008-03-20
KR100926017B1 KR100926017B1 (ko) 2009-11-11

Family

ID=37432019

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077029204A KR100926017B1 (ko) 2005-05-13 2006-05-15 대역외 디렉토리 정보를 이용한 에러 복원의 개선

Country Status (8)

Country Link
US (1) US8976858B2 (ko)
EP (1) EP1882343B1 (ko)
JP (2) JP2008546231A (ko)
KR (1) KR100926017B1 (ko)
DK (1) DK1882343T3 (ko)
ES (1) ES2739006T3 (ko)
HU (1) HUE045392T2 (ko)
WO (1) WO2006124854A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150146450A (ko) * 2014-06-23 2015-12-31 하만 베커 오토모티브 시스템즈 게엠베하 디지털 미디어 수송 스트림에서의 에러들을 정정하는 방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7724658B1 (en) 2005-08-31 2010-05-25 Chelsio Communications, Inc. Protocol offload transmit traffic management
US7660306B1 (en) 2006-01-12 2010-02-09 Chelsio Communications, Inc. Virtualizing the operation of intelligent network interface circuitry
US7706328B2 (en) * 2006-01-04 2010-04-27 Qualcomm Incorporated Methods and apparatus for position location in a wireless network
JP4912075B2 (ja) * 2006-08-11 2012-04-04 パナソニック株式会社 復号装置
US8935406B1 (en) 2007-04-16 2015-01-13 Chelsio Communications, Inc. Network adaptor configured for connection establishment offload
US8060644B1 (en) 2007-05-11 2011-11-15 Chelsio Communications, Inc. Intelligent network adaptor with end-to-end flow control
US8589587B1 (en) * 2007-05-11 2013-11-19 Chelsio Communications, Inc. Protocol offload in intelligent network adaptor, including application level signalling
US20090028100A1 (en) * 2007-07-25 2009-01-29 Qualcomm Incorporated Methods and apparatus for transmitter identification in a wireless network
US8230125B2 (en) * 2007-10-30 2012-07-24 Mediatek Inc. Methods for reserving index memory space in AVI recording apparatus
US20090274099A1 (en) * 2008-05-02 2009-11-05 Qualcomm Incorporated Methods and apparatus for communicating transmitter information in a communication network
US8406245B2 (en) * 2009-07-09 2013-03-26 Qualcomm Incorporated System and method of transmitting content from a mobile device to a wireless display
US9357275B2 (en) 2011-09-06 2016-05-31 Qualcomm Incorporated Network streaming of coded video data
KR102147475B1 (ko) * 2012-07-11 2020-08-26 한국전자통신연구원 Mpeg 데이터를 처리하는 방법 및 시스템
US9807421B2 (en) * 2013-04-05 2017-10-31 Sharp Kabushiki Kaisha NAL unit type restrictions
WO2014189278A1 (ko) * 2013-05-22 2014-11-27 엘지전자 주식회사 Ip 기반의 디지털 방송 시스템에서 계층간 시그널링 데이터 처리 방법 및 장치
US9794558B2 (en) * 2014-01-08 2017-10-17 Qualcomm Incorporated Support of non-HEVC base layer in HEVC multi-layer extensions
KR102191878B1 (ko) * 2014-07-04 2020-12-16 삼성전자주식회사 멀티미디어 시스템에서 미디어 패킷을 수신하는 방법 및 장치
US9645878B2 (en) * 2014-07-09 2017-05-09 Qualcomm Incorporated Error handling for files exchanged over a network
ES2865448T3 (es) * 2015-02-11 2021-10-15 Expway Procedimiento de gestión de pérdidas de paquetes en transmisiones basadas en la norma dash y el protocolo flute
US11115343B2 (en) * 2017-10-05 2021-09-07 Cisco Technology, Inc. Transport layer providing deterministic transport across multiple deterministic data links
CN108600773B (zh) * 2018-04-25 2021-08-10 腾讯科技(深圳)有限公司 字幕数据推送方法、字幕展示方法、装置、设备及介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2685082B2 (ja) 1991-03-12 1997-12-03 沖電気工業株式会社 Stm信号とatm信号の変換/逆変換方式
JPH08191284A (ja) 1995-01-10 1996-07-23 Hitachi Ltd Atm/stm変換方法及び装置
US6029200A (en) * 1998-03-09 2000-02-22 Microsoft Corporation Automatic protocol rollover in streaming multimedia data delivery system
FI105962B (fi) * 1998-06-30 2000-10-31 Nokia Mobile Phones Ltd Virheiden ilmaisu multipleksattuja signaaleja vastaanotettaessa
WO2000055854A1 (fr) * 1999-03-17 2000-09-21 Kabushiki Kaisha Toshiba Procede d'enregistrement de donnees en fluxet de leur structure
GB9930788D0 (en) * 1999-12-30 2000-02-16 Koninkl Philips Electronics Nv Method and apparatus for converting data streams
US20050203927A1 (en) * 2000-07-24 2005-09-15 Vivcom, Inc. Fast metadata generation and delivery
US20020174434A1 (en) 2001-05-18 2002-11-21 Tsu-Chang Lee Virtual broadband communication through bundling of a group of circuit switching and packet switching channels
US7631242B2 (en) * 2001-06-22 2009-12-08 Broadcom Corporation System, method and computer program product for mitigating burst noise in a communications system
JP3654230B2 (ja) 2001-10-18 2005-06-02 日本電気株式会社 通信システム
US20040199565A1 (en) * 2003-02-21 2004-10-07 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
GB2386275B (en) * 2002-03-05 2004-03-17 Motorola Inc Scalable video transmissions
DE10312030A1 (de) 2003-03-18 2004-09-30 Robert Bosch Gmbh Verfahren zur Übertragung von Multimedia-Objekten und digitaler Empfänger für Multimedia-Objekte
US7292692B2 (en) * 2003-03-25 2007-11-06 Sony Corporation Content scrambling with minimal impact on legacy devices
GB2406488A (en) * 2003-09-29 2005-03-30 Nokia Corp Sigalling in a communications network
US7222285B2 (en) * 2004-03-17 2007-05-22 Microsoft Corporation Layered multiple description coding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150146450A (ko) * 2014-06-23 2015-12-31 하만 베커 오토모티브 시스템즈 게엠베하 디지털 미디어 수송 스트림에서의 에러들을 정정하는 방법

Also Published As

Publication number Publication date
US20060268841A1 (en) 2006-11-30
EP1882343B1 (en) 2019-05-01
JP2011135609A (ja) 2011-07-07
WO2006124854A3 (en) 2007-11-15
JP5296123B2 (ja) 2013-09-25
HUE045392T2 (hu) 2019-12-30
JP2008546231A (ja) 2008-12-18
ES2739006T3 (es) 2020-01-28
EP1882343A4 (en) 2016-11-30
WO2006124854A2 (en) 2006-11-23
KR100926017B1 (ko) 2009-11-11
US8976858B2 (en) 2015-03-10
EP1882343A2 (en) 2008-01-30
DK1882343T3 (da) 2019-07-29

Similar Documents

Publication Publication Date Title
KR100926017B1 (ko) 대역외 디렉토리 정보를 이용한 에러 복원의 개선
KR100941336B1 (ko) 멀티미디어 스트리밍에서 최적화된 오류 관리를 위한디코더 아키텍쳐
KR100998454B1 (ko) 인 밴드 에러 패턴을 사용한 에러 복원
US7751324B2 (en) Packet stream arrangement in multimedia transmission
Bormann et al. RTP payload format for the 1998 version of ITU-T Rec. H. 263 video (H. 263+)
Tian et al. Improved H. 264/AVC video broadcast/multicast
Bormann et al. RFC2429: RTP Payload Format for the 1998 Version of ITU-T Rec. H. 263 Video (H. 263+)
Deisher et al. Network Working Group Request for Comments: 2429 C. Bormann Category: Standards Track Univ. Bremen L. Cline
Superiori et al. Robust error handling for video streaming over mobile networks
CN101218798A (zh) 使用频带外的目录信息改进抗错性

Legal Events

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

Payment date: 20121030

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 11