KR19990045632A - 처리 효율을 높인 영상음성 처리장치 - Google Patents

처리 효율을 높인 영상음성 처리장치 Download PDF

Info

Publication number
KR19990045632A
KR19990045632A KR1019980051200A KR19980051200A KR19990045632A KR 19990045632 A KR19990045632 A KR 19990045632A KR 1019980051200 A KR1019980051200 A KR 1019980051200A KR 19980051200 A KR19980051200 A KR 19980051200A KR 19990045632 A KR19990045632 A KR 19990045632A
Authority
KR
South Korea
Prior art keywords
interrupt
header
processing
state
decoding
Prior art date
Application number
KR1019980051200A
Other languages
English (en)
Other versions
KR100562116B1 (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 KR19990045632A publication Critical patent/KR19990045632A/ko
Application granted granted Critical
Publication of KR100562116B1 publication Critical patent/KR100562116B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/60Receiver circuitry for the reception of television signals according to analogue transmission standards for the sound signals
    • 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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명의 영상음성 처리장치는 외부 요인에 의해 비동기로 발생하는 입출력처리를 행하는 입출력 처리부와, 상기 입출력 처리와 병행하여 메모리에 저장된 데이터 스트림의 디코드를 주로 하는 디코드 처리를 행하는 디코드 처리부를 구비한다. 입출력 처리는 외부로부터 비동기로 입력되는 상기 데이터 스트림을 입력하고, 또한 메모리에 저장하는 것과, 메모리에 저장된 데이터 스트림을 디코드 처리부에 공급하는 것을 포함한다. 디코드 처리부는 데이터 스트림의 압축영상 데이터의 헤더 해석과 압축음성 데이터의 전체 디코드를 행하는 순차 처리부와, 헤더 해석결과에 기초하여 압축영상 데이터의 헤더 해석 이외의 디코드를 행하는 정형 처리부로 구성되며, 특히 순차 처리부에서는 헤더 해석을 음성 디코드보다 우선적으로 행한다.

Description

처리 효율을 높인 영상음성 처리장치
본 발명은 디지털 신호처리의 기술 분야에 관한 것으로, 압축된 영상 및 음성 데이터의 신장, 영상 및 음성 데이터의 압축, 그래픽스 처리 등을 행하는 영상음성 처리장치에 관한 것이다.
최근 디지털 동화상 데이터의 압축/신장 기술의 확립과 LSI 기술의 향상이 서로 어울려서 압축영상 및 음성 데이터를 신장하는 디코더, 영상 및 음성 데이터를 압축하는 인코더, 그래픽스 처리를 행하는 그래픽스 처리장치 등의 여러가지 영상음성 처리장치가 중요시되고 있다.
종래 기술의 하나로서 MPEG(Moving Picture Experts Group) 규격의 압축영상 및 음성 데이터를 신장하는 영상음성 디코더가 있다. 이 영상음성 디코더는 2개의 프로세서를 이용하여 1프로세서가 영상 디코드, 다른 1프로세서가 음성 디코드를 행한다.
도 1에 상기 영상음성 디코드 처리의 설명도를 도시한다. 도 1에서 종축은 시간을 나타내며, 횡축은 영상 디코드를 행하는 영상용 프로세서와 음성 디코드를 행하는 음성용 프로세서 각각의 연산량을 나타낸다.
영상용 프로세서는 압축영상 데이터의 매크로 블록단위로 순차처리와 영상 데이터 본체 부분의 디코드 처리를 교대로 행한다. 영상 디코드에서 순차처리는 매크로 블록 헤더부분의 해석(헤더 해석)이고, 본체 부분의 디코드 처리는 매크로 블록의 디코드(블록 디코드)이다. 헤더 해석은 다방면에 걸친 조건판단을 필요로 하는 처리이고, 그 연산량은 적다. 블록 디코드는 헤더 해석 결과의 각종 데이터를 이용하여 MPEG 스트림의 가변길이 부호를 복호하고, 또한 블록단위로 역양자화, 역이산 여현변환 등을 행하는 처리이고, 그 연산량은 크다.
음성용 프로세서도 마찬가지로 압축음성 데이터의 순차처리와 음성 데이터 본체 부분의 디코드 처리를 교대로 행한다.
그러나 상기 종래 기술에 의하면, 다음과 같은 문제점이 있었다.
종래 기술의 영상음성 디코더에서는 비용이 든다는 문제점이 있었다. 왜냐하면 특히 영상용 프로세서는 대량의 화상 데이터를 실시간에 처리하는 것이 요구되기 때문에 처리능력이 높고, 요컨대 고속 클록으로 동작하는 고가의 프로세서를 사용할 필요가 있기 때문이다.
또한 디지털(위성) 방송용 튜너(STB(Set Top Box)라 함)나 DVD(Digital Versatile/Video Disc) 재생장치 등에 이용되는 AV 디코더 중에 상기 영상음성 처리장치가 이용되는 경우에는 방송파로부터 수신된 혹은 디스크로부터 판독된 MPEG 스트림을 입력하여, 그 MPEG 스트림을 디코드하고, 최종적으로 디스플레이, 스피커 등으로 영상신호 출력 및 음성신호 출력을 할 때까지 필요하게 되는 일련의 처리는 방대한 양이 된다. 최근에는 이러한 일련의 방대한 처리를 효율적으로 실행하는 영상음성 처리장치에 대한 요구가 높아지고 있다.
본 발명은 압축영상 및 압축음성 데이터를 나타내는 스트림 데이터의 입력, 디코드, 출력이라는 일련의 처리를 행하여 높은 주파수로 동작시키지 않더라도 높은 처리능력을 갖고, 제조 원가를 줄일 수 있는 영상음성 처리장치를 제공하는 것을 목적으로 한다.
도 1은 종래 기술에서의 영상음성 디코더에 의한 디코드 처리의 설명도
도 2는 본 발명의 실시예에서의 영상음성 처리장치의 개략 구성을 도시한 블록도
도 3은 MPEG 스트림과 매크로 블록의 관계를 도시한 계층 구조도
도 4는 영상음성 처리장치의 보다 상세한 구성을 도시한 블록도
도 5는 프로세서(7)가 실행하는 헤더 해석처리의 상세한 내용과 다른 각부로의 제어내용을 도시한 도면
도 6은 디코드 처리부의 각부의 동작 타이밍도로서, 횡축이 시간축을 나타내는 타이밍도
도 7은 디코드 처리부의 각 주요부의 처리 타이밍도
도 8은 프로세서(7)에서의 소프트웨어 구성도
도 9는 OS가 검출하는 각종 인터럽트 신호를 나타낸 표
도 10은 영상 스레드의 상태 천이도
도 11은 음성 스레드의 상태 천이도
도 12는 상태표의 일례를 도시한 도면
도 13은 OS가 프로세서(7)에 할당하는 스레드를 선택하는 경우의 선택처리를 도시한 흐름도
도 14a, 도 14b는 디코드 처리부의 각부에서의 복호동작을 도 7에 기초하여 상세히 도시한 도면
도 15a, 도 15b는 코드 변환부(9)에서 VLD 에러가 발생한 경우의 동작을 도시한 도면
도 16a, 도 16b는 화소 판독기입부에서 모션 보상 에러가 발생한 경우의 동작을 도시한 도면
상기 목적을 달성하기 위한 영상음성 처리장치는,
압축음성 데이터와 압축영상 데이터를 포함하는 데이터 스트림을 디코드함으로써 영상 데이터 및 음성 데이터를 복원하는 영상음성 처리장치에 있어서,
데이터 스트림 중의 압축영상 데이터에 포함되는 소정 블록의 헤더 해석을 행하는 헤더 해석처리와 데이터 스트림 중의 압축음성 데이터를 디코드하는 음성 디코드 처리를 행하여 헤더 해석처리를 음성 디코드 처리보다 우선적으로 행하는 순차 처리부와,
상기 순차 처리부와 병행하여 데이터 스트림 중의 압축영상 데이터의 헤더 해석처리를 제외하는 압축영상 데이터의 디코드 처리를 행하는 정형 처리부로 구성된다.
이 구성에 의하면 순차 처리부와 정형 처리부에서 압축영상 데이터의 디코드처리를 분담하여 행함으로써, 종래의 1개의 프로세서가 압축영상 데이터의 전체 디코드를 행하는 데 비해 처리에 걸리는 부하가 경감되어 처리효율이 향상된다. 또 순차 처리부가 헤더 해석처리를 우선적으로 행함으로써 헤더 해석에 기초하여 행해지는 정형 처리부의 디코드처리가 정체되지 않고 행해지게 되어 시간적인 처리효율이 향상된다. 또한 음성 디코드처리는 압축영상 데이터의 디코드에 비해 처리량이 적기 때문에 순차 처리부가 헤더 해석처리하는 사이에 행함으로써 보다 시간적인 처리효율이 향상된다. 이에 따라 본 발명의 영상음성 처리장치는 높은 주파수로 동작시키지 않아도 높은 처리능력을 갖고, 제조단가를 줄일 수 있다.
여기에서 순차 처리부는 프로세서와, 프로세서가 실행하기 위한 헤더 해석용 스레드와 음성 디코드용 스레드와 스레드 전환제어용 스레드를 기억하는 메모리를 갖고,
프로세서가 헤더 해석용 스레드를 메모리로부터 판독하여 실행함으로써 헤더 해석 처리를 행하는 헤더 해석부와,
프로세서가 음성 디코드용 스레드를 메모리로부터 판독하여 실행함으로써 음성 디코드 처리를 행하는 음성 디코드부와,
프로세서가 스레드 전환 제어용 스레드를 메모리로부터 판독하여 실행함으로써 헤더 해석처리를 우선하도록 프로세서에 할당하는 스레드를 전환하는 제어를 행하는 제어부를 구비할 수 있다.
이 구성에 의하면, 제어부는 헤더 해석처리가 우선적으로 실행되도록 프로세서에 할당하는 스레드를 전환하므로 헤더 해석 및 음성 디코드 처리가 원활하게 전환되어 시간적인 처리 효율이 향상된다.
여기에서,
제어부는,
스레드의 전환 요인이 되는 인터럽트의 발생과 그 종별을 검출하는 인터럽트 검출부와,
인터럽트의 종별에 따라 천이하는 헤더 해석부 및 음성 디코드부의 상태가 실행상태인지 대기상태인지 실행가능 상태인지를 관리하는 상태 관리부와,
헤더 해석부가 대기상태로부터 실행가능 상태로 천이되었을 때 프로세서에 할당하는 스레드를 다른 스레드로부터 헤더 해석용 스레드로 전환하는 전환부를 구비할 수 있다.
이 구성에 의하면, 제어부는 인터럽트 검출부가 인터럽트의 발생을 검출하고, 상태 관리부는 인터럽트에 의해 천이하는 헤더 해석 및 음성 디코드의 상태를 관리하며, 전환부는 헤더 해석부가 실행가능하게 된 경우에 헤더 해석부를 프로세서에 할당한다. 이와 같이 제어부는 인터럽트에 의해 구동하는 방식이므로 헤더 해석부와 음성 디코드부의 어느 것을 실행상태로 할 것인지를 항상 감시한다는 부담으로부터 해방된다.
여기에서,
상태 관리부는,
헤더 해석처리 및 음성 디코드 처리 각각의 상태를 기억하는 상태표와,
인터럽트의 종별에 따라 상태표를 갱신하는 상태 갱신부를 구비할 수 있다.
여기에서,
상기 소정 블록은 데이터 스트림 중의 압축영상 데이터에 포함되는 매크로 블록이고,
인터럽트 검출부는 헤더 해석부에 의한 매크로 블록의 헤더 해석이 종료되었을 때 헤더 해석부에 의해 출력되는 제 1 인터럽트와, 매크로 블록의 복호가 종료되었을 때 정형 처리부에 의해 출력되는 제 2 인터럽트를 검출하며,
상태 갱신부는 인터럽트 검출부에 의해 제 1 인터럽트가 검출되면 상태표 중의 헤더 해석부의 상태를 대기상태로 갱신하고, 인터럽트 검출부에 의해 제 2 인터럽트가 검출되면 상태표의 헤더 해석부의 상태를 실행가능 상태로 갱신하도록 구성할 수 있다.
이 구성에 의하면, 상태갱신 검출부는 인터럽트 검출부에 의해 제 1 인터럽트, 제 2 인터럽트가 검출되면 상태표 중의 헤더 해석부의 상태를 대기상태, 실행가능 상태로 갱신한다. 이 갱신에 의해 전환부가 실행가능 상태가 된 헤더 해석을 프로세서에 실행시키므로 정형 처리부에 의해 헤더부분의 복호가 종료하자마자 헤더 해석이 행해지게 되어 처리효율이 향상된다.
여기에서,
전환부는 헤더 해석부가 대기상태인 경우, 음성 디코드부가 대기상태로부터 실행가능 상태로 천이되었을 때 음성 디코드용 스레드를 프로세서에 할당하도록 구성할 수 있다.
이 구성에 의하면, 전환부는 음성 디코드부가 실행상태이더라도 헤더 해석부가 실행 가능하게 되었을 때에는 프로세서에 헤더 해석을 실행시킨다. 이에 따라 헤더 해석이 음성 디코드에 우선하여 행해지게 되어 처리효율이 향상된다.
여기에서,
상기 정형 처리부는,
데이터 스트림 중의 압축영상 데이터를 가변길이 복호하는 코드 변환부와,
가변길이 복호에 의해 얻어진 영상블록에 대하여 소정의 연산을 실시함으로써 역양자화 및 역이산 여현변환을 행하는 연산부와,
역이산 여현변환 후의 영상블록과 복호된 블록을 합성함으로써 모션 보상처리를 행하여 영상 데이터를 복원하는 합성부를 구비하며,
헤더 해석부는,
코드 변환부에 요구하여 가변길이 복호된 헤더 정보를 취득하는 취득부와,
취득된 헤더정보를 해석하고, 계속해서 모션 벡터를 산출하는 해석부와,
해석결과로서 얻어지는 파라미터를 정형 처리부에 통지하는 통지부와,
해석부에 의한 해석 과정의 소정 시점에서 코드 변환부에 블록의 가변길이 복호개시를 지시하는 개시 지시부를 구비할 수 있다.
이 구성에 의하면, 압축영상 데이터의 디코드처리를 헤더 해석과 정형 처리부로 분담하고, 정형 처리부에서는 정형적인 계산을 중심으로 하는 처리를 코드 변환부, 연산부, 합성부가 파이프라인 방식으로 행한다. 한편 헤더 해석부에서는 해석부가 헤더정보의 해석이라는 조건판단을 수반하는 처리를 행하고, 통지부는 해석결과로 얻어지는 파라미터를 정형처리에 통지한다. 이와 같이 처리의 압축영상 데이터의 디코드처리를 처리의 성질에 따라 정형적인 연산처리와 조건판단처리로 구분함으로써 정형 처리부에서의 고속처리를 가능하게 하고 있다. 또한 헤더 해석부는 개시 지시부가 해석과정의 소정 시점에서 코드 변환부에 블록의 가변길이 복호개시를 지시하는 것에 의해 정형 처리부에 의한 처리 개시를 빠르게 함으로써, 헤더 해석부의 처리와 정형 처리부의 처리를 합친 1매크로 블록에 소요되는 디코드 처리시간을 짧게 하고 있다.
여기에서,
상기 개시 지시부는 해석부에 의한 모션 벡터의 산출 전에 가변길이 복호개시를 지시하고,
상기 통지부는 산출된 모션 벡터를 합성부에 통지하도록 구성할 수 있다.
이 구성에 의하면, 개시 지시부는 해석부에 의한 모션 벡터의 산출 전에 가변길이 복호개시를 지시하므로 1매크로 블록에 소요되는 디코드 처리시간은 모션 벡터의 산출에 소요되는 시간만큼 줄어든다.
여기에서,
제어부는,
스레드의 전환 요인이 되는 인터럽트의 발생과 그 종별을 검출하는 인터럽트 검출부와,
인터럽트 검출부에 의해 에러 인터럽트가 검출된 경우, 정형 처리부에서의 당해 소정 블록에 관한 데이터를 파기시켜 헤더 해석부를 실행가능 상태로 하는 에러 처리부와,
인터럽트의 종별에 따라 천이하는 헤더 해석부 및 음성 디코드부의 상태가 실행상태인지 대기상태인지 실행가능 상태인지를 관리하는 상태 관리부와,
헤더 해석부가 실행가능 상태로 천이하였을 때 프로세서에 헤더 해석용 스레드를 할당하는 전환부를 구비할 수 있다.
이 구성에 의하면, 제어부는 인터럽트 검출부, 상태 관리부, 전환부에 덧붙여 에러 처리부를 구비하고, 에러 처리부는 에러 인터럽트가 발생하면 정형 처리부의 각부를 리세트하고 나서 헤더 해석부를 실행상태로 한다. 이에 따라 프로세서는 다음 슬라이스의 매크로 블록의 헤더 해석을 실행한다. 이와 같이 에러가 발생한 경우에도 본 영상음성 처리장치는 제어부가 원활하게 에러처리를 행한 후 프로세서에 다음 슬라이스의 매크로 블록의 헤더 해석을 실행시키므로 시간적인 처리 효율이 향상된다.
여기에서,
인터럽트 검출부는 헤더 해석부에 의한 매크로 블록의 헤더 해석이 종료되었을 때 헤더 해석부에 의해 출력되는 제 1 인터럽트와, 매크로 블록의 복호가 종료되었을 때 정형 처리부에 의해 출력되는 제 2 인터럽트와, 가변길이 복호 중에 에러가 발생된 경우에 코드 변환부에 의해 출력되는 제 3 인터럽트와, 모션 보상 처리 중에 에러가 발생된 경우에 합성부에 의해 출력되는 제 4 인터럽트를 검출하고,
상태 갱신부는 인터럽트 검출부에 의해 제 1 인터럽트가 검출되면 상태표 중의 헤더 해석부의 상태를 대기상태로 갱신하고, 인터럽트 검출부에 의해 제 2 인터럽트가 검출되면 상태표의 헤더 해석부의 상태를 실행가능 상태로 갱신하고, 인터럽트 검출부에 의해 제 3 및 제 4 인터럽트가 검출되면 상태표 중의 헤더 해석부의 상태를 실행가능 상태로 갱신하고,
에러 처리부는 인터럽트 검출부에 의해 제 3 및 제 4 인터럽트가 검출되면 정형 처리부에서의 당해 소정 블록에 관한 데이터를 파기시키도록 구성할 수 있다.
이 구성에 의하면 코드 변환부가 가변길이 복호 에러를 일으킨 경우 및 합성부가 모션 보상 에러를 일으킨 경우에 있어서, 에러 처리부는 정형 처리부의 각부를 리세트하고 나서 헤더 해석부를 실행상태로 한다. 이와 같이 에러가 발생한 경우에도 본 영상음성 처리장치는 제어부가 원활하게 다음 슬라이스의 매크로 블록의 헤더 해석을 프로세서에 실행시키므로 시간적인 처리효율이 향상된다.
여기에서,
인터럽트 검출부는 소정 블록의 헤더 해석이 종료되었을 때 헤더 해석부에 의해 출력되는 제 1 인터럽트와,
소정 블록의 정형처리가 종료되었을 때 정형 처리부에 의해 출력되는 제 2 인터럽트와,
1프레임분의 헤더 해석이 종료되었을 때 헤더 해석부에 의해 출력되는 제 3 인터럽트와,
헤더 취득부가 요구한 경우에 헤더 정보가 가변길이 복호되어 있지 않을 때 코드 변환부에 의해 출력되는 제 4 인터럽트와,
영상 처리장치의 외부로부터 입력되는 수직 동기신호인 제 5 인터럽트와,
제 4 인터럽트후 헤더 취득부가 요구한 헤더정보가 가변길이 복호되었을 때 코드 변환부에 의해 출력되는 제 6 인터럽트와,
음성 디코드부가 디코드하는 데이터를 소정의 메모리에 요구한 경우, 그 메모리에 당해 데이터가 없는 경우에 메모리로부터 출력되는 제 7 인터럽트와,
제 7 인터럽트 후 음성 디코드부가 요구한 데이터가 소정의 메모리에 입력되었을 때 메모리로부터 출력되는 제 8 인터럽트를 검출하고,
상태 갱신부는 인터럽트 검출부에 의해 제 1 인터럽트, 제 3 인터럽트, 제 4 인터럽트가 검출되면 상태표 중의 헤더 해석부의 상태를 대기상태로 갱신하고,
제 2 인터럽트, 제 5 인터럽트, 제 6 인터럽트가 검출되면 상태표의 헤더 해석부의 상태를 실행가능 상태로 갱신하며,
제 7 인터럽트가 검출되면 상태표의 음성 디코드부의 상태를 대기상태로 갱신하고,
제 8 인터럽트가 검출되면 상태표의 음성 디코드부의 상태를 실행가능 상태로 갱신하도록 구성할 수 있다.
이 구성에 의하면, 상태 갱신부는 인터럽트 검출부에 의한 제 1 ∼제 8 인터럽트 검출에 따라 헤더 해석부 및 음성 디코드부의 상태를 갱신하여, 그 갱신에 따라 전환부가 헤더 해석부를 우선시키면서 헤더 해석 및 음성 디코드를 프로세서에 실행시킨다. 이와 같이 제어부가 각종 인터럽트에 대처하므로 프로세서에서의 시간적인 처리효율이 향상된다.
상기 목적을 달성하는 프로그램 기록매체는 압축음성 데이터와 압축영상 데이터를 포함하는 데이터 스트림을 디코드하는 것에 의해 영상 데이터 및 음성 데이터를 복원하는 프로그램을 기록하고 있는 데이터 판독 가능한 프로그램 기록매체에 있어서,
데이터 스트림 중의 압축영상 데이터에 포함되는 소정 블록의 헤더를 해석하는 헤더 해석처리와,
데이터 스트림 중의 압축음성 데이터의 디코드를 행하는 음성 디코드 처리와,
헤더 해석처리가 우선적으로 실행되도록 헤더 해석처리와 음성 디코드 처리를 전환하는 제어처리와,
데이터 스트림 중의 압축영상 데이터의 헤더 해석처리를 제외하는 압축영상 데이터를 디코드하는 정형처리로 이루어지는 프로그램을 기록하고 있다.
여기에서 상기 컴퓨터는 제 1 프로세서와 제 2 프로세서를 갖는 영상음성 처리장치이며, 헤더 해석처리, 음성 디코드 처리, 제어처리는 제 1 프로세서에 의해 실행되고, 정형처리는 제 2 프로세서에 의해 실행되는 것을 특징으로 한다.
이 구성에 의하면, 제 1 프로세서는 헤더 해석처리를 우선적으로 지체없이 행하고, 또 헤더 해석처리를 행하지 않는 빈 시간에 음성 디코드 처리를 행하므로 제 1 프로세서의 시스템 효율이 향상된다. 또 제 1 프로세서가 헤더 해석을 지체없이 행하기 때문에 제 2 프로세서는 헤더 해석처리에 의한 처리결과의 데이터를 수취하여 정형처리를 지체없이 행할 수 있다.
여기에서 상기 제어처리는 헤더 해석처리와 음성 디코드 처리의 전환 요인이 되는 인터럽트의 발생과 그 종별을 검출하는 인터럽트 검출처리와,
인터럽트의 종별에 따라 천이하는 헤더 해석처리 및 음성 디코드 처리의 상태가 실행상태인지 대기상태인지 실행가능 상태인지를 관리하는 상태 관리와,
헤더 해석처리가 대기상태로부터 실행가능 상태로 천이한 경우에 실행되는 처리를 음성 디코드 처리로부터 헤더 해석처리로 전환하는 전환처리로 이루어진다.
이 구성에 의하면 제 1 프로세서는 헤더 해석처리가 실행가능하게 된 경우에 지체없이 헤더 해석처리를 실행함으로써 처리 효율이 향상된다.
상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부 도면과 관련한 다음의 상세한 설명을 통해 보다 분명해 질 것이다.
본 발명의 영상음성 처리장치에 대하여 그 실시예를 다음과 같이 분류하여 기재한다.
실시예
1 영상음성 처리장치의 개략구성
1.1 입출력 처리부
1.2 디코드 처리부
1.2.1 순차 처리부
1.2.2 정형 처리부
2 영상음성 처리장치의 구성
2.1 입출력 처리부의 구성
2.2 디코드 처리부의 구성
2.2.1 순차 처리부
2.2.1.1 헤더 해석처리
2.2.1.2 음성 디코드처리
2.2.2 정형 처리부
3 각부의 처리 타이밍
4 순차 처리부의 OS
4.l 인터럽트 신호
4.2 스레드의 상태천이
4.2.1 영상 스레드
4.2.2 음성 스레드
4.3 스레드 관리
4.4 프로세서의 할당
4.5 에러처리
5 동작설명
5.1 입출력 처리부의 동작
5.2 디코드 처리부(1002)의 동작
5.2.1 정상시의 동작
5.2.2 VLD 에러시의 동작
5.2.3 모션 보상 에러시의 동작
< 실시예 >
본 실시예에서의 영상음성 처리장치는 위성방송 수신장치(STB : Set Top Box라 함), DVD(Digital Versatile Disc) 재생장치, DVD-RAM 기록 재생장치 등에 구비되고, 압축영상 음성 데이터로서 위성방송으로부터 또는 DVD로부터의 MPEG 스트림이 입력되면 신장처리(이하, 간단히 디코드라 함)를 행하여 영상 데이터 및 음성 데이터를 외부의 출력장치로 출력한다.
< 1 영상음성 처리장치의 개략구성 >
도 2는 본 발명의 실시예에서의 영상음성 처리장치의 개략구성을 도시한 블록도이다.
영상음성 처리장치(1000)는 입출력 처리부(1001), 디코드 처리(1002), 메모리 컨트롤러(6)를 구비하며, 입출력 처리와 디코드 처리를 병행하여 행하도록 구성되어 있다. 또한 외부 메모리(3)는 MPEG 스트림이나 디코드 후의 음성 데이터를 일시적으로 기억하는 작업용 메모리로 이용되며, 디코드 후의 영상 데이터를 기억하는 프레임 메모리로서 이용된다.
< 1.1 입출력 처리부 >
입출력 처리부(1001)는 영상음성 처리장치(1000)의 내부 동작과는 비동기로 발생하는 입출력 처리를 행한다. 이 입출력 처리는 (a)외부로부터 비동기로 입력되는 MPEG 스트림을 입력하여 외부 메모리(3)에 일시적으로 저장하는 것, (b)외부 메모리(3)에 저장된 MPEG 스트림을 디코드 처리부(1002)에 공급하는 것, (c)디코드된 영상 데이터, 음성 데이터를 외부 메모리(3)로부터 판독하여 외부의 표시장치, 음성 출력장치(도시 생략) 각각의 출력 레이트에 맞추어 출력하는 것을 내용으로 한다.
< 1.2 디코드 처리부 >
디코드 처리부(1002)는 입출력 처리부(1001)의 동작과는 독립적으로 병행하여 입출력 처리부(1001)에 의해 공급되는 MPEG 스트림을 디코드하고, 디코드 후의 영상 데이터 및 음성 데이터를 외부 메모리(3)에 저장한다. MPEG 스트림의 압축영상 데이터의 디코드 처리는 연산량이 많고 처리 내용이 다방면에 걸치기 때문에, 디코드 처리부(1002)는 순차 처리부(1003)와 정형 처리부(1004)를 구비하고, 각각이 처리를 분담한다. 즉 순차 처리부(1003)는 압축영상 데이터의 매크로 블록 헤더부분의 헤더 해석처리를 행하고, 정형 처리부(1004)는 압축영상 데이터의 매크로 블록 본체 부분의 디코드 처리를 행한다. 이와 같이 디코드 처리부(1002)에서는 압축영상 데이터의 매크로 블록마다 순차 처리부(1003)와 정형 처리부(1004)가 1회씩 각각의 처리를 행한다.
여기에서 MPEG 스트림의 압축영상 데이터와 그 매크로 블록의 관계에 대하여 설명하기로 한다.
도 3은 MPEG 스트림과 매크로 블록의 관계를 도시한 계층 구조도이다. 제 1 계층은 MPEG 스트림의 흐름을 나타낸다. 제 2 계층은 1초간의 MPEG 스트림이고, 복수의 프레임(I, P, B 픽처)을 포함한다. 제 3 계층은 프레임이고, 1프레임은 픽처 헤더와 복수의 슬라이스를 포함한다. 제 4 계층은 슬라이스이고, 1슬라이스는 슬라이스 헤더와 복수의 매크로 블록을 포함한다. 제 5 계층은 매크로 블록이고, 1매크로 블록은 매크로 블록 헤더부분과 6개의 블록을 포함한다. 6개의 블록은 4개의 휘도 블록과 2개의 색차 블록이고, 블록은 8*8화소로 이루어지는 화상을 나타낸다. 이 6개의 블록이 매크로 블록 본체부분에 상당한다.
도 3에 도시하는 제 1 ∼ 제 5 계층의 데이터 구성은 공지 문헌, 예를 들면 주식회사 아스키의「포인트 도해식 최신 MPEG 교과서」에 자세히 설명되어 있다.
한편 압축음성 데이터의 디코드 처리(이하, 음성 디코드 처리라 함)는 처리량이 압축영상 데이터의 디코드에 비해 적다. 따라서 음성 디코드 처리에 대해서는 순차 처리부(1003)가 1매크로 블록의 헤더 해석처리와 다음의 1매크로 블록의 헤더 해석처리 사이의 시간대에 행한다.
이상과 같이 순차 처리부(1003)는 헤더 해석처리와 음성 디코드 처리를 행한다. 순차 처리부(1003)는 이들 2가지 처리 중에서 헤더 해석처리를 우선적으로 행하고, 각각의 처리가 기술(記述)된 프로그램의 실행에 의해 순차적으로 행한다. 이하, 이들 처리를 정리하여 순차 처리라 한다. 또한 정형 처리부(1004)는 매크로 블록 본체부분의 디코드 처리를 행한다. 이 처리는 블록단위로 정형적인 각종 연산을 대량으로 실시하는 처리이다. 이하, 이 처리를 정형처리라 한다.
< 1.2.1 순차 처리부 >
순차 처리부(1003)는 프로세서와 메모리를 갖고, 프로세서가 메모리 중의 스레드 프로그램(이하 스레드)을 실행함으로써 우선적으로 행하는 헤더 해석처리와 음성 디코드 처리를 행한다. 순차 처리부(1003)에서는 헤더 해석처리를 음성 디코드처리보다 우선시키기 위해 OS가 그들 처리의 실행을 제어한다. 또 여기에서 스레드(thread)란 멀티스레드 환경에서 행해지는 일단(一團)의 처리 프로그램을 가리킨다.
여기에서 헤더 해석처리는 매크로 블록의 헤더 정보 해석과 모션 벡터의 계산을 포함한다. 매크로 블록의 헤더 부분에는 매크로 블록 본체 부분을 디코드하는 데 필요하게 되는 정보(헤더 정보)가 기록되어 있고, 순차 처리부(1003)는 해석에 의해 얻어진 각종 데이터를 정형 처리부(1004)에 출력한다. 모션 벡터란 참조프레임 중의 8*8의 장방형 영역을 가리키는 벡터이고, 당해 블록이 참조 프레임 중 어느 장방형 영역과의 차분이 취해졌는지를 가리킨다.
한편 음성 디코드 처리는 압축음성 데이터의 헤더부분의 해석과 데이터 본체부분의 디코드를 순차 처리부(1003) 내부에서만 독립적으로 행한다. 이 때문에 음성 디코드 처리의 중단 및 재개는 헤더 해석처리에 비해 용이하다. 또한 상기한 바와 같이 음성 디코드 처리는 헤더 해석과 다음 헤더 해석 사이의 시간대에서 충분히 처리될 정도로 처리량이 적다. 이러한 이유 때문에 순차 처리부(1003)에서는 헤더 해석처리를 음성 디코드 처리보다 우선적으로 행하도록 구성되어 있다.
보다 상세하게 설명하면, OS는 헤더 해석처리가 실행 가능한 경우에는 반드시 헤더 해석처리를 실행하도록 제어한다. 이 때 OS는 음성 디코드 처리가 실행중인 경우에는 음성 디코드 처리를 중단하고 나서 헤더 해석을 실행시킨다.
< 1.2.2 정형 처리부 >
정형 처리부(1004)는 정형처리로서 매크로 블록 본체부분에 대하여 가변길이 부호의 복호(VLD : Variable Length code Decoding), 역양자화(IQ : Inverse Quantization), 역이산 여현변환(IDCT : Inverse Discrete Cosine Transform), 모션 보상(MC : Motion Compensation)을 같은 순서로 파이프라인 방식으로 행한다. 단 순차 처리부(1003)는 VLD에 대해서는 매크로 블록 본체부분만이 아니고, 매크로 블록의 헤더부분에 대해서도 행하여 VLD된 헤더부분의 데이터를 순차 처리부(1003)로 출력한다.
정형 처리부(1004)는 모션 보상에 있어서, 복호 후의 블록을 메모리 컨트롤러(6)를 통해 프레임 메모리로서의 외부 메모리(3)에 저장한다.
< 2 영상음성 처리장치의 구성 >
도 4는 영상음성 처리장치(1000)의 보다 상세한 구성을 도시한 블록도이다.
< 2.1 입출력 처리부의 구성 >
도 4에서 입출력 처리부(1001)는 스트림 입력부(1), 버퍼 메모리(2), 입출력 프로세서(5)(이하 IO 프로세서(5)라 함), DMAC(Direct Memory Access Controller) (5a), 비디오 출력부(12), 음성 출력부(13), 호스트 I/F부(14)를 구비한다.
스트림 입력부(1)는 외부로부터 시리얼로 입력되는 MPEG 데이터 스트림을 패러렐 데이터(이후, MPEG 데이터라 함)로 변환한다. 그 때 스트림 입력부(1)는 MPEG 데이터 스트림으로부터 GOP(Group 0f Picture : I픽처를 1개 포함하고, 약 0.5초분의 동화상에 상당하는 MPEG 데이터 스트림)의 개시코드를 검출하여, 그 취지를 IO 프로세서(5)에 통지한다. 이 통지에 의해 변환 후의 MPEG 데이터는 IO 프로세서(5)의 제어에 의해 버퍼 메모리(2)에 전송된다.
버퍼 메모리(2)는 스트림 입력부(1)로부터 전송된 MPEG 데이터를 일시적으로 보유하는 완충용 메모리이다. 버퍼 메모리(2)에 보유된 MPEG 데이터는 다시 입출력 프로세서(5)의 제어하에서 메모리 컨트롤러(6)를 통해 외부 메모리(3)로 전송된다.
외부 메모리(3)는 SDRAM(Synchronous Dynamic Random Access Memory) 칩으로 구성되고, 버퍼 메모리(2)로부터 메모리 컨트롤러(6)를 통해 전송된 MPEG 데이터를 일시적으로 보유한다. 또한 외부 메모리(3)는 복호 후의 영상 데이터(이후, 프레임 데이터라고도 함) 및 복호 후의 음성 데이터도 보유한다.
입출력 프로세서(5)는 스트림 입력부(1), 버퍼 메모리(2), 외부 메모리(3) (메모리 컨트롤러(6)가 개재됨), FIFO 메모리(4) 사이의 데이터 입출력을 제어한다. 즉 이하의 (1)∼(4)에 나타내는 경로의 데이터 전송(DMA 전송)을 제어한다.
(1) 스트림 입력부(1) → 버퍼 메모리(2) → 메모리 컨트롤러(6) → 외부 메모리(3)
(2) 외부 메모리(3) → 메모리 컨트롤러(6) → FIFO 메모리(4)
(3) 외부 메모리(3) → 메모리 컨트롤러(6) → 버퍼 메모리(2) → 비디오 출력부(12)
(4) 외부 메모리(3) → 메모리 컨트롤러(6) → 버퍼 메모리(2) → 음성 출력부(13)
이들 경로에서 입출력 프로세서(5)는 MPEG 데이터 중의 영상 데이터와 음성 데이터를 독립적으로 각각의 전송을 제어한다. 또한 (1), (2)는 복호 전의 MPEG 데이터의 전송경로이다. (1), (2)의 전송경로에서 입출력 프로세서(5)는 압축영상 데이터와 압축음성 데이터를 별개로 전송한다. (3), (4)는 각각 복호 후의 영상, 음성 데이터의 전송경로이다. 복호 후의 영상, 음성 데이터는 외부의 표시장치(도시 생략), 음성 출력장치(도시 생략) 각각의 출력 레이트에 맞추어 전송된다.
DMAC(5a)는 스트림 입력부(1), 영상 출력부(12), 음성 출력부(13)와 버퍼 메모리(2) 사이의 DMA전송, 버퍼 메모리(2)와 외부 메모리(3) 사이의 DMA 전송, 외부 메모리(3)와 FIFO 메모리(4) 사이의 DMA 전송을 IO 프로세서(5)의 제어에 의해 실행한다.
영상 출력부(12)는 외부의 표시장치(CRT 등)의 출력 레이트(예를 들면 수평 동기신호 Hsync의 주기)에 맞추어 입출력 프로세서(5)에 데이터 요구를 출력하고, 입출력 프로세서(5)에 의해 상기 (3)의 전송경로에 입력되는 영상 데이터를 그 표시장치에 출력한다.
음성 출력부(13)는 외부의 음성 출력장치의 출력 레이트에 맞추어 입출력 프로세서(5)에 데이터 요구를 출력하고, 입출력 프로세서(5)에 의해 상기 (4)의 전송경로로 입력되는 음성 데이터를 음성 출력장치(D/A 컨버터, 음성 앰프, 스피커의 조합 등)에 출력한다.
호스트 I/F부(14)는 외부의 호스트 프로세서, 예를 들면 DVD 재생장치의 경우에는 그 제어 전반을 행하는 프로세서와 통신하기 위한 인터페이스이다. 이 통신에서는 호스트 프로세서로부터 MPEG 스트림의 디코드 개시, 정지, 빨리감기 재생, 역재생 등의 지시 등이 보내진다.
< 2.2 디코드 처리부의 구성 >
도 4에서 디코드 처리부(1002)는 FIFO 메모리(4), 순차 처리부(1003), 정형 처리부(1004)를 구비하고, 입출력 처리부(1001)로부터 FIFO 메모리(4)를 통해 공급되는 MPEG 데이터를 디코드 처리한다. 또한 순차 처리부(1003)는 프로세서(7), 내부 메모리(8)를 구비한다. 정형 처리부(1004)는 코드 변환부(9), 화소 연산부(10), 화소 판독기입부(11), 버퍼(200, 201)를 구비한다.
FIFO 메모리(4)는 2개의 FIFO로 이루어지며, IO 프로세서(5)의 제어 하에서 외부 메모리(3)로부터 전송된 압축영상 데이터, 압축음성 데이터를 각각 선입선출(先入先出)식으로 기억한다.
< 2.2.1 순차 처리부 >
프로세서(7)는 내부 메모리(8)에 기억되는 OS를 실행하고, OS의 제어 하에 마찬가지로 내부 메모리(8)에 기억되는 헤더 해석 처리용 프로그램, 음성 디코드 처리용 프로그램을 전환하면서 행한다. 이하에 헤더 해석 처리와 음성 디코드 처리를 상세히 설명하기로 한다.
< 2.2.1.1 헤더 해석 처리 >
도 5는 프로세서(7)가 실행하는 헤더 해석 처리의 상세한 내용과 다른 각부로의 제어내용을 도시한다. 또 도 5에 약어로 표시되는 매크로 블록 헤더 중의 각 데이터는 상기 문헌 등에 설명되어 있으므로 여기에서는 설명을 생략하기로 한다.
도 5와 같이 프로세서(7)는 코드 변환부(9)에 커맨드를 발행하여 VLD된 헤더부분의 데이터를 순차 취득하고, 그 내용에 따라 코드 변환부(9), 화소 연산부(10), 화소 판독기입부(11)에 대하여 매크로 블록의 디코드에 필요한 각종 데이터를 설정한다. 또한 프로세서(7)는 헤더 해석의 도중에서 코드 변환부(9)에 매크로 블록 본체부분의 디코드 개시를 지시한다.
도 5에서 프로세서(7)는 코드 변환부(9)에 MBAI(Macro Block Address Increment)를 취득하기 위한 커맨드를 발행하여(S1O1) 코드 변환부(9)로부터 MBAI를 취득한다. 이 MBAI에 기초하여 당해 매크로 블록 데이터가 스킵 매크로 블록(skipped macro block)이라면(현재 디코드하고자 하는 매크로 블록이 앞프레임의 대응하는 매크로 블록과 동일하다면), 매크로 블록이 생략되어 있으므로 S118로 진행하고, 스킵 매크로 블록이 아니면 헤더 해석을 계속한다(S102, S103).
이어서 프로세서(7)는 MBT(Macro Block Type)를 취득하기 위한 커맨드를 발행하여 코드 변환부(9)로부터 MBT를 취득한다. 이 MBT로부터 블록의 스캔 타입이 지그재그 스캔인지 대체(alternate) 스캔인지를 판단하여 화소 연산부(10)에 버퍼(200)의 판독 순서를 지시한다(S104).
또 프로세서(7)는 이미 취득한 헤더부분의 데이터로부터 STWC(Spatial Temporal Weight Code)가 존재하는지의 여부를 판정하여(S105), 존재하는 경우에는 커맨드를 발행하여 취득한다(S106).
마찬가지로 하여 프로세서(7)는 FrMT(Frame Motion Type), FiMT (Field Motion Type), DT(DCT Type), QSC(Quantifier Scale Code), MV(Motion Vector), CBP(Coded Block Pattern)를 취득한다(S107∼S116). 그 때 프로세서(7)는 FrMT, FiMT, DT의 해석 결과를 화소 판독기입부(11)에 통지하고, QSC의 해석 결과를 화소 연산부(10)에 통지하며, CBP의 해석 결과를 코드 변환부(9)에 통지한다. 이로써, IQ, IDCT, 모션 보상에 필요한 정보가 코드 변환부(9), 화소 연산부(10), 화소 판독기입부(11)에 설정된다.
이어서 프로세서(7)는 매크로 블록 본체부분의 VLD 개시 지시를 코드 변환부(9)로 출력한다(S117). 이 통지의 결과, 코드 변환부(9)는 VLD를 개시한다.
또한 프로세서(7)는 MV 데이터에 기초하여 모션 벡터를 계산하고(S118), 그 계산 결과를 화소 판독기입부(11)에 통지한다(S119).
이와 같이 프로세서(7)가 모션 벡터에 관한 처리(S118∼S119)에 앞서 VLD 개시를 지시(S117)하는 이유는 다음과 같다.
정형 처리부(1004)에서는 코드 변환부(9), 화소 연산부(10), 화소 판독기입부(11)의 순서로 파이프라인 방식의 처리를 행한다. 이 때 정형 처리부(1004)의 각부는 헤더 해석 결과의 각종 데이터를 수취하고 나서 각부의 처리를 행한다. 도 5에서 S116의 처리가 완료된 시점에서 화소 판독기입부(11)는 모션 벡터의 데이터를 수취하고 있지 않으므로 처리가능하지는 않지만, 코드 변환부(9)와 화소 연산부(10)는 각각의 처리에 필요한 데이터를 수취하여 처리 가능한 상태로 되어 있다. 따라서 먼저 정형처리를 개시시켜 두고 코드 변환부(9) 및 화소 연산부(10)가 처리하고 있는 시간 중에 모션 벡터를 계산하여 화소 판독기입부(11)에 계산 결과를 통지하면 된다. 이에 따라 본 실시예는 매크로 블록의 디코드 처리에 소요되는 시간을 단축하여 디코드 처리부(1002)의 처리 효율을 높이고 있다.
마지막으로 프로세서(7)는 매크로 블록의 헤더 해석 종료신호를 OS에 통지한다(S120). 단 1프레임분의 헤더 해석 종료시에는 프로세서(7)가 매크로 블록의 헤더 해석 종료신호 대신에 1프레임 종료신호를 OS에 통지한다.
이상과 같이 하여 프로세서(7)는 매크로 블록 1개분의 압축영상 데이터의 헤더 해석을 완료한다.
< 2.2.1.2 음성 디코드 처리 >
음성 디코드 처리에서 프로세서(7)는 FIFO 메모리(4)로부터 판독한 압축음성 데이터에 대하여 헤더 부분과 데이터 부분을 해석하고, 디코드 처리를 행하여 채널로의 다운 믹싱을 행한다. 프로세서(7)는 이들 일련의 처리에 의해 얻어지는 음성 데이터를 메모리 컨트롤러(6)를 통해 외부 메모리(3)로 출력한다.
< 2.2.2 정형 처리부 >
도 6은 디코드 처리부(1002) 각부의 동작 타이밍도로서, 여기에서 횡축은 시간축이다.
코드 변환부(9)는 매크로 블록마다 FIFO 메모리(4)로부터 판독된 압축영상 데이터를 VLD한다. 도 6에 도시된 바와 같이 코드 변환부(9)는 VLD된 데이터 중 헤더부분(도면 중의 점선구간)을 프로세서(7)에 전송하고, 매크로 블록(휘도 블록 (Y0∼Y3)과 색차 블록(Cb, Cr)으로 이루어지는 6블록)의 데이터(도면 중의 실선구간)를 버퍼(200)를 통해 화소 연산부(10)에 전송한다. 코드 변환부(9)에 의한 복호 후의 매크로 블록 데이터는 공간 주파수 성분을 나타내는 데이터이다.
코드 변환부(9)는 헤더부분의 VLD시에 프로세서(7)의 헤더 해석 처리와 병행하여 동작한다. 코드 변환부(9)는 프로세서(7)로부터 각종 데이터를 요구하는 취지의 커맨드를 접수하면 대응하는 데이터를 프로세서(7)에 출력한다. 코드 변환부(9)는 1매크로 블록분의 VLD가 완료되면 VLD 종료신호를 프로세서(7)에 출력한다.
버퍼(200)는 코드 변환부(9)에 의해 기입되는 1블록분(8×8화소분)의 공간주파수 성분을 나타내는 데이터를 보유한다.
화소 연산부(10)는 버퍼(200)의 블록 데이터에 대하여, IQ 및 IDCT를 블록단위로 행한다. 화소 연산부(10)에 의한 처리결과는 휘도 블록이라면 화소의 휘도값 또는 그 차분을 나타내는 데이터이고, 색차 블록이라면 화소의 색차 또는 그 차분을 나타내는 데이터이며, 버퍼(201)를 통해 화소 판독기입부(11)에 전송된다.
버퍼(201)는 1블록(8×8화소분)의 화소 데이터를 보유한다.
화소 판독기입부(11)는 화소 연산부(10)의 처리결과에 대하여 블록단위로 모션 보상을 행한다. 즉 P픽처, B픽처에 대해서는 외부 메모리(3)의 복호완료된 참조 프레임으로부터 모션 벡터가 나타내는 장방형 영역을 메모리 컨트롤러(6)를 통해 잘라내어 화소 연산부(10)의 처리결과의 블록과 합성함으로써 원래의 블록화상으로 복호한다. 화소 판독기입부(11)에 의한 복호결과는 메모리 컨트롤러(6)를 통해 외부 메모리(3)에 저장된다.
< 3 각부의 처리 타이밍 >
이상과 같이 구성된 순차 처리부(1003) 및 정형 처리부(1004)의 각부의 처리 타이밍에 대하여 이하에 설명하기로 한다.
도 7은 디코드 처리부(1002)의 각 주요부의 처리 타이밍을 도시한다. 또 도 7에서 횡축은 시간을 나타내며, t0∼t4는 시간축 상의 시각을 나타낸다.
도 7에서 프로세서(7)는 우선 1매크로 블록분의 헤더 해석처리(헤더 정보의 해석과 모션 벡터의 계산)를 행한다(t0∼t2). 이 처리 중에서 프로세서(7)는 헤더정보의 해석을 종료하면(tl), 모션 벡터의 계산처리 전에 코드 변환부(9)에 매크로 블록 본체부분의 VLD 개시 지시를 출력한다. 프로세서(7)는 1매크로 블록분의 헤더 해석을 종료한 후 음성 디코드처리를 개시한다(t2). 코드 변환부(9)가 매크로 블록 본체부분의 VLD를 종료하면(t3), 프로세서(7)는 음성 디코드 처리를 중단하고 헤더 해석 처리를 개시한다.
이와 같이 프로세서(7)가 1매크로 블록분의 헤더 해석을 종료한 후 곧 다음 매크로 블록의 헤더 해석을 행하지 않고 음성 디코드 처리를 행하는 이유는 다음과 같다. 즉 프로세서(7)는 헤더 해석을 행할 때, 코드 변환부(9)에 커맨드를 발행하여 코드 변환부(9)에 의해 VLD된 헤더부분의 정보를 필요로 하기 때문에, 프로세서(7)가 헤더 해석을 행할 때는 코드 변환부(9)가 헤더부분의 VLD를 행할 수 있는 상태여야 한다. 이에 대하여 프로세서(7)가 헤더 해석을 종료한 시점에서는 코드 변환부(9)는 매크로 블록 본체의 VLD를 행하고 있어 헤더 부분을 VLD할 수 없는 상태이기 때문이다.
코드 변환부(9)는 프로세서(7)의 헤더 해석과 병행하여 매크로 블록 헤더부분의 VLD를 행한다(t0∼). 다음으로 코드 변환부(9)는 프로세서(7)로부터의 VLD 개시 지시를 받아 매크로 블록 본체부분의 VLD를 개시한다(tl). 코드 변환부(9)는 매크로 블록 본체부분의 VLD가 종료되면 종료의 취지를 나타내는 VLD 종료신호를 순차 처리부(1003)에 출력한다. 이에 따라 프로세서(7)의 음성 디코드 처리가 중단되어 헤더 해석처리가 개시된다(t3).
화소 연산부(10) 및 화소 판독기입부(11)는 각각 코드 변환부(9), 화소 연산부(10)에 계속해서 파이프라인 방식으로 처리를 행한다.
이상의 처리 타이밍에 나타낸 바와 같이 프로세서(7)가 헤더 해석을 우선적으로 실행함으로써 정형 처리부(1004)의 각부는 매크로 블록의 디코드에 필요한 각종 데이터를 수취하여 정체없이 처리할 수 있다. 덧붙여 정형 처리부(1004)의 각부는 파이프라인 방식에 의한 처리를 행하므로 고속처리가 가능하다. 또한 프로세서(7)는 1매크로 블록의 헤더 해석과 다음 1매크로 블록의 헤더 해석 사이의 빈 시간을 이용하여 음성 디코드 처리를 행함으로써 프로세서(7)의 아이들 시간(idle time)이 적어져 처리 효율이 향상된다.
또한 프로세서(7)는 헤더 해석 처리에서의 헤더 정보의 해석이 종료된 시점(tl)에서 코드 변환부(9)에 매크로 블록 본체의 VLD 개시 지시를 하므로 VLD 개시타이밍이 빠르게 되어, 빨라진 시간만큼 1매크로 블록 전체의 디코드에 소요되는 시간이 줄어들고 있다.
< 4 순차 처리부의 OS >
상기 처리 타이밍과 같이 각 처리가 효율적으로 행해지도록 하기 위해 프로세서(7)에서는 OS가 동작한다. OS는 헤더 해석종료나 매크로 블록 본체의 VLD 종료 등의 신호를 인터럽트 신호로서 검출하고, 그들의 검출에 기인하여 헤더 해석처리를 우선하면서 헤더 해석과 음성 디코드 처리를 전환한다.
도 8은 프로세서(7)에서의 소프트웨어 구성도를 도시한다.
도 8에서 영상 스레드는 프로세서(7)가 헤더 해석처리를 실행하기 위한 스레드이다. 음성 스레드는 프로세서(7)가 음성 디코드 처리를 실행하기 위한 스레드이다. 아이들 스레드는 프로세서(7)가 헤더 해석 처리도 음성 디코드 처리도 하지 않는 경우에 실행하는 아이들링용 스레드이다.
OS는 프로세서(7)와 각 스레드 사이에 개재하여 인터럽트에 의해 천이하는 각 스레드의 상태를 관리한다. 여기에서 각 스레드는 실행상태, 대기상태, 실행가능 상태의 3가지 상태를 취할 수 있다. 또한 OS는 각 스레드의 천이 후의 상태에 따라 영상 스레드를 우선시키면서 어느 하나의 스레드를 프로세서(7)에 할당한다. 또한 OS는 헤더 해석처리 및 정형처리에서 에러가 발생된 경우에는 에러 처리를 행한다.
< 4.1 인터럽트 신호 >
도 9는 OS가 검출하는 각종 인터럽트 신호를 나타낸 표이다.
도 9에서 2열째는 인터럽트 신호의 종별을 나타낸다. 3열째는 인터럽트 신호의 출력원을 나타낸다. 4열째는 인터럽트 신호의 요인을 나타낸다. 또 도 9에서는 설명을 쉽게 하기 위해 1열째에 식별번호를 부가하고 있다.
① 헤더 해석 종료신호는 프로세서(7)가 1매크로 블록분의 헤더 해석 처리 종료시에 출력하는 신호이다.
② 1프레임 종료신호는 프로세서(7)가 1프레임분의 헤더 해석 처리 종료시에①의 헤더 해석 종료신호 대신에 출력하는 신호이다.
③ VLD busy 신호는 코드 변환부(9)가 출력하는 신호이다. 코드 변환부(9)는 통상의 경우에는 프로세서(7)로부터 발행되는 커맨드에 대응하는 데이터를 프로세서(7)에 되돌리는 것이지만, 당해 데이터에 대하여 VLD가 끝나지 않은 경우에는 당해 데이터 대신에 VLD busy 신호를 출력한다.
④ VLD 종료신호는 코드 변환부(9)가 1매크로 블록분의 VLD 종료시에 출력하는 신호이다.
⑤ 수직 동기신호는 외부로부터 영상음성 처리장치(1000)로 입력되는 신호이다. 1프레임분의 매크로 블록 디코드의 주기를 수직 동기신호의 주기에 맞추기 위한 신호이다.
⑥ VLD ready 신호는 코드 변환부(9)가 ⑤의 VLD busy 신호를 출력한 후 당해 데이터의 VLD가 완료된 경우에 출력하는 신호이다.
⑦ Audio Data busy 신호는 FIFO 메모리(4)가 프로세서(7)로부터 압축음성 데이터를 요구받았을 때 대응하는 압축음성 데이터가 외부 메모리(3)로부터 아직 입력되지 않은 경우에 출력하는 신호이다.
⑧ Audio Data ready 신호는 FIFO 메모리(4)가 ⑦의 Audio Data busy 신호를 출력한 후 대응하는 압축음성 데이터가 외부 메모리(3)로부터 입력된 경우에 출력하는 신호이다.
⑨ VLD 에러신호는 코드 변환부(9)가 VLD에서 에러가 발생한 경우에 출력하는 신호이다.
⑩ 모션 보상 에러신호는 화소 판독기입부(11)가 모션 보상에서 에러가 발생한 경우에 출력하는 신호이다.
< 4.2 스레드의 상태 천이 >
도 9에 도시된 인터럽트 신호 중 ①부터 ⑧의 신호가 발생되었을 때 영상 스레드 및 음성 스레드의 상태는 다음과 같이 천이한다.
< 4.2.1 영상 스레드 >
도 10은 영상 스레드의 상태 천이를 도시한 도면이다.
화살표 부근에 나타내어지는 인터럽트 신호①∼③ 및 ④∼⑥은 그 화살표의천이가 그 인터럽트 신호에 기인하는 것을 나타낸다. 또한 대기상태에 기재되어 있는 (1)∼(3)은 각각 구체적인 대기 요인을 나타낸다. ①∼③과 (1)∼(3)과 ④∼⑥은 각각 대응하고 있다.
상세하게는, 영상 스레드는 프로세서(7)에 실행됨으로써 1매크로 블록의 헤더 해석이 종료되면 (①), 실행상태로부터 대기상태로 천이하여 코드 변환부(9)에 의한 매크로 블록 본체부분의 VLD 종료를 대기하고((1)), VLD가 종료되면(④), 대기상태로부터 실행가능 상태로 천이한다.
마찬가지로 영상 스레드는 프로세서(7)에 실행됨으로써 1프레임분의 헤더 해석이 종료되면(②), 실행상태로부터 대기상태로 천이하여 외부로부터 수직 동기신호가 입력되는 것을 대기하고((2)), 수직 동기신호가 입력되면(⑤), 대기상태로부터 실행가능 상태로 천이한다.
또한 영상 스레드는 코드 변환부(9)로부터 VLD busy 신호가 출력되면(③), 실행상태로부터 대기상태로 천이하여 당해 데이터의 VLD가 완료되는 것을 대기하고((3)), 코드 변환부(9)로부터 VLD ready 신호가 출력되면(⑥), 대기상태로부터 실행가능 상태로 천이한다.
< 4.2.2 음성 스레드 >
도 11은 음성 스레드의 상태 천이를 도시한 도면이다.
도 11도 도 10과 마찬가지로 화살표 부근에 표시되는 인터럽트 신호⑦, ⑧에 의해 화살표가 천이되는 것을 나타내며, 인터럽트 신호⑦과 대기요인 (4)와 인터럽트 신호⑧이 대응하고 있다.
즉 음성 스레드는 FIFO 메모리(4)로부터 Audio Data busy 신호가 출력되면(⑦), 실행상태로부터 대기상태로 천이하여 FIFO 메모리(4)에 데이터가 준비되는 것을 대기하고((4)), FIFO 메모리(4)로부터 Audio Data ready 신호가 출력되면(⑧) 대기 상태로부터 실행가능 상태로 천이한다.
< 4.3 스레드 관리 >
OS는 스레드와 스레드의 현재 상태를 대응시킨 상태표를 갖고, 인터럽트 신호①∼⑧을 검출하면 인터럽트 신호의 종별에 따라 상태표를 재기록함으로써 스레드 상태를 관리한다.
도 12는 상태표의 일례를 도시한 도면이다. 도 12는 1열째가 스레드 종별을 나타내며, 2열째가 스레드 종별의 스레드의 현재 상태를 나타낸다. 예를 들면 OS는 헤더 해석 종료신호①을 검출하면 도 10의 영상 스레드의 상태를 실행상태로부터 대기상태로 재기록한다.
이와 같이 OS는 도 10 및 도 11에 도시된 인터럽트에 의한 스레드의 천이에 따라 상태표를 재기록한다.
< 4.4 프로세서의 할당 >
OS는 인터럽트에 따라 상태표를 재기록한 후 프로세서(7)에 할당하는 스레드를 선택하는 선택처리를 행한다.
도 13은 OS가 프로세서(7)에 할당하는 스레드를 선택하는 경우의 선택처리를 도시하는 흐름도이다.
우선 OS는 상태표를 참조하여 영상 스레드가 실행상태인지의 여부를 판정한다(단계 121). 판정 결과, 영상 스레드가 실행상태라면 이 선택처리를 종료한다.
단계 121의 판정 결과, 영상 스레드가 실행상태가 아닌 경우는, 다음에 OS는 영상 스레드가 실행가능 상태인지의 여부를 판정한다(단계 122). 그 결과, 영상 스레드가 실행가능 상태인 경우에 OS는 현재 실행상태에 있는 음성 스레드를 실행가능 상태로 천이시키고 나서 영상 스레드를 실행상태로 천이시킨다. 요컨대 OS는 프로세서(7)가 실행하는 음성 스레드와 영상 스레드를 전환한다(단계 123, 124).
이와 같이 0S는 영상 스레드가 실행상태인 경우에는 본 선택처리를 종료하고, 영상 스레드가 실행가능 상태인 경우에는 영상 스레드를 실행상태로 천이시킴으로써 영상 스레드가 우선하여 실행되도록 제어하고 있다.
단계 122의 판정 결과, 영상 스레드가 실행가능 상태가 아닌 경우, 요컨대 영상 스레드가 대기상태인 경우에 OS는 음성 스레드가 실행가능 상태인지의 여부를 판정한다(단계 125).
단계 125의 판정 결과, 음성 스레드가 실행가능 상태인 경우에 OS는 음성 스레드를 실행상태로 한다(단계 126).
단계 125의 판정 결과, 음성 스레드가 실행가능 상태가 아닌 경우, 즉 영상 스레드와 음성 스레드가 함께 대기 상태인 경우에 0S는 프로세서(7)에 아이들 스레드라는 아무런 처리를 하지 않는 프로그램을 프로세서(7)에 실행시킨다(단계 127).
< 4.5 에러처리 >
OS는 도 9에 도시된 ⑨VLD 에러신호 및 ⑩모션 보상 에러신호를 검출한 경우, 프로세서(7)에 실행 중의 스레드를 중단시켜 에러처리를 행한다. 에러처리에서 OS는 정형 처리부(1004)의 화소 연산부(10) 및 화소 판독기입부(11)에 리세트신호를 출력하여 당해 매크로 블록의 디코드에 관한 데이터를 모두 파기시킨다. 이 때 화소 판독기입부(11)는 리세트 신호가 입력되면 에러보상을 행한다. 여기에서 에러보상이란 다음 슬라이스의 매크로 블록의 디코드를 행하기 위해 파기한 매크로 블록의 하나 앞의 프레임의 같은 위치의 매크로 블록을 외부 메모리(3)로부터 판독하는 처리이다.
OS는 리세트 신호를 출력한 후 상태표에서의 영상 스레드의 상태를 실행가능 상태로 재기록한다. 이에 따라 도 13에 도시된 OS의 선택처리에 의해 영상 스레드는 실행상태가 된다. 프로세서(7)는 영상 스레드가 할당되어 다음 슬라이스의 매크로 블록의 헤더 해석을 실행한다.
< 5 동작설명 >
이상과 같이 구성된 영상음성 처리장치(1000)에 대하여 그 동작을 설명하기로 한다.
< 5.1 입출력 처리부의 동작 >
입출력 처리부(1001)에 있어서, 스트림 입력부(1)로부터 비동기로 입력되는 MPEG 스트림은 입출력 프로세서(5)의 제어에 의해 버퍼 메모리(2), 메모리 컨트롤러(6)를 통해 일단 외부 메모리(3)에 저장되고, 또한 메모리 컨트롤러(6)를 통해 FIFO 메모리(4)에 보유된다. 이 때 IO 프로세서(5)는 FIFO 메모리(4)에 잔량에 따라 압축 동화상 데이터, 압축음성 데이터를 공급한다. 이와 같이 입출력 프로세서(5)는 FIFO 메모리(4)에 과부족없이 일정량의 압축영상 데이터, 압축음성 데이터를 공급하므로, 디코드 처리부(1002)는 비동기 입출력과는 분리되어 디코드 처리에 전적으로 종사할 수 있다. 여기까지의 처리는 상기 입출력 처리부(1001)에 의해 디코드 처리부(1002)와는 독립적으로 병행하여 이루어진다.
< 5.2 디코드 처리부(1002)의 동작 >
한편 디코드 처리부(1002)에서 FIFO 메모리(4)에 보유된 MPEG 스트림 데이터는 프로세서(7), 코드 변환부(9), 화소 연산부(10), 화소 판독기입부(11)에 의해 복호된다. FIFO 메모리(4) 이후의 복호 동작을 나타내는 설명도를 에러가 발생되지 않은 경우의 동작(정상시의 동작), VLD 에러시의 동작, 모션 보상 에러시의 동작으로 나누어 도 14a, 도 14b, 도 15a, 도 15b, 도 16a, 도 16b에 도시한다.
< 5.2.1 정상시의 동작 >
도 14a, 도 14b는 디코드 처리부(1002)의 각부에서의 복호 동작을 도 7에 기초하여 상세히 도시한 도면이다.
도 14a, 도 14b에 도시된 바와 같이, 프로세서(7)는 OS의 제어에 의해 ①헤더 해석 종료신호 및 ④VLD 종료신호에 기인하여 영상 스레드에 의한 헤더 해석과 음성 스레드에 의한 음성 디코드를 교대로 반복하여 행한다.
상세하게는, 프로세서(7)는 1매크로 블록분의 헤더 해석을 행하여, 해석결과를 코드 변환부(9), 화소 연산부(10), 화소 판독기입부(11)에 통지한 후 코드 변환부(9)에 대하여 매크로 블록의 VLD 개시를 지시한다. 그 후 프로세서(7)는 모션 벡터를 계산하여 계산 결과를 화소 판독기입부(11)로 출력한다. 이 출력후 프로세서(7)는 ①헤더 해석 종료신호를 출력한다.
OS는 ①헤더 해석 종료신호를 검출하면 도 13의 선택처리에 의해 음성 스레드를 실행상태로 한다. 음성 스레드가 실행상태가 됨으로써 프로세서(7)는 음성 디코드 처리를 개시한다. 디코드 후의 음성 데이터는 내부 메모리(8)에 일단 보유되고, 또한 메모리 컨트롤러(6)에 의해 외부 메모리(3)에 DMA 전송된다.
음성 디코드 처리 중에 OS는 ④VLD 종료신호를 검출하면 영상 스레드는 실행가능 상태가 되므로 도 13의 선택처리에 의해 음성 스레드를 실행가능 상태로 하고, 영상 스레드를 실행상태로 한다. 이에 따라 프로세서(7)는 다음 매크로 블록의 헤더 해석을 개시한다.
또한 코드 변환부(9)는 프로세서(7)로부터 매크로 블록의 VLD 개시 지시를 받아 매크로 블록 본체의 VLD를 실행하고, 매크로 블록 내의 각 블록마다 버퍼(200)에 저장한다. 코드 변환부(9)는 VLD를 끝내면 ④VLD 종료신호를 프로세서(7)에 출력한다.
화소 연산부(10)는 코드 변환부(9)와 병행하여 버퍼(200)에 저장된 블록 데이터를 블록단위로 IQ, IDCT를 실시하여 그 처리결과를 버퍼(201)에 저장한다.
화소 판독기입부(11)는 화소 연산부(10)와 병행하여 버퍼(201)의 블록 데이터와, 프로세서(7)에 의한 헤더 해석에 의해 통지된 모션 벡터에 기초하여 도 14a, 도 14b에 도시된 바와 같이 외부 메모리(3)의 참조 프레임으로부터의 장방형 영역을 잘라내는 것과 블록합성을 행한다. 블록합성 결과는 메모리 컨트롤러(6)를 통해 외부 메모리(3)에 저장된다.
상기한 것은 스킵 매크로 블록이 아닌 경우의 동작이지만, 스킵 매크로 블록인 경우에는 코드 변환부(9) 및 화소 연산부(10)는 동작하지 않고, 화소 판독기입부(11)만 동작한다. 스킵 매크로 블록이 있는 경우에는 참조 프레임 중의 장방형 영역과 같은 화상이므로 화소 판독기입부(11)에 의해 그 화상이 복호화상으로서 외부메모리(3)에 복사되게 된다.
스킵 매크로 블록의 경우, 코드 변환부(9)는 프로세서(7)로의 ④VLD 종료신호를 다음과 같이 하여 생성한다. 즉, 코드 변환부(9)는 우선 프로세서(7)가 화소 판독기입부(11)에 모션 보상동작 개시의 제어신호를 송부한 것을 나타내는 신호와, 화소 판독기입부(11)가 모션 보상동작이 가능한 것을 나타내는 신호와, 스킵 매크로 블록인 것을 나타내는 신호의 논리곱을 취한다. 다음으로 코드 변환부(9)는 이 논리곱과 매크로 블록의 말미에 부가되어 있는 매크로 블록 종료신호의 논리합을 취하여 그 논리합의 결과를 ④VLD 종료신호로서 프로세서에 입력한다.
< 5.2.2 VLD 에러시의 동작 >
도 15a, 도 15b는 코드 변환부(9)에서 ⑨VLD 에러가 발생된 경우의 동작을 도시한 도면이다.
도 15a, 도 15b에서 OS는 프로세서(7)에 의한 헤더 해석 처리가 한창일 때에 코드 변환부(9)로부터 출력되는 ⑨VLD 에러신호를 검출하면 에러처리를 실행하고, 화소 연산부(10) 및 화소 판독기입부(11)에 리세트신호를 출력한다. 이에 따라 화소 연산부(10) 및 화소 판독기입부(11)에서는 디코드 중의 매크로 블록에 관한 데이터가 파기된다. 에러처리후 OS는 영상 스레드를 실행가능 상태로 한다. 이에 따라 도 13의 선택처리에 의해 영상 스레드는 실행상태가 되어 다음 슬라이스의 매크로 블록의 헤더 해석이 개시된다.
이후의 동작은 도 14a, 도 14b와 마찬가지이다.
< 5.2.3 모션 보상 에러시의 동작 >
도 16a, 도 16b는 화소 판독기입부(11)에서 ⑩모션 보상 에러가 발생된 경우의 동작을 도시한 도면이다.
도 16a, 도 16b에서 OS는 프로세서(7)에 의한 음성 디코드 처리가 한창일 때 화소 판독기입부(11)로부터 ⑩모션 보상 에러신호를 검출하면, 에러처리를 실행하여 코드 변환부(9), 화소 연산부(10), 화소 판독기입부(11)에 리세트 신호를 출력한다. 이에 따라 코드 변환부(9), 화소 연산부(10), 화소 판독기입부(11)에서는 디코드 중의 매크로 블록에 관한 데이터가 파기된다. 에러처리후 0S는 영상 스레드를 실행가능 상태로 한다. 이에 따라 도 13의 선택처리에 의해 영상 스레드는 실행상태가 되어 다음 슬라이스의 매크로 블록의 헤더 해석이 개시된다.
이후의 동작은 도 14a, 도 14b와 마찬가지이다.
이상의 구성에 의해 본 발명의 영상음성 처리장치는 디코드 처리부(1002)에 있어서 순차 처리부(1003)와 정형 처리부(1004)가 압축영상 데이터의 디코드 처리를 분담하여 행한다. 이에 따라 종래의 1개의 프로세서가 압축영상 데이터의 전체 디코드를 행하는 경우에 비하면 순차 처리부(1003)와 정형 처리부(1004)에서의 처리에 걸리는 부하가 경감되어 처리효율이 향상된다. 또한 순차 처리수단이 매크로 블록마다의 헤더 해석처리를 우선적으로 행함으로써 헤더 해석에 기초하여 행해지는 정형 처리수단의 디코드 처리가 정체되지 않고 행해져 시간적인 처리효율이 향상된다. 또한 음성 디코드 처리는 압축영상 데이터의 디코드에 비해 처리량이 적기 때문에 순차 처리수단이 헤더 해석처리를 하는 사이에 행함으로써, 보다 시간적인 처리효율이 향상된다. 이와 같이 처리효율이 향상되므로 디코드 처리부(1002)는 고속 동작클록을 이용하지 않아도 MPEG 스트림의 풀 디코드를 실현할 수 있다. 구체적으로는 본 영상음성 처리장치를 1칩으로 LSI화한 경우, 100MHz 이하의 동작 클록(실제로는 54MHz)으로 상기 풀 디코드가 가능하다.
또 본 발명은 범용 CPU와 DSP(Digital Signal Processor)를 탑재한 컴퓨터로 실현할 수도 있다. 이 경우, 컴퓨터의 주기억장치는 압축영상 데이터에 포함되는 매크로 블록마다의 헤더 해석을 행하기 위한 헤더 해석용 프로그램과, 압축음성 데이터의 디코드를 행하기 위한 음성 디코드용 프로그램과, 헤더 해석 프로그램을 우선시키면서 헤더 해석 프로그램과 음성 디코드 프로그램을 전환하기 위한 OS용 프로그램과, 압축 영상 데이터의 헤더 해석을 제외하는 압축영상 데이터의 디코드를 행하기 위한 정형처리용 프로그램을 미리 기억한다. 그리고 범용 CPU는 헤더 해석용 프로그램, 음성 디코드용 프로그램, OS용 프로그램을 실행하고, DSP는 정형처리용 프로그램을 실행한다. 즉 CPU는 실시예의 순차처리부(1003)가 행하는 순차처리를 행하고, DSP는 정형처리부(1004)의 정형처리를 행한다. 이 구성에 의해 범용 CPU는 헤더 해석처리를 우선적으로 지체없이 행하고, 또 헤더 해석처리를 행하지 않는 빈 시간에 음성 디코드 처리를 행하므로 범용 CPU의 시스템 효율(throughput)이 향상된다. 또 CPU가 헤더 해석처리를 지체없이 행하므로 DSP는 헤더 해석처리에 의한 처리결과의 데이터를 수취하여 정형처리를 지체없이 행할 수 있다.
상술한 본 발명의 바람직한 실시예들은 예시의 목적을 위해 개시된 것이며, 당업자라면 첨부된 특허청구의 범위에 개시된 본 발명의 사상과 범위를 통해 각종 수정, 변경, 대체 및 부가가 가능할 것이다.

Claims (22)

  1. 압축음성 데이터와 압축영상 데이터를 포함하는 데이터 스트림을 디코드함으로써 영상 데이터 및 음성 데이터를 복원하는 영상음성 처리장치에 있어서,
    데이터 스트림 중의 압축영상 데이터에 포함되는 소정 블록의 헤더 해석을 행하는 헤더 해석 처리와 데이터 스트림 중의 압축음성 데이터를 디코드하는 음성 디코드 처리를 행하여 헤더 해석 처리를 음성 디코드 처리보다 우선적으로 행하는 순차 처리수단과,
    상기 순차 처리수단과 병행하여 데이터 스트림 중의 압축영상 데이터의 헤더 해석 처리를 제외하는 압축영상 데이터의 디코드 처리를 행하는 정형 처리수단을 구비하는 것을 특징으로 하는 영상음성 처리장치.
  2. 제 1항에 있어서,
    순차 처리수단은 프로세서와, 프로세서를 전환하여 실행하기 위한 헤더 해석용 스레드와 음성 디코드용 스레드와 스레드 전환제어용 스레드를 기억하는 메모리를 갖고,
    프로세서가 헤더 해석용 스레드를 메모리로부터 판독하여 실행함으로써 헤더 해석 처리를 행하는 헤더 해석수단과,
    프로세서가 음성 디코드용 스레드를 메모리로부터 판독하여 실행함으로써 음성 디코드 처리를 행하는 음성 디코드수단과,
    프로세서가 스레드 전환 제어용 스레드를 메모리로부터 판독하여 실행함으로써 헤더 해석처리를 우선하도록 프로세서에 할당하는 스레드를 전환하는 제어를 행하는 제어수단을 구비하는 것을 특징으로 하는 영상음성 처리장치.
  3. 제 2항에 있어서,
    제어수단은,
    스레드의 전환 요인이 되는 인터럽트의 발생과 그 종별을 검출하는 인터럽트 검출수단과,
    인터럽트의 종별에 따라 천이하는 헤더 해석수단 및 음성 디코드 수단의 상태가 실행상태인지 대기상태인지 실행가능 상태인지를 관리하는 상태 관리수단과,
    헤더 해석수단이 대기상태로부터 실행가능 상태로 천이되었을 때 프로세서에 할당하는 스레드를 다른 스레드로부터 헤더 해석용 스레드로 전환하는 전환수단을 구비하는 것을 특징으로 하는 영상음성 처리장치.
  4. 제 3항에 있어서,
    상태 관리수단은,
    헤더 해석 처리 및 음성 디코드 처리 각각의 상태를 기억하는 상태표와,
    인터럽트의 종별에 따라 상태표를 갱신하는 상태 갱신수단을 구비하는 것을 특징으로 하는 영상음성 처리장치.
  5. 제 4항에 있어서,
    상기 소정 블록은 데이터 스트림 중의 압축영상 데이터에 포함되는 매크로 블록이고,
    인터럽트 검출수단은 헤더 해석수단에 의한 매크로 블록의 헤더 해석이 종료되었을 때 헤더 해석수단에 의해 출력되는 제 1 인터럽트와, 매크로 블록의 복호가 종료되었을 때 정형 처리수단에 의해 출력되는 제 2 인터럽트를 검출하며,
    상태 갱신수단은 인터럽트 검출수단에 의해 제 1 인터럽트가 검출되면 상태표 중의 헤더 해석수단의 상태를 대기상태로 갱신하고, 인터럽트 검출수단에 의해 제 2 인터럽트가 검출되면 상태표의 헤더 해석수단의 상태를 실행가능 상태로 갱신하도록 구성되는 것을 특징으로 하는 영상음성 처리장치.
  6. 제 3항에 있어서,
    전환수단은 헤더 해석수단이 대기상태인 경우, 음성 디코드수단이 대기상태로부터 실행가능 상태로 천이되었을 때 음성 디코드용 스레드를 프로세서에 할당하도록 구성되는 것을 특징으로 하는 영상음성 처리장치.
  7. 제 6항에 있어서,
    상태 관리수단은,
    헤더 해석처리 및 음성 디코드 처리 각각의 상태를 기억하는 상태표와,
    인터럽트의 종별에 따라 상태표를 갱신하는 상태 갱신수단을 구비하는 것을 특징으로 하는 영상음성 처리장치.
  8. 제 7항에 있어서,
    상기 소정 블록은 데이터 스트림 중의 압축영상 데이터에 포함되는 매크로 블록이고,
    인터럽트 검출수단은 헤더 해석수단에 의한 매크로 블록의 헤더 해석이 종료되었을 때 헤더 해석수단에 의해 출력되는 제 1 인터럽트와 매크로 블록의 복호가 종료되었을 때 정형 처리수단에 의해 출력되는 제 2 인터럽트를 검출하며,
    상태 갱신수단은 인터럽트 검출수단에 의해 제 1 인터럽트가 검출되면 상태표 중의 헤더 해석수단의 상태를 대기상태로 갱신하고, 인터럽트 검출수단에 의해 제 2 인터럽트가 검출되면 상태표의 헤더 해석수단의 상태를 실행가능 상태로 갱신하도록 구성되는 것을 특징으로 하는 영상음성 처리장치.
  9. 제 2항에 있어서,
    상기 정형 처리수단은,
    데이터 스트림 중의 압축영상 데이터를 가변길이 복호하는 코드 변환수단과,
    가변길이 복호에 의해 얻어진 영상블록에 대하여 소정의 연산을 실시함으로써 역양자화 및 역이산 여현변환을 행하는 연산수단과,
    역이산 여현변환 후의 영상블록과 복호 완료된 블록을 합성함으로써 모션 보상처리를 행하여 영상 데이터를 복원하는 합성수단을 구비하며,
    헤더 해석수단은,
    코드 변환수단에 요구하여 가변길이 복호된 헤더 정보를 취득하는 취득수단과,
    취득된 헤더 정보를 해석하고, 계속해서 모션 벡터를 산출하는 해석수단과,
    해석결과로서 얻어지는 파라미터를 정형 처리수단에 통지하는 통지수단과,
    해석수단에 의한 해석 과정의 소정 시점에서 코드 변환수단에 블록의 가변길이 복호 개시를 지시하는 개시 지시수단을 구비하는 것을 특징으로 하는 영상음성 처리장치.
  10. 제 9항에 있어서,
    상기 개시 지시수단은 해석수단에 의한 모션 벡터의 산출 전에 가변길이 복호개시를 지시하고,
    상기 통지수단은 산출된 모션 벡터를 합성수단에 통지하도록 구성되는 것을 특징으로 하는 영상음성 처리장치.
  11. 제 10항에 있어서,
    제어수단은,
    스레드의 전환 요인이 되는 인터럽트의 발생과 그 종별을 검출하는 인터럽트 검출수단과,
    인터럽트 검출수단에 의해 에러 인터럽트가 검출된 경우, 정형 처리수단에서의 당해 소정 블록에 관한 데이터를 파기시켜 헤더 해석수단을 실행가능 상태로 하는 에러 처리수단과,
    인터럽트의 종별에 따라 천이하는 헤더 해석수단 및 음성 디코드수단의 상태가 실행상태인지 대기상태인지 실행가능 상태인지를 관리하는 상태 관리수단과,
    헤더 해석수단이 실행가능 상태로 천이되었을 때 프로세서에 헤더 해석용 스레드를 할당하는 전환수단을 구비하는 것을 특징으로 하는 영상음성 처리장치.
  12. 제 11항에 있어서,
    상태 관리수단은,
    헤더 해석처리 및 음성 디코드 처리 각각의 상태를 기억하는 상태표와,
    인터럽트의 종별에 따라 상태표를 갱신하는 상태 갱신수단을 구비하는 것을 특징으로 하는 영상음성 처리장치.
  13. 제 12항에 있어서,
    인터럽트 검출수단은 헤더 해석수단에 의한 매크로 블록의 헤더 해석이 종료되었을 때 헤더 해석수단에 의해 출력되는 제 1 인터럽트와, 매크로 블록의 복호가 종료되었을 때 정형 처리수단에 의해 출력되는 제 2 인터럽트와, 가변길이 복호 중에 에러가 발생된 경우에 코드 변환수단에 의해 출력되는 제 3 인터럽트와, 모션 보상 처리 중에 에러가 발생된 경우에 합성수단에 의해 출력되는 제 4 인터럽트를 검출하고,
    상태 갱신수단은 인터럽트 검출수단에 의해 제 1 인터럽트가 검출되면 상태표 중의 헤더 해석수단의 상태를 대기상태로 갱신하고, 인터럽트 검출수단에 의해 제 2 인터럽트가 검출되면 상태표의 헤더 해석수단의 상태를 실행가능 상태로 갱신하고, 인터럽트 검출수단에 의해 제 3 및 제 4 인터럽트가 검출되면 상태표 중의 헤더 해석수단의 상태를 실행가능 상태로 갱신하며,
    에러 처리수단은 인터럽트 검출수단에 의해 제 3 및 제 4 인터럽트가 검출되면 정형 처리수단에서의 당해 소정블록에 관한 데이터를 파기시키도록 구성되는 것을 특징으로 하는 영상음성 처리장치.
  14. 제 10항에 있어서,
    제어수단은,
    스레드의 전환요인이 되는 인터럽트의 발생과 그 종별을 검출하는 인터럽트검출수단과,
    인터럽트 검출수단에 의해 에러 인터럽트가 검출된 경우, 정형 처리수단에서의 당해 소정 블록에 관한 데이터를 파기시켜 헤더 해석수단을 실행가능 상태로 하는 에러 처리수단과,
    인터럽트의 종별에 따라 천이하는 헤더 해석수단 및 음성 디코드수단의 상태가 실행상태인지 대기상태인지 실행가능 상태인지를 관리하는 상태 관리수단과,
    헤더 해석수단이 실행가능 상태로 천이되었을 때 프로세서에 헤더 해석용 스레드를 할당하는 전환수단을 구비하는 것을 특징으로 하는 영상음성 처리장치.
  15. 제 14항에 있어서,
    상태 관리수단은,
    헤더 해석처리 및 음성 디코드 처리 각각의 상태를 기억하는 상태표와,
    인터럽트의 종별에 따라 상태표를 갱신하는 상태 갱신수단을 구비하는 것을 특징으로 하는 영상음성 처리장치.
  16. 제 15항에 있어서,
    인터럽트 검출수단은 헤더 해석수단에 의한 매크로 블록의 헤더 해석이 종료되었을 때 헤더 해석수단에 의해 출력되는 제 1 인터럽트와, 매크로 블록의 복호가 종료되었을 때 정형 처리수단에 의해 출력되는 제 2 인터럽트와, 가변길이 복호 중에 에러가 발생된 경우에 코드 변환수단에 의해 출력되는 제 3 인터럽트와, 모션 보상 처리 중에 에러가 발생된 경우에 합성수단에 의해 출력되는 제 4 인터럽트를 검출하고,
    상태 갱신수단은 인터럽트 검출수단에 의해 제 1 인터럽트가 검출되면 상태표 중의 헤더 해석수단의 상태를 대기상태로 갱신하고, 인터럽트 검출수단에 의해 제 2 인터럽트가 검출되면 상태표의 헤더 해석수단의 상태를 실행가능 상태로 갱신하며, 인터럽트 검출수단에 의해 제 3 및 제 4 인터럽트가 검출되면 상태표 중의 헤더 해석수단의 상태를 실행가능 상태로 갱신하고,
    에러 처리수단은 인터럽트 검출수단에 의해 제 3 및 제 4 인터럽트가 검출되면 정형 처리수단에서의 당해 소정 블록에 관한 데이터를 파기시키도록 구성되는 것을 특징으로 하는 영상음성 처리장치.
  17. 제 9항에 있어서,
    제어수단은,
    스레드의 전환 요인이 되는 인터럽트의 발생과 그 종별을 검출하는 인터럽트 검출수단과,
    인터럽트의 종별에 따라 천이하는 헤더 해석수단 및 음성 디코드수단의 상태가 실행상태인지 대기상태인지 실행가능 상태인지를 관리하는 상태 관리수단과,
    헤더 해석수단이 대기상태로부터 실행가능 상태로 천이되었을 때 프로세서에 할당하는 스레드를 다른 스레드로부터 헤더 해석용 스레드로 전환하는 전환수단을 구비하는 것을 특징으로 하는 영상음성 처리장치.
  18. 제 17항에 있어서,
    상태 관리수단은,
    헤더 해석처리 및 음성 디코드 처리 각각의 상태를 기억하는 상태표와,
    인터럽트의 종별에 따라 상태표를 갱신하는 상태 갱신수단을 구비하는 것을 특징으로 하는 영상음성 처리장치.
  19. 제 18항에 있어서,
    인터럽트 검출수단은 소정 블록의 헤더 해석이 종료되었을 때 헤더 해석수단에 의해 출력되는 제 1 인터럽트와,
    소정 블록의 정형처리가 종료되었을 때 정형 처리수단에 의해 출력되는 제 2 인터럽트와,
    1프레임분의 헤더 해석이 종료되었을 때 헤더 해석수단에 의해 출력되는 제 3 인터럽트와,
    헤더 취득수단이 요구한 경우에 헤더 정보가 가변길이 복호되어 있지 않을 때 코드 변환수단에 의해 출력되는 제 4 인터럽트와,
    영상 처리장치의 외부로부터 입력되는 수직 동기신호인 제 5 인터럽트와,
    제 4 인터럽트 후 헤더 취득수단이 요구한 헤더 정보가 가변길이 복호되었을 때 코드 변환수단에 의해 출력되는 제 6 인터럽트와,
    음성 디코드수단이 디코드하는 데이터를 소정의 메모리에 요구한 경우, 그 메모리에 당해 데이터가 없는 경우에 메모리로부터 출력되는 제 7 인터럽트와,
    제 7 인터럽트 후 음성 디코드수단이 요구한 데이터가 소정의 메모리에 입력되었을 때 메모리로부터 출력되는 제 8 인터럽트를 검출하고,
    상태 갱신수단은 인터럽트 검출수단에 의해 제 1 인터럽트, 제 3 인터럽트, 제 4 인터럽트가 검출되면 상태표 중의 헤더 해석수단의 상태를 대기상태로 갱신하고,
    제 2 인터럽트, 제 5 인터럽트, 제 6 인터럽트가 검출되면 상태표의 헤더 해석수단의 상태를 실행가능 상태로 갱신하며,
    제 7 인터럽트가 검출되면 상태표의 음성 디코드수단의 상태를 대기상태로 갱신하고,
    제 8 인터럽트가 검출되면 상태표의 음성 디코드수단의 상태를 실행가능 상태로 갱신하도록 구성되는 것을 특징으로 하는 영상음성 처리장치.
  20. 압축음성 데이터와 압축영상 데이터를 포함하는 데이터 스트림을 디코드하는 것에 의해 영상 데이터 및 음성 데이터를 복원하는 프로그램을 기록하고 있는 데이터 판독 가능한 프로그램 기록매체에 있어서,
    데이터 스트림 중의 압축영상 데이터에 포함되는 소정 블록의 헤더를 해석하는 헤더 해석처리와,
    데이터 스트림 중의 압축음성 데이터의 디코드를 행하는 음성 디코드 처리와,
    헤더 해석처리가 우선적으로 실행되도록 헤더 해석처리와 음성 디코드 처리를 전환하는 제어처리와,
    데이터 스트림 중의 압축영상 데이터의 헤더 해석처리를 제외하는 압축영상 데이터의 디코드를 행하는 정형처리로 이루어지는 것을 특징으로 하는 프로그램 기록매체.
  21. 제 20항에 있어서,
    상기 컴퓨터는 제 1 프로세서와 제 2 프로세서를 갖는 영상음성 처리장치이며, 헤더 해석처리, 음성 디코드 처리, 제어처리는 제 1 프로세서에 의해 실행되며, 정형처리는 제 2 프로세서에 의해 실행되는 것을 특징으로 하는 프로그램 기록매체.
  22. 제 21항에 있어서,
    상기 제어처리는 헤더 해석처리와 음성 디코드 처리의 전환 요인이 되는 인터럽트의 발생과 그 종별을 검출하는 인터럽트 검출처리와,
    인터럽트의 종별에 따라 천이하는 헤더 해석처리 및 음성 디코드 처리의 상태가 실행상태인지 대기상태인지 실행가능 상태인지를 관리하는 상태 관리와,
    헤더 해석처리가 대기상태로부터 실행가능 상태로 천이한 경우에 실행되는 처리를 음성 디코드 처리로부터 헤더 해석처리로 전환하는 전환처리로 이루어지는 것을 특징으로 하는 프로그램 기록매체.
KR1019980051200A 1997-11-28 1998-11-27 처리 효율을 높인 영상음성 처리장치 KR100562116B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP???9-327434 1997-11-28
JP9-327434 1997-11-28
JP32743497 1997-11-28

Publications (2)

Publication Number Publication Date
KR19990045632A true KR19990045632A (ko) 1999-06-25
KR100562116B1 KR100562116B1 (ko) 2006-05-25

Family

ID=18199130

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980051200A KR100562116B1 (ko) 1997-11-28 1998-11-27 처리 효율을 높인 영상음성 처리장치

Country Status (5)

Country Link
US (1) US6782368B2 (ko)
EP (1) EP0919953B1 (ko)
KR (1) KR100562116B1 (ko)
CN (1) CN1199471C (ko)
DE (1) DE69825710T2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100710305B1 (ko) * 2005-06-07 2007-04-23 엘지전자 주식회사 비디오 디코딩 장치의 데이터 관리기

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6980331B1 (en) * 1999-12-02 2005-12-27 Lucent Technologies Inc. Automatic send to embedded fax/e-mail address
US6847687B2 (en) * 2000-03-08 2005-01-25 Matsushita Electric Industrial Co., Ltd. Audio and video processing apparatus
JP2002041285A (ja) * 2000-07-28 2002-02-08 Toshiba Corp データ処理装置およびデータ処理方法
EP1217843B1 (en) 2000-12-19 2012-11-28 Canon Kabushiki Kaisha Image processing method, apparatus, and storage medium
US7356670B2 (en) * 2001-12-14 2008-04-08 Nxp B.V. Data processing system
DE10230812B4 (de) * 2002-07-08 2004-11-25 T-Mobile Deutschland Gmbh Verfahren zur Übertragung von zusätzlichen Informationen bei Verwendung eines Verfahrens zur Komprimierung von Daten mittels einer priorisierenden Pixelübertragung
FR2842058B1 (fr) * 2002-07-08 2004-10-01 France Telecom Procede de restitution d'un flux de donnees multimedia sur un terminal client, dispositif, systeme et signal correspondants
US20040008701A1 (en) * 2002-07-11 2004-01-15 Giacomini Peter J. Hierarchical finite-state machines
US7349435B2 (en) * 2002-07-11 2008-03-25 Bay Microsystems, Inc. Multiport overhead cell processor for telecommunications nodes
DE60225703T2 (de) * 2002-12-16 2008-07-17 Alcatel Lucent Mehrkanaliges Netzknoten und Verfahren zur Vermittlung/Leitweglenkung den Daten
US7272658B1 (en) * 2003-02-13 2007-09-18 Adobe Systems Incorporated Real-time priority-based media communication
US7555540B2 (en) * 2003-06-25 2009-06-30 Microsoft Corporation Media foundation media processor
JP4699685B2 (ja) * 2003-08-21 2011-06-15 パナソニック株式会社 信号処理装置及びそれを用いた電子機器
JP2005234794A (ja) * 2004-02-18 2005-09-02 Matsushita Electric Ind Co Ltd ファイルシステム制御装置
US20070208571A1 (en) * 2004-04-21 2007-09-06 Pierre-Anthony Stivell Lemieux Audio Bitstream Format In Which The Bitstream Syntax Is Described By An Ordered Transversal of A Tree Hierarchy Data Structure
US7672573B2 (en) * 2004-05-13 2010-03-02 Sunplus Technology Co., Ltd. Shared memory architecture and method in an optical storage and recording system
US7827554B2 (en) * 2005-06-20 2010-11-02 Microsoft Corporation Multi-thread multimedia processing
EP1911278A2 (en) * 2005-08-04 2008-04-16 Nds Limited Advanced digital tv system
WO2007032058A1 (ja) * 2005-09-13 2007-03-22 Mitsubishi Denki Kabushiki Kaisha 復号装置
JP4769665B2 (ja) * 2006-08-29 2011-09-07 パナソニック株式会社 音楽再生装置および音楽再生端末
DE102007005866B4 (de) 2007-02-06 2021-11-04 Intel Deutschland Gmbh Anordnung, Verfahren und Computerprogramm-Produkt zum Anzeigen einer Folge von digitalen Bildern
US8411734B2 (en) * 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US20090086824A1 (en) * 2007-09-28 2009-04-02 Mediatek Inc. Video Decoding Apparatus and Systems
US8464032B2 (en) 2009-07-10 2013-06-11 Via Technologies, Inc. Microprocessor integrated circuit with first processor that outputs debug information in response to reset by second processor of the integrated circuit
US8495344B2 (en) * 2010-01-22 2013-07-23 Via Technologies, Inc. Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information
US8762779B2 (en) 2010-01-22 2014-06-24 Via Technologies, Inc. Multi-core processor with external instruction execution rate heartbeat
US8885729B2 (en) 2010-12-13 2014-11-11 Microsoft Corporation Low-latency video decoding
US9706214B2 (en) 2010-12-24 2017-07-11 Microsoft Technology Licensing, Llc Image and video decoding implementations
US8639919B2 (en) 2011-01-18 2014-01-28 Via Technologies, Inc. Tracer configuration and enablement by reset microcode
SG10201408609SA (en) 2011-06-30 2015-02-27 Microsoft Technology Licensing Llc Reducing latency in video encoding and decoding
US8731067B2 (en) 2011-08-31 2014-05-20 Microsoft Corporation Memory management for video decoding
US9621908B2 (en) * 2011-09-06 2017-04-11 Mediatek Inc. Dynamic load balancing for video decoding using multiple processors
US9819949B2 (en) 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
US9985996B2 (en) * 2013-09-09 2018-05-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Decoupling audio-video (AV) traffic processing from non-AV traffic processing
US9137285B2 (en) 2013-10-21 2015-09-15 Broadcom Corporation Adaptive audio video (AV) stream processing
CN113055691A (zh) * 2017-12-29 2021-06-29 深圳市大疆创新科技有限公司 视频解码器及其制造方法,数据处理电路、系统和方法
EP3777168B1 (en) * 2018-03-29 2023-07-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Accelerating video encoding and decoding

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950009680B1 (ko) 1992-05-19 1995-08-25 주식회사금성사 영상 압축/신장 시스템의 영상 디코더
JP2528446B2 (ja) 1992-09-30 1996-08-28 株式会社ハドソン 音声画像処理装置
JP3255308B2 (ja) * 1992-12-18 2002-02-12 ソニー株式会社 データ再生装置
US5949891A (en) * 1993-11-24 1999-09-07 Intel Corporation Filtering audio signals from a combined microphone/speaker earpiece
JPH08115567A (ja) * 1994-08-26 1996-05-07 Toko Inc 画像送信装置
JP2863096B2 (ja) * 1994-08-29 1999-03-03 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 並列処理による画像復号装置
US6330644B1 (en) * 1994-10-27 2001-12-11 Canon Kabushiki Kaisha Signal processor with a plurality of kinds of processors and a shared memory accessed through a versatile control means
KR0166935B1 (ko) * 1994-11-23 1999-03-20 구자홍 엠펙2 트랜스포트 디코더 장치
US5596369A (en) * 1995-01-24 1997-01-21 Lsi Logic Corporation Statistically derived method and system for decoding MPEG motion compensation and transform coded video data
JPH08298663A (ja) 1995-04-26 1996-11-12 Canon Inc 画像処理方法及びその装置
JP3729540B2 (ja) 1995-09-08 2005-12-21 株式会社ルネサステクノロジ 画像処理装置
US6018765A (en) * 1996-01-23 2000-01-25 Storage Concepts, Inc. Multi-channel multimedia data server
EP0790557A2 (en) * 1996-02-14 1997-08-20 Matsushita Electric Industrial Co., Ltd. Task managemant apparatus
JP3279186B2 (ja) * 1996-06-21 2002-04-30 日本電気株式会社 動画像データの再生制御方式
EP1291765B1 (en) * 1996-08-27 2009-12-30 Panasonic Corporation Multithreaded processor for processing multiple instruction streams independently of each other by flexibly controlling throughput in each instruction stream
US6226291B1 (en) * 1996-11-01 2001-05-01 Texas Instruments Incorporated Transport stream packet parser system
US5959684A (en) * 1997-07-28 1999-09-28 Sony Corporation Method and apparatus for audio-video synchronizing
KR100236310B1 (ko) * 1997-10-24 1999-12-15 전주범 디지탈방송 수신기에 있어서 방송신호 저장 및 재생장치와 그방법
US6012116A (en) * 1997-12-31 2000-01-04 Sun Microsystems, Inc. Apparatus and method for controlling data, address, and enable buses within a microprocessor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100710305B1 (ko) * 2005-06-07 2007-04-23 엘지전자 주식회사 비디오 디코딩 장치의 데이터 관리기

Also Published As

Publication number Publication date
CN1199471C (zh) 2005-04-27
US20030014264A1 (en) 2003-01-16
DE69825710D1 (de) 2004-09-23
US6782368B2 (en) 2004-08-24
CN1230081A (zh) 1999-09-29
EP0919953A2 (en) 1999-06-02
EP0919953A3 (en) 2000-09-20
KR100562116B1 (ko) 2006-05-25
EP0919953B1 (en) 2004-08-18
DE69825710T2 (de) 2005-07-14

Similar Documents

Publication Publication Date Title
KR100562116B1 (ko) 처리 효율을 높인 영상음성 처리장치
USRE48845E1 (en) Video decoding system supporting multiple standards
KR100502586B1 (ko) 처리효율을높인영상음성처리장치
US8774281B2 (en) Implementation of a DV video decoder with a VLIW processor and a variable length decoding unit
JP5309700B2 (ja) 動画像復号装置および符号化装置
WO1996042169A1 (en) Video decoder with dedicated mpeg processor
JPH05268590A (ja) 動画像符号化復号化回路
EP1774789A1 (en) Method and system for performing deblocking filtering
CA2597536A1 (en) Agile decoder
US20110188570A1 (en) Moving image processing method, program and apparatus
US20030048848A1 (en) Distributed video stream decoding system on compuer and decoding method of the same
JP3589565B2 (ja) 映像音声処理装置
JP3410669B2 (ja) 映像音声処理装置
EP1351512A2 (en) Video decoding system supporting multiple standards
JPH11215509A (ja) 動き補償処理方法及びシステム並びにその処理プログラムを記録した記録媒体
JPH1155668A (ja) 画像符号化装置
JPH07131786A (ja) データ処理装置
JP2002051337A (ja) 映像音声処理装置
US20070206870A1 (en) Encoded Data Decoding Apparatus
JP4214554B2 (ja) 動画像復号化装置
JPH09307899A (ja) 可変長復号装置
JP3380236B2 (ja) 映像音声処理装置
JP2008066973A (ja) 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法
JP2001324998A (ja) 映像音声処理装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20130219

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140220

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160219

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170221

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180302

Year of fee payment: 13

EXPY Expiration of term