KR20070105919A - 데이터 프로세서 및 데이터 프로세스 방법 - Google Patents

데이터 프로세서 및 데이터 프로세스 방법 Download PDF

Info

Publication number
KR20070105919A
KR20070105919A KR20070040946A KR20070040946A KR20070105919A KR 20070105919 A KR20070105919 A KR 20070105919A KR 20070040946 A KR20070040946 A KR 20070040946A KR 20070040946 A KR20070040946 A KR 20070040946A KR 20070105919 A KR20070105919 A KR 20070105919A
Authority
KR
South Korea
Prior art keywords
bit
array
sequence
processor
block
Prior art date
Application number
KR20070040946A
Other languages
English (en)
Other versions
KR100875860B1 (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 KR20070105919A publication Critical patent/KR20070105919A/ko
Application granted granted Critical
Publication of KR100875860B1 publication Critical patent/KR100875860B1/ko

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/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
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

데이터 프로세서는 8 비트 이상의 여유 공간이 있으면, 저장부에 저장된 비트 스트림을 판독하여 제 1 어레이 변경기로 출력하는 판독기, PNG 비트 스트림에 관해 역방향 시퀀스로 8 비트 어레이 시퀀스를 변경하지만 JPEG 비트 스트림에 관해 어레이 시퀀스를 변경하지 않는 제 1 어레이 변경기, 버퍼로부터 제 2 프로세서로의 8 비트 고정 길이 데이터를 판독할 때, PNG 의 경우에는 8 비트 어레이 시퀀스를 더 변경하여 출력하지만, JPEG 의 경우에는 그대로 출력하는 제 2 어레이 변경기, 및 버퍼로부터의 각각의 10 비트에 의해 VLC 비트를 판독하는 제 1 프로세서를 포함한다.
VLC, 고정 길이 데이터, 어레이 변경기, PNG, JPEG

Description

데이터 프로세서 및 데이터 프로세스 방법{DATA PROCESSOR AND DATA PROCESS METHOD}
도 1 은 본 발명의 원리를 설명하는 데이터 프로세싱 시스템을 도시한 블록도.
도 2 는 도 1 의 데이터 프로세싱 시스템에서 제 1 어레이 변경기 및 제 2 어레이 변경기의 동작을 설명하는 도면.
도 3 은 본 발명의 일 실시형태에 따른 데이터 프로세싱 시스템의 구성을 도시한 블록도.
도 4 는 도 3 의 데이터 프로세싱 시스템에서 디코더의 구성을 도시한 도면.
도 5 는 도 3 의 데이터 프로세싱 시스템에서 제어기 및 디코더의 프로세스를 나타내는 흐름도.
도 6 은 도 4 의 디코더에서 판독기의 프로세스를 나타내는 흐름도.
도 7 은 고정 길이 데이터의 일부에 관한 프로세스를 나타내는 흐름도.
도 8 은 데이터 블록 간의 경계를 도시한 도면.
도 9 는 고정 길이 데이터에 관해 수행되는 프로세스를 설명하는 도면.
도 10 은 VLC 부분에 관한 프로세스를 나타내는 흐름도.
도 11 은 VLC 에 관해 수행되는 프로세스를 설명하는 도면.
도 12 는 도 4 의 디코더 내의 시프터 (shifter) 의 프로세스를 나타내는 흐름도.
도 13 은 JPEG 포맷을 도시한 도면.
도 14 는 JPEG 및 PNG 의 비트 어레이 시퀀스에서의 차이를 설명하는 도면.
* 도면의 주요 부분에 대한 부호의 설명 *
10, 110 : 저장부
20, 120 : 판독기
30 : 제 1 어레이 변경기
40, 140 : 버퍼
50 : 제 1 프로세서
60 : 제 2 어레이 변경기
70 : 제 2 프로세서
80 : 스트림 프로세서
90, 190 : 제어기
100, 200 : 데이터 프로세싱 시스템
130 : 제 1 비트 스와퍼
148 : 시프터
150 : VLC 프로세서
160 : 제 2 비트 스와퍼
170 : 고정 길이 데이터
180 : 디코더
본 발명은 데이터 프로세스에 관한 것으로, 상세하게는, 상이한 비트 어레이 시퀀스의 비트 스트림을 공통으로 프로세싱하는 기술에 관한 것이다.
디지털 이미지 데이터는 최근 몇 년간 본격적으로 사용되어 왔다. 이미지 데이터를 저장하는 저장 매체에서 용량을 절약하고, 이미지 데이터를 전송하는 시간을 감소시키는 것이 요구되기 때문에, 일반적으로 이미지 데이터는 전송 및 저장시에 인코딩에 의해 압축되고, 재생시에 디코딩된다.
이미지 데이터의 압축 표준으로서, JPEG (Jonint Photographic Experts Group) 이 널리 공지되어 있다. JPEG 에 기초한 이미지 포맷은 웹 페이지, 디지털 카메라 및 DVD (Digital Versatile Disk) 에 널리 사용된다.
JPEG 압축 데이터를 재생하기 위해, 압축된 데이터인 비트 스트림은 저장 매체로부터 판독되어, 그로부터 호프만 코드를 취출한다. 취출된 호프만 코드는 디코더로 입력되어, 디코더에 의해 디코딩된다 (일본 미심사 특허출원 공개번호 ㅍ평-11-261424 호 참조).
도 13 은 JPEG 포맷을 도시한 도면이다. 도 13 에 도시된 바와 같이, JPEG 스트림은 복수의 8 비트의 비트 블록에 의해 형성되며, 시작부에 포함되는 하나 이상의 8 비트 고정 길이 데이터 비트 블록 다음에 가변 길이 (VLC) 부분의 비 트 블록이 온다. VLC 부분에서의 비트 블록의 수는 VLC 의 코드 길이에 하나 이상 대응한다. VLC 부분에서의 마지막 비트 블록의 끝에 패딩 (padding) 비트가 포함되어 있으며, 패딩 비트는, 고정 길이 데이터를 수반하는 고정 길이 데이터 비트 블록의 시작부를 스트림의 8 비트 경계에 정렬하기 위해 삽입되는 무효 비트이다. 그 비트 수는 0 내지 7 이다.
JPEG 포맷 이외에, PNG (휴대 네트워크 그래픽) 가 최근 몇 년간 널리 사용되어 왔다. PNG 의 구조는 도 13 에 도시된 JPEG 포맷과 상당히 유사하다.
이들 두 종류의 이미지 포맷은 차세대 DVD 에 관한 표준인 HD DVD (고해상도 DVD) 및 블루-레이 디스크에 사용되며, 그 표준은 양 포맷이 결합되는 것을 허용한다.
그런 배경에 의해, JPEG 및 PNG 이미지 포맷 모두를 지원하는 재생 장치가 요구된다. 그런 재생 장치에서, JPEG 포맷과 PNG 포맷 간의 유사성에 비추어서, 재생 장치의 사이즈를 감소시키고, 단일 재생 장치에 의해 JPEG 및 PNG 포맷 의 이미지 모두를 재생함으로써 생산 비용을 감소시키는 것이 바람직하다.
예를 들어, JPEG 비트 스트림 내의 VLC 부분과 같이, PNG 의 VLC 부분도 호프만 코드이며, 따라서, PNG 및 JPEG 의 VLC 에 관한 인코딩 방법은 기본적으로 동일하다. 따라서, JPEG 및 PNG 비트 스트림 내의 VLC 부분을 공통으로 프로세싱하는 장치가 고려될 수 있다.
도 14 에 도시된 방법에 의해, JPEG 및 PNG 비트 스트림의 8 비트 고정 길이 데이터 블록에서의 비트 스트림은 동일하지만, VLC 블록에서의 비트 시퀀스는 상이하다.
따라서, JPEG 및 PNG 의 비트 스트림 내의 VLC 부분을 프로세싱하는 장치를 결합하기 위해, VLC 블록 모두의 비트 어레이 시퀀스는 VLC 프로세서로 입력되기 전에 정렬될 필요가 있다. 그러나, 이를 달성하기 위해 비트 스트림의 판독 제어는 복잡해진다는 것이 발견되었다.
본 발명의 일 양태에 의하면, 복수의 비트 블록으로 형성되는 비트 스트림에 대한 각각의 비트 블록에 관해 역방향 시퀀스로 비트 어레이 시퀀스를 변경하는 제 1 어레이 변경기, 제 1 어레이 변경기에 의해 변경되는 비트 어레이 시퀀스를 갖는 비트 블록을 일시적으로 저장하는 버퍼, 및 그 버퍼의 어레이 시퀀스에서 소정의 프로세싱 단위인 각각의 비트 수 단위로 제 1 프로세서에 의해 프로세싱되는 비트 블록에 포함된 비트를 판독하는 제 1 프로세서를 포함하는 데이터 프로세서가 제공된다.
"비트 블록" 은 비트 스트림의 기본 구조 단위를 지칭한다. JPEG 또는 PNG 에 관한 표준에 따라, 비트 스트림은 8 비트의 비트 블록에 의해 형성된다.
방법, 시스템, 또는 프로그램으로 대체되는 상술한 장치는 본 발명의 실시형태로서 유효하다.
본 발명의 데이터 프로세서에 의하면, 상이한 비트 어레이 시퀀스를 갖는 비트 스트림을 프로세싱하는 장치를 공통으로 사용할 수 있고, 또한 그 프로세싱 장 치로의 데이터 공급을 단순화할 수 있다.
본 발명의 다른 목적, 이점, 및 특징은 첨부한 도면에 관한 다음의 설명으로부터 더 명백해질 것이다.
바람직한 실시형태의 설명
이하, 본 발명은 예시적인 실시형태를 참조하여 여기에서 설명될 것이다. 당업자는 다른 많은 실시형태가 본 발명의 교시를 사용하여 달성될 수 있으며, 본 발명이 설명 목적으로 예시된 실시형태로 제한되지 않는다는 것을 인식할 것이다.
본 발명의 특정 실시형태를 설명하기 전에, 본 발명에 따른 데이터 프로세스 기술의 원리는 일 실시예로써 도 1 의 데이터 프로세싱 시스템 (100) 에 의해 상세히 후술된다.
도 1 에 도시된 데이터 프로세싱 시스템 (100) 은 인코딩된 이미지 데이터 (이하, 인코딩된 이미지 데이터는 비트 스트림으로서 지칭됨) 를 디코딩하는 실시예이고, 저장부 (10), 스트림 프로세서 (80) 및 제어기 (90) 를 포함한다. 저장부 (10) 는 비트 스트림을 저장하고, 스트림 프로세서 (80) 는 저장부 (10) 에 저장된 비트 스트림을 디코딩한다. 제어기 (90) 는 스트림 프로세서 (80) 를 제어한다.
다양한 프로세스를 수행하는 기능 블록으로서 도 1 에 도시된 데이터 프로세싱 시스템 (100) 의 각각의 컴포넌트는 하드웨어로서 프로세서, 메모리, 및 다른 LSI 로 구성될 수도 있다. 이들은, 소프트웨어로서, 메모리에 로딩된 프로그램에 의해 실현될 수도 있다. 따라서, 당업자는 기능 블록이 단지 하드웨어, 소 프트웨어 또는 이들의 조합에 의해 실현될 수 있으며, 그들 중 어느 것으로도 제한되지 않는다는 것을 이해할 것이다.
스트림 프로세서 (80) 는 판독기 (20), 제 1 어레이 변경기 (30), 버퍼 (40), 제 1 프로세서 (50), 제 2 어레이 변경기 (60) 및 제 2 프로세서 (70) 를 포함한다. 데이터 프로세싱 시스템 (100) 은 비트 어레이 시퀀스의 일부가 서로 다른 몇몇 타입의 비트 스트림을 지원할 수 있다. 예를 들어, 도 14 의 JPEG 및 PNG 비트 스트림에서와 같이 VLC 부분 및 고정 길이 데이터 부분을 갖는 비트 스트림은 데이터 프로세싱 시스템 (100) 에 의해 프로세싱될 수 있을 것이다. 또한, 2 가지 타입의 부분은 각각 제 1 프로세서 (50) 및 제 2 프로세서 (70) 에 의해 프로세싱된다. 이하, 제 1 프로세서 (50) 에 의해 프로세싱되는 부분은 부분 A 라고 지칭하고, 제 2 프로세서 (70) 에 의해 프로세싱되는 부분은 부분 B 라고 지칭한다. 도 14 에 도시된 실시예에서, (패딩 비트를 포함한) VLC 부분은 부분 A 라고 지칭하며, 고정 길이 부분은 부분 B 라고 지칭한다.
판독기 (20) 는 비트 스트림 내에 포함되는 각각의 비트 블록 단위로 저장부 (10) 로부터 비트 스트림을 판독하여, 그 비트 블록을 제 1 어레이 변경기 (30) 로 출력한다. 예를 들어, 비트 블록에서의 비트 수가 n 비트라면, 비트 블록은 각각의 n 비트 단위로 판독된다. JPEG 및 PNG 비트 스트림에 관해, 비트 블록에서의 비트 수는 8 이며, 따라서 8 비트 단위로 판독된다.
제 1 어레이 변경기 (30) 는 제어기 (90) 에 의한 제어 (세부사항은 상세히 후술됨) 따라 역방향 시퀀스로 판독기 (20) 로부터 출력되는 n 비트의 어레이 시퀀 스를 변경하여 (이하, 어레이 시퀀스를 역방향 시퀀스로 변경하는 것은 스와핑이라고 지칭함) 버퍼 (40) 로 출력하거나, 그대로 출력한다.
버퍼 (40) 는 FIFO (선입 선출) 이고, 선입 선출 원리 하에서, 데이터가 부분 A 에 있다면, 버퍼 (40) 에 일시적으로 저장된 데이터는 제 1 프로세서 (50) 로 출력되거나, 데이터가 부분 B 에 있다면, 제 2 어레이 변경기 (60) 를 통해 제 2 프로세서 (70) 로 출력된다.
제 1 프로세서 (50) 는 비트 스트림의 부분 A 를 프로세싱한다. 제 2 어레이 변경기 (60) 는 제어기 (90) 에 의한 제어에 따라 버퍼 (40) 로부터 출력되는 부분 B 의 n 비트를 스와핑하고, 그 후 제 2 프로세서 (70) 로 출력하거나, 그대로 출력한다.
제 2 프로세서 (70) 는 제 2 어레이 변경기 (60) 로부터 출력되는 비트 스트림의 부분 B 를 프로세싱한다.
이하, 제어기 (90) 를 상세히 설명할 것이다. 제어기 (90) 는 2 가지 타입의 제어를 수행한다. 하나는 제 1 어레이 변경기 (30) 및 제 2 어레이 변경기 (60) 에 의해 비트 어레이 시퀀스를 변경할지 여부를 제어한다. 또 다른 하나는 버퍼 (40) 의 시작부가 다음에 프로세싱될 비트 블록의 시작부가 되도록 버퍼 (40) 의 콘텐츠를 시프팅하는 시프터 (미도시) 의 제어이다.
상술한 바와 같이, 데이터 프로세싱 시스템 (100) 은 비트 어레이 시퀀스의 일부가 서로 다른 몇몇 타입의 비트 스트림을 지원할 수 있다. 이들 비트 스트림에 관해, 제 1 프로세서 (50) 는 부분 A 를 프로세싱하는데 공통으로 사용되고, 제 2 프로세서 (70) 는 부분 B 를 프로세싱하는데 공통으로 사용된다. 따라서 제 1 프로세서 (50) 및 제 2 프로세서 (70) 에 의한 프로세스 순서로 비트 스트림 내의 부분 A 및 부분 B 의 비트 어레이 시퀀스를 정렬하는 것이 요구된다. 제어기 (90) 는 비트 스트림의 타입에 따라 제 1 어레이 변경기 (30) 및 제 2 어레이 변경기 (60) 를 제어하여, 비트 어레이 시퀀스를 정렬한다.
도 2 를 참조하여, 제어기 (90) 가 취할 수 있는 4 가지 타입의 제어 패턴 및 각각의 제어 패턴에 의한 비트 스트링의 어레이 시퀀스 변경은 이하 제 1 어레이 변경기 (30) 및 제 2 어레이 변경기 (60) 의 동작에 의해 상세히 설명된다. 도 2 에서, "온" 및 "오프" 는 각각 "변경" 및 "변경 없음" 을 지칭한다.
도 2 의 상부는 저장부 (10) 에 저장된 스트림의 원래의 어레이 시퀀스이다. 비트 스트림은 판독기 (20) 에 의해 어레이 시퀀스로 판독되고, 제 1 어레이 변경기 (30) 로 입력된다. 또한, 비트 스트림이 버퍼 (40) 에 저장된 후에, 부분 A 는 제 1 프로세서 (50) 에 입력되고, 부분 B 는 제 2 어레이 변경기 (60) 를 통해 제 2 프로세서 (70) 로 입력된다.
도 2 의 좌측 열은 제어 패턴을 도시한 것이며, 도 2 의 우측 열은 각각의 제어 패턴에 의해, 제 1 프로세서 (50) 로 입력되는 부분 A 내의 비트 어레이 상태 및 제 2 프로세서 (70) 로 입력되는 부분 B 내의 비트 어레이 상태를 도시한 것이다.
도 2 에 도시된 제어 패턴 1 에서, 제 1 어레이 변경기 (30) 및 제 2 어레이 변경기 (60) 모두는 비트 스와핑을 수행하지 않는다. 따라서, 제 1 프로세서 (50) 로 입력되는 데이터 (부분 A) 및 제 2 프로세서 (70) 로 입력되는 데이터 (부분 B) 는 비트 스트링의 원래의 어레이 시퀀스를 갖는다. 이 제어 패턴은 부분 A 및 부분 B 의 비트 어레이 시퀀스가 제 1 프로세서 (50) 및 제 2 프로세서 (70) 에 의한 각각의 프로세스 순서와 동일한 비트 스트림을 지원할 수 있다.
도 2 에 도시된 제어 패턴 2 에서, 제 1 어레이 변경기 (30) 는 비트 스와핑을 수행하지 않지만, 제 2 어레이 변경기 (60) 는 비트 스와핑을 수행한다. 따라서, 제 1 프로세서 (50) 로 입력되는 데이터 (부분 A) 의 비트 어레이 시퀀스는 원래대로 남고, 제 2 프로세서 (70) 로 입력되는 데이터 (부분 B) 의 비트 어레이 시퀀스는 원래 시퀀스와 역방향의 비트 어레이 시퀀스를 갖는다. 이 제어 패턴은 부분 A 의 비트 어레이 시퀀스가 제 1 프로세서 (50) 에 의한 프로세스 순서와 동일하고 부분 B 의 비트 어레이 시퀀스가 제 2 프로세서 (70) 에 의한 프로세스 순서와 반대인 비트 스트림을 지원할 수 있다.
도 2 에 도시된 제어 패턴 3 에서, 제 1 어레이 변경기 (30) 는 비트 스와핑을 수행하지만, 제 2 어레이 변경기 (60) 는 비트 스와핑을 수행하지 않는다. 따라서, 제 1 프로세서 (50) 로 입력되는 데이터 (부분 A) 의 비트 어레이 시퀀스 및 제 2 프로세서 (70) 로 입력되는 데이터 (부분 B) 의 비트 어레이 시퀀스 모두는 원래의 시퀀스와 역방향의 비트 어레이 시퀀스를 갖는다. 제어 패턴은 부분 A 및 부분 B 의 비트 어레이 시퀀스가 제 1 프로세서 (50) 및 제 2 프로세서 (70) 에 의한 프로세스의 순서에 반대인 비트 스트림을 지원할 수 있다.
도 2 에 도시된 제어 패턴 4 에서, 제 1 어레이 변경기 (30) 및 제 2 어레이 변경기 (60) 모두는 비트 스와핑을 수행한다. 따라서, 제 1 프로세서 (50) 로 입력되는 데이터 (부분 A) 의 비트 어레이 시퀀스는 원래의 시퀀스와 역방향의 비트 어레이 시퀀스를 갖으며, 제 2 프로세서 (70) 로 입력되는 데이터 (부분 B) 의 비트 어레이 시퀀스는 원래대로 남는다. 이 제어 패턴은 부분 A 의 비트 어레이 시퀀스는 제 1 프로세서 (50) 에 의한 프로세스 순서에 반대이고, 부분 B 의 비트 어레이 시퀀스는 제 2 프로세서 (70) 에 의한 프로세스 순서와 동일한 비트 스트림을 지원할 수 있다.
상기 개시한 바와 같이, 도 1 에 도시된 데이터 프로세싱 시스템 (100) 에 의해, 제 1 프로세서 (50) 및 제 2 프로세서 (70) 를 공통으로 사용하여 부분 A 또는 부분 B 내의 어레이 시퀀스가 서로 다른 몇몇 타입의 비트 스트림을 프로세싱할 수 있다.
여기에서, 이하, 부분 A 내의 비트 블록의 역방향의 비트 어레이 시퀀스를 갖지만, 부분 B 내의 비트 블록의 동일한 비트 어레이 시퀀스를 갖는 2 가지 타입의 비트 스트림 (타입 1 및 타입 2) 을 프로세싱하는 경우가 고려된다. 예를 들어, 제 1 프로세서 (50) 및 제 2 프로세서 (70) 는 타입 1 비트 스트림 내의 비트 블록의 원래의 비트 어레이 시퀀스와 함께 프로세싱한다. 이 경우에서, 비트 스트림이 저장부 (10) 로부터 판독되어, 제 1 프로세서 (50) 및 제 2 프로세서 (70) 로 직접 공급된다면, 타입 2 비트 스트림의 부분 A 내의 비트 블록의 비트 어레이 시퀀스가 제 1 프로세서 (50) 의 프로세스 순서와 반대이기 때문에, 그 어레이 시퀀스는 판독하는 경우에 조정될 필요가 있다. 한편, 부분 B 에 관해, 어 레이 시퀀스는 조정될 필요가 없다. 따라서, 동일한 비트 스트림에 관해서 조차, 부분 A 및 부분 B 를 판독하는데 상이한 제어가 요구하며, 이에 따라, 제어의 스위칭에 의해 발생하는 데이터 공급에서 레이턴시을 생성한다.
한편, 도면에 도시된 데이터 프로세싱 시스템 (100) 에 의해, 제 1 어레이 변경기 (30) 및 제 2 어레이 변경기 (60) 의 결합에 의해, 부분 A 및 부분 B 의 비트 어레이 시퀀스는 제 1 프로세서 (50) 및 제 2 프로세서 (70) 의 시퀀스 순서로 정렬된다. 따라서, 하나의 비트 스트림을 프로세싱하기 위해, 제 1 어레이 변경기 (30) 및 제 2 어레이 변경기 (60) 를 온 / 오프로 한번 설정함으로써, 판독기 (20) 에 의한 부분 A 및 부분 B 의 판독을 위해 제어를 스위칭할 필요가 없다. 이는 고속 데이터 공급을 달성한다.
또한, 저장부 (10) 로부터 다음 프로세싱 단위 (예를 들어, 8 비트) 의 데이터를 판독할지 여부를 결정할 때, 하나의 프로세싱 단위에 관해 버퍼 (40) 내의 여유 공간이 존재하는지 여부를 참조하는데만 필요하기 때문에, 판독에 관한 제어는 판독기 (20) 에 대해 간단하다.
다음으로, 본 발명의 상술된 원리를 달성하는 실시형태가 이하 상술된다. 도 3 은 본 발명의 일 실시형태에 따른 데이터 프로세싱 시스템 (200) 의 구성을 도시한 도면이다. 데이터 프로세싱 시스템 (200) 은 비트 스트림인 인코딩된 데이터를 저장하는 저장부 (110), 저장부 (110) 에 저장된 비트 스트림을 디코딩하는 디코더 (180), 및 디코더 (180) 를 제어하는 제어기 (190) 를 포함한다. 예를 들어, 데이터 프로세싱 시스템 (200) 에 의해 프로세싱되는 데이터는 도 14 에 도시된 JPEG 및 PNG 비트 스트림이라고 가정한다.
도 4 는 디코더 (180) 의 구성을 도시한 도면이다. 디코더 (180) 는 판독기 (120), 제 1 비트 스와퍼 (130), 버퍼 (140), 시프터 (148), VLC 프로세서 (150), 제 2 비트 스와퍼 (160) 및 고정 길이 데이터 프로세서를 포함한다. 판독기 (120) 는 각 8 비트 단위로 저장부 (110) 로부터의 비트 스트림을 판독하여 제 1 비트 스와퍼 (130) 로 출력한다.
제 1 비트 스와퍼 (130) 는 제어기 (190) 에 의한 제어 (상세 사항은 후술됨) 에 따라 역방향의 시퀀스로 판독기 (120) 에 출력되는 8 비트 데이터의 어레이 시퀀스를 변경하여 버퍼 (140) 로 출력하거나, 그대로 출력한다.
버퍼 (140) 는 FIFO 이며, 도 1 에 도시된 데이터 프로세싱 (100) 에서의 버퍼 (40) 과 동일하다. 따라서, 세부 설명은 여기서 반복하지 않을 것이다.
시프터 (148) 는 버퍼 (140) 의 저장 영역의 시작부가 다음에 프로세싱될 데이터의 맨처음이 되도록 버퍼 (140) 의 콘텐츠를 시프팅하고, 이 동작은 VLC 프로세서 (150) 로부터의 시프트 요청 A 와 코드 길이, 및 고정 길이 데이터 프로세서 (170) 로부터의 시프트 요청 B (상세사항은 후술됨) 에 따라 수행된다.
VLC 프로세서 (150) 는 도 1 에 도시된 데이터 프로세싱 시스템 (100) 에서 제 1 프로세서 (50) 에 대응하고, 비트 스트림 내의 VLC 부분을 디코딩한다.
제 2 비트 스와퍼 (160) 는 버퍼 (140) 로부터 출력되는 8 비트의 고정 길이 데이터 부분의 어레이 시퀀스를 역방향 시퀀스로 변경하여, 고정 길이 데이터 프로세서 (170) 에 출력한다.
고정 길이 데이터 프로세서 (170) 는 도 1 에 도시된 데이터 프로세싱 시스템에서 제 2 프로세서 (70) 에 대응하고, 제 2 비트 스와퍼 (160) 로부터 출력되는 고정 길이 데이터 부분을 디코딩한다.
상술한 바와 같이, JPEG 및 PNG 비트 스트림에서, 고정 길이 데이터 부분의 비트 어레이 시퀀스는 동일하지만, VLC 부분의 비트 어레이 시퀀스는 서로 반대이다. 이런 실시형태에 있어서, JPEG 비트 스트림은 디폴트로서 프로세싱될 수 있다. VLC 프로세서 (150) 및 고정 길이 데이터 프로세서 (170) 는 JPEG 의 VLC 부분 내의 데이터의 어레이 시퀀스 및 고정 길이 데이터 부분의 비트 어레이 시퀀스를 프로세싱한다.
도 4 에서, 제 1 비트 스와퍼 (130) 와 제 2 비트 스와퍼 (160) 에 의해 수신되는 "온" 또는 "오프" 의 제어 신호 및 VLC 프로세서 (150) 와 고정 길이 데이터 프로세서 (170) 에 의해 수신되는 "판독 시작" 을 표시하는 제어 신호는 제어기 (190) 에 의해 이슈된다. 제어기 (190) 는 제 1 비트 스와퍼 (130) 및 제 2 비트 스와퍼 (160) 로 제어 신호를 전송함으로써 비트 스와핑을 수행할지 여부를 제어하고, VLC 프로세서 (150) 및 고정 길이 데이터 프로세서 (170) 로 제어 신호를 전송함으로써 버퍼 (140) 로부터의 데이터 판독을 시작하도록 지시한다.
이하, 데이터 프로세싱 시스템 (200) 에 포함되는 각각의 기능 블록의 동작은 상세히 설명된다. 도 5 는 데이터 프로세싱 시스템 (200) 에서 디코더 (180) 및 제어기 (190) 에 의한 프로세스 흐름을 나타내는 흐름도이다. 좌측의 흐름은 제어기 (190) 의 프로세스 흐름이고, 우측의 흐름은 디코더 (180) 의 프로 세스 흐름이다.
먼저, 제어기 (190) 는 저장부 (110) 에 저장된, 프로세싱될 비트 스트림의 타입에 따라 제 1 비트 스와퍼 (130) 및 제 2 비트 스와퍼 (160) 가 온 또는 오프되도록 제어한다. 상세하게, 프로세싱될 비트 스트림이 JPEG 비트 스트림이라면 (S10:JPEG), 제어 신호가 전송되어 제 1 비트 스와퍼 (130) 및 제 2 비트 스와퍼 (160) 가 둘 다 "오프" 되도록 설정한다 (S30).
이것은 제 1 비트 스와퍼 (130) 및 제 2 비트 스와퍼 (160) 가 "오프" 가 되도록 설정하며, 여기서, 모든 스와퍼는 비트 스와핑을 수행하지 않는다 (S110).
한편, 프로세싱될 비트 스트림이 PNG 비트 스트림이라면 (S10:PNG), 제어기 (190) 는 제어 신호를 전송하여 제 1 비트 스와퍼 (130) 및 제 2 비트 스와퍼 (160) 가 모두 "온" 이 되도록 설정한다 (S20). 이것은 제 1 비트 스와퍼 (130) 및 제 2 비트 스와퍼 (160) 가 "온" 이 되도록 설정하고, 여기서, 모든 스와퍼는 비트 스와핑을 수행한다 (S110).
그 후, 제어기 (190) 는 "판독 시작 온" 신호를 고정 길이 데이터 프로세서 (170) 에 전송하여 버퍼 (140) 에 저장된 비트 스트림의 시작부 (후에 상술) 에 존재하는 고정 길이 데이터를 판독하기 시작하도록 지시한다 (S40). 그 후, 고정 길이 데이터 프로세서 (170) 로부터 고정 길이 데이터의 종료를 표시하는 신호 (이하, 고정 길이 데이터 종료 신호라고 지칭함) 가 수신될 때, 제어기 (190) 는 "판독 시작 온" 신호를 VLC 프로세서 (150) 로 전송하여, 버퍼 (140) 로부터 VLC 를 판독하기 시작하도록 지시한다 (S50:고정 길이 데이터 종료 신호 및 S70). 한 편, VLC 프로세서 (150) 로부터 VLC 의 종료를 표시하는 신호 (이하 VLC 종료 신호라고 지칭함) 가 수신될 때, 제어기 (190) 는 "판독 시작 온" 신호를 고정 길이 데이터 프로세서 (170) 로 전송하는 프로세스를 반복한다 (S50:VLC 종료 신호 및 S60).
디코더 (180) 가 하나의 비트 스트림을 프로세싱하는 것을 완료하는 경우에 (S80:예), 제어기 (190) 는 데이터 프로세싱 시스템 (200) 의 프로세스를 완료한다 (S90). 여기에서, 단계 S90 에서의 프로세스 종료의 평가는 디코더 (180) 의 VLC 프로세서 (150) 에 의해 수행된다. 이하, 상세히 설명한다.
저장부 (110) 에 저장된 비트 스트림을 디코딩하기 위해, 먼저, 디코더 (180) 는 비트 스트림의 시작부로부터 8 비트 단위로 연속적으로 순서대로 저장부 (110) 부터 판독하여, 제 1 비트 스와퍼 (130) 에 출력한다 (S120).
판독기 (120) 에 의해 판독된 데이터는 제 1 비트 스와퍼 (130) 를 통해 버퍼 (140) 에 일시적으로 저장되고, VLC 프로세서 (150) 또는 고정 길이 데이터 프로세서 (170) 에 의해 연속적으로 프로세싱된다 (S130 내지 S150). 제어기 (190) 로부터 "판독 온" 신호가 수신될 때, 고정 길이 데이터 프로세서 (170) 는 버퍼 (140) 부터 디코딩할 고정 길이 데이터를 판독한다 (S130:고정 길이 데이터 및 S140). 제어기 (190) 로부터 "판독 온" 신호가 수신될 때, VLC 프로세서 (150) 는 버퍼 (140) 로부터 디코딩할 VLC 를 판독한다 (S130:VLC 및 S150). 이들 프로세스는 제어기 (190) 에 의해 종료될 때까지 반복된다. (S170)
도 6 은 단계 S120 에서의 판독기 (120) 에 의한 판독 프로세스의 세부 설명 을 나타내는 흐름도이다. 버퍼 (140) 내의 여유 공간이 8 비트 이상인지 여부에 따라, 여유 공간이 8 비트 이상이라면, 판독기 (120) 는 저장부 (110) 로부터 8 비트를 판독하고, 제 1 비트 스와퍼 (130) 를 통해 버퍼 (140) 에 저장한다 (S122:아니오 및 S124). 여유 공간이 8 비트 미만이라면, 판독기 (120) 는 버퍼 (140) 내의 여유 공간이 8 비트 이상이 될 때까지 저장부 (110) 로부터의 판독을 중지한다 (S122:예).
이하, VLC 프로세서 (150), 제 2 비트 스와퍼 (160), 고정 길이 데이터 프로세서 (170) 및 시프터 (148) 의 프로세스는, PNG 비트 스트림이 프로세싱되는 실시예에 의해 상세히 설명된다. 이 경우에는, PNG 비트 스트림이 프로세싱되기 때문에, 제 1 비트 스와퍼 (130) 및 제 2 비트 스와퍼 (160) 는 "온" 으로 설정하며, 상세하게 스와핑을 수행한다.
도 7 은 도 5 의 고정 길이 데이터 프로세스 (S140) 를 나타내는 흐름도이다. 제어기 (190) 로부터 판독 시작을 표시하는 신호가 수신될 때, 고정 길이 데이터 프로세서 (170) 는 버퍼 (140) 로부터 8 비트 데이터 시작부를 판독하기 시작한다 (S141).
도 9 의 제 1 행 및 제 2 행에 도시된 바와 같이, 이 경우에는, 판독기 (120) 로부터의 판독된 고정 길이 데이터의 어레이 시퀀스는 각각 8 비트 단위로 스와핑되어, 저장부 (110) 에 저장되는 경우의 어레이 시퀀스와 역방향의 어레이 시퀀스를 갖는 버퍼 (140) 에 저장된다.
고정 길이 데이터 프로세서 (170) 는 버퍼 (140) 로부터 8 비트의 고정 길이 데이터를 판독하고, 또한, 판독을 완료하는 경우에 (이하, VLC 프로세서 (150) 로부터의 시프트 요청과 구별되는 시프트 요청 B 라고 지칭되는) 시프트 요청을 이슈한다 (S142).
여기에서, 고정 길이 데이터 프로세서 (170) 에 의해 버퍼 (140) 로부터 판독된 8 비트 고정 길이 데이터는 제 2 비트 스와퍼 (160) 로 입력된다. 제 2 비트 스와퍼 (160) 는 8 비트 데이터의 어레이 시퀀스를 변경한다 (S143). 도 9 의 제 3 행에 도시된 바와 같이, 제 2 비트 스와퍼 (160) 에 의해 버퍼 (140) 로부터 판독되는 8 비트 고정 길이 데이터의 어레이 시퀀스는 역방향이 되며, 상세하게, 어레이 시퀀스는 저장부 (110) 에 저장될 때의 어레이 시퀀스로 리턴된다.
고정 길이 데이터 프로세서 (170) 는 제 2 비트 스와퍼 (160) 가 비트 스와핑을 수행하는 8 비트 고정 길이 데이터를 디코딩한다 (S144).
비록 도 7 에는 도시되지 않았지만, 시프트 요청 B 가 수신될 때, 시프터 (148) 는 버퍼 (140) 의 시작부를 향해 8 비트 단위로 버퍼 (140) 의 콘텐츠를 시프팅한다. 이렇게 함으로써, 고정 길이 데이터 프로세서 (170) 에 의해 이미 판독된 8 비트 뒤에, 다음 8 비트의 시작부가 버퍼 (140) 의 시작부에 온다 (도 9의 제 4 행).
고정 데이터 프로세서 (170) 는 제 2 비트 스와퍼 (160) 에 의해 어레이 시퀀스가 원래대로 리턴되는 8 비트를 디코딩하고, 또한 프로세스에서 8 비트의 마지막 비트가 고정 길이 데이터의 종료인지 여부를 탐지한다 (S144). 여기에서 "고정 길이 데이터의 종료" 는 고정 길이 데이터와 다음에 오는 VLC 사이의 경계 A 를 표시한다.
디코딩된 고정 길이 데이터의 마지막 비트가 경계 A 가 아니라면, (S145:아니오), 고정 길이 데이터 프로세서 (170) 는 버퍼 (140) 로부터 8 비트를 판독하고 (시프트 요청 B 를 전송하며), (경계 A 의 탐지를 포함하여) 비트 스와핑이 제 2 비트 스와퍼 (160) 에 의해 수조정된 후에, 판독된 8 비트를 디코딩하는 프로세스를 반복한다 (S141 내지 S144). 한편, 디코딩된 8 비트 고정 길이 데이터의 마지막 비트가 경계 A 라면 (S145:예), 고정 길이 데이터 프로세서 (170) 는 고정 길이 데이터 종료 신호를 제어기 (190) 에 전송하고, 그 프로세스를 종료한다.
동시에, 시프터 (148) 에 의한 시프트 동작 때문에, 버퍼 (140) 의 시작 비트는 고정 길이 데이터 프로세서 (170) 에 의해 프로세싱되는 고정 길이 데이터 다음에 오는 VLC 의 제 1 비트가 된다 (도 9 의 제 6 조정 참조).
상기 개시한 바와 같이, 고정 길이 데이터 프로세서 (170) 로부터 고정 길이 데이터 종료 신호가 수신될 때, 제어기 (190) 는 VLC 프로세서 (150) 에게 판독을 시작하라고 지시하는 신호를 전송한다. 도 10 은 VLC 프로세서 (150) 가 이 신호를 수신한 후의 프로세스를 나타내는 흐름도이다.
제어기 (190) 로부터 판독 시작을 표시하는 신호가 수신될 때, VLC 프로세서 (150) 는 버퍼 (140) 의 시작부로부터 소정의 비트 수의 데이터를 판독한다 (S152). 한번에 VLC 에 의해 판독되는 비트 수는 설계에 임의로 의존할 수도 있다. 이 경우에는, 10 비트라고 가정한다.
상기 개시된 바와 같이, PNG 의 VLC 부분의 비트 어레이 시퀀스는 JPEG 의 VLC 부분의 비트 어레이 시퀀스와 반대이다. 도 11 의 조정 1 및 제 2 행에 도시된 바와 같이, 이 경우에, 판독기 (120) 로부터 판독되는 VLC 부분의 데이터의 어레이 시퀀스는 각각 8 비트 단위로 스와핑되어, 저장부 (110) 에 저장되는 경우의 어레이 시퀀스와 역방향의 어레이 시퀀스를 갖는 버퍼 (140) 에 저장된다. 상세하게, 버퍼 (140) 에 저장되는 VLC 부분의 비트 어레이 시퀀스는 JPEG 의 VLC 부분의 비트 어레이 시퀀스와 동일하다. 도 11 에 도시된 실시예에서, VLC 부분은 스트림의 8 비트 경계를 블록의 마지막 8 비트에 정렬하기 위해 10 비트 유효 데이터 및 5 비트 패딩 비트를 갖는다.
VLC 프로세서 (150) 는 버퍼 (140) 로부터 10 비트 데이터를 판독하고 (S152), 그 10 비트를 디코딩하며, 또한 VLC 의 종료 비트가 존재하는지 여부를 탐지한다 (S154). 도 8 에 도시된 바와 같이, VLC 의 종료는 VLC 의 유효 비트와 패딩 비트 사이의 경계 B1 을 표시한다.
VLC 가 프로세스에서 10 비트 내에 탐지되지 않았다면 (S156:아니오), VLC 프로세서 (150) 는 시프트 요청 A 와 함께 디코딩된 코드 길이 (이 경우에는 10 비트) 를 시프터 (148) 로 출력한다 (S158). 비록 도 10 에 도시되지는 않았지만, VLC 프로세서 (150) 로부터 시프트 요청 A 를 수신한 경우에, 시프터 (148) 는 시프트 요청 A 와 함께 출력되는 코드 길이 단위로 버퍼 (140) 의 콘텐츠를 시작부를 향해 시프팅한다. 이것은 VLC 프로세서 (150) 에 의해 이미 판독된 10 비트 다음에 오는 데이터의 시작부가 버퍼 (140) 의 시작부에 위치하게 한다 (도 11 의 제 4 행 참조).
이 경우에, VLC 프로세서 (150) 는 도 11 의 제 5 행에 도시된 바와 같이 버퍼 (140) 로부터 10 비트를 더 판독하여 디코딩하고, 경계 B1 을 탐지한다 (S152 내지 S154).
한편, 디코딩하는 동안에 VLC 프로세서 (150) 가 경계 B1 을 탐지하는 경우에 (S156:예), VLC 프로세서 (150) 는 경계 B1 이 탐지된 때의 디코딩된 코드 길이와 패딩 수의 합을 코드 길이로서 출력하여, 시프트 요청 A 와 함께 시프터 (148) 로 시프팅한다. 또한, VLC 종료 신호는 제어기 (190) 로 전송되고 (S164), 프로세스를 종료한다.
이 때, 시프터 (148) 에 의한 시프트 동작 때문에, 패딩 비트는 제거되고, 버퍼 (140) 내의 제 1 비트는 VLC 프로세서 (150) 에 의해 프로세싱되는 VLC 다음에 오는 고정 길이 데이터의 제 1 비트가 된다 (도 11 의 제 6 행 참조).
상기 개시된 바와 같이, 고정 길이 데이터 프로세서 (170) 및 VLC 프로세서 (150) 에 의한 프로세스는 비트 스트림이 종료할 때까지 비트 스트림에 대해 반복된다. 여기에서, 비트 스트림의 종료의 탐지는, 예를 들어, 다음과 같이 수행될 수도 있다. 카운터가 VLC 프로세서 (150) 에 제공되어, VLC 프로세서 (150) 에 의해 인코딩되는 픽셀 수를 카운팅한다. 카운팅된 픽셀의 수가 하나의 프레임을 형성하는 픽셀 수에 도달한 때에, 스트림은 종료된다. 또한, VLC 프로세서 (150) 가 스트림의 종료를 탐지한 경우에, 종료를 표시하는 신호를 제어기 (190) 로 전송한다. 그 신호가 수신될 때된 후에, 제어기 (190) 는 데이터 프로세싱 시스템 (200) 의 프로세스가 완료되도록 제어한다 (도 5 에서 S80:예 및 S90).
상술한 바와 같이, VLC 프로세서 (150) 및 고정 길이 데이터 프로세서 (170) 에 의한 프로세스를 설명하는 경우에 시프터 (148) 의 동작이 설명된다. 여기에서, 시프터 (148) 에 의한 동작은 집합적으로 설명된다.
도 12 는 시프터 (148) 의 프로세스를 나타내는 흐름도이다. 고정 길이 데이터 프로세서 (170) 로부터 시프트 요청 B 가 수신될 때 (S180:B), 시프터 (148) 는 8 비트 단위로 버퍼 (140) 의 콘텐츠를 시프팅한다 (S184). 한편, VLC 프로세서 (150) 로부터 시프트 요청 A 이 수신될 때 (S180:A), 시프터 (148) 는 시프트 요청 A 와 함께 코드 길이 단위로 버퍼 (140) 의 콘텐츠를 시프팅한다.
PNG 비트 스트림에 관한 프로세스는 상술되어 있다. JPEG 비트 스트림의 경우에, 제 1 비트 스와퍼 (130) 및 제 2 비트 스와퍼 (160) 가 "오프" 로 설정하기 때문에, 상세하게는 비트 스와핑을 수행하지 않기 때문에, 각각의 기능 블록은 JPEG 비트 스트림의 비트 어레이 시퀀스로 프로세싱한다. 이러한 점을 제외하면, 이 프로세스는 PNG 비트 스트림의 경우에서의 프로세스와 동일하며, 따라서, 상세한 설명은 여기에서 반복하지 않는다.
상기 개시한 바와 같이, 이 실시형태의 데이터 프로세싱 시스템 (200) 에 의하면, JPEG 및 PNG 비트 스트림은 공통의 VLC 프로세서 (150) 를 사용하여 프로세싱된다. 또한, 제 1 비트 스와퍼 (130) 는 PNG 비트 스트림 내의 VLC 의 비트 어레이를 역방향 시퀀스로 변경하며, 따라서, 버퍼 (140) 로부터의 VLC 판독은 FIFO 에 따라 수행될 수도 있으며, 따라서, 간단하다.
또한, 유사한 방법으로, 제 1 비트 스와퍼 (130) 가 비트 스와핑을 수행하여 비트 어레이를 원래대로 리턴하는 PNG 비트 스트림에서 고정 길이 데이터의 비트 어레이를 제 2 비트 스와퍼 (150) 가 더 스와핑하기 때문에, 버퍼 (140) 로부터의 고정 길이 데이터의 판독은 FIFO 에 따라 수행될 수도 있으며, 따라서, 간단하다.
또한, JPEG 의 PNG 에 의존하여, 제 1 비트 스와퍼 (130) 및 제 2 비트 스와퍼 (160) 를 한번 설정함으로써, 이후에 대응하는 비트 스트림을 프로세싱하는 동안에 VLC 이든지 고정 길이 데이터이든지 상관없이 2 비트 스와핑을 설정할 것이 요구되지 않는다. 따라서, VLC 의 종료의 탐지 결과를 기다리지 않고도, 판독기 (120) 에 의해 버퍼 (140) 내의 데이터를 판독할 수 있다. 이것은 고속 데이터 공급을 달성한다.
본 발명은 상기 실시형태로 제한되지 않으며, 본 발명의 범위 및 사상으로부터 벗어 나지 않고, 변형 또는 변경될 수도 있음이 명백하다.
본 발명에 의하면, 상이한 비트 어레이 시퀀스를 갖는 비트 스트림을 프로세싱하는 장치를 공통으로 사용할 수 있고, 또한 그 프로세싱 장치로의 데이터 공급을 단순화할 수 있으며, 고속 데이터 공급을 달성할 수 있다.

Claims (10)

  1. 복수의 비트 블록으로 형성되는 비트 스트림에 대한 각각의 비트 블록에 관해 역방향 시퀀스로 비트 어레이 시퀀스를 변경하는 제 1 어레이 변경기;
    상기 비트 어레이 시퀀스가 상기 제 1 어레이 변경기에 의해 변경되는 비트 블록을 일시적으로 저장하는 버퍼; 및
    상기 버퍼의 어레이 시퀀스에서, 소정의 프로세싱 단위인 각각의 비트 수 단위로 제 1 프로세서에 의해 프로세싱되는 비트 블록에 포함되는 비트를 판독하는 상기 제 1 프로세서를 포함하는, 데이터 프로세서.
  2. 제 1 항에 있어서,
    상기 제 1 프로세서에 의해 프로세싱되는 비트 블록과는 상이한 비트 블록을 프로세싱하는 제 2 프로세서; 및
    상기 버퍼의 어레이 시퀀스에서 상기 제 2 프로세서에 의해 프로세싱되는 비트 블록에 포함된 비트를 판독하고, 상기 버퍼에 포함된 비트 어레이 시퀀스를 역방향 시퀀스로 변경하여 상기 제 2 프로세서로 공급하는 제 2 어레이 변경기를 더 포함하는, 데이터 프로세서.
  3. 제 2 항에 있어서,
    비트 스트림의 타입에 따라 상기 제 1 어레이 변경기 및 상기 제 2 어레이 변경기에 의해 상기 비트 어레이 시퀀스를 변경할지 여부를 제어하는 제어기를 포함하며,
    비트 블록에서 상기 비트 어레이 시퀀스는 그 타입에 따라 상이한, 데이터 프로세서.
  4. 제 3 항에 있어서,
    상기 제 1 프로세서는 비트 스트림 내의 가변 길이 데이터 부분을 포함하는 비트 블록을 프로세싱하고,
    상기 제 2 프로세서는 비트 스트림 내의 고정 길이 데이터 부분을 포함하는 비트 블록을 프로세싱하며,
    상기 고정 길이 데이터 부분을 포함하는 비트 블록에서 동일한 비트 어레이 시퀀스를 갖지만, 상기 가변 길이 데이터 부분을 포함하는 비트 블록에서 상이한 비트 어레이를 갖는 2 가지 타입의 비트 스트림 사이에서, 상기 비트 스트림의 일 타입에 관해, 상기 제어기는 상기 제 1 어레이 변경기 및 상기 제 2 어레이 변경기가 어레이 시퀀스를 변경하지 않도록 제어하지만, 상기 비트 스트림의 다른 하나의 타입에 관해, 상기 제어기는 상기 제 1 어레이 변경기 및 상기 제 2 어레이 변경기가 어레이 시퀀스를 변경하도록 제어하는, 데이터 프로세서.
  5. 제 4 항에 있어서.
    상기 2 가지 타입의 비트 스트림은 JPEG 비트 스트림 및 PNG 비트 스트림인, 데이터 프로세서.
  6. 제 5 항에 있어서,
    상기 제어기는 상기 제 1 어레이 변경기 및 상기 제 2 어레이 변경기에 의해 상기 JPEG 비트 스트림의 어레이 시퀀스를 변경하지 않도록 제어하고, 상기 제어기는 상기 제 1 어레이 변경기 및 상기 제 2 어레이 변경기에 의해 상기 PNG 비트 스트림의 어레이 시퀀스를 변경하도록 제어하는, 데이터 프로세서.
  7. 복수의 비트 블록으로 형성되는 비트 스트림에 대한 각각의 비트 블록에 관해 역방향 시퀀스로 비트 어레이 시퀀스를 변경하는 제 1 어레이 변경 프로세스를 수행하는 단계;
    비트 어레이 시퀀스가 버퍼 내의 상기 제 1 어레이 변경 프로세스에 의해 변경되는 비트 블록을 일시적으로 저장하는 단계; 및
    상기 버퍼의 어레이 시퀀스에서, 소정의 프로세싱 단위인 각각의 비트 수 단위로 상기 비트 블록 중에서 특정 비트 블록에 포함된 비트를 판독하는 단계를 포함하는, 데이터 프로세싱 방법.
  8. 제 7 항에 있어서,
    상기 특정 비트 블록과는 상이한, 상기 버퍼 내의 어레이 시퀀스에서의 상기 비트 블록에 포함된 비트를 판독하는 단계;
    판독된 비트 블록에서의 비트 어레이 시퀀스를 역방향 시퀀스로 변경하는 제 2 어레이 변경 프로세스를 수행하는 단계; 및
    상기 비트 어레이 시퀀스가 상기 제 2 어레이 변경 프로세스에 의해 변경되는 비트 블록을 프로세싱하는 단계를 더 포함하는, 데이터 프로세싱 방법.
  9. 제 8 항에 있어서,
    비트 스트림의 타입에 따라 상기 제 1 어레이 변경 프로세스 또는 제 2 어레이 변경 프로세스를 수행할지 여부를 제어하는 단계를 더 포함하며, 비트 블록에서 상기 비트 어레이 시퀀스는 그 타입에 따라 상이한, 데이터 프로세싱 방법.
  10. 제 9 항에 있어서,
    상기 특정 비트 블록은 비트 스트림 내의 가변 길이 데이터 부분을 포함하고,
    상기 특정 비트 블록과는 상이한 비트 블록은 비트 스트림 내의 고정 길이 데이터 부분을 포함하며,
    상기 고정 길이 데이터 부분을 포함하는 비트 블록에서 동일한 비트 어레이 시퀀스를 갖지만, 상기 가변 길이 데이터 부분을 포함하는 비트 블록에서 상이한 비트 어레이 시퀀스를 갖는 2 가지 타입의 비트 스트림 사이에서, 상기 비트 스트림의 일 타입에 관해, 제어기가 상기 제 1 어레이 변경 프로세스 및 상기 제 2 어레이 변경 프로세스를 수행하지 않도록 제어하지만, 상기 비트 스트림의 다른 하나 의 타입에 관해, 상기 제어기는 상기 제 1 어레이 변경 프로세스 및 상기 제 2 어레이 변경 프로세스를 수행하도록 제어하는, 데이터 프로세싱 방법.
KR20070040946A 2006-04-26 2007-04-26 데이터 프로세서 및 데이터 프로세스 방법 KR100875860B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2006-00121512 2006-04-26
JP2006121512A JP4717704B2 (ja) 2006-04-26 2006-04-26 データ処理装置およびデータ処理方法

Publications (2)

Publication Number Publication Date
KR20070105919A true KR20070105919A (ko) 2007-10-31
KR100875860B1 KR100875860B1 (ko) 2008-12-26

Family

ID=38649677

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20070040946A KR100875860B1 (ko) 2006-04-26 2007-04-26 데이터 프로세서 및 데이터 프로세스 방법

Country Status (5)

Country Link
US (1) US7689808B2 (ko)
JP (1) JP4717704B2 (ko)
KR (1) KR100875860B1 (ko)
CN (1) CN101064516B (ko)
TW (1) TWI340932B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110110792A (ko) * 2009-01-07 2011-10-07 마이크론 테크놀로지, 인크. 정합-데이터 보고 모듈을 갖는 패턴 인식 프로세서

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8615138B2 (en) * 2011-11-03 2013-12-24 Google Inc. Image compression using sub-resolution images

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0225139A (ja) 1988-07-13 1990-01-26 Fujitsu Ltd プロトコル変換装置
JPH03277069A (ja) * 1990-03-27 1991-12-09 Nec Corp 圧縮伸張コントローラ
EP0562845B1 (en) * 1992-03-24 1999-02-03 Kabushiki Kaisha Toshiba Variable length code recording/playback apparatus for a video recorder
JPH06152888A (ja) 1992-11-13 1994-05-31 Ricoh Co Ltd 両面原稿読取装置
JPH07255055A (ja) * 1994-01-28 1995-10-03 Matsushita Electric Ind Co Ltd 可変長符号復号回路及び復号方法
US6295380B1 (en) * 1997-02-27 2001-09-25 Matsushita Electric Industrial Co., Ltd. Object data processing apparatus, object data recording apparatus, data storage media, data structure for transmission
JPH11275592A (ja) 1998-01-22 1999-10-08 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
JP3014999B2 (ja) 1998-03-09 2000-02-28 鐘紡株式会社 ハフマン復号化装置
US7162080B2 (en) * 2001-02-23 2007-01-09 Zoran Corporation Graphic image re-encoding and distribution system and method
US7539393B2 (en) * 2003-12-05 2009-05-26 Microsoft Corporation Method and system for reverse playback of compressed data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110110792A (ko) * 2009-01-07 2011-10-07 마이크론 테크놀로지, 인크. 정합-데이터 보고 모듈을 갖는 패턴 인식 프로세서

Also Published As

Publication number Publication date
JP4717704B2 (ja) 2011-07-06
CN101064516A (zh) 2007-10-31
KR100875860B1 (ko) 2008-12-26
US7689808B2 (en) 2010-03-30
TW200818062A (en) 2008-04-16
US20070255932A1 (en) 2007-11-01
TWI340932B (en) 2011-04-21
JP2007295328A (ja) 2007-11-08
CN101064516B (zh) 2012-04-04

Similar Documents

Publication Publication Date Title
WO2007129508A1 (ja) 動画像処理方法、動画像処理方法のプログラム、動画像処理方法のプログラムを記録した記録媒体及び動画像処理装置
US5886654A (en) Apparatus and method for decoding data using flags to indicate decoding errors in data rows and columns
JP4785706B2 (ja) 復号装置及び復号方法
US20080212683A1 (en) Image Decoding Device, Image Encoding Device and System LSI
EP0914009A2 (en) Method and apparatus for start code detection in a compressed bitstream
JP2611637B2 (ja) 画像圧縮伸長装置
KR100875860B1 (ko) 데이터 프로세서 및 데이터 프로세스 방법
US7650038B2 (en) Image processing method and image processing apparatus
JPH05145770A (ja) 符号・復号化装置
CN1159907C (zh) 运动图像专家组编码信号的特技播放再现
JP2000307875A5 (ja) 情報処理装置、画像処理装置およびそれらの方法
JP2002237754A (ja) 可変長復号化装置及び方法
US20040213551A1 (en) Method and apparatus for controlling a bit rate of digital video data
JPH0779415B2 (ja) 圧縮データの復号方法
JP2003198378A (ja) 復号化装置および復号化方法ならびに記憶媒体、プログラム
JP3156853B2 (ja) 復号化装置および符号化/復号化装置
JP4466382B2 (ja) 符号語抽出装置とその方法、復号化装置、ならびに画像再生装置
WO2004004331A1 (en) Image processing apparatus
CN103795955A (zh) 电子设备、动态图像再生装置、动态图像解码方法
JP2007251983A (ja) 画像データ出力装置
JP3702675B2 (ja) 画像処理装置および画像処理方法
JPH0131830B2 (ko)
JP2001016112A (ja) 符号長検出装置および可変長符号復号装置
JPH11146345A (ja) 映像信号処理装置
JPH0311714B2 (ko)

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131118

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141120

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee