KR20040006349A - 영상부호화기의 모드 판정회로 및 메모리 억세스 횟수저감방법 - Google Patents
영상부호화기의 모드 판정회로 및 메모리 억세스 횟수저감방법 Download PDFInfo
- Publication number
- KR20040006349A KR20040006349A KR1020020040600A KR20020040600A KR20040006349A KR 20040006349 A KR20040006349 A KR 20040006349A KR 1020020040600 A KR1020020040600 A KR 1020020040600A KR 20020040600 A KR20020040600 A KR 20020040600A KR 20040006349 A KR20040006349 A KR 20040006349A
- Authority
- KR
- South Korea
- Prior art keywords
- circuit
- sub
- sampling
- mode determination
- mode
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
하드웨어를 공유하여 보다 효율적으로 회로를 구현할 수 있는 영상부호화기의 모드 판정회로 및 메모리 억세스 횟수 저감방법이 개시된다. 영상부호화기의 모드 판정회로는, 영상부호화기에서 인터 또는 인트라 모드 판정을 위해, 평균 필터를 사용한 서브 샘플링회로와 절대차 합 계산회로를 공유적으로 이용하여 모드 판정회로를 구현한 것을 특징으로 한다.
Description
본 발명은 멀티미디어 서비스 등을 위한 영상 압축에서 사용되는 영상 부호화기에 관한 것으로, 특히 영상부호화기의 모드 판정회로 및 메모리 억세스 횟수 저감방법에 관한 것이다.
통상적으로, 영상 압축시스템에서는 압축 효율을 높이기 위하여 움직임 추정 기법이 사용된다. 여기에서 메모리 대역폭(Bandwidth)뿐만 아니라 거리 기준(Distance Criterion)을 위한 계산량을 줄이기 위하여 여러 가지 방법이 알려져 있다. 그 중에서 계층적 블록 매칭(Block Matching)과 픽셀 데시메이션(Pixel Decimation)기법들이 있다. 움직임 추정기에서 사용되는 상기 블록 매칭 방법 중에는 풀 서치 블록 매칭 알고리즘(Full Search Block Matching Algorithm:FSBMA)이 있는데 이는 방대한 계산량을 요구한다.
따라서, 계산량을 줄이기 위하여 고속 블록 매칭 알고리즘을 사용하게 되는데, 이 중 고속 계층적 블록 매칭이나 픽셀 데시메이션 기법들은 원래의 영상을 서브-샘플링(Sub-sampling)을 행하여 적용하게 된다. 또한, 인트라(Intra)와 인터(Inter) 모드(Mode)를 결정하기 위하여 모드 판정(Mode Decision)을 행하게 되는데 종래에는 이와 같은 서브-샘플링과 모드 판정을 위해 각기 별도의 하드웨어를 구성하거나, 서브-샘플링을 위해서는 전용 하드웨어를 구현하고 모드 판정을 위해서는 소프트웨어(Software)적으로 처리를 해왔다. 한편, 움직임 추정기에서는 절대차 합 (이하"SAD":Sum of Absolute Difference)을 구하기 위하여 절대값 계산이 필요하므로 이를 위한 SAD 회로가 구성되어 있다.
따라서, 종래에는 서브-샘플링과 모드 판정을 위해 각기 별도의 하드웨어를 구현하였으므로 하드웨어의 구현비용이 증가되고, 공유 가능한 하드웨어의 효율적인 사용이 어렵게 되는 문제점이 있었다.
또한, 서브-샘플링과 모드 판정을 위해 각기 별도의 하드웨어를 독립적으로 구동하였으므로, 영상데이터를 저장하는 메모리에 대한 억세스 횟수가 많아 영상압축에 걸리는 시간이 길어지는 문제점이 있었다.
따라서, 본 발명의 목적은 영상부호화기의 모드 판정회로 및 메모리 억세스 횟수 저감방법을 제공함에 있다.
본 발명의 다른 목적은 서브-샘플링 회로와 절대차 합 계산용 회로를 공유하여 인트라 또는 인터 모드를 판정할 수 있는 모드 판정회로를 구성할 수 있는 방법을 제공함에 있다.
본 발명의 또 다른 목적은 타 회로의 하드웨어를 공유하여 간단한 구성를 가지는 인트라/인터 모드 판정회로를 제공함에 있다.
본 발명의 또 다른 목적은 영상데이터를 저장하는 메모리에 대한 억세스 횟수가 많아 영상압축에 걸리는 시간이 길어지는 문제를 해소할 수 있는 방법을 제공함에 있다.
본 발명의 또 다른 목적은 하드웨어를 효율적으로 사용하기 위해, 평균 필터를 이용한 서브-샘플링 회로와 절대차 합 계산용 회로를 이용하여 구성된 인트라/인터 모드 판정회로를 제공함에 있다.
상기한 목적들 가운데 일부의 목적들을 달성하기 위한 본 발명의 일양상(aspect)에 따른 영상부호화기의 모드 판정회로는, 영상부호화기에서 인터 또는 인트라 모드 판정을 위해, 평균 필터를 사용한 서브 샘플링회로와 절대차 합 계산회로를 공유적으로 이용하여 모드 판정회로를 구현한 것을 특징으로 한다.
상기한 회로에 따르면, 하드웨어를 공유하여 보다 효율적으로 회로를 구현할 수 있는 이점이 있으며, 영상 데이터 저장용 메모리의 중복 억세스 횟수가 줄어든다.
도 1은 통상적인 평균 필터를 사용하여 서브-샘플링을 하는 경우에 적용되는 16x16 매크로 블록 패턴을 보인 도면
도 2는 도 1의 매크로 블록 패턴을 필터링하는 평균 필터의 구성도
도 3은 도 2의 출력을 이용하여 매크로 블록의 평균값을 계산하기 위한 회로도
도 4는 본 발명의 일실시예에 따라 도 2와 도 3의 회로를 포함하여 모드 판정회로를 구성한 도면
도 5 내지 도 12는 본 발명의 또 다른 실시예들의 설명을 위해 제시된 도면들
이하에서는 본 발명의 실시예들에 따른 영상부호화기의 모드 판정회로 및 메모리 억세스 횟수 저감방법이 첨부된 도면들을 참조하여 설명된다.
H.263과 MPEG-4 등과 같은 동영상 압축 표준에서는 움직임 추정을 할 때 16x16 매크로블록(Macroblock)이나 8x8 블록(Block)을 기본 단위로 사용을 하고, 움직임 추정은 이전 픽쳐(Picture)에서 현재 픽쳐(Picture)와 가장 유사한 매크로블록 또는 블록을 찾는 방법을 사용한다. 픽셀 데시메이션(Pixel Decimation)에서는 이전 픽쳐와 현재 픽쳐에 데시메이션이 적용되며, 주로 사용되는 픽셀 데시메이션은 원래의 영상을 4:1 또는 2:1의 비율로 서브-샘플링을 한 후, 이 영상을 가지고 움직임 추정을 행하게 된다. 서브-샘플링 방법으로서는 일정한 위치의 픽셀을 대표 값으로 사용하는 경우도 있고, 평균 필터(Mean Filter)를 사용하는 경우 등 여러 가지가 있다.
이 중에서 평균 필터를 사용하여 4:1의 비율로 서브-샘플링을 하는 경우는도 1에서 도시된 바와 같이 16x16 매크로 블록 패턴을 사용하며, 이는 다음의 식과 같이 필터링이 이루어진다.
도 2는 위의 식을 구현하기 위해 구성된 평균 필터의 회로도이다. 도면을 참조하면, 평균필터는 3개의 가산기들(20,21,22)로 구성된다. 이는 2x2 블록에 대하여 행해지기 때문에 결국 64번 반복을 하면 O(k,l)를 전부 구할 수 있게 된다.
인트라/인터 모드 판정은 다음과 같은 순서에 의해서 이루어진다.
상기에서 얻어진 A를 이용하여 A < (SADinter - 2NB)이면, 인트라 모드로 선택이 되고, 그렇지 않으면 인터 모드로 결정이 되어 코딩이 되게 된다. 여기서 SADinter는 각 매크로블록의 SAD(Sum of Absolute Difference)계산값이고, NB는 각 매크로 블록에 대해 256의 값을 가진다.
도 2의 회로에서 출력되는 데이터를 수신하여 매크로블록의 평균 MB_mean을 구하기 위한 평균값 계산회로는 도 3과 같이 하나의 가산기(30)와 레지스터(31)로구성될 수 있다.
또한, 인트라/인터 모드 판정을 행하기 위해 필요한 드레쉬홀드 값인 A를 구하기 위해서는 도 2와 도 3의 합성회로에 절대값을 구하기 위한 절대값(abs)회로(50-53)와 8개의 멀티플렉서(Mux:40-43,54-57))를 추가하여 구현할 수 있는데, 이에 대한 세부 구성은 도 4에 나타나 있다. 도 4를 참조하면, 멀티플렉서들(40-43)에 공통으로 인가되는 선택 신호 SEL0는 서브-샘플링 및 MB_mean을 구할 경우와 드레쉬홀드값 A를 구할 경우를 구별하기 위해 주어지는 신호이고, 멀티플렉서들(54-57)에 독립적으로 인가되는 선택신호 SEL1, SEL2, SEL3, SEL4는 각 픽셀의 알파(Alpha)값에 따라 계산된 절대값 대신에 "0" 값을 주기 위해 인가되는 신호이다.
상기한 도 4의 설명은 픽셀 데시메이션 시에 4:1의 비로 서브-샘플링을 하는 경우에 대하여 모드 판정회로가 공통으로 사용하는 회로 구성을 나타내었고, 이러한 회로구성은 2:1의 비율로 서브-샘플링 하는 경우도 마찬가지로 적용이 될 수 있다. 그리고, 움직임 추정기에서는 SAD를 구하기 위하여 절대값 계산이 필수적이다. 따라서, 도 4에서는 절대값을 계산하는 abs 회로와 공유하여 사용할 수 있으므로, 모드 판정회로를 공유적으로 구성하기 위하여서는 15-bit 덧셈기(47), 16-bit Register(48), 8개의 멀티플렉서, 비교기, 그리고 이들을 제어하기 위한 소정의 회로가 추가되는 것이다. 따라서, 하드웨어를 효율적으로 사용할 수 있게 된다.
또한, 도 5와 같은 고속 계층적 블록매칭 방법에서도 마찬가지로 회로를 공유할 수 있다. 저해상도의 경우 도 6에서 보이는 바와 같이 원래 영상을 4:1로 서브-샘플링하기 때문에 참조부호 62와 63으로 이루어진 원래의 영상을 4x4 블록 단위로 행해지게 된다. 이 경우는 모드 판정에서 드레쉬홀드 값인 A를 구하기 위해 추가적인 사이클이 필요없고 도 7에서 보이는 바와 같이 중간 해상도를 위해 2:1로 서브-샘플링을 할 때 동시에 구할 수 있다. 2:1 서브-샘플링은 2x2 Block 단위로 행해지기 때문에 저해상도에서 사용되었던 회로를 반으로 나누어 2:1 서브-샘플링과 드레쉬홀드 A를 구하는데 사용할 수 있다. 이 때는 전체적인 회로가 4x4 Block 단위로 구성되어 있으므로 이를 두 개의 2x2 Block 단위로 나누어 각각 수행이 된다.
이 외에도 계층적 블록 매칭 방법 중에 16x16 매크로블록의 배리언스(Variance)를 구하여 공간적인 복잡도를 측정하고 이를 이용하는 경우도 있는데 여기서 각 매크로블록의 공간 복잡도를 나타내는 배리언스는 다음과 같이 나타낼 수 있다.
상기 식은 모드 판정을 위한 드레쉬홀드 A를 구하는 것과 거의 유사하다. 만약 공간 복잡도의 결과를 중간 해상도에 적용한다면 이를 구현하기 위해서는 중간 해상도의 2:1 서브-샘플링을 할 때 마찬가지로 구할 수 있는데, 이 경우는 2x2 Block에 대해 2:1 서브-샘플링, A 계산과 배리언스를 동시에 구하게 되고, 추가적으로 배리언스를 위한 덧셈기와 레지스터가 사용된다. 또 다른 경우로는 배리언스를 미리 구해서 적용할 때에는 MB_mean을 구한 후 추가적인 사이클이 소요가 되지만 배리언스를 구하기 위해 추가되었던 덧셈기와 레지스터를 드레쉬홀드 A를 구하는 회로와 하드웨어적으로 공유할 수 있다.
이 경우에 대한 회로를 도 8 내지 도 12에 걸쳐 나타내었다. 도 8은 2x2 Block의 서브-샘플링을 하는 회로이고, 도 9는 도 8의 회로 두 개를 모아서 4x2 Block의 서브-샘플링 회로를 구성한 경우를 나타내었다. 도 9에서는 이를 위해 가산기(93)가 두 개의 블록(90,91)의 출력에 연결된다. 이 때 4x4 Block의 절대값을 계산하기 위한 abs 회로는 도 10과 도 11에서 보여지는 바와 같이 전부 16개(100-107,120-127)가 필요하게 되는데 VARMB를 구할 때에는 알파 값을 고려하지 않기 때문에 abs 계산을 위해 8개씩 두 개의 블록으로 나누었다.
계층적 블록 매칭 방법에서의 서브-샘플링과 모드 판정을 위한 드레쉬홀드 값 A를 구하기 위한 최종적인 회로를 도 12에 나타내었다.
도면을 참조하여, 순서대로 살펴보면 우선 저해상도에서 4:1 서브-샘플링과 MB_mean을 구하기 위한 과정이 회로블록들(130,131,132,133,134,135)의 동작에 의해 제일 먼저 수행이 된다. 이 때 II0_0와 II0_1에 현재 픽쳐의 두 개의 4x2 Block 데이터가 입력이 되어 16x16 매크로블록에 대해 이 과정을 16번 반복하여 전체 4:1 서브-샘플링 값과 MB_mean을 계산하게 되고 다음으로 같은 두 개의 4x2 Block을 사용하여 반복적으로 수행함으로서 VARMB를 구하게 된다. 이후에는 중간 해상도에 대하여 두 개의 4x2 Block Sub-sampling 회로를 하나는 2:1 Sub-sampling 값을 구하기 위하여 사용이 되고, 다른 하나는 Threshold A를 구하기 위하여 사용이 된다. SEL14와 SEL15는 입력 영상과 절대값 계산 결과를 선택하기 위한 신호이고 SEL16은 Threshold A를 위해 4x2 Block Sub-sampling 회로의 결과를 선택하기 위한 신호이다. 또한 SEL6 ~ SEL13은 Alpha 값에 따라 "0" 값을 선택하기 위한 신호들이다. 이상은 계층적 Block Matching 방법에서 4:1과 2:1 Sub-sampling, MB_mean 계산, Variance와 Threshold A를 계산하기 위한 하나의 예를 들었다. 이 경우도 마찬가지로 절대값 계산을 위한 abs 회로를 SAD 계산 회로에서의 abs 회로와 공유할 수 있다. 이를 위한 추가적인 제어 신호들이 필요하게 된다. 이와 같이, 타의 회로를 공유하여 서브 샘플링과 모드 디시즌을 위한 MB_mean 또는 드레쉬홀드 A를 동시에 구할 수 있다.
이상과 같이 모드 판정회로를 구성하기 위하여 서브-샘플링 회로와 SAD 계산용 회로를 공유하고 또한 계층적 블록 매칭 방법에서는 배리언스를 구하는 회로와도 공유할 수 있음을 알 수 있다. 따라서, 하드웨어 사용의 효율을 높일 수 있게 되고, 동시에 이러한 회로들이 동시에 수행이 되므로 메모리의 억세스 횟수 또한 감소시킬 수 있게 된다.
그리고, 픽셀 데이메이션 방법에서는 서브-샘플링과 모드 판정을 위한 MB_mean을 동시에 구할 수 있고, 계층적 블록 매칭 방법에서는 4:1 서브-샘플링과, MB_mean, 2:1 서브 -샘플링과 드레쉬홀드 A를 동시에 구할 수 있으므로 움직임 추정이 끝나기 전에 인트라/인터 모드 판정을 신속히 할 수 있다. 이렇게 함으로서 하나의 매크로블록에 대한 움직임 추정이 완료되면 바로 움직임 보상을 할 수 있게된다.
상기한 설명에서는 본 발명의 실시 예를 위주로 도면을 따라 예를 들어 설명하였지만, 본 발명의 기술적 사상의 범위 내에서 본 발명을 다양하게 변형 또는 변경할 수 있음은 본 발명이 속하는 분야의 당업자에게는 명백한 것이다. 예를 들어, 사안이 다른 경우에 모드판정 회로의 세부 구조를 다양한 형태로 변경할 수 있음은 물론이다.
상기한 바와 같이 본 발명에 따른 영상부호화기의 모드 판정회로 및 메모리 억세스 횟수 저감방법에 의하면, 서브-샘플링 회로와 절대차 합 계산용 회로를 공유하여 인트라 또는 인터 모드를 판정할 수 있으므로 하드웨어 구성을 효율적으로 할 수 있는 효과가 있다. 또한, 영상데이터를 저장하는 메모리에 대한 억세스 횟수를 줄여 영상압축을 위한 움직임 추정에 걸리는 시간을 단축할 수 있는 장점이 있다.
Claims (5)
- 영상부호화기에서 인터 또는 인트라 모드 판정을 위해, 평균 필터를 사용한 서브 샘플링회로와 절대차 합 계산회로를 공유적으로 이용하여 모드 판정회로를 구현한 것을 특징으로 하는 영상부호화기의 모드 판정회로.
- 제1항에 있어서, 상기 모드 판정 시 블록 평균값과 드레쉬홀드 값을 구하기 위해 상기 서브 샘플링 회로를 공유하여 판정하는 것을 특징으로 하는 영상부호화기의 모드 판정회로.
- 제1항에 있어서, 상기 모드 판정을 위한 드레쉬홀드 값을 계산하기 위해 상기 절대차 합 계산회로내의 절대값 계산용 절대치 회로를 공유하는 것을 특징으로 하는 영상부호화기의 모드 판정회로.
- 제1항에 있어서, 각 매크로블록의 배리언스를 계산하기 위하여 상기 서브-샘플링회로와 절대차 합 계산회로를 공유적으로 사용하는 것을 특징으로 하는 영상부호화기의 모드 판정회로.
- 영상부호화기에서 인터 또는 인트라 모드 판정을 위해, 평균 필터를 사용한 서브 샘플링회로와 절대차 합 계산회로를 공유적으로 이용하여 모드 판정을 수행함에 의해 영상 저장용 메모리의 중복 억세스 횟수를 줄임을 특징으로 하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020040600A KR20040006349A (ko) | 2002-07-12 | 2002-07-12 | 영상부호화기의 모드 판정회로 및 메모리 억세스 횟수저감방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020040600A KR20040006349A (ko) | 2002-07-12 | 2002-07-12 | 영상부호화기의 모드 판정회로 및 메모리 억세스 횟수저감방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20040006349A true KR20040006349A (ko) | 2004-01-24 |
Family
ID=37316253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020040600A KR20040006349A (ko) | 2002-07-12 | 2002-07-12 | 영상부호화기의 모드 판정회로 및 메모리 억세스 횟수저감방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20040006349A (ko) |
-
2002
- 2002-07-12 KR KR1020020040600A patent/KR20040006349A/ko not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11856220B2 (en) | Reducing computational complexity when video encoding uses bi-predictively encoded frames | |
KR101722234B1 (ko) | 다중 참조를 허용하는 비디오 코덱에서 모션 벡터를 예측하는 방법, 및 그 방법을 이용한 모션 벡터 부호화/복호화 장치 | |
Zhang et al. | Low-rank-based nonlocal adaptive loop filter for high-efficiency video compression | |
US8665960B2 (en) | Real-time video coding/decoding | |
KR20020077884A (ko) | 블록 매칭 프로세스를 사용하는 비디오 코딩 방법 | |
US20150172687A1 (en) | Multiple-candidate motion estimation with advanced spatial filtering of differential motion vectors | |
US20100166073A1 (en) | Multiple-Candidate Motion Estimation With Advanced Spatial Filtering of Differential Motion Vectors | |
CN105191309A (zh) | 用于下一代视频编码的内容自适应预测距离分析器和分层运动估计系统 | |
WO2011064673A1 (en) | Method of and apparatus for encoding video frames, method of and apparatus for decoding video frames | |
KR101360279B1 (ko) | 매크로블록 단위의 변이 예측을 이용한 움직임 정보 공유방법 및 장치 및 그리고 이를 이용한 다시점 비디오 영상부호화/복호화 방법 및 장치 | |
Fanucci et al. | A parametric VLSI architecture for video motion estimation | |
Wang et al. | Overview of the second generation avs video coding standard (avs2) | |
KR20040006349A (ko) | 영상부호화기의 모드 판정회로 및 메모리 억세스 횟수저감방법 | |
Sudhakar et al. | ASABSA: adaptive shape assisted block search algorithm and fuzzy holoentropy-enabled cost function for motion vector computation | |
KR20050053135A (ko) | 절대차 연산 장치와 이를 이용한 움직임 추정 장치 및동영상 부호화 장치 | |
Chai et al. | Fpga-based ROI encoding for HEVC video bitrate reduction | |
JPH0244883A (ja) | 動画像伝送方式 | |
Muralidhar et al. | High Performance Architecture of Motion Estimation Algorithm for Video Compression | |
Cicconi et al. | New trends in image data compression | |
JPH09214980A (ja) | 動画像の動き補償時マクロブロックの半画素処理装置 | |
Rahimunnisha et al. | Efficient Implementation of Multi-View Video Compression for High Performance Application. | |
da Costa Marques | Implementation and Evaluation of a Video Decoder on the Coreworks Platform | |
CN111510727A (zh) | 一种运动估计方法及装置 | |
JPH09261661A (ja) | 2つの基準ピクチャから双方向コード化ピクチャを形成するための方法 | |
PINNINTI et al. | Motion estimation in MPEG-4 video sequence using block matching algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |