KR20070003592A - Av 디코더에서 메모리 액세스를 관리하기 위한 방법 및장치 - Google Patents

Av 디코더에서 메모리 액세스를 관리하기 위한 방법 및장치 Download PDF

Info

Publication number
KR20070003592A
KR20070003592A KR1020060058122A KR20060058122A KR20070003592A KR 20070003592 A KR20070003592 A KR 20070003592A KR 1020060058122 A KR1020060058122 A KR 1020060058122A KR 20060058122 A KR20060058122 A KR 20060058122A KR 20070003592 A KR20070003592 A KR 20070003592A
Authority
KR
South Korea
Prior art keywords
address
memory
data
decoder
memory address
Prior art date
Application number
KR1020060058122A
Other languages
English (en)
Other versions
KR101288421B1 (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 KR20070003592A publication Critical patent/KR20070003592A/ko
Application granted granted Critical
Publication of KR101288421B1 publication Critical patent/KR101288421B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control

Abstract

본 발명은 두 개 이상의 디코더(DA, DB, DC) 중의 하나를 위해 개별적으로 수신지가 정해진 페이로드(payroad) 부분(205)을 포함하는 섹터(S1-S6, Sn)로 조직된 멀티플렉싱된 데이터 스트림(404)을 수신하고 디코딩하기 위한 장치와 방법을 설명한다. 이 장치는 어드레스 공간(101, 201)에서 어드레스 지정 가능한 메모리 디바이스(405)에 연결된다. 이 디코더들(DA, DB, DC) 중의 적어도 하나는 어드레스 공간(101, 201)의 진부분집합인 미리 결정된 어드레스 범위내로부터 판독 및/또는 기록 어드레스(416-418, 611-613)를 생성한다. 메모리(405)에 이미 포함된 데이터를 디코더 어드레스 범위내로 이동시킴으로써 야기되는 추가적인 메모리 액세스를 회피하기 위해, 이 장치는 디코더 어드레스(416-418, 611-613)를 변환된 어드레스(TDR, 604, 605, 606)로 변환하고, 메모리 디바이스(405)를 액세스하기 위해 변환된 어드레스를 사용하는 어드레스 변환기(411, 506, 601, 602, 603)를 갖는다.

Description

AV 디코더에서 메모리 액세스를 관리하기 위한 방법 및 장치{METHOD AND APPARATUS FOR MANAGING MEMORY ACCESSES IN AV DECODER}
도 1은 버퍼에서 섹터의 배치의 예시를 도시한 도면.
도 2는 데이터 배치의 제1 예시를 도시한 도면.
도 3은 데이터 배치의 제2 예시를 도시한 도면.
도 4는 본 발명의 제1 구현을 도시하는 블록도.
도 5는 본 발명의 제2 구현을 도시하는 블록도.
도 6은 메모리 제어기와 어드레스 변환 유닛을 구비한 본 발명의 제3 구현을 일부를 도시하는 블록도.
도 7은 본 발명의 어드레스 변환 유닛의 내부 구조를 도시하는 블록도.
도 8은 본 발명의 어드레스 변환 단계의 내부 구조를 도시하는 블록도.
<도면 주요 부분에 대한 부호의 설명>
S1...Sn: 섹터, DA, DB, DC: 디코더, WA: 어드레스,
PPI: 페이로드 위치 정보, DI: 수신지 정보,
PMA, PMB, PMC: 페이로드 맵, RD: 요청된 데이터, TDR: 변환된 데이터 요청
본 발명은 AV 디코더를 위해 메모리 액세스를 관리하기 위한, 특히, 다중-요소 AV 비트스트림을 디코딩하고 재생하는 데 관여되는 디멀티플렉싱과 데이터 핸들링을 관리하기 위한 방법 및 장치와 관련이 있다.
AV 데이터는 CD-롬, VCD, S-VCD, DVD 또는 BD와 같은 저장 매체로부터 판독되는 또는 전송 채널을 통해 수신된, 오디오, 비디오 또는 부-화상(sub-picture)과 같은 하나 이상의 요소 디코더의 집합을 수신지로 하는 세그먼트를 포함하는 이진 데이터이다. AV 재생 디바이스에 있어서, 데이터는 시간에 따라 변하고, 섹션에서 거의 일정한 또는 일정할 수 있는 제1 데이터율에서 소스(저장 매체 또는 전송 채널)로부터 당도한다. 이 데이터는 데이터 소소와 데이터 수신지(요소 디코더)의 다른 순간적인 또는 단기간 데이터 비율을 보상하기 위해 버퍼 메모리에 일반적으로 입력된다.
광 매체 판독의 경우에 있어서, 버퍼 메모리는 종종 트랙 버퍼 또는 기계적 버퍼라고 불린다. 진입 데이터 스트림이 중단될 때, 여기서 버퍼 메모리는 또한 그 시간 간격을 메우는(bridge) 역할을 담당한다. 광 픽업이 다른 목표 어드레스로 건너뛰기 위해 매체상의 다른 위치로 보내지고 있을 때마다 이러한 중단이 발생한다. 소수의 트랙을 받는 형태에서, 낮은 데이터 소비의 경우에서, 예를 들면, 비디오 및/또는 오디오 신호의 낮은 활동 통과를 디코딩할 때, 버퍼 제어의 일부로서 이러한 중단이 또한 발생한다.
통상적으로, 데이터는 종종 상수 길이의 섹터에서 조직되고, 섹터는 페이로드의 조각들을 포함한다. 매우 일반적으로, 각 섹터의 페이로드는 단지 하나의 요소 디코더로만 향해진다는 것이 묵시적으로 보장된다.
많은 알려진 AV 디코더에서, 데이터 세그먼트가 트랙 버퍼로부터 요소 디코더와 연관된 개별 디코더 비트 버퍼로 다시 복사된다. 개념적으로, 각 데이터 세그먼트가 수신지로 하는 요소 검출기로 각 데이터 세그먼트를 전달하는 작업은 디멀티플렉싱 작업이다. 종래의 기술에서, 섹터는 메모리로 판독되며, 그리고 나서, 이 섹터의 디코더 페이로드는 적절한 디코더 비트 버퍼로 복사된다. 각 디코더 비트 버퍼로부터, 연관된 디코더는 그 입력을 수신하고, 종종 적당한 디코딩 동안에 사용되는 내부 작업 메모리에 이 데이터를 교대로 복사할 것이다.
유럽 특허 EP 0917147 A는 트랙 버퍼의 향상된 제어를 위한 방법과 장치를 설명하고, 입력 데이터 스트림은 데이터 버퍼에 기록되고, 입력 데이터 스트림으로부터 유도된 적어도 하나의 출력 데이터 스트림이 소프트웨어 디멀티플렉서에 의해 생성되는 연결된 리스트의 수단에 의해 연관된 데이터 디코더로 발송되도록, 제어된다. 트랙 버퍼(track buffer: TB)와 디코더 비트 버퍼는 동일한 물리적 메모리로 매핑되고, 요소 디코더는 연결된 리스트 기술을 사용해서 트랙 버퍼에 초기적으로 기록되었던 데이터를 직접적으로 처리한다. 이런 방식으로, 트랙 버퍼(TB)로부터 데이터를 디코더 비트 버퍼로 재복사하는 것이 회피될 수 있다.
종래의 방법 및 장치는, 비록 이 방법 및 장치가 트랙 버퍼로부터 디코더 비 트 버퍼로의 복사 동작을 회피하지만, 데이터가 디코더 비트 버퍼로부터 종래의 요소 디코더가 요구하는 디코더 내부 작업 메모리로 받아 들여질 때, 여전히 복사 동작이 수행되어야 한다는 단점을 가진다고 볼 수 있다. 효과적인 압축 알고리즘이 이전에 디코딩된 신호 또는 이 신호로부터 유도된 예측 신호와 같은 이전에 처리된 데이터로부터 유도된 기준 데이터를 이용하기 때문에, 디코더 내부 작업 메모리가 필요하다. 이러한 기준 데이터는 일반적으로 디코더 내부 메모리에에 장착되며, 종래 기술의 요소 디코더는 고정된 또는 디코더 셋업 절차의 일부로서 때때로 변하는 주소에서 이 메모리를 기대한다.
먼저 데이터를 메모리로 판독하고 그리고 나서 동일한 데이터를 전용 디코더 메모리 영역으로 복사하는 것은 커다란 메모리 액세스 대역과 따라서 장비 하드웨어 비용을 초래한다. 따라서, 본 발명에 의해 해결될 문제는 이런 측면에서 메모리 관리를 향상시키는 것이다. 데이터가 일단 메모리로 기록된 이후에, 어떠한 데이터가 메모리로 복사되거나 데이터가 이 메모리로 이동되는 것을 전적으로 회피하는 것을 가능하게 함으로써, 이 문제를 해결하는 것을 달성한다.
본 발명에 따른 장치는 어드레스 공간을 망라하는 또는 어드레스 지정 가능한 메모리 디바이스에 연결된다. 이 장치는 두 개 이상의 디코더를 가지고 있으며, 이 디코더 중의 하나로 개별적으로 수신지가 정해진 페이로드 부분을 포함하는 섹터로 조직된 데이터 스트림을 수신하고 디코딩한다. 적어도 하나의 디코더는 어드레스 공간의 미리 결정된 부분 집합 내에서 디코더 판독 및/또는 기록 어드레스를 생성하는데, 이런 방식에서, 데이터가 메모리로부터 기록되거나 또는 판독되는 것 을 요청한다. 본 발명에 따라, 이 장치는 데이터 스트림의 각 섹터를 기껏해야 한 번 메모리 디바이스로 기록하며, 이 장치는 디코더 어드레스를 미리 결정된 부분 집합내로부터 제한되지 않는 변환된 어드레스로 변환하는 어드레스 변환기를 가지고 있다. 이 장치는 메모리 디바이스를 액세스하기 위해 변환된 어드레스를 사용한다. 요컨대 어드레스 변환기와 같은 적절한 추가적인 하드웨어로 교체함으로써, 동일 데이터의 반복적인 기록 및 재기록이 상당히 감소된다는 것이 이점이다.
유리하게, 이 장치의 어드레스 변환기는 하나씩 수신되고 있는 섹터에 대해, 섹터의 페이로드 부분의 수신지를 설명하는 특별한 수신지 정보와 수신된 섹터가 메모리에 저장된 특별한 메모리 어드레스를 수신하고, 이 어드레스 변환기는 제2 종류의 메모리 어드레스, 즉, 액세스하기 위해 디코더 요청 중의 하나를 선택했던 그 데이터의 어드레스를 또한 수신한다. 어드레스 변환기는 수신지 정보와 이제까지 수신된 섹터의 제1 메모리 어드레스를 사용해서 제2 종류의 메모리 어드레스를 제3 종류의 메모리 어드레스로 변환한다. 요청하는 디코더가 메모리에서 요청된 데이터를 액세스할 수 있도록, 어드레스 변환기는 제3 종류의 메모리 어드레스를 제공한다. 설명된 메커니즘이 메모리로부터 데이터를 판독하는 것을 요청하는 디코더에 실제적으로 제한되지 않는다는 것이 이롭다. 어드레스 변환기는 디코더가 어떠한 위치에서 메모리 데이터를 기록하거나 수정하기를 원하는 곳에서의 요청을 실현하기 위해 또한 사용될 수 있다. 이러한 수정은, 예를 들면, 비디오 디코딩 동안에, 재구성된 화상이 예측된 화상과 디코딩된 화상 에러의 추가적인 중첩으로서 계산될 때, 발생한다.
유리하게, 이 장치의 어드레스 변환기는 디코더 중의 하나로 각각 연관된 어드레스 변환기 유닛의 집합을 포함한다. 각 어드레스 변환 유닛은 어드레스 변환 유닛으로 연관된 디코더로 수신지가 정해진 그 수신된 섹터의 어드레스를, 제1 종류의 메모리 어드레스로서 수신하고, 이 어드레스 변환 유닛은 연관된 디코더가 액세스할 것을 요청하는 어드레스를 제2 종류의 메모리 어드레스로서 수신한다. 이런 데이터를 가지고, 어드레스 변환 유닛은 제2 종류의 메모리 어드레스를 제2 종류의 메모리 어드레스를, 제3 종류의 어드레스, 즉, 연관된 데이터가 요청한 데이터를 참으로 액세스할 수 있는 어드레스로 변환한다. 이 구조는 규칙적인 이점을 가지고 있으며, 따라서, 이 구조는 다른 디코더 구성으로 쉽게 설계되고 스케일링(scaling)될 수 있다.
유리하게, 또한, 각 설명된 어드레스 변환 유닛은 어드레스 변환 단계의 집합을 포함하며, 각 어드레스 변환 단계는 병렬로 제각기 연결된 입력과 출력을 갖는다. 각 어드레스 변환 유닛은 또한, 어드레스 범위와 어드레스 오프셋을 위한 로컬 메모리 수단과, 입력에 존재하는 입력 어드레스가 어드레스 범위 내에 있는지를 검사하는 어드레스 비교기와, 어드레스 오프셋을 입력 어드레스에 더하는 가산기와, 만약 이 검사가 참이라면, 가산 결과를 어드레스 변환 단계의 출력으로 통과시키는 게이트를 포함한다. 이 구조는 추가적인 클록 지연을 유발시키지 않는 방식으로 구현되기에 적당한 대부분 간이(simple) 게이트 논리로 이루어져 있다.
메모리 액세스는 수신된 섹터의 데이터가 제1 메모리 어드레스 하에서 메모리로 저장되는 본 발명에 따른 장치에서 관리된다. 제1 메모리 어드레스와 수신된 섹터의 수신지 정보는 어드레스 변환 수단에 제공된다. 디코더 중의 하나가 제2 메모리 어드레스로부터 데이터를 요청할 때, 제2 메모리 어드레스는 어드레스 변환 수단에 발송된다. 어드레스 변환 수단에서, 제2 메모리 어드레스는 제3 메모리 어드레스로 변환된다. 요청된 데이터는 제3 메모리 어드레스를 사용해서 메모리부터 재생되고, 디코더로 전송된다. 이 방법은 그 작업 메모리를 전체적인 어드레스 공간의 고정된 부분 집합에서 기대하는 종래의 디코더 설계를 계속해서 사용하는 것을 허용하는데, 한편, 진성(true) 메모리 액세스는, 진입 섹터가 메모리에 기록되었을 수도 있는 임의의 순서 또는 정렬에 그 자신을 유연하게 적응시키면서, 전체적인 어드레스 공간의 임의의 산개된 부분 집합에서 발생한다.
유리하게, 어드레스 변환 수단은 디코더 중의 하나에 각각 연관된 어드레스 변환 유닛의 집합을 포함하며, 제공 단계에서, 제1 메모리 어드레스는 수신된 섹터의 디코더와 연관된 어드레스 변환 유닛에 제공되며, 발송 단계에서, 제2 메모리 어드레스는 데이터를 요청한 디코더와 연관된 어드레스 변환 유닛에 발송되며, 변환 단계는 데이터를 요청한 디코더와 연관된 어드레스 변환 유닛에서 수행된다. 이것은 전체적인 계산을 기본적이고 간단한 데이터 조작의 집합으로 나누는 이점을 가진다.
또한, 만약 변환 단계에 있다면, 제2 메모리 어드레스가 어드레스 범위의 집합과 비교되고, 제3 메모리 어드레스는 제2 메모리 어드레스가 존재하는 어드레스 범위와 연관된 어드레스 오프셋을 사용해서 제2 메모리 어드레스로부터 계산되는 것이 이점이다.
이 경우에, 디코더 중의 하나가 시작 메모리 어드레스를 가지고 시작하고, 종결 메모리 어드레스를 가지고 종결하는 선형 시퀀스의 제2 메모리 어드레스로부터 데이터를 요청할 때, 변환 단계는 시작 메모리 주소를 어드레스 범위의 집합과 비교하는 단계와; 시작 메모리 어드레스가 존재하는 그 어드레스 범위와 연관된 어드레스 오프셋을 사용해서 시작 메모리 어드레스로부터 변환된 시작 메모리 어드레스를 계산하는 단계와, 만약 종결 메모리 어드레스가 또한 어드레스 범위내에 있다면, 어드레스 오프셋을 사용해서 종결 메모리 어드레스로부터 변환된 종결 메모리 어드레스를 계산하고, 변환된 시작 메모리 어드레스와 변환된 종결 메모리 어드레스를 사용해서 메모리 수단으로부터 요청된 데이터를 재생하는 단계와, 만약 종결 메모리 어드레스가 어드레스 범위 밖에 있다면, 변환된 시작 메모리 어드레스와 상기 어드레스 범위를 사용해서 메모리 수단으로부터 요청된 데이터의 일부를 재생하고, 수정된 시작 메모리 어드레스를 가지고 이 단계들을 반복하는 단계를 포함한다.
다른 말로 하자면, 본 발명에서, RAM 내에서의 데이터 복사를 전적으로 회피하면서, 그럼에도 불구하고, 작업하기 위한 선형 어드레스 공간을 디코더에 제공하는 전용 메모리 관리가 제안된다. 제안된 메모리 관리의 구현이 설명되는데, 이 구현은 데이터 리드-인(read-in)과 디코더 IC 코어(core)를 위한 종래의 접근법들 사이에 쉽게 맞추어지는, 작은 분리적인 조각들의 어드레스 변환 논리를 구성한다.
본 발명의 예시적인 실시예가 도면들에서 설명되고, 다음 설명에서 보다 상세히 설명된다. 이 설명은 데이터 수신지가 AV 디코더 또는 플레이어의 개별 요소 디코더인 예시를 사용한다. 하지만, 본 발명의 원리는 데이터 수신지가 임의의 다른 데이터 소비 또는 데이터 액세스 유닛 또는 서브-유닛인 시스템에서 또한 사용될 수 있다. 이런 의미에서, 다음에 나오는 "디코더"라는 용어는 "데이터 싱크", "데이터 수신지" 또는 "데이터 접근기(accessor)"를 일반적으로 포함하는 것으로 이해될 것이다.
도 1은 어드레스 도메인(101)의 부분 집합을 포괄하는 섹터 버퍼(102) 내의 섹터(S1-Sn)의 배치의 예시를 도시한다. 섹터(S1-Sn)는 자유 섹터(103) 또는 사용된 섹터(104)로서 지정된다. 도 1의 예시에서 도시된 것처럼, 사용된 섹터는 섹터 버퍼 내에서 임의로 배분될 수 있다. 이 경우에 어드레스 도메인(101)은 파일 관리자 어드레스 도메인이다.
도 2와 도 3은 데이터 배치의 예를 보여 주는데, 여기서 설명의 간결성을 위해, 도시된 섹터 버퍼의 일부는 모든 사용된 섹터(104)를 포함하는데, 즉, 아무런 자유 섹터(103)도 가지고 있지 않다. 이 도면들은 일반적으로 심지어 사용된 섹터(104)내에서 조차, 섹터(S1-S6)의 단지 일부(106, 205, 209)만이 디코더 페이로드만을 구성한다는 것을 설명하는 것을 목표로 한다. 일반적으로 제어 정보나 다른 데이터도 또한 포함할 수 있는 나머지 섹터 내용(204)은 디코더를 위해서 수신지가 정해지는 것이 아니다. 관련된 데이터와 관련되지 않은 데이터의 이러한 배치가 주어졌을 때, 메모리 관리 유닛(memory management unit) 또는 MMU는 액세스를 단지 섹터의 디코더 페이로드부분에만 제공해야 한다. 따라서, MMU는 디코더 어드레스 도메인(208)의 데이터를 디코더에 제공하는 것으로 볼 수 있으며, 도 2와 도 3은 하나의 파일 관리자 어드레스 도메인(201)으로부터, 두 개의 다른 디코더 어드레스 도메인(208, 210)의 데이터가 대안적으로 유도될 수 있는지를 비교하여 설명한다. 파일 관리자 어드레스 도메인(201)으로부터 디코더 어드레스 도메인(208, 210)으로의 전이는 논리적인 어드레스 도메인 경계(206)를 교차하는 것으로서 보여 질 수 있다.
도 2와 도 3에서 도시된 섹터(S1-S6)의 시퀀스는 개념적으로 데이터 스트림 또는 이 스트림의 일부에 대응하지 않는다는 것이 주목되어야 한다. 진입 데이터 스트림을 데이터 버퍼로 기록하는 종래 기술에서, 섹터가 데이터를 수신하기 위해 자유로운 또는 다시 자유롭게 되는 것이 신호되는 것으로서, 섹터는 무작위 순서로 사용되고 재사용된다. 물론, 리셋 또는 스위치가 켜진 후에, 전체 데이터 버퍼가 자유롭다. 이런 경우에서, 일시적으로 연속적인 진입 섹터가 물리적으로 연속적인 메모리 위치에 저장되는 것이 어느 정도 우연적으로 발생할 수 있다. 데이터 스트림이 판독 또는 수신 순서에서 섹터의 시퀀스를 지정하는 반면에, 도 2와 도 3에서 도시된 섹터의 시퀀스는 이 섹터를 어드레스 순서로 도시하는데, 즉, 이 도면들은 메모리 내용을 상징적으로 도시한다.
도 2는 섹터(S1-S6)로 이루어진 섹터 버퍼(202)가 위치하고 있는 파일 관리자 어드레스 도메인(201)을 도시한다. 섹터(S1-S6)는 디코더(DA, DB, DC)로 수신지가 정해진 디코더 페이로드 데이터(205)뿐만 아니라 오버헤드(overhead) 데이터(204)를 포함하는 것이 도시된다. 비록 도시되지는 않았지만, 섹터(S1-S6) 내의 페이로드 데이터(205)의 위치와 크기는 일반적으로 섹터에 따라 다를 수 있다. 도 2 의 중앙과 하부는 디코더(DA)로 수신지가 정해진 디코더 페이로드(205)가 디코더(DA) 어드레스 도메인(208)로 다시 수신지가 정해지는(207) 어드레스 도메인 경계(206)를 상징적으로 도시한다. 이 예시는 단지 절대적인 위치뿐만 아니라, 심지어 디코더 어드레스 도메인(208)에서 섹터 페이로드의 순서가 파일 관리자 어드레스 도메인(201)내에서 포괄하는 섹터(S1-S6)의 순서와 부분적으로 다를 수 있는 것을 추가적으로 설명한다. 물론, 이러한 불규칙적인 또는 역(inverted) 페이로드 순서가 여하튼 지정되어야만 한다. 이러한 순서는 디코더 페이로드 이내에서 또는 오버헤드 데이터 이내에서 정보에 의해 명시적으로 지정될 수 있거나, 또는 데이터 스트림을 주관하는 규칙으로부터 묵시적으로 유도될 수 있거나 이 순서가 메모리 안에 저장되는 방식을 이용할 수 있다.
먼저, 도 3은 섹터(S1-S6)의 동일 시퀀스에 기반을 두고 있으며, 디코더(DC) 페이로드(209)를 디코더(DC) 어드레스 도메인(210)으로 재배치하는(207) 것을 도시한다. 다시, 페이로드의 순서는 두 어드레스 도메인(201, 210) 사이에서 역전된다. 디코더 어드레스 도메인(210)에서, 파일 관리자 어드레스 도메인에서 섹터 페이로드로부터 또는 이 페이로드와 연관되어 여전히 재생될 필요가 있는 심지어 한 부분의 디코더(DC) 페이로드(211)가 존재한다. 이러한 늦은 페이로드가 이용 가능해야만 할때까지 허용가능한 최대 지연 시간을 한정하는 것은 해당하는 애플리케이션 포맷에 달려 있다.
도 4는 본 발명의 제1 구현을 도시하는데, 이 구현은 섹터 버퍼 공간 맵(403)에 연결된(402) 파일 관리자를 가지고 있다. 파일 관리자(401)는 섹터 스트림 (404)을 수신하기 위한 입력을 가지고 있고, 이 파일 관리자는 섹터 버퍼(405)에 연결된 데이터 출력(410)과 디멀티플렉서(407)에 연결된 제어 출력(406)을 가지고 있다. 디멀티플렉서(407)는 섹터 버퍼(405)로의 판독 액세스(408)와 메모리 제어기(411)에 연결된 제어 출력(409)을 가지고 있다. 메모리 제어기(411)는 섹터 버퍼(405)로의 데이터 액세스(423)와, 두 개 이상의 디코더(DA, DB, DC)의 입력에 연결된 출력(422)을 가지고 있는데, 각 디코더에 대해, 메모리 제어기(411)는 페이로드 맵(411, 413, 414)을 관리한다(415). 각 디코더(DA, DB, DC)는 데이터 액세스를 요청하기 위한 제어 출력(416, 417, 418)을 가지고 있다. 제어 출력(416, 417, 418)은 메모리 제어기(411)에 연결된다. 각 디코더는 디코딩된 데이터에 대해 다른 하나의 출력(419, 420, 421)을 가지고 있다.
파일 관리자(401)가 섹터 스트림(404)의 진입 섹터를 수신할 때마다, 파일 관리자는 섹터 버퍼 공간 맵(403)으로부터, 새로운 데이터를 수신할 준비가 된 섹터 버퍼(405)에서 자유 공간 또는 더 이상 사용되지 않는 공간을 지정하는 어드레스(WA)를 재생한다. 그리고 나서, 파일 관리자(401)는 섹터를 어드레스(WA)로부터 시작하는 어드레스에서 섹터 버퍼(405)로 기록하고(410), 섹터 버퍼 공간 맵(403)에서 어드레스(WA)를 더 이상 자유롭지 않다고 마킹하고, 새로운 섹터를 저장하기 위해 사용되는 어드레스(WA)뿐만 아니라 새로운 섹터의 가용성을 디멀티플렉서(407)에 지정한다(406). 어드레스(WA)를 사용하는 디멀티플렉서(407)는 섹터 버퍼(405)에서 새로운 섹터를 조사하거나, 그렇치 않다면, 페이로드 위치 정보(payload position information: PPI)와 수신지 정보(destination information: DI)를 생성 하는데, 디멀티플렉서는 페이로드 위치 정보와 수신지 정보 모두를 메모리 제어기(411)에 발송한다(409). 수신지 정보(DI)를 이용하는 메모리 제어기(411)는 페이로드의 수신지와 연관된 페이로드 맵(412, 413, 414) 중의 하나에 페이로드 위치 정보(PPI)를 발송한다(415).
그리고 나서, 디코더(DA, DB, DC)가 데이터 요청을 데이터 제어기(411)로 전송할 때마다(416, 417, 418), 요청하는 디코더(DA, DB, DC)에 연관된 페이로드 맵(412, 413, 414)을 사용해서 메모리 제어기(411)는 요청된 데이터(RD)를 요청 디코더(DA, DB, DC)에 전달하거나, 또는 요청 디코더(DA, DB, DC)에게 요청된 데이터(RD)로의 기록 액세스를 허용한다.
진입 섹터가 자유 섹터 주소(WA)에서 더 이상 자유롭지 않다고 마킹되는 섹터 버퍼로 기록되는 방법에 대해서 위에서 설명되었다. 일치되게, 섹터가 임의의 디코더에 의해 더 이상 필요하지 않다고 알려지자마자, 그 어드레스(WA)는 섹터 버퍼 맵(403)에서 자유롭다고 마킹된다. 이 빠르고 간단한 동작은 어드레스(WA)에서 메모리가 새로운 진입 섹터를 수신하기 위해 조만간 다시 사용될 것이라는 것을, 즉, 겹쳐 쓰기될 것이라는 것을 보장하기에 충분하다.
AV 데이터 디코딩의 상황에서, 제시된 데이터, 사용자의 선택 및 장치 세팅에 따라, 디코더(DA, DB, DC)중의 임의의 디코더를 위해 수신지가 정해진 페이로드 데이터는 진행중인 재생 동안에 필요로 하지 않는다는 것이 사전에 알려질 수 있다. 이러한 것의 가장 일반적인 예시는 다중 오디오 상황에서 선택되지 않은 오디오 채널이다. 만약이 이것이 그 경우라면, 관련된 섹터를 인식하고, 이 섹터를 어 떠한 추가적인 처리로부터 배제하는 것은 일반적으로 디멀티플렉서(407)일 것이다. 대안적으로, 섹터 버퍼가 가능한한 많이 그리고 일찍 가비지(garbage)로 채워지는 것을 회피하기 위해, 이 기능을 파일 관리자(401)로 구현하는 것이 또한 가능할 수 있는데, 이 경우에 그 자체적인 적어도 기본적인 디멀티플렉싱 기능을 필요로 한다. 그러므로, 이 설명에서 주어진 어떠한 처리 단계는 많은 그러나 반드시 필수적이지는 않게, 데이터 스트림 내에서 페이로드의 모든 섹터 또는 일부를 포함하는 것으로 이해되어져야 한다.
도 5는 도 4의 요소와 동일한 요소를 지정하는 동일한 수자를 가진 본 발명의 제2 구현을 도시한다. 이 경우에, 제2 버퍼에서 새로운 섹터를 저장하는 것과 자유롭게 하는 것을 취급하는 것은 파일 관리자(501)가 아니다. 오히려, 여기서 메모리 관리 유닛(memory management unit) 또는 MMU(506)라고 불리는 확장 메모리 제어기가 이러한 작업을 수행한다. 이 접근법은 MMU(506)이 메모리 제어기(411)보다 복잡한 것을 희생하여, 파일 관리자(501)를 위한 처리력 요구 사항을 감소시킨다.
이 구현은 메모리 관리 유닛(506)에 연결되고(502), 섹터 스트림(404)를 수신하기 위한 입력을 갖는 파일 관리자(501)를 갖는다. 메모리 관리 유닛(506)은 섹터 버퍼 공간 맵(403)에 연결되고(503), 이 메모리 관리 유닛은 섹터 버퍼(405)에 연결된 데이터 출력(505)을 가지며, 이 메모리 관리 유닛은 디멀티플렉서(407)에 연결된 제어 출력(504)을 가진다. 디멀티플렉서(407)의 제어 출력(409)은 메모리 관리 유닛(506)에 연결된다.
이 경우에, 파일 관리자(501)가 섹터 스트림(404)의 진입 섹터를 수신할 때마다, 파일 관리자는 이 진입 섹터를 메모리 관리 유닛(506)에 발송한다. 그리고 나서, 메모리 관리 유닛(506)은 섹터 버퍼 공간 맵(403)으로부터 어드레스(WA)를 수신하고, 이 섹터를 어드레스(WA)에서 섹터 버퍼(405)에 기록하고(505), 새로운 섹터를 저장하기 위한 어드레스(WA)뿐만 아니라 새로운 섹터의 이용 가능성을 디멀티플렉서(407)에 지정한다. 디멀티플렉서(407)는 페이로드 위치 정보(PPI)와 수신지 정보(DI)를 메모리 관리 유닛(506)에 발송한다(409). 수신지 정보(DI)를 사용해서, 메모리 관리 유닛(506)은 페이로드 위치 정보(PPI)를 페이로드 수신지에 연관된 페이로드 맵(412, 413, 414)중의 하나에 발송한다(415). 나머지 요소들과 처리 단계들은 도 4에서 설명된 것들과 동일하다.
도 6은 도 4와 도 5의 페이로드 맵(412, 413, 414)에 대안적인, 어드레스 변환 유닛(601, 602, 603)을 포함하는, 본 발명의 제3 구현을 도시한다. 여기서, 메모리 제어기(607)는 섹터 버퍼(미도시)로의 데이터 액세스(423)를 가지며, 이전과 같이, 두 개 이상의 디코더(DA, DB, DC)의 입력에 연결된 출력(422)을 가지고 있다. 이전과 마찬가지로, 각 디코더(DA, DB, DC)는 데이터 액세스를 요청하기 위한 제어 출력(611, 612, 613)을 가지고 있지만, 그러나 여기서 이 제어 출력은 디코더(DA, DB, DC)에 연관된 어드레스 변환 유닛에 개별적으로 연결된다. 각 어드레스 변환 유닛(601, 602, 603)은 메모리 제어기(607)로부터 페이로드 위치 정보(PPI)를 수신하기 위한 제어 입력(608, 609, 610)을 가지고 있다. 이 어드레스 변환 유닛은 또한 변환된 데이터 요청(TDR)을 메모리 제어기(607)에 전송하기 위한 제어 출력 (604, 605, 606)을 가진다.
진입 섹터가 섹터 버퍼로 수신하고 기록할 때마다, 수신지 정보(DI)를 사용해서, 메모리 제어기(607)는 페이로드 위치 정보(PPI)를 페이로드의 수신지와 연관된 어드레스 변환 유닛(601, 602, 603)중의 하나로 발송한다(608, 609, 610). 물론, 메모리 제어기(607)에 개별적으로 연결된 어드레스 변환 유닛(601, 602, 603)에 대안적으로, 버스와 같은 연결이 또한 사용될 수 있다. 이 경우에, 메모리 제어기(607)는, 관련된 어드레스 변환 유닛(601, 602, 603)이 반응하여 이 버스로부터 PPI를 재생하는 것을 허용하면서, 페이로드 위치 정보(PPI)뿐만 아니라 수신지 정보(DI) 또는 일종의 등가의 식별자를 버스 상에 실어야 한다. 디코더(DA, DB, DC)는 모든 데이터 요청을, 요청된 데이터 어드레스를 변환하고, 산출된 변환된 데이터 요청(TDR)을 메모리 제어기(607)에 전송하는, 그 연관된 어드레스 변환 유닛(601, 602, 603)으로 전송한다(611, 612, 613). 변환된 데이터 요청(TDR)을 사용해서 메모리 제어기(607)는 섹터 버퍼(미도시)를 판독-액세스(read access)하고(423), 요청된 데이터(RD)를 요청하는 디코더(DA, DB, DC)에 전달한다(422). 대응되게, 기록 액세스 요청을 서비스하기 위해, 메모리 제어기(607)는 요청된 데이터(RD)를 요청하는 디코더(Da, DB, DC)로부터 수신하고(422), 변환된 데이터 요청(translated data request: TDR)을 사용해서, 데이터를 섹터 버퍼(미도시)에 저장한다(423).
도 7은 디코더(DA)에 연관되는 것이 가정되는 어드레스 변환 유닛(601)의 내부 구조를 블록도에서 도시한다. 동일 구조는 모든 어드레스 변환 유닛과 그 제각 기의 연관된 디코더에 적용한다. 어드레스 변환 유닛(601)은 하나 이상의 어드레스 변환 단계(702, 703, 704)의 집합과 제어 논리(701)를 가지고 있다. 각 어드레스 변환 단계(702, 703, 704)는 페이로드 위치 정보(PPI)를 국지적으로 저장할 수 있는데, 각 어드레스 변환 단계는 디코더(DA)의 페이로드를 위해 요구되는 어드레스 매핑의 선형 부분 집합을 실현하기 위해 이 페이로드 위치 정보를 국지적으로 저장할 수 있다. 디코더(DA)가 현재 작업하고 있는 데이터의 단편화에 따라, 디코더(DA)에 대해 임의의 시간에 유효한 어드레스 매핑이 변화하는 개수의 이러한 선형 부분 집합으로 이루어져 있고, 따라서, 어드레스 변환 단계의 변화하는 개수가 이것을 구현하기 위해 필요하다. 그러므로, 적절한 수의 어드레스 변환 단계가 실현되어야 하며, 임의의 실현에서 각 어드레스 변환 단계는 활성화 또는 비활성화일 수 있다. 단계의 수는 섹터 크기 또는 최대 허용되는 메모리 크기와 같은 전역 시스템 매개변수에서 다른 것들에 의존한다.
디코더(DA)를 위해 수신지가 정해진 진입 섹터가 수신되었을 때, 제어 논리(701)는 그 입력(608)을 통해서 관련된 페이로드 위치 정보(PPI)를 수신하고, 페이로드 위치 정보를 국지적으로 저장하기 위해 이 정보를 비활성화 어드레스 변환 단계(702, 703, 704) 중의 하나로 발송하고, 어드레스 변환 단계를 활성화 상태로 세팅한다.
디코더(DA)로부터 수신된(611) 데이터 요청은 병렬로 모든 어드레스 변환 단계(702, 703, 704)에 내부적으로 발송된다(708). 요청된 데이터 어드레스가 선형 부분 집합 중의 어느 것에 속하게 되는가에 따라, 그러면 어드레스 변환 단계(702, 703, 704) 중의 활성화 단계 중의 한 단계가 요청된 데이터 어드레스를 변환하고, 산출되는 변환된 데이터 요청(TDR)을 출력할 것이다(604).
도 8은 어드레스 변환 단계(702)의 내부 구조를 도시한 블록도이다. 동일 구조는 모든 어드레스 변환 단계에 대해 적용된다. 페이로드 위치 정보(PPI)가 수신되는 어드레스 변환 단계(702)의 입력 연결(705)은 시작 어드레스 메모리(801), 종결 어드레스 메모리(802)와 어드레스 오프셋 메모리(803)에 연결된다. 페이로드 위치 정보(PPI)가 수신될 때마다, 시작 어드레스, 종결 어드레스와 어드레스 오프셋이 이 정보로부터 유추되고, 이 메모리안에 제각기 기록된다. 시작 어드레스 메모리(801)와 종결 어드레스 메모리(802)의 내용은 어드레스 범위 비교기(804)에 발송되고(807, 808), 반면에 어드레스 오프셋 메모리(803)의 내용은 가산기(805)로 발송된다. 데이터 요청 입력(611)을 통해서, 연관된 디코더가 액세스를 요청하는 이 데이터의 어드레스가 수신된다. 요청된 어드레스는 어드레스 범위 비교기(804)에 발송되고(809), 여기서 이 어드레스가 요청된 어드레스가 시작 어드레스와 종결 어드레스에 의해 한정되는 어드레스 범위내에 있는가의 여부가 검사된다. 이 검사의 결과는 게이트(810)를 제어하기 위해 사용된다(806). 어드레스 범위 비교기(804)에 발송되는 것과 병행해서, 각 요청된 어드레스는 가산기(805)에 또한 발송되는데, 여기서, 어드레스 오프셋 메모리(803)의 내용은 이 어드레스에 추가된다. 만약 어드레스 범위 비교기(804)의 결과가 양수라면, 가산결과가 게이트(810)를 거쳐 변환된 데이터 요청(TDR)을 구성하는 어드레스 변환 단계(702)의 제어 출력(604)에 연결된다.
바꾸어 말하자면, 본 발명은 두 개 이상의 디코더(DA, DB, DC) 중의 하나를 위해 수신지가 개별적으로 정해진 페이로드 부분(205)을 포함하는 섹터(S1-S6)(Sn)에서 조직된 멀티플렉싱된 데이터 스트림(404)을 수신하고 디코딩하기 위한 장치 및 방법을 설명한다. 이 장치는 어드레스 공간(101, 201)에서 어드레스 지정 가능한 메모리 디바이스(405)에 연결된다. 디코더(DA, DB, DC) 중의 적어도 하나는 어드레스 공간(101, 201)의 진 부분 집합인 미리 결정된 어드레스 범위 이내로부터 판독(416-418) 및/또는 기록 어드레스(611-613)를 생성한다. 메모리(405)에 이미 포함된 데이터를 디코더 어드레스 범위 내로 이동시킴으로써 유발된 추가적인 메모리 액세스를 회피하기 위해, 이 장치는 디코더 어드레스(416-418)(611-613)를 변환된 어드레스(TDR, 604, 605, 606)로 변환하는 어드레스 변환기(411, 506, 601, 602, 603)를 가지며, 메모리 디바이스(405)를 액세스(423)하기 위한 변환된 어드레스를 사용한다.
본 발명은 AV 디코더를 위해 메모리 액세스를 관리하기 위한, 특히, 다중-요소 AV 비트스트림을 디코딩하고 재생하는 데 관여되는 디멀티플렉싱과 데이터 핸들링을 관리하기 위한 방법 및 장치에 이용 가능하다.

Claims (8)

  1. 멀티플렉싱된 데이터 스트림(404)을 수신하고 디코딩하기 위한 장치로서,
    상기 장치는 어드레스 공간(101, 201)에서 어드레스 지정 가능한 메모리 디바이스(405)에 연결되고, 두 개 이상의 디코더(DA, DB, DC)를 가지며, 상기 데이터 스트림(404)은 상기 디코더(DA, DB, DC) 중의 하나를 위해 개별적으로 수신지가 정해진 페이로드(payroad) 부분(205)을 포함하는 섹터(S1-S6, Sn)로 조직되며, 상기 디코더(DA, DB, DC)중의 적어도 하나는 판독과 기록을 위해서 상기 어드레스 공간(101, 201)의 미리 결정된 부분집합 이내로부터 디코더 어드레스(416, 417, 418, 611, 612, 613)를 생성하기 위해 장착되는 멀티플렉싱된 데이터 스트림(404)을 수신하고 디코딩하기 위한 장치에 있어서,
    상기 장치는 최대 한 번 상기 데이터 스트림의 각 섹터를 메모리 디바이스(405)에 기록하기(410, 505) 위해 장착되고, 디코더 어드레스(416, 417, 418, 611, 612, 613)를 변환된 어드레스(TDR, 604, 605, 606)로 변환하고, 상기 메모리 디바이스(405)를 액세스(423) 하기 위해 변환된 주소(TDR, 604, 605, 606)를 사용하는 어드레스 변환기(411, 506, 601, 602, 603)를 갖는 것을 특징으로 하는, 멀티플렉싱된 데이터 스트림을 수신하고 디코딩하기 위한 장치.
  2. 제1항에 있어서, 상기 페이로드 부분의 수신지는 수신지 정보(destination information: DI)에 의해 설명되고,
    상기 장치는, 상기 어드레스 변환기(411, 506, 601, 602, 603)가
    - 다중 수신된 섹터에 대해, 이 다중 수신된 섹터가 상기 메모리 디바이스(405)에 저장되게 하는 그 특별한 수신지 정보(DI)와 제1 메모리 어드레스(PPI, 409)를 수신하고;
    - 상기 디코더(DA, DB, DC) 중의 선택된 디코더가 요청한 데이터의 제2 메모리 어드레스(416-418, 611-613)를 수신하고;
    - 상기 수신된 섹터의 수신지 정보(DI)와 제1 메모리 어드레스(PPI, 409)를 사용해서 상기 제2 메모리 어드레스(416-418, 611-613)를 제3 메모리 어드레스(TDR, 604, 605, 606)로 변환하고;
    - 상기 메모리(405)로부터 상기 요청된 데이터를 검색하기(423) 위해 상기 제3 메모리 어드레스(TDR, 604, 605, 606)를 제공하기 위해 장착되고 배치되는 것을 추가적인 특징으로 하는, 멀티플렉싱된 데이터 스트림을 수신하고 디코딩하기 위한 장치.
  3. 제2항에 있어서, 상기 어드레스 변환기는 상기 디코더(DA, DB, DC) 중의 하나와 각각 연관된 어드레스 변환 유닛(601, 602, 603)의 집합을 포함하며,
    각 어드레스 변환 유닛(601-603)은 상기 연관된 디코더(DA, DB, DC)를 위해 수신지가 정해진 그 수신된 섹터의 제1 메모리 어드레스(PPI)를 수신하고(608-610), 상기 연관된 디코더(DA, DB, DC)에 의해 요청되는 그 데이터의 제2 메모리 어드레스를 수신하기(611-613) 위해 장착되고 배치되며, 제2 메모리 어드레스(611- 613)를 상기 연관된 디코더(DA, DB, DC)에 의해 요청되는 그 데이터를 위한 제3 메모리 어드레스(TDR, 604-606)로 변환하기 위해 장착되는, 멀티플렉싱된 데이터 스트림을 수신하고 디코딩하기 위한 장치.
  4. 제3항에 있어서, 상기 어드레스 변환 유닛(601-603)은 입력(708)과 출력(604)을 각각 갖는 어드레스 변환 단계(702-704)의 집합을 포함하며,
    어드레스 변환 단계(702-704)의 입력과 출력은 병렬로 각각 연결되고,
    상기 어드레스 변환 단계(702-704)는 어드레스 범위와 어드레스 오프셋을 위한 로컬 메모리 수단(801-803)과, 상기 입력(611, 809)에 존재하는 입력 어드레스가 어드레스 범위(807, 808) 내에 있는지를 검사하는 어드레스 비교기(804)와, 상기 어드레스 오프셋(803)을 상기 입력 어드레스(611)에 더하는 가산기(805)와, 만약 상기 검사가 참이라면(806), 상기 가산기(805)의 출력을 상기 어드레스 변환 단계(702-704)의 출력(604)으로 통과시키는 게이트(810)를 포함하는, 멀티플렉싱된 데이터 스트림을 수신하고 디코딩하기 위한 장치.
  5. 섹터(404)의 시퀀스로 조직된 데이터를 수신하고 디코딩하기 위한 장치에 있어서의 메모리 액세스를 관리하기 위한 방법으로서,
    각 섹터는 상기 섹터의 수신지 정보(DI)에 의해 설명된 디코더(DA, DB, DC)의 미리 한정된 집합 중의 하나로 수신지가 정해지는 데이터(205)를 포함하는 메모리 액세스를 관리하기 위한 방법에 있어서,
    - 수신된 섹터의 데이터를 제1 메모리 어드레스(PPI) 하에서 검색 가능한 메모리 수단(405)에 저장하는 단계(410, 505)와,
    - 상기 수신된 섹터의 제1 메모리 어드레스(PPI)와 수신지 정보(DI)를 어드레스 변환 수단(411, 506)에 제공하는 단계와,
    - 상기 디코더(DA, DB, DC) 중의 하나가 제2 메모리 어드레스(416-418)로부터 데이터를 요청할 때, 제2 메모리 어드레스(416-418)를 상기 어드레스 변환 수단(411, 506)에 발송하는 단계와,
    - 상기 어드레스 변환 수단(411, 506)에서, 상기 제2 메모리 어드레스(416-418)를 제3 메모리 어드레스(TDR, 604-606)로 변환하는 단계와,
    - 제3 메모리 어드레스(TDR, 604-606)를 사용해서 상기 메모리 수단(405)으로부터 상기 요청된 데이터를 재생하고, 상기 데이터를 상기 디코더(DA, DB, DC)로 전송하는 단계를 특징으로 하는, 메모리 액세스를 관리하기 위한 방법.
  6. 제5항에 있어서, 상기 어드레스 변환 수단은 상기 디코더(DA, DB, DC) 중의 하나와 각각 연관된 어드레스 변환 유닛(601-603)의 집합을 포함하며,
    제공 단계에서, 제1 메모리 어드레스(PPI)는 상기 수신된 섹터의 디코더(DA, DB, DC)와 연관된 어드레스 변환 유닛(601-603)에 제공되며,
    발송 단계에서, 제2 메모리 어드레스(416-418, 611-613)는 상기 데이터를 요청한 디코더(DA, DB, DC)와 연관된 어드레스 변환 유닛(601-603)에 발송되며,
    변환 단계는 상기 데이터를 요청한 디코더(DA, DB, DC)와 연관된 어드레스 변환 유닛(601-603)에서 수행되는, 메모리 액세스를 관리하기 위한 방법.
  7. 제5항 또는 제6항에 있어서, 상기 변환 단계는,
    - 제2 메모리 어드레스(611, 809)를 어드레스 오프셋(803)과 각각 연관된 어드레스 범위의 집합(801, 802, 807, 808)과 비교하는 단계(804)와,
    - 상기 제2 메모리 어드레스(611, 809)가 존재하는 어드레스 범위(801, 802, 807, 808)와 연관된 그 어드레스 오프셋(803)을 사용해서 제2 메모리 어드레스(611)로부터 제3 메모리 어드레스(611)를 계산하는 단계(805)를 포함하는, 메모리 액세스를 관리하기 위한 방법.
  8. 제7항에 있어서, 상기 디코더(DA, DB, DC) 중의 하나가 시작 메모리 어드레스를 가지고 시작하고, 종결 메모리 어드레스를 가지고 종결하는 제2 메모리 어드레스(416-418, 611-613)의 선형 시퀀스로부터 데이터를 요청할 때,
    상기 변환 단계는,
    - 상기 시작 메모리 주소를 어드레스 범위의 집합과 비교하는 단계(804)와;
    - 상기 시작 메모리 어드레스가 존재하는 그 어드레스 범위(801, 802, 807, 808)와 연관된 어드레스 오프셋(803)을 사용해서 상기 시작 메모리 어드레스로부터 변환된 시작 메모리 어드레스(811)를 계산하는 단계(805)와;
    - 만약 종결 메모리 어드레스가 또한 상기 어드레스 범위 내에 있다면, 상기 어드레스 오프셋을 사용해서 종결 메모리 어드레스로부터 변환된 종결 메모리 어드 레스를 계산하고, 상기 변환된 시작 메모리 어드레스와 상기 변환된 종결 메모리 어드레스를 사용해서 상기 메모리 수단으로부터 요청된 데이터를 검색하는 단계와;
    - 만약 종결 메모리 어드레스가 상기 어드레스 범위 밖에 있다면, 상기 변환된 시작 메모리 어드레스와 상기 어드레스 범위를 사용해서 상기 메모리 수단으로부터 요청된 데이터의 일부를 검색하고, 수정된 시작 메모리 어드레스를 가지고 상기 단계들을 반복하는 단계를 포함하는, 메모리 액세스를 관리하기 위한 방법.
KR1020060058122A 2005-07-01 2006-06-27 Av 디코더에서 메모리 액세스를 관리하기 위한 방법 및장치 KR101288421B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05106000.2 2005-07-01
EP05106000A EP1739672A1 (en) 2005-07-01 2005-07-01 Method and apparatus for managing memory accesses in an AV decoder

Publications (2)

Publication Number Publication Date
KR20070003592A true KR20070003592A (ko) 2007-01-05
KR101288421B1 KR101288421B1 (ko) 2013-07-22

Family

ID=34940266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060058122A KR101288421B1 (ko) 2005-07-01 2006-06-27 Av 디코더에서 메모리 액세스를 관리하기 위한 방법 및장치

Country Status (8)

Country Link
US (1) US8140819B2 (ko)
EP (1) EP1739672A1 (ko)
JP (1) JP5230083B2 (ko)
KR (1) KR101288421B1 (ko)
CN (1) CN1901072B (ko)
DE (1) DE602006021101D1 (ko)
MY (1) MY151402A (ko)
TW (1) TWI390508B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101685381B (zh) 2008-09-26 2013-07-24 美光科技公司 固态大容量存储装置的数据串流
WO2011091421A1 (en) * 2010-01-25 2011-07-28 Pointy Heads Llc Data communication system and method
US9606803B2 (en) * 2013-07-15 2017-03-28 Texas Instruments Incorporated Highly integrated scalable, flexible DSP megamodule architecture
TWI656210B (zh) * 2013-12-25 2019-04-11 Idemitsu Kosan Co., Ltd. 酒類用金屬載持沸石及酒類之製造方法
JP6438777B2 (ja) * 2015-01-30 2018-12-19 ルネサスエレクトロニクス株式会社 画像処理装置および半導体装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02222023A (ja) * 1989-02-23 1990-09-04 Victor Co Of Japan Ltd 多チャンネル情報再生装置
US5463751A (en) * 1989-11-22 1995-10-31 Matsushita Electric Industrial Co., Ltd. Memory device having address translator and comparator for comparing memory cell array outputs
US5687342A (en) * 1991-09-18 1997-11-11 Ncr Corporation Memory range detector and translator
US6330644B1 (en) * 1994-10-27 2001-12-11 Canon Kabushiki Kaisha Signal processor with a plurality of kinds of processors and a shared memory accessed through a versatile control means
JP3507146B2 (ja) * 1994-10-27 2004-03-15 キヤノン株式会社 信号処理装置及びその方法
JP3301695B2 (ja) * 1996-03-13 2002-07-15 松下電器産業株式会社 符号化信号復号装置
JP2000260116A (ja) 1999-03-09 2000-09-22 Rohm Co Ltd Cd信号処理装置
US6385712B1 (en) * 1999-10-25 2002-05-07 Ati International Srl Method and apparatus for segregation of virtual address space
JP2001126387A (ja) * 1999-10-26 2001-05-11 Matsushita Electric Ind Co Ltd 記録再生装置
US7079458B2 (en) * 2000-06-08 2006-07-18 Matsushita Electric Industrial Co., Ltd. Buffer memory address translation device
JP3459225B2 (ja) * 2000-06-08 2003-10-20 松下電器産業株式会社 バッファメモリアドレス変換装置、光ディスク再生装置、及び媒体
DE60134255D1 (de) * 2000-07-25 2008-07-10 Juniper Networks Inc Netzwerkarchitektur und verfahren zur transparenten online-querschnittskodierung und zum transport von netzwerkkommunikationsdaten
US6813735B1 (en) * 2000-10-02 2004-11-02 Fasl, Llc. I/O based column redundancy for virtual ground with 2-bit cell flash memory
JP2002290921A (ja) * 2001-03-26 2002-10-04 Sony Corp 信号処理システム、信号出力装置、信号受信装置、信号処理方法、信号出力方法および信号受信方法
JP2002319233A (ja) * 2001-04-23 2002-10-31 Hitachi Ltd デジタル信号記録再生装置
US6839826B2 (en) * 2002-02-06 2005-01-04 Sandisk Corporation Memory device with pointer structure to map logical to physical addresses
JP2005167420A (ja) 2003-11-28 2005-06-23 Toshiba Corp 映像音声再生装置

Also Published As

Publication number Publication date
US8140819B2 (en) 2012-03-20
TWI390508B (zh) 2013-03-21
US20070016753A1 (en) 2007-01-18
EP1739672A1 (en) 2007-01-03
CN1901072A (zh) 2007-01-24
JP5230083B2 (ja) 2013-07-10
KR101288421B1 (ko) 2013-07-22
JP2007012259A (ja) 2007-01-18
DE602006021101D1 (de) 2011-05-19
CN1901072B (zh) 2012-09-26
TW200703252A (en) 2007-01-16
MY151402A (en) 2014-05-30

Similar Documents

Publication Publication Date Title
KR101288421B1 (ko) Av 디코더에서 메모리 액세스를 관리하기 위한 방법 및장치
US7639927B2 (en) Unified control and memory for a combined DVD/HDD system
US7639926B2 (en) Unified control and memory for a combined DVD/HDD system
US20020059276A1 (en) Optimising allocation of sectors in disc drives
KR100548828B1 (ko) 기록매체와 같은 디스크 상에/디스크로부터 실시간 정보를동시에 기록 및 재생하는 방법 및 장치
KR100982392B1 (ko) 저장 디바이스 캐시 메모리 관리
US7657160B2 (en) Unified control and memory for a combined DVD/HDD system
JP2005513645A6 (ja) 記憶装置キャッシュメモリマネージメント
KR101137575B1 (ko) 저장 디바이스
US7613867B2 (en) Information recording apparatus, information recording method and recording medium recording program
US20180052786A1 (en) Improvement in sending of multimedia streams
EP1739675B1 (en) Method and apparatus for managing memory accesses in an AV decoder
JP4274783B2 (ja) 記録装置
JP4809956B2 (ja) データバッファを制御する方法及び装置
JP4656679B2 (ja) ディスク装置
US20110110648A1 (en) Video recording device, video reproduction device, and method thereof
JP4461143B2 (ja) ビデオ信号及び少なくとも1つの付加的な情報信号を担持する記録担体
JP4290306B2 (ja) 記録再生装置、方法および媒体
EP0917144B1 (en) Method and apparatus for controlling a data buffer
KR20050011031A (ko) 디지털 기록장치에서의 버퍼메모리 관리방법
JP2006163801A (ja) 情報記録再生装置
JP3673091B2 (ja) クロック制御回路およびディジタル信号処理装置
RU2303823C2 (ru) Способ обработки, записи и воспроизведения файлов реального времени
JP2009301595A (ja) ディスク装置及びその記録方法
RU2300148C2 (ru) Носитель записи для хранения информации о записи/воспроизведении в реальном масштабе времени, способ и устройство для записи и воспроизведения в реальном масштабе времени и способ обработки файлов с их использованием

Legal Events

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

Payment date: 20160624

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee