KR100594953B1 - 다중레벨의 하우스키핑을 위해 적합한 소프트웨어 관리 기능을 갖는 임시 데이터스트림 신호처리 버퍼 메모리 구조 - Google Patents

다중레벨의 하우스키핑을 위해 적합한 소프트웨어 관리 기능을 갖는 임시 데이터스트림 신호처리 버퍼 메모리 구조 Download PDF

Info

Publication number
KR100594953B1
KR100594953B1 KR1019997003402A KR19997003402A KR100594953B1 KR 100594953 B1 KR100594953 B1 KR 100594953B1 KR 1019997003402 A KR1019997003402 A KR 1019997003402A KR 19997003402 A KR19997003402 A KR 19997003402A KR 100594953 B1 KR100594953 B1 KR 100594953B1
Authority
KR
South Korea
Prior art keywords
data
buffer
buffer unit
memory
sbm
Prior art date
Application number
KR1019997003402A
Other languages
English (en)
Other versions
KR20000068786A (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 KR20000068786A publication Critical patent/KR20000068786A/ko
Application granted granted Critical
Publication of KR100594953B1 publication Critical patent/KR100594953B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Calculators And Similar Devices (AREA)

Abstract

데이터스트림 신호처리의 버퍼 메모리 구조는, 데이터스트림 입력과, 데이터스트림을 임시로 기억하기 위한 기억수단과, 상기 버퍼 메모리를 액세스하기 위한 액세스수단과, 메모리 하우스키핑을 위한 메모리 관리수단을 구비한다. 특히, 이 관리수단은 소프트웨어로 실행된다.
하우스키핑, 데이터스트림, 버퍼 메모리, 다중레벨, 소프트웨어, 하드웨어

Description

다중레벨의 하우스키핑을 위해 적합한 소프트웨어 관리 기능을 갖는 임시 데이터스트림 신호처리 버퍼 메모리 구조{A TRANSIENT DATASTREAM-PROCESSING BUFFER MEMORY ORGANIZATION WITH SOFTWARE MANAGEMENT ADAPTED FOR MULTILEVEL HOUSEKEEPING}
발명의 배경
본 발명은 청구항 1의 전문에 나타낸 바와 같은 데이트스트림 신호처리의 버퍼 메모리 구조에 관한 것이다. 미국 특허 제 4,314,361호, 제 4,236,225호 및 제 4,222,102호는 각각 고정 입력 및 가변 출력과, 가변 입력 및 고정 출력과, 양쪽의 가변 입력 및 가변 출력을 갖는 FIFO 구조에 대하여 기술한다. 그러한 기본 FIFO 기능을 나타내기 위해, 상기한 참조문헌은 오로지 하드웨어에 근거한 하우스키핑(housekeeping) 만을 사용한다. 본 발명자는 특히 보다 복잡한 프로세싱 모드를 허용하기 위해, 향상된 그리고 보다 적응성 있는 기능에 대한 필요성을 경험해 왔다. 또한, 어떤 물리적인 위치에서 또 다른 어떤 물리적인 위치로의 정보의 이동은 제한된 전송 능력의 면에서, 즉 지금까지 가장 큰 데이터스트림 용량의 면에서 가능한 제한적이어야 하기 때문에, 어떠한 과도한 지연도 초래되지 않을 것이다. 이것은 동일한 데이터 항목이 각각의 기능에 대하여 몇 번 사용될 때 더욱 더 적용된다. 물리적인 이동에 대한 최종의 논쟁은 물리적인 데이터 트랜스포트에 대한 전력 소비가 낮게 유지되어야 한다는 것이다.
발명의 요약
결국, 무엇보다도, 본 발명의 목적은, 공용의 물리적인 메모리 공간 상에 다양한 논리적인 버퍼의 맵핑(mapping)을 허용하면서 물리적인 데이터 전송을 매우 소량으로 줄이는 것에 있다. 따라서, 이 관점 중 하나에 따르면, 본 발명은 청구항 1의 특성을 나타내는 부분에 기술한 바와 같은 것을 특징으로 한다.
바람직하게는, 메모리 관리는 다중레벨 하우스키핑을 위해 조정된다. 데이터 포맷의 정의는 특정한 각종 연속적인 레벨을 종종 포함한다. 특별한 포맷 레벨에 대하여 하우스키핑을 관련된 하우스키핑 레벨로 지정함으로써, 쉬운 방법으로 적응성을 얻는다. 본 발명의 또 다른 바람직한 면은 종속항에 기술되어 있다.
본 발명의 관점 및 이점에 대해서는 바람직한 실시예를 참조하면서, 특히 첨부된 도면을 참조하면서 보다 상세히 설명할 것이다:
도 1은 이 구조를 맵핑하는 전형적인 하드웨어이고,
도 2는 데이터 흐름 구조의 예이며,
도 3은 전형적인 섹터 헤더 포맷이고,
도 4는 오디오 섹터의 전형적인 사용자 데이터 포맷이다.
바람직한 실시예의 상세한 설명
도 1은 본 발명의 구조를 맵핑하는 전형적인 하드웨어 실시예를 나타낸 것이다. 프로세서는 애플리케이션을 위해 충분한 용량을 갖는 버스 설비(80) 주변에 있고, 데이터, 어드레스, 버스 설비에 접속된 다양한 서브시스템들 사이의 제어신호를 전송하기 위한 적당한 폭을 갖는다. I/O 서브시스템(88)은 상호접속선(90)을 통해 외부계와 인터페이스한다. 프로세싱 설비(82)는 필요한 프로세싱 동작을 실행한다. RAM 메모리(92)는 도 2를 참조하면서 후술하는 구조에 따라 데이터를 기억한다. 메모리 관리부(84)는 메모리(92)에 대하여 다양한 하우스키핑 태스크를 실행한다. ROM 메모리(86)는 적당한 소프트웨어가 프로세싱 설비(82)에 기억되지 않는 한, 적당한 소프트웨어의 기억을 허용할 것이다.
도 2는 데이터 흐름 구조의 예를 나타낸 것이다. 여기에서, 직렬 데이터는 광학 고용량 디스크 또는 원격 방송 또는 라인 공급원 등의 적당한 공급원으로부터 데이터스트림 입력(20) 상에 수신된다. 복수의 공급원은 병렬로 또는 교대로 접속가능하다. 데이터스트림의 폭은 적당한 방법으로 한정될 것이다. 이후의 실시예에 있어서, 데이터 공급원은 기능들을 시스템 및 사용자에게 인에이블하기 위해 관련된 디지탈 오디오와 또 다양한 여분의 데이터로 완성된 디지탈 비디오를 기억하는 DVD 또는 VCD 디스크이다.
모듈(22)은 데이터를 판독하고, 그 데이터를 버퍼(24) 내에 기억한다. 특히, 이 모듈은 DMA 특징을 갖는다. 여기서, 이 데이터가 도 1의 접속선(90) 상에서와 같은, 외부계로부터 수신되는 것 만큼, 그 기억은 물리적이다. 다른 버퍼로의 다음의 데이터 기록은 일반적으로 후에 논의되는 것과 같이 데이터의 논리적인 지정을 통해서 실행된다. 적절한 판독-변경-기록 메모리 사이클이 실행 가능하면, 이 경우에는 프로세싱 설비와 메모리 사이의 물리적인 데이터 트랜스포트가 있다. 게다가, 모듈(22)은 데이터 상에서 오류를 체크하는 것을 수행하고, 필요하고 실행가능하다면, 오류 정정을 수행한다. 적절한 레벨의 정확성을 찾아내거나 적절한 레벨의 정확성에 도달할 때, 사용자 데이터는 암호해독 제어 모듈(51)에 제공된다. 이들 사용자 데이터는 섹터 헤더 및 오류 검사 정보 ECC를 제외한다.
암호해독 제어 모듈(51) 다음으로, 정정된 데이터는 프리 네비게이션(pre-navigation) 특징에 대하여 사용되는 버퍼(30)에 할당된다. 이것에 의해 사용자는 암호화되지 않은 데이터를 사용하여, 그리고 데이터 상에서 어떠한 동작도 필요로 하는 일이 없이, 빠른 전진 또는 빠른 후진 등의 신속한 방법으로 데이터를 진행시킨다. 암호해독 제어 모듈(51)에서, 데이터는 필요하다면, 적당한 암호해독 키에 의해서 암호해독된다. 다음에, 암호해독된 데이터는 버퍼(26)에 할당된다. 이 버퍼는 균등한 높은 속도로 데이터를 수신하고, 제공되는 다양한 공급원 압축에 따라, 가변 속도로 데이터를 출력한다. 모듈(28)은 버퍼(26) 내에 있는 데이터를 액세스하고, 또한 버퍼(34, 38, 42, 48, 49)에 판독된 데이터를 전송하며, 이들 버퍼 중 처음 3개의 버퍼는 모듈(36, 40, 44)과 각각 인터페이스한다.
본 실시예에 있어서, 모듈(40)은 입력으로서 패킷화된 기본 스트림(packetized elementary stream) PES를 요구하는 MPEG 비디오 디코더이다. 또한, 모듈(36)은 입력으로서 기본 스트림을 요구하는 MPEG 오디오 디코더이다. 모듈(44)은 서브픽쳐(subpicture) 디코더이다. 버퍼(48)는 버퍼(30)와 비슷한 사용자 네비게이션을 허용하지만, 소위 이음매없는 점핑(seamless jumping)과 같은 보다 정확한 방법으로, 복사방지되었던 정보 등의 다양한 프레젠테이션 제어 모드를 고려한다. 버퍼(49)는, 타임코드 표시 및 더 나아가서 사용자 네비게이션 등의 다양한 오버레이 기능 형태를 위해 사용될 수 있는 서브코드 항목의 기억을 허용한다.
버퍼(34, 38)에 대한 하우스키핑은 모듈(36, 40, 44)에 의해 정보의 필요한 부분만 판독되도록 하는 것이다. 최종 버퍼(46)는 폐쇄한 캡션 정보와 같은 사용자 데이터를 버퍼링하기 위해, 비디오 디코더(40)에 의해 공급된다. 다양한 버퍼 사이즈는 이후에 지정될 것이다. 이들 사이즈는 관련된 데이트스트림의 패킷의 구조에 근거한다. 예컨대, 비디오 정보량은 오디오 정보량에 비하여 비교적 크지만, 서브코드 정보량은 훨씬 적다.
가장 우측 또는 가장 낮은 레벨에서만 필요하지 않은 도시한 다양한 모듈 중 하나는 각각의 화살표로 표시된 사용자 또는 사용자 장치에 그 결과를 출력하기 위해 기억된 데이터를 액세스한다. 이와 같은 장치는 비디오용 텔레비젼 모니터, 오디오용 음성 프레젠테이션 장치 및 마찬가지로 사용자 정보 데이터의 또 다른 스트림일 것이다. 또 다른 예는 다음 형태의 사용자 네비게이션을 달성하기 위한 기능을 하는 것과 같은 도시되지 않은 제어장치일 것이다.
도 3은 전형적인 섹터 포맷을 나타내고, 이것은 인터페이스(20)와 관련된 것과 같은 포맷에 속한다. 도시된 것과 같이, 섹터는 섹터의 범위를 정하고, 시간 값, 식별자, 및 다음에 그 기억을 조직화하기 위해 사용되는 아마 다른 파라미터들을 나타내는 섹터 헤더를 포함한다. 부분(54)은 부정확한 방법으로 수신되었던 심볼의 백분율을 정정하기 위해 사용될 수 있는 리드-솔로몬(Reed-Solomon) 코드의 여분의 심볼과 같은 오류 보호 코드를 포함한다. 정정을 수행한 후에, 부분(54)은 일반적으로 프로세싱하는 데는 필요없다. 일반적으로, 헤더 및 ECC 정보는 격리되고, 다음의 액세스시에는 사용되지 않는다.
도 4는 오디오 섹터의 전형적인 사용자 데이터 포맷을 나타낸다. 여기서, 섹터는 각각이 관련된 패킷 헤더 정보를 구비하는 2개의 오디오 데이터의 패킷과, 관련된 오디오 데이터의 2개의 부분을 포함한다. 오디오 부분의 수는 서로 다르고, 그들 사이즈는 균등하지 않을 수 있다. 이 레벨에서의 헤더의 기능은 가변적이다. 때때로, 헤더 정보는 격리되고, 다음 액세스시에는 사용되지 않는다. 또 다른 디코더의 형태는 정보의 보다 용이한 한계결정을 위해 헤더를 사용할 수 있다.
도 2의 부호의 설명은 다음과 같다:
SBM: 스트림 버퍼 관리자(Stream Buffer Manager)
SP: 섹터 프로세서(Sector Processor)
DCRYP: 암호해독 제어(DeCRYPtion Control)
DMX: 디멀티플렉서(DeMultipleXer)
AUD: 오디오 디코더(AUDio decoder)
VID: 비디오 디코더(VIDeo decoder)
SUBP: 서브픽쳐 디코더(SUBPicture decoder).
DVD 디스크의 용량: 14 GByte
입력 데이터 전송속도: 11 Mbit/sec
버퍼 사이즈 표시:
SBM_ERRCHECK 10 KByte
SBM_VBR 500 KByte
SBM_PRENAV 20 KByte
SBM_AUDIO 20 KByte
SBM_VIDEO 250 KByte
SBM_SUBPIC 64 KByte
SBM_POSTNAV 20 KByte
SBM_SUBCODE 1 KByte
SBM_VID_USER_DATA 5 KByte
SBM은 제조사 뿐만 아니라 소비자 프로세스에 대해서도 나타내지 않은 방법으로 모든 버퍼 액세스를 제어하고, 특히, 다음을 제어한다:
Figure 112003027013224-pct00001
버퍼 유니트의 풀(pool)
Figure 111999003586675-pct00002
각 유니트에 대하여 어떤 버퍼로부터의 유니트에 대한 참조 수의 관리
Figure 111999003586675-pct00003
프리 버퍼 유니트를 나타내는 링크된 리스트
Figure 111999003586675-pct00004
각 버퍼에 대하여 버퍼 유니트 내의 적용가능한 범위에 대한 버퍼 유니트 와 추가 관리의 링크된 리스트.
모든 버퍼는 비파괴적인 "피크(peek)" 설비를 갖는 FIFO라고 가정되고, 다른 애플리케이션에 있어서는, 랜덤 액세스와 같은 서로 다른 구조가 적용될 수도 있다. 특히, 시나리오는 표준 플로우챠트의 대안으로서, 목록의 형식에 있어서 다음과 같이 주어진다:
Figure 111999003586675-pct00005
데이터는 상당한 양의 N 바이트(섹터 사이즈)의 픽쳐의 왼쪽에서 들어온다
Figure 111999003586675-pct00006
유니트의 사이즈는 또한 N 바이트이다
Figure 111999003586675-pct00007
SP는 SBM을 요청하여 N 바이트를 SBM_ERRCHECK에 기록한다
Figure 111999003586675-pct00008
SBM은 프리 리스트로부터 제 1 유니트를 얻고, DMA를 제공하여 데이터를 복사한다
Figure 111999003586675-pct00009
SBM은 유니트에 대한 참조 수를 "1"로 설정한다
Figure 112005069454388-pct00010
SBM은 범위 표시[0,N)를 갖는 버퍼 SBM_ERRCHECK의 리스트와 유니트를 더하는데, 일반적으로, 하부의 버퍼 경계선이 포함되며, 상부 버퍼 경계선은 포함되지 않는다
Figure 111999003586675-pct00011
오류가 없는 M 신규 섹터가 하드웨어에 의해 표시되면, SP는 섹터가 정확하다고 가정한다
Figure 111999003586675-pct00012
SP는 SBM_ERRCHECK로부터 X 바이트(섹터 헤더 사이즈)를 판독한다
Figure 112003027013224-pct00013
SBM은 범위 표시를 [X,N)으로 갱신한다
Figure 111999003586675-pct00014
'피크' 판독을 통해서, SBM은 NAV 팩인지를 결정한다
Figure 111999003586675-pct00015
SP는 SBM을 요청하여 SBM_ERRCHEGK로부터 SBM_VBR로 N-X-Y를 복사한다(Y는 ECC 사이즈와 같다)
Figure 111999003586675-pct00016
NAV 팩이면, SP는 또 SBM을 요청하여 (N-X-Y) 바이트를 SBM_PRENAV에 복사한다
Figure 111999003586675-pct00017
SBM은 범위 표시 [X, N-Y)를 갖는 SBM_VBR의 리스트와 유니트를 더하여, 유니트에 대한 기준의 수를 증가시킨다
Figure 111999003586675-pct00018
NAV 팩이면, SBM은 또 범위 표시 [X, N-Y)를 갖는 SBM_PRENAV의 리스트와 유니트를 더하여, 다시 유니트에 대한 참조 수를 증가시킨다
Figure 111999003586675-pct00019
SBM은 SBM_ERRCHECK에서의 범위 표시를 [N-Y, N)로 갱신한다
Figure 111999003586675-pct00020
SP는 SBM을 요청하여 SBM_ERRCHECK로부터 Y바이트를 판독한다
Figure 111999003586675-pct00021
SBM은 SBM_ERRCHECK에서의 범위 표시를 [N, N)로 갱신한다
Figure 111999003586675-pct00022
이것은 이 버퍼에 대한 유니트에 어떠한 데이터도 없다는 것을 의미하므로, SBM은 SBM_ERRCHECK의 리스트로부터 유니트를 제거하여 유니트에 대한 참조 수를 결정한다
Figure 111999003586675-pct00023
DMX는 '피킹(peeking)' SBM_VBR로 패킷 형태 및 사이즈 S를 결정한다
Figure 111999003586675-pct00024
NAV 팩의 경우에 있어서, DMX는 SBM을 요청하여 SBM_VBR로부터 SBM_POSTNAV로 S 바이트를 복사한다
Figure 111999003586675-pct00025
SBM은 범위 표시 [X, X+S)를 갖는 SBM_POSTNAV의 리스트와 유니트를 더하여 유니트에 대한 참조 수를 증가시킨다
Figure 111999003586675-pct00026
SBM은 SBM_VBR에서의 유니트의 범위 표시를 [X+S, N-Y)로 갱신한다
Figure 111999003586675-pct00027
이 애플리케이션은 SBM_POSTNAV로부터 B 바이트를 판독하기를 원한다
Figure 111999003586675-pct00028
SBM은 SBM_POSTNAV에서의 유니트의 범위 표시를 [X+B, X+S)로 갱신한다.
오디오 디코더는 다음의 PES 스트림을 요구한다고 가정한다:
Figure 111999003586675-pct00029
DMX가 SBM_VBR에서의 오디오 패킷을 발견할 때, DMX는 SBM을 요청하여 그들을 완전히 SBM_AUDIO로 복사할 수 있다
Figure 111999003586675-pct00030
그 결과, SBM은 SBM_AUDIO의 리스트와 대응하는 유니트를 더할 것이고, 범위 표시를 [X, N-Y)로 설정하며, 여기서 X 및 Y는 도 3에 나타낸 바와 같이 섹터 헤더 및 ECC 사이즈에 대응한다
Figure 111999003586675-pct00031
이 유니트는 SBM_VBR의 리스트로부터 제거된다는 것에 유의해야 한다.
오디오 디코더는 다음의 기본 스트림을 요구한다고 가정한다:
Figure 111999003586675-pct00032
SBM_VBR의 리스트에서의 제 1 유니트의 내용은 도 4에 제시한 것과 같다고 가정한다
Figure 111999003586675-pct00033
이 유니트의 범위 표시는 [X, N-Y)이다
Figure 111999003586675-pct00034
'피킹'에 의해, DMX는 SBM_VBR에서의 오디오 패킷을 발견하여 패킷 헤더 사이즈 Q1과 패킷 사이즈 S1을 결정한다
Figure 111999003586675-pct00035
DMX는 SBM을 요청하여 SBM_VBR로부터 Q1 바이트를 판독한다
Figure 111999003586675-pct00036
SBM은 SBM_VBR에서의 유니트의 범위 표시를 [X+Q1, N-Y)로 갱신한다
Figure 111999003586675-pct00037
DMX는 SBM을 요청하여 S1-Q1 바이트를 SBM_AUDIO로 복사한다
Figure 111999003586675-pct00038
SBM은 SBM_AUDIO의 리스트와 그 유니트를 더하여, 그 유니트에 대한 참조 수를 증가시킨다
Figure 111999003586675-pct00039
SBM은 SBM_AUDIO 버퍼에서의 표시 범위를 [X+Q1, X+S1)으로 설정한다
Figure 111999003586675-pct00040
SBMi는 SBM_VBR 버퍼에서의 범위 표시를 [X+S1, N-Y)로 설정한다
Figure 111999003586675-pct00041
'피킹'에 의해, DMX는 SBM_VBR에서의 오디오 패킷을 발견하여 패킷 헤더 사이즈 Q2와 패킷 사이즈 S2를 결정한다
Figure 111999003586675-pct00042
DMX는 SBM을 요청하여 SBM_VBR로부터 Q2 바이트를 판독한다
Figure 111999003586675-pct00043
SBM은 SBM_VBR에서의 유니트의 범위 표시를 [X+S1+Q2, N-Y)로 갱신한다
Figure 111999003586675-pct00044
DMX는 SBM을 요청하여 S2-Q2 바이트를 SBM_AUDIO로 복사한다
Figure 111999003586675-pct00045
SBM은 SBM_AUDIO의 리스트와 유니트를 더하여 이 유니트에 대한 참조 수를 증가시킨다(이것은 동일한 유니트가 동일한 버퍼로부터 복수회 참고된다는 것을 의미하고, 또 아래의 기록을 참조한다)
Figure 111999003586675-pct00046
SBM은 SBM_AUDIO 버퍼에서의 범위 표시를 [X+S1+Q2, X+S1+S2)로 설정한다
Figure 111999003586675-pct00047
이 예에 있어서, X+S1+S2는 N-Y와 같다는 것에 유의해야 한다
Figure 111999003586675-pct00048
SBM은 SBM_VBR에서의 범위 표시를 [N-Y, N-Y)로 설정한다
Figure 111999003586675-pct00049
이것은 이 유니트가 SBM_VBR로부터 제거될 수 있고, 이 유니트에 대한 참조 수가 감소될 수 있다는 것을 의미한다.
상기한 내용에 있어서, 최적화는 복수의 범위를 표시하는 것이다. 기본 스트 림을 요구하는 오디오 디코더의 경우에 있어서, 이것은 단일의 유니트가 2개의 각각의 범위를 지적할 것이라는 것을 의미하는, 범위 표시{[X+Q1, X+S1), [X+S1+Q2, N-Y)}를 SBM_AUDIO의 리스트에서의 소자의 범위 표시가 갖는 상태에 적용될 수 있다.

Claims (13)

  1. 데이터스트림을 수신하는 데이터 입력수단(20)과,
    상기 데이터 스트림을 임시로 기억하며, 버퍼 유니트로 서브분할된 공유 메모리(92)와,
    상기 공유 메모리(92)를 액세스하는 액세스 수단(84) 및 메모리 하우스키핑을 제공하는 메모리 관리수단(84)을 구비하는 데이터스트림 처리 시스템에 있어서,
    상기 메모리 관리수단(84)은
    - 데이터를 기억하는 프리 버퍼 유니트에 관한 정보를 포함하는 프리 버퍼 유니트의 리스트를 제어하고,
    - 상기 정보에 의거하여 상기 프리 버퍼 유니트로부터 버퍼 유니트에 데이터를 물리적으로 기억하고,
    상기 버퍼 유니트에 관한 적어도 하나의 참조를 상기 버퍼로 사용된 버퍼 유니트에 관한 참조 리스트에 추가하고, 어떤 버퍼로부터 상기 버퍼 유니트에 관한 참조 수를 1개씩 증가시켜 상기 데이터의 적어도 일부를 버퍼(24,26,30,34, 38, 42,48,49)에 논리적으로 할당하고,
    상기 버퍼 유니트에 관한 적어도 하나의 참조를 상기 버퍼로 사용된 버퍼 유니트에 관한 참조 리스트로부터 제거하고, 상기 버퍼 유니트에 관한 참조 수를 어떤 버퍼로부터 1개씩 감소시켜 상기 버퍼로부터 상기 데이터의 적어도 일부를 논리적으로 비 할당하여, 소프트웨어에서 실행시키도록 구성된 데이터스트림 처리 시스템.
  2. 제 1 항에 있어서,
    상기 메모리 관리수단(84)은 상기 적어도 하나의 참조가 상기 버퍼 유니트내에서 사용된 메모리 공간의 적어도 하나의 범위에 포함되도록 구성된 것을 특징으로 하는 데이터스트림 처리 시스템.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제 1 항에 있어서,
    상기 메모리 관리수단(84)은 상기 데이터의 적어도 일부를 적어도 2개의 버퍼에 논리적으로 할당하도록 구성된 것을 특징으로 하는 데이터스트림 처리 시스템.
  8. 제 7 항에 있어서,
    상기 메모리 관리수단(84)은 다중 레벨 하우스키핑을 제공하도록 구성된 것을 특징으로 하는 데이터스트림 처리 시스템.
  9. 제 8 항에 있어서,
    상기 시스템은 에러보호 처리를 실행하는 에러보호수단(22) 및 상기 데이터로부터 데이터스트림 포맷 항목(50,54)을 제외하는 제외수단(22)을 구비하고,
    상기 메모리 관리수단(84)은 상기 에러보호 처리가 실행되고, 상기 데이터스트림 포맷 항목(50,54)이 상기 데이터로부터 제외된 초기 레벨을 갖는 메모리 하우스키핑을 제공하도록 구성된 것으로 특징으로 하는 데이터스트림 처리 시스템.
  10. 제 9 항에 있어서,
    상기 데이터스트림은 사용자 데이터(52)를 포함하고,
    상기 시스템은 상기 데이터로부터 사용자 데이터 포맷 항목(56,60)을 제외하는 제 2 제외수단을 구비하고,
    상기 메모리 관리수단(84)은 상기 사용자 데이터 포맷 항목(56,60)이 상기 데이터로부터 제외된 비 초기레벨을 갖는 메모리 하우스키핑을 제공하도록 구성된 것을 특징으로 하는 데이터스트림 처리 시스템.
  11. 제 8 항에 있어서,
    상기 메모리 관리수단(84)은 적어도 3개의 레벨을 갖는 메모리 하우스키핑을 제공하도록 구성된 것을 특징으로 하는 데이터스트림 처리 시스템.
  12. 제 8 항에 있어서,
    상기 데이터스트림은 다양한 정보 카테고리의 데이터를 포함하고,
    상기 시스템은 다양한 정보 카테고리의 데이터를 격리하는 격리수단을 구비하고,
    상기 메모리 관리수단은 다양한 정보 카테고리의 데이터가 격리된 적어도 하나의 레벨을 갖는 메모리 하우스키핑을 제공하도록 구성된 것을 특징으로 하는 데이터스트림 처리 시스템.
  13. 데이터 스트림을 임시로 기억하며, 버퍼 유니트로 서브분할된 공유 메모리 버퍼를 메모리 하우스키핑하는 방법에 있어서,
    데이터를 기억하는 프리 버퍼 유니트에 대한 정보를 포함하는 프리 버퍼 유니트의 리스트를 제어하는 단계와,
    상기 정보에 근거하여 상기 프리 버퍼 유니트의 외부의 버퍼 유니트에 데이터를 물리적으로 기억시키는 단계와,
    상기 버퍼 유니트에 관한 적어도 하나의 참조를 상기 버퍼로 사용된 버퍼 유니트에 관한 참조 리스트에 추가하고, 어떤 버퍼로부터 상기 버퍼 유니트에 관한 참조 수를 1개씩 증가시켜 상기 데이터의 적어도 일부를 버퍼(24,26,30,34, 38,42,48,49)에 논리적으로 할당하는 단계와,
    상기 버퍼 유니트에 관한 적어도 하나의 참조를 상기 버퍼로 사용된 버퍼 유니트에 관한 참조 리스트로부터 제거하고, 상기 버퍼 유니트에 관한 참조 수를 어떤 버퍼로부터 1개씩 감소시켜 상기 버퍼로부터 상기 데이터의 적어도 일부를 논리적으로 비 할당하는 단계를 포함하는 메모리 하우스키핑 방법.
KR1019997003402A 1997-08-20 1998-07-27 다중레벨의 하우스키핑을 위해 적합한 소프트웨어 관리 기능을 갖는 임시 데이터스트림 신호처리 버퍼 메모리 구조 KR100594953B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP97202555 1997-08-20
EP97202555.5 1997-08-20
PCT/IB1998/001143 WO1999009467A2 (en) 1997-08-20 1998-07-27 A transient datastream-processing buffer memory organization with software management adapted for multilevel housekeeping

Publications (2)

Publication Number Publication Date
KR20000068786A KR20000068786A (ko) 2000-11-25
KR100594953B1 true KR100594953B1 (ko) 2006-07-03

Family

ID=8228651

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997003402A KR100594953B1 (ko) 1997-08-20 1998-07-27 다중레벨의 하우스키핑을 위해 적합한 소프트웨어 관리 기능을 갖는 임시 데이터스트림 신호처리 버퍼 메모리 구조

Country Status (6)

Country Link
US (1) US6230163B1 (ko)
EP (1) EP0932862A2 (ko)
JP (1) JP2001505752A (ko)
KR (1) KR100594953B1 (ko)
TW (1) TW432321B (ko)
WO (1) WO1999009467A2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2803470A1 (fr) * 1999-12-30 2001-07-06 Thomson Multimedia Sa Procede de gestion d'une memoire dans un recepteur de television et recepteur de television
US7930711B2 (en) * 2003-03-06 2011-04-19 Wegener Communications, Inc. Apparatus and method for addressing control in a network for distributed data
US7020689B2 (en) 2003-03-07 2006-03-28 Wegener Communications, Inc. System and method for command transmission utilizing an email return path
US7296204B2 (en) * 2003-05-30 2007-11-13 Wegener Communications, Inc. Error correction apparatus and method
US7206411B2 (en) 2003-06-25 2007-04-17 Wegener Communications, Inc. Rapid decryption of data by key synchronization and indexing

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL7713706A (nl) 1977-12-12 1979-06-14 Philips Nv Informatiebuffergeheugen van het "eerst-in, eerst-uit" type met een variabele ingang en een variabele uitgang.
NL7713708A (nl) 1977-12-12 1979-06-14 Philips Nv Informatiebuffergeheugen van het "eerst-in, eerst-uit" type met vaste ingang en variabele uitgang.
NL7713707A (nl) 1977-12-12 1979-06-14 Philips Nv Informatiebuffergeheugen van het "eerst-in, eerst-uit" type met variabele ingang en vaste uitgang.
JP3453757B2 (ja) * 1989-05-29 2003-10-06 株式会社日立製作所 バッファ管理方法
JP2521016B2 (ja) * 1991-12-31 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチメディア・デ―タ処理システム
US5664139A (en) * 1994-05-16 1997-09-02 Compaq Computer Corporation Method and a computer system for allocating and mapping frame buffers into expanded memory
US5652613A (en) * 1995-06-07 1997-07-29 Lazarus; David Beryl Intelligent electronic program guide memory management system and method
JP3617879B2 (ja) * 1995-09-12 2005-02-09 株式会社東芝 実時間ストリームサーバのディスク修復方法及びディスク修復装置
US5847762A (en) * 1995-12-27 1998-12-08 Thomson Consumer Electronics, Inc. MPEG system which decompresses and then recompresses MPEG video data before storing said recompressed MPEG video data into memory
US6023233A (en) * 1998-03-20 2000-02-08 Craven; Peter G. Data rate control for variable rate compression systems

Also Published As

Publication number Publication date
EP0932862A2 (en) 1999-08-04
WO1999009467A3 (en) 1999-05-06
US6230163B1 (en) 2001-05-08
KR20000068786A (ko) 2000-11-25
JP2001505752A (ja) 2001-04-24
WO1999009467A2 (en) 1999-02-25
TW432321B (en) 2001-05-01

Similar Documents

Publication Publication Date Title
US6823131B2 (en) Method and device for decoding a digital video stream in a digital video system using dummy header insertion
US6438140B1 (en) Data structure, method and apparatus providing efficient retrieval of data from a segmented information stream
US6728824B1 (en) Method and apparatus for controlling multi-channel bitstreams
US5475754A (en) Packet video signal inverse transport processor memory address circuitry
JP4667108B2 (ja) データ処理装置
US6366970B1 (en) Optimal handling and manipulation of high-speed streaming media in a computing device
US7149230B2 (en) Transport processor for processing multiple transport streams
CN111930317B (zh) 基于ceph数据分布方法、装置、服务器及存储介质
CA2145900C (en) Media error code generation as for a video inverse transport processor
US6278838B1 (en) Peak-ahead FIFO for DVD system stream parsing
US7496282B2 (en) MPEG video recording medium and reproduction apparatus
KR100594953B1 (ko) 다중레벨의 하우스키핑을 위해 적합한 소프트웨어 관리 기능을 갖는 임시 데이터스트림 신호처리 버퍼 메모리 구조
US20040081148A1 (en) Packet data processing determination apparatus
US6701391B1 (en) System for stop buffering when a count of stored data blocks from a DVD matches an associated data block number of a requested data block set
JP4325194B2 (ja) 記憶媒体へのアクセスを管理する装置及び方法
US6341198B1 (en) System for byte packing multiple data channels in an MPEG/DVD system
EP1222824B1 (en) Method and device for writing data to a recording medium in a digital video system
EP1148729A1 (en) Method and device for decoding a digital video stream in a digital video system using dummy header insertion
JP2001119377A (ja) トランスポートストリーム発生器
KR20060064942A (ko) 광 디스크 시스템의 효율적인 메모리 관리를 위한 디지털신호 처리 방법 및 장치
KR19980035676A (ko) 비연속적인 다중 근원 디지탈 데이타의 백업 장치
MXPA00010944A (en) Method for storing compressed digital audio and video

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
LAPS Lapse due to unpaid annual fee