KR101017770B1 - 슬라이딩 윈도 채널 제약에 부합하는 멀티패스 비디오레이트 제어 - Google Patents

슬라이딩 윈도 채널 제약에 부합하는 멀티패스 비디오레이트 제어 Download PDF

Info

Publication number
KR101017770B1
KR101017770B1 KR1020057024733A KR20057024733A KR101017770B1 KR 101017770 B1 KR101017770 B1 KR 101017770B1 KR 1020057024733 A KR1020057024733 A KR 1020057024733A KR 20057024733 A KR20057024733 A KR 20057024733A KR 101017770 B1 KR101017770 B1 KR 101017770B1
Authority
KR
South Korea
Prior art keywords
sequence
quantization parameter
encoding
video
parameter values
Prior art date
Application number
KR1020057024733A
Other languages
English (en)
Other versions
KR20060086266A (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 KR20060086266A publication Critical patent/KR20060086266A/ko
Application granted granted Critical
Publication of KR101017770B1 publication Critical patent/KR101017770B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/164Feedback from the receiver or from the transmission channel
    • 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/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/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
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

네트워크 트래픽 모델 제약을 만족시키는 비디오 레이트 제어를 수행하기 위한 인코더(100) 및 대응 방법(200)을 개시하는데, 복수의 양자화 파라미터 값 각각에 대한 비디오 화면(video picture)의 시퀀스를 프리-인코딩(pre-encoding)하고, 비디오 시퀀스의 각각의 화면마다 복수의 양자화 파라미터 값 중 하나를 선택하며, 비디오 시퀀스의 각 화면을 그 화면을 위해 선택된 양자화 파라미터 값을 이용해 인코딩하는 것을 포함한다.
네트워크 트래픽 모델, 비디오 레이트 제어, 인코더, 디코더, 양자화 파라미터

Description

슬라이딩 윈도 채널 제약에 부합하는 멀티패스 비디오 레이트 제어{MULTIPASS VIDEO RATE CONTROL TO MATCH SLIDING WINDOW CHANNEL CONSTRAINTS}
관련 출원에 대한 상호 참조
본 출원은, "Multipass Video Rate Control to Match Sliding Window Channel Constraints"의 제목으로 2003년 6월 26일 출원한 미국 가출원 번호 제60/482,670호의 우선권을 주장하며, 그 전반적인 내용은 본 명세서에 참조로서 포함한다.
본 발명은 비디오 인코더 및 디코더(총괄적으로는 "CODEC") 분야에 관한 것으로서, 특히 비디오 레이트 제어하는 CODEC에 관한 것이다.
비디오 데이터는 일반적으로 비트 스트림의 형태로 처리 및 전송한다. VBR(Variable Bit Rate) 비디오 인코더는, 상대적으로 긴 시간 간격, 예를 들어 전체 프로그램 길이에 걸쳐 측정된 것과 동일한 평균 비트 레이트에 대해서는 CBR(Constant Bit Rate) 비디오 인코더보다 좋은 품질의 비디오 압축을 얻을 수 있다. VBR 인코딩된 비디오는 흔히 일정한 품질(Constant Quality) 비디오라고 부른다. 그 원인은, 비디오의 복잡도가 비디오 시퀀스 내내 변함에 따라, VBR 인코딩된 비디오를 생성하여 일정한 품질을 유지하기 때문이다. CBR 비디오 인코더는 통 상적으로 네트워크 트래픽 모델(traffic model)의 대역폭 요구조건을 만족시키기 위해 이용한다.
VBR 비디오는 일반적으로 고정된 대역폭 채널을 이용하지 않는 애플리케이션용으로 이용한다. VBR 비디오는, 예를 들어 DVD용으로 이용할 수도 있다. 유감스럽게도, 통신 네트워크는 통상적으로 CBR 비디오를 더욱 따르는 고정된 대역폭 링크를 구비한다. CBR 비디오에서, 인코딩된 비트 레이트는 일정하게 유지되는데, 이는 감지되는 비디오 품질을 변하게 한다. 이는 VBR 비디오보다 나쁜 사용자 경험을 발생시키는데, 그 원인은, CBR의 최악의 경우의 비디오 품질이 일반적으로 VBR의 일정한 품질 레벨보다 나쁘고, 사용자 인식은 더 나쁜 경우의 품질에 의해 크게 영향을 받기 때문이다.
<발명의 개요>
멀티패스 인코딩 기술을 이용하여 미리 저장된 비디오 콘텐츠에 대한 비디오 레이트 제어를 수행하면서, 네트워크 트래픽 모델의 제약(restriction)을 초과하지 않기 위한 시스템 및 방법은 종래기술의 상술한 결점 및 단점을 처리한다.
네트워크 트래픽 모델 제약을 만족시키는 비디오 레이트 제어를 수행하기 위한 인코더, 디코더 및 대응 방법을 개시하는데, 복수의 양자화 파라미터 값 각각에 대한 비디오 화면(video picture)의 시퀀스를 프리-인코딩(pre-encoding)하고, 비디오 시퀀스의 각각의 화면마다 복수의 양자화 파라미터 값 중 하나를 선택하며, 비디오 시퀀스의 각 화면을 그 화면을 위해 선택된 양자화 파라미터 값을 이용해 인코딩하는 것을 포함한다.
본 발명의 이와 같은 양상, 특징 및 장점은, 첨부한 도면을 참조하면서 이하의 예시적인 실시예에 대한 설명을 판독함으로써 명백해질 것이다.
본 발명은, 멀티패스 인코딩 기술을 이용하여 미리 저장된 비디오 콘텐츠에 대한 비디오 레이트 제어를 수행하면서, 네트워크 트래픽 모델의 제약을 초과하지 않기 위한 시스템 및 방법에 관한 것으로서, 이하의 예시적인 도면에 따르면,
도 1은 본 발명의 원리에 따른 비디오 레이트 제어를 이용하는 비디오 인코더에 대한 블록도를 도시한다.
도 2A 및 2B는 본 발명의 원리에 따른 인코딩 프로세스에 대한 플로차트를 도시한다.
도 3은 본 발명의 원리에 따른 비디오 레이트 제어를 이용하는 비디오 디코더에 대한 블록도를 도시한다.
이하에서는 본 발명의 원리를 설명한다. 본 기술분야의 숙련자는, 본 명세서에 명시적으로 기술 또는 도시하지는 않지만, 본 발명의 원리를 구현하고, 본 발명의 사상 및 범위에 포함되는 다양한 장치(arrangement)를 고안할 수 있다는 점을 인식하게 될 것이다. 또한, 본 명세서에서 인용하는 모든 예 및 조건은, 발명자가 본 기술분야에 기여하는 본 발명의 원리 및 개념을 독자가 이해하도록 돕는 교육적인 목적을 위한 것이며, 그와 같이 구체적으로 인용한 예 및 조건에 한정하지 않도록 해석한다. 더욱이, 본 발명의 원리, 양상 및 실시예를 인용하는 본 명세서의 모든 문장뿐만 아니라 구체적인 예는, 본 발명의 구조적 그리고 기능적 동등물을 모두 포함한다. 추가로, 그러한 동등물은 현재 알려진 동등물뿐만 아니라 앞으로 개발되는 동등물, 즉 구조에 관계없이 동일한 기능을 수행하도록 개발되는 어떤 엘리먼트를 모두 포함한다.
따라서, 예를 들어 본 기술분야의 숙련자는, 본 명세서에 제공한 블록도가 본 발명의 원리를 구현하는 예시적인 회로의 개념도를 나타낸다는 점을 인식하게 될 것이다. 유사하게, 임의의 플로차트, 흐름도, 상태 천이도, 의사 코드(pseudo code) 등은, 컴퓨터 판독가능 매체에서 실질적으로 표현할 수도 있고, 컴퓨터 또는 프로세서가 명백하게 도시되는지 여부에 따라 컴퓨터 또는 프로세서가 실행할 수도 있는 다양한 프로세스를 표현한다는 점을 인식하게 될 것이다.
도면에서 도시한 다양한 엘리먼트의 기능은, 전용 하드웨어뿐만 아니라, 적합한 소프트웨어와 관련된 소프트웨어를 실행할 수 있는 하드웨어를 이용하여 제공할 수도 있다. 프로세서가 제공하는 경우, 하나의 전용 프로세서, 하나의 공유 프로세서, 또는 개별 프로세서 중 일부를 공유할 수도 있는 복수의 개별 프로세서가 기능을 제공할 수도 있다. 더욱이, 용어 "프로세서" 또는 "컨트롤러(controller)"의 사용은, 오로지 소프트웨어를 실행할 수 있는 하드웨어를 의미하는 것으로서 해석해서는 안 되고, DSP(digital signal processor) 하드웨어, 소프트웨어를 저장하기 위한 ROM, RAM 및 비휘발성 스토리지(storage)를 함축적으로 포함할 수도 있지만, 이에 한정하지는 않는다. 종래 및/또는 관습적인 다른 하드웨어를 포함할 수도 있다. 유사하게, 도면에 도시한 어떤 스위치는 개념적이다. 그 기능은, 프로 그램 로직(logic)의 동작, 전용 로직, 프로그램 컨트롤 및 전용 로직의 상호작용을 통해, 또는 전후 관계(context)로부터 더욱 구체적으로 이해한 실행자(implementer)가 선택할 수 있는 특정 기술을 통해 수동으로 수행할 수도 있다.
본 명세서의 청구범위에서, 지정된 기능을 수행하기 위한 수단으로서 표현되는 어떤 엘리먼트는 그 기능을 수행하는 어떤 방식, 예를 들어 a) 그 기능을 수행하는 회로 엘리먼트의 조합 또는 b) 그 기능을 수행하는 소프트웨어를 실행하기 위한 적합한 회로로 조합된 펌웨어, 마이크로코드 등을 포함하는 어떤 형태의 소프트웨어를 포함한다. 그러한 청구범위에서 정의하는 본 발명은, 다양하게 인용한 수단이 제공하는 기능은 청구범위가 요구하는 방식으로 서로 조합 및 결합한다는 점을 내포한다. 따라서 출원인은 그러한 기능을 본 명세서에서 도시한 동일한 기능으로서 제공할 수 있는 어떤 수단을 고려한다.
도 1에 도시한 바와 같이, 비디오 인코더는 일반적으로 참조번호 100으로 나타낸다. 인코더(100)에 대한 입력은 합산기(summing junction)(110)의 비반전(non-inverting) 입력과 신호 통신하여 연결된다. 합산기(110)의 출력은 변환 기능 블록(120)과 신호 통신하여 연결된다. 변환기(transformer)(120)는 양자화기(quantizer)(130)와 신호 통신하여 연결된다. 양자화기(130)의 출력은 VLC(variable length coder)(140)와 신호 통신하여 연결되고, VLC(140)의 출력은 인코더(100)의 외부에서 이용가능한 출력이다.
양자화기(130)의 출력은 역양자화기(inverse quantizer)(150)와 신호 통신하여 또한 연결된다. 역양자화기(150)는 역변환 기능 블록(160)과 신호 통신하여 연 결되고, 그 기능 블록은 기준 화면 저장부(170)와 신호 통신하여 차례로 연결된다. 기준 화면 저장부(170)의 제1 출력은 모션 추정기(motion estimator)(180)의 제1 입력과 신호 통신하여 연결된다. 인코더(100)에 대한 입력은 모션 추정기(180)의 제2 입력과 신호 통신하여 또한 연결된다. 모션 추정기(180)의 출력은 모션 보상기(motion compensator)(190)의 제1 입력과 신호 통신하여 연결된다. 기준 화면 저장부(170)의 제2 출력은 모션 보상기(190)의 제2 입력과 신호 통신하여 연결된다. 모션 보상기(190)의 출력은 합산기(110)의 반전 입력과 신호 통신하여 연결된다.
이제, 도 2A 및 2B를 참조하면, 복수의 초기 패스(initial pass)를 도시하는데, 특정한 ME(motion estimation)를 이용하는 패스, 공유된 ME를 이용하는 패스를 거쳐 판정 프로세스 및 최종 패스(final pass)에 도달한다. 도 2A는 MV(motion vector)가 각각의 QP 인코딩마다 계산되는 인코더의 버전을 도시한다. 도 2B는 MV 값이 모든 QP 패스를 위해 재이용되는 또 다른 버전을 도시한다.
도 2A에서, 복수의 초기 패스 각각에 대해 특정한 모션 추정(ME)으로 영상 블록용 비디오 신호 데이터를 인코딩하기 위한 예시적인 프로세스는 일반적으로 참조번호 210으로 나타낸다. 프로세스(210)는 기능 블록 214를 진행시키는 시작 블록 212를 포함한다. 기능 블록 214는 테스트할 QP 값의 세트를 선택하고, 기능 블록 216으로 진행한다. 기능 블록 216은 값 "q"를 하한(low limit)에서 상한(high limit)까지 증가시키기 위한 루프를 개시하고, 모션 벡터 보상으로 시퀀스를 인코딩하기 위한 서브프로그램 블록 218로 진행한다. 서브프로그램 블록 218은 차트 410으로서 정의한다. 블록 218은 루프의 종료 블록 220으로 차례로 진행하다. 루프 216∼220 후, 블록 222는 값 "i"를 프레임 0에서 프레임의 수(number)까지 증가시키기 위한 루프를 개시하고, 모션 벡터 보상으로 시퀀스를 인코딩하기 위한 제2 서브프로그램 블록 224로 진행한다. 서브프로그램 블록 224는, 예를 들어 인프라(infra)로 정의된 것처럼 현재 공개된 의사 코드(pseudo-code)에 의해 정의된다. 블록 224는 루프의 종료 블록 226으로 차례로 진행한다. 블록 226은 최종 패스 인코드 시퀀스를 위한 제3 서브프로그램 블록 228로 진행하고, 종료 블록 230으로 차례로 진행한다.
차트 410은 모션 벡터 보상으로 시퀀스를 인코딩하기 위한 서브프로그램 블록 218을 정의한다. 시작 블록 412는 기능 블록 414로 진행한다. 블록 414는 값 "i"를 프레임 0에서 프레임의 수까지 증가시키기 위한 루프를 개시한 다음, 프레임 i에 대한 모션 벡터를 계산하는 기능 블록 416으로 진행한다. 블록 418은, 입력으로부터 예측(prediction)을 빼 프레임 i에 대한 차(difference)를 형성하는 블록 420으로 진행한다. 블록 420은, 프레임 i에 대한 양자화 파라미터 q를 이용해 그 차를 인코딩하는 기능 블록 422로 차례로 진행한다. 블록 422는, 비트 수를 F[i]로서 저장하는 기능 블록 424로 진행한다. 블록 424는 루프의 종료 블록 426으로 진행한 다음, 종료 블록 428로 진행한다.
차트 510은 최종 패스 인코드 시퀀스를 실행하기 위한 서브프로그램 블록 228을 정의한다. 여기서, 시작 블록 512는 기능 블록 514로 진행한다. 블록 514는 루프 카운팅 값 "i"를 프레임 0에서 프레임의 수까지 카운트하는 루프를 증가시 키기 위한 루프를 개시한 다음, 프레임 i에 대한 모션 벡터를 계산하는 기능 블록 516으로 진행한다. 블록 518은, 입력으로부터 예측을 빼 프레임 i에 대한 차를 형성하는 블록 520으로 진행한다. 블록 520은, 프레임 i에 대한 양자화 파라미터 QP[i]를 이용해 그 차를 인코딩하는 기능 블록 522로 진행한다. 블록 522는 루프의 종료 블록 524로 진행한 다음, 종료 블록 526으로 진행한다.
도 2B를 참조하면, 복수의 초기 패스 각각에 대해 공유된 모션 추정(ME)으로 영상 블록용 비디오 신호 데이터를 인코딩하기 위한 예시적인 프로세스는 일반적으로 참조번호 610으로 나타낸다. 여기서, 시작 블록 612는, 루프 카운터 i를 프레임 0에서 프레임의 수까지 증가시키기 위한 루프 카운터 블록 614로 진행한다. 블록 614는 프레임 i에 대한 모션 벡터를 계산하는 기능 블록 616으로 진행한 다음, 루프의 종료 블록 618로 진행한다. 블록 618은, 테스트할 QP 값의 세트를 선택하기 위한 기능 블록 620으로 진행한다. 블록 622는 값 "q"를 하한에서 상한까지 증가시키기 위한 루프를 개시하고, 재이용되는 MV로 시퀀스를 인코딩하기 위한 제4 서브프로그램 블록 624로 진행한다. 서브프로그램 블록 624는 차트 710으로서 정의한다. 블록 624는 q 루프의 종료 블록 626으로 진행한다. 블록 626은, 루프 카운터 i를 프레임 0에서 프레임의 수까지 증가시키기 위한 루프 카운터 블록 628로 진행한다. 블록 628은, 프레임에 대한 QP를 발견하는 제2 서브프로그램 블록 630으로 진행한다. 제2 서브프로그램 블록은, 예를 들어 공개된 의사 코드에 의해 이전에 정의되었다. 블록 630은 i 루프의 종료 블록 632로 진행한다. 블록 632는, 차트 510에 의해 이전에 정의한 바와 같이, 최종 패스 인코드 시퀀스를 실행하는 제3 서브프로그램 블록 634로 차례로 진행한다. 블록 634는 종료 블록 636으로 진행한다.
차트 710은 재이용되는 모션 벡터로 시퀀스를 인코딩하기 위한 서브프로그램 블록 624를 정의한다. 시작 블록 712는, 루프 카운터 i를 프레임 0에서 프레임의 수까지 증가시키기 위한 루프 카운터 블록 714로 진행한다. 블록 714는, 프레임 i에 대한 예측자(predictor)를 형성하도록 모션 보상하는 기능 블록 716으로 진행한다. 블록 716은, 입력으로부터 예측을 빼 프레임 i에 대한 차를 형성하는 기능 블록 718로 진행한다. 블록 718은, 프레임 i에 대한 QP[i]를 이용해 그 차를 인코딩하는 블록 720으로 차례로 진행한다. 블록 720은, 비트 수를 F[i]로서 저장하는 기능 블록 722로 진행한 다음, i 루프의 종료 블록 724로 진행한다. 블록 724는 종료 블록 726으로 진행한다.
도 3에 도시한 바와 같이, 비디오 디코더는 일반적으로 참조번호 300으로 나타낸다. 비디오 디코더(300)는, 역양자화기(320)와 신호 통신하여 연결되는 VLD(variable length decoder)(310)를 포함한다. 역양자화기(320)는 역변환기(330)와 신호 통신하여 연결된다. 역변환기(330)는 애더(adder) 또는 합산기(340)의 제1 입력단과 신호 통신하여 연결되고, 합산기(340)의 출력은 비디오 디코더(300)의 출력을 제공한다. 합산기(340)의 출력은 기준 화면 저장부(350)와 신호 통신하여 연결된다. 기준 화면 저장부(350)는 모션 보상기(360)와 신호 통신하여 연결되고, 모션 보상기는 합산기(340)의 제2 입력단과 신호 통신하여 연결된다.
실행 시, 본 발명의 실시예는, 네트워크 트래픽 모델의 제약을 만족시키는 멀티패스 인코딩 기법을 이용함으로써, 미리 저장된 비디오 콘텐츠에 대한 비디오 레이트 제어를 수행하는 방법을 제공한다. 비디오 인코더는 미리 저장된 비디오 콘텐츠에 대한 레이트 제어를 수행하여 가장 좋은 품질의 비디오를 얻으면서, 네트워크 슬라이딩 타임 윈도 일정 비트 레이트 제약(network sliding time window constant bit rate constraint)을 만족시킨다. 프리-인코딩하는 단계에서, 비디오 시퀀스는 복수의 상이한 양자화 파라미터(QP) 값을 이용해 개별적으로 인코딩한다. 다음으로, 양자화 파라미터 선택 프로세스에서, 프리-인코딩하는 단계 동안 모은 인코딩된 프레임 레이트 카운트(count)는 각 프레임에 대한 QP 값을 선택하기 위해 이용하는데, QP 값은 타임 윈도의 리딩(leading) 또는 래깅(lagging)에 대해서 네트워크 대역폭 제약을 초과하지 않는 것으로 추정된 것이다. 그 다음, 최종 패스 인코딩은 선택된 QP 값을 이용해 수행한다.
소위 고정 대역폭 패킷 네트워크에서도, 트래픽의 폭증(burstiness)이 네트워크 트래픽 모델의 제약을 초과하지 않는 한, 다소 폭증하는 트래픽은 수용할 수 있다. CBR 비디오는, 각각의 압축된 비디오 프레임이 동일한 수의 비트를 이용해 인코딩되는 것을 요구하지 않는다.
비디오 레이트 제어는 CBR 비디오에 적합하다. 상이한 프레임 타입, 예를 들어 I, P 및 B 프레임을 포함하는 MPEG 및 MPEG-2 등의 표준을 이용하면, 레이트 제어는 일반적으로 프레임 타입에 기초하여 각 프레임에 대한 목표 프레임(target frame)을 초기에 발견한다. 예를 들어, W. Ding and B. Liu, "Rate control of MPEG video coding and recording by rate-quantization modeling", IEEE Transactions on Circuits and Systems for Video Technology, vol. 6, no. 1, pp. 12-20, Feb. 1996을 참고하시오. 목표 프레임 레이트는 전체 시퀀스를 위해, 또는 본 기술분야에 공지된 바와 같이 GOP(Group of Pictures)를 위해 선택할 수도 있다. 프레임 레이트 목표는 현재의 버퍼 풀니스(buffer fullness) 레벨에 또한 좌우될 수도 있다. 목표 프레임 레이트가 주어진 프레임을 위해 결정되면, 거의 목표 프레임 레이트에서 프레임을 인코딩하도록 예측되는 양자화 파라미터(QP)가 선택된다. MPEG-4 검증 모델(Verification Model)에서, 공간 복잡도 측정은 프레임을 위해 계산되고, 각각의 코딩된 프레임을 위해 업데이트되는 모델과 비교되어, 목표 프레임 레이트를 제공하는 QP를 추정한다.
공간 복잡도 측정은 주어진 QP에 대한 프레임의 인코딩에 요구되는 비트 레이트와 상관 관계(correlation)를 갖는다. 그러나 진보된 비디오 인코딩 기법, 예를 들어 MPEG-4, H.263 및 H.26L 비디오 표준에서의 진보된 인트라 예측(intra prediction)으로 인하여, 코딩 기법을 설명하는 복잡도 측정을 형성하는 것이 어렵게 되어, 복잡도 측정과, 프레임의 인코딩에 요구되는 비트 수 간의 상관 관계를 감소시킨다. 이는 레이트 제어의 정확성도 감소시킨다.
멀티패스 인코딩은 더욱 정확한 레이트 제어를 얻기 위해 이용할 수 있고, 계산 복잡도를 증가시킨다. 여기서, 목표 비트 레이트는 주어진 프레임을 위해 선택한다. 프레임은 복수의 QP 값을 이용해 인코딩한다. 비트 수는 목표와 비교하고, QP 값은 그 차에 기초해 조정한다. 프레임은, 인코딩된 비트의 수가 목표에 충분히 근접할 때까지, 조정된 QP 값을 이용해 다시 인코딩한다.
더 큰 프레임 범위보다는 개별 프레임을 위한 비트 레이트 목표를 설정하는 레이트 제어 기법은, 높은 복잡도를 갖는 프레임은 목표 레이트를 만족시키는 낮은 QP 값을 이용해 코딩해야 하기 때문에, 열등하게 감지되는 비디오 품질을 제공하고, 이는 그러한 프레임에 대한 불량한 시각적 품질을 발생시킨다.
통계적 다중화 방식(statistical multiplexing)은, 복수의 상이한 비디오 시퀀스가 하나의 고정된 레이트 대역폭 채널을 공유하는 기법이며, 동시에 일어나는 개별 시퀀스 대역폭에서의 많은 변화를 허용한다. 이는, 공유된 위성 채널을 통해 복수의 텔레비전 프로그램을 송신하는 것과 같은 방송 애플리케이션에 유용하다.
본 발명의 바람직한 실시예에서, 비디오 인코더는 미리 저장된 비디오 시퀀스를 인코딩한다. 비디오 서버는 압축된 비트 스트림을 패킷 네트워크를 통해 전송한다. 비디오 디코더는 비디오 시퀀스를 수신, 디코딩 및 재생한다.
패킷 네트워크는 고정된 레이트 대역폭을 갖는다. 그 네트워크는, 제한된 고정 레이트 대역폭이 사전설정된 슬라이딩 타임 윈도에 대해서 초과하지 않는 한, 가변 레이트에서 데이터를 수용할 수 있다. 패킷 네트워크에서의 라우터는 버퍼를 포함하여 네트워크 트래픽을 형성한다. 비디오 인코더/서버로부터 네트워크에 공급된 트래픽 로드(traffic load)가 타임 윈도에 대해서 고정 레이트 대역폭을 초과하는 경우, 라우터의 버퍼는 오버플로(overflow) 할 수도 있고, 일부 데이터는 폐기될 수도 있다.
본 발명의 실시예에서, 비디오 인코더의 레이트 제어는 사전설정된 타임 윈도에 대해서 네트워크의 대역폭 제약을 만족시킨다. 인코더는 타임 윈도에 대해 일정한 품질을 유지하고, 가능한 한 전체 비디오 시퀀스의 품질에 거의 변화가 없게 한다.
따라서, 프리-인코딩하는 단계에서, 비디오 시퀀스는 상이한 QP 값의 세트에 대한 복수의 상이한 횟수에 무관하게 인코딩한다. 모션 추정은, 모든 경우에 이용된 동일한 모션 벡터로 미리 이루어질 수 있고, 또는 각각의 개별 인코딩을 위해 이루어질 수도 있다. 어떤 인코딩은, 동일한 프로세서상에서 순차적으로 이루어질 수 있고, 또는 각각의 개별 인코딩 동작을 개별 프로세서에서 분산함으로써 병렬적으로 이루어질 수 있다. 각각의 QP 동작에 대한 각 프레임을 인코딩하기 위해 이용된 비트 수는 기록된다.
프리-인코딩하는 단계를 각각의 QP를 위해 수행한 후, 비디오 인코더는, 프리-인코딩하는 단계로부터 기록된 값을 이용해 각 프레임에 대한 최적의 QP 값을 선택하는 양자화기 파라미터 선택 프로세스를 수행하여, 비디오 품질을 최대화하고, 각각의 타임 윈도에 대해 네트워크 대역폭 제약을 만족시키면서 비디오 품질 변화를 최소화한다. 프리-인코딩하는 단계에서는 주어진 인코딩 동작에 대한 각각의 전체 시퀀스를 위해 하나의 QP가 이용되지만, 최종 인코딩에 대해서는, QP 값은 각각의 개별 프레임을 위해 변경할 수도 있다. 이러한 실시예에서, 하나의 QP 인코딩 동작 동안 프레임 인코딩에 이용된 비트 수는, 최종 인코딩에서의 그 QP에서 그 프레임을 위해 인코딩하는 비트 수의 추정으로서 이용하고, 시퀀스에서의 이전 프레임을 위해 선택된 QP와는 무관하다. 실행 시, 상이한 QP 값이 이용되는 경우, 실제 비트 수는 약간 변할 것이다.
예를 들어, 시퀀스는 18, 19 및 20의 QP 값을 이용해 프리-인코딩한다. QP 선택 단계에서, QP0=18은 프레임 2를 위해 선택되었고, QP1=19는 프레임 1을 위해 선택되었다. 프레임 2에 대한 선택 프로세스 동안, QP2=20을 갖는 프레임 2를 인코딩할 비트 수는, 프리-인코딩하는 단계에서 QP 20을 갖는 프레임 2를 코딩하기 위해 이용된 비트 수와 동일하다고 추정된다. QP 20 인코딩 동작을 위해 프리-인코딩하는 단계에서, 프레임 0 및 1은 QP0=QP1=20으로 또한 인코딩하였다. 최종 인코딩 단계에서의 프레임 2를 예측하기 위해 이용되는 프레임 0 및 1에서의 실제 픽셀은, QP=20 프리-인코딩하는 단계 동작에서의 픽셀과 다르다. 그래서 최종 인코딩에서 QP2=20을 갖는 프레임 2를 위해 인코딩할 실제 비트 수는, QP=20 프리-인코딩하는 단계 동작에서 이용되었다고 발견된 수와는 약간 다를 수도 있다.
타임 윈도는 N 비디오 프레임에 대응한다. 예를 들어, 3초 타임 윈도 및 30fps 비디오인 경우, N은 90 프레임이다. 타임 윈도에 대한 최대 비트 레이트는 T이고, 예를 들어 1Mbps 채널 및 3초 윈도에 대해서는 3Mbits일 수 있다.
시퀀스에서의 각 프레임을 위하여, 인코더는 시퀀스에서의 앞에 있는 N-1 프레임, 현재 프레임 및 뒤에 있는 N-1 프레임을 고려한다. 인코더는, 선택된 QP에 대한 프리-인코딩하는 단계 동작으로부터의 추정을 이용하거나, 이 프로세스를 이용해 이미 선택된 QP로 이미 인코딩된 프레임으로부터의 실제 프레임 크기를 이용하여, 이전 N-1 프레임의 인코딩에 이용되는 비트 수의 카운트, WB'를 유지한다. 인코더는 비트 수의 카운트 WN을 추정하여, 가장 낮은 QP로 시작하는 현재 프레임을 포함한 다음 N 프레임을 인코딩하고, 목표 레이트 T에 가장 근접하지만 초과하지는 않는 어떤 WN에 대한 QP를 선택하며, 현재 프레임을 포함한 이전 N 프레임에 대한 T를 또한 초과하지 않는다. 이전 프레임을 고려할 때, 모든 이전 프레임의 QP 값은 이미 선택되어 있고, 그러한 값이 이용되며, 현재 프레임은 그러한 고려하에서 현재 QP 값을 이용한다. 이 프로세스는 시퀀스에서의 각 프레임에 대해 반복한다. 이 프로세스는 이하에 열거된 의사 코드에서 기술한다. 시퀀스의 시작 및 종료를 위하여, N 프레임은 현재 프레임 전 또는 후에 이용가능하지 않고, 시퀀스에 존재하는 그러한 프레임만 계산에서 고려한다.
Figure 112005075669732-pct00001
선행 단계를 이용해 각 프레임에 대한 QP를 선택한 후, 최종 인코딩 패스가 동작한다. 최종 패스에서, 선택된 QP는 각 프레임을 위해 이용한다. 선택적으로, 모션 추정은 이 동작 동안 재계산될 수 있고, 또는 이전에 계산된 모선 벡터가 이용될 수 있다. 모션 추정의 재계산으로 인하여, 더욱 정확한 레이트 왜곡 최적화(rate-distortion optimization)가 모션 벡터 추정 및 모드 선택에서 수행될 수 있다.
추정 모델이 정확하지 않기 때문에, 최종 인코딩 패스 후, 각각의 N 프레임 동안 생성된 실제 비트 수가 T를 초과하지 않는지를 확인하는 추가 단계를 추가할 수 있다. 현재 프레임이 너무 많은 비트를 생성하여, 현재 프레임 및 N 이전 프레임의 비트가 목표를 초과하는 경우, 프레임은 더 높은 QP 값으로 다시 인코딩할 수 있다. 대안으로, 본 발명의 또 다른 실시예에서, 목표 윈도 레이트 T는 선택 프로세스 이전에 더 낮은 T'(T'<T)으로 조정하여, 레이트 제어 추정 에러가 T-T'을 초과하지 않을 가능성(likelihood)을 줄일 수 있다.
계산량을 줄이기 위하여, 프리-인코딩하는 단계는 모든 가능한 QP 값에 대해 수행할 필요가 없다. 대신에, 가능한 QP 값의 서브세트는 프리-인코딩하는 단계에서 이용할 수 있다. 다음으로, 이용된 서브세트 간의 선형 보간(linear interpolation) 또는 커브 피팅(curve fitting)을 이용함으로써, 이용되지 않은 중간 QP 값에 대한 각 프레임의 비트 카운트를 위한 값을 추정할 수 있다. 예를 들어, 18 및 20의 QP 값이 프리-인코딩하는 단계에서 이용되는 경우, 19의 QP에 대한 각 프레임의 비트 카운트는, QP 18 및 QP 20에 대응하는 비트 카운트를 평균함으로써 추정할 수 있다. 프리-인코딩하는 단계에서 수행하는 QP 값의 범위는, 복잡도 측정 및 채널 비트 레이트의 어떤 타입을 이용해 제한할 수 있다.
의사 코드는 단지 예시적이다. 초기 패스 각각의 경우, 상이한 화면 타입의 모든 화면은 동일한 양자화 파라미터(QP)를 갖도록 요구되지는 않지만, 동일한 화면 타입의 모든 화면은 동일한 QP를 갖도록 요구된다. 따라서, 대안 절차는 I 프레임에 대한 QPI, P 프레임에 대한 상이한 QPP 및 B 프레임에 대한 상이한 QPB로 시퀀스를 인코딩할 수도 있다.
관련분야의 당업자는, 본 발명의 개시는 화면 또는 필드(field)뿐만 아니라 비디오 프레임에 적용할 수도 있음을 이해할 것이다. 본 발명의 대안 실시예는 조정가능한 양자화 파라미터를 갖는 많은 상이한 비디오 압축 표준, 예를 들어 H.261, H.263, H.26L, MPEG-1, MPEG-2 및 MPEG-4로 이용할 수 있다.
본 발명의 이러한 특징 및 장점은 본 명세서의 내용에 기초하여 관련분야의 당업자에 의해 이미 규명되었을 수도 있다. 본 발명의 개시는, 하드웨어, 소프트웨어, 펌웨어, 특정 목적의 프로세서, 또는 그것들의 조합과 같은 다양한 형태로 구현할 수도 있다는 점을 이해하게 된다.
더욱 바람직하게는, 본 발명의 개시는 하드웨어 및 소프트웨어의 조합으로서 구현한다. 또한, 소프트웨어는 바람직하게는 프로그램 저장 유닛상에 실재적으로 구현되는 애플리케이션 프로그램으로서 구현한다. 애플리케이션 프로그램은 어떤 적합한 아키텍처를 포함하는 머신에 의해 업로드 및 실행될 수도 있다. 바람직하게는, 머신은, 하나 이상의 CPU, RAM 및 I/O 인터페이스와 같은 하드웨어를 구비한 컴퓨터 플랫폼상에서 구현한다. 컴퓨터 플랫폼은 오퍼레이팅 시스템 및 마이크로명령 코드를 또한 포함할 수도 있다. 본 명세서에서 기술한 다양한 프로세스 및 기능은, CPU가 실행할 수도 있는 마이크로명령 코드의 부분 또는 애플리케이션 프로그램의 부분, 또는 그것들의 어떤 조합일 수도 있다. 추가로, 예를 들어 추가 데이터 저장 유닛 및 프린팅 유닛과 같은 다양한 다른 주변 유닛은 컴퓨터 플랫폼에 연결할 수도 있다.
첨부한 도면에서 도시한 일부 구성 시스템 컴포넌트 및 방법은 바람직하게는 소프트웨어에서 구현되기 때문에, 시스템 컴포넌트 또는 프로세스 기능 블록 간의 실재 연결은, 본 발명이 프로그램되는 방식에 따라 상이할 수도 있다는 점을 또한 이해하게 된다. 본 명세서의 내용에 따르면, 관련분야의 당업자는 본 발명의 이와 같이 유사한 구현 또는 구성을 고려할 수 있을 것이다.
본 명세서는 첨부한 도면을 참조하여 예시적인 실시예를 기술하지만, 본 발명은 그러한 실시예에 한정하는 것이 아니며, 관련분야의 당업자는 본 발명의 사상 또는 범위를 벗어나지 않는 다양한 변경 및 수정이 이루어질 수도 있음을 이해하게 된다. 모든 그러한 변경 및 수정은 첨부한 청구범위에서 설명하는 본 발명의 사상에 포함된다.

Claims (22)

  1. 네트워크 트래픽 모델 제약들을 만족시키도록 화면들의 시퀀스를 복수의 블록 변환 계수(block transform coefficient)로서 인코딩하기 위한 인코더로서,
    각각의 화면마다 복수의 양자화 파라미터 값 중 하나를 선택하기 위한 멀티패스 루프(multi-pass loop)
    를 포함하며,
    상기 멀티패스 루프는,
    상기 화면들의 시퀀스를 복수회(a plurality of times) 프리인코딩(pre-encoding)하기 위한 프리인코딩 수단 - 상기 복수회 각각마다 복수의 양자화 파라미터 값 중 하나를 이용함 - 과,
    상기 프리인코딩 수단의 인코딩 결과에 기초하여, 소정의 타임 윈도(time window) 내의 인접 화면들의 양자화 파라미터 값들 및 비트 레이트 동작 시점들(operation points)에 응답하여, 상기 시퀀스의 각 화면에 대해 상기 복수의 양자화 파라미터 값 중 하나를 선택하기 위한 선택 수단과,
    상기 시퀀스의 각 화면을, 상기 선택 수단에 의해 선택된 화면에 대해 선택된 양자화 파라미터 값을 이용하여 인코딩하기 위한 인코딩 수단
    을 포함하는 인코더.
  2. 삭제
  3. 제1항에 있어서,
    상기 타임 윈도에 대해 선택된 양자화 파라미터 값은 거의 목표 화면 레이트로 윈도 정도의 화면을 인코딩하는 인코더.
  4. 제1항에 있어서,
    상기 타임 윈도에 대해 선택된 양자화 파라미터 값은 거의 목표 비트 레이트로 윈도 정도의 화면을 인코딩하는 인코더.
  5. 제1항에 있어서,
    비디오 시퀀스에서의 각 화면마다 선택되고, 주어진 화면과 동일한 타임 윈도에서의 인접 화면들에 대해 선택되는 양자화 파라미터 값들은, 사전설정된 기간의 타임 윈도 내에서 전송되는 화면들이 목표 비트 수 내에서 인코딩되도록 선택되는 인코더.
  6. 제1항에 있어서,
    비디오 화면의 시퀀스는 화면의 그룹을 포함하는 인코더.
  7. 제1항에 있어서,
    비디오 화면의 시퀀스는 미리 저장된 비디오 콘텐츠를 포함하는 인코더.
  8. 제1항에 있어서,
    사전설정된 시간 기간 내에 전송되는 비디오 화면의 시퀀스의 일부분은, 상기 사전설정된 시간 기간 내에 전송되는 비트 수를 제약하는 네트워크 트래픽 모델을 만족시키는 인코더.
  9. 제1항에 있어서,
    비디오 시퀀스의 각각의 화면마다 상기 복수의 양자화 파라미터 값 중 하나를 선택하기 위한 선택 수단은, 각 화면을 인코딩하기 위해 선택된 양자화 파라미터 값을 최적화하는 멀티패스 인코딩 수단을 포함하는 인코더.
  10. 제1항에 있어서,
    상기 화면들의 시퀀스를 복수회(a plurality of times) 프리인코딩하기 위한 프리인코딩 수단 - 상기 복수회 각각마다 복수의 양자화 파라미터 값 중 하나를 이용함 - 은, 모션 벡터값들을 재이용하기 위한 수단을 포함하는 인코더.
  11. 네트워크 트래픽 모델 제약들을 만족시키는 인코딩된 블록 변환 계수들을 디코딩하여 복원된 픽셀 데이터를 제공하기 위한 디코더와 결합되는, 제1항에서 정의한 인코더로서,
    상기 디코더는, 사전설정된 기간을 갖는 타임 윈도에 대응하는 비디오 데이터를 네트워크 트래픽 모델에 따라 디코딩하기 위한 가변 길이 디코더(variable length decoder)를 포함하는, 인코더.
  12. 제1항에서 정의된 인코더와, 네트워크 트래픽 모델 제약들을 만족시키는 인코딩된 블록 변환 계수들을 디코딩하여 복원된 픽셀 데이터를 제공하기 위한 디코더를 포함하는 코덱으로서,
    상기 디코더는, 사전설정된 기간을 갖는 디코더 타임 윈도에 대응하는 비디오 데이터를 네트워크 트래픽 모델에 따라 디코딩하기 위한 가변 길이 디코더를 포함하는, 코덱.
  13. 인코더가, 하나의 방법에 의해 네트워크 트래픽 모델 제약들을 만족시키기 위해 화면들의 시퀀스를 인코딩하게 하는 컨텐츠를 포함하는 컴퓨터 판독가능 매체로서,
    상기 방법은,
    상기 화면들의 시퀀스를 복수회 프리인코딩하는 단계 - 상기 복수회 각각마다 복수의 양자화 파라미터 값 중 하나를 이용함 - 와,
    소정의 타임 윈도에서의 인접 화면들의 양자화 파라미터 값들 및 비트 레이트 동작 시점들에 응답하여, 상기 시퀀스의 각 화면에 대해 상기 복수의 양자화 파라미터 값 중 하나를 선택하는 단계와,
    상기 시퀀스의 각 화면을, 그 화면을 위해 선택된 양자화 파라미터 값을 이용하여 인코딩하는 단계
    를 포함하는 컴퓨터 판독가능 매체.
  14. 네트워크 트래픽 모델 제약들을 만족시키도록 화면들의 시퀀스에 대한 비디오 레이트 제어를 수행하는 방법으로서,
    상기 화면들의 시퀀스를 복수회 프리인코딩하는 단계 - 상기 복수회 각각마다 복수의 양자화 파라미터 값 중 하나를 이용함 - 와,
    소정의 타임 윈도에서의 인접 화면들의 양자화 파라미터 값들 및 비트 레이트 동작 시점들에 응답하여, 상기 시퀀스의 각 화면에 대해 상기 복수의 양자화 파라미터 값 중 하나를 선택하는 단계와,
    상기 시퀀스의 각 화면을, 그 화면을 위해 선택된 양자화 파라미터 값을 이용하여 인코딩하는 단계
    를 포함하는 비디오 레이트 제어 방법.
  15. 제14항에 있어서,
    상기 화면들의 시퀀스는 비디오 프레임들의 시퀀스를 포함하는, 비디오 레이트 제어 방법.
  16. 제14항에 있어서,
    소정의 윈도에 대해 선택된 상기 양자화 파라미터 값은 거의 목표 비트 레이트로 윈도 정도의 화면들을 인코딩하는, 비디오 레이트 제어 방법.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
KR1020057024733A 2003-06-26 2004-03-01 슬라이딩 윈도 채널 제약에 부합하는 멀티패스 비디오레이트 제어 KR101017770B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US48267003P 2003-06-26 2003-06-26
US60/482,670 2003-06-26

Publications (2)

Publication Number Publication Date
KR20060086266A KR20060086266A (ko) 2006-07-31
KR101017770B1 true KR101017770B1 (ko) 2011-02-28

Family

ID=34102645

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057024733A KR101017770B1 (ko) 2003-06-26 2004-03-01 슬라이딩 윈도 채널 제약에 부합하는 멀티패스 비디오레이트 제어

Country Status (8)

Country Link
US (1) US8542733B2 (ko)
EP (1) EP1639801B1 (ko)
JP (1) JP2007525063A (ko)
KR (1) KR101017770B1 (ko)
CN (1) CN101390296A (ko)
BR (1) BRPI0411757A (ko)
MX (1) MXPA05014209A (ko)
WO (1) WO2005011255A2 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4988567B2 (ja) * 2004-06-27 2012-08-01 アップル インコーポレイテッド マルチパスのビデオ符号化
US8005139B2 (en) 2004-06-27 2011-08-23 Apple Inc. Encoding with visual masking
US8406293B2 (en) 2004-06-27 2013-03-26 Apple Inc. Multi-pass video encoding based on different quantization parameters
WO2006061838A2 (en) * 2004-12-08 2006-06-15 Imagine Communications Ltd. Distributed statistical multiplexing of multi-media
US8208536B2 (en) 2005-04-28 2012-06-26 Apple Inc. Method and apparatus for encoding using single pass rate controller
US7456760B2 (en) * 2006-09-11 2008-11-25 Apple Inc. Complexity-aware encoding
US8804829B2 (en) * 2006-12-20 2014-08-12 Microsoft Corporation Offline motion description for video generation
US20090052540A1 (en) * 2007-08-23 2009-02-26 Imagine Communication Ltd. Quality based video encoding
KR100918499B1 (ko) * 2007-09-21 2009-09-24 주식회사 케이티 멀티 패스 인코딩 장치 및 그 방법
US20090087114A1 (en) * 2007-09-28 2009-04-02 Advanced Micro Devices Response Time Compression Using a Complexity Value of Image Information
US20090087107A1 (en) * 2007-09-28 2009-04-02 Advanced Micro Devices Compression Method and Apparatus for Response Time Compensation
CN102934156B (zh) * 2007-09-28 2016-09-07 美国博通公司 响应时间补偿
US8908765B2 (en) * 2007-11-15 2014-12-09 General Instrument Corporation Method and apparatus for performing motion estimation
US8451719B2 (en) * 2008-05-16 2013-05-28 Imagine Communications Ltd. Video stream admission
KR101350723B1 (ko) 2008-06-16 2014-01-16 돌비 레버러토리즈 라이쎈싱 코오포레이션 비디오 코딩을 위한 슬라이스 종속성에 기초한 레이트 제어 모델 적응 방법
US8401075B2 (en) * 2008-12-31 2013-03-19 General Instrument Corporation Hybrid video encoder including real-time and off-line video encoders
FR2945697B1 (fr) * 2009-05-18 2016-06-03 Actimagine Procede et dispositif de compression d'une sequence video
FR2946820B1 (fr) * 2009-06-16 2012-05-11 Canon Kk Procede de transmission de donnees et dispositif associe.
WO2011075160A1 (en) * 2009-12-14 2011-06-23 Thomson Licensing Statistical multiplexing method for broadcasting
US8681858B2 (en) * 2009-12-23 2014-03-25 General Instrument Corporation Rate control for two-pass encoder
JP5641755B2 (ja) * 2010-03-25 2014-12-17 キヤノン株式会社 符号化装置、符号化装置の制御方法、プログラム
US20110280398A1 (en) * 2010-05-17 2011-11-17 Anatoly Fradis Secured content distribution system
US8976856B2 (en) 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
EP2541935A1 (en) * 2011-06-29 2013-01-02 British Telecommunications Public Limited Company Video coding with quality control and rate control
JP5843631B2 (ja) * 2012-01-26 2016-01-13 日本電信電話株式会社 フレームレート制御方法,フレームレート制御装置およびフレームレート制御プログラム
EP3720130B1 (en) * 2017-04-21 2022-09-28 Zenimax Media Inc. System and method for rendering and pre-encoded load estimation based encoder hinting

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978029A (en) 1997-10-10 1999-11-02 International Business Machines Corporation Real-time encoding of video sequence employing two encoders and statistical analysis
US6118817A (en) * 1997-03-14 2000-09-12 Microsoft Corporation Digital video signal encoder and encoding method having adjustable quantization
KR20010054963A (ko) * 1999-12-08 2001-07-02 오길록 압축영역에서 엠펙-1 및 엠펙-2 동영상의 비트율 변환방법
US7016337B1 (en) 1999-03-02 2006-03-21 Cisco Technology, Inc. System and method for multiple channel statistical re-multiplexing

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62222783A (ja) * 1986-03-24 1987-09-30 Kokusai Denshin Denwa Co Ltd <Kdd> 動画像の高能率符号化方式
JP3164647B2 (ja) 1992-06-03 2001-05-08 株式会社東芝 動画像符号化方法及び装置
JPH0766982A (ja) 1993-08-26 1995-03-10 Canon Inc 符号量制御装置
DE69637335T2 (de) 1995-03-09 2008-10-09 Sony Corp. Bildsignalkodierungsmethode und -vorrichtung
US5835149A (en) * 1995-06-06 1998-11-10 Intel Corporation Bit allocation in a coded video sequence
US5929916A (en) * 1995-12-26 1999-07-27 Legall; Didier J. Variable bit rate encoding
US6100931A (en) * 1996-03-19 2000-08-08 Sony Corporation Method and apparatus for controlling a target amount of code and for compressing video data
US6269078B1 (en) 1997-04-04 2001-07-31 T. V. Lakshman Method and apparatus for supporting compressed video with explicit rate congestion control
US6192154B1 (en) * 1998-01-26 2001-02-20 International Business Machines Corporation Two-pass encoding method of digital motion video sequences for constant-or variable bit rate
US6278735B1 (en) * 1998-03-19 2001-08-21 International Business Machines Corporation Real-time single pass variable bit rate control strategy and encoder
US7092441B1 (en) * 1998-03-20 2006-08-15 Stmicroelectronics Asia Pacific Pte Limited Moving pictures encoding with constant overall bit rate
US6167084A (en) * 1998-08-27 2000-12-26 Motorola, Inc. Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals
GB2356510B (en) * 1999-11-18 2004-04-21 Sony Uk Ltd Data compression
JP3712344B2 (ja) 2000-05-12 2005-11-02 日本電信電話株式会社 繰り返しビデオ信号符号化方法およびこの方法のプログラムを記録した記録媒体
JP4256574B2 (ja) 2000-08-04 2009-04-22 富士通株式会社 画像信号符号化方法および画像信号符号化装置
US6847656B1 (en) * 2000-09-25 2005-01-25 General Instrument Corporation Statistical remultiplexing with bandwidth allocation among different transcoding channels
US6763067B2 (en) * 2000-10-10 2004-07-13 Sarnoff Corporation Rate control for bitstream re-encoding
JP3639216B2 (ja) 2001-02-27 2005-04-20 三菱電機株式会社 音響信号符号化装置
US6970506B2 (en) * 2001-03-05 2005-11-29 Intervideo, Inc. Systems and methods for reducing frame rates in a video data stream
US7072393B2 (en) * 2001-06-25 2006-07-04 International Business Machines Corporation Multiple parallel encoders and statistical analysis thereof for encoding a video sequence
US6925120B2 (en) * 2001-09-24 2005-08-02 Mitsubishi Electric Research Labs, Inc. Transcoder for scalable multi-layer constant quality video bitstreams
US7099389B1 (en) * 2002-12-10 2006-08-29 Tut Systems, Inc. Rate control with picture-based lookahead window

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6118817A (en) * 1997-03-14 2000-09-12 Microsoft Corporation Digital video signal encoder and encoding method having adjustable quantization
US5978029A (en) 1997-10-10 1999-11-02 International Business Machines Corporation Real-time encoding of video sequence employing two encoders and statistical analysis
US7016337B1 (en) 1999-03-02 2006-03-21 Cisco Technology, Inc. System and method for multiple channel statistical re-multiplexing
KR20010054963A (ko) * 1999-12-08 2001-07-02 오길록 압축영역에서 엠펙-1 및 엠펙-2 동영상의 비트율 변환방법

Also Published As

Publication number Publication date
EP1639801A2 (en) 2006-03-29
JP2007525063A (ja) 2007-08-30
BRPI0411757A (pt) 2006-09-19
EP1639801B1 (en) 2018-05-09
US20060165168A1 (en) 2006-07-27
KR20060086266A (ko) 2006-07-31
US8542733B2 (en) 2013-09-24
EP1639801A4 (en) 2010-09-29
MXPA05014209A (es) 2006-05-31
CN101390296A (zh) 2009-03-18
WO2005011255A3 (en) 2008-11-06
WO2005011255A2 (en) 2005-02-03

Similar Documents

Publication Publication Date Title
KR101017770B1 (ko) 슬라이딩 윈도 채널 제약에 부합하는 멀티패스 비디오레이트 제어
Wang et al. Rate-distortion optimization of rate control for H. 264 with adaptive initial quantization parameter determination
JP4390112B2 (ja) ビデオシーケンスのレートを制御する方法及び装置並びにビデオ符号化装置
KR101350723B1 (ko) 비디오 코딩을 위한 슬라이스 종속성에 기초한 레이트 제어 모델 적응 방법
JP5036559B2 (ja) チャネルによって引き起こされる歪みを推定する方法及び装置
JP5384694B2 (ja) 多層ビデオ設計のためのレート制御
JP5676705B2 (ja) 映像符号化規格に対応した映像レート制御の改善
KR101329860B1 (ko) 효과적인 레이트 제어 및 비디오 인코딩 품질의 향상을 위한 ρ-도메인 프레임 레벨 비트 할당 방법
US7263126B2 (en) System and method for transcoding with adaptive bit rate control
US20080056354A1 (en) Transcoding Hierarchical B-Frames with Rate-Distortion Optimization in the DCT Domain
EP1745653A2 (en) Encoder with adaptive rate control for h.264
WO2009157577A1 (ja) 画像処理装置及び画像処理方法
KR101959490B1 (ko) 비디오 비트율 제어 방법 및 그 장치
JP2001008215A (ja) 動画像符号化装置及びその方法
US20050100231A1 (en) Pseudo-frames for MPEG-2 encoding
Xiong et al. Rate control for real-time video network transmission on end-to-end rate-distortion and application-oriented QoS
KR20040007818A (ko) 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치
JP4788653B2 (ja) 画像データトランスコーディング装置及びトランスコーディング方法
KR101176213B1 (ko) 화면내?프레임을 위한 부호율 제어 장치 및 그 방법
KR100949755B1 (ko) 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치
Sanz-Rodríguez et al. A parallel H. 264/SVC encoder for high definition video conferencing
JPH11196423A (ja) 画像処理装置および方法、並びに提供媒体
Yang et al. Power-aware adaptive video streaming from the set-top-box to mobile devices
KR19980085246A (ko) 채널율을 이용한 가변 비트율 비디오 제어 방법
JP2001128175A (ja) 画像情報変換装置及び方法、並びに記録媒体

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
LAPS Lapse due to unpaid annual fee