KR100971715B1 - 다이내믹한 네트워크 손실 조건에 대해 간단하게 적응하는 멀티미디어 서버 - Google Patents

다이내믹한 네트워크 손실 조건에 대해 간단하게 적응하는 멀티미디어 서버 Download PDF

Info

Publication number
KR100971715B1
KR100971715B1 KR1020047019907A KR20047019907A KR100971715B1 KR 100971715 B1 KR100971715 B1 KR 100971715B1 KR 1020047019907 A KR1020047019907 A KR 1020047019907A KR 20047019907 A KR20047019907 A KR 20047019907A KR 100971715 B1 KR100971715 B1 KR 100971715B1
Authority
KR
South Korea
Prior art keywords
data
network
information
transmitted
prioritized
Prior art date
Application number
KR1020047019907A
Other languages
English (en)
Other versions
KR20050008803A (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 KR20050008803A publication Critical patent/KR20050008803A/ko
Application granted granted Critical
Publication of KR100971715B1 publication Critical patent/KR100971715B1/ko

Links

Images

Classifications

    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0017Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
    • 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
    • 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/007Unequal error protection
    • 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
    • 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/0086Unequal error protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/37Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability with arrangements for assigning different transmission priorities to video input data or to video coded data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/67Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving unequal error protection [UEP], i.e. providing protection according to the importance of the data
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0098Unequal error protection

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

전방향 에러 코딩 동작에 의해 인코딩된 우선순위가 매겨진 데이터를 송신하기 위한 방법이 개시되어 있다. 미디어 객체는 정보의 하나의 기본 층과 적어도 하나의 확장 층으로 분리되며(210), 이때, 각 층은 관련된 패리티 데이터를 구비한다. 분류된 데이터로 형성된 분리된 미디어 객체의 데이터는 후에 인코딩되고 저장되며(220), 이를 통해, 상기 기본 층의 정보는 확장 층보다 송신에서 더 높은 우선순위로 할당된다. 이러한 우선순위 분류는, 서버가 우선순위가 매겨진 데이터로서 네트워크 조직을 통해 상기 분류된 데이터를 송신할 때(230) 사용된다. 부가적으로, 송신된 분류된 데이터의 구성은 네트워크 조건의 변화에 비추어서 조정된다(240).

Description

다이내믹한 네트워크 손실 조건에 대해 간단하게 적응하는 멀티미디어 서버{MULTIMEDIA SERVER WITH SIMPLE ADAPTATION TO DYNAMIC NETWORK LOSS CONDITIONS}
본 발명은 네트워크 조건을 기반으로 해서 우선순위가 매겨진 데이터를 송신하는 분야에 관한 것이다.
인터넷과 같은 통신 네트워크(네트워크 조직)의 발전과 광대역 연결의 넓은 수용으로, 선택되어 통신 네트워크를 거쳐서 온디맨드(on demand)로 전달될 수 있는 비디오 및 오디오 서비스(예컨대, 텔레비전 프로그램, 영화, 화상회의, 라디오 프로그래밍)가 소비자에 의해 요구되고 있다. 미디어 객체, 또는 스트리밍 오디오/비디오로 지칭되는 비디오 서비스는 스트리밍 미디어 전달에 일반적으로 사용되는 통신 네트워크의 버스트 속성 및 대역폭 제한으로 인해 품질의 문제를 종종 겪는다. 그러므로, 스트리밍 미디어 전달 시스템의 설계는 미디어 객체를 전달하는데 사용되는 코덱(인코더/디코더 프로그램), 전달된 미디어 객체를 프리젠트하는 데 있어서의 서비스 품질(QoS: Quality of Service) 문제, 및 신호로 전달되는 오디오 및 데이터와 같은 미디어 객체를 전달하는데 사용되는 통신 네트워크를 통한 정보 전송을 고려해야 한다.
코덱은 전형적으로 소프트웨어 및 하드웨어의 조합을 통해 구현된다. 이 시 스템은 통신 네트워크의 송신 말단에서 객체 데이터를 나타내는 데이터를 인코딩하고, 통신 네트워크의 수신기 말단에서 데이터를 디코딩하는데 사용된다. 코덱에 대한 설계시 고려사항은 네트워크에 걸친 대역폭 스케일러빌러티(scalability), 인코딩/디코딩 데이터의 계산 복잡성, 네트워크 손실(데이터 손실)에 대한 복원성, 및 미디어 스트림을 나타내는 데이터를 송신하는데 있어서의 인코더/디코더 시간지연(latency)과 같은 문제들을 포함한다. 이산 코사인 변환(DCT: Discrete Cosine Transformation)(예컨대, H.263+) 및 비-DCT 기술(예컨대, wavelets 및 fractals) 모두를 사용하는 일반적으로 사용되는 코덱은 이들 상기 상세하게 논의된 문제들을 고려한 코덱의 예이다. 코덱은 통신 네트워크에 걸쳐서 제한된 대역폭이 이용 가능하기 때문에 데이터를 압축 및 압축해제하는데도 사용된다.
서비스 품질(QoS: Quality of Service) 문제는 오디오 및 비디오 정보의 전달과 미디어 스트림을 시청하는 사용자의 전체적인 체험에 관한 것이다. 미디어 객체는 인터넷과 같은 통신 네트워크를 통해 패킷으로 알려진 개별 유닛으로 전달된다. 전형적으로는 순차적으로 송신된 이들 정보 유닛은 인터넷을 통해 일반적으로 서버나 라우터로 알려진 노드를 거쳐서 전송된다. 그러므로, 두 순차적으로 송신된 패킷은, 이들 패킷이 인터넷을 거쳐서 서로 다른 경로를 가질 수 있기 때문에 서로 다른 시간에 목적지 디바이스에 도달할 수 있다. 그 결과, 더 늦은 시간에 송신된 패킷이 더 일찍 송신된 패킷보다 앞서 목적지 디바이스에 의해 처리되고 디스플레이 될 수 있는 분산(dispersion)이라고 알려진 QoS 문제가 야기되고, 결국은 디스플레이된 이벤트의 불연속성을 초래할 수 있다. 유사하게, 패킷이 송신될 때 손실 될 수 있다. 목적지 디바이스는 전형적으로는 데이터 손실을 감추기 위한 에러 은폐 기술을 실행한다. 송신된 패킷의 수를 과할당(over-allocating)하거나 부하 상태(load state) 아래에서 네트워크의 품질을 개선하는 방법과 같은 네트워크를 통해 QoS를 보장하는 방법이 사용될 수 있지만, 이들 방법은 통신 네트워크 성능에 영향을 미치는 추가적인 오버헤드 요건을 초래한다.
통신 네트워크는 전송 프로토콜로 알려진 스키마(schema)를 사용하여 데이터 패킷의 전송을 제어한다. 인터넷 엔지니어링 태스크포스(IETF: Internet Engineering Task Force) 코멘트 요청(RFC: Request For Comments) 793에 기술된 전송 제어 프로토콜(TCP)은 통신 네트워크에 걸친 정보 흐름을 제어하는 잘 알려진 전송 프로토콜이다. 전송 프로토콜은 흐름 제어, 에러 제어, 및 데이터 패킷의 시간-조직화된 전달과 같은 파라미터를 유지관리함으로써 통신 네트워크를 안정화하려고 시도한다. 이들 유형의 제어는 통신 네트워크를 통해 디바이스 사이에 송신된 패킷의 헤더에 존재하거나, 또는 패킷과는 별개로 존재하는 명령의 사용을 통해 관리된다. 이러한 제어 정보는 데이터 패킷의 송신이 순서적으로 이뤄지는 경향이 있는, "동기적인" 방식으로 동작하는 통신 네트워크에 유효하다.
다른 유형의 미디어 객체는, 스트림 데이터 형태로, 비동기적으로 전달되거나 생성됨으로써 패킷 흐름이 일관되지 않을 수 있는 경향이 있다. 이들 패킷은 서로 다른 시간에 송신되고 수신되며, 그러므로, 비동기적이며, 여기서 수신된 패킷은 이러한 패킷의 헤더의 데이터를 참조하여 재구성된다. 비동기성 패킷 송신은 네트워크 조건이 패킷 송신(또는 수신)을 극단적으로 감소시켜서, 그 결과 서비스 네 트워크 손실, 열화(degradation), 또는 송신 종료를 요구하는 다른 조건을 초래할 때 어려움을 겪는다.
데이터 송신 시에 에러양을 감소시키는 한 방식은 전방향 에러 코딩(FEC: Forward Error Coding)으로 불리는 기술을 사용하며, 이 기술에서 몇몇 데이터가 데이터스트림 내에서 반복된다. FEC를 사용함으로써, 에러 은폐, 흐름 제어 등과 같은 에러 정정의 다른 방법은 사용자가 데이터스트림에서 송신된 미디어 객체를 성공적으로 획득하는데 필요치 않다. 그러나, FEC는 데이터스트림의 송신기가 송신 진행중에 데이터를 인코딩하는 인코더에 영향을 미치는 데이터 패킷의 손상(corruption) 또는 손실을 초래하는 네트워크 조건을 고려해야 하는 것을 요구한다.
FEC 동작에 의해 인코딩된 우선순위가 매겨진 데이터를 송신하는 방법이 개시되어 있다. 미디어 객체는 기본 층과 적어도 하나의 정보 확장 층을 형성하는 서로 다른 종류의 데이터로 분리되며, 이때 각 층은 연관된 패리티 데이터를 가지고 있다. 분류된 데이터로 형성된, 분리된 미디어 객체의 데이터는 후에 인코딩되고 저장되며, 이렇게 됨으로써, 기본 층의 정보는 확장 층 데이터보다 송신에 있어서 더 높은 우선순위로 할당된다. 이러한 우선순위 분류는 서버가 네트워크 조직을 통해 분류된 데이터의 혼합물을 우선순위 매겨진 데이터로서 송신할 때 사용된다.
도 1은 본 발명의 예시적인 실시예에 따라, 미디어 객체의 우선순위매김, 인 코딩 및 송신을 예시한 시스템을 도시한 도면.
도 2는 본 발명의 예시적인 실시예에 따라, 미디어 객체를 나타내는 분류된 데이터를 우선순위가 매겨진 데이터로서 생성하고 송신하기 위한 방법을 도시한 블록도.
도 3은 본 발명의 예시적인 실시예에 따라, 미디어 객체를 나타내는 우선순위가 매겨진 데이터를 디코딩하는 방법을 도시한 블록도.
본 명세서에서 사용된 바와 같이, 인코딩되고 후에 송신되는 멀티미디어 관련 데이터는 미디어 객체를 나타낸다. 용어, 정보 및 데이터는 또한 사전 또는 사후 인코딩된 오디오/비디오 데이터를 기술하는데 있어서 본 발명의 명세서 전반에 걸쳐서 동의어로서 사용된다. 용어, 미디어 객체는 오디오, 비디오, 텍스트, 멀티미디어 데이터 파일, 및 스트리밍 미디어 파일을 포함한다. 멀티미디어 파일은 텍스트, 이미지, 비디오, 및 오디오 데이터의 임의의 조합을 포함한다. 스트리밍 미디어는 인터넷이나 다른 통신 네트워크 환경을 통해 사용자의 디바이스에 전달되며, 전체 파일의 전달이 완료되기 이전에 사용자의 컴퓨터/디바이스 상에서 플레이되기 시작하는 오디오, 비디오, 멀티미디어, 텍스트, 및 대화형 데이터 파일을 포함한다. 스트리밍 미디어의 한 가지 장점은 스트리밍 미디어 파일이 전체 파일이 다운로드되기 이전에 플레이되기 시작하여, 사용자가 전체 파일을 다운로드하는 것과 보통 관련하여 장시간 대기하지 않아도 되도록 한다는 점이다. 디지털 방식으로 레코딩된 음악, 영화, 예고편, 뉴스 리포트, 라디오 방송, 및 생방송은 모두 웹 상 의 스트리밍 컨텐츠의 증가에 기여하여왔다. 게다가, 케이블, DSL, T1 라인 및 무선 네트워크(예컨대, 2.5G 또는 3G 기반 셀룰러 네트워크)와 같은 고-대역폭 연결의 사용을 통한 통신 네트워크 비용 감소는 뉴스 기구, 헐리웃 스튜디오, 독립 프로듀서, 레코드 라벨 및 심지어 가정 내 사용자 자신들로부터의 스트리밍 미디어 컨텐츠에 대한 더 고속의 액세스를 인터넷 사용자에게 제공하고 있다.
본 발명의 바람직한 실시예는 전방향 소거 정정(FXC: Forward Erasure Correction)으로 알려진 FEC 기술 서브셋을 사용하며, 이 정정 기술에서, 미디어 객체의 컨텐츠는 별도의 구획(partition)들로 사전-인코딩된다. 종래기술에서 알려진 기술을 사용하여, 미디어 객체는 분류된 데이터로 지칭되는 서로 다른 등급의 데이터로 인코딩된다. 각 데이터 등급은 서로 다른 정보 층(즉, 기본 및 확장 층)을 나타내며, 여기서, 기본 층은 미디어 객체를 렌더링하는데 필수적인 데이터를 나타내며, 확장 층은 덜 필수적이지만 렌더링된 미디어 객체에 상세사항을 추가하는데 중요한 데이터이다.
분류된 데이터는 인코딩된 미디어 객체의 기본 및 확장 층을 나타내는 데이터 함께 송신되는 패리티 데이터를 생성하는데 있어서, 리드 솔로몬(RS) 코드와 같은 체계적인 FXC 코드를 사용하여 더 정련된다. 구체적으로, RS는 여러 세기의 소거 코드를 생성하는데 사용되며, 이를 통해 통신 데이터에 대한 오버헤드율이 서로 다른 (n, k) 파라미터를 갖는 RS 코드를 사용하여 생성될 수 있으며; n은 송신될 데이터의 총양(패리티 데이터를 갖는 인코딩된 층 데이터)이며, k는 인코딩된 데이터의 양이다.
소거 정정에 사용될 때, RS 코드는 h=n-k 소거(즉 송신된 데이터스트림에서 손실된 데이터의 양)까지 정정할 수 있다. 만약 예시적인 시스템이 송신된 데이터의 기초로서 8비트 심벌을 갖는 갈루아 필드(Galois Field)를 사용한다면, n의 최대값은 q=p^r로 계산된다(q=n의 최대값, p=데이터 상태의 양, r=데이터 상태를 갖는 항목의 수). 그러므로, 8비트 심벌에 대해, p=2(두 상태를 갖는 한 비트) 및 r=8(비트수), n의 최대값은 255이다.
더 짧은 길이의 FXC는 원하는 또는 필요한 만큼 많은 패리티 비트를 단지 계산하고 송신함으로써 사용될 수 있다. 일단 최대 n이 계산되면, 더 작은 RS(n', k)는 RS(n,k) 코드로부터 유도될 수 있으며, 여기서 n'<n이며, 이것은 원하는 소거 보호 세기에 따라 변경된다(L. Rizzo가 저술한 "Effective Erasure Codes for Reliable Computer Communications Protocols", Computer Communication Review지, 27(2): 페이지 24 내지 36, 1997년 4월을 참조바람). 인코딩된 데이터에 대한 계산된 패리티 비트는 네트워크 조건이나 인코더 성능에 따라 변할 수 있다.
2^8 갈루아 필드를 기반으로 한 바이트 기반 코드를 인코딩하는 예로서, n의 최대값(255)이 계산된다. RS(n',k) 코드가 선택되며, 여기서, 리드 솔로몬 코드는 RS(255, k)를 기반으로 하며, n'-k 패리티 바이트는 인코딩된다. n'의 값이 증가함에 따라, 인코딩된 원래 패리티 바이트(n'-k)는 변하지 않는다. 즉, RS(255, 10)를 기반으로 한 RF(11, 10)에 대한 리드 솔로몬 코드에 대해, 11번째 패리티 바이트는 RS(12, 10) 코드에서의 11 번째 패리티 바이트와 동일한 값을 갖는다. 본 발명의 원리는 인코딩/송신 시스템의 필요에 따라 n, n', p, r, 및 k의 서로 다른 값을 수 용하도록 변경될 수 있음을 주목해야 한다.
바람직하게, 데이터의 RS 코딩은 패킷 또는 프레임에 걸쳐서 인터리빙된다. 즉, 전체 패킷이나 프레임은 정보나 패리티 데이터 중 어느 하나로 구성될 것이다. 이들 패킷은, 손실 패킷을 식별하는 프로세스를 간략화하기 위해, 패킷 헤더에서의 정보에 의해 식별될 수 있다. 그러므로, 미디어 객체 요청자는, 패킷 헤더가 순차적으로 생성되고, 이 숫자적인 시퀀스에서 갭이 있다면 손실 패킷을 식별할 수 있을 것이다. 실시간 전송 프로토콜(RTP)은 순차 패킷 헤더를 생성하는데 사용된 하나의 전송 메커니즘이지만, 다른 전송 프로토콜이 본 발명의 원리에 따라 선택될 수 있다.
추가적으로, 채널 손상 보호의 서로 다른 레벨은 패리티 패킷을 몇 개의 멀티캐스트 그룹으로 그룹화함으로써 달성된다. 이러한 데이터를 수신한 고객은 필요한 만큼 많은 멀티캐스트 그룹에 연결함으로써(또는 이러한 그룹을 나옴으로써) 채널 손상 보호 레벨을 조정할 수 있어서, 고객은 필요한 경우 더 많은 멀티개스트 그룹에 연결함으로써 채널 대역폭을 증가시켜 데이터 손상에 적응할 수 있다. 이러한 멀티캐스팅 기술은, FXC 인코더의 소스-인코딩 율이 컨텐츠가 본 발명의 예시적인 실시예에 있어서 사전-인코딩되어 저장 디바이스 상에 저장되는 경우에 보통 조정되지 않기 때문에, 기술된다.
서로 다른 등급의 데이터 층들로 분리된 미디어 객체를 인코딩할 때, 기본 층 데이터에 대해 더 높은 FXC 세기를 제공하고, 확장 층 데이터에 대해 더 낮은 FXC 세기를 제공하는 것이 바람직할 수 있으며, 이것은 에러 보호가 같지 않은 스 케일러블 비디오 압축을 사용하여 달성된다. 본 발명의 예시적인 실시예에 대해, 미디어 객체는 분류된 데이터의 두 층으로 분리된다: 기본 층 정보(Bi) 및 확장 층 정보(Ei). 그에 따라, 기본 층은 패리티 데이터(Bp)를 가지며, 확장 층은 패리티 데이터(Ep)를 가지며; 층 각각과 패리티 데이터는 각자 자신만의 데이터 유형이 부여된다. Bi 및 Bp는 Ei 및 Ep 데이터보다 더 중요한 데이터이며, 이는 Bi 및 Bp 데이터는 Ei 및 Ep 데이터보다 미디어 객체를 렌더링하는데 더 필수적이기 때문이다. 본 발명의 원리는 미디어 객체가 필요한 만큼 많은 층으로, 예컨대 하나의 기본 층과 다수의 확장 층으로 우선순위가 매겨지는 경우에 적용됨을 주목해야 한다.
도 1에서 인코딩 시스템(100)으로서 도시된 본 발명의 예시적인 실시예는 인코딩된 미디어 객체로부터 압축된 비트스트림을 생성하는 스케일러블 비디오 인코더(110)를 제공한다. 스케일러블 비디오 인코더(110)는 소프트웨어, 하드웨어, 또는 이들 둘의 조합으로 구현될 수 있다. 미디어 객체는 전술된 바와 같이 분류된 데이터의 분리된 층으로 나누어지며, 여기서, 일단 분리되면, 데이터는 각 층에 할당된 우선순위에 대응하는 비트스트림에 배치되며, 통신 네트워크나 인터넷과 같은 네트워크 조직(160)을 통한 네트워크 송신용 패킷으로 패킷화된다. 바람직하게, 각 층은 체계적인 FEC 인코더(115, 120)를 사용하여 네트워크 패킷 손실에 대비한 보호를 위해 패킷에 걸쳐서 FXC 인코딩된다. 분류된 데이터의 각 층의 우선순위는 미디어 객체를 렌더링하는데 궁극적으로 사용된 송신된 데이터의 중요도와 관련된다.
좀더 상세하게, 본 예시적인 실시예에서, 스케일러블 비디오 인코더(110)는 미디어 객체를 기본 층과 확장 층을 나타내는 두 개의 층으로 분리한다. 기본 층을 나타내는 데이터는 FEC 인코더(115) 내로 입력되며, 여기서, Bi 정보는 FXC 인코딩 프로세스를 통해 생성된다. 이렇게 생성된 데이터는 Bi 저장장치(125)에서 사전-인코딩된 데이터로서 저장된다. FEC 인코더(115)는 또한 Bi 정보를 생성할 때 Bp 저장장치(130)에서 저장된 Bp 데이터를 생성한다.
유사하게, 확장 층을 나타내는 데이터는 FEC 인코더(120) 내로 입력되며, 여기서, Ei 정보는 FXC 인코딩 프로세스를 통해 생성된다. 이러한 생성된 데이터는 E i 저장장치(135)에 사전-인코딩된 데이터로서 저장된다. FEC 인코더(115)는 Ei 정보를 생성할 때 Ep 저장장치(140)에 저장된 Ep 데이터를 또한 생성한다. 서로 다른 세기의 FXC 코드는 네트워크 및 시스템 요건에 따라 기본 및 확장 층에 대해 사용될 수 있다. 바람직하게, 송신된 RS 코드의 FXC 세기를 조정할 때, 데이터 패킷의 컨텐츠 지시는 데이터 패킷 헤더에서 또는 별도의 종속(side) 정보로서 송신된다.
요청이 네트워크 조직(160)을 통해 미디어 객체에 대해 이뤄질 때, 멀티미디어 서버(150)는 바람직하게는 미디어 객체의 요청자에게 영향을 미치는 이용 가능한 대역폭 및 예상된(또는 실시간) 네트워크 손실 조건을 결정한다. 이러한 유형의 결정은 사용자 프로필, 미디어 객체에 대한 요청 시에 통신된 정보, 이력 네트워크 조건(historical network condition), {데이터 송신 동안에 얻어진 실시간 전송 제어 프로토콜(RTCP) 보고와 같은} 네트워크 서비스 보고 정보 등을 기반으로 하여 이루어질 수 있다. 부가적으로, 멀티미디어 서버(150)는 가능한 네트워크 손실을 추정하기 위해 사전-인코딩된 미디어 객체를 전달하는데 사용될 네트워크 경로 유형을 결정한다. 예컨대, 멀티미디어 서버(150)는 무선 연결이 데이터를 통신하기 위해 사용될 때 육상통신선 또는 광대역 연결에 대비하여 데이터의 더 높은 손실율을 예상한다.
멀티미디어 서버(150)는 네트워크 조건의 결정에 응답하여, 선택된 데이터에 할당된 우선순위 레벨을 기반으로 하여 그 관련된 저장 영역으로부터 Bi, Bp, Ei, 및 Ep 데이터를 선택한다. 이러한 우선순위 레벨은 미디어 객체를 렌더링하는데 사용될 때의 데이터의 중요도에 관련된다. 그러므로, 기본 층 데이터가 좀더 중요한 것으로 간주되며, 네트워크 정체(congestion) 기간 동안에 확장 층 데이터 보다 아마도 더 잘 송신될 것이다. 송신될 데이터 종류를 선택한 이후, 멀티미디어 서버(150)는 이러한 선택된 데이터를 우선순위를 매기며 포맷함으로써 분류된 데이터의 구성을 생성한다. 우선순위가 매겨진 데이터로 알려진 분류된 데이터의 이러한 구조는 멀티미디어 인코더(150)를 반영하여, 네트워크 조건에 비추어서 송신된 데이터의 종류를 조정하며, 여기서, 기본 층 정보의 최소 레벨이 미디어 객체를 렌더링하는데 필요하다. 네트워크 조건이 개선됨에 따라, 분류된 데이터의 구성은 더 많은 확장 층 정보 및 관련된 패리티 정보를 포함한다.
멀티미디어 서버(150)는 우선순위가 매겨진 데이터의 데이터 패킷을 네트워크 조직(160)을 통해 송신한다. 특히, 멀티미디어 서버(150)는 그 각자의 우선순위 분류에 따라 송신된 Bi, Bp, Ei, 및 Ep의 구성을 조정함으로써 미디어 객체의 요청자에 의해 수신된 멀티미디어 데이터의 재생 품질을 최적화하려고 노력한다. 예컨대, 만약 데이터 손실이 네트워크로부터 예상되지 않는다면, 멀티미디어 서버는 Bi 및 Ei 정보 모두를 데이터 패킷에서 송신한다. Bp 및 Ep 데이터는 공간/대역폭이 허용하는 데로 송신되며, 이때 바람직하게는 Ep 데이터보다 더 많은 Bp가 송신된다.
예상된 레벨의 네트워크 손실이 있을 때, 멀티미디어 서버(150)는 우선순위가 매겨진 데이터를 형성하는 구성에서 Ep 데이터를 Bp 데이터로 대체한다. 예상된 네트워크 손실의 매우 높은 레벨을 통해, 멀티미디어 서버는 송신된 Ei 정보의 양을 Bp 데이터로 대체하며, 이는 요청된 미디어 객체는 Bp 데이터를 사용하여 수신되거나 복구된 Bi 정보의 베이스라인(baseline)없이 렌더링될 수 없을 것이기 때문이다. 네트워크의 물리적인 또는 사전설정된 대역폭 제한으로 인한 미디어 객체 요청자가 이용할 수 있는 대역폭에 대한 제한이 있을 수 있음을 주의해야 한다.
본 발명의 부가적인 실시예에서, 멀티미디어 서버(150)는 상술된 바와 같이 예상된 네트워크 손실의 양을 결정함으로써 미디어 객체의 요청자로의 전달을 최적화하고자 시도한다. 요청자에 대한 대역폭이 고정된다면, 멀티미디어 서버(150)는 예상된 네트워크 손실에 응답하여 정정된 에러율을 달성하는데 필요한 Bp 데이터 양 및 Bi 정보 구성을 송신한다. 만약 Bi 및 Bp 데이터의 송신 이후 임의의 이용 가능한 대역폭이 있다면, 멀티미디어 서버(150)는 이 공간을 먼저는 Ei로 채우고, 그런 다음 Ep 데이터로 채운다. Bp를 송신하는 것과 Ei 또는 Ep를 송신하는 것 사이의 절충은 네트워크 손실 조건의 예상된 범위, 스케일러블 인코딩 효율, 시청자 선호도, 네트워크 내의 노드 등과 같은 많은 인자에 의존한다.
바람직하게, 멀티미디어 서버(150)는 인코딩된 미디어 객체를 나타내는 Bi, Bp, Ei, 및 Ep 데이터를 송신할 때 높은 세기의 FXC 코드를 사용할 것이다. 시스템 (100)을 사용함으로써, 저장된 FXC 코드는 예상된 네트워크 조건이 새로운 미디어 객체 요청자에 대해 변할 때마다 재계산될 필요는 없을 것이다.
인코딩 시스템(100)의 동작에서, 시간 인코딩 기술은 공간, 신호잡음비(SNR), 또는 간단한 데이터 분할 인코딩 기술에 비해 선호되며, 이는 시간 기반 프로세스는 "변동(drift)"의 문제를 겪지 않기 때문이다. 특히, 우선순위가 매겨져 있고, 층으로 분리되어진 미디어 객체를 디코딩할 때, 변동 기간은 기본 층 데이터만을 디코딩한 이후 기본 및 확장 층 데이터를 디코딩할 때 발생한다. 이 기본 및 확장 층 데이터로부터 렌더링된 재구성된 미디어 객체(특히 비디오)는 마치 단지 기본 층 데이터 시간 동안에 렌더링되고 있었던 것처럼 계속 보일 것이다. 이러한 변동 효과는, 기본 및 확장 층이 미디어 객체를 디코딩하기 위해 오로지 사용되었을 경우에 최소화된다.
변동의 문제는, 시간적으로 인코딩된 비디오 기반 미디어 객체는 확장 층에서 양방향 "B" 코딩된 화상을 배치하고, "I" 및 "P" 프레임이 기본 층에 배치될 때 제거된다. 바람직하게, 확장 층 내의 B 코딩된 화상은 다른 화상을 예상하는데 사용되지 않는다. 그러므로, 미디어 서버(150)가 Ei 정보 대신 Bp 데이터를 송신할 때, 미디어 객체 요청자의 비디오 프레임 율은 감소되지만, 만약 FXC 코드 세기가 모든 네트워크 손실을 정정하기에 충분하다면 프레임 당 비디오 품질은 감소되지 않는다.
네트워크 장애 기간 동안, 미디어 객체 요청자는 비디오 프레임 율을 증가시키기 위해 수신된 Ei 정보를 정확하게 사용하며, 이러한 프레임 율은 단지 기본 층 데이터를 사용하는 비디오 프레임 율보다 더 클 것이다. 네트워크 조건이 개선될 때, 더 많은 Ei 정보가 송신되며, 비디오의 프레임 율은 마찬가지로 개선될 것이며, 렌더링된 비디오의 품질도 증가할 것이다. 부가적으로, 미디어 객체 요청자( 또는 미디어 객체 요청자의 디코더)는 우선순위 데이터로서의 송신된 Bi, Bp, Ei, 및 Ep의 구성은 네트워크 조건에 따라 변경되어야 함을 요청할 수 있다. 멀티미디어 서버(150)는 이러한 요청을 구현한다.
이상적으로, Bi, Bp, Ei, 및 Ep 데이터는 데이터 패킷으로 패킷화되며, 여기서 고정된 크기의 데이터 패킷이 사용된다. 멀티미디어 서버(150)는 일정한 데이터 송신율을 유지하는데 있어서, 송신하는 동안에 전체 데이터 패킷을 교환(swap)할 수 있다. 그러나, 이러한 기술에 대한 결점은 IETF RFC 2250과 RFC 2190에서 제안된 바와 같이 비디오 프레임 또는 슬라이스와 데이터 패킷 사이의 대응을 방지한다. 본 발명의 대안적인 실시예는 데이터 패킷이, 데이터 패킷을 패킷화하고 처리하기 위해 선택된 기술에 의존하는, 비디오 프레임이나 슬라이스에 대응하는 경우에 지원된다.
도 2는 본 발명의 예시적인 실시예에 따라 멀티미디어 서버(150)에 의해 미디어 객체를 나타내는 우선순위가 매겨진 데이터의 송신하기 위한 방법(200)의 블록도를 나타낸다. 단계(210)에서, 스케일러블 비디오 인코더(110) 및 FEC 인코더(115 및 120)는 분류된 데이터의 레벨로 미디어 객체를 인코딩한다. 특히, 스케일러블 인코더(110)는 미디어 객체를 분리된 층으로 표기된 몇 개의 종류의 데이터로 분리하며, 이때 각 층은 미디어 객체를 렌더링하는데 사용된 데이터의 중요도에 대 응한다. 데이터 층은 정보의 기본 층과 적어도 하나의 확장 층(들)을 형성한다. 분류된 데이터의 분리된 층은 FXC 인코딩을 위해 FEC 인코더(115 및 120)에 중계된다. 인코딩 프로세스 동안에, 각 층에 관련된 패리티 데이터가 생성되어 후에 단계(220)에 저장된다. 중요하게도, 기본 층 정보는 Bi 저장장치(125)에 저장되며, 관련된 우선순위 정보는 Bp 저장장치(130)에 저장되는 바와 같이, 각 층에 대응하는 생성된 정보와 패리티 데이터는 이들의 각 저장 영역에 저장된다. 부가적으로, 분류된 데이터 층의 갯수만큼 많은 수의 저장 영역이 있다.
멀티미디어 서버(150)는, 미디어 객체에 대한 요청에 응답하여, 분류된 데이터의 구성을 우선순위가 매겨진 데이터로 우선순위를 매기며, 단계(230)에서 네트워크 조건에 응답하여 이러한 데이터를 송신한다. 분류된 데이터의 우선순위는 분류된 데이터의 각 층에 할당된 우선순위 레벨에 의해 결정된다. 멀티미디어 서버(150)는 분류된 데이터의 구성을, 우선순위가 매겨진 데이터로서 네트워크 조건에 비추어서 형성한다. 네트워크 조건이 데이터 손실을 초래할 때, 더 높은 우선순위 레벨의 데이터는 더 낮은 우선순위 레벨의 데이터보다 더 잘 송신될 것이다. 반대로, 더 낮은 우선순위의 데이터는 네트워크 조건이 훨씬 더 적은 데이터 패킷이 손실되게 할 때 더 잘 송신될 것이다.
전술된 바와 같은, 네트워크 조건 결정은 예상된 또는 실시간 네트워크 조건일 수 있다. 그에 따라, 멀티미디어 서버(150)는 네트워크 조건에 따라 저장장치(125, 130, 135, 및 140)로부터 데이터를 회수한다. 만약 네트워크가 많은 문제점을 겪는다면, 더 많은 Ei 및 Ep 데이터가 송신되는 어떤 네트워크 문제도 없는 기 간에 비해 더 많은 Bi 및 Bp 데이터가 회수되고, 네트워크 조직(160)을 통해 송신된다.
멀티미디어 서버(150)는 단계(240)에서 우선순위가 매겨진 데이터를 형성하는 분류된 데이터의 구성을 네트워크 조건의 변화에 응답하여 조정한다. 만약 네트워크 조건이 개선된다면, 멀티미디어 서버(150)는 더 많은 확장 층 관련 정보(Ei, Ep)를 송신할 것이다. 만약 네트워크 조건이 송신 동안에 악화된다면, 멀티미디어 서버(150)는 확장 층 관련 데이터를 더 많은 기본 층 관련 데이터(Bi, Bp)로 대체할 것이다. 이러한 프로세스는 네트워크 조건이 빈번하게 변하기 때문에 단계(230 및 240) 사이에서 반복될 수 있다.
도 3은 본 발명의 원리에 따라 동작하는 우선순위가 매겨진 데이터를 디코딩하는 디코더의 예시적인 실시예에 대한 방법(300)의 블록도를 제시한다. 특히, 단계(310)에서, 미디어 객체 요청자는 네트워크 조직(160)을 통해 미디어 객체를 요청한다. 멀티미디어 서버(150)는 바람직하게는 이 요청을 수신하며, 여기서 요청자의 현재 네트워크 조건은 이 요청과 함께 수신된다.
단계(320)에서, 미디어 객체 요청자에 의해 사용된 디코더는 수신된 우선순위가 매겨진 데이터를 처리하기 시작하며, 여기서 이러한 데이터는 바람직하게는 적어도 Bi 정보를 갖는다. 디코더는 미디어 객체를 오디오, 비디오, 또는 이들 둘의 조합을 렌더링하기 위해 분류된 데이터의 구성으로 형성된 우선순위가 매겨진 데이터를 사용한다. 만약 디코더가 더 많은 Ei 데이터를 수신한다면, 디코더는 단지 Bi 정보로만 가능한 것보다 더 높은 레벨의 품질에서 미디어 객체를 렌더링한 다. 기본 층이나 확장 층(들) 중 어느 하나에 관계된 패리티 데이터의 수신은, 네트워크 조건이 송신된 데이터의 손실을 초래하는 경우 분실된 Bi 또는 Ei 정보의 생성을 돕는다.
본 발명의 부가적인 실시예에서, 디코더는, 만약 미디어 객체를 나타내는 데이터 패킷을 수신하는 동안 데이터가 손실되었다면, FXC 디코딩을 사용한다. 특히, 디코더는 Bi나 Ei 정보 중 어느 하나를 나타내는 송신된 데이터 모두를 수신할 수 없다. FXC 디코딩을 사용함으로써, 디코더는 수신된 Bp 데이터로부터 분실된 Bi 정보와 수신된 Ep 데이터로부터 분실된 Ei 정보를 생성한다.
디코더는, 단계(330)에서, 우선순위가 매겨진 데이터로서 송신된 분류된 데이터의 구성이 변해야 함을 요구하며, 이는 네트워크 조건이 서로 다르기 때문이다. 특히, 디코더는 네트워크 조건이 저하되기 때문에 확장 층 정보가 기본 층 패리티 데이터에 의해 대체될 것을 요구하거나, 또는 네트워크 조건이 개선되기 때문에 더 많은 확장 층이나 패리티 데이터를 요구한다. 미디어 객체 요청자의 디코더의 메커니즘은 스케일러블 비디오 인코더(110)의 동작의 역과 유사하다.
본 발명은 이들 프로세스를 실행하기 위한 컴퓨터로 구현된 프로세스 및 장치 형태로 실현될 수 있다. 본 발명은 플로피 디스켓, 판독전용 메모리(ROM), CD-ROM, 하드드라이브, 고밀도 디스크나 임의의 다른 컴퓨터로 판독 가능한 저장매체와 같은 유형 미디어(tangible media)내에 저장된 컴퓨터 프로그램 코드 형태로 또한 실현될 수 있으며, 여기서, 컴퓨터 프로그램 코드가 컴퓨터에 로딩되고 실행될 때, 컴퓨터는 본 발명을 실행하기 위한 장치가 된다. 본 발명은 예컨대 저장 매체 에 저장되는지, 컴퓨터에 로딩되고 및/또는 실행되는지, 또는 전기 배선이나 케이블을 통해서, 광섬유를 거쳐서, 또는 전자기 방사를 통해서와 같은 어떤 송신 매체를 통해 송신되는지간에 컴퓨터 프로그램 코드의 형태로 또한 실현될 수 있으며, 여기서, 컴퓨터 프로그램 코드가 컴퓨터 내로 로딩되고 실행될 때, 컴퓨터는 본 발명을 실행하기 위한 장치가 된다. 범용 프로세서에서 실현될 때, 상기 컴퓨터 프로그램 코드 세그먼트는 프로세스가 특정한 논리 회로를 생성하도록 구성한다.
상술한 바와 같이, 본 발명은 네트워크 조건을 기반으로 해서 우선순위가 매겨진 데이터를 송신하는 분야에 이용된다.

Claims (22)

  1. 기본 층 정보와 확장 층 정보를 나타내는 분류된 데이터로 인코딩된 미디어 객체를 나타내는 데이터를 네트워크 조직을 통해 통신하기 위한 방법으로서,
    상기 분류된 데이터의 구성을 네트워크 조건에 응답하여 우선순위가 매겨진 데이터로서 송신하는 단계로서, 상기 분류된 데이터는 관련된 기본 층 패리티 정보를 갖는 적어도 하나의 기본 층 정보와 관련된 확장 층 패리티 정보를 갖는 적어도 하나의 확장 층 정보를 포함하는, 분류된 데이터의 구성을 송신하는 단계와;
    상기 네트워크상의 데이터 손실을 초래하는 네트워크 조건의 변화에 응답하여 송신을 위한 우선순위가 매겨진 데이터의 구성을 조정하는 단계로서, 상기 확장 층 데이터의 분량이 감소되고, 상기 기본 층과 관련된 상기 패리티 정보의 데이터 분량이 증가되며, 상기 기본 층의 상기 데이터 분량은 동일하게 유지되는, 우선순위가 매겨진 데이터의 구성을 조정하는 단계를,
    포함하는, 미디어 객체를 나타내는 데이터를 네트워크 조직을 통해 통신하기 위한 방법.
  2. 제 1항에 있어서, 상기 분류된 데이터는 사전-인코딩되는, 미디어 객체를 나타내는 데이터를 네트워크 조직을 통해 통신하기 위한 방법.
  3. 제 1항에 있어서, 상기 송신하는 단계는 멀티미디어 서버에 의해 가능케 되는, 미디어 객체를 나타내는 데이터를 네트워크 조직을 통해 통신하기 위한 방법.
  4. 제 1항에 있어서, 상기 우선순위가 매겨진 데이터는 시간 스케일러빌러티(temporal scalability) 및 데이터 분할 중 적어도 하나로부터 선택된 인코딩 동작에 의해 인코딩되는, 미디어 객체를 나타내는 데이터를 네트워크 조직을 통해 통신하기 위한 방법.
  5. 제 1항에 있어서, 상기 우선순위가 매겨진 데이터는 순차적으로 번호가 매겨진 데이터 패킷으로서 송신되는, 미디어 객체를 나타내는 데이터를 네트워크 조직을 통해 통신하기 위한 방법.
  6. 삭제
  7. 기본 층 정보와 확장 층 정보를 나타내는 분류된 데이터로 인코딩된 미디어 객체를 나타내는 데이터를 네트워크 조직을 통해 통신하기 위한 방법으로서,
    네트워크 조건에 응답하여 우선순위가 매겨진 데이터로서 상기 분류된 데이터의 구성을 송신하는 단계로서, 상기 분류된 데이터는 관련된 기본 층 패리티 정보를 갖는 적어도 하나의 기본 층 정보와 관련된 확장 층 패리티 정보를 갖는 적어도 하나의 확장 층 정보를 포함하는, 분류된 데이터의 구성을 송신하는 단계와;
    상기 네트워크상의 데이터 손실을 초래하는 네트워크 조건의 변화에 응답하여 송신을 위한 우선순위가 매겨진 데이터의 구성을 조정하는 단계로서, 네트워크 조건이 상기 미디어 객체를 렌더링하기에 알맞을 때 관련된 기본 층 패리티 정보의 분량이 감소되고, 우선순위 데이터의 구성을 형성하는 상기 확장 층 정보의 분량이 증가되며, 상기 기본 층 정보의 분량은 동일하게 유지되는, 우선순위가 매겨진 데이터의 구성을 조정하는 단계를,
    포함하는 미디어 객체를 나타내는 데이터를 네트워크 조직을 통해 통신하기 위한 방법.
  8. 제 1항에 있어서, 상기 분류된 데이터는 리드 솔로몬 코드를 사용하여 전방향 에러 정정 코드 동작에 의해 사전-인코딩되며, 상기 분류된 데이터는 데이터 등급에 따라 저장되는, 미디어 객체를 나타내는 데이터를 네트워크 조직을 통해 통신하기 위한 방법.
  9. 제 8항에 있어서, 멀티미디어 서버는 데이터 등급에 대응하여 데이터 저장 장치에 액세스함으로써 네트워크 조건을 기초로 해서 송신될 우선순위가 매겨진 데이터의 구성을 선택하는, 미디어 객체를 나타내는 데이터를 네트워크 조직을 통해 통신하기 위한 방법.
  10. 제 1항에 있어서, 확장 정보 및 관련 우선순위 데이터의 하나 보다 많은 층은 상기 분류된 데이터를 형성하는, 미디어 객체를 나타내는 데이터를 네트워크 조직을 통해 통신하기 위한 방법.
  11. 제 1항에 있어서, 상기 송신 단계 동안에 고려된 네트워크 조건은 이용 가능한 대역폭, 송신된 데이터의 예상된 손실, 사용자 프로필을 기초로 해서 송신된 데이터의 실제 손실, 이력(historic) 네트워크 조건, 및 상기 우선순위가 매겨진 데이터로서 송신된 분류된 데이터의 구성에 대한 특정한 요청 중 적어도 하나를 포함하는, 미디어 객체를 나타내는 데이터를 네트워크 조직을 통해 통신하기 위한 방 법.
  12. 제 1항에 있어서, 상기 조정 단계 동안에 고려된 네트워크 조건은 이용 가능한 대역폭의 변화, 송신된 데이터의 예상 손실의 변화, 송신된 데이터의 손실의 변화, 및 상기 우선순위가 매겨진 데이터로서 송신된 상기 분류된 데이터의 구성을 변화하라는 요청 중 적어도 하나를 포함하는, 미디어 객체를 나타내는 데이터를 네트워크 조직에 걸쳐서 통신하기 위한 방법.
  13. 미디어 객체를 나타내는 데이터를 통신하기 위한 방법으로서,
    네트워크 조건을 결정하는 단계와:
    상기 네트워크 조건의 변화에 따라 우선순위가 매겨진 데이터를 송신하는 단계로서,
    상기 우선순위가 매겨진 데이터는 각 층의 정보와 관련된 패리티 데이터를 구비하는 정보의 적어도 하나의 기본 층과 정보의 적어도 하나의 확장 층을 나타내는 분류된 데이터 구성으로서 생성되며;
    관련된 패리티 데이터를 갖는 송신된 기본 층 정보와 관련된 패리티 데이터를 갖는 상기 확장 층 정보의 구성은 네트워크 조건에 응답하여 결정되며,
    (i) 상기 네트워크 조건의 변화가 개선된 경우에는, 상기 확장 층과 관련된 데이터의 송신된 분량은 증가되고, 상기 기본 층 패리티 데이터와 관련된 데이터의 송신된 분량은 감소되며,
    (ii) 상기 네트워크 조건의 변화가 악화된 경우에는, 상기 확장 층과 관련된 데이터의 상기 송신된 분량은 감소되고, 상기 기본 층 패리티 데이터와 관련된 데이터의 상기 송신된 분량은 증가되는,
    네트워크 조건의 변화에 따라 우선순위가 매겨진 데이터를 송신하는 단계를
    포함하는, 미디어 객체를 나타내는 데이터를 통신하기 위한 방법.
  14. 삭제
  15. 삭제
  16. 제 13항에 있어서, 우선순위가 매겨진 데이터는 데이터 패킷의 형태로 전달되는, 미디어 객체를 나타내는 데이터를 통신하기 위한 방법.
  17. 제 16항에 있어서, 상기 데이터 패킷은 공간이 이용 가능할 때 상기 우선순위가 매겨진 데이터에 포함되지 않은 관련된 패리티 데이터를 갖는 확장 층 정보를 더 포함하여 패킷화되는, 미디어 객체를 나타내는 데이터를 통신하기 위한 방법.
  18. 제 13항에 있어서, 상기 우선순위가 매겨진 데이터로서 송신된 분류된 데이터의 구성은 디코더로부터의 요청에 응답하여 변화되는, 미디어 객체를 나타내는 데이터를 통신하기 위한 방법.
  19. 제 13항에 있어서, 상기 결정 단계 동안에 고려된 네트워크 조건은 이용 가능한 대역폭, 송신된 데이터의 예상된 손실, 사용자 프로필을 기초로 해서 송신된 데이터의 실제 손실, 이력 네트워크 조건, 및 상기 우선순위가 매겨진 데이터로서 송신된 분류된 데이터의 구성에 대한 특정한 요청 중 적어도 하나를 포함하는, 미디어 객체를 나타내는 데이터를 통신하기 위한 방법.
  20. 삭제
  21. 삭제
  22. 제13항에 있어서, 상기 네트워크가 데이터 손실을 경험할 때, 상기 데이터 손실이 감소될 때까지 양방향 "B" 프레임은 상기 확장 층 내에 배타적으로 위치되고, 내부-코딩된 "I" 프레임과 예측 "P" 프레임은 상기 기본 층 내에 배타적으로 위치되는, 미디어 객체를 나타내는 데이터를 통신하기 위한 방법.
KR1020047019907A 2002-06-11 2003-06-10 다이내믹한 네트워크 손실 조건에 대해 간단하게 적응하는 멀티미디어 서버 KR100971715B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US38810802P 2002-06-11 2002-06-11
US60/388,108 2002-06-11
PCT/US2003/018062 WO2003104935A2 (en) 2002-06-11 2003-06-10 Multimedia server with simple adaptation to dynamic network loss conditions

Publications (2)

Publication Number Publication Date
KR20050008803A KR20050008803A (ko) 2005-01-21
KR100971715B1 true KR100971715B1 (ko) 2010-07-22

Family

ID=29736422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047019907A KR100971715B1 (ko) 2002-06-11 2003-06-10 다이내믹한 네트워크 손실 조건에 대해 간단하게 적응하는 멀티미디어 서버

Country Status (9)

Country Link
US (1) US20050249240A1 (ko)
EP (1) EP1514378B1 (ko)
JP (1) JP4980567B2 (ko)
KR (1) KR100971715B1 (ko)
CN (1) CN1324851C (ko)
AU (1) AU2003237486A1 (ko)
MX (1) MXPA04012517A (ko)
MY (1) MY162363A (ko)
WO (1) WO2003104935A2 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190680B2 (en) * 2004-07-01 2012-05-29 Netgear, Inc. Method and system for synchronization of digital media playback
EP1650973A1 (en) * 2004-10-25 2006-04-26 Alcatel USA Sourcing, L.P. Method for encoding a multimedia content
US7554989B2 (en) 2005-01-18 2009-06-30 Creative Technology Ltd. Real time optimization over a shared communication channel
EP1847071A4 (en) * 2005-01-26 2010-10-20 Internet Broadcasting Corp B V MULTI-DIFFUSION IN LAYERS AND EXACT ATTRIBUTION OF BANDWIDTH AND PRIORIZATION OF PACKETS
BRPI0520491A2 (pt) * 2005-08-30 2009-05-12 Thomson Licensing otimização de camadas cruzadas para multidifusão de vìdeo escalável por redes de área local sem fio do ieee 802.11
AU2006330074B2 (en) * 2005-09-07 2009-12-24 Vidyo, Inc. System and method for a high reliability base layer trunk
WO2007043808A1 (en) 2005-10-12 2007-04-19 Samsung Electronics Co., Ltd. Method and apparatus for processing/transmitting bit-stream, and method and apparatus for receiving/processing bit-stream
US20070133691A1 (en) * 2005-11-29 2007-06-14 Docomo Communications Laboratories Usa, Inc. Method and apparatus for layered rateless coding
US7769028B2 (en) * 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
US20080025196A1 (en) * 2006-07-25 2008-01-31 Jeyhan Karaoguz Method and system for providing visually related content description to the physical layer
FR2909241B1 (fr) * 2006-11-27 2009-06-05 Canon Kk Procedes et dispositifs de gestion dynamique des erreurs de transmission par des points d'interconnexion de reseaux.
US8155090B2 (en) * 2007-11-01 2012-04-10 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for efficient multimedia delivery in a wireless packet network
JP5208491B2 (ja) * 2007-12-20 2013-06-12 株式会社エヌ・ティ・ティ・ドコモ 再生装置及び再生方法
EP2314005B1 (en) * 2008-04-29 2017-11-29 Thomson Licensing A method and system for adapting forward error correction in multicast over wireless networks
EP2262264A1 (en) * 2009-06-08 2010-12-15 Thomson Licensing SA Method of generation and transmission of a transport stream with error correction codes
CN101650947B (zh) * 2009-09-17 2014-05-28 武汉大学 一种面向对象音频编解码方法及***
US8392800B2 (en) * 2009-10-20 2013-03-05 Hewlett-Packard Development Company, L.P. Multi-hop network having increased reliability
EP2529502A1 (en) 2010-01-28 2012-12-05 Thomson Licensing A method and apparatus for retransmission decision making
WO2011142569A2 (en) * 2010-05-10 2011-11-17 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving layered coded video
US8321388B1 (en) * 2010-10-28 2012-11-27 Symantec Corporation Systems and methods for backing up multimedia data
EP3985985A3 (en) 2013-10-31 2022-05-04 Panasonic Intellectual Property Corporation of America Packet reception method and apparatus
DE102014006080A1 (de) * 2014-04-25 2015-10-29 Unify Gmbh & Co. Kg Verfahren und Vorrichtung zur Übermittlung von kodierten Mediendaten
JP6544620B2 (ja) 2014-05-16 2019-07-17 パナソニックIpマネジメント株式会社 送信装置、受信装置、送信方法および受信方法
CN105530069B (zh) * 2014-09-28 2018-12-14 中国电信股份有限公司 用于优化数据传输完整性校验策略的方法、装置和***
JP2017040768A (ja) * 2015-08-19 2017-02-23 ヤマハ株式会社 コンテンツ送信装置
EP3151562B1 (en) 2015-09-29 2020-06-17 Dolby Laboratories Licensing Corporation Feature based bitrate allocation in non-backward compatible multi-layer codec via machine learning
CN106507202B (zh) * 2016-11-11 2019-12-17 传线网络科技(上海)有限公司 播放控制方法及装置
US20190158909A1 (en) * 2017-11-17 2019-05-23 Qualcomm Incorporated Extending synchronous media playback to a bluetooth-only sink device in a connected media environment
US20190191191A1 (en) * 2017-12-19 2019-06-20 Western Digital Technologies, Inc. Hybrid techniques for content distribution with edge devices
US10742736B2 (en) 2017-12-19 2020-08-11 Western Digital Technologies, Inc. Integrated erasure coding for data storage and transmission
US11736755B2 (en) * 2018-04-24 2023-08-22 Google Llc Methods, systems, and media for synchronized media content playback on multiple devices

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5699369A (en) * 1995-03-29 1997-12-16 Network Systems Corporation Adaptive forward error correction system and method

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0388951A3 (en) * 1989-03-23 1992-07-22 Nec Corporation Call control with transmission priority in a packet communication network of an atm type
JP2546120B2 (ja) * 1993-01-05 1996-10-23 日本電気株式会社 誤り訂正連接符号化方式
US5515377A (en) * 1993-09-02 1996-05-07 At&T Corp. Adaptive video encoder for two-layer encoding of video signals on ATM (asynchronous transfer mode) networks
JPH07183888A (ja) * 1993-12-24 1995-07-21 Fujitsu Ltd Atm多重化制御方式
US5579183A (en) * 1994-04-08 1996-11-26 U.S. Philips Corporation Recording and reproducing an MPEG information signal on/from a record carrier
US6144639A (en) * 1996-09-03 2000-11-07 Sbc Technology Resources, Inc. Apparatus and method for congestion control in high speed networks
US6104700A (en) * 1997-08-29 2000-08-15 Extreme Networks Policy based quality of service
JPH11187367A (ja) * 1997-12-19 1999-07-09 Nec Corp 映像送信装置,映像受信装置及びこれらを用いた映像伝送システム
JPH11313301A (ja) * 1998-02-27 1999-11-09 Hitachi Ltd 番組配信システム、番組配信装置、番組品質変換装置、及び番組受信装置
US6377546B1 (en) * 1998-05-12 2002-04-23 International Business Machines Corporation Rate guarantees through buffer management
US6233283B1 (en) * 1998-06-23 2001-05-15 Lucent Technologies Inc. Layered video coding using perceptual coding criteria for error resilience in packet networks
JP2000078573A (ja) * 1998-09-03 2000-03-14 Hitachi Ltd 階層符号化データ配信装置
US6317462B1 (en) * 1998-10-22 2001-11-13 Lucent Technologies Inc. Method and apparatus for transmitting MPEG video over the internet
US6490705B1 (en) * 1998-10-22 2002-12-03 Lucent Technologies Inc. Method and apparatus for receiving MPEG video over the internet
KR100354745B1 (ko) * 1998-11-02 2002-12-18 삼성전자 주식회사 비디오코딩및디코딩방법
JP2001045098A (ja) * 1999-05-26 2001-02-16 Canon Inc データ通信システム、データ通信装置、データ通信方法及び記憶媒体
JP2001094963A (ja) * 1999-09-20 2001-04-06 Nippon Telegr & Teleph Corp <Ntt> 映像伝送方法と仲介サーバ装置とプログラム記録媒体
US7095782B1 (en) * 2000-03-01 2006-08-22 Koninklijke Philips Electronics N.V. Method and apparatus for streaming scalable video
KR100450236B1 (ko) * 2000-08-24 2004-09-30 마츠시타 덴끼 산교 가부시키가이샤 송수신 방법 및 그 장치
EP1319309B1 (en) * 2000-09-22 2006-11-22 Koninklijke Philips Electronics N.V. Hybrid temporal-snr fine granular scalability video coding
KR100783396B1 (ko) * 2001-04-19 2007-12-10 엘지전자 주식회사 부호기의 서브밴드 분할을 이용한 시공간 스케일러빌러티방법
US7958532B2 (en) * 2001-06-18 2011-06-07 At&T Intellectual Property Ii, L.P. Method of transmitting layered video-coded information
US6925120B2 (en) * 2001-09-24 2005-08-02 Mitsubishi Electric Research Labs, Inc. Transcoder for scalable multi-layer constant quality video bitstreams
US6909753B2 (en) * 2001-12-05 2005-06-21 Koninklijke Philips Electronics, N.V. Combined MPEG-4 FGS and modulation algorithm for wireless video transmission

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5699369A (en) * 1995-03-29 1997-12-16 Network Systems Corporation Adaptive forward error correction system and method

Also Published As

Publication number Publication date
MY162363A (en) 2017-06-15
EP1514378B1 (en) 2016-12-21
AU2003237486A1 (en) 2003-12-22
EP1514378A2 (en) 2005-03-16
WO2003104935A2 (en) 2003-12-18
AU2003237486A8 (en) 2003-12-22
WO2003104935A3 (en) 2004-02-19
JP2005530386A (ja) 2005-10-06
US20050249240A1 (en) 2005-11-10
KR20050008803A (ko) 2005-01-21
JP4980567B2 (ja) 2012-07-18
EP1514378A4 (en) 2010-08-04
CN1324851C (zh) 2007-07-04
CN1659824A (zh) 2005-08-24
MXPA04012517A (es) 2005-02-17

Similar Documents

Publication Publication Date Title
KR100971715B1 (ko) 다이내믹한 네트워크 손실 조건에 대해 간단하게 적응하는 멀티미디어 서버
JP4690280B2 (ja) メディアデータをストリーミングする方法、システム及びクライアント装置
CN101690078B (zh) 多视频流传输中的带宽分配控制
US7751324B2 (en) Packet stream arrangement in multimedia transmission
US9661053B2 (en) Generating a plurality of streams
US9723046B2 (en) Content delivery
CN101124728A (zh) 使用fec反馈的自适应信息传递***
US9374404B2 (en) Streaming media flows management
Li et al. A unified architecture for real-time video-coding systems
US20110188567A1 (en) System and method for adaptive rate shifting of video/audio streaming
KR102083302B1 (ko) 일종 미디어 컨텐츠에 기반한 fec 메커니즘
EP2384559A1 (en) Method and apparatus for encapsulation of scalable media
EP2067356A1 (en) Flexible redundancy coding
Wang et al. Bit-rate allocation for broadcasting of scalable video over wireless networks
WO2009154656A1 (en) Network abstraction layer (nal)-aware multiplexer with feedback
De Cuetos et al. Unified framework for optimal video streaming
De Cuetos et al. Optimal streaming of layered video: joint scheduling and error concealment
Belda et al. Hybrid FLUTE/DASH video delivery over mobile wireless networks
Vaz et al. Video quality optimization algorithm for video-telephony over IP networks
Nazir et al. Rate adaptive selective segment assignment for reliable wireless video transmission
Song et al. Towards user-oriented live video streaming
Kwon et al. An adaptive rate allocation to source-channel coding for Internet video
Nazir et al. Slice based video rate control for network adaptation

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: 20130618

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140630

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150618

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160616

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170616

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190716

Year of fee payment: 10