KR20030025186A - 이미지 또는 비디오 프로세싱을 위한 일반화된 기준 디코더 - Google Patents

이미지 또는 비디오 프로세싱을 위한 일반화된 기준 디코더 Download PDF

Info

Publication number
KR20030025186A
KR20030025186A KR1020020056115A KR20020056115A KR20030025186A KR 20030025186 A KR20030025186 A KR 20030025186A KR 1020020056115 A KR1020020056115 A KR 1020020056115A KR 20020056115 A KR20020056115 A KR 20020056115A KR 20030025186 A KR20030025186 A KR 20030025186A
Authority
KR
South Korea
Prior art keywords
buffer
sets
decoder
data
rate
Prior art date
Application number
KR1020020056115A
Other languages
English (en)
Other versions
KR100947162B1 (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 KR20030025186A publication Critical patent/KR20030025186A/ko
Application granted granted Critical
Publication of KR100947162B1 publication Critical patent/KR100947162B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

주어진 비트 스트림에 대한 버퍼 파라미터와 레이트 세트의 수에 따라 동작하는 향상된 일반화된 기준 디코더를 포함하는 시스템 및 방법이 제공된다. 각 세트는 누설 버킷 모델(leaky bucket model)을 특징으로 하며, 전송 비트 레이트, 버퍼 크기 및 초기 디코더 버퍼 충만도를 나타내는 3개의 파라미터를 포함한다. 인코더는 이들 파라미터중 적어도 2개의 세트를 제공하며, 이에 의해 디코더는 하나를 선택하거나 또는 그들 사이를 내삽하여 원하는 피크 비트 레이트, 버퍼 크기 또는 지연에서 동작한다. 일반화된 기준 디코더는 최소 버퍼 크기 및 버퍼 언더플로우나 오버플로우 없이 비트 스트림을 디코딩하는 대응 지연을 선택할 수 있거나, 최소 요구 피크 전송 레이트 또는 그들 사이의 값을 선택하여 동작할 수 있다. 실제로, 버퍼 크기, 지연 및/또는 피크 전송 레이트는 중요한 인자들에 의해 감소될 수 있으며, 및/또는 신호대 노이즈 비(SNR)가 증가될 수 있다.

Description

이미지 또는 비디오 프로세싱을 위한 일반화된 기준 디코더{GENERALIZED REFERENCE DECODER FOR IMAGE OR VIDEO PROCESSING}
본 발명은 대화 및 오디오와 같은 다른 시변 신호들 뿐만 아니라 이미지 및 비디오 신호의 디코딩에 관한 것이다.
비디오 코딩 표준에서 있어서, 인코더의 출력에 접속된 디코더의 수학적 모델에 의해 비트 스트림이 적어도 개념적으로 디코딩될 수 있으면, 비트 스트림은 순종적(compliant)이다. 이러한 모델 디코더는 H.263 코딩 표준에서 가설적 기준 디코더(hypothetical reference decoder, HRD)로서, 그리고 MPEG 코딩 표준에서는 비디오 버퍼링 검정기(video buffering verifier, VBV)로서 알려져 있다. 일반적으로, 실제 디코더 장치(또는 단말기)는 디코더 버퍼, 디코더 및 디스플레이 유닛을 포함한다. 실제 디코더 장치가 디코더의 수학적 모델에 따라 구성되어 있다면, 그리고 순종적 비트 스트림이 특정 조건 하에서 상기 장치로 전송된다면, 디코더 버퍼는 오버플로우(overflow) 또는 언더플로우(underflow)하지 않고, 디코딩이 올바르게 수행된다.
이전의 기준 (모델) 디코더는, 비트 스트림이 주어진 고정 비트 레이트로 채널을 통하여 전송되고 소정의 버퍼 크기를 갖는 장치에 의해 (주어진 버퍼링 지연 후에) 디코딩될 것으로 가정한다. 그러므로, 이들 모델은 상당히 비탄력적이며, 또는 다양한 피크 비트 레이트를 갖는 네트워크 경로를 통하여 요구시 다양한 버퍼 크기를 갖는 장치들로 프리-인코딩된 비디오를 스트리밍(streaming)하거나 라이브 비디오를 방송하는 것과 같은 오늘날 수많은 중요한 비디오 애플리케이션들의 요구를 처리하지 못한다.
이전의 기준 디코더에서, 비디오 비트 스트림은 주어진 일정 비트 레이트로 (일반적으로 스트림의 초당 평균 비트 레이트로) 수신되고, 버퍼가 어느 원하는 레벨의 충만도(fullness)에 도달할 때까지 디코더 버퍼에 저장된다. 예컨대, 디코딩이 출력 프레임을 재구성하기 전에, 적어도 비디오 정보의 한 개의 초기 프레임에 대응하는 데이터가 요구된다. 이러한 바람직한 레벨은 초기 디코더 버퍼 충만도로서 표시되며, 일정 비트 레이트에서 전송 또는 개시 (버퍼) 지연에 직접 비례한다. 일단 이러한 충만도에 도달하면, 디코더는 즉시 (본질적으로는) 시퀀스의 첫번째 비디오 프레임에 대한 비트를 제거하고 그 비트를 디코딩하여 프레임을 디스플레이한다. 다음 프레임에 대한 비트도 또한 후속하는 시간 간격으로 동시에 제거, 디코딩 및 디스플레이된다.
이러한 기준 디코더는 고정된 비트 레이트, 버퍼 크기 및 초기 지연으로 동작된다. 그러나, 많은 현재의 비디오 애플리케이션(예컨대, 인터넷이나 ATM 네트워크를 통한 비디오 스트리밍)에서, 피크 대역폭은 네트워크 경로에 따라 변화한다. 예컨대, 피크 대역폭은 네트워크로의 접속이 모뎀, ISDN, DSL, 케이블 등에의한 것인지 여부에 기초하여 서로 다르다. 또한, 피크 대역폭은 예컨대 네트워크 상태에 따라, 예컨대 네트워크 혼잡, 사용자 접속수 및 다른 공지된 요인에 기초하여 시간별로 요동(fluctuate)할 수 있다. 또한, 비디오 비트 스트림은, 핸드 세트, PDA(Personal Digital Assistant), PC, 포켓 사이즈 계산 장치, 텔레비젼 세트톱(set-top) 박스, DVD형 플레이어 등을 포함하는 상이한 버퍼 용량을 갖는 각종 장치들에 전달되고, 상이한 지연 요건, 예컨대 저지연 스트리밍, 진보적인 다운로드 등을 갖는 시나리오에 대하여 생성된다.
기존의 기준 디코더는 이러한 변수들을 조절하지 못한다. 동시에, 인코더는 가변 상태들이 소정의 수신처에 대하여 어떤 것인지를 통상적으로 미리 알지 못하며 알 수도 없다. 그 결과, 자원 및/또는 지연 시간이 종종 불필요하게 낭비되거나, 많은 예에 적합하지 않다.
간단히 말하자면, 본 발명은 주어진 비트 스트림에 대하여 버퍼 파라미터 및 레이트의 세트의 수에 따라 동작하는 향상된 일반화된 기준 디코더를 제공한다. 각 세트는 누설 버킷 모델(leaky bucket model)이라 불리는 것 또는 파라미터 세트를 특징으로 하며, 3개의 값들(R, B, F)을 포함하는데, 여기서 R은 전송 비트 레이트, B는 버퍼 크기, F는 초기 디코더 버퍼 충만도이다. 이해되는 바와 같이, F/R은 개시(start-up) 또는 초기 버퍼 지연이다.
인코더는 어느 바람직한 수(N)의 누설 버킷에 의해 포함된 비디오 비트 스트림을 생성하거나, 비트 스트림을 생성한 후에 N 세트의 파라미터를 간단하게 계산할 수 있다. 인코더는 초기 스트림 헤더 또는 대역외에서와 같이 어떤 식으로든 대응하는 수의 (R,B,F) 세트와 함께 상기 수를 디코더에 (적어도) 한번 전달한다.
디코더에서 수신되는 경우, 적어도 2세트가 존재하면, 일반화된 기준 디코더는 하나를 선택하거나 누설 버킷 파라미터 간을 내삽(interpolate)하고, 그에 의해 일반화된 기준 디코더는 임의의 바람직한 피크 비트 레이트, 버퍼 크기 또는 지연으로 동작할 수 있다. 보다 구체적으로는, 디코더 단에 알려져 있는 바람직한 피크 전송 레이트 R'가 주어지면, 일반화된 기준 디코더는, 버퍼 언더플로우나 오버플로우를 겪지 않고서 비트 스트림을 디코딩할 수 있는 최소 버퍼 크기 및 지연을 (하나의 선택에 의해서든지, 둘 이상 사이의 내삽에 의해서든지 또는 외삽 (extrapolate)에 의해서든지 이용 가능한 (R, B, F) 세트에 따라서) 선택한다. 선택적으로, 주어진 디코딩 버퍼 크기 B'에 대하여, 가설적 디코더는 최소 요구 피크 전송 레이트에서 선택 및 동작한다.
일반화된 기준 디코더의 이점들은, 컨텐츠 제공자가 한번 비트 스트림을 만들고, 서버가 상이한 피크 전송 레이트의 다양한 채널을 이용하여 상이한 용량의 복수의 장치들에 그것을 전달할 수 있음을 포함한다. 선택적으로, 서버와 단말기는 주어진 네트워킹 상태, 예컨대 가장 낮은 개시 (버퍼) 지연을 생성하는 상태 또는 장치의 주어진 버퍼 크기에 대한 가장 낮은 피크 전송 레이트를 요구하는 상태에 대하여 최선의 누설 버킷 파라미터를 협정할 수 있다. 실제로, 일부 단말기에 대한 버퍼 크기 및 지연이 크기의 순서로 감소할 수 있거나, 또는 중요 인자(예컨대 4회)에 의해 피크 전송 레이트가 감소될 수 있으며, 및/또는 누설 버킷 정보를통신하기 위한 무시할 만한 양의 추가 비트를 제외하고는 평균 비트 레이트를 증가시키지 않고도 신호 대 잡음 비(SNR)가 수 dB만큼 증가할 수 있다. 다른 이점 및 장점들은 첨부 도면과 함께 이하의 상세한 설명으로부터 분명해질 것이다.
도 1은 본 발명이 포함될 수 있는 예시적인 컴퓨터 시스템을 나타내는 블록도.
도 2는 본 발명의 일 형태에 따라 비디오 또는 이미지 데이터를 인코딩 및 디코딩하기 위한 강화된 인코더와 일반화된 기준 디코더 및 그 각각의 버퍼를 나타내는 블록도.
도 3은 누설 버킷 파라미터 (R, B, F)의 누설 버킷에 포함된 경우 시간에 대한 버퍼 충만도(fullness)의 그래프.
도 4는 대표적인 비디오 클립에 대한 레이트 대 버퍼 크기 곡선을 나타내는 도면.
도 5는 본 발명의 일 형태에 따라서 내삽 및 외삽을 위하여 일반화된 기준 디코더에 제공된 2개의 누설 버킷 모델(파라미터 세트)과 함께 대표적인 비디오 클립에 대한 레이트 대 버퍼 크기 곡선의 대표도.
[도면의 주요부분에 대한 부호의 설명]
122 : 프로세서 126 : 터치스크린을 갖는 디스플레이
128 : 키보드 132 : 응용 프로그램
134 : 통지 관리자 144 : 오디오 발생기
136 : 전원 공급부 200 : 입력
202 : 강화된 인코더 210 : 일반화된 기준 디코더
212 : 출력
예시적인 동작 환경
도 1은 특히 이미지 및/또는 비디오 데이터를 디코딩하기 위하여 본 발명이 구현될 수 있는 적합한 동작 환경(120)의 일례를 도시한다. 동작 환경(120)은 적합한 동작 환경의 일례일 뿐이며 본 발명의 용도 또는 기능성의 범위를 제한하려는 의도는 아니다. 본 발명의 용도에 적합할 수 있는 다른 공지된 계산 시스템, 환경 및/또는 구성들은 퍼스널 컴퓨터, 서버 컴퓨터, 핸드 헬드(hand-held)나 랩탑 (laptop) 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 프로그램 가능 소비자 전자기기, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 임의의 상기 시스템 또는 장치들을 포함하는 분산 계산 환경 등을 포함하지만, 이들에 제한되는 것은 아니다. 예컨대, 이미지 및/또는 비디오의 인코딩은 종종 현재의 핸드 헬드 컴퓨터보다 큰 처리력을 갖는 컴퓨터 상에서 수행되는 경향이 있으나, 인코딩이 예시적인 장치 상에서 수행될 수 없거나 또는 디코딩이 보다 강력한 기기에서 수행되지 못할 이유는 없다.
본 발명은 하나 이상의 컴퓨터나 다른 장치에 의해 수행되는 프로그램 모듈과 같은 컴퓨터로 실행 가능한 명령들의 일반적인 문맥(context)으로 기재될 수도 있다. 일반적으로, 프로그램 모듈은 특정한 임무를 수행하거나 특정한 추상적인데이터 타입을 구현하는 루틴, 프로그램, 오브젝트, 구성요소, 데이터 구조 등을 포함한다. 통상적으로, 프로그램 모듈의 기능성은 다양한 실시예에서 원하는 대로 조합되거나 분산될 수도 있다. 계산 장치(120)는 통상적으로 적어도 어떤 형태의 컴퓨터로 판독 가능한 매체를 포함한다. 컴퓨터 판독 가능 매체는 계산 장치(120)에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다. 예를 들어, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있으며, 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성, 비휘발성, 탈착 가능 및 탈착 불가능 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 기타 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 계산 장치(120)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 제한되는 것은 아니다. 통신 매체는 통상적으로 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 또는 반송파나 기타 전송 기구와 같은 변조된 데이터 신호 내의 다른 데이터를 구체화하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 정보를 신호로 인코딩하는 식으로 설정 또는 변화된 하나 이상의 특성을 갖는 신호를 의미한다. 예를 들어, 통신 매체는 유선 네트워크나 직접 유선 접속과 같은 유선 매체 및 음파, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함하며, 이에 제한되는 것은 아니다. 상기한 것들을 임의로 조합한 것도 컴퓨터 판독 가능 매체의 범위 내에 포함된다.
도 1은 프로세서(122), 메모리(124), 디스플레이(126) 및 (가상 또는 실제 키보드일 수 있는) 키보드(128)를 포함하는 핸드헬드 계산 장치(120)의 기능적인 구성요소를 나타낸다. 메모리(124)는 일반적으로 휘발성 메모리(예컨대, RAM) 및 비휘발성 메모리(예컨대, ROM, PCMCIA 카드 등)를 모두 포함한다. 오퍼레이팅 시스템(130)은 메모리(124)에 존재하며, Microsoft (R) Corporation의 Window (R) CE 오퍼레이팅 시스템이나 기타 오퍼레이팅 시스템 등의 프로세서(122) 상에서 실행된다.
하나 이상의 응용 프로그램(132)이 메모리(124)에 로딩되어 오퍼레이팅 시스템(130) 상에서 실행된다. 응용 프로그램의 예는 전자 메일 프로그램, 스케줄링 프로그램, PIM(Personal Information Magagement) 프로그램, 워드 프로세싱 프로그램, 스프레드시트 프로그램, 인터넷 브라우저 프로그램 등을 포함한다. 핸드헬드 퍼스널 컴퓨터(120)는 또한 메모리(124)에 로딩되어 프로세서(122) 상에서 실행되는 통지 관리자(notification manager)(134)를 포함할 수도 있다. 통지 관리자(134)는 예컨대 응용 프로그램(132)으로부터의 통지 요구를 취급한다.
핸드헬드 퍼스널 컴퓨터(120)는 하나 이상의 배터리로서 구현되는 전원 공급부(136)를 갖는다. 전원 공급부(136)는 내장 배터리를 재충전하거나 그에 우선하는 AC 어댑터나 전원 연결된 도킹 크레이들(docking cradle)과 같은 외부 전원을 더 포함할 수도 있다.
도 1에 나타낸 예시적인 핸드헬드 퍼스널 컴퓨터(120)는 3가지 타입의 외부통지 기구, 즉 하나 이상의 발광 다이오드(LED)(140) 및 오디오 발생기(144)를 구비하는 것으로 표시된다. 이들 장치는, 활성화되면 배터리 전력을 보존하기 위하여 핸드헬드 퍼스널 컴퓨터 프로세서(122) 및 다른 구성요소들이 꺼지는 경우에도 통지 기구에 의해 지시된 기간 동안 온 상태로 유지되도록 하기 위하여, 전원 공급부(136)에 직접 결합될 수 있다. LED(140)는 사용자가 행동을 취할 때까지 무한히 온 상태로 남아 있는 것이 바람직하다. 최신 버젼의 오디오 발생기(144)는 요즈음의 핸드헬드 퍼스널 컴퓨터 배터리에 많은 전력을 사용하며, 그래서 시스템의 비사용시에나 활성화 후의 제한된 기간동안 턴오프하도록 구성되어 있다.
일반화된 기준 디코더
누설 버킷(leaky bucket)은 시간의 함수로서 인코더 또는 디코더 버퍼의 상태(또는 충만도(fullness))의 개념적인 모델이다. 도 2는 이러한 개념을 나타내는데, 입력 데이터(200)는 데이터를 인코더 버퍼(204)로 인코딩하는 강화된 인코더(202)(나중에 설명함)로 공급된다. 인코딩된 데이터는 일부 전송 매체(파이프)(206)를 통하여 디코더 버퍼(208)로 전송되는데, 그 다음에 디코더(210)에 의해 디코딩되어 이미지나 비디오 프레임과 같은 출력 데이터(212)가 된다. 단순화를 위하여, 디코더 버퍼(208)가 여기에서 주로 설명되는데, 이는 인코더 및 디코더 버퍼의 충만도가 개념적으로 상보적(complement)이기 때문이다. 즉, 디코더 버퍼의 데이터가 많으면 많을수록, 인코더 버퍼의 데이터가 점점 작아지며, 반대의 경우도 마찬가지이다.
누설 버킷 모델은 3개의 파라미터 R, B 및 F의 세트에 의해 특징지워지는데,R은 비트가 디코더 버퍼(208)로 들어가는 피크 비트 레이트(bps)이다. 일정 비트 레이트 시나리오에서, R은 종종 비디오 및 오디오 클립(clip)의 평균 비트 레이트 및 채널 비트 레이트이며, 파이프(206)의 폭에 대응하는 것으로 개념적으로 생각할 수 있다. B는 비디오 비트 레이트 요동을 평탄화하는 버킷이나 디코더 버퍼(208)의 크기(비트)이다. 이 버퍼의 크기는 디코딩 장치의 물리적 버퍼보다 클 수 없다. F는 디코더가 버퍼로부터 비트를 제거하는 것을 개시하기 전에 존재할 필요가 있는 초기 디코더 버퍼 충만도(비트)이다. F는 적어도 초기 프레임을 나타내는 인코딩된 데이터의 양의 크기를 갖는다. 본 예를 위하여, 순간적이라고 생각될 수 있는 처리 시간을 고려하지 않으면, F 및 R은 초기 또는 개시 지연 D를 결정하는데, 여기서 D = F/R 초이다.
따라서, 누설 버킷 모델에서, 충만도 레벨이 F(즉, D초 동안)일 때까지 레이트 R로 비트가 디코더 버퍼(208)로 들어가고, 그 다음에 첫번째 프레임에 필요한 비트 b0가 (본 예에서는 순간적으로) 제거된다. 비트는 레이트 R로 버퍼에 계속 들어가고, 디코더는 어떤 정해진 순간마다, 통상적으로(반드시는 아님) 1/M초 마다 다음 프레임을 위하여 b1, b2, ..., bn-1비트를 제거하는데, 여기서 M은 비디오의 프레임 레이트이다.
도 3은 전술한 바와 같이 파라미터(R, B, F)의 누설 버킷에 포함되어 있는 비트 스트림에 대하여 시간에 대한 디코더 버퍼 충만도를 도시하는 그래프이며, 여기서 i번째 프레임에 대한 비트의 수는 bi이다. 도 3에서, 코딩된 비디오 프레임은버퍼 충만도에서의 강하에 의해 나타난 바와 같이 버퍼로부터 (통상적으로는 비디오 프레임 레이트에 따라) 제거된다. 보다 구체적으로는, 시간 ti에서 bi비트를 제거하기 직전에 디코더 버퍼 충만도를 Bi라고 하자. 그러면 일반적인 누설 버킷 모델은 이하의 식에 따라 동작한다.
B0= F
Bi+1= min(B, Bi-bi+R(ti+1-ti)), i = 0, 1, 2, ...
통상적으로, ti+1-ti= 1/M초이며, 여기서 M은 비트 스트림에 대한 프레임 레이트(프레임/sec)이다.
파라미터(R, B, F)를 갖는 누설 버킷 모델은 디코더 버퍼(도 2의 208)의 언더플로우가 없는 경우에 비트 스트림을 포함한다. 인코더 및 디코더 버퍼 충만도가 상보적이기 때문에, 이것은 인코더 버퍼(204)의 오버플로우가 없다는 것과 등가이다. 그러나, 인코더 버퍼(204)(누설 버킷)는 비어 있게 되거나, 또는 동등하게 디코더 버퍼(208)가 가득차게 될 수 있으며, 이 시점에서 인코더 버퍼(204)로부터 디코더 버퍼(208)로는 어떠한 비트도 전송되지 않는다. 따라서, 디코더 버퍼(208)는 가득찬 경우 비트 수신을 중단하는데, 이 때문에 min 연산자가 상기 두번째 식에 사용된다. 이들은 상보적이기 때문에, 가변 비트 레이트(VBR) 스트림에 대하여 이하에 기재하는 바와 같이, 가득찬 디코더 버퍼(208)는 인코더 버퍼(204)가 비어 있음을 의미한다.
주어진 비디오 스트림이 다양한 누설 버킷 구성에 포함될 수 있음을 주의한다. 예컨대, 비디오 스트림이 파라미터(R, B, F)를 갖는 누설 버킷에 포함되어 있으면, 그것은 또한 더 큰 버퍼(R, B', F)(B'이 B보다 큼)를 갖는 누설 버킷이나, 더 큰 피크 전송 레이트(R', B, F)(R'은 R보다 큼)를 갖는 누설 버킷에도 포함되어 있을 것이다. 또한, 임의의 비트 레이트 R'에 대하여, (시한정(time-limited)) 비디오 비트 스트림을 포함할 버퍼 크기가 있다. 최악의 경우에, 즉 R'이 0에 가까워지면, 버퍼 크기는 비트 스트림 자체만큼 클 필요가 있다. 바꿔 말하면, 비디오 비트 스트림은 버퍼 크기가 충분히 크기만 하다면 (클립의 평균 비트 레이트에 관계없이) 임의의 레이트로 전송될 수 있다.
도 4는 상기 두번째 식을 이용하여 주어진 비트 스트림에 대하여 피크 비트 레이트 Rmin에 대한 최소 버퍼 크기 Bmin의 그래프이며, 원하는 초기 버퍼 충만도는 총 버퍼 크기의 일정 비율로 설정된다. 도 4의 곡선은 피크 비트 레이트 r로 스트림을 전송하기 위하여 디코더가 적어도 Bmin(r) 비트를 버퍼링할 필요가 있음을 나타낸다. 또한, 그래프로부터 알 수 있는 바와 같이, 보다 높은 피크 레이트는 보다 작은 버퍼 크기를 요하며, 따라서 보다 짧은 개시 버퍼 지연을 필요로 한다. 선택적으로, 이 그래프는, 디코더 버퍼의 크기를 b라 하면 비트 스트림을 전송하는데 필요한 최소 피크 레이트가 연관된 Rmin(b)임을 나타낸다. 더욱이, 임의의 비트 스트림에 대한 (Rmin, Bmin) 쌍의 곡선(도 4)은 부분적으로 선형이며 볼록하다.
본 발명의 일 형태에 따르면, 곡선의 적어도 두 지점이 강화된 인코더(202)에 의해 제공되면, 일반화된 기준 디코더(210)는 한 지점을 선택하거나, 두 지점 사이를 선형적으로 내삽(interpolate)하거나, 또는 그 지점들을 외삽(extrapolate)하여 (Rmin, Bmin)보다 다소 그러나 안정적으로 큰 어떤 지점들(Rinterp, Binterp)에 도달할 수 있다. 의미있는 결과로서, 평균 레이트로 비트 스트림을 포함하고 있는 단일 누설 버킷에 대한 크기의 순으로 많은 예에서, 버퍼 크기는 안정적으로 감소할 수 있으며, 이에 의해 지연도 마찬가지로 감소한다. 선택적으로, 동일 지연에 대하여, 피크 전송 레이트는 인수 4만큼 감소하거나 또는 신호 대 잡음 비(SNR)가 수 dB만큼 향상될 수 있다.
이를 위하여, 인코더(202)는, 주어진 비디오 또는 이미지 클립에 유용한 (예컨대, R 및/또는 B의 범위와 관련하여 상당히 분리되어 있는) 레이트-버퍼 곡선 상의 적어도 2지점에 대응하는 적어도 2세트의 누설 버킷 파라미터(214), 예컨대 (R1, B1, F1), (R2, B2, F2), ..., (RN, BN, FN)을 생성하도록 배치됨으로써, 강화된다. 그 이후에 강화된 인코더(202)는, 이들 누설 버킷 파라미터 세트를 그 갯수 N과 함께, 예컨대 초기 스트림 헤더에 또는 선택적으로 일부 대역외(out-of-band) 방식으로 삽입함으로써, 일반화된 기준 디코더(210)에 제공한다. 비교적 큰 N에 대하여도, (예컨대, 수십의 버킷, 반면 2 대 4가 R-B 곡선을 합리적으로 표현하는데 정상적으로 충분함) 이 정보를 제공하는데 필요한 여분의 바이트 양 (예컨대, N용 1바이트 + 누설 버킷 모델 또는 파라미터 세트당 8바이트)는 통상적인 비디오 또는 이미지 데이터에 비하여 무시할 만하다는 점에 주의한다.
또한, 보다 높은 비트 레이트로, 컨텐츠 생성자는 비트 스트림에서 상이한 시점들의 상이한 누설 버킷 모델을 지정하도록 결정할 수 있는데, 이는 전송 중에 접속이 실패하거나 비트 스트림의 중간에서 재시작되는 경우에는 언제나 유용하다. 예컨대, 누설 버킷 모델은 15분 간격으로 제공되어, 디코더는 적절한 시점에서 재선택, 재내삽 또는 재외삽함으로써 원하는 대로 그 동작 조건(예컨대, 그 버퍼 크기나 레이트)을 변화시킬 수도 있다.
N의 원하는 값이 인코더에 의해 선택될 수 있다 (N=1이라면, 일반화된 디코더(210)는 MPEG 비디오 버퍼링 검정기와 같은 지점들을 외삽한다는 점에 유의). 인코더는, 누설 버킷 값들을 미리 선택하여 누설 버킷 제약을 확실히 충족시키는 레이트 제어에 의해 비트 스트림을 인코딩하고, 그 후에 상술한 식을 이용하여 R의 N개 상이한 값에서 비트 스트림을 포함하고 있는 누설 버킷 파리미터의 세트를 계산하도록 선택할 수 있다. 첫번째 접근법은 라이브 또는 온디맨드(on-demand) 전송에 적용될 수 있는 반면에, 다른 것들은 온디맨드에 적용된다.
본 발명에 따라, 일단 일반화된 기준 디코더(210)에서 수신하면, 디코더(210)는 이용 가능한 피크 비트 레이트 및/또는 그 실제 버퍼 크기를 알기 때문에 어느 누설 버킷을 이용하고자 하는지를 결정할 수 있다. 선택적으로, 일반화된 기준 디코더(210)는 주어진 구성에 대한 적합한 파라미터 세트을 찾아내기 위하여 이들 지점들 사이를 선형적으로 내삽하거나 그들로부터 외삽할 수 있다. 도 5는 2개의 누설 버킷 파라미터 세트와 선형적으로 내삽된 (R, B) 값들을 나타낸다.참고로, 계산된 R-B 곡선은 미세한 점선으로 표시된 한편, 누설 버킷 모델 (Rx, Bx) 및 (Ry, By)에 제공된 R 및 B 값들은 별표로 표시된다. (Rx, Bx)로부터 (Ry, By)까지의 실선은 내삽된 값들을 나타낸다. 이 실선 상에 선택된 임의의 R 또는 B의 쌍은 디코더 버퍼(208)를 적절하게 유지한다(예컨대, 오버플로우나 언더플로우가 없음). 누설 버킷 파라미터는 또한 도 5에서 거친 점선으로 표시된 이들 지점들로부터 외삽될 수 있으며, 이 실선상에서 선택된 임의의 R 또는 B의 쌍은 디코더 버퍼(208)를 적절하게 유지한다.
지점 k와 k+1 사이에 내삽된 버퍼 크기 B는 직선
을 따르며, 여기에서 Rk< R < Rk+1이다.
마찬가지로, 초기 디코더 버퍼 충만도 F는
와 같이 선형적으로 내삽될 수 있으며, 여기서 Rk< R < Rk+1이다.
파라미터 (R, B, F)를 갖는 결과적인 누설 버킷은, (수학적으로 증명될 수 있는 바와 같이) 최소 버퍼 크기 Bmin이 R 및 F 모두에서 볼록, 즉 임의의 볼록 조합 (R,F) = a(Rk,Fk) + (1-a)(Rk+1,Fk+1), 0<a<1에 대응하는 최소 버퍼 크기 Bmin이 B = aBk+ (1-a)Bk+1보다 작거나 같기 때문에, 비트 스트림을 포함하고 있음이 보장된다.
전술한 바와 같이, R이 RN보다 큰 경우에, 누설 버킷 (R, BN, FN)은 또한 비트 스트림을 포함하여, 이에 의해 BN및 FN는 R>RN일 때 추천되는 버퍼 크기 및 초기 디코더 버퍼 충만도이다. R이 R1보다 작으면, 상한 B = B1+ (R1-R)T가 이용될 수 있으며, 여기서 T는 초 단위의 스트림 시간 길이이다. N개의 지점들의 범위 외측의 이들 (R, B) 값들은 외삽될 수도 있다.
디코더는 누설 버킷 파라미터를 선택하거나 내삽하거나 외삽할 필요가 없지만, 다른 엔티티는 단일 세트를 디코더에 보내기 위하여 파라미터를 선택할 수 있고, 디코더는 그 이후에 그 하나의 세트를 사용하는 점에 유의해야 한다. 예컨대, 디코더의 요구 조건과 같은 어떤 정보가 주어지면, 서버는 (선택, 내삽 또는 외삽을 통하여) 디코더에 보낼 적절한 누설 버킷 파라미터 세트를 결정할 수 있고, 그 이후에 디코더는 한 세트의 파라미터만을 이용하여 디코딩할 수 있다. 서버나 디코더의 프록시(proxy)는 또한, 하나 이상의 누설 버킷을 찾아내는 디코더 없이도 누설 버킷 정보의 선택, 내삽 또는 외삽을 행할 수도 있다. 바꿔 말하면, 디코더가 결정하지 않고, 서버 및 클라이언트 디코더가 파라미터를 협의하면서 서버가 결정할 수 있다. 그러나, 일반적으로 및 본 발명에 따라, 적어도 2개의 누설 버킷 모델에 기초하여 미리 또는 동적으로 적절한 누설 버킷 모델에 대한 어떤 결정이 일어난다.
주어진 비트 스트림에 대한 R-B 곡선의 값들은 도 3에 도시된 바와 같이 최고 및 최저 충만도 값이 디코더 버퍼 구성에서 발생하는 시점으로부터 계산될 수있다. 보다 구체적으로는, 파라미터 (R, B, F)의 누설 버킷에 포함된 비트 스트림에 대하여 각각 디코더 버퍼 충만도의 최고 및 최저 값들의 2시점(tM, tm)을 고려한다. 충만도의 최고 및 최저 값들은 몇가지 경우에 도달될 수 있지만, tM < tm이 되도록 최대값의 쌍(tM, tm)을 고려한다. 누설 버킷이 적절히 계산된다고 가정하면, B는 R, F 값들에 대한 비트 스트림을 포함하고 있는 최소 버퍼 크기이며, 따라서
이고, 여기서 b(t)는 시간 t에서 프레임에 대한 비트의 수이며 M은 프레임/sec 단위의 프레임 레이트이다. 이 식에서, n은 시점 tM 및 tm 사이의 프레임의 수이고, c는 이들 프레임에 대한 비트의 합이다.
이 식은 직선 B(r)에서의 한 점으로 설명될 수 있는데, 여기서 r = R이고 -n/M은 직선의 기울기이다. tM 및 tm 값들의 최대 쌍이 동일하게 유지되도록 하는 비트 레이트 범위 r∈[R-r1, R+r2]가 있으며, 이에 의해 상기 식은 비트 레이트 r에 연관된 최소 버퍼 크기 B를 정의하는 직선에 대응한다. 비트 레이트 r이 상기 범위의 외부에 있으면, 적어도 하나의 tM 및/또는 tm 값이 변하며, 이에 의해 r>R+r2이라면, tM과 tm사이의 시간 거리는 더 작아지며, B(r)을 정의하는 새로운 직선에서의 n의 값도 더 작아지고, 각 직선의 기울기는 더 커진다(더 작은 음의 값). r<R-r1이라면, tM과 tm 사이의 시간 거리는 더 커지며, B(r)을 정의하는 직선에서의 n의 값도 더 커진다. 직선의 기울기는 더 작아진다(더 큰 음의 값).
비트 레이트의 범위에 대한 쌍 (tM, tm)의 값(또는 연관된 n의 값)과 c의 어떤 값들(주어진 쌍에 대하여 적어도 하나)이 비트 스트림의 헤더(header)에 저장될 수 있으며, 따라서 부분적으로 선형인 B(r) 곡선이 상기 식을 이용하여 얻어질 수 있다. 또한, 이 식을 이용하여 인코더가 비트 스트림을 생성한 후의 누설 버킷 모델 파라미터의 계산을 단순화할 수도 있다.
테스트 시에, 도 5의 비트 스트림이 생성되어, 797 Kbps의 평균 비트 레이트를 초래하였다. 도 5에 일반적으로 나타낸 바와 같이, 디코더는, 797 Kbps의 일정한 전송 레이트에서 약 18,000 Kbit의 버퍼 크기(Rx, Bx)를 필요로 한다. 18,000 Kbit의 초기 디코더 버퍼 충만도에서는, 개시 지연이 약 22.5초이다. 따라서, (레이트 제어 없이 이루어진) 이 인코딩은, 전체 인코딩된 길이에 대하여 기본적으로 최고 가능한 품질을 달성하기 위하여 22.5초까지 비트를 시프트한다.
도 5는 또한, 2,500 Kbps의 피크 전송 레이트(예컨대, 2x CD의 비디오 비트 레이트 부분)에서, 디코더가 단지 2,272 Kbit만의 버퍼 크기 (Ry, By)를 필요로 하는 것을 나타내는데, 이는 소비자 하드웨어 장치에 적합하다. 2,272 Kbit의 초기 버퍼 충만도에서는, 개시 지연이 단지 약 0.9초이다.
따라서, 이러한 인코딩에 대하여는, 2개의 누설 버킷 모델, 예컨대 (R=797 Kbps, B=18,000 Kbit, F=18,000 Kbit) 및 (R=2,500 Kbps, B=2,272 Kbit, F=2,272 Kbit)이 통상적으로 유용할 수 있다. 이 첫번째 누설 버킷 파라미터 세트는 약 22.5초의 지연으로 일정 비트 레이트 채널에 대하여 비디오 전송을 허용한다. 이지연은 많은 시나리오에 대해서 너무 클 수 있지만, 예컨대 영화의 인터넷 스트리밍에 대해서는 수용 가능할 것이다. 두번째 누설 버킷 파라미터 세트는 공유 네트워크를 통하여 피크 레이트 2,500 Kbps를 갖는 비디오의 전송을 허용하거나, 또는 약 0.9초의 지연으로 2x CD로부터의 로컬 재생을 허용한다. 이 1초 미만의 지연은 VCR(video cassette recorder)형 기능을 갖는 랜덤 액세스 재생에 적합하다.
이 이점들은, 첫번째 누설 버킷만이 비트 스트림에서 지정되어 있고 두번째는 지정되어 있지 않은 경우에 무슨 일이 발생되는 지를 고려할 때 분명해진다. 이러한 경우에, 피크 레이트 2,500 Kbps를 갖는 채널을 통한 재생의 경우에도, 디코더는 크기 18,000 Kbit의 버퍼를 이용하며 따라서 지연은 F/R = 18,000 Kbit / 2,500 Kbps = 7.2초이다. 알 수 있는 바와 같이, 이러한 지연은 VCR형 기능 등을 갖는 랜덤 액세스 재생에는 적합하지 않다. 그러나, 두번째 누설 버킷이 추가적으로 지정되면, 전술한 바와 같이, 2,500 Kbps 레이트에서 버퍼 크기가 2,272 Kbit로 작아지고 지연은 0.9초로 떨어한다.
한편, 첫번째가 아니라 두번째 누설 버킷만이 특정되었다면, 797 Kbps의 일정 전송 레이트에서, 버퍼가 오버플로우되지 않도록 보장하기 위하여, 스마트 디코더조차도 필요한 것보다 훨씬 큰 버퍼를 사용하도록 강제된다. 즉 B' = B + (R-R')T = 2,272 Kbit + (2,500 Kbps - 797 Kbps) ×130초 = 223,662 Kbit가 된다. 이러한 많은 메모리가 소정 장치에 이용 가능한 경우에도, 이것은 281 초, 즉 거의 5분의 초기 지연에 대응하여, 이러한 결과는 결코 받아 들일 수 없다. 그러나, 첫번째 누설 버킷이 또한 지정되면, 797 Kbps의 레이트에서, 전술한 바와 같이, 버퍼크기는 18,000 Kbit까지 작아지고 지연은 22.5초까지 떨어진다.
더욱이, 양 누설 버킷이 모두 지정되는 경우에, 디코더는 797 Kbps와 2,500 Kbps 사이의 임의의 비트 레이트에 대하여 (상술한 내삽 공식을 이용하여) 그들 사이를 선형적으로 내삽할 수 있으며, 그에 의해 임의의 주어진 레이트에서 거의 최소의 버퍼 크기 및 지연을 달성한다. (도 5에 거친 점선에 의해 표시된) 외삽 역시, 797 Kbps와 2,500 Kbps 사이의 어느 곳에서 하나의 누설 버킷만을 갖는 외삽에 비하여, 797 Kbps미만 및 2,500 Kbps 이상에서 더 효과적이다.
상기 예에서 설명한 바와 같이, 단지 2세트의 누설 버킷 파라미터만이 버퍼 크기의 감소 정도 (예컨대, 한 경우에는 223,662에서 18,000 Kbit으로, 다른 경우에는 18,000에서 2,272 Kbit으로 감소) 및 지연 크기의 감소 정도 (예컨대, 한 경우에는 281초에서 22.5초로, 다른 경우에는 7.2초에서 0.9초로 감소)를 소정의 피크 전송 레이트에서 제공할 수 있다.
그와는 달리, 주어진 디코더 버퍼 크기에 대한 피크 전송 레이트를 감소시킬 수도 있다. 실제로, 도 5로부터 분명한 바와 같이, 복수의 누설 버킷을 내삽 및/또는 외삽함으로써 R-B 곡선이 얻어진다면, 고정된 물리적 버퍼 크기를 갖는 디코더가 디코더 버퍼 언더플로우 없이 비트 스트림을 안정하게 디코딩하는데 필요한 최소 피크 전송 레이트를 선택하는 것이 가능하다. 예컨대, 디코더가 18.000 Kbit의 고정된 버퍼 크기를 갖는다면, 인코딩에 대한 피크 전송 레이트는 797 Kbps 정도로 낮을 수 있다. 그러나, 첫번째가 아니라 두번째 누설 버킷만이 지정되면, 디코더는 R' = R - (B'-B)/T = 2,500 Kbps - (18,000 Kbit - 2,272 Kbit) / 130초 =2,379 Kbps까지 비트 레이트를 감소킬 수 있다. 이 경우에, 단일 누설 버킷을 이용하는 것에 비하여, 2개의 누설 버킷을 이용하는 것은 동일한 디코더 버퍼 크기에 대하여 인수 4만큼 피크 전송 레이트를 감소시킨다.
복수의 누설 버킷 파라미터를 갖는 것은 또한 동일한 평균 인코딩 레이트에서 재구성된 비디오의 품질을 향상시킬 수 있다. 양 누설 버킷이 인코딩에 모두 이용 가능한 상황을 고려한다. 전술한 바와 같이, 디코더에서의 이러한 정보와 함께, 피크 전송 레이트가 797 Kbps라면 22.5초의 지연으로 인코딩을 재생할 수 있고, 피크 전송 레이트가 2,500 Kbps라면 0.9초의 지연으로 인코딩을 재생할 수 있다.
그러나, 두번째 누설 버킷이 이용 불가능하다면, 지연은 2,500 Kbps에서 0.9초로부터 7.2초로 증가한다. 두번째 누설 버킷의 이점 없이 지연을 0.9초로 감소시키는 한가지 방법은, 18,000 Kbit로부터 0.9초 ×2,500 Kbps = 2,250 Kbit까지 (첫번째 누설 버킷의) 버퍼 크기를 감소시킴으로써 레이트 제어 하에서 그 클립을 재인코딩하는 것이다. 이것은, 797Kbps에서의 지연이 22.5로부터 2.8초까지 감소하더라도 피크 전송 레이트가 2,500Kbps라면 지연이 단지 0.9초임을 보장한다. 그러나, 결과적으로, 품질(SNR)은 특히 큰 동적 범위를 갖는 클립에 대하여 수 dB로 평가된 양만큼 저하된다.
따라서, 두번째 버킷을 지정하는 것은, 두번째 누설 버킷을 지정하기 위한 무시할 만한 양의 클립당 추가 비트를 제외하고는 평균 비트 레이트의 변화없이 수 dB만큼 SNR을 증가시킬 수 있다. SNR의 이러한 증가는 모든 피크 전송 레이트에대한 재생시에 볼 수 있다.
복수의 누설 버킷을 일반화된 기준 디코더로 지정하는 이점은, 단일 인코딩이 상이한 피크 레이트를 갖는 채널을 통하여 전송되거나 상이한 물리적 버퍼 크기를 갖는 장치로 전송되는 경우에 실현된다. 그러나, 이러한 경우는 실제로 점점 더 흔해진다. 예컨대, 오프라인으로 인코딩되고 디스크에 저장된 컨텐츠는 상이한 피크 레이트를 갖는 네트워크를 통하여 스트리밍될 뿐만 아니라 종종 국부적으로 재생된다. 로컬 재생의 경우에도, 상이한 구동 속도(예컨대, 1x CD 내지 8x DVD)는 피크 전송 레이트에 영향을 미친다. 더욱이, 네트워크 접속을 통한 피크 전송 레이트도 또한, 통상적으로 단말 유저 근처의 제한 링크(예컨대, 100 또는 10 baseT Ethernet, T1, DSL, ISDN, 모뎀 등)의 속도에 따라 극적으로 변한다. 재생 장치의 버퍼 용량도 또한, 기가바이트의 버퍼 공간을 갖는 데스크탑 컴퓨터로부터 수 배의 크기만큼 더 작은 버퍼 공간을 갖는 작은 소비자 전자기기에 이르기까지 다양하다. 본 발명의 제안된 일반화된 기준 디코더와 복수의 누설 버킷은 동일한 비트 스트림이 최소 개시 지연, 최소 디코더 버퍼 요건 및 최대 가능 품질을 가진 채 다양한 채널을 통하여 전송될 수 있게 한다. 이것은 오프라인으로 인코딩된 비디오 뿐만 아니라 상이한 채널을 통하여 상이한 장치에 동시에 방송되는 라이브 비디오에도 적용된다. 간단히 말해서, 제안된 일반화된 기준 디코더는 기존의 비트 스트림에 상당한 유연성(flexibility)을 더한다.
전술한 설명으로부터 알 수 있는 바와 같이, 종래의 표준에 비하여 강화된일반화된 기준 디코더가 제공된다. 일반화된 기준 디코더는 인코더로부터의 (예컨대, 비트 스트림의 헤더에 있는) 작은 양의 정보를 요구하여, 대역폭이 가변 대역폭이고 및/또는 단말기가 다양한 비트 레이트 및 버퍼링 용량을 갖는 현대의 네트워크를 통한 비트 스트림의 전달에 훨씬 더 큰 유연성을 제공한다. 본 발명의 기준 디코더는 이들 새로운 시나리오를 가능하게 하는 한편, 이용 가능한 대역폭에 대하여 전송 지연을 최소한으로 감소시키며, 또한 소정의 실제 버퍼 크기 제한을 갖는 장치로의 전달에 대한 채널 비트 레이트 요건을 실제로 최소화한다.
본 발명에는 다양한 변경 및 선택적인 구성이 가해지기 쉽지만, 특별히 예시된 실시예들이 도면에 도시되고 상세하게 기재되었다. 그러나, 개시된 특정 형태로 본 발명을 제한하려는 의도는 없으며, 오히려, 본 발명은 본 발명의 사상 및 범위 내에 있는 모든 변경예, 선택적인 구성 및 등가물들을 커버하려고 의도되어 있다.

Claims (36)

  1. 컴퓨터로 구현되는 방법에 있어서,
    레이트(rate) 데이터 및 버퍼 크기 데이터를 포함하는 파라미터들의 적어도 2세트를 이용하여, 1) 상기 레이트 데이터에 기초하여 버퍼 크기를 선택하거나; 또는 2) 상기 버퍼 크기에 기초하여 레이트를 선택함으로써, 동작 조건을 결정하는 단계; 및
    시변 신호(time-varying signal) 디코더에서, 상기 동작 조건에 따라 버퍼에 인코딩된 데이터를 유지하고 상기 버퍼로부터 상기 인코딩된 데이터를 디코딩하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    상기 시변 신호 디코더에서 파라미터들의 상기 적어도 2세트를 수신하는 단계를 더 포함하며, 상기 시변 신호 디코더는 상기 동작 조건을 결정하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 제2항에 있어서,
    파라미터들의 각 세트는 상기 시변 신호 디코더에서 수신된 충만도(fullness) 데이터를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제2항에 있어서,
    파라미터들의 상기 적어도 2세트는 인코더에 의해 결정되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제4항에 있어서,
    파라미터들의 상기 적어도 2세트는 상기 세트의 총 수를 나타내는 정보와 함께 스트림 헤더(stream header)에서 수신되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제1항에 있어서,
    파라미터들의 적어도 2세트를 이용하여 동작 조건을 결정하는 상기 단계는 상기 세트 중 하나를 선택하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제1항에 있어서,
    파라미터들의 적어도 2세트를 이용하여 동작 조건을 결정하는 상기 단계는 상기 세트 중 적어도 2세트에서의 데이터 지점들 사이에서 내삽(interpolate)하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제1항에 있어서,
    파라미터들의 적어도 2세트를 이용하여 동작 조건을 결정하는 상기 단계는 상기 세트 중 적어도 2세트에서의 데이터 지점들로부터 외삽(extrapolate)하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 제1항에 있어서,
    상기 레이트 데이터에 기초하여 버퍼 크기를 선택하는 상기 단계는 최소 로딩 지연에 근접하는 버퍼 크기를 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 제1항에 있어서,
    상기 버퍼 크기에 기초하여 레이트를 선택하는 상기 단계는 상기 버퍼 크기에 기초하여 최소 요구 피크 전송 레이트를 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 제1항에 있어서,
    상기 동작 조건은 상기 인코딩된 데이터의 상기 버퍼로의 통신 중에 적어도 한번 변하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  12. 컴퓨터로 구현되는 방법으로서,
    시변 신호(time-varying signal) 디코더에서, 레이트 및 버퍼 크기 데이터를 포함하는 파라미터들의 적어도 2세트를 수신하는 단계;
    파라미터들의 상기 적어도 2세트를 이용하여, 1) 상기 레이트 데이터에 기초하여 버퍼 크기를 선택하거나; 또는 2) 상기 버퍼 크기에 기초하여 레이트를 선택함으로써, 동작 조건을 결정하는 단계;
    상기 동작 조건에 따라서 버퍼 내에 인코딩된 데이터를 유지하는 단계; 및
    상기 버퍼로부터 상기 인코딩된 데이터를 디코딩하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  13. 제12항에 있어서,
    상기 시변 신호 디코더에 충만도 데이터를 제공하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  14. 제12항에 있어서,
    파라미터들의 상기 적어도 2세트를 결정하는 단계 및 그들을 상기 시변 신호 디코더에 제공하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  15. 제14항에 있어서,
    파라미터들의 상기 적어도 2세트는 인코더에 의해 결정되는 것을 특징으로하는 컴퓨터로 구현되는 방법.
  16. 제15항에 있어서,
    파라미터들의 상기 적어도 2세트는 상기 세트의 총수를 나타내는 정보와 함께 스트림 헤더에서 수신되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  17. 제12항에 있어서,
    파라미터들의 적어도 2세트를 이용하여 동작 조건을 결정하는 상기 단계는 상기 세트 중 하나를 선택하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  18. 제12항에 있어서,
    파라미터들의 적어도 2세트를 이용하여 동작 조건을 결정하는 상기 단계는 상기 세트 중 적어도 2세트에서의 데이터 지점들 사이에서 내삽하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  19. 제12항에 있어서,
    파라미터들의 적어도 2세트를 이용하여 동작 조건을 결정하는 상기 단계는 상기 세트 중 적어도 2세트에서의 데이터 지점들로부터 외삽하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  20. 제12항에 있어서,
    상기 레이트 데이터에 기초하여 버퍼 크기를 선택하는 상기 단계는 최소 로딩 지연에 근접하는 버퍼 크기를 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  21. 제12항에 있어서,
    상기 버퍼 크기에 기초하여 레이트를 선택하는 상기 단계는 상기 버퍼 크기에 기초하여 최소 요구 피크 전송 레이트를 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  22. 제12항에 있어서,
    상기 동작 조건은 상기 인코딩된 데이터의 상기 버퍼로의 통신 중에 적어도 한번 변하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  23. 시변 신호(time-varying signal)를 제공하기 위한 시스템으로서,
    시변 신호를 제공하는 인코더;
    상기 시변 신호를 유지하는 인코더 버퍼와 디코더 버퍼 - 상기 인코더 버퍼는 전송 매체에 의해 상기 디코더 버퍼에 접속되어 있음 - ;
    자신으로부터 상기 시변 신호를 제거하는 디코더;
    상기 디코더 버퍼가 오버플로우 또는 언더플로우하지 않도록 상기 디코더 버퍼를 유지하기 위하여, 레이트 데이터와 버퍼 크기 데이터를 포함하는 파라미터들의 적어도 2세트를 결정하는 제1 기구(mechanism); 및
    상기 레이트 데이터에 기초하여 상기 디코더 버퍼의 크기를 결정하거나, 또는 상기 버퍼 크기 데이터에 기초하여 상기 인코더 버퍼로부터 상기 디코더 버퍼로 데이터를 전송하는 레이트를 결정하는 제2 기구
    를 포함하는 것을 특징으로 하는 시스템.
  24. 제23항에 있어서,
    파라미터들의 적어도 2세트를 결정하는 상기 제1 기구는 상기 인코더에 포함되어 있는 것을 특징으로 하는 시스템.
  25. 제23항에 있어서,
    상기 제2 기구는 상기 디코더에 포함되어 있는 것을 특징으로 하는 시스템.
  26. 제23항에 있어서,
    파라미터들의 적어도 2세트를 결정하는 상기 제1 기구는 상기 인코더에 포함되어 있고, 상기 제2 기구는 상기 디코더에 포함되어 있으며, 상기 인코더는 파라미터들의 상기 세트를 상기 디코더에 전하는(communicate) 것을 특징으로 하는 시스템.
  27. 제26항에 있어서,
    상기 인코더는 스트림 헤더(stream header)를 통하여 파라미터들의 상기 세트를 상기 디코더에 전하는 것을 특징으로 하는 시스템.
  28. 제26항에 있어서,
    상기 인코더는 파라미터들의 상기 세트의 총 수를 식별하는 것을 특징으로 하는 시스템.
  29. 제23항에 있어서,
    파라미터들의 각 세트는 또한 상기 디코더에서 수신된 충만도 데이터를 포함하는 것을 특징으로 하는 시스템.
  30. 제23항에 있어서,
    상기 제2 기구는, 상기 세트 중 하나를 선택함으로써, 상기 레이트 데이터에 기초하여 상기 디코더 버퍼의 크기를 결정하거나, 또는 데이터를 전송하는 상기 레이트를 결정하는 것을 특징으로 하는 시스템.
  31. 제23항에 있어서,
    상기 제2 기구는, 상기 세트 중 적어도 2세트에서의 데이터 지점들 사이에내삽함으로써, 상기 레이트 데이터에 기초하여 상기 디코더 버퍼의 크기를 결정하거나, 또는 데이터를 전송하는 상기 레이트를 결정하는 것을 특징으로 하는 시스템.
  32. 제23항에 있어서,
    상기 제2 기구는, 상기 세트 중 적어도 2세트에서의 데이터 지점들로부터 외삽함으로써, 상기 레이트 데이터에 기초하여 상기 디코더 버퍼의 크기를 결정하거나, 또는 데이터를 전송하는 상기 레이트를 결정하는 것을 특징으로 하는 시스템.
  33. 제23항에 있어서,
    상기 제2 기구는 최소 로딩 지연에 근접하는 버퍼 크기를 결정함으로써 상기 디코더 버퍼의 크기를 결정하는 것을 특징으로 하는 시스템.
  34. 제23항에 있어서,
    상기 제2 기구는 소정의 버퍼 크기에 대응하는 최소 요구 피크 전송 레이트를 결정함으로써 상기 레이트 데이터를 결정하는 것을 특징으로 하는 시스템.
  35. 제23항에 있어서,
    상기 제2 기구는 상기 레이트 데이터 및 시간 정보에 기초하여 상기 디코더 버퍼의 새로운 크기를 결정하는 것을 특징으로 하는 시스템.
  36. 제23항에 있어서,
    상기 제2 기구는 상기 버퍼 크기 데이터 및 시간 정보에 기초하여 데이터 전송의 새로운 레이트를 결정하는 것을 특징으로 하는 시스템.
KR1020020056115A 2001-09-19 2002-09-16 이미지 또는 비디오 프로세싱을 위한 일반화된 기준 디코더를 제공하는 컴퓨터로 구현되는 방법 KR100947162B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/955,731 2001-09-19
US09/955,731 US7646816B2 (en) 2001-09-19 2001-09-19 Generalized reference decoder for image or video processing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020070079066A Division KR100999311B1 (ko) 2001-09-19 2007-08-07 이미지 또는 비디오 프로세싱을 위한 일반화된 기준디코더를 제공하는 컴퓨터로 구현되는 방법

Publications (2)

Publication Number Publication Date
KR20030025186A true KR20030025186A (ko) 2003-03-28
KR100947162B1 KR100947162B1 (ko) 2010-03-12

Family

ID=25497261

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020020056115A KR100947162B1 (ko) 2001-09-19 2002-09-16 이미지 또는 비디오 프로세싱을 위한 일반화된 기준 디코더를 제공하는 컴퓨터로 구현되는 방법
KR1020070079066A KR100999311B1 (ko) 2001-09-19 2007-08-07 이미지 또는 비디오 프로세싱을 위한 일반화된 기준디코더를 제공하는 컴퓨터로 구현되는 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020070079066A KR100999311B1 (ko) 2001-09-19 2007-08-07 이미지 또는 비디오 프로세싱을 위한 일반화된 기준디코더를 제공하는 컴퓨터로 구현되는 방법

Country Status (9)

Country Link
US (2) US7646816B2 (ko)
EP (3) EP1298938B1 (ko)
JP (2) JP4199973B2 (ko)
KR (2) KR100947162B1 (ko)
CN (2) CN100461858C (ko)
DE (1) DE20222026U1 (ko)
ES (3) ES2623635T3 (ko)
HK (1) HK1053034B (ko)
TW (1) TW574831B (ko)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2395310T3 (es) 2000-07-19 2013-02-11 Critical Perfusion Inc. Catéter para supervisar daño de mucosa isquémica en órganos viscosos huecos
US7646816B2 (en) * 2001-09-19 2010-01-12 Microsoft Corporation Generalized reference decoder for image or video processing
AU2003212613A1 (en) * 2002-04-19 2003-11-03 Koninklijke Philips Electronics N.V. Output rate change
KR100983832B1 (ko) 2002-04-26 2010-09-27 소니 주식회사 부호화 장치 및 방법, 그리고 기록 매체
GB0306973D0 (en) * 2003-03-26 2003-04-30 British Telecomm Transmitting video
US7266147B2 (en) * 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
US7380028B2 (en) * 2003-06-13 2008-05-27 Microsoft Corporation Robust delivery of video data
US7353284B2 (en) 2003-06-13 2008-04-01 Apple Inc. Synchronized transmission of audio and video data from a computer to a client via an interface
US7477605B2 (en) * 2003-06-30 2009-01-13 Alcatel-Lucent Usa Inc. Methods providing variable granularity for data flow control using a leaky bucket
US20050004997A1 (en) * 2003-07-01 2005-01-06 Nokia Corporation Progressive downloading of timed multimedia content
US7961786B2 (en) * 2003-09-07 2011-06-14 Microsoft Corporation Signaling field type information
US8107531B2 (en) * 2003-09-07 2012-01-31 Microsoft Corporation Signaling and repeat padding for skip frames
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8345754B2 (en) 2003-09-07 2013-01-01 Microsoft Corporation Signaling buffer fullness
US7852919B2 (en) * 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
US7924921B2 (en) * 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
US8582659B2 (en) * 2003-09-07 2013-11-12 Microsoft Corporation Determining a decoding time stamp from buffer fullness
US7609762B2 (en) * 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
US8213779B2 (en) * 2003-09-07 2012-07-03 Microsoft Corporation Trick mode elementary stream and receiver system
US7839930B2 (en) 2003-11-13 2010-11-23 Microsoft Corporation Signaling valid entry points in a video stream
US7979886B2 (en) 2003-10-17 2011-07-12 Telefonaktiebolaget Lm Ericsson (Publ) Container format for multimedia presentations
SE0302778D0 (sv) 2003-10-17 2003-10-17 Ericsson Telefon Ab L M Container format for multimedia presentations
US7016409B2 (en) * 2003-11-12 2006-03-21 Sony Corporation Apparatus and method for use in providing dynamic bit rate encoding
GB0406901D0 (en) * 2004-03-26 2004-04-28 British Telecomm Transmitting recorded material
JP2005333478A (ja) * 2004-05-20 2005-12-02 Mitsumi Electric Co Ltd ストリーミングコンテンツ再生方法及びそれを用いたインターネット接続装置
CN100351869C (zh) * 2004-09-15 2007-11-28 致伸科技股份有限公司 一种数字图像插值处理方法
US20060104212A1 (en) * 2004-11-12 2006-05-18 Mao-Hsiung Lee Method of dynamically determining optimum size of buffer
US8218439B2 (en) * 2004-11-24 2012-07-10 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive buffering
US7543073B2 (en) * 2004-12-10 2009-06-02 Microsoft Corporation System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate
US20060133494A1 (en) * 2004-12-17 2006-06-22 Rahul Saxena Image decoder with context-based parameter buffer
JP2006174309A (ja) * 2004-12-17 2006-06-29 Ricoh Co Ltd 動画再生装置、プログラム、及び記録媒体
US20090222873A1 (en) * 2005-03-07 2009-09-03 Einarsson Torbjoern Multimedia Channel Switching
JP4066268B2 (ja) * 2005-03-25 2008-03-26 船井電機株式会社 データ伝送システム
US7974193B2 (en) * 2005-04-08 2011-07-05 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US8582905B2 (en) * 2006-01-31 2013-11-12 Qualcomm Incorporated Methods and systems for rate control within an encoding device
RU2518904C2 (ru) * 2007-01-05 2014-06-10 Томсон Лайсенсинг Гипотетический эталонный декодер для масштабируемого видеокодирования
US7656318B2 (en) * 2007-01-29 2010-02-02 Ntt Docomo, Inc. Optimized content-based and royalty-based encoding and distribution of media data
CN101415078B (zh) * 2007-10-18 2010-08-18 深圳Tcl新技术有限公司 基于电影的视频的递归噪声降低方法及装置
US8345774B2 (en) * 2008-01-11 2013-01-01 Apple Inc. Hypothetical reference decoder
EP2101503A1 (en) * 2008-03-11 2009-09-16 British Telecommunications Public Limited Company Video coding
US9167007B2 (en) * 2008-06-06 2015-10-20 Amazon Technologies, Inc. Stream complexity mapping
US9047236B2 (en) 2008-06-06 2015-06-02 Amazon Technologies, Inc. Client side stream switching
JP5171413B2 (ja) * 2008-06-16 2013-03-27 三菱電機株式会社 コンテンツ送信装置、コンテンツ受信装置及びコンテンツ送信方法
JP2010028633A (ja) * 2008-07-23 2010-02-04 Nec Personal Products Co Ltd デジタル放送受信機、及びプログラム
EP2200319A1 (en) 2008-12-10 2010-06-23 BRITISH TELECOMMUNICATIONS public limited company Multiplexed video streaming
EP2219342A1 (en) 2009-02-12 2010-08-18 BRITISH TELECOMMUNICATIONS public limited company Bandwidth allocation control in multiple video streaming
JP5072893B2 (ja) * 2009-03-25 2012-11-14 株式会社東芝 画像符号化方法および画像復号化方法
US20100246685A1 (en) * 2009-03-31 2010-09-30 Alcatel-Lucent Usa Inc. Compressed video decoding delay reducer
CN101557512B (zh) * 2009-05-19 2011-07-20 武汉长江通信产业集团股份有限公司 视频终端接收视频数据延时的处理方法
US8631455B2 (en) 2009-07-24 2014-01-14 Netflix, Inc. Adaptive streaming for digital content distribution
US9014545B2 (en) 2009-07-24 2015-04-21 Netflix, Inc. Adaptive streaming for digital content distribution
US9521178B1 (en) 2009-12-21 2016-12-13 Amazon Technologies, Inc. Dynamic bandwidth thresholds
JP5706771B2 (ja) * 2010-07-30 2015-04-22 キヤノン株式会社 動画像の予測符号化装置及びその制御方法、コンピュータプログラム
JP5664229B2 (ja) * 2010-12-28 2015-02-04 ソニー株式会社 送信装置、送信方法、及びプログラム
EP2490447A1 (en) * 2011-02-16 2012-08-22 British Telecommunications Public Limited Company Compact cumulative bit curves
JP5787135B2 (ja) * 2011-04-06 2015-09-30 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
US20130208809A1 (en) * 2012-02-14 2013-08-15 Microsoft Corporation Multi-layer rate control
US10306206B2 (en) * 2013-07-23 2019-05-28 The Regents Of The University Of California 3-D motion estimation and online temporal calibration for camera-IMU systems
US10283091B2 (en) * 2014-10-13 2019-05-07 Microsoft Technology Licensing, Llc Buffer optimization
US10404986B2 (en) * 2015-03-30 2019-09-03 Netflix, Inc. Techniques for optimizing bitrates and resolutions during encoding
US9866596B2 (en) 2015-05-04 2018-01-09 Qualcomm Incorporated Methods and systems for virtual conference system using personal communication devices
US9906572B2 (en) 2015-08-06 2018-02-27 Qualcomm Incorporated Methods and systems for virtual conference system using personal communication devices
US10015216B2 (en) 2015-08-06 2018-07-03 Qualcomm Incorporated Methods and systems for virtual conference system using personal communication devices

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4706260A (en) 1986-11-07 1987-11-10 Rca Corporation DPCM system with rate-of-fill control of buffer occupancy
US4954892A (en) 1989-02-14 1990-09-04 Mitsubishi Denki Kabushiki Kaisha Buffer controlled picture signal encoding and decoding system
JP2787599B2 (ja) 1989-11-06 1998-08-20 富士通株式会社 画像信号符号化制御方式
GB9012538D0 (en) 1990-06-05 1990-07-25 Philips Nv Coding of video signals
JPH04297179A (ja) 1991-03-15 1992-10-21 Mitsubishi Electric Corp データ通信方式
US5159447A (en) * 1991-05-23 1992-10-27 At&T Bell Laboratories Buffer control for variable bit-rate channel
EP0514663A3 (en) 1991-05-24 1993-07-14 International Business Machines Corporation An apparatus and method for motion video encoding employing an adaptive quantizer
US5291486A (en) 1991-08-19 1994-03-01 Sony Corporation Data multiplexing apparatus and multiplexed data demultiplexing apparatus
US5365552A (en) 1992-11-16 1994-11-15 Intel Corporation Buffer fullness indicator
US5566208A (en) 1994-03-17 1996-10-15 Philips Electronics North America Corp. Encoder buffer having an effective size which varies automatically with the channel bit-rate
US5541852A (en) * 1994-04-14 1996-07-30 Motorola, Inc. Device, method and system for variable bit-rate packet video communications
US5933451A (en) * 1994-04-22 1999-08-03 Thomson Consumer Electronics, Inc. Complexity determining apparatus
JP3674072B2 (ja) 1995-02-16 2005-07-20 富士ゼロックス株式会社 ファクシミリ通信方法及びファクシミリ装置
US5970173A (en) 1995-10-05 1999-10-19 Microsoft Corporation Image compression and affine transformation for image motion compensation
FI101332B1 (fi) * 1995-12-18 1998-05-29 Nokia Telecommunications Oy Epäjatkuvalähetys monikanavaisessa suurinopeuksisessa datasiirrossa
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
JPH09261266A (ja) * 1996-03-26 1997-10-03 Matsushita Electric Ind Co Ltd サービス情報通信システム
US5952943A (en) 1996-10-11 1999-09-14 Intel Corporation Encoding image data for decode rate control
US6141053A (en) 1997-01-03 2000-10-31 Saukkonen; Jukka I. Method of optimizing bandwidth for transmitting compressed video data streams
CA2273940C (en) 1997-10-03 2008-12-09 Sony Corporation Encoded stream splicing device and method, and an encoded stream generating device and method
SG116400A1 (en) 1997-10-24 2005-11-28 Matsushita Electric Ind Co Ltd A method for computational graceful degradation inan audiovisual compression system.
US6060997A (en) * 1997-10-27 2000-05-09 Motorola, Inc. Selective call device and method for providing a stream of information
US6775840B1 (en) 1997-12-19 2004-08-10 Cisco Technology, Inc. Method and apparatus for using a spectrum analyzer for locating ingress noise gaps
WO1999052282A1 (en) * 1998-04-02 1999-10-14 Sarnoff Corporation Bursty data transmission of compressed video data
US6629318B1 (en) * 1998-11-18 2003-09-30 Koninklijke Philips Electronics N.V. Decoder buffer for streaming video receiver and method of operation
US6233226B1 (en) * 1998-12-14 2001-05-15 Verizon Laboratories Inc. System and method for analyzing and transmitting video over a switched network
KR100584394B1 (ko) * 1998-12-30 2006-08-30 삼성전자주식회사 실시간 네트워크 감시에 의한 보코더 파라미터 제어 방법
US6671323B1 (en) 1999-02-05 2003-12-30 Sony Corporation Encoding device, encoding method, decoding device, decoding method, coding system and coding method
JP2000286865A (ja) * 1999-03-31 2000-10-13 Toshiba Corp 連続メディアデータ送信ステム
KR100390115B1 (ko) * 1999-04-12 2003-07-04 마츠시타 덴끼 산교 가부시키가이샤 화상 처리 방법, 화상 처리 장치 및 데이터 기억 매체
JP4283950B2 (ja) * 1999-10-06 2009-06-24 パナソニック株式会社 ネットワーク管理システム
KR100636110B1 (ko) 1999-10-29 2006-10-18 삼성전자주식회사 엠펙-4 송수신용 시그널링을 지원하는 단말기
GB9930788D0 (en) * 1999-12-30 2000-02-16 Koninkl Philips Electronics Nv Method and apparatus for converting data streams
CN1322759C (zh) 2000-04-27 2007-06-20 三菱电机株式会社 编码装置和编码方法
WO2002009425A1 (en) 2000-07-25 2002-01-31 Agilevision, L.L.C. Splicing compressed, local video segments into fixed time slots in a network feed
US7454222B2 (en) 2000-11-22 2008-11-18 Dragonwave, Inc. Apparatus and method for controlling wireless communication signals
US7675994B2 (en) 2001-04-02 2010-03-09 Koninklijke Philips Electronics N.V. Packet identification mechanism at the transmitter and receiver for an enhanced ATSC 8-VSB system
WO2002089369A1 (en) 2001-05-02 2002-11-07 Strix Systems, Inc. Method and system for indicating link quality among neighboring wireless base stations
US7646816B2 (en) * 2001-09-19 2010-01-12 Microsoft Corporation Generalized reference decoder for image or video processing
US8345754B2 (en) 2003-09-07 2013-01-01 Microsoft Corporation Signaling buffer fullness
US20060143678A1 (en) 2004-12-10 2006-06-29 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model

Also Published As

Publication number Publication date
CN1426235A (zh) 2003-06-25
US7593466B2 (en) 2009-09-22
JP2003179665A (ja) 2003-06-27
JP4199973B2 (ja) 2008-12-24
EP1298938B1 (en) 2017-02-15
US7646816B2 (en) 2010-01-12
JP4489794B2 (ja) 2010-06-23
EP1753248B1 (en) 2016-03-30
ES2570190T3 (es) 2016-05-17
ES2570604T3 (es) 2016-05-19
DE20222026U1 (de) 2011-12-28
KR20070097375A (ko) 2007-10-04
EP1753248A2 (en) 2007-02-14
EP1298938A2 (en) 2003-04-02
CN1848964B (zh) 2011-11-09
EP1298938A3 (en) 2003-09-24
EP1746844B1 (en) 2016-03-30
US20060198446A1 (en) 2006-09-07
ES2623635T3 (es) 2017-07-11
JP2007329953A (ja) 2007-12-20
HK1053034B (zh) 2018-01-19
TW574831B (en) 2004-02-01
KR100999311B1 (ko) 2010-12-08
CN1848964A (zh) 2006-10-18
KR100947162B1 (ko) 2010-03-12
CN100461858C (zh) 2009-02-11
EP1746844A3 (en) 2007-04-18
US20030053416A1 (en) 2003-03-20
EP1753248A3 (en) 2007-04-18
EP1746844A2 (en) 2007-01-24

Similar Documents

Publication Publication Date Title
KR100947162B1 (ko) 이미지 또는 비디오 프로세싱을 위한 일반화된 기준 디코더를 제공하는 컴퓨터로 구현되는 방법
USRE48953E1 (en) Hypothetical reference decoder
US11729109B2 (en) Excess bitrate distribution based on quality gain in SABR server
US11677799B2 (en) Client feedback enhanced methods and devices for efficient adaptive bitrate streaming
KR102110627B1 (ko) 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들
WO2012161652A1 (en) Methods for transmitting and receiving a digital signal, transmitter and receiver
US20060031564A1 (en) Methods and systems for streaming data at increasing transmission rates

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E90F Notification of reason for final refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130218

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150217

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 11