KR100999311B1 - 이미지 또는 비디오 프로세싱을 위한 일반화된 기준디코더를 제공하는 컴퓨터로 구현되는 방법 - Google Patents

이미지 또는 비디오 프로세싱을 위한 일반화된 기준디코더를 제공하는 컴퓨터로 구현되는 방법 Download PDF

Info

Publication number
KR100999311B1
KR100999311B1 KR1020070079066A KR20070079066A KR100999311B1 KR 100999311 B1 KR100999311 B1 KR 100999311B1 KR 1020070079066 A KR1020070079066 A KR 1020070079066A KR 20070079066 A KR20070079066 A KR 20070079066A KR 100999311 B1 KR100999311 B1 KR 100999311B1
Authority
KR
South Korea
Prior art keywords
parameter sets
decoder
bit stream
rate
parameters
Prior art date
Application number
KR1020070079066A
Other languages
English (en)
Other versions
KR20070097375A (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 KR20070097375A publication Critical patent/KR20070097375A/ko
Application granted granted Critical
Publication of KR100999311B1 publication Critical patent/KR100999311B1/ko

Links

Images

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은 특히 이미지 및 비디오 데이터 중 적어도 하나를 디코딩하기 위하여 본 발명이 구현될 수 있는 적합한 동작 환경(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)은, Microsoft® Corporation의 Windows® CE 오퍼레이팅 시스템이나 기타 오퍼레이팅 시스템 등과 같이, 메모리(124)에 상주하며, 프로세서(122) 상에서 실행된다.
하나 이상의 응용 프로그램(132)이 메모리(124)에 로딩되어 오퍼레이팅 시스템(130) 상에서 실행된다. 응용 프로그램의 예는 전자 메일 프로그램, 스케줄링 프로그램, PIM(Personal Information Management) 프로그램, 워드 프로세싱 프로그램, 스프레드시트 프로그램, 인터넷 브라우저 프로그램 등을 포함한다. 핸드헬드 퍼스널 컴퓨터(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 비디오 버퍼링 검정기와 같은 지점들을 외삽한다는 점에 유의). 인코더는, 누설 버킷 값들을 미리 선택하여 누설 버킷 제약을 확실히 충족시키는 레이트 제어에 의해 비트 스트림을 인코딩하는 방식이나, 비트 스트림을 인코딩한 후에 상술한 식을 이용하여 N개의 상이한 R 값에서 비트 스트림을 담고 있는 누설 버킷 파라미터의 세트를 계산하는 방식 중에서 선택하거나, 두가지 방식을 다 이용할 수 있다. 첫번째 방식은 라이브 또는 온디맨드(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는 직선
Figure 112007057274017-pat00001
을 따르며, 여기에서 Rk < R < Rk+1이다.
마찬가지로, 초기 디코더 버퍼 충만도 F는
Figure 112007057274017-pat00002
와 같이, 위 수식에 표시된 바와 같이 선형적으로 내삽될 수 있으며, 여기서 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 값들에 대한 비트 스트림을 포함하고 있는 최소 버퍼 크기이며, 따라서
Figure 112007057274017-pat00003
이고, 여기서 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) 곡선이 상기 식을 이용하여 얻어질 수 있다. 또한, 이 식을 이용하여 인코더가 비트 스트림을 생성한 후의 누설 버킷 모델 파라미터의 계산을 단순화할 수도 있다.
테스트 시에, 797 Kbps의 평균 비트 레이트로 도 5의 비트 스트림이 생성되었다. 도 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)을 더한다.
본 발명에는 다양한 변경 및 선택적인 구성이 가해지기 쉽지만, 특별히 예시된 실시예들이 도면에 도시되고 상세하게 기재되었다. 그러나, 개시된 특정 형태로 본 발명을 제한하려는 의도는 없으며, 오히려, 본 발명은 본 발명의 사상 및 범위 내에 있는 모든 변경예, 선택적인 구성 및 등가물들을 커버하려고 의도되어 있다.
도 1은 본 발명이 포함될 수 있는 예시적인 컴퓨터 시스템을 나타내는 블록도.
도 2는 본 발명의 일 형태에 따라 비디오 또는 이미지 데이터를 인코딩 및 디코딩하기 위한 강화된 인코더와 일반화된 기준 디코더 및 그 각각의 버퍼를 나타내는 블록도.
도 3은 누설 버킷 파라미터 (R, B, F)의 누설 버킷에 포함된 경우 시간에 대한 버퍼 충만도(fullness)의 그래프.
도 4는 대표적인 비디오 클립에 대한 레이트 대 버퍼 크기 곡선을 나타내는 도면.
도 5는 본 발명의 일 형태에 따라서 내삽 및 외삽을 위하여 일반화된 기준 디코더에 제공된 2개의 누설 버킷 모델(파라미터 세트)과 함께 대표적인 비디오 클립에 대한 레이트 대 버퍼 크기 곡선의 대표도.
[도면의 주요부분에 대한 부호의 설명]
122 : 프로세서 126 : 터치스크린을 갖는 디스플레이
128 : 키보드 132 : 응용 프로그램
134 : 통지 관리자 144 : 오디오 발생기
136 : 전원 공급부 200 : 입력
202 : 강화된 인코더 210 : 일반화된 기준 디코더
212 : 출력

Claims (26)

  1. 기준 디코더(reference decoder)에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법으로서,
    주어진 비디오 클립에 대한 인코딩된 데이터의 비트 스트림에 대하여 N개의 파라미터 세트를 생성하는 단계 -상기 N은 2 이상이고, 상기 N개의 파라미터 세트 각각은 상기 주어진 비디오 클립에 대한 상기 인코딩된 데이터의 상기 비트 스트림에 대한 레이트 파라미터 및 디코더 버퍼 크기 파라미터의 상이한 쌍을 포함하고, 상기 N개의 파라미터 세트 각각에 대하여, 상기 파라미터 세트는 상기 비트 스트림을, 상기 주어진 비디오 클립에 대한 상기 인코딩된 데이터를 디코딩하기 위해 그 파라미터 세트에 따라 동작하는 기준 디코더의 디코더 버퍼의 언더플로우(underflow)가 없도록 담고 있음-,
    상기 N의 값을 지정하는 정보를 상기 비트 스트림과 함께 제공하는 단계, 및
    동작 조건의 결정에 상기 N개의 파라미터 세트 각각이 이용될 수 있도록, 상기 N개의 파라미터 세트를 상기 비트 스트림과 함께 제공하는 단계 - 상기 동작 조건은 상기 주어진 비디오 클립에 대한 상기 인코딩된 데이터를 디코딩하기 위한 디코더 버퍼 크기 또는 피크 레이트임-
    를 포함하는 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    상기 기준 디코더에 대한 추가적인 다수의 파라미터 세트를 생성하는 단계, 및
    상기 동작 조건의 결정에 상기 추가적인 다수의 파라미터 세트 각각이 이용될 수 있도록, 상기 추가적인 다수의 파라미터 세트를 상기 비트 스트림과 함께 제공하는 단계
    를 더 포함하는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  3. 제1항에 있어서,
    상기 N개의 파라미터 세트는 상기 비트 스트림을 위한 스트림 헤더 내에 제공되는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  4. 제1항에 있어서,
    상기 N개의 파라미터 세트는 상기 비트 스트림에 대해 대역외로 제공되는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  5. 제1항에 있어서,
    디코더로 상기 동작 조건의 결정을 위하여 상기 N개의 파라미터 세트 중 임의의 세트를 이용하는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  6. 제5항에 있어서,
    상기 피크 레이트는 디스크 드라이브를 위한 구동 속도에 대응하는 것인, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  7. 제5항에 있어서,
    상기 피크 레이트는 네트워크 접속을 위한 전송 레이트에 대응하는 것인, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  8. 제5항에 있어서,
    상기 결정은, 상기 N개의 파라미터 세트 중 한 세트의 파라미터를 선택하는 것을 포함하는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  9. 제5항에 있어서,
    상기 결정은, 상기 N개의 파라미터 세트 중 두 세트의 파라미터들 간에서 내삽하는 것을 포함하는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  10. 제5항에 있어서,
    상기 결정은, 상기 N개의 파라미터 세트 중 한 세트의 파라미터로부터 외삽하는 것을 포함하는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  11. 제5항에 있어서,
    상기 피크 레이트는 최소 피크 레이트이고,
    상기 결정은, 상기 N개의 파라미터 세트의 디코더 버퍼 크기 파라미터 중 하나 이상으로부터 상기 최소 피크 레이트를 결정하는 것을 포함하는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  12. 제5항에 있어서,
    상기 결정은, 상기 N개의 파라미터 세트의 레이트 파라미터 중 하나 이상으로부터 상기 디코더 버퍼 크기를 결정하는 것을 포함하는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    인코더가, 상기 주어진 비디오 클립의 인코딩 후에 상기 N개의 파라미터 세트를 생성하는 단계를 수행하고, 상기 N개의 파라미터 세트를 생성하는 단계는 상기 비트 스트림을 포함하는 상기 N개의 파라미터 세트에 대한 값들을 계산하는 단계를 포함하는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  14. 제13항에 있어서,
    상기 인코딩은 오프라인 인코딩인, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  15. 제1항 내지 제12항 중 어느 한 항에 있어서,
    인코더가, 상기 주어진 비디오 클립의 인코딩 전에 상기 N개의 파라미터 세트를 생성하는 단계를 수행하고, 상기 N개의 파라미터 세트를 생성하는 단계는 상기 비트 스트림을 포함하는 상기 N개의 파라미터 세트에 대한 값들을 미리 선택하는 단계를 포함하는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  16. 제15항에 있어서,
    상기 인코딩은 상기 주어진 비디오 클립에 대한 라이브 비디오 전송 동안 발생하는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  17. 제15항에 있어서,
    상기 인코딩은 오프라인 인코딩인, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  18. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 N개의 파라미터 세트 중 적어도 한 세트를 위한 레이트 파라미터 및 디코더 버퍼 크기 파라미터는 상기 주어진 비디오 클립의 인터넷 스트리밍을 지원하도록 지정되는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  19. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 N개의 파라미터 세트 중 적어도 한 세트를 위한 레이트 파라미터 및 디코더 버퍼 크기 파라미터는 상기 주어진 비디오 클립의 랜덤 액세스 재생 기능을 지원하도록 지정되는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  20. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 N개의 파라미터 세트 각각은 초기 버퍼 충만도 파라미터를 더 포함하는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  21. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 N개의 파라미터 세트 각각은 상기 주어진 비디오 클립에 대한 상기 인코딩된 데이터의 상기 비트 스트림에 대한 다른 누설 버킷 모델을 특징화하는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  22. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 N개의 파라미터 세트 각각은 상기 주어진 비디오 클립에 대한 상기 인코딩된 데이터의 상기 비트 스트림에 대한 레이트-디코더 버퍼 크기 곡선을 따른 다른 지점을 표현하는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  23. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 N개의 파라미터 세트 각각에 대한 디코더 버퍼 크기 파라미터는 서로 다른 것인, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  24. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 N개의 파라미터 세트 각각에 대한 레이트 파라미터는 서로 다른 것인, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터로 구현되는 방법.
  25. 컴퓨터 실행가능 명령어들을 저장하는 컴퓨터 판독가능 매체로서, 상기 컴퓨터 실행가능 명령어들은 그들이 프로그래밍되어 있는 컴퓨터 시스템이 제1항 내지 제12항 중 어느 한 항에 따른 방법을 수행하게 하는 컴퓨터 판독가능 매체.
  26. 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터 시스템으로서,
    프로세서; 및
    컴퓨터 실행가능 명령어들을 포함하는 하나 이상의 저장 매체
    를 포함하고, 상기 컴퓨터 실행가능 명령어들은 상기 컴퓨터 시스템이,
    주어진 비디오 클립에 대한 인코딩된 데이터의 비트 스트림에 대하여 N개의 파라미터 세트를 생성하는 단계 -상기 N은 2 이상이고, 상기 N개의 파라미터 세트 각각은 상기 주어진 비디오 클립에 대한 상기 인코딩된 데이터의 상기 비트 스트림에 대한 레이트 파라미터 및 디코더 버퍼 크기 파라미터의 상이한 쌍을 포함하고, 상기 N개의 파라미터 세트 각각에 대하여, 상기 파라미터 세트는 상기 비트 스트림을, 상기 주어진 비디오 클립에 대한 상기 인코딩된 데이터를 디코딩하기 위해 그 파라미터 세트에 따라 동작하는 기준 디코더의 디코더 버퍼의 언더플로우(underflow)가 없도록 담고 있음-,
    상기 N의 값을 지정하는 정보를 상기 비트 스트림과 함께 제공하는 단계, 및
    동작 조건의 결정에 상기 N개의 파라미터 세트 각각이 이용될 수 있도록, 상기 N개의 파라미터 세트를 상기 비트 스트림과 함께 제공하는 단계 -상기 동작 조건은 상기 주어진 비디오 클립에 대한 상기 인코딩된 데이터를 디코딩하기 위한 디코더 버퍼 크기 또는 피크 레이트임-
    를 포함하는 방법을 수행하도록 하는, 기준 디코더에 대한 다수의 파라미터 세트를 제공하기 위한 컴퓨터 시스템.
KR1020070079066A 2001-09-19 2007-08-07 이미지 또는 비디오 프로세싱을 위한 일반화된 기준디코더를 제공하는 컴퓨터로 구현되는 방법 KR100999311B1 (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 Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
KR20070097375A KR20070097375A (ko) 2007-10-04
KR100999311B1 true KR100999311B1 (ko) 2010-12-08

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 Before (1)

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

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
KR20030025186A (ko) 2003-03-28
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
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
KR100999311B1 (ko) 이미지 또는 비디오 프로세싱을 위한 일반화된 기준디코더를 제공하는 컴퓨터로 구현되는 방법
USRE48953E1 (en) Hypothetical reference decoder
US11677799B2 (en) Client feedback enhanced methods and devices for efficient adaptive bitrate streaming
US11729109B2 (en) Excess bitrate distribution based on quality gain in SABR server
KR102110627B1 (ko) 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들
JP2022039452A (ja) 受信端末、配信サーバ、受信方法及び受信プログラム

Legal Events

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

Payment date: 20131115

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141117

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181115

Year of fee payment: 9