KR100841338B1 - 비디오 디코더를 위한 에뮬레이션 방지 바이트 제거 장치 - Google Patents
비디오 디코더를 위한 에뮬레이션 방지 바이트 제거 장치 Download PDFInfo
- Publication number
- KR100841338B1 KR100841338B1 KR1020070019787A KR20070019787A KR100841338B1 KR 100841338 B1 KR100841338 B1 KR 100841338B1 KR 1020070019787 A KR1020070019787 A KR 1020070019787A KR 20070019787 A KR20070019787 A KR 20070019787A KR 100841338 B1 KR100841338 B1 KR 100841338B1
- Authority
- KR
- South Korea
- Prior art keywords
- stream data
- buffer
- emulation prevention
- byte
- prevention byte
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/24—Systems for the transmission of television signals using pulse code modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
여기에 개시된 에뮬레이션 방지 바이트 제거 장치는, 제1 스트림 데이터를 저장하기 위한 제1 버퍼와, 제2 스트림 데이터를 저장하기 위한 제2 버퍼와, 상기 제1 및 제2 버퍼들에 저장된 상기 제1 및 제2 스트림 데이터에 에뮬레이션 방지 바이트가 포함되어 있는 지를 검사하고, 검사 신호를 출력하는 검사기, 그리고 상기 검사 신호에 응답해서 상기 제1 및 제2 버퍼들로부터의 상기 제1 및 2 스트림 데이터에서 상기 에뮬레이션 방지 바이트를 제거한 후 소정 크기의 출력 스트림 데이터를 출력하는 쉬프터를 포함한다.
Description
도 1은 본 발명의 바람직한 실시예에 따른 영상 처리 시스템을 보여주는 도면;
도 2는 본 발명의 바람직한 실시예에 따른 에뮬레이션 방지 바이트 제거기의 구체적인 구성을 보여주는 블록도;
도 3은 스트림 데이터에 에뮬레이션 방지 바이트가 포함된 경우들을 예시적으로 보여주는 도면; 그리고
도 4 내지 도 6은 도 2에 도시된 에뮬레이션 방지 바이트 제거기의 동작을 설명하기 위해서 다양한 스트림 데이터를 예시적으로 보여주는 도면들이다.
*도면의 주요 부분에 대한 설명
100 : 영상 처리 시스템 110 : 메모리
120 : 에뮬레이션 방지 바이트 제거기
130 : 디코더 210, 220, 230 : 버퍼
240 : 에뮬레이션 방지 바이트 검사기
250 : 바이트 쉬프터 260 : 포인터
본 발명은 영상 처리 시스템에 관한 것으로, 좀 더 구체적으로는 비디오 디코더를 포함하는 시스템에 관한 것이다.
H.264는 국제전기통신연합(ITU-T:International Telecommunication Unio)에서 제안하는 비디오 코덱에 관련된 권고안으로서, 영상 회의와 방송, 스트리밍(streaming) 서비스 등에 적용할 수 있는 패킷(packet) 기반의 동영상 압축 기술의 하나이다. H.264는 H.262를 기반으로 하는 MPEG-2나 H.263을 기반으로 하는 MPEG-4에 비해 더욱 향상된 압축률을 가진다.
H.264 압축 방식에 의하면, 스트림 데이터(stream data)에 에뮬레이션 바이트(emulation byte)가 나타날 수 있다. 에뮬레이션 바이트에는 0x000001, 0x000002, 0x000003 등이 있다. H.264 시스템은 에뮬레이션 바이트와 노말 스트림 데이터를 구별하기 위해 에뮬레이션 방지 바이트(emulation prevent byte) 0x03을 에뮬레이션 바이트 형태의 스트림 데이터에 포함시킨다. 즉, 노말 스트림 데이터 0x000001, 0x000002 및 0x000003는 각각 0x0000031, 0x00000302 및 0x00000303으로 정정된다.
그러나, 디코더에 의해서 스트림 데이터가 디코딩되기 위해서는 스트림 데이터에 포함된 에뮬레이션 방지 바이트가 제거되어야만 한다. 영상의 해상도가 높아지고, 빠른 속도로 스트림 데이터를 처리하기 위해서는 소프트웨어적 방식으로 에뮬레이션 방지 바이트를 제거하는데 한계가 있다.
따라서 본 발명의 목적은 효율적으로 에뮬레이션 방지 바이트를 제거할 수 있는 장치를 제공하는데 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 일 특징에 의하면, 비디오 디코더를 위한 에뮬레이션 방지 바이트를 제거하는 장치는: 제1 스트림 데이터를 저장하기 위한 제1 버퍼와, 제2 스트림 데이터를 저장하기 위한 제2 버퍼와, 상기 제1 및 제2 버퍼들에 저장된 상기 제1 및 제2 스트림 데이터에 상기 에뮬레이션 방지 바이트가 포함되어 있는 지를 검사하고, 검사 신호를 출력하는 검사기, 그리고 상기 검사 신호에 응답해서 상기 제1 및 제2 버퍼들로부터의 상기 제1 및 2 스트림 데이터에서 상기 에뮬레이션 방지 바이트를 제거한 후 소정 크기의 출력 스트림 데이터를 출력하는 쉬프터를 포함한다.
이 실시예에 있어서, 상기 제2 버퍼에 저장된 상기 제2 스트림 데이터는 상기 제1 스트림 데이터로서 상기 제1 버퍼로 이송되고, 외부로부터 입력되는 스트림 데이터는 상기 제2 스트림 데이터로서 상기 제2 버퍼에 저장된다.
이 실시예에 있어서, 상기 제1 및 제2 스트림 데이터 각각은 복수의 바이트들을 포함한다.
이 실시예에 있어서, 상기 제1 스트림 데이터와 제2 스트림 데이터는 연속된 데이터이다.
이 실시예에 있어서, 상기 쉬프터는, 상기 제1 및 제2 스트림 데이터에 포함 된 상기 에뮬레이션 방지 바이트를 제거한 후 제1 및 제2 스트림 데이터의 나머지 바이트들을 왼쪽으로 쉬프트하여 상기 출력 스트림 데이터를 생성한다.
이 실시예에 있어서, 상기 쉬프터로부터 출력되는 상기 출력 스트림 데이터를 저장하기 위한 제 3 버퍼를 더 포함한다.
이 실시예에 있어서, 상기 제 3 버퍼는, 상기 출력 스트림 데이터의 일부를 저장한다.
이 실시예에 있어서, 상기 제 3 버퍼는, 상기 출력 스트림 데이터의 최하위 2 바이트를 저장한다.
이 실시예에 있어서, 상기 검사기는, 상기 제1 및 제2 버퍼들에 저장된 상기 제1 및 제2 스트림 데이터와 상기 제3 버퍼에 저장된 상기 출력 스트림 데이터를 입력받아서 상기 에뮬레이션 방지 바이트가 포함되어 있는 지를 검사하고, 상기 검사 신호를 출력한다.
이 실시예에 있어서, 상기 쉬프터에 의해서 상기 출력 스트림 데이터가 생성되는 상기 제1 스트림 데이터의 시작 위치를 나타내는 포인트 값을 출력하는 포인터를 더 포함한다.
이 실시예에 있어서, 상기 포인터는, 상기 쉬프터에 의해서 상기 에뮬레이션 방지 바이트가 제거될 때마다 상기 포인트 값을 증가시킨다.
이 실시예에 있어서, 상기 쉬프터는, 워드 단위로 상기 출력 스트림 데이터를 출력한다.
이 실시예에 있어서, 상기 워드 단위는 4 바이트이다.
본 발명의 다른 특징에 따른 비디오 디코더를 위한 에뮬레이션 방지 바이트를 제거하는 장치는: 제1 스트림 데이터를 저장하기 위한 제1 버퍼와, 제2 스트림 데이터를 저장하기 위한 제2 버퍼와, 제 3 스트림 데이터를 저장하기 위한 제3 버퍼와, 상기 제1 내지 제3 버퍼들에 저장된 상기 제1 내지 제3 스트림 데이터를 입력받아서 상기 에뮬레이션 방지 바이트가 포함되어 있는 지를 검사하고, 검사 신호를 출력하는 검사기, 그리고 상기 검사 신호에 응답해서 상기 제1 및 제2 버퍼에 저장된 상기 제1 및 2 스트림 데이터에서 상기 에뮬레이션 방지 바이트를 제거하고, 포인트 값이 지정하는 위치부터 소정 크기의 출력 스트림 데이터를 출력하는 쉬프터; 그리고 상기 포인트 값을 출력하는 포인터를 포함한다. 상기 출력 스트림 데이터는 상기 제3 스트림 데이터로서 상기 제3 버퍼에 저장된다.
이하 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 영상 처리 시스템을 보여주는 도면이다.
도 1을 참조하면, 영상 처리 시스템(100)은 메모리(110). 에뮬레이션 방지 바이트(EPB) 제거기(120) 그리고 디코더(130)를 포함한다. H.264 시스템 등과 같은 영상 처리 시스템은 도 1에 도시된 구성 요소들 외에 더 많은 구성들을 포함하나, 본 명세서에서는 에뮬레이션 방지 바이트 제거를 위해 필요한 일부 구성들 만을 도시하고 설명한다.
에뮬레이션 방지 바이트 제거기(120)는 클럭 신호(CLK)에 동기해서 메모 리(110)로부터 입력 스트림 데이터(I_STR[31:0])를 입력받는다. 메모리(110)와 제거기(120)는 DMA(direct memory access) 등을 통해 연결될 수 있다. 다른 실시예에서, 메모리(110)는 FIFO(First-In First-Out)로 구성될 수 있다.
에뮬레이션 방지 바이트 제거기(120)는 입력 스트림 데이터(I_STR[31:0])에 에뮬레이션 방지 바이트가 포함되었는 지를 검사하고, 스트림 데이터(I_STR[31:0])에 에뮬레이션 방지 바이트가 포함되었을 때 에뮬레이션 방지 바이트를 제거한 후 워드 단위의 출력 스트림 데이터(O_STR[31:0])를 출력한다. 디코더(130)는 에뮬레이션 방지 바이트를 포함하지 않는 출력 스트림 데이터(O_STR[31:0])를 디코딩한다.
에뮬레이션 방지 바이트 제거기(120)는, 입력 스트림 데이터(I_STR[31:0])에 에뮬레이션 방지 바이트가 포함된 경우 하나의 스트림 데이터(I_STR[31:0])만으로 출력 스트림 데이터(O_STR[31:0])를 생성할 수 없다. 그러므로 에뮬레이션 방지 바이트 제거기(120)는 적어도 연속된 두 개의 입력 스트림 데이터(I_STR[31:0])를 순차적으로 입력받아서 출력 스트림 데이터(O_STR[31:0])를 생성할 수 있는 구조를 갖는다.
도 2는 본 발명의 바람직한 실시예에 따른 에뮬레이션 방지 바이트 제거기(120)의 구체적인 구성을 보여주는 블록도이다.
도 2를 참조하면, 에뮬레이션 방지 바이트 제거기(120)는 버퍼들(210, 220, 230), 에뮬레이션 방지 바이트 검사기(240), 바이트 쉬프터(250) 그리고 포인터(260)를 포함한다.
도 1에 도시된 메모리(110)로부터의 입력 스트림 데이터(I_STR[31:0])는 클럭 신호(CLK)에 동기해서 버퍼(220)에 저장된다. 다음 클럭 사이클에서, 버퍼(220)에 저장된 k번째 스트림 데이터(Ak[31:0])는 k-1번째 스트림 데이터(Ak-1[31:0])로서 버퍼(210)로 이송(transfer)되고, 메모리(110)로부터의 입력되는 새로운 스트림 데이터(I_STR[31:0])가 k번째 스트림 데이터(Ak[31:0])로서 버퍼(220)에 저장된다.
바이트 쉬프터(250)는 버퍼들(210, 220)에 저장된 스트림 데이터(Ak[31:0], Ak-1[31:0])를 입력받고, 검사 신호(CHK)에 따라서 스트림 데이터(Ak[31:0], Ak-1[31:0])를 쉬프트하여 출력 스트림 데이터(O_STR[31:0])를 출력한다. 출력 스트림 데이터(O_STR[31:0]) 중 하위 2바이트(O_STR[15:0])는 버퍼(230)에 저장된다.
버퍼들(210, 220)에 저장된 k번째 및 k-2번째 스트림 데이터(Ak[31:0], Ak-1[31:0])가 에뮬레이션 방지 바이트 검사기(240)로 입력될 때 버퍼(230)에 저장된 스트림 데이터가 k-2번째 스트림 데이터(Ak-2[31:0])로서 에뮬레이션 방지 바이트 검사기(240)로 입력된다.
에뮬레이션 방지 바이트 검사기(240)는 버퍼들(210, 220)로부터의 스트림 데이터(Ak[31:0], Ak-1[31:0]) 그리고 버퍼(230)로부터의 스트림 데이터(Ak-2[15:0])를 참조하여, 스트림 데이터(Ak-1[31:0], Ak[31:0])에 에뮬레이션 방지 바이트가 포함되 었는 지를 검사한다. 스트림 데이터(Ak-1[31:0], Ak[31:0])에 에뮬레이션 방지 바이트가 포함된 경우는 도 3에 도시된 바와 같이 5가지 케이스들 중 어느 하나이다.
검사기(240)는 스트림 데이터(Ak-1[31:0], Ak[31:0])에 포함된 "0x03"이 에뮬레이션 방지 바이트인지 아니면 노말 바이트인 지를 검사하기 위해서 스트림 데이터(Ak-2[15:0], Ak-1[31:0], Ak[31:0])를 참조한다. 예를 들어, 도 3에 도시된 "Case 0"과 같이 스트림 데이터(Ak-1[31:0])의 바이트(A7)에 0x03이 포함된 경우, 검사기(240)는 바이트(A7)의 "0x03"이 에뮬레이션 방지 바이트인 지를 판별하기 위해서 스트림 데이터(Ak-2[15:0], Ak-1[15:0])를 참조해야 한다.
또한, "Case 3"과 같이 스트림 데이터(Ak-1[31:0])의 바이트(A4)에 0x03이 포함된 경우, 검사기(240)는 바이트(A4)의 "0x03"이 에뮬레이션 방지 바이트인 지를 판별하기 위해서 스트림 데이터(Ak[31:0], Ak-1[15:0])를 참조해야 한다.
다른 예로, "Case 5"과 같이 스트림 데이터(Ak-1[31:0])의 바이트(A7) 및 스트림 데이터(Ak[31:0])의 바이트(A3)에 "0x03"이 포함된 경우, 검사기(240)는 바이트들(A7, A4)의 "0x03"이 에뮬레이션 방지 바이트인 지를 판별하기 위해서 스트림 데이터(Ak-2[31:0], Ak[31:0])를 참조해야 한다.
검사기(240)는 스트림 데이터(Ak-1[31:0])의 바이트들(A7-A4) 중 어느 하나에 포함된 "0x03"이 에뮬레이션 방지 바이트인 것으로 판별될 때 바이트 위치 정보를 검사 신호(CHK)로서 바이트 쉬프터(250)로 제공한다. 이 실시예에 있어서, 검사 신호(CHK)는 바이트들(A7-A0)에 각각 대응하는 최대 8 비트 신호이다.
바이트 쉬프터(250)는 검사 신호(CHK)에 응답해서 스트림 데이터(Ak[31:0], Ak-1[15:0])를 쉬프트하여 출력 스트림 데이터(O_STR[31:0])를 출력한다.
예컨대, "Case 0"에서, 스트림 데이터(Ak-1[31:0])의 바이트(A7)가 에뮬레이션 방지 바이트 "0x03"를 포함하므로, 스트림 데이터(Ak-1[31:0])의 바이트들(A6, A5, A4) 및 스트림 데이터(Ak[31:0])의 바이트(A3)를 왼쪽으로 1바이트씩 쉬프트하여 새로운 4 바이트 출력 스트림 데이터(O_STR[31:0])를 생성한다. 이 때 새로이 생성된 출력 스트림 데이터(O_STR[31:0])는 "0x01040506"이다. 다음 클럭 사이클에서 버퍼(220)의 스트림 데이터(Ak[31:0])는 스트림 데이터(Ak-1[31:0])로서 버퍼(210)로 이송된다. 이 때, 스트림 데이터(Ak-1[31:0])의 바이트(A7)의 "0x06"는 이전 클럭 사이클에서 이미 출력 스트림 데이터(O_STR[31:0])로서 출력되었으므로, 쉬프터(250)는 새로운 클럭 사이클에서 스트림 데이터(Ak-1[31:0])의 바이트(A6)부터 출력 스트림 데이터(O_STR[31:0]) 생성에 사용해야 한다. 이와 같이, 이전 클럭 사이클에서 에뮬레이션 방지 바이트의 제거에 의한 출력 스트림 데이터(O_STR[31:0]) 생성 위치 변화를 나타내기 위해 포인터(260)가 사용된다. 즉, 포인터(260)는 출력 스트림 데이터(O_STR[31:0]) 중 스트림 데이터(Ak-1[31:0])의 위치를 나타내는 포인트 값(P)을 출력한다.
포인터(260)는 바이트 쉬프터(250)에 의해서 에뮬레이션 방지 바이트가 제거될 때마다 1씩 증가하는 포인트 값(P)을 출력한다. 초기에 포인트 값(P)이 '0'일 때 바이트 쉬프터(250)는 스트림 데이터(Ak-1[31:0])의 바이트(A7)부터 출력 스트림 데이터(O_STR[31:0]) 생성에 사용한다. "Case 0" 내지 "Case 3"과 같이, 스트림 데이터(Ak-1[31:0])에 에뮬레이션 방지 바이트 "0x00"이 포함된 경우, 포인트 값(P)은 1 증가하여 "1"로 된다.
초기에 포인트 값(P)이 '0'이고, "Case 4"과 같이, 스트림 데이터(Ak-1[31:0], Ak[31:0])에 에뮬레이션 방지 바이트 "0x00"가 2개 포함된 경우, 포인트 값(P)은 2 증가하여 "2"로 된다.
도 4 내지 도 6은 도 2에 도시된 에뮬레이션 방지 바이트 제거기(120)의 동작을 설명하기 위해서 다양한 스트림 데이터를 예시적으로 보여주는 도면들이다.
도 4를 참조하면, 클럭 신호(CLK)의 사이클(T11)에서 포인트 값(P)은 '0'이고, 바이트(A7)에 에뮬레이션 방지 바이트 "0x00"이 포함된 경우, 출력 스트림 데이터(O_STR[31:0])는 "0x01040506"이다. 클럭 신호(CLK)의 사이클(T12)에서 에뮬레이션 방지 바이트 검사기(240)로 입력되는 스트림 데이터(Ak-2[15:0])는 "0x0506"이고, 스트림 데이터(Ak-1[31:0])는 "0x06070809"이며, 스트림 데이터(Ak[31:0])는 "0x04050607"이다. 클럭 신호(CLK)의 사이클(T11)에서 포인트 값(P)이 '0'에서 '1'로 변경되었으므로, 출력 스트림 데이터(O_STR[31:0])는 "0x07080904"이다.
도 5를 참조하면, 클럭 신호(CLK)의 사이클(T21)에서 포인트 값(P)은 '0'이고, 바이트(A6)에 에뮬레이션 방지 바이트 "0x00"이 포함된 경우, 출력 스트림 데 이터(O_STR[31:0])는 "0x00010405"이다. 클럭 신호(CLK)의 사이클(T22)에서 에뮬레이션 방지 바이트 검사기(240)로 입력되는 스트림 데이터(Ak-2[15:0])는 "0x0405"이고, 스트림 데이터(Ak-1[31:0])는 "0x05060708"이고, 스트림 데이터(Ak[31:0])는 "0x09040506"이다. 클럭 신호(CLK)의 사이클(T21)에서 포인트 값(P)이 '0'에서 '1'로 변경되었으므로, 출력 스트림 데이터(O_STR[31:0])는 "0x06070809"이다.
도 6을 참조하면, 클럭 신호(CLK)의 사이클(T31)에서 포인트 값(P)은 '1'이고, 바이트(A5)에 에뮬레이션 방지 바이트 "0x00"이 포함된 경우, 출력 스트림 데이터(O_STR[31:0])는 "0x00010405"이다. 클럭 신호(CLK)의 사이클(T32)에서 에뮬레이션 방지 바이트 검사기(240)로 입력되는 스트림 데이터(Ak-2[15:0])는 "0x0405"이고, 스트림 데이터(Ak-1[31:0])는 "0x04050607"이고, 스트림 데이터(Ak[31:0])는 "0x08090405"이다. 클럭 신호(CLK)의 사이클(T31)에서 포인트 값(P)이 '1'에서 '2'로 변경되었으므로, 출력 스트림 데이터(O_STR[31:0])는 "0x06070809"이다.
예시적인 바람직한 실시예들을 이용하여 본 발명을 설명하였지만, 본 발명의 범위는 개시된 실시예들에 한정되지 않는다는 것이 잘 이해될 것이다. 오히려, 본 발명의 범위에는 다양한 변형 예들 및 그 유사한 구성들이 모두 포함될 수 있도록 하려는 것이다. 따라서, 청구범위는 그러한 변형 예들 및 그 유사한 구성들 모두를 포함하는 것으로 가능한 폭넓게 해석되어야 한다.
이와 같은 본 발명에 의하면, 스트림 데이터에 포함된 에뮬레이션 방지 바이 트를 효율적으로 제거할 수 있다. 또한, 제1 및 제2 버퍼들이 2워드 길이의 스트림 데이터를 저장하므로, 스트림 데이터에 에뮬레이션 방지 바이트가 포함되어 있더라도 클럭 사이클의 지연없이 매 클럭 사이클마다 출력 스트림 데이터가 출력된다.
Claims (22)
- 제1 스트림 데이터를 저장하기 위한 제1 버퍼와;제2 스트림 데이터를 저장하기 위한 제2 버퍼와;상기 제1 및 제2 버퍼들에 저장된 상기 제1 및 제2 스트림 데이터에 에뮬레이션 방지 바이트가 포함되어 있는 지를 검사하고, 검사 신호를 출력하는 검사기; 그리고상기 검사 신호에 응답해서 상기 제1 및 제2 버퍼들로부터의 상기 제1 및 2 스트림 데이터에서 상기 에뮬레이션 방지 바이트를 제거한 후 소정 크기의 출력 스트림 데이터를 출력하는 쉬프터를 포함하는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 1 항에 있어서,상기 제2 버퍼에 저장된 상기 제2 스트림 데이터는 상기 제1 스트림 데이터로서 상기 제1 버퍼로 이송되고,외부로부터 입력되는 스트림 데이터는 상기 제2 스트림 데이터로서 상기 제2 버퍼에 저장되는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 2 항에 있어서,상기 제1 및 제2 스트림 데이터 각각은 복수의 바이트들을 포함하는 것을 특 징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 3 항에 있어서,상기 제1 스트림 데이터와 제2 스트림 데이터는 연속된 데이터인 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 4 항에 있어서,상기 쉬프터는,상기 제1 및 제2 스트림 데이터에 포함된 상기 에뮬레이션 방지 바이트를 제거한 후 제1 및 제2 스트림 데이터의 나머지 바이트들을 왼쪽으로 쉬프트하여 상기 출력 스트림 데이터를 생성하는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 5 항에 있어서,상기 쉬프터로부터 출력되는 상기 출력 스트림 데이터를 저장하기 위한 제 3 버퍼를 더 포함하는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 6 항에 있어서,상기 제 3 버퍼는,상기 출력 스트림 데이터의 일부를 저장하는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 6 항에 있어서,상기 제 3 버퍼는,상기 출력 스트림 데이터의 최하위 2 바이트를 저장하는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 6 항에 있어서,상기 검사기는,상기 제1 및 제2 버퍼들에 저장된 상기 제1 및 제2 스트림 데이터와 상기 제3 버퍼에 저장된 상기 출력 스트림 데이터를 입력받아서 상기 에뮬레이션 방지 바이트가 포함되어 있는 지를 검사하고, 상기 검사 신호를 출력하는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 5 항에 있어서,상기 쉬프터에 의해서 생성된 상기 출력 스트림 데이터 중 상기 제1 스트림 데이터의 시작 위치를 나타내는 포인트 값을 출력하는 포인터를 더 포함하는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 10 항에 있어서,상기 포인터는,상기 쉬프터에 의해서 상기 에뮬레이션 방지 바이트가 제거될 때마다 상기 포인트 값을 증가시키는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 1 항에 있어서,상기 쉬프터는,워드 단위로 상기 출력 스트림 데이터를 출력하는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 12 항에 있어서,상기 워드 단위는 4 바이트인 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 비디오 디코더를 위한 에뮬레이션 방지 바이트를 제거하는 장치에 있어서:제1 스트림 데이터를 저장하기 위한 제1 버퍼와;제2 스트림 데이터를 저장하기 위한 제2 버퍼와;제 3 스트림 데이터를 저장하기 위한 제3 버퍼와;상기 제1 내지 제3 버퍼들에 저장된 상기 제1 내지 제3 스트림 데이터를 입력받아서 상기 에뮬레이션 방지 바이트가 포함되어 있는 지를 검사하고, 검사 신호를 출력하는 검사기; 그리고상기 검사 신호에 응답해서 상기 제1 및 제2 버퍼에 저장된 상기 제1 및 2 스트림 데이터에서 상기 에뮬레이션 방지 바이트를 제거하고, 포인트 값이 지정하는 위치부터 소정 크기의 출력 스트림 데이터를 출력하는 쉬프터; 그리고상기 포인트 값을 출력하는 포인터를 포함하며;상기 출력 스트림 데이터는 상기 제3 스트림 데이터로서 상기 제3 버퍼에 저장되는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 14 항에 있어서,상기 제2 버퍼에 저장된 상기 제2 스트림 데이터는 상기 제1 스트림 데이터로서 상기 제1 버퍼로 이송되고,외부로부터 입력되는 스트림 데이터는 상기 제2 스트림 데이터로서 상기 제2 버퍼에 저장되는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 15 항에 있어서,상기 제1 및 제2 스트림 데이터 각각은 복수의 바이트들을 포함하는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 16 항에 있어서,상기 제1 스트림 데이터와 제2 스트림 데이터는 연속된 데이터인 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 17 항에 있어서,상기 쉬프터는,상기 제1 및 제2 스트림 데이터에 포함된 상기 에뮬레이션 방지 바이트를 제거한 후 제1 및 제2 스트림 데이터의 나머지 바이트들을 왼쪽으로 쉬프트하여 상기 출력 스트림 데이터를 생성하는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 18 항에 있어서,상기 제 3 버퍼는,상기 출력 스트림 데이터의 최하위 2 바이트를 상기 제3 스트림 데이터로서 저장하는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 제 18 항에 있어서,상기 검사기는,상기 제1 및 제2 버퍼들에 저장된 상기 제1 및 제2 스트림 데이터와 상기 제3 버퍼에 저장된 상기 출력 스트림 데이터를 입력받아서 상기 에뮬레이션 방지 바이트가 포함되어 있는 지를 검사하고, 상기 검사 신호를 출력하는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
- 삭제
- 제 14 항에 있어서,상기 포인터는,상기 쉬프터에 의해서 상기 에뮬레이션 방지 바이트가 제거될 때마다 상기 포인트 값을 증가시키는 것을 특징으로 하는 에뮬레이션 방지 바이트 제거 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070019787A KR100841338B1 (ko) | 2007-02-27 | 2007-02-27 | 비디오 디코더를 위한 에뮬레이션 방지 바이트 제거 장치 |
US12/071,831 US8867900B2 (en) | 2007-02-27 | 2008-02-27 | Emulation prevention byte removers for video decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070019787A KR100841338B1 (ko) | 2007-02-27 | 2007-02-27 | 비디오 디코더를 위한 에뮬레이션 방지 바이트 제거 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100841338B1 true KR100841338B1 (ko) | 2008-06-26 |
Family
ID=39717263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070019787A KR100841338B1 (ko) | 2007-02-27 | 2007-02-27 | 비디오 디코더를 위한 에뮬레이션 방지 바이트 제거 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8867900B2 (ko) |
KR (1) | KR100841338B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9014259B2 (en) | 2010-12-21 | 2015-04-21 | Samsung Electronics Co., Ltd. | Apparatus and method for sequentially parsing bitstreams based on removal of emulation prevention byte |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120163471A1 (en) * | 2010-12-23 | 2012-06-28 | Qualcomm Incorporated | Variable length coding of video block coefficients |
US9490839B2 (en) | 2011-01-03 | 2016-11-08 | Qualcomm Incorporated | Variable length coding of video block coefficients |
US9516316B2 (en) | 2011-06-29 | 2016-12-06 | Qualcomm Incorporated | VLC coefficient coding for large chroma block |
US9338456B2 (en) | 2011-07-11 | 2016-05-10 | Qualcomm Incorporated | Coding syntax elements using VLC codewords |
US9854261B2 (en) | 2015-01-06 | 2017-12-26 | Microsoft Technology Licensing, Llc. | Detecting markers in an encoded video signal |
US10271069B2 (en) | 2016-08-31 | 2019-04-23 | Microsoft Technology Licensing, Llc | Selective use of start code emulation prevention |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003080788A (ja) | 2001-09-10 | 2003-03-19 | Ricoh Co Ltd | 画像形成装置 |
KR20040075956A (ko) * | 2002-01-22 | 2004-08-30 | 마이크로소프트 코포레이션 | 시작 코드 에뮬레이션 방지 및 데이터 스터핑 방법 및시스템 |
KR20050113501A (ko) * | 2004-05-29 | 2005-12-02 | 삼성전자주식회사 | 에이치 264 비디오 디코더를 위한 구문 분석기 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4448334B2 (ja) | 2002-04-19 | 2010-04-07 | マイクロソフト コーポレーション | バイト整列されていない(non−byte−alignedpositions)のポジション、および/またはビット・シフトされたポジション(bit−siftedpositions)を含む位置におけるスタート・コード・エミュレーションを防ぐための方法およびシステム |
US7436328B2 (en) | 2003-07-09 | 2008-10-14 | Texas Instruments Incorporated | Video coding with start code emulation prevention |
US20060013318A1 (en) * | 2004-06-22 | 2006-01-19 | Jennifer Webb | Video error detection, recovery, and concealment |
US7974307B2 (en) * | 2006-11-30 | 2011-07-05 | Vestel Elektronik Sanayi Ve Ticaret A.S. | Methods and apparatus for data decoding/encoding and for searching for/inserting stuffing bytes |
-
2007
- 2007-02-27 KR KR1020070019787A patent/KR100841338B1/ko not_active IP Right Cessation
-
2008
- 2008-02-27 US US12/071,831 patent/US8867900B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003080788A (ja) | 2001-09-10 | 2003-03-19 | Ricoh Co Ltd | 画像形成装置 |
KR20040075956A (ko) * | 2002-01-22 | 2004-08-30 | 마이크로소프트 코포레이션 | 시작 코드 에뮬레이션 방지 및 데이터 스터핑 방법 및시스템 |
KR20050113501A (ko) * | 2004-05-29 | 2005-12-02 | 삼성전자주식회사 | 에이치 264 비디오 디코더를 위한 구문 분석기 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9014259B2 (en) | 2010-12-21 | 2015-04-21 | Samsung Electronics Co., Ltd. | Apparatus and method for sequentially parsing bitstreams based on removal of emulation prevention byte |
KR101861621B1 (ko) * | 2010-12-21 | 2018-05-30 | 삼성전자주식회사 | 에뮬레이션 방지 바이트 제거에 기초하여 순차적으로 비트 스트림을 파싱하는 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20080209180A1 (en) | 2008-08-28 |
US8867900B2 (en) | 2014-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100841338B1 (ko) | 비디오 디코더를 위한 에뮬레이션 방지 바이트 제거 장치 | |
US6026506A (en) | Concealing errors in transport stream data | |
KR0137701B1 (ko) | 엠피이지-2(mpeg-2) 시스템의 피이에스(pes) 패킷화 장치 | |
US6181706B1 (en) | Common buffer for multiple streams and control registers in an MPEG-2 compliant transport register | |
JP3693702B2 (ja) | 逆トランスポート・プロセッサに関する媒体エラー・コード発生器 | |
JPH11252062A (ja) | 通信方式における信号の同期化および巡回冗長検査を効率的に実行する方法および装置 | |
US6088357A (en) | Auxiliary transport assist processor especially for an MPEG-2 compliant decoder | |
US9872062B1 (en) | Enforcing synchronization by embedding audio within video frame data | |
KR20010024033A (ko) | 코드화된 데이터를 디멀티플렉스하는 장치 | |
JP2008034905A (ja) | デジタル伝送装置及び方法 | |
JP2008108100A (ja) | 音声データ処理装置 | |
US9172995B2 (en) | Transcoding device, transcoding method and program thereof | |
JP2007124495A (ja) | ストリームデータ処理装置 | |
JP2007124639A (ja) | データパケットを記憶するための方法及びシステム | |
US7778475B2 (en) | Motion picture processing device | |
KR20160008011A (ko) | 초고해상도 영상 처리를 위한 장치 | |
US8331459B2 (en) | Method and apparatus for smooth digital media playback | |
JP2010239433A (ja) | 映像符号化装置、方法及びプログラム | |
JP5187134B2 (ja) | 信号処理装置及び信号処理方法 | |
KR100375830B1 (ko) | 피씨알 지터 제거장치 및 방법 | |
KR0147122B1 (ko) | 엠펙2의 트랜스포트 디코더 장치 | |
KR100582033B1 (ko) | 디지털 신호처리 프로세서와 메모리간의 데이터 운용 장치및 운용 방법 | |
KR100266172B1 (ko) | 고선명 텔레비젼(hdtv)의 에러 처리장치 | |
KR950013876B1 (ko) | 가변장 부호 복호기의 에러처리장치 | |
KR100421833B1 (ko) | 엠펙2비디오디코더의화면스킵장치및방법 |
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: 20130531 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140530 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150601 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |