KR100451257B1 - Mpeg-4에 있어서 이산여현변환된 ac/dc 계수의복원회로 및 방법 - Google Patents

Mpeg-4에 있어서 이산여현변환된 ac/dc 계수의복원회로 및 방법 Download PDF

Info

Publication number
KR100451257B1
KR100451257B1 KR10-2001-0068709A KR20010068709A KR100451257B1 KR 100451257 B1 KR100451257 B1 KR 100451257B1 KR 20010068709 A KR20010068709 A KR 20010068709A KR 100451257 B1 KR100451257 B1 KR 100451257B1
Authority
KR
South Korea
Prior art keywords
block
coefficient
coefficients
prediction
prediction direction
Prior art date
Application number
KR10-2001-0068709A
Other languages
English (en)
Other versions
KR20030037507A (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-0068709A priority Critical patent/KR100451257B1/ko
Publication of KR20030037507A publication Critical patent/KR20030037507A/ko
Application granted granted Critical
Publication of KR100451257B1 publication Critical patent/KR100451257B1/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
    • 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/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/124Quantisation
    • 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/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

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)

Abstract

본 발명은 MPEG-4에 있어서 이산여현변환된 AC/DC 계수의 복원회로 및 방법에 관한 것으로서, 더 상세하게는 디지털 미디어의 압축 및 전송에 관한 국제 표준인 MPEG-4중 영상의 복호에 있어서 예측된 AC/DC 이산연환변환 계수를 복원하는 회로 및 방법에 관한 것이다.
MPEG-4의 경우 AC/DC 계수 예측에 기준이 되는 이산여현변환계수가 상위 블록에 있을 수도 있기 때문에 좌측 블록만을 기준으로 예측이 된 경우보다 영상의 복호에 더 많은 양의 메모리를 필요로 하며, 따라서 MPEG-4 동영상 복호 과정, 특히 AC/DC 계수 예측의 반대 과정인 AC/DC 계수 복원을 하드웨어로 구현하기 위해서는 참조를 위한 AC 및 DC 계수를 저장하는 메모리의 크기를 줄이는 것이 중요하다.
본 발명은, 최적화된 면적을 갖고 단순한 제어가 가능한 AC 메모리 구조를 제안하고 양자화계수를 저장하지 않고 AC 계수를 복원하는 방법을 제안하여, AC 계수 저장을 위한 메모리 크기를 줄이면서 전체 AC/DC 계수 복원 회로의 하드웨어 면적을 더 효과적으로 줄일 수 있다.

Description

MPEG-4에 있어서 이산여현변환된 AC/DC 계수의 복원회로 및 방법 {Reconstruction Circuit and Method of DCT AC/DC Coefficient in MPEG-4}
본 발명은 MPEG-4에 있어서 이산여현변환된 AC/DC 계수의 복원회로 및 방법에 관한 것으로서, 더 상세하게는 디지털 미디어의 압축 및 전송에 관한 국제 표준인 MPEG-4중 영상의 복호에 있어서 예측된 AC/DC 이산연환변환 계수를 복원하는 회로 및 방법에 관한 것이다.
MPEG-4 동영상 부호화 알고리즘에서는 부호화 효율을 높이기 위하여 이산여현변환된 계수를 바로 가변장부호화 하지 않고, 상측 블록 또는 좌측 블록의 이산여현변환계수를 기준으로 차분치를 가변장 부호화 한다.
이것을 AC/DC 계수 예측이라 한다.
이를 첨부된 도면을 참고로 하여 상세히 설명하면, 도 1은 MPEG-4 동영상 비트스트림에서 한 프레임의 비트스트림이 복호되는 과정을 나타낸다.
가변장부호 복호화(variable length code decoding) 과정(S101)은 가변장부호화된 비트스트림을 복호하여 AC/DC 예측된 이산여현변환계수를 출력하는 과정이다.
역스캔(inverse scan) 과정(S102)은 상기 S101과정의 AC/DC 예측된 이산여현변환계수의 출력을 8x8 픽셀의 블록 단위로 AC/DC 계수 예측 방향과 AC 예측 여부에 따라 지그재그 스캔, 가로 방향 스캔, 또는 세로 방향 스캔을 하는 과정이다.
AC/DC 계수 복원 과정(S103)은 부호화기에서 행했던 AC/DC 계수 예측의 반대 과정을 수행하는(inverse AC/DC prediction) 과정이다.
MPEG-4는 디지털 영상의 압축 효율을 더욱 높이기 위해 부호화 과정에서 AC/DC 예측을 수행한다.
역양자화(inverse quantization) 과정(S104)에서 역양자화를 하고 역이산여현변환 과정(S105)에서 역이산여현변환(inverse DCT)을 하여 주파수 영역의 영상데이타를 공간 영역으로 바꾸어준다.
움직임 보상(motion compensation) 과정(S106)은 S105과정의 출력과 움직임 벡터 및 이전 프레임 복호 결과에 의한 예측 영상데이타를 더하여 최종적으로 복호된 영상을 출력한다.
상술한 제 과정은 적어도 8 X 8 픽셀로 구성되는 블록 단위로 이루어져야 하고, 이하에서 상기 S103과정은 8 X 8 픽셀로 구성되는 블록 단위로 이루어지는 것을 가정한다.
도 2는 AC/DC 계수의 복원 과정, 즉 도 1의 S103과정의 세부 동작 순서를 나타내는 것으로서, MPEG-4 표준 소프트웨어를 기준으로 설명한다.
현재 블록이 속한 매크로블록 타입이 인트라인지 인터인지 판단하여(S201),인트라일 경우 예측 방향을 결정하고(S202), 그렇지 않을 경우 종료한다.
여기서 인트라 매크로블록은 움직임 벡터가 없는 매크로블록이고, 인터 매크로블록은 움직임 벡터가 있는 블록, 즉 이전 프레임과 관련이 있는 매크로블록이다.
복호기에서 AC/DC 계수의 예측은 인트라 매크로블록에 대해서만 이루어지므로 인터 매크로블록일 경우 AC/DC 계수 복원을 할 필요가 없다.
S202단계에서 복호기에서 결정했던 AC/DC 계수의 예측 방향을 계산하는데, 그 방향은 상측 또는 좌측이며, 수학식 1에 의해 결정된다.
여기서는 각각 도 3의 블록 A, B, C의 DC 계수를 의미한다.
도 3에서 [x][y]는 블록 내의 계수의 위치를 나타내기 위한 표기 방법으로서, x, y는 각각 0부터 7까지의 값을 가질 수 있다.
x, y의 값이 모두 0이면 DC 계수를 나타낸다.
상기 수학식 1이 참이면 예측 방향은 좌측이 되고, 거짓이면 예측 방향은 상측이 된다.
여기서 좌측/상측은 해당 블록에서 좌측으로/상측으로 인접한 블록을 의미한다.
단, 여기서 DC 계수는 양자화가 되지 않은 상태의 것, 즉 그 해당 매크로블록의 양자화계수(QP)와 관련있는 변수(dc_scaler)가 곱해진 상태의 것이어야 한다.
상기 dc_scaler는 현재 매크로블록의 양자화계수와 표 1과 같은 관계를 갖는 변수이다.
그리고, 어떤 블록 K의 참조가 불가능해지는 아래의 3가지 조건 중 하나라도 만족시키면 FK[0][0]는 무조건 2(bit_per_pixel+2)가 되는데, 단순 프로필(simple profile)의 경우 bit_per_pixel=8이다.
첫번째 조건은 블록 K가 프레임 경계를 벗어난다.
두번째 조건은 블록 K가 비디오패킷 경계를 벗어난다.
세번째 조건은 블록 K가 속하는 매크로블록의 타입이 인트라가 아니다.
다음 상기 수학식 1에서 결정된 방향으로부터 DC 계수를 읽어 들여 입력된 DC 계수의 차분치(difference value)와 함께 현재 블록의 DC 계수를 복원한다.
만약 예측 방향이 상측이면 DC 계수 복원은 수학식 2를 따르고, 좌측이면 수학식 3을 따른다.
dc_scaler
여기서 QFX[0][0]는 복원된 현재 블록의 DC 계수이고, PQFX[0][0]는 현재 블록에 입력된 차분치 DC값이다.
현재 블록에 입력된 차분치 DC값은 비트스트림으로부터 가변장부호를 복호화한 결과이다.
또한 A//B는 A를 B로 나눈 값에서 가장 가까운 정수를 나타낸다.
예를 들어 7//3=2, 3//2=2, (-3)//2=-2이다.
dc_scaler
수학식 3이 수학식2와 다른 점은, FC[0][0](상측 방향 블록의 DC 계수) 대신 FA[0][0](좌측 방향 블록의 DC 계수)를 사용한다는 점이다.
상기 S202단계에서 결정된 방향에 따라 현재 블록에 대해 역스캔을 수행한다(S204).
이것은 부호화 과정의 블록 스캔의 반대 과정이다.
부호화 과정에서 AC 계수가 예측되었는지 여부에 따라 역스캔 방법은 3가지가 존재한다.
MPEG-4에서는 AC 계수 예측 여부를 AC_PRED_FLAG라는 변수로 나타내는데, 이 값이 1이면 부호화 과정에서 AC 계수가 예측된 것을 의미하고, 0이면 그렇지 않음을 의미한다.
상기 AC_PRED_FLAG=0이면 역스캔에 지그재그 스캔이 이용되고, 상기 AC_PRED_FLAG=1이고 예측 방향이 좌측이면 수직 스캔이 이용되고, AC_PRED_FLAG=1이고 예측 방향이 상측이면 수평 스캔이 이용된다.
도 1에서 역스캔하는 과정(S102)이 AC/DC 계수 복원 과정(S103) 전에 이루어지는 것과 다르게, 도 2에서 역스캔을 수행하는 단계(S203)가 AC/DC 계수 복원 과정(S103)에 포함되는 이유는 역스캔을 하려면 AC_PRED_FLAG=1일 경우 예측 방향을 알아야 하는데, 예측 방향을 알기 위해서는 AC/DC 계수 복원 과정(S103)으로 들어와야 하기 때문이다.
AC 계수가 예측되었으면(S205), 즉 AC_PRED_FLAG=1이면 AC 계수를 복원하도록 하고(S206), 그렇지 않으면 현재 블록에 대한 AC/DC 계수 예측을 끝낸다.
S206단계에서 AC 계수를 복원하는 방법은 수학식 1에서 결정된 예측 방향에 따라 달라진다.
예측 방향이 좌측이면 수학식 4를 따르고, 상측이면 수학식 5를 따른다.
i=1,…,7
i=1,…,7
여기서 PQFX는 현재 입력된 이산여현변환계수의 차분치 블록을, QFA는 AC/DC 계수 복원이 끝난 좌측 블록을, QPA는 좌측 블록이 속하는 매크로블록의 양자화계수를, QFC는 AC/DC 계수 복원이 끝난 상측 블록을, QPC는 상측 블록이 속하는 매크로블록의 양자화계수를, QPX는 현재 블록이 속하는 매크로블록의 양자화계수를, 그리고 QFX는 AC/DC 계수의 복원이 끝난 후의 현재 블록을 의미한다.
블록 다음에 붙은 [x][y]는 8 X 8 블록에서 특정 계수 하나를 가리키기 위하여 사용되는데, x, y는 0, 1, …, 7의 값을 가질 수 있으며, x는 가로 위치를, y는 세로 위치를 나타낸다.
상기 수학식 4와 수학식 5에서, 예측 방향의 블록의 AC 계수에 그 블록이 속하는 매크로블록의 양자화계수(QP)를 곱한 다음, 현재 블록이 속하는 매크로블록의 양자화계수를 나눈 것은 예측 방향이 속하는 매크로블록의 양자화계수와 현재 블록이 속하는 매크로블록의 양자화계수가 다른 것을 보정해 주기 위함이다.
상기한 AC/DC 계수 예측에 있어서, MPEG-4의 경우 AC/DC 계수 예측에 기준이 되는 이산여현변환계수가 상측 블록에 있을 수도 있기 때문에 좌측 블록만을 기준으로 예측이 된 경우보다 영상의 복호에 더 많은 양의 메모리를 필요로 한다.
따라서 MPEG-4 동영상 복호과정, 특히 AC/DC 계수 예측의 반대 과정인 AC/DC 계수 복원을 하드웨어로 구현하기 위해서는 참조를 위한 AC 및 DC 계수를 저장하는 메모리의 크기를 줄이는 것이 중요하다.
이에 본 발명은 AC 계수를 저장하는 메모리에 대해 최적화된 면적을 갖고 단순한 제어가 가능한 메모리 구조와 양자화계수를 저장하지 않고 AC 계수를 복원하는 방법으로, AC 계수는 DC 계수에 비해 저장해야 할 계수들이 7배 가량 많으므로 AC 계수 저장을 위한 메모리 크기를 줄이면서 전체 AC/DC 계수 복원회로의 하드웨어 단면적을 줄 일 수 있는 MPEG-4에 있어서 이산여현변환된 AC/DC 계수의 복원회로 및 방법을 제공하는데 그 목적이 있는 것이다.
상술한 목적을 달성하기 위하여 본 발명은, 현재 블록의 AC/DC 계수를 복원하기 위해 필요한 여러 가지 파라미터들을 입력받아 저장하는 레지스터파일과, F=(A+B)//C 형태의 수학식을 계산하여 DC 계수를 복원하는 복원기와, F=AxB의 형태로 DC 계수를 얻기 위해 이산여현변환계수에 현재 매크로블록의 양자화계수(QP)와 관계를 갖는 수인 dc_scaler를 곱하거나, 상기 복원기에서 계산하는 수학식의 변수를 계산하는 데 사용되는 곱셈기와, 블록의 AC/DC 계수 예측 방향을 결정하는 예측방향결정기와, 이전 블록들의 AC/DC 계수들을 저장하는 예측메모리와, 계수 복원이 완료된 이산여현변환계수들을 저장하는 블록메모리와, 상기 복원기, 곱셈기, 예측방향결정기의 입력을 제어하고, 상기 예측메모리와 블록메모리와의 인터페이스를 제공하며, 한 블록에 대해 AC/DC 계수 예측을 수행하는 순서를 결정하는 상태제어기를 포함하는 MPEG-4에 있어서 이산여현변환된 AC/DC 계수의 복원회로를 제공하고자 한다.
상술한 목적을 달성하기 위하여 본 발명은, 한 블록에 대한 AC/DC 계수의 복원을 하기 위해 필요한 변수들을 초기화하는 S701과정과, 현재 블록이 속한 매크로블록의 타입을 판단하는 S702과정과, S702과정에서 매크로블록의 타입이 인트라일 경우 DC 계수를 복원하는 S703과정과, 다음 블록의 예측 방향을 결정하는 S704과정과, AC 계수를 복원하는 S705과정과, 다음 블록의 AC/DC 계수 복원에 필요한 변수들을 미리 갱신하는 S708과정를 포함하는 MPEG-4에 있어서 이산여현변환된 AC/DC 계수의 복원방법을 제공하고자 한다.
도 1 은 일반적인 MPEG-4의 영상 텍스쳐 복호과정을 나타내는 순서도이다.
도 2 은 도 1에서 종래 MPEG-4 표준 소프트웨어의 AC/DC 계수 복원과정의 상세 순서도이다.
도 3 은 종래 DC 계수 예측에 사용되는 인접 블록의 계수들이다.
도 4 는 본 발명에 의한 AC/DC 계수 복원회로의 블록도이다.
도 5 는 도 4에 나타낸 상태제어기의 순서도이다.
도 6 은 도 5에서 나타낸 변수 초기화 과정의 상세 순서도이다.
도 7 은 도 5에서 나타낸 DC 계수 복원 과정의 상세 순서도이다.
도 8 은 도 5에서 나타낸 다음 블록의 예측 방향 결정 과정의 상세 순서도이다.
도 9 는 도 5에서 나타낸 AC 계수 복원 과정의 상세 순서도이다.
도 10 은 도 5에서 나타낸 변수 갱신 과정의 상세 순서도이다.
도 11 은 도 4에서 나타낸 예측 메모리의 일실시예를 나타내는 구조도이다.
도 12 는 본 발명의 일실시예로서 Y성분에 대한 AC 예측메모리 사용예를 나타내는 도면이다.
<도면의 주요부분에 대한 부호의 설명>
600 : AC/DC 계수 복원기 601 : 레지스터파일
602 : 복원기 603 : 곱셈기
604 : 예측방향결정기 605 : 상태제어기
606 : 예측메모리 607 : 블록메모리
이하 본 발명을 첨부된 도면을 참고로하여 상세히 설명하면 다음과 같다.
도 4의 AC/DC 계수 복원기(600)는 블록메모리(607)에 입력된 8 X 8 이산여현변환계수 블록에, 부호화기에서 이루어졌던 AC/DC 예측의 반대 과정을 수행함으로써, 최종적으로 블록메모리(607)에 AC/DC 계수 복원이 완료된 이산여현변환계수를 기록해 놓는다.
본 발명에 의한 AC/DC 계수 복원 회로는 8 X 8 블록 단위로 동작한다.
레지스터파일(601)은 현재 블록의 AC/DC 계수를 복원하기 위해 필요한 여러 가지 파라미터들을 입력받아 저장하고 있는 역할을 한다.
상기 파라미터는 매크로블록 타입, 프레임 내에서 매크로블록의 가로 위치, AC 계수가 예측되었는지 여부, 현재 매크로블록의 양자화계수 등을 포함한다.
상기 레지스터파일(601)은 본 발명에 의한 AC/DC 계수 복원회로가 동작하는 방법을 결정한다.
복원기(602)는 수학식 2 ~ 수학식 5중 하나를 계산하기 위해 사용된다.
상기 수학식 2 ~ 수학식 5중 어떤 것을 계산하게 되는 지와 그에 해당되는 복원기(602)로의 입력은 상태제어기(605)에 의해 결정된다.
곱셈기(603)는 본 발명에 의한 AC/DC 계수 복원회로에서 두 가지 용도로 사용된다.
첫째, 수학식 1에서는 각각 도 3의 블록 A, B, C의 DC 계수에 dc_scaler가 곱해지는 값이라고 했는데, 그 값들을 얻기 위해 이산여현변환계수에 dc_scaler를 곱할 때 사용된다.
둘째, 수학식 4의 QFA[0][i] X QPA와 수학식 5의 QFC[i][0] X QPC를 계산하는 데 사용된다.
예측방향결정기(604)는 다음 블록의 AC/DC 계수 예측 방향을 결정한다.
이것은 본 발명의 특징적인 부분 중의 하나로서, 종래 MPEG-4 표준 소프트웨어에서 현재 블록의 예측 방향을 결정했던 것과 다르다.
그 이유는 도 1과 같은 순서로 MPEG-4 영상 복호를 수행하려고 할 때, S103과정에서 다음 블록의 예측 방향을 구해 놓는다면 S102과정의 역스캔 시점에서 그 블록의 예측 방향을 알기 때문에, S102과정과 S103과정의 순서 바뀜없이 S103과정의 AC/DC 계수 복원 전에 역스캔을 할 수 있기 때문이다.
이 사실은 MPEG-4 영상 복호기를 하드웨어로 구현할 때 복호 시간을 단축시키는 데 이용될 수 있다.
S101과정에서 가변장부호를 복호할 때, 역스캔 방향을 모른다면 일단 S101과정의 결과를 저장하고, S103과정에서 예측 방향을 계산한 다음 S102과정에서 역스캔을 수행해야 한다.
반면, S101과정에서 가변장부호를 복호할 때, 역스캔 방향을 알면 S102과정까지 한꺼번에 수행할 수 있기 때문에, 매 블록마다 64개의 이산여현변환계수를 메모리에 한 번씩 읽고 쓰는 시간이 절약된다.
현재 블록에서 다음 블록의 예측 방향을 결정할 수 있는 이유는, 어떤 블록의 예측 방향을 결정할 때 그 블록과 관련된 정보는 전혀 이용하지 않고, 오직 이전 블록의 DC 계수들만 이용하기 때문이다.
예를 들어, 도 3에서 현재 블록이 X라고 하면, 다음 블록은 Y이다.
그러면, Y블록의 예측 방향은 블록 C, D, X의 DC 계수들만으로도 결정될 수 있는데, 블록 C, D, X의 DC 계수는 Y블록을 복호하기 전에 알 수 있다.
상태제어기(605)는 한 블록에 대해 AC/DC 계수 예측을 수행하는 순서를 결정하고, 상기 복원기(602), 곱셈기(603), 예측방향결정기(604)의 입력을 제어한다.
그리고 예측메모리(606)와 블록메모리(607)와의 인터페이스를 제공한다.
상기 예측메모리(606)는 이전 블록들의 AC/DC 계수들을 저장하고 있는 메모리이다.
상기 블록메모리(607)는 상기 AC/DC 계수 복원기(600)를 통해 계수 복원이 완료된 이산여현변환계수들을 저장하는 메모리이다.
도 5는 도 4에 나타낸 상태제어기(605)의 단순화된 제어 순서를 나타낸다.
상기 상태제어기(605)의 특성상, 도 5와 같은 순서도는 실제 회로도를 대신하며 더 이해하기 쉽게 해준다.
도 5의 각각의 과정은 이후 도 6 ~ 도 10의 상세한 단계를 통해 더 상세하게 기술된다.
S701과정은 한 블록에 대한 AC/DC 계수를 복원하기 위해 필요한 변수들을 초기화한다.
S702과정에서 현재 블록이 속한 매크로블록의 타입을 판단하여 인트라일 경우 S703과정을 수행하고, 그렇지 않을 경우, 즉 인터일 경우 S706과정을 수행한다.
S703과정에서 DC 계수를 복원하고, S704과정에서 다음 블록의 예측 방향을 결정한다.
다음 블록의 예측 방향을 결정하는 것은 다음 블록의 AC/DC 계수 복원 전에 수행되는 역스캔 과정에 그 블록의 예측 방향 정보가 필요하기 때문이다.
S705과정에서 AC 계수를 복원하고, S708과정에서 다음 블록의 AC/DC 계수 복원에 필요한 변수들을 미리 갱신한다.
상기 S702과정에서 현재 블록이 속한 매크로블록의 타입이 인터이면 매크로블록의 마지막 블록인가를 판단하여(S706), 마지막 블록이면 다음 블록의 예측 방향을 결정한다(S707).
이는 인터 매크로블록 다음에 인트라 매크로블록(예측 방향 정보가 필요한)이 올 수도 있기 때문이다.
도 6은 도 5에서 나타낸 변수 초기화 과정(S701)의 세부 제어순서를 나타낸 것이다.
실제로 초기화가 행해지는 부분은 S802단계인 바, S801단계는 S802단계가 VOP 또는 VP 처음에 나오는 블록에 대해서만 수행되도록 한다.
여기서 VOP(Video Object Plane)는 MPEG-4 표준에서 동영상의 한 프레임을가리키고, VP는 상기 VOP의 비트스트림을 일정길이 기준으로 자른 단위로 매크로 블록 단위로 잘린다.
본 발명에서 VOP는 프레임과 VP는 비디오패킷과 같은 의미로 사용된다.
S802단계는 REF_EN[11:0], MBptr, 그리고 R2를 초기화한다.
여기서 REF_EN[11:0]은 복호가 완료된 이전 12개의 매크로블록에 대해 참조가 가능한지를 나타낸다.
REF_EN[0]은 복호가 완료된 지 가장 오래 된 매크로블록에 대한 것이고, REF_EN[11]은 최근에 복호된 매크로블록에 대한 것이다.
REF_EN[k](k=0~11)가 1이면 해당 매크로블록 안의 블록들을 나중에 참조할 수 있음을 의미한다.
상기 REF_EN은 도 8의 설명에서 언급되는 OUT_OF_VOP_A, OUT_OF_VOP_B, OUT_OF_VOP_C와, 도 9의 설명에서 언급되는 OUT_OF_VOP_LEFT, OUT_OF_VOP_UP의 값을 결정하는 데 이용된다.
상기 MBptr은 현재 매크로블록에 대한 REF_EN의 인덱스(index)를 나타낸다.
임시 저장변수인 R2는 다음 블록에서 예측 방향 블록의 DC 계수로 이용되는데, VOP 또는 VP의 첫 블록은 R2에 그런 값을 넣을 이전 블록이 없기 때문에 1024로 설정한다.
1024는 픽셀당 8 비트를 할당하는 디지털 영상에서 이산여현변환된 DC 계수가 가질 수 있는 최대값의 절반이다.
PRED_DIR은 현재 블록의 예측방향으로서 VOP 또는 VP의 첫번째 블록에서는항상 0이다.
도 7은 도 5에서 나타낸 DC 계수 복원 과정(S703)의 세부 제어 순서이다.
S901단계에서는 중간 결과 임시 저장변수인 R0에 현재 블록의 DC 계수를 저장하는데, 현재 블록의 DC값은 블록메모리(607)에 저장되어 있는 DC 계수를 의미한다.
S902단계에서는 DC 계수를 복원한다.
R2는 지난 블록에서 이미 저장되어 있다.
종래의 기술에서 전술한 바와 같이 dc_scaler은 매크로블록 양자화계수(QP)와 관련 있는 변수로서 그 둘은 표 1과 같은 관계를 갖는다.
R2//dc_scaler에서 // 또한 소수점 이하의 몫을 반올림하는 나눗셈을 의미하고 R0+R2//dc_scaler은 복원기(602)를 통해 계산된 결과이다.
S902단계에서 복원된 DC 계수는 변수 DCRECON에 저장된다.
S903단계에서는 블록메모리(607)에 저장된 현재 DC 계수를 DCRECON X dc_scaler로 대체한다.
여기서 dc_scaler를 곱하는 것은 역양자화를 미리 수행하는 것이다.
이렇게 하면 역양자화를 하기 위해 dc_scaler를 다시 계산하지 않아도 된다는 장점이 있다.
S904단계에서는 이후 블록들의 DC 계수를 복원하거나 그 블록들의 다음 블록의 예측 방향을 결정하는 데 사용하기 위해, DCRECON X dc_scaler를 상기 예측메모리(606)에 저장한다.
여기서 dc_scaler를 곱하는 것은 다른 블록에서 그 블록의 DC 계수를 복원하기 위해 이 블록의 복원된 DC 계수에 dc_scaler가 곱해진 값이 필요하기 때문인데, 미리 dc_scaler를 곱해서 저장하면 그 참조하는 블록에서 현재 매크로블록의 dc_scaler를 다시 계산하지 않아도 되는 장점이 있다.
상기 DCRECON X dc_scaler는 곱셈기(603)를 통해 계산된다.
도 8은 도 5에 나타낸 다음 블록 예측 방향 결정 과정(S704)의 세부 제어 순서이다.
S1001단계에서 VOP 또는 VP의 마지막 블록인가를 판단하여, 마지막 블록이면 S1015단계에서 다음 블록의 예측 방향을 나타내는 NEXT_DIR_REG를 0, 즉 가로 방향으로 설정한다.
S1001단계에서 마지막 블록이 아니면 S1002단계를 수행한다.
이는 VOP 또는 VP의 마지막 블록일 때 다음 블록의 예측 방향은 초기값인 가로 방향이기 때문이다.
S1002단계에서 블록번호 COMP가 0과 2인지 판단하여 O도 아니고 2가 아니라면 즉, 다음 블록 기준으로 좌측 블록이 현재 블록이 아니라면 S1003단계를 수행한다.
그렇지 않고 0이나 2라면, 즉 다음 블록 기준으로 좌측 블록이 현재 블록이면 곱셈기(603) 출력에 나와있는 DCRECON X dc_scaler를 R0에 저장한다(S1006).
상기 S1002단계를 통해 다음 블록 기준으로 좌측 블록의 DC 계수를 가져오는 과정에서 예측메모리(606) 접근 횟수를 줄여 메모리 전력 소모를 감소시킬 수 있다.
S1003단계에서 OUT_OF_VOP_A가 1이면 S1005단계에서 R0에 1024를 저장하고, OUT_OF_VOP_A가 0이면 S1004단계에서 R0에 그 좌측 블록의 DC 계수를 저장한다.
OUT_OF_VOP_A가 1이라는 것은 다음 블록 기준으로 좌측 블록이 종래의 기술에서 기재한 어떤 블록 K의 참조가 불가능해지는 3가지 조건들 중 하나라도 만족시켜 참조가 불가능하다는 것을 나타낸다.
S1007단계에서 OUT_OF_VOP_B가 1이면 S1009단계에서 R1에 1024를 저장하고, OUT_OF_VOP_B가 0이면 S1008단계에서 R1에 그 좌측·상측 대각선 방향 블록의 DC 계수를 저장한다.
OUT_OF_VOP_B가 1이라는 것은 다음 블록 기준으로 좌측·상측 대각선 방향 블록이 종래의 기술에서 기재한 어떤 블록 K의 참조가 불가능해지는 3가지 조건들 중 하나라도 만족시켜 참조가 불가능하다는 것을 나타낸다.
S1010단계에서 OUT_OF_VOP_C가 1이면 S1012단계에서 R2에 1024를 저장하고, OUT_OF_VOP_C가 0이면 S1011단계에서 R2에 그 상측 블록의 DC 계수를 저장한다.
OUT_OF_VOP_C가 1이라는 것은 다음 블록 기준으로 상측 블록이 종래의 기술에서 기재한 어떤 블록 K의 참조가 불가능해지는 3가지 조건들 중 하나라도 만족시켜 참조가 불가능하다는 것을 나타낸다.
상술한 단계를 거쳐 구해진 R0, R1, R2는 각각 상기 수학식 1의 FA[0][0], FB[0][0], FC[0][0]에 해당된다.
상기 수학식 1이 참이면 예측 방향이 세로 방향이고, S1013단계에서 다음 블록의 예측방향인 NEXT_DIR_REG에 1을 저장한다.
반대로 수학식 1이 거짓이면 예측 방향이 가로 방향이고, S1013단계에서 NEXT_DIR_REG에 0을 저장한다.
NEXT_DIR_REG는 다음 블록의 예측 방향을 유지한다.
S1014단계에서 다음 블록의 DC 계수 예측값을 R2에 저장하는데, NEXT_DIR_REG=1이면 R2=R2이고, NEXT_DIR_REG=0이면 R2=R0이다.
다음 블록의 예측 방향을 알고 있으므로 그에 해당되는 예측값을 구하는 것도 가능하다.
도 9는 도 5에서 나타낸 AC 계수 복원 과정(S705)의 세부 제어 순서를 나타낸다.
S1101단계 AC_PRED_FLAG와 VALID_BLOCK이 모두 1인지 판단하여 모두 1이면 S1102단계를 수행하고, 그렇지 않고 둘 중 하나라도 0이면 S1109단계를 수행한다.
상기 AC_PRED_FLAG는 MPEG-4 표준에 정의된 변수로서 이것이 1이면 부호화기에서 AC 계수의 예측을 수행했다는 의미이다.
상기 VALID_BLOCK은 현재 블록의 예측 방향의 블록이 참조 가능하면 1이고, 그렇지 않으면 0이다.
VALID_BLOCK은 수학식 6과 같이 정의된다.
여기서 PRED_DIR은 현재 블록의 예측 방향으로서, 1이면 세로 방향임을 의미하고, 0이면 가로 방향임을 의미한다.
그리고 OUT_OF_VOP_UP은 현재 블록 기준으로 상측 블록이 어떤 블록 K의 참조가 불가능해지는 3가지 조건에 따라 참조 가능한 지를 나타내는데, 1이면 참조 불가능함을 의미한다.
그리고 !는 논리 부정을 의미한다.
S1102단계에서는 블록메모리(607)로부터 현재 블록의 AC 계수를 읽어와서 R0에 저장하는데, 현재 블록의 예측 방향을 나타내는 PRED_DIR 값에 따라 읽어오는 주소가 달라진다.
S1102~1106단계가 7번 반복될 때, PRED_DIR=0이면 블록메모리(607) 접근 주소는 [0][1], [0][2], [0][3], [0][4], [0][5], [0][6], [0][7]로서 첫번째 열의 AC 계수들이고, PRED_DIR=1이면 블록메모리(607) 접근 주소는 [1][0], [2][0], [3][0], [4][0], [5][0], [6][0], [7][0]로서 첫번째 행의 AC 계수들이다.
S1103단계에서는 예측메모리(606)로부터 예측 방향 블록의 AC 계수를 읽어와서 R1에 저장한다.
이때 예측 방향 블록의 AC 계수 역시 PRED_DIR 값에 따라 예측 메모리(606)에 접근하는 주소가 달라진다.
PRED_DIR=0이라면, 현재 블록의 좌측 블록에서 AC 계수를 가져오는 것이다.
이경우 R1에 저장되는 값은 해당 매크로블록의 양자화계수(QP)가 이미 곱해진 값이다.
S1104단계에서는 R0, R1, 그리고 현재 매크로블록의 양자화계수인 QP를 이용하여 AC 계수를 복원한다.
//는 소수점 이하의 몫을 반올림하는 나눗셈을 의미한다.
S1104단계의 R0, R1, QP가 수학식 4와 수학식 5에 대응되는 방법은 PRED_DIR 값에 따라 달라진다.
PRED_DIR=0이면 R0, R1, QP는 각각 수학식 4의 PQFX[0][i], QFA[0][i] x QPA, QPX에 해당되고, PRED_DIR=1이면 R0, R1, QP는 각각 상기 수학식 5의 PQFX[i][0], QFC[i][0] x QPC, QPX에 해당된다.
S1105단계에서는 복원된 AC 계수를 블록메모리(607)에 저장한다.
저장할 때 접근 주소는 S1102단계에서 AC 계수를 읽어올 때 사용한 접근 주소와 동일하다.
S1106단계에서는 다음 블록들의 AC 계수 복원을 위해 사용될 수 있도록, 복원된 AC 계수와 현재 매크로블록의 양자화계수(QP)를 곱하여 예측메모리(606)에 저장한다.
복원된 AC 계수에 QP를 곱하여 예측메모리(606)에 저장하면, 다음 블록에서 현재 매크로블록의 QP를 사용할 수 있도록 하기 위해 현재 매크로블록의 QP를 따로저장할 필요가 없다.
즉, 다음 블록에서 AC 계수 복원을 위해 현재 블록의 복원된 AC 계수를 참조할 때 현재 매크로블록의 양자화계수(QP)를 곱하지 않아도 된다.
따라서 필요한 예측메모리(606) 크기가 절약되고, 그에 따라 전력 소모와 예측메모리(606)를 읽고 쓰는 시간이 감소한다.
7개 AC 계수에 대해 상기 S1102단계~S1106단계가 반복된다.
S1107단계에서는 블록메모리(607)로부터 예측 방향이 아닌 쪽의 AC 계수를 읽어온다.
즉, S1102단계에서 [0][1], [0][2], [0][3], [0][4], [0][5], [0][6], [0][7]의 AC 계수를 읽어왔다면 S1107단계에서는 [1][0], [2][0], [3][0], [4][0], [5][0], [6][0], [7][0]의 AC 계수를 읽어오고, S1102단계에서 [1][0], [2][0], [3][0], [4][0], [5][0], [6][0], [7][0]의 AC 계수를 읽어왔다면 S1107단계에서는 [0][1], [0][2], [0][3], [0][4], [0][5], [0][6], [0][7]의 AC 계수를 읽어온다.
S1108단계에서는 S1107단계에서 읽어온 AC 계수에 현재 매크로블록의 양자화계수(QP)를 곱해서 예측메모리(606)에 저장한다.
이것은 다음 블록(우측 또는 하측)에서 AC 계수를 복원할 때 예측값으로 사용하기 위해서이다.
7개 AC 계수에 대해 S1107단계~S1108단계가 반복된다.
S1109단계에서는 블록메모리(607)로부터 예측 방향의 AC 계수를 읽어오는데, 현재 블록의 예측 방향을 나타내는 PRED_DIR 값에 따라 읽어오는 주소가 달라진다.
S1109단계~S1110단계가 7번 반복될 때, PRED_DIR=0이면 블록메모리(607) 접근 주소는 [0][1], [0][2], [0][3], [0][4], [0][5], [0][6], [0][7]로서 첫번째 열의 AC 계수들이고, PRED_DIR=1이면 블록메모리(607) 접근 주소는 [1][0], [2][0], [3][0], [4][0], [5][0], [6][0], [7][0]로서 첫번째 행의 AC 계수들이다.
S1110단계에서는 상기 S1109단계에서 읽어온 AC 계수에 현재 매크로블록의 양자화계수(QP)를 곱해서 예측메모리(606)에 저장한다.
이것은 다음 블록(우측 또는 하측)에서 AC 계수를 복원할 때 예측값으로 사용하기 위해서이다.
7개 AC 계수에 대해 S1109단계~S1110단계가 반복된다.
S1111단계에서는 블록메모리(607)로부터 예측 방향이 아닌 쪽의 AC 계수를 읽어온다.
즉, 상기 S1109단계에서 [0][1], [0][2], [0][3], [0][4], [0][5], [0][6], [0][7]의 AC 계수를 읽어왔다면 S1111단계에서는 [1][0], [2][0], [3][0], [4][0], [5][0], [6][0], [7][0]의 AC 계수를 읽어오고, S1109단계에서 [1][0], [2][0], [3][0], [4][0], [5][0], [6][0], [7][0]의 AC 계수를 읽어왔다면 S1111단계에서는 [0][1], [0][2], [0][3], [0][4], [0][5], [0][6], [0][7]의 AC 계수를 읽어온다.
S1112단계에서는 S1111단계에서 읽어온 AC 계수에 현재 매크로블록의 양자화계수(QP)를 곱해서 예측메모리(606)에 저장한다.
이것은 다음 블록(우측 또는 좌측)에서 AC 계수를 복원할 때 예측값으로 사용하기 위해서이다.
7개 AC 계수에 대해 S1111단계~S1112단계가 반복된다.
도 10은 도 5에서 나타낸 변수 갱신 과정(S708)의 세부 제어 순서를 나타낸다.
S1201단계에서는 매크로블록의 마지막 블록인가를 판별하여 S1202단계와 S1203단계가 매크로블록의 마지막 블록에서만 이루어지도록 제어한다.
S1202단계에서는 현재 매크로블록이 인트라이면 REF_EN[MBptr]에 1을 저장하고, 인터이면 0을 저장한다.
즉, 인트라이면 이후 복호되는 매크로블록에서 현재 매크로블록을 참조할 수 있고, 인터이면 참조하지 못하는 것이거나 참조할 필요가 없는 것이다.
REF_EN은 복호가 완료된 이전 12개의 매크로블록에 대해 참조가 가능한지를 저장하는 것이고, MBptr은 현재 매크로블록에 대한 REF_EN의 인덱스이다.
상기 S802단계에서와 같이 VOP 또는 VP 첫 블록에서 REF_EN을 0으로 초기화하고 S1202에서와 같이 매크로블록의 마지막 블록에서 REF_EN을 매크로블록 타입에 따르는 값으로 갱신하면, AC/DC 계수 예측을 할 때 지나간 매크로블록에 포함된 블록들에 대한 참조 가능 여부를 알 수다.
S1203단계에서는 MBptr을 1 증가시켜 저장하는데, 만약 증가시키고서 12가 되면 0을 저장한다.
상기 802단계에서와 같이 VOP 또는 VP 첫 블록에서 현재 블록의 MBptr을 0으로 초기화하고, S1203단계에서와 같이 매크로블록의 마지막 블록에서 MBptr을 1증가시켜, 현재 매크로블록 또는 지나간 매크로블록의 REF_EN의 정보를 읽고 갱신할때 포인터로 이용할 수 있다.
S1204단계에서는 현재 블록에서 구한 다음 블록의 예측 방향 NEXT_DIR_REG를 현재 블록의 예측 방향 PRED_DIR에 저장한다.
상기 PRED_DIR은 다음 블록의 AC/DC 계수를 복원할 때 그 블록의 예측 방향이 된다.
상기 802단계에서와 같이 VOP 또는 VP 첫 블록에서 현재 블록의 예측 방향인 PRED_DIR을 0으로 초기화하고, S1204단계에서와 같이 매크로블록의 마지막 블록에서 PRED_DIR을 NEXT_DIR_REG로 대체하여 현재 블록의 예측 방향 정보를 관리할 수 있다.
도 11은 예측메모리(606)의 구조를 나타내는데, QCIF(176x144) 영상에 맞는 실시예이다.
도 12는 상기 예측메모리(606)에서 Y성분에 대한 AC 계수를 읽고 쓰는 방법을 나타낸 것으로서, QCIF(176x144) 영상에 맞는 실시예이다.
QCIF 영상에서는 8 X 8 블록이 가로로 22개(Y 성분)/11개(Cb, Cr 성분)이고, 영상 크기에 상관없이 매크로블록 하나에는 8 X 8 블록이 세로로 2개(Y 성분)/1개(Cb, Cr 성분)이다.
여기서 한 매크로블록은 6개의 블록으로 구성되는데, 4개는 Y성분(블록번호 0-3), 1개는 Cb성분(블록번호 4), 1개의 Cr성분(블록번호 5)이다.
상기 Y성분은 휘도 정보를 가지고, Cb 및 Cr성분은 색차 정보를 가진다.
프레임 내에서 현재 블록의 가로 위치를 x라 하고, 매크로블록 내에서 세로위치를 y라 하자.
그러면 Y블록일 경우 x는 0부터 21까지의 값을 가질 수 있고, y는 0 또는 1의 값을 가질 수 있다.
Cb, Cr블록일 경우 x는 0부터 10까지의 값을 가질 수 있고, y는 0이다.
MBC가 프레임의 가로 방향으로 포함된 매크로블록의 개수를 나타내고 현재 블록의 가로 위치를 x라 하고, 세로 위치를 y라 하면 예측메모리(606)에서 AC 계수를 읽고 쓰기 위한 위치는 표 2와 같다.
예를 들어, 현재 블록이 프레임의 좌측 상부 가장자리로부터 가로로 6번째, 세로로 2번째에 위치한 매크로블록의 1번 블록이라고 하자.
이 때 AC 계수의 복원을 위해, 현재 블록의 예측 방향인 PRED_DIR이 0, 즉 가로 방향이라면 좌측 블록에서 AC 계수를 가져와야 한다(도 14).
상기 좌측 블록의 AC 계수는 현재 블록이 Y 블록이고, 매크로블록 내에서 세로 위치가 0이므로 YV0의 AC1~AC7이 해당된다(S1103).
AC 계수의 복원을 끝내면 다시 YV0에 복원된 값을 덮어쓴다(S1104~S1106).
그리고 다음은 예측 방향이 아닌 블록의 AC 계수에 QP를 곱해서 예측메모리(606)에 저장한다(S1108).
이 예의 경우 상기 S1108단계의 R1xQP는 상측 블록의 AC 계수 자리에 저장해야 하는데, 현재 블록의 가로 위치가 5x2+1=11이므로 YH11에 저장하면 된다.
이와 같은 방법으로 예측메모리(606)의 AC 계수를 관리하면, 예를 들어, 프레임의 좌측 상부 가장자리로부터 가로로 11번째, 세로로 2번째에 위치한 매크로블록의 2번 블록에서 상측 블록의 AC 계수를 읽고 싶으면 예측메모리(606)의 YH20의 내용을 읽어오면 된다.
그리고 좌측 블록의 AC 계수를 읽고 싶으면 예측메모리(606)의 YV1의 내용을 읽어오면 된다.
이상에서 살펴본 바와 같이 본 발명에 의하면, MPEG-4 영상을 복호하는 과정의 AC/DC 계수 복원을 하드웨어로 구현함으로써 MPEG-4 표준 소프트웨어로 구현하는 것보다 수행속도가 빠르고 전력 소모가 매우 낮다.
또한 독자적인 AC 계수 메모리 구조로 그 크기를 소형화하여 AC/DC 계수 복원회로의 상당한 부분을 차지하는 예측메모리의 크기가 대폭 축소되며 상기 AC 계수 메모리 구조는 부호화기에서 AC/DC 계수를 예측하는데 재사용할 수 있다.
또한 다음 블록의 예측 방향을 현재 블록에서 구함으로서 블록당 64번의 메모리 읽기 쓰기를 절약하여, MPEG-4 영상 복호기가 입력 비트스트림을 복호하는 시간을 단축시킬 수 있다.

Claims (22)

  1. 현재 블록의 AC/DC 계수를 복원하기 위해 필요한 여러 가지 파라미터들을 입력받아 저장하는 레지스터파일과,
    F=(A+B)//C 형태의 수학식을 계산하여 DC 계수를 복원하는 복원기와,
    F=A X B의 형태로, DC 계수를 얻기 위해 이산여현변환계수에 현재 매크로블록의 양자화계수(QP)와 관계를 갖는 수인 dc_scaler를 곱하거나, 상기 복원기에서 계산하는 수학식의 변수를 계산하는 데 사용되는 곱셈기와,
    블록의 AC/DC 계수 예측 방향을 결정하는 예측방향결정기와,
    이전 블록들의 AC/DC 계수들을 저장하는 예측메모리와,
    계수 복원이 완료된 이산여현변환계수들을 저장하는 블록메모리와,
    상기 복원기, 곱셈기, 예측방향결정기의 입력을 제어하고, 상기 예측메모리와 블록메모리와의 인터페이스를 제공하며, 한 블록에 대해 AC/DC 계수 예측을 수행하는 순서를 결정하는 상태제어기를,
    포함하는 MPEG-4에 있어서 이산여현변환된 AC/DC 계수의 복원회로.
  2. 삭제
  3. 삭제
  4. 청구항 1에 있어서, 상기 예측방향결정기는 현재 블록에서 다음 블록의 AC/DC 계수 예측 방향을 결정함으로서 다음 블록의 가변장부호를 복호할 때 적응적 스캔 순서를 결정하기 위한 DC 계수 메모리 접근시간을 없애고,
    별도의 시간 추가없이 현재 블록에서 다음 블록의 DC 계수 예측값을 계산함으로써 전체적인 비디오 복호에 걸리는 시간을 단축시킨 것을 특징으로 하는 MPEG-4에 있어서 이산여현변환된 AC/DC 계수의 복원회로.
  5. 한 블록에 대한 AC/DC 계수의 복원을 하기 위해 필요한 변수들을 초기화하는 S701과정과,
    현재 블록이 속한 매크로블록의 타입을 판단하는 S702과정과,
    S702과정에서 매크로블록의 타입이 인트라일 경우 DC 계수를 복원하는 S703과정과,
    다음 블록의 예측 방향을 결정하는 S704과정과,
    AC 계수를 복원하는 S705과정과,
    다음 블록의 AC/DC 계수 복원에 필요한 변수들을 미리 갱신하는 S708과정을,
    포함하는 MPEG-4에 있어서 이산여현변환된 AC/DC 계수의 복원방법.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 청구항 5에 있어서, 상기 S704과정은,
    VOP 또는 VP의 마지막 블록인가를 판단하는 S1001단계와,
    상기 S1001단계에서 마지막 블록이 아니면 블록번호 COMP가 0과 2인지 판단하는 S1002단계와,
    상기 S1002단계에서 블록번호 COMP가 O과 2이면 다음 블록의 좌측 블록을 참조할 수 있는지 없는지 판단하는 S1003단계와,
    상기 S1003단계에서 참조할 수 없는 경우 임시 저장변수 R0에 그 좌측 블록의 DC 계수를 저장하는 S1004단계와,
    다음 블록의 좌측·상측 대각선 방향의 블록을 참조할 수 있는지 없는지 판단하는 S1007단계와,
    상기 S1007단계에서 참조할 수 없는 경우 임시 저장변수 R1에 그 좌측·상측 대각선 방향 블록의 DC 계수를 저장하는 S1008단계와,
    다음 블록의 좌측 블록을 참조할 수 있는지 없는지 판단하는 S1010단계와,
    상기 S1010단계에서 참조할 수 없는 경우 임시 저장변수 R2에 그 좌측 블록의 DC 계수를 저장하는 S1011단계와,
    예측 방향이 세로 방향이면 다음 블록의 예측 방향인 NEXT_DIR_REG에 1을 저장하고, 예측 방향이 가로 방향이면 NEXT_DIR_REG에 0을 저장하는 S1013단계와,
    다음 블록의 DC 계수 예측값을 R2에 저장하는 S1014단계로,
    구성됨을 특징으로 하는 MPEG-4에 있어서 이산여현변환된 AC/DC 계수의 복원방법.
  13. 청구항 12에 있어서, 상기 S1001단계에서 VOP나 VP의 마지막 블록일 경우 다음 블록의 예측 방향을 0으로 설정하는 S1015단계를 수행함을 특징으로 하는 MPEG-4에 있어서 이산여현변환된 AC/DC 계수의 복원방법.
  14. 청구항 12에 있어서, 상기 S1002단계에서 블록번호가 0이나 2일 경우, DC 계수로 곱셈기의 현재 출력을 사용하는 S1006단계를 수행함을 특징으로 하는 MPEG-4에 있어서 이산여현변환된 AC/DC 계수의 복원방법.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
KR10-2001-0068709A 2001-11-06 2001-11-06 Mpeg-4에 있어서 이산여현변환된 ac/dc 계수의복원회로 및 방법 KR100451257B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0068709A KR100451257B1 (ko) 2001-11-06 2001-11-06 Mpeg-4에 있어서 이산여현변환된 ac/dc 계수의복원회로 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0068709A KR100451257B1 (ko) 2001-11-06 2001-11-06 Mpeg-4에 있어서 이산여현변환된 ac/dc 계수의복원회로 및 방법

Publications (2)

Publication Number Publication Date
KR20030037507A KR20030037507A (ko) 2003-05-14
KR100451257B1 true KR100451257B1 (ko) 2004-10-06

Family

ID=29568082

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0068709A KR100451257B1 (ko) 2001-11-06 2001-11-06 Mpeg-4에 있어서 이산여현변환된 ac/dc 계수의복원회로 및 방법

Country Status (1)

Country Link
KR (1) KR100451257B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100454501B1 (ko) * 2001-12-26 2004-10-28 브이케이 주식회사 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법
KR20040031868A (ko) * 2002-10-07 2004-04-14 엘지전자 주식회사 동영상 부호화 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0843484A1 (en) * 1996-05-28 1998-05-20 Matsushita Electric Industrial Co., Ltd. Device and method for predicting and encoding image, device and method for predicting and decoding image, and recording medium
JPH10155154A (ja) * 1996-11-22 1998-06-09 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化装置および動画像復号装置
KR100281967B1 (ko) * 1998-08-31 2001-02-15 전주범 공간 상관성을 이용한 영상 부호화 장치 및 그 방법
KR20010055963A (ko) * 1999-12-13 2001-07-04 송문섭 영상 시스템에서 직류 계수 예측/복원 장치 및 그 방법
KR20030055479A (ko) * 2001-12-26 2003-07-04 한국전자통신연구원 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0843484A1 (en) * 1996-05-28 1998-05-20 Matsushita Electric Industrial Co., Ltd. Device and method for predicting and encoding image, device and method for predicting and decoding image, and recording medium
KR100324608B1 (ko) * 1996-05-28 2002-04-17 모리시타 요이찌 화상예측부호화장치와방법,화상예측복호화장치와방법,및기록매체
JPH10155154A (ja) * 1996-11-22 1998-06-09 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化装置および動画像復号装置
KR100281967B1 (ko) * 1998-08-31 2001-02-15 전주범 공간 상관성을 이용한 영상 부호화 장치 및 그 방법
KR20010055963A (ko) * 1999-12-13 2001-07-04 송문섭 영상 시스템에서 직류 계수 예측/복원 장치 및 그 방법
KR20030055479A (ko) * 2001-12-26 2003-07-04 한국전자통신연구원 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법

Also Published As

Publication number Publication date
KR20030037507A (ko) 2003-05-14

Similar Documents

Publication Publication Date Title
KR100963864B1 (ko) 스케일러블 비디오 코딩에서의 계층 간 예측 모드 코딩을위한 방법 및 시스템
CN101361370B (zh) 图像编码/图像解码方法以及图像编码/图像解码装置
CN101107861B (zh) 重叠平滑与环路内解块之分段处理
KR100289899B1 (ko) 블록간 내삽 예측 부호화 장치와 방법, 및 그 복호화 장치와 방법
KR101539235B1 (ko) 평활화 보간 필터를 이용하여 영상을 보간하는 방법 및 그 장치
EP0665512B1 (en) An image processing method and apparatus
US20050152451A1 (en) Video coding system
KR20070111467A (ko) 중간 루프 필터 데이터를 저장하는 스크래치 패드
CN104581160A (zh) 对图像边界的编码单元进行编码和解码的方法和设备
CN103931190A (zh) 图像编码设备、图像编码方法、图像解码设备、图像解码方法及存储介质
EP1832120A1 (en) Offset buffer for intra-prediction of digital video
WO2009087783A1 (ja) 符号化用データ生成装置、符号化用データ生成方法、復号装置および復号方法
KR100827093B1 (ko) 영상 부호화 방법 및 장치
CN1968420B (zh) 应用于影像译码器与编码器的影像处理方法
JP4973886B2 (ja) 動画像復号装置、復号画像記録装置、それらの方法及びプログラム
KR100454501B1 (ko) 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법
US11736694B2 (en) Image decoding method, encoding method, devices, terminal equipment and computer programs therefor
JP2003348592A (ja) 画像データ記憶装置、符号化装置、復号化装置、及び、圧縮伸長システム
KR100451257B1 (ko) Mpeg-4에 있어서 이산여현변환된 ac/dc 계수의복원회로 및 방법
TWI749297B (zh) 合成式預測及限制性合併技術
JP2012134878A (ja) 画像復号モジュール、画像符号化装置、画像復号装置、画像復号方法及びプログラム
WO2006118114A1 (ja) 画像復号方法、その装置及びプログラム
JPWO2019017327A1 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラムが格納された記録媒体
JPH11103463A (ja) 画像符号化方法及び記憶媒体
JP5412901B2 (ja) 復号化装置、画像処理装置、復号化方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120911

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130822

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140829

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150901

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160830

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20170828

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20180823

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20190902

Year of fee payment: 16