KR101151924B1 - 품질 및 레이트 정보에 기초하여 멀티미디어 컨텐츠를 리사이징하는 방법 및 시스템 - Google Patents

품질 및 레이트 정보에 기초하여 멀티미디어 컨텐츠를 리사이징하는 방법 및 시스템 Download PDF

Info

Publication number
KR101151924B1
KR101151924B1 KR1020097018007A KR20097018007A KR101151924B1 KR 101151924 B1 KR101151924 B1 KR 101151924B1 KR 1020097018007 A KR1020097018007 A KR 1020097018007A KR 20097018007 A KR20097018007 A KR 20097018007A KR 101151924 B1 KR101151924 B1 KR 101151924B1
Authority
KR
South Korea
Prior art keywords
quality
data segments
data
data segment
rate
Prior art date
Application number
KR1020097018007A
Other languages
English (en)
Other versions
KR20090102878A (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 KR20090102878A publication Critical patent/KR20090102878A/ko
Application granted granted Critical
Publication of KR101151924B1 publication Critical patent/KR101151924B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/115Selection of the code volume for a coding unit prior to coding
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/188Methods 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 video data packet, e.g. a network abstraction layer [NAL] unit
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234354Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/0001Arrangements for dividing the transmission path
    • H04L5/0003Two-dimensional division
    • H04L5/0005Time-frequency
    • H04L5/0007Time-frequency the frequencies being orthogonal, e.g. OFDM(A), DMT
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0044Arrangements for allocating sub-channels of the transmission path allocation of payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0058Allocation criteria
    • H04L5/0064Rate requirement of the data, e.g. scalable bandwidth, data priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

일반적으로, 본 발명은 개선된 전체 품질을 갖는 인코더 모듈로부터 데이터 세그먼트를 조합하도록 복수의 인코더 모듈과 다중화 모듈 사이에 정보를 교환하는 기술을 설명한다. 특히, 상기 인코더 모듈은 그 각각의 데이터 세그먼트를 품질 및 레이트 정보와 관련시키고 상기 데이터 세그먼트와 관련된 적어도 품질 및 레이트 정보를 상기 다중화 모듈에 송신한다. 상기 다중화 모듈은 인코더 모듈이 현재 수퍼프레임에 포함하려고 하는 데이터 세그먼트가 전송 채널의 이용 가능한 대역폭 내에 맞는지를 결정하도록 상기 품질 및 레이트 정보를 분석한다. 상기 다중화 모듈이 상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞지 않은 것으로 결정하면, 상기 다중화 모듈은 상기 인코더 모듈로부터 수신된 품질 및 레이트 정보에 기초하여 세그먼트들 중 리사이징될 하나 이상의 데이터 세그먼트를 선택한다.

Description

품질 및 레이트 정보에 기초하여 멀티미디어 컨텐츠를 리사이징하는 방법 및 시스템{METHODS AND SYSTEMS FOR RESIZING MULTIMEDIA CONTENT BASED ON QUALITY AND RATE INFORMATION}
본 발명은 멀티미디어 인코딩 및 디코딩에 관한 것으로, 특히 효율적인 통계적 다중화를 위한 멀티미디어 리사이징(resizing)에 관한 것이다.
무선 통신 네트워크와 같은 데이터 네트워크들은 단일 단말을 위해 개별화된 서비스들과 다수의 단말에 제공되는 서비스들 간의 균형을 맞춰야 한다. 예를 들어, 다수의 리소스 한정된 휴대용 디바이스(가입자)에 멀티미디어 컨텐츠를 배포하는 것은 어려운 문제이다. 따라서 네트워크 관리자, 컨텐츠 판매자(retailer) 및 서비스 제공자가 네트워크화된 디바이스 상의 프레젠테이션(presentation)을 위해 빠르고 효율적인 방식으로 컨텐츠 및/또는 다른 네트워크 서비스를 배포하는 방법을 찾는 것이 매우 중요하다.
컨텐츠 전달/미디어 배포 시스템은 실시간 및 비실시간 서비스를 전송 프레임으로 패킹하고 상기 프레임을 네트워크상의 디바이스에 전달할 수 있다. 예를 들어, 통신 네트워크는 직교 주파수 분할 다중화(OFDM)를 이용하여 네트워크 서버와 하나 이상의 이동 디바이스 사이에 통신을 제공할 수 있다. 이러한 기술은 분산 네트워크를 통해 전달 및 전송되는 서비스가 패킹된 데이터 슬롯을 갖는 전송 프레임을 제공한다.
일반적으로, 본 발명은 인코더 모듈로부터의 데이터 세그먼트들 개선된 품질로 조합하도록 복수의 인코더 모듈과 다중화 모듈 사이에 정보를 교환하기 위한 기술을 설명한다. 특히, 상기 인코더 모듈은 품질-레이트 곡선 및/또는 품질-레이트 표와 같은 품질 및 레이트 정보와 데이터 각각의 세그먼트(segment)를 관련시킨다. 상기 인코더 모듈은 적어도 상기 데이터 세그먼트와 관련된 품질 및 레이트 정보를 상기 다중화 모듈에 송신한다.
상기 다중화 모듈은 상기 인코더 모듈이 전송하려고 하는 데이터 세그먼트가 전송 채널의 이용 가능한 대역폭 내에 맞는지를 결정하도록 적어도 상기 품질 및 레이트 정보를 분석한다. 상기 다중화 모듈이 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않는 것으로 결정하면, 상기 다중화 모듈은 상기 인코더 모듈로부터 수신된 적어도 상기 품질 및 레이트 정보에 기초하여 리사이징될 하나 이상의 세그먼트를 선택한다. 다중화 모듈은 감소한 비트 할당에 따라 상기 데이터 세그먼트를 리사이징하도록 상기 선택된 데이터 세그먼트와 관련된 인코더 모듈에 요청한다.
일 양상에서, 디지털 멀티미디어 데이터의 플로(flow)를 조합하기 위한 방법은, 디지털 멀티미디어 데이터의 플로와 관련된 복수의 데이터 세그먼트들에 대한 적어도 품질 및 레이트 정보를 수신하는 단계, 상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하는 단계, 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때 상기 복수의 데이터 세그먼트들과 관련된 적어도 상기 품질 및 레이트 정보에 기초하여 상기 복수의 데이터 세그먼트들 중 리사이징될 하나 이상의 데이터 세그먼트를 선택하는 단계 및 상기 복수의 데이터 세그먼트들에 대해 이용 가능한 대역폭을 달성하도록 상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 요청하는 단계를 포함한다.
다른 양상에서, 디지털 멀티미디어 데이터의 플로를 조합하기 위한 장치는 상기 디지털 멀티미디어 데이터의 플로와 관련된 복수의 데이터 세그먼트들에 대한 적어도 품질 및 레이트 정보를 수신하도록 구성된 데이터 수집 모듈, 상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하도록 구성된 할당 모듈 및 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때 상기 복수의 데이터 세그먼트들과 관련된 적어도 상기 품질 및 레이트 정보에 기초하여 상기 복수의 데이터 세그먼트들 중 리사이징될 하나 이상의 데이터 세그먼트를 선택하고 상기 복수의 데이터 세그먼트들에 대해 이용 가능한 대역폭을 달성하도록 상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 요청하는 선택 모듈을 포함한다.
또 하나의 양상에서, 디지털 멀티미디어 데이터의 플로를 조합하기 위한 장치는 상기 디지털 멀티미디어 데이터의 플로와 관련된 복수의 데이터 세그먼트들에 대한 적어도 품질 및 레이트 정보를 수신하기 위한 수단, 상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하기 위한 수단, 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때 상기 복수의 데이터 세그먼트들과 관련된 적어도 상기 품질 및 레이트 정보에 기초하여 상기 복수의 데이터 세그먼트들 중 리사이징될 하나 이상의 데이터 세그먼트를 선택하기 위한 수단 및 상기 복수의 데이터 세그먼트들에 대해 이용 가능한 대역폭을 달성하도록 상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 요청하기 위한 수단을 포함한다.
또 하나의 양상에서, 디지털 영상 데이터를 처리하기 위한 프로세서는 상기 디지털 멀티미디어 데이터의 플로와 관련된 복수의 데이터 세그먼트들에 대한 적어도 품질 및 레이트 정보를 수신하고, 상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하고, 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때 상기 복수의 데이터 세그먼트들과 관련된 적어도 상기 품질 및 레이트 정보에 기초하여 상기 복수의 데이터 세그먼트들 중 리사이징될 하나 이상의 데이터 세그먼트를 선택하며 상기 복수의 데이터 세그먼트들에 대해 이용 가능한 대역폭을 달성하도록 상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 요청하도록 되어 있다.
본 명세서에서 설명한 기술은 하드웨어, 소프트웨어, 펌웨어(firmware) 또는 이들의 임의의 조합 형태로 실행될 수 있다. 소프트웨어로 실행되면, 상기 기술은 프로세서에 의해 실행될 때, 본 명세서에 설명된 방법 중 하나 이상을 수행하는 명령을 포함하는 컴퓨터 판독 가능 매체에 의해 전적으로 또는 부분적으로 실현될 수 있다. 따라서 본 발명은 디지털 비디오 데이터를 처리하기 위한 컴퓨터 프로그램 제품을 고려하며, 상기 컴퓨터 프로그램 제품은, 적어도 하나의 컴퓨터가 상기 디지털 멀티미디어 데이터의 플로와 관련된 복수의 데이터 세그먼트들에 대한 적어도 품질 및 레이트 정보를 수신하게 하고, 상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하게 하고, 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때 상기 복수의 데이터 세그먼트들과 관련된 적어도 상기 품질 및 레이트 정보에 기초하여 상기 복수의 데이터 세그먼트들 중 리사이징될 하나 이상의 데이터 세그먼트를 선택하게 하며 상기 복수의 데이터 세그먼트들에 대해 이용 가능한 대역폭을 달성하도록 상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 요청하게 하기 위한 명령들을 포함하는 컴퓨터 판독 가능 매체를 포함한다.
또 하나의 양상에서, 디지털 멀티미디어 데이터의 플로를 인코딩하는 방법은 상기 플로의 데이터 세그먼트와 적어도 품질 및 레이트 정보를 관련시키는 단계 및 다중 처리를 위해 상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보를 송신하는 단계를 포함한다.
또 하나의 양상에서, 디지털 멀티미디어 데이터의 플로를 인코딩하는 장치는 상기 플로의 데이터 세그먼트와 적어도 품질 및 레이트 정보를 관련시키도록 구성된 컨텐츠 분류 모듈 및 다중 처리를 위해 상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보를 송신하는 인코딩 모듈을 포함한다.
또 하나의 양상에서, 디지털 멀티미디어 데이터의 플로를 인코딩하는 장치는 상기 플로의 데이터 세그먼트와 적어도 품질 및 레이트 정보를 관련시키는 수단 및 다중 처리를 위해 상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보를 송신하기 위한 수단을 포함한다.
또 하나의 양상에서, 디지털 비디오 데이터를 처리하는 프로세서는 상기 플로의 데이터 세그먼트와 상기 적어도 품질 및 레이트 정보를 관련시키며 다중 처리를 위해 상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보를 송신하도록 되어 있다.
또 하나의 양상에서, 디지털 비디오 데이터를 처리하기 위한 컴퓨터 프로그램 제품은 적어도 하나의 컴퓨터가 상기 플로의 데이터 세그먼트와 적어도 품질 및 레이트 정보를 관련시키게 하며 다중화 처리를 위해 상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보를 전송하게 하기 위한 명령들을 포함하는 컴퓨터 판독 가능 매체를 포함한다.
하나 이상의 양상의 상세는 다음의 첨부 도면과 상세한 설명에서 설명된다. 다른 특징, 목적 및 장점은 상세한 설명, 도면 및 청구범위로부터 명백해질 것이다.
도 1은 예시적인 다중화 시스템을 포함하는 네트워크를 도시한다.
도 2는 다중화기 시스템에 사용하기 위한 예시적인 서버를 도시한다.
도 3은 다중화 시스템에서 사용하기 위한 MLC의 슬롯 할당을 예시하는 예시적인 프레임을 도시한다.
도 4는 다중화 시스템에 사용하기 위한 다양한 MLC 할당을 포함하는 예시적인 프레임을 도시한다.
도 5는 선택된 MLC 할당에 대한 최대 슬롯 높이 값과 전송 모드 파라미터 사이의 관계를 예시하는 표를 도시한다.
도 6은 다중화 시스템에 사용하기 위한 서로 다른 MLC 할당을 예시하는 예시 적인 프레임을 도시한다.
도 7은 다중화 시스템에 사용하기 위한 예시적인 할당 알고리즘을 제공하는 방법을 도시한다.
도 8은 다중화 시스템에 사용하기 위한 제 1 부등식 조건에 기초하여 RT 서비스에 슬롯을 할당하는 예시적인 방법을 도시한다.
도 9는 다중화 시스템에 사용하기 위한 제 2 부등식 조건에 기초하여 RT 서비스에 슬롯을 할당하는 예시적인 방법을 도시한다.
도 10은 초과 4개 블록 서비스를 할당하는 예시적인 다중화 시스템의 동작을 예시하는 프레임을 도시한다.
도 11은 다중화 시스템에 사용하기 위한 제 3 부등식 조건에 기초하여 RT 서비스에 슬롯을 할당하는 예시적인 방법을 도시한다.
도 12는 초과 3개 블록 서비스를 할당하는 예시적인 다중화 시스템의 동작을 예시하는 프레임을 도시한다.
도 13은 다중화 시스템에 사용하기 위한 제 4 부등식 조건에 기초하여 RT 서비스에 슬롯을 할당하는 예시적인 방법을 도시한다.
도 14는 초과 6개 블록 서비스를 할당하는 예시적인 다중화 시스템의 동작을 예시하는 프레임을 도시한다.
도 15는 다중화 시스템에 사용하기 위한 전송 프레임에 2개의 RT 서비스를 패킹하는 예시적인 할당 알고리즘의 동작을 예시하는 프레임을 도시한다.
도 16은 사용되지 않는 슬롯이 2개 영역에 그룹화되는 방식으로 RT 서비스를 패킹하는 예시적인 할당 알고리즘의 동작을 예시하는 프레임을 도시한다.
도 17은 다중화 시스템에 사용하기 위한 RT 서비스 및 ORT 서비스에 대한 영역으로 분할되는 예시적인 프레임을 도시한다.
도 18은 ORT 서비스 영역이 서로 다른 높이의 블록으로 분할되는 예시적인 프레임을 도시한다.
도 19는 다중화 시스템에 사용하기 위한 ORT 서비스에 슬롯을 할당하는 예시적인 방법을 도시한다.
도 20은 다중화 시스템에 사용하기 위한 슬롯 할당, 리사이징 및 혼잡(congestion) 제어를 제공하기 위한 예시적인 방법을 도시한다.
도 21은 다중화 시스템에 사용하기 위한 실시간 서비스의 리사이징을 제공하는 예시적인 방법을 도시한다.
도 22는 다중화 시스템에 사용하기 위한 혼잡 제어를 제공하는 예시적인 방법을 도시한다.
도 23은 예시적인 다중화 시스템을 도시한다.
도 24는 본 명세서에 설명된 기술에 따라 멀티미디어 데이터를 인코딩하는 예시적인 멀티미디어 인코딩 디바이스를 도시하는 블록도이다.
도 25는 본 명세서에 설명된 기술에 따라 멀티미디어 데이터를 인코딩하는 예시적인 멀티미디어 인코딩 디바이스를 도시하는 블록도이다.
도 26은 본 발명의 기술에 따라 기능하는 예시적인 인코더 모듈을 도시하는 블록도이다.
도 27은 본 발명의 기술에 따라 비트 할당을 관리하는 예시적인 다중화 모듈을 도시하는 블록도이다.
도 28은 본 발명의 기술에 따라 멀티미디어 데이터를 인코딩하는 인코더 모듈의 예시적인 동작을 도시하는 흐름도이다.
도 29는 본 발명의 기술에 따라 비트 할당을 관리하는 예시적인 다중화 모듈의 예시적인 동작의 흐름도이다.
도 30은 데이터 세그먼트와 관련된 품질-레이트 표를 이용하여 리사이징될 데이터 세그먼트를 선택하는 다중화 모듈의 예시적인 동작을 도시하는 흐름도이다.
본 발명의 하나 이상의 양상에서, 데이터 네트워크를 통한 전송을 위해 컨텐츠 플로를 전송 프레임에 다중화하도록 동작하는 다중화 시스템이 제공된다. 예를 들어, 상기 다중화된 컨텐츠 플로는 디바이스로의 전송을 위해 실시간 및/또는 비실시간 서비스의 특정 배열, 시퀀스, 믹싱(mixing) 및/또는 선택을 포함한다. 상기 시스템은 특히 무선 네트워크 환경에 사용하는데 적합하지만, 통신 네트워크, 인터넷과 같은 공중 네트워크, VPN(virtual private networks)과 같은 사설 네트워크, 로컬 영역 네트워크, 광역 네트워크, 장거리(long haul) 네트워크 또는 임의 타입의 데이터 네트워크를 포함하는 임의 타입의 네트워크 환경에 사용될 수 있으며, 이들 환경에 제한되는 것은 아니다.
설명의 목적으로, 하나 이상의 다중화 시스템의 양상이 네트워크 서버와 하나 이상의 이동 디바이스 사이에 통신을 제공하도록 직교 주파수 분할 다중화(OFDM)를 이용하는 통신 네트워크를 참조하여 설명된다. 예를 들어, OFDM 시스템에서, 수퍼프레임은 시분할 다중화(TDM) 파일럿 신호, 주파수 분할 다중화(FDM) 파일럿 신호, 오버헤드 정보 심볼(OIS) 및 데이터 심볼을 포함하도록 정의된다. 데이터 슬롯은 하나의 OFDM 심볼 시간에 걸쳐 발생하는 하나의 데이터 심볼 세트를 포함한다. 예시로서, 데이터 슬롯은 500개 데이터 심볼의 세트를 포함할 수 있다. 부가적으로, 수퍼프레임에서 OFDM 심볼 시간은 다수의 데이터 슬롯, 예를 들어, 7개의 슬롯을 운반할 수 있다.
다음의 정의는 본 명세서에서 다중화 시스템의 하나 이상의 양상을 설명하는데 사용된다.
플로(Flow) 서비스의 요소, 예를 들어 서비스는 2개의 플로(오디오 플로 및 비디오 플로)를 가질 수 있다.
서비스(Service) 하나 이상의 플로를 가질 수 있는 미디어 컨텐츠.
MLC 데이터 또는 제어 정보에 사용되는 미디어 논리 채널.
리사이즈(Resize) 전송을 위해 더 적은 대역폭을 필요로 하도록 서비스가 리사이징되는 절차.
오버헤드(Overhead) 정보 심볼(OIS)
수퍼프레임의 다양한 MLC의 위치에 대한 정보를 운반하는 수퍼프레임의 심볼.
슬롯(Slot) OFDM 심볼에 걸쳐 MLC에 할당된 대역폭의 최소 단위.
도 1은 멀티미디어 인코딩 및 디코딩 시스템(100)을 도시한다. 시스템(100)은 서버(104)와 같은 멀티미디어 인코딩 디바이스, 이동 디바이스(102)와 같은 멀티미디어 디코딩 디바이스 및 데이터 네트워크(106)를 포함한다. 설명의 목적으로, 데이터 네트워크(106)는 OFDM 기술을 이용하여 하나 이상의 휴대용 디바이스와 통신하도록 동작하는 것으로 가정하지만; 상기 다중화기 시스템은 또한, GSM(Global System for Mobile Communications), CDMA 2000, 광대역 CDMA(W-CDMA), CDMA 1xEV-DO, 또는 다양한 IEEE 801.11x 표준에 의해 정의된 무선 네트워킹을 용이하게 하도록 개발된 표준의 브로드 패밀리(broad family)와 같은 다양한 무선 액세스 기술 중 임의의 기술과 같은 다른 전송 기술에 사용하는데 적합하다.
일 양상에서, 상기 서버(104)는 상기 네트워크(106)와 통신하는, 이동 디바이스(102)와 같은 하나 이상의 디바이스에 서비스를 제공하도록 동작한다. 예를 들어, 상기 디바이스는 서버(104)에 의해 제공되는 서비스에 가입할 수 있다. 상기 서버(104)는 상기 통신 링크(108)를 통해 상기 네트워크(106)에 연결된다. 상기 통신 링크(108)는 상기 서버(104)가 상기 네트워크(106)와 통신하게 하도록 동작하는 유선 및/또는 무선 링크와 같은 임의의 적합한 통신 링크를 포함한다. 상기 네트워크(106)는 서버(104)로부터 상기 디바이스(102)와 같은, 상기 네트워크(106)와 통신하는 디바이스에 서비스가 전달되게 하는 유선 및/또는 무선 네트워크의 임의의 조합을 포함한다.
주목할 사항으로서, 상기 네트워크(106)는 본 발명의 범위 내에 있는 임의의 수 및/또는 임의의 타입의 휴대용 디바이스와 통신할 수 있다. 하나의 멀티미디어 디코딩 디바이스(18)가 간략화를 위해 도 1에 예시되어 있다. 예를 들어, 다중화 기 시스템에 사용하는데 적합한 다른 디바이스는 PDA(personal digital assistant), 이메일 디바이스, 페이저, 노트북 또는 랩톱 컴퓨터, mp3 플레이어 및 "iPod"이란 상표로 팔리는 제품과 같은 데스크톱 컴퓨터 디지털 뮤직 앤 비디오 디바이스, 셀룰러, 위성 또는 지상-기반 무선 전화와 같은 무선 전화를 포함하지만, 이들에 제한되는 것은 아니다. 상기 무선 링크(110)는 OFDM 기술에 기초한 무선 통신 링크를 포함한다; 그러나, 상기 무선 링크는 디바이스가 상기 네트워크(106)와 통신하게 하도록 동작하는 임의의 적합한 무선 기술을 포함할 수 있다.
도 1에 예시된 디바이스(102)는 상기 무선 링크(110)를 통해 상기 네트워크(106)와 통신하는 이동 전화를 포함한다. 일부 경우에, 상기 디바이스(102)는 상기 네트워크(106)를 통해 서비스를 수신하도록 상기 디바이스(102)가 가입하게 하는 활성화 프로세스에 참여한다. 상기 활성화 프로세스는 서버(104)에 의해 수행될 수 있다. 그러나 상기 활성화 프로세스는 또한 다른 서버, 서비스 제공자, 컨텐츠 판매자 또는 다른 네트워크 엔티티(entity)에 의해 수행될 수 있다. 설명의 목적으로, 상기 디바이스(102)는 서버(104)에 의해 활성화 프로세스를 수행하며 현재 상기 서버로부터 서비스에 가입하고 수신하려고 하는 것으로 가정한다. 도 1에 예시된 예가 서비스에 가입하는 관점에서 설명되지만, 디바이스(102)는 가입을 필요로 하지 않는 네트워크(106)를 통해 서비스를 수신할 수 있다.
서버(104)는 하나 이상의 실시간(RT) 서비스(112)를 포함하는 컨텐츠를 포함하거나 상기 컨텐츠에 액세스하는 실시간 매체 서버(RTMS)(126)와 통신한다. 상기 서버(104)는 또한 하나 이상의 다른 실시간(ORT) 또는 비실시간(NRT) 서비스(120)를 포함하거나 상기 서비스에 액세스하는 비실시간 매체 서버(NRTMS)(128)와 통신한다. 예를 들어, 상기 서비스(112, 120)는 뉴스, 스포츠, 날씨, 재무 정보, 영화 및/또는 애플리케이션, 프로그램, 스크립트 또는 임의의 다른 타입의 적합한 컨텐츠 또는 서비스를 포함하는 멀티미디어 컨텐츠를 포함한다. 따라서 상기 서비스(112, 120)는 비디오, 오디오 또는 임의의 적합한 포맷으로 포맷화된 다른 정보를 포함할 수 있다. 주목할 사항으로서, 상기 서버(104)는 또한 RT 및/또는 ORT 서비스를 포함하거나 상기 서비스에 액세스하는 하나 이상의 다른 매체 서버와 통신할 수 있다. 상기 서비스(112, 120)는 대역폭, 품질 및 레이트 정보, 우선순위, 지연시간, 서비스 타입 및/또는 임의의 다른 타입의 전달 요건을 포함할 수 있으나, 이들에 제한되지는 않는 관련된 전달 요건을 갖는다.
상기 서버(104)는 또한 상기 전달 요건에 기초하여 상기 서비스(112, 120) 중 하나 이상을 전송 프레임(122)에 효율적으로 다중화하도록 동작하는 다중화기(MUX)(114)를 포함한다. 서버(104)는 경로(118)에 의해 도시된 바와 같이 상기 전송 프레임을 상기 네트워크(106)를 통해 상기 디바이스(102)에 전송한다. 상기 MUX(114)의 더 상세한 설명은 본 문서의 다른 섹션에서 이루어진다. MUX(114)의 동작의 결과로서, 상기 서비스(112, 120)는 상기 서비스(112, 120)의 전달 요건(대역폭, 우선순위, 지연시간, 서비스 타입 등)이 충족되고 전송 프레임(122)의 전송 대역폭이 효율적으로 이용되며, 수신 디바이스(102)에서의 전력이 보존되도록 상기 전송 프레임(122)에 최적으로 패킹된다. 예를 들어, 상기 이용 가능한 대역폭을 효율적으로 이용함으로써, 이동 디바이스는 단시간 간격에 걸쳐 전송된 서비스를 수신할 수 있으며, 따라서 배터리 전력을 보존할 수 있다.
MUX(114)는 상기 RT 서비스(112) 및/또는 상기 ORT 서비스(120)가 어떻게 리사이징되는지를 제어하도록 동작하는 리사이즈 제어기(116)를 포함할 수 있다. 예를 들어, 상기 전송 프레임(122)으로 다중화될 선택된 RT 서비스(112)들이 상기 전송 프레임(122)의 이용 가능한 대역폭에 맞지 않는다면, 상기 리사이즈 제어기(116)는 대역폭 요건을 감소시키도록 서비스들이 어떻게 리사이징(또는 재인코딩(re-encoding))되는지를 제어하도록 동작한다. 본 명세서에서 상세하게 설명되는 바와 같이, 리사이즈 제어기(116)는 RT 서비스와 관련된 품질 및 레이트 정보를 분석하여 상기 RT 서비스 중 어느 것을 리사이징할지 결정하고, 상기 선택된 RT 서비스의 선택된 리사이징을 요청하도록 상기 RTMS(126)와 통신할 수 있다. 상기 리사이즈 제어기(116)는 또한 상기 NRTMS(128)와 통신하여, 선택된 ORT 서비스(120)가 어떻게 리사이징되는지를 제어하도록 유사한 방식으로 동작한다. 상기 리사이즈 제어기(116)의 동작의 결과로서, 리사이징된 RT 및 ORT 서비스는 상기 전송 프레임(122)의 이용 가능한 대역폭 내에 잘 맞게 될 것이다. 상기 리사이즈 제어기(116)의 더 상세한 설명은 본 명세서의 다른 섹션에서 이루어진다.
상기 디바이스(102)는 상기 전송된 서비스(112, 120)를 획득하기 위해 상기 전송 프레임(122)을 역다중화(de-multiplex)하도록 동작하는 DE-MUX(de-multiplexer) 로직(124)을 포함할 수 있다. 상기 서비스가 상기 전송 프레임(122)에 효율적으로 다중화되었기 때문에, 네트워크 대역폭이 보존되며 상기 디바이스(102)는 상기 전송된 서비스를 수신하는데 전력을 덜 사용한다.
따라서 상기 다중화 시스템은 RT 및 ORT 서비스의 전송 프레임으로의 효율적인 다중화를 제공하도록 다음 기능 중 하나 이상을 수행하도록 동작한다.
1. 네트워크를 통한 전송을 위해 하나 이상의 RT 및/또는 ORT 서비스를 수신하거나 상기 서비스에 액세스한다.
2. 상기 RT 및/또는 ORT 서비스가 전송 프레임의 이용 가능한 대역폭에 맞는지를 결정한다.
3. 상기 RT 및/또는 ORT 서비스가 상기 전송 프레임에 맞지 않으면, 대역폭 요건을 감소시키도록 하나 이상의 선택된 RT 및/또는 ORT 서비스를 리사이징한다.
4. 상기 프레임이 효율적으로 패킹되도록 하기 위해 원본 및/또는 리사이징된 RT 서비스 및 원본 및/또는 리사이징된 ORT 서비스와 상기 전송 프레임을 어셈블링하도록 할당 알고리즘을 이용한다.
5. 네트워크를 통해 상기 전송 프레임을 하나 이상의 수신 디바이스에 전송한다.
따라서 상기 다중화 시스템은 하나 이상의 RT 및/또는 ORT 서비스를 데이터 네트워크상의 디바이스에 효율적으로 다중화하고 전송하도록 동작한다. 주목할 사항으로서, 상기 다중화 시스템은 도 1을 참조하여 설명된 실행에 제한되지 않으며 다른 실행이 본 발명의 범위 내에서 가능하다.
도 2는 다중화 시스템에 사용하기 위한 예시적인 서버(200)를 도시한다. 예를 들어, 상기 서버(200)는 도 1의 서버(104)로서 사용될 수 있다. 상기 서버(200)는 프로세싱 로직(202), 메모리(204) 및 트랜시버(transceiver) 로직(206)을 포함하며, 이들 모두는 데이터 버스(208)에 연결된다. 상기 서버(200)는 또한 다중화기(MUX) 로직(210) 및 리사이즈 제어기(212)를 포함하며, 이들은 또한 상기 데이터 버스(208)에 연결된다. 주목할 사항으로서, 상기 서버(200)는 하나의 실행만을 나타내며 본 발명의 범위 내에서 다른 실행이 가능하다.
상기 프로세싱 로직(202)은 CPU, 프로세서, 게이트 어레이, 하드웨어 로직, 메모리 요소, 가상 머신, 소프트웨어, 및/또는 하드웨어 및 소프트웨어의 임의의 조합을 포함할 수 있다. 따라서 상기 프로세싱 로직(202)은 일반적으로 머신-판독 가능 명령을 실행하고 상기 데이터 버스(208)를 통해 상기 서버(200)의 하나 이상의 다른 기능적 요소를 제어하는 로직을 포함한다.
상기 트랜시버 로직(206)은 상기 서버(200)가 상기 통신 채널(214)을 통해 원격 디바이스 또는 시스템에 의해 데이터 및/또는 다른 정보를 전송 및 수신하게 하도록 동작하는 하드웨어 및/또는 소프트웨어를 포함한다. 예를 들어, 상기 통신 채널(214)은 상기 서버(200)가 다른 서버 또는 하나 이상의 데이터 네트워크 및/또는 상기 데이터 네트워크에 연결된 디바이스와 직접 통신하게 하도록 임의의 적합한 타입의 무선 또는 유선 통신 링크 또는 이들의 조합을 포함할 수 있다.
상기 메모리(204)는 상기 서버(200)가 정보 파라미터를 저장하게 하는 임의의 적합한 타입의 저장 디바이스 또는 요소를 포함할 수 있다. 예를 들어, 상기 메모리(204)는 임의의 타입의 랜덤 액세스 메모리(RAM), 플래시 메모리, 하드디스크 또는 임의의 다른 타입의 저장 디바이스를 포함할 수 있다.
상기 프로세싱 로직(202)은 상기 트랜시버 로직(206) 및 채널(214)을 통해 하나 이상의 컨텐츠 제공자와 통신하도록 동작할 수 있다. 상기 프로세싱 로직(202)은 RT 서비스들(216)을 수신하도록 RTMS와 통신하며 ORT 서비스(218)를 수신하도록 NRTMS와 통신한다. 예를 들어, 상기 RT 서비스들(216) 및 ORT 서비스(218)는 네트워크상의 디바이스에 전달되는 하나 이상의 컨텐츠 플로를 포함한다. 더욱이, 상기 RT(216) 및 ORT(218) 서비스는 품질 및 레이트 정보, 대역폭, 우선순위, 지연시간, 서비스 타입 및/또는 다른 타입의 전달 요건을 포함하는 관련된 전달 요건을 갖지만, 이들에 제한되는 것은 아니다. 본 발명의 일 양상에서, 프로세싱 로직(202)은 상기 전송 프레임(122) 내에 포함되는 RT 서비스들(216)의 크기를 모니터링하며 리사이징될 상기 RT 서비스들(216) 중 하나 이상을 선택하는데 조력하도록 RT 서비스들(216)과 관련된 적어도 품질 및 레이트 정보를 수신한다. 게다가, 프로세싱 로직(202)이 상기 전송 프레임에 ORT 서비스(218)를 포함하면, 프로세싱 로직(202)은 상기 전송 프레임(122) 내에 포함되는 ORT 서비스의 크기를 모니터링하도록 상기 ORT 서비스(218)와 관련된 전달 요건, 예를 들어, 우선순위 및 지연시간 정보를 수신할 수 있다.
MUX 로직(210)은 CPU, 프로세서, 게이트 어레이, 하드웨어 로직, 메모리 요소, 가상 머신, 소프트웨어, 펌웨어 및/또는 하드웨어, 소프트웨어 및 펌웨어의 임의의 조합을 포함할 수 있다. 상기 MUX 로직(210)은 상기 트랜시버 로직(216) 및 채널(214)을 이용하여 디바이스로의 전송을 위한 전달 요건을 기초로 전송 프레임에 상기 RT 서비스들(216) 및/또는 ORT 서비스(218) 중 하나 이상을 다중화하도록 동작한다. 예를 들어, 상기 MUX 로직(210)은 선택된 ORT 서비스(218), RT 서비스들(216) 및 최선 노력(Best Effort) 서비스(도시되지 않음)가 상기 전송 프레임의 이용 가능한 대역폭(전송 요건에 관하여)에 맞는지를 결정하도록 동작한다. 일 양상에서, MUX 로직(210)은 상기 서비스(216, 218)가 상기 전송 프레임의 이용 가능한 대역폭에 맞는지를 결정하도록 상기 RT 서비스들(216), 상기 ORT 서비스(218) 및 최선 노력 서비스(도시되지 않음)와 관련된 전달 요건을 분석한다. RT 서비스들(216)에 관하여, 예를 들어 MUX 로직(210)은 RT 서비스들(216)을 전송하기 위한 전송 프레임의 이용 가능한 대역폭 또는 상기 전송 프레임의 적어도 일부분 내에 상기 RT 서비스들(216)이 맞는지를 결정하기 위해 상기 RT 서비스들(216) 각각에 관련된 적어도 품질 및 레이트 정보를 분석할 수 있다. 유사하게, ORT 서비스(218)에 관하여, MUX 로직(210)은 상기 RT 서비스들(216)이 상기 전송 프레임의 이용 가능한 대역폭 내에 맞는지를 결정하도록, 우선순위 및 지연시간 요건과 같은 다른 전달 요건을 분석할 수 있다. 예를 들어, 최선 노력 서비스는 전송되어야 하는 임의 타입의 데이터 또는 정보를 포함한다. 상기 플로가 상기 이용 가능한 대역폭에 맞으면, MUX 로직(210)은 본 명세서에서 설명된 하나 이상의 할당 알고리즘에 따라 상기 전송 프레임에 상기 플로를 패킹하도록 동작한다.
선택된 RT 서비스들(216) 및/또는 ORT 서비스(218)가 상기 전송 프레임에 맞지 않으면, 상기 MUX 로직(210)은 상기 리사이즈 제어기(212)에 시그널링한다. 상기 리사이즈 제어기(212)는 상기 서비스가 상기 전송 프레임의 이용 가능한 대역폭에 맞게 어떻게 리사이징되는지를 제어하도록 동작한다. 본 발명의 일 양상에서, 리사이즈 제어기(212)는 리사이징될 하나 이상의 서비스(216, 218)를 선택하도록 상기 서비스와 관련된 전달 요건을 분석한다. 예를 들어, 리사이즈 제어기(212)는 리사이징될 서비스를 선택하기 위해 상기 RT 서비스들(216)과 관련된 적어도 품질 및 레이트 정보 및 상기 ORT 서비스(218)와 관련된 우선순위 및 지연시간 조건을 분석할 수 있다. 이러한 방식으로, 상기 리사이즈 제어기(212)는 특정 서비스가 전송 대역폭 요건을 감소시켜야 하는 "리사이징"이 얼마만큼인지를 결정하도록 동작한다. 그 후에, 리사이즈 제어기(212)는 상기 서비스와 관련된 매체 서버에 전송되는 리사이즈 요청을 어셈블리한다. 예를 들어, 상기 리사이즈 요청은 상기 통신 링크(214)를 이용하여 상기 트랜시버 로직(206)에 의해 전송된다. 그 후에, 상기 매체 서버는 본 명세서에서 설명된 기술에 따라 요청된 바와 같이 상기 서비스를 리사이징하도록 동작한다. 상기 서비스가 대역폭 요건을 감소시키도록 리사이징된 후에, 상기 MUX 로직(210)은 원래의 서비스 및 임의의 리사이징된 서비스를 전송 프레임에 효율적으로 패킹할 수 있다. 상기 MUX 로직(210)에 의해 제공되는 할당 알고리즘의 더 상세한 설명은 본 명세서의 다른 섹션에서 이루어진다.
상기 리사이즈 제어기(212)는 CPU, 프로세서, 게이트 어레이, 하드웨어 로직, 메모리 요소, 가상 머신, 소프트웨어, 및/또는 하드웨어 및 소프트웨어의 임의의 조합을 포함할 수 있다. 상기 리사이즈 제어기(212)는 상기 RT 서비스들(216) 및 ORT 서비스(218)의 플로 중 하나 이상이 전송 프레임의 이용 가능한 대역폭에 맞도록 상기 서비스와 관련된 전달 요건에 기초하여 리사이징되는 방법을 제어하도록 동작한다. 따라서 상기 리사이즈 제어기(212)는 관련된 전달 요건을 조정하도록 하나 이상의 서비스를 리사이징하도록 동작한다. 예를 들어, 서비스는 상기 서비스를 전송할 대역폭이 충분하지 않을 때 그 대역폭 요건이 감소하도록 다운사이즈되거나, 초과의 이용 가능한 대역폭이 존재할 때 대역폭 요건이 증가하도록 업사이즈될 수 있다. 상기 리사이즈 제어기(212)는 MUX 로직(210)의 일부분일 수 있다. 상기 리사이즈 제어기(212)의 상세한 설명은 본 명세서의 다른 섹션에서 이루어진다.
상기 다중화 시스템은 적어도 하나의 프로세서, 예를 들어 프로세싱 로직(202)에 의해 실행될 때, 본 명세서에서 설명된 다중화 시스템의 기능을 제공하는, 컴퓨터-판독 가능 매체 상에 저장된 하나 이상의 프로그램 명령("명령")을 갖는 컴퓨터 프로그램을 포함할 수 있다. 예를 들어, 명령은 플로피 디스크, CDROM, 메모리 카드, 플래시 메모리 디바이스, RAM, ROM 또는 임의의 다른 타입의 메모리 디바이스와 같은 컴퓨터-판독 가능 매체 또는 상기 서버(200)에 인터페이싱하는 컴퓨터-판독 가능 매체로부터 상기 서버(200)로 로딩될 수 있다. 대안적으로, 상기 명령은 상기 트랜시버 로직(206)을 통해 상기 서버(200)에 인터페이싱하는 외부 디바이스 또는 네트워크 리소스로부터 상기 서버(200)에 다운로딩될 수 있다. 상기 명령은, 상기 프로세싱 로직(202)에 의해 실행될 때 본 명세서에서 설명된 바와 같은 다중화 시스템의 하나 이상의 양상을 제공한다.
따라서 상기 서버(200)는 네트워크상에서 디바이스로의 전송을 위해 전송 프레임에 상기 RT 서비스들(216) 및 ORT 서비스(218)와 관련된 플로를 효율적으로 다중화하는 다중화 시스템을 제공하도록 동작한다.
전송 프레임 슬롯 할당 알고리즘
이하에서는 다중화 시스템에 사용하기 위한 슬롯 할당 알고리즘을 설명한다. 상기 슬롯 할당 알고리즘은 이용 가능한 RT 및 ORT 서비스와 관련된 컨텐츠 플로에 전송 프레임에서의 슬롯을 할당하도록 동작할 수 있다. 상기 할당 알고리즘은 효율적인 대역폭 이용을 달성함으로써 수신 디바이스가 전력을 보존하게 하도록 동작한다. 상기 할당 알고리즘은 MUX 로직(210)의 제어에 의해 및/또는 제어하에 수행될 수 있다.
설명의 목적으로, 상기 전송 프레임은 이하에서는 수퍼프레임이라 칭해진다. 주목할 사항으로서, 상기 수퍼프레임은 단지 하나의 구현 예이며 상기 다중화 시스템은 다른 타입의 전송 프레임 구현에 이용하는데 적합하다.
수퍼프레임은, 예를 들어 대역폭 할당을 위해 이용되는 데이터 심볼 부분을 포함한다. 수퍼프레임의 데이터 심볼 부분은 동등한 4개 부분으로 분할되며, 이들은 이하에서는 "프레임"이라 칭한다. 일 양상에서 리드 솔로몬(Reed Solomon)(RS) 블록에 있는, 전송될 서비스로부터의 데이터는 4개 프레임에 걸쳐 동일하게 분배된다. 따라서 수퍼프레임에 걸친 슬롯 할당 알고리즘의 동작은 하나의 프레임에 걸친 슬롯 할당 알고리즘의 동작의 반복이다. 그에 따라서 이하에서는 하나의 프레임에 걸친 슬롯 할당을 설명하지만, 이는 동일하게 전체 수퍼프레임에 적용가능하다. 더욱이, 논의된 상기 슬롯 할당 알고리즘은 실시간 서비스, 비실시간 서비스 및 IP 데이터 캐스트(data cast)를 포함하는 모든 타입의 서비스에 대해 슬롯을 할당하도록 사용될 수 있는데, 이들 서비스에 제한되는 것은 아니다.
채널 할당
하나 이상의 양상에서, 미디어 논리 채널(MLC)은 동일한 서비스의 하나 이상의 플로를 운반한다. 따라서 모든 서비스는 OIS에 설명된 프레임에서의 위치와 함께 하나 이상의 MLC를 가질 수 있다. 특정 MLC를 수신하려고 하는 디바이스는 상기 OIS로부터 MLC의 위치를 획득한다. 프레임의 MLC의 위치는 다음을 이용하여 OIS에서 설명된다.
-시작 심볼
-시작 슬롯
-최하위 슬롯
-최상위 슬롯
-총 슬롯
도 3은 다중화 시스템에 사용하기 위한 MLC의 슬롯 할당을 예시하는 프레임(300)의 일 예를 도시한다. 상기 프레임(300)은 7개 슬롯의 각각에 대해 "N" OFDM 심볼을 포함한다. 상기 MLC의 슬롯 할당은 일반적으로 302로 도시된 음영 영역이다. 슬롯 할당을 설명하는데 2개의 변수, 즉 길이와 높이가 사용된다. 길이는 OFDM 심볼이며 높이는 슬롯이다.
할당 형태
도 4는 다중화 시스템에 사용하기 위한 다양한 MLC 할당 형상을 포함하는 프레임(400)의 예를 도시한다. 예를 들어, 상기 MLC 할당은 일반적으로 402, 404, 406 및 408로 도시된 음영 영역이다. 일 예에서, 상기 할당 형상은 고정 제한된 수의 데이터 필드를 이용하여 상기 프레임(400)의 OIS에서 설명될 수 있도록 선택 된다.
할당의 높이
도 5는 선택된 MLC 할당에 대해 전송 모드 파라미터와 최대 슬롯 높이 값 사이의 관계를 예시하는 표(500)를 도시한다. 수신 디바이스에서의 터보 디코더의 피크 출력 레이트는 단일 OFDM 심볼에 디코딩될 수 있는 터보 패킷의 수를 제한한다. 그 결과, 상기 MLC 할당의 높이는 억제될 수 있다. 최대 슬롯 높이("maxSlotHeight")로 지칭되는 변수는 주어진 전송 모드에 대한 MLC 할당의 최대 슬롯 높이를 나타내도록 사용된다. 예를 들어, 표(500)로부터, 4의 전송 모드는 3의 maxSlotHeight를 갖는 MLC 할당을 지원하며 1의 전송 모드는 7의 maxSlotHeight를 갖는 MLC 할당을 지원한다.
할당 알고리즘
일 양상에서, 선택된 서비스의 모든 MLC는 함께 그룹화되어 그 할당이 시간상 상기 프레임에 인접한다. 이는 수신 디바이스가 서비스의 서로 다른 MLC를 수신하도록 "웨이크업(wake up)"해야 하는 시간 횟수를 감소시킨다. 따라서 수신 디바이스의 전력 소모가 감소하거나 보존된다.
수신 디바이스의 전력 소모에 관하여, MLC 할당의 높이가 maxSlotHeight인 것이 바람직하다. 이는 상기 MLC를 수신하도록 상기 디바이스에 대한 가능한 "온타임(on time)"을 최소화한다. 그러나 패킹을 용이하게 하기 위해, 서비스의 모든 그룹화된 MLC가 동일한 높이로 할당된다. 따라서 "서비스의 maxSlotHeight"의 개념은 상기 서비스에 대해 그룹화된 모든 MLC의 maxSlotHeight 파라미터의 최소값으로서 정의된다. 본 명세서의 나머지 부분에서, 서비스의 높이는 상기 서비스의 모든 MLC 할당의 공통 높이를 의미한다.
도 6은 다중화 시스템에 사용하기 위한 서로 다른 MLC 슬롯 할당을 예시하는 프레임(600)의 일 예를 도시한다. 상기 프레임(600)은 서로 다른 높이의 블록을 갖는 MLC 할당으로 분할된다. 일 예에서, 상기 블록 높이는 서비스가 취할 수 있는 가능한 maxSlotHeights에 대응한다. 도 5에 도시된 표(500)로부터, 4개의 가능한 maxSlotHeights(즉, 3, 4, 6 또는 7)가 존재하는지가 결정될 수 있다. 일 예에서, 상기 슬롯 할당 알고리즘은 상기 maxSlotHeight 파라미터에 기초하여 서비스를 서로 다른 블록 할당으로 패킹하도록 동작한다. 예를 들어, 상기 가능한 maxSlotHeights(즉, 3, 4, 6 또는 7)에 기초한 할당은 각각 602, 604, 606 및 607로 도시된다.
할당 알고리즘 동작
이하에서는 다중화 시스템에 사용하기 위한 예시적인 할당 알고리즘을 설명한다. MUX 로직(210)은 이하에서 설명된 기능을 수행하기 위해 상기 할당 알고리즘을 실행하도록 동작할 수 있다.
상기 할당 알고리즘에 대한 입력은 다음과 같다.
1. 서비스의 각 채널이 프레임에 대해 갖는 데이터 슬롯의 수
2. 채널의 전송 모드에 의해 결정되는 서비스의 각 채널의 maxSlotHeight
상기 알고리즘의 출력은 다음과 같다.
1. 패킹이 가능한지 여부를 나타내는 결정. 패킹이 가능하면, 상기 알고리 즘은 MLC 할당의 위치를 제공한다.
2. 패킹이 불가능하면, 상기 슬롯 할당 알고리즘은 상기 리사이즈 제어기(212)로부터의 서비스의 리사이징을 요청한다. 일 양상에서, 상기 리사이즈 제어기(212)는 어느 서비스가 무슨 레이트로 리사이징되는지를 결정한다. 상기 리사이즈 제어기(212)의 동작 설명은 본 명세서의 다른 섹션에서 이루어진다.
도 7은 다중화 시스템에 사용하기 위한 할당 알고리즘을 제공하기 위한 예시적인 방법(700)을 도시한다. 예를 들어, 상기 방법(700)은 하나 이상의 RT 서비스에 슬롯을 할당하도록 동작한다. 일 양상에서, MUX 로직(210)은 이하에 설명되는 바와 같은 방법(700)의 기능을 제공하도록 동작한다.
블록(702)에서, 하나의 프레임에 다중화되는 모든 RT 서비스에 의해 요청된 슬롯의 총 수가 이용 가능한 슬롯의 수보다 큰지를 결정하도록 테스트가 수행된다. 예를 들어, MUX 로직(210)은 상기 결정을 수행한다. 일 양상에서, 상기 이용 가능한 슬롯의 수는 "프레임당 심볼의 수"(numOfdmSymbolsPerFrm)의 7배의 값을 갖는다. 요구된 슬롯의 수가 상기 이용 가능한 슬롯보다 크면, 상기 방법은 블록(718)으로 진행한다. 상기 요구된 슬롯의 수가 상기 이용 가능한 슬롯과 같거나 적으면, 상기 방법은 블록(704)으로 진행한다.
블록(718)에서, 패킹 실패가 결정된다. 예를 들어, 일 양상에서, 상기 MUX 로직(210)은 상기 서비스를 패킹하도록 이용 가능한 슬롯이 충분하지 않은 것으로 결정하고, 상기 방법은 블록(716)에서 종료한다.
블록(704)에서, 각 RT 서비스에 대한 maxSlotHeight 파라미터가 계산된다. 예를 들어, 일 양상에서, MUX 로직(210)은 상기 계산을 수행하도록 동작한다. maxSlotHeight는 각 RT 서비스에 대해 허용가능한 심볼당 최대 슬롯 수를 나타낸다.
블록(706)에서, 다중화되는 RT 서비스는 maxSlotHeight 파라미터에 기초하여 "3개 블록 서비스"(threeBlkSrvcs), "4개 블록 서비스"(fourBlkSrvcs), "6개 블록 서비스"(sixBlkSrvcs) 및 "7개 블록 서비스"(sevenBlkSrvcs)로 그룹화된다. 일 양상에서, MUX 로직(210)은 슬롯 요건에 의해 서비스를 그룹화하도록 동작한다.
블록(708)에서, 각 그룹의 RT 서비스는 데이터 슬롯들의 수를 감소시킴으로써 정렬된다. 예를 들어, 상기 RT 서비스는 요청된 데이터 슬롯에 대해 최대로부터 최소 순서로 정렬된다.
블록(710)에서, 길이 변수(L7, L6, L4 및 L3)가 계산된다. 예를 들어, sevenBlkSrvcs의 길이는 "L7"이고, sixBlkSrvcs의 길이는 "L6"이고, fourBlkSrvcs의 길이는 "L4"이며, threeBlkSrvcs의 길이는 "L3"이다. 예를 들어, 모든 sevenBlkSrvcs의 길이는 다음과 같이 정의된다;
L7 = ceil(모든 sevenBlkSrvcs의 총 데이터 슬롯/7)
여기서 ceil(x)는 x보다 큰 최소 정수이다. 일 양상에서, MUX 로직(210)은 상기 길이 파라미터(L7, L6, L4 및 L3)를 계산하도록 동작한다.
블록(712)에서, 하나 이상의 부등식 검사가 수행된다. 예를 들어, 다음의 부등식은 각각이 참인지 거짓인지를 결정하도록 검사된다.
L7+L3+L6 <= numOfdmSymbolsPerFrm
(1)
L7+L4+L6 <= numOfdmSymbolsPerFrm
(2)
상기 부등식의 결과로서, 4개의 부등식 조건이 결정된다. 제 1 부등식 (1)은 이하에서는 (1T, 1F)라 칭해지는 참 및 거짓 결과를 갖는다. 제 2 부등식 (2)는 이하에서 (2T, 2F)라 칭해지는 참 및 거짓 결과를 갖는다. 따라서 상기 2개의 부등식은 다중화 시스템의 하나 이상의 양상에 따라 슬롯을 할당하도록 사용되는 4개의 부등식 조건(즉, 1T2T, 1T2F, 1F2T, 1F2F)을 제공한다.
블록(714)에서, 4개의 부등식 조건 중 하나에 기초하여 상기 RT 서비스에 슬롯이 할당된다. 예를 들어, 블록(712)에서 수행된 부등식 검사 결과는 상기 RT 서비스에 슬롯을 할당하도록 사용된다. 상기 4개 조건 각각은 본 명세서의 다음의 섹션에서 논의되는 할당 방법에서 설명되는 바와 같은 할당을 결정한다.
주목할 사항으로서, 상기 방법(700)은 하나의 구현 예를 나타내며 상기 방법(700)의 변경, 추가, 삭제, 조합 또는 다른 변형이 본 발명의 범위 내에서 가능하다.
도 8은 다중화 시스템에 사용하기 위한 제 1 부등식 조건에 기초하여 RT 서비스에 슬롯을 할당하기 위한 예시적인 방법(800)을 도시한다. 예를 들어, 상기 방법(800)은 (1T2T)로 설명된 제 1 부등식 조건과 관련된 슬롯 할당을 제공한다. 일 양상에서, 상기 MUX 로직(210)은 이하에 설명된 바와 같은 방법(800)의 기능을 제공하도록 동작한다.
블록(802)에서, 제 1 부등식의 상태가 참(즉, 1T)인지를 결정하도록 테스트가 수행된다. 상기 제 1 부등식 (1)의 상태가 1T가 아니면, 상기 방법은 블록(804)으로 진행한다. 상기 제 1 부등식 (1)의 상태가 1T라면, 상기 방법은 블록(806)으로 진행한다.
블록(804)에서, 상기 방법은 제 2 부등식 조건의 테스트를 진행한다. 예를 들어, 상기 제 1 부등식 (1)의 상태가 1T가 아니기 때문에, 상기 방법은 방법(900)으로 진행하여 상기 제 2 부등식 조건(1T2F)을 테스트한다.
블록(806)에서, 상기 제 2 부등식 (2)의 상태가 참(즉, 2T)인지를 결정하는 테스트가 수행된다. 상기 제 2 부등식 (2)의 상태가 2T가 아니면, 상기 방법은 블록(804)으로 진행한다. 상기 제 2 부등식 (2)의 상태가 2T라면, 상기 방법은 블록(808)으로 진행한다.
블록(808)에서, 상기 방법은 최종 동작으로 진행한다. 양 상태(1T2T)가 존재하기 때문에, 상기 방법은 슬롯 할당을 완료하도록 최종 동작(이하에서 설명됨)으로 진행한다.
주목할 사항으로서, 상기 방법(800)은 하나의 구현을 나타내며, 상기 방법(800)의 변경, 추가, 삭제, 조합 또는 다른 변형이 본 발명의 범위 내에서 가능하다.
도 9는 다중화 시스템에서 사용하기 위한 제 2 부등식 조건에 기초하여 RT 서비스에 슬롯을 할당하는 예시적인 방법(900)을 도시한다. 예를 들어, 상기 방법(900)은 (1T2F)로 설명된 제 2 부등식 조건과 관련된 슬롯 할당을 제공한다. 일 양상에서, 상기 MUX 로직(210)은 이하에 설명되는 바와 같이 상기 방법(900)의 기능을 제공하도록 동작한다.
블록(902)에서, 상기 제 1 부등식 (1)의 상태가 참(즉, 1T)인지를 결정하는 테스트가 수행된다. 상기 제 1 부등식 (1)의 상태가 1T가 아니면, 상기 방법은 블록(904)으로 진행한다. 상기 제 1 부등식 (1)의 상태가 1T이면, 상기 방법은 블록(906)으로 진행한다.
블록(904)에서, 상기 방법은 제 3 부등식 조건을 테스트하도록 진행한다. 예를 들어, 상기 제 1 부등식 (1)의 상태가 1T가 아니기 때문에, 상기 방법은 상기 제 3 부등식 조건(1F2T)을 테스트하도록 방법(1100)으로 진행한다.
블록(906)에서, 상기 제 2 부등식 (2)의 상태가 거짓(즉, 2F)인지를 결정하는 테스트가 수행된다. 상기 제 2 부등식 (2)의 상태가 2F가 아니면, 상기 방법은 블록(904)으로 진행한다. 상기 제 2 부등식 (2)의 상태가 2F라면, 상기 방법은 4개 블록 서비스가 처리되는 블록(908)으로 진행한다.
도 10은 초과 4개 블록 서비스를 할당하는 다중화 시스템의 일 양상의 동작을 예시하는 프레임(1000)을 도시한다. 예를 들어, 상기 할당 블록은 threeBlk(1002), fourBlk(1004), sixBlk(1006) 및 sevenBlk(1008)을 포함한다. 상기 할당 블록은 또한 reg2Blk(1010)을 포함한다. 상기 프레임(1000)은 상기 fourblk(1004), threeblk(1002) 및 reg2blk(1010) 할당 블록에 초과 4개 블록 서비스(fourBlkSrvc)(1012)를 할당하도록 동작하는 방법을 도시한다. 일 양상에서, 상기 방법(900)은 도 10에 도시된 프레임(1000)에 RT 서비스를 할당하도록 동작한다.
도 9를 다시 참조하면, 블록(908)에서, 4개 블록 서비스가 처리된다. 예를 들어, 일 양상에서 MUX 로직(210)은 도 10에 도시된 프레임(100)을 참조하여 이하에 설명된 바와 같은 4개 블록 서비스를 처리하도록 동작한다.
a. fourBlk(1004)가 상기 방법(800)을 참조하여 설명된 제 1 부등식 조건을 만족시킬 수 있는 fourBlkSrvc를 탐색한다. 그 후에, 초과 fourBlkSrvcs 없이 fourBlk(1004)를 업데이트한다.
b. 초과 fourBlkSrvcs를 threeBlk(1002) 및 reg2Blk(1010)로 이동시킨다. Reg2Blk(1010)는 도 10에 도시된 바와 같이 높이 1의 블록이다.
c. 초과 fourBlkSrvcs를 이동시키는 동안 연속적인 서비스가 fourBlk(1004) 자체에 맞을 수 있는지를 검사한다.
d. 다음의 조건적인 부등식이 참일 경우에만 상기 이동을 완료시킨다.
((L7+L3+L6) <= numOfdmSymbolsPerFrm)&&
((L7+L4+L6) <= numOfdmSymbolsPerFrm)&&
((L7+L4+Lreg2) <= numOfdmSymbolsPerFrm)
블록(910)에서, 초과 4개 블록 서비스가 상술한 바와 같이 이동될 수 있는지를 결정하도록 테스트가 수행된다. 블록(908)에서 초과 fourBlkSrvcs가 상기 조건적인 부등식을 만족시키도록 threeBlk(1002) 또는 reg2Blk(1010) 중 어느 하나로 이동될 수 없으면, 상기 방법은 패킹 실패가 결정되는 블록(914)으로 진행하며 상기 방법은 중단한다. 초과 fourBlkSrvcs가 이동될 수 있으면, 상기 방법은 블록(912)으로 진행한다.
블록(912)에서, 상기 방법은 최종 동작으로 진행한다. 상기 초과 fourBlkSrvcs가 성공적으로 이동될 수 있기 때문에, 상기 방법은 상기 슬롯 할당을 완료하도록 최종 동작으로 진행한다.
주목할 사항으로서, 상기 방법(900)은 하나의 구현을 나타내며, 상기 방법(900)의 변경, 추가, 삭제, 조합 또는 다른 변형이 본 발명의 범위 내에서 가능하다.
도 11은 다중화 시스템에 사용하기 위한 제 3 부등식 조건에 기초하여 RT 서비스에 슬롯을 할당하는 예시적인 방법(1100)을 도시한다. 예를 들어, 상기 방법(1100)은 제 3 부등식 조건(1F2T)이 존재할 때 할당을 제공한다. 일 양상에서, 상기 MUX 로직(210)은 이하에 설명되는 바와 같은 방법(1100)의 기능을 제공하도록 동작한다.
블록(1102)에서, 상기 제 1 부등식 (1)의 상태가 거짓(즉, 1F)인지를 결정하도록 테스트가 수행된다. 상기 제 1 부등식 (1)의 상태가 1F가 아니면, 상기 방법은 블록(1104)으로 진행한다. 상기 제 1 부등식 (1)의 상태가 1F라면, 상기 방법은 블록(1106)으로 진행한다.
블록(1104)에서, 상기 방법은 제 4 부등식 조건을 처리하도록 진행한다. 예를 들어, 상기 제 1 부등식 (1)의 상태가 1F가 아니기 때문에, 상기 방법은 방법(1300)으로 진행하여 유일한 조건이 남아있기 때문에 현재 존재해야 하는 제 4 부등식 조건(1F2F)을 처리한다.
블록(1106)에서, 상기 제 2 부등식 (2)의 상태가 참(즉, 2T)인지를 결정하도 록 테스트가 수행된다. 상기 제 2 부등식 (2)의 상태가 2T가 아니면, 상기 방법은 블록(1104)으로 진행한다. 상기 제 2 부등식 (2)의 상태가 2T라면, 상기 방법은 블록(1108)으로 진행한다.
도 12는 초과 3개 블록 서비스를 할당하는 다중화 시스템의 일 양상의 동작을 예시하는 프레임(1200)을 도시한다. 예를 들어, 상기 할당 블록은 threeBlk(1202), fourBlk(1204), sixBlk(1206), reg2Blk(1208) 및 reg1Blk(1210)를 포함한다. 상기 프레임(1200)은 초과 3개 블록 서비스(threeBlkSrvcs)(1212)를 threeBlk(1202), reg1Blk(1210) 및 reg2Blk(1208) 할당 블록에 할당하도록 상기 방법(1100)이 어떻게 동작하는지를 예시한다.
도 11을 다시 참조하면, 블록(1108)에서 3개 블록 서비스(threeblkSrvcs)가 처리된다. 예를 들어, 일 양상에서 상기 MUX 로직(210)은 다음과 같이 threeblkSrvcs를 처리하도록 동작한다.
a. threeBlk(1202)가 상기 방법(800)을 참조하여 설명된 제 1 부등식 조건을 만족시킬 수 있는 threeBlkSrvc를 탐색한다. 그 후에, 초과 threeBlkSrvcs 없이 threeBlk(1202)를 업데이트한다.
b. 초과 threeBlkSrvcs를 reg1Blk(1210) 및 reg2Blk(1208)로 이동시킨다. Reg1Blk(1210)는 도 12에 도시된 바와 같이 높이 3의 블록이다.
c. 이동시키는 동안 연속적인 서비스가 threeBlk(1202) 자체에 맞을 수 있는지를 검사한다.
d. 다음의 조건적인 부등식이 참일 경우에만 상기 이동을 완료시킨다.
((L7+L3+L6) <= numOfdmSymbolsPerFrm)&&
((L7+L4+Lreg1+L6) <= numOfdmSymbolsPerFrm)&&
((L7+L4+Lreg2) <= numOfdmSymbolsPerFrm)
블록(1110)에서, 초과 3개 블록 서비스가 이동될 수 있는지를 결정하도록 테스트가 수행된다. 초과 threeBlkSrvcs가 블록(1108)에서의 조건적 부등식을 만족시키도록 reg1Blk(1210) 또는 reg2Blk(1208)에 이동될 수 없다면, 상기 방법은 패킹 실패가 결정되는 블록(1112)으로 진행하며, 상기 방법은 중단한다. 초과 3개 블록 서비스가 이동될 수 있으면, 그 후에 상기 방법은 블록(1114)으로 진행한다.
블록(1114)에서, 상기 방법은 최종 동작으로 진행한다. 상기 초과 threeBlkSrvcs가 성공적으로 이동될 수 있기 때문에, 상기 방법은 상기 슬롯 할당을 완료하도록 최종 동작으로 진행한다.
주목할 사항으로서, 상기 방법(1100)은 하나의 구현을 나타내며, 상기 방법(1100)의 변경, 추가, 삭제, 조합 또는 다른 변형이 본 발명의 범위 내에서 가능하다.
도 13은 다중화 시스템에 사용하기 위한 제 4 부등식 조건에 기초하여 슬롯을 RT 서비스에 할당하는 예시적인 방법(1300)을 도시한다. 상기 방법(1300)은 상기 제 1, 제 2 및 제 3 부등식 조건이 존재하지 않을 때에 할당을 제공한다. 이 경우에, 상기 부등식 조건의 상태는 (1F2F)로서 설명될 수 있다. 일 양상에서, 상기 MUX 로직(210)은 이하에 설명되는 바와 같이 방법(1300)의 기능을 제공하도록 동작한다.
도 14는 초과 6개 블록 서비스를 할당하는 다중화 시스템의 일 양상의 동작을 예시하는 프레임(1400)을 도시한다. 예를 들어, 상기 프레임(1400)은 threeBlk(1402), fourBlk(1404), reg2Blk(1406) 및 sixBlk(1408) 할당 블록을 포함한다. 상기 프레임(1400)은 초과 6개 블록 서비스(sixBlkSrvcs)(1410)가 할당되는 방식을 예시한다.
도 13을 다시 참조하면, 블록(1302)에서 6개 블록 서비스가 처리된다. 예를 들어, 일 양상에서 상기 MUX 로직(210)은 다음과 같이 6개 블록 서비스를 처리하도록 동작한다.
a. fourBlk(1404) 및 sixBlk(1408)가 상기 방법(800)을 참조하여 설명된 제 1 부등식 조건을 만족시키도록 유지할 수 있는 sixBlkSrvc를 탐색한다. 그 후에, 초과 서비스 없이 sixBlk(1408)를 업데이트한다.
b. 초과 sixBlkSrvcs를 threeBlk(1402), fourblk(1404) 및 reg2Blk(1406)으로 이동시킨다.
c. 이동시키는 동안 연속적인 서비스가 sixBlk(1408) 자체에 맞을 수 있는지를 검사한다.
d. 다음의 조건적인 부등식이 참일 경우에만 상기 이동을 완료시킨다.
((L7+L3+L6) <= numOfdmSymbolsPerFrm)&&
((L7+L4+L6) <= numOfdmSymbolsPerFrm)&&
((L7+L4+Lreg2) <= numOfdmSymbolsPerFrm)
블록(1304)에서, 초과 6개 블록 서비스가 이동될 수 있는지를 결정하도록 테 스트가 수행된다. 초과 6개 블록 서비스가 블록(1302)에서의 조건적 부등식을 만족시키도록 fourblk(1404), threeBlk(1402) 또는 reg2Blk(1406)에 이동될 수 없다면, 상기 방법은 패킹 실패가 결정되는 블록(1306)으로 진행하며, 상기 방법은 중단한다. 초과 6개 블록 서비스가 이동될 수 있으면, 그 후에 상기 방법은 블록(1308)으로 진행한다.
블록(1308)에서, 상기 방법은 최종 동작으로 진행한다. 상기 초과 sixBlkSrvcs가 성공적으로 이동될 수 있기 때문에, 상기 방법은 슬롯 할당을 완료하도록 최종 동작으로 진행한다.
주목할 사항으로서, 상기 방법(1300)은 하나의 구현을 나타내며, 상기 방법(1300)의 변경, 추가, 삭제, 조합 또는 다른 변형이 본 발명의 범위 내에서 가능하다.
최종 동작
따라서 상기에 수행된 동작으로부터, 각 RT 서비스가 어느 블록에 할당되는지에 관한 정보가 획득된다. 추가로, RT 서비스의 각 채널이 프레임에 대해 갖는 데이터 슬롯의 수가 알려져 있다. 상기 정보는 모든 채널 할당의 위치에 도달하도록 충분하다. 일 양상에서, 상기 슬롯은 최대 높이 제약을 지키면서 블록 내의 채널에 인접하게 할당될 수 있다.
패킹 예
도 15는 다중화 시스템에 사용하기 위한, 2개의 RT 서비스를 하나의 전송 프레임에 패킹하는 할당 알고리즘의 양상의 동작을 예시하는 프레임(1500)을 도시한 다. 본 예에서, 상기 2개의 RT 서비스(즉, 서비스 A 및 B)는 상기 프레임(1500)의 fourblk 영역으로 패킹된다. 예시의 목적으로, 이전의 동작은 양쪽 RT 서비스가 fourBlk 영역에 있다고 결정한 것으로 가정한다. 또한, 이들 RT 서비스 양측은 2개의 채널, 즉 1 및 2를 갖는 것으로 가정한다. 또한, 각 채널에 대한 데이터 슬롯의 수는 다음과 같다고 가정한다.
서비스 A의 채널 1 = 9
서비스 A의 채널 2 = 9
서비스 B의 채널 1 = 8
서비스 B의 채널 2 = 7
상기 프레임(1500)에서 예시된 바와 같이, 상기 RT 서비스는 다음의 파라미터에 따라 fourblk 영역으로 패킹된다.
채널 1 서비스 A(1502)
시작 심볼 = 5
시작 슬롯 = 6
최하위 슬롯 = 4
최상위 슬롯 = 7
총 슬롯 = 9
채널 2 서비스 A(1504)
시작 심볼 = 7
시작 슬롯 = 7
최하위 슬롯 = 4
최상위 슬롯 = 7
총 슬롯 = 9
채널 1 서비스 B(1506)
시작 심볼 = 10
시작 슬롯 = 4
최하위 슬롯 = 4
최상위 슬롯 = 7
총 슬롯 = 8
채널 2 서비스 B(1508)
시작 심볼 = 12
시작 슬롯 = 4
최하위 슬롯 = 4
최상위 슬롯 = 7
총 슬롯 = 7
알고리즘 요약
하나 이상의 양상에서, 상기 할당 알고리즘은 프레임으로의 플로의 효율적인 패킹을 제공하며, 그에 의해 수신 디바이스의 "웨이크업" 주파수 및 "온타임"을 최소화한다. 예를 들어, 서비스의 그룹화 채널은 함께 웨이크업 주파수를 감소시키는 한편, maxSlotHeight에서의 서비스 전송은 온타임을 감소시킨다.
일 양상에서, 상기 알고리즘에 의해 제공된 슬롯 할당이 4개의 부등식 조건 중 하나로 인하여 실패할 경우, 상기 알고리즘은 디렉티브(directive)를 통과하여 서비스가 리사이징되는 방식을 제어하는 리사이징 제어기(212)로 진행한다. 상기 리사이징 제어기(212)가 이들 디렉티브에 기초하여 리사이징된 서비스를 갖는다면, 패킹 솔루션이 보장된다.
도 16은 사용되지 않은 슬롯이 2개 영역에서 그룹화되도록 RT 서비스를 패킹하는 할당 알고리즘의 양상의 동작을 예시하는 프레임(1600)을 도시한다. 더 적은 영역에서 사용되지 않은 슬롯을 수집하는 것은 상기 할당 알고리즘에 입력된 서비스보다 우선순위가 낮은 서비스에 의해 이들 슬롯이 더 잘 이용되게 한다. 일 양상에서, ORT 서비스는 이들 영역에 패킹될 수 있다. 예를 들어, 프레임(1600)에서, 사용되지 않은 슬롯은 영역(1602 및 1604)에 그룹화된다.
실시간 서비스 리사이징 알고리즘
하나 이상의 양상에서, 상기 리사이즈 제어기(116)는 서비스가 하나의 프레임에 패킹될 수 있도록 상기 서비스가 리사이징되는 방식을 제어하도록 동작한다. 예를 들어, 서비스는 관련된 전달 요건을 조정하도록 리사이징된다. 일 양상에서, 하나 이상의 서비스가 관련된 대역폭 요건을 감소시키도록 리사이징된다; 그러나, 상기 리사이즈 제어기(116)는 상기 관련된 전달 요건 중 임의의 요건을 조정하기 위해 서비스를 리사이징하도록 동작한다. 이하에서는 RT 서비스에서 성분 스트림을 리사이징하도록 동작하는 리사이징 알고리즘을 설명한다. RT 서비스의 리사이징을 초래하는 조건이 또한 제공된다. 일 양상에서, 상기 리사이즈 제어기(116)는 리사이징 파라미터를 결정하는 리사이징 알고리즘을 실행하도록 동작한다. 이들 파라미터는 그 후에 리사이징 요청에서 상기 RT 서비스와 관련된 RTMS에 전송된다. 그 후에, 상기 RTMS는 상기 리사이징 요청에서의 파라미터에 따라 상기 식별된 RT 서비스를 리사이징하도록 동작한다.
주목할 사항으로서, 상기 리사이즈 제어기(116)는 또한 임의의 ORT 서비스를 리사이징하도록 동작한다. 예를 들어, 상기 리사이즈 제어기(116)는 하나 이상의 ORT 서비스가 리사이징되는 방식을 결정하고 상기 결정된 리사이징을 실행하기 위해 임의의 NRTMS와 통신하도록 동작가능하다. 결과적으로, 상기 서비스와 관련된 전달 요건이 조정될 것이다. 예를 들어, 상기 리사이즈 제어기(116)는 ORT 서비스의 대역폭 요건을 감소시켜 그 전달 요건을 요청하도록 NRTMS와 통신할 수 있다. 따라서 RT 서비스를 리사이징하는 것과 관련하여 본 명세서에 설명된 양상은 ORT 서비스에도 동일하게 적용가능하다.
도 1에 도시된 바와 같이, 상기 MUX(114)는 RTMS(126) 및 NRTMS(128)로부터 컨텐츠 플로 데이터 및 관련된 시그널링 데이터를 수신한다. 수퍼프레임마다, 상기 MUX(114)는 모든 활성 실시간 서비스에 대해 RTMS(126)와, 그리고 임의선택적으로 ORT 서비스에 대해 NRTMS(128)와 데이터 대역폭을 협상한다. 일 양상에서, 상기 대역폭 협상은 다음의 동작 시퀀스와 관련된다.
a. 상기 MUX(114)는 수퍼프레임에서 송신되는 RT 서비스에 대한 데이터 크기를 요청하도록 GetDataSize.Request 메시지를 RTMS(126)에 송신한다.
b. 상기 RTMS(126)는 수퍼프레임에서 송신되는 RT 서비스에 대한 데이터 크 기를 특정하는 GetDataSize.Response 메시지를 MUX(114)에 송신한다.
c. 상기 MUX(114)는 상기 RTMS(126) 뿐만 아니라 다른 소스로부터 수신된 모든 데이터 크기에 기초하여 컨텐츠 스케줄링(할당)을 수행한다.
d. 상기 MUX(114)는 UpdateDataSize.Notification 메시지의 일부로서 상기 RT 서비스 플로 데이터에 대해 업데이트된 크기를 상기 RTMS(126)에 송신한다.
일 양상에서, 상기 MUX(114)는 상술한 슬롯 할당 알고리즘의 양상을 포함하는 컨텐츠 스케줄링 기능을 제공하도록 동작한다. 상기 리사이즈 제어기(116)는 리사이징 알고리즘의 양상을 제공한다. 상기 슬롯 할당 알고리즘은 할당된 슬롯(레이트)을 수퍼프레임에서의 모든 매체 서비스에 맞추는 것을 담당한다. 어떤 시스템 제약(예를 들어, 디바이스 상의 터보 디코더의 피크 스루풋(throughput)은 단일 OFDM 심볼에서의 특정 매체 서비스에 할당될 수 있는 슬롯의 수를 제한함)은 총 할당된 슬롯이 수퍼프레임에서 총 이용 가능한 슬롯과 같거나 적음에도 불구하고 상기 슬롯 할당 절차가 실패하게 할 수 있다. 또한, 에어링크(air-link) 리소스에 대한 요구를 조절하도록 예상되는 실시간 서비스 구성요소는 비디오 컨텐츠이다. 상기 컨텐츠는 고도의 가변 비트-레이트(bit-rate) 플로를 발생시키는 소스 코딩을 이용하여 압축된다. 마지막으로, 실시간 서비스의 전송을 위해 이용 가능한 수퍼프레임당 용량은 수반하는 다른 매체 서비스의 요건으로 인해 변동할 수 있다. 이들 인자는 다음의 할당 조건 중 하나를 발생시키게 된다.
1. 상기 RT 서비스에 의해 요청된 모든 데이터의 합계는 이용 가능한 용량과 같거나 적으며, 상기 슬롯 할당 알고리즘은 성공한다.
2. 상기 RT 서비스에 의해 요청된 모든 데이터의 합계는 이용 가능한 용량과 같거나 적지만, 상기 슬롯 할당 알고리즘은 실패한다.
3. 상기 RT 서비스에 의해 요청된 모든 데이터의 합계는 이용 가능한 용량보다 크다.
상기 할당 조건(2 및 3)은 상기 RT 서비스 플로에 의해 요청된 데이터량을 할당하는데 실패를 발생시킨다. 이들 시나리오에서, 상기 MUX(114)는 RT 서비스를 리사이징하도록 리사이즈 알고리즘을 수행하기 위해 리사이즈 제어기(116)를 소환한다. 다음의 섹션은 실시간 서비스에 대한 품질 및 상기 리사이즈 알고리즘 양상의 객체의 개념을 설명한다.
실시간 서비스 품질 및 리사이즈 알고리즘 객체
품질의 개념은 실시간 스트리밍 매체 서비스 내의 비디오 플로와 관련된다. 실시간 서비스의 품질(Q)은 상기 서비스 플로에 할당된 비트 레이트(r)의 함수이며 다음과 같이 표현되는 품질 함수에 의해 모델링된다.
Q = f(r)
(3)
수퍼프레임마다, 상기 RTMS(126)는 상기 MUX(114)가 상기 함수를 평가하는데 도움을 주는 정보를 제공한다. 이는 GetDataSize.Response 메시지에서 상기 MUX(114)에 송신된다. 다음의 섹션에서 설명되는 바와 같이, 상기 MUX(114)는 상기 리사이즈 절차를 촉진하는 실시간 서비스의 품질 추정을 위해 상기 정보를 사용한다. 또한, 주목할 사항으로서, 임의의 선택된 품질 측정 또는 특성은 품질 추정 의 목적으로 상기 MUX(114)에 의해 사용될 수 있다.
상기 리사이즈 알고리즘은 총 할당 레이트가 RT 서비스에 대한 이용 가능한 용량과 같거나 적어 상기 슬롯 할당 알고리즘이 성공하도록 상기 실시간 서비스에 레이트(물리적 계층 패킷(PLPs)의 단위로)를 할당한다. 따라서 일 양상에서 RT 서비스에 대한 레이트 할당은 상기 RT 서비스 비디오 플로의 품질 함수가 다음에 따른 가중치에 비례하도록 되어야 한다.
(Qi/Qj) = (Wi/Wj)
(4)
여기서 Qi(Wi) 및 Qj(Wj)는 임의의 RT 서비스 i,j에 대한 품질 함수(플로 가중치)이다. 상기 품질 함수는 상기의 등식 (3)을 이용하여 추정된다. 플로와 관련된 가중값은 다른 RT 비디오 플로 중 상기 플로의 상대적인 중요도의 측정을 제공한다. 일 양상에서, 상기 MUX(114)는 분산 네트워크와 관련된 서비스 계획 및 관리 기능을 담당할 수 있는 가입 및 공급 서브-시스템으로부터 이들 플로 가중값을 획득한다.
리사이즈 알고리즘
본 섹션은 상기 RT 서비스 리사이즈 알고리즘의 양상을 설명한다. 상기 알고리즘은 상기 RT 서비스에서 비디오 성분 스트림(플로)에 대한 레이트 할당에 수렴하도록 반복적인 방법을 이용한다. 상기 알고리즘은 각 비디오 스트림에 의해 요청된 PLPs의 수(레이트)로 시작한다. 상기 알고리즘의 반복의 각각은 레이트 감소에 대한 후보 서비스를 식별하는 것과 관련된다. 상기 후보 스트림은 레이트 감소에 가장 덜 민감하며 다른 스트림과 비교하여 불리한 정도의 품질 감소를 겪지 않은 것이다. 일 양상에서, 상기 리사이즈 알고리즘의 기능은 도 2에 도시된 리사이즈 제어기(212)에 의해 제공된다.
후보 스트림이 식별된 후에, 상기 스트림에 할당된 레이트는 감소한다. 예를 들어, 상기 레이트는 2개의 리드-솔로몬(Reed-Solomon) 코드 블록에 대응하는 양만큼 감소할 수 있다. 상기 네트워크는 하나의 리드-솔로몬 블록에 대응하는 PLPs의 수에 의해 정의된 입도(granularity)로 모든 서비스에 레이트를 할당한다. 상기 비디오 스트림은 베이스 및 개선된 비디오 성분을 갖는 네트워크의 계층화 전송 모드 중 하나를 이용하여 전송되는 것으로 가정한다. 더욱이, 상기 시스템은 상기 2개 비디오 성분의 데이터가 동일하도록 제약한다. 그러므로 2개의 리드 솔로몬 블록의 선택은 레이트 감소의 단위이다. 그러나 주목할 사항으로서, 임의의 다른 선택량에 의해 스트림의 레이트를 감소시키는 것은 상기 양상의 범위 내에 있다.
상수
다음의 상수 파라미터는 리사이즈 함수를 제공하도록 다중화 시스템의 양상에서 사용된다.
rateReductionBnd
임의의 실시간 비디오 스트림에 대한 레이트의 단편적인 감소에 대한 상한. 상기 상한은 상기 스트림에 의해 요청된 레이트를 참조한다. 일 양상에서, 0.5의 값이 사용된다.
sysMin
스트림의 품질에 대한 최소값. 상기 최소값은 상기 레이트 감소 경계에 도달한 스트림의 추가적인 레이트 감소를 방지하도록 사용된다.
payloadPLP
대략 968 비트인, PLP에 대한 효율적인 페이로드.
알고리즘 입력
다음의 입력은 리사이즈 함수를 제공하도록 다중화 시스템의 양상에서 사용된다.
maxRTSOFDKSym
상기 실시간 서비스에 대해 이용 가능한 수퍼프레임당 OFDM 심볼 수의 용량.
numRTS
상기 이용 가능한 용량을 공유하는 실시간 서비스의 수.
numVStreams
실시간 서비스에서 비디오 성분 스트림의 총 수. 예를 들어, VStream은 각 실시간 비디오 성분 스트림을 설명하는 구조의 리스트이다.
_weight
상기 스트림에 대한 상대적인 가중값을 유지.
requestedPLPs
상기 스트림에 의해 요청된 수퍼프레임당 PLP의 수를 유지. 요청된PLPs x 페이로드PLP(968 비트)로서 요청된 생(raw) 비트 수를 추정할 수 있다.
rsCodeParameterK
리드 솔로몬(N,K) 코드에 대한 파라미터 K.
변수
다음의 변수는 리사이즈 함수를 제공하는 다중화 시스템의 양상에 사용된다.
reqPLPs [numVStreams]
상기 비디오 성분 스트림을 식별하는 수(0에서 numVStreams - 1까지)로 인덱싱된 어레이. 상기 어레이는 상기 VStream 구조의 요청된PLPs 멤버에 의해 표시된 바와 같이 상기 스트림에 의해 요청된 수퍼프레임당 PLPs의 수를 유지한다.
assgnPLPs [numVStreams]
상기 비디오 성분 스트림을 식별하는 수(0에서 numVStreams - 1까지)로 인덱싱된 어레이. 상기 어레이는 상기 스트림에 할당된 수퍼프레임당 PLPs의 수를 유지한다.
tempPLPs [numVStreams]
상기 비디오 성분 스트림을 식별하는 수(0에서 numVStreams - 1까지)로 인덱싱된 어레이. 상기 어레이는 상기 비디오 성분 스트림에 할당된 수퍼프레임당 PLPs의 수를 유지한다. 이는 상기 알고리즘에 의해 내부적으로 사용된 일시적인 변수이다.
weight [numVStreams]
상기 비디오 성분 스트림을 식별하는 수(0에서 numVStreams - 1까지)로 인덱싱된 어레이. 상기 어레이는 상기 VStream 구조의 _weight 멤버에 의해 표시된 스트림의 상대적인 가중값을 유지한다.
effQuality [numVStreams]
상기 비디오 성분 스트림을 식별하는 수(0에서 numVStreams - 1까지)로 인덱싱된 어레이. 상기 어레이는 실시간 서비스 스트림에 대해 추정된 품질을 유지한다.
PLPsPerRSBlk [numVStreams]
상기 비디오 성분 스트림을 식별하는 수(0에서 numVStreams - 1까지)로 인덱싱된 어레이. 상기 어레이는 상기 VStream 구조의 rsCodeParameterK 멤버에 의해 표시된 바와 같은 리드-솔로몬 코드 블록당 데이터 PLPs의 수를 유지한다.
알고리즘 출력
다음의 출력은 리사이즈 함수를 제공하는 다중화 시스템의 양상에 사용된다.
successFlag
상기 리사이즈 알고리즘이 상기 제약을 충족시키는 레이트 할당에 수렴하는데 성공하면, 플래그는 1로 설정된다. 그렇지 않으면, 상기 successFlag는 0으로 설정된다.
상기 리사이즈 알고리즘에 의해 호출된 내부 절차
다음은 다중화 시스템의 양상에서 상기 리사이즈 알고리즘에 의해 호출된 내부 절차이다.
reducePLPs ( )
레이트 감소에 대한 비디오 스트림을 식별하고 상기 스트림에 할당된 데이터량을 감소시키는 절차. 상기 절차는 메인 루틴에 대해 정의된 변수 공간을 공유한다.
리인코드 알고리즘에 의해 호출된 외부 알고리즘
다음은 다중화 시스템의 양상에서 상기 리사이즈 알고리즘에 의해 호출된 외부 절차이다.
slotAllocation
슬롯 할당 알고리즘은 수퍼프레임에서의 모든 매체 서비스에 할당된 슬롯(레이트)을 맞추는 것을 담당한다. 상기 리사이즈 알고리즘은 모든 매체 서비스에 대해 할당된 데이터(레이트)를 포함하는 요청된 입력 인수(argument)들을 갖는 슬롯 할당 알고리즘을 호출한다.
알고리즘
다음에는 다중화 시스템의 양상에 사용하기 위한 리사이즈 알고리즘의 양상을 설명한다. 일 양상에서, 상기 리사이즈 제어기(212)는 상기 리사이즈 알고리즘을 실행하며 다음의 함수 중 하나 이상을 수행한다.
a. VStream 구조 데이터를 이용하여, 상기 어레이 reqPLPs[], qualityindex[], PLPsPerRSBlk[] 및 weight[]를 실장시킨다.
b. reqPLPs[]의 대응하는 요소에 어레이 assgnPLPs[]의 모든 요소를 초기화한다.
c. algorithmFlag = 1 및 successFlag = 0을 초기화한다.
d. 다음의 함수를 수행한다:
while algorithm Flag == 1
reducePLPs()
if reduction > 0
call slotAllocation Algorithm
if slotAllocation Algorithm succeeds
algorithmFlag = 0
success Flag = 1
endif
else
/* 이 조건은 rateReductionBnd 경계를 고려하면서 리사이징하는 것의 실패를 나타낸다. */
endif
endwhile
다음의 함수는 reducePLPs() 절차의 일부로서 수행된다.
for i = 0 to numVStreams
tempPLPs[i] = assgnPLPs[i]
tempPLPs[i] = tempPLPs[i] - 2 x PLPsPerRSBlk[i]
/* 스트림에 할당된 PLPs는 2개의 리드-솔로몬(Reed-Solomon) 블록에 대응하는 양만큼 감소한다. 일 양상에서, 하나의 RS 블록은 베이스 및 개선된 성분 둘 다로부터 제거된다. 상기 시스템은 베이스 및 개선된 비디오 성분에서의 데이터가 동일하도록 제한한다. */
if tempPLPs[i]/reqPLPs[i] >= rateReductionBnd
effQuality[i] = f(tempPLPs[i] x payloadPLP)/weight[i]
else
effQuality[i] = sysMin
endif
endfor
/* 여기서 f()는 품질을 평가하도록 사용될 수 있는 임의의 적합한 함수이다. */
e. 상기 어레이 effQuality[]에 의해 주어진 바와 같은 최대 효율 품질을 갖는 서비스의 인덱스를 식별한다. 상기 인덱스 파라미터를 상기 값으로 설정한다.
f. 다음의 함수를 수행한다.
if effQuality[_index] == sysMin
/* 이 조건은 rateReductionBnd 경계를 고려하면서 리사이징하는 것의 실패를 나타낸다. */
reduction = -1
else
reduction = 2 x PLPsPerRSBlk[_index]
assgnPLPs[_index] = tempPLPs[_index]
endif
따라서 리사이즈 제어기(212)는 다중화 시스템의 양상에서 서비스를 리사이징하기 위해 상기 함수를 제공하도록 동작한다. 예를 들어, 상기 서비스가 상술한 할당 알고리즘의 양상에 의해 제공된 바와 같은 수퍼프레임의 이용 가능한 슬롯에 할당되게 하도록 RT 서비스의 레이트가 감소한다.
다른 실시간 서비스( ORTS )
상기 슬롯 할당 알고리즘의 양상은 다양한 제약을 고려하고 OFDM 심볼의 서비스에 대해 송신된 터보 패킷의 수가 디바이스에 의해 디코딩할 수 있게 하도록 상기에 설명되었다. 상기 알고리즘은 상기 디바이스가 언제든 하나의 RT 서비스만을 수신하도록 요청되기 때문에 RT 서비스에 바람직하다. 그러나 디바이스는 수퍼프레임에서 다수 ORT 서비스를 수신할 수 있다. 동일한 알고리즘이 사용되면, OFDM 심볼에서 상기 디바이스에 의해 가입된 모든 ORT 서비스에 대한 패킷의 총수는 상기 디바이스 제한치보다 커질 수 있다. 이것은 "터보 패킷 충돌(conflict)"이라 칭한다. 터보 패킷 충돌은 ORT 서비스 데이터의 손실을 유도한다. 손실의 크기는 일반적으로 사용자의 가입 패턴에 의존한다. 따라서 터보 패킷 충돌을 완전히 제거하는, ORT 서비스에 대한 슬롯 할당 알고리즘의 추가적인 양상이 이하에서 제공되며 설명된다.
도 17은 다중화 시스템에 사용하기 위해 RT 서비스 및 ORT 서비스에 대한 영역으로 분할되는 예시적인 프레임(1700)을 도시한다. 제 1 영역(1702)은 RT 서비스에 대해 제공되고, 제 2 영역(1704)은 ORT 서비스에 대해 제공된다. 상기 프레임을 상기 영역으로 구획함으로써, RT 및 ORT 서비스 간의 터보 패킷 충돌이 발생하지 않는다. 상기 RT(1702)와 ORT(1704) 영역 사이의 구획은 "소프트" 구획이다(즉, 수퍼프레임에서의 이용 가능한 RT 및 ORT 서비스에 따라 수퍼프레임 사이를 변동한다). RT 서비스는 상술한 상기 슬롯 할당 알고리즘 및 리사이즈 알고리즘 중 하나를 이용하여 RT 서비스 영역(1702)에 슬롯 할당된다. ORT 서비스는 이하에 설명되는 ORT 서비스 알고리즘 중 하나를 이용하여 상기 ORT 서비스 영역(1704)에 슬롯 할당된다. 하나 이상의 양상에서, 상기 ORT 서비스는 또한 이용 가능한 대역폭에 맞추도록 리사이징된다. ORT 서비스에 적용되는 리사이징의 더 상세한 설명은 이하에 이루어진다.
ORT 서비스 슬롯 할당
수신 디바이스의 전력 소모와 관련하여, MLC 할당의 높이가 maxSlotHeight인 것이 바람직하다. 이는 상기 MLC를 수신하도록 상기 디바이스에 대해 가능한 "온타임"을 최소화한다. 그러나 패킹을 용이하게 하도록, 서비스의 모든 그룹화된 MLC에는 동일한 높이가 할당된다. 따라서 심지어 상기 ORT 서비스에 대해서도, "서비스의 maxSlotHeoght"의 개념이 상기 서비스에 대해 그룹화된 모든 MLC의 maxSlotHeight 파라미터의 최소값으로서 정의된다. 본 명세서의 나머지 부분에 대해, 서비스의 높이는 상기 서비스의 모든 MLC 할당의 공통 높이를 의미한다.
서비스의 채널이 함께 그룹화됨
일 양상에서, 서비스의 모든 채널은 그 할당이 상기 프레임에 일시적으로 인접하도록 함께 그룹화된다. 상기 방식은 서비스의 서로 다른 채널을 수신하도록 디바이스가 "웨이크업"해야 하는 횟수를 감소시키며, 따라서 상기 디바이스의 전력 소모를 감소시킨다.
ORTS 영역이 블록으로 분할됨
도 18은 ORTS 영역이 서로 다른 높이의 블록으로 분할되는 예시적인 프레임(1800)을 도시한다. 일 양상에서, 상기 블록 높이는 서비스가 취할 수 있는 가능한 maxSlotHeights에 대응한다. 상기 표(500)로부터, 4개의 maxSlotHeights(즉, 3, 4, 6 및 7)가 존재하는 것을 알 수 있다. 따라서 상기 프레임(1800)은 관련 서비스를 할당하도록 사용되는 threeBlk(1802), fourBlk(1804), sixBlk(1806) 및 sevenBlk(1808) 영역을 도시한다. 그 후에, 상기 ORT 서비스 슬롯 할당 알고리즘은 상기 maxSlotHeight에 기초하여 서로 다른 블록들로 서비스를 패킹하도록 동작한다.
다른 것 위에 블록이 없음
일 양상에서, 상기 블록은 다른 것 위에 블록이 없도록 상기 프레임(1800)에 배열된다. 이에 의해, 2개의 ORT 서비스는 터보 패킷 충돌이 발생하지 않게 된다.
ORT 서비스 슬롯 알고리즘
하나 이상의 양상에서, 다음의 파라미터는 상기 ORT 서비스 슬롯 할당 알고리즘에 대한 입력을 나타낸다.
a. 서비스의 각 MLC가 프레임에 대해 갖는 데이터 슬롯의 수.
b. 상기 MLC의 전송 모드에 의해 결정되는 서비스의 각 MLC의 maxSlotHeight.
c. 상기 ORT 서비스에 대해 이용 가능한 심볼(numAvaiIOrtsSymPerFrm)의 총 수.
하나 이상의 양상에서, 다음의 파라미터는 상기 ORT 서비스 슬롯 할당 알고리즘으로부터의 출력을 나타낸다.
a. 패킹이 가능한지에 대한 결정
b. 패킹이 성공한 경우 상기 ORT 서비스에 의해 점유되는 심볼(numOccuOrtsSymPerFrm)의 수.
도 19는 다중화 시스템에 사용하기 위한 ORT 서비스에 슬롯을 할당하는 예시적인 방법(1900)을 도시한다. 일 양상에서, 상기 MUX 로직(210)은 이하에 설명되는 방법(1900)의 함수를 제공하도록 동작한다.
블록(1902)에서, 각 ORT 서비스의 maxSlotHeight의 계산이 수행된다. 일 양상에서, 상기 MUX 로직(210)은 상기 계산을 수행한다.
블록(1904)에서, 상기 ORT 서비스는 각 서비스에 대한 maxSlotHeight 파라미터에 기초하여 블록으로 그룹화된다. 예를 들어, 일 양상에서 상기 서비스는 threeBlkSrvcs, fourBlkSrvcs, sixBlkSrvcs 및 sevenBlkSrvcs로 그룹화된다. 일 양상에서, 상기 MUX 로직(210)은 상기 동작을 수행한다.
블록(1906)에서, 상기 길이 변수(L7, L6, L4 및 L3)가 계산된다. 예를 들어, L7 = ceil(모든 sevenBlkSrvcs의 총 슬롯/7)이며, 여기서 ceil(x)는 x보다 큰 최소 정수이다. 일 양상에서, 상기 MUX 로직(210)은 상기 동작을 수행한다.
블록(1908)에서, 요청된 심볼의 수가 이용 가능한 심볼의 수보다 큰지를 결정하도록 테스트가 수행된다. 예를 들어, 다음의 부등식이 평가된다.
(L7+L6+L4+L3 <= numAvailOrtsSymbolsPerFrm)
일 양상에서, 상기 MUX 로직(210)은 상기 동작을 수행한다. 상기 부등식이 거짓이면, 상기 방법은 블록(1910)으로 진행한다. 상기 부등식이 참이면, 상기 방법은 블록(1912)으로 진행한다.
블록(1910)에서, 패킹 실패가 결정되며 상기 방법은 블록(1914)에서 종료한다.
블록(1912)에서, 패킹이 성공하며 점유된 심볼의 수는 다음의 등식으로부터 결정된다.
numOccuOrtsSymPerFrm = L7+L6+L4+L3
일 양상에서, 상기 MUX 로직(210)은 상기 동작을 수행한다. 일단 패킹이 성공하면, 각 서비스가 속한 블록이 알려지기 때문에 모든 MLC 할당의 위치에 도달하는 것이 용이하다.
주목할 사항으로서, 상기 방법(1900)은 하나의 구현 예를 나타내며, 상기 방법(1900)의 변경, 추가, 삭제, 조합 또는 다른 변형이 본 발명의 범위 내에서 가능하다.
슬롯 할당과 리사이즈 알고리즘 사이의 상호작용
이전의 섹션에서, 슬롯 할당 및 리사이즈 알고리즘의 양상이 설명된다. 다 음의 섹션은 다중화 시스템의 양상에 사용하기 위한 이들 알고리즘의 전체 상호작용에 대해 설명한다.
도 20은 다중화 시스템에 사용하기 위한 슬롯 할당, 리사이징 및 혼잡 제어를 제공하는 예시적인 방법(2000)을 도시한다. 예를 들어, 상기 서버(200)는 이하에 설명된 기능을 제공하도록 동작한다.
블록(2002)에서, 높은 그리고 중간 순위 ORT 서비스가 슬롯 할당된다. 예를 들어, 수퍼프레임마다 상기 MUX(114)는 GetDataSize.Response 명령을 이용하여 RTMS(126) 및 NRTMS(128)와 같은 컨텐츠 엔티티로부터 다양한 플로 데이터량 및 상대적인 우선순위를 획득한다. 상기 정보를 이용하여, 높은 우선순위 및 중간 우선순위 ORT 서비스에 대한 슬롯 할당이 수행된다. 예를 들어, 일 양상에서, 상기 MUX 로직(210)은 상기 알고리즘에 따라 높은 그리고 중간 우선순위 ORT 서비스의 슬롯 할당을 수행하도록 동작한다.
블록(2004)에서, 상기 높은 그리고 중간 우선순위 ORT 서비스 슬롯 할당이 성공하였는지를 결정하도록 테스트가 수행된다. 상기 할당이 성공하였으면, 상기 방법은 블록(2006)으로 진행한다. 상기 할당이 성공하지 못했으면, 상기 방법은 블록(2018)으로 진행한다.
블록(2018)에서, 혼잡 제어가 수행된다. 높은 그리고 중간 우선순위 ORT 서비스 슬롯 할당이 성공하지 못하였기 때문에, 상기 시스템은 어드레싱될 필요가 있는 혼잡을 경험한다. 일 양상에서, 상기 MUX 로직(210)은 도 22를 참조하여 설명되는 혼잡 제어 알고리즘을 수행한다. 상기 혼잡 제어로부터 리턴할 때, 상기 방 법은 블록(2028)에서 중단된다.
블록(2006)에서, ORT 서비스 슬롯 할당의 성공에 기초하여, RT 서비스에 대해 이용 가능한 심볼의 수가 계산되며 반복 파라미터가 제로로 설정된다. 예를 들어, 일 양상에서, 상기 MUX 로직(210)은 이들 함수를 수행한다.
블록(2008)에서, RT 서비스의 슬롯 할당이 상기 프레임의 나머지 심볼로 실행된다. 예를 들어, 상술한 슬롯 할당 알고리즘의 양상은 상기 RT 서비스에 슬롯을 할당하도록 사용된다.
블록(2010)에서, 상기 RT 서비스가 성공적으로 할당되었는지를 결정하도록 테스트가 수행된다. 상기 할당이 성공하지 못했으면, 상기 방법은 블록(2014)으로 진행한다. 상기 할당이 성공하였으면, 상기 방법은 블록(2012)으로 진행한다.
블록(2012)에서, 상기 이용 가능한 심볼의 수는 감소하며 상기 반복 파라미터는 증가한다. 예를 들어, 일 양상에서, 상기 MUX 로직(210)은 이들 함수를 수행한다. 그 후에, 상기 방법은 상기 슬롯 할당된 RT 서비스에 대해 블록(2008)으로 진행한다.
블록(2014)에서, 상기 반복 파라미터가 0보다 큰지를 결정하도록 테스트가 수행된다. 예를 들어, 일 양상에서 상기 MUX 로직(210)은 이들 함수를 수행한다. 상기 반복 파라미터가 0보다 크면, 상기 방법은 블록(2016)으로 진행한다. 상기 반복 파라미터가 0보다 크지 않으면, 상기 방법은 블록(2020)으로 진행한다.
블록(2016)에서, RT 서비스 슬롯 할당은 numRTSymbols plus one을 이용하여 수행된다. 예를 들어, 상기 MUX 로직(210)은 증가한 numRTSymbols 값을 이용하여 상기 RT 서비스에 대한 슬롯 할당을 수행한다. 그 후에, 상기 방법은 블록(2024)으로 진행한다.
블록(2020)에서, 선택된 RT 서비스가 리사이징된다. 일 양상에서, 리사이즈 알고리즘은 RT 서비스 슬롯 할당이 성공할 수 있도록 하나 이상의 플로의 레이트를 리사이징하는데 사용된다. 예를 들어, 상기 리사이즈 제어기(212)는 본 명세서에 설명된 리사이즈 알고리즘 중 하나를 수행하도록 동작한다. 상기 리사이즈 알고리즘으로부터 리턴될 때, 상기 방법은 블록(2022)으로 진행한다.
블록(2022)에서, 상기 RT 서비스의 리사이즈가 성공하였는지를 결정하도록 테스트가 수행된다. 예를 들어, 상기 리사이즈 알고리즘이 수용가능한 하한 비디오 품질 또는 하한 리사이즈 비(ratio)로 슬롯 할당을 달성하는데 실패하는 상황이 존재할 수 있다. 상기 리사이즈가 성공하였다면, 상기 방법은 블록(2024)으로 진행한다. 상기 리사이즈가 성공하지 못했다면, 상기 상황은 시스템이 혼잡하다는 것을 의미하므로, 상기 방법은 혼잡 제어를 수행하도록 블록(2018)으로 진행한다.
블록(2024)에서, 낮은 우선순위 ORT 서비스가 오름차순의 순서로 슬롯 할당된다. 예를 들어, 상기 MUX 로직(210)은 상기 함수를 수행한다.
블록(2026)에서, 최선 노력 ORT 서비스 또는 데이터가 슬롯 할당된다. 예를 들어, 상기 MUX 로직(210)은 상기 함수를 수행한다. 그 후에, 상기 방법은 블록(2028)에서 종료한다.
따라서 방법(2000)의 완료시에, 상기 MUX(114)는 현재 수퍼프레임에 전송될 수 있는 다양한 플로의 정확한 데이터 크기에 대한 정보를 갖게 된다. 상기 정보는 UpdateDataSize.Notification 메시지를 이용하여 상기 RTMS(126) 및 ORTMS(128)로 되돌려진다.
주목할 사항으로서, 상기 방법(2000)은 하나의 구현 예를 나타내며, 상기 방법(2000)의 변경, 추가, 삭제, 조합 또는 다른 변형이 본 발명의 범위 내에서 가능하다.
도 21은 다중화 시스템에 사용하기 위한 리사이징을 제공하는 예시적인 방법(2100)을 도시한다. 예를 들어, 상기 방법(2100)은 도 20의 블록(2020)에서와 같이 사용하는데 적합하다. 일 양상에서, 상기 리사이즈 제어기(212)는 이하에 설명된 기능을 제공하도록 동작한다.
블록(2102)에서, 요청된 슬롯의 수가 평가되며 파라미터 n이 계산된다. 일 양상에서, n은 서비스에 대해 요청된 슬롯의 수와 이용 가능한 슬롯의 수 사이의 비를 나타낸다. 예를 들어, 상기 리사이즈 제어기(212)는 상기 계산을 수행한다.
블록(2104)에서, 리사이징되는 플로의 품질이 평가된다. 예를 들어, n 코드 블록만큼 각 플로에 대한 MLC를 감소시킨 후에 품질 평가가 이루어진다. 예를 들어, 서비스의 품질(Q)은 상기 서비스 플로에 할당된 비트 레이트(r)의 함수이며 상기에 표현된 품질 함수로 모델링된다. 예를 들어, 상기 리사이즈 제어기(212)는 상기 품질 결정을 수행한다.
블록(2106)에서, 상기 최대 결과 품질을 갖는 플로가 결정된다(후보). 예를 들어, 상기 리사이즈 제어기(212)는 블록(2104)에서 코드 블록의 감산을 수행한 후에 발생하는 최대 품질을 갖는 플로를 결정한다.
블록(2108)에서, 상기 최대 품질이 시스템 최소 품질 요건보다 큰지를 결정하도록 테스트가 수행된다. 예를 들어, 상기 리사이즈 제어기(212)는 상기 테스트의 결과를 결정한다. 상기 최대 품질이 상기 시스템 최소 품질 요건보다 크지 않으면, 상기 방법은 블록(2116)으로 진행한다. 상기 최대 품질이 상기 시스템 최소 품질 요건보다 크면, 상기 방법은 블록(2110)으로 진행한다.
블록(2110)에서, 상기 최대 품질을 갖는 플로는 리사이징되며 슬롯 할당이 수행된다. 예를 들어, 상기 최대 품질을 갖는 플로는 n 코드 블록만큼 감소하며 슬롯 할당이 수행된다. 예를 들어, 상기 리사이즈 제어기(212)는 상기 플로를 리사이징하고 상기 MUX 로직(210)에 슬롯 할당을 수행하도록 요청한다.
블록(2112)에서, 상기 슬롯 할당이 성공했는지를 결정하도록 테스트가 수행된다. 예를 들어, 상기 리사이즈 제어기(212)는 블록(2110)에서 수행된 슬롯 할당이 성공했는지를 표시하는 표시자를 상기 MUX 로직(210)으로부터 수신한다. 상기 슬롯 할당이 성공하였으면, 상기 방법은 블록(2114)으로 진행한다. 상기 슬롯 할당이 성공하지 않았으면, 상기 방법은 블록(2102)으로 진행한다.
블록(2114)에서, 상기 리사이징은 성공한 것으로 결정되며, 블록(2116)에서 리사이즈가 실패한 것으로 결정된다. 예를 들어, 상기 리사이즈 제어기(212)는 이들 결정을 수행한다. 그 후에, 상기 방법은 블록(2118)으로 진행하며, 여기서 상기 방법은 도 20의 블록(2020)으로 리턴한다.
따라서 상기 방법(2100)은 다중화 시스템에서 사용하기 위한 리사이징을 제공하도록 동작한다. 주목할 사항으로서, 상기 방법(2100)은 하나의 구현 예를 나타내며, 상기 방법(2100)의 변경, 추가, 삭제, 조합 또는 다른 변형이 본 발명의 범위 내에서 가능하다.
도 22는 다중화 시스템에 사용하기 위한 혼잡 제어를 제공하는 예시적인 방법(2200)을 도시한다. 예를 들어, 상기 방법(2200)은 도 20의 블록(2018)으로서 사용하기에 적합하다. 일 양상에서, 상기 MUX(210)는 이하에 설명되는 기능을 제공하도록 동작한다.
블록(2202)에서, 높은 우선순위 ORT 서비스가 슬롯 할당된다. 예를 들어, 상기 MUX(210)는 본 명세서에 설명된 할당 알고리즘의 양상에 따라 상기 할당을 수행한다.
블록(2204)에서, 블록(2202)에서 수행된 할당이 성공했는지를 결정하는 테스트가 수행된다. 예를 들어, 상기 MUX(210)는 상기 기능을 수행한다. 상기 할당이 성공했다면, 상기 방법은 블록(2208)으로 진행한다. 상기 할당이 성공하지 못했다면, 상기 방법은 블록(2206)으로 진행한다.
블록(2206)에서, 높은 우선순위 ORT 서비스가 오름차순 순위로 할당된다. 예를 들어, 상기 MUX(210)는 본 명세서에 설명된 할당 알고리즘의 양상에 따라 상기 할당을 수행한다. 그 후에, 상기 방법(2200)은 2218에서 종료한다.
블록(2208)에서, 모든 가능한 RT 서비스 플로가 선택량만큼 감소하고 상기 플로의 슬롯 할당이 수행된다. 예를 들어, 상기 리사이즈 제어기(212) 및 MUX(210)는 본 명세서에 설명된 양상에 따라 이들 동작을 수행한다. 상기 선택량은 시스템에 알려진 레이트 감소 파라미터에 기초한다.
블록(2210)에서, 블록(2208)에서의 상기 RT 서비스 슬롯 할당이 성공하였는지를 결정하도록 테스트가 수행된다. 예를 들어, 상기 MUX(210)는 상기 기능을 수행한다. 상기 할당이 성공하였으면, 상기 방법은 블록(2112)으로 진행한다. 상기 할당이 성공하지 못하였다면, 상기 방법은 블록(2214)으로 진행한다.
블록(2212)에서, 상기 중간 우선순위 ORT 서비스가 오름차순의 순위로 슬롯 할당된다. 예를 들어, 상기 MUX(210)는 본 명세서에서 설명된 할당 알고리즘의 양상에 따라 상기 할당을 수행한다. 그 후에, 상기 방법(2200)은 2218에서 종료한다.
블록(2214)에서, 다음의 최하위 순위 서비스를 배제하는 RT 서비스 슬롯 할당이 수행된다. 예를 들어, 상기 MUX(210)는 본 명세서에서 설명된 할당 알고리즘의 양상에 따라 상기 할당을 수행한다.
블록(2216)에서, 블록(2214)에서의 할당이 성공했는지를 결정하도록 테스트가 수행된다. 예를 들어, 상기 MUX(210)는 상기 기능을 수행한다. 상기 할당이 성공하였으면, 상기 방법은 블록(2212)으로 진행한다. 상기 할당이 성공하지 못하였으면, 상기 방법은 또 다른 서비스를 배제하고 슬롯 할당을 다시 시도하도록 블록(2214)으로 되돌아 진행한다.
따라서 상기 방법(2200)은 다중화 시스템에 사용하기 위한 혼잡 제어를 제공하도록 동작한다. 주목할 사항으로서, 상기 방법(2200)은 하나의 구현 예를 나타내며, 상기 방법(2200)의 변경, 추가, 삭제, 조합 또는 다른 변형이 본 발명의 범위 내에서 가능하다.
도 23은 예시적인 다중화 시스템(2300)을 도시한다. 상기 다중화 시스템(2300)은 데이터를 수신하기 위한 수단(2302), 대역폭을 결정하기 위한 수단(2304), 데이터를 할당하기 위한 수단(2306) 및 데이터를 리사이징하기 위한 수단(2308)을 포함한다. 일 양상에서, 상기 수단(2302-2308)은 본 명세서에서 설명된 바와 같은 다중화 시스템의 양상을 제공하도록 컴퓨터 프로그램을 실행하는 적어도 하나의 프로세서에 의해 제공된다.
도 24는 본 명세서에서 설명한 기술에 따라 멀티미디어 데이터를 인코딩하는 또 다른 예시적인 멀티미디어 인코딩 디바이스(2400)를 예시하는 블록도이다. 멀티미디어 인코딩 디바이스(2400)는 하나 이상의 멀티미디어 데이터 채널을 브로드캐스트하도록 사용되는 브로드캐스트 네트워크 구성요소의 일부분을 형성할 수 있다. 멀티미디어 인코딩 디바이스(2400)는, 예를 들어 이동 디바이스(102)(도 1)와 같은 하나 이상의 무선 디바이스에 인코딩된 멀티미디어 데이터의 하나 이상의 채널을 브로드캐스트하도록 사용되는 무선 기지국, 서버 또는 임의의 인프라구조 노드의 일부분을 형성할 수 있다. 예를 들어, 멀티미디어 인코딩 디바이스(2400)는 도 1의 서버(104)를 나타낼 수 있다.
멀티미디어 인코딩 디바이스(2400)는 하나 이상의 멀티미디어 데이터의 플로를 포함하는 복수의 서비스를 인코딩하고, 상기 인코딩된 플로를 조합하며 전송 채널(2402)을 통해 멀티미디어 디코딩 디바이스에 상기 조합된 플로를 전송한다. 본 발명의 일 양상에서, 멀티미디어 인코딩 디바이스(2400)는 한 기간의 시간에 걸쳐 수신된 데이터 플로의 일부분을 인코딩하고, 조합하며 전송한다. 일 예로서, 멀티미디어 인코딩 디바이스(2400)는 초당 기반으로 플로상에 동작할 수 있다. 다시 말해, 멀티미디어 인코딩 디바이스(2400)는 복수의 플로의 1초 데이터 세그먼트를 인코딩하고, 상기 1초 데이터 세그먼트를 조합하여 데이터의 수퍼프레임을 형성하며, 상기 수퍼프레임을 전송기(2408)를 통해 전송 채널(2402)을 거쳐 전송한다. 본 명세서에서 사용된 바와 같이, 상기 용어 "수퍼프레임"은 1초 한 기간의 시간 또는 윈도우와 같은 시간주기 또는 윈도우에 걸쳐 수집된 데이터 세그먼트의 그룹을 지칭한다. 상기 데이터 세그먼트는 하나 이상의 데이터 프레임을 포함할 수 있다. 본 발명의 기술은 1초 데이터 세그먼트의 문맥에서 설명되지만, 상기 기술은 또한 고정된 한 기간의 시간이거나 고정된 한 기간의 시간이 아닐 수 있는 서로 다른 한 기간의 시간에 걸쳐 수신된 데이터 세그먼트, 또는 개별 프레임 또는 데이터 프레임의 세트와 같이 다른 데이터 세그먼트를 조합하고 전송하도록 이용될 수 있다. 다시 말해, 수퍼프레임은 1초 주기보다 크거나 작은 시간 간격, 또는 심하게 변동하는 시간 간격을 포괄하도록 정의될 수 있다.
전송 채널(2402)은 임의의 유선 또는 무선 매체 또는 이들의 조합을 포함할 수 있다. 일 양상에서, 전송 채널(2402)은 고정 대역폭 채널이다. 이 경우에, 멀티미디어 인코딩 디바이스(2400)가 전송 채널(2402)을 통해 전송할 수 있는 데이터 비트의 수가 고정 대역폭 채널의 크기로 제한된다. 멀티미디어 인코딩 디바이스(2400)는 목표 품질 레벨에서 데이터의 플로 각각을 출력하도록 시도한다. 상기 비트 레이트를 결정하도록 사용된 목표 품질 레벨은 사전 선택되거나, 사용자에 의해 선택되거나, 자동 프로세스 또는 사용자나 또 다른 프로세스로부터의 입력을 요구하는 반자동 프로세스를 통해 선택되거나, 미리 결정된 기준에 기초하여 상기 인코딩 디바이스 또는 시스템에 의해 동적으로 선택될 수 있다. 목표 품질 레벨은 예를 들어, 인코딩 애플리케이션 타입, 또는 상기 멀티미디어 데이터를 수신하는 클라이언트 디바이스 타입에 기초하여 선택될 수 있다. 상기 목표 품질 레벨에서 데이터 플로의 각각을 출력할 필요가 있는 비트 수가 전송 채널(2402)에 걸쳐 이용 가능한 비트량을 초과하면, 멀티미디어 인코딩 디바이스(2400)는 본 발명의 기술에 따라 복수의 플로에 대한 최상의 전체 품질을 보존하려는 시도로 상기 플로 사이의 비트 할당을 관리한다.
도 24에 도시된 바와 같이, 멀티미디어 인코딩 디바이스(2400)는 인코더 모듈(2404A-2404N)(집합적으로, "인코더 모듈(2404)"), 다중화 모듈(2406) 및 전송기(2408)를 포함한다. 인코더 모듈(2404)은 하나 이상의 소스로부터 디지털 멀티미디어 데이터의 플로를 수신한다. 인코더 모듈(2404)은 예를 들어, 인코더 모듈(2404)에 연결된 메모리 또는 화상 캡처 디바이스로부터 멀티미디어 데이터의 플로를 수신할 수 있다. 멀티미디어 데이터의 플로는 브로드캐스트(broadcast)로서 코딩되고 전송되는 라이브 실시간 비디오, 오디오 또는 비디오 및 오디오 플로를 포함할 수 있거나, 브로드캐스트 또는 온-디맨드(on-demand)로서 코딩되고 전송되는 사전-리코딩되고 저장된 비디오, 오디오 또는 비디오 및 오디오 플로를 포함할 수 있다. 본 발명의 기술은 또한 비실시간 서비스 또는 실시간 서비스와 비실시간 서비스의 조합에 적용될 수 있다. 다시 말해, 멀티미디어 인코딩 디바이스(2400)는 ORT 서비스를 생성하는 하나 이상의 ORT 모듈을 포함할 수 있다. 그러나 간략화를 위해, 도 24는 인코더 모듈(2404)만을 도시한다.
인코더 모듈(2404)은 적어도 품질 및 레이트 정보와 수신된 데이터 플로를 관련시킬 수 있다. 더 상세하게 설명되는 바와 같이, 인코더 모듈(2404)은 플로의 컨텐츠를 분석할 수 있으며 품질-레이트 곡선, 컨텐츠 분류 곡선 또는 품질-레이트 표와 같은 각각의 품질 및 레이트 정보와 상기 플로를 관련시킬 수 있다. 상기 품질 및 레이트 정보는 그 중에서도 특히, 인코더 모듈(2404)이 현재 수퍼프레임에 포함하기를 원하는 데이터 세그먼트에 대해 서로 다른 품질 레벨에서의 데이터 세그먼트의 크기를 표시한다. 인코더 모듈(2404)은 데이터 세그먼트와 관련된 적어도 품질 및 레이트 정보를 다중화 모듈(2406)에 송신한다. 인코더 모듈(2404)은 제어 채널을 통해 상기 품질 및 레이트 정보를 다중화 모듈(2406)에 송신할 수 있다. 예를 들어, 인코더 모듈(2404)은 다중화 모듈(2406)로부터 수신된 요청에 응답하여 상기 제어 채널을 통해 상기 품질 및 레이트 정보를 송신할 수 있다. 다중화 모듈(2406) 및 인코더 모듈(2404)은 다수의 서로 다른 통신 프로토콜을 이용하여 통신할 수 있다. 일 양상에서, 다중화 모듈(2406)은 그 아래의 전송 메커니즘으로서 메시지 전송 계층(MTL)을 이용하는 프로토콜을 이용하여 통신할 수 있다.
다중화 모듈(2406)은 상기 품질 및 레이트 정보를 수신한다. 일부 경우에, 다중화 모듈(2406)은 또한 전달 요건, 예를 들어 하나 이상의 ORT 서비스와 관련된 우선순위 및 지연시간 요건을 수신할 수 있다. 다중화 모듈(2406)은 인코더 모듈(2404)이 현재 수퍼프레임에 포함하고자 하는 데이터 세그먼트가 전송 채널(2402)의 이용 가능한 대역폭 내에 맞는지를 결정하도록 하나 이상의 전달 요건을 분석한다. 다중화 모듈(2406)은 예를 들어, 멀티미디어 인코딩 디바이스(2400)의 목표 품질 레벨과 데이터 세그먼트와 관련된 각각의 품질-레이트 곡선 사이의 교선에 대응하는 크기를 이용하여 상기 현재 수퍼프레임 내에 데이터 세그먼트가 맞는지 여부에 대한 초기 결정을 수행할 수 있다. 다른 예로서, 다중화 모듈(2406)은 상기 데이터 세그먼트와 관련된 품질-레이트 표에 특정된 최상 품질 레벨에 대응하는 크기를 이용하여 상기 현재 수퍼프레임 내에 상기 데이터 세그먼트가 맞는지 여부에 관한 초기 결정을 행할 수 있다.
상기 데이터 세그먼트가 전송 채널(2402)의 이용 가능한 대역폭 내에 맞는지를 결정하기 위해, 다중화 모듈(2406)은 상기 품질 레벨들 중 선택된 품질 레벨에 대응하는 크기에서의 데이터 세그먼트들 각각을 전송하는데 필요한 전송 채널 리소스의 양을 결정할 수 있고, 상기 데이터 세그먼트들을 송신하는데 필요한 전송 채널 리소스들의 양들을 합산할 수 있으며 데이터 세그먼트를 전송하도록 충분한 전송 채널 리소스가 존재하는지를 결정하기 위해 모든 데이터 세그먼트에 의해 요청된 전송 채널 리소스의 총 합과 이용 가능한 전송 채널 리소스들의 양을 비교할 수 있다. 무선의 맥락에서, 상기 전송 채널 리소스는 에어-링크(air-link) 또는 에어-인터페이스(air-interface) 리소스를 포함할 수 있다. 일 양상의 예에서, 다중화 모듈(2406)은 충분한 전송 채널 리소스가 존재하는지 여부를 결정하도록, 상술한 슬롯 할당 알고리즘 중 하나와 같은 슬롯 할당 알고리즘을 수행할 수 있다. 상술한 바와 같이, 다중화 모듈(2406)은 또한 모든 서비스/세그먼트가 상기 이용 가능한 대역폭 내에 맞는지를 결정하도록 인코더 모듈(2404)의 데이터 세그먼트와 관련된 품질 및 레이트 정보와 연관하여 ORT 서비스의 전달 요건을 설명할 수 있다.
다중화 모듈(2406)이 상기 이용 가능한 대역폭 내에 상기 복수의 데이터 세그먼트들이 맞지 않는 것으로 결정하면, 예를 들어, 상기 슬롯 할당 알고리즘이 실패하거나, 필요한 전송 채널 리소스의 총 합계가 이용 가능한 전송 채널 리소스를 초과하면, 다중화 모듈(2406)은 인코더 모듈(2404)로부터 수신된 품질 및 레이트 정보에 기초하여 리사이징될 하나 이상의 세그먼트를 선택한다. 다중화 모듈(2406)은 대응하는 감소한 크기에서 품질에 최소량의 영향을 갖는 리사이징될 데이터 세그먼트들의 선택을 시도한다. 이하에서 상세하게 설명되는 바와 같이, 다중화 모듈(2406)은 상기 품질 및 레이트 정보를 분석하여, 상기 세그먼트들에 할당된 비트 수의 감소 후 상기 데이터 세그먼트들 각각에 대한 품질 영향을 결정하며, 데이터 세그먼트들 중 상기 감소한 크기에서 최상 품질 레벨을 갖는 하나 이상의 데이터 세그먼트를 선택한다. 이러한 방식으로, 다중화 모듈은 인코더 모듈(2404)의 실시간 서비스 중에서 중재할 수 있다. 그러나 일부의 경우에, 다중화 모듈(2406)은 또한 관련된 전달 요건에 기초하여 리사이징될 하나 이상의 ORT 서비스를 선택할 수 있으므로, ORT 서비스뿐 아니라 인코더 모듈(2404)의 실시간 서비스 중에 상기 대역폭을 할당할 수 있다. 다시 한번, 본 발명의 기술은 예시적인 목적으로 실시간 서비스의 문맥으로 설명된다. 다중화 모듈(2406)은 상술한 기술에 따라 ORT 서비스를 분석하고 리사이징할 수 있다. 따라서 다음의 형태로 설명된 기술은 실시간 서비스를 리사이징하는데 더 적용가능하다.
다중화 모듈(2406)은 상기 감소한 비트 할당에 따라 디지털 멀티미디어 데이터의 플로를 리사이징하도록 상기 선택된 데이터 세그먼트와 관련된 인코더 모듈(2404)을 요청한다. 일부 경우에, 다중화 모듈(2406)은 상기 서비스를 전송하는데 충분한 대역폭이 존재하지 않을 때, 상기 선택된 데이터 세그먼트를 다운사이징하도록 인코더 모듈(2404)에 요청할 수 있다. 다른 경우에, 다중화 모듈(2406)은 초과 이용 가능 대역폭이 존재할 때, 상기 선택된 데이터 세그먼트를 업사이징하도록 인코더 모듈(2404)에 요청할 수 있다. 다중화 모듈(2406)은 상기 제어 채널을 통해 상기 선택된 세그먼트와 관련된 인코더 모듈(2404)에 리사이즈 요청을 송신할 수 있다. 상기 리사이즈 요청은 상기 선택된 데이터 세그먼트에 대해, 예를 들어 비트의 크기를 특정할 수 있다.
상기 선택된 데이터 세그먼트와 관련된 인코더 모듈(2404)은 각각의 데이터 세그먼트와 관련된 리사이즈 요청을 수신하며, 멀티미디어 데이터 세그먼트를 리사이징한다. 인코더 모듈(2404)은 다수의 서로 다른 방식으로 데이터 세그먼트를 리사이징할 수 있다. 상기 선택된 데이터 세그먼트와 관련된 인코더 모듈(2404)은 상기 리사이즈 요청에서 특정된 최대 크기와 같거나 적게 되도록 상기 데이터 세그먼트의 크기를 감소시키기 위해 하나 이상의 인코딩 변수를 조정할 수 있다. 예를 들어, 인코더 모듈(2404)은 더 높은 양자화 파라미터(QP)를 이용하여 상기 데이터 세그먼트를 재인코딩할 수 있다. 다른 예로서, 인코더 모듈(2404)은 감소한 인코딩 레이트로 상기 데이터 세그먼트를 재인코딩할 수 있다. 대안적으로 또는 추가로, 인코더 모듈(2404)은 인코딩되는 정보량을 감소시킬 수 있으므로, 상기 데이터 세그먼트의 크기를 감소시킨다. 일부의 경우에, 인코더 모듈(2404)은 상기 데이터 세그먼트의 크기를 상기 리사이즈 요청에서 특정된 크기로 증가시키도록 하나 이상의 인코딩 변수를 조정할 수 있다. 예를 들어, 인코더 모듈(2404)은 더 낮은 QP를 이용하여 상기 데이터 세그먼트를 재인코딩하거나, 증가한 인코딩 레이트로 상기 데이터 세그먼트를 재인코딩할 수 있다.
다중화 모듈(2406)은 상기 현재 수퍼프레임을 생성할 준비가 될 때, 상기 인코딩된 데이터 세그먼트를 수집한다. 다중화 모듈(2406)은, 예를 들어 상기 제어 채널을 통해 인코더 모듈(2404)에 전송 요청을 송신할 수 있다. 상기 요청들에 응답하여, 인코더 모듈(2404)은 상기 인코딩된 멀티미디어 데이터 세그먼트를 다중화 모듈(2406)에 송신할 수 있다. 다중화 모듈(2406)은 상기 멀티미디어 데이터의 플로를 조합하여 수퍼프레임을 형성하고, 전송 채널(2402)을 통해 하나 이상의 디코딩 디바이스에 전송하기 위해 상기 수퍼프레임을 전송기(2408)에 송신한다. 이러한 방식으로, 다중화 모듈(2406)은 상기 복수의 데이터 플로의 최상의 전체 품질을 보존하면서 모든 데이터 세그먼트를 상기 고정된 대역폭 채널(2402)에 가장 효율적으로 맞추도록 상기 플로 사이의 비트 할당을 관리한다.
멀티미디어 인코딩 디바이스(2400)의 구성요소는 본 명세서에 설명된 기술을 구현하도록 적용가능한 것들의 예시이다. 그러나 멀티미디어 인코딩 디바이스(2400)는 원한다면 많은 다른 구성요소를 포함할 수 있다. 더욱이, 본 발명의 기술은 도 24와 유사한 시스템이나 브로드캐스트 시스템에 사용하도록 제한되는 것은 아니다. 상기 기술은 인코딩 기술이 제한된 대역폭을 갖는 전송 채널을 통한 전송을 위해 복수의 멀티미디어 데이터의 플로를 인코딩하도록 사용되는 임의의 멀티미디어 인코딩 환경에 적용할 수 있다. 멀티미디어 인코딩 디바이스(2400)의 예시된 구성요소는 인코더/디코더(CODEC)의 일부로서 집적될 수 있다. 전송기(2408)는 상기 인코더 또는 CODEC과는 다른 구성요소 또는 칩 상에 형성될 수 있다.
멀티미디어 인코딩 디바이스(2400)의 구성요소는 하나 이상의 프로세서, 디지털 신호 프로세서, 주문형 반도체(ASICs), FPGA(field programmable gate arrays), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합으로서 구현될 수 있다. 더욱이, 멀티미디어 인코딩 디바이스(2400)는 MPEG-4(Moving Picture Experts Group), ITU-T(International Telecommunication Union Standardization Sector), 예를 들어, H.263 또는 H.264, 또는 다른 코딩 표준, 또는 이들의 조합에 따를 수 있다. 특히, 다중화 모듈(2406)과 통신하는 인코더 모듈(2404)의 각각은 중재를 위해 다중화 모듈(2404)에 의해 사용되는 품질 및 레이트 정보가 인코더 모듈(2404) 각각에 대해 독립적으로 생성될 수 있다는 사실에 의해 서로 다른 멀티미디어 코딩 표준에 따를 수 있다.
모듈로서 서로 다른 특징의 설명은 멀티미디어 인코딩 디바이스(2400)의 서로 다른 기능적 양상을 강조하려는 것이며, 그와 같은 모듈이 개별적인 하드웨어 또는 소프트웨어 구성요소에 의해 실현되어야 함을 암시하는 것은 아니다. 오히려, 하나 이상의 모듈과 관련된 기능은 공통 또는 개별적인 하드웨어 또는 소프트웨어 구성요소 내에 통합될 수 있다. 따라서 본 발명은 멀티미디어 인코딩 디바이스(2400)의 예시에 제한되지 않는다.
도 25는 복수의 플로에 대해 최상의 전체 품질을 보존하면서, 수퍼프레임 내 에 상기 플로를 가장 효율적으로 맞추려는 시도에서의 복수의 플로 중의 비트 할당을 관리하는 다른 예시적인 멀티미디어 인코딩 디바이스(2500)를 예시하는 블록도이다. 멀티미디어 인코딩 디바이스(2500)는 실질적으로 도 24의 멀티미디어 인코딩 디바이스(2400)에 따르지만, 멀티미디어 데이터의 선택된 세그먼트의 리사이징은 상기 선택된 데이터 세그먼트와 관련된 리사이징 모듈(2502A-2502N)에 의해 수행된다.
따라서 도 24의 인코더 모듈(2404)의 기능은 인코더 모듈(2504)과 리사이징 모듈(2502) 사이에 분할된다. 다시 말해, 인코더 모듈(2504)은 상기 데이터 세그먼트에 상기 이용 가능한 대역폭을 할당하고 할당이 실패할 때 리사이징될 데이터 세그먼트들 중 하나 이상을 선택하는데 사용하도록 상기 데이터 세그먼트들 각각과 관련된 품질 및 레이트 정보를 다중화 모듈(2506)에 제공한다. 리사이징 모듈(2502)은 상기 데이터 세그먼트를 리사이징하고 다중화 모듈(2506)로부터 수신된 리사이즈 요청에 따라 상기 데이터 세그먼트를 리사이징하도록 다중화 모듈(2506)로부터의 요청을 수신한다.
도 26은 본 발명의 기술에 따라 기능하는 예시적인 인코더 모듈(2600)을 도시하는 블록도이다. 인코더 모듈(2600)은 예를 들어, 도 24의 인코딩 디바이스(2400)의 인코더 모듈(2404) 중 임의의 하나를 나타낼 수 있다. 인코더 모듈(2600)은 다중화 모듈 인터페이스(2602), 컨텐츠 분류 모듈(2604), 품질-레이트 정보 모듈(2606) 및 인코딩 모듈(2602)을 포함한다. 인코딩 모듈(2608)은 리사이징 모듈(2612)을 더 포함한다. 리사이징 모듈(2612)은 도 1의 리사이즈 제어기(116)를 나타낼 수 있다.
인코더 모듈(2600)은 소스로부터 하나 이상의 멀티미디어 데이터의 플로를 수신한다. 인코더 모듈(2600)은 예를 들어, 인코더 모듈(2600)에 연결된 메모리 또는 화상 캡처 디바이스로부터 멀티미디어 데이터의 플로를 수신한다. 상기 멀티미디어 데이터의 플로는 브로드캐스트로서 코딩되고 전송되는 라이브 실시간 비디오, 오디오 또는 비디오 및 오디오 플로를 포함할 수 있거나, 브로드캐스트 또는 온-디맨드로서 코딩되고 전송되는, 사전-리코딩되고 저장된 비디오, 오디오 또는 비디오 및 오디오 플로를 포함할 수 있다. 본 발명의 기술은 또한 비실시간 서비스 또는 실시간 서비스와 비실시간 서비스의 조합에 적용될 수 있다.
상술한 바와 같이, 인코더 모듈(2600)은 데이터 컨텐츠에 관계없이 데이터 플로에 대한 일정한 인지 품질 계량을 유지하려 할 수 있다. 다시 말해, 인코더 모듈(2600)은 목표 품질 레벨에서 모든 데이터 플로를 출력하려 할 수 있다. 일정한 또는 유사한 인지 품질 레벨을 유지하기 위해, 인코더 모듈(2600)은 서로 다른 컨텐츠를 갖는 데이터 세그먼트에 대해 서로 다른 비트 레이트를 선택할 수 있다. 이 때문에, 컨텐츠 분류 모듈(2604)은 자신의 컨텐츠에 기초하여 데이터 세그먼트를 분류한다. 컨텐츠 분류 모듈(2604)은 상기 세그먼트의 데이터의 복합성(예를 들어, 공간적 복합성 및/또는 시간적 복합성)에 기초하여 데이터 세그먼트를 분류할 수 있다. 적합한 컨텐츠 분류 방법은 현재 계류중이며 공통으로 양수된 미국 특허 출원 No. 11/373,577[Attorney Docket No. 050253]에 설명되어 있으며, "멀티미디어 프로세싱을 위한 컨텐츠 분류"란 명칭으로 2006년 3월 10일 출원되었으며, 그 전체 내용은 본 명세서에서 참조로 통합된다. 예를 들어, 컨텐츠 분류 모듈(2604)은 움직임 정보를 "높음", "중간" 및 "낮음"(x축 상에서)의 카테고리로 분류할 수 있고, 텍스처(texture) 정보를 "높음", "중간" 및 "낮음"(y축 상에서)의 카테고리로 분류할 수 있으며, 상기 컨텐츠 분류는 교점에서 표시된다. 상기 분류는 예를 들어, 특정 품질-레이트 곡선과 관련될 수 있다.
컨텐츠 분류 모듈(2604)은 데이터 세그먼트와 상기 분류에 기초한 품질 및 레이트 정보를 관련시킨다. 일 양상에서, 컨텐츠 분류 모듈(2604)은 상기 데이터 세그먼트와 각각의 품질-레이트 곡선을 관련시킨다. 상기 품질-레이트 곡선은 비트 레이트의 함수로서, 피크 신호 대 잡음 비와 같은 품질 계량을 모델링한다. 상기 품질-레이트 곡선은 예를 들어, 다음의 형태의 로그 함수를 이용하여 모델링될 수 있다.
Q = a*ln(R)+b
여기서 Q는 품질 계량이고, R은 비트 레이트이며, a와 b는 다수의 샘플 데이터 포인트를 이용하여 계산된 정수이다. 인코더 모듈(2600)은 컨텐츠를 변동시키면서 데이터 플로에 대한 품질-레이트 특성을 나타내는 복수의 품질-레이트 곡선들을 유지할 수 있다. 일 예로서, 인코더 모듈(2600)은 상기 플로의 컨텐츠에서의 움직임 및 텍스처의 레벨을 변동시키는 것, 예를 들어, 움직임 및 텍스처의 레벨을 변동시키는 것과 관련된 8개의 서로 다른 등급에 대한 품질-레이트 곡선을 유지할 수 있다. 일정한 PSNR이 반드시 일정한 인지된 품질을 의미하는 것이 아니라는 사실을 설명하기 위해, 인코더 모듈(2600)은 MOS(mean opinion scores)와 같은, PSNR과는 다른 품질 계량을 이용하는 품질-레이트 곡선을 유지할 수 있다. 대안적으로, 인코더 모듈(2600)은 일정한 PSNR이 반드시 일정한 인지된 품질을 의미하는 것이 아니라는 사실을 설명하기 위해 상기 품질-레이트 곡선을 조정할 수 있다. 예를 들어, 인코더 모듈(2600)은 현재 계류중이고 공통으로 양수되었으며, "멀티미디어 프로세싱을 위한 컨텐츠 분류"란 명칭으로 2006년 3월 10일 출원되었으며, 그 전체 내용은 본 명세서에서 참조로 통합되는, 미국 특허 출원 No. 11/373,577[Attorney Docket No. 050253]에 설명된 바와 같은 오프셋만큼 전형적인 품질-레이트 곡선을 조정할 수 있다.
대안적으로 인코더 모듈(2600)은 각 컨텐츠 곡선과 관련된 목표 품질 레벨을 오프셋만큼 조정할 수 있다. 높은 움직임, 높은 텍스처 컨텐츠를 포함하는 데이터 세그먼트는 예를 들어, 상기 목표 품질 레벨에 관하여 약간 낮은 품질로 인코딩될 수 있는데 반하여, 낮은 움직임, 낮은 텍스처 컨텐츠를 포함하는 데이터 세그먼트는 상기 목표 품질 레벨에 관하여 약간 높은 품질로 인코딩될 수 있다. 각 컨텐츠 등급이 전체 목표 품질 레벨에 관하여 자신의 조정된 품질 레벨을 갖기 때문에, 인코더 모듈(2600)에서의 현재 품질 레벨을 측정하도록 상기 인코더 모듈(2600)은 각 컨텐츠 등급에 대한 품질 레벨을 표준화할 수 있다. 인코더 모듈(2600)은 이하의 1차 방정식에 따라 상기 표준화를 달성할 수 있다:
Qnorm = Qr - Qk, (5)
여기서 Qnorm은 표준화된 품질 레벨이고, Qr은 기록된 품질 레벨이며, Qk는 곡선 k에 대한 품질 레벨에서의 조정 오프셋이다. 품질 표준화가 1차 함수가 아니 면, 순위 결정은 품질 표준화 후에 이루어져야 한다.
본 발명의 다른 양상에서, 컨텐츠 분류 모듈(2604)은 상기 품질 레벨들 각각에서의 세그먼트의 크기와 상기 세그먼트와 관련된 하나 이상의 품질 레벨을 표시하는 사전계산된 품질-레이트 표와 상기 데이터 세그먼트를 관련시킬 수 있다. 이를 위해, 컨텐츠 분류 모듈(2604)은 상기 품질-레이트 표 중 특정한 하나에 대응하는 품질-레이트 곡선과 상기 데이터 세그먼트를 관련시킬 수 있다. 상기 품질-레이트 곡선, 상기 조정된 품질-레이트 곡선 및 사전계산된 품질-레이트 표는 메모리(도시되지 않음) 내에 유지될 수 있으며, 필요할 때 컨텐츠 분류 모듈(2604)에 의해 액세스될 수 있다.
일부의 경우에, 인코더 모듈(2600)은 사전 계산된 품질-레이트 정보를 저장하지 않거나, 상기 품질-레이트 정보의 일부분만을 사전 계산한다. 품질-레이트 정보 생성 모듈(2606)은 예를 들어, 컨텐츠 분류에 사용하기 위한 복수의 품질-레이트 곡선들 또는 조정된 품질-레이트 곡선을 사전 계산할 수 있다. 품질-레이트 곡선과 컨텐츠 분류 곡선을 생성하기 위한 하나의 예시적인 기술은 현재 계류중이고 공통으로 양수되었으며, 2006년 3월 10일에 출원되고 그 전체 내용이 참조로 통합되는, "멀티미디어 처리를 위한 컨텐츠 분류"란 명칭의 미국 특허 출원 No. 11/373,577[Attorney Docket No. 050253]에 설명되어 있다.
그러나 품질-레이트 정보 생성 모듈(2606)은 상기 분류에 기초한 세그먼트 기반에 의해 세그먼트상의 데이터 세그먼트들 각각에 대한 품질-레이트 표를 생성할 수 있다. 예를 들어, 품질-레이트 정보 생성 모듈(2606)은 순위 및 크기 쌍을 정렬하는 표를 생성할 수 있다. 상기 순위는 특정 품질 레벨에 대응한다. 각 순위는, 예를 들어 품질 계량에서의 특정 드롭(drop)에 대응한다. 예시적인 품질 계량으로서 PSNR을 이용하면, 상기 순위의 각각은 PSNR에서 0.05dB 드롭에 대응할 수 있다. 특히, 0의 순위는 최선 노력 품질 레벨에 대응할 수 있는 한편, 1의 순위는 최상 품질 레벨에 대응하며, 2의 순위는 이전의 품질 레벨보다 0.05dB 낮은 품질 레벨에 대응하는 등이다. 일 양상에서, 최상 품질에 대응하는 순위(예를 들어, 순위 1, 2 및 3)는 사실은 상기 목표 품질 레벨보다 큰 품질 레벨에 대응할 수 있다.
품질-레이트 정보 생성 모듈(2606)은 이하에서 더 상세하게 설명되는 바와 같은 품질-레이트 곡선 중 대응하는 하나를 이용하여 상기 순위를 결정할 수 있다. 일 양상에서, 품질-레이트 정보 생성 모듈(2606)은 복수의 품질 레벨 및 대응하는 순위를 계산할 수 있으며 대응하는 품질-레이트 곡선을 이용하여 상기 품질 레벨들 각각에서의 데이터의 세그먼트들 각각의 크기를 결정할 수 있다. 본 발명의 다른 양상에서, 품질-레이트 정보 생성 모듈(2606)은 인코더 모듈(2600)이 제공할 수 있는 데이터 세그먼트의 크기를 계산할 수 있으며, 그 후에 품질 레벨 및 상기 크기 각각에서의 대응하는 순위를 계산할 수 있다. 예를 들어, 인코더 모듈(2600)은 고정된 양, 예를 들어, 상기 전송 채널의 최소 전송 단위 크기만큼 상기 크기를 증가적으로 감소시킬 수 있으며, 다음의 등식을 이용하여 원하는 크기들 각각에 대응하는 순위를 계산할 수 있다:
순위 = CEILING((Ak - S)/xk), (6)
여기서 순위는 원하는 크기에 대해 대응하는 순위 값이고, Ak는 k번째 품질-레이트 곡선에 대해 조정된 목표 품질 레벨이고, S는 원하는 크기에 대응하는 품질 레벨(즉, 원하는 크기 및 k번째 품질-레이트 곡선의 교점에 대응하는 품질 레벨)이며, xk는 순위당 증가하는 품질 드롭이며, CEILING(x)는 x와 같거나 큰 최소 정수 값을 출력하는 세일링(ceiling) 함수이다.
인코더 모듈(2600)은 다중화 모듈(2406, 2506)이 현재 수퍼프레임의 크기를 모니터링하고 데이터 세그먼트들 중 어느 것을 리사이징할지를 결정하는데 도움을 주기 위해 상기 데이터 세그먼트들 각각과 관련된 적어도 품질 및 레이트 정보를 다중화 모듈(2406, 2506)에 송신한다. 인코더 모듈(2600)은 예를 들어, 상기 현재 수퍼프레임에 포함되는 데이터 세그먼트와 관련된 품질 및 레이트 정보를 송신할 수 있다. 인코더 모듈(2600)은 다중화 모듈(2406, 2506)로부터의 요청에 응답하여 적어도 상기 품질 및 레이트 정보를 다중화 모듈(2406, 2506)에 송신할 수 있다. 인코더 모듈(2600)은 예를 들어, 상기 데이터 세그먼트와 관련된 품질-레이트 곡선 또는 품질-레이트 표를 송신할 수 있다.
인코더 모듈(2600)과 관련된 데이터 세그먼트들 중 임의의 것이 리사이징될 필요가 있으면, 다중화 모듈(2406, 2506)은 인코더 모듈(2600)에 리사이즈 요청을 송신한다. 상기 리사이즈 요청에 응답하여, 리사이징 모듈(2612)은 멀티미디어 데이터 세그먼트를 리사이징한다. 일 예에서, 리사이징 모듈(2612)은 데이터 세그먼트의 크기를 증가시킬 수 있는데, 즉 상기 데이터 세그먼트를 업사이징할 수 있다. 다른 예에서, 리사이징 모듈(2612)은 데이터 세그먼트의 크기를 감소시키는데, 즉 상기 데이터 세그먼트를 다운사이징한다. 상기 데이터 세그먼트의 다운사이징은 데이터 세그먼트의 품질 레벨이 상기 목표 품질 레벨 아래로 떨어지게 할 수 있다. 그러나 상기 리사이징된 데이터 세그먼트의 품질 레벨이 최소 품질 레벨 아래로 떨어지면, 리사이징 모듈(2612)은 상기 데이터 세그먼트를 상기 최소 품질 레벨과 같거나 큰 크기로만 리사이징할 수 있다. 다중화 모듈(2406, 2506)로부터의 리사이즈 요청은 상기 데이터 세그먼트에 대한 크기, 예를 들어 최대 크기를 포함할 수 있으며, 리사이징 모듈(2612)은 상기 리인코드 요청에 특정된 크기를 달성하도록 하나 이상의 인코딩 변수를 조정할 수 있다. 상기 리사이징 모듈(2612)은 예를 들어, 상기 데이터 세그먼트를 리사이징하도록 조정된 비트 레이트에서의 데이터 세그먼트를 재인코딩할 수 있는데, 예를 들어 상기 데이터 세그먼트를 상기 리사이즈 요청에서 특정된 최대 크기와 같거나 적도록 리사이징하기 위해 상기 데이터 세그먼트를 감소한 비트 레이트로 재인코딩할 수 있다. 다른 예로서, 리사이징 모듈(2612)은 조정된 양자화 파라미터를 이용하여 상기 데이터 세그먼트를 재인코딩할 수 있다.
인코더 모듈(2600)은 상기 현재 수퍼프레임 내에 포함되는 인코딩된 데이터 세그먼트를 송신하도록 다중화 모듈(2406, 2506)로부터의 요청을 수신한다. 다중화 모듈(2406, 2506)로부터의 요청에 응답하여, 인코더 모듈(2600)은 상기 인코딩된 데이터 세그먼트를 다중화 모듈(2406, 2506)에 송신한다. 상술한 바와 같이, 인코더 모듈(2600)은 구성된 목표 품질에서의 리사이징을 위해 선택되지 않은 데이터 세그먼트를 송신한다. 그러나 인코더 모듈(2600)은 감소한 품질에서의 리사이징을 위해 선택된 데이터 세그먼트를 송신한다.
인코더 모듈(2600)의 구성요소는 본 명세서에 설명된 기술을 구현하도록 적용 가능한 것의 예시이다. 인코더 모듈(2600)은 그러나, 원한다면 많은 다른 구성요소를 포함할 수 있다. 인코더 모듈(2600)의 구성요소는 하나 이상의 프로세서, 디지털 신호 프로세서, ASICs, FPGAs, 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합으로서 구현될 수 있다. 더욱이, 인코더 모듈(2600)은 MPEG-4, ITU-T H.263, ITU-T H.264 또는 다른 코딩 표준과 같은 멀티미디어 코딩 표준에 따를 수 있다. 모듈로서 다른 특징의 설명은 인코더 모듈(2600)의 다른 기능적 양상을 강조하려는 것이며, 그와 같은 모듈이 개별 하드웨어 또는 소프트웨어 구성요소에 의해 구현되어야 함을 의미하는 것은 아니다. 오히려, 하나 이상의 모듈과 관련된 기능은 공통 또는 개별 하드웨어 또는 소프트웨어 구성요소 내에 통합될 수 있다. 따라서 본 발명은 인코더 모듈(2600)의 예시에 제한되지 않는다.
도 27은 본 발명의 기술에 따라 비트 할당을 관리하는 예시적인 다중화 모듈(2700)을 도시하는 블록도이다. 특히, 다중화 모듈(2700)은 인코더 모듈(2404)(도 24)과 같은 각각의 인코더 모듈로부터 복수의 데이터 세그먼트를 수신하며, 상기 데이터 세그먼트들을 송신하는데 필요한 에어-링크 리소스가 이용 가능한 에어-링크 리소스를 초과하지 않게 하도록 상기 데이터 세그먼트들 중 하나 이상의 리사이징을 요청한다. 다중화 모듈(2700)은 예를 들어, 도 24의 다중화 모듈(2406) 또는 도 25의 다중화 모듈(2506)을 나타낼 수 있다. 다중화 모듈(2700)은 인코더 모듈 인터페이스(2702), 데이터 수집 모듈(2706) 및 비트 관리 모듈(2704)을 포함한다. 비트 관리 모듈(2704)은 이용 가능한 대역폭을 할당하는 할당 모듈(2708) 및 상기 대역폭 할당이 성공하지 못할 때 데이터 세그먼트들 중 어느 것을 리사이징할지 결정하는 선택 모듈(2710)을 더 포함한다.
상술한 바와 같이, 다중화 모듈(2700)은 인코더 모듈 인터페이스(2702)를 통해 인코더 모듈(2404)로부터 인코딩된 데이터 세그먼트를 수신하고, 상기 인코딩된 데이터 세그먼트를 수퍼프레임으로 조합하며, 상기 수퍼프레임을 도 1의 이동 디바이스(102)와 같은 하나 이상의 디코딩 디바이스에 전송한다. 본 발명의 기술은 1초 데이터 수퍼프레임의 문맥에서 설명되지만, 상기 기술은 또한 서로 다른 한 기간의 시간에 걸쳐 수신된 데이터 세그먼트에 대해, 또는 데이터의 개별 프레임에 대해서와 같이, 데이터의 다른 세그먼트를 전송하도록 이용될 수 있다.
비트 관리 모듈(2704)은 상기 수퍼프레임을 송신하는데 필요한 전송 채널 리소스(예를 들어, 에어-링크 리소스)가 전송 채널(2402)에 걸쳐 이용 가능한 전송 채널 리소스를 초과하지 않는 것을 보증하도록 상기 생성된 수퍼프레임 각각의 크기를 모니터링한다. 비트 관리 모듈(2704)이 상기 수퍼프레임의 크기를 모니터링하는 것을 돕기 위해, 데이터 수집 모듈(2706)은 인코더 모듈(2704)의 각각으로부터 품질 및 레이트 정보를 수집한다. 데이터 수집 모듈(2706)은 예를 들어, 인코더 모듈(2404)이 상기 현재 수퍼프레임에 포함하려고 하는 데이터 세그먼트들 각각과 관련된 품질 및 레이트 정보와 같은 전달 요건을 요청하는 요청을 인코더 모듈(2404)의 각각에 송신할 수 있다. 상기 품질 및 레이트 정보는 비트 레이트 또는 데이터 크기의 함수로서 데이터 세그먼트에 대한 적어도 품질 계량을 표시한다. 예를 들어, 데이터 수집 모듈(2706)은 상기 데이터 세그먼트들 각각에 대한 비트 레이트의 함수로서, PSNR과 같은 품질 계량을 모델링하는 세그먼트에 대응하는 품질-레이트 곡선을 수신할 수 있다. 다른 예에서, 데이터 수집 모듈(2706)은 상기 데이터 세그먼트와 관련된 품질-레이트 표를 수신한다. 상술한 바와 같이, 상기 품질-레이트 표는 다양한 순위(또는 품질 레벨) 및 상기 서로 다른 순위 각각과 관련된 크기를 표시할 수 있다. 따라서 상기 품질 및 레이트 정보는 그 중에서도, 인코더 모듈(2404)이 현재 수퍼프레임에서 전송하려고 하는 데이터 세그먼트에 대해 서로 다른 품질 레벨에서의 데이터 세그먼트의 크기를 설명한다.
비트 관리 모듈(2704)은 상기 복수의 데이터 세그먼트들이 전송 채널(2402)의 이용 가능한 대역폭 내에 맞는지를 결정하도록 적어도 상기 품질 및 레이트 정보를 분석한다. 비트 관리 모듈(2704)은 상기 품질 및 레이트 정보에 더하여 다른 전달 요건을 분석할 수 있다. 예를 들어, 비트 관리 모듈(2704)은 ORT 서비스와 관련된 우선순위 및 지연시간 요건을 분석할 수 있다. 비트 관리 모듈(2704)은 상기 데이터 세그먼트들 중에서 이용 가능한 대역폭을 할당하려고 시도하는 할당 모듈(2708)을 포함할 수 있다. 할당 모듈(2708)은 예를 들어, 상술한 할당 알고리즘 중 하나를 이용하여 이용 가능한 대역폭을 할당하려고 시도할 수 있다. 이용 가능한 대역폭을 할당하려는 첫 번째 시도에서, 할당 모듈(2708)은 상기 데이터 세그먼트와 관련된 각각의 품질-레이트 곡선과 목표 품질 레벨 사이의 교점에 대응하는 크기를 이용하여 상기 대역폭을 할당하려고 시도할 수 있다. 다른 예로서, 다중화 모듈(2406)은 상기 데이터 세그먼트와 관련된 품질-레이트 표에 특정된 최상 품질 레벨에 대응하는 크기를 이용하여 상기 데이터 세그먼트가 현재 수퍼프레임 내에 맞는지 여부에 대한 초기의 결정을 행할 수 있다. 할당 모듈(2708)이 데이터 세그먼트들 중에서 상기 대역폭을 할당하는데 성공한다면, 예를 들어 데이터 세그먼트를 송신하는데 충분한 전송 채널 리소스가 존재하며 상기 데이터 세그먼트를 송신하도록 초과 전송 채널 리소스가 존재하지 않는다면, 리사이징이 필요하지 않다.
그러나 할당 모듈(2708)이 상기 목표 품질 레벨 또는 최적 품질 레벨과 관련된 크기 정보를 이용하여 이용 가능한 대역폭을 성공적으로 할당하는데 실패한다면, 비트 관리 모듈(2704)은 리사이징될 데이터 세그먼트들 중 하나 이상을 선택한다. 예를 들어, 비트 관리 모듈(2704)은 불충분한 전송 채널 리소스가 존재할 때 리사이징될 데이터 세그먼트들 중 하나 이상을 선택할 수 있다. 다른 예로서, 비트 관리 모듈(2704)은 초과 전송 채널 리소스의 양이 임계값을 초과할 때, 리사이징될 데이터 세그먼트들 중 하나 이상을 선택할 수 있다. 특히, 비트 관리 모듈(2704)은 리사이징을 위해 하나 이상의 데이터 세그먼트를 선택하도록 인코더 모듈(2404)로부터 수신된 적어도 품질 및 레이트 정보를 분석하는 선택 모듈(2710)을 포함한다. 선택 모듈(2710)이 다운사이징을 위해 하나 이상의 데이터 세그먼트를 선택하는 경우에, 선택 모듈(2710)은 상기 분석에 기초하여 대응하는 감소한 크기에서의 품질에 최소량의 영향을 갖는 하나 이상의 데이터 세그먼트를 선택할 수 있다. 데이터 세그먼트의 품질(Qv)은 상기 데이터 세그먼트에 할당된 비트 레이트(r)의 함수이며, 다음의 품질 함수에 의해 주어진다:
Qv = k ln(r)
여기서 k는 멀티미디어 세그먼트에 특정되고 인코더 모듈(2404)에 의해 제공되는 상수이다.
선택 모듈(2710)은 이하에 공식화된 최적화 문제에 따라 상기 데이터 세그먼트들 모두의 전체 품질을 최대화하려고 시도한다.
Figure 112009052985495-pct00001
여기서 n은 데이터 세그먼트들의 총 수이고, QTotal은 상기 데이터 세그먼트들 모두의 전체 품질이고, ki는 i번째 데이터 세그먼트와 관련된 상수이고, ri는 i번째 데이터 세그먼트와 관련된 비트 레이트이고, R은 총 이용 가능한 대역폭이고, QVi는 i번째 데이터 세그먼트와 관련된 품질이고,
Figure 112011026450722-pct00042
은 i번째 데이터 세그먼트와 관련된 최소 품질이며, wi는 i번째 데이터 세그먼트와 관련된 우선순위이다.
선택 모듈(2710)은 데이터 세그먼트와 관련된 결과적인 품질이 만약 있다면 할당된 우선순위에 비례하는 방식으로 상기 데이터 세그먼트에 비트 레이트 및 크기를 할당한다. 상기 최적화 문제는 라그랑지(Lagrange) 승수법 및 쿤 터커 조건(Kuhn Tucker Conditions)을 이용함으로써 풀릴 수 있다. 상기 최적화 문제를 표준 형태(최대화 및 ≤ 제약)로 변환하여 다음의 식을 얻는다:
Figure 112009052985495-pct00002
라그랑지 함수는 다음과 같이 정의된다:
Figure 112009052985495-pct00003
여기서 δ, i = 1..(n-1)에 대한 λi 및 i = 1..n에 대한 μi는 라그랑지 승수이다.
다음은 쿤 터커 조건의 세트이다:
Figure 112009052985495-pct00004
Figure 112009052985495-pct00005
실시간 비디오 플로에 대한 비트 레이트의 바람직한 할당은 등식 (10)-(15)를 충족시켜야 한다. 선택 모듈(2710)은 표준 비선형 프로그래밍 기술 중 임의의 것을 이용하여 이들 등식의 세트를 풀 수 있다.
이하에는 데이터의 2개 세그먼트(즉, n=2)에 대한 레이트의 예시적인 스케줄링 및 후속하는 파라미터 값이 주어진다:
Figure 112009052985495-pct00006
상기 파라미터에 기초하여, 선택 모듈(2710)은 4800 kbps의 비트 레이트를 제 1 멀티미디어 세그먼트에 할당하고, 200 kbps의 비트 레이트를 제 2 멀티미디어 세그먼트에 할당한다. 1초 데이터 세그먼트의 경우에, 제 1 데이터 세그먼트의 최대 크기는 4800 킬로비트이며, 제 2 데이터 세그먼트의 최대 크기는 200 킬로비트이다. 선택 모듈(2710)은 계산된 최대 크기와 상기 품질 및 레이트 정보에 표시된 데이터 세그먼트의 추정 크기를 비교하고, 리사이징될 세그먼트로서 관련된 최대 크기를 초과하는 데이터 세그먼트들 중 임의의 것을 선택한다.
다른 예에서, 다중화 모듈(14)은 인코더 모듈(2404)로부터 수신된 품질-레이트 표를 이용하여 리사이징될 하나 이상의 데이터 세그먼트를 선택할 수 있다. 상술한 바와 같이, 초기 대역폭 할당 동안, 할당 모듈(2708)은 최상 품질 레벨과 관련된 순위에 대응하는 크기 정보를 이용하여 상기 대역폭을 할당하려 시도한다. 선택된 순위의 크기에서의 데이터 세그먼트로의 대역폭 할당이 성공하지 못하면, 선택 모듈(2710)은 다음의 최상 전체 품질을 갖는 데이터 세그먼트에 대한 순위의 조합을 선택한다. 아래의 표 1은 플로(1-4)와 관련된 4개의 데이터 세그먼트에 대응하는 품질-레이트 표의 일부분을 예시한다. 특히, 표 1은 플로(1-4)와 관련된 4개의 데이터 세그먼트에 대해 현재 순위 값, 현재 순위에서의 데이터 세그먼트의 크기, 다음의 순위 값 및 다음 순위에서의 데이터 세그먼트의 크기를 예시한다. 표 1을 참조하여 선택 모듈(2710)의 선택 프로세스를 설명하도록 한다.
표 1
플로 1 플로 2 플로 3 플로 4
현재 순위 3 3 4 6
현재 순위의 바이트 크기
40,000

50,000

45,000

20,000
다음 순위 5 6 5 8
다음 순위의 바이트 크기
30,000

40,000

40,000

15,000
선택 모듈(2710)은 최상 품질 레벨과 관련된 다음 순위를 갖는 하나 이상의 데이터 세그먼트를 식별하도록 상기 품질-레이트 표들을 분석한다. 표 1에 예시된 경우에서, 최소값을 갖는 다음 순위는 최상 품질 레벨에 대응한다. 표 1을 참조하여, 선택 모듈(2710)은 최소 다음 순위를 갖는 플로 1 및 플로 3과 관련된 세그먼트를 식별한다. 표 1에 예시된 바와 같이, 플로 1 및 플로 3과 관련된 데이터 세그먼트는 둘 다 5의 다음 순위 값을 갖는 한편, 플로 2 및 플로 4와 관련된 데이터 세그먼트는 더 악화된 품질 레벨에 대응하는 6 및 8의 다음 순위 값을 각각 갖는다. 이러한 방식으로, 선택 모듈(2710)은 다음의 최상 품질 레벨에 대응하는 후속적인 품질 레벨을 갖는 하나 이상의 데이터 세그먼트를 식별하도록 상기 품질-레이트 표들을 분석한다.
선택 모듈(2710)은 리사이징할 식별된 데이터 세그먼트들 중 적어도 하나를 선택한다. 상기 식별된 데이터 세그먼트들 중에, 선택 모듈(2710)은 상기 현재 순위와 관련된 최대 크기를 갖는 식별된 데이터 세그먼트를 선택할 수 있다. 표 1을 참조하면, 선택 모듈(2710)은 현재 크기가 40,000 바이트와는 대조적으로 45,000 바이트이기 때문에, 플로 3과 관련된 데이터 세그먼트를 선택한다. 대안적으로, 선택 모듈(2710)은 현재 순위에서의 세그먼트의 크기와 다음 순위에서의 세그먼트의 크기 사이의 최대 차이를 갖는 식별된 데이터 세그먼트를 선택할 수 있다. 표 1을 다시 참조하면, 선택 모듈(2710)은 플로 3과 관련된 세그먼트에 대한 5,000 바이트의 차이와 대조적으로 10,000 바이트의 차이를 갖는 플로 1과 관련된 데이터 세그먼트를 선택한다.
선택 모듈(2710)이 하나 이상의 데이터 세그먼트를 선택한 후에, 선택 모듈(2708)은 상기 선택된 데이터 세그먼트에 대해 감소한 순위 또는 품질과 관련된 크기를 이용하여 이용 가능한 대역폭을 할당하려고 시도한다. 상기 할당 알고리즘이 여전히 성공하지 못하면, 선택 모듈(2710)은 리사이징될 추가의 데이터 세그먼트 또는 훨씬 더 감소한 품질에서 리사이징되는 동일한 세그먼트를 선택한다.
선택 모듈(2708)이 상기 데이터 세그먼트들 중에 이용 가능한 대역폭을 성공적으로 할당한 후에, 비트 관리 모듈(2704)은 모든 데이터 세그먼트가 상기 전송 채널의 이용 가능한 대역폭 내에 맞게 하도록 상기 선택된 데이터 세그먼트들 각각의 리사이징을 요청한다. 비트 관리 모듈(2704)은 예를 들어, 리사이즈 요청을 상기 선택된 멀티미디어 데이터 세그먼트와 관련된 인코더 모듈(2404)에 송신할 수 있다. 비트 관리 모듈(2704)은 데이터 세그먼트의 최대 허용가능한 크기를 특정할 수 있다. 인코더 모듈(2404)은 상기에 상세하게 설명된 바와 같은 리사이즈 요청에 포함된 정보에 기초하여 상기 데이터를 재인코딩한다.
할당 모듈(2708) 및 선택 모듈(2710)은 데이터 세그먼트에 대한 비트 할당을 수행할 수 있으며 유사한 방식으로 업사이징될 하나 이상의 데이터 세그먼트를 선택할 수 있다. 예를 들어, 상기 선택된 데이터 세그먼트와 관련된 품질-레이트 표를 이용하면, 할당 모듈은 상기 목표 품질 레벨과 관련된 순위에 대응하는 크기 정보를 이용하여 상기 대역폭을 할당하려고 초기에 시도할 수 있다. 목표 품질 레벨에 대응하는 크기로 데이터 세그먼트에 대한 대역폭의 할당이 성공하지 못할 때, 즉 이 경우에, 초과 대역폭 양이 임계값을 초과할 때, 선택 모듈(2710)은 더 우수한 전체 품질을 갖는 데이터 세그먼트에 대한 순위의 새로운 조합을 선택한다.
특히, 선택 모듈(2710)은 다음의 최상 품질 레벨과 관련된 다음의 최상 순위를 갖는 하나 이상의 데이터 세그먼트를 식별하도록 상기 품질-레이트 표들을 분석할 수 있다. 선택 모듈(2710)은 업사이즈를 위해 상기 식별된 데이터 세그먼트들 중 적어도 하나를 선택한다. 식별된 데이터 세그먼트들 중, 선택 모듈(2710)은 상기 현재 순위에 대응하는 최소 크기를 갖는 식별된 데이터 세그먼트를 선택할 수 있다. 대안적으로, 선택 모듈(2710)은 현재 순위에서의 세그먼트의 크기와 다음의 최상 순위에서의 세그먼트의 크기 사이의 최소 차이를 갖는 식별된 데이터 세그먼트를 선택할 수 있다.
어느 쪽의 경우에서도, 데이터 수집 모듈(2706)은 데이터 세그먼트를 수퍼프레임으로 조합할 준비가 될 때, 데이터 요청을 송신한다. 데이터 수집 모듈(2706)은 상기 명령에 응답하여 인코딩된 데이터 세그먼트를 수신한다. 다중화 모듈(2700)은 인코딩된 멀티미디어 데이터 세그먼트를 조합함으로써 상기 수퍼프레임을 어셈블리한다. 다중화 모듈(2700)은 그 후에, 전송을 위해 상기 수퍼프레임을 전송기(2408)(도 24)에 제공할 수 있거나, 전송기(2408)가 상기 수퍼프레임을 요청할 때까지 상기 수퍼프레임을 버퍼링할 수 있다.
멀티미디어 다중화 모듈(2700)의 구성요소는 본 명세서에 설명된 기술을 구현하도록 적용가능한 것의 예시이다. 그러나 다중화 모듈(2700)은 원한다면 많은 다른 구성요소를 포함할 수 있다. 다중화 모듈(2700)에서의 구성요소는 하나 이상의 프로세서, 디지털 신호 프로세서, ASICs, FPGAs, 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합으로서 구현될 수 있다. 더욱이, 다중화 모듈(2700)은 MPEG-4, ITU-T H.263, ITU-T H.264 또는 다른 코딩 표준에 따를 수 있다. 모듈로서 서로 다른 특징의 설명은 다중화 모듈(2700)의 서로 다른 기능적 양상을 강조하려는 것이며 그와 같은 모듈이 개별적인 하드웨어 또는 소프트웨어 구성요소에 의해 실현되어야 함을 의미하는 것은 아니다. 오히려, 하나 이상의 모듈과 관련된 기능은 공통 또는 개별 하드웨어 또는 소프트웨어 구성요소 내에 통합될 수 있다. 따라서 본 발명은 다중화 모듈(2700)의 예시에 제한되지 않는다.
도 28은 본 발명의 기술에 따라 멀티미디어 데이터를 인코딩하는 도 26의 인코더 모듈(2600)과 같은 인코더 모듈의 예시적인 동작을 예시하는 흐름도이다. 인코더 모듈(2600)은 소스(2800)로부터 하나 이상의 멀티미디어 데이터 플로를 수신한다. 인코더 모듈(2600)은 예를 들어, 인코더 모듈(2404)에 연결된 메모리 또는 화상 캡처 디바이스로부터 멀티미디어 데이터의 플로를 수신할 수 있다. 상기 멀티미디어 데이터의 플로는 라이브 실시간 컨텐츠, 비실시간 컨텐츠 또는 실시간 컨텐츠와 비실시간 컨텐츠의 조합을 포함할 수 있다.
인코더 모듈(2600)은 그 컨텐츠(2802)에 기초하여 데이터 세그먼트를 분류한다. 컨텐츠 분류 모듈(2604)(도 26)은 예를 들어, 상기 세그먼트의 데이터 복합성(예를 들어, 공간 복합성 및/또는 시간적 복합성)에 기초하여 수신된 데이터 세그먼트를 분류할 수 있다.
컨텐츠 분류 모듈(2604)은 상기 분류에 기초하여 품질 및 레이트 정보와 데이터 세그먼트를 관련시킨다(2804). 예시로서, 컨텐츠 분류 모듈(2604)은 복수의 품질-레이트 곡선들 중 하나와 데이터 세그먼트를 관련시킬 수 있다. 상술한 바와 같이, 상기 품질-레이트 곡선은 사전계산되어 메모리에 저장될 수 있다. 다른 예로서, 컨텐츠 분류 모듈(2604)은 데이터 세그먼트와 복수의 사전 계산된 품질-레이트 표 중 하나를 관련시킬 수 있다.
인코더 모듈(2600)은 데이터 세그먼트에 대한 추가의 품질 및 레이트 정보를 생성할 수 있다(2806). 예를 들어, 품질 및 레이트 정보 생성 모듈(2606)은 데이터 세그먼트들 각각에 대해 품질-레이트 표를 생성할 수 있다. 상술한 바와 같이, 상기 품질-레이트 표는 데이터 세그먼트와 관련된 하나 이상의 품질 레벨과 상기 품질 레벨들 각각에서의 상기 데이터 세그먼트의 크기를 표시한다. 일 예로서, 품질 및 레이트 정보 생성 모듈(2606)은 상기 데이터 세그먼트와 관련된 품질-레이트 곡선을 이용하여 순위 및 크기 쌍을 정렬하는 표를 생성할 수 있다.
인코더 모듈(2600)은 상기 데이터 세그먼트와 관련된 품질 및 레이트 정보를 다중화 모듈에 송신한다(2808). 인코더 모듈(2600)은 예를 들어, 상기 다중화 모듈로부터의 요청에 응답하여 상기 데이터 세그먼트와 관련된 품질 및 레이트 정보를 송신할 수 있다. 인코더 모듈은 예를 들어, 상기 데이터 세그먼트와 관련된 품질-레이트 곡선 및/또는 품질-레이트 표를 송신할 수 있다. 상술한 바와 같이, 상기 다중화 모듈은 현재 수퍼프레임의 크기를 모니터하고 상기 다중화 모듈이 어느 데이터 세그먼트가 리사이징되어야 하는지를 결정하는데 도움이 되도록 상기 품질 및 레이트 정보를 이용한다.
인코더 모듈(2600)과 관련된 데이터 세그먼트들 중 임의의 세그먼트가 리사이징되어야 하면, 인코더 모듈(2600)은 상기 다중화 모듈로부터의 리사이즈 요청을 수신한다(2810). 상기 다중화 모듈로부터의 리사이즈 요청은 상기 데이터 세그먼트에 대한 크기, 예를 들어, 비트의 최대 크기를 포함할 수 있다. 상기 리사이즈 요청에 응답하여, 리사이징 모듈(2612)은 상기 리사이즈 요청에 특정된 크기 제한을 충족시키도록 상기 인코딩된 데이터 세그먼트를 리사이징한다(2812). 본 발명의 일 양상에서, 리사이징 모듈(2612)은 데이터 세그먼트의 크기를 감소시키도록 하나 이상의 인코딩 변수를 조정한다. 리사이징 모듈(2612)은 예를 들어, 감소한 비트 레이트에서 또는 조정된, 예를 들어 더 높은 양자화 파라미터를 이용하여 상기 데이터 세그먼트를 재인코딩할 수 있다. 대안적으로 또는 부가적으로, 리사이징 모듈(2612)은 인코딩되는 정보량을 조정할 수 있다. 예를 들어, 리사이징 모듈(2612)은 데이터 세그먼트의 크기를 감소시키도록 움직임 정보를 인코딩하는데 사용되는 비트의 수를 감소시킬 수 있다. 본 발명의 다른 양상에서, 리사이징 모듈(2612)은 상기 데이터 세그먼트의 크기를 증가시키도록 하나 이상의 인코딩 변수를 조정할 수 있다. 리사이징 모듈(2612)은 예를 들어, 증가한 비트 레이트에서 또는 더 낮은 양자화 파라미터를 이용하여 상기 데이터 세그먼트를 재인코딩할 수 있다.
인코더 모듈(2600)은 상기 현재 수퍼프레임 내에 포함되는 데이터 세그먼트의 인코딩된 컨텐츠를 송신하도록 상기 다중화 모듈로부터의 요청을 수신한다(2814). 상기 다중화 모듈로부터의 요청에 응답하여, 인코더 모듈(2600)은 상기 데이터 세그먼트의 인코딩된 컨텐츠를 다중화 모듈에 송신한다(2816). 상술한 바와 같이, 인코더 모듈(2600)은 원래 크기에서 리사이징을 위해 선택되지 않은 데이터 세그먼트를 송신하며 상기 감소한 크기에서의 리사이징을 위해 선택된 데이터 세그먼트를 송신한다.
도 29는 본 발명의 기술에 따라 비트 할당을 관리하는 다중화 모듈(2800)의 예시적인 동작의 흐름도이다. 데이터 수집 모듈(2806)은 인코더 모듈(2404)의 각각으로부터 적어도 품질 및 레이트 정보를 요청한다(2900). 데이터 수집 모듈(2806)은 상기 품질 및 레이트 정보에 부가하여 인코더 모듈(2404)로부터의 다른 전달 요건 정보를 요청할 수 있다. 부가적으로, 데이터 수집 모듈(2806)은 다중화 모듈(2800)이 현재 수퍼프레임 내에 포함하는 ORT 서비스와 관련된 하나 이상의 전달 요건을 요청할 수 있다. 데이터 수집 모듈(2806)은 인코더 모듈(2404)의 각각이 현재 수퍼프레임에 포함하려고 하는 데이터 세그먼트와 관련된 적어도 품질 및 레이트 정보를 수신한다(2902). 상술한 바와 같이, 상기 품질 및 레이트 정보는 그 중에서도, 비트 레이트 또는 데이터 크기의 함수로서 데이터 세그먼트에 대한 품질 계량을 표시한다. 상기 품질 및 레이트 정보는 예를 들어, 데이터 세그먼트와 관련된 품질-레이트 곡선 또는 상기 데이터 세그먼트와 관련된 품질-레이트 표를 포함할 수 있다. 상술한 바와 같이, 데이터 수집 모듈(2806)은 또한 ORT 서비스와 관련된 하나 이상의 전달 요건뿐 아니라, 데이터 세그먼트에 대한 품질 및 레이트 정보와 다른 전달 요건을 수신할 수 있다.
할당 모듈(2808)은 데이터 세그먼트 간에 상기 이용 가능한 대역폭을 할당하려 시도한다(2904). 할당 모듈(2808)은 예를 들어, 상술한 할당 알고리즘 중 하나를 이용하여 상기 이용 가능한 대역폭을 할당하려고 시도할 수 있다. 상기 이용 가능한 대역폭을 할당하려는 제 1 시도에서, 할당 모듈(2808)은 데이터 세그먼트의 최상의 원하는 품질과 관련된 크기를 이용하여 상기 대역폭을 할당하려고 시도할 수 있다. 상기 품질 레이트 정보가 품질-레이트 표를 포함한다면, 예를 들어 할당 모듈(2808)은 1의 순위 값과 관련된 크기를 이용하여 상기 대역폭을 할당하려고 시도한다. 상기 품질 및 레이트 정보가 품질-레이트 곡선을 포함하면, 할당 모듈(2808)은 상기 품질-레이트 곡선의 각각과 상기 목표 품질 레벨의 교선에 대응하는 크기를 이용하여 상기 대역폭을 할당하려고 시도할 수 있다. 할당 모듈(2808)은 상술한 바와 같이 데이터 세그먼트와 ORT 서비스 사이의 이용 가능한 대역폭을 부가적으로 할당할 수 있다.
할당 모듈(2808)은 상기 이용 가능한 대역폭의 할당이 성공하는지 여부를 결정한다(2906). 할당 모듈(2808)이 상기 대역폭을 성공적으로 할당하지 못하면, 선택 모듈(2810)은 데이터 세그먼트와 관련된 품질 및 레이트 정보에 기초하여 데이터 세그먼트들 중 리사이징될 적어도 하나를 선택한다(2908). 일 양상에서, 선택 모듈(2810)은 상기 서비스를 전송하기에 충분한 대역폭이 존재하지 않을 때 다운사이징될 하나 이상의 데이터 세그먼트를 선택할 수 있다. 특히, 선택 모듈(2810)은 대응하는 감소한 크기에서 최소량의 품질의 영향을 갖는 하나 이상의 데이터 세그먼트를 선택한다. 예를 들어, 선택 모듈(2810)은 다음의 최상 품질 레벨에 대응하는 다음의 순위를 갖는 하나 이상의 데이터 세그먼트를 식별할 수 있다. 2개 이상의 데이터 세그먼트가 동일한 다음 순위를 갖는 경우, 선택 모듈(2810)은 현재 순위와 관련된 최대 크기를 갖는 식별된 데이터 세그먼트를 선택할 수 있다. 대안적으로, 선택 모듈(2810)은 현재 순위에서의 세그먼트의 크기와 다음 순위에서의 세그먼트의 크기 사이의 최대 차이를 갖는 식별된 데이터 세그먼트를 선택할 수 있다. 다른 양상에서, 선택 모듈(2810)은 초과 이용 가능한 대역폭의 양이 임계값을 초과할 때, 업사이징될 하나 이상의 데이터 세그먼트를 선택할 수 있다. 일부 경우에, 선택 모듈(2810)은 또한 리사이징될 하나 이상의 ORT 서비스를 선택할 수 있다.
할당 모듈(2808)은 상기 선택된 데이터 세그먼트의 감소한 크기를 이용하여 상기 이용 가능한 대역폭을 할당하려고 재시도한다. 상기 할당 알고리즘이 여전히 성공하지 못하면, 선택 모듈(2810)은 리사이징될 추가적인 세그먼트나 훨씬 더 감소한 품질에서 리사이징될 동일한 세그먼트를 선택한다.
?할당 모듈(2808)이 데이터 세그먼트 사이에서 이용 가능한 대역폭을 성공적으로 할당한 후에, 다중화 모듈(2800)은 복수의 데이터 세그먼트들에 대해 이용 가능한 대역폭을 달성하도록 선택된 데이터 세그먼트들 각각의 리사이징을 요청한다(2910). 다중화 모듈(2800)은 예를 들어, 상기 선택된 데이터 세그먼트와 관련된 인코더 모듈(2404)의 각각에 리사이즈 요청을 송신할 수 있다. 상기 리사이즈 요청은 데이터 세그먼트의 최대 수용가능한 크기 또는 감소한 비트 레이트를 특정할 수 있다. 인코더 모듈(2404)은 상술한 바와 같은 리사이즈 요청에 포함된 정보에 기초하여 상기 데이터를 리사이징한다.
데이터 수집 모듈(2806)은 인코더 모듈(2404)로부터의 데이터 세그먼트의 인코딩된 컨텐츠의 전송을 요청한다(2912). 데이터 수집 모듈(2806)은 예를 들어, 상기 데이터를 수퍼프레임에 조합할 준비가 될 때, 데이터 요청을 인코더 모듈(2404)에 송신할 수 있다. 데이터 수집 모듈(2806)은 상기 명령에 응답하여 인코딩된 데이터 세그먼트를 수신한다(2914). 다중화 모듈(2800)은 상기 인코딩된 멀티미디어 데이터 세그먼트를 조합함으로써 상기 수퍼프레임을 어셈블리한다(2916). 다중화 모듈(2800)은 그 후에, 전송을 위해 상기 수퍼프레임을 전송기(2408)에 송신할 수 있다(2918). 일부의 경우에, 다중화 모듈(2800)은 전송기(2408)가 상기 수퍼프레임을 요청할 때까지 상기 수퍼프레임을 버퍼링할 수 있다.
도 30은 데이터 세그먼트와 관련된 품질-레이트 표를 이용하여 리사이징될 데이터 세그먼트를 선택하는 다중화 모듈(2800)의 예시적인 동작을 예시하는 흐름도이다. 처음에, 선택 모듈(2810)은 다른 가능한 순위 조합이 존재하는지를 결정한다(3000). 선택 모듈(2810)은 최악의 순위에 있지 않은 임의의 데이터 세그먼트가 존재하는지를 결정하도록 상기 품질-레이트 표들을 분석할 수 있다. 상술한 예에서, 최악의 순위는 가장 높은 숫자인 순위에 대응할 수 있다. 다른 가능한 순위 조합이 존재하지 않는다면, 즉 상기 데이터 세그먼트들 각각이 최악의 순위에 있다면, 선택 모듈(2810)은 상기 수퍼프레임으로부터 제거할 하나 이상의 데이터 세그먼트를 선택하기 시작한다(3001). 선택 모듈(2810)은 예를 들어, 상술한 혼잡 제어 알고리즘을 이용하여 상기 수퍼프레임으로부터 제거될 하나 이상의 세그먼트를 선택할 수 있다.
다른 가능한 순위 조합이 존재하면, 선택 모듈(2810)은 다음의 최상 품질 레벨에 대응하는 다음 순위를 갖는 하나 이상의 데이터 세그먼트를 식별한다(3002). 예를 들어, 선택 모듈(2810)은 상기 품질-레이트 표가 상술한 바와 같이 생성될 때 가장 작은 다음 순위를 갖는 데이터 세그먼트를 식별할 수 있다. 이러한 방식으로, 선택 모듈(2810)은 다음의 최상 품질 레벨에 대응하는 후속 품질 레벨들을 갖는 하나 이상의 스트림을 식별하도록 상기 품질-레이트 표들을 분석한다.
선택 모듈(2810)은 식별된 데이터 세그먼트들 중 리사이징될 데이터 세그먼트를 선택한다(3004). 단 하나의 데이터 세그먼트가 가장 작은 다음 순위 값을 갖는다면, 다중화 모듈(2800)은 그 세그먼트를 선택한다. 2개 이상의 데이터 세그먼트가 동일한 다음 순위를 갖는다면, 선택 모듈(2810)은 현재 순위와 관련된 최대 크기를 갖는 식별된 데이터 세그먼트를 선택할 수 있다. 대안적으로, 선택 모듈(2810)은 현재 순위에서의 세그먼트의 크기와 다음 순위에서의 세그먼트의 크기 사이의 최대 차이를 갖는 식별된 데이터 세그먼트를 선택할 수 있다.
선택 모듈(2810)은 상기 선택된 데이터 세그먼트와 관련된 순위를 다음 순위로 설정한다(3006). 선택 모듈(2810)이 하나 이상의 데이터 세그먼트를 선택한 후에, 할당 모듈(2808)은 상기 선택된 데이터 세그먼트에 대한 감소한 순위와 관련된 크기를 이용하여 이용 가능한 대역폭의 할당을 재시도한다. 상기 할당 알고리즘이 여전히 성공하지 못하면, 선택 모듈(2810)은 상술한 바와 유사한 방식으로 리사이징될 추가적인 데이터 세그먼트 또는 훨씬 더 감소한 품질로 리사이징될 동일한 세그먼트를 선택한다.
본 명세서에 설명된 기술은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 하드웨어로 구현될 경우, 상기 기술은 디지털 하드웨어, 아날로그 하드웨어 또는 이들의 조합을 이용하여 실현될 수 있다. 소프트웨어로 구현될 경우, 상기 기술은 컴퓨터-판독 가능 매체 상의 하나 이상의 저장된 또는 전송된 명령 또는 코드에 의해 적어도 일부분 실현될 수 있다. 컴퓨터-판독 가능 매체는 컴퓨터 저장 매체, 통신 매체 또는 둘 다를 포함할 수 있으며, 한 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 촉진하는 임의의 매체를 포함할 수 있다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다.
제한이 아닌 예시로서, 그와 같은 컴퓨터-판독 가능 매체는 SDRAM(synchronous dymamic random access memory)와 같은 RAM, ROM(read-only memory), 비휘발성 랜덤 액세스 메모리(NVRAM), ROM, EEPROM(electrically erasable progammable read-only memory), EEPROM, FLASH 메모리, CD-ROM 또는 다른 광학 디스크 저장 매체, 자기 디스크 저장 매체 또는 다른 자기 저장 디바이스, 또는 원하는 프로그램 코드를 명령 또는 데이터 구조의 형태로 운반 또는 저장하도록 사용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 실체적인 매체를 포함할 수 있다.
또한, 임의의 접속이 적절하게 컴퓨터-판독 가능 매체라 칭해진다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선(twisted pair), 디지털 가입 회선(DSL) 또는 적외선, 무선 및 마이크로파와 같은 무선 기술을 이용하여 웹사이트, 서버 또는 다른 원격 소스로부터 전송되면, 상기 동축 케이블, 광섬유 케이블, 연선, DSL 또는 적외선, 무선 및 마이크로파와 같은 무선 기술은 매체의 정의에 포함된다. 본 명세서에서 사용된 바와 같은 디스크(Disk) 및 디스크(disc)는 컴팩트 디스크(CD), 레이저 디스크, 광 디스크, DVD(digital versatile disc), 플로피 디스크(disk) 및 블루-레이 디스크를 포함하며, 여기서 디스크(disk)는 대개 자기적으로 데이터를 재생하는 반면, 디스크(disc)는 광학적으로, 예를 들어 레이저로 디스크를 재생한다. 상기의 조합이 또한 컴퓨터-판독 가능 매체의 범위 내에 포함되어야 한다.
본 명세서에서 개시된 바와 같은 컴퓨터 프로그램 제품은 컴퓨터-판독 가능 매체뿐 아니라, 상기 컴퓨터-판독 가능 매체가 패키지화되는 내에서의 패키징 재료를 포함하여, 상기 컴퓨터-판독 가능 매체와 관련된 임의의 재료를 포함한다. 컴퓨터 프로그램 제품의 컴퓨터-판독 가능 매체와 관련된 코드는 컴퓨터, 예를 들어 하나 이상의 디지털 신호 프로세서(DSPs), 범용 목적 마이크로프로세서, ASICs, FPGAs 또는 다른 동등한 집적 또는 이산 로직 회로와 같은 하나 이상의 프로세서에 의해 실행될 수 있다. 일부 양상에서, 본 명세서에 설명된 기능은 인코딩 및 디코딩을 위해 구성되거나, 조합된 CODEC에 통합된 전용 소프트웨어 모듈 또는 하드웨어 모듈 내에 제공될 수 있다.
다양한 양상이 설명되었다. 이들 및 다른 양상은 다음의 청구항의 범위 내에 있다.

Claims (123)

  1. 디지털 멀티미디어 데이터의 플로(flow)들을 조합하기 위한 방법으로서,
    다중화 서버에서, 상기 디지털 멀티미디어 데이터의 플로들과 관련된 복수의 데이터 세그먼트(segment)들에 대한 적어도 품질 및 레이트(rate) 정보를 수신하는 단계;
    상기 다중화 서버에서, 상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지(fit)를 결정하는 단계;
    상기 다중화 서버에서, 상기 복수의 데이터 세그먼트들과 관련된 상기 품질 및 레이트 정보를 분석하는 단계;
    상기 다중화 서버에서, 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때, 상기 분석을 기초로 상기 복수의 데이터 세그먼트들 중 감소한 크기들에서 품질에 최소량의 영향을 갖는 리사이징(resize)될 하나 이상의 데이터 세그먼트들을 선택하는 단계; 및
    상기 복수의 데이터 세그먼트들에 대한 상기 이용 가능한 대역폭을 달성하도록 상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 위한 요청을 상기 다중화 서버에서 하나 이상의 인코딩 모듈들로 전송하는 단계를 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 다중화 서버에서 상기 적어도 품질 및 레이트 정보를 수신하는 단계는 상기 다중화 서버에서 상기 복수의 데이터 세그먼트들과 관련된 적어도 품질-레이트 곡선들을 수신하는 단계를 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 다중화 서버에서 상기 적어도 품질 및 레이트 정보를 수신하는 단계는 상기 다중화 서버에서 상기 복수의 데이터 세그먼트들과 관련된 적어도 품질-레이트 표들을 수신하는 단계를 포함하며, 상기 품질-레이트 표들 각각은 해당 데이터 세그먼트와 관련된 적어도 하나 이상의 품질 레벨들과 상기 품질 레벨들 각각에서의 해당 데이터 세그먼트의 크기들을 표시하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  4. 제 3 항에 있어서,
    상기 다중화 서버에서, 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞는지를 결정하는 단계는:
    상기 다중화 서버에서, 상기 품질 레벨들 중 선택된 품질 레벨에 대응하는 크기들로 상기 데이터 세그먼트들 각각을 송신하는데 필요한 전송 채널 리소스들의 양을 결정하는 단계;
    상기 다중화 서버에서, 상기 데이터 세그먼트들을 송신하는데 필요한 전송 채널 리소스들의 양들을 합산하는 단계; 및
    상기 다중화 서버에서, 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞는지를 결정하기 위해 상기 데이터 세그먼트들 모두에 의해 요구되는 전송 채널 리소스들의 총 합과 이용 가능한 전송 채널 리소스들의 양을 비교하는 단계를 더 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  5. 제 4 항에 있어서,
    상기 다중화 서버에서 상기 복수의 데이터 세그먼트들 중 리사이징될 하나 이상의 데이터 세그먼트들을 선택하는 단계는 상기 다중화 서버에서, 상기 데이터 세그먼트들을 송신하는데 필요한 전송 리소스들의 총 합이 상기 이용 가능한 대역폭의 양보다 클 때, 상기 복수의 데이터 세그먼트들 중 다운사이징(downsize)될 하나 이상의 데이터 세그먼트들을 선택하는 단계를 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  6. 제 4 항에 있어서,
    상기 다중화 서버에서 상기 복수의 데이터 세그먼트들 중 리사이징될 하나 이상의 데이터 세그먼트들을 선택하는 단계는 상기 다중화 서버에서, 상기 데이터 세그먼트들을 송신하는데 필요한 전송 리소스들의 총 합이 상기 이용 가능한 대역폭의 양보다 적을 때, 상기 복수의 데이터 세그먼트들 중 업사이징(upsize)될 하나 이상의 데이터 세그먼트들을 선택하는 단계를 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  7. 제 3 항에 있어서,
    상기 다중화 서버에서 상기 복수의 데이터 세그먼트들 중 하나 이상의 데이터 세그먼트들을 선택하는 단계는:
    상기 다중화 서버에서, 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때, 다음의 최상 품질 레벨에 대응하는 후속 품질 레벨들을 갖는 하나 이상의 데이터 세그먼트들을 식별하기 위해 상기 품질-레이트 표들을 분석하는 단계;
    상기 다중화 서버에서, 현재 품질 레벨들에서 상기 식별된 데이터 세그먼트들의 크기들을 결정하기 위해 상기 품질-레이트 표들을 분석하는 단계; 및
    상기 다중화 서버에서, 상기 식별된 데이터 세그먼트들 중 상기 현재 품질 레벨에서 최대 추정 크기를 갖는 적어도 하나의 데이터 세그먼트를 선택하는 단계를 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  8. 제 7 항에 있어서,
    상기 다중화 서버에서, 상기 후속 품질 레벨에서 상기 선택된 데이터 세그먼트의 크기를 이용하여 상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하는 단계; 및
    상기 다중화 서버에서, 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때, 상기 복수의 데이터 세그먼트들과 관련된 품질 및 레이트 정보에 기초하여 리사이징될 하나 이상의 추가적인 데이터 세그먼트들을 선택하는 단계를 더 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  9. 제 3 항에 있어서,
    상기 다중화 서버에서 상기 복수의 데이터 세그먼트들 중 하나 이상의 데이터 세그먼트들을 선택하는 단계는:
    상기 다중화 서버에서, 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때, 다음의 최상 품질 레벨에 대응하는 후속 품질 레벨들을 갖는 하나 이상의 데이터 세그먼트들을 식별하기 위해 상기 품질-레이트 표들을 분석하는 단계;
    상기 다중화 서버에서, 상기 데이터 세그먼트들 각각에 대해, 현재 품질 레벨에서 식별된 데이터 세그먼트의 크기와 상기 후속 품질 레벨에서 식별된 데이터 세그먼트의 크기 사이의 차이를 계산하는 단계; 및
    상기 다중화 서버에서, 상기 식별된 데이터 세그먼트들 중 최대 계산된 차이를 갖는 적어도 하나의 데이터 세그먼트를 선택하는 단계를 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  10. 삭제
  11. 제 1 항에 있어서,
    상기 다중화 서버에서, 상기 복수의 데이터 세그먼트들 중 상기 감소한 크기들에서 품질에 최소량의 영향을 갖는 리사이징될 하나 이상의 데이터 세그먼트들을 선택하는 단계는 상기 다중화 서버에서 다음의 등식을 최대화할 데이터 세그먼트들을 선택하는 단계를 포함하며,
    Figure 112011026450722-pct00007
    여기서 n은 데이터 세그먼트들의 총 수이고, QTotal은 상기 데이터 세그먼트들 모두의 전체 품질이고, ki는 i번째 데이터 세그먼트와 관련된 상수이고, ri는 i번째 데이터 세그먼트와 관련된 비트 레이트이고, R은 총 이용 가능한 비트 레이트이고, QVi는 i번째 데이터 세그먼트와 관련된 품질이고,
    Figure 112011026450722-pct00043
    는 i번째 데이터 세그먼트와 관련된 최소 품질이며, wi는 i번째 데이터 세그먼트와 관련된 우선순위인, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  12. 제 1 항에 있어서,
    상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 위한 요청을 상기 다중화 서버에서 하나 이상의 인코딩 모듈들로 전송하는 단계는 상기 선택된 데이터 세그먼트들에 대한 적어도 최대 크기들을 특정하는 단계를 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  13. 제 1 항에 있어서,
    상기 다중화 서버에서, 한 기간의 시간에 걸쳐 상기 데이터 세그먼트들의 멀티미디어 데이터를 조합하는 단계를 더 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  14. 제 1 항에 있어서,
    상기 리사이징을 위해 선택된 데이터 세그먼트들에 대한 인코딩된 컨텐츠의 전송을 위한 요청을 상기 다중화 서버에서 하나 이상의 인코딩 모듈들로 전송하는 단계;
    상기 복수의 데이터 세그먼트들 중 나머지 데이터 세그먼트들에 대한 인코딩된 컨텐츠의 전송을 위한 요청을 상기 다중화 서버에서 하나 이상의 인코딩 모듈들로 전송하는 단계; 및
    상기 요청들에 응답하여 상기 복수의 데이터 세그먼트들 각각에 대한 컨텐츠를 수신하는 단계를 더 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  15. 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치로서,
    상기 디지털 멀티미디어 데이터의 플로들과 관련된 복수의 데이터 세그먼트들에 대한 적어도 품질 및 레이트 정보를 수신하도록 구성된 데이터 수집 모듈;
    상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하도록 구성된 할당 모듈;
    상기 복수의 데이터 세그먼트들과 관련된 상기 품질 및 레이트 정보를 분석하도록 구성된 분석 모듈; 및
    상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때, 상기 분석을 기초로 상기 복수의 데이터 세그먼트들 중 감소한 크기들에서 품질에 최소량의 영향을 갖는 리사이징될 하나 이상의 데이터 세그먼트들을 선택하고, 상기 복수의 데이터 세그먼트들에 대한 상기 이용 가능한 대역폭을 달성하기 위해 상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 요청하도록 구성된 선택 모듈을 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  16. 제 15 항에 있어서,
    상기 데이터 수집 모듈은 상기 복수의 데이터 세그먼트들과 관련된 적어도 품질-레이트 곡선들을 수신하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  17. 제 15 항에 있어서,
    상기 데이터 수집 모듈은 상기 복수의 데이터 세그먼트들과 관련된 적어도 품질-레이트 표들을 수신하도록 구성되며, 상기 품질-레이트 표들 각각은 해당 데이터 세그먼트와 관련된 적어도 하나 이상의 품질 레벨들과 상기 품질 레벨들 각각에서의 해당 데이터 세그먼트의 크기들을 표시하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  18. 제 17 항에 있어서,
    상기 할당 모듈은 상기 품질 레벨들 중 선택된 품질 레벨에 대응하는 크기들로 상기 데이터 세그먼트들 각각을 송신하는데 필요한 전송 채널 리소스들의 양을 결정하고, 상기 데이터 세그먼트들을 송신하는데 필요한 전송 채널 리소스들의 양들을 합산하며, 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞는지를 결정하기 위해 상기 데이터 세그먼트들 모두에 의해 요구되는 전송 채널 리소스들의 총 합과 이용 가능한 전송 채널 리소스들의 양을 비교하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  19. 제 18 항에 있어서,
    상기 선택 모듈은 상기 데이터 세그먼트들을 송신하는데 필요한 전송 리소스들의 총 합이 상기 이용 가능한 대역폭의 양보다 클 때, 상기 복수의 데이터 세그먼트들 중 다운사이징될 하나 이상의 데이터 세그먼트들을 선택하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  20. 제 18 항에 있어서,
    상기 선택 모듈은 상기 데이터 세그먼트들을 송신하는데 필요한 전송 리소스들의 총 합이 상기 이용 가능한 대역폭의 양보다 적을 때, 상기 복수의 데이터 세그먼트들 중 업사이징될 하나 이상의 데이터 세그먼트들을 선택하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  21. 제 17 항에 있어서,
    상기 선택 모듈은 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때, 다음의 최상 품질 레벨에 대응하는 후속 품질 레벨들을 갖는 하나 이상의 데이터 세그먼트들을 식별하기 위해 상기 품질-레이트 표들을 분석하고, 현재 품질 레벨들에서 상기 식별된 데이터 세그먼트들의 크기들을 결정하기 위해 상기 품질-레이트 표들을 분석하며, 상기 식별된 데이터 세그먼트들 중 상기 현재 품질 레벨에서 최대 추정 크기를 갖는 적어도 하나의 데이터 세그먼트를 선택하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  22. 제 21 항에 있어서,
    상기 할당 모듈은 상기 후속 품질 레벨에서 상기 선택된 데이터 세그먼트의 크기를 이용하여 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞는지를 결정하도록 구성되며,
    상기 선택 모듈은 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때, 상기 복수의 데이터 세그먼트들과 관련된 품질 및 레이트 정보에 기초하여 리사이징될 하나 이상의 추가적인 데이터 세그먼트들을 선택하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  23. 제 17 항에 있어서,
    상기 선택 모듈은 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때 다음의 최상 품질 레벨에 대응하는 후속 품질 레벨들을 갖는 하나 이상의 데이터 세그먼트들을 식별하기 위해 상기 품질-레이트 표들을 분석하고, 상기 데이터 세그먼트들 각각에 대해, 현재 품질 레벨에서 식별된 데이터 세그먼트의 크기와 상기 후속 품질 레벨에서 식별된 데이터 세그먼트의 크기 사이의 차이를 계산하며, 상기 식별된 데이터 세그먼트들 중 최대 계산된 차이를 갖는 적어도 하나의 데이터 세그먼트를 선택하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  24. 삭제
  25. 제 15 항에 있어서,
    상기 선택 모듈은 다음의 등식을 최대화함으로써 상기 복수의 데이터 세그먼트들 중 리사이징될 하나 이상의 데이터 세그먼트들을 선택하도록 구성되며:
    Figure 112011026450722-pct00008
    여기서 n은 데이터 세그먼트들의 총 수이고, QTotal은 상기 데이터 세그먼트들 모두의 전체 품질이고, ki는 i번째 데이터 세그먼트와 관련된 상수이고, ri는 i번째 데이터 세그먼트와 관련된 비트 레이트이고, R은 총 이용 가능한 비트 레이트이고, QVi는 i번째 데이터 세그먼트와 관련된 품질이고,
    Figure 112011026450722-pct00044
    는 i번째 데이터 세그먼트와 관련된 최소 품질이며, wi는 i번째 데이터 세그먼트와 관련된 우선순위인, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  26. 제 15 항에 있어서,
    상기 선택 모듈은 리사이징을 요청할 때 상기 선택된 데이터 세그먼트들에 대한 적어도 최대 크기들을 특정하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  27. 제 15 항에 있어서,
    상기 데이터 세그먼트들은 한 기간의 시간에 걸쳐 상기 플로들의 일부분들을 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  28. 제 15 항에 있어서,
    상기 데이터 수집 모듈은 리사이징을 위해 선택된 데이터 세그먼트들에 대한 인코딩된 컨텐츠의 전송을 요청하고, 상기 복수의 데이터 세그먼트들 중 나머지 데이터 세그먼트들에 대한 인코딩된 컨텐츠의 전송을 요청하며, 상기 요청들에 응답하여 상기 복수의 데이터 세그먼트들 각각에 대한 컨텐츠를 수신하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  29. 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치로서,
    상기 디지털 멀티미디어 데이터의 플로들과 관련된 복수의 데이터 세그먼트들에 대한 적어도 품질 및 레이트 정보를 수신하기 위한 수단;
    상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하기 위한 수단;
    상기 복수의 데이터 세그먼트들과 관련된 상기 품질 및 레이트 정보를 분석하기 위한 수단;
    상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때, 상기 분석을 기초로 상기 복수의 데이터 세그먼트들 중 감소한 크기들에서 품질에 최소량의 영향을 갖는 리사이징될 하나 이상의 데이터 세그먼트들을 선택하기 위한 수단; 및
    상기 복수의 데이터 세그먼트들에 대한 상기 이용 가능한 대역폭을 달성하도록 상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 요청하기 위한 수단을 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  30. 제 29 항에 있어서,
    상기 수신하기 위한 수단은 상기 복수의 데이터 세그먼트들과 관련된 적어도 품질-레이트 곡선들을 수신하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  31. 제 29 항에 있어서,
    상기 수신하기 위한 수단은 상기 복수의 데이터 세그먼트들과 관련된 적어도 품질-레이트 표들을 수신하도록 구성되고, 상기 품질-레이트 표들 각각은 해당 데이터 세그먼트와 관련된 적어도 하나 이상의 품질 레벨들과 상기 품질 레벨들 각각에서의 해당 데이터 세그먼트의 크기들을 표시하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  32. 제 31 항에 있어서,
    상기 결정하기 위한 수단은 상기 품질 레벨들 중 선택된 품질 레벨에 대응하는 크기들로 상기 데이터 세그먼트들 각각을 송신하는데 필요한 전송 채널 리소스들의 양을 결정하고, 상기 데이터 세그먼트들을 송신하는데 필요한 전송 채널 리소스들의 양들을 합산하며, 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞는지를 결정하기 위해 상기 데이터 세그먼트들 모두에 의해 요구되는 전송 채널 리소스들의 총 합과 이용 가능한 전송 채널 리소스들의 양을 비교하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  33. 제 32 항에 있어서,
    상기 선택하기 위한 수단은 상기 데이터 세그먼트들을 송신하는데 필요한 전송 리소스들의 총 합이 상기 이용 가능한 대역폭의 양보다 클 때, 상기 복수의 데이터 세그먼트들 중 다운사이징될 하나 이상의 데이터 세그먼트들을 선택하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  34. 제 32 항에 있어서,
    상기 선택하기 위한 수단은 상기 데이터 세그먼트들을 송신하는데 필요한 상기 전송 리소스의 총 합이 상기 이용 가능한 대역폭의 양보다 적을 때, 상기 복수의 데이터 세그먼트들 중 업사이징될 하나 이상의 데이터 세그먼트들을 선택하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  35. 제 31 항에 있어서,
    상기 선택하기 위한 수단은 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때 다음의 최상 품질 레벨에 대응하는 후속 품질 레벨들을 갖는 하나 이상의 데이터 세그먼트들을 식별하기 위해 상기 품질-레이트 표들을 분석하고, 현재 품질 레벨들에서 상기 식별된 데이터 세그먼트들의 크기들을 결정하기 위해 상기 품질-레이트 표들을 분석하며, 상기 식별된 데이터 세그먼트들 중 상기 현재 품질 레벨에서 최대 추정 크기를 갖는 적어도 하나의 데이터 세그먼트를 선택하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  36. 제 31 항에 있어서,
    상기 선택하기 위한 수단은 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때, 다음의 최상 품질 레벨에 대응하는 후속 품질 레벨들을 갖는 하나 이상의 데이터 세그먼트들을 식별하기 위해 상기 품질-레이트 표들을 분석하고, 상기 데이터 세그먼트들 각각에 대해, 현재 품질 레벨에서의 식별된 데이터 세그먼트의 크기와 상기 후속 품질 레벨에서 식별된 데이터 세그먼트의 크기 사이의 차이를 계산하며, 상기 식별된 데이터 세그먼트들 중 최대 계산된 차이를 갖는 적어도 하나의 데이터 세그먼트를 선택하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  37. 제 29 항에 있어서,
    상기 선택하기 위한 수단은 다음의 등식을 최대화함으로써 상기 복수의 데이터 세그먼트들 중 리사이징될 하나 이상의 데이터 세그먼트들을 선택하도록 구성되며:
    Figure 112011026450722-pct00009
    여기서 n은 데이터 세그먼트들의 총 수이고, QTotal은 상기 데이터 세그먼트들 모두의 전체 품질이고, ki는 i번째 데이터 세그먼트와 관련된 상수이고, ri는 i번째 데이터 세그먼트와 관련된 비트 레이트이고, R은 총 이용 가능한 비트 레이트이고, QVi는 i번째 데이터 세그먼트와 관련된 품질이고, 는 i번째 데이터 세그먼트와 관련된 최소 품질이며, wi는 i번째 데이터 세그먼트와 관련된 우선순위인, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  38. 디지털 비디오 데이터를 처리하기 위한 프로세서로서,
    디지털 멀티미디어 데이터의 플로들과 관련된 복수의 데이터 세그먼트들에 대한 품질 및 레이트 정보를 수신하고;
    상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하고;
    상기 복수의 데이터 세그먼트들과 관련된 상기 품질 및 레이트 정보를 분석하고;
    상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때, 상기 분석을 기초로 상기 복수의 데이터 세그먼트들 중 감소한 크기들에서 품질에 최소량의 영향을 갖는 리사이징될 하나 이상의 데이터 세그먼트들을 선택하며; 그리고
    상기 복수의 데이터 세그먼트들에 대한 상기 이용 가능한 대역폭을 달성하기 위해 상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 요청하도록 구성되는, 디지털 비디오 데이터를 처리하기 위한 프로세서.
  39. 제 38 항에 있어서,
    상기 프로세서는 상기 복수의 데이터 세그먼트들과 관련된 적어도 품질-레이트 곡선들을 수신하도록 구성되는, 디지털 비디오 데이터를 처리하기 위한 프로세서.
  40. 제 38 항에 있어서,
    상기 프로세서는 상기 복수의 데이터 세그먼트들과 관련된 적어도 품질-레이트 표들을 수신하도록 구성되며, 상기 품질-레이트 표들 각각은 해당 데이터 세그먼트와 관련된 적어도 하나 이상의 품질 레벨들과 상기 품질 레벨들 각각에서의 해당 데이터 세그먼트의 크기들을 표시하는, 디지털 비디오 데이터를 처리하기 위한 프로세서.
  41. 제 40 항에 있어서,
    상기 프로세서는:
    상기 품질 레벨들 중 선택된 품질 레벨에 대응하는 크기들로 상기 데이터 세그먼트들 각각을 송신하는데 필요한 전송 채널 리소스들의 양을 결정하고;
    상기 데이터 세그먼트들을 송신하는데 필요한 전송 채널 리소스들의 양들을 합산하며; 그리고
    상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞는지를 결정하기 위해 상기 데이터 세그먼트들 모두에 의해 요구되는 전송 채널 리소스들의 총 합과 이용 가능한 전송 채널 리소스들의 양을 비교하도록 구성되는, 디지털 비디오 데이터를 처리하기 위한 프로세서.
  42. 제 41 항에 있어서,
    상기 프로세서는 상기 데이터 세그먼트들을 송신하는데 필요한 전송 리소스들의 총 합이 상기 이용 가능한 대역폭의 양보다 클 때, 상기 복수의 데이터 세그먼트들 중 다운사이징될 하나 이상의 데이터 세그먼트들을 선택하도록 구성되는, 디지털 비디오 데이터를 처리하기 위한 프로세서.
  43. 제 41 항에 있어서,
    상기 프로세서는 상기 데이터 세그먼트들을 송신하는데 필요한 전송 리소스들의 총 합이 이용 가능한 대역폭의 양보다 적을 때, 상기 복수의 데이터 세그먼트들 중 업사이징될 하나 이상의 데이터 세그먼트들을 선택하도록 구성되는, 디지털 비디오 데이터를 처리하기 위한 프로세서.
  44. 제 40 항에 있어서,
    상기 프로세서는:
    상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때 다음의 최상 품질 레벨에 대응하는 후속 품질 레벨들을 갖는 하나 이상의 데이터 세그먼트들을 식별하기 위해 상기 품질-레이트 표들을 분석하고;
    현재 품질 레벨들에서 상기 식별된 데이터 세그먼트들의 크기들을 결정하기 위해 상기 품질-레이트 표들을 분석하며; 그리고
    상기 식별된 데이터 세그먼트들 중 상기 현재 품질 레벨에서 최대 추정 크기를 갖는 적어도 하나의 데이터 세그먼트를 선택하도록 구성되는, 디지털 비디오 데이터를 처리하기 위한 프로세서.
  45. 제 44 항에 있어서,
    상기 프로세서는:
    상기 후속 품질 레벨에서 상기 선택된 데이터 세그먼트의 크기를 이용하여 상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하고; 그리고
    상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때 상기 복수의 데이터 세그먼트들과 관련된 품질 및 레이트 정보에 기초하여 리사이징될 하나 이상의 추가적인 데이터 세그먼트들을 선택하도록 구성되는, 디지털 비디오 데이터를 처리하기 위한 프로세서.
  46. 제 40 항에 있어서,
    상기 프로세서는:
    상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때 다음의 최상 품질 레벨에 대응하는 후속 품질 레벨들을 갖는 하나 이상의 데이터 세그먼트들을 식별하기 위해 상기 품질-레이트 표들을 분석하고;
    상기 데이터 세그먼트들 각각에 대해, 현재 품질 레벨에서 식별된 데이터 세그먼트의 크기와 상기 후속 품질 레벨에서 식별된 데이터 세그먼트의 크기 사이의 차이를 계산하며; 그리고
    상기 식별된 데이터 세그먼트들 중 최대 계산된 차이를 갖는 적어도 하나의 데이터 세그먼트를 선택하도록 구성되는, 디지털 비디오 데이터를 처리하기 위한 프로세서.
  47. 삭제
  48. 제 38 항에 있어서,
    상기 프로세서는 다음의 등식을 최대화하도록 구성되며:
    Figure 112011026450722-pct00010
    여기서 n은 데이터 세그먼트들의 총 수이고, QTotal은 상기 데이터 세그먼트들 모두의 전체 품질이고, ki는 i번째 데이터 세그먼트와 관련된 상수이고, ri는 i번째 데이터 세그먼트와 관련된 비트 레이트이고, R은 총 이용 가능한 비트 레이트이고, QVi는 i번째 데이터 세그먼트와 관련된 품질이고,
    Figure 112011026450722-pct00046
    는 i번째 데이터 세그먼트와 관련된 최소 품질이며, wi는 i번째 데이터 세그먼트와 관련된 우선순위인, 디지털 비디오 데이터를 처리하기 위한 프로세서.
  49. 제 38 항에 있어서,
    상기 프로세서는 상기 선택된 데이터 세그먼트들에 대한 적어도 최대 크기들을 특정하도록 구성되는, 디지털 비디오 데이터를 처리하기 위한 프로세서.
  50. 제 38 항에 있어서,
    상기 프로세서는 한 기간의 시간에 걸쳐 상기 데이터 세그먼트들의 멀티미디어 데이터를 조합하도록 구성되는, 디지털 비디오 데이터를 처리하기 위한 프로세서.
  51. 제 38 항에 있어서,
    상기 프로세서는:
    리사이징을 위해 선택된 데이터 세그먼트들에 대한 인코딩된 컨텐츠의 전송을 요청하고;
    상기 복수의 데이터 세그먼트들 중 나머지 데이터 세그먼트들에 대한 인코딩된 컨텐츠의 전송을 요청하며; 그리고
    상기 요청들에 응답하여 상기 복수의 데이터 세그먼트들 각각에 대한 컨텐츠를 수신하도록 구성되는, 디지털 비디오 데이터를 처리하기 위한 프로세서.
  52. 적어도 하나의 컴퓨터로 하여금 디지털 비디오 데이터를 처리하게 하기 위한 명령들을 포함하는 컴퓨터 판독 가능한 매체로서,
    상기 명령들은 상기 적어도 하나의 컴퓨터로 하여금:
    디지털 멀티미디어 데이터의 플로들과 관련된 복수의 데이터 세그먼트들에 대한 품질 및 레이트 정보를 수신하게 하고;
    상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하게 하고;
    상기 복수의 데이터 세그먼트들과 관련된 상기 품질 및 레이트 정보를 분석하게 하고;
    상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때 상기 분석을 기초로 상기 복수의 데이터 세그먼트들 중 감소한 크기들에서 품질에 최소량의 영향을 갖는 리사이징될 하나 이상의 데이터 세그먼트들을 선택하게 하며; 그리고
    상기 복수의 데이터 세그먼트들에 대한 상기 이용 가능한 대역폭을 달성하도록 상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 요청하게 하는, 컴퓨터 판독 가능한 매체.
  53. 제 52 항에 있어서,
    상기 컴퓨터로 하여금 품질 및 레이트 정보를 수신하게 하기 위한 명령들은 상기 컴퓨터로 하여금 상기 복수의 데이터 세그먼트들과 관련된 적어도 품질-레이트 곡선들을 수신하게 하기 위한 명령들을 포함하는, 컴퓨터 판독 가능한 매체.
  54. 제 52 항에 있어서,
    상기 컴퓨터로 하여금 품질 및 레이트 정보를 수신하게 하기 위한 명령들은 상기 컴퓨터로 하여금 상기 복수의 데이터 세그먼트들과 관련된 적어도 품질-레이트 표들을 수신하게 하기 위한 명령들을 포함하며, 상기 품질-레이트 표들 각각은 해당 데이터 세그먼트와 관련된 적어도 하나 이상의 품질 레벨들과 상기 품질 레벨들 각각에서의 해당 데이터 세그먼트의 크기들을 표시하는, 컴퓨터 판독 가능한 매체.
  55. 제 54 항에 있어서,
    상기 컴퓨터로 하여금 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞는지를 결정하게 하기 위한 명령들은, 상기 컴퓨터로 하여금:
    상기 품질 레벨들 중 선택된 품질 레벨에 대응하는 크기들로 상기 데이터 세그먼트들 각각을 송신하는데 필요한 전송 채널 리소스들의 양을 결정하게 하고;
    상기 데이터 세그먼트들을 송신하는데 필요한 전송 채널 리소스들의 양들을 합산하게 하며; 그리고
    상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞는지를 결정하기 위해 데이터 세그먼트들 모두에 의해 요구되는 전송 채널 리소스들의 총 합과 이용 가능한 전송 채널 리소스들의 양을 비교하게 하기 위한 명령들을 더 포함하는, 컴퓨터 판독 가능한 매체.
  56. 제 55 항에 있어서,
    상기 컴퓨터로 하여금 상기 복수의 데이터 세그먼트들 중 리사이징될 하나 이상의 데이터 세그먼트들을 선택하게 하기 위한 명령들은, 상기 데이터 세그먼트들을 송신하는데 필요한 전송 리소스들의 총 합이 상기 이용 가능한 대역폭의 양보다 클 때, 상기 컴퓨터로 하여금 상기 복수의 데이터 세그먼트들 중 다운사이징될 하나 이상의 데이터 세그먼트들을 선택하게 하기 위한 명령들을 포함하는, 컴퓨터 판독 가능한 매체.
  57. 제 55 항에 있어서,
    상기 컴퓨터로 하여금 상기 복수의 데이터 세그먼트들 중 리사이징될 하나 이상의 데이터 세그먼트들을 선택하게 하기 위한 명령들은, 상기 데이터 세그먼트들을 송신하는데 필요한 전송 리소스들의 총 합이 상기 이용 가능한 대역폭의 양보다 적을 때, 상기 컴퓨터로 하여금 상기 복수의 데이터 세그먼트들 중 업사이징될 하나 이상의 데이터 세그먼트들을 선택하게 하기 위한 명령들을 포함하는, 컴퓨터 판독 가능한 매체.
  58. 제 54 항에 있어서,
    상기 컴퓨터로 하여금 상기 복수의 데이터 세그먼트들 중 하나 이상의 데이터 세그먼트들을 선택하게 하기 위한 명령들은, 상기 컴퓨터로 하여금:
    상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때 다음의 최상 품질 레벨에 대응하는 후속 품질 레벨들을 갖는 하나 이상의 데이터 세그먼트들을 식별하기 위해 상기 품질-레이트 표들을 분석하게 하고;
    현재 품질 레벨들에서 상기 식별된 데이터 세그먼트들의 크기들을 결정하기 위해 상기 품질-레이트 표들을 분석하게 하며; 그리고
    상기 식별된 데이터 세그먼트들 중 상기 현재 품질 레벨에서 최대 추정 크기를 갖는 적어도 하나의 데이터 세그먼트를 선택하게 하기 위한 명령들을 포함하는, 컴퓨터 판독 가능한 매체.
  59. 제 58 항에 있어서,
    상기 컴퓨터로 하여금 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞는지를 결정하게 하기 위한 명령들은 상기 컴퓨터로 하여금 상기 후속 품질 레벨에서 상기 선택된 데이터 세그먼트의 크기를 이용하여 상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하게 하기 위한 명령들을 포함하고;
    상기 컴퓨터로 하여금 상기 복수의 데이터 세그먼트들 중 하나 이상의 데이터 세그먼트들을 선택하게 하기 위한 명령들은 상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때, 상기 컴퓨터로 하여금 상기 복수의 데이터 세그먼트들과 관련된 품질 및 레이트 정보에 기초하여 리사이징될 하나 이상의 추가의 데이터 세그먼트들을 선택하게 하기 위한 명령들을 포함하는, 컴퓨터 판독 가능한 매체.
  60. 제 54 항에 있어서,
    상기 컴퓨터로 하여금 상기 복수의 데이터 세그먼트들 중 하나 이상의 데이터 세그먼트들을 선택하게 하기 위한 명령들은, 상기 컴퓨터로 하여금:
    상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때 다음의 최상 품질 레벨에 대응하는 후속 품질 레벨들을 갖는 하나 이상의 데이터 세그먼트들을 식별하기 위해 상기 품질-레이트 표들을 분석하게 하고;
    상기 데이터 세그먼트들 각각에 대해, 현재 품질 레벨에서 식별된 데이터 세그먼트의 크기와 상기 후속 품질 레벨에서 식별된 데이터 세그먼트의 크기 사이의 차이를 계산하게 하며; 그리고
    상기 식별된 데이터 세그먼트들 중 최대 계산된 차이를 갖는 적어도 하나의 데이터 세그먼트를 선택하게 하기 위한 명령들을 포함하는, 컴퓨터 판독 가능한 매체.
  61. 삭제
  62. 제 52 항에 있어서,
    상기 컴퓨터로 하여금 상기 복수의 데이터 세그먼트들 중 리사이징될 하나 이상의 데이터 세그먼트들을 선택하게 하기 위한 명령들은 상기 컴퓨터로 하여금 다음의 등식을 최대화하게 하기 위한 명령들을 포함하며:
    Figure 112011026450722-pct00011
    여기서 n은 데이터 세그먼트들의 총 수이고, QTotal은 상기 데이터 세그먼트들 모두의 전체 품질이고, ki는 i번째 데이터 세그먼트와 관련된 상수이고, ri는 i번째 데이터 세그먼트와 관련된 비트 레이트이고, R은 총 이용 가능한 비트 레이트이고, QVi는 i번째 데이터 세그먼트와 관련된 품질이고,
    Figure 112011026450722-pct00047
    는 i번째 데이터 세그먼트와 관련된 최소 품질이며, wi는 i번째 데이터 세그먼트와 관련된 우선순위인, 컴퓨터 판독 가능한 매체.
  63. 제 52 항에 있어서,
    상기 컴퓨터로 하여금 상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 요청하게 하기 위한 명령들은 상기 컴퓨터로 하여금 상기 선택된 데이터 세그먼트들에 대한 적어도 최대 크기들을 특정하게 하기 위한 명령들을 포함하는, 컴퓨터 판독 가능한 매체.
  64. 제 52 항에 있어서,
    상기 컴퓨터로 하여금 한 기간의 시간에 걸쳐 상기 데이터 세그먼트들의 멀티미디어 데이터를 조합하게 하기 위한 명령들을 더 포함하는, 컴퓨터 판독 가능한 매체.
  65. 제 52 항에 있어서,
    상기 컴퓨터로 하여금:
    리사이징을 위해 선택된 데이터 세그먼트들에 대한 인코딩된 컨텐츠의 전송을 요청하게 하고;
    상기 복수의 데이터 세그먼트들 중 나머지 데이터 세그먼트들에 대한 인코딩된 컨텐츠 전송을 요청하게 하며; 그리고
    상기 요청들에 응답하여 상기 복수의 데이터 세그먼트들 각각에 대한 컨텐츠를 수신하게 하기 위한 명령들을 더 포함하는, 컴퓨터 판독 가능한 매체.
  66. 제 1 항에 있어서,
    상기 인코딩 모듈에서 상기 플로의 데이터 세그먼트와 적어도 품질 및 레이트 정보를 관련시키는 단계; 및
    다중화(multiplex) 처리를 위해 상기 데이터 세그먼트와 관련된 상기 적어도 품질 및 레이트 정보를 상기 인코딩 모듈에서 다중화 서버로 송신하는 단계를 더 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  67. 제 66 항에 있어서,
    상기 인코딩 모듈에서 상기 데이터 세그먼트의 컨텐츠를 분석하는 단계; 및
    상기 인코딩 모듈에서 상기 분석에 기초하여 상기 데이터 세그먼트와 복수의 품질-레이트 곡선들 중 하나를 관련시키는 단계를 더 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  68. 제 67 항에 있어서,
    상기 적어도 품질 및 레이트 정보를 상기 인코딩 모듈에서 상기 다중화 서버로 송신하는 단계는 상기 데이터 세그먼트와 관련된 적어도 상기 품질-레이트 곡선을 상기 인코딩 모듈에서 상기 다중화 서버로 송신하는 단계를 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  69. 제 66 항에 있어서,
    상기 적어도 품질 및 레이트 정보를 상기 인코딩 모듈에서 상기 다중화 서버로 송신하는 단계는 상기 데이터 세그먼트와 관련된 적어도 품질-레이트 표를 상기 인코딩 모듈에서 상기 다중화 서버로 송신하는 단계를 포함하며, 상기 품질-레이트 표는 상기 데이터 세그먼트와 관련된 적어도 하나 이상의 품질 레벨들 및 상기 품질 레벨들 각각에서의 데이터 세그먼트의 크기들을 표시하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  70. 제 69 항에 있어서,
    상기 인코딩 모듈에서 상기 데이터 세그먼트의 컨텐츠를 분석하는 단계;
    상기 인코딩 모듈에서 상기 컨텐츠의 분석에 기초하여 상기 데이터 세그먼트에 대해 복수의 품질-레이트 곡선들 중 하나를 선택하는 단계; 및
    상기 인코딩 모듈에서 상기 선택된 품질-레이트 곡선을 이용하여 상기 데이터 세그먼트와 관련된 품질-레이트 표를 생성하는 단계를 더 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  71. 제 70 항에 있어서,
    상기 인코딩 모듈에서 상기 품질-레이트 표를 생성하는 단계는:
    상기 인코딩 모듈에서 상기 데이터 세그먼트가 인코딩될 수 있는 크기들을 계산하는 단계; 및
    상기 인코딩 모듈에서 상기 선택된 품질-레이트 곡선을 이용하여 상기 크기들 각각과 관련된 품질 레벨들을 결정하는 단계를 포함하며, 상기 품질 레벨들 각각은 인접하는 품질 레벨로부터 품질 증가분(increment)만큼 떨어져 있는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  72. 제 70 항에 있어서,
    상기 인코딩 모듈에서 상기 품질-레이트 표를 생성하는 단계는,
    상기 인코딩 모듈에서 상기 데이터 세그먼트가 인코딩될 수 있는 복수의 품질 레벨들을 계산하는 단계 ― 상기 품질 레벨들 각각은 인접하는 품질 레벨들로부터 품질 증가분만큼 떨어져 있음 ―; 및
    상기 인코딩 모듈에서 상기 선택된 품질-레이트 곡선을 이용하여 상기 품질 레벨들 각각에서 상기 데이터 세그먼트의 크기를 결정하는 단계를 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  73. 제 66 항에 있어서,
    상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보의 송신을 위한 요청을 상기 인코딩 모듈에서 상기 다중화 서버로부터 수신하는 단계; 및
    상기 요청에 응답하여 다중화 처리를 위해 상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보를 상기 인코딩 모듈에서 상기 다중화 서버로 송신하는 단계를 더 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  74. 제 66 항에 있어서,
    상기 데이터 세그먼트의 리사이징을 위한 요청을 상기 인코딩 모듈에서 상기 다중화 서버로부터 수신하는 단계; 및
    상기 인코딩 모듈에서 상기 요청에 응답하여 상기 데이터 세그먼트를 리사이징하는 단계를 더 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  75. 제 74 항에 있어서,
    상기 리사이징된 데이터 세그먼트에 대한 컨텐츠의 전송을 위한 요청을 상기 인코딩 모듈에서 상기 다중화 서버로부터 수신하는 단계; 및
    상기 요청에 응답하여 다중화 처리를 위해 상기 리사이징된 데이터 세그먼트에 대한 컨텐츠를 상기 인코딩 모듈에서 상기 다중화 서버로 송신하는 단계를 더 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  76. 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템으로서,
    인코딩 장치; 및
    플로 조합 장치를 포함하며,
    상기 인코딩 장치는,
    상기 플로의 데이터 세그먼트와 적어도 품질 및 레이트 정보를 관련시키도록 구성된 컨텐츠 분류 모듈; 및
    다중화 처리를 위해 상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보를 송신하도록 구성된 인코딩 모듈을 포함하고,
    상기 플로 조합 장치는,
    상기 디지털 멀티미디어 데이터의 플로들과 관련된 복수의 데이터 세그먼트들에 대한 적어도 품질 및 레이트 정보를 수신하도록 구성된 데이터 수집 모듈;
    상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하도록 구성된 할당 모듈;
    상기 복수의 데이터 세그먼트들과 관련된 상기 품질 및 레이트 정보를 분석하도록 구성된 분석 모듈; 및
    상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때, 상기 분석을 기초로 상기 복수의 데이터 세그먼트들 중 감소한 크기들에서 품질에 최소량의 영향을 갖는 리사이징될 하나 이상의 데이터 세그먼트들을 선택하고, 상기 복수의 데이터 세그먼트들에 대한 상기 이용 가능한 대역폭을 달성하기 위해 상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 요청하도록 구성된 선택 모듈을 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  77. 제 76 항에 있어서,
    상기 컨텐츠 분류 모듈은 상기 데이터 세그먼트의 컨텐츠를 분석하고 상기 분석에 기초하여 상기 데이터 세그먼트와 복수의 품질-레이트 곡선들 중 하나를 관련시키도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  78. 제 77 항에 있어서,
    상기 인코딩 모듈은 상기 데이터 세그먼트와 관련된 적어도 상기 품질-레이트 곡선들을 송신하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  79. 제 76 항에 있어서,
    상기 인코딩 모듈은 상기 데이터 세그먼트와 관련된 적어도 품질-레이트 표를 송신하도록 구성되며, 상기 품질-레이트 표는 상기 데이터 세그먼트와 관련된 적어도 하나 이상의 품질 레벨들과 상기 품질 레벨들 각각에서의 상기 데이터 세그먼트의 크기들을 표시하는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  80. 제 79 항에 있어서,
    상기 컨텐츠 분류 모듈은 상기 데이터 세그먼트의 컨텐츠를 분석하고 상기 컨텐츠의 분석에 기초하여 상기 데이터 세그먼트에 대한 복수의 품질-레이트 곡선들 중 하나를 선택하도록 구성되며;
    상기 시스템은 상기 선택된 품질-레이트 곡선을 이용하여 상기 데이터 세그먼트와 관련된 품질-레이트 표를 생성하도록 구성된 품질 및 레이트 정보 생성 모듈을 더 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  81. 제 80 항에 있어서,
    상기 품질 및 레이트 정보 생성 모듈은 상기 데이터 세그먼트가 인코딩될 수 있는 크기들을 계산하고 상기 선택된 품질-레이트 곡선을 이용하여 상기 크기들 각각과 관련된 품질 레벨들을 결정하도록 구성되며, 상기 품질 레벨들 각각은 인접하는 품질 레벨로부터 품질 증가분만큼 떨어져 있는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  82. 제 80 항에 있어서,
    상기 품질 및 레이트 정보 생성 모듈은 상기 데이터 세그먼트가 인코딩될 수 있는 복수의 품질 레벨들을 계산하며 ― 상기 품질 레벨들 각각은 인접하는 품질 레벨들로부터 품질 증가분만큼 떨어져 있음 ―, 상기 선택된 품질-레이트 곡선을 이용하여 상기 품질 레벨들 각각에서 상기 데이터 세그먼트의 크기를 결정하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  83. 제 76 항에 있어서,
    상기 인코딩 모듈은 상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보의 송신을 위한 요청을 수신하고, 상기 요청에 응답하여 다중화 처리를 위해 상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보를 송신하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  84. 제 76 항에 있어서,
    상기 데이터 세그먼트의 리사이징을 위한 요청을 수신하며 상기 요청에 응답하여 상기 데이터 세그먼트를 리사이징하도록 구성되는 리사이징 모듈을 더 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  85. 제 84 항에 있어서,
    상기 인코딩 모듈은 상기 리사이징된 데이터 세그먼트에 대한 컨텐츠의 전송을 위한 요청을 수신하며, 상기 요청에 응답하여 다중화 처리를 위해 상기 리사이징된 데이터 세그먼트에 대한 컨텐츠를 송신하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  86. 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템으로서,
    상기 플로의 데이터 세그먼트와 적어도 품질 및 레이트 정보를 관련시키기 위한 수단;
    다중화 처리를 위해 상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보를 송신하기 위한 수단;
    상기 디지털 멀티미디어 데이터의 플로들과 관련된 복수의 데이터 세그먼트들에 대한 적어도 품질 및 레이트 정보를 수신하기 위한 수단;
    상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하기 위한 수단;
    상기 복수의 데이터 세그먼트들과 관련된 상기 품질 및 레이트 정보를 분석하기 위한 수단;
    상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때, 상기 분석을 기초로 상기 복수의 데이터 세그먼트들 중 감소한 크기들에서 품질에 최소량의 영향을 갖는 리사이징될 하나 이상의 데이터 세그먼트들을 선택하기 위한 수단; 및
    상기 복수의 데이터 세그먼트들에 대한 상기 이용 가능한 대역폭을 달성하도록 상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 요청하기 위한 수단을 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  87. 제 86 항에 있어서,
    상기 관련시키기 위한 수단은 상기 데이터 세그먼트의 컨텐츠를 분석하고 상기 분석에 기초하여 상기 데이터 세그먼트와 복수의 품질-레이트 곡선들 중 하나를 관련시키도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  88. 제 87 항에 있어서,
    상기 송신하기 위한 수단은 상기 데이터 세그먼트와 관련된 적어도 상기 품질-레이트 곡선을 송신하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  89. 제 86 항에 있어서,
    상기 송신하기 위한 수단은 상기 데이터 세그먼트와 관련된 적어도 품질-레이트 표를 송신하도록 구성되며, 상기 품질-레이트 표는 상기 데이터 세그먼트와 관련된 적어도 하나 이상의 품질 레벨들과 상기 품질 레벨들 각각에서의 데이터 세그먼트의 크기들을 표시하는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  90. 제 89 항에 있어서,
    상기 관련시키기 위한 수단은 상기 데이터 세그먼트의 컨텐츠를 분석하고 상기 컨텐츠의 분석에 기초하여 상기 데이터 세그먼트에 대해 복수의 품질-레이트 곡선들 중 하나를 선택하도록 구성되며;
    상기 시스템은 상기 선택된 품질-레이트 곡선을 이용하여 상기 데이터 세그먼트와 관련된 품질-레이트 표를 생성하기 위한 수단을 더 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  91. 제 90 항에 있어서,
    상기 생성하기 위한 수단은 상기 데이터 세그먼트가 인코딩될 수 있는 크기들을 계산하고 상기 선택된 품질-레이트 곡선을 이용하여 상기 크기들 각각과 관련된 품질 레벨들을 결정하도록 구성되며, 상기 품질 레벨들 각각은 인접하는 품질 레벨로부터 품질 증가분만큼 떨어져 있는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  92. 제 90 항에 있어서,
    상기 생성하기 위한 수단은 상기 데이터 세그먼트가 인코딩될 수 있는 복수의 품질 레벨들을 계산하고 ― 상기 품질 레벨들 각각은 인접하는 품질 레벨들로부터 품질 증가분만큼 떨어져 있음 ―, 상기 선택된 품질-레이트 곡선을 이용하여 상기 품질 레벨들 각각에서 상기 데이터 세그먼트의 크기를 결정하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  93. 제 86 항에 있어서,
    상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보의 송신을 위한 요청을 수신하기 위한 수단을 더 포함하며; 및
    상기 송신하기 위한 수단은 상기 요청에 응답하여 다중화 처리를 위해 상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보를 송신하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  94. 제 86 항에 있어서,
    상기 데이터 세그먼트의 리사이징을 위한 요청을 수신하기 위한 수단; 및
    상기 요청에 응답하여 상기 데이터 세그먼트를 리사이징하기 위한 수단을 더 포함하며,
    상기 송신하기 위한 수단은 다중화 처리를 위해 상기 리사이징된 데이터 세그먼트에 대한 컨텐츠를 송신하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  95. 프로세서 시스템으로서,
    디지털 비디오 데이터를 처리하기 위한 제 1 프로세서; 및
    디지털 비디오 데이터를 처리하기 위한 제 2 프로세서를 포함하며,
    상기 제 1 프로세서는:
    플로의 데이터 세그먼트와 품질 및 레이트 정보를 관련시키고; 그리고
    상기 데이터 세그먼트와 관련된 상기 품질 및 레이트 정보를 다중화 장치에 송신하도록 구성되며,
    상기 제 2 프로세서는,
    디지털 멀티미디어 데이터의 플로들과 관련된 복수의 데이터 세그먼트들에 대한 품질 및 레이트 정보를 수신하고;
    상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하고;
    상기 복수의 데이터 세그먼트들과 관련된 상기 품질 및 레이트 정보를 분석하고;
    상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때, 상기 분석을 기초로 상기 복수의 데이터 세그먼트들 중 감소한 크기들에서 품질에 최소량의 영향을 갖는 리사이징될 하나 이상의 데이터 세그먼트들을 선택하며; 그리고
    상기 복수의 데이터 세그먼트들에 대한 상기 이용 가능한 대역폭을 달성하기 위해 상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 요청하도록 구성되는, 프로세서 시스템.
  96. 제 95 항에 있어서,
    상기 제 1 프로세서는:
    상기 데이터 세그먼트의 컨텐츠를 분석하며; 그리고
    상기 분석에 기초하여 상기 데이터 세그먼트와 복수의 품질-레이트 곡선들 중 하나를 관련시키도록 구성되는, 프로세서 시스템.
  97. 제 96 항에 있어서,
    상기 제 1 프로세서는 상기 데이터 세그먼트와 관련된 적어도 상기 품질-레이트 곡선을 송신하도록 구성되는, 프로세서 시스템.
  98. 제 95 항에 있어서,
    상기 제 1 프로세서는 상기 데이터 세그먼트와 관련된 적어도 품질-레이트 표를 송신하도록 구성되며, 상기 품질-레이트 표는 상기 데이터 세그먼트와 관련된 적어도 하나 이상의 품질 레벨들 및 상기 품질 레벨들 각각에서의 데이터 세그먼트의 크기들을 표시하는, 프로세서 시스템.
  99. 제 98 항에 있어서,
    상기 제 1 프로세서는:
    상기 데이터 세그먼트의 컨텐츠를 분석하고;
    상기 컨텐츠의 분석에 기초하여 상기 데이터 세그먼트에 대해 복수의 품질-레이트 곡선들 중 하나를 선택하며;
    상기 선택된 품질-레이트 곡선을 이용하여 상기 데이터 세그먼트와 관련된 품질-레이트 표를 생성하도록 구성되는, 프로세서 시스템.
  100. 제 99 항에 있어서,
    상기 제 1 프로세서는:
    상기 데이터 세그먼트가 인코딩될 수 있는 크기들을 계산하고; 그리고
    상기 선택된 품질-레이트 곡선을 이용하여 상기 크기들 각각과 관련된 품질 레벨들을 결정하도록 구성되며, 상기 품질 레벨들 각각은 인접하는 품질 레벨로부터 품질 증가분만큼 떨어져 있는, 프로세서 시스템.
  101. 제 99 항에 있어서,
    상기 제 1 프로세서는:
    상기 데이터 세그먼트가 인코딩될 수 있는 복수의 품질 레벨들을 계산하고 ― 상기 품질 레벨들 각각은 인접하는 품질 레벨들로부터 품질 증가분만큼 떨어져 있음 ―; 그리고
    상기 선택된 품질-레이트 곡선을 이용하여 상기 품질 레벨들 각각에서 상기 데이터 세그먼트의 크기를 결정하도록 구성되는, 프로세서 시스템.
  102. 제 95 항에 있어서,
    상기 제 1 프로세서는:
    상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보의 송신을 위한 요청을 수신하고; 그리고
    상기 요청에 응답하여 다중화 처리를 위해 상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보를 송신하도록 구성되는, 프로세서 시스템.
  103. 제 95 항에 있어서,
    상기 제 1 프로세서는:
    상기 데이터 세그먼트의 리사이징을 위한 요청을 수신하고; 그리고
    상기 요청에 응답하여 상기 데이터 세그먼트를 리사이징하도록 구성되는, 프로세서 시스템.
  104. 제 103 항에 있어서,
    상기 제 1 프로세서는:
    상기 리사이징된 데이터 세그먼트에 대한 컨텐츠의 전송을 위한 요청을 수신하고; 그리고
    상기 요청에 응답하여 다중화 처리를 위해 상기 리사이징된 데이터 세그먼트에 대한 컨텐츠를 송신하도록 구성되는, 프로세서 시스템.
  105. 적어도 하나의 컴퓨터로 하여금 디지털 비디오 데이터를 처리하게 하기 위한 명령들을 포함하는 컴퓨터 판독 가능한 매체로서,
    상기 명령들은 상기 적어도 하나의 컴퓨터로 하여금:
    플로의 데이터 세그먼트와 품질 및 레이트 정보를 관련시키게 하며;
    상기 데이터 세그먼트와 관련된 상기 품질 및 레이트 정보를 다중화 장치에 송신하게 하고;
    디지털 멀티미디어 데이터의 플로들과 관련된 복수의 데이터 세그먼트들에 대한 품질 및 레이트 정보를 수신하게 하고;
    상기 복수의 데이터 세그먼트들이 이용 가능한 대역폭 내에 맞는지를 결정하게 하고;
    상기 복수의 데이터 세그먼트들과 관련된 상기 품질 및 레이트 정보를 분석하게 하고;
    상기 복수의 데이터 세그먼트들이 상기 이용 가능한 대역폭 내에 맞지 않을 때 상기 분석을 기초로 상기 복수의 데이터 세그먼트들 중 감소한 크기들에서 품질에 최소량의 영향을 갖는 리사이징될 하나 이상의 데이터 세그먼트들을 선택하게 하며; 그리고
    상기 복수의 데이터 세그먼트들에 대한 상기 이용 가능한 대역폭을 달성하도록 상기 선택된 하나 이상의 데이터 세그먼트들 각각의 리사이징을 요청하게 하는, 컴퓨터 판독 가능한 매체.
  106. 제 105 항에 있어서,
    상기 적어도 하나의 컴퓨터로 하여금:
    상기 데이터 세그먼트의 컨텐츠를 분석하게 하며; 그리고
    상기 분석에 기초하여 상기 데이터 세그먼트와 복수의 품질-레이트 곡선들 중 하나를 관련시키게 하기 위한 명령들을 더 포함하는, 컴퓨터 판독 가능한 매체.
  107. 제 106 항에 있어서,
    상기 적어도 하나의 컴퓨터로 하여금 적어도 상기 품질 및 레이트 정보를 송신하게 하기 위한 명령들은 상기 적어도 하나의 컴퓨터로 하여금 상기 데이터 세그먼트와 관련된 적어도 상기 품질-레이트 곡선을 송신하게 하기 위한 명령들을 포함하는, 컴퓨터 판독 가능한 매체.
  108. 제 105 항에 있어서,
    상기 적어도 하나의 컴퓨터로 하여금 적어도 상기 품질 및 레이트 정보를 송신하게 하기 위한 명령들은 상기 적어도 하나의 컴퓨터로 하여금 상기 데이터 세그먼트와 관련된 적어도 품질-레이트 표를 송신하게 하기 위한 명령들을 포함하며, 상기 품질-레이트 표는 상기 데이터 세그먼트와 관련된 적어도 하나 이상의 품질 레벨들 및 상기 품질 레벨들 각각에서의 데이터 세그먼트의 크기들을 표시하는, 컴퓨터 판독 가능한 매체.
  109. 제 108 항에 있어서,
    상기 적어도 하나의 컴퓨터로 하여금:
    상기 데이터 세그먼트의 컨텐츠를 분석하게 하고;
    상기 컨텐츠의 분석에 기초하여 상기 데이터 세그먼트에 대한 복수의 품질-레이트 곡선들 중 하나를 선택하게 하며; 그리고
    상기 선택된 품질-레이트 곡선을 이용하여 상기 데이터 세그먼트와 관련된 상기 품질-레이트 표를 생성하게 하기 위한 명령들을 더 포함하는, 컴퓨터 판독 가능한 매체.
  110. 제 109 항에 있어서,
    상기 적어도 하나의 컴퓨터로 하여금 상기 품질-레이트 표를 생성하게 하기 위한 명령들은, 상기 적어도 하나의 컴퓨터로 하여금:
    상기 데이터 세그먼트가 인코딩될 수 있는 크기들을 계산하게 하며; 그리고
    상기 선택된 품질-레이트 곡선을 이용하여 상기 크기들 각각과 관련된 품질 레벨들을 결정하게 하기 위한 명령들을 더 포함하며, 상기 품질 레벨들 각각은 인접 품질 레벨로부터 품질 증가분만큼 떨어져 있는, 컴퓨터 판독 가능한 매체.
  111. 제 109 항에 있어서,
    상기 적어도 하나의 컴퓨터로 하여금 상기 품질-레이트 표를 생성하게 하기 위한 명령들은, 상기 적어도 하나의 컴퓨터로 하여금:
    상기 데이터 세그먼트가 인코딩될 수 있는 복수의 품질 레벨들을 계산하게 하며 ― 상기 품질 레벨들 각각은 인접 품질 레벨들로부터 품질 증가분만큼 떨어져 있음 ―; 그리고
    상기 선택된 품질-레이트 곡선을 이용하여 상기 품질 레벨들 각각에서의 데이터 세그먼트의 크기를 결정하게 하기 위한 명령들을 포함하는, 컴퓨터 판독 가능한 매체.
  112. 제 105 항에 있어서,
    상기 적어도 하나의 컴퓨터로 하여금:
    상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보의 송신을 위한 요청을 수신하게 하며; 그리고
    상기 요청에 응답하여 다중화 처리를 위해 상기 데이터 세그먼트와 관련된 적어도 상기 품질 및 레이트 정보를 송신하게 하기 위한 명령들을 더 포함하는, 컴퓨터 판독 가능한 매체.
  113. 제 105 항에 있어서,
    상기 적어도 하나의 컴퓨터로 하여금:
    상기 데이터 세그먼트의 리사이징을 위한 요청을 수신하게 하며; 그리고
    상기 요청에 응답하여 상기 데이터 세그먼트를 리사이징하게 하기 위한 명령들을 더 포함하는, 컴퓨터 판독 가능한 매체.
  114. 제 113 항에 있어서,
    상기 적어도 하나의 컴퓨터로 하여금:
    상기 리사이징된 데이터 세그먼트에 대한 컨텐츠의 전송을 위한 요청을 수신하게 하며; 및
    상기 요청에 응답하여 다중화 처리를 위해 상기 리사이징된 데이터 세그먼트에 대한 컨텐츠를 송신하게 하기 위한 명령들을 더 포함하는, 컴퓨터 판독 가능한 매체.
  115. 제 1 항에 있어서,
    상기 복수의 데이터 세그먼트들은 품질 레벨들에 관련되고, 상기 품질 레벨들은 최상 품질 레벨 및 다음의 최상 품질 레벨을 포함하며, 상기 방법은 상기 다음의 최상 품질 레벨을 기초로 하나 이상의 데이터 세그먼트들을 선택하는 단계를 포함하는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 방법.
  116. 제 15 항에 있어서,
    상기 복수의 데이터 세그먼트들은 품질 레벨들에 관련되고, 상기 품질 레벨들은 최상 품질 레벨 및 다음의 최상 품질 레벨을 포함하며, 상기 선택 모듈은 상기 다음의 최상 품질 레벨을 기초로 하나 이상의 데이터 세그먼트들을 선택하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  117. 제 29 항에 있어서,
    상기 복수의 데이터 세그먼트들은 품질 레벨들에 관련되고, 상기 품질 레벨들은 최상 품질 레벨 및 다음의 최상 품질 레벨을 포함하며, 상기 선택하기 위한 수단은 상기 다음의 최상 품질 레벨을 기초로 하나 이상의 데이터 세그먼트들을 선택하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하기 위한 장치.
  118. 제 38 항에 있어서,
    상기 복수의 데이터 세그먼트들은 품질 레벨들에 관련되고, 상기 품질 레벨들은 최상 품질 레벨 및 다음의 최상 품질 레벨을 포함하며, 상기 프로세서는 상기 다음의 최상 품질 레벨을 기초로 하나 이상의 데이터 세그먼트들을 선택하도록 구성되는, 디지털 비디오 데이터를 처리하기 위한 프로세서.
  119. 제 52 항에 있어서,
    상기 복수의 데이터 세그먼트들은 품질 레벨들에 관련되고, 상기 품질 레벨들은 최상 품질 레벨 및 다음의 최상 품질 레벨을 포함하며, 상기 컴퓨터 판독 가능 매체는 상기 컴퓨터로 하여금 상기 다음의 최상 품질 레벨을 기초로 하나 이상의 데이터 세그먼트들을 선택하게 하기 위한 명령들을 포함하는, 컴퓨터 판독 가능한 매체.
  120. 제 76 항에 있어서,
    상기 복수의 데이터 세그먼트들은 품질 레벨들에 관련되고, 상기 품질 레벨들은 최상 품질 레벨 및 다음의 최상 품질 레벨을 포함하며, 상기 선택 모듈은 상기 다음의 최상 품질 레벨을 기초로 하나 이상의 데이터 세그먼트들을 선택하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  121. 제 86 항에 있어서,
    상기 복수의 데이터 세그먼트들은 품질 레벨들에 관련되고, 상기 품질 레벨들은 최상 품질 레벨 및 다음의 최상 품질 레벨을 포함하며, 상기 선택하기 위한 수단은 상기 다음의 최상 품질 레벨을 기초로 하나 이상의 데이터 세그먼트들을 선택하도록 구성되는, 디지털 멀티미디어 데이터의 플로들을 조합하고 인코딩하기 위한 시스템.
  122. 제 95 항에 있어서,
    상기 복수의 데이터 세그먼트들은 품질 레벨들에 관련되고, 상기 품질 레벨들은 최상 품질 레벨 및 다음의 최상 품질 레벨을 포함하며, 상기 제 2 프로세서는 상기 다음의 최상 품질 레벨을 기초로 하나 이상의 데이터 세그먼트들을 선택하도록 구성되는, 프로세서 시스템.
  123. 제 105 항에 있어서,
    상기 복수의 데이터 세그먼트들은 품질 레벨들에 관련되고, 상기 품질 레벨들은 최상 품질 레벨 및 다음의 최상 품질 레벨을 포함하며, 상기 컴퓨터 판독 가능한 매체는 상기 적어도 하나의 컴퓨터로 하여금 상기 다음의 최상 품질 레벨을 기초로 하나 이상의 데이터 세그먼트들을 선택하게 하기 위한 명령들을 포함하는, 컴퓨터 판독 가능한 매체.
KR1020097018007A 2007-01-30 2008-01-30 품질 및 레이트 정보에 기초하여 멀티미디어 컨텐츠를 리사이징하는 방법 및 시스템 KR101151924B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/700,369 2007-01-30
US11/700,369 US7974193B2 (en) 2005-04-08 2007-01-30 Methods and systems for resizing multimedia content based on quality and rate information
PCT/US2008/052497 WO2008095020A2 (en) 2007-01-30 2008-01-30 Methods and systems for resizing multimedia content based on quality and rate information

Publications (2)

Publication Number Publication Date
KR20090102878A KR20090102878A (ko) 2009-09-30
KR101151924B1 true KR101151924B1 (ko) 2012-07-11

Family

ID=39591234

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097018007A KR101151924B1 (ko) 2007-01-30 2008-01-30 품질 및 레이트 정보에 기초하여 멀티미디어 컨텐츠를 리사이징하는 방법 및 시스템

Country Status (10)

Country Link
US (3) US7974193B2 (ko)
EP (2) EP2109975A2 (ko)
JP (2) JP2010517486A (ko)
KR (1) KR101151924B1 (ko)
CN (1) CN101601249B (ko)
BR (1) BRPI0807846A2 (ko)
CA (1) CA2674916A1 (ko)
RU (1) RU2009132469A (ko)
TW (1) TWI437866B (ko)
WO (1) WO2008095020A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220000365A (ko) * 2020-06-25 2022-01-03 디즈니엔터프라이지즈,인크. 세그먼트 품질 안내 적응적 스트림 생성

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904458B2 (en) * 2004-07-29 2014-12-02 At&T Intellectual Property I, L.P. System and method for pre-caching a first portion of a video file on a set-top box
US7974193B2 (en) * 2005-04-08 2011-07-05 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US8582905B2 (en) * 2006-01-31 2013-11-12 Qualcomm Incorporated Methods and systems for rate control within an encoding device
US20070201388A1 (en) * 2006-01-31 2007-08-30 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US8582647B2 (en) * 2007-04-23 2013-11-12 Qualcomm Incorporated Methods and systems for quality controlled encoding
US8154983B2 (en) * 2008-03-25 2012-04-10 Samsung Electronics Co., Ltd. System and method for the placement of rank information in a physical uplink shared channel
CN102090069B (zh) 2008-06-09 2014-04-30 维德约股份有限公司 可缩放视频和音频通信系统中的改进视图布局管理
US20090327074A1 (en) * 2008-06-30 2009-12-31 Motorola, Inc Method and apparatus for advertising spectrum in a communication system
US8463932B2 (en) * 2008-08-28 2013-06-11 Red Hat, Inc. Fast HTTP seeking
EP2619909A4 (en) * 2010-09-20 2016-03-30 Onecodec Ltd SYSTEM AND METHOD FOR CODING AND DECODING
US9154797B2 (en) 2010-09-20 2015-10-06 Onecodec, Limited Systems and methods for encoding and decoding
JP5837621B2 (ja) * 2011-02-11 2015-12-24 インターデイジタル パテント ホールディングス インコーポレイテッド コンテンツの配信および受信の方法および装置
US10025787B2 (en) 2011-08-17 2018-07-17 Bevara Technologies, Llc Systems and methods for selecting digital data for archival
US10129556B2 (en) 2014-05-16 2018-11-13 Bevara Technologies, Llc Systems and methods for accessing digital data
EP2566171A1 (en) * 2011-09-02 2013-03-06 Thomson Licensing Method for adapting the segment size in transcoded multimedia streams
WO2013043919A1 (en) * 2011-09-21 2013-03-28 General Instrument Corporation Constrained fidelity adaptive bitrate encoding systems and methods
US20140354770A1 (en) * 2011-12-27 2014-12-04 Lg Electronics Inc. Digital broadcast receiving method for displaying three-dimensional image, and receiving device thereof
US20130208786A1 (en) * 2012-02-15 2013-08-15 Wei Xiong Content Adaptive Video Processing
US20130286227A1 (en) * 2012-04-30 2013-10-31 T-Mobile Usa, Inc. Data Transfer Reduction During Video Broadcasts
US9680559B1 (en) * 2012-09-05 2017-06-13 RKF Engineering Solutions, LLC Hierarchichal beam management
US8606938B1 (en) 2012-09-27 2013-12-10 Ringcentral, Inc. High availability for cloud-based services
FR2996707B1 (fr) * 2012-10-05 2015-08-28 France Brevets Procede de formatage d'un flux video pour terminaux mobiles
WO2014082220A1 (zh) * 2012-11-28 2014-06-05 华为技术有限公司 空口速率调整方法、网络侧设备和用户设备
US20140241445A1 (en) * 2013-02-28 2014-08-28 Univerza V Ljubljani, Fakulteta Za Elektrotehniko Method for providing quality of service in a multiuser orthogonal frequency division multiplex (OFDM) system
US9661331B2 (en) * 2013-03-18 2017-05-23 Vantrix Corporation Method and apparatus for signal encoding realizing optimal fidelity
US9338450B2 (en) 2013-03-18 2016-05-10 Ecole De Technologie Superieure Method and apparatus for signal encoding producing encoded signals of high fidelity at minimal sizes
US10609405B2 (en) 2013-03-18 2020-03-31 Ecole De Technologie Superieure Optimal signal encoding based on experimental data
US20140321532A1 (en) * 2013-04-26 2014-10-30 Devadutta Ghat Techniques for coordinating parallel video transcoding
US20140334553A1 (en) * 2013-05-07 2014-11-13 Magnum Semiconductor, Inc. Methods and apparatuses including a statistical multiplexer with bitrate smoothing
JP2014229985A (ja) * 2013-05-20 2014-12-08 富士通株式会社 通信システム、通信制御方法、移動局、及び、制御装置
KR101497232B1 (ko) * 2013-09-16 2015-02-27 경북대학교 산학협력단 적응형 멀티미디어 스트리밍 시스템 및 방법
US8850055B1 (en) 2013-09-17 2014-09-30 Google Inc. Intelligently streaming portions of media at higher quality over a limited bandwidth connection
WO2015176009A1 (en) 2014-05-16 2015-11-19 Bevara Technologies, Llc Systems and methods for selecting digital data for archival
JP6610960B2 (ja) 2014-06-20 2019-11-27 ソニー株式会社 送信装置および送信方法、並びに受信装置および受信方法
US9560393B2 (en) * 2015-02-20 2017-01-31 Disney Enterprises, Inc. Media processing node
DE102015205478A1 (de) * 2015-03-26 2016-09-29 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Vorrichtung zur Konfiguration einer Übertragungsverbindung
WO2016203750A1 (ja) * 2015-06-19 2016-12-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 送信方法、受信方法、送信装置、及び受信装置
JP6231046B2 (ja) * 2015-06-24 2017-11-15 株式会社ドワンゴ 動画データ配信管理装置、動画データ配信管理方法、プログラム
US10182057B1 (en) 2015-07-29 2019-01-15 Avi Networks Highly scalable fine grained rate limiting
US10999398B1 (en) * 2015-09-01 2021-05-04 Vmware, Inc. Scan protection with rate limiting
US10602157B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Variable bitrate control for distributed video encoding
US10499070B2 (en) 2015-09-11 2019-12-03 Facebook, Inc. Key frame placement for distributed video encoding
US10602153B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Ultra-high video compression
US10506235B2 (en) * 2015-09-11 2019-12-10 Facebook, Inc. Distributed control of video encoding speeds
US10341561B2 (en) 2015-09-11 2019-07-02 Facebook, Inc. Distributed image stabilization
US10063872B2 (en) 2015-09-11 2018-08-28 Facebook, Inc. Segment based encoding of video
US10375156B2 (en) 2015-09-11 2019-08-06 Facebook, Inc. Using worker nodes in a distributed video encoding system
US10834406B2 (en) 2016-12-12 2020-11-10 Netflix, Inc. Device-consistent techniques for predicting absolute perceptual video quality
US11197044B2 (en) * 2017-03-28 2021-12-07 Nec Corporation Communication apparatus, media distribution system, media distribution method, and non-transitory computer readable medium
US10873781B2 (en) * 2017-06-13 2020-12-22 Comcast Cable Communications, Llc Video fragment file processing
EP3740882A1 (en) 2018-01-18 2020-11-25 Bevara Technologies, LLC Browser navigation for facilitating data access
US20190245749A1 (en) * 2018-02-06 2019-08-08 Cisco Technology, Inc. Optimizing cloud resources for abr systems
CN108764353B (zh) * 2018-05-25 2021-11-30 中国电力科学研究院有限公司 基于匹配度的大规模电力系统功率曲线分类方法
US10803025B2 (en) * 2018-09-06 2020-10-13 At&T Intellectual Property I, L.P. System and process for scalable and secure content delivery
JP7390159B2 (ja) * 2019-10-28 2023-12-01 日本放送協会 送信装置及び受信装置
US11638050B1 (en) * 2019-12-09 2023-04-25 Amazon Technologies. Inc. Managing video encoders utilizing IoT-based communications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040220966A1 (en) * 2003-05-02 2004-11-04 Justin Ridge Method and apparatus for providing a multimedia data stream
WO2006110876A2 (en) * 2005-04-08 2006-10-19 Qualcomm Incorporated Methods and apparatus for enhanced delivery of content over a data network

Family Cites Families (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0720204B2 (ja) 1990-05-29 1995-03-06 三洋電機株式会社 水平位相同期回路
US5426463A (en) 1993-02-22 1995-06-20 Rca Thomson Licensing Corporation Apparatus for controlling quantizing in a video signal compressor
JP3778960B2 (ja) 1994-06-29 2006-05-24 株式会社東芝 動画像符号化方法及び装置
GB9517130D0 (en) * 1995-08-22 1995-10-25 Nat Transcommunications Ltd Statistical multiplexing
US5686963A (en) 1995-12-26 1997-11-11 C-Cube Microsystems Method for performing rate control in a video encoder which provides a bit budget for each frame while employing virtual buffers and virtual buffer verifiers
US5764632A (en) 1996-04-01 1998-06-09 Nokia Mobile Phones Limited Mobile terminal having improved paging channel acquisition in a system using a digital control channel
US6366614B1 (en) 1996-10-11 2002-04-02 Qualcomm Inc. Adaptive rate control for digital video compression
US6038256A (en) 1996-12-31 2000-03-14 C-Cube Microsystems Inc. Statistical multiplexed video encoding using pre-encoding a priori statistics and a priori and a posteriori statistics
US6115420A (en) 1997-03-14 2000-09-05 Microsoft Corporation Digital video signal encoder and encoding method
US5844613A (en) 1997-03-17 1998-12-01 Microsoft Corporation Global motion estimator for motion video signal encoding
JP3637996B2 (ja) 1997-03-28 2005-04-13 シャープ株式会社 領域統合が可能な動き補償フレーム間予測方式を用いた動画像符号化・復号化装置
EP0935369B1 (en) * 1997-07-23 2012-05-02 NTT DoCoMo, Inc. Multiplex transmission system and band control method
US6091777A (en) 1997-09-18 2000-07-18 Cubic Video Technologies, Inc. Continuously adaptive digital video compression system and method for a web streamer
US6185253B1 (en) 1997-10-31 2001-02-06 Lucent Technology, Inc. Perceptual compression and robust bit-rate control system
US6243495B1 (en) 1998-02-13 2001-06-05 Grass Valley (Us) Inc. Method a group of picture structure in MPEG video
US6278735B1 (en) 1998-03-19 2001-08-21 International Business Machines Corporation Real-time single pass variable bit rate control strategy and encoder
JP2995177B1 (ja) 1998-07-10 1999-12-27 株式会社ディジタル・ビジョン・ラボラトリーズ ストリーム配信システム
DE19834975A1 (de) 1998-08-03 2000-02-17 Siemens Ag Verfahren zum Umschalten einer ersten auf eine zweite Kommunikationsverbindung, die jeweils zwischen einem ersten und einem zweiten Kommunikationssystem bestehen
JP2000092471A (ja) * 1998-09-09 2000-03-31 Matsushita Electric Ind Co Ltd ビデオサーバ装置、その帯域管理方法、及び帯域管理プログラムを記録した記録媒体
US6256423B1 (en) 1998-09-18 2001-07-03 Sarnoff Corporation Intra-frame quantizer selection for video compression
CA2314232C (en) 1998-11-09 2004-05-11 Samsung Electronics Co., Ltd. Reservation multiple access in a cdma communications system
US6310915B1 (en) 1998-11-20 2001-10-30 Harmonic Inc. Video transcoder with bitstream look ahead for rate control and statistical multiplexing
DE19860757A1 (de) 1998-12-23 2000-06-29 Teles Ag Verfahren zur Übertragung von Daten und Switch-Einrichtung zur Durchführung des Verfahrens
FI106998B (fi) 1999-01-15 2001-05-15 Nokia Mobile Phones Ltd Bittinopeuden ohjaus multimedialaitteessa
US6539124B2 (en) 1999-02-03 2003-03-25 Sarnoff Corporation Quantizer selection based on region complexities derived using a rate distortion model
JP2000324498A (ja) 1999-05-13 2000-11-24 Nec Corp 動画像符号化装置
JP3372221B2 (ja) 1999-06-16 2003-01-27 日本ビクター株式会社 記録装置
US6725054B1 (en) 1999-06-28 2004-04-20 Samsung Electronics Co., Ltd. Apparatus and method of controlling forward link power when in discontinuous transmission mode in a mobile communication system
US6639942B1 (en) 1999-10-21 2003-10-28 Toshiba America Electronic Components, Inc. Method and apparatus for estimating and controlling the number of bits
JP2001136139A (ja) 1999-11-05 2001-05-18 Sony Corp 多重化装置及び多重化方法
AU4338800A (en) 1999-12-22 2001-07-03 General Instrument Corporation Video compression for multicast environments using spatial scalability and simulcast coding
US6542546B1 (en) 2000-02-02 2003-04-01 Mitsubishi Electric Research Laboratories, Inc. Adaptable compressed bitstream transcoder
US6574279B1 (en) * 2000-02-02 2003-06-03 Mitsubishi Electric Research Laboratories, Inc. Video transcoding using syntactic and semantic clues
US6674796B1 (en) 2000-02-14 2004-01-06 Harmonic, Inc. Statistical multiplexed video encoding for diverse video formats
US6493331B1 (en) * 2000-03-30 2002-12-10 Qualcomm Incorporated Method and apparatus for controlling transmissions of a communications systems
JP2002010260A (ja) 2000-06-27 2002-01-11 Mitsubishi Electric Corp 動きベクトル検出方法及び動画像符号化装置
GB2364843A (en) 2000-07-14 2002-02-06 Sony Uk Ltd Data encoding based on data quantity and data quality
US6889383B1 (en) * 2000-10-23 2005-05-03 Clearplay, Inc. Delivery of navigation data for playback of audio and video content
EP1338125A2 (en) * 2000-11-03 2003-08-27 AT & T Corp. Tiered contention multiple access (tcma): a method for priority-based shared channel access
DE10055422A1 (de) 2000-11-09 2002-05-29 Alcatel Sa Verfahren, Vorrichtungen und Programm-Module zur Datenübertragung mit gesicherter Dienstqualität
AU2002241594A1 (en) 2000-12-05 2002-07-30 Denso Corporation Minimum interference multiple-access method and system for connection rescue
US7010319B2 (en) 2001-01-19 2006-03-07 Denso Corporation Open-loop power control enhancement for blind rescue channel operation
US6977915B2 (en) 2001-01-30 2005-12-20 Nortel Networks Limited Method and system for controlling device transmit power in a wireless communication network
KR100387044B1 (ko) 2001-02-01 2003-06-12 삼성전자주식회사 무선통신 시스템에서 패킷 호 서비스의 제공방법
US7042897B1 (en) 2001-04-05 2006-05-09 Arcwave, Inc Medium access control layer protocol in a distributed environment
US7042856B2 (en) 2001-05-03 2006-05-09 Qualcomm, Incorporation Method and apparatus for controlling uplink transmissions of a wireless communication system
US6526031B1 (en) 2001-06-21 2003-02-25 Motorola, Inc. Forward power control determination in spread spectrum communications systems
CN1547861A (zh) 2001-06-27 2004-11-17 ���˹���Ѷ��� 无线通信系统中控制信息的传递
AU2002317073A1 (en) 2001-06-27 2003-03-03 Nortel Networks Limited Mapping information in wireless communications systems
JP4712238B2 (ja) 2001-07-30 2011-06-29 パナソニック株式会社 映像信号符号化装置、映像信号送信装置、および映像信号符号化方法
US20030040315A1 (en) 2001-08-20 2003-02-27 Farideh Khaleghi Reduced state transition delay and signaling overhead for mobile station state transitions
US7646816B2 (en) * 2001-09-19 2010-01-12 Microsoft Corporation Generalized reference decoder for image or video processing
US7302102B2 (en) 2001-09-26 2007-11-27 Reynolds Jodie L System and method for dynamically switching quality settings of a codec to maintain a target data rate
US6959042B1 (en) 2001-10-01 2005-10-25 Cisco Technology, Inc. Methods and apparatus for measuring compressed video signals and applications to statistical remultiplexing
KR100830491B1 (ko) 2001-10-31 2008-05-21 엘지전자 주식회사 순방향 공통 전력 제어 채널의 전력 제어 방법
US7277415B2 (en) * 2001-11-02 2007-10-02 At&T Corp. Staggered startup for cyclic prioritized multiple access (CPMA) contention-free sessions
US7248600B2 (en) * 2001-11-02 2007-07-24 At&T Corp. ‘Shield’: protecting high priority channel access attempts in overlapped wireless cells
US7180905B2 (en) * 2001-11-02 2007-02-20 At & T Corp. Access method for periodic contention-free sessions
US7280517B2 (en) * 2001-11-02 2007-10-09 At&T Corp. Wireless LANs and neighborhood capture
US7245605B2 (en) * 2001-11-02 2007-07-17 At&T Corp. Preemptive packet for maintaining contiguity in cyclic prioritized multiple access (CPMA) contention-free sessions
US20030093515A1 (en) * 2001-11-14 2003-05-15 Kauffman Marc W. Quality of service control of streamed content delivery
US20030112366A1 (en) 2001-11-21 2003-06-19 General Instrument Corporation Apparatus and methods for improving video quality delivered to a display device
US20030110297A1 (en) 2001-12-12 2003-06-12 Tabatabai Ali J. Transforming multimedia data for delivery to multiple heterogeneous devices
US20030185369A1 (en) * 2002-03-29 2003-10-02 Oliver Neal C. Telephone conference bridge provided via a plurality of computer telephony resource algorithms
US7659907B1 (en) 2002-03-29 2010-02-09 Graphics Properties Holdings, Inc. System and method for providing dynamic control of a graphics session
JP3716225B2 (ja) 2002-04-05 2005-11-16 松下電器産業株式会社 符号量制御装置および符号量制御方法
AU2003280512A1 (en) 2002-07-01 2004-01-19 E G Technology Inc. Efficient compression and transport of video over a network
US20040028139A1 (en) 2002-08-06 2004-02-12 Andre Zaccarin Video encoding
US7453837B2 (en) 2002-08-15 2008-11-18 Zteit Usa, Inc. Trunking system for CDMA wireless communication
JP4390112B2 (ja) 2002-09-05 2009-12-24 エージェンシー フォー サイエンス,テクノロジー アンド リサーチ ビデオシーケンスのレートを制御する方法及び装置並びにビデオ符号化装置
AU2003259568A1 (en) 2002-09-06 2004-03-29 Matsushita Electric Industrial Co., Ltd. Methods for performing medium dedication in order to ensure the quality of service for delivering real-time data across wireless network
JP3893344B2 (ja) 2002-10-03 2007-03-14 松下電器産業株式会社 画像符号化方法および画像符号化装置
JP2004228837A (ja) 2003-01-22 2004-08-12 Matsushita Electric Ind Co Ltd デジタル放送の蓄積時間保証方法及び装置
JP4349816B2 (ja) * 2003-02-17 2009-10-21 株式会社リコー 画像処理装置、画像圧縮装置、画像処理方法、画像圧縮方法、プログラム、及び記録媒体
US7835437B1 (en) 2003-03-10 2010-11-16 Ji Zhang Statistical remultiplexing of compressed video segments
JP2004349855A (ja) 2003-05-20 2004-12-09 Mitsubishi Electric Corp 符号化装置
KR100651541B1 (ko) * 2003-07-30 2006-11-28 삼성전자주식회사 직교 주파수 분할 다중 접속 방식을 사용하는 이동 통신시스템에서 레인징 방법
WO2005022810A2 (en) * 2003-08-27 2005-03-10 Interdigital Technology Corporation Subcarrier and bit allocation for real time services in multiuser orthogonal frequency division multiplex (ofdm) systems
US7400642B2 (en) * 2003-08-29 2008-07-15 Samsung Electronics Co., Ltd Apparatus and method for controlling operational states of medium access control layer in a broadband wireless access communication system
US20050063330A1 (en) * 2003-09-20 2005-03-24 Samsung Electronics Co., Ltd. Method for uplink bandwidth request and allocation based on a quality of service class in a broadband wireless access communication system
US20080037420A1 (en) * 2003-10-08 2008-02-14 Bob Tang Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square waveform) TCP friendly san
US6857727B1 (en) 2003-10-23 2005-02-22 Hewlett-Packard Development Company, L.P. Orifice plate and method of forming orifice plate for fluid ejection device
JP2005167514A (ja) * 2003-12-01 2005-06-23 Matsushita Electric Ind Co Ltd ストリーミングデータ通信システム、ストリーミングデータ通信装置及び適正ビットレート検出方法
US20050120128A1 (en) * 2003-12-02 2005-06-02 Wilife, Inc. Method and system of bandwidth management for streaming data
KR100550567B1 (ko) 2004-03-22 2006-02-10 엘지전자 주식회사 무선 네트워크망을 통해 통신하는 서버 시스템 및 그동작방법
JP2006014288A (ja) 2004-05-26 2006-01-12 Matsushita Electric Ind Co Ltd 動きベクトル符号化装置、方法、プログラム及び媒体
US7415241B2 (en) * 2004-06-02 2008-08-19 Motorola, Inc. Method and apparatus for regulating a delivery of a broadcast-multicast service in a packet data communication system
US8005139B2 (en) 2004-06-27 2011-08-23 Apple Inc. Encoding with visual masking
US8406293B2 (en) 2004-06-27 2013-03-26 Apple Inc. Multi-pass video encoding based on different quantization parameters
US7571246B2 (en) 2004-07-29 2009-08-04 Microsoft Corporation Media transrating over a bandwidth-limited network
JP2006191253A (ja) * 2005-01-05 2006-07-20 Matsushita Electric Ind Co Ltd レート変換方法及びレート変換装置
TW200704200A (en) 2005-03-10 2007-01-16 Qualcomm Inc Content classification for multimedia processing
US7974193B2 (en) * 2005-04-08 2011-07-05 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US20070064805A1 (en) 2005-09-16 2007-03-22 Sony Corporation Motion vector selection
US7623458B2 (en) * 2005-09-30 2009-11-24 The Boeing Company System and method for providing integrated services across cryptographic boundaries in a network
US8582905B2 (en) 2006-01-31 2013-11-12 Qualcomm Incorporated Methods and systems for rate control within an encoding device
US20070201388A1 (en) 2006-01-31 2007-08-30 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US7913277B1 (en) 2006-03-30 2011-03-22 Nortel Networks Limited Metadata extraction and re-insertion and improved transcoding in digital media systems
US7746836B2 (en) 2006-10-16 2010-06-29 Motorola, Inc. Method and apparatus for re-registration of connections for service continuity in an agnostic access internet protocol multimedia communication system
US8351513B2 (en) 2006-12-19 2013-01-08 Allot Communications Ltd. Intelligent video signal encoding utilizing regions of interest information
US8630355B2 (en) 2006-12-22 2014-01-14 Qualcomm Incorporated Multimedia data reorganization between base layer and enhancement layer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040220966A1 (en) * 2003-05-02 2004-11-04 Justin Ridge Method and apparatus for providing a multimedia data stream
WO2006110876A2 (en) * 2005-04-08 2006-10-19 Qualcomm Incorporated Methods and apparatus for enhanced delivery of content over a data network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220000365A (ko) * 2020-06-25 2022-01-03 디즈니엔터프라이지즈,인크. 세그먼트 품질 안내 적응적 스트림 생성
KR102501942B1 (ko) 2020-06-25 2023-02-23 디즈니엔터프라이지즈,인크. 세그먼트 품질 안내 적응적 스트림 생성

Also Published As

Publication number Publication date
EP2315385A2 (en) 2011-04-27
EP2315385A3 (en) 2014-04-09
US7974193B2 (en) 2011-07-05
JP2010517486A (ja) 2010-05-20
US20110299587A1 (en) 2011-12-08
WO2008095020A2 (en) 2008-08-07
CN101601249A (zh) 2009-12-09
US20150156498A1 (en) 2015-06-04
EP2109975A2 (en) 2009-10-21
US8885470B2 (en) 2014-11-11
WO2008095020A3 (en) 2008-09-25
TWI437866B (zh) 2014-05-11
KR20090102878A (ko) 2009-09-30
RU2009132469A (ru) 2011-03-10
BRPI0807846A2 (pt) 2014-05-27
JP2013059048A (ja) 2013-03-28
JP5897447B2 (ja) 2016-03-30
CN101601249B (zh) 2013-01-16
US20070274340A1 (en) 2007-11-29
TW200845687A (en) 2008-11-16
CA2674916A1 (en) 2008-08-07

Similar Documents

Publication Publication Date Title
KR101151924B1 (ko) 품질 및 레이트 정보에 기초하여 멀티미디어 컨텐츠를 리사이징하는 방법 및 시스템
KR100988177B1 (ko) 품질 및 레이트 정보에 기초하여 멀티미디어 콘텐츠를 리사이징하기 위한 방법 및 시스템
US7653085B2 (en) Methods and apparatus for enhanced delivery of content over data network
US8792555B2 (en) Methods and systems for resizing multimedia content
Ju et al. QoE-based cross-layer design for video applications over LTE
CN112543508A (zh) 面向5g网络切片的无线资源分配方法及网络架构
Thakolsri et al. QoE-driven cross-layer optimization in wireless networks addressing system efficiency and utility fairness
Fu et al. QoE-based SVC layer dropping in LTE networks using content-aware layer priorities
Koutsakis et al. Video scene identification and classification for user-tailored QoE in GEO satellites
Msakni et al. Ensuring video QoE using HTTP Adaptive Streaming: Issues and challenges
Ozfatura et al. Optimizing playback delay for multiuser video streaming

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20160330

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee