KR100854524B1 - 이미지 데이터를 처리하기 위한 전자 장치 및 전자장치에서 이미지 데이터를 처리하기 위한 방법 - Google Patents

이미지 데이터를 처리하기 위한 전자 장치 및 전자장치에서 이미지 데이터를 처리하기 위한 방법 Download PDF

Info

Publication number
KR100854524B1
KR100854524B1 KR1020067018905A KR20067018905A KR100854524B1 KR 100854524 B1 KR100854524 B1 KR 100854524B1 KR 1020067018905 A KR1020067018905 A KR 1020067018905A KR 20067018905 A KR20067018905 A KR 20067018905A KR 100854524 B1 KR100854524 B1 KR 100854524B1
Authority
KR
South Korea
Prior art keywords
processing
area
data
block
image
Prior art date
Application number
KR1020067018905A
Other languages
English (en)
Other versions
KR20060123630A (ko
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 노키아 코포레이션
Publication of KR20060123630A publication Critical patent/KR20060123630A/ko
Application granted granted Critical
Publication of KR100854524B1 publication Critical patent/KR100854524B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/403Edge-driven scaling; Edge-based scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 블록에 기반하여 이미지 데이터(12.1)의 처리를 수행하기 위한 데이터 처리 수단(13, 14, 16, 18) 및 메모리(17)를 포함하는 전자 장치(10.2)에 관한 것이다. 이미지 데이터(12.1)는 선결된 방법으로 정렬된 단위 블록들(B, MB)로 코딩되도록 구현되고, 이 방법으로부터 상기 설정치에 따라 처리 영역(PA)이 하나 또는 그 이상의 블록들(B, MB)의 데이터로부터 형성될 수 있다. 처리를 위하여, 처리 영역(PA) 상의 데이터가 메모리(17)에 저장되고, 선결된 방법으로 처리 영역(PA)의 주변 영역(EA1, EA2, EA4)의 데이터가 처리 영역(PA)의 경계 영역들을 처리하기 위하여 정렬된다. 처리 영역의 일부(PA1, PA2)는 사전 코딩된 하나 또는 그 이상의 단위 블록들(MBP1-MBP3, BP1-BP5) 및 적어도 일부에 있어서 사전 처리되는 영역으로부터 구성되도록 구현된다. 더 나아가, 본 발명은 방법 및 프로그램 생성물(31)에도 관련된다.

Description

이미지 데이터를 처리하기 위한 전자 장치 및 전자 장치에서 이미지 데이터를 처리하기 위한 방법{Electronic device and a method in an electronic device for processing image data}
본 발명은 블록에 기반한 이미지 데이터의 처리를 수행하기 위한 데이터-처리 수단 및 메모리를 포함하는 전자 장치에 관한 것으로서, 상기 블록 내에서 이미지 데이터는 사전 설정된 방법으로 정렬된 단위 블록들(B, MB)로 코딩되도록 정렬되고, 상기 방법으로부터 하나 또는 그 이상의 블록들(B, MB)의 데이터로부터 설정치에 따른 처리 영역(PA)이 형성될 수 있으며, 상기 블록을 처리하기 위하여, 상기 처리 영역(PA) 상의 데이터는 상기 메모리(17) 내에 정렬되고, 상기 처리 영역(PA)의 경계 영역(edge area)들을 처리하기 위하여, 사전 설정된 방법으로 상기 처리 영역(PA)의 주변 영역(EA1, EA2, EA4) 상의 데이터가 상기 메모리(17) 내에 정렬된다. 또한, 본 발명은 이미지 데이터 처리 방법 및 프로그램 생성물에도 관련된다.
큰 사이즈 및/또는 고해상도의 이미지 정보의 처리 과정은 전자 장치에 요구되는 메모리 사양을 증가시키는데, 그 이유는 방대한 양의 영상 데이터가 관련되기 때문이다. 알려진 바와 같이, 필요한 메모리의 크기가 증가되는 것과 관계가 있는 문제를 해결하기 위하여, 블록에 기반을 둔 화상 처리 방법이 사용되어 왔다. 블 록에서 블록으로 이미지를 처리하는 이미지-코딩 표준 중에서 알려진 몇 가지 예에는, JPEG(Joint Picture Experts Group), MPEG(Picture Experts Group), H.26x, 등이 포함된다. 블록-기반 처리 기법에서, 단위 블록의 크기는 보통8 x 8 또는 16 x 16 픽셀이다. 일반적으로 16 x 16-픽셀 블록은 매크로블록(macroblock, MB)이라고 불린다.
도 1은 매크로블록-기반 해결책을 적용하는데 이용되는 이미지 프레임 I의 구조를 도시한다. 도시된 구조에서, 임의의 시점에서 처리되는 각 매크로블록 행(MB_row)은 하나 또는 두 개의 수평 행들을 포함한다. 한 행은 이미지 프레임 I의 전체 너비에 대해서 이러한 블록들(B)을 포함한다. 매크로블록(MB)은 예를 들어 16 x 16의 픽셀 크기를 가질 수 있다.
도 2는 데이터-전달 채널을 통하여 이루어진 데이터 흐름(즉, 데이터 열)의 종래 기술에 의한 실시예를 도시하는데, 이러한 데이터 열은 블록을 이용하여서도 수행될 수 있다. 도 2의 상단의 체인(10.1)은 이미지에 기반을 둔 처리 모드를 도시한다. 하단의 체인(10.2')는 블록에 기반을 둔 처리를 보인다. 블록에 기반을 둔 처리 방법(10.2')에서, 해결 원리는 디코딩, 사후-처리, 다른 이미지-향상 처리 동작들, 및 하나의 매크로블록(MB)에서의 스케일링 동작을 한번에 수행하는 것이다. 이것은, 블록에 기반을 둔 처리 모드(10.2')는 실시간 처리를 위하여 제안된 것이며, 메모리 소비량을 줄이기 위한 목적의 측면에서 볼 때, 예를 들어 이미지에 기반을 둔 처리 모드에 비하여 더욱 추천할 만한 것이라는 것을 의미한다.
이미지 포인트(즉, 픽셀)를 수정하기 위해, 많은 이미지-처리 알고리즘(14) 은 관련된 이미지 위치에 인접한 주변 픽셀에 관한 어떤 정보를 요구한다. 이것에 기반하여, 특정 매크로블록 영역을 처리하기 위하여, 이미지-처리 알고리즘(14)은 관심 대상인 이미지 위치를 둘러싸고 있는 매크로블록 중 일부에 대한 접근을 요구한다. 도 3은 이것에 관련된 한 상황을 도시한다.
그러나, 메모리 사용에 관련된 중요한 문제점은, 예를 들어 의사-행렬(matrix-like), 2차원, 단일-블록 분할에 따라서 수행되는 이러한 처리 방법에 관련된다. 만일 처리 중인 매크로블록 용역(PA)을 둘러싸고 이러한 방법으로 선택된 영역들(EA1, EA2, EA4)을 고려한다면, 장치(10.2') 내에서 요구되는 메모리의 양은 엄청날 것이다.
이러한 알고리즘의 몇 가지 예는 이미지-개선 알고리즘들이다. 이러한 것들 중에서, 디블로킹 필터(deblocking filter)의 예를 들면, 이것은 해당 시점에서 처리 중인 픽셀 포인트의 주변에 대한 정보를 요구하며, 이것들이 있어서 블로킹에 의하여 야기된 아티팩트(artefact)를 검출 및 제거할 수 있다. 픽셀 주변에 적용되는 다른 알고리즘 그룹에는, 다양한 보간 방법을 적용하는 이미지-스케일링 알고리즘들이 있다.
종래기술에 따르는 모든 블록에 기반을 둔 솔루션에서, 현재 처리중인 실제 매크로블록보다 더 광범위한 이미지-데 영역을 작업 메모리(working memory)에서 처리하는 것이 실무상 중요했다. 이러한 것은 각 시점에서 처리되는 이미지 내에 존재하는 매크로블록 영역의 경개 영역을 성공적으로 처리하기 위해서도 역시 필요하다. 이미지 데이터의 양이 많다는 점이 이러한 문제점을 야기한다.
가능한 제1 솔루션에 따르면, 전체 이미지는 한번에 작업 메모리에서 처리되어야만 한다. 그러나, 이러한 솔루션은 메모리 사용의 측면에서는 결코 추천할만하지 않는데, 그 이유는 특히 이미지 데이터의 양이 매우 방대하기 때문이다.
도 3은 종래 기술에 따라서 단일 단위 블록의 크기에 대항하는 처리 영역(PA)을 처리하는데 요구되는 영역에 대한 이 예이다(PA = 매크로블록 행 M 상의 매크로블록 N). 따라서, 관련된 매크로블록(N, M)을 정확하고 완전하게 처리하기 위하여도, 처리되는 블록 영역(PA)을 둘러싸는 블록들(MBPx, MBNx)점선 처리된 영역)에 대한 픽셀 정보가 필요하다. 해당 영역을 정의하는 이러한 방법에 따르면 후속 블록 행(M+1, 즉 MBN4)의 블록(N+1)까지의 정보가 필요하다. 블록(MBN4)은 이제 해당 단위-행렬 구조에서는 최종 블록인데, 이것은 해당 시점에서 처리중인 실제 블록 영역(PA)(이중 점선 처리된 부분)에 인접한 부분이다.
전술한 수단에서, 처리 시퀀스에서 매크로블록(N, M)에 후속하는 모든 블록이 해당 시점에서 항상 디코딩되어야 하며 이는 최후의 인접 블록(N+1, M+1 즉 MBN4)까지 수행되어야 한다. 이러한 방법을 수행할 하나의 방법은 우선 처리중인 관련 영역에 상응하는 매크로블록 행 M을 최후 지점까지 디코딩하고, 이후에 이미지 프레임(I)의 우측 경계까지 디코딩을 계속하는 것이다. 그러면, 다시 다음 행(M+l)을 처리하는데, 이것으로부터 디코딩은 계속되고, 이미지 프레임(I)의 좌측 경계로부터 시작한다. 디코딩은 행(M+1=MBN4)의 블록 N+l 까지 계속된다. 따라서, MBN4는 현재 시점에서 처리중인 영역(PA)에 바로 인접하는 최종적인 블록이다.
추측될 수 있는 바와 같이, 전술된 프로시저는 장치 내의 메모리 용량이 매 우 클 것을 요구하고, 특히 처리 모드에 따라서 현재 처리중인 영역(PA)의 경계 영역을 처리하기 위하여 단지 몇 개의 픽셀 행들이 인접하는 블록들(MBP1-MBP3, MBP, MBNl-MBN4)들로부터 필요할 수도 있다. 또한, 후속하는 인접 블록들의 경계의 픽셀 데이터는 예를 들어 메모리로 전달될 수 있으며, 이 경우 한 번에 하나의 매크로블록 행이 전달될 수 있다. 이러한 경우에, 하나의 처리 중인 블록으로부터 다음 블록으로 이동할 때, 동일한 경계 데이터를 검색(디코딩)할 필요가 없다. 그러나, 이러한 경우에도 메모리의 소모량은 실질적으로 동일하다.
메모리 소모를 감소시키기 위해, 종래 기술에 따라서 전술된 바와 같은 경우에 대한 해결책은 한번에 이미지 영역의 일부분만을 처리하는 것으로부터 출발한다. 일반적으로, 이러한 사상에 관련되어 사용되는 방법은 매크로블록 행에 기반하여 처리하는 것이다. 여기서, 디코딩, 작업 메모리에 독출하는것, 및 처리하는 동작은 한번에 단일 블록 행에 대해서 수행된다. 또한, 블록 행의 경계를 처리하는데 필요한 추가적인 라인 메모리는 단지 적은 양일 뿐이다. 전술된 상세한 설명에 관련하여, 추후에 처리되기 위하여 대기 중인 블록들을 추후에 디코딩 하여야 한다는 단점이 존재한다. 사전 및 사후 블록 행의 인접 픽셀 데이터가 이러한 추가적인 라인 메모리에 저장된다.
일반적인 접근법은 사전에 디코딩 및 처리된 블록들이 현재의 작업 메모리에 저장된 정보의 양을 절약시키기 위한 것이었으며, 또한 이러한 정보를 추후 처리 동작에 사용하기 위한 것이었다. 일반적으로, 이것은 수 개의 수평으로 독출된 픽셀 행들의 이미지 데이터를 저장할 필요성이 존재한다는 것을 의미한다. 그러나, 현재 시점에서 처리 중인 영역에 후속하는 블록들의 데이터로서, 현재 처리 중인 영역의 경계에 관련되는 데이터는 실질적으로 블록-기반 프로시저의 메모리 요구량을 증가시킨다.
본 발명은 디지털 이미지 데이터의 블록-기반 처리 방법의 새로운 타입을 창조하기 위한 것이며, 이를 통하여 종래 기술에 따른 솔루션들에 비하여 실질적으로 감소되는 메모리 용량을 가지고도 현재 처리중인 영역의 경계도 처리 가능하도록 할 수 있는 방법을 제공하는 것이다. 더 나아가, 본 발명은 본 발명에 의한 방법이 적은 메모리 요구량을 가지고 적용될 수 있는 새로운 타입의 전자 장치를 창조하기 위한 것이며, 메모리 용량이 감소됨에도 불구하고 데이터를 적절하게 처리할 수 있도록 하는 전자 장치를 창조하는 것이다. 본 발명에 따른 전자 장치의 특징들은 첨부된 청구항 1에 설명되며, 본 발명에 따른 방법의 특징은 첨부된 청구항 9항에 제공된다. 또한, 본 발명은 프로그램 생성물에도 관련되는데, 이러한 프로그램 생성물의 특징은 첨부된 청구항 17에서 진술된다.
본 발명에 따르는 전자 장치는 블록 기반으로 이미지 데이터에 대한 선택적인 처리 동작을 수행하기 위한 데이터 처리 수단 및 메모리를 포함한다. 이미지 데이터는 소정의 방법으로 정렬된 단위 블록으로 코딩되도록 구현된다. 해당 설정치에 따른 처리 영역은 하나 또는 그 이상의 단위 블록들의 코딩된 데이터로부터 형성될 수 있다. 처리 동작을 수행하기 위해, 장치의 메모리는 처리 영역 상의 데이터를 포함한다. 또한, 메모리는 소정의 설정된 수단으로 정의된 처리 영역의 주위의 데이터를 포함함으로써 처리 영역의 경계 영역을 처리한다. 본 발명에서, 처리 영역의 일부는 사전 코딩된 바 있거나 적어도 일부에 있어서 처리되었을 수 있는 하나 또는 수 개의 단위 블록들로부터 형성되도록 구현된다. 이러한 선택을 이용함으로써, 현재 처리 중인 영역에 후속하는 단위 블록들의 불필요한 사전 코딩 동작을 회피하거나, 최소한 감소시킬 수 있으며, 이에 따라서 공지된 바와 같이 장치 내에 요구되는 메모리의 양이 감소된다.
더 나아가, 이미지 데이터의 블록-기반 처리를 위한 본 발명에 따른 방법에서, 이미지 데이터는 소정의 설정된 방법으로 단위 블록으로 코딩된다. 해당 설정치에 따른 처리 영역은 하나 또는 그 이상의 단위 블록의 코딩된 데이터로부터 형성될 수 있으며, 이를 처리하기 위하여 처리 영역에 관련된 주변 데이터가 메모리에 정렬된다. 또한, 처리 영역의 주변 데이터는 소정의 방법으로 해당 메모리 내에 정렬됨으로써 처리 영역의 경계 영역을 처리한다. 이러한 방법에서, 처리 영역의 일부가 사전 코딩되거나, 적어도 부분적으로 사전 처리된 하나 또는 그 이상의 단위 블록들로부터 형성된다.
또한, 본 발명에 따른 프로그램 생성물은 이미지 데이터의 블록-기반 처리를 위한 것이며, 본 발명은 소정의 설정된 방법으로 이미지 데이터를 행렬 형태로 정렬된 단위 블록으로 코딩하기 위한 코드를 포함한다. 더 나아가, 본 발명에 따른 프로그램 생성물은 설정된 대로의 처리 영역을 하나 또는 그 이상의 단위 블록의 데이터로부터 형성하기 위한 코드 및 처리 영역의 주변 데이터를 처리하기 위한 코드를 포함하며, 이것은 처리 영역의 주변 영역의 처리를 위하여 사용되도록 구현된다. 또한, 본 발명에 따른 프로그램 생성물은 처리 영역의 일부가 사전 코딩되고 적어도 일부에 있어서 사전 처리될 수 있는 하나 또는 그 이상의 단위 블록들로부터 형성되도록 구현되도록 하는 코드 수단을 포함한다.
본 발명에 따르면, 코딩 동작은 예를 들면 디코딩 또는 인코딩일 수 있다.
본 발명의 제1 실시예에 따르면, 사전 코딩되고 적어도 일부에 있어서 사전 처리되었을 수 있는 단위 블록들은 수 개의 상이한 방법으로 선택될 수 있다. 예를 들어, 이들은 현재 처리 영역의 처리 이전에 코딩되고 부분적으로 처리되었을 수 있는 단위-블록 행으로부터만 선택될 수 있다. 이러한 방법에 추가하여, 이러한 단위 블록은 현재 처리 영역의 처리 이전에 코딩되고 부분적으로 처리되었을 수 있는 단위-블록 열로부터만 선택될 수 있다.
본 발명에 따르면, 메모리 효율적이며, 블록에 기반한 디지털-이미지 또는 비디오-데이터 처리 모델이 제공된다. 본 발명은 특히 이미지 데이터 또는 비디오 데이터 열들이 처리되는 어플리케이션에서 사용될 수 있다. 본 발명에 따른 모델은 매우 일반적인 특성을 가진다. 이것은 모든 크기를 가지는 블록 또는 이미지에도 적용될 수 있다.
본 발명을 이용하면, 종래 기술에 비하여 중대한 장점들을 얻을 수 있다. 본 발명에 따르면 각 시점에서 처리될 순서인 이미지 프레임의 블록/매크로블록에 대한 사전-처리가 거의 필요하지 않으며, 그 대신에 사전 영역의 처리에 관련되어 코딩된 데이터만을 이용한다. 처리중인 영역은 데이터 열로부터 코딩될 수 있으며, 선택된 방법으로 즉시 처리될 수 있고, 따라서 추후 사용을 위하여 저장될 수 있다. 이러한 처리 프로시저들에 대한 몇 가지 예에는 이미지 향상 기법 또는 스케일링 및 이들의 가능한 조합 등이 있을 수 있다. 본 발명에 따른 처리 모델은 데이터 열이 적용되는 어플리케이션에 특히 적용하기에 적합할 것이다.
본 발명에 따른 방법은 놀라우리만큼 적은 양의 메모리 용량을 이용한다. 예를 들어, 작업 메모리에서, 어느 시점에서 처리 영역에 선행하는 인접 블록들의 수 개의 라인-메모리들만이 필요할 뿐이며, 또한 실제 처리 영역의 처리하기 위하여도 메모리 양이 적게 필요하다.
전자기적 간섭의 특징에 대한 다른 특성들 및 본 발명에 따른 프로그램 생성물에 대한 다른 특징들은 첨부된 청구의 범위로부터 명백해질 수 있을 것이며, 다만 몇 가지 장점들은 후술되는 상세한 설명 코너에서 제공될 수 있을 것이다.
이하, 본 발명은 다음과 같은 첨부 도면들에 관련하여 검토될 것인데, 본 발명은 후술되는 실시예에 제공된 실시예들에 한정되는 것은 아니다.
도 1은 이미지 데이터의 블록에 기반을 둔 분할의 일 예를 도시한다.
도 2는 종래기술에 따른 이미지-데이터 처리 체인 장치의 몇 가지 실시예들을 도시한다.
도 3은 블록-기반 처리에서의 영역의 종래 기술에 따른 정의의 일 예를 도시한다.
도 4는 이미지 스케일링에서 처리 영역의 본 발명에 따른 정의의 일 실시예를 도시한다.
도 5는 도 4에 따른 실시예에 도시된 바와 같은, 본 발명에 따른 방법에서의 메모리 요구량의 일 예를 도시한다.
도 6은 본 발명에 의한 방법을 디블로킹 및 스케일링에 적용하였을 경우의 본 발명의 일 실시예를 도시한다.
도 7은 도 6에 도시된 실시예에서의 이미지-처리 체인의 일 예를 도시한다.
도 8a 내지 도 8e는 도 6에 도시된 처리예에서의 메모리 요구량에 대한 몇 가지 예들을 도시하는 도면들이다.
도 7은 본 발명의 관점에서, 본 발명이 적용될 수 있는 전자 장치(10.2)의 일 실시예에서, 매우 관련이 있는 구성 요소들을 도시하는 도면이다. 장치(10.2)는 이미지-처리 체인(image-processing chain)을 포함하는데, 이것은 이미지 데이터(12.1)를 처리하는데 사용될 수 있다. 예를 들면, 이미지 데이터(12.1)는 장치(10.2)에 속하고 있는 센서(11)를 이용하여 검출될 수 있다. 또한, 이미지 데이터(12.1)는 예를 들면 통신망으로부터 수신될 수 있다. 이미지 데이터(12.1)는 디지털일 수 있고 비디오 이미지일 수도 있으며, 이러한 것은 본 발명에 의하여 제한되는 것이 아니다. 본 발명이 관련되는 전자 장치(10.2)의 일부(하지만 본 발명에 의한 장치를 한정하는 것은 아니다)에는 이동식 기기, 멀티미디어 기기, 디지박스(digiboxes)/수신기 및 디지털 카메라가 있다.
전자 장치(10.2)는 데이터 처리 수단(13, 14.1, 14.2, 16, 18) 및 메모리(17)를 포함하며, 이들은 블록 기반에서 이미지 데이터(12.1)에 선택된 처리 동 작을 수행하기 위하여 사용된다. 본 발명에 따르면, 데이터 처리 수단(16)은 도 7에 도시된 장치를 포함할 수 있다. 여기서, 장치(10.2)에 속하고 있는 디코더(13)가 데이터열(12.1)을 디코딩하기 위해 사용된다. 이러한 경우, 디코더(13)는 블록 기반으로 동작한다.
디코딩(13)이전에, 이미지 데이터(12.1)는 미리 인코딩된다. 인코딩(30) 동작에서, 장치(10.2)에 아마도 속하고 있는 센서(11)에 의해 발생하는 이미지 데이터는 코딩 방법에 따라 좌우되는 방법으로 블로킹에 의해 단위 블록(B, MB)으로 분할된다. 예를 들면, 단위 블록(B, MB)은 도 1에 도시된 바와 같은 형태로, 행렬 형태, 2차원 표 형태 등으로 정렬될 수 있다. 인코딩(30) 및 디코딩(13) 동작 모두는 일반적으로 이미지 데이터의 코딩이라고 불릴 수 있다.
디코더(13)는 인코더(30)에 의해 인코딩된 이미지 데이터(12.1)를 다시 처리될 수 있는 형태로 만든다(즉, 이것은 다소간 자신의 원래의 형태로 언패킹(unpacked)된다). 디코딩(13)에서, 한번에 하나의 매크로블록(MB)이 디코딩되며, 그 뒤 체인(16)에서 전달되어 선택된 방법으로 처리된다.
디코더(13)에 후속하여 바람직한 후처리 기능성(14)이 위치한다. 이것은 도 2에 따른 본 발명의 일 실시예에 도시된 바와 같은 이미지 개선-스케일링 기능성(14)일수 있으며, 이에 대해서도 블록-기반한 처리 방법이 적용될 수 있다. 다른 기능들도 역시 적용될 수 있는데, 이것은 본 발명에 대한 후술되는 실시예에서 개시될 것이다.
후처리(14)로부터, 처리된 이미지 데이터(12.3)는 인코딩된 형태로 저장되 고, 예를 들어 대용량 메모리에 저장되며, 장치(10.2)의 디스플레이(15) 상에서 디스플레이 되거나, 본 발명의 실시예에 따라서는 통신망으로 전달될 수도 있다.
도 4는 본 발명의 기본 원리를 도시한다. 본 발명에서, 해당 시점에 처리되는 처리 방법에 따라서, 설정치에 따른 처리 영역(PA)은 사전 스테이지에서 이미 적어도 디코딩된 하나 또는 그 이상의 단위 블록들의 데이터를 이용하여 형성된다. 영역(PA)은 하위 영역(PAl, PA2, PA3, 도 1 및 도 4 참조)에 의하여 형성되는 것으로 볼 수도 있다. 실제 처리 영역(PA)에 관련된 매크로블록(MB(N, M)) 이전에 디코딩된 매크로블록들(MBP1-MBP3)은 해당 영역에서 적어도 일부에 대해서 사전 처리되었을 수 있다. 해당 영역(PA)의 크기는 수행되어야 하는 동작에 따라서 정의된다. 그러므로, 영역(PA)은 이미지 처리 체인(16)의 각 처리 성분(18, 14.1, 14.2)에 대해 개별적으로 설정함으로써, 메모리 사용의 관점에서 볼 때, 심지어 최종 처리 스테이지(14.2)역시 본 발명에 따라서 바람직한 방법으로 구현될 수 있게 된다.
디코딩(13)은 항상 같은 이미지-블록 분할(B, MB)에 따라서 수행될 수 있다. 영역(PA)은 이미지(I)의 첫 번째 블록의 디코딩이 개시되기 이전에 정의된다. 개별 처리된 블록(MB) 이후에, 처리 영역(PA)은 이동하게 되고, 이 때 블록(MB)의 경계가 설정된 블록 분할에 따라서 디코딩된 후 처리가 진행됨에 따라 이동하는 만큼 이동한다. 영역(PA)은 그 자체로서, 처리 방향이 좌에서 우로 및 상에서 하로 진행되는 것으로 볼 수 있다면, 실제 블록 디코딩의 '배후(behind)'에 존재하는 수 개의 픽셀 라인들 및 열들이다.
도 1에서 처리되는 것으로 도시된 이미지 프레임(I)은 그 자체로서, 예를 들 어 정지 이미지를 포함할 수 있고, 또는 이것은 연속적인 비디오 이미지의 한 프레임(I)일 수도 있다. 예를 들어 현재 처리중인 이미지 프레임(I) 이전에 존재하는 이미지 프레임에 대한 데이터 또는 현재 처리 중인 이미지 프레임 이후의 이미지 프레임에 대한 정보에 대해서 볼 때, 본 발명은 모든 정보를 요구하지 않는다. 처리중인 이미지 프레임(I)의 처리 동작은 순서대로 한번에 하나의 영역(PA)에 대해서 수행될 수 있으며, 프레임(I)의 설정된 시퀀스로 진행될 수 있다. 그러므로, 전체 이미지 프레임(I)의 원하는 부분들이 처리될 수 있다.
도 1은 이러한 진행 순서의 일 예를 도시한다. 도 1에서, 전체 이미지 영역(I)을 처리하기 위하여, 예를 들면 이미지 프레임(I)의 좌측 상위 구석으로부터 시작될 수 있다. 거기서부터, 설정된 영역 분할 방법에 따르면, 처리 동작은 이미지 영역(I)의 매크로블록 행(MB_row) 내의 이미지 영역(I)의 좌측 상부 경계로부터 열로부터 열로, 또한 우측 경계를 향하여 순서대로 진행된다(점선 화살표 i가 도 1에 도시된다). 프레임(I)의 우측 경계까지 동작이 완료되면, 문제된 행이 처리된다. 그러면, 처리 동작은 밑으로 다음 매크로블록 행을 행하여 진행된다. 그러면 처리 동작은 이미지 영역(I)의 좌측 경계로부터 시작하여 후속하는 매크로블록 행에 대해서 개시되어 진행한다(점선 화살표 ii가 도시된다). 이러한 동작은 이미지 프레임(I)의 좌측 최하단 모서리에 도달할 때까지 반복된다. 설정된 방법으로 이미지 프레임(I)이 처리된 이후에, 비디오 데이터의 경우 후속하는 이미지 프레임(I+1)이 처리된다. 이에 대해서 사전 이미지 프레임(I)으로부터 독립된 방법으로 상응하는 처리 프로시저가 수행된다. 물론, 진행되어야 할 다른 방법들도 존재 할 수 있다.
도 4는 블록-기반 처리에서 본 발명에 따른 방법의 접근법에 대한 일 실시예를 도시한다. 도 4에서, 이미지 프레임(I)의 처리 영역(PA)은 몇 개의 하위 영역(PAl, PA2, PA3)들을 포함하는 것으로 간주될 수 있다. 영역(PA)은 개별 매크로블록(MB)의 크기이다. 영역(PA)은 굵은 선으로 도시된 사각형 내부에 남아있는 흰 영역인 것으로 도시된다. 도 4에서, 영역(PA)을 처리하기 위하여 요구되는 둘레 영역(EAl, EA2, EA4)들은 점선으로 도시된다.
이미지 프레임(I)에서 처리 영역(PA)의 좌측 하부 PA3은 최후로 디코딩된 매크로 블록(MB)(N,M)을 주로 이용하여 형성된다. 바로 직전에 수행된 매크로블록의 디코딩 덕분에, 처리 영역(PA3)에 관련된 실제 매크로블록(MB)(N,M)으로부터의 데이터는 장치(10.2)의 메모리(17.2)에 저장된다. 더 나아가, 영역(PA3)의 주변 영역(EA4)의 데이터(영역(PA3)의 우측 하부에 위치)도 장치(10.2)의 메모리(17.2)에 저장된다. 이 영역(EA4)도 방금 디코딩되었고, 따라서 디코더(13)로부터 적절하게 이용될 수 있다. 도 4에서, 영역(EA4)은 영역(PA3) 및 매크로블록(MBP2, MBNl, MBN3, MBP3)에 의하여 경계지워진다.
처리 영역(PA)의 서브블록(PAl 및 PA2)들은 현재 처리중인 이미지 프레임(i)의 이전 인접 블록들(MBPl-MBP3)(=macroblock_previous)의 몇 개로부터 놀라운 방법으로 형성된다. 그러므로, 이러한 인접 블록들(MBPl-MBP3)로부터의 데이터는 메모리(17.1')에 저장되고, 이들 영역들(PAl-PA2) 및 그들의 둘레 영역(EAl-EA2)으로부터의 데이터도 저장된다. 저장 동작은 관련 매크로블록 MB(N,M)의 처리에 선행 하는 영역 처리에 관련되어 미리 수행된다.
이전 블록들(MBP1-MBP3)에 존재하는 하위 영역(PAl, PA2)은 본 발명에 따른 방법으로 처리되는 영역(PA)의 일부를 구성한다. 더 나아가, 이전 블록들(MBP1-MBP3)에 존재하는 영역(EAl 및 EA2)은 처리 영역(PA)의 외부에 잔류하는 주변 영역들의 좌측 상부를 구성한다. 특정 어플리케이션에서, 주변 영역(EAl, EA2)으로부터의 주변 데이터는 영역(PAl, PA2)에 속하고 있는 주변 영역을 적절하게 처리하기 위해 요구된다. 영역(PAl, PA2)의 가장자리 영역들은 처리 영역(PA)을 정의하는 경계(상부에서 좌측까지의 굵은 실선)에 근접한 픽셀들인 것으로 이해할 수 있으며, 따라서 이들의 일부에 대해서 처리중인 영역(PA)이 속한다.
전술된 바에 따르면, 임의의 시점에서 실제 처리 영역(PA)의 일부분은 적어도 일부가 처리되고, 따라서 적어도 사전에 디코딩될 수 있는 하나 또는 그 이상의 단위 블록(MBPl-MBP3)들로부터 형성된다. 이것에 기반하여, 임의의 시점에서 부분적으로 처리된 것으로 간주되는 실제 MB(N,M)에 대하여 해당 MB에 선행하는 블록(MBPl-MBP3)들의 픽셀들만을 사용하는 것이 가능하다. 이러한 블록(MBPl-MBP3)들은 장치(10.2)의 메모리(17.1)에서 사전 디코딩된다. 또한, 블록(MBPl-MBP3)의 적어도 일부는 상응하는 사전 처리 영역(PA)과 관련하여 사전에 처리되었을 수 있다.
본 발명에 따라서 처리 영역(PA)을 결정하는 방법의 결과로서, 실제 최종 블록 경계 MB(N, M)을 처리 진행 방향으로 전달할 필요가 없으며, 관련된 블록 MB(N, M)으로부터 처리 영역의 자신의 하위 영역(PA3)이 형성된다. 특히, 이것은 종래 기술에 의한 사전 처리 방법이 반드시 처리 영역(PA)의 우측에 위치된 블록들(MBN1-MBN4) 상에 수행되거나 처리 영역(PA)의 우측 하부 모서리에 위치한 실제 블록 MB(N, M) 하부의 블록에서 수행될 필요가 없도록 하고, 심지어는 후속하는 매크로블록 모두에 대해서 일반적으로 적용될 수 있다.
그 일부에 대해서 영역(PA1, PA2, PA3)을 형성하는 단위 블록들(MBP1-MBP3)은 본 발명에서 수 개의 상이한 방법으로 선택될 수 있다. 단순한 제1 실시예에 따르면, 사전 단위 블록 영역(PA1)은 오직 사전 단위 블록 행(M-1)으로부터 발견되는 인접 블록((MBP2)일 수 있고, 이것의 영역은 (N, M) 매크로블록의 처리 이전에 적어도 일부에 있어서 사전 처리되었을 수 있거나, 적어도 일부에 있어서 사전 디코딩되었을 수 있다. 또한, 추가적인 데이터는 적은 양만이 사전 매크로블록 행(M-1)으로부터 필요하며, 매크로블록(MBP1-MBP3)들은 처리중인 하위 영역(PA)으로부터 제공된다. 추가적인 데이터는 처리 중인 하위 영역(PA1)의 경계 부분들을 처리하기 위하여 사용된다. 이러한 경우에, 사전 코딩 동작은 영역(PA)을 둘러싸는 매크로블록들의 블록(MBN1)에 대해서 수행되어야 한다. 그럼에도 불구하고, 종래 기술에 따른 모든 후속 블록들을 포함하는 사전-디코딩 동작에 비교할 때, 장치(10.2)에서 발생하는 메모리 소모량에는 거의 영향이 없다.
예를 들어, 사전 매크로블록 행(M-1)으로부터, 블록(MBP1-MBP3)의 경계 영역(EA1, PA1)의 디코딩된 픽셀-행 데이터는 메모리에 저장되는데, 그 저장되는 양은 처리 프로시저 또는 알고리즘에 따라 달라진다. 또한, 픽셀들은 블록(MBP3)의 우측 경계로부터 요청되어 영역(EA2)을 형성한다. 이것들은 사전에 완전히 디코딩된 블록(MBP1-MBP3)들이기 때문에, 이들의 하부의 데이터는 바람직하게는 메모리(17.1) 내에 사용가능하도록 이미 대기중이다. 따라서 메모리 사용량 및 처리 시간 모두의 관점에서 처리 효율이 증가된다.
전술된 바에 따르면, 처리 중인 총 영역(PA1, PA3)은 실제 (N, M) 블록 경계로부터의 설정된 개수의 픽셀들에 의하여 상향 변위(displaced)되는 것으로 간주될 수도 있다. 이러한 경우에, 도 4에 도시된 실시예에 설명된 바와 같이, MB이상, 총면적 N, M) 매크로블록으로서 동일한 행 M 상에서는 좌측으로의 위치 변이(displacement)가 발생하지 않는다.
도 4에 도시된 본 발명의 제2 실시예에 따르면, 처리 중인 영역(PA)을 구성하는 단위 블록(MBP1-MBP2)들은 적어도 일부에 있어서 디코딩되며, 또한 적어도 부분적으로 사전 처리될 수 있는 영역들일 수 있는데, 이들은 사전 행 M-1에 더하여 단위 블록 열(N-1)로부터 얻어질 수 있다. 이러한 단위 블록 열 N-1도 주된 매크로블록 블록 MB(M, N)이라고 간주되는 처리 블록에 선행하여 적어도 일부에 있어서 디코딩된다. 이러한 디코딩 작업에 추가하여, 단위 블록 열 N-1은 그 영역에 있어서 적어도 부분적으로 처리되는 것이 가능하다. 매크로블록(MBP3=N-1, M)은 최후로 디코딩 및 처리될 블록인데, 이것은 블록 매크로블록(I)에서 주로 처리되는 것으로 인식되는 실제 매크로블록 영역 MB(N, M)에 즉시 선행하며, 따라서, 해당 블록 행렬(I)에서 동일한 매크로블록 행 M 내에 존재한다.
매크로블록(MBP3=N-1, M)에 관련된 데이터, 또는 적어도 이러한 블록(MBP3) 의 경계 영역(EA2, PA2)의 데이터는 여전히 장치(10,2)의 메모리(17.1) 내에서 디코딩되는 것이 바람직하다. 때문에, 해당 시점에서 주로 처리되는 것으로 간주되는 매크로블록 MB(N, M)의 처리 동작, 및 그 일부에 있어서 영역(PA)의 형성 동작은 영역(PA) 상부의 영역(PA1)의 데이터를 이용하고, 그것의 좌측에 위치하는 영역(PA2)의 데이터를 더 이용함으로써 수행될 수 있다.
처리 영역(PA)에 속하는 최하부의 수평 픽셀 행 및 우측 말단부의 수직 픽셀 열들은 현재 처리중인 영역(PA)을 주로 구성하는 최후의 실제 블록(여기서는 MB(N, M))의 우측 경계 및 하부 경계에 근접하여 존재하고, 따라서 영역(PA)에 후속하는 블록(MBP1-MBP4)들의 픽셀들로부터 하부 방향으로 또는 순방향으로 디코딩/저장되어야 할 필요가 없다. 그러므로, 이러한 솔루션은, 다른 무엇보다도 영역(PA)의 주위로부터 요구되는 추가적인 데이터를 정렬하기 위한 매우 효과적인 장치를 제공한다.
도 4로부터 알 수 있는 바와 같이, 처리되는 블록 영역(PAl, PA2, PA3)(주로=MB(N, M)은 실제 블록 영역 MB(N, M)에 선행하는 수직 및 수평 방향으로의 수 개의 픽셀들이다. 그러나, 여기에는 실제 블록 영역 MB(N, M)의 거의 모든 픽셀들이 포함된다. 그러므로, 실제 (N,M)-매크로블록의 분할 방법으로부터 얻어지는 처리의 진행 방향(도 1에 도시된 점선 화살표 I및 ii 참조)에 반대 방향 및 상향하는 방향 모두에 존재하는 설정된 개수의 픽셀들 만큼 영역(PA)이 변위된다. '변위'는 한번에 수행되는 처리량에 의존한다.
전술된 바에 기반하여, 본 발명에 따른 방법은 현재 처리되는 것으로 간주되 는 블록 MB(N, M)에 직접 선행하여 처리되는 영역들로부터 획득되는 픽셀 영역들(EA1, PA1, EA2, PA2)만을 이용하면 된다. 그 일부에 있어서, 이러한 영역(EA2, PA2)은 적어도 일부에 있어서 자신의 가장 최근 영역으로부터 사전 처리되고, 따라서 완전히 디코딩되는 매크로블록(MBP3)으로부터 형성된다. 제2 부분에 있어서, 이러한 영역(EA1, PA1)은 사전 매크로블록 행(M-1)으로부터의 인접 매크로블록(MBP1, MBP2)의 하부 영역들로부터 형성된다. 또한, 행 M-1은 이미 그 일부에 있어서 처리되며, 그 목적으로 해당 시점에서 처리되는 것으로 간주되는 행 M 의 처리 이전에 디코딩된다.
더 나아가, 전술된 모든 케이스에서, 현재 처리되는 실제 영역(PA)의 크기는, 실제 매크로블록 영역 MB(N, M)의 크기와 동일하다는 점에 주의하여야 한다.
본 발명은 방대한 양의 메모리를 요구하는 사전-처리 동작을 회피하기 위하여 사용될 수 있다. 종래 기술에 따르면, 사전 처리 동작은 해당 시점에서 처리되는 것으로 간주되는 매크로블록(N, M)에 후속하는 매크로블록들 또는 영역들(MBP1-MBP4)에 대해서도 수행되어야 한다.
각 처리 프로시저 또는 알고리즘에 의하여 요구되는 픽셀 데이터는 장치(10.2)의 임시 작업 메모리(17.1)에 저장될 수 있다. 영역(PA)을 형성 및 둘러싸는 영역들(EA1, EA2, EA4) 및 그에 따른 실제 (N, M) 단위-행렬 분할 내의 처리 영역(PA)의 '변위'에 대한 일부분의 픽셀 데이터의 양은 해당 시점에서 사용되는 처리 알고리즘 또는 알고리즘 등을 결정한다.
도 5는 전자 장치(10.2)에서 사용되는 방법에서 요구하는 메모리 양의 일 예 를 도시한다. 처리되는 블록 영역(PA1, PA2, PA3)의 인접 크기 및 결과적으로 해당 방법에서 요구하는 메모리의 양은 대략적으로 해당 영역(PA1, PA2, PA3)에 대해 수행되는 처리 방법에 의존한다는 것이 전술된 바 있다. 해당 어플리케이션의 제1 실시예로서, 다음과 같은 실시예는 블록-기반 이미지 스케일링을 개시하는데, 여기에 본 발명에 따른 방법이 적용될 수 있다.
이미지 스케일링에서, 영역(PA1, PA2, PA3)은 출력 이미지로 스케일링되는 이미지 영역(PA)을 나타낸다. 후술되는 어플리케이션 예시에서, 스케일링은 상향으로 수행되고, 즉, 더 큰 이미지 방향으로(더 높은 해상도로) 수행된다. 본 발명은 다운스케일링에도 동일하게 적용될 수 있으며, 즉, 더 낮은 해상도로의 스케일링에도 적용될 수 있다.
스케일링에서, 선택된 보간 알고리즘이 적용된다. 보간 알고리즘들은 입력 데이터 및 특정 코어의 선형 조합에 기반하는데, 이에 대해서는 본 발명에 관련하여 더 상세히 설명될 필요가 없다. 보간된 픽셀 값들은 인접 픽셀들의 선형 조합으로서 연산될 수 있다. 이에 관련하여, 두 가지 방법의 예들이 적용될 수 있다. 이러한 방법들 중 첫 번째 것은 바이리니어 보간(bilinear interpolation, BIL) 이며, 두 번째 것은 바이큐빅 콘볼루션 보간(bicubic convolution interpolation, BIC)이다.
바이리니어 보간(BIL)에서, 네 개의 (2 x 2) 인근 픽셀 값들이 픽셀 값을 연산하기 위하여 사용된다. 그리하여, 처리되는 픽셀의 모든 측면의 해당 측면에서의 하나의 픽셀이 해당 픽셀 주위로부터 요구된다. 바이큐빅 콘볼루션 보간에서, 16개의 (4.x 4) 픽셀값을이 픽셀 값을 연산하는데 사용된다. 그러므로, 두 개의 연속 픽셀들이 해당 픽셀 주위의 모든 측면으로부터 연장되며, 이들이 필요하다. 전술된 바에 따르면, 본 예시에서와 같이, 영역(PA1, PA2, PA3)이 매크로블록 MB(N, M)의 크기에 상응하는 영역에 대해서, 해당 영역으로부터의 하나 또는 두 개의 픽셀 열 및 행이 요구될 수도 있다(도 5에서 k=1 또는 k=2이다). 그러므로, 최외곽 픽셀 행들의 몇 개가 블록 영역(PA1, PA2, PA3)에 속한다.
처리되는 영역(PA1, PA2, PA3) 주위로부터의 요구되는 하나 또는 두 개의 픽셀 행렬들 및 행들은 처리되는 영역(PA1, PA2, PA3)의 바로 외곽에 위치한다. 2개의 픽셀-행이 사용되는 경우에, 이들은 일반적으로 처리되는 픽셀에 관하여 본질적으로 순차적으로 확장한다. 이에 상응하여, 영역(PA1, PA2, PA3) 내의 각 픽셀의 보간 동작(본 방법에 따른 보간법에 기반하면), 하나 또는 두 개의 픽셀들이 처리중인 실제 픽셀 주위에서 순차적으로 확장한다.
모든 시점에서의 스케일링 처리의 대상인 영역(PA1, PA2, PA3)은 사전에 적어도 디코딩되거나 이미 부분적으로 적어도 스케일링된 영역으로부터 처리될 수 있는 단위 블록(MBP1-MBP3)들의 방향에서 소정 개수의 픽셀 집합이 되도록 선택되기 때문에, 이러한 방향에서의 (N, M) 매크로블록들 외곽의 픽셀 행(EA1) 및 열(EA2)을 정의하는데 고려해야 한다. 그러나, 전체 영역(PA1, PA2, PA3)은 여전히 요구되는 처리 영역(PA)의 크기라는 점에 주의하여야 한다.
전술된 바에 기반하여, 바이리니어 보간(BIL)은 현재 주로 처리되는 것으로 간주되는 매크로블록 MB(N, M)의 좌측 블록 영역으로부터 두 개의 픽셀 열들(EA1, PA2) 및 행들(EA1, PA1)을 요구하고, 이에 상응하여 블록 영역들(MBP1-MBP3)의 상부로부터의 두 개씩을 요구한다(도 5에서 BIL=1+1=2이다). 이러한 픽셀 행(EA1, PA1) 및 열(EA2, PA2)D 중에서, 그 일부에서 영역(PA3)에 더 인접한 영역들(PA1, PA2)이 처리중인 영역(PA)을 구성한다. 이에 상응하여, 영역(PA3)에 대하여 외곽의 영역들(EA1, EA2)이 스케일링에 의하여 요구되는 영역(PA) 외부의 주위 데이터를 나타낸다.
바이큐빅 콘볼루션 보간(BIC)은 네 개의 픽셀 열(EA2, PA2) 및 열(EA1, PA1)을 현재 주로 처리되는 것으로 간주되는 매크로블록 영역 MB(N, M)의 좌측 블록 영역들로부터 요구하는데, 이에 상응하여 상부 블록 영역(MBP3, MBP1, MBP2)의 상부 블록 영역들도 요구하고(도 5에서, BIC=2+2=4이다), 이들은 적어도 사전 디코딩되고 아마도 적어도 부분적으로 처리된 것들이다. 이러한 픽셀 행들(EA1, PA1) 및 열들(EA2, PA2)로부터, 영역(PA3)에 더 근접한 영역들(PA1, PA2)이 그들에 대해서 처리 중인 영역(PA)을 구성한다. 이에 상응하여 영역(PA3)에 대하여 외곽에 위치하는 두 개의 영역들(EA1, EA2)이 스케일링에 의하여 요구되는 영역(PA)의 외부에 존재하는 주변 데이터를 나타낸다.
자연적으로, 스케일링을 위한 데이터는 이에 대응하는 방법으로 영역(PA3)의 외곽 영역(EA4) 및 우측 영역(EA4)으로부터 요구되며, 따라서, 최하부 경계의 픽셀들 및 영역(PA)에 속하는 최우측 경계에서의 픽셀들이 적합하게 스케일링될 수 있다(도 5에서 매크로블록 MB(N, M) 회색 영역(EA4)에 해당한다). 영역(PA3)의 하부 영역(EA4)으로부터 실제 매크로블록 MB(N, M) 블록 경계의 하부 경계까지 요구된 다. 데이터는 영역(PA3)으로부터 실제 MB(N, M) 블록 경계의 좌측 경계까지 요구된다. 영역(PA)은 '적합하게' 변위되었기 때문에, 전술된 방법에서는 상향 방향 및 좌측 방향 모두에서 적합하게 수행되며, 영역(PA3)의 하부 경계 및 우측 경계에 의하여 요구되는 추가적인 데이터도 고려될 것이며, 추후에 스케일링될 블록들(MBP1-MBP4)에 대한 사전-코딩이 필요가 없다.
바이리니어 보간(BIL)에서, 현재 시점에서 처리되는 매크로블록의 크기에 상응하는 영역(PA1, PA2, PA3)은 (N, M) 단위-행렬 매크로블록 분할에 대하여 한 픽셀 열만큼 변위될 수 있으며, 이 경우 해당 영역에서 적어도 부분적으로 사전 처리될 수 있는 및 적어도 디코딩될 수 있는 매크로블록 영역(MBP3)의 방향으로 수행된다. 이에 상응하여, 처리되는 매크로블록 영역(PA1, PA2, PA3)의 상향 변위는 전술된 특성을 가진, 영역들(MBP1-MBP2)의 방향으로의 한 픽셀 행일 수 있다. 그러면, 영역(PA)은, 그 상부에 있어서, 현재 처리되는 것으로 간주되는 매크로블록 행 M의 상향 경계 상부의 한 픽셀 행일 것이다. 이에 상응하여, 영역(PA)은 현재 처리되는 것으로 간주되는 매크로블록 블록 M의 하부 경계 상부의 한 픽셀 행일 것이다.
바이큐빅 콘볼루션 보간(BIC)에서, 현재 시점에서 처리되는 매크로블록의 크기에 상응하는 영역(PA1, PA2, PA3)은 (N, M) 단위-행렬 매크로블록 분할에 대하여 두 픽셀 열만큼 변위될 수 있으며, 이 경우 해당 영역에서 적어도 부분적으로 사전 처리될 수 있는 및 적어도 디코딩될 수 있는 매크로블록 영역(MBP3)의 방향으로 수행된다. 이에 상응하여, 처리되는 매크로블록 영역(PA1, PA2, PA3)의 상향 변위 는 전술된 특성을 가진, 영역들(MBP1-MBP2)의 방향으로의 두 픽셀 행일 수 있다. 그러면, 영역(PA)은, 그 상부에 있어서, 현재 처리되는 것으로 간주되는 매크로블록 행 M의 상향 경계 상부의 두 픽셀 행일 것이다. 이에 상응하여, 영역(PA)은 현재 처리되는 것으로 간주되는 매크로블록 블록 M의 하부 경계 상부의 두 픽셀 행일 것이다.
현재 시점에서 처리되는 블록(PA)의 사전 블록들(MBPx)로부터 현재 블록(PA)까지의 수평 및 수직 픽셀 라인들 BIL/BIC의 필요한 양, 또는 일반적으로 현재 처리되는 영역(PA)의 처리를 위한 영역들 및 그 일부에 대하여 처리되는 영역(PA)을 형성하기 위하여 필요한 양은 장치(10.2)의 메모리(17.1)에 저장된다. 이러한 픽셀 라인들은 도 5에서 음영 영역으로서 도시된다. 그러므로, 실제 MB(N, M) 단위 블록들 외부로부터의 데이터는 현재 처리되는 영역(PA)의 경계 영역(PA1, PA2)을 형성하기 위하여 및 해당 영역의 경계 영역들(PA1, PA2)의 적합한 처리를 위하여 요구된다.
처리되는 영역(PA)이 점검될 때, 해당 영역들 EAl+PAl 의 높이는 라인 메모리의 L개의 조각들과 같다. 영역 EAl + PAl의 길이는 실제 MB(N,M) 매크로블록(= 16 픽셀)+ L의 너비이다. 영역(PA)이 실제 (N, M) 블록 분할로부터 좌측으로 변위되었기 때문에 L 이 도입된다. 그러므로, 블록(MBP1)으로부터 수평 방향으로 L 개의 픽셀 열들이 더 요구되며, 이는 영역(EA1, PA1)을 형성하고 해당 영역(PA1)을 처리하기 위한 것이다. 다시 말하면, EAl + PAl = L*(16 + L)이다.
이에 상응하여, 영역EA2 + PA2의 크기는 이전의 매크로블록(MBP3)으로부터의 매크로블록(MB)(N,M)(= 16 픽셀)+ L 픽셀 열들이다. 다시 말하면, EA2 + PA2 = 16*L이다. 이러한 스케일링 경우에서, L = S + S이며, 즉, 적용되는 보간 방법에 따라서 L = 1 + 1 또는 L = 2 이다.
이 픽셀 라인들은 모든 픽셀 행 BIL/BIC의 첫 번째를 포함할 수 있다. 이것은 적어도 처리 영역(PA1, PA2, PA3)을 선행하는 블록 행(M-1)으로부터 요구되는데, 이들로부터 관련된 인접 블록들(MBP1, MBP2)의 하부 픽셀 행들의 요구되는 부분들이 고려될 수 있다. 영역(PA1)의 경우에, 보간 방법에 따라서 필요한 행들은 처리되는 영역(PA)을 정의하는 수직 라인(도 5에서는 포인트 S로부터)에 선행하여 하나 또는 두 개의 픽셀 열들을 개시한다. 이러한 경우에, 픽셀 행들 BIL/BIC(= EAl + PAl)의 개수는 L = 2 또는 4이며, 이것은 사용되는 보간법에 따라 달라진다.
포인트 S 로부터 시작되는, 처리중인 영역(PA)의 상부 영역들(MBP1, MBP2)의 수 개의 픽셀 행들에 추가하여, 수 개의 하부 픽셀 행들 BIL/BIC(=EA1', PA1')이 현재 시점에서 처리되는 것으로 간주되는 실제 블록 MB(N,)과 함께 동일 라인 M 상의 블록(MBP3)으로부터 메모리(17.1)에서 유지된다. 이러한 행들은 이미지(I)의 좌측으로부터 개시되며, 따라서 이들은 현재 처리되는 영역(PA)에 의하여 요구되는 주위 픽셀들에 의하여 형성되는 경계라인(E)만큼, 이미 사전 처리된 블록(MBP3)의 좌측으로까지의 블록들의 데이터를 포함한다. 그러면, 도 5에서 경계 라인들 S 및 E 가 실질적으로 동일한 수직 라인들 상에 위치한다는 점을 알 수 있다. 이러한 예시에 따른 경우에서, 이러한 추가적인 데이터 행에 대해서, 메모리(17.1) 내의 픽셀들의 개수는 픽셀 단위로 이미지 프레임(I)의 수평 크기를 대략 L 로 곱한 결 과로서 구성된다.
더 나아가, 현재 처리 중인 것으로 간주되는 매크로블록 MB(N, M)에 선행하는 블록(MBP3)의 몇 개의 수직 픽셀 열들도 작업 메모리(17.1) 내에 저장된다. 이러한 픽셀들(=EA2+PA2)은 도 5에서 음영(hatching)으로 표시된다. 제공된 예시의 경우, 이러한 픽셀들의 개수는 L*16 픽셀에 해당한다. 이것은 처리중인 영역(PA)의 높이가 매크로블록 MB의 크기 MB_size에 상응하기 때문이다. 장치(10.2)의 메모리(17.1) 내의 공간 중 적은 양이 이러한 영역(EA2+PA2)에 대하여 요구된다.
현재 처리되는 것으로 간주되는 실제 영역 MB(N, M)의 주변 영역들(MBP1-MBP3)로부터 요구되는 픽셀들의 개수는, 따라서 이러한 경우 적용되는 처리 알고리즘에 따라 달라진다. 전술된 경우 16X16 픽셀들로 나타난 블록 크기(매크로블록-기반 처리 방법에서)는 예시적인 목적으로 제공된 것일 뿐이며, 본 발명의 기술적 사상을 한정하기 위한 목적으로 제공된 것이 절대 아니다. 그러므로, 모든 블록 크기가 고려될 수 있다.
또한, 전술된 바와 같이 정의된 경계 영역들(PA1, PA2)을 처리하기 위하여 요구되는 픽셀들에 대하여, 그리고 실제 처리 영역(PA)을 형성하는 그것의 일부에 대하여, 처리중인 영역(PA)의 일부를 형성하기 위한 하부 영역(PA3)의 데이터를 저장하기 위하여, 메모리(17.2)가 요구되는데, 이것은 도 5에서 회색의 16x16 영역으로 도시된다. 이 영역 PA3+EA4은 전체적으로 메모리(17.2)에 적합한데, 그 이유는 그것이 바로 직전에 디코딩되었기 때문이다. 그러나 또한 필요한 다른 메모리도 물론 존재하는데, 이들은 스케일링된 매크로블록(PA)의 결과 블록(12.3)을 저장하 기 위하여 사용되는 메모리(17.3)이다. 이 메모리(17.3)의 크기는, 예를 들면 스케일링 인자에 따라서 변화될 수 있다. 결과적으로 얻어지는 블록(12.3)은 관련된 블록 영역(PA)의 처리가 끝난 직후에, 디스플레이 메모리 또는 저장소(15)로 직접 이동될 수 있다.
전술된 사항에서 언급된 두 가지 스케일링 프로시저 모두에서, 본 발명에 따르는 방법은 요구되는 스케일링 작업을 수행하기 위한 메모리 효율적인 방법을 제공한다.
도 6은 본 발명에 따른 방법이 역시 적용될 수 있는, 블록-기반 이미지 스케일링 및 디블로킹이 적용되는 어플리케이션의 두 번째 실시예를 도시한다. 참고로 제공된 케이스에서, 영역들(PA1, PA2, PA3)은 도 4 및 도 5에 참조되는데, 이 도면에서 이러한 영역들의 위치는 처리중인 영역(PA) 내의 지점으로 도시된다. 디블로킹(18)은, 블록-기반 데이터로부터 형성된 처리 영역(PA) 상에 스케일링이 수행되기 때문에 요구된다. 이러한 경우에, 영역(PA)은 주로 수 개의 8x8 블록들(B1-B4)의 일부분들을 포함한다. 스케일러(14.1)에 의하여 요구되는 영역은 파쇄선에 의하여 둘러싸여진 사각형 내부에 잔존하는 s-영역인 것으로 도시된다. 디블로킹(18)에 의하여 요구되는 영역은, 도 6의 경우에 어두운 부분 및 옅은 회색 영역인 것으로 도시되는데, 이것들은 이러한 경우에 영역(PA) 및 해당 영역(PA)의 우측 및 하부에 존재하는 몇 개의 픽셀들을 포함하며, 이러한 사실은 도 6으로부터 용이하게 파악될 수 있다.
도 7은 본 발명의 제2 실시예에 따른 경우에서, 후처리 과정을 구현하기 위 한 방법의 블록도를 예시하는 도면이다. 도 7에서, 디블로킹(18)은 디코딩(13)이후에 처리되는데, 하지만 스케일링(14.1) 및 이미지 향상 동작 이전에 수행된다. 반면에, 스케일링 인자가 1인 경우로서, 오직 디블로킹(18)만 수행할 필요가 있는 경우도 가끔 존재한다. 이러한 경우에도, 스케일링(14.1) 이후에는 영상 개선 처리(14.2)가 후속될 수 있다. 반면에, 영상 개선 처리 동작도 스케일링(14.1)에 선행할 수 있다. 이것은 스케일링(14.1) 이후보다 스케일링(14.1) 이전에 픽셀들의 개수가 더 적기 때문에, 영상 개선 처리 동작을 스케일링(14.1) 동작 이전에 처리하는 것이 더 바람직할 수 있기 때문이다. 블록-기반 처리 동작 역시 다른 동작들을 포함할 수 있다는 점에 주의하여야 하며, 이러한 동작들은 명세서의 간략화를 위하여 도시된 실시예에서는 개시되지 않았다는 점에 명심한다.
비디오 데이터 또는 이미지 데이터(12.1)의 후처리 체인(16)도 디블로킹 필터(18)를 포함한다면, 필터에 의하여 요구되는 데이터 역시 고려하여야 한다. 도 6에서 알 수 있는 바와 같이, 디블로킹 필터(18)는 처리중인 영역(PA) 주위에 존재하며, 처리 동작에 의하여 요구되는 영역들을 다소 증가시킬 수 있으며, 이는 예를 들어 스케일링 자체에 대하여만 비교하면 더욱 그러하다. 도 6은 디블로킹 처리에 의하여 요구되는 추가적인 픽셀들(M, D, A)의 일 예를 도시한다. 스케일링 및 디블로킹 방법이 상이하면, 추가적인 픽셀들의 양도 달라진다는 점에 주의하여야 하며, 이는 도 8a 내지 도 8e로부터 알 수 있다. 그러나, 처리 동작(18, 14.1) 모두에 대해서 추가적인 개수의 픽셀들이 요구된다.
이 점에 대하여, 디블로킹(18)에 관련된 기초 기술에 대해서 더 상세히 설명 하는 것은 적당하지 않으며, 그 대신에 출원인의 공개 출원번호 WO 98/41025에 대하여 참조할 수는 있다. 해당 공개 출원은 블로킹에 의하여 야기되는 아티팩트들을 방지하기 위한 적응형 필터를 개시한다.
그러나, 필터(18)는 DCT 변환 인자(즉, 아티팩트)의 정량화(quantification)에 의하여 야기된 이미지(I)의 블로킹을 제거하기 위하여 사용된다는 점을 언급하는 것으로, 디블로킹의 기본 원리에 대하여 논하면 충분하다. 일반적인 원리에서, 필터(18)는, 예를 들어 실제 블록 경계인 B-edge, MB-edge의 양쪽 측면 모두에서 세 개의 픽셀 행들을 수정하는 방식으로 동작한다. 필터(18)의 차수를 정의하기 위하여는, 블록 경계인 B-edge, MB-edge의 양쪽 측면 모두에서 6개의 픽셀 행들이 필요하다(즉, 모두 12개의 픽셀 행 및 열들이 필요하다). 6개의 픽셀 행들 중 3개의 인접한 픽셀 행들 M은 블록 경계인 B-edge, MB-edge의 양쪽 측면 모두에서 수정된다. 또한, 각 측면에서 3개의 후속 픽셀 행들(D)이 검출 픽셀로써 이용된다. 이들은 블로킹 에러를 검출하는데 사용된다.
영역(PA)의 스케일링(14.1)에서 바이큐빅 콘볼루션 보간(BIC)을 이용할 것이라면, 또한 전술된 바와 같은 WO 공개 특허에서 다뤄진 출원인의 디블로킹(18)에서의 디블로킹 필터에서(이들은 블록-기반 처리를 위하여 수정된 것이다), 매크로블록 영역(MB)의 경계(MB-edge) 및 처리 영역(PA) 사이의 영역들로부터의 픽셀이 도 6의 하부에서 밑줄친 바와 같은 라인-메모리 장치에 따라서 영역(MB)의 경계 영역들을 처리하기 위하여 요구된다. 이러한 라인-메모리 장치 및 그 형성 원리는 도 8a 내지 도 8e를 참고하여 더욱 상세히 후술된다. 이러한 중간 영역(MB-edge-PA- edge=PA1, PA2)도 본 발명에 의한 방법에 따르는 것인데, 그 이유는 이 중간 영역이 적어도 일부에 의하여 사전 처리될 수 있거나, 적어도 사전 스테이지에서 이미 코딩되었을 수 있는 블록(BP1-BP5)의 영역들(PA1, PA2) 내에 존재하기 때문이다.
전술된 설명에 따르면, 중간 영역(MB-edge - PA-edge)으로부터 수정된 디블로킹 픽셀들 M 이 요구되는데, 예를 들면 디블로킹 검출기에 의하여 요구되는 3 개의 픽셀 행들 및 픽셀 D 가 역시 요구되고, 예를 들면 3개의 픽셀 행들도 요구된다. 또한, 스케일러에 의하여 요구되는 가능한 추가적 픽셀들 A도 요구될 수 있는데, 이들은 예를 들면 디블로킹 검출기에 의하여 요구되는 픽셀들의 개수에 따라서 변화된다. 이러한 경우에, 스케일러에 의하여 요구되는 추가적인 픽셀들 A는 A=S-D=-1<0 -> A=0 픽셀 행들의 양만큼에 해당한다. MB 경계 MB-edge의 다른 측면에서(즉 영역 B1-B3에서), M- 및 D- 픽셀들이 이에 상응하여 요구되는데, 이는 MB-edge - PA-edge 중간 영역에서도 마찬가지이다. 더 나아가, 영역(PA) 외부에 위치하고 스케일러(14.1)에 의하여 요구되는 픽셀들tmzpdlffj 의 2개의 픽셀 행들이 이제 필요한데, 또한 선행하는 블록들(BP1-BP5)의 영역 내에 존재하는 EA1 및 EA2의 영역들도 요구된다.
관심 대상인 디블로킹 필터(18)의 경우에, 스케일러(14.1)에 의하여 요구되는 추가적인 픽셀 A 의 개수는 영역(PA)(A=0)으로부터 전혀 없다. 이것은, 관련된 실시예에 적용된 디블로킹 필터(18)는, 수정된 영역에 덧붙여서(M=3 픽셀), 3개의 검출기 픽셀들 D 및 두 개의 스케일링 픽셀들 S를 영역(PA)의 측면으로부터 요구함으로써, 실제 스케일링을 수행하기 때문이다. 이러한 경우에, 스케일러(14.1)에 의하여 요구되는 픽셀들 자체는 영역(PA1, PA2)을 형성하는 D-GOD/열 내에 포함되는데, 그 이유는 제1 S에 의하여 요구되는 위치 내에서도 D-픽셀이 존재할 수 있기 때문이다. 예를 들면, 스케일러(14.1)에 의하여 추가적인 픽셀 A 가 요구되는데, 이러한 경우 S 픽셀들을 영역(PA) 측으로 정렬하기에 충분한 D-픽셀들이 존재하지 않는 경우이다. 이러한 경우, 스케일러에 의하여 요청된 누락된 픽셀들이 이러한 픽셀들이다.
라인 메모리 요구량에 대해서는 도 8a 내지 도 8e를 참고하여 더욱 상세히 도시될 것이다. 이러한 도면들에서, 스케일러의 S 개의 상위/좌측 픽셀들은 도 6에 도시된 영역(PA1 및 PA2)의 PA-edge의 상부 및 좌측의 픽셀들을 나타낸다. 이에 상응하여, 스케일러의 S 개의 하위/우측 픽셀들은 도 6에 도시된 영역(PA1 및 PA2)의 PA-edge의 하부 및 우측의 픽셀들을 나타낸다. 도 6의 하부 경계에서의 대략적인 도면은 라인 메모리 요구량을 나타내는데, 이러한 도면에서는 도면의 간략화를 위하여 스케일러의 S 개의 하부/우측 픽셀들을 도시되지 않았지만, 그들도 A 및 D-픽셀 라인들에 포함될 수 있으며, 이러한 사항은 사용되는 처리 알고리즘에 따라서 변경될 수 있다는 점에 주의해야 한다.
도 8a는 본 발명에 따른 라인-메모리 장치의 제1 실시예를 도시한다. 관심의 대상이 되는 경우에서, 디블로킹 필터(18)가 채택되었으며, 여기서 수정된 픽셀들 M에 추가하여 한 개가 아닌 검출 픽셀 D가 요구된다. 이러한 경우에, 스케일러(14.1)에 의하여 요구되는 픽셀들의 개수는 스케일러에 의하여 요구된 픽셀들 S 의 개수이며, 즉, 도시된 경우에는 2+2 이다. 그러므로, 라인 메모리는 M+S+S 개 의 픽셀들을 저장할 수 있도록 요구된다.
도 8b는 본 발명에 따른 라인-메모리 장치의 제2 실시예를 도시한다. 도시된 실시예에서, 검출 픽셀 D의 개수는 0이 아니고, 몇 개의 픽셀들(=1)에 해당한다. 그러나, 검출 픽셀 D의 개수는 이제 S(=2)보다 작고, 즉, D<S 가 만족된다. 이러한 경우에, 스케일러(14.1)에 의하여 요구되는 추가적인 픽셀들 A 의 개수는 A=S-D=2-1=1개의 픽셀에 해당한다. 일반적 수준에서, 스케일러에 의하여 요구되는 추가적인 픽셀들 A 의 개수는 A=max(0, S-D)의 형태를 가진다고 볼 수 있다.
도 8c는 본 발명에 따른 라인-메모리 장치의 제3 실시예를 도시한다. 도시된 실시예에서, 영역(PA1, PA2)에 속한 경계 영역 PA-edge에 가장 근접하도록 위치된 최외곽 검출 픽셀들 D도 스케일러에서 사용될 수 있으나, 요구되는 검출 픽셀들 D 의 개수는 S-pixels의 개수보다 크다. 이제 D>S 이기 때문에, 픽셀들의 개수는 이제 M+D+S가 된다.
도 8d는 본 발명에 따른 라인-메모리 장치의 제4 및 제5 실시예를 도시한다. 도시된 실시예에서, 메모리 요구량은 이미 매우 적도록 압축되었다. 도시된 경우에도, D>S 가 만족된다. 그러나, 두 개의 후속하는 경우들 중 어떤 것이 더 큰지(즉, M+S+S 및 M+D 중 어느 것이 더 큰지) 적합한지에 대한 판단에 기반하여 선택된 실장 방법은 선택된다. 도 8d에 도시된 경우에, S+S는 D 보다 더 크고, 따라서 스케일러에 의하여 요구되는 하나의 추가적인 픽셀 행이 해당 D-영역에서 상위에 존재하게 되고, 따라서 메모리 요구량은 M+S+S 가 된다. 이러한 추가적인 픽셀 행은 디블로킹에 의하여 요구되는 픽셀들과 공통되지 않는다.
도 8e는 메모리 요구량에 관련된 또 다른 제5 실시예를 도시한다. 이 경우에, 이전의 실시예에 관련하여 판단할 때, D>S+S 의 공식은 여전히 유효하다. 그 결과로서, 라인 메모리의 크기는 디블로킹 필터(18)에 의해서만 결정된다. 그러면, 메모리 요구량은 M+D가 된다.
일반적인 수준에서, 장치(10.2)는 대략적으로 (M+ max(S+S, D))x(처리중인 이미지 프레임(I)의 너비 + 처리 영역(PA)의 높이)에 해당하는 양의 추가적인 데이터에 대해 예약되는 메모리(17.1)를 요구한다. 또한, 메모리(17.2)는 최후에 코딩된 매크로블록 MB(N, M)에 대하여도 요구되고, 이 매크로블록 내에 영역(PA3, PA4)이 위치한다. 이미지(I)의 수평 크기는 수평 추가 데이터를 나타내며, 이것은 이미지(I)의 좌측 경계로부터 시작되고, 우측 경계까지 진행한다. PA 높이 부분은 (N, M) 매크로블록 영역의 가장 좌측에 위치한 단위 블록(B4, B5)으로부터의 추가적인 수직 데이터를 나타낸다.
이미지 프레임(I) 내에서 처리가 진행되는 동안, 라인 메모리(17.1) 내에 저장되는 데이터는 변화되는 것으로 볼 수 있다. 데이터는 처리중인 영역(PA)으로부터 후속 영역으로의 이동, 또는 예를 들어 하나의 매크로블록 행으로부터 다음 행으로의 변화에 따라 변화된다. 처리가 진행 중일 때의 예를 들면, 이미지 프레임(I)의 중앙부에서 정의된 영역(PA)은 도 6의 경우 처리되는 것으로 간주될 수 있으며, 그러면 데이터 변화는 그 자체로서 원리에 따르면 라인 메모리(17.1)의 중앙에서 발생하는데, 수평 방향으로 이미지(I)의 수평 방향으로 처리되는 영역(PA)의 위치까지로 이동하는 것으로 간주될 수 있다.
처리중인 영역(PA)에 속하는 최하부 블록 행(B3, B4)의 하부 경계들인 MDS-픽셀 행들(EA1', PA1')은 전술된 바와 같이 소개된 바 있으며, 이들은 매크로블록 행으로부터 라인 메모리(17.1) 내에 저장되고, 여기서부터 처리중인 영역(PA)은 본 발명에 따른 방법으로 형성된다. 이러한 경우에, 라인 메모리(17.1) 내의 S, A, D, M 픽셀 행들은 이미지 프레임(I)의 최좌측 경계로부터 시작하여 처리중인 영역(PA)의 좌측 경계까지 계속되거나, 특히, 처리중인 영역(PA)의 지점까지 계속됨으로써, 스케일러에 의하여 요구되고 파쇄선으로 도시된 수직 픽셀 라인 E까지 연속된다. 이미지 프레임(I)의 시작점의 데이터는, 라인 메모리(17.1)내에 저장되는데, 이들은 현재 영역(PA) 하부에 위치한 블록 영역(BND)으로부터 형성된 처리 영역이 처리되기 시작할 때의 스테이지에서만 요구된다. 예를 들어, 현재 매크로블록 라인 상에서 순차적인 처리 영역들을 처리하는 동안에, 즉, 해당 시점에서의 처리 대상인 블록 영역(PA)을 처리하는 동안에, 영역(EA1', PA1')의 E 지점까지 확장하는 데이터는 더 이상 요청되지 않는다.
하부 경계의 말단 지점 E로부터 순방향으로 진행하면, 구 픽셀 행들 S, A, D, M들은 처리되는 영역(PA)의 상부를 정의하고 영역(PA)의 상부 경계와 관련되며, 이들은 라인 메모리(17.1)에 저장되는 것으로 간주될 수 있다. 이들은 이미지(I)의 우측 경계로까지 연속된다. 그러므로, 수평 방향에서, 이러한 이전의 추가적인 라인들(EA1, PA1)로서, 사전 처리된 매크로블록 라인의 처리와 관련하여 라인 메모리(17.1)에 저장된 라인들이 영역(PA)의 처리를 위하여, 및 물론 이를 형성하기 위하여 요구된다. 더 나아가, 라인 메모리(17.1)는 영역(PA)의 상부의 데이터로부터 이미지(I)의 우측 경계로까지 연속된다. 이러한 데이터는 영역(PA)에 후속하는 영역들(예를 들면 BNR)의 처리를 위하여 요구된다.
이에 상응하여, 현재의 경우에는 특히 처리 중인 영역(PA)의 좌측 경계에 근접한 수직 영역, 즉, 현재 처리되는 것으로 간주되는 실제 매크로블록의 영역(EA2, PA2)을 더욱 고려하는 것도 필요하다. 이러한 데이터는 본 발명에 의한 방법에 의하여 요구되는 픽셀-열의 짧은 조각을 포함한다. 영역(EA2, PA2)의 크기는 처리중인 영역(PA)의 높이* SADM 픽셀 행의 높이 에 해당하며, 이는 MB-height*L 과 같다. 모두 합쳐지면, 이러한 데이터는 수직 SADM-픽셀 열들에 의하여 형성된 추가적인 데이터 열을 형성하고, 이것은 하부 영역(PA2)으로부터 처리중인 블록 영역(PA)을 형성하기 위하여 이용되며, 현재 관심 대상인 처리 케이스(-스케일링 및 디블로킹) 내의 영역(PA)의 좌측 하위 영역(PA2)을 적합하게 고려하기 위하여 필요하다. 그러므로, 추가적인 데이터 열의 데이터는 그 일부로부터 처리중인 영역(PA2)의 일부를 형성하고, 또한 그 주변 영역(EA2)도 형성한다.
처리 동작이 블록 영역(PA)에서 수행될 때, 또는 적어도 관련 영역(PA)의 처리에 처리 이후에 늦어도 수행될 때, 전술된 갱신 동작이 라인 메모리(17.1) 내에 저장된 데이터에 대해서 수행된다. 이러한 변화에서, 처리중인 블록 영역(PA)의 하부 경계 지점으로부터의 추가적인 신규 라인들이 라인 메모리(17.1) 내에 우선 저장된다. 이러한 신규 라인들은 지점 E 로부터 영역(EA1', PA1')으로의 연속성(continuation)을 형성하기 위하여 이동되는 것으로 이해될 수 있는데, 이들은 본 발명에 따른 방법에서 후속 처리될 블록 영역(BND)의 처리 동작에서 사용된다.
이에 상응하여 처리중인 블록 영역(PA) 및 실제 매크로블록의 우측 경계에서의 S, D, M-pixel 열들도 본 발명에 따른 방법에서 추가적인 수직 데이터 열(EA2, PA2)을 위하여 예약된 지점에서 라인 메모리 내에 저장된다. 신규한 '추가 열 데이터'는 MB-height*L 의 크기를 가지는데, 이것은 후속 PA의 영역(PA2)을 형성하고 그것의 경계부분들(후속 영역(PA)의 영역인 EA2)을 처리하기 위하여, 처리를 위하여 고려되어야 하는 후속 영역(BNR)의 좌측 경계로부터 요구되는 추가적인 데이터이다. 이러한 전술된 갱신들은, 라인 메모리(17.1) 내에 이를 위하여 유지되는 데이터가 더 이상 필요없어질 시점까지 현재 영역(PA)이 처리되었을 때에만 수행될 수 있다.
이제 라인 메모리(17.1) 내의 데이터 사이클에 대한 구현예에 대한 좀더 상세한 설명이 후술된다. 관련 블록(PA)의 처리 동안에 디블로킹이 수행된 이후 및 관련 영역(PA)의 처리를 위하여 추가적인 라인들(EA1, PA1)이 더 이상 필요없는 지점까지 스케일링이 수행된 이후에, 높이 L을 가지는 그 하부의 영역 및 너비 MB를 가지는 데이터 영역(EA2 및 PA2의 하부의 L*L 에 해당하는 영역), 및 (16-L-S)*L 의 크기를 가지는 EA4의 수평 하위 영역이 상부 메모리의 지점 EA1, PA1 로 전달될 수 있으며, 이에 상응하는 시점에서의 후속 블록 행(BND)의 처리가 이루어지도록 대기한다. 전달 동작은 적어도 영역(PA)이 스케일링된 스테이지에서 수행되어야 한다. 동일한 작업이 좌측 영역(EA2, PA2)의 메모리가 더 이상 필요하지 않은 스테이지에서, 좌측 영역의 수직 메모리를 이용하여 우측의 EA4 영역에 대해서도 수행되어야 한다(즉, 블록(PA)의 스케일링 동작 이후에 수행되어야 한다).
더 나아가, 처리 중인 영역(PA)은 그것이 우선적으로 포함하는 매크로블록들(B1-B4)들과 완전히 동일한 크기를 가져야 한다는 점에 주의하여야 한다. 또한, 라인 메모리 내의 데이터는 M-픽셀의 경우에만 처리 도중에 수행된다는 점에도 주의하여야 한다. 여기서, 처리란 오직 디블로킹에 기인한 수정 동작만을 나타낸다.
처리중인 매크로블록 영역(PA)(16x16) 내의 검정 및 회색 영역 또는 이에 상응하는 유닛들로서 이러한 경우에는 수 개의 8x8 블록들(B1-B4)로써(JPEG 때문에 여기서는 4개이다) 구성된 유닛들은, 이미 사전에 수행된 디블로킹을 수행하기 위하여 8x8 블록들(B1-B4) 각각으로부터 요구되는 데이터를 묘사한다. 매크로블록 영역(PA)의 스케일링이 개시되기 이전에, 디블로킹 처리가 실제 매크로블록(PA) 내의 8x8 블록 영역들(B1-B4)의 경계에서 수행되어야 한다. 이 영역은 실제 매크로블록(PA)의 좌측 경계의 다소 우측 및 상부 경계의 다소 하부에서 개시되고 매크로블록 영역(PA)의 우측 및 하부로 확장되는데, 이것은 도 6으로부터 용이하게 확인할 수 있다.
이러한 8x8 블록 영역들의 짙은 회색(검출 픽셀) 및 옅은 회색(수정된 픽셀) 영역들은 이러한 관련 매크로블록의 PA 영역의 영역들 내의 영역을 지시하며, 여기서 실제 매크로블록(PA) 자체에 스케일링이 수행되기 이전에 디블로킹 필터링이 수행되어야 한다. 이들 내에서도, 옅은 회색의 수정 픽셀들 M 은 수정되고, 검출 픽셀들 D 은 수정되지 않은 채로 남는다.
처리되는 매크로블록 영역(PA)의 좌측 및 상부로의 원형 격자로서 도시되는 영역은 사전 처리된 매크로블록들(BP1-BP5)의 영역들이다(즉, 동일한 행 및 사전 매크로블록 행에 존재한다). 이들은 사전에 처리된 영역들과 관련하여 디블로킹되었다. 이러한 영역들 중에서, 처리중인 영역(PA) 상부의 영역이 라인 메모리(EA1, PA1)를 통하여 이러한 신규 매크로블록 영역(PA)으로 전달되고, 이에 상응하여 처리중인 영역(PA)의 좌측의 영역들은 추가적인 열 메모리들(EA2, PA2)을 통하여 이러한 신규 매크로블록 영역(PA)으로 전달된다.
만일 처리되는 유닛이 매크로블록(PA)이 아니라면(이것은 본 실시예에서 그러한데), 또한 그 대신에 단일 블록(B)이라면, 블록 영역(PA) 내부의 회색 영역들은 블록(B1-B4)의 중앙 블로킹 경계의 지점들에 위치되지 않고, 그 상부 및 좌측에만 위치될 것이라는 점에 주의하여야 한다.
본 발명에서 단일 이미지 프레임(I)의 영역(PA)이, 실제로 코딩된 블록들을 예로 들어서 이것과 비교할 때 그것이 '변위'된 것처럼 놀라운 형식으로 정의된다면, 그것은 특별한 척도(measure)로서, 예를 들어 이미지 프레임(I)의 경계에 근접한 영역 내에서(이들이 처리중이라면)의 척도를 요구함으로써, 전체 이미지 영역(I)이 처리되도록 할 수 있다. 특히, 이러한 필요성은 무엇보다도 이미지(I)의 제1 행 및 좌측 경계에서 본 발명에 따른 방법으로 정의된 처리 영역(PA)이 작다는 사실에 기인하여 대두되며, 그 이유는 이전 데이터(EA1, EA2, PA1, PA2)는 이러한 영역에서는 존재하지 않기 때문이다. 이에 상응하여, 이미지(I)의 최후 행 및 우측 경계에서, 처리중인 블록의 하부 및 우측의 수 개의 픽셀들이 처리되어야 하는데, 이들은 그렇지 않으면 처리되지 않은 채로 남게 된다. 이러한 특수한 영역들은, 예를 들어 프로그램에 의하여(programmatically) 관리될 수 있다.
본 발명에 따른 방법은 이미지의 블록/매크로블록의 처리를 요구하지는 않는다. 예를 들어, 블록이 데이터열로부터 디코딩되면, 이것은 선택된 방법으로 즉시 처리될 수 있고(예를 들어 영상 개선 또는 스케일링 동작이 수행될 수 있다), 추후의 사용을 위하여 저장될 수 있다. 그러므로, 본 발명에 따른 처리 방법은 데이터 스트리밍을 이용하는 어플리케이션에 대해 특히 적합하다.
본 발명에 따른 방법이 요구하는 메모리 요구량은 적다. 사전 블록들 (M)BPx을 위하여 작업 메모리(17.1)의 수 개의 라인만이 요구되고, 물론 처리중인 블록(PA)의 데이터를 위하여 적은 양의 메모리(17.2, 17.3)가 요구된다. 본 발명에 관련되는 프로그램 생성물(31')은 적합한 프로그래밍 언어를 이용하여 구현되거나, 또는 하드웨어 구현을 통하여 실현될 수 있다. 프로그램 생성물(31')은 처리 수단에 의하여 구현된 하나 또는 수 개의 프로그램 생성물들을 포함하는데, 이것들은 전자 장치(10.2)에서 본 발명에 따른 방법을 수행하기 위하여, 적어도 하나의 코드 수단(31.1)을 포함한다. 프로그램 코드(31)의 코드 수단(31.1)은 예를 들어 저장 매체에 저장된다. 저장 매체는, 예를 들면, 장치(10.1)의 어플리케이션 메모리 이거나 DSP일 수 있으며, 여기서 코드 수단(31.1)이 집적될 수 있다. 하드웨어 수준의 구현 역시 가능하다.
블록-기반 처리라는 용어에 대해서 살펴보면, 이 용어는 예를 들어 픽셀-기반 향상 동작(예를 들어, 감마 보상과 같은 동작)을 포함하는데, 이들은 추가적인 메모리를 요구하지 않는다.
본 발명은 예를 들어 카메라 폰, 또는 휴대용 멀티미디어 장치와 같은, 제한된 신호 처리 능력 및/또는 제한된 메모리 용량을 가지는 이미지 처리 장치들 내에 적용될 수 있다. 본 발명은 처리중인 이미지 프레임(I)의 사전 또는 사후의 이미지 프레임들에 대한 정보 또는 데이터를 요구하지 않는다. 본 발명에서는 오직 하나의 이미지 프레임(I)의 이미지 데이터(12.1) 만이 처리된다. 본 발명은 또한 한정된 대역폭을 가지는 데이터 채널을 가지는 시스템 내의 어플리케이션들에도 적합하다. 본 방법은 해당 이미지 데이터에 대해서 직접 수행되는, 예를 들면 전수란 바와 같은 하나 또는 그 이상의 동작들과 관련한 인코딩 및 디코딩 동작 모두일 수 있다.
전술된 발명의 설명 및 관련된 도면들은 본 발명을 예시하기 위한 목적으로 제공된 것임이 이해되어야 한다. 그러므로, 본 발명은 청구의 범위에 의하여 개시되고 진술된 실시예들에 의한 것으로만 한정적으로 이해되어서는 안 되며, 본 발명에 대한 다양한 변화 및 적응화가 이루어질 수 있으며, 이러한 변화들도 청구의 범위에서 정의된 바와 같은 본 발명의 기술적 사상의 범위 내에 속할 수 있으며, 이것이 당업자에게 명백할 수 있다는 점에 주의하여야 한다.

Claims (26)

  1. 전자 장치로서,
    블록에 기반한 이미지 데이터의 처리를 수행하기 위한 데이터-처리 수단 및 메모리를 포함하며,
    상기 블록 내에서 이미지 데이터는 사전 설정된 방법으로 정렬된 단위 블록들로 코딩되도록 구현되고,
    하나 또는 그 이상의 블록들의 데이터로부터 설정치에 따른 처리 영역이 형성될 수 있으며,
    상기 블록을 처리하기 위하여, 상기 처리 영역 상의 데이터는 상기 메모리 내에 정렬되고,
    상기 처리 영역의 경계 영역들을 처리하기 위하여, 사전 설정된 방법으로 상기 처리 영역의 주변 영역 상의 데이터가 상기 메모리 내에 정렬되는 전자 장치에 있어서,
    상기 처리 영역의 일부는 이전에 코딩되고 상기 처리 영역 내의 다른 영역을 형성하는 하나 또는 그 이상의 단위 블록들로부터 형성되도록 구성된 것을 특징으로 하는 전자 장치.
  2. 제1항에 있어서,
    상기 코딩은 인코딩인 것을 특징으로 하는 전자 장치.
  3. 제1항에 있어서,
    상기 코딩은 디코딩인 것을 특징으로 하는 전자 장치.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 단위 블록들(MBP2, BP2, BP3)은,
    상기 처리 영역의 처리 이전에 이미 부분적으로 처리 및 사전 코딩되었을 수 있는 단위-블록 행으로부터 얻어지는 것을 특징으로 하는 전자 장치.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 단위 블록들(MBP1, MBP3, BP1, BP4, BP5)은,
    상기 처리 영역의 처리 이전에 이미 부분적으로 처리 및 사전 코딩되었을 수 있는 단위-블록 열로부터도 얻어지는 것을 특징으로 하는 전자 장치.
  6. 제1항 내지 제3항 중 어느 한 항에 있어서,
    이미 처리 및 사전 코딩되었을 수 있는 상기 단위 블록들의 상기 데이터는 일부로서 상기 처리 영역 및 상기 주변 영역을 형성하도록 구현되고,
    상기 데이터는 수행될 처리 동작에 의존하는 복수 개의 픽셀 라인들을 포함하는 것을 특징으로 하는 전자 장치.
  7. 제1항 및 제3항 중 어느 한 항에 있어서,
    매크로블록(MB)-크기의 영역에서 수행되도록 구현되는 이미지 프레임의 처리는,
    적어도 디블로킹(deblocking) 및 스케일링이며, 상기 장치는,
    MB-크기 + 출력-크기(M+MAX(S+S, D)*(이미지 프레임의 너비 + 처리 영역의 높이)의 크기를 가지며 상기 이미지 프레임을 처리하기 위한 메모리를 포함하는 것을 특징으로 하는 전자 장치.
  8. 제1항 내지 제3항 중 어느 한 항에 있어서,
    이미지 데이터는 연속 비디오-이미지열인 것을 특징으로 하는 전자 장치.
  9. 이미지 데이터의 블록-기반 처리 방법으로서,
    - 상기 이미지 데이터는 소정의 방법으로 정렬된 단위 블록들로 코딩되고,
    - 상기 설정치에 따른 상기 처리 영역은 하나 또는 그 이상의 블록들의 데이터로부터 형성되며,
    - 상기 이미지 데이터를 처리하기 위하여, 상기 처리 영역 상의 데이터는 수집되고,
    또한 상기 처리 영역의 경계 영역을 처리하기 위하여, 상기 처리 영역의 주변 영역들로부터의 데이터도 수집되는 처리 방법에 있어서,
    상기 처리 영역의 일부는 이전에 코딩되고 상기 처리 영역 내의 다른 영역을 형성하는 상기 유닛 블록들 중 하나 또는 그 이상으로부터 형성되는 것을 특징으로 하는 처리 방법.
  10. 제9항에 있어서, 상기 단위 블록들(MBP2, BP2, BP3)은,
    상기 처리 영역의 처리 이전에 이미 부분적으로 처리 및 사전 코딩되었을 수 있는 단위-블록 행으로부터 얻어지는 것을 특징으로 하는 처리 방법.
  11. 제9항에 있어서, 상기 단위 블록(MBP1, MBP3, BP1, BP4, BP5)들은,
    상기 처리 영역의 처리 이전에 이미 부분적으로 처리 및 사전 코딩되었을 수 있는 단위-블록 열로부터도 얻어지는 것을 특징으로 하는 처리 방법.
  12. 제9항 내지 제11항 중 어느 한 항에 있어서,
    이미 부분적으로 처리 및 사전 코딩되었을 수 있는 상기 단위 블록들의 상기 데이터는 일부로서 상기 처리 영역 및 상기 주변 영역을 형성하고,
    상기 데이터는 수행될 처리 동작에 의존하는 복수 개의 픽셀 라인들을 포함하는 것을 특징으로 하는 처리 방법.
  13. 제9항 및 제11항 중 어느 한 항에 있어서,
    매크로블록(MB)-크기의 영역에서 수행되도록 구현되는 이미지 프레임의 처리는,
    적어도 디블로킹 및 스케일링이며, 상기 이미지 프레임을 처리하기 위한 상기 장치 내의 메모리에서,
    MB-크기 + 출력-크기(M+MAX(S+S, D)*(이미지 프레임의 너비 + 처리 영역(MB)의 높이)의 크기가 준비되는 것을 특징으로 하는 처리 방법.
  14. 제9항 내지 제11항 중 어느 한 항에 있어서,
    이미지 데이터는 연속 비디오-이미지열인 것을 특징으로 하는 처리 방법.
  15. 제9항 내지 제11항 중 어느 한 항에 있어서,
    상기 코딩은 인코딩인 것을 특징으로 하는 처리 방법.
  16. 제9항 내지 제11항 중 어느 한 항에 있어서,
    상기 코딩은 디코딩인 것을 특징으로 하는 처리 방법.
  17. 이미지 데이터의 블록-기반 처리를 위한 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터 프로그램은 메모리 장치 및 상기 메모리 장치 상에 구현되는 프로그램 코드들을 형성하고, 상기 프로그램 코드들은,
    - 상기 이미지 데이터를 소정의 방법으로 정렬된 단위 블록들로 코딩하기 위한 코드,
    - 하나 또는 그 이상의 블록들의 데이터로부터 상기 설정치에 따라 처리 영역을 형성하기 위한 코드, 및
    - 상기 처리 영역의 주변 영역들로부터 데이터를 수집하기 위한 코드로서, 상기 데이터는 상기 처리 영역의 경계 영역의 처리 도중에 사용되도록 구현되는 코드를 포함하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 저장 매체에 있어서,
    상기 프로그램 코드는 코드 수단으로서, 상기 코드 수단에 의하여 상기 처리 영역의 일부가 이전에 코딩되고 상기 처리 영역 내의 다른 영역을 형성하는 하나 또는 그 이상의 단위 블록들로부터 형성되도록 구성되는 코드 수단을 포함하는 것을 특징으로 하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 저장 매체.
  18. 제17항에 있어서,
    상기 프로그램 코드는 코드 수단을 포함하고, 상기 코드 수단을 이용하여,
    상기 단위 블록들(MBP2, BP2, BP3)은 이미 부분적으로 처리 및 사전 코딩되었을 수 있는 단위-블록 행으로부터 얻어지도록 구현되는 것을 특징으로 하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 저장 매체.
  19. 제17항에 있어서,
    상기 프로그램 코드는, 코드 수단을 더 포함하고, 상기 코드 수단을 이용하여,
    상기 단위 블록들(MBP1, MBP3, BP1, BP4)은,
    상기 처리 영역의 처리 이전에 이미 부분적으로 처리 및 사전 코딩되었을 수 있는 단위-블록 열로부터도 얻어지도록 구현되는 것을 특징으로 하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 저장 매체.
  20. 제17항 내지 제19항 중 어느 한 항에 있어서,
    이미 부분적으로 처리 및 사전 코딩되었을 수 있는 상기 단위 블록들의 상기 데이터는 일부로서 상기 처리 영역 및 상기 주변 영역을 형성하고,
    상기 데이터는 수행될 처리 동작에 의존하는 복수 개의 픽셀 라인을 포함하는 것을 특징으로 하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 저장 매체.
  21. 제17항 및 제19항 중 어느 한 항에 있어서,
    매크로블록(MB)-크기의 영역에서 수행되도록 구현되는 이미지 프레임의 처리는 적어도 디블로킹 및 스케일링이며,
    상기 프로그램 코드의 상기 코드 수단은, 이미지 프레임을 처리하기 위한 상기 장치 내의 메모리에서,
    MB-크기 + 출력-크기(M+MAX(S+S, D)*(이미지 프레임의 너비 + 처리 영역(MB)의 높이)의 크기를 준비하도록 구현되는 것을 특징으로 하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 저장 매체.
  22. 제17항 내지 제19항 중 어느 한 항에 있어서,
    상기 이미지 데이터는 연속 비디오-이미지열인 것을 특징으로 하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 저장 매체.
  23. 제17항 내지 제19항 중 어느 한 항에 있어서,
    상기 이미지 데이터를 코딩하기 위한 상기 코드는 인코딩 코드를 포함하는 것을 특징으로 하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 저장 매체.
  24. 제17항 내지 제19항 중 어느 한 항에 있어서,
    상기 이미지 데이터를 코딩하기 위한 상기 코드는 디코딩 코드를 포함하는 것을 특징으로 하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 저장 매체.
  25. 제9항 내지 제11항 중 어느 한 항에 따른 처리 방법을 상기 이미지 데이터의 스케일링을 위하여 이용하는 방법.
  26. 제9항 내지 제11항 중 어느 한 항에 따른 처리 방법을 상기 이미지 데이터의 디블로킹을 위하여 이용하는 방법.
KR1020067018905A 2004-03-17 2005-03-15 이미지 데이터를 처리하기 위한 전자 장치 및 전자장치에서 이미지 데이터를 처리하기 위한 방법 KR100854524B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20045082 2004-03-17
FI20045082A FI116959B (fi) 2004-03-17 2004-03-17 Elektroninen laite ja menetelmä elektronisessa laitteessa kuvadatan prosessoimiseksi

Publications (2)

Publication Number Publication Date
KR20060123630A KR20060123630A (ko) 2006-12-01
KR100854524B1 true KR100854524B1 (ko) 2008-08-26

Family

ID=32039510

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067018905A KR100854524B1 (ko) 2004-03-17 2005-03-15 이미지 데이터를 처리하기 위한 전자 장치 및 전자장치에서 이미지 데이터를 처리하기 위한 방법

Country Status (8)

Country Link
US (1) US20070206000A1 (ko)
EP (1) EP1725984A1 (ko)
KR (1) KR100854524B1 (ko)
CN (1) CN100535939C (ko)
BR (1) BRPI0509237A (ko)
FI (1) FI116959B (ko)
RU (1) RU2376638C2 (ko)
WO (1) WO2005088537A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4712642B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 デブロッキングフィルタ、画像符号化装置および画像復号化装置
US20090161982A1 (en) * 2007-12-19 2009-06-25 Nokia Corporation Restoring images
CN102119401B (zh) * 2008-08-08 2013-12-04 汤姆逊许可证公司 用于带状伪像检测的方法和设备
US9042678B2 (en) 2009-01-19 2015-05-26 Nokia Corporation Method and apparatus for reducing size of image data
CN103000118B (zh) * 2011-09-14 2017-02-08 广东新岸线计算机系统芯片有限公司 一种显示装置、使用该显示装置的终端及显示方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001054414A1 (en) 2000-01-21 2001-07-26 Nokia Corporation A method for filtering digital images, and a filtering device
WO2003047262A2 (en) 2001-11-29 2003-06-05 Matsushita Electric Industrial Co., Ltd. Coding distortion removal method and video encoding end decoding methods

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI106071B (fi) 1997-03-13 2000-11-15 Nokia Mobile Phones Ltd Mukautuva suodatin
US6178203B1 (en) * 1997-04-03 2001-01-23 Lsi Logic Corporation Method and apparatus for two-row decoding of MPEG video
FR2780184B1 (fr) * 1998-06-23 2000-08-11 St Microelectronics Sa Procede et dispositif de decodage d'images, permettant un nombre reduit d'ouvertures de pages-memoire dans le traitement de prediction
US6320905B1 (en) * 1998-07-08 2001-11-20 Stream Machine Company Postprocessing system for removing blocking artifacts in block-based codecs
US6236764B1 (en) * 1998-11-30 2001-05-22 Equator Technologies, Inc. Image processing circuit and method for reducing a difference between pixel values across an image boundary
US6529638B1 (en) * 1999-02-01 2003-03-04 Sharp Laboratories Of America, Inc. Block boundary artifact reduction for block-based image compression
EP1056293A1 (en) * 1999-05-25 2000-11-29 Deutsche Thomson-Brandt Gmbh Method and apparatus for block motion estimation
DE10125744A1 (de) 2001-05-21 2002-12-05 Siemens Ag Verfahren zur Abschirmung einer auf einer Leiterplatte realisierten elektrischen Schaltung und eine entsprechende Kombination einer Leiterplatte mit einer Abschirmung
WO2002096117A1 (en) * 2001-05-25 2002-11-28 Pace Soft Silicon Limited Deblocking block-based video data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001054414A1 (en) 2000-01-21 2001-07-26 Nokia Corporation A method for filtering digital images, and a filtering device
WO2003047262A2 (en) 2001-11-29 2003-06-05 Matsushita Electric Industrial Co., Ltd. Coding distortion removal method and video encoding end decoding methods

Also Published As

Publication number Publication date
RU2006136422A (ru) 2008-04-27
BRPI0509237A (pt) 2007-09-04
EP1725984A1 (en) 2006-11-29
FI116959B (fi) 2006-04-13
FI20045082A (fi) 2005-09-18
FI20045082A0 (fi) 2004-03-17
WO2005088537A1 (en) 2005-09-22
RU2376638C2 (ru) 2009-12-20
US20070206000A1 (en) 2007-09-06
CN1934585A (zh) 2007-03-21
CN100535939C (zh) 2009-09-02
KR20060123630A (ko) 2006-12-01

Similar Documents

Publication Publication Date Title
TWI382764B (zh) 用於儲存中間迴路過濾資料之暫存記憶體(scratch pad)
FI117534B (fi) Menetelmä digitaalisten kuvien suodattamiseksi ja suodatin
KR101227667B1 (ko) 오버랩 평활화 및 인-루프 디블록킹의 구분적 프로세싱
US20060133504A1 (en) Deblocking filters for performing horizontal and vertical filtering of video data simultaneously and methods of operating the same
US20060115002A1 (en) Pipelined deblocking filter
EP2061250B1 (en) Deblocking filter
US20060013315A1 (en) Filtering method, apparatus, and medium used in audio-video codec
KR101158345B1 (ko) 디블록킹 필터링을 수행하는 방법 및 시스템
US11375199B2 (en) Interpolation filter for an inter prediction apparatus and method for video coding
US20230069953A1 (en) Learned downsampling based cnn filter for image and video coding using learned downsampling feature
JP4361987B2 (ja) フィールドモード符号化を含む画像フレームのサイズ変更のための方法及び装置
JP2001112000A (ja) 映像信号符号化装置
CN103947208A (zh) 减少解块滤波器的方法及装置
KR100854524B1 (ko) 이미지 데이터를 처리하기 위한 전자 장치 및 전자장치에서 이미지 데이터를 처리하기 위한 방법
US20230076920A1 (en) Global skip connection based convolutional neural network (cnn) filter for image and video coding
JP2006157925A (ja) パイプラインデブロッキングフィルタ
KR20050121627A (ko) 동영상 코덱의 필터링 방법 및 필터링 장치
US20070147511A1 (en) Image processing apparatus and image processing method
JP4395174B2 (ja) 動画像符号化方法,動画像並列符号化用符号化器,動画像並列符号化方法,動画像並列符号化装置,それらのプログラム,およびそれらのプログラムを記録したコンピュータ読み取り可能な記録媒体
US20070223591A1 (en) Frame Deblocking in Video Processing Systems
US20140056363A1 (en) Method and system for deblock filtering coded macroblocks
JP3715273B2 (ja) 画像データの平滑化処理装置、平滑化処理方法及び平滑化処理プログラム
KR101063421B1 (ko) 영상 디코더 및 영상 디코딩 방법
MXPA06010434A (en) Electronic device and a method in an electronic device for processing image data
Citro et al. Programmable deblocking filter architecture for a VC-1 video 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: 20110719

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20120802

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee