KR100384327B1 - 블록-기반코딩시스템에서코딩모드를선택하기위한방법및장치 - Google Patents

블록-기반코딩시스템에서코딩모드를선택하기위한방법및장치 Download PDF

Info

Publication number
KR100384327B1
KR100384327B1 KR10-1998-0702953A KR19980702953A KR100384327B1 KR 100384327 B1 KR100384327 B1 KR 100384327B1 KR 19980702953 A KR19980702953 A KR 19980702953A KR 100384327 B1 KR100384327 B1 KR 100384327B1
Authority
KR
South Korea
Prior art keywords
coding
macroblock
bits
mode
motion vector
Prior art date
Application number
KR10-1998-0702953A
Other languages
English (en)
Other versions
KR19990067016A (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 KR19990067016A publication Critical patent/KR19990067016A/ko
Application granted granted Critical
Publication of KR100384327B1 publication Critical patent/KR100384327B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/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)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

마크로블록에 대해 선택된 양자화 스케일에 기초하여 마크로블록 코딩 모드를 선택하는 방법 및 장치가 개시되었다. 움직임 벡터(320)를 코딩하기 위해 필요한 비트와 예측 나머지(330)를 코딩하는 데 필요한 비트인, 두 부분으로 이루어 진 각각의 마크로블록을 코딩하기 위해 비트의 전체 수가 필요하다. 움직임 벡터를 코딩하기 위해 필요한 비트의 수는 일반적으로 조사 테이블로부터 획득된다. 예측 나머지를 코딩하기 위한 비트의 수는 예측 나머지를 인코딩하기 위한 비트의 수가 그것의 편차값에 정비례하고 양자화기 스텝(양자화기 스케일)에 반비례한다는 것을 가정한 계산으로 획득된다(340). 이러한 계산으로, 마크로블록을 코딩하는 데 필요한 전체 비트의 수가 계산되고 각각의 코딩 모드에 대해 비교된다(350). 최소 수의 비트로 코딩 모드를 선택하므로써, 실제 구현을 위한 저 복잡도의 최적 근사해를 얻는다.

Description

블록-기반 코딩 시스템에서 코딩 모드를 선택하기 위한 방법 및 장치
디지털 화상 기술 개발의 증가는 화상 압축 코덱의 고비용 감소 및 상이한 제조자에 의한 장비의 상호 작동가능성을 해결하는 문제를 증대시켜왔다. 이러한 목적을 달성하기 위해, MPEG(Motion Picture Experts Group)은 ISO/IEC 국제 표준 13818-1(1994)(일반적으로 MPEG-1으로서 참조됨) 및 13818-2(1994)(1995년 1월 20일 입안됨)(일반적으로 MFEG-2로서 참조됨)을 만들었으며, 이것들은 전체로서 본 명세서에 참조문헌으로서 일체화되었다. 이러한 표준의 하나의 목적은 데스크탑 화상출판, 화상 회의, 디지털 저장 매체 및 텔리비젼 방송과 같은 다수의 상이한 응용 및 서비스를 수용하는 충분한 유용성을 갖춘 표준 코딩/인코딩 방법을 수립하기 위한 것이다.
MPEG 표준은 MPEG을 따르는 비트스트림을 발생시키는 일반적인 코딩 방법론 및 신택스(syntax)를 지정할 지라도, 다수의 편차가 다수의 파라미터에 할당된 값에서 허용되므로써, 광범위한 응용 및 상호 운용성(operability)을 지원한다. 사실상, MPEG은 유효 비트스트림을 산출하기 위해 요구되는 특정 알고리즘을 정의하지 않는다. 더욱이, MPEG 인코더 설계자는 이미지 선-처리, 움직임 계산, 코딩 모드 결정, 범위성(scalability) 및 레이트 제어와 같은 분야에서 그들 고유의 MPEG-특정 알고리즘을 구현 및 개발에 있어서 상당한 융통성을 허용하였다. 이 융통성은 상이한 MPEG-특정 알고리즘의 개발 및 구현을 촉진한다. 그러나, MPEG 인코더 설계자들의 공통 목적은 규정된 비트율 및 동작 지연 제약조건에 대한 본질적인 왜곡을 최소화하는 것이다.
코딩 모드 결정 분야에서, MPEG은 다수의 상이한 매크로블록 코딩 모드를 제공한다. 일반적으로, 이들 코딩 모드는 인터모드 및 인트라모드의 두 개의 넓은 분류로 그룹지워진다. 인트라모드 코딩은 단지 매크로블록 또는 픽춰로 부터의 정보만을 사용하는 그 매크로블록 또는 픽춰의 코딩을 포함한다. 인터모드 코딩은 자신으로 부터의 정보 및 상이한 시간에 발생하는 매크로블록 및 픽춰로 부터의 정보를 사용하는 매크로블록 또는 픽춰의 코딩을 포함한다. 상세하게는, MPEG-2는 인트라모드, 번호 움직임 보상 모드(No MC), 프레임/필드/듀얼-프라임 움직임 보상 인터모드, 순방향/역방향/평균 인터모드 및 필드/프레임 DCT 모드를 포함하는 매크로블록 코딩 모드를 제공한다. 각각의 코딩 모드에 대한 상세한 설명은 MPEG-1 및 MPEG-2 에 대한 ISO/IEC 국제 표준을 참조하라.
이 코딩 모드들은 매크로블록을 코딩하는 데 필요한 비트의 수에서 상이한 효율을 나타내는 상이한 코딩 전략(예측)을 제공한다. 따라서, 각각의 모드는 매크로블록내의 신호의 성질, 픽춰유형 및 양자화 스케일의 조악도(coarseness)와 같은상이한 인자의 수에 의거하여 다른 모드 보다 더욱 효율적이다. 최적 코딩 성능을 달성하기 위해, 각각의 별개 모드에 대해 특정 매크로블록을 코딩하기 위해 필요한 비트의 수를 계산 및 비교하므로써 가장 효율적인 코딩모드를 선택하는 것이 필요하다. 가장 효율적인 코딩모드는 최소 비트로 매크로블록을 코딩하여야 한다. 그러나, 최적해에 대한 결정은 슬라이스 길이와 동일 주기 동안 매크로블록으로부터 매크로블록에 걸친 종속관계를 도입시키는, DCT(Discrete Cosine Transform) 계수 및 움직임 벡터에 대한 MPEG 차동 인코딩에 의해 더욱 복잡해진다. 슬라이스는 라스터 스캔 순서로 동일 수평 행에 위치된 매크로블록의 시퀀스이다. 이러한 종속관계에 기인하여, "전-탐색" 계산은 각각의 개별 매크로블록이 상이한 모드로 코딩되는 슬라이스를 코딩하는 데 있어서 상이한 모드에 의한 다양한 조합의 효율을 비교하여야 한다.
예시하기 위하여, 슬라이스가 십(10) 매크로블록의 길이를 가지며 다섯(5)개의 상이한 코딩 모드가 있다면, 각각의 슬라이스에 대해 510개의 이용가능한 코딩 조합이 있다. 전-탐색에 대한 계산은 모드의 수에 기초하여 슬라이스 사이즈에 지수적으로 비례한다. 따라서, 종속관계는 지수적으로 증가하는 함수가 되고, 이렇게하여 다수 폴딩에 의해 상기 계산의 복잡도를 증가시킨다. 사실상, 상기 계산과 연관된 시간지연은 다수의 MPEG 응용에 대해 수용불가능하다. 따라서, 장기간의 지연 및 심각한 연산 부담 때문에, 전-탐색 계산의 결과에 기초한 코딩 모드 선택은 비실제적이다.
현재 MPEG 코딩 전략(예를들어, 테스트 모델 4 및 5)(TM4 및 TM5)에서, 각각의 매크로블록에 대한 코딩모드는 예측 오차(에러 신호)의 에너지를 비교하므로써 선택된다. 즉, 인트라 모드/인터 모드 결정은 각각의 코딩 모드에 대해 예측 오차의 편차에 대해 매크로블록 픽셀의 편차(σ2)의 비교에 의해 결정된다. 그러나, 이 기준에 의해 선택된 코딩 모드는 최적 코딩 성능을 달성하지 못하는 데, 이는 고편차가 매크로블록을 코딩하기 위해 필요한 비트의 수 증가로 반드시 변환되는 것은 아니기 때문이다. 따라서, 단지 이러한 편차에만 기초한 코딩 방법은 최종 압축 비트 카운트를 반드시 감소시키지 않을 수 있다.
그러므로, 실제 구현을 용이하게 하기 위해 비교적 단순하며 최적 해에 접근하는 코딩 모드를 선택하기 위한 방법 및 장치의 필요성이 기술에 존재한다.
본 발명은 움직임 화상의 코딩을 최적화하기 위한 방법 및 장치에 관한 것으로 더욱 상세히는, 매크로블록을 위해 선택된 양자화 스케일에 기초한 매크로블록 코딩 모드를 선택하는 방법 및 장치에 관한 것이다,
도 1은 레이트 제어로 모드 선택을 공통으로 결정하기 위한 본 발명의 시스템의 블록도.
도 2는 매크로블록을 위한 최적 모드 결정을 유도하기 위한 흐름도.
도 3은 예측 오차 신호를 코딩하기 위한 블록도.
본 발명은 매크로블록에 대해 선택된 양자화스케일에 기초한 매크로블록 코딩 모드를 선택하는 방법 및 장치이다. 특정 코딩 모드의 효능은 왜곡에 대한(즉, 특정 양자화 스케일에 대한) 동작 포인트에 의해 영향을 받는다. 예를들어, 매크로블록 인코딩에서 작은 왜곡을 산출하는 코딩 모드는 사실상 매크로블록 인코딩에서의 큰 왜곡이 허용되는 경우에 양호하지 못하게 수행한다. 따라서, 본 발명은 매크로블록에 대해 선택된 양자화 스케일에 따른 적절한 코딩 모드를 선택한다.
상세히는, 각각의 매크로블록을 코딩하는 데 필요한 총 비트수는 움직임 벡터를 코딩하는 데 필요한 비트 및 예측 오차를 코딩하는 데 필요한 비트인 두 부분으로 이루어 진다. 움직임 벡터를 코딩하기 위한 비트의 수는 일반적으로 조사 테이블로부터 획득된다. 예측 오차를 코딩하기 위한 비트의 수는 예측 오차를 인코딩하기 위한 비트의 수가 자신의 편차에 비례하고 양자화 스텝(양자화 스케일)의 값에 역비례한다는 것을 가정하는 계산에 의해 획득된다. 이러한 계산을 이용하여, 매크로블록을 코딩하기 위해 필요한 총 비트수는 각각의 코딩 모드에 대해 계산되어 비교된다. 최소 수의 비트로 코딩 모드를 선택하므로써, 본 발명은 실제구현을 위한 작은 복잡도를 갖는 최적 근사 해를 얻는다.
본 발명의 기술사상은 첨부도면과 함께 다음의 상세한 설명으로부터 용이하게 이해될 수 있다.
본 발명의 이해를 용이하게 하기 위해, 도면에서 공통인 동일한 구성요소를 지정하기 위해 동일한 부재번호가 사용되었다.
도 1은 레이트제어와 연결지어 매크로블록에 대한 코딩모드를 결정하기 위한 본 발명의 장치(100)의 블록도를 나타낸다. 바람직한 실시예에서, 장치(100)는 더욱 정교한 블록-기반 움직임 보상 코딩 시스템의 일부 또는 인코더이다. 장치(100)는 움직임 평가 모듈(140), 움직임 보상 모듈(150), DCT 모듈(160), 양자화 모듈(170), 가변길이 코딩 모듈(180), 버퍼(190), 역 양자화 모듈(175), 역 DCT 모듈(165), 감산기(115) 및 합산기(155)를 포함한다. 인코더(100)가 다수 개의 모듈을 포함할 지라도, 당업자는 다양한 모듈에 의해 수행된 기능이 도 1에 도시된 바와 같은 별개의 모듈로 분리되어 질 필요가 없음을 이해할 것이다. 예를들어, 움직임 보상 모듈(150), 역 양자화 모듈(175) 및 역 DCT 모듈(165)을 포함하는 모듈 셋트는 일반적으로 "내장된 디코더"로서 알려져 있다.
도 1은 MPEG 표준에 따라 휘도 및 두 개의 컬러 차이 신호(Y,Cr,Cb)로서 표현되고 디지털화된 입력 화상 이미지(이미지 시퀀스)(110)를 예시한다. 이들 신호는 각각의 픽춰(프레임)가 복수 개의 매크로블록에 의해 표현되도록 복수 개 층으로 더욱 분할된다. 각각의 매크로블록은 하나의 블록이 여덟(8) X 여덟(8) 샘플 어레이로서 정의되는 네(4)개의 휘도 블록, 하나의 Cr블록 및 하나의 Cb블록을 포함한다. 픽춰를 블록유닛으로 분할하는 것은 두 개의 연속 픽춰간의 변화를 구별할 능력을 개선시키며 저진폭 변환된 계수(아래에서 설명됨)의 제거를 통해 이미지 압축을 개선시킨다. 디지털화된 신호는 적절한 윈도우, 해상도 및 입력 포맷을 선택하기 위한 적절한 포맷과 같은 선처리(preprocessing)가 선택적으로 행해질 수 있다.
입력 화상 이미지(110)는 움직임 벡터를 평가하기 위해 움직임 평가 모듈 (140)에 수신된다. 움직임 벡터는 현재 픽춰의 블록의 좌표위치로부터 기준 프레임의 좌표까지의 오프셋트를 제공하기 위해 움직임 보상 모듈에 의해 사용되는 2차원벡터이다. 화상 시퀀스의 연속 프레임 사이에 존재하는 고 리던던시로 인해, 현재 프레임이 움직인 정보(움직임 벡터)를 이용하여 현재 프레임과 이전 프레임 사이의 차이 및 이전 기준 프레임으로부터 복원된다. 단지 현재 프레임내의 변화만이 코딩되어 전송되므로 움직임 벡터의 사용은 채널상에 전송된 정보의 양을 감소시키므로써 이미지 압축을 상당히 증가시킨다. 움직임 평가 구현에 대해 현재 다양한 방법이 인코더 설계자에게 이용가능하다.
움직임 평가 모듈(140)로 부터의 움직임 벡터는 샘플값에 대한 예측효율을 개선시키기 위해 움직임 보상 모듈(150)에 의해 수신된다. 움직임 보상은 예측 에러를 형성하기 위해 사용되는 이전에 디코딩된 샘플값을 포함하는 과거 및/또는 미래 기준 프레임에 오프셋트를 제공하기 위해 움직임 벡터를 이용하는 예측을 포함한다. 즉, 움직임 보상 모듈(150)은 현재 프레임의 평가를 구성하기 위해 움직임 벡터 및 이전에 디코딩된 프레임을 시용한다.
더욱이, 주어진 매크로블록에 대해 움직임 보상 예측을 수행하기 이전에, 코딩 모드가 반드시 선택되어져야 한다. 상기한 바와 같이, 복수의 코딩모드가 이용가능하며 각각의 매크로블록을 위한 코딩모드의 적절한 선택은 최적의 코딩 성능을 산출한다. 각각의 코딩모드에 대한 예측은 움직임 보상 모듈(150)에 의해 수행된다. 따라서, 코딩모드에 좌우되어, 움직임 보상모듈은 과거 및/또는 미래 기준 픽춰에 의거한 블록의 내용에 대한 움직임 보상 예측(예측된 이미지)(152)을 형성한다. 움직임 보상 예측(152)은 에러신호 또는 예측 오차를 형성하기 위해 현재 매크로블록의 입력 화상 이미지(11)로부터 감산기(115)를 통하여 감산된다. 각각의 매크로블록에 대한 모든 코딩 모드의 예측 오차는 평가를 위해 모드 결정모듈(120)에 전송된다.
모드 결정모듈(120)은 레이트 제어에 의해 각각의 매크로블록을 위한 코딩모드의 선택을 공동으로 결정하기 위해 예측 오차를 이용한다. 최소 편차를 산출하는 매크로블록에 대한 코딩모드를 단순히 선택하는 TM4 및 TM5와는 상이하게, 모드 결정모듈(120)은 특정 코딩모드의 효율로 특정 양자화 스케일의 결과를 설명하는 방법을 적용한다. 모드 결정모듈(120)은 각각의 코딩모드에 대해 각각의 매크로블록을 코딩하는 데 필요한 총 비트수를 평가한다. 이 평가는 예측 오차를 인코딩하기 위한 비트의 수가 그것의 편차값에 정비례하고 양자화 스텝(양자화 스케일) 값에 반비례한다는 가정으로 예측 오차를 코딩하기 위한 비트의 수를 얻는다. 이와 같은 단순한 접근법하에서, 단지 전-탐색의 복잡도의 일부분만으로 최적 근사 해가 획득된다. 이 평가의 상세한 설명은 도 2를 참조하여 아래에서 설명된다.
매크로블록에 대해 코딩모드를 선택하여, 모드 결정모듈(120)은 대응 예측 오차 신호를 선택된 코딩 모드로부터 DCT 모듈(160)로 전달한다. 그후 DCT 모듈은 DCT 계수의 8 X 8 블록 셋트를 산출하기 위해 순방향 DCT 프로세스를 예측 오차 신호의 각각의 블록에 적용한다. 상기 DCT는 반전가능하며, 이산 직교 변환에서 DCT 계수는 코사인 기초 함수 셋트의 진폭을 나타낸다. DCT의 하나의 이점은 DCT 계수가 비상관관계(uncorrelated)라는 것이다. 이와같은 DCT 계수의 상관관계 해제 (decorrelation)는, 각각의 계수가 압축효율의 손실없이 독립적으로 취급될 수 있기 때문에 압축을 위해 중요하다. 더욱이, DCT 기반 함수 또는 서브대역 분해는 양자화의 다음 스텝을 위해 중요한 사이코비주얼(psychovisual) 기준의 효율적인 사용을 허용한다.
최종 DCT 계수의 8 X 8블록은 DCT 계수가 양자화되는 양자화 모듈(170)에 의해 수신된다. 양자화 프로세스는 정수값을 형성하기 위해 적절한 라운딩으로 DCT 계수를 양자화 값 셋트로 나눔으로써 DCT 계수를 표현하는 정확도를 감소시킨다. 양자화 값은 기초함수의 가시성(시각적으로 가중된 양자화로 알려짐)에 기초한 기준을 이용하여, 각각의 DCT 계수에 대해 개별적으로 셋팅된다. 즉, 양자화 값은 주어진 기초함수의 가시성에 대한 임계값, 즉 인간의 눈에 의해 검출될 수 있는 계수 진폭에 대응한다. 이 값으로 DCT 계수를 양자화하므로써, 대다수의 DCT 계수는 제로로 변환되어, 이미지 압축 효율을 개선시킨다. 양자화 프로세스는 핵심 동작이며 인코더가 자신의 출력을 주어진 비트율에 매치시키도록 인코더를 제어하기 위해 그리고 시각적인 질을 달성하기 위해 중요한 도구이다. 상이한 양자화 값이 각각의 DCT 계수에 적용될 수 있기 때문에, "양자화 매트릭스"는 일반적으로 예를들어 휘도 양자화 테이블 또는 크로미넌스 양자화 테이블과 같은 기준 테이블로서 수립된다. 따라서, 인코더는 변환된 블록내의 각각의 주파수 계수가 양자화되는 법을 결정하는 양자화 매트릭스를 선택한다.
그러나, 양자화 에러의 본질적인 지각은 주파수에 따라 매우 크게 변화하며, 더 높은 주파수에 대해서는 더 조악한 양자화 값을 사용하는 것이 유익하다. 즉, 양자화 에러에 대한 인간의 지각 민감도는 더욱 높은 공간 주파수에 대해 더욱 낮다. 결과적으로, 고 주파수는 저 주파수 보다 더욱 적게 허용된 값으로 더욱 조악하게 양자화된다. 더욱이, 정확한 양자화 매트릭스는 소스의 노이즈양, 가시거리 (viewing distance) 및 의도된 디스플레이 특성과 같은 대다수의 외부 파라미터에 좌우된다. 따라서, 응용 또는 심지어 프레임의 개별 시퀀스에 대한 특정 양자화 매트릭스를 만드는 것이 가능하다. 일반적으로, 주문 양자화 매트릭스는 압축된 화상과 함께 콘텍스트로서 저장될 수 있다. 또다시, 다수의 방법은 양자화 프로세스를 구현하기 위한 인코더 설계자에게 현재 이용가능하다.
다음에, 양자화된 DCT 계수의 최종 8 X 8 블록은 양자화된 계수의 2차원 블록이 그것을 양자화된 DCT 계수의 일차원 스트링으로 변환시키기 위해 "지그-재그" 순서로 스캐닝된다. 이 지그-재그 스캐닝 순서는 가장 낮은 공간 주파수로부터 가장 높은 공간 주파수로 DCT 계수의 적절한 순차 순서화이다. 양자화는 일반적으로 높은 공간 주파수의 DCT 계수를 제로로 감소시키므로, 양자화된 DCT계수의 일차원 스트링은 전형적으로 제로 스트링이 뒤따르는 여러 정수에 의해 표현된다.
가변길이 코딩(VLC)모듈(180)은 따라서 양자화된 DCT 계수의 스트링과 매크로블록 유형 및 움직임 벡터와 같은 매크로블록에 대한 모든 부수 정보를 인코딩한다. VLC 모듈(180)은 코딩 효율을 효과적으로 개선시키기 위해 가변길이 코딩 및 실행-길이 코딩을 이용한다. 가변길이 코딩은 더욱 짧은 코드-워드가 빈번한 이벤트에 할당되고 더욱 긴 코드-워드가 덜 빈번한 이벤트에 할당되는 반면에, 실행-길이 코딩은 단일 심볼로 심볼의 실행을 인코딩하므로써 코딩 효율을 증대시킨다. 이러한 코딩 체계는 당업계에 공지되어 있고 정수-길이 코드 워드가 사용될 때는 허프만 코딩으로 흔히 일컬어 진다. 따라서, VLC 모듈(180)은 입력 이미지를 유효 데이터 스트림으로 변환하는 최종 단계를 수행한다.
데이터 스트림은 "선입-선출"(FIFO) 버퍼(190)로 수신된다. 상이한 픽춰 유형 및 가변길이 코딩의 사용 결과는 전체 비트 레이트이 가변적이라는 것이다. 즉, 각각의 프레임을 코딩하는 데 사용되는 비트의 수는 상이할 수 있다. 따라서, 고정-레이트 채널을 포함하는 응용에서, FIFO 버퍼는 비트율 평탄화를 위해 인코더 출력을 채널에 매칭시키는 데 사용된다. 따라서, FIFO 버퍼(190)의 출력신호는 입력 화상 이미지(110)의 압축된 표현이고, 여기서 그것은 저장 매체 또는 원격통신 채널에 전송된다.
레이트 제어 모듈(130)은 데이터 스트림의 전송 후 디코더 측(도시되지 않은 수신기 또는 타겟 저장 디바이스)에서 오버플로우 또는 언더플로우를 방지하기 위해 FIFO버퍼(190)에 입력되는 데이터 스트림의 비트 레이트를 모니터링 및 조정하는 역할을 한다. 고정-레이트 채널은 디코더(도시되지 않음)내의 입력 버퍼에 일정레이트로 비트를 캐리하는 것으로 가정된다. 픽춰 레이트에 의해 결정된 정규 간격에서, 디코더는 순간적으로 자신의 입력버퍼로부터 다음 픽춰에 대한 모든 비트를 제거한다. 만일 입력버퍼에 지나치게 적은 비트가 존재한다면, 즉, 다음 픽춰를 위한 모든 비트가 수신되지 않았다면, 입력버퍼는 언더플로우가 되고 에러가 생긴다. 마찬가지로, 입력버퍼에 지나치게 많은 비트가 존재한다면 즉, 입력버퍼의 용량이 픽춰 시작 사이에 초과된다면, 입력버퍼는 오버플로우가 되고 에러가 생긴다. 따라서, 인코더에 의해 발생된 비트의 수를 제어하기 위해 버퍼(190)의 상태를 모니터링하여, 오버플로우 및 언더플로우 조건을 방지하는 것이 레이트 제어 모듈(130)의임무이다. 레이트 제어 알고리즘은 이미지의 질 및 압축 효율에 영향을 미치는 데 있어서 중요한 역할을 한다.
현재, 비트 레이트를 제어하는 하나의 방법은 양자화 프로세스를 변경시키는 것이고, 이것은 입력 이미지의 왜곡에 영향을 미친다. 양자화 스케일(양자화 스텝)을 변경시키므로써, 비트 레이트는 변경되어 제어될 수 있다. 예시적으로, 버퍼가 오버플로우를 향하여 가면, 양자화 스케일은 증대되어야 한다. 이 작용은 양자화 프로세스가 추가의 DCT 계수를 제로로 감소시키므로써, 매크로블록을 코딩하는 데 필요한 비트의 수를 감소시킨다. 사실상, 이것은 비트 레이트를 감소시키고 잠재적인 오버플로우 조건을 해결하여야 한다.
반대로, 버퍼가 언더플로우를 향하여 가면, 양자화 스케일은 감소되어야 한다. 이 작용은 비-제로 양자화된 DCT 계수의 수를 증대시키므로써, 매크로블록을 코딩하는데 필요한 비트의 수를 증대시킨다. 따라서, 증가된 비트 레이트는 잠재적인 언더플로우 조건을 해결한다.
양자화 스케일은 도 1에 예시된 바와같이 코딩모드의 적절한 선택을 결정하는데 사용된다. 따라서, 오버플로우 또는 언더플로우 조건을 교정하기 위해 레이트 제어모듈(130)이 양자화 스케일을 변경함에 따라, 모드 결정 모듈(120)은 각각의 매크로블록에 대해 현재 양자화 스케일하에서의 최적 코딩 모드를 선택하므로써 응답한다. 양자화 스케일에 의해 코딩 모드의 선택이 영향을 받는 방법은 아래의 도 2를 참조하여 설명된다.
더욱이, 양자화 모듈(170)로 부터의 양자화된 DCT 계수의 최종 8 X 8 블록은신호 연결부(172)를 통해 역 양자화 모듈(175)에 의해 수신된다. 이 스테이지에서, 인코더는 데이터를 디코딩하여 입력 화상 이미지의 I-프레임 및 P-프레임을 재생하므로써 이들 프레임은 후속하는 인코딩에서 기준 프레임으로써 이용된다. 역양자화 모듈(175)은 양자화된 DCT 계수를 역양자화시키므로써 디코딩 프로세스를 시작한다. 즉, 양자화된 DCT 계수에 정수값을 산출하기 위해 적절한 라운딩에 의한 양자화 값 셋트가 곱하여 진다.
DCT 계수의 최종 역양자화된 8 X 8 블록은 디코딩된 에러신호를 산출하기위해 역 DCT가 각각의 매크로블록에 이용되는 역 DCT 모듈로 전달된다. 이 에러신호는 디코딩된 기준 픽춰를 산출하기 위해 합산기(155)를 통해 움직임 보상 모듈로부터 예측신호에 더해진다. 일반적으로, I-프레임 또는 P-프레임이 디코딩된다면, 이것은 저장되어, 저장된 가장 오래된 기준을 대체할 것이다. 따라서, 매크로블록에 대해 선택된 양자화 스케일에 의거하여 매크로블록 코딩 모드를 선택하는 장치 (100)가 개시된다.
제한된 최적화 문제는 코딩 모드의 선택을 위해 공식화된다. 해는 코딩되는 픽춰를 포함하는 모든 매크로블록에 대한 R(D) 곡선 또는 레이트-왜곡 특성에 기초한다. 최적화된 결과에 기초하여, 각각의 매크로블록에 대한 코딩 모드를 선택하는 방법이 제시된다.
양자화 스케쥴에 따른 코딩 모드 선택의 최적화에 기초한 코딩 성능의 "상한"은 초기에 획득된다. 상한은 제약조건 셋트에 대한 최적 근사해를 나타낸다. 일단 상한이 계산되면, 실제적인 차-최적 방법의 성능을 산정하는 데 이용된다.
최적 근사해를 위한 제 1 제약조건은,
[수학식 1]
이고, 픽춰에 대한 왜곡(DPICT)은 픽춰의 매크로블록의 수인 모든 NMB에 대한, 개별 마크로 블록 왜곡(DMB)의 누적으로서 측정됨을 보여준다. 객체함수는 전체 픽춰에 걸쳐 균등한 개별 매크로블록(Di)을 가지므로써,
[수학식 2]
그리고, 다음과 같이, 매크로블록(RMBi)의 코딩 합으로부터 발생된 비트를 합산하여 전체 픽춰(픽춰 비트 버짓)(RPICT)에 대한 타겟 비트 할당이 된다.
[수학식 3]
매크로블록 왜곡 측정(DMB)에 대한 선택은 매크로블록의 픽셀에 걸쳐 계산된 평균-제곱-합계(MSE), 매크로블록 코딩에 사용되는 양자화기 스케일 이거나, 또는 휘도 및 주파수 가중된 MSE 또는 공간-작용 가중된(spatial-activity weighted) 양자화기 스케일과 같은 더욱 정확하게 본질적인 왜곡을 반영하는 측정일 수 있다. 이 최적화 문제에 대한 해는 객체 함수 및 개별 매크로블록 R(D)함수가 모노토닉 (monotonic)이라는 사실로 인해 유일하다.
상기한 바와 같이, 슬라이스 길이에 의해 지정된 기간동안 매크로블록으로부터 매크로블록으로 전달하는 의존관계를 도입하는, DCT 계수 및 움직임 벡터에 대한 MPEG 차동 인코딩에 기인하여 최적 해(전 탐색)의 계산에 있어서 상당한 연산 부담이 존재한다. 전-탐색 프로세스를 회피하기 위해, 상한에 대한 계산은 "의존 관계" 문제를 설명하는 "그리디(greedy) 알고리즘"을 채용한다. 그리디 알고리즘은 이전 코딩된 매크로블록에 대해 선택된 최선 코딩 모드를 기초로 코딩 모드를 선택하므로써 연산 부담을 감소시킨다. 실제로, 그리디 알고리즘 프로세스는 전-탐색 프로세스에서와 같은 슬라이스의 전체 길이에 대한 의존관계를 설명하는 대신에, 이전에 코딩된 매크로블록에 대한 의존관계만을 한정한다. 따라서, 상한은 전역 최적 해 대신에 최적 근사해이다.
최적 코딩 모드를 획득하기 위해, 동일한 양자화기 스케일로 각각의 코딩 모드에 대해 각각의 매크로블록을 코딩하기 위해 요구되는 총 비트수에 대한 연산 및 비교가 수행된다. 각각의 매크로블록에 대한 총 비트수(Bt)는 움직임 벡터(Bmv)를 코딩하는 데 필요한 비트와 예측 오차(Bres)를 코딩하는 데 필요한 비트인 두 부분으로 이루어진다. Bres는 매크로블록 유형, 양자화기 스케일, 코딩된-블록-패턴과 같은 코딩 부수 정보를 위한 비트및 DCT 계수를 위한 비트를 포함함을 주목해야 한다. 그러나, DCT 계수를 코딩하는 데 필요한 비트는 일반적으로 대다수의 Bres를 포함하며 Bres의 주요부를 포함하는 것으로 여겨진다. 따라서, 각각의 매크로블록을 코딩하는데 필요한 비트의 전체 수는,
[수학식 4]
로 표현된다.
움직임 벡터(Bmv)를 코딩하는 데 필요한 비트의 수는 통상적으로 룩업(look up) 테이블로부터 획득된다. 반대로, 예측 오차(Bres)를 코딩하기 위해 필요한 비트의 수를 획득하기 위해선, 도 2에 도시된 바와 같은 3 스텝 프로세스(200)가 필요하다.
도 2는 DCT 변환 단계(210), 양자화 단계(220) 및 실행 길이 코딩/가변 길이 코딩 단계(230)를 포함하는 프로세스(200)를 나타낸다. 단계(210)에서, DCT는 DCT 계수의 블록을 산출하기 위해 예측 오차의 8 X 8 픽셀로 된 입력블록에 적용된다. DCT 계수는 양자화된 DCT 계수의 8 X 8 블록을 산출하기 위해 단계(220)에서 양자화된다. 마지막으로, 단계(230)에서, 양자화된 DCT 계수는 (실행, 레벨)쌍으로 변환된다. 즉, Bres는 양자화된 DCT 계수의 레벨 및 제로의 "실행-길이"에 따라 룩업 테이블을 통해 획득된다. 제로의 실행-길이는 양자화된 DCT 계수의 8 X 8 블록을 지그-재그식 스캐닝에서 연속적인 비-제로 양자화된 DCT 계수 사이의 제로의 수를 나타내는 반면에, 레벨은 양자화된 DCT 계수의 진폭을 나타낸다. 룩업 테이블의 이용은 실행 길이 코딩/가변 길이 코딩에서 일반적인 실행이다. 따라서, Bres는 실행 및 레벨 쌍에 종속하며,
[수학식 5]
로 표현된다.
요약하면, 코딩 실행에서 상한을 획득하기 위해, 도 2의 3 스텝 프로세스는 모든 코딩 모드에 대해 각각의 매크로블록에 대해 수행되어야 한다. 다음에, 최소 수의 비트를 사용하는 모드가 최적 코딩 모드로서 선택된다. 상한 방법에 의한 연산 부담은 중간 정도 이지만, 전-탐색 방법에 비해 상당히 개선된 방법이다.
도 3은 비트(Bres)의 수에 대한 근사를 제공하므로써 더 많이 포함된 상한의 코딩 프로시저를 훨씬 단순화하는 바람직한 실시예를 도시한다. 방법(300)은 수학식 5의 실행 및 레벨쌍이 각각의 매크로블록에 대해 예측 오차의 편차(Vres)와 양자화기 스케일(q)의 값에 매우 의존하는 것을 가정한다. 따라서, 매크로블록을 인코딩하는 데 필요한 비트의 수는 자신의 편차값에 정비례 상관관계이고 양자화기 스케일의 값에 반비례 상관관계임을 나타내어야 한다. 그러므로, 수학식 5는,
[수학식 6]
여기서, K 및 C는 상수이다. 따라서, 수학식 4는
[수학식 7]
와 같이 근사화되고, 여기서 Bt'값은 각각의 매크로블록에 대해 최적 코딩을 선택하기 위한 측정치로서 이용된다. 바람직한 실시예에서, K 및 C에 대한 상수 값은 각각 1 및 120 이다. 기타 상수 값도 이용될 수 있음을 유의해야 한다.
도 3을 참조하면, 프로세스(300)는 단계(310)에서, 특정 코딩모드에 대한 대응 움직임 벡터 및 예측 오차를 산출하기 위해 매크로블록상에서 움직임 보상을 수행한다. 움직임 벡터는 단계(320)로 전달되고 예측 오차는 단계(330)로 전달된다.
단계(320)에서, 프로세스(300)는 움직임 벡터 비트 카운트(Bmv)를 결정한다. 바람직한 실시예에서, 미리-정의된 룩업 테이블은 각각의 움직임 벡터를 코딩하는데 필요한 비트의 수를 확인하기 위해 제공된다.
단계(330)에서, 프로세스(300)는 예측 오차(Bres)를 코딩하는 데 필요한 비트의 수를 계산한다. 예측 오차 비트 카운트(Bres)를 산출하기 위해 수학식 6에 따라 사용되는 예측 편차의 계산이 수행된다.
단계(340)에서, 프로세스(300)는 현재 코딩 모드하에 있는 매크로블록에 대해, 전체 비트 카운트(Bt)를 결정하기 위해 예측 오차 비트 카운트(Bres) 및 움직임 벡터 비트 카운트(Bmv)의 합을 수행한다. 이 결과는 단계(350)로 전달된다.
단계(350)에서, 프로세스(300)는 현재 코딩 모드에 대한 계산된 Bt는 모든 코딩모드중에서 가장 작은 것인지의 여부를 결정한다. 만일 그 결정이 긍정이면, 프로세스(300)는 매크로블록에 대한 코딩 모드를 선택하며 단계(360)에서 다음 매크로블록에 대한 코딩모드를 선택하기 위해 진행한다. 만일 그 결정이 부정이면, 프로세스(300)는 단계(310)로 진행하며 가장 작은 Bt를 갖춘 코딩모드가 선택될때까지 상이한 코딩모드를 이용하여 동일 매크로블록에 대해 계산을 재시작한다.
다수의 시뮬레이션을 수행하기 위해 장치가 테스팅된다. 시뮬레이션에서, 3개의 모드 결정방법이 비교되었다. 제 1 모드 결정방법(TM4 또는 TM5와 같은)은 움직임 벡터 오버헤드에 대한 결정된 임계값에 최소 예측 에러 에너지를 갖춘 코딩모드의 선택에 기초하며, 여기서 레이트 제어는 독립적으로 결정된다(즉, 레이트제어는 코딩모드 결정의 일부분이 아니다). 제 1 모드 결정방법(상한 방법과 같은)은 매크로블록을 코딩하는 데 필요한 최소수의 비트를 갖춘 코딩모드의 선택을 기초로 한다. 제 2 방법에서, 코딩모드 선택은 선택된 양자화 스케일을 기초로 최적화되고 그리디 알고리즘이 움직임 벡터 및 DCT 계수에 대한 차동 인코딩을 위해 적용된다. 마지막으로 제 3 방법은 코딩 모드 결정이 움직임 벡터의 비트 수에 예측 오차를 코딩에 필요한 비트의 수의 근사화에 기초하는 본 발명의 바람직한 실시예이다. 근사화는 수학식 6으로 표현된 것과 같은 예측 편차값과 양자화 스케일 값에 기초한다.
이들 3 방법의 코딩성능의 결정에서, 비교는 이미지의 시퀀스에 대한 동일한 재구성된 질을 획득하는 데 필요한 총 비트수로 행해진다. 시뮬레이션에서, 각각의 매크로블록에 대한 양자화스케일이 재구성된 질의 측정치로서 사용되었다. TM 인코더가 시퀀스를 코딩하기 위해 먼저 사용되었으며 대응 매크로블록에 대한 최종 양자화기 스케일이 저장되었다. 이들 동일한 양자화기 스케일은 본 발명의 인코더 및 상한 인코더에 사용되었다. 두 시퀀스인 "꽃밭"과 "자전거"(각각이 150 프레임인)가 컴퓨터 시뮬레이션에 사용되었으며 결과가 도 4의 표 1 및 2에 각각 표시되었다.
결과는 모드 선택과 레이트 제어의 공통 최적화가 꽃밭 시퀀스에 대해 종래의 TM 방법으로부터 14%의 절약을, 자전거 시퀀스에 대해 25%의 절약을 발생시킴을 나타낸다. 마찬가지로, 본 발명의 바람직한 실시예는 TM방법에 비해 자전거 시퀀스에 대해 17% 및 꽃밭 시퀀스에 대해 9%의 절약을 획득한다. 바람직한 실시예에 의한 방법이 전체 비트 카운트에 비해 더욱 적은 절약을 발생시킬지라도, 10% 내지 17% 사이의 절약은 감소된 연산 오버헤드 및 복잡도의 관점에서 매우 중요하다.
따라서 매크로블록에 대해 선택된 양자화 스케일에 기초한 매크로블록 코딩모드를 선택하는 신규의 방법 및 장치가 도시되고 개시되었다. 그러나 본 발명의 주제에 대한 다양한 변경, 수정 및 변형과 기타 목적 및 응용은 당업자에게는 본 발명의 실시예를 개시하는 상세한 설명 및 첨부 도면을 고려하면 명백하게 될 것이다. 본 발명의 범위 및 정신으로부터 벗어나지 않는 그러한 모든 변경, 수정 및 변형과 기타 목적 및 응용은 다음의 청구범위에 의해서만 제한되는 본 발명의 범위에 속하는 것으로 여겨진다. 예를들어, Bmv는 룩업 테이블로부터 획득될 수 있다. 또한 총 비트수는 Bt= Bmv+ Bres에 따라 계산될 수 있고, 여기서 Bt는 비트의 전체수이고, Bmv는 움직임 벡터를 코딩하는 데 필요한 비트의 수이고, Bres는 예측 오차 신호를 코딩하는 데 필요한 비트의 수이고 여기서, Bmv는 룩업 테이블로부터 획득되고 Bres는 예측 오차 신호에 대해 DCT 변환, 양자화 및 실행길이 코딩을 적용하므로써 획득된다.

Claims (9)

  1. 적어도 하나의 매크로블록을 갖는 입력 화상 이미지를 인코딩하는 장치에 있어서,
    적어도 하나의 움직임 벡터를 생성하기 위해 상기 입력 화상 이미지에 응답하는 움직임 평가수단,
    상기 움직임 평가수단에 연결되고, 상기 입력 화상 이미지의 예측된 (predicted) 이미지 신호를 생성하기 위한 움직임 보상수단;
    상기 움직임 보상수단에 연결되고, 복수 개의 이용가능한 코딩모드로부터 상기 입력 화상 이미지의 각각의 매크로블록에 대한 코딩모드를 선택하기 위한 모드 결정수단; 및
    상기 장치의 비트 레이트를 제어하기 위해 상기 모드 결정수단에 연결된 레이트(rate) 제어수단을 포함하며, 상기 모드 결정 수단은 상기 레이트 제어수단에 따라 매크로블록에 대한 코딩모드를 선택하는 것을 특징으로 하는 장치.
  2. 제 1항에 있어서, 상기 모드 결정수단에 연결되고, 예측 오차(predictive residual) 신호를 산출하기 위해 상기 입력 화상 이미지로부터 상기 예측된 이미지 신호를 감하기 위한 차이수단을 더 포함하는 것을 특징으로 하는 장치.
  3. 제 2항에 있어서, 상기 모드 결정수단은 복수 개의 코딩 모드 각각에 대해매크로블록의 상기 예측 오차 신호와 상기 움직임 벡터를 코딩하는데 필요한 총 비트수를 계산하며, 상기 모드 결정 수단은 매크로블록을 최소수의 비트로 코딩하는 매크로블록을 위한 코딩 모드를 선택하는 것을 특징으로 하는 장치.
  4. 제 3항에 있어서, 상기 총 비트수는,
    에 의해 계산되며, 여기서 Bt'는 상기 총 비트수이고, Bmv는 상기 움직임 벡터를 코딩하는 데 필요한 비트의 수이고, q는 상기 양자화 스케일이고, Vres는 상기 예측 오차 신호의 편차이며 K 및 C는 상수인 것을 특징으로 하는 장치.
  5. 제 2항에 있어서, 상기 모드결정 수단에 연결되고, 예측 오차 신호를 비상관계수 집합으로 변환시키기 위한 변환수단;
    상기 변환수단에 연결되고, 상기 비상관계수(decorrelated coefficients) 집합을 양자화시키기 위한 양자화 수단;
    상기 변환수단에 연결되고, 상기 양자화된 비상관계수 집합 및 움직임 벡터를 코딩하기 위한 코딩수단; 및
    상기 코딩수단에 연결되고, 채널을 통한 전송을 위해 데이터 스트림을 저장하기 위한 버퍼수단을 더 포함하며, 상기 움직임 보상수단은 코딩된 기준 이미지를 디코딩하기 위해 디코딩 수단을 포함하는 것을 특징으로 하는 장치.
  6. 입력 화상 이미지의 각각에 대해 코딩모드를 선택하는 방법에 있어서,
    (a) 상기 입력 화상 이미지 신호로부터 각각의 매크로블록에 대한 움직임 벡터를 생성하는 단계;
    (b) 상기 움직임 벡터를 사용하여 각각의 코딩모드에 대한 입력 화상 이미지 신호의 예측된 이미지 신호를 생성하는 단계;
    (c) 상기 예측 오차 신호를 산출하기 위해 상기 입력 화상 이미지 신호로부터 예측된 이미지 신호를 감산하는 단계;
    (d) 예측 오차 신호의 코딩 레이트를 제어하는 단계; 및
    (e) 상기 제어하는 단계(d)에 의해 선택된 양자화 스케일에 따라 각각의 매크로블록에 대한 코딩모드를 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제 6항에 있어서, 상기 선택하는 단계(e)는,
    (e1) 복수 개 코딩모드의 각각에 대해 매크로블록의 예측 오차 신호와 움직임 벡터를 코딩하기 위해 필요한 총 비트수를 계산하는 과정; 및
    (e2) 최소 수의 비트로 매크로블록을 코딩하는 매크로블록을 위한 코딩모드를 선택하는 과정을 포함하는 것을 특징으로 하는 방법.
  8. 제 7항에 있어서, 상기 과정(e1)의 총 비트수는,
    에 의해 계산되며, 여기서 Bt'는 총 비트수이고, 상기 Bmv는 움직임 벡터를 코딩하는데 필요한 비트의 수이고, q는 상기 양자화 스케일이고, Vres는 상기 예측 오차 신호의 편차이며 K 및 C는 상수인 것을 특징으로 하는 방법.
  9. 제 6항에 있어서,
    (f) 상기 예측 오차 신호를 비상관 계수의 집합으로 변환시키는 단계;
    (g) 상기 비상관 계수의 집합을 양자화시키는 단계;
    (h) 상기 양자화된 비상관 계수의 집합과 상기 움직임 벡터를 코딩하는 단계;
    (i) 채널을 통한 전송을 위해데이터 스트림을 저장하는 단계; 및
    (j) 추가의 인코딩을 위해 코딩된 기준 이미지 신호를 디코딩하는 단계를 더 포함하는 것을 특징으로 하는 방법.
KR10-1998-0702953A 1995-10-26 1996-10-25 블록-기반코딩시스템에서코딩모드를선택하기위한방법및장치 KR100384327B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US54774195A 1995-10-26 1995-10-26
US8/547,741 1995-10-26
US08/547,741 1995-10-26

Publications (2)

Publication Number Publication Date
KR19990067016A KR19990067016A (ko) 1999-08-16
KR100384327B1 true KR100384327B1 (ko) 2003-08-21

Family

ID=24185939

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0702953A KR100384327B1 (ko) 1995-10-26 1996-10-25 블록-기반코딩시스템에서코딩모드를선택하기위한방법및장치

Country Status (5)

Country Link
EP (1) EP0857393B1 (ko)
JP (1) JP4532607B2 (ko)
KR (1) KR100384327B1 (ko)
DE (1) DE69625501T2 (ko)
WO (1) WO1997016031A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000040031A1 (en) * 1998-12-29 2000-07-06 Koninklijke Philips Electronics N.V. Method and device for encoding a video signal
JP2000324498A (ja) 1999-05-13 2000-11-24 Nec Corp 動画像符号化装置
GB2360662B (en) * 1999-05-13 2002-01-09 Nec Corp Picture coding apparatus
EP1061750A3 (en) * 1999-06-18 2010-05-05 THOMSON multimedia Picture compression process, especially of the MPEG2 type
KR100848457B1 (ko) * 2002-05-06 2008-07-28 주식회사 케이티 비디오 인코더의 비트발생 제한 및 버퍼넘침 방지 방법
US6944224B2 (en) * 2002-08-14 2005-09-13 Intervideo, Inc. Systems and methods for selecting a macroblock mode in a video encoder
JP5400876B2 (ja) 2008-06-16 2014-01-29 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ符号化のための、スライス依存性に基づくレート制御モデル適合化
US11363266B2 (en) * 2017-11-09 2022-06-14 Amimon Ltd. Method and system of performing inter-frame prediction in video compression

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4972260A (en) * 1988-08-22 1990-11-20 Matsushita Electric Industrial Co., Ltd. Apparatus for coding a moving-picture signal
US5144426A (en) * 1989-10-13 1992-09-01 Matsushita Electric Industrial Co., Ltd. Motion compensated prediction interframe coding system
US5091782A (en) * 1990-04-09 1992-02-25 General Instrument Corporation Apparatus and method for adaptively compressing successive blocks of digital video
JPH05183888A (ja) * 1991-12-27 1993-07-23 Mitsubishi Electric Corp 情報源符号化装置
JP3308990B2 (ja) * 1992-07-03 2002-07-29 松下電器産業株式会社 動画像の予測符号化方法及び予測符号化装置
US5440346A (en) * 1993-06-16 1995-08-08 Intel Corporation Mode selection for method and system for encoding images

Also Published As

Publication number Publication date
DE69625501D1 (de) 2003-01-30
KR19990067016A (ko) 1999-08-16
JP4532607B2 (ja) 2010-08-25
DE69625501T2 (de) 2003-09-25
EP0857393A1 (en) 1998-08-12
WO1997016031A1 (en) 1997-05-01
EP0857393B1 (en) 2002-12-18
EP0857393A4 (ko) 1998-09-16
JPH11513873A (ja) 1999-11-24

Similar Documents

Publication Publication Date Title
US6192081B1 (en) Apparatus and method for selecting a coding mode in a block-based coding system
CA2295689C (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
US6690833B1 (en) Apparatus and method for macroblock based rate control in a coding system
US6243497B1 (en) Apparatus and method for optimizing the rate control in a coding system
US8249145B2 (en) Estimating sample-domain distortion in the transform domain with rounding compensation
KR100206261B1 (ko) 디지탈 vtr의 영상신호 대역 압축장치
US6037987A (en) Apparatus and method for selecting a rate and distortion based coding mode for a coding system
KR100371129B1 (ko) 화상 예측 복호화 장치 및 방법
US7782953B2 (en) Optimal encoding of motion compensated video
JP2000511366A6 (ja) 4分割ツリーベースの可変ブロックサイズ動き推定装置および方法
JP2001145113A (ja) 画像情報変換装置及び方法
US8325807B2 (en) Video coding
KR100384327B1 (ko) 블록-기반코딩시스템에서코딩모드를선택하기위한방법및장치
US20130195180A1 (en) Encoding an image using embedded zero block coding along with a discrete cosine transformation
KR100207397B1 (ko) 영상 부호화 시스템의 움직임 예측장치 및 방법
JP2002335532A (ja) 画像予測復号化方法及び画像予測符号化装置
JPH06350988A (ja) イントラ−ブロックdc変換係数量子化方法

Legal Events

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

Payment date: 20130423

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140423

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20150506

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20160422

Year of fee payment: 14

EXPY Expiration of term