KR20060049842A - 코딩 모드를 선택하기 위한 방법 및 디바이스 - Google Patents

코딩 모드를 선택하기 위한 방법 및 디바이스 Download PDF

Info

Publication number
KR20060049842A
KR20060049842A KR1020050060071A KR20050060071A KR20060049842A KR 20060049842 A KR20060049842 A KR 20060049842A KR 1020050060071 A KR1020050060071 A KR 1020050060071A KR 20050060071 A KR20050060071 A KR 20050060071A KR 20060049842 A KR20060049842 A KR 20060049842A
Authority
KR
South Korea
Prior art keywords
blocks
coding
subset
coding mode
energy function
Prior art date
Application number
KR1020050060071A
Other languages
English (en)
Other versions
KR101177939B1 (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 KR20060049842A publication Critical patent/KR20060049842A/ko
Application granted granted Critical
Publication of KR101177939B1 publication Critical patent/KR101177939B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/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

Landscapes

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

Abstract

본 발명은 블록들의 세트(101)에 포함되는 블록들의 서브세트(109)에 대한 복수의 코딩 모드로부터 하나의 코딩 모드(112)를 선택하는 방법 및 디바이스에 관한 것이다. 코딩 모드 각각에 대한 블록들의 세트(101) 상에서의 에너지 함수(105)가 계산되고 이 에너지 함수(105)의 계산 요소들(103)이 적어도 블록들의 서브세트(109)에 대해 저장된다. 블록들의 세트(101) 상에서의 에너지 함수(105)를 최소화하는 제1 코딩 모드(107)가 선택된다.
그 후 코딩 모드 각각에 대한 블록들의 서브세트(109) 상에서의 에너지 함수(110)가, 블록들의 서브세트(109)에 대해 저장된 계산 요소들(103)을 사용하고 또한 상기 블록들의 서브세트(109)의 근방(neighborhood) 상에서, 제1 코딩 모드(107)와는 별개의 코딩 모드에 대한 코딩 코스트(cost)의 추정(113)을 실행함으로써 계산된다(108). 블록들의 서브세트(109) 상에서의 에너지 함수(110)를 최소화하는 코딩 모드(112)의 선택(111)이 실행된다.
코딩 모드, 에너지 함수, 블록, 코딩 코스트

Description

코딩 모드를 선택하기 위한 방법 및 디바이스{METHOD AND DEVICE FOR CHOOSING A MODE OF CODING}
도 1 은 본 발명에 따른 디바이스의 다이어그램.
도 2(a) 및 2(b)는 코딩 코스트의 계산에 있어서 블록의 근방 또는 매크로 블록의 근방의 역할을 나타내는 도면.
도 3은 매크로 블록들의 세트 상에서의 본 발명의 동작 방식을 나타내는 도면.
도 4는 다양한 스케일을 갖는 에너지 함수를 나타내는 도면.
도 5(a) 내지 5(c)는 매크로 블록들의 세트 상에서의 본 발명에 따른 방법의 실행을 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
101 : 블록들의 세트
102 : 계산 모듈
103 : 계산 요소
104 : 메모리
105 : 에너지 함수
107 : 제1 코딩 모드
109 : 블록들의 서브세트
본 발명은 이미지 압축 코딩의 복수의 모드 중에서, 블록들로 분할된 이미지의 블록들의 코딩 모드들을 선택하기 위한 방법에 관한 것이다. 이 방법은 블록들의 세트를 코딩하기 위해 코딩 모드를 반복적으로 선택하고 상기 블록들의 세트 중의 블록들의 서브세트들에 대해 이러한 선택을 정교하게 하는 것으로 이루어진다. 이렇게 처리된 세브세트들에 대해 반복적으로 정교함 자체를 재생할 수도 있다.
그러므로 본 발명의 상황은 블록 코딩 방식에 기반하는, MPEG-2, MPEG-4, 파트 2 혹은 10 타입의 압축, 보다 구체적으로는 비디오 압축이다. 이들 압축 방식은 매크로 블록으로 불리우는 베이스 엔티티(base entity) 상에서 동작한다. 다음에서, 용어 '블록' 은 임의의 사이즈의 보다 작은 블록들의 그룹을 지칭할 수 있으며, 구체적으로는 매크로 블록들을 지칭할 수 있다. 이들 방식은 코딩 결정 방법을 구현하며 코딩 결정 방법의 목적은 각각의 매크로 블록에 대하여 최상으로 적합하게 보이는 코딩 모드를 선택하는 것이다. 이러한 선택은 모든 가능한 모드들을 평가함으로써, 보다 구체적으로는 코딩 코스트 및 디스토션을 계산함으로써 사후적으로 행해질 수 있다. 그 다음에 최상의 비트율-디스토션 절충을 나타내는 코딩 모드가 선택된다. 종래의 코딩 결정 방법은, 일단 매크로 블록에 대해 결정이 취해지면, 다음 매크로 블록으로 진행하는 인과 관계(causal) 방식으로 동작한다. 이것은 이미지의 스캐닝 순서로 행해진다.
종래의 방법은 퓨처(future) 매크로 블록들에 대한 결정의 영향을 고려하지 않는다. 이것은 비균일성의 정도를 나타낼 수 있는 이미지 전체에 대해 선택된 모드들의 맵에 부정적인 결과를 갖는다. 그래서 블록 영향들은 가시적이다. 이것은 또한 코딩 코스트에 부정적인 결과를 갖는데, 매크로 블록의 코딩 코스트는, 좌측으로부터 우측으로 그리고 상부로부터 하부로의 스캔의 경우에, 특별히 상부 및 좌측에 위치되는 이웃하는 매크로 블록들의 코딩 모드들의 선택에 일반적으로 매우 의존하기 때문이다. 매크로 블록에 대해 취해진 결정은 이러한 매크로 블록에 대해 최상일 수 있지만, 그것이 다음 매크로 블록들에 영향을 미치기 때문에, 그것의 결과는 나중의 매크로 블록들에 대한 비최적화(nonoptimal) 결정의 선택일 수 있다. 여러 번의 반복에 의해 이전에 취해진 결정을 재고할 수 있게 하는 접근법이 사용될 수 있다. 이렇게 하면 계산량이 커진다. 게다가, 이들 접근법은, 특히 비디오 코딩과 양립할 수 없는 계산량을 포함하는 소위 스토카스틱 이완 전략(stochastic relaxation strategy)을 채택함으로써만 나중의 매크로 블록들에 대한 비최적화 결정을 회피할 수 있다.
매크로 블록들의 세트에 대한 코딩 모드들의 집합의 계산에 의존하는 다른 접근법들은 코딩 모드들의 모든 가능한 조합에 대한 고려를 미리 가정하며, 이것은 분명히 계산 시간의 관점에서 엄청난 부담이다.
본 발명은 위에서 언급한 문제점이 발생하지 않는 코딩 결정 방법을 제안한다. 본 발명에 따른 코딩 결정 방법에 의하면, 위에 언급된 종래의 해결책에 비해 보다 나은 품질의 압축 이미지를 얻을 수 있고 또한 코딩 코스트를 최적화할 수 있다.
본 발명은 블록들의 세트내에 포함된 블록들의 서브세트를 코딩하기 위해, 블록들로 분할된 이미지의 압축 코딩의 복수의 모드 중에서 코딩 모드를 선택하기 위한 방법에 관한 것으로, 상기 방법은, 코딩 모드들 각각에 대해 상기 블록들의 세트 상에서의 에너지 함수를 계산하는 단계; 적어도 블록들의 서브세트에 대한 상기 에너지 함수의 계산 요소들을 저장하는 단계; 상기 블록들의 세트 상에서의 에너지 함수를 최소화하는 제1 코딩 모드를 선택하는 단계; 블록들의 서브세트에 대해 저장된 계산 요소들을 사용하고 또한 상기 서브세트의 근방 상에서, 제1 코딩 모드와는 별개의 코딩 모드들에 대한 코딩 코스트를 추정하는 단계를 실행하여 코딩 모드들 각각에 대해 상기 블록들의 서브세트 상에서의 에너지 함수를 계산하는 단계; 및 서브세트 상에서의 에너지 함수를 최소화하는 제2 코딩 모드를 선택하는 단계를 포함한다.
구체적으로, 본 발명에 의해 제안된 멀티스케일 접근법에서는, 블록들의 세트에 대한 코딩 모드를 선택하고 그 후에 블록들의 세트 중의 서브세트에 대한 코딩 모드를 결정한다. 이에 따라 블록들의 세트에 대해 균일한 결정이 행해질 수 있다. 또한 이러한 접근법에 의하면, 블록들의 세트 상에서의 에너지 함수의 글로벌 최소값에 보다 가깝게 접근할 수 있으므로, 특히 블록들의 세트에 대한 코딩 코 스트를 최적화할 수 있다. 하나의 동일한 코딩 모드가 블록들의 세트 및 블록들의 서브세트에 대한 에너지 함수를 최소화할 수 있으면, 제1 및 제2 코딩 모드는 별개일 수 있고 또는 동일할 수 있다는 것은 말할 필요도 없다.
일 실시예에서, 블록들의 세트는 2n × 2n 블록들의 그룹이고, 서브세트는 2n-1 × 2n-1 블록들의 그룹이다.
본 실시예는, 블록들이 매크로 블록들로 그룹화되어 있고 또한 2n × 2n 블록들의 그룹으로 그룹화될 수 있는, MPEG 표준을 따르는 이미지 코딩의 프레임워크 내에서 특별히 유리하다.
일 실시예에 있어서, 근방은 블록들의 서브세트의 하부 및 우측의 블록들의 그룹이다.
본 실시예는, 블록들이 코딩을 위하여 좌측으로부터 우측으로 그리고 상부로부터 하부로 스캔되는, 구체적으로는 MPEG 표준을 따르는 이미지 코딩의 프레임워크 내에서 특별히 유리하다.
일 실시예에 있어서, 계산 요소들은 블록들의 서브세트 각각에 대한 디스토션 및 코딩 코스트이다.
이러한 특징은 본 발명에 따라 계산되는 에너지 함수의 특성을 반영한다. 디스토션은 코딩된 이미지와 코딩되지 않은 본래 이미지 사이에 관찰되는 에러를 나타낸다. 코딩 코스트는 일반적으로 이미지의 코딩에 필요한 비트의 개수를 나타낸다. 이들 계산 요소는 매크로 블록들의 서브세트에 대한 에너지 함수의 계산의 단계에 의해 요청될 수 있도록 저장되어 있다.
일 실시예에 있어서, 코딩 모드를 선택하는 단계는 코딩 모드의 파라미터를 선택하는 하부단계를 포함한다.
이러한 특징에 의해 본 발명의 적용범위를 코딩 모드에 대해 특정한 파라미터의 선택, 예를 들어 벡터의 선택까지 넓힐 수 있다.
일 실시예에 있어서, 본 발명에 따른 방법은 블록들의 세트 중의 일련의 서브세트에 대해 반복된다.
본 실시예는 MPEG 코딩에 특별히 유용하다. 블록들의 세트는 예를 들어 코딩될 이미지에서 가장 큰 가능한 사이즈인 2n 블록일 수 있고, 다음 서브세트는 2n-1 사이즈이다. 본 발명의 방법에 따르면, 코딩 모드는 4개의 서브세트에 대해 선택된다. 그 다음에, 사이즈 2n-1 의 서브세트 각각이 블록들의 세트가 되고, 서브세트는 사이즈 2n-2 이다.
본 발명은 또한 상술된 방법을 실행하기 위한 디바이스에 관한 것이다.
본 발명은 또한 본 발명에 따른 방법(완전한 이미지를 매우 큰 사이즈, 통상적으로 128 × 128 픽셀의 블록들로 분할하는 것으로부터 개시)을 반복적으로 실행함으로써 얻어지는 압축 이미지에 관한 것이다.
본 발명의 다른 특징 및 이점은 다양한 실시예들에 대하여 첨부된 도면을 참조하여 이루어진 설명을 판독할 때 명백하게 될 것이다.
도 1에 나타낸 바와 같이, 본 발명에 따른 디바이스(100)는 코딩 모드들 각 각에 대하여 블록들의 세트(101) 상에서의 에너지 함수(105)를 계산하는 계산 모듈(102)을 포함한다. 메모리(104)는 적어도 블록들의 서브세트(109)에 대한 에너지 함수(105)의 계산 요소들(103)을 저장할 수 있다.
명료함을 위해 단일 부호(105)로 나타낸 에너지 함수는 여러가지 코딩 모드에 대해 계산된다. 그러므로 에너지 함수(105)의 많은 값들이 평가되는 코딩 모드들 만큼 저장된다.
디바이스(100)는 상기 블록들의 세트(101) 상에서의 에너지 함수(105)를 최소화하는 제1 코딩 모드(107)로 지칭된 코딩 모드를 선택하는 모듈(106)을 포함한다.
코딩 모드의 선택은 코딩 모드들(M)의 세트 및 다음 식에서 E로 나타낸 에너지 함수(105)를 최소화하는 코딩 모드들과 연관된 파라미터들 P의 세트를 검색하는 것으로 이루어진다:
MinM,P E(M,P/Icur, Iref)
여기에서 Icur은 현재의 이미지를 나타내고, Iref는 시간 예측에 대한 기준으로 기능하는 이미지를 나타내고, M={m1, m2, …, mN}은 N개의 매크로 블록의 코딩 모드들의 세트이고, mi는 허용된 Q개의 코딩 모드의 세트 T={t1, t2, …, tQ}로부터의 값을 취할 수 있고, P는 코딩 모드 ms를 갖는 각 사이트 s에서 연관된 파라미터들의 세트이다. 이것은 인트라(Intra) 코딩 모드에 대한 공간 예측의 방향, 모션 벡터, 또는 인터(Inter) 모드에 대한 양방향 가중 계수들의 문제일 수 있다.
에너지 함수는 블록들의 세트 상에서의 기본 함수들의 합이다. 이전에 언급된 바와 같이, 이들 기본 함수는 블록의 근방(neighborhood)에 의존한다.
도 2(a)에 나타낸 바와 같이, 예를 들어 MPEG-4 파트 10 코딩 방식과 같은, 좌측으로부터 우측으로 그리고 상부로부터 하부로의 스캔으로 실시되는 코딩 방식에 있어서, 블록(200) 상에서 계산되는 기본 함수는 블록들(201 내지 204)로 이루어지는 근방 내에서 선택된 코딩 모드에 의존한다. 보완적으로, 도 2(b)에 나타낸 바와 같이, 블록들(206 내지 209)에 대해 계산된 기본 함수들 각각은 특히 블록(205)에 대해 선택된 코딩 모드에 의존한다.
기본 함수들의 합은 다음과 같이 표현될 수 있다:
E(M,P/Icur, Iref) = Σs∈S Es(ms, ps(ms)/mr,pr(mr), r∈Vs, Icur, Iref)
여기에서 S는 이미지의 N개의 매크로 블록의 위치(또는 사이트)의 세트이고, Vs는 사이트 s, 예를 들어 도 2(a)에서의 블록들(201 내지 204)의 근방을 나타낸다.
함수 Es는 여러가지 형태를 취할 수 있다. 이후의 접근법에 있어서, 함수 Es는 다음의 형태를 취할 수 있고, 이에 대한 표기는 조건 의존성을 생략함으로써 간략화될 수 있다:
Es(m) = D(m,p(m)) + λ.C(m,p(m))
여기에서 D는 디스토션의 크기(measure)이고, C는 코딩 코스트의 크기이고, λ는 블록의 양자화 스텝사이즈(stepsize)의 함수로서 통상적으로 결정되거나 혹은 계산 되는 파라미터이다.
블록들의 세트 상에서의 제 1 코딩 모드 (107) 의 선택은 위의 함수 Es(m)을 최소화하는 모드에 의해 결정된다.
도 1 에서 참조부호 103 으로 나타낸 계산 요소들 D 및 C는, 평가된 각 모드에서, 블록들의 서브세트 각각에 대해 저장된다. 본 발명에 따르면, 코딩 모드(112)가 선택되어야 하는 블록들의 서브세트(109)에 대한 계산 요소들(103)이 적어도 저장된다.
그러므로 그 후 디바이스(100)는 블록들의 세트(101) 중의 서브세트(109)를 다루는 가능성을 갖는다.
디바이스는 이런 식으로 코딩 모드들 m 각각에 대해 상기 블록들의 서브세트(109) 상에서의 에너지 함수(110)를 계산하는 계산 모듈(108)을 포함한다.
도 3은 본 발명의 동작의 방식을 나타낸다. 제1 코딩 모드가 블록들의 세트(301)에 대해 선택되었다. 예를 들어, 4×4 블록의 서브세트(309)에 대해, 그 후 에너지 함수(110)가 계산된다. 예를 들어, 사이즈가 3×3 이고 도 3에서 303으로 나타낸, 세트(301) 중의 임의의 다른 서브세트가 또한 본 발명의 방법에 따라 선택될 수도 있다. 다른 모든 사이즈, 예를 들어 3×2 등도 본 발명에서 실행될 수 있다.
도 1 에 따르면, 에너지 함수(110)를 계산하는 모듈(108)은 블록들의 서브세트(109)에 대해 저장된 계산 요소들(103)을 요청한다. 계산 모듈(108)은 또한, 서 브세트의 근방 상에서, 제1 코딩 모드(107) 와는 별개의 코딩 모드들에 대한 코딩 코스트를 추정하는 추정 모듈(113)도 포함한다.
도 3 에 따르면, 서브세트의 근방은 블록들의 서브세트(309)의 하부 및 우측에 위치된 블록들에 의해 정의된 근방(302)이다.
구체적으로, 도 2(b)에 나타낸 바와 같이, 사이트 s에 위치된 블록(205)에 대한 모드의 변경은 또한 퓨처 블록(206 내지 209)의 에너지를 변경시킨다. 퓨처 블록들은 식에서 Fs로 표시된다. 사이트 s에서, 모드 m이 모드 m'으로 대체되면, 그로부터 기인하는 에너지의 변동은 다음과 같다:
ΔE = Es(m',ps(m')) - Es(m,ps(m)) + Σr∈Fs(Er(mr,pr(mr)/m',ps(m')) - Er(mr,pr(mr)/m,ps(m)))
처음의 2개의 항은 패스트(past) 블록들에 의존하는 에너지 함수의 변화를 나타내고, 세 번째 항은 퓨처 블록들의 에너지 함수에 발생되는 에너지 함수의 변화를 나타낸다.
종래의 모노스케일(monoscale) 인과관계 접근법에 있어서, 코딩 모드의 선택은 매크로 블록 s의 에너지 함수의 변동, 즉 퓨처 블록들에 연관된 에너지 변동을 고려하지 않고 처음 2개의 항을 측정함으로써 실행된다.
블록들로 분할된 이미지에서의 작은 매체 양자화 스텝사이즈에 대해, 근방의 더 이전 블록의 모드 변경의 블록에 대한 영향은 디스토션에는 관계가 없고 코딩 코스트에만 관계가 있음이 관찰된다. 구체적으로, 양자화 이후에 재구성된 블록은 양자화 스텝사이즈의 작은 매체 범위에 대해 소스 블록으로부터 동떨어져 있지 않다. 이 경우에, 디스토션은 다시 계산될 필요가 없다. 따라서, 블록들의 서브세트 각각에 대해, 각 모드에 대한 디스토션은 가장 거친(coarsest) 스케일에서 계산된다. 이 경우에, 계산 요소들(103)의 저장에 의해 계산 요소들을 다시 계산함이 없이 디스토션 D를 나타내는 계산 요소들(103)을 용이하게 요청할 수 있다.
블록들의 서브세트에서 작업하고 서브세트 내에서 반드시 동일한 모드를 갖는 결과로서, 코딩 코스트가 블록들의 서브세트 내에 위치된 블록들에 대해 변화하지 않는다. 그러므로, 주어진 스케일에 있어서, 블록들의 서브세트(309)에 대한 코딩 모드의 변경에 의해 발생되는 코딩 코스트 변동은 서브세트(309)의 근방(302)에 위치되는 블록들에 대해서만 감지될 수 있다. 블록들의 서브세트(309)의 근방(302)의 블록들에 대한 코딩 코스트의 변동만이 계산되기 때문에, 수행되는 계산량을 상당히 저감할 수 있다. 서브세트에 내재적인 블록들에 대한 다른 코딩 코스트는 사실상 계산 요소(103)를 가장하여 이전에 살펴본 바와 같이 저장된다. 구체적으로, 도 3을 참조하면, 코딩 코스트에 대한 종래의 계산은 16+9개의 계산을 필요로 하지만, 본 발명은 9개의 계산만으로 실시할 수 있다.
최종적으로 디바이스는 서브세트(109) 상에서 계산 모듈(108)에 의해 계산되는 에너지 함수(110)를 최소화하는 코딩 모드(112)를 선택하는 모듈(111)을 포함한다.
본 발명에 따라 제안된 멀티스케일 접근법에 의하면, 이미지에 대한 코딩의 최적화에 매우 용이하게 접근할 수 있다. 구체적으로는, 멀티스케일 접근법이 대 규모의 블록들의 세트와 함께 실시될 때 멀티스케일 접근법에 의해 훨씬 더 최소화되어야 할 함수를 평활하게 할 수 있다.
따라서, 상기 방법에 대하여 개시 블록들의 세트에 대한 충분히 높은 스케일에서, 함수는 볼록하게 되고 글로벌 최소값이 용이하게 획득된다.
도 4는 가로축을 따라 나타낸 복수의 모드에 대해, 단일 차원 상에서 계산된 에너지 함수의 단순한 경우를 나타낸다. 따라서, 가장 작은 스케일에서 에너지 함수의 곡선(401)은 여러개의 최소값을 나타낸다는 점이 주목된다. 따라서 에너지 함수를 최소화하는 동안 불량한 초기화로부터 시작하면, 국소적인 최소값으로 떨어질 염려가 있다. 곡선(402)은 중간 스케일을 나타내고 부가적으로 글로벌 최소값은 덜 두드러진 국소적인 최소값을 나타낸다. 곡선(401)은 가장 큰 스케일을 나타내고, 이 곡선(401)은 명확하게 획득될 단지 하나의 최소값을 나타낸다. 이 마지막 도면에 나타낸 바와 같이, 블록들로 분할된 이미지 상에서의 코딩 모드들을 최상으로 수집하기 위해, 에너지 함수의 최소값을 찾는 구성에 의해, 여러개의 차원, 구체적으로는, 이미지의 블록들의 개수, 블록 당 모드들의 개수, 공간-시간적 예측 공간을 갖는 에너지 함수를 최소화하는 것이 필요하다. 인과관계 접근법을 사용할 때, 작은 스케일에서, 에너지 함수의 글로벌 최소값으로부터 멀리 떨어질 수 있는 국소적인 최소값을 얻는 것을 그만둔다. 이런 식으로, 본 발명에 의하면, 전체 이미지인 것처럼 블록들의 세트를 정의할 수 있기 때문에 전체 이미지의 코딩에 대한 에너지 함수의 최소화에 보다 가깝게 접근할 수 있다.
도 5를 참조하면, 본 발명에 따른 방법은 블록들의 세트 및 서브세트에 대해 복수의 스케일에 걸쳐 유리하게 반복되어 이미지 전체에 걸쳐 코딩 모드들을 최적으로 수집할 수 있다. 이러한 반복에 따르면, 이전 단계의 서브세트는 다음 단계의 세트가 된다. 유리하게도, 가장 거친 스케일이 전체 이미지이다.
이러한 반복 원리에 따르면, 에너지 함수의 최소화는 8×8 블록들의 세트(500)로 도 5(a)에 나타낸 제1 스케일에서 계산된다. 이러한 제1 스케일에 대해, 서브세트(501 내지 504)는 4×4 사이즈이다. 도 5(b)에 나타낸 제2 스케일에 대해, 이전 스케일의 서브세트(501 내지 504) 각각은 본 발명에 따른 방법을 실행하기 위한 블록들의 세트가 된다. 서브세트들은 이제 2×2 블록들의 그룹(505 내지 520)이다. 최종적으로, 제3 스케일에 있어서, 서브세트들은 이제 블록들(521) 자체이다. 이런 식으로 블록들이 2n × 2n 블록들의 서브세트로 그룹화된다. 각 서브세트의 블록들은 모두 동일한 코딩 모드를 반드시 갖는다.
본 발명에서는 가장 거친 스케일로부터 최적화에 착수할 수 있다. 인과관계 스케일은 일 세트 내의 서브세트들 각각을 횡단하는데 사용된다. 본 발명에 따르면, 가장 낮은 에너지를 발생시키는 모드가 주어진 스케일 K에서 각각의 서브세트에 대해 추구된다. 예를 들어, 도 5에서, 스케일 K+1의 세트(500)는 스케일 K의 서브세트(501 내지 504) 각각에 대해 가장 낮은 에너지를 발생시키는 모드를 결정하는데 사용된다. 일단 스케일 K가 처리되면, 스케일 K의 새로운 세트 각각에 대한 모드들의 초기 맵을 보다 낮은 스케일 K-1에 대해 활용할 수 있다. 스케일 K-1의 서브세트 각각에 대해, 가장 큰 에너지 강하(drop)를 달성하는 모드를 검색할 수 있다. 일단 스케일 K-1이 처리되면, 스케일 K-2로 진행하고 이를 반복함으로써 예를 들어 단일 블록이 서브세트를 구성하는 스케일 0까지 진행한다.
본 발명은 또한 코딩 모드들의 파라미터의 함수로서 에너지 함수를 최적화하는데도 적용될 수 있다. 2가지 접근법이 고려될 수 있다. 블록들의 서브세트 각각의 파라미터들은 상이할 수 있다. 그래서 서브세트의 코딩 모드는 예들 들어 블록들의 서브세트 각각에 대해 모션 벡터 파라미터를 갖는 인터(Inter) 모드이다. 또는 각각의 스케일에서 파라미터 P의 서브세트 Pn을 처리함으로써 모드들에 대하여 동일한 방법으로 주어진 파라미터 P에 대해 동작시킨다.
양쪽 경우에 있어서, 파라미터 P 및 필요하다면 Pn의 추정은 완전히 독립적인 방법으로 행해질 수 있다. 예를 들어, 코딩 결정 디바이스의 구현 이전에 이미지 전체에 대한 멀티스케일 모션 추정에 착수할 수 있다. 이러한 해법은 세트들(Mn 및 Pn)을 동시에 추정하는 해법보다 계산적으로 부담이 덜 하다는 장점을 갖는다.
본 발명은 기재된 실시예들로 제한되지 않으며 당업자는 예를 들어 이웃하는 블록들의 코딩 코스트를 계산하기 위한 다양한 형태의 근방을 상상하는 가능성과 같은 다양한 대안 실시예들의 존재를 인식할 것이다. 또한 코딩 코스트는 엄밀한 계산에 의해 또는 주지의 근사법을 사용하는 근사적인 계산에 의해 추정될 수 있음에 유의해야 한다.
상술된 본 발명의 코딩 결정 방법에 따르면, 종래의 기술에 비해 보다 나은 품질의 압축 이미지를 얻을 수 있고 또한 코딩 코스트도 최적화할 수 있다.

Claims (12)

  1. 블록들의 세트(101)에 포함되는 블록들의 서브세트(109)를 코딩하기 위해, 블록들로 분할된 이미지의 복수의 압축 코딩 모드로부터 하나의 코딩 모드(112)를 선택하기 위한 방법으로서,
    상기 코딩 모드들 각각에 대하여 상기 블록들의 세트(101) 상에서의 에너지 함수(105)를 계산하는 단계(102);
    적어도 상기 블록들의 서브세트(109)에 대해 상기 에너지 함수(105)의 계산 요소들(103)을 저장하는 단계(104);
    상기 블록들의 세트(101) 상에서의 상기 에너지 함수(105)를 최소화하는 제1 코딩 모드(107)를 선택하는 단계(106);
    상기 블록들의 서브세트(109)에 대해 저장된 상기 계산 요소들(103)을 사용하고 또한 상기 블록들의 서브세트(109)의 근방 상에서, 상기 제1 코딩 모드와는 별개의 코딩 모드들에 대한 코딩 코스트의 추정 단계(113)를 실행함으로써, 상기 코딩 모드들 각각에 대하여 상기 블록들의 서브세트(109) 상에서의 에너지 함수(110)를 계산하는 단계(108); 및
    상기 블록들의 서브세트(109) 상에서의 상기 에너지 함수(110)를 최소화하는 제2 코딩 모드(112)를 선택하는 단계(111)
    를 포함하는 코딩 모드 선택 방법.
  2. 제1항에 있어서,
    상기 블록들의 세트(101)는 2n×2n 블록의 그룹이고, 상기 블록들의 서브세트(109)는 2n-1×2n-1 블록의 그룹인 코딩 모드 선택 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 근방은 상기 블록들의 서브세트(109)의 하부 및 우측의 상기 블록들(101)의 그룹인 코딩 모드 선택 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 계산 요소들(103)은 블록들의 서브세트(109) 각각에 대한 디스토션 및 코딩 코스트인 코딩 모드 선택 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    코딩 모드를 선택하는 상기 단계는 상기 코딩 모드의 파라미터를 선택하는 하부 단계를 포함하는 코딩 모드 선택 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    블록들의 세트 중의 일련의 서브세트에 대해 회귀적으로 반복되는 코딩 모드 선택 방법.
  7. 블록들의 세트(101)에 포함되는 블록들의 서브세트(109)에 대한 복수의 코딩 모드로부터 하나의 코딩 모드(112)의 선택을 실행하는 디바이스로서,
    상기 코딩 모드들 각각에 대하여 상기 블록들의 세트(101) 상에서의 에너지 함수(105)를 계산하는 계산 모듈(102);
    적어도 상기 블록들의 서브세트(109)에 대해 상기 에너지 함수(105)의 계산 요소들(103)을 저장하는 메모리(104);
    상기 블록들의 세트(101) 상에서의 상기 에너지 함수(105)를 최소화하는 제1 코딩 모드(107)를 선택하는 모듈(106);
    상기 코딩 모드들 각각에 대하여 상기 블록들의 서브세트(109) 상에서의 에너지 함수(110)를 계산하는 계산 모듈(108)-상기 계산 모듈(108)은 상기 블록들의 서브세트(109)에 대해 저장된 상기 계산 요소들(103)을 요청하고 또한 상기 블록들의 서브세트(109)의 근방 상에서, 상기 제1 코딩 모드와는 별개의 코딩 모드들에 대한 코딩 코스트를 추정하는 추정 모듈(113)을 포함함-; 및
    상기 블록들의 서브세트(109) 상에서의 상기 에너지 함수(110)를 최소화하는 제2 코딩 모드(112)를 선택하는 모듈(111)
    을 포함하는 코딩 모드 선택 디바이스.
  8. 제7항에 있어서,
    상기 블록들의 세트(101)는 2n×2n 블록의 그룹이고, 상기 블록들의 서브세트(109)는 2n-1×2n-1 블록의 그룹인 코딩 모드 선택 디바이스.
  9. 제7항 또는 제8항에 있어서,
    상기 근방은 상기 블록들의 서브세트(109)의 하부 및 우측의 블록들의 그룹인 코딩 모드 선택 디바이스.
  10. 제7항 내지 제9항에 있어서,
    상기 계산 요소들(103)은 블록들의 서브세트(109) 각각에 대한 디스토션 및 코딩 코스트인 코딩 모드 선택 디바이스.
  11. 제7항 내지 제10항 중 어느 한 항에 있어서,
    코딩 모드를 선택하는 상기 모듈들 중 적어도 하나는 상기 코딩 모드의 파라미터를 선택하는 서브모듈을 포함하는 코딩 모드 선택 디바이스.
  12. 복수의 코딩 모드를 실행하는 비디오 이미지의 코딩 방법으로서, 제1항의 선택 방법에 따른 코딩 모드의 선택의 단계를 포함하는 것을 특징으로 하는 코딩 방법.
KR1020050060071A 2004-07-06 2005-07-05 코딩 모드를 선택하기 위한 방법 및 디바이스 KR101177939B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0451447 2004-07-06
FR0451447A FR2872975A1 (fr) 2004-07-06 2004-07-06 Procede et dispositif pour choisir un mode de codage

Publications (2)

Publication Number Publication Date
KR20060049842A true KR20060049842A (ko) 2006-05-19
KR101177939B1 KR101177939B1 (ko) 2012-08-28

Family

ID=34949756

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050060071A KR101177939B1 (ko) 2004-07-06 2005-07-05 코딩 모드를 선택하기 위한 방법 및 디바이스

Country Status (9)

Country Link
US (1) US8059722B2 (ko)
EP (1) EP1615172B1 (ko)
JP (1) JP4880255B2 (ko)
KR (1) KR101177939B1 (ko)
CN (1) CN1719900B (ko)
DE (1) DE602005012184D1 (ko)
ES (1) ES2319663T3 (ko)
FR (1) FR2872975A1 (ko)
MX (1) MXPA05007303A (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4563981B2 (ja) * 2006-10-23 2010-10-20 日本電信電話株式会社 映像符号化方法、映像符号化装置、映像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
US9125807B2 (en) 2007-07-09 2015-09-08 Incept Llc Adhesive hydrogels for ophthalmic drug delivery
US20110261876A1 (en) * 2008-10-17 2011-10-27 Yih Han Tan Method for encoding a digital picture, encoder, and computer program element
EP2396070A4 (en) 2009-02-12 2012-09-19 Incept Llc ACTIVE COMPOSITION WITH HYDROGEL PLUGS
US8961501B2 (en) 2010-09-17 2015-02-24 Incept, Llc Method for applying flowable hydrogels to a cornea
US9635383B2 (en) * 2011-01-07 2017-04-25 Texas Instruments Incorporated Method, system and computer program product for computing a motion vector
US10230956B2 (en) 2012-09-26 2019-03-12 Integrated Device Technology, Inc. Apparatuses and methods for optimizing rate-distortion of syntax elements
US10277907B2 (en) 2012-10-25 2019-04-30 Integrated Device Technology, Inc. Rate-distortion optimizers and optimization techniques including joint optimization of multiple color components
US20140219331A1 (en) * 2013-02-06 2014-08-07 Magnum Semiconductor, Inc. Apparatuses and methods for performing joint rate-distortion optimization of prediction mode

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5376968A (en) * 1993-03-11 1994-12-27 General Instrument Corporation Adaptive compression of digital video data using different modes such as PCM and DPCM
JP2980810B2 (ja) 1994-04-20 1999-11-22 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 動きベクトル探索方法と装置
JPH0846968A (ja) 1994-08-03 1996-02-16 Nippon Telegr & Teleph Corp <Ntt> 階層的動ベクトル検出方法および装置
JPH08223578A (ja) 1995-02-13 1996-08-30 Nippon Telegr & Teleph Corp <Ntt> 動きベクトル探索方法および装置
US5686963A (en) * 1995-12-26 1997-11-11 C-Cube Microsystems Method for performing rate control in a video encoder which provides a bit budget for each frame while employing virtual buffers and virtual buffer verifiers
US6633611B2 (en) 1997-04-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for region-based moving image encoding and decoding
JP3570863B2 (ja) 1997-08-05 2004-09-29 三菱電機株式会社 動画像復号化装置および動画像復号化方法
US6711211B1 (en) 2000-05-08 2004-03-23 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US6654502B1 (en) * 2000-06-07 2003-11-25 Intel Corporation Adaptive early exit techniques in image correlation
US7079579B2 (en) * 2000-07-13 2006-07-18 Samsung Electronics Co., Ltd. Block matching processor and method for block matching motion estimation in video compression
EP3399747B1 (en) * 2001-09-14 2021-05-12 Ntt Docomo, Inc. Decoding method
JP3764458B2 (ja) * 2001-11-16 2006-04-05 株式会社エヌ・ティ・ティ・ドコモ 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及びプログラム
CN1206864C (zh) * 2002-07-22 2005-06-15 中国科学院计算技术研究所 结合率失真优化的码率控制的方法及其装置
FR2846835B1 (fr) * 2002-11-05 2005-04-15 Canon Kk Codage de donnees numeriques combinant plusieurs modes de codage
CN1934871B (zh) * 2003-08-25 2011-08-10 新加坡科技研究局 在视频编码中对帧间预测进行模式判定的方法和系统
JP2005268879A (ja) 2004-03-16 2005-09-29 Matsushita Electric Ind Co Ltd 画像符号化方法およびその装置

Also Published As

Publication number Publication date
DE602005012184D1 (de) 2009-02-26
EP1615172A1 (en) 2006-01-11
JP4880255B2 (ja) 2012-02-22
EP1615172B1 (en) 2009-01-07
MXPA05007303A (es) 2006-05-25
US20060039479A1 (en) 2006-02-23
CN1719900A (zh) 2006-01-11
CN1719900B (zh) 2010-06-09
KR101177939B1 (ko) 2012-08-28
FR2872975A1 (fr) 2006-01-13
US8059722B2 (en) 2011-11-15
JP2006025430A (ja) 2006-01-26
ES2319663T3 (es) 2009-05-11

Similar Documents

Publication Publication Date Title
KR101177939B1 (ko) 코딩 모드를 선택하기 위한 방법 및 디바이스
EP2627091B1 (en) Video coding using template matching
JP5836625B2 (ja) 画像の符号化および復号化
US7782951B2 (en) Fast motion-estimation scheme
CN101326550B (zh) 利用预测指导的抽取搜索的运动估计
KR101274804B1 (ko) 통합된 공간 시간 예측
WO2011064990A1 (ja) 画像符号化装置、画像復号化装置、画像符号化方法、及び画像復号化方法
US20080002772A1 (en) Motion vector estimation method
CN109429071A (zh) 图像编码装置、图像解码装置及图像处理方法
CN111567047A (zh) 进行子预测块运动矢量推导的存储器访问窗口
CN111201795A (zh) 存储访问窗口和用于运动矢量修正的填充
JP4887009B2 (ja) ブロックセットの符号化のために動きベクトルを選択する方法及び装置
JP4957780B2 (ja) 動き補償予測符号化装置、動き補償予測符号化方法及びプログラム
JP2006020217A (ja) 画像符号化装置
KR101204788B1 (ko) 영상의 공간 예측 부호화 방법, 부호화 장치, 복호화 방법및 복호화 장치
US20130195190A1 (en) Method for deciding motion partition mode and encoder
JP4516088B2 (ja) 動き探索方法、動き探索装置、動き探索プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4231020B2 (ja) イントラ予測モード選択方法,画像符号化装置,画像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4767908B2 (ja) 画像復号装置及び画像符号化装置
JP4438949B2 (ja) 動き補償予測符号化装置、動き補償予測符号化方法及びプログラム
CN109302606A (zh) 一种视频压缩中的预测方法
JP2011205693A (ja) 画像復号装置及び画像符号化装置
JP2004208253A (ja) 画像符号化装置及び画像符号化方法

Legal Events

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

Payment date: 20150716

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160722

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180730

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190820

Year of fee payment: 8