KR20030055479A - 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법 - Google Patents

영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법 Download PDF

Info

Publication number
KR20030055479A
KR20030055479A KR1020010085034A KR20010085034A KR20030055479A KR 20030055479 A KR20030055479 A KR 20030055479A KR 1020010085034 A KR1020010085034 A KR 1020010085034A KR 20010085034 A KR20010085034 A KR 20010085034A KR 20030055479 A KR20030055479 A KR 20030055479A
Authority
KR
South Korea
Prior art keywords
current
prediction
block
packet
macroblock
Prior art date
Application number
KR1020010085034A
Other languages
English (en)
Other versions
KR100454501B1 (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 한국전자통신연구원
Priority to KR10-2001-0085034A priority Critical patent/KR100454501B1/ko
Priority to US10/098,213 priority patent/US7010168B2/en
Publication of KR20030055479A publication Critical patent/KR20030055479A/ko
Application granted granted Critical
Publication of KR100454501B1 publication Critical patent/KR100454501B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/186Methods 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 colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 공간 상관성을 이용해 영상신호를 적응예측 부호화하는 하드웨어 구조 및 그 방법에 관한 것으로 구체적으로 현재 예측작업을 수행하는 블록의 예측에 사용되는 예측기본값이 현재 블록과 동일한 패킷에 속하는지 여부를 판별하는 패킷변화감지부, 패킷변화감지부의 판별 결과에 따라 예측작업에 이용되는 예측기본값을 제공하는 예측기본값 제공부 및 동작 모드에 따라 예측기본값 제공부에서 제공되는 예측기본값과 현재 블록의 DCT(Discrete Cosine Transform) 성분을 이용하여 예측부호화값 또는 예측복호화값을 출력하는 예측연산부를 포함하는 예측 장치 및 예측 방법에 관한 것이다.
본 발명에 의해서 예측장치의 크기를 줄일 수 있고, 하나의 장치로 부호화 및 복호화 모두에 사용될 수 있는 장점이 있다.

Description

영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법{Apparatus for prediction to code or decode image signal and method therefor}
본 발명은 공간 상관성을 이용해 영상신호를 적응예측 부호화하는 하드웨어 구조 및 그 방법에 관한 것이다.
일반적으로 영상신호는 높은 용장성(삭감 가능한 정보)을 갖고 있다. MPEG(Moving Picture Expert Group)에서는 이러한 영상신호를 압축하기 위해서 공간적 상관관계, 즉 프레임 내의 예측을 이용하고, 시간적 상관관계, 즉 프레임간 예측을 이용하여 정보를 압축한다.
이렇게 정보를 압축하는 방법 중, MPEG-4에서 공간적 상관관계를 이용하여 압축을 행하는 방법을 도 1 및 도 2를 중심으로 설명하면 다음과 같다.
도 1은 MPEG-4에서 부호화를 위한 데이터 흐름을 나타낸 블록선도이다.
입력된 영상신호는 순방향 이산여현부(101)를 통하여 2차원 순방향 이산여현변환(FDCT: Forward Discrete Cosine Transform)을 수행하고, 양자화부(102)는 이산여현변환되어 발생한 AC 계수 및 DC 계수를 받아 양자화 테이블을 이용하여 양자화(Quantization)를 수행한다. 영상신호는 양자화를 통하여 고주파항의 DCT 계수값이 0이 되므로 고주파 부분에 대한 정보가 삭감되어 압축되게 된다.
AC/DC 예측부(103)에서는 양자화된 계수를 받아 AC계수와 DC계수에 대해 DPCM(Differential Pulse Coding Modulation)을 수행한다. DPCM이 된 결과는 스캔처리부(104)에서 스캔(scan)이 되어 양자화계수 버퍼(105, Quantized CoefficientBuffer)에 저장된다.
가변장부호화부(106)는 스캔된 데이터를 가변장부호화(variable length coding)를 수행하여 비트스트림을 발생시킨다. 이 때 비트스트림은 소정 개수의 매크로블록에 대한 데이터를 포함한 패킷으로 구성된다.
이와는 별도로 시간적 상관관계에 따른 움직임 예측을 위한 화면을 재구성하기 위해 양자화된 신호를 역양자화부(111)와 역이산여현부(112)를 거쳐 움직임보상을 수행하는 복원기(113)에서 프레임 메모리(미도시)에 저장하게 된다.
도 2는 MPEG-4에서 복호화를 위한 데이터 흐름을 나타낸 블록선도이다.
복호화의 경우, 입력된 패킷 단위의 비트스트림은 가변장복호화부(201)에서 가변장복호화(variable length decoding)되어 양자화계수버퍼(202)에 저장되고, 저장된 값은 역스캔처리부(203)에서 역스캔(Inverse Scan)되어 읽어 들여진 후 AC/DC 예측부(204)에서 복호화된다. 이 복호화된 결과는 도 1에서 양자화부(102)의 출력값과 동일한 값이며, 역양자화부(205)와 역 이산여현 변환부(206)를 거쳐 복원부(207)에서 화면으로 복원이 된다.
MPEG에서는 영상신호를 압축하기 위해 이산여현변환 및 양자화를 이용하는 외에 예측부호화 기법을 더 사용한다. 예측부호화란 양자화부(102)에서 출력된 AC, DC 계수값을 바로 부호화하지 않고 옆의 블록 또는 위의 블록의 AC, DC 계수값과의 차를 부호화하는 차분부호화를 사용하여 출력되는 데이터의 양을 줄이는 기법이다.
MPEG-2에서는 이전 매크로 블록의 DC 값만을 참조하여 DC 성분만을 부호화하는데 반하여, MPEG-4에서는 AC 성분 및 DC 성분을 모두 적응적으로 예측 부호화한다. 도 1의 AC/DC 예측부(103)에서 AC/DC 성분을 예측 부호화하는 방법을 도 3을 참조하여 설명하면 다음과 같다.
도 3에서 블록 X는 예측부호화를 하고자 하는 8 x 8 블록이고, 블록 A(303), B(301), C(302)는 각각 블록 X(304)에 좌측, 좌상측, 상측에 인접한 블록이고, 각 블록의 격자는 DCT 성분을 표시한다.
먼저 DC 성분을 예측하는 과정을 살펴보면, DC 성분의 예측치는 부호화 대상 블록의 주변에 인접하는 블록간의 수평 및 수직으로 DC 성분의 경사도에 따라 적응적으로 선택된다. 즉, 블록 B(301)의 역양자화된 DC 성분을 기준으로 하여 블록 A(303)의 역양자화된 DC 성분과의 차 및 블록 C(302)의 역양자화된 DC 성분과의 차를 이용해서 블록 X(304)의 DC 성분에 대한 예측치를 결정한다. 즉,
if(|FA[0][0]-FB[0][0]| < |FB[0][0]-FC[0][0]|)
FP[0][0]=FC[0][0]
else
FP[0][0]=FA[0][0]
의 방식을 통하여 예측치가 결정된다. 여기서, FA[0][0], FB[0][0], FC[0][0]는 각각 블록 A, B, C의 역양자화된 DC 성분이고, FP[0][0]은 블록 X의 DC 성분 예측치이다.
인접한 블록이 동일한 패킷(Packet)에 포함되어 있지 않은 경우에는 블록 X의 DC 성분 예측치를 상기와 같은 방식으로 결정을 하지 않고 소정의 기준값을 이용하여 결정한다. 상기 기준값은 일반적으로 1024를 선택한다. 이렇게 함으로써 어느 하나의 패킷에 포함된 데이터에 에러가 발생하더라도 에러가 다른 패킷의 데이터로 전파되는 것을 방지할 수 있다.
이렇게 해서 결정된 예측치를 이용하여 다음과 같이 예측 오차 PQFX[0][0]을 구한다.
PQFX[0][0] = QFX[0][0] - Fp[0][0]//dc_scaler
여기서, QFX[0][0]는 블록 X의 양자화된 DC 성분이며, dc_scaler는 블록 X의 양자화 값이다. 상기 PQFX[0][0]을 허프만 부호화방식으로 가변장부호화한다. 영상을 복원할 때는 PQFX[0][0]에 Fp[0][0]//dc_scaler를 더하여 블록 X의 양자화 DC 계수를 재생한다. 인트라 블록에서 DC 성분의 예측은 매크로 블록에 포함되는 전체 블록(휘도, 색차 성분)에 대하여 행한다.
다음으로 AC 성분의 예측은 DC 성분 예측에서 결정된 블록을 참조하여 수행된다. 즉, 블록 A(303)를 이용하여 DC 성분을 예측한 경우, 블록 A의 제1열의 AC 계수(311)를 예측치로 하여 블록 X의 제1열의 AC 계수(312)와 DPCM을 행하고, 블록 C를 이용하여 DC 성분을 예측하는 경우 블록 C의 제1행의 AC 계수(313)를 예측치로 하여 블록 X의 제1행의 AC 계수(314)와 DPCM을 행한다.
A를 기준으로 예측을 행하는 경우의 식을 예로 들어 보면,
PQFX[0][i]= QFX[0][i] - (QFA[0][i] * QPA)// QPX
로 표현된다.
이렇게 AC/DC 예측을 행하기 위해서는 먼저 인접한 블록이 속하는 패킷이 현재 예측작업을 진행 중인 블록이 속하는 패킷과 동일한 패킷인지를 판단하여야 하는데, 종래에는 현재 예측작업이 진행 중인 매크로블록의 상위 슬라이스에 위치한 모든 패킷 번호(9bit)를 저장하고, 현재 매크로블록의 패킷번호와 대비되는 매크로블록의 패킷번호를 비교하여 패킷이 변하였는지를 판단하였기 때문에 패킷변화를 판단하기 위해 많은 공간을 할애해야 하는 문제점이 있었다.
또한, 인접한 블록이 속하는 패킷이 현재 예측작업을 진행 중인 블록이 속하는 패킷과 동일한 패킷으로 판단이 되는 경우에는 현재 블록의 좌상측, 좌측 및 상측에 인접한 블록의 DCT 성분을 이용하여 예측작업을 수행하기 때문에 현재 블록의 좌상측, 좌측 및 상측에 인접한 블록의 DCT 성분을 저장할 수 있는 저장공간이 필요한데, 인접한 블록의 DCT 성분을 하나의 메모리 공간에 저장하면, 좌측에 위치한 블록의 DCT 성분에 대한 예측을 수행한 후 좌측 블록의 DCT 성분을 좌상측에 위치한 블록의 DCT 성분이 저장된 영역에 덮어쓰는 형식으로 저장하기 때문에 현재 블록의 DCT 성분에 대한 예측을 행할 때에는 좌상측에 위치한 블록의 DCT 성분을 알아낼 방법이 없어서 결국 두 개의 라인의 블록에 대한 DCT 성분을 모두 저장하고 있어야 하므로, 회로의 면적과 전력의 소모를 크게 하여 휴대용 단말기 등의 응용분야에는 적합하지 않다는 문제점이 있었다.
상기한 문제점을 해결하기 위해 본 발명은 AC/DC 예측을 수행하기 위한 회로의 면적을 줄이고, 메모리의 효율적인 이용을 위한 장치를 제공하는 것을 목적으로 한다.
또한, 상기한 문제점을 해결하기 위해 본 발명은 AC/DC 예측을 수행하기 위한 회로의 면적을 줄이고, 메모리의 효율적인 이용을 위한 방법을 제공하는 것을 목적으로 한다.
도 1은 MPEG-4에서 부호화를 위한 데이터 흐름을 나타낸 블록선도
도 2은 MPEG-4에서 복호화를 위한 데이터 흐름을 나타낸 블록선도
도 3은 MPEG-4에서 AC 성분 및 DC 성분의 예측부호화를 설명하기 위한 도면
도 4는 본 발명의 AC/DC 예측 장치를 나타낸 블록선도
도 5는 본 발명의 패킷변화 감지부를 도시한 블록선도
도 6은 본 발명의 패킷변화 감지부의 동작을 설명한 도면
도 7은 본 발명의 예측 메모리를 나타낸 도면
도 8은 휘도 신호 블록의 화면상의 위치를 나타낸 도면
도 9는 좌상방향 메모리부에서의 읽기 쓰기 위치를 나타낸 표
도 10은 예측메모리의 제어를 설명하기 위한 도면
도 11은 본 발명의 시간에 따른 데이터 흐름을 나타낸 데이터 흐름도
도 12는 본 발명의 일 실시예를 나타낸 블록선도
도 13은 본 발명의 예측작업을 수행하는 방법을 나타낸 흐름도
도 14는 본 발명의 패킷변화를 감지하는 방법을 나타낸 흐름도
도 15는 본 발명의 예측 메모리를 제어하는 방법을 나타낸 흐름도
상기한 목적을 달성하기 위해 본 발명은 영상신호를 예측부호화 또는 예측복호화하는 장치에 있어서, 현재 예측작업을 수행하는 매크로블록이 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속하는지를 판단하는 패킷변화감지부; 상기 패킷변화감지부의 판단 결과에 따라 예측작업에 이용되는 예측기본값을 제공하는 예측기본값 제공부; 및 동작 모드에 따라 상기 예측기본값 제공부에서 제공되는 예측기본값과 현재 블록의 DCT(Discrete Cosine Transform) 성분을 이용하여 예측부호화값 또는 예측복호화값을 출력하는 예측연산부;를 포함하는 것을 특징으로 하는 영상신호의 DCT 성분을 예측하는 예측 장치를 제공한다.
또한, 상기한 목적을 달성하기 위해 본 발명은 영상신호의 예측부호화 또는 예측복호화 장치에 있어서, 현재 매크로블록에서 패킷이 변화하였는지를 알려주는 현재 패킷변화신호로부터 좌측 매크로블록이 상기 현재 매크로블록과 동일한 패킷에 속하는지를 나타내는 제1패킷변화신호를 출력하는 제1패킷변화신호 출력부; 화면의 X축을 구성하는 매크로블록의 수에 해당하는 수의 저장영역으로 구성되고, 상기 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 위치에 상기 현재 패킷변화신호를 저장하는 저장부; 상기 현재 매크로 블록의 화면상의 X축의 위치값을 알려주는 선택신호를 발생시키는 선택신호 발생부; 상기 선택신호와 상기 저장부에 저장된 값을 이용하여 제1출력값을 연산하는 연산부; 상기 제1출력값과 상기 현재 패킷변화신호를 이용하여 상측 매크로블록이 상기 현재 매크로블록과 동일한 패킷인지를 나타내는 제2패킷변화신호를 출력하는 제2연산부; 및 상기 제2패킷변화신호와 상기 저장부를 구성하는 저장소 중 상기 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 저장소에 저장된 값을 이용하여 좌상측 매크로블록이 상기 현재 매크로블록과 동일한 패킷인지를 나타내는 제3패킷변화신호를 출력하는 제3연산부를 포함하는 것을 특징으로 하는 패킷변화감지장치를 제공한다.
또한, 상기한 목적을 달성하기 위해 본 발명은 영상신호의 예측부호화 또는 예측복호화를 위한 예측기본값을 예측을 행하기 위한 연산 장치에 제공하기 위한 장치에 있어서, 화면을 구성하는 하나의 슬라이스의 색차신호 블록의 수평 DCT 성분과 하나의 슬라이스를 구성하는 상부 휘도신호 블록 또는 하부 휘도신호 블록 중의 어느 하나의 휘도신호 블록의 수평 DCT 성분을 저장할 수 있는 저장영역을 갖는 횡방향 메모리부; 하나의 슬라이스를 구성하는 하나의 열을 나타내는 수직 DCT 성분을 저장할 수 있는 저장영역을 갖는 종방향 메모리부; 예측작업을 수행하는 현재 블록의 좌상측에 위치한 블록의 DC 성분을 저장할 수 있는 저장영역을 갖는 좌상방향 메모리부; 및 상기 현재 블록의 상측에 위치한 블록의 DC 성분을 상기 좌상방향 메모리부에 저장하고, 상기 현재 블록의 수평 DCT 성분을 상기 횡방향 메모리부에 저장하고, 상기 현재 블록의 수직 DCT 성분을 상기 종방향 메모리부에 저장하는 메모리 제어부를 포함하는 것을 특징으로 하는 예측기본값 제공장치를 제공한다.
또한, 상기한 목적을 달성하기 위해 본 발명은 화면을 구성하는 하나의 슬라이스의 수평 DCT 성분을 저장할 수 있는 저장영역을 갖는 횡방향 메모리부, 수직 DCT 성분을 저장할 수 있는 저장영역을 갖는 종방향 메모리부 및 예측작업을 수행하는 현재 블록의 좌상측에 위치한 블록의 DC 성분을 저장할 수 있는 저장영역을 갖는 좌상방향 메모리부를 포함하는 예측메모리를 이용하여 영상신호를 예측부호화 또는 예측복호화하는 방법에 있어서, (a) 현재 매크로블록에서 패킷이 변화하였는지를 알려주는 현재 패킷변화신호로부터 상기 현재 매크로블록이 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속하는지를 판단하는 단계; (b) 상기 현재 매크로블록이 상기 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 동일한 패킷에 속하는 경우, 예측메모리의 종방향 메모리부에 저장된 현재 블록의 좌측에 위치한 블록의 DC 성분, 횡방향 메모리부에 저장된 현재 블록의 상측에 위치한 블록의 DC 성분 및 좌상방향 메모리부에 저장된 현재 블록의 좌상측에 위치한 블록의 DC 성분을 이용하여 예측방향을 결정하는 단계; (c) 상기 예측방향이 제1방향인 경우 상기 종방향 메모리부에 저장된 값과 상기 현재 블록의 수직 DCT 성분을 이용해서 예측출력값을 출력하고, 상기 예측방향이 제2방향인 경우 상기 횡방향 메모리부에 저장된 값과 상기 현재 블록의 수평 DCT 성분을 이용해서 예측출력값을 출력하는 단계; (d) 상기 현재 매크로블록이 상기 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속하는 경우, 소정의 기본값을 출력하는단계; (e) 상기 (c) 단계의 예측 출력값 또는 상기 (d) 단계의 소정의 기본값과 상기 현재 블록의 DCT 성분을 이용하여 예측연산을 수행하는 단계; 및 (f) 상기 현재 블록의 DCT 성분을 상기 예측메모리에 저장하는 단계;를 포함하는 것을 특징으로 하는 영상신호의 예측 방법을 제공한다.
또한, 상기한 목적을 달성하기 위해 본 발명은 영상신호의 예측부호화 또는 예측복호화를 위하여 화면의 X축을 구성하는 매크로블록의 수에 해당하는 수의 저장영역으로 구성된 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 위치에 상기 패킷변화신호를 저장하는 저장부를 구비하고, 현재 매크로블록이 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속하는지를 판단하여 예측기본값을 제공하는 방법에 있어서, (a) 상기 현재 매크로 블록의 화면상의 X축의 위치값을 알려주는 선택신호를 발생시키는 단계; (b) 상기 선택신호와 상기 저장부에 저장된 값을 이용하여 제1출력값을 출력하는 단계; (c) 상기 현재 매크로블록에서 패킷이 변화하였는지를 알려주는 현재 패킷변화신호로부터 상기 좌측 매크로블록이 상기 현재 매크로블록과 동일한 패킷에 속하는지를 나타내는 제1패킷변화신호를 출력하는 단계; (d) 상기 제1출력값과 상기 현재 패킷변화신호를 이용하여 상기 상측 매크로블록이 상기 현재 매크로블록과 동일한 패킷인지를 나타내는 제2패킷변화신호를 출력하는 단계; (e) 상기 제2패킷변화신호와 상기 저장부를 구성하는 저장영역 중 상기 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 저장영역에 저장된 값을 이용하여 상기 좌상측 매크로블록이 상기 현재 매크로블록과 동일한 패킷인지를 나타내는 제3패킷변화신호를 출력하는 단계;(f) 상기 제1패킷변화신호, 제2패킷변화신호 또는 제3패킷변화신호가 상기 현재 매크로블록이 대비되는 매크로블록과 다른 패킷에 속한다는 출력을 나타내는 경우 소정의 기본값을 예측기본값으로 출력하는 단계; 및 (g) 상기 제1패킷변화신호, 제2패킷변화신호 또는 제3패킷변화신호가 상기 현재 매크로블록이 대비되는 매크로블록과 동일한 패킷에 속한다는 출력을 나타내는 경우 상기 예측기본값을 소정의 예측메모리로부터 읽어와 출력하는 단계;를 포함하는 것을 특징으로 하는 패킷변화신호를 이용하여 제공되는 예측기본값을 결정하는 방법을 제공한다.
또한, 상기한 목적을 달성하기 위해 본 발명은 화면을 구성하는 하나의 슬라이스의 수평 DCT 성분을 저장할 수 있는 저장영역을 갖는 횡방향 메모리부, 수직 DCT 성분을 저장할 수 있는 저장영역을 갖는 종방향 메모리부 및 예측작업을 수행하는 현재 블록의 좌상측에 위치한 블록의 DC 성분을 저장할 수 있는 저장영역을 갖는 좌상방향 메모리부를 포함하는 예측메모리를 이용하여 영상신호를 예측부호화 또는 예측복호화하는 방법에 있어서,(a) 상기 현재 블록의 상측에 위치한 블록의 DC 성분을 상기 좌상방향 메모리부에 저장하고, 상기 현재 블록의 수평 DCT 성분을 상기 횡방향 메모리부에 저장하고, 상기 현재 블록의 수직 DCT 성분을 상기 종방향 메모리부에 저장하는 단계;를 포함하는 것을 특징으로 하는 예측메모리를 제어하는 방법을 제공한다.
또한, 상기한 목적을 달성하기 위해 본 발명은 상기한 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하 본 발명을 도면을 참조하여 상세히 설명한다.
도 4는 본 발명의 AC/DC 예측 장치를 나타낸 블록선도이다.
본 발명의 AC/DC 예측 장치는 패킷변화감지부(410), 예측 기본값 제공부(420), 예측연산부(430), 역양자화부(450) 및 출력부(440)를 포함하며, 영상 신호의 부호화 장치 및 복호화 장치에 모두 사용될 수 있다.
패킷변화감지부(410)는 현재 예측작업을 수행하는 매크로블록이 상기 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속하는지를 판단한다.
예측기본값 제공부(420)는 상기 패킷변화감지부의 판단 결과에 따라 현재 매크로 블록이 현재 매크로블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속한다고 판단될 때에는 소정의 기본값을 예측기본값으로 하고, 현재 매크로 블록이 현재 매크로블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 동일한 패킷에 속한다고 판단될 때에는 예측메모리에 저장되어 있는 값을 예측기본값으로 하여 예측작업에 이용되는 예측기본값을 제공한다.
예측연산부(430)는 동작 모드에 따라 상기 예측기본값 제공부에서 제공되는 예측기본값과 현재 블록의 양자화된 DCT(Discrete Cosine Transform) 계수성분을 이용하여 예측부호화값 또는 예측복호화값을 출력한다.
동작 모드가 부호화 모드인 경우에는 양자화부(102)로부터 현재 블록의 DCT 성분의 양자화된 값(QF)을 받고(461), 이 값으로부터 예측기본값을 소정의 양자화 값으로 나눈 값을 뺀 값, 즉 DPCM(Differential Pulse Code Modulation)을 행한 값을 출력하고, 동작 모드가 복호화 모드인 경우에는 역스캔처리부(202)로부터 현재 블록의 양자화된 DPCM된 값(PQF)을 받고(461), 이 값과 예측기본값을 소정의 양자화 값으로 나눈 값을 가산한 값을 출력한다.
역양자화부(450)는 동작 모드가 부호화 모드인 경우에는 상기 현재 블록의 DCT 성분의 양자화된 값(QF)을 받아(464) 여기에 양자화 값을 곱하여 역양자화하여 그 값을 예측기본값 제공부(420)로 전송하고, 동작 모드가 복호화 모드인 경우에는 예측 연산부(430)에서 출력된 값을 받아(463) 여기에 양자화 값을 곱하여 역양자화하여 그 값을 예측기본값 제공부(420)로 전송한다.
한편, 출력부(440)는 예측연산부(430)로부터 받은 값을 동작 모드에 따라 부호화 모드인 경우에는 스캔처리부(104)로 출력하고(441), 복호화 모드인 경우에는 역 양자화부(204)로 출력한다(442).
상기 각 구성요소의 동작을 자세히 살펴보면 다음과 같다.
도 5는 본 발명의 패킷변화 감지부(410)의 구성을 나타낸 구성도이다.
본 실시예에서는 현재 CIF에서 한 화면의 폭을 구성하는 22개의 매크로 블록 중 4번 매크로블록(5번째 매크로블록)이 4번 매크로블록의 좌측, 상측 또는 좌상측 매크로블록과 다른 패킷에 속하는지 여부를 판단하는 것을 기준으로 설명한다.
도 5의 패킷변화를 알려주는 회로는 CIF에서 한 화면의 폭을 구성하는 22개의 매크로 블록에 해당하는 22개의 1비트 레지스터들로 구성된 레지스터부(510), 현재 예측을 수행 중인 매크로 블록과 상기 레지스터들의 값과를 AND 연산하는 22개의 AND 게이트들로 구성된 AND 게이트부(520), 상기 AND 게이트들(520)의 출력값을 OR연산하는 제1 OR 게이트(530), 상기 제1 OR 게이트의 출력값과 현재 패킷변화신호를 OR 연산하는 제2 OR 게이트(540), 상기 제2 OR 게이트의 출력값과 현재 예측을 수행중인 매크로블록에 해당하는 레지스터의 값(511)을 OR 연산하는 제3 OR 게이트(550), 현재 매크로블록의 위치에 따라 선택신호를 발생시키는 디코더(560) 및 각 플립플롭들(570, 541, 551, 571)을 포함하여 구성된다.
본 발명의 패킷변화 감지부(410)에서 현재 매크로블록이 현재 매크로블록의 좌측, 상측 또는 좌상측에 인접한 매크로블록과 동일한 패킷에 속하는지 여부를 판단하기 위해서는 3개의 순차적인 클록이 필요하며, 도 5에서는 이를 제1클록(mbh_set_tmp), 제2클록(mbh_set_tmp2) 및 제3클록(mbh_set_tmp3)으로 나타내었다.
회로의 동작을 살펴보면 다음과 같다.
먼저, 현재 패킷변화신호는 각 매크로 블록을 처리할 때마다 현재 매크로블록에서 패킷이 변화하였으면 '하이'(high), 패킷이 변화하지 아니하였으면 '로우'(low)로 제1클록(mbh_set_tmp)에서 플립플롭(570)에 입력되어 진다.
현재 패킷변화신호는 플립플롭(571)에 의해 한 클록 지연된 제2클록(mbh_set_tmp2)에서 왼쪽의 매크로블록과 현재의 매크로블록의 패킷이 서로 다른지 여부를 나타내는 좌측패킷변화 신호로 출력된다.
또한, 상기 현재 패킷 변화 신호는 2클록이 지연된 제3클록(mbh_set_tmp3)에서 디코더(560)에 의해 발생한 선택(select)신호에 의해 22개의 레지스터들 중 현재 매크로블록의 위치에 상당하는 레지스터에 저장된다.
디코더는 현재 작업이 진행중인 매크로블록에 상당하는 비트만 로우(Low)로 하고 나머지 신호는 하이(High)로 하여 선택신호를 출력한다. 예를 들어 4번 매크로블록에 대한 작업이 진행중인 경우 선택신호는 '1111011111111111111111'로 된다.
레지스터부(510)는 각각의 레지스터에 선택신호를 1비트씩 받아 선택신호가 '로우'(low)인 부분만이 활성화되어 제3클록에서 현재 패킷 변화 신호를 저장한다.
또한, 선택신호는 AND 게이트부(520)에도 입력되며, 각 매크로블록에 해당하는 각 AND 게이트(520)에서는 해당 매크로블록의 패킷변화 레지스터(510) 및 디코더(560)으로부터 발생한 선택신호를 입력으로 하여 AND 연산을 한 후 그 연산값을 출력한다.
제1 OR 게이트(530)는 각 AND 게이트(520)의 출력을 입력으로 받아 OR 연산을 행하고 그 값을 출력한다.
제2 OR 게이트(540)는 제1 OR 게이트(530)의 출력값과 현재 패킷 변화 신호를 입력으로 하여 OR 연산을 행하고 그 연산값을 출력한다. 이 값이 하이(high)이면 현재 매크로블록의 위에 위치한 매크로블록은 현재 매크로블록과는 다른 패킷에 속하는 것을 의미하고, 상기 연산값이 로우(low)이면 현재 매크로블록의 위에 위치한 매크로블록은 현재 매크로블록과 동일한 패킷에 속하는 것을 의미한다.
제3 OR 게이트(550)는 제2 OR 게이트(540)의 출력값과 현재 매크로블록에 상당하는 패킷변화레지스터(511)에 저장된 값을 입력으로 하여 OR 연산을 행하고 그 연산값을 출력한다. 이 값이 하이(high)이면 현재 매크로블록의 좌상측에 위치한매크로블록은 현재 매크로블록과는 다른 패킷에 속하는 것을 의미하고, 상기 연산값이 로우(low)이면 현재 매크로블록의 좌상측에 위치한 매크로블록은 현재 매크로블록과 동일한 패킷에 속하는 것을 의미한다.
이렇게 연산되어 패킷의 변화를 알려주는 신호는 패킷 변화 신호의 입력 클록(mbh_set_tmp)보다 한 클록 지연된 제2클록(mbh_set_tmp2)에 외부로 출력되게 된다.
위쪽의 매크로블록과 좌상쪽의 매크로블록이 현재 매크로블록과 동일한 패킷에 속하는지 여부를 판단하기 위한 동작은 도 6에 도시된 표를 참조하여 설명한다.
도 6a는 한 화면을 구성하는 슬라이스 중 2개의 슬라이스를 나타낸 것이다. 각 슬라이스는 22개의 매크로블록으로 구성되어 있다. 위쪽 슬라이스(610)의 4번 매크로블록에서부터 새로운 패킷이 시작되어 아래쪽 슬라이스(620)의 4번 매크로블록까지 연결되어 있으며, 아래쪽 슬라이스(620)의 5번 매크로블록부터 다시 새로운 패킷이 시작된다고 가정하였다.
도 6b는 아래쪽 슬라이스의 3번 매크로블록에 대한 예측작업을 진행중인 경우의 동작을 나타낸 표이다.
3번 매크로블록에서는 패킷의 변화가 일어나지 않으므로 현재 패킷 변화 신호는 로우(low)로 입력되며, 패킷 변화 신호가 입력되는 제1클록(mbh_set_tmp)에서는 현재 매크로블록의 패킷 변화 신호가 패킷 변화 레지스터에 저장되지 않은 상태이기 때문에 3번 패킷 변화 레지스터에는 위쪽 슬라이스의 3번 매크로블록의 패킷 변화 신호('0')가 여전히 저장되어 있다. 3번 이상의 패킷 변화 레지스터(4번, 5번, …)에도 역시 위쪽 슬라이스의 매크로블록에 대한 패킷 변화 신호가 저장되어 있다. 따라서, 패킷 변화 레지스터에 저장되어 있는 값은 0번 레지스터부터 차례로 '000010000000000000000'이 된다.
선택 신호는 현재 3번 매크로블록에 대한 작업을 진행중이므로 '1110111111111111111111'가 된다.
각 AND 게이트(520)에서는 선택신호의 각각과 패킷 변화 레지스터의 값 각각이 한 조를 이루어 입력되어 AND 연산을 수행한 값이 출력되며, 그림에서 보듯이 4번 매크로블록에 해당하는 AND 게이트의 출력만이 하이로 되고, 나머지는 모두 로우로 된다.
제1 OR 게이트(530)에서는 AND 게이트의 출력들을 입력으로 하여 OR 연산을 하며, 이 경우와 같이 어느 하나의 입력이라도 하이('1')인 경우에는 하이(high)가 출력된다.
제2 OR 게이트(540)에서는 제1 OR 게이트(530)의 출력(하이)과 패킷 변화 신호값을 입력으로 하여 OR 연산을 하며, 이 연산값은 위쪽에 인접한 매크로블록과 현재 매크로블록이 동일한 패킷에 속하는지를 판단하기 위한 값이 된다. 그림에서 보듯이 제2 OR 게이트(540)의 출력값은 하이('1')가 되며 현재 매크로블록(아래쪽의 3번 매크로블록)과 위쪽 매크로블록은 서로 다른 패킷에 속하는 것을 나타낸다.
이 신호는 현재 패킷 변화 신호가 입력된 클록보다 한 클록 지연된 제2클록(mbh_set_tmp2)에서 외부로 출력된다.
제3 OR 게이트(550)에서는 제2 OR 게이트(540)의 출력(하이)과 현재 매크로블록에 해당하는 패킷 변화 레지스터 값, 즉 위쪽 매크로블록의 패킷 변화 신호값을 입력으로 하여 OR 연산을 하며, 이 연산값은 좌상쪽에 인접한 매크로블록과 현재 매크로블록이 동일한 패킷에 속하는지를 판단하기 위한 값이 된다. 그림에서 보듯이 제3 OR 게이트의 출력값은 하이('1')가 되며 현재 매크로블록(아래쪽의 3번 매크로블록)과 좌상쪽 매크로블록(위쪽의 2번 매크로블록)은 서로 다른 패킷에 속하는 것을 나타낸다.
이 신호는 패킷 변화 신호가 입력된 클록보다 한 클록 지연된 클록(mbh_set_tmp3)에서 외부로 출력된다.
도 6c는 아래쪽 슬라이스(620)의 4번 매크로블록에 대한 예측작업을 진행중인 경우의 동작을 나타낸 표이다.
4번 매크로블록에서는 패킷의 변화가 일어나지 않으므로 패킷 변화 신호는 로우(low)로 입력되며, 현재 패킷 변화 신호가 입력되는 제1클록(mbh_set_tmp)에서는 현재 매크로블록의 패킷 변화 신호가 패킷 변화 레지스터에 저장되지 않은 상태이기 때문에 4번 패킷 변화 레지스터에는 위쪽 슬라이스(610)의 4번 매크로블록의 패킷 변화 신호('1')가 여전히 저장되어 있다. 4번 이상의 패킷 변화 레지스터(5번, 6번, …)에도 역시 위쪽 슬라이스(610)의 매크로블록에 대한 패킷 변화 신호가 저장되어 있다. 따라서, 패킷 변화 레지스터에 저장되어 있는 값은 0번 레지스터부터 차례로 '0000100000000000000000'이 된다.
선택 신호는 현재 4번 매크로블록에 대한 작업을 진행중이므로 '1111011111111111111111'이 된다.
각 AND 게이트에서는 선택신호의 각각과 패킷 변화 레지스터의 값 각각이 한 조를 이루어 입력되어 AND 연산을 수행한 값이 출력되며, 그림에서 보듯이 모든 AND 게이트의 출력이 로우(low)로 된다.
제1 OR 게이트(530)에서는 AND 게이트의 출력들을 입력으로 하여 OR 연산을 하며, 모든 AND 게이트의 출력이 로우(low)이므로 제1 OR 게이트(530)의 출력도 로우(low)가 된다.
제2 OR 게이트(540)에서는 제1 OR 게이트(530)의 출력(로우)과 패킷 변화 신호값(로우)을 입력으로 하여 OR 연산을 하며, 이 연산값은 위쪽에 인접한 매크로블록과 현재 매크로블록이 동일한 패킷에 속하는지를 판단하기 위한 값이 된다. 그림에서 보듯이 제2 OR 게이트(540)의 출력값은 로우('0')가 되며 현재 매크로블록(아래쪽의 4번 매크로블록)과 위쪽 매크로블록은 서로 같은 패킷에 속하는 것을 나타낸다.
이 신호는 패킷 변화 신호가 입력된 클록보다 한 클록 지연된 제2클록(mbh_set_tmp2)에서 외부로 출력된다.
제3 OR 게이트(550)에서는 제2 OR 게이트(540)의 출력(로우)과 현재 매크로 블록에 해당하는 패킷 변화 레지스터 값, 즉 위쪽 슬라이스(610)의 4번 매크로블록의 패킷 변화 신호값(하이)을 입력으로 하여 OR 연산을 하며, 이 연산값은 좌상측에 인접한 매크로블록과 현재 매크로블록이 동일한 패킷에 속하는지를 판단하기 위한 값이 된다. 그림에서 보듯이 제3 OR 게이트(550)의 출력값은 하이('1')가 되며 현재 매크로블록(아래쪽의 4번 매크로블록)과 좌상측 매크로블록(위쪽의 3번 매크로블록)은 서로 다른 패킷에 속하는 것을 나타낸다.
이 신호는 패킷 변화 신호가 입력된 클록보다 한 클록 지연된 제2클록(mbh_set_tmp2)에서 외부로 출력된다.
도6d는 아래쪽 슬라이스의 5번 매크로블록에 대한 예측작업을 진행중인 경우의 동작을 나타낸 표이다.
5번 매크로블록에서 패킷의 변화가 일어나므로 패킷 변화 신호는 하이(high)로 입력되며, 패킷 변화 신호가 입력되는 제1클록(mbh_set_tmp)에서는 현재 매크로블록의 패킷 변화 신호가 패킷 변화 레지스터에 저장되지 않은 상태이기 때문에 5번 패킷 변화 레지스터에는 위쪽 슬라이스(610)의 5번 매크로블록의 패킷 변화 신호('0')가 여전히 저장되어 있다. 5번 이상의 패킷 변화 레지스터(6번, 7번, …)에도 역시 위쪽 슬라이스(610)의 매크로블록에 대한 패킷 변화 신호가 저장되어 있다. 따라서, 패킷 변화 레지스터에 저장되어 있는 값은 0번 레지스터부터 차례로 '000010000000000000000'이 된다.
선택신호는 현재 5번 매크로블록에 대한 작업을 진행중이므로 '1111101111111111111111'이 된다.
각 AND 게이트에서는 선택신호의 각각과 패킷 변화 레지스터의 값 각각이 한 조를 이루어 입력되어 AND 연산을 수행한 값이 출력되며, 그림에서 보듯이 4번 매크로블록에 해당하는 AND 게이트의 출력만이 하이로 되고, 나머지는 모두 로우로 된다.
제1 OR 게이트(530)에서는 AND 게이트의 출력들을 입력으로 하여 OR 연산을하며, 이 경우와 같이 어느 하나의 입력이라도 하이('1')인 경우에는 하이(high)가 출력된다.
제2 OR 게이트(540)에서는 제1 OR 게이트(530)의 출력(하이)과 패킷 변화 신호값(하이)을 입력으로 하여 OR 연산을 하며, 이 연산값은 위쪽에 인접한 매크로블록과 현재 매크로블록이 동일한 패킷에 속하는지를 판단하기 위한 값이 된다. 그림에서 보듯이 제2 OR 게이트의 출력값은 하이('1')가 되며 현재 매크로블록(아래쪽의 5번 매크로블록)과 위쪽 매크로블록은 서로 다른 패킷에 속하는 것을 나타낸다.
이 신호는 현재 패킷 변화 신호가 입력된 클록보다 한 클록 지연된 제2클록(mbh_set_tmp2)에서 외부로 출력된다.
제3 OR 게이트(550)에서는 제2 OR 게이트(540)의 출력(하이)과 현재 매크로 블록에 해당하는 패킷 변화 레지스터 값, 즉 위쪽 매크로블록의 패킷 변화 신호값(로우)을 입력으로 하여 OR 연산을 하며, 이 연산값은 좌상쪽에 인접한 매크로블록과 현재 매크로블록이 동일한 패킷에 속하는지를 판단하기 위한 값이 된다. 그림에서 보듯이 제3 OR 게이트(550)의 출력값은 하이('1')가 되며 현재 매크로블록(아래쪽의 5번 매크로블록)과 좌상쪽 매크로블록(위쪽의 4번 매크로블록)은 서로 다른 패킷에 속하는 것을 나타낸다.
이 신호는 패킷 변화 신호가 입력된 클록보다 한 클록 지연된 제2클록(mbh_set_tmp2)에서 외부로 출력된다.
상기와 같은 방법을 이용한 패킷 변화 검출 로직은 각 매크로블록마다 패킷번호를 저장하기 위하여 22 개의 9비트 짜리 레지스터를 쓴 것에 비하여 많은 양의 회로면적을 줄일 수 있다.
도 7은 본 발명의 예측기본값 제공부(420) 중 예측메모리를 나타낸 블록도이다.
예측메모리는 횡방향 메모리부(710), 좌상방향 메모리부(720) 및 횡방향 메모리부(730)로 구성되어 있다.
횡방향 메모리부(710)는 화면을 구성하는 하나의 슬라이스의 색차 신호 블록의 수평 DCT 성분과 하나의 슬라이스를 구성하는 상부 휘도 신호 블록 또는 하부 휘도 신호 블록 중의 어느 하나의 휘도 신호 블록의 수평 DCT 성분을 저장할 수 있는 저장영역을 갖는다.
CIF에서 화면을 구성하는 하나의 슬라이스는 22개의 매크로블록으로 구성되어 있으며, 각 매크로블록은 4개의 8x8 휘도 신호(Y) 블록과 2개의 8x8 색차 신호(Cb, Cr) 블록으로 구성되어 있으며, 이 중 휘도 신호 블록은 도 8에 도시된 바와 같이 0번 및 1번 블록으로 구성된 상부 휘도 신호 블록(803, 804, 805, 806) 및 2번 및 3번 블록으로 구성된 하부 휘도 신호 블록(801, 802, 807, 808, 809, 810)으로 구성되며, 횡방향 메모리부(710)에는 상부 휘도 신호 블록 또는 하부 휘도 신호 블록의 제1행의 DCT 성분을 저장할 수 있는 저장영역이 구비되며, 색차 신호(Cb, Cr) 블록을 위해 색차 신호 블록의 제1행의 DCT 성분을 저장할 수 있는 저장영역이 구비된다.
즉, 횡방향 메모리부(710)에는 8(하나의 블록의 1행의 DCT 성분 수) x 22(하나의 슬라이스의 총 매크로블록 수) x 2(하나의 매크로블록의 상부 또는 하부 휘도 블록을 구성하는 수) = 352 개의 휘도 신호를 위한 저장영역이 구비되어 있으며, 8(하나의 블록의 1행의 DCT 성분 수) x 22(하나의 슬라이스의 총 매크로블록 수) x 2(Cb 신호 블록, Cr 신호 블록) = 352 개의 색차 신호를 위한 저장영역이 구비되어 있고, 하나의 DCT 성분에 대해 12비트가 할당되므로, 총 704 x 12의 저장영역이 할당되어 있다.
종방향 메모리부(730)에는 하나의 슬라이스를 구성하는 하나의 열을 나타내는 수직 DCT 성분을 저장할 수 있는 저장영역을 구비하고 있다. 따라서, 8(하나의 블록의 1열의 DCT 성분 수) x 4(상부 휘도 신호 블록, 하부 휘도 신호 블록, Cb 신호 블록, Cr 신호 블록) = 32개의 저장영역을 구비하고 있다.
좌상방향 메모리부(730)는 예측작업을 수행하는 현재 블록의 좌상측에 위치한 블록의 DC 성분을 저장할 수 있는 저장영역을 갖는다. 본 발명에서는 총 6개의 저장영역만을 구비하면 된다.
종래에는 횡방향 메모리부에 현재 블록의 상측에 위치한 블록의 DCT 성분을 저장하고, 현재 블록의 예측작업이 수행될 때마다 현재 블록의 DCT 성분을 횡방향 메모리부의 상측 블록이 저장된 위치에 대체하여 저장하였기 때문에 현재 블록의 좌상측에 위치한 블록의 DC 성분을 참조하기 위해서는 횡방향 메모리부의 저장영역과 동일한 규모의 저장영역을 구비한 별도의 메모리를 구비하여야만 했었다.
즉, 슬라이스에 대한 예측작업을 수행할 때는 각각의 매크로블록별로 예측이 수행되므로, 도 8에서 R1행과 R2행으로 구성된 슬라이스에 대한 예측작업을 하기위해서는 0번 블록(803), 1번 블록(804), 2번 블록(807), 3번 블록(808), 0번 블록(805), 1번 블록(806), 2번 블록(809), 3번 블록(810)의 순으로 작업이 진행되어야 하므로 3번 블록(808)에 대한 예측작업을 수행할 때에는 좌측의 2번 블록(807)의 DCT 성분이 횡방향 메모리부(710)에 저장되어 있는 좌상측의 0번 블록(803)의 DCT 성분을 대체하여 저장되기 때문에 0번 블록의 DCT 성분을 참조하기 위해서는 별도의 메모리 공간이 확보되어야 한다.
따라서 종래 한 매크로 블록을 처리하는데는 R1 행의 0번(803)과 1번 블록(804)의 처리를 위해서는 위쪽 슬라이스에 존재하는 R0행의 역양자화된 계수값을 보관하는 영역이 필요하고. R2 행의 2번(807) 3번 블록(808)의 처리를 위해서는 현재 매크로블록의 0번(803) 1번 블록(804)의 역양자화 계수 값을 저장하는 영역의 2개의 영역을 가지고 있어야 했다.
그러나, 본 발명에서는 현재 블록의 상측에 위치한 블록의 DC 성분을 횡방향 메모리부(710)로부터 읽어온 후, 이를 좌상방향 메모리부(720)에 저장하여 다음 블록의 예측 작업 수행시 좌상측에 위치한 블록의 DC 성분을 참조할 수 있게 하여 사용되는 메모리의 크기를 현저하게 줄일 수 있다.
도 9는 현재 블록의 상측에 위치한 블록의 DC 성분을 좌상방향 메모리부(720)에 저장하기 위한 표를 나타낸 것이다.
'블록인덱스'는 도 8에 나타난 블록 번호를 나타내는 것으로 블록 번호 4번과 5번은 각각 Cb 신호 블록 및 Cr 신호 블록인 색차 신호 블록에 할당된 것이다.
'상측 DC 성분을 좌상방향 메모리에 저장하는 장소'는 도 7에서 좌상방향 메모리의 저장영역을 표시한 부분(721)의 번호에 해당하는 것으로 도 8에서 0번 블록(803)을 수행할 때에는 횡방향 메모리부(710)로부터 2번 블록(801)의 DCT 성분을 읽어와서 예측을 행하고 그 중 DC 성분을 좌상방향 메모리부(721)의 0번 영역에 저장하면 된다. 나머지 블록에 대해서도 표에 기재된 바와 같은 방법으로 현재 블록의 예측 작업을 수행하면서 읽어온 상측 DC 성분을 좌상방향 메모리부(721)에 저장한다.
'좌상방향 DC 성분을 참조하는 장소'는 현재 블록에 대한 예측작업을 수행하기 위해 참조하여야 하는 좌상측 블록의 DC 성분을 좌상방향 메모리부(721)의 어느 영역에서 읽어와야 하는지를 나타내는 번호이다. 예를 들어, 현재 1번 블록(804)에 대한 예측작업을 수행하고 있다고 하면, 0번 블록(803)의 수행 중에 상측 블록으로 참조한 2번 블록(801)의 DC 성분이 필요하며, 이 값은 0번 블록(803) 수행시 좌상방향 메모리부(721)의 0번 영역에 저장되어 있으므로 여기서 좌상측 블록의 DC 성분을 읽어오면 된다.
도 10을 통하여 더욱 구체적으로 설명하면 다음과 같다.
도 10은 각각 3개의 매크로 블록으로 구성된 슬라이스 2개로 구성된 화면의 배치를 나타낸 것이다. 설명의 편의상 색차 신호 블록은 표시하지 않았으며, 휘도 신호 블록만을 표시한 것이다.
16번 블록을 수행하기 전에 횡방향 메모리부에는 16번 블록의 상측에 위치한 블록(6번 블록)과 상기 상측 블록의 우측에 위치한 블록들(7, 10, 11번 블록)의 DCT 성분이 저장되어 있고, 16번 블록 전에 수행되었던 14 번 블록 및 15번 블록의DCT 성분이 저장되어 있다.
16번 블록의 예측을 시작하면 메모리 제어부(미도시)는 상측의 6번 블록의 DC 성분을 좌상방향 메모리부(LT 메모리, 721)의 0번 위치에 저장하고, 16번 블록의 수직 DCT 성분을 종방향 메모리부(731)에서 동일한 행의 블록인 13번 블록이 저장된 영역에 저장하고, 현재 16번 블록의 수평 DCT 성분을 횡방향 메모릭부(711)의 상측 블록인 6번 블록의 DCT 성분이 저장된 영역에 저장한다.
마찬가지로, 17번 블록의 예측을 시작하면 메모리 제어부(미도시)는 상측의 7번 블록의 DC 성분을 좌상방향 메모리부(LT 메모리, 721)의 1번 위치에 저장하고, 17번 블록의 수직 DCT 성분을 종방향 메모리부(731)에서 동일한 행의 블록인 16번 블록이 저장된 영역에 저장하고, 현재 17번 블록의 수평 DCT 성분을 횡방향 메모릭부(711)의 상측 블록인 7번 블록의 DCT 성분이 저장된 영역에 저장한다.
나머지 블록에 대해서도 도 10b에 나타난 바와 같이 저장하게 된다.
도 11은 부호화시간에 따른 데이터 흐름을 나타낸 것이다.
먼저 '예측메모리 읽기'부분은 좌상방향 메모리부(720)로부터 현재 좌상측에 위치한 블록의 DC 성분(B)을 읽어오고, 종방향 메모리부(730)로부터 현재 블록의 좌측에 위치한 블록의 DC 성분(A)를 읽어와서 '경사도 계산'부분에서 보듯이 좌상측 블록과 좌측 블록의 경사도를 계산한다(Cal A-B).
다음으로 횡방향 메모리부(710)으로부터 상측 블록의 DC 성분(C)을 읽어와서 '경사도 계산'부분에서 보듯이 좌상측 블록과 상측 블록의 경사도를 계산한다(Cal B-C).
이렇게 경사도 계산을 하여
if(|FA[0][0]-FB[0][0]| < |FB[0][0]-FC[0][0]|)
FP[0][0]=FC[0][0]
else
FP[0][0]=FA[0][0]
에 의하여 경사도가 작은 쪽으로 예측방향을 결정한다. 예측방향을 결정하는 단계는 현재 블록값이 입력되기 전 최소한 2클록 전에 시작되어야 한다.
'예측메모리 읽기' 부분에서 각 클록마다 읽어오는 데이터는 블록을 구성하는 DCT 성분을 나타내는 것으로 1번부터 7번까지는 블록의 수평 AC 성분을 나타내는 것으로 횡방향 메모리부(710)에서 읽어 오고, 8번, 16번은 블록의 수직 AC 성분을 나타내는 것으로 종방향 메모리부(730)에서 읽어 온다.
'Q 출력 신호'부분은 부호화 모드의 경우 양자화부(102)로부터 출력된 신호를 나타내는 것으로 현재 예측 작업을 수행중인 블록의 양자화된 DCT 성분이 입력되는 것을 나타내고, '안정화된 Q 출력 신호'부분은 상기 양자화된 DCT 성분을 안정화하기 위해 플립플롭 등을 이용하여 한 클록 지연시킨 출력을 의미한다.
'예측값 저장'부분은 예측작업을 수행한 후 예측메모리에 필요한 데이터를 저장하는 부분으로 'LT save' 부분은 '예측메모리 읽기' 부분에서 읽어온 현재 블록의 상측에 위치한 블록의 DC 값(C)을 좌상방향 메모리에 저장하는 부분이고, '0' 부분은 'Q 출력 신호' 또는 '안정화된 Q 출력 신호'에서 입력된 현재 블록의 양자화된 DC 성분을 역양자화하여 횡방향 메모리부(710) 및 종방향 메모리부(730)에 저장하는 부분이고, '0' 내지 '7'부분은 현재 블록의 양자화된 수평 AC 성분을 역양자화하여 횡방향 메모리부(710)에 저장하는 부분이고, '8' 및 '16' 그리고 도시되지는 않았지만 '24', '32', 40', '48', 56'부분은 현재 블록의 양자화된 수직 AC 성분을 역양자화하여 종방향 메모리부(730)에 저장하는 부분이다.
'dc_ac_start' 신호는 현재 블록의 입력되는 DCT 성분이 DC 성분이면 '하이'로 AC 성분이면 '로우'로 나타난다.
'방향 정보 신호' 부분은 예측 방향을 나타내는 것으로, 예를 들어 현재 블록의 예측 작업을 수행할 때 좌측 블록의 DCT 성분을 기준으로 예측 작업을 수행하면 '하이', 상측 블록의 DCT 성분을 기준으로 예측 작업을 수행하면 '로우'가 되는 식으로 설정할 수 있다.
도 12는 본 발명의 일 실시예를 나타낸 블록선도이다.
먼저 패킷변화 감지부(410)는 도 5에 도시된 것과 같은 구성으로 이루어져 있으며, 현재 예측 작업이 수행중인 매크로블록이 현재 매크로블록의 좌측, 좌상측 또는 상측 매크로블록과 동일한 패킷에 속하는지를 판단하고, 판단한 결과를 예측 기본값 제공부(420)에 제공한다.
예측 기본값 제공부(420)의 MUX(1225)는 패킷변화 감지부(410)의 출력을 받아 인접한 어느 하나의 매크로블록의 패킷이 현재 매크로블록의 패킷과 다른 경우에는 소정의 기본값을 예측 기본값으로 출력한다. 상기 소정의 기본값은 1024로 하는 것이 바람직하다.
인접한 매크로블록의 패킷이 모두 현재 매크로블록의 패킷과 동일한 경우에는 MUX(1221)는 예측메모리로부터 현재 예측 작업을 수행중인 블록의 좌상측, 좌측 및 상측에 위치한 블록의 DC 성분을 각각 좌상방향 메모리부(720), 종방향 메모리부(730) 및 횡방향 메로리부(710)로부터 받아 플립플롭(1226)을 거쳐 각 클록마다 예측방향 결정부(1227)에 제공한다.
예측방향 결정부(1227)는 도 11에서 설명한 바와 같이 각 방향으로 경사도를 구해 경사도가 적은 쪽으로 예측방향을 결정하고 도 11에서와 같이 방향 정보 신호를 출력한다. 이때 결정된 방향은 부호화 장치 및 복호화 장치에서 스캔 방법을 결정하는 팩터(factor)로도 사용된다.
메모리 제어부(1228)는 예측방향 결정부(1227)로부터 방향 정보 신호를 받아서 예측메모리(1224)가 예측방향에 맞는 데이터를 MUX(1225)에 출력하도록 제어한다. 예를 들어, 현재 블록의 좌측에 위치한 블록의 DCT 성분을 기준으로 예측을 행하는 것으로 예측방향이 결정되면, 예측메모리(1224)에서 현재 블록의 좌측에 위치한 블록의 수평 DCT 성분 및 수직 DCT 성분이 출력되도록 예측메모리(1224)를 제어한다.
메모리 제어부(1228)는 또한 현재 블록의 역양자화된 DCT 성분을 플립플롭(1253)로부터 받아 이를 예측메모리(1224)에 저장한다. 메모리 제어부(1228)는 또한 새로운 블록에 대한 예측 작업이 시작되기 적어도 2클록 전에 예측 방향 결정에 필요한 좌상측, 좌측 및 상측 블록의 DC 성분을 출력하도록 예측메모리(1224)를 제어한다.
결정된 예측 방향에 따라 출력된 DCT 성분들은 플립플롭(1226)을 거쳐 예측연산부(430)의 데이터 변환부(1231)에 예측 기본값으로 입력된다.
데이터 변환부(1231)에는 또한 MUX(1223)을 통하여 양자화 값이 입력된다. 상기 양자화 값을 출력하기 위해 MUX(1221)에는 DQP(복호화 양자화 값) 및 QP(부호화 양자화 값)이 입력되며 동작모드가 부호화 또는 복호화인지에 따라 DQP 또는 QP를 출력한다.
출력된 값은 한편으로는 dc_scaler 생성부(1222)로 입력되고, 다른 한편으로는 MUX(1223)에 입력된다. dc_scaler는 DC 성분에 대한 양자화 값으로 QP 또는 DQP를 이용하여 MPEG-4 DIS에 기재된 바에 따라 생성된다.
MUX(1223)는 dc_ac_start 신호가 DC를 나타내는 경우에는 dc_scaler 생성부(1222)에서 출력된 DC 성분에 대한 양자화 값을, AC를 나타내는 경우에는 MUX(1221)로부터 출력된 AC 성분에 대한 양자화 값을 데이터 변환부(1231)에 제공한다.
데이터 변환부(1231)는 플립플롭(1226)으로부터 받은 예측 기본값을 MUX(1223)로부터 받은 양자화 값으로 나누고 반올림하여 양자화된 예측 기본값을 가감산부(1232)로 출력한다.
예측연산부(430)의 가감산부(1232)는 데이터 변환부(1231)로부터 양자화된 예측 기본값을 받고 동작 모드에 따라 부호화 모드인 경우에는 MUX(1203)로부터 양자화부(102)의 출력값을 받고, 복호화 모드인 경우에는 MUX(1203)로부터 양자화 계수 버퍼(202)의 출력값을 받는다.
구체적으로, DC 성분의 예측부호화를 수행하는 경우에는 QFX[0][0] -Fp[0][0]//dc_scaler의 감산 연산을 수행하여 PQFX[0][0]을 출력하고, DC 성분의 예측복호화를 수행하는 경우에는 PQFX[0][0] + Fp[0][0]//dc_scaler의 가산 연산을 수행하여 QFX[0][0]를 출력한다.
여기서 Fp[0][0]//dc_scaler는 데이터 변환부(1221)로부터 출력된 예측의 기본이 되는 블록의 양자화된 DC 성분으로 Fp[0][0]는 예측메모리(1224)에 저장되어 있는 값 또는 소정의 기본값이고, dc_scaler는 dc_scaler 생성부(1222)에 의해서 생성된 값이다.
또한, QFX[0][0]는 현재 블록의 양자화된 DC 성분이고, PQFX[0][0]는 예측연산을 수행된 예측오차를 의미한다.
마찬가지로 AC 성분에 대해서도 복호화 모드에서는
QFX[0][i] = PQFX[0][i] + (QFA[0][i] * QPA)// QPX
부호화 모드에서는
PQFX[0][i] = QFX[0][i] - (QFA[0][i] * QPA)// QPX
의 연산을 수행한다(도 3에서 좌측의 A블록을 기준으로 예측을 수행할 때).
가감산부(1232)로부터 출력된 값은 출력부(440)의 포화부(1241)로 가서 출력되는 결과가 [-2048, 2047] 값내로 되도록 보정된다. 이 포화부(1241)는 MPEG-4에서만 규정된 것이다.
포화부(1241)의 출력값은 플립플롭(1242)를 거쳐 DEMUX(1243)에서 동작모드에 따라 부호화 모드에서는 스캔처리부(104), 복호화 모드에서는 역양자화부(205)로 출력된다.
한편, 부호화 모드에서 가감산부(1232)에 입력되는 신호나 복호화 모드에서 가감산부(1232)에서 출력되는 신호는 모두 양자화된 DCT 성분이고, 예측메모리(1224)에 저장되는 신호는 역양자화된 DCT 성분이므로 현재 블록의 DCT 값을 예측메모리에 저장하기 위해서는 역양자화를 할 필요가 있다.
역양자화부(450)의 MUX(1251)는 부호화 모드인 경우에는 가감산부(1232)의 입력(QFX)을, 복호화 모드인 경우에는 가감산부(1232)의 출력(QFX)을 곱셈부(1252)에 전달한다.
곱셈부(1252)는 MUX(1223)으로부터 양자화 값을 받아서 이 양자화 값과 MUX(1251)의 출력을 곱해서 현재 블록의 양자화된 DCT 성분을 역양자화한다. 현재 블록의 역양자화된 DCT 성분은 플립플롭(1253)을 거쳐 예측메모리(1228)에 저장된다.
도 13은 본 발명의 예측작업을 수행하는 방법을 나타낸 흐름도이다.
먼저 패킷 변화 감지부(410)는 현재 매크로블록에서 패킷이 변화하였는지를 알려주는 현재 패킷변화신호로부터 현재 매크로블록이 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속하는지를 판단하여 예측기본값 제공부(420)에 전달한다(1311).
현재 매크로블록이 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속하는지를 판단하는 과정은 도 14에 도시되어 있다.
먼저 패킷변화 감지부(410)의 디코더(560)는 현재 매크로 블록의 화면상의 X축의 위치값을 알려주는 선택신호를 발생시킨다(1411).
AND 게이트부(520)는 상기 선택신호와 패킷 변화 레지스터(510)에 저장된 값을 입력으로 하여 AND 연산을 수행하고(1412), 제1 OR 게이트(530)는 상기 AND 게이트(520)의 AND 게이트들의 출력들을 입력으로 하여 OR 연산을 수행한다(1413).
플립플롭(571)은 현재 패킷 변화 신호를 받아 한 클록 뒤에 좌측 매크로블록이 현재 매크로블록과 동일한 패킷에 속하는지를 나타내는 제1패킷변화신호를 출력한다(1414).
제2 OR 게이트(540)는 제1 OR 게이트(530)의 출력과 현재 패킷 변화 신호(573)을 입력으로 하여 OR 연산을 수행하고, 현재 매크로 블록이 속하는 패킷과 상측에 위치한 매크로블록이 속하는 패킷이 동일한 패킷인지를 알려주는 제2패킷변화신호를 발생한다(1415).
제3 OR 게이트(550)는 제2 OR 게이트(540)의 출력과 패킷 변화 레지스터(510) 중 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 레지스터(511)에 저장된 값을 입력으로 하여 좌상측 매크로블록이 현재 매크로블록과 동일한 패킷인지를 나타내는 제3패킷변화신호를 출력한다(1416).
예측기본값 제공부(420)는 전달된 신호를 판단하여(1312), 현재 매크로블록이 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속하는 경우, 소정의 기본값을 출력한다(1321). 소정의 기본값은 1024인 것이 바람직하다.
현재 매크로블록이 상기 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 동일한 패킷에 속하는 경우, 예측메모리(1224)로부터 예측기본값을 읽어 온다(1313).
예측메모리(1224)를 제어하여 예측 기본값을 출력하는 과정은 도 15에 나타나 있다.
도 13에서와 마찬가지로 패킷이 변화하였는지를 판단하고(1511), 변화하였다면 소정의 기본값을 예측기본값으로 출력하고(1521), 변화하지 않았다면 예측기본값 제공부(420)의 예측방향 결정부(1227)는 예측메모리의 종방향 메모리로부터 현재 블록의 좌측에 위치한 블록의 DC 성분, 횡방향 메모리로부터 현재 블록의 상측에 위치한 블록의 DC 성분 및 좌상방향 메모리로부터 현재 블록의 좌상측에 위치한 블록의 DC 성분을 읽어와서 경사도가 적은 쪽으로 예측방향을 결정하고(1512), 방향 정보 신호를 출력한다.
결정된 예측방향이 현재 블록의 좌측에 위치한 블록을 기준으로 예측을 해야 하는 경우 메모리 제어부(1228)는 종방향 메모리부(730)에 저장된 값과 현재 블록의 수직 DCT 성분의 차를 기본 예측값으로 출력하고, 결정된 예측방향이 현재 블록의 상측에 위치한 블록을 기준으로 예측을 해야 하는 경우 메모리 제어부(1228)는 횡방향 메모리부(710)에 저장된 상측 블록의 DCT 성분과 현재 블록의 수평 DCT 성분의 차를 기본 예측값으로 출력한다(1513).
예측연산부는 예측기본값 제공부(420)으로부터 받은 예측기본값을 양자화하여 적당한 형태의 데이터로 변환한 후, 예측 장치에 입력되는 신호와 동작 모드가 부호화 모드인 경우에는 감산 연산을 복호화 모드인 경우에는 가산 연산을 수행하여 예측 연산을 수행하고, 그 결과를 출력한다(1314).
가감산부(1232)에 입력되는 신호 또는 가감산부(1232)로부터 출력되는 신호는 양자화된 신호이므로, 현재 블록의 DCT 성분을 예측메모리(1224)에 저장하기 위해서는 역양자화를 하여야 하며, 동작 모드가 부호화 모드인 경우에는 가감산부(1232)에 입력되는 신호를, 복호화 모드인 경우에는 가감산부(1232)로부터 출력되는 신호를 양자화 값을 곱하여 역양자화한다(1315).
역양자화된 현재 블록의 DCT 성분은 메모리 제어부(1228)에 의해 예측메모리(1224)에 저장된다(1316). 메모리 제어부(1228)는 현재 블록의 상측에 위치한 블록의 DC 성분을 상기 좌상방향 메모리부(720)에 저장하고, 현재 블록의 수평 DCT 성분을 횡방향 메모리부(710)에 저장하고, 현재 블록의 수직 DCT 성분을 종방향 메모리부(730)에 저장함으로써 현재 블록의 DCT 성분을 예측메모리(1224)에 저장한다.
상기한 바와 같이, 본 발명의 예측 장치는 패킷 변화를 감지하는 부분과 예측의 기본이 되는 데이터를 저장하는 예측메모리 부분의 크기를 크게 줄일 수 있어, 휴대폰과 같은 소형의 저전력 장치에 적합하며, 본 발명의 예측장치는 부호화 장치뿐만 아니라 복호화 장치에도 공통으로 사용할 수 있다는 장점이 있다.

Claims (32)

  1. 영상신호를 예측부호화 또는 예측복호화하는 장치에 있어서,
    현재 예측작업을 수행하는 블록의 예측에 사용되는 예측기본값이 현재 블록과 동일한 패킷에 속하는지 여부를 판별하는 패킷변화감지부;
    상기 패킷변화감지부의 판별 결과에 따라 예측작업에 이용되는 예측기본값을 제공하는 예측기본값 제공부; 및
    동작 모드에 따라 상기 예측기본값 제공부에서 제공되는 예측기본값과 현재 블록의 DCT(Discrete Cosine Transform) 성분을 이용하여 예측부호화값 또는 예측복호화값을 출력하는 예측연산부;를 포함하는 것을 특징으로 하는 영상신호의 영상신호의 DCT 성분을 예측하는 예측 장치.
  2. 제1항에 있어서, 상기 예측연산부는 동작 모드가 부호화 모드인 경우에는 상기 현재 블록의 DCT 성분과 상기 예측기본값을 감산하는 연산을 하고, 복호화 모드인 경우에는 상기 현재 블록의 DCT성분에서 상기 예측기본값을 가산하는 연산을 하는 것을 특징으로 하는 예측 장치.
  3. 제1항 또는 제2항에 있어서, 상기 예측장치는 동작 모드가 부호화 모드인 경우에는 상기 현재 블록의 DCT 성분을 역양자화하고, 상기 동작 모드가 복호화 모드인 경우에는 상기 예측 연산부에서 출력된 상기 예측복호화값을 역양자화하여 상기 예측기본값 제공부에 제공하는 역양자화부를 더 구비하는 것을 특징으로 하는 예측장치.
  4. 제1항에 있어서, 상기 패킷변화감지부는
    현재 매크로블록에서 패킷이 변화하였는지를 알려주는 현재 패킷변화신호로부터 좌측 매크로블록이 현재 매크로블록과 동일한 패킷에 속하는지를 나타내는 제1패킷변화신호를 출력하는 제1패킷변화신호 출력부;
    화면의 X축을 구성하는 매크로블록의 수에 해당하는 수의 저장영역으로 구성되고, 상기 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 위치에 상기 패킷변화신호를 저장하는 저장부;
    상기 현재 매크로 블록의 화면상의 X축의 위치값을 알려주는 선택신호를 발생시키는 선택신호 발생부;
    상기 선택신호와 상기 저장부에 저장된 값을 이용하여 제1출력값을 연산하는 제1연산부;
    상기 제1출력값과 상기 현재 패킷변화신호를 이용하여 상측 매크로블록이 상기 현재 매크로블록과 동일한 패킷인지를 나타내는 제2패킷변화신호를 출력하는 제2연산부; 및
    상기 제2패킷변화신호와 상기 저장부를 구성하는 저장소 중 상기 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 저장영역에 저장된 값을 이용하여 좌상측 매크로블록이 상기 현재 매크로블록과 동일한 패킷인지를 나타내는 제3패킷변화신호를 출력하는 제3연산부를 포함하는 것을 특징으로 하는 예측장치.
  5. 제4항에 있어서, 상기 현재 패킷변화신호는 상기 패킷변화감지부에 제1클록에 입력되고, 상기 제1, 제2 및 제3패킷변화신호는 제2클록에 출력되고, 상기 패킷변화신호는 제3클록에 상기 저장부를 구성하는 저장소 중 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 저장영역에 저장되고, 상기 제1, 제2 및 제3클록은 순차적으로 발생하는 것을 특징으로 하는 예측장치.
  6. 제4항에 있어서, 상기 저장부를 구성하는 저장영역은 1비트의 레지스터인 것을 특징으로 하는 예측장치.
  7. 제1항에 있어서, 상기 예측기본값 제공부는
    화면을 구성하는 하나의 슬라이스의 색차신호 블록의 수평 DCT 성분과 하나의 슬라이스의 상부 휘도신호 블록 및 하부 휘도신호 블록 중의 어느 하나의 휘도신호 블록의 수평 DCT 성분을 저장할 수 있는 저장영역을 갖는 횡방향 메모리부;
    하나의 슬라이스를 구성하는 수직 DCT 성분 중 어느 하나의 열의 수직 DCT 성분을 저장할 수 있는 저장영역을 갖는 종방향 메모리부;
    예측작업을 수행하는 상기 현재 블록의 좌상측에 위치한 블록의 DC 성분을 저장할 수 있는 저장영역을 갖는 좌상방향 메모리부; 및
    상기 현재 블록의 상측에 위치한 블록의 DC 성분을 상기 좌상방향 메모리부에 저장하고, 상기 현재 블록의 수평 DCT 성분을 상기 횡방향 메모리부에 저장하고, 상기 현재 블록의 수직 DCT 성분을 상기 종방향 메모리부에 저장하는 메모리 제어부를 포함하는 것을 특징으로 하는 예측 장치
  8. 제7항에 있어서, 상기 예측기본값 제공장치는 상기 종방향 메모리부에 저장된 상기 현재 블록의 좌측에 위치한 블록의 DC 성분, 상기 횡방향 메모리부에 저장된 상기 현재 블록의 상측에 위치한 블록의 DC 성분 및 좌상방향 메모리부에 저장된 상기 현재 블록의 좌상측에 위치한 블록의 DC 성분을 이용하여 예측방향을 결정하는 예측방향결정부를 더 포함하는 것을 특징으로 하는 예측장치.
  9. 제8항에 있어서, 상기 예측기본값 제공장치는 상기 예측방향 결정부의 출력에 따라 상기 예측방향이 제1방향인 경우 상기 횡방향 메모리부로부터 상기 현재 블록의 상측에 위치한 블록의 수평 DCT 성분을 상기 연산장치에 제공하고, 상기 예측방향이 제2방향인 경우 상기 종방향 메모리부로부터 상기 현재 블록의 좌측에 위치한 블록의 수직 DCT 성분을 상기 연산장치에 제공하는 예측기본값 제공부를 더 포함하는 것을 특징으로 하는 예측장치.
  10. 제7항에 있어서, 상기 메모리 제어부는
    상기 현재 블록의 수평 DCT 성분을 상기 횡방향 메모리부에서 상기 현재 블록의 상측에 위치한 블록의 수평 DCT 성분을 대체하여 저장하고, 상기 현재 블록의 수직 DCT 성분을 상기 종방향 메모리부에서 상기 현재 블록의 좌측에 위치한 블록의 수직 DCT 성분을 대체하여 저장하는 것을 특징으로 하는 예측장치.
  11. 영상신호의 예측부호화 또는 예측복호화 장치에 있어서,
    현재 매크로블록에서 패킷이 변화하였는지를 알려주는 현재 패킷변화신호로부터 좌측 매크로블록이 상기 현재 매크로블록과 동일한 패킷에 속하는지를 나타내는 제1패킷변화신호를 출력하는 제1패킷변화신호 출력부;
    화면의 X축을 구성하는 매크로블록의 수에 해당하는 수의 저장영역으로 구성되고, 상기 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 위치에 상기 현재 패킷변화신호를 저장하는 저장부;
    상기 현재 매크로 블록의 화면상의 X축의 위치값을 알려주는 선택신호를 발생시키는 선택신호 발생부;
    상기 선택신호와 상기 저장부에 저장된 값을 이용하여 제1출력값을 연산하는 연산부;
    상기 제1출력값과 상기 현재 패킷변화신호를 이용하여 상측 매크로블록이 상기 현재 매크로블록과 동일한 패킷인지를 나타내는 제2패킷변화신호를 출력하는 제2연산부; 및
    상기 제2패킷변화신호와 상기 저장부를 구성하는 저장소 중 상기 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 저장소에 저장된 값을 이용하여 좌상측 매크로블록이 상기 현재 매크로블록과 동일한 패킷인지를 나타내는 제3패킷변화신호를 출력하는 제3연산부를 포함하는 것을 특징으로 하는 패킷변화감지장치.
  12. 제11항에 있어서, 상기 저장부를 구성하는 저장영역은 1비트의 레지스터인것을 특징으로 하는 패킷변화감지장치.
  13. 제11항에 있어서, 상기 현재 패킷변화신호는 상기 패킷변화감지부에 제1클록에 입력되고, 상기 제1, 제2 및 제3패킷변화신호는 제2클록에 출력되고, 상기 패킷변화신호는 제3클록에 상기 저장부를 구성하는 저장소 중 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 저장영역에 저장되고, 상기 제1, 제2 및 제3클록은 순차적으로 발생하는 것을 특징으로 하는 패킷변화감지장치.
  14. 제11항에 있어서, 상기 제1연산부는
    상기 복수개의 저장소 각각에 대응되는 복수개의 AND 게이트; 및
    상기 AND 게이트의 출력을 입력으로 하여 OR 연산을 하는 OR 게이트로 구성되고,
    상기 AND 게이트는 상기 대응되는 저장영역에 저장된 값과 상기 선택신호 중 대응되는 비트를 입력으로 하여 AND 연산을 수행하는 것을 특징으로 하는 패킷변화감지장치
  15. 영상신호의 예측부호화 또는 예측복호화를 위한 예측기본값을 예측을 행하는 연산 장치에 제공하기 위한 장치에 있어서,
    화면을 구성하는 하나의 슬라이스의 색차신호 블록의 수평 DCT 성분과 하나의 슬라이스를 구성하는 상부 휘도신호 블록 또는 하부 휘도신호 블록 중의 어느하나의 휘도신호 블록의 수평 DCT 성분을 저장할 수 있는 저장영역을 갖는 횡방향 메모리부;
    하나의 슬라이스를 구성하는 하나의 열을 나타내는 수직 DCT 성분을 저장할 수 있는 저장영역을 갖는 종방향 메모리부;
    예측작업을 수행하는 현재 블록의 좌상측에 위치한 블록의 DC 성분을 저장할 수 있는 저장영역을 갖는 좌상방향 메모리부; 및
    상기 현재 블록의 상측에 위치한 블록의 DC 성분을 상기 좌상방향 메모리부에 저장하고, 상기 현재 블록의 수평 DCT 성분을 상기 횡방향 메모리부에 저장하고, 상기 현재 블록의 수직 DCT 성분을 상기 종방향 메모리부에 저장하는 메모리 제어부를 포함하는 것을 특징으로 하는 예측기본값 제공장치
  16. 제15항에 있어서, 상기 횡방향 메모리부는 상기 상부 휘도신호 블록의 DCT 성분과 이에 대응되는 하부 휘도신호 블록의 DCT 성분에 대해서 동일한 어드레스를 할당하는 것을 특징으로 하는 예측기본값 제공장치
  17. 제15항에 있어서, 상기 예측기본값 제공장치는 상기 종방향 메모리부에 저장된 상기 현재 블록의 좌측에 위치한 블록의 DC 성분, 상기 횡방향 메모리부에 저장된 상기 현재 블록의 상측에 위치한 블록의 DC 성분 및 좌상방향 메모리부에 저장된 상기 현재 블록의 좌상측에 위치한 블록의 DC 성분을 이용하여 예측방향을 결정하는 예측방향결정부를 더 포함하는 것을 특징으로 하는 예측기본값 제공장치.
  18. 제15항에 있어서, 상기 예측기본값 제공장치는 예측의 방향을 결정하는 예측방향 결정부를 더 포함하고, 예측방향 결정부의 출력에 따라 상기 예측방향이 제1방향인 경우 상기 횡방향 메모리부로부터 상기 현재 블록의 상측에 위치한 블록의 수평 DCT 성분을 상기 연산장치에 제공하고, 상기 예측방향이 제2방향인 경우 상기 종방향 메모리부로부터 상기 현재 블록의 좌측에 위치한 블록의 수직 DCT 성분을 상기 연산장치에 제공하는 예측기본값 제공부를 더 포함하는 것을 특징으로 하는 예측기본값 제공장치.
  19. 제18항에 있어서, 상기 예측 기본값 제공장치는 현재 매크로블록이 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속하는지를 판단하는 패킷변화 감지부를 더 포함하고,
    상기 예측기본값 제공부는 상기 패킷변화 감지부의 출력이 현재 매크로블록이 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속한다는 신호를 출력하는 경우 상기 연산장치에 소정의 기본값을 제공하는 것을 특징으로 하는 예측기본값 제공장치
  20. 제15항에 있어서, 상기 예측 기본값 제공장치는
    현재 매크로블록에서 패킷이 변화하였는지를 알려주는 현재 패킷변화신호로부터 좌측 매크로블록이 현재 매크로블록과 동일한 패킷인지를 나타내는 제1패킷변화신호를 출력하는 제1패킷변화신호 출력부;
    화면의 X축을 구성하는 매크로블록의 수에 해당하는 수의 저장소로 구성된 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 위치에 상기 현재 패킷변화신호를 저장하는 저장부;
    현재 매크로 블록의 화면상의 X축의 위치값을 알려주는 선택신호를 발생시키는 선택신호 발생부;
    상기 선택신호와 상기 저장부에 저장된 값을 이용하여 제1출력값을 연산하는 연산부;
    상기 제1출력값과 상기 현재 패킷변화신호를 이용하여 상측 매크로블록이 현재 매크로블록과 동일한 패킷인지를 나타내는 제2패킷변화신호를 출력하는 제2연산부; 및
    상기 제2패킷변화신호와 상기 저장부를 구성하는 저장소 중 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 저장소에 저장된 값을 이용하여 좌상측 매크로블록이 상기 현재 매크로블록과 동일한 패킷인지를 나타내는 제3패킷변화신호를 출력하는 제3연산부;를 포함하는 패킷변화 감지부를 더 포함하는 것을 특징으로 하는 예측기본값 제공장치.
  21. 제15항에 있어서, 상기 횡방향 메모리부는 352개의 휘도신호 저장영역과 352개의 색차신호 저장영역으로 구성되어 있고, 상기 좌상방향 메모리부는 4개의 휘도신호 저장영역과 2개의 색차신호 저장영역으로 구성되어 있고, 상기 종방향 메모리부는 2개의 휘도신호 저장영역과 2개의 색차신호 저장영역으로 구성되어 있는 것을 특징으로 하는 예측기본값 제공장치
  22. 제15항에 있어서, 상기 메모리 제어부는
    상기 현재 블록의 수평 DCT 성분을 상기 횡방향 메모리부에서 상기 현재 블록의 상측에 위치한 블록의 수평 DCT 성분을 대체하여 저장하고, 상기 현재 블록의 수직 DCT 성분을 상기 종방향 메모리부에서 상기 현재 블록의 좌측에 위치한 블록의 수직 DCT 성분을 대체하여 저장하는 것을 특징으로 하는 예측기본값 제공장치.
  23. 화면을 구성하는 하나의 슬라이스의 수평 DCT 성분을 저장할 수 있는 저장영역을 갖는 횡방향 메모리부, 수직 DCT 성분을 저장할 수 있는 저장영역을 갖는 종방향 메모리부 및 예측작업을 수행하는 현재 블록의 좌상측에 위치한 블록의 DC 성분을 저장할 수 있는 저장영역을 갖는 좌상방향 메모리부를 포함하는 예측메모리를 이용하여 영상신호를 예측부호화 또는 예측복호화하는 방법에 있어서,
    (a) 현재 매크로블록에서 패킷이 변화하였는지를 알려주는 현재 패킷변화신호로부터 상기 현재 매크로블록이 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속하는지를 판단하는 단계;
    (b) 상기 현재 매크로블록이 상기 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 동일한 패킷에 속하는 경우, 예측메모리의 종방향 메모리부에 저장된 현재 블록의 좌측에 위치한 블록의 DC 성분, 횡방향메모리부에 저장된 현재 블록의 상측에 위치한 블록의 DC 성분 및 좌상방향 메모리부에 저장된 현재 블록의 좌상측에 위치한 블록의 DC 성분을 이용하여 예측방향을 결정하는 단계;
    (c) 상기 예측방향이 제1방향인 경우 상기 종방향메모리부에 저장된 값과 상기 현재 블록의 수직 DCT 성분을 이용해서 예측출력값을 출력하고, 상기 예측방향이 제2방향인 경우 상기 횡방향메모리부에 저장된 값과 상기 현재 블록의 수평 DCT 성분을 이용해서 예측출력값을 출력하는 단계;
    (d) 상기 현재 매크로블록이 상기 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속하는 경우, 소정의 기본값을 출력하는 단계;
    (e) 상기 (c) 단계의 예측 출력값 또는 상기 (d) 단계의 소정의 기본값과 상기 현재 블록의 DCT 성분을 이용하여 예측연산을 수행하는 단계; 및
    (f) 상기 현재 블록의 DCT 성분을 상기 예측메모리에 저장하는 단계;를 포함하는 것을 특징으로 하는 영상신호의 예측 방법
  24. 제23항에 있어서, 상기 (a) 단계는
    (aa) 상기 현재 매크로 블록의 화면상의 X축의 위치값을 알려주는 선택신호를 발생시키는 단계;
    (ab) 상기 화면의 X축을 구성하는 매크로블록의 수에 해당하는 수의 저장영역으로 구성되고, 상기 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 위치에 상기 현재 패킷변화신호를 저장하는 저장부에 저장된 값과 상기 선택신호를 이용하여 제1출력값을 출력하는 단계;
    (ac) 상기 현재 매크로블록에서 패킷이 변화하였는지를 알려주는 패킷변화신호로부터 좌측 매크로블록이 상기 현재 매크로블록과 동일한 패킷에 속하는지를 나타내는 제1패킷변화신호를 출력하는 단계;
    (ad) 상기 제1출력값과 상기 패킷변화신호를 이용하여 상기 상측 매크로블록이 상기 현재 매크로블록과 동일한 패킷인지를 나타내는 제2패킷변화신호를 출력하는 단계; 및
    (ae) 상기 제2패킷변화신호와 상기 저장부를 구성하는 저장영역 중 상기 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 저장영역에 저장된 값을 이용하여 상기 좌상측 매크로블록이 상기 현재 매크로블록과 동일한 패킷인지를 나타내는 제3패킷변화신호를 출력하는 단계;를 포함하는 것을 특징으로 하는 영상신호의 예측 방법
  25. 제23항에 있어서, 상기 (f) 단계는
    상기 현재 블록의 상측에 위치한 블록의 DC 성분을 상기 좌상방향 메모리부에 저장하고, 상기 현재 블록의 수평 DCT 성분을 상기 횡방향 메모리부에 저장하고, 상기 현재 블록의 수직 DCT 성분을 상기 종방향 메모리부에 저장하는 것을 특징으로 하는 영상신호의 예측방법.
  26. 영상신호의 예측부호화 또는 예측복호화를 위하여 화면의 X축을 구성하는 매크로블록의 수에 해당하는 수의 저장영역으로 구성된 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 위치에 상기 패킷변화신호를 저장하는 저장부를 구비하고, 현재 매크로블록이 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속하는지를 판단하여 예측기본값을 제공하는 방법에 있어서,
    (a) 상기 현재 매크로 블록의 화면상의 X축의 위치값을 알려주는 선택신호를 발생시키는 단계;
    (b) 상기 선택신호와 상기 저장부에 저장된 값을 이용하여 제1출력값을 출력하는 단계;
    (c) 상기 현재 매크로블록에서 패킷이 변화하였는지를 알려주는 현재 패킷변화신호로부터 상기 좌측 매크로블록이 상기 현재 매크로블록과 동일한 패킷에 속하는지를 나타내는 제1패킷변화신호를 출력하는 단계;
    (d) 상기 제1출력값과 상기 현재 패킷변화신호를 이용하여 상기 상측 매크로블록이 상기 현재 매크로블록과 동일한 패킷인지를 나타내는 제2패킷변화신호를 출력하는 단계;
    (e) 상기 제2패킷변화신호와 상기 저장부를 구성하는 저장영역 중 상기 현재 매크로블록의 화면의 X축에서의 위치에 상당하는 저장영역에 저장된 값을 이용하여 상기 좌상측 매크로블록이 상기 현재 매크로블록과 동일한 패킷인지를 나타내는 제3패킷변화신호를 출력하는 단계;
    (f) 상기 제1패킷변화신호, 제2패킷변화신호 또는 제3패킷변화신호가 상기 현재 매크로블록이 대비되는 매크로블록과 다른 패킷에 속한다는 출력을 나타내는 경우 소정의 기본값을 예측기본값으로 출력하는 단계; 및
    (g) 상기 제1패킷변화신호, 제2패킷변화신호 또는 제3패킷변화신호가 상기 현재 매크로블록이 대비되는 매크로블록과 동일한 패킷에 속한다는 출력을 나타내는 경우 상기 예측기본값을 소정의 예측메모리로부터 읽어와 출력하는 단계;를 포함하는 것을 특징으로 하는 패킷변화신호를 이용하여 제공되는 예측기본값을 결정하는 방법.
  27. 제26항에 있어서, 상기 예측메모리는 화면을 구성하는 하나의 슬라이스의 수평 DCT 성분을 저장할 수 있는 저장영역을 갖는 횡방향 메모리부, 수직 DCT 성분을 저장할 수 있는 저장영역을 갖는 종방향 메모리부 및 예측작업을 수행하는 현재 블록의 좌상측에 위치한 블록의 DC 성분을 저장할 수 있는 저장영역을 갖는 좌상방향 메모리부를 포함하고,
    상기 (g) 단계는
    (ga) 상기 종방향 메모리부로부터 상기 현재 블록의 좌측에 위치한 블록의 DC 성분, 상기 횡방향 메모리부로부터 상기 현재 블록의 상측에 위치한 블록의 DC 성분 및 좌상방향 메모리부로부터 상기 현재 블록의 좌상측에 위치한 블록의 DC 성분을 읽어와서 예측방향을 결정하는 단계; 및
    (gb) 상기 예측방향이 제1방향인 경우 상기 횡방향 메모리부로부터 상기 현재 블록의 상측에 위치한 블록의 수평 DCT 성분을 예측기본값으로 출력하고, 상기 예측방향이 제2방향인 경우 상기 종방향 메모리부로부터 상기 현재 블록의 좌측에 위치한 블록의 수직 DCT 성분을 상기 예측기본값으로 출력하는 단계;를 포함하는것을 특징으로 하는 패킷변화신호를 이용하여 예측기본값을 결정하는 방법.
  28. 제27항에 있어서, 상기 (g) 단계는
    (gc) 상기 현재 블록의 상측에 위치한 블록의 DC 성분을 상기 좌상방향 메모리부에 저장하고, 상기 현재 블록의 수평 DCT 성분을 상기 횡방향 메모리부에 저장하고, 상기 현재 블록의 수직 DCT 성분을 상기 종방향 메모리부에 저장하는 단계;를 더 포함하는 것을 특징으로 하는 패킷변화신호를 이용하여 예측기본값을 결정하는 방법.
  29. 화면을 구성하는 하나의 슬라이스의 수평 DCT 성분을 저장할 수 있는 저장영역을 갖는 횡방향 메모리부, 수직 DCT 성분을 저장할 수 있는 저장영역을 갖는 종방향 메모리부 및 예측작업을 수행하는 현재 블록의 좌상측에 위치한 블록의 DC 성분을 저장할 수 있는 저장영역을 갖는 좌상방향 메모리부를 포함하는 예측메모리를 이용하여 영상신호를 예측부호화 또는 예측복호화하는 방법에 있어서,
    (a) 상기 현재 블록의 상측에 위치한 블록의 DC 성분을 상기 좌상방향 메모리부에 저장하고, 상기 현재 블록의 수평 DCT 성분을 상기 횡방향 메모리부에 저장하고, 상기 현재 블록의 수직 DCT 성분을 상기 종방향 메모리부에 저장하는 단계;를 포함하는 것을 특징으로 하는 예측메모리를 제어하는 방법
  30. 제29항에 있어서, 상기 예측메모리를 제어하는 방법은
    (b) 상기 종방향 메모리부로부터 상기 현재 블록의 좌측에 위치한 블록의 DC 성분, 상기 횡방향 메모리부로부터 상기 현재 블록의 상측에 위치한 블록의 DC 성분 및 좌상방향 메모리부로부터 상기 현재 블록의 좌상측에 위치한 블록의 DC 성분을 읽어와서 예측방향을 결정하는 단계; 및
    (c) 상기 예측방향이 제1방향인 경우 상기 횡방향 메모리부부로부터 상기 현재 블록의 상측에 위치한 블록의 수평 DCT 성분을 예측기본값으로 출력하고, 상기 예측방향이 제2방향인 경우 상기 종방향 메모리부로부터 상기 현재 블록의 좌측에 위치한 블록의 수직 DCT 성분을 상기 예측기본값으로 출력하는 단계;를 더 포함하는것을 특징으로 하는 예측메모리를 제어하는 방법.
  31. 제29항에 있어서, 상기 예측메모리를 제어하는 방법은
    (d) 상기 현재 매크로블록에서 패킷이 변화하였는지를 알려주는 패킷변화신호로부터 상기 현재 매크로블록이 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속하는지를 판단하는 단계;
    (e) 상기 현재 매크로블록이 현재 매크로 블록의 좌측, 좌상측 또는 상측에 위치한 매크로블록이 속하는 패킷과 다른 패킷에 속하는 경우, 상기 예측 기본값을 소정의 기본값을 출력하는 단계;를 더 포함하는 것을 특징으로 하는 예측메모리를제어하는 방법.
  32. 제23항 내지 제31항 중 어느 한 항에 기재된 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-2001-0085034A 2001-12-26 2001-12-26 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법 KR100454501B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2001-0085034A KR100454501B1 (ko) 2001-12-26 2001-12-26 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법
US10/098,213 US7010168B2 (en) 2001-12-26 2002-03-15 Apparatus for prediction coding or decoding image signal and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0085034A KR100454501B1 (ko) 2001-12-26 2001-12-26 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20030055479A true KR20030055479A (ko) 2003-07-04
KR100454501B1 KR100454501B1 (ko) 2004-10-28

Family

ID=19717595

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0085034A KR100454501B1 (ko) 2001-12-26 2001-12-26 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법

Country Status (2)

Country Link
US (1) US7010168B2 (ko)
KR (1) KR100454501B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100451257B1 (ko) * 2001-11-06 2004-10-06 (주)씨앤에스 테크놀로지 Mpeg-4에 있어서 이산여현변환된 ac/dc 계수의복원회로 및 방법
KR101108681B1 (ko) * 2005-01-19 2012-01-25 삼성전자주식회사 동영상 코덱에서의 주파수 변환 계수 예측 방법 및 장치,이를 구비한 부호화 및 복호화 장치와 방법
US8170104B2 (en) 2003-11-10 2012-05-01 Samsung Electronics Co., Ltd. Apparatus and method for motion vector prediction

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4130780B2 (ja) * 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
US20050232350A1 (en) * 2004-03-30 2005-10-20 Mana Hamada Inverse prediction apparatus and decoding apparatus using the same
JP4502203B2 (ja) * 2005-03-17 2010-07-14 ルネサスエレクトロニクス株式会社 画像符号化装置、及び画像復号化装置
KR100873636B1 (ko) 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치
WO2007081189A1 (en) * 2006-01-16 2007-07-19 Electronics And Telecommunications Research Institute Method and apparatus for selective inter-layer prediction on macroblock basis
US8693549B2 (en) * 2006-01-16 2014-04-08 Electronics And Telecommunications Research Institute Method and apparatus for selective inter-layer prediction on macroblock basis
JP4621629B2 (ja) * 2006-05-25 2011-01-26 株式会社東芝 画像復号装置
KR20100079121A (ko) * 2008-12-30 2010-07-08 주식회사 동부하이텍 이미지 인코더 및 이미지 인코딩 방법
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
US10368090B2 (en) 2011-04-25 2019-07-30 Lg Electronics Inc. Intra-prediction method, and encoder and decoder using same
WO2013129585A1 (ja) * 2012-02-29 2013-09-06 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
CN103281538B (zh) * 2013-06-06 2016-01-13 上海交通大学 基于滚动哈希和块级别帧内预测的帧内编码方法
CN104780379B (zh) * 2015-01-21 2018-03-09 北京工业大学 一种屏幕图像集合的压缩方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623311A (en) * 1994-10-28 1997-04-22 Matsushita Electric Corporation Of America MPEG video decoder having a high bandwidth memory
CN1143551C (zh) 1996-05-28 2004-03-24 松下电器产业株式会社 图像预测解码装置
JPH11510989A (ja) * 1996-06-05 1999-09-21 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 符号化ディジタルビデオ信号を復号化する方法および装置
JPH1174868A (ja) * 1996-09-02 1999-03-16 Toshiba Corp 情報伝送方法およびその方法が適用される情報伝送システムにおける符号化装置/復号化装置、並びに符号化・多重化装置/復号化・逆多重化装置
US6005622A (en) 1996-09-20 1999-12-21 At&T Corp Video coder providing implicit or explicit prediction for image coding and intra coding of video
US5974184A (en) 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
TW398131B (en) * 1997-06-20 2000-07-11 Matsushita Electric Ind Co Ltd The image process method, the image process device and the data memory medium
EP0923243B1 (en) * 1997-07-25 2010-09-15 Sony Corporation Editing device, editing method, splicing device, splicing method, encoding device, and encoding method
JP4053668B2 (ja) * 1998-09-16 2008-02-27 パイオニア株式会社 情報記録装置及び情報記録方法
JP2000167590A (ja) 1998-12-08 2000-06-20 Hitachi Kiden Kogyo Ltd リンの除去方法及びその装置
US6356661B1 (en) * 1999-01-07 2002-03-12 M4 Labs, Inc Method and device for robust decoding of header information in macroblock-based compressed video data
JP3411234B2 (ja) * 1999-04-26 2003-05-26 沖電気工業株式会社 符号化情報受信復号装置
JP3694888B2 (ja) * 1999-12-03 2005-09-14 ソニー株式会社 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体
US6493392B1 (en) * 1999-12-27 2002-12-10 Hyundai Electronics Industries Co., Ltd. Method for coding digital interlaced moving video
JP2001251616A (ja) * 2000-03-02 2001-09-14 Media Glue Corp 多重化音響・動画圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体
CN1322759C (zh) * 2000-04-27 2007-06-20 三菱电机株式会社 编码装置和编码方法
JP3662171B2 (ja) * 2000-06-05 2005-06-22 三菱電機株式会社 符号化装置及び符号化方法
KR100451257B1 (ko) * 2001-11-06 2004-10-06 (주)씨앤에스 테크놀로지 Mpeg-4에 있어서 이산여현변환된 ac/dc 계수의복원회로 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100451257B1 (ko) * 2001-11-06 2004-10-06 (주)씨앤에스 테크놀로지 Mpeg-4에 있어서 이산여현변환된 ac/dc 계수의복원회로 및 방법
US8170104B2 (en) 2003-11-10 2012-05-01 Samsung Electronics Co., Ltd. Apparatus and method for motion vector prediction
KR101108681B1 (ko) * 2005-01-19 2012-01-25 삼성전자주식회사 동영상 코덱에서의 주파수 변환 계수 예측 방법 및 장치,이를 구비한 부호화 및 복호화 장치와 방법

Also Published As

Publication number Publication date
KR100454501B1 (ko) 2004-10-28
US20030118239A1 (en) 2003-06-26
US7010168B2 (en) 2006-03-07

Similar Documents

Publication Publication Date Title
US11632556B2 (en) Image encoding device, image decoding device, image encoding method, image decoding method, and image prediction device
US11647219B2 (en) Image encoding and decoding method with merge flag and motion vectors
US7792193B2 (en) Image encoding/decoding method and apparatus therefor
KR100454501B1 (ko) 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법
CN104811715B (zh) 使用平面表达的增强帧内预测编码
JP2024012476A (ja) ビデオデコーディングのための方法、装置、媒体、およびプログラム
US20070121731A1 (en) Image encoding/image decoding method and image encoding/image decoding apparatus
US20100027663A1 (en) Intellegent frame skipping in video coding based on similarity metric in compressed domain
KR20160072181A (ko) 비디오 및 이미지 코딩 및 디코딩을 위한 인트라 블록 카피 예측 모드의 피쳐
EP2043371A1 (en) Image processing device, method, and program
JPH05145773A (ja) ビデオ画像の符号化装置と方法
KR20110047697A (ko) 픽처 경계의 부호화 단위를 부호화, 복호화 하는 방법 및 장치
US20090225871A1 (en) Image encoding apparatus
CN103329527A (zh) 在视频编码器中参考图像的压缩和解压缩
US20030016745A1 (en) Multi-channel image encoding apparatus and encoding method thereof
JP2003304538A (ja) 画像符号化装置、画像復号化装置及びそれらの方法
JPWO2008136164A1 (ja) 復号化回路、復号化方法及び画像再生装置
JP2003348597A (ja) 画像符号化装置および画像符号化方法
KR20050085730A (ko) 탄력 저장
JP2010081498A (ja) 画像圧縮符号化方法、及び装置
KR20040028489A (ko) 색상의 공간 예측 부호화를 이용한 영상 부호화 및 복호화방법 및 장치
US20140056349A1 (en) Image encoding device and image decoding device
KR100522595B1 (ko) 엠펙 비디오 복호화방법 및 엠펙 비디오 복호화기
JP6874844B2 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラム
JP2006270392A (ja) 画像予測符号化装置

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20120928

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130923

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140926

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160927

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 15