상기와 같은 기술적 과제를 해결하기 위하여 본 발명에 따른 영상의 인트라 예측 부호화 방법은, 입력 블록을 적어도 2개 이상의 영역들로 분리하는 단계; 상기 분리된 영역들 중 제 1 영역의 화소들에 대해서 주변 블록의 화소들을 이용하여 인트라 예측을 수행하는 단계; 상기 분리된 영역들 중 제 2 영역의 소정의 화소 주변에 위치한 제 1 영역의 화소들의 공간적 특성을 결정하고, 상기 결정된 공간적 특성에 기초하여 상기 제 2 영역 화소의 예측을 위한 상기 제 1 영역의 참조 화소 를 결정하는 단계; 및 상기 결정된 제 1 영역의 참조 화소에 기초하여 상기 제 2 영역 화소의 예측을 수행하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 영상의 인트라 예측 부호화 장치는, 입력 블록을 적어도 2개 이상의 영역들로 분리하는 영역 분리부; 상기 분리된 영역들 중 제 1 영역의 화소들에 대해서 주변 블록의 화소들을 이용하여 인트라 예측을 수행하는 인트라 예측 수행부; 및 상기 분리된 영역들 중 제 2 영역의 소정의 화소 주변에 위치한 제 1 영역의 화소들의 공간적 특성을 결정하며, 상기 결정된 공간적 특성에 기초하여 상기 제 2 영역 화소의 예측을 위한 상기 제 1 영역의 참조 화소들을 결정하고, 상기 결정된 제 1 영역의 참조 화소들에 기초하여 상기 제 2 영역 화소의 예측을 수행하는 보간부를 포함하는 것을 특징으로 한다.
본 발명에 따른 영상의 인트라 예측 복호화 방법은, 소정의 블록을 분할하여 얻어진 복수 개의 영역들 중에서 주변 블록의 화소를 이용하여 인트라 예측 부호화된 제 1 영역에 대한 데이터 및 상기 제 1 영역의 화소 정보를 이용하여 방향 보간된 제 2 영역에 대한 데이터를 구비하는 비트스트림을 수신하는 단계; 상기 제 1 영역의 화소들에 대한 인트라 예측 복호화를 수행하는 단계; 상기 제 2 영역의 소정의 화소 주변에 위치한 제 1 영역의 화소들 사이의 공간적 특성을 결정하고, 상기 결정된 공간적 특성에 기초하여 상기 제 2 영역의 화소의 예측을 위한 상기 제 1 영역의 참조 화소들을 결정하는 단계; 및 상기 결정된 제 1 영역의 참조 화소들을 이용하여 제 2 영역의 화소를 예측하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 측면에 따른 영상의 인트라 예측 복호화 방법은, 소정의 블 록을 분할하여 얻어진 복수 개의 영역들 중에서 주변 블록의 화소를 이용하여 인트라 예측 부호화된 제 1 영역에 대한 데이터를 수신하는 단계; 상기 제 1 영역의 화소들에 대한 인트라 예측 복호화를 수행하는 단계; 상기 제 2 영역의 소정의 화소 주변에 위치한 제 1 영역의 화소들 사이의 공간적 특성을 결정하고, 상기 결정된 공간적 특성에 기초하여 상기 제 2 영역의 화소의 예측을 위한 상기 제 1 영역의 참조 화소들을 결정하는 단계; 및 상기 결정된 제 1 영역의 참조 화소들을 이용하여 상기 제 2 영역의 화소를 예측하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 영상의 인트라 예측 복호화 장치는 소정의 블록을 분할하여 얻어진 복수 개의 영역들 중에서 주변 블록의 화소를 이용하여 인트라 예측 부호화된 제 1 영역에 대한 데이터 및 상기 제 1 영역의 화소 정보를 이용하여 방향 보간된 제 2 영역에 대한 데이터를 구비하는 비트스트림을 수신하고, 상기 제 1 영역의 화소들에 대한 인트라 예측 복호화를 수행하는 인트라 예측 수행부; 및 상기 제 2 영역의 소정의 화소 주변에 위치한 제 1 영역의 화소들 사이의 공간적 특성을 결정하고, 상기 결정된 공간적 특성에 기초하여 상기 제 2 영역의 화소의 예측을 위한 상기 제 1 영역의 참조 화소들을 결정하고, 상기 결정된 제 1 영역의 참조 화소들을 이용하여 제 2 영역의 화소를 예측하는 보간부를 포함하는 것을 특징으로 한다.
본 발명의 다른 측면에 따른 영상의 인트라 예측 복호화 장치는, 소정의 블록을 분할하여 얻어진 복수 개의 영역들 중에서 주변 블록의 화소를 이용하여 인트라 예측 부호화된 제 1 영역에 대한 데이터를 수신하고, 상기 제 1 영역의 화소들에 대한 인트라 예측 복호화를 수행하는 인트라 예측 수행부; 및 상기 제 2 영역의 소정의 화소 주변에 위치한 상기 제 1 영역의 화소들 사이의 공간적 특성을 결정하고, 상기 결정된 공간적 특성에 기초하여 상기 제 2 영역의 화소의 예측을 위한 상기 제 1 영역의 참조 화소들을 결정하고, 상기 결정된 제 1 영역의 참조 화소들을 이용하여 상기 제 2 영역의 화소를 예측하는 보간부를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.
도 3은 본 발명에 따른 인트라 예측 부호화 장치가 적용되는 영상 부호화 장치를 나타낸 블록도이다. 이하에서는 설명의 편의를 위하여 H.264 표준안에 따른 영상 부호화 장치에 본 발명에 따른 인트라 예측 부호화 장치가 적용되는 경우를 중심으로 설명하지만, 본 발명에 따른 인트라 예측 부호화 장치는 인트라 예측을 이용하는 다른 방식의 압축 방식에도 적용될 수 있을 것이다.
도 3을 참조하면, 영상 부호화 장치(300)는 움직임 추정부(302), 움직임 보상부(304), 인트라 예측부(330), 변환부(308), 양자화부(310), 재정렬부(312), 엔트로피 코딩부(314), 역양자화부(316), 역변환부(318), 필터(320), 프레임 메모리(322) 및 제어부(325)를 구비한다. 여기서, 상기 인트라 예측부(330)는 본 발명에 따른 인트라 예측 부호화 장치에 대응된다.
인터 예측을 위해 현재 픽처의 매크로 블록의 예측값을 참조 픽처에서 찾는 것은 움직임 추정부(302)에서 수행된다.
그리고, 움직임 보상부(304)는 1/2 화소 또는 1/4 화소 단위로 참조 블록이 찾아진 경우에는 이들 중간 화소값을 계산하여 참조 블록 데이터 값을 정한다. 이와 같이, 인터 예측은 움직임 추정부(302)와 움직임 보상부(304)에서 수행된다.
인트라 예측부(330)는 현재 블록의 예측치를 현재 픽처내에서 찾는 인트라 예측을 수행한다. 특히, 본 발명에 따른 상기 인트라 예측부(330)는 예측 부호화할 현재 블록을 입력받아 전술한 도 1 및 2에 도시된 바와 같이 인트라 16×16 예측 모드 또는 인트라 4×4 예측 모드 또는 인트라 8×8 예측 모드 및 인트라 색차모드로 인트라 예측 부호화를 수행하는 한편, 현재 블록을 적어도 2개 이상의 영역으로 분리하고 상기 영역 중 어느 하나인 제 1 영역에 대해서 먼저 인트라 예측을 수행한 다음 상기 인트라 예측된 제 1 영역의 복원된 정보를 이용하여 나머지 영역인 제 2 영역을 방향 보간함으로써 인트라 예측을 수행한다.
구체적으로 상기 인트라 예측부(330)는 현재 블록을 적어도 2개 이상의 영역들로 분리하고 분리된 영역 중에서 소정의 제 1 영역의 화소들에 대해서는 주변 블록의 화소들을 이용한 인트라 예측을 수행한 다음, 소정의 에지 방향에 따라서 상기 제 1 영역 화소들 사이의 절대값 차이의 평균을 계산하여 소정의 제 2 영역의 화소를 중심으로 상기 제 1 영역 화소들의 에지 방향을 결정한다.
다음, 상기 인트라 예측부(330)는 결정된 에지 방향에 위치한 제 1 영역 화소들의 평균값을 이용하여 제 2 영역의 화소를 보간하는 인트라 예측을 수행한다. 여기서, 에지 방향이란 상기 제 2 영역의 화소의 보간에 이용되는 제 1 영역의 참조 화소들이 위치한 방향을 의미한다. 이와 같이, 현재 인트라 예측되는 블록의 일부만을 먼저 인트라 예측하고, 나머지 부분은 먼저 인트라 예측된 부분의 정보로부터 방향 보간을 통해 예측 블록을 형성하는 경우, 상기 예측 블록은 현재 블록의 화소 정보에 기반하여 형성됨으로써 예측 효율이 향상된다.
제어부(325)는 영상 부호화 장치(300)의 각 구성 요소를 제어하는 한편, 현재 블록의 인트라 예측 모드를 결정한다. 인트라 예측 모드 결정의 바람직한 실시예는, 인트라 예측된 블록과 원래 블록 사이의 차이를 최소화하는 예측 모드를 결정하는 것이다. 구체적으로 상기 제어부(325)는 인터 예측된 영상 및 인트라 예측된 영상의 코스트를 계산하고, 예측된 영상 중에서 가장 작은 코스트를 갖는 예측 모드를 최종적인 예측 모드로 결정할 수 있다. 여기서, 상기 코스트 계산은 여러가지 방법에 의해서 수행될 수 있다. 사용되는 코스트 함수로는 SAD(Sum of Absolute Difference), SATD(Sum of Absolute Transformed Difference), SSD(Sum of Squared Difference), MAD(Mean of Absolute Difference) 및 라그랑지 함수(Lagrange function) 등이 있다. SAD는 각 4×4 블록 예측 오차(residue) 값의 절대치를 취하여 그 값들을 합한 값이다. SATD는 각 4×4 블록의 예측 오차값에 하다마드 변환(Hadamard transform)을 적용하여 생성된 계수들의 절대치를 취하여 더한 값이다. SSD는 각 4×4 블록 예측 샘플의 예측 오차값을 제곱하여 더한 값이고, MAD는 각 4×4 블록 예측 샘플의 예측 오차값에 절대치를 취하여 평균을 구한 값이다. 라그랑지 함수는 코스트 함수에 비트스트림의 길이 정보를 포함하여 만들어진 새로운 함수이다.
인터 예측 또는 인트라 예측이 수행되어 현재 프레임의 매크로 블록이 참조할 예측 데이터가 찾아졌다면, 이를 현재 픽처의 매크로 블록에서 빼서 변환부 (308)에서 변환을 수행한 후에 양자화부(310)에서 양자화를 수행한다. 현재 프레임의 매크로 블록에서 움직임 추정된 참조 블록을 뺀 것을 잔차(residual)라고 한다. 일반적으로 영상의 부호화시의 데이터량을 줄이기 위해서 잔차값을 부호화한다. 양자화된 잔차값은 엔트로피 코딩부(314)에서 부호화하기 위하여 재정렬부(312)를 거친다.
한편, 인터 예측에 사용될 참조 픽처를 얻기 위하여 양자화된 픽처를 역양자화부(316)와 역변환부(318)를 거쳐 현재 픽처를 복원한다. 이렇게 복원된 현재 픽처는 디블록킹 필터링을 수행하는 필터(320)를 거친 후, 프레임 메모리(322)에 저장되었다가 다음 픽처에 대하여 인터 예측을 수행하는데 사용된다. 또한, 디블록킹 필터링 이전 단계의 복원된 상기 제 1 영역의 영상 데이터 정보는 상기 인트라 예측부(330)로 입력되어 제 2 영역의 방향 보간에 이용된다.
도 4는 상기 도 3의 본 발명에 따른 인트라 예측부(330)의 구성을 나타낸 블록도이고, 도 5a 내지 5d는 상기 도 4의 영역 분리부(331)에서 수행되는 입력 블록의 영역 분리 예를 나타낸 도면이다.
도 4를 참조하면, 상기 인트라 예측부(330)는 영역 분리부(331), 인트라 예측 수행부(332), 보간부(333), 및 가산부(334)를 포함한다.
상기 영역 분리부(331)는 입력되는 현재 블록을 적어도 2개 이상의 영역으로 분리한다. 예를 들어, 도 5a에 도시된 바와 같이 입력 블록을 홀수 수평 라인들로 구성된 제 1 영역과 짝수 수평 라인들로 구성된 제 2 영역으로 분리할 수 있다. 또한 도 5b에 도시된 바와 같이 상기 영역 분리부(331)는 홀수 수직 라인들로 구성 된 제 1 영역과 짝수 수직 라인으로 구성된 제 2 영역으로 입력 블록을 분리할 수 있다. 다른 예로서, 도 5c에 도시된 바와 같이 상기 영역 분리부(331)는 입력 블록을 가장 자리의 수평 라인들로 구성된 제 1 영역과 상기 제 1 영역 사이의 수평 라인들로 구성된 제 2 영역으로 분리할 수 있다. 또한 도 5d에 도시된 바와 같이 상기 영역 분리부(331)는 입력 블록을 가장 자리의 수직 라인들로 구성된 제 1 영역과 상기 제 1 영역 사이의 수직 라인들로 구성된 제 2 영역으로 분리할 수 있다. 상기 도 5a 내지 도 5d에 도시된 영역 분리예는 예시적인 것으로, 이외에도 상기 영역 분리부(331)는 다양한 패턴으로 입력 블록을 소정의 영역으로 분리할 수 있다. 또한, 상기 제 1 영역과 제 2 영역은 서로 변경될 수 있다.
상기 인트라 예측 수행부(332)는 상기 영역 분리부(331)에서 분리된 영역들 중 먼저 제 1 영역의 화소들에 대해서만 주변 블록의 화소들을 이용하여 인트라 예측을 수행한다. 이 때, H.264 표준안에 따른 인트라 예측 방식이나 기타 주변 블록의 화소들을 이용하여 처리하는 다른 방식의 인트라 예측 방법을 그대로 적용할 수 있다. 이하에서는 H.264 표준안에 따른 인트라 예측 방식을 적용하는 경우를 중심으로 설명한다.
도 6은 상기 도 4의 인트라 예측 수행부(332)에 의하여, 상기 도 5a와 같이 영역 분리된 입력 블록에 대하여 수행되는 인트라 예측 과정의 일 실시예를 나타낸 도면이다.
도 6에서는, H.264 표준안에 따른 인트라 예측 모드 중에서 수직 모드에 의해 제 1 영역의 화소들이 인트라 예측되는 과정을 도시하고 있다. 수직 모드에 따 른 인트라 예측시에 상기 인트라 예측 수행부(332)는 먼저 현재 블록의 위쪽에 인접한 화소 U0 내지 U15 화소값을 현재 블록의 제 1 영역의 화소들의 화소값으로 예측한다. 즉, 화소 U0의 값을 제 1 영역의 첫 번째 열에 포함된 8개의 화소값으로, 화소 U1의 값을 제 1 영역의 두 번째 열에 포함된 8개의 화소값으로, 화소 U2의 값을 제 1 영역의 세 번째 열에 포함된 8개의 화소값으로 예측한다. 다시 말해서, C00, C20, C40, ..., C140은 현재 블록의 상측에 위치한 주변 블록의 U0 화소값과 동일한 예측값을 가진다. 마찬가지로 C01, C21, C41, ..., C141은 U1 화소값을, C02, C22, C42, ..., C142는 U2 화소값을 예측값으로 갖는다. 또한 제 1 영역의 4번째 열 내지 16번째 열에 포함된 각 화소값은 현재 블록의 위쪽에 위치한 화소 U3 내지 U15으로부터 각각 예측된다. 미도시되었으나 상기 인트라 예측 수행부(332)는 상기 수직 모드 이외에 수평 모드 등의 다양한 인트라 예측 모드에 따라서 인트라 예측을 수행한 후, 각 모드에서 제 1 영역의 인트라 예측된 영상과 원래 영상 중 제 1 영역에 해당되는 영상과의 차이에 따른 코스트를 비교하여 제 1 영역의 인트라 예측 모드를 결정한다.
한편, 상기 인트라 예측 수행부(332)는 도시된 바와 같은 16×16 블록에 대한 인트라 예측은 물론, 8×8 블록이나 4×4 블록에 대해서 유사하게 주변 블록의 화소를 이용한 인트라 예측을 수행할 수 있다.
상기 인트라 예측 수행부(332)에서 인트라 예측된 제 1 영역의 영상 데이터 와 현재 블록 중 제 1 영역에 해당되는 영상 데이터 사이의 잔차값은 변환부(308)에서 변환된 후에 양자화부(310)에서 양자화된다. 여기서, 상기 변환부(308)는 도 6에 도시된 바와 같은 16×8 크기의 제 1 영역을 변환하는 경우, 2개의 8×8 변환 또는 8개의 4×4 변환을 수행할 수 있다. 이외에도 다양한 블록 크기의 변환이 가능하다. 다음, 양자화된 제 1 영역의 잔차 영상 데이터는 역양자화부(316)와 역변환부(318)를 거쳐 인트라 예측된 제 1 영역의 예측 영상 데이터와의 합산을 통해 복원된 후에 다시 상기 인트라 예측부(330)로 입력된다.
상기 보간부(333)는 이전에 인트라 예측되어 복호화된 제 1 영역의 영상 데이터를 입력받아, 상기 제 1 영역의 영상을 제외한 나머지 제 2 영역의 화소들에 대한 예측값을 계산하는 과정을 수행한다. 여기서, 상기 제 1 영역의 화소들은 상기 인트라 예측 수행부(332)에서 먼저 인트라 예측된 후에 변환, 양자화, 역양자화 및 역변환 등의 과정을 거쳐서 복원되었으므로, 제 2 영역의 화소들을 처리할 때 이용가능하다.
상기 보간부(333)는 에지 방향 검출부(333a) 및 방향 보간부(333b)를 포함한다. 상기 에지 방향 검출부(333a)는 상기 제 2 영역의 보간될 화소를 중심으로 복수 개의 에지 방향을 설정하고, 각각의 에지 방향에 따라서 상기 제 2 영역의 보간될 화소 주변에 위치한 상기 제 1 영역의 화소들 사이의 절대값 차이의 평균을 계산하고 상기 절대값 차이의 평균을 비교하여 최소 절대값 차이의 평균을 갖는 에지 방향을 결정한다. 이외에도 제 1 영역 화소들을 이용한 다양한 에지 방향을 결정하는 방식이 가능하다. 상기 방향 보간부(333b)는 상기 제 2 영역의 화소를 중심 으로 상기 에지 방향 검출부(333a)에서 결정된 에지 방향에 위치한 상기 제 1 영역의 화소들의 평균을 이용하여 상기 제 2 영역의 화소를 보간한다.
도 7 내지 도 9는 본 발명에 따른 에지 방향 검출부(333a)에서 보간될 제 2 영역 화소 주변의 제 1 영역 화소들의 에지 방향을 검출하는 과정을 설명하기 위한 도면이다. 도 7 내지 도 9에서 도면 부호 C는 보간될 제 2 영역 화소를 나타내고, U-3, U-2, U-1, U0 , U1, U2 및 U3는 상기 보간될 제 2 영역 화소(C)의 위쪽에 위치한 제 1 영역 화소들을 나타내며, L-3, L-2, L-1, L0 , L1, L2 및 L3는 상기 보간될 제 2 영역 화소(C)의 아래쪽에 위치한 제 1 영역 화소들을 나타낸다.
도 7 내지 도 9를 참조하면, 상기 에지 방향 검출부(333a)는 다음의 수학식 1과 같이, 제 2 영역의 보간될 화소(C)를 중심으로 그 주변의 제 1 영역의 화소들 U-3, U-2, U-1, U0 , U1, U2, U3, L-3, L-2, L-1, L0 , L1, L2 및 L3을 이용하여 90도, 45도, 135도 방향의 에지 방향성을 검출한다.
여기서 D90, D45, D135는 각각 제 2 영역의 보간될 화소(C) 주변 90도 방향, 45도 방향 및 135도 방향에 위치한 제 1 영역 화소들의 절대값 차이의 평균을 나타 낸다.
상기 에지 방향 검출부(333a)는 상기 D90, D45, D135의 크기를 비교하여 그 중 최소인 절대값 차이의 평균(D_Min)을 갖는 에지 방향을 결정한다. 즉, 상기 에지 방향 검출부(333a)는 에지 방향성을 검출하기 위하여 복수 개의 에지 방향들에 따라서 제 2 영역의 보간될 화소(C) 주변의 제 1 영역 화소들 사이의 절대값 차이의 평균을 계산하고, 상기 절대값 차이의 평균이 가장 작은 에지 방향을 결정한다. 다만, 도시된 바에 한정되지 않고 다양한 각도의 에지 방향을 검출할 수 있다.
상기 방향 보간부(333b)는 상기 결정된 최소 절대값 차이 평균(D_Min)을 갖는 에지 방향에 위치한 제 1 영역 화소들 중에서 상기 제 2 영역 화소(C)를 통과하는 제 1 영역 화소들의 평균값을 제 2 영역 화소(C)의 값으로 보간한다. 예를 들어 D_Min=D90인 경우, 제 2 영역의 화소(C)는 (U0+L0)/2 값을 갖는다. 유사하게, D_Min=D45인 경우 제 2 영역의 화소(C)는 (U1+L-1)/2 값을 갖으며, D_Min=D135인 경우 제 2 영역의 화소(C)는 (U-1+L1)/2 값을 갖는다. 전술한 보간 과정은 영상에서 에지 방향으로 인접한 화소들은 상관성(Correlation)이 높기 때문에 서로 유사한 값을 갖는다는 사실에 기반한 것이다.
한편, 수평 방향을 제외하고 상기 90도, 45도, 135도 방향으로 에지 방향성을 검출할 때, 상기 최소 절대값 차이 평균(D_Min)이 소정의 문턱값(Th)보다 큰 경우에는 수평 방향을 에지 방향으로 결정한다. 이와 같은 경우에는, 주변 블록 또는 현재 블록 내의 이용가능한 화소들 중 제 2 영역의 화소(C)의 왼쪽으로 가장 가 까운 복원된 화소값이 보간에 이용될 수 있다. 예를 들어, 도 6에서 제 2 영역 화소 C10 주변 제 1 영역 화소들의 최소 절대값 차이 평균(D_Min)이 소정의 문턱값(Th)보다 큰 경우에는, 상기 제 2 영역 화소 C10과 왼쪽으로 가장 가까운 주변 블록의 L1이 보간에 이용된다. 즉, 제 2 영역 화소 C10는 L1의 화소값으로 예측된다.
한편, 제 2 영역을 4×4 블록 단위로 처리하고, 제 2 영역의 화소 주변의 제 1 영역 화소들의 에지 방향이 수평 방향인 것으로 결정된 경우, 이전에 보간된 왼쪽의 화소값을 예측값으로 이용하여 보간될 수 있다. 예를 들어, 도 6에서 제 2 영역 화소 C11 주변 제 1 영역 화소들의 에지 방향이 수평 방향인 것으로 판단된 경우, 상기 C11의 수평 방향으로는 먼저 복호화된 제 1 영역의 데이터가 존재하지 않는다. 이와 같은 경우, 상기 C11의 예측값으로는 전술한 과정을 통해 보간된 왼쪽의 C10'을 예측값으로 이용할 수 있다.
전술한 바와 같은 과정을 통해, 상기 인트라 예측 수행부(332)에서 인트라 예측된 제 1 영역의 예측 데이터와 상기 보간부(333)에서 방향 보간된 제 2 영역의 데이터는 상기 가산부(334)에서 더해져서, 최종적으로 인트라 예측된 입력 블록이 출력된다.
전술한 바와 같은 본 발명에 따른 인트라 예측 과정은 도 5b에 도시된 바와 같이 입력 블록을 영역 분리한 경우에도 유사하게 적용될 수 있다. 또한, 도 5c에 도시된 바와 같이 입력 블록을 영역 분리한 경우에는 제 2 영역의 화소 P에 상하로 인접한 제 1 영역의 화소가 존재하지 않지만, 도시된 바와 같은 상기 화소 P 주변의 제 1 영역 화소들 U-3, U-2, U-1, U0 , U1, U2, U3, L-3, L-2, L-1, L0 , L1, L2 및 L3을 이용하여 상기 수학식 1과 같이 에지 방향을 검출하고, 상기 제 1 영역 화소들 중 제 2 영역의 보간에 이용될 화소를 결정하여 방향 보간을 수행할 수 있다.
본 발명에 따르면 제 2 영역에 대한 인트라 예측 과정은 화소 단위로 이루어지며, 화소 단위로 고유의 예측 모드가 정해진다. 또한, 본 발명에 따르면 상기 에지 방향 검출 과정을 통해 각 화소 단위별 상기 고유의 예측 모드를 결정할 수 있기 때문에 별도의 예측 모드 정보를 복호기로 전송할 필요가 없다.
도 10은 본 발명에 따른 방향 보간을 이용한 영상의 인트라 예측 부호화 방법의 일 실시예를 나타낸 플로우 차트이다.
도 10을 참조하면, 단계 1010에서 입력 블록을 적어도 2개 이상의 영역으로 분리한다. 여기서, 주변 블록의 화소를 이용하여 먼저 인트라 예측되는 영역을 제 1 영역이라 하고, 상기 제 1 영역의 복원된 정보로부터 방향 보간되는 영역을 제 2 영역이라고 한다.
단계 1020에서, 주변 블록의 화소를 이용하여 제 1 영역의 화소들에 대한 인트라 예측을 수행한다.
단계 1030에서, 제 2 영역의 보간될 화소를 중심으로 복수 개의 에지 방향을 설정하고, 각각의 에지 방향에 따라서 상기 제 2 영역의 보간될 화소 주변에 위치한 제 1 영역 화소들의 절대값 차이의 평균을 계산한다. 이는 상기 분리된 영역들 중에서 상기 제 2 영역의 소정의 화소 주변에 위치한 제 1 영역의 화소들의 공간적 특성을 결정하고, 상기 결정된 공간적 특성에 기초하여 상기 제 2 영역 화소의 예측을 위한 제 1 영역의 참조 화소를 결정하기 위한 것이다. 전술한 바와 같이, 상기 절대값 차이의 평균은 상기 수학식 1 등을 통해 계산될 수 있다.
단계 1040에서, 상기 계산된 제 1 영역 화소들의 절대값 차이의 평균 중에서 가장 작은 절대값 차이의 평균을 갖는 에지 방향을 결정한다. 그러나, 전술한 바와 같이 상기 단계 1030 및 1040에서 제 1 영역 화소들을 이용한 에지 방향 결정 과정은 다양한 방법들로 수행될 수 있다.
단계 1050에서, 상기 결정된 에지 방향에 위치한 상기 제 1 영역 화소들의 평균을 이용하여 제 2 영역의 화소를 보간한다. 즉, 상기 결정된 에지 방향에 위치한 상기 제 1 영역 화소들은 참조 화소로서 제 2 영역의 예측에 이용되며, 특히 상기 제 1 영역의 참조 화소들의 평균값을 상기 제 2 영역의 예측에 이용할 수 있다.
한편, 본 발명에 따라서 인트라 예측을 수행한 경우 종래 기술에 따른 인트라 예측을 수행하는 경우에 비하여 잔차값이 더 클 수 있다. 이와 같은 경우, 적응적으로 본 발명에 따른 인트라 예측 방법이 적용될 수 있도록 소정 블록 단위로 플래그(flag) 정보를 부호화된 비트스트림의 헤더에 추가할 수 있다. 예를 들어, 8×8 블록 단위로 1 비트 플래그를 설정하고 본 발명에 따른 인트라 예측 방법이 적용되면 1, 아니면 0을 비트스트림의 헤더에 추가한다. 여기서, 상기 플래그가 0인 경우, 즉 종래 방법에 따른 인트라 예측 방법에 의하여 부호화된 경우에는 별도 의 방향 모드 정보를 추가적으로 전송한다. 또한, 상기 플래그가 1인 경우, 즉 본 발명에 따른 인트라 예측 방법에 의하여 부호화된 비트스트림에는 별도의 방향 모드 정보없이 처리한다. 이는 본 발명에 따른 인트라 예측 부호화시에는 제 1 영역의 화소들 사이의 에지 방향을 계산하는 과정에서 제 2 영역 화소의 보간에 필요한 방향 정보를 알 수 있기 때문이다.
도 11은 본 발명에 따른 영상의 인트라 예측 복호화 장치가 적용되는 영상 복호화 장치를 나타낸 블록도이다.
도 11을 참조하면 영상 복호화 장치(1100)는 엔트로피 디코더(1110), 재정렬부(1120), 역양자화부(1130), 역변환부(1140), 움직임 보상부(1150), 인트라 예측부(1160) 및 필터(1170)를 구비한다. 여기서, 인트라 예측부(1160)는 본 발명에 따른 인트라 예측 복호화 장치에 대응된다.
상기 엔트로피 디코더(1110) 및 재정렬부(1120)는 압축된 비트스트림을 수신하여 엔트로피 복호화를 수행하여 양자화된 계수 X를 생성한다. 상기 역양자화부(1130) 및 역변환부(1140)는 상기 양자화된 계수 X에 대한 역양자화 및 역변환을 수행하여 변환 부호화 계수들, 움직임 벡터 정보, 헤더 정보 및 인트라 예측 모드 정보 등을 추출한다. 상기 움직임 보상부(1150) 및 인트라 예측부(1160)에서는 복호화된 헤더 정보를 사용하여 부호화된 픽처 타입에 따라서 예측 블록을 생성하며, 상기 예측 블록은 오차값을 나타내는 D'n에 더해져서 uF'n이 생성된다. 상기 uF'n는 필터(1170)를 거쳐 복원된 픽처 F'n이 생성된다.
특히, 본 발명에 따른 상기 인트라 예측부(1160)는 수신된 비트스트림에 포함된 인트라 예측 모드 정보를 이용하여 현재 복호화되는 블록의 부호화에 이용된 인트라 예측 모드를 결정하고, 본 발명에 따른 방향 보간을 이용하여 인트라 예측된 비트스트림의 경우에는 먼저 제 1 영역의 화소들을 인트라 예측 복호화하고, 다음 제 2 영역의 화소들은 상기 제 1 영역의 복호화된 화소를 방향 보간하여 복호화한다.
도 12는 상기 도 9의 본 발명에 따른 인트라 예측부(1160)의 구성을 나타낸 블록도이다.
도 12를 참조하면, 상기 인트라 예측부(1160)는 인트라 예측 모드 결정부(1161), 인트라 예측 수행부(1163) 및 보간부(1164)를 포함한다.
상기 인트라 예측 모드 결정부(1161)는 비트스트림으로부터 추출된 인트라 예측 모드 정보를 이용하여, 현재 인트라 예측 복호화되는 블록이 상기 본 발명에 따른 인트라 예측 모드를 포함한 다양한 인트라 예측 모드 중 어떠한 인트라 예측 모드를 통해 인트라 예측 부호화되었는지를 판단하고, 현재 블록의 인트라 예측 모드를 결정한다. 한편, 본 발명에 따라 영역을 분리하여 압축된 비트스트림만을 복호화하는 복호기에서는 상기 인트라 예측 모드 결정부(161)이 생략될 수 있다.
만약, 결정된 인트라 예측 모드가 종래 기술에 따른 인트라 예측 모드인 경우에는 상기 인트라 예측 수행부(1163)는 종래 기술에 따라서 비트스트림을 인트라 예측 복호화한다.
또한, 상기 인트라 예측 수행부(1163)는 본 발명에 따른 인트라 예측 부호화 방식을 통해 인트라 예측 부호화된 비트스트림인 경우에는 상기 비트스트림에 포함된 데이터로부터 먼저 제 1 영역을 인트라 예측 복호화한다. 상기 인트라 예측 수행부(1163)에서 복호화된 제 1 영역에 대한 데이터는 상기 보간부(1164)로 입력된다.
상기 보간부(1164)는 에지 방향 검출부(1164a) 및 방향 보간부(1164b)를 포함한다. 상기 에지 방향 검출부(1164a)는 제 2 영역의 보간될 화소를 중심으로 복수 개의 에지 방향을 설정하고, 각각의 에지 방향에 따라서 상기 제 2 영역의 보간될 화소 주변에 위치한 상기 제 1 영역의 화소들 사이의 절대값 차이의 평균을 계산하고 상기 절대값 차이의 평균을 비교하여 최소 절대값 차이의 평균을 갖는 에지 방향을 결정한다. 상기 방향 보간부(1164b)는 상기 제 2 영역의 화소를 중심으로 상기 에지 방향 검출부(1164a)에서 결정된 에지 방향에 위치한 상기 제 1 영역의 화소들의 평균을 이용하여 상기 제 2 영역의 화소를 보간한다. 상기 보간부(1164)의 기능 및 동작은 부호화 장치에 이용되는 상기 도 4의 보간부(333)와 유사하다. 상기 보간부(1164)는 상기 방식 이외의 다양한 방식으로도 에지 방향을 결정할 수있다.
상기 인트라 예측 수행부(1163)에서 복호화된 제 1 영역의 데이터와 상기 보간부(1164)에서 방향 보간된 제 2 영역의 데이터는 가산부(1165)에서 가산되어 인트라 예측된 블록을 형성한다. 상기 인트라 예측된 블록에 비트스트림에 포함된 잔차값을 합산하면 복원된 영상을 얻을 수 있다.
도 13은 본 발명에 따른 방향 보간을 이용한 영상의 인트라 예측 복호화 방 법의 일 실시예를 나타낸 플로우 차트이다. 전술한 바와 같이, 본 발명에 따른 인트라 예측 복호화 방법은 주변 블록의 화소를 이용하여 인트라 예측된 제 1 영역과 상기 제 1 영역 화소들로부터 방향 보간된 제 2 영역을 복호화하기 위하여, 먼저 제 1 영역을 인트라 예측 복호화하고, 다음 상기 제 1 영역의 복호화된 화소로부터 제 2 영역의 화소를 방향 보간하여 복호화된 예측 블록을 형성한다.
도 13을 참조하면, 단계 1310에서 수신된 비트스트림의 헤더에 포함된 인트라 예측 모드 정보를 추출하여 현재 블록의 인트라 예측 모드를 결정한다.
단계 1320에서, 상기 결정 결과 본 발명에 따라서 방향 보간을 이용하는 인트라 예측 모드로 결정된 경우에는 비트스트림에 포함된 데이터로부터 제 1 영역의 화소들에 대한 인트라 예측 복호화를 수행한다. 전술한 바와 같이, 주변 블록의 화소를 이용하여 먼저 인트라 예측되는 영역을 제 1 영역이라 하고, 상기 제 1 영역의 복원된 정보로부터 방향 보간되는 영역을 제 2 영역이라고 한다.
단계 1330에서, 제 2 영역의 보간될 화소를 중심으로 복수 개의 에지 방향을 설정하고, 각각의 에지 방향에 따라서 상기 제 2 영역의 보간될 화소 주변에 위치한 상기 인트라 예측 복호화된 제 1 영역 화소들 사이의 절대값 차이의 평균을 계산한다. 상기 절대값 차이의 평균은 전술한 수학식 1을 통해 계산될 수 있다.
단계 1340에서, 상기 계산된 절대값 차이의 평균이 최소가 되도록 하는 에지 방향을 결정한다. 전술한 바와 같이, 상기 에지 방향은 제 2 영역 화소를 보간하기 위해 이용되는 제 1 영역 화소가 위치한 방향을 가리킨다. 한편, 상기 단계 1330 및 1340에서는 전술한 방식 이외에 다양한 방식을 적용하여 에지 방향을 결정 할 수 있다.
단계 1350에서 상기 결정된 에지 방향에 위치한 제 1 영역 화소를 이용하여 제 2 영역의 화소를 보간한다. 전술한 인트라 예측 부호화 과정에서처럼, 에지 방향에 위치한 제 1 영역 화소들의 평균값을 이용하여 제 2 영역의 화소를 보간할 수 있다.
전술한 바와 같은 본 발명에 의하면, 높은 상관 관계(correlation)를 갖는 현재 블록 내의 화소들을 보간하여 인트라 예측을 수행함으로써 현재 블록과 좀 더 유사한 예측 블록을 형성할 수 있어서 코딩 효율을 증가시킬 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.