KR20040091939A - 인트라 휘도 예측 모드 결정방법 및 장치 - Google Patents

인트라 휘도 예측 모드 결정방법 및 장치 Download PDF

Info

Publication number
KR20040091939A
KR20040091939A KR1020030025713A KR20030025713A KR20040091939A KR 20040091939 A KR20040091939 A KR 20040091939A KR 1020030025713 A KR1020030025713 A KR 1020030025713A KR 20030025713 A KR20030025713 A KR 20030025713A KR 20040091939 A KR20040091939 A KR 20040091939A
Authority
KR
South Korea
Prior art keywords
prediction
prediction mode
block
mode
macroblock
Prior art date
Application number
KR1020030025713A
Other languages
English (en)
Inventor
이남숙
하형석
김소영
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020030025713A priority Critical patent/KR20040091939A/ko
Publication of KR20040091939A publication Critical patent/KR20040091939A/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
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

본 발명은 비디오 데이터의 부호화/복호화에 관한 것으로, 구체적으로는 비디오 부호화/복호화에 사용되는 예측모드(prediction mode)를 결정하는 방법 및 장치에 관한 것이다. 본 발명에 의한 예측모드 결정방법은, (a) 매크로 블록내에서 정해진 소정의 기준블록의 위치정보를 수신하는 단계; 및 (b) 상기 매크로블록의 16x16 휘도 예측 모드를 적용하여 얻어진 상기 기준블록에 대한 예측오차와, 소정의 4x4 휘도 예측 모드를 적용하여 얻어진 상기 기준블록에 대한 예측오차를 비교하여 4x4 휘도 예측 모드 선택과정을 수행할지의 여부를 판단하는 단계를 포함한다. 본 발명의 예측모드 결정방법에 의하면, 인트라 예측모드에서 최적의 모드를 선택하는데 있어, 16x16 인트라 휘도 예측모드 선택결과에 따라서, 몇가지의 4x4 예측모드에 대해서만 예측을 수행하여, 4x4 예측모드 전부를 수행할 필요가 있는가를 판단하기 때문에 계산량을 줄일 수 있는 효과가 있다.

Description

인트라 휘도 예측 모드 결정방법 및 장치 {Intra luma prediction mode determining method and apparatus}
본 발명은 비디오 데이터의 부호화/복호화에 관한 것으로, 구체적으로는 비디오 부호화/복호화에 사용되는 예측모드(prediction mode)를 결정하는 방법 및 장치에 관한 것이다.
디지털 TV와 DVD-비디오가 등장함에 따라서 방송 서비스 및 홈 엔터테인먼트(home entertainment) 서비스가 크게 변화하였다. 이러한 방송 서비스 및 홈 엔터테인먼트 서비스에서 제공되는 여러가지 응용 서비스는 비디오 압축 기술의 표준화에 의해 가능하게 되었다. 비디오 압축 기술에 관한 표준들 중에서, MPEG4-visual은 인터넷 기반의 비디오 응용 서비스를 가능하게 하였고, ITU-T의 H.263 표준은 비디오 영상회의(video-conferencing) 시스템에서 널리 사용되고 있다.
MPEG4-visual과 H.263은 비디오 압축에 기반을 둔 표준이다. 이들 표준에 관여한 동영상 전문가 그룹(Moving Picture Experts Group : MPEG)과 비디오 코딩 전문가 그룹(Video Coding Experts Group : VCEG)은, MPEG4와 H.263보다 고품질(high-quality) 및 저속 비트율(low-bitrate) 스트리밍 비디오(streamingvideo)를 지원하면서 더 많은 압축을 할 수 있는 기술에 관한 다음 단계의 표준을 제정하기 위하여 논의를 하였다.
H.263 표준을 완성한 후에 ITU-T의 비디오 코딩 전문가 그룹(VCEG)은 H.263에 부가적인 기능을 추가한 H.263 version 2 표준에 관한 연구와, 저비트율로 영상 통신을 하기 위한 새로운 표준에 관한 연구를 시작하였다. 이중에서 저비트율의 영상 통신을 하기 위한 새로운 표준을 ITU-T H.26L로 명명하였다. 또한, ISO의 동영상 전문가 그룹(MPEG)에서도 이러한 새로운 표준에 대한 중요성을 인식하여 ITU-T의 비디오 코딩 전문가 그룹(VCEG)과 조인트 비디오 팀(Joint Video Team : JVT)을 구성하여 H.26L 모델을 국제 표준으로 정하기 위한 연구를 시작하였다. 이렇게 하여 정해진 표준이 ISO MPEG4 Part 10, 즉, ITU-T H.264이다. 이 표준의 공식 명칭은 MPEG-4 Advanced Video Coding(AVC)이지만, H.264로 더 잘 알려져 있다.
도 1은 H.264 인코더의 블록도이다.
H.264 인코더는 크게 예측부(prediction block)(110), 변환 및 양자화부(transform and quantization block)(120), 엔트로피 코딩부(entropy coding block)(130)를 구비한다.
예측부(110)는 인터 프리딕션(inter prediction)과 인트라 프리딕션(intra prediction)을 수행한다. 인터 프리딕션은, 이미 디코딩이 수행되고 디블록킹 필터링(deblocking filtering)이 수행되어 버퍼에 저장되어 있는 기준 픽처(reference picture)를 이용하여 현재 픽처의 블록예측을 수행하는 것을 말한다. 즉, 픽처들간의 정보를 이용하여 예측을 수행하는 것을 말한다. 이를 위하여 움직임추정부(motion estimation block)(111) 및 움직임 보상부(motion compensation block)(112)를 구비한다. 인트라 프리딕션은, 이미 디코딩이 수행된 픽처내에서, 예측하고자 하는 블록에 인접한 블록의 픽셀 데이터를 이용하여 예측을 수행하는 것을 말한다.
변환 및 양자화부(120)는 예측부(110)에서 예측을 수행하여 얻은 예측 샘플을 변환하고(transform) 양자화(quantization)하여 압축한다. 엔트로피 코딩부(130)는 양자화된 비디오 데이터에 대해서 소정의 방식에 따라 부호화를 수행하여 H.264 비트스트림으로 만든다.
도 2는 H.264 디코더의 블록도이다.
H.264 디코더는 H.264 인코더에서 인코딩된 비트스트림(bit-stream)을 수신하여 엔트로피 디코딩하고, 역양자화 및 역변환을 수행하며 움직임 보상 또는 인트라 프리딕션 수행된 기준 픽처 정보를 이용하여 디코딩을 수행한다.
도 3은 예측하고자 하는 휘도(luminance : luma) 블록(P)과 예측에 사용되는 인접 블록을 도시한 도면이다.
블록 또는 매크로블록이 인트라 모드에서 인코딩되어 있으면, 예측하고자 하는 블록 P(310)는 그 블록에 인접한 디코딩된 블록(A 내지 L)을 이용하여 예측된다. 예측은 휘도(luma) 블록뿐만 아니라 색도(Cb, Cr) 블록에 대해서도 수행되는데, 본 발명에서는 휘도 블록의 예측에 관하여 설명한다. 휘도 예측 블록 P(310)는 여러개의 4x4 블록으로 구성된 16x16 블록이다. 여기에서, a 내지 p는 예측하고자 하는 4x4 블록이고, A, B, C, D 및 I, J, K, L은 예측에 사용되는 블록이다.
인트라 프리딕션은 예측하고자 하는 블록의 크기에 따라서 4x4 예측과 16x16 예측의 두가지 종류가 있다. 그리고, 예측하는 방향에 따라, 4x4 예측에는 9가지의 모드가 있고, 16x16 예측에는 4가지 모드가 있다. 4x4 예측모드는 예측하고자 하는 4x4 블록에 인접한 블록(A, B, C, D 및 I, J, K, L)의 픽셀값을 이용하여 예측 샘플을 구할 때의 예측 방향에 따라서 나누어진다.
도 4는 4x4 인트라 휘도 예측(intra luma prediction) 모드의 종류를 도시한 도표이다.
도 4를 참조하면, 4x4 인트라 휘도 예측 모드는, vertical 모드, horizontal 모드, DC 모드, diagonal_down_left 모드, diagonal_down_right 모드, vertical_right 모드, horizontal_down 모드, vertical_up 모드, horizontal_up 모드가 있음을 알 수 있다. 각각의 예측 모드에서 예측이 수행되는 방향은 도 5를 참조하여 설명한다. 그리고, 각 모드에서의 블록의 예측은 도 6a 내지 도 6i를 참조하여 설명한다.
도 5는 H.264의 4x4 인트라 휘도 예측에서의 9가지 예측 방향을 도시한 도면이다.
도 5를 참조하면, 각각의 모드 이름에 대응되도록, 수직방향, 수평방향 또는 대각선 방향 등으로 블록의 예측이 수행됨을 알 수 있다.
도 6a 내지 도 6i는 4x4 인트라 휘도 예측 모드에 따라 예측을 수행하는 것을 설명하기 위한 도면이다.
예를 들어, 모드 0(vertical 모드)에서는 4x4 블록 a, e, i, m은 A 블록의픽셀값을 사용하여 예측되고, b, f, j, n은 B 블록의 픽셀값을 사용하여 예측되고, c, g, k, o는 C 블록의 픽셀값을 사용하여 예측되며, d, h, l, p는 D 블록의 픽셀값을 사용하여 예측된다. 그 밖의 다른 모드에서의 예측방법은 H.264 표준에 상세히 설명되어 있는 바와 같다.
도 7은 16x16 인트라 휘도 예측(intra luma prediction) 모드의 종류를 도시한 도표이다.
도 7을 참조하면, 16x16 인트라 휘도 예측 모드는, vertical 모드, horizontal 모드, DC 모드, plane 모드의 모두 4가지가 있음을 알 수 있다. 각각의 예측 모드에서 예측이 수행되는 방향은 도 8a 내지 도 8d를 참조하여 설명한다.
도 8a 내지 도 8d는 16x16 인트라 휘도 예측 모드에 따라 예측을 수행하는 것을 설명하기 위한 도면이다.
16x16 휘도 매크로 블록내의 각 블록은 블록 H의 픽셀값과 블록 V의 픽셀값을 사용하여 예측된다. 다시 말하면, 모드 0(vertical 모드)에서 16x16 휘도 매크로 블록내의 각 블록은 블록 H의 픽셀값을 사용하여 예측되고, 모드 1(horizontal 모드)에서 16x16 휘도 매크로 블록내의 각 블록은 블록 V의 픽셀값을 사용하여 예측되고, 모드 2(DC 모드)에서 16x16 휘도 매크로 블록내의 각 블록은 블록 H의 픽셀값과 블록 V의 픽셀값을 평균하여 예측되고, 모드 3(plane 모드)에서 16x16 휘도 매크로 블록내의 각 블록은 블록 H의 픽셀값과 블록 V의 픽셀값을 사용하여 대각선 방향으로 예측된다. 상세한 예측방법은 MPEG-4 AVC 표준에 상세히 기술되어 있다.
H.264 인코딩시에는 4x4 인트라 휘도 예측 모드들과 16x16 인트라 휘도 예측모드들 중에서 가장 좋은 모드를 선택하여 예측을 수행한다. 어떤 모드를 선택하여 4x4 블록의 휘도 예측을 수행하는가에 따라서 H.264의 압축효율이 달라지는데, 가장 좋은 모드를 선택하기 위해서 모든 모드를 적용하여 블록의 예측을 수행하고, 소정의 코스트 함수(cost function)를 사용하여 코스트(cost)를 계산한 후, 코스트가 작은 모드를 선택한다.
따라서, 예측하고자 하는 블록에 대해서 9가지의 4x4 인트라 휘도 예측 모드와 4가지의 16x16 인트라 휘도 예측 모드를 모두 적용하여 예측을 수행하고 코스트를 계산하여야 하므로, 인코더가 매우 복잡해진다는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는, 16x16 인트라 휘도 예측 모드를 적용하여 수행된 소정의 기준블록에 대한 예측오차와 소정의 기준블록에 대해서 4x4 인트라 휘도 예측 모드를 대표적으로 적용하여 얻어진 예측오차를 비교하여, 4x4 인트라 휘도 예측모드 선택과정을 수행함으로써, 계산량을 줄이고 처리속도를 향상시킨 인트라 휘도 예측 모드 결정방법 및 장치를 제공하는데 있다.
도 1은 H.264 인코더의 블록도이다.
도 2는 H.264 디코더의 블록도이다.
도 3은 예측하고자 하는 휘도 블록(P)과 예측에 사용되는 인접 블록을 도시한 도면이다.
도 4는 4x4 인트라 휘도 예측(intra luma prediction) 모드의 종류를 도시한 도표이다.
도 5는 H.264의 4x4 인트라 휘도 예측에서의 9가지 예측 방향을 도시한 도면이다.
도 6a 내지 도 6i는 4x4 인트라 휘도 예측 모드에 따라 예측을 수행하는 것을 설명하기 위한 도면이다.
도 7은 16x16 인트라 휘도 예측(intra luma prediction) 모드의 종류를 도시한 도표이다.
도 8a 내지 도 8i는 16x16 인트라 휘도 예측 모드에 따라 예측을 수행하는 것을 설명하기 위한 도면이다.
도 9는 본 발명의 예측모드를 결정하는데 사용되는 소정의 기준블록을 도시한 도면이다.
도 10은 본 발명의 예측모드 결정방법의 플로우차트이다.
도 11은 본 발명의 예측 모드 결정장치의 블록도이다.
상기의 과제를 이루기 위하여 본 발명에 의한 예측모드 결정방법은, (a) 매크로 블록 내에서 정해진 소정의 기준블록의 위치정보를 수신하는 단계; 및 (b) 상기 매크로블록의 16x16 휘도 예측 모드를 적용하여 얻어진 상기 기준블록에 대한 예측오차와, 소정의 4x4 휘도 예측 모드를 적용하여 얻어진 상기 기준블록에 대한 예측오차를 비교하여 4x4 휘도 예측 모드 선택과정을 수행할지의 여부를 판단하는단계를 포함한다.
상기의 과제를 이루기 위하여 본 발명에 의한 예측모드 결정방법은, (a) 매크로 블록의 예측모드 정보를 수신하는 단계; (b) 상기 매크로 블록의 예측시에 사용된 픽셀값을 사용하여 상기 수신한 예측모드를 적용하여, 상기 매크로 블록내의 소정의 기준블록에 대한 예측을 수행하여 얻어진 예측블록의 제1예측오차를 계산하는 단계; (c) 상기 수신한 매크로 블록의 예측모드 정보에 대응되는 서브블록 예측모드를 적용하여, 소정의 기준블록에 대한 예측을 수행하여 얻어진 예측블록의 제2예측오차를 계산하는 단계; 및 (d) 상기 제1예측오차와 제2예측오차를 비교하여, 상기 매크로 블록내의 서브블록에 대하여 예측을 더 수행할 것인가를 판단하는 단계를 포함한다.
상기의 과제를 이루기 위하여 본 발명에 의한 예측모드 결정장치는, 매크로 블록의 예측모드 정보를 수신하는 수신부; 상기 수신한 예측모드를 적용하여, 상기 매크로 블록의 예측시에 사용된 픽셀값을 사용하여 상기 매크로 블록내의 소정의 기준블록에 대한 예측을 수행하여 얻어진 예측블록의 제1예측오차를 계산하는 제1예측오차 계산부; 상기 수신한 매크로 블록의 예측모드 정보에 대응되는 서브블록 예측모드를 적용하여, 소정의 기준블록에 대한 예측을 수행하여 얻어진 예측블록의 제2예측오차를 계산하는 제2예측오차 계산부; 및 상기 제1예측오차와 제2예측오차를 비교하여, 상기 매크로 블록내의 서브블록에 대하여 예측을 더 수행할 것인가를 판단하는 예측오차 비교부를 포함한다.
상기한 과제를 이루기 위하여 본 발명에서는, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 9는 본 발명의 예측모드를 결정하는데 사용되는 소정의 기준블록을 도시한 도면이다.
16x16 매크로 블록(910)은 16x16 인트라 휘도 예측모드를 적용하여 예측된다. 16x16 인트라 휘도 예측모드는 어떠한 방법을 사용하여 정해질 수 있다. 소정의 기준블록(920)은 미리 결정된 16x16 인트라 휘도 예측모드를 적용하여 16x16 매크로 블록의 예측에 사용되는 픽셀값(930)을 사용하여 예측이 수행된다. 또한 4x4 매크로 블록의 예측에 사용되는 픽셀값(940)을 사용하여, 상기 16x16 매크로 블록의 16x16 인트라 휘도 예측 모드에 대응되는 소정의 4x4 인트라 휘도 예측모드를 적용하여 예측이 수행된다. 대응관계는 도 10을 참조하여 후술한다.
소정의 기준블록(920)은 특정된 것은 아니고 16x16 매크로블록(910)내의 어느 블록이든 될 수 있다. 본 실시예에서는 매크로 블록의 예측에 사용되는 픽셀값(930)에서 가장 멀리 떨어진 블록을 기준블록으로 설정하였는데, 이는 가장 멀리 떨어진 블록에 대한 예측오차가 가장 클 확률이 높기 때문이다.
도 10은 본 발명의 예측모드 결정방법의 플로우차트이다.
16x16 매크로 블록의 예측모드 정보를 수신한다(S1002). 16x16 매크로 블록의 예측모드는 도 7 내지 도 8을 참조하여 설명한 바와 같이 4가지 예측모드가 있다. 그리고, 수신한 예측모드를 적용하여, 16x16 매크로 블록 예측에 사용되는 픽셀값(930)을 사용하여 기준블록(920)에 대한 예측을 수행하고 코스트(cost) C0을 계산한다(S1004). 이때의 예측은 16x16 매크로 블록의 예측에 사용되는 픽셀값(930)을 사용하여 수행된다. 코스트는 예측 대상 샘플의 본래 픽셀값에서 예측된 샘플의 픽셀값과의 차이를 나타내는 척도를 의미하는 예측오차로, 코스트의 계산방법은 후술한다. 여기에서 기준블록(920)은 4x4 휘도블록이다.
수신한 16x16 매크로 블록의 예측모드 정보가 어떤 예측모드인지를 판단한다(S1006). 만일 수신한 예측모드가 0이면 4x4 휘도 예측모드 0을 적용하여 4x4 기준블록(920)에 대한 예측을 수행한다(S1008). 이때에는 픽셀값(940)을 사용하여 예측이 수행된다. 그리고 이때의 cost C1을 계산한다(S1010). C0 < C1인가를 판단하여(S1012), 만일 C0 < C1 이면 16x16 휘도 예측에 사용된 예측모드(16x16 인트라 휘도 예측모드 0)를 그대로 출력하고(S1032), 그렇지 않으면, 4x4 인트라 휘도 예측모드 선택과정을 수행한다(S1034).
만일 수신한 예측모드가 1이면 4x4 휘도 예측모드 1을 적용하여 4x4 기준블록(920)에 대한 예측을 수행한다(S1014). 이때에는 픽셀값(940)을 사용하여 예측이 수행된다. 그리고 이때의 cost C2를 계산한다(S1016). C0 < C2인가를 판단하여(S1018), 만일 C0 < C2 이면 16x16 휘도 예측에 사용된 예측모드(16x16 인트라 휘도 예측모드 1)를 그대로 출력하고(S1032), 그렇지 않으면, 4x4 인트라 휘도 예측모드 선택과정을 수행한다(S1034).
만일 수신한 예측모드가 2이면 4x4 휘도 예측모드 2를 적용하여 4x4 기준블록(920)에 대한 예측을 수행한다(S1020). 이때에는 픽셀값(940)을 사용하여 예측이수행된다. 그리고 이때의 cost C3을 계산한다(S1022). C0 < C3인가를 판단하여(S1024), 만일 C0 < C3 이면 16x16 휘도 예측에 사용된 예측모드(16x16 인트라 휘도 예측모드 2)를 그대로 출력하고(S1032), 그렇지 않으면, 4x4 인트라 휘도 예측모드 선택과정을 수행한다(S1034).
만일 수신한 예측모드가 3이면 4x4 휘도 예측모드 2, 3, 4, 5, 6, 7, 8을 적용하여 4x4 기준블록(920)에 대한 예측을 수행한다(S1026). 이때에는 픽셀값(940)을 사용하여 예측이 수행된다. 그리고 각각의 cost를 계산하여 최적일 때의 모드를 선택하고, 그때의 cost C4를 계산한다(S1028). C0 < C4 인가를 판단하여(S1030), 만일 C0 < C4 이면 16x16 휘도 예측에 사용된 예측모드(16x16 인트라 휘도 예측모드 3)를 그대로 출력하고(S1032), 그렇지 않으면, 4x4 인트라 휘도 예측모드 선택과정을 수행한다(S1034).
cost의 계산은 여러가지 방법에 의해서 수행될 수 있다. 사용되는 코스트 함수는 SAD(sum of absolute value), SATD(sum of absolute transformed difference), SSD(sum of squared difference), MAD(mean of absolute difference), 라그란지 함수(Laglange function) 등이 있다. SAD는 각 4x4 블록 예측 샘플의 예측 코스트값에 절대치를 취하여 그 값들을 합한 값이다. SATD는 각 4x4 블록 예측 샘플의 예측 코스트값을 변환한 후 절대치를 취하여 더한 값이다. SSD는 각 4x4 블록 예측 샘플의 예측 코스트값을 제곱하여 더한 값이고, MAD는 각 4x4 블록 예측 샘플의 예측 코스트값에 절대치를 취하여 평균을 구한 값이다. 라그란지 함수는 코스트 함수에 비트스트림(bitstream)의 길이정보 등을 포함하여 만들어진 새로운 코스트 함수이다.
기준블록을 복수개 선택한 경우에도 상술한 도 10을 참조하여 설명한 것과 동일한 과정을 수행한다. 이때에는 예측오차는 복수개의 기준블록에 대한 예측오차를 더하거나 평균한 값을 가지고 예측오차의 비교에 사용될 수 있다.
도 11은 본 발명의 예측 모드 결정장치의 블록도이다.
예측 모드 결정장치는 16x16 매크로 블록 예측모드 정보 수신부(1110), 제1예측오차 계산부(1120), 제2예측오차 계산부(1130) 및 예측오차 비교부(1140)를 포함한다.
16x16 매크로 블록 예측모드 정보 수신부(1110)는 16x16 매크로 블록의 예측모드 정보를 수신한다. 16x16 매크로 블록의 예측모드 정보는 여러가지 방법에 의해 미리 결정된다. 제1예측오차 계산부(1120)는 상기 수신한 예측모드를 적용하여, 상기 16x16 매크로 블록의 예측시에 사용된 픽셀값(930)을 사용하여 16x16 매크로 블록내의 소정의 기준블록에 대한 예측을 수행하여 얻어진 예측블록의 제1예측오차를 계산한다.
제2예측오차 계산부(1130)는 상기 수신한 16x16 매크로 블록의 예측모드 정보에 대응되는 서브블록 예측모드를 적용하여, 소정의 기준블록에 대한 예측을 수행하여 얻어진 예측블록의 제2예측오차를 계산한다. 여기에서 서브블록 예측모드는 4x4 휘도 예측모드를 포함한다. 16x16 매크로 블록의 예측모드와 4x4 휘도 예측모드와의 대응관계는 도 10을 참조하여 설명한 바와 같다.
예측오차 비교부(1140)는 상기 제1예측오차와 제2예측오차를 비교하여, 상기매크로 블록내의 서브블록들에 대하여 4x4 휘도 예측모드를 적용하여 예측을 더 수행할 것인가를 판단한다.
인코더에서는 상술한 바와 같은 과정을 거쳐서 선택된 예측모드를 적용하여 예측샘플을 얻고, 예측샘플에 대하여 변환 및 양자화를 수행한다. 따라서, 디코더에서도 상술한 바와 같은 과정을 거쳐서 선택된 예측모드를 적용하여 인트라 예측을 수행한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
상술한 바와 같이 본 발명의 예측모드 결정방법 및 장치를 사용하면, 인트라 예측모드에서 최적의 모드를 선택하는데 있어, 16x16 인트라 휘도 예측모드 선택결과에 따라서, 몇가지의 4x4 예측모드에 대해 예측을 수행하여, 4x4 예측모드 전부를 수행할 필요가 있는가를 판단하기 때문에 계산량을 줄일 수 있는 효과가 있다.

Claims (18)

  1. (a) 매크로 블록내에서 정해진 소정의 기준블록의 위치정보를 수신하는 단계; 및
    (b) 상기 매크로블록의 16x16 휘도 예측 모드를 적용하여 얻어진 상기 기준블록에 대한 예측오차와, 소정의 4x4 휘도 예측 모드를 적용하여 얻어진 상기 기준블록에 대한 예측오차를 비교하여 4x4 휘도 예측 모드 선택과정을 수행할지의 여부를 판단하는 단계를 포함하는 것을 특징으로 예측모드 결정방법.
  2. 제1항에 있어서,
    상기 소정의 기준블록은 상기 매크로 블록의 최우측 최하단에 위치해 있는 4x4 블록인 것을 특징으로 하는 예측모드 결정방법.
  3. (a) 매크로 블록의 예측모드 정보를 수신하는 단계;
    (b) 상기 매크로 블록의 예측시에 사용된 픽셀값을 사용하여 상기 수신한 예측모드를 적용하여, 상기 매크로 블록내의 소정의 기준블록에 대한 예측을 수행하여 얻어진 예측블록의 제1예측오차를 계산하는 단계;
    (c) 상기 수신한 매크로 블록의 예측모드 정보에 대응되는 서브블록 예측모드를 적용하여, 소정의 기준블록에 대한 예측을 수행하여 얻어진 예측블록의 제2예측오차를 계산하는 단계; 및
    (d) 상기 제1예측오차와 제2예측오차를 비교하여, 상기 매크로 블록내의 서브블록에 대하여 예측을 더 수행할 것인가를 판단하는 단계를 포함하는 것을 특징으로 하는 예측모드 결정방법.
  4. 제3항에 있어서,
    상기 매크로블록은 16x16 휘도 블록이고, 소정의 기준블록은 4x4 휘도 블록인 것을 특징으로 하는 예측모드 결정방법.
  5. 제3항에 있어서,
    상기 소정의 기준블록은 상기 매크로 블록의 최우측 최하단에 위치해 있는 4x4 블록인 것을 특징으로 하는 예측모드 결정방법.
  6. 제3항에 있어서, 상기 (a) 단계는
    16x16 매크로 블록의 휘도 예측모드 정보를 수신하는 것을 특징으로 하는 예측모드 결정방법.
  7. 제3항에 있어서, 상기 (c) 단계는
    (c1) 상기 수신한 매크로 블록의 예측모드가 모드 0이면 소정의 기준블록에 예측모드 0을 적용하여 예측을 수행하고, 상기 수신한 매크로 블록의 예측모드가 모드 1이면 소정의 기준블록에 예측모드 1을 적용하여 예측을 수행하고, 상기 수신한 매크로 블록의 예측모드가 모드 2이면 소정의 기준블록에 예측모드 2를 적용하여 예측을 수행하고, 상기 수신한 매크로 블록의 예측모드가 모드 3이면 소정의 기준블록에 예측모드 2, 3, 4, 5, 6, 7, 8을 적용하여 예측을 수행하는 단계; 및
    (c2) 상기 수행한 예측 블록에 대한 제2예측오차를 계산하는 단계를 포함하는 것을 특징으로 하는 예측모드 결정방법.
  8. 제3항에 있어서, 상기 제1예측오차 또는 제2예측오차는
    예측을 수행하여 얻어진 예측대상 샘플의 본래 픽셀값에서 예측된 픽셀값을 뺀 레지듀(residue) 값으로, 소정의 코스트 함수를 이용하여 계산되는 것을 특징으로 하는 예측모드 결정방법.
  9. 제8항에 있어서, 상기 코스트 함수는
    SAD(sum of absolute value), SATD(sum of absolute transformed difference), SSD(sum of squared difference), MAD(mean of absolute difference)또는 라그란지 함수(Laglange function)인 것을 특징으로 하는 예측모드 결정방법.
  10. 제3항에 있어서,
    상기 소정의 기준블록은 복수개이며, 상기 제1예측오차 및 제2예측오차는 제1예측오차들의 합 및 제2예측오차들의 합인 것을 특징으로 하는 예측모드 결정방법.
  11. 매크로 블록의 예측모드 정보를 수신하는 수신부;
    상기 수신한 예측모드를 적용하여, 상기 매크로 블록의 예측시에 사용된 픽셀값을 사용하여 상기 매크로 블록내의 소정의 기준블록에 대한 예측을 수행하여 얻어진 예측블록의 제1예측오차를 계산하는 제1예측오차 계산부;
    상기 수신한 매크로 블록의 예측모드 정보에 대응되는 서브블록 예측모드를 적용하여, 소정의 기준블록에 대한 예측을 수행하여 얻어진 예측블록의 제2예측오차를 계산하는 제2예측오차 계산부; 및
    상기 제1예측오차와 제2예측오차를 비교하여, 상기 매크로 블록내의 서브블록에 대하여 예측을 더 수행할 것인가를 판단하는 예측오차 비교부를 포함하는 것을 특징으로 하는 예측모드 결정장치.
  12. 제11항에 있어서,
    상기 매크로블록은 16x16 휘도 블록이고, 소정의 기준블록은 4x4 휘도 블록인 것을 특징으로 하는 예측모드 결정장치.
  13. 제11항에 있어서, 상기 수신부는
    16x16 매크로 블록의 휘도 예측모드 정보를 수신하는 것을 특징으로 하는 예측모드 결정장치.
  14. 제11항에 있어서, 상기 블록예측 수행부는
    상기 수신한 매크로 블록의 예측모드가 모드 0이면 소정의 기준블록에 예측모드 0을 적용하여 예측을 수행하고, 상기 수신한 매크로 블록의 예측모드가 모드 1이면 소정의 기준블록에 예측모드 1을 적용하여 예측을 수행하고, 상기 수신한 매크로 블록의 예측모드가 모드 2이면 소정의 기준블록에 예측모드 2를 적용하여 예측을 수행하고, 상기 수신한 매크로 블록의 예측모드가 모드 3이면 소정의 기준블록에 예측모드 2, 3, 4, 5, 6, 7, 8을 적용하여 예측을 수행하며, 상기 수행한 예측 블록에 대한 제2예측오차를 계산하는 것을 특징으로 하는 예측모드 결정장치.
  15. 제11항에 있어서, 상기 제1예측오차 또는 제2예측오차는
    예측을 수행하여 얻어진 예측대상 샘플의 본래 픽셀값에서 예측된 픽셀값을 뺀 레지듀(residue) 값으로, 소정의 코스트 함수를 이용하여 계산되는 것을 특징으로 하는 예측모드 결정장치.
  16. 제11항에 있어서,
    상기 소정의 기준블록은 복수개이며, 상기 제1예측오차 및 제2예측오차는 제1예측오차들의 합 및 제2예측오차들의 합인 것을 특징으로 하는 예측모드 결정장치.
  17. (a) 매크로 블록내에서 정해진 소정의 기준블록의 위치정보를 수신하는 단계; 및
    (b) 상기 매크로블록의 16x16 휘도 예측 모드를 적용하여 얻어진 상기 기준블록에 대한 예측오차와, 소정의 4x4 휘도 예측 모드를 적용하여 얻어진 상기 기준블록에 대한 예측오차를 비교하여 4x4 휘도 예측 모드 선택과정을 수행할지의 여부를 판단하는 단계를 포함하는 것을 특징으로 예측모드 결정방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  18. (a) 매크로 블록의 예측모드 정보를 수신하는 단계;
    (b) 상기 매크로 블록의 예측시에 사용된 픽셀값을 사용하여 상기 수신한 예측모드를 적용하여, 상기 매크로 블록내의 소정의 기준블록에 대한 예측을 수행하여 얻어진 예측블록의 제1예측오차를 계산하는 단계;
    (c) 상기 수신한 매크로 블록의 예측모드 정보에 대응되는 서브블록 예측모드를 적용하여, 소정의 기준블록에 대한 예측을 수행하여 얻어진 예측블록의 제2예측오차를 계산하는 단계; 및
    (d) 상기 제1예측오차와 제2예측오차를 비교하여, 상기 매크로 블록내의 서브블록에 대하여 예측을 더 수행할 것인가를 판단하는 단계를 포함하는 것을 특징으로 하는 예측모드 결정방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020030025713A 2003-04-23 2003-04-23 인트라 휘도 예측 모드 결정방법 및 장치 KR20040091939A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030025713A KR20040091939A (ko) 2003-04-23 2003-04-23 인트라 휘도 예측 모드 결정방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030025713A KR20040091939A (ko) 2003-04-23 2003-04-23 인트라 휘도 예측 모드 결정방법 및 장치

Publications (1)

Publication Number Publication Date
KR20040091939A true KR20040091939A (ko) 2004-11-03

Family

ID=37372481

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030025713A KR20040091939A (ko) 2003-04-23 2003-04-23 인트라 휘도 예측 모드 결정방법 및 장치

Country Status (1)

Country Link
KR (1) KR20040091939A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100739714B1 (ko) * 2005-07-06 2007-07-13 삼성전자주식회사 인트라 예측 모드 결정 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100739714B1 (ko) * 2005-07-06 2007-07-13 삼성전자주식회사 인트라 예측 모드 결정 방법 및 장치

Similar Documents

Publication Publication Date Title
US20230247229A1 (en) Video encoding method for encoding division block, video decoding method for decoding division block, and recording medium for implementing the same
KR101211665B1 (ko) 영상의 인트라 예측 부호화, 복호화 방법 및 장치
JP5384694B2 (ja) 多層ビデオ設計のためのレート制御
KR100739714B1 (ko) 인트라 예측 모드 결정 방법 및 장치
KR100750110B1 (ko) 4×4인트라 휘도 예측 모드 결정방법 및 장치
KR101538704B1 (ko) 보간 필터를 적응적으로 사용하여 영상을 부호화 및 복호화하는 방법 및 장치
JP3861698B2 (ja) 画像情報符号化装置及び方法、画像情報復号装置及び方法、並びにプログラム
KR100973657B1 (ko) 디블록킹 필터링을 포함하는 코덱 사이의 트랜스코딩 방법 및 장치
US20050025246A1 (en) Decoding jointly coded transform type and subblock pattern information
KR100727970B1 (ko) 영상의 부호화 및 복호화 장치와, 그 방법, 및 이를수행하기 위한 프로그램이 기록된 기록 매체
KR101356207B1 (ko) 데이터 인코딩/디코딩 방법 및 장치
US20070171970A1 (en) Method and apparatus for video encoding/decoding based on orthogonal transform and vector quantization
US7961788B2 (en) Method and apparatus for video encoding and decoding, and recording medium having recorded thereon a program for implementing the method
CN1981531A (zh) 构建用于时间可分级的双向预测帧的方法和装置
MXPA06010360A (es) Metodos y aparato para tomar decisiones en modo rapido en codecs de video.
US20050276331A1 (en) Method and apparatus for estimating motion
US20050129125A1 (en) Method and apparatus for pitcure compression using variable block of arbitrary size
JP4799547B2 (ja) それぞれマルチマクロブロックを含む予測ピクチャおよび非予測ピクチャを使用した、ピクチャシーケンスのエンコーディング方法およびエンコーディング装置
US20090016443A1 (en) Inter mode determination method for video encoding
WO2008082099A1 (en) Method and apparatus for determining coding for coefficients of residual block, encoder and decoder
CN110351552B (zh) 视频编码中一种快速编码方法
WO2008056931A1 (en) Method and apparatus for encoding and decoding based on intra prediction
KR20060027842A (ko) 4×4인트라 휘도 예측 모드 결정방법 및 장치
KR20130085088A (ko) 스케일러블 비디오 코딩에서의 고속 모드 결정 방법 및 그 장치
CN109495745B (zh) 一种基于逆量化/逆变换的无损压缩解码方法

Legal Events

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