KR20080103907A - 데이터 프레임들의 시퀀스의 효율적인 인코딩/디코딩 - Google Patents

데이터 프레임들의 시퀀스의 효율적인 인코딩/디코딩 Download PDF

Info

Publication number
KR20080103907A
KR20080103907A KR1020080047592A KR20080047592A KR20080103907A KR 20080103907 A KR20080103907 A KR 20080103907A KR 1020080047592 A KR1020080047592 A KR 1020080047592A KR 20080047592 A KR20080047592 A KR 20080047592A KR 20080103907 A KR20080103907 A KR 20080103907A
Authority
KR
South Korea
Prior art keywords
data
frame
prediction
block
transform
Prior art date
Application number
KR1020080047592A
Other languages
English (en)
Other versions
KR101004157B1 (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 KR20080103907A publication Critical patent/KR20080103907A/ko
Application granted granted Critical
Publication of KR101004157B1 publication Critical patent/KR101004157B1/ko

Links

Images

Classifications

    • 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
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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

Abstract

먼저 예측 데이터 및 입력 데이터의 변환을 수행한 다음, 결과의 출력들의 감산을 수행함으로써 데이터를 인코딩한다. 일 실시예에서, 예측 방법은 (입력 데이터 내의 엘리먼트들의 수에 비하여) 보다 적은 수의 상이한 값들의 엘리먼트들이 생성되도록 선택되고, 상기 상이한 값들은 예측 가능한 위치에서 생성된다. 변환 방법은 그 출력이 그 입력 데이터의 변화들을 명백히 나타낼 뿐만 아니라 분배 법칙을 만족시키도록 선택된다. 그 결과, 데이터는 효율적으로 인코딩 및/또는 디코딩될 수 있다.
데이터 프레임, 인코딩, 디코딩, 변환, 예측, 분배 법칙

Description

데이터 프레임들의 시퀀스의 효율적인 인코딩/디코딩{EFFICIENT ENCODING/DECODING OF A SEQUENCE OF DATA FRAMES}
본 발명은 일반적으로 디지털 신호 처리에 관한 것으로, 더 구체적으로는 데이터 프레임들의 시퀀스의 효율적인 인코딩/디코딩에 관한 것이다.
일반적으로 인코딩은 인코딩된 데이터가 허용 가능한 오차 레벨 내에서 오리지널 디지털 값들로 도로 예전 상태로 복귀(reconvert back)될 수 있도록 어떤 방법(approach)(인코딩 방법)에 따라 디지털 값들을 변환하는 것을 지칭한다. 도로 예전 상태로 복귀하는 것은 디코딩으로 지칭된다.
데이터 프레임들의 시퀀스가 존재하는 몇몇 상황들이 있다. 일반적으로, 각 데이터 프레임은 다수의 값들을 포함한다. 예를 들면, 흥미있는 신들(scenes of interest)의 이미지들을 캡처하는 동안 비디오 프레임들의 시퀀스가 생성된다. 각 비디오 프레임은 다수의 픽셀 값들을 포함하는 것으로 간주되고, 각 픽셀 값은 캡처된 이미지의 포인트/부분을 나타낸다.
그러한 데이터 프레임들은 종종 인코딩되고 그 후 디코딩된다. 일반적으로 인코딩은 데이터를 압축된 포맷으로 표현하기 위해 수행되고 디코딩은 오리지널 데 이터를 다시 복구하기 위해 수행된다. 압축된 포맷의 표현은 감소된 저장 공간, 감소된 송신 요건 등의 이점들을 가질 수 있다.
계산, 메모리, 전력 등의 자원들 중 하나 이상을 감소시키면서 그러한 인코딩 및/또는 디코딩을 수행하는 일반적인 요구가 있다.
본 발명은 계산, 메모리, 전력 등의 자원들 중 하나 이상을 감소시키면서 효율적인 데이터의 인코딩 및/또는 디코딩을 수행할 수 있는 방법 및 그러한 인코더 및 디코더를 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해, 본 발명의 일 양태에 따르면,
데이터 프레임들의 시퀀스를 인코딩하기 위한 인코더로서, 상기 데이터 프레임들의 시퀀스에 포함된 제1 데이터 프레임을 수신하고 변환 방법(transformation approach)에 따라 변환된 프레임을 생성하는 제1 변환 블록; 예측 방법(prediction approach)을 이용하여 상기 시퀀스 내의 상기 제1 데이터 프레임에 앞선 데이터 프레임들로부터 상기 제1 데이터 프레임에 대응하는 예측 프레임(predicted frame)을 생성하는 예측 블록; 또한 상기 변환 방법에 따라 상기 예측 프레임을 처리함으로써 변환된 예측 데이터를 생성하는 제2 변환 블록; 상기 변환된 예측 데이터와 상기 변환된 프레임의 차이를 생성하여 차이 데이터를 생성하는 감산기 블록(subtractor block); 및 상기 차이 데이터를 양자화하여 상기 제1 데이터 프레임에 대응하는 양자화 데이터(quantized data)를 생성하는 양자화 블록을 포함하는 인코더가 제공된다.
본 발명에 따르면, 계산, 메모리, 전력 등의 자원들 중 하나 이상을 감소시 키면서 효율적인 데이터의 인코딩 및/또는 디코딩을 수행할 수 있다.
1. 개관(Overview)
본 발명의 일 양태는 각각의 프레임들의 시퀀스 내의 디지털 값들의 변환을 수행하고, 그 동일한 변환을 예측 데이터(predicted data)에 적용하고, 그 후 그 2개의 변환들의 결과들의 차이를 수행한다.
일 실시예에서, 예측 방법은 보다 적은 수의 상이한 값들의 엘리먼트들이 생성되도록 선택되고, 상기 상이한 값들은 예측 가능한 위치에서 생성된다. 변환 방법은 그 출력이 그 입력 데이터의 변화들을 명백히 나타낼 뿐만 아니라 분배 법칙(distributive property), 즉, T(A+B) = T(A) + T(B)을 만족시키도록 선택되고, 여기서 T는 변환 연산을 나타내고, A 및 B는 각각의 데이터 입력 세트들을 나타낸다.
그 결과, 데이터는 효율적으로 인코딩될 수 있다. 디코딩도 유사한 원리에 기초할 수 있지만, 변환 방법의 역(inverse)을 이용한다. 일 실시예에서 비디오 프레임들의 시퀀스를 (일반적인 코드로) 인코딩 및 디코딩하는 기법들이 이용된다.
본 발명의 몇몇 양태들에 대하여 예시를 위한 예들을 참조하여 아래에서 설명한다. 본 발명의 충분한 이해를 제공하기 위해 다수의 특정 상세, 관계, 및 방법들이 기술된다는 것을 이해해야 할 것이다. 그러나, 관련 기술 분야의 숙련자라면 그 특정 상세들 중 하나 이상이 없이도, 또는 다른 방법 등으로 본 발명이 실시될 수 있다는 것을 쉽사리 인지할 것이다. 그 밖의 경우에, 잘 알려진 구조들 또 는 동작들은 본 발명의 특징들을 모호하게 하는 것을 피하기 위해 상세히 제시되지 않는다.
2. 예시적 환경
도 1은 본 발명의 몇몇 특징들이 구현될 수 있는 예시적 환경을 예시하는 도면이다. 이 예시적 환경은 예시를 위해 대표적인 시스템들만을 포함하는 것으로 도시되어 있다. 그러나, 실세계 환경들은 더욱 많은 시스템들/컴포넌트들을 포함할 수 있고 이는 관련 기술 분야의 숙련자에게 명백할 것이다. 그러한 환경들에서의 구현들도 본 발명의 다양한 양태들의 범위 및 사상 내에 있는 것으로 의도된다.
도면은 화상 회의 응용(video conferencing application)에서 서로 통신하도록 설계/구성된 단말 시스템들(end systems)(140A 및 140N)을 포함하는 것으로 도시되어 있다. 단말 시스템(140A)은 처리 장치(processing unit)(110A), 비디오 카메라(120A) 및 디스플레이 장치(display unit)(130A)를 포함하는 것으로 도시되어 있고, 단말 시스템(140N)은 처리 장치(110N), 비디오 카메라(120N) 및 디스플레이 장치(130N)를 포함하는 것으로 도시되어 있다.
단말 시스템들(140A 내지 140N)은 본 발명의 몇몇 양태들에 따라 구현된 예시적 시스템들을 나타낸다. 처리 장치(110N), 비디오 카메라(120N) 및 디스플레이 장치(130N)는 각각 단말 시스템(140A)의 대응 컴포넌트들과 유사하게 동작하므로, 그에 대한 설명은 간결함을 위해 반복하지 않는다. 단말 시스템(140A)의 각 컴포넌트에 대해 아래에서 상세히 설명한다.
비디오 카메라(120A)는 신(scene)의 이미지들을 캡처하고, 캡처된 이미지를 (대응하는 비디오 프레임들의 형태로) 경로(121) 상에서 처리 장치(110A)로 전송한다. 각 비디오 프레임은 다수의 픽셀 엘리먼트들(디지털 값들)로 나타내어질 수 있고, 각 픽셀 엘리먼트는 캡처된 이미지의 포인트/부분에 대한 컬러 값을 갖는다.
처리 장치(110A)는 픽셀 엘리먼트들을 인코딩하고 인코딩된 데이터를 생성한다. 인코딩된 데이터는 송신 경로(115) 상에서 송신된다. 처리 장치(110A)는 유사하게 단말 시스템(140N)으로부터 송신 경로(115) 상에서 인코딩된 데이터를 수신할 수 있다. 처리 장치(110A)는 수신된 데이터를 디코딩하고 디코딩된 프레임들을 디스플레이 장치(130A) 상에서의 디스플레이를 위해 송신한다.
따라서 처리 장치들(110A 및 110N) 양쪽 모두는 데이터의 인코딩 및 디코딩 양쪽 모두를 수행할 필요가 있을 수 있다. 단지 설명의 편의를 위해, 아래 설명에서 처리 장치(110A)는 데이터를 인코딩하고 처리 장치(110N)는 데이터를 디코딩한다고 가정한다.
인코딩/디코딩 동작들을 위한 처리 장치들에서의 다양한 자원 요건들을 감소시키는 것이 바람직하다는 것을 알 수 있다. 본 발명의 몇몇 양태들은 아래에서 예들에 의해 더 상세하게 설명되는 바와 같이 그러한 목적이 충족되는 것을 가능케 한다.
그 특징들은 비디오 프레임들의 시퀀스를 처리하는 종래의 방법과 비교하여 알 수 있다. 따라서 그러한 종래의 방법에 대해 먼저 설명한다.
3. 예시적인 종래의 인코딩/디코딩 방법
도 2a는 종래의 인코딩 방법을 예시하는 블록도이고 도 2b는 대응하는 디코 딩 방법을 예시한다. 도 2a는 이미지 소스(210), 오차 블록(error block)(220), 예측 블록(230), 변환 블록(240), 및 양자화 블록(250)을 포함하는 것으로 도시되어 있다. 각 블록에 대하여 아래에서 더 상세히 설명한다.
이미지 소스(210)는 이미지 프레임들의 스트림(stream of image frames)을 생성하는 블록을 나타내고, 각 이미지 프레임은 대응하는 픽셀 값들의 세트에 의해 나타내어진다. 각 이미지 프레임은 온전히 그대로 제공되거나 매크로-블록들로서 제공될 수 있다. 각 매크로-블록은 이미지 프레임의 일부를 나타낸다. 각 매크로 블록은 마이크로 블록들(4x4/8x8 픽셀들)로 더 분할되어 처리를 위해 제공될 수 있다. 일 실시예에서, 각 매크로-블록은 16x16 픽셀들(즉, 수평 방향으로 16 픽셀 및 수직 방향으로 16 픽셀)로서 제공된다. 일반적으로, 이렇게 제공된 각 매크로-블록, 마이크로 블록 또는 이미지 프레임은 이하에서 오리지널 이미지 블록으로서 지칭되고, 이것은 인코딩하고자 하는 데이터 프레임의 일례를 나타낸다.
예측 블록(230)은 미리 지정된 방법(예컨대, 수평, 수직, 평균 등의 인트라 예측 모드들(intra prediction modes))에 따라 각 오리지널 이미지 블록에 대한 예측 이미지 블록(predicted image block)을 예측한다. 일 실시예에서, 예측 블록(230)은 경로(231) 상에서 재구성된 프레임들을 수신하고, 재구성된 프레임들 내의 데이터는 예측에 이용된다. 재구성(reconstruction)은 공지된 방법, 예를 들어, 아래에서 언급되는 H.264 표준에서 기술된 방법으로 수행된다. 예측은 인트라 예측(intra prediction), 인터 예측(inter prediction) 또는 관련 기술 분야에서 잘 알려진 다른 예측 기법들을 이용하여 수행될 수 있다. 예측 이미지 블록을 나 타내는 픽셀 값들은 경로(232) 상에 제공된다.
오차 블록(220)은 오리지널 이미지 블록 및 예측 이미지 블록의 대응하는 픽셀 값들을 감산(subtract)한다. 그 차이를 나타내는 매트릭스(차이 블록)는 경로(224) 상에 제공된다. 차이 블록은 오리지널 이미지 블록에서와 동일한 수의 엘리먼트들을 포함할 수 있다.
변환 블록(240)은 차이 블록을 압축 블록(compressed block)으로 변환한다. 일반적으로, 변환은 압축 블록이 차이 블록(및 또한 오리지널 이미지 블록) 내의 비트 수에 비하여 보다 적은 수의 비트로 나타내어질 수 있도록 설계된다.
변환은 차이 블록의 엘리먼트들에 대해 수학적 연산을 수행함으로써 얻어질 수 있다. 일 실시예에서, 변환은 이산 코사인 변환(DCT; discrete cosine transformation) 또는 정수(integer) DCT(양쪽 모두 위에서 언급한 분배 법칙을 가짐)에 대응한다. 변환은 또한 이 기술 분야에서 잘 알려진 바와 같이 아다마르 변환(Hadamard transformation)이 뒤를 잇는 DCT 또는 정수 DCT에 대응할 수도 있다. 예를 들면 16x16 블록이 16개의 4x4 블록들로 분할될 수 있고, DCT는 각 4x4 블록에 적용될 수 있다. 각 4x4 블록의 DC 계수가 수집되어 4x4 DC 계수 블록을 형성하고, 그 후 이 4x4 DC 계수 블록은 아다마르 변환 기법을 이용하여 변환된다.
양자화 블록(250)은 압축 블록(의 개별 엘리먼트들)을 더 디지털화(양자화)하여 원하는 수의 비트를 갖는 압축 블록의 엘리먼트들을 나타낸다. 위에서 언급한 압축으로 인해 각 엘리먼트를 나타내기 위해 보다 적은 수의 비트만이 요구되고, 양자화는 그러한 특성을 이용한다는 것을 알 수 있다.
대응하는 종래의 디코딩 로직의 컴포넌트들이 도 2b에 도시되어 있다. 관련 기술 분야에서 잘 알려져 있는 바와 같이 블록들(260, 270 및 280)은 각각 블록들(250, 240, 및 220)의 방법들의 역으로 동작하고 그에 대한 설명은 간결함을 위해 반복하지 않는다. 일단 경로(261) 상에서 수신된 데이터가 원하는 레벨의 정확도로 복구되면, 복구된 데이터는 이미지 디스플레이 블록(290)에 의한 디스플레이를 위해 경로(289) 상에 송신된다.
상기로부터, 데이터 프레임들의 시퀀스의 인코딩 및 디코딩을 위해 다양한 자원들이 요구될 수 있다는 것을 알 수 있다. 아래에서 설명되는 본 발명의 다양한 양태들은 상술한 종래의 방법에 비하여 계산, 메모리 및 다른 자원 요건들(예컨대, 전력 소모)을 감소시킨다.
4. 효율적인 인코딩 방법
도 3은 본 발명의 일 실시예에서의 인코더의 구현을 예시하는 블록도이다. 이 인코더는 변환 블록들(310 및 330), 감산 블록(320), 예측 블록(340), 및 양자화 블록(350)을 포함하는 것으로 도시되어 있다. 각 블록에 대하여 아래에서 더 상세히 설명한다.
변환 블록(310)은 경로(121) 상에서 오리지널 이미지 블록(예컨대, 위에 언급한 비디오 프레임의 16x16 블록, 8x8 블록 또는 4x4 블록)의 디지털 값들을 수신하고 변환 방법에 따라 변환을 수행한다. 일 실시예에서의 변환은 다음과 같이 표현될 수 있다:
W = Integer_DCT(X)
여기서 W는 변환된 출력을 나타내고 X는 오리지널 이미지 블록을 나타낸다.
변환 블록(330)은 경로(121) 상에서 수신된 동일한(현) 오리지널 이미지 블록에 대한 예측 이미지 블록을 수신하고, 동일한 변환을 수행한다. 변환 방법은 위에 언급한 분배 법칙을 갖도록 설계된다.
감산 블록(320)은 경로들(312 및 332) 상에서 수신된 각각의 데이터 값들을 감산하고, 그 결과를 경로(325) 상에 제공한다. 양자화 블록(350)은 경로(325) 상에서 수신된 데이터를 양자화한다.
예측 블록(340)은 이전에 재구성된 이미지 블록들에 기초하여 오리지널 이미지 블록에 대응하는 예측 이미지 블록을 생성한다. 그러한 예측을 위해 다양한 잘 알려진 방법들이 채용될 수 있다. 그러나, 아래에서 예들에 의해 설명되는 바와 같이, 상이한 값들의 수를 최소화하는 예측 방법을 선택함으로써, 자원 요건들이 감소될 수 있다.
5. 평균/DC 예측 모드
도 4는 일 실시예에서의 평균 예측 모드를 예시한다. 410의 픽셀 값들 A-H, M 및 I-L은 이전에 재구성된 이미지 블록들로부터 이용 가능한 것으로 가정된다. 이들 값들은 본 반복(iteration)에서 처리하고자 하는 (픽셀들의) 4x4 블록의 인접한 위치들에 대응하는 것으로 간주된다. 예측 블록(340)은 다음의 스킴(scheme)에 따라 예측 이미지 블록을 생성한다. 예측 블록(340)은 아래 수학식에 따라 단일 값(Z)을 계산한다.
Z = mean(A 내지 D 및 I 내지 L)
그 결과, (16개 값들을 계산하여 항목(entry)들을 저장하는 대신) 단일 값이 생성되어 저장될 수 있다.
자원 요건의 감소를 이해하기 위해, 변환 블록들(310 및 330)에서의 변환 방법으로서 정수 이산 코사인 변환(DCT)이 이용된다고 가정한다. DCT에 대해서는 "H.264 and MPEG-4 Video Compression, Ian Richardson, John Wiley & Sons, September 2003", 및 "ITU-T, Series H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS - Advanced video coding for generic audiovisual services, March, 2005"라는 표제가 붙은 문헌/서적에 더 상세히 설명되어 있다.
잘 알려져 있는 바와 같이, DCT의 출력 데이터는 입력 데이터의 변화들을 명백히 나타낸다. 예측 이미지 데이터는 적은 수의 상이한 값들(예측 값들)을 갖도록 설계되어 있으므로, 예측 이미지 블록에 대한 DCT 변환은 각 예측 값에 스케일 팩터(scale factor)를 곱함으로써 얻어진다. 예를 들면, 420의 4x4 데이터의 DCT는 제1 위치(0, 0)에서 (Z*16)으로 표현될 수 있고 나머지 위치들은 0과 같도록 설정될 수 있고, 여기서 Z는 평균 예측에 대한 예측 값을 나타내고 16은 스케일 팩터를 나타낸다. 다른 예측 모드들에 대한 스케일 팩터들은 아래 섹션들에서 언급된다.
DCT도 위에 언급한 분배 법칙을 갖고 있다. 따라서 제1 위치에서의 값은 다음과 같이 표현될 수 있다:
Transformed Prediction matrix [0,0] = DC_Prediction_Value * Scale_factor1
여기서 Scale_factor1은 (표준에 따라) 블록의 사이즈에 기초하여 결정되는 상수를 나타낸다. Scale_facotr1의 결정은 또한 변환 및 코딩 표준에 기초할 수도 있다.
그러므로, 변환 블록(330)은 변환된 예측 매트릭스(Transformed Prediction Matrix)의 [0,0] 위치에서 인덱싱되는 단일 엘리먼트를 계산한다. 변환된 예측 매트릭스는 수학식 1B에 따라 계산되고, DC_Prediction_Value는 Z와 같도록 설정된다. 값 Z는 예측 블록(340)에 의해 제공된다.
따라서, 감산 블록(320)은 단지 경로들(312 및 332) 상에서 수신된 데이터의 (0,0) 위치들에 대응하는 하나의 감산만을 수행할 필요가 있을 수 있다. 또한, (경로(332)의) 감산될 값은 단일 수로서 나타내어질 수 있고, 따라서 메모리 요건이 감소된다. 또한, 예측 블록(340)은 단지 인접한 픽셀들(A-D 및 I-L)의 평균을 계산할 필요가 있고, 그것도 다른 경우에 요구될 수 있다. 더욱이, 변환 블록(330)은 단지 인접한 픽셀들(A-D 및 I-L)의 계산된 평균에 Scale_factor1을 곱할 필요가 있다. 일반적으로, 감산기 연산은 다음과 같이 표현될 수 있다:
Tres_Block[0][0] = O[0][0] - DC_Prediction_Value * Scale_factor1
여기서 O는 경로(312) 상에서 수신된 변환된 오리지널 블록을 나타낸다.
따라서, 도 2와 비교하여, 감산 블록(오차 블록)(320)은 단 하나의 감산만을 수행할 필요가 있을 수 있는 반면, 감산기(220)는 (4 x 4 블록을 가정하여) 16개의 감산을 수행할 필요가 있을 수 있고, 따라서 계산/전력 요건이 감소된다. 게다가, 예측 정보는 단일 값으로서 표현되므로, 메모리 요건도 감소될 수 있다.
아래에서 다른 예에 의해 예시되는 바와 같이, 자원 요건 감소의 완전한 이익을 얻기 위해 상기 실시예들의 적응(adaptation)을 필요로 하는, 대안적인 예측 방법들이 채용될 수도 있다는 것을 알아야 할 것이다.
아래 설명되는 실시예에서는, 매트릭스(2차원 데이터)의 DCT는 열들(columns)의 DCT(수직 DCT)가 뒤를 잇는 행들(rows)의 DCT(수평 DCT)로 분리 가능하다는 관찰에 기초하여 수평 또는 수직 예측이 이용된다. 그러나, DCT는 또한 수평 DCT가 뒤를 잇는 수직 DCT로도 분리 가능하다.
6. 수평/수직 예측 모드들
도 5는 수평 또는 수직 예측 모드의 경우에 인코딩 방법을 예시하는 블록도이다. 예시를 위해, 도 6에는 수직 예측이 도시되어 있다. 610에서 알 수 있는 바와 같이, 픽셀들 A-H 및 I-L은, 상기 도 4a의 설명과 유사하게, 이전 재구성된 이미지 블록들로부터 온 것들이다.
도 5의 인코더는 변환 블록들(510, 530 및 560), 감산 블록(520), 예측 블록(540), 및 양자화 블록(550)을 포함하는 것으로 도시되어 있다. 각 블록에 대하여 아래에서 더 상세히 설명한다.
예측 블록(540)은 A-D를 4 엘리먼트들의 어레이 내로 복사할 수 있다.
변환 블록(530)은 또한 예측된 4x4 픽셀들의 각 열에 대해 정수 DCT(또는 DCT)를 수행할 수 있다. 그 결과, 경로(532) 상에서 수신된 매트릭스의 제1행은 각각의 위치 {(0,0),(0,1),(0,2),(0,3)}에서 상이한 값들(P, Q, R, S)를 가질 것이고 나머지 엘리먼트들은 0을 가질 것이다. 그러므로, 변환 블록(530)은 변환된 예측 매트릭스의 제1행만을, 즉 P, Q, R, S를 다음과 같이 계산할 필요가 있을 수 있다.
P, Q, R 및 S는 다음과 같이 표현될 수 있다:
P = Vertical_DC_Prediction_Value[0] * Scale factor2
Q = Vertical_DC_Prediction_Value[1] * Scale factor2
R = Vertical_DC_Prediction_Value[2] * Scale factor2
S = Vertical_DC_Prediction_Value[3] * Scale factor2
여기서 Scale factor2는 블록 사이즈 및/또는 변환 및/또는 표준에 기초하여 결정된다.
일 실시예에서, H.264 인트라 4x4 수직 예측 모드에 대한 Scale factor2의 값은 4로 설정된다. (표준 H.264에서 지원되는) 다른 모드들에 대한 스케일 팩터는 아래에 지시되어 있다:
루미넌스 인트라(Luminance Intra) 4x4 DC 예측 (평균) 모드 = 16,
루미넌스 인트라 16x16 DC 예측 (평균) 모드 = 256,
루미넌스 인트라 8x8 DC 예측 (평균) 모드 = 64,
크로미넌스 인트라(Chrominance Intra) 8x8 DC 예측 (평균) 모드 = 16,
루미넌스/크로미넌스 인트라 4x4/16x16 수평/수직 예측 모드 = 4,
루미넌스 인트라 8x8 수평 예측 모드 = 8.
변환 블록(510)은 또한 위에 언급한 DCT 방법에 따라 열들(수직)만의 변환(반변환(half transformation))만을 수행할 수도 있다. 수직 변환의 출력은 Y로서 표현될 수 있다.
감산 블록(520)은 위에서 언급한 바와 같이 제1행의 4개의 위치들에 대응하는 4개의 감산만을 수행한다. 감산 연산은 다음과 같이 표현될 수 있다:
Y[0][0] = Y[0][0] - P
Y[0][1] = Y[0][1] - Q
Y[0][2] = Y[0][2] - R
Y[0][3] = Y[0][3] - S
여기서 P-S는 상기 수학식 2-5에서 제시된 바와 같이 계산된다.
변환 블록(560)은 DCT 방법에 따라 수평 변환을 수행하여, 전체 변환을 완료한다. 그 후 양자화 블록(550)은 위에서 언급한 바와 같이 블록들(250 등)과 유사하게 동작할 수 있다.
도 2와 비교하여, 510 및 560의 2개의 변환이 변환 블록(240)에서 수행된 집합 단일 변환(aggregate single tranformation)을 나타낸다는 것을 알 수 있다. 상기 예시적인 예에서 제1행의 값들 각각은 단지 4의 스케일링 팩터로 곱해질 뿐이므로 변환 블록(530)은 상당한 자원들을 필요로 하지 않을 수 있다. 예측 블록(540), 변환 블록(530), 및 감산 블록(520)의 처리를 CPU의 단일 명령에서 조합하여 실행하는 것이 가능하고, 그 명령은 조합된 승산 및 가산/감산 연산을 지원한다. 그러므로 예측 블록(540), 변환 블록(530), 및 감산 블록(520)의 처리를 위해 최소의 자원들만이 요구될 수 있다. 처리되는 블록 사이즈가 증가함에 따라, 자원 요건의 감소는 그에 대응하여 더 많아진다.
상기 설명은 수직 모드에 관하여 제공되었지만, 수평 예측 모드에 대해서도 유사한 방법이 이용될 수 있다. 또한, 그 특징들은 아래 설명되는 바와 같이 임의의 블록 사이즈 및 데이터 유형(루미넌스, 크로미넌스, 적(red), 녹(green) 또는 청(blue))에 확장될 수 있다.
7. 기타 예측 모드들
DC (평균) 예측 모드 및 수직 예측 모드에 관하여 설명이 제공되었다 할지라도, 그 방법들은 다른 모드들에도 확장될 수 있다. 예를 들어 만일 특정(제1) 방향을 따라 예측이 생성된다면, 변환도 그 동일한 방향을 따라 수행될 수 있다. 먼 저 제1 방향을 따라 변환을 계산하고 그 후 나중에 변환된 데이터의 (0 인덱스된 계수인) DC 계수로부터 스케일 팩터 * 예측 값을 감산함으로써 효율적으로 나머지 데이터/오차가 생성될 수 있다.
또한, 그 특징들은 아래에서 더 상세히 설명되는 바와 같이 표준에서 허용/정의된 루마(Luma) 16x16 인트라 모드, 루마 8x8 인트라 모드, 루마 4x4 인트라 모드 및 크로마(Chroma) 8x8 인트라 모드 등의 인트라 예측 모드들의 임의의 블록 사이즈 및 데이터 유형(루미넌스, 크로미넌스, 적, 녹 또는 청)에 확장될 수 있다.
예를 들면, 루마 16x16 평균 예측 모드의 경우, 계산은 다음의 단계들을 이용하여 수행될 수 있다.
단계 1. 현(코딩될 블록) 16x16 블록을 16개의 4x4 사이즈의 블록들로 분할한다.
단계 2. 각 4x4 블록의 2차원 정수 DCT를 취한다.
단계 3. 각 4x4 블록의 DC 계수를 수집하고 DC 계수들의 4x4 어레이를 형성한다.
단계 4. DC 계수들의 4x4 어레이의 2차원 아다마르 변환을 취한다. 변환된 DC 계수들의 4x4 어레이는 AZ_DC4로 표시될 수 있다.
단계 5. Z_DC4(0,0) = Z_DC4(0,0) - 256 * Mean_Prediction. 여기서 256은 계산된 스케일링 팩터 1을 나타낸다.
단계 1-4는 변환 블록(310)에 의해 수행될 수 있고 Z_DC4(0,0)를 감산 블록(320)에 제공할 수 있다.
유사하게, 16x16 루미넌스 수평 예측 모드의 경우, 계산은 다음과 같이 수행될 수 있다:
단계 1. 현(코딩될 블록) 16x16 블록을 16개의 4x4 사이즈의 블록들로 분할한다.
단계 2. 4x4 블록의 행들의 1차원 정수 변환을 취한다. 변환된 블록을 Y로 표시하자.
단계 3. Y(0,0) = Y(0,0) - 4 * HorizontalPredictionArray(0)
Y(1,0) = Y(1,0) - 4 * HorizontalPredictionArray(1)
Y(2,0) = Y(2,0) - 4 * HorizontalPredictionArray(2)
Y(3,0) = Y(3,0) - 4 * HorizontalPredictionArray(3)
단계 4. 4x4 블록의 열들의 1차원 정수 변환을 취한다. 변환된 블록을 Z로 표시하자.
단계 5. 각 4x4 블록의 DC 계수를 수집하고 DC 계수들의 4x4 어레이를 형성한다.
단계 6. 이 DC 계수들의 4x4 어레이의 2차원 아다마르 변환을 취한다.
단계 1 및 2는 변환 블록(510)에 의해 수행될 수 있다. 단계 3에서의 감산은 감산 블록(520)에 의해 수행되고, 수평 예측 어레이(Horizontal Prediction Array)와 스케일 팩터의 승산은 변환 블록(530)에 의해 수행되고 단계 4-6은 변환 블록(560)에 의해 수행된다.
따라서, 상기로부터, 자원 요건들을 감소시키기 위해 다양한 예측 방법들이 채용될 수 있다는 것을 알 수 있다. 그 특징들은 특정 변환 방법에 따라서는 확장 및/또는 변경될 필요가 있을 수 있다. 상술한 인코딩, 및 대응하는 디코딩에 대해 아래에서 예에 의해 설명한다.
8. 평균/DC 예측 모드에서의 디코딩
도 7a는 본 발명의 일 실시예에서의 디코딩 방법을 예시하는 블록도이다. 이 블록도는 변환 블록(730), 역변환 블록(705), 가산 블록(720), 예측 블록(740), 및 역양자화 블록(760)을 포함하는 것으로 도시되어 있다. 각 블록에 대해 아래에서 더 상세히 설명한다.
예측 블록(740)은 도 3의 예측 블록(340)에 관하여 상술한 바와 같이 동작한다. 변환 블록(730)은, 스케일 팩터가 상이한 것을 제외하고, 도 3의 변환 블록(330)에 관하여 상술한 것과 유사한 방식으로 동작한다. 스케일 팩터는 블록 사이즈, 역변환 및 비디오 코딩 표준에 기초하여 결정된다. 예측 블록(740) 및 변환 블록(730)의 동작의 결과로, 경로(732) 상에서 수신된 매트릭스의 위치 {(0,0)}에서의 엘리먼트만 제로(0)가 아닌 값을 가질 수 있고 나머지 엘리먼트들은 0을 가질 것이다.
역양자화 블록(760)은 압축된 블록(의 개별 엘리먼트들) 내의 (허용 가능한 오차 내의) 비트 수를, 예를 들어 도 3의 양자화 블록(350)에서의 양자화에 앞서 존재한 비트 수로 복구한다.
가산 블록(720)은 경로(732) 상에서 수신된 예측(??) 값들을 역양자화된 값들에 가산한다. 가산 블록(720)은 위에 언급한 바와 같이 매트릭스의 {(0,0)} 위 치에 대응하는 하나의 가산만을 수행한다.
역변환 블록(705)은 역 DCT 방법에 따라 2차원 역변환을 수행한다. 역변환 블록(705)은 상술한 변환 블록(310)에 대응하는 역 동작을 수행하고 블록(270)에서 수행된 역변환과 동일하게 구현될 수 있다.
상술한 바와 같이, 상기 예시적인 예에서는 위치 {(0,0)}에서의 매트릭스의 하나의 값만이 단지 복사되어 64의 스케일링 팩터로 곱해질 뿐이므로 변환 블록(730)은 상당한 자원들을 필요로 하지 않을 수 있다. 처리되는 블록 사이즈가 증가함에 따라, 자원 요건의 감소는 그에 대응하여 더 많아진다.
9. 수평/수직 예측 모드들을 이용한 디코딩
도 7b는 본 발명의 대안 실시예에서의 디코딩 방법을 예시하는 블록도이다. 이 블록도는 변환 블록(730), 역변환 블록들(710 및 750), 가산 블록(720), 예측 블록(740), 및 역양자화 블록(760)을 포함하는 것으로 도시되어 있다. 각 블록에 대해 아래에서 더 상세히 설명한다.
예측 블록(740)은 도 5의 블록(540)에 관하여 상술한 바와 같이 동작한다. 변환 블록(730)은, 스케일 팩터가 상이한 것을 제외하고, 도 5의 블록(530)에 관하여 상술한 것과 유사한 방식으로 동작한다. 스케일 팩터는 블록 사이즈, 역변환 및 비디오 코딩 표준에 기초하여 결정된다. 예측 블록(740) 및 변환 블록(730)의 동작의 결과로, 경로(732) 상에서 수신된 매트릭스의 제1행은 각각의 위치 {(0,0),(0,1),(0,2),(0,3)}에서 상이한 값들(A, B, C, D)을 가질 것이고 나머지 엘리먼트들은 0을 가질 것이다.
역양자화 블록(760)은 압축된 블록(의 개별 엘리먼트들) 내의 (허용 가능한 오차 내의) 비트 수를, 예를 들어 도 5의 양자화 블록(550)에서의 양자화에 앞서 존재한 비트 수로 복구한다.
역변환 블록(750)은 위에 언급한 역 DCT 방법에 따라 역변환(수평)의 반(half)을 수행한다. 가산 블록(720)은 경로(732) 상에서 수신된 예측 값들을 반 역변환된 데이터에 가산한다. 가산 블록(720)은 위에 언급한 바와 같이 제1행의 4개의 위치에 대응하는 4개의 가산만을 수행한다.
역변환 블록(710)은 역 DCT 방법에 따라 수직 역변환을 수행하여, 전체 역변환을 완료한다.
도 2와 비교하여, 도 7b의 750 및 710의 2개의 역변환이 블록(270)에서 수행된 집합 단일 역변환(aggregate single inverse tranformation)을 나타낸다는 것을 알 수 있다. 상술한 바와 같이, 상기 예시적인 예에서 제1행의 값들 각각은 단지 64의 스케일링 팩터로 곱해질 뿐이므로 변환 블록(730)은 상당한 자원들을 필요로 하지 않을 수 있다. 처리되는 블록 사이즈가 증가함에 따라, 자원 요건의 감소는 그에 대응하여 더 많아진다.
상기 설명은 수직 모드에 관하여 제공되었지만, 수평 예측 모드에 대해서도 유사한 방법이 이용될 수 있다. H.264 코딩 표준에 대한 실시예들 중 하나에서 64의 스케일 팩터는 예측 모드, 블록 사이즈(16x16, 8x8 또는 4x4), 또는 데이터 유형(루미넌스 또는 크로미넌스)에 관계없이 사용된다. 그 특징들은 아래 설명되는 바와 같이 다른 유형의 예측 모드들에도 확장될 수 있다.
본 발명의 특징들에 대하여 아래에서 도 8a-8f에 관한 예에 의해 더 설명한다.
10. 예
도 8a에 관하여, 부분(810)은 4x4 이미지 블록 위치에 대응하는 재구성된 값들의 예시적인 세트를 나타낸다. 재구성된 값들(810)은 도 5의 경로(541) 상에 제공된다. 부분(820)은 본 반복에서 현재 인코딩되고 있는 현 이미지 블록을 나타낸다.
도 8b는 경로(121) 상에서 수신된 4x4 오리지널 블록 내의 값들의 예시적인 세트를 나타낸다. 도 8c는 도 8b의 오리지널 이미지 블록에 대응하는 경로(543) 상에 제공된 예측 이미지 블록의 예시적인 세트를 나타낸다. 예측 이미지 블록은 재구성된 값들(810)에 기초하여 수직 예측을 수행함으로써 얻어진다. 따라서, 810의 수평 값들이 복사된다. 각 값들은 위에 언급한 수학식 2-5에서 이용되는 수직 DC 예측 계수들을 나타낸다.
도 8d는 변환 블록(510)의 출력을 나타낸다. 변환 블록(510)은 도 8b의 오리지널 이미지 블록에 대해 수직 정수 DCT 변환을 수행한다. 도 8e는 변환 블록(530)의 출력을 나타낸다. 변환 블록(530)은 4와 같은 스케일 팩터2를 이용하여 수학식 2-5에 따라 도 8e의 값들을 계산한다. 예를 들면 제1 값 312는 78*4로서 얻어지고, 제2 값 308은 77*4를 수행하여 얻어진다. 그러한 계산의 결과들은 예측 이미지 블록에 대한 수직 정수 DCT 변환을 나타낸다.
도 8f는 감산 블록(520)의 출력을 나타낸다. 감산 블록(520)은 도 8d의 대 응하는 값들과의 도 8e의 값들의 감산을 수행하여 도 8e의 제1행의 값들을 얻는다. 도 8e의 나머지 행들의 값들은 도 8d의 제2, 제3 및 제4행들로부터 직접 얻어진다. 그 결과 감산 블록(520)은 4개의 감산만을 수행한다.
도 8g는 변환 블록(560)의 출력을 나타낸다. 변환 블록(560)은 도 8f의 값들에 대해 수평 정수 DCT 변환을 수행한다. 양자화 블록(550)은 도 8g의 각 값을 양자화한다.
디코딩은 도 7b에 따라 수행되고 간결성을 위하여 반복하지 않는다.
상술한 특징들은 하드웨어, 소프트웨어 및 펌웨어 중 하나 이상의 조합으로 구현될 수 있다는 것을 이해해야 할 것이다. 일반적으로, 처리량 성능(throughput performance)이 주요 고려사항인 경우, 구현은 하드웨어에서 더 많이 수행된다(예컨대, ASIC(application specific integrated circuit)의 형태로).
비용이 주요 고려사항인 경우, 구현은 소프트웨어에서 더 많이 수행된다(예컨대, 소프트웨어/펌웨어로 제공된 명령들을 실행하는 프로세서를 이용하여). 비용 및 성능은 하드웨어, 소프트웨어 및/또는 펌웨어의 원하는 혼합을 이용하여 시스템들을 구현함으로써 균형이 맞추어질 수 있다. 실질적으로 소프트웨어로 구현된 실시예에 대해 아래에서 설명한다.
11. 소프트웨어 구현
도 9는 다른 실시예에서의 처리 장치(110A)의 상세를 예시하는 블록도이다. 처리 장치(110A)는 중앙 처리 장치(CPU)(910)와 같은 하나 이상의 프로세서, 랜덤 액세스 메모리(RAM)(920), 부 저장 장치(secondary storage unit)(950), 디스플레 이 컨트롤러(960), 네트워크 인터페이스(970), 및 입력 인터페이스(980)를 포함할 수 있다. 모든 컴포넌트들은 통신 경로(940)를 통하여 서로 통신할 수 있고, 통신 경로(940)는 관련 기술 분야에서 잘 알려져 있는 바와 같이 몇몇 버스들을 포함할 수 있다. 도 9의 컴포넌트들에 대해 아래에서 더 상세히 설명한다.
CPU(910)는 RAM(920)에 저장된 명령들을 실행하여 본 발명의 몇몇 특징들을 제공할 수 있다. CPU(910)는 다수의 처리 장치들(multiple processing units)을 포함할 수 있고, 각 처리 장치는 잠재적으로 특정 태스크를 위해 설계되어 있다. 대안적으로, CPU(910)는 단 하나의 범용 처리 장치만을 포함할 수 있다. RAM(920)은 통신 경로(940)를 이용하여 부 저장 장치(950)로부터 명령들을 수신할 수 있다. 또한, RAM(920)은 위에 언급한 인코딩 및 디코딩 동작들 동안에 비디오 카메라로부터 수신된 비디오 프레임들을 저장할 수 있다.
디스플레이 컨트롤러(960)는 CPU(910)로부터 수신된 데이터/명령들에 기초하여 디스플레이 장치(130A)(도 1)로의 디스플레이 신호들을 생성할 수 있다(예컨대, RGB 포맷으로). 네트워크 인터페이스(970)는 네트워크에의 접속을 제공하고(예컨대, 인터넷 프로토콜을 이용하여), 코딩된 비디오/데이터 프레임들을 수신/송신하는 데 이용될 수 있다. 네트워크 인터페이스(970)는 도 1의 경로(115)에 대응할 수 있다. 입력 인터페이스(980)는 키보드/마우스와 같은 인터페이스들, 및 비디오 카메라(120A)로부터 비디오 프레임들을 수신하기 위한 인터페이스를 포함할 수 있다.
부 저장 장치(950)는 하드 드라이브(956), 플래시 메모리(957), 및 이동식 저장 드라이브(removable storage drive)(958)를 포함할 수 있다. 데이터 및 명령들의 일부 또는 전부가 이동식 저장 장치(959) 상에 제공될 수 있고, 그 데이터 및 명령들은 이동식 저장 드라이브(958)에 의해 판독되어 CPU(910)에 제공될 수 있다. 플로피 드라이브, 자기 테이프 드라이브, CD_ROM 드라이브, DVD 드라이브, 플래시 메모리, 이동식 메모리 칩(PCMCIA 카드, EEPROM)이 그러한 이동식 저장 드라이브(958)의 예들이다. 대안적으로, 데이터 및 명령들은 RAM(920)에 복사될 수 있고, 그로부터 CPU(910)가 실행할 수 있다. 소프트웨어 명령들의 그룹들(예를 들어, 컴파일된/개체 형태(compiled/object form)의 또는 CPU(910)에 의한 실행을 위해 적합한 형태의 포스트-링킹(post-linking))은 코드로서 칭해진다.
이동식 저장 장치(959)는 이동식 저장 드라이브(958)가 데이터 및 명령들을 판독할 수 있도록 이동식 저장 드라이브(958)와 호환성 있는 매체 및 저장 포맷을 이용하여 구현될 수 있다. 따라서, 이동식 저장 장치(959)는 컴퓨터 소프트웨어 및/또는 데이터가 저장되어 있는 컴퓨터 판독가능한 저장 매체를 포함한다.
일반적으로, 컴퓨터(또는 일반적으로, 머신) 판독가능한 매체는 프로세서들이 그로부터 명령들을 판독하여 실행할 수 있는 임의의 매체를 지칭한다. 매체는 랜덤하게 액세스되고(RAM(920) 또는 플래시 메모리(957)와 같이), 휘발성, 비휘발성, 이동식 또는 비이동식(non-removable) 등일 수 있다. 컴퓨터 판독가능한 매체는 예시를 위해 처리 장치(110A) 내로부터 제공되는 것으로 도시되어 있지만, 컴퓨터 판독가능한 매체는 처리 장치(110A) 외부에도 제공될 수 있다는 것을 알아야 할 것이다.
이 문헌에서, "컴퓨터 프로그램 제품(computer program product)"이라는 용어는 일반적으로 이동식 저장 장치(959) 또는 하드 드라이브(956)에 설치된 하드 디스크를 지칭한다. 이들 컴퓨터 프로그램 제품들은 CPU(910)에 소프트웨어를 제공하기 위한 수단이다. CPU(910)는 소프트웨어 명령들을 검색하고, 그 명령들을 실행하여 상술한 본 발명의 다양한 특징들(인코딩 및 디코딩)을 제공할 수 있다.
12. 결론
위에서는 본 발명의 다양한 실시예들이 설명되었지만, 그것들은 제한이 아니라 예로서 제시되었을 뿐임을 이해해야 할 것이다. 따라서, 본 발명의 폭 및 범위는 상술한 예시적인 실시예들 중 어느 것에 의해서도 제한되어서는 안 되고, 다음의 청구항들 및 그 균등물들에 따라서만 정의되어야 할 것이다.
예시적인 실시예들은 아래 간단히 설명되는 다음의 첨부 도면들을 참조하여 설명된다.
도 1은 본 발명의 몇몇 양태들이 구현될 수 있는 예시적인 환경의 블록도.
도 2a는 하나의 종래 실시예에서의 인코딩 방법을 예시하는 블록도.
도 2b는 하나의 종래 실시예에서의 인코딩 방법을 예시하는 블록도.
도 3은 본 발명의 실시예에서의 인코딩 방법을 예시하는 블록도.
도 4a는 실시예에서 데이터를 예측하기 위해 평균 예측 모드가 이용되는 방식을 예시하는 도면.
도 5는 본 발명의 대안 실시예에서의 인코딩 방법을 예시하는 블록도.
도 6a 및 도 6b는 실시예에서 데이터를 예측하기 위해 수직 예측 모드가 이용되는 방식을 예시하는 도면.
도 7a는 본 발명의 실시예에서의 데이터의 디코딩을 예시하는 블록도.
도 7b는 본 발명의 대안 실시예에서의 데이터의 디코딩을 예시하는 블록도.
도 8a-8g는 수치 예에 의해 인코딩을 예시하는 도면.
도 9는 소프트웨어 명령들의 실행 시에 본 발명의 몇몇 특징들이 동작하는 디지털 처리 시스템의 블록도.
도면들에서, 유사한 참조 번호들은 동일한, 기능적으로 유사한, 및/또는 구조적으로 유사한 엘리먼트들을 일반적으로 나타낸다. 한 엘리먼트가 처음 나타나는 도면은 대응하는 참조 번호의 가장 왼쪽 숫자(들)에 의해 지시된다.

Claims (20)

  1. 데이터 프레임들의 시퀀스를 인코딩하기 위한 인코더로서,
    상기 데이터 프레임들의 시퀀스에 포함된 제1 데이터 프레임을 수신하고 변환 방법(transformation approach)에 따라 변환된 프레임을 생성하는 제1 변환 블록;
    예측 방법(prediction approach)을 이용하여 상기 시퀀스 내의 상기 제1 데이터 프레임에 앞선 데이터 프레임들로부터 상기 제1 데이터 프레임에 대응하는 예측 프레임(predicted frame)을 생성하는 예측 블록;
    또한 상기 변환 방법에 따라 상기 예측 프레임을 처리함으로써 변환된 예측 데이터를 생성하는 제2 변환 블록;
    상기 변환된 예측 데이터와 상기 변환된 프레임의 차이를 생성하여 차이 데이터를 생성하는 감산기 블록(subtractor block); 및
    상기 차이 데이터를 양자화하여 상기 제1 데이터 프레임에 대응하는 양자화 데이터(quantized data)를 생성하는 양자화 블록
    을 포함하는 인코더.
  2. 제1항에 있어서,
    상기 변환 방법은 분배 법칙(distributive property)을 만족시키는 인코더.
  3. 제2항에 있어서,
    상기 예측 방법은 상기 제1 데이터 프레임 내의 엘리먼트들의 수에 비하여 보다 적은 수의 상이한 값들의 엘리먼트들을 생성하도록 설계되고 상기 상이한 값들은 예측 가능한 위치들에서 생성되고, 상기 변환 방법은 그 출력이 그 입력 데이터의 변화들을 명백히 나타내도록 선택되는 인코더.
  4. 제3항에 있어서,
    상기 예측 방법은 평균 방법(mean approach)을 포함하고, 상기 감산기 블록은 상기 차이 데이터를 생성하기 위해 단 하나의 감산만을 수행하는 인코더.
  5. 제4항에 있어서,
    상기 예측 방법은 수평 예측 또는 수직 예측 중 하나를 포함하고, 상기 제1 변환 블록은 하나의 차원으로 상기 제1 데이터 프레임의 변환을 수행하고, 상기 차원(dimension)은 상기 예측의 방향을 따르고, 상기 인코더는 상기 감산기 블록에 의해 생성된 출력의 또 다른 차원으로 변환을 수행하는 제3 변환 블록을 더 포함하고, 상기 제3 변환 블록의 출력은 상기 양자화 블록에의 입력으로서 제공되는 인코더.
  6. 제4항에 있어서,
    상기 데이터 프레임들 각각은 대응하는 비디오 프레임의 블록을 포함하는 인 코더.
  7. 제2항에 있어서,
    상기 변환은 상기 예측 데이터에 단일 수를 나타내는 스케일 팩터(scale factor)를 곱함으로써 상기 예측 데이터를 변환하는 인코더.
  8. 인코딩된 데이터 프레임들의 시퀀스를 디코딩하기 위한 디코더로서,
    상기 인코딩된 데이터 프레임들의 시퀀스에 포함된 제1 인코딩된 데이터 프레임 내의 디지털 값들에 대응하는 복수의 스케일된 값들(scaled values)을 생성하는 역양자화 블록;
    예측 방법을 이용하여 상기 시퀀스 내의 상기 제1 인코딩된 데이터 프레임에 앞선 데이터 프레임들로부터 상기 제1 인코딩된 데이터 프레임에 대응하는 예측 프레임을 생성하는 예측 블록;
    변환 방법에 따라 상기 예측 프레임을 변환하여 변환된 프레임을 생성하는 변환 블록;
    상기 변환된 프레임의 각각의 값들과 상기 복수의 스케일된 값들을 가산하여 가산된 프레임을 생성하는 가산기; 및
    상기 가산된 프레임에 대해 상기 변환 방법의 역변환을 수행하여 상기 제1 인코딩된 데이터 프레임에 대응하는 디코딩된 프레임을 생성하는 제1 역변환 블록
    을 포함하는 디코더.
  9. 제8항에 있어서,
    상기 역양자화 블록과 상기 가산기 사이에 위치하고, 상기 복수의 스케일된 값들의 부분 역변환을 수행하여 부분적으로 변환된 프레임을 생성하는 제2 역변환 블록을 더 포함하고, 상기 가산기는 상기 복수의 스케일된 값들을 부분적으로 변환된 형태로 가산하고,
    상기 제1 역변환 블록도 상기 부분 역변환을 완료하는 디코더.
  10. 제8항에 있어서, 상기 변환 방법은 분배 법칙을 만족시키는 디코더.
  11. 제9항에 있어서, 상기 예측 방법은 상기 제1 인코딩된 데이터 프레임 내의 엘리먼트들의 수에 비하여 보다 적은 수의 상이한 값들의 엘리먼트들을 생성하도록 설계되고 상기 상이한 값들은 예측 가능한 위치들에서 생성되고, 상기 변환 방법은 그 출력이 그 입력 데이터의 변화들을 명백히 나타내도록 선택되는 디코더.
  12. 제11항에 있어서,
    상기 예측 방법은 평균 방법을 포함하고, 상기 가산기는 단 하나의 가산을 수행하는 디코더.
  13. 복수의 데이터 프레임들을 처리하는 방법으로서,
    데이터 프레임들의 시퀀스에 포함된 제1 데이터 프레임을 수신하고 변환 방법에 따라 변환된 프레임을 생성하는 단계 - 상기 데이터 프레임들의 시퀀스는 상기 복수의 데이터 프레임들에 포함됨 - ;
    예측 방법을 이용하여 상기 시퀀스 내의 상기 제1 데이터 프레임에 앞선 데이터 프레임들로부터 상기 제1 데이터 프레임에 대응하는 예측 프레임을 생성하는 단계;
    또한 상기 변환 방법에 따라 상기 예측 프레임을 처리함으로써 변환된 예측 데이터를 생성하는 단계;
    상기 변환된 예측 데이터와 상기 변환된 프레임의 차이를 생성하여 차이 데이터를 생성하는 단계; 및
    상기 차이 데이터를 양자화하여 상기 제1 데이터 프레임에 대응하는 양자화 데이터를 생성하는 단계
    를 포함하는 방법.
  14. 제13항에 있어서,
    상기 변환 방법은 분배 법칙을 만족시키는 방법.
  15. 제14항에 있어서,
    상기 예측 방법은 상기 제1 데이터 프레임 내의 엘리먼트들의 수에 비하여 보다 적은 수의 상이한 값들의 엘리먼트들을 생성하도록 설계되고 상기 상이한 값 들은 예측 가능한 위치들에서 생성되고, 상기 변환 방법은 그 출력이 그 입력 데이터의 변화들을 명백히 나타내도록 선택되는 방법.
  16. 제13항에 있어서,
    상기 예측 방법은 수평 예측 또는 수직 예측 중 하나를 포함하고, 상기 제1 데이터 프레임은 먼저 하나의 차원으로 변환되고, 상기 차원은 상기 예측의 방향을 따르고, 상기 방법은 상기 차이 데이터의 또 다른 차원으로 변환을 수행하는 단계를 더 포함하는 방법.
  17. 제13항에 있어서,
    인코딩된 포맷의 제2 데이터 프레임을 수신하는 단계 - 상기 제2 데이터 프레임은 상기 복수의 데이터 프레임들에 포함된 제2 프레임들의 시퀀스에 포함됨 - ;
    상기 제2 데이터 프레임 내의 디지털 값들에 대응하는 복수의 스케일된 값들을 생성하는 단계;
    제2 예측 방법을 이용하여 상기 제2 프레임들의 시퀀스 내의 상기 제2 데이터 프레임에 앞선 데이터 프레임들로부터 상기 제2 데이터 프레임에 대응하는 제2 예측 프레임을 생성하는 단계;
    또한 상기 변환 방법에 따라 상기 제2 예측 데이터를 처리함으로써 변환된 제2 예측 데이터를 생성하는 단계;
    상기 변환된 제2 프레임의 각각의 값들과 상기 복수의 스케일된 값들을 가산하여 가산된 프레임을 생성하는 단계; 및
    상기 가산된 프레임에 대해 상기 변환 방법의 역변환을 수행하여 상기 제2 인코딩된 데이터 프레임에 대응하는 디코딩된 프레임을 생성하는 단계
    를 더 포함하는 방법.
  18. 시스템에게 복수의 데이터 프레임들을 처리하게 하는 하나 이상의 명령들의 시퀀스들을 갖는 머신 판독가능한 매체로서, 상기 시스템에 포함된 하나 이상의 프로세서들에 의해 상기 하나 이상의 명령들의 시퀀스들이 실행될 경우, 상기 시스템은,
    데이터 프레임들의 시퀀스에 포함된 제1 데이터 프레임을 수신하고 변환 방법에 따라 변환된 프레임을 생성하는 액션 - 상기 데이터 프레임들의 시퀀스는 상기 복수의 데이터 프레임들에 포함됨 - ;
    예측 방법을 이용하여 상기 시퀀스 내의 상기 제1 데이터 프레임에 앞선 데이터 프레임들로부터 상기 제1 데이터 프레임에 대응하는 예측 프레임을 생성하는 액션;
    또한 상기 변환 방법에 따라 상기 예측 프레임을 처리함으로써 변환된 예측 데이터를 생성하는 액션;
    상기 변환된 예측 데이터와 상기 변환된 프레임의 차이를 생성하여 차이 데이터를 생성하는 액션; 및
    상기 차이 데이터를 양자화하여 상기 제1 데이터 프레임에 대응하는 양자화 데이터를 생성하는 액션
    을 수행하게 되는 머신 판독가능한 매체.
  19. 제18항에 있어서,
    상기 변환 방법은 분배 법칙을 만족시키는 머신 판독가능한 매체.
  20. 제19항에 있어서,
    인코딩된 포맷의 제2 데이터 프레임을 수신하는 액션 - 상기 제2 데이터 프레임은 상기 복수의 데이터 프레임들에 포함된 제2 프레임들의 시퀀스에 포함됨 - ;
    상기 제2 데이터 프레임 내의 디지털 값들에 대응하는 복수의 스케일된 값들을 생성하는 액션;
    제2 예측 방법을 이용하여 상기 제2 프레임들의 시퀀스 내의 상기 제2 데이터 프레임에 앞선 데이터 프레임들로부터 상기 제2 데이터 프레임에 대응하는 제2 예측 프레임을 생성하는 액션;
    또한 상기 변환 방법에 따라 상기 제2 예측 데이터를 처리함으로써 변환된 제2 예측 데이터를 생성하는 액션;
    상기 변환된 제2 예측 데이터의 각각의 값들과 상기 복수의 스케일된 값들을 가산하여 가산된 프레임을 생성하는 액션; 및
    상기 가산된 프레임에 대해 상기 변환 방법의 역변환을 수행하여 상기 제2 인코딩된 데이터 프레임에 대응하는 디코딩된 프레임을 생성하는 액션
    을 더 포함하는 머신 판독가능한 매체.
KR1020080047592A 2007-05-25 2008-05-22 데이터 프레임들의 시퀀스의 효율적인 인코딩/디코딩 KR101004157B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/753,611 2007-05-25
US11/753,611 US8756482B2 (en) 2007-05-25 2007-05-25 Efficient encoding/decoding of a sequence of data frames

Publications (2)

Publication Number Publication Date
KR20080103907A true KR20080103907A (ko) 2008-11-28
KR101004157B1 KR101004157B1 (ko) 2010-12-24

Family

ID=40073523

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080047592A KR101004157B1 (ko) 2007-05-25 2008-05-22 데이터 프레임들의 시퀀스의 효율적인 인코딩/디코딩

Country Status (5)

Country Link
US (1) US8756482B2 (ko)
JP (1) JP4924904B2 (ko)
KR (1) KR101004157B1 (ko)
CN (1) CN101335893B (ko)
TW (1) TWI441458B (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9330060B1 (en) 2003-04-15 2016-05-03 Nvidia Corporation Method and device for encoding and decoding video image data
EP1811674A1 (en) 2006-01-23 2007-07-25 Motorola, Inc. Apparatus and methods for jointly decoding messages based on apriori knowledge of modified codeword transmission
US9118927B2 (en) 2007-06-13 2015-08-25 Nvidia Corporation Sub-pixel interpolation and its application in motion compensated encoding of a video signal
US8189581B2 (en) * 2007-06-20 2012-05-29 Motorola Mobility, Inc. Method, signal and apparatus for managing the transmission and receipt of broadcast channel information
US20080316995A1 (en) * 2007-06-20 2008-12-25 Motorola, Inc. Broadcast channel signal and apparatus for managing the transmission and receipt of broadcast channel information
US20110090952A1 (en) * 2009-10-21 2011-04-21 Cohen Robert A Directional Transforms for Video and Image Coding
CN102695050A (zh) * 2011-03-23 2012-09-26 苏州科雷芯电子科技有限公司 一种基于景象配准技术的视频压缩方法
US9066068B2 (en) * 2011-10-31 2015-06-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Intra-prediction mode selection while encoding a picture
CA2873487A1 (en) 2012-05-14 2013-11-21 Luca Rossato Decomposition of residual data during signal encoding, decoding and reconstruction in a tiered hierarchy
US9781447B1 (en) 2012-06-21 2017-10-03 Google Inc. Correlation based inter-plane prediction encoding and decoding
US9167268B1 (en) 2012-08-09 2015-10-20 Google Inc. Second-order orthogonal spatial intra prediction
US9380298B1 (en) 2012-08-10 2016-06-28 Google Inc. Object-based intra-prediction
US9344742B2 (en) * 2012-08-10 2016-05-17 Google Inc. Transform-domain intra prediction
US9369732B2 (en) 2012-10-08 2016-06-14 Google Inc. Lossless intra-prediction video coding
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
US9247251B1 (en) 2013-07-26 2016-01-26 Google Inc. Right-edge extension for quad-tree intra-prediction
US10733766B2 (en) * 2016-10-19 2020-08-04 Google, Llc Methods and apparatus to encode and/or decode normals of geometric representations of surfaces
JP7049946B2 (ja) 2018-06-28 2022-04-07 株式会社マキタ ベルトサンダ
US11699239B2 (en) 2020-04-21 2023-07-11 The Board of Trustees of the University of Illinois (Urbana, IL) Image processing method and apparatus

Family Cites Families (193)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3679821A (en) * 1970-04-30 1972-07-25 Bell Telephone Labor Inc Transform coding of image difference signals
US4177514A (en) 1976-11-12 1979-12-04 General Electric Company Graph architecture information processing system
US4583164A (en) 1981-08-19 1986-04-15 Tolle Donald M Syntactically self-structuring cellular computer
JPS5936857A (ja) 1982-08-25 1984-02-29 Nec Corp プロセツサユニツト
US4644461A (en) 1983-04-29 1987-02-17 The Regents Of The University Of California Dynamic activity-creating data-driven computer architecture
US4755810A (en) 1985-04-05 1988-07-05 Tektronix, Inc. Frame buffer memory
US4814978A (en) 1986-07-15 1989-03-21 Dataflow Computer Corporation Dataflow processing element, multiprocessor, and processes
US5225875A (en) 1988-07-21 1993-07-06 Proxima Corporation High speed color display system and method of using same
JPH03500461A (ja) 1988-07-22 1991-01-31 アメリカ合衆国 データ駆動式計算用のデータ流れ装置
US4992857A (en) 1988-09-30 1991-02-12 Ampex Corporation System for distributing and recovering digitized composite SECAM samples in a two channel digital apparatus
US5130797A (en) 1989-02-27 1992-07-14 Mitsubishi Denki Kabushiki Kaisha Digital signal processing system for parallel processing of subsampled data
US5369744A (en) 1989-10-16 1994-11-29 Hitachi, Ltd. Address-translatable graphic processor, data processor and drawing method with employment of the same
US5212777A (en) 1989-11-17 1993-05-18 Texas Instruments Incorporated Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation
US5522083A (en) 1989-11-17 1996-05-28 Texas Instruments Incorporated Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors
US5267344A (en) 1989-12-20 1993-11-30 Dax Industries, Inc. Direct current power control circuit for use in conjunction with regulated input signal
US5045940A (en) 1989-12-22 1991-09-03 Avid Technology, Inc. Video/audio transmission systsem and method
US5233689A (en) 1990-03-16 1993-08-03 Hewlett-Packard Company Methods and apparatus for maximizing column address coherency for serial and random port accesses to a dual port ram array
US5146324A (en) 1990-07-31 1992-09-08 Ampex Corporation Data compression using a feedforward quantization estimator
AU657510B2 (en) 1991-05-24 1995-03-16 Apple Inc. Improved image encoding/decoding method and apparatus
US5212742A (en) 1991-05-24 1993-05-18 Apple Computer, Inc. Method and apparatus for encoding/decoding image data
US5689719A (en) 1991-06-28 1997-11-18 Sanyo Electric O., Ltd. Parallel computer system including processing elements
US5706290A (en) 1994-12-15 1998-01-06 Shaw; Venson Method and apparatus including system architecture for multimedia communication
US7095783B1 (en) 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
BE1007330A3 (nl) 1993-07-16 1995-05-16 Philips Electronics Nv Inrichting voor het overdragen van een digitaal beeldsignaal.
US5598514A (en) 1993-08-09 1997-01-28 C-Cube Microsystems Structure and method for a multistandard video encoder/decoder
US6073185A (en) 1993-08-27 2000-06-06 Teranex, Inc. Parallel data processor
US5623311A (en) 1994-10-28 1997-04-22 Matsushita Electric Corporation Of America MPEG video decoder having a high bandwidth memory
US5596369A (en) 1995-01-24 1997-01-21 Lsi Logic Corporation Statistically derived method and system for decoding MPEG motion compensation and transform coded video data
US5790881A (en) 1995-02-07 1998-08-04 Sigma Designs, Inc. Computer system including coprocessor devices simulating memory interfaces
EP0735538B1 (en) 1995-03-31 2005-11-02 Sony Service Centre (Europe) N.V. A storage medium unit and video service system having a staggered recording
US5608652A (en) 1995-05-12 1997-03-04 Intel Corporation Reducing blocking effects in block transfer encoders
US5768429A (en) 1995-11-27 1998-06-16 Sun Microsystems, Inc. Apparatus and method for accelerating digital video decompression by performing operations in parallel
US5809538A (en) 1996-02-07 1998-09-15 General Instrument Corporation DRAM arbiter for video decoder
EP0793389B1 (en) 1996-02-27 2001-08-16 STMicroelectronics S.r.l. Memory reduction in the MPEG-2 main profile main level decoder
US5845083A (en) 1996-03-07 1998-12-01 Mitsubishi Semiconductor America, Inc. MPEG encoding and decoding system for multimedia applications
US5870310A (en) 1996-05-03 1999-02-09 Lsi Logic Corporation Method and apparatus for designing re-usable core interface shells
KR100371130B1 (ko) 1996-05-28 2003-02-07 마쯔시다덴기산교 가부시키가이샤 화상예측 복호화 장치 및 그 방법과 화상예측 부호화 장치및 그 방법
US6101276A (en) 1996-06-21 2000-08-08 Compaq Computer Corporation Method and apparatus for performing two pass quality video compression through pipelining and buffer management
JPH10108143A (ja) 1996-09-27 1998-04-24 Sony Corp 画像表示制御装置および方法
US6311204B1 (en) 1996-10-11 2001-10-30 C-Cube Semiconductor Ii Inc. Processing system with register-based process sharing
US6088355A (en) 1996-10-11 2000-07-11 C-Cube Microsystems, Inc. Processing system with pointer-based ATM segmentation and reassembly
US5889949A (en) 1996-10-11 1999-03-30 C-Cube Microsystems Processing system with memory arbitrating between memory access requests in a set top box
US5909224A (en) 1996-10-18 1999-06-01 Samsung Electronics Company, Ltd. Apparatus and method for managing a frame buffer for MPEG video decoding in a PC environment
US5821886A (en) 1996-10-18 1998-10-13 Samsung Electronics Company, Ltd. Variable length code detection in a signal processing system
KR19980044990A (ko) 1996-12-09 1998-09-15 양승택 휴대형 멀티미디어 데이터 입출력 처리기의 구조 및 그 구동 방법
US6338106B1 (en) 1996-12-20 2002-01-08 Pact Gmbh I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
US5883823A (en) 1997-01-15 1999-03-16 Sun Microsystems, Inc. System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same
US6188799B1 (en) 1997-02-07 2001-02-13 Matsushita Electric Industrial Co., Ltd. Method and apparatus for removing noise in still and moving pictures
KR200158088Y1 (ko) 1997-03-07 1999-10-15 윤종용 아날로그 및 디지탈 방송시청이 가능한 케이블 티브이(catv)
US6539120B1 (en) 1997-03-12 2003-03-25 Matsushita Electric Industrial Co., Ltd. MPEG decoder providing multiple standard output signals
US5999220A (en) 1997-04-07 1999-12-07 Washino; Kinya Multi-format audio/video production system with frame-rate conversion
CN1156171C (zh) 1997-04-07 2004-06-30 松下电器产业株式会社 提高处理效率的图象声音处理装置
US5954786A (en) 1997-06-23 1999-09-21 Sun Microsystems, Inc. Method for directing a parallel processing computing device to form an absolute valve of a signed valve
NL1006469C2 (nl) 1997-07-04 1999-01-05 Oce Tech Bv Printsysteem voor het printen van beelden op vellen overeenkomstig elektrische beeld- en besturingssignalen alsmede besturingsmiddelen geschikt voor toepassing in een dergelijk printsysteem.
US5969728A (en) 1997-07-14 1999-10-19 Cirrus Logic, Inc. System and method of synchronizing multiple buffers for display
US6360234B2 (en) 1997-08-14 2002-03-19 Virage, Inc. Video cataloger system with synchronized encoders
KR100269125B1 (ko) 1997-10-25 2000-10-16 윤덕용 양자화효과감소를위한영상데이터후처리방법및장치
US6269174B1 (en) 1997-10-28 2001-07-31 Ligos Corporation Apparatus and method for fast motion estimation
JPH11243551A (ja) 1997-12-25 1999-09-07 Mitsubishi Electric Corp 動き補償装置と動画像符号化装置及び方法
US6157751A (en) 1997-12-30 2000-12-05 Cognex Corporation Method and apparatus for interleaving a parallel image processing memory
US6717578B1 (en) 1998-02-17 2004-04-06 Sun Microsystems, Inc. Graphics system with a variable-resolution sample buffer
DE19807872A1 (de) 1998-02-25 1999-08-26 Pact Inf Tech Gmbh Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
US6690835B1 (en) 1998-03-03 2004-02-10 Interuniversitair Micro-Elektronica Centrum (Imec Vzw) System and method of encoding video frames
US6747645B1 (en) 1998-03-13 2004-06-08 Hewlett-Packard Development Company, L.P. Graphics memory system that utilizes detached-Z buffering in conjunction with a batching architecture to reduce paging overhead
US6195389B1 (en) 1998-04-16 2001-02-27 Scientific-Atlanta, Inc. Motion estimation system and methods
US6175594B1 (en) 1998-05-22 2001-01-16 Ati Technologies, Inc. Method and apparatus for decoding compressed video
US6642956B1 (en) 1998-05-29 2003-11-04 Agilent Technologies, Inc. Digital image processor for a digital camera
WO1999066449A1 (en) 1998-06-19 1999-12-23 Equator Technologies, Inc. Decoding an encoded image having a first resolution directly into a decoded image having a second resolution
US20020015513A1 (en) 1998-07-15 2002-02-07 Sony Corporation Motion vector detecting method, record medium on which motion vector calculating program has been recorded, motion detecting apparatus, motion detecting method, picture encoding apparatus, picture encoding method, motion vector calculating method, record medium on which motion vector calculating program has been recorded
RU2154918C1 (ru) 1998-08-01 2000-08-20 Самсунг Электроникс Ко., Лтд. Способ и устройство для цикл-фильтрации данных изображения
US6098174A (en) 1998-08-03 2000-08-01 Cirrus Logic, Inc. Power control circuitry for use in a computer system and systems using the same
US6560629B1 (en) 1998-10-30 2003-05-06 Sun Microsystems, Inc. Multi-thread processing
US6418166B1 (en) 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
US6222883B1 (en) 1999-01-28 2001-04-24 International Business Machines Corporation Video encoding motion estimation employing partitioned and reassembled search window
GB2348559B (en) 1999-03-31 2001-06-06 Samsung Electronics Co Ltd High speed motion estimating method for real time moving image coding and apparatus therefor
US7072398B2 (en) 2000-12-06 2006-07-04 Kai-Kuang Ma System and method for motion vector generation and analysis of digital video clips
JP2001184323A (ja) 1999-12-27 2001-07-06 Mitsubishi Electric Corp 符号化装置
US6459738B1 (en) 2000-01-28 2002-10-01 Njr Corporation Method and apparatus for bitstream decoding
JP2001275116A (ja) 2000-03-24 2001-10-05 Sharp Corp 画像処理装置
JP3983447B2 (ja) 2000-03-24 2007-09-26 シャープ株式会社 データ駆動型情報処理装置
TW459203B (en) 2000-04-07 2001-10-11 Welkin Technologies Inc System and method for clearing buffer in 3D rendering
TW477930B (en) 2000-04-07 2002-03-01 Welkin Technologies Inc Buffer management method and system
US6876703B2 (en) 2000-05-11 2005-04-05 Ub Video Inc. Method and apparatus for video coding
JP3907385B2 (ja) 2000-05-22 2007-04-18 シャープ株式会社 データ駆動型情報処理装置およびその実行制御方法
US6751721B1 (en) 2000-08-31 2004-06-15 Hewlett-Packard Development Company, L.P. Broadcast invalidate scheme
JP3495011B2 (ja) 2000-11-21 2004-02-09 株式会社ソニー・コンピュータエンタテインメント 情報処理方法及びプログラム実行装置、コンピュータに実行させるための情報処理プログラム及びコンピュータに実行させるための情報処理プログラムを記録した記録媒体
US6633612B2 (en) 2000-12-13 2003-10-14 Genesis Microchip Inc. Method and apparatus for detecting motion between odd and even video fields
US6799192B1 (en) 2001-01-09 2004-09-28 Apple Computer, Inc. Method and apparatus for inverse discrete cosine transform
US20020118743A1 (en) 2001-02-28 2002-08-29 Hong Jiang Method, apparatus and system for multiple-layer scalable video coding
US7581076B2 (en) 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or processing data
US6782052B2 (en) 2001-03-16 2004-08-24 Sharp Laboratories Of America, Inc. Reference frame prediction and block mode prediction for fast motion searching in advanced video coding
US6993191B2 (en) 2001-05-04 2006-01-31 Pts Corporation Methods and apparatus for removing compression artifacts in video sequences
US7457361B2 (en) 2001-06-01 2008-11-25 Nanyang Technology University Block motion estimation method
JP4145586B2 (ja) 2001-07-24 2008-09-03 セイコーエプソン株式会社 画像処理装置及び画像処理プログラム、並びに画像処理方法
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
EP1294194B8 (en) 2001-09-10 2010-08-04 Texas Instruments Incorporated Apparatus and method for motion vector estimation
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
KR100481067B1 (ko) 2001-09-28 2005-04-07 브이케이 주식회사 분산 산술 처리장치 및 그를 이용한 이차원 이산여현변환 처리장치
US7403564B2 (en) 2001-11-21 2008-07-22 Vixs Systems, Inc. System and method for multiple channel video transcoding
JP4162893B2 (ja) 2002-01-11 2008-10-08 サミー株式会社 遊技機の蝶番装置
BRPI0304545B1 (pt) 2002-01-14 2018-07-03 Nokia Technologies Oy Método de codificação das imagens em uma seqüência de vídeo digital para fornecer os dados de vídeo codificados, codificador de vídeo, método de decodificação dos dados indicativos de uma sequência de vídeo digital, decodificador de vídeo, e, sistema de codificação de vídeo
CA2574127A1 (en) 2002-01-18 2003-07-31 Kabushiki Kaisha Toshiba Video encoding method and apparatus and video decoding method and apparatus
JP3902741B2 (ja) 2002-01-25 2007-04-11 株式会社半導体理工学研究センター 半導体集積回路装置
US7548586B1 (en) 2002-02-04 2009-06-16 Mimar Tibet Audio and video processing apparatus
US20030161400A1 (en) 2002-02-27 2003-08-28 Dinerstein Jonathan J. Method and system for improved diamond motion search
FI114679B (fi) 2002-04-29 2004-11-30 Nokia Corp Satunnaisaloituspisteet videokoodauksessa
US7289672B2 (en) 2002-05-28 2007-10-30 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode estimation
WO2003101117A1 (en) 2002-05-28 2003-12-04 Sharp Kabushiki Kaisha Methods and systems for image intra-prediction mode estimation, communication, and organization
US6950473B2 (en) 2002-06-21 2005-09-27 Seiko Epson Corporation Hybrid technique for reducing blocking and ringing artifacts in low-bit-rate coding
US6925123B2 (en) 2002-08-06 2005-08-02 Motorola, Inc. Method and apparatus for performing high quality fast predictive motion search
KR100472476B1 (ko) 2002-08-31 2005-03-10 삼성전자주식회사 움직임 보상을 위한 보간 방법 및 그 장치
WO2004038599A1 (de) 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
CN1225126C (zh) 2002-10-09 2005-10-26 中国科学院计算技术研究所 用于视频编码的新型空间预测方法及其装置
US6807317B2 (en) 2002-10-25 2004-10-19 Motorola, Inc. Method and decoder system for reducing quantization effects of a decoded image
US7020201B2 (en) 2002-11-20 2006-03-28 National Chiao Tung University Method and apparatus for motion estimation with all binary representation
US6996645B1 (en) 2002-12-27 2006-02-07 Unisys Corporation Method and apparatus for spawning multiple requests from a single entry of a queue
US7218417B2 (en) 2003-01-30 2007-05-15 Xerox Corporation Resolution conversion using a morphological partial pixel mapping (MPPM) approach
US7720151B2 (en) 2003-02-11 2010-05-18 Texas Instruments Incorporated Motion estimation using early decision for goodness of estimation with quick convergence feedback
BRPI0408087A (pt) 2003-03-03 2006-02-14 Agency Science Tech & Res método de intrapredição de codificação de vìdeo avançada (avc) para codificar vìdeo digital, aparelho que utiliza essa intrapredição e produto de programa de computador
US20040174998A1 (en) 2003-03-05 2004-09-09 Xsides Corporation System and method for data encryption
US8516026B2 (en) 2003-03-10 2013-08-20 Broadcom Corporation SIMD supporting filtering in a video decoding system
US20040181811A1 (en) 2003-03-13 2004-09-16 Rakib Selim Shlomo Thin DOCSIS in-band management for interactive HFC service delivery
JP2004287663A (ja) 2003-03-20 2004-10-14 Fuji Xerox Co Ltd 画像処理装置およびその方法
US7646817B2 (en) 2003-03-28 2010-01-12 Microsoft Corporation Accelerating video decoding using a graphics processing unit
US6993639B2 (en) 2003-04-01 2006-01-31 Hewlett-Packard Development Company, L.P. Processing instruction addressed by received remote instruction and generating remote instruction to respective output port for another cell
JP2004334843A (ja) 2003-04-15 2004-11-25 Seiko Epson Corp 複数の画像から画像を合成する方法
US7551671B2 (en) 2003-04-16 2009-06-23 General Dynamics Decision Systems, Inc. System and method for transmission of video signals using multiple channels
KR100750110B1 (ko) 2003-04-22 2007-08-17 삼성전자주식회사 4×4인트라 휘도 예측 모드 결정방법 및 장치
KR100510137B1 (ko) 2003-04-30 2005-08-26 삼성전자주식회사 고속 움직임 추정을 위한 참조 픽쳐 및 블록 모드 결정방법, 그 장치, 블록 모드 결정 방법 및 그 장치
US7362810B2 (en) 2003-05-13 2008-04-22 Sigmatel, Inc. Post-filter for deblocking and deringing of video data
US8660182B2 (en) 2003-06-09 2014-02-25 Nvidia Corporation MPEG motion estimation based on dual start points
US7471724B2 (en) 2003-06-23 2008-12-30 Vichip Corp. Limited Method and apparatus for adaptive multiple-dimensional signal sequences encoding/decoding
US20040257434A1 (en) 2003-06-23 2004-12-23 Robert Davis Personal multimedia device video format conversion across multiple video formats
US7038687B2 (en) 2003-06-30 2006-05-02 Intel Corporation System and method for high-speed communications between an application processor and coprocessor
US7827386B2 (en) 2003-06-30 2010-11-02 Intel Corporation Controlling memory access devices in a data driven architecture mesh array
US7581182B1 (en) 2003-07-18 2009-08-25 Nvidia Corporation Apparatus, method, and 3D graphical user interface for media centers
US20050047502A1 (en) 2003-08-12 2005-03-03 Mcgowan James William Method and apparatus for the efficient representation of interpolated video frames for motion-compensated coding
US7418606B2 (en) 2003-09-18 2008-08-26 Nvidia Corporation High quality and high performance three-dimensional graphics architecture for portable handheld devices
US7277101B2 (en) 2003-09-29 2007-10-02 Vixs Systems Inc Method and system for scaling images
US7548596B2 (en) 2003-10-01 2009-06-16 Realtek Semiconductor Corp. Ethernet channel estimation device and method
US7602849B2 (en) 2003-11-17 2009-10-13 Lsi Corporation Adaptive reference picture selection based on inter-picture motion measurement
NO320114B1 (no) 2003-12-05 2005-10-24 Tandberg Telecom As Forbedret utregning av interpolerte pixelverdier
KR100621137B1 (ko) 2004-02-27 2006-09-13 세이코 엡슨 가부시키가이샤 동화상 부호화 장치 및 동화상 처리장치
WO2005096168A1 (ja) 2004-04-01 2005-10-13 Matsushita Electric Industrial Co., Ltd. 映像音声処理用集積回路
US20050238102A1 (en) 2004-04-23 2005-10-27 Samsung Electronics Co., Ltd. Hierarchical motion estimation apparatus and method
US7782951B2 (en) 2004-05-13 2010-08-24 Ittiam Systems (P) Ltd. Fast motion-estimation scheme
KR20050112445A (ko) 2004-05-25 2005-11-30 경희대학교 산학협력단 예측 부호화/복호화 장치, 예측 부호화/복호화 방법 및 그방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한기록매체
US20050276493A1 (en) * 2004-06-01 2005-12-15 Jun Xin Selecting macroblock coding modes for video encoding
KR20050114751A (ko) 2004-06-01 2005-12-06 경희대학교 산학협력단 예측 부호화/복호화 장치 및 예측 부호화/복호화 방법
US8369402B2 (en) 2004-06-17 2013-02-05 Canon Kabushiki Kaisha Apparatus and method for prediction modes selection based on image formation
US7792188B2 (en) 2004-06-27 2010-09-07 Apple Inc. Selecting encoding types and predictive modes for encoding video data
US7721069B2 (en) 2004-07-13 2010-05-18 3Plus1 Technology, Inc Low power, high performance, heterogeneous, scalable processor architecture
US7382392B2 (en) 2004-07-20 2008-06-03 Samsung Electronics Co., Ltd. Method and apparatus for compensating for scanning skew
JP2008510384A (ja) 2004-08-11 2008-04-03 スティーブンス・インスティテュート・オブ・テクノロジー ディジタルイメージから隠蔽データを抽出する方法およびコンピュータの読み取り可能な媒体ならびにコンピュータデータ信号
US7558428B2 (en) 2004-09-13 2009-07-07 Microsoft Corporation Accelerated video encoding using a graphics processing unit
EP1641274B1 (en) * 2004-09-23 2013-06-05 Panasonic Corporation Video coding employing an image de-graining loop-filter
US7173631B2 (en) 2004-09-23 2007-02-06 Qualcomm Incorporated Flexible antialiasing in embedded devices
US7792192B2 (en) 2004-11-19 2010-09-07 Analog Devices, Inc. System and method for sub-pixel interpolation in motion vector estimation
US7924923B2 (en) 2004-11-30 2011-04-12 Humax Co., Ltd. Motion estimation and compensation method and device adaptive to change in illumination
US7653132B2 (en) 2004-12-21 2010-01-26 Stmicroelectronics, Inc. Method and system for fast implementation of subpixel interpolation
US20060146734A1 (en) 2005-01-04 2006-07-06 Nokia Corporation Method and system for low-delay video mixing
JP2006246431A (ja) 2005-02-07 2006-09-14 Matsushita Electric Ind Co Ltd 画像符号化装置および画像符号化方法
US7720311B1 (en) 2005-03-03 2010-05-18 Nvidia Corporation Memory and compute efficient block-based two-dimensional sample-rate converter for image/video applications
US7706443B2 (en) 2005-03-11 2010-04-27 General Instrument Corporation Method, article of manufacture, and apparatus for high quality, fast intra coding usable for creating digital video content
JP4889231B2 (ja) 2005-03-31 2012-03-07 三洋電機株式会社 画像符号化方法および装置、画像復号方法
TWI295540B (en) 2005-06-15 2008-04-01 Novatek Microelectronics Corp Motion estimation circuit and operating method thereof
KR100703200B1 (ko) 2005-06-29 2007-04-06 한국산업기술대학교산학협력단 인트라 부호화 장치 및 방법
JP4559935B2 (ja) 2005-08-25 2010-10-13 株式会社東芝 画像記憶装置及び方法
CN100473161C (zh) * 2005-09-09 2009-03-25 海信集团有限公司 基于avs的4×4离散余弦变换的快速并行装置及其方法
US20070074007A1 (en) 2005-09-28 2007-03-29 Arc International (Uk) Limited Parameterizable clip instruction and method of performing a clip operation using the same
PL1956847T3 (pl) 2005-11-08 2018-06-29 Sun Patent Trust Sposób kodowania ruchomych obrazów, sposób dekodowania ruchomych obrazów oraz urządzenia służące do tego celu
KR100750138B1 (ko) * 2005-11-16 2007-08-21 삼성전자주식회사 인간의 시각 특성을 이용한 영상의 부호화, 복호화 방법 및장치
US20070133689A1 (en) 2005-12-08 2007-06-14 Park Seong M Low-cost motion estimation apparatus and method thereof
JP2009060153A (ja) 2005-12-21 2009-03-19 Panasonic Corp 面内予測モード決定方法及び装置及びプログラム
CN101346999B (zh) 2005-12-22 2012-11-28 汤姆森特许公司 用于优化灵活宏块排序视频编码的帧选择的方法和装置
US7693219B2 (en) 2006-01-04 2010-04-06 Freescale Semiconductor, Inc. System and method for fast motion estimation
US20070171981A1 (en) * 2006-01-25 2007-07-26 Yingyong Qi Projection based techniques and apparatus that generate motion vectors used for video stabilization and encoding
KR100809296B1 (ko) 2006-02-22 2008-03-04 삼성전자주식회사 타입이 일치하지 않는 하위 계층의 정보를 사용하여인터레이스 비디오 신호를 인코딩/디코딩 하는 방법 및장치
US8009923B2 (en) 2006-03-14 2011-08-30 Celestial Semiconductor, Inc. Method and system for motion estimation with multiple vector candidates
US8005140B2 (en) 2006-03-17 2011-08-23 Research In Motion Limited Soft decision and iterative video coding for MPEG and H.264
US8340179B2 (en) 2006-03-21 2012-12-25 Canon Kabushiki Kaisha Methods and devices for coding and decoding moving images, a telecommunication system comprising such a device and a program implementing such a method
US20070230564A1 (en) * 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
US7565077B2 (en) 2006-05-19 2009-07-21 Seiko Epson Corporation Multiple exposure regions in a single frame using a rolling shutter
JP4752631B2 (ja) 2006-06-08 2011-08-17 株式会社日立製作所 画像符号化装置、及び画像符号化方法
US8081187B2 (en) 2006-11-22 2011-12-20 Autodesk, Inc. Pencil strokes for vector based drawing elements
US20080137726A1 (en) * 2006-12-12 2008-06-12 General Instrument Corporation Method and Apparatus for Real-Time Video Encoding
US8428125B2 (en) 2006-12-22 2013-04-23 Qualcomm Incorporated Techniques for content adaptive video frame slicing and non-uniform access unit coding
CN101222641B (zh) 2007-01-11 2011-08-24 华为技术有限公司 帧内预测编解码方法及其装置
US8391354B2 (en) 2007-05-14 2013-03-05 Broadcom Corporation Method and system for transforming uncompressed video traffic to network-aware ethernet traffic with A/V bridging capabilities and A/V bridging extensions
TW200926011A (en) 2007-09-04 2009-06-16 Objectvideo Inc Background modeling with feature blocks
JP5261376B2 (ja) 2007-09-21 2013-08-14 パナソニック株式会社 画像符号化装置および画像復号化装置
US8467451B2 (en) 2007-11-07 2013-06-18 Industrial Technology Research Institute Methods for selecting a prediction mode
CN101946514B (zh) 2007-12-20 2014-06-04 高通股份有限公司 使用自适应搜索范围的真实运动矢量估计

Also Published As

Publication number Publication date
KR101004157B1 (ko) 2010-12-24
TWI441458B (zh) 2014-06-11
JP2008306711A (ja) 2008-12-18
JP4924904B2 (ja) 2012-04-25
US8756482B2 (en) 2014-06-17
TW200910775A (en) 2009-03-01
CN101335893B (zh) 2013-05-22
CN101335893A (zh) 2008-12-31
US20080294962A1 (en) 2008-11-27

Similar Documents

Publication Publication Date Title
KR101004157B1 (ko) 데이터 프레임들의 시퀀스의 효율적인 인코딩/디코딩
US8126053B2 (en) Image encoding/decoding method and apparatus
JP4815107B2 (ja) カラー平面間予測を利用した無損失映像符号化/復号化方法及び装置
US7711196B2 (en) Apparatus and method for generating coded block pattern for alpha channel image and alpha channel image encoding/decoding apparatus and method using the same
WO2014157172A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
KR20090058954A (ko) 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치
JP2009094828A (ja) 画像符号化装置及び画像符号化方法、画像復号化装置及び画像復号化方法
JP2009518940A (ja) 画像の符号化方法及び装置、復号化方法及び装置
US9332275B2 (en) Methods, apparatuses, and programs for encoding and decoding picture
KR20100058646A (ko) 화상 부호화 방법 및 복호 방법, 그들의 장치, 그들의 프로그램과 프로그램을 기록한 기록매체
KR100718122B1 (ko) 컬러 평면 간 예측을 이용한 무손실 영상 부호화/복호화방법 및 장치
RU2419855C2 (ru) Снижение ошибок в ходе вычисления обратного дискретного косинусного преобразования
JP2023168518A (ja) 予測ブロック生成装置、画像符号化装置、画像復号装置、及びプログラム
JP2008252346A (ja) 画像符号化装置及び画像符号化方法
WO2017082304A1 (ja) 情報圧縮装置、情報圧縮方法、記録媒体、及び、符号化装置
JP2007266861A (ja) 画像符号化装置
JP2006237765A (ja) 画像符号化装置
JP4451759B2 (ja) 可逆ビデオ符号化装置,可逆ビデオ符号化方法,可逆ビデオ復号装置,可逆ビデオ復号方法,可逆ビデオ符号化プログラム,可逆ビデオ復号プログラムおよびそれらのプログラムの記録媒体
JP2020028066A (ja) 色差イントラ予測候補生成装置、画像符号化装置、画像復号装置、及びプログラム
JP7444599B2 (ja) イントラ予測装置、画像符号化装置、画像復号装置、及びプログラム
JP2005184525A (ja) 画像処理装置
JP2008104072A (ja) 画像データの符号化方法および符号化装置
JP2006074520A (ja) 動きベクトル検出装置
JP5645589B2 (ja) 動画像符号化装置
JP2006270392A (ja) 画像予測符号化装置

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141201

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171211

Year of fee payment: 8