KR20000017121A - 동화상 복호 방법 및 장치 - Google Patents

동화상 복호 방법 및 장치 Download PDF

Info

Publication number
KR20000017121A
KR20000017121A KR1019990032215A KR19990032215A KR20000017121A KR 20000017121 A KR20000017121 A KR 20000017121A KR 1019990032215 A KR1019990032215 A KR 1019990032215A KR 19990032215 A KR19990032215 A KR 19990032215A KR 20000017121 A KR20000017121 A KR 20000017121A
Authority
KR
South Korea
Prior art keywords
time slot
buffer memory
unit
data
ram
Prior art date
Application number
KR1019990032215A
Other languages
English (en)
Other versions
KR100555284B1 (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 KR20000017121A publication Critical patent/KR20000017121A/ko
Application granted granted Critical
Publication of KR100555284B1 publication Critical patent/KR100555284B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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/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/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/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

Abstract

동기식 RAM에 대한 액세스 효율을 좋게 하고 또한 요구 사양을 만족시키기 위한 설계를 쉽게 한다.
메모리 제어부(12)는 버퍼 메모리부(21 ∼ 25) 각각에 대해 타임 슬롯을 주기적으로 할당하여 각 타임 슬롯에서 대응하는 버퍼 메모리부와 동기식 RAM(11) 간의 액세스를 제어한다. 동기식 RAM(11)에 대한 액세스가 최악인 경우를 상정하여 타임 슬롯을 정한다. 타임 슬롯군을 가상 1 수평 주사 기간에 [(1 수평 주사선 상의 화소수)/256]개 생성하고, 여기에 [ ]는 괄호 내의 값의 정수 부분을 나타낸다. 데이타량이 압축율에 의존하여 변화하는 버퍼 메모리(22)에 대해서는 타임 슬롯 종료 시점을 가변으로 하고 또는 인터럽트에 의해 예외적으로 타임 슬롯을 생성하여도 좋다.

Description

동화상 복호 방법 및 장치{METHOD AND DEVICE FOR DECODING MOVING PICTURE}
본 발명은 동화상 복호 방법 및 장치에 관한 것이다.
동화상 복호 장치에서는, 구성의 간단화를 위해, 하나의 메모리 버스에 복수의 처리부를 접속하고, 메모리를 메모리 제어부를 통해 메모리 버스에 접속하고 있다. 이 메모리에는, 비디오 부호화 데이타, 비디오 복호 데이타, 유저 데이타 및 오디오 데이타가 저장된다. 메모리로서는 통상의 DRAM이라도 좋지만, 보다 고속의 액세스를 가능하게 하기 위해, 램버스 DRAM 등의 동기식 RAM을 이용할 수 있다.
동화상 복호 장치에서는, 복호한 비디오 신호의 1프레임 기간(예를 들면 1/30초)에서 1프레임분의 복호 처리를 행하면 된다.
그러나, 화상에 의해 부호화 데이타의 압축율이나 예측 방법이 다르므로, 화상에 따라 부호화 데이타량 및 그 복호 처리 시간이 다르다.
그래서, 복수의 처리부 각각에 소 버퍼 메모리를 구비하고, 메모리 제어부에서 각 처리부로부터의 인터럽트 요구를 접수하여 버스권 조정을 행하고 있다.
그러나, 화상에 의해 부호화 데이타량 및 복호 처리 시간이 다르기 때문에, 인터럽트 요구가 경합하는 경우가 있고, 동기식 RAM이 랜덤 액세스적인 사용이 되어 메모리 액세스 효율이 나빠진다. 이 때문에, 하드웨어 전체의 성능을 높일 필요가 있어, 제품의 비용 상승의 원인이 된다.
또한, LSI 설계에서는 개발 기간 단축을 위해 일반적으로 시뮬레이션이 행해지지만, 어떠한 조건에서 최악의 경우의 메모리 액세스 요구가 생기는지를 특정하는 것이 곤란하므로, 최악의 경우를 상정한 시뮬레이션밖에 할 수 없다. 또한, 수초분의 비트 스트림에 대해 설계 시뮬레이션을 행하는데 수일을 요하는 경우도 있다.
그래서, 현상황에서는, LSI를 설계하여 제조한 후에, 이것에 많은 비트 스트림을 입력하여 실기 시험을 행하여, LSI의 동작을 보증하고 있다.
그러나, 최악의 경우에서의 동작이 보증되는지의 여부가 불분명하다. 또한, 실기 시험으로 동작이 보증되지 않은 경우에는, LSI를 설계 변경하고, 동일한 처리를 반복해야하므로, LSI의 개발 기간이 길어진다. 이것을 피하기 위해, 필요이상의 고성능의 LSI를 제조하면, 비용이 상승하게 된다.
본 발명의 목적은, 이러한 문제점에 감안하여, RAM에 대한 액세스 효율이 좋은 동화상 복호 방법 및 장치를 제공하는 것에 있다.
본 발명의 다른 목적은, 요구 사양을 만족하기 위한 설계가 용이한 동화상 복호 방법 및 장치를 제공하는 것에 있다.
청구항 1에서는, 복수의 처리부 각각과 메모리 버스사이에 버퍼 메모리부가 접속되고, 상기 메모리 버스에 메모리 제어부를 통해 RAM이 접속된 동화상 복호 장치에 있어서,
상기 메모리 제어부는, 복수의 상기 버퍼 메모리부 각각에 대해 타임 슬롯을 주기적으로 할당하여, 각 타임 슬롯에서, 대응하는 상기 버퍼 메모리부와 상기 RAM사이의 액세스를 제어한다.
RAM으로서는 SRAM이라도 좋지만, 용량이 비교적 크므로, 기억 밀도가 높고 염가인 DRAM이 실용적이다. 또한 통상의 DRAM에서도 페이지 모드와 마찬가지로 행어드레스를 지정하여 컬럼 어드레스를 연속적으로 변화시킴으로써, 랜덤 액세스보다도 고속 액세스가 가능하지만(액세스 효율이 높음), 램버스 DRAM이나 싱크로너스 DRAM과 같이 열어드레스를 내부 카운터로 연속적으로 변화시키는 동기식 DRAM이 보다 고속으로 액세스할 수 있으므로 바람직하다.
이 동화상 복호 장치에 따르면, 타임 슬롯으로 RAM에 대해 연속적인 액세스가 행해지므로, 액세스권이 빈번히 전환되어 RAM의 액세스 효율이 저하하는 것을 방지할 수 있다.
또한, RAM에 대한 액세스가 최악인 경우를 상정하여 타임 슬롯을 정할 수 있으므로, 동화상 복호 장치의 설계가 용이해진다.
청구항 2의 동화상 복호 장치에서는, 청구항 1에서 예를 들면 도 1에 도시된 바와 같이, 다중 비트 스트림을 복수의 비트 스트림으로 분리하는 시스템 다중 분리부와, 순서대로 종속 접속된 가변 길이 복호부, 역양자화부 및 역 DCT 부와, 예측 화상 생성부와, 상기 역 DCT 부 및 상기 예측 화상 생성부의 출력이 공급되는 가산기와, 복호 화상 데이타에 기초하여 비디오 신호를 생성하는 화상 출력부와, 상기 메모리 제어부가 접속된 메모리 버스를 구비하고,
상기 버퍼 메모리부는, 상기 시스템 다중 분리부의 출력단과 상기 메모리 버스사이에 접속된 제1 버퍼 메모리부(21)와, 상기 가변 길이 복호부의 입력단과 상기 메모리 버스사이에 접속된 제2 버퍼 메모리부(22)와, 상기 예측 화상 생성부의 입력단과 상기 메모리 버스사이에 접속된 제3 버퍼 메모리부(23)와, 상기 가산기의 출력단과 상기 메모리 버스사이에 접속된 제4 버퍼 메모리부(24)와, 상기 복호 화상 출력부의 입력단과 상기 메모리 버스사이에 접속된 제5 버퍼 메모리부(25)를 구비한다.
청구항 3의 동화상 복호 장치에서는, 청구항 2에서 예를 들면 도 5에 도시된 바와 같이, 상기 메모리 제어부는,
클럭을 계수하고 계수치가 주기적으로 변화하는 카운터와,
상기 카운터의 계수치에 기초하여 상기 타임 슬롯을 생성하는 타임 슬롯 생성부(123)와,
생성된 상기 타임 슬롯에서, 대응하는 상기 버퍼 메모리부와 상기 RAM사이의 액세스를 제어하는 리드/라이트 제어부(125)를 구비한다.
이 동화상 복호 장치에 따르면, 카운터의 계수치에 기초하여 타임 슬롯을 생성하므로, 타임 슬롯 폭의 설정을 용이하게 변경할 수 있다.
청구항 4의 동화상 복호 장치에서는, 청구항 3에서 예를 들면 도 6에 도시된 바와 같이, 상기 타임 슬롯 생성부는, 타임 슬롯군을 반복 생성하고, 각 타임 슬롯군은, 상기 제2, 제3 및 제4 버퍼 메모리부 각각에 대한 타임 슬롯(V, P 및 D)을 구비한다.
이 동화상 복호 장치에 따르면, 제2, 제3 및 제4 버퍼 메모리부의 필요한 용량을 작게 하는 것이 가능해진다.
청구항 5의 동화상 복호 장치에서는, 청구항 4에서 예를 들면 도 7 또는 도 10에 도시된 바와 같이 상기 타임 슬롯 생성부는 또한, 1수평 주사 기간의 정수배의 기간에 상기 제1 내지 제5 버퍼 메모리부에 대한 타임 슬롯(I 및 A)을 각각 하나이상 생성한다.
청구항 6의 동화상 복호 장치에서는, 예를 들면 도 9에 도시된 바와 같이 상기 타임 슬롯 생성부는 상기 제3 및 제4 버퍼 메모리부에 대한 타임 슬롯폭(P 및 D)을 일정하게 하고, 상기 제2 버퍼 메모리부에 대한 타임 슬롯(V)의 종료 시점을, 상기 제2 버퍼 메모리부에의 데이타 저장에 따라 상기 제2 버퍼 메모리부의 빈 영역이 없어진 시점으로 한다.
제2 버퍼 메모리부에서는 1매크로 블럭당의 데이타량이 압축율에 따라 다르지만, 이와 같이 하면 제2 버퍼 메모리부에 대해 RAM의 동일행에 대해 연속 액세스할 수 있는 데이타량이 많아지므로, RAM에 대한 액세스 효율이 향상한다.
청구항 7의 동화상 복호 장치에서는, 청구항 3에서 예를 들면 도 11에 도시된 바와 같이, 상기 타임 슬롯 생성부는 타임 슬롯군을 반복 생성하고, 각 타임 슬롯군은, 상기 제1 ∼ 제5 버퍼 메모리부 각각에 대한 타임 슬롯(I, V, P, D 및 A)을 구비한다.
이 동화상 복호 장치에 따르면, 각 타임 슬롯의 주기가 짧고 또한 일정하게 되므로, 제1 ∼ 제5 버퍼 메모리부의 필요한 용량을 삭감할 수 있다.
청구항 8의 동화상 복호 장치에서는, 청구항 7에서 예를 들면 도 12 내지 도 13에 도시된 바와 같이 상기 제2 버퍼 메모리부(22)는, 그 미처리 데이타량이 감소하여 설정치가 됐을 때에 인터럽트 요구 신호(IRQV)를 상기 메모리 제어부(12A)로 공급하고,
상기 타임 슬롯 생성부(123A)는, 제1 타임 슬롯군을 반복 생성하고, 각 제1 타임 슬롯군은, 상기 제1 및 제3 ∼ 제5 버퍼 메모리부 각각에 대한 타임 슬롯(I, P, D 및 A)을 구비하고, 상기 타임 슬롯 생성부는 또한, 상기 인터럽트 요구 신호에 응답하고, 현 제1 타임 슬롯군의 종료를 기다려 제2 타임 슬롯군을 생성하고, 상기 제2 타임 슬롯군은, 상기 제1, 제2 및 제5 버퍼 메모리부 각각에 대한 타임 슬롯(I, V 및 A)을 구비한다.
제2 버퍼 메모리부에 대해서는 1매크로 블럭당 전송해야 할 데이타량이 압축율에 따라 다르지만, 이 동화상 복호 장치에 따르면, 예외적인 인터럽트 처리에 따라, 제2 버퍼 메모리부에 대해 RAM의 동일행에 대해 연속 액세스할 수 있는 데이타량이 많아지므로, RAM에 대한 액세스 효율이 향상된다.
청구항 9의 동화상 복호 장치에서는, 청구항 8에서 예를 들면 도 12에 도시된 바와 같이 상기 제1 타임 슬롯군 폭과 상기 제2 타임 슬롯군 폭은 동일하다.
이 동화상 복호 장치에 따르면, 제1 및 제5 버퍼 메모리부에 대한 타임 슬롯의 주기가 인터럽트에 상관없이 일정하게 되므로, 제1 및 제5 버퍼 메모리부의 용량을 삭감할 수 있다.
청구항 10의 동화상 복호 장치에서는, 청구항 4 또는 7에서, 상기 타임 슬롯 생성부는, 상기 타임 슬롯군을 가상 k 수평 주사 기간에 k×[(1수평 주사선 상의 화소수)/256]개 생성하고, 여기에 [ ]는 괄호 내 값의 정수 부분을 나타낸다.
이 동화상 복호 장치에 따르면, 매크로 블럭 단위로 버퍼 메모리부가 액세스가능해지므로, 버퍼 메모리부의 용량을 작게 할 수 있다.
청구항 11에서는, 청구항 4 내지 10 중 어느 한 항에서 예를 들면 도 7의 c 및 도 8에 도시된 바와 같이, 상기 메모리 제어부는, 상기 카운터의 계수치에 기초하여 복호 처리 기간을 화상 표시 기간과 대응시키고, 복호 처리에서의 수직 블랭킹 기간에 상당하는 기간에서, 상기 제1 버퍼 메모리부에 대한 타임 슬롯 (I)만 가상 1수평 주사 기간에 적어도 하나 생성하고, 상기 제2 ∼ 제5 버퍼 메모리부에 대한 타임 슬롯을 생성하지 않고, 빈 시간에 상기 RAM에 대해 화상 데이타이외의 데이타의 액세스를 제어한다.
제1 버퍼 메모리부에의 비디오 비트 스트림은, 전송시의 전송 레이트가 일정하므로, 이 동화상 복호 장치에 따르면, 제1 버퍼 메모리부에 요구되는 용량을 될 수 있는 한 적게 할 수 있다.
청구항 12의 동화상 복호 장치에서는, 청구항 2 내지 11 중 어느 한 항에서 예를 들면 도 2에 도시된 바와 같이 상기 시스템 다중 분리부는, 입력 비트 스트림을 유저 데이타 식별 패턴과 비교하여 유저 데이타를 상기 입력 비트 스트림으로부터 분리하고, 상기 유저 데이타가 분리된 비트 스트림을 상기 제1 버퍼 메모리부로 공급한다.
유저 데이타에 대해서는, 그 량의 최악의 경우가 MPEG에 규정되어 있지 않으므로, 유저 데이타의 액세스를 타임 슬롯 제어로부터 제외함으로써, RAM에 요구되는 전송 레이트를 될 수 있는 한 작게 하는 것이 가능해진다.
청구항 13의 동화상 복호 장치에서는, 청구항 2 내지 12 중 어느 한 항에서 예를 들면 도 3에 도시된 바와 같이, 상기 제1 ∼ 5 버퍼 메모리부는 모두,
기록 어드레스 및 판독 어드레스를 각각 유지하는 입력 포인터 및 출력 포인터를 구비한 버퍼 메모리(221)와,
상기 기록 어드레스 및 판독 어드레스에 기초하여 상기 버퍼 메모리 내의 미처리 데이타 영역 또는 빈 영역의 사이즈를 연산하는 영역 사이즈 연산 회로(222)와,
상기 사이즈를 설정치와 비교하여 액세스 요구 신호를 생성하는 비교 회로(223)를 구비한다.
이 동화상 복호 장치에 따르면, 메모리 제어부에서 이 액세스 요구 신호를 이용함에 따라, 메모리 제어부에서의 제어가 간단해진다.
청구항 14의 동화상 복호 장치에서는, 청구항 13에서 예를 들면 도 4에 도시된 바와 같이 상기 비교 회로는, 미처리 데이타 영역 사이즈가 감소하여 소정치(SO)이하로 된후 상기 미처리 데이타 영역 사이즈가 최대치(Smax)가 되기까지, 상기 액세스 요구 신호(RQV)를 활성화한다.
청구항 15에서는, 청구항 14에서 예를 들면 도 7 a에 도시된 바와 같이 상기 메모리 제어부는, 상기 타임 슬롯에서 상기 타임 슬롯에 대응한 상기 액세스 요구 신호가 활성화되어 있을 때만 대응하는 상기 버퍼 메모리부와 상기 RAM사이의 액세스를 제어한다.
이 동화상 복호 장치에 따르면, 메모리 제어부에서의 제어가 더욱 간단해진다.
청구항 16의 동화상 복호 장치에서는, 청구항 15에서 상기 메모리 제어부는, 상기 타임 슬롯의 개시 시점에서 상기 타임 슬롯에 대응한 상기 액세스 요구 신호가 불활성일 때, 상기 타임 슬롯을, 상기 RAM에 대해 화상 데이타이외의 데이타의 액세스를 제어한다.
청구항 17의 동화상 복호 장치에서는, 청구항 2 내지 16 중 어느 한 항에서, 상기 제2 버퍼 메모리부는, 적어도 1매크로 블럭의 부호화 데이타의 규격상 허용 최대량의 기억 용량을 갖고,
상기 제2 버퍼 메모리부에 대한 상기 타임 슬롯의 폭은, 적어도 상기 RAM로부터 상기 최대량의 데이타를 판독하여 상기 제2 버퍼 메모리부로 전송하는데 필요한 시간이다.
청구항 18의 동화상 복호 장치에서는, 청구항 2 내지 16항 중 어느 한 항에서, 상기 제2 버퍼 메모리부는, 적어도 〔(1매크로 블럭의 부호화 데이타의 규격상 허용 최대량)×(상기 허용 최대량의 매크로 블럭이 1매크로 블럭 라인중에 포함되는 수 N)-A×(N-1)〕의 기억 용량을 구비하고, 여기에 A=(1매크로 블럭 라인의 부호화 데이타의 규격상 허용 최대량)/(1매크로 블럭 라인의 매크로 블럭수)이고,
상기 제2 버퍼 메모리부에 대한 상기 타임 슬롯의 폭은, 적어도 상기 RAM으로부터 량 A의 데이타를 판독하여 상기 제2 버퍼 메모리부로 전송하는데 필요한 시간이다.
청구항 19에서는, 복수의 처리부가 메모리 제어부를 통해 동기식 메모리 액세스하는 동화상 복호 방법에 있어서,
복수의 상기 처리부의 각각과 상기 RAM사이에 각각 구비된 버퍼 메모리부를 준비하고,
복수의 상기 버퍼 메모리부의 각각에 대해 타임 슬롯을 주기적으로 할당하고,
각 타임 슬롯에 있어서, 대응하는 상기 버퍼 메모리부와 상기 RAM사이의 액세스를 허가한다.
청구항 20의 동화상 복호 방법에서는, 청구항 19에서 상기 RAM에 대한 액세스가 최악인 경우를 상정하여 타임 슬롯을 정한다.
이 동화상 복호 방법에 따르면, 최악의 경우에서의 액세스가 보증되므로, 이 보증을 위해 실기 시험을 장시간 행할 필요가 없다.
청구항 21의 동화상 복호 방법에서는 청구항 20에서 예를 들면 도 8에 도시된 바와 같이 복호 처리 기간을 화상 표시 기간과 대응시켜 상기 타임 슬롯을 생성한다.
청구항 22의 동화상 복호 방법에서는, 청구항 21에서 상기 타임 슬롯군을 가상 k 수평 주사 기간에 k×[(1수평 주사선상의 화소수)/256]개 생성하고, 여기에 [ ]는 괄호 내의 값의 정수 부분을 나타낸다.
도 1은 본 발명의 제1 실시 형태의 동화상 복호 장치의 개략 구성과 시스템 다중 분리부를 나타내는 블럭도.
도 2는 도 1 중 시스템 다중 분리부의 구성예를 나타내는 블럭도.
도 3은 도 1 중 버퍼 메모리부의 구성예를 나타내는 블럭도.
도 4는 도 3의 버퍼 메모리부의 동작을 나타내는 타임차트.
도 5는 도 1 중 메모리 제어부의 구성예를 나타내는 블럭도.
도 6은 도 5의 회로의 동작을 나타내는 타임 차트.
도 7a는 도 5의 회로의 동작을 나타내는 타임차트이며, 도 8b 및 도 8c는 1프레임 기간 중의 가상 1 수평 주사 기간의 위치에 의해 도 7a와 다른 타임 슬롯열을 나타내는 도면.
도 8은 1 프레임 기간에서의 타임 슬롯열의 할당을 나타내는 도면.
도 9는 도 7a에 대응한 본 발명의 제2 실시 형태의 타임 슬롯 및 액세스 요구 신호를 나타내는 타임 차트.
도 10은 도 7a에 대응한 본 발명의 제3 실시 형태의 타임 슬롯열을 나타내는 도면.
도 11은 도 10에 대응한 본 발명의 제4 실시 형태의 타임 슬롯열을 나타내는 도면.
도 12는 본 발명의 제5 실시 형태의 메모리 제어부를 나타내는 블럭도.
도 13은 도 11에 대응한 본 발명의 제5 실시 형태의 타임 슬롯열을 나타내는 도면.
〈도면의 주요 부분에 대한 부호의 설명〉
10 : 동화상 복호 장치
11 : 동기식 RAM
12, 12A : 메모리 제어부
121, 122 : 카운터
123, 123A : 타임 슬롯 생성부
125 : 리드/라이트 제어부
124 : 요구 접수부
13 : 메모리 버스
20 ∼ 26 : 버퍼 메모리부
221 : FIFO 메모리
222 : 영역 사이즈 연산 회로
27 : 오디오 복호부
28 : MPU
30 : 가변 길이 복호부
31 : 역 양자화부
32 : 역 DCT부
33 : 가산부
35 : 화상 출력부
36 : 전체 제어부
40 : 시스템 다중 분리부
I, A, V, P, D : 타임 슬롯
RQI, RQD : 라이트 요구 신호
RQA, RQV, RQP : 리드 요구 신호
IRQV : 인터럽트 요구 신호
이하, 도면에 기초하여 본 발명의 실시 형태를 설명한다.
[제1 실시 형태]
도 1은, 본 발명의 제1 실시 형태의 동화상 복호 장치(10)의 개략 구성과 시스템 다중 분리부를 나타낸다.
동기식 RAM11에는, 비디오 부호화 데이타, 비디오 복호 데이타, 유저 데이타 및 오디오 데이타의 기억 영역이 할당되어 다. 동기식 RAM11은, 예를 들면 램버스 DRAM이고, 이것에 요구 패킷을 공급함으로써, 최초의 데이타의 액세스 후에 고속 액세스가 가능하다. 동기식 RAM11은, 메모리 제어부(12)를 통해 메모리 버스(13)에 접속되어 있다. 동기식 RAM11의 고속성을 확보하기 위해, 메모리 버스(13)에는 버퍼 메모리부(20 ∼ 26)가 접속되어 있다. 메모리 제어부(12)에 의해, 동기식 RAM11에 대한 버퍼 메모리부(21 ∼ 25)로부터의 액세스 요구가 조정된다. 버퍼 메모리부(21 ∼ 25)는 각각, 라이트 요구 신호 RQI, 리드 요구 신호 RQV 및RQP, 라이트 요구 신호 RQD 및 리드 요구 신호 RQA를 메모리 제어부(12)로 공급한다. 메모리 버스(13)에는 또한, 오디오 복호부(27) 및 MPU28이 접속되어 있다.
버퍼 메모리부(22)와 버퍼 메모리(24)사이에는 가변 길이 부호부(30), 역양자화부(31), 역DCT 부(32) 및 가산부(33)가 이 순서대로 종속 접속되어 있다. 가변 길이 복호부(30)에는 부호화 화상 데이타가 버퍼 메모리부(22)로부터 공급되고, 가산부(33)로부터 버퍼 메모리부(24)로 복호된 화상 데이타가 축적된다. 버퍼 메모리부(23)와 가산부(33)사이에는, 예측 화상 생성부(34)가 접속되어 있다. 예측 화상 생성부(34)는, 가변 길이 복호부(30)에서 분리된 동벡터 및 매크로 블럭 어드레스 인크리먼트 등의 정보를 수취하고, 매크로 블럭 어드레스와 동벡터로 정해지는 참조 화상 판독 개시 어드레스를 버퍼 메모리부(23)에 알리고, 버퍼 메모리부(23)는 이 어드레스로부터 참조 화상 데이타를 판독한다. 화상 출력부(35)에는, 복호된 화상 데이타가 버퍼 메모리부(25)로부터 공급되고, MPU28로부터, 문자 데이타인 유저 데이타를 그래픽 변환한 데이타가 공급된다.
MPEG 규격에 따라, 가변 길이 복호부(30), 역양자화부(31) 및 예측 화상 생성부(34)에서는 매크로 블럭 단위(16×16화소)로 처리가 행해지고, 역DCT 부(32)에서는 블럭 단위(8×8화소)로 처리가 행해진다. 버퍼 메모리부(24)에서는, 1매크로 블럭에 대해 블럭 단위로 6회 처리해도, 매크로 블럭 단위로 처리해도 된다.
동화상 복호 장치(10) 내의 전체의 제어는, 전체 제어부(36)에 의해 행해진다.
본 제1 실시 형태에서는, 동기식 RAM11에 대한 액세스권이 빈번히 전환되어 동기식 RAM11의 액세스 효율이 저하하는 것을 피하기 위해, 버퍼 메모리부(21 ∼ 25)로부터의 액세스 요구에 대해, 타임 슬롯 제어한다. 버퍼 메모리부(21 ∼ 25) 각각에 대한 액세스용 타임 슬롯은, 동기식 RAM11에 대한 액세스가 최악인 경우를 상정하여 후술된 바와 같이 미리 정해져 있다. 유저 데이타량은, 최악의 경우가 MPEG에 규정되어 있지 않으므로, 타임 슬롯 제어로부터 제외함으로써, 메모리 액세스 효율을 향상시킨다.
시스템 다중 분리부(40)의 구성예를, 도2에 나타낸다.
MPEG 방식의 다중화 비트 스트림은, 부호화되어 있는 비디오 비트 스트림과 오디오 비트 스트림과 유저 데이타 비트 스트림이 다중되고, 패킷화되어 있다. 패킷 헤더에는, 시스템 클럭 레퍼런스 SCR, 스트림 ID 및 프레젠테이션 타임 스탬프 PTS 등의 정보가 포함되어 있다.
다중화 비트 스트림은, 시프트 레지스터(41)를 통해 멀티플렉서(42)로 공급된다. 시프트 레지스터(41)의 병렬 출력은, 분리 제어 회로(43)에 의해 유저 데이타 식별 패턴(44)과 비교되고, 분리 제어 회로(43)로부터 일치 신호 EQ가 멀티플렉서(42)의 제어 입력단으로 공급된다. 시프트 레지스터(41)의 비트수는, 예를 들면 일련의 '패킷 스타트 코드', '스트림 ID' 및 '패킷길이'의 전비트수이다. 유저 데이타 식별 패턴(44)으로부터 패킷 스타트 코드와 유저 데이타의 스트림 ID가 공급된다. 분리 제어 회로(43)는 비교기, 유저 데이타 종료 판정용 카운터(431) 및 일치 신호 EQ를 출력하는 플립플롭(432)을 구비하고 있다.
분리 제어 회로(43)는, 패킷 스타트 코드의 다음 스트림 ID가 유저 데이타를 나타내는 것을 비교기로 검출하면, 상기 패킷 길이를 카운터(431)로 로드하고, 플립플롭(432)을 셋트하여 일치 신호 EQ를 활성화한다. 이에 따라, 멀티플렉서(42)의 출력이 도 1의 버퍼 메모리부(20)측으로 전환된다. 카운터(431)의 카운트는 클럭으로 디크리먼트되고, 카운트가 0이 되면 플립플롭(432)이 리셋트되어 일치 신호 EQ가 불활성으로 된다. 이에 따라, 멀티플렉서(42)의 출력이 주분리부(45)측으로 전환된다. 주분리부(45)는, 입력 비트 스트림으로부터 시스템 타임 클럭 STC 등의 동기 정보를 분리하여 도 1의 전체 제어부(36)로 공급하고, 또한 스트림 ID에 기초하여 입력 비트 스트림을 비디오 비트 스트림과 오디오 비트 스트림으로 분리하고, 각각 도 1의 버퍼 메모리부(21 및 26)로 공급한다.
도 3은 버퍼 메모리부(22)의 구성예를 나타낸다.
FIFO 메모리(221)는 입력 포트와 출력 포트를 구비한 2 포트 RAM이며, 다음의 기록 어드레스 및 판독 어드레스를 유지하는 입력 포인터 IP 및 출력 포인터 OP를 구비하고 있다. 영역 사이즈 연산 회로(222)는 이 출력 포인터 OP 값과 입력 포인터 IP의 값에 기초하여, 미처리 데이타 영역 사이즈 S를 연산하고 비교기(223)에 공급한다. 비교기(223)는 출력 유지형이며, 영역 사이즈 S와 설정치 S0를 비교하고, 예를 들면 도 4에 도시한 바와 같이 영역 사이즈 S가 감소하여 S=S0가 된 것을 검출하면, 출력 RQV를 고레벨로 하여 이것을 유지한다. 이 상태에서, 비교기(223)는 영역 사이즈 S와 설정치(용량) Smax를 비교하고, S=Smax가 되면 출력 리드 요구 신호 RQV를 저레벨로 리셋트한다.
이와 같은 리드 요구 신호 RQV를 버퍼 메모리부(22)에서 생성함으로써 메모리 제어부(12)에서의 제어가 간단해진다.
버퍼 메모리부(21, 23 ∼ 25) 모두 설정치 S0 및 용량 Smax 이외는 버퍼 메모리부(22)와 마찬가지로 구성되어 있다.
도 1에서 전체 제어부(36)는 불연속적인 시스템 타임 클럭 STC에 기초하여 연속적인 시스템 클럭 CLK를 생성하고, 이 시스템 클럭 CLK를 분주하여 가상 수평 동기 신호 VHSYNC(복호 처리에서는 표시의 수평 동기 신호와 무관계이므로 「가상」을 부가하였다. 이하 마찬가지.)를 생성하고, 가상 수평 동기 신호 VHSYNC를 분주하여 가상 수직 동기 신호 VVSYNC를 생성하고, 이들을 타임 슬롯 생성용으로서 메모리 제어부(12)에 공급한다.
도 5는 메모리 제어부(12)의 구성예를 나타낸다.
시스템 클럭 CLK 및 가상 수평 동기 신호 VHSYNC는 각각 카운터(121, 122)의 클럭 입력단 CK에 공급되어, 그 펄스가 카운트된다. 카운터(121, 122)의 리셋트 입력단 RST에는 각각 가상 수평 동기 신호 VHSYNC 및 가상 수직 동기 신호 VVSYNC가 공급되며, 그 펄스에 의해 카운트가 제로 클리어된다. 카운터(121, 122)의 카운트 CNT 및 CNTH는 타임 슬롯 생성부(123)에 공급된다.
타임 슬롯은 타임 슬롯 생성부(123)에 의해 이하와 같이 정해진다.
1 프레임 기간(예를 들면 1/30초)에서 1 프레임분의 복호 처리를 행하면 좋다. 통상, 수평 방향에 720 화소가 있으며, 이 경우 가상 1 수평 주사 기간(1H)에 처리해야할 매크로 블럭수는 720÷(16×16)=2.8 이상이다. 그래서, 본 제1 실시 형태에서는 1H에 3매크로 블럭의 데이타를 처리할 수 있도록 동화상 신호 장치(10)를 설계한다.
도 6은 카운트 CNT와 타임 슬롯의 구획 관계를 나타낸다. 타임 슬롯 생성부(123)는 카운트 CNT가 0 및 N1 ∼ N10이 된 것을 검출하여, 타임 슬롯의 구획을 결정한다. 도 6에서 I 및 D는 각각 도 1의 버퍼 메모리부(21, 24)로부터 동기식 RAM(11)으로 데이타를 전송하는데에 할당되는 타임 슬롯이며, V, P 및 A는 각각 도 1의 동기식 RAM(11)으로부터 버퍼 메모리부(22, 23, 25)로 데이타를 전송하는데에 할당되는 타임 슬롯이다.
타임 슬롯 생성부(123)는 도 7a에 도시한 바와 같이 1H에서 타임 슬롯 I 및 A를 생성하고 다시 타임 슬롯 V, P 및 D로 이루어진 타임 슬롯군을 반복하여 3회 생성한다.
1 프레임이 720×480 화소=(720/16)×(480/16)=45×30 매크로 블럭인 경우, 45×30/3=450H로 1 화소분의 복호 처리를 행할 수 있다. 따라서, 복호 처리에 대해서는 1프레임 기간에 30H 남는다. 그래서, 도 8에 도시한 바와 같이, 카운트 CNTH가 1 ∼ 225의 탑필드 복호 기간 다음에 카운트 CNTH가 226 ∼ 239의 나머지 기간을 배치하고, 카운트 CNTH가 263 ∼ 287의 바텀필드 복호 기간 다음에 카운트 CNTH가 489 ∼ 502의 나머지 기간을 배치한다. 이 나머지 기간에서는 타임 슬롯 I 및 A만 생성하면 된다. 탑필드 및 바텀필드 각각에 대응하여 카운트 CNTH가 240 ∼ 262 및 503 ∼ 205의 수직 블랭킹 기간이 있다. 이 기간에서는, 타임 슬롯 I만 생성하면 된다.
타임 슬롯 생성부(123)는 카운트 CNTH의 값에 기초하여, 복호 기간의 각 1H에서 도 7a의 타임 슬롯열을 생성하고, 나머지 기간의 각 1H에서 도 7b의 타임 슬롯열을 생성하고, 수직 블랭킹 기간의 각 1H에서 도 7c의 타임 슬롯열을 생성한다.
버퍼 메모리부(21)로의 비디오 비트 스트림은 전송 시의 전송레이트가 일정하므로, 수직 블랭킹 기간에서도 1H에 1개의 타임 슬롯 I를 생성함으로써, 버퍼 메모리부(21)에 요구되는 용량을 가능한 한 적게 할 수 있다.
타임 슬롯 생성부(123)는 예를 들면 도 7a ∼ 도 7c에 도시한 바와 같이 타임 슬롯 I, A, V, P, D 및 타임 슬롯 없음을 각각 타임 슬롯치 TS=0 ∼ 5와 대응시켜서 타임 슬롯치 TS를 요구 접수부(124)에 공급한다.
요구 접수부(124)는 타임 슬롯치 TS가 0으로 변화한 시점에서 라이트 요구 신호 RQI가 고레벨이면 이것을 접수하고, 타임 슬롯치 TS가 1로 변화한 시점에서 리드 요구 신호 RQA가 고레벨이면 이것을 접수하고, 타임 슬롯치 TS가 2로 변화한 시점에서 리드 요구 신호 RQV가 고레벨이면 이것을 접수하고, 타임 슬롯치 TS가 3으로 변화한 시점에서 리드 요구 신호 RQP가 고레벨이면 이것을 접수하고, 타임 슬롯 TS가 4로 변화한 시점에서 라이트 요구 신호 RQD가 고레벨이면 이것을 접수한다. 그리고, 접수된 요구 신호를 리드/라이트 제어부(125)에 공급한다.
리드/라이트 제어부(125)는 이 요구 신호에 응답하여, 이 요구 신호가 저레벨이 되기까지 동기식 RAM(11)을 액세스하여 이 요구를 만족시킨다. 도 7a는 타임 슬롯치 TS와 요구 신호와의 관계를 나타내고 있다. 이 관계는 도 7b 및 도 7c의 타임 슬롯열에 대해서도 마찬가지이다.
타임 슬롯치 TS가 변화한 시점에서 대응하는 요구 신호가 저레벨로 된 때 및 도 7b 및 도 7c에서 TS=5인 경우에는 화상 데이타 이외의 처리가 행해진다. 즉, 도 1의 버퍼 메모리부(20, 26), 오디오 복호부(27) 또는 MPU(28)에 대해 버스권이 주어진다. 음성 데이타 및 유저 데이타는 화상 데이타량에 비교하여 작으므로 이와 같이 해도 충분한 처리 시간이 확보된다.
다음에 도 7a를 참조하여, 1H에서의 동화상 복호 장치(10)의 동작을 설명한다.
비디오 비트 스트림이 버퍼 메모리부(21)에 축적되며, 라이트 요구 신호 RQI가 고레벨로 천이한다. 타임 슬롯 생성부(123)에 의해 타임 슬롯 I가 생성되고, 요구 접수부(124)에 의해 라이트 요구 신호 RQI가 접수되며, 리드/라이트 제어부(125)에 의해 버퍼 메모리부(21)의 데이타가 동기식 RAM(11)의 비디오 복호화 데이타 영역으로 전송된다.
버퍼 메모리부(25)에 축적된 복호 화상 데이타가 화상 출력부(35)에서 판독된다. 화상 출력부(35)는 포맷 변환, 표색변환 및 아날로그 변환 등을 행하여 비디오 신호 VS를 생성한다. 경우에 따라, 프로그램 내용이나 자막 수퍼 등의 유저 데이타(문자 데이타)를 그래픽 변환한 데이타가 MPU(28)로부터 화상 출력부(35)로 공급되어 버퍼 메모리부(25)로부터의 화상 데이타와 합성된다.
리드 요구 신호 RQA가 고레벨로 천이하고 타임 슬롯 생성부(123)에 의해 타임 슬롯 A가 생성되며, 요구 접수부(124)에 의해 리드 요구 신호 RQA가 접수되며, 리드/라이트 제어부(125)에 의해 동기식 RAM(11)의 비디오 신호 데이타 영역의 데이타가 1라인분 버퍼 메모리부(25)에 전송된다.
버퍼 메모리부(22)에 축적된 1매크로 블럭의 데이타가 가변 길이 복호부(30)에서 판독되어, 동벡터 등의 정보가 분리되어 예측 화상 생성부(34)에 공급되며 다음에 부호화 데이타가 양자화 DCT 계수로 변환된다. 예측 화상 생성부(34)에서는 상기 참조 화상 판독 어드레스를 버퍼 메모리부(23)에 공급한다. 버퍼 메모리부(22)의 데이타 축적량의 저하에 따라서 리드 요구 신호 RQV가 고레벨로 천이한다. 타임 슬롯 생성부(123)에 의해 타임 슬롯 V가 생성되며, 요구 접수부(124)에 의해 리드 요구 신호 RQV가 접수되며, 리드/라이트 제어부(125)에 의해 동기식 RAM(11)의 비디오 부호화 데이타 영역의 데이타가 버퍼 메모리부(22)에 전송된다.
가변 길이 복호부(30)의 출력이 역양자화부(31)에 의해 DCT계수로 변환되며, 다음에 역 DCT부(32)에서 공간 영역의 데이타로 변환된다. 역 DCT부(32)의 출력이 I 픽쳐(내부 부호화 화상)의 경우에는 예측 화상 생성부(34)의 출력이 0이며, 역 DCT부(32)의 출력이 P 픽쳐(전방향 예측 부호 화상) 또는 B 픽쳐(양 방향 예측 부호화 화상)인 경우에는, 예측 화상 생성부(34)는 참조 화상을 버퍼 메모리부(23)로부터 판독하고 예측 화상을 생성하여 가산부(33)에 공급한다.
버퍼 메모리부(22)의 데이타 축적량의 저하에 따라서 리드 요구 신호 RQP가 고레벨로 천이한다. 타임 슬롯 생성부(123)에 의해 타임 슬롯 P가 생성되며, 요구 접수부(124)에 의해 리드 요구 신호 RQP가 접수되며, 리드/라이트 제어부(125)에 의해 동기식 RAM(11)의 비디오 복호 데이타 영역의 데이타가 버퍼 메모리부(23)에 전송된다.
가산부(33)의 연산 결과가 복호 화상 데이타로서 버퍼 메모리부(24)에 1매크로 블럭분 축적된다. 버퍼 메모리부(22)의 데이타 축적량의 상승에 따라서 라이트 요구 신호 RQD가 고레벨로 천이한다. 타임 슬롯 생성부(123)에 의해 타임 슬롯 D가 생성되며, 요구 접수부(124)에 의해 라이트 요구 신호 RQD가 접수되며, 리드/라이트 제어부(125)에 의해 버퍼 메모리부(24)의 데이타가 동기식 RAM(11)의 비디오 복호 데이타 영역으로 전송된다.
이와 같이 하여, 1타임 슬롯군의 기간(1매크로 블럭 처리 기간)에서 1 매크로 블럭의 부호화 데이타가 복호된다. 이 처리가 1H에 3회 반복하여 행해진다.
다음에, 타임 슬롯폭, 타임 슬롯당 최대 데이타 전송량 및 버퍼 메모리부의 기억 용량의 결정 방법에 대해서 설명한다.
1 매크로 블럭당 데이타량은 처리부에 따라 다르며, 이 양의 데이타를 처리하는데에 필요한 시간도 처리부에 따라 다르다. 또한, 버퍼 메모리부와 동기식 RAM(11) 간의 데이타 전송 시간은 동기식 RAM(11)의 액세스 속도에 의존한다.
도 1에서 시스템 다중 분리부(40)로부터 버퍼 메모리부(21)로의 1화상당 데이타량은 압축률에 의해 크게 다르지만, 전송 시의 데이타 전송레이트는 예를 들면 6Mbps로 일정하며, 이에 기초하여 1H마다 버퍼 메모리부(21)로부터 동기식 RAM(11)으로 전송하는데에 필요한 최대 데이타량, 타임 슬롯폿 및 버퍼 메모리부(21)의 용량을 정한다.
동기식 RAM(11)으로부터 버퍼 메모리부(22)로의 1매크로 블럭당 데이타 전송량은 부호화 데이타 압축도에 따라 다르지만, 이하와 같이 최악의 경우를 생각하여 상기 값을 정한다.
(1) 결정 방법 1
버퍼 메모리부(22)로부터 가변 길이 복호부(30)로의 데이타 전송량이 최악인 경우는 MPEG 규격에 따르면 다음과 같다.
1 매크로 블럭 라인 중, 최대 9216 비트의 매크로 블럭(정확하게는, 9216 비트는 DCT 계수의 비트수이며, 동벡터나 매크로 블럭 어드레스 등의 제어 정보가 있으며, 1 매크로 블럭의 최대 비트수는 이보다 약간 증가한다.)이 많아도 2개이며, 나머지의 매크로 블럭은 모두 최대로는 4608 비트이다. 1매크로 블럭 라인이 45 매크로 블럭인 경우에는 1매크로 블럭 라인의 메모리 전송량이 최악인 경우는,
9,216비트×2+4, 608비트×43=216,576비트
이다. 따라서, 이 경우의 1매크로 블럭당 평균 비트수는 216,576/45≒4,813 비트가 된다.
2매크로 블럭 라인에서의 최악의 경우에서는 최초의 1매크로 블럭 라인의 마지막인 2매크로 블럭 각각이 9,216비트이며, 다음의 1매크로 블럭 라인의 처음 2매크로 블럭 각각은 9,216비트이고, 그 다음의 1매크로 블럭이 4,608비트이다.
이 경우, 가변 길이 복호부(30)가 1매크로 블럭의 데이타를 처리할 때마다 동기식 RAM(11)으로부터 메모리 제어부(12)를 통하여 버퍼 메모리부(22)로 4,813비트 전송하고자 하면, 할당된 타임 슬롯 V에서 가변 길이 복호부(30)가 처리를 스킵하지 않도록 하기 위해서 버퍼 메모리부(22)에 필요한 기억 용량은,
9,216비트×4-4,813비트×3=22,425비트
이다. 이 최악의 경우인 3매크로 블럭 처리 기간에서 가변 길이 복호부(30)가 3매크로 블럭=9,216비트×3회 처리하고, 이 동안에 버퍼 메모리부(22)로 4,813비트×3회 보급하면, 다음의 매크로 블럭 처리 기간의 최초에서 버퍼 메모리부(22) 내에는,
22,425-9,216×3+4,813×3=9,216비트
의 데이타가 남는다. 다음의 1매크로 블럭 처리 기간에서 가변 길이 복호부(30)가 9,216비트 처리하고, 4,813비트가 버퍼 메모리부(22)에 보급된다. 따라서, 다음의 1매크로 블럭 처리 기간에서 가변 길이 복호부(30)가 4,608 비트를 처리할 수 있어 이 최악의 경우에 대처할 수 있다.
(2) 결정 방법 2
타임 슬롯폭을 넓게하고 또는 액세스 속도가 높은 RAM(11)을 이용함으로써, 1 타임 슬롯에서 버퍼 메모리부(22)로 9,216 비트 보급하면, 버퍼 메모리부(22)에 필요한 기억 용량은 9,216비트로 상기한 경우보다도 적어진다.
(3) 결정 방법 3
또한, MPEG 규격에 따르면, 1픽쳐당 최대 비트수는 1.75Mb이다. 1픽쳐가 675 매크로 블럭인 경우, 1매크로 블럭당 평균 비트수는 1.75Mb/675≒2,719비트가 된다. 따라서, 1타임 슬롯에서 버퍼 메모리부(22)로 2,719비트 보급하도록 하여도 좋다. 이 경우, 명백하게 (1)의 경우보다도 버퍼 메모리부(22)에 필요한 기억 용량이 커진다.
이상의 (1) ∼ (3)과 같이, 1 타임 슬롯당 동기식 RAM(11)으로부터 버퍼 메모리부(22)로 데이타 전송하는 량이 평균화되어 적어질수록 버퍼 메모리부(22)에 필요한 기억 용량은 커진다.
버퍼 메모리부(23)로부터 예측 화상 생성부(34)로의 1매크로 블럭당 데이타 전송량은 양방향 예측의 경우에 최악의 경우가 되므로, 이 경우에 기초하여 버퍼 메모리부(23)의 기억 용량을 정한다.
비디오 비트 스트림이 버퍼 메모리부(21)로 공급되어 있을 때의 데이타 전송레이트는 정해져 있으며 또한 버퍼 메모리부(25)로부터 화상 출력부(35)로의 데이타 전송 레이트는 정해져 있으며 이에 기초하여 버퍼 메모리부(21 및 25)의 용량을 정한다.
예를 들면, MPU(28)가 RAM(11) 내의 유저 데이타(문자 데이타)를 그래픽 데이타로 변환하여 RAM(11) 내에 기록해두고, 이것을 판독하여 화상 출력부(35)에 합성용 데이타로서 공급하는 경우나 표시 화면을 2분할하여 2개의 프로그램을 표시시키는 경우에는 RAM(11)에 대한 액세스 회수가 증가하므로, RAM(11)에 대한 1 타임 슬롯당 데이타 액세스량이 적어지며, 버퍼 메모리부의 용량을 크게할 필요가 있다. 그렇지 않은 경우에는, RAM(11)에 대한 1타임 슬롯당 데이타 액세스량을 많게 하여 버퍼 메모리부의 용량을 적게 함으로써 제조 비용을 저감하는 편이 바람직하다.
또, 상기 나머지 기간 및 수직 블랭킹 기간에서 다른 처리를 행하여도 여유 기간이 확보되는 경우에는 버퍼 메모리의 용량을 상술한 경우보다도 작게 하고, 버퍼 메모리에 1매크로 블럭분의 데이타 의존하지 않은 경우에는 처리부에서 처리를 스킵하고, 이에 의해 처리가 엇갈려 상기 나머지 기간에서도 처리를 실행하도록 하여도 좋다.
[제2 실시 형태]
도 9는 도 7a에 대응한 본 발명의 제2 실시 형태의 타임 슬롯 및 액세스 요구 신호를 나타낸다.
버퍼 메모리부(22)로의 1매크로 블럭의 데이타량이 압축률에 의해 크게 다르다. 그래서 이 실시 형태에서는, 도 5에서 요구 접수부(124)에 공급되는 리드 요구 신호 RQV를 타임 슬롯 생성부(123)에도 공급하고 있다. 그리고, 타임 슬롯 생성부(123)는 타임 슬롯 V만 리드 요구 신호 RQV가 상승한 시점에서 이 타임 슬롯을 종료함으로써 타임 슬롯폭을 가변으로 하고 있다.
이에 의해, 동기식 RAM(11)의 동일 행에 대해 연속 액세스할 수 있는 데이타량이 많아지므로 동기식 RAM(11)에 대한 액세스 효율이 향상된다.
[제3 실시 형태]
도 10은 도 7a에 대응한 본 발명의 제2 실시 형태의 타임 슬롯 및 액세스 요구 신호를 나타낸다.
이 실시 형태에서는, 도 7의 1수평 주사 기간을 2수평 주사 기간으로 함으로써 타임 슬롯 V와 P와 D로 이루어지는 타임 슬롯군을 도 7의 경우의 2배인 6회 반복 생성하고 있다.
이에 의해, 타임 슬롯 I 및 A에 대해서 동기식 RAM(11)의 동일 행에 대해 연속 액세스할 수 있는 데이타량이 많아지므로 액세스 효율이 향상된다.
[제4 실시 형태]
도 11은 도 10에 대응한 본 발명의 제4 실시 형태의 타임 슬롯열을 나타내는 도면이다.
이 실시 형태에서는, 타임 슬롯 I 및 A를 타임 슬롯 V, P 및 D의 타임 슬롯군에 포함함으로써, 타임 슬롯 I 및 A의 주기도 1매크로 블럭 처리 기간으로 하고 있다.
이에 의해, 버퍼 메모리군(21, 25)의 필요한 용량을 삭감할 수 있다.
도 11에서는, 도 10과의 관계에서 2수평 주사 기간에 대해 나타내고 있지만, 1 수평 주사 기간이 정확히 3매크로 블럭 처리 기간과 동일해지므로, 1수평 주사 기간에 대해 타임 슬롯을 할당된 경우와 동일해진다.
[제5 실시 형태]
도 12는 본 발명의 제5 실시 형태의 메모리 제어부(12A)를 나타낸다.
이 회로에서는, 버퍼 메모리부(22)로부터 요구 접수부(124)로의 리드 요구 신호 RQV를 인터럽트 요구 신호 IRQV로서 타임 슬롯 생성부(123A)에도 공급하고 있다.
타임 슬롯 생성부(123A)는, 도 13에 도시한 바와 같이 원칙적으로 타임 슬롯군으로부터 타임 슬롯 V를 제외하고 있다. 그리고, 인터텁트 요구 신호 IRQV가 활성화될 때만 예외로 하여 현타임 슬롯 종료 시점에서 타임 슬롯 P와 D 대신에 타임 슬롯 V를 할당된 타임 슬롯군의 생성을 개시하고 있다. 이 타임 슬롯군도 1매크로 블럭 처리 기간을 다른 그것과 동일하게 하고 있다. 그리고, 타임 슬롯 V의 양측에 타임 슬롯 I 및 A를 할당함으로써, 타임 슬롯 I 및 A의 주기를 인터럽트에 상관없이 일정하게 하여 버퍼 메모리부(21, 25)의 용량 삭감을 꾀하고 있다.
또, 본 발명에는 그 외에도 여러가지의 변형예를 포함하고 있다.
예를 들면, 도 5의 카운터(122)를 이용하지 않고, 그 출력 대신에 카운터(121)의 상위 비트를 이용하여도 좋다.
또한, 버퍼 메모리부(21 ∼ 25)로부터 메모리 제어부(12)로 요구 신호를 공급하지 않고, 타임 슬롯에 대응하는 버퍼 메모리부의 액세스를 실행시키도록 하여도 좋다.
동기식 RAM(11) 대신에 페이지 모드 등과 같이 행 어드레스를 지정하여 열 어드레스를 연속적으로 변화시킴으로써 액세스 효율이 랜덤 액세스의 경우보다도 높아지는 비동기식 RAM을 이용하여도 좋다. RAM(11)은 SRAM이어도 좋지만 예를 들면, 적어도 16Mb이므로 기억 밀도가 SRAM보다 높고 염가인 DRAM 쪽이 실용적이다.
본원 발명의 실시예에 따른 동화상 복호 장치에 따르면, 타임 슬롯으로 RAM에 대해 연속적인 액세스가 행해지므로 액세스권이 전환되어 RAM의 액세스 효율이 저하하는 것을 방지할 수 있으며, RAM에 대한 액세스가 최악인 경우를 상정하여 타임 슬롯을 정할 수 있으므로 동화상 복호 장치의 설계가 용이해 진다.

Claims (22)

  1. 복수의 처리부의 각각과 메모리 버스사이에 버퍼 메모리부가 접속되고 상기 메모리 버스에 메모리 제어부를 통해 RAM이 접속된 동화상 복호 장치에 있어서,
    상기 메모리 제어부는 복수의 상기 버퍼 메모리부 각각에 대해 타임 슬롯을 주기적으로 할당하고, 각 타임 슬롯에서 대응하는 상기 버퍼 메모리부와 상기 RAM사이의 액세스를 제어하는 것을 특징으로 하는 동화상 복호 장치.
  2. 제1항에 있어서,
    다중 비트 스트림을 복수의 비트 스트림으로 분리하는 시스템 다중 분리부와, 순서대로 종속 접속된 가변 길이 복호부, 역양자화부 및 역 DCT 부와, 예측 화상 생성부와, 상기 역 DCT 부 및 상기 예측 화상 생성부의 출력이 공급되는 가산기와, 복호 화상 데이타에 기초하여 비디오 신호를 생성하는 화상 출력부를 더 포함하며,
    상기 버퍼 메모리부는 상기 시스템 다중 분리부의 출력단과 상기 메모리 버스사이에 접속된 제1 버퍼 메모리부와, 상기 가변 길이 복호부의 입력단과 상기 메모리 버스사이에 접속된 제2 버퍼 메모리부와, 상기 예측 화상 생성부의 입력단과 상기 메모리 버스사이에 접속된 제3 버퍼 메모리부와, 상기 가산기의 출력단과 상기 메모리 버스사이에 접속된 제4 버퍼 메모리부와, 상기 화상 출력부의 입력단과 상기 메모리 버스사이에 접속된 제5 버퍼 메모리부를 구비하는 것을 특징으로 하는 동화상 복호 장치.
  3. 제2항에 있어서,
    상기 메모리 제어부는,
    클럭을 계수하며 계수치가 주기적으로 변화하는 카운터,
    상기 카운터의 계수치에 기초하여 상기 타임 슬롯을 생성하는 타임 슬롯 생성부, 및
    생성된 상기 타임 슬롯에서 대응하는 상기 버퍼 메모리부와 상기 RAM사이의 액세스를 제어하는 리드/라이트 제어부
    를 구비한 것을 특징으로 하는 동화상 복호 장치.
  4. 제3항에 있어서,
    상기 타임 슬롯 생성부는 타임 슬롯군을 반복 생성하고, 각 타임 슬롯군은 상기 제2, 제3 및 제4 버퍼 메모리부 각각에 대한 타임 슬롯을 갖는 것을 특징으로 하는 동화상 복호 장치.
  5. 제4항에 있어서,
    상기 타임 슬롯 생성부는 1수평 주사 기간의 정수배인 기간에 상기 제1 및 제5 버퍼 메모리부에 대한 타임 슬롯을 각각 하나 이상 생성하는 것을 특징으로 하는 동화상 복호 장치.
  6. 제4항 또는 제5항에 있어서,
    상기 타임 슬롯 생성부는 상기 제3 및 제4 버퍼 메모리부에 대한 타임 슬롯 폭을 일정하게 하고, 상기 제2 버퍼 메모리부에 대한 타임 슬롯의 종료 시점을 상기 제2 버퍼 메모리부에의 데이타 저장에 의해 상기 제2 버퍼 메모리부의 빈 영역이 없어진 시점으로 하는 것을 특징으로 하는 동화상 복호 장치.
  7. 제3항에 있어서,
    상기 타임 슬롯 생성부는 타임 슬롯군을 반복 생성하고, 각 타임 슬롯군은 상기 제1 ∼ 제5 버퍼 메모리부의 각각에 대한 타임 슬롯을 갖는 것을 특징으로 하는 동화상 복호 장치.
  8. 제7항에 있어서,
    상기 제2 버퍼 메모리부는 그 미처리 데이타량이 감소하여 설정치가 됐을 때에 인터럽트 요구 신호를 상기 메모리 제어부로 공급하고,
    상기 타임 슬롯 생성부는 제1 타임 슬롯군을 반복 생성하고, 각 제1 타임 슬롯군은, 상기 제1 및 제3∼제5 버퍼 메모리부 각각에 대한 타임 슬롯을 갖고, 상기 타임 슬롯 생성부는 또한, 상기 인터럽트 요구 신호에 응답하고, 현 제1 타임 슬롯군의 종료를 기다려 제2 타임 슬롯군을 생성하고, 상기 제2 타임 슬롯군은 상기 제1, 제2 및 제5 버퍼 메모리부 각각에 대한 타임 슬롯을 갖는 것을 특징으로 하는 동화상 복호 장치.
  9. 제8항에 있어서,
    상기 제1 타임 슬롯군 폭과 상기 제2 타임 슬롯군 폭은 동일한 것을 특징으로 하는 동화상 복호 장치.
  10. 제4항 또는 제7항에 있어서,
    상기 타임 슬롯 생성부는 상기 타임 슬롯군을 가상 k 수평 주사 기간에 k×[(1수평 주사선상의 화소수)/256]개 생성하고, 여기에 [ ]는 괄호 내의 값의 정수 부분을 나타내는 것을 특징으로 하는 동화상 복호 장치.
  11. 제4항 내지 제10항 중 어느 한 항에 있어서,
    상기 메모리 제어부는 상기 카운터의 계수치에 기초하여 복호 처리 기간을 화상 표시 기간과 대응시키고, 복호 처리에 있어서의 수직 블랭킹 기간에 상당하는 기간에서 상기 제1 버퍼 메모리부에 대한 타임 슬롯만 가상1수평 주사 기간에 적어도 하나 생성하고, 상기 제2 ∼ 제5 버퍼 메모리부에 대한 타임 슬롯을 생성하지 않고, 빈 시간에서 상기 RAM에 대해 화상 데이타이외의 데이타의 액세스를 제어하는 것을 특징으로 하는 동화상 복호 장치.
  12. 제2항 내지 제11항 중 어느 한 항에 있어서,
    상기 시스템 다중 분리부는 입력 비트 스트림을 유저 데이타 식별 패턴과 비교하여 유저 데이타를 상기 입력 비트 스트림으로부터 분리하고, 상기 유저 데이타가 분리된 비트 스트림을 상기 제1 버퍼 메모리부로 공급하는 것을 특징으로 하는 동화상 복호 장치.
  13. 제2항 내지 제12항 중 어느 한 항에 있어서,
    상기 제1 ∼ 5 버퍼 메모리부는 모두
    기록 어드레스 및 판독 어드레스를 각각 유지하는 입력 포인터 및 출력 포인터를 구비한 버퍼 메모리,
    상기 기록 어드레스 및 판독 어드레스에 기초하여 상기 버퍼 메모리 내의 미처리 데이타 영역 또는 빈 영역의 사이즈를 연산하는 영역 사이즈 연산 회로, 및
    상기 사이즈를 설정치와 비교하여 액세스 요구 신호를 생성하는 비교 회로
    를 구비한 것을 특징으로 하는 동화상 복호 장치.
  14. 제13항에 있어서,
    상기 비교 회로는 미처리 데이타 영역 사이즈가 감소하여 소정치 이하가 된후에 상기 미처리 데이타 영역 사이즈가 최대치가 되기까지 동안 상기 액세스 요구 신호를 활성화하는 것을 특징으로 하는 동화상 복호 장치
  15. 제14항에 있어서,
    상기 메모리 제어부는 상기 타임 슬롯에 있어서, 상기 타임 슬롯에 대응한 상기 액세스 요구 신호가 활성화될 때만 대응하는 상기 버퍼 메모리부와 상기 RAM 사이의 액세스를 제어하는 것을 특징으로 하는 동화상 복호 장치.
  16. 제15항에 있어서,
    상기 메모리 제어부는 상기 타임 슬롯의 개시 시점에 있어서, 상기 타임 슬롯에 대응한 상기 액세스 요구 신호가 불활성일 때 상기 타임 슬롯을, 상기 RAM 에 대해 화상 데이타 이외의 데이타의 액세스를 제어하는 것을 특징으로 하는 동화상 복호 장치.
  17. 제2항 내지 제16항 중 어느 한 항에 있어서,
    상기 제2 버퍼 메모리부는 적어도 1매크로 블럭의 부호화 데이타의 규격 상 허용 최대량의 기억 용량을 갖고,
    상기 제2 버퍼 메모리부에 대한 상기 타임 슬롯의 폭은 적어도 상기 RAM으로부터 상기 최대량의 데이타를 판독하여 상기 제2 버퍼 메모리부로 전송하는 데 필요한 시간인 것을 특징으로 하는 동화상 복호 장치.
  18. 제2항 내지 제16항 중 어느 한 항에 있어서,
    상기 제2 버퍼 메모리부는 적어도 〔(1매크로 블럭의 부호화 데이타의 규격상 허용 최대량) ×(상기 허용 최대량의 매크로 블럭이 1매크로 블럭 라인 중에 포함되는 수 N)-A×(N-1)〕의 기억 용량을 갖고, 여기서 A=(1 매크로 블럭 라인의 부호화 데이타의 규격상 허용 최대량)/(1매크로 블럭 라인의 매크로 블럭수)이고,
    상기 제2 버퍼 메모리부에 대한 상기 타임 슬롯의 폭은 적어도 상기 RAM으로부터 량 A의 데이타를 판독하여 상기 제2 버퍼 메모리부로 전송하는데 필요한 시간인 것을 특징으로 하는 동화상 복호 장치.
  19. 복수의 처리부가 메모리 제어부를 통해 동기식 메모리를 액세스하는 동화상 복호 방법에 있어서,
    복수의 상기 처리부의 각각과 상기 RAM사이에 각각 구비된 버퍼 메모리부를 준비하고,
    복수의 상기 버퍼 메모리부의 각각에 대해 타임 슬롯을 주기적으로 할당하고,
    각 타임 슬롯에서 대응하는 상기 버퍼 메모리부와 상기 RAM사이의 액세스를 허가하는 것을 특징으로 하는 동화상 복호 방법.
  20. 제19항에 있어서,
    상기 RAM에 대한 액세스가 최악인 경우를 상정하여 타임 슬롯을 정하는 것을 특징으로 하는 동화상 복호 방법.
  21. 제20항에 있어서,
    복호 처리 기간을 화상 표시 기간과 대응시켜 상기 타임 슬롯을 생성하는 것을 특징으로 하는 동화상 복호 방법.
  22. 제21항에 있어서,
    상기 타임 슬롯군을 가상 k 수평 주사 기간에 k x [(1수평 주사선상의 화소수)/256]개 생성하고, 여기에 [ ]는 괄호 내의 값의 정수 부분을 나타내는 것을 특징으로 하는 동화상 복호 방법.
KR19990032215A 1998-08-07 1999-08-06 동화상 복호 방법 및 장치 KR100555284B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1998-223514 1998-08-07
JP22351498A JP4319268B2 (ja) 1998-08-07 1998-08-07 動画像復号方法及び装置

Publications (2)

Publication Number Publication Date
KR20000017121A true KR20000017121A (ko) 2000-03-25
KR100555284B1 KR100555284B1 (ko) 2006-03-03

Family

ID=16799342

Family Applications (1)

Application Number Title Priority Date Filing Date
KR19990032215A KR100555284B1 (ko) 1998-08-07 1999-08-06 동화상 복호 방법 및 장치

Country Status (4)

Country Link
US (1) US6658154B2 (ko)
JP (1) JP4319268B2 (ko)
KR (1) KR100555284B1 (ko)
DE (1) DE19935604B4 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100356897B1 (ko) * 2000-03-30 2002-10-19 주식회사 텔레게이트 휴대용 데이터 저장 장치
US6614438B1 (en) * 2000-05-30 2003-09-02 Koninlijke Philips Electronics N.V. Data-processing arrangement for processing different types of data
JP4208398B2 (ja) * 2000-10-05 2009-01-14 株式会社東芝 動画像復号再生装置、動画像復号再生方法及びマルチメディア情報受信装置
US7440476B1 (en) * 2003-06-27 2008-10-21 Zoran Corporation Method and apparatus for video capture
JP4361435B2 (ja) * 2004-07-14 2009-11-11 株式会社エヌ・ティ・ティ・ドコモ 動画像復号方法、動画像復号プログラム、動画像復号装置、動画像符号化方法、動画像符号化プログラム及び動画像符号化装置
TWI266539B (en) * 2005-01-13 2006-11-11 Via Tech Inc Decoding device with multi-buffers
DE102005004464A1 (de) * 2005-01-31 2006-10-26 Robert Bosch Gmbh Verfahren zur Speicherung von Botschaften in einem Botschaftsspeicher und Botschaftsspeicher
JP4609356B2 (ja) * 2006-03-23 2011-01-12 ソニー株式会社 記憶装置及びそのアクセス制御方法
TWI325274B (en) * 2006-10-12 2010-05-21 Ind Tech Res Inst Method for mapping memory addresses, memory accessing apparatus and method thereof
JP4793933B2 (ja) * 2007-03-12 2011-10-12 任天堂株式会社 画像処理プログラムおよび画像処理装置
US9087260B1 (en) * 2012-01-03 2015-07-21 Google Inc. Hierarchical randomized quantization of multi-dimensional features
US9276989B2 (en) * 2012-03-30 2016-03-01 Adobe Systems Incorporated Buffering in HTTP streaming client

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04256298A (ja) * 1991-02-08 1992-09-10 Toshiba Corp 動画像符号化装置
JPH05268590A (ja) * 1992-03-17 1993-10-15 Nec Corp 動画像符号化復号化回路
DE69330043T2 (de) * 1992-10-28 2001-07-19 Victor Company Of Japan Kodiervorrichtung und -verfahren mit variablen Übertragungsraten
JP2503853B2 (ja) * 1992-12-16 1996-06-05 日本電気株式会社 動画像復号システム
US6104751A (en) * 1993-10-29 2000-08-15 Sgs-Thomson Microelectronics S.A. Apparatus and method for decompressing high definition pictures
US5880786A (en) * 1994-06-15 1999-03-09 Hitachi, Ltd. Apparatus for picture decoding having frame memories commonly connected to one data bus and one address bus
ES2247626T3 (es) * 1996-04-12 2006-03-01 Sony Corporation Descodificador de datos y metodo de descodificacion de datos.
JP3743060B2 (ja) * 1996-07-22 2006-02-08 ヤマハ株式会社 自動録画装置
US6219381B1 (en) * 1997-05-26 2001-04-17 Kabushiki Kaisha Toshiba Image processing apparatus and method for realizing trick play
US6088047A (en) * 1997-12-30 2000-07-11 Sony Corporation Motion compensated digital video decoding with buffered picture storage memory map
JPH11136681A (ja) * 1997-10-30 1999-05-21 Fujitsu Ltd 動画像復号装置及び方法

Also Published As

Publication number Publication date
US20030169929A1 (en) 2003-09-11
KR100555284B1 (ko) 2006-03-03
JP2000057318A (ja) 2000-02-25
US6658154B2 (en) 2003-12-02
DE19935604A1 (de) 2000-02-10
JP4319268B2 (ja) 2009-08-26
DE19935604B4 (de) 2006-03-23

Similar Documents

Publication Publication Date Title
US5623311A (en) MPEG video decoder having a high bandwidth memory
US5801973A (en) Video decompression
EP1085465B1 (en) Moving picture decoding circuit
US5880786A (en) Apparatus for picture decoding having frame memories commonly connected to one data bus and one address bus
US6119213A (en) Method for addressing data having variable data width using a fixed number of bits for address and width defining fields
KR100555284B1 (ko) 동화상 복호 방법 및 장치
KR100606812B1 (ko) 비디오 디코딩 시스템
JPH0837662A (ja) 画像符号化復号化装置
EP0729276B1 (en) Memory control system and video decoder using the same
GB2311434A (en) Image decompressing apparatus with efficient image data storage
US5752266A (en) Method controlling memory access operations by changing respective priorities thereof, based on a situation of the memory, and a system and an integrated circuit implementing the method
KR100282389B1 (ko) 에이치디티브이 비디오 디코더의 메모리 제어 방법
JPH10178644A (ja) 動画像復号装置
WO1995031874A1 (en) Mpeg decoder memory data storage and transfer
KR19990004132A (ko) 비디오 디코딩과 출력 타이밍 제어방법 및 그 장치
JP3871348B2 (ja) 画像信号復号化装置及び画像信号復号化方法
JPH0865686A (ja) 画像復号化装置
US7386651B2 (en) System, method, and apparatus for efficiently storing macroblocks
KR100248085B1 (ko) 영상 관련 데이터를 저장하기 위한 메모리 맵 구조를 가지는 에스디램
KR100295185B1 (ko) 비트확장 가변부호화 장치
JP2935240B2 (ja) 可変長符号化方式及び可変長復号化方式
JP4214554B2 (ja) 動画像復号化装置
JP3884830B2 (ja) 画像信号処理装置
KR100281567B1 (ko) 비디오 인코더의 스케쥴링 방법
Wang et al. SDRAM bus schedule of HDTV video decoder

Legal Events

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

Payment date: 20120130

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130201

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee