KR101137753B1 - 고속의 메모리 효율적인 변환 구현 방법 - Google Patents

고속의 메모리 효율적인 변환 구현 방법 Download PDF

Info

Publication number
KR101137753B1
KR101137753B1 KR1020107017926A KR20107017926A KR101137753B1 KR 101137753 B1 KR101137753 B1 KR 101137753B1 KR 1020107017926 A KR1020107017926 A KR 1020107017926A KR 20107017926 A KR20107017926 A KR 20107017926A KR 101137753 B1 KR101137753 B1 KR 101137753B1
Authority
KR
South Korea
Prior art keywords
transform
buffer
weight
adaptive
inverse
Prior art date
Application number
KR1020107017926A
Other languages
English (en)
Other versions
KR20100112162A (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 KR20100112162A publication Critical patent/KR20100112162A/ko
Application granted granted Critical
Publication of KR101137753B1 publication Critical patent/KR101137753B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/145Square transforms, e.g. Hadamard, Walsh, Haar, Hough, Slant transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/10Image enhancement or restoration by non-spatial domain filtering
    • G06T5/75
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/18Methods 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 a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/649Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding the transform being applied to non rectangular image segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20052Discrete cosine transform [DCT]

Abstract

본 발명의 실시형태는, 이미지/비디오 프레임의 순방향 가중치-적응 과완전 변환; 이미지/비디오 프레임의 역방향 가중치-적응 과완전 변환; 및 동시에 순방향 가중치-적응 과완전 변환을 수행하고, 변환 도메인에서 계수를 처리하며, 역방향 가중치-적응 과완전 변환을 수행하는 고속의 저메모리 프로세스를 구현하기 위한 프로세스 및 시스템 세트를 포함한다.

Description

고속의 메모리 효율적인 변환 구현 방법{METHODS FOR FAST AND MEMORY EFFICIENT IMPLEMENTATION OF TRANSFORMS}
우선권
본 특허 출원은, 2008 년 2 월 5 일자로 출원되었으며 발명의 명칭이 "Flicker Reduction in Video Sequences Using Temporal Processing" 인 미국 가출원 제 61/026,453 호에 대해 우선권을 주장하며, 이 미국 가출원을 참조로서 포함하고 있다.
발명의 기술분야
본 발명의 실시형태는, 픽셀 도메인 이미지/비디오의 변환 도메인으로의 변환, 변환 도메인에서의 처리, 및 처리된 변환 도메인 이미지/비디오의 픽셀 도메인으로의 변환을 수반하는 이미지 및 비디오의 신호 처리 분야에 관한 것이다. 특히, 본 발명은, 입력 프레임에 대해 순방향 가중치-적응 과완전 변환 (forward weight-adaptive over-complete transform) 을 수행하는 것, 변환 계수에 대해 신호 처리를 수행하는 것, 및 이 처리된 변환 계수에 대해 역방향 가중치-적응 과완전 변환을 적용하여 출력 데이터 (예를 들어, 출력 프레임) 를 생성하는 것에 관한 것이다.
변환을 이용하는 이미지/비디오 시퀀스의 압축, 플리커 감소, 디노이징 (denoising), 품질 증대, 및 수퍼-해상도에서의 다수의 잘 알려진 애플리케이션이 존재한다. 이들 프로세스의 간이 구현은 컴퓨터 시스템에서 효율적으로 계산 및 메모리 리소스를 사용하지 않는다. 그러므로, 변환 (예를 들어, 과완전 변환) 을 포함하여 이들 프로세스를 수행하는 메모리 및 계산 효율적인 방식이 필요하다.
본 발명의 실시형태는, 이미지/비디오 프레임의 순방향 가중치-적응 과완전 변환; 이미지/비디오 프레임의 역방향 가중치-적응 과완전 변환; 및 동시에 순방향 가중치-적응 과완전 변환을 수행하고, 변환 도메인에서 계수를 처리하며, 역방향 가중치-적응 과완전 변환을 수행하는 고속의 저메모리 프로세스를 구현하기 위한 프로세스 및 시스템 세트를 포함한다.
본 발명은 첨부 도면에서 제한이 아니라 예시로서 예시되는데, 이들 도면에서 동일한 참조부호는 유사한 엘리먼트를 나타낸다. 본 개시물에 있어서 "일 (an)" 또는 "하나의 (one)" 실시형태에 대한 언급은 반드시 동일한 실시형태에 대한 것은 아니며 이러한 언급은 "적어도 하나" 를 의미한다는 것이 주목되어야 한다.
도 1 은 순방향 및 역방향 가중치-적응 과완전 변환을 수행하는 시스템의 하나의 실시형태를 도시한 도면이다.
도 2a 는 순방향 가중치-적응 과완전 변환을 수행하고 선택적으로 신호 처리를 적용하여 처리된 변환 계수를 획득하기 위한 프로세스의 하나의 실시형태의 흐름도이다.
도 2b 는 입력 이미지/비디오 프레임 및 버퍼의 실시형태를 도시한 도면이다.
도 2c 는 도 2a 의 블록 220 에서 수행되는 동작의 하나의 실시형태를 도시한 도면이다.
도 2d 는 도 2a 의 블록 230 에서 수행되는 동작의 하나의 실시형태를 도시한 도면이다.
도 3a 는 역방향 가중치-적응 과완전 변환을 수행하기 위한 프로세스의 하나의 실시형태의 흐름도이다.
도 3b 는 도 3a 의 블록 335 에서 수행되는 동작의 하나의 실시형태를 도시한 도면이다.
도 3c 는 도 3a 의 블록 340 에서 수행되는 동작의 하나의 실시형태를 도시한 도면이다.
도 3d 는 도 3a 의 블록 350 에서 수행되는 동작의 하나의 실시형태를 도시한 도면이다.
도 4 는 동시에 순방향 가중치-적응 과완전 변환을 수행하고, 변환 도메인에서 처리하며, 역방향 가중치-적응 과완전 변환을 수행하는 시스템에 대한 하나의 실시형태를 도시한 도면이다.
도 5 는 본 명세서에 기재된 동작들 중 하나 이상의 동작을 수행하는 예시적인 시스템의 하나의 실시형태를 도시한 도면이다.
도 6 은 디노이징된 비디오 프레임을 획득하기 위한 프로세스의 하나의 실시형태의 흐름도이다.
도 7 은 다수의 변환을 이용하여 디노이징된 비디오 프레임을 획득하기 위한 프로세스의 하나의 실시형태의 블록도이다.
도 8 은 품질을 증대시키고/시키거나 해상도를 증가시키기 위한 프로세스의 하나의 실시형태의 흐름도이다.
도 9 는 업샘플링 프로세스의 하나의 실시형태의 흐름도이다.
도 10(a) 내지 도 10(m) 은 서브프레임 타입의 라이브러리에 대응하는 마스크의 실시예를 도시한 도면이다.
도 11 은 픽셀이 래스터-스캔 순서로 넘버링되는 경우에 픽셀 i 에서의 예시적인 서브프레임 zi 를 도시한 도면이다.
도 12 는 서브프레임 선택 처리의 하나의 실시형태의 흐름도이다.
도 13 은 서브프레임에 대한 변환 선택 프로세스의 하나의 실시형태의 흐름도이다.
도 14 는 변환 계수를 임계화 (thresholding) 하기 위한 임계화 프로세스의 하나의 실시형태의 흐름도이다.
도 15 는 단조 감소하는 계단 함수를 도시한 도면이다.
도 16 은 서브프레임을 결합하여 프레임을 형성하기 위한 프로세스의 하나의 실시형태의 흐름도이다.
도 17 은 데이터 일관성 (data consistency) 동작의 하나의 실시형태의 데이터 흐름도이다.
도 18 은 비디오 시퀀스에 대해 이미지 처리를 수행하기 위한 프로세스의 하나의 실시형태의 흐름도이다.
도 19 는 서브프레임 타입 선택 프로세스의 하나의 실시형태의 흐름도이다.
도 20 은 과거의 출력 프레임으로부터의 서브프레임 형성 프로세스의 하나의 실시형태의 흐름도이다.
도 21 은 공간 변환 선택 프로세스의 하나의 실시형태의 흐름도이다.
도 22 는 시간 변환 선택 프로세스의 하나의 실시형태의 흐름도이다.
도 23 은 변환 계수를 임계화하기 위한 임계화 프로세스의 하나의 실시형태의 흐름도이다.
도 24 는 서브프레임을 결합하여 프레임을 생성하기 위한 프로세스의 하나의 실시형태의 흐름도이다.
도 25 는 비디오 시퀀스에 대해 이미지 처리를 수행하기 위한 프로세스의 다른 실시형태의 흐름도이다.
도 26(A) 내지 도 26(E) 는 선택된 픽셀의 예시적인 서브세트를 도시한 도면이다.
상세한 설명
이미지 처리를 수행하는 방법 및 장치가 기재되어 있다. 이미지 처리는 변환 도메인에서 수행된다. 하나의 실시형태에 있어서, 순방향 변환 및 역방향 변환은 메모리 및 계산에 관하여 효율적인 방식으로 수행된다.
본 발명의 실시형태의 다음의 상세한 설명에 있어서, 동일한 참조부호가 유사한 엘리먼트를 나타내며, 본 발명이 실시될 수도 있는 특정 실시형태가 예시로서 도시되는 첨부 도면에 대한 참조가 이루어진다. 이들 실시형태는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 실시하는 것을 가능하게 하도록 충분히 상세하게 기재되고, 또한 다른 실시형태가 이용될 수도 있으며, 본 발명의 범위로부터 벗어나지 않으면서 논리적 변화, 기계적 변화, 기능적 변화 및 다른 변화가 이루어질 수도 있다는 것이 이해되어야 한다. 그러므로, 다음의 상세한 설명은 제한의 의미로 취해져서는 안 되며, 본 발명의 범위는 첨부된 특허청구범위에 의해서만 정의된다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게, 이들 실시형태가 이들 특정 상세의 일부 없이 실시될 수도 있다는 것은 명백할 것이다. 다른 경우에, 각종 실시형태의 상세의 모호함을 회피하기 위해서, 특정 구조 및 디바이스는 생략되거나 단순화된다. 본 명세서에서 이용된 바와 같이, '세트' 는 하나의 아이템을 포함하는 임의의 정수 (whole number) 의 아이템을 언급한다.
본 발명의 실시형태는 미국 특허 출원 제 61/026,453 호, 제 12/140,829 호 및 제 11/331,814 호에 기재된 프로세스의 구현에 관련된다. 전술한 프로세스는 각종 픽셀 블록에 대해 2-D 분리가능 변환을 처리하는 것을 수반하는데, 여기서 블록 크기는 변환의 크기와 동등하다. 하나의 실시형태에 있어서, 변환에 사용된 블록은 서로 오버랩될 수 있다. 그러므로, 각 픽셀은 다수의 블록의 변환 계수로 표현될 수 있다. 다른 실시형태에 있어서, 블록은 또한 블록 통계치에 적응된 가중치를 이용하여 스케일링될 수 있다. 이러한 타입의 변환에 있어서, 순방향 변환은 순방향 가중치-적응 과완전 변환으로 지칭되며, 역방향 변환은 역방향 가중치-적응 과완전 변환으로 지칭된다.
순방향 변환 및 역방향 변환
도 1 은 전술한 신호 처리 기술과 함께 순방향 및 역방향 가중치-적응 과완전 변환을 수행하는 시스템 (100) 의 하나의 실시형태를 도시한 도면이다. 도 1 에서의 블록 각각은, 하드웨어 (회로, 전용 로직 등), (범용 컴퓨터 시스템이나 전용 머신 상에서 실행되는 것과 같은) 소프트웨어, 또는 이들의 조합을 포함할 수도 있다.
하나의 실시형태에 있어서, 현재의 입력 프레임 (110) 이 순방향 가중치-적응 과완전 변환 모듈 (120) 에 대한 입력으로서 수신된다. 현재의 입력 프레임 (110) 은 이미지 데이터 또는 비디오 데이터를 나타낼 수도 있다. 순방향 가중치-적응 과완전 변환 모듈 (120) 은 입력 프레임에 대해 순방향 가중치-적응 과완전 변환을 수행하여, 변환 계수 (125) 를 출력한다. 그런 다음, 변환 계수 (125) 는 신호 처리 모듈 (130) 에 대한 입력으로서 수신된다.
신호 처리 모듈 (130) 은 변환 계수 (125) 에 대해 하나 이상의 데이터 처리 동작을 수행한다. 하나의 실시형태에 있어서, 이들 동작은, 2008 년 2 월 5 일자로 출원되었으며 발명의 명칭이 "Flicker Reduction in Video Sequences Using Temporal Processing" 인 미국 특허 출원 제 61/026,453 호; 2008 년 6 월 17 일자로 출원되었으며 발명의 명칭이 "Image/Video Quality Enhancement and Super Resolution Using Sparse Transformations" 인 미국 특허 출원 제 12/140,829 호; 및 2006 년 1 월 12 일자로 출원되었으며 발명의 명칭이 "Nonlinear, In-The-Loop, Denoising Filter For Quantization Noise Removal For Hybrid Video Compression" 인 미국 특허 출원 제 11/331,814 호에 기재된 동작을 포함하지만, 이에 제한되지는 않는다. 그런 다음, 처리된 변환 계수 (135) 가 신호 처리 모듈 (130) 에 의해 출력되어, 역방향 가중치-적응 과완전 변환 모듈 (140) 에 대한 입력으로서 수신된다.
역방향 가중치-적응 과완전 변환 모듈 (140) 은 처리된 변환 계수 (135) 에 대해 역방향 가중치-적응 과완전 변환을 수행하여, 출력으로서 현재의 출력 프레임 (150) 을 생성한다. 현재의 출력 프레임 (150) 은, 순방향 및 역방향 가중치-적응 과완전 변환 연산과 함께 변환 도메인에서 신호 처리를 겪은 처리된 이미지/비디오 프레임을 나타낸다.
하나의 실시형태에 있어서, 현재의 입력 프레임 (110) 이 순방향 가중치-적응 과완전 변환 (120) 에 의해 변환되기 이전에 업샘플링된다는 것에 주목하라. 또한, 하나의 실시형태에 있어서, 역방향 가중치-적응 과완전 변환 (140) 의 출력은 데이터 일관성 동작을 겪는다.
순방향 가중치-적응 과완전 변환
도 2a 는 순방향 가중치-적응 과완전 변환을 수행하고 신호 처리를 적용하여 처리된 변환 계수를 획득하기 위한 프로세스 (200) 의 하나의 실시형태의 흐름도이다. 이 프로세스는, 하드웨어 (예를 들어, 회로, 전용 로직 등), (범용 컴퓨터 시스템이나 전용 머신 상에서 실행되는 것과 같은) 소프트웨어, 또는 이들의 조합을 포함할 수도 있는 처리 로직에 의해 수행될 수도 있다.
하나의 실시형태에 있어서, 수학적 표기
Figure 112010051939046-pct00001
는 입력 이미지/비디오 프레임에서의 (i,j) 번째 픽셀을 나타내고,
Figure 112010051939046-pct00002
은 (i,j) 로서 표현된 상부 좌측 픽셀을 갖는 X 에서의 P×P 블록의 2-D 변환에서의 (m,n) 번째 계수를 나타낸다. 그러므로, 수학적 표기
Figure 112010051939046-pct00003
Figure 112010051939046-pct00004
의 가중치-적응 과완전 변환을 나타낸다.
하나의 실시형태에 있어서, 변수 P 는 변환의 크기를 나타내고, 그 결과, 변수 m, n 과 P 사이의 수학적 관계는 1≤m,n≤P 로서 표현될 수 있다. 그 다음에, 변수 H 및 W 는 입력 이미지/비디오 프레임의 높이 및 폭을 나타낸다. 표기의 목적을 위해, 심볼 ':' 은 변수의 인덱스에서의 범위를 기술하는데 이용된다. 일례는, 1×P 벡터
Figure 112010051939046-pct00005
을 나타내는
Figure 112010051939046-pct00006
이다. 유사하게, 수학적 표기
Figure 112010051939046-pct00007
은 크기 P×P 의 매트릭스를 나타낸다.
도 2a 를 참조하면, 프로세스 (200) 는 1≤i≤H-P+1 에 대한 루프로 시작된다 (처리 블록 210). 처리 로직은 입력 프레임의 칼럼에 대해 1 차원 (1-D) 변환을 수행하여, 칼럼 변환을 획득한다 (처리 블록 220). 하나의 실시형태에 있어서, 이 동작은 다음의 수학적 표기:
Figure 112010051939046-pct00008
(여기서,
Figure 112010051939046-pct00009
)
로 표현될 수도 있는데, 여기서
Figure 112010051939046-pct00010
는 1-D 순방향 변환 연산을 나타낸다. XC 는, 순방향 가중치-적응 과완전 변환 연산에서 내부적으로 사용되는 크기 P×W 를 갖는 버퍼이다.
처리 블록 230 에서, 처리 로직은 칼럼 변환의 로우에 대해 1-D 변환을 수행한다. 하나의 실시형태에 있어서, 이 동작은 다음의 수학적 표기:
Figure 112010051939046-pct00011
(여기서, 1≤j≤W-P+1 및 1≤k≤P)
로 표현될 수도 있다.
하나의 실시형태에 있어서, 1-D 순방향 변환 연산
Figure 112010051939046-pct00012
Figure 112010051939046-pct00013
로서 정의된다. 이 실시형태에 있어서, HT 는 변환을 정의하는 P×P 매트릭스를 나타낸다.
처리 블록 235 에서, 추가 반복이 존재하는 경우에는, 루프에서의 처리는 처리 블록 210 으로 복귀하여, 블록 220 및 블록 230 에서의 동작을 반복한다. 추가 반복이 존재하지 않는 경우에는, 처리 블록 240 에서, 처리 로직은 변환 계수를 출력한다.
다음에, 처리 로직은 신호 처리 동작을 수행한다 (처리 블록 250). 이는 선택적이다. 하나의 실시형태에 있어서, 신호 처리 동작은, 미국 특허 출원 제 61/026,453 호, 제 12/140,829 호 및 제 11/331,814 호에 개시된 바와 같은 신호 처리 동작 중 하나의 신호 처리 동작일 수도 있다. 블록 260 에서, 처리 로직은 처리된 변환 계수를 출력한다.
도 2b 는 도 2a 에서 전술한 처리에 수반되는 입력 이미지/비디오 프레임 및 버퍼의 실시형태를 도시한 도면이다. 하나의 실시형태에 있어서, 입력 프레임 (270) 은 높이 H 및 폭 W 를 갖는 로우 및 칼럼으로서 표현된 픽셀 데이터를 포함한다. 버퍼 (272) 는 도 2a 에 기재된 변환 연산에서 사용되는 높이 P 및 폭 W 를 갖는 버퍼를 나타낸다. 하나의 실시형태에 있어서, 변수 P 는 변환의 크기에 대응한다.
도 2c 는 도 2a 의 처리 블록 220 에 대응하는 동작을 보다 상세하게 도시한 도면이다. 하나의 실시형태에 있어서, 높이 H 및 폭 W 를 갖는 입력 프레임 (280) 의 칼럼에 대해 1-D 순방향 변환이 수행된다. 높이 P 및 폭 W 를 갖는 버퍼 (282) 는 각 칼럼의 1-D 순방향 연산으로부터의 변환 계수로 업데이트된다. 버퍼 (282) 는 칼럼 변환 계산의 상이한 스테이지에서의 표현으로 도시되어 있다.
도 2d 는 도 2a 의 처리 블록 230 에 대응하는 동작을 상세하게 도시한 도면이다. 하나의 실시형태에 있어서, 버퍼 (290) 에서의 칼럼 변환의 로우에 대해 1-D 순방향 변환이 수행된다. 버퍼 (290) 는 버퍼 (282) 와 동일하다. 이와 같이, 2-D 변환 계수 (292) 는 버퍼 (290) 에 저장된 칼럼 변환 계수에 대한 1-D 순방향 변환에 의해 획득될 수도 있다.
다른 실시형태에 있어서,
Figure 112010051939046-pct00014
이며, 여기서 HT 는 세트 {-1, 1} 로부터의 요소를 갖는 4×4 아다마르 변환에 대응한다. 이 실시형태에 있어서,
Figure 112010051939046-pct00015
로 표현된 연산은 가산 연산으로 컴퓨팅될 수 있다. 또다른 실시형태에 있어서,
Figure 112010051939046-pct00016
이며, 여기서 P=3 이다. 이 실시형태에 있어서, 이 연산은 가산 및 시프트 연산으로 컴퓨팅될 수 있다.
다른 실시형태에 있어서, HT 가 세트 {-1, 1} 로부터의 요소를 갖는 아다마르 변환에 대응하는 경우, 순방향 가중치-적응 과완전 변환을 컴퓨팅하는 고속 구현 (고속의 아다마르 2-D 변환 실시형태로 언급됨) 은 다음과 같이 기술된다:
● 1≤i≤H-P, 1≤j≤W 에 대하여,
Figure 112010051939046-pct00017
컴퓨팅.
● 1≤i≤H-P, 1≤j≤W-P 에 대하여,
Figure 112010051939046-pct00018
컴퓨팅.
● 1≤i≤H-P, 1≤n≤P 에 대하여,
Figure 112010051939046-pct00019
컴퓨팅.
● 1≤i≤H-P, 1≤j≤W-P 및 1≤n≤P 에 대하여,
Figure 112010051939046-pct00020
컴퓨팅 (여기서, 매핑
Figure 112010051939046-pct00021
및 스칼라값 D0(n), D1(n) 은,
Figure 112010051939046-pct00022
이도록 결정됨).
● 1≤j≤W-P+1 에 대하여,
Figure 112010051939046-pct00023
컴퓨팅.
● 1≤i≤H-P, 1≤j≤W-P+1, 1≤m≤P 및 1≤n≤P 에 대하여,
Figure 112010051939046-pct00024
컴퓨팅 (여기서, 매핑
Figure 112010051939046-pct00025
및 스칼라값 D0(m), D1(m) 은,
Figure 112010051939046-pct00026
이도록 결정됨).
하나의 실시형태에 있어서,
Figure 112010051939046-pct00027
인 경우,
Figure 112010051939046-pct00028
이며,
Figure 112010051939046-pct00029
이다.
다른 실시형태에 있어서, HT 가 세트 {-1, 1} 로부터의 요소를 갖는 아다마르 변환에 대응하는 경우, 순방향 가중치-적응 과완전 변환을 컴퓨팅하는 고속 방법은 다음과 같이 기술된다. 이 실시형태에 있어서, 2-D 가중치-적응 과완전 변환은 2 개의 (각 차원에 대해 하나의) 1-D 가중치-적응 과완전 변환 연산을 수행함으로써 컴퓨팅된다. 1-D 가중치-적응 과완전 변환 연산은
Figure 112010051939046-pct00030
로 표현되며, 이 연산의 I/O 특성은,
Figure 112010051939046-pct00031
로 기술되는데, 여기서 E 및 F 는 입력 벡터 및 출력 벡터를 나타내는 변수이며, LE 는 벡터 E 의 길이를 나타내는 정수이다. HT 가 아다마르 변환을 나타내는 경우, P=2p 이며, 여기서 p 는 0 보다 큰 정수이다.
고속의 아다마르 1-D 변환 실시형태로 언급되는 하나의 실시형태에 있어서, 1-D 가중치-적응 과완전 변환 연산
Figure 112010051939046-pct00032
에 대한 고속 구현은 다음과 같이 정의된다:
Figure 112010051939046-pct00033
설정.
● 1≤j≤p-1, 1≤i≤LE-j 및 1≤n≤2j-1 에 대하여,
Figure 112010051939046-pct00034
순환 컴퓨팅.
● 1≤i≤LE-P+1 및 1≤m≤P 에 대하여,
Figure 112010051939046-pct00035
컴퓨팅 (여기서, 매핑
Figure 112010051939046-pct00036
및 스칼라값 D0'(m), D1'(m) 은,
Figure 112010051939046-pct00037
이도록 결정됨).
하나의 실시형태에 있어서,
Figure 112010051939046-pct00038
인 경우,
Figure 112010051939046-pct00039
이며,
Figure 112010051939046-pct00040
이다.
하나의 실시형태에 있어서, 2-D 가중치-적응 과완전 변환은 다음과 같이 2 개의 1-D 변환 연산을 이용하여 컴퓨팅된다:
(1) 1≤j≤W 에 대하여,
Figure 112010051939046-pct00041
컴퓨팅.
(2) 1≤i≤H-P+1 및 1≤m≤P 에 대하여,
Figure 112010051939046-pct00042
컴퓨팅.
2 개의 차원이 처리되는 순서는 일반성의 손실 없이 변경될 수 있다. 즉, 전술한 수학식은, 먼저 칼럼 방향으로 1-D 변환을 컴퓨팅한 다음에 로우 방향으로 1-D 변환을 컴퓨팅하기 위해 주어진다. 먼저 로우 방향으로 1-D 변환을 컴퓨팅한 다음에 칼럼 방향으로 1-D 변환을 컴퓨팅하기 위해 유사한 수학식 세트가 기록될 수 있다.
역방향 가중치-적응 과완전 변환
도 3a 는 역방향 가중치-적응 과완전 변환을 수행하기 위한 프로세스 (300) 의 하나의 실시형태를 도시한 도면이다. 이 프로세스는, 하드웨어 (예를 들어, 회로, 전용 로직 등), (범용 컴퓨터 시스템이나 전용 머신 상에서 실행되는 것과 같은) 소프트웨어, 또는 이들의 조합을 포함할 수도 있는 처리 로직에 의해 수행된다.
하나의 실시형태에 있어서, 수학적 표기
Figure 112010051939046-pct00043
은 변환 계수
Figure 112010051939046-pct00044
의 처리된 버전을 나타내며,
Figure 112010051939046-pct00045
Figure 112010051939046-pct00046
의 역방향 가중치-적응 과완전 변환을 나타낸다. 수학적 표기
Figure 112010051939046-pct00047
는, 변환 계수
Figure 112010051939046-pct00048
으로부터 처리된 변환 계수
Figure 112010051939046-pct00049
을 발생시킬 수도 있는 (예를 들어, 도 1 에서의 신호 처리 모듈 (130) 또는 도 2a 에서의 블록 250 에 의해 수행되는) 신호 처리 동작에 의해 결정된 가중치의 매트릭스를 나타낸다.
도 3a 를 참조하면, 이 프로세스는, 처리 로직이 역방향 변환 연산에 사용되는 버퍼를 초기화함으로써 시작된다 (처리 블록 310). 하나의 실시형태에 있어서, 이 동작은 다음의 표기:
Figure 112010051939046-pct00050
Figure 112010051939046-pct00051
설정 (여기서, 1≤i≤H 및 1≤j≤W)
으로 표현될 수도 있는데, 여기서 N 은 역방향 가중치-적응 과완전 변환 계산에 사용되는 크기 H×W 의 버퍼를 나타낸다.
다음에, 처리 로직은 다음의 표기:
1≤i≤H-P+1 에 대하여
로 표현된 루프를 수행하기 시작한다 (처리 블록 320).
그런 다음, 처리 로직은 버퍼
Figure 112010051939046-pct00052
를 초기화한다 (처리 블록 325). 하나의 실시형태에 있어서, 버퍼
Figure 112010051939046-pct00053
는 역방향 가중치-적응 과완전 변환 연산에 사용되는 크기 P×W 의 버퍼를 나타낸다. 하나의 실시형태에 있어서, 버퍼
Figure 112010051939046-pct00054
의 초기화는 다음의 표기로 표현된다:
Figure 112010051939046-pct00055
설정 (여기서, 1≤j≤W).
버퍼
Figure 112010051939046-pct00056
를 초기화한 이후에, 처리 로직은 다음의 표기:
1≤j≤W-P+1 에 대하여
로 표현된 다른 루프에 진입한다 (처리 블록 330).
이 루프에 있어서, 처리 로직은 처리된 변환 계수의 로우의 1-D 역방향 변환의 가중치-승산을 수행한다 (처리 블록 335). 이 동작은 다음과 같이 수행되는데:
Figure 112010051939046-pct00057
(여기서, 1≤k≤P)
여기서,
Figure 112010051939046-pct00058
는 1-D 역방향 변환 연산을 나타내며,
Figure 112010051939046-pct00059
는 가중치의 매트릭스를 나타낸다. 그런 다음, 버퍼
Figure 112010051939046-pct00060
는 이 연산의 결과로 업데이트된다. 도 3b 는 도 3a 의 처리 블록 335 의 1-D 역방향 변환 연산을 보다 상세하게 도시한 도면이다. 하나의 실시형태에 있어서, 가산기 (337) 는
Figure 112010051939046-pct00061
의 현재의 콘텐츠와 1-D 역방향 변환 연산의 결과를 가산하여, 업데이트된 버퍼
Figure 112010051939046-pct00062
(339) 를 생성한다.
블록 340 에서, 처리 로직은
Figure 112010051939046-pct00063
를 가산함으로써 블록 335 에서의 연산의 결과로 버퍼 N 을 업데이트한다. 하나의 실시형태에 있어서, 이 동작은 다음과 같이 수행된다:
Figure 112010051939046-pct00064
.
도 3c 는 도 3a 의 블록 340 에서 수행되는 동작을 보다 상세하게 도시한 도면이다. 하나의 실시형태에 있어서, 버퍼 (342) 는 버퍼 N 의 업데이트된 버전에 대응한다.
도 3a 를 다시 참조하면, 처리 로직은, 추가 반복이 필요한지 여부를 테스트한다 (처리 블록 345). 추가 반복이 요구되는 경우에는, 이 프로세스는 처리 블록 330 으로 천이하여, 추가 반복을 수행한다. 추가 반복이 요구되지 않는 경우에는, 이 프로세스는 블록 350 으로 천이하는데, 이 블록 350 에서 처리 로직은 버퍼
Figure 112010051939046-pct00065
의 칼럼의 1-D 역방향 변환을 수행하며, 이 1-D 역방향 변환의 결과로 버퍼
Figure 112010051939046-pct00066
를 업데이트한다. 하나의 실시형태에 있어서, 이 동작은 다음과 같이 수행된다:
Figure 112010051939046-pct00067
(여기서, 1≤j≤W).
도 3d 는 도 3a 의 블록 350 에서 수행되는 동작을 보다 상세하게 도시한 도면이다. 하나의 실시형태에 있어서, 가산기 (352) 는 버퍼
Figure 112010051939046-pct00068
의 현재의 콘텐츠와 1-D 역방향 변환 연산의 결과를 가산하여, 업데이트된 버퍼
Figure 112010051939046-pct00069
(354) 를 생성한다.
Figure 112010051939046-pct00070
를 업데이트한 이후에, 처리 로직은, 추가 반복이 존재하는지 여부를 테스트한다 (처리 블록 355). 추가 반복이 존재하는 경우에는, 이 프로세스는 처리 블록 320 으로 천이한다. 추가 반복이 존재하지 않는 경우에는, 이 프로세스는 처리 블록 360 으로 천이한다.
처리 블록 360 에서, 처리 로직은 제산 연산을 수행하여, 처리된 이미지/비디오 데이터를 나타내는 출력 프레임을 획득한다. 하나의 실시형태에 있어서, 이 동작은 다음의 표기:
Figure 112010051939046-pct00071
로 표현되는데, 여기서 h 는 아래의 1-D 역방향 변환 연산
Figure 112010051939046-pct00072
의 부분으로서 정의된다.
하나의 실시형태에 있어서, 1-D 역방향 변환 연산
Figure 112010051939046-pct00073
는 다음과 같이 정의된다:
Figure 112010051939046-pct00074
.
여기서,
Figure 112010051939046-pct00075
Figure 112010051939046-pct00076
이도록 P×P 매트릭스이며, h 는 실수이고, I 는 크기 P×P 의 단위 매트릭스이다. 다른 실시형태에 있어서,
Figure 112010051939046-pct00077
인 경우,
Figure 112010051939046-pct00078
이다.
또다른 실시형태에 있어서,
Figure 112010051939046-pct00079
인 경우,
Figure 112010051939046-pct00080
이다.
하나의 실시형태에 있어서, 가중치 승산
Figure 112010051939046-pct00081
는 역방향 변환 연산
Figure 112010051939046-pct00082
에 의해 암시적으로 수행된다. 이를 달성하기 위해서, 역방향 변환 연산은,
Figure 112010051939046-pct00083
이도록 설계된
Figure 112010051939046-pct00084
(가중치-적응
Figure 112010051939046-pct00085
) 를 이용하여 수행된다. 하나의 실시형태에 있어서, 가중치
Figure 112010051939046-pct00086
는, 값들의 이산 세트로부터 선택되며, 이 이산 세트에서의 값 각각에 대응하는 가중치-적응
Figure 112010051939046-pct00087
매트릭스는 룩업 테이블에 저장될 수 있다.
하나의 실시형태에 있어서, 제산 연산
Figure 112010051939046-pct00088
는,
Figure 112010051939046-pct00089
로서 근사되는데, 여기서
Figure 112010051939046-pct00090
는 룩업 테이블에 저장된 값이다. L 은 0 보다 큰 정수이다. 하나의 실시형태에 있어서,
Figure 112010051939046-pct00091
이다.
고속의 저메모리 구현을 위한 예시적인 시스템
도 4 는, 전술한 바와 같이 2008 년 2 월 5 일자로 출원되었으며 발명의 명칭이 "Flicker Reduction in Video Sequences Using Temporal Processing" 인 미국 가출원 제 61/026,453 호; 2008 년 6 월 17 일자로 출원되었으며 발명의 명칭이 "Image/Video Quality Enhancement and Super Resolution Using Sparse Transformations" 인 미국 출원 제 12/140,829 호; 및 2006 년 1 월 12 일자로 출원되었으며 발명의 명칭이 "Nonlinear, In-The-Loop, Denoising Filter For Quantization Noise Removal For Hybrid Video Compression" 인 미국 출원 제 11/331,814 호에 기재된 프로세스를 수행하는 시스템 (400) 의 하나의 실시형태를 도시한 도면이다. 도 4 에서의 블록 각각은, 하드웨어 (회로, 전용 로직 등), (범용 컴퓨터 시스템이나 전용 머신 상에서 실행되는 것과 같은) 소프트웨어, 또는 이들의 조합을 포함할 수도 있다. 하나의 실시형태에 있어서, 이들 프로세스는 프로세서 (405) 상에서 구현된다. 하나의 실시형태에 있어서, 프로세서 (405) 는, 동일한 동작을 겪는 복수의 데이터 유닛이 한번에 모두 처리되는 방식의 단일 명령 복수 데이터 (SIMD) 프로세서이다. SIMD 프로세서는 하나 이상의 서브프로세서를 가지며, 각 서브프로세서는 동시에 하나 이상의 스레드를 실행할 수 있다. 이들 프로세스는 메모리 요건 및 메모리 I/O 동작을 최소화하도록 구현될 수 있다.
하나의 실시형태에 있어서, 순방향 가중치-적응 과완전 변환의 계산, 변환 도메인에서의 계수의 처리 및 역방향 가중치-적응 과완전 변환의 계산은 다음의 설명에 기재된 바와 같이 동시에 수행된다. 하나의 실시형태에 있어서, 변수 X 는 현재의 입력 프레임 (410) 을 나타내며,
Figure 112010051939046-pct00092
및 Z 는 각각 현재의 출력 프레임 (493) 및 과거의 출력 프레임 (440) 을 나타낸다. 하나의 실시형태에 있어서, 시스템 (400) 은 이들 프로세스를 구현하는데 사용되는 버퍼를 포함한다. 이들 버퍼는 도 4 에 도시된 바와 같은 다음의 것을 포함한다:
Xp - X 의 현재의 입력 프레임 (410) 의 P 개의 로우를 포함하는 크기 P×W 의 버퍼 (420).
XC - 크기 P×W 의 버퍼 (430).
Zp - Z 의 과거의 출력 프레임 (440) 의 P 개의 로우를 포함하는 크기 P×W 의 버퍼 (445). 이 버퍼는, 2008 년 6 월 17 일자로 출원되었으며 발명의 명칭이 "Image/Video Quality Enhancement and Super Resolution Using Sparse Transformations" 인 미국 특허 출원 제 12/140,829 호; 및 2006 년 1 월 12 일자로 출원되었으며 발명의 명칭이 "Nonlinear, In-The-Loop, Denoising Filter For Quantization Noise Removal For Hybrid Video Compression" 인 미국 특허 출원 제 11/331,814 호에 기재된 프로세스를 위해 요구되지는 않는다.
ZC - 크기 P×W 의 버퍼 (450). 이 버퍼는, 2008 년 6 월 17 일자로 출원되었으며 발명의 명칭이 "Image/Video Quality Enhancement and Super Resolution Using Sparse Transformations" 인 미국 특허 출원 제 12/140,829 호; 및 2006 년 1 월 12 일자로 출원되었으며 발명의 명칭이 "Nonlinear, In-The-Loop, Denoising Filter For Quantization Noise Removal For Hybrid Video Compression" 인 미국 특허 출원 제 11/331,814 호에 기재된 프로세스를 위해 요구되지는 않는다.
Figure 112010051939046-pct00093
- 크기 P×W 의 버퍼 (470).
Figure 112010051939046-pct00094
-
Figure 112010051939046-pct00095
의 현재의 출력 프레임 (493) 의 P 개의 로우를 포함하는 크기 P×W 의 버퍼 (480).
Np - 크기 P×W 의 버퍼 (490).
XY - 크기 P×P 의 버퍼 (435).
ZY - 크기 P×P 의 버퍼 (455). 이 버퍼는, 2008 년 6 월 17 일자로 출원되었으며 발명의 명칭이 "Image/Video Quality Enhancement and Super Resolution Using Sparse Transformations" 인 미국 특허 출원 제 12/140,829 호; 및 2006 년 1 월 12 일자로 출원되었으며 발명의 명칭이 "Nonlinear, In-The-Loop, Denoising Filter For Quantization Noise Removal For Hybrid Video Compression" 인 미국 특허 출원 제 11/331,814 호에 기재된 프로세스를 위해 요구되지는 않는다.
Figure 112010051939046-pct00096
- 크기 P×P 의 버퍼 (465).
하나의 실시형태에 있어서, 과거의 출력 프레임 (440) 은 프레임 저장 버퍼 (438) 에 저장된다.
하나의 실시형태에 있어서, 이 프로세스의 고속의 저메모리 구현은 다음의 동작을 포함한다:
1. 버퍼 초기화
a. X 의 현재의 입력 프레임 (410) 의 첫번째 P 개의 로우를 Xp 의 버퍼 (420) 로 카피.
b. Z 의 과거의 출력 프레임 (440) 의 첫번째 P 개의 로우를 Zp 의 버퍼 (445) 로 카피.
c.
Figure 112010051939046-pct00097
의 버퍼 (480) = 0 및
Figure 112010051939046-pct00098
의 버퍼 (490) = 0 설정 (여기서, 1≤i≤P 및 1≤j≤W).
2. 메인 루프. 1≤i≤H-P+1 에 대하여, 다음의 동작 수행:
a. 다음의 표기:
Figure 112010051939046-pct00099
Figure 112010051939046-pct00100
(여기서, 1≤j≤W)
로 표현된 바와 같이, 각각 버퍼 (420 및 445) 에서의 데이터에 대해 칼럼 방향으로 순방향 변환 계산 (그 결과는 버퍼 (430 및 450) 에 저장됨).
b. 1≤i≤P 및 1≤j≤W 에 대하여,
Figure 112010051939046-pct00101
의 버퍼 (470) = 0 설정.
c. 1≤j≤W-P+1 에 대하여, 다음의 동작 수행:
ⅰ. 다음의 표기:
Figure 112010051939046-pct00102
(여기서, 1≤k≤P)
로 표현된 바와 같이, 버퍼 (430) 에서의 데이터에 대해 로우 방향으로 순방향 변환 계산 및 그 결과를 버퍼 (435) 에 저장.
ⅱ. 다음의 표기:
Figure 112010051939046-pct00103
(여기서, 1≤k≤P)
로 표현된 바와 같이, 버퍼 (450) 에서의 데이터에 대해 로우 방향으로 순방향 변환 계산 및 그 결과를 버퍼 (455) 에 저장.
ⅲ. 2008 년 2 월 5 일자로 출원되었으며 발명의 명칭이 "Flicker Reduction in Video Sequences Using Temporal Processing" 인 미국 특허 출원 제 61/026,453 호; 2008 년 6 월 17 일자로 출원되었으며 발명의 명칭이 "Image/Video Quality Enhancement and Super Resolution Using Sparse Transformations" 인 미국 특허 출원 제 12/140,829 호; 및 2006 년 1 월 12 일자로 출원되었으며 발명의 명칭이 "Nonlinear, In-The-Loop, Denoising Filter For Quantization Noise Removal For Hybrid Video Compression" 인 미국 특허 출원 제 11/331,814 호에 기재된 프로세스 중 하나의 (또는 그 이상의) 프로세스를 이용하여
Figure 112010051939046-pct00104
의 버퍼 (435) 및
Figure 112010051939046-pct00105
의 버퍼 (455) 로부터 신호 처리 모듈 (460) 에서 가중치
Figure 112010051939046-pct00106
의 매트릭스 및
Figure 112010051939046-pct00107
의 처리된 버퍼 (465) 계산.
ⅳ. 다음의 표기:
Figure 112010051939046-pct00108
(여기서, 1≤k≤P)
로 표현된 바와 같이, 역방향 변환의 가중치 승산에 기초하여 버퍼 (465) 에서의 계수에 대해 로우 방향으로 역방향 변환 계산 (그런 다음, 그 결과는 버퍼 (470) 에서 업데이트됨).
ⅴ. 다음의 표기:
Figure 112010051939046-pct00109
로 표현된 바와 같이, 버퍼 (490) 업데이트.
d. 다음의 표기:
Figure 112010051939046-pct00110
(여기서, 1≤j≤W)
로 표현된 바와 같이, 버퍼 (470) 에서의 데이터에 대해 칼럼 방향으로 역방향 변환 계산 (그런 다음, 그 결과는 버퍼 (480) 에서 업데이트됨).
e. 다음의 표기:
Figure 112010051939046-pct00111
로 표현된 바와 같이, 제산기 (485) 에서 제산 연산 수행.
f.
Figure 112010051939046-pct00112
의 버퍼 (480) 의 제 1 로우를
Figure 112010051939046-pct00113
의 현재의 출력 프레임 (493) 의 로우 i 로 카피.
g. 버퍼 로테이션/업데이트. 로테이션은 버퍼에서 동일한 공간을 재사용하여 상이한 시간에 프레임에 대응하는 상이한 데이터를 유지하는데 이용된다.
ⅰ. 1≤k≤P-1 에 대하여, 다음의 동작 수행:
1. 다음과 같이, 버퍼 (420) 로테이션/업데이트:
Figure 112010051939046-pct00114
.
2. 다음과 같이, 버퍼 (445) 로테이션/업데이트:
Figure 112010051939046-pct00115
.
3. 다음과 같이, 버퍼 (480) 로테이션/업데이트:
Figure 112010051939046-pct00116
.
4. 다음과 같이, 버퍼 (490) 로테이션/업데이트:
Figure 112010051939046-pct00117
.
ⅱ. X 의 현재의 입력 프레임 (410) 의 로우 i+P 를
Figure 112010051939046-pct00118
의 버퍼 (420) 의 로우 P 로 카피.
ⅲ. Z 의 과거의 출력 프레임 (440) 의 로우 i+P 를
Figure 112010051939046-pct00119
의 버퍼 (445) 의 로우 P 로 카피.
ⅳ. 버퍼 (480) 의 로우 P 및 버퍼 (490) 의 로우 P 를 0 으로 설정, 즉
Figure 112010051939046-pct00120
Figure 112010051939046-pct00121
(여기서, 1≤j≤W).
동작 2.g.i.3 및 2.g.i.4 에서, 전체 버퍼는 변경되지 않는다는 것에 주목하라. 동작 2.g.i.3 및 2.g.i.4 는, 동작 2.g.ⅳ 가 로우 P 에 대해 실행되는 동안에 로우 1 내지 P-1 에 대해 실행된다.
3. 최종 P-1 개의 로우 출력. 1≤i≤P-1 에 대하여, 다음의 동작 수행:
a. 다음의 표기:
Figure 112010051939046-pct00122
로 표현된 바와 같이, 제산 연산 수행.
b.
Figure 112010051939046-pct00123
의 버퍼 (480) 의 로우 i 를
Figure 112010051939046-pct00124
의 현재의 출력 프레임 (493) 의 로우 i+H-(P-1) 로 카피.
전술한 바와 같이, 하나의 실시형태에 있어서, 순방향 변환 및 역방향 변환은 동시에 적용된다. 전술한 단계에 있어서, 순방향 변환, 변환 도메인 처리 및 역방향 변환은 모두 단계 2 하의 루프에서 수행된다. 전체 프레임에 대해 순방향 변환을 수행한 다음, 처리를 위해 변환 계수의 전체 세트를 패스하고, 그 다음에 처리된 변환 계수의 전체 세트에 대해 역방향 변환을 수행하는 대신에, 3 개의 동작 (순방향, 처리, 역방향) 이 프레임의 작은 부분에 대해 수행된 다음, 프레임의 상이한 작은 부분에 대해 3 개의 단계를 반복하는데 동일한 메모리가 사용되는 등이다. 이 때문에, 필요한 메모리량은 감소하는데, 그 이유는 변환 계수의 전체 세트가 임의의 하나의 인스턴스에서 결코 저장되지 않기 때문이다.
하나의 실시형태에 있어서, 현재의 출력 프레임 (493) 은 프레임 저장 버퍼 (438) 에 저장될 수도 있다. 다른 실시형태에 있어서, 도 4 와 관련하여 전술한 순방향 및 역방향 변환 연산은 각각의 순방향 및 역방향 가중치-적응 과완전 변환 연산이다.
고속의 저메모리 실시형태의 다른 실시형태에 있어서, 2-D 버퍼는 1-D 버퍼를 사용하여 형성된다. 예를 들어, P×W 2-D 버퍼는 길이가 각각 W 인 P 개의 1-D 버퍼를 사용하여 형성된다. 이 버퍼 아키텍처에 있어서, 전술한 단계 2.g ('버퍼 로테이션/업데이트') 에서의 버퍼의 로테이션은, 2-D 버퍼의 하나의 부분으로부터 다른 부분으로의 데이터의 카피 없이 단순히 2-D 버퍼에서의 1-D 버퍼의 순서를 재구성함으로써 수행될 수 있다.
고속의 저메모리 실시형태의 또다른 실시형태에 있어서, 버퍼
Figure 112010051939046-pct00125
를 0 으로 초기화하는 전술한 단계 2.b 는 다음과 같이 단계 2.c.ⅳ 를 변경함으로써 제거될 수 있다:
● 1≤k≤P 에 대하여,
Figure 112010051939046-pct00126
Figure 112010051939046-pct00127
의 출력을 나타내는 것으로 한다.
○ j 가 1 과 동등한 경우,
Figure 112010051939046-pct00128
.
○ j 가 1 과 동등하지 않은 경우,
Figure 112010051939046-pct00129
전술한 기술은 한번에 P 개의 로우를 처리하는 것을 수반한다. 그러나, 이는 일반성의 손실 없이 이루어지며, 이 기술은 한번에 P 개의 칼럼을 처리하기 위해서 (로우 및 칼럼 차원을 상호교환함으로써) 명백하게 변경될 수 있다는 것이 주목되어야 한다.
하나의 실시형태에 있어서, 미국 특허 출원 제 61/026,453 호, 제 12/140,829 호 및 제 11/331,814 호에 기재된 프로세스는 정수 연산을 이용하여 구현된다. 다른 실시형태에 있어서, 전술한 미국 특허 출원에 기재된 프로세스는 고정 소수점 연산을 이용하여 구현된다. 하나의 실시형태에 있어서, 고정 소수점 연산의 정밀도는 16 비트와 동등하다. 정수 및 고정 소수점 연산 구현 모두에 있어서, 그 구현에서의 중간 데이터는, 정수 및 고정 소수점 표현으로부터 발생하는 오버플로우 문제점을 방지할 필요가 있을 때마다 스케일링된다.
하나의 실시형태에 있어서, 미국 특허 출원 제 61/026,453 호, 제 12/140,829 호 및 제 11/331,814 호에 기재된 프로세스는 고도로 병렬화되며, 임의의 병렬 컴퓨팅 리소스를 사용하도록 설계될 수 있다. 하나의 실시형태에 있어서, 이들 프로세스는, 동일한 동작을 겪는 복수의 데이터 유닛이 모두 한번에 처리되는 방식으로 SIMD 프로세서 상에서 구현된다. SIMD 프로세서는 하나 이상의 서브프로세서를 가지며, 각 서브프로세서는 동시에 하나 이상의 스레드를 실행할 수 있다. 예를 들어, 일반성의 손실 없이, 각 서브프로세서는 i 의 특정 값 및 j 의 모든 값에 대하여
Figure 112010051939046-pct00130
를 컴퓨팅하고; 각 서브프로세서의 태스크는 다수의 스레드로 더 분할되는데, 여기서 각 스레드는 j 의 특정 값에 대한 계산을 수행한다. 다른 실시형태에 있어서, 이들 프로세스는, 상이한 코어가 상이한 데이터 유닛에 대해 동일한 동작을 수행하도록 또는 상이한 코어가 상이한 동작을 수행하도록 또는 이들의 조합으로 멀티코어 프로세서 상에 구현된다.
예시적인 컴퓨터 시스템
도 5 는 본 명세서에 기재된 동작들 중 하나 이상의 동작을 수행할 수도 있는 예시적인 컴퓨터 시스템의 블록도이다. 컴퓨터 시스템 (500) 은 예시적인 클라이언트 또는 서버 컴퓨터 시스템을 포함할 수도 있다. 컴퓨터 시스템에 대하여 기재된 컴포넌트는 핸드헬드 또는 모바일 디바이스 (예를 들어, 셀폰) 의 일부일 수도 있다.
도 5 를 참조하면, 컴퓨터 시스템 (500) 은, 정보를 통신하는 통신 메커니즘이나 버스 (511), 및 버스 (511) 에 커플링되어 정보를 처리하는 프로세서 (512) 를 포함한다. 프로세서 (512) 는 마이크로프로세서를 포함하지만, 예를 들어 Pentium™ 프로세서 등과 같은 마이크로프로세서에 제한되지는 않는다
컴퓨터 시스템 (500) 은, 버스 (511) 에 커플링되어 프로세서 (512) 에 의해 실행될 명령들 및 정보를 저장하는 RAM (Random Access Memory) 또는 다른 동적 저장 디바이스 (504) (메인 메모리로 언급됨) 를 더 포함한다. 또한, 메인 메모리 (504) 는 프로세서 (512) 에 의한 명령들의 실행 중에 일시 변수 또는 다른 중간 정보를 저장하는데 사용될 수도 있다.
또한, 컴퓨터 시스템 (500) 은, 버스 (511) 에 커플링되어 프로세서 (512) 에 대한 명령들 및 정적 정보를 저장하는 ROM (Read Only Memory) 및/또는 다른 정적 저장 디바이스 (506), 및 자기 디스크나 광학 디스크 및 그 대응하는 디스크 드라이브와 같은 데이터 저장 디바이스 (507) 를 포함한다. 데이터 저장 디바이스 (507) 는 버스 (511) 에 커플링되어, 정보 및 명령들을 저장한다.
컴퓨터 시스템 (500) 은, 버스 (511) 에 커플링되어 컴퓨터 사용자에게 정보를 디스플레이하는 디스플레이 디바이스 (521) (예를 들어, CRT (Cathode Ray Tube) 또는 LCD (Liquid Crystal Display)) 에 더 커플링될 수도 있다. 또한, 영숫자 키 및 다른 키를 포함하는 영숫자 입력 디바이스 (522) 는 버스 (511) 에 커플링되어, 프로세서 (512) 로 정보 및 커맨드 선택을 통신할 수도 있다. 부가적인 사용자 입력 디바이스는, 버스 (511) 에 커플링되어, 프로세서 (512) 로 방향 정보 및 커맨드 선택을 통신하며 디스플레이 (521) 상의 커서 이동을 제어하는 커서 제어 디바이스 (523) (예를 들어, 마우스, 트랙볼, 트랙패드, 스타일러스, 또는 커서 방향 키) 이다.
버스 (511) 에 커플링될 수도 있는 다른 디바이스는 하드 카피 디바이스 (524) 인데, 이 하드 카피 디바이스 (524) 는 종이, 필름 또는 유사한 타입의 매체와 같은 매체 상에 정보를 마킹하는데 사용될 수도 있다. 버스 (511) 에 커플링될 수도 있는 또다른 디바이스는 전화기나 핸드헬드 팜 디바이스와 통신하는 유/무선 통신 능력 (525) 이다.
컴퓨터 시스템 (500) 및 연관된 하드웨어의 임의의 컴포넌트 또는 모든 컴포넌트가 본 발명에서 사용될 수도 있다는 것에 주목하라. 그러나, 컴퓨터 시스템의 다른 구성은 디바이스의 일부 또는 전부를 포함할 수도 있다는 것이 인식될 수 있다.
애플리케이션
디노이징 애플리케이션
하나의 실시형태에 있어서, 전술한 기술, 특히 순방향 변환 및 역방향 변환은 디노이징 필터 프로세스에서 이용된다. 이러한 프로세스는 하이브리드 비디오 압축에서 양자화 노이즈를 제거하는데 이용될 수도 있다.
도 6 은 디노이징된 비디오 프레임을 획득하기 위한 프로세스의 하나의 실시형태의 흐름도이다. 이 프로세스는, 하드웨어 (예를 들어, 회로, 전용 로직 등), (범용 컴퓨터 시스템이나 전용 머신 상에서 실행되는 것과 같은) 소프트웨어, 또는 이들의 조합을 포함할 수도 있는 처리 로직에 의해 수행된다. 처리 로직은 펌웨어를 포함할 수도 있다. 하나의 실시형태에 있어서, 처리 로직은 디노이징 필터에 있다.
도 6 을 참조하면, 이 프로세스는, 처리 로직이 디코딩된 프레임 y 를 획득하며 다른 가용 정보를 수집함으로써 시작된다 (처리 블록 601). 다른 가용 정보는 양자화 파라미터, 모션 정보 및 모드 정보를 포함할 수도 있다.
그런 다음, 처리 로직은 디코딩된 프레임 y 에 대해 변환 H 를 적용함으로써 계수 d 의 세트를 획득한다 (처리 로직 602). 예를 들어, 변환 H 는 블록-단위 2-차원 DCT 를 나타낼 수도 있다. 또한, 처리 로직은 이미지 요소 e 의 세트를 y 의 요소와 동등하게 설정한다.
그 이후에, 처리 로직은 이미지 요소 e 의 세트에 기초하여 d 에서의 각 계수에 대한 c(i) 의 조건부 기대값을 컴퓨팅하고, d 에서의 계수의 값 및 c(i) 의 조건부 기대값을 이용하여 디노이징 규칙을 적용함으로써 필터링된 계수
Figure 112010051939046-pct00131
를 획득한다 (처리 블록 603). 그 이후에, 처리 로직은 계수
Figure 112010051939046-pct00132
의 세트에 대해 변환 H 의 역을 적용함으로써 필터링된 프레임
Figure 112010051939046-pct00133
를 획득한다 (처리 블록 604).
필터링된 프레임을 획득한 이후에, 처리 로직은 추가 반복이 필요한지 여부를 판정한다 (처리 블록 605). 예를 들어, 2 와 같이 고정된 반복 횟수가 사전설정될 수도 있다. 추가 반복이 필요한 경우에는, 처리 로직은 이미지 요소 e 의 세트를
Figure 112010051939046-pct00134
로 설정하고 (처리 블록 607), 처리는 처리 블록 603 으로 천이한다. 추가 반복이 필요하지 않은 경우에는, 처리 흐름은 처리 블록 606 으로 진행되는데, 이 처리 블록 606 에서 처리 로직은 필터링된 프레임
Figure 112010051939046-pct00135
를 출력한다.
단일 선형 변환 H 를 이용하는 전술한 기본적인 절차는 수용가능한 디노이징 성능을 제공하지만, 다수의 상이한 선형 변환 H1, H2, …, HM 을 이용함으로써 보다 양호한 성능이 획득될 수 있다. 이들 변환 각각은 그 고유의 기본적인 절차에 이용되어,
Figure 112010051939046-pct00136
으로 주어지는 오리지널 비양자화된 비디오 프레임 x 의 추정치를 생성한다. 이들 개별 추정치는 결합되어, 추정치 각각보다 양호한 전체 추정치
Figure 112010051939046-pct00137
를 형성한다. 다수의 변환을 이용하는 이러한 프로세스의 하나의 실시형태가 도 7 에 도시되어 있다.
도 7 의 프로세스는, 하드웨어 (예를 들어, 회로, 전용 로직 등), (범용 컴퓨터 시스템이나 전용 머신 상에서 실행되는 것과 같은) 소프트웨어, 또는 이들의 조합을 포함할 수도 있는 처리 로직에 의해 수행된다. 프로세싱 로직은 펌웨어를 포함할 수도 있다. 하나의 실시형태에 있어서, 처리 로직은 디노이징 필터의 부분이다.
도 7 을 참조하면, 이 프로세스는, 처리 로직이 디코딩된 프레임 y 를 획득하며 다른 가용 정보를 수집함으로써 시작된다 (처리 블록 701). 다른 가용 정보는 모드 정보, 모션 정보 및 양자화 파라미터와 같은 압축 파라미터를 포함할 수도 있다.
디코딩된 프레임을 획득하며 다른 정보를 수집한 이후에, 처리 로직은 디코딩된 프레임 y 에 대해 M 개의 변환 Hj 를 적용함으로써 계수 d1:M 의 세트를 획득한다 (처리 블록 702). 예를 들어, 각 변환 Hj 는 블록-단위 2-차원 DCT 를 나타낼 수도 있는데, 여기서 블록 정렬은 j 에 종속한다. 또한, 처리 로직은 이미지 요소 e 의 세트를 y 의 요소와 동등하게 설정한다.
그런 다음, 처리 로직은 압축 파라미터에 기초하여 각 계수에 대한 계수 디노이징 파라미터를 결정하고 (처리 블록 703), 압축 파라미터에 기초하여 마스크를 결정한다 (처리 블록 704).
이 정보를 이용하여, 처리 로직은 e 및 계수 파라미터에 기초하여 d1:M 에서의 각 계수에 대한 c1:M(i) 의 조건부 기대값을 컴퓨팅하고, d1:M 에서의 계수의 값 및 c1:M(i) 의 조건부 기대값을 이용하여 디노이징 규칙을 적용함으로써 필터링된 계수
Figure 112010051939046-pct00138
를 획득한다 (처리 블록 705).
다음에, 처리 로직은 계수
Figure 112010051939046-pct00139
의 세트에 적용된 변환 H1:M 의 역의 결과에 대해 마스크 함수를 적용함으로써 필터링된 프레임
Figure 112010051939046-pct00140
를 획득한다 (처리 블록 706).
그런 다음, 처리 로직은 전체 추정치
Figure 112010051939046-pct00141
를 결정한다 (처리 블록 707). 이는 추정치 모두를 함께 평균화함으로써 수행될 수도 있다. 평균화는 가중화된 평균일 수도 있다. 하나의 실시형태에 있어서, 도 7 에서의 전체 추정치 블록은 개별 추정치
Figure 112010051939046-pct00142
의 가중화된 평균화에 의해 주어진다. 이는, 예를 들어 3 가지 상이한 가중화 기술을 식별하는 Onur G. Guleryuz 에 의한 "Weighted Overcomplete Denoising" (Proc. Asilomar Conference on Signals and Systems, Pacific Grove, CA, 2003 년 11월) 에 기재된 기술과 같이 본 발명이 속하는 기술분야에 공지된 보다 복잡한 가중치 결정 기술을 이용하여 또는 동등한 가중치로 수행될 수 있다. 하나의 실시형태에 있어서, 3 개 중 가장 단순한 것이 본 발명에서 이용된다. 그러므로, 전체 추정치가 획득되는데, 이는 다음에 마스킹된다. 대안적인 실시형태에 있어서, 개별 추정치가 마스킹된 다음, 전체 추정치가 형성된다.
전체 추정치를 획득한 이후에, 처리 로직은 추가 반복이 필요한지 여부를 판정한다 (처리 로직 708). 예를 들어, 2 와 같이 고정된 반복 횟수가 사전설정될 수도 있다. 추가 반복이 필요한 경우에는, 처리 로직은 이미지 요소 e 의 세트를
Figure 112010051939046-pct00143
로 설정하고 (처리 블록 709), 이 프로세스는 처리 블록 705 로 천이하고; 추가 반복이 필요하지 않은 경우에는, 처리는 처리 블록 710 으로 천이하는데, 이 처리 블록 710 에서 처리 로직은 필터링된 프레임
Figure 112010051939046-pct00144
를 출력한다.
본 명세서에서의 동작을 포함하는 전술한 디노이징 프로세스가, 2006 년 1 월 12 일자로 출원되었으며 발명의 명칭이 "Nonlinear, In-The-Loop, Denoising Filter For Quantization Noise Removal For Hybrid Video Compression" 인 미국 특허 출원 제 11/331,814 호에 보다 상세하게 기재되어 있다는 것에 주목하라.
품질 증대 및 수퍼-해상도
하나의 실시형태에 있어서, 전술한 기술, 특히 순방향 변환 및 역방향 변환은 품질 증대 프로세스 또는 수퍼-해상도 프로세스에서 이용된다.
도 8 은 품질을 증대시키고/시키거나 해상도를 증가시키기 위한 프로세스의 하나의 실시형태의 흐름도이다. 이 프로세스는, 하드웨어 (회로, 전용 로직 등), (범용 컴퓨터 시스템이나 전용 머신 상에서 실행되는 것과 같은) 소프트웨어, 또는 이들의 조합을 포함할 수도 있는 처리 로직에 의해 수행된다.
도 8 을 참조하면, x 는 저해상도 (LR) 의 입력 이미지/비디오 프레임을 나타낸다. 하나의 실시형태에 있어서, 모든 이미지/비디오 프레임은 래스터 스캔 순서로 픽셀을 배열함으로써 벡터로서 표현된다. 대안적으로, 데이터는 벡터, 매트릭스로서 또는 임의의 다른 포맷으로 표현되고/되거나 저장될 수 있다.
초기에, 처리 로직은 입력 프레임 x 를 업샘플링하여 업샘플링된 프레임 y 를 획득한다 (처리 블록 801). 업샘플링은 입력 프레임 x 의 업샘플링된 버전 (y) 을 도출하도록 선택된 업샘플링 2-D 필터를 사용하여 수행될 수도 있다. 도 9 는 업샘플링 프로세스의 하나의 실시형태를 도시한 도면이며, 보다 상세하게 후술될 것이다. 품질 증대를 위해 본 명세서에 기재된 기술을 이용하는 경우에 이 동작은 선택적이라는 것에 주목하라. 이 동작이 수행되지 않는 경우, 프레임 y 는 프레임 x 와 동등하게 설정된다.
입력 프레임 x 를 업샘플링하여 업샘플링된 프레임 y 를 획득한 이후에, 처리 로직은, 각 픽셀 i=1:N 에 대하여, 피벗으로서 픽셀 i 를 이용하여 서브프레임 zi 를 선택한다 (처리 블록 802). N 은 y 에서의 픽셀의 개수를 나타낸다. 이 실시형태에 있어서, 이미지에서의 각 픽셀에 대하여 서브프레임이 형성 및 처리된다. 그러나, 다른 실시형태에 있어서, 처리는 이미지에서의 픽셀 모두에 대해서가 아니라 픽셀의 선택된 서브세트에 대해서만 수행될 수도 있다. 서브세트는 사이드 정보의 부분으로서 시그널링되거나 사전결정될 수도 있다. 도 26(A) 내지 도 26(E) 는 이러한 서브세트의 실시예를 나타내며; 본 명세서에 기재된 교시에 대해 다른 서브세트가 이용될 수도 있다.
피벗으로서 픽셀 i 를 이용하여 서브프레임 zi 를 선택한 이후에, 처리 로직은 변환 Hi 를 선택하고, 서브프레임 zi 에 대해 변환 Hi 를 적용함으로써 계수 di 를 컴퓨팅한다 (처리 블록 803). 하나의 실시형태에 있어서, 변환은 2-D DCT 이다. 다른 실시형태에 있어서, 변환은 2-D 아다마르 변환이다. 마스터 임계치는 변환을 선택하는데 이용될 수 있는 입력이다.
계수 di 를 발생시킨 이후에, 처리 로직은 계수 di 에 대해 마스터 임계치
Figure 112010051939046-pct00145
를 적용하여
Figure 112010051939046-pct00146
를 획득하고, 적응 임계치
Figure 112010051939046-pct00147
를 컴퓨팅하며, 계수 di 에 대해 적응 임계치
Figure 112010051939046-pct00148
를 적용하여 이들을 적응 임계화함으로써
Figure 112010051939046-pct00149
를 획득한다 (처리 블록 804). 그런 다음, 처리 로직은 임계화된 계수
Figure 112010051939046-pct00150
에 대해 역변환 Hi -1 을 적용하여, 처리된 서브프레임
Figure 112010051939046-pct00151
를 획득한다 (처리 블록 805).
다음에, 처리 로직은 가중화된 방식으로 모든 픽셀에 대응하는 모든 처리된 서브프레임
Figure 112010051939046-pct00152
을 결합하여 프레임
Figure 112010051939046-pct00153
를 형성한다 (처리 블록 806). 그런 다음, 처리 로직은 프레임
Figure 112010051939046-pct00154
에 대해 데이터 일관성 단계를 수행하여 프레임 y' 를 획득한다 (처리 블록 807). 데이터 일관성 단계는:
Figure 112010051939046-pct00155
로서 정의된다.
처리 로직은, y' 의 다운샘플링이 입력 프레임 x 를 제공하도록
Figure 112010051939046-pct00156
를 컴퓨팅한다. 품질 증대를 위해 본 명세서에 기재된 기술을 이용하는 경우에 이 동작은 선택적이라는 것에 주목하라. 이 동작이 수행되지 않는 경우, 프레임 y' 는 프레임
Figure 112010051939046-pct00157
와 동등하게 설정된다.
그 이후에, 처리 로직은 추가 반복이 필요한지 여부를 판정한다 (처리 블록 808). 하나의 실시형태에 있어서, 반복 횟수는 2 이다. 실제 반복 횟수는 사이드 정보의 부분으로서 시그널링될 수 있다. 추가 반복이 필요한 경우에는, 이 프로세스는 처리 블록 820 으로 천이하는데, 이 처리 블록 820 에서 처리 로직은 새로운 마스터 임계치
Figure 112010051939046-pct00158
를 컴퓨팅하고, 프레임 y 를 y' 와 동등하게 설정한 이후에 (처리 블록 811), 이 프로세스는 처리 블록 802 로 천이한다. 추가 반복이 필요하지 않다고 처리 로직이 판정하는 경우에는, 이 프로세스는 처리 블록 809 로 천이하는데, 이 처리 블록 809 에서 처리 로직은 프레임 y' 를 출력하고, 이 프로세스는 종료된다. 하나의 실시형태에 있어서, 처리 블록 801 의 선형 보간 동작 및 처리 블록 806 의 데이터 일관성 동작은 선택적이다. (예를 들어, 선형 보간 모듈을 디스에이블함으로써) 선형 보간 동작이 수행되지 않는 경우, 비디오/이미지의 출력 해상도는 입력 해상도와 동일하다. 따라서, 이 실시형태 하에서, 비디오/이미지의 품질은 증대되지만, 수퍼-해상도는 존재하지 않는다.
도 9 는 업샘플링 프로세스의 하나의 실시형태의 흐름도이다. 도 10(a) 내지 도 10(m) 은 서브프레임 타입의 라이브러리에 대응하는 마스크의 실시예를 도시한 도면이다. 도 11 은 픽셀이 래스터-스캔 순서로 넘버링되는 경우에 픽셀 i 에서의 예시적인 서브프레임 zi 를 도시한 도면이다. 도 12 는 서브프레임 선택 처리의 하나의 실시형태의 흐름도이다. 도 13 은 서브프레임에 대한 변환 선택 프로세스의 하나의 실시형태의 흐름도이다. 도 14 는 변환 계수를 임계화하기 위한 임계화 프로세스의 하나의 실시형태의 흐름도이다. 도 15 는 단조 감소하는 계단 함수를 도시한 도면이다. 도 16 은 서브프레임을 결합하여 프레임을 형성하기 위한 프로세스의 하나의 실시형태의 흐름도이다. 도 17 은 데이터 일관성 동작의 하나의 실시형태의 데이터 흐름도이다.
전술한 동작 및 이 프로세스의 하나의 실시형태에 대한 추가 정보에 대하여, 2008 년 6 월 17 일자로 출원되었으며 발명의 명칭이 "Image/Video Quality Enhancement and Super Resolution Using Sparse Transformations" 인 미국 특허 출원 제 12/140,829 호에 기재되었으며 본 명세서에 참조로서 포함된, S. Kanumuri, O. G. Guleryuz 및 M. R. Civanlar 에 의한 "Fast super-resolution reconstructions of mobile video using warped transforms and adaptive thresholding" (Proc. SPIE Conf. on Applications of Digital Image Processing XXX, 캘리포니아 샌디에고, 2007 년 8 월) 을 참조하라.
노이즈 및 플리커 감소
하나의 실시형태에 있어서, 전술한 기술, 특히 순방향 변환 및 역방향 변환은 품질 증대 프로세스 또는 수퍼-해상도 프로세스에서 이용된다. 도 18 은 비디오 시퀀스에 대해 이미지 처리를 수행하기 위한 프로세스의 하나의 실시형태의 흐름도이다. 이 프로세스는, 하드웨어 (회로, 전용 로직 등), (범용 컴퓨터 시스템이나 전용 머신 상에서 실행되는 것과 같은) 소프트웨어, 또는 이들의 조합을 포함할 수도 있는 처리 로직에 의해 수행된다.
후술하는 프로세스에 있어서, x 는 본 명세서에 기재된 기술에 의해 처리되는 입력 비디오로부터의 현재의 프레임을 나타내고,
Figure 112010051939046-pct00159
는 본 명세서에 기재된 기술을 이용한 이후에 출력된 과거의 프레임을 나타내며,
Figure 112010051939046-pct00160
는 이미지 처리 프로세스에 의해 이용되는 임계치 파라미터를 나타낸다. 또한, OP 로 표시되며 다른 선택적 파라미터를 포함하는 벡터가 공급될 수 있다. 사용자 또는 알고리즘은 주관적/객관적 품질의 최적화를 이용하여, 모델 기반 기술을 이용하여 또는 다른 방법을 이용하여 가장 많이 원하는 파라미터를 결정할 수 있다. 또한, 교정 알고리즘이 이용될 수 있다. 또한, 이러한 알고리즘은 비디오 처리 파이프라인이나 입력 비디오 중 어느 하나 또는 이들 모두의 부분/완전 정보를 이용할 수 있다. 하나의 실시형태에 있어서, 모든 비디오 프레임은 래스터-스캔 순서로 픽셀을 배열함으로써 벡터로서 표현되며, N 은 각 비디오 프레임에서의 픽셀의 개수를 나타낸다.
프레임 x 가 획득된 이후에, 도 18 의 처리 블록 1802 의 서브프레임 선택 프로세스가 시작된다. 서브프레임 타입 S 는 M2×1 정수값 벡터로서 정의된다. 본 명세서에서의 목적을 위해, M 은 0 보다 큰 임의의 정수일 수 있다. {S1, S2, S3, …} 은 서브프레임 타입의 라이브러리이다. 픽셀이 래스터-스캔 순서로 넘버링되는 프레임 x 로부터 선택된 픽셀 세트에서의 각 픽셀 i 에 대하여, 서브프레임 타입 si 가 이 라이브러리로부터 선택되며, 벡터 pi
Figure 112010051939046-pct00161
로서 형성되는데, 여기서
Figure 112010051939046-pct00162
은 모든 요소가 1 과 동등한 M2×1 벡터이다. 하나의 실시형태에 있어서, 선택되지 않은 픽셀에 대하여, pi 는 0 의 벡터이다. 선택된 픽셀 세트는 벡터 OP 내에서 시그널링되거나 사전결정될 수 있다. 이 실시형태에 있어서, 이미지에서의 각 픽셀에 대하여 서브프레임이 형성 및 처리된다. 즉, 선택된 픽셀 세트는 프레임에서의 전체 픽셀 세트이다. 그러나, 다른 실시형태에 있어서, 처리는 이미지에서의 픽셀 모두에 대해서가 아니라 픽셀의 선택된 서브세트에 대해서만 수행될 수도 있다. 서브세트는 사이드 정보의 부분으로서 시그널링되거나 사전결정될 수도 있다. 도 26(A) 내지 도 26(E) 는 이러한 서브세트의 실시예를 나타내며; 본 명세서에 기재된 교시에 대해 다른 서브세트가 이용될 수도 있다. 서브프레임으로 지칭되는 M2×1 벡터 zi 는 pi 의 요소에 대응하는 위치에서 프레임 x 의 픽셀값으로 형성된다. 픽셀 i 는 서브프레임 zi 에 대한 피벗으로 지칭된다. 도 11 은 픽셀이 래스터-스캔 순서로 넘버링되는 경우에 픽셀 i 에서의 예시적인 서브프레임 zi 를 도시한 도면이다. 도 11 을 참조하면, 픽셀의 래스터-스캔 순서화는 그 순서로 "1" 부터 시작하여 픽셀을 넘버링함으로써 발생한다. 서브프레임은 픽셀 i 를 피벗으로 하는 것으로 도시되어 있다. 서브프레임은 왜곡 (warped) 로우로 지칭되는 M 개의 벡터로 구성된다. 제 1 왜곡 로우는 서브프레임 요소 1 내지 M 을 그 순서로 갖고; 제 2 왜곡 로우는 서브프레임 요소 M+1 내지 2M 을 갖는 등이다.
하나의 실시형태에 있어서, M 은 4 와 동등하며, 서브프레임 타입의 라이브러리는 도 10(a) 내지 도 10(m) 에 도시된 마스크 세트에 대응한다. 도 10(a) 내지 도 10(m) 을 참조하면, 이러한 서브프레임의 라이브러리에 있어서, 마스크는 화살표로 도시된 바와 같이 상이한 방향에 대응한다. 도 10(a) 에서의 마스크는 본 명세서에서 정규 마스크 (regular mask) 로 언급되는데, 그 이유는 이 마스크가 정규 수평 또는 수평 방향에 대응하기 때문이다. 다른 마스크는 방향성 마스크로 지칭되는데, 그 이유는 이들 마스크가 명백하지 않은 방향에 대응하기 때문이다. 마스크에서의 픽셀 ('a' 내지 'p') 의 차분-위치 (Ω) 는 Ω=CC+W×CR 로서 정의되는데, 여기서 W 는 프레임 y 의 폭이다. CC 는, 관심 대상인 현재의 픽셀의 칼럼에 도착하기 위해서 픽셀 'a' 의 칼럼으로부터 시작하여 우측으로 수평 이동시킬 필요가 있는 칼럼의 개수이다. CR 은, 관심 대상인 현재의 픽셀의 로우에 도착하기 위해서 픽셀 'a' 의 로우로부터 시작하여 아래로 수직 이동시킬 필요가 있는 로우의 개수이다. 예를 들어, 도 10(h) 에서의 마스크의 경우에, 픽셀 'c' 는 CC=-1 및 CR=2 를 갖는다. 마스크에 대응하는 서브프레임 타입은 'a' 부터 'p' 로 순서화된 그 마스크에서의 픽셀의 차분-위치를 포함하는 벡터이다.
하나의 실시형태에 있어서, 픽셀에 대한 서브프레임 타입의 선택은, 항상 정규 마스크에 대응하는 서브프레임 타입을 선택함으로써 이루어진다. 다른 실시형태에 있어서, 픽셀에 대한 서브프레임 타입의 선택은, 각 선택된 픽셀에 대하여, (1) 형성된 서브프레임에 대한 2-D DCT 를 각 서브프레임 타입에 대해 평가함으로써, 그리고 (2) 주어진 임계치 T 보다 큰 크기를 갖는 넌제로 변환 계수의 개수를 최소화하는 서브프레임 타입을 주어진 임계치 T 에 대해 선택함으로써 이루어진다. 또다른 실시형태에 있어서, 픽셀에 대한 서브프레임 타입의 선택은, 각 선택된 픽셀에 대하여, 모든 왜곡 로우에 대해 평균화된 픽셀값의 왜곡 로우 편차를 최소화하는 서브프레임 타입을 선택함으로써 이루어진다. 또다른 실시형태에 있어서, 픽셀에 대한 서브프레임 타입의 선택은, (모든 왜곡 로우에 대해 평균화된 픽셀값의 왜곡 로우 편차를 최소화하는 서브프레임 타입에 기초하여) 서브프레임 타입에 대한 각 픽셀 보트 (vote) 를 K×L 픽셀의 블록에 대해 가지며 K×L 블록에서의 픽셀 모두에 대해 최대 보트를 갖는 서브프레임 타입을 선택함으로써 이루어지는데, 여기서 K 및 L 은 0 보다 큰 임의의 정수일 수 있다. 하나의 실시형태에 있어서, K 및 L 은 모두 4 로 설정된다. 다른 실시형태에 있어서, 픽셀에 대한 서브프레임 타입의 선택은, 각 픽셀에 대해 K×L 픽셀의 블록을 형성하며 이 블록에 대해 선행하는 보팅 방식을 이용하여 서브프레임 타입을 선택함으로써 이루어진다. 각 경우에, 선택된 서브프레임 타입은 현재의 픽셀에 이용된다. 따라서, 각 마스크에 대해 이들 측정된 통계치 중 하나를 이용함으로써, 서브프레임의 선택이 수행된다. 도 10(a) 내지 도 10(m) 에서의 마스크 이외의 마스크가 사용될 수도 있다는 것에 주목하라.
도 19 는 서브프레임 타입 선택 프로세스의 하나의 실시형태의 흐름도이다. 도 20 은 과거의 출력 프레임으로부터의 서브프레임 형성 프로세스의 하나의 실시형태의 흐름도이다.
도 18 의 처리 블록 1804 의 부분으로서, 처리 로직은 또한 공간 변환 선택 및 적용을 수행한다. 보다 상세하게는, 처리 로직은 픽셀-적응 왜곡 공간 변환 Hi 를 이용하여 각각 서브 프레임 zi
Figure 112010051939046-pct00163
를 ei
Figure 112010051939046-pct00164
로 변환한다. 도 21 은 공간 변환 선택 프로세스의 하나의 실시형태의 흐름도이다.
도 18 의 처리 블록 1804 의 부분으로서, 처리 로직은 또한 임계화를 수행한다. 보다 상세하게는, 처리 로직은 ei 의 선택된 요소에 대해 적응 임계치
Figure 112010051939046-pct00165
을 적용하여, ai 를 획득한다. 하나의 실시형태에 있어서, ei 의 요소 모두가 선택된다. 다른 실시형태에 있어서, 제 1 요소 (일반적으로, DC 요소) 를 제외한 모든 요소가 선택된다. 또다른 실시형태에 있어서, 어떠한 요소도 선택되지 않는다. 또한, 변환 계수 ei 는 마스터 임계치
Figure 112010051939046-pct00166
을 이용하여 임계화되어,
Figure 112010051939046-pct00167
를 획득한다. 임계화 동작은, 예를 들어 하드 임계화 및 소프트 임계화와 같이 각종 방식으로 수행될 수 있다.
처리 블록 1805 에서, 처리 로직은 임계화의 결과, 즉 벡터 ai
Figure 112010051939046-pct00168
를 이용하여, M2×2 매트릭스
Figure 112010051939046-pct00169
를 형성한다;
Figure 112010051939046-pct00170
. 본 명세서에서의 목적을 위해, 함수
Figure 112010051939046-pct00171
는, 페이드와 같은 보다 복잡한 장면 특성을 캡처하기 위한 보다 일반적인 함수 또는 휘도 변화에 매칭하기 위한
Figure 112010051939046-pct00172
의 요소 모두의 단순한 선형 스케일링 또는 단위 함수일 수도 있다. 처리 로직은 픽셀-적응 시간 변환 Gi 를 이용하여
Figure 112010051939046-pct00173
를 bi 로 변환한다;. 변환 Gi 는 변환의 라이브러리로부터 선택될 수 있다. 변환은 픽셀-적응으로 지칭되는데, 그 이유는 상이한 픽셀을 피벗으로 한 서브프레임이 상이한 변환을 이용할 수 있기 때문이다. 적응적인 경우에, 선택된 변환은, 마스터 임계치
Figure 112010051939046-pct00175
보다 큰 절대값을 갖는 bi 에서의 계수의 최소 개수를 갖는 변환이다. 도 22 는 시간 변환 선택 프로세스의 하나의 실시형태의 흐름도이다.
변환 계수 bi 를 발생시킨 이후에, 변환 계수 bi
Figure 112010051939046-pct00176
를 이용하여 임계화되어, ci 를 획득한다 (도 18 의 처리 블록 1806). 임계화 동작은 전술한 바와 같은 하드 임계화 및 소프트 임계화와 같이 각종 방식으로 수행될 수 있다. 임계화의 선택은 벡터 OP 내에서 시그널링될 수 있다. 도 23 은 변환 계수를 임계화하기 위한 임계화 프로세스의 하나의 실시형태의 흐름도이다.
임계화된 계수에 대해 역방향 변환을 적용한 이후에, 처리된 서브프레임 모두는 가중화된 방식으로 결합되어, 프레임 y 를 형성한다. 도 24 는 서브프레임을 결합하여 프레임을 생성하기 위한 프로세스의 하나의 실시형태의 흐름도이다.
프레임 y 는 현재의 입력 프레임 x 에 대응하는 출력이다. 처리할 추가 프레임이 존재하는 경우, 도 18 (처리 블록 1812) 에 도시된 바와 같이, 처리 로직은 현재의 입력 프레임 x 를 업데이트하고, y 를
Figure 112010051939046-pct00177
로 카피하며, 이 프로세스를 반복한다.
도 25 는 비디오 시퀀스에 대해 이미지 처리를 수행하기 위한 프로세스의 다른 실시형태의 흐름도이다.
도 26(A) 내지 도 26(E) 는 선택된 픽셀의 예시적인 서브세트를 도시한 도면이다.
이러한 노이즈 및/또는 플리커 감소 프로세스의 하나의 실시형태에 대한 추가 정보에 대하여, 2008 년 9 월 18 일자로 출원되었고, 발명의 명칭이 "Noise and/or Flicker Reduction in Video Sequences using Spatial and Temporal Processing" 이며, S. Kanumuri, O. G. Guleryuz, M. R. Civanlar, A. Fujibayashi 및 C. S. Boon 에 의한 "Temporal Flicker Reduction and Denoising in Video using Sparse Directional Transforms" (Proc. SPIE Conf. on Applications of Digital Image Processing XXXI, 캘리포니아 샌디에고, 2008 년 8 월) 에 기재되어 있는 미국 출원 제 12/233,468 호를 참조하라 (이는 본 명세서에 참조로서 포함되어 있음).
다른 실시형태가 본 명세서에 기재된 기술을 이용할 수도 있다.
본 발명의 실시형태는 도면에 예시되며 전술한 특정 실시예를 참조하여 주로 설명되었다. 그러나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 발명의 실시형태의 대안 및 변형이 본 발명의 범위로부터 벗어나지 않으면서 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명백해진다는 것을 인식할 것이다. 이러한 변형 및 구현은 다음의 특허청구범위에 따라 캡처되는 것으로 이해된다.
본 명세서에 기재된 프로세스는, 프로그램가능 프로세서로 하여금 전술한 바와 같은 동작을 수행하도록 하는 명령들 및 데이터가 저장된 머신 판독가능 매체일 수도 있다. 다른 실시형태에 있어서, 이들 동작은 하드와이어드 로직을 포함하는 특정 하드웨어 컴포넌트에 의해 수행될 수도 있다. 대안적으로, 이들 동작은 프로그램된 컴퓨터 컴포넌트와 주문형 하드웨어 컴포넌트의 임의의 조합에 의해 수행될 수도 있다.
프로그램가능 프로세서를 위한 명령들은 이 프로세서에 의해 직접 실행가능한 형태 ("객체" 또는 "실행가능" 형태) 로 저장될 수도 있고, 또는 이들 명령들은 "컴파일러" 로서 일반적으로 알려진 개발 툴에 의해 자동 처리되어 실행가능 코드를 생성할 수 있는 "소스 코드" 로 지칭된 인간-판독가능 텍스트 형태로 저장될 수도 있다. 또한, 명령들은 기본 소스 코드의 소정의 버전으로부터의 차이 또는 "델타" 로서 특정될 수도 있다. 실시형태를 포함하지 않는 일반적으로 입수가능한 소스 코드 패키지에서 시작하여, 본 발명의 일 실시형태를 구현하는 명령들을 준비하는데 델타 ("패치" 로도 지칭됨) 가 이용될 수 있다.
선행하는 설명에 있어서, 다수의 상세가 설명되었다. 그러나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게, 본 발명이 이들 특정 상세 없이 실시될 수도 있다는 것은 명백할 것이다. 몇몇 경우에, 본 발명의 모호함을 회피하기 위해서, 잘 알려진 구조 및 디바이스는 상세하게 보다는 블록도 형태로 도시된다.
상세한 설명의 일부는, 컴퓨터 메모리 내의 데이터 비트에 대한 연산의 심볼 표현 및 알고리즘에 관하여 제공되었다. 이들 알고리즘 설명 및 표현은, 데이터 처리 기술분야에서 통상의 지식을 가진 자가 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 그 작업의 실체를 가장 효과적으로 전달하는데 이용하는 수단이다. 알고리즘은 본 명세서에서 그리고 일반적으로 원하는 결과를 야기시키는 자기 모순 없는 단계의 시퀀스로 고려된다. 이들 단계는 물리적 양의 물리적 조작을 요구하는 단계이다. 일반적으로, 반드시 그렇지는 않지만, 이들 양은, 저장, 전달, 결합, 비교, 및 그렇지 않으면 조작될 수 있는 전기적 또는 자기적 신호의 형태를 취한다. 이들 신호를 비트, 값, 요소, 심볼, 문자, 용어, 숫자 등으로 언급하는 것이, 때때로, 주로 보통 용법 (common usage) 을 이유로 편리하다고 입증되었다.
그러나, 이들 용어 및 유사한 용어 모두가 적절한 물리적 양과 연관되며, 단지 이들 양에 적용되는 편리한 라벨이라는 것을 명심해야 한다. 선행하는 설명으로부터 명백한 바와 같이 특별히 다른 방식으로 기재되지 않는 한, 이 설명 전체에 걸쳐, "처리" 또는 "컴퓨팅" 또는 "계산" 또는 "결정" 또는 "디스플레이" 등과 같은 용어를 이용하는 설명은, 컴퓨터 시스템의 레지스터 및 메모리 내의 물리적 (전자적) 양으로서 표현된 데이터를 컴퓨터 시스템 메모리나 레지스터 또는 다른 이러한 정보 저장, 송신 또는 디스플레이 디바이스 내의 물리적 양으로서 유사하게 표현된 다른 데이터로 조작 및 변환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 동작 및 프로세스를 언급한다.
또한, 본 발명은 본 명세서에서의 동작을 수행하는 장치에 관한 것이다. 이 장치는 필요한 목적을 위해 특별하게 구성될 수도 있고, 또는 이 장치는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 기동되거나 재구성되는 범용 컴퓨터를 포함할 수도 있다. 이러한 컴퓨터 프로그램은, 플로피 디스크, 광학 디스크, CD-ROM (Compact Disc Read Only Memory), 및 자기-광학 디스크를 포함한 임의의 타입의 디스크, ROM (Read Only Memory), RAM (Random Access Memory), EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically-Erasable Programmable Read Only Memory), 플래시 메모리, 자기 또는 광학 카드, 또는 전자적 명령들을 저장하기에 적합한 임의의 타입의 매체와 같지만 이에 제한되지는 않는 컴퓨터 판독가능 저장 매체에 저장될 수도 있다.
본 명세서에서 제공된 알고리즘 및 디스플레이는 본래 임의의 특정 컴퓨터 또는 다른 장치에 관련되지는 않는다. 각종 범용 시스템은 본 명세서에서의 교시에 따른 프로그램과 함께 사용될 수도 있고, 또는 필요한 프로세스 단계를 수행하도록 보다 전문화된 장치를 구성하는 것이 편리하다고 입증될 수도 있다. 각종 이들 시스템에 필요한 구조는 이하의 설명으로부터 나타날 것이다. 또한, 본 발명은 임의의 특정 프로그래밍 언어를 참조하여 설명되지는 않는다. 본 명세서에 기재된 바와 같은 본 발명의 교시를 구현하는데 각종 프로그래밍 언어가 이용될 수도 있다는 것이 인식될 것이다.
본 발명의 애플리케이션은 특정 실시예를 참조하여 그리고 특정 하드웨어 및/또는 소프트웨어 컴포넌트에 대한 기능성의 특정 할당에 관하여 주로 설명되었다. 그러나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 발명에 기재된 기술이 본 명세서에 기재된 것과 상이하게 본 발명의 실시형태의 기능을 분포시키는 하드웨어 및 소프트웨어에 의해 또한 달성될 수 있다는 것을 인식할 것이다. 이러한 변형 및 구현은 다음의 특허청구범위에 따라 캡처되는 것으로 이해된다.

Claims (35)

  1. 픽셀의 로우 및 칼럼을 포함하는 입력 프레임을 수신하는 단계; 및
    상기 입력 프레임의 상기 로우 및 상기 칼럼에 대해 순방향 가중치-적응 과완전 변환 (forward weight-adaptive over-complete transform) 을 적용함으로써, 상기 입력 프레임에 대응하는 계수 세트를 획득하는 단계를 포함하는, 이미지 처리 방법.
  2. 제 1 항에 있어서,
    상기 입력 프레임의 상기 계수 세트에 대해 데이터 처리 동작을 적용하여, 처리된 계수 세트를 획득하는 단계를 더 포함하는, 이미지 처리 방법.
  3. 제 1 항에 있어서,
    상기 순방향 가중치-적응 과완전 변환은 2-차원 (2-D) 순방향 변환을 포함하는, 이미지 처리 방법.
  4. 제 3 항에 있어서,
    상기 2-D 순방향 변환을 적용하는 것은,
    상기 입력 프레임의 제 1 로우 세트에 대해 첫번째 1-차원 (1-D) 변환을 적용하여, 칼럼 변환을 획득하는 것; 및
    상기 칼럼 변환의 로우에 대해 두번째 1-D 변환을 적용하는 것을 포함하는, 이미지 처리 방법.
  5. 제 4 항에 있어서,
    상기 첫번째 1-D 변환을 적용하는 것은, 모든 칼럼에 대하여, 제 1 버퍼에서의 데이터에 대해 칼럼 방향으로 1-D 순방향 변환을 수행하는 것을 포함하는, 이미지 처리 방법.
  6. 제 3 항에 있어서,
    상기 순방향 가중치-적응 과완전 변환은 분리가능 순방향 변환을 포함하는, 이미지 처리 방법.
  7. 제 3 항에 있어서,
    상기 순방향 가중치-적응 과완전 변환은 고속의 아다마르 2-D 순방향 변환을 포함하는, 이미지 처리 방법.
  8. 제 3 항에 있어서,
    2-D 가중치-적응 과완전 변환은,
    (1) 1≤j≤W 에 대하여,
    Figure 112011100202629-pct00210
    를 컴퓨팅함으로써, 그리고
    (2) 1≤i≤H-P+1 에 대하여,
    Figure 112011100202629-pct00211
    을 컴퓨팅함으로써 수행되며,
    X1(i,j) 는 버퍼이고, Y(i,j,m,n) 은 (i,j) 로서 표현된 상부 좌측 픽셀을 갖는 X 에서의 P×P 블록의 2-D 변환에서의 (m,n) 번째 계수를 나타내고, H 및 W 는 프레임의 높이 및 폭을 나타내고, P 는 상기 변환의 크기를 나타내며,
    Figure 112011100202629-pct00212
    은 1-D 가중치-적응 과완전 변환 연산을 나타내는, 이미지 처리 방법.
  9. 제 8 항에 있어서,
    상기 1-D 가중치-적응 과완전 변환 중 적어도 하나의 변환은 고속의 아다마르 1-D 변환을 포함하는, 이미지 처리 방법.
  10. 제 4 항에 있어서,
    상기 칼럼 변환은 상기 제 1 로우 세트와 동등한 로우의 양을 갖는 버퍼에 저장되고, 상기 제 1 로우 세트는 상기 입력 프레임의 로우의 총량보다 적은 크기를 갖는, 이미지 처리 방법.
  11. 제 10 항에 있어서,
    상기 두번째 1-D 변환은, 상기 버퍼의 로우의 양과 동등한 블록 크기에 기초하여 상기 칼럼 변환의 각 로우에 대해 수행되는, 이미지 처리 방법.
  12. 제 2 항에 있어서,
    상기 데이터 처리 동작은, 디노이징 (denoising) 동작, 이미지 증대 동작 및 플리커 감소 동작을 포함하는 세트로부터의 하나의 동작을 포함하는, 이미지 처리 방법.
  13. 제 1 항에 있어서,
    상기 순방향 가중치-적응 과완전 변환은,
    현재의 입력 프레임의 P 개의 로우를 포함하는 제 1 버퍼 및 과거의 프레임의 P 개의 로우를 갖는 제 2 버퍼에서의 데이터에 대해 칼럼 방향으로 순방향 변환을 계산하여, 결과를 제 3 버퍼 및 제 4 버퍼에 각각 저장함으로써,
    상기 제 3 버퍼 및 상기 제 4 버퍼에서의 데이터에 대해 로우 방향으로 상기 순방향 변환을 계산하여, 결과를 제 5 버퍼 및 제 6 버퍼에 저장함으로써,
    상기 제 5 버퍼 및 상기 제 6 버퍼에서의 계수에 기초하여 상기 제 5 버퍼에서의 계수에 대해 이미지 처리 동작을 수행하여, 결과를 제 7 버퍼에 저장함으로써,
    역방향 변환의 가중치-승산에 기초하여 상기 제 7 버퍼에서의 계수의 로우 방향으로 상기 역방향 변환을 계산하여, 결과를 제 8 버퍼에 저장함으로써,
    하나 이상의 위치에 저장된 데이터에 가중치를 가산하여 제 10 버퍼에서의 데이터를 업데이트함으로써,
    상기 제 8 버퍼에서의 데이터에 대해 칼럼 방향으로 역방향 변환을 계산하여, 결과를 제 9 버퍼에 저장함으로써, 그리고
    상기 제 9 버퍼 및 상기 제 10 버퍼에서의 데이터를 이용하여 수행된 제산 연산의 결과에 기초하여 출력 프레임 버퍼를 업데이트함으로써 수행되는, 이미지 처리 방법.
  14. 제 13 항에 있어서,
    상기 현재의 입력 프레임의 P 개의 로우를 포함하는 버퍼, 과거의 입력 프레임의 P 개의 로우를 포함하는 버퍼, 제 9 데이터 버퍼 및 제 10 데이터 버퍼의 P 개의 로우를 로테이션하는 단계를 더 포함하는, 이미지 처리 방법.
  15. 제 13 항에 있어서,
    상기 제 3 버퍼, 상기 제 4 버퍼 및 상기 제 8 버퍼는, 상기 순방향 가중치-적응 과완전 변환을 다시 수행하는 경우에 0 으로 초기화되지 않는, 이미지 처리 방법.
  16. 입력 변환 계수 세트를 수신하는 단계; 및
    상기 입력 변환 계수 세트에 대해 역방향 가중치-적응 과완전 변환 (inverse weight-adaptive over-complete transform) 을 적용하여, 출력 프레임을 획득하는 단계를 포함하는, 이미지 처리 방법.
  17. 제 16 항에 있어서,
    상기 역방향 가중치-적응 과완전 변환을 적용하는 것은,
    제 1 버퍼, 제 2 버퍼 및 제 3 버퍼를 초기화하는 것;
    특정 로우 및 칼럼에 상부 좌측 픽셀을 갖는 픽셀의 블록의 변환 계수에 대해 1-D 역방향 변환 및 가중치 승산을 수행하는 것;
    상기 제 3 버퍼의 현재의 콘텐츠에 대해 상기 1-D 역방향 변환 및 상기 가중치 승산의 결과를 가산함으로써 상기 제 3 버퍼를 업데이트하는 것;
    상기 제 2 버퍼에서의 위치에 가중치를 가산함으로써 상기 제 2 버퍼를 업데이트하는 것;
    특정 로우의 임의의 가능한 칼럼에 상부-좌측 픽셀을 갖는, 픽셀의 모든 블록으로부터의 변환 계수가 처리될 때까지, 상기 수행 동작 및 상기 업데이트 동작을 반복하는 것;
    상기 제 3 버퍼에서의 데이터에 대해 칼럼 방향으로 1-D 역방향 변환을 수행하는 것;
    상기 제 1 버퍼의 현재의 콘텐츠에 대해 칼럼 변환에서의 상기 1-D 역방향 변환의 결과를 가산함으로써 상기 제 1 버퍼를 업데이트하는 것;
    임의의 가능한 로우 및 임의의 가능한 칼럼에 상부-좌측 픽셀을 갖는, 픽셀의 모든 블록으로부터의 변환 계수가 처리될 때까지, 상기 제 3 버퍼를 초기화하는 동작, 상기 1-D 역방향 변환을 수행하는 동작, 및 상기 제 1 버퍼, 상기 제 2 버퍼 및 상기 제 3 버퍼를 업데이트하는 동작을 반복하는 것; 및
    상기 제 2 버퍼로부터의 데이터로 상기 제 1 버퍼에서의 데이터를 제산함으로써 제산 연산을 수행하는 것을 포함하는, 이미지 처리 방법.
  18. 제 17 항에 있어서,
    상기 가중치-승산은, 가중치 적응 역방향 변환 매트릭스 및 값들의 이산 세트로부터 선택되는 가중치를 이용하여 상기 1-D 역방향 변환 연산에 의해 암시적으로 수행되는, 이미지 처리 방법.
  19. 제 17 항에 있어서,
    상기 제산 연산은, 승산, 가산 및 시프트를 이용하여 근사되는, 이미지 처리 방법.
  20. 제 17 항에 있어서,
    상기 역방향 가중치-적응 과완전 변환을 적용하는 것은, 2 개의 연산으로 2-D 역을 수행하는 것을 포함하고, 상기 2 개의 연산 각각은 1-D 역방향 변환을 포함하는, 이미지 처리 방법.
  21. 제 17 항에 있어서,
    상기 1-D 역방향 변환을 수행하는 것은, 적어도 하나의 가중치-적응 역방향 변환에 대한 가중치 승산을 수행하는 것을 포함하는, 이미지 처리 방법.
  22. 제 21 항에 있어서,
    상기 가중치-적응 역방향 변환에 기초하여 상기 가중치 승산을 수행하는 것은 가중치의 매트릭스에 저장된 가중치를 선택하는 것을 포함하는, 이미지 처리 방법.
  23. 제 16 항에 있어서,
    상기 입력 변환 계수 세트는 처리된 변환 계수에 대응하는, 이미지 처리 방법.
  24. 제 23 항에 있어서,
    상기 처리된 변환 계수는, 디노이징 동작, 이미지 증대 동작 및 플리커 감소 동작을 포함하는 세트로부터의 동작에 대응하는, 이미지 처리 방법.
  25. 제 1 버퍼 세트를 초기화하는 단계;
    현재의 입력 프레임에 대해 순방향 가중치-적응 과완전 변환 및 역방향 가중치-적응 과완전 변환 연산을 수행하는 단계로서, 그 결과가 제 2 버퍼 세트에 저장되고, 상기 순방향 가중치-적응 과완전 변환은 2-차원 (2-D) 순방향 변환을 포함하고, 상기 역방향 가중치-적응 과완전 변환 연산은 1-차원 (1-D) 역방향 변환을 포함하는, 상기 순방향 가중치-적응 과완전 변환 및 역방향 가중치-적응 과완전 변환 연산을 수행하는 단계;
    상기 제 1 버퍼 세트 및 상기 제 2 버퍼 세트를 로테이션 및 업데이트하는 단계; 및
    상기 제 2 버퍼 세트로부터의 각각의 버퍼에 기초하여 현재의 출력 프레임을 출력하는 단계를 포함하는, 이미지 처리 방법.
  26. 제 25 항에 있어서,
    상기 순방향 가중치-적응 과완전 변환을 수행한 이후 및 상기 역방향 가중치-적응 과완전 변환 이전에 변환 도메인에서 적어도 하나의 데이터 처리 동작을 수행하는 단계를 더 포함하는, 이미지 처리 방법.
  27. 제 25 항에 있어서,
    상기 제 1 버퍼 세트를 초기화하는 단계는,
    상기 현재의 입력 프레임의 로우를 제 1 버퍼로 카피하는 단계; 및
    과거의 출력 프레임의 로우를 제 2 버퍼로 카피하는 단계를 더 포함하는, 이미지 처리 방법.
  28. 제 26 항에 있어서,
    동시에 상기 순방향 가중치-적응 과완전 변환, 상기 데이터 처리 동작 및 상기 역방향 가중치-적응 과완전 변환을 수행하는 단계를 더 포함하는, 이미지 처리 방법.
  29. 제 25 항에 있어서,
    상기 현재의 출력 프레임을 제 3 버퍼 세트에 저장하는 단계를 더 포함하는, 이미지 처리 방법.
  30. 현재의 입력 프레임에 대해, 순방향 가중치-적응 과완전 변환, 적어도 하나의 데이터 처리 동작 및 역방향 가중치-적응 과완전 변환 연산을 수행하는 프로세서로서, 상기 순방향 가중치-적응 과완전 변환은 2-차원 (2-D) 순방향 변환을 포함하고, 상기 역방향 가중치-적응 과완전 변환 연산은 1-차원 (1-D) 역방향 변환을 포함하는, 상기 프로세서;
    상기 프로세서에 커플링되어, 상기 프로세서에 의해 초기화되는 제 1 버퍼 세트;
    상기 프로세서에 커플링되어, 상기 현재의 입력 프레임의 상기 순방향 가중치-적응 과완전 변환 및 상기 역방향 가중치-적응 과완전 변환 연산의 결과를 저장하는 제 2 버퍼 세트; 및
    상기 프로세서에 커플링되어, 현재의 출력 프레임을 저장하는 제 3 버퍼 세트를 포함하는, 시스템.
  31. 제 30 항에 있어서,
    상기 프로세서는 SIMD (Single Instruction Multiple Data) 프로세서인, 시스템.
  32. 제 30 항에 있어서,
    상기 프로세서는, 과거의 출력 프레임에 대해 순방향 변환 연산을 수행하기 위한 것인, 시스템.
  33. 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금,
    픽셀의 로우 및 칼럼을 포함하는 입력 프레임을 수신하는 것; 및
    상기 입력 프레임의 상기 로우 및 상기 칼럼에 대해 순방향 가중치-적응 과완전 변환을 적용함으로써, 상기 입력 프레임에 대응하는 계수 세트를 획득하는 것으로서, 상기 순방향 가중치-적응 과완전 변환은 2-차원 (2-D) 순방향 변환을 포함하는, 상기 입력 프레임에 대응하는 계수 세트를 획득하는 것을 포함한 동작을 수행하도록 하는 저장된 명령들을 포함하는, 머신 판독가능 매체.
  34. 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금,
    입력 변환 계수 세트를 수신하는 것; 및
    출력 프레임을 획득하기 위하여 상기 입력 변환 계수 세트에 대해 역방향 가중치-적응 과완전 변환을 적용하는 것으로서, 상기 역방향 가중치-적응 과완전 변환은 1-차원 (1-D) 역방향 변환을 포함하는, 상기 역방향 가중치-적응 과완전 변환을 적용하는 것을 포함한 동작을 수행하도록 하는 저장된 명령들을 포함하는, 머신 판독가능 매체.
  35. 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금,
    제 1 버퍼 세트를 초기화하는 것;
    현재의 입력 프레임에 대해 순방향 가중치-적응 과완전 변환 및 역방향 가중치-적응 과완전 변환 연산을 계산하여 제 2 버퍼 세트에 저장되도록 하는 것으로서, 상기 순방향 가중치-적응 과완전 변환은 2-차원 (2-D) 순방향 변환을 포함하고, 상기 역방향 가중치-적응 과완전 변환 연산은 1-차원 (1-D) 역방향 변환을 포함하는, 상기 계산하여 제 2 버퍼 세트에 저장되도록 하는 것;
    상기 제 1 버퍼 세트 및 상기 제 2 버퍼 세트를 로테이션 및 업데이트하는 것; 및
    상기 제 2 버퍼 세트로부터의 각각의 버퍼에 기초하여 현재의 출력 프레임을 출력하는 것을 포함한 동작을 수행하도록 하는 저장된 명령들을 포함하는, 머신 판독가능 매체.
KR1020107017926A 2008-02-05 2009-02-02 고속의 메모리 효율적인 변환 구현 방법 KR101137753B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US2645308P 2008-02-05 2008-02-05
US61/026,453 2008-02-05
US12/239,195 2008-09-26
US12/239,195 US8837579B2 (en) 2008-02-05 2008-09-26 Methods for fast and memory efficient implementation of transforms
PCT/US2009/032890 WO2009100034A2 (en) 2008-02-05 2009-02-02 Methods for fast and memory efficient implementation of transforms

Publications (2)

Publication Number Publication Date
KR20100112162A KR20100112162A (ko) 2010-10-18
KR101137753B1 true KR101137753B1 (ko) 2012-04-24

Family

ID=40931208

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020107017926A KR101137753B1 (ko) 2008-02-05 2009-02-02 고속의 메모리 효율적인 변환 구현 방법
KR1020107017838A KR101291869B1 (ko) 2008-02-05 2009-02-02 공간 및 시간 처리를 이용하는 비디오 시퀀스에서의 노이즈 및/또는 플리커 감소

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020107017838A KR101291869B1 (ko) 2008-02-05 2009-02-02 공간 및 시간 처리를 이용하는 비디오 시퀀스에서의 노이즈 및/또는 플리커 감소

Country Status (6)

Country Link
US (2) US8731062B2 (ko)
EP (2) EP2240869B1 (ko)
JP (3) JP5419897B2 (ko)
KR (2) KR101137753B1 (ko)
CN (2) CN102378978B (ko)
WO (2) WO2009100034A2 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8311088B2 (en) * 2005-02-07 2012-11-13 Broadcom Corporation Method and system for image processing in a microprocessor for portable video communication devices
US8305497B2 (en) * 2007-07-27 2012-11-06 Lsi Corporation Joint mosquito and aliasing noise reduction in video signals
US8731062B2 (en) 2008-02-05 2014-05-20 Ntt Docomo, Inc. Noise and/or flicker reduction in video sequences using spatial and temporal processing
JP4801186B2 (ja) * 2009-04-23 2011-10-26 株式会社エヌ・ティ・ティ・ドコモ 画像処理装置、画像処理方法および画像処理プログラム
KR101682147B1 (ko) 2010-04-05 2016-12-05 삼성전자주식회사 변환 및 역변환에 기초한 보간 방법 및 장치
EP2442567A1 (en) * 2010-10-14 2012-04-18 Morpho Inc. Image Processing Device, Image Processing Method and Image Processing Program
FR2978273B1 (fr) * 2011-07-22 2013-08-09 Thales Sa Procede de reduction du bruit dans une sequence d'images fluoroscopiques par filtrage temporel et spatial
EA017302B1 (ru) * 2011-10-07 2012-11-30 Закрытое Акционерное Общество "Импульс" Способ подавления шума серий цифровых рентгенограмм
US9924200B2 (en) 2013-01-24 2018-03-20 Microsoft Technology Licensing, Llc Adaptive noise reduction engine for streaming video
US9357236B2 (en) * 2014-03-13 2016-05-31 Intel Corporation Color compression using a selective color transform
US9939253B2 (en) * 2014-05-22 2018-04-10 Brain Corporation Apparatus and methods for distance estimation using multiple image sensors
US10102613B2 (en) * 2014-09-25 2018-10-16 Google Llc Frequency-domain denoising
CN106028014B (zh) * 2016-05-27 2017-12-08 京东方科技集团股份有限公司 一种校正视频闪烁的方法及设备
EP3557484B1 (en) * 2016-12-14 2021-11-17 Shanghai Cambricon Information Technology Co., Ltd Neural network convolution operation device and method
TWI748035B (zh) * 2017-01-20 2021-12-01 日商半導體能源硏究所股份有限公司 顯示系統及電子裝置
CN106791283B (zh) * 2017-01-25 2019-11-19 京东方科技集团股份有限公司 一种校正视频闪烁的方法、装置及视频设备
US11134272B2 (en) * 2017-06-29 2021-09-28 Qualcomm Incorporated Memory reduction for non-separable transforms
KR102444054B1 (ko) 2017-09-14 2022-09-19 삼성전자주식회사 영상 처리 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
EP4274207A1 (en) 2021-04-13 2023-11-08 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
CN114020211B (zh) * 2021-10-12 2024-03-15 深圳市广和通无线股份有限公司 存储空间管理方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006127546A2 (en) 2005-05-20 2006-11-30 Ntt Docomo, Inc. Method and apparatus for noise filtering in video coding

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4447886A (en) 1981-07-31 1984-05-08 Meeker G William Triangle and pyramid signal transforms and apparatus
US4442454A (en) 1982-11-15 1984-04-10 Eastman Kodak Company Image processing method using a block overlap transformation procedure
JP2637978B2 (ja) * 1987-04-16 1997-08-06 日本ビクター株式会社 動き適応形画質改善装置
JPH01201773A (ja) * 1988-02-05 1989-08-14 Matsushita Electric Ind Co Ltd ディジタル信号処理装置
JPH0379182A (ja) 1989-08-23 1991-04-04 Fujitsu Ltd 画像符号化制御方式
JP3302731B2 (ja) 1992-06-02 2002-07-15 大日本印刷株式会社 画像拡大方法
JP3222273B2 (ja) * 1993-07-09 2001-10-22 株式会社日立製作所 核磁気共鳴診断装置における動画像の画質改善方法
JP3392946B2 (ja) 1993-07-15 2003-03-31 ペンタックス株式会社 電子スチルカメラ及び画像再生装置
US5666163A (en) 1994-07-12 1997-09-09 Sony Corporation Electronic image resolution enhancement by frequency-domain extrapolation
JPH08294001A (ja) 1995-04-20 1996-11-05 Seiko Epson Corp 画像処理方法および画像処理装置
JP3378167B2 (ja) 1997-03-21 2003-02-17 シャープ株式会社 画像処理方法
US5859788A (en) 1997-08-15 1999-01-12 The Aerospace Corporation Modulated lapped transform method
US6438275B1 (en) 1999-04-21 2002-08-20 Intel Corporation Method for motion compensated frame rate upsampling based on piecewise affine warping
AUPQ156299A0 (en) * 1999-07-12 1999-08-05 Canon Kabushiki Kaisha Method and apparatus for discrete wavelet transforms and compressed bitstream ordering for block entropy coding of subband image data
KR100327385B1 (en) 2000-07-18 2002-03-13 Lg Electronics Inc Spatio-temporal three-dimensional noise filter
EP1209624A1 (en) * 2000-11-27 2002-05-29 Sony International (Europe) GmbH Method for compressed imaging artefact reduction
US6898323B2 (en) * 2001-02-15 2005-05-24 Ricoh Company, Ltd. Memory usage scheme for performing wavelet processing
JP3887178B2 (ja) * 2001-04-09 2007-02-28 株式会社エヌ・ティ・ティ・ドコモ 信号符号化方法及び装置並びに復号方法及び装置
US7206459B2 (en) 2001-07-31 2007-04-17 Ricoh Co., Ltd. Enhancement of compressed images
JP2003134352A (ja) * 2001-10-26 2003-05-09 Konica Corp 画像処理方法及び装置並びにプログラム
US7120308B2 (en) * 2001-11-26 2006-10-10 Seiko Epson Corporation Iterated de-noising for image recovery
EP1500268A2 (en) * 2002-04-19 2005-01-26 Droplet Technology, Inc. Wavelet transform system, method and computer program product
US7940844B2 (en) * 2002-06-18 2011-05-10 Qualcomm Incorporated Video encoding and decoding techniques
JP3902990B2 (ja) 2002-07-02 2007-04-11 キヤノン株式会社 アダマール変換処理方法及びその装置
US20050030393A1 (en) 2003-05-07 2005-02-10 Tull Damon L. Method and device for sensor level image distortion abatement
US7352909B2 (en) * 2003-06-02 2008-04-01 Seiko Epson Corporation Weighted overcomplete de-noising
US20050105817A1 (en) 2003-11-17 2005-05-19 Guleryuz Onur G. Inter and intra band prediction of singularity coefficients using estimates based on nonlinear approximants
KR100564592B1 (ko) 2003-12-11 2006-03-28 삼성전자주식회사 동영상 데이터 잡음제거방법
GB2415876B (en) * 2004-06-30 2007-12-05 Voxar Ltd Imaging volume data
US7860167B2 (en) * 2004-07-30 2010-12-28 Algolith Inc. Apparatus and method for adaptive 3D artifact reducing for encoded image signal
ATE540375T1 (de) * 2004-09-09 2012-01-15 Silicon Optix Inc System und verfahren zum repräsentieren einer allgemeinen zweidimensionalen räumlichen transformation
US7554611B2 (en) * 2005-04-19 2009-06-30 Samsung Electronics Co., Ltd. Method and apparatus of bidirectional temporal noise reduction
US20060288065A1 (en) * 2005-06-17 2006-12-21 Docomo Communications Laboratories Usa, Inc. Method and apparatus for lapped transform coding and decoding
JP4699117B2 (ja) * 2005-07-11 2011-06-08 株式会社エヌ・ティ・ティ・ドコモ 信号符号化装置、信号復号化装置、信号符号化方法、及び信号復号化方法。
JP4743604B2 (ja) * 2005-07-15 2011-08-10 株式会社リコー 画像処理装置、画像処理方法、プログラム及び情報記録媒体
US20070074251A1 (en) * 2005-09-27 2007-03-29 Oguz Seyfullah H Method and apparatus for using random field models to improve picture and video compression and frame rate up conversion
JP5160451B2 (ja) 2006-01-31 2013-03-13 トムソン ライセンシング エッジ・ベースの空間‐時間的フィルタリングの方法および装置
JP4760552B2 (ja) * 2006-06-06 2011-08-31 ソニー株式会社 動きベクトル復号化方法および復号化装置
US20080007649A1 (en) * 2006-06-23 2008-01-10 Broadcom Corporation, A California Corporation Adaptive video processing using sub-frame metadata
US8606023B2 (en) 2006-06-26 2013-12-10 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
CN100454972C (zh) 2006-12-28 2009-01-21 上海广电(集团)有限公司中央研究院 一种视频图像3d降噪方法
US8743963B2 (en) 2007-08-13 2014-06-03 Ntt Docomo, Inc. Image/video quality enhancement and super-resolution using sparse transformations
US20090060368A1 (en) 2007-08-27 2009-03-05 David Drezner Method and System for an Adaptive HVS Filter
US8731062B2 (en) 2008-02-05 2014-05-20 Ntt Docomo, Inc. Noise and/or flicker reduction in video sequences using spatial and temporal processing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006127546A2 (en) 2005-05-20 2006-11-30 Ntt Docomo, Inc. Method and apparatus for noise filtering in video coding

Also Published As

Publication number Publication date
JP5734475B2 (ja) 2015-06-17
CN101933330A (zh) 2010-12-29
JP2014112414A (ja) 2014-06-19
JP2011512086A (ja) 2011-04-14
KR101291869B1 (ko) 2013-07-31
JP5419897B2 (ja) 2014-02-19
EP2240869A2 (en) 2010-10-20
EP2240869B1 (en) 2019-08-07
US8837579B2 (en) 2014-09-16
CN102378978B (zh) 2015-10-21
JP2011527033A (ja) 2011-10-20
US20090195535A1 (en) 2009-08-06
EP2243298A1 (en) 2010-10-27
CN101933330B (zh) 2013-03-13
CN102378978A (zh) 2012-03-14
US8731062B2 (en) 2014-05-20
KR20100114068A (ko) 2010-10-22
EP2243298B1 (en) 2021-10-06
WO2009100032A1 (en) 2009-08-13
WO2009100034A2 (en) 2009-08-13
KR20100112162A (ko) 2010-10-18
WO2009100034A3 (en) 2012-11-01
US20090195697A1 (en) 2009-08-06
JP5517954B2 (ja) 2014-06-11

Similar Documents

Publication Publication Date Title
KR101137753B1 (ko) 고속의 메모리 효율적인 변환 구현 방법
Shen et al. An accelerated proximal gradient algorithm for frame-based image restoration via the balanced approach
JP4920599B2 (ja) ハイブリッドビデオ圧縮の量子化雑音除去用の非線形ループ内デノイズフィルタ
Tassano et al. An analysis and implementation of the ffdnet image denoising method
US8538202B2 (en) Computing higher resolution images from multiple lower resolution images
Gunturk et al. Super-resolution reconstruction of compressed video using transform-domain statistics
Liu et al. Switchable temporal propagation network
Woo et al. Alternating minimization algorithm for speckle reduction with a shifting technique
Zuo et al. Convolutional neural networks for image denoising and restoration
JP2008226233A (ja) カーネルフィルタを用いて入力データをフィルタリングするコンピュータ実装方法及び装置
Portilla et al. Efficient and robust image restoration using multiple-feature L2-relaxed sparse analysis priors
KR20200132682A (ko) 이미지 최적화 방법, 장치, 디바이스 및 저장 매체
Wu et al. Image autoregressive interpolation model using GPU-parallel optimization
CN109993701B (zh) 一种基于金字塔结构的深度图超分辨率重建的方法
Ono et al. Image recovery by decomposition with component-wise regularization
JP4945533B2 (ja) 画像処理装置及び画像処理方法
Gao et al. High performance super-resolution reconstruction of multi-frame degraded images with local weighted anisotropy and successive regularization
Zhang et al. Video superresolution reconstruction using iterative back projection with critical-point filters based image matching
Jiang et al. Learning in-place residual homogeneity for single image detail enhancement
KR101152525B1 (ko) 모션 블러 제거 방법 및 이러한 방법을 수행하는 장치
CN115375539A (zh) 图像分辨率增强、多帧图像超分辨率系统和方法
Zerva et al. Video Super-Resolution Using Plug-and-Play Priors
Devkota et al. Deep Learning Based Super-Resolution for Medical Volume Visualization with Direct Volume Rendering
Deshmukh et al. Residual CNN Image Compression
Chernyavskiy Super-resolution: 2. Machine learning-based approach

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: 20160318

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170322

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180316

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190319

Year of fee payment: 8