KR100285420B1 - Variable length coder in HDTV - Google Patents

Variable length coder in HDTV Download PDF

Info

Publication number
KR100285420B1
KR100285420B1 KR1019990015699A KR19990015699A KR100285420B1 KR 100285420 B1 KR100285420 B1 KR 100285420B1 KR 1019990015699 A KR1019990015699 A KR 1019990015699A KR 19990015699 A KR19990015699 A KR 19990015699A KR 100285420 B1 KR100285420 B1 KR 100285420B1
Authority
KR
South Korea
Prior art keywords
data
cycles
timing signal
allocated
header
Prior art date
Application number
KR1019990015699A
Other languages
Korean (ko)
Other versions
KR20000067690A (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 KR1019990015699A priority Critical patent/KR100285420B1/en
Publication of KR20000067690A publication Critical patent/KR20000067690A/en
Application granted granted Critical
Publication of KR100285420B1 publication Critical patent/KR100285420B1/en

Links

Classifications

    • 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/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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 입력 비디오 데이터를 가변 부호화하여 비디오 코드를 발생하는 부분과 이 코드를 원하는 비트 레이트로 출력하는 부분의 읽기/쓰기 시간을 시간 분할 방식에 의해 중복시키지 않고 적절하게 조절토록 한 고화질 텔레비전의 가변 부호화기에 관한 것으로서, 이러한 본 발명은, 헤더 정보 및 타이밍신호 생성부에서 입력되는 동기 신호에 따라 매크로블록을 기준으로 128사이클을 시간적으로 분할하여 117 사이클은 램에 데이터를 기록하는 사이클로 할당하고, 10사이클은 램에 저장한 데이터를 판독하는 사이클로 할당하며, 나머지 1사이클은 슬라이스 헤더 데이터 생성 사이클로 할당해주며, 기록용으로 할당된 117사이클은, 색차신호 구조가 4:2:0인 경우 3사이클은 매크로블록(MB) 헤더를 발생시키는 데 할당하고, 6개의 블록(매크로블록을 소정개로 분할한 블록)에 대해 19사이클을 할당하며, 각 블록에 할당된 19사이클은 DC처리를 위해서 1사이클, AC 처리를 위해서 18사이클이 할당되도록 타이밍 신호를 발생함으로써, 단방향 에스램을 이용하여 읽기/쓰기의 중복 없이 부호화 데이터의 처리가 가능하다.According to the present invention, a variable definition of a high-definition television is provided such that the read / write times of a part generating a video code by variable encoding the input video data and a part outputting the code at a desired bit rate are appropriately adjusted without overlapping by a time division method. The present invention relates to an encoder. In accordance with the present invention, 128 cycles are divided in time based on a macroblock according to a header signal and a synchronization signal input from a timing signal generator, and 117 cycles are allocated as cycles for writing data to RAM. The cycle is allocated to read the data stored in the RAM, and the remaining one cycle is allocated to the slice header data generation cycle, and the 117 cycles allocated for recording are 3 cycles when the color difference signal structure is 4: 2: 0. Allocates to generate a macroblock (MB) header, and assigns six blocks (predetermined 19 cycles are allocated to each block, and the 19 cycles allocated to each block are read using unidirectional SRAM by generating a timing signal such that 1 cycle for DC processing and 18 cycles for AC processing are generated. Coded data can be processed without duplication of writes.

Description

고화질 텔레비전의 가변 부호화기{Variable length coder in HDTV}Variable length coder in HDTV

본 발명은 고화질 텔레비전(HDTV)에서 가변 부호화기에 관한 것으로, 특히 입력 비디오 데이터를 가변 부호화하여 비디오 코드를 발생하는 부분과 이 코드를 원하는 비트 레이트로 출력하는 부분의 읽기/쓰기 시간을 시간 분할 방식에 의해 중복시키지 않고 적절하게 조절토록 한 고화질 텔레비전의 가변 부호화기에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a variable encoder in a high-definition television (HDTV). In particular, the time / division method of the read / write time of a portion generating a video code by variably encoding input video data and outputting the code at a desired bit rate. The present invention relates to a variable encoder of a high-definition television that can be adjusted appropriately without being duplicated.

일반적으로, 고화질 텔레비전(HDTV)의 비디오 부호화기에서 가변 부호화하는 부분은, 크게 입력되는 비디오 데이터를 가변 부호화하여 비디오 코드를 발생시키는 부분과 그 부호화된 코드를 원하는 비트 레이트로 출력하는 부분으로 대별된다. 이 두 부분은 서로 독립적으로 동작하기 때문에 서로간의 사용 클록이 다르다.In general, the parts of variable encoding in a video encoder of a high-definition television (HDTV) are roughly divided into portions for variable encoding of video data that is largely input to generate a video code and portions for outputting the encoded code at a desired bit rate. Because these two parts operate independently of each other, their clocks are different.

종래의 비디오 부호화기에서 가변 부호화를 위해 사용하는 방법은, 양방향 읽기/쓰기가 가능한 메모리를 사용하여 발생한 비트를 메모리에 기록하는 부분과 그 메모리에서 데이터를 읽어 원하는 비트 레이트로 출력하는 부분의 타이밍이 중복되지 않도록 한다.In the conventional video encoder, a variable encoding method includes a timing in which a portion of a bit generated using a memory capable of bidirectional read / write is written into a memory and a portion of data read from the memory and output at a desired bit rate is overlapped. Do not

그러나 이러한 종래의 방법은, 높은 비트 레이트를 요구하는 경우에는 메모리의 크기가 상당히 커야 한다는 제약이 따른다. 예를 들어, 120Mbps 비디오 레이트를 지원하기 위해서는 4Mbit 정도 크기의 메모리가 필요하다.However, this conventional method is subject to the constraint that the memory size must be quite large when high bit rates are required. For example, 4Mbit of memory is required to support 120Mbps video rate.

또한, 양방향 읽기/쓰기가 가능한 메모리는 크기가 적기 때문에 높은 비트 레이트를 지원하기 위해서는 많은 수의 메모리가 필요한데, 이 경우에는 시스템 설계시 공간과 비용에 있어서 많은 문제점이 발생한다.In addition, since the memory capable of bidirectional read / write is small, a large number of memories are required to support a high bit rate, which causes a lot of space and cost problems in system design.

따라서 본 발명은 상기와 같은 종래 비디오 부호화기에서 발생하는 제반 문제점을 해결하기 위해서 제안된 것으로서,Accordingly, the present invention has been proposed to solve various problems occurring in the conventional video encoder as described above.

본 발명의 목적은, 입력 비디오 데이터를 가변 부호화하여 비디오 코드를 발생하는 부분과 이 코드를 원하는 비트 레이트로 출력하는 부분의 읽기/쓰기 시간을 시간 분할 방식에 의해 중복시키지 않고 적절하게 조절토록 한 고화질 텔레비전의 가변 부호화기를 제공하는 데 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide a high-definition image that is appropriately adjusted without overlapping the read / write times of a portion generating a video code by variably encoding the input video data and a portion outputting the code at a desired bit rate by a time division method. The present invention provides a variable encoder of a television.

상기와 같은 목적을 달성하기 위한 본 발명은,The present invention for achieving the above object,

입력되는 매크로블록 데이터에 슬라이스 헤더 정보를 추가하여 비디오 데이터 및 슬라이스 헤더 데이터를 발생하고, 상기 매크로블록을 기준으로 시간 분할을 하여 상기 발생한 비디오 데이터의 처리를 위한 타이밍신호를 발생하는 헤더 정보 및 타이밍신호 발생부와;Header information and timing signal for generating video data and slice header data by adding slice header information to input macroblock data, and generating a timing signal for processing the generated video data by time division based on the macroblock. A generator;

상기 헤더 정보 및 타이밍신호 발생부에서 얻어지는 타이밍신호에 따라 픽쳐 헤더를 발생하는 픽쳐 헤더 발생부와;A picture header generator for generating a picture header according to the header information and a timing signal obtained from the timing signal generator;

상기 헤더 정보 및 타이밍신호 발생부와 픽쳐 헤더 발생부에서 각각 발생되는 매크로블록 데이터와 슬라이스 헤더 데이터 및 픽쳐 헤더 데이터를 패킹 하는 데이터 패킹부와;A data packing unit for packing macroblock data, slice header data, and picture header data generated by the header information and timing signal generator and the picture header generator;

상기 헤더 정보 및 타이밍신호 발생부에서 얻어지는 타이밍신호에 따라 상기 데이터 패킹부에서 패킹된 비디오 데이터의 저장 및 판독을 위한 기록/판독 어드레스를 생성하는 어드레스 생성부와;An address generator for generating a write / read address for storing and reading the video data packed by the data packing unit according to the header information and the timing signal obtained from the timing signal generator;

상기 어드레스 생성부에서 얻어지는 기록/판독 어드레스에 따라 상기 패킹된 비디오 데이터를 기록 및 판독하는 램과;A RAM for recording and reading the packed video data according to a write / read address obtained from the address generator;

상기 램에서 얻어지는 비디오 데이터를 저장하고, 버퍼 제어부의 제어에 따라 그 저장한 데이터를 소정 단위로 출력하는 제1 및 제2 선입선출기와;First and second first-in, first-out and first-in-first-out units for storing video data obtained from the RAM and outputting the stored data in predetermined units under the control of a buffer controller;

상기 제1 및 제2 선입선출기의 기록 및 판독을 제어하고 판독한 데이터는 바이트 단위로 출력하는 버퍼 제어부로 이루어짐을 특징으로 한다.Characterized in that the buffer control unit for controlling the recording and reading of the first and second first-in-first-out and output the read data in byte unit.

도1은 본 발명에 의한 고화질 텔레비전의 가변 부호화기 블록도,1 is a block diagram of a variable encoder of a high definition television according to the present invention;

도2는 도1에서 픽쳐 처리 타이밍도 및 매크로블록 처리 타이밍도.2 is a picture processing timing diagram and a macroblock processing timing diagram in FIG.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for main parts of the drawings>

10 : 헤더 정보 및 타이밍신호 발생부10: header information and timing signal generator

20 : 픽쳐 헤더 발생부 30 : 데이터 발생부20: picture header generator 30: data generator

40 : 어드레스 생성부 50 : 램40: address generator 50: RAM

61, 62 : 제1 및 제2 선입선출기61, 62: first and second first-in, first-out machines

70 : 버퍼 제어부70: buffer control unit

이하, 본 발명의 바람직한 실시예를 첨부한 도면에 의거 상세히 설명하면 다음과 같다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention will be described in detail.

첨부한 도면 도1은 본 발명에 의한 고화질 텔레비전의 가변 부호화기 블록도이다.1 is a block diagram of a variable encoder of a high definition television according to the present invention.

여기서, 참조부호 10은 입력되는 매크로블록 데이터(MB Data)에 슬라이스 헤더 정보를 추가하여 비디오 데이터 및 슬라이스 헤더 데이터를 발생하고, 상기 매크로블록을 기준으로 시간 분할을 하여 상기 발생한 비디오 데이터의 처리를 위한 타이밍신호를 발생하는 헤더 정보 및 타이밍신호 발생부이고, 20은 상기 헤더 정보 및 타이밍신호 발생부(10)에서 얻어지는 타이밍신호에 따라 픽쳐 헤더를 발생하는 픽쳐 헤더 발생부이며, 30은 상기 헤더 정보 및 타이밍신호 발생부(10)와 픽쳐 헤더 발생부(20)에서 각각 발생되는 매크로블록 데이터와 슬라이스 헤더 데이터 및 픽쳐 헤더 데이터를 패킹 하는 데이터 패킹부이다.Here, reference numeral 10 denotes video data and slice header data by adding slice header information to the input macroblock data (MB Data), and time division based on the macroblock to process the generated video data. Header information for generating a timing signal and a timing signal generator, 20 is a picture header generator for generating a picture header according to the header information and a timing signal obtained from the timing signal generator 10, and 30 is the header information and The data packing unit packs macroblock data, slice header data, and picture header data generated by the timing signal generator 10 and the picture header generator 20, respectively.

또한, 참조부호 40은 상기 헤더 정보 및 타이밍신호 발생부(10)에서 얻어지는 타이밍신호에 따라 상기 데이터 패킹부(30)에서 패킹된 비디오 데이터의 저장 및 판독을 위한 기록/판독 어드레스를 생성하는 어드레스 생성부이고, 50은 상기 어드레스 생성부(40)에서 얻어지는 기록/판독 어드레스에 따라 상기 패킹된 비디오 데이터를 기록 및 판독하는 램이며, 61,62는 상기 램(50)에서 얻어지는 비디오 데이터를 저장하고, 후단의 버퍼 제어부(70)의 제어에 따라 그 저장한 데이터를 소정 단위로 출력하는 제1 및 제2 선입선출기이고, 70은 상기 제1 및 제2 선입선출기(61)(62)의 기록 및 판독을 제어하고 판독한 데이터는 바이트 단위로 출력하는 버퍼 제어부이다.Further, reference numeral 40 is an address generation for generating a write / read address for storing and reading the video data packed by the data packing unit 30 according to the header information and the timing signal obtained from the timing signal generator 10. 50 is a RAM for recording and reading the packed video data according to the write / read address obtained from the address generator 40, 61, 62 stores video data obtained from the RAM 50, First and second first-in, first-out first-out machines that output the stored data in predetermined units under the control of the buffer controller 70 at a later stage, and 70 denotes recording of the first and second first-in first-out machines 61 and 62. And a buffer control unit for controlling the reading and outputting the read data in byte units.

이와 같이 구성된 본 발명에 의한 가변 부호화기는, 먼저 헤더 정보 및 타이밍신호 발생부(10)에서 입력되는 동기신호(sync[4])에 따라 입력 매크로블록 데이터(MB Data)에 슬라이스 헤더 데이터를 부가하여 매크로블록 데이터 및 헤더 데이터를 발생하고, 상기 매크로블록을 기준으로 시간 분할을 하여 데이터를 처리할 수 있는 타이밍 신호를 생성한다.The variable encoder according to the present invention configured as described above first adds slice header data to the input macroblock data MB Data according to the header information and the synchronization signal sync [4] input from the timing signal generator 10. Generate macroblock data and header data, and generate timing signals capable of processing data by time division based on the macroblocks.

즉, 상기 헤더 정보 및 타이밍신호 발생부(10)는, 입력되는 동기 신호를 이용하여 타이밍 신호를 발생하게 되는데, 여기서 동기 신호는 128사이클마다 매번 발생되므로 그 동기 신호에 따라 카운터를 동작시켜 기록 사이클과 판독 사이클을 할당한다. 다시 말해, 도2의 (d)와 같이 각 매크로블록은 128사이클로 이루어지므로, 이를 시간적으로 분할하여, (e)와 같이 분할한 117 사이클은 램(50)에 데이터를 기록하는 사이클로 할당하고, (f)와 같이 분할한 10사이클은 상기 램(50)에 저장한 데이터를 판독하는 사이클로 할당한다. 여기서 램(50)에 데이터를 기록하는 기록 사이클로 할당된 117 사이클은, 색차신호 구조가 4:2:0인 경우 (g)와 같이 3사이클은 매크로블록(MB) 헤더를 발생시키는 데 할당하고, 6개의 블록(매크로블록을 소정개로 분할한 블록을 말함)에 대해 19사이클씩 할당한다. 또한 각 블록에 할당된 19사이클은 DC처리를 위해서 1사이클이, AC 처리를 위해서 18사이클이 할당된다. 이 경우 최대 발생 가능한 비트는 매크로블록당 6816 비트가 발생하는데, 엠펙2(MPEG2)에서 제안하는 매크로블록 당 최대 비트수 4608 비트를 만족시킨다. 아울러 램(50)에 기록된 데이터를 판독하기 위해서 할당된 10사이클은 데이터 처리가 64비트인 경우 매크로블록 당 640비트가 발생한다. 따라서 1920 * 1080 이미지인 경우 160Mbps까지 지원이 가능하다. 그리고 매크로블록의 128사이클중 남은 1사이클은 슬라이스 헤더 정보를 발생시키는 데 할당한다. 이러한 타이밍에 의해 데이터를 발생하여 저장하고 저장된 데이터를 판독하는 경우, 시스템 전체적으로 기록 사이클 동안에만 데이터가 발생되고, 판독 사이클 동안에는 데이터가 발생하지 않는다.That is, the header information and timing signal generator 10 generates a timing signal by using the input synchronization signal. Since the synchronization signal is generated every 128 cycles, the counter is operated according to the synchronization signal to write a recording cycle. And read cycles. In other words, since each macroblock consists of 128 cycles as shown in (d) of FIG. 2, the macroblocks are divided in time, and 117 cycles divided as shown in (e) are allocated as cycles for writing data to the RAM 50, and ( The divided 10 cycles as in f) are allocated to cycles for reading the data stored in the RAM 50. Here, 117 cycles allocated as write cycles for writing data to the RAM 50 are allocated three cycles to generate a macroblock (MB) header as in (g) when the color difference signal structure is 4: 2: 0. 19 cycles are allocated for 6 blocks (blocks in which macroblocks are divided into predetermined blocks). In addition, 19 cycles allocated to each block are allocated 1 cycle for DC processing and 18 cycles for AC processing. In this case, the maximum possible bit is 6816 bits per macroblock, which satisfies the maximum number of bits 4608 bits per macroblock proposed by MPEG2. In addition, 10 cycles allocated for reading data recorded in the RAM 50 generate 640 bits per macroblock when the data processing is 64 bits. Thus, up to 160Mbps can be supported for 1920 * 1080 images. One cycle out of the 128 cycles of the macroblock is allocated to generate slice header information. When data is generated and stored at this timing and the stored data is read out, data is generated only during the write cycle as a whole of the system, and no data is generated during the read cycle.

한편, 픽쳐 헤더 발생부(20)는 상기 헤더 정보 및 타이밍 신호 발생부(10)에서 얻어지는 타이밍 신호에 따라 픽쳐 헤더 정보를 발생시키는데, 여기서 픽쳐 헤더 정보도 기록 사이클 동안에만 발생한다.On the other hand, the picture header generator 20 generates picture header information according to the header information and the timing signal obtained from the timing signal generator 10, where the picture header information is also generated only during the recording cycle.

다음으로, 데이터 패킹부(30)는 상기 헤더 정보 및 타이밍 신호 발생부(10)에서 얻어지는 슬라이스 헤더 정보와 매크로블록 데이터 및 상기 픽쳐 헤더 발생부(20)에서 얻어지는 픽쳐 헤더 정보를 64비트로 패킹 한다.Next, the data packing unit 30 packs the slice header information obtained from the header information and the timing signal generator 10, the macroblock data, and the picture header information obtained from the picture header generator 20 into 64 bits.

이렇게 패킹된 64비트 데이터는 어드레스 생성부(40)를 통해 램(50)에 전달되며, 상기 어드레스 생성부(40)는 상기 헤더정보 및 타이밍신호 발생부(10)에서 얻어지는 동기신호에 따라 기록 어드레스 및 판독 어드레스를 생성한다.The packed 64-bit data is transferred to the RAM 50 through the address generator 40, and the address generator 40 writes the address according to the synchronization information obtained from the header information and the timing signal generator 10. And a read address.

상기와 같이 생성되는 기록 어드레스 및 판독 어드레스는 램(50)에 전달되어 패킹된 64비트를 저장하거나 또는 그 저장한 데이터를 판독하도록 한다. 여기서 램(50)은 단방향 에스램(SRAM)이다. 종래와 같이 양방향 에스램을 사용하면 시간 분할을 하지 않고 리드/라이트를 독립적으로 수행할 수 있는 장점이 있으나, 반면 양방향 에스램은 데이터의 저장 크기가 적어서 다수개를 사용해야 하는 문제점이 발생하므로, 본 발명에서는 단방향 에스램을 사용하고 기록/판독 어드레스를 제어함으로써 기록/판독 시간의 중복 없이 높은 비트 레이트의 데이터 처리가 가능하다.The write address and read address generated as described above are transferred to the RAM 50 to store the packed 64-bit or read the stored data. The RAM 50 here is a one-way SRAM. As in the prior art, the use of bidirectional esram has the advantage of independently performing read / write without time division. On the other hand, bidirectional esram has a problem that a large number of data is used due to the small storage size of data. In the present invention, by using unidirectional SRAM and controlling the write / read address, high bit rate data processing is possible without duplication of write / read time.

한편, 상기 램(50)에서 출력되는 64비트의 데이터는 최종 출력을 바이트 단위로 하기 위해서 제1 및 제2 선입선출기(61)(62)에 각각 4바이트씩 저장된 후 바이트 단위로 출력된다.On the other hand, the 64-bit data output from the RAM 50 is stored in the first and second first-in first-out (61) 62 (62), respectively, in order to make the final output in the byte unit and then output in the byte unit.

여기서, 제1 및 제2 선입선출기(61)(62)는 각각 4바이트의 데이터를 입력받은 후 1바이트씩 데이터를 출력하는 특성을 갖는데, 이를 버퍼 제어부(70)에서 제어한다. 즉 버퍼 제어부(70)는 제1선입선출기(61)에 대해 4번의 리드를 수행하고, 다음 4사이클 동안 제2선입선출기(62)에 대해 4번의 리드를 수행한다. 상기와 같이 두 개의 선입선출기를 사용함으로써 64비트의 데이터를 읽어 버퍼링 시키면서 데이터를 1바이트씩 차례로 읽어야 하는 복잡한 리드 타이밍을 피할 수 있다.Here, the first and second first-in, first-out (61) 62 has a characteristic of outputting data by 1 byte after receiving 4 bytes of data, respectively, which is controlled by the buffer controller 70. In other words, the buffer controller 70 performs four reads for the first-in, first-out machine 61, and performs four reads for the second first-in, first-out machine 62 for the next four cycles. By using two first-in, first-outs as described above, a complicated read timing that requires reading data one by one while sequentially buffering 64-bit data can be avoided.

아울러 상기 버퍼 제어부(70)는 리드한 데이터에 대해 8비트로 출력하고 그 데이터 출력시에는 데이터 클록도 함께 출력한다.In addition, the buffer controller 70 outputs the read data in 8 bits, and also outputs a data clock when the data is output.

이상에서 상술한 바와 같이, 본 발명은 데이터를 시간 분할로 처리함으로써 가변 부호화에서 필요한 블록당 처리시간, 매크로블록당 처리시간, 슬라이스당 처리시간, 픽쳐당 처리시간을 고정 할당할 수 있어 각 처리 블록당의 타이밍 충돌을 피할 수 있고 쓰기/읽기 중복을 회피할 수 있어 시스템 동작의 안정도를 향상시킬 수 있는 이점이 있다.As described above, according to the present invention, by processing the data by time division, the processing time per block, processing time per macroblock, processing time per slice, and processing time per picture can be fixedly allocated to each processing block. It is possible to avoid party timing conflicts and to avoid write / read duplication, thereby improving the stability of system operation.

또한, 단가가 높은 양방향 메모리 대신 가격이 낮은 단방향 메모리를 이용하여 비디오 데이터의 처리가 가능하므로 시스템 구성시 하드웨어의 소요 비용도 저감시킬 수 있는 이점이 있다.In addition, since video data can be processed using a low-cost one-way memory instead of a high-cost two-way memory, hardware cost can be reduced when configuring a system.

Claims (4)

입력 비디오 데이터를 가변 부호화하여 비디오 코드를 발생하고, 그 발생한 코드를 원하는 비트 레이트로 출력하는 부호화기에 있어서,In the encoder for variably encoding the input video data to generate a video code, and outputs the generated code at a desired bit rate, 입력되는 매크로블록 데이터에 슬라이스 헤더 정보를 추가하여 비디오 데이터 및 슬라이스 헤더 데이터를 발생하고, 상기 매크로블록을 기준으로 시간 분할을 하여 상기 발생한 비디오 데이터의 처리를 위한 타이밍신호를 발생하는 헤더 정보 및 타이밍신호 발생부와;Header information and timing signal for generating video data and slice header data by adding slice header information to input macroblock data, and generating a timing signal for processing the generated video data by time division based on the macroblock. A generator; 상기 헤더 정보 및 타이밍신호 발생부에서 얻어지는 타이밍신호에 따라 픽쳐 헤더를 발생하는 픽쳐 헤더 발생부와;A picture header generator for generating a picture header according to the header information and a timing signal obtained from the timing signal generator; 상기 헤더 정보 및 타이밍신호 발생부와 픽쳐 헤더 발생부에서 각각 발생되는 매크로블록 데이터와 슬라이스 헤더 데이터 및 픽쳐 헤더 데이터를 패킹 하는 데이터 패킹부와;A data packing unit for packing macroblock data, slice header data, and picture header data generated by the header information and timing signal generator and the picture header generator; 상기 헤더 정보 및 타이밍신호 발생부에서 얻어지는 타이밍신호에 따라 상기 데이터 패킹부에서 패킹된 비디오 데이터의 저장 및 판독을 위한 기록/판독 어드레스를 생성하는 어드레스 생성부와;An address generator for generating a write / read address for storing and reading the video data packed by the data packing unit according to the header information and the timing signal obtained from the timing signal generator; 상기 어드레스 생성부에서 얻어지는 기록/판독 어드레스에 따라 상기 패킹된 비디오 데이터를 기록 및 판독하는 램과;A RAM for recording and reading the packed video data according to a write / read address obtained from the address generator; 상기 램에서 얻어지는 비디오 데이터를 저장하고, 버퍼 제어부의 제어에 따라 그 저장한 데이터를 소정 단위로 출력하는 제1 및 제2 선입선출기와;First and second first-in, first-out and first-in-first-out units for storing video data obtained from the RAM and outputting the stored data in predetermined units under the control of a buffer controller; 상기 제1 및 제2 선입선출기의 기록 및 판독을 제어하고 판독한 데이터는 바이트 단위로 출력하는 버퍼 제어부를 포함하여 구성된 것을 특징으로 하는 고화질 텔레비전의 가변 부호화기.And a buffer controller for controlling the recording and reading of the first and second first-in-first-out machines and outputting the read data in byte units. 제1항에 있어서, 상기 헤더 정보 및 타이밍신호 생성부는, 입력되는 동기 신호에 따라 매크로블록을 기준으로 128사이클을 시간적으로 분할하여 데이터의 쓰기 및 읽기 타이밍신호를 발생하는 것을 특징으로 하는 고화질 텔레비전의 가변 부호화기.The high-definition television set as claimed in claim 1, wherein the header information and timing signal generator generates data write and read timing signals by time-dividing 128 cycles based on a macroblock according to an input synchronization signal. Variable encoder. 제2항에 있어서, 상기 헤더 정보 및 타이밍 신호 생성부는, 128 사이클을 시간적으로 분할하여 117 사이클은 램에 데이터를 기록하는 사이클로 할당하고, 10사이클은 상기 램에 저장한 데이터를 판독하는 사이클로 할당하며, 나머지 1사이클은 슬라이스 헤더 데이터 생성 사이클로 할당해주는 것을 특징으로 하는 고화질 텔레비전의 가변 부호화기.The method of claim 2, wherein the header information and timing signal generator divides 128 cycles in time, allocating 117 cycles as cycles for writing data to RAM, and 10 cycles as cycles for reading data stored in the RAM. And one remaining cycle is allocated to slice header data generation cycles. 제3항에 있어서, 상기 기록용으로 할당된 117사이클은, 색차신호 구조가 4:2:0인 경우 3사이클은 매크로블록(MB) 헤더를 발생시키는 데 할당되고, 6개의 블록(매크로블록을 소정개로 분할한 블록)에 대해 19사이클이 할당되며, 각 블록에 할당된 19사이클은 DC처리를 위해서 1사이클, AC 처리를 위해서 18사이클이 할당되는 것을 특징으로 하는 고화질 텔레비전의 가변 부호화기.The method of claim 3, wherein the 117 cycles allocated for recording are allocated three cycles to generate a macroblock (MB) header when the color difference signal structure is 4: 2: 0. 19 cycles are assigned to each block, and 19 cycles assigned to each block are allocated 1 cycle for DC processing and 18 cycles for AC processing.
KR1019990015699A 1999-04-30 1999-04-30 Variable length coder in HDTV KR100285420B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990015699A KR100285420B1 (en) 1999-04-30 1999-04-30 Variable length coder in HDTV

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990015699A KR100285420B1 (en) 1999-04-30 1999-04-30 Variable length coder in HDTV

Publications (2)

Publication Number Publication Date
KR20000067690A KR20000067690A (en) 2000-11-25
KR100285420B1 true KR100285420B1 (en) 2001-03-15

Family

ID=19583285

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990015699A KR100285420B1 (en) 1999-04-30 1999-04-30 Variable length coder in HDTV

Country Status (1)

Country Link
KR (1) KR100285420B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101277713B1 (en) 2007-02-08 2013-06-24 삼성전자주식회사 Apparatus and method for video encoding

Also Published As

Publication number Publication date
KR20000067690A (en) 2000-11-25

Similar Documents

Publication Publication Date Title
KR100230159B1 (en) Signal processor
US5315388A (en) Multiple serial access memory for use in feedback systems such as motion compensated television
US5309450A (en) Error correction coding method and apparatus for digital image information
US5023718A (en) Storing digital video signals
US5440706A (en) Data shuffling apparatus possessing reduced memory
JP3185863B2 (en) Data multiplexing method and apparatus
US5892522A (en) Method and apparatus for addressing a memory area of an MPEG decoder
JP2000106677A (en) Compression stream decoder and compression stream decoding method
KR100285420B1 (en) Variable length coder in HDTV
US6122020A (en) Frame combining apparatus
JP3825888B2 (en) Signal processing apparatus / method and memory storage method
JP2003259315A (en) Apparatus and method for transmitting image
US5940017A (en) Apparatus for decoding variable length coded data
US6151036A (en) Large capacity data storage device
JP2000307534A (en) Data processing unit and data transmitter
KR100259139B1 (en) Input buffer controlling apparatus for audio decorder
KR100240005B1 (en) Frame memory control method and device for moving image signal compression
KR970005657B1 (en) Bit stream transmission apparatus using multi-harddisk
JP2001217878A (en) Data transmitter and method, and data receiver and method
KR100224822B1 (en) Variable bit rate data format device and format structure of a sector thereby
JP3079615B2 (en) Multimedia data playback device
JPH114443A (en) Information processing unit
JPH10262215A (en) Moving image decoder
EP0805597B1 (en) Memory multiplexing system for a high definition video decoder
KR20000025302A (en) Method for generating frame memory address for use in video decoder

Legal Events

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

Payment date: 20121224

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20131223

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20141218

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20151221

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20161125

Year of fee payment: 17

FPAY Annual fee payment

Payment date: 20171220

Year of fee payment: 18

LAPS Lapse due to unpaid annual fee