[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR100956960B1 - 데이터 전개 디바이스 및 데이터 전개 방법 - Google Patents

데이터 전개 디바이스 및 데이터 전개 방법 Download PDF

Info

Publication number
KR100956960B1
KR100956960B1 KR20080039009A KR20080039009A KR100956960B1 KR 100956960 B1 KR100956960 B1 KR 100956960B1 KR 20080039009 A KR20080039009 A KR 20080039009A KR 20080039009 A KR20080039009 A KR 20080039009A KR 100956960 B1 KR100956960 B1 KR 100956960B1
Authority
KR
South Korea
Prior art keywords
data
area
dictionary
deployment
png
Prior art date
Application number
KR20080039009A
Other languages
English (en)
Other versions
KR20080096474A (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 KR20080096474A publication Critical patent/KR20080096474A/ko
Application granted granted Critical
Publication of KR100956960B1 publication Critical patent/KR100956960B1/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3086Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/004Recording, reproducing or erasing methods; Read, write or erase circuits therefor
    • G11B7/005Reproducing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

데이터 전개 디바이스는 이전의 데이터와 동일한 데이터가 출력될 때 이전의 전개 결과를 포함하는 딕셔너리를 참조함으로써 데이터를 확장하는 LZ77 전개부, LZ77 전개부의 전개 결과 및 이전에 출력된 화상 데이터에 대해 산술 연산을 수행하고 화상 데이터를 출력하는 PNG 인버스 필터, 및 내부 딕셔너리 영역 및 라인 데이터 영역을 포함하는 공유 메모리를 포함하고, 내부 딕셔너리 영역은 LZ77 전개부에 의해 참조되는 이전의 전개 결과를 저장하고 라인 데이터 영역은 이전에 출력되고 PNG 인버스 필터에 의해 사용되는 화상 데이터를 저장한다. 공유 메모리는 입력 데이터를 분석하는 분석 결과에 기초하여 설정된 라인 데이터 영역에 대한 용량 및 내부 딕셔너리 영역에 대한 용량을 갖는다.
Figure R1020080039009
데이터 전개 디바이스, LZ77 전개부, PNG 인버스 필터, 내부 딕셔너리 영역, 라인 데이터 영역

Description

데이터 전개 디바이스 및 데이터 전개 방법{DATA DEVELOPMENT DEVICE AND DATA DEVELOPMENT METHOD}
본 발명은 HD DVD 및 블루 레이 디스크 (Blu-ray disk) 등의 광 디스크 재생 디바이스에서 사용되는 데이터 전개 디바이스 및 데이터 전개 방법, PNG 방법으로 압축된 화상 데이터를 전개하는 장치 및 방법에 관한 것이다.
PNG (Portable Network Graphics) 포맷은 최근 새로운 화상 데이터의 포맷으로서 알려졌다. 이러한 포맷은 웹, 차세대 DVD 등에서 널리 사용된다. PNG 데이터의 전개는 허프만 (Huffman) 디코딩, LZ77 전개, 및 PNG 인버스 필터 연산의 각 프로세스를 수행함으로써 실현된다 (예를 들어, 미국 특허출원공보 제 2003-92684호 참조).
도 12 는 종래의 LZ77 전개 디바이스를 도시한다. LZ77 전개 디바이스 (700) 는 LZ77 전개부 (701), DMA (702), 내부 딕셔너리 메모리 (703) 및 DMA (704) 를 포함한다. 허프만 디코드 결과는 LZ77 전개부 (701) 로 입력된다. LZ77 전개부 (701) 는 딕셔너리로서 메모리내에 이전의 디코드 결과를 저장하고 이전의 데이터와 동일한 데이터가 출력되는 경우 그 딕셔너리를 참조하여 데이터를 확장한다. 따라서, LZ77 전개 디바이스는 딕셔너리에 대응하는 메모리를 가질 필요가 있다.
또한, 딕셔너리는 32 KB 까지의 용량을 가진다. LSI 등과 같은 애플리케이션에서, LSI 내에 딕셔너리를 위한 모든 메모리를 내장하는 것은 비용면에서 실용적이지 않다. 그래서, LSI 내부 딕셔너리 메모리 (703) 에 딕셔너리 메모리의 일부를 저장하고 그 나머지는 도 12 에 도시된 바와 같은 외부 메모리 (710) 의 외부 딕셔너리 영역 (711) 에 저장하는 기술이 제공된다. 그 기술에 따르면, 최소의 성능 열화로 LSI 의 비용을 감소시키는 것이 가능하다.
DMA (702) 는 LZ77 전개부 (701) 가 외부 딕셔너리를 참조할 때 데이터를 판독한다. DMA (704) 는 내부 딕셔너리 메모리 (703) 에 기입된 데이터의 일부 또는 전부를 외부 딕셔너리 영역 (711) 으로 기입 (플래시) 한다.
도 13은 종개의 PNG 인버스 필터 산술 디바이스를 도시한다. PNG 인버스 필터 산술 디바이스 (800) 는 PNG 인버스 필터 (801), 라인 메모리 (802) 및 DMA (803) 를 포함한다. PNG 인버스 필터 (801) 는 이전에 출력된 한 라인에 대한 화상 데이터와 LZ77 전개 결과 간에 산술 연산을 수행한다. 따라서, PNG 인버스 필터 산술 디바이스 (800) 는 이전에 출력된 한 라인에 대한 데이터를 저장하는 라인 메모리 (802) 를 가질 필요가 있다. LSI 등과 같은 애플리케이션에서, 이전에 출력된 한 라인에 대한 데이터를 외부 메모리 (810) 상에 저장하는 것은 비용면에서 가능할 수도 있다. 그러나, 도 13 에 도시된 바와 같이, 이전에 출력된 한 라인에 대한 데이터를 LSI 의 내장된 메모리 상에 저장하는 것은 프로세스 성능 의 면에서 바람직하다. PNG 인버스 필터 산술 프로세싱 결과는 화상 데이터로서 외부 메모리 (810) 의 화상 데이터 출력 영역 (811) 에 저장된다.
이러한 배경에 기초하여, PNG 전개 디바이스는, 높은 프로세스 성능을 달성하기 위하여, LZ77 용 딕셔너리 메모리 (이하, 내부 딕셔너리로 지칭함) 의 부분 및 PNG 인버스 필터 연산용 라인 메모리 (이하, 라인 메모리로 지칭함) 를 포함하는 것이 바람직하다.
도 14는 종래의 PNG 데이터 전개 디바이스를 도시한다. PNG 데이터 전개 디바이스 (900) 는 LZ77 전개부 (901), DMA (902), 내부 딕셔너리 메모리 (903), DMA (904), 인버스 PNG 필터 (905), DMA (906), 및 라인 메모리 (907) 를 포함한다. PNG 데이터 전개 디바이스 (900) 는 외부 딕셔너리 영역 (911) 및 화상 데이터 출력 영역 (912) 를 포함하는 외부 메모리 (910) 에 접속된다. 상술된 바와 같이, PNG 데이터 전개 디바이스 (900) 는 딕셔너리로서 LZ77 전개 결과를 저장하는 내부 딕셔너리 메모리 (903) 및 이전에 출력된 화상 데이터를 저장하는 라인 메모리 (907) 를 포함한다. 내부 딕셔너리 메모리 (903) 에 저장될 수 없는 데이터는 DMA (904) 에 의해 외부 딕셔너리 영역 (911) 으로 기입된다. LZ77 전개부 (901) 는 외부 딕셔너리 영역 (911) 또는 내부 딕셔너리 메모리 (903) 에 액세스하여 이전의 전개 결과를 참조한다. PNG 인버스 필터 (905) 는 라인 메모리 (907) 로부터 이전에 출력된 화상 데이터를 판독하고 그 데이터 및 LZ77 전개부 (901) 의 전개 결과에 인버스 PNG 필터 프로세싱을 수행하여 화상 데이터를 생성한다.
그러나, PNG 데이터 전개 디바이스가 내부 딕셔너리로서 LZ77 딕셔너리용 메모리의 부분 및 PNG 인버스 필터 연산용 라인 메모리를 포함하는 경우 초래된 몇가지 문제점이 존재한다는 것이 발견되었다. 첫째, PNG 인버스 필터 연산용 메모리에 비사용 공간이 존재한다. 이것은 메모리 용량은 고정된 반면 한 라인에 대한 데이터량이 각각의 화상에 대해 변하기 때문에 발생된다.
둘째, 프로세스 성능이 열화된다. 이것은 LZ77 딕셔너리용 메모리의 일부만이 내부 딕셔너리로서 저장되기 때문에 딕셔너리를 참조하는데 있어서 데이터가 내부 딕셔너리에 저장되지 않을 때 외부 메모리를 액세스하는 것이 필요하기 때문이다.
일 실시형태는 이전의 데이터와 동일한 데이터가 출력될 때 이전의 전개 결과를 포함하는 딕셔너리를 참조함으로써 데이터를 확장하는 전개부, 전개부의 전개 결과 및 이전에 출력된 화상 데이터에 대해 산술 연산을 수행하고 화상 데이터를 출력하는 연산부, 및 내부 딕셔너리 영역 및 라인 데이터 영역을 포함하는 공유 메모리를 포함하고, 내부 딕셔너리 영역은 전개부에 의해 참조되는 이전의 전개 결과를 저장하고 라인 데이터 영역은 이전에 출력되고 연산부에 의해 사용되는 화상 데이터를 저장하고, 공유 메모리는 입력 데이터를 분석하는 분석 결과에 기초하여 설정된 라인 데이터 영역에 대한 용량 및 내부 딕셔너리 영역에 대한 용량을 갖는다.
또 다른 실시형태는 입력데이터를 분석하고 내부 딕셔너리 영역 및 라인 데이터 영역을 공유 메모리 내에 설정하는 단계, 이전의 데이터와 동일한 데이터가 출력될 때 공유 메모리의 내부 딕셔너리 영역에 저장된 이전의 전개 결과를 포함하는 내부 딕셔너리를 참조함으로써 입력 데이터를 전개하는 단계, 및 전개 결과 및 이전에 출력되고 공유 메모리의 라인 데이터 영역에 저장된 화상 데이터에 대해 산술 연산을 수행하고 화상 데이터를 출력하는 단계를 포함한다.
본 발명에 따르면, 입력 데이터가 분석되고 내부 딕셔너리 영역 및 라인 데이터 영역이 공유 메모리 내에 제공된다. 따라서, 입력 데이터에 따라 상이한 사이즈를 갖는 라인 데이터를 저장하는 영역으로서 적절한 용량을 할당하여, 공유 메모리 내에 미사용 공간이 발생되는 것을 방지하고, 내부 딕셔너리 영역을 최적으로 사용하는 것이 가능하다.
본 발명에 따르면, 내부 메모리를 최적으로 사용함으로써 개선된 전개 속도를 갖는 데이터 전개 디바이스 및 데이터 전개 방법을 제공하는 것이 가능하다.
본 발명의 상기 및 다른 목적, 이점 및 특징은 첨부된 도면을 참조하여 행해진 소정의 바람직한 실시형태에 대한 다음의 상세한 설명으로부터 명백할 것이다.
본 발명이 도시된 실시형태들을 참조하여 이하에 설명될 것이다. 본 기술분야의 당업자라면 많은 대안적인 실시형태들이 본 발명의 교시를 사용하여 달성될 수 있고 본 발명은 설명의 목적으로 도시된 실시형태들에 제한되지 않는다는 것 을 인식할 것이다.
본 발명이 적용되는 특정의 실시형태가 이제 도면을 참조하여 상세히 설명될 것이다. 본 실시형태는 본 발명이 PNG 방법으로 압축된 PNG (Portable Network Graphics) 데이터를 확장하는 데이터 전개 디바이스에 적용되는 실시형태이다. 본 실시형태에서, 전개 속도는 내부 딕셔너리로서 라인 메모리 내의 미사용 공간을 사용함으로써 내부 딕셔너리의 용량을 확대함으로써 향상된다.
도 1은 본 발명의 실시형태에 따른 PNG 데이터 전개 디바이스를 도시하는 블록 다이어그램이다. PNG 데이터 전개 디바이스 (10) 는 내부 메모리 (2), LZ77 (Lempel-Ziv 77) 전개부 (3), PNG 인버스 필터 (4), 및 DMA (5, 6 및 7) 를 포함한다.
LZ77 전개부 (3) 는 이전의 데이터와 동일한 데이터가 출력되는 경우 이전의 전개 결과를 포함하는 딕셔너리를 참조함으로써 데이터를 확장한다. LZ77 전개부 (3) 는 내부 메모리 (2) 에 이전의 전개 결과를 저장한다.
PNG 인버스 필터 (4) 는 LZ77 전개부 (3) 의 전개 결과 및 PNG 인버스 필터 (4) 로부터 이전에 출력된 한 라인에 대한 화상 데이터에 대해 산술 연산을 수행한다. PNG 인버스 필터 (4) 로부터 이전에 출력된 한 라인에 대한 화상 데이터는 내부 메모리 (2) 의 라인 데이터 영역에 저장된다.
내부 메모리 (2) 는 내부 딕셔너리 영역 및 라인 데이터 영역을 포함한다. LZ77 전개부 (3) 는 딕셔너리로서 내부 메모리 (2) 를 사용한다. PNG 인버스 필터 (4) 는 라인 메모리로서 내부 메모리 (2) 를 사용한다. LZ77 전개부 (3) 및 PNG 인버스 필터 (4) 가 내부 메모리 (2) 를 사용하는 영역의 용량, 즉 사용 시작 위치 및 그 사이즈는 PNG 데이터 전개 디바이스 (10) 에 접속된 제어 디바이스 (1) 에 의해 각각의 화상에 대해 설정된다.
DMA (Direct Memory Access) (5) 는 외부 메모리의 데이터를 내부 메모리 (2) 로 가져오는 디바이스이다. DMA (5) 는 외부 딕셔너리의 데이터를 참조하는 데 있어서 LZ77 전개부 (3) 에 의해 사용된다. DMA (5) 는 LZ77 전개부 (3) 또는 제어 디바이스 (1) 에 의해 제어된다.
DMA (6) 및 DMA (7) 는 내부 메모리 (2) 에 저장된 데이터를 외부 메모리에 기입한다. DMA (6) 는 내부 메모리 (2) 또는 제어 디바이스 (1) 에 의해 제어된다. DMA (7) 는 PNG 인버스 필터 (4) 또는 제어 디바이스 (1) 에 의해 제어된다. DMA (6) 는 내부 딕셔너리 영역이 데이터로 가득 채워지는 것을 방지하기 위해 적절히 내부 딕셔너리 영역의 데이터를 외부 메모리의 외부 딕셔너리 영역으로 기입 (플래시) 한다. DMA (7) 는 PNG 인버스 필터 (4) 에 의해 발생된 화상 데이터를 외부 메모리의 화상 출력 영역으로 기입한다.
다음에, PNG 데이터 전개 디바이스의 작동이 설명될 것이다. 도 2는 제어 디바이스의 작동을 도시하는 흐름도이다. 도 3은 LZ77 전개부의 작동을 도시하는 흐름도이다. 도 4는 PNG 인버스 필터의 작동을 도시하는 흐름도이다. 먼저, 제어 디바이스 (1) 의 작동이 설명될 것이다. 도 2에 도시된 바와 같이, PNG 데이터 전개 디바이스의 작동을 시작하는데 있어서, 제어 디바이스 (1) 는 PNG 데이터를 분석하고 한 라인에 대한 데이터량을 계산한다. 제어 디바이스 (1) 는 PNG 인버스 필터 (4) 용의 한 라인에 대한 데이터량을 위해 필요한 메모리 영역을 설정한다 (단계 S1). 내부 메모리 (2) 의 메모리 영역은 PNG 인버스 필터 (4) 에 의해 라인 메모리로서 사용된다. 내부 메모리 (2) 의 총 용량으로부터 한 라인에 대한 데이터량을 공제함으로써 획득된 메모리 영역이 LZ77 전개부 (3) 용으로 설정된다 (단계 S2). 내부 메모리 (2) 의 메모리 영역은 LZ77 전개부 (3) 에 의해 내부 딕셔너리로서 사용된다.
그 후, 내부 딕셔너리를 외부 메모리로 기입 (플래시) 하는 것이 필요한지 여부가 결정된다 (단계 S3). 필요하지 않은 경우에는, LZ77 전개부 (3) 및 PNG 인버스 필터 (4) 는 활성화된다 (단계 S4). 한편, 내부 딕셔너리의 플래시가 필요한 경우는, 내부 딕셔너리 영역의 데이터는 외부 메모리의 외부 딕셔너리 영역에 기입된다 (단계 S7). 그 후, 외부 메모리의 외부 딕셔너리 영역에 기입된 용량은 LZ77 전개부 (3) 용으로 설정된다 (단계 S8). 그 후, LZ77 전개부 (3) 및 PNG 인버스 필터 (4) 가 활성화된다 (단계 S4). 한 라인에 대한 프로세싱이 완료된 경우 (단계 S5), 다음 라인에 대한 프로세싱이 수행되고, 단계 S3 로부터의 프로세스가 모든 라인들에 대한 프로세싱이 완료될 때까지 반복될 것이다 (단계 S6).
다음에, LZ77 전개부 (3) 의 작동이 설명될 것이다. LZ77 전개부 (3) 는 활성화되고 (단계 S11), 딕셔너리가 지금 참조되고 있는지 여부를 결정하고 (단계 S12), 딕셔너리가 참조되지 않는 경우 허프만 디코드 결과를 수신한다 (단계 S13). 그 후, 딕셔너리가 LZ77 전개를 수행하기 위해 참조될 필요가 있는지 여부가 결 정된다 (단계 S14). 딕셔너리가 참조될 필요가 있는 경우, 내부 딕셔너리에 목표 데이터가 존재하는지 여부가 결정된다 (단계 S18). 내부 딕셔너리에 목표 데이터가 존재하는 경우, 1 바이트 데이터가 내부 딕셔너리 영역으로부터 판독된다 (단계 S20). 한편, 목표 데이터가 외부 메모리의 외부 딕셔너리 영역에 존재하는 경우는, LZ77 전개부 (3) 는 DMA (5) 를 통해 외부 메모리를 액세스하고 외부 딕셔너리 영역으로부터 1 바이트 데이터를 판독한다 (단계 S19). LZ77 전개가 내부 딕셔너리의 참조 결과에 기초하여 수행되는 경우, LZ77 전개부 (3) 는 전개 결과 (1 바이트) 를 내부 메모리 (2) 의 내부 딕셔너리 영역에 기입한다 (단계 S15). 동시에, LZ77 전개부 (3) 는 또한 PNG 인버스 필터 (4) 로 1 바이트 데이터를 출력한다 (단계 S16). 단계 S12 로부터의 프로세스는 한 라인에 대한 프로세싱이 완료될 때까지 반복된다 (단계 S17).
내부 메모리 (2) 의 내부 딕셔너리의 영역은 LZ77 전개를 반복하는 동안 데이터로 채워진다. 이것을 방지하기 위해, 내부 메모리 (2) 의 내부 딕셔너리 내의 데이터의 전부 또는 일부가 제어 디바이스 (1) 또는 내부 메모리 (2) 의 제어하에서 DMA (6) 를 통해 외부 메모리의 외부 딕셔너리 영역에 기입 (플래시) 된다. 이러한 연산의 결과로서, 그 데이터가 외부 딕셔너리 영역으로 기입되는 내부 딕셔너리 내의 영역은 오버라이팅 (overwriting) 에 사용될 수 있다. 따라서, LZ77 전개부 (3) 는 그 영역을 다시 새로운 내부 딕셔너리 영역으로서 사용할 수 있다.
다음에, PNG 인버스 필터 (4) 의 작동이 기술될 것이다. PNG 인버스 필 터 (4) 는 활성화되고 (단계 S21), 현재의 입력 데이터가 제 1 라인인지 여부를 결정하고, (단계 S22), 입력 데이터가 제 1 라인이 아닌 경우 이전의 라인 데이터가 저장된 내부 메모리 (2) 의 라인 데이터 영역을 액세스한다. 그 후, 1 바이트 데이터가 판독된다 (단계 S23). 동시에, 전개 결과의 1 바이트 데이터가 LZ77 전개부 (3) 로부터 수신된다 (단계 S24). 입력 데이터가 제 1 라인인 경우, 데이터는 내부 메모리 (2) 에 저장되지 않으므로, PNG 인버스 필터 (4) 는 LZ77 전개부 (3) 로부터 전개 결과를 수신한다.
그 후, PNG 인버스 필터 연산이 이들 데이터에 기초하여 수행되고 현재의 라인 데이터를 계산한다 (단계 S25). 연산 결과 (1 바이트) 는 내부 메모리 (2) 의 라인 데이터 영역으로 출력되고 (단계 S26), 1 바이트 데이터가 DMA (7) 를 통해 외부 메모리의 화상 출력 영역으로 기입된다 (단계 S27). 그 후, 단계 S22 로부터의 프로세스는 한 라인에 대한 프로세싱이 완료될 때까지 반복된다 (단계 S28).
한 라인에 대한 데이터량은 전개될 각각의 PNG 화상 데이터에 대해 상이하다. 따라서, 내부 메모리 (2) 의 영역은 제어 디바이스 (1) 에 의해 각각의 PNG 화상 데이터에 대해 할당된다.
본 실시형태는 다음과 같은 두 가지 효과를 달성한다. 첫째, 전개되는 화상에 관계없이 메모리 공간의 미사용 공간이 발생되지 않는다. 이것은 라인 데이터가 저장되는 영역이 각각의 화상 데이터에 대해 설정되어, LZ77 전개부 (3) 및 PNG 인버스 필터 (4) 에 의해 사용되는 메모리 영역의 최상부 위치 및 사이즈를 변화시키고 공유 메모리인 내부 메모리 (2) 상에 메모리 공간을 가짐으로써, 이러한 영역이 한 라인에 대한 데이터량에 대응하고 그 영역의 나머지는 내부 딕셔너리 영역으로서 할당되도록 한다.
두 번째 효과는 PNG 데이터 전개 성능이 개선될 수 있다는 것이다. 이것은 내부 딕셔너리를 참조하는 확률이 LZ77 전개에서 증가되고 외부 딕셔너리를 참조하는데 있어서의 메모리 지연으로 인한 성능 열화가 감소될 수 있기 때문이다. 구체적으로, 한 라인에 대한 작은 데이터량을 갖는 화상이 다루어지는 경우, 라인 데이터 영역에 할당된 영역은 작을 수 있다. 따라서, 내부 딕셔너리 영역을 증가시키고 내부 딕셔너리를 참조하는 확률을 증가시키는 것이 가능하다. 일반적으로, 디바이스와 외부 메모리 사이에 개재된 메모리 버스 등이 존재한다. 따라서, 외부 메모리 내의 딕셔너리를 참조하는데 있어서, 큰 지연이 데이터 송신시 부가되고 성능은 내부 딕셔너리가 참조되는 경우에 비해 열화된다.
이제, 실시형태의 특정의 예가 기술될 것이다. 도 5는 본 실시형태의 특정의 예에 따른 PNG 데이터 전개 디바이스 (100) 를 도시하는 다이어그램이다. PNG 데이터 전개 디바이스 (100) 는 제어 디바이스 및 외부 메모리 (300) 에 접속된다.
PNG 데이터 전개 디바이스 (100) 는 PNG 원시 데이터를 판독하며, 허프만 디코딩을 수행하는 허프만 디코딩부 (101), 내부 메모리 (102), LZ77 전개부 (103), PNG 인버스 필터 (104), 및 DMA (105 내지 107) 를 포함한다. DMA (105) 는 외부 메모리 (300) 의 외부 딕셔너리 영역 (301) 으로부터 딕셔너리를 판독하고, DMA (106) 는 내부 딕셔너리를 외부 딕셔너리 영역 (301) 으로 플래시하고, DMA (107) 는 PNG 인버스 필터 (104) 에 의해 생성된 화상 데이터를 화상 데이터 출력 영역 (302) 으로 기입한다. 내부 메모리 (102) 의 메모리 용량은 예를 들어 16KB 이다.
다음에, 본 실시형태에 따른 PNG 데이터 전개 디바이스의 작동이 기술될 것이다. 도 6 내지 도 9는 PNG 데이터 전개 디바이스가 데이터 전개를 수행하는 동안의 내부 메모리를 도시한다. 이러한 실시형태에 있어서, 한 라인에 대한 데이터량이 4KB 의 화상을 전개하는 경우가 고려된다. 제어 디바이스 (200) 는 전개될 PNG 화상을 분석하고 한 라인의 용량이 4KB 라는 것을 인식한다. 이것은 PNG 데이터의 전개를 실제로 수행하지 않고 PNG 표준에 따라 상대적으로 간단한 분석에 의해 결정될 수 있다.
그 후, 제어 디바이스 (200) 는 PNG 인버스 필터 (104) 에 라인 데이터 영역으로서 시작 위치가 0 이고 용량이 4KB 인 메모리 영역을 사용하도록 지시한다. 제어 디바이스 (200) 는 또한 LZ77 전개부 (103) 에게 내부 딕셔너리로서 시작 위치가 4KB 이고 용량이 12KB인 메모리 영역을 사용하도록 지시한다.
제어 디바이스 (200) 는 제 1 라인을 전개하기 위해 허프만 디코딩부 (101), LZ77 전개부 (103) 및 PNG 인버스 필터 (104) 의 연산을 시작한다. 허프만 디코딩부 (101) 는 PNG 원시 데이터를 판독하고 허프만 디코드 결과를 LZ77 전개부 (103) 로 출력한다. LZ77 전개부 (103) 는 허프만 디코드 결과를 수신하고, LZ77 전개를 수행하고, 그 결과를 내부 메모리 (102) 의 내부 딕셔너리 영역에 기 입한다. LZ77 전개에 있어서 딕셔너리를 참조하는 것이 필요한 경우, 딕셔너리 내의 데이터가 내부 딕셔너리 영역으로부터 적절히 판독되고 전개 동작을 진행한다. PNG 인버스 필터 (104) 는 LZ77 전개부 (103) 로부터 제 1 라인의 LZ77 전개 결과를 입력하여 제 1 라인의 PNG 인버스 필터 연산을 수행한다.
연산 결과는 DMA (107) 를 통해 외부 메모리 (300) 의 화상 데이터 출력 영역 (302) 로 기입된다. 동일한 데이터가 내부 메모리 (102) 의 라인 데이터 영역으로 기입된다.
LZ77 전개부 (103) 및 PNG 인버스 필터 (104) 에 의해 제 1 라인의 PNG 인버스 필터 연산을 수행한 후, 내부 메모리 (102) 는 도 6에 도시된 바와 같다. 화상 데이터의 제 1 라인과 동일한 4KB 데이터 (제 1 라인의 PNG 인버스 필터 연산 결과) 가 라인 데이터 영역에 기입되고, 4K+1B 데이터 (제 1 라인의 LZ77 전개 결과) 는 내부 딕셔너리 영역에 기입된다. 내부 딕셔너리 영역 내의 데이터 용량은 PNG 표준에 따라 한 라인 플러스 1 바이트에 대한 데이터량으로서 기술될 수 있다. 4KB 데이터가 화상 데이터의 제 1 라인 (제 1 라인의 PNG 인버스 필터 연산 결과) 로서 외부 메모리 (300) 의 화상 데이터 출력 영역 내에 기입된다.
다음에, 제어 디바이스 (200) 는 제 2 라인을 전개하기 위해 허프만 디코딩부 (101), LZ77 전개부 (103) 및 PNG 인버스 필터 (104) 의 연산을 시작한다. LZ77 전개부 (103) 는 제 1 라인이 프로세싱된 후 연속 부분으로부터 내부 메모리 (102) 의 내부 딕셔너리로 LZ77 전개 결과를 기입한다. 이것은 32KB 의 이전의 영역이 딕셔너리로서 참조될 수도 있기 때문에 제 1 라인이 프로세싱된 후 그 결과 를 남겨둘 필요가 있기 때문이다. 딕셔너리를 참조할 필요가 있는 경우, 딕셔너리의 데이터는 내부 딕셔너리로부터 판독되어 제 1 라인에서와 같이 전개 프로세스를 진행한다.
PNG 인버스 필터 (104) 는 LZ77 전개부 (103) 로부터 제 2 라인의 LZ77 전개 결과를 수신하고 또한 내부 메모리 (102) 의 라인 데이터 영역으로부터 제 1 라인의 데이터를 판독하여 제 2 라인의 PNG 인버스 필터 연산을 수행한다. PNG 인버스 필터 (104) 는 그 두 개의 데이터로부터 PNG 인버스 필터 연산을 수행한다.
연산 결과는 DMA (107) 를 통해 외부 메모리 (300) 의 화상 출력 영역으로 기입된다. 동일한 데이터가 내부 메모리 (102) 의 라인 데이터 영역으로 기입된다. 데이터가 내부 메모리 (102) 의 라인 데이터 영역으로 기입된 경우, 데이터는 제 1 라인의 데이터로 오버라이팅될 수 있다. 이것은 오버라이팅된 데이터가 이미 PNG 인버스 필터 (104) 로부터 판독되었고 PNG 인버스 필터 프로세싱에서 사용되었기 때문이다.
LZ77 전개부 (103) 및 PNG 인버스 필터 (104) 가 제 2 라인의 PNG 인버스 필터 연산을 수행한 후, 내부 메모리 (102) 내의 데이터는 도 7에서와 같다. 화상의 제 2 라인과 동일한 4KB 데이터 (제2 라인의 PNG 인버스 필터 연산 결과) 는 라인 데이터 영역으로 기입된다. 8K + 2B 데이터 (제 1 라인의 LZ77 전개 결과 및 제 2 라인의 LZ77 전개 결과) 는 내부 딕셔너리 영역으로 기입된다. 화상의 제 1 라인으로서의 4KB 데이터 (제 1 라인의 PNG 인버스 필터 연산 결과) 및 화상의 제 2 라인으로서의 4KB 데이터 (제 2 라인의 PNG 인버스 필터 연산 결과) 는 외 부 메모리 (300) 의 화상 데이터 출력 영역 (302) 으로 기입된다.
다음에, 제 3 라인이 전개된다. 그러나, 제 3 라인을 전개하기 위해 내부 메모리 (102) 의 내부 딕셔너리 영역에 남겨진 충분한 공간이 없다. 구체적으로, 4KB+1B 의 공간이 제 3 라인을 전개하기 위해 내부 딕셔너리 영역에 필요하다. 그러나, 내부 딕셔너리 영역에는 4K-2B 의 공간만이 존재한다. 따라서, 제어 디바이스 (200) 는 내부 딕셔너리의 일부를 외부 메모리 (300) 의 외부 딕셔너리 영역 (301) 으로 플래시한다. 본 실시형태에 있어서는, 내부 딕셔너리 영역 내의 데이터 중 가장 일찍 기입된 512 바이트 데이터가 플래시된다. 플래시 동작이 완료된 후의 내부 메모리는 도 8에 도시된 바와 같다.
따라서, LZ77 의 딕셔너리는 외부 메모리 (300) 의 외부 딕셔너리 영역 (301) 및 내부 메모리 (102) 의 내부 딕셔너리 영역으로 분할된다. 따라서, LZ77 전개에서 딕셔너리를 참조하는 경우, LZ77 전개부 (103) 는 판독될 딕셔너리를 선택하기 위해 원하는 데이터가 내부 딕셔너리 영역에 있는지 또는 외부 딕셔너리 영역에 있는지를 결정한다. 내부 딕셔너리를 참조하는 경우, 프로세스는 제 1 라인 및 제 2 라인에서의 그것들과 동일하다. 한편, 외부 딕셔너리를 참조하는 경우, 데이터는 DMA (105) 를 통해 외부 메모리 (300) 의 외부 딕셔너리 영역 (301) 으로부터 판독된다.
내부 딕셔너리의 플래시 동작 후, 제어 디바이스 (200) 는 허프만 디코딩부 (101), LZ77 전개부 (103) 및 PNG 인버스 필터 (104) 의 연산을 시작하여 제 3 라인을 전개한다. LZ77 전개부 (103) 는 제 2 라인이 프로세싱된 결과의 연속부 분으로부터 내부 메모리 (102) 의 내부 딕셔너리 영역으로 LZ77 전개 결과를 기입한다. LZ77 전개 결과가 내부 딕셔너리의 하단부에 기입되는 경우, LZ77 전개부 (103) 는 링 버퍼에서와 같이 내부 메모리 (102) 의 내부 딕셔너리 영역의 상단부로부터 데이터의 기입을 계속한다. 내부 딕셔너리의 상단부의 영역은 이미 외부 메모리 (300) 의 외부 딕셔너리 영역으로 플래시되었고 오버라이팅을 위해 사용될 수 있다. 딕셔너리를 참조할 필요가 있는 경우, 딕셔너리 내의 데이터는 외부 딕셔너리 영역 (301) 또는 내부 딕셔너리 영역으로부터 적절히 판독되어 전개 연산을 진행한다.
PNG 인버스 필터 (104) 는 LZ77 전개부 (103) 로부터 제 3 라인의 LZ77 전개 결과를 수신하고 또한 내부 메모리 (102) 의 라인 데이터 영역으로부터 제 2 라인의 데이터를 판독하여 제 2 라인의 연산에서와 같이 제 3 라인의 PNG 인버스 필터 연산을 수행한다. 그 후, PNG 인버스 필터 연산은 그 두 개의 데이터로부터 수행된다.
연산 결과는 제 2 라인의 연산에서와 같이 DMA (107) 를 통해 외부 메모리 (300) 의 화상 데이터 출력 영역 (302) 으로 기입된다. 동일한 데이터가 내부 메모리 (102) 의 라인 데이터 영역으로 기입된다. 데이터가 내부 메모리 (102) 의 라인 데이터 영역으로 기입되면, 데이터는 제 2 라인의 데이터로 오버라이팅될 수 있다. 이것은 오버라이팅된 데이터가 이미 PNG 인버스 필터 (104) 로부터 판독되었고 PNG 인버스 필터 프로세싱에서 사용되었기 때문이다.
LZ77 전개부 (103) 및 PNG 인버스 필터 (104) 가 제 3 라인의 PNG 인버스 필 터 연산을 수행한 후, 내부 메모리 (102) 내의 데이터는 도 9에서와 같다. 화상의 제 3 라인에 대응하는 4KB 데이터 (제 3 라인의 PNG 인버스 필터 연산 결과) 는 라인 데이터 영역에 기입되고, 12K+3-512B 데이터 (제 1 라인의 LZ77 전개 결과, 제 2 라인의 LZ77 전개 결과 및 제 3 라인의 LZ77 전개 결과의 부분) 는 내부 딕셔너리 영역에 기입된다. 512B 가 제 3 라인의 전개가 시작되기 전에 외부 딕셔너리 영역 (301) 으로 플래시되는 용량이다. 4KB 데이터가 화상의 제 1 라인 (제 1 라인의 PNG 인버스 필터 연산 결과) 으로서 기입되고, 4KB 데이터가 제 2 라인 (제 2 라인의 PNG 인버스 필터 연산 결과) 으로서 기입되고, 제 3 라인으로서의 4KB 데이터 (제 3 라인의 PNG 인버스 필터 연산 결과) 는 외부 메모리 (300) 의 화상 데이터 출력 영역 (302) 에 기입된다. 512B 데이터가 외부 메모리 (300) 의 외부 딕셔너리 영역 (301) 에 기입된다. 이하, 프로세싱은 PNG 데이터의 모든 라인이 전개될 때까지 계속된다.
실시형태에서, PNG 데이터 전개 디바이스 (100) 는 내부 메모리, LZ77 전개부 (103) 및 PNG 인버스 필터 (104) 를 포함한다. 내부 메모리는 내부 딕셔너리 영역 및 라인 데이터 영역을 포함한다. LZ77 전개부 (103) 는 각각의 화상에 대해 내부 딕셔너리 영역의 용량 및 시작 위치를 변경할 수 있다. PNG 인버스 필터 (104) 는 각각의 화상에 대해 라인 데이터 영역의 용량 및 시작 위치를 변경할 수 있다. 또한, PNG 데이터 전개 디바이스 (100) 는 LZ77 전개부 (103) 및 PNG 인버스 필터 (104) 에 대한 각각의 화상에 대해 내부 딕셔너리의 시작 위치와 용량 및 라인 데이터 영역의 시작 위치와 용량을 설정하는 제어 디바이스 (200) 에 접속된다.
따라서, PNG 데이터 전개 디바이스 (100) 에 의한 PNG 데이터의 전개를 시작하는데 있어서, 제어 디바이스 (200) 는 PNG 데이터를 분석하고 출력 화상의 한 라인에 대한 데이터량을 계산한다. 제어 디바이스 (200) 는 PNG 인버스 필터 (104) 의 라인 데이터 영역의 시작 위치 및 용량을 설정하여 내부 메모리 (102) 가 한 라인에 대한 데이터량에 기초하여 라인 데이터 영역에서 효과적으로 사용될 수 있도록 한다. 또한, 제어 디바이스 (200) 는 내부 딕셔너리 영역으로서 내부 메모리의 총 용량으로부터 한 라인에 대한 데이터량을 공제함으로써 얻어진 용량을 갖는 메모리 영역을 사용하도록 LZ77 전개부 (103) 의 내부 딕셔너리 시작 위치 및 용량을 설정한다. 따라서, 내부 메모리 (102) 는 미사용 공간 없이 효과적으로 사용되어 내부 딕셔너리 영역의 용량을 증가시킬 수 있다. 따라서, 메모리 공간의 미사용 공간을 발생시키지 않는 것이 가능하고 전개되어야 하는 화상에 관계없이 PNG 데이터 전개 성능을 개선하는 것이 가능하다.
도 10은 본 실시형태에 따른 변형예를 도시한다. 본 예에서는, 2KB 의 한 라인의 데이터량을 갖는 화상이 전개된다. 제어 디바이스 (200) 는 전개되어야 하는 PNG 화상을 분석하고 한 라인의 용량이 2KB 라는 것을 인식한다. 다음에, 제어 디바이스 (200) 는 PNG 인버스 필터 (104) 에 라인 데이터 영역으로서 시작 위치가 0 이고 용량이 2KB 인 메모리 영역을 사용하도록 지시한다. 제어 디바이스 (200) 는 LZ77 전개부 (103) 에 내부 딕셔너리 영역으로서 시작 위치가 2KB 이고 용량이 14KB 인 메모리 영역을 사용하도록 지시한다. 제어 디바이스 (200) 는 상술한 바와 같이 상이한 부분들에 대해 PNG 화상의 전개를 수행한다. 따라서, 내부 딕셔너리 영역은 라인 데이터 영역이 4KB 로 설정되는 경우에 비해 증가되며, 이것은 내부 딕셔너리에 대한 히트 레이트 (hit rate) 가 LZ77 전개를 위해 딕셔너리가 참조되는 경우 증가될 수 있고 높은 PNG 전개 프로세스가 기대될 수 있다는 것을 의미한다.
도 11은 실시형태에 따른 또 다른 변형예를 도시한다. 본 실시형태에서는, 데이터가 내부 메모리 (402) 로부터 데이터를 판독함으로써 PNG 인버스 필터 (404) 로 입력된다. 이러한 기술은 LZ77 전개부 (403) 에 의해 내부 딕셔너리 영역으로 기입된 데이터 및 PNG 인버스 필터 (404) 로 출력된 데이터의 양자가 LZ77 전개 결과이고 서로 동일하기 때문에 본 예에서 실용적이다. 따라서, 내부 메모리 (402) 의 내부 딕셔너리 영역은 LZ77 전개부 (403) 와 PNG 인버스 필터 (404) 간에 입력 및 출력 버퍼로서 작용한다. 따라서, LZ77 전개부 (403) 로부터 PNG 인버스 필터 (404) 로의 LZ77 전개 결과 출력 신호 라인은 생략되고, PNG 인버스 필터 (404) 는 내부 메모리 (402) 의 내부 딕셔너리로부터 적절하게 LZ77 전개 결과를 판독하여 PNG 인버스 필터 연산을 수행한다. PNG 인버스 필터 (404) 가 PNG 인버스 필터 연산을 시작하면, 제어 디바이스 (200) 는 적절한 내부 메모리 (402) 의 판독 시작 위치와 용량 및 연산 시작 타이밍을 지시한다.
본 발명은 상기 실시형태들에 제한되는 것이 아니라, 본 발명의 범위 및 사상으로부터 벗어나지 않고 수정 및 변경될 수도 있다.
도 1은 본 발명의 실시형태에 따른 PNG 데이터 전개 디바이스를 도시하는 블록 다이어그램.
도 2는 본 발명의 실시형태에 따른 PNG 데이터 전개 디바이스의 제어 디바이스의 작용을 도시하는 흐름도.
도 3은 본 발명의 실시형태에 따른 PNG 데이터 전개 디바이스의 LZ77 전개 부의 작용을 도시하는 흐름도.
도 4는 본 발명의 실시형태에 따른 PNG 데이터 전개 디바이스의 PNG 인버스 필터의 작용을 도시하는 흐름도.
도 5는 본 발명의 특정의 실시형태에 따른 PNG 데이터 전개 디바이스를 도시하는 다이어그램.
도 6은 PNG 데이터 전개 디바이스가 데이터 전개를 수행할 때의 내부 메모리의 양태를 도시하는 다이어그램.
도 7은 PNG 데이터 전개 디바이스가 데이터 전개를 수행할 때의 내부 메모리의 양태를 도시하는 다이어그램.
도 8은 PNG 데이터 전개 디바이스가 데이터 전개를 수행할 때의 내부 메모리의 양태를 도시하는 다이어그램.
도 9는 PNG 데이터 전개 디바이스가 데이터 전개를 수행할 때의 내부 메모리의 양태를 도시하는 다이어그램.
도 10은 본 발명의 실시형태에 따른 변형예를 도시하는 다이어그램.
도 11은 본 발명의 실시형태에 따른 또 다른 변형예를 도시하는 다이어그램.
도 12는 종래의 LZ77 전개 디바이스를 도시하는 다이어그램.
도 13은 종래의 PNG 인버스 필터 산술 디바이스를 도시하는 다이어그램.
도 14는 종래의 PNG 데이터 전개 디바이스를 도시하는 다이어그램.

Claims (18)

  1. 데이터 전개 디바이스로서,
    이전의 데이터와 동일한 데이터가 출력되는 경우에, 이전의 전개 결과를 포함하는 딕셔너리를 참조함으로써 데이터를 확장하는 전개부;
    상기 전개부의 전개 결과 및 이전에 출력된 화상 데이터에 대해 산술 연산을 수행하고 화상 데이터를 출력하는 연산부; 및
    내부 딕셔너리 영역 및 라인 데이터 영역을 포함하는 공유 메모리로서, 상기 내부 딕셔너리 영역은 상기 전개부에 의해 참조되는 이전의 전개 결과를 저장하고 상기 라인 데이터 영역은 이전에 출력되어 상기 연산부에 의해 사용된 화상 데이터를 저장하는, 상기 공유 메모리를 포함하고,
    상기 공유 메모리는 입력 데이터를 분석하는 분석 결과에 기초하여 설정된 상기 내부 딕셔너리 영역에 대한 용량 및 상기 라인 데이터 영역에 대한 용량을 갖는, 데이터 전개 디바이스.
  2. 제 1 항에 있어서,
    상기 공유 메모리는 각각의 화상 데이터에 대해 설정된 상기 내부 딕셔너리 영역에 대한 용량 및 상기 라인 데이터 영역에 대한 용량을 갖는, 데이터 전개 디바이스.
  3. 제 1 항에 있어서,
    상기 전개부는 허프만 (Huffman) 디코드 결과를 전개하고,
    상기 공유 메모리는 PNG 방법으로 압축된 PNG 데이터를 분석하는 분석 결과에 기초하여 설정된 상기 내부 딕셔너리 영역에 대한 용량 및 상기 라인 데이터 영역에 대한 용량을 갖는, 데이터 전개 디바이스.
  4. 제 2 항에 있어서,
    상기 전개부는 허프만 디코드 결과를 전개하고,
    상기 공유 메모리는 PNG 방법으로 압축된 PNG 데이터를 분석하는 분석 결과에 기초하여 설정된 상기 내부 딕셔너리 영역에 대한 용량 및 상기 라인 데이터 영역에 대한 용량을 갖는, 데이터 전개 디바이스.
  5. 제 1 항에 있어서,
    PNG 데이터에 대해 허프만 디코딩을 수행하는 허프만 디코딩부를 포함하고,
    상기 전개부는 상기 허프만 디코딩부의 디코드 결과에 대해 LZ77 전개를 수행하는 LZ77 전개부인, 데이터 전개 디바이스.
  6. 제 2 항에 있어서,
    PNG 데이터에 대해 허프만 디코딩을 수행하는 허프만 디코딩부를 포함하고,
    상기 전개부는 상기 허프만 디코딩부의 디코드 결과에 대해 LZ77 전개를 수 행하는 LZ77 전개부인, 데이터 전개 디바이스.
  7. 제 5 항에 있어서,
    상기 연산부는 상기 LZ77 전개부의 전개 결과 및 이전에 출력되어 상기 공유 메모리에 저장된 한 라인에 대한 화상 데이터에 대해 PNG 인버스 필터 프로세싱을 수행하는 PNG 인버스 필터인, 데이터 전개 디바이스.
  8. 제 4 항에 있어서,
    상기 데이터 전개 디바이스는, 상기 전개부의 전개 결과가 상기 내부 딕셔너리 영역과 함께 저장되는 외부 딕셔너리 영역을 포함하는 외부 메모리에 접속되고,
    상기 전개부는 필요한 데이터가 상기 외부 딕셔너리 영역에 저장된 경우 상기 외부 딕셔너리 영역을 참조하는, 데이터 전개 디바이스.
  9. 제 5 항에 있어서,
    상기 데이터 전개 디바이스는, 상기 LZ77 전개부의 전개 결과가 상기 내부 딕셔너리 영역과 함께 저장되는 외부 딕셔너리 영역을 포함하는 외부 메모리에 접속되고,
    상기 LZ77 전개부는 필요한 데이터가 상기 외부 딕셔너리 영역에 저장된 경우 상기 외부 딕셔너리 영역을 참조하는, 데이터 전개 디바이스.
  10. 제 7 항에 있어서,
    상기 LZ77 전개부는 상기 LZ77 전개부의 전개 결과를 상기 내부 딕셔너리 영역으로 기입하고,
    상기 PNG 인버스 필터는 상기 내부 딕셔너리 영역에 액세스함으로써 상기 전개 결과를 판독하는, 데이터 전개 디바이스.
  11. 삭제
  12. 데이터 전개 방법으로서,
    입력 데이터를 분석하고 공유 메모리 내에 내부 딕셔너리 영역 및 라인 데이터 영역을 설정하는 단계;
    이전의 데이터와 동일한 데이터가 출력되는 경우에, 상기 공유 메모리의 상기 내부 딕셔너리 영역에 저장된 이전의 전개 결과를 포함하는 내부 딕셔너리를 참조함으로써 입력 데이터를 전개하는 단계; 및
    전개 결과 및 이전에 출력되어 상기 공유 메모리의 상기 라인 데이터 영역에 저장된 화상 데이터에 대해 산술 연산을 수행하고 화상 데이터를 출력하는 단계를 포함하는, 데이터 전개 방법.
  13. 제 12 항에 있어서,
    상기 내부 딕셔너리 영역에 대한 용량 및 상기 라인 데이터 영역에 대한 용량은 각각의 화상 데이터에 대해 설정된, 데이터 전개 방법.
  14. 제 12 항에 있어서,
    PNG 데이터에 대해 허프만 디코딩을 수행하는 단계;
    상기 내부 딕셔너리 영역에 저장된 상기 내부 딕셔너리를 참조함으로써 허프만 디코드 결과에 대해 LZ77 전개를 수행하는 단계; 및
    상기 LZ77 전개 결과 및 이전에 출력되어 상기 라인 데이터 영역에 저장된 한 라인에 대한 화상 데이터에 대해 PNG 인버스 필터 프로세싱을 수행하여 화상 데이터를 출력하는 단계를 포함하는, 데이터 전개 방법.
  15. 제 13 항에 있어서,
    PNG 데이터에 대해 허프만 디코딩을 수행하는 단계;
    상기 내부 딕셔너리 영역에 저장된 상기 내부 딕셔너리를 참조함으로써 허프만 디코드 결과에 대해 LZ77 전개를 수행하는 단계; 및
    상기 LZ77 전개 결과 및 이전에 출력되어 상기 라인 데이터 영역에 저장된 한 라인에 대한 화상 데이터에 대해 PNG 인버스 필터 프로세싱을 수행하여 화상 데이터를 출력하는 단계를 포함하는, 데이터 전개 방법.
  16. 제 14 항에 있어서,
    상기 LZ77 전개 결과가 상기 내부 딕셔너리 영역과 함께 저장되는 외부 딕셔너리 영역을 포함하는 외부 메모리에 필요한 데이터가 저장된 경우 상기 외부 메모리에 액세스하는 단계, 및
    상기 외부 딕셔너리 영역에 저장된 외부 딕셔너리를 참조함으로써 LZ77 전개를 수행하는 단계를 포함하는, 데이터 전개 방법.
  17. 제 14 항에 있어서,
    상기 LZ77 전개 결과를 상기 내부 딕셔너리 영역으로 기입하는 단계; 및
    상기 내부 딕셔너리 영역에 액세스하고, 상기 전개 결과를 판독하고, PNG 인버스 필터 프로세싱을 수행하는 단계를 포함하는, 데이터 전개 방법.
  18. 제 16 항에 있어서,
    상기 LZ77 전개 결과를 상기 내부 딕셔너리 영역으로 기입하는 단계; 및
    상기 내부 딕셔너리 영역에 액세스하고, 상기 전개 결과를 판독하고, PNG 인버스 필터 프로세싱을 수행하는 단계를 포함하는, 데이터 전개 방법.
KR20080039009A 2007-04-27 2008-04-25 데이터 전개 디바이스 및 데이터 전개 방법 KR100956960B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2007-00120177 2007-04-27
JP2007120177A JP4874162B2 (ja) 2007-04-27 2007-04-27 データ展開装置及びデータ展開方法

Publications (2)

Publication Number Publication Date
KR20080096474A KR20080096474A (ko) 2008-10-30
KR100956960B1 true KR100956960B1 (ko) 2010-05-11

Family

ID=39888238

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20080039009A KR100956960B1 (ko) 2007-04-27 2008-04-25 데이터 전개 디바이스 및 데이터 전개 방법

Country Status (5)

Country Link
US (1) US7598891B2 (ko)
JP (1) JP4874162B2 (ko)
KR (1) KR100956960B1 (ko)
CN (1) CN101340537B (ko)
TW (1) TWI377795B (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489199B2 (en) 2012-12-28 2016-11-08 Intel Corporation Vector compare instructions for sliding window encoding
US8947270B2 (en) 2013-06-29 2015-02-03 Intel Corporation Apparatus and method to accelerate compression and decompression operations
US9813079B2 (en) 2016-02-29 2017-11-07 International Business Machines Corporation High-throughput compression of data
JP6648620B2 (ja) 2016-04-19 2020-02-14 富士通株式会社 符号化プログラム、符号化装置および符号化方法
CN107105266A (zh) * 2017-05-22 2017-08-29 郑州云海信息技术有限公司 一种png图像的解码方法、装置及系统
CN116760996B (zh) * 2023-05-30 2024-02-23 广东匠芯创科技有限公司 Png图像解码方法及其硬件架构、电子设备、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003087798A (ja) 2001-09-13 2003-03-20 Canon Inc 動画像圧縮装置及び方法
JP2003092684A (ja) 2001-09-17 2003-03-28 Canon Inc 画像符号化装置、及び画像符号化方法、並びにプログラム、記憶媒体
US20060007237A1 (en) 2004-07-08 2006-01-12 Eric Jeffrey Apparatuses and methods for sharing a memory between display data and compressed display data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0476727A (ja) * 1990-07-18 1992-03-11 Fujitsu Ltd データ復元方式
US5729228A (en) * 1995-07-06 1998-03-17 International Business Machines Corp. Parallel compression and decompression using a cooperative dictionary
US6272257B1 (en) * 1997-04-30 2001-08-07 Canon Kabushiki Kaisha Decoder of variable length codes
JPH11122498A (ja) * 1997-10-16 1999-04-30 Matsushita Denso System Kk 画像処理装置
JP2005234687A (ja) * 2004-02-17 2005-09-02 Sony Corp メモリ管理方法、画像処理装置およびメモリ管理プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003087798A (ja) 2001-09-13 2003-03-20 Canon Inc 動画像圧縮装置及び方法
JP2003092684A (ja) 2001-09-17 2003-03-28 Canon Inc 画像符号化装置、及び画像符号化方法、並びにプログラム、記憶媒体
US20060007237A1 (en) 2004-07-08 2006-01-12 Eric Jeffrey Apparatuses and methods for sharing a memory between display data and compressed display data

Also Published As

Publication number Publication date
KR20080096474A (ko) 2008-10-30
TW200908571A (en) 2009-02-16
US20080270429A1 (en) 2008-10-30
CN101340537B (zh) 2011-11-02
US7598891B2 (en) 2009-10-06
JP4874162B2 (ja) 2012-02-15
TWI377795B (en) 2012-11-21
JP2008278258A (ja) 2008-11-13
CN101340537A (zh) 2009-01-07

Similar Documents

Publication Publication Date Title
US6657562B2 (en) Data compression/decompression method and apparatus
KR102248649B1 (ko) 메모리 압축을 수행하기 위한 시스템 및 방법
US8799614B2 (en) Storing compressed data
KR100956960B1 (ko) 데이터 전개 디바이스 및 데이터 전개 방법
JP2008065834A (ja) フュージョンメモリ装置及び方法
KR100706246B1 (ko) 읽기 성능을 향상시킬 수 있는 메모리 카드
TWI707234B (zh) 資料儲存裝置與資料處理方法
US8688947B1 (en) Aligned data access
US9471584B2 (en) Demand paging method for mobile terminal, controller and mobile terminal
CN109727183B (zh) 一种图形渲染缓冲区压缩表的调度方法及装置
JP5100500B2 (ja) データ書き換えシステム及び新版データ作成装置及び差分データ作成装置及び新版データ作成プログラム及び差分データ作成プログラム
JP2004246889A (ja) シーケンシャルバッファを内蔵してdspのデータアクセス性能を向上させるコンピュータシステム及びそのコンピュータシステムのアクセス方法
JP2006236239A (ja) データ処理システム及びデータ伸長方法
CN114003573A (zh) 文件系统的压缩方法、装置、设备、存储介质、程序产品
JP5002944B2 (ja) 情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラム
US20200257630A1 (en) Information processing apparatus, information processing method, and computer readable medium
US8631187B2 (en) Dual-scope directory for a non-volatile memory storage system
CN109582589B (zh) 半导体设备及存储器访问方法
WO2012169124A1 (ja) 配置決定装置、配置決定方法、データ構造、メモリ、アクセス装置及びメモリアクセス方法
KR102247529B1 (ko) 전자 장치, 재구성 가능 프로세서 및 그 제어 방법들
JPH06161842A (ja) 外部記憶装置およびこれを用いたコンピュータ
TW201805937A (zh) 資料儲存裝置、記憶體控制器及其資料管理方法
CN111966606A (zh) 数据储存装置与数据处理方法
JP2006011822A (ja) プロセッサ
US20050182902A1 (en) Signal processing apparatus

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: 20130502

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee