KR100205226B1 - 비디오 디코더의 스타트 코드 검출회로 - Google Patents

비디오 디코더의 스타트 코드 검출회로 Download PDF

Info

Publication number
KR100205226B1
KR100205226B1 KR1019960059938A KR19960059938A KR100205226B1 KR 100205226 B1 KR100205226 B1 KR 100205226B1 KR 1019960059938 A KR1019960059938 A KR 1019960059938A KR 19960059938 A KR19960059938 A KR 19960059938A KR 100205226 B1 KR100205226 B1 KR 100205226B1
Authority
KR
South Korea
Prior art keywords
code
start code
state
din
state machine
Prior art date
Application number
KR1019960059938A
Other languages
English (en)
Other versions
KR19980040714A (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 윤종용
Priority to KR1019960059938A priority Critical patent/KR100205226B1/ko
Publication of KR19980040714A publication Critical patent/KR19980040714A/ko
Application granted granted Critical
Publication of KR100205226B1 publication Critical patent/KR100205226B1/ko

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/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/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

Abstract

본 발명은 코드화 된 비디오 비트스트림에서 바이트 얼라인된 스타트 코드를 상태머신을 이용하여 구하는 비디오 디코더의 스타트 코드 검출회로에 관한 것으로, 비디오 디코더에서의 코드화된 비디오 비트스트림에서 바이트 얼라인된 스타트 코드를 검출하기 위한 스타트 코드 검출회로에 있어서, 상기 비트스트림의 두 바이트 단위의 데이타가 "00(H)" "0" "1" 순으로 입력되면 상기 비트스트림이 스타트 코드임을 인식하는 상태머신; 및 상기 상태머신에서 스타트 코드임을 인식한 경우 그 다음에 입력되는 두 바이트의 데이타를 코드 ID로 출력하는 출력수단을 포함함을 특징으로 하여, 코드화 된 비디오 비트 스트림에서 바이트 얼라인된 스타트 코드를 상태 머신을 이용하여 구함으로써, 적은 수의 게이트만으로도 스타트 코드를 구할 수 있다.

Description

비디오 디코더의 스타트 코드 검출회로
본 발명은 비디오 디코더의 스타트 코드 검출회로에 관한 것으로, 특히 코드화된 비디오 비트스트림에서 바이트 얼라인된 스타트 코드를 상태머신을 이용하여 구하는 비디오 디코더의 스타트 코드 검출회로에 관한 것이다.
스타트 코드는 32비트로 이루어져 있으며 비트 스트림을 순차적으로 디코딩하려면 32개의 레지스터가 필요하다. 따라서 이를 구현하기 위해서는 많은 소자가 소요되고, 그에 따라 칩의 면적이 커지는 문제점이 있었다.
본 발명의 목적은 상태머신을 이용하여 게이트 수를 줄여 스타트 코드를 검출할 수 있는 MPEG 비디오 디코더의 스타트 코드 검출회로을 제공하는 데 있다.
도 1은 본 발명에 의한 비디오 디코더의 스타트 코드 검출회로의 구성도를 도시한 도면이다.
상기 과제를 이루기 위하여 본 발명에 의한 스타트 코드 검출회로는,
비디오 디코더에서의 코드화된 비디오 비트스트림에서 바이트 얼라인된 스타트 코드를 검출하기 위한 스타트 코드 검출회로에 있어서, 상기 비트스트림의 두 바이트 단위의 데이타가 "00(H)" "0" "1" 순으로 입역되면 상기 비트스트림이 스타트 코드임을 인식하는 상태머신; 및 상기 상태머신에서 스타트 코드임을 인식한 경우 그 다음에 입력되는 두 바이트의 데이타를 코드 ID로 출력하는 출력수단을 포함함을 특징으로 한다.
이하에서 첨부된 도면을 참조하면서 본 발명에 따른 바람직한 실시예를 설명한다.
스타트 코드는 비디오 스트림에서 발생되지 않는 특정 패턴의 바이트 얼라인된 코드로 구성된다. 그 스타트 코드의 구성은 다음에 도시된 표 1과 같다.
이 름 16진수 값
picture_start_code 0 0 0 0 0 1 0 0
slice_start_codes(slice_vertical_positions 포함) 0 0 0 0 0 1 0 1 부터 0 0 0 0 0 1 A F
resersed 0 0 0 0 0 1 B 0
reserved 0 0 0 0 0 1 B 1
user_data_start_code 0 0 0 0 0 1 B 2
sequence_header_code 0 0 0 0 0 1 B 3
sequence_error_code 0 0 0 0 0 1 B 4
entension_start_code 0 0 0 0 0 1 B 5
reserverd 0 0 0 0 0 1 B 6
sequence_end_code 0 0 0 0 0 1 B 7
group_start_code 0 0 0 0 0 1 B 8
system_start_codes 0 0 0 0 0 1 B 9 부터 0 0 0 0 0 1 F F
위의 표 1을 참조하면, 모든 스타트 코드는 DATA[31:0]=000001XX(16진수) 의 데이타 형태로 구성되어 있다. 그러므로 DATA[31:8]=000001이면 스타트 코드이고, 이 때 DATA[7:0]를 코드 ID라 하여 각각을 구한다. 따라서 본 발명에서는 스타트 코드가 바이트 얼라인된 점을 착안하여 상태머신을 이용하면 적은 수의 게이트만으로도 스타트 코드를 구할 수 있다.
도 1은 본 발명에 의한 비디오 디코더의 스타트 코드 검출회로의 구성도를 도시한 도면으로, din[7:0]과 new_valid_din을 이용하여 스타트 코드와 코드 ID를 검출할 수 있다. 도면에서, 11은 비트스트림에서 스타트 코드를 검출하기 위한 상태머신, 13은 din신호와 code_id 신호를 먹스하여 출력하는 먹스(MUX), 그리고 15는 먹스(13)의 출력을 래치하여 출력하는 플립플럽을 나타낸다.
그리고 도면에 표시된 신호의 기능은 다음과 같다. din[7:0]은 바이트 얼라인된 데이타를 나타내고, new_valid_din은 상태머신의 동작여부를 결정하는 제어신호를 나타내며, code_id는 스타트 코드에 부가된 특정 코드를 나타낸다.
상태머신(11)이 초기 리셋상태일 때는 상태0(state0)에 있으며, din new_valid_din 신호에 따라 동작된다. 상태머신(11)은 new_valid_din이 "H"(로직 하이)일 때 din의 값을 판단하여 그 값에 따라 동작한다.
din의 값이 "00(Hexa)"이면 상태머신의 상태는 상태1(state1)이 되고, din의 값이 "0"이 아니면 상태0 상태를 그대로 유지한다. 상태1 상태에서 din의 값이 "0"이면 상태가 상태2(state2)로 바뀌고 그렇지 않으면 상태0로 바뀐다. 상태2인 상태에서는 din의 값이 "1"인지를 판단한다. 만일 그렇다면 상태3(state3)으로 바뀌고, 그렇지 않으면 상태2 상태를 그대로 유지하며, 만일 din이 "0"도 "1"도 아니면 상태0로 바뀐다. 이렇게 하여 din의 값 "1"을 검출할 수 있다.
din의 값이 "1"로 검출되면 그 다음에 입력되는 바이트 얼라인된 값이 곧 코드 ID(code_id)값이 되므로, 상태를 상태4(state4)로 바꾸어 new_valid_din의 값이 "H"인 동안 스타트 코드를 1로 하고 이 때의 코드 ID 값이 유효한 값으로 플립플럽(15)에서 출력된다. 상태4에서는 din이 "0"이면 상태1로 바뀌고, 그렇지 않으면 상태0로 바뀐다.
다음은 상기한 상태머신의 동작을 HDL(Hardware Description Language)로 나타낸 것이다.
module start_code_det (clk, reset, din, new_valid_din, start_code, code_id)
input clk, reset, new_valid_data;
input[7:0] din;
ouput start_code;
output[7:0] code_id;
wire start_code;
reg[2:0] start, next_state;
reg[7:0] code_id;
parameter
state0 = 3'h0, state1 = 3'h1, state = 3'h2
state3 = 3'h3, state4 = 3'h4
always @(posedge clk or posedge reset) begin
if (reset)
state = state0; code_id = 8'hff;
else
state = next_state;
if (new_valid_din)
code_id = din;
end
always @(state or new_valid_din or din) begin
next_state = state;
if (new_valid_din) begin
case (state)// synopsys full_case
state0: begin
if (din=8'h00) next_state = state1;
else next_state = state0; end
state1: begin
if (din=8'h00) next_state = state2;
else next_state = state0; end
state2: begin
if (din=8'h01) next_state = state3;
else if (din=8'h00) next_state = state2;
else next_state = state0; end
state3: begin
next_state = state4; end
state4: begin
if (din=8'h00) next_state = state1;
else next_state = state0; end
endcase
end
end
assign start_code + (state == state4);
endmodule
상술한 바와 같이 본 발명에 따른 비디오 디코더의 스타트 코드 검출회로에 의하면 코드화된 비디오 비트 스트림에서 바이트 얼라인된 스타트 코드를 상태 머신을 이용하여 구함으로써, 적은 수의 게이트만으로도 스타트 코드를 구할 수 있다.

Claims (2)

  1. 비디오 디코더에서의 코드화된 비디오 비트스트림에서 바이트 얼라인된 스타트 코드를 검출하기 위한 스타트 코드 검출회로에 있어서,
    상기 비트스트림의 두 바이트 단위의 데이타가 "00(H)" "0" "1" 순으로 입역되면 상기 비트스트림이 스타트 코드임을 인식하는 상태머신; 및
    상기 상태머신에서 스타트 코드임을 인식한 경우 그 다음에 입력되는 두 바이트의 데이타를 코드 ID로 출력하는 출력수단을 포함함을 특징으로 하는 스타트 코드 검출회로.
  2. 제 1 항에 있어서, 상기 상태머신의 동작여부를 결정하는 제어신호를 발생하는 수단을 더 포함함을 특징으로 하는 스타트 코드 검출회로.
KR1019960059938A 1996-11-29 1996-11-29 비디오 디코더의 스타트 코드 검출회로 KR100205226B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960059938A KR100205226B1 (ko) 1996-11-29 1996-11-29 비디오 디코더의 스타트 코드 검출회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960059938A KR100205226B1 (ko) 1996-11-29 1996-11-29 비디오 디코더의 스타트 코드 검출회로

Publications (2)

Publication Number Publication Date
KR19980040714A KR19980040714A (ko) 1998-08-17
KR100205226B1 true KR100205226B1 (ko) 1999-07-01

Family

ID=19484744

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960059938A KR100205226B1 (ko) 1996-11-29 1996-11-29 비디오 디코더의 스타트 코드 검출회로

Country Status (1)

Country Link
KR (1) KR100205226B1 (ko)

Also Published As

Publication number Publication date
KR19980040714A (ko) 1998-08-17

Similar Documents

Publication Publication Date Title
US8065249B1 (en) GPSTP with enhanced aggregation functionality
US7248740B2 (en) Methods and systems for preventing start code emulation at locations that include non-byte aligned and/or bit-shifted positions
US4937573A (en) Variable length code and devices for high frequency transmission
US6208275B1 (en) Method and apparatus for digital concatenation
JP2000092036A (ja) ビットストリ―ム内のシ―ケンスを検出するための方法および装置
DE69431065T2 (de) Viterbi pipelinedekoder
US8867900B2 (en) Emulation prevention byte removers for video decoder
US6546065B1 (en) Frame synchronous circuit
KR100205226B1 (ko) 비디오 디코더의 스타트 코드 검출회로
KR930011453A (ko) 비타비 복호 장치
US20010030615A1 (en) Variable length decoding system and method
US5228065A (en) Arrangement for producing a synchronizing pulse
US20030233609A1 (en) Parallel error checking for multiple packets
WO2002023774A3 (en) Methods and apparatuses for time and space switching of sonet framed data
US20060214820A1 (en) Decoder circuit
CA2212099C (en) Apparatus and method for removing error data decoding delay in a dtv
US20040196167A1 (en) Variable-length decoding apparatus and method, computer program, and computer-readable storage medium
KR100685649B1 (ko) H.264 엔코더 가변장부호화를 위한 비트열 관리기
KR100197375B1 (ko) 에이브이 기기의 원격제어용 수신기
US20020093978A1 (en) Synchronous protocol encoding and decoding method
US20020184412A1 (en) System and method for locating and aligning to framing bits
KR19990047315A (ko) 병렬 순환 여유도 검사(crc) 회로
KR0136821Y1 (ko) 데이터 네트워크
KR100283088B1 (ko) 비동기식 가변길이 복호장치
KR900001514Y1 (ko) 텔리텍스트의 패키트 어드레스 검출회로

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

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee