KR100605105B1 - 영상 보간 장치 - Google Patents
영상 보간 장치 Download PDFInfo
- Publication number
- KR100605105B1 KR100605105B1 KR1020040038328A KR20040038328A KR100605105B1 KR 100605105 B1 KR100605105 B1 KR 100605105B1 KR 1020040038328 A KR1020040038328 A KR 1020040038328A KR 20040038328 A KR20040038328 A KR 20040038328A KR 100605105 B1 KR100605105 B1 KR 100605105B1
- Authority
- KR
- South Korea
- Prior art keywords
- interpolation
- data
- unit
- row
- input
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000033001 locomotion Effects 0.000 claims abstract description 21
- 239000013598 vector Substances 0.000 claims abstract description 13
- 238000013500 data storage Methods 0.000 claims description 17
- 230000002093 peripheral effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 10
- 230000006835 compression Effects 0.000 description 9
- 238000007906 compression Methods 0.000 description 9
- 101100191136 Arabidopsis thaliana PCMP-A2 gene Proteins 0.000 description 3
- 101100422768 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SUL2 gene Proteins 0.000 description 3
- 101100048260 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) UBX2 gene Proteins 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Images
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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- 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
-
- 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/436—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 using parallelised computational arrangements
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Image Processing (AREA)
- Television Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
여기에 개시된 영상 보간 장치는 계산량이 많은 1/4 보간(Quarter Pel Interpolation)을 한꺼번에 수행하지 않고 1/2 보간(Half Pel Interpolation) 과정과 1/4 보간 과정을 구분하여 단계적으로 수행한다. 1/4 보간 과정은 모션 벡터를 참조하여 선택적으로 수행하며, 1/2 보간 연산은 레지스터에 저장되어 있는 데이터를 단순히 로우(Row) 단위로 아래 방향으로 쉬프팅함으로써 수행한다. 그 결과, 간단한 회로 구성을 가지고도 영상 보간을 빠르게 수행할 수 있게 된다.
Description
도 1은 본 발명의 바람직한 실시예에 따른 MPEG 디코더의 블록도;
도 2는 본 발명의 바람직한 실시예에 따른 MPEG 인코더의 블록도;
도 3 내지 도 5는 본 발명에 따른 보간 과정을 설명하기 위한 도면;
도 6은 도 1 및 도 2에 도시된, 본 발명의 바람직한 실시예에 따른 보간 회로의 전체 구성을 보여주는 블록도;
도 7은 도 6에 도시된 보간 회로에서 수행되는 보간 과정을 단계별로 보여주는 도면;
도 8은 도 6에 도시된 1/2 보간부의 상세 구성을 보여주는 도면;
도 9 및 도 10은 제 1 연산부에서 수행되는 1/2 보간 동작을 설명하기 위한 도면;
도 11은 제 2 연산부에서 수행되는 1/2 보간 동작을 설명하기 위한 도면; 그리고
도 12는 제 3 연산부에서 수행되는 1/4 보간 동작을 설명하기 위한 도면이다.
*도면의 주요 부분에 대한 부호의 설명*
500 : 보간 회로 520 : 데이터 저장부
540 : 1/2 보간부 560 : 데이터 선택부
580 : 1/4 보간부
본 발명은 영상의 압축 및 복원에 관한 것으로, 좀 더 구체적으로는 MPEG 영상의 압축 및 복원을 위한 영상 보간(interpolation) 장치에 관한 것이다.
디지털 신호처리, 저장매체, 및 전송방식에 관한 기술이 발전함에 따라 음성 정보에 국한되었던 서비스가 멀티미디어 서비스로 진화되었다. 그 결과, 방대한 데이터를 저장, 전송하기 위한 여러 가지 압축기술이 연구되어 왔으며, 특히 1980년대 후반에 디지털 동영상 정보의 부호화 및 저장기술 표준규격을 제정해야 한다는 요구가 제기되면서 기술발전이 가속화되기 시작하였다. 이에 따라 국제전기통신연합(International Telecommunication Union ; ITU)은 유무선 통신망 환경에서 동영상 서비스를 위한 표준 규격인 H.261과 H.263을 제정했고, 세계표준화기구(ISO)도 동영상 표준 규격인 MPEG-1, MPEG-2, MPEG-4를 마련하는 등 세계적인 표준화 논의가 활발히 진행되었다. 특히, 무선통신이 급격히 확산되면서 종전 압축방법에 비해 더욱 향상된 압축효율을 제공하고, 다양한 통신환경을 수용할 수 있는 동영상 압축기술 규격의 필요성이 대두되었다.
최근 들어 ITU-T와 ISO가 공동 제정한 차세대 동영상 압축 표준 H.264는, 다양한 네트워크 환경에 쉽게 부응할 수 있는 유연성과 동영상의 부호화 효율성 측면 에서 MPEG-2, MPEG-4(Part 2) 등 기존 기술표준들에 비해 많은 진보를 가져왔다. 하지만, H.264는 기존의 압축 방식에 비해 부호기 및 복호기의 복잡도가 현저하게 증가한다는 단점을 가지고 있다. 왜냐하면, 부호기에서는 기존 표준보다 더욱 많아진 파라미터 및 부호화 모드를 결정해야 하고, 복호기에서는 디블로킹필터나 1/4 화소 단위의 움직임 보상(Motion Compensation) 등으로 인해 계산량이 매우 증가하게 되었기 때문이다.
일반적으로, H.264에서는 좀 더 정확한 움직임 보상을 수행하기 위해, 1/4 보간(Quarter Pel Interpolation)을 수행하여 영상을 4배로 확장한 후, 움직임을 예측을 수행한다. 이를 위해서는 Quarter precision이 사용되어야 하기 때문에 처리해야하는 연산이 증가하게 된다. 또한 H.264는 고정된 매크로블록(Macroblock)을 처리하는 것이 아니라 다양한 종류의 서브-매크로블록(Sub-Macroblock)을 처리한다. 이 같은 가변적인 블록 크기(Variable Block Size) 특성은 1/4 보간 수행시 고려되어야만 한다. 따라서 H.264가 상용화하기 위해서는, H.264 비디오 부호기 및 복호기의 계산 특성을 분석함으로써, 보다 적은 크기를 가지고 효율적인 연산을 수행할 수 있는 방안이 모색되어야 한다.
따라서, 본 발명의 목적은 상술한 제반 문제점을 해결하기 위해 제안된 것으로, H.264/JVT/MPEG4 Part10 등과 같은 동영상 압축 표준을 위한 고속 1/4 보간 장치를 제공하는데 있다.
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 영상 보간 장치는, 보간될 매크로 블록 데이터 및 보간에 필요한 주변 매크로블록 데이터를 저장하는 데이터 저장부와; 상기 데이터 저장부의 1개 로우에 해당되는 데이터를 받아들여 1/2 보간을 수행하는 1/2 보간부와; 데이터 선택 신호에 응답해서 상기 1/2 보간부로부터 출력된 복수 개의 1/2 보간 결과들 중 일부를 선택하는 데이터 선택부; 그리고 디코딩된 영상의 움직임 벡터에 응답해서 상기 데이터 선택 신호를 발생하고, 상기 데이터 선택부에 의해 선택된 상기 1/2 보간 결과에 응답해서 1/4 보간을 수행하는 1/4 보간부를 포함하며, 상기 1/4 보간은 상기 움직임 벡터에 따라 선택적으로 수행하는 것을 특징으로 한다.
바람직한 실시예에 있어서, 상기 1/2 보간부는, 매 클럭 마다 상기 로우 데이터를 받아들이고, 이전에 입력되었던 로우 데이터를 순차적으로 쉬프트시켜, 복수 개의 로우 데이터를 저장하는 입력 버퍼와; 상기 입력 버퍼로부터 하나의 로우 데이터를 받아들이고, 상기 로우 데이터에 포함된 복수 개의 화소값들에 대한 제1 방향의 1/2 보간을 병렬로 수행하는 제1 연산부와; 상기 제1 연산부에서 1/2 보간을 수행하는 동안, 상기 입력 버퍼로부터 하나의 로우 데이터를 받아들여, 상기 로우 데이터에 포함된 복수 개의 화소값들에 대한 제2 방향의 1/2 보간을 병렬로 수행하는 제2 연산부와; 상기 제2 연산부의 상기 1/2 보간 결과를 받아들여 상기 제1 방향의 1/2 보간을 병렬로 수행하는 제3 연산부; 그리고 상기 입력 버퍼로부터 출력된 상기 로우 데이터와, 상기 제1 내지 제 3 연산부에서 수행된 1/2 보간 결과들을 저장하는 출력버퍼를 포함한다.
바람직한 실시예에 있어서, 상기 제 1 및 제 3 연산부는, 상기 로우 데이터에 포함된 복수 개의 화소값들을 하나씩 어긋나게 배열하여, 동일 로우에 존재하는 복수 개의 화소에 대한 1/2 보간을 병렬로 수행한다.
바람직한 실시예에 있어서, 상기 입력 버퍼는, 상기 데이터 저장부가 (M+5) X (N+5) 크기를 갖는 경우, 상기 데이터 저장부로부터 입력된 (M+5)개의 화소로 구성된 로우 데이터를 화소별로 저장하는 (M+5)개의 라인 레지스터들을 포함하며, 각각의 라인 레지스터에는 서로 다른 로우에 속하는 복수 개의 데이터들이 저장된다.
바람직한 실시예에 있어서, 상기 제 2 연산부는, 상기 입력 버퍼에 포함된 상기 (M+5)개의 라인 레지스터 각각에 저장되어 있는 데이터에 대한 1/2 보간을 병렬로 수행한다.
(실시예)
이하 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
본 발명의 신규한 영상 보간 장치는 계산량이 많은 1/4 보간(Quarter Pel Interpolation)을 한꺼번에 수행하지 않고 1/2 보간(Half Pel Interpolation) 과정과 1/4 보간 과정을 구분하여 단계적으로 수행한다. 1/4 보간 과정은 모션 벡터를 참조하여 선택적으로 수행하며, 1/2 보간 연산은 레지스터에 저장되어 있는 데이터를 단순히 로우(Row) 단위로 아래 방향으로 쉬프팅함에 의해 수행된다.
도 1은 본 발명의 바람직한 실시예에 따른 MPEG 디코더(200)의 블록도이고, 도 2는 본 발명의 바람직한 실시예에 따른 MPEG 인코더(300)의 블록도이다. 도 1 및 도 2에 도시된 디코더(200) 및 인코더(300) 회로는 모두 H.264 표준을 따르는 회로로서, 동일한 구성요소에 대해서는 각각 동일한 참조번호가 부가되었다. 특히, 참조번호 100으로 표시된 영역은 H.264 표준에 따라 디코더(200) 및 인코더(300) 모두에 공통으로 포함된다. 따라서, 본 발명에서는 중복되는 설명을 피하고, 설명을 간단히 하기 위해, MPEG 디코더(200)에 대한 회로 구성을 예를 들어 설명한다.
도 1을 참조하면, MPEG 디코더(200)는 압축된 비트스트림인 NAL(Network Abstraction Layer)을 받아들여 엔트로피 디코딩을 수행하는 엔트로피 디코딩부(entropy decoding unit ; 10)와, 상기 데이터를 그룹으로 재배열하는 리오더링부(reordering nit ; 20)와, 리오더링부(20)로부터 출력된 데이터를 역-양자화하는 역-양자화부(inverse quantization unit ; 30)와, 역-양자화된 데이터에 대해 역-이산 코사인 변환을 수행하는 역-이산 코사인 변환부(inverse discrete cosine transform(IDCT) unit ; 40)와, 화면내 예측 또는 화면간 예측을 수행하고 보상하는 화면내/화면간 데이터 예측부(intra/inter data prediction unit ; 50), 그리고 역-양자화 과정에서 발생된 오류를 제거하는 인-루프 디블로킹 필터(in-loop deblocking filter ; 90)를 포함한다. 화면내/화면간 데이터 예측부(50)는 화면내 예측을 수행하는 화면내 예측부(60)와, 화면간 예측을 수행하는 움직임 보상부(70)를 포함한다. 그리고, 움직임 보상부(70)는 보다 정밀한 움직임 보상을 수행하기 위해 영상을 보간해 주는 보간 회로(500)를 포함한다.
여기서, 도 1 및 도 2에 도시된 디코더(200) 및 인코더(300) 회로는 각각 H.264 표준을 따르기 때문에, 상기 보간 회로(500)는 1/4 보간을 수행하게 된다. 아래에서 상세히 설명되겠지만, 상기 보간 회로(500)는 1/4 보간을 한 번에 수행하 지 않고, 1/2 보간 과정과, 1/2 보간 결과를 평균 내는 1/4 보간 과정을 구분하여 단계적으로 수행한다. 특히 상기 보간 회로(500)에서 수행되는 1/4 보간 과정은 엔트로피 디코딩부(10)로부터 제공되는 모션 벡터(X_Frac, Y_Frac)에 응답해서 선택적으로 수행된다. 그리고, 상기 보간 회로(500)에서 수행되는 보간 과정은 레지스터에 저장된 데이터를 단순히 로우(Row) 단위로 아래 방향으로 쉬프팅함에 의해서 구해지게 되므로, 계산이 빠르게 수행된다. 또한, 다양한 크기를 갖는 모든 서브-매크로블록에 적용할 수 있는 최소한의 레지스터가 구비되므로, 보간 회로(500)의 전체 구조가 간단해 진다. 보간 회로(500)의 상세 구성을 살펴보기에 앞서, 디코딩된 영상에 대한 보간 동작 및 보간 결과를 살펴보면 다음과 같다.
도 3 내지 도 5는 본 발명에 따른 보간 과정을 설명하기 위한 도면으로, 도 4에는 도 3에 도시된 하나의 보간 블록(즉, 하나의 기준 구획(Reference Partition))이 도시되어 있다.
도 3 및 도 4를 참조하면, 네모로 표시된 부분은 디코딩된 화소 자체를 의미하는 정수 화소(Integer Pel)를 나타내고, 동그라미로 표시된 부분은 1/2 보간 결과(Half Pel)를 나타내며, 세모로 표시된 부분은 1/4 보간 결과(Quarter Pel)를 각각 나타낸다.
도면에 도시된 바와 같이, 1 개의 1/2 보간 결과를 얻기 위해서는 로우 또는 칼럼 방향으로 6개의 정수 화소들을 사용하여야 하며, 1 개의 1/4 보간 결과를 얻기 위해서는 2 개의 1/2 보간 결과가 사용되어야 한다. 따라서, 영상의 테두리 부분에 해당되는 화소에 대해 정확한 보간 결과를 얻기 위해서는 도 5와 같이 하나의 기준 구획(Reference Partition)에 대해 로우 및 칼럼 방향으로 각각 5개씩의 데이터가 더 구비되어야 한다(빗금친 부분 참조). 따라서, 4X4 사이즈의 매크로블록에 대해서는 9X9 사이즈의 데이터(즉, 9=4+5)가 있어야만 하고, 16X16 사이즈의 매크로블록에 대해서는 21X21 사이즈의 데이터(즉, 21=16+5)가 있어야만 한다.
이와 같은 이유로 인해 본 발명에서는 데이터 저장부(520)의 크기를 21X21 사이즈로 설정한다. 이 같은 데이터 저장부(520)의 구성은, H.264가 16X16, 16X8, 8X8, 8X16, 8X8, 8X4, 4X8, 및 4X4의 블록 단위의 움직임 보상을 수행하는 점을 감안할 때, 모든 경우에 사용될 수 있는 최적의 크기임을 의미한다. 그리고, 도 5에서 상기 기준 구획의 좌표는 좌측 상단의 화소의 좌표 값(예를 들면, xIntL, yIntL)에 의해 표시된다.
다시 도 4를 참조하여 하나의 보간 블록의 구성을 살펴보면, 알파벳 대문자 'G, H, M, N'은 정수 화소, 즉 디코딩 결과 얻어진 화소를 의미한다. 그리고, 동그라미로 표시된 'b, h, j'는 1/2 보간에 의해 얻어진 화소(이하 1/2 화소라 칭함)들을 나타내고, 나머지 세모로 표시된 화소들은 1/4 보간에 의해 얻어진 화소(이하 1/4 화소라 칭함)들을 각각 나타낸다.
도 4에 표시된 하나의 보간 블록을 구성하는 각 화소들에 대한 보간 단계별 구분 결과는 아래와 같다.
「표 1」에 표시된 화소들에 대한 보간은 총 3단계의 연산으로 구분할 수 있다. 'j'를 제외한 1/2 화소들은 주어진 정수 화소들의 값만 가지고 연산이 되기 때문에 처음으로 구할 수 있는 1단계에 속한다. 그리고, 1단계 연산의 결과를 이용하여 구해지는 2단계의 연산이 있고, 2단계의 연산 결과를 이용하여 구해지는 3단계의 연산이 있다.
「표 1」에서 구해지는 보간 결과는 크게 1/2 화소(즉, b, h, j)와 1/4 화소(a, c, d, …)로 분리할 수 있으며, 본 발명에 의한 보간 회로(500)는 1/2 화소와 1/4 화소를 구하는 기능을 각각 분리하여 설계한다.
도 6은 도 1 및 도 2에 도시된, 본 발명의 바람직한 실시예에 따른 보간 회로(500)의 전체 구성을 보여주는 블록도이고, 도 7은 도 6에 도시된 보간 회로(500)에서 수행되는 보간 과정을 단계별로 보여주는 도면이다.
도 6 및 도 7을 참조하면, 본 발명에 따른 보간 회로(500)는 데이터 저장부(520), 1/2 보간부(540), 데이터 선택부(560), 및 1/4 보간부(580)를 포함한다. 데이터 저장부(520)는 1개 매크로블록에 대한 1/2 및 1/4 보간을 수행하는데 필요한 모든 데이터를 저장할 수 있도록, 매크로블록의 크기(즉, 16X16) 보다 로우(row) 및 칼럼(column) 방향으로 각각 5씩 더 큰 21X21의 크기를 갖는 버퍼로 구성된다.
1/2 보간부(540)는 데이터 저장부(520)로부터 1클럭 당 1개의 로우(row) 데이터(즉, 21개의 정수 화소값)를 받아들여(도 7의 5200 참조) 1/2 보간을 수행하고, 총 6 라인의 로우 데이터(G, b, h, j, b', G')를 출력한다(도 7의 5400 참조). 여기서, 하나의 로우 데이터는 16 또는 21 화소의 크기로 할당된 라인 레지스터(line register)에 저장된다.
도 4에서, 하나의 보간 블록의 구성을 살펴보면, 하나의 정수 화소에 대해 'b, h, j'와 같은 1/2 보간 화소들이 각각 발생됨을 알 수 있다. 그러므로, 도 6 및 도 7에서 'G, b, h, j, b', G''로 표시된 1/2 보간부(540)의 출력은, 입력이 21 개의 정수 화소를 포함하므로, 각각의 출력 데이터(G, b, h, j, b', G')는 16 또는 21 화소로 구성된다.
데이터 선택부(560)는 1/4 보간부(580)로부터 출력되는 선택신호(SEL1, SEL2)에 응답해서 1/2 보간부(540)로부터 제공되는 6라인의 로우 데이터(G, b, h, j, b', G') 중 2라인의 로우 데이터를 선택하여 출력한다(도 7의 5600 참조).
1/2 보간부(540)에서 출력되는 데이터(G, b, h, j, b', G')는 총 6개의 라인 레지스터에 저장된다. 여기서, 'G'로 표시된 21 화소의 로우 데이터는 데이터 저장 부(520)로부터 1클럭 당 1개씩 받아들인 로우 데이터(즉, 디코딩된 21개의 정수 화소)를 의미하고, 'G''로 표시된 21 화소의 로우 데이터는 상기 'G' 데이터가 1 클럭이 경과된 후에 쉬프트된 것을 의미한다. 'b'로 표시된 16 화소의 로우 데이터는 도 4에 도시된 'b' 화소 위치에 대응되는 1/2 보간 결과를 의미하고, 'b''로 표시된 16 화소의 로우 데이터는 상기 'b' 데이터가 1 클럭이 경과된 후에 쉬프트된 것을 의미한다. 그리고, 'h'로 표시된 21 화소의 로우 데이터는 도 4에 도시된 'h' 화소 위치에 대응되는 1/2 보간 결과를 의미하고, 'j'로 표시된 16 화소의 로우 데이터는 도 4에 도시된 'j' 화소 위치에 대응되는 1/2 보간 결과를 각각 의미한다.
1/4 보간부(580)는 엔트로피 디코딩부(10)로부터 제공되는 모션 벡터(X_Frac, Y_Frac)에 응답해서 6라인의 로우 데이터 중 2라인의 로우 데이터를 선택하는 선택신호(SEL1, SEL2)를 데이터 선택부(560)로 발생한다. 그리고, 1/4 보간부(580)는 데이터 선택부(560)를 통해 받아들인 데이터를 평균 내는 1/4 보간을 수행한다(도 7의 5800 참조). 이 때, 1/4 보간부(580)는 데이터 선택부(560)로부터 입력된 각 데이터에 대한 1/4 보간을 화소별로 병렬로 처리하고, 총 16 화소로 구성된 1/4 보간 결과를 출력한다. 이와 같은 1/4 보간 동작은, 모션 벡터(X_Frac, Y_Frac)가 1/2 보간 결과 자체를 나타내는 경우에는 수행되지 않고, 1/2 보간 결과를 그대로 출력한다.
도 8은 도 6에 도시된 1/2 보간부(540)의 상세 구성을 보여주는 도면이다.
도 8을 참조하면, 본 발명에 따른 1/2 보간부(540)는 데이터 저장부(520)로부터 1클럭마다 1라인의 로우 데이터(즉, 21개의 정수 화소)를 받아들여 저장하는 입력 버퍼(541)와, 입력 버퍼(541)에 6라인의 로우 데이터가 모두 입력되면 입력 버퍼(541)로부터 1라인의 로우 데이터를 받아들여 16개의 'b' 화소를 보간하는 제1 연산부(543)와, 제1 연산부(543)에서 'b' 화소를 보간하는 동안 21개의 'h' 화소를 보간하는 제 2 연산부(545)와, 제 2 연산부(545)에서 수행된 보간 결과를 근거로 하여 16개의 'j' 화소를 보간하는 제 3 연산부(547), 그리고 1/2 보간부(540)의 출력 데이터(G, b, h, j, b', G')를 6 개의 라인 레지스터에 각각 저장하는 출력 버퍼(549)를 포함한다.
입력 버퍼(541)는 21 개의 라인 레지스터로 구성된다. 입력 버퍼(541)에 포함된 각각의 라인 레지스터는 1클럭이 경과할 때마다 데이터 저장부(520)로부터 1개의 로우 데이터(즉, 21개의 정수 화소값)를 각각 받아들이고, 기존에 저장되어 있는 데이터를 아래 방향의 로우로(화살표 참조) 1 라인씩 쉬프트(shift) 한다. 그리고, 입력 버퍼(541)를 구성하는 모든 라인 레지스터에 데이터가 모두 입력되고 나면, 1/2 보간부(540)는 지연시간(Latency) 없이 1 클럭마다 데이터의 입력과 1/2 보간을 동시에 수행한다.
구체적으로, 입력 버퍼(541)에 6 개의 로우 데이터가 모두 입력되고 나면(이하 제1 클럭 타이밍이라 칭함), 입력 버퍼(541)의 3번째 라인에 저장되어 있는 21개의 화소값들(C1, C2, …, C21)('G'에 해당됨)은 출력 버퍼(549)의 제 1 라인 레지스터(5491)에 저장되고, 이와 동시에 제 1 및 제 2 연산부(543, 545)가 각각 'b' 및 'h' 화소에 대한 보간을 수행한다. 그리고, 제 1 및 제 2 연산부(543, 545)에서 구해진 보간 결과는 출력 버퍼(549)의 제 2 및 제 3 라인 레지스터(5492, 5493)에 각각 저장된다.
그리고 나서, 다음의 1 클럭 주기(이하 제2 클럭 타이밍이라 칭함)가 되면, 제 3 연산부(547)가 제 2 연산부(545)로부터 출력된 21개의 연산 결과를 근거로 하여 'j' 화소에 대한 보간을 수행하고, 그 결과 얻어진 16개의 화소값들을 출력 버퍼(549)의 제 4 라인 레지스터(5494)에 저장한다. 한편, 제2 클럭 타이밍 동안, 입력 버퍼(541)에 저장되어 있는 데이터는 아래 방향으로 한 라인씩 쉬프트 되고, 쉬프트된 후에 입력 버퍼(541)의 3번째 라인에 저장되어 있는 21개의 새로운 화소값들(C1, C2, …, C21)이 출력 버퍼(549)의 제 1 라인 레지스터(5491)에 저장된다. 그리고, 이와 동시에 제 1 연산부(543)는 'b' 화소에 대한 보간을 수행한다. 그리고, 제1 클럭 타이밍 동안 제 1 및 제 2 라인 레지스터(549, 5492)에 저장되어 있던 21개의 'G' 데이터와 16개의 'b' 데이터는 제2 클럭 타이밍 동안 출력 버퍼(549)의 제 5 및 제 6 라인 레지스터(5495, 5496)로 각각 쉬프트된다.
그 결과, 초기의 5 클럭 동안의 지연 시간을 제외하면, 1/2 보간부(540)는 1 개의 로우 데이터에 대한 일련의 1/2 보간 동작을 1 클럭 주기 동안 모두 수행할 수 있게 된다. 이 때 수행된 보간 결과는 출력 버퍼(549)에 구비된 라인 레지스터(5491-5496)에 각각 저장된다.
도 9 및 도 10은 제 1 연산부(543)에서 수행되는 1/2 보간 동작을 설명하기 위한 도면이다. 그리고, 도 11은 제 2 연산부(545)에서 수행되는 1/2 보간 동작을 설명하기 위한 도면이고, 도 12는 제 3 연산부(547)에서 수행되는 1/4 보간 동작을 설명하기 위한 도면이다.
먼저, 도 9를 참조하면, 제 1 연산부(543)는 제1 클럭 타이밍 동안 입력 버퍼(541)로부터 21개의 정수 화소값들(C1, C2, …, C21)을 받아들이고, 1 화소씩 어긋나게 배열된 6 개의 정수 화소값들(예를 들면, C1, C2, …, C6)을 이용하여 총 16회의 1/2 보간을 수행한다. 이 때, 수행되는 16회의 1/2 보간 동작은 각각 병렬로 수행되며, 16개의 1/2 보간 결과들(H_pel1-H_pel16)이 출력 버퍼(549)의 제 2 라인 레지스터(5492)에 저장된다. 여기서, 입력 또는 출력된 각각의 데이터는 라인 레지스터의 1 화소 데이터에 해당된다.
제 1 연산부(543)는 16개의 1/2 보간 동작을 동시에 수행하기 위해 16개의 1/2 보간 연산부를 포함하며, 그 중 하나의 1/2 보간 연산부(3431)의 구성을 살펴보면 다음과 같다.
도 10을 참조하면, 하나의 1/2 보간 연산부(3431)에서 수행되는 1/2 보간 연산을 수학식으로 나타내면, 6 개의 입력 데이터를 각각 C1, C2, C3, C4, C5 및 C6이라 할 때, 1/2 보간 결과(OUT2)는
가 된다.
여기서, 각각의 1/2 보간 연산부(3431)는 1, -5, 2-, 20, -5, 및 1의 웨이트를 갖는 6-탭(tap)의 FIR(Finite Impulse Response) 필터로 구성된다. 그리고, 「수학식 1」에 표시된 Clip 함수는 연산 결과가 0 이하인 것은 0으로 클리핑하고, 255 이상인 것은 255로 클리핑하는 것을 의미한다.
계속해서 도 11을 참조하면, 제 2 연산부(545)는 입력 데이터의 배열 관계를 고려할 필요 없이, 입력 버퍼(541)에 구비된 21 개의 라인 레지스터별로 직접 1/2 보간을 동시에 수행한다. 이를 위해 제 2 연산부(545)는 21개의 1/2 보간을 동시에 수행하는 21개의 1/2 보간 연산부를 포함하며, 그 중 하나의 1/2 보간 연산부(3451)의 구성을 살펴보면 다음과 같다.
도 8 및 도 11을 참조하면, 하나의 1/2 보간 연산부(3451)에서 수행되는 1/2 보간 연산을 수학식으로 나타내면, 6 개의 입력 데이터를 각각 A1, B1, C1, D1, E1 및 F1이라 할 때, 1/2 보간 결과(OUT2')는
가 된다.
여기서, 각각의 1/2 보간 연산부(3451)는 도 10에 도시된 1/2 보간 연산부(3431)와 마찬가지로, 1, -5, 2-, 20, -5, 및 1의 웨이트를 갖는 6-탭(tap)의 FIR(Finite Impulse Response) 필터로 구성된다. 그리고, 「수학식 2」에 표시된 Clip 함수 역시 연산 결과가 0 이하인 것은 0으로 클리핑하고, 255 이상인 것은 255로 클리핑하는 것을 의미한다.
제 2 연산부(545)에 의해 21 개의 'h' 화소값이 구해지고 나면, 제 3 연산부(547)는 제2 클럭 타이밍 동안 제 2 연산부(545)로부터 21개의 'h' 화소값들을 받아들여 16개의 'j' 화소값들을 구한다. 이 때 수행되는 보간 방법은 도 9에 도시된 방법과 동일하며, 각각의 화소에 대한 1/2 보간 과정은 각 화소별로 동시에 수행된다.
도 6과 도 12를 참조하여 데이터 선택부(560) 및 1/4 보간부(580)의 구성 및 동작을 살펴보면 다음과 같다.
도 6에서 데이터 선택부(560)는 1/2 보간부(540)로부터 출력된 6라인의 로우 데이터(G. b. h. j. b', G')를 받아들여 2라인의 로우 데이터를 출력하는 2 개의 멀티플렉서(multiplexer)로 구성된다. 각 멀티플렉서의 선택 신호(SEL1, SEL2)는 1/4 보간부(580)로부터 발생된다. 1/4 보간부(580)는 엔트로피 디코딩부(10)로부터 제공되는 모션 벡터(X_Frac, Y_Frac)를 받아들여 1/4 보간을 수행할 위치에 대응되는 1/2 화소값들을 선택한다. 이 때, 만일 엔트로피 디코딩부(10)로부터 제공된 모션 벡터(X_Frac, Y_Frac)가 1/2 화소값 자체를 나타내는 경우, 1/4 보간부(580)는 별도의 1/4 보간을 수행하지 않고, 1/2 보간부(540)로부터 출력된 1/2 보간 결과를 그대로 1/4 보간 결과로서 출력하게 된다. 그리고, 엔트로피 디코딩부(10)로부터 제공된 모션 벡터(X_Frac, Y_Frac)가 1/4 화소를 나타내는 경우, 1/4 보간부(580)는 1/2 보간부(540)로부터 출력된 2개의 로우 데이터를 이용하여 1/4 보간을 수행하고, 16 화소 크기로 할당된 출력 데이터를 출력하게 된다.
계속해서 도 12를 참조하면, 1/4 보간부(580)는 1/2 보간부(540)로부터 출력된 2개의 로우 데이터를 받아들여 16개의 1/4 화소값들을 출력한다. 1/4 보간부(580)는 16개의 1/4 보간 연산부들을 포함하며, 16 개의 1/4 보간 연산부들을 통해 각 화소에 대한 1/4 보간이 각각 병렬로 수행된다. 이들 중 하나의 1/4 보간 연산부(5811)의 구성을 살펴보면 도 12와 같다.
도 12를 참조하면, 1/4 보간 연산부(5811)의 입력 데이터가 D11, D22라고 하고 1/4 보간 결과를 OUT4라 할 때,
의 값이 되고, 상기 연산에 의해 파티션 블록(partition block)의 로우 라인(Row Line)이 계산된다. 이는 대략 1/2 보간 결과에 대한 평균값으로 나타낼 수 있다.
1/4 보간부(580)에서 출력되는 데이터는 16 화소의 값을 가지며, 상기 출력 데이터는 디코딩되는 매크로 블록의 단위(4 화소, 8 화소, 또는 16 화소)에 따라 유효한(Valid) 화소 수가 달라지게 된다. 본 발명에서는 상기와 같은 다양한 종류의 매크로블록에 대한 연산 결과를 모두 수용할 수 있도록 16 화소의 크기를 가지는 것으로 회로를 구성한다. 이 때, 상기 보간 회로(500)에 적용되는 블록 사이즈는 엔트로피 디코더(10)로부터 발생되는 모드 신호(미 도시됨)에 따라 선택 가능하도록 구성될 수 있다.
하나의 매크로블록을 보간하는데 소요되는 전체 시간을 살펴보면, 매크로 블록이 4X4 화소로 구성되는 경우, 하나의 매크로 블록을 처리하는데 걸리는 시간은 총 352 클럭 사이클이 소요되고, 매크로 블록이 8X8 화소로 구성되는 경우, 하나의 매크로 블록을 처리하는데 걸리는 시간은 총 152 클럭 사이클이 소요된다. 그리고, 매크로 블록이 16X16 화소로 구성되는 경우, 하나의 매크로 블록을 처리하는데 걸리는 시간은 총 70 클럭 사이클이 소요된다. 따라서, 본 발명은 HD(High Definition)급 영상에서 주어진 사이클(즉, 676 사이클) 내에 모든 보간 연산을 수행할 수 있으며, 그 결과 HD급 영상과 같은 고화질의 영상을 처리하는데 적합한 구성을 갖는다.
앞에서 설명한 바와 같이, 본 발명에 따른 보간 회로(500)는 계산량이 많은 1/4 보간(Quarter Pel Interpolation)을 한꺼번에 수행하지 않고, 1/2 보간(Half Pel Interpolation) 과정과 1/4 보간 과정으로 구분하여 단계적으로 수행한다. 1/4 보간 과정은 모션 벡터를 참조하여 선택적으로 수행하며, 1/2 보간 연산은 레지스터에 저장되어 있는 데이터를 단순히 로우(Row) 단위로 아래 방향으로 쉬프팅함에 의해 수행되므로, 계산이 빠르게 수행될 수 있다. 그리고, 레지스터가 쉬프트되는 동안에 보간과 관련된 여러 가지 연산이 동시에 수행되기 때문에, 연산 시간이 짧아지게 된다. 이 외에도, 보간을 위해 최소한의 레지스터가 구비되며, 상기 레지스터는 가변적인 서브-매크로블록들의 크기를 모두 지원하며, 모든 화소의 이동이 한 방향으로 수행되기 때문에, 구조가 간단해 진다. 이 경우, H.264가 가지고 있는 가변 블록 사이즈(Variable Block Size) 특성 때문에 복잡도는 다소 증가하지만, 1/2 보간 까지의 과정은 모든 블록 사이즈에 적용이 가능하다.
이상에서, 본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.
이상과 같은 본 발명에 의하면, 보다 적은 크기와 단순한 회로 구성을 가지 고도 H.264/JVT/MPEG4 Part10 등과 같은 동영상 압축 표준을 지원하는 고속의 1/4 보간을 수행할 수 있게 된다.
Claims (11)
- 보간될 매크로 블록 데이터 및 보간에 필요한 주변 매크로블록 데이터를 저장하는 데이터 저장부와;상기 데이터 저장부의 1개 로우에 해당되는 데이터를 받아들여 1/2 보간을 수행하는 1/2 보간부와;데이터 선택 신호에 응답해서 상기 1/2 보간부로부터 출력된 복수 개의 1/2 보간 결과들 중 일부를 선택하는 데이터 선택부; 그리고디코딩된 영상의 움직임 벡터에 응답해서 상기 데이터 선택 신호를 발생하고, 상기 데이터 선택부에 의해 선택된 상기 1/2 보간 결과에 응답해서 1/4 보간을 수행하는 1/4 보간부를 포함하며,상기 1/4 보간은 상기 움직임 벡터에 따라 선택적으로 수행되는 것을 특징으로 하는 영상 보간 장치.
- 제 1 항에 있어서,상기 데이터 저장부는 매크로 블록이 M X N의 크기를 갖는 경우, (M+5) X (N+5) 크기의 데이터를 저장하며, 상기 M 및 N은 양의 정수인 것을 특징으로 하는 영상 보간 장치.
- 제 1 항에 있어서, 상기 1/2 보간부는상기 영상 보간 장치를 동작시키는 매 클럭 마다 상기 로우 데이터를 받아들이고, 이전에 입력되었던 로우 데이터를 순차적으로 쉬프트시켜, 복수 개의 로우 데이터를 저장하는 입력 버퍼와;상기 입력 버퍼로부터 하나의 로우 데이터를 받아들이고, 상기 로우 데이터에 포함된 복수 개의 화소값들에 대한 제1 방향의 1/2 보간을 병렬로 수행하는 제1 연산부와;상기 제1 연산부에서 1/2 보간을 수행하는 동안, 상기 입력 버퍼로부터 하나의 로우 데이터를 받아들여, 상기 로우 데이터에 포함된 복수 개의 화소값들에 대한 제2 방향의 1/2 보간을 병렬로 수행하는 제2 연산부와;상기 제2 연산부의 상기 1/2 보간 결과를 받아들여 상기 제1 방향의 1/2 보간을 병렬로 수행하는 제3 연산부; 그리고상기 입력 버퍼로부터 출력된 상기 로우 데이터와, 상기 제1 내지 제 3 연산부에서 수행된 1/2 보간 결과들을 저장하는 출력버퍼를 포함하는 것을 특징으로 하는 영상 보간 장치.
- 제 3 항에 있어서,상기 제 1 및 제 3 연산부는, 상기 로우 데이터에 포함된 복수 개의 화소값들을 하나씩 어긋나게 배열하여, 동일 로우에 존재하는 복수 개의 화소에 대한 1/2 보간을 병렬로 수행하는 것을 특징으로 하는 영상 보간 장치.
- 제 3 항에 있어서,상기 입력 버퍼는, 상기 데이터 저장부가 (M+5) X (N+5) 크기를 갖는 경우, 상기 데이터 저장부로부터 입력된 (M+5) 화소로 구성된 로우 데이터를 화소별로 저장하는 (M+5)개의 라인 레지스터들을 포함하며,각각의 라인 레지스터에는 서로 다른 로우에 속하는 복수 개의 데이터들이 저장되는 것을 특징으로 하는 영상 보간 장치.
- 제 5 항에 있어서,상기 제 2 연산부는, 상기 입력 버퍼에 포함된 상기 (M+5)개의 라인 레지스터 각각에 저장되어 있는 데이터에 대한 1/2 보간을 병렬로 수행하는 것을 특징으로 하는 영상 보간 장치.
- 제 3 항에 있어서,상기 제 1 내지 제 3 연산부는, 상기 각 연산부의 입력 데이터가 C1, C2, C3, C4, C5 및 C6일 때,Clip[{(C1 - 5*C2 +20*C3 + 20*C4 - 5*C5 + C6) +16} / 32]의 1/2 보간 연산을 각각 수행하며,상기 C1, C2, C3, C4, C5 및 C6은 상기 로우 데이터에 포함된 상기 복수 개의 화소값들로서 정수 값을 가지고,상기 Clip 함수는 연산 결과가 0 이하인 것은 0으로 클리핑하고, 255 이상인 것은 255로 클리핑하는 것을 의미하는 것을 특징으로 하는 영상 보간 장치.
- 제 7 항에 있어서,상기 제 1 내지 제 3 연산부는, 1, -5, 2-, 20, -5, 및 1의 웨이트를 갖는 6-탭의 FIR(Finite Impulse Response) 필터인 것을 특징으로 하는 영상 보간 장치.
- 제 3 항에 있어서, 상기 출력 버퍼는상기 입력 버퍼로부터 입력된 상기 로우 데이터를 저장하는 제 1 라인 레지스터와;상기 제 1 연산부에서 수행된 상기 1/2 보간 결과를 저장하는 제 2 라인 레지스터와;상기 제 2 연산부에서 수행된 상기 1/2 보간 결과를 저장하는 제 3 라인 레지스터와;상기 제 3 연산부에서 수행된 상기 1/2 보간 결과를 저장하는 제 4 라인 레지스터와;현재 활성화된 클럭의 바로 이전 클럭에 동기되어 상기 입력 버퍼로부터 입력된 로우 데이터를 저장하는 제 5 라인 레지스터; 그리고상기 이전 클럭에 수행되었던 상기 제 1 연산부의 1/2 보간 결과를 저장하는 제 6 라인 레지스터를 포함하는 것을 특징으로 하는 영상 보간 장치.
- 제 9 항에 있어서,상기 데이터 선택부는 상기 데이터 선택 신호에 응답해서 상기 제 1 내지 제 6 라인 레지스터 중 두 개의 레지스터에 저장된 데이터를 출력하는 것을 특징으로 하는 영상 보간 장치.
- 제 10 항에 있어서,상기 1/4 보간부는 입력 데이터가 D11, D22 일 때 Clip{(D11 + D22 + 1)/2}의 1/4 보간 연산을 수행하며,상기 입력 데이터 D11, D22는 정수 값을 가지고,상기 Clip 함수는 연산 결과가 0 이하인 것은 0으로 클리핑하고, 255 이상인 것은 255로 클리핑하는 것을 의미하는 것을 특징으로 하는 영상 보간 장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040038328A KR100605105B1 (ko) | 2004-05-28 | 2004-05-28 | 영상 보간 장치 |
TW094115172A TWI277910B (en) | 2004-05-28 | 2005-05-11 | Image interpolation apparatus and methods that apply quarter pel interpolation to selected half pel interpolation results |
US11/136,214 US7929612B2 (en) | 2004-05-28 | 2005-05-24 | Image interpolation apparatus and methods that apply quarter pel interpolation to selected half pel interpolation results |
EP05253276A EP1605704A3 (en) | 2004-05-28 | 2005-05-27 | Image interpolation apparatus and methods |
CN200510074679XA CN1703094B (zh) | 2004-05-28 | 2005-05-30 | 1/4像素插值应用于1/2像素插值结果的图象插值装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040038328A KR100605105B1 (ko) | 2004-05-28 | 2004-05-28 | 영상 보간 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050112891A KR20050112891A (ko) | 2005-12-01 |
KR100605105B1 true KR100605105B1 (ko) | 2006-07-26 |
Family
ID=34941485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040038328A KR100605105B1 (ko) | 2004-05-28 | 2004-05-28 | 영상 보간 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7929612B2 (ko) |
EP (1) | EP1605704A3 (ko) |
KR (1) | KR100605105B1 (ko) |
CN (1) | CN1703094B (ko) |
TW (1) | TWI277910B (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007053554A (ja) * | 2005-08-17 | 2007-03-01 | Sony Corp | 符号化装置、符号化方法、復号装置、復号方法およびプログラム |
KR100804451B1 (ko) * | 2006-09-25 | 2008-02-20 | 광운대학교 산학협력단 | 영상처리의 1/4 픽셀 보간 방법 및 그의 프로세서 |
CN100493192C (zh) * | 2006-12-01 | 2009-05-27 | 清华大学 | 一种h.264解码器的运动补偿插值方法 |
US9967590B2 (en) | 2008-04-10 | 2018-05-08 | Qualcomm Incorporated | Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter |
US9077971B2 (en) | 2008-04-10 | 2015-07-07 | Qualcomm Incorporated | Interpolation-like filtering of integer-pixel positions in video coding |
US8705622B2 (en) | 2008-04-10 | 2014-04-22 | Qualcomm Incorporated | Interpolation filter support for sub-pixel resolution in video coding |
KR101341993B1 (ko) * | 2010-10-06 | 2013-12-16 | 에스케이텔레콤 주식회사 | 고정밀 필터를 이용한 영상 부호화/복호화 방법 및 장치 |
US8855446B2 (en) | 2012-04-19 | 2014-10-07 | Qualcomm Incorporated | Accelerated video compression multi-tap filter and bilinear interpolator |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990058255A (ko) * | 1997-12-30 | 1999-07-15 | 구자홍 | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법. |
EP1353514A2 (en) | 2002-04-10 | 2003-10-15 | Microsoft Corporation | Sub-pixel interpolation in motion estimation and compensation |
JP2003348595A (ja) | 2002-05-28 | 2003-12-05 | Sony Corp | 画像処理装置および方法、記録媒体、並びにプログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6965644B2 (en) * | 1992-02-19 | 2005-11-15 | 8×8, Inc. | Programmable architecture and methods for motion estimation |
US5398079A (en) | 1993-01-27 | 1995-03-14 | General Instrument Corporation | Half-pixel interpolation for a motion compensated digital video system |
JPH0837662A (ja) * | 1994-07-22 | 1996-02-06 | Hitachi Ltd | 画像符号化復号化装置 |
US5638128A (en) | 1994-11-08 | 1997-06-10 | General Instrument Corporation Of Delaware | Pixel interpolation filters for video decompression processor |
KR100192270B1 (ko) * | 1996-02-03 | 1999-06-15 | 구자홍 | 에이치디티브이 비데오 디코더 회로 |
US5818532A (en) * | 1996-05-03 | 1998-10-06 | Lsi Logic Corporation | Micro architecture of video core for MPEG-2 decoder |
DE69813911T2 (de) * | 1998-10-13 | 2004-02-05 | Stmicroelectronics Asia Pacific Pte Ltd. | VERFAHREN ZUR BESTIMMUNG VON BEWEGUNGSVEKTORFELDERN MIT LOKALER BEWEGUNGSSCHäTZUNG |
US6295089B1 (en) * | 1999-03-30 | 2001-09-25 | Sony Corporation | Unsampled hd MPEG video and half-pel motion compensation |
US6950469B2 (en) * | 2001-09-17 | 2005-09-27 | Nokia Corporation | Method for sub-pixel value interpolation |
KR100472476B1 (ko) * | 2002-08-31 | 2005-03-10 | 삼성전자주식회사 | 움직임 보상을 위한 보간 방법 및 그 장치 |
CN1207920C (zh) * | 2003-09-05 | 2005-06-22 | 中国科学院计算技术研究所 | 一种分样本插值滤波方法 |
-
2004
- 2004-05-28 KR KR1020040038328A patent/KR100605105B1/ko not_active IP Right Cessation
-
2005
- 2005-05-11 TW TW094115172A patent/TWI277910B/zh not_active IP Right Cessation
- 2005-05-24 US US11/136,214 patent/US7929612B2/en not_active Expired - Fee Related
- 2005-05-27 EP EP05253276A patent/EP1605704A3/en not_active Withdrawn
- 2005-05-30 CN CN200510074679XA patent/CN1703094B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990058255A (ko) * | 1997-12-30 | 1999-07-15 | 구자홍 | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법. |
EP1353514A2 (en) | 2002-04-10 | 2003-10-15 | Microsoft Corporation | Sub-pixel interpolation in motion estimation and compensation |
JP2003348595A (ja) | 2002-05-28 | 2003-12-05 | Sony Corp | 画像処理装置および方法、記録媒体、並びにプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP1605704A2 (en) | 2005-12-14 |
US20050265458A1 (en) | 2005-12-01 |
EP1605704A3 (en) | 2010-11-17 |
CN1703094B (zh) | 2010-09-29 |
KR20050112891A (ko) | 2005-12-01 |
US7929612B2 (en) | 2011-04-19 |
CN1703094A (zh) | 2005-11-30 |
TW200539060A (en) | 2005-12-01 |
TWI277910B (en) | 2007-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2689129C1 (ru) | Способ для интерполяции изображений с использованием асимметричного интерполяционного фильтра и устройство для этого | |
US20220141486A1 (en) | Intra-prediction method using filtering, and apparatus using the method | |
JP5180380B2 (ja) | 動画符号化のための適応補間フィルタ | |
EP1353514B1 (en) | Sub-pixel interpolation in motion estimation and compensation | |
JP4625240B2 (ja) | コンピュータ実施される方法、システムおよびコンピュータ可読媒体 | |
JP5197630B2 (ja) | 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法 | |
JP6707678B2 (ja) | 動き補償予測のための方法及び装置 | |
EP2317770A1 (en) | Interpolation filtering method, image encoding method, image decoding method, interpolation filtering device, program, and integrated circuit | |
JP2006180509A (ja) | サブピクセル補間の高速実現のための方法及びシステム | |
US20110116546A1 (en) | Single pass adaptive interpolation filter | |
EP1359768A1 (en) | Chrominance motion vector rounding | |
JP2003339050A (ja) | マルチステージ補間の丸め制御 | |
JP2021502031A (ja) | ビデオ符号化のためのインター予測機器及び方法の補間フィルタ | |
EP1605704A2 (en) | Image interpolation apparatus and methods | |
US9420308B2 (en) | Scaled motion search section with parallel processing and method for use therewith | |
WO2009087380A2 (en) | Video motion compensation | |
KR100899730B1 (ko) | 영상 인코더 및 디코더에서의 색차 신호 보간 방법 | |
KR100800761B1 (ko) | 계산량을 최소화하는 색차 신호의 보간 방법 및 장치 | |
KR101691380B1 (ko) | 시프팅 매트릭스를 이용한 dct 기반의 부화소 단위 움직임 예측 방법 | |
KR100836534B1 (ko) | 저전력 서브 픽셀 보간 블록 구조 | |
Bae et al. | Quarter-pel interpolation architecture in H. 264/AVC decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20110705 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |