KR20060009840A - 동영상 부호화 또는 복호화 처리 시스템 및 동영상 부호화 또는 복호화 처리방법 - Google Patents

동영상 부호화 또는 복호화 처리 시스템 및 동영상 부호화 또는 복호화 처리방법 Download PDF

Info

Publication number
KR20060009840A
KR20060009840A KR1020057019372A KR20057019372A KR20060009840A KR 20060009840 A KR20060009840 A KR 20060009840A KR 1020057019372 A KR1020057019372 A KR 1020057019372A KR 20057019372 A KR20057019372 A KR 20057019372A KR 20060009840 A KR20060009840 A KR 20060009840A
Authority
KR
South Korea
Prior art keywords
frame
amount
encoding
previous frame
calculation
Prior art date
Application number
KR1020057019372A
Other languages
English (en)
Inventor
마사히코 요시모토
겐타로 가와카미
미와코 가나모리
히데오 오히라
Original Assignee
가나자와 유니버시티 테크놀러지 라이센싱 오가니제이션 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가나자와 유니버시티 테크놀러지 라이센싱 오가니제이션 엘티디. filed Critical 가나자와 유니버시티 테크놀러지 라이센싱 오가니제이션 엘티디.
Publication of KR20060009840A publication Critical patent/KR20060009840A/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 종래 기술에 비하여 소비전력을 절감할 수 있는 동영상 부호화 또는 복호화 처리 시스템 및 동영상 부호화 또는 복호화 처리방법을 제공하는 것을 목적으로 한다. 하나의 프레임의 부호화 또는 복호화에 필요한 필요 연산량(Kp)을 계산하고, 상기 하나의 프레임의 부호화 또는 복호화 처리에 미리 할당된 시간(Te) 내에 상기 필요 연산량(Kp)을 부호화 또는 복호화 처리를 할 수 있는 동작 주파수(F)를 결정하고, 상기 동작 주파수(F) 및 상기 동작 주파수(F)에 적합한 동작 전압(V)으로 상기 프로세서를 동작시키면서 상기 하나의 프레임의 부호화 또는 복호화 처리를 수행하며, 나아가 필요 연산량(Kp)이 실제로 필요한 연산량보다 작은 경우에 발생하는 장애 현상을 방지하는 장애 방지 수단을 하나 이상 구비한다.
Figure 112005057527533-PCT00001
동영상 부호화, 복호화, 프레임, 장애 방지 수단

Description

동영상 부호화 또는 복호화 처리 시스템 및 동영상 부호화 또는 복호화 처리방법{MOVING PICTURE ENCODING OR DECODING PROCESSING SYSTEM AND MOVING PICUTURE ENCODING OR DECODING PROCESSING METHOD}
본 발명은 동작 주파수 및 동작 전압을 변경할 수 있는 프로세서를 사용하여 동영상의 부호화 또는 복호화를 수행하는 동영상 부호화 또는 복호화 처리 시스템 및 동영상 부호화 또는 복호화 처리방법에 관한 것이다.
최근 전송 경로를 통하여 동영상을 송수신할 수 있고, 동영상을 저장 매체에 저장할 수도 있게 되었다. 일반적으로 동영상은 정보량이 많으므로, 비트 전송율이 제한된 전송 경로를 사용하여 동영상을 전송하는 경우 또는 저장 용량이 제한된 저장 매체에 동영상을 저장하는 경우에는 동영상을 부호화 및 복호화하는 기술이 반드시 필요하다. 동영상 부호화 및 복호화 방식으로는, ISO/IEC에 의해 표준화가 진행되고 있는 MPEG(Moving Picture Experts Group)이나 H.26X가 있다. 이들은 동영상을 구성하는 시간적으로 연속된 복수의 프레임을 부호화 또는 복호화하는 것으로서, 동영상의 시간적 상관 관계, 공간적 상관 관계를 이용하여 리던던시를 줄임으로써 동영상의 정보량을 감소시켜 부호화를 수행하고, 부호화된 동영상을 다시 원래의 동영상으로 복호화하는 기술이다.
이러한 부호화 및 복호화 기술은 개인용 컴퓨터(personal computer)나 마이크로 컴퓨터를 내장하는 휴대 전화 등의 정보 단말 기기 등에 적용되며, 부호화 및 복호화 수단을 구현한 프로그램에 의해 컴퓨터의 프로세서 등을 동작시킴으로써, 동영상을 전송하거나 하는 경우에는 동영상 부호화 처리 시스템으로서, 동영상을 수신하거나 하는 경우에는 동영상 복호화 처리 시스템으로서 동작하도록 하고 있다. 그러나, 이러한 동영상 부호화 또는 복호화 처리는 비교적으로 연산량이 많으므로 소비 전력이 증가하는 경향이 있어, 하드웨어보다 범용성이 높은 소프트웨어를 사용하여 부호화 및 복호화 처리시의 소비 전력을 줄이는 것이 커다란 과제로 대두되고 있다.
이하, 종래의 기술에 따른, 소프트웨어를 사용한 동영상 부호화 또는 복호화 처리 시스템에서 저소비전력화를 도모하는 수단에 대하여 설명한다. 종래의 저소비전력화 수단으로는, 예컨대 아래의 비 특허문헌 1에 개시된 것이 있다.
(비 특허문헌 1) IEEE International Symposium on Circuits and System 2001(May, 2001)의 예고집 pp 918-921 "An LSI for VDD-Hopping and MPEG4 System Based on the Chip"(H. Kawaguchi, G. Zhang, S. Lee, and T. Sakurai)
도 10은 비 특허문헌 1에서 제안된 동영상 부호화 처리 시스템에 대하여 저소비전력화를 수행하는 종래의 방법을 도시한 도면이다. 저소비전력화 수단은 동영상 복호화 처리 시스템에서도 동일하다.
이러한 종래 예에서는, 동적으로 동작 전압 및 동작 주파수를 변경할 수 있는 프로세서 상에서 동영상 부호화(특히 MPEG)를 처리하는 경우, 저소비전력화를 수행하기 위한 동작 전압 및 동작 주파수를 제어하는 방법을 제안하고 있다. 즉, 상기 종래 예는, 도 11에 도시된 바와 같이 동영상 부호화를 수행하는 경우, 동영상 내의 과격한 움직임으로 인해 프레임 단위로 동영상 부호화 또는 복호화의 연산량이 달라지는 것에 주목하여, 프로세서의 동작 주파수 및 동작 전압을 제어하여 저소비전력화를 도모하는 것이다.
부호화 처리는 하나의 프레임의 처리 시간이 부호화 방식(MPEG 등)의 규정 등으로 인해 시간(Tf)에 제약을 받으므로, 상기 처리 시간(Tf) 내에 하나의 프레임의 부호화 처리가 완료되어야 한다. 하나의 프레임의 처리 시간(Tf)(초)에 대하여 이를 일정한 간격으로 N개로 나누고, 하나 하나의 간격(시간)을 타임 슬롯(Tslot)(Tslot=Tf/N)이라 정의하고, 타임 슬롯(Tslot1) 내지 타임 슬롯(Tsloti)이 종료된 시점의 나머지 시간(TRi)을 TRi=Tf-Tslot×i라 정의한다. 하나의 타임 슬롯(Tslot)에서 처리하는 동영상의 블록 수(동영상의 부호화는 블록 단위로 처리가 이루어진다)를 R(즉, R×N이 하나의 프레임의 블록 수임)이라 하고,(R×i) 블록 처리에 소요된 시간(즉, 타임 슬롯(Tslot1)에서 타임 슬롯(Tsloti)까지 처리해야 하는 블록 군에 대하여 실제로 처리에 소요된 시간)을 Tacc(i+1)이라 한다. 전압을 변경한 경우, 동작 전압 및 동작 주파수가 안정될 때까지의 시간을 Trd라 한다. 그리고, 실제 타임 슬롯(RTsloti)이란, 타임 슬롯(Tsloti) 내에 완료되어야 하는 처리에 대하여 실제로 소요된 처리 시간을 나타낸다. 도 10을 참조하면, 먼저 타임 슬롯(Tslot1) 및 타임 슬롯(Tslot2)에 할당된 블록 군의 처리에 대해서는, 부하가 가장 큰 경우라도 그 타임 슬롯(Tslot1, Tslot2) 내에 충분히 처리를 완료할 수 있는 클록 주파수(fmax)로 동작시킨다. 그 처리에 소요된 시간(Tacc3)이 Tacc3<(Tf-TR2)인 경우, 즉, 할당된 블록 군이 타임 슬롯(Tslot1, Tslot2) 내에서 처리가 완료된 경우, 다음 타임 슬롯(Tslot3)에 할당된 블록 군의 처리에 사용할 수 있는 처리 시간(Ttar3)은 Ttar3=Tf-Tacc3-TR3-Trd이고, 이 처리 시간(Ttar3) 내에 Tslot3에 할당된 블록 군의 처리가 완료되면 되므로, 이 블록 군으로 대해서는 동작 주파수를 내려서 동작시킨다. 도 10의 처리 시간(Tf1, Tf2, Tf3)은 타임 슬롯(Tslot3)에서 부하가 가장 큰 경우 각 동작 주파수(f1, f2, f3)로 동작시켰을 때의 처리 시간을 나타낸다. 동작 주파수로서 도 10에서 f2=fmax/2의 동작 주파수를 선택하면, 부하가 가장 큰 경우에도 타임 슬롯(Tslot1)에서 타임 슬롯(Tslot3)까지 완료되어야 하는 처리 시간이(Tf-TR3) 이내인 다음 타임 슬롯(Tslot4)으로 처리가 이행되지 않는다. 한편, 동작 주파수 f3=fmax/3를 선택한 경우에는 처리 시간(Tf3)이 처리 시간(Ttar3)을 초과하게 된다. 따라서, 이 타임 슬롯(Tslot3)에서 처리해야 하는 블록 군에 대해서는 f2=fmax/2의 동작 주파수 및 그 동작 주파수에 적합한 동작 전압으로 동작시킨다. 이와 동일한 방법으로 타임 슬롯(Tslot)마다 이러한 처리를 수행한다.
이에 따라 동적으로 동작 클록 주파수 및 동작 전압을 변경함에 있어, 소정 시간 내에 소정 수의 블록 군을 처리할 수 있는 동작 주파수 중 가장 작은 동작 주파수를 선택함으로써 전체적으로 동작 주파수 및 동작 전압을 내려서 동작시키고, 필요한 처리에 따라 전압을 제어함으로써 저소비전력화가 도모된다.
그런데, 어느 일정한 처리 시간(예컨대, 여기서는 하나의 프레임의 처리 시 간(Tf))에 완료해야 하는 처리(예컨대, 여기서는 하나의 프레임의 처리)에 대해서는 하나의 프레임의 처리 시간에 걸쳐 프로세서를 일정한 동작 전압 및 동작 주파수로 동작시켜 처리하는 것이 바람직하다. 즉, 하나의 프레임의 처리 시간을 Tf(초)라 하고, 연산량을 Kf(사이클)이라 하고, 동작 주파수를 Ff라 가정하였을 때, 동작 주파수를 Ff=Kf/Tf(사이클/초)로 설정하고 하나의 프레임의 처리 시간(Tf)에 걸쳐 프로세서를 일정한 동작 주파수(Ff)로 동작시킴으로써, 그 처리 시간(Tf) 내에 동작 주파수(Ff)를 몇 번이고 변동시키는 경우에 비하여 소비 전력을 더 절감시킬 수 있다. 이에 대한 증명은 후술하는 제1 실시 형태에서 하기로 한다.
그러나, 상기 종래 예에서는, 처리 시간(Tf)의 동기 단위가 하나의 프레임임에도 불구하고, 하나의 프레임 내에서 최대 N번의 동작 전압 및 동작 주파수가 변경되므로 저소비전력화가 충분히 도모되지 않고 있다. 즉, 상기 종래 예와 같이 여러 단계에 걸쳐 동작 전압 및 동작 주파수를 제어할 수 있는 프로세서에서는, 동영상 부호화 또는 복호화 처리의 저소비전력화를 도모하기 위하여 하나의 프레임을 처리하는 중에 몇 번이고 동작 전압 및 동작 주파수를 변경하여야 하였다. 한편, 상술한 바와 같이 처리 시간의 제약 단위가 프레임이므로, 하나의 프레임을 처리하는 중에는 처리를 가능하게 하는 최저한의 일정한 주파수로 제어하는 것이 바람직하다. 따라서, 하나의 프레임의 처리중에 최대 N번 동작 전압 및 동작 주파수가 변경되는 상기 종래 예에서는 충분한 저소비전력화가 이루어질 수 없다.
따라서, 본 발명은 상술한 바와 같은 과제를 해결하기 위해 이루어진 것으로서, 상기 종래 기술에 비하여 대폭적으로 저소비전력화를 도모할 수 있는 동영상 부호화 또는 복호화 처리 시스템 및 동영상 부호화 또는 복호화 처리 프로그램을 제안하는 데 그 목적이 있다.
즉, 본 발명의 동영상 부호화 또는 복호화 처리 시스템은, 복수의 프레임으로 구성되는 동영상을 프레임 단위로 부호화 또는 복호화하는 프로세서를 구비하고, 하나의 프레임의 부호화 또는 복호화에 필요한 필요 연산량(Kp)을 계산하고, 상기 하나의 프레임의 부호화 또는 복호화 처리에 미리 할당된 시간(Te) 내에 상기 필요 연산량(Kp)을 부호화 또는 복호화 처리할 수 있는 동작 주파수(F)를 결정하고, 상기 동작 주파수(F) 및 상기 동작 주파수(F)에 적합한 동작 전압(V)으로 상기 프로세서를 동작시키면서 상기 하나의 프레임의 부호화 또는 복호화 처리를 수행하고, 필요 연산량(Kp)이 실제로 필요한 연산량보다 작은 경우에 발생하는 장애 현상을 방지하는 장애 방지 수단을 하나 이상 구비하는 것을 특징으로 한다. 또한, 본 발명의 동영상 부호화 또는 복호화 처리방법은, 복수의 프레임으로 구성되는 동영상을 프레임 단위로 부호화 또는 복호화하는 프로세서를 사용하여 하나의 프레임의 부호화에 필요한 필요 연산량(Kp)을 계산하고, 상기 하나의 프레임의 부호화 또는 복호화 처리에 미리 할당된 시간(Te) 내에 상기 필요 연산량(Kp)을 부호화 또는 복호화 처리할 수 있는 동작 주파수(F)를 결정하고, 상기 동작 주파수(F) 및 상기 동작 주파수(F)에 적합한 동작 전압(V)으로 상기 프로세서를 동작시키면서 상기 하나의 프레임의 부호화 또는 복호화 처리를 수행하고, 필요 연산량(Kp)이 실제로 필요한 연산량보다 작은 경우에 발생하는 장애 현상을 방지하는 장애 방지 단계를 하나 이상 구비하는 것을 특징으로 한다.
부호화 및 복호화 방식(MPEG 등) 규정에서는 현재 프레임에 대하여 미리 처리 시간이 할당되어 있다. 본 발명에 따르면, 하나의 프레임의 부호화 또는 복호화에 필요한 필요 연산량(Kp)이 계산되고, 상기 하나의 프레임의 부호화 처리 또는 복호화 처리에 미리 할당된 시간(Te) 내에 상기 필요 연산량(Kp)을 부호화 처리 또는 복호화 처리를 할 수 있는 동작 주파수(F)가 결정되며, 상기 동작 주파수(F) 및 그에 적합한 동작 전압(V)으로 프로세서를 일정하게 동작시키면서 부호화 또는 복호화 처리가 수행된다. 따라서, 프레임마다 부호화 또는 복호화에 필요한 최저한의 동작 전압 및 동작 주파수로 프로세서를 일정하게 동작시키면서 부호화 또는 복호화 처리가 수행되게 되며, 프레임을 분할함으로써 생성되는 소정 수의 블록마다 동작 주파수 및 동작 전압이 결정됨으로써, 하나의 프레임의 부호화 및 복호화 처리중에 몇 번이고 동작 전압 및 동작 주파수가 변경되는 종래 기술과 비교하여 저소비전력화를 도모할 수 있다. 또한, 필요 연산량(Kp) 값이 실제로 필요한 연산량보다 작은 경우에는 미리 정해진 시간 내에 현재 프레임의 부호화 또는 복호화 처리가 완료되지 않아 영상이 열악해져 장애 현상이 일어나는데, 본 발명은 장애 현상을 방지하는 하나 이상의 장애 방지 수단을 구비하므로 장애 현상이 발생하는 것이 방지된다.
본 발명의 동영상 부호화 또는 복호화 처리 시스템/방법은, 연속된 복수의 프레임 중 상기 하나의 프레임보다 이전에 부호화 처리되는 프레임을 이전 프레임이라 하였을 때 동영상 부호화 처리를 수행하는 경우에 있어서, 상기 하나의 프레임과 이전 프레임의 움직임량, 상기 하나의 프레임의 액티비티의 양, 이전 프레임의 액티비티의 양, 이전 프레임의 양자화 스텝 사이즈의 평균값, 이전 프레임의 양자화 스텝 사이즈의 평균값과 그 하나 이전의 프레임의 양자화 스텝 사이즈의 평균값의 차, 이전 프레임의 매크로 블록 매칭 횟수, 이전 프레임의 유효 블록 수, 이전 프레임의 유효계수의 개수, 이전 프레임의 부호화에 실제로 소요된 연산량, 이전 프레임의 발생 비트 수, 상기 하나의 프레임의 부호화 비트 전송율, 상기 하나의 프레임에 대하여 프레임 내 부호화 또는 프레임간 부호화 중 어느 것인지의 종류, 이전 프레임의 필요 연산량 중 하나 이상의 요소를 사용하여 필요 연산량(Kp)을 계산하는 것을 특징으로 한다.
본 발명의 동영상 부호화 또는 복호화 처리 시스템/방법은, 연속된 복수의 프레임 중 상기 하나의 프레임보다 이전에 복호화 처리되는 프레임을 이전 프레임이라 하였을 때 동영상 복호화 처리를 수행하는 경우에 있어서, 상기 하나의 프레임의 부호화 데이터의 비트 수, 상기 하나의 프레임이 프레임 내 부호화된 것인지 또는 프레임간 부호화된 것인지의 종류, 상기 하나의 프레임 또는 이전 프레임의 움직임 벡터 크기의 평균값, 상기 하나의 프레임 또는 이전 프레임의 움직임 벡터 크기의 분산, 상기 하나의 프레임 또는 이전 프레임의 유효 블록 수, 상기 하나의 프레임 또는 이전 프레임의 유효계수의 개수, 상기 하나의 프레임 또는 이전 프레임의 비트 전송율, 상기 하나의 프레임 또는 이전 프레임의 부호량, 상기 하나의 프레임 또는 이전 프레임의 양자화 스텝 사이즈의 평균값, 양자화 스텝 사이즈의 평균값의 차(상기 하나의 프레임과 하나 이전의 프레임의 양자화 스텝 사이즈의 차, 또는 하나 이전의 프레임의 양자화 스텝 사이즈와 2개 이전의 프레임의 양자화 스텝 사이즈의 차), 이전 프레임의 복호화에 실제로 소요된 연산량, 이전 프레임의 필요 연산량 중 하나 이상의 요소를 사용하여 필요 연산량(Kp)을 계산하는 것을 특징으로 한다.
상기 복수의 요소는 각각 부호화 또는 복호화 처리의 연산량에 영향을 주는 요소이다. 본 발명에 따르면, 상기 요소 중 하나 이상이 사용되어 필요 연산량(Kp)이 계산되므로, 산출된 필요 연산량(Kp) 값이 실질적으로 부호화 또는 복호화 처리를 수행하였을 때의 연산량에 보다 가까워진다. 따라서, 필요 연산량(Kp)이 실질적인 연산량보다 작아 부호화 또는 복호화 처리가 시간 내에 완료되지 않는 장애 현상의 발생 가능성을 줄일 수 있다. 또한, 산출된 필요 연산량(Kp)이 실질적인 연산량보다 지나치게 커서 저소비전력화가 저해될 가능성이 낮아진다.
본 발명의 동영상 부호화 또는 복호화 처리 시스템/방법은, 상기 장애 방지 수단/단계로서, 필요 연산량(Kp)을 증가시키는 제1 장애 방지 수단/단계를 구비하는 것을 특징으로 한다.
본 발명에 따르면, 장애 방지 수단이 필요 연산량을 소정 값만큼 증가시키므로 산출된 필요 연산량(Kp)이 실질적인 연산량을 만족시킬 가능성이 높아져, 장애 현상을 방지할 수 있다.
상기 제1 장애 방지 수단/단계는, 필요 연산량(Kp)을 m배(m은 1 이상의 실수)하거나 필요 연산량(Kp)에 O보다 큰 실수(n)를 더하는 것을 특징으로 한다.
본 발명에 따르면, 제1 장애 방지 수단/단계에 의해 필요 연산량(Kp)을 m배하거나 필요 연산량(Kp)에 n을 더하므로, m이나 n의 값을 조절함으로써 산출된 필요 연산량(Kp)의 값을 실질적인 연산량보다 크면서도 실질적인 연산량에 가깝게 할 수 있어 장애 현상을 방지할 수 있다.
본 발명의 동영상 부호화 또는 복호화 처리 시스템/방법은, 상기 장애 방지 수단/단계로서, 상기 하나의 프레임의 부호화 또는 복호화 처리에 미리 할당된 시간 내에 상기 하나의 프레임의 부호화 처리가 종료되지 않은 경우에는 장애 현상을 방지하는 처리를 수행하는 제2 장애 방지 수단/단계를 적어도 하나 구비하는 것을 특징으로 한다.
상기 제1 장애 방지 수단/단계에서는, 장애 현상의 발생 여부와 관계없이 필요 연산량(Kp)을 증가시킴으로써 장애 현상을 방지하는 처리가 수행된다. 본 발명에 따르면, 제2 장애 방지 수단/단계에 의해 상기 하나의 프레임의 부호화 또는 복호화 처리에 미리 할당된 시간 내에 상기 하나의 프레임의 부호화 처리가 종료되지 않은 경우에는 장애 현상을 방지하는 처리가 수행되므로, 장애 현상이 발생하는 경우에만 장애 현상을 방지하는 처리가 수행되어 효율적으로 장애 현상을 방지할 수 있다.
상기 제2 장애 방지 수단/단계는, 소정의 타이밍에서 부호화 처리에 인터럽트를 수행하고, 부호화되지 않은 매크로 블록이 있는 경우에는 상기 매크로 블록에 대하여 무효 블록화 처리를 수행하는 것을 특징으로 한다. 또한, 복호화 처리에서는 무효 블록화 처리를 수행하지 않는다.
예컨대, 하나의 프레임의 부호화 처리에 미리 할당된 시간(Te) 중 모든 매크로 블록을 무효 블록화하는 처리 시간을 남겨 둔 소정의 타이밍에서 부호화되지 않은 매크로 블록이 있는 경우에는, 상기 산출된 필요 연산량(Kp)이 실제로 필요한 연산량보다 작으므로 장애 현상이 발생할 가능성이 높다. 본 발명에 따르면, 제2 장애 방지 수단/단계에 의해, 예컨대 상기 타이밍에서 동영상 부호화 또는 복호화 처리에 인터럽트를 수행하고, 부호화되지 않은 매크로 블록이 있는 경우에는 시간(Te) 내에 상기 하나의 프레임의 부호화 처리가 완료되지 않아 장애 현상이 발생하는 것으로 판단하여 상기 매크로 블록에 대하여 무효 블록화 처리를 수행하므로, 장애 현상을 방지할 수 있다.
상기 제2 장애 방지 수단/단계는, 소정의 타이밍에서 부호화 또는 복호화 처리에 인터럽트를 수행하고, 그 인터럽트 시점에서 필요 연산량(Kp)의 잔량이 부호화 또는 복호화 처리에 실제로 필요한 연산량의 잔량보다 작은 경우에는 적어도 프로세서의 동작 주파수 및 동작 전압을 상승시키는 연산 잔량 판단수단을 구비하는 것을 특징으로 한다.
부호화 또는 복호화 처리 도중 산출된 필요 연산량(Kp)의 잔량이 부호화 또는 복호화 처리에서 실제로 필요한 연산량의 잔량보다 작은 경우에는, 상기 산출된 필요 연산량(Kp)이 부호화 또는 복호화 처리에 실제로 필요한 연산량보다 작으므로 장애 현상이 발생할 가능성이 높다. 따라서, 제2 장애 방지 수단/단계에 의해 소정의 타이밍에서 동영상 부호화 또는 복호화 처리에 인터럽트를 수행하고 상기 잔량을 비교한다. 그리고, 실제로 필요한 연산량의 잔량에 비하여 필요 연산량(Kp)의 잔량이 작은 경우에는, 시간(Te) 내에 부호화 또는 복호화 처리가 완료되지 않아 장애 현상이 발생하는 것으로 판단하여 프로세서의 동작 주파수 및 동작 전압을 상승시킨다. 이에 따라, 프로세서의 계산 속도가 빨라지므로 처리가능한 처리량이 증가하여 장애 현상을 방지할 수 있게 된다. 인터럽트 횟수를 여러 번으로 설정하면 처리 상태에 맞추어 동작 주파수 및 동작 전압을 단계적으로 상승시킬 수 있어, 장애 현상을 방지할 수 있는 가능성이 더 높아진다.
상기 프로세서는, 동작가능한 가능 동작 주파수가 r단계(r은 2 이상의 정수)로 마련되어 있고, 상기 시간(Te) 내에 필요 연산량(Kp)을 처리하는 데 필요한 동작 주파수(Fe)를 Fe=Kp/Te를 이용하여 계산하고, 상기 프로세서가 동작가능한 가능 동작 주파수로부터 상기 필요한 동작 주파수(Fe) 이상이면서도 그 동작 주파수(Fe)와 가장 가까운 동작 주파수(F)를 결정하는 것을 특징으로 한다.
본 발명에 따르면, 시간(Te)에서 필요 연산량(Kp)을 처리하는 데 필요한 동작 주파수(Fe)가 Fe=Kp/Te에 의해 계산된 다음, 상기 프로세서가 동작가능한 가능 동작 주파수로부터 상기 필요한 동작 주파수(Fe) 이상이면서도 그 동작 주파수(Fe)와 가장 가까운 동작 주파수(F)를 결정함과 동시에, 결정된 동작 주파수(F)에 적합한 동작 전압(V)이 결정되고, 프로세서가 그 동작 주파수(F) 및 동작 전압(V)으로 동작하면서 부호화 또는 복호화를 수행한다. 즉, 프로세서가 동작가능한 가능 동작 주파수 및 동작 전압 중 시간(Te) 내에 필요 연산량(Kp)을 처리할 수 있는 최소한의 동작 주파수(F) 및 동작 전압(V)에 의해 프로세서를 동작시키면서 그 프로세서 상에서 상기 하나의 프레임의 부호화 또는 복호화 처리가 수행되므로, 가능 동작 주파수가 단계적으로 마련된 프로세서가 사용되어도 저소비전력화가 효율적으로 이루어진다.
도 1은 본 발명의 제1 실시 형태에 따른 동영상 부호화 처리 시스템의 동작을 도시한 대략적인 블럭도이고,
도 2는 상기 실시 형태에 따른 동영상 부호화 처리 시스템의 구현예를 도시한 도면이고,
도 3은 상기 실시 형태에 따른 동영상 부호화 처리 시스템으로서 컴퓨터를 동작시키는 동영상 부호화 처리 프로그램과, 이에 의해 구현되는 동영상 부호화 처리방법의 대략적인 흐름도이고,
도 4는 상기 실시 형태에 따른 동영상 부호화 처리 시스템에서, 부호화 처리 시간과 연산 잔량의 관계를 도시한 도면이고,
도 5는 상기 실시 형태에 따른 동영상 부호화 처리 시스템에 사용되는 프로세서의 동작 전압 및 동작 주파수를 도시한 개념도이고,
도 6은 본 발명의 유효성을 설명하는 도면이고,
도 7은 본 발명의 제2 실시 형태에 따른 동영상 부호화 처리 시스템의 동작을 도시한 대략적인 블럭도이고,
도 8은 상기 실시 형태에 따른 동영상 부호화 처리 시스템으로서 컴퓨터를 동작시키는 동영상 부호화 처리 프로그램의 대략적인 흐름도이고,
도 9는 본 발명의 제3 실시 형태에 따른 동영상 복호화 처리 시스템의 동작을 도시한 대략적인 블럭도이고,
도 l0은 동영상 부호화 처리 시스템에 대하여 종래의 저소비전력화를 수행하는 방법을 도시한 도면이고,
도 11은 프레임 단위로 동영상 부호화 또는 복호화의 연산량이 달라지는 상태를 도시한 개념도이다.
이하, 본 발명의 동영상 부호화 또는 복호화 처리 시스템 및 처리방법에 대하여 부호화 처리와 복호화 처리로 나누어 상세하게 설명한다.
(제1 실시 형태)
본 발명의 제1 실시 형태에 따른 동영상 부호화 처리 시스템은 예컨대 마이크로컴퓨터가 내장된 휴대전화나 개인용 컴퓨터 등의 정보 단말기기인 컴퓨터에 의해 구현되며, 특히 그 컴퓨터 내에서 멀티미디어 신호 처리부 등의 일부로서 동작하는 시스템으로, 연속된 소정 수의 프레임으로 구성되는 동영상을 프레임 단위로 순차적으로 부호화하는 시스템이다.
도 1은 본 실시 형태에 따른 동영상 부호화 처리 시스템(S1)의 동작을 도시한 대략적인 블럭도이다. 동영상 부호화 처리 시스템(S1)은, 적어도 동작 전압 및 동작 주파수가 r단계(r은 2 이상의 정수)로 마련되며(즉, r단계의 동작 전압 및 동작 주파수로 동작할 수 있고), 프로그램에 의해 동작 전압 및 동작 주파수를 변경할 수 있는 프로세서(1)와, DC-DC 컨버터나 PLL 등을 구비하여 상기 프로세서(1)의 동작 전원 전압 및 동작 주파수를 제어하는 동작 전압 및 동작 주파수 제어수단(4)과, 소정의 데이터를 저장하는 저장영역인 로컬 복호 프레임 메모리(6)와, 입력 프 레임 메모리(7)와, 요소 메모리(8) 및 처리된 매크로 블록 수 레지스터(10)를 구비하는 컴퓨터(특히 컴퓨터 내의 멀티미디어 신호처리부)이다. 단, 로컬 복호 메모리(6) 및 입력 프레임 메모리(7) 등도 동작 전압 및 동작 주파수 제어수단(4)에 의해 프로세서(1)와 마찬가지로 동작 전압 및 동작 주파수가 제어될 수 있다. 본 실시 형태에서는, 점선으로 표시된 제어영역(CA)에 포함되는 요소(프로세서(1), 로컬 복호 프레임 메모리(6), 요소 메모리(8), 처리 완료 매크로 블록 수 레지스터(10), 입력 프레임 메모리(7a, 7b) 등)에 대하여 동작 주파수와 동작 전압이 제어되도록 구성되어 있다.
프로세서(1)는, 프로세서(1) 상에서 동작하는 수단으로서 필요 연산량 계산수단(2)과, 동작 전압 및 동작 주파수 계산수단(3)과, 동영상 부호화 수단(5) 및 두 개의 장애 방지 수단(9, 11)을 구비한다. 두 개의 장애 방지 수단(9,11)은, 필요 연산량 계산수단(2)에서 산출된 필요 연산량이 부호화 수단(5)에 의한 부호화 처리에 실제로 필요한 연산량보다 작은 경우에 발생하는 장애 현상을 방지하기 위한 수단으로, 필요 연산량 계산수단(2)의 일부로서 동작하는 제1 장애 방지 수단(11)과 제2 장애 방지 수단인 처리완료 판단수단(9)이다. 또한, 부호 1O1은 입력 영상 데이터, 부호 102는 동작 전압 및 동작 주파수 지시, 부호 103은 이전 프레임의 로컬 복호 데이터, 부호 105는 동작 전압 및 동작 주파수 공급, 부호 106은 프레임의 부호화 데이터, 부호 107은 이전 프레임의 양자화 스텝 사이즈의 평균값 정보, 부호 1O8은 각 프레임에 대하여 프레임 내 부호화인지 프레임간 부호화인지의 종류, 부호 109는 동영상의 부호화 비트 전송율 정보, 부호 110은 이전 프레임의 액티비티의 양, 부호 111은 이전 프레임의 매크로 블록 매칭 횟수, 부호 112는 이전 프레임의 유효 블록 수, 부호 113은 이전 프레임의 유효계수의 개수, 부호 114는 이전 프레임의 양자화 스텝 사이즈의 평균값과 그 하나 이전의 프레임의 양자화 스텝 사이즈의 평균값의 차, 부호 115는 이전 프레임의 부호화에 실제로 소요된 처리량, 부호 116은 필요 연산량 계산수단(2)에 의해 산출된 이전 프레임의 필요 연산량, 부호 117은 부호화 처리가 완료된 매크로 블록의 수인 처리 매크로 블록 수이다. 요소 메모리(8)는 후술하는 필요 연산량 계산수단(2)에서 사용되는 복수의 요소 중 일부 요소(프레임 내 부호화인지 프레임간 부호화인지의 종류(108), 부호화 비트 전송율(109), 프레임의 액티비티의 양(110), 또는 필요 연산량 계산수단(2)에 의해 산출된 필요 연산량(116))이 저장되는 저장영역이다. 처리된 매크로 블록 수 레지스터(1O)는 부호화 처리된 매크로 블록 수(117)의 정보를 일시적으로 저장하는 레지스터이다. 동영상 부호화 수단(5)에는 부호화 방식으로 MPEG-4가 사용되나, H.26X 또는 MPEG-1, MPEG-2 등 다른 부호화 방식이 사용될 수도 있다.
도 2에 동영상 부호화 처리 시스템(S1)의 구현예를 도시하였다. 시스템(S1)은 주로 프로세서(1)와 주변 장치로서 각종 메모리(MR, 7a, 7b)나 각종 인터페이스(CI, DI, BI) 및 동작 전압 및 동작 주파수 제어회로(4a) 등을 구비한 하드웨어에 의해 구현된다. 상기 각 구성요소는 버스(B1, B2) 등을 통하여 서로 통신할 수 있도록 구성되어 있다.
프로세서(1)는 프로세서 코어(1a)와 명령 캐시 메모리(1b) 및 데이터 캐시 메모리(1c)를 구비한다. 필요 연산량 계산수단(2), 동작 전압 및 동작 주파수 결정 수단(3), 동영상 부호화 수단(5) 및 장애 방지 수단(9, 11)은 메모리(MR)에 저장된 프로그램이 필요에 따라 프로세서 코어(1a) 상에서 실행됨으로써 구현된다. 명령 캐시 메모리(1b) 및 데이터 캐시 메모리(1c)는 프로세서 코어(1a) 상에서 실행되는 프로그램의 처리를 고속화하기 위하여 마련된 캐시 메모리이다.
로컬 복호 프레임 메모리(6), 요소 메모리(8) 및 처리된 매크로 블록 수 레지스터(10)는 도 2의 메모리(MR)에 집중됨과 동시에, 이전 프레임의 양자화 스텝 사이즈의 평균값(107), 각 프레임에 대해서 프레임 내 부호화인지 프레임간 부호화인지의 종류(108), 동영상 부호화의 비트 전송율(109), 이전 프레임(과거의 프레임)의 액티비티의 양(110), 이전 프레임의 매크로 블록 매칭 횟수(111), 이전 프레임의 유효 블록 수(112), 이전 프레임의 유효계수의 개수(113), 이전 프레임의 양자화 스텝 사이즈의 평균값과 그 하나 이전의 프레임의 양자화 스텝 사이즈의 평균값의 차(114), 이전 프레임의 부호화에 실제로 소요된 처리량(115), 필요 연산량 계산수단에 의해 산출된 이전 프레임의 필요 연산량(116) 및 처리된 매크로 블록 수(117)는 메모리(1f)에 데이터로서 저장된다. 로컬 복호 데이터(103)는 버스 컨트롤러(BC)를 통하여 메모리(MR)와 프로세서 코어(1a) 사이에서 신호(100j, 100k, 100l)로서 송수신된다.
두 개의 입력 프레임 메모리(7a, 7b)는 도 1의 프레임 메모리(7)에 해당한다. 카메라 인터페이스(CI)로부터 입력된 비디오 데이터(입력 영상 데이터(101))는 버스(B2)를 통하여 입력 프레임 메모리(7a)(또는 입력 프레임 메모리(7b))로 입력된다. 입력 프레임 메모리(#0)(7a)와 입력 프레임 메모리(#1)(7b)는 하나의 프레임 의 처리가 끝날 때마다 용도가 바뀐다. 즉, i번째 프레임 처리에서 신호(100h)에 의해 입력 프레임 메모리(#1)(7b)에 입력 영상 데이터가 쓰여지고, 동영상 부호화 처리수단에 의한 부호화 처리를 위하여 신호(100o)에 의해 입력 프레임 메모리(#0)(7a)로부터 입력 영상 데이터가 읽혀졌을 때, (i+1)번째 프레임 처리에서는 신호(100i)에 의해 입력 프레임 메모리(#0)(7a)에 입력 영상 데이터가 쓰여지고, 동영상 부호화 처리수단에 의한 부호화 처리를 위하여 신호(100p)에 의해 입력 프레임 메모리(#1)(7b)로부터 입력 영상 데이터가 읽혀진다. 따라서, 신호(100h)에 의해 입력 프레임 메모리(#1)(7b)에 입력 영상 데이터가 쓰여지고 있을 때에는 신호(100p)가 발생하지 않고, 반대로 신호(100p)에 의해 영상이 읽혀지고 있을 때에는 신호(100h)가 발생하지 않는다. 마찬가지로, 신호(100i)에 의해 입력 프레임 메모리(#0)(7a)에 입력 영상 데이터가 쓰여지고 있을 때에는 신호(100o)가 발생하지 않고, 신호(1O0o)에 의해 입력 프레임 메모리(#O)(7a)로부터 입력 영상 데이터가 읽혀지고 있을 때에는 신호(100i)가 발생하지 않는다. 이 때, i번째 프레임 처리에서는 입력 프레임 메모리(#0)(7a)가 동작 주파수 및 동작 전압의 제어 대상이고, (i+1)번째 프레임 처리에서는 입력 프레임 메모리(#1)(7b)가 동작 주파수 및 동작 전압의 제어 대상이다. 상술한 바와 같이, 입력 프레임 메모리를 두 프레임 분량만큼 마련하고 각각의 동작 주파수를 독립적으로 설정할 수 있도록 함으로써, 항상 일정한 동작 주파수를 갖는 카메라 인터페이스(CI)로부터 입력되는 입력 영상 데이터의 쓰기 동작과 필요 연산량의 산출값에 따라 동작 주파수가 달라지는 입력 영상 데이터의 읽기 동작을 서로 방해하지 않고 실행할 수 있다.
동작 전압 및 동작 주파수 제어회로(4a)는, PLL(4b), DC-DC 컨버터(4c)와 서로 신호를 주고 받을 수 있도록 구성되어 있으며, 이들은 동작 전압 및 동작 주파수 제어수단(4)으로서 동작한다. 동작 전압 및 동작 주파수 제어회로(4a)는 프로세서 코어(1a)로부터 출력되는 신호(100e)에 의해 동작 전압 및 동작 주파수 지시(102)를 받고, 그 지시(102)에 따라 PLL(4b)에 대하여 신호(100u)를 발생하고, DC-DC 컨버터(4c)에 대하여 신호(100v)를 발생한다. PLL(4b)은 신호(100u)에 기초하여 동작 주파수 신호(100a)를 발생하고, DC-DC 컨버터(4c)는 신호(100v)에 기초하여 동작 전압(100b)을 공급한다. 이에 따라, 도 2에서 점선으로 표시한 제어영역(CA)에 포함되는 요소(프로세서(1), 메모리(MR), 입력 프레임 메모리(7a, 7b), 버스 컨트롤러(BC) 등)에 대하여 동작 주파수와 동작 전압이 제어된다. 신호(100e, 100j, 100k, 100l, 100m, 100o, 100p, 100q, 100r, 100s)는 PLL(4b)이 출력하는 동작 주파수 신호(100a), DC-DC 컨버터(4c)가 출력하는 전원 전압 공급(100b)의 값에 따라 주파수와 신호 레벨이 바뀐다.
프로세서(1) 상에서 동작하는 동영상 부호화 수단(5)에 의해 부호화된 부호화 데이터(106)는 버스(B1)를 통하여 비트 스트림 인터페이스(BI)에 신호(100m)로서 전송되어 신호(100n)로 출력됨과 동시에, 로컬 복호 프레임 메모리(6)로서 동작하는 메모리(MR)로 전송된다. 또한, 영상 데이터 등은 버스(B1)를 통하여 메모리로부터 신호(100q)로서 읽혀져 디스플레이 인터페이스(DI)로 전송된다. 디스플레이 인터페이스(DI)에 수신된 신호(100q)는 신호(100t)에 의한 비디오 데이터로서 출력된다. 비디오 데이터는 디스플레이 인터페이스(DI)와 연결되는 모니터를 통하여 동 영상으로 출력되어 표시된다.
동작 전압 및 동작 주파수 제어회로(4a), 디스플레이 인터페이스(DI) 및 비트 스트림 인터페이스(BI)는 항상 일정한 동작 전압으로 동작하는데, 이들 사이에서 송수신되는 신호(1O0e, 100q, 100m)는 제어영역(CA)에 포함되는 요소(프로세서(1), 메모리(MR) 또는 입력 프레임 메모리(7a, 7b) 등)의 동작 전압이 변경됨에 따라 신호 레벨이 바뀐다. 이러한 영향을 흡수하기 위하여, 동작 전압 및 동작 주파수 제어회로(4a), 디스플레이 인터페이스(DI) 및 비트 스트림 인터페이스(BI)는 수신한 신호(100e, 100q, 100m)의 신호 레벨을 보정하는 레벨 컨버터를 구비하는 것이 바람직하다.
다음, 도 1에 따라 본 실시 형태에 따른 동영상 부호화 처리 시스템(S1)의 동작에 대하여 설명하기로 한다. 동영상 부호화 처리 시스템(S1)은 동영상 부호화 처리 프로그램(Prg1)에 의해 컴퓨터(특히 컴퓨터 내의 멀티미디어 신호처리부)를 후술하는 소정의 수단으로 동작시킴으로써 구현된다. 이하, 순차적으로 부호화되는 프레임 중 지금부터 부호화될 임의의 한 프레임을 현재 프레임(즉, 어느 한 프레임이 부호화된 시점을 기준으로 하였을 때 다음에 부호화될 프레임으로서, 바꾸어 말하면 그 시점에서 아직 부호화 처리되지 않았으나 이후에 부호화 처리될 예정인 프레임), 현재 프레임보다 이전에 부호화된 하나의 프레임(과거에 부호화된 프레임)을 이전 프레임이라 하였을 때 현재 프레임을 부호화하는 처리에 대하여 설명하기로 하나, 모든 프레임에 대하여 동일한 처리가 수행된다.
도 3은 상기 동영상 부호화 처리 프로그램(Prg1)의 대략적인 흐름도이다. 동 영상 부호화 처리 프로그램(Prg1)은 후술하는 1단계 내지 5단계에서 컴퓨터를 후술하는 각 수단으로서 동작시킨다. (1단계) 현재 프레임의 영상 정보를 입력 프레임 메모리(7)에 입력한다. (2단계) 현재 프레임의 필요 연산량(Kp)을 계산하는 필요 연산량 계산수단(2)으로 동작하도록 한다. (3단계) 산출된 필요 연산량(Kp)에 따라 프로세서의 동작 주파수(F) 및 동작 전압(V)을 계산하는 동작 전압 및 동작 주파수 계산수단(3)으로 동작하도록 한다. (4단계) 산출된 동작 주파수(F) 및 동작 전압(V)으로 프로세서(1)가 동작하도록 제어하는 동작 전압 및 동작 주파수 제어수단(4)으로 동작하도록 한다. (5단계) 현재 프레임의 영상 정보를 부호화하는 동영상 부호화 수단(5)으로 동작하도록 한다. 이상, 1단계 내지 5단계의 처리를 입력 프레임 메모리(7)에 입력되는 프레임의 순서(즉, 부호화되는 순서)로 모든 프레임에 대하여 수행함으로써 동영상을 부호화한다. 이하, 이에 대하여 상세하게 설명하기로 한다.
(1단계) 입력된 입력 영상 데이터는 프레임을 동기시키기 위하여 프레임을 일시적으로 저장하는 저장 영역인 입력 프레임 메모리(7)에 일단 저장된다.
(2단계) 필요 연산량 계산수단(2)은 입력 프레임 메모리(7)에 액세스하여 현재 프레임의 입력 영상 데이터(101)를 취득하고, 현재 프레임의 부호화 처리에 필요한 필요 연산량(Kp)을 계산한다. 필요 연산량(Kp) 계산방법으로는 여러 가지 방법을 생각할 수 있으나, 예컨대 현재 프레임의 부호화 처리의 연산량에 영향을 주는 요소를 하나 이상 사용하여 계산하는 것이 바람직하다. 요소로는, 예컨대 동영상 부호화 처리에서 처리 내용이 움직임 보상인 경우에는 움직임이 심한 영상에서 연산량이 많은 한편 움직임이 적은 영상에서는 연산량이 적다는 것에 주목하여, 현재 프레임과 이전 프레임의 움직임량으로서 차이 절대값 합에 의해 계산되는 왜곡값, 각각의 프레임의 액티비티양으로서 인접 화소 차이 절대값 합에 의해 계산되는 값, 매크로 블록 매칭 횟수, 유효 블록 수, 유효계수의 개수, 부호화 비트 전송율, 발생 비트수, 이전 프레임의 부호화에 실제로 소요된 연산량, 또는 필요 연산량 계산수단(2)에 의해 산출된 이전 프레임의 필요 연산량을 들 수 있다. 여기서, 각 요소 각각에 대하여 하나의 요소의 값만 변화하고 다른 요소의 값이 변화하지 않는다고 가정하였을 때, 그 하나의 요소의 값이 큰 경우에는 작은 경우에 비하여 필요 연산량이 상대적으로 커지도록 하고, 그 하나의 요소의 값이 작은 경우에는 큰 경우에 비하여 필요 연산량이 상대적으로 작아지도록 한다. 또한 현재 프레임이 프레임 내 부호화인 경우에는 프레임간 부호화인 경우에 비하여 필요 연산량(Kp)이 상대적으로 작아지도록 하고, 프레임간 부호화인 경우에는 프레임 내 프레임의 경우에 비하여 필요 연산량(Kp)이 상대적으로 커지도록 한다. 즉, 이들 복수의 요소는 현재 프레임의 부호화 처리에 요구되는 필요 연산량에 영향을 주는 요소이므로, 필요 연산량 계산수단(2)이 이들 요소에 따라 필요 연산량(Kp)(사이클)을 증가 또는 감소시키도록 계산함으로써 필요 연산량 계산수단(2)에 의해 계산되는 필요 연산량(Kp) 값이 실질적으로 부호화 처리를 수행하였을 때의 연상량에 보다 가까워진다.
예컨대, 본 실시 형태에서는 함수(G)를 사용하여 계산하고, 입력 프레임 메모리(7)에 저장되어 있는 현재 프레임의 입력 영상 데이터(101)와 로컬 복호 프레임 메모리(6)에 저장되어 있는 복호화된 이전 프레임의 로컬 복호 데이터(103)를 비교하여 입력 영상의 움직임 크기를 예측(계산)한다. 상기 이전 프레임의 로컬 복호 데이터(103)는 현재 프레임보다 이전에 부호화가 수행되는 이전 프레임의 부호화 처리에 있어서, 이전 프레임을 부호화하여 생성한 이전 프레임의 부호화 데이터(106)를 로컬 디코더로 복호화함으로써 생성되어 로컬 복호 프레임 메모리(6)에 저장되어 있다. 움직임 크기 예측(계산)으로서, 예컨대 차이 절대값 합을 사용한다. 이하, 차이 절대값 합(Σ)과 필요 연산량(Kp)을 구하는 방법에 대하여 설명한다. 이전 프레임의 영상 데이터로는 부호화 후 로컬 디코더에 의해 복호화된 로컬 복호 데이터(106)를 사용할 수도 있으나, 입력된 이전 프레임의 입력 영상 데이터를 그대로 사용할 수도 있다.
입력 프레임 메모리(7)에 저장된 현재 프레임의 입력 영상 데이터(101)를 X(i, j)(i는 영상의 수평방향 좌표, j는 수직방향 좌표), 후술하는 로컬 복호 프레임 메모리(6)에 저장된 이전 프레임의 로컬 복호 데이터(103)를 Y(i, j)(i는 영상의 수평방향 좌표, j는 수직방향 좌표)라 가정하였을 때, 현재 프레임과 이전 프레임의 움직임량을 차이 절대값 합(z=Σ|X(i,j)-Y(i,j)|)을 모든(또는 샘플링한) 화소에 대하여 계산한다. 이 차이 절대값 합의 값을 Z라 한다. 한편, 프레임의 액티비티량에서는, X(i,j)에서 인접 화소 차이 절대값 합(W), 즉, 수평방향(Wh=Σ|X(i,j)-X(i-1,j)|), 수직방향(Wv=Σ|X(i,j)-X(i,j-1)|)을 계산함으로써 구할 수 있으며, 모든(또는 샘플링한) 입력 영상에 대하여 계산한다. 이러한 인접 화소 차이 절대값 합의 값(즉, 각 프레임의 액티비티량)을 W라 한다.
차이 절대값 합을 Z, 현재 프레임의 액티비티량을 Wa, 이전 프레임(과거의 프레임)의 액티비티량을 Wb, 이전 프레임의 평균 양자화 스텝 사이즈(양자화 스텝 사이즈의 평균값)를 Qprev, 이전 프레임의 매크로 블록 매칭 횟수를 M, 이전 프레임의 유효 블록 수를 B, 이전 프레임의 유효계수의 개수를 C, 이전 프레임의 부호화에 실제로 소요된 처리량을 S, 현재 프레임의 부호화 비트 전송율을 BR, 이전 프레임의 양자화 스텝 사이즈의 평균값과 그 하나 이전의 프레임의 양자화 스텝 사이즈의 평균값 차를 ΔQprev, 이전 프레임의 실제 발생 비트 수를 D, 산출된 이전 프레임의 필요 연산량을 Kp'라 하였을 때, 이들 요소 중 하나 이상의 요소를 사용하여 필요 연산량(Kp)을 다음과 같은 식에 의해 계산한다.
Kp=G(Z, Wa, Wb, Qprev, M, B, C, S, BR, ΔQprev, D, Kp')…(수식 1)
단, G은 Z, Wa, Wb, Qprev, M, B, C, S, BR, ΔQprev, D, Kp' 중 하나 이상의 요소로부터 유도되는 함수이다. 그 일례로는 다음과 같은 식을 들 수 있으나, 반드시 이에 한정되는 것은 아니다.
Kp=j+αM+βB+γC+δZ+εΔQprev…(수식 2)
또한, 필요 연산량(Kp)의 계산에 사용되는 요소로서, 현재 프레임이 프레임 내 부호화인지 프레임간 부호화인지의 종류(I)가 사용된다. 현재 프레임이 프레임 내 부호화인 경우 필요 연산량(Kp) 값은 작고, 프레임간 부호화인 경우 필요 연산량(Kp) 값은 크다. 즉, 필요 연산량 계산수단(2)은 차이 절대값 합(Z)을 사용할 때에는 차이 절대값 합(Z=Σ|Xij-Yij|)을 계산한 다음, 필요 연산량((Kp=G(Z, Wa, Wb, Qprev, M, B, C, S, BR, ΔQprev, D, Kp')을 계산한다.
이하, 상기 함수(G)에 대하여 설명한다. 이전 프레임과 현재 프레임 사이에 서 영상의 변화가 크거나 작은 경우, 즉 차이 절대값 합(Z)이 크거나 작은 경우, 현재 프레임에서 실행되는 매크로 블록 매칭의 횟수는 크거나 작아지고, 현재 프레임의 움직임 검출 처리에 필요한 연산량(실행되는 매크로 블록 매칭 횟수에 따라 달라짐)은 크거나 작아진다. 또한, 현재 프레임의 액티비티량(Wa)이 크거나 작은 경우는 현재 프레임이 영상의 고주파 성분을 많거나 적게 포함하는 것을 의미하며, 이 경우, 현재 프레임의 부호화 처리에서 발생하는 유효 블록의 수, 유효계수의 개수는 크거나 작아지고, 현재 프레임의 IDCT 처리에 필요한 연산량(발생하는 유효 블록의 수에 따라 달라짐), IQ 처리에 필요한 연산량(발생하는 유효계수의 개수에 따라 달라짐), VLC 처리에 필요한 연산량(발생하는 유효계수의 개수에 따라 달라짐)은 크거나 작아진다. 따라서, 상기 함수(G)는 Z, Wa 등의 파라미터가 크거나 작은 경우, Hp를 크거나 작게 설정하도록 구성한다.
동영상은 연속된 프레임간 상관이 크므로, 부호화 처리에서 실행되는 매크로 블록 매칭 횟수, 부호화 처리에서 발생하는 유효 블록 수, 유효계수의 개수, 부호화 처리에 필요한 연산량, 액티비티량의 값은 시간적으로 연속된 프레임 사이에서 매우 가깝다. 따라서, M, B, C, S, Wb가 크거나 작은 경우, 현재 프레임에서도 매크로 블록 매칭 횟수, 유효 블록 수, 유효계수의 개수, 부호화 처리에 필요한 연산량, 액티비티량이 크거나 작아질 확률이 높다. 또한, 필요 연산량 계산수단에서 산출되는 예측 연산량 값이 실제 부호화 처리에 소요된 연산량에 가까운 경우, S≒Hp'이다. 따라서, 상기 함수(G)는 M, B, C, S, Wb, Hp' 등의 파라미터가 크거나 작은 경우, Hp를 크거나 작게 설정하도록 구성한다.
목표로 하는 비트 전송율이 크거나 작은 경우 양자화 스텝 사이즈의 값은 작거나 크게 설정되며, 이에 따라, 부호화 처리에서 발생하는 유효 블록의 수, 유효계수의 개수는 크거나 작아진다. 또한 이전 프레임의 발생 비트 수가 목표로 하는 비트 전송율에 비하여 크거나 작은 경우, 현재 프레임의 양자화 스텝 사이즈의 값은 작거나 크게 설정되며, 부호화 처리에서 발생하는 유효 블록의 수, 유효계수의 개수는 작거나 커진다. 따라서, 상기 함수(G)는 현재 프레임의 부호화 비트 전송율(BR)이 크거나 작은 경우 Hp를 크거나 작게 설정하도록 구성하고, 이전 프레임의 실제 발생 비트 수(D)가 BR에 비하여 크거나 작은 경우 Hp를 작거나 크게 설정하도록 구성한다. 또한, 이전 프레임의 평균 양자화 스텝 사이즈(Qprev)나 이전 프레임의 양자화 스텝 사이즈의 평균값과 그 하나 이전의 프레임의 양자화 스텝 사이즈의 평균값의 차(ΔQprev)를 고려함으로써, 상기 함수(G)가 산출하는 Hp 값이 실제로 현재 프레임을 부호화하기 위하여 필요한 연산량에 가까워지도록 설정할 수 있다.
(제1 장애 방지 단계) 또, 장애 현상이 잘 발생하지 않도록 하기 위하여, 필요 연산량 계산수단(2)에 포함되는 제1 장애 방지 수단(11)이 필요 연산량(Kp)을 소정 값만큼 증가시켜 산출된 필요 연산량(Kp)에 여유를 주는 처리를 수행한다. 구체적으로 설명하면, 필요 연산량(Kp)을 m배(m은 1 이상의 실수)한다. 예컨대, m=1.1이라 하였을 때, 산출한 필요 연산량(Kp)에 대하여 10%의 여유를 줄 수 있다. 그리고, 필요 연산량(Kp)에 실수(n)(n은 0 이상의 실수)를 더할 수도 있고, 산출된 필요 연산량의 값과 관계없이 일정한 값으로 여유를 줄 수도 있다. 상술한 예를 이용하면, 최종적으로 산출되는 필요 연산량(Kp)은 다음과 같은 식에 의해 구할 수 있다.
Kp=G(Z)×m…(수식 3)
Kp=G(Z)+n…(수식 4)
위 두 식을 조합하여 아래와 같은 식을 만들 수도 있다.
Kp=G(Z)×m+n…(수식 5)
그럼에도 불구하고 산출된 필요 연산량(Kp)이 실질적으로 요구되는 현재 프레임의 필요 연산량(Km)보다 작으면, 후술하는 제2 장애 방지 수단인 처리완료 판단수단(9)에서 처리함으로써 장애 현상을 방지한다.
또한, 동영상의 부호화 비트 전송율(109)이나 현재 프레임 및 이전 프레임에 대하여 프레임 내 부호화인지 프레임간 부호화인지의 종류(108), 이전 프레임의 액티비티의 양(110), 필요 연산량 계산수단에 의해 산출된 이전 프레임의 필요 연산량(116)은 요소가 저장되는 저장영역인 요소 메모리(8)에 미리 저장되어 있다가, 필요 연산량(Kp) 계산시 필요 연산량 계산수단(2)에 읽혀져서 사용된다. 이전 프레임의 양자화 스텝 사이즈의 평균값(107), 이전 프레임의 매크로 블록 매칭 횟수(111), 이전 프레임의 유효 블록 수(112), 이전 프레임의 유효계수의 개수(113), 이전 프레임의 양자화 스텝 사이즈의 평균값과 그 하나 이전의 프레임의 양자화 스텝 사이즈의 평균값의 차(114) 및 이전 프레임의 부호화에 실제로 소요된 처리량(115)은, 이전 프레임의 부호화 처리가 수행되었을 때 동영상 부호화 수단(5)에서 필요 연산량 계산수단(2)으로 피드백된다. 필요 연산량 계산수단(2)에서는 이들 요소 중 하나의 요소만 사용할 수도 있고, 복수의 요소를 조합하여 사용할 수도 있 다.
(3단계) 동작 전압 및 동작 주파수 계산수단(3)은 필요 연산량(Kp) 값에 기초하여 현재 프레임의 처리에 대한 동작 주파수(Fe)(사이클/초)를 예측하는 계산을 한다. 즉, 부호화 방식에 의해 처리 시간이 규정되어 있는 최소 단위는 하나의 프레임이고, 현재 프레임의 부호화 처리에 할당된 시간을 Te(초)라 하면, 현재 프레임에 필요한 동작 주파수(Fe)(사이클/초), 즉 시간(Te)(초) 내에 상기 필요 연산량(Kp)을 부호화 처리할 수 있는 동작 주파수(Fe)(사이클/초)는 Fe=Kp/Te로 나타낼 수 있으므로, 동작 전압 및 동작 주파수 계산수단(3)은 동작 주파수(Fe)=Kp/Te를 계산한다. 단, 소정 프레임의 부호화 처리에 할당된 시간(Te)은 하나의 프레임의 처리의 제한 시간(Tf)에서 소정 프레임에 대한 연산량을 예측하는 시간(Tp) 및 프로세서의 동작 주파수 및 동작 전압 및 기판 바이어스 전압을 변경하는 시간(Ts)을 뺀 시간이다. 도 5에 도시된 바와 같이, 프로세서(1) 및/또는 로컬 복호 메모리(6) 등을 포함하는 주변 장치가 지원하는 동작 전압 및 동작 주파수를 r단계(r은 2 이상의 정수)에 걸쳐 변경할 수 있는 경우, 동작 전압 및 동작 주파수 계산수단(3)은 F(r)>Fe이면서 F(r-1)<Fe인 동작 주파수(F(r))를 현재 프레임을 부호화 처리하는 동작 주파수로 선택하는 계산을 수행하고, 그 동작 주파수(F(r))에 적합한 동작 전압(V(r))을 선택하는 계산을 수행하여, 프로세서(1) 및/또는 로컬 복호 메모리(6) 등을 포함하는 주변 장치를 그 동작 주파수(F(r))와 동작 전압(V(r))으로 동작시키도록 동작 전압 및 동작 주파수를 동작 전압 및 동작 주파수 제어수단(4)에 지시한다(부호 102).
(4단계) 동작 전압 및 동작 주파수 제어수단(4)은 동작 전압 및 동작 주파수 계산수단(3)으로부터 지시받은 동작 전압(V(r)) 및 동작 주파수(F(r))의 값을 프로세서(1) 및/또는 로컬 복호 메모리(6) 등을 포함하는 주변 장치로 공급하고(부호 105), 그 동작 전압(V(r)) 및 동작 주파수(F(r))로 프로세서(1)를 일정하게 동작시키도록 제어한다. 이에 따라, 프로세서(1) 및/또는 로컬 복호 메모리(6) 등을 포함하는 주변 장치는 일정한 동작 전압(V(r)) 및 동작 주파수(F(r))로 동작하게 된다.
(5단계) 동영상 부호화 수단(5)은 동영상 부호화 처리 프로그램(Prg1)에 의해 컴퓨터의 프로세서(1) 상에서 구현되는 수단으로서, 프로세서(1)를 사용하여 입력 프레임 메모리(7)에 저장된 입력 영상 데이터를 동영상 부호화 수행 단위로 액세스하여 부호화 처리를 수행하는 수단이다. 즉, 동영상 부호화 수단(5)은 입력 프레임 메모리(7)로부터 현재 프레임의 입력 영상 데이터(101)를 취득하고 부호화하여 부호화 데이터(106)를 생성한다. 4단계에서, 프로세서(1) 및/또는 로컬 복호 메모리(6) 등을 포함하는 주변 장치는 동작 전압 및 동작 주파수 제어수단(4)으로부터 공급된 일정한 동작 전압(V(r)) 및 동작 주파수(F(r))로 동작하는 상태이므로, 5단계에서는 동작 전압 및 동작 주파수 제어수단(4)이 그 동작 주파수(F(r)) 및 동작 전압(V(r))으로 프로세서(1) 및/또는 로컬 복호 메모리(6) 등을 포함하는 주변 장치를 일정하게 동작시키면서 상기 프로세서(1)를 사용하여 부호화하는 동영상 부호화 수단(5)이 현재 프레임의 부호화를 수행하게 된다. 예컨대, 움직임이 심한 영상(현재 프레임의 입력 영상 데이터(101))에 대해서는 프로세서(1) 및/또는 로컬 복호 메모리(6) 등을 포함하는 주변 장치를 높은 주파수로 일정하게 동작시키고, 움직임이 적은 영상에 대해서는 낮은 주파수로 일정하게 동작시킴으로써 저소비전력화를 도모할 수 있게 된다. 또한, 동영상 부호화 수단(5)은 부호화 데이터(106)를 복호하는 기능을 갖는 로컬 디코더를 구비하고 있으며, 현재 프레임의 부호화 데이터(106)는 로컬 디코더에 의해 복호되어 로컬 복호 프레임 메모리(6)에 로컬 복호 데이터(103)로서 저장된다. 이러한 현재 프레임의 로컬 복호 데이터(103)는 현재 프레임 다음으로 부호화될 프레임에 대하여 필요 연산량(Kp)을 계산할 때 사용된다. 현재 프레임의 부호화 데이터(106)는 전송 경로를 통하여 전송되거나 저장 매체에 저장된다.
(제2 장애 방지 단계) 또한, 상기 필요 연산량 계산수단(2)에서 산출된 필요 연산량(Kp)이 실질적으로 요구되는 현재 프레임의 필요 연산량보다 작은 경우, 현재 프레임의 처리에 할당된 시간(Te) 내에 처리가 완료되지 않아 장애 현상이 발생한다. 따라서, 본 시스템(S1)은 상기 하나의 프레임의 부호화 또는 복호화 처리에 미리 할당된 시간(Te) 내에 상기 하나의 프레임의 부호화 처리가 완료되지 않은 경우에는 장애 현상을 방지하는 처리를 수행하는 제2 장애 방지 수단을 구비한다. 본 실시 형태에서는 제2 장애 방지 수단으로 처리완료 판단수단(9)을 구비한다. 처리완료 판단수단(9)은, 5단계에서 동영상 부호화 수단(5)이 현재 프레임의 입력 영상 데이터(101)의 부호화 처리 루틴을 실행하고 있을 때 소정의 타이밍에서 부호화 처리 루틴에 인터럽트를 수행하여 처리 시간 내에서 일시 중단한 다음, 현재 프레임의 부호화 처리가 종료되었는지 여부를 판정한다. 부호화되지 않은 매크로 블록이 있는 경우에는, 상기 필요 연산량 계산수단에서 산출된 필요 연산량이 실제로 필요 한 연산량보다 작아 시간(Te) 내에 처리가 완료되지 않고 장애 현상이 발생할 가능성이 높은 것으로 판단할 수 있으므로, 상기 매크로 블록에 대하여 무효 블록화 처리를 수행한다. 여기서는, 처리완료 판단수단(9)에 의해 적어도 장애 현상이 발생하지 않는 시점에서 인터럽트를 수행하였을 때 부호화 처리가 완료되지 않았으면 나머지 처리를 대폭 줄일 수 있는 처리로 변경하는 등 무효 블록화 처리를 수행함으로써 시간 내에 부호화 처리를 완료할 수 없는 장애 현상을 방지할 수 있도록 하고 있다.
이하, 처리완료 판단수단(9)에 대하여 구체적으로 설명한다. 도 4는 인터럽트를 수행할 때의 시간과 연산 잔량의 관계를 도시한 것이다. 동작 주파수(F)로 동작하는 현재 프레임의 처리에 할당된 시간(Te) 내에서 하나의 프레임의 매크로 블록 수를 MB라 하고, 하나의 매크로 블록을 무효 매크로 블록으로 처리할 때 필요한 연산량을 Ks라 한다. 단, 무효 매크로 블록으로 처리할 때 필요한 연산량(Ks)은 하나의 매크로 블록의 일반적인 처리에 요구되는 연산량에 비하여 훨씬 작은 값을 가지며, 모든 프레임의 매크로 블록에 대하여 동일한 처리를 수행한다. 처리완료 판단수단(9)은 인터럽트를 수행하는 시간(Ti)을 Ti=Te-Ks×MB/F에 의해 산출한다. 인터럽트를 수행하는 시간은 상기 동작 전압 및 동작 주파수 계산수단(3)이 계산할 수도 있다. 다음, 처리완료 판단수단(9)은 시간(Ti)의 타이밍에서 부호화 처리 루틴에 인터럽트를 수행하고, 처리된 매크로 블록 수 레지스터(10)로부터 부호화 처리가 끝난 매크로 블록의 수(MBi)(부호 117)를 읽어 MBi=EB인지 MBi<MB인지를 판단하여 부호화 처리 완료 여부를 판정한다, MBi=MB이면, 현재 프레임의 부호화 처리 가 완료된 것이므로, 그대로 인터럽트 루틴을 종료하고 부호화 처리 루틴으로 돌아간다. MBi<MB이면 현재 프레임의 부호화 처리가 종료되지 않은 것이므로, 필요 연산량 계산수단(2)에서 산출된 필요 연산량이 실제로 필요한 연산량보다 작은 것으로 판단하고, 부호화 처리되지 않은 매크로 블록을 모두 무효 블록으로 처리한 다음, 부호화 처리 루틴으로 돌아간다. 시간(Ti)의 타이밍에서 인터럽트하는 시점에서 적어도 모든 매크로 블록을 무효 블록으로 처리하는 연산량은 확보되어 있으므로, 반드시 장애 현상을 방지할 수 있다.
또한, 무효 블록화 처리 대신 후술하는 바와 같이 프로세서(1)의 동작 주파수 및 동작 전압을 상승시킴으로써 장애 현상을 방지할 수도 있다. 이러한 경우에는, 현재 프레임의 부호화 처리에 미리 할당된 시간 내에 부호화 처리되지 않은 매크로 블록을 모두 부호화할 수 있는 정도의 시간을 남겨 둔 타이밍에서 인터럽트를 수행한다.
(증명)
이하, 프로세서의 동작 전압 및 동작 주파수를 여러 번 변경하면서 하나의 프레임을 부호화하는 종래 기술에 비하여 본원 발명이 보다 저소비전력화를 도모할 수 있음을 증명해 보이기로 한다. 예컨대, 어느 특정 시간(Tt)에 있는 특정 연산량(Kt)을 수행하는 경우, 그 특정 시간 동안에는 동일한 주파수로 제어하면서 주파수(Ft)를 다음과 같은 식으로 설정하면 저소비전력을 구현할 수 있다.
Ft=Kt/Tt…(수식 6)
예컨대, 프로세서(1)의 동작 전압 및 동작 주파수는, 도 5에 도시되어 있는 바와 같이 P단계로 변경할 수 있도록 하고, 임의의 한 프레임의 필요 연산량을 Kt라 하고, 그 프레임의 처리에 할당되는 시간을 Tt라 한다. 도 6(a)에 도시된 바와 같이, 동작 주파수를 Ft로 설정하고, 프로세서(1)를 동작 주파수(Ft)로 동작시킬 때의 동작 전압을 VDD라 하고, 시간(Tt)에서 필요 연산량(Kt)의 처리가 종료될 경우(즉, 동작 주파수가 일정한 경우)를 Case 1이라 한다. 그리고, 도 6(b)에 도시한 바와 같이, 초기값의 동작 주파수를 h*Ft로 설정하고, 프로세서를 동작 주파수(h*Ft)로 동작시킬 때의 동작 전압을 V1이라 하고, 시간(T1)이 경과한 시점에서 프로세서의 동작 주파수를 h*Ft/2로 변경하고, 프로세서(1)를 동작 주파수(h*Ft/2)로 동작시킬 때의 동작 전압을 V2라 하고, 시간(T1+T2)에서 필요 연산량(Kt)의 처리가 종료할 경우(즉, 동작 주파수가 한 번 변경될 경우)를 Case 2라 한다. 각 Case 1 및 Case 2에 대하여 상기 임의의 한 프레임을 부호화하는 경우를 생각해 보자. 모두 동일한 연산량, 즉 Kt(사이클)이다. 한편, 소비 전력은 다음과 같은 식으로 나타낼 수 있다.
P=α×C×f×VDD2×t…(수식 7)
α=계수, C:프로세서의 트랜지스터 수
f:동작 주파수, VDD:동작 전압, t:동작시간
이를 이용하여 Case 1의 소비 전력(Pa)과 Case 2의 소비 전력(Pb)을 계산하면, 다음과 같은 수식이 얻어진다.
Pa=α×C×Ft×V2×Tt…(수식 8)
Pb=α×C×(h×Ft)×V12×T1+α×C×(h×Ft/2)×V22×T2…(수식 9)로 되고,
Pa:Pb=V2×Tt:(h×V12×T1+(h/2)×V22×T2)…(수식 10)
여기서, 예컨대 h=1.5, T1=1/3×Tt, Tb=2/3×Tt, V=1, V1=1.5, V2=0.75라 하면,
Pa:Pb=12:(1.5×1.52/3+(1.5/2)×0.752×(2/3)≒1:1.41…(수식 11)
이므로 Pa<Pb이다. 즉, 정해진 연산량을 일정 시간으로 처리하는 경우, 동일 연산량(Kt)임에도 불구하고 Case 1의 경우와 같이 그 시간 내에서 처리가 종료될 수 있는 최소한의 동작 주파수에 의해 그 처리 시간에 걸쳐 프로세서를 일정하게 동작시키는 것이, 종래와 같이 처리 시간 중에 동작 주파수를 변경하는 Case 2의 경우보다 소요되는 소비 전력이 적다는 것을 알 수 있다. 따라서, 일정한 동작 전압 및 동작 주파수에서 프로세서(1)를 동작시키면서 하나의 프레임의 부호화 처리를 수행하는 본 발명에 따르면, 블록마다 동작 전압 및 동작 주파수가 결정되므로, 하나의 프레임의 부호화 중에 몇 번이고 동작 전압 및 동작 주파수가 변경되는 종래 기술에 비하여 저소비전력화를 도모할 수 있음을 알 수 있다.
(제2 실시 형태)
도 7은 제2 실시 형태에 따른 동영상 부호화 처리 시스템(S2)의 동작을 도시한 대략적인 블럭도이다. 본 실시 형태에 따른 동영상 부호화 처리 시스템(S2)은, 상기 제1 실시 형태에 따른 동영상 부호화 처리 시스템(S1)에서 제2 장애 방지 수단으로 처리완료 판단수단(9)과 처리된 매크로 블록 수 레지스터(10) 대신 적어도 연산 잔량 판단수단(29)을 구비한다. 도 8은 그 동영상 부호화 처리 프로그램(Prg2)과 이에 의해 구현되는 동영상 부호화 처리방법의 대략적인 흐름도를 도시한 도면이다. 프로그램(Prg2)은 컴퓨터가 각 수단을 구비하는 동영상 부호화 처리 시스템(S2)으로서 동작하도록 하는 프로그램으로서, 부호화 처리(5단계)에 인터럽트하여 실행되는 제2 장애 방지 단계를 구비한다. 동영상 부호화 처리 시스템(S2)은 상기 동영상 부호화 처리 시스템(S1)과 달리, 프로세서(1) 및/또는 로컬 복호 메모리(6) 등을 포함하는 주변 장치를 동작시키는 동작 주파수 및 동작 전압을 변경하는 동적 동작 전압 및 동작 주파수 제어를 수행함으로써 상술한 바와 같은 문제를 해결하고자 하는 것이다. 이하, 동적 동작 전압 및 동작 주파수 제어에 대하여 상세하게 설명하기로 한다.
현재 프레임의 처리에 대한 동작 주파수 및 동작 전압은 필요 연산량 계산수단(2)에 의해 산출된 값을 바탕으로 동작 전압 및 동작 주파수 계산수단(3)에 의해 산출된다. 그러나, 산출된 필요 연산량(Kp)의 값이 실질적으로 현재 프레임의 처리에 필요한 필요 연산량(Km)보다 작은 경우, 필요 연산량(Kp)의 값을 바탕으로 산출된 동작 주파수 및 동작 전압 또한 실질적으로 현재 프레임의 처리에 적합한 동작 주파수 및 동작 전압보다 작아진다.
(제2 장애 방지 단계) 동영상 부호화 처리 시스템(S2)에서는 상기 동영상 부호화 처리 시스템(S1)과 마찬가지로 동영상 부호화 수단(5)에 N번의 인터럽트 처리를 동일한 간격으로 마련하여 부호화 처리를 일시적으로 중단하고, 그 인터럽트 시점에서 연산 잔량 판단수단(29)이 필요 연산량 계산수단(2)에서 산출된 현재 프레 임의 필요 연산량의 잔량인 연산 잔량(Ki)과 동영상 부호화 수단(5)에 의한 소정의 프레임의 부호화 처리에서 실제로 필요한 연산량의 나머지 연산량을 비교한다. 즉, i번째 인터럽트 처리에서 연산 잔량 판단수단(29)은 현재 프레임의 처리에 할당된 나머지 시간(Ti)과 프로세서(1)의 동작 주파수(F)를 측정하고, 연산 잔량(Ki)를 수식 Ki=Ti×F를 이용하여 계산한다. 또한 연산 잔량 판단수단(29)은, 1번째 내지 (i-1)번째 인터럽트 처리 시각(T1, T2,…, T(i-1)) 및 각 인터럽트 시각에서의 프로세서의 동작 주파수(F1, F2,…, F(i-1))를 유지하고, 이들 값을 바탕으로 현재 프레임의 처리 시작 시각에서 i번째 인터럽트 처리 발생 시각까지 현재 프레임의 처리에 소요된 연산량(Kpm)을 수식 Kpm=ΣFj×(T(j+1)-Tj)를 이용하여 계산한다. 다만, F0은 현재 프레임의 처리 시작시 설정되어 있는 프로세서의 동작 주파수(j=0, 1,…, (i-1))이다. 다음, 연산 잔량 판단수단(29)은 Ki≥Kpm×(MB-MBi)/MBi인지 Ki<Kpm×(MB-MBi)/MBi인지 판단한다. 계산된 연산 잔량(Ki) 및 현재 프레임의 처리에 소요된 연산량(Kpm)이 수식 Ki≥Kpm×(MB-MBi)/MBi를 만족할 때 인터럽트 처리를 종료하고 부호화처리 루틴으로 돌아간다. 동영상 부호화 수단(5)은 (i+1)번째 인터럽트 처리 발생 시각까지 현재 프레임의 처리를 계속한다. 연산 잔량 판단수단(29)은 계산된 연산 잔량(Ki) 및 현재 프레임의 처리에 소요된 연산량(Kpm)이 수식 Ki<Kpm×(MB-MBi)/MBi를 만족할 때 필요 연산량 계산수단(2)에서 산출된 필요 연산량이 실제로 필요한 연산량보다 작은 것으로 판단하여 동작 전압 및 동작 주파수 제어수단(4)에 대하여 동작 전압 및 동작 주파수를 한 단계 상승시킬 것을 지시한다(부호 104). 여기서, 동작 전압 및 동작 주파수를 2단계 이상 상승시키도록 지 시할 수도 있다. 또한, MB는 현재 프레임에 포함되는 매크로 블록의 총 개수, MBi는 i번째 인터럽트 처리 발생 시각에서의 현재 프레임의 부호화 처리된 매크로 블록 수를 나타낸다. 이와 같은 처리를 마련함으로써 현재 프레임 처리 도중에 프로세서의 동작 주파수를 상승시킬 수 있으므로, 현재 프레임의 처리 시작시 프로세서에 설정된 동작 주파수가 현재 프레임의 처리에 필요한 연산량을 구현하기 위하여 필요한 동작 주파수보다 작게 설정되어도 장애 현상을 발생시키지 않고 현재 프레임의 처리를 종료할 수 있게 된다. 또한, 동영상 부호화 수단(5)에 대한 인터럽트 시각은 동일 간격의 N번으로 한정되지 않으며, 임의의 간격으로 N번 수행할 수도 있다. 그리고, 수식 Ki≥Kpm×(MB-MBi)/MBi 및 수식 Ki<Kpm×(MB-MBi)/MBi 대신 Ki≥Kpm×(BL-BLi)/BLi 및 Ki≥Kpm×(BL-BLi)/BLi를 사용할 수도 있다. 여기서, BL은 현재 프레임에 포함되는 블록의 총 개수, BLi는 i번째 인터럽트 처리 발생 시각에서의 현재 프레임의 처리된 블록 수를 나타낸다. 본 시스템(S2)에도 마찬가지로 제1 장애 방지 수단(11)을 구비할 수 있다..
(제3 실시 형태)
본 발명의 제3 실시 형태의 동영상 복호화 처리 시스템(S3)은 부호화된 동영상을 복호화하는 시스템이다. 도 9는 동영상 복호화 처리 시스템(S3)의 동작을 도시한 대략적인 블럭도이다. 본 실시 형태의 동영상 복호화 처리 시스템(S3)은 동작 전압 및 동작 주파수가 r단계(r은 2 이상의 정수)로 마련되며 프로그램에 의해 동작 전압 및 동작 주파수를 변경할 수 있는 프로세서(1)과, 상기 프로세서(1)의 동작 전압 및 동작 주파수를 제어하는 동작 전압 및 동작 주파수 제어수단(4)과, 이 전 프레임의 복호화 데이터를 저장하는 로컬 복호 프레임 메모리(36) 및 프로세서(1) 상에서 동작하는 연산 잔량 판단수단(39)을 구비한다. 다만, 로컬 복호 메모리(36)는 동작 전압 및 동작 주파수 제어수단(4)에 의해 프로세서(1)와 마찬가지로 동작 전압 및 동작 주파수가 제어될 수 있다. 프로세서(1)는 프로세서(1) 상에서 동작하는 필요 연산량 계산수단(32)과 프로세서(1) 상에서 동작하는 동작 전압 및 동작 주파수 계산수단(3) 및 프로세서(1) 상에서 동작하는 동영상 복호화 수단(35)을 구비한다. 부호 301은 입력 부호화 데이터, 부호 102는 동작 전압 및 동작 주파수 지시, 부호 105는 동작 전압 및 동작 주파수 공급, 부호 306은 복호화 데이터로서, 제1 실시 형태와 동일한 부호는 동일한 기능 또는 그에 대응하는 기능을 갖는 다. 부호화가 아니라 복호화를 수행한다는 점 및 후술하는 사항 이외에는 제2 실시 형태와 동일하다.
도 9를 참조하여 동영상 복호화 처리 시스템(S3)의 동작에 대하여 설명한다. 이하, 순차 복호화되는 프레임 중 지금부터 복호화될 임의의 한 프레임(즉, 어느 한 프레임이 복호화된 시점을 기준으로 하였을 때 다음에 복호화될 프레임으로서, 바꾸어 말하면 그 시점에서 아직 복호화 처리되지 않아 이후 복호화 처리가 이루어질 예정인 프레임)을 현재 프레임, 현재 프레임보다 이전에 복호화된 하나의 프레임(과거에 복호화된 프레임)을 이전 프레임이라 가정하고 현재 프레임을 복호화하는 처리에 대하여 설명하기로 하나, 모든 프레임에 대하여 동일한 처리가 이루어진다. 컴퓨터가 동영상 복호화 처리 시스템(S3)으로 동작하도록 하는 동영상 복호화 처리 프로그램(Prg3)은 상기 동영상 부호화 처리 프로그램(Prg1)과 거의 동일하나, 5단계에서 현재 프레임의 부호화 데이터를 복호화시키는 동영상 복호화 수단(35)으로 컴퓨터(구체적으로는 컴퓨터에 내장되는 프로세서(1))가 동작하도록 한다. 동영상 복호화 처리 시스템(S3)에 입력된 입력 부호화 데이터(301)는 필요 연산량 계산수단(32)으로 입력된다. 필요 연산량 계산수단(32)은 부호화 데이터(301)의 하나의 프레임에 해당하는 분량(즉, 현재 프레임의 부호화 데이터(301))의 발생 정보량(비트 수)(FB)을 계산하여 필요 계산량(Kp)을 예측하는 계산을 수행한다. 필요 연산량(Kp)은 다음과 같이 나타낼 수 있다.
Kp=G(FB, MVa, MVv, B, C,BR, Q, ΔQ, I, E, P)…(수식 11)
여기서, FB는 현재 프레임 또는 이전 프레임의 부호화 데이터의 비트 수, MVa는 현재 프레임 또는 이전 프레임의 움직임 벡터 크기의 평균값, MVv는 현재 프레임 또는 이전 프레임의 움직임 벡터 크기의 분산, B는 현재 프레임 또는 이전 프레임의 유효 블록 수, C는 현재 프레임 또는 이전 프레임의 유효계수의 개수, BR은 현재 프레임 또는 이전 프레임의 비트 전송율, Q는 현재 프레임 또는 이전 프레임의 양자화 스텝 사이즈의 평균값, ΔQ는 현재 프레임과 이전 프레임의 양자화 스텝 사이즈의 평균값 차 또는 이전 프레임과 그 이전 프레임의 양자화 스텝 사이즈의 평균값 차, I는 현재 프레임이 I 픽처인지 P 픽처인지 B 픽처인지의 종류, E는 이전 프레임의 복호화에 실제로 소요된 연산량, P는 필요 연산량 계산수단에 의해 산출된 이전 프레임의 필요 연산량을 의미한다.
현재 프레임의 복호화에 필요한 연산량은 현재 프레임의 복호화에서 실행되는 IDCT 처리, IQ 처리, VLD 처리의 실행 횟수에 따라 달라진다. 또한 IDCT 처리의 실행 횟수는 현재 프레임에 포함되는 유효 블록의 개수에 따라 달라지며, IQ 처리 및 VLD 처리의 실행 횟수는 현재 프레임에 포함되는 유효계수의 개수에 따라 달라진다. 즉, 현재 프레임에 포함되는 유효 블록의 개수나 유효계수의 개수가 크거나 작은 경우에는 복호화 처리에 필요한 연산량이 크거나 작아진다. 따라서, 상기 함수(G)는 B, C가 크거나 작은 경우, Hp를 크거나 작게 설정하도록 구성한다.
이전 프레임과 현재 프레임 사이에서 영상의 변화가 크거나 작은 경우 움직임 벡터 크기의 평균값(MVa)이나 움직임 벡터 크기의 분산(MVv)이 크거나 작아지는데, 이 때, 현재 프레임의 유효 블록의 개수나 유효계수의 개수는 크거나 작아지므로 부호화 처리에 필요한 연산량은 크거나 작아진다. 따라서, 상기 함수(G)는 MVa나 MVv가 크거나 작은 경우, Hp를 크거나 작게 설정하도록 구성한다.
현재 프레임이 I 픽처인 경우, 복호화 데이터를 생성할 때 예측 영상과 차이 영상을 더하지 않아도 되므로 복호화 처리에 필요한 연산량은 감소한다. 따라서, 상기 함수(G)는 현재 프레임이 I 픽처인 경우 Hp를 작게 설정하도록 구성한다.
부호화 데이터의 비트 수(FB)나 프레임 전송율(BR)이 크거나 작은 경우 유효 블록의 개수나 유효계수의 개수는 크거나 작아진다. 따라서, 상기 함수(G)는 FB나 BR이 크거나 작은 경우 Hp를 크거나 작게 설정하도록 구성한다. 또한, 양자화 스텝 사이즈는 비트 전송율을 제어할 때 값이 변경되므로, 예컨대 Q나 ΔQ가 크거나 작은 경우 Hp를 작거나 크게 설정하도록 하는 등 양자화 스텝 사이즈의 평균값(Q)이나 양자화 스텝 사이즈의 평균값의 차(ΔQ)를 고려함으로써 상기 함수(G)가 산출하는 Hp의 값을 실제로 현재 프레임을 복호화하기 위하여 필요한 연산량 근처로 할 수 있다.
동영상은 연속된 프레임간 상관이 크므로 MVa, MVv, B, C, BR, FB, Q는 현재 프레임과 이전 프레임에서 가까운 값을 갖는다. 따라서, 이들 파라미터를 상기 함수(G)에서 사용하는 경우에는, 현재 프레임에서의 값을 사용할 수도 있고 이전 프레임에서의 값을 사용할 수도 있다. 현재 프레임에서의 값을 사용하는 경우에는, 입력 부호화 데이터를 수신한 후 이 데이터의 일부를 복호화하고 값을 추출하여 사용한다. 이 때, 현재 프레임에서의 값을 사용함으로써 예측 연산량(Hp)의 값을 실제 복호화 처리에 필요한 연산량에 보다 가깝게 할 수 있다는 이점이 있다. 이전 프레임에서의 값을 사용하는 경우, 현재 프레임의 입력 부호화 데이터를 수신하기 전에 예측 연산량(Hp)을 산출할 수 있으므로 입력 부호화 데이터를 수신하면서 수신된 데이터에 대하여 복호화 처리를 동시에 수행할 수 있다는 이점이 있다.
또한, 동영상은 연속된 프레임간 상관이 크므로, 현재 프레임의 복호화 처리에 필요한 연산량의 값은 이전 프레임의 복호화 처리에서 실제로 소요된 연산량(E)에 가까워진다. 또한, 필요 연산량 계산수단에서 산출되는 예측 연산량이 실제 복호화 처리에 소요된 연산량의 값에 가까운 경우 P≒E이다. 따라서, 현재 프레임의 필요 연산량을 E나 P를 FB, MVa, MVv, B, C, BR, Q, ΔQ 등의 파라미터의 크기에 따라 증가 또는 감소시킨 값으로 하는 등 E나 P를 고려함으로써 상기 함수(G)가 산출하는 Hp의 값을 실제로 현재 프레임을 복호화하기 위하여 필요한 연산량에 가깝게 할 수 있다.
필요 연산량 계산수단(32)에서는 이들 요소 중 하나의 요소만을 사용할 수도 있으나, 여러 개 조합하여 사용할 수도 있다. 즉, 이들 복수의 요소는 현재 프레임의 복호화 처리에 필요한 필요 연산량에 영향을 주는 요소이므로, 필요 연산량 계산수단(32)이 이들 요소에 따라 필요 연산량(Kp)(사이클)을 증가 또는 감소시키도록 계산함으로써 필요 연산량 계산수단(32)에 의해 계산되는 필요 연산량(Kp)의 값이 실질적으로 복호화 처리를 수행하였을 때의 연산량에 보다 가까워진다.
동작 전압 및 동작 주파수 계산수단(3) 및 동작 전압 및 동작 주파수 제어수단(4)은 상기 제1 실시 형태와 동일하다. 동영상 복호화 수단(35)은 현재 프레임의 입력 부호화 데이터(301)를 복호화하여 복호화 데이터(306)를 생성한다. 동영상 복호화 수단(35)에 의한 복호화 처리에 있어서는, 동작 전압 및 동작 주파수 제어수단(4)에 의해 일정한 동작 전압 및 동작 주파수로 프로세서(1)를 동작시키면서 복호화 처리가 수행된다. 프레임마다 그 프레임의 복호화 처리 전에 필요한 필요 연산량이 산출되고 그 필요 연산량에 따른 일정한 동작 주파수 및 동작 전압으로 프로세서를 동작시키면서 그 프레임의 복호화가 수행되므로, 프레임을 분할함으로써 생성되는 소정 수의 블록마다 동작 주파수 및 동작 전압을 변경하는 종래 기술과 비교하였을 때 저소비전력화를 도모할 수 있다. 복호화 데이터(306)는 휴대전화나 개인용 컴퓨터의 영상표시부에 동영상으로서 표시되거나 하드 디스크 등의 저장매체에 저장된다.
동영상 복호화 처리 시스템(S3)에서도 제2 장애 방지 수단으로 연산 잔량 판단수단(39)을 구비한다. 연산 잔량 판단수단(39)은 상기 제2 실시 형태와 거의 동일하나, 부호화 처리의 연산량이 아니라 복호화 처리의 연산량에 대하여 판단한다 는 점에서 다르다. 연산 잔량 판단수단(39)에 의해 장애 현상을 방지할 수 있다. 또한, 상기 제1 실시 형태와 같이 제1 장애 방지 수단으로 처리완료 판단수단을 구비하도록 할 수도 있다. 복호화 처리에서 처리 완료 수단은 구비하지 않으므로 무효 블록화 처리는 수행하지 않는다.
본 발명의 동영상 부호화 처리 시스템은 제1 장애 방지 수단(11)과 제2 장애 방지 수단인 처리완료 판단수단(9) 및 제2 장애 방지 수단인 연산 잔량 판단수단(29, 39)을 각각 단독으로 구비할 수도 있고, 각 수단을 적당하게 조합하여 구비할 수도 있다. 예컨대, 제1 및 제2 장애 방지 수단을 모두 구비하여, 제1 장애 방지 수단(11)에 의해 필요 연산량을 증가시켜도 장애를 방지할 수 없는 경우에는 제2 장애 방지 수단인 연산 잔량 판단수단(29, 39)에 의해 동작 전압 및 동작 주파수를 상승시키고, 그럼에도 불구하고 장애 현상을 방지할 수 없는 경우에는 제2 장애 방지 수단인 처리완료 판단수단(9)에 의해 부호화 처리를 간단하게 수행하는 등의 방법으로 장애 방지 처리를 수행하도록 할 수도 있다. 또한, 상기 동영상 부호화 처리 프로그램은 프로그램과 동일한 기능을 갖는 하드웨어로 구현될 수 있다.
(실시예 1)
제1 실시 형태의 동영상 부호화 시스템(S1)에 대한 실시예 1에 대하여 설명하기로 한다. 부호화 대상으로 75개의 프레임으로부터 이루어지는 동영상 데이터를 사용하고, 부호화되는 프레임으로는 32번째 프레임을 예로 들어 설명한다. 각 프레임은 144행 176열의 화소 배열로 구성되어 있다. 부호화 처리에는 MPEG-4를 사용한다. 동영상 부호화 시스템(S1)의 프로세서(1)는 동작 주파수 189MHz∼405MHz, 동작 전압 1.06V∼1.80V이고, 동작 주파수 27MHz 및 동작 전압 O, 0925V마다 동일한 간격으로 9단계에 걸쳐 변경할 수 있도록 되어 있다.
먼저, 동영상 부호화 시스템(S1)은 입력 프레임 메모리(7)에 액세스하여 32번째 프레임을 취득하고, 필요 연산량 계산수단(2)에 의해 그 프레임의 필요 연산량(Kp)을 계산한다. 필요 연산량(Kp)은, 구체적으로 설명하면, 먼저 이전 프레임으로 31번째 프레임을 사용하여 다음과 같은 수식에 의해 차이 절대값 합(Z)을 산출한다.
Z= Σ |Xij-Yij|=202752
다음, 현재 프레임인 32번째 프레임의 액티비티의 양(W)을 다음과 같은 수식에 의해 산출한다.
수평방향 Wh=Σ|X(i,j)-X(i-1,j)|=76032
수직방향 Wv=Σ|X(i,j)-X(i,j-1)|=126720
또한, 이전 프레임의 매크로 블록 매칭 횟수(M=1580), 이전 프레임의 평균양자화 스텝 사이즈(양자화 스텝 사이즈의 평균값)(Qprev=4), 이전 프레임의 유효 블록 수(B=399), 이전 프레임의 유효계수의 개수(C=6011), 이전 프레임의 부호화에 실제로 소요된 처리량(S=15447105), 현재 프레임의 부호화 비트 전송율(BR=65536)을 구한다. 그리고, 이전 프레임의 양자화 스텝 사이즈의 평균값과 그 하나 이전인 30번째 프레임의 양자화 스텝 사이즈의 평균값 차(ΔQprev=-1)를 산출한다. 그리고, 이전 프레임의 실제 발생 비트 수(D=56797)를 구한다. 이어서, 각 요소를 사용하여 다음과 같은 수식에 의해 필요 연산량(Kp)을 산출한다.
Kp=j+αM+βB+γC+δZ+εΔQprev
이와 같이 하면 본 실시예 1에서 필요 연산량(Kp=14481056)이 얻어진다.
또한, 각 요소로부터 산출된 상기 필요 연산량(Kp=14481056)으로부터 다음 식을 이용하여 필요 연산량(Kp)을 증가시키는 계산을 수행한다. 여기서는 상기 수식 3을 예로 들어 설명하기로 한다.
Kpf=14481056×1.1=15929162
이어서, 다음 수식에 의해 동작 주파수를 계산한다.
Fe=Kpf/Te=15929162/(1/15)=239MHz
F(r)>Fe이면서 F(r-1)<Fe인 F(r)을 계산하고, 프로세서(1)의 9단계로 변경 가능한 동작 주파수 중 상기 동작 주파수를 만족하는 동작 주파수로서 동작 주파수 243MHz 및 동작 전압 1.25V를 선택한다. 적어도 프로세서(1)를 동작 주파수(F(r)=243MHz) 및 이에 대응하는 동작 전압(V(r)=1.25V)으로 동작시키도록 동작 전압 및 동작 주파수 제어수단(4)에 지시한다. 동작 전압 및 동작 주파수 제어수단(4)은 적어도 프로세서(1)가 동작 전압(243MHz) 및 동작 주파수(1.25V)로 일정하게 동작하도록 제어한다. 동영상 부호화 수단(5)은 입력 프레임 메모리(7)로부터 프레임(F)을 취득하고, 상기 동작 주파수(243MHz) 및 동작 전압(1.25V)으로 일정하게 동작된 상태의 프로세서(1)를 사용하여 부호화 처리를 수행함으로써 부호화 데이터를 생성한다.
또한, 부호화 처리 루틴 실행중에 처리완료 판단수단(9)은 다음과 같은 수식에 의해 인터럽트 시간을 산출하고 인터럽트를 수행한다.
Ti=Te-Ks×MB/F
=0.06666-37×99/(243000000)
≒0.06665
또한, 처리완료 판단수단(9)은 상기 인터럽트 타이밍에서 MBi<MB인지 여부를 판단한다. 본 실시예 1에서는, Ti=0.06665의 타이밍에서 MBi<MB로서 현재 프레임의 부호화 처리가 종료되지 않았으므로 나머지 매크로 블록을 모두 무효 블록으로 처리하고 부호화 처리 루틴으로 돌아간다.
(실시예 2)
제2 실시 형태의 동영상 부호화 시스템(S2)에 대한 실시예 2에 대하여 설명하기로 한다. 본 실시예 2에서는, 부호화 처리에서 4번의 인터럽트를 수행하도록 설정되어 있다. 연산 잔량 판단수단(29)은 첫 번째와 두 번째 인터럽트시 Ki=Ti×F 및 Kpm=ΣFj×(T(j+1)-Tj)를 계산하고, 실제로 필요한 연산량의 잔량으로서 Kpm×(MB-MBi)를 계산하여 Ki≥Kpm×(MB-MBi)/MBi인지 Ki<Kpm×(MB-MBi)/MBi인지 판단한다. 본 실시예 2에서는 Ki≥Kpm×(MB-MBi)/MBi이므로 인터럽트를 종료하고 세 번째 인터럽트까지 동영상 부호화 수단(5)이 부호화 처리를 계속한다. 다음 인터럽트인 3회째 인터럽트 시에서도 마찬가지로 계산 및 판단을 수행한다. 본 실시예 2에서는 Ki<Kpm×(MB-MBi)/MBi이므로, 동작 주파수 및 동작 전압을 한 단계 상승시킨 주파수(Fp+1=270MHz) 및 전압(Vp+1=1.34)을 동작 주파수 및 동작 전압으로 동작 전압 및 동작 주파수 제어수단(4)에 지시한다.
이상에서 설명한 바와 같이, 본 발명의 동영상 부호화 또는 복호화 처리 시스템과 동영상 부호화 또는 복호화 처리방법에 따르면, 이후 부호화 또는 복호화할 현재 프레임(앞으로 부호화 또는 복호화할 프레임)에 대하여 부호화 또는 복호화에 소요되는 필요 연산량을 예측하는 계산을 수행하고, 그 현재 프레임의 처리에 할당된 시간 중에는 최소한의 동작 주파수로 거의 일정하게 제어함으로써 프레임 단위로 동작 전압 및 동작 주파수가 동적으로 제어되므로, 저소비전력을 실현할 수 있다.
또 장애 방지 수단을 구비하므로 산출된 필요 연산량이 실제로 필요한 연산량보다 작은 경우에 발생하는 장애 현상을 방지할 수 있고, 부호화 또는 복호화 처리된 동영상이 열악해지는 것을 방지할 수 있다.

Claims (18)

  1. 복수의 프레임으로 구성되는 동영상을 프레임 단위로 부호화 또는 복호화하는 프로세서를 구비하고, 하나의 프레임의 부호화 또는 복호화에 필요한 필요 연산량(Kp)을 계산하고, 상기 하나의 프레임의 부호화 또는 복호화 처리에 미리 할당된 시간(Te) 내에 상기 필요 연산량(Kp)을 부호화 또는 복호화 처리할 수 있는 동작 주파수(F)를 결정하고, 상기 동작 주파수(F) 및 상기 동작 주파수(F)에 적합한 동작 전압(V)으로 상기 프로세서를 동작시키면서 상기 하나의 프레임의 부호화 또는 복호화 처리를 수행하며, 필요 연산량(Kp)이 실제로 필요한 연산량보다 작은 경우에 발생하는 장애 현상을 방지하는 장애 방지 수단을 하나 이상 구비하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리 시스템.
  2. 제1항에 있어서,
    연속된 복수의 프레임 중 상기 하나의 프레임보다 이전에 부호화 처리되는 프레임을 이전 프레임이라 하였을 때 동영상 부호화 처리를 수행하는 경우에 있어서, 상기 하나의 프레임과 이전 프레임의 움직임량, 상기 하나의 프레임의 액티비티의 양, 이전 프레임의 액티비티의 양, 이전 프레임의 양자화 스텝 사이즈의 평균값, 이전 프레임의 양자화 스텝 사이즈의 평균값과 그 하나 이전의 프레임의 양자화 스텝 사이즈의 평균값의 차, 이전 프레임의 매크로 블록 매칭 횟수, 이전 프레임의 유효 블록 수, 이전 프레임의 유효계수의 개수, 이전 프레임의 부호화에 실제 로 소요된 연산량, 이전 프레임의 발생 비트 수, 상기 하나의 프레임의 부호화 비트 전송율, 상기 하나의 프레임에 대하여 프레임 내 부호화 또는 프레임간 부호화 중 어느 것인지의 종류, 이전 프레임의 필요 연산량 중 하나 이상의 요소를 사용하여 필요 연산량(Kp)을 계산하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리 시스템.
  3. 제1항에 있어서,
    연속된 복수의 프레임 중 상기 하나의 프레임보다 이전에 복호화 처리되는 프레임을 이전 프레임이라 하였을 때 동영상 복호화 처리를 수행하는 경우에 있어서, 상기 하나의 프레임의 부호화 데이터의 비트 수, 상기 하나의 프레임이 프레임 내 부호화된 것인지 또는 프레임간 부호화된 것인지의 종류, 상기 하나의 프레임 또는 이전 프레임의 움직임 벡터 크기의 평균값, 상기 하나의 프레임 또는 이전 프레임의 움직임 벡터 크기의 분산, 상기 하나의 프레임 또는 이전 프레임의 유효 블록 수, 상기 하나의 프레임 또는 이전 프레임의 유효계수의 개수, 상기 하나의 프레임 또는 이전 프레임의 비트 전송율, 상기 하나의 프레임 또는 이전 프레임의 부호량, 상기 하나의 프레임 또는 이전 프레임의 양자화 스텝 사이즈의 평균값, 양자화 스텝 사이즈의 평균값의 차(상기 하나의 프레임과 하나 이전의 프레임의 양자화 스텝 사이즈의 차, 또는 하나 이전의 프레임의 양자화 스텝 사이즈와 2개 이전의 프레임의 양자화 스텝 사이즈의 차), 이전 프레임의 복호화에 실제로 소요된 연산량, 이전 프레임의 필요 연산량 중 하나 이상의 요소를 사용하여 필요 연산량(Kp) 을 계산하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리 시스템.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 장애 방지 수단으로 필요 연산량(Kp)을 증가시키는 제1 장애 방지 수단을 구비하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리 시스템.
  5. 제4항에 있어서,
    상기 제1 장애 방지 수단은 필요 연산량(Kp)을 m배(m은 1 이상의 실수)하거나 필요 연산량(Kp)에 0보다 큰 실수(n)를 더하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리 시스템.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 장애 방지 수단으로, 상기 하나의 프레임의 부호화 또는 복호화 처리에 미리 할당된 시간(Te) 내에 상기 하나의 프레임의 부호화 처리가 완료되지 않은 경우에는 장애 현상을 방지하는 처리를 수행하는 제2 장애 방지 수단을 구비하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리 시스템.
  7. 제6항에 있어서,
    상기 제2 장애 방지 수단은 소정의 타이밍에서 부호화 처리에 인터럽트를 수행하고, 부호화되지 않은 매크로 블록이 있는 경우에는 상기 매크로 블록에 대하여 무효 블록화 처리를 수행하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리 시스템.
  8. 제6항에 있어서,
    상기 제2 장애 방지 수단은 소정의 타이밍에서 부호화 또는 복호화 처리에 인터럽트를 수행하고, 그 인터럽트 시점에서 필요 연산량(Kp)의 잔량이 부호화 또는 복호화 처리에 실제로 필요한 연산량의 잔량보다 작은 경우에는 프로세서의 동작 주파수 및 동작 전압을 상승시키는 것을 특징으로 하는 동영상 부호화 또는 복호화 시스템.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 프로세서는 동작가능한 가능 동작 주파수가 r단계(r은 2 이상의 정수)로 마련되어 있고, 상기 시간(Te) 내에 필요 연산량(Kp)을 처리하는 데 필요한 동작 주파수(Fe)를 Fe=Kp/Te에 의해 계산하고, 상기 프로세서가 동작가능한 가능 동작 주파수로부터 상기 필요한 동작 주파수(Fe) 이상이면서 그 동작 주파수(Fe)와 가장 가까운 동작 주파수(F)를 결정하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리 시스템.
  10. 복수의 프레임으로 구성되는 동영상을 프레임 단위로 부호화 또는 복호화하는 프로세서를 사용하여 하나의 프레임의 부호화에 필요한 필요 연산량(Kp)을 계산 하고, 상기 하나의 프레임의 부호화 또는 복호화 처리에 미리 할당된 시간(Te) 내에 상기 필요 연산량(Kp)을 부호화 또는 복호화 처리할 수 있는 동작 주파수(F)를 결정하고, 상기 동작 주파수(F) 및 상기 동작 주파수(F)에 적합한 동작 전압(V)으로 상기 프로세서를 동작시키면서 상기 하나의 프레임의 부호화 또는 복호화 처리를 수행하고,
    필요 연산량(Kp)이 실제로 필요한 연산량보다 작은 경우에 발생하는 장애 현상을 방지하는 장애 방지 단계를 하나 이상 구비하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리방법.
  11. 제10항에 있어서,
    연속된 복수의 프레임 중 상기 하나의 프레임보다 이전에 부호화 처리되는 프레임을 이전 프레임이라 하였을 때 동영상 부호화 처리를 수행하는 경우에 있어서, 상기 하나의 프레임과 이전 프레임의 움직임량, 상기 하나의 프레임의 액티비티의 양, 이전 프레임의 액티비티의 양, 이전 프레임의 양자화 스텝 사이즈의 평균값, 이전 프레임의 양자화 스텝 사이즈의 평균값과 그 하나 이전의 프레임의 양자화 스텝 사이즈의 평균값 차, 이전 프레임의 매크로 블록 매칭 횟수, 이전 프레임의 유효 블록 수, 이전 프레임의 유효계수의 개수, 이전 프레임의 부호화에 실제로 소요된 연산량, 이전 프레임의 발생 비트 수, 상기 하나의 프레임의 부호화 비트 전송율, 상기 하나의 프레임에 대하여 프레임 내 부호화 또는 프레임간 부호화 중 어느 것인지의 종류, 이전 프레임의 필요 연산량 중 하나 이상의 요소를 사용하여 필요 연산량(Kp)을 계산하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리방법.
  12. 제10항에 있어서,
    연속된 복수의 프레임 중 상기 하나의 프레임보다 이전에 복호화 처리되는 프레임을 이전 프레임이라 하였을 때 동영상 복호화 처리를 수행하는 경우에 있어서, 상기 하나의 프레임의 부호화 데이터의 비트 수, 상기 하나의 프레임이 프레임 내 부호화된 것인지 또는 프레임간 부호화된 것인지의 종류, 상기 하나의 프레임 또는 이전 프레임의 움직임 벡터 크기의 평균값, 상기 하나의 프레임 또는 이전 프레임의 움직임 벡터 크기의 분산, 상기 하나의 프레임 또는 이전 프레임의 유효 블록 수, 상기 하나의 프레임 또는 이전 프레임의 유효계수의 개수, 상기 하나의 프레임 또는 이전 프레임의 비트 전송율, 상기 하나의 프레임 또는 이전 프레임의 부호량, 상기 하나의 프레임 또는 이전 프레임의 양자화 스텝 사이즈의 평균값, 양자화 스텝 사이즈의 평균값 차(상기 하나의 프레임과 하나 이전의 프레임의 양자화 스텝 사이즈 차, 또는 하나 이전의 프레임의 양자화 스텝 사이즈와 두 개 이전의 프레임의 양자화 스텝 사이즈 차), 이전 프레임의 복호화에 실제로 소요된 연산량, 이전 프레임의 필요 연산량 중 하나 이상의 요소를 사용하여 필요 연산량(Kp)을 계산하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리방법.
  13. 제10항 내지 제12항 중 어느 한 항에 있어서,
    상기 장애 방지 단계로서 필요 연산량(Kp)을 증가시키는 제1 장애 방지 단계를 구비하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리방법.
  14. 제13항에 있어서,
    상기 제1 장애 방지 단계는 필요 연산량(Kp)을 m배(m은 1 이상의 실수)하거나 필요 연산량(Kp)에 0보다 큰 실수(n)를 더하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리방법.
  15. 제10항 내지 제14항 중 어느 한 항에 있어서,
    상기 장애 방지 단계로서 상기 하나의 프레임의 부호화 또는 복호화 처리에 미리 할당된 시간(Te) 내에 상기 하나의 프레임의 부호화 처리가 완료되지 않은 경우에는 장애 현상을 방지하는 처리를 수행하는 제2 장애 방지 단계를 구비하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리방법.
  16. 제15항에 있어서,
    상기 제2 장애 방지 단계는 소정의 타이밍에서 부호화 처리에 인터럽트를 수행하고, 부호화되지 않은 매크로 블록이 있는 경우에는 상기 매크로 블록에 대하여 무효 블록화 처리를 수행하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리방법.
  17. 제15항 또는 제16항에 있어서,
    상기 제2 장애 방지 단계는 소정의 타이밍에서 부호화 또는 복호화 처리에 인터럽트를 수행하고, 그 인터럽트 시점에서 필요 연산량(Kp)의 잔량이 부호화 또는 복호화 처리에 실제로 필요한 연산량의 잔량보다 작은 경우에는 프로세서의 동작 주파수 및 동작 전압을 상승시키는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리방법.
  18. 제10항 내지 제17항 중 어느 한 항에 있어서,
    상기 프로세서는 동작가능한 가능 동작 주파수가 r단계(r은 2 이상의 정수)로 마련되어 있고, 상기 시간(Te) 내에 필요 연산량(Kp)을 처리하는 데 필요한 동작 주파수(Fe)를 Fe=Kp/Te를 이용하여 계산하여 상기 프로세서가 동작가능한 가능동작 주파수로부터 상기 필요한 동작 주파수(Fe) 이상이면서 그 동작 주파수(Fe)와 가장 가까운 동작 주파수(F)를 결정하는 것을 특징으로 하는 동영상 부호화 또는 복호화 처리방법.
KR1020057019372A 2003-04-15 2004-04-15 동영상 부호화 또는 복호화 처리 시스템 및 동영상 부호화 또는 복호화 처리방법 KR20060009840A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003110824 2003-04-15
JPJP-P-2003-00110824 2003-04-15

Publications (1)

Publication Number Publication Date
KR20060009840A true KR20060009840A (ko) 2006-02-01

Family

ID=33295966

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057019372A KR20060009840A (ko) 2003-04-15 2004-04-15 동영상 부호화 또는 복호화 처리 시스템 및 동영상 부호화 또는 복호화 처리방법

Country Status (8)

Country Link
US (1) US20060174303A1 (ko)
EP (1) EP1615438A4 (ko)
JP (1) JPWO2004093458A1 (ko)
KR (1) KR20060009840A (ko)
CN (1) CN1774929A (ko)
AU (1) AU2004229732A1 (ko)
CA (1) CA2522870A1 (ko)
WO (1) WO2004093458A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101050578B1 (ko) * 2006-08-29 2011-07-19 엔비디아 코포레이션 비디오 디코딩 동안의 동적 주파수 조정을 위한 방법 및시스템

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100591796B1 (ko) * 2005-11-11 2006-06-26 엠텍비젼 주식회사 이미지 처리 방법 및 장치
JP2007251553A (ja) * 2006-03-15 2007-09-27 Matsushita Electric Ind Co Ltd リアルタイム処理装置及びその方法
WO2008028105A2 (en) * 2006-08-31 2008-03-06 Ati Technologies Ulc Video decoder and/or battery-powered device with reduced power consumption and methods thereof
US8112640B2 (en) * 2006-10-02 2012-02-07 Samsung Electronics Co., Ltd. Method of controlling voltage of power supplied to 3D graphics data processor and the 3D graphics data processor using the method
US20090180701A1 (en) * 2008-01-10 2009-07-16 Seungyeob Choi Video Data Encoding System
JP4513034B2 (ja) * 2008-02-20 2010-07-28 ソニー株式会社 画像信号処理装置、画像信号処理方法、およびプログラム
JP5056600B2 (ja) * 2008-06-10 2012-10-24 富士通株式会社 画像復号装置
US8442111B2 (en) * 2008-11-24 2013-05-14 Nvidia Corporation Optimal power usage in encoding data streams
US8880789B2 (en) * 2008-12-10 2014-11-04 Nvidia Corporation Optimal power usage in decoding a content stream stored in a secondary storage
CN104854535A (zh) * 2012-10-16 2015-08-19 雷蛇(亚太)私人有限公司 计算系统及用于控制计算系统的方法
CN103051899B (zh) * 2012-12-31 2015-12-02 青岛中星微电子有限公司 一种视频解码的方法及装置
CN113115039B (zh) * 2021-04-13 2022-12-02 展讯通信(上海)有限公司 工作频率确定方法、装置和电子设备
US11949877B2 (en) * 2021-10-01 2024-04-02 Microsoft Technology Licensing, Llc Adaptive encoding of screen content based on motion type

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0254317A (ja) * 1988-08-19 1990-02-23 Asahi Optical Co Ltd 電子制御カメラのcpu動作速度制御装置
JP3569961B2 (ja) * 1994-07-07 2004-09-29 株式会社日立製作所 ディジタル映像信号復号装置
JPH099251A (ja) * 1995-06-20 1997-01-10 Hitachi Ltd 並列画像符号化方法およびその装置
JPH10248063A (ja) * 1997-03-04 1998-09-14 Toshiba Corp 携帯型情報端末装置
JPH1168881A (ja) * 1997-08-22 1999-03-09 Sony Corp データストリーム処理装置及び方法
JP3296758B2 (ja) * 1997-09-01 2002-07-02 株式会社日立製作所 動画像符号化装置及び動画像符号化/再生装置
JPH11239352A (ja) * 1997-12-10 1999-08-31 Matsushita Electric Ind Co Ltd 画像処理方法及び画像処理装置、並びにデータ記憶媒体
FR2774487B1 (fr) * 1998-02-05 2000-09-29 Alsthom Cge Alcatel Systeme d'alimentation optimisee pour circuit electronique
JPH11252549A (ja) * 1998-02-27 1999-09-17 Toshiba Corp 画像符号化/復号化装置
JP3324556B2 (ja) * 1999-04-13 2002-09-17 日本電気株式会社 映像記録方式
JP2001045491A (ja) * 1999-08-03 2001-02-16 Hitachi Ltd 符号化画像の復号・表示装置
JP2001197149A (ja) * 2000-01-05 2001-07-19 Mitsubishi Electric Corp マルチメディア情報通信装置、およびマルチメディア情報通信方法
JP2002010271A (ja) * 2000-04-20 2002-01-11 Matsushita Electric Ind Co Ltd ビデオ符号化装置
JP2003078770A (ja) * 2001-08-30 2003-03-14 Canon Inc 画像処理方法及びその装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101050578B1 (ko) * 2006-08-29 2011-07-19 엔비디아 코포레이션 비디오 디코딩 동안의 동적 주파수 조정을 위한 방법 및시스템
TWI413418B (zh) * 2006-08-29 2013-10-21 Nvidia Corp 於視訊解碼時動態頻率調整之方法、系統、與時鐘頻率控制器
TWI448161B (zh) * 2006-08-29 2014-08-01 Nvidia Corp 於視訊解碼時動態頻率調整之方法、系統、與時鐘頻率控制器

Also Published As

Publication number Publication date
EP1615438A4 (en) 2007-05-02
US20060174303A1 (en) 2006-08-03
WO2004093458A1 (ja) 2004-10-28
CA2522870A1 (en) 2004-10-28
EP1615438A1 (en) 2006-01-11
AU2004229732A1 (en) 2004-10-28
CN1774929A (zh) 2006-05-17
JPWO2004093458A1 (ja) 2006-07-13

Similar Documents

Publication Publication Date Title
JP4142652B2 (ja) 映像符号化装置
KR20060009840A (ko) 동영상 부호화 또는 복호화 처리 시스템 및 동영상 부호화 또는 복호화 처리방법
JP3934568B2 (ja) 動画符号化方法および装置
JP4280353B2 (ja) 符号化装置、画像処理装置、符号化方法、及び記録媒体
KR20030014716A (ko) 미디어 프로세서에서 mpeg2 디코딩의 동적인 복잡도예측 및 조절
US20030123540A1 (en) Dynamic control in complexity-constrained data compression
JP2003324735A (ja) 動画像符号化又は復号化処理システム及び動画像符号化又は復号化処理プログラム
JPWO2010140338A1 (ja) 画像符号化装置、方法、集積回路、プログラム
JPWO2006004065A1 (ja) 動画像符号化処理システム、動画像符号化又は復号化処理システム、動画像符号化処理方法、及び、動画像符号化又は復号化処理方法
KR20170126934A (ko) 컨텐츠-적응적 b-픽쳐 패턴 비디오 인코딩
US7586426B2 (en) Image coding apparatus and method thereof
WO2005096634A1 (ja) マルチタスク処理システム、及び、マルチタスク処理方法
JP2003348594A (ja) 画像復号装置及び方法
JPH11308617A (ja) ディジタル画像符号化装置とこれに用いる動きベクトル検出装置
JP2000032474A (ja) 動画像符号化装置
US8170356B2 (en) Linear temporal reference scheme having non-reference predictive frames
JPH0423688A (ja) フレーム間符号化符号量制御装置
JP2005045736A (ja) 画像信号符号化方法及び装置、符号化制御装置並びにプログラム
US20040184527A1 (en) Apparatus for encoding dynamic images and method of doing the same
JP3772184B2 (ja) 動画像符号化処理システム、動画像復号化処理システム、動画像符号化処理方法、及び、動画像復号化処理方法
JP2000188735A (ja) 動きベクトル検出装置及びこれを用いた動画像符号化装置
JP2002232881A (ja) 動画像復号化方法及び装置
JP2006324888A (ja) 動画像符号化装置
WO2005062621A1 (ja) 動画像符号化又は復号化処理システム、及び、動画像符号化又は復号化処理方法
JP3188081B2 (ja) 画像符号化方法および画像符号化装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid