KR19990067041A - 코딩 시스템에서 속도 제어를 최적화하기 위한장치 및 그 방법 - Google Patents

코딩 시스템에서 속도 제어를 최적화하기 위한장치 및 그 방법 Download PDF

Info

Publication number
KR19990067041A
KR19990067041A KR1019980702978A KR19980702978A KR19990067041A KR 19990067041 A KR19990067041 A KR 19990067041A KR 1019980702978 A KR1019980702978 A KR 1019980702978A KR 19980702978 A KR19980702978 A KR 19980702978A KR 19990067041 A KR19990067041 A KR 19990067041A
Authority
KR
South Korea
Prior art keywords
frame
waveform
quantizer
immediately preceding
macroblock
Prior art date
Application number
KR1019980702978A
Other languages
English (en)
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27358239&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR19990067041(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 우메다 마사루, 샤프 가부시끼가이샤, 윌리암 제이. 버크, 사노프 코포레이션 filed Critical 우메다 마사루
Publication of KR19990067041A publication Critical patent/KR19990067041A/ko

Links

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/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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/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/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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/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/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/186Methods 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 a colour or a chrominance component
    • 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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 코딩 속도를 최적화하면서 비디오 영상의 전체 품질을 유지하기 위해서 양자화기 스케일을 선택하기 위한 방법 및 장치를 제공한다. 최적의 양자화기 스케일비가 연속된 매크로블록에 대해서 유지되는 동안 화상에 대한 타깃 비트율을 실현하여 전체 화상에 걸쳐 균일한 표시 품질을 발생할 수 있도록 양자화기 스케일이 각각의 매크로블록에 대해서 선택된다. 일실시예는 프레임 레벨 방법을 적용하는 반면, 다른 실시예는 파형 변환과 결합된 방법을 적용한다.

Description

코딩 시스템에서 속도 제어를 최적화하기 위한 장치 및 그 방법
디지탈 비디오 기술의 개발 향상은 비디오 압축 코덱스(codecs: 코더/디코더)의 고비용을 절감시키고 서로 다른 제조업자들의 장비를 상호 동작가능하게 하는 문제를 제기하고 있다. 이러한 목적을 달성하기 위해서, Moving Picture Experts Group(MPEG)은 전반적으로 본 명세서에 참조로 고려되는, 국제 표준 규격 11172 및 13818을 창안하였다.
속도 제어 분야에서, MPEG는 인코더의 비트율을 제어하기 위한 특정 알고리즘을 정의하지 않았다. 인코더 설계자들의 임무는 비트율을 제어하기 위한 속도 제어 프로세스를 고안하여 디코더의 입력 버퍼가 오버플로우 또는 언더플로우되지 않도록 하는 것이다. 따라서, 인코더의 기능은 인코더에 의해서 발생된 비트수를 모니터하여, 오버플로우 및 언더플로우의 조건을 방지하는 것이다.
현재, 비트율을 제어하는 한가지 방법은 입력된 비디오 영상의 왜곡에 영향을 미칠 수 있는, 양자화 프로세스를 개조하는 것이다. 양자화기의 스케일을 변경하므로써, 비트율이 변화되거나 제어될 수 있다. 양자화기의 스케일을 변화시키는 것은 인코더의 속도 제어를 실현하는 효과적인 방법이지만, 낙후된 속도 제어 프로세스기 비디오 영상의 표시 품질을 사실상 저하시킬 것이다.
현행 MPEG 코딩 전략에서는, 동일 형태의 모든 화상들이 화상 그룹 내에서 동일한 복잡도를 갖는 것으로 가정하여 각 매크로블록에 대한 양자화기 스케일이 선택되고 있다. 그러나, 각 화상의 복잡도가 시간에 따라 변화하기 때문에, 이러한 기준에 의해서 선택된 양자화기의 스케일은 최적의 코딩 성능을 실현할 수 없다.
또한, 글로발형 변환을 인가하는 인코더도 동일한 문제를 갖게 된다. 예를 들면, 한가지 글로발형 압축 기술은, the Proceedings of the International Conference on Acoustics, Speech and Signal Processing, San Francisco, Cal. 1998, 3월, 볼륨 IV, 657-660쪽에 개시되어 있는데, 여기에는, 제로트리(zerotrees)를 포함하는 계층적 연속 근사 엔트로피-코드화 양자화기를 수반하는 계층적 서브대역 분할이나 파형 변환을 인가하는 신호 압축 시스템이 개시되어 있다. 다중 해상도 계층적 서브대역 표현을 사용하는 신호 데이터의 표현은 Burt 등에 의해서 IEEE Trans, on Commum., Vol Com-31, No. 4. 1983, 4월, 533쪽에 제시되었다. 임계적으로 표본화된 직교-미러 필터로 알려진, 파형 파라밋(pyramid)은, 영상의 다중 해상도 계층적 서브대역 표현의 특정 형태이다. 파형 파리밋은 Pentland 등에 의해서 Proc. Data Compression Conference 1992, 4월 8-11, 1991, Snowbird, Utah에 제시되었다. QMP 서브대역 파라밋은 "Subband Image Coding", J.W. Woods ed., Kluwer Academic Publishers, 1991 및 I, Daubechies,Ten Lectures on Wavelets, Society for Industrial and Applied Mathematics(SIAM): Philadelphia, Pa., 1992에 개시되어 있다. 또한, 1995년 5월 2일자로 출원되었으며 본 발명이 참조하고 있는 미합중국 특허 5,412,741호에서는 고도로 압축된 정보를 인코딩하기 위한 장치 및 방법을 개시하고 있다.
비디오 인코더로부터 출력된 비트 스트림은 화면 내용이나 인코더에서 사용된 코딩 프로세스의 속성에 따라 변동하는 가변 비트율을 갖도록 의도된다. 이러한 인코더는 신호 품질면에서 최소의 손실을 갖도록 채널 속도를 정합하기 위해서 출력 비트 속도를 조정하기 위한 매카니즘을 필요로한다.
따라서, 코딩 속도를 최적화하면서 비디오 영상의 전체 품질을 유지할 수 있는 장치 및 방법에 대한 기술을 필요하다. 이와 유사하게, 파형 변환과 같은 글로발형 변환을 사용하는 인코더는 종래의 속도 제어 기술에서는 부닥치지 않았던 특정한 요구 조건을 필요로 한다.
<발명의 요약>
본 발명은 코딩 속도를 최적화하면서 비디오 영상의 전체 품질을 유지할 수 있도록 최적의 양자화기 스케일을 선택하는 방법 및 장치이다. 즉, 최적의 양자화 스케일비가 연속된 매크로블록들에 대해서 유지되는 동안 화상의 타깃 비트율이 전체 화상에서 균일한 표시 품질을 생성할 수 있도록 양자화기 스케일이 각 매크로블록에 대해서 선택된다. 일실시예에서는 프레임 레벨에 대한 방법을 적용한 반면, 다른 실시예들에서는 파형 변환과 결합된 방법을 인가한다.
본 출원은 미합중국 예비 출원인, 1995년 10월 25일자로 출원된 60/007,014호, 1995년 10월 25일자로 출원된 60/007,016호 및 1996년 6월 28일자로 출원된 60/020,872호의 특징을 청구하고 있다.
본 발명은 모션 비디오의 코딩을 최적화하기 위한 장치 및 그 방법에 관한 것이다. 특히, 본 발명은 코딩 속도를 최적화하면서 모션 비디오의 전체 품질을 유지할 수 있도록 각 매크로블록에 대한 양자화 스케일을 반복적으로 조정하는 방법 및 장치에 관한 것이다.
본 발명은 첨부된 도면을 참조하는 다음의 상세한 설명을 고려함으로써 이해될 수 있을 것이다.
도 1은 본 발명의 장치의 블록도를 도시한 도면.
도 2는 장치의 비트율을 제어하기 위해서 복잡도 모형에 따른 최적의 양자화기 스케일을 유도하기 위한 플로우챠트.
도 3은 최적의 양자화비의 제약 조건에 기초하여 양자화기 스케일 변경자를 유도하기 위한 플로우챠트.
도 4는 다음 매크로블록에 대한 양자화기 스케일을 직접 계산하기 위해서 인코딩 프로세스 결과 얻어진 실효 데이터를 사용하는 속도 제어 방법에 대한 플로우챠트.
도 5는 n 프레임에 대한 소정 비트수 Tp(n)를 계산하기 위한 플로우챠트.
도 6은 본 발명에 통합된 파형-기준 인코더의 블록도.
도 7은 파형 트리의 도형적 표현을 도시한 도면.
도 8은 도 6의 파형-기준 인코더에 내장된 양자화기의 코딩 속도를 제어하기 위한 속도 제어기의 상세 블록도.
도 9는 도 8의 속도 제어기에 의해 수행되는 것과 같은 프레임층 비트 할당 프로세스의 플로우챠트.
도 10은 도 9의 프로세스의 서브루틴이 되는 파형 트리층 비트 할당 프로세스의 플로우챠트.
이해를 돕기 위해, 도면 상의 공통된 동일 소자들을 표현하기 위해서 동일한 도면 부호가 사용되었다.
도 1은 코딩 속도를 제어하면서 비디오 영상의 전체 품질을 유지하기 위해 각 매크로블록에 대한 양자화기의 스케일을 유도하기 위한 본 발명의 장치(100)의 블록도이다. 본 발명의 바람직한 실시예에 있어서, 장치(100)는 모션 추정 모듈(140), 모션 보상 모듈(150), 속도 제어 모듈(130), DCT 모듈(160), 양자화(Q) 모듈(170), 가변 길이 코딩(VLC) 모듈(180), 버퍼(190), 역양자화(Q-1) 모듈(175), 역DCT(DCT-1) 변환 모듈(165), 감산기(115) 및 가산기(155)를 포함한다. 장치(100)가 복수의 모듈을 포함하고 있지만, 다양한 모듈들에 의해서 행해지는 기능들이 도 1에 도시된 바와 같이 별도의 모듈로 분리되어야 한다는 것을 본 기술 분야의 통상의 지식을 가진자들은 이해할 수 있을 것이다. 예를 들면, 모션 보상 모듈(150), 역양자화 모듈(175), 및 역DCT 모듈(165)을 포함하는 모듈 세트를 일반적으로 "삽입 디코더"라 한다.
도 1은 MPEG 표준 규격에 따른 휘도 및 2개의 색차 신호(Y, Cr, Cb)로서 디지탈화하여 표현되는 입력 비디오 영상(영상 시퀸스)(110)을 도시한다. 이들 신호들은 또한 각 화상(프레임)이 복수의 매크로블록에 의해서 표현된 것과 같은 복수의 층들(시퀀스층, 화상 그룹층, 화상층, 슬라이스층, 매크로블록층 및 블록층)로 분할된다. 각각의 매크로블록들은 4개의 휘도 블록들, 한개의 Cr블록 및 한개의 Cb블록을 포함하고 있는데, 여기서 블록은 8×8 표본 어레이로 정의된다. 화상을 블록 단위로 분할하는 것은 2개의 연속된 화상 간의 변화를 식별하는 능력을 향상시키며 낮은 진폭 변조된 계수들의 제거(이하 후술됨)함으로써 영상 압축을 향상시킨다. 디지탈화된 신호는 적절한 윈도우, 해상도, 및 입력 포맷을 선택하기 위한 포맷 변환과 같은 예비적인 프로세싱을 선택가능하게 수행할 수 있다.
경로(110) 상의 입력 비디오 영상은 모션 벡터를 추정하기 위한 모션 추정 모듈(140)로 수신된다. 모션 벡터는 모션 특성 보상에서 사용되는 2차원 벡터로서 현재의 화상 내의 블록의 좌표 위치에서부터 기준 프레임 내의 좌표까지 오프셋을 제공할 수 있다. 비디오 영상 시퀀스의 연속된 프레임들 간에 존재하는 높은 리던던시(redundancy) 때문에, 현재의 프레임은 기준 프레임 및 현재 프레임과 기준 프레임 간의 차이에서부터 모션 정보(모션 벡터)를 사용하여 재구성될 수 있다. 기준 프레임은 이전의 프레임(P-프레임), 또는 이전 또는/및 미래의 프레임(B-프레임)이 될 수 있다. 현재 및 기준 프레임 사이의 변화만이 코드화되어 전송되기 때문에 모션 벡터의 사용은 채널로 전송되는 정보량을 감소시켜 영상 압축을 상당히 향상시킨다. 현재, 모션 추정을 수행하는 다양한 방법이 인코더 설계자들에게 이용되고 있다.
모션 추정 모듈(140)로부터의 모션 벡터는 표본값의 예측 효율을 향상시키기 위해서 모션 보상 모듈(150)에 의해서 수신된다. 모션 압축은 모션 벡터를 사용하는 예측을 수반하며, 예측 오류를 형성하는데 사용된 미리 디코드된 표본값들을 포함하는 과거 및/또는 미래의 기준 프레임들로 오프셋을 제공한다. 즉, 모션 보상 모듈(150)은 미리 디코드된 프레임과 모션 벡터를 사용하여 현재의 프레임을 추정한다. 또한, 본 기술의 통상의 지식을 가진자들에게는 모션 추정 모듈 및 모션 압축 모듈에 의해서 수행되는 기능들이 조합된 모듈, 예를 들면, 단일 블록 모션 보상기에서 수행될 수 있다는 것이 자명하다.
또한, 주어진 매크로블록에 대한 모션 보상 예측을 수행하기 전에, 코딩 모드가 선택되어야 한다. 코딩 모드 결정 영역에서는, MPEG가 복수의 서로 다른 매크로블록 코딩 모드들을 제공한다. 일반적으로, 이들 코딩 모드들은 2개의 광의의 분류, 즉, 중간(inter) 모드 코딩과 내부(intra) 모드 코딩으로 그룹화된다. 내부 모드 코딩은 매크로블록이나 화상으로부터의 정보 만을 사용하는 매크로블록이나 화상의 코딩을 수반한다. 반면에, 중간 모드 코딩은 자신으로부터의 정보 및 서로 다른 시간에 발생하는 매크로블록과 화상으로부터의 정보 모두를 사용하는 매크로블록 및 화상의 코딩을 수반한다. 특히, MPEG-2는 내부 모드들을 포함하지만 모션 보상 모드(No MC), 프레임/필드/이중-프라임(dual-prime) 모션 보상 중간 모드, 전방향/역방향/평균 중간 모드 및 필드/프레임 DCT 모드는 내부 모드를 포함하지 않는 매크로블록 코딩 모드를 제공한다. 각 매크로블록에 대한 코딩 모드들을 적절하게 선택함으로써 코딩 성능을 향상시킬 것이다. 즉, 현재 다양한 방법들이 코딩 모드 결정을 행하는 인코더 설계자들에게 이용될 수 있다.
일단 코딩 모드가 선택되면, 모션 보상 모듈(150)이 과거 또는/및 미래 기준 화상을 기초로 하는 블록들의 내용 경로(152)에서 모션 보상 예측(예측된 영상)을 발생한다. 이러한 경로(152) 상의 모션 보상 예측은 감산기(115)를 통해 현재의 매크로블록의 경로(110)의 비디오 영상으로부터 감산되어, 경로(153) 상에서 오류 신호 또는 예측 잉여 신호를 형성한다. 이러한 예측 잉여 신호의 형성은 입력 비디오 영상에서 리던던트 정보를 효과적으로 제거한다. 즉, 전송 채널을 통해 실효 비디오 영상을 전송하는 대신, 비디오 영상의 예측을 발생하는데 필요한 정보와 이 예측에 대한 오류들만이 전송되어지므로, 송신되는데 필요한 데이터량을 상당히 감소시킨다. 또한 비트율을 감소시킬 수 있도록, 경로(153) 상의 예측 잉여 신호가 인코딩을 위해서 DCT 모듈(160)로 전달된다.
그 다음, DCT 모듈(160)은 순방향 이산 코사인 변환 프로세스를 예측 잉여 신호의 각각의 블록들로 제공하여 DCT 계수의 8×8 블록 세트를 생성한다. 이산 코사인 변환은, DCT 계수가 코사인 기본 함수 세트의 진폭들을 나타내는 반전 가능한 이산 직교 변환이다. 이산 코사인 변환의 한가지 잇점은 DCT 계수들이 상관 관계가 없다는 것이다. DCT 계수들의 이러한 비상관 관계는, 각각의 계수들이 압축 효율의 손실없이 독립적으로 처리될 수 있기 때문에, 압축에 중요하다. 또한, DCT 기본 함수나 서브대역 분할(subband decomposition)은 양자화의 다음 단계에 중요한 착시도(Psychovisual criteria)를 효율적인 이용할 수 있도록 허용한다.
DCT 계수의 결과 8×8 블록들은 DCT 계수들이 양자화되어 있는 양자화 모듈(170)에 의해서 수신된다. 양자화 프로세스는, DCT 계수들을 양자화 세트로 나누고 정수값을 형성하기 위해서 이 값을 적절히 반올림하여 DCT 계수들을 나타내므로 정확도가 떨어진다. 즉, 기준 함수의 가시도(시각적으로 가중화된 양자화)에 기초한 기준을 사용하여, 양자화값이 각각의 DCT 계수들에 대해 개별적으로 설정될 수 있다. 즉, 양자화값은 소정 기준 함수의 가시도에 대한 임계치, 즉 인간의 눈으로 검출할 수 있는 계수의 크기에 해당한다. 이러한 값을 갖는 DCT 계수들을 양자화함으로써, 많은 DCT 계수들이 값 "제로"로 변환되고, 이에 의해서 영상 압축 효율은 개선된다. 양자화 프로세스는 중요한 동작이며 표시 품질을 얻고 그 출력을 소정 비트율(제어 속도)로 정합하는 인코더를 제어하기 위한 중요한 수단이다. 서로 다른 양자화값이 각 DCT 계수들에 제공될 수 있기 때문에, "양자화 매트릭스"는 일반적으로 기준표, 예를 들면, 휘도 양자화표나 크로미넌스표로 정해질 수 있다. 따라서, 인코더는 변환된 블록에서 각 주파수 계수들이 양자화되는 방법을 결정하는 양자화 매트릭스를 선택한다.
양자화 오류의 주관적인 인식은 주파수에 따라 상당히 변화될 수 있지만, 고주파수에 대해서 개략적인 양자화 값을 사용하는데는 유리하다. 즉, 공간 주파수가 높아질수록 양자화 오류의 인간의 지각적인 감도는 떨어진다. 따라서, 높은 주파수들이 낮은 주파수보다 작은 허용치로 보다 대략적으로 양자화된다. 또한, 정확한 양자화 매트릭스는 의도된 디스플레이 특성, 가시 거리 및 소오스 내의 잡음량과 같은 많은 외부적 파라미터에 의존하게 된다. 따라서, 본 명세서에서 또는 개별적인 프레임 시퀀스에 대해서 특정 양자화 매트릭스를 개조할 수 있다. 일반적으로, 주문형 양자화 매트릭스는 압축된 비디오 영상과 함께 전후 상태도 기억될 수 있다. 양자화 스케일의 적절한 선택은 속도 제어 모듈(130)에 의해서 행해진다.
다음에는, 양자화된 DCT 계수의 결과 8×8 블록들이 가변 길이 코딩 모듈(180)에 의해서 신호 접속(171)을 통해서 수신되는데, 양자화된 계수들의 2차원 블록들이 "지그재그형(zig-zag)"으로 주사되어 양자화된 DCT 계수들의 1차원 열로 변환한다. 이 지그재그 주사 순서는 최저 공간 주파수에서부터 최고 공간 주파수까지 DCT 계수들의 근사화된 순차적 순서이다. 양자화는 일반적으로 높은 공간 주파수의 DCT 계수들을 0으로 감소시키기 때문에, 양자화된 DCT 계수들의 1차원 열은 전형적으로 수개의 정수값으로 표현된 다음에 제로열로 표현된다.
그 다음, 가변 길이 코딩(VLC) 모듈(180)은 양자화된 DCT 계수열 및 매크로블록의 형태와 모션 벡터와 같은 매크로 블록에 대한 모든 사이드-정보를 인코드한다. VLC 모듈(180)은 가변 길이 코딩과 동작-길이(run-length) 코딩을 이용하여 코딩 효율을 효과적으로 개선한다. 가변 길이 코딩은 보다 짧은 코드어들이 빈번한 사건에 할당되고 보다 긴 코드어들이 덜 빈번한 사건들에 할당되는 가역 코딩 프로세스로서, 동작-길이 코딩은 신호 심볼들을 갖는 심볼들의 동작을 인코딩함으로써 코딩 효율을 향상시킨다. 이러한 코딩 설계는 본 기술 분야에 잘 알려 있으며 때때로 정수 길이 코드어가 사용될 경우 허프만 코딩(Huffman coding)으로서 종종 참조된다. 따라서, VLC 모듈(180)은 입력 비디오 영상을 유효 데이터 스트림으로 변환하는 마지막 단계를 수행한다. 본 기술 분야의 통상의 지식을 가진자들에서 VLC 모듈이 다른 다양한 형태의 엔트로피 코더로 대체될 수 있다는 것은 자명하다.
데이터 스트림은 "선입선출(FIFO)" 버퍼(190)로 수신된다. 서로 다른 화상 형태와 가변 길이 코딩을 사용한 결과 FIFO되는 전체 비트율이 변화된다. 즉, 각각의 프레임을 코드화하는데 사용된 비트수가 서로 다를 수 있다. 고정 속도 채널을 포함하는 본 응용 분야에서, FIFO 버퍼는 비트율을 고르게하기 위해서 인코더 출력을 채널과 정합하는데 사용된다. 따라서, FIFO 버퍼(190)의 출력 신호는 경로(110)의 입력 비디오 영상의 압축된 표현으로서, 이 신호는 경로(295)를 통해서 기억 매체 또는 무선 통신 채널로 전송된다.
속도 제어 모듈(130)은 FIFO 버퍼(190)로 입력되는 데이터 스트림의 비트율을 모니터하고 조정하여 데이터 스트림 송신 후 (수신기 또는 타깃 기억 장치 내의) 디코더의 일측(도시 생략)에서 오버플로우 및 언더플로우를 방지한다. 따라서, 버퍼(190)의 상태를 모니터하는 속도 제어 모듈(130)의 기능은 인코더에 의해 발생된 비트수를 제어한다.
본 발명의 바람직한 실시예에 있어서, 속도 제어 모듈(130)은 코딩 속도들 제어하면서 비디오 영상의 전체 품질을 유지하기 위해 각각의 매크로블록에 대한 양자화기 스케일을 선택한다. 즉, 최적의 양자화 스케일비가 연속된 매크로블록에 대해 유지되는 동안 화상에 대한 타깃 비트율이 실현되어 전체 화상에 걸쳐 균일한 표시 품질을 발생할 수 있도록 양자화기 스케일이 각 매크로블록에 대해서 선택된다.
특히, 초기에 속도 제어 모듈(130)은 미리 인코드된 화상으로부터 또는 TM4 및 TM5 방법을 행하여 특정 형태의 화상(I, P, B)의 복잡도에 대한 개략적인 추정치를 얻는다. 추정된 복잡도는 각각의 매크로블록을 코드화하는데 필요한 예측된 비트수를 얻는데 사용된다. 알려진 바와 같이, 다항식을 갖는 복잡도 모형에서는 양자화 스케일이 매크로블록에 대해 계산된다. 이러한 복잡도 모형은, 매크로블록에 대한 선택된 양자화 스케일이 화상의 타깃 비트율에 접근해야만 하는 제약 조건에 봉착하게 된다.
또한 양자화된 스케일은, 일정한 표시 품질을 전체 화상에 대해 유지시키는데 필요한 제약 조건에 부합하도록 유도되는 변경자에 의해서 선택적으로 개선된다. 즉, 제약 조건은 최적의 양자화 스케일 비를 연속적인 매크로블록에 대해 유지시키는데 필요하다. 속도 제어 모듈은 매크로블록을 코드화하는데 사용되는 최적의 양자화기 스케일을 생성하기 위해 양자화기 스케일에 변경자를 제공한다. 일단 매크로블록이 인코드되면, 속도 제어 모듈은 다항 복귀 프로세서를 이용하여 복잡도 모형을 반복적으로 조정한다. 즉, 매크로블록을 코드화하는데 필요한 실효 비트수는 다음 매크로블록에 대한 양자화기 스케일의 예측을 개선할 수 있도록 복잡도 모형을 세밀히 구별하는데 이용될 수 있다. 양자화기 스케일 선택 방법에 대한 상세한 설명은 도 2 및 도 3을 참조하여 후술되어질 것이다.
도 1을 참조하면, 양자화 모듈(170)로부터 양자화된 DCT 계수들의 결과 8×8 블록이 또한 신호 접속(172)을 통해서 역양자화 모듈(175)에 의해서 수신될 수 있다. 이 단계에서, 인코더는 I-프레임과 P-프레임들이 다음 인코딩을 위한 기준 프레임으로서 사용될 수 있도록 데이터를 디코딩함으로써 입력 비디오 영상의 I-프레임과 P-프레임들을 재발생한다. 역양자화 모듈(175)은 양자화된 DCT 계수들을 역양자화함으로써 디코딩 프로세스를 시작한다. 즉, 양자화된 DCT 계수들이 양자화값 세트에 의해 승산되어 적절히 반올림되어 정수값을 생성한다.
DCT 계수들의 결과 양자화된 8×8 블록은 역DCT가 각각의 매크로블록으로 제공되는 역DCT 모듈(165)로 전달되어 디코드된 오류 신호를 생성한다. 이러한 오류 신호는 모션 보상 모듈로부터 가산기(155)를 통해 예측 신호의 뒷부분에 더해져서 복호된 기준 화상(재구성된 화상)을 생성한다. 일반적으로, I-프레임 또는 P-프레임이 디코드된다면, 이 프레임은 최장 기억된 기준 대신 기억될 것이다. 따라서, 코딩 속도를 최적화하면서 비디오 영상의 전체 품질을 유지하는 각 매크로블록에 대한 양자화기 스케일을 선택하는 장치(100)가 설명된다.
도 2는 본 발명의 바람직한 실시예에서 장치의 비트율을 제어하기 위한 복잡도 모형에 따라서 최적의 양자화기 스케일을 얻기 위한 플로우챠트를 도시한다. 본 발명의 바람직한 실시예를 전개하기 위해서, 양자화기 스케일의 선택을 최적화하는 문제가 공식화되었다. 그 해는 코드화되고 있는 화상을 구성하는 모든 매크로블록에 대한 속도-왜곡 특성이나 R(D) 곡선에 근거를 둔다. 그 결과에 기초하여, 실질적인 수행을 위한 보다 작은 복잡도를 갖는 각각의 매크로블록에 대한 양자화기 스케일을 선택하는 방법이 제공한다.
최적 해에 대한 제1 제약 조건은 수학식 1과 같다.
즉, 화상에 대한 타깃 비트율(T)은, 화상 내의 전체 매크로블록수인 모두 N개에 대한 개별 매크로블록에 할당된 비트들(Ri)의 누적으로 측정되는 상태가 된다.
최적 해에 대한 제2 제약 조건은 수학식 2와 같다.
Q1×k1=……=QN×kn
즉, 매크로블록 i에 대해서 양자화기 스케일(Qi)과 인간의 시계(visual system) 가중치 ki의 곱이 화상의 임의의 다른 매크로블록에 대한 Q와 k의 곱과 같아지게 되므로 일정한 표시 품질을 유지할 수 있다. 사실상, 전체 화상은 다음과 같이 대체가능한 동일한 전체 품질을 갖을 수 있도록 최적의 양자화 스케일비의 세트(ki, …, kN-1)로 존재한다.
여기서, ki= k1/k2, …, kN-1= kN-1/kN이다.
최적 해에 대한 제3 제약 조건은 수학식 4와 같다.
Qi×Ri=Xi(vi)
매크로블록(i)에 대한 복잡도의 척도(Xi)는 매트릭스(vi)의 함수이거나, 매크로블록(i)의 비트율과 양자화기 스케일의 곱의 항으로 표시된다. 이러한 함수 관계는 절대적으로 화상층이나 슬라이스층에서 추정된다. 바람직한 실시예에서, 매트릭스(vi)는 매크로블록(i)의 픽셀 상에서 계산된 분산값이다.
도 2에서 설명되는 본 발명의 방법(200)은 상기의 제약 조건들을 수반하는 각각의 매크로블록에 대한 양자화기 스케일을 유도하기 위해 공식화된다. 그 해는 표시 품질이 1 화상이나 프레임 내에서 균일해지도록 모든 양자화기 스케일의 상대비를 유지하면서 타깃 비트율에 도달하게 된다.
도 2를 참조하면, 단계 205에서 본 방법이 시작되어, Ri=XiQi -1(수학식 4)의 관계식을 갖는 초기 모형에 적응하는 단계 210로 진행해서 현재의 매크로블록(i)를 코드화하기 위해서 할당된 비트들(Ri)을 예측한다. 이 초기 모형은 이전 화상의 능동적인 인코딩 또는 TM4와 TM5와 같은 방법을 통해서 화상 I, P 및 B의 각 형태에 대한 복잡도(XI, XP, 및 XB)의 초기 예측을 각각 얻는다. 각각의 화상 형태에 대한 복잡도는 각각의 화상을 인코딩하므로써 발생된 비트수 및 화상에서 매크로블록을 코드화하는데 사용된 양자화기 스케일들의 평균으로부터 유도된다. 초기 모형들은 유사한 형태의 화상들이 동일한 복잡도를 갖게 될 것이기 때문에, Ri가 미리 인코드된 화상으로부터 현재의 매크로블록에 대해서 단계 210에서 빠르게 예측될 수 있다. 현재의 매크로블록에 대해서 예측된 Ri는 단계 220으로 전달되어 적절한 양자화 스케일을 계산한다.
단계 220에서, 본 방법은 보다 정확한 복잡도 모형을 사용하여 수학식 5와 같이 표현되는 양자화기 스케일을 계산한다.
여기서, Ri는 매크로블록(i)에 할당된 비트들이고, Qi는 매크로블록(i)의 양자화 스케일이며, X0, X1, 및 X2는 상수이다. 코딩 프로세스를 시작할 때, 상수 X0와 X2는 0으로 설정된다. 이것을 수학식 5를 수학식 4의 초기 모형으로 효과적으로 감소시킨다. 코딩 프로세스의 초기 단계에서는 부적당한 데이터가 있기 때문에, 수학식 4가 현재의 매크로블록에 대한 양자화기 스케일의 개략적 추정치를 얻기 위해서 사용된다. 즉, 선택된 양자화기 스케일은 이전의 화상에서 매크로블록을 코드화하는데 사용되었던 양자화기 스케일의 평균치가 적합하다.
단계 230에서, 본 방법은 최적 양자화 스케일비의 세트를 유지하는 제약 조건에 기초하여, 변경자(γ)를 계산한다. 이 변경자는 일정한 표시 품질이 전체 화상에 걸쳐서 유지되는 것과 같은, 최적의 양자화기 스케일, Qi(최적)을 생성할 수 있도록 양자화기 스케일에 곱해진다. 변경자 발생 방법은 도 3을 참조하여 후술되어질 것이다.
단계 240에서, 본 방법은 단계 230에서 계산된 최적의 양자화기 스케일을 사용함으로써 매크로블록(i)을 인코드한다. 이 인코딩 방법은 단계 250로 전달되는 매크로블록(i)을 인코드하는데 필요한 실효 비트수를 생성한다.
단계 250에서, 본 발명은 매크로블록(i)을 코드화하는데 사용된 최적의 양자화기 스케일, 및 다항 복귀 모형이나 2차 복귀 모형에서 매크로블록(i)을 인코드하는데 필요한 실효 비트수를 사용하여 단계 220의 복잡도 모형을 세밀히 구별한다. 즉, 상수들(X0, X1, 및 X2)은 매크로블록(i)에 할당된 비트들과 특정 양자화기 스케일에 대해서 매크로블록(i)을 코드화하는데 필요한 실효 비트수 간의 불일치(discrepancy)를 설명하기 위해서 갱신된다. 복귀 모형은 본 기술 분야에서 공지되어 있다. 다양한 복귀 모형에 대한 상세한 설명은, 예를 들어, Bowerman 및 O'Connel,Forecasting and Time Series, 제3판, Duxbury Press, (1993, 제4장)에 제시되어 있다.
단계 260에서, 방법(200)은 현재의 화상에서 코드화되기 위해 남아있는 부가적인 매크로블록들이 있는지의 여부를 묻는다. 이 질문에 긍정적으로 응답하는 경우, 방법(200)은 단계 220으로 복귀하여 갱신된 상수들(X0, X1, 및 X2)을 갖는 다음 매크로블록에 대한 새로운 양자화기 스케일을 계산한다. 질문에 부정적으로 응답하는 경우, 방법(200)은 다음 화상을 코드화하기 위해 진행되거나 종료된다.
도 3은 최적 양자화비의 제약 조건에 기초하는 양자화기 스케일에 대한 변경자를 이끌어내는 방법(300)(도 2의 단계 230)을 도시한다. 본 방법(300)은 단계(305)에서 시작하여, 단계 310으로 진행하여 다음과 같은 공식에 따라서 인간의 시계 가중치(ki, …, kN)를 계산한다.
Acti=1+min(Var_sblk)
여기서, Acti는 매크로블록(i)에 대한 공간적인 액티비티 척도이다. Acti는 원시 픽셀 값을 사용함으로써 최소 4 휘도 프레임 구조의 서브블록들과 4 휘도 필드 구조의 서브블록들로부터 계산될 수 있다. Var_sblk는 수학식 8로서 표현된다.
Pk는 원시 8×8 서브블록들의 원시 픽셀값이다.
단계 310의 바람직한 실시예에서, 인간의 시계 가중치의 세트를 계산하는데 사용된 매크릭스는 매크로블록(i)의 픽셀 상에서 계산된 분산값이다. 화상에 대한 모든 매크로블록들에 대한 인간의 시계 가중치의 세트는 인코딩 이전에 계산된다.
단계 320에서, 본 방법은 인간의 시계 가중치들의 세트를 합하여, 화상에 대한 인간의 총 시계 가중치를 나타내는 척도, K를 유도해 낸다. 따라서, K는 수학식 10과 같이 표현된다.
단계 330에서, 본 방법은 수학식 11과 같이 표현되는, ki-1까지의 모든 인간의 시계 가중치의 합을 얻는다.
사실상, 이 단계는 이전의 매크로블록(i-1)까지의 모든 인간의 시계 가중치의 합을 계산한다.
단계 340에서는, 전체 화상에 대한 투사된 비트수(Tp)가 수학식 12에 의해서 계산된다.
여기서, Bi-1은 이전의 매크로블록(i-1)을 포함할 때까지 현재의 프레임을 코드화하는데 사용된 모든 비트들의 합이다.
단계 350에서, 본 방법은 투사된 비트수(TP)를 화상에 대한 타깃 비트수(T)로 나누어 변경자 또는 비트 액티비티 인덱스율(γ)를 계산한다.
이 변경자는 단계(220)에서 계산된 양자화기 스케일(Qi)과 곱해져서 일정한 표시 품질이 유지될 수 있도록 Qi(최적)을 생성한다.
본 발명의 바람직한 실시예에 있어서, 단계 220에서 예측된 복잡도 모형은 2차 다항식이다. 그러나, 플로우 가든 시퀀스(flower garden sequence)에 대한 시뮬레이션이 선형 복잡도 모형, 2차 다항식 복잡도 모형 및 3차 다항식 복잡도 모형의 성능을 비교하기 위해서 행해졌다. 이들 3개의 방법들의 성능을 결정하는데 있어서, 실효 데이터 전반에 걸쳐 모형의 적합성에 대한 비교가 행해지는데, 즉, 평균 제곱근 오류의 계산이 계산 및 비교되었다.
그 결과를 표 1에 표시된다.
선형 복잡도 모형 2차 다항식 복잡도 모형 3차 다항식복잡도 모형
평균 제곱근 오류 91,702.31 26,362.81 21,517.72
선형 복잡도 모형과 대조하여% 개선 72.25% 76.54%
이 결과는 2차 다항식 복잡도 모형이 화상의 복잡도를 예측한 후 선형 모형에 비해서 71% 이상 개선된다는 것을 증명한다. 또한, 이 결과는 3차 다항식 복잡도 모형이 선형 모형과 비교될 때 76% 이상 개선될 수 있다는 것을 증명한다. 이 3차 다항식 복잡도 모형은 보다 우수한 예측을 할 수 있지만, 또한 보다 높은 계산적 오버헤드를 수반한다. 따라서, 인코더 설계자들은 적절한 복잡도 모형을 선택하여 예측 성능과 계산된 오버헤드 사이에 균형을 이루어야 한다. 바람직한 실시예에 있어서, 2차 다항식 복잡도 모형은 정확한 예측에 적당하게 계산된 오버헤드를 제공한다. 더욱이, 계산된 오버헤드가 특정 응용에서 중요한 제약 조건이 되는 경우, 도 3에서 설명된 바와 같이 단계 230이 생략될 수 있어 속도 제어 프로세스를 간단하게 할 수 있다.
본 발명의 제2 실시예에서는, 인코딩 프로세스 결과 얻어진 실효 데이터가 다음 매크로블록에 대한 양자화기 스케일을 계산하기 위해서 직접 사용된다. 이러한 최적화 프로세스는 수학식 14로 공식화된다.
R(D)=F(D)+λ×E
여기서, R(D)는 화상을 코드화하는데 사용된 전체 비트수이고, F(D)는 현재의 블록의 속도 왜곡 함수이고, E는 화상에서 사용되는 타깃 비트수이며, λ는 레그렌지 승수(Lagrange multiplier)이다. 사실상, 이 레그렌지 승수 프로세스는 화상에 대한 타깃 비트 할당(E)의 제약 조건에 따라 속도 왜곡 함수 F(D)를 최소화하기 위해서 제공된다. 이 최적화 프로세스는 도 4를 참조하여 후술되어질 것이다.
도 4는 인코딩 프로세스로부터 얻어진 실효 데이타를 다음 매크로블록에 대한 양자화기 스케일을 직접 계산하는데 사용하는 속도 제어 방법(400)에 대한 플로우챠트를 도시한다. 본 방법은 단계(405)에서 시작하고 단계(410)으로 진행되는데, 단계(410)에서 본 방법은 TM4나 TM5와 같은 초기 모형을 적용하여 I 프레임, P 프레임, 및 B 프레임에 대해서 각각의 타깃 비트율(TI, TP및 TB)을 계산한다. 대체가능한 모형은 이전의 I, P 및 B 프레임들을 인코드하는데 필요한 실효 비트수로부터 타깃 비트율(TI, TP및 TB)을 단순히 할당하는 것이다.
본 방법(400)은 단계 415에서 수학식 15와 같이 프레임의 각각의 매크로블록에 대한 버퍼의 충만 척도를 계산한다.
여기서,
Ri는 i번째 매크로블록을 인코딩하기 전의 버퍼의 충만 척도;
R0는 초기 버퍼의 충만 척도;
Bi-1는 i-1 매크로블록들을 포함할 때까지 모든 매크로블록을 인코딩함으로써 발생된 비트수:
T는 이전의 I, P 또는 B 프레임 내의 I, P 또는 B 프레임에 대한 타깃 비트 버드짓(budget); 및
NMB는 현재 프레임에서 전체 매크로블록수이다.
버퍼의 충만 척도(Ri)는 현재 코드화된 비트들로 채워져 있는 출력 버퍼의 양에 대한 지시자이다. 이 척도는 인코더가 버퍼를 언더플로우 또는 오버플로우하지 않아, 결과적으로 데이타를 상실하지 않도록 보장한다. 따라서, 본 방법은 출력 버퍼의 충만도에 따라서 변화하는 양자화기 스케일을 정한다.
그 다음, 본 발명은 단계 420에서, i번째 매크로블록에 대한 양자화기 스케일(Qi)을 다음과 같이 계산한다.
단계 425에서, 본 방법은 단계 420에서 매크로블록에 대해 계산된 양자화기 스케일을 갖는 i 매크로블록(MBi)을 인코드한다. 이 매크로블록에 대한 결과로서 얻어진 인코드된 신호는 단계 430으로 전달된다.
단계 430에서, 본 방법은 인코드된 신호로부터 매크로블록에 대한 왜곡(D)을 계산한다. 이 왜곡(D)는 입력 화상의 해당 원시 매크로블록과 양자화된 매크로블록 사이 왜곡의 실효치이다. 계산된 왜곡은 비교를 위해서 단계 435로 전달된다.
단계 435에서, 본 방법은 이전 계산에서 비교된 것처럼 왜곡이 감소했는지의 여부를 묻는다. 처음에, D는 제1 질문에 항상 부정 응답을 하도록, 0으로 설정된다. 질문에 부정 응답을 하는 경우, 본 방법은 단계 440으로 진행하여 T를 T-ΔT로 대체시키는데, 여기서, ΔT는 수학식 18과 같다.
그 다음, 본 발명은 단계(415)로 진행하여 양자화기 스케일을 선택하고 매크로블록을 인코딩하는 프로세스를 반복해서 행한다. 질문에 긍정적으로 응답하는 경우, 본 방법은 단계(450)으로 진행한다. 사실상, 본 방법에서 왜곡은 T가 조정될 때마다 감소하는 실효 데이타로부터 결정되었다.
단계 450에서, 본 방법은 T의 조정을 소정 반복수로 행하였는지의 여부를 묻는다. 이 질문에 부정적으로 응답하는 경우, 본 방법은 단계(455)로 진행하는데, 단계(455)에서는 수학식 18에 따라서 T가 T-ΔT로 다시 대체된다. 이 때, 본 발명은 소정 반복수가 만족될 때까지 반복된다. 이 질문에 긍정적으로 응답하는 경우, 본 방법은 단계(465)로 진행된다. 본 바람직한 실시예에서, T는 20회 조정된다. 그러나, 이 반복수는 속도, 계산적 오버헤드 및 왜곡과 같은 다른 요인들을 고려하여 조정될 수 있다.
단계(465)에서, 본 방법은 최소 왜곡을 발생하는 T를 선택한다. 이 T는 단계(415)에서 다음 매크로블록에 대해서 사용되어질 것이다.
단계(470)에서, 본 방법은 i를 1만큼 증가시킨다. 단계 475에서, 본 방법은 부가적인 매크로블록들이 있는지의 여부를 묻는다. 질문에 긍정적으로 응답하는 경우, 본 방법은 단계(415)로 진행하여 다음 매크로블록에 대해서 전체 방법을 반복한다. 질문에 부정적으로 응답을 하는 경우, 본 방법은 단계(480)으로 진행하는데, 이 단계에서 본 방법이 종료되거나 다음 화상 또는 프레임으로 진행할 것이다.
제3 실시예에 있어서, 도 3의 단계(340)에서 설명된 바와 같이, 투사 비트수(TP)가 이전의 프레임 또는 화상의 코딩 정보를 사용하여 계산될 수 있다. 특히, 연속된 프레임들은 종종 밀접한 상관 관계를 갖기 때문에, 이전의 프레임을 코드화하는데 사용된 비트수가 n 프레임에 대한 투사 비트수, TP(n)를 유도하는데 사용된다.
도 5는 이전의 프레임을 코드화하는데 사용된 비트수와 채널의 전체 비트율[또는, 화상 그룹(GOP)에 대한 비트 버드짓]에 따라서 n 프레임에 대한 투사 비트수 TP(n)를 계산하는 방법(500)에 대한 플로우챠트 도시한다. 본 방법(500)은 모든 형태의 화상에 적용될 수 있지만, 특히 P 화상에 대한 비트수를 예측하는데 적합하다. 그러나, 본 기술 분야의 통상의 지식을 가진자들에게 방법(500)이 I 및 B의 화상 예측을 향상시키기 위해 조정될 수 있다는 것은 자명하다.
도 5를 참조하면, 방법(500)은 단계(510)에서 시작되어 단계(520)으로 진행하는데, 이 단계(520)에서 본 방법(500)은 다음과 같이 표현되는 TP(AVG)를 계산한다.
TP(AVG)=Max(비트율/프레임율,R/N)
여기서, TP(AVG)는 잔존 프레임을 코드화하는데 필요한 투사된 평균 비트수이고, R은 잔존 비트수이며, N은 잔존 프레임수이다. 즉, 단계(520)에서, 방법(500)은 비트율을 프레임율(frame rate)로 나누거나 GOP 내의 잔존 비트수를 GOP 내의 잔존 프레임수로 나누는 것중 보다 나은 것을 선택함으로써 잔존 프레임들을 코드화하는데 필요한 투사된 평균 비트수를 유도해 낸다. 수학식 19는 단계(500)가 프레임에 대한 비트 버드짓에 중요한 영향을 미치는 채널 비트율의 변화를 카운트할 수 있도록 허용한다. 결국, 일반적으로 프레임율은 초당 30 프레임으로 설정된다.
그러나, TP(AVG)의 계산은 연속된 프레임의 내용의 밀접한 상관관계를 설명하지는 못한다. 즉, 이것은 독립된 내용으로 잔존 프레임과 동일한 유효 비트들로 분포되어 있다.
단계(530)에서, 방법(500)은 TP(AVG)으로부터 다음과 같이 표현되는 n 프레임에 대한 투사 비트수 TP(n)를 계산한다.
TP(n)=TP(AVG)×(1-w)+B(n-1)×w
여기서, B(n-1)은 이전의 프레임을 코드화하는데 사용된 비트수이고 w는 0.05로 설정되는 가중치 인수이다. 따라서, n 프레임에 대한 투사된 비트수 TP(n)는 계수를 포함한다. 그 다음, TP(n)가 도 2 내지 도 4에서 상술된 바와 같이 효과적인 속도 제어를 완수하기 위해서 양자화기 스케일을 변경하는데 사용될 수 있다. 마지막으로, 방법(500)은 단계(540)에서 종료된다.
또한, 본 기술 분야의 통상의 지식을 가진자들에게 소비된 비트수 대 잔존 비트수를 구함으로써 방법(500)을 행할 수 있다는 것은 자명하다. 또한, 가중치 인수(w)는 다른 응용 분야를 수용할 수 있도록 다른 값들을 조정되거나 GOP 내의 내용에 응답하도록 조정될 수 있다.
마지막으로, 부록 A는 공개될 MPEG 4 표준에서 제시된 검증 모형(VM)과 비교하여 방법(500)에서 설명된 속도 제어 방법의 효과를 증명하기 위해서 첨부하였다.
도 6은 본 발명의 제4 실시예에서 통합된 인코더(600)를 설명한다. 인코더는 블록 모션 보상기(BMC) 및 모션 벡터 코더(604), 감산기(602), 이산 코사인 변환(DWT) 코더(606), 비트율 제어기(610), DWT 디코더(612) 및 출력 버퍼(614)를 포함한다.
일반적으로, 입력 신호는 비디오 영상 신호[비디오 시퀀스의 프레임을 정의하는 픽셀(화소)들의 2차원 어레이]이다. 낮은 비트율 채널을 통해 영상을 정확하게 송신하기 위해서, 비디오 프레임 시퀀스의 공간적 시간적 리던던시가 사실상 감소되어야 한다. 이것은 일반적으로 연속된 프레임들 사이의 차이만을 코딩 및 송신함으로써 조정할 수 있다. 인코더는 3가지 기능을 갖는데, 첫번째 기능은 BMC 및 그 코더(604)를 사용하여 프레임들 사이에 발생된 모션을 표시하는 복수의 모션 벡터를 생성하는 것이고, 두번째 기능은 모션 벡터와 조합된 이전의 프레임의 재구성 버젼을 사용하여 현재의 프레임을 예측하는 것이며, 세번째 기능은 현재의 프레임에서 예측된 프레임을 감산하여 모션 벡터와 함께 수신기로 코드화되어 전송되는 잔여 프레임을 발생하는 것이다. 수신기에서, 디코더는 코드화된 여유 및 모션 벡터를 사용하는 각각의 비디오 프레임을 재구성한다. 도 6에서 설명된 일반적인 구성을 갖는 파형-기본 비디오 인코더는 1995년 10월 25일자로 출원된 미합중국 가특허 출원 일련 번호 60/007,012호, 대리인 도켓 번호 11908(_자로 출원된 미합중국 특허 출원 번호_로 변경됨, 대리인 도켓 번호 DSRC 11908) 및 1995년 10월 25일자로 출원된 미합중국 가특허 출원 일련 번호 60/007,013호, 대리인 도켓 번호 11730(1996년 10월 23일자로 출원된 미합중국 특허 출원 번호 _로 변경됨, 대리인 도켓 번호 DSRC 11730)에 제시되어 있는데, 양출원은 본 발명에서 참조된다. 이 2개의 특허 출원은 비디오 신호를 인코드하기 위한 파형 변환을 사용을 설명한다.
본 특허 명세서는 파형 인코더의 코딩 속도를 제어하기 위한 기술에 촛점을 둔다. 비디오 시퀀스로부터 파형을 형성하는 인코더의 일반적인 기능은 본 발명에서 중요한 부분은 차지하진 않지만 도 6에서만 도시되어 실질적인 전후 관계에서 본 발명을 실시할 수 있도록 후술된다.
이산적인 파형 변환은 파형의 계층적 서브대역 분할을 행하여 입력 영상의 종래의 파형 트리 표현을 생성한다. 이러한 영상 분할을 수행하기 위해서, 영상은 2회의 부표본화(subsampling)를 사용하여, 하이 수평-하이 수직(HH), 하이 수평-하이 수직(HL), 로우 수평-하이 수직(LH), 및 로우 수평-로우 수직(LL) 서브대역으로 분할된다. LL 서브대역은 2회 더 표본화되어 HH, HL, LH, 및 LL 서브 대역 세트를 형성한다. 이러한 부표본화는 반복적으로 행해져 3 부표본화를 사용하는 경우 도 7에 도시된 바와 같은 서브대역 어레이를 형성한다. 가장 낮은 주파수 서브대역은 상부 좌측의 LL1이고, 가장 높은 주파수 서브대역은 저부 하측의 HH3이다. 본 실시예에서, 모든 자식 노드들(child node)은 한개의 부모 노드(patent)를 갖는다. 서브대역 분할의 상세한 설명은 J.M.Shapiro, "Embedded Image Coding Using Zerotrees of Wavelet Cofficients" IEEE trans. on Signal Processing, Vol.41, No.12, pp.3445-62, 12월 1993에 제시된다.
도 6의 DWT 코더는 "제1 폭"이나 "제1 깊이" 패턴 내의 파형 트리의 계수를 코드화한다. 제1 폭 패턴은 비트플레인×비트플레인 패턴에서 파형 트리를 통과하는데, 즉, 모든 부모 노들들, 모든 자식 노드들, 및 모든 손자 노드들을 양자화한다. 이와는 대조적으로, 제1 깊이 패턴은 로우-로우 서브대역(LL1)의 루트에서부터 자식을 거쳐서(하향식: top down) 또는 자식에서부터 로우-로우 서브대역을 거쳐서(상향식: bottom up) 각 트리를 통과한다.
도 8은 속도 제어기(610)의 상세한 블록도 및 DWT 코더(606)와의 상호 접속을 도시한다. DWT 코더는 양자화기(804)와 직렬로 접속되고, 차례로 엔트로피 코더(806)에 접속되어 있는 DWT(802)를 포함한다. 양자화기의 출력은 또한 DWT 코더(612)에 접속된다. 엔트로피 코더의 출력 신호는 출력 버퍼(614)에 연결된다. DWT 코더로의 입력은 전형적으로 모션 보상 여유를 포함하는 프레임들의 시퀀스이다. 그러나, 일반적으로 입력 시퀀스는 임의의 2차원 데이타를 포함하는 연속적인 프레임일 수 있다. 프레임 내의 이러한 데이타의 특정 속성은 본 발명의 동작과는 무관하다.
양자화기(804)는 파형 변화 계수를 양자화하기 위해 사용된다. 본 발명의 속도 제어기(610)는 소정의 연속된 프레임에 대한 소정의 비트 버드짓이 코딩 프로세스 동안 초과할 수 없도록 파라미터의 수에 따라서 양자화기 스케일(스텝 크기)를 제어한다. 비디오 프레임들의 시퀀스에서 프레임(임의의 제1 프레임)의 통계적 해석에 따라서, 본 발명은 다음 프레임(제2 프레임)에 대한 비트 버드짓을 발생한다. 이러한 통계적 해석은 변형 이전의 프레임에 따라서 행해지므로, 프레임층에서 행해질 수 있다고 말할 수 있다. 변형 후 수행되는 프로세싱은 파형 트리층에서 발생된다고 말할 수 있다. 트리당 임의 비트수의 할당은 시퀀스 내의 이전의 프레임들을 코드화하는데 사용된 비트수에 따라서 행해져, 현재의 프레임의 복잡도와 출력 버퍼에 의해서 제공된 버퍼 충만 정보를 코드화한다. 트리에서 각 계수에 대한 양자화 파라미터는 이 트리에 대한 비트 할당을 기초로 하여 계산된다.
인코더로 입력된 비디오 시퀀스가 내부 프레임(I-프레임)과 예측 프레임(P-프레임)의 2개의 형태를 갖는 연속된 프레임들을 포함하는 경우를 생각해 보자. 또한, 이 시퀀스에서 I-프레임은 예를 들어, 시퀀스가, … I P P P P P P … P P P I P P …와 같이 되는 모든 F P-프레임들을 발생하는 경우를 생각해 보자.
I-프레임에서부터 다음 I-프레임까지 상하 한계값의 차를 구하는 프레임 그룹들을 코드화하는데 필요한 전체 비트수(G)는 다음과 같다.
따라서, 모두 120개의 프레임이 초당 30개의 프레임의 비율로 전송되는 I-프레임을 갖는 64kbps로 동작하는 시스템에 내장된 인코더에서, 프레임 그룹 내의 모든 프레임들을 코드화하는데 필요한 전체 비트수는 256kbit로, 즉, 시퀀스의 비트 버드짓은 256kbit이다. 최적의 할당을 하기 위해서, 속도 제어기(610)는 프레임층 비트 할당기(808), 파형 트리층 비트 할당기(810) 및 양자화기 파라미터 마스크 발생기(812)를 포함한다. 프레임층 할당기(808)는 파형 트리층 비트 할당기(810)에 접속되고 2개의 할당기는 양자화기 파라미터 마스크 발생기(812)에 접속된다. 이 마스크 발생기는 양자화기 파라미터의 2차원 어레이를 만든다. 이 어레이는 DMT 코더(606)에 의해 최적의 비트율을 얻을 수 있도록 공칭 양자화기 스케일 값을 변경하는데 사용된다. 프레임층 비트 할당기의 동작은 도 9에서 논의되고, 파형 트리층 비트 할당기의 동작은 도 10을 참조하여 논의된다.
A. 프레임층에서의 비트 할당
도 9는 프레임층 할당기를 동작에 의한 프로세스(900)의 플로우챠트를 도시한다. 이 프로세스는 단계(902)에서 시작하여 단계(904)에서 계속된다. 제1 I-프레임을 코드화하기 이전에, 단계(904)에서 속도 제어 프로세스는 프레임 그룹을 코드화하기 위해 남아있는 비트수를 나타내는 변수 R이 전체 비트 버드짓(G)와 같게 설정된다. 그 다음, 프로세스는 다음의 수학식 22에 따라서 제1 I-프레임에 대한 타깃 비트율을 정한다.
여기서,
Ti는 제1 I-프레임에 대한 타깃 비트수;
NP=F-1은 시퀀스의 P-프레임수;
TP는 P-프레임에 대해서 정해진 평균 비트 버드짓;
R은 할당용으로 사용되는 잔존 비트들;
XP는 소정 P-프레임에 대한 복잡도 척도;
Xi는 소정 I-프레임에 대한 복잡도 척도;
Ki는 소정 I-프레임에 대한 가중치 계수; 및
KP는 소정 P-프레임에 대한 가중치 계수이다.
XP와 Xi의 값은 초기에 다음과 같은 소정의 비트율 함수로 설정된다.
그 후, 각 프로세스의 반복은 갱신된 Xi와 XP값을 발생한다. 복잡도 척도 Xi와 XP은 프레임들이 코드화될 때 갱신된다. 복잡도 척도를 갱신하기 위해 사용되는 방법은, 가장 간단한 형식에서, 이전의 프레임에 대해서 발생된 양자화 파라미터의 평균치에 이전의 화상을 코드화하는데 사용된 비트수를 곱함으로써 갱신된다. 초기 복잡도 값을 정하고 이 값을 갱신하기 위한 간단한 방법은 International Organization for Standardization, Coded Representation of Picture And Audio: Test Model 5, ISO-IEC/JTC1/SC29/WG11, Version 1, pp.61-64,1993년 4월에 개시되었다. 복잡도 척도를 계산하기 위한 한가지 방법이 본 발명에 적용되었다.
XP와 Xi값은 양자화기 스케일 값(QT)에 의해 정의되는 "일반 상수"이다. 일반적으로, QT는 단일값이 아니라, 프레임의 각각의 트리에 대해서 공칭 양자화기 스케일을 결정하는 값들의 매트릭스이다. 가중치 함수 XP와 Xi의 일반적인 값은 각각 1.4와 1.0이다.
프로세스는 I-프레임에 대해서 코딩을 계산한 후 단계 908에서 R값을 갱신한다.
R=R-Ti
프로세스는 프레임 그룹에서 n차 프레임인, P-프레임에 대한 타깃 비트율을 다음과 같이 정한다.
TP n=R/NP
여기서, TP n는 n차 프레임에 대한 타깃 비트율이다.
단계(912)에서, 프로세스는 현재의(n번째) 프레임에 포함된 각각의 파형 트리에 대한 비트 할당을 계산한다. 이것은 도 10의 파형 트리층 비트 할당 프로세스를 실행함으로써 행해진다. 이 프로세스는 이하 상세히 후술된다.
단계(914)에서, 프로세스는 시퀀스 내의 모든 프레임이 처리되었는지의 여부, 즉 n=F인지의 여부를 묻는다. 이 질문에 긍정적으로 답한다면, 모든 프레임들, 즉 한 개의 I-프레임과 (F-1) P-프레임들이 처리되고, 프로세스는 다음 프레임 그룹을 처리하기 위해서 단계(904)로 복귀된다. 만일 질문에 부정적으로 답한다면, 프로세스는 단계(916)으로 진행된다.
각각의 프레임을 코드화한 후, 수학식 21의 변수는 단계(916)에서 다음과 같이 갱신된다.
NP=NP-1
R=R-NNT n
n=n+1
여기서, BNT n은 n번째 프레임을 코드화하는데 사용되는 실효 비트수; 및
NT는 각각의 프레임을 나타내는 전체 파형 트리수이다.
이 때, 프로세스는 DWT 코더에 의해서 코드화될 다음 프레임(n번째 프레임)에 대한 비트 버드짓을 계산한다. 다음에는, 프로세스가 n번째 프레임을 포함하는 각각의 트리에 프레임층 비트 버드짓을 할당해야 한다.
B. 비트들을 파형 트리들에 할당
도 10은 파형 트리층 비트 할당기의 동작을 나타내는 파형 트리층 비트 할당 프로세스(1000)의 플로우챠트를 나타낸다. 이 프로세스(1000)는 단계(1002)에서 프로세스(900)로부터 들어간다. 상술된 바와 같이, 각각의 프레임은 분할된 입력 프레임의 로우-로우 대역으로부터 확장된 복수의 파형 트리에 의해서 표현된다. 따라서, n번째 프레임에 할당된 코딩 비트는 트리(j)에 할당되어야 한다. 이 프로세스(1000)는 단계(104)에서 프레임 내의 각 트리에 대한 버퍼의 충만 척도를 다음과 같이 계산한다.
여기서,
Rj n는 j번째 트리를 인코딩하기 전 버퍼의 충만 척도;
R0 n는 초기 버퍼의 충만 척도;
Bj n는 j번째 트리를 포함할 때까지 n번째 프레임에서 모든 파형 트리를 인코드함으로써 발생된 비트수;
Tn는 이전의 I 또는 P프레임의 타깃 비트 버드짓(즉, 이전 프레임이 버퍼로부터 추출될 때 버퍼에서 자유롭게 될 근사적인 비트수); 및
NT는 현재의 프레임에서 전체 파형 트리수이다.
버퍼의 충만 척도(Rj n)는 코드화된 비트들로 현재 채워져 있는 출력 버퍼의 양에 관한 표현이다. 이 척도는 인코더가 버퍼에서 언더플로우 또는 오버플로우되지 않도록 보장하는데, 그 결과 데이터가 손실된다. 따라서, 프로세스는 출력 버퍼의 충만도에 따라서 변화하는 양자화기 스케일을 정한다.
그 다음 프로세스는 단계(1006)에서 j번째 파형 트리에 대한 양자화 파라미터(Qj n)를 다음과 같이 계산한다.
양자화 파라미터는 이러한 파라미터 어레이에 기억된다. 후술되는 바와 같이, 이 어레이는 각각의 트리 내의 파형 계수를 최상으로 양자화하는데 이용될 수 있는 마스크를 형성한다.
단계(1008)에서, 프로세스는 현재의 프레임 내의 모든 트리들이 처리될지의 여부, 즉, j=NT인지의 여부를 묻는다. 이 질문에 긍정적인 응답을 하는 경우, 프로세스는 단계(1010)에서, 트리 인덱스(j=j+1)를 증가시킨 다음, 단계(1004)로 복귀하여 프레임에서 다음 트리에 대한 버퍼의 충만 척도를 계산한다. 프로세스는 프레임내 모든 트리들이 J=NT까지 모든 J값에 대해서 반복해서 처리될 때까지 이 루프를 통해서 진행된다. 단계(1008)에서 질문에 부정적인 응답을 하는 경우, 프로세스는 "아니요" 경로를 따라서 단계(1012)으로 진행한다. 이 단계(1012)에서는, 버퍼의 충만 척도가 n번째 프레임에 대해서 j=NT가 n+1번째 프레임에 대한 초기의 버퍼의 충만 척도로서 사용될 때 최종 버퍼의 충만치가 초기 버퍼의 충만 척도를 갱신하는데 사용된다. 이에 따라서,
R0 n=RNT n
완료되면, 프로세스는 프레임의 각 트리의 비트 할당을 계산하고, 단계(1014)에서 프레임층 비트 할당 프로세스(900)로 복귀한다. 이 때, 속도 제어기는 현재의 프레임에 대한 양자화 마스크를 발생한다. 이와 같이, 현재의 프레임은 새롭게 양자화 및 코드화된다.
C. 적응 양자화(Adaptive Quantization)
양자화 파라미터 마스크는 각 프레임에 대한 타깃 비트율이 되는 양자화 스텝 크기(양자화기 스케일)을 정한다. 양자화기 스텝(m_quant)은 다음과 같이 계산된다.
m­quant=Qj n×QT
여기서,
QT는 프레임의 전체 시퀀스에 대해서 일정한 공칭 양자화기 스케일 값으로, 이는 프레임에서 프레임으로 변화될 수 있지만, 각각의 프레임 내에서 일정하거나 변화될 수 있다.
이와 같이, 수학식 33에서 각 값들은 매트릭스 양이 될 수 있다. 이 양자화 파라미터는 사실상, 공칭 양자화 스케일값으로 대체되어 비트 버드짓이 유지되고 파형-기본 비디오 인코더의 출력에서 비트율이 사실상 일정하도록 보장한다.
따라서, 코딩 속도를 유지하면서 비디오 영상의 전체 품질을 유지하는 각각의 매크로블록에 대한 양자화기 스케일을 반복적으로 조정하는 새로운 장치 및 그 방법을 도시하고 설명하였다. 그러나, 많은 변화, 변형, 변동 및 본 발명에 대한 다른 사용과 응용은 본 명세서 및 그 실시예들을 도시한 첨부 도면을 고려한 후에 본 발명의 통상의 지식을 가진자들에게 자명해질 것이다. 본 발명의 기술 사상이나 기술 영역을 벗어나지 않는 이러한 모든 변화, 변형, 변동 및 다른 사용과 응용은 다음 청구의 범위로 제한되어지는 본 발명에 포함되는 것으로 간주한다.
부록 A
3. 실험 결과
클래스 A와 B 시퀀스에 대한 코딩 결과가 있다. I프레임에서는, 양자화 스텝을 10으로 설정한다. P프레임에서는, 양자화 스텝을 클래스 A 시퀀스에 대해서 10, 24, 및 48 Kbps에서 각각 15, 10 및 6으로 설정한다. 클래스 B 시퀀스에 대해서, 양자화 스텝은 24, 48, 및 112 Kbps에서 각각 15, 10 및 6으로 설정한다. VM 속도 제어가 이 양자화 스텝 세트들이 갖는 타깃 속도가 히트되지 않을 경우, 타깃 속도에 도달할 때까지 미세한 동조가 수행된다. Q2 접근은 어떠한 초기 양자화기 스텝도 필요로하지 않는다.
3.1 클래스 A 시퀀스
AKIYO
Mother and Daughter
Hall Monitor
Container Ship
3.2 클래스 B 시퀀스
News
Coast Guard
Silent
Foreman

Claims (10)

  1. 적어도 하나의 블록으로 분할되어 있는, 적어도 하나의 입력 프레임을 갖는 입력 영상 시퀀스를 인코딩하는 장치에 있어서,
    상기 블록에 대한 모션 벡터를 계산하고 상기 모션 벡터를 사용하여 예측된 영상을 발생하기 위한 블록 모션 보상기;
    상기 블록 모션 보상기에 결합되어 상기 입력 프레임과 상기 예측된 영상간의 차이 신호에 복수의 계수들을 생성하는 변환을 가하기 위한 변환 모듈;
    상기 변환 모듈에 결합되어 상기 복수의 계수들을 양자화기 스케일로 양자화하기 위한 양자화기;
    상기 양자화기에 결합되어 바로 직전에 인코드된 부분으로부터의 코딩 정보에 응답하여 현재의 프레임에 대한 상기 양자화기 스케일을 선택적으로 조정하기 위한 위한 제어기; 및
    상기 양자화기에 결합되어 상기 복수의 양자화된 계수를 코딩하기 위한 코더
    를 포함하는 인코딩 장치.
  2. 제1항에 있어서, 상기 바로 직전에 인코드된 부분이 인코드된 프레임이고, 상기 바로 직전에 인코드된 부분으로부터의 상기 코딩 정보가 영상 시퀀스에서 프레임 "n"에 대한 투사된 비트수를 결정하는데 사용되는 인코딩 장치.
  3. 제1항에 있어서, 상기 변환 모듈이 복수의 파형 트리(wavelet trees)를 생성하기 위해서 파형 변환을 가하는 인코딩 장치.
  4. 제3항에 있어서, 상기 바로 직전에 인코된 프레임으로부터의 상기 코딩 정보가 상기 복수의 파형 트리로부터 j번째 파형 트리를 인코딩하기 전에 버퍼의 충만 척도(buffer fullness measure)를 결정하는데 사용되는 인코딩 장치.
  5. 제1항에 있어서, 상기 바로 직전에 인코드된 부분이 인코드된 매크로블록이고, 상기 바로 직전에 인코드된 부분으로부터의 상기 코딩 정보가 복잡도 모형을 조정하는데 사용되는 인코딩 장치.
  6. 적어도 하나의 블록으로 분할되어 있는, 적어도 하나의 입력 프레임을 갖는 입력 영상 시퀀스를 인코딩하는 방법에 있어서,
    상기 블록에 대한 모션 벡터를 계산하는 단계;
    상기 모션 벡터를 사용하여 예측된 영상을 발생하는 단계;
    복수의 계수를 생성하는 변환을 상기 입력 프레임과 상기 예측된 영상간의 차동이 신호에 가하는 단계;
    상기 복수의 계수들을 양자화기 스케일로 양자화하는 단계;
    바로 직전에 인코드된 부분으로부터의 코딩 정보에 응답하여 현재의 프레임에 대한 상기 양자화기 스케일을 선택적으로 조정하는 단계; 및
    상기 복수의 양자화된 계수들을 코딩하는 단계
    를 포함하는 인코딩 방법.
  7. 제6항에 있어서, 상기 변환 가함 단계는 복수의 파형 트리를 생성하기 위해서 파형 변환을 가하는 인코딩 방법.
  8. 제7항에 있어서, 상기 바로 직전에 인코드된 프레임으로부터의 상기 코딩 정보는 상기 복수의 파형 트리들로부터 j번째 파형 트리를 인코드하기 전에 버퍼의 충만 척도를 결정하는데 사용되는 인코딩 방법.
  9. 제6항에 있어서, 상기 바로 직전에 인코드된 부분이 인코드된 매크로블록이고, 상기 바로 직전 인코드된 부분으로부터의 상기 코딩 정보가 복잡도 모형을 조정하는 사용되는 인코딩 방법.
  10. 적어도 하나의 블록으로 분할되어 있는, 적어도 하나의 입력 프레임을 갖는 입력 영상 시퀀스를 인코딩하기 위해서 최적의 양자화기 스케일을 선택하는 방법에 있어서,
    상기 입력 프레임을 인코딩하기 위해서 비트 할당을 산출하는 단계; 및
    바로 직전에 인코드된 부분으로부터의 코딩 정보에 응답하여 현재 프레임에 대한 양자화기 스케일을 선택하는 단계
    를 포함하는 최적의 양자화기 스케일 선택 방법.
KR1019980702978A 1995-10-25 1996-10-24 코딩 시스템에서 속도 제어를 최적화하기 위한장치 및 그 방법 KR19990067041A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US701495P 1995-10-25 1995-10-25
US701695P 1995-10-25 1995-10-25
US60/007,016 1995-10-25
US60/007,014 1995-10-25
US2087296P 1996-06-28 1996-06-28
US60/020,872 1996-06-28
PCT/US1996/017204 WO1997016029A1 (en) 1995-10-25 1996-10-24 Apparatus and method for optimizing the rate control in a coding system

Publications (1)

Publication Number Publication Date
KR19990067041A true KR19990067041A (ko) 1999-08-16

Family

ID=27358239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980702978A KR19990067041A (ko) 1995-10-25 1996-10-24 코딩 시스템에서 속도 제어를 최적화하기 위한장치 및 그 방법

Country Status (6)

Country Link
US (1) US6160846A (ko)
EP (1) EP0857394B1 (ko)
JP (1) JP3739094B2 (ko)
KR (1) KR19990067041A (ko)
DE (1) DE69628935T2 (ko)
WO (1) WO1997016029A1 (ko)

Families Citing this family (161)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549666B1 (en) 1994-09-21 2003-04-15 Ricoh Company, Ltd Reversible embedded wavelet system implementation
US6873734B1 (en) * 1994-09-21 2005-03-29 Ricoh Company Ltd Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
KR0185646B1 (ko) * 1996-01-06 1999-05-01 김광호 영상압축장치의 영상압축데이터량 조정회로 및 그 방법
US6233017B1 (en) * 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes
US6728775B1 (en) 1997-03-17 2004-04-27 Microsoft Corporation Multiple multicasting of multimedia streams
GB9712651D0 (en) * 1997-06-18 1997-08-20 Nds Ltd Improvements in or relating to encoding digital signals
KR19990005283A (ko) * 1997-06-30 1999-01-25 배순훈 웨이브렛 변환 영역에서의 계층적 움직임 추정 방법
FI107496B (fi) * 1997-07-18 2001-08-15 Nokia Mobile Phones Ltd Kuvan kompressointi
DE69826823T2 (de) * 1997-07-29 2005-10-20 Koninklijke Philips Electronics N.V. Verfahren zur videocodierung mit variabler bitrate und entsprechender videocodierer
EP0940042B1 (en) 1997-07-29 2005-07-27 Koninklijke Philips Electronics N.V. Variable bitrate video coding method and corresponding video coder
GB9716579D0 (en) * 1997-08-05 1997-10-08 Univ Bath Signal coding and decoding
AU1062999A (en) * 1997-09-29 1999-04-23 Rockwell Semiconductor Systems, Inc. System and method for compressing images using multi-threshold wavelet coding
AUPO951297A0 (en) * 1997-09-29 1997-10-23 Canon Information Systems Research Australia Pty Ltd Method and apparatus for digital data compression
US6873368B1 (en) * 1997-12-23 2005-03-29 Thomson Licensing Sa. Low noise encoding and decoding method
TW501022B (en) * 1998-03-16 2002-09-01 Mitsubishi Electric Corp Moving picture coding system
JPH11298890A (ja) * 1998-04-13 1999-10-29 Hitachi Ltd 画像データの圧縮又は伸張方法とその装置、並びに、それを用いた画像伝送システム及び監視システム
US6292512B1 (en) * 1998-07-06 2001-09-18 U.S. Philips Corporation Scalable video coding system
EP1034659B1 (en) * 1998-07-10 2006-11-02 Koninklijke Philips Electronics N.V. Bit-rate modification
US6411740B1 (en) * 1998-11-04 2002-06-25 Sharp Laboratories Of America, Incorporated Method for non-uniform quantization in a resolution hierarchy by use of a nonlinearity
US7181073B1 (en) * 1999-03-08 2007-02-20 Texas Instruments Incorporated Image coding using embedded zerotree patterns and bitplanes
KR20000059799A (ko) * 1999-03-09 2000-10-05 구자홍 웨이브릿 부호화를 이용한 움직임 보상 부호화 장치 및 방법
US6778709B1 (en) * 1999-03-12 2004-08-17 Hewlett-Packard Development Company, L.P. Embedded block coding with optimized truncation
FR2792798B1 (fr) * 1999-04-26 2001-05-25 Thomson Multimedia Sa Procede et dispositif de quantification pour compression video
US6351491B1 (en) * 1999-06-23 2002-02-26 Sarnoff Corporation Apparatus and method for optimizing the rate control for multiscale entropy encoding
US6535644B1 (en) * 1999-07-01 2003-03-18 Koninklijke Philips Electronics N.V. Hierarchical foveation based on wavelets
JP4287545B2 (ja) * 1999-07-26 2009-07-01 パナソニック株式会社 サブバンド符号化方式
US6549673B1 (en) * 1999-10-28 2003-04-15 Lucent Technologies Inc. Wavelet-based compression of images for storage, transmission and reconstruction using hierarchical subband decomposition
US6963609B2 (en) * 2000-01-12 2005-11-08 Koninklijke Philips Electronics N.V. Image data compression
KR100359821B1 (ko) * 2000-01-20 2002-11-07 엘지전자 주식회사 움직임 보상 적응형 영상 압축과 복원방법 및 그 장치와디코더
JP2001285876A (ja) * 2000-03-30 2001-10-12 Sony Corp 画像符号化装置とその方法、ビデオカメラ、画像記録装置、画像伝送装置
US6724817B1 (en) * 2000-06-05 2004-04-20 Amphion Semiconductor Limited Adaptive image data compression
JP2002084540A (ja) * 2000-06-28 2002-03-22 Canon Inc 画像処理装置、画像処理方法、電子カメラ、及び、プログラム
JP2004509531A (ja) * 2000-09-12 2004-03-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ符号化方法
US7062445B2 (en) * 2001-01-26 2006-06-13 Microsoft Corporation Quantization loop with heuristic approach
US6671324B2 (en) * 2001-04-16 2003-12-30 Mitsubishi Electric Research Laboratories, Inc. Estimating total average distortion in a video with variable frameskip
DE10120395A1 (de) * 2001-04-25 2002-10-31 Bosch Gmbh Robert Einrichtung zur Interpolation von Abtastwerten sowie Bildencoder und Bilddecoder
US6944225B2 (en) * 2001-07-24 2005-09-13 Sharp Laboratories Of America, Inc. Resolution-scalable video compression
WO2003028237A1 (en) * 2001-09-28 2003-04-03 Divxnetworks, Inc. Dynamic bit rate control process
US7403564B2 (en) * 2001-11-21 2008-07-22 Vixs Systems, Inc. System and method for multiple channel video transcoding
US7356079B2 (en) 2001-11-21 2008-04-08 Vixs Systems Inc. Method and system for rate control during video transcoding
US7027982B2 (en) 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
AU2003219461A1 (en) * 2002-04-29 2003-11-17 Koninklijke Philips Electronics N.V. Motion compensated temporal filtering based on multiple reference frames for wavelet coding
US7388912B1 (en) * 2002-05-30 2008-06-17 Intervideo, Inc. Systems and methods for adjusting targeted bit allocation based on an occupancy level of a VBV buffer model
US7099513B2 (en) * 2002-06-18 2006-08-29 Pts Corporation Bit allocation process for multi-stage image compression
US6980695B2 (en) * 2002-06-28 2005-12-27 Microsoft Corporation Rate allocation for mixed content video
EP1520431B1 (en) * 2002-07-01 2018-12-26 E G Technology Inc. Efficient compression and transport of video over a network
AU2003247711A1 (en) * 2002-07-09 2004-01-23 Aware, Inc. Iterative compression parameters control for a sequence of images
US7418037B1 (en) 2002-07-15 2008-08-26 Apple Inc. Method of performing rate control for a compression system
US7769084B1 (en) 2002-07-15 2010-08-03 Apple Inc. Method for implementing a quantizer in a multimedia compression and encoding system
US7440502B2 (en) 2002-11-14 2008-10-21 Georgia Tech Research Corporation Signal processing system
US7804897B1 (en) * 2002-12-16 2010-09-28 Apple Inc. Method for implementing an improved quantizer in a multimedia compression and encoding system
US7940843B1 (en) * 2002-12-16 2011-05-10 Apple Inc. Method of implementing improved rate control for a multimedia compression and encoding system
US7352809B2 (en) * 2003-02-21 2008-04-01 Polycom, Inc. System and method for optimal transmission of a multitude of video pictures to one or more destinations
EP1892965A3 (en) * 2003-04-04 2011-04-06 Avid Technology, Inc. Fixed bit rate, intraframe compression and decompression of video
EP1629675B1 (en) * 2003-04-04 2008-01-09 Avid Technology, Inc. Fixed bit rate, intraframe compression and decompression of video
US7403561B2 (en) 2003-04-04 2008-07-22 Avid Technology, Inc. Fixed bit rate, intraframe compression and decompression of video
US7433519B2 (en) 2003-04-04 2008-10-07 Avid Technology, Inc. Bitstream format for compressed image data
US8204323B2 (en) 2003-06-05 2012-06-19 Aware, Inc. Image quality control techniques
KR20060034294A (ko) * 2003-07-16 2006-04-21 코닌클리케 필립스 일렉트로닉스 엔.브이. 엔코딩 방법 및 디바이스
US7602851B2 (en) 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
US7343291B2 (en) 2003-07-18 2008-03-11 Microsoft Corporation Multi-pass variable bitrate media encoding
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US7580584B2 (en) 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
US7383180B2 (en) 2003-07-18 2008-06-03 Microsoft Corporation Constant bitrate media encoding techniques
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US8218624B2 (en) 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US20050063314A1 (en) * 2003-09-19 2005-03-24 Zafer Sahinoglu Method and system for content aware and energy efficient transmission of videos and images
JP2007509525A (ja) * 2003-10-20 2007-04-12 サムスン エレクトロニクス カンパニー リミテッド 視覚的画質を均一にするビットレートコントロール方法及び装置
US7889792B2 (en) 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
KR100575962B1 (ko) * 2003-12-31 2006-05-02 삼성전자주식회사 비디오 처리 장치의 파이프 라인 동작 방법과 그에 따른비트율 제어 방법
US20050207491A1 (en) * 2004-03-17 2005-09-22 Bin Zhang Estimating motion trials in video image sequences
US20050207501A1 (en) * 2004-03-18 2005-09-22 Sony Corporation Method of and system for video bit allocation for scene cuts and scene changes
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
US20050286629A1 (en) * 2004-06-25 2005-12-29 Adriana Dumitras Coding of scene cuts in video sequences using non-reference frames
FR2872989A1 (fr) * 2004-07-06 2006-01-13 Thomson Licensing Sa Procede et dispositif pour choisir un vecteur mouvement pour le codage d'un ensemble de blocs
US7860158B2 (en) * 2004-08-27 2010-12-28 Mitsubishi Electric Research Laboratories Inc. Coding correlated images using syndrome bits
KR100677128B1 (ko) 2004-08-30 2007-02-02 삼성전자주식회사 동영상 부호화기의 비트율 제어장치 및 방법
US7983160B2 (en) 2004-09-08 2011-07-19 Sony Corporation Method and apparatus for transmitting a coded video signal
US7653129B2 (en) * 2004-12-28 2010-01-26 General Instrument Corporation Method and apparatus for providing intra coding frame bit budget
US8437403B2 (en) * 2005-01-05 2013-05-07 Jean-Yves Babonneau Device and method for analysing images by calculating the variance for each pixel of a high-frequency image
FR2880498A1 (fr) * 2005-01-05 2006-07-07 Nextream France Sa Dispositif et procede d'analyse d'images
US8031774B2 (en) * 2005-01-31 2011-10-04 Mediatek Incoropration Video encoding methods and systems with frame-layer rate control
US7983341B2 (en) * 2005-02-24 2011-07-19 Ericsson Television Inc. Statistical content block matching scheme for pre-processing in encoding and transcoding
EP1720356A1 (en) * 2005-05-03 2006-11-08 Matsushita Electric Industrial Co., Ltd. A frequency selective video compression
US7593026B2 (en) * 2005-05-11 2009-09-22 L-3 Communications Corporation Dynamic display optimization method and system with image motion
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
KR100785855B1 (ko) * 2005-07-19 2007-12-14 한국전자통신연구원 향상된 snr 스케일러빌리티 제공을 위한 양자화 장치 및방법
WO2007011160A1 (en) * 2005-07-19 2007-01-25 Electronics And Telecommunications Research Institute Apparatus and method of embedded quantizaton for the improved snr scalbilty
US9479794B2 (en) 2005-11-10 2016-10-25 Freescale Semiconductor, Inc. Resource efficient video processing via prediction error computational adjustments
US8674855B2 (en) 2006-01-13 2014-03-18 Essex Pa, L.L.C. Identification of text
US8861585B2 (en) * 2006-01-20 2014-10-14 Qualcomm Incorporated Method and apparatus for error resilience algorithms in wireless video communication
JP4795223B2 (ja) * 2006-01-31 2011-10-19 キヤノン株式会社 画像処理装置
US8116371B2 (en) * 2006-03-08 2012-02-14 Texas Instruments Incorporated VLC technique for layered video coding using distinct element grouping
KR100790986B1 (ko) * 2006-03-25 2008-01-03 삼성전자주식회사 가변 비트율 비디오 코딩에서 비트율을 제어하는 장치 및방법
US7974340B2 (en) 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US7783079B2 (en) 2006-04-07 2010-08-24 Monro Donald M Motion assisted data enhancement
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8077775B2 (en) * 2006-05-12 2011-12-13 Freescale Semiconductor, Inc. System and method of adaptive rate control for a video encoder
US7773672B2 (en) * 2006-05-30 2010-08-10 Freescale Semiconductor, Inc. Scalable rate control system for a video encoder
US7586424B2 (en) 2006-06-05 2009-09-08 Donald Martin Monro Data coding using an exponent and a residual
US7845571B2 (en) 2006-06-19 2010-12-07 Monro Donald M Data compression
US7770091B2 (en) 2006-06-19 2010-08-03 Monro Donald M Data compression for use in communication systems
US7689049B2 (en) 2006-08-31 2010-03-30 Donald Martin Monro Matching pursuits coding of data
US7508325B2 (en) 2006-09-06 2009-03-24 Intellectual Ventures Holding 35 Llc Matching pursuits subband coding of data
US7974488B2 (en) 2006-10-05 2011-07-05 Intellectual Ventures Holding 35 Llc Matching pursuits basis selection
US9883202B2 (en) 2006-10-06 2018-01-30 Nxp Usa, Inc. Scaling video processing complexity based on power savings factor
US8315466B2 (en) 2006-12-22 2012-11-20 Qualcomm Incorporated Decoder-side region of interest video processing
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US7707213B2 (en) 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location
US7707214B2 (en) 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location with indirect addressing
US10194175B2 (en) 2007-02-23 2019-01-29 Xylon Llc Video coding with embedded motion
US8594187B2 (en) * 2007-03-02 2013-11-26 Qualcomm Incorporated Efficient video block mode changes in second pass video coding
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8090016B2 (en) * 2007-05-17 2012-01-03 Zoran Corporation Activity normalization for video encoding
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US7545291B2 (en) 2007-07-12 2009-06-09 Donald Martin Monro FIFO radix coder for electrical computers and digital data processing systems
US7671767B2 (en) 2007-07-12 2010-03-02 Donald Martin Monro LIFO radix coder for electrical computers and digital data processing systems
US8055085B2 (en) 2007-07-12 2011-11-08 Intellectual Ventures Fund 44 Llc Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems
US7548176B2 (en) 2007-07-12 2009-06-16 Donald Martin Monro Data coding buffer for electrical computers and digital data processing systems
US8144037B2 (en) 2007-07-12 2012-03-27 Intellectual Ventures Fund 44 Llc Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems
US7602316B2 (en) 2007-07-12 2009-10-13 Monro Donald M Data coding/decoding for electrical computers and digital data processing systems
US7990289B2 (en) 2007-07-12 2011-08-02 Intellectual Ventures Fund 44 Llc Combinatorial coding/decoding for electrical computers and digital data processing systems
US8249141B1 (en) * 2007-07-13 2012-08-21 Sprint Spectrum L.P. Method and system for managing bandwidth based on intraframes
US20090161766A1 (en) * 2007-12-21 2009-06-25 Novafora, Inc. System and Method for Processing Video Content Having Redundant Pixel Values
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US8311111B2 (en) 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
KR20100057388A (ko) * 2008-11-21 2010-05-31 삼성전자주식회사 버퍼 상태에 적응적인 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US8767825B1 (en) * 2009-11-30 2014-07-01 Google Inc. Content-based adaptive video transcoding framework
US8660178B2 (en) 2010-07-01 2014-02-25 Broadcom Corporation Method and system for multi-layer rate control for a multi-codec system
US9100657B1 (en) 2011-12-07 2015-08-04 Google Inc. Encoding time management in parallel real-time video encoding
US9100509B1 (en) * 2012-02-07 2015-08-04 Google Inc. Dynamic bit allocation in parallel video encoding
US9819965B2 (en) * 2012-11-13 2017-11-14 Intel Corporation Content adaptive transform coding for next generation video
WO2014120368A1 (en) 2013-01-30 2014-08-07 Intel Corporation Content adaptive entropy coding for next generation video
US20140254659A1 (en) 2013-03-11 2014-09-11 Mediatek Inc. Video coding method using at least evaluated visual quality and related video coding apparatus
GB2514540B (en) * 2013-04-10 2020-01-08 Microsoft Technology Licensing Llc Resource for encoding a video signal
US20150256832A1 (en) * 2014-03-07 2015-09-10 Magnum Semiconductor, Inc. Apparatuses and methods for performing video quantization rate distortion calculations
US10284849B2 (en) * 2015-04-13 2019-05-07 Qualcomm Incorporated Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure
US9936203B2 (en) 2015-04-13 2018-04-03 Qualcomm Incorporated Complex region detection for display stream compression
US10244255B2 (en) 2015-04-13 2019-03-26 Qualcomm Incorporated Rate-constrained fallback mode for display stream compression
US10356428B2 (en) 2015-04-13 2019-07-16 Qualcomm Incorporated Quantization parameter (QP) update classification for display stream compression (DSC)
US10142049B2 (en) * 2015-10-10 2018-11-27 Dolby Laboratories Licensing Corporation Near optimal forward error correction system and method
US10462490B2 (en) * 2015-11-06 2019-10-29 Raytheon Company Efficient video data representation and content based video retrieval framework
US10356408B2 (en) * 2015-11-27 2019-07-16 Canon Kabushiki Kaisha Image encoding apparatus and method of controlling the same
US9794574B2 (en) 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
US10542258B2 (en) 2016-01-25 2020-01-21 Google Llc Tile copying for video compression
CN111416630A (zh) * 2020-03-05 2020-07-14 烽火通信科技股份有限公司 一种编译码方法及系统
WO2022259632A1 (ja) * 2021-06-10 2022-12-15 ソニーグループ株式会社 情報処理装置及び情報処理方法
WO2024054467A1 (en) * 2022-09-07 2024-03-14 Op Solutions, Llc Image and video coding with adaptive quantization for machine-based applications

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5144426A (en) * 1989-10-13 1992-09-01 Matsushita Electric Industrial Co., Ltd. Motion compensated prediction interframe coding system
US5134476A (en) * 1990-03-30 1992-07-28 At&T Bell Laboratories Video signal encoding with bit rate control
US5038209A (en) * 1990-09-27 1991-08-06 At&T Bell Laboratories Adaptive buffer/quantizer control for transform video coders
EP0557310B1 (de) * 1990-11-16 1997-06-04 Siemens Aktiengesellschaft Verfahren zur adaptiven quantisierung zwecks datenreduktion bei der übertragung von digitalen bildern
US5418617A (en) * 1991-08-08 1995-05-23 Matsushita Electric Corporation Of America Motion compensation using minimum bits per motion block as criterion for block matching
US5144424A (en) * 1991-10-15 1992-09-01 Thomson Consumer Electronics, Inc. Apparatus for video data quantization control
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
US5315670A (en) * 1991-11-12 1994-05-24 General Electric Company Digital data compression system including zerotree coefficient coding
US5253059A (en) * 1992-05-15 1993-10-12 Bell Communications Research, Inc. Method and circuit for adjusting the size of a video frame
US5291281A (en) * 1992-06-18 1994-03-01 General Instrument Corporation Adaptive coding level control for video compression systems
US5440345A (en) * 1992-07-17 1995-08-08 Kabushiki Kaisha Toshiba High efficient encoding/decoding system
WO1994018799A1 (en) * 1993-02-03 1994-08-18 Qualcomm Incorporated Interframe video encoding and decoding system
US5440346A (en) * 1993-06-16 1995-08-08 Intel Corporation Mode selection for method and system for encoding images
BE1007807A3 (nl) * 1993-11-30 1995-10-24 Philips Electronics Nv Inrichting voor het coderen van een videosignaal.
US5592226A (en) * 1994-01-26 1997-01-07 Btg Usa Inc. Method and apparatus for video data compression using temporally adaptive motion interpolation
US5594504A (en) * 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine

Also Published As

Publication number Publication date
JP2000516050A (ja) 2000-11-28
US6160846A (en) 2000-12-12
DE69628935D1 (de) 2003-08-07
WO1997016029A1 (en) 1997-05-01
EP0857394B1 (en) 2003-07-02
DE69628935T2 (de) 2004-05-27
EP0857394A4 (ko) 1998-09-09
JP3739094B2 (ja) 2006-01-25
EP0857394A1 (en) 1998-08-12

Similar Documents

Publication Publication Date Title
KR19990067041A (ko) 코딩 시스템에서 속도 제어를 최적화하기 위한장치 및 그 방법
US6895050B2 (en) Apparatus and method for allocating bits temporaly between frames in a coding system
US6690833B1 (en) Apparatus and method for macroblock based rate control in a coding system
US7372903B1 (en) Apparatus and method for object based rate control in a coding system
US6084908A (en) Apparatus and method for quadtree based variable block size motion estimation
KR100604702B1 (ko) 이미지 시퀀스를 인코딩하는 장치 및 이미지 신호를 양자화하기 위해서 양자화 스케일을 생성하는 방법
US6351491B1 (en) Apparatus and method for optimizing the rate control for multiscale entropy encoding
US7418147B2 (en) Cauchy-distribution based coding system and method
US6252905B1 (en) Real-time evaluation of compressed picture quality within a digital video encoder
GB2308768A (en) Video encoding based on inter block redundancy
US20080037888A1 (en) Image quantization method and apparatus
KR19990067016A (ko) 블록-기반 코딩 시스템에서 코딩 모드를선택하기 위한 방법 및 장치
Wu et al. Efficient rate-control system with three stages for JPEG2000 image coding
Lee et al. Fast algorithm for optimal bit allocation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application