KR101861621B1 - 에뮬레이션 방지 바이트 제거에 기초하여 순차적으로 비트 스트림을 파싱하는 장치 및 방법 - Google Patents

에뮬레이션 방지 바이트 제거에 기초하여 순차적으로 비트 스트림을 파싱하는 장치 및 방법 Download PDF

Info

Publication number
KR101861621B1
KR101861621B1 KR1020100131791A KR20100131791A KR101861621B1 KR 101861621 B1 KR101861621 B1 KR 101861621B1 KR 1020100131791 A KR1020100131791 A KR 1020100131791A KR 20100131791 A KR20100131791 A KR 20100131791A KR 101861621 B1 KR101861621 B1 KR 101861621B1
Authority
KR
South Korea
Prior art keywords
bit
bit stream
bitstream
buffer
emulation prevention
Prior art date
Application number
KR1020100131791A
Other languages
English (en)
Other versions
KR20120070292A (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 KR1020100131791A priority Critical patent/KR101861621B1/ko
Priority to US13/331,713 priority patent/US9014259B2/en
Priority to EP11194929.3A priority patent/EP2469858B1/en
Publication of KR20120070292A publication Critical patent/KR20120070292A/ko
Application granted granted Critical
Publication of KR101861621B1 publication Critical patent/KR101861621B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Computing Systems (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

에뮬레이션 방지 바이트 제거에 기초하여 순차적으로 비트 스트림을 파싱하는 장치 및 방법에 관한 것으로서, 입력된 비트 스트림 중에서 에뮬레이션 방지 바이트(EPB, Emulation Prevention Byte) 패턴을 검출하는 구성, 순차적으로 입력되는 상기 비트 스트림을 저장하는 구성, 상기 입력된 비트 스트림에서 상기 에뮬레이션 방지 바이트 패턴이 제거된 가공 비트 스트림을 저장하는 구성, 및 버퍼 선택 플래그의 입력에 기초하여, 레지스터 버퍼의 출력을 선택하는 구성을 포함한다.

Description

에뮬레이션 방지 바이트 제거에 기초하여 순차적으로 비트 스트림을 파싱하는 장치 및 방법{APPARATUS OF PROGRESSIVELY PARSING BIT STREAM BASED ON REMOVAL EMULATION PREVENTION BYTE AND METHOD OF THE SAME}
본 발명은 오디오/비디오 복호화기의 설계에 있어서 비트 스트림을 고속으로 파싱하는, 프로세서의 인스트럭션으로 사용 가능한 전용 하드웨어 장치 및 방법에 대한 것으로서, 에뮬레이션 방지 바이트 제거에 기초하여 순차적으로 비트 스트림을 파싱하는 기술적 사상을 개시한다.
근래에는, 특정 목적에 알맞은 프로세서의 개발을 통해 기존의 하드웨어 설계를 대체하는 연구가 많이 진행되는 추세이다.
오디오와 비디오의 비트 스트림을 고속으로 복호화하기 위해서는 요청하는 길이의 비트 스트림을 읽어오고 비트 스트림의 위치를 이동하는 기능을 하는 GetBits, 요청하는 길이의 비트 스트림을 읽어오고 비트 스트림의 위치를 이동하지 않는 기능을 하는 ShowBits, 비트 스트림의 위치만을 이동시키는 SkipBits의 기능구현이 필수적이다.
이러한 세 가지의 기능은 오디오와 비디오 코덱의 종류와 상관없이 공통적으로 비트 스트림을 파싱하는데 사용될 수 있다.
비디오 코덱 중 가장 널리 사용되고 있는 H.264/AVC는 NAL(Network Abstraction Layer)의 구분을 위하여 스타트 코드(start code, 0x00000001)를 사용한다. H.264/AVC의 복호화 시스템은 이러한 NAL의 스타트 코드를 먼저 확인하여 비트 스트림에서 하나의 NAL 단위를 판단하고, 해당 NAL 내부의 비트 스트림을 복호화할 수 있다.
그러나, 비트 스트림을 부호화하는 과정에서, NAL의 중간에서 스타트 코드와 동일한 패턴이 발생할 수 있는데, H.264/AVC에서는 에뮬레이션 방지 바이트(0x03)를 비트 스트림에 추가 삽입함으로써, NAL의 중간에서 스타트 코드와 동일한 패턴이 발생할 수 있는 문제를 해결한다.
따라서 H.264/AVC 복호화기는 NAL의 복호화에 앞서 단일의 NAL 내부에 존재하는 에뮬레이션 방지 바이트를 먼저 제거해야만 한다.
비트 스트림을 순차적으로 읽어와서 비트 스트림을 복호화하는 시스템에서는, 에뮬레이션 방지 바이트를 먼저 제거하기 위해 NAL을 먼저 읽은 후 순차적으로 파싱하면서 에뮬레이션 방지 바이트 코드를 찾은 후 해당 바이트 코드를 제거하고, 다시 NAL의 시작점부터 비트 스트림의 복호화를 수행해야 한다.
이러한 점은 비트 스트림을 메모리에서 중복적으로 로드해야 하므로 시스템의 성능을 저하시킬 수 있다.
본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 장치는 입력된 비트 스트림 중에서 에뮬레이션 방지 바이트(EPB, Emulation Prevention Byte) 패턴을 검출하는 에뮬레이션 방지 바이트 처리부, 순차적으로 입력되는 상기 비트 스트림을 저장하는 제1 레지스터 버퍼부, 상기 입력된 비트 스트림에서 상기 에뮬레이션 방지 바이트 패턴이 제거된 가공 비트 스트림을 저장하는 제2 레지스터 버퍼부, 및 버퍼 선택 플래그의 입력에 기초하여, 상기 제1 레지스터 버퍼부 및 상기 제2 레지스터 버퍼부 중에서 적어도 어느 하나의 레지스터 버퍼의 출력을 선택하는 출력 버퍼 선택부를 포함할 수 있다.
본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법은 입력된 비트 스트림 중에서 에뮬레이션 방지 바이트(EPB, Emulation Prevention Byte) 패턴을 검출하는 단계, 순차적으로 입력되는 상기 비트 스트림을 저장하는 저장하는 단계, 상기 입력된 비트 스트림에서 상기 에뮬레이션 방지 바이트 패턴이 제거된 가공 비트 스트림을 저장하는 단계, 및 버퍼 선택 플래그의 입력에 기초하여, 상기 비트 스트림 및 상기 가공 비트 스트림 중에서 적어도 어느 하나의 출력을 선택하는 단계를 포함할 수 있다.
도 1은 본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 장치를 설명하는 블록도이다.
도 2 및 도 3은 본 발명의 일실시예에 따른 EPB 패턴 검출부의 동작 예를 설명하는 도면이다.
도 4는 도 3의 실시예를 위한 바이트 콜렉터를 포함하는 추가 장치를 설명하는 도면이다.
도 5는 본 발명의 일실시예에 따른 비트 위치 계산부를 구체적으로 설명하는 도면이다.
도 6은 본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법을 설명하는 흐름도이다.
도 7은 본 발명의 일실시예에 따른 출력 버퍼 선택부의 동작 방법을 설명하는 흐름도이다.
도 8은 본 발명의 일실시예에 따른 위치 저장 레지스터 값을 갱신하는 방법을 설명하는 흐름도이다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 장치(100)를 설명하는 블록도이다.
본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 장치(100)는 압축된 비디오와 오디오 비트 스트림을 고속 파싱하는데 필요한 Getbits, Showbits, Skipbits 기능을 포함하는 고속 파싱 장치로서, 비트 스트림을 앞에서부터 순차적으로 복호화하는 순차 복호화 기능을 제공할 수 있다.
구체적으로, 본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 장치(100)는 에뮬레이션 방지 바이트(EPB, Emulation Prevention Byte) 처리부(120, 130), 제1 레지스터 버퍼부(110), 제2 레지스터 버퍼부(140), 및 출력 버퍼 선택부(150)를 포함할 수 있다.
먼저, 에뮬레이션 방지 바이트 처리부(120, 130)는 순차적으로 입력된 비트 스트림 중에서 에뮬레이션 방지 바이트 패턴을 확인하고, 제거함으로써, 가공 비트 스트림을 생성할 수 있다.
이를 위해, 에뮬레이션 방지 바이트 처리부(120, 130)는 EPB 패턴 검출부(120)와 EPB 패턴 레지스터(130)를 포함할 수 있다.
EPB 패턴 레지스터(130)는 입력되는 명령어에 따라, 특정 레지스터에 검출하려는 에뮬레이션 방지 바이트 패턴을 확인할 수 있다.
EPB 패턴 검출부(120)는 순차적으로 입력되는 비트 스트림에서 상기 확인된 에뮬레이션 방지 바이트 패턴을 제거하여, 상기 가공 비트 스트림을 생성할 수 있다.
본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 장치(100)는 순차적으로 비트 스트림을 한 번 읽어오면서 동시에 에뮬레이션 바이트 방지 코드를 제거할 수 있도록 장치 내부에 에뮬레이션 바이트가 제거된 비트 스트림을 저장하는 버퍼들과 에뮬레이션 바이트가 제거되지 않은 비트 스트림을 저장하는 버퍼들을 포함할 수 있다.
이를 위해, 본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 장치(100)는 제1 레지스터 버퍼부(110) 및 제2 레지스터 버퍼부(140)를 포함할 수 있다.
제1 레지스터 버퍼부(110)는 순차적으로 입력되는 상기 비트 스트림을 저장할 수 있다.
구체적으로, 제1 레지스터 버퍼부(110)는 EPB가 포함된 비트 스트림이 저장될 수 있는데, RAM(Random Access Memory) 또는 DRAM(Dynamic Random Access Memory)에 저장되는 입력 비트 스트림을 내부 레지스터에 저장하기 위하여 1버퍼(111), 2 버퍼(112), 3 버퍼(113)를 포함할 수 있다.
1버퍼(111), 2 버퍼(112), 3 버퍼(113)는 32비트 크기의 레지스터로 구성될 수 있고, 상기 비트 스트림은 1버퍼(111), 2 버퍼(112), 3 버퍼(113)의 순으로 저장될 수 있다.
예를 들어, 비트 스트림 '0xAAAAAAAABBBBBBBBCCCCCCCC'가 순차적으로 로드되는 경우, 1 버퍼(111)에 '0xAAAAAAAA', 2 버퍼(112)에 '0xBBBBBBBB', 3 버퍼(113)에 '0xCCCCCCCC'가 저장될 수 있다.
EPB를 포함하는 비트 스트림을 저장하는 제1 레지스터 버퍼부(110)는 초기화 명령어가 입력될 때 모두 채워질 수 있다.
제2 레지스터 버퍼부(140)는 상기 입력된 비트 스트림에서 상기 에뮬레이션 방지 바이트 패턴이 제거된 가공 비트 스트림을 저장할 수 있다.
즉, 제2 레지스터 버퍼부(140)는 A 버퍼(141), B 버퍼(142), 및 C 버퍼(143)를 이용하여, EPB가 제거된 가공 비트 스트림을 저장할 수 있다.
A 버퍼(141), B 버퍼(142), 및 C 버퍼(143)는 각각 32비트의 레지스터로 구성될 수 있다.
EPB 패턴 검출부(120)는 1 버퍼(111)의 하위 16비트, 2 버퍼(112)의 32비트, 3 버퍼(113)의 32비트, 및 입력으로 들어오는 32비트를 입력 받을 수 있다.
EPB 패턴 검출부(120)는 입력되는 비트 스트림에 대하여 EPB 패턴 레지스터(130)에서 확인된 에뮬레이션 방지 바이트 패턴이 있는지 검출할 수 있다.
이에, EPB 패턴 검출부(120)는 입력되는 비트 스트림에서, EPB 패턴을 제거한 나머지 비트들을 EPB를 제2 레지스터 버퍼부(140)에 저장할 수 있다.
출력 버퍼 선택부(150)는 버퍼 선택 플래그의 입력에 기초하여, 제1 레지스터 버퍼부(110) 및 제2 레지스터 버퍼부(140) 중에서 적어도 어느 하나의 레지스터 버퍼의 출력을 선택할 수 있다.
본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 장치(100)는 비트 위치 계산부(160) 및 비트 시프터(170)를 더 포함할 수 있다.
본 발명의 일실시예에 따른 비트 시프터(170)는 출력 버퍼 선택부(150)의 선택에 기초하여, 선택된 레지스터 버퍼의 출력을 수신하여 시프트 연산할 수 있다.
본 발명의 일실시예에 따른 비트 위치 계산부(160)는 비트 조작 명령어 및 요청 비트 수를 입력받아 기저장된 비트 스트림의 비트 위치를 조정하고, 상기 비트 위치를 조정하기 전의 비트 위치를 비트 시프터(170)로 출력할 수 있다.
다시 말해, 출력 버퍼 선택부(150)는 입력 값인 버퍼 선택 플래그에 따라 EPB를 포함하는 제1 레지스터 버퍼부(110) 또는 EPB를 미 포함하는 제2 레지스터 버퍼부(140) 중 하나의 출력을 비트 시프터(170)로 전달할 수 있다.
비트 위치 계산부(160)는 버퍼 선택 플래그의 입력에 따라 1 버퍼(111)와 A 버퍼(141)에 저장된 비트 오프셋을 비트 시프터(170)에 선택적으로 출력할 수 있다.
또한, 비트 위치 계산부(160)는 GetBits, ShowBits, SkipBits의 비트 조작 명령어 중에서, GetBits와 SkipBits의 비트 조작 명령어에 대해서만 현재 비트 위치에서 요청 비트 수만큼 이동 시킬 수 있다.
비트 시프터(170)는 비트 위치 계산부(160)로부터 받은 비트 위치 정보와 출력 버퍼 선택부(150)를 통해 입력 받은 비트 스트림을 이용하여 32비트의 값을 출력하여, 신속하고 정확하게 처리되는 복호화를 지원할 수 있다.
결국, 본 발명에 따르면 메모리에 있는 비트 스트림의 로드를 최소화 시키기 위해서 단 한번의 순차적 메모리 로드를 통한 복호화를 지원하고, 이러한 순차 메모리 로드 방식에서도 효과적으로 에뮬레이션 방지 코드 제거 기능을 포함하는 비트 스트림 파싱 전용의 하드웨어를 제공할 수 있다.
도 2 및 도 3은 본 발명의 일실시예에 따른 EPB 패턴 검출부의 동작 예를 설명하는 도면이다.
먼저, 도 2는 EPB 패턴 검출부의 동작 예와 그 결과를 EPB를 미 포함하는 제2 레지스터 버퍼부에 저장하는 실시예를 설명한다.
도 2는 2 버퍼와 3 버퍼에 연속하여 EPB 패턴이 존재하는 실시예에 관한 것으로서, EPB 패턴 검출부는 도 1에 도시된 비트 위치 계산부에 의해, 업데이트된 A 버퍼의 위치 정보가 32보다 크거나 같을 때 동작할 수 있다.
또한, 1 버퍼, 2 버퍼, 3 버퍼의 값이 이송되기 전에 EPB 패턴 검출부로 입력되는 과정(200)이 수행될 수 있다.
실제로 EPB 패턴을 검출하는 위치는 2 버퍼, 3 버퍼, 및 32비트 입력의 레지스터만 해당되고, 2 버퍼에서 1 버퍼와 연속해서 나타날 수 있는 EPB 패턴을 검출하기 위하여 1 버퍼의 값을 참조할 수 있다.
도 2의 EPB 패턴 검출 과정은 3바이트 값에 대하여 도 1에 도시된 EPB 패턴 레지스터에 저장된 값과 비교하는 과정(210)이 동시에 수행될 수 있다.
EPB 패턴의 검출 과정(210)이 완료되면, EPB 패턴 값인 0x03이 제거된 비트 스트림이 도 1에 도시된 제2 레지스터 버퍼부에 저장되는 과정(220)이 진행될 수 있다.
이때, 도 2에 도시된 바와 같이, EPB 패턴 값을 제거한 후 해당 공간을 유지시키지 않고 연속하는 비트 스트림이 저장될 수 있다.
다음으로, 도 3을 살펴보면, EPB 패턴 검출부는 도 1에 도시된 비트 위치 계산부에 의해, 업데이트된 A 버퍼 위치 정보가 32보다 크거나 같을 때 동작할 수 있다.
도면부호 300과 같이, 입력되는 비트 스트림은 1 버퍼, 2 버퍼, 3 버퍼의 값에 전달됨과 동시에 EPB 패턴 검출부로 입력된다. 실제로 EPB 패턴을 검출하는 위치는 2 버퍼, 3 버퍼, 및 32비트 입력의 레지스터만 해당되나, 2 버퍼에서 1 버퍼와 연속해서 나타날 수 있는 EPB 패턴을 검출하기 위하여 1 버퍼의 값을 참조할 수 있다.
도면부호 310을 참조하면, 도 3의 EPB 패턴 검출 과정은 3바이트 값에 대하여 도 1에 도시된 EPB 패턴 레지스터에 저장된 값과 비교하는 과정을 동시에 수행할 수 있다.
도면부호 310의 과정이 완료되면 EPB 패턴 값이 0x03일 때의 제거된 비트 스트림이 제2 레지스터 버퍼부에 저장될 수 있다.
이때, 도 3에 도시된 것과 같이 EPB 패턴이 제거된 비트 스트림은 A 버퍼, B 버퍼, 및 C 버퍼의 LSB(Least Significant Bit)위치로 정렬 후 저장될 수 있다.
이러한 저장 과정은 2 버퍼에서 EPB가 제거된 바이트 값이 A 버퍼의 LSB 위치부터 정렬되어 저장되고, 3 버퍼에서 EPB가 제거된 바이트 값이 B 버퍼의 LSB 위치부터 정렬되어 저장되고, 32비트 입력에서 EPB가 제거된 바이트 값이 C 버퍼의 LSB 위치부터 정렬 후 저장될 수 있다.
예를 들어, 3 버퍼에는 2 버퍼에서부터 연속하여 존재하는 0x03비트 패턴이 제거되고 나머지 비트 값들인 0x54, 0x00, 0x00가 LSB 위치에 저장될 수 있다.
도면부호 320을 참조하면, A 버퍼, B 버퍼, C 버퍼의 각 버퍼에 대하여 실제로 시작하는 비트 위치 정보를 저장하기 위한 A 오프셋(321), B 오프셋(322), C 오프셋(323)이 존재한다.
도 3에 도시한 실시예와 같이 B 버퍼에서 EPB 패턴이 한 개 검출된 경우 B 버퍼의 LSB 위치부터 저장되기 때문에 실제로 유효한 비트의 오프셋은 '8'이되며, 따라서 B 오프셋(322)에는 '8'의 값이 저장된다. A 오프셋(321)과 C 오프셋(323)은 각각 A 버퍼 및 C 버퍼에서 유효한 비트의 위치를 저장할 수 있다.
도 4는 도 3의 실시예를 위한 바이트 콜렉터를 포함하는 추가 장치(400)를 설명하는 도면이다.
도 4의 바이트 콜렉터(410)는 EPB 패턴 검출부의 출력 값을 저장하는 예에 있어서 도 3의 실시예를 이용할 때, A 버퍼(420), B 버퍼(440), C 버퍼(460)에서 유효한 비트를 수집하여, 도 1에 도시된 출력 버퍼 선택부의 입력 값을 생성할 수 있다.
도 3의 실시예를 따르면 A 버퍼(420), B 버퍼(440), C 버퍼(460)는 EPB 패턴이 제거된 비트 스트림을 포함하기 때문에 최대 32비트의 요청에 대한 리턴 값을 만들기 위해서는 최소 3개의 버퍼를 사용해야 한다.
이를 위해 도 4에 도시된 바이트 콜렉터(410)는 A 버퍼(420), B 버퍼(440), C 버퍼(460)에 저장된 비트 스트림과 각 버퍼의 오프셋(430, 450, 470)을 입력받아, 도 1에서 도시한 출력 버퍼 선택부의 입력을 위한 64비트의 비트 스트림을 구성할 수 있다.
도 5는 본 발명의 일실시예에 따른 비트 위치 계산부를 구체적으로 설명하는 도면이다.
도 5를 참조하면 비트 위치 계산부(500)는 1버퍼 위치 저장 레지스터(510), A버퍼 위치 저장 레지스터(520), 위치 저장 레지스터 값 갱신부(530), 위치저장 레지스터 출력 선택부(540)를 포함할 수 있다.
1버퍼 위치 저장 레지스터(510)는 EPB를 포함하는 제1 레지스터 버퍼부 중에서, 1 버퍼에서 파싱을 수행할 비트의 위치를 저장할 수 있다.
A버퍼 위치 저장 레지스터(520)는 EPB를 미 포함하는 비트 스트림 버퍼 집합중에서, A 버퍼에서 파싱을 수행할 비트의 위치를 저장할 수 있다.
위치 저장 레지스터 값 갱신부(530)는 GetBits, ShowBits, 및 SkipBits 중에서 어느 하나의 명령어에 대한 호출과, 이때 요청된 비트 수, 버퍼 선택 플래그, 1버퍼 위치 저장 레지스터(510)의 값, A버퍼 위치 저장 레지스터(520)의 값을 입력 받을 수 있다.
이러한 위치 저장 레지스터 값 갱신부(530)는 버퍼 선택 플래그의 값에 따라 1버퍼 위치 저장 레지스터(510) 또는 A버퍼 위치 저장 레지스터(520)의 값을 갱신할 수 있다.
위치 저장 레지스터 출력 선택부(540)는 도 1에 도시된 비트 시프터를 위하여 1버퍼 위치 저장 레지스터(510) 또는 A버퍼 위치 저장 레지스터(520)에 저장된 버퍼의 현재 오프셋 정보를 선택적으로 출력할 수 있다.
도 6은 본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법을 설명하는 흐름도이다.
본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법은 초기화 명령어에 의하여 EPB를 포함하는 레지스터 버퍼 집합과 EPB를 미 포함하는 레지스터 버퍼 집합에 초기 비트 스트림이 로드 되어 있는 상태에서 동작한다.
이를 위해, 본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법은 입력된 비트 스트림 중에서 에뮬레이션 방지 바이트 패턴을 검출하고, 순차적으로 입력되는 상기 비트 스트림을 저장하며, 상기 입력된 비트 스트림에서 상기 에뮬레이션 방지 바이트 패턴이 제거된 가공 비트 스트림을 저장할 수 있다.
본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법은 GetBits, ShowBits, SkipBits와 같은 비트 조작 명령어가 호출될 때 동작할 수 있다(단계 601).
이때, 버퍼 선택 플래그와 요청 비트수가 동시에 하드웨어의 입력으로 들어온다.
이에, 본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법은 버퍼 선택 플래그의 입력에 기초하여, 상기 비트 스트림 및 상기 가공 비트 스트림 중에서 적어도 어느 하나의 출력을 선택할 수 있다(단계 602).
비트 파싱 명령어의 호출에 따라 출력 버퍼 선택부는 입력 값인 버퍼 선택 플래그에 따라 EPB를 포함하는 레지스터 버퍼 집합, EPB를 미 포함하는 레지스터 버퍼 집합 중 하나를 선택하며 비트 시프터에서는 비트 위치 계산부의 위치 정보를 참조하여 32비트의 출력 값을 내보낼 수 있다.
본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법은 비트 위치 계산부를 통해서, A 버퍼에서 복호화를 수행할 비트의 위치 정보를 업데이트 하는데 이러한 업데이트된 A 버퍼 위치 정보는 32보다 크거나 같은지 비교할 수 있다(단계 603).
본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법은 업데이트된 A 버퍼 위치 정보가 32보다 작은 경우, 새로운 비트 스트림의 입력이 이루어 지지 않으며, 비트 위치 계산부가 동작함으로써 내부의 위치 정보의 업데이트 동작이 수행될 수 있다(단계 607).
본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법은 업데이트된 A 버퍼 위치 정보가 32 보다 크거나 같은 경우, 1 버퍼의 하위 16비트, 2 버퍼, 3 버퍼, 및 입력으로 들어오는 32비트 입력이 EPB 패턴 검출부의 입력으로 인가되도록 제어할 수 있다(단계 604).
본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법은 입력되는 명령어에 따라, 특정 레지스터에 검출하려는 에뮬레이션 방지 바이트 패턴을 확인하고, 순차적으로 입력되는 상기 비트 스트림에서 상기 확인된 에뮬레이션 방지 바이트 패턴을 제거하여, 상기 가공 비트 스트림을 생성할 수 있다.
즉, 본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법은 EPB 패턴 검출부가 1 버퍼의 하위 16비트를 참조하여 2 버퍼, 3 버퍼, 및 32비트 입력에서 EPB를 제거한 후, A 버퍼, B 버퍼, 및 C 버퍼에 EPB가 제거된 비트, 즉 가공 비트 스트림을 저장할 수 있다(단계 606).
본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법은 단계 604와 함께, 2 버퍼에 저장되어 있던 비트 스트림이 1 버퍼로 전달하고, 3 버퍼에 저장되어 있던 비트 스트림이 2 버퍼로 전달하고, 3 버퍼에는 32비트 입력을 새로 저장하는 동작을 수행할 수 있다(단계 605).
본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법은, 업데이트된 A 버퍼 위치 정보가 32 보다 크거나 같은 경우에도 비트 위치 계산부를 통해, 단계 607을 수행함으로써 내부의 위치 정보를 업데이트할 수 있다.
도 7은 본 발명의 일실시예에 따른 출력 버퍼 선택부의 동작 방법을 설명하는 흐름도이다.
본 발명의 일실시예에 따른 출력 버퍼 선택부의 동작 방법은 우선 입력되는 버퍼 선택 플래그가 '0'인지를 판단할 수 있다(단계 701).
만약, 상기 버퍼 선택 플래그가 '0'인 경우, 본 발명의 일실시예에 따른 출력 버퍼 선택부의 동작 방법은 EPB 패턴을 미 포함하는 버퍼, 즉 제2 레지스터 버퍼부의 출력을 선택할 수 있다(단계 702).
만약, 상기 버퍼 선택 플래그가 '0'이 아닌 경우, 본 발명의 일실시예에 따른 출력 버퍼 선택부의 동작 방법은 EPB 패턴을 포함하는 버퍼, 즉 제1 레지스터 버퍼부의 출력을 선택할 수 있다(단계 703).
본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법은 선택되어 출력되는 비트 스트림에 대해서 시프트 연산을 수행하여 복호화를 지원할 수 있다. 이때, 본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법은 비트 조작 명령어 및 요청 비트 수를 입력받아 기저장된 비트 스트림의 비트 위치를 조정하고, 상기 비트 위치를 조정하기 전의 비트 위치를 상기 시프트 연산에 반영할 수 있다.
이러한 더블 버퍼스트림 구조를 이용함으로써 순차적으로 비트 스트림을 복호화를 과정에서 EPB를 제거하더라도 스타트 코드 등을 비교하는 부분에서는 EPB를 포함하는 레지스터 버퍼 집합에서 비트 스트림을 파싱 함으로써 순차 복호화 과정에서 발생되는 문제점을 해결할 수 있다.
도 8은 본 발명의 일실시예에 따른 위치 저장 레지스터 값을 갱신하는 방법을 설명하는 흐름도이다.
도 8을 참조하면, 본 발명의 일실시예에 따른 위치 저장 레지스터 값을 갱신하는 방법은 입력되는 비트 조작 명령어가 GetBits 및 SkipBits 중에서 어느 하나인지 여부를 판단할 수 있다(단계 801).
본 발명의 일실시예에 따른 위치 저장 레지스터 값을 갱신하는 방법은 입력되는 비트 조작 명령어가 GetBits 및 SkipBits 중에서 어느 하나인 경우, 1버퍼 위치 저장 레지스터 또는 A버퍼 위치 저장 레지스터를 선택한 후 해당 레지스터의 값에 요청 비트의 수를 더하여 레지스터 값을 갱신할 수 있다.
이때, 레지스터가 가질 수 있는 최대 값은 31이므로 32가 넘는 값은 0부터 다시 시작할 수 있다. 예를 들어, 갱신된 값이 32이면 0으로, 33이면 1로, 34면 2로 변경할 수 있다.
만약, 입력되는 비트 조작 명령어가 GetBits 및 SkipBits가 아니라면, 즉, 비트 조작 명령어가 ShowBits인 경우, 본 발명의 일실시예에 따른 위치 저장 레지스터 값을 갱신하는 방법은 레지스터 값 갱신 없음 과정을 처리할 수 있다(단계 803). 즉, 이 경우에는 요청 비트의 값이 이전에 저장된 레지스터 값 갱신에 반영되지 않는다.
본 발명에 따르면, H.264/AVC와 같은 비디오 코덱은 에뮬레이션 방지 바이트 제거 코드를 이용하는데, 이러한 코드를 제거하기 위해서는 복호화기에서 비트 스트림을 중복적으로 로드하는 문제를 해결할 수 있다.
또한, 본 발명에 따르면, 비트 스트림 버퍼와 해당 바이트가 제거된 비트 스트림 버퍼를 동시에 갖고 있는 더블 버퍼 구조를 이용하기 때문에 순차적인 비트 스트림 파싱을 하더라도 기존에 발생되는 문제점을 해결할 수 있다.
또한, 본 발명에 따르면, GetBits, ShowBits, 및 SkipBits의 기능을 갖고 있기 때문에 단일의 비디오 또는 오디오 코덱을 위한 고속의 비트 스트림 파싱 뿐만 아니라 다수의 비디오 또는 오디오 코덱에서, 비트 스트림을 고속으로 복호화하는데 이용될 수 있다.
또한, 본 발명에 따르면, 에뮬레이션 방지 바이트 제거 패턴을 명령어를 통해서 내부 레지스터에 저장할 수 있기 때문에, 현재 표준화가 진행되고 있는 HEVC 또는 그 이후에 개발될 코덱들에서도 하드웨어 설계의 변화가 없이 호환될 수 있다.
본 발명의 일실시예에 따른 복호화용 순차적 비트 스트림 파싱 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 복호화용 순차적 비트 스트림 파싱 장치
110: 제1 레지스터 버퍼부 111: 1 버퍼
112: 2 버퍼 113: 3 버퍼
120: EPB 패턴 검출부 130: EPB 패턴 레지스터
140: 제2 레지스터 버퍼부 141: A 버퍼
142: B 버퍼 143: C 버퍼
150: 출력 버퍼 선택부 160: 비트 위치 계산부
170: 비트 시프터

Claims (13)

  1. 입력된 비트 스트림에서 에뮬레이션 방지 바이트(EPB, Emulation Prevention Byte) 패턴을 검출하는 에뮬레이션 방지 바이트 처리부;
    순차적으로 입력되며, 상기 에뮬레이션 방지 바이트 패턴을 포함하는 상기 비트 스트림을 저장하는 제1 레지스터 버퍼부;
    상기 입력된 비트 스트림에서 상기 에뮬레이션 방지 바이트 패턴이 제거된 가공 비트 스트림을 저장하는 제2 레지스터 버퍼부; 및
    상기 제1 레지스터 버퍼부의 출력을 지시하는 제1 입력 값 또는 상기 제2 레지스터 버퍼부의 출력을 지시하는 제2 입력 값 중 어느 하나의 값을 포함하는 버퍼 선택 플래그를 수신하고, 상기 수신된 버퍼 선택 플래그에 기초하여 상기 제1 레지스터 버퍼부 및 상기 제2 레지스터 버퍼부 중 어느 하나를 선택하고, 상기 선택에 따라 상기 에뮬레이션 방지 바이트 패턴이 포함된 상기 비트 스트림 또는 상기 에뮬레이션 방지 바이트 패턴이 제거된 상기 가공 비트 스트림을 출력하는 출력 버퍼 선택부
    를 포함하고,
    상기 제1 레지스터 버퍼부 및 상기 제2 레지스터 버퍼부 각각은 연속적으로 연결된 복수의 버퍼들을 포함하는 복호화용 순차적 비트 스트림 파싱 장치.
  2. 제1항에 있어서,
    상기 에뮬레이션 방지 바이트 처리부는,
    입력되는 명령어에 따라, 비트 스트림에서 에뮬레이션 방지 바이트 패턴을 확인하는 에뮬레이션 방지 바이트 패턴 레지스터; 및
    순차적으로 입력되는 상기 비트 스트림에서 상기 확인된 에뮬레이션 방지 바이트 패턴을 제거하여, 상기 가공 비트 스트림을 생성하는 에뮬레이션 방지 바이트 패턴 검출부
    를 포함하는 복호화용 순차적 비트 스트림 파싱 장치.
  3. 제1항에 있어서,
    상기 선택된 레지스터 버퍼의 출력을 수신하여 시프트 연산하는 비트 시프터
    를 더 포함하는 복호화용 순차적 비트 스트림 파싱 장치.
  4. 제3항에 있어서,
    비트 조작 명령어 및 요청 비트 수를 입력받아 기저장된 비트 스트림의 비트 위치를 조정하고, 상기 비트 위치를 조정하기 전의 비트 위치를 상기 비트 시프터로 출력하는 비트 위치 계산부
    를 더 포함하는 복호화용 순차적 비트 스트림 파싱 장치.
  5. 제4항에 있어서,
    상기 비트 위치 계산부는,
    상기 버퍼 선택 플래그의 입력에 기초하여, 상기 제1 레지스터 버퍼부 및 상기 제2 레지스터 버퍼부 중에서 적어도 어느 하나에 저장된 비트 오프셋을 선택적으로 상기 비트 시프터로 출력하는 복호화용 순차적 비트 스트림 파싱 장치.
  6. 제4항에 있어서,
    상기 비트 조작 명령어는 GetBits, ShowBits, 및 SkipBits 중에서 적어도 어느 하나의 명령어인 것을 특징으로 하는 복호화용 순차적 비트 스트림 파싱 장치.
  7. 제4항에 있어서,
    상기 비트 시프터는 상기 비트 위치와 출력 버퍼 선택부로부터 입력된 비트 스트림을 이용하여 32비트의 값을 출력하는 복호화용 순차적 비트 스트림 파싱 장치.
  8. 제1항에 있어서,
    순차적으로 입력되는 상기 비트 스트림은 오디오 비트 스트림 및 비디오 비트 스트림 중에서 적어도 하나인 것을 특징으로 하는 복호화용 순차적 비트 스트림 파싱 장치.
  9. 입력된 비트 스트림에서 에뮬레이션 방지 바이트(EPB, Emulation Prevention Byte) 패턴을 검출하는 단계;
    순차적으로 입력되며, 상기 에뮬레이션 방지 바이트 패턴을 포함하는 상기 비트 스트림을 저장하는 단계;
    상기 입력된 비트 스트림에서 상기 에뮬레이션 방지 바이트 패턴이 제거된 가공 비트 스트림을 저장하는 단계; 및
    상기 비트 스트림의 출력을 지시하는 제1 입력 값 또는 상기 가공 비트 스트림의 출력을 지시하는 제2 입력 값 중 어느 하나의 값을 포함하는 버퍼 선택 플래그를 수신하고, 상기 수신된 버퍼 선택 플래그에 기초하여 상기 비트 스트림 및 상기 가공 비트 스트림 중 어느 하나를 선택하고, 상기 선택에 따라 상기 에뮬레이션 방지 바이트 패턴이 포함된 상기 비트 스트림 또는 상기 에뮬레이션 방지 바이트 패턴이 제거된 상기 가공 비트 스트림을 출력하는 단계
    를 포함하고,
    상기 에뮬레이션 방지 바이트 패턴이 포함된 상기 비트 스트림을 저장하는 제1 레지스터 버퍼부 및 상기 에뮬레이션 방지 바이트 패턴이 제거된 상기 가공 비트 스트림을 저장하는 제2 레지스터 버퍼부 각각은
    연속적으로 연결된 복수의 버퍼들을 포함하는 복호화용 순차적 비트 스트림 파싱 방법.
  10. 제9항에 있어서,
    상기 에뮬레이션 방지 바이트 패턴을 검출하는 단계는,
    입력되는 명령어에 따라, 비트 스트림에서 에뮬레이션 방지 바이트 패턴을 확인하는 단계; 및
    순차적으로 입력되는 상기 비트 스트림에서 상기 확인된 에뮬레이션 방지 바이트 패턴을 제거하여, 상기 가공 비트 스트림을 생성하는 단계
    를 포함하는 복호화용 순차적 비트 스트림 파싱 방법.
  11. 제9항에 있어서,
    상기 비트 스트림 및 상기 가공 비트 스트림 중에서 상기 선택된 출력을 수신하여 시프트 연산하는 단계
    를 더 포함하는 복호화용 순차적 비트 스트림 파싱 방법.
  12. 제11항에 있어서,
    비트 조작 명령어 및 요청 비트 수를 입력받아 기저장된 비트 스트림의 비트 위치를 조정하고, 상기 비트 위치를 조정하기 전의 비트 위치를 상기 시프트 연산에 반영하는 단계
    를 더 포함하는 복호화용 순차적 비트 스트림 파싱 방법.
  13. 제9항 내지 제12항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
KR1020100131791A 2010-12-21 2010-12-21 에뮬레이션 방지 바이트 제거에 기초하여 순차적으로 비트 스트림을 파싱하는 장치 및 방법 KR101861621B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020100131791A KR101861621B1 (ko) 2010-12-21 2010-12-21 에뮬레이션 방지 바이트 제거에 기초하여 순차적으로 비트 스트림을 파싱하는 장치 및 방법
US13/331,713 US9014259B2 (en) 2010-12-21 2011-12-20 Apparatus and method for sequentially parsing bitstreams based on removal of emulation prevention byte
EP11194929.3A EP2469858B1 (en) 2010-12-21 2011-12-21 Apparatus and method for sequentially parsing bitstreams based on removal of emulation prevention byte

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100131791A KR101861621B1 (ko) 2010-12-21 2010-12-21 에뮬레이션 방지 바이트 제거에 기초하여 순차적으로 비트 스트림을 파싱하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120070292A KR20120070292A (ko) 2012-06-29
KR101861621B1 true KR101861621B1 (ko) 2018-05-30

Family

ID=45524262

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100131791A KR101861621B1 (ko) 2010-12-21 2010-12-21 에뮬레이션 방지 바이트 제거에 기초하여 순차적으로 비트 스트림을 파싱하는 장치 및 방법

Country Status (3)

Country Link
US (1) US9014259B2 (ko)
EP (1) EP2469858B1 (ko)
KR (1) KR101861621B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10230989B2 (en) * 2011-06-21 2019-03-12 Texas Instruments Incorporated Method and apparatus for video encoding and/or decoding to prevent start code confusion
US9516147B2 (en) 2014-10-30 2016-12-06 Microsoft Technology Licensing, Llc Single pass/single copy network abstraction layer unit parser
US9854261B2 (en) * 2015-01-06 2017-12-26 Microsoft Technology Licensing, Llc. Detecting markers in an encoded video signal

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050007263A1 (en) * 2003-07-09 2005-01-13 Minhua Zhou Video coding
US20080130735A1 (en) 2006-11-30 2008-06-05 Vestel Elektronik Sanayi Ve Ticaret A.S. Methods and Apparatus for Data Decoding/Encoding and for Searching For/Inserting Stuffing Bytes
KR100841338B1 (ko) * 2007-02-27 2008-06-26 삼성전자주식회사 비디오 디코더를 위한 에뮬레이션 방지 바이트 제거 장치
US20090228601A1 (en) * 2008-03-06 2009-09-10 Yi-Chen Tseng Method and apparatus for processing audio/video bit-stream

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020072893A1 (en) * 2000-10-12 2002-06-13 Alex Wilson System, method and article of manufacture for using a microprocessor emulation in a hardware application with non time-critical functions
JP5173547B2 (ja) 2008-04-15 2013-04-03 キヤノン株式会社 画像復号装置及びその制御方法
KR20100131791A (ko) 2009-06-08 2010-12-16 신구철 축사용 난방 시스템
US20110280314A1 (en) * 2010-05-12 2011-11-17 Texas Instruments Incorporated Slice encoding and decoding processors, circuits, devices, systems and processes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050007263A1 (en) * 2003-07-09 2005-01-13 Minhua Zhou Video coding
US20080130735A1 (en) 2006-11-30 2008-06-05 Vestel Elektronik Sanayi Ve Ticaret A.S. Methods and Apparatus for Data Decoding/Encoding and for Searching For/Inserting Stuffing Bytes
KR100841338B1 (ko) * 2007-02-27 2008-06-26 삼성전자주식회사 비디오 디코더를 위한 에뮬레이션 방지 바이트 제거 장치
US20090228601A1 (en) * 2008-03-06 2009-09-10 Yi-Chen Tseng Method and apparatus for processing audio/video bit-stream

Also Published As

Publication number Publication date
EP2469858A2 (en) 2012-06-27
EP2469858B1 (en) 2018-10-03
US20120155551A1 (en) 2012-06-21
EP2469858A3 (en) 2012-08-08
US9014259B2 (en) 2015-04-21
KR20120070292A (ko) 2012-06-29

Similar Documents

Publication Publication Date Title
US9195466B2 (en) Fusing conditional write instructions having opposite conditions in instruction processing circuits, and related processor systems, methods, and computer-readable media
US20190320194A1 (en) Virtual frame buffer system and method
WO2020005614A1 (en) Combining load or store instructions
US10162635B2 (en) Confidence-driven selective predication of processor instructions
JP2011209904A (ja) 命令フェッチ装置、および、プロセッサ
KR101861621B1 (ko) 에뮬레이션 방지 바이트 제거에 기초하여 순차적으로 비트 스트림을 파싱하는 장치 및 방법
US11614889B2 (en) Aggregating commands in a stream based on cache line addresses
KR101847889B1 (ko) 프로세서 모드들을 스위칭하기 위해 호출된 함수의 어드레스의 최하위 비트들의 이용
US7940807B2 (en) Methods, decoder circuits and computer program products for processing MPEG audio frames
US9342480B2 (en) Apparatus and method for generating VLIW, and processor and method for processing VLIW
KR20080095726A (ko) 패킷 생성과 처리에 관한 방법 및 그 장치
US20170046160A1 (en) Efficient handling of register files
EP2981081B1 (en) Methods and devices for coding and decoding depth information, and video processing and playing device
US9983872B2 (en) Conditional selection of data elements
US20090144493A1 (en) Circular Buffer Maping
US7149159B2 (en) Method and apparatus for editing data streams
KR102433782B1 (ko) 명령 패킷들을 위한 패리티
US20080077777A1 (en) Register renaming for instructions having unresolved condition codes
US8880789B2 (en) Optimal power usage in decoding a content stream stored in a secondary storage
US8291193B2 (en) Address translation apparatus which is capable of easily performing address translation and processor system
US11593110B2 (en) Instruction packing scheme for VLIW CPU architecture
KR100734372B1 (ko) 비디오 데이터 복호장치
US8427495B1 (en) Coalescing to avoid read-modify-write during compressed data operations
JP2006011723A (ja) 分岐制御方法、および情報処理装置
JP2008017137A (ja) 動画像復号装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant