KR101370478B1 - 멀티미디어 전화 통신을 위한 컨텐트- 및 링크-의존 코딩 적응 구조 - Google Patents

멀티미디어 전화 통신을 위한 컨텐트- 및 링크-의존 코딩 적응 구조 Download PDF

Info

Publication number
KR101370478B1
KR101370478B1 KR1020097016651A KR20097016651A KR101370478B1 KR 101370478 B1 KR101370478 B1 KR 101370478B1 KR 1020097016651 A KR1020097016651 A KR 1020097016651A KR 20097016651 A KR20097016651 A KR 20097016651A KR 101370478 B1 KR101370478 B1 KR 101370478B1
Authority
KR
South Korea
Prior art keywords
multimedia data
throughput
coding
access terminal
budget
Prior art date
Application number
KR1020097016651A
Other languages
English (en)
Other versions
KR20090108079A (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 KR20090108079A publication Critical patent/KR20090108079A/ko
Application granted granted Critical
Publication of KR101370478B1 publication Critical patent/KR101370478B1/ko

Links

Images

Classifications

    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1059End-user terminal functionalities specially adapted for real-time communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/54Allocation or scheduling criteria for wireless resources based on quality criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 명세서는 멀티미디어 전화 통신(telephony)을 용이하게 할 수 있는 기술들을 설명한다. 일 예에서, 멀티미디어 데이터의 통신을 위한 방법은, 제 1 액세스 단말에서 네트워크로의 멀티미디어 데이터 통신과 연관되는 제 1 스루풋 레벨을 결정하는 단계, 상기 네트워크를 통한 제 2 액세스 단말에서 상기 제 1 액세스 단말로의 피드백에 기반하여 상기 네트워크에서 상기 제 2 액세스 단말로의 멀티미디어 데이터 통신과 연관된 제 2 스루풋 레벨을 결정하는 단계, 상기 멀티미디어 데이터의 비디오 유닛의 통신과 연관되는 버짓을 결정하는 단계, 및 상기 버짓, 제 1 및 제 2 스루풋 레벨들에 기반하여, 상기 멀티미디어 데이터의 상기 비디오 유닛을 코딩하는 단계를 포함한다.

Description

멀티미디어 전화 통신을 위한 컨텐트- 및 링크-의존 코딩 적응 구조{CONTENT-AND LINK-DEPENDENT CODING ADAPTATION FOR MULTIMEDIA TELEPHONY}
본 명세서는 무선 통신에 관한 것이며, 더욱 특정하게는 멀티미디어 전화 통신(telephony)을 지원하는 통신 기술들에 관한 것이다.
본 출원은 발명의 명칭은 "Feedback Based Network Adaptive Source Coding For Packet Switched Multimedia Telephony"이고, 출원일은 2007년 1월 10일이며, 출원 번호는 제 60/884,328이고, 여기서 그 전체의 내용이 참조로서 통합된 미국 가출원에 우선권의 이익을 주장한다.
일반적으로 영상(video) 전화 통신(VT)으로 지칭되는 멀티미디어 전화 통신은, 무선 및 유선-기반 통신에 대해 요구된다. 멀티미디어 전화 통신에서, 둘 이상의 사용자들은 유선 또는 무선 통신 또는 둘 모두의 조합을 통해 서로 오디오 정보 및 비디오 정보를 통신한다. 통신은 또한 텍스트, 스틸 이미지들, 또는 다른 정보와 같은 다른 미디어 구성 요소들을 포함할 수 있다. 예를 들어, 하나 이상의 사용자들은 무선 통신 핸드셋을 통해 멀티미디어 전화 통신을 동작할 수 있고, 다른 사용자들은 "유선" 또는 "land-line" VT 단말들을 통해 멀티미디어 전화 통신을 동작할 수 있다. 핸드셋들 및/또는 단말들은 사용자로부터 오디오 정보를 캡 쳐(capture)할 수 있고, 비디오 정보를 캡쳐하기 위해 비디오 카메라들을 구비할 수 있다. 오디오 및 비디오 정보는 다른 장치로 통신될 수 있고, 이는 다른 사용자로 오디오 및 비디오 정보를 디코딩하여 전달한다. 다양한 통신 프로토콜들 및 네트워크 구성들은 멀티미디어 전화 통신 애플리케이션을 지원할 능력이 있을 수 있다.
일반적으로, 본 명세서는 멀티미디어 전화 통신을 용이하게 하기 위해 사용될 수 있는 다양한 기술들을 설명한다. 기술들은 비디오 프레임들과 같은, 멀티미디어 유닛들의 컨텐트(content)- 및 링크-의존 코딩을 허용한다. 기술들은 업링크 및 다운링크 스루풋의 측정에 의존할 수 있다. 미디어 유닛들은 정의되고, 그리고나서 정의된 미디어 유닛이 업링크 및 다운링크 둘 모두에 의해 조절(accommodate)될 수 있는 데이터를 포함할 때 코딩될 수 있다. 업링크 스루풋은 인코딩 장치에서 측정될 수 있고, 다운링크 스루풋은 디코딩 장치에서 측정될 수 있다. 다운링크 스루풋은 다시 인코딩 장치로 피드백될 수 있다. 본 명세서에서 설명되는 기술들은 업링크 및 다운링크의 링크 조건들을 조절하기 위해 인코딩 장치의 적응(adaption)을 용이하게 한다. 특히 비디오 프레임들과 같은 비디오 유닛들은, 비디오 유닛들에 대해 정의된 비트 버짓(bit budget), 업링크 및 다운링크 각각과 연관되는 제 1 및 제 2 스루풋 레벨들에 기반하여 인코딩될 수 있다.
일 예에서, 본 명세서는 멀티미디어 데이터의 통신을 위한 방법을 제공하며, 상기 방법은 제 1 액세스 단말에서 네트워크로의 멀티미디어 데이터 통신과 연관되는 제 1 스루풋 레벨을 결정하는 단계, 상기 네트워크를 통한 제 2 액세스 단말에서 상기 제 1 액세스 단말로의 피드백에 기반하여, 상기 네트워크에서 상기 제 2 액세스 단말로의 멀티미디어 데이터 통신과 연관되는 제 2 스루풋 레벨을 결정하는 단계, 상기 멀티미디어 데이터의 비디오 유닛의 통신과 연관되는 버짓(budget)을 결정하는 단계, 및 상기 버짓 그리고 상기 제 1 및 제 2 스루풋 레벨들에 기반하여, 상기 멀티미디어 데이터의 상기 비디오 유닛을 코딩하는 단계를 포함한다.
다른 예에서, 본 명세서는 멀티미디어 데이터를 통신하는 장치를 제공하고, 상기 장치는, 상기 장치에서 네트워크로의 멀티미디어 데이터 통신과 연관되는 제 1 스루풋 레벨을 결정하는 제 1 토큰 버퍼 모듈, 액세스 단말에서 상기 장치로의 피드백에 기반하여, 상기 네트워크에서 액세스 단말로의 멀티미디어 데이터 통신과 연관되는 제 2 스루풋 레벨을 결정하는 제 2 토큰 버퍼 모듈, 상기 멀티미디어 데이터의 비디오 유닛의 통신과 연관되는 버짓을 결정하는 레지듀얼(residual) 모듈, 및 상기 버짓 그리고 제 1 및 제 2 스루풋 레벨들에 기반하여, 상기 멀티미디어 데이터의 비디오 유닛을 코딩하는 코딩 모듈을 포함한다.
다른 예에서, 본 명세서는 멀티미디어 데이터의 통신을 위한 장치를 제공하고, 상기 장치는, 상기 장치에서 네트워크로의 멀티미디어 데이터 통신과 연관되는 제 1 스루풋 레벨을 결정하기 위한 수단, 액세스 단말에서 상기 장치로의 피드백에 기반하여, 상기 네트워크에서 액세스 단말로의 멀티미디어 데이터 통신과 연관되는 제 2 스루풋 레벨을 결정하기 위한 수단, 상기 멀티미디어 데이터의 비디오 유닛의 통신과 연관되는 버짓을 결정하기 위한 수단, 및 상기 버짓 그리고 제 1 및 제 2 스루풋 레벨들에 기반하여, 상기 멀티미디어 데이터의 비디오 유닛을 코딩하기 위한 수단을 포함한다.
다른 예에서, 본 명세서는 제 1 액세스 단말에서 네트워크로 멀티미디어 데이터 통신과 연관되는 제 1 스루풋 레벨을 결정하고, 상기 네트워크를 통해 제 2 액세스 단말로부터 상기 제 1 액세스 단말로의 피드백에 기반하여, 상기 네트워크로부터 상기 제 2 액세스 단말로의 멀티미디어 데이터 통신과 연관되는 제 2 스루풋 레벨을 결정하며, 상기 멀티미디어 데이터의 비디오 유닛의 통신과 연관되는 버짓을 결정하고, 그리고 상기 버짓 그리고 제 1 및 제 2 스루풋 레벨들에 기반하여 상기 멀티미디어 데이터의 상기 비디오 유닛을 코딩하기 위한 명령들을 포함하는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 물건을 제공한다.
다른 예에서, 본 명세서는, 네트워크로 그리고 네트워크로부터 무선 통신들을 전송하고 수신하는 안테나, 액세스 단말(AT)에서 상기 네트워크로의 멀티미디어 데이터 통신과 연관되는 제 1 스루풋 레벨을 결정하는 제 1 토큰 버퍼 모듈, 다른 AT로부터의 피드백에 기반하여, 상기 네트워크에서 다른 AT로의 멀티미디어 데이터 통신과 연관되는 제 2 스루풋 레벨을 결정하는 제 2 토큰 버퍼 모듈, 상기 멀티미디어 데이터의 비디오 유닛의 통신과 연관되는 버짓을 결정하는 레지듀얼 모듈, 및 상기 버짓 그리고 제 1 및 제 2 스루풋 레벨들에 기반하여 상기 멀티미디어 데이터의 상기 비디오 유닛을 코딩하는 코딩 유닛을 포함하는 액세스 단말을 제공한다.
다른 예에서, 본 명세서는 멀티미디어 데이터의 통신을 위한 방법을 제공하고, 상기 방법은 제 1 액세스 단말(AT)에서 제 2 AT로 전송되는 제 1 멀티미디어 데이터를 수신하는 단계 ― 상기 제 1 멀티미디어 데이터는 네트워크로부터 상기 제 2 AT로 통신됨 ―, 관찰 윈도우(window)를 통해 상기 네트워크에서 상기 제 2 AT로의 스루풋을 측정하는 단계, 및 상기 관찰 윈도우를 통해 상기 네트워크에서 상기 제 2 AT로 측정되는 스루풋의 레벨을 표시하는 정보를, 상기 제 2 AT에서 상기 제 1 AT로 전송하는 단계를 포함한다.
다른 예에서, 본 명세서는 멀티미디어 데이터의 통신을 위한 장치를 제공하고, 상기 장치는, 액세스 단말(AT)에서 상기 장치로 전송되는 제 1 멀티미디어 데이터를 수신하는 수신기 모듈 ― 상기 제 1 멀티미디어 데이터는 네트워크로부터 상기 장치로 통신됨 ―, 관찰 윈도우(window)를 통해 상기 네트워크에서 상기 장치로의 스루풋을 측정하기 위한 스루풋 측정 모듈, 및 상기 관찰 윈도우를 통해 상기 네트워크에서 상기 장치로 측정되는 스루풋의 레벨을 표시하는 정보를, 상기 장치에서 상기 AT로 전송하는 송신기 모듈을 포함한다.
다른 예에서, 본 명세서는 멀티미디어 데이터의 통신을 위한 장치를 제공하고, 상기 장치는, 액세스 단말(AT)에서 상기 장치로 전송되는 제 1 멀티미디어 데이터를 수신하기 위한 수단 ― 상기 제 1 멀티미디어 데이터는 네트워크로부터 상기 장치로 통신됨 ―, 관찰 윈도우(window)를 통해 상기 네트워크에서 상기 장치로의 스루풋을 측정하기 위한 수단, 및 상기 관찰 윈도우를 통해 상기 네트워크에서 상기 장치로 측정되는 스루풋의 레벨을 표시하는 정보를, 상기 장치에서 상기 AT로 전송하기 위한 수단을 포함한다.
다른 예에서, 본 명세서는 제 1 액세스 단말(AT)에서 제 2 AT로 전송된 제 1 멀티미디어 데이터를 수신하고, ― 상기 제 1 멀티미디어 데이터는 네트워크에서 상기 제 2 AT로 통신됨 ―, 관찰 윈도우를 통해 상기 네트워크에서 상기 제 2 AT로 스루풋을 측정하며, 그리고 상기 관찰 윈도우를 통해 상기 네트워크에서 상기 제 2 AT로 측정되는 스루풋의 레벨을 표시하는 정보를, 상기 제 2 AT에서 상기 제 1 AT로 전송하기 위한 명령들을 포함하는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 물건을 제공한다.
다른 예에서, 본 명세서는 네트워크로 그리고 네트워크로부터 무선 통신들을 전송하고 수신하는 안테나; 다른 AT에서 전송되는 제 1 멀티미디어 데이터를 수신하는 수신기 모듈, ― 제 1 멀티미디어 데이터는 다른 AT에서 상기 네트워크로, 그리고 상기 네트워크에서 상기 AT로 통신됨 ―, 관찰 윈도우를 통해 상기 네트워크에서 상기 AT로의 스루풋을 측정하기 위한 스루풋 측정 모듈, 및 상기 관찰 윈도우를 통해 상기 네트워크에서 상기 AT로의 측정되는 스루풋의 레벨을 표시하는 정보를, 상기 AT에서 다른 AT로 전송하는 송신기 모듈을 포함하는 AT를 제공한다.
본 명세서의 하나 이상의 상세한 양상들은 아래의 첨부된 도면들과 설명에서 설명된다. 본 명세서에서 설명되는 이 기술들의 다른 특징들, 목적들, 및 이점들은 상세한 설명 및 도면들, 그리고 청구항들로부터 명백해질 것이다.
도 1은 멀티미디어 전화 통신을 위한 피드백 기반 레이트 적응 구조(adaption)를 이용하는 일 예시적인 시스템의 블록 다이어그램이다.
도 2 및 3은 두 개의 개별적인 토큰 버킷들이 업링크 및 다운링크를 독립적 으로 트랙(track)하기 위해 사용될 때, 또는 하나의 공유된 토큰 버킷이 업링크 및 다운링크 둘 모두를 위해 사용될 때, 시간의 함수로서 토큰들을 도시하는 그래프들이다.
도 4는 도 1과 유사하며, 사용자 장비 사이의 피드백 기반 레이트 제어 시스템의 기능 다이어그램의 형식으로 예를 도식적으로 보여준다.
도 5는 본 명세서와 일치하는 일 예의 동작들을 도시하는 순서도이다.
도 6은 도 1에서 도시된 바와 같이 UE A 또는 UE B에 대한 하드웨어 구현과 같은, 일 장치의 예시적인 하드웨어 구현을 도시한다.
도 7은 각각 24, 28, 36, 44명의 사용자들을 가진 시스템들에서의 네 개의 장치들의 프레임 레이트들의 프레임 레이트 히스토그램들을 도시한다.
도 8 및 9는 본 명세서의 기술들의 효과를 도시하기 위해 시뮬레이션(simulation)들의 결과들을 도시하는 그래프들이다.
도 10은 본 명세서의 다양한 기술들을 구현할 능력이 있는 일 예시적인 시스템을 도시하는 예시적인 블록 다이어그램이다.
도 11 내지 13은 본 명세서의 기술들과 일치하는 순서도들이다.
도 14 및 15는 본 명세서의 양상들을 실행하기 위해 사용될 수 있는 장치들의 블록 다이어그램들이다.
본 발명의 다양한 양상들이 아래서 설명된다. 여기서의 설명(teaching)들은 매우 다양한 형태들로 구현될 수 있고, 여기서 개시되는 임의의 특정 구조, 기능, 또는 둘 모두는 단지 대표적인 것임이 명백하다. 여기서의 설명들에 기반하여, 당해 기술분야에 속한 통상의 지식을 가진 자는 여기서 개시되는 양상이 임의의 다른 양상들과 독립적으로 구현될 수 있고, 둘 이상의 이러한 양상들이 다양한 방법들로 결합될 수 있음을 인식해야한다. 예를 들어, 여기서 설명된 임의의 개수의 양상들을 이용하여 장치는 구현될 수 있거나 방법이 시행될 수 있다. 또한, 여기서 설명되는 하나 이상의 양상들에 추가적으로 또는 그들과 다르게 다른 구조, 기능, 또는 구조 및 기능을 이용하여 이러한 장치가 구현될 수 있거나 이러한 방법이 실행될 수 있다. 또한, 양상은 적어도 하나의 청구항의 구성요소를 포함할 수 있다.
일반적으로, 본 명세서는 고속 패킷 액세스(HSPA), 하이 레이트 패킷 데이터(HRPD) 등과 같은 3G 무선 네트워크들에서 패킷 교환 비디오 전화 통신(PSVT)에 적용가능한 과제(challenge)들을 언급한다. 설명되는 기술들은 3G 무선 네트워크들에서 PSVT 서비스를 개선할 수 있다. HSPA/HRPD에서, 셀 및/또는 시스템 로딩(loading) 조건들에서 이용 가능한 대역폭의 일시적인(temporary) 감소가 사용자의 위치에 기반하여 발생할 수 있다. 이는 관찰되는 패킷 레이턴시(latency)의 상당한(significant) 증가를 발생할 수 있다. 이러한 문제를 극복하기 위해, 본 명세서의 기술들은 피드백-기반 레이트 적응 구조 방식을 제공한다. 제안된 방식은 가변 채널 대역폭에 비디오 인코더 비트레이트를 적응시키는 능력이 있고, 패킷 레이턴시를 최소화할 수 있다. 설명된 기술들은 채널에서 임의의 구분적(piecewise) 일정 비트레이트(CBR) 가정들을 내리지 않고 가변 채널 조건들에 인코딩된 소스 레이트를 매치할 수 있다. 그 기술들은 업링크 및/또는 다운링크가 무선 링크인 임의의 설정(setting)에 적용가능할 수 있다. 업링크는 사용자 장비(UE)에서 (기지국과 같은) 네트워크 노드로의 통신을 지칭하고, 다운링크는 네트워크에서 UE로의 통신을 지칭한다.
제안된 방식에서, 관찰된 스루풋은 업링크(예를 들어, 전송하는 모바일 장치에서 네트워크로) 상에서 그리고 다운링크(예를 들어, 네트워크에서 수신하는 모바일 장치로) 상에서 모니터링될 수 있다. 요구되는 타깃 데이터 레이트는 업링크 및 다운링크의 관찰된 스루풋에 기반하여 결정될 수 있다. 소스 변화성(variability) 및 요구되는 타깃 데이터 레이트에 기반하여, 설명된 알고리즘은 전송을 위해 스케줄링된 비디오 프레임들의 인코딩 시간 및 패킷 사이즈(예를 들어, 바이트들의 수)를 제어할 수 있다. 일반적으로, 용어 "스루풋(throughput)"은 시간의 두 인스턴스 사이에서 발생하는 데이터의 총 축적량을 지칭한다. 따라서 스루풋은 비트들의 총 수와 같은 데이터의 단위들로 주어진다. 본 명세서에 따라서, 패킷들의 수 그리고 이러한 패킷들의 사이즈들은 관찰 윈도우를 통해 측정될 수 있다. 이러한 경우에, 스루풋은 정의된 (그러나 임의적일 수 있는) 관찰 윈도우 동안 수신된 패킷들과 연관된 데이터의 양이다. 일 예에서, 관찰 윈도우는 두 개의 연속하는 코딩된 프레임들 사이의 시간량을 포함할 수 있다. 따라서 스루풋은 데이터 레이트의 측정이 아니고, 데이터의 측정이다. 관찰 윈도우는 시간의 두 개의 인스턴스들을 정의할 수 있고, 상기 기간 동안 기간에 대한 스루풋을 정의하기 위해 데이터가 축적된다.
VT를 위한 멀티미디어 통신에서, 오디오 정보는 임의의 비디오 정보가 전송 되는지 여부에 관계없이 전송될 수 있다. 비디오 정보는 VT 세션의 장치들 사이의 협상된 데이터 레이트 및 프레임 레이트에 기반한 전송을 위해 스케줄링되는 비디오 프레임들과 같은 비디오 유닛들을 포함할 수 있다. 그러나 본 명세서에 따르면, 비디오 유닛들의 코딩 및 전송은 업링크 또는 다운링크 중 어느 하나를 통해 측정되는 스루풋 제약들에 기인하여 제한될 수 있다. 본 명세서에 따르면, 문구 "멀티미디어 데이터"는 오디오 프레임들과 같은 오디오 정보 및 비디오 프레임들과 같은 비디오 정보를 포함할 수 있고, 또한 스피치(speech), 텍스트, 스틸 이미지들, 다른 유형의 데이터, 또는 이들의 임의의 조합들을 포함할 수 있다.
본 명세서는 또한 3GPP(3rd Generation Partnership Project) 및 세계 통신 협회(ITU)에서 적용된 인증된 명세서 및 공통 상황 조건들에 기반하여, 제안된 접근의 시뮬레이션 결과들을 나타낸다. 본 명세서는 일-방향 지연이, 수신하는 모바일 장치에서 전송하는 모바일 장치로의 관찰된 스루풋의 피드백을 적당한 때에 제공함으로써, 상당히 감소될 수 있다는 것을 보여준다. 매 200ms마다 피드백 메시지를 사용함으로써, 본 명세서는 패킷들의 95퍼센트가 250ms 미만의 일-방향 지연을 가지고 전달될 수 있음을 보여준다. 본 명세서는 또한 제안된 알고리즘이 이용 가능한 시스템 자원들 및 주어진 셀 내에서의 사용자의 위치에 기반하여 적절한 디그레이데이션(graceful gradation)을 할 능력이 있을 수 있음을 보여준다.
아래의 설명은, 일반적으로 예를 들어, 비디오 전화 통신(VT)으로 지칭되는 대화형 서비스들을 지원하기 위해 낮은 레이턴시를 가지는 무선 네트워크들을 통해 비디오를 전달하는 문제를 고려한다. 대화형 비디오 인코더들에서, 인코더들은 장 면(scene) 특성들이 변함에 따라 일정한 화상(visual) 품질을 유지함으로써 가변 비트레이트(VBR)를 생성할 수 있다. 이러한 비트스트림들은 전송을 위한 가변 사이즈 애플리케이션 데이터 유닛(ADU)들에서 패킷화될 수 있다. 이러한 스트림들은 비록 피할 수 없는 레이턴시를 가지고 있지만, 바람직한 통계 멀티플렉싱 이득들을 가진 CBR 채널들을 통해 전달될 수 있다.
그러나 HSPA와 같은 무선 네트워크들에서의 무선(over-the-air) 자원들은, 회선 교환 서비스들에서 호(call) 지속 기간 동안 모든 사용자들에게 전용된 대역폭과 비교하면, 세션 동안 많은 사용자들 사이에서 공유된다. 사용자들이 셀 및/또는 시스템의 열악한 지역으로 이동하면, 로드는 다른 인자들로 인해 증가하고, 이용 가능한 대역폭은 세션 셋업 동안 협상된 대역폭보다 낮아, VBR 채널들을 사용하게 된다. 이러한 문제점은, 혼잡이 일반적으로 패킷들이 전달되지 않는 것을 당연히 수반하는 대화형 최선 노력 네트워크들(예를 들어, 인터넷)에서 공통적으로 접하게 되는 문제점들과는 다름을 주목해야 한다. 여기서, 업링크 및/또는 다운링크를 통한 혼잡에 기인하여, 패킷들은 여전히 전달되나, 이용 가능한 대역폭은 감소될 수 있다. 이는 수신하는 모바일 장치로 비디오 패킷들을 전달하기 위해 더 긴 시간이 필요하게 하고, 레이턴시를 증가시킬 수 있다. 레이턴시가 업링크 또는 다운링크를 통한 혼잡으로 인해 또는 높은 모션(motion) 및 장면 변화들로부터 초래되는 더 큰 비디오 패킷들로 인해 증가될 수 있음을 관찰할 수 있다.
HSPA 및 하이 레이트 패킷 데이터(HRPD)에서, 업링크 및 다운링크를 통한 사용자 장비(UE)가 사용가능한 대역폭은 몇몇 양상들, ― 이들 중 몇몇은 예상할 수 있으며(예를 들어, 서비스 제공자들의 서비스 품질(QoS) 정책들, 시스템 로드(load), 또는 다른 예측 가능한 인자들), 이들 중 몇몇은 예측 불가능한(예를 들어, UE들의 배열(geometry), 채널 조건들, 또는 다른 예측 불가능한 인자들) ― 에 의존한다. 또한, 소스 특징들의 변화성은 실-시간 대화형 애플리케이션에서 예측 불가능할 수 있다.
따라서 전송자가 업링크 또는 다운링크 중 어느 하나를 통해 혼잡의 기간들 동안 큰 비디오 패킷들을 생성할 때, 시스템이 이러한 패킷들을 전달하는 것이 더 오래 걸릴 수 있고, 그 결과로 엔드-투-엔드(end-to-end) 레이턴시가 증가할 수 있다. 이를 처리하기 위해, 본 명세서는 동적인 레이트 적응 구조 방식을 제공한다. 이러한 접근에서, 전송자는 업링크에서 채널 스루풋을 모니터링할 수 있다. 동시적으로, 수신자는 다운링크 상의 채널 스루풋을 계산할 수 있고, 이 정보를 전송자로 다시 피드할 수 있다. 전송자에서의 비디오 인코더 장치는 업링크 및 다운링크에 대해 각각 두 개의 독립적인 토큰 버킷들을 유지하고, 이는 각각의 관찰되는 채널 스루풋에 기반하여 업데이트 된다. 비디오 인코더 장치는 독립적으로 업링크 및 다운링크 둘 모두를 통해 이용 가능한 스루풋을 고려할 수 있고, 이러한 이용 가능한 스루풋들을 현재 비디오 프레임을 코딩하는 것과 연관되는 버짓(budget)에 비교할 수 있다. 버짓은 또한 스루풋이 충분하지 않다면, 버짓은 이전의 코딩된 프레임에 관하여 코딩된, 현재 프레임(시간적으로 현재)의 나머지(residual) 데이터를 포함할 수 있도록 적응시킬 수 있다. 이용 가능한 스루풋이 시간을 통해 축적될 수 있더라도, 현재 프레임을 위해 필요한 스루풋의 양은 또한 전송되고 있는 비디오 시퀀스에서의 일시적인(temporal) 장면 변화들로 인하여 시간을 통해 증가할 수 있다. 즉, 프레임을 코딩하기 위해 필요한 비트 버짓은 이전에 코딩된 프레임으로부터 더 많은 시간이 경과할수록 증가할 수 있다.
전송자의 업링크 및 수신자의 다운링크에서의 혼잡을 야기하는 사건들은 연관될 필요가 없다. 전송 장치에서 두 개의 독립적인 토큰 버킷들을 유지함으로써, 인코더는 소스 다양성과 함께 업링크 및 다운링크 조건들을 자신의 동작에서의 고려 사항의 요인으로 포함할 수 있다. 다양한 인코딩 기회들에서, 요구되는 타깃 품질의 프레임을 생성하기 위해 필요한 비트 버짓은 추정될 수 있다. 만약 적절한 스루풋의 레벨들이 이용가능하다면(토큰 버킷들에 의해 결정된 것처럼), 프레임은 인코딩되고 전송된다. 그렇지 않으면, 현재의 프레임은 스킵(즉, 인코딩되지 않음)될 수 있고, 인코더는 충분한 스루풋이 이용 가능할 때까지 기다릴 수 있다. 그러나 프레임 스킵 다음에, 인코더는 두 개의 장치들 사이에서 협상된 세션에서 발생될 것보다 더 빠르게 스루풋 및 필요한 비트 버짓을 업데이트 할 수 있다. 예를 들어, 만약 초당 10 프레임들인 프레임 레이트가 설정되면, 프레임 스킵 다음에, 본 명세서의 기술들은 프레임을 코딩하고 그 후에 바로 전송할 수 있으며, 인코더가 다음 프레임이 스케줄링될 때까지 기다리도록 할 필요가 없다.
대화형 기술들에 대조를 이루어, 본 명세서의 제안된 방식은 피드백을 이용하나, 그 피드백은 수신하는 UE에서 전송하는 UE로 향한다. 이는 시스템 설계를 애플리케이션 계층(예를 들어, 소스 코덱) 및 실시간 전송(RTP) 계층으로 제한함으로써 배치된 네트워크 구성 요소들(예를 들어, 게이트웨이들, 유선 대 무선 에지 라우터들, 노드-B, 스케줄러 등)로의 변화들을 최소화한다. 그 결과로, 배치된 네트워크 구성요소들에서의 더 낮은 계층 프로토콜 스택 구현들은 변형들 및/또는 인터페이스 변경들을 필요로 하지 않을 수 있다. 본 명세서의 기술들에서, 전송자는 업링크를 통한 이용 가능한 스루풋을 모니터링하고, 수신자에 의해 피드백되는 정보에 기반하여 관찰된 다운링크를 통한 스루풋에 의존한다. 소스 인코더는 그리고나서 적절하게 업링크 및 다운링크 특성들을 매치(match)하기 위해 소스 변형들 및 트리거 다이내믹 레이트 적응을 캡쳐하도록 필요한 비트 버짓을 추정할 수 있다. 또한, 대화형 서비스들의 시스템 레벨 성능을 개선하기 위해 측정되고 피드백될 수 있는 많은 다른 메트릭들을 식별하는 것이 가능할 수 있다. 본 명세서는, 소스, 업링크, 및 다운링크 특성들이 모두 동시적으로 변하는 3G 네트워크들에서 로우(low)-레이턴시 대화형 서비스들을 전개하기 위해 방법론들 및 공통 조건들을 제공하고 설명한다.
본 명세서에서 나타낸 방법론들을 이용하여 다양한 선택 사항들을 전개하는 것이 가능할 수 있다. 본 명세서는 멀티-사용자, 멀티셀, 시스템 레벨 이벤트-드리븐 접근(event-driven approach)을 이용하여 시뮬레이트(simulate)된 3GPP 릴리즈-6 네트워크에서 제안된 방식의 실행 가능성을 설명한다. 네트워크 레이아웃(layout) 및 구성들은 3GPP에 의해 특정된 레이아웃 및 구성과 같은 UE 일치 테스팅(conformance testing)을 위한 테스트 환경에 기반할 수 있다. HSPA에 대해, 설명된 기술들의 분석은 3GPP에 의해 특정되는 가정들을 이용한다. 여기서 설명된 것처럼, 패킷 교환 비디오 전화 통신 서비스는 H.263+ 비디오 코덱 및 RTP 패킷화 를 사용하여 시뮬레이트 되었다. 비디오 소스 및 객관적(objective) 메트릭들에 대해, 본 명세서는 멀티미디어 이밸류에이션(evaluation) 방법론들을 따랐다. 시스템 레벨 성능 분석은 일반적으로 대화형 서비스들에 대해 제공된다. 아래에서 설명되는 결과들은 본 명세서의 정보를 사용하여 되풀이 될 수 있다.
도 1은 멀티미디어 전화 통신을 위한 피드백 기반 레이트 제어를 사용하는 일 예시적인 시스템(100)의 블록 다이어그램이다. 특히, 도 1은 네트워크(115)를 통해 통신하는 두 개의 UE들(112, 114)을 포함하는 일 예시적인 피드백 기반 레이트 제어 시스템(100)의 블록 다이어그램을 도시한다. UE A(112) 및 UE B(114)는 각각 비디오 스트림의 전송자 및 수신자를 나타낸다. UE A(112) 및 UE B(114)는 송신기들 및 수신기들을 포함할 수 있으나, 이러한 컴포넌트들은 설명의 편의와 단순화를 위해 도 1에서 도시되지 않는다. UE A(112) 및 UE B(114)는 또한 인코더들 및 디코더들(또는 집적화된 인코더-디코더들 "CODEC들")을 포함할 수 있으나, 세 개의 컴포넌트들은 설명의 편의와 단순화를 위해 도시되지 않는다. 본 명세서에서, 용어 코딩은 인코딩, 디코딩, 또는 둘 모두를 지칭한다. 설명된 컴포넌트인 도 1의 UE A(112) 및 UE B(114)는 장치들(112, 114)의 CODEC들의 컴포넌트들로 보일 수 있거나, 장치들(112, 114)의 CODEC에 의해 코딩되기 전에 데이터를 처리하는 컴포넌트들로 고려될 수 있다.
본 명세서는 각각 UE를 나타내기 위해 위첨자들(A, B), 업링크 및 다운링크를 표시하기 위해 아래 첨자들(u, d)을 사용한다. 업링크는 UE(112)로의 데이터 통신 채널(예를 들어, 네트워크에서 UE(112)로)을 지칭하고 다운링크는 UE(112)로 부터의 데이터 통신 채널(예를 들어, 네트워크(115)에서 UE(114)로)을 지칭한다. 네트워크(115)내의 노드들(117, 118)은 각각 데이터 서비스를 UE들(112, 114)로 제공하는 패킷 데이터 서빙 노드(PDSN)들을 나타낼 수 있다. 그러나 더욱 일반적으로, 노드들(117, 118)은 노드들, 기지국들, 임의의 적합한 네트워크 장비, 또는 다른 UE들 또는 AT들을 포함하는, 임의의 유형의 액세스 포인트(AP)들로 대체될 수 있다.
UE들(112, 114)은 무선 통신 장치들, VT 핸드셋들, 개인 휴대 단말(PDA)들, 랩탑 또는 데스크탑 컴퓨터들, 또는 VT 기능을 포함하는 임의의 유형의 장치와 같은 임의의 매우 다양한 액세스 단말(AT)들을 포함할 수 있다. 그러나 본 명세서의 양상들은 반드시 무선 설정들로 제한되는 것은 아님을 주목해야 한다. 본 기술들은 또한 업링크 또는 다운링크 중 하나가 무선인한 비-무선, 예를 들어 무선 네트워크의 유선-기반 컴포넌트들을 이용하여 사용될 수 있다. UE B(114)에서 UE A(112)로의 데이터 스트림은 회색(gray) 선들로 도시되고, UE A(112)에서 UE B(114)로의 데이터 스트림은 검은색(black) 선들로 도시된다. 노드(117)에서 UE A(112)로의 통신들은
Figure 112009048632848-pct00001
로 라벨링된다. UE A(112)에서 노드(117)로의 통신들은
Figure 112009048632848-pct00002
로 라벨링된다. 노드(118)에서 UE B(114)로의 통신들은
Figure 112009048632848-pct00003
로 라벨링된다. UE B(114)에서 노드(118)로의 통신들은
Figure 112009048632848-pct00004
로 라벨링된다.
언급한대로, 노드들(117, 118)은 임의의 유형의 액세스 포인트(AP)들로 대체될 수 있다. 액세스 포인트들 또는 노드는 패킷 데이터 서빙 노드(PDSN), 노드 B, 무선 네트워크 제어기(RNC), e노드 B, 기지국 제어기(BSC), 기지국 트랜시버 스테이션(BTS), 기지국(BS), 트랜시버 기능(TF), 무선 라우터(Radio Router), 무선 송수신기(Radio Transceiver), 기본 서비스 세트(BSS), 확장 서비스 세트(ESS), 무선 기지국(RBS), 릴레이 스테이션(Relay Station), 또는 몇몇의 다른 용어들을 포함할 수 있다. UE들은 AT들에 의해 대체될 수 있고, UE들 또는 AT들은 가입자국, 이동국, 원격국, 원격 단말, 액세스 단말, 사용자 단말, 사용자 에이전트, 사용자 장치, 또는 이동국, 셀룰러 전화, 코드리스 전화, 개인 휴대 단말(PDA), 무선 접속 능력을 지닌 핸드헬드 장치, 또는 무선 모뎀에 연결된 몇몇의 다른 적절한 프로세싱 장치와 같은 임의의 유형의 사용자 장비를 포함할 수 있다.
여기서 설명된 양상들과 연관되어 설명된 다양한 예시적인 논리블록, 모듈, 회로는 집적 회로(IC), 액세스 단말, 또는 액세스 포인트 내에 구현될 수 있거나 그것들에 의해 수행될 수 있다. IC는 범용 프로세서, 디지털 신호 처리기(DSP), 주문형 집적회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA), 또는 다른 프로그래머블 논리 장치, 이산 게이트 또는 트랜지스터 논리, 이산 하드웨어 컴포넌트들, 전자 컴포넌트들, 광학 컴포넌트들, 기계적 컴포넌트들, 또는 여기서 설명된 기능들을 수행하기 위해 설계되고, 상기 IC 내부, 외부, 둘 모두에 저장된 코드들 또는 명령들을 실행할 수 있는 이들의 임의의 조합을 포함할 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적 실시예에서, 이러한 프로세서는 종래의 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수 있다. 프로세서는 또한 예를 들어, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어 와 결합된 하나 이상의 마이크로프로세서, 또는 이러한 구성들의 조합과 같은 계산 장치들의 조합으로서 구현될 수 있다.
UE A(112)에서, 프레임 잔여
Figure 112009048632848-pct00005
는 이전에 인코딩된 프레임
Figure 112009048632848-pct00006
의 예측된 버전을 이용하여, n의 샘플된 시간 인스턴스에서의 현재 비디오 프레임 v(t)에 대한 프레임 잔여 유닛(122)을 통해 계산된다. 이 프레임 잔여는 업링크 토큰 버킷
Figure 112009048632848-pct00007
유닛(126) 및 다운링크 토큰 버킷
Figure 112009048632848-pct00008
유닛(128)로부터의 토큰 정보와 함께 레이트 결정 알고리즘(RDA) 유닛(124)에 의해 사용된다. 만약 현재 프레임 잔여에 대해 RDA 유닛(124)에 의해 추정되는 사이즈(size)가 토큰 버킷 유닛들(
Figure 112009048632848-pct00009
(126),
Figure 112009048632848-pct00010
(128)) 중 어느 하나의 최소 토큰들보다 작다면, 현재 프레임은 인코딩되고, 만약 그렇지 않다면, 현재 프레임은 인코딩되지 않는다.
Figure 112009048632848-pct00011
는 시간(n)에서의 전송에 대해 스케줄링된 비디오 패킷의 사이즈이다. 이런 방식으로, RDA 유닛(124)은 인코딩된 프레임이 업링크 또는 다운링크 둘 중 어느 하나에 의해 부과된 최소 제약을 만족한다고 보장한다. 업링크 토큰 버킷 유닛
Figure 112009048632848-pct00012
(126)은 업링크를 통한 채널 스루풋 및 (127로 라벨링 된) 버퍼 점유의 함수
Figure 112009048632848-pct00013
에 기반하여 업데이트(토큰들이 추가됨) 된다. 유사하게, 다운링크 토큰 버킷
Figure 112009048632848-pct00014
는 다운링크를 통한 채널 스루풋 및 (129로 라벨링 된) 버퍼 점유의 함수
Figure 112009048632848-pct00015
에 기반하여 업데이트(토큰들이 추가됨) 된다.
여기서 설명된 기술들의 일 양상은 두 개의 개별의 토큰 버킷들(예를 들어, 유닛들(126, 128))을 사용하기 위한 것이며, 따라서 업링크 및 다운링크 채널 특징들의 독립적인 트래킹(track)을 가능하게 한다. 토큰들은 각각의 관찰된 채널 스루풋들, 협상된 QoS, 및 경과 시간의 함수로서 토큰 버킷 유닛들(126, 128)로 삽입될 수 있다. 토큰들은 전송된 프레임 사이즈들에 기반하여 토큰 버킷들로부터 제거될 수 있다. 토큰들은 일반적으로 업링크 또는 다운링크를 통해 전송될 수 있는 정보의 양을 나타내는 임의의 유닛들로 지칭된다.
도 2 및 3은 업링크 및 다운링크에 대한 두 개의 개별의 토큰 버킷들을 사용하기 위한 하나의 동기(motivation)를 설명하는 그래프들이다. 도 2의 예시적인 그래프에서, 혼잡은 초기에 업링크 상에서 발생하고, 그리고나서 업링크 토큰 버킷의 토큰들의 개수가 떨어진다. 혼잡의 종료 후에, 도 2의 실선(133)에 의해 도시된 것과 같이 토큰들의 개수가 천천히 다시 최대 값으로 증가한다. 그러나 도 2의 예에서, 토큰들의 빌드-업이 종료하기 전에, 혼잡은 (도 2의 점선(134)으로 도시된 것처럼) 다운링크 상에서 발생한다. 도 3의 점선(135)은 이러한 두 개의 독립적 이벤트들의 효과로 인한 단일 토큰 버킷에서의 토큰들의 개수를 도시한다. 그러나 도 3의 단일 토큰 버킷 예에서, 시스템 대역폭은 일반적으로 업링크 및 다운링크 대역폭들의 최소이기 때문에, 시스템 대역폭의 실제보다 낮은 예측(underestimate)이 발생할 수 있다. 결국, 두 개의 토큰 버킷들을 사용함으로써, 업링크 및 다운링크 대역폭들 둘 모두는 독립적으로 트래킹될 수 있고, 시스템 대역폭은 더욱 정밀하게 (도 3의 실선(136)에 의해 도시된 것처럼) 트래킹될 수 있다.
모든 인코딩 기회에서, 토큰들은 각각 업링크 및 다운링크 채널들을 통한 관찰된 스루풋들에 기반하여
Figure 112009048632848-pct00016
유닛(126) 및
Figure 112009048632848-pct00017
유닛(128)에 의해 표시되는 업링크 및 다운링크 토큰 버킷들로 부가될 수 있다. 스루풋은 이전 인코딩 기회에서 현재 시간으로의 전체 채널 스루풋이다. 업링크 스루풋
Figure 112009048632848-pct00018
Figure 112009048632848-pct00019
는 다음과 같이 계산될 수 있다:
Figure 112009048632848-pct00020
여기서
Figure 112009048632848-pct00021
Figure 112009048632848-pct00022
는 채널 동시적인 데이터 레이트(IDR)로서 정의되며, 이는 채널을 통한 현재 전송에 대한 전송 시간 간격(TTI)에 의해 나누어진 일 전송 간격에서의 비트들의 개수이다.
Figure 112009048632848-pct00023
Figure 112009048632848-pct00024
는 각각 업링크 및 다운링크 채널들에 대한 TTI를 나타낼 수 있고,
Figure 112009048632848-pct00025
Figure 112009048632848-pct00026
는 현재 비디오 프레임을 인코딩하기 위한 간격들의 인덱스들이다.
토큰들은 업링크 토큰 버킷(예를 들어,
Figure 112009048632848-pct00027
유닛(126))에 다음과 같이 삽입될 수 있다:
Figure 112009048632848-pct00028
여기서
Figure 112009048632848-pct00029
는 최대 업링크 버퍼 사이즈이고,
Figure 112009048632848-pct00030
는 업링크 버퍼의
Figure 112009048632848-pct00031
(<1)에 의해 제어되는 로컬 토큰 인자이며, 이는 다음과 같이 정의된다:
Figure 112009048632848-pct00032
(3)
유사하게, 토큰들은 다운링크 버킷(예를 들어,
Figure 112009048632848-pct00033
유닛(28))에 다음과 같이 삽입된다:
Figure 112009048632848-pct00034
(4)
여기서
Figure 112009048632848-pct00035
는 최대 다운링크 버퍼 사이즈이고,
Figure 112009048632848-pct00036
는 다운링크 버퍼의
Figure 112009048632848-pct00037
(<1)에 의해 제어되는 로컬 토큰 인자이며, 다음과 같이 정의된다.
Figure 112009048632848-pct00038
(5)
등식들(3 및 5)에 따라서, LB_max(미리 결정된 상수), 현재 토큰 버킷 점유, 및 알파(
Figure 112009048632848-pct00039
)에 기반하여, 추가적인 토큰들은 버킷들에 부가될 수 있다. 알파(
Figure 112009048632848-pct00040
)는 상수일 수 있거나, 마지막 성공적인 인코딩 기회 이래로 경과된 지속기간의 함수일 수 있다. 알파(
Figure 112009048632848-pct00041
)는 혼잡의 상황을 어떻게 해결할지를 결정하기 위해 사용될 수 있다.
비디오 프레임이 인코딩되고 시간(n)에 하위 계층들로 전달되면, 다음의 단계들이 토큰 버킷들에서 토큰들을 제거하기 위해 UE A(112)에 의해 취해질 수 있 다.
Figure 112009048632848-pct00042
(6)
여기서
Figure 112009048632848-pct00043
는 시간(n)에서 인코딩된 비디오 프레임의 사이즈이다.
Figure 112009048632848-pct00044
는 또한 시간(n)에서 소스 인코더의 동시적인 데이터 레이트(IDR)이고, 주어진 기간(n1 에서 n2) 동안 소스 평균 데이터 레이트(ADR)를 추정하기 위해 사용될 수 있음을 주목해라. 따라서 설명된 토큰 버킷 알고리즘은 변하는 업링크 및 다운링크 스루풋을 모니터링하기 위해 사용될 수 있다.
TMN8은 트래픽 세이핑(shaping) 버퍼 점유를 이용함으로써 로우-지연 비디오 통신들에 대한 레이트 제어를 제안한다. 본 명세서에서, 트래픽 세이핑 버퍼 점유를 이용하는 대신에, 인코딩 장치는 업링크/다운링크 토큰 버킷들의 점유들을 이용할 수 있다. 이를 위해, TMN8은 64kbps와 같은 노미널(nominal) 평균 데이터 레이트를 목표로 한다. 매 인코딩 기회(예를 들어, 초당 10프레임들 위한 100ms 비디오)에서, 비디오 프레임 사이즈
Figure 112009048632848-pct00045
는 여기서 설명된 레이트 결정 알고리즘에 의해 추정될 수 있다. 비디오 프레임은 다음의 조건이 만족되었을 때만 인코딩되고 전송될 수 있다.
Figure 112009048632848-pct00046
(7)
만약 프레임이 인코딩되고 전송되면, 토큰 버킷들은 업데이트 된다. 그렇지 않으 면, 프레임이 스킵되고, 저장된 버짓은 이어지는(subsequent) 인코딩 기회에서 인코딩을 위해 이용 가능하다. 그러나 본 명세서에서 설명하는 것처럼, 인코딩 기회들은 프레임 스킵 후에 스케줄링된 것보다 더욱 자주 정의될 수 있다. 예를 들어,
Figure 112009048632848-pct00047
는 프레임 스킵 이후에 매 2ms마다 추정될 수 있고, 그 결과 스킵된 프레임은 스루풋이 충분한 경우에 자신이 구성되도록 스케줄링 되었던 시간 근처의 임의의 시점에서 구성될 수 있다.
일반적으로, 본 명세서는 피드백 기반 네트워크 적응성의 소스 코딩 장치 및 특히 비디오 및 오디오 데이터를 포함하는 멀티미디어 스트림들에 대한 패킷 교환 멀티미디어 전화 통신 애플리케이션들을 위한 방법을 설명한다. 상기 방법에 사용되는 알고리즘은 다양한 CODEC들 및 상이한 액세스 기술들에 일반적이다. 알고리즘은 (i) 패킷 손실들 및 (ii) 변하는 스루풋의 네트워크 조건들에 대한 소스 코딩 행동에 적응시키도록 구성된다.
일반적으로 언급하면, 알고리즘의 방법론은 (a) 관찰된 업링크 스루풋의 함수, (b) 관찰된 다운링크 스루풋의 함수, (c) 이전에 인코딩되고 전송된 데이터에 비교하는 입력 소스 변화성, (d) 요구되는 압축 품질, 및 (e) 평균 타깃 소스 레이트에 기반하는 레이트 결정을 포함한다. 그러나 모든 다섯 개의 함수들/기준((a) 내지 (e))이 반드시 필요한 것은 아니다. 이러한 접근은 가변 프레임 레이트 인코딩이 가능하게 한다. 비디오 품질은 경과된 지속 기간을 이용하고, 소스 특징들을 변경하여 조정된다.
본 명세서의 다음의 설명에서, 다양한 약어들이 아래에서 정의된 대로 사용 된다:
VBR - 가변 비트 레이트
PS VT - 패킷 교환 비디오 전화 통신
CADR - 채널 평균 데이터 레이트
HSPA - 고속 패킷 액세스
HRPD - 하이 레이트 패킷 데이터
3G - 3세대
IDR - 동시적인 데이터 레이트
RC - 채널의 레이트(즉, 주어진 채널의 동시적인 데이터 레이트)
RS - 소스의 레이트(즉, 주어진 소스의 동시적인 데이터 레이트)
ADR - 평균 데이터 레이트
UE - 사용자 장비
PDSN - 패킷 데이터 서빙 노드
ADR - 평균 데이터 레이트
QoS - 서비스 품질
VCEG - 비디오 코덱들 사용자 그룹, ITU-T SG 16 WP3 Q.6
IETF - 인터넷 엔지니어링 태스크 포스
RFC - 코멘트들에 대한 요청
RTP - 실-시간 전송 프로토콜
3GPP - 3세대 파트너쉽 프로젝트
DL - 다운링크
UL - 업링크
TTI - 전송 시간 간격
패킷 교환 통신들에서 채널 레이트와 소스 레이트를 매칭하기 위한 이익이 존재할 수 있다. 이익들은 낮은 엔드-투-엔드 지연, 증가된 통계 멀티플렉싱 이득(SMG) 등을 포함할 수 있다. 피드백 기반 VBR(F-VBR)은 세이프된(shaped) VBR(S-VBR) 및 제약된 VBR(C-VBR)보다 더 양호한 성능을 달성할 수 있다.
무선 매체를 통한 패킷 교환 전화 통신들은 특별한 도전들에 빠져있다(pose). 무선 채널들은 패킷 손실하기 쉬울 수 있고, 코덱(인코더-디코더)을 위한 설계는 이러한 손실들에 대해 적절한 에러 탄력성(resiliecy)을 제공하기 위해 필요하다. 여기서, 많은 에러 탄력성 솔루션들이 인코더의 에러 탄력성을 보조해왔고, PS VT에서 사용되는 비디오 코덱들의 레이트 제어 양상들에 영향을 미칠 수 있다.
채널 자원들 및 패킷 손실 특징들은 HSPA 및 HRPD와 같은 무선 채널들에 대해 변할 수 있고, PS VT에 대하여 그 채널을 모니터링하고 피드백 기반 레이트 적응을 사용하는 것은 이익이 된다.
본 명세서는 최적의 레이트 제어에 대한 피드백 메시지들을 이용하는 알고리즘들을 설명한다. HSPA 및 HRPD와 같은 3G 공유된 채널들에서의 패킷 교환 비디오 전화 통신에 대한 피드백 신호들 및 시그널링 메커니즘들은 식별될 수 있다.
본 명세서의 예들의 추가적인 설명에 앞서, 몇몇 수학적 용어들 및 기호 법(notation)이 아래서 정의된다.
동시적인 데이터 레이트(IDR; Instantaneous Date Rate):
Figure 112009048632848-pct00048
. 시스템에서 시간의 가장 작은 가능한 유닛으로 전달되는 비트들의 양. 채널들 및 소스들에 대한 동시적인 데이터 레이트들은 상이한 시간 유닛들을 통해 측정된다. 예를 들어, 비디오 인코더의 동시적인 데이터 레이트는 비디오 프레임에서 코딩된 비트들의 개수를 포함할 수 있고, 이전의 인코딩된 비디오 프레임으로부터 경과된 지속 기간에 의해 나누어진다. 채널에 대한 동시적인 데이터 레이트는 일 TTI에서 비트들의 개수를 포함할 수 있고, 초 단위에서 상기 TTI에 의해 나누어진다. 이는:
UE A 또는 B 각각에 대해 위첨자 x = A 또는 B;
업링크 또는 다운링크 채널들 각각에 대해 아래 첨자 y=u 또는 d;
인덱스 k=0. K-1은 IDR이 측정된, 시간 인스턴스.
라벨 RS는 소스에 대해 사용되거나, 비디오 IDR 및 라벨 RC는 채널 IDR에 대해 사용된다.
소스 IDR
Figure 112009048632848-pct00049
:
Figure 112009048632848-pct00050
에 의해 나누어진 일 코딩된 프레임에서의 비트들의 개수, 여기서 소스 생성 시간 인스턴스
Figure 112009048632848-pct00051
: 현재 인코딩된 비디오 프레임의 시간(초 단위), 초기값
Figure 112009048632848-pct00052
.
채널 IDR
Figure 112009048632848-pct00053
: 일 전송 간격에서의 비트들의 개수,
Figure 112009048632848-pct00054
에 의해 나누어짐,
여기서
Figure 112009048632848-pct00055
: 채널을 통한 현재 전송에 대한 전송 시간 간격(초 단위);
및 채널 전송 시간 인스턴스
Figure 112009048632848-pct00056
: 채널을 통해 현재 전송이 시작하는 시간(초 단위).
소스 평균 데이터 레이트 (S ADR ):
Figure 112009048632848-pct00057
,
여기서,
Figure 112009048632848-pct00058
는 관찰의 지속 기간.
채널 평균 데이터 레이트(C ADR ):
Figure 112009048632848-pct00059
여기서,
Figure 112009048632848-pct00060
는 관찰의 지속 기간.
ADR은 일반적으로 미리-결정된 시간의 지속 기간을 통해 관찰된 평균 레이트이다. 다음의 지속 기간들은 비디오 ADR의 계산을 위해 사용될 수 있다:
지속 기간은 일 GOP일 수 있다.
지속 기간은 시뮬레이션을 위해 사용되는 전체 클립 또는 세션의 전체 지속 기간일 수 있다.
지속 기간은 몇 초의 슬라이딩 윈도우일 수 있다.
3GPP2 가변 레이트 스피치 코덱들에 대해, ADR은 12초의 지속 기간을 통해 계산된다.
용어 레이트(Rate)는 S ADR C ADR 을 표현하기 위해 사용될 수 있고, 이 경우에, 문맥은 용어 레이트(rate)를 S ADR C ADR 과 명확하게 하기 위해 사용될 수 있다.
채널 스루풋:
Figure 112009048632848-pct00061
. TTI의 지속 기간은 일반적으로 비디오 프레임 레이트보다 많이 작다. 용어 스루풋
Figure 112009048632848-pct00062
은 시뮬레이션의 시작부터 시간(n)까지 채널에 의해 전달된 비트들의 개수를 나타내기 위해 사용될 수 있다. 이는 소스에 의해 생성된 2개의 코딩된 패킷들 사이의 간격 동안의 스루풋, 예를 들어 소스 프레임들 n 및 n-1 사이의 채널 스루풋을 결정하기 위해 사용될 수 있다,
Figure 112009048632848-pct00063
일정 비트 레이트 채널(CBR 채널):
Figure 112009048632848-pct00064
인 채널. 예들은 PDTN에서 DS0를 포함한다.
가변 비트 레이트 채널(VBR 채널):
Figure 112009048632848-pct00065
가 샘플된 시간 간격들을 통해 상이한 채널. 예들은 3G 네트워크들에서 HSPA 및 HRPD를 포함한다.
일정 비트 레이트 소스(CBR 소스): 일정 IDR을 생성하는 소스 CODEC.
Figure 112009048632848-pct00066
. 예들은 G.711, G.722.1 등을 포함한다.
가변 비트 레이트 소스(VBR 소스): 샘플된 시간 간격들을 통해 가변 IDR을 생성할 능력이 있는 소스 CODEC. 예들은 13K 보코더(vocoder), EVRC 패밀리, H.263 등을 포함한다.
레이트 제어: 특정 시간 간격을 통해 채널 ADR로 소스 ADR을 매치하기 위한 모듈 또는 프로세스. 시간 간격은 일반적으로 IDR 계산을 위해 사용되는 시간 간격 보다 길다. CBR 채널로 매칭된 CBR 소스에 대해, 레이트 제어에 대한 필요는 일반적으로 존재하지 않는다.
토큰 버킷
Figure 112009048632848-pct00067
: 많은 레이트 제어 접근들에서 사용되는 가상 버퍼. 토큰 버킷들은 일반적으로 매 t i 초들 마다
Figure 112009048632848-pct00068
바이트들인 토큰 도착 레이트, 매 t k 초들마다
Figure 112009048632848-pct00069
바이트들인 패킷 전달 레이트 및
Figure 112009048632848-pct00070
바이트들인 피크 버킷 사이즈에 의해 특징된다. 도 4에서, 토큰 버킷들은
Figure 112009048632848-pct00071
로 도시되고, 여기서 UE A 또는 B에 대해 각각 x=A 또는 B이고, 업링크 또는 다운링크 채널들에 대해 각각 y=u 또는 d이다. 또한, 도 4의 토큰 도착 레이트
Figure 112009048632848-pct00072
및 패킷 전달 레이트
Figure 112009048632848-pct00073
는 시간 인덱스(n)의 함수들이다. 토큰 버킷은 또한 여기서 토큰 버퍼들로 지칭될 수 있다.
도 1과 유사한 도 4에 대한 설명이 되고, 두 개의 UE들, UE A 및 UE B 사이의 피드백 기반 레이트 제어 시스템의 기능 다이어그램의 형태로 일례가 도식적으 로 도시된다. 도 4에서 설명되고 아래에서 설명되는 다양한 기능들이 당행 기술분야에서 널리 알려진 회로에 의해 구현될 수 있다. 설명의 간결함을 위해, UE A 및 UE B와 연관된 네트워크 함수들은 도 4에서 도시되지 않았으나, 각각 PDSN A 및 PDSN B에 의해 나타내었다. 도 4에서, UE A는 비디오 스트림의 전송자로서 도시되고, UE B는 상기 스트림의 수신자로 도시된다.
소스 특징들을 추정하는 추정기(12)의 입력(10)으로 피드되는 비디오 또는 오디오 신호들과 같은 기저대역 신호들을 가정하자. 추정은 이전 프레임 v(n-1)의 그것과 비교하여, 현재 비디오 프레임 v(t)에 대한 왜곡(distortion)을 결정하기 위해 수행된다. 이러한 정보는 각각 토큰 버킷들(
Figure 112009048632848-pct00074
,
Figure 112009048632848-pct00075
)을 가지고 있는 다운링크 성질들/조건들에 대한 수신기(16) 및 업링크 성질들/조건들에 대한 측정기(18)로부터 토큰 정보를 가지고 있는 레이트 결정 알고리즘(RDA)을 이용하는 레이트 결정 모듈(14)에 의해 사용된다. 만약 현재 프레임에 대해 필요한 동시적인 데이터 레이트가 토큰 버킷들(
Figure 112009048632848-pct00076
,
Figure 112009048632848-pct00077
)에서 토큰들의 최소보다 작다면, 현재 프레임은 인코더(20)에 의해 인코딩되며, 그렇지 않다면 인코딩되지 않는다. 인코딩된 신호는 그리고나서 전송 회로를 통해 PDSN A로 전송된다(예를 들어, 도 6 참조).
업링크 성질들/조건들에 대한 측정기(18)에서의 업링크 토큰 버킷
Figure 112009048632848-pct00078
은 업링크를 통한 채널 스루풋, UE A에서의 정보 및 버퍼 점유의 함수에 기반하여 업데이트(토큰들이 부가됨) 된다. 유사하게, 다운링크 성질들/조건들에 대한 수신 기(16)에서의 다운링크 토큰 버킷
Figure 112009048632848-pct00079
은 다운링크를 통한 채널 스루풋 및 버퍼 점유에 기반하여 업데이트(토큰들이 부가됨) 된다. 위에서 설명한 토큰 버킷들(LB)의 사용은 단지 예시적인 예로서 제공됨을 주목해야 한다. RDA로의 입력들처럼 다른 기능들 또한 사용될 수 있다.
도 4에 22로 라벨링된 UE B에서 UE A로 피드백되는 신호 경로가 존재하며, 이 신호 경로는 다양한 형태들로 추측될 수 있다. 신호 경로(22)는 다운링크 채널 성질들/조건들을 UE A와 같은 전송자로 릴레이한다. 신호 경로(22)는 이러한 목적들을 위해 특별하게 할당된 전용 채널일 수 있다. 대안적으로, 신호 경로(22)는 전용 채널일 필요가 없고, 임의의 다른 채널들과 공유될 수 있다. 예를 들어, 다른 전용 채널들의 정보는 다른 채널(들)로 그 대신 피기백(piggyback)될 수 있다.
도 5는 본 명세서와 일치하는 일 예의 동작들을 도시하는 순서도이며, 일반적으로 참조 번호(24)에 의해 표시되어 있다. 타깃 소스 ADR은 QoS 협상과 같은 몇몇 방식을 통해 특정된다. 전체 프로세스(24)는 일반적으로 아래에서 설명을 위해 그룹화될 수 있다.
버퍼 업데이트들과 관련하여, 본 명세서의 일 양상은 업링크 및 다운링크 채널 특성들을 트래킹하기 위해 두 개의 개별 토큰 버킷들을 사용하기 위함이다. 토큰들은 각각의 채널 스루풋들의 함수로서 토큰 버킷들로 삽입되며, 인코딩된 프레임 사이즈들에 기반하여 토큰 버킷들로부터 제거된다. 도 5의 프로세스(24)의 블록들(36, 38)은 버퍼 업데이트 절차들을 도시한다. 버퍼 업데이트 단계는 토큰들 을 토큰 버킷들로 삽입하고 토큰 버킷들로부터 제거되는 서브-단계들을 포함한다.
토큰들을 토큰 버킷들에 삽입하기 위해, 토큰들은 토큰 버킷들(
Figure 112009048632848-pct00080
,
Figure 112009048632848-pct00081
)에 각각의 링크들, 업링크 및 다운링크를 통한 스루풋에 기반하여 추가된다. 스루풋은 이전 인코딩 시간부터 현재 시간까지의 전체 채널 스루풋이다. 유사하게, 토큰들은 성공적인 인코딩 동작 후에 토큰 버킷들로부터 제거된다(deplete). 여기서, 업링크 토큰 버킷은 컨텐트 의존 소스 인코딩 VBR 플랜(plan)을 업링크 VBR 전송 플랜으로 매핑하는 기능을 서빙한다. 유사하게, 다운링크 토큰 버킷은 컨텐트 의존 소스 인코딩 VBR 플랜을 다운링크 VBR 플랜으로 매핑하는 기능을 서빙한다. 이러한 컨텐트 의존 소스 인코딩은 임의의 주어진 시간에서 이용 가능한 채널 자원들 및 결과적인 전송 플랜(resulting transmission plan)들과 유사할 필요가 없는 VBR 패턴들을 발생한다. 마지막으로, 인코딩 결정은 소스 버짓의 추정치들 및 토큰 버킷 점유들에 기반한다. 이러한 동작들은 다음의 등식들에서 설명된다.
블록(36)의
Figure 112009048632848-pct00082
는 업링크를 통한 스루풋, UE A에서의 로컬 통계들에 기반하여 업데이트 되고, 또한 토큰들은 버킷(
Figure 112009048632848-pct00083
)으로 유출(leak)된다. 유사하게, 블록(38)의
Figure 112009048632848-pct00084
는 UE B에서의 다운링크를 통한 스루풋에 기반하여 업데이트 되고, 또한 토큰들은 버킷(
Figure 112009048632848-pct00085
)으로 유출된다. 토큰들이
Figure 112009048632848-pct00086
로 유출되는 레이트는 최소 ADR의 함수이다. 또한,
Figure 112009048632848-pct00087
는 재-포 인팅(re-pointing) 지속 기간(상이한 셀로의 핸드오프들 동안)의 함수이며, 그 결과 다운링크 스루풋은 핸드오프들 동안 과(over) 보상되지 않는다. 또한, 만약 다운링크 피드백이 핸드오프 이후에 특정 지속 기간 후에 수신되지 않으면, 비디오가 새로운 셀에서 유지되지 못하고 있음이 추측될 수 있다. 이러한 상황들에서, 중지(outage)를 초래하는 비디오를 놓치는 것이 가능하다.
Figure 112009048632848-pct00088
위의 등식들에서, f(), g() 및 p()는 몇몇의 일반적인 함수들이다. 또한 f() 및 g()는 여기서 설명되는 미리 결정된 상수들 alpha_d 및 alpha_u(
Figure 112009048632848-pct00089
Figure 112009048632848-pct00090
)이다. 주어진 관찰 윈도우에 대한 스루풋
Figure 112009048632848-pct00091
이 UE B에서의 모듈
Figure 112009048632848-pct00092
에 의해 계산되고, UE A로 "지니(Genie)"에 의해 전달됨을 추측된다. "지니(Genie)"는 존재하는 RTP 페이로드 정의들과 함께 피드백 정보를 피기백하기 위해 주어진 비디오 디코더에 대한 새로운 비트스트림 구문(syntax), 또는 주어진 비디오 비트스트림에 대한 새로운 RFC 패이로드 정의 또는 일반적인 메커니즘을 포함할 수 있다. 또한, "지니(Genie)"는 피드백 정보를 반송하기 위한 전용 논리 채널일 수 있다.
블록(60)에서 토큰 버킷들로부터 토큰들을 제거하는 서브-단계에 대해, 만약 비디오 프레임이 인코딩되고 시간=n에 하위 계층들로 전달되면, 다음의 단계들은 버퍼들을 업데이트하기 위해 취해진다.
Figure 112009048632848-pct00093
에러 완화(mitigation)에서, 전송자가 피드백에 의해 패킷 손실 표시를 수신할 때, 전송자는 수신자에 의해 발생하는 에러 전파(propagation)를 줄이기 위해 현재 프레임의 에러 탄력성을 증가시킨다. 에러 탄력성은 인트라 프레임/슬라이스(Intra frame/slice)를 사용하여, 인트라 매크로블록(Intra macroblock)들의 퍼센트를 증가시켜, 또는 시그널링된 손실에 의해 영향을 받는 마크로-블록들의 인트라 마크로-블록 코딩과 같은 몇몇 기술들에 의해 개선될 수 있다. 도 5의 프로세스(24)의 블록들(48)은 에러 완화 절차를 도시한다.
레이트 결정 알고리즘에 대하여, 도 5의 프로세스(24)의 블록들(32, 42, 46, 48, 50 및 54)은 예시적인 레이트 결정 단계들을 도시한다. 현재 프레임 v(t)에 대해, 모션 추정(ME)이 수행되고, 그리고 나서 ME 메트릭들, 예를 들어 절대 차들의 총합(SAD) 또는 제곱된 차들의 총합(SSD)이 블록(48)에서 수집된다. 블록(46)에서 이러한 수집된 메트릭들 및 패킷 손실 표시를 이용하여, 블록(48)의 레이트 제어 알고리즘은, 블록(50)의 제한 아래의 최소 왜곡
Figure 112009048632848-pct00094
을 초래하기 위해 QP 들(프레임 QP 또는 슬라이스 QP, 및
Figure 112009048632848-pct00095
) 및 각각의 매크로블록에 대한 모드들(인트라 또는 인터)을 선택한다.
Figure 112009048632848-pct00096
, 여기서
Figure 112009048632848-pct00097
는 레이트 제어 모듈로부터 추정된 소스 IDR이다.
Figure 112009048632848-pct00098
를 인코딩 이후의 실제 소스 IDR이라 하자. 만약 블록(50)에서
Figure 112009048632848-pct00099
, 블록(54)에서
Figure 112009048632848-pct00100
이면, V(n)는 블록(58)에서 인코딩되며,
Figure 112009048632848-pct00101
,
Figure 112009048632848-pct00102
는 블록(60)에서 유사하게 업데이트 된다. 결과
Figure 112009048632848-pct00103
가 또한 블록(46)에서 타깃 소스 ADR에 의해 설정되는 조건을 만족시켜야함을 주목하라. 그렇지 않으면, V(n)는 블록(32)에서 인코딩된다.
상기 접근의 일 유용한 양상은 인코딩 결정이 블록(54)의
Figure 112009048632848-pct00104
에 기반한다는 것이다. 여기서 z()는 디그레이데이션 허용치에 대응하며, 이는 이전에 인코딩된 품질, 현재 프레임 및 이전에 인코딩된 프레임, 및 모션 벡터들 사이의 시간적인(temporal) 거리의 함수이다. 이러한 함수는 현재 프레임을 인코딩 할 때 얼마나 많은 디그레이데이션이 허용될 수 있는지를 결정하고, 만약 디그레이데이션이 허용치를 만족하면, 프레임은 인코딩되며, 그렇지 않으면 인코딩되지 않는다. 프레임들이 인간 시각 시스템(HVS)이 빠른 움직임 장면에 대한 프레임 품질에 덜 민 감하고, 정적인 장면들에 대한 프레임 품질에 더욱 민감한 사실을 처리하기 위해, 인코딩 장치는 프레임이 정적인 모션들을 포함할 때 더 높은 허용치를 사용할 수 있고, 높은 모션 컨텐츠를 포함할 때 더 작은 허용치를 사용할 수 있다. 허용치를 계산하기 위해
Figure 112009048632848-pct00105
Figure 112009048632848-pct00106
에 의해 정규화됨을 주목해라. z()의 일 예는
Figure 112009048632848-pct00107
일 수 있다. 일 예로서, 만약
Figure 112009048632848-pct00108
dB 보다 낮은 디그레이데이션이 연속적인 프레임들 사이에서 허용되면,
Figure 112009048632848-pct00109
이다. 이러한 예는 높은 모션 컨텐트, 예를 들어 더 큰 값
Figure 112009048632848-pct00110
을 사용함으로써 짧은 관찰 윈도우(작은
Figure 112009048632848-pct00111
)를 통한 높은
Figure 112009048632848-pct00112
에 대해 추가적으로 확장될 수 있다.
도 6은 도 1에서 도시된 UE A 또는 UE B에 대한 것과 같이, 일 장치의 예시적인 하드웨어 구현을 참조 번호 60으로 표시하여 도식적으로 도시한다. 장치(60)는 무선 라디오전화, 랜드라인(landline) 디지털 전화 통신 장치, 랩톱 컴퓨터, 또는 개인 휴대 단말(PDA) 등과 같이 몇몇으로 명명 지어지는 다양한 형태들로 구현되고 통합될 수 있다. 본 명세서의 기술들이 무선 환경에서 사용되기 위해 반드시 제한되는 것은 아님을 강조할 필요가 있다.
장치(60)는 몇몇 회로들을 함께 연결하는 중앙 데이터 버스(62)를 포함할 수 있다. 회로들은 CPU(Central Processing Unit) 또는 제어기(64), 수신 회로(66), 전송 회로(68), 및 메모리 유닛(70)을 포함한다. 장치(60)가 무선 장치의 일부분 이면, 수신 및 전송 회로(66, 68)는 RF(Radio Frequency) 회로에 연결될 수 있으나, 이 RF 회로는 설명의 편의 및 간결함을 위해 도 6에서 도시되지 않는다. 수신 회로(66)는 데이터 버스(62)를 통해 신호들을 전송하기 전에 수신된 신호들을 처리하고 버퍼링한다. 반면에, 전송 회로(68)는 장치(60)로부터 데이터를 전송하기 전에 데이터 버스(62)로부터 데이터를 처리하고 버퍼링한다. CPU/제어기(64)는 데이터 버스(62)의 데이터 관리의 기능을 수행하고, 추가적으로 메모리 유닛(60)의 명령 내용들을 실행하는 것을 포함하는 일반적인 데이터 프로세싱의 기능을 수행한다.
도 6에서 도시된 바와 같이 개별적인 컴포넌트들로 존재하는 것 대신에, 선택적으로, 전송 회로(68) 및 수신 회로(66)는 CPU/제어기(64)의 일부분일 수 있다. 메모리 유닛(70)은 일반적으로 참조 번호(72)에 의해 표시되는 명령들의 일 세트를 포함한다. 이러한 경우에, 명령들은 다른 것들 중에서, 소스 특성들의 추정기(12), 레이트 결정 모듈(14), 업링크 성질들/조건들(16)의 수신기, 다운링크 성질들/조건들에 대한 측정기(18), 및 인코더(20)를 포함한다. 모듈들(12, 14, 16, 18, 20)의 다양한 기능들은 설명되었고, 대체로 도 4에서 도시되었다.
이러한 예에서, 메모리 유닛(70)은 랜덤 액세스 메모리(RAM) 회로를 포함할 수 있다. 예시적인 모듈들(12, 14, 16, 18, 20)은 소프트웨어 루틴들 및/또는 데이터 세트들을 포함할 수 있다. 메모리 유닛(70)은 휘발성 또는 비휘발성 타입 중 어느 하나일 수 있는 다른 메모리 회로(미도시)에 결합될 수 있다. 대안적으로, 메모리 유닛(50)은 EEPROM(전기적으로 소거 가능한 프로그래밍 가능한 읽기 전용 메모리), EPROM(전기적으로 프로그래밍 가능한 읽기 전용 메모리), ROM(읽기 전용 메모리), ASIC(애플리케이션 특정 집적 회로), 자기 디스크, 광디스크, 및 당해 기술분야에서 널리 알려진 다른 것들과 같은 다른 회로 유형들로 구성될 수 있다.
도 4 및 5에서 대체로 도시되고 설명된 구조 및 기술들은 또한 당해 기술분야에서 알려진 임의의 컴퓨터-판독가능 매체를 포함하는 컴퓨터-판독가능 명령들로서 코딩될 수 있음을 추가적으로 주목해야 한다. 이 명세서에서, 용어 "컴퓨터 판독가능 매체"는 실행을 위해, 도 6에서 도시되고 설명된 CPU/제어기(64)와 같은 임의의 프로세서에 명령들을 제공하는 것에 참여하는 임의의 매체를 지칭한다. 이러한 매체는 저장소 타입일 수 있고, 예를 들어, 도 6의 메모리 유닛(70)의 설명 부분에서 앞서 설명한 것처럼 휘발성 또는 비-휘발성 유형을 취할 수 있다. 이러한 매체는 또한 전송 유형일 수 있고, 동축 케이블, 구리 선, 광케이블, 머신들 또는 컴퓨터들에 의해 판독 가능한 신호들을 반송(carry)할 능력이 있는 어쿠스틱(acoustic), 전기자기 또는 광파들을 반송하는 무선 인터페이스를 포함할 수 있다. 본 명세서에서, 신호-반송파들은 특정하게 식별되지 않으면, 광, 전기자기, 및 어쿠스틱 파들을 포함하는 매체 파들로 집합적으로 지칭된다. 컴퓨터 프로그램 물건은 본 명세서의 기술을 실행하는 소프트웨어 명령들을 팔거나 배포하기 위해 사용될 수 있는, 컴퓨터-판독매체를 포함하는 실체적인 물리적 매체를 지칭한다. 컴퓨터 프로그램 물건은 패키징(packaging) 용구들을 포함할 수 있다.
인코더(20)는 업링크 채널 또는 다운링크 채널 또는 둘 모두에 대한, 채널 스루풋들을 매치하기 위해 소스 IDR을 조절할 수 있다. 본 명세서의 기술들은 또 한 인코더가 가변 프레임 인코딩을 이용하도록 허용하고, 종종 혼잡한 셀에서 핸드오프가 수행되는 경우처럼 스루풋이 영(zero)일 때, 제한적인 경우에서 프리즈 프레임(freeze frame)을 허용할 수 있다. 본 명세서의 기술들을 실행하기 위해 필요한 스케줄러 특정 정보가 존재하지 않는다. 즉, 요구되는 기술들은 임의의 개인 소유의(proprietary) 스케줄러들과 함께 수행하도록 의도된다.
상기 명세서의 특징들 중 적어도 일부는 다음과 같이 요약될 수 있다. 레이트 결정 알고리즘은 (a) 관찰되는 업링크 스루풋의 함수, (b) 관찰되는 다운링크 스루풋의 함수, (c) 이전에 인코딩되고 전송된 데이터와 비교되는 입력 소스 변화성, (d) 요구되는 압축 품질, 및 (e) 특정 ADR에 기반한다. 제안된 솔루션은 가변 프레임 레이트 인코딩을 수행하고, 여기서 출력 프레임 레이트는 (a) 관찰되는 업링크 스루풋, (b) 관찰되는 다운링크 스루풋, (c) 이전에 인코딩되고 전송된 데이터와 비교되는 입력 소스 변화성 및 (d) 요구되는 압축 품질의 함수이다.
제안된 솔루션은 (a) 이전에 인코딩된 프레임 품질, (b) 이전에 인코딩된 프레임 및 현재 시간 사이의 시간적(temporal) 거리, 및 (c) 소스 특성들을 변하게 하는 함수로서 인코딩된 품질을 조절한다. 제안된 솔루션은 두 개의 개별적인 토큰 버킷들을 사용하여 업링크 및 다운링크 채널 특성들을 트래킹(track)한다. 토큰 버킷들의 각각은 각각의 스루풋들, 최대 버킷 사이즈들 및 현재 버킷 점유들의 함수를 이용하여 업데이트된다. 다운링크 토큰 버킷은 최소 평균 데이터 레이트 및 조건들 및 핸드오프들을 로딩(load)하는 동안의 핸드오프 지속 기간의 함수를 이용하여 토큰들과 함께 추가적으로 유출된다.
도 7은 각각 24, 28, 36, 44명의 사용자들을 가진 상이한 시스템들에 대한 4개의 프레임 레이트 히스토그램들을 도시한다. 도 7은 사용자들의 수가 증가함에 따라, 여기서 설명된 레이트 제어 알고리즘이 더 많은 프레임들을 스킵함을 도시하고, 이는 사용자 경험(experience) 및 시스템의 사용자의 수 사이의 적절하게 트레이드-오프(trade-off)하는 능력을 설명한다.
이러한 네트워크의 시스템 레벨 성능을 결정하는 것은, 피드백 루프들, 신호 레이턴시, 사이트(site) 선택, 프로토콜 실행, 랜덤 패킷 도착, 및 다중 경로 페이딩(fading) 환경에서의 이동성(mobility) 등을 정확하게 모델링하기 위해, 복수의 사용자들 및 복수의 셀들을 시뮬레이션할 수 있는 이벤트-구동(event-driven)되고, 동적인 시스템 시뮬레이션 툴들을 요구한다. 시뮬레이션들에 대해, 다음으로 요약된 가정들을 따를 수 있다:
a) 초당 1500 슬롯들, 그리고 초당 3840000 칩들,
b) 기지국들의 개수는 19, 기지국 당 섹터들은 3, 섹터 당 사용자들의 수는 중심 셀에서 24 내지 52 사이,
c) 셀 반지름은 1620 미터,
d) 안테나 모델은 2, 채널 모델은 보행자 A(Pedestrian A)(3km/h), 그리고
e) 균형 잡힌 공편 스케줄러가 사용됨.
본 명세서의 기술들과 일치하게, 랜드-투-모바일(land-to-mobile) 호출 시나리오들은, 시스템 로딩으로 인한 노드-B에서의 스케줄러의 효과를 연구하기 위해, 시뮬레이트 되었다. 이는 정규 간격들에서 일정한 사이즈의 토큰들을 업링크 토큰 버킷
Figure 112009048632848-pct00113
에 부가하고, 와이어라인(wireline) 업링크에 대한 CBR 채널을 시뮬레이팅 함으로써 수행되었다. 64 kbps 채널의 특정된 QoS에 대해, 이는 매 100ms 마다 800바이트들을 발생한다.
일반적으로, 데이터 트래픽 모델은 무선 링크 알고리즘들/설계들 및 엔드-유저 애플리케이션들 사이의 상호작용을 캡쳐(capture)하기 위해 필요하다. 최선 노력 모델들은 TCP/IP를 통한 웹 브라우징 및 다른 애플리케이션들의 특성을 기술한다. 그들은 폐루프(closeloop) 트래픽 모델에 무선 링크의 품질 및 무선 네트워크의 패킷 스케줄러의 정책들에 의존하여 가변 사이즈 IP 패킷들을 제공한다. 실-시간 모델들은 무선 인터페이스의 성능을 테스트하기 위해 패킷 로스 요구 사항들과 지연 보증(guarantee)들을 결합한다. 이러한 보증들을 만족시키기 위해 무선-인터페이스의 능력은 블로킹(blocking) 확률 및 최선 노력 서비스들을 위해 남아있는 잔여 용량 둘 모두에 의해 측정될 수 있다.
비디오 트래픽 모델을 건설하는 어려움들을 극복하기 위해, 시뮬레이션들은 상기의 이벤트 드리븐, 다중-사용자, 다중-셀 시뮬레이션 플랫폼에서 H.263+ 비디오 코덱을 구현했다. 이 시뮬레이션에서 사용된 특정한 설정들은 다음과 같다:
a) 사용한 비디오 코덱은, 수신기로부터의 패킷 손실 피드백에 기반하여 상기 제안된 피드백 및 적응 가능한 인트라 매크로블록 리프레시(refresh)를 사용하기 위해 변형된 TMN8 레이트 제어와 함께 H.263+(Annexes I, J, K, T)이고,
b) 타깃 비트레이트는 64 kbps로 설정되었고, GOP 구조는 인코딩을 위해 사용되지 않았으며,
c) 입력 소스는 노미널 프레임 레이트 10 fps인 Foreman QCIF 시퀀스였고, 호출 지속기간은 30 초였고,
d) 가상 채널은 UE B에서 UE A로 피드백을 수행하기 위해 사용되었다. 가상 채널은, 적시의 피드백의 이점들을 평가하기 위해, 설정 값으로 피드백 정보를 지연한다.
평균 피크 신호-대-잡음비(PSNR)는 재구성된 비디오 시퀀스들의 지각력 있는(perceptual) 품질과 잘 상호 관련되지 않는다. 이는 특정하게 에러 경향이 있는(prone) 환경들을 악화시키고, 비디오 인코딩의 예상(predictive) 특성으로 인해, 단일 패킷 에러는 일반적으로 다수의 비디오 프레임들(에러 전파)에서 PSNR 디그레이데이션을 초래한다. 따라서 디코딩된 비디오 품질을 가진 효과 패킷 손실들을 "객관적으로(objectively)" 캡쳐하는 것이 이익이 될 것이다. 이러한 에러 전파 효과를 캡쳐하기 위해, 새로운 객관적 메트릭 pDVD(percentage degraded video duration)이 사용될 수 있다. pDVD는 패킷 손실들로 인해 오류가 있는 비디오 시퀀스 지속 기간의 퍼센티지를 표시하며, 즉 프레임의 PSNR은 깨끗한 인코딩된 프레임의 PSNR과 비교될 때 상당하게 디그레이드 되었다.
pDVD는 아래의 식으로 정의될 수 있다,
Figure 112009048632848-pct00114
(8)
여기서,
Figure 112009048632848-pct00115
Figure 112009048632848-pct00116
는 각각 에러-없는 그리고 에러-경향이 있는 조건들 하의 n번째 프레임의 PSNR이고, y가 트루(true)이면 l(y)은 1, 그렇지 않으면 0이고, x는 미리 정의된 임계치이며, N은 비디오 시퀀스 내의 프레임들의 개수이다. PSVT 서비스의 목표들 중 하나는, PSNR을 최대화하면서 pDVD를 최소화하는 것이다.
레이트 적응 알고리즘의 하나의 이점을 설명하기 위해, 피드백을 이용하고 피드백을 이용하지 않는 로그된(logged) 패킷 지연들의 CDF를 비교할 수 있다. 이러한 비교는 도 8에서 도시된다. 피드백이 이용되지 않으면, 패킷들의 40%이상이 2초보다 더 큰 엔드 투 엔드 지연을 갖는다. 그러나 피드백이 이용되면, 패킷들의 90%에 대한 지연이 피드백 시간 상수들 1000, 500, 200 ms에 대해 각각 1.8, 1.25, 0.18초 주변이다. 이러한 패킷 지연에서의 두드러진 감소는, 본 명세서의 기술들의 이점을 명확하게 설명한다. 또한 도 8에서, 개선된 성능이 더 빠른 피드백을 이용함으로써 가능함이 명백하다, 예를 들어 피드백 상수가 200ms이면 최대 패킷 지연은 350ms 주변이다. 도 8에서, 피드백을 이용하지 않은 조건은 정규 간격들에서의 일정 사이즈 토큰들을 다운링크 토큰 버킷
Figure 112009048632848-pct00117
에 부가함으로써 시뮬레이트 된다. 피드백 시간이 감소되면, 관찰되는 패킷 지연이 감소되고, 이는 채널 조건들을 매치하기 위해 인코더 레이트를 제약(throttle)하기 위한 적시의 피드백을 위한 필요를 제안한다.
64kbps 채널의 특정 QoS에 대해, 이는 매 2ms마다 16바이트들을 발생한다. 더 많은 사용자들이 셀에 진입하면, 각각의 사용자가 이용 가능한 대역폭은 전에 언급한대로 감소한다. 이 감소된 이용 가능한 대역폭에서 합리적인(reasonable) 비디오 품질을 지원하기 위해, 인코더는 프레임들의 일부를 인코딩하는 것을 스킵해야 한다.
도 7은 시스템의 사용자들의 수가 증가함에 따라 인코딩된 프레임 레이트의 변화를 도시한다. 도 7의 네 개의 그림들은 24, 28, 36, 44명의 사용자들에 대한 프레임 레이트 히스토그램을 표시한다. 더 많은 사용자들이 셀에 진입함에 따라 평균 프레임 레이트를 감소함으로써, 설명된 시스템이 사용자 경험 및 시스템 내의 사용자들의 수 사이의 적절한 트레이드-오프를 하기 위한 능력을 설명함이 관찰될 수 있다.
도 9는 상이한 사용자의 수가 셀 내에 존재할 때 패킷 지연 CDF를 도시한다. 셀 내에 24명의 사용자들이 존재하는 경우에, 최대 패킷 지연이 170ms, 패킷 CDF의 100개 중 90번째 포인트가 100ms 근처임이 관찰될 수 있다. 엔드 투 엔드 지연을 낮은 값으로 유지하는 것을 확보함으로써, 비디오 지연이 대화형 애플리케이션에서 사용자 경험에 최소의 영향을 미칠 것임이 예상될 수 있다. 사용자들의 수가 증가할지라도, 패킷 지연 값들이 서비스를 사용하지 못하게 하도록 극적으로 증가하지 않을 것이 요구된다. 도 9에서, 44명의 사용자들이 있더라도, 패킷 CDF의 100개 중 90번째 포인트가 여전히 대화형 서비스를 위해 수용 가능한 값인 350ms 주변임이 관찰될 수 있다.
현저하게, 도 9에서, 3GPP는 340ms의 100분의 1 중 95번째 포인트를 비디오 서비스들을 위한 일 방향 엔드-투-엔드 전송 지연으로서 특정했다. PSNR 및 pDVD의 객관적인 메트릭들이 아래의 테이블 Ⅰ에서 두 개의 전형적인 사용자들에 대해 나타난다. 프레임이 디그레이드된 것으로 선언하기 위한 pDVD 임계치 x(등식 (8) 참조)는 2dB로 설정되었다. 200ms의 피드백 시간 상수로, 모든 패킷들은 플레이백(playback)(0의 pDVD 값으로 표시되었듯이)에 대해 제때에 수신됨이 관찰될 수 있다. 깨끗한 PSNR 값은 "피드백이 없는(no feedback)" 경우와 비교할 때 200ms의 피드백 지연의 경우보다 낮다. 이는 채널 조건들이 디그레이드될 때 인코더가 할당되는 비트들을 감소시키는 것에 기인한다. 그러나 본 방식의 이점은 손실이 많은 PSNR을 비교함으로써 명확하게 설명된다. 이는 적절한 피드백이 채널 조건들에 관하여 전송자에게 이용가능하게 될 때에, 인코더가 패킷들이 과도하게 지연되지 않도록 확보하기 위해 자신의 전송을 조절할 수 있고, 따라서 수신자에서의 비디오 품질이 현저하게 개선될 수 있음을 설명한다.
설명된 기술들의 이점들은 또한 아래의 테이블 Ⅰ로부터 관찰될 수 있고, 이는 피드백이 전혀 때에 맞지 않거나 전혀 이용가능하지 않을 때, 사용자들이 더 많은 시스템 자원들(예를 들어, 전체 비트레이트)을 소비함을 도시한다. 그러나 수신자에서의 높은 pDVD 값들 및 낮은 PSNR에 의해 입증되듯이 이러한 추가적인 자원들이 더 양호한 사용자 경험으로 해석되지는 않는다.
테이블 Ⅰ
사용자 수 피드백
지연
비트레이트
(kbps)
PSNR
(clean)
PSNR
(lossy)
pDVD
(%)
1 200 52.05 33.24 33.24 0
1 500 58.11 33.29 18.26 79.5
1 피드백 없음 64.02 33.36 16.9 88.7
2 200 59.58 33.31 33.31 0
2 500 62.84 33.36 32.98 10.9
2 피드백 없음 64.02 33.36 23.93 57.3
일반적으로, 테이블 Ⅰ은 상이한 피드백 시간 상수들에 대한 두 사용자들에 대해 획득되는 객관적인 메트릭들을 제공한다. 200ms의 피드백 시간 상수에 대해 모든 패킷들이 플레이백에 대해 적시에 수신됨이 관찰될 수 있다. 또한 적시의 피드백이 이용가능하지 않을 때, 시스템 자원들(예를 들어, 증가된 비트레이트)의 추가적인 사용이 개선된 사용자 경험으로 해석되지 않을 것이라는 것이 보일 수 있다.
다음의 설명은 피드백 정보를 UE-B에서 UE-A로 전송하기 위한 몇몇의 선택사항들을 언급한다. RTCP 및 RTCP APP 패킷들과 같은 전형적인 방법들은 관찰된 스루풋 정보를 피드백하기 위해 사용될 수 있다. 또한, RTP 헤더 확장(extension)들과 같은 접근들은 효율적으로 피드백 정보를 전달하기 위해 이용될 수 있다. 많은 다른 설계 선택들이 가능하나, 상기의 예들은 피드백 채널 설계 선택들의 pros 및 cons를 설명할 수 있다. 모든 이러한 선택사항들에서, 존재하는 구현들은 피드백 정보를 무시할 수 있고, 하위 호환성(backward compatibility)을 제공할 수 있다.
128 kbps의 최대 비트레이트(H.263 Profile 3 Level 45, MPEG-4 Simple Profile Level 1b, H.264 Baseline Profile Level 1b)를 가정하면, 두 옥텟 필드는 옥텟들에서 관찰되는 스루풋을 전달하기에 더욱 적절하다. 만약 피드백 정보가 매 200ms마다 전송되면, 피드백 메시지는 80 bps의 대역폭을 요구한다. 사용된 피드백 메커니즘에 의존하여, 추가적인 오버헤드가 존재할 수 있다. 전형적인 RTCP 및 RTCP APP 패킷들에 대해, 이러한 오버헤드는 메시지 당 90 내지 120 옥텟들만큼 높을 수 있고, 4800 bps 까지의 대역폭을 초래한다.
혼합되지 않은(non-compound) RTCP APP 패킷들을 사용하여, 최소 APP 패킷 사이즈는 16 옥텟들이며, 관찰되는 스루풋 정보에 대한 2개의 옥텟들을 포함한다. 이는 640 bps의 대역폭 요구를 발생한다. RTP 헤더 확장들에 대해, 8 옥텟들은 RTP 패이로드(payload) 스트림 내에서 피드백 정보를 전달하기에 적절하고, 이는 320 bps의 대역폭을 초래한다. 현저하게, 피드백 정보는 PSVT와 같은 양-방향 서비스들에 대해서만 RTP 스트림으로 통합될 수 있다.
몇몇 패킷 교환 서비스들에서, RTCP를 턴-오프 하는 것이 가능하다. 또한, RTP는 사용자들이 셀 에지(edge) 조건들에 있을 때 RTCP 보다 더욱 신뢰성이 있을 수 있다. 이는, 빠른 피드백이 필요할 때 바람직할 수 있는 비-RTCP 기반 메커니즘들의 사용을 제안한다. 일반적으로, RTP/AVP 프로파일 내의 RTCP 메시지들은 매 5초마다 한번 씩 전송된다. RTP/AVPF 프로파일로, RTCP 메시지들은 더욱 자주 전달될 수 있다. RTCP를 위한 RTP 대역폭의 전형적인 5% 대역폭을 가정하면, RTP/AVPF 프로파일은 여전히 때에 맞는 방식으로 피드백을 전송하기 위해 RTP/AVP의 제한들을 가지며 여기서 설명된 이점들을 실현한다. 이에 대한 솔루션은 혼합되지 않은 RTCP APP 패킷들과 함께 RTP/AVPF 프로파일이다.
오버헤드가 혼합되지 않은 RTCP APP 패킷들보다 작기 때문에, 전송자로 적절하게 피드백하기 위한 요구를 채우는 것이 가능할 수 있다. RTP 헤더 확장들로, 피드백 정보가 때에 맞는 방식으로 전달될 수 있고 RTCP 기반 접근 보다 더욱 신뢰성이 있을 수 있음을 주목할 만하다.
본 명세서의 설명된 레이드 적응 기술들은 비디오 소스를 인코딩하면서 (i) 패킷 손실들, (ii) 변하는 채널 스루풋 및 (iii) 비디오 소스 특징들을 고려할 수 있다. 설명된 기술들의 이점들을 설명하기 위해, 시스템 레벨 시뮬레이션 결과가 표준 바디(body)들에 채택된 현식적인 시뮬레이션 조건들을 이용하여 설명되었다. 인코더에서 채널 대역폭을 고려함으로써, 무선 네트워크들을 통한 비디오 패킷들의 전송 레이턴시가 현저하게 감소될 수 있고, 따라서 PSVT 서비스들에서 개선된 사용자 경험을 확보한다. 레이턴시를 제어하는 추가적인 이점은 관찰되는 비디오 패킷 지터(jitter)에서의 감소이고, 따라서 개선된 오디오/비디오 동기화를 가능하게 한다. 또한 우리의 제안된 접근은, 불변하는 비디오 프레임 품질을 유지하면서 은연중에 인코딩 프레임 레이트를 감소시킴으로써, 더욱 많은 PSVT 사용자들이 시스템에 진입함에 따른 적절한 디그레이데이션을 제공하는 능력을 가진다.
도 10은 본 명세서의 다양한 기술들을 구현하는 능력이 있는 일 예적인 시스템을 도시하는 예시적인 블록 다이어그램이다. 도 10에서, 액세스 단말(AT, 1002) 및 AT(1004)는 네트워크(1006)를 통해 서로 통신한다. 네트워크(1006)는 액세스 포인트(AP)들(1402, 1404)을 포함할 수 있다. AP(1402)는 업링크(1007)를 통해 AT(1002)로부터 데이터를 수신하고, AP(1004)는 다운링크(1008)를 통해 네트워크(1006)에서 AT(1004)로 데이터를 전송한다. AP들(1402, 1404)은 아마 많은 라우터들 및 스위치들을 통해, 네트워크(1006)에서 통신적으로 연결될 수 있다.
두 AT들(1002, 1004)은 도 10에서 도시되고, 본 명세서의 기술들은 임의의 개수의 AT들에 대한 멀티미디어 VT를 지원하기 위해 확장될 수 있다. AT(1002)의 컴포넌트들은 정보 캡쳐, 인코딩 및 전송을 설명하기 위해 도시되며, AT(1002)의 컴포넌트들은 정보 수신, 디코딩 및 디스플레이를 설명하기 위해 도시된다. 그러 나 AT들(1002, 1004)은 2-방향(2-way) VT 통신을 지원하기 위해 대등한(reciprocal) 컴포넌트들을 포함할 수 있다. 즉, AT(1002)는 장치(1004)에 대해 설명된 컴포넌트의 전부를 포함할 수 있고, 그 반대도 가능하다. AT들(1002, 1004)은 무선 통신 장치들, VT 핸드셋들, 개인 휴대 단말(PDA)들, 랩탑 또는 데스크탑 컴퓨터들, 또는 VT 기능을 포함하는 임의의 유형의 장치를 포함할 수 있다. 일부 경우들에서, AT들(1002, 1004) 중 하나는 비-무선 랜드-라인 단말을 포함할 수 있다.
AT(1002)는 업링크 스루풋을 결정하기 위한 모듈(1110), 다운링크 스루풋을 결정하기 위한 모듈(1112), 버짓을 결정하기 위한 모듈(1114), 코딩하기 위한 모듈(1116), 전송하기 위한 모듈(1118), 수신하기 위한 모듈(1120) 및 캡쳐링하기 위한 모듈(1121)을 포함한다. 그러나 이러한 컴포넌트들 전부는 본 명세서의 양상들을 실행하기 위해 필요하지 않을 수 있다. 상이한 모듈들(1110, 1112, 1114, 1116, 1118, 1120, 1121)은 버스(1115) 또는 다양한 직접 또는 간접 인터페이스들을 통해 통신적으로 연결될 수 있다.
업링크 스루풋을 결정하기 위한 모듈(1110) 및 다운링크 스루풋을 결정하기 위한 모듈(1112)은 여기서 설명한 바와 같이 토큰 버킷들을 포함할 수 있다. 업링크 스루풋을 결정하기 위한 모듈(1110)은 예를 들어, 업링크(1007)를 통해 전송된 패킷 사이즈들에 기반하여 토큰들을 부가함으로써, 업링크(1007)를 통해 스루풋을 모니터링한다. 업링크 스루풋을 결정하기 위한 모듈(1110)은 관찰 윈도우 동안 업링크(1007)를 통한 스루풋을 총합하기 위해 두 개의 성공적인 인코딩 연산들의 관 찰 윈도우를 통한 총합 연산을 구현할 수 있다.
다운링크 스루풋을 결정하기 위한 모듈(1112)은 예를 들어 AT(1004)로부터의 피드백에 기반하여 다운링크(1008)를 통해 전송된 패킷 사이즈들에 기반하여 토큰들을 부가함으로써, 다운링크(1008)를 통한 스루풋을 모니터링한다. 다운링크 스루풋을 결정하기 위한 모듈(1112)은 또한 관찰 윈도우 동안 다운링크(1008)를 통한 스루풋을 총합하기 위해 두 개의 성공적인 인코딩 연산들의 관찰 윈도우를 통해 총합 연산을 구현할 수 있다. 다시, 이러한 다운링크 정보는, 여기서 설명된 바와 같이 AT(1004)로부터 다시 피드백된다.
버짓을 결정하기 위한 모듈(1114)은 임의의 주어진 인스턴스에서 (비디오 프레임과 같은) 주어진 비디오 유닛을 코딩하기 위해 필요한 데이터의 양을 계산한다. 버짓을 결정하기 위한 모듈(1114)은 이전에 코딩된 프레임에 대하여 현재의 비디오 프레임 사이의 차에 기반하여 이러한 데이터의 양을 계산할 수 있다. 프레임을 코딩하지 않고 더 많은 시간이 경과하면, 프레임을 코딩하기 위해 필요한 데이터의 양은 일반적으로 이전에 코딩된 프레임으로부터 현재의 장면의 부가된 시간적(temporal) 거리에 기인하여 증가한다(따라서 더 큰 시각적 차이들이 존재함).
코딩하기 위한 모듈(1116)은 오디오-비디오 CODEC을 포함할 수 있다. 코딩하기 위한 모듈(1116)은 AT(1004)로의 통신을 위해 끊김없이(seamlessly) 오디오 정보를 코딩할 수 있지만, 업링크(1007) 및 다운링크(1008)의 측정된 스루풋에 선택적으로 기반하여 비디오 정보를 코딩하기 위해 본 발명의 기술들을 이용할 수 있다.
전송하기 위한 모듈(1118)은 무선 또는 유선-기반 송신기를 포함할 수 있고, 수신하기 위한 모듈(1120)은 무선 또는 유선-기반 수신기 유닛을 포함할 수 있다. 몇몇 경우들에서, 전송하기 위한 모듈(1118) 및 수신하기 위한 모듈(1120)은 집적화된 송수신기를 포함할 수 있다.
캡쳐하기 위한 모듈(1121)은 VT를 위한 사용자 입력을 캡쳐하기 위한 하나 이상의 유닛들을 포함할 수 있다. 캡쳐하기 위한 모듈(1121)은 오디오 정보를 캡쳐하기 위한 마이크로폰과 같은 하나 이상의 오디오 캡쳐 유닛들, 및 비디오 정보를 캡쳐하기 위한 카메라와 같은 하나 이상의 비디오 캡쳐 유닛들을 포함할 수 있다.
네트워크(1006)는 임의의 네트워크 구성을 포함할 수 있고, 몇몇 예들에서 인터넷을 포함할 수 있다. 네트워크(1006)는 임의의 매우 다양한 공공 또는 사유 네트워크들을 포함할 수 있다. 네트워크(1006)는 AT(1002)로 그리고 AT(1002)로부터의 통신을 용이하게 하기 위해, 그리고 AT(1004)로 그리고 AT(1004)로부터의 통신을 용이하게 하기 위해 액세스 노드들을 포함할 수 있다.
AT(1004)는 다운링크 스루풋을 결정하기 위한 모듈(1122), 전송하기 위한 모듈(1124), 수신하기 위한 모듈(1126), 코딩하기 위한 모듈(1128), 및 출력하기 위한 모듈(1130)을 포함할 수 있다. 다운링크 스루풋을 결정하기 위한 모듈(1122)은 여기서 설명된 바와 같이 토큰 버킷들을 포함할 수 있다. 다운링크 스루풋을 결정하기 위한 모듈(1122)은 예를 들어, 다운링크(1008)를 통해 수신된 패킷 사이즈들에 기반하여 토큰들을 부가함으로써 업링크(1008)를 통한 스루풋을 모니터링한다.
전송하기 위한 모듈(1118)은 무선 또는 유선-기반 송신기 유닛을 포함할 수 있고 수신하기 위한 모듈(1120)은 무선 또는 유선-기반 수신기 유닛을 포함할 수 있다. 몇몇 경우들에서, 전송하기 위한 모듈(1118) 및 수신하기 위한 모듈(1120)은 집적화된 송수신기를 포함할 수 있다. 출력하기 위한 모듈(1130)은 멀티미디어 데이터를 사용자에게 출력하는 하나 이상의 출력 유닛을 포함할 수 있다. 예를 들어, 출력하기 위한 모듈(1130)은 오디오 출력을 위한 하나 이상의 스피커들 및 비디오 출력을 위한 하나 이상의 디스플레이들을 포함할 수 있다.
본 명세서에 따라서, 업링크 스루풋을 결정하기 위한 모듈(1110)은 업링크(1007)를 통해 AT(1002)에서 네트워크(1006)의 제 1 액세스 노드로의 멀티미디어 데이터 통신과 연관된 제 1 스루풋 레벨을 결정한다. 다운링크 스루풋을 결정하기 위한 모듈(1112)은 AT(1004)에서 AT(1002)로의 피드백에 기반하여 다운링크(1008)를 통해 네트워크(1006)의 제 2 액세스 노드에서 AT(1004)로의 멀티미디어 데이터 통신과 연관된 제 2 스루풋 레벨을 결정한다. 버짓을 결정하기 위한 모듈(1114)은 멀티미디어 데이터의 비디오 유닛의 통신과 연관된 버짓을 결정한다. 버짓 그리고, 제 1 및 제 2 스루풋 레벨들에 기반하여 비디오 유닛을 코딩한다.
만약 코딩하기 위한 모듈(1116)이 비디오 유닛을 코딩하면, 전송하기 위한 모듈(1118)은 네트워크(1006)를 통해 AT(1004)에서 AT(1002)로의 멀티미디어 데이터의 코딩된 비디오 유닛을 전송한다. 언급한 대로, 모듈들(1112, 1114)은 AT(1002)에서 두 개의 개별 토큰 버킷들을 포함할 수 있고, 여기서 제 1 토큰 버킷은 제 1 스루풋 레벨을 표시하는 정보를 저장하고, 제 2 토큰 버킷은 제 2 스루풋 레벨을 표시하는 정보를 저장한다. 코딩하기 위한 모듈(1116)은 버짓 및 제 1 및 제 2 토큰 버킷들의 점유들의 함수인 사이즈를 지닌 멀티미디어 데이터의 비디오 유닛을 코딩할 수 있다. 예를 들어 다운링크 스루풋을 결정하기 위한 모듈(1122)에 의해, 제 1 토큰 버킷은 AT(1002)에서 측정되는 제 1 스루풋 레벨을 반영하기 위해 업데이트될 수 있고, 제 2 토큰 버킷은 AT(1004)에서 측정된 제 2 스루풋 레벨을 반영하기 위해 업데이트될 수 있다. 이러한 토큰 버킷들의 업데이팅은 VT 세션에 대한 AT들(1002, 1004) 사이의 협상된 서비스 품질(QoS), 제 1 및 제 2 토큰 버킷들의 현재 버퍼 점유 및 경과된 시간에 기반할 수 있다. 모듈들(1110, 1112)은 코딩을 위한 모듈(1116)이 멀티미디어 데이터의 비디오 유닛을 코딩할 때, 제 1 및 제 2 토큰 버킷들의 컨텐츠들을 감소시킬 수 있다.
언급한 바와 같이, 코딩하기 위한 모듈(1116)은 비디오 프레임에 연관된 오디오 정보를 코딩할 수 있고, 전송하기 위한 모듈(1118)은 비디오 프레임이 코딩되는지 여부와 무관하게 네트워크(1006)를 통해 AT(1002)에서 AT(1004)로 코딩된 오디오 정보를 전송할 수 있다. 이러한 방식으로, 멀티미디어 VT는 오디오 정보에 대한 더 양호한 보증들 및 QoS를 제공할 수 있고, 이러한 오디오 정보는 업링크(1007) 또는 다운링크(1008) 둘 중 어느 하나가 비디오를 위해 불충분한 스루풋을 가졌으나 오디오를 위해 적절한 스루풋을 가졌을 때, 대역폭 제한 설정들에서 비디오 프레임들에 대해 우선권(priority)을 받을 수 있다.
코딩하기 위한 모듈(1116)은, 만약 버짓이 제 1 스루풋 레벨 또는 제 2 스루풋 레벨 중 어느 하나보다 크면, 멀티미디어 데이터의 비디오 유닛의 코딩을 스킵 할 수 있다. 이러한 경우에, 멀티미디어 데이터의 비디오 유닛의 코딩을 스킵하면, 모듈(1110)은 AT(1002)에서의 측정들에 기반하여 제 1 스루풋 레벨을 업데이트할 수 있고, 모듈(1112)은 AT(1004)에서의 측정들에 기반하여 제 2 스루풋 레벨을 업데이트할 수 있으며, 이들은 AT(1002)로 피드백된다. 버짓을 결정하기 위한 모듈(1004)은 멀티미디어 데이터의 이어지는 비디오 유닛의 통신과 연관된 버짓을 재-결정할 수 있고, 코딩하기 위한 모듈(1116)은 만약 제-결정된 버짓이 업데이트된 제 1 및 제 2 스루풋 레벨들보다 작으면 멀티미디어 데이터의 상기 이어지는 비디오 유닛을 코딩할 수 있다.
다시, 멀티미디어 데이터의 비디오 유닛은 비디오 프레임을 포함할 수 있다. AT들(1002, 1004)은 세션 동안 멀티미디어 데이터의 비디오 프레임들의 통신에 대한 프레임 레이트를 정의할 수 있고, 멀티미디어 데이터의 주어진 비디오 프레임의 코딩을 스킵하면, 이어지는 비디오 프레임의 업데이트, 재-결정 및 코딩은 세션의 프레임 레이트에 의해 정의된 다음 사이클에 앞서 발생할 수 있다. 이러한 방식에서, 만약 프레임이 스킵되면, 코딩하기 위한 모듈(1116)은 다음의 스케줄링된 프레임 까지 기다릴 필요가 없으나, 만약 재-결정된 버짓이 업링크 및 다운링크에 대해 측정된 업데이트된 스루풋들에 의해 충족될 수 있으면 다음 스케줄링된 프레임에 앞서 프레임을 코딩할 수 있다.
두 AT들(1002, 1004)이 도 10에 도시되더라도, 본 명세서의 기술들은 VT 컨퍼런스(conference)에서 임의의 개수의 AT들에 대해 확장될 수 있다. 각각의 AT에 대해, 전송하는 장치는 피드백에 기반하여 주어진 AT에 대한 스루풋을 결정하기 위 해 토큰 버킷을 유지할 수 있다. 따라서 본 명세서는, 제 3 장치에서 제 1 장치(예를 들어, AT(1002))로의 피드백에 기반하여, 네트워크의 제 3 액세스 노드에서 제 3 장치(예를 들면, 제 3 AT)로 멀티미디어 데이터 통신과 연관된 스루풋 제 3 레벨을 결정하고, 버짓이 제 1, 제 2, 및 제 3 스루풋 레벨들보다 작으면 멀티미디어 데이터의 비디오 유닛을 코딩하는 것을 고려할 수 있다. 이러한 경우에, AT(1002)는 적어도 세 개의 토큰 버킷들을 유지할 수 있고, 여기서 제 1 토큰 버킷은 제 1 스루풋 레벨을 표시하는 정보를 저장하고, 제 2 토큰 버킷은 제 2 스루풋 레벨을 표시하는 정보를 저장하며, 제 3 토큰 버킷은 제 3 스루풋 레벨을 표시하는 정보를 저장한다.
수신자 측에서, 장치(1004)의 수신하는 모듈(1126)은 AT(1002)에서 AT(1004)로 전송된 제 1 멀티미디어 데이터를 수신할 수 있고, 여기서 제 1 멀티미디어 데이터는 다운링크(1008)를 통해 네트워크(1006)의 네트워크 노드로부터 AT(1004)로 통신된다. 스루풋을 결정하기 위한 모듈(1122)은 관찰 윈도우를 통해 다운링크의 스루풋을 측정할 수 있고, 전송하기 위한 모듈(1124)은 상기 관찰 윈도우를 통해 다운링크상에서 측정된 스루풋의 레벨을 표시하는 정보를 제 2 장치에서 제 1 장치로 전송할 수 있다. 이러한 스루풋 레벨을 표시하는 피드백 통신 정보는, 점선들로 도 10에서 도시된다. 다수의 AT(1004)에서 AT(1002)로의 이러한 피드백을 통신하기 위한 기술들은 위에서 설명되었다. 그러나 일 예에서, 전송하기 위한 모듈(1124)은 캡쳐되고, 코딩되고, AT(1004)에서 AT(1002)로 통신되는 멀티미디어 컨텐트와 함께 스루풋 레벨을 표시하는 정보를 피기백한다. 이러한 경우에, 전송하 기 위한 모듈(1124)은 AT(1004)에서 AT(1002)로 제 2 멀티미디어 데이터를 전송할 수 있고, 제 2 멀티미디어 데이터와 함께 스루풋 레벨을 표시하는 정보를 피기백할 수 있다.
도 11 내지 13은 본 명세서의 기술들과 일치하는 순서도들이다. 도 11에 도시된 바와 같이, AT(1002)의 모듈(1110)은 업링크(1007)의 제 1 스루풋 레벨을 결정한다(1501). 이를 위해, 모듈(1110)은 예를 들어 상기 관찰 윈도우 동안 전송된 모든 데이터를 총합함으로써, 관찰 윈도우를 통해 업링크(1007)를 통해 전송되는 패킷들과 연관된 데이터의 양을 측정할 수 있다. 따라서 측정된 스루풋은 데이터의 측정, 예를 들어 데이터의 축적이다. 일 예에서, 관찰 윈도우는 두 개의 연속하는 코딩된 프레임들 사이의 시간의 양을 포함할 수 있다. 이러한 경우에, 업링크(1007)의 스루풋은 관찰 윈도우에서 전송된 데이터양을 정의한다. 모듈(1112)은 예를 들어 AT(1004)로부터 수신된 피드백에 기반하여 다운링크(1008)를 통한 제 2 스루풋 레벨을 결정한다(1502). 이러한 경우에, AT(1004)는 관찰 윈도우를 통해 데이터를 축적함으로써 다운링크 상의 스루풋을 측정할 수 있고, AT(1002)로 다시 이 측정을 피드한다. 모듈(1114)은 예를 들어, 현재의 장면을 이전에 코딩된 프레임에 비교하고, 이전의 프레임에 대하여 상기 현재의 장면을 코딩하기 위해 필요한 다수의 비트들을 정의함으로써, 코딩될 프레임에 대한 비트 버짓을 결정한다(1503).
코딩을 위한 모듈(1116)은 버짓 그리고 제 1 및 제 2 스루풋 레벨들에 기반하여 현재의 프레임(즉, 현재 장면의 프레임)을 코딩한다. 예를 들면, 코딩하기 위한 모듈(1116)은 버짓 그리고 제 1 및 제 2 스루풋 레벨들의 함수인 사이즈를 가지기 위해 현재 프레임을 코딩할 수 있다. 만약 필요하다면, 프레임은 덜 상세하게 코딩될 수 있고 그 결과 코딩된 프레임은 버짓보다 적은 데이터를 사용하고, 따라서 업링크 및 다운링크 상의 스루풋들의 최소 보다 적은 데이터를 사용한다. 선택적으로, 코딩하기 위한 모듈(1116) 만약 버짓이 제 1 및 제 2 스루풋 레벨들 보다 적으면 버짓에 따라 현재 프레임을 코딩할 수 있다. 이러한 후자의 경우에, 코딩하기 위한 모듈은 만약 버짓이 제 1 또는 제 2 스루풋 레벨들 중 어느 하나보다 크면, 프레임을 코딩하지 않을 수 있다.
도 12에서 도시된 바와 같이, AT(1002)의 모듈(1110)은 업링크(1007)를 위한 제 1 스루풋 레벨을 결정한다(2001). 모둘(1112)은 예를 들어 AT(1004)로부터 수신된 피드백에 기반하여, 다운링크(1008)를 위한 제 2 스루풋 레벨을 결정한다(2002). 모듈(1114)은 코딩될 프레임에 대한 비트 버짓을 결정한다(2003).
도 12에서, 만약 비트 버짓이 제 1 및 제 2 스루풋 레벨들의 최소보다 작으면((2004)의 "네" 가지), 모듈(1116)은 프레임을 코딩하고(2005), 모듈(1118)은 프레임을 전송한다(2006). 모듈(1116)은 그리고나서 세션의 다음 프레임 사이클을 기다린다(2007). 프레임 사이클은 멀티미디어 전화 통신 세션 동안 AT들(1002, 1004) 사이에서 협상될 수 있다.
루프(2011)는 루프(2012)와 독립적이다. 이는 실제의 프레임 레이트가 협상된 프레임 레이트에 대하여 도 12의 알고리즘에 의해 적응될 수 있음을 의미한다. 몇몇 경우들에서, 루프(2011)는 협상된 프레임 사이클보다 길 수 있고, 이 경우에 도 12의 알고리즘은 업링크 및 다운링크 상의 이용 가능한 스루풋을 조절시키기 위해 프레임 레이트를 조절한다. 다른 경우들에서, 루프(2011)는 프레임에 대한 짧은 지연을 부가할 수 있고, 여기서 지연은 협상된 프레임 레이트와 연관된 시간 내이다. 후자의 경우에, 모듈(1116)은 프레임을 코딩할 수 있고(2005), 모듈(1118)은 예상되는 프레임에 대하여 약간의 지연을 지닌 프레임을 전송할 수 있다(2006). 예를 들어, 협상된 프레임 레이트는 초당 10 프레임들일 수 있고, 이는 예상된 프레임들이 매 100 밀리세컨드 마다 코딩되도록 한다. 만약 스루풋이 불충분하면((2004)의 "아니오" 가지), 루프(2011)는 매 2 밀리세컨드 마다 계속될 수 있다. 이러한 경우에, 스루풋이 불충분하면((2004)의 "네" 가지), 프레임은 코딩(2005)되고 전송(2006)된다. 이러한 경우에, 전송된 프레임은 이전에 전송된 프레임으로부터 (100+2N) 밀리세컨드일 수 있고, 여기서 N은 스루풋이 충분한 것으로 발견되기 전에 루프(2011)를 통한 사이클들의 수를 나타낸다.
도 13에서 도시된 바와 같이, AT(1004)의 모듈(1126)은 다운링크(1008)를 통해 멀티미디어 데이터를 수신한다(3001). 모듈(1122)은 다운링크(1008)의 스루풋을 측정한다(3002). 모듈(1124)은 AT(1002)로 피드백으로서 다운링크(1008)의 스루풋의 측정을 전송한다. 이러한 방식으로, AT(1004)는 다운링크 스루풋을 측정하고, 조절이 여기서 설명된 바와 같이 멀티미디어 전화 통신 세션의 비디오 정보에 대해 이루어져야 할지 여부 및 어느 정도까지 이루어져야하는지를 결정하는 데에 사용하기 위해 AT(1002)로 다시 이러한 정보를 피드한다.
도 14 및 15는 본 명세서의 양상들을 실행하기 위해 사용될 수 있는 장치들 의 블록 다이어그램들이다. 장치들(3000, 3100)은 위에서 설명한 바와 같이 AT들을 포함할 수 있거나, 또는 이러한 AT들로 본 명세서의 기능을 제공하기 위해 AT들의 일부분을 형성하는 칩셋과 같은 하나 이상의 회로들을 포함할 수 있다. 도 14에서 도시된 바와 같이, 장치(3000)는 업링크 스루풋을 결정하기 위한 모듈(3110) 및 다운링크 스루풋을 결정하기 위한 모듈(3112), 버짓을 결정하기 위한 모듈(3114), 및 코딩하기 위한 모듈(3116)을 포함한다.
업링크 스루풋을 결정하기 위한 모듈(3110)은 업링크를 통해 장치(3000)에서 네트워크의 제 1 액세스 노드로의 멀티미디어 데이터 통신과 연관된 제 1 스루풋 레벨을 결정한다. 다운링크 스루풋을 결정하기 위한 모듈(3112)은 예를 들어 액세스 단말로부터의 피드백에 기반하여, 다운링크를 통해 네트워크의 제 2 액세스 노드로부터 멀티미디어 데이터 통신과 연관된 제 2 스루풋 레벨을 결정한다. 버짓을 결정하기 위한 모듈(3114)은 멀티미디어 데이터의 비디오 유닛의 통신과 연관된 버짓을 결정한다. 코딩하기 위한 모듈(1116)은 버짓 그리고 제 1 및 제 2 스루풋 레벨들에 기반하여 멀티미디어 데이터의 비디오 유닛을 코딩한다.
도 15에 도시된 바와 같이, 장치(3100)는 다운링크 스루풋을 결정하기 위한 모듈(3122), 전송하기 위한 모듈(3124), 수신하기 위한 모듈(3126)을 포함한다. 수신하기 위한 모듈(3126)은 다운링크를 통해 제 1 멀티미디어 데이터를 수신한다. 다운링크 스루풋을 결정하기 위한 모듈(3122)은 관찰 윈도우를 통해 다운링크 상의 네트워크로부터의 스루풋을 측정하기 위해 스루풋 측정 모듈을 포함할 수 있다. 전송하기 위한 모듈(3124)은 상기 관찰 윈도우를 통해 다운링크 상의 네트워크로부 터 측정된 스루풋 레벨을 표시하는 정보를 전송하는 송신기 모듈을 포함할 수 있다.
다수의 기술들 및 예들이 설명되었다. 여기서 설명된 하나 이상의 기술들은 하드웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 모듈들 또는 컴포넌트들로서 설명된 임의의 특징들은 집적화된 논리 장치로 함께, 또는 개별적이나 공동 이용 가능하다 논리 장치들로 구현될 수 있다. 만약 소프트웨어로 구현되면, 실행될 때, 기술들이 위에서 설명된 하나 이상의 방법들을 수행하는 명령들을 포함하는 컴퓨터-판독가능 매체에 의해 적어도 부분적으로 실현될 수 있다. 컴퓨터-판독가능 매체는 컴퓨터 프로그램 물건의 부분을 형성할 수 있고, 이는 패키징 용구를 포함할 수 있다. 컴퓨터-판독가능 매체는 동기 다이내믹 랜덤 액세스 메모리(SDRAM), 읽기-전용 메모리(ROM), 비-휘발성 랜덤 액세스 메모리(NVRAM), 전기적으로 소거 가능한 프로그래밍 가능한 읽기-전용 메모리(EEPROM), FLASH 메모리, 자기 또는 광 데이터 저장 매체 등과 같은 랜덤 액세스 메모리(RAM)를 포함할 수 있다. 이 기술들은 추가적으로, 또는 선택적으로, 컴퓨터에 의해 액세스, 판독, 그리고/또는 실행될 수 있는 명령들 또는 데이터 구조들의 형태로 데이터를 저장하거나 통신하는 컴퓨터-판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수 있다.
코드는 하나 이상의 디지털 신호 프로세서(DSP)들, 범용 마이크로프로세서들, 애플리케이션 특정 집적 회로(ASIC)들, 필드 프로그래머블 논리 어레이(FPGA)들, 또는 다른 동등한 집적된 또는 이산 논리 회로와 같은 하나 이상의 프로세서들 에 의해 실행될 수 있다. 따라서 여기서 사용된, 여기서 설명된 기술들의 구현을 위해 적절한 임의의 전술한 구조 또는 임의의 다른 구조를 포함하는 용어 "프로세서"는 단일 프로세서 또는 복수의 프로세서들을 지칭할 수 있다. 또한, 몇몇 양상들에서, 여기서 설명된 기능은 여기서 설명된 기술들을 수행하기 위해 구성된 전용 소프트웨어 모듈들 또는 하드웨어 모듈들 내에서 제공될 수 있다.
여기서 개시된 양상들과 관련되어 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접, 프로세서에 의해 실행되는 소프트웨어 모듈, 또는 이 둘의 조합으로 구현될 수 있다. 소프트웨어 모듈(예를 들어 실행 가능한 명령들 및 관련된 데이터를 포함하는) 및 다른 데이터는 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 이동식 디스크, CD-ROM, 또는 당해 기술분야에서 알려진 임의의 다른 유형의 컴퓨터-판독가능 저장 매체와 같은 저장 매체(예를 들어, 데이터 메모리) 내에 상주할 수 있다. 샘플 저장 매체는 예를 들어, (여기서 편의를 위해 "프로세서"로 지칭될 수 있는) 컴퓨터/프로세서와 같은 머신에 연결될 수 있고, 그 결과 그 프로세서는 정보(예를 들어, 코드)를 저장 매체로부터 판독하고 저장 매체로 정보를 기록할 수 있다. 샘플 저장 매체는 프로세서로 통합될 수 있다. 프로세서 및 저장 매체는 ASIC 내에 상주할 수 있다. ASIC은 사용자 장비 내에 상주할 수 있다. 선택적으로, 프로세서 및 저장 매체는 사용자 장비 내의 이산 컴포넌트들로서 상주할 수 있다. 다시, 몇몇 양상들에서 임의의 적절한 컴퓨터-프로그램 물건은 본 명세서의 하나 이상의 양상들과 관련된 (예를 들어, 적어도 하나의 컴퓨터에 의해 실행 가능한) 코드들을 포함하는 컴퓨터-판독가능 매체를 포함할 수 있다. 몇몇 양상들에서, 컴퓨터 프로그램 물건은 패키징 용구들을 포함할 수 있다.
만약 하드웨어로 구현되면, 본 명세서의 기술들은 여기서 설명된 기술들을 실행하도록 구성되는 회로 또는 장치와 같은 장치로 구현될 수 있다. 따라서 본 명세서는 또한 여기서 설명된 기술들을 실행하도록 구성되는 하나 이상의 회로들을 고려할 수 있다. 이러한 경우에, 하나 이상의 회로들을 포함하는 장치는 본 명세서의 기능을 AT로 제공하도록 설계된 AT의 컴포넌트일 수 있다.
본 명세서의 다양한 양상들이 설명되었다. 이러한 그리고 다른 양상들은 다음의 청구항들의 범위 내에 속한다.

Claims (72)

  1. 멀티미디어 데이터의 통신을 위한 방법으로서,
    제 1 액세스 단말에서 네트워크로의 멀티미디어 데이터 통신과 연관되는 제 1 스루풋 레벨을 결정하는 단계;
    상기 네트워크를 통해 제 2 액세스 단말에서 상기 제 1 액세스 단말로 전송된 관찰된 스루풋(observed throughput)의 피드백에 기반하여, 상기 네트워크에서 상기 제 2 액세스 단말로의 멀티미디어 데이터 통신과 연관되는 제 2 스루풋 레벨을 결정하는 단계;
    상기 멀티미디어 데이터의 비디오 유닛의 통신과 연관되는 버짓(budget)을 결정하는 단계; 및
    상기 버짓 그리고 상기 제 1 및 제 2 스루풋 레벨들에 기반하여, 상기 멀티미디어 데이터의 비디오 유닛을 코딩하는 단계를 포함하는, 멀티미디어 데이터의 통신을 위한 방법.
  2. 제1항에 있어서,
    상기 버짓 그리고 상기 제 1 및 제 2 스루풋 레벨들에 기반하여, 상기 멀티미디어 데이터의 비디오 유닛을 코딩하는 단계는:
    상기 버짓 그리고 상기 제 1 및 제 2 스루풋 레벨들의 함수인 사이즈를 가지도록 상기 비디오 유닛을 코딩하는 단계를 포함하는, 멀티미디어 데이터의 통신을 위한 방법.
  3. 제1항에 있어서,
    상기 버짓 그리고 상기 제 1 및 제 2 스루풋 레벨들에 기반하여, 상기 멀티미디어 데이터의 비디오 유닛을 코딩하는 단계는:
    상기 버짓이 상기 제 1 및 제 2 스루풋 레벨들 보다 작으면, 상기 버짓에 따라 상기 비디오 유닛을 코딩하는 단계를 포함하는, 멀티미디어 데이터의 통신을 위한 방법.
  4. 제1항에 있어서,
    상기 네트워크는,
    상기 제 1 액세스 단말로 그리고 제 1 액세스 단말로부터 데이터를 전송하고 수신하는 제 1 액세스 포인트; 및
    상기 제 2 액세스 단말로 그리고 제 2 액세스 단말로부터 데이터를 전송하고 수신하는 제 2 액세스 포인트를 포함하고, 상기 제 1 및 제 2 액세스 포인트들은 상기 네트워크에서 서로 통신으로 연결되는, 멀티미디어 데이터의 통신을 위한 방법.
  5. 제1항에 있어서,
    상기 네트워크를 통해 상기 제 1 액세스 단말에서 상기 제 2 액세스 단말로 상기 멀티미디어 데이터의 상기 코딩된 비디오 유닛을 전송하는 단계를 더 포함하 는, 멀티미디어 데이터의 통신을 위한 방법.
  6. 제1항에 있어서,
    상기 제 1 액세스 단말에서 적어도 두 개의 토큰 버킷들을 유지하는 단계 ― 제 1 토큰 버킷은 상기 제 1 스루풋 레벨을 표시하는 정보를 저장하고, 상기 제 2 토큰 버킷은 상기 제 2 스루풋 레벨을 표시하는 정보를 저장함 ― 를 더 포함하고,
    상기 멀티미디어 데이터의 비디오 유닛을 코딩하는 단계는, 상기 버짓 그리고 상기 제 1 및 제 2 토큰 버킷들의 점유(occupancy)들의 함수인 사이즈로 상기 비디오 유닛을 코딩하는 단계를 포함하는, 멀티미디어 데이터의 통신을 위한 방법.
  7. 제6항에 있어서,
    상기 제 1 액세스 단말에서 측정되는 상기 제 1 스루풋 레벨을 반영하기 위해 상기 제 1 토큰 버킷을 업데이트하는 단계; 및
    상기 제 2 액세스 단말에서 측정되는 상기 제 2 스루풋 레벨을 반영하기 위해 상기 제 2 토큰 버킷을 업데이트하는 단계를 더 포함하는, 멀티미디어 데이터의 통신을 위한 방법.
  8. 제7항에 있어서,
    제 1 및 제 2 토큰 버킷들을 업데이트하는 단계는, 상기 제 1 및 제 2 액세스 단말들 사이의 협상된 서비스 품질(QoS), 상기 제 1 및 제 2 토큰 버킷들의 현재 버퍼 점유 및 경과 시간에 기반하는, 멀티미디어 데이터의 통신을 위한 방법.
  9. 제6항에 있어서,
    상기 멀티미디어 데이터의 비디오 유닛을 코딩하면, 상기 제 1 액세스 단말에서 상기 제 1 및 제 2 토큰 버킷들 중 적어도 하나로부터 컨텐츠를 감소시키는(reduce) 단계를 더 포함하는, 멀티미디어 데이터의 통신을 위한 방법.
  10. 제1항에 있어서,
    상기 멀티미디어 데이터의 비디오 유닛은 비디오 프레임을 포함하는, 멀티미디어 데이터의 통신을 위한 방법.
  11. 제10항에 있어서,
    상기 비디오 프레임과 연관되는 오디오 정보를 코딩하는 단계 및 상기 비디오 프레임이 코딩되는지 여부와 관계없이, 상기 네트워크를 통해 상기 제 1 액세스 단말에서 상기 제 2 액세스 단말로 상기 코딩된 오디오 정보를 전송하는 단계를 더 포함하는, 멀티미디어 데이터의 통신을 위한 방법.
  12. 제1항에 있어서,
    상기 버짓이 상기 제 1 스루풋 레벨 또는 상기 제 2 스루풋 레벨 중 어느 하나보다 크면, 상기 멀티미디어 데이터의 비디오 유닛의 코딩을 스킵(skip)하는 단 계를 더 포함하는, 멀티미디어 데이터의 통신을 위한 방법.
  13. 제12항에 있어서,
    상기 멀티미디어 데이터의 비디오 유닛의 코딩을 스킵하면,
    상기 제 1 액세스 단말에서의 측정들에 기반하여 상기 제 1 스루풋 레벨을 업데이트하는 단계;
    상기 제 2 액세스 단말에서의 측정들에 기반하여 상기 제 2 스루풋 레벨을 업데이트하는 단계;
    상기 멀티미디어 데이터의 후속적인 비디오 유닛의 통신과 연관되는 상기 버짓을 재-결정하는 단계; 및
    상기 재-결정된 버짓이 상기 업데이트된 제 1 및 제 2 스루풋 레벨들보다 작으면, 상기 멀티미디어 데이터의 후속적인 비디오 유닛을 코딩하는 단계를 더 포함하는, 멀티미디어 데이터의 통신을 위한 방법.
  14. 제13항에 있어서,
    상기 멀티미디어 데이터의 비디오 유닛은 비디오 프레임을 포함하고,
    상기 제 1 및 제 2 액세스 단말들은 세션 동안 상기 멀티미디어 데이터의 비디오 프레임들의 통신을 위한 프레임 레이트를 정의하며, 그리고
    멀티미디어 데이터의 주어진 비디오 프레임의 코딩을 스킵하면, 상기 업데이트, 재-결정 및 후속적인 비디오 프레임의 코딩은 상기 세션의 프레임 레이트에 의 해 정의되는 다음 사이클 이전에 이루어지는, 멀티미디어 데이터의 통신을 위한 방법.
  15. 제1항에 있어서,
    상기 네트워크를 통해 제 3 액세스 단말에서 상기 제 1 액세스 단말로의 피드백에 기반하여, 상기 네트워크에서 상기 제 3 액세스 단말로의 멀티미디어 데이터 통신과 연관되는 제 3 스루풋 레벨을 결정하는 단계; 및
    상기 버짓이 상기 제 1, 제 2 및 제 3 스루풋 레벨들보다 작다면, 상기 멀티미디어 데이터의 상기 비디오 유닛을 코딩하는 단계를 더 포함하는, 멀티미디어 데이터의 통신을 위한 방법.
  16. 제15항에 있어서,
    상기 제 1 액세스 단말에서 적어도 세 개의 토큰 버킷들을 유지하는 단계를 더 포함하고, 제 1 토큰 버킷은 상기 제 1 스루풋 레벨을 표시하는 정보를 저장하며, 제 2 토큰 버킷은 상기 제 2 스루풋 레벨을 표시하는 정보를 저장하고, 제 3 토큰 버킷은 상기 제 3 스루풋 레벨을 표시하는 정보를 저장하는, 멀티미디어 데이터의 통신을 위한 방법.
  17. 멀티미디어 데이터의 통신을 위한 장치로서,
    상기 장치에서 네트워크로의 멀티미디어 데이터 통신과 연관되는 제 1 스루풋 레벨을 결정하는 제 1 토큰 버퍼 모듈;
    액세스 단말에서 상기 장치로 전송된 관찰된 스루풋의 피드백에 기반하여, 상기 네트워크에서 상기 액세스 단말로의 멀티미디어 데이터 통신과 연관되는 제 2 스루풋 레벨을 결정하는 제 2 토큰 버퍼 모듈;
    상기 멀티미디어 데이터의 비디오 유닛의 통신과 연관되는 버짓을 결정하는 레지듀얼(residual) 모듈; 및
    상기 버짓 그리고 상기 제 1 및 제 2 스루풋 레벨들에 기반하여, 상기 멀티미디어 데이터의 비디오 유닛을 코딩하는 코딩 모듈을 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  18. 제17항에 있어서,
    상기 코딩 모듈은, 상기 버짓 그리고 상기 제 1 및 제 2 스루풋 레벨들의 함수인 사이즈를 가지도록 상기 비디오 유닛을 코딩하는, 멀티미디어 데이터의 통신을 위한 장치.
  19. 제17항에 있어서,
    상기 코딩 모듈은, 상기 버짓이 상기 제 1 및 제 2 스루풋 레벨들보다 작으면, 상기 버짓에 따라 상기 비디오 유닛을 코딩하는, 멀티미디어 데이터의 통신을 위한 장치.
  20. 제17항에 있어서,
    상기 네트워크는,
    상기 장치로 그리고 상기 장치로부터 데이터를 전송하고 수신하는 제 1 액세스 포인트; 및
    상기 액세스 단말로 그리고 상기 액세스 단말로부터 데이터를 전송하고 수신하는 제 2 액세스 포인트를 포함하고, 상기 제 1 및 제 2 액세스 포인트들은 상기 네트워크에서 서로 통신으로 연결되는, 멀티미디어 데이터의 통신을 위한 장치.
  21. 제17항에 있어서,
    상기 네트워크를 통해 상기 장치에서 상기 액세스 단말로의 상기 멀티미디어 데이터의 상기 코딩된 비디오 유닛을 전송하는 송신기 모듈을 더 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  22. 제17항에 있어서,
    제 1 토큰 버킷은 상기 제 1 스루풋 레벨을 표시하는 정보를 저장하고, 제 2 토큰 버킷은 상기 제 2 스루풋 레벨을 표시하는 정보를 저장하며,
    상기 코딩 모듈은, 상기 버짓 그리고 상기 제 1 및 제 2 토큰 버킷들의 점유들의 함수인 사이즈로 상기 비디오 유닛을 코딩하는, 멀티미디어 데이터의 통신을 위한 장치.
  23. 제22항에 있어서,
    상기 장치는,
    상기 장치에서 측정되는 상기 제 1 스루풋 레벨을 반영하기 위해 상기 제 1 토큰 버킷을 업데이트하고; 그리고
    상기 액세스 단말에서 측정되는 상기 제 2 스루풋 레벨을 반영하기 위해 상기 제 2 토큰 버킷을 업데이트하도록 구성되는, 멀티미디어 데이터의 통신을 위한 장치.
  24. 제23항에 있어서,
    상기 제 1 및 제 2 토큰 버킷들의 업데이트는, 상기 장치 및 다른 장치 사이에서 협상된 서비스 품질(QoS), 상기 제 1 및 제 2 토큰 버킷들의 현재 버퍼 점유 및 경과 시간에 기반하는, 멀티미디어 데이터의 통신을 위한 장치.
  25. 제23항에 있어서,
    상기 멀티미디어 데이터의 비디오 유닛을 코딩하면, 상기 제 1 및 제 2 토큰 버킷들 중 적어도 하나로부터의 컨텐츠가 상기 장치에서 감소되는, 멀티미디어 데이터의 통신을 위한 장치.
  26. 제17항에 있어서,
    상기 장치는 하나 이상의 집적 회로들을 이용하여 구성되는, 멀티미디어 데이터의 통신을 위한 장치.
  27. 제17항에 있어서,
    상기 멀티미디어 데이터의 비디오 유닛은 비디오 프레임을 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  28. 제27항에 있어서,
    상기 코딩 모듈은 상기 비디오 프레임과 연관되는 오디오 정보를 코딩하고, 송신기는, 상기 비디오 프레임이 코딩되는지 여부에 관계없이 상기 네트워크를 통해 상기 장치에서 상기 액세스 단말로 상기 코딩된 오디오 정보를 전송하는, 멀티미디어 데이터의 통신을 위한 장치.
  29. 제17항에 있어서,
    상기 코딩 모듈은:
    상기 버짓이 상기 제 1 스루풋 레벨 및 상기 제 2 스루풋 레벨 중 어느 하나보다 크면 상기 멀티미디어 데이터의 비디오 유닛의 코딩을 스킵하는, 멀티미디어 데이터의 통신을 위한 장치.
  30. 제29항에 있어서,
    상기 멀티미디어 데이터의 비디오 유닛의 코딩을 스킵하면,
    제 1 토큰 버킷은, 상기 장치에서의 측정들에 기반하여 상기 제 1 스루풋 레벨을 업데이트하고;
    제 2 토큰 버킷은, 상기 액세스 단말에서의 측정들에 기반하여 상기 제 2 스루풋 레벨을 업데이트하며;
    상기 레지듀얼 모듈은 멀티미디어 데이터의 후속적인 비디오 유닛의 통신과 연관되는 상기 버짓을 재-결정하고; 그리고
    상기 재-결정된 버짓이 상기 업데이트된 제 1 및 제 2 스루풋 레벨들보다 작으면, 상기 코딩 모듈은 상기 멀티미디어 데이터의 후속적인 비디오 유닛을 코딩하는, 멀티미디어 데이터의 통신을 위한 장치.
  31. 제30항에 있어서,
    상기 멀티미디어 데이터의 비디오 유닛은 비디오 프레임을 포함하고,
    상기 장치 및 상기 액세스 단말은 세션 동안 상기 멀티미디어 데이터의 비디오 프레임들의 통신을 위한 프레임 레이트를 정의하며, 그리고
    멀티미디어 데이터의 주어진 비디오 프레임의 코딩을 스킵하면, 상기 업데이트, 재-결정, 및 후속적인 비디오 프레임의 코딩이 상기 세션의 프레임 레이트에 의해 정의되는 다음 사이클 이전에 이루어지는, 멀티미디어 데이터의 통신을 위한 장치.
  32. 제17항에 있어서,
    다른 액세스 단말에서 상기 장치로의 피드백에 기반하여 상기 네트워크에서 상기 다른 액세스 단말로의 멀티미디어 데이터 통신과 연관되는 제 3 스루풋 레벨을 결정하는 제 3 토큰 버퍼 모듈을 더 포함하고,
    상기 코딩 모듈은, 상기 버짓이 상기 제 1, 제 2 및 제 3 스루풋 레벨들보다 작을 때 상기 멀티미디어 데이터의 비디오 유닛을 코딩하는, 멀티미디어 데이터의 통신을 위한 장치.
  33. 제32항에 있어서,
    상기 제 1 토큰 버킷은 상기 제 1 스루풋 레벨을 표시하는 정보를 저장하고, 상기 제 2 토큰 버킷은 상기 제 2 스루풋 레벨을 표시하는 정보를 저장하며, 상기 제 3 토큰 버킷은 상기 제 3 스루풋 레벨을 표시하는 정보를 저장하는, 멀티미디어 데이터의 통신을 위한 장치.
  34. 멀티미디어 데이터의 통신을 위한 장치로서,
    상기 장치에서 네트워크로의 멀티미디어 데이터 통신과 연관되는 제 1 스루풋 레벨을 결정하기 위한 수단;
    상기 네트워크를 통해 액세스 단말에서 상기 장치로 전송된 관찰된 스루풋의 피드백에 기반하여, 상기 네트워크에서 상기 액세스 단말로의 멀티미디어 데이터 통신과 연관되는 제 2 스루풋 레벨을 결정하기 위한 수단;
    상기 멀티미디어 데이터의 비디오 유닛의 통신과 연관되는 버짓을 결정하기 위한 수단; 및
    상기 버짓 그리고 상기 제 1 및 제 2 스루풋 레벨들에 기반하여, 상기 멀티미디어 데이터의 비디오 유닛을 코딩하기 위한 수단을 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  35. 제34항에 있어서,
    상기 버짓 그리고 상기 제 1 및 제 2 스루풋 레벨들에 기반하여, 상기 멀티미디어 데이터의 비디오 유닛을 코딩하기 위한 수단은,
    상기 비디오 유닛이 상기 버짓 그리고 상기 제 1 및 제 2 스루풋 레벨들의 함수인 사이즈를 가지도록 상기 비디오 유닛을 코딩하기 위한 수단을 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  36. 제34항에 있어서,
    상기 버짓 그리고 상기 제 1 및 제 2 스루풋 레벨들에 기반하여, 상기 멀티미디어 데이터의 비디오 유닛을 코딩하기 위한 수단은,
    상기 버짓이 상기 제 1 및 제 2 스루풋 레벨들보다 작으면, 상기 버짓에 따라 상기 비디오 유닛을 코딩하기 위한 수단을 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  37. 제34항에 있어서,
    상기 네트워크는,
    상기 장치로 그리고 상기 장치로부터 데이터를 전송하고 수신하는 제 1 액세스 포인트; 및
    상기 액세스 단말로 그리고 상기 액세스 단말로부터 데이터를 전송하고 수신하는 제 2 액세스 포인트를 포함하고, 상기 제 1 및 제 2 액세스 포인트들은 상기 네트워크에서 서로 통신으로 연결되는, 멀티미디어 데이터의 통신을 위한 장치.
  38. 제34항에 있어서,
    상기 네트워크를 통해 상기 장치에서 상기 액세스 단말로의 상기 멀티미디어 데이터의 코딩된 비디오 유닛을 전송하기 위한 수단을 더 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  39. 제34항에 있어서,
    상기 장치에서 적어도 두 개의 토큰 버킷들을 유지하기 위한 수단을 더 포함하고, 제 1 토큰 버킷은 상기 제 1 스루풋 레벨을 표시하는 정보를 저장하고, 제 2 토큰 버킷은 상기 제 2 스루풋 레벨을 표시하는 정보를 저장하며,
    상기 멀티미디어 데이터의 비디오 유닛을 코딩하기 위한 수단은, 상기 버짓 그리고 상기 제 1 및 제 2 토큰 버킷들의 점유들의 함수인 사이즈로 상기 비디오 유닛을 코딩하기 위한 수단을 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  40. 제39항에 있어서,
    상기 장치에서 측정되는 상기 제 1 스루풋 레벨을 반영하기 위해 상기 제 1 토큰 버킷을 업데이트하기 위한 수단; 및
    상기 액세스 단말에서 측정되는 상기 제 2 스루풋 레벨을 반영하기 위해 상기 제 2 토큰 버킷을 업데이트하기 위한 수단을 더 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  41. 제40항에 있어서,
    상기 제 1 및 제 2 토큰 버킷들을 업데이트하기 위한 수단은, 상기 장치 및 상기 액세스 단말 사이에서 협상된 서비스 품질(QoS), 상기 제 1 및 제 2 토큰 버킷들의 현재 버퍼 점유 및 경과 시간에 기반하여 업데이트하기 위한 수단을 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  42. 제34항에 있어서,
    상기 장치는 하나 이상의 집적 회로들을 이용하여 구성되는, 멀티미디어 데이터의 통신을 위한 장치.
  43. 제39항에 있어서,
    상기 멀티미디어 데이터의 비디오 유닛을 코딩하면, 상기 장치에서 상기 제 1 및 제 2 토큰 버킷들 중 적어도 하나로부터의 컨텐츠를 감소시키기 위한 수단을 더 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  44. 제34항에 있어서,
    상기 멀티미디어 데이터의 비디오 유닛은 비디오 프레임을 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  45. 제44항에 있어서,
    상기 비디오 프레임과 연관되는 오디오 정보를 코딩하기 위한 수단 및 상기 비디오 프레임이 코딩되는지 여부에 관계없이 상기 네트워크를 통해 상기 장치에서 상기 액세스 단말로 상기 코딩된 오디오 정보를 전송하기 위한 수단을 더 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  46. 제34항에 있어서,
    상기 버짓이 상기 제 1 스루풋 레벨 및 상기 제 2 스루풋 레벨 중 어느 하나보다 크면 상기 멀티미디어 데이터의 비디오 유닛의 코딩을 스킵하기 위한 수단을 더 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  47. 제46항에 있어서,
    상기 멀티미디어 데이터의 비디오 유닛의 코딩을 스킵하면,
    상기 장치에서의 측정들에 기반하여 상기 제 1 스루풋 레벨을 업데이트하기 위한 수단;
    상기 액세스 단말에서의 측정들에 기반하여 상기 제 2 스루풋 레벨을 업데이트하기 위한 수단;
    멀티미디어 데이터의 후속적인 비디오 유닛의 통신과 연관되는 상기 버짓을 재-결정하기 위한 수단; 및
    상기 재-결정된 버짓이 상기 업데이트된 제 1 및 제 2 스루풋 레벨들보다 작으면, 상기 멀티미디어 데이터의 후속적인 비디오 유닛을 코딩하기 위한 수단을 더 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  48. 제47항에 있어서,
    상기 멀티미디어 데이터의 비디오 유닛은 비디오 프레임을 포함하고,
    상기 장치 및 상기 액세스 단말은 세션 동안 상기 멀티미디어 데이터의 비디오 프레임들의 통신을 위한 프레임 레이트를 정의하며, 그리고
    멀티미디어 데이터의 주어진 비디오 프레임의 코딩을 스킵하면, 상기 업데이트, 재-결정, 및 후속적인 비디오 프레임의 코딩이 상기 세션의 프레임 레이트에 의해 정의되는 다음 사이클 이전에 이루어지는, 멀티미디어 데이터의 통신을 위한 장치.
  49. 제34항에 있어서,
    상기 네트워크를 통한 다른 액세스 단말에서 상기 장치로의 피드백에 기반하여, 상기 네트워크에서 상기 다른 액세스 단말로의 멀티미디어 데이터 통신과 연관 되는 제 3 스루풋 레벨을 결정하기 위한 수단; 및
    상기 버짓이 상기 제 1, 제 2 및 제 3 스루풋 레벨들보다 작을 때 상기 멀티미디어 데이터의 비디오 유닛을 코딩하기 위한 수단을 더 포함하는, 멀티미디어 데이터의 통신을 위한 장치.
  50. 제49항에 있어서,
    상기 장치에서 적어도 세 개의 토큰 버킷들을 유지하기 위한 수단을 더 포함하고,
    상기 제 1 토큰 버킷은 상기 제 1 스루풋 레벨을 표시하는 정보를 저장하고, 상기 제 2 토큰 버킷은 상기 제 2 스루풋 레벨을 표시하는 정보를 저장하며, 상기 제 3 토큰 버킷은 상기 제 3 스루풋 레벨을 표시하는 정보를 저장하는, 멀티미디어 데이터의 통신을 위한 장치.
  51. 명령들을 포함하는 컴퓨터 판독가능 매체로서, 상기 명령들은,
    제 1 액세스 단말에서 네트워크로의 멀티미디어 데이터 통신과 연관되는 제 1 스루풋 레벨을 결정하고;
    상기 네트워크를 통해 제 2 액세스 단말에서 상기 제 1 액세스 단말로 전송된 관찰된 스루풋의 피드백에 기반하여, 상기 네트워크로부터 상기 제 2 액세스 단말로의 멀티미디어 데이터 통신과 연관되는 제 2 스루풋 레벨을 결정하며;
    상기 멀티미디어 데이터의 비디오 유닛의 통신과 연관되는 버짓을 결정하고; 그리고
    상기 버짓 그리고 제 1 및 제 2 스루풋 레벨들에 기반하여 상기 멀티미디어 데이터의 비디오 유닛을 코딩하도록 실행 가능한, 컴퓨터 판독가능 매체.
  52. 액세스 단말(AT)로서,
    네트워크로 그리고 네트워크로부터 무선 통신들을 전송하고 수신하는 안테나;
    상기 AT에서 상기 네트워크로의 멀티미디어 데이터 통신과 연관되는 제 1 스루풋 레벨을 결정하는 제 1 토큰 버퍼 모듈;
    다른 AT로부터 전송된 관찰된 스루풋의 피드백에 기반하여, 상기 네트워크에서 다른 AT로의 멀티미디어 데이터 통신과 연관되는 제 2 스루풋 레벨을 결정하는 제 2 토큰 버퍼 모듈;
    상기 멀티미디어 데이터의 비디오 유닛의 통신과 연관되는 버짓을 결정하는 레지듀얼 모듈; 및
    상기 버짓 그리고 상기 제 1 및 제 2 스루풋 레벨들에 기반하여 상기 멀티미디어 데이터의 비디오 유닛을 코딩하는 코딩 모듈을 포함하는, 액세스 단말.
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
KR1020097016651A 2007-01-10 2008-01-10 멀티미디어 전화 통신을 위한 컨텐트- 및 링크-의존 코딩 적응 구조 KR101370478B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US88432807P 2007-01-10 2007-01-10
US60/884,328 2007-01-10
PCT/US2008/050822 WO2008086509A2 (en) 2007-01-10 2008-01-10 Content- and link-dependent coding adaptation for multimedia telephony

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020117031357A Division KR20120034084A (ko) 2007-01-10 2008-01-10 멀티미디어 전화 통신을 위한 컨텐트- 및 링크-의존 코딩 적응 구조

Publications (2)

Publication Number Publication Date
KR20090108079A KR20090108079A (ko) 2009-10-14
KR101370478B1 true KR101370478B1 (ko) 2014-03-06

Family

ID=39563698

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020117031357A KR20120034084A (ko) 2007-01-10 2008-01-10 멀티미디어 전화 통신을 위한 컨텐트- 및 링크-의존 코딩 적응 구조
KR1020097016651A KR101370478B1 (ko) 2007-01-10 2008-01-10 멀티미디어 전화 통신을 위한 컨텐트- 및 링크-의존 코딩 적응 구조

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020117031357A KR20120034084A (ko) 2007-01-10 2008-01-10 멀티미디어 전화 통신을 위한 컨텐트- 및 링크-의존 코딩 적응 구조

Country Status (6)

Country Link
US (1) US8537197B2 (ko)
EP (1) EP2109982B1 (ko)
JP (2) JP5221562B2 (ko)
KR (2) KR20120034084A (ko)
CN (1) CN101578842B (ko)
WO (1) WO2008086509A2 (ko)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8842555B2 (en) * 2005-10-21 2014-09-23 Qualcomm Incorporated Methods and systems for adaptive encoding of real-time information in packet-switched wireless communication systems
US8548048B2 (en) * 2005-10-27 2013-10-01 Qualcomm Incorporated Video source rate control for video telephony
US8514711B2 (en) * 2005-10-21 2013-08-20 Qualcomm Incorporated Reverse link lower layer assisted video error control
US8406309B2 (en) * 2005-10-21 2013-03-26 Qualcomm Incorporated Video rate adaptation to reverse link conditions
TWI533738B (zh) * 2006-10-20 2016-05-11 內數位科技公司 Lte增強b節點自行配置方法及裝置
TWI543644B (zh) * 2006-12-27 2016-07-21 無線創新信號信託公司 基地台自行配置方法及裝置
EP2122999B1 (en) * 2007-01-18 2016-03-09 Telefonaktiebolaget LM Ericsson (publ) Dividing rtcp bandwidth between compound and non- compound rtcp packets
US8797850B2 (en) * 2008-01-10 2014-08-05 Qualcomm Incorporated System and method to adapt to network congestion
US10875182B2 (en) 2008-03-20 2020-12-29 Teladoc Health, Inc. Remote presence system mounted to operating room hardware
KR101659337B1 (ko) * 2008-07-01 2016-09-26 삼성전자주식회사 무선통신시스템의 핸드오버 장치 및 방법
CN101415236B (zh) 2008-11-25 2010-12-29 中兴通讯股份有限公司 可视通话业务的自适应调节方法以及可视移动终端
JP5410601B2 (ja) 2009-06-12 2014-02-05 テレフオンアクチーボラゲット エル エム エリクソン(パブル) パケット交換網における遅延の監視
US8537699B2 (en) 2009-06-16 2013-09-17 Qualcomm Incorporated Managing video adaptation algorithms
US8670017B2 (en) 2010-03-04 2014-03-11 Intouch Technologies, Inc. Remote presence system including a cart that supports a robot face and an overhead camera
US8723913B2 (en) * 2010-10-07 2014-05-13 T-Mobile Usa, Inc. Rate adaptation for video calling
US8520723B2 (en) 2010-12-09 2013-08-27 Qualcomm Incorporated Universal real-time interface for wireless modems
US9323250B2 (en) 2011-01-28 2016-04-26 Intouch Technologies, Inc. Time-dependent navigation of telepresence robots
EP2668008A4 (en) 2011-01-28 2018-01-24 Intouch Technologies, Inc. Interfacing with a mobile telepresence robot
US8896652B2 (en) * 2011-02-28 2014-11-25 Soryn Technologies Llc System and method for real-time video communications
US9098611B2 (en) 2012-11-26 2015-08-04 Intouch Technologies, Inc. Enhanced video interaction for a user interface of a telepresence network
US9225614B2 (en) * 2011-11-17 2015-12-29 Google Inc. Service and application layer optimization using variable rate optical transmission
CN103166995B (zh) * 2011-12-14 2016-08-10 华为技术有限公司 一种视频传输方法及装置
WO2013176758A1 (en) 2012-05-22 2013-11-28 Intouch Technologies, Inc. Clinical workflows utilizing autonomous and semi-autonomous telemedicine devices
US9361021B2 (en) 2012-05-22 2016-06-07 Irobot Corporation Graphical user interfaces including touchpad driving interfaces for telemedicine devices
US9014277B2 (en) * 2012-09-10 2015-04-21 Qualcomm Incorporated Adaptation of encoding and transmission parameters in pictures that follow scene changes
US20140177701A1 (en) * 2012-12-26 2014-06-26 Thomson Licensing System and method for time budget achievement in real-time video encoding
US9148379B1 (en) 2013-01-09 2015-09-29 “Intermind” société à responsabilité limitée Method and system for prioritizing audio traffic in IP networks
EP3000198B1 (en) * 2013-05-23 2020-04-01 Nokia Solutions and Networks Oy Method and apparatus for optimization of video transmissions
CN104519415B (zh) * 2013-09-26 2018-04-03 成都鼎桥通信技术有限公司 自适应调整的触发方法、音视频处理设备和网络设备
US9584759B2 (en) * 2014-02-14 2017-02-28 Telefonaktiebolaget Lm Ericsson (Publ) Determination of bit rate request
KR101437386B1 (ko) * 2014-04-15 2014-09-05 단국대학교 산학협력단 모바일 릴레이, 이를 포함하는 이동 수단 및 모바일 릴레이로 동작하는 단말기
US9654483B1 (en) * 2014-12-23 2017-05-16 Amazon Technologies, Inc. Network communication rate limiter
US10298647B2 (en) * 2015-02-26 2019-05-21 Qualcomm Incorporated Delay compensation for broadcast adaptive bitrate streaming
US9445051B1 (en) * 2015-08-14 2016-09-13 Qualcomm Incorporated Sender side video telephony downgrade
US20170094301A1 (en) * 2015-09-28 2017-03-30 Cybrook Inc. Initial Bandwidth Estimation For Real-time Video Transmission
US10506257B2 (en) 2015-09-28 2019-12-10 Cybrook Inc. Method and system of video processing with back channel message management
US10516892B2 (en) 2015-09-28 2019-12-24 Cybrook Inc. Initial bandwidth estimation for real-time video transmission
US10756997B2 (en) 2015-09-28 2020-08-25 Cybrook Inc. Bandwidth adjustment for real-time video transmission
EP3567769A1 (en) 2016-01-20 2019-11-13 Telefonaktiebolaget LM Ericsson (publ) Methods, ue and system of a wireless communication network for determining transmission conditions for a real-time media flow
US11862302B2 (en) 2017-04-24 2024-01-02 Teladoc Health, Inc. Automated transcription and documentation of tele-health encounters
US10483007B2 (en) 2017-07-25 2019-11-19 Intouch Technologies, Inc. Modular telehealth cart with thermal imaging and touch screen user interface
US11636944B2 (en) 2017-08-25 2023-04-25 Teladoc Health, Inc. Connectivity infrastructure for a telehealth platform
CN112219368B (zh) * 2018-04-06 2024-07-16 诺基亚技术有限公司 用于eNB间载波聚合的DL IP调度吞吐量的评估
US10617299B2 (en) 2018-04-27 2020-04-14 Intouch Technologies, Inc. Telehealth cart that supports a removable tablet with seamless audio/video switching
CN112369103B (zh) * 2018-05-08 2024-08-16 交互数字专利控股公司 用于无线系统中的逻辑信道优先级排序和业务成形的方法
KR102436246B1 (ko) 2018-07-05 2022-08-25 삼성전자 주식회사 전자 장치에서 멀티미디어 서비스 제공 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004056028A1 (en) * 2002-12-18 2004-07-01 Koninklijke Philips Electronics N.V. Adaptive encoding of digital multimedia information
WO2005122025A2 (en) * 2004-06-07 2005-12-22 Sling Media, Inc. Personal media broadcasting system

Family Cites Families (134)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4774587A (en) * 1987-06-02 1988-09-27 Eastman Kodak Company Still video transceiver processor
US5341374A (en) * 1991-03-01 1994-08-23 Trilan Systems Corporation Communication network integrating voice data and video with distributed call processing
JP2861518B2 (ja) * 1991-09-03 1999-02-24 日本電気株式会社 適応多重化方式
JP3002348B2 (ja) * 1992-11-30 2000-01-24 シャープ株式会社 画像通信システム
US5367523A (en) * 1993-08-26 1994-11-22 International Business Machines Corporation Adaptive rate-based congestion and flow control in packet communications networks
EP0676756B1 (en) * 1993-09-21 2001-06-27 Sony Corporation Method and device for transmitting data, data decoder, and data recording medium
US5541919A (en) * 1994-12-19 1996-07-30 Motorola, Inc. Multimedia multiplexing device and method using dynamic packet segmentation
US5784362A (en) 1995-04-17 1998-07-21 Telefonaktiebolaget Lm Ericsson Temporary frame identification for ARQ in a reservation-slotted-ALOHA type of protocol
US5802068A (en) * 1995-06-30 1998-09-01 Nippon Steel Corporation Multiplexing apparatus of a plurality of data having different bit rates
US5768533A (en) * 1995-09-01 1998-06-16 National Semiconductor Corporation Video coding using segmented frames and retransmission to overcome channel errors
JP3068002B2 (ja) * 1995-09-18 2000-07-24 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
TW305043B (ko) * 1995-09-29 1997-05-11 Matsushita Electric Ind Co Ltd
US6002802A (en) 1995-10-27 1999-12-14 Kabushiki Kaisha Toshiba Video encoding and decoding apparatus
US5790538A (en) * 1996-01-26 1998-08-04 Telogy Networks, Inc. System and method for voice Playout in an asynchronous packet network
SG71709A1 (en) * 1996-05-08 2000-04-18 Matsushita Electric Ind Co Ltd Multiplex transmission method and system and audio jitter absorbing method used therein
CN1126374C (zh) * 1996-07-05 2003-10-29 日本电信电话株式会社 图象通信系统及方法
US5838678A (en) * 1996-07-24 1998-11-17 Davis; Joseph W. Method and device for preprocessing streams of encoded data to facilitate decoding streams back-to back
US6366614B1 (en) * 1996-10-11 2002-04-02 Qualcomm Inc. Adaptive rate control for digital video compression
DE19648077C2 (de) 1996-11-20 1998-12-03 Nokia Mobile Phones Ltd Verfahren zur Einstellung der Zugriffsbeharrlichkeit einer Mobilstation in einem zellularen Mobilfunknetz
US6633609B1 (en) * 1996-12-24 2003-10-14 Intel Corporation Method and apparatus for bit rate control in a digital video environment for arbitrary bandwidth
US5969764A (en) * 1997-02-14 1999-10-19 Mitsubishi Electric Information Technology Center America, Inc. Adaptive video coding method
JP3582979B2 (ja) * 1997-02-26 2004-10-27 株式会社東芝 通信装置、通信方法及び記録媒体
US6404776B1 (en) * 1997-03-13 2002-06-11 8 × 8, Inc. Data processor having controlled scalable input data source and method thereof
EP1011211B1 (en) * 1997-04-17 2004-12-01 NTT DoCoMo, Inc. Receiver and method for coherent reception using received pilot symbols
EP0935363A4 (en) * 1997-06-19 2005-09-07 Toshiba Kk TRANSMISSION SYSTEM WITH INFORMATION MULTIPLEXING, MULTIPLEXER AND DEMULTIPLEXER USED FOR THE SAME, AND ENCODER AND DECODER FOR ERROR CORRECTION
JPH1169349A (ja) * 1997-08-19 1999-03-09 Matsushita Electric Ind Co Ltd 画像通信装置
US6377809B1 (en) 1997-09-16 2002-04-23 Qualcomm Incorporated Channel structure for communication systems
US6154489A (en) * 1998-03-30 2000-11-28 Motorola, Inc. Adaptive-rate coded digital image transmission
US6396956B1 (en) * 1998-03-31 2002-05-28 Sharp Laboratories Of America, Inc. Method and apparatus for selecting image data to skip when encoding digital video
US6421387B1 (en) * 1998-05-15 2002-07-16 North Carolina State University Methods and systems for forward error correction based loss recovery for interactive video transmission
TW376497B (en) * 1998-05-26 1999-12-11 Koninkl Philips Electronics Nv Transmission system for transmitting a main signal and an auxiliary signal
CA2238795A1 (en) * 1998-05-28 1999-11-28 Newbridge Networks Corporation Er information acceleration in abr traffic
US6584509B2 (en) * 1998-06-23 2003-06-24 Intel Corporation Recognizing audio and video streams over PPP links in the absence of an announcement protocol
JP2000023240A (ja) 1998-06-30 2000-01-21 Matsushita Electric Ind Co Ltd 無線通信装置及び無線通信方法
US6389034B1 (en) * 1998-09-04 2002-05-14 Nortel Networks Limited System for providing stream based and packet based services
US6108795A (en) * 1998-10-30 2000-08-22 Micron Technology, Inc. Method for aligning clock and data signals received from a RAM
US6629318B1 (en) * 1998-11-18 2003-09-30 Koninklijke Philips Electronics N.V. Decoder buffer for streaming video receiver and method of operation
CA2257007A1 (en) * 1998-12-24 2000-06-24 Newbridge Networks Corporation Explicit rate flow control for multicast connections
JP2000324171A (ja) 1999-05-14 2000-11-24 Namco Ltd データ転送装置及びデータ転送方法、並びにデータ配布方法
JP3841256B2 (ja) 2000-02-15 2006-11-01 三菱電機株式会社 通信システム及び通信方法及び送信端末
JP2001238256A (ja) 2000-02-21 2001-08-31 Hitachi Kokusai Electric Inc 可変速度符号化システム
EP1130921B1 (en) * 2000-03-02 2005-01-12 Matsushita Electric Industrial Co., Ltd. Data transmission in non-reliable networks
KR100833222B1 (ko) 2000-03-29 2008-05-28 삼성전자주식회사 멀티미디어 송수신 장치 및 방법
US6694469B1 (en) 2000-04-14 2004-02-17 Qualcomm Incorporated Method and an apparatus for a quick retransmission of signals in a communication system
US6747991B1 (en) * 2000-04-26 2004-06-08 Carnegie Mellon University Filter and method for adaptively modifying the bit rate of synchronized video and audio streams to meet packet-switched network bandwidth constraints
CN1322759C (zh) * 2000-04-27 2007-06-20 三菱电机株式会社 编码装置和编码方法
JP3669281B2 (ja) 2000-04-27 2005-07-06 三菱電機株式会社 符号化装置および符号化方法
US6999432B2 (en) * 2000-07-13 2006-02-14 Microsoft Corporation Channel and quality of service adaptation for multimedia over wireless networks
US6862298B1 (en) * 2000-07-28 2005-03-01 Crystalvoice Communications, Inc. Adaptive jitter buffer for internet telephony
US6891822B1 (en) * 2000-09-08 2005-05-10 Sharewave, Inc. Method and apparatus for transferring isocronous data within a wireless computer network
EP1233594B1 (en) * 2000-10-13 2011-12-07 Sony Corporation Data communication quality control system, transmitter system and receiver
US7304951B2 (en) * 2000-11-21 2007-12-04 North Carolina State University Methods and systems for rate-based flow control between a sender and a receiver
US7006510B2 (en) * 2001-01-17 2006-02-28 Optibase Ltd. Method of clock mismatch and drift compensation for packet networks
GB2398975B (en) * 2001-02-01 2005-02-23 Fujitsu Ltd Communications systems
US7058085B2 (en) * 2001-03-14 2006-06-06 Nortel Networks Limited Method and apparatus for transmitting data over a network within a specified time limit
KR100425253B1 (ko) 2001-04-18 2004-03-30 주식회사 현대시스콤 무선통신 시스템에서의 순방향 패킷 송수신 방법
US7054316B2 (en) * 2001-04-25 2006-05-30 Nokia Corporation Method and system for interlayer control between re-sequencing and retransmission entities
US7342901B1 (en) * 2001-05-01 2008-03-11 Nortel Networks Limited Medium access control (MAC) protocol for a wireless communication system
JP2002354141A (ja) * 2001-05-25 2002-12-06 Matsushita Electric Ind Co Ltd ビデオフォンおよび遠隔医療装置
US7193966B2 (en) * 2001-06-25 2007-03-20 Telefonakitebolaget Lm Ericsson (Publ) Triggered packet data rate change in a communication system
US7269139B1 (en) * 2001-06-27 2007-09-11 Cisco Technology, Inc. Method and apparatus for an adaptive rate control mechanism reactive to flow control messages in a packet switching system
US6741603B2 (en) * 2001-07-09 2004-05-25 Overture Networks, Inc. Use of a circular buffer to assure in-order delivery of packets
US7068086B2 (en) * 2001-07-27 2006-06-27 Advantest Corp. Phase correction circuit
US7206285B2 (en) * 2001-08-06 2007-04-17 Koninklijke Philips Electronics N.V. Method for supporting non-linear, highly scalable increase-decrease congestion control scheme
US6865374B2 (en) * 2001-09-18 2005-03-08 Koninklijke Philips Electronics N.V. Video recovery system and method
US7356079B2 (en) * 2001-11-21 2008-04-08 Vixs Systems Inc. Method and system for rate control during video transcoding
US20050013244A1 (en) * 2001-12-14 2005-01-20 Parlos Alexander G System for actively controlling distributed applications
JP3606259B2 (ja) 2002-01-16 2005-01-05 ソニー株式会社 通信装置とその方法、ならびにプログラムとその記録媒体
AU2002353343A1 (en) * 2002-01-18 2003-07-30 Koninklijke Philips Electronics N.V. Audio coding
EP1335289A1 (en) * 2002-02-07 2003-08-13 Siemens Aktiengesellschaft Method for software downloads in a radio communications system
JP3900413B2 (ja) 2002-02-14 2007-04-04 Kddi株式会社 映像情報伝送方式およびプログラム
JP4116470B2 (ja) 2002-03-06 2008-07-09 ヒューレット・パッカード・カンパニー メディア・ストリーミング配信システム
JP3490425B2 (ja) 2002-03-14 2004-01-26 松下電器産業株式会社 受信装置及び受信方法
US7496086B2 (en) * 2002-04-30 2009-02-24 Alcatel-Lucent Usa Inc. Techniques for jitter buffer delay management
JP4029670B2 (ja) 2002-06-11 2008-01-09 日本電気株式会社 無線アクセスにおける輻輳制御方法並びにシステム
KR20030095995A (ko) 2002-06-14 2003-12-24 마츠시타 덴끼 산교 가부시키가이샤 미디어 전송방법 및 그 송신장치 및 수신장치
JP3730974B2 (ja) 2002-06-14 2006-01-05 松下電器産業株式会社 メディア伝送方法及びその送信装置
GB0229396D0 (en) 2002-12-17 2003-01-22 British Telecomm Signal processing
JP2004208001A (ja) 2002-12-25 2004-07-22 Sharp Corp 無線通信システム、無線通信方法、無線通信プログラム及びプログラム記録媒体
JP2004253883A (ja) 2003-02-18 2004-09-09 Nec Corp 音声・画像リアルタイム通信におけるビットレート制御を実行するデータ通信装置
US7551588B2 (en) 2003-03-06 2009-06-23 Nortel Networks Limited Autonomous mode transmission from a mobile station
SE0301048D0 (sv) * 2003-04-07 2003-04-07 Ericsson Telefon Ab L M RLC window reconfiguration
JPWO2004093446A1 (ja) * 2003-04-17 2006-07-13 富士通株式会社 圧縮データと非圧縮データを同時転送する場合のタスクスケジューリング方法
JP3943558B2 (ja) 2003-05-14 2007-07-11 株式会社エヌ・ティ・ティ・ドコモ パケット通信方法及びパケット通信システム。
US7477604B2 (en) 2003-05-14 2009-01-13 Ntt Docomo, Inc. Packet communications system
JP2004350227A (ja) 2003-05-26 2004-12-09 Ntt Communications Kk ビデオ会議システムにおける会議クライアント装置及びそのプログラム
US20040252761A1 (en) * 2003-06-16 2004-12-16 Dilithium Networks Pty Limited (An Australian Corporation) Method and apparatus for handling video communication errors
US7050397B2 (en) 2003-07-02 2006-05-23 Nokia Corporation Apparatus, and associated method, for facilitating retransmission of data packets in a packet radio communication system that utilizes a feedback acknowledgement scheme
US7263067B2 (en) * 2003-07-15 2007-08-28 Nokia Siemans Networks Oy Method and apparatus for accelerating throughput in a wireless or other telecommunication system
JP4176576B2 (ja) 2003-08-01 2008-11-05 株式会社エヌ・ティ・ティ・ドコモ データ流入量制御方法、基地局及び制御局
JP4215601B2 (ja) * 2003-09-05 2009-01-28 富士通株式会社 無線通信装置
EP1670266B1 (en) * 2003-09-30 2009-07-01 Mitsubishi Denki Kabushiki Kaisha Communication mode control method
WO2005039209A1 (ja) 2003-10-17 2005-04-28 Nec Corporation シグナリング方法、システム、基地局並びに移動局
US20050249231A1 (en) * 2003-11-25 2005-11-10 Asif Khan Methods and systems for reliable distribution of media over a network
US7376083B2 (en) * 2003-12-09 2008-05-20 International Business Machines Corporation Apparatus and method for modeling queueing systems with highly variable traffic arrival rates
US7197026B2 (en) 2003-12-23 2007-03-27 Nokia Corporation Method and system for RLP optimization
JP2005192073A (ja) 2003-12-26 2005-07-14 Matsushita Electric Ind Co Ltd マルチメディアデータ通信方法および装置
US20050152320A1 (en) * 2004-01-08 2005-07-14 Interdigital Technology Corporation Wireless communication method and apparatus for balancing the loads of access points by controlling access point transmission power levels
US7453938B2 (en) * 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
JP4562402B2 (ja) 2004-02-20 2010-10-13 アルパイン株式会社 音声データの非同期通信システムおよびその通信方法
WO2005089158A2 (en) * 2004-03-16 2005-09-29 Snowshore Networks, Inc. Jitter buffer management
WO2005094020A1 (en) * 2004-03-19 2005-10-06 Telefonaktiebolaget Lm Ericsson (Publ) Higher layer packet framing using rlp
KR100550567B1 (ko) 2004-03-22 2006-02-10 엘지전자 주식회사 무선 네트워크망을 통해 통신하는 서버 시스템 및 그동작방법
JP3950865B2 (ja) 2004-03-30 2007-08-01 Necアクセステクニカ株式会社 Atm通信システム
KR101071816B1 (ko) * 2004-04-02 2011-10-11 엘지전자 주식회사 무선 패킷 통신 시스템에서의 업링크 패킷 스케쥴링 방법
JP4526294B2 (ja) 2004-04-15 2010-08-18 シャープ株式会社 ストリームデータ送信装置、受信装置、プログラムを記録した記録媒体、およびシステム
US7424026B2 (en) 2004-04-28 2008-09-09 Nokia Corporation Method and apparatus providing continuous adaptive control of voice packet buffer at receiver terminal
CN1985477B (zh) * 2004-05-13 2012-11-07 高通股份有限公司 用于分配信息到通信系统的信道的方法和设备
KR20050121067A (ko) * 2004-06-21 2005-12-26 삼성전자주식회사 무선 채널에 의한 무선 통신 시스템 및 그의 무선 통신 방법
US7606427B2 (en) * 2004-07-08 2009-10-20 Qualcomm Incorporated Efficient rate control techniques for video encoding
KR100608061B1 (ko) * 2004-07-12 2006-08-02 삼성전자주식회사 전송 스트림 생성을 위한 다중화 방법 및 그 장치
US7551647B2 (en) * 2004-07-19 2009-06-23 Qvidium Technologies, Inc. System and method for clock synchronization over packet-switched networks
EP1628446B1 (en) 2004-08-18 2007-11-14 Infineon Technologies AG Method for transmitting information through a communication link and respective transmitting device and communication system
CA2691762C (en) * 2004-08-30 2012-04-03 Qualcomm Incorporated Method and apparatus for an adaptive de-jitter buffer
US7606303B2 (en) * 2004-09-28 2009-10-20 General Instrument Corporation Method and apparatus to detect anchor frames from digital video streams
JP2006115354A (ja) * 2004-10-15 2006-04-27 Ntt Docomo Inc 移動端末、制御装置及び移動通信方法
US7925271B2 (en) 2004-11-09 2011-04-12 Spyder Navigations L.L.C. Apparatus and method for arbitrary data rate ramp up after overload on wireless interface
JP2006222822A (ja) * 2005-02-14 2006-08-24 Hitachi Ltd ハンドオーバシステム
US7492710B2 (en) * 2005-03-31 2009-02-17 Intel Corporation Packet flow control
US7894489B2 (en) * 2005-06-10 2011-02-22 Symmetricom, Inc. Adaptive play-out buffers and adaptive clock operation in packet networks
US20070019931A1 (en) * 2005-07-19 2007-01-25 Texas Instruments Incorporated Systems and methods for re-synchronizing video and audio data
US7701851B2 (en) * 2005-07-20 2010-04-20 Vidyo, Inc. System and method for the control of the transmission rate in packet-based digital communications
CA2620544C (en) * 2005-09-21 2015-04-14 Lg Electronics Inc. Method and apparatus for multiplexing multiple reverse feedback channels in multi-carrier wireless networks
US8102878B2 (en) 2005-09-29 2012-01-24 Qualcomm Incorporated Video packet shaping for video telephony
US8514711B2 (en) * 2005-10-21 2013-08-20 Qualcomm Incorporated Reverse link lower layer assisted video error control
US8548048B2 (en) 2005-10-27 2013-10-01 Qualcomm Incorporated Video source rate control for video telephony
US8842555B2 (en) 2005-10-21 2014-09-23 Qualcomm Incorporated Methods and systems for adaptive encoding of real-time information in packet-switched wireless communication systems
US8406309B2 (en) * 2005-10-21 2013-03-26 Qualcomm Incorporated Video rate adaptation to reverse link conditions
US8031602B2 (en) * 2006-04-13 2011-10-04 Dolby Laboratories Licensing Corporation Estimating wireless processing device queue length and estimating signal reception quality in a wireless network
US8848618B2 (en) 2006-08-22 2014-09-30 Qualcomm Incorporated Semi-persistent scheduling for traffic spurts in wireless communication
US20080056125A1 (en) * 2006-09-06 2008-03-06 Nokia Corporation Congestion control in a wireless network
KR100787314B1 (ko) * 2007-02-22 2007-12-21 광주과학기술원 미디어내 동기화를 위한 적응형 미디어 재생 방법 및 장치
JP5339697B2 (ja) * 2007-08-14 2013-11-13 キヤノン株式会社 送信装置、送信方法、及びコンピュータプログラム
US8797850B2 (en) * 2008-01-10 2014-08-05 Qualcomm Incorporated System and method to adapt to network congestion

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004056028A1 (en) * 2002-12-18 2004-07-01 Koninklijke Philips Electronics N.V. Adaptive encoding of digital multimedia information
WO2005122025A2 (en) * 2004-06-07 2005-12-22 Sling Media, Inc. Personal media broadcasting system

Also Published As

Publication number Publication date
CN101578842A (zh) 2009-11-11
JP2010516206A (ja) 2010-05-13
JP5221562B2 (ja) 2013-06-26
KR20120034084A (ko) 2012-04-09
US20090021572A1 (en) 2009-01-22
CN101578842B (zh) 2014-03-05
WO2008086509A2 (en) 2008-07-17
WO2008086509A3 (en) 2008-11-27
JP2012231467A (ja) 2012-11-22
EP2109982A2 (en) 2009-10-21
US8537197B2 (en) 2013-09-17
KR20090108079A (ko) 2009-10-14
EP2109982B1 (en) 2018-08-08

Similar Documents

Publication Publication Date Title
KR101370478B1 (ko) 멀티미디어 전화 통신을 위한 컨텐트- 및 링크-의존 코딩 적응 구조
KR101013342B1 (ko) 역방향 링크 상태에 대한 비디오 레이트 적응
EP2749069B1 (en) Methods providing packet communications including jitter buffer emulation and related network nodes
US9451248B2 (en) Data processing device and data processing method
US8443097B2 (en) Queue management unit and method for streaming video packets in a wireless network
KR20150052826A (ko) 통신 네트워크에서 강화된 체감 품질을 위해 클라이언트 측 비디오 버퍼 점유율을 사용하기 위한 방법 및 시스템
JP2009513071A (ja) パケット交換無線通信システムにおけるリアルタイム情報の適応符号化のための方法およびシステム
KR20130047642A (ko) 통신 시스템에서 데이터 송수신 장치 및 방법
Curcio et al. Geo-predictive real-time media delivery in mobile environment
WO2017123962A1 (en) Real-time transport protocol congestion control techniques in video telephony
WO2014209493A1 (en) State management for video streaming quality of experience degradation control and recovery using a video quality metric
US8665737B2 (en) Conversational interactivity measurement and estimation for real-time media
KR101482484B1 (ko) 멀티미디어 스트리밍을 위한 비디오 패킷 스케줄링 방법
WO2014209494A1 (en) Video streaming quality of experience degradation control using a video quality metric
WO2014209495A1 (en) Video streaming quality of experience recovery using a video quality metric
Liebl et al. Radio link buffer management and scheduling for wireless video streaming
Chen et al. Robust video streaming over wireless LANs using multiple description transcoding and prioritized retransmission
Garudadri et al. Rate adaptation for video telephony in 3G networks
EP3145187B1 (en) Method and apparatus for response of feedback information during video call
Falik et al. Transmission algorithm for video streaming over cellular networks
Xu et al. QoE-based MAC Layer Optimization for Video Teleconferencing over WiFi
Bouazizi et al. Coping with handover effects in video streaming over cellular networks
Lee et al. Buffer level estimation for seamless media streaming in mobile ipv6 networks
Al-Majeed et al. Multi-connection DCCP user-to-user video streaming over mobile WiMAX
Duong et al. Adaptive GOP bit allocation to provide seamless video streaming in vertical handoff

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
A107 Divisional application of patent
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20111128

Effective date: 20140123

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 6