KR100829169B1 - H.264 코딩의 압축모드 예측 장치 및 방법 - Google Patents

H.264 코딩의 압축모드 예측 장치 및 방법 Download PDF

Info

Publication number
KR100829169B1
KR100829169B1 KR1020060063845A KR20060063845A KR100829169B1 KR 100829169 B1 KR100829169 B1 KR 100829169B1 KR 1020060063845 A KR1020060063845 A KR 1020060063845A KR 20060063845 A KR20060063845 A KR 20060063845A KR 100829169 B1 KR100829169 B1 KR 100829169B1
Authority
KR
South Korea
Prior art keywords
mode
prediction
macroblock
cost
modes
Prior art date
Application number
KR1020060063845A
Other languages
English (en)
Other versions
KR20080004915A (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 주식회사 리버트론
Priority to KR1020060063845A priority Critical patent/KR100829169B1/ko
Priority to US12/307,747 priority patent/US8238421B2/en
Priority to PCT/KR2007/003297 priority patent/WO2008004837A1/en
Publication of KR20080004915A publication Critical patent/KR20080004915A/ko
Application granted granted Critical
Publication of KR100829169B1 publication Critical patent/KR100829169B1/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/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/19Methods 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 using optimisation based on Lagrange multipliers
    • 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/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/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/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/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

본 발명은 영상데이터 압축 기술 분야에 있어서 저장매체를 효과적으로 이용하고 통신매체를 효율적으로 사용하기 위하여 대용량의 영상 데이터를 압축하는 기술에 관한 것으로서, 특히 H.264를 위한 압축모드 연산의 고속화에 관한 것이다. 본 발명은 H.264 압축모드를 예측하는 장치로서, 매크로블록 영상정보로부터 매크로블록 영상특성을 계산하는 매크로블록 영상특성 계산부; 매크로블록 좌표로부터 현 매크로블록의 모드를 예측하기 위하여, 모드 히스토리 테이블과 이 테이블들을 관리하는 테이블 관리부를 포함하는 매크로블록 모드 예측부; 모드 예측을 위하여 RD-cost를 계산하고 예측된 모드의 에러가 확산되는 것을 막기 위하여 최적의 모드를 선정하도록 하는 모드 예측 최적화 심사부로 구성된다.
H.264, 영상데이터, 압축모드, 매크로블록, 모드 예측

Description

H.264 코딩의 압축모드 예측 장치 및 방법{Apparatus and method for estimating compression modes for H.264 codings}
도 1은 일반적인 H.264의 부호 모드를 나타내는 도면.
도 2는 본 발명에 따른 장치의 개략 구성도.
도 3은 도 2의 매크로블록 영상특성 계산부의 내부 구성도.
도 4는 도 2의 매크로블록 모드 예측부의 내부 구성도.
도 5는 도 4의 모드 히스토리 테이블의 내부 구성도.
도 6은 도 4의 테이블 관리부의 내부 구성도.
도 7은 도 6의 모드 예측부의 동작 흐름도.
도 8은 도 6의 예측 모드 갱신부의 동작 흐름도.
도 9는 도 2의 RD-cost 최적화 심사부의 동작 흐름도.
본 발명은 영상데이터 압축 기술 분야에 있어서 저장매체를 효과적으로 이용하고 통신매체를 효율적으로 사용하기 위하여 대용량의 영상 데이터를 압축하는 기술에 관한 것이다. 이러한 기술로는 MPEG2, MPEG4, H.263, H.264 등이 있는데 본 발명은 이들 중 최근에 정의된 H.264를 위한 압축모드 연산의 고속화에 관한 것이다. 보다 구체적으로, 본 발명은 H.264 비디오 압축 코덱에 있어 가장 큰 계산 부하를 갖는 움직임 추정부 및 모드 결정부의 연산을 영상의 전반적(global), 국부적(local) 통계 정보를 활용하여 적응적으로 최소화함으로써, 복원 비디오의 품질을 훼손하지 않고 빠르게 비디오 압축을 수행할 수 있는 적응형 H.264 최적 코딩 모드 예측 장치 및 그 방법에 관한 것이다.
멀티미디어 시대를 맞아 다양한 멀티미디어 응용에 필수적인 기술 요소 중 하나로서, 주어진 저장 및 전송 자원의 활용을 극대화할 수 있는 영상 압축 기술이 있다. 대표적 영상 압축 기술로는 MPEG-1/2/4 및 H.261/262/263, 그리고 H.264 등이 있는데, 이들 중 가장 최근에 규격화된 H.264는 MPEG-2 영상 압축 기술에 비해 최대 2배 이상의 압축 효율을 제공할 수 있는 고성능 압축 표준으로, 2Mbps 이하의 비트율에서 디지털 텔레비전 수준의 고품질 비디오를 제공할 수 있어 3세대 무선 네트워크를 통한 비디오 스트리밍, DMB(Digital Multimedia Broadcasting) 등의 포터블 멀티미디어 방송 및 ADSL(Asymmetric Digital Subscribers' Loop) 등의 현세대 네트워크 기반의 IP-TV (Internet Protocol-Television)와 같은 다양한 멀티미디어 응용분야에서 활용되고 있다.
근본적으로 H.264는 종래 기술인 MPEG 및 H 시리즈 비디오 압축 표준에서와 같은 하이브리드(Hybrid) 코덱으로 움직임 추정/보상 및 변환/양자화 기술을 그 바탕에 두고 있다. 하지만, 종래 표준에서보다 훨씬 다양한 가변 블록 크기 움직임 보상이 채택되었고 여러 기준 영상으로부터의 움직임 추정이 가능하게 되었으며, 이전 표준에서는 찾아 볼 수 없었던 1/4 화소 단위의 움직임 보상, 화소 영역 인트라 예측, 오정합(mismatch) 문제가 해결된 정수 변환 (Integer Transform) 및 인루프 디블록킹 필터(In-loop Deblocking Filter) 등의 새로운 기술들을 규격에 도입함으로써 결과적으로 부호기의 자유도가 크게 높아졌고, 따라서 '잘 설계된 부호기'를 사용하는 경우 상술한 높은 압축 성능을 제공할 수 있게 되었다. 여기서, '잘 설계된 부호기'라 함은 H.264 표준이 제공하는 다양한 압축 방법 및 연산의 결과를 모두 탐색하여 알아본 후 가장 압축 성능이 높은 한 가지 방법을 선택하여 실제 압축을 수행하는 부호기와 성능적으로 거의 유사한 부호기를 말하는 것이다. 그러나 이러한 '잘 설계된 부호기'는, 기본적으로 자유도에 비례한 매우 높은 연산 복잡도를 가지게 된다. 종래 H.264 비디오 표준에서 사용하는 부호기의 일례를 참조하여 '잘 설계된 부호기'가 높은 연산 복잡도를 갖는다는 사실에 대해 보다 구체적으로 살펴보도록 한다.
비디오의 매 프레임을 입력으로 받은 H.264 코덱은 프레임 단위로 부호화를 수행하고 그 결과를 다시 복원한 후 이를 복원영상 버퍼(DPB: Decoded Picture Buffer)에 저장하여 다음번 입력된 프레임을 부호화할 때 움직임 추정의 기준 영상으로 사용한다. 복원영상 버퍼에는 여러 장의 복원 영상을 저장할 수 있는데, 그 최대 크기는 프로파일(Profile)과 레벨(Level)에 따라 달라진다. 입력된 현 영상의 부호화는 기본적으로 16x16 크기의 겹치지 않는 기본 단위별로 처리되는데, 이를 매크로블록(Macroblock)이라 한다. 각 매크로블록별로 움직임 추정/복원, 모드 결정이 수행되고 최적 모드로 움직임 복원된 영상과 원 영상과의 차이를 정수 변환, 양자화하여 실제 부호화가 수행된다. 부호화가 끝난 매크로블록은 역양자화, 역변환을 거쳐 차이 영상을 복원하고 이를 움직임 복원 영상에 더해 복원 매크로블록을 생성한 후 그 결과를 모아둔다. 이렇게 모여진 복원 매크로블록들은 슬라이스(Slice) 단위로 루프 필터링되고 그 결과를 다시 복원영상 버퍼에 저장함으로써 슬라이스 단위 부호화의 전체 과정이 끝나게 된다. H.264에서 슬라이스는 종래 표준에서와는 달리 한 프레임 내에서 여러 유연한 구조로 정의될 수 있지만, 본 발명의 구성 및 작용을 쉽게 이해할 수 있도록 하기 위해 본 설명에서는 부호기에 입력되는 한 프레임 전체를 하나의 슬라이스라 정의하겠다.
도 1은 H.264의 경우의 부호 모드를 나타내고 있는데, (a)는 인터 매크로블록의 가용 모드, (b)는 16x16 인트라 매크로블록의 가용 모드, (c)는 4x4 인트라 매크로블록의 가용 모드를 나타낸다. H.264에 정의되어 있는 각 매크로블록의 부호화 모드는 총 21가지가 있는데, 도 1의 (a)에 예시된 바와 같이, 인터(Inter) 매크로블록의 가용 모드에는 SKIP, 16x16, 8x16, 16x8, 8x8의 5가지 움직임 보상 모드가 있고, 8x8 움직임 보상 모드의 경우에는 각 8x8 서브블록(Sub-block) 별로 다시 8x4, 4x8 그리고 4x4의 3가지 서브 모드(Sub-mode)가 존재한다. 반면, 매크로블록이 인트라(Intra)로 부호화되는 경우에는 4가지 16x16 인트라 예측 모드(도 1의 (b)) 혹은 9가지 4x4 인트라 예측 모드(도 1의 (c)) 중 한 가지가 선택된다.
한 매크로블록을 도시된 21가지 가용 부호 모드 중 한 가지로 부호화하기 위해, 부호기는 각 모드로 부호화한 결과를 서로 비교하여 가장 부호화 효용이 높은 모드를 선택해야 한다. 이를 위해 H.264 표준 부호기의 일례에서는 우선 SKIP을 제 외한 7가지 인터 매크로블록 가용 모드 각각에 대해 최적의 움직임 벡터를 구한다. 최적 움직임 벡터는 후보 움직임 벡터들 중 다음의 수학식 1을 최소로 하는 움직임 벡터를 의미한다.
Figure 112006048791649-pat00001
여기서
Figure 112006048791649-pat00002
은 움직임 추정을 위한 라그랑지안(Lagrangian) 계수를 의미하고,
Figure 112006048791649-pat00003
은 후보 움직임 벡터 (mvx,mvy)를 부호화하는데 필요한 비트수를 의미한다. SAD(Sum of Absolute Difference)는 후보 움직임 벡터로 생성되는 움직임 보상된 매크로블록과 원 영상 매크로블록 화소 간의 차이에 대한 절대값의 총합을 의미한다. 후보 움직임 벡터를 (mvx,mvy)라 하면 SAD는 다음과 같이 정의된다.
Figure 112006048791649-pat00004
여기서
Figure 112006048791649-pat00005
는 현 입력 프레임의 x열 y행에 위치한 화소를 의미하고,
Figure 112006048791649-pat00006
는 복원영상버퍼의 n째 프레임의 x열, y행에 위치한 화소를 의미한다.
따라서 16x16 움직임 보상 모드의 경우 각 후보 움직임 벡터에 대한 SAD 연산은 16x16개의 매크로블록 각 화소들에 대해 각기 빼기와 절대치 연산 그리고 이들 절대치의 더하기 연산들을 통하여 수행되고, 다른 블록 크기를 갖는 움직임 보상 모드의 경우에는 해당 블록 크기에 해당하는 화소들에 대해 이와 같은 연산이 수행되므로 SAD를 계산하는 연산 자체는 더 적어지지만 한 매크로블록에 속하는 각 블록들이 서로 다른 최적 움직임 벡터를 가질 수 있기 때문에 각 블록들에 대해 각기 움직임 추정을 수행해야 한다. 여기서, 후보 움직임 벡터의 종류는 일반적으로 탐색 윈도우(Window)의 크기에 따라 달라지는데, 32x32 크기의 탐색 윈도우를 사용하는 경우 (-32,-32), (-32,-31), (-32,-30),
Figure 112006048791649-pat00007
, (-32,32), (-31,-32), (-31,-31),
Figure 112006048791649-pat00008
, (-31,32),
Figure 112006048791649-pat00009
, (32,32)의 총 65x65개가 존재한다. 즉, 16x16 움직임 보상 모드의 최적 움직임 벡터를 찾기 위해서는 16x16개 화소에 대한 SAD 연산을 65x65번 수행하여 이들 중 수학식 1을 최소로 하는 후보 움직임 벡터를 구해야 하고, 16x8 움직임 보상 모드의 최적 움직임 벡터를 찾기 위해서는 각 16x8 블록마다 16x8개 화소에 대한 SAD 연산을 65x65번 수행한 후 최적 움직임 벡터를 찾을 수 있다. 부호기가 여러 장의 기준 영상을 사용하는 경우에는 각 기준 영상별로 최적 움직임 추정을 위한 위 연산을 각기 반복 수행하고, 이 모든 연산들 중 수학식 1을 최소로 하는 후보 움직임 벡터를 각 모드별 그리고 각 블록별로 1개씩 구해야 한다. 이렇게 얻어진 각 가용 모드들에 대한 최적 움직임 벡터들은 그 벡터 주변 소수 위치의 추가 탐색을 통해 갱신되는데, 각 소수 위치에서의 수학식 1 연산을 통해 이 과정이 수행되고, 소수 위치의 화소 값들은 각기 6탭 저역 통과 필터와 2탭 저역 통과 필터를 통해 얻어진다.
상기한 연산 수행 결과로 인터 매크로블록의 각 가용 모드별 최적 움직임 벡터가 추정되고 나면, 인트라 매크로블록에 대한 각 가용 모드들과의 비교를 통해 최적 부호 모드가 결정된다. 여기서, 최적 부호 모드는 도 1에 도시된 21개의 각 가용 모드들에 대해 다음의 수학식 3을 최소로 하는 부호 모드를 의미한다.
Figure 112006048791649-pat00010
여기서
Figure 112006048791649-pat00011
는 모드 결정을 위한 라그랑지안 계수이고,
Figure 112006048791649-pat00012
는 현재 후보 모드로 매크로블록을 부호화하는데 사용된 전체 비트 수를 의미한다. SSD(Sum of Squared Distortion)는 원 영상의 해당 매크로블록과 복원된 매크로블록 화소간의 차이를 제곱하여 더한 값을 의미한다.
Figure 112006048791649-pat00013
를 원 영상의 x열 y행에 위치한 화소라 하고
Figure 112006048791649-pat00014
를 복원 영상의 x열 y행 위치의 화소라 하면 SSD는 다음과 같이 정의된다.
Figure 112006048791649-pat00015
따라서, 현재 부호화할 매크로블록을 도 1에 도시된 21가지 가용 모드들로 모두 부호화하여 부호 비트 수
Figure 112006048791649-pat00016
를 구하고, 이를 다시 복원하여 수학식 4의 SSD를 구한 다음 수학식 3의 비용 함수를 비교함으로써 모드 결정을 수행하게 된다. 여기서, 인터 매크로블록의 가용 모드들로 부호화/복호화를 수행할 때, 앞서 움직임 추정에서 구한 각 모드별 최적 움직임 벡터를 사용하게 되고, SKIP 모드의 경우에는 이미 부호화가 완료된 주변 매크로블록에서 사용할 움직임 벡터를 계산하 여 사용한다.
이상에서 상술한 H.264 비디오 표준에서 제공하는 부호기 예시에서의 움직임 추정 및 모드 결정 방식은 실로 막대한 양의 연산을 요구하는 것으로, 전체 부호기 복잡도의 60~70%를 차지하고 있는 부호기에서 가장 복잡한 부분이다. 따라서 '잘 설계된 고속 부호기'의 개발을 위해서는 이 부분의 고속화 및 고속화로 인한 화질 열화의 최소화를 반드시 고려하여야 한다.
이와 같은 복잡한 H.264의 모드 결정 과정을 고속화하기 위한 대표적 종래 기술로 다음과 같은 기법들이 사용되고 있다. 이들 기법들의 공통된 기본 아이디어는 움직임 추정부와 모드 결정부를 결합한 후, 가용 모드들 중 잘 발생하지 않을 것으로 예측되는 특정 모드들에 대해서는 움직임 추정이나 모드 결정을 위한 연산을 수행하지 않음으로써 부호기의 복잡도를 낮추도록 한 것이다. C. Sampath Kannangara, Iain E. G. Richardson, Maja Bystrom, Jose R. Solera, Yafan Zhao, Andrew MacLennan, and Robert Cooney("Low-complexity skip prediction for H.264 through Lagrangian cost estimation", IEEE Trans. Circuits and Syst. for Video Technol., vol.16, no.2, pp.202-208, Feb. 2006)에 따르면, 부호 모드 결정의 첫 단계에서 SKIP 모드를 우선적으로 검사하고 그 결과가 SKIP으로 부호화될 가능성이 크다고 판단되는 경우, 종래에 수행되던 모든 모드 결정 관련 연산을 회피하고 현 부호 대상을 SKIP으로 부호화함으로써 고속화를 꾀한다. 즉, 현재 부호화 대상인 매크로블록을 SKIP 모드로 부호화 할 때의 수학식 3으로 표현되는 비용함수를 우선적으로 구하고 이를 특정한 임계치와 비교함으로써, 나머지 가용 모드들에 대한 움 직임 추정 및 모드 결정 관련 연산을 수행할지 여부를 결정하게 된다. 그러나 이 방식은 SKIP 모드만을 염두에 두고 나머지 부호 모드들의 경우에는 종래의 방법대로 순차적 연산을 수행하기 때문에 부호기의 고속화 성능 향상에 한계가 있다.
이와 같은 한계를 극복하기 위해, SKIP 모드를 포함하는 모든 부호 모드에 대해 우선순위를 결정하고, 결정된 순서에 따라 순차적으로 수학식 3의 비용함수를 계산하여 그 결과를 일련의 적응 임계치와 비교함으로써 나머지 모드들에 대한 연산 수행 여부를 결정하는 기법이 종래에 사용되고 있다.
이와 같은 SKIP 모드를 포함하는 전체 부호 모드에 대해 모드 결정 고속화를 추구하는 종래 기술들은 크게 두 가지 범주로 나누어 볼 수 있다. 그 첫째는 현재 매크로블록에 적합한 후보 모드들을 결정하기 위해 특정한 연산을 수행하고, 그 결과로 얻은 후보 모드들에 대해서만 수학식 3의 비용함수 비교를 수행함으로써 전체적인 연산을 줄이는 방식으로, Qionghai Dai, Dongdong Zhu, and Rong Ding("Fast mode decision for inter prediction in H.264", in Proc. IEEE ICIP, Oct. 2004, vol.1 pp.119-122); Hyungjoon Kim and Yucel Altunbasak("Low-complexity macroblock mode selection for H.264/AVC encoders", in Proc. IEEE ICIP, Oct. 2004, vol.2, pp.765-768); Andy C. Yu and Graham R. Martin("Advanced block size selection algorithm for inter frame coding in H.264/MPEG-4 AVC", in Proc. IEEE ICIP, Oct. 2004, vol.1, pp.95-98) 등이 이 범주에 해당한다.
위 Qionghai Dai et.al의 경우에는 부호화를 수행할 원본의 1/4 해상도 영상에 대해 움직임 추정 및 모드 결정 연산을 수행하고, 그 결과로 얻어진 저해상도 영상에서의 최적 모드 결과에 따라 특정 후보 모드들을 선택한 후 선택된 모드들에 대해서만 원해상도 영상에서의 모드 결정을 수행함으로써 부호기의 고속화를 추구하고 있다. 이 방식에서 사용하는 후보 모드 선택 표는 다음과 같다.
저해상도 영상에서 얻은 모드 후보 모드
매크로블록 모드 8x8보다 작은 인터 모드
SKIP SKIP, P16x16
I16x16 I16x16
I4x4 I16x16, I4x4
P8x8 SKIP SKIP, P16x16
P8x8 P16x16, P8x8
P8x4 P16x8, P8x4
P4x8 P8x16, P4x8
P4x4 P8x8, P4x8, P8x4, P4x4
보다 구체적으로 설명하면, 우선 원해상도 영상에 7탭 저역 통과 필터를 가로/세로 방향으로 적용하여 가로/세로 각각 1/2 해상도로 다운샘플링(Down-sampling) 한 1/4 해상도의 영상을 얻는다. 얻어진 저해상도 영상의 각 매크로블록에 대하여, 모든 인트라 매크로블록 가용 모드들과 8x8보다 작은 크기의 인터 매크로블록 가용 모드들에 대해 상술한 H.264 표준이 제공하는 부호기 예시의 움직임 추정 및 모드 결정 연산을 수행한다. 모드 결정 연산을 수행하면서 수학식 3으로 표현되는 부호화 비용 함수 값이 가장 작은 2가지 모드를 고르고, 각 모드에 대응되는 표 1에 예시된 후보 모드들을 선택하여 원 해상도 매크로블록에 대한 움직임 추정 및 모드 결정을 수행한다. 표 1에서 I는 인트라 모드를 P는 인터 모드를 의미한다. 즉, P16x16은 16x16 크기의 인터 모드를 의미하고, I4x4는 4x4 크기의 인트라 모드를 뜻한다. 이 방식은 부호화에 사용될 가능성이 큰 후보 모드들을 효과적으로 제한함으로써 잘 설계된 부호기의 연산 복잡도를 낮출 수 있는 기술이다. 그러나 저해상도 영상에 대한 전처리(Pre-processing)로 말미암아 8x8 크기 이하의 인터 매크로블록 가용 모드들만 탐색할 수 있으므로, 표 1에서 보이는 바와 같이 원해상도에서 실제 부호 모드 결정을 위해 탐색할 후보 모드들이 많아 성능의 개선을 높이는 데에는 한계를 갖는다.
반면, 앞서 인용한 Hyungjoon Kim et. al의 경우에는 전체 후보 모드들에 대해 SATD (Sum of Absolute Transformed Difference)를 기반으로 하는 원해상도에서의 빠른 모드 탐색을 수행하고, 그 결과로 생성된 몇몇 최적 후보 모드들에 대해서만 실제 모드 결정 연산을 수행함으로써 전체적인 계산량의 감소를 얻고 있다. 보다 구체적으로 설명하면, 이 방식에서는 우선 수학식 1을 최소로 하는 인터 매크로블록 각 가용 모드들에서의 최적 움직임 벡터들을 구하고, 이들 최적 움직임 벡터들을 기반으로 도 1의 인터 매크로블록 및 인트라 매크로블록에 대한 모든 가용 모드들에 대해 수학식 5의 부호화 비용 함수를 계산한다.
Figure 112006048791649-pat00017
여기서, SATD는 움직임 추정 혹은 인트라 예측된 예측 매크로블록과 부호화를 수행할 원 매크로블록 간의 차이를 하다마드 변환(Hadamard Transform) 하여 그 변환 계수의 절대치를 합한 것이고,
Figure 112006048791649-pat00018
는 매크로블록 헤더 및 움직임 벡터 등을 부호화하는데 소요된 비트수를 의미한다. 21가지의 모든 가용 모드들 중에서, 수학식 5를 최소로 하는 N 가지 후보 모드들을 선택하고 이들 후보 모드들에 대해 수학 식 3으로 표현되는 실제 모드 결정을 수행함으로써 현재 매크로블록에 대한 부호 모드를 결정하게 된다. SATD가 일련의 간단한 정수 연산만으로 수행 가능하고,
Figure 112006048791649-pat00019
는 테이블 참조 방식으로 쉽게 구현할 수 있기 때문에, 위 Hyungjoon Kim et. al의 방식은 수학식 3으로 표현되는 전체 모드 결정(Full Mode Decision) 방식에 비해 화질 손실 없이 빠른 모드 결정이 가능하다. 그러나 이 기술에서는, 최적 후보 모드의 개수(N)를 비디오 특성에 따라 적응적으로 가변할 수 없을 뿐 아니라 모드 결정에 맞물려 있는 움직임 추정부의 높은 계산 부하를 연대적으로 최소화할 수 없다는 문제를 가진다.
마지막으로 Andy C. Yu et. al의 경우에는 현재 부호 대상 단위의 복잡도 혹은 활성 정도와 부호 단위 서브 블록들의 움직임 일관도를 측정하여 이를 실험적 임계값과 비교함으로써 탐색을 수행할 후보 모드를 제한하고 있다. 보다 상세하게, 현재 부호화 대상인 매크로블록에 대하여 수학식 6으로 표현되는 복잡도 비
Figure 112006048791649-pat00020
를 구한다.
Figure 112006048791649-pat00021
여기서,
Figure 112006048791649-pat00022
는 현 매크로블록의 고주파 (AC 계수) 계수들의 전체 에너지이고,
Figure 112006048791649-pat00023
는 현 매크로블록의 최대 분산을 의미한다.
구해진 복잡도 비
Figure 112006048791649-pat00024
를 실험적 임계치와 비교하여
Figure 112006048791649-pat00025
가 임계치보다 작을 경우 현 매크로블록을 평탄(homogeneous) 영역으로 분류하고, 그렇지 않을 경우 이를 비평탄 영역으로 분류한다. 현 매크로블록이 평탄영역이고, 이전 프레임의 현 매크로블록 위치에 존재하는 매크로블록이 8x8보다 작은 블록 모양으로 부호화되지 않은 경우 현 매크로블록의 후보 모드를 SKIP, P16x16 그리고 전체 가용 인트라 모드들로 제한하여 수학식 3으로 표현되는 모드 결정을 수행하고, 그렇지 않은 경우 현 매크로블록에 속하는 8x8 블록 단위로 수학식 1을 최소로 하는 4개의 움직임 벡터 추정을 실시한다. 4개의 추정된 최적 움직임 벡터들 사이의 차이를 구하여 그 최대 절대치를 얻고, 이 값을 임계치와 비교하여 일관된 움직임 매크로블록 혹은 비 일관된 움직임 매크로블록을 구분한다. 현 매크로블록이 일관된 움직임 매크로블록으로 분류되는 경우, SKIP, P16x16, P16x8, P8x16과 가용한 전체 인트라 매크로블록 모드들에 대해 수학식 3을 만족하는 모드 결정을 수행하고, 그렇지 않은 경우에는 모든 가용 모드들(21개)에 대해 수학식 3을 만족하는 모드 결정을 수행하여 부호화 대상 매크로블록의 부호 모드를 설정한다. 이 방식은 현재 부호대상인 매크로블록의 복잡도 및 움직임 일관도를 이용하여 수학식 3을 통해 수행될 모드 결정의 후보 모드들을 적절히 제한함으로써 부호기의 복잡도를 낮출 수 있는 기술이다. 그러나 부호 대상 매크로블록의 특성만을 반영하여 주변 매크로블록들이나 기 부호화된 이전 매크로블록들의 정보는 활용하지 못하였고, 인트라 매크로블록의 가용 모드들에는 제한을 가하지 못하고 기본적으로 서브-블록의 크기가 큰 인터 매크로 블록 가용 모드들과 서브-블록의 크기가 작은 인터 매크로블록 가용 모드들만을 구분하여 후보 모드로 선정함으로써 그 성능상의 개선 효과가 제한적이라는 단점을 갖는다.
이상에서 설명한 H.264 부호 모드 결정 고속화를 위한 종래 기술들은 비록, SKIP을 포함한 H.264의 전체 부호 모드를 대상으로 고속화를 수행하고 있지만, 이들 기술들은 영상의 특성이나 코딩 특성과 관계없이 정해진 순서로 모드 연산을 수행함으로써 결과적으로 많은 수의 모드를 연산하여 최적 모드를 얻는 문제점을 갖고 있다. (반면에, 차후 설명하겠지만, 본 발명은 부호 이력에 기반한 통계적 특성을 통해 후보 모드를 결정함으로써 보다 높은 복잡도 개선 효과를 얻을 수 있다는 점에서 이들 종래기술들과 근본적인 차별성을 가지고 있다.)
한편, SKIP을 포함하는 전체 모드 결정을 위한 고속화 종래 기술의 두 번째 범주는, Lidong Xu and Xinggang Lin("Fast mode decision for inter frames in H.264/AVC", in Proc. IEEE ISCIT, Oct. 2005, vol.1, pp.433-436); Dongming Zhang, Yanfei Shen, Shouxun Lin, and Yongdong Zhang("Fast inter frame encoding based on modes pre-decision in H.264", in Proc. IEEE International Conf. on Multimedia and Expo, ICME, July 2005, pp.530-533)에서와 같이, 최적 모드에 대한 전반적인(Global) 통계적 특성을 이용하여 최적 모드로 잘 발생하지 않는 경우들을 후보 모드에서 제거함으로써 전체 연산을 줄이는 방식들을 포함한다. 우선, Lidong Xu et. al은 H.264의 전체 모드 결정 연산을 통해 얻어진 결과들의 통계적 특성으로 다양한 크기의 분할 공간을 포함하는 각 모드의 발생 빈도 추 이를 분석하였다. 분석 결과를 통하여 각 모드의 탐색 순서를 결정하였고, 결정된 순서대로 모드 결정을 위한 연산을 수행하면서 모드 선택에 따르는 결과 비용 함수의 값을 정해진 임계치와 비교하여 모드 결정을 일찍 끝내든가 아니면 특정 모드의 탐색을 수행하지 않도록 하였다. 이 방식을 좀 더 자세히 살펴보면 다음과 같다.
우선, 움직임 추정의 연산량이 가장 적은 SKIP모드에 대해 수학식 3의 비용 함수
Figure 112006048791649-pat00026
를 구하고, 이를
Figure 112006048791649-pat00027
이라 한다. 구해진
Figure 112006048791649-pat00028
을 임계치
Figure 112006048791649-pat00029
과 비교하여
Figure 112006048791649-pat00030
인 경우 SKIP 모드를 현재 매크로블록의 최적 모드로 삼고 이후 모든 모드 결정 연산을 회피한다. 반면,
Figure 112006048791649-pat00031
인 경우에는 이를 두 번째 임계치
Figure 112006048791649-pat00032
와 비교한 후
Figure 112006048791649-pat00033
인 경우 인트라 매크로블록의 가용 모드들에 대한 모드 탐색을 수행하지 않도록 한다. 위의 첫 번째 과정에서 현재 부호화할 매크로블록이 SKIP모드로 결정되지 않은 경우, P16x16 모드에 대해 수학식 1의 최적 움직임 벡터를 추정하고, 추정된 움직임 벡터를 사용하여 수학식 3의 비용함수를 계산하여 이를
Figure 112006048791649-pat00034
이라 한다. 여기에 세 번째 임계치
Figure 112006048791649-pat00035
를 도입하여,
Figure 112006048791649-pat00036
이고
Figure 112006048791649-pat00037
인 경우
Figure 112006048791649-pat00038
Figure 112006048791649-pat00039
중에서 작은 값을 갖는 모드를 현재 매크로블록을 부호화할 최적 모드로 결정하고 이후의 모든 모드 결정 관련 연산을 중지한다. 이 결정은 SKIP모드에 비해 P16x16 모드의 채용으로 인한 개선 효과가 있으나 크지는 않은 경우를 골라낸 것으로, 이는 더 작은 분할 공간을 포함하는 모드를 채용할 경 우에도 비용 함수 면에서의 개선 효과가 크지 않게 될 가능성이 크기 때문이다.
이제, 위의 조건이 만족되지 않아 SKIP이나 P16x16 모드로 결정이 되지 않을 경우에 대해서는 그 다음으로 더 작은 분할 공간을 포함하는 P16x8과 P8x16모드에 대해 수학식 1로 구할 수 있는 각각의 최적 움직임 벡터 추정을 실시하고, 추정된 결과를 사용한 수학식 3의 비용 함수를 각기 구해 둘 중 더 작은 값을
Figure 112006048791649-pat00040
이라 한다. 구해진
Figure 112006048791649-pat00041
의 값이 앞서 구했던
Figure 112006048791649-pat00042
혹은
Figure 112006048791649-pat00043
보다 큰 경우 이는 작은 분할 공간을 포함하는 모드가 될수록 비용 함수가 증가한다는 의미가 되기 때문에
Figure 112006048791649-pat00044
Figure 112006048791649-pat00045
중 더 작은 값을 가지는 모드로 현재 부호화할 매크로블록의 최적 모드를 삼고 더 이상의 모드 결정 관련 연산을 중단한다. 마지막으로 이상의 모든 경우에 해당하지 않는 경우 P8x8 및 이보다 더 작은 분할 공간을 가지는 모든 인터 매크로블록의 가용 모드들에 대해 수학식 1을 만족하는 움직임 벡터 추정을 실시하고, 그 결과를 사용한 수학식 3의 비용 함수를 계산한다. 이 결과를 인트라 매크로블록의 모든 가용 모드들을 사용한 수학식 3의 비용 함수들과 비교함으로써 이전과 같이 전체 모드 탐색을 수행하여 최적 모드를 결정하게 된다. 여기서 한 가지 주의할 점은 이 방식의 처음 부분에서
Figure 112006048791649-pat00046
을 임계치
Figure 112006048791649-pat00047
와 비교한 결과에 따라 인트라 매크로블록의 가용 모드들을 사용할지 아닐지 결정되어 있다는 점이다.
이 기법은 비디오 화면에 존재하는 많은 배경 부분이 큰 분할 공간을 포함하 는 모드로 대부분 부호화 된다는 부호 모드의 통계적 특성을 효과적으로 활용하여 H.264 부호화의 복잡도를 크게 개선하였지만, 시간적으로 변화하는 비디오 화면의 특성을 적응적으로 활용하지 못함으로써 (모든 매크로블록에 대한 부호 모드 탐색 순서가 일반적 통계 특성에 의해 고정되어 있음을 의미) 고속화 정도의 장면별 변화가 매우 크다는 단점이 있을 뿐 아니라, 설정된 임계치에 따라 고속화 정도와 복원 화질 결과가 크게 달라짐에도 불구하고 적응성이 없는 정해진 임계치를 사용함으로써 처리 대상 비디오 및 부호 환경별 이득이 고르지 않은 문제를 가지고 있다.
한편, 위 Dongming Zhang et. al은 Lidong Xu et. al과 유사한 통계적 최적 모드 발생 빈도 분석을 다수의 기준 영상을 사용하는 경우에 대해 수행하였고, 그 결과를 이용하여 2번째 기준 영상 및 그 이후 기준 영상에서 사용할 후보 모드의 경우를 크게 제한하였다. 이를 좀 더 자세히 알아보면 다음과 같다.
우선, 처음으로 SKIP모드에 대한 수학식 1의 비용 함수를 계산하고, 이를 임계치와 비교하여 모드 결정 연산을 중지할지 여부를 결정한다. SKIP모드로 결정되지 않는 경우에 대해서는 첫 번째 기준 영상을 사용하여 H.264의 부호기 예시에서와 같이 모든 가용 모드들에 대해 수학식 3으로 표현되는 비용 함수를 최소화하는 최적 모드를 결정하고, 다음과 같은 중간 변수들을 설정한다.
BetterIntraMode - I16x16과 I4x4 중 수학식 3의 비용함수 값이 더 작은 모드
BestMode - 모든 가용 모드들 중 수학식 3의 비용함수가 최소인 모드
CostBestMo - BestMode일 때의 수학식 3의 비용함수 값
설정된 중간 변수들을 이용하여 다음과 같이 다음번 기준 영상에서 모드 결 정 탐색을 수행할 후보 모드들을 설정한다. 이 후보 모드 설정 방식은 최적 부호모드의 통계적 특성을 반영한 것이다.
BestMode가 P16x8인 경우 - P16x8, P8x8을 후보모드로 설정하고, BetterModeIntra가 I4x4인 경우 8x8보다 작은 분할 공간을 포함하는 모든 가용 모드들을 후보 모드에 포함시킨다.
BestMode가 P8x16인 경우 - P8x16, P8x8을 후보모드로 설정하고, BetterModeIntra가 I4x4인 경우 8x8보다 작은 분할 공간을 포함하는 모든 가용 모드들을 후보모드에 포함시킨다.
나머지 경우 - P8x8을 후보모드로 설정하고, BetterModeIntra가 I16x16인 경우 P16x16을 후보모드에 포함시킨다.
설정된 후보모드들에 대해 수학식 1로 표현되는 움직임 추정 및 수학식 3으로 표현되는 부호화 비용함수를 계산하여 최적 부호 모드를 선택하고, 이때의 최적 부호 모드를 BestModeNew, 그 비용함수 값을 CostBestModeNew라 한다. BestModeNew > BestMode인 경우 현재 매크로블록을 BestMode로 부호화하고 더 이상의 기준 영상 탐색을 수행하지 않는다. 만약 그 반대의 경우라면 BestMode 및 CostBestMode를 BestModeNew, CostBestModeNew로 갱신하고 다음 번 기준 영상을 위한 후보 모드 설정 및 최적 부호 모드 탐색을 실시한다. 이상의 과정을 재귀적으로 반복함으로써 전체 기준 영상에 대한 부호 모드 결정 고속화를 실행한다.
이 방식은 다수의 기준 영상을 사용하는 부호 환경에서의 통계적 최적 모드 발생 빈도 분석을 통하여 모드 결정을 위한 H.264 부호기의 계산상 복잡도를 크게 개선할 수 있었지만, Lidong Xu et. al의 경우와 마찬가지로 여러 비디오 화면에 존재하는 통계적 특성을 일반화하여 후보 모드 결정 방식을 고정함으로써 시간적으로 변화하는 비디오 화면의 특성을 적응적으로 활용할 수 없다는 문제를 갖고 있다.
이상과 같은 문제를 해결하기 위해 본 발명에서는 현 대상 부호 단위의 시-공간적 위치에 따른 최적 부호 모드의 통계 특성을 구분하여 활용함으로써 적응적으로 부호 모드들의 탐색 순서를 재구성하도록 하였다. 또한, 상술한 대부분의 H.264 부호 모드 고속화 종래 기술들이 직관적 기준에 의해 임계치를 설정하고 이 임계치에 의해 후보 모드를 제한하고 있는 반면, 본 발명에서는 기 부호화된 주변 부호 단위들에서 경험된 부호화 오차(비용함수)에 기반한 적응적 임계치를 사용하여 부호 대상인 비디오 데이터의 부호화 관점에서의 통계적 특성 변화에 능동적으로 적응할 수 있도록 하였다.
따라서 본 발명의 목적은 최소한의 비용으로 정확히 각 매크로블록의 코딩 모드를 예측하고 예측된 모드에 우선적으로 RDO를 계산함으로써 큰 화질의 열화 또는 압축률의 감소 없이 복잡한 모드 결정과정을 단순화, 고속화하는데 있다. 이를 위하여 본 발명은 프로세서의 분기 예측을 위한 다중 예측 테이블 기법을 도입하여 각 영상의 특성과 코딩 특성을 기록한 후 차후 유사 환경의 영상을 코딩하는데 압축 모드를 정확히 예측하도록 하였다. 이는 기존의 방법과 달리 다양한 영상 데이터의 특성을 동적으로 적용 관리함으로써 보다 정확히 압축 모드를 예측하도록 한 다.
상기 목적을 달성하기 위하여 본 발명의 H.264 모드 예측 장치는 코딩중인 매크로블록의 영상 특성과 Spatial/Temporal 모드 히스토리를 효율적으로 저장하고 예측하는 테이블들과 이들의 히스토리를 체계적으로 갱신/관리하는 테이블 관리부를 포함하는 매크로블록 모드 예측부를 주요 구성요소로서 구비한다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 H.264 모드 예측 장치 및 방법의 바람직한 실시예를 보다 상세하게 설명한다. 이하의 실시예는 상기 본 발명에 따른 H.264 모드예측 장치 및 방법의 기술적 사상을 실현하기 위한 구체적인 실시 형태를 설명하기 위한 것으로, 본 발명의 기술적 범위를 제한하는 것은 아니다.
도 2는 본 발명의 일실시예에 따른 H.264 압축모드 예측 장치의 전체 구성도를 예시한다. 도 2의 H.264 모드 예측 장치는, 매크로블록 영상정보로부터 매크로블록 영상특성을 계산하는 매크로블록 영상특성 계산부(10), 매크로블록 좌표로부터 현 매크로블록의 모드를 예측하기 위하여, 모드 히스토리 테이블과 이 테이블들을 관리하는 테이블 관리부를 포함하는 매크로블록 모드 예측부(20), 모드 예측을 위하여 RD-cost를 계산하고 예측된 모드의 에러가 확산되는 것을 막기 위하여 최적의 모드를 선정하도록 하는 모드 예측 최적화 심사부(30)를 구비한다. 이 실시예에서 본 발명의 기술적 사상은 매크로블록 모드 예측부(20)에 의해 구현되며, 다른 구성요소, 즉, 매크로블록 영상특성 계산부(10)와 모드 예측 최적화 심사부(30)는 매크로블록 모드 예측부(20)의 성능을 강화시키기 위하여 추가된 구성요소들이다.
도 3은 매크로블록 영상특성계산부(10)의 구성을 나타낸다. 매크로블록 평탄도 계산부(110)는 입력되는 매크로블록 영상정보로부터 매크로블록의 평탄도를 계산하기 위하여 16x16 매크로블록 내의 픽셀 값의 분산을 구한다. 이 때 16x16 매크로블록 분산 연산의 복잡성을 줄이기 위하여 전체 매크로블록의 픽셀들에 대한 계산 대신에 블록의 가장자리의 픽셀에 대한 분산 값으로 블록 평탄도를 구한다. 이는 계산량을 1/4로 줄여주면서 가장자리로 지나가는 영상내용의 고주파 성분을 측정할 수 있다. 평탄도 분류부(120)는 계산된 매크로블록의 평탄도를 n개로 나누고, 이 n개의 단계로 분류된 평탄도는 모드 히스토리 테이블 선택신호로서 출력되어 H.264 모드를 예측해주는 모드 히스토리 테이블의 번호를 결정하게 된다.
도 4는 도 2의 매크로블록 모드 예측부(20)의 내부 구성을 나타낸다. 매크로블록 예측부(20)는 상기 매크로블록 영상특성 계산부(10)에서 계산되어 분류된 매크로블록의 영상 평탄도 단계에 상응하는 n개의 모드 히스토리 테이블(220)을 구비한다. 각 테이블(220)은 1번부터 n까지의 번호가 붙어있고 k번의 모드 예측 테이블은 k 단계의 평탄도를 갖고 있는 매크로블록의 모드 히스토리를 저장하여 후에 k단계의 평탄도를 갖고 있는 블록의 코딩 모드를 예측하게 된다. 즉, 코딩되고 있는 매크로블록의 영상 평탄도 단계가 1≤k≤n 이라면 k번째 테이블을 통하여 매크로블록의 코딩 모드를 예측하게 되는 것이다.
도 5를 참조하면, 각 모드 히스토리 테이블(220)의 구성은 모드 히스토리 인덱싱 필드(221)와 각 인덱싱 필드에 상응하는 모드 예측 순서 필드(222)로 되어 있다. 모드 히스토리 인덱싱 필드(221)는 a개의 모드들의 조합으로 되어 있고 모드 예측 순서 필드(222)는 b개의 히스토리 모드들과 그들의 선택횟수를 저장하는 필드로 구성되어 있다. 그러므로 예측 테이블의 사이즈는 몇 개의 모드로 인덱싱을 할 것인가 및 각 예측 모드 순서 필드가 몇 개의 예측 모드를 기록하고 있을 것인가에 의해 결정된다.
한편, 도 4로 돌아가서, 매크로블록 모드 예측부(20)에는 테이블 관리부(240)가 포함되어 있다. 테이블 관리부(240)는 매크로블록 영상특성 계산부(10)로부터 출력되는 모드 히스토리 테이블 선택신호를 받아 1~n개의 모드 히스토리 테이블(220) 중 하나를 선택하도록 멀티플렉서(230)에 연결되고 RD-cost 최적화 심사부(30)의 심사결과 신호를 받아서 최종적인 모드 예측을 수행한다. 테이블관리부(240)는 도 6에서 보는 바와 같이, 모드 예측부(241)와 예측 모드 갱신부(242)로 구성된다.
모드 예측부(241)는 현재 코딩되는 매크로블록의 모드를 예측하여 H.264 RD-cost를 가장 가능성 높은 모드부터 계산한다. 모드 예측부(241)의 동작에 대해서 도 7을 참조하여 설명한다. 이 동작은 현재 매크로블록에 인접하고 있으면서 이미 모드계산이 끝난 매크로블록들의 모드들을 사용하여 모드 히스토리 테이블을 인덱싱한다(1000). 그리고 모드 히스토리 테이블의 예측 모드 순서 필드에 기록되어 있는 모드들 중 제일 점수가 높은(즉, 가장 많이 선택되어졌던) 모드를 제공한다(1010). 후에 이 모드의 RD-cost가 최적화 심사코드를 통과하는지 체크하여(1020) 통과하지 못하게 되면 다음 높은 점수의 모드를 제공한다(1040). 이 동작은 제공된 모드가 최적화심사코드를 통과하거나 예측 모드 순서 필드에 기록된 전 체 모드들이 실행을 마칠 때까지(1030) 반복 진행된다. 최적화심사에 통과하거나(1020) 그렇지 않은 경우에 전체 모드에 대해서 실행이 완료된 경우(1030)에는 각 필드의 예측모드들은 RD-cost 최적 모드로 선택된 횟수로 정렬되어 저장된다(1050). 이는 예측 과정과 테이블 필드 갱신 과정에서 보다 쉽게 모드를 관리, 선택하게 하기 위함이다.
테이블관리부(240)의 예측 모드 갱신부(242)의 동작을 도 8을 참조하여 설명한다. 모드 히스토리 테이블의 예측 모드 갱신 동작은 세 가지 경우에 행해진다.
우선, 앞의 예측과정에서 모든 예측 모드들이 RD-cost 최적화 심사코드를 통과하지 못하였을 때(1100)에는, 전체 모드에 대하여 RD-cost를 계산하고(1110) 최적화 모드를 선정하여(1120) 그 결과를 상응하는 예측 모드 순서 필드에 저장한다(1130). 최적화 모드를 선정한 결과를 저장할 경우에는, 다음과 같은 방식을 적용하는 것이 가능하다. 즉, 저장되어 있는 모드들의 수가 b(즉 최대 모드 저장수)보다 작을 경우에는 새로운 모드를 예측 모드 순서 필드에 추가하고 그 모드 선택 횟수를 1로 한다. 반면에, 만약 저장되어 있는 모드들의 수가 b와 같으면 저장된 모드 중 가장 적게 선택된 모드를 삭제하고 그 자리에 새로운 모드를 저장한다. 이 때 그 모드의 선택 횟수는 1로 한다.
두 번째 모드 갱신 동작의 경우는, 저장되어 있던 모드들 중 하나가 예측 모드로 제공되어 RD-cost 최적화 심사코드를 통과하였을 때이다(1200). 이 경우, 심사를 통과한 모드는 이미 예측 모드 순서 필드에 저장되어 있으므로 그 모드의 선택 횟수만을 1 증가시키고(1210) 예측 모드 순서 필드의 모드들을 선택횟수로 다시 정렬한다(1220).
세 번째 모드 갱신 동작의 경우는, 현 매크로블록 주변의 블록 모드로 테이블을 인덱싱하였을 때 단 하나의 모드도 입력되어 있지 않을 때이다(1300). 이 경우는 아직 한 번도 이런 주변 모드 조합을 갖는 매크로블록을 코딩해보지 못했을 때 발생한다. 이 경우 반드시 전체 모드에 대한 RD-cost를 계산하여(1310) 최적 모드를 선택 기록하여야 한다(1320). 이는 예측을 위한 히스토리 기록의 시작인 첫 데이터를 보다 정확히 파악하기 위해서이다. 보다 나은 코덱 성능을 위하여 전체 모드에 대한 RD-cost계산을 예측 테이블 필드에 k개의 모드들이 저장될 때까지 반복할 수 있다.
다시 도 2로 돌아가서, 본 발명의 H.264 모드 예측장치는 앞에서 언급한 매크로블록모드 예측부(20) 및 매크로블록 영상특성 계산부(10) 외에도 예측 모드 RD-cost 최적화심사부(30)를 포함한다. 이는 현재 코딩되는 매크로블록의 예측된 모드의 RD-cost가 최적값에 근접한지를 점검하여 잘못된 모드가 사용되는 것과 이 잘못된 모드 결정이 다음 매크로블록 모드 결정에 오류를 유도하게 될 가능성을 최대한 줄이는 데 그 목적이 있다.
도 9를 참조하면, 예측 모드 RD-cost 심사부(30)는 현재 매크로블록의 예측 모드의 RD-cost가 주변의 매크로블록 최적 (또는 예측 최적) RD-cost들의 평균보다 m배보다 큰지 검사하여(1400) 같거나 작으면 예측 모드가 예측 최적 모드로 선정하고(1410) 만약 클 경우에는 다음 최적 가능성이 높은 모드로 RD-cost를 계산하여(1420) 이를 앞에서 언급한 방법으로 다시 심사한다(1430). 만약 후자의 모드가 조건을 만족하면 이를 최적모드로 선정하며 모드결정 연산을 종결한다(1435). 그러나 이 역시 조건을 만족하지 못하면 첫 번째 예측된 모드의 RD-cost와 비교한다(1440). 이는 현 매크로블록이 주변의 RD-cost와 현격히 다를 경우를 고려한 것으로, 만약 이때 첫 번째 예측된 모드의 RD-cost와 두 번째 예측된 모드의 RD-cost가 비슷하면(1450)(즉 (첫 RD-cost)<(h×두 번째 RD-cost) 또는 (첫 RD-cost)>(h×두 번째 RD-cost)), 이로써 모드결정 연산을 종결한다. 하지만 이 역시 다를 경우 세 번째, 네 번째, 예측 모드의 RD-cost도 위의 방법으로 심사한다(1470). 이때 연산된 예측 모드 RD-cost들중 최소값과 현재 모드의 RD-cost가 비슷하면 (즉 (현 모드 RD-cost)<(h×이전 예측 모드 최소 RD-cost) 또는 (현 모드 RD-cost)>(h×이전 예측 모드 최소 RD-cost)), 그들 중 최소 RD-cost 모드를 최적 모드로 선정하고 모드결정 연산을 종결한다(1460). 모드 예측 테이블의 예측 필드에 기록되어 있는 모든 모드들을 테스트한 후에도 심사 조건을 만족하지 못하면 전체 모드에 대하여 RD-cost를 구하여 최적 모드를 구하고 다음 매크로블록의 모드 예측을 위하여 테이블을 갱신한다.
본 발명에 따른 H.264 모드 예측 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로써 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴 퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위에 기재된 한도 내에 있게 된다.
위에서 상술한 바와 같이, 본 발명은 복잡한 H.264 RDO 연산 모드를 이전 매크로블록의 모드 결정결과의 패턴을 기록하여 현 블록의 코딩 최적 모드를 예측함으로써 적은 수의 모드에 대한 RD-cost 계산만으로도 큰 화질 손상 없이 압축 코딩 시간을 혁신적으로 줄여준다. 또한 실시간 하드웨어 코덱 디자인의 경우 타이밍 제한을 맞추기 위하여 연산 모드수를 제한할 필요가 있는데 이 경우 본 발명은 가능성이 높은 모드부터 제공하여 주어진 시간 안에 최대의 압축효율과 화질 모두를 가능하게 해 준다.

Claims (17)

  1. H.264 압축모드를 예측하는 장치에 있어서,
    입력되는 매크로블록 좌표로부터 현 매크로블록의 모드를 예측하기 위하여, 모드 히스토리 테이블과 이 테이블들을 관리하는 테이블 관리부를 포함하는 매크로블록 모드 예측부와,
    상기 매크로블록 모드 예측부에서 예측된 모드를 위하여 RD-cost를 계산하고 예측된 모드의 에러가 확산되는 것을 막기 위하여 최적의 모드를 선정하도록 하는 모드 예측 최적화 심사부를 포함하되,
    상기 매크로블록 모드 예측부의 테이블 관리부는, 모드 히스토리 인덱싱 필드와 각 인덱싱 필드에 상응하는 모드 예측 순서 필드를 포함하는 모드 히스토리 테이블과, 상기 모드 히스토리 테이블을 이용하여 모드를 예측하는 모드 예측부와, 테이블에 저장된 모드를 예측된 모드로 갱신하는 예측 모드 갱신부를 포함하고,
    상기 모드 예측 최적화 심사부는, 현재 매크로블록의 예측 모드의 RD-cost가 주변의 매크로블록 최적 (또는 예측 최적) RD-cost들의 평균의 m배보다 큰지 검사하여 같거나 작으면 예측 모드를 예측 최적 모드로서 선정하는 수단과, 예측 모드의 RD-cost가 주변의 매크로블록 최적 (또는 예측 최적) RD-cost들의 평균의 m배보다 클 경우에는 다음 최적 가능성이 높은 모드로 RD-cost를 재계산하는 수단과, 이 재계산 수단에 의해서도 조건을 만족하지 못하면 첫 번째 예측된 모드의 RD-cost와 비교하여, 첫 번째 예측된 모드의 RD-cost와 두 번째 예측된 모드의 RD-cost가 유사하면 모드결정 연산을 종결하고, 다를 경우에는 상기 재계산 수단에 의해 계산을 반복하는 수단을 포함하는, H.264 코딩의 압축모드 예측 장치.
  2. 제1항에 있어서, 매크로블록 영상정보로부터 매크로블록 영상특성을 계산하는 매크로블록 영상특성 계산부를 추가로 포함하되,
    이 매크로블록 영상특성계산부는
    입력되는 매크로블록 영상정보로부터 매크로블록의 평탄도를 계산하기 위하여 매크로블록 내의 픽셀 값의 분산을 구하는 매크로블록 평탄도 계산부와,
    계산된 매크로블록의 평탄도를 n개로 나누고, 이 n개의 단계로 분류된 평탄도는 상기 모드 히스토리 테이블 선택신호로서 출력하여 상기 모드 히스토리 테이 블의 번호를 결정하는 평탄도 분류부를 포함하는, H.264 코딩의 압축모드 예측 장치.
  3. 제1항 또는 제2항에 있어서, 상기 모드 히스토리 테이블은 평탄도 분류부에서 분류한 n단계 각각에 대해서 설정되는 것을 특징으로 하는, H.264 코딩의 압축모드 예측 장치.
  4. 삭제
  5. 제1항 또는 제2항에 있어서, 상기 매크로블록 모드 예측부의 테이블 관리부의 모드 예측부는
    현재 매크로블록에 인접하고 있으면서 이미 모드계산이 끝난 매크로블록들의 모드들을 사용하여 모드 히스토리 테이블을 인덱싱하는 수단과,
    모드 히스토리 테이블의 예측 모드 순서 필드에 기록되어 있는 모드들 중 제일 점수가 높은 모드를 제공하는 수단과,
    이 모드의 RD-cost가 상기 최적화 심사부의 심사코드를 통과하는지 체크하여 통과하지 못하게 되면 다음 높은 점수의 모드를 제공하는 수단과,
    최적화심사에 통과하거나 전체 모드에 대해서 실행이 완료된 경우에 각 필드의 예측모드들을 RD-cost 최적 모드로 선택된 횟수로 정렬하여 저장하는 수단을 포함하는, H.264 코딩의 압축모드 예측 장치.
  6. 제1항 또는 제2항에 있어서, 상기 매크로블록 모드 예측부의 테이블 관리부의 예측 모드 갱신부는
    이전의 예측과정에서 모든 예측 모드들이 RD-cost 최적화 심사코드를 통과하지 못하였을 때에, 전체 모드에 대하여 RD-cost를 계산하고 최적화 모드를 선정하여 그 결과를 상응하는 예측 모드 순서 필드에 저장하는 수단을 포함하는, H.264 코딩의 압축모드 예측 장치.
  7. 제1항 또는 제2항에 있어서, 상기 매크로블록 모드 예측부의 테이블 관리부의 예측 모드 갱신부는
    저장되어 있던 모드들 중 하나가 예측 모드로 제공되어 RD-cost 최적화 심사코드를 통과하였을 때, 예측 모드 순서 필드에 저장되어 있는 모드의 선택 횟수를 1 증가시키고 예측 모드 순서 필드의 모드들을 선택횟수로 재정렬하는 수단을 포함하는, H.264 코딩의 압축모드 예측 장치.
  8. 제1항 또는 제2항에 있어서, 상기 매크로블록 모드 예측부의 테이블 관리부의 예측 모드 갱신부는
    현 매크로블록 주변의 블록 모드로 테이블을 인덱싱하였을 때 단 하나의 모드도 입력되어 있지 않을 때, 전체 모드에 대한 RD-cost를 계산하여 최적 모드를 선택 기록하는 수단을 포함하는, H.264 코딩의 압축모드 예측 장치.
  9. H.264 압축모드를 예측하는 방법에 있어서,
    입력되는 매크로블록 좌표로부터 현 매크로블록의 모드를 예측하기 위하여, 모드 히스토리 인덱싱 필드와 각 인덱싱 필드에 상응하는 모드 예측 순서 필드를 포함하는 모드 히스토리 테이블 설정 단계와; 상기 모드 히스토리 테이블을 이용하여 모드를 예측하는 모드 예측단계와; 테이블에 저장된 모드를 예측된 모드로 갱신하는 예측 모드 갱신단계를 포함하는 테이블 관리단계,
    상기 모드 예측단계에서 예측된 모드를 위하여 RD-cost를 계산하고 예측된 모드의 에러가 확산되는 것을 막기 위하여 최적의 모드를 선정하도록 하는 모드 예측 최적화 심사단계를 포함하되,
    상기 모드 예측 최적화 심사단계는, 현재 매크로블록의 예측 모드의 RD-cost가 주변의 매크로블록 최적 (또는 예측 최적) RD-cost들의 평균의 m배보다 큰지 검사하여 같거나 작으면 예측 모드를 예측 최적 모드로서 선정하는 단계와; 예측 모드의 RD-cost가 주변의 매크로블록 최적 (또는 예측 최적) RD-cost들의 평균의 m배보다 클 경우에는 다음 최적 가능성이 높은 모드로 RD-cost를 재계산하는 단계와; 이 재계산 수단에 의해서도 조건을 만족하지 못하면 첫 번째 예측된 모드의 RD-cost와 비교하여, 첫 번째 예측된 모드의 RD-cost와 두 번째 예측된 모드의 RD-cost가 유사하면 모드결정 연산을 종결하고, 다를 경우에는 상기 재계산 수단에 의해 계산을 반복하는 단계를 포함하는, H.264 코딩의 압축모드 예측 방법.
  10. 제9항에 있어서, 매크로블록 영상정보로부터 매크로블록 영상특성을 계산하는 매크로블록 영상특성 계산단계를 추가로 포함하되,
    이 매크로블록 영상특성 계산단계는
    입력되는 매크로블록 영상정보로부터 매크로블록의 평탄도를 계산하기 위하여 매크로블록 내의 픽셀 값의 분산을 구하는 단계와,
    계산된 매크로블록의 평탄도를 n개로 나누고, 이 n개의 단계로 분류된 평탄도는 상기 모드 히스토리 테이블 선택신호로서 출력하여 상기 모드 히스토리 테이블의 번호를 결정하는 평탄도 분류 단계를 포함하는, H.264 코딩의 압축모드 예측 방법.
  11. 제9항 또는 제10항에 있어서, 상기 모드 히스토리 테이블은 평탄도 분류부에서 분류한 n단계 각각에 대해서 설정되는 것을 특징으로 하는, H.264 코딩의 압축모드 예측 방법.
  12. 삭제
  13. 제9항 또는 제10항에 있어서, 상기 테이블 관리단계의 모드 예측단계는
    현재 매크로블록에 인접하고 있으면서 이미 모드계산이 끝난 매크로블록들의 모드들을 사용하여 모드 히스토리 테이블을 인덱싱하는 단계와,
    모드 히스토리 테이블의 예측 모드 순서 필드에 기록되어 있는 모드들 중 제일 점수가 높은 모드를 제공하는 단계와,
    이 모드의 RD-cost가 상기 최적화 심사부의 심사코드를 통과하는지 체크하여 통과하지 못하게 되면 다음 높은 점수의 모드를 제공하는 단계와,
    최적화심사에 통과하거나 전체 모드에 대해서 실행이 완료된 경우에 각 필드의 예측모드들을 RD-cost 최적 모드로 선택된 횟수로 정렬하여 저장하는 단계를 포함하는, H.264 코딩의 압축모드 예측 방법.
  14. 제9항 또는 제10항에 있어서, 상기 테이블 관리단계의 예측 모드 갱신단계는
    이전의 예측과정에서 모든 예측 모드들이 RD-cost 최적화 심사코드를 통과하지 못하였을 때에, 전체 모드에 대하여 RD-cost를 계산하고 최적화 모드를 선정하여 그 결과를 상응하는 예측 모드 순서 필드에 저장하는 단계를 포함하는, H.264 코딩의 압축모드 예측 방법.
  15. 제9항 또는 제10항에 있어서, 상기 테이블 관리단계의 예측 모드 갱신단계는
    저장되어 있던 모드들 중 하나가 예측 모드로 제공되어 RD-cost 최적화 심사코드를 통과하였을 때, 예측 모드 순서 필드에 저장되어 있는 모드의 선택 횟수를 1 증가시키고 예측 모드 순서 필드의 모드들을 선택횟수로 재정렬하는 단계를 포함하는, H.264 코딩의 압축모드 예측 방법.
  16. 제9항 또는 제10항에 있어서, 상기 테이블 관리단계의 예측 모드 갱신단계는
    현 매크로블록 주변의 블록 모드로 테이블을 인덱싱하였을 때 단 하나의 모드도 입력되어 있지 않을 때, 전체 모드에 대한 RD-cost를 계산하여 최적 모드를 선택 기록하는 단계를 포함하는, H.264 코딩의 압축모드 예측 방법.
  17. 제9항 또는 제10항에 따른 H.264 코딩의 압축모드 예측 방법을 수행하는 프로그램을 기록한 컴퓨터 기록매체.
KR1020060063845A 2006-07-07 2006-07-07 H.264 코딩의 압축모드 예측 장치 및 방법 KR100829169B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020060063845A KR100829169B1 (ko) 2006-07-07 2006-07-07 H.264 코딩의 압축모드 예측 장치 및 방법
US12/307,747 US8238421B2 (en) 2006-07-07 2007-07-06 Apparatus and method for estimating compression modes for H.264 codings
PCT/KR2007/003297 WO2008004837A1 (en) 2006-07-07 2007-07-06 Apparatus and method for estimating compression modes for h.264 codings

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060063845A KR100829169B1 (ko) 2006-07-07 2006-07-07 H.264 코딩의 압축모드 예측 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080004915A KR20080004915A (ko) 2008-01-10
KR100829169B1 true KR100829169B1 (ko) 2008-05-13

Family

ID=38894760

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060063845A KR100829169B1 (ko) 2006-07-07 2006-07-07 H.264 코딩의 압축모드 예측 장치 및 방법

Country Status (3)

Country Link
US (1) US8238421B2 (ko)
KR (1) KR100829169B1 (ko)
WO (1) WO2008004837A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101051331B1 (ko) 2009-05-08 2011-07-22 중앙대학교 산학협력단 다이나믹 임계치를 이용한 적응적 고속 모드 결정방법

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
KR101365570B1 (ko) * 2007-01-18 2014-02-21 삼성전자주식회사 인트라 예측 부호화, 복호화 방법 및 장치
KR100924048B1 (ko) * 2007-07-30 2009-10-27 한국과학기술원 비디오 부호화에서 화면내 방향성 예측모드 고속 결정방법
TW201004361A (en) * 2008-07-03 2010-01-16 Univ Nat Cheng Kung Encoding device and method thereof for stereoscopic video
EP2394431A4 (en) * 2009-02-05 2013-11-06 Thomson Licensing METHOD AND DEVICES FOR ADAPTIVE MODE VIDEO CODING AND DECODING
US8917769B2 (en) * 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US8462852B2 (en) * 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
US20110002387A1 (en) * 2009-07-03 2011-01-06 Yi-Jen Chiu Techniques for motion estimation
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
KR101694399B1 (ko) * 2009-10-07 2017-01-09 에스케이 텔레콤주식회사 적응적 부호화 패턴 정보를 생성/이용하는 동영상 부호화/복호화 방법, 장치 및 기록 매체
KR101658585B1 (ko) * 2009-11-05 2016-09-21 에스케이텔레콤 주식회사 툴 셋을 이용한 영상 부호화/복호화 방법 및 장치
KR101138736B1 (ko) * 2009-11-25 2012-04-24 한양대학교 산학협력단 부호화기 및 부호화기의 후보 모드 결정 방법
US8582906B2 (en) * 2010-03-03 2013-11-12 Aod Technology Marketing, Llc Image data compression and decompression
CN102986224B (zh) 2010-12-21 2017-05-24 英特尔公司 用于增强的解码器侧运动向量导出处理的系统及方法
CN103329532B (zh) * 2011-03-10 2016-10-26 日本电信电话株式会社 量子化控制装置和方法以及量子化控制程序
US9491475B2 (en) 2012-03-29 2016-11-08 Magnum Semiconductor, Inc. Apparatuses and methods for providing quantized coefficients for video encoding
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
KR20150128664A (ko) * 2013-01-09 2015-11-18 빈첸초 리구오리 픽셀의 2개의 블록을 비교하기 위한 방법 및 장치
US9392286B2 (en) * 2013-03-15 2016-07-12 Magnum Semiconductor, Inc. Apparatuses and methods for providing quantized coefficients for video encoding
US9794575B2 (en) 2013-12-18 2017-10-17 Magnum Semiconductor, Inc. Apparatuses and methods for optimizing rate-distortion costs in video encoding
US10123036B2 (en) * 2014-06-27 2018-11-06 Microsoft Technology Licensing, Llc Motion vector selection for video encoding
WO2016029243A1 (en) * 2014-08-26 2016-03-03 Vincenzo Liguori Video compression system that utilizes compact signature vectors for inter and intra prediction
KR102465914B1 (ko) * 2016-03-04 2022-11-14 한국전자통신연구원 영상 부호화 장치의 부호화 방법
EP3821626A4 (en) * 2018-08-09 2021-08-04 Huawei Technologies Co., Ltd. HISTORY-BASED INTRA MODE CODING PROCESS AND APPARATUS
US11184633B2 (en) 2018-11-27 2021-11-23 Qualcomm Incorporated Simplification of history-based motion vector prediction

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004128749A (ja) * 2002-09-30 2004-04-22 Toshiba Corp 動画像符号化方法及び復号化方法
JP2005192232A (ja) * 2002-05-28 2005-07-14 Sharp Corp 画像符号化システム、画像復号システム、及び画像を分割したブロックの画素値の予測方法
JP2006094081A (ja) 2004-09-24 2006-04-06 Sony Corp 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100332176B1 (ko) * 1996-11-07 2002-04-12 모리시타 요이찌 복호화 방법 및 복호화 장치
US6167162A (en) * 1998-10-23 2000-12-26 Lucent Technologies Inc. Rate-distortion optimized coding mode selection for video coders
US7008463B2 (en) * 2000-04-21 2006-03-07 Central Research Institute Of Electric Power Industry Method for producing amorphous metal, method and apparatus for producing amorphous metal fine particles, and amorphous metal fine particles
US7596279B2 (en) * 2002-04-26 2009-09-29 Ntt Docomo, Inc. Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, and image decoding program
US7606308B2 (en) * 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
JP4213646B2 (ja) * 2003-12-26 2009-01-21 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法、及び画像復号プログラム。
JP4501631B2 (ja) * 2004-10-26 2010-07-14 日本電気株式会社 画像符号化装置及び方法、画像符号化装置のコンピュータ・プログラム、並びに携帯端末
JP4146444B2 (ja) * 2005-03-16 2008-09-10 株式会社東芝 動画像符号化の方法及び装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005192232A (ja) * 2002-05-28 2005-07-14 Sharp Corp 画像符号化システム、画像復号システム、及び画像を分割したブロックの画素値の予測方法
JP2004128749A (ja) * 2002-09-30 2004-04-22 Toshiba Corp 動画像符号化方法及び復号化方法
JP2006094081A (ja) 2004-09-24 2006-04-06 Sony Corp 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101051331B1 (ko) 2009-05-08 2011-07-22 중앙대학교 산학협력단 다이나믹 임계치를 이용한 적응적 고속 모드 결정방법

Also Published As

Publication number Publication date
US8238421B2 (en) 2012-08-07
WO2008004837A1 (en) 2008-01-10
US20100046614A1 (en) 2010-02-25
KR20080004915A (ko) 2008-01-10

Similar Documents

Publication Publication Date Title
KR100829169B1 (ko) H.264 코딩의 압축모드 예측 장치 및 방법
KR101344200B1 (ko) 모션 추정 검색 범위 및 확장된 모션 벡터 범위의 동적 선택 방법, 및 인코더
US7843995B2 (en) Temporal and spatial analysis of a video macroblock
US8467448B2 (en) Apparatus and method for fast intra/inter macro-block mode decision for video encoding
US7266149B2 (en) Sub-block transform coding of prediction residuals
KR100952340B1 (ko) 시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치
CA2883133C (en) A video encoding method and a video encoding apparatus using the same
JP2007503776A (ja) インター符号化に使われる参照画像数を最小化するための方法および装置
Ramezanpour Fini et al. Two stage fast mode decision algorithm for intra prediction in HEVC
Heidari et al. Reduction of intra-coding time for HEVC based on temporary direction map
Chen et al. Rough mode cost–based fast intra coding for high-efficiency video coding
KR100910209B1 (ko) 세분화된 탐색 영역을 기반으로 하는 고속 전영역 움직임예측 방법 및 그 장치
Ma et al. Fast intra coding based on CU size decision and direction mode decision for HEVC
CN101061722A (zh) 采用自适应搜索策略的快速多帧运动估计
KR102050238B1 (ko) Hevc 부호기를 위한 효율적인 화면내 예측 모드 결정 시스템 및 방법
KR20110069482A (ko) 가변 크기 블록 매칭 기반의 모션 추정 방법 및 이를 이용한 비디오 인코딩 장치
KR100701129B1 (ko) 영상 부호화기에서 고속 블록 모드 결정 방법
Mamatha et al. BIT RATE REDUCTION FOR H. 264/AVC VIDEO BASED ON NOVEL HEXAGON SEARCH ALGORITHM.
Correa et al. SHBS: A heuristic for fast inter mode decision of H. 264/AVC standard targeting VLSI design
Wang et al. Motion estimation and mode decision for low-complexity h. 264 decoder
KR20000032856A (ko) 동영상 부호화 방법
Jing Motion compensation and bit-rate control techniques for video encoder optimization
Kim et al. Fast Inter Mode Decision Algorithm for H. 264/AVC Video Encoding System Based on Correlation of Macroblock
Yang Mode decision for the H. 264/AVC video coding standard
JP2018061094A (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: 20130430

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150422

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee