KR20050114751A - 예측 부호화/복호화 장치 및 예측 부호화/복호화 방법 - Google Patents

예측 부호화/복호화 장치 및 예측 부호화/복호화 방법 Download PDF

Info

Publication number
KR20050114751A
KR20050114751A KR1020040039807A KR20040039807A KR20050114751A KR 20050114751 A KR20050114751 A KR 20050114751A KR 1020040039807 A KR1020040039807 A KR 1020040039807A KR 20040039807 A KR20040039807 A KR 20040039807A KR 20050114751 A KR20050114751 A KR 20050114751A
Authority
KR
South Korea
Prior art keywords
macroblock
rectangular ring
block
decoded
coded
Prior art date
Application number
KR1020040039807A
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 KR1020040039807A priority Critical patent/KR20050114751A/ko
Priority to US11/141,263 priority patent/US20060002466A1/en
Priority to CNA2005100734951A priority patent/CN1705375A/zh
Publication of KR20050114751A publication Critical patent/KR20050114751A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명에 따라 예측 부호화/복호화 장치 및 예측 부호화/복호화 방법이 개시된다.
본 발명에 따른 예측 부호화 장치는, 영상 프레임의 관심 영역에 있는 중심 매크로블록부터 예측을 시작하여 상기 중심 매크로블록을 둘러싸는 사각형 링의 매크로블록을 파문 확산 방향으로 예측하며, 현재 코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 코딩완료된 매크로블록과 바로 이전에 코딩완료된 이전 사각형 링에서 현재 코딩 매크로블록과 인접한 위치에 있는 매크로블록들 중 어느 하나 이상의 정보를 이용하여 8X8 블록 단위 인트라 예측을 수행하여 영상을 부호화하는 예측 부호화부를 포함한다. 이와 같은 본 발명에 의하면, 전통적인 래스터 스캔 기반과는 다른 관심 영역 중심 스캔 방법을 기반으로 하는 영상 부호화/복호화 장치를 구체적으로 구현할 수 있다.

Description

예측 부호화/복호화 장치 및 예측 부호화/복호화 방법{Prediction encoder/decoder, prediction encoding/decoding method}
본 발명은 동영상 부호화에 관한 것으로 좀더 구체적으로는 관심 영역 코딩을 위한 예측 부호화/복호화 장치 및 예측 부호화/복호화 방법에 관한 것이다.
2003년 MPEG-4 Part 10 AVC(advanced video coding) 또는 ITU-T H.264라 불리우는 비디오 압축 분야에서의 연합 표준이 탄생하였다. 이는 특히 이동망과 같은 새로운 통신 채널의 급속한 보급에 따라, 기존의 회선교환 방식에서 패킷 교환 서비스로의 전환이 발생되며 또한 다양한 통신 인프라의 공존의 필요성에 대처하기 위해서 탄생하였다.
AVC/ H.264에서는 MPEG-1, MPEG-2, MPEG-4 Part 2 Visual 등 종래의 동영상 코딩 국제표준과는 다른 공간 예측 부호화 방법을 사용하고 있다. 종래의 방법에서는 DCT 변환 영역(Transform Domain)에서 변환된 계수(Coefficients)값에 대한 인트라 예측을 사용함으로서 부호화 효율 증대를 추구하여 저역 전송비트율 대의 주관적 화질의 열화를 발생키는 결과를 초래하였지만, AVC/H.264에서는 변환영역이 아닌 공간영역(Spatial Domain)에서의 공간적 인트라 예측 (Spatial Intra Prediction) 부호화 방법을 채택하고 있다.
전통적인 공간적 인트라 예측 부호화를 인코더 측면에서 살펴보면, 이미 코딩이 완료되어 재생된 이전 블록의 정보로부터 현재 코딩하고자 하는 블록 정보를 예측하고 코딩하고자하는 실제 블록 정보의 오차(difference) 정보만을 코딩해서 디코더단에 전송한다. 이때, 예측에 필요한 파라미터를 디코더측에 전송하거나, 인코더와 디코더를 동기화 시킴으로 해서 예측을 수행할 수도 있다.
디코더측면에서 살펴보면, 이미 디코딩이 완료되어 재생된 주변블록의 정보를 이용하여 현재 디코딩하고자 하는 블록의 정보를 예측하고, 인코더측에서 전송된 오차정보와의 합을 구하여 원하는 구성 정보를 재생하게 된다. 이때도 역시 예측에 필요한 파라미터가 전송되었다면, 해당 파라미터를 디코딩하여 이용한다.
종래 기술에 따른 모든 블록 단위 또는 매크로블록 단위의 비디오 코딩 기법의 인트라 예측 방법은 기본적으로 도 1에 도시한 바와 같이 전통적인 래스터 스캔 (Raster Scan) 방향으로 코딩하려는 블록인 E의 주변에 위치한 블록 A, B, C, D의 정보를 이용하여 예측하는 방법을 채택하고 있다. 도 1에서 X로 마킹된 블록의 정보는 E 블록 코딩완료 후에 처리될 정보로서 코딩기법에서 전혀 사용할 수가 없다. 물론 O로 표기된 블록은 예측 값을 구할 때 사용 가능하기는 하지만 E 블록과 공간 축 상 거리가 멀어서 상관관계가 높지 않으므로 거의 사용되지 않는다.
이와 같이 종래 기술에 따른 대부분의 인트라 예측방법은 도 1에서 현재 코딩하고자 하는 E 블록을 중심으로, E 블록이 속한 라인에 인접한 위 라인에 있는 블록중 E 블록에 인접한 블록 D, 블록 B, 블록 C의 정보 중 일부와 E 블록 바로 전에 코딩 완료된 A 블록의 정보를 이용하는 방법을 사용하고 있다. MPEG-4-part 2의 경우는 8X8 단위의 DCT 변환 영역에서 블록 A, 블록 D, 블록 B의 DC 값의 차를 이용하여 블록 E의 DC 값 예측을 수행하는 방법을 채택하고 있다. 또한, AVC/H.264의 경우는 프레임을 4X4 블록 또는 16X16 매크로블록 단위로 나누어서, DCT 변환 영역이 아닌, 공간영역에서의 픽셀값 예측을 수행하는 방법을 택하고 있다.
도 2는 종래 기술에 따라 MPEG-4 Part 2 의 8X8 DCT 변환 계수를 이용한 인트라 예측 부호화 방법을 설명하기 위한 참고도이다.
도 2를 참조하면, 6X16 단위의 매크로블록은 8X8 단위의 블록단위로 처리되며, DCT 변환영역에서 각각의 블록에 대한 DC 값 예측을 수행한다.
즉, 도 2에는 D, B, A, E 4개의 매크로블록이 도시되어 있으며, 각 매크로블록은 4개의 블록으로 나누어져 있다. 즉, D 매크로블록은 D1, D2, D3, D4의 블록으로 나뉘어 있으며, B 매크로블록은 B1, B2, B3, B4 블록으로 나뉘어 있고, A 매크로블록은 A1, A2, A3, A4 블록으로 나뉘어 있고, E 매크로블록 역시 E1, E2, E3, E4 블록으로 나뉘어 있다. 8X8 각 블록의 왼쪽 상단에 표시된 검은 정사각형이 그 해당 블록의 DC값을 나타낸다.
현재 코딩하려는 E 매크로블록내의 인트라 예측 수행은 다음과 같다.
(1) 먼저, E 매크로블록의 인트라 예측을 수행하기 위하여, A, B, D 매크로블록의 존재여부를 파악한다. 만약 A, B, D 매크로블록의 일부가 VOP(Video Object Plane) 외부에 위치하고 있다면, DC 예측 값을 1024로 결정한다(픽셀 값으로는 128이다).
(2) 다음, E1 블록을 처리하기 위하여, D4 와 B3, 그리고 A2 블록의 존재 여부를 판단한다. 만약 그들 중 일부가 존재하지 않거나, 인트라 코딩이 되어있지 않은 경우, E1 블록의 예측값을 1024로 결정한다.
(3) D4, B3, A2 블록이 존재하는 경우, E1 블록의 인트라 DC 예측값은 다음과 같이 결정된다. 즉, A2 블록의 DC값과 D4 블록의 DC값의 차이가 D4 블록의 DC값과 B3 블록의 DC값의 차이보다 작다면, E1 블록의 DC값이 B3 블록의 DC값과 유사할 확률이 높으므로 E1 블록의 DC값을 B3 블록의 DC값으로부터 예측하며, 반대의 경우는 A2 블록의 DC값으로 E1 블록의 DC값을 예측한다. 이는 인코더 측과 디코더측이 똑같이 연동시킬수 있는 방법으로 예측값을 위한 파라미터를 전송할 필요없이 인트라 예측 부호화를 수행할 수 있다. 즉, 디코더측에서도 인코더측과 똑 같은 방법을 사용하여 예측값을 구해야 한다.
위 E1 블록의 예측은 아래와 같은 식으로 정리된다.
If |A2_DC - D4_DC| < |D4_DC - B3_DC|, E1_DC = B3_DCElse, E1-DC = A2-DC
E2 블록의 DC값을 예측하기 위하여, E2 블록에 인접한 블록 {E1, B3, B4}을 이용하고, E3 블록의 DC값을 예측하기 위하여, E3 블록에 인접한 블록 {A2, A4, E1}을 이용하고, 또한 E4 블록의 DC값을 예측하기 위하여, E4 블록에 인접한 블록 {E1, E2, E3}을 이용하여, 위의 (1)~(3)의 방법을 반복적으로 수행한다. 즉, E 매크로블록내의 8X8 블록단위의 인트라 예측은 래스터 스캔 방향으로 "Z" 형태의 예측 수행방향을 따른다.
AVC/H.264 비디오 코딩 방법은 네트워크 친화성이 매우 높게 설계되어 있다. 이 기능은 앞으로도 동영상 코딩 관련 국제 표준화에서 매우 중요하게 요구되는 요구 사항(requirements)이 될 것이다. 이를 위하여 AVC/H.264에서는 슬라이스 단위의 독립적인 부호화 기능이 주요 기능으로 채택되어 있다. 이는 압축 부호화 과정을 거친 데이터는 전송 과정에서 발생되는 전송 오류에 매우 민감하게 되므로, 전송 오류가 발생되면 해당 비트스트림의 일부가 손실될 가능성이 매우 크고, 이러한 손실은 데이터 손실이 발생된 부분뿐만 아니라 해당 영상을 참조하는 미래의 영상 복원에 상당한 영향을 미치게 되어 완벽한 복원이 불가능하게 되기 때문이다. 특히, 인터넷이나 이동 통신망 환경에서 주로 사용되는 패킷 단위의 전송 방법을 사용하게 되면, 전송 도중 패킷 오류가 발생되는 경우에 손상된 패킷 이후의 데이터는 영상 프레임을 복원하는데 전혀 사용할 수 없게 된다. 더욱이, 헤더 정보를 포함하는 패킷이 손상되면, 영상 프레임 전체 데이터를 전혀 복원할 수 없는 경우가 발생되어 상당한 화질 저하가 초래된다. 이를 극복하기 위하여 AVC/H.264에서는 프레임보다 작은 단위인 슬라이스를 독립적으로 복호화가 가능한 데이터의 최소단위로 결정하였다. 부연 설명하면, 각각의 슬라이스는 해당 슬라이스의 이전이나 이후에 존재하는 여타 슬라이스에 해당하는 데이터와 상관없이 완벽하게 복호화되는 것이 가능한 기준 단위로 결정된다. 그러므로, 부가적으로 일부 슬라이스의 데이터가 손상되더라도, 오류 없이 복호화된 슬라이스의 영상 데이터를 사용하여 손상된 부분의 영상에 대한 복원 또는 은폐 가능성이 매우 높아져서 화질 저하를 최소화할 수 있는 여력이 생긴다.
AVC/H.264 에서는 종래 기술에 따라 래스터 스캔 (Raster Scan) 방향의 매크로블록의 집합으로 구성되어 있는 슬라이스 구조를 지원할 뿐 아니라, FMO(Flexible Macroblock Ordering)에서 정의하는 새로운 형태의 슬라이스 구조를 지원하도록 설계되어 있으며, 이는 베이스라인 프로파일(Baseline Profile)과 확장 프로파일(Extended Profile)에 필수 알고리즘으로 채택되어 있다. 특히, FMO의 Mode 3 Box-Out 스캔 방법은 시계 방향(Clockwise) / 반 시계 방향(Counter-Clockwise)의 스캔 방향을 지닌 모드로 나뉘며 도 3에 도시한 것과 같은 스캔 방법이다.
AVC/H.264 등에서 채택된 Box-out 등의 스캔 방법은 관심 영역 코딩시 매우 유용한 방법이다. 이는 도 3에 도시된 바와 같이 사용자가 관심 있는 부분의 중앙 영역(region) 또는 영상의 가운데 부분부터 최우선적으로 스캔을 시작하여, 양파 껍질(onion skin)처럼 한겹의 픽셀, 블록 또는 매크로블록의 군(Group)을 사각형 모양의 링(Ring)형태로 차례로 쌓아나가는 형태로 스캔하는 순서를 의미한다. 즉, 시작 영역으로부터 사각형 모양의 링을 계속적으로 그전에 처리한 사각형 모양의 링에 둘러싸는 형태의 스캔 방법을 의미한다. 관심영역 중심 스캔 방법이 적용될 때는 래스터 스캔에 맞게 설계된 기존의 인트라 예측 방법을 전혀 사용할 수가 없다.
AVC/H.264는 급변하는 무선 환경 및 인터넷 환경 등을 고려하여 오류 강인성 및 네트워크에 친숙한 방식을 상당히 고려한 방법론으로써, 특히 Box-Out 스캔방법 등은 관심 영역 (ROI: Region of Interest) 부호화의 한 방법론이다. 이는 인간의 시각적 특성을 고려하여 압축 효율을 높이거나, 더 높은 오류 보호를 수행할 수 있게 하는 방법론으로 관심 영역을 최우선적으로 처리할 수 있도록 하고 있다.
그러나, AVC/H.264 등 전통적인 비디오 코딩 방법은 관심 영역 중심 스캔 방법과 전혀 다른, 전통적인 래스터 스캔을 기반으로 하는 인트라 예측 부호화 방법을 사용하고 있기 때문에 코딩 효율을 높이는 기법을 관심영역 중심 스캔 방법을 기반으로 하는 비디오 코딩 방법에 적용할 경우 전혀 사용할 수 없는 단점을 갖고 있다.
본 발명은 상기와 같은 문제점을 해결하여 관심 영역 부호화/복호화를 위한 예측 부호화/복호화 장치 및 예측 부호화/복호화 방법을 제공하는 것을 목적으로 한다.
상기와 같은 과제를 해결하기 위한 본 발명의 하나의 특징은, 예측 부호화 장치에 있어서, 영상 프레임의 관심 영역에 있는 중심 매크로블록부터 예측을 시작하여 상기 중심 매크로블록을 둘러싸는 사각형 링의 매크로블록을 파문 확산 방향으로 예측하며, 현재 코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 코딩완료된 매크로블록과 바로 이전에 코딩완료된 이전 사각형 링에서 현재 코딩 매크로블록과 인접한 위치에 있는 매크로블록들 중 어느 하나 이상의 정보를 이용하여 8X8 블록 단위 인트라 예측을 수행하여 영상을 부호화하는 예측 부호화부를 포함하는 것이다.
상기 예측 부호화부는, 상기 현재 코딩할 매크로블록이 상기 중심 매크로블록의 부호화 완료후 첫 번째 매크로블록인 경우 또는 현재 코딩할 매크로블록의 참조 매크로블록으로 현재 코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 코딩완료된 A 매크로블록과, 바로 이전 코딩완료된 사각형 링에서 현재 코딩 매크로블록과 인접한 위치에 있는 D 매크로블록 2개가 있는 경우, 상기 현재 코딩할 매크로블록의 각 블록의 DCT 계수값을 상기 중심 매크로블록의 블록의 DCT 계수값 또는 A 매크로블록의 블록의 DCT 계수값을 각각 이용하여 예측하는 것이 바람직하다.
상기 예측 부호화부는, 상기 현재 코딩할 매크로블록의 블록들중에서 상기 중심 매크로블록 또는 상기 A 매크로블록에 인접한 블록을 먼저 예측한 후에 나머지 블록들을 예측하는 것이 바람직하다.
상기 예측 부호화부는, 현재 코딩할 매크로블록의 참조 매크로블록으로 현재 코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 코딩완료된 A 매크로블록과 바로 이전 코딩완료된 사각형 링내에 존재하며 현재 코딩 매크로블록과 인접하는 B 매크로블록과, 바로 이전 코딩완료된 사각형 링내에 존재하며 상기 A와 B 에 인접하는 D 매크로블록이 존재하는 경우, 상기 현재 코딩할 매크로블록의 각 블록의 DCT 계수값을 상기 A , B, D 매크로블록의 블록의 DCT 계수값을 이용하여 예측하는 것이 바람직하다.
상기 예측 부호화부는, 상기 현재 코딩할 매크로블록의 블록들중에서 상기 A와 B에 모두 인접한 블록 EA를 가장 먼저 예측하고, 상기 A에만 인접한 블록 EB 또는 상기 B에만 인접한 블록 EC를 다음으로 예측하고, 상기 EB와 EC에 모두 인접한 블록 ED를 마지막으로 예측하는 것이 바람직하다.
상기 부호화 예측부는, 현재 코딩할 매크로블록이 위치하는 사각형 링 내의 참조 매크로블록 및 바로 이전 코딩완료된 사각형 링 내에 존재하며 현재 코딩하는 매크로블록과 인접하는 참조 매크로블록을 탐색하는 참조매크로블록 탐색부와, 중심 매크로블록만 존재하는 경우, 상기 중심 매크로블록을 A로 결정하고, 현재 코딩 매크로블록과 동일 사각형 링내에 1개 매크로블록과, 바로 이전 코딩완료된 사각형 링내에 1개 매크로블록만 존재하는 경우, 동일 사각형 링내의 매크로블록을 A, 바로 이전 코딩완료된 사각형 링내의 매크로블록을 D로 결정하고, 동일 사각형 링내에 1개의 매크로블록과 바로 이전 코딩완료된 사각형 링내에 2개 이상의 매크로블록이 존재하는 경우, 동일 사각형 링내에 존재하고 현재 코딩 매크로블록 바로 이전에 코딩완료된 매크로블록을 A, 바로 이전 코딩완료된 사각형 링내에 존재하며 현재 코딩 매크로블록과 인접하는 매크로블록을 B, 바로 이전 코딩완료된 사각형 링내에 존재하며 상기 A와 B 에 인접하는 매크로블록을 D라고 결정하는 참조매크로블록 위치 결정부와, 상기 결정된 A, B, D 참조 매크로블록을 이용하여 상기 코딩할 매크로블록의 블록들의 미리 결정된 스캔 순서에 따라 상기 매크로블록을 부호화하는 인트라 예측부를 포함하는 것이 바람직하다.
상기 예측 부호화부는, 상기 스캔 순서를 결정하기 위해 상기 결정된 A, B, D 참조 매크로블록을 이용하여 스캔 순서에 따른 인트라 예측 모드를 적용한 각 예측 매크로블록과 현재 디코딩 매크로블록의 차이(SAD)가 가장 작은 예측 모드를 결정하는 인트라 예측 모드 결정부를 더 포함하는 것이 바람직하다.
상기 예측 부호화부는, 상기 인트라 예측된 매크로블록과 원 매크로블록과의 차를 DCT 변환하는 DCT 변환부와, 상기 변환된 DCT 계수들을 양자화하는 양자화부와, 상기 양자화된 DCT 변환 계수들로 이루어진 프레임의 중심 매크로블록으로부터 시작하여 다음 사각형 링의 매크로블록을 파문 확산 방향으로 스캔하는 파문 스캔부와, 상기 파문 스캔된 데이터 샘플을 엔트로피 부호화하는 엔트로피 부호화부를 더 포함하는 것이 바람직하다.
본 발명의 다른 특징은, 예측 복호화 장치에 있어서, 영상 프레임의 관심 영역에 있는 중심 매크로블록부터 예측을 시작하여 상기 중심 매크로블록을 둘러싸는 사각형 링의 매크로블록을 파문 확산 방향으로 예측하며, 현재 디코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 디코딩완료된 매크로블록과 바로 이전에 디코딩완료된 이전 사각형 링에서 현재 코딩 매크로블록과 인접한 위치에 있는 매크로블록들 중 어느 하나 이상의 정보를 이용하여 8X8 블록 단위 인트라 예측을 수행하여 영상을 복호화하는 예측 복호화부를 포함하는 것이다.
상기 예측 복호화부는, 상기 현재 디코딩할 매크로블록이 상기 중심 매크로블록의 복호화 완료후 첫 번째 매크로블록인 경우 또는 현재 디코딩할 매크로블록의 참조 매크로블록으로 현재 디코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 디코딩완료된 A 매크로블록과, 바로 이전 디코딩완료된 사각형 링에서 현재 디코딩 매크로블록과 인접한 위치에 있는 D 매크로블록 2개가 있는 경우, 상기 현재 디코딩할 매크로블록의 각 블록의 DCT 계수값을 상기 중심 매크로블록의 블록의 DCT 계수값 또는 A 매크로블록의 블록의 DCT 계수값을 각각 이용하여 예측하는 것이 바람직하다.
상기 예측 복호화부는, 상기 현재 디코딩할 매크로블록의 블록들중에서 상기 중심 매크로블록 또는 상기 A 매크로블록에 인접한 블록을 먼저 예측한 후에 나머지 블록들을 예측하는 것이 바람직하다.
상기 예측 복호화부는, 현재 디코딩할 매크로블록의 참조 매크로블록으로 현재 디코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 디코딩완료된 A 매크로블록과 바로 이전 디코딩완료된 사각형 링내에 존재하며 현재 디코딩 매크로블록과 인접하는 B 매크로블록과, 바로 이전 디코딩완료된 사각형 링내에 존재하며 상기 A와 B 에 인접하는 D 매크로블록이 존재하는 경우, 상기 현재 디코딩할 매크로블록의 각 블록의 DCT 계수값을 상기 A , B, D 매크로블록의 블록의 DCT 계수값을 이용하여 예측하는 것이 바람직하다.
상기 예측 복호화부는, 상기 현재 디코딩할 매크로블록의 블록들중에서 상기 A와 B에 모두 인접한 블록 EA를 가장 먼저 예측하고, 상기 A에만 인접한 블록 EB 또는 상기 B에만 인접한 블록 EC를 다음으로 예측하고, 상기 EB와 EC에 모두 인접한 블록 ED를 마지막으로 예측하는 것이 바람직하다.
상기 예측 복호화부는, 현재 디코딩할 매크로블록이 위치하는 사각형 링 내의 참조 매크로블록 및 바로 이전 디코딩완료된 사각형 링 내에 존재하며 현재 디코딩하는 매크로블록과 인접하는 참조 매크로블록을 탐색하는 참조매크로블록 탐색부와, 중심 매크로블록만 존재하는 경우, 상기 중심 매크로블록을 A로 결정하고, 현재 디코딩 매크로블록과 동일 사각형 링내에 1개 매크로블록과, 바로 이전 디코딩완료된 사각형 링내에 1개 매크로블록만 존재하는 경우, 동일 사각형 링내의 매크로블록을 A, 바로 이전 디코딩완료된 사각형 링내의 매크로블록을 D로 결정하고, 동일 사각형 링내에 1개의 매크로블록과 바로 이전 디코딩완료된 사각형 링내에 2개 이상의 매크로블록이 존재하는 경우, 동일 사각형 링내에 존재하고 현재 디코딩 매크로블록 바로 이전에 디코딩완료된 매크로블록을 A, 바로 이전 디코딩완료된 사각형 링내에 존재하며 현재 디코딩 매크로블록과 인접하는 매크로블록을 B, 바로 이전 디코딩완료된 사각형 링내에 존재하며 상기 A와 B 에 인접하는 매크로블록을 D라고 결정하는 참조매크로블록 위치 결정부와, 상기 결정된 A, B, D 참조 매크로블록을 이용하여 상기 디코딩할 매크로블록의 블록들의 미리 결정된 스캔 순서에 따라 상기 매크로블록을 복호화하는 인트라 예측부를 포함하는 것이 바람직하다.
상기 예측 복호화부는, 상기 스캔 순서를 결정하기 위해 상기 결정된 A, B, D 참조 매크로블록을 이용하여 스캔 순서에 따른 인트라 예측 모드를 적용한 각 예측 매크로블록과 현재 디코딩 매크로블록의 차이(SAD)가 가장 작은 예측 모드를 결정하는 인트라 예측 모드 결정부를 더 포함하는 것이 바람직하다.
상기 예측 복호화부는 예측 부호화 장치로부터 수신된 비트스트림을 엔트로피 복호화하는 엔트로피 복호화부와, 엔트로피 복호화된 데이터 샘플로 이루어진 프레임의 중심 매크로블록으로부터 시작하여 다음 사각형 링의 매크로블록을 파문 확산 방향으로 스캔하는 파문 스캔부와, 상기 파문 스캔된 데이터 샘플들을 역양자화하는 역양자화부와, 상기 역양자화된 데이터 샘플들을 역DCT 변환하는 역DCT 변환부와, 상기 역양자화된 역 DCT 계수들로 이루어진 매크로블록과 상기 예측된 예측 매크로블록을 가산하는 가산부를 더 포함하는 것이 바람직하다.
본 발명의 또 다른 특징은 예측 부호화 방법에 있어서, 영상 프레임의 관심 영역에 있는 중심 매크로블록부터 예측을 시작하여 상기 중심 매크로블록을 둘러싸는 사각형 링의 매크로블록을 파문 확산 방향으로 예측하며, 현재 코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 코딩완료된 매크로블록과 바로 이전에 코딩완료된 이전 사각형 링에서 현재 코딩 매크로블록과 인접한 위치에 있는 매크로블록들 중 어느 하나 이상의 정보를 이용하여 8X8 블록 단위 인트라 예측을 수행하여 영상을 부호화하는 예측 부호화 단계를 포함하는 것이다.
본 발명의 또 다른 특징은, 예측 복호화 방법에 있어서, 영상 프레임의 관심 영역에 있는 중심 매크로블록부터 예측을 시작하여 상기 중심 매크로블록을 둘러싸는 사각형 링의 매크로블록을 파문 확산 방향으로 예측하며, 현재 디코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 디코딩완료된 매크로블록과 바로 이전에 디코딩완료된 이전 사각형 링에서 현재 코딩 매크로블록과 인접한 위치에 있는 매크로블록들 중 어느 하나 이상의 정보를 이용하여 8X8 블록 단위 인트라 예측을 수행하여 영상을 복호화하는 예측 복호화 단계를 포함하는 것이다.
이제, 첨부된 도면들을 참조하여 본 발명을 상세히 설명한다.
이제, 관심영역 중심 스캔 방법에 적합한 블록 단위의 인트라 예측 방법 및 그 장치를 설명한다. 설명되는 본 발명의 예를 기본으로 여러 방향으로 방법 및 장치의 확장이 가능하다.
도 4는 본 발명에 따라 사각형의 중앙부분에서 시작하여 사각형 모양의 링 형태로 스캔하는 순서에 따른 인트라 예측 부호화를 수행하기 위해 현재 사각형 링 내의 매크로블록의 위치를 설명하기 위한 참고도이다.
도 4에 도시된 영상 프레임에서 정중앙에 위치한 A로 표시된 매크로블록이 원점 매크로블록 또는 중심 매크로블록을 나타내고, 이 원점 매크로블록을 둘러싸고 있는 매크로블록 ①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧이 사각형 링을 형성한다. 본 발명에 따른 관심 영역 스캔 방법에서는 제일 처음 원점 매크로블록이 코딩되고, 다음 이 원점 매크로블록을 둘러싸는 사각형 링에 존재하는 매크로블록들이 코딩된다. 이와 같이 관심 영역 코딩 방법에서는 이렇게 양파 껍질이 중심에서부터 벗겨지듯이 또는 파문이 확산되는 방향과 같이 매크로블록들이 코딩되며, 각 매크로블록의 위치와 스캔 순서에 따라 코딩하는 방법이 달라진다. 디코딩의 경우에도 마찬가지이다.
즉, 하나의 매크로블록으로 이루어지는 사각형의 중심 부분에서 양파 껍질을 사각형 모양의 링으로 둘러싸는 형태의 스캔 순서에 따라 적응적으로 블록 또는 매크로블록 단위의 인트라 예측 부호화는, 도 4에 도시한 바와 같이 사각형 링의 네 개의 열, 즉 상층열과 하층열, 좌측열과 우측열에 따라 예측에 필요한 참조 블록 또는 참조 매크로블록의 위치가 다르며, 또한 스캔 방향에 따라서도 방법이 2가지로 나뉘게 된다.
사각형 링을 안쪽에서부터 바깥쪽으로 쌓아나가는 관심영역 중심 스캔 방법의 특성에 따라 참조해야 할 매크로블록이 현재 코딩하려는 슬라이스 또는 VOP 또는 프레임 외부에 위치하는 경우는 없다. 단지, 참조하여야 할 매크로블록이 ⓐ 단 1개만 존재하는 경우와, ⓑ 코딩이 진행중에 있는 매크로블록의 위치에서 원점 매크로블록 방향으로 대각선 방향으로 안쪽으로 인접한 내부 사각형 링의 매크로블록 열에 1개와, 코딩이 진행중에 있는 매크로블록이 위치한 동일한 사각형 링에서 바로 이전에 코딩 완료되어 참조가 가능한 매크로블록 1개로, 참조가 가능한 매크로블록이 단 2개만 존재하는 경우와, ⓒ 코딩이 진행중에 있는 매크로블록이 위치한 동일한 사각형 링에서 스캔 방향에 따라 바로 이전에 코딩 완료 되어 참조가 가능한 매크로블록이 1개 존재하고, 원점 매크로블록 방향으로 바로 안쪽으로 인접한 안쪽 사각형 링에서 2개 이상의 매크로블록이 인트라 예측을 위하여 참조가 가능한 경우 등 크게 3가지 경우를 들 수 있다.
ⓐ의 경우는, 관심영역 스캔 방법에서 최초의 원점(주로 영상프레임 내의 정 중앙에 위치)에 위치한 원점 매크로블록이 코딩 또는 디코딩 완료된 이후 첫 번째 블록 또는 매크로블록의 코딩 또는 디코딩을 하는 경우이다. ①, ②, ③, ④ 로 표시된 매크로블록이 이에 해당한다. ⓐ 경우의 인트라 예측은 도 5a 및 5b를 참조하여 설명한다.
ⓑ의 경우 즉, 코딩이 진행중에 있는 매크로블록에서 원점 매크로블록 방향으로 스캔 방향에 따라 바로 인접한 안쪽 사각형 링에서 대각선 방향으로 위치한 매크로블록 1개와 현재 코딩이 진행중에 있는 매크로블록이 위치한 동일한 사각형 링에서 스캔 방향에 따라 바로 이전에 코딩 완료되어 참조가 가능한 매크로블록이 1개, 총 2개의 참조 매크로블록이 존재하는 경우로 이 역시, 현재 코딩이 진행중인 매크로블록의 견지에서 보면 이미 코딩 완료된 안쪽에 위치한 사각형 링의 매크로블록의 경우 관심영역 스캔 방법의 스캔 방향에 따라 항상 현재 매크로블록과 대각선 방향에 위치하고 있어 해당 매크로블록 내의 정보를 신뢰할 수는 없다. 그러므로 현재 코딩이 진행중에 있는 매크로블록이 위치한 동일한 사각형 링내에 존재하고 스캔방향에 따라 바로 이전에 코딩 완료된 매크로블록의 정보만을 신뢰하여 인트라 예측이 가능하다. ⑤, ⑥, ⑦, ⑧로 표시된 매크로블록이 이에 해당한다. ⓑ경우의 인트라 예측은 도 6a 내지 6d를 참조하여 설명한다.
ⓒ의 경우는, 코딩이 진행중에 있는 매크로블록이 위치한 동일한 사각형 링에서 스캔 방향에 따라 바로 이전에 코딩 완료 되어 참조가 가능한 매크로블록이 1개 존재하고, 원점 매크로블록 방향으로 바로 안쪽으로 인접한 안쪽 사각형 링에서 2개 이상의 매크로블록이 인트라 예측을 위하여 참조가 가능하며, 도 4에서 ⑨, ⑩, ⑪, ⑫, ⑬, ⑭, ⑮, 으로 표시된 매크로블록이 이에 해당한다. 도 4를 참조하면, ⓒ의 경우에는 E 매크로블록이 위치한 사각형 링에서 인접된 A 매크로블록이 존재하고, 바로 이전 코딩완료된 사각형 링에서 이 E 매크로블록과 인접한 B 매크로블록이 존재하며, 또한 이 A 매크로블록과 B 매크로블록에 인접한 D 사각형이 존재한다. ⓒ 경우의 인트라 예측은 도 7a 내지 7h를 참조하여 설명한다.
도 5a 및 5b는 본 발명에 따라 원점 블록 또는 매크로블록 코딩후 첫 번째 블록 또는 매크로블록의 인트라 예측 방법에서의 스캔 순서를 나타내는 도면이다. 이 경우에 코딩 매크로블록 F의 각 블록은 원점 매크로블록에 인접한 블록들 두 개가 먼저 예측되고 나서 나머지 두 개의 블록들이 예측되는 것이 바람직하다.
도 5a의 (a1)과 (a2)는 코딩할 매크로블록이 원점 매크로블록의 왼쪽에 위치하는 경우에 있어서 두 가지 스캔 순서를 각각 나타내며, 도 5b의 (b1)과 (b2)는 코딩할 매크로블록이 원점 매크로블록의 오른쪽에 위치하는 경우에 있어서 두 가지 스캔 순서를 각각 나타낸다.
먼저, 도 5의 (a1)을 참조하면, 스캔순서는 F2-->F4-->F1-->F3이다.
즉, F 매크로블록 내의 F2 블록의 인트라 예측에는 O(원점) 매크로블록 내의 O1 블록의 DC값을 F2 블록의 DC값으로 예측한다.
F4 블록의 인트라 예측에는 O1, O3, F2 블록의 DC값을 이용하여 F4 블록의 DC값을 예측하는데, 예측 방법은 다음과 같다.
If |O1_DC - O3_DC| < |O1_DC - F2_DC|, F4_DC = F2_DCElse, F4_DC = O3_DC
F1 블록의 인트라 예측에는 F2 블록의 DC값을 F1 블록의 DC값으로 예측한다.
또한, F3 블록의 인트라 예측에는, F2, F4, F1 블록의 DC값을 이용하여 다음과 같이 예측을 수행한다.
If |F2_DC - F1_DC| < |F2_DC - F4_DC|, F3_DC = F4_DCElse, F3_DC = F1_DC
다음, 도 5의 (a2)를 참조하면, 스캔순서는 F2-->F4-->F3-->F1이다.
F 매크로블록 내의 F2 블록의 인트라 예측에는 O (원점) 매크로블록 내의 O1 블록의 DC값을 F2 블록의 DC값으로 예측한다.
F4 블록의 인트라 예측에는 O1, O3, F2 블록의 DC값을 이용하여 F4 블록의 DC값을 예측하는데, 예측 방법은 다음과 같다.
If |O1_DC - O3_DC| < |O1_DC - F2_DC|, F4_DC = F2_DCElse, F4_DC = O3_DC
F3 블록의 인트라 예측에는 F4 블록의 DC값을 F3 블록의 DC값으로 예측한다.
또한, F1 블록의 인트라 예측에는, F2, F4, F3 블록의 DC값을 이용하여 다음과 같이 예측을 수행한다.
If |F4_DC - F2_DC| < |F4_DC - F3_DC| F1_DC = F3_DCElse, F1_DC = F2_DC
이외에도 F2-->F1-->F4-->F3의 방법도 사용 가능하지만, 이는 원점 매크로블록에 가장 인접한 F2 블록과 F4 블록을 우선적으로 수행하는 것에 비하여 참조블록의 정보를 충분히 사용하지는 못한다.
다음, 코딩할 매크로블록이 원점 블록의 오른 쪽에 있는 경우에 나타날 수 있는 스캔 순서를 설명한다.
먼저, 도 5의 (a1)을 참조하면, 스캔순서는 F1-->F3-->F2-->F4이다.
F 매크로블록 내의 F1 블록의 인트라 예측에는 O (원점) 매크로블록 내의 O2 블록의 DC값을 F1 블록의 DC값으로 예측한다.
F3 블록의 인트라 예측에는 O2, O4, F1 블록의 DC값을 이용하여 F3 블록의 DC값을 예측하는데, 예측 방법은 다음과 같다.
If |O2_DC - O4_DC| < |O2_DC - F1_DC|, F3-DC = F1-DCElse, F3_DC = O4_DC
F2 블록의 인트라 예측에는 F1 블록의 DC값을 F2 블록의 DC값으로 예측한다.
F4 블록의 인트라 예측에는, F1, F2, F3 블록의 DC값을 이용하여 다음과 같이 예측을 수행한다.
If |F1_DC - F3_DC| < |F1_DC - F2_DC|, F4_DC = F2_DCElse, F4_DC = F3_DC
도 5의 (b2)를 참조하면, 스캔순서는 F1-->F3-->F4-->F2 이다.
F 매크로블록 내의 F1 블록의 인트라 예측에는 O (원점) 매크로블록 내의 O2 블록의 DC값을 F1 블록의 DC값으로 예측한다.
F3 블록의 인트라 예측에는 O2, O4, F1 블록의 DC값을 이용하여 F3 블록의 DC값을 예측하는데, 예측 방법은 다음과 같다.
If |O2_DC - O4_DC| < |O2_DC - F1_DC|, F3_DC = F1_DCElse, F3_DC = O4_DC
F4 블록의 인트라 예측에는 F3 블록의 DC값을 F4 블록의 DC값으로 예측한다.
F2 블록의 인트라 예측에는, F1, F3, F4 블록의 DC값을 이용하여 다음과 같이 예측을 수행한다.
If |F3_DC - F1_DC| < |F3_DC - F4_DC|, F2_DC = F4_DCElse, F2_DC = F1_DC
이외에도 F1-->F2-->F3-->F4의 방법도 사용 가능하지만, 이는 원점 매크로블록에 가장 인접한 F1과 F3블록을 우선적으로 수행하는 것에 비하여 참조블록의 정보를 충분히 사용하지는 못한다.
이와 같이 ⓐ의 경우에 덜 효과적인 마지막 세 번째 스캔순서를 제외하고 두 가지 스캔 순서를 적용할 수 있다. 즉, 하나는 원점 매크로블록에 인접한 두 개의 블록을 먼저 예측하고 나서 나머지 두 개의 블록중 어느 하나를 예측하고 마지막 블록을 예측하는 "N" 자형 스캔순서이고, 다른 하나는 원점 매크로블록에 인접한 두 개의 블록을 먼저 예측하고 나서 나머지 두 개의 블록중 첫 번째와 반대인 하나를 예측하고 마지막 다른 하나를 예측하는 "ㄷ" 자형 스캔순서이다. 시스템적으로는 이 두가지 스캔 순서중 어느 하나를 미리 정하여 그 정해진 스캔 순서로 예측할 수도 있고, 아니면 좀더 시스템을 복잡하게 할 수 있지만 좀더 효과적인 방법으로는 이 두가지 스캔 순서를 모두 적용하여 예측해보고 더 좋은 결과를 가져오는 스캔 순서를 선택하여 그에 따라 예측을 수행할 수도 있다.
도 6a 내지 6d는 본 발명에 따라 바로 인접한 안쪽 사각형 링의 매크로블록 1개(D 매크로블록)와 동일한 사각형 링에서 바로 이전에 코딩완료되어 참조가 가능한 매크로블록이 1개(A 매크로블록)의 참조 매크로블록이 단 2개만 존재하는 경우의 블록단위의 인트라 예측 코딩 스캔 순서를 나타낸다.
이와 같이 코딩할 매크로블록 주위에 참조할 매크로블록이 2개만 있는 경우는 도 6a 내지 6d에 도시된 바와 같이 4가지 케이스가 존재한다.
도 6a에 도시된 바와 같이 현재 코딩하려는 매크로블록의 견지에서 이미 코딩 완료된 안쪽에 위치한 사각형 링의 매크로블록(D 매크로블록)의 경우, 항상 현재 코딩하려는 매크로블록과 대각선 방향에 위치하고 있어 해당 매크로블록 내의 정보를 항상 신뢰하며 사용할 수는 없다. 그러므로 현재 코딩하려는 매크로블록이 위치하는 사각형 링내에서 바로이전에 코딩 완료된 A 매크로블록의 정보만을 신뢰하여 E 매크로블록 내의 블록단위의 인트라 예측이 가능하다.
도 6a와 도 6b는 각각 도 5a와 도 5b의 경우와 동일한 방법으로 처리할 수 있다. 즉, 도 5a와 5b에서 O 매크로블록을 도 6a와 도 6b에서의 A 매크로블록이라고 간주하고 도 5a와 5b의 F 매크로블록을 도 6a와 도 6b에서 E 매크로블록이라고 간주하면, 동일한 방법으로 처리할 수 있다.
도 6c의 경우 총 3가지 방법으로 E 매크로블록 내의 블록 단위의 인트라 예측을 수행할 수 있다.
도 6c의 (c1)을 참조하면, 스캔순서는 E1-->E2-->E3-->E4이다.
E 매크로블록 내의 E1 블록의 인트라 예측에는 A 참조 매크로블록 내의 A3 블록의 DC값을 E1 블록의 DC값으로 예측한다.
E2 블록의 인트라 예측에는 A3, A4, E1 블록의 DC값을 이용하여 E2블록의 DC값을 예측하는데, 예측 방법은 다음과 같다.
If |A3_DC - A4_DC| < |A3_DC - E1_DC|, E2_DC = E1_DCElse, E2_DC = A4_DC
E3 블록의 인트라 예측에는 E1 블록의 DC값을 E3 블록의 DC값으로 예측한다.
E4 블록의 인트라 예측에는, E1, E2, E3 블록의 DC값을 이용하여 다음과 같이 예측을 수행한다.
If |E1_DC - E3_DC| < |E1_DC - E2_DC|, E4_DC = E2_DCElse, E4_DC = E3_DC
도 6c의 (c2)를 참조하면, 스캔 순서는 E1-->E2-->E4-->E3이다.
E 매크로블록 내의 E1 블록의 인트라 예측에는 A 참조 매크로블록 내의 A3 블록의 DC값을 E1 블록의 DC값으로 예측한다.
E2 블록의 인트라 예측에는 A3, A4, E1 블록의 DC값을 이용하여 E2 블록의 DC값을 예측하는데, 예측 방법은 다음과 같다.
If |A3_DC - A4_DC| < |A3_DC - E1_DC|, E2_DC = E1_DCElse, E2_DC = A4_DC
E4 블록의 인트라 예측에는 E2 블록의 DC값을 E4 블록의 DC값으로 예측한다.
E3 블록의 인트라 예측에는, E1, E2, E4 블록의 DC값을 이용하여 다음과 같이 예측을 수행한다.
If |E2_DC - E1_DC| < |E2_DC - E4_DC|, E3_DC = E4_DCElse, E3_DC = E1_DC
이외에도 E1-->E3-->E2-->E4의 방법도 사용 가능하지만, 이는 참조 매크로블록에 가장 인접한 E1과 E2블록을 우선적으로 수행하는 것에 비하여 참조 블록의 정보를 충분히 사용하지는 못한다.
도 6d의 경우 총 3가지 방법으로 E 매크로블록 내의 블록 단위의 인트라 예측을 수행할 수 있다.
도 6d의 (d1)을 참조하면 스캔순서는 E3-->E4-->E1-->E2이다.
E 매크로블록 내의 E3 블록의 인트라 예측에는 A 참조 매크로블록 내의 A1 블록의 DC값을 E3 블록의 DC값으로 예측한다.
E4 블록의 인트라 예측에는 A1, A2, E3 블록의 DC값을 이용하여 E4 블록의 DC값을 예측하는데, 예측 방법은 다음과 같다.
If |A1_DC - A2_DC| < |A1_DC - E3_DC|, E4_DC = E3_DCElse, E4_DC = A2_DC
E1 블록의 인트라 예측에는 E3 블록의 DC값을 E1 블록의 DC값으로 예측한다.
E2 블록의 인트라 예측에는, E1, E3, E4블록의 DC값을 이용하여 다음과 같이 예측을 수행한다.
If |E3_DC - E1_DC| < |E3_DC - E4_DC|, E2_DC = E4_DCElse, E2_DC = E1_DC
도 6d의 (d2)를 참조하면, 스캔순서는 E3-->E4-->E2-->E1이다.
E 매크로블록 내의 E3 블록의 인트라 예측에는 A 참조 매크로블록 내의 A1 블록의 DC값을 E3 블록의 DC값으로 예측한다.
E4 블록의 인트라 예측에는 A1, A2, E3 블록의 DC값을 이용하여 E4 블록의 DC값을 예측하는데, 예측 방법은 다음과 같다.
If |A1_DC - A2_DC| < |A1_DC - E3_DC|, E4_DC = E3_DCElse, E4_DC = A2_DC
E2 블록의 인트라 예측에는 E4 블록의 DC값을 E2 블록의 DC값으로 예측한다.
E1 블록의 인트라 예측에는, E2, E3, E4블록의 DC값을 이용하여 다음과 같이 예측을 수행한다.
If |E4_DC - E3_DC| < |E4_DC - E2_DC|, E1_DC = E2_DCElse, E1_DC = E3_DC
이외에도 E3-->E1-->E4-->E2의 방법도 사용 가능하지만, 이는 참조 매크로블록에 가장 인접한 E3 과 E4 블록을 우선적으로 수행하는 것에 비하여 참조 블록의 정보를 충분히 사용하지는 못한다.
이와 같이 ⓑ의 경우에도 덜 효과적인 마지막 세 번째 스캔순서를 제외하고 두 가지 스캔 순서를 적용할 수 있다. 즉, 하나는 A 매크로블록에 인접한 두 개의 블록을 먼저 예측하고 나서 나머지 두 개의 블록중 어느 하나를 예측하고 마지막 블록을 예측하는 "N" 자형 스캔순서이고, 다른 하나는 A 매크로블록에 인접한 두 개의 블록을 먼저 예측하고 나서 나머지 두 개의 블록중 첫 번째와 반대인 하나를 예측하고 마지막 다른 하나를 예측하는 "ㄷ" 자형 스캔순서이다. 시스템적으로는 이 두가지 스캔 순서중 어느 하나를 미리 정하여 그 정해진 스캔 순서로 예측할 수도 있고, 아니면 좀더 시스템을 복잡하게 할 수 있지만 좀더 효과적인 방법으로는 이 두가지 스캔 순서를 모두 적용하여 예측해보고 더 좋은 결과를 가져오는 스캔 순서를 선택하여 그에 따라 예측을 수행할 수도 있다.
도 5a 내지 도 6d에 도시된 바와 같이, 관심영역 스캔 방법에서 최초의 원점 즉, 주로 영상프레임 내의 정중앙에 위치한 매크로블록을 코딩 또는 디코딩 완료한 후 첫번째 매크로블록의 코딩 또는 디코딩을 수행하는 경우와, 바로 인접한 안쪽 사각형 링의 매크로블록 1개와 현재 코딩하고 있는 동일한 사각형 링에서 바로 이전에 코딩 완료되어 참조가 가능한 매크로블록이 1개인, 참조 매크로블록이 단 2개만 존재하는 경우의 블록 단위의 인트라 예측 코딩 방법은 동일한 방법과 장치를 사용하여 수행할 수 있다.
도 7a 내지 7h는 본 발명에 따라 현재 코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 코딩완료되어 참조가 가능한 매크로블록이 1개 존재하고, 바로 인접한 안쪽 사각형 링에서 2개 이상의 매크로블록이 존재할 때의 블록단위의 인트라 예측 방법의 일 예이다.
동일한 사각형 링에서 바로 이전에 코딩완료 되어 참조가 가능한 매크로블록이 1개 존재하고, 바로 인접한 안쪽 사각형 링에서 2개 이상의 매크로블록이 현재 코딩하려는 매크로블록의 블록 단위의 인트라 예측을 위하여 참조가 가능한 경우는 다음과 같은 방법과 장치를 이용하여 처리한다. 우선 현재 인트라 예측을 수행하려는 E 매크로블록과 인접한 참조 매크로블록을 다음과 같이 정의한다.
E 매크로블록과 동일한 사각형 링내에 존재하고 E 매크로블록 바로 이전에 코딩완료된 매크로블록을 A 매크로블록이라 정의한다.
E 매크로블록과 인접하고 바로 이전에 코딩완료된 사각형 링에 존재하는 매크로블록을 B 매크로블록이라 정의한다.
A 매크로블록 및 B 매크로블록과 인접하고 바로 이전에 코딩완료된 사각형 링에 존재하는 매크로블록을 D 매크로블록이라 정의한다.
이와 같이 정의된 참조 매크로블록 A, B, D를 이용하여 E 매크로블록 내의 블록 단위의 인트라 예측을 다음과 같이 수행한다.
E A 의 인트라 예측
E 매크로블록 내에서 A, B, D 매크로블록과 동시에 인접한 블록을 EA라고 정의하고 EA 블록과 인접한 블록들중에서 A 매크로블록 내의 인접 블록을 AA, B 매크로블록 내의 인접 블록을 BA, D 매크로블록 내의 인접 블록을 DA라고 정의하면 E A의 인트라 예측은 다음과 같이 수행된다.
If |DA_DC - AA_DC| < |DA_DC - BA_DC|, EA_DC = BA_DCElse, EA_DC = AA_DC
E B 블록의 인트라 예측
EA 블록과 인접하고 동시에 A 매크로블록과 인접한 블록을 EB라고 정의하고 A 매크로블록 내에서 EB 블록과 바로 인접한 블록을 AB 블록이라 정의하고, (1)에서 정의된 AA 와 EA 블록과 AB 블록을 이용하여 EB 블록의 인트라 예측은 다음과 같이 수행된다.
If |AA_DC - AB_DC| < |AA_DC - EA_DC|, EB_DC = EA_DCElse, EB_DC = AB_DC
E C 블록의 인트라 예측
EA 블록과 인접하고 동시에 B 매크로블록과 인접한 블록을 EC 블록이라고 정의하고 B 매크로블록 내에서 EC 블록과 바로 인접한 블록을 BB 블록이라 정의하고, (1)에서 정의된 BA 와 EA 블록과 BB 블록을 이용하여 EC 블록의 인트라 예측은 다음과 같이 수행된다.
If |BA_DC - BB_DC| < |BA_DC - EA_DC|, EC_DC = EA_DCElse, EC_DC = BB_DC
E D 블록의 인트라 예측
E 매크로블록내에서 EA, EB, EC 블록과 동시에 인접한 블록을 ED 블록이라 정의하고, EA, EB 그리고 EC 블록을 이용하여 ED 블록의 인트라 예측은 다음과 같이 수행된다.
If |EA_DC - EB_DC| < |EA_DC - EC_DC|, ED_DC = EC_DCElse, ED_DC = EB_DC
위에 나열된 네 가지 방법은 EA --> EB --> EC --> ED 의 순서대로 수행이 가능하거나 또는 EA --> EC --> EB -->ED 의 순서로 인코더 단과 디코더 단이 서로 연동하여 똑 같은 방법을 이용하여 인트라 예측을 수행할 수 있다.
즉, 코딩 매크로블록 E의 예측에 참조할 참조 매크로블록이 A, B, D가 존재하는 경우에는, 첫 번째 예측 순서는, A와 B에 모두 인접한 블록 EA 을 가장 먼저 예측하고, 다음 A 에 인접한 블록 EB 를 예측하고 다음 B에 인접한 블록 EC을 예측하고 다음 EB EC에 인접한 블록 ED 을 예측하는 것이다. 두 번째 예측 순서는, A와 B에 모두 인접한 블록 EA 을 가장 먼저 예측하고, 다음 B에 인접한 블록 EC을 예측하고, 다음 A 에 인접한 블록 EB 를 예측하고, 다음 EB EC 에 인접한 블록 ED 을 예측하는 것이다. 어느 경우이든지, A와 B에 모두 인접한 블록 EA 을 가장 먼저 예측하고, EB EC에 인접한 블록 ED 를 가장 마지막으로 예측하는 것은 동일하며, 다만, EC 를 먼저 예측하는지 EB를 먼저 예측하는 지에 따라 다르다.
도 7a의 (a1)과 (a2)는 도 4에 도시된 상황에서 ⑬의 위치에 코딩 매크로블록이 있을 때 예측 순서 두가지를 각각 나타내고, 도 7b의 (b1)과 (b2)는 도 4에 도시된 상황에서 ⑭의 위치에 코딩 매크로블록이 있을 때 예측 순서 두가지를 각각 나타내고, 도 7c의 (c1)과 (c2)는 도 4에 도시된 상황에서 ⑮의 위치에 코딩 매크로블록이 있을 때 예측 순서 두가지를 각각 나타내고, 도 7d의 (d1)과 (d2)는 도 4에 도시된 상황에서 ?의 위치에 코딩 매크로블록이 있을 때 예측 순서 두가지를 각각 나타내고, 도 7e의 (e1)과 (e2)는 도 4에 도시된 상황에서 ⑨의 위치에 코딩 매크로블록이 있을 때 예측 순서 두가지를 각각 나타내고, 도 7f의 (f1)과 (f2)는 도 4에 도시된 상황에서 ⑩의 위치에 코딩 매크로블록이 있을 때 예측 순서 두가지를 각각 나타내고, 도 7g의 (g1)과 (g2)는 도 4에 도시된 상황에서 ⑪의 위치에 코딩 매크로블록이 있을 때 예측 순서 두가지를 각각 나타내고, 도 7h의 (h1)과 (h2)는 도 4에 도시된 상황에서 ⑫의 위치에 코딩 매크로블록이 있을 때 예측 순서 두가지를 각각 나타낸다.
ⓒ의 경우에도 덜 효과적인 마지막 세 번째 스캔순서를 제외하고 두 가지 스캔 순서를 적용할 수 있다. 즉, 하나는 A 매크로블록에 인접한 블록을 먼저 예측하고나서, 다음 B 매크로블록에 인접한 블록을 예측하고, 마지막 나머지 하나의 블록을 예측하는 스캔 순서이고, 다른 하나는 B 매크로블록에 인접한 블록을 먼저 예측하고 나서, 다음 A 매크로블록에 인접한 블록을 예측하고, 마지막 나머지 하나의 블록을 예측하는 스캔 순서이다. 시스템적으로는 이 두가지 스캔 순서중 어느 하나를 미리 정하여 그 정해진 스캔 순서로 예측할 수도 있고, 아니면 좀더 시스템을 복잡하게 할 수 있지만 좀더 효과적인 방법으로는 이 두가지 스캔 순서를 모두 적용하여 예측해보고 더 좋은 결과를 가져오는 스캔 순서를 선택하여 그에 따라 예측을 수행할 수도 있다.
도 8은 본 발명에 따른 인트라 예측 부호화 장치의 개략적인 구성도이다.
도 8을 참조하면, 인트라 예측 부호화 장치는 인트라 예측 모드 선택부(1)와, 인트라 예측부(2)와, 움직임 추정부(3)와, 움직임 보상부(4)와, 가산부(5)와, DCT 변환부(6)와, 양자화부(7)와, 파문 스캔부(8)와, 엔트로피 부호화부(9)와, 역양자화부(10)와, 역DCT 변환부(11)와, 가산부(12)와, 움직임 추정부(13)를 포함한다.
인트라 예측 부호화 장치는 두 개의 데이터흐름 경로를 포함한다. 하나는 왼쪽에서 오른쪽으로 진행하는 포워드 경로이고, 다른 하나는 오른쪽에서 왼쪽으로 진행하는 재구성 경로이다.
먼저 포워드 경로를 설명한다.
입력 프레임 Fn이 예측 부호화를 위해 제공된다. 프레임은 원 영상의 16X16 픽셀에 대응하는 매크로블록의 단위로 처리된다. 각 매크로블록은 인트라 또는 인터 모드로 부호화된다. 인트라 모드이든 인터 모든이든 어느 경우에 있어서도, 예측 매크로블록 P는 재구성된 프레임에 기초하여 생성된다.
인터 모드에서, P는 하나 또는 그 이상의 참조 프레임 F'n-1로부터 움직임 추정부(3)에 의해 움직임 추정되고, 움직임 보상부(4)에 의해 움직임 보상되는 움직임 보상 예측에 의해 생성된다. 참조 프레임은 이전에 부호화된 프레임 F'n-1로서 도시된다. 그러나, 각 매크로블록에 대한 예측은 이미 부호화되고 재구성된 하나 또는 둘 이전의 과거 프레임들로부터 생성될 수 있다.
인트라 모드에서, P는 이전에 부호화되고, 복호화되어 재구성된 현재 프레임 n(도 8에서 uF'n)의 샘플들로부터 형성된다.
본 발명의 제1실시예에 따라 각 블록의 인트라 예측시 스캔 순서가 미리 결정된 경우에는 인트라 예측 모드 선택부(1) 없이 인트라 예측부(2)만으로 동작한다. 즉, 인트라 예측부(2)는 uF'n으로부터 미리 결정된 스캔 순서로 각 매크로블록의 블록들의 예측을 수행한다. 본 발명의 제1실시예의 경우에 인트라 예측부(2)는 도 10에 도시된 인트라 예측 모드 선택부(1)의 기능을 대부분 수행하며, 다만 인트라 예측 모드는 선택하는 것이 아니라 미리 결정되어 있다는 것만이 다르다.
본 발명의 제2실시예에 따라서는 인트라 예측 모드 선택부(1)가 인트라 예측부(2)에 결합되어 동작을 수행한다. 즉, uF'n으로부터 인트라 예측 모드 선택부(1)는 현재 부호화하려는 매크로블록에서의 블록의 스캔 순서에 따라 가장 적절한 예측 모드를 선택하고, 인트라 예측부(2)는 선택된 예측 모드에 따라 인트라 예측을 수행한다.
예측 매크로블록 P는 현재 매크로블록으로부터 감산부(5)에 의해 빼져서 차 매크로블록 Dn을 생성한다. 이것이 DCT 변환부(6)에 의해 DCT 변환되고 양자화부(7)에 의해 양자화되어 양자화된 변환 계수 X를 생성한다. 이러한 계수들은 파문 스캔부(8)에 의해 파문스캔되고, 엔트로피 부호화부(9)에 의해 엔트로피 부호화된다. 엔트로피 부호화된 계수들은 매크로블록을 디코드하는데 요구되는 부가 정보와 함께 압축된 비트스트림을 생성한다. 이러한 부가 정보로는, 양자화 스텝 사이즈, 움직임 벡터 정보 등을 포함한다. 특히, 본 발명의 제2실시예에 따라 인트라 예측 모드를 결정한 경우에는 도 8에 도시된 인트라 예측 모드 정보는 인트라 예측 모드 선택부(1)에 의해 결정된 인트라 예측 모드에 대한 정보를 담고 있으며, 본 발명에 따라 이용되는 4개의 모드를 나타내기 위해 2 비트로 나타내질 수 있다. 이러한 압축 비트스트림은 전송 또는 저장을 위해 NAL(Network Abstraction Layer)로 전달된다.
재구성 경로는 다음과 같다.
부호화된 매크로블록 계수 X는 또 다른 매크로블록의 부호화를 위한 프레임을 재구성하기 위해 디코드된다. 즉, 계수 X는 역양자화부(10)에 의해 역양자화되고, 역 DCT 변환부(11)에 의해 역 DCT 변환되어 차 매크로블록 Dn'을 생성한다. 이것은 신호 손실 등에 의한 영향으로 원래의 차 매크로블록 Dn과 동일하지는 않다.
예측 매크로블록 P는 가산부(12)에 의해 Dn'에 합쳐져서 재구성된 매크로블록 uF'n을 생성한다. 이러한 uF'n은 원래의 매크로블록의 왜곡된 버전이다. 이러한 왜곡의 영향을 줄이기 위해 필터(13)가 부가되고, 재구성된 참조 프레임은 일련의 매크로블록 F'n으로부터 생성된다.
도 16은 본 발명에 따른 인트라 예측 복호화 장치의 개략적인 구성도이다.
도 16을 참조하면, 인트라 예측 복호화 장치는 엔트로피 복호화부(21)와, 파문 스캔부(22)와, 역양자화부(23)와, 역 DCT 변환부(24)와, 가산부(25)와, 움직임 추정부(26)와, 필터(27)와, 인트라 예측부(2)를 포함한다.
복호화 장치는 NAL로부터 압축된 비트스트림을 수신한다. 데이터 엘리먼트들은 엔트로피 복호화부(21)에 의해 엔트로피 복호화된다. 이때 매크로블록을 복호화하는데 요구되는 부가 정보가 추출되며, 특히 본 발명의 제2실시예에 따라 인트라 예측 모드 정보가 추출될 수 있다. 이러한 인트라 예측 모드 정보는 인트라 예측 모드 선택부(1)로 전송되어 인트라 예측 모드 결정에 이용된다. 본 발명의 제1실시예의 경우에는 인트라 예측의 스캔 순서가 미리 정해져 있으므로 인트라 예측 모드 정보는 요구되지 않는다. 이와 같이 엔트로피 복호화된 데이터 샘플들은 한 세트의 양자화된 계수 X를 생성하기 위해 파문 스캔부(22)에 의해 재정렬된다. 이와 같이 재정렬된 데이터들은 역양자화부(23)에 의해 역양자화되고 역 DCT 변환부(24)에 의해 역 DCT 되어 D'n을 생성한다.
본 발명의 제1실시예의 경우에는 인트라 예측부(2)는 미리 결정된 스캔 순서에 따라 인트라 예측을 수행하여 예측 매크로블록 P를 생성한다. 본 발명의 제2실시예의 경우에는 인트라 예측부(2)는 엔트로피 복호화부(21)에 의해 추출된 헤더 정보 특히, 본 발명에 따른 인트라 예측 모드 정보를 참조하여 그 인트라 예측 모드에 따라 인트라 예측을 수행하여 예측 매크로블록 P를 생성한다.
제1실시예나 제2실시예의 어느 경우에 있어서도 인트라 예측부(2)는 이와 같이 미리 결정되거나 또는 인트라 예측 모드 정보에 따른 스캔 순서에 따라 도 5a 내지 도 7h에 도시된 바와 같이 예측을 수행한다.
이러한 예측 매크로블록 P는 예측 부호화 장치에서 생성된 오리지널 예측 매크로블록 P와 동일하다. 이러한 예측 매크로블록 P가 가산부(25)에 의해 D'n에 합쳐져서 uF'n을 생성한다. 이러한 uF'n이 필터(27)에 의해 필터링되어 디코드된 매크로블록 F'n을 생성한다.
도 10은 도 8에 도시된 인트라예측 모드 선택부의 세부적인 구성도이다.
도 10을 참조하면, 인트라 예측 모드 선택부(1)는 참조매크로블록 탐색부(14)와, 참조 매크로블록 위치 결정부(15)와, 인트라 예측 모드 결정부(16)를 포함한다.
참조 매크로블록 탐색부(14)는 관심영역 중심 스캔 방법의 스캔 방향을 참조하여, 현재 코딩하는 매크로블록과 인접하고 동일한 사각형 링 내의 참조 매크로블록 및 현재 코딩하는 매크로블록과 인접하고 이전 사각형 링 내에 존재하는 참조 매크로블록의 존재 유무를 탐색한다.
참조 매크로블록 위치 결정부(15)는 현재 코딩하는 매크로블록의 예측에 이용할 참조 매크로블록의 위치를 결정한다. 최초 원점 매크로블록만 존재하는 경우, 최초 원점 매크로블록을 A 매크로블록이라 마킹하고, 동일 사각형 링내에 1개 그리고 이전 사각형 링내에 1개 등 2개의 매크로블록만 존재하는 경우, 동일 사각형 링내의 매크로블록을 A, 이전 사각형 링내의 매크로블록을 D로 마킹하고, 동일 사각형 링내에 1개의 매크로블록이 존재하고, 이전 사각형 링내에 2개 이상의 매크로블록이 존재할 때, E 매크로블록과 동일한 사각형 링내에 존재하고 E 매크로블록 바로 이전에 코딩완료된 매크로블록을 A 매크로블록이라 마킹하며, E 매크로블록과 인접하고 바로 이전에 코딩완료된 사각형 링에 존재하는 매크로블록을 B 매크로블록이라 마킹하며, A 매크로블록과 B 매크로블록과 인접하고 바로 이전에 코딩완료된 사각형 링에 존재하는 매크로블록을 D 매크로블록으로 마킹한다.
인트라 예측 모드 결정부(16)는 결정된 A, B, D 참조 매크로블록를 이용하여 가장 SAD가 작은 모드를 예측 모드로 결정한다. 여기서, 모드라는 것은 스캔 순서에 따른 예측 순서를 나타낸다. 즉, 인트라 예측 모드 결정부(16)는, 참조 매크로블록이 A 또는 A와 D 만 존재하는 경우, A 매크로블록 정보만을 이용하는 모드 0과 모드 1 의 두 가지 모드를 적용하여 더 작은 SAD를 가지는 모드를 예측 모드로 결정한다. 그리고, A와 B 그리고 D 참조 매크로블록이 모두 존재하는 경우, 인트라 예측 모드 결정부(16)는 A, B, D 매크로블록 내의 정보를 모두 이용하여 모드 2, 모드 3 두 가지 모드를 적용하여 E 매크로블록과 각 모드에 따른 예측 매크로블록들사이의 SAD를 구하고, 더 작은 SAD를 가지는 모드를 예측 모드로 결정한다. 즉, Mode 0, Mode 1의 두 가지 방법을 모두 적용하여 E 매크로블록의 DC 예측값을 구한 후, 실제 DC 값과 예측 값 사이의 SAD(Sum of Absolute Difference)를 구하여 더 작은 값을 갖는 모드를 선택한다.
실제, 코딩할 매크로블록의 블록들의 DC값을 {EA_DC, EB_DC, EC_DC, E D_DC} 이라 하고, 예측 매크로블록의 블록들의 DC값을 {E'A_DC, E'B_DC, E'C _DC, E'D_DC}라고 할 때,
SAD=|EA_DC-E'A_DC|+|EB_DC-E'B_DC|+|EC_DC-E' C_DC|+|ED_DC-E'D_DC|
와 같이 구할 수 있다.
도 11은 본 발명에 따른 인트라 예측 부호화 과정의 흐름도이다.
도 11을 참조하면, 관심 영역 중심 스캔 방법의 스캔 방향에 따라 프레임 중심으로부터 매크로블록을 수신한다(단계 110).
다음, 인트라 예측을 수행하는데, 본 발명의 제1실시예에 따라서 먼저 인트라 예측 모드를 결정하고(단계 121), 그 결정된 예측 모드에 따라 인트라 예측을 수행(단계 122)하거나, 또는 본 발명의 제2실시예에 따라서 미리 결정된 스캔 순서에 따라 인트라 예측을 수행한다. 이러한 인트라 예측 단계(120)에 대해서는 도 12를 참조하여 상세히 설명한다.
그리고나서, 인트라 예측이 수행된 프레임을 DCT 변환한다(단계 130).
그리고, DCT 변환된 프레임을 양자화한다(단계 140).
다음, 양자화된 프레임을 프레임의 중심으로부터 파문 스캔 수행한다(단계 150).
그리고나서, 파문 스캔된 데이터를 엔트로피 인코딩한다(단계 160). 이러한 엔트로피 인코딩시 본 발명의 제2실시예에 따라 인트라 예측 수행과정에서 결정된 인트라 예측 모드에 대한 정보를 삽입하여 인코딩하여 디코더단으로 전송한다.
도 12는 도 11에 도시된 인트라 예측 과정의 세부적인 흐름도이다.
도 12를 참조하여, 먼저, 제1실시예의 경우를 설명한다.
먼저, 관심영역 중심 스캔 방법의 스캔 방향을 참조하여, 현재 코딩하는 매크로블록과 인접하고 동일한 사각형 링 내의 참조 매크로블록의 존재 유무를 탐색한다. 그리고, 관심영역 중심 스캔 방법의 스캔 방향을 참조하여, 현재 코딩하는 매크로블록과 인접하고, 이전 사각형 링 내에 존재하는 참조 매크로블록의 존재 유무를 탐색한다(단계 201).
다음, 참조 매크로블록의 위치를 결정한다(단계 202).
즉, 최초 원점 매크로블록만 존재하는 경우, 최초 원점 매크로블록을 A 매크로블록이라 마킹한다.
또한, 동일 사각형 링내에 1개 그리고 이전 사각형 링내에 1개 등 2개의 매크로블록만 존재하는 경우, 동일 사각형 링내의 매크로블록을 A, 이전 사각형 링내의 매크로블록을 D로 마킹한다.
또한, 동일 사각형 링내에 1개의 매크로블록이 존재하고, 이전 사각형 링내에 2개 이상의 매크로블록이 존재할 때, E 매크로블록과 동일한 사각형 링내에 존재하고 E 매크로블록 바로 이전에 코딩완료된 매크로블록을 A 매크로블록이라 정의하며, E 매크로블록과 인접하고 바로 이전에 코딩완료된 사각형 링에 존재하는 매크로블록을 B 매크로블록이라 정의하며, A 매크로블록과 B 매크로블록과 인접하고 바로 이전에 코딩완료된 사각형 링에 존재하는 매크로블록을 D 매크로블록이라 정의한다.
이와 같이 참조 매크로블록이 결정되면, A, B, D 참조 매크로블록이 모두 존재하는지를 판단한다(단계 203). 모두 존재하지 않는 경우에는 단계 204로 진행하고, 모두 존재하는 경우에는 단계 208로 진행한다.
참조 매크로블록으로서 A만 존재하는 경우, 또는 A와 D 매크로블록만 존재하는 경우에는 A 참조 매크로블록 내의 정보만 이용하여 인트라 예측을 수행한다(단계 204). 그리고, 참조 매크로블록으로서 A, B, D가 존재하는 경우에는 A, B, D 매크로블록 정보를 모두 이용하여 인트라 예측을 수행한다(단계 208).
즉, 시스템 내부에서 미리 결정된 스캔 순서에 따라서 인트라 예측을 수행한다(단계 212). 구체적으로 예측하는 방법에 대해서는 도 5, 도 6, 도 7을 참조하여 설명한 바 있다.
제2실시예의 경우에는 예측 모드가 미리 결정된 것이 아니기 때문에 각 모드를 수행해보고 나서 예측 모드를 결정한다. 제2실시예에서만 수행되는 과정이 도 12에서 점선으로 된 블록안에 들어있다.
즉, A 매크로블록 정보만을 이용하는 경우, 모드 0과 모드 1 의 두 가지 모드를 적용하여 E 매크로블록의 예측 매크로블록을 각각 구한다(단계 205). 여기서, 모드 0은 A 매크로블록에 인접한 두 개의 블록을 먼저 예측하고 나머지 두 개의 블록중 어느하나를 먼저 예측하는 순서를 말하고, 모드 1은 A 매크로블록에 인접한 두 개의 블록을 먼저 예측하고 나머지 두 개의 블록중 다른 하나를 먼저 예측하는 순서를 말한다.
그리고, E 매크로블록과 각 모드에 따른 예측 매크로블록사이의 SAD를 구한다(단계 206). 즉, E 매크로블록과 모드 0을 수행한 예측 매크로블록사이의 SAD와, E 매크로블록과 모드 1을 수행한 예측 매크로블록 사이의 SAD를 각각 구한다.
다음, 이 두 가지 SAD 중에서 더 작은 SAD를 가지는 모드를 예측 모드로 결정한다(단계 207).
그리고, 결정된 예측 모드로 인트라 예측을 수행한다(단계 212). 사실상 여기서 인트라 예측을 수행한다는 것은, 이미 단계 205에서 예측 매크로블록을 구했으므로 이미 구해진 예측 매크로블록을 가져오면 될 것이다.
그리고, A와 B 그리고 D 참조 매크로블록이 모두 존재하는 경우, A, B, D 매크로블록 내의 정보를 모두 이용하여 E 매크로블록 내의 인트라 공간 예측을 수행한다(단계 208).
즉, A, B, D 매크로블록 정보를 모두 이용하는 모드 2, 모드 3의 두 가지 모드를 적용하여 E 매크로블록의 예측 매크로블록을 각각 구한다(단계 209). 여기서, 모드 2는 A, B에 모두 인접한 블록을 먼저 예측하고, 다음 A에 인접한 블록을 예측하고, 다음 B에 인접한 블록을 예측하고 나머지 마지막 블록을 예측하는 순서를 말하고, 모드 3은 A, B에 모두 인접한 블록을 먼저 예측하고, 다음 B에 인접한 블록을 예측하고, 다음 A에 인접한 블록을 예측하고 나머지 마지막 블록을 예측하는 순서를 말한다.
그리고, E 매크로블록과 예측 매크로블록들사이의 SAD를 구한다(단계 210). 즉, E 매크로블록과 모드 2를 수행한 예측 매크로블록사이의 SAD와, E 매크로블록과 모드 3을 수행한 예측 매크로블록 사이의 SAD를 각각 구한다.
다음, 이 두 가지 SAD 중에서 더 작은 SAD를 가지는 모드를 예측 모드로 결정한다(단계 211).
그리고, 결정된 예측 모드로 인트라 예측을 수행한다(단계 212). 사실상 여기서 인트라 예측을 수행한다는 것은, 이미 단계 209에서 예측 매크로블록을 구했으므로 이미 구해진 예측 매크로블록을 가져오면 될 것이다.
도 13은 본 발명에 따른 인트라 예측 복호화 과정의 흐름도이다.
도 13을 참조하면, 먼저, 엔트로피 복호화를 시작한다(단계 310). 이와 같은 엔트로피 복호화 단계에서 프레임의 헤더 정보 등이 추출되는데, 이때 본 발명의 제2실시예의 경우 인트라 예측 모드에 관한 정보도 또한 추출된다.
다음, 엔트로피 복호화되어 생성된 프레임에서 프레임 중심으로부터 파문 스캔을 수행한다(단계 320).
다음, 파문 스캔된 프레임을 역양자화한다(단계 330).
그리고나서, 역양자화된 프레임을 역 DCT 수행한다(단계 340).
다음, 역 DCT된 프레임에 대해 인트라 예측을 수행한다(단계 350). 이때 본 발명의 제1실시예의 경우에는 미리 결정된 스캔 순서에 따라 인트라 예측을 수행하고, 본 발명의 제2실시예의 경우에는 단계 310에서 얻어진 인트라 예측 모드 정보를 이용하여 인트라 예측을 수행한다. 이 인트라 예측에 대해서는 도 14를 참조하여 상세히 설명한다.
그리고나서, 인트라 예측된 프레임으로부터 프레임을 재구성한다(단계 360).
도 14는 도 13에 도시된 인트라 예측 과정의 세부적인 흐름도이다.
도 14를 참조하면, 관심영역 중심 스캔 방법의 스캔 방향을 참조하여, 현재 코딩하는 매크로블록과 인접하고 동일한 사각형 링 내의 참조 매크로블록의 존재 유무를 탐색한다. 그리고, 관심영역 중심 스캔 방법의 스캔 방향을 참조하여, 현재 코딩하는 매크로블록과 인접하고, 이전 사각형 링 내에 존재하는 참조 매크로블록의 존재 유무를 탐색한다(단계 401).
다음, 참조 매크로블록의 위치를 결정한다(단계 402).
즉, 최초 중심 매크로블록만 존재하는 경우, 최초 중심 매크로블록을 A 매크로블록이라 마킹한다.
또한, 동일 사각형 링내에 1개 그리고 이전 사각형 링내에 1개 등 2개의 매크로블록만 존재하는 경우, 동일 사각형 링내의 매크로블록을 A, 이전 사각형 링내의 매크로블록을 D로 마킹한다.
또한, 동일 사각형 링내에 1개의 매크로블록이 존재하고, 이전 사각형 링내에 2개 이상의 매크로블록이 존재할 때, E 매크로블록과 동일한 사각형 링내에 존재하고 E 매크로블록 바로 이전에 코딩완료된 매크로블록을 A 매크로블록이라 정의하며, E 매크로블록과 인접하고 바로 이전에 코딩완료된 사각형 링에 존재하는 매크로블록을 B 매크로블록이라 정의하며, A 매크로블록과 B 매크로블록과 인접하고 바로 이전에 코딩완료된 사각형 링에 존재하는 매크로블록을 D 매크로블록이라 정의한다.
이와 같이 참조 매크로블록이 결정되면, 인트라 예측 모드 정보를 검사한다(단계 403). 본 발명의 제1실시예의 경우에는 이러한 인트라 예측 모드가 시스템 내부적으로 미리 결정되어 있으므로 그 정보를 참조하면 되고, 본 발명의 제2실시예의 경우에는 부호화장치로부터 전송되어 온 인트라 예측 모드 정보를 수신하여 참조한다.
인트라 예측 모드가 모드 0인 경우에는(단계 404), A 매크로블록을 참조하여 N자형 스캔 순서로 A 매크로블록의 DC값으로 예측 매크로블록을 매핑한다(단계 405).
인트라 예측 모드가 모드 1인 경우에는(단계 406), A 매크로블록을 참조하여 ㄷ 자형 스캔순서로 A 매크로블록의 DC값으로 예측 매크로블록을 매핑한다(단계 407).
인트라 예측 모드가 모드 2인 경우에는(단계 408), A, B 매크로블록을 참조하여 EA -> EC ->EB -> ED 스캔 순서로 인접 블록의 DC값으로 예측 매크로블록을 매핑한다(단계 409).
인트라 예측 모드가 모드 3인 경우에는, A, B 매크로블록을 참조하여 EA -> EB -> EC -> ED 스캔 순서로 인접 블록의 DC 값으로 예측 매크로블록을 매핑한다(단계 410).
이상 설명한 바와 같은 인트라 예측 부호화/복호화 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 인트라 예측 부호화/복호화 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
이와 같은 본 발명에 의하면, 전통적인 래스터 스캔 기반과는 다른 관심 영역 중심 스캔 방법을 기반으로 하는 영상 부호화/복호화 방법을 구체적으로 구현할 수 있다.
도 1은 종래 기술에 따라 래스터 스캔 방향에 의한 인트라 예측 부호화에 필요한 참조 블록,
도 2는 종래 기술에 따른 8X8 DCT 변환 계수를 이용한 인트라 예측 부호화 방법을 설명하기 위한 참고도,
도 3은 종래 기술에 따른 FMO 모드 3 BOX-OUT 스캔 방법을 설명하기 위한 참고도,
도 4는 본 발명에 따라 사각형의 중앙부분에서 시작하여 사각형 모양의 링 형태로 스캔하는 순서에 따른 인트라 예측 부호화를 수행하기 위해 현재 사각형 링 내의 매크로블록의 위치를 설명하기 위한 참고도,
도 5a 및 도 5b는 본 발명에 따라 원점 블록 또는 매크로블록 코딩후 첫 번째 블록만 존재하는 경우의 블록 단위의 예측 코딩 스캔 순서를 나타내는 도면,
도 6a 내지 도 6d는 본 발명에 따라 바로 인접한 안쪽 사각형 링의 매크로블록 1개(D 매크로블록)와 동일한 사각형 링에서 바로 이전에 코딩완료되어 참조가 가능한 매크로블록이 1개(A 매크로블록)의 참조 매크로블록이 단 2개만 존재하는 경우의 블록단위의 인트라 예측 코딩 스캔 순서를 나타내는 도면,
도 7a 내지 도 7h는 본 발명에 따라 동일한 사각형 링에서 바로 이전에 코딩완료되어 참조가 가능한 매크로블록이 1개 존재하고, 바로 인접한 안쪽 사각형 링에서 2개 이상의 매크로블록이 존재할 때의 블록단위의 인트라 예측 방법의 일 예,
도 8은 본 발명에 따른 인트라 예측 부호화 장치의 개략적인 구성도,
도 9는 본 발명에 따른 인트라 예측 복호화 장치의 개략적인 구성도,
도 10은 도 8에 도시된 인트라예측 모드 선택부의 세부적인 구성도,
도 11은 본 발명에 따른 인트라 예측 부호화 과정의 흐름도,
도 12는 도 11에 도시된 인트라 예측 과정의 세부적인 흐름도,
도 13은 본 발명에 따른 인트라 예측 복호화 과정의 흐름도,
도 14는 도 13에 도시된 인트라 예측 과정의 세부적인 흐름도.

Claims (32)

  1. 예측 부호화 장치에 있어서,
    영상 프레임의 관심 영역에 있는 중심 매크로블록부터 예측을 시작하여 상기 중심 매크로블록을 둘러싸는 사각형 링의 매크로블록을 파문 확산 방향으로 예측하며, 현재 코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 코딩완료된 매크로블록과 바로 이전에 코딩완료된 이전 사각형 링에서 현재 코딩 매크로블록과 인접한 위치에 있는 매크로블록들 중 어느 하나 이상의 정보를 이용하여 8X8 블록 단위 인트라 예측을 수행하여 영상을 부호화하는 예측 부호화부를 포함하는 것을 특징으로 하는 예측 부호화 장치.
  2. 제1항에 있어서,
    상기 예측 부호화부는,
    상기 현재 코딩할 매크로블록이 상기 중심 매크로블록의 부호화 완료후 첫 번째 매크로블록인 경우 또는 현재 코딩할 매크로블록의 참조 매크로블록으로 현재 코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 코딩완료된 A 매크로블록과, 바로 이전 코딩완료된 사각형 링에서 현재 코딩 매크로블록과 인접한 위치에 있는 D 매크로블록 2개가 있는 경우, 상기 현재 코딩할 매크로블록의 각 블록의 DCT 계수값을 상기 중심 매크로블록의 블록의 DCT 계수값 또는 A 매크로블록의 블록의 DCT 계수값을 각각 이용하여 예측하는 것을 특징으로 하는 예측 부호화 장치.
  3. 제2항에 있어서,
    상기 예측 부호화부는,
    상기 현재 코딩할 매크로블록의 블록들중에서 상기 중심 매크로블록 또는 상기 A 매크로블록에 인접한 블록을 먼저 예측한 후에 나머지 블록들을 예측하는 것을 특징으로 하는 예측 부호화 장치.
  4. 제1항에 있어서,
    상기 예측 부호화부는,
    현재 코딩할 매크로블록의 참조 매크로블록으로 현재 코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 코딩완료된 A 매크로블록과 바로 이전 코딩완료된 사각형 링내에 존재하며 현재 코딩 매크로블록과 인접하는 B 매크로블록과, 바로 이전 코딩완료된 사각형 링내에 존재하며 상기 A와 B 에 인접하는 D 매크로블록이 존재하는 경우, 상기 현재 코딩할 매크로블록의 각 블록의 DCT 계수값을 상기 A , B, D 매크로블록의 블록의 DCT 계수값을 이용하여 예측하는 것을 특징으로 하는 예측 부호화 장치.
  5. 제4항에 있어서,
    상기 예측 부호화부는,
    상기 현재 코딩할 매크로블록의 블록들중에서 상기 A와 B에 모두 인접한 블록 EA를 가장 먼저 예측하고, 상기 A에만 인접한 블록 EB 또는 상기 B에만 인접한 블록 EC를 다음으로 예측하고, 상기 EB와 EC에 모두 인접한 블록 E D를 마지막으로 예측하는 것을 특징으로 하는 예측 부호화 장치.
  6. 제2항에 있어서,
    상기 부호화 예측부는,
    현재 코딩할 매크로블록이 위치하는 사각형 링 내의 참조 매크로블록 및 바로 이전 코딩완료된 사각형 링 내에 존재하며 현재 코딩하는 매크로블록과 인접하는 참조 매크로블록을 탐색하는 참조매크로블록 탐색부와,
    중심 매크로블록만 존재하는 경우, 상기 중심 매크로블록을 A로 결정하고, 현재 코딩 매크로블록과 동일 사각형 링내에 1개 매크로블록과, 바로 이전 코딩완료된 사각형 링내에 1개 매크로블록만 존재하는 경우, 동일 사각형 링내의 매크로블록을 A, 바로 이전 코딩완료된 사각형 링내의 매크로블록을 D로 결정하고, 동일 사각형 링내에 1개의 매크로블록과 바로 이전 코딩완료된 사각형 링내에 2개 이상의 매크로블록이 존재하는 경우, 동일 사각형 링내에 존재하고 현재 코딩 매크로블록 바로 이전에 코딩완료된 매크로블록을 A, 바로 이전 코딩완료된 사각형 링내에 존재하며 현재 코딩 매크로블록과 인접하는 매크로블록을 B, 바로 이전 코딩완료된 사각형 링내에 존재하며 상기 A와 B 에 인접하는 매크로블록을 D라고 결정하는 참조매크로블록 위치 결정부와,
    상기 결정된 A, B, D 참조 매크로블록을 이용하여 상기 코딩할 매크로블록의 블록들의 미리 결정된 스캔 순서에 따라 상기 매크로블록을 부호화하는 인트라 예측부를 포함하는 것을 특징으로 하는 예측 부호화 장치.
  7. 제6항에 있어서,
    상기 예측 부호화부는,
    상기 스캔 순서를 결정하기 위해 상기 결정된 A, B, D 참조 매크로블록을 이용하여 스캔 순서에 따른 인트라 예측 모드를 적용한 각 예측 매크로블록과 현재 디코딩 매크로블록의 차이(SAD)가 가장 작은 예측 모드를 결정하는 인트라 예측 모드 결정부를 더 포함하는 것을 특징으로 하는 예측 부호화 장치.
  8. 제6항에 있어서,
    상기 예측 부호화부는,
    상기 인트라 예측된 매크로블록과 원 매크로블록과의 차를 DCT 변환하는 DCT 변환부와,
    상기 변환된 DCT 계수들을 양자화하는 양자화부와,
    상기 양자화된 DCT 변환 계수들로 이루어진 프레임의 중심 매크로블록으로부터 시작하여 다음 사각형 링의 매크로블록을 파문 확산 방향으로 스캔하는 파문 스캔부와,
    상기 파문 스캔된 데이터 샘플을 엔트로피 부호화하는 엔트로피 부호화부를 더 포함하는 것을 특징으로 하는 예측 부호화 장치.
  9. 예측 복호화 장치에 있어서,
    영상 프레임의 관심 영역에 있는 중심 매크로블록부터 예측을 시작하여 상기 중심 매크로블록을 둘러싸는 사각형 링의 매크로블록을 파문 확산 방향으로 예측하며, 현재 디코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 디코딩완료된 매크로블록과 바로 이전에 디코딩완료된 이전 사각형 링에서 현재 코딩 매크로블록과 인접한 위치에 있는 매크로블록들 중 어느 하나 이상의 정보를 이용하여 8X8 블록 단위 인트라 예측을 수행하여 영상을 복호화하는 예측 복호화부를 포함하는 것을 특징으로 하는 예측 복호화 장치.
  10. 제9항에 있어서,
    상기 예측 복호화부는,
    상기 현재 디코딩할 매크로블록이 상기 중심 매크로블록의 복호화 완료후 첫 번째 매크로블록인 경우 또는 현재 디코딩할 매크로블록의 참조 매크로블록으로 현재 디코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 디코딩완료된 A 매크로블록과, 바로 이전 디코딩완료된 사각형 링에서 현재 디코딩 매크로블록과 인접한 위치에 있는 D 매크로블록 2개가 있는 경우, 상기 현재 디코딩할 매크로블록의 각 블록의 DCT 계수값을 상기 중심 매크로블록의 블록의 DCT 계수값 또는 A 매크로블록의 블록의 DCT 계수값을 각각 이용하여 예측하는 것을 특징으로 하는 예측 복호화 장치.
  11. 제10항에 있어서,
    상기 예측 복호화부는,
    상기 현재 디코딩할 매크로블록의 블록들중에서 상기 중심 매크로블록 또는 상기 A 매크로블록에 인접한 블록을 먼저 예측한 후에 나머지 블록들을 예측하는 것을 특징으로 하는 예측 복호화 장치.
  12. 제9항에 있어서,
    상기 예측 복호화부는,
    현재 디코딩할 매크로블록의 참조 매크로블록으로 현재 디코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 디코딩완료된 A 매크로블록과 바로 이전 디코딩완료된 사각형 링내에 존재하며 현재 디코딩 매크로블록과 인접하는 B 매크로블록과, 바로 이전 디코딩완료된 사각형 링내에 존재하며 상기 A와 B 에 인접하는 D 매크로블록이 존재하는 경우, 상기 현재 디코딩할 매크로블록의 각 블록의 DCT 계수값을 상기 A , B, D 매크로블록의 블록의 DCT 계수값을 이용하여 예측하는 것을 특징으로 하는 예측 복호화 장치.
  13. 제12항에 있어서,
    상기 예측 복호화부는,
    상기 현재 디코딩할 매크로블록의 블록들중에서 상기 A와 B에 모두 인접한 블록 EA를 가장 먼저 예측하고, 상기 A에만 인접한 블록 EB 또는 상기 B에만 인접한 블록 EC를 다음으로 예측하고, 상기 EB와 EC에 모두 인접한 블록 E D를 마지막으로 예측하는 것을 특징으로 하는 예측 복호화 장치.
  14. 제9항에 있어서,
    상기 예측 복호화부는,
    현재 디코딩할 매크로블록이 위치하는 사각형 링 내의 참조 매크로블록 및 바로 이전 디코딩완료된 사각형 링 내에 존재하며 현재 디코딩하는 매크로블록과 인접하는 참조 매크로블록을 탐색하는 참조매크로블록 탐색부와,
    중심 매크로블록만 존재하는 경우, 상기 중심 매크로블록을 A로 결정하고, 현재 디코딩 매크로블록과 동일 사각형 링내에 1개 매크로블록과, 바로 이전 디코딩완료된 사각형 링내에 1개 매크로블록만 존재하는 경우, 동일 사각형 링내의 매크로블록을 A, 바로 이전 디코딩완료된 사각형 링내의 매크로블록을 D로 결정하고, 동일 사각형 링내에 1개의 매크로블록과 바로 이전 디코딩완료된 사각형 링내에 2개 이상의 매크로블록이 존재하는 경우, 동일 사각형 링내에 존재하고 현재 디코딩 매크로블록 바로 이전에 디코딩완료된 매크로블록을 A, 바로 이전 디코딩완료된 사각형 링내에 존재하며 현재 디코딩 매크로블록과 인접하는 매크로블록을 B, 바로 이전 디코딩완료된 사각형 링내에 존재하며 상기 A와 B 에 인접하는 매크로블록을 D라고 결정하는 참조매크로블록 위치 결정부와,
    상기 결정된 A, B, D 참조 매크로블록을 이용하여 상기 디코딩할 매크로블록의 블록들의 미리 결정된 스캔 순서에 따라 상기 매크로블록을 복호화하는 인트라 예측부를 포함하는 것을 특징으로 하는 예측 복호화 장치.
  15. 제14항에 있어서,
    상기 예측 복호화부는,
    상기 스캔 순서를 결정하기 위해 상기 결정된 A, B, D 참조 매크로블록을 이용하여 스캔 순서에 따른 인트라 예측 모드를 적용한 각 예측 매크로블록과 현재 디코딩 매크로블록의 차이(SAD)가 가장 작은 예측 모드를 결정하는 인트라 예측 모드 결정부를 더 포함하는 것을 특징으로 하는 예측 복호화 장치.
  16. 제15항에 있어서,
    예측 부호화 장치로부터 수신된 비트스트림을 엔트로피 복호화하는 엔트로피 복호화부와,
    엔트로피 복호화된 데이터 샘플로 이루어진 프레임의 중심 매크로블록으로부터 시작하여 다음 사각형 링의 매크로블록을 파문 확산 방향으로 스캔하는 파문 스캔부와,
    상기 파문 스캔된 데이터 샘플들을 역양자화하는 역양자화부와,
    상기 역양자화된 데이터 샘플들을 역DCT 변환하는 역DCT 변환부와,
    상기 역양자화된 역 DCT 계수들로 이루어진 매크로블록과 상기 예측된 예측 매크로블록을 가산하는 가산부를 더 포함하는 것을 특징으로 하는 예측 복호화 장치.
  17. 예측 부호화 방법에 있어서,
    영상 프레임의 관심 영역에 있는 중심 매크로블록부터 예측을 시작하여 상기 중심 매크로블록을 둘러싸는 사각형 링의 매크로블록을 파문 확산 방향으로 예측하며, 현재 코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 코딩완료된 매크로블록과 바로 이전에 코딩완료된 이전 사각형 링에서 현재 코딩 매크로블록과 인접한 위치에 있는 매크로블록들 중 어느 하나 이상의 정보를 이용하여 8X8 블록 단위 인트라 예측을 수행하여 영상을 부호화하는 예측 부호화 단계를 포함하는 것을 특징으로 하는 예측 부호화 방법.
  18. 제17항에 있어서,
    상기 예측 부호화 단계는,
    상기 현재 코딩할 매크로블록이 상기 중심 매크로블록의 부호화 완료후 첫 번째 매크로블록인 경우 또는 현재 코딩할 매크로블록의 참조 매크로블록으로 현재 코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 코딩완료된 A 매크로블록과, 바로 이전 코딩완료된 사각형 링에서 현재 코딩 매크로블록과 인접한 위치에 있는 D 매크로블록 2개가 있는 경우, 상기 현재 코딩할 매크로블록의 각 블록의 DCT 계수값을 상기 중심 매크로블록의 블록의 DCT 계수값 또는 A 매크로블록의 블록의 DCT 계수값을 각각 이용하여 예측하는 것을 특징으로 하는 예측 부호화 장치.
  19. 제18항에 있어서,
    상기 예측 부호화 단계는,
    상기 현재 코딩할 매크로블록의 블록들중에서 상기 중심 매크로블록 또는 상기 A 매크로블록에 인접한 블록을 먼저 예측한 후에 나머지 블록들을 예측하는 것을 특징으로 하는 예측 부호화 방법.
  20. 제17항에 있어서,
    상기 예측 부호화 단계는,
    현재 코딩할 매크로블록의 참조 매크로블록으로 현재 코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 코딩완료된 A 매크로블록과 바로 이전 코딩완료된 사각형 링내에 존재하며 현재 코딩 매크로블록과 인접하는 B 매크로블록과, 바로 이전 코딩완료된 사각형 링내에 존재하며 상기 A와 B 에 인접하는 D 매크로블록이 존재하는 경우, 상기 현재 코딩할 매크로블록의 각 블록의 DCT 계수값을 상기 A , B, D 매크로블록의 블록의 DCT 계수값을 이용하여 예측하는 것을 특징으로 하는 예측 부호화 방법.
  21. 제20항에 있어서,
    상기 예측 부호화 단계는,
    상기 현재 코딩할 매크로블록의 블록들중에서 상기 A와 B에 모두 인접한 블록 EA를 가장 먼저 예측하고, 상기 A에만 인접한 블록 EB 또는 상기 B에만 인접한 블록 EC를 다음으로 예측하고, 상기 EB와 EC에 모두 인접한 블록 E D를 마지막으로 예측하는 것을 특징으로 하는 예측 부호화 방법.
  22. 제17항에 있어서,
    상기 부호화 예측 단계는,
    현재 코딩할 매크로블록이 위치하는 사각형 링 내의 참조 매크로블록 및 바로 이전 코딩완료된 사각형 링 내에 존재하며 현재 코딩하는 매크로블록과 인접하는 참조 매크로블록을 탐색하는 단계와,
    중심 매크로블록만 존재하는 경우, 상기 중심 매크로블록을 A로 결정하고, 현재 코딩 매크로블록과 동일 사각형 링내에 1개 매크로블록과, 바로 이전 코딩완료된 사각형 링내에 1개 매크로블록만 존재하는 경우, 동일 사각형 링내의 매크로블록을 A, 바로 이전 코딩완료된 사각형 링내의 매크로블록을 D로 결정하고, 동일 사각형 링내에 1개의 매크로블록과 바로 이전 코딩완료된 사각형 링내에 2개 이상의 매크로블록이 존재하는 경우, 동일 사각형 링내에 존재하고 현재 코딩 매크로블록 바로 이전에 코딩완료된 매크로블록을 A, 바로 이전 코딩완료된 사각형 링내에 존재하며 현재 코딩 매크로블록과 인접하는 매크로블록을 B, 바로 이전 코딩완료된 사각형 링내에 존재하며 상기 A와 B 에 인접하는 매크로블록을 D라고 결정하는 단계와,
    상기 결정된 A, B, D 참조 매크로블록을 이용하여 상기 코딩할 매크로블록의 블록들의 미리 결정된 스캔 순서에 따라 상기 매크로블록을 부호화하는 인트라 예측 단계를 포함하는 것을 특징으로 하는 예측 부호화 방법.
  23. 제22항에 있어서,
    상기 예측 부호화 단계는,
    상기 스캔 순서를 결정하기 위해 상기 결정된 A, B, D 참조 매크로블록을 이용하여 스캔 순서에 따른 인트라 예측 모드를 적용한 각 예측 매크로블록과 현재 디코딩 매크로블록의 차이(SAD)가 가장 작은 예측 모드를 결정하는 단계를 더 포함하는 것을 특징으로 하는 예측 부호화 방법.
  24. 제22항에 있어서,
    상기 예측 부호화 단계는,
    상기 인트라 예측된 매크로블록과 원 매크로블록과의 차를 DCT 변환하는 단계와,
    상기 변환된 DCT 계수들을 양자화하는 단계와,
    상기 양자화된 DCT 변환 계수들로 이루어진 프레임의 중심 매크로블록으로부터 시작하여 다음 사각형 링의 매크로블록을 파문 확산 방향으로 스캔하는 단계와,
    상기 파문 스캔된 데이터 샘플을 엔트로피 부호화하는 단계를 더 포함하는 것을 특징으로 하는 예측 부호화 방법.
  25. 예측 복호화 방법에 있어서,
    영상 프레임의 관심 영역에 있는 중심 매크로블록부터 예측을 시작하여 상기 중심 매크로블록을 둘러싸는 사각형 링의 매크로블록을 파문 확산 방향으로 예측하며, 현재 디코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 디코딩완료된 매크로블록과 바로 이전에 디코딩완료된 이전 사각형 링에서 현재 코딩 매크로블록과 인접한 위치에 있는 매크로블록들 중 어느 하나 이상의 정보를 이용하여 8X8 블록 단위 인트라 예측을 수행하여 영상을 복호화하는 예측 복호화 단계를 포함하는 것을 특징으로 하는 예측 복호화 방법.
  26. 제25항에 있어서,
    상기 예측 복호화 단계는,
    상기 현재 디코딩할 매크로블록이 상기 중심 매크로블록의 복호화 완료후 첫 번째 매크로블록인 경우 또는 현재 디코딩할 매크로블록의 참조 매크로블록으로 현재 디코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 디코딩완료된 A 매크로블록과, 바로 이전 디코딩완료된 사각형 링에서 현재 디코딩 매크로블록과 인접한 위치에 있는 D 매크로블록 2개가 있는 경우, 상기 현재 디코딩할 매크로블록의 각 블록의 DCT 계수값을 상기 중심 매크로블록의 블록의 DCT 계수값 또는 A 매크로블록의 블록의 DCT 계수값을 각각 이용하여 예측하는 것을 특징으로 하는 예측 복호화 방법.
  27. 제26항에 있어서,
    상기 예측 복호화 단계는,
    상기 현재 디코딩할 매크로블록의 블록들중에서 상기 중심 매크로블록 또는 상기 A 매크로블록에 인접한 블록을 먼저 예측한 후에 나머지 블록들을 예측하는 것을 특징으로 하는 예측 복호화 방법.
  28. 제25항에 있어서,
    상기 예측 복호화 단계는,
    현재 디코딩할 매크로블록의 참조 매크로블록으로 현재 디코딩할 매크로블록이 위치한 사각형 링에서 바로 이전에 디코딩완료된 A 매크로블록과 바로 이전 디코딩완료된 사각형 링내에 존재하며 현재 디코딩 매크로블록과 인접하는 B 매크로블록과, 바로 이전 디코딩완료된 사각형 링내에 존재하며 상기 A와 B 에 인접하는 D 매크로블록이 존재하는 경우, 상기 현재 디코딩할 매크로블록의 각 블록의 DCT 계수값을 상기 A , B, D 매크로블록의 블록의 DCT 계수값을 이용하여 예측하는 것을 특징으로 하는 예측 복호화 방법.
  29. 제28항에 있어서,
    상기 예측 복호화 단계는,
    상기 현재 디코딩할 매크로블록의 블록들중에서 상기 A와 B에 모두 인접한 블록 EA를 가장 먼저 예측하고, 상기 A에만 인접한 블록 EB 또는 상기 B에만 인접한 블록 EC를 다음으로 예측하고, 상기 EB와 EC에 모두 인접한 블록 E D를 마지막으로 예측하는 것을 특징으로 하는 예측 복호화 방법.
  30. 제25항에 있어서,
    상기 예측 복호화 단계는,
    현재 디코딩할 매크로블록이 위치하는 사각형 링 내의 참조 매크로블록 및 바로 이전 디코딩완료된 사각형 링 내에 존재하며 현재 디코딩하는 매크로블록과 인접하는 참조 매크로블록을 탐색하는 단계와,
    중심 매크로블록만 존재하는 경우, 상기 중심 매크로블록을 A로 결정하고, 현재 디코딩 매크로블록과 동일 사각형 링내에 1개 매크로블록과, 바로 이전 디코딩완료된 사각형 링내에 1개 매크로블록만 존재하는 경우, 동일 사각형 링내의 매크로블록을 A, 바로 이전 디코딩완료된 사각형 링내의 매크로블록을 D로 결정하고, 동일 사각형 링내에 1개의 매크로블록과 바로 이전 디코딩완료된 사각형 링내에 2개 이상의 매크로블록이 존재하는 경우, 동일 사각형 링내에 존재하고 현재 디코딩 매크로블록 바로 이전에 디코딩완료된 매크로블록을 A, 바로 이전 디코딩완료된 사각형 링내에 존재하며 현재 디코딩 매크로블록과 인접하는 매크로블록을 B, 바로 이전 디코딩완료된 사각형 링내에 존재하며 상기 A와 B 에 인접하는 매크로블록을 D라고 결정하는 단계와,
    상기 결정된 A, B, D 참조 매크로블록을 이용하여 상기 디코딩할 매크로블록의 블록들의 미리 결정된 스캔 순서에 따라 상기 매크로블록을 복호화하는 단계를 포함하는 것을 특징으로 하는 예측 복호화 방법.
  31. 제30항에 있어서,
    상기 예측 복호화 단계는,
    상기 스캔 순서를 결정하기 위해 상기 결정된 A, B, D 참조 매크로블록을 이용하여 스캔 순서에 따른 인트라 예측 모드를 적용한 각 예측 매크로블록과 현재 디코딩 매크로블록의 차이(SAD)가 가장 작은 예측 모드를 결정하는 단계를 더 포함하는 것을 특징으로 하는 예측 복호화 방법.
  32. 제30항에 있어서,
    예측 부호화 장치로부터 수신된 비트스트림을 엔트로피 복호화하는 단계와,
    엔트로피 복호화된 데이터 샘플로 이루어진 프레임의 중심 매크로블록으로부터 시작하여 다음 사각형 링의 매크로블록을 파문 확산 방향으로 스캔하는 단계,
    상기 파문 스캔된 데이터 샘플들을 역양자화하는 단계와,
    상기 역양자화된 데이터 샘플들을 역DCT 변환하는 단계와,
    상기 역양자화된 역 DCT 계수들로 이루어진 매크로블록과 상기 예측된 예측 매크로블록을 가산하는 단계를 더 포함하는 것을 특징으로 하는 예측 복호화 방법.
KR1020040039807A 2004-06-01 2004-06-01 예측 부호화/복호화 장치 및 예측 부호화/복호화 방법 KR20050114751A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020040039807A KR20050114751A (ko) 2004-06-01 2004-06-01 예측 부호화/복호화 장치 및 예측 부호화/복호화 방법
US11/141,263 US20060002466A1 (en) 2004-06-01 2005-06-01 Prediction encoder/decoder and prediction encoding/decoding method
CNA2005100734951A CN1705375A (zh) 2004-06-01 2005-06-01 预测编码器/解码器以及预测编码/解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040039807A KR20050114751A (ko) 2004-06-01 2004-06-01 예측 부호화/복호화 장치 및 예측 부호화/복호화 방법

Publications (1)

Publication Number Publication Date
KR20050114751A true KR20050114751A (ko) 2005-12-06

Family

ID=35513890

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040039807A KR20050114751A (ko) 2004-06-01 2004-06-01 예측 부호화/복호화 장치 및 예측 부호화/복호화 방법

Country Status (3)

Country Link
US (1) US20060002466A1 (ko)
KR (1) KR20050114751A (ko)
CN (1) CN1705375A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101051040B1 (ko) * 2009-08-26 2011-07-21 성균관대학교산학협력단 디블럭킹 필터링 방법
US8265149B2 (en) 2007-10-29 2012-09-11 Samsung Electronics Co., Ltd. Method and apparatus encoding and/or decoding image by using diffusion properties of the image
WO2014010935A1 (ko) * 2012-07-11 2014-01-16 엘지전자 주식회사 비디오 신호 처리 방법 및 장치

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9330060B1 (en) 2003-04-15 2016-05-03 Nvidia Corporation Method and device for encoding and decoding video image data
US8660182B2 (en) 2003-06-09 2014-02-25 Nvidia Corporation MPEG motion estimation based on dual start points
US8731071B1 (en) 2005-12-15 2014-05-20 Nvidia Corporation System for performing finite input response (FIR) filtering in motion estimation
US7924925B2 (en) * 2006-02-24 2011-04-12 Freescale Semiconductor, Inc. Flexible macroblock ordering with reduced data traffic and power consumption
US8724702B1 (en) 2006-03-29 2014-05-13 Nvidia Corporation Methods and systems for motion estimation used in video coding
KR100882949B1 (ko) * 2006-08-17 2009-02-10 한국전자통신연구원 화소 유사성에 따라 적응적인 이산 코사인 변환 계수스캐닝을 이용한 부호화/복호화 장치 및 그 방법
US8660380B2 (en) 2006-08-25 2014-02-25 Nvidia Corporation Method and system for performing two-dimensional transform on data value array with reduced power consumption
CN101222641B (zh) * 2007-01-11 2011-08-24 华为技术有限公司 帧内预测编解码方法及其装置
KR101365570B1 (ko) 2007-01-18 2014-02-21 삼성전자주식회사 인트라 예측 부호화, 복호화 방법 및 장치
US8756482B2 (en) 2007-05-25 2014-06-17 Nvidia Corporation Efficient encoding/decoding of a sequence of data frames
US9118927B2 (en) 2007-06-13 2015-08-25 Nvidia Corporation Sub-pixel interpolation and its application in motion compensated encoding of a video signal
US8873625B2 (en) * 2007-07-18 2014-10-28 Nvidia Corporation Enhanced compression in representing non-frame-edge blocks of image frames
US8948267B1 (en) * 2007-11-21 2015-02-03 Marvell International Ltd. System and method of video coding using adaptive macroblock processing
ES2752001T3 (es) * 2008-04-15 2020-04-02 Orange Predicción de imágenes por determinación previa de una familia de píxeles de referencia, codificación y decodificación que usan dicha predicción
US8666181B2 (en) 2008-12-10 2014-03-04 Nvidia Corporation Adaptive multiple engine image motion detection system and method
US10489434B2 (en) * 2008-12-12 2019-11-26 Verint Americas Inc. Leveraging concepts with information retrieval techniques and knowledge bases
EP2299717A1 (en) * 2009-09-10 2011-03-23 Thomson Licensing Method and apparatus for image encoding using Hold-MBs, and method and apparatus for image decoding using Hold-MBs
CN102447895B (zh) 2010-09-30 2013-10-02 华为技术有限公司 扫描方法及装置、反扫描方法及装置
CN103517073B (zh) * 2013-07-12 2016-11-02 上海交通大学 视频编解码方法、装置及系统
ES2873324T3 (es) * 2014-10-17 2021-11-03 Labcyte Inc Método y sistema para determinar la concentración de un analito en una muestra de fluido
JP2016195370A (ja) * 2015-04-01 2016-11-17 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69709835T2 (de) * 1996-05-28 2002-08-22 Matsushita Electric Ind Co Ltd Vorrichtung zur bildvorhersage und decodierung
WO2000019375A1 (en) * 1998-09-29 2000-04-06 Koninklijke Philips Electronics N.V. Partition coding method and device
US6418166B1 (en) * 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
KR100353851B1 (ko) * 2000-07-07 2002-09-28 한국전자통신연구원 파문 스캔 장치 및 그 방법과 그를 이용한 영상코딩/디코딩 장치 및 그 방법
US7386048B2 (en) * 2002-05-28 2008-06-10 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode organization
KR100987764B1 (ko) * 2003-09-04 2010-10-13 경희대학교 산학협력단 영상 데이터의 예측 부호화를 위한 참조 데이터 유닛 결정방법 및 그 장치
KR20050112445A (ko) * 2004-05-25 2005-11-30 경희대학교 산학협력단 예측 부호화/복호화 장치, 예측 부호화/복호화 방법 및 그방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한기록매체

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8265149B2 (en) 2007-10-29 2012-09-11 Samsung Electronics Co., Ltd. Method and apparatus encoding and/or decoding image by using diffusion properties of the image
KR101051040B1 (ko) * 2009-08-26 2011-07-21 성균관대학교산학협력단 디블럭킹 필터링 방법
WO2014010935A1 (ko) * 2012-07-11 2014-01-16 엘지전자 주식회사 비디오 신호 처리 방법 및 장치

Also Published As

Publication number Publication date
CN1705375A (zh) 2005-12-07
US20060002466A1 (en) 2006-01-05

Similar Documents

Publication Publication Date Title
KR20050114751A (ko) 예측 부호화/복호화 장치 및 예측 부호화/복호화 방법
KR20050112445A (ko) 예측 부호화/복호화 장치, 예측 부호화/복호화 방법 및 그방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한기록매체
JP6672226B2 (ja) 大型マクロ・ブロックを用いたビデオ・コーディング
KR100324610B1 (ko) 화상예측 복호화장치 및 방법
RU2404537C2 (ru) Устройство для кодирования динамических изображений, устройство для декодирования динамических изображений, способ кодирования динамических изображений и способ декодирования динамических изображений
JP6100904B2 (ja) 動画像符号化装置およびその動作方法
JP4643454B2 (ja) 動画像復号装置及び動画像復号方法
JP4617644B2 (ja) 符号化装置及び方法
KR101473278B1 (ko) 화상 예측 부호화 장치, 화상 예측 복호 장치, 화상 예측 부호화 방법, 화상 예측 복호 방법, 화상 예측 부호화 프로그램, 및 화상 예측 복호 프로그램
KR100739714B1 (ko) 인트라 예측 모드 결정 방법 및 장치
KR101608426B1 (ko) 영상의 인트라 예측 부호화/복호화 방법 및 그 장치
KR100727969B1 (ko) 영상의 부호화 및 복호화 장치와, 그 방법, 및 이를수행하기 위한 프로그램이 기록된 기록 매체
MXPA06002595A (es) Interfaz de programacion innovaciones en la codificacion descodificacion de macrobloques e informacion de movimiento para video intercalado y progresivo.
JP2001028756A (ja) コンテクストベースでフレーム内コーディングモードとフレーム間コーディングモードとの間の選択を行なうための方法および装置
KR20070096737A (ko) 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
Suzuki et al. Inter frame coding with template matching averaging
JP2008503177A (ja) 色差デブロッキングのための方法
JP2006517362A (ja) ビデオ符号化
KR20060008523A (ko) 영상의 인트라 예측 방법 및 그 장치
KR100987764B1 (ko) 영상 데이터의 예측 부호화를 위한 참조 데이터 유닛 결정방법 및 그 장치
Kim et al. Fast intra-mode decision in H. 264 video coding using simple directional masks
JP2004527981A (ja) 予測タイプの選択によるビデオデータブロックのイントラ符号化
KR100689215B1 (ko) H.264 에서 다운 샘플링과 에지 방향성을 이용한 고속예측 모드 결정 방법
Milicevic et al. H. 264/AVC standard: A proposal for selective intra-and optimized inter-prediction
KR100982518B1 (ko) 영상 데이터 유닛의 dc 계수 예측 방법 및 그 장치

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid