KR100516191B1 - 영상 코덱의 전력소모 절감방법 및 이 방법을 적용한 영상코덱 - Google Patents

영상 코덱의 전력소모 절감방법 및 이 방법을 적용한 영상코덱 Download PDF

Info

Publication number
KR100516191B1
KR100516191B1 KR1020040063546A KR20040063546A KR100516191B1 KR 100516191 B1 KR100516191 B1 KR 100516191B1 KR 1020040063546 A KR1020040063546 A KR 1020040063546A KR 20040063546 A KR20040063546 A KR 20040063546A KR 100516191 B1 KR100516191 B1 KR 100516191B1
Authority
KR
South Korea
Prior art keywords
motion estimation
compensator
power
time
power consumption
Prior art date
Application number
KR1020040063546A
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 위재경
Priority to KR1020040063546A priority Critical patent/KR100516191B1/ko
Application granted granted Critical
Publication of KR100516191B1 publication Critical patent/KR100516191B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 영상 코덱에 관한 것으로 특히 움직임 추정/보상기의 유휴 상태에서의 정적 전력소모를 효과적으로 줄일 수 있는 기술을 제공한다. 본 발명은 매크로 블럭에 대한 움직임 추정/보상기의 연산이 연산 허용시간 이내에 끝나 여유시간(slack time)이 발생하는 경우 움직임 추정/보상기로의 전력을 차단하고(shutdown), 연산 허용시간이 끝나기 전에 다음 매크로 블럭에 대한 연산을 위해 움직임 추정/보상기로의 전력을 다시 공급하는(wake-up) 기법을 사용한다. 따라서, 여유시간 동안 움직임 추정/보상기로의 전력을 차단함으로써 정적 전력소모를 절감하여 차세대 집적회로 공정에 따른 영상 코덱에 적합하게 적용할 수 있다.

Description

영상 코덱의 전력소모 절감방법 및 이 방법을 적용한 영상 코덱{Method for Saving Power Consumption in Video CODEC and Video CODEC Adapting the Method}
본 발명은 영상 코덱(Video CODEC)에 관한 것으로, 상세하게는 영상 코덱에서 전력소모가 가장 큰 움직임 추정/보상기(Motion Estimator/Motion Compensator; ME/MC)의 전력소모를 절감할 수 있는 방법 및 이 방법을 적용한 영상 코덱에 관한 것이다.
동영상의 압축 부호화/복호화 장치인 영상 코덱은 크게 소프트웨어로 구현하는 방법과 하드웨어로 구현하는 방법, 또는 각 기능 블럭별로 소프트웨어 또는 하드웨어로 적절히 조합하여 구현하는 방법이 있다. 소프트웨어에 의한 구현은 융통성이 뛰어나지만 그 만큼 성능이 떨어지는 반면, 하드웨어에 의한 구현은 고성능을 발휘하지만 하드웨어의 크기가 커지고 전력소모가 크다는 단점이 있다. 특히, 움직임 추정/보상기는 영상 코덱에서 전력소모가 가장 큰 하드웨어이다.
움직임 추정/보상기는 소정 수의 화소의 영상 데이터의 묶음인 매크로 블럭(Macro Block)에 대하여 움직임 벡터를 추출하고 보상하는 연산을 수행하는데, 각각의 매크로 블럭에 대해서는 일정한 연산 허용시간(deadline)이 주어져 있다. 이 연산 허용시간은 프레임간 움직임이 많은 동영상에 대해 움직임 벡터를 추출하고 보상하는데 걸리는 시간을 기준으로 하여 설정되므로, 정지영상이나 상대적으로 움직임이 적은 동영상의 경우에는 연산 허용시간 이내에 움직임 추정/보상기의 연산이 끝나 다음 매크로 블럭에 대한 연산개시까지 여유시간(slack time)이 발생하게 된다. 이렇게 여유시간이 발생하는 경우 움직임 추정/보상기는 유휴(idle) 상태를 유지하게 되는데, 유휴 상태에서도 누설전류에 의한 정적 전력소모는 발생한다. 지금까지의 움직임 추정/보상기에서는 이 정적 전력소모가 별로 크지 않았지만, 집적회로로 구현되는 움직임 추정/보상기의 제조공정상 임계 선폭(Critical Dimension; CD)이 줄어들수록, 즉 고집적화될수록 정적 전력소모는, 다음 표에서 알 수 있듯이, 결코 무시할 수 없는 수준이 된다.
CD=0.13㎛ CD=0.10㎛ CD=0.07㎛ CD=0.05㎛
DPR 0.9 0.8 0.6 0.5
SPR 0.1 0.2 0.4 0.5
DPR(Dynamic Power Ratio): 전체 소비전력중 동적 전력의 비
SPR(Static Power Ratio): 전체 소비전력중 정적 전력의 비
움직임 추정/보상기의 이러한 큰 전력소모를 줄이기 위한 방법으로서 다음과 같은 기법이 제안되어 있다. 첫째는, DVFS(Dynamic Voltage and/or Frequency Scaling) 기법으로, 연산 허용시간 이내에 연산이 끝나 여유시간이 생기면 DVFS 컨트롤러에 의해 동작 전압 및/또는 동작 주파수를 낮추어 최대한 연산시간을 길게 하여(저속동작) 전력소모를 줄이는 방법이다. 둘째는, DVTS(Dynamic VTh Scaling) 기법으로, 벌크 전압(VBB)을 제어하여 움직임 추정/보상 기능 블럭을 이루는 트랜지스터의 문턱전압을 변화시켜 동작속도를 조절하고 저속 동작시에는 누설전류를 억제하는 방법이다.
그러나, DVFS 기법은 동적 전력소모가 대부분을 차지할 때는 효율적이지만 전술한 바와 같이 정적 전력소모가 무시할 수 없는 차세대 공정에 의해 제조되는 움직임 추정/보상기에 대해서는 절전효율이 크지 않다. 또한, DVTS 기법은 기판 전압의 제어에 기인하는 전하 펌핑(charge-pump) 효과에 의한 기판 노이즈의 영향이나 기판 커패시턴스를 충방전하기 위한 전력이 소모되는 등의 문제가 있고, 아울러 제조공정상 구현하기 어렵다는 단점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로서, 정적 전력소모를 효과적으로 절감하여 차세대 공정에 의한 움직임 추정/보상기에 적합한 영상 코덱의 전력소모 절감방법 및 영상 코덱을 제공하는 데에 그 목적이 있다.
상기와 같은 목적을 달성하기 위해 본 발명은 매크로 블럭에 대한 움직임 추정/보상기의 연산이 연산 허용시간 이내에 끝나 여유시간이 발생하는 경우, 움직임 추정/보상기로의 전력을 차단하는(shutdown) 기법을 사용한다. 따라서, 여유시간 동안 움직임 추정/보상기로의 전력을 차단함으로써 정적 전력소모를 절감할 수 있다.
즉, 본 발명의 일측면에 따른 영상 코덱은, 움직임 추정/보상기를 포함하고, 이 움직임 추정/보상기로부터 매크로 블럭에 대해 연산 허용시간 이내에 연산이 끝나 여유시간이 발생한 경우, 상기 움직임 추정/보상기로의 전력을 차단하고, 연산 허용시간이 끝나기 전에 다음 매크로 블럭에 대한 연산을 위해 움직임 추정/보상기로의 전력을 다시 공급하는 셧다운/웨이크업 컨트롤러(shutdown/wake-up controller)를 구비한다.
여기서, 상기 셧다운/웨이크업 컨트롤러는, 움직임 추정/보상기의 소정 수로 분할된 기능 블럭들에 대하여 순차적으로 전력을 차단하고 공급할 수 있다.
또한, 상기 움직임 추정/보상기는 복수의 매크로 블럭들에 대해 연속적으로 연산을 수행하고, 영상 코덱은 상기 복수의 매크로 블럭들로부터 각각 추출된 움직임 벡터를 일시 저장하는 저장수단을 더 구비할 수 있다.
또한, 본 발명의 다른 측면에 따른 영상 코덱의 전력소모 절감방법은, 움직임 추정/보상기를 초기화하는 단계; 매크로 블럭에 대하여 움직임 추정/보상 연산을 수행하는 단계; 상기 연산이 소정 연산 허용시간 이내에 끝나 여유시간이 발생하고, 이 여유시간이 상기 움직임 추정/보상기로의 전력을 차단하고 다음 매크로 블럭에 대한 연산을 위해 다시 전력을 공급하기에 필요한 시간보다 긴 경우, 상기 움직임 추정/보상기로의 전력을 차단하는 단계; 상기 연산 허용시간이 끝나기 전에 다음 매크로 블럭에 대한 연산을 위해 상기 움직임 추정/보상기로의 전력을 다시 공급하는 단계;를 포함한다.
여기서, 상기 전력을 차단하는 단계 및 전력을 다시 공급하는 단계는, 상기 움직임 추정/보상기를 소정 수의 기능 블럭들로 분할하여 이 기능 블럭들에 대하여 순차적으로 전력을 차단하고 공급하도록 할 수 있다.
또한, 상기 연산을 수행하는 단계는 복수의 매크로 블럭들에 대해 연속적으로 연산을 수행하고, 상기 복수의 매크로 블럭들로부터 각각 추출된 움직임 벡터를 일시 저장하는 단계를 더 포함할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 1은 일반적인 영상 코덱의 개략적인 구성을 도시한 블럭도로서 도 1의 구성은 본 발명의 영상 코덱에도 적용된다.
도 1을 참조하면, 본 발명의 바람직한 실시예에 따른 영상 코덱은, 공통 버스(50)를 중심으로, 영상 코덱 전체의 동작을 제어하는 중앙처리유닛(CPU)(10), 각 블럭에 공급되는 전력을 관리하는 전력관리유닛(PMU; Power Management Unit)(20), 영상 데이터를 저장하는 외부 메모리(SDRAM; Synchronous Dynamic Random Access Memory)(미도시), 외부 메모리로부터 또는 외부 메모리로의 데이터 통신을 수행하는 메모리 컨트롤러(SDRAM 컨트롤러)(30), 재순서화 및 실행 레벨 부호화기(Reordering/Run-Level Coder)(40), 움직임 추정/보상기(ME/MC)(60), 이산여현변환/역이산여현변환기(DCT/IDCT; Discrete Cosine Transform/Inverse DCT Unit)(70), 양자화/역양자화기(Q/IQ; Quantization/Inverse Quantization Unit)(80), 가변장 부호화기(VLC; Variable Length Coder)(90) 등이 배치되어 구성된다.
여기서 후술하는 움직임 추정/보상기(60)를 제외한 다른 구성 유닛들은 본 발명의 요지와 직접 관련되지 않으며 이 분야에서 통상의 지식을 가진 자에게 널리 알려진 구성을 취하면 되므로 그 상세한 설명은 생략한다. 아울러, 상기한 구성 유닛들은 도 1에 도시된 바와 같이 하드웨어로 구현될 수도 있고 소프트웨어로 구현될 수도 있으며, 하드웨어와 소프트웨어가 적절히 조합된 형태로 구현될 수도 있음은 물론이다.
도 2는 본 발명의 바람직한 실시예에 따른 움직임 추정/보상기(60)의 개략적인 구성을 도시한 블럭도이다.
도 2를 참조하면, 본 실시예에 따른 움직임 추정/보상기(60)는, 매크로 블럭에 대하여 실제 움직임 벡터를 추출하고 보상하는 연산을 수행하는 움직임 추정/보상 블럭(61)과, 움직임 추정/보상 블럭(61)으로의 전력 공급을 차단하거나(shutdown) 재개하는(wake-up) 셧다운/웨이크업 컨트롤러(62)를 필수적으로 구비한다. 또한, 부가적으로 소정 수의 움직임 벡터를 일시 저장하는 저장수단으로서 FIFO 큐(First IN First Out Queue)(63)와, 움직임 추정/보상 블럭(61)의 현재 상태를 나타내는 플래그를 저장하는 상태 레지스터(64)를 구비한다. 여기서, 움직임 추정/보상 블럭(61) 자체의 구성과 동작은 본 발명의 요지와 직접 관련되지 않으며 이 분야에서 통상의 지식을 가진 자에게 널리 알려진 구성을 취하면 되므로 그 상세한 설명은 생략하고, 본 발명의 특징과 관련된 부분을 중심으로 설명한다.
셧다운/웨이크업 컨트롤러(62)는, 단위 매크로 블럭에 대한 움직임 추정/보상 블럭(61)의 연산이 소정의 연산 허용시간(deadline) 이내에 끝나 여유시간(slack time)이 생기면, 움직임 추정/보상 블럭(61)으로의 전력 공급을 차단하고, 연산 허용시간이 끝나기 전에 다음 매크로 블럭에 대한 연산을 위해 움직임 추정/보상 블럭(61)으로의 전력 공급을 재개하는 역할을 수행한다.
움직임 추정/보상 블럭(61) 및 셧다운/웨이크업 컨트롤러(62)와, FIFO 큐(63), 상태 레지스터의 구체적인 구성과 동작을 도 3의 흐름도, 도 4a 및 도 4b의 타이밍도와 함께 상세히 설명한다.
먼저, 영상 데이터를 부호화/복호화 하기 위해, 중앙처리유닛(10)은 영상 코덱의 각 구성 유닛들을 초기화한다(단계 S10). 움직임 추정/보상기(60)의 초기화는 다음과 같이 진행되는데, 본 실시예에서 움직임 추정/보상 블럭(61)은 4 개의 매크로 블럭을 묶어서(grouping) 연속하여 연산을 수행하는 것으로 가정하며, 따라서 FIFO 큐(63)도 4 개의 레지스터를 구비하는 것으로 가정한다.
도 4a에 도시된 바와 같이, 리셋 신호(reset)가 인에이블 상태로 되고, 레지스터 셋팅 신호(Reg.set)가 인에이블로 되면, 셧다운/웨이크업 컨트롤러(62) 또는 움직임 추정/보상 블럭(61) 내의 레지스터는 예컨대 GR=4, TIMER=1024로 셋팅된다(Reg.data 참조). 여기서, GR은 그룹핑하여 연산할 매크로 블럭의 수를 나타내는데 2n의 값을 가지는 것이 하드웨어 또는 소프트웨어의 구현상 좋다. TIMER는 하나의 매크로 블럭에 대해 허용되는 연산시간(deadline)으로서 이에 해당하는 클럭 수를 나타낸다. 이와 같이 복수의 매크로 블럭을 그룹핑하여 연속 연산하는 경우, 그룹핑된 매크로 블럭들에 대한 연산 허용시간은 TIMER에 표시된 수에 그룹핑 값을 곱한 시간이 된다(본 실시예에서는 1024×4).
초기화에 의해, 그룹핑 값을 나타내는 그룹핑 레지스터(GR)는 디폴트 값(0)에서 4로 바뀌어 셋팅된다. 이때 움직임 추정/보상 블럭(61)에는 전력이 공급되어 있는 상태 즉, 웨이크업된 상태이고(state 참조), 상태 레지스터(64)는 초기화가 진행됨에 따라, INIT(초기화중), Register Set(레지스터 셋팅중), IDLE(유휴 상태)로 바뀐다. 한편, 도 4a에서 VC는 FIFO 큐(63)의 현재 데이터(움직임 벡터값)가 저장될 위치를 가르키는 포인터로서 초기화가 되면 맨 처음의 레지스터 위치 0을 가리키게 된다.
이렇게 초기화가 되면, 이어서 움직임 추정/보상 블럭(61)의 실제 연산이 수행된다(단계 S20). 전술한 바와 같이, 본 실시예에서는 4 개의 매크로 블럭을 그룹핑하여 연속적으로 연산하게 되므로 하나의 매크로 블럭에 대한 연산 허용시간인 1024 클럭 이전에 하나의 매크로 블럭에 대한 연산이 끝나더라도 쉬지 않고 곧바로 다음 매크로 블럭에 대한 연산을 수행한다. 이렇게 그룹핑된 4 개의 매크로 블럭에 대하여 각각의 연산이 끝나 움직임 벡터가 추출되면 차례로 FIFO 큐(63)에 저장되고(도 2의 d 참조) 포인터 VC의 값도 하나씩 증가한다.
그룹핑된 4 개의 매크로 블럭에 대한 연산이 모두 끝나면 포인터 VC 값이 4가 되고 이에 따라 FIFO 큐(63)가 모두 채워졌다는 FIFO_Full 신호가 인에이블 됨으로써, 그룹핑된 매크로 블럭들에 대한 연산이 모두 끝났음을 알게 된다. 그러면, 다음 4 개의 매크로 블럭에 대한 연산 개시까지의 여유시간(slack time) Ts가 계산된다. 본 실시예에서 Ts는 Ts = 1024×4 - (4 개의 매크로 블럭에 대한 연속 연산에 소요된 시간)으로 계산되고 이 값이 0보다 크면 여유시간이 발생한 것이 된다(단계 S30).
여유시간 Ts가 발생되면, 여유시간 동안 소모되는 정적 전력소모를 절감하기 위해 움직임 추정/보상 블럭(61)을 셧다운하게 되는데, 그 전에, 여유시간 Ts가 움직임 추정/보상 블럭(61)을 셧다운하고 다시 웨이크업 하는 데에 걸리는 시간 Tc보다 큰지 판단하여(단계 S40), Ts가 Tc보다 큰 경우에 셧다운 동작을 수행하게 된다.
셧다운 동작은, 먼저 움직임 추정/보상 블럭(61)에서 셧다운/웨이크업 컨트롤러(62)에 셧다운 요청 신호(Req.shutdown)를 보냄으로써(도 2의 a 참조) 개시된다. 셧다운 요청 신호를 받은 셧다운/웨이크업 컨트롤러(62)는 셧다운 승인 신호(Ack.shutdown)를 움직임 추정/보상 블럭(61)에 보냄(도 2의 b 참조)과 함께, 중앙처리유닛(10)을 통해 또는 직접 전력관리유닛(20)에 움직임 추정/보상 블럭(61)에 대한 전력 공급을 중단하도록 제어하여 셧다운 한다(도 4a의 state에서 Ing 참조).
한편, 움직임 추정/보상 블럭(61)의 셧다운은 일시에 이루어질 수도 있고, 순차적으로 이루어질 수도 있다. 즉, 움직임 추정/보상 블럭(61)의 전체 기능 블럭에 대해 일시에 전력 공급을 중단할 수도 있고, 전체 기능 블럭을 몇 개의 단위로 분할하여 순차적으로 전력 공급을 중단할 수도 있다. 순차적인 셧다운은 써지 전류(surge current)에 의한 노이즈등 회로에의 악영향을 줄이는 효과가 있다.
이렇게 움직임 추정/보상 블럭(61)은 다음 매크로 블럭의 연산을 개시할 때까지 전력 공급이 중단됨으로써 누설전류에 의한 정적 전력소모를 절감할 수 있게 된다. 한편, 움직임 추정/보상 블럭(61)이 셧다운 되어 있는 동안, 셧다운/웨이크업 컨트롤러(62)는 FIFO 큐(63)에 저장되어 있는 움직임 벡터들을 읽어들여(도 2의 e 참조), 중앙처리유닛(10)을 통해 또는 직접 메모리 컨트롤러(30)에 보내어 외부 메모리(미도시)에 저장되도록 한다. 또한, 셧다운/웨이크업 컨트롤러(62)는 움직임 추정/보상 블럭(61)의 현상태를 상태 레지스터(64)에 저장하여(도 2의 c 참조), 필요한 경우 중앙처리유닛(10) 등이 참조할 수 있도록 한다.
이어서, 현재 프레임의 모든 매크로 블럭에 대한 연산이 완료되었는지 판단하여(단계 S70), 남아 있는 매크로 블럭이 있으면 다음 매크로 블럭에 대한 연산을 위해 움직임 추정/보상 블럭(61)을 웨이크업 시켜야 하는데, 이 웨이크업 동작에 대해 설명한다.
움직임 추정/보상 블럭(61)이 셧다운 되어 있는 동안 연산 허용시간(deadline)이 가까워지면 연산 허용시간 종료전 소정 타이밍(도 4b의 Timer에서 Timer=(1024×4)-N, 여기서 N은 웨이크업 동작에 필요한 최소한의 시간)에, 셧다운/웨이크업 컨트롤러(62)는 중앙처리유닛(10)에 웨이크업 요청 신호(Req.wake-up)를 보내고(단계 S80), 중앙처리유닛(10)은 셧다운/웨이크업 컨트롤러(62)에 웨이크업 승인 신호(Ack.wake-up)를 보낸다. 그러면, 셧다운/웨이크업 컨트롤러(62)는 중앙처리유닛(10)을 통해 또는 직접 전력관리유닛(20)을 제어하여 움직임 추정/보상 블럭(61)에 전력 공급을 재개한다(단계 S90). 이때, 전술한 셧다운 동작과 마찬가지로 웨이크업 동작에서도, 움직임 추정/보상 블럭(61)을 일시에 웨이크업 할 수도 있고, 전체 기능 블럭을 몇 개의 단위로 분할하여 순차적으로 웨이크업 할 수도 있다. 한편, 웨이크업 시에는 별도의 초기화 과정이 필요하지 않으나 FIFO 큐(63)에 대한 포인터 VC를 0으로 리셋하여야 한다.
이상과 같이 본 실시예에 의하면 여유시간 동안 움직임 추정/보상 블럭(61)을 셧다운해 둠으로써 정적 전력소모를 크게 절감할 수 있는데, 본 실시예는 본 발명의 기본적인 사상을 벗어나지 않는 범위에서 다양하게 변형할 수 있다.
예컨대, 도 1 및 도 2에서는, 움직임 추정/보상기(60)내에 움직임 추정/보상 블럭(61), 셧다운/웨이크업 컨트롤러(62), FIFO 큐(63) 및 상태 레지스터(64)가 포함되는 것으로 도시되고 설명되었지만, 컨트롤러(62), FIFO 큐(63) 및/또는 상태 레지스터(64)가 움직임 추정/보상 블럭(61)과 독립된 별도의 하드웨어(칩)으로 구현되어 도 1의 움직임 추정/보상기(60)와 연결되는 구성으로 할 수도 있다. 이 경우 도 1의 움직임 추정/보상기는 도 2의 움직임 추정/보상 블럭(61)과 실질적으로 (60)와 동일한 구성이 될 것이다. 또한, 셧다운/웨이크업 컨트롤러(62)는 별도의 하드웨어로 구현되는 것으로 도시되고 설명되었지만 도 1의 중앙처리유닛(10) 내에 통합된 하드웨어로 구현될 수도 있고, 나아가 소프트웨어로 구현될 수도 있다.
또한, 상술한 실시예에서 여유시간 Ts의 계산(단계 S30)과, 여유시간 Ts가 충분한지의 판단(단계 S40)을, 제어의 흐름상 움직임 추정/보상 블럭(61)에서 행하는 것으로 설명되었지만, 이 단계 S30과 S40은 셧다운/웨이크업 컨트롤러(62)에 의해 수행될 수 있다. 즉, 움직임 추정/보상 블럭(61)은 현재 매크로 블럭에 대한 연산이 모두 끝나면 무조건 셧다운 요청 신호를 발신하고, 셧다운/웨이크업 컨트롤러(62)가 위 단계 S30과 S40을 수행하여 '예'라고 판단될 경우 셧다운 승인 신호를 발신하도록 할 수 있다.
또한, 상술한 실시예에서 움직임 추정/보상 블럭(61)은 4 개의 매크로 블럭을 묶어서 연속적으로 연산하는 것으로 도시되고 설명되었지만, 그룹핑의 수는 얼마든지 변경가능하고, 그룹핑을 하지 않을 수도 있다. 즉, 매크로 블럭 하나하나에 대하여 연산을 수행하고 각 매크로 블럭마다 여유시간이 생기면 셧다운/웨이크업 동작을 하는 것으로 구성될 수 있다. 이 경우 움직임 벡터를 일시적으로 저장하는 FIFO 큐(63)는 필요하지 않게 되어 그 만큼 하드웨어를 소형화할 수 있다. 나아가, 그룹핑을 하더라도 별도의 FIFO 큐(63)를 마련하지 않고 움직임 벡터를 그때그때 외부 메모리에 직접 저장할 수도 있다.
요컨대, 여유시간 동안 움직임 추정/보상기를 셧다운 할 수 있는 구성이라면 그 세세한 동작의 순서나 주체는 얼마든지 다르게 구현할 수 있다.
한편, 도 5a 및 도 5b는 종래기술 및 본 발명에 의한 전력소모 절감효율을 시뮬레이션한 결과를 도시한 그래프로서, 도 5a는 영상 코덱의 동작에 따른 온도 상승시의 절전효율을, 도 5b는 움직임 추정/보상기 회로의 임계선폭의 감소에 따른 절전효율을 도시한 것이다. 도면에서 Eact는 종래의 DVFS 기법과 같이 동적 전력소모만을 절감한 경우의 절전효율을 나타내고, Eact+leak는 본 발명과 같이 정적 전력소모까지 절감한 경우의 절전효율을 나타낸다.
도 5a 및 도 5b로부터, 온도가 낮거나 선폭이 비교적 넓을 때는 종래기술과 본 발명의 절전효율이 큰 차이를 보이지 않으나, 온도가 높거나 선폭이 좁아질수록 본 발명에 의한 절전효율이 종래기술에 비해 탁월함을 알 수 있다.
이상 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
이상과 같이 본 발명에 따르면 움직임 추정/보상기(60) 또는 움직임 추정/보상 블럭(61)을 여유시간 동안 셧다운함으로써 정적 전력소모를 크게 절감할 수 있다. 특히, 이 정적 전력소모는 영상 코덱의 동작에 따른 온도 상승시 또는 집적회로 제조공정의 발전에 따라 선폭이 좁아질수록 동적 전력소모에 비해 결코 무시할 수 없는 수준인 점을 감안하면, 본 발명은 차세대 영상 코덱의 절전에 큰 효과를 발휘할 수 있다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술하는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니된다.
도 1은 일반적인 영상 코덱(Video CODEC)의 개략적인 구성을 도시한 블럭도이다.
도 2는 본 발명의 바람직한 실시예에 따른 전력소모 절감방법이 적용된 움직임 추정/보상기(ME/MC)의 개략적인 구조를 도시한 블럭도이다.
도 3은 본 발명의 바람직한 실시예에 따른 전력소모 절감방법을 설명하기 위한 흐름도이다.
도 4a는 도 2의 움직임 추정/보상기의 셧다운 프로세스(shutdown process)를 설명하기 위한 타이밍도이다.
도 4b는 도 2의 움직임 추정/보상기의 웨이크업 프로세스(wake-up process)를 설명하기 위한 타이밍도이다.
도 5a는 본 발명과 종래기술에 의한 전력소모 절감 효율을 온도 변화에 따라 나타낸 그래프이다.
도 5b는 본 발명과 종래기술에 의한 전력소모 절감 효율을 하드웨어의 선폭 감소에 따라 나타낸 그래프이다.

Claims (9)

  1. 움직임 추정/보상기를 포함하는 영상 코덱에 있어서,
    상기 움직임 추정/보상기로부터 매크로 블럭에 대해 연산 허용시간 이내에 연산이 끝나 여유시간이 발생하고, 이 여유시간이 상기 움직임 추정/보상기로의 전력을 차단하고 다음 매크로 블럭에 대한 연산을 위해 다시 전력을 공급하기에 필요한 시간보다 긴 경우, 상기 움직임 추정/보상기로의 전력을 차단하고, 상기 연산 허용시간이 끝나기 전에 다음 매크로 블럭에 대한 연산을 위해 상기 움직임 추정/보상기로의 전력을 다시 공급하는 셧다운/웨이크업 컨트롤러(shutdown/wake-up controller)를 구비하고,
    상기 움직임 추정/보상기는 소정 수로 분할된 기능 블럭들을 포함하며,
    상기 셧다운/웨이크업 컨트롤러는, 상기 움직임 추정/보상기의 소정 수로 분할된 기능 블럭들에 대하여 순차적으로 전력을 차단하고 공급하는 것을 특징으로 하는 영상 코덱.
  2. 삭제
  3. 제1항에 있어서,
    상기 움직임 추정/보상기는 복수의 매크로 블럭들에 대해 연속적으로 연산을 수행하고,
    상기 복수의 매크로 블럭들로부터 각각 추출된 움직임 벡터를 일시 저장하는 저장수단을 더 구비하는 것을 특징으로 하는 영상 코덱.
  4. 제3항에 있어서, 상기 움직임 추정/보상기의 현재 상태를 저장하는 상태 레지스터를 더 구비하는 것을 특징으로 하는 영상 코덱.
  5. 제1항에 있어서, 상기 움직임 추정/보상기의 현재 상태를 저장하는 상태 레지스터를 더 구비하는 것을 특징으로 하는 영상 코덱.
  6. 움직임 추정/보상기를 포함하는 영상 코덱의 전력소모 절감방법에 있어서,
    상기 움직임 추정/보상기를 초기화하는 단계;
    매크로 블럭에 대하여 움직임 추정/보상 연산을 수행하는 단계;
    상기 연산이 소정 연산 허용시간 이내에 끝나 여유시간이 발생하고, 이 여유시간이 상기 움직임 추정/보상기로의 전력을 차단하고 다음 매크로 블럭에 대한 연산을 위해 다시 전력을 공급하기에 필요한 시간보다 긴 경우, 상기 움직임 추정/보상기로의 전력을 차단하는 단계;
    상기 연산 허용시간이 끝나기 전에 다음 매크로 블럭에 대한 연산을 위해 상기 움직임 추정/보상기로의 전력을 다시 공급하는 단계;를 포함하고,
    상기 전력을 차단하는 단계 및 전력을 다시 공급하는 단계는, 상기 움직임 추정/보상기를 소정 수의 기능 블럭들로 분할하여 이 기능 블럭들에 대하여 순차적으로 전력을 차단하고 공급하는 것을 특징으로 하는 영상 코덱의 전력소모 절감방법.
  7. 삭제
  8. 제6항에 있어서,
    상기 연산을 수행하는 단계에서는, 복수의 매크로 블럭들에 대해 연속적으로 연산을 수행하고,
    상기 복수의 매크로 블럭들로부터 각각 추출된 움직임 벡터를 일시 저장하는 단계를 더 포함하는 것을 특징으로 하는 영상 코덱의 전력소모 절감방법.
  9. 삭제
KR1020040063546A 2004-08-12 2004-08-12 영상 코덱의 전력소모 절감방법 및 이 방법을 적용한 영상코덱 KR100516191B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040063546A KR100516191B1 (ko) 2004-08-12 2004-08-12 영상 코덱의 전력소모 절감방법 및 이 방법을 적용한 영상코덱

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040063546A KR100516191B1 (ko) 2004-08-12 2004-08-12 영상 코덱의 전력소모 절감방법 및 이 방법을 적용한 영상코덱

Publications (1)

Publication Number Publication Date
KR100516191B1 true KR100516191B1 (ko) 2005-09-22

Family

ID=37304954

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040063546A KR100516191B1 (ko) 2004-08-12 2004-08-12 영상 코덱의 전력소모 절감방법 및 이 방법을 적용한 영상코덱

Country Status (1)

Country Link
KR (1) KR100516191B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101345380B1 (ko) 2006-10-02 2013-12-24 재단법인서울대학교산학협력재단 3차원 그래픽스 데이터를 처리하는 장치에 공급하는전원의 전압을 제어하는 방법 및 이를 이용하는 3차원그래픽스 데이터 처리 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101345380B1 (ko) 2006-10-02 2013-12-24 재단법인서울대학교산학협력재단 3차원 그래픽스 데이터를 처리하는 장치에 공급하는전원의 전압을 제어하는 방법 및 이를 이용하는 3차원그래픽스 데이터 처리 장치

Similar Documents

Publication Publication Date Title
US10963037B2 (en) Conserving power by reducing voltage supplied to an instruction-processing portion of a processor
US8120410B2 (en) Adaptive control of power supply for integrated circuits
US8751843B2 (en) Computer energy conservation with a scalable PSU configuration
US7222244B2 (en) Semiconductor device including a prediction circuit to control a power status control circuit which controls the power status of a function circuit
US7804435B2 (en) Video decoder with reduced power consumption and method thereof
US8127156B2 (en) Systems and methods for control of integrated circuits comprising body biasing systems
EP2513748B1 (en) Power efficient memory
US7587622B2 (en) Power management of components having clock processing circuits
US9990024B2 (en) Circuits and methods providing voltage adjustment as processor cores become active based on an observed number of ring oscillator clock ticks
JP4521508B2 (ja) デジタルvlsi回路およびそれを組み込んだ画像処理システム
US11340689B2 (en) Thermal mitigation in devices with multiple processing units
US20140089690A1 (en) Controlling power supply in arithmetic processing circuit
US20190050020A1 (en) Clock Signal Staggering with Clock Frequency Adjustment
WO2016137699A1 (en) Circuits and methods providing state information preservation during power saving operations
KR100516191B1 (ko) 영상 코덱의 전력소모 절감방법 및 이 방법을 적용한 영상코덱
KR101000555B1 (ko) 동적 전력관리 프로세서의 소음저감장치 및 방법
JP2004029983A (ja) 半導体装置または上記半導体装置の消費電力を削減するプログラム
Tseng et al. DVFS aware techniques on parallel architecture core (PAC) platform
JP2019003499A (ja) 画像処理装置、その制御方法、及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
A302 Request for accelerated 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: 20120813

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130814

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140818

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150914

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160826

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170824

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee