KR20010092235A - 비디오 디코더에서 효율적인 메모리 사용 장치 및 방법 - Google Patents

비디오 디코더에서 효율적인 메모리 사용 장치 및 방법 Download PDF

Info

Publication number
KR20010092235A
KR20010092235A KR1020007009885A KR20007009885A KR20010092235A KR 20010092235 A KR20010092235 A KR 20010092235A KR 1020007009885 A KR1020007009885 A KR 1020007009885A KR 20007009885 A KR20007009885 A KR 20007009885A KR 20010092235 A KR20010092235 A KR 20010092235A
Authority
KR
South Korea
Prior art keywords
data
memory
interface
component
data component
Prior art date
Application number
KR1020007009885A
Other languages
English (en)
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 KR20010092235A publication Critical patent/KR20010092235A/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Picture Signal Circuits (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명은, 동일한 크기의 메모리 유니트로 분할되는 메모리, 데이터 소스 및 메모리 내에서 데이터의 저장 및 검색을 관리하는, 상기 데이터 소스와 상기 메모리 사이의 인터페이스를 포함하는, 전자 시스템 내에서 효율적인 메모리 사용을 위한 장치에 관한 것이다. 데이터 소스는 제 1 데이터 성분 및 제 2 데이터 성분을 생성하는데, 상기 제 1 데이터 성분 각각은 상기 제 2 데이터 성분 각각보다 크기가 더 크다. 각 메모리 유니트는 상기 제 2 데이터 성분중 하나를 포함하도록 크기가 정해진다. 메모리 유니트는 연속적인 메모리 링으로 구성된다. 데이터 성분이 데이터 소스에 의해 생성됨에 따라, 인터페이스는 데이터 성분을 메모리 링에 순차적으로 저장한다. 인터페이스는 또한 메모리 링으로부터 데이터 성분을 순차적으로 검색한다. 제어 모듈은, 데이터 성분에 대한 판독 및 기록 동작을 제어하기 위하여, 인터페이스에 제어 신호를 전달한다.

Description

비디오 디코더에서 효율적인 메모리 사용 장치 및 방법{APPARATUS AND METHOD FOR EFFICIENT MEMORY UTILIZATION IN A VIDEO DECODER}
효과적이고 효율적인 메모리 사용은 전자 시스템의 설계자, 제작자 및 사용자를 위한 중요한 고려 사항이다. 전자 시스템에서 데이터 저장을 위한 메모리 공간은 물리적인 제약과 함께 경제적인 고려 사항에 의해 자주 제한된다. 대부분의 효과적이고 효율적인 전자 시스템 중 많은 시스템이 필요한 가장 적은 양의 메모리를 포함하고, 가능한 한 효율적으로 상기 메모리를 사용한다.
이러한 전자 시스템은 다양하고, 장편 영화, 비디오게임 및 다른 형태의 오디오-비디오 오락물을 재생하는 디지털 비디오 디스크 장치 또는 디지털 비디오 방송(DVB)용 셋톱 박스를 포함할 수 있다. 비디오 데이터는 표현된 비디오 정보를 엔코딩하기 위하여 전형적으로 많은 양의 디지털 데이터를 필요로 한다. 이러한 많은 양의 디지털 데이터는 전형적으로 디지털 비디오 디스크(DVD)와 같은 저장 매체에 저장되기 전에 압축된다. 비디오 데이터는 전형적으로 다양한 표준 비디오 압축 기술 예컨대 JPEG 또는 MPEG을 사용하여 엔코드될 수 있다.
DVD 상에 저장된 비디오 데이터를 디스플레이하기 위하여, 압축된 디지털 데이터는 디코드되어야만 한다. 비디오 디코더 시스템은 데이터를 압축하기 위하여 사용된 압축 기술에 의존하는 디코딩 처리를 수행한다. 디코딩(또는 재구성) 처리는 전형적으로, 기준 화상, 동작 벡터 및 에러(또는 차이) 계수 데이터를 포함하는 다양한 데이터로부터 비디오의 필드 또는 프레임을 재구성한다.
비디오 디코더 시스템은 재구성 처리를 수행하기 위하여, 전형적으로 외부 시스템 메모리와, 내부 메모리의 블록을 사용한다. 내부 메모리의 다양한 블록은 전형적으로 특정 형태의 데이터를 저장하기 위하여 할당된다. 내부 메모리의 이들 특별히 할당된 블록의 효율적인 사용은 비디오 디코더 시스템의 전체적인 효율을 개선시킨다. 이러한 효율적인 시스템의 제작자는 높은 품질의 결과를 생성하여, 이를 합리적인 비용으로 소비자에게 공급할 수 있을 것이다.
비디오 영상은 전형적으로 높은 속도 예컨대 비월 주사 영상에 대해 초당 30 프레임으로 디스플레이된다. 비디오의 단일 필드 또는 프레임을 재구성함에 있어 많은 부분의 데이터를 처리하는 것을 필요로 하므로, 높은 디스플레이 속도는 디스플레이 영상을 생성하기 위하여 적절하게 더 높은 속도의 데이터 처리를 필요로 한다. 내부 메모리를 통한 데이터 흐름은 비디오 디코더 시스템에서 필요한 데이터 처리의 높은 속도를 쉽게 하기 위하여 가능한 한 효율적으로 관리되어야만 한다. 그러므로, 효과적이고 효율적인 메모리 사용은 전자 시스템의 설계자, 제작자 및 사용자에 대한 고려사항이다.
본 발명은 일반적으로 데이터 저장 기술에 관한 것이고, 보다 상세하게는 전자 시스템에서 효율적인 메모리 사용을 위한 장치 및 방법에 관한 것이다.
도 1은 본 발명에 따른 오디오-비디오(A/V) 제어기의 한 실시예에 대한 블록도.
도 2는 본 발명에 따른 도 1의 비디오 디코더의 한 실시예에 대한 블록도.
도 3은 본 발명에 따른 도 2의 동작 보상기(MC)의 한 실시예에 대한 블록도.
도 4는 도 3의 EMEM 메모리의 한 실시예에 대한 도면.
도 5는 본 발명에 따른 도 3의 EMEM 메모리의 한 실시예에 대한 도면.
도 6은 본 발명의 한 실시예에 따른 도 5의 EMEM 메모리에 대한 데이터 흐름을 관리하기 위한 방법 단계의 흐름도.
도 7은 본 발명에 따른 도 3의 EMEM 인터페이스와 EMEM 메모리의 한 실시예에 대한 블록도.
도 8은 본 발명의 한 실시예에 따라, 데이터를 메모리 유니트에 기록하기 위한 방법 단계의 흐름도.
도 9는 본 발명의 한 실시예에 따라, 데이터를 메모리 유니트로부터 판독하기 위한 방법 단계의 흐름도.
본 발명에 따라, 전자 시스템 내에서 효율적인 메모리 사용을 위한 장치 및 방법이 개시된다. 본 발명은 다수의 동일 크기의 메모리 유니트로 분할된 메모리, 데이터 소스, 및 메모리와 데이터 소스 사이의 인터페이스를 포함한다. 데이터 소스는 다수의 제 1 데이터 성분 및 다수의 제 2 데이터 성분을 생성하는데, 상기 제 1 데이터 성분 각각은 상기 제 2 데이터 성분 각각보다 더 많은 데이터를 포함한다. 각 메모리 유니트는 제 2 데이터 성분 중 하나를 포함하도록 크기가 결정된다.
본 발명의 한 실시예에 있어서, 다수의 메모리 유니트는 연속적인 메모리 링으로 구성되는 것이 바람직하다. 데이터 성분이 데이터 소스에 의해 생성됨에 따라 인터페이스는 데이터 성분을 메모리 링에 순차적으로 저장한다. 데이터 성분의 각 형태는 메모리 내에서 특별하게 할당된 위치를 갖지 않는다. 인터페이스는 또한 메모리 링으로부터 데이터 성분을 순차적으로 검색한다. 제어 모듈은 데이터 성분에 대한 판독 및 기록 동작을 제어하기 위하여 제어 신호를 인터페이스에 보낸다.
제어 모듈은 또한 충분한 메모리가 유효하지 않을 때 데이터 성분의 생성을 중단시키기 위하여, 데이터 소스에 대해 사용중 신호(busy signal)를 선언한다(assert). 제어 모듈은 충분한 메모리가 유효해졌을 경우 데이터 소스에 의한 데이터 성분의 생성을 다시 시작하도록 사용중 신호를 철회(deassert)한다.
한 실시예에 있어서, 전자 시스템은 비디오 디코더 시스템을 포함한다. 제 1 데이터 성분은 휘도 데이터를 포함하고, 제 2 데이터 성분은 색차 데이터를 포함한다. 데이터 소스는 휘도 데이터 성분과 색차 데이터 성분을 교대로 생성하는데, 각 휘도 데이터 성분은 각 색차 데이터 성분보다 2 배의 데이터를 포함한다. 인터페이스는 두 개의 메모리 유니트에 각 휘도 데이터 성분을 저장하고, 한 개의 메모리 유니트에 각 색차 데이터 성분을 저장한다.
한 실시예에 있어서, 인터페이스는 메모리 내에서 각 데이터 성분의 위치를 감시하고, 제어 모듈로부터의 제어 신호에 따라 기록 인에이블 및 판독 인에이블을 생성한다. 인터페이스는 또한 제어 모듈로부터의 제어 신호에 따라 데이터 성분을 위한 어드레스를 생성한다. 본 발명은 이와 같이 전자 시스템에서의 효율적인 메모리 사용을 효율적이고 효과적으로 실현한다.
본 발명은 데이터 저장 기술의 개선에 관한 것이다. 다음의 설명은 당업자가 본 발명을 구성하고 사용할 수 있도록 하기 위하여 제공되고, 특허 명세서 및 그 요건의 개념 내에서 제공된다. 양호한 실시예에 대한 다양한 변경은 당업자에게는 손쉽게 자명할 것이고, 여기에서의 일반적인 원리는 다른 변형에도 적용될 것이다. 따라서 본 발명은 도시된 실시예에만 제한하려는 것은 아니고, 다만 여기에서 기술된 원리 및 특성과 일치된 부합하는 가장 넓은 범주를 허용 받으려 한다.
본 발명은 다수의 동일 크기의 메모리 유니트로 분할된 메모리, 데이터 소스, 및 메모리와 데이터 소스 사이의 인터페이스를 포함하는데, 상기 인터페이스는 메모리 내의 데이터의 저장 및 검색을 관리한다. 데이터 소스는 다수의 제 1 데이터 성분 및 다수의 제 2 데이터 성분을 생성하는데, 상기 제 1 데이터 성분 각각은 상기 제 2 데이터 성분 각각보다 더 많은 데이터를 포함한다. 각 메모리 유니트는 제 2 데이터 성분 중 하나를 포함하도록 크기가 결정된다.
다수의 메모리 유니트는 연속적인 메모리 링으로 구성된다. 데이터 성분이 데이터 소스에 의해 생성됨에 따라 인터페이스는 데이터 성분을 메모리 링에 순차적으로 저장한다. 인터페이스는 또한 메모리 링으로부터 데이터 성분을 순차적으로 검색한다. 제어 모듈은 데이터 성분에 대한 판독 및 기록 동작을 제어하기 위하여 제어 신호를 인터페이스에 보낸다.
이제 도 1을 참조하면, 본 발명에 따라, 오디오-비디오(A/V) 제어기(110)의 한 실시예에 대한 블록도가 도시되었다. 도 1의 실시예에 있어서, A/V 제어기(110)는 호스트 인터페이스(112), 메모리 제어기(116), DVD 번역 모듈(120), 비트 스트림 디멀티플렉서(122), RISC CPU(126), 비디오 디코더(134), 제어 버스(124) 및 데이터 버스(132)를 포함하지만, 이에 국한되는 것은 아니다.
동작시, 도 1의 A/V 제어기(110)는 라인(114)을 통해 프로그램 소스(미도시)로부터 소스 데이터(비트스트림 입력)를 검색한다. A/V 제어기(110)는 라인(142) 상에서 6개의 오디오 채널(오디오 출력)을 생성하기 위하여, 소스 데이터를 그 입력에 반응하여 처리하고 디코드한다. A/V 제어기(110)는 또한 라인(144) 상에서 6개의 비디오 채널(비디오 출력)을 생성하기 위하여, 소스 데이터를 처리하고 디코드한다. 그후 A/V 제어기(110)는 바람직하게 재생을 위한 재생 시스템(미도시)에 오디오 출력 신호와 비디오 출력 신호를 제공한다. 본 발명이 A/V 제어기의 개념에서 기술되었지만, 전자 시스템의 다른 실시예도 본 발명의 범주 내에 든다.
도 2를 참조하면, 본 발명에 따라 도 1의 비디오 디코더(134)에 대한 한 실시예의 블록도가 도시되었다. 도 2의 실시예에 있어서, 비디오 디코더(134)는 데이터 버스(132)와 제어 버스(124)를 통해 외부 시스템 메모리(미도시)로부터 압축 비디오 데이터와 디코딩 지령을 수신한다. 압축 비디오 데이터는 전형적으로 MPEG 표준 비디오 압축 기술을 사용하여 엔코드되어 왔다. MPEG 표준 비디오 압축에 있어서, 각 비디오 화상은 전형적으로 블록으로 불리는 유니트로 분할된다. 각 블록은 바람직하게 8 ×8 픽셀의 정사각형으로 배열된 64 픽셀을 포함한다. 매크로블록으로 언급되는 비디오 데이터의 다른 유니트는 4개 블록을 포함한다.
MPEG 비디오 압축은 동화상을 압축하기 위하여 사용된다. 동작 비디오는 일련의 정지 비디오 화상을 포함하고, 인접 화상은 전형적으로 매우 유사하다. MPEG 압축은, 일부 비디오 화상을 기준화상으로 엔코드하는데, 상기 기준화상 내에서 전체 화상이 압축된다. 기준 화상은 비디오 데이터에 대해 이산 코사인 변환을 수행함으로써 압축된다. 변환된 데이터는 그후 양자화 테이블을 사용하여 양자화된다. 양자화된 데이터는 그후 런-렝스 압축을 사용하여 압축된다.
다른 비디오 화상은 재구성 화상으로 엔코드된다. 전체 화상을 엔코딩하는 대신에 재구성된 화상은 동작 벡터와 에러 계수 데이터로 엔코드된다. 기준 화상은 매크로블록으로 분할된다. 동작 벡터는, 각 기준 화상의 매크로블록이 기준 화상과 재구성 화상 사이에서 어떻게 움직이는 지를 나타낸다. 에러 계수 데이터는, 기준 화상과 재구성 화상 사이의 각 매크로블록의 내용에서 변화가 있다면 이들 변화를 나타낸다. 재구성 화상을 위한 에러 계수 데이터는 기준 화상을 위한 비디오 데이터와 동일한 방법으로 압축된다.
도 2의 실시예에 있어서, 비디오 디코더(134)는 가변 길이 디코더(VLD)(212), 역 양자화기(IQ)(214), 역 이산 코사인 변환기(IDCT)(216), 및 동작 보상기(MC)(218)를 포함하지만, 이에 국한되지는 않는다. VLD(212), IQ(214) 및 IDCT(216)는 블록의 유니트 내의 비디오 데이터를 처리하는 비디오 파이프라인 또는 데이터 소스를 포함한다. 그러나, MC(218)는 매크로블록의 유니트 내의 비디오 데이터를 처리하는 것이 바람직하다. 메모리 제어기(116)에 제공된 요구(246)에따라, VLD(212)는 데이터 버스(132)와 라인(222)을 통해 외부 시스템 메모리(미도시)로부터 압축 비디오 데이터를 수신한다. VLD(212)는 라인(242)을 통해 RISC CPU(126)에 의해 제공된 지령을 따라 압축 비디오 데이터를 부분적으로 디코드한다. VLD(212)는 동작 벡터와 엔코드된 에러 계수 데이터를 디코드한다. 동작 벡터는, 기준 화상으로부터 재구성 화상에 대해 비디오 데이터의 매크로블록의 위치 변화가 존재한다면, 이들 변화를 나타낸다. VLD(212)는 동작 벡터를 라인(252)을 통해 MC(218)에 전달한다.
에러 계수 데이터는 두 개의 인접 비디오 화상 사이의 차이 또는 에러를 나타낸다. VLD(212)에 의해 확인된 에러 계수 데이터는 휘도(Y) 데이터의 블록과 색차(C) 데이터의 블록을 포함한다. 휘도 및 색차 데이터는 강도와 컬러를 각각 나타낸다. 한 실시예에 있어서, 비디오의 각 매크로블록은 에러 계수 데이터의 제 1 성분과 에러 계수 데이터의 제 2 성분을 구비한다. 제 1 데이터 성분은 바람직하게 휘도 데이터의 4개 블록을 포함하고, 제 2 데이터 성분은 바람직하게 색차 데이터의 2개 블록을 포함한다.
VLD(212)는 엔코드된 에러 계수 데이터의 블록을 라인(262)을 통해 IQ(214)에 전달한다. IQ(214)는 그후, 제어 버스(124)와 라인(236)을 통해 외부 메모리로부터 페치(fetched)된 양자화 테이블을 사용하여 에러 계수 데이터의 각 엔코드된 블록을 역양자화한다. 그후 IQ(214)는 부분적으로 디코드된 에러 계수 데이터의 최종 블록을 라인(264)을 통해 IDCT(216)에 전달한다. IDCT(216)는 바람직하게 에러 계수 데이터의 블록을 생성하기 위하여 역 이산 코사인 변환을 수행한다.IDCT(216)은 그후 에러 계수 데이터의 디코드된 블록을 라인(266)을 통해 MC(218)에 전달한다.
MC(218)는 비디오 영상의 매크로블록을, 상기 입력에 반응하여 재구성한다. MC(218)는 외부 메모리로부터 기준 매크로블록을 페치하고, 에러 계수 데이터에 따라 기준 매크로블록의 내용을 조정하고, 재구성된 매크로블록을 구성하기 위하여 동작 벡터에 따라 비디오의 필드 또는 프레임에서 기준 매크로블록의 위치를 조정한다. 그후, MC(218)는 비디오의 재구성된 매크로블록을 디스플레이되기 전에 저장을 위해 데이터 버스(132)를 통해 외부 메모리(미도시)에 전달한다. MC(218)는 도 3과 관련하여 이하에서 더 논의된다.
도 2의 한 실시예를 위한 블록도인 도 3을 참조하면, 본 발명에 따른 동작 보상기(MC)(218)가 도시되었다. MC(218)는 제어 버스 인터페이스 및 레지스터(312), 데이터 버스 버퍼(314), MC 주 제어부(320), 필터 및 재구성 계산기(330), PMEM 메모리(340), EMEM 메모리(350) 및 EMEM 인터페이스(352)를 포함하지만, 이에 국한되지는 않는다.
기준 매크로블록은 메모리 제어기(116)(도 1)에 대한 요구(248)에 따라 데이터 버스(132)와 라인(226)을 통해 데이터 버스 버퍼(314)에 도달한다. 데이터 버스 버퍼(314)는 기준 매크로블록을 필터링을 위한 계산기(330)에 전달한다. 필터링된 기준 매크로블록은 그후 PMEM(340)에 저장된다.
VLD(212)로부터의 동작 벡터는 라인(252)을 통해 레지스터(312)에 도달한다. IDCT(216)의 출력인 에러 계수 데이터는 라인(266)을 통해 EMEM 인터페이스(352)에의해 수신되고, EMEM(350)에 저장된다. 도달하는 에러 계수 데이터는 휘도 및 색차 데이터 성분 사이에서 교대된다. 하나의 비디오 압축 기술에서 각 휘도(Y) 성분은 휘도 데이터의 4개 블록을 포함하고, 각 색차(C) 성분은 색차 데이터의 두 개의 블록을 포함한다. 따라서 각 휘도(Y) 성분의 크기는 각 색차(C) 성분 크기의 2배이다.
비디오 데이터의 매크로블록을 재구성하기 위하여, 레지스터(312)로부터의 동작 벡터는 계산기(330)에 전달된다. 계산기(330)는 외부 시스템 메모리에 저장된 적절한 기준 매크로블록을 위한 메모리 어드레스를 결정하기 위하여 동작 벡터를 사용한다. MC 주 제어부(320), 즉 제어 모듈은 기준 매크로블록을 페치하기 위하여 요구(248)를 메모리 제어기(116)에 전달한다. 기준 매크로블록은 데이터 버스(132)를 통해 데이터 버스 버퍼(314)에 도달한 후, 필터링을 위해 계산기(330)에 전달된다. 필터링된 기준 매크로블록은 그후 PMEM(340)에 저장된다.
MC 주 제어부(320)는 PMEM(340)로부터 필터링된 기준 매크로블록과 EMEM(350)로부터의 에러 계수 데이터를 계산기(330)에 전달한다. 이에 응답하여 계산기(330)는 각 필터링된 기준 매크로블록의 내용을 그에 대응하는 에러 계수 데이터에 따라 조정하고, 대응하는 동작 벡터에 따라 비디오의 필드 또는 프레임 내에서 각 매크로블록의 위치를 조정한다. MC 주 제어부(320)는 그후 재구성된 매크로블록을 라인(228)과 데이터 버스(132)를 통해 외부 메모리에 보낸다.
IDCT(216)로부터의 에러 계수 데이터는 MC(218)로부터의 요구에 따라서가 아니라 데이터가 생성됨에 따라, EMEM 인터페이스(352)와 EMEM(350)에 도달한다.EMEM(350)은 이따금 더 많은 데이터를 수용할 수 없다. 에러 계수 데이터의 흐름을 정지시키기 위하여, MC 주 제어부(320)는 라인(254)을 따라 VLD(212)에 대한 MC 사용중 신호를 선언한다. MC 사용중 신호는 EMEM(350)이 완전히 채워지기 전에 선언되어야 하는데, 왜냐하면 VLD(212)는 MC(218)로부터 떨어진 3 블록 크기의 데이터 버퍼이기 때문이다. IQ(214)와 IDCT(216)는 MC 사용중이 선언된 후 에러 계수 데이터의 블록의 처리를 지속할 것이다. 에러 계수 데이터의 3 블록은 따라서 EMEM 인터페이스(352)에 도달할 것이고, MC 사용중이 선언된 후 EMEM(350)에 기록될 것이다.
이제 도 4를 참조하면, 도 3의 EMEM 메모리(350)의 한 실시예에 대한 도면이 도시되었다. EMEM(350)을 위해 유용한 내부 메모리의 양은 전형적으로 제한되어 있고, 바람직하게 필요한 만큼의 메모리를 포함한다. 전자 시스템 내의 메모리는 일반적으로 경비와 물리적인 공간 면에서 값비싸다. EMEM(350)을 위해 유용한 메모리의 제한된 양의 효율적인 사용은 비디오 디코더(134)와 A/V 제어기(110)의 전체적인 효율에 기여한다.
도 4의 실시예에 있어서, EMEM(350)은 완전히 채워져 있을 경우 두 개의 휘도 성분과 하나의 색차 성분을 유지한다. 메모리 유니트(410와 414)는 특별히 휘도 데이터를 저장하도록 할당되고, 그 크기는 색차 데이터를 저장하도록 특별히 할당된 메모리 유니트(412) 크기의 두 배이다. IDCT(216)로부터의 교대되는 에러 계수 데이터 성분은, 각 데이터 성분이 다른 데이터를 갖는다 할지라도, 4가지 형태의 데이터 성분(Y0, C0, Y1, C1)의 반복 패턴으로 표시될 수 있다. EMEM(350)의 도 4실시예가 한 번에 오직 두 개의 다른 휘도 성분만을 저장할 용량을 갖기 때문에, MC 주 제어부(320)는 두 개의 다른 휘도 성분(Y0 및 Y1)을 구별한다. MC 주 제어부(320)는 또한 두 개의 다른 색차 성분(C0 및 C1)을 구별한다.
에러 계수 데이터가 IDCT(216)로부터 도달함에 따라, 메모리 유니트(410, 412 및 414)는 도 4의 (a)에 도시된 바와 같이, Y0, C0 및 Y1으로 각각 채워진다. 도 3과 관련하여 위에서 기술된 바와 같이, MC 사용중은 EMEM(350)이 완전히 채워지기 전에 VLD(212)에 대해 선언된다. 따라서, 도 4의 (a)에 있어서, MC 사용중은 기록 포인터(430)가 메모리 유니트(414)의 상부에 있을 때 선언되어야만 한다.
도 4의 (b)에 있어서, 메모리 유니트(410) 내의 Y0 성분이 판독되고, 메모리 유니트(410)는 더 많은 데이터를 수용할 수 있게 된다. 그러나, 다음에 도달하는 데이터 성분은 C1(색차 데이터)이므로, 메모리 유니트(410)는 채워질 수 없는데, 왜냐하면 메모리 유니트(410)가 오직 휘도 데이터를 수용하도록 할당되기 때문이다. 따라서, VLD(212)는 도 4의 (c)에 도시된 바와 같이, 메모리 유니트(412)가 판독될 때까지 에러 계수 데이터의 처리를 개시하지 않을 것이다. 다음의 색차 성분은 메모리 유니트(412)에 기록될 것이고, 다음에 휘도 성분(Y0)이 도 4의 (d)에 도시된 바와 같이 메모리 유니트(410)에 기록될 것이다. MC 사용중은 기록 포인터(430)가 메모리 유니트(410)의 상부에 있을 때 선언되어야만 하는데, 왜냐하면, 입력 Y0 성분을 저장하는 것은 EMEM(350)이 완전히 채워지게 하기 때문이다.
도 4의 (b)에 도시된 상황에 있어서, MC(218)는 메모리 유니트(410)가 비워지더라도 EMEM(350)에 데이터의 기록을 개시하지 않을 것이다. IDCT(216)로부터의데이터의 흐름은, 메모리 유니트(412)가 다음의 색차 성분을 수신 가능할 때까지 휴지 상태를 유지하여야만 한다. 따라서, 도 4의 구성은 EMEM(350)에 할당된 내부 메모리의 제한된 양에 대한 상당히 효율적인 사용은 아니다.
EMEM(350)의 도 4의 구성은 또한 MC 사용중이 빈번하게 선언되어, VLD(212)가 에러 계수 데이터의 처리를 정지하게 되는 것을 필요로 한다. VLD(212)에 의한 데이터 처리의 빈번한 정지는 비디오 디코더(134)의 전체적인 효율을 상당히 감소시킨다.
도 5를 참조하면, 본 발명에 따라 도 3의 EMEM 메모리(350)의 한 실시예에 대한 도면이 도시되었다. EMEM(350)의 도 5의 실시예는 도 4의 실시예와 동일한 양의 저장 용량을 필요로 하지만, 동일한 크기의 5개의 메모리 유니트로 분할된다. 도 5의 실시예에 있어서, 휘도 성분과 색차 성분은 EMEM(350) 내의 특정 위치에 할당되지 않는 것이 바람직하다.
도 5의 실시예에서 각 메모리 유니트는 비디오 데이터의 두 개의 블록을 포함하도록 크기가 정해진다. 각 메모리 유니트는 따라서 하나의 색차 성분을 유지할 수 있다. 도 5의 실시예에 있어서, 각 휘도 성분은 그 크기가 색차 성분 크기의 두 배이고, 따라서 각 휘도 성분은 두 개의 메모리 유니트 사이에서 동일하게 분할될 수 있다. EMEM(350)의 도 5의 실시예가 한 번에 두 개의 다른 휘도 성분을 저장할 용량을 갖기 때문에, MC 주 제어부(320)는 두 개의 다른 휘도 성분(Y0 및 Y1)을 구별한다. EMEM(350)의 도 5의 실시예는 한 번에 두 개의 색차 성분을 유지하고, 따라서, MC 주 제어부(320) 역시 두 개의 다른 색차 데이터 성분(C0 및 C1)을 구별한다.
EMEM(350)의 도 5의 실시예는 연속적인 메모리 링으로 구성된다. IDCT(216)로부터의 에러 계수 데이터가 도달함에 따라, 메모리 유니트(510 내지 518)는 도 5의 (a)에 도시된 바와 같이, Y0, C0, 및 Y1 성분으로 순차적으로 채워진다. Y0 성분의 제 1 절반, 즉 Y0a는 메모리 유니트(510)에 저장되고, Y0 성분의 제 2 절반, 즉 Y0b는 메모리 유니트(512)에 저장된다. 다음의 데이터 성분은 메모리 유니트(514)에 저장되는 색차 성분(C0)이다. 다음의 휘도 성분의 제 1 절반(Y1a)은 메모리 유니트(516)에 저장되고, Y1 성분의 제 2 절반(Y1b)은 메모리 유니트(518)에 저장된다. EMEM(350)의 논리적인 마지막(520)은 메모리 유니트(518)의 마지막에 위치한다.
도 3과 관련하여 위에서 기술된 바와 같이, 아직 판독되지 않은 데이터에 대한 덮어쓰기를 피하기 위하여, MC 사용중은 EMEM(350)이 완전히 채워지기 전에 VLD(212)에 대해 선언되어야만 한다. VLD(212)는 EMEM(350)으로부터 떨어져 위치한 3 블록 크기의 데이터 버퍼이기 때문에, MC 사용중은 3 블록의 데이터에 대해 충분히 빈 메모리 공간이 남아 있을 때 선언되어야만 한다. 도 5의 실시예에서 각 메모리 유니트는 데이터의 2개 블록을 유지하고, 따라서 도 5의 (a)의 MC 사용중은 기록 포인터(530)이 메모리 유니트(516)의 상부에 있을 때 선언된다.
도 5의 (b)에 있어서, 메모리 유니트(510 및 512)를 자유롭게 하고, EMEM(350)의 논리적인 마지막(522)을 메모리 유니트(512)의 마지막으로 이동시키면서, Y0 성분이 판독되었다. 다음의 에러 계수 데이터(C1)는 이제 메모리유니트(510)에 기록되고, 다음의 휘도 성분의 제 1 절반(Y0a)은 메모리 유니트(512)에 기록될 수 있다. MC 사용중 신호는 기록 포인터(530)가 메모리 유니트(510)의 상부에 있을 때 선언된다.
도 4의 실시예와는 대조적으로, C1 성분은, C0 성분이 판독될 때까지 기다리는 대신에 메모리 유니트(510)가 유용하게 되자마자 EMEM(350)의 도 5 실시예에 기록될 수 있다. VLD(212)는 더 짧은 시간 기간 동안 휴지 상태가 될 것이고, 따라서 비디오 디코더(134)의 효율을 증가시킨다.
도 5의 (c)에 있어서, 메모리 유니트(514)를 자유롭게 하고, EMEM(350)의 논리 마지막(524)을 메모리 유니트(514)의 마지막으로 이동시키면서, C0 성분이 판독되었다. 유용한 메모리 공간이 존재할지라도, 적어도 두 개 이상의 유용한 메모리 유니트가 존재할 때까지 다음의 데이터 성분은 EMEM(350)에 기록되지 않을 것이다. 데이터가 메모리 유니트(514)에 기록되기 시작하자마자 MC 사용중이 선언된다면, 에러 계수 데이터는, 메모리 유니트(516)가 덮어씌워질 때까지 IDCT(216)로부터의 입력을 정지하지 않을 것이다. 따라서, MC 사용중은 적어도 데이터 수신 가능한 두 개의 메모리 유니트가 존재할 때까지 철회되지 않을 것이다.
도 5의 (d)에 있어서, 메모리 유니트(516 및 518)를 자유롭게 하고, EMEM(350)의 논리적인 마지막(526)을 메모리 유니트(518)의 마지막으로 이동시키면서, Y1 성분이 판독되었다. 이제 유용한 3개의 메모리 유니트가 존재하므로, MC 사용중은 철회되고, 기록 동작이 진행된다. 다음의 Y0 성분의 제 2 절반(Y0b)은 메모리 유니트(514)에 기록되고, 다음의 C0 성분은 메모리 유니트(516)에 기록되며, 다음의 Y1 성분의 제 1 절반(Y1a)은 메모리 유니트(518)에 기록된다. MC 사용중은 기록 포인터(530)가 메모리 유니트(516)의 상부에 있을 때 선언되어, 데이터는, 다음의 Y1 성분의 제 1 절반(Y1a)이 메모리 유니트(518)에 기록된 후, IDCT(216)로부터의 입력을 정지할 것이다.
EMEM(350)의 도 5 실시예는 MC 사용중의 선언을 도 4의 실시예보다 덜 빈번하게 또한 더 짧은 시간 기간 동안 필요로 한다. 따라서, VLD(212)로부터의 데이터의 흐름은 덜 빈번하게 차단되어, 비디오 디코더(134)의 효율을 개선시킨다. EMEM(350)의 도 5 실시예는 메모리 양의 증가 없이 도 4의 실시예보다 더 큰 효율을 달성한다.
이제 도 6을 참조하면, 본 발명의 한 실시예에 따른, 메모리로의 데이터 흐름을 관리하는 방법 단계의 흐름도가 도시되었다. 도 6의 방법 단계는 EMEM(350)의 도 5 실시예를 사용하여 바람직하게 수행된다. 초기에, 단계(610)에 있어서, EMEM 인터페이스(352)는, 도 7과 관련하여 이하에서 기술되는 바와 같이, 데이터를 다음의 유용한 메모리 유니트에 기록한다. 단계(612)에 있어서, MC 주 제어부(320)는 MC 사용중 신호가 선언되었는지의 여부를 결정한다. MC 사용중이 선언되지 않았다면, 도 6의 방법은 단계(614)로 진행한다. 그러나, MC 사용중이 선언되었다면, 도 6의 방법은 단계(618)로 진행한다. 단계(614)에 있어서, MC 주 제어부(320)는 기록 포인터(530)가 EMEM(350)의 논리 마지막 이전의 두 개 메모리 유니트인지를 결정한다. 기록 포인터(530)가 EMEM(350)의 논리 마지막 이전 두 개 메모리 유니트라면, 단계(616)에서 MC 주 제어부(320)는 에러 계수 데이터의 흐름을 정지시키기 위하여VLD(212)에 대한 MC 사용중을 선언한다. 도 6의 방법은 그후 IDCT(216)으로부터 입력되는 에러 계수 데이터를 EMEM(350)에 기록하는 것을 지속하기 위하여 단계(610)로 되돌아간다.
선택적으로 단계(618)에서, MC 주 제어부(320)는 입력되는 에러 계수 데이터를 위해 유용한 적어도 두 개의 메모리가 있는 지를 결정한다. 적어도 두 개의 메모리 유니트가 유용하지 않다면, 도 6의 방법은 단계(610)로 되돌아가는데, 여기에서 EMEM 인터페이스(352)는 임의의 입력되는 에러 계수 데이터를 유용한 메모리에 기록하는 것을 지속한다. 적어도 두 개의 메모리가 유용하다면, IDCT(216)가 데이터를 EMEM 인터페이스(352)에 출력하기 전에 일부 지연이 존재한다 할지라도, MC 주 제어부(320)는 VLD(212)로부터의 에러 계수 데이터의 전달을 다시 시작하기 위하여 MC 사용중을 철회하고, 도 6의 방법은 단계(610)로 되돌아간다.
이제 도 7을 참조하면, 본 발명의 한 실시예에 따른 도 3의 EMEM 인터페이스(352)와 EMEM(350)에 대한 블록도가 도시되었다. 도 7은 도 5와 관련하여 위에서 기술된 EMEM(350)의 실시예를 포함한다. 도 7의 실시예에 있어서, EMEM 인터페이스(352)는 각 데이터 성분의 위치를 효과적으로 감시함으로써 EMEM(350)으로부터 및 이에 대한 데이터의 흐름을 관리한다. EMEM 인터페이스(352)는 EMEM(350)에 데이터의 판독 및 기록을 제어하기 위하여 MC 주 제어부(320)로부터의 다양한 제어 신호를 수신하는 것이 바람직하다. EMEM 인터페이스(352)는 입력 에러 계수 데이터를 EMEM(350) 내의 유용한 메모리 유니트에 기록하고, 또한 EMEM(350)의 적절한 메모리 유니트로부터의 데이터를 판독하기 위하여, 제어 신호를 그 입력에 응답하여 디코드한다. 도 7의 EMEM 인터페이스(352)는 기록 카운터(710), 포인터 레지스터(712), 판독 포인터 디코더(714), 어드레스 생성기(716) 및 어드레스 디코더(718)를 포함하지만, 이에 국한되지는 않는다.
도 7의 실시예에 있어서, 기록 카운터(710)는 0으로부터 4까지를 계수하는데, 이는 EMEM(350)이 4개의 메모리 유니트(510 - 518)로 분할되기 때문이다. 기록 카운터(710)는 어느 형태의 데이터 성분이 IDCT(216)로부터 입력될 지를 나타내기 위하여 MC 주 제어부(320)로부터 기록 신호를 수신하는 것이 바람직하다. 도 3과 관련하여 위에서 기술된 바와 같이, IDCT(216)으로부터의 데이터는 휘도(Y) 성분과 색차(C) 성분 사이에서 교대된다. MC 주 제어부(320)로부터의 기록 신호는, 각 데이터 성분이 다른 데이터를 포함한다 할지라도, 입력되는 데이터의 순서를 반복 패턴의 Y0, C0, Y1, C1으로 표시한다. MC 주 제어부(320)와 EMEM 인터페이스(352)는 두 개의 다른 휘도 성분을 구별하는데, 왜냐하면 EMEM(350)이 한 번에 다만 두 개의 휘도 성분을 포함할 것이기 때문이다. MC 주 제어부(320)와 EMEM 인터페이스(352)는 또한 두 개의 다른 색차 성분을 구별하는데, 왜냐하면 EMEM(350)이 한 번에 다만 두 개의 색차 성분을 포함할 것이기 때문이다.
기록 신호가 MC 주 제어부(320)로부터 수신될 때, 기록 카운터(710)는 카운터값을 증가시킨다. 입력되는 데이터가 휘도 성분이라면, 상기 값은 1만큼 증가된다. IDCT(216)로부터의 이전의 데이터 성분이 한 메모리 유니트에 기록된 색차 성분이었기 때문에, 상기 값은 1만큼 증가된다. 입력되는 데이터가 색차 성분이라면, 2만큼 증가된다. IDCT(216)로부터의 이전의 데이터 성분이 두 개 메모리 유니트에기록된 휘도 성분이었기 때문에, 상기 값은 2만큼 증가된다. 포인터 레지스터(712)는 현재의 카운터 값과 IDCT(216)로부터 도달하는 데이터 성분의 형태를 저장한다. 상기 카운터 값과, 1만큼 증가된 카운터 값은 멀티플렉서(722)에 입력된다. 멀티플렉서(722)는, 이하에서 논의되는, 선택 값에 따른 기록 포인터로서 상기 값중 하나를 출력한다. 디코더(732)는 기록 인에이블을 생성하기 위하여 기록 포인터를 디코드한다. 기록 인에이블은 라인(266)을 통해 IDCT(216)로부터 도달하는 데이터 성분을 저장하기 위하여 EMEM(350) 내의 메모리 유니트 중 하나를 작동 가능케 한다.
판독 포인터 디코더(714)는 어느 데이터 성분이 EMEM(350)로부터 판독될 지를 나타내는 MC 주 제어부(320)로부터의 판독 신호를 수신한다. 판독 포인터 디코더(714)는 판독될 데이터 성분에 대응하는 카운터값{포인터 레지스터(712)에 저장된}을 검색한다. 멀티플렉서(724)는 이하에서 기술될 선택값에 따라 판독 포인터를 카운터 값 또는 1만큼 증가한 카운터값으로 출력한다. 디코더(734)는 판독 인에이블을 생성하기 위하여 판독 포인터를 디코드한다. 판독 인에이블은 계산기(330)(도 3)에 의해 판독될 적절한 메모리 유니트를 동작 가능케 한다.
도 7의 실시예에 있어서, 어드레스 생성기(716)는 데이터 성분이 저장되거나 검색되는 것을 나타내기 위하여 기록 인덱스 및 판독 인덱스 신호를 MC 주 제어부(320)로부터 수신한다. 어드레스 생성기(716)는 표시된 데이터 성분을 위한 5비트 어드레스를 상기 인덱스 신호 수신기에 반응하여 생성한다. 어드레스 생성기(716)는 각 휘도 성분을 위한 32개의 어드레스와 각 색차 성분을 위한 16개의 어드레스를 생성할 것이다. 어드레스 생성기(716)로부터의 어드레스는 어드레스디코더(718)에 입력된다. 어드레스 디코더(718)는 또한 입력으로 판독 인에이블 및 기록 인에이블을 수신한다. 어드레스 디코더(718)는 각 인에이블 메모리 유니트를 위한 4비트 메모리 어드레스를 그 입력에 반응하여 출력한다. 그후 데이터는, 동시에 다른 메모리 유니트에 대하여 기록 및 판독될 수 있다.
어드레스 생성기(716)는 또한 포인터 선택기(736)를 위한 인에이블 신호를 생성한다. 포인터 선택기(736)는 입력으로 Y0 및 Y1 데이터 성분을 위해 생성된 4비트 어드레스의 최상위 비트(MSB)를 수신한다. 포인터 선택기(736)는 어드레스 생성기(716)로부터의 인에이블 신호에 의해 표시된 바대로 MSB를 멀티플렉서(722) 또는 멀티플렉서(724)에 출력할 것이다. 포인터 선택기(736)는 이와 같이 두 개의 인접 메모리 유니트 사이에서 휘도 성분의 분할을 관리한다.
예컨대, Y1 성분은 메모리 유니트(518 및 510)에 기록될 수 있다. Y1 성분을 위한 32개 어드레스의 제 1 절반은 0의 MSB를 가질 것이고, 어드레스의 제 2 절반은 1의 MSB를 가질 것이다. Y1 어드레스의 MSB는 포인트 선택기(736)에 입력된다. 포인터 선택기(736)는 MSB의 값을 선택값으로 멀티플렉서(722)에 전달한다. Y1의 MSB가 0일 때, 멀티플렉서(722)는 기록 포인터로서 현재의 카운터 값{메모리 유니트(518)에 대해 4}을 선택한다. Y1 어드레스의 MSB가 1일 때, 멀티플렉서(722)는 기록 포인터로서 현재의 카운터값에서 1만큼 증가한 값{메모리 유니트(510)에 대해 0}을 선택한다. 휘도 성분이 판독되려 할 때, 포인터 선택기(736)는, 판독 포인터에 대한 적절한 값을 선택하기 위하여, 동일한 방법으로 멀티플렉서(724)에 대한 선택값을 생성한다. 이러한 방법으로, EMEM 인터페이스(352)의 도 7의 실시예는EMEM(350) 내의 데이터 흐름을 효과적으로 관리한다.
이제 도 8을 참조하면, 본 발명의 한 실시예에 따른, 메모리 유니트에 데이터를 기록하기 위한 방법 단계의 흐름도가 도시되었다. 도 8의 방법 단계는 도 7과 관련하여 위에서 기술된 EMEM(350)과 EMEM 인터페이스(352)의 실시예를 사용하여 수행되는 것이 바람직하다. 초기에 단계(810)에서, 기록 카운터(710)는 MC 주 제어부(320)로부터 기록 신호를 수신하고, 카운터 값을 증가시킨다. 입력 데이터가 휘도 성분이라면, 카운터 값은 1만큼 증가하고, 입력 데이터가 색차 성분이라면, 카운터 값은 2만큼 증가한다. 단계(812)에서 포인터 레지스터(712)는 카운터 값과 입력 데이터 형태를 저장한다.
단계(814)에 있어서, 어드레스 생성기(716)는 MC 주 제어부(320)로부터 기록 인덱스 신호를 수신하고, 입력 데이터를 위한 어드레스를 그에 응답하여 생성한다. 단계(816)에 있어서, 멀티플렉서(722)는 포인터 선택기(736)로부터의 선택값에 따라 기록 포인터로서 적절한 카운터 값을 출력한다. 단계(818)에 있어서, 디코더(732)는 EMEM(350) 내의 적절한 메모리 유니트를 동작이 가능케 하기 위하여 기록 인에블을 디코드한다. 단계(820)에 있어서, 어드레스 디코더(718)는 기록 인에이블 및 어드레스 생성기(716)로부터의 어드레스를 사용하여 기록 가능한 메모리 유니트를 위한 메모리 어드레스를 디코드한다. 단계(822)에 있어서, IDCT(216)로부터의 입력 데이터는 EMEM(350) 내의 기록 인에이블된 유니트에 기록된다.
이제 도 9를 참조하면, 본 발명의 한 실시예에 따라, 메모리 유니트로부터의 데이터를 판독하기 위한 방법 단계의 흐름도가 도시되었다. 도 9의 방법 단계는 도7과 관련하여 기술된 EMEM(350)과 EMEM 인터페이스(352)의 실시예를 사용하여 수행되는 것이 바람직하다. 초기에 단계(910)에서, 판독 포인터 디코더(714)는 판독될 데이터 성분을 나타내는 MC 주 제어부(320)로부터의 판독 신호를 수신한다. 단계(912)에서, 판독 포인터 디코더(714)는 포인터 레지스터(712)로부터의 선택된 데이터 성분를 위한 카운터 값을 검색한다.
단계(914)에 있어서, 어드레스 생성기(716)는 판독될 데이터 성분을 나타내는 MC 주 제어부(320)로부터 판독 인덱스 신호를 수신하고, 데이터 성분을 위한 어드레스를 그 입력에 반응하여 생성한다. 단계(916)에서, 멀티플렉서(724)는 포인터 선택기(736)로부터의 선택된 값에 따라, 판독 포인터로서 카운터 값 또는 1만큼 증가한 카운터 값을 출력한다. 단계(918)에서, 디코더(734)는 EMEM(350) 내의 적절한 메모리 유니트를 위한 판독 인에이블을 생성하기 위하여 판독 포인터를 생성한다. 단계(920)에서, 어드레스 디코더(718)는 판독 인에이블과, 어드레스 생성기(716)로부터의 어드레스를 사용하여 판독-인에이블된 메모리 유니트를 위하여 메모리 어드레스를 디코드한다. 단계(922)에서, 계산기(330)는 판독-가능하게된 메모리 유니트의 출력을 판독한다.
본 발명은 위에서 양호한 실시예를 참조하여 설명되었다. 당업자에게는 다른 실시예도 본 개시 사항의 견지에서 자명할 것이다. 예컨대, 본 발명은 위의 양호한 실시예에서 기술된 것 이외의 구성 및 기술을 사용하여 쉽게 실현될 수 있다. 또한, 본 발명은 양호한 실시예로서 위에서 기술된 것이 아닌 다른 시스템과 관련하여 효과적으로 사용될 수 있다. 그러므로, 본 발명으로 양호한 실시예에 대한 이들 및 다른 변경을 포함하려 하는데, 본 발명은 첨부된 청구범위에 의해서만 제한된다.

Claims (42)

  1. 전자 시스템 내에서 효율적인 메모리 사용을 위한 장치에 있어서,
    동일하지 않은 크기를 갖는 제 1 데이터 성분 및 제 2 데이터 성분을 생성하는 데이터 소스(216)와,
    동일한 크기의 메모리 유니트(510)를 갖는 메모리(350)와,
    상기 메모리(350) 내에서 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분의 저장 및 검색을 관리하는, 상기 데이터 소스(216)와 상기 메모리(350) 사이의 인터페이스(352)를 포함하는, 효율적인 메모리 사용을 위한 장치.
  2. 제 1항에 있어서, 상기 메모리 유니트(510)는 연속적인 메모리 링(ring)으로 구성되는, 효율적인 메모리 사용을 위한 장치.
  3. 제 2항에 있어서, 상기 인터페이스(352)는, 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분이 상기 데이터 소스(216)에 의해 생성됨에 따라, 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분을 상기 연속적인 메모리 링에 순차적으로 저장하는, 효율적인 메모리 사용을 위한 장치.
  4. 제 2항에 있어서, 상기 인터페이스(352)는 상기 연속적인 메모리 링으로부터 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분을 순차적으로 검색하는, 효율적인 메모리 사용을 위한 장치.
  5. 제 1항에 있어서, 상기 제 1 데이터 성분 각각은 상기 제 2 데이터 성분 각각보다 크기가 더 크고, 상기 메모리 유니트(510) 각각은 상기 제 2 데이터 성분 중 하나를 포함하도록 크기가 정해지는, 효율적인 메모리 사용을 위한 장치.
  6. 제 5항에 있어서, 상기 제 1 데이터 성분 각각은 상기 제 2 데이터 성분 각각보다 크기가 두 배인, 효율적인 메모리 사용을 위한 장치.
  7. 제 1항에 있어서, 상기 전자 시스템은 비디오 디코더 시스템(134)을 포함하는, 효율적인 메모리 사용을 위한 장치.
  8. 제 7항에 있어서, 상기 제 1 데이터 성분은 휘도 데이터 성분을 포함하고, 상기 제 2 데이터 성분은 색차 데이터 성분을 포함하며, 상기 휘도 데이터 성분 각각은 상기 색차 데이터 성분 각각보다 크기가 두 배인, 효율적인 메모리 사용을 위한 장치.
  9. 제 1항에 있어서, 상기 데이터 소스(216)가 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분의 생성을 정지하도록, 상기 메모리 유니트(510)의 충분한 숫자가 유용하지 않을 때 상기 데이터 소스(212)에 대한 사용중 신호(busy signal)를 선언하는(assert) 제어 모듈(320)을 더 포함하는, 효율적인 메모리 사용을 위한 장치.
  10. 제 9항에 있어서, 상기 제어 모듈(320)은, 상기 데이터 소스(212)가 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분의 생성을 다시 시작하도록, 상기 메모리 유니트(510)의 상기 충분한 숫자가 유용하게 될 때 상기 데이터 소스(212)에 대한 상기 사용중 신호를 철회하는(de-assert), 효율적인 메모리 사용을 위한 장치.
  11. 제 10항에 있어서, 상기 제어 모듈(320)은, 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분에 대한 판독 및 기록 동작을 제어하기 위하여, 제어 신호를 상기 인터페이스(352)에 전달하는, 효율적인 메모리 사용을 위한 장치.
  12. 제 11항에 있어서, 상기 인터페이스(352)는, 상기 제어 모듈(320)로부터의 상기 제어 신호중 하나에 응답하여 상기 제 1 데이터 성분 각각 및 상기 제 2 데이터 성분 각각에 대한 어드레스 세트를 생성하는 어드레스 생성기(716)를 포함하는, 효율적인 메모리 사용을 위한 장치.
  13. 제 11항에 있어서, 상기 인터페이스(352)는, 상기 메모리 유니트(510) 각각이 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분을 저장하는 것을 순차적으로 가능케 하기 위하여, 상기 제어 모듈(320)로부터의 기록 신호에 응답하여 기록 인에이블을 생성하는, 효율적인 메모리 사용을 위한 장치.
  14. 제 11항에 있어서, 상기 인터페이스(352)는, 상기 메모리 유니트(510) 각각이 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분을 출력하는 것을 순차적으로 가능하게 하기 위하여, 상기 제어 모듈(320)로부터의 판독 신호에 응답하여 판독 인에이블을 생성하는, 효율적인 메모리 사용을 위한 장치.
  15. 제 8항에 있어서, 상기 인터페이스(352)는, 상기 휘도 데이터 성분 각각을 두 개의 상기 데이터 메모리 유니트(510)에 저장하고, 상기 색차 데이터 성분 각각을 하나의 상기 메모리 유니트(510)에 저장함으로써, 상기 휘도 데이터 성분 및 상기 색차 데이터 성분의 저장을 관리하는, 효율적인 메모리 사용을 위한 장치.
  16. 제 15항에 있어서, 상기 메모리(350)는 5개의 메모리 유니트(510)로 분할되고, 상기 메모리(350)는 연속적인 메모리 링으로 구성되는, 효율적인 메모리 사용을 위한 장치.
  17. 제 16항에 있어서, 상기 휘도 데이터 성분과 상기 색차 데이터 성분에 대한 판독 및 기록 동작을 제어하기 위하여 상기 인터페이스(352)에 제어 신호를 전달하는 제어 모듈(320)을 더 포함하는, 효율적인 메모리 사용을 위한 장치.
  18. 제 17항에 있어서, 상기 인터페이스(352)는, 상기 제어 모듈(320)로부터의상기 제어 신호중 하나에 응답하여 상기 휘도 데이터 성분 각각 및 상기 색차 데이터 성분 각각에 대한 어드레스 세트를 생성하는 어드레스 생성기(716)를 포함하는, 효율적인 메모리 사용을 위한 장치.
  19. 제 18항에 있어서, 상기 인터페이스(352)는, 상기 메모리 유니트(510)가 상기 휘도 데이터 성분과 상기 색차 데이터 성분을 저장하는 것을 순차적으로 가능하게 하기 위하여 상기 제어 모듈(320)로부터의 기록 신호에 응답하여 기록 인에이블을 생성하고, 상기 메모리 유니트(510)가 상기 휘도 데이터 성분과 상기 색차 데이터 성분을 출력하는 것을 순차적으로 가능하게 하기 위하여 상기 제어 모듈(320)로부터의 판독 신호에 응답하여 판독 인에이블을 생성하는, 효율적인 메모리 사용을 위한 장치.
  20. 제 19항에 있어서, 상기 기록 인에이블은 어드레스의 상기 세트중 하나의 최상위 비트에 따라 선택되는 기록 포인터로부터 디코드되고, 상기 판독 인에이블은 어드레스의 상기 세트중 상기 하나의 상기 최상위 비트에 따라 선택되는 판독 포인터로부터 디코드되는, 효율적인 메모리 사용을 위한 장치.
  21. 전자 시스템 내에서 메모리(350)의 효율적인 사용 방법에 있어서,
    데이터 소스(216)를 사용하여 동일하지 않은 크기를 갖는 제 1 데이터 성분 및 제 2 데이터 성분을 생성하는 단계와,
    상기 메모리(350)를 동일한 크기의 메모리 유니트(510)로 분할하는 단계와,
    상기 데이터 소스(216)와 상기 메모리(350) 사이의 인터페이스(352)를 사용하여, 상기 메모리(350) 내에서 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분의 저장 및 검색을 관리하는 단계를 포함하는, 메모리의 효율적인 사용 방법.
  22. 제 21항에 있어서, 상기 메모리 유니트(510)를 연속적인 메모리 링으로 구성하는 단계를 더 포함하는, 메모리의 효율적인 사용 방법.
  23. 제 22항에 있어서, 상기 인터페이스(352)는, 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분이 상기 데이터 소스(216)에 의해 생성됨에 따라, 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분을 상기 연속적인 메모리 링에 순차적으로 저장하는, 메모리의 효율적인 사용 방법.
  24. 제 22항에 있어서, 상기 인터페이스(352)는 상기 연속적인 메모리 링으로부터 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분을 순차적으로 검색하는, 메모리의 효율적인 사용 방법.
  25. 제 21항에 있어서, 상기 제 1 데이터 성분 각각은 상기 제 2 데이터 성분 각각보다 크기가 더 크고, 상기 메모리 유니트(510) 각각은 상기 제 2 데이터 성분중 하나를 포함하도록 크기가 정해지는, 메모리의 효율적인 사용 방법.
  26. 제 25항에 있어서, 상기 제 1 데이터 성분 각각은 상기 제 2 데이터 성분 각각보다 크기가 두 배인, 메모리의 효율적인 사용 방법.
  27. 제 21항에 있어서, 상기 전자 시스템은 비디오 디코더 시스템(134)을 포함하는, 메모리의 효율적인 사용 방법.
  28. 제 27항에 있어서, 상기 제 1 데이터 성분은 휘도 데이터 성분을 포함하고, 상기 제 2 데이터 성분은 색차 데이터 성분을 포함하며, 상기 휘도 데이터 성분 각각은 상기 색차 데이터 성분 각각보다 크기가 두 배인, 메모리의 효율적인 사용 방법.
  29. 제 21항에 있어서, 상기 데이터 소스(216)가 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분의 생성을 정지하도록, 상기 메모리 유니트(510)의 충분한 숫자가 유용하지 않을 때 제어 모듈(320)로부터의 사용중 신호를 상기 데이터 소스(212)에 대해 선언하는 단계를 더 포함하는, 메모리의 효율적인 사용 방법.
  30. 제 29항에 있어서, 상기 데이터 소스(212)가 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분의 생성을 다시 시작하도록, 상기 메모리 유니트(510)의 상기 충분한 숫자가 유용하게 될 때 상기 데이터 소스(212)에 대한 상기 사용중 신호를 철회하는 단계를 더 포함하는, 메모리의 효율적인 사용 방법.
  31. 제 30항에 있어서, 상기 제어 모듈(320)은, 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분에 대한 판독 및 기록 동작을 제어하기 위하여, 제어 신호를 상기 인터페이스(352)에 전달하는, 메모리의 효율적인 사용 방법.
  32. 제 31항에 있어서, 상기 인터페이스(352)는, 상기 제어 모듈(320)로부터의 상기 제어 신호중 하나에 응답하여 상기 제 1 데이터 성분 각각 및 상기 제 2 데이터 성분 각각에 대한 어드레스 세트를 생성하는 어드레스 생성기(716)를 포함하는, 메모리의 효율적인 사용 방법.
  33. 제 31항에 있어서, 상기 인터페이스(352)는, 상기 메모리 유니트(510) 각각이 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분을 저장하는 것을 순차적으로 가능케 하기 위하여, 상기 제어 모듈(320)로부터의 기록 신호에 응답하여 기록 인에이블을 생성하는, 메모리의 효율적인 사용 방법.
  34. 제 31항에 있어서, 상기 인터페이스(352)는, 상기 메모리 유니트(510) 각각이 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분을 출력하는 것을 순차적으로 가능하게 하기 위하여, 상기 제어 모듈(320)로부터의 판독 신호에 응답하여 판독 인에이블을 생성하는, 메모리의 효율적인 사용 방법.
  35. 제 28항에 있어서, 상기 인터페이스(352)는, 상기 휘도 데이터 성분 각각을 두 개의 상기 데이터 메모리 유니트(510)에 저장하고, 상기 색차 데이터 성분 각각을 하나의 상기 메모리 유니트(510)에 저장함으로써, 상기 휘도 데이터 성분 및 상기 색차 데이터 성분의 저장을 관리하는, 메모리의 효율적인 사용 방법.
  36. 제 35항에 있어서, 상기 메모리(350)는 5개의 메모리 유니트(510)로 분할되고, 상기 메모리(350)는 연속적인 메모리 링으로 구성되는, 메모리의 효율적인 사용 방법.
  37. 제 36항에 있어서, 상기 휘도 데이터 성분과 상기 색차 데이터 성분에 대한 판독 및 기록 동작을 제어하기 위하여 상기 인터페이스(352)에 제어 신호를 전달하는 제어 모듈(320)을 더 포함하는, 메모리의 효율적인 사용 방법.
  38. 제 37항에 있어서, 상기 인터페이스(352)는, 상기 제어 모듈(320)로부터의 상기 제어 신호중 하나에 응답하여 상기 휘도 데이터 성분 각각 및 상기 색차 데이터 성분 각각에 대한 어드레스 세트를 생성하는 어드레스 생성기(716)를 포함하는, 메모리의 효율적인 사용 방법.
  39. 제 38항에 있어서, 상기 인터페이스(352)는, 상기 메모리 유니트(510)가 상기 휘도 데이터 성분과 상기 색차 데이터 성분을 저장하는 것을 순차적으로 가능하게 하기 위하여 상기 제어 모듈(320)로부터의 기록 신호에 응답하여 기록 인에이블을 생성하고, 상기 메모리 유니트(510)가 상기 휘도 데이터 성분과 상기 색차 데이터 성분을 출력하는 것을 순차적으로 가능하게 하기 위하여 상기 제어 모듈(320)로부터의 판독 신호에 응답하여 판독 인에이블을 생성하는, 메모리의 효율적인 사용 방법.
  40. 제 39항에 있어서, 상기 기록 인에이블은 어드레스의 상기 세트중 하나의 최상위 비트에 따라 선택되는 기록 포인터로부터 디코드되고, 상기 판독 인에이블은 어드레스의 상기 세트중 상기 하나의 상기 최상위 비트에 따라 선택되는 판독 포인터로부터 디코드되는, 메모리의 효율적인 사용 방법.
  41. 전자 시스템 내에서 효율적인 메모리 사용을 위한 장치에 있어서,
    동일하지 않은 크기를 갖는 제 1 데이터 성분 및 제 2 데이터 성분을 생성하기 위한 수단과,
    동일한 크기의 메모리 유니트(510)로 분할되는 메모리(350)와,
    상기 메모리(350) 내에서 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분의 저장 및 검색을 관리하기 위한 수단을 포함하는, 효율적인 메모리 사용을 위한 장치.
  42. 데이터 소스(216)를 사용하여, 동일하지 않은 크기를 갖는 제 1 데이터 성분 및 제 2 데이터 성분을 생성하는 단계와,
    상기 메모리(350)를 동일한 크기의 메모리 유니트(510)로 분할하는 단계와,
    상기 메모리(350)와 상기 데이터 소스(216) 사이의 인터페이스(352)를 사용하여, 상기 메모리(350) 내에서 상기 제 1 데이터 성분 및 상기 제 2 데이터 성분의 저장 및 검색을 관리하는 단계를 수행함으로써, 메모리(350)의 효율적인 사용을 위한 프로그램 지령을 포함하는 컴퓨터 판독 가능 기록매체.
KR1020007009885A 1999-01-25 2000-01-18 비디오 디코더에서 효율적인 메모리 사용 장치 및 방법 KR20010092235A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/236,822 US6614437B1 (en) 1999-01-25 1999-01-25 Apparatus and method for efficient memory utilization in an electronic system
US09/236,822 1999-01-25
PCT/US2000/001255 WO2000044178A1 (en) 1999-01-25 2000-01-18 Apparatus and method for efficient memory utilization in a video decoder

Publications (1)

Publication Number Publication Date
KR20010092235A true KR20010092235A (ko) 2001-10-24

Family

ID=22891113

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007009885A KR20010092235A (ko) 1999-01-25 2000-01-18 비디오 디코더에서 효율적인 메모리 사용 장치 및 방법

Country Status (8)

Country Link
US (1) US6614437B1 (ko)
EP (1) EP1066724A1 (ko)
JP (1) JP2002535937A (ko)
KR (1) KR20010092235A (ko)
AU (1) AU2510700A (ko)
CA (1) CA2323508A1 (ko)
TW (1) TW488171B (ko)
WO (1) WO2000044178A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006030409A2 (en) * 2004-09-16 2006-03-23 Siano Mobile Silicon Ltd. A system circuit and method for utilizing digital memory associated with a host device for received data
US8718061B2 (en) * 2010-11-19 2014-05-06 Industrial Technology Research Institute Data center network system and packet forwarding method thereof

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4858173A (en) * 1986-01-29 1989-08-15 Digital Equipment Corporation Apparatus and method for responding to an aborted signal exchange between subsystems in a data processing system
US4975880A (en) * 1988-05-02 1990-12-04 Tektronix, Inc. Memory system for storing data from variable numbers of input data streams
JP2605434B2 (ja) * 1989-12-09 1997-04-30 ヤマハ株式会社 電子楽器のデータ発生装置
US5745791A (en) * 1992-09-16 1998-04-28 Intel Corporation System for interfacing first and second components having different data path width by generating first and second component address to read data into buffer
US5428766A (en) * 1992-12-01 1995-06-27 Digital Equipment Corporation Error detection scheme in a multiprocessor environment
JP3240017B2 (ja) 1993-01-11 2001-12-17 ソニー株式会社 Mpeg信号記録方法およびmpeg信号再生方法
DE4325107A1 (de) * 1993-07-27 1995-02-02 Philips Patentverwaltung Schaltungsanordnung zum Synchronisieren eines Datenstromes
TW377935U (en) 1994-08-10 1999-12-21 Gen Instrument Corp Dram mapping for a digital video decompression processor
US5568200A (en) * 1995-06-07 1996-10-22 Hitachi America, Ltd. Method and apparatus for improved video display of progressively refreshed coded video
US6088391A (en) 1996-05-28 2000-07-11 Lsi Logic Corporation Method and apparatus for segmenting memory to reduce the memory required for bidirectionally predictive-coded frames
US5818533A (en) 1996-08-08 1998-10-06 Lsi Logic Corporation Method and apparatus for decoding B frames in video codecs with minimal memory
DE69731342T2 (de) 1996-08-22 2005-03-17 Matsushita Electric Industrial Co., Ltd., Kadoma Bildverarbeitungsvorrichtung
KR100198541B1 (ko) 1996-08-26 1999-06-15 구자홍 영상 프레임 데이터를 일 메모리에 저장하는 방법
US6052490A (en) * 1997-02-14 2000-04-18 At&T Corp. Video coder employing pixel transposition
US6141744A (en) * 1997-03-24 2000-10-31 Texas Instruments Incorporated PC circuits, systems and methods
US6275877B1 (en) * 1998-10-27 2001-08-14 James Duda Memory access controller

Also Published As

Publication number Publication date
TW488171B (en) 2002-05-21
US6614437B1 (en) 2003-09-02
CA2323508A1 (en) 2000-07-27
JP2002535937A (ja) 2002-10-22
AU2510700A (en) 2000-08-07
WO2000044178A1 (en) 2000-07-27
EP1066724A1 (en) 2001-01-10

Similar Documents

Publication Publication Date Title
US6542541B1 (en) Method and apparatus for decoding MPEG video signals using multiple data transfer units
US5774206A (en) Process for controlling an MPEG decoder
US5812791A (en) Multiple sequence MPEG decoder
US6996174B2 (en) MPEG video decoder with integrated scaling and display functions
US6574273B1 (en) Method and apparatus for decoding MPEG video signals with continuous data transfer
US8774281B2 (en) Implementation of a DV video decoder with a VLIW processor and a variable length decoding unit
US8184700B2 (en) Image decoder
US6215822B1 (en) Motion compensated digital video decoding and buffer memory addressing therefor
JPH10509569A (ja) 3:2のプルダウンで映像をデコードしそして表示するメモリ利用法
KR20010043480A (ko) 디지털 방식으로 인코딩된 비디오 신호를 디코딩하기 위한가변길이 디코더
WO2000059219A1 (en) Digital video decoding, buffering and frame-rate converting method and apparatus
US5828425A (en) Apparatus for decoding video data
US8681862B2 (en) Moving picture decoding apparatus and moving picture decoding method
Demura et al. A single-chip MPEG2 video decoder LSI
US6720893B2 (en) Programmable output control of compressed data from encoder
US20070263939A1 (en) Variable length decoding device, variable length decoding method and image capturing system
US8443413B2 (en) Low-latency multichannel video port aggregator
JP2000106677A (ja) 圧縮ストリーム復号装置および圧縮ストリーム復号方法
JP3871348B2 (ja) 画像信号復号化装置及び画像信号復号化方法
US6850568B1 (en) Method and apparatus for decoding mpeg video signals
US20020041630A1 (en) Compression-encoded data decoding apparatus
KR20010092235A (ko) 비디오 디코더에서 효율적인 메모리 사용 장치 및 방법
WO2000059218A1 (en) Digital video decoding, buffering and frame-rate converting method and apparatus
US20030123555A1 (en) Video decoding system and memory interface apparatus
WO1998042139A1 (en) Video decoder with reduced size display buffer

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid