KR101418540B1 - Decompression method and apparatus - Google Patents

Decompression method and apparatus Download PDF

Info

Publication number
KR101418540B1
KR101418540B1 KR1020120152140A KR20120152140A KR101418540B1 KR 101418540 B1 KR101418540 B1 KR 101418540B1 KR 1020120152140 A KR1020120152140 A KR 1020120152140A KR 20120152140 A KR20120152140 A KR 20120152140A KR 101418540 B1 KR101418540 B1 KR 101418540B1
Authority
KR
South Korea
Prior art keywords
length information
decompression
compressed
stream
information
Prior art date
Application number
KR1020120152140A
Other languages
Korean (ko)
Other versions
KR20140084371A (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 성균관대학교산학협력단
Priority to KR1020120152140A priority Critical patent/KR101418540B1/en
Publication of KR20140084371A publication Critical patent/KR20140084371A/en
Application granted granted Critical
Publication of KR101418540B1 publication Critical patent/KR101418540B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods 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 using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 압축 해제 방법 및 장치를 개시하고 있다. 압축 해제 방법은 압축된 파일 또는 스트림의 가변 길이 부호화와 관련된 부호화 길이 정보를 예측하는 단계, 상기 예측된 부호화 길이 정보를 기반으로 상기 압축 파일 또는 스트림을 압축 블록 단위로 분리하는 단계 및 상기 분리된 압축 블록을 병렬화하여 압축 해제하는 단계를 포함한다. 따라서, 흔히 사용하는 비디오 압축 표준에 대한 가변 길이 블록의 예측 알고리즘을 제공하고, 예측된 블록 정보를 가지고 병렬화를 수행할 수 있어 압축 해제시 성능을 향상시킨다.The present invention discloses a decompression method and apparatus. The decompression method includes the steps of: predicting encoding length information associated with variable length encoding of a compressed file or a stream; separating the compressed file or stream into compressed blocks based on the predicted encoding length information; And parallelizing and decompressing the block. Accordingly, a variable length block prediction algorithm for a commonly used video compression standard is provided, and parallelization can be performed with predicted block information, thereby improving performance in decompression.

Description

압축 해제 방법 및 장치{DECOMPRESSION METHOD AND APPARATUS}[0001] DECOMPRESSION METHOD AND APPARATUS [0002]

본 발명은 압축 해제 방법 및 장치에 관한 것으로, 보다 상세하게는 병렬화 처리를 기반으로 하는 압축 해제를 위한 방법 및 장치에 관한 것이다.
The present invention relates to a decompression method and apparatus, and more particularly to a method and apparatus for decompression based on a parallelization process.

종래의 가변길이 블록의 병렬화 기술의 경우 압축된 길이 정보를 특정 헤더에 저장하거나 혹은, 특정한 길이를 지정해 그 길이에 맞춰 0을 패딩하는 방식으로 병렬화를 지원한다. 따라서, 압축기(compressor) 부분에서는 이러한 기능을 추가하는 부분이 존재해야 되고, 복원기(decompressor)에서는 처리할 수 있는 기능이 있어야 한다. 그러나, 현재 사용되는 대부분의 압축기는 이러한 기능을 지원하지 않으므로, 압축기의 도움없이 압축해제를 병렬화할 수가 없어 불편함이 존재한다.In the case of the conventional parallelization technique of a variable length block, the compressed length information is stored in a specific header, or a certain length is specified, and 0 is padded according to the length to support parallelization. Therefore, in the compressor section, there must be a part to add such a function, and the decompressor must have a function capable of processing. However, since most compressors currently used do not support such a function, there is an inconvenience that the decompression can not be parallelized without the aid of a compressor.

압축된 디지털 데이터를 압축 해제할 때 가변 길이를 가지는 블록의 길이는 압축 알고리즘이나 압축하려는 데이터에 따라서 크기가 정해지기 때문에 그 길이 정보를 예측할 수 없다. 대개 압축된 블록의 경우 압축 알고리즘이 블록마다 적용되기 때문에 각 블록을 병렬적으로 처리할 수 있다. 하지만, 가변 길이 블록의 정보를 알지 못한다면 블록의 시작점을 알 수 없으므로 병렬화 작업을 수행하기가 상당히 어렵다는 문제점이 존재한다.
When decompressing the compressed digital data, the length of the variable length block can not be predicted because the size of the block is determined according to the compression algorithm or the data to be compressed. In the case of a compressed block, the compression algorithm is applied to each block, so that each block can be processed in parallel. However, if the information of the variable length block is not known, there is a problem that it is very difficult to perform the parallelization operation because the starting point of the block can not be known.

상술한 문제점을 해결하기 위한 본 발명의 목적은 상용적으로 흔히 배포된 데이터 압축, 비디오 압축 포맷으로 압축된 가변길이 블록을 가지는 파일들은 패딩이나 길이 정보를 지원하지 않는 압축기로 생성된 것이 대부분이므로, 압축된 파일만으로 병렬화를 수행할 수 있는 가변 길이 압축 해제 방법 및 장치를 제공하는 것이다.
The object of the present invention to solve the above problems is that most of the files having variable length blocks compressed in a commonly used data compression and video compression format are generated by a compressor that does not support padding or length information, And to provide a variable length decompression method and apparatus capable of performing parallelization only by a compressed file.

상기한 목적을 달성하기 위한 본 발명의 압축 해제 방법은 압축된 파일 또는 스트림의 가변 길이 부호화와 관련된 부호화 길이 정보를 예측하는 단계, 상기 예측된 부호화 길이 정보를 기반으로 상기 압축 파일 또는 스트림을 압축 블록 단위로 분리하는 단계 및 상기 분리된 압축 블록을 병렬화하여 압축 해제하는 단계를 포함할 수 있다.According to an aspect of the present invention, there is provided a decompression method comprising: predicting coding length information associated with variable length coding of a compressed file or a stream; compressing the compressed file or stream based on the predicted coding length information; And decompressing and decompressing the separated compressed blocks.

상기 부호화 길이 정보 예측 단계는 상기 압축된 파일 또는 스트림에서 특정 패턴과 압축 블록의 길이 정보를 매칭하는 패턴 매칭을 수행하여 상기 부호화 길이 정보를 예측하는 제 1 모드 및 상기 압축된 파일 또는 스트림을 부분적으로 압축 해제하여 상기 부분 압축 해제된 내용을 기반으로 상기 부호화 길이 정보를 예측하는 제 2 모드 중 적어도 하나의 모드를 수행하는 단계를 포함할 수 있다.Wherein the encoding length information prediction step includes a first mode for performing pattern matching for matching length information of a specific pattern and a compressed block in the compressed file or stream to predict the encoding length information, And a second mode for decompressing the decompressed content and for predicting the encoding length information based on the partially decompressed content.

상기 부호화 길이 정보 예측 단계는 상기 압축 블록의 헤더의 길이가 길거나 상기 헤더를 나타내는 특정한 비트가 있는 경우, 상기 제 1 모드를 수행하도록 결정하는 단계 및 상기 결정된 제 1 모드를 수행하는 단계를 포함할 수 있다.The encoding length information prediction step may include determining to perform the first mode when the length of the header of the compressed block is long or when there is a specific bit indicating the header, and performing the determined first mode have.

상기 부호화 길이 정보 예측 단계는 상기 압축된 파일 또는 스트림이 gzip, bzip2 또는 H.264를 포함하는 비디오 압축 표준에 의해 압축된 경우, 상기 제 1 모드를 수행하도록 결정하는 단계 및 상기 결정된 제 1 모드를 수행하는 단계를 포함할 수 있다.Wherein the step of predicting the encoding length information comprises determining to perform the first mode when the compressed file or stream is compressed by a video compression standard including gzip, bzip2 or H.264, And < / RTI >

상기 제 2 모드 수행 단계는 상기 압축 블록의 부호화 길이 정보를 유추하는데 필요한 정보가 나타날 때까지 상기 압축된 파일 또는 스트림에 대해 부분 압축 해제를 수행하는 단계를 포함할 수 있다.The second mode performing step may include performing partial decompression on the compressed file or stream until information necessary for deriving the encoding length information of the compressed block appears.

상기 제 2 모드 수행 단계는 상기 압축된 파일 또는 스트림을 부분 압축 해제하여 압축시 특정 데이터의 비트 정보 관련 테이블 정보를 획득하는 단계 및 상기 테이블 정보에서 상기 부호화 길이 정보를 예측하는 단계를 포함할 수 있다.The step of performing the second mode may include decompressing the compressed file or stream to obtain bit information related table information of specific data upon compression and predicting the coding length information from the table information .

상기 부호화 길이 정보 예측 단계는 상기 압축 블록의 헤더의 길이가 짧거나 또는 특정 헤더를 나타내는 비트가 존재하지 않는 경우, 상기 제 2 모드를 수행하도록 결정하는 단계 및 상기 결정된 제 2 모드를 수행하는 단계를 포함할 수 있다.The encoding length information prediction step may include determining to perform the second mode if the length of the header of the compressed block is short or if there is no bit indicating a specific header, and performing the determined second mode .

상기 부호화 길이 정보는 상기 압축 블록의 시작점 또는 끝점 정보이고, 상기 압축 블록 생성 단계는 상기 시작점 또는 끝점 정보를 이용하여 상기 압축 파일을 분리하는 단계를 포함할 수 있다.The encoding length information may be the start point or end point information of the compressed block, and the compressed block generating step may include separating the compressed file using the start point or end point information.

상기 압축 해제 단계는 상기 예측된 부호화 길이 정보와 실제 길이 정보가 일치하지 않는 경우, 잘못된 길이 정보를 가지고 압축 해제된 값은 버리고, 실제 길이 정보를 가지고 나머지 부분에 대한 압축해제를 재수행하는 단계를 포함할 수 있다.Wherein the decompressing step includes the step of discarding decompressed values having erroneous length information if the predicted encoding length information does not match the actual length information and re-executing decompression for the remaining part with actual length information can do.

상기한 목적을 달성하기 위한 본 발명의 압축 해제 장치는 압축된 파일 또는 스트림의 가변 길이 부호화와 관련된 부호화 길이 정보를 예측하는 길이 정보 예측부, 상기 예측된 부호화 길이 정보를 기반으로 상기 압축 파일 또는 스트림을 압축 블록 단위로 분리하는 분리부 및 상기 분리된 압축 블록을 병렬화하여 압축 해제하는 압축 해제부를 포함할 수 있다.According to an aspect of the present invention, there is provided a decompression apparatus including a length information predicting unit for predicting coding length information associated with variable length coding of a compressed file or a stream, And a decompression unit for decompressing and decompressing the separated compressed blocks.

상기한 목적을 달성하기 위한 본 발명의 압축 해제 장치는 압축된 파일 또는 스트림의 부호화 길이 정보를 예측하여 상기 부호화 길이 정보를 기반으로 상기 압축된 파일 또는 스트림을 압축 블록 단위로 병렬적으로 압축 해제하는 적어도 하나의 압축 해제부를 포함하되, 상기 적어도 하나의 압축 해제부는 상기 예측된 부호화 길이 정보를 기반으로 압축 블록을 압축 해제하고 압축 해제된 원본 데이터를 다시 순서를 맞춰서 최종 파일에 쓸 수 있다.According to an aspect of the present invention, there is provided a decompression apparatus for predicting encoded length information of a compressed file or a stream and decompressing the compressed file or stream in units of compressed blocks based on the encoded length information Wherein the at least one decompression unit decompresses the compressed block based on the predicted encoding length information and rewrites the decompressed original data into the final file.

상기 적어도 하나의 압축 해제부는 상기 예측된 부호화 길이 정보를 실제 압축 해제를 수행하는 제 2 압축 해제부에 전달하는 제 1 압축 해제부, 상기 제 1 압축 해제부로부터 상기 부호화 길이 정보를 수신하고 상기 부호화 길이 정보를 기반으로 압축 블록을 압축 해제하여 원본 데이터를 복원하는 병렬로 배치된 복수의 제 2 압축 해제부 및 상기 제 2 압축 해제부로부터 원본 데이터를 수신하여 각 수신된 데이터들의 순서 값을 비교하여 순서를 맞춰서 상기 최종 파일에 쓰는 제 3 압축 해제부를 포함할 수 있다.Wherein the at least one decompression unit comprises a first decompression unit for delivering the predicted encoding length information to a second decompression unit for performing actual decompression, a second decompression unit for receiving the coding length information from the first decompression unit, A plurality of second decompression units arranged in parallel for decompressing the compressed block based on the length information to restore the original data, and a second decompression unit for receiving the original data from the second decompression unit and comparing the order values of the received data And a third decompression unit for sequentially writing the data in the final file.

상기 제 3 압축 해제부는 상기 수신된 원본 데이터를 통한 압축 해제 실제 길이와 상기 예측된 부호화 길이 값을 비교하여 두 값이 서로 다른 경우, 상기 예측된 부호화 길이 값을 통해 압축 해제한 값을 버리고, 실제 압축 해제 후 구해진 길이 정보를 가지고 나머지 부분에 압축 해제를 수행하도록 제어할 수 있다.The third decompression unit compares the decompressed actual length with the original encoded data and the predicted length, and if the two values are different from each other, discards the decompressed value based on the predicted length, It is possible to control to decompress the remaining part with the length information obtained after decompression.

상기 제 1, 제 2 및 제 3 압축 해제부는 서로 통신하고, 서로 간의 통신 오버헤드가 최소화되도록 압축 해제를 수행할 수 있다.The first, second, and third decompressors may communicate with each other and perform decompression to minimize communication overhead between each other.

상기 적어도 하나의 압축 해제부는 상기 예측된 부호화 길이 정보를 실제 압축 해제를 수행하는 제 2 압축 해제부에 전달하는 제 1 압축 해제부 및 상기 제 1 압축 해제부로부터 상기 부호화 길이 정보를 수신하고 상기 부호화 길이 정보를 기반으로 압축 블록을 압축 해제하여 원본 데이터를 복원하는 병렬로 배치된 복수의 제 2 압축 해제부를 포함하되, 상기 복수의 제 2 압축 해제부는 각각 원본 데이터들의 순서 값을 비교하여 순서를 맞춰서 직접 상기 최종 파일에 쓸 수 있다.Wherein the at least one decompression unit comprises: a first decompression unit for delivering the predicted encoding length information to a second decompression unit that performs actual decompression; and a second decompression unit for receiving the encoding length information from the first decompression unit, And a plurality of second decompression units arranged in parallel for decompressing the compressed block based on the length information to restore the original data, wherein the plurality of second decompression units compares the order values of the original data with each other, You can write directly to the above file.

상기 복수의 제 2 압축 해제부는 각각 압축 해제 후 원본 데이터를 각각 자체적으로 유지하고 있다가, 상기 복수의 제 2 압축 해제부 간의 공유 메모리 토큰을 설정하여 토큰을 주고 받으면서 순차적으로 상기 최종 파일에 원본 데이터를 쓸 수 있다.Wherein the plurality of second decompression units respectively store the original data after decompression and set the shared memory token between the plurality of second decompression units and transmit the token to the final file sequentially, Can be used.

상기 압축 해제 장치는 메모리 자원 및 프로세서 코어가 부족한 환경에서 사용될 수 있다.The decompression apparatus may be used in an environment in which memory resources and a processor core are insufficient.

상기한 목적을 달성하기 위한 본 발명의 압축 해제 방법은 압축된 파일 또는 스트림의 부호화 길이 정보를 예측하여 상기 부호화 길이 정보를 기반으로 상기 압축된 파일 또는 스트림을 압축 블록 단위로 병렬적으로 압축 해제하는 압축 해제 단계를 포함하되, 상기 압축 해제 단계는 상기 예측된 부호화 길이 정보를 기반으로 압축 블록을 압축 해제하고 압축 해제된 원본 데이터를 다시 순서를 맞춰서 최종 파일에 쓰는 단계를 포함할 수 있다.According to an aspect of the present invention, there is provided a decompression method for compressing a compressed file or a stream, the method comprising: predicting encoding length information of a compressed file or a stream and decompressing the compressed file or stream in units of compressed blocks based on the encoding length information Decompressing the decompressed compressed data based on the predicted encoding length information and re-ordering decompressed original data and writing the decompressed original data to a final file.

상기 압축 해제 단계는 상기 예측된 부호화 길이 정보를 실제 압축 해제를 수행하는 압축 해제 수단에 전달하는 단계, 상기 부호화 길이 정보를 수신하고 상기 부호화 길이 정보를 기반으로 압축 블록을 압축 해제하여 원본 데이터를 복원하는 단계 및 상기 원본 데이터를 수신하여 각 수신된 데이터들의 순서 값을 비교하여 순서를 맞춰서 상기 최종 파일에 쓰는 단계를 포함할 수 있다.
Wherein the decompressing step comprises: transferring the predicted encoding length information to decompression means for performing decompression; receiving the encoding length information and decompressing the compression block based on the encoding length information to restore original data; And receiving the original data, comparing the order values of the received data, and writing the data in the final file according to the order.

본 발명의 압축 해제 방법 및 장치에 따르면, 흔히 사용하는 비디오 압축 표준에 대한 가변 길이 블록의 예측 알고리즘을 제공하고, 예측된 블록 정보를 가지고 병렬화를 수행할 수 있어 압축 해제시 성능이 향상되는 효과가 있다.
According to the decompression method and apparatus of the present invention, a variable length block prediction algorithm for a commonly used video compression standard is provided, parallelization can be performed with predicted block information, have.

도 1은 본 발명의 일 실시예에 따른 압축 해제 장치의 구성을 개략적으로 나타낸 블록도,
도 2는 본 발명의 일 실시예에 따른 압축 해제 장치가 병렬적으로 압축 해제 처리를 수행하는 압축 블록의 구성을 나타낸 개념도,
도 3은 본 발명의 일 실시예에 따른 압축 해제 방법을 개략적으로 나타낸 흐름도,
도 4는 본 발명의 일 실시예에 따른 압축 해제 방법의 부호화 길이 예측 단계를 구체적으로 나타낸 상세 흐름도,
도 5는 본 발명의 일 실시예에 따른 압축 해제 방법의 압축 해제 단계를 구체적으로 나타낸 상세 흐름도,
도 6은 본 발명의 일 실시예에 따른 압축 해제 장치가 각 블록들을 순차적으로 출력 파일에 쓰는 동작을 설명하기 위한 도면,
도 7은 본 발명의 일 실시예에 따른 압축 해제 장치가 임베디드 시스템처럼 제한된 코어 수와 메모리 용량을 고려하였을 때의 최적화 모델을 나타낸 도면이다.
1 is a block diagram schematically showing a configuration of a decompression apparatus according to an embodiment of the present invention;
2 is a conceptual diagram showing the configuration of a compression block in which a decompression apparatus according to an embodiment of the present invention performs decompression processing in parallel;
3 is a flow chart schematically illustrating a decompression method according to an embodiment of the present invention;
4 is a detailed flowchart specifically illustrating a coding length predicting step of a decompression method according to an embodiment of the present invention;
5 is a detailed flowchart specifically illustrating a decompression step of a decompression method according to an embodiment of the present invention;
6 is a view for explaining an operation of a decompression apparatus according to an embodiment of the present invention sequentially writing each block to an output file,
7 is a diagram illustrating an optimization model when a decompression apparatus according to an embodiment of the present invention takes into account a limited number of cores and a memory capacity as in an embedded system.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

도 1은 본 발명의 일 실시예에 따른 압축 해제 장치의 구성을 개략적으로 나타낸 블록도이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 압축 해제 장치는 길이 예측 및 분리부(100) 및 복수의 압축 해제부(110-1, 110-2, ... 110-N)를 포함할 수 있다.1 is a block diagram schematically showing a configuration of a decompression apparatus according to an embodiment of the present invention. 1, a decompression apparatus according to an embodiment of the present invention includes a length prediction and separation unit 100 and a plurality of decompression units 110-1, 110-2, ... 110-N, . ≪ / RTI >

도 1을 참조하면, 길이 예측 및 분리부(100)는 압축 파일(10)(또는 압축 스트림)의 가변 길이 부호화와 관련된 부호화 길이 정보를 예측한다. 압축 파일(10)이 가변 길이 부호화(또는 엔트로피 부호화)를 통해 압축된 파일인 경우, 길이가 변화하는 가변 블록 단위로 부호화가 수행된다. 특히, 가변 길이 부호화는 압축된 데이터와 관련된 계수 등의 부호화에 적용될 수 있는데, 고정 길이 부호화와 다르게 각각의 압축 블록(20)의 길이가 다르게 부호화되기 때문에 복원시에도 길이 정보를 알지 못하면 효율적인 압축 해제가 수행될 수 없다. Referring to FIG. 1, the length prediction and separation unit 100 predicts coding length information related to variable length coding of a compressed file 10 (or a compressed stream). When the compressed file 10 is a file compressed through variable length coding (or entropy encoding), encoding is performed in units of variable blocks whose length changes. In particular, variable length coding can be applied to coding such as coefficients related to compressed data. Since the lengths of the respective compression blocks 20 are differently encoded differently from fixed length coding, if the length information is not known at the time of restoration, Can not be performed.

따라서, 본 발명의 일 실시예에 따른 길이 예측 및 분리부(100)는 압축 파일(10)의 부호화 길이 정보를 예측하고, 예측된 길이 정보를 기반으로 압축 파일(10)을 압축 블록(20) 단위로 분리할 수 있다. 여기서, 예측 및 분리 동작은 서로 다른 구성요소를 통해 이루어질 수도 있다. 여기서, 부호화 길이 정보는 압축 블록의 시작점 또는 끝점 정보일 수 있다. 즉, 압축 블록(20)이 시작되는 지점(헤더가 있으면, 헤더가 시작되는 지점) 및 압축 블록(20)이 끝나고, 다음 압축 블록(20)이 시작되는 지점 중 어느 하나의 정보일 수 있다. 압축 파일(10)을 분리하여 복수의 압축 블록(20)을 생성할 수 있다. 하나의 압축 블록(20)은 각각 압축된 데이터를 가지고 있기 때문에, 압축 블록(20)은 병렬적으로 처리될 수 있다. 다만, 다른 압축 블록(20)과의 관계에서 순서가 뒤바뀔 수 있으나, 이는 병렬 처리 후 순서 조정을 통해 순서에 맞게 출력하여 해결할 수 있다. Therefore, the length prediction and separation unit 100 according to an embodiment of the present invention predicts the encoding length information of the compressed file 10 and outputs the compressed file 10 to the compression block 20 based on the estimated length information. Can be divided into units. Here, the prediction and separation operations may be performed through different components. Here, the encoding length information may be the start point or the end point information of the compression block. That is, the information may be any one of a point where the compression block 20 starts (a header starts when the header exists) and a point where the compression block 20 ends and a next compression block 20 starts. A plurality of compression blocks 20 can be generated by separating the compressed file 10. Since one compression block 20 has compressed data each, the compression block 20 can be processed in parallel. However, the order may be reversed in relation to the other compression blocks 20, but this can be solved by outputting in order according to the order adjustment after the parallel processing.

본 발명의 일 실시예에 따르면, 복수의 압축 해제부(110-1, 110-2, ... 110-N)는 길이 예측 및 분리부(100)를 통해 분리된 압축 블록(20)을 병렬적으로 압축 해제 처리할 수 있다. 하나의 압축 해제부(110-1)가 첫 번째 압축 블록(20)을 압축 해제하고, 두번째 압축 해제부(110-2)가 두 번째 압축 블록(20)을 압축 해제하는 식으로 순차적으로 압축 해제를 수행하여 N개의 압축 해제부(110-1, 110-2, ... 110-N)를 통해 병렬적으로 빠르게 압축 해제를 수행할 수 있다. According to an embodiment of the present invention, the plurality of decompression units 110-1, 110-2, ... 110-N are arranged in parallel in the compression block 20 separated by the length predicting and separating unit 100, The decompression process can be performed. One decompression unit 110-1 decompresses the first compression block 20 and the second decompression unit 110-2 decompresses the second compression block 20 in a sequential manner To quickly decompress in parallel through the N decompression units 110-1, 110-2, ... 110-N.

본 발명의 다른 실시예에 따르면, 압축 해제시 예측된 길이 정보가 잘못되었을 경우에는 예측된 길이 정보에 의해 압축된 값들을 모두 버리고, 실제 압축 해제를 통해 획득되는 길이 정보를 통해 나머지 부분에 대한 압축 해제를 재수행할 수 있다.According to another embodiment of the present invention, when the predicted length information at the time of decompression is erroneous, all values compressed by the predicted length information are discarded, and compression Release can be re-executed.

도 2는 본 발명의 일 실시예에 따른 압축 해제 장치가 병렬적으로 압축 해제 처리를 수행하는 압축 블록의 구성을 나타낸 개념도이다. 도 2에 도시된 바와 같이, 비압축 스트림(200)은 압축을 수행하고 나면, 원본 블록이 대게는 더 짧은 길이의 압축 블록(20)으로 변환될 수 있다. 2 is a conceptual diagram showing a configuration of a compression block in which a decompression apparatus according to an embodiment of the present invention performs decompression processing in parallel. As shown in FIG. 2, after the uncompressed stream 200 performs compression, the original block may be converted to a compressed block 20, usually of shorter length.

도 2를 참조하면, 압축 파일(10)(또는 압축 스트림)은 비압축 스트림(200)을 압축 프로그램 등을 통해 압축을 수행하여 만들어진 파일이다. 압축 파일(10)은 복수의 압축 블록(20)을 포함할 수 있다. 압축 파일(10)은 파일 헤더를 포함할 수 있고, 파일 헤더에는 해당 파일의 길이, 시간, 장르 등 파일과 관련된 정보를 포함할 수 있다. 2, the compressed file 10 (or compressed stream) is a file created by compressing the uncompressed stream 200 through a compression program or the like. The compression file 10 may include a plurality of compression blocks 20. The compressed file 10 may include a file header, and the file header may include information related to the file such as the length, time, and genre of the file.

압축 블록(20)은 블록 헤더, 압축 데이터 및 EOB(End of Block) 정보를 포함할 수 있다. 블록 헤더는 해당 압축 블록(20)의 길이 정보, 압축 프로그램 관련 정보 등 블록 관련 정보를 포함할 수 있다. 즉, 블록 헤더를 파싱하면 해당 압축 블록(20)의 길이 정보를 예측할 수 있다. 본 발명의 실시예에 따르면, 헤더 정보의 패턴에 따라 압축 블록(20)의 시작점(pos0) 또는 끝점(pos1) 정보와 같은 길이 관련 정보를 예측하는 방식을 달리 적용할 수 있다. The compression block 20 may include a block header, compressed data, and end of block (EOB) information. The block header may include block related information such as length information of the corresponding compression block 20, compression program related information, and the like. That is, if the block header is parsed, the length information of the compression block 20 can be predicted. According to the embodiment of the present invention, a method of predicting the length-related information such as the start point (pos 0 ) or end point (pos 1 ) information of the compression block 20 may be applied according to a pattern of header information.

먼저, 헤더의 길이가 길거나 헤더를 나타내는 특정한 비트가 있는 경우, 압축된 파일(10)(또는 스트림)에서 직접 패턴 매칭을 하여 해당 블록의 시작점을 찾아낼 수 있다. 패턴 매칭이란, 특정한 패턴(패턴은 블록 헤더의 패턴, 압축 블록의 패턴 등 다양한 정보를 포함함)에 맞는 압축 블록의 길이 정보를 매칭하여 특정 패턴에 맞는 길이 정보를 획득하는 것을 의미한다. 예컨대, '01'이란 비트가 헤더를 나타내는 경우, '01'이란 헤더 비트를 사용하는 압축 프로그램을 매칭하고, 상기 매칭된 프로그램에 적용되는 압축 블록의 길이를 예측할 수 있다. 따라서, 패턴 매칭을 위해서는 이러한 패턴과 길이 정보를 매칭해 놓은 매칭 테이블이 필요할 수 있다. First, if the length of the header is long or there is a specific bit indicating a header, the start point of the corresponding block can be found by performing pattern matching directly on the compressed file 10 (or stream). The pattern matching means that length information corresponding to a specific pattern is obtained by matching the length information of a specific block with a specific pattern (the pattern includes various information such as a pattern of a block header and a pattern of a compressed block). For example, when the bit '01' indicates a header, a compression program using header bit '01' may be matched and a length of a compression block applied to the matched program may be predicted. Therefore, a matching table in which such pattern and length information are matched may be required for pattern matching.

다만, 블록 헤더의 길이가 짧거나 특정 헤더를 나타내는 비트가 존재하지 않는 경우, 짧은 헤더 길이로 패턴 매칭을 수행하면 경우의 수가 많이 발생하므로, 이 방식을 사용하기 어렵다. 따라서, 본 발명의 다른 실싱예에 따르면, 부분적으로 압축 해제를 시도하여 해당 가변 길이 블록의 길이 정보를 알아내기 위해 필요한 정보를 획득하여 상기 획득된 정보를 토대로 실제 압축된 파일(10)(또는 스트림)에서 압축 블록(20)의 길이 정보를 예측할 수 있다. However, in the case where the length of the block header is short or the bit indicating the specific header does not exist, it is difficult to use this method because pattern matching is performed with a short header length. Therefore, according to another embodiment of the present invention, partial decompression is attempted to acquire information required to determine length information of the variable-length block, and based on the obtained information, the actual compressed file 10 The length information of the compression block 20 can be predicted.

압축 데이터는 실제로 파일 내용을 포함하는 부분이다. EOB 정보는 블록의 끝점(종료점)을 나타낸다. EOB 정보는 압축 블록(20)마다 반드시 포함되는 정보는 아닐 수 있다. Compressed data is actually the part that contains the contents of the file. The EOB information indicates the end point (end point) of the block. EOB information may not necessarily be included in every compression block 20. [

도 3은 본 발명의 일 실시예에 따른 압축 해제 방법을 개략적으로 나타낸 흐름도이다. 3 is a flow chart schematically illustrating a decompression method according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일 실시예에 따른 압축 해제 장치(미도시)는 부호화 길이 정보를 예측한다(S310). 부호화 길이 정보의 예측하는 방식으로 크게 두 가지가 존재한다. 그 중 제 1 모드는 헤더를 가리키는 특정한 패턴이 존재하는 경우, 그 정보를 알아내어 압축된 파일 또는 스트림에서 상기 헤더를 찾아내는 방식이고, 이를 패턴 매칭이라고 한다. 제 2 모드는 헤더를 가리키는 정보가 존재하지 않는 경우, 압축 해제를 부분적으로 시도해서 해당 가변 길이 블록을 찾기 위해 필요한 정보를 알아내어 그 정보를 가지고 압축된 파일 또는 스트림에서 가변 길이 블록을 찾는 것이다. Referring to FIG. 3, a decompression apparatus (not shown) according to an embodiment of the present invention predicts encoding length information (S310). There are two schemes for predicting the coding length information. In the first mode, if there is a specific pattern indicating a header, the information is obtained and the header is found in the compressed file or stream. This is called pattern matching. In the second mode, if information indicating a header does not exist, partial decompression is attempted to find information necessary to find the variable-length block and to find a variable-length block in the compressed file or stream with the information.

도 4는 본 발명의 일 실시예에 따른 압축 해제 방법의 부호화 길이 예측 단계(S310)를 구체적으로 나타낸 상세 흐름도이다.FIG. 4 is a detailed flowchart illustrating an encoding length predicting step (S310) of a decompression method according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 압축 해제 장치(미도시)는 압축 블록의 블록 헤더 길이가 특정값 x(x는 기준값)보다 긴지 판단한다(S410). 만약, 블록 헤더의 길이가 긴 경우, 긴 블록 헤더를 기반으로 헤더 길이에 맞는 압축 블록의 길이 정보를 패턴 매칭을 통해 예측하도록 하는 제 1 모드를 수행하도록 결정한다(S420). 즉, 헤더의 길이가 길기 때문에, 패턴 매칭 수행시 경우의 수가 적게 발생할 수 있고, 따라서, 예측의 정확도가 높기 때문에 제 1 모드를 통해 부호화 길이를 예측한다. 만약, 블록 헤더의 길이가 x보다 길지 않은 경우, 헤더를 나타내는 특정 비트가 있는지 판단한다(S412). 헤더를 나타내는 특정 비트가 있는 경우, 예컨대, 매칭 테이블에 존재하는 헤더 관련 비트에 해당되는 경우, 상기 특정 비트를 패턴 매칭하여 부호화 길이를 예측하도록 제 1 모드 수행을 결정한다(S420). 다만, 헤더를 나타내는 특정 비트가 존재하지 않는 경우, 특정 비디오 압축 표준에 의해 압축 되었는지 판단한다(S414). 예컨대, gzip, bzip2와 같은 압축 프로그램 또는 H.264, MPEG 시리즈, HEVC(High Efficiency Video Coding)와 같은 비디오 압축 표준에 의해 압축된 경우(반드시 상기 압축 프로그램 또는 압축 표준에 해당해야 하는 것은 아니고, 다른 압축 프로그램 또는 압축 표준에 해당하여도 무방함), 해당 표준에 대응되는 압축 블록의 길이를 알 수 있으므로, 압축 표준 정보를 패턴 매칭하여 부호화 길이 정보를 예측하는 제 1 모드를 수행하도록 결정할 수 있다(S420). 만약, 특정 압축 표준에 의해 압축되지 않은 경우, 제 2 모드를 수행하도록 결정한다(S430). 이때, 제 1 모드를 수행할지 제 2 모드를 수행할지를 결정하기 위한 상기 과정(S410, S412, S414)은 서로 순서가 바뀌어도 상관없고, 동시에 수행되어도 상관없다. 즉, 상기 과정(S410, S412, S414) 중 하나에만 해당 되어도 제 1 모드를 수행하도록 결정할 수 있다.Referring to FIG. 4, a decompression apparatus (not shown) according to an embodiment of the present invention determines whether a block header length of a compressed block is longer than a specific value x (x is a reference value) (S410). If the length of the block header is long, it is determined to perform the first mode in which the length information of the compressed block matching the header length is predicted through pattern matching based on the long block header (S420). That is, since the length of the header is long, the number of cases may be small when pattern matching is performed, and therefore the encoding length is predicted through the first mode because the accuracy of prediction is high. If the length of the block header is not longer than x, it is determined whether there is a specific bit indicating the header (S412). If there is a specific bit indicating a header, for example, if the bit corresponds to a header-related bit existing in the matching table, the first mode is determined to perform the first mode to predict the coding length by pattern-matching the specific bit (S420). However, if there is no specific bit indicating the header, it is determined whether the specific bit is compressed according to a specific video compression standard (S414). For example, when compressed by a compression program such as gzip or bzip2 or a video compression standard such as H.264, MPEG series, or High Efficiency Video Coding (HEVC) (not necessarily the compression program or compression standard, A compression program or a compression standard), and the length of the compressed block corresponding to the standard can be known. Therefore, it can be determined to perform the first mode in which the coding length information is predicted by pattern-matching the compression standard information S420). If it is not compressed by a specific compression standard, it is determined to perform the second mode (S430). In this case, the steps S410, S412, and S414 for determining whether to perform the first mode or the second mode may be performed in order or may be performed simultaneously. That is, it can be determined to perform the first mode only in one of the steps (S410, S412, S414).

제 1 모드 수행이 결정된 경우(S420), 헤더의 길이를 통한 패턴 매칭, 헤더를 나타내는 특정 비트를 통해 패턴 매칭 또는 특정 압축 프로그램 및 특정 압축 표준에 의해 패턴 매칭을 수행한다(S422).If the first mode is selected (S420), pattern matching is performed by pattern matching through a header length, pattern matching through a specific bit indicating a header, or a specific compression program and a specific compression standard (S422).

그리고는, 수행된 매칭 결과를 기반으로 길이 정보(시작점 또는 끝점 정보)를 획득한다(S440).Then, the length information (start point or end point information) is obtained based on the matching result (S440).

그리고, 제 2 모드 수행이 결정된 경우(S430), 압축 해제 장치는 부분적으로 압축 해제를 수행한다(S430). 부분적으로 압축 해제를 시도해서 압축 블록의 길이 관련 정보를 알아내기 위해 필요한 정보를 획득하여 상기 획득된 정보를 가지고 실제 압축된 파일 또는 스트림에서 압축 블록의 길이 정보를 예측할 수 있다. 예컨대, 가변 길이 압축 부호화시, 프로그램이 해제할 때 인식할 수 있는 블록의 끝을 나타내는 비트(예컨대, EOB 비트)들을 설정할 수 있다. 설정된 비트는 테이블로 정리될 수 있다. 즉, 특정 테이블은 압축과 관련하여 헤더 관련 비트, 끝점 관련 비트 등의 특정 데이터의 비트 정보를 포함하고 있을 수 있고, 압축 해제 장치는 부분적인 압축 해제를 통해 상기 특정 테이블을 파싱하여 길이 정보(시작점 또는 끝점 정보)와 관련된 비트 정보를 획득할 수 있다. 즉, 길이 정보와 관련된 정보가 나타날 때까지 상기 부분 압축 해제를 반복적으로 수행한다(S434). 길이 정보와 관련된 정보를 획득하면, 상기 정보를 기반으로 길이 정보를 획득한다(S440). 예컨대, 상기 특정 테이블에 끝점을 나타내는 비트 또는 비트의 길이 정보가 나타나 있는 경우, 해당 비트 또는 비트의 길이를 갖는 위치를 압축된 파일 또는 스트림에서 검색하여 길이 정보를 획득할 수 있다.If it is determined that the second mode is to be performed (S430), the decompression apparatus partially decompresses the data (S430). It is possible to obtain the information required to find the length-related information of the compressed block by partially attempting decompression, and to predict the length information of the compressed block in the actual compressed file or stream with the obtained information. For example, in variable length compression coding, bits (e.g., EOB bits) indicating the end of a block that can be recognized when the program is released can be set. The set bits can be organized into tables. That is, the specific table may include bit information of specific data such as a header related bit and an end point related bit in relation to compression, and the decompression apparatus may parse the specific table through partial decompression, Or endpoint information) associated with the bitstream. That is, the partial decompression is repeatedly performed until the information related to the length information is displayed (S434). Upon obtaining the information related to the length information, the length information is obtained based on the information (S440). For example, if bit or bit length information indicating an end point is indicated in the specific table, length information may be obtained by searching a compressed file or a stream for a position having a corresponding bit or bit length.

다시 도 3을 참조하면, 부호화 길이 정보 예측이 끝나면, 예측된 부호화 길이 정보를 토대로 블록 단위로 압축 파일(10)을 분리한다(S320). Referring again to FIG. 3, when the coding length information prediction is finished, the compressed file 10 is separated on a block-by-block basis based on the predicted coding length information (S320).

그리고는, 분리된 압축 블록을 병렬화하여 압축 해제를 수행한다(S330). 압축 해제 장치는 예측한 블록의 시작점을 이용하여 복원기(도 1의 압축 해제부(110))의 병렬화가 가능하다. 즉, 멀티 코어 환경에서, 각 코어가 각기 다른 시작점에서 압축 해제를 시작하여, 해당 블록의 원본 값을 복원할 수 있다. 만약, 병렬화 수행 과정에서 예측된 부호화 길이 정보와 실제 길이 정보가 일치하지 않는다면, 잘못된 길이 정보를 가지고 압축 해제를 수행한 값은 모두 버리고, 실제 길이 정보를 가지고 나머지 부분을 재수행하여 복원된 데이터 스트림의 정확성을 보장할 수 있다.Then, decompression is performed by parallelizing the separated compressed blocks (S330). The decompression apparatus is capable of parallelizing the decompressor (the decompression unit 110 of FIG. 1) using the predicted starting point of the block. That is, in a multicore environment, each core can start decompressing at a different starting point, and restore the original value of the block. If the encoding length information and the actual length information predicted in the parallelization process are not identical to each other, all of the decompressed values with the wrong length information are discarded, and the rest of the data stream is re- Accuracy can be guaranteed.

도 5는 본 발명의 일 실시예에 따른 압축 해제 방법의 압축 해제 단계를 구체적으로 나타낸 상세 흐름도이다.5 is a detailed flowchart specifically illustrating a decompression step of the decompression method according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 일 실시예에 따른 압축 해제 장치(미도시)는 예측 길이 정보를 기반으로 압축 해제를 수행한다(S510). 그리고, 예측된 길이 정보와 실제 압축 해제 후의 결과물을 통해 확인 가능한 실제 길이 정보를 비교한다(S520). 비교 결과, 예측된 길이 정보와 실제 길이 정보가 일치하는 경우, 압축 해제의 정확성이 높은 것으로 판단하고, 계속 압축 해제 과정을 진행하면 된다. 다만, 예측 길이 정보와 실제 길이 정보가 불일치하는 경우, 압축 해제된 원본 데이터 값을 모두 폐기한다(S530). 이는 예측된 길이 정보가 부정확하기 때문에, 부정확한 길이 정보에 기반한 복원 데이터의 정확도도 높지 않을 가능성이 높기 때문이다. 그리고는, 압축 해제 장치는 실제 길이 정보를 가지고 나머지 부분에 대한 압축 해제를 계속하여 수행한다(S540). Referring to FIG. 5, a decompression apparatus (not shown) according to an embodiment of the present invention performs decompression based on predicted length information (S510). Then, the predicted length information is compared with actual length information that can be confirmed through the actual decompressed result (S520). As a result of the comparison, if the predicted length information matches the actual length information, it is determined that the decompression accuracy is high, and the decompression process continues. However, if the predicted length information and the actual length information do not match, the decompressed original data values are all discarded (S530). This is because the predicted length information is inaccurate and the accuracy of the restored data based on the incorrect length information is not likely to be high. Then, the decompression apparatus continues to decompress the remaining part with the actual length information (S540).

도 6은 본 발명의 일 실시예에 따른 압축 해제 장치가 각 블록들을 순차적으로 출력 파일에 쓰는 동작을 설명하기 위한 도면이다. 도 6에 도시된 바와 같이, 본 발명의 압축 해제 장치는 쿼드 코어 시스템에서 4 개의 프로세스(610, 620, 630, 640)를 통해 압축 해제가 수행될 수 있다.6 is a view for explaining an operation of the decompression apparatus according to an embodiment of the present invention sequentially writing each block to an output file. As shown in FIG. 6, the decompression apparatus of the present invention can be decompressed through four processes 610, 620, 630, and 640 in a quad-core system.

도 6을 참조하면, 프로세스 0(610)은 압축된 파일을 스캔한다. 즉, 각각 적절한 압축 블록 단위로 병렬화되어 다른 프로세스에서 압축 해제될 수 있도록, 압축된 파일 또는 스트림의 예측 가변 길이 정보를 스캔하여 실제 압축 해제를 수행하는 프로세스(도 6에선 프로세스 1(620) 및 프로세스 2(630))에 전달한다. 즉, 스캔 동작 1을 수행하고, 결과값인 예측 가변 길이 정보를 프로세스 1(620)으로 전달하면, 이를 수신한 프로세스 1(620)은 가변 길이 정보가 가리키는 지점부터 압축 해제를 수행한다. 즉, 예측 가변 길이 정보를 프로세스 0(610)으로부터 수신한 프로세스 1 및 2(620, 630)는 예측 길이 정보가 가리키는 그 시점으로부터 시작해서 지정한 블록 개수만큼(이는 사용자가 미리 설정해 놓을 수 있음) 압축 해제를 수행하여 원본 데이터를 복원해낸다. Referring to FIG. 6, process 0 (610) scans the compressed file. In other words, in the process of performing the actual decompression by scanning the predicted variable length information of the compressed file or stream so that each can be parallelized and decompressed in another process, 2 630). That is, when the scan operation 1 is performed and the predictive variable length information, which is a result value, is transmitted to the process 1 620, the process 1 620 receiving the decompressed variable length information decompresses the variable length information from the point indicated by the variable length information. In other words, the processes 1 and 2 (620 and 630) receiving the predictive variable length information from the process 0 610 start from the point of time indicated by the predicted length information (which can be preset by the user) Perform the decompression to restore the original data.

이때, 병렬적으로 모든 블록이 처리되기 때문에 각 블록들은 순서가 뒤바뀔 수 있다. 하지만, 출력 파일에는 반드시 순차적으로 블록들이 쓰여져야 한다. 따라서, 프로세스 1 및 2(620, 630)을 통해 복원된 원본 데이터는 다시 순서에 맞춰서 파일에 쓰는 역할을 수행하는 프로세스 3(640)로 전송된다. 프로세스 3(640)은 동시에 여러 프로세스로부터 복원된 원본 데이터 값을 수신할 수 있고, 프로세스 3(640)은 각 데이터들의 순서 값을 비교하여 순서대로 출력 파일에 내용을 쓰게 된다. 도 6에서, 프로세스 1(620)은 압축 해제 동작 1을 수행하고 완료된 원본 데이터를 프로세스 3(640)으로 전송한다. 따라서, 프로세스 3(640)은 프로세스 1(620)와의 통신 수행 후, 원본 데이터 1을 출력 파일에 병합한다. 그리고, 압축 해제 2를 수행한 프로세스 2(630)는 동일한 방식으로 프로세스 3(640)으로 원본 데이터 2를 전달하고, 프로세스 3(640)은 프로세스 2(630)와의 통신 수행 후, 원본 데이터 2를 출력 파일에 병합한다.At this time, since all blocks are processed in parallel, each block may be reversed in order. However, blocks must be written sequentially to the output file. Therefore, the original data restored through the processes 1 and 2 (620, 630) is transferred to the process 3 640 which plays back the file in a sequential order. Process 3 640 can receive original data values restored from several processes at the same time, and process 3 640 compares the order values of each data and writes the contents to the output file in order. In FIG. 6, process 1 620 performs decompression operation 1 and sends the completed original data to process 3 640. Thus, process 3 640 merges the original data 1 into the output file after communicating with process one 620. Process 2 630 that has performed decompression 2 transfers original data 2 to process 3 640 in the same manner and process 3 640 transfers original data 2 after performing communication with process 2 630 Merge to output file.

본 발명의 다른 실시예에 따르면, 프로세스 3(640)은 파일에 원본 내용을 쓰기 전에 예측 가변 길이 값과 실제 압축 해제를 수행 후 길이 값을 비교할 수 있다. 만약, 두 값이 같다면, 정확히 예측된 것이므로, 파일에 원본 데이터를 쓰게 되고, 만약 틀리다면, 그 값은 버려지게 되고, 실제 압축 해제 후, 구해진 가변 길이 정보를 가지고 나머지 작업을 수행하게 된다. 이렇게 하여 잘못된 예측 값에 대해서도 정확하게 출력 파일을 복원할 수 있다. According to another embodiment of the present invention, process 3 640 may compare the predicted variable length value with the length value after performing the actual decompression before writing the original content to the file. If the two values are the same, the original data is written to the file because it is exactly what was predicted, and if it is wrong, the value is discarded and the rest of the work is done with the variable length information obtained after the actual decompression. In this way, the output file can be restored accurately even for erroneous predicted values.

본 발명의 또 다른 실시예에 따르면, 각각의 프로세스들은 서로 통신하고, 통신 오버헤드가 최소화되도록 동작할 수 있다.According to another embodiment of the present invention, each of the processes may communicate with each other and operate to minimize communication overhead.

도 7은 본 발명의 일 실시예에 따른 압축 해제 장치가 임베디드 시스템처럼 제한된 코어 수와 메모리 용량을 고려하였을 때의 최적화 모델을 나타낸 도면이다. 제한된 코어를 가지는 환경에서는 따로 하나의 프로세스(도 6에서는 프로세스 3(640))가 파일 쓰기를 수행하기보다는 상기 프로세스도 압축 해제 작업을 수행하게 하고, 각자 프로세스에서 파일 쓰기를 하는 것이 성능 측면에서 유리할 수 있다. 즉, 코어 수와 메모리 용량이 제한된 임베디드 환경에서는 통신 자원 및 메모리 자원이 부족하기 때문에, 통신 오버헤드를 줄여야 하고, 최소한의 메모리 사용으로 압축 해제 동작을 수행하여야 한다. 7 is a diagram illustrating an optimization model when a decompression apparatus according to an embodiment of the present invention takes into account a limited number of cores and a memory capacity as in an embedded system. In an environment having a limited core, it is advantageous from the standpoint of performance to write a file in each process, rather than one file (step 3 640 in FIG. 6) . That is, in an embedded environment where the number of cores and the memory capacity is limited, communication and memory resources are insufficient, so communication overhead must be reduced and a decompression operation must be performed using a minimum amount of memory.

도 7을 참조하면, 프로세스 0(710)은 도 6의 그것(610)과 동일하게 스캔 동작 및 예측 길이 정보를 다른 프로세스에 전달하는 역할을 수행한다. 그리고, 다른 프로세스(720, 730, 740)는 모두 프로세스 0(710)으로부터 수신한 예측 길이 정보에 따라 압축 해제 동작을 수행하고 순서에 맞게 직접 출력 파일에 쓰는 동작까지 수행한다. 즉, 프로세스 간 통신이 임베디드 환경에서는 상대적으로 느리므로, 압축 해제 후의 원본 데이터를 각자 프로세스에서 유지하고 있고, 프로세스 간 공유 메모리 토큰을 두어 이 토큰을 주고 받으면서 순차적으로 파일을 쓰는 방식을 사용할 수 있다. Referring to FIG. 7, process 0 (710) carries the role of transferring scan operation and predicted length information to another process in the same manner as it (610) of FIG. The other processes 720, 730, and 740 perform decompression operations in accordance with the predicted length information received from the process 0 710, and also perform an operation of writing to the direct output file in accordance with the order. In other words, since interprocess communication is relatively slow in the embedded environment, the original data after decompression is maintained in each process, and a shared memory token is interposed between processes, and the file is written sequentially while exchanging the token.

상술한 본 발명에 따른 압축 해제 방법 및 장치는 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.The decompression method and apparatus according to the present invention can be embodied as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording media storing data that can be decoded by a computer system. For example, there may be a ROM (Read Only Memory), a RAM (Random Access Memory), a magnetic tape, a magnetic disk, a flash memory, an optical data storage device and the like. The computer-readable recording medium may also be distributed and executed in a computer system connected to a computer network and stored and executed as a code that can be read in a distributed manner.

이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the inventions as defined by the following claims It will be understood that various modifications and changes may be made thereto without departing from the spirit and scope of the invention.

Claims (19)

압축된 파일 또는 스트림의 가변 길이 부호화와 관련된 부호화 길이 정보를 예측하는 단계;
상기 예측된 부호화 길이 정보를 기반으로 상기 압축 파일 또는 스트림을 압축 블록 단위로 분리하는 단계; 및
상기 분리된 압축 블록을 병렬화하여 압축 해제하는 단계를 포함하되, 상기 부호화 길이 정보 예측 단계는
상기 압축된 파일 또는 스트림에서 특정 패턴과 압축 블록의 길이 정보를 매칭하는 패턴 매칭을 수행하여 상기 부호화 길이 정보를 예측하는 제 1 모드; 및
상기 압축된 파일 또는 스트림을 부분적으로 압축 해제하여 상기 부분 압축 해제된 내용을 기반으로 상기 부호화 길이 정보를 예측하는 제 2 모드 중 적어도 하나의 모드를 수행하는 단계를 포함하는 것을 특징으로 하는 압축 해제 방법.
Predicting coding length information associated with variable length coding of a compressed file or stream;
Separating the compressed file or stream on a compressed block basis based on the predicted encoding length information; And
And decompressing and decompressing the separated compressed blocks, wherein the encoding length information prediction step comprises:
A first mode for predicting the encoding length information by performing pattern matching in the compressed file or stream to match length information of a specific pattern and a compressed block; And
And a second mode of partially decompressing the compressed file or stream to predict the encoding length information based on the partially decompressed content. .
삭제delete 제 1 항에 있어서, 상기 부호화 길이 정보 예측 단계는
상기 압축 블록의 헤더의 길이가 길거나 상기 헤더를 나타내는 특정한 비트가 있는 경우, 상기 제 1 모드를 수행하도록 결정하는 단계; 및
상기 결정된 제 1 모드를 수행하는 단계를 포함하는 것을 특징으로 하는 압축 해제 방법.
2. The method of claim 1, wherein the encoding length information prediction step
Determining to perform the first mode if the length of the header of the compressed block is long or if there is a specific bit indicating the header; And
And performing said determined first mode. ≪ Desc / Clms Page number 22 >
제 1 항에 있어서, 상기 부호화 길이 정보 예측 단계는
상기 압축된 파일 또는 스트림이 gzip, bzip2 또는 H.264를 포함하는 비디오 압축 표준에 의해 압축된 경우, 상기 제 1 모드를 수행하도록 결정하는 단계; 및
상기 결정된 제 1 모드를 수행하는 단계를 포함하는 것을 특징으로 하는 압축 해제 방법.
2. The method of claim 1, wherein the encoding length information prediction step
Determining to perform the first mode if the compressed file or stream is compressed by a video compression standard comprising gzip, bzip2 or H.264; And
And performing said determined first mode. ≪ Desc / Clms Page number 22 >
제 1 항에 있어서, 상기 제 2 모드 수행 단계는
상기 압축 블록의 부호화 길이 정보를 유추하는데 필요한 정보가 나타날 때까지 상기 압축된 파일 또는 스트림에 대해 부분 압축 해제를 수행하는 단계를 포함하는 것을 특징으로 하는 압축 해제 방법.
2. The method of claim 1, wherein the performing of the second mode comprises:
And performing partial decompression on the compressed file or stream until information necessary to infer the encoding length information of the compressed block appears.
제 1 항에 있어서, 상기 제 2 모드 수행 단계는
상기 압축된 파일 또는 스트림을 부분 압축 해제하여 압축시 특정 데이터의 비트 정보 관련 테이블 정보를 획득하는 단계;
상기 테이블 정보에서 상기 부호화 길이 정보를 예측하는 단계를 포함하는 것을 특징으로 하는 압축 해제 방법.
2. The method of claim 1, wherein the performing of the second mode comprises:
Decompressing the compressed file or stream to obtain bit information related table information of specific data upon compression;
And predicting the encoding length information from the table information.
제 1 항에 있어서, 상기 부호화 길이 정보 예측 단계는
상기 압축 블록의 헤더의 길이가 짧거나 또는 특정 헤더를 나타내는 비트가 존재하지 않는 경우, 상기 제 2 모드를 수행하도록 결정하는 단계; 및
상기 결정된 제 2 모드를 수행하는 단계를 포함하는 것을 특징으로 하는 압축 해제 방법.
2. The method of claim 1, wherein the encoding length information prediction step
Determining to perform the second mode if the length of the header of the compressed block is short or if there is no bit indicating a particular header; And
And performing the determined second mode. ≪ Desc / Clms Page number 22 >
제 1 항에 있어서,
상기 부호화 길이 정보는 상기 압축 블록의 시작점 또는 끝점 정보이고,
상기 압축 블록 생성 단계는 상기 시작점 또는 끝점 정보를 이용하여 상기 압축 파일을 분리하는 단계를 포함하는 것을 특징으로 하는 압축 해제 방법.
The method according to claim 1,
Wherein the encoding length information is start or end point information of the compressed block,
Wherein the compressing block generating step comprises the step of separating the compressed file using the starting point information or the end point information.
제 1 항에 있어서, 상기 압축 해제 단계는
상기 예측된 부호화 길이 정보와 실제 길이 정보가 일치하지 않는 경우, 잘못된 길이 정보를 가지고 압축 해제된 값은 버리고, 실제 길이 정보를 가지고 나머지 부분에 대한 압축해제를 재수행하는 단계를 포함하는 것을 특징으로 하는 해제 방법.
2. The method of claim 1, wherein the decompressing step
If the predicted encoding length information does not match the actual length information, discarding the decompressed value with erroneous length information, and re-executing decompression for the remaining portion with the actual length information How to release.
압축된 파일 또는 스트림의 가변 길이 부호화와 관련된 부호화 길이 정보를 예측하는 길이 정보 예측부;
상기 예측된 부호화 길이 정보를 기반으로 상기 압축 파일 또는 스트림을 압축 블록 단위로 분리하는 분리부; 및
상기 분리된 압축 블록을 병렬화하여 압축 해제하는 압축 해제부를 포함하되, 상기 길이 정보 예측부는
상기 압축된 파일 또는 스트림에서 특정 패턴과 압축 블록의 길이 정보를 매칭하는 패턴 매칭을 수행하여 상기 부호화 길이 정보를 예측하는 제 1 모드; 및
상기 압축된 파일 또는 스트림을 부분적으로 압축 해제하여 상기 부분 압축 해제된 내용을 기반으로 상기 부호화 길이 정보를 예측하는 제 2 모드 중 적어도 하나의 모드를 수행하는 것을 특징으로 하는 압축 해제 장치.
A length information predicting unit for predicting coding length information associated with variable length coding of a compressed file or a stream;
A separator for separating the compressed file or the stream into compressed block units based on the predicted encoding length information; And
And a decompression unit for parallelizing and decompressing the separated compressed block, wherein the length information prediction unit
A first mode for predicting the encoding length information by performing pattern matching in the compressed file or stream to match length information of a specific pattern and a compressed block; And
And a second mode for partially decompressing the compressed file or the stream to predict the encoding length information based on the partially decompressed contents.
압축된 파일 또는 스트림의 부호화 길이 정보를 예측하여 상기 부호화 길이 정보를 기반으로 상기 압축된 파일 또는 스트림을 압축 블록 단위로 병렬적으로 압축 해제하는 적어도 하나의 압축 해제부를 포함하되,
상기 적어도 하나의 압축 해제부는 상기 예측된 부호화 길이 정보를 기반으로 압축 블록을 압축 해제하고 압축 해제된 원본 데이터를 다시 순서를 맞춰서 최종 파일에 쓰고, 상기 적어도 하나의 압축 해제부는
상기 예측된 부호화 길이 정보를 실제 압축 해제를 수행하는 제 2 압축 해제부에 전달하는 제 1 압축 해제부;
상기 제 1 압축 해제부로부터 상기 부호화 길이 정보를 수신하고 상기 부호화 길이 정보를 기반으로 압축 블록을 압축 해제하여 원본 데이터를 복원하는 병렬로 배치된 복수의 제 2 압축 해제부; 및
상기 제 2 압축 해제부로부터 원본 데이터를 수신하여 각 수신된 데이터들의 순서 값을 비교하여 순서를 맞춰서 상기 최종 파일에 쓰는 제 3 압축 해제부를 포함하는 것을 특징으로 하는 압축 해제 장치.
And at least one decompression unit for predicting encoding length information of a compressed file or a stream and decompressing the compressed file or stream in units of compressed blocks based on the encoding length information,
Wherein the at least one decompression unit decompresses the compressed block based on the predicted encoding length information and rewrites the decompressed original data into a final file,
A first decompression unit for delivering the predicted encoding length information to a second decompression unit for performing decompression;
A plurality of second decompression units arranged in parallel for receiving the encoding length information from the first decompression unit and restoring original data by decompressing the compression block based on the encoding length information; And
And a third decompression unit which receives the original data from the second decompression unit, compares the order values of the received data, and writes the order data in the final file.
삭제delete 제 11 항에 있어서, 상기 제 3 압축 해제부는
상기 수신된 원본 데이터를 통한 압축 해제 실제 길이와 상기 예측된 부호화 길이 값을 비교하여 두 값이 서로 다른 경우, 상기 예측된 부호화 길이 값을 통해 압축 해제한 값을 버리고, 실제 압축 해제 후 구해진 길이 정보를 가지고 나머지 부분에 압축 해제를 수행하도록 제어하는 것을 특징으로 하는 압축 해제 장치.
12. The apparatus of claim 11, wherein the third decompression unit
Comparing the decompressed actual length with the predicted encoding length value through the received original data, discarding the decompressed value based on the predicted encoding length value when the two values are different from each other, And to perform decompression in the remaining portion.
제 11 항에 있어서,
상기 제 1, 제 2 및 제 3 압축 해제부는 서로 통신하고, 서로 간의 통신 오버헤드가 최소화되도록 압축 해제를 수행하는 것을 특징으로 하는 압축 해제 장치.
12. The method of claim 11,
Wherein said first, second and third decompression units communicate with each other and perform decompression to minimize communication overhead between each other.
압축된 파일 또는 스트림의 부호화 길이 정보를 예측하여 상기 부호화 길이 정보를 기반으로 상기 압축된 파일 또는 스트림을 압축 블록 단위로 병렬적으로 압축 해제하는 적어도 하나의 압축 해제부를 포함하되,
상기 적어도 하나의 압축 해제부는 상기 예측된 부호화 길이 정보를 기반으로 압축 블록을 압축 해제하고 압축 해제된 원본 데이터를 다시 순서를 맞춰서 최종 파일에 쓰고, 상기 적어도 하나의 압축 해제부는
상기 예측된 부호화 길이 정보를 실제 압축 해제를 수행하는 제 2 압축 해제부에 전달하는 제 1 압축 해제부; 및
상기 제 1 압축 해제부로부터 상기 부호화 길이 정보를 수신하고 상기 부호화 길이 정보를 기반으로 압축 블록을 압축 해제하여 원본 데이터를 복원하는 병렬로 배치된 복수의 제 2 압축 해제부를 포함하되,
상기 복수의 제 2 압축 해제부는 각각 원본 데이터들의 순서 값을 비교하여 순서를 맞춰서 직접 상기 최종 파일에 쓰는 것을 특징으로 하는 압축 해제 장치.
And at least one decompression unit for predicting encoding length information of a compressed file or a stream and decompressing the compressed file or stream in units of compressed blocks based on the encoding length information,
Wherein the at least one decompression unit decompresses the compressed block based on the predicted encoding length information and rewrites the decompressed original data into a final file,
A first decompression unit for delivering the predicted encoding length information to a second decompression unit for performing decompression; And
And a plurality of second decompression units arranged in parallel for receiving the encoding length information from the first decompression unit and restoring original data by decompressing the compression block based on the encoding length information,
Wherein the plurality of second decompression units compares the order values of the original data and writes them in the final file directly in accordance with the order.
제 15 항에 있어서, 상기 복수의 제 2 압축 해제부는
각각 압축 해제 후 원본 데이터를 각각 자체적으로 유지하고 있다가, 상기 복수의 제 2 압축 해제부 간의 공유 메모리 토큰을 설정하여 토큰을 주고 받으면서 순차적으로 상기 최종 파일에 원본 데이터를 쓰는 것을 특징으로 하는 압축 해제 장치.
16. The apparatus of claim 15, wherein the plurality of second decompressors
Wherein each of the plurality of second decompression units stores the original data after decompression and sets the shared memory token among the plurality of second decompression units and writes the original data to the final file sequentially while exchanging the tokens. Device.
제 15 항에 있어서,
상기 압축 해제 장치는 메모리 자원 및 프로세서 코어가 부족한 환경에서 사용되는 것을 특징으로 하는 압축 해제 장치.
16. The method of claim 15,
Wherein the decompression device is used in an environment in which memory resources and a processor core are insufficient.
압축된 파일 또는 스트림의 부호화 길이 정보를 예측하여 상기 부호화 길이 정보를 기반으로 상기 압축된 파일 또는 스트림을 압축 블록 단위로 병렬적으로 압축 해제하는 압축 해제 단계를 포함하되,
상기 압축 해제 단계는 상기 예측된 부호화 길이 정보를 기반으로 압축 블록을 압축 해제하고 압축 해제된 원본 데이터를 다시 순서를 맞춰서 최종 파일에 쓰는 단계를 포함하고, 상기 압축 해제 단계는
상기 예측된 부호화 길이 정보를 실제 압축 해제를 수행하는 압축 해제 수단에 전달하는 단계;
상기 부호화 길이 정보를 수신하고 상기 부호화 길이 정보를 기반으로 압축 블록을 압축 해제하여 원본 데이터를 복원하는 단계; 및
상기 원본 데이터를 수신하여 각 수신된 데이터들의 순서 값을 비교하여 순서를 맞춰서 상기 최종 파일에 쓰는 단계를 포함하는 것을 특징으로 하는 압축 해제 방법.

And a decompression step of estimating encoding length information of the compressed file or stream and decompressing the compressed file or stream in units of compressed blocks based on the encoding length information,
Decompressing the compressed block based on the predicted encoding length information and re-ordering decompressed original data and writing the decompressed original data to a final file,
Transmitting the predicted encoded length information to decompression means for performing actual decompression;
Receiving the encoded length information and decompressing the compressed block based on the encoded length information to recover original data; And
Receiving the original data, comparing the order values of the received data, and writing the data in the final file in an orderly manner.

삭제delete
KR1020120152140A 2012-12-24 2012-12-24 Decompression method and apparatus KR101418540B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120152140A KR101418540B1 (en) 2012-12-24 2012-12-24 Decompression method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120152140A KR101418540B1 (en) 2012-12-24 2012-12-24 Decompression method and apparatus

Publications (2)

Publication Number Publication Date
KR20140084371A KR20140084371A (en) 2014-07-07
KR101418540B1 true KR101418540B1 (en) 2014-07-16

Family

ID=51734252

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120152140A KR101418540B1 (en) 2012-12-24 2012-12-24 Decompression method and apparatus

Country Status (1)

Country Link
KR (1) KR101418540B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1056641A (en) * 1996-08-09 1998-02-24 Sharp Corp Mpeg decoder

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1056641A (en) * 1996-08-09 1998-02-24 Sharp Corp Mpeg decoder

Also Published As

Publication number Publication date
KR20140084371A (en) 2014-07-07

Similar Documents

Publication Publication Date Title
US11595055B2 (en) Methods and apparatus to parallelize data decompression
CN102939719B (en) For the method and apparatus reducing source in binary system entropy code and decoding
TWI539793B (en) Decoder and method for decoding run-length-encoded data
JP2006211621A (en) Data compression device and data decompression device
US20180287630A1 (en) Techniques for data compression verification
US9326011B2 (en) Method and apparatus for generating bitstream based on syntax element
US9083977B2 (en) System and method for randomly accessing compressed data from memory
JP6009676B2 (en) Data compression device and data decompression device
WO2013079999A1 (en) Methods and devices for encoding and decoding messages
JP2005065168A (en) Image compression apparatus and image compression method
JP2007537642A (en) Method and apparatus for compression and decompression of structured block unit of XML data
KR101539260B1 (en) Apparatus and method for lossless coding and decoding image selectively
KR101418540B1 (en) Decompression method and apparatus
US20230132037A1 (en) Storage system and data processing method in storage system
EP2259432A1 (en) Variable-length code decoding apparatus and method
JP2021174472A (en) Storage system
CN107770558B (en) JPEG image decoding method, system, device and readable storage medium
US20080175312A1 (en) Method and system of compressing and decompressing data
KR101174598B1 (en) Apparatus for generating compression file using lossless data compression algorism and method thereof
JP2014116835A (en) Decoding device, encoding device, decoding method and encoding method
JP4188375B2 (en) Data compression system, data decompression system, data compression program, and data decompression program
JP2017153124A (en) Decoding device and decoding method
KR20180029448A (en) Processor and data processing method thereof
JP2013211643A (en) Compression method, restoration method, and information processing device and program

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180820

Year of fee payment: 5