KR100335052B1 - 프레임 레벨 속도 제어 방법 - Google Patents

프레임 레벨 속도 제어 방법 Download PDF

Info

Publication number
KR100335052B1
KR100335052B1 KR1019990040208A KR19990040208A KR100335052B1 KR 100335052 B1 KR100335052 B1 KR 100335052B1 KR 1019990040208 A KR1019990040208 A KR 1019990040208A KR 19990040208 A KR19990040208 A KR 19990040208A KR 100335052 B1 KR100335052 B1 KR 100335052B1
Authority
KR
South Korea
Prior art keywords
bit rate
frame
target bit
adjusting
previous
Prior art date
Application number
KR1019990040208A
Other languages
English (en)
Other versions
KR20000023276A (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 KR20000023276A publication Critical patent/KR20000023276A/ko
Application granted granted Critical
Publication of KR100335052B1 publication Critical patent/KR100335052B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/69Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving reversible variable length codes [RVLC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at 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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/162User input
    • 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
    • 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

특정 지속시간(예를 들어, 연속 프레임의 특정 수)의 타이밍 윈도우(timing window)에 대하여 일정한 비트 속도를 추정하는데, 여기서 인코딩될 현재 프레임은 타이밍 윈도우 내부에 놓이게 된다. 현재 프레임에 대한 타깃 비트 속도는 윈도우 내에서 다른 프레임들을 인코딩하기 위해 이미 사용된 비트수를 계산하고, 그런 다음 타이밍 윈도우에 할당된 남아 있는 이용 가능한 비트는 타이밍 윈도우 내의 인코딩되지 않은 프레임들에 균등하게 할당될 것이라고 가정함으로써 처음 선택된다. 그리고 나서, 타깃 비트 속도는 장면 내용, 인코더 상태 및 버퍼에 대한 참작(consideration)에 의하여 선택적으로 조정된다. 그리고, 타깃 비트 할당 및 프레임 스키핑(skipping)의 결합을 통하여, 공간 및 시간 해상도(resolution)가 수용 가능한 범위 내에서 유지되는 동시에 버퍼 지연 제한이 충족된다. 또한, P-온리 코더(P-only coder)에 부가하여 PB 프레임을 포함하도록 확대될 수 있다.

Description

프레임 레벨 속도 제어 방법{Method for controlling frame-level rate}
본 발명은 영상 처리, 특히 비디오 압축을 위한 프레임 레벨 속도 제어 방법에 관한 것이다.
본 발명은 변리사 등록 번호 SAR 12728P로서 1998년 9월 18일에 출원된 미국 가출원번호 60/100,939의 출원 일자에 대한 권리를 주장한다.
일반적으로, 비디오 압축의 목적은 영상 데이터를 인코딩하여 비디오 영상의 시퀀스를 나타내는데 사용되는 비트수를 줄임과 동시에, 디코딩된 비디오 시퀀스의 적절한 품질 레벨을 유지하는데 있다. 상기 목적은 실시간 화상 회의와 같이 전송 대역폭 한정이 비트 속도, 즉 비디오 시퀀스에서 각 영상을 인코딩하는데 사용되는 비트 수에 대해 세심한 제어를 요구하는 특정 출원에서 특히 중요하다. 이러한 화상 회의 시스템에서의 전송 및 다른 처리 조건을 충족시키기 위하여, 때로는 인코딩된 비디오 비트 스트림에서 상대적으로 고정된 비트의 흐름을 가지는 것이 바람직하다.
그러나, 비교적 일정한 비트 속도를 달성하는 것은 매우 어려운 일일 수 있으며, 특히 다른 압축 기술을 이용하여 비디오 시퀀스 내의 서로 다른 영상을 인코딩하는 비디오 압축 알고리즘에 있어서는 더욱 그러하다.
이때, 상기 비디오 압축 알고리즘에 따른 압축 처리를 위해 영상(image)은 다음과 같이 서로 다른 형태의 프레임으로 나타내어질 수 있다.
o 프레임내(Intra-frame) 압축 기술만을 사용하여 인코딩되는 인트라(I) 프레임;
o 이전 I 또는 P 프레임에 의한 프레임간(Inter-frame) 압축 기술을 사용하여 인코딩되며, 그 자체가 하나 이상의 다른 프레임을 인코딩하는 기준 프레임으로서 사용될 수 있는 예측(P) 프레임;
o 이전 및 후속 I 또는 P 프레임에 의한 양방향 프레임간 압축 기술을 사용하여 인코딩되며, 다른 프레임 인코딩에는 사용될 수 없는 양방향(B) 프레임; 및
o H.263 비디오 압축 알고리즘에서와 같이 단일 프레임으로서 인코딩되는 두 개의 영상 -- P 프레임 및 후속 B 프레임 -- 에 해당하는 PB 프레임.
인코딩될 실제 영상 데이터에 따라, 즉 이러한 서로 다른 프레임 형태들을 인코딩할 때는 통상적으로 다른 비트수가 요구된다. 예를 들어, I 프레임은 통상 가장 많은 비트수가 필요한 반면, B 프레임은 가장 적은 비트수가 필요하다.
통상적인 변환을 근거로 한(transform-based) 비디오 압축 알고리즘에서, 이산 코사인 변환(DCT)과 같이 블록에 의한 변환은 픽셀값 또는, 예를 들면 움직임이 보상된 프레임간 차별화 알고리즘에 의하여 발생된 픽셀 오차에 해당하는 영상 데이터 블록에 적용된다. 상기 변환 결과로서 발생하는 각 블록의 변환 계수(coefficient)는 후속 인코딩(예를 들면, 가변 길이(variable-length) 인코딩을 뒤따르는 런 길이(run-length) 인코딩)을 위해 양자화된다. 상기 변환 계수의 양자화 정도(양자화 레벨(quantization level)이라고도 함)는 영상 데이터를 나타내기 위하여 사용되는 비트 수 및 그 결과로서 디코딩된 영상의 품질에 모두 직접적인 영향을 미친다. 일반적으로, 양자화 레벨이 높을수록 비트 수가 적어지고 질이 낮아짐을 의미한다. 이처럼, 양자화 레벨은 흔히 비트 속도와 영상의 질간의 교환(tradeoff)을 제어하는 주요 변수로서 사용된다.
그러나, 양자화 레벨만을 사용하는 것은 특정 출원의 대역폭 및 품질 조건을 충족시키는 데 부족할 수 있다. 이와 같은 상황에서는, 하나 이상의 프레임이 비디오 시퀀스로부터 떨어져 나오는 프레임 스키핑과 같이 좀더 과감한 기술을 적용하는 것이 필요할 것이다. 이러한 프레임 스키핑은 장기적인 공간 품질을 적절한 레벨로 유지하기 위하여 디코딩된 비디오 스트림의 단기적 시간 품질을 희생하는 데 사용될 수 있다.
따라서, 본 발명의 목적은 실시간 처리 및 전송 요구가 속도 제어를 특히 중요하게 만드는 화상 회의등에서 비디오 압축 처리를 위해 프레임 레벨 비트 속도를 제어하는 방법을 제공함에 있다.
도 1은 본 발명에서 현재 프레임을 인코딩하기 위한 타깃 비트 수의 선택이 P-프레임-온리 코더에 의해 실행되는 예를 보인 처리 흐름도
도 2는 본 발명에서 프레임 스키핑 과정의 일 예를 보인 처리 흐름도
일 실시예에 따르면, 본 발명은 비디오 시퀀스에서 현재 프레임에 대한 타깃 비트 속도를 선택하기 위하여 비디오 시퀀스의 비디오 압축 처리를 실행하는 기계에 의한 비트 속도 제어 방법이며, 다음과 같은 단계로 구성된다. (a) 비디오 시퀀스에서 이전 M 프레임을 인코딩하는데 사용되는 비트 수를 산출하는 단계와(여기서, M은 특정 프레임 수), (b) 다중 프레임 비트 다발(multi-frame bit budget)에서 이전 M 프레임을 인코딩하는데 사용되는 비트 수를 감산함으로써, 비디오 시퀀스에서 N 프레임을 인코딩하는데 이용 가능한 특정 비트수에 해당하는 다중 프레임 비트 다발의 사용되지 않은 부분에 대하여 이용 가능한 비트수를 산출하는 단계와(여기서 N은 특정 프레임 수이며, M < N), (c) 상기 다중 프레임 비트 다발의 사용되지 않은 부분을 (N-M)으로 나눔으로써 현재 프레임에 대한 타깃 비트 속도를 산출하는 단계와, (d) 상기 타깃 비트 속도에 의하여 현재 프레임을 인코딩하는 단계.
본 발명의 기타 측면, 특징 및 이점은 다음의 상세 설명, 첨부 청구항 및 첨부된 도면에 의해 명확해진다.
이하, 본 발명의 바람직한 실시예를 첨부도면을 참조하여 상세히 설명한다.
본 발명은 일 실시예로서, 장면 내용, 인코더 상태 및 버퍼에 대한 고려에 의하여 프레임 레벨 타깃을 할당(예를 들어, 비트 할당)하는 실시간 화상 회의 시스템에서의 프레임 레벨 속도 제어 및 스키핑 방법에 관한 것이다.
본 발명에서의 알고리즘은 특정 지속시간(예를 들어, 연속 프레임의 특정수)의 타이밍 윈도우(timing window)에 대한 지속적 비트 속도를 유지하는 동시에, 각각의 프레임을 인코딩하는데 사용되는 타깃 비트 속도 및 실제 비트 속도의 변환을 허용한다. 또한, 타깃 비트 할당 및 프레임 스키핑의 결합을 통하여, 공간 및 시간 해상도가 수용 가능한 범위 내에서 유지되는 동시에 버퍼 지연 제한이 충족된다. 상기 알고리즘은 P 프레임에 부가하여 PB 프레임을 포함하도록 확장될 수 있다.
본 발명의 상세 설명을 위해 먼저, 본 발명에서 사용되는 기호에 대해서 정의한다.
R: 비트/초(bit/sec) 단위를 갖는 채널 전송 속도 (예를 들어, 24000비트/초).
Bpp: 픽처당 비트 =(예를 들어, 30fps의 원래 프레임 속도 및 R=24Kbps에 대하여, Bpp는 픽처당 800 비트이다).
Bprev: 이전 프레임을 인코딩하는데 사용되는 비트.
fs: 바람직한 평균 프레임 속도에 해당하는 프레임 스킵(예를 들어, 60fps 및 전송 속도 15fps를 가지는 입력 비디오에 대하여, fs는 4이다).
act_buf_size: 인코더 버퍼의 실제 크기이며, 픽처 포맷에 의해 조정됨.
VBVf_b: 현재 인코딩되는 프레임을 버퍼에 저장하기 전의 버퍼 충만도.
VBVf_a: 현재 인코딩되는 프레임을 버퍼에 저장한 후의 버퍼 충만도.
max_buf_size: 고정 상태 버퍼의 최대 크기. 일 실시예에서, 이 크기는 R/2로 선택되는데, 이것은 버퍼 지연의 상한선이 0.5초임을 의미한다.
ssbs: 바람직한 VBVf_a(고정 상태 버퍼 크기).
S, Sp: 각각, 현재 프레임에 대한 움직임 보상 이후의 프레임간 왜곡 및 이전 프레임의 특정 수에 대한 평균 왜곡.
프레임 스키핑 전략
본 발명은 버퍼 지연 제한을 충족하는 동시에 공간 품질을 주어진 비트 속도에서 적절하게 유지하기 위하여, 프레임 스키핑이 수용될 수 있다. 일 실시예에서, 버퍼에서 프레임에 대한 평균 지연은 ssbs/R로 한정되며, 최대 지연은 타깃이 충족되는 정확도에 의해 지시된다. 보통, 최대 지연은 ssbs/R보다 약간 더 클 뿐이다. 이때, 픽처 인코딩 이후의 스킵은 다음과 같이 계산된다.
set skip=1, VBVf_b=VBVf_a - Bpp.
while (VBVf_b + Bf > ssbs) {
if (VBVf_b -Bpp < 0) 브레이크; /*이는 언더플로우(underflow) 및 비트의 저이용(under-utilization)을 피한다*/
skip++
VBVf_b=VBVf_b-Bpp
}
여기서, Bf는 인코딩될 다음 프레임에 대한 추정치이며,로 계산된다. 그러므로, 본 발명의 알고리즘은 버퍼 지연을 ssbs/R 주위에서 유지한다.
P-프레임 온리 코더에 대한 프레임 레벨 속도 제어
도 1은 본 발명의 일 실시예로서, 현재 프레임을 인코딩하기 위한 타깃 비트수 T를 선택하기 위하여 P-프레임-온리 코더에 의해 실행되는 동작 흐름도를 도시한다.
프레임 윈도우에 대한 타깃 계산
도 1을 보면 인코딩되고 있는 현재 프레임의 중앙에 위치하는 W 프레임의 윈도우에 대하여 일정한 비트 속도를 유지하고자 하는 시도가 행해진다. 이를 위해 상기 윈도우 내의 첫번째 N1 프레임에 대하여, 상기 프레임들을 인코딩하는데 사용된 비트 수(B1)가 계산된다(단계 102). 이때, 인코딩되기 위하여 남은 프레임 수는 N2=(W-N1)/fs이다. 여기서 N1은 스킵되는 프레임을 포함하여 처리된 전체 프레임 수이다. 그리고, 전체 윈도우에 대한 이용 가능한 비트수는 Bw=W*Bpp이다.
또한, 현재 프레임에 대한 타깃 비트 수 T는 (Bw-b1)/N2이다(단계 104 및 106). 상기 계산은, 윈도우 내에 남아 있는 각 프레임에 대해서는 같은 수의 비트가 사용될 것이라는 추정으로부터 근원한다. 이때, 상기 타깃 비트 수 T는 조절될 수 있다.
타깃 조절(target modification)
이 부분은 인코더 상태 및 장면 내용에 의하여 타깃 비트 수 T를 조절하기위한 알고리즘을 기술한다. 여기서, 타깃 비트 수 T는 다음의 선택적 요건들중 하나 이상의 원인에 의해 조절된다. (a) 양자화기 포화(quantizer saturation), (b) 이전 프레임의 왜곡과 비교해서 움직임 보상된 왜곡, (c) 이전 프레임에 대한 비트 카운트(bit count) 및 (d) 버퍼 충만도.
특히, 양자화기 포화에 있어서 양자화기 매개변수(quantizer parameter) QP가 이전 픽처에 대해 포화되었다면(예를 들면, 31 양자화 레벨을 가지는 시스템에 대하여 QP > 25를 의미함), 현재 프레임 타깃 T는 다음의 수학식 1과 같이 증가할 것이다(단계 108).
T=T*(1+β*(QP-QP _thresh ))
여기서 β는 특정 인자(specified factor)(예를 들어, 0.06)이고, QP_thresh는 특정 포화된 양자화 레벨(예를 들면, 25)이다.
한편, 양자화기 매개변수 QP가 포화되지 않으면, 상기 타깃 T는 현재 및 이전 왜곡에 의해 다음의 수학식 2와 같이 조절될 수 있다(단계 110).
상기 수학식 2에서 S는 현재 프레임에 대해 움직임 보상된 왜곡(예를 들어, 절대 픽셀차의 합(sum of absolute pixel differences ; SAD) 측정에 의함)이고, Sp는 이전 M 프레임에 대한 평균 움직임 보상된 왜곡이며(예를 들어, M=2), k>1이다(예를 들어, k=4). Sp는 바람직하게, 가장 최근의 데이터를 강조하는 가중치 평균(weighted average)이다.
또한, 타깃 T는 이전 프레임에 사용된 비트수(Bprev)에 의해 다음의 수학식 3과 같이 조절될 수 있다(단계 112).
T=α*T+(1-α)*Bprev
상기 수학식 3에서, 0<=α<=1(예를 들면, α=0.7)이다. 상기 단계 112는 기준 프레임의 품질에 대한 변화를 줄이며, 시간에 대한 어떤 저하가 스무스하도록 도움을 준다.
또한, 상기 타깃 T는 버퍼 충만도에 의하여 다음의 수학식 4와 같이 조절될 수 있다(단계 114).
상기 수학식 4에서, a는 VBVf_b(현재 인코딩되는 프레임을 버퍼에 저장하기 전의 버퍼 충만도)이고, b는 ssbs - VBVf_b이며, λ>1이다. 상기 단계 114는 알고리즘이 상기 버퍼를 이용할 수 있도록 한다. 만일, VBVf_b가 원하는 고정 상태 버퍼 크기의 반보다 작다면(예를 들어, ssbs/2), 타깃 T는 증가한다. 반대의 경우, 타깃 T는 감소한다.
그리고 나서, 상기의 결과로 발생하는 타깃 T는 프레임을 인코딩하기 위해 사용된다(단계 118). 예를 들면, H.263+ 표준에서 TMN 5 또는 TMN 8 방법(strategies)에 의한 QP(quantization parameter) 매크로블록 적응에 이용한다.
큰 움직임 예외(high-motion exception)
움직임이 큰 영역에서, 상기 알고리즘은 공간 품질의 손실을 야기할 수 있으며 회복하는데 장시간이 걸릴 수 있다. 그러므로, 이러한 상황에서 상기 알고리즘은 버퍼를 이용하여 타깃 T를 상승시키도록 선택할 수 있다(단계 116). 더욱이, 상기 알고리즘이 '고정 상태'로 복귀하면, 상기 알고리즘은 완만하게 프레임 타깃을 고정 상태 값(예를 들어, 대략 fs*Bpp)으로 감소시킨다. 완만한 저하(graceful degradation)는 타깃에 대한 가중치 평균과 이전 비트 카운트 Bprev에 의하여 이루어질 수 있는데, 예를 들면, 하기의 수학식 5와 같이 나타낼 수 있다.
T=0.8T + 0.2Bprev
상기 단계 116은 갑작스런 움직임이 존재하더라도 상기 알고리즘이 프레임의 공간 품질을 유지할 수 있도록 하며, 장면 움직임이 감소하면 상기 알고리즘을 빠르게 회복시킨다.
한편, 상기 큰 움직임은 현재 움직임이 보상된 왜곡(S)과 이전 움직임 보상된 왜곡의 가중치 평균(Sp) 사이의 비교에 의하여 검출할 수 있다. 일 실시예에서, 타깃 T의 조절은 스무스한 곡선에 접근하도록 선택된 세 개의 선형 세그먼트(linear segment)에 의해 수행되며, 하기의 수학식 6과 같다.
여기서 인자(factor)는이다.
PB 또는 P 프레임을 사용하는 코더에 대한 프레임 레벨 속도 제어
상기에서 기술된 방법은 P 프레임만을 코딩하도록 설계되었다. 이 부분에서는 PB 프레임을 가지는 코더로 확장된다.
즉, P 프레임과 PB 프레임이 혼합되어 있을 때, P 프레임에 대한 지연은 PB 프레임의 B 프레임에 대한 지연보다 상당히 낮다(같은 스킵에 대하여). 설명의 편의를 위해, 상기 알고리즘은 일정한 프레임 스킵 fs에서 동작한다고 가정한다. 상기의 경우, 디코더에서 통상적 P-온리 프레임에 대한 포착 순간에서부터 가용 시기까지의 전체 시스템 지연은 다음의 수학식 7과 같이 나타난다.
동시에, 통상적 PB 프레임의 B 프레임에 대한 지연은 다음의 수학식 8과 같이 나타난다.
일반적으로, VBVf_b는 P 프레임에서보다 PB 프레임에서 더 낮은데, 왜냐 하면 PB 프레임은 인코딩하기 전에 P 프레임(즉, P 프레임은 통상 이전 기준 프레임으로부터 2*fs이므로 버퍼를 더 많이 소모함)을 기다려야 하기 때문이다.
따라서, P 및 PB 프레임이 혼합되어 있을 때, P 프레임에 대한 지연은 PB 프레임에 대한 지연보다 작다. 이때, 상기 지연을 동일하기 유지하려면, 다음과 같은 지침(guideline)이 적용될 수 있다.
1. P-온리 프레임을 인코딩하기 전의 VBVf_b는, PB 프레임을 인코딩하기 전의 VBVf_b보다 더 많은 fs*Bpp이다.
2. 각각의 P 프레임은 디스플레이되기 전에 디코더에서 fs*Bpp/R만큼 지연된다.
도 2는 본 발명의 일 실시예로서, 상기 지침에 의한 프레임 스키핑 과정을 보인 흐름도이다. 이 방법에 따르면,
1. 먼저, P-온리 경우에서 사용된 방법을 근거로 하여 이전 기준 프레임 이후에 스킵을 결정한다(단계 202). 이 경우의 유일한 차이점은 이전 프레임이 있던 곳에 PB 프레임이 온다는 것이다. 상기의 경우, 이전 프레임을 인코딩하는데 사용된 비트수(Bprev)는 한 개 프레임에 요구되는 비트수의 두 배이며, 현재 프레임에 대한 비트수가 추정될 때는 2로 나누어진다.
2. 그리고 나서, 현재 프레임을 P 프레임으로 코딩할지 여부를 결정하기 위해 PB 결정을 수행한다. 이 방법은, H.263 PB 프레임이 큰 움직임에 대해서는 잘작용하지 못한다는 관찰에 근거한다(이 문장은 향상된 PB 모드에서는 반드시 맞는 것은 아니다). 따라서, 큰 움직임이 검출되면(단계 204 내지 단계 208), 현재 프레임을 P 프레임으로 인코딩하도록 결정된다(단계 210).
상기 큰 움직임 검출 방법의 일 예가 다음 절에서 기술된다. 만일, 현재 프레임을 P 프레임으로 인코딩하도록 선택되면, P 프레임을 인코딩한 후 단계 202로 되돌아간다.
3. 한편, 큰 움직임이 검출되지 않아 PB 프레임으로 코딩되면, 버퍼 충만도에 의해 PB 프레임의 B 프레임과 P 프레임 사이의 스킵을 결정한다(단계 212). 일 예로, 스킵은 다음의 수학식 9와 같이 결정한다.
VBV_충만도 + max(Bprev, 2*fs*Bpp) < ssbs
상기 수학식 9에 따르면, PB 프레임을 인코딩한 후의 버퍼 충만도는 고정 상태 버퍼 크기인 ssbs보다 작아야 한다. 그리고, 상기 max(Bprev, 2*fs*Bpp)은 프레임에 대한 비트수를 추정하기 위해 사용된다. 그러므로, 스킵은 인코딩한 후의 버퍼 충만도가 ssbs 아래로 떨어질 때까지 실행된다. 그리고 나서, 현재 프레임은 PB 프레임으로 인코딩하고 단계 202로 간다(단계 214).
한편, 큰 움직임이 PB 프레임의 B 프레임과 P 프레임 사이에서 검출된 경우에는 이 프레임을 위해 PB 모드를 오프시키며 'PB' 프레임의 P 프레임은 P-온리 프레임으로 인코딩된다. 이러한 상황은 시퀀스 내에서 자주 일어나지 않아야 한다.
PB 결정을 위한 움직임 검출 (Motion Detection for the PB Decision)
상기 기술된 PB 결정은 큰 움직임 검출기(detector)를 필요로 한다. 이 검출기는 다음과 같이 실행될 수 있다.
1. 움직이는 블록 수(M1)를 결정한다(단계 204). 상기 움직임 블록 수는 원 프레임 차이(raw frame difference) 또는, 움직임이 보상된 프레임 차이 및 움직임 필드(motion field)로부터 결정될 수 있다. 만일, 움직임 추정이 수행되면, M1은 0이 아닌 움직임 벡터를 가지는 블록 수가 된다. 반대의 경우, M1은 일부 특정 임계 레벨보다 큰 왜곡 지수를 가지는 블록 수가 된다(예를 들어, SAD > 100).
2. 다시 원 프레임 차이 또는 움직임이 보상된 프레임 차이 및 움직임 필드에 의하여, 큰 움직임을 가지는 블록 수(M2)를 결정한다(단계 206). 만일, 움직임 추정이 수행되면, M2는 움직임 벡터가 특정 임계 레벨보다 더 큰 값을 가지는 블록 수가 된다. 한편, 움직임 추정이 사용되지 않는다면, M2는 일부 특정 큰 움직임 임계 레벨보다 큰 왜곡 지수를 가지는 블록 수가 된다(예를 들어, SAD>750).
3. 이때, M2/M1이 특정 임계 레벨보다 큰지를 비교하여(단계 208) 크다면(예를 들어, 1.15), 현재 프레임을 P 프레임으로 코딩한다(단계 210). 반대의 경우, 현재 프레임을 PB 프레임으로 코딩한다(단계 212 내지 214).
한편, 본 발명은 방법 및 그 방법을 실행하는 장치의 형태로 실시될 수 있다. 또한, 본 발명은 플로피 디스크, CD-ROM, 하드 드라이브, 기타 기계로 판독 가능한 저장 매체와 같은, 유형(tangible) 매체들에서 실시되는 프로그램 코드의 형태로 실시될 수 있는데, 그러한 점에서 프로그램 코드가 컴퓨터와 같은 기계에 탑재되어 실행될 때, 그 기계는 본 발명을 실행하는 장치가 되는 것이다. 또한, 본 발명은 프로그램 코드의 형태로도 실시될 수 있는데, 예를 들어 저장 매체에 저장된 후, 기계에 탑재되어 및/또는 기계에 의해 실행되거나, 또는 전선이나 케이블을 경유하거나, 광섬유를 통하거나, 또는 전자기의 방사능을 거치거나 하는 것과 같이 어떤 전송 매체를 경유하여 전송되며 이때 프로그램 코드가 컴퓨터와 같은 기계에 탑재되어 실행되어지면 그 기계는 본 발명을 실행하는 장치가 되는 것이다. 일반적인 용도의 처리 장치(general-purpose processor)에서 실행되었을 때, 프로그램 코드 세그먼트(program code segment)는 특정 논리회로에까지 유사하게 작용하는 특수 장치를 제공하기 위하여 처리 장치와 결합한다.
이상에서와 같이 본 발명의 프레임 레벨 속도 제어는 특히, 실시간의 초저 비트 속도 코더(very low bit-rate coder)에 적용 가능하다. 또한, 본 발명의 알고리즘은 PB 프레임을 사용하는 코더는 물론 P 프레임만을 사용하는 코더에 의해서도 실행될 수 있는데, 이는 H.263+ 표준의 TMN8 테스트 모델과 비교했을 때 추가된 기능이다. 그리고, 상기 알고리즘은 버퍼 지연 변수(buffer delay variable)를 제공하는데, 상기 버퍼 지연 변수는 지연을 시간에 대한 공간 품질의 스무스한 변화로 바꾸기 위해 사용자에 의하여 선택될 수 있다. 또한, 프레임에 대한 타깃 비트 할당을 장면 내용에 적합하게 조정함으로써, 움직임이 큰 영역에서의 공간적 품질이 유지되고 갑작스런 움직임 이후의 빠른 회복이 가능하며, 동시에 원하는 한계 내에서 버퍼 지연을 유지할 수 있다.
이상 본 발명의 본질을 설명하기 위해 기술과 묘사된 세부 항목, 자료 및 각 부분들의 배열에 있어서의 다양한 변형들은, 다음의 청구항에 나타나 있듯이 본 발명의 원리 및 영역을 벗어남 없이 해당 분야의 전문가들에 의하여 만들어질 수 있다.

Claims (22)

  1. 비디오 시퀀스에서 현재 프레임에 대한 타깃 비트 속도를 선택하기 위하여 상기 비디오 시퀀스의 비디오 압축 처리를 수행하는 기계에 의해 비트 속도를 제어하는 방법에 있어서,
    (a) 상기 비디오 시퀀스에서 이전 M 프레임을 인코딩하는데 사용되는 비트수를 산출하는 단계(여기서, M은 특정 프레임 수);
    (b) 상기 비디오 시퀀스에서 N 프레임을 인코딩하는데 이용 가능한 특정 비트수에 해당하는 다중 프레임 비트 다발에서 이전 M 프레임을 인코딩하는데 사용되는 비트 수를 감산하여, 상기 다중 프레임 비트 다발의 사용되지 않은 부분에서 이용 가능한 비트수를 산출하는 단계(여기서, N은 특정 프레임 수, M < N);
    (c) 상기 다중 프레임 비트 다발의 사용되지 않은 부분을 (N-M)으로 나누어, 현재 프레임에 대한 타깃 비트 속도를 산출하는 단계; 및
    (d) 상기 발생된 타깃 비트 속도로 현재 프레임을 인코딩하는 단계를 포함하여 이루어지는 것을 특징으로 하는 비트 속도 제어 방법.
  2. 제 1항에 있어서,
    상기 단계 (c)는 양자화기 포화의 존재에 의해 타깃 비트 속도를 조절하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 비트 속도 제어 방법.
  3. 제 2 항에 있어서,
    상기 단계 (c)는 이전 프레임에 대한 양자화기 매개변수가 특정 임계 레벨보다 크면 상기 타깃 비트 속도를 증가시키는 단계를 포함하여 이루어지는 것을 특징으로 하는 비트 속도 제어 방법.
  4. 제 1항에 있어서,
    상기 단계 (c)는 현재 및 이전 왜곡 레벨에 의해 타깃 비트 속도를 조절하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 비트 속도 제어 방법.
  5. 제 4 항에 있어서,
    상기 단계 (c)는 타깃 비트 속도 T를 다음과 같이 조절하는 단계를 포함하며,
    여기서, S는 현재 프레임에 대해 움직임 보상된 왜곡 레벨이고, Sp는 이전 프레임 수에 대해 움직임 보상된 평균 왜곡이며, k는 1보다 큰 특정 매개변수인 것을 특징으로 하는 비트 속도 제어 방법.
  6. 제 5 항에 있어서,
    상기 Sp는 가장 최근의 프레임을 강조하는 가중치 평균인 것을 특징으로 하는 비트 속도 제어 방법.
  7. 제 1 항에 있어서,
    상기 단계 (c)는 이전 프레임을 인코딩하기 위해 사용된 비트수에 의해 타깃 비트 속도를 조절하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 비트 속도 제어 방법.
  8. 제 7 항에 있어서,
    상기 단계 (c)는 타깃 비트 속도 T를 다음과 같이 조절하는 단계를 포함하며,
    여기서, Bprev는 이전 프레임을 인코딩하는데 사용되는 비트수이고, α는 0≤α≤1와 같은 조건을 갖는 특정 매개변수인 것을 특징으로 하는 비트 속도 제어 방법.
  9. 제 1 항에 있어서,
    상기 단계 (c)는 버퍼 충만도에 의해 타깃 비트 속도를 조절하는 단계를 더 포함하여 이루어지는 것을 특징을 하는 비트 속도 제어 방법.
  10. 제 9 항에 있어서,
    상기 단계 (c)는 다음과 같이 타깃 비트 속도 T를 조절하는 단계를 포함하며,
    여기서, a는 현재 인코딩되는 프레임 비트를 버퍼에 저장하기 전의 버퍼 충만도와 같은 매개변수, b는 ssbs-a와 같은 매개변수이고, 여기서 ssbs는 고정 상태 버퍼 크기와 동일한 매개변수이며, λ는 1보다 큰 특정 매개변수인 것을 특징으로 하는 비트 속도 제어 방법.
  11. 제 1 항에 있어서,
    상기 단계 (c)는 움직임 특성에 의해 타깃 비트 속도를 조절하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 비트 속도 제어 방법.
  12. 제 11 항에 있어서,
    상기 단계 (c)는 S/Sp의 함수로 타깃 비트 속도를 조절하는 단계를 포함하며,
    여기서 S는 현재 프레임에 대해 움직임 보상된 왜곡 레벨과 같은 매개변수이고, Sp는 이전 프레임 수에 대해 움직임 보상된 평균 왜곡 레벨과 같은 매개변수인 것을 특징으로 하는 비트 속도 제어 방법.
  13. 제 12 항에 있어서,
    상기 함수는 S/Sp를 타깃 비트 속도를 조정하는데 사용되는 인자에 부합시키는 다수의 선형 세그먼트로서 수행되는 것을 특징으로 하는 비트 속도 제어 방법.
  14. 제 1 항에 있어서, 상기 단계 (c)는
    (1) 양자화기 포화의 존재에 의해 타깃 비트 속도를 조절하는 단계;
    (2) 현재 및 이전 왜곡 레벨에 의해 타깃 비트 속도를 조절하는 단계;
    (3) 이전 프레임을 인코딩하기 위해 사용된 비트수에 의해 타깃 비트 속도를 조절하는 단계;
    (4) 버퍼 충만도에 의해 타깃 비트 속도를 조절하는 단계; 및
    (5) 움직임 특성에 의해 타깃 비트 속도를 조절하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 비트 속도 제어 방법.
  15. 제 14 항에 있어서,
    상기 단계 (c)(1)은 이전 프레임에 대한 양자화기 매개변수가 특정 임계 레벨보다 클 경우 타깃 비트 속도 T를 증가시키는 단계를 포함하고;
    상기 단계 (c)(2)는 다음과 같이 타깃 비트 속도 T를 조절하는 단계를 포함하고;
    (여기서, S는 현재 프레임에 대하여 움직임 보상된 왜곡 레벨이고, Sp는 이전 프레임 수에 대한 가중 평균 움직임 보상된 왜곡이며, k는 1보다 큰 특정 매개변수임)
    상기 단계 (c)(3)은 타깃 비트 속도 T를 다음과 같이 조절하는 단계를 포함하고;
    (여기서, Bprev는 이전 프레임을 인코딩하는데 사용되는 비트수, α는 0<=α<=1인 특정 매개변수임)
    상기 단계 (c)(4)는 타깃 비트 속도 T를 다음과 같이 조절하는 단계를 포함하고;
    (여기서, a는 현재 인코딩되는 프레임을 버퍼에 저장하기 전의 버퍼 충만도와 동일한 매개변수이고, b는 ssbs-a와 동일한 매개변수이며, 여기서 ssbs는 고정 상태 버퍼 크기와 동일한 매개변수이며, λ는 1보다 큰 특정 매개변수임)
    상기 산출 단계 (c)(5)는 타깃 비트 속도를 S/Sp의 함수로서 조절하는 단계(여기서, S는 현재 프레임에 대하여 움직임 보상된 왜곡 레벨과 동일한 매개변수이며, Sp는 이전 프레임수에 대하여 평균 움직임 보상된 왜곡 레벨과 동일한 매개변수이며, 상기 함수는 S/Sp를 타깃 비트 속도에 부합시키는 다수의 선형 세그먼트로서 실행됨)를 포함하여 이루어지는 것을 특징으로 하는 비트 속도 제어 방법.
  16. 영상 데이터를 처리할 수 있는 명령을 포함한 다수의 명령이 저장된 컴퓨터 판독 가능한 매체를 갖는 처리기에서의 영상 데이터 처리 방법에 있어서,
    (a) 비디오 시퀀스의 이전 M 프레임을 인코딩하는데 사용되는 비트수를 산출하는 단계(여기서 M은 특정 프레임 수);
    (b) 비디오 시퀀스의 N 프레임을 인코딩하는데 이용 가능한 특정 비트수에 해당하는 다중 프레임 비트 다발에서 이전 M 프레임을 인코딩하는데 사용되는 비트수를 감산함에 의해, 다중 프레임 비트 다발의 사용되지 않은 부분에 대하여 이용 가능한 비트수를 산출하는 단계(여기서 N은 특정 프레임 수이고, M < N 임);
    (c) 다중 프레임 비트 다발의 사용되지 않은 부분을 (N-M)으로 나눔에 의해 현재 프레임에 대한 타깃 비트 속도를 산출하는 단계; 및
    (d) 상기 타깃 비트 속도로 현재 프레임을 인코딩하는 단계를 포함하여 이루어지는 것을 특징으로 하는 영상 데이터 처리 방법.
  17. 제 16 항에 있어서,
    상기 단계 (c)는 양자화기 포화의 존재에 의해 타깃 비트 속도를 조절하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 영상 데이터 처리 방법.
  18. 제 16 항에 있어서,
    상기 단계 (c)는 현재 및 이전 왜곡 레벨에 의해 타깃 비트 속도를 조절하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 영상 데이터 처리 방법.
  19. 제 16 항에 있어서,
    상기 단계 (c)는 이전 프레임을 인코딩하는데 사용된 비트수에 의해 타깃 비트 속도를 조절하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 영상 데이터 처리 방법.
  20. 제 16 항에 있어서,
    상기 단계 (c)는 버퍼 충만도에 의해 타깃 비트 속도를 조절하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 영상 데이터 처리 방법.
  21. 제 16 항에 있어서,
    상기 단계 (c)는 움직임 특성에 의해 타깃 비트 속도를 조절하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 영상 데이터 처리 방법.
  22. 제 16 항에 있어서, 상기 단계 (c)는
    (1) 양자화기 포화의 존재에 의해 타깃 비트 속도를 조절하는 단계와;
    (2) 현재 및 이전 왜곡 레벨에 의해 타깃 비트 속도를 조절하는 단계와;
    (3) 이전 프레임을 인코딩하기 위해 사용된 비트수에 의해 타깃 비트 속도를 조절하는 단계와;
    (4) 버퍼 충만도에 의해 타깃 비트 속도를 조절하는 단계; 및
    (5) 움직임 특성에 의해 타깃 비트 속도를 조절하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 영상 데이터 처리 방법.
KR1019990040208A 1998-09-18 1999-09-17 프레임 레벨 속도 제어 방법 KR100335052B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US10093998P 1998-09-18 1998-09-18
US60/100,939 1998-09-18
US09/196,821 1998-11-20
US09/196,821 US6141380A (en) 1998-09-18 1998-11-20 Frame-level rate control for video compression
US9/196,821 1998-11-20

Publications (2)

Publication Number Publication Date
KR20000023276A KR20000023276A (ko) 2000-04-25
KR100335052B1 true KR100335052B1 (ko) 2002-05-02

Family

ID=26797721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990040208A KR100335052B1 (ko) 1998-09-18 1999-09-17 프레임 레벨 속도 제어 방법

Country Status (4)

Country Link
US (1) US6141380A (ko)
JP (1) JP3436507B2 (ko)
KR (1) KR100335052B1 (ko)
WO (1) WO2000018137A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526097B1 (en) 1999-02-03 2003-02-25 Sarnoff Corporation Frame-level rate control for plug-in video codecs
US6741648B2 (en) * 2000-11-10 2004-05-25 Nokia Corporation Apparatus, and associated method, for selecting an encoding rate by which to encode video frames of a video sequence
JP4534106B2 (ja) * 2000-12-26 2010-09-01 日本電気株式会社 動画像符号化システム及び方法
US7209519B2 (en) * 2001-04-16 2007-04-24 Mitsubishi Electric Research Laboratories, Inc. Encoding a video with a variable frame-rate while minimizing total average distortion
US6891889B2 (en) * 2001-09-05 2005-05-10 Intel Corporation Signal to noise ratio optimization for video compression bit-rate control
JP3781706B2 (ja) * 2001-10-05 2006-05-31 川崎重工業株式会社 灰溶融型uファイアリング燃焼ボイラの運転方法
KR20040077788A (ko) * 2002-01-24 2004-09-06 코닌클리케 필립스 일렉트로닉스 엔.브이. Pb 프레임들 모드에서의 비디오 화상들 코딩
MXPA05002511A (es) * 2002-09-05 2005-08-16 Agency Science Tech & Res Un metodo y un aparato para controlar la velocidad de una secuencia de video; un dispositivo que codifica un video.
US7031392B2 (en) * 2002-09-20 2006-04-18 Seiko Epson Corporation Method and apparatus for video deblocking
US20050169369A1 (en) * 2004-02-03 2005-08-04 Sony Corporation Scalable MPEG video/macro block rate control
US7697608B2 (en) * 2004-02-03 2010-04-13 Sony Corporation Scalable MPEG video/macro block rate control
KR101058524B1 (ko) 2004-07-22 2011-08-23 삼성전자주식회사 비트량 제어장치 및 제어방법
JP4655191B2 (ja) * 2004-09-02 2011-03-23 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
DE112005003628T5 (de) * 2005-07-14 2008-05-21 Intel Corporation, Santa Clara Verfahren und Vorrichtung zur Ratensteuerung
US8249070B2 (en) * 2005-12-29 2012-08-21 Cisco Technology, Inc. Methods and apparatuses for performing scene adaptive rate control
US8107537B2 (en) * 2006-02-02 2012-01-31 Sharp Laboratories Of America, Inc. Picture layer rate control for video encoding
WO2008070987A1 (en) 2006-12-12 2008-06-19 Vantrix Corporation An improved video rate control for video coding standards
GB0708440D0 (en) 2007-05-02 2007-06-06 Film Night Ltd Data transmission
EP2160903B1 (en) * 2007-06-19 2016-03-02 Vantrix Corporation A buffer-based rate control exploiting frame complexity, buffer level and position of intra frames in video coding
FR2932938B1 (fr) * 2008-06-19 2012-11-16 Canon Kk Procede et dispositif de transmission de donnees
JP5765920B2 (ja) * 2010-11-16 2015-08-19 キヤノン株式会社 送信装置および送信方法
US9532080B2 (en) 2012-05-31 2016-12-27 Sonic Ip, Inc. Systems and methods for the reuse of encoding information in encoding alternative streams of video data
CN102724502B (zh) * 2012-06-11 2015-08-19 华为技术有限公司 一种视频编码中码率的控制方法及装置
US9357210B2 (en) 2013-02-28 2016-05-31 Sonic Ip, Inc. Systems and methods of encoding multiple video streams for adaptive bitrate streaming
US20140281034A1 (en) * 2013-03-13 2014-09-18 Futurewei Technologies, Inc. System and Method for Compressing Data Associated with a Buffer
US20140321533A1 (en) * 2013-04-29 2014-10-30 Ati Technologies Ulc Single-path variable bit rate video compression
CN108124155B (zh) * 2016-11-30 2021-02-05 阿里巴巴集团控股有限公司 一种码率控制方法、装置及电子设备
KR102521054B1 (ko) 2017-10-18 2023-04-12 삼성전자주식회사 조기 중단에 기반한 심층 신경망의 연산 제어 방법 및 시스템
US10979744B2 (en) 2017-11-03 2021-04-13 Nvidia Corporation Method and system for low latency high frame rate streaming
US11882188B2 (en) * 2019-12-23 2024-01-23 Sony Interactive Entertainment Inc. Methods and systems for maintaining smooth frame rate during transmission of streaming video content
US20230078190A1 (en) * 2021-09-15 2023-03-16 Synaptics Incorporated Image compression method and apparatus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US145044A (en) * 1873-12-02 Improvement in concaves for thrashing-machines
KR0145044B1 (ko) * 1994-01-12 1998-07-15 김광호 디지탈 비데오 테이프 레코더의 부호비트 고정방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2068751C (en) * 1991-05-24 1998-05-19 Tokumichi Murakami Image coding system
BE1007490A3 (nl) * 1993-09-10 1995-07-11 Philips Electronics Nv Inrichting voor het overdragen van een pluraliteit van televisie signalen over een transmissie kanaal.
BE1007808A3 (nl) * 1993-11-30 1995-10-24 Philips Electronics Nv Inrichting voor het coderen van een videosignaal.
JP2935334B2 (ja) * 1994-07-28 1999-08-16 日本電気株式会社 符号量制御方法
JP2882287B2 (ja) * 1994-08-22 1999-04-12 日本電気株式会社 動画像符号化装置
US6026190A (en) * 1994-10-31 2000-02-15 Intel Corporation Image signal encoding with variable low-pass filter

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US145044A (en) * 1873-12-02 Improvement in concaves for thrashing-machines
KR0145044B1 (ko) * 1994-01-12 1998-07-15 김광호 디지탈 비데오 테이프 레코더의 부호비트 고정방법 및 장치

Also Published As

Publication number Publication date
JP3436507B2 (ja) 2003-08-11
US6141380A (en) 2000-10-31
WO2000018137A1 (en) 2000-03-30
KR20000023276A (ko) 2000-04-25
JP2000102008A (ja) 2000-04-07

Similar Documents

Publication Publication Date Title
KR100335052B1 (ko) 프레임 레벨 속도 제어 방법
US7653129B2 (en) Method and apparatus for providing intra coding frame bit budget
EP1551186B1 (en) Video coding apparatus with resolution converter
US7903732B2 (en) Method and apparatus for encoding a moving-picture signal by calculating the complexity of the moving-picture signal
US20140376616A1 (en) Quantization parameter adjustment based on sum of variance and estimated picture encoding cost
MXPA05002511A (es) Un metodo y un aparato para controlar la velocidad de una secuencia de video; un dispositivo que codifica un video.
KR19990060795A (ko) 적응형 양자화 제어방법
JP2004166183A (ja) 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法
KR19990087265A (ko) 블록 바탕 비디오 코딩 시스템에서 동적 코딩 비율 제어
JP4362795B2 (ja) 動画像符号化装置及びその方法
US20050036548A1 (en) Method and apparatus for selection of bit budget adjustment in dual pass encoding
JP3889013B2 (ja) 動画像符号化装置及び動画像符号化方法
KR20040007818A (ko) 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치
JP4073444B2 (ja) 動画像符号化装置
KR100394014B1 (ko) 영상 변환 부호화 장치
JP3858520B2 (ja) 動画像符号化装置及びその方法
JP4249218B2 (ja) 画像符号化装置
JP2005303555A (ja) 動画像符号化装置および動画像符号化方法
JPH10108197A (ja) 画像符号化装置、画像符号化制御方法および画像符号化制御用プログラムを記録した媒体
KR0123243B1 (ko) 장면 전환시의 비트율 제어 방법
KR100949755B1 (ko) 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치
JP2007020216A (ja) 符号化装置、符号化方法、フィルタ処理装置およびフィルタ処理方法
KR100774455B1 (ko) 실시간 비디오 전송 응용을 위한 비트율 조절장치
KR100203702B1 (ko) 비트 발생량 조절기능을 갖는 영상 부호화 시스템
KR100203623B1 (ko) 비트 발생량 조절기능을 갖는 영상 부호화 시스템

Legal Events

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

Payment date: 20070329

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee