KR20110044315A - 비디오 프로세싱에서의 전력 및 연산 부하 관리 기술 - Google Patents
비디오 프로세싱에서의 전력 및 연산 부하 관리 기술 Download PDFInfo
- Publication number
- KR20110044315A KR20110044315A KR1020117006386A KR20117006386A KR20110044315A KR 20110044315 A KR20110044315 A KR 20110044315A KR 1020117006386 A KR1020117006386 A KR 1020117006386A KR 20117006386 A KR20117006386 A KR 20117006386A KR 20110044315 A KR20110044315 A KR 20110044315A
- Authority
- KR
- South Korea
- Prior art keywords
- power
- sequences
- power management
- decoding
- prioritized
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 107
- 238000012545 processing Methods 0.000 title claims abstract description 87
- 238000007726 management method Methods 0.000 claims description 91
- 230000008569 process Effects 0.000 claims description 62
- 230000000007 visual effect Effects 0.000 claims description 23
- 238000012913 prioritisation Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 10
- 239000000284 extract Substances 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 23
- 238000000605 extraction Methods 0.000 description 15
- 230000009467 reduction Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000009877 rendering Methods 0.000 description 14
- 230000006854 communication Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 12
- 238000009499 grossing Methods 0.000 description 10
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 235000019800 disodium phosphate Nutrition 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101000574648 Homo sapiens Retinoid-inducible serine carboxypeptidase Proteins 0.000 description 2
- 102100025483 Retinoid-inducible serine carboxypeptidase Human genes 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000012447 hatching Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000002864 sequence alignment Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4348—Demultiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/127—Prioritisation of hardware or computational resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4382—Demodulation or channel decoding, e.g. QPSK demodulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4424—Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4432—Powering on the client, e.g. bootstrap loading using setup parameters being stored locally or received from the server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4436—Power management, e.g. shutting down unused components of the receiver
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Transforming Electric Information Into Light Information (AREA)
Abstract
비디오 프로세싱 및 디코딩에서의 전력 및 연산 부하 관리를 위한 기술이 제공된다. 일 구성에서, 비디오를 갖는 데이터 스트림으로부터 정보를 추출 및 컴파일하도록 동작하는 명령들의 세트를 갖는 프로세서를 포함하는 장치가 제공된다. 프로세서는, 이 정보에 기초하여 전력 관리 (PM) 시퀀스로 지칭되는 데이터 스트림을 프로세싱하기 위한 파싱 또는 디코딩 동작의 세트를 우선순위화하고, 그 우선순위화된 PM 시퀀스 각각에 대한 전력 및 연산 로딩 중 적어도 하나의 프로젝션을 계산하도록 동작한다.
Description
본 출원은, (일시적으로 대리인 열람번호 제 IDF 071979U1 으로 참조되는) 발명의 명칭이 POWER AND COMPUTATIONAL LOAD MANAGEMENT TECHNIQUES IN VIDEO PROCESSING 이고 본 출원과 동일자로 출원된 미국 특허 출원과 관련되고; 2008 년 8 월 19 일자로 출원된 미국 가특허출원 제 61/090,176 호 및 2008 년 11 월 14 일자로 출원된 61/114,988 호에 대해 우선권을 주장하고, 이 출원들은 본 양수인에게 양도되고, 각각 그 전체가 참조로 본 명세서에 명백하게 포함되었다.
본 출원은 일반적으로 비디오 프로세싱 분야에 관한 것이고, 더 상세하게는, 비디오 프로세싱 및 디코딩에서 전력 및 연산 (computational) 부하 관리를 위한 기술에 관한 것이다.
비디오 데이터에 포함된 디지털 정보의 양은 방대하고, 비디오 카메라의 성능에서의 진보와 함께 증가하는 경향이 있다. 비디오 데이터의 프로세싱은 비디오-인에이블 디바이스, 더 상세하게는, 셀룰러 폰, 개인 휴대 정보 단말기 (PDA), 랩탑 컴퓨터 등과 같은 무선 통신 디바이스들의 전력 및 연산 리소스를 대량으로 요구한다.
비디오 압축이 공간 및 시간 리던던시를 주로 감소시키지만, 소스 비디오가 캡쳐된 이후 (또는 경우에 따라 스토리지로부터 추출된 이후), 및 재구성된 비디오가 디스플레이에 렌더링되기 (표시되기) 이전에 요구되는 다수의 전처리 및 후처리 동작들이 존재한다. 비디오 프로세싱은, 전력 요건 (배터리, 대화 시간 등) 에 직접 비례하는 요구된 산술 동작에 주로 기인하여 메모리 (저장 및 데이터 전송) 및 연산 부하를 대량으로 요구한다.
비디오에서 리던던시의 양이 주어지면, 이러한 동작의 양에서의 비례하는 감소가 예측되어야 한다. 압축 비율이 매우 큰 차수의 크기이기 때문에 (100:1 내지 1000:1), 구현 오버헤드에도 불구하고 프로세싱될 비디오 데이터의 양에서의 현저한 감소가 달성될 수 있다. 공간-시간 리던던시는 압축 메타데이터를 이용하여 식별될 수 있고, 리던던시 동작의 감소에 대응하고, 이는 전력을 절약한다. 상이한 레벨의 리던던시는 상이한 레벨의 소모되는 전력 및 연산 로딩으로 해석된다.
따라서, 비디오 프로세싱 및 디코딩에서 전력 및 연산 부하 관리를 위한 기술이 요구된다.
비디오 프로세싱 및 디코딩에서 전력 및 연산 부하 관리를 위한 기술이 개시된다. 일 구현예에서, 비디오를 갖는 비트스트림으로부터 정보를 추출 및 컴파일하도록 동작하는 명령들의 세트를 갖는 프로세서를 포함하는 장치가 제공된다. 이 프로세서는, 그 정보에 기초하여 디코딩가능한 유닛들을 선택적으로 디코딩하기 위해 비트스트림으로부터 디코딩가능한 유닛들의 전력 관리 (PM) 시퀀스를 우선순위화하고, 디코딩가능한 유닛들의 우선순위화된 PM 시퀀스 각각에 대한 전력 및 연산 로딩 중 적어도 하나의 프로젝션 (projection) 을 계산하도록 동작한다. 이 장치는 또한 프로세서에 커플링된 메모리를 포함한다.
다른 양태에서, 비디오를 갖는 비트스트림으로부터 정보를 추출 및 컴파일하도록 동작하는 명령들의 세트를 갖는 프로세서를 포함하는 집적 회로 (IC) 가 제공된다. 이 프로세서는, 그 정보에 기초한 디코딩 동작을 위해 비트스트림으로부터 디코딩가능한 유닛들의 PM 시퀀스를 우선순위화하고, 디코딩가능한 유닛들의 우선순위화된 PM 시퀀스 각각에 대한 전력 및 연산 로딩 중 적어도 하나의 프로젝션을 계산하도록 동작한다. 이 집적 회로는 또한 프로세서에 커플링된 메모리를 포함한다.
다른 구성에서, 컴퓨터로 하여금, 비디오를 갖는 비트스트림으로부터 정보를 추출 및 컴파일하게 하는 명령들을 갖는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품이 제공된다. 이 명령들은 컴퓨터로 하여금, 그 정보에 기초하여 디코딩가능한 유닛들을 선택적으로 디코딩하기 위해 비트스트림으로부터 디코딩가능한 유닛들의 PM 시퀀스를 우선순위화하게 하고, 디코딩가능한 유닛들의 우선순위화된 PM 시퀀스 각각에 대한 전력 및 연산 로딩 중 적어도 하나의 프로젝션을 계산하게 한다.
이 구성의 다른 양태는, 가용 전력 및/또는 현재의 연산 로딩에 대해 선택된 저전력 모드에 기초하여, 디코딩가능한 유닛들의 우선순위화된 PM 시퀀스 중 하나 이상을 선택적으로 디코딩하는 디코더 엔진을 포함한다.
이 개요는 본 출원의 전체 범위 및 사상을 나타내는 것이 아니고, 본 출원의 전체 범위 및 사상으로 해석되어서는 안되며, 이 양태들 및 추가적 양태들은, 특히 첨부된 도면과 함께 참조되는 상세한 설명으로부터 보다 명백해질 것이다.
도 1 은 무선 디바이스의 일반적인 블록도를 도시한다.
도 2a 는 데이터 스트림을 도시한다.
도 2b 는 비디오 계층 데이터를 도시한다.
도 2c 는 일반적인 MPEG 포맷을 도시한다.
도 2d 는 디코딩가능한 유닛들을 갖는 일반적인 MPEG 비트스트림을 도시한다.
도 3a 는 전력 관리 모듈, 및 비디오 인코더 및 디코더 엔진의 블록도를 도시한다.
도 3b 는 전력 관리 모듈에 이용하기 위한 디코더 엔진의 블록도를 도시한다.
도 4 는 디코딩가능한 유닛들의 우선순위화된 전력 관리 (PM) 시퀀스를 디코딩하기 위한 전력 및 연산 부하를 프로젝팅하는 프로세스의 흐름도를 도시한다.
도 5 는 전송 계층 (TL) 파서 및 프로세싱 유닛을 도시한다.
도 6 은 TL 정보 추출기 및 컴파일러를 도시한다.
도 7 은 수신된 시간 슬라이스를 도시한다.
도 8 은 디코딩가능한 유닛 발생기의 TL 우선순위화된 PM 시퀀스를 도시한다.
도 9 는 TL 디코딩 MIPS 및 전력 프로젝터를 도시한다.
도 10 은 전력 및 연산 부하 관리에 의한 디코딩 프로세스를 도시한다.
도 11 은 TL 모드 동안 다중층 저전력 모드 세트 발생기를 도시한다.
도 12 는 비디오 시퀀스/영상 계층 (VS/PL) 파서 및 프로세싱 유닛을 도시한다.
도 13 은 VS/PL 추출기 및 컴파일러를 도시한다.
도 14 는 수신된 시간 슬라이스에서의 VS/PL 정보를 도시한다.
도 15 는 발생기를 디코딩하기 위한 VS/PL 우선순위화된 시퀀스를 도시한다.
도 16 은 VS/PL 디코딩 MIPS 및 전력 프로젝터에 의해 MIPS 를 추정하기 위한 프로세스의 흐름도를 도시한다.
도 17 은 VS/PL 디코딩 MIPS 및 전력 프로젝터를 도시한다.
도 18 은 VS/PL 모드 동안 다중층 저전력 모드 세트 발생기를 도시한다.
도 19 는 슬라이스/매크로블록 계층 (S/MBL) 파서 및 프로세싱 유닛을 도시한다.
도 20 은 S/MBL 추출기 및 컴파일러를 도시한다.
도 21 은 발생기를 디코딩하기 위한 S/MBL 우선순위화된 시퀀스를 도시한다.
도 22 는 S/MBL 모드 동안 다중층 저전력 모드 세트 발생기를 도시한다.
도 23 은 전력 관리 동작의 하이 레벨 블록도를 도시한다.
도 24 는 시퀀스 순서로 프로세스를 디코딩하는 예시적인 표준 (정규) 을 도시한다.
도 25 는 전력 관리 동작에 의한 TL 디코딩 프로세스의 흐름도를 도시한다.
도 26 은 전력 관리 동작에 의한 VS/PL 디코딩 프로세스의 흐름도를 도시한다.
도 27 은 VS/PL 정보 추출 프로토콜의 블록도를 도시한다.
도 28 은 VS/PL 정보 추출 프로토콜에 따른 비트스트림으로부터의 VS/PL 디코딩된 유닛의 블록도를 도시한다.
도 29 는 전력 관리 동작에 의한 S/MBL 디코딩 프로세스의 흐름도를 도시한다.
도 30 은 S/MBL 정보 추출 프로토콜의 블록도를 도시한다.
도 31 은 S/MBL 정보 추출 프로토콜에 따른 비트스트림으로부터의 S/MBL 디코딩된 유닛들의 블록도를 도시한다.
도 32 는 선택된 전력 관리 모드에 따른 최종 슬라이스 및 매크로블록 디코딩의 블록도를 도시한다.
도 33 은 다중층 전력 관리 모드의 계층적 배열의 블록도를 도시한다.
이해를 용이하게 하기 위해, 가능한 곳에서는 동일한 참조 부호가 사용되어, 도면들에 공통된 동일한 엘리먼트를 지정하며, 적절한 경우 첨자가 추가되어 이러한 엘리먼트들을 구별할 수도 있다. 도면의 이미지는 설명을 위해 단순화되고 축척에 맞게 도시되지 않았다. 구성의 특성들은 추가적 인용없이 다른 구성에 유리하게 통합될 수도 있음을 고려한다.
첨부된 도면들은 본 출원의 예시적인 구성을 도시하며, 이와 같이, 본 출원의 범주를 제한하는 것으로 고려되지 않아서, 다른 동등하게 효과적인 구성을 허용할 수도 있다.
도 2a 는 데이터 스트림을 도시한다.
도 2b 는 비디오 계층 데이터를 도시한다.
도 2c 는 일반적인 MPEG 포맷을 도시한다.
도 2d 는 디코딩가능한 유닛들을 갖는 일반적인 MPEG 비트스트림을 도시한다.
도 3a 는 전력 관리 모듈, 및 비디오 인코더 및 디코더 엔진의 블록도를 도시한다.
도 3b 는 전력 관리 모듈에 이용하기 위한 디코더 엔진의 블록도를 도시한다.
도 4 는 디코딩가능한 유닛들의 우선순위화된 전력 관리 (PM) 시퀀스를 디코딩하기 위한 전력 및 연산 부하를 프로젝팅하는 프로세스의 흐름도를 도시한다.
도 5 는 전송 계층 (TL) 파서 및 프로세싱 유닛을 도시한다.
도 6 은 TL 정보 추출기 및 컴파일러를 도시한다.
도 7 은 수신된 시간 슬라이스를 도시한다.
도 8 은 디코딩가능한 유닛 발생기의 TL 우선순위화된 PM 시퀀스를 도시한다.
도 9 는 TL 디코딩 MIPS 및 전력 프로젝터를 도시한다.
도 10 은 전력 및 연산 부하 관리에 의한 디코딩 프로세스를 도시한다.
도 11 은 TL 모드 동안 다중층 저전력 모드 세트 발생기를 도시한다.
도 12 는 비디오 시퀀스/영상 계층 (VS/PL) 파서 및 프로세싱 유닛을 도시한다.
도 13 은 VS/PL 추출기 및 컴파일러를 도시한다.
도 14 는 수신된 시간 슬라이스에서의 VS/PL 정보를 도시한다.
도 15 는 발생기를 디코딩하기 위한 VS/PL 우선순위화된 시퀀스를 도시한다.
도 16 은 VS/PL 디코딩 MIPS 및 전력 프로젝터에 의해 MIPS 를 추정하기 위한 프로세스의 흐름도를 도시한다.
도 17 은 VS/PL 디코딩 MIPS 및 전력 프로젝터를 도시한다.
도 18 은 VS/PL 모드 동안 다중층 저전력 모드 세트 발생기를 도시한다.
도 19 는 슬라이스/매크로블록 계층 (S/MBL) 파서 및 프로세싱 유닛을 도시한다.
도 20 은 S/MBL 추출기 및 컴파일러를 도시한다.
도 21 은 발생기를 디코딩하기 위한 S/MBL 우선순위화된 시퀀스를 도시한다.
도 22 는 S/MBL 모드 동안 다중층 저전력 모드 세트 발생기를 도시한다.
도 23 은 전력 관리 동작의 하이 레벨 블록도를 도시한다.
도 24 는 시퀀스 순서로 프로세스를 디코딩하는 예시적인 표준 (정규) 을 도시한다.
도 25 는 전력 관리 동작에 의한 TL 디코딩 프로세스의 흐름도를 도시한다.
도 26 은 전력 관리 동작에 의한 VS/PL 디코딩 프로세스의 흐름도를 도시한다.
도 27 은 VS/PL 정보 추출 프로토콜의 블록도를 도시한다.
도 28 은 VS/PL 정보 추출 프로토콜에 따른 비트스트림으로부터의 VS/PL 디코딩된 유닛의 블록도를 도시한다.
도 29 는 전력 관리 동작에 의한 S/MBL 디코딩 프로세스의 흐름도를 도시한다.
도 30 은 S/MBL 정보 추출 프로토콜의 블록도를 도시한다.
도 31 은 S/MBL 정보 추출 프로토콜에 따른 비트스트림으로부터의 S/MBL 디코딩된 유닛들의 블록도를 도시한다.
도 32 는 선택된 전력 관리 모드에 따른 최종 슬라이스 및 매크로블록 디코딩의 블록도를 도시한다.
도 33 은 다중층 전력 관리 모드의 계층적 배열의 블록도를 도시한다.
이해를 용이하게 하기 위해, 가능한 곳에서는 동일한 참조 부호가 사용되어, 도면들에 공통된 동일한 엘리먼트를 지정하며, 적절한 경우 첨자가 추가되어 이러한 엘리먼트들을 구별할 수도 있다. 도면의 이미지는 설명을 위해 단순화되고 축척에 맞게 도시되지 않았다. 구성의 특성들은 추가적 인용없이 다른 구성에 유리하게 통합될 수도 있음을 고려한다.
첨부된 도면들은 본 출원의 예시적인 구성을 도시하며, 이와 같이, 본 출원의 범주를 제한하는 것으로 고려되지 않아서, 다른 동등하게 효과적인 구성을 허용할 수도 있다.
용어 "예시적인" 은 본 명세서에서 "예, 예시 또는 예증으로 기능하는" 을 의미하도록 사용된다. 본 명세서에서 "예시적인" 것으로 사용되는 임의의 구성 또는 설계는 다른 구성 또는 설계에 비해 바람직하거나 유리한 것으로 해석될 필요는 없으며, 용어 "코어", "엔진", "머신", 프로세서" 및 "프로세싱 유닛" 은 상호교환적으로 사용된다.
본 명세서에 설명된 기술들은 무선 통신, 연산, 개인용 일렉트로닉스, 핸드셋 등에 이용될 수도 있다. 이하, 무선 통신을 위한 기술의 예시적인 이용을 설명한다.
도 1 은 무선 통신 시스템에서 무선 디바이스 (10) 의 구성의 블록도를 도시한다. 무선 디바이스 (10) 는 핸드셋일 수도 있다. 무선 디바이스 (10) 또는 핸드셋은 셀룰러 또는 카메라 폰, 단말기, 무선-장착 개인 휴대 정보 단말기 (PDA), 무선 통신 디바이스, 비디오 게임 콘솔, 랩탑 컴퓨터, 비디오-인에이블드 디바이스 또는 몇몇 다른 무선-장착 디바이스일 수도 있다. 무선 통신 시스템은 코드 분할 다중 접속 (CDMA) 시스템, GSM 시스템, 또는 몇몇 다른 시스템일 수도 있다.
무선 디바이스 (10) 는 수신 경로 및 송신 경로를 통해 양방향 통신을 제공할 수 있다. 수신 경로 상에서, 기지국에 의해 송신된 신호들은 안테나 (12) 에 의해 수신되고, 수신기 (RCVR; 14) 에 제공된다. 수신기 (14) 는 수신된 신호를 컨디셔닝 및 디지털화하고, 추가적 프로세싱을 위해 디지털 섹션 (20) 에 샘플들을 제공한다. 송신 경로 상에서, 송신기 (TMTR; 16) 는 디지털 섹션 (20) 으로부터 송신될 데이터를 수신하고, 그 데이터를 프로세싱 및 컨디셔닝하고, 안테나 (12) 를 통해 기지국으로 송신되는 변조된 신호를 발생시킨다.
디지털 섹션 (20) 은, 예를 들어, 모뎀 프로세서 (22), 비디오 프로세서 (24), 제어기/프로세서 (26), 디스플레이 프로세서 (28), ARM/DSP (32), 그래픽 프로세싱 유닛 (GPU; 34), 내부 메모리 (36) 및 외부 버스 인터페이스 (EBI; 38) 와 같은 다양한 프로세싱 인터페이스 및 메모리 유닛들을 포함한다. 모뎀 프로세서 (22) 는 데이터 송신 및 수신을 위한 프로세싱 (예를 들어, 변조 및 복조) 을 수행한다. 비디오 프로세서 (24) 는 캠코더, 비디오 재생 및 비디오 화상회의와 같은 비디오 애플리케이션을 위한 비디오 컨텐츠 (예를 들어, 정지 이미지, 동영상 비디오, 무빙 텍스트) 에 대한 프로세싱을 수행한다. 비디오 프로세서 (24) 는 비디오 인코딩 및 디코딩 또는 코덱 동작을 수행한다. 비디오 인코딩 및 디코딩 동작은 다른 프로세서에 의해 수행될 수도 있고, 또는 디지털 섹션 (20) 에서 다양한 프로세서에 걸쳐 공유될 수도 있다. 제어기/프로세서 (26) 는 디지털 섹션 (20) 내의 다양한 프로세싱 및 인터페이스 유닛들의 동작을 명령할 수도 있다. 디스플레이 프로세서 (28) 는 디스플레이 유닛 (30) 상의 비디오, 그래픽 및 텍스트의 디스플레이를 용이하게 하기 위한 프로세싱을 수행한다. ARM/DSP (32) 는 무선 디바이스 (10) 에 대한 다양한 타입의 프로세싱을 수행할 수도 있다. 그래픽 프로세싱 유닛 (34) 은 그래픽 프로세싱을 수행한다.
GPU (34) 는, 예를 들어, 공개적으로 입수가능한, 2005 년 7 월 28 일, "OpenGL Specification, Version 1.0" 문헌에 부합할 수도 있다. 이 문헌은, 셀룰러 폰 및 전술한 무선 통신 장치 등과 같은 핸드헬드 및 이동 디바이스에 적합한 2D 벡터 그래픽을 위한 표준이다. 추가적으로, GPU (34) 는 또한 OpenGL2.0, OpenGL ES2.0 또는 D3D9.0 그래픽 표준에 부합할 수도 있다.
본 명세서에 개시된 기술들은, 예를 들어, 비디오 프로세서 (24) 와 같은 디지털 섹션 (20) 내의 임의의 프로세서에 이용될 수도 있다. 내부 메모리 (36) 는 디지털 섹션 (20) 내의 다양한 유닛들에 대한 데이터 및/또는 명령들을 저장한다. EBI (38) 는 버스 또는 데이터 라인 DL 을 따라 디지털 섹션 (20) (예를 들어, 내부 메모리 (36)) 과 메인 메모리 (40) 사이의 데이터 전송을 용이하게 한다.
디지털 섹션 (20) 은 하나 이상의 DSP, 마이크로프로세서, RISC 등으로 구현될 수도 있다. 디지털 섹션 (20) 은 또한 하나 이상의 주문형 집적 회로 (ASIC) 또는 몇몇 다른 타입의 집적 회로 (IC) 상에 제조될 수도 있다.
본 명세서에서 설명하는 기술들은 다양한 하드웨어 유닛으로 구현될 수도 있다. 예를 들어, 이 기술들은 ASIC, DSP, RISC, ARM, 디지털 신호 프로세싱 디바이스 (DSPD), 프로그램머블 로직 디바이스 (PLD), 필드 프로그래머블 게이트 어레이 (FPGA), 프로세서, 제어기, 마이크로제어기, 마이크로프로세서 및 다른 일렉트로닉 유닛으로 구현될 수도 있다.
미처리 비디오 데이터는, 무선 디바이스 (10) 또는 다른 비디오-인에이블드 디바이스로 송신되거나 그에 의해 프로세싱되어야 하는 정보의 양을 감소시키기 위해 압축될 수도 있다. 압축은, 예를 들어, ISO/IEC 의 동영상 전문가 그룹 MPEG-2 및 MPEG-4, ITU-T 의 H.264/AVC 등 (AVC 는 어드밴스드 비디오 코딩을 지칭함) 에 의한 표준을 포함하는 산업-적응 비디오 압축 및 통신 표준 중 하나 이상에 부합하는 비디오 코딩 기술을 이용하여 수행될 수도 있다. 아도비 플래시 플레이어에 이용되는 VP6 과 같은 비표준 압축 방법에 부합하는 비디오 코딩 기술이 또한 이용되어 압축된 비디오 데이터를 발생시킬 수도 있다. 이 구성들에서, 미처리 및 압축된 비디오 데이터는 무선 또는 유선 인터페이스 또는 이들의 조합을 이용하여, 무선 디바이스 (10) 또는 다른 비디오-인에이블드 디바이스로, 로부터 또는 그 안에서 송신될 수도 있다. 대안적으로, 압축된 데이터는 DVD 와 같은 미디어 내에 저장될 수도 있다.
압축된 비디오 데이터는, 예를 들어, 실시간 전송 프로토콜 사양의 IETF 에 의해 정의되는 인터넷 프로토콜 (IP) 을 이용하는 전송 프로토콜을 이용한 송신을 위해 페이로드 포맷으로 캡슐화된다.
도 2a 는 무선 디바이스 (10) 또는 다른 비디오-인에이블드 디바이스에 의해 송신 또는 프로세싱되어야 하는 데이터 스트림 및 대응 프로토콜의 블록도를 도시한다. 데이터 스트림 (2141) 은, 예를 들어, 전송 프로토콜 사양 (2145) 에 의해 특정된 캡슐화와 같은 전송 계층 데이터 (2142), 및 비디오 계층 데이터 (2143) 로 구성된다. 전송 계층 데이터는 대응하는 전송 프로토콜에 특정된 데이터 표현의 포맷 또는 신택스 또는 시멘틱스를 따르고, 비디오 계층 데이터는, 압축 표준과 같은 비디오 코딩 프로토콜 (2144) 에 특정된 비디오 데이터의 표현에 대한 포맷 또는 신택스 또는 시멘틱스를 따른다.
전송 프로토콜 (2145) 은 예를 들어, RTP 또는 UDP 또는 IP 와 같은 전송 포맷 또는 MP4 와 같은 파일 포맷과 같이, 송신 또는 저장을 위해 비디오 계층 데이터를 캡슐화한다. 비디오 코딩 프로토콜 (2144) 은 MPEG-2 또는 MPEG-4 또는 H.264/AVC 또는 Real Video 또는 Windows Media 등과 같은 임의의 다른 비디오 코덱과 같은 비디오 코딩 표준일 수 있다. 전송 계층 데이터의 신택스 및 시멘틱스는 전송 프로토콜에 의해 지배 또는 특정되고, 비디오 계층 데이터의 신택스 및 시멘틱스는 비디오 코딩 프로토콜에 의해 지배 또는 특정된다.
도 2b 는 비디오 계층 데이터 (2143) 의 포맷을 도시한다. 비디오 계층 데이터는 시퀀스 또는 영상 그룹 (GOP) 또는 영상 계층 데이터 (2243), 슬라이스 또는 매크로블록 (MB) 계층 데이터 (2254), 및 블록 계층 데이터 (2247) 를 포함한다.
수신기에서 데이터 스트림이 수신되는 경우, 종래의 시스템에서는, 비디오 프로세서가 대응 전송 프로토콜 사양 및 비디오 코딩 프로토콜 또는 표준 사양에 의해 특정된 순서로 데이터 스트림을 파싱 및 디코딩한다. 전송 파서는, 여기서는 정규의 파싱 동작으로 지칭되는, 전송 프로토콜 사양에 대응하는 순서로 캡슐화를 해제한다. 비디오 디코더는 여기서는 정규의 디코딩 동작으로 지칭되는, 비디오 코딩 프로토콜 또는 표준 사양에 의해 특정된 순서로 비디오 계층 데이터를 파싱 및 디코딩한다.
이하 설명되는 시스템 및 방법에서는, 비디오 프로세서가 데이터 스트림의 일부를 선택적으로 파싱 및/또는 디코딩 또는 프로세싱하고, 파싱 및/또는 디코딩 및 프로세싱 동작의 순서는 가용 전력 또는 연산 프로세싱 전력에 기초한다.
도 2c 는 일반적인 MPEG 패킷 포맷 (50) 을 도시한다. MPEG 패킷 포맷은 데이터 스트림 (2141) 의 일예이다. MPEG 패킷 포맷 (50) 은 복수의 MPEG 계층 (52, 54, 56, 58, 60, 62 및 64) 을 포함한다. MPEG 계층은 전송 계층 (52), 시퀀스 계층 (54), 영상 그룹 (GOP) 계층 (56), 영상 계층 (58), 슬라이스 계층 (60), 매크로블록 (MB) 계층 (62) 및 블록 계층 (64) 을 포함한다. 도 2a 에서, 계층들은 디코딩 및 프로세싱을 요구하는 계층들의 계층적 순서를 나타내도록 적층되어 도시되어 있다. 여기서는 설명을 위해, 시퀀스 및 영상 계층 (54 및 58) 이 함께 그룹화되어 있고, 여기서 설명하는 전력 부하 관리를 위해 비디오 시퀀스/영상 계층 (VS/PL; 70) 으로 지칭된다. 몇몇 표준에서는, 오직 시퀀스 계층만 존재할 수도 있고, 또는 영상 계층 또는 계층들의 결합이 존재할 수도 있다. 또한, 슬라이스 및 매크로블록 (MB) 계층 (60 및 62) 이 함께 그룹화되어, 여기서 설명하는 전력 부하 관리를 위한 슬라이스/MB 계층 (S/MBL; 72) 을 형성한다. 몇몇 표준에서는, 이 계층들 중 하나 이상이 생략되거나 결합될 수도 있다.
MPEG 압축에서, 비디오 프레임들은, 인트라-코딩된 (I) 프레임, 예측-코딩된 (P) 프레임, 및 양방향 예측-코딩된 (B) 프레임 중 하나 이상을 포함할 수도 있는 영상 그룹 (GOP) 으로 코딩 및 포맷팅될 수도 있다. 몇몇 B 프레임들은 기준 프레임일 수도 있다. 비-기준 B 프레임들은 b 프레임으로 지정될 수도 있다. 인식할 수 있는 바와 같이, 이 표준에서 모든 프레임들 및 프레임의 배열을 규정하는 것은 금지된다.
도 2d 는 디코딩가능한 유닛들을 갖는 일반적인 MPEG 비트스트림을 도시한다. 비트스트림은, 시퀀스 계층 (54) 에서, 시퀀스 데이터 (54B) 가 후속하는 시퀀스 헤더 (54A) 를 포함한다. 시퀀스 계층 (54) 은 디코딩가능한 유닛이다. 시퀀스 데이터 (54B) 는, 영상 1, 영상 2, 영상 3, ..., 영상 (N-1) 및 영상 N 으로 표시된 복수의 영상들을 포함하는 영상 계층 (58) 을 포함한다. 각각의 영상은 디코딩가능한 유닛이다. 각각의 영상은 영상 헤더 (58A) 및 영상 데이터 (58B) 를 포함한다. 영상 데이터 (58B) 는 슬라이스 계층 (60) 을 포함한다. 슬라이스 계층 (60) 은 슬라이스 1, 슬라이스 2, 슬라이스 3, ..., 슬라이스 (M-1) 및 슬라이스 M 으로 표시된 복수의 슬라이스들을 포함한다. 각각의 슬라이스는 디코딩가능한 유닛이다. 슬라이스는 슬라이스 데이터 (60B) 가 후속하는 슬라이스 헤더 (60A) 를 포함한다. 슬라이스의 슬라이스 데이터 (60B) 는 매크로블록 계층 (62) 을 포함한다. 매크로블록 계층 (62) 은 MB 1, MB 2, MB 3, ..., MB (P-1) 및 MB P 로 표시된 복수의 매크로블록을 포함한다. 각각의 매크로블록은 디코딩가능한 유닛이다. 각각의 매크로블록은 MB 헤더 (62A) 및 MB 데이터 (62B) 를 포함한다. 몇몇 디코딩가능한 유닛들은 다른 디코딩가능한 유닛에 의존한다. 따라서, 우선순위화는 의존적 디코딩가능한 유닛을 고려할 것이다. 또한, 각각의 계층 내의 디코딩가능한 유닛의 하나 이상은 분할가능하다.
도 3a 는 전력 관리 모듈 (100), 및 비디오 인코더 및 디코더 엔진 (102 및 104) 의 블록도를 도시한다. 전력 관리 모듈 (100) 은 멀티-레벨 저전력 모드 세트 발생기 (114) 를 갖는다. 멀티-레벨 모드 세트 발생기 (114) 는 MPEG 포맷의 계층적 (계층화된) 층에 따라 배열된 복수의 저전력 모드들을 갖는다. 복수의 저전력 모드는, 각각의 계층에서 개선된 입도 (granularity) 및/또는 시각적 품질을 위해 선택적으로 디코딩될 수도 있는 디코딩가능한 유닛의 우선순위화된 전력 관리 (PM) 에 기초한다. 입도는, 소정의 전력 소모 목표에 대한 결과적 시각 품질을 최대화하기 위해 실행될 수 있는 파싱 또는 디코딩 동작의 범위를 지칭할 수도 있다. PM 시퀀스는 전력 관리를 용이하게 하는 디코딩 또는 파싱 동작의 시퀀스이다. PM 시퀀스는 선택적인 디코딩 및/또는 파싱 동작의 룩-어헤드 (look-ahead) 프로세싱을 통해 소정의 전력에 대한 시각적 품질을 최대화하려 시도한다. 멀티-레벨 저전력 모드 세트 발생기 (114) 는 복수의 계층 모드들을 갖는다. 이 구성에서, 복수의 계층 모드는 TL 모드, VS/PL 모드 및 S/MBL 모드를 포함한다. 인식할 수 있는 바와 같이, 여기서 설명하는 기술들은 MPEG 포맷에 한정되지 않으며, 다른 비디오 압축 및/또는 전송 프로토콜 포맷에 이용될 수도 있다.
일 실시형태에서, 비디오 데이터를 포함하는 데이터 스트리밍으로부터의 정보가 이 정보에 기초하여 추출 및 컴파일되고, 전력 관리 (PM 시퀀스) 를 용이하게 하는 데이터 스트림에 대한 디코딩 및 파싱 동작의 시퀀스가 우선순위화된다.
다른 실시형태에서, 우선순위화는 디코딩 및 파싱 동작 중 적어도 하나의 룩-어헤드 프로세싱에 기초한다. 다른 실시형태에서, 우선순위화된 PM 시퀀스 각각에 대한 전력 및 연산 로딩 중 적어도 하나의 프로젝션이 계산된다. 다른 실시형태에서, 전력 관리 시퀀스의 우선순위화는 시각적 품질 및 입도 중 적어도 하나에 기초한다.
실시형태들은 또한 우선순위에 기초하여, 우선순위화된 전력 관리 시퀀스를 선택적으로 디코딩하기 위한 저전력 모드의 계층적 리스트를 발생시키는 것을 포함한다. 저전력 모드의 선택은 가용 전력 또는 연산 로딩에 응답할 수도 있다. 또한, 우선순위화된 전력 관리 시퀀스 중 하나 이상을 선택적으로 디코딩하는 것은 선택된 저전력 모드에 응답할 수도 있다. 다른 실시형태에서, 선택적 디코딩은 우선순위화된 전력 관리 시퀀스에 대한 전력 및 연산 로딩 중 적어도 하나의 프로젝션을 계산하는 것에 기초할 수도 있다.
예시적인 구성에서, 예를 들어, 예측 모드에 의해 표시된 리던던시의 정도는 계층의 그레듀에이티드 (graduated) 세트를 생성하고, 이것은 낮은/감소된 전력 동작 모드의 그레듀에이티드 세트로 매핑될 수 있다. H.264 예측 모드를 이용하는 하나의 포맷은, 인터 및 인트라 예측 모드에 대응하는 내림차순인 비디오에서의 리던던시 레벨이: 스킵, 다이렉트, 인터, 및 인트라 예측 모드를 포함한다는 사실에 기초한다. 모드의 순서는 또한 손상된 경우 (이 모드에 대응하는 MB 의 디코딩 및 재구성에 부정확도가 도입된 경우) 의 시각적 품질에 대한 영향을 증가시키는 순서에 대응한다. 이 개념들은 다른 비디오 코딩 표준 및 포맷에 확장될 수 있다.
비디오에서의 리던던시를 전력 최적화 비디오 프로세싱에 이용하기 위해, 디코더 엔진 (104) 전용 양태, 인코더 엔진 (102) 전용 양태 또는 인코더와 디코더 엔진을 조정하는 양태를 포함하는 다수의 양태들이 전력 부하 관리를 위해 이용될 수도 있다. 디코더 엔진 전용 (DO) 솔루션의 경우, DO 솔루션은 디바이스 (10) 에서의 디코딩 또는 렌더링 동안 적용될 수도 있고, 인코더는 불문한다. 이 솔루션들은 일치형 및 비일치형 카테고리로 분할될 수도 있다. 일치형 카테고리의 솔루션은, 표준 일치를 유지하는 비디오 스트림을 출력할 것이다. 여기서, 엄격한 일치 요건이 충족되어야 한다. 비일치형 솔루션에서, 이 솔루션의 이점은, 시각적 품질에의 최소한의 영향을 위한 복잡도에서의 대량의 (일치형에 비해) 감소 및 융통성이다.
인코더 엔진 (102) 전용 (EO) 솔루션의 경우, 모든 복잡도 감소 방법은 인코딩 동안 통합되고, 디코더는 불문한다. EO 솔루션에서, 모든 인코딩 기능들은 프로세싱 전력의 관점에서 바이어싱된다. 선택적으로, 프로세싱 전력을 위한 비용 기능이, RD 전력 최적화로 지칭되는 레이트-왜곡 (RD) 최적화에 포함된다.
조인트 인코더-디코더 엔진 (JED) 솔루션의 경우, 전력 감소 방법은 인코딩 동안 통합 또는 채택되고, 디코더 엔진은 적절한 반대 동작을 수행하여 (전력/부하/비용에서) 증가된 감소를 제공한다. JED 솔루션에서, 인코더 엔진은 디코더 엔진의 성능을 인식하여, 전술한 DO 솔루션 방법을 적용하고, 디코더 엔진에 이용하기 위한 사이드 채널 또는 비트스트림 (사용자 필드 또는 보충 향상 정보 (SEI) 메시지) 에서의 적절한 동작을 위한 표시자들을 통합한다. 전력 감소의 세트에 기초하여 미리 동의된 프로토콜이 전력/부하/비용에서의 증가된 감소를 위해 인코더 및 디코더 모두에 의해 채택될 수도 있다.
DO 솔루션은, 디코더 엔진이 인코딩 프로세스를 인식하지 못하는 오픈 엔디드 애플리케이션에 적용된다. 실시예들은 모바일 TV, 비디오-온-디맨드 (VOD), PMP 등을 포함할 것이다. EO 솔루션은, 저전력 디바이스를 구동하기 위해 전력 친화적 비트스트림이 요구되는 비디오 서버에서의 애플리케이션을 발견할 것이다. EO 솔루션은 또한, 소스의 다중 코딩된 버젼이 발생되고 네트워크 서버가 네트워크/채널 조건에 기초하여 그 버젼들 사이에서 적응적으로 선택/스위칭하는 시나리오에서 유용하다. JED 솔루션은 DO 또는 EO 솔루션 방법에 비해 소정의 품질에 대한 전력 감소의 측면에서 최대 이득을 제공한다. JED 솔루션은, 통신/제어 경로 (실시간 또는 선험적) 가 가능한 폐쇄형 또는 대화형 애플리케이션에 적용된다.
아래의 설명은 DO 솔루션을 의도하고, 다중층 프레임워크 구성을 제공하여, 비디오 디코딩에서의 구현 및 동작 복잡도를 조정한다. 비디오 디코딩 및 렌더링 동작에서의 부하 관리는, 모바일 TV, 휴대용 멀티미디어 플레이어 (PMP), (영화/DVD 플레이어) 등과 같은 다양한 애플리케이션에 의해 확장된 비디오 재생이 요구되는 경우 가능하다. 다중층 프레임워크 구성에서 구현되는, 여기서 설명된 기술들은 임의의 비디오 또는 멀티미디어 애플리케이션에 확장될 수도 있다.
부하 또는 전력 관리는, 지연, 전력 소모 및 초 당 수백만개의 명령들, 또는 프로세서 사이클 (MIPS) 가용성을 포함하지만 이에 한정되지는 않는 런-타임 복잡도의 조정을 지칭한다. 조정은 사용자 경험의 최적화를 포함하고, 더 상세하게는, 가용 프로세싱, 전력 및 시간 리소스가 주어진 경우, 비디오 품질의 최적화를 포함한다. 다중층 프레임워크 구성은, 이러한 조정을, 애플리케이션(들)에 의한 비디오 디코더 구현에 대한 일시적 요구에 대한 예방적 응답 및 반응적 응답 모두에 대해 다양한 입도 레벨로 허용한다. 교번적인 실행 또는 제어/데이터 플로우 경로들이, 가용 정보 및 전력 (배터리) 레벨에 기초하여 프로세서 스톨링을 방지하기 위해 추천된다.
전술한 관점에서, 여기에 제공된 설명은 주로, 디코더 엔진 (104) 에 의해 수행되는 DO 동작에 대한 것이다. 디코더 엔진 (104) 에 의한 비디오 디코딩 이후, 디스플레이 프로세서 (28) 의 렌더링 스테이지 (28A; 도 23) 에 의해 수행되는 렌더링이 후속할 수도 있다. 디코딩/렌더링은 직렬 프로세스일 필요는 없다. 예를 들어, 다수의 슬라이스들이 병렬로 디코딩될 수 있고, 이미지의 행들이 병렬로 렌더링될 수도 있고, 또는 직렬로 고려되지 않는 파형 방식으로 렌더링될 수도 있다. 그럼에도 불구하고, 직렬 순서로 렌더링되는 것이 후속하는 디코딩이 정상적이고, 일 구성에서, 이 동작들은 병렬화된다. 렌더링은 통상적으로, 디스플레이될 이미지 및 디스플레이 프로세스 (디스플레이 버퍼로 전송하는 것, 이 버퍼로부터 판독하는 것 및 디스플레이에 기록하는 것) 의 합성이 후속하는 후처리 (컬러-공간 변환, 스케일링 등) 를 포함한다. 예를 들어, 디코딩은 직렬 프로세스에서 렌더링에 의해 후속되고, 순서대로 발생한다 (타이밍은 디코딩을 위한 디코딩 시간 스탬프 및 렌더링/디스플레이를 위한 프리젠테이션 시간 스탬프에 기초한다). 그러나, 이 프로세스 (디코딩 및 렌더링) 로의 입력은, 시각적 품질의 관점에서 중요성 순서에 의해 우선순위화될 필요가 없는 비디오 스트림이다 (즉, 일시적 디코더 리프레시 (IDR), 인트라프레임 (I) 및 예측된 (P) 프레임이 개재됨). 또한, 비디오 비트스트림을 디코더 엔진 (104) 에 전달하는 전송 계층 프로토콜은, 패킷/시퀀스 번호의 순서로 디코더 엔진 (104) 에 제공된 패킷에서 행해진다. 수신된 순서로 비트스트림을 프로세싱하는 것은 프레임 드롭을 유발할 수도 있고, (가용 또는 할당된 전력에 기초하여 시스템에 의해 변조되거나 배터리를 보존하기 위해 사용자가 개시하는) 저전력 동작을 위한 출력 비디오의 품질을 스로틀하는 것을 허용하지 않는다. 프로세서 사이클의 부족, MIPS 및/또는 누산된 지연 및 레이턴시는, 통상적으로 사이즈에서 더 큰 키 프레임들을 생성할 수도 있어서 장기간 동안 비디오가 중지되도록 드롭될 수도 있다.
엔코더 엔진 (102) 은 MPEG 표준, H.264 또는 다른 표준에 부합하도록 비디오 데이터를 획득 또는 발생시키고 압축한다. 비디오 데이터는, 그 인코딩이 이미지 품질, 전력 및/또는 디바이스 (10) 의 연산 부하 요건 및/또는 출력 비디오 인터페이스의 송신 능력, 디바이스 (10) 또는 비디오-인에이블드 디바이스 (예를 들어, 무선 또는 유선 인터페이스) 의 대역폭 또는 다른 특성을 충족하도록 비디오 정보의 선택된 부분을 추출하도록 프로세싱된다. 또한, 인코딩은, (수신인에 의한) 디코딩이 품질, 전력 및/또는 수신인의 디코더 엔진 또는 수신기 (14) 의 연산 요건 및 능력을 충족하게 할 수도 있다.
도 3b 는 전력 관리 모듈 (100) 에 이용되는 디코더 엔진 (104) 의 블록도를 도시한다. 디코더 엔진 (104) 은, 전력 관리 또는 저전력 모드가 불필요한 경우 비트스트림을 디코딩하는 표준 (정규의) 시퀀스 디코딩 프로세싱 유닛 (105) 을 포함한다. 디코더 엔진 (104) 은 또한 전송 계층 (TL) 파서 및 프로세싱 유닛 (106), 비디오 시퀀스/영상 계층 (VS/PL) 파서 및 프로세싱 유닛 (108), 슬라이스/MB 계층 (S/MBL) 파서 및 프로세싱 유닛 (110), 블록 계층 파서 및 프로세싱 유닛 (112) 을 포함한다. 예시적인 구성에서, 블록 계층 (64) 에서의 전력 및 연산 부하 관리는 설명되지 않는다.
후술하는 설명에서 알 수 있는 바와 같이, TL 파서 및 프로세싱 유닛 (106) 은 전송 계층 (52) 을 파싱 및 프로세싱한다. VS/PL 파서 및 프로세싱 유닛 (108) 은 적어도 시퀀스 계층 (54) 및 영상 계층 (58) 을 파싱 및 프로세싱한다. 시퀀스 계층 (54) 및 영상 계층 (58) 의 결합은, 이하, 비디오 시퀀스/영상 계층 (VS/PL; 70) 으로 지칭된다. 그러나, VS/PL 파서 및 프로세싱 유닛 (108) 은 또한 GOP 계층 (56) 또는 몇몇 다른 파서를 파싱 및 프로세싱하고, 프로세싱 유닛은 GOP 계층 (56) 에 이용될 수도 있다. 따라서, 참조번호 70 부터 GOP 계층 (56) 까지의 라인은 점선으로 도시되어 있다. S/MBL 파서 및 프로세싱 유닛 (110) 은 슬라이스 계층 (60) 및 매크로블록 (MB) 계층 (62) 을 파싱 및 프로세싱한다. 블록 계층 파서 및 프로세싱 유닛 (112) 은 MPEG 포맷의 비디오 또는 프로그래밍을 디코딩하기 위해 블록 계층 (64) 을 파싱 및 프로세싱한다.
파서 및 프로세싱 유닛 (106, 108, 110 및 112) 중 하나 이상은 병렬적으로 동작되거나, 개별적으로 동작되거나, 여기서 설명하는 전력 및 연산 부하 관리 기능을 수행하기 위한 결합된 관계로 동작되도록 이용될 수도 있다. 또한, 파서 및 프로세싱 유닛 (106, 108, 110 및 112) 의 전력 및 연산 부하 관리 기능 중 하나 이상은 생략될 수도 있다. 그럼에도 불구하고, 예시적인 구성에서, 파서 및 프로세싱 유닛 (106, 108 및 110) 은, 전력을 효율적으로 이용하면서 사용자의 경험을 유지 또는 향상시키기 위해, 계층 중 임의의 하나에서 시각적 품질, 전력 로딩 및 입도에 대한 트레이딩 시각적 품질을 제어하는 연결된 전력 및 연산 부하 관리 기능을 제공하도록 필요에 따라 선택적으로 작동된다.
도 4 는 디코딩가능한 유닛들의 우선순위화된 전력 관리 (PM) 시퀀스들을 디코딩하기 위한 전력 및 연산 부하를 프로젝팅하는 프로세스 (120) 의 흐름도를 도시한다. 선택적 디코딩을 위한 디코딩가능한 유닛의 비트스트림 및 결과적 전력 관리 (PM) 시퀀스들을 우선순위화하기 위해, 3 개 위상의 (3-위상) 프로세스 (120) 가 각각의 계층적 (계층화된) 층에 제공되어, 계층적으로 정렬된 저전력 동작 모드를 제공한다. 프로세스 (120) 는 비디오 스트림의 비-인과성에 의존하고, 그 효율은 룩-어헤드의 양 (디코더 엔진의 입력 버퍼 깊이) 에 의존한다.
프로세스 (120) 는, 계층 정보의 파싱 및 추출이 발생하는 블록 (122) 에서 시작한다. 블록 (122) 에 블록 (124) 이 후속하여, 디코딩을 요구하는 디코딩가능한 유닛의 (시퀀스 계층과 혼동되지 않아야 하는) PM 시퀀스가 우선순위화된다. 예시의 목적으로, 디코딩가능한 유닛의 우선순위화된 PM 시퀀스는, 이하 상세히 설명하는 바와 같이 리스트의 형태로 도시되어 있다. 용어 "디코딩가능한 유닛의 우선순위화된 PM 시퀀스" 는 이하 때때로, "우선순위화된 PM 시퀀스들" 로 지칭될 것이다. 그러나, 각각의 시퀀스는 하나 이상의 분할가능한 디코딩가능한 유닛을 포함한다. 디코딩가능한 유닛은, 다음의 설명에서 알 수 있는 바와 같이, 영상, 슬라이스 및 매크로블록 중 하나 이상 또는 이들의 그룹을 포함한다.
블록 (124) 에 블록 (126) 이 후속되어, 우선순위화된 PM 시퀀스에 대해 전력 및 연산 부하가 프로젝팅된다. 예시적인 구성에서, 연산 부하는 MIPS (million instructions per second) 의 수의 함수로 프로젝팅된다. 대응하는 MIPS 는 프로젝팅되거나 미리 결정된 전력을 요구한다.
블록 (126) 에서, 우선순위화된 PM 시퀀스의 대응 MIPS 로의 상관, 및 후속적으로, PM 시퀀스들의 하나 이상을 디코딩하는데 요구되는 전력으로의 상관이 존재한다. 블록 (122 및 124) 은, 이하 H.264 표준에 대해 설명된다. 블록 (126) 은 통상적인 시나리오에 대응하는 전력 분석으로부터의 결과 (예를 들어, 테스트 비트스트림) 를 이용할 수도 있고, 선택적으로, 구동된 트레이닝 또는 프로젝션에 이용할 런타임 업데이트를 피드백할 수도 있다. 비트스트림이 기지이면, 전력 및 연산 부하 (프로세싱 전력) 가 프로젝팅되어, 디바이스 (10) 내에 비트스트림을 디코딩하여 완료할 충분한 전력이 존재하지 않음을 사용자에게 통지할 수도 있다. 따라서, (예를 들어, 재생 동안에) 비트스트림이 완전히 디코딩되기 전에 전력 (배터리 또는 전기 전력) 이 고갈되면, 사용자는, 그 비트스트림이 완료되도록 허용하는 전력 모드를 선택하는 옵션을 갖는다.
전술한 바와 같이, 3-위상 프로세스 (120) 는 압축 데이터 포맷으로 상이한 계층에 대해 반복될 수 있다. (상이한 계층에 대응하는) 각각의 블록 (126) 이후, 저전력 모드의 계층적 세트가 디코더 엔진 (104) 에 대해 발생되어, 디코딩 동작들의 전력 및 연산 로딩 관리에 이용된다. 이것은, 온더플라이로 발생할 수 있고, 실시간 동작 이전에 미리 교정/프로그래밍된 적절히 선택된 비트스트림 및 디코더의 세트에 대해 미리 결정될 수도 있다.
도 5 는 전송 계층 (TL) 파서 및 프로세싱 유닛 (106) 을 도시한다. TL 파서 및 프로세싱 유닛 (106) 은 TL 정보 추출기 및 컴파일러 (150; 도 6), TL 우선순위화된 PM 시퀀스 발생기 (152; 도 8) 및 TL 디코딩 MIPS 및 전력 프로젝터 (154; 도 9) 를 포함한다. 전송 계층 (TL) 파서 및 프로세싱 유닛 (106) 은 전송 계층 (52) 에 대한 디코딩 동작의 전력 및 연산 로딩 관리에 이용할 3-위상 프로세스 (120) 를 수행할 것이다.
도 6 은 TL 정보 추출기 및 컴파일러 (150) 를 도시한다. TL 정보 추출기 및 컴파일러 (150) 는, 비디오 비트스트림이 수신되는 전송 프로토콜에 의존한다. 수신된 시간 슬라이스 (190) 의 일부의 일예는 도 7 에 도시되어 있다. 예시적인 구성에서, 비트스트림의 다양한 정보가 TL 정보 추출기 및 컴파일러 (150) 에 의해 추출 및 컴파일될 수 있다. TL 정보 추출기 및 컴파일러 (150) 는 도 7 에 도시된 수신된 시간 슬라이스 (190) 를 파싱할 것이다. TL 정보 추출기 및 컴파일러 (150) 는 랜덤 액세스 포인트 (RAP) 추출기 (160), 상태 정보 추출기 (166), 비트스트림 특성 추출기 (176) 및 전송 계층 정보 컴파일러 (186) 를 포함한다. RAP 추출기 (160) 는, 획득으로 플래깅되는 패킷/슬라이스의 위치, 사이즈, 프리젠테이션 시간 스탬프 (PTS) 등을 갖는 정보 (162) 를 추출할 수도 있다. RAP 추출기 (160) 는 또한 전송 헤더 (예를 들어, 실시간 전송 프로토콜 (RTP) 페이로드 포맷인 엔트리-포인트 헤더) 에서 RAP (164) 의 시퀀스를 추출할 수도 있다. 예시적인 구성에서, 상태 정보 추출기 (166) 에 의한 추출된 상태 정보는 (예를 들어, 브로드캐스트 또는 모바일 TV 애플리케이션에서) 채널 변경 (170) 및 사용자 뷰잉 선호도 (172) 에 관한 정보를 포함한다. 추출된 상태 정보 (166) 는 또한 애플리케이션 (174) (예를 들어, 해상도/프리뷰 모드 또는 PIP (picture-in-picture) 모드) 등에서의 변경을 포함할 수도 있다.
비트스트림 특성 추출기 (176) 는 비트레이트 (178), 프레임 레이트 (180), 해상도 (182), (저장된 대 스트리밍되는) 애플리케이션 (184) 등을 추출한다. 비트레이트 (178) 의 경우, 몇몇 경우 값들이 용이하게 사용가능하다 (예를 들어, MPEG 파일 포맷). 다른 경우, 비트스트림은, 전송 헤더 및 패딩이 제거된 후, 시간 스탬프에 의해 표시된 초 동안의 비트스트림의 사이즈에 기초하여, 예를 들어, 전송 계층 정보 컴파일러 (186) 에 의해 연산된다. TL 계층 정보 추출기 및 컴파일러 (150) 는, 수신된 시간 슬라이스의 전송 계층으로부터 직접 추출될 수 없는 정보를 연산하기 위한 TL 정보 컴파일러 (186) 를 포함한다. 패킷 사이즈 및 비트레이트에 대한 예시적인 계산이 도 9 와 관련하여 설명된다.
도 7 은, 이 예에서는, 수신된 데이터 내에 RAP1 (191), RAP2 (196), ...RAPN (198) 을 갖는 수신된 시간 슬라이스 (190) 를 도시한다. (이것은 선택적으로, 저장된 파일로부터 추출된 비트스트림의 일부일 수 있다). RAP1 (191) 과 같은 각각의 RAP 는 헤더 (192) 를 갖고, 그에 후속하여, I-프레임과 같은 랜덤 액세스 포인트인 코딩된 프레임과 관련된 데이터를 갖는 페이로드 (193) 를 갖는다. 헤더는 복수의 필드를 포함하고, 이 필드 중 하나는 PTS1 간격 (194) 이다. (예를 들어, RTP 에서, 랜덤 액세스 (RA) 카운트 및 기준 시간 및 PTS 오프셋으로부터 유도된) 각각의 RAP 에 대한 PTS1 간격 (194) 으로부터 절대 RAP 위치 (패킷) 및 PTS 값이 연산된다. RAP2 (196) 는 헤더를 갖고, 그에 후속하여, I-프레임과 같은 랜덤 액세스 포인트인 코딩된 프레임에 관련된 데이터를 갖는 페이로드를 갖는다. 헤더는 복수의 필드를 포함하고, 그 필드 중 하나는 PTS2 간격이다.
RAP--GOP 로 표시된 간격은, 다음 RAP 프레임까지 RAP 에 의해 시작하는 영상의 그룹으로 정의된다. 전송 계층에서, RAP 는 디코딩가능한 유닛이다. 또한, RAP--GOP 는 전송 계층에 대한 디코딩가능한 유닛일 수도 있다. 애플리케이션에 기초하여, 필요하다면, 더 많은 데이터가 검색 또는 요청된다. 예를 들어, 저장된 비디오의 재생 동안, 비트레이트 및 프레임 레이트를 평가할 만큼의 데이터를 파일 포맷 헤더를 통해 몇초 (2 내지 5 초) 동안 탐색할 수도 있다. 그 후, 가용 전력에 기초하여, 모든 데이터를 디코딩할 것을 결정하거나, 감소된 프레임 레이트로 디코딩한다.
수신된 시간 슬라이스 (190) 는, DVB-H (여기서 H 는 핸드헬드를 나타냄) 와 같은 디지털 비디오 브로드캐스트 (DVB) 에 대한 시간 슬라이스 또는 MediaFLO™ 에 대한 수퍼프레임일 수 있다.
도 8 은 TL 우선순위화된 PM 시퀀스 발생기 (152) 를 도시한다. 위에서 추출된 정보가 프로세싱되어, 디코딩가능한 유닛 (200) 의 TL 우선순위화된 PM 시퀀스의 리스트를 생성한다. TL 우선순위화된 PM 시퀀스 발생기 (152) 는 절대 파라미터 값을 유도한다. 전송 계층 (52) 에서, 대응하는 GOP 를 갖는 복수의 패킷 RAP1, RAP2,... RAPN (191, 196 및 198) 이 수신된 것으로 가정한다. 따라서, 디코더 엔진 (104) 에 의해 디코딩될 디코딩가능한 유닛들의 TL 우선순위화된 PM 시퀀스는 블록 (202) 에서 시작한다. 여기서, 디코딩가능한 유닛들은 블록 (202) 에서는 RAP1, 블록 (204) 에서는 RAP--GOP1 의 나머지, 블록 (206) 에서는 RAP2, 블록 (208) 에서는 RAP-GOP2 의 나머지이다. TL 우선순위화된 PM 시퀀스의 우선순위화는 블록 (210) 에서의 디코딩가능한 유닛 RAPN 및 블록 (212) 에서의 RAP--GOPN 의 나머지까지 계속된다. 디코딩가능한 유닛의 TL 우선순위화된 PM 시퀀스의 전술한 설명은 시퀀스 정렬의 오직 일예이다.
도 9 는 TL 디코딩 MIPS 및 전력 프로젝터 (154) 를 도시한다. 전송 레벨 (52) 에서는, 전력/연산 부하 감소의 제 1 레벨이 가능하다. 이 레벨은 대략적 전력/연산 부하 감소를 제공할 수도 있다. 예를 들어, 최소 전력 모드 세팅 동안 또는 디바이스 (10) 의 배터리 레벨이 <10% 로 고갈된 경우, (블록 202, 206 및 210 으로 표시된) RAP 패킷들이 디코딩되고, 렌더링 스테이지 (28A) 에 의해 렌더링되면서, 선택적으로, 그래픽 프로세싱 유닛 (34) 이 트리거링되어 I-프레임들 사이의 전이 효과를 생성할 수도 있다. 전이 효과는 슬라이드 쇼 효과 대신에 저 비용 "비디오" 를 제공한다. 저전력 모드에 기초하여, 스킵된 디코딩가능 유닛을 보상하기 위해 다른 비디오 보상이 이용될 수도 있다. 예를 들어, 이미지 모핑 (morphing) 이 이용될 수도 있다. 보상의 다른 예는 광학 플로우를 이용할 수도 있다.
TL 디코딩 MIPS 및 전력 프로젝터 (154) 는 MIPS 에 대한 프로젝션 (제 4 열) 을 나타내는 데이터를 발생시켜, TL 우선순위화된 PM 시퀀스 (200) 의 리스트에서 디코딩가능한 유닛의 PM 시퀀스 중 하나, 또는 그 이상, 또는 그 전부를 디코딩한다. 오직 예시적이고 설명을 위한 목적으로, MIPS 프로젝션 테이블 (230) 이 도시되어 있다. 이 테이블은 복수의 열을 갖는다. 열 C1 에는, 디코딩가능한 유닛의 전송 계층 정보 또는 TL 우선순위화된 PM 시퀀스가 항목화되어 있다. 제 2 열에서는, 디코딩가능한 유닛의 일부 또는 전부를 디코딩하기 위한 패킷 사이즈가 식별된다. 열 C3 에서는, 비트레이트 계산이 식별된다. 열 C4 에서는, 디코딩가능한 유닛들을 디코딩하는 프로젝팅된 MIPS 가 제공된다. 인식될 수 있는 바와 같이, 열 C3 의 비트레이트 및 열 C2 의 패킷 사이즈는 패킷화 위상 동안 유도될 수도 있다.
이 예에서, 행 R1 은 디코딩가능한 유닛 (200) 의 TL 우선순위화된 PM 시퀀스의 리스트에서 제 1 디코딩가능한 유닛을 식별한다. 이 예에서, 제 1 디코딩가능한 유닛은 RAP1 이다. RAP1 의 패킷 사이즈는 TL 추출기 및 컴파일러 (150) 로부터 추출 및 컴파일된 정보에 기초하여 계산될 수 있다. 예시적인 구성에서, RAP1 에 대한 디코딩 패킷 사이즈는 RAP1 에 대한 전송 패킷의 사이즈 - (전송 헤더 (192) 플러스 페이로드 (193)) 의 사이즈에 대응한다. RAP2 에 대한 디코딩 패킷 사이즈는 RAP2 에 대한 전송 패킷의 사이즈 - (전송 헤더 플러스 페이로드) 의 사이즈에 대응한다. 유사하게, RAPN 에 대한 디코딩 패킷은 RAPN 에 대한 전송 패킷의 사이즈 - (전송 헤더 플러스 페이로드) 의 사이즈에 대응한다. 행 RN+1 (최종 행) 은 슬라이스 (190) 와 같은 전체의 수신된 시간 슬라이스에 대응한다. 따라서, MIPS 의 프로젝션은 수신된 시간 슬라이스 (190) 의 전체 전송 계층 (52) 에 대한 행 RN+1 에서 각각의 디코딩가능한 유닛 및 모든 디코딩가능한 유닛에 대해 계산된다.
제 3 열에서, 비트 레이트가 계산 또는 추출된다. 이 경우, 비트레이트는 간격 (PTS2 - PTS1) 즉 (PTS2 마이너스 PTS1) 의 사이즈에 의해 제산된 간격 (RAP--GOP1) 의 사이즈에 따라 RAP, GOP1, PTS2, PTS1 의 사이즈에 기초하여 계산된다. RAP2, ... RAPN 에 대한 비트레이트는 RAP1 과 유사한 방식으로 계산된다. 행 RN+1 에서, 비트레이트는 수신된 시간 슬라이스/간격 (PTS2 - PTS1) 의 사이즈이다.
제 4 열, R1 행에서, RAP1 을 디코딩하기 위해 프로젝팅된 MIPS 는 2 개의 값을 갖는다. 제 1 값은 RAP1 에 대한 I-프레임 사이즈의 함수이다. 제 2 값은 소정의 코덱에 대한 사이즈 (RAP--GOP1) 의 비트스트림의 일부의 함수이다. MIP 의 프로젝션에 대한 정보는 전송 헤더 (RAP 및 대응하는 PTS) 로부터 이용가능하다. 따라서, 디코딩가능한 유닛은 분할가능하고, MIPS 를 프로젝팅하는 경우 완전하게 디코딩되지 않는다. 대신에, 이하 더 상세히 설명하는 바와 같이, 오직 헤더 또는 헤더의 일부가 디코딩되어 필요한 정보를 추출할 필요가 있다. 행 RN+1 에서, 전체 시간 슬라이스를 디코딩하기 위해 프로젝팅된 MIPS 는 소정의 코덱에 대한 (시간 슬라이스에 대한) 비트스트림 사이즈에 따라 프로젝팅된다. 특정한 양에 대해 디코딩하기 위한 MIPS 프로젝션은 전력 프로파일링 및 분석의 함수임을 유의해야 한다.
열 C4 의 MIPS 프로젝션 각각에 대해, 대응하는 전력 요건이 결정될 수 있다. 대응하는 전력은 필요에 따라 계산될 수 있고, 또는 룩업 테이블에 미리 저장될 수도 있다. 이것은 일반적으로 3-위상 프로세스 (120) 의 제 3 위상을 완료시킬 것이다.
도 10 은 전력 및 연산 부하 관리에 의한 디코딩을 위한 프로세스 (240) 를 도시한다. 소정의 인스턴트에, 디코딩가능한 유닛 중 하나 이상을 디코딩할 MIPS 요건 및 가용 MIPS (또는 전력 요건 대 가용 전력/amps) 가 주어지면, 수신된 시간 슬라이스 (190) 의 전부 또는 일부를 디코딩하기 위한 판정이 행해질 수 있다. 프로세스 (240) 는 점선으로 도시된 프로세스 (120) 의 제 3 위상으로 도시되어 있다. 프로세스 (120) 의 제 3 위상은, 전송 계층 (52) 을 디코딩하는데 필요한 연산 부하 및/또는 전력에 대한 필요한 프로젝션을 제공한다. 따라서, 블록 (242) 에서, MIPS 가 프로젝팅된다. 블록 (244) 에서, 프로젝팅된 MIPS 에 대응하는 전력이 결정된다. 예시적인 구성은 MIP 와 전력의 관계를 제공하지만, 전력 및 연산 부하에 영향을 주는 다른 값들이 이용될 수도 있다.
블록 (244) 는 제 3 위상을 종료한다. 블록 (244) 에 후속하여 블록 (246) 에서는 소정의 인스턴트에 대한 가용 MIP (연산 부하) 가 결정된다. 블록 (244) 에 후속하여 블록 (248) 에서는 소정의 인스턴트에 대한 가용 전력이 결정된다. 블록 (246 및 248) 은 병렬적으로 도시되어 있다. 그럼에도 불구하고, 다양한 구성에서, 프로세스 (240) 의 블록들 및 여기서 설명한 다른 프로세스들은 도시된 순서로 수행되거나, 이 단계들 또는 그 일부 중 적어도 2 개는 동시에 수행되거나, 병렬로 수행되거나 또는 상이한 순서로 수행될 수도 있다.
블록 (246) 에 후속하여 블록 (250) 에서는, 프로젝팅된 MIPS 가 가용 MIPS 보다 큰지 여부에 대한 결정이 행해진다. 이 결정이, 그 인스턴트에서 가용 연산 부하가 충분함을 의미하는 "아니오" 이면, 블록 (254) 에서 모든 전송 계층 (52) 이 디코딩될 수 있다. 그러나, 블록 (250) 에서의 결정이, 가용 연산 부하가 불충분함을 의미하는 "예" 이면, 블록 (256) 에서 전송 계층 (52) 의 일부는 저전력 모드 세팅 (260; 도 11) 의 리스트에 식별된 모드들 중 임의의 모드에 따라 디코딩될 수 있다.
블록 (248) 에 후속하여 블록 (252) 에서는, 프로젝팅된 전력이 가용 전력에 비교될지 여부가 결정된다. 블록 (252) 에서의 결정이, 가용 전력이 충분함을 의미하는 "아니오" 이면, 전송 계층 (52) 전부가 디코딩될 수도 있다. 그러나, 블록 (252) 에서의 결정이, 가용 전력이 불충분함을 의미하는 "예" 이면, 블록 (256) 에서 전송 계층 (52) 의 일부는 저전력 모드 세팅 (260; 도 11) 의 리스트에 식별된 모드들 중 임의의 모드에 따라 디코딩될 수 있다. 전송 계층 (52) 전부는, 블록 (250 및 252) 으로부터의 조건들 모두가 아니오이면 디코딩될 것이다. 전송 계층 (52) 은 모든 다른 경우에 부분적으로 디코딩될 것이다. 블록 (248, 252) 은 점선으로 도시되어, 이들이 또한 선택적임을 나타낸다.
도 11 은 TL 모드 동안 다중층 저전력 모드 세트 발생기 (114) 를 도시한다. 다중층 저전력 모드 세트 발생기 (114) 는 선택가능한 저전력 모드 세팅 (260) 의 리스트를 발생시킨다. 도 11 의 예시적인 구성에서는, 행 R1 의 모드 1, 제 2 행의 모드 1A 및 제 3 행의 모드 2 로 표시된 복수의 전송 계층 저전력 모드들이 존재한다. 전송 계층 모드 1 은, 예를 들어, 모든 RAP 를 이용하는 슬라이드쇼 (이하, "SS-RAP" 라 함) 에 대응한다. 전송 계층 모드 1A 는 렌더링 스테이지 28A 에 의한 전이 효과를 갖는 SS-RAP 에 대응한다. 따라서, 모드 1A 는, 모드 1A 가 모드 1 에 비해 향상된 시각적 품질을 제공한다는 점에서 모드 1 과 상이하다. 전송 계층 모드 2 는 가용 전력에 기초한 RAP--GOP 의 선택적 디코딩에 대응한다. 열 C2 의 리스트는, 디코더 엔진 (104) 으로 하여금 전송 계층 (52) 에서 디코딩가능한 유닛 중 하나 이상을 선택적으로 디코딩하게 하는 필요한 명령을 제공할 것이다.
TL 모드 동안 전력 관리 모듈 (100) 은, 프로젝팅된 MIPS 및/또는 전력에 기초하여, 저전력 모드 1, 1A 또는 2 중 어느 모드가 비트스트림의 디코딩을 위해 사용자에게 제공될 수 있는지에 대해 결정한다. 비디오 시퀀스/영상 계층과 관련하여 설명하는 바와 같이, 디코딩가능한 유닛의 다른 계층의 전력을 관리하는 것에 기초하여 추가적으로 보존될 수도 있는 가용 전력이 존재하면, 모드 2 가 선택될 수도 있다.
TL 모드 1A 가 선택되면, 전이 영향에 의한 SS-RAP (I-프레임) 의 정규의 디코딩이 발생한다. 그러나, TL 모드 1 이 선택되면, 전력 관리 모듈 (100) 은 시각적 품질에서의 추가적 업데이트를 위해 VS/PL 모드 3 으로 진행할 수도 있다.
시퀀스/영상 계층
도 12 는 비디오 시퀀스/영상 계층 (VS/PL) 파서 및 프로세싱 유닛 (108) 을 도시한다. VS/PL 파서 및 프로세싱 유닛 (108) 은 VS/PL 정보 추출기 및 컴파일러 (280; 도 13), VS/PL 우선순위화된 PM 시퀀스 발생기 (282; 도 15), 및 VS/PL 디코딩 MIPS 및 전력 프로젝터 (284; 도 17) 를 포함한다. VS/PL 파서 및 프로세싱 유닛 (108) 은 VS/PL (70) 에 대한 디코딩 동작의 전력/연산 부하 관리에 이용하기 위한 3-위상 프로세스 (120) 를 수행할 것이다.
도 13 은 VS/PL 정보 추출기 및 컴파일러 (282) 를 도시한다. VS/PL 정보 추출기 및 컴파일러 (282) 는 비디오 스트림의 VS/PL 포맷에 의존한다. VS/PL (70) 에 따른 수신된 시간 슬라이스 (330) 의 일예는 도 14 에 도시되어 있다. 비디오 코덱 (인코더 엔진 및 디코더 엔진) 에 기초하여, 시퀀스 계층 (54) 에서 정보가 추출된다. MPEG-2 및 MPEG-4 의 경우, 비디오 시퀀스 계층 파라미터들이 추출된다. 이것은 비디오 디코더 엔진 (104) 으로의 인터페이스를 요구한다. 이 추출은 도 27 및 도 28 과 관련하여 후술할 것이다.
전송 계층 (52) 에 리스팅된 몇몇 파라미터들이 검색될 수 없으면 (예를 들어, I-프레임 위치 또는 패킷 ID), 이러한 정보는 시퀀스 계층 (54) 에서 추출될 것이다. VS/PL 정보 추출기 및 컴파일러 (280) 는 I-프레임 위치 (284) 및 패킷 ID (286) 를 추출한다. VS/PL 정보 추출기 및 컴파일러 (282) 는 또한 H.264 표준 또는 시퀀스 계층 (54) 과 같은 시퀀스 파라미터 세트 (SPS) 로부터 프로파일 (290), 레벨 (292), 및 파라미터 제약 (constrained_set_flags; 294) 을 추출한다. 영상 파라미터 세트 (PPS) 가 또한 이용될 수도 있다.
VS/PL 정보 추출기 및 컴파일러 (282) 는 또한 영상 정보 (296) 를 추출 또는 컴파일할 수도 있다. 영상 정보는 다수의 기준 프레임 (298), 해상도 (300), (미리 검색되지 않았다면) 프레임 레이트 (302), 디스플레이 파라미터들 (VUI) 등을 포함하여, 데이터를 디코딩/프로세싱하는데 요구되는 연산 부하에 액세스할 수도 있다. 추가적 정보는 정보 관련 기준 위치 (304), 기준 영상 사이즈 (306), PTS 및 기준 영상 정보 (308) 를 포함한다. 비-기준 영상 위치 (310), 비-기준 영상 사이즈 (312), 비-기준 영상 정보 (314) 및 PTS 가 또한 추출 또는 컴파일될 수도 있다. 컴파일된 정보는 정보 컴파일러 (316) 에 의해 컴파일된다. VS/PL 정보를 추출하기 위해, 시퀀스 헤더 및 모든 영상 헤더들만이 디코딩된다. 영상의 페이로드는, 도 27 및 도 28 에서 상세히 설명할 바와 같이, 디코딩되지 않고 남겨진다.
도 15 는 VS/PL 우선순위화된 PM 시퀀스 발생기 (282) 를 도시한다. VS/PL 우선순위화된 PM 시퀀스 발생기 (282) 에서, 추출된 정보로부터 절대 파라미터 값들이 유도된다. 디코딩가능한 유닛 (360) 의 VS/PL 우선순위화된 PM 시퀀스의 리스트는 개선된 입도를 위해 더 상세히 파퓰레이팅된다. 우선순위화는 도 8 과 관련하여 설명된 것과 유사하다. 그러나, 이 레벨 또는 계층에서, 전송 계층 (52) 에서 식별된 패킷 RAP1, RAP2, ..., RAPN (블록 362, 382, 388) 은 H.264 의 경우의 IDR 및 I-프레임과 같은 I-프레임의 타입에 기초하여 더 분류 및 우선순위화된다. 대안적으로, 모든 I-프레임들은 영상 헤더 정보를 이용하여 식별되고, 그 후 우선순위화된다.
예시적인 구성에서, 블록 또는 간격 RAP--GOP1 (364) 는 다른 VS/PL 디코딩가능한 유닛들로 더 세분화된다. 이 VS/PL 디코딩가능한 유닛은, 넌-IDR I-프레임 (개방 GOP) 이 IDR (또는 MPEG-2 의 폐쇄 GOP 의 시작시의 I-프레임) 에 후속하도록, 우선순위화된다. 따라서, 우선순위화는, I-프레임 (368) 이 IDR-프레임 (366) 에 후속하도록 설정될 수도 있다. I-프레임 (366) 에 P-프레임 (370) 이 후속하고, 기준 B-프레임 (372) 이 그에 후속한다. 그 후, 기준 B-프레임 (372) 에, b-프레임 (374) 로 표시된 비-기준 B-프레임들이 후속한다. 도 14 는 프레임 타입 (P, B 및 b) 을 나타내는 수신된 시간 슬라이스 (330) 를 도시한다.
따라서, 디코더 엔진 (104) 에 의해 디코딩될 VS/PL 우선순위화된 PM 시퀀스는, 블록 (362) 에서의 RAP1 에서 시작하고, 블록 (364) 에서의 RAP--GOP1 가 후속한다. RAP--GOP1 는 블록 (366, 368, 370, 372 및 374) 에 따라 우선순위화된다. RAP--GOP1 에 대응하는 간격은 b-프레임에 기초하여 더 우선순위화될 수 있다. 예시적인 구성에서, VS/PL 우선순위화된 PM 시퀀스는 블록 (376 내지 380) 에서의 b-프레임에 대한 사이즈 정보를 이용하여 더 우선순위화된다. 예를 들어, FRUC_THR 로 표시된 FRUC 임계값보다 큰 사이즈 정보를 갖는 b-프레임 (블록 376) 은, FRUC 임계값보다 작은 사이즈를 갖는 b-프레임보다 높은 우선순위를 가질 수도 있다. 또한, DROP_THR 로 표시된 Drop 임계값 보다 작은 b-프레임이 플래깅될 수도 있고, FRUC 없이 완전히 드롭될 수도 있다. 따라서, 블록 (378) 에서, 우선순위화된 기준은 DROP_THR < b < FRUC_THR 로 설정될 수도 있다. 블록 (380) 에서, 우선순위화 기준은 b < FRUC_TH 로 설정될 수도 있다. 이 임계값들은 프로세싱 사이클/요구된 전력에서의 퍼센티지 감소로 맵핑될 수 있다.
블록 (382) 은 RAP2 를 디코딩하기 위한 우선순위를 설정한다. RAP--GOP2 의 나머지에 대한 우선순위화가 전술한 블록 (366, 368, 370, 374, 376, 378 및 380) 과 유사하게 우선순위화되는 블록 (384) 이 블록 (382) 에 후속한다. VS/PL 우선순위화된 PM 시퀀스의 우선순위화는, RAPN 의 디코딩을 우선순위화하기 위한 블록 (388) 까지 블록 (386) 에서 계속된다. RAP--GOP2 의 나머지가 디코딩을 위해 우선순위화되는 블록 (390) 이 블록 (388) 에 후속한다.
연산 부하의 상태에 따라, 디코딩 동작의 시퀀스는 적절한 수의 낮은 우선순위 시퀀스 또는 선택가능한 디코딩가능 유닛들의 제거를 통해 감소 또는 변형될 수도 있다.
도 16 은 VS/PL 디코딩 MIPS 및 전력 프로젝터 (284) 에 의해 MIPS 를 VS/PL 에 대해 프로젝팅하는 프로세스 (400) 의 흐름도를 도시한다. 프로세스 (400) 는, IDR-프레임 사이즈를 디코딩하기 위해 MIPS 가 결정되는 블록 (402) 에서 시작한다. 모든 I-프레임 사이즈를 디코딩하기 위한 MIPS 가 결정되는 블록 (404) 이 블록 (402) 에 후속한다. 모든 P-프레임 사이즈를 디코딩하기 위한 MIPS 가 결정되는 블록 (406) 이 블록 (404) 에 후속한다. 모든 B-프레임을 디코딩하기 위한 MIPS 가 결정되는 블록 (408) 이 블록 (406) 에 후속한다. 모든 b-프레임 사이즈를 디코딩하기 위한 MIPS 가 다양한 조건에 의해 결정되는 블록 (410) 이 블록 (408) 에 후속한다. 예를 들어, b-프레임들 중 일부 (예를 들어, b1 프레임 및 b2 프레임) 가 드롭되면, 디코딩을 위해 프로젝팅된 MIPS 는 0 으로 설정된다.
도 17 은 VS/PL 디코딩 MIPS 및 전력 프로젝터 (284) 를 도시한다. 프레임 레벨에서, (IDR, I, P, B, b ... 와 같은) 프레임 타입, 사이즈 (306 또는 312) 및 프레임 레이트 (302) 가, 이들을 디코딩하는데 요구되는 프로세서 사이클의 양 또는 일부에 액세스하는데 이용될 수 있는 주요 팩터 (다른 분류자 (qualifier) 가 포함될 수도 있음) 이다. 특정 테스트 비트스트림을 이용하는 전력 프로파일링 및 분석이 이용되어, 프레임 타입 (IDR, I, P, B, b ...) 에 기초하여 프로세싱 사이클의 양과 프레임 사이즈 사이의 관계를 유도하는데 이용될 수 있다. 이 관계는 추후 MIPS 및 전력 프로젝션에 이용하기 위해 룩업 테이블에 정렬될 수도 있다. 다른 조건들은 분석 및 추후 외삽 동안 고정될 수도 있다. 예를 들어, 맵핑은 1-기준 영상 시나리오에 대해 유도될 수도 있고, 상대적 복잡도 대 5-기준 영상들이 독립 분석에 기초하여 외삽될 수도 있다. H.264 의 경우, 프레임 레벨 정보는 슬라이스 헤더가 파싱될 때까지 이용될 수 없다.
도 17 에서, VS/PL 디코딩 MIPS 및 전력 프로젝터 (284) 는 디코딩을 위해 프로젝팅된 MIPS (440) 의 리스트를 발생시킨다. 이 리스트는 예시 및 설명을 위해 발생된다. 행 R1 에서, VS/PL 디코딩 MIPS 및 전력 프로젝터 (284) 가 각각의 IDR 의 사이즈 (IDR) 에 기초하여 IDR-프레임에 대해 프로젝팅한다. 행 R2 에서, VS/PL 디코딩 MIPS 및 전력 프로젝터 (284) 는 I-프레임 사이즈 (size(I1), size(I2),...) 의 시퀀스에 기초하여 모든 I-프레임에 대한 프로젝팅된 MIPS 를 발생시킨다. 행 R3 에서, VS/PL 디코딩 MIPS 및 전력 프로젝터 (284) 는 P-프레임 사이즈 (size(P1), size(P2),...) 에 기초하여 모든 P-프레임에 대한 프로젝팅된 MIPS 를 발생시킨다. 행 R4 에서, VS/PL 디코딩 MIPS 및 전력 프로젝터 (284) 는 B-프레임 사이즈 (size(B1), size(B2),...) 에 기초하여 모든 B-프레임에 대한 프로젝팅된 MIPS 를 발생시킨다. 행 R5 에서, VS/PL 디코딩 MIPS 및 전력 프로젝터 (284) 는 B-프레임 사이즈 (size(b1), size(b2),...) 에 기초하여 모든 B-프레임 (비-기준 B-프레임) 에 대한 프로젝팅된 MIPS 를 발생시킨다. 모든 b-프레임에 대한 MIPS 를 프로젝팅하는 경우, b1 및 b2 가 드롭되는지 여부가 결정된다. 드롭되면, 프로젝팅된 MIPS 는 제로 (0) 로 설정된다. 또한, b1, b2 등을 대신하여 FRUC 와 관련한 프로젝션이 존재한다.
도 10 및 도 17 과 관련하여, 디코딩을 위해 프로젝팅된 MIPS (450) 의 리스트에서의 MIPS 프로젝션 각각에 대해, 대응하는 전력 요건이 적용된다. 소정의 인스턴스에서 MIPS 요건 및 가용 MIPS (또는 전력 요건 대 가용 전력/amps) 가 주어지면, 모든 프레임 또는 디코딩가능한 유닛인 선택된 프레임 (일부) 을 디코딩할지에 대한 판단이 도 10 과 관련하여 전술한 바와 유사한 방식으로 행해질 수 있다.
시퀀스/영상 레벨 프로세싱의 종료 시에는, 중간 입도 전력 감소 모드가 가능하다 (I-프레임이 통상적으로 GOP 의 비트의 30% 를 구성하고, 비트의 수가 MIPS 요건에 비례하는 것으로 가정하면, ~5% 의 단계들로 0 내지 60% 의 감소가 가능하다). 프로세서 부하 및 전력 레벨의 현재 상태에 대한 피드백에 따라, 동작의 시퀀스가 낮은 우선순위 엔티티의 적절한 수의 제거를 통해 단축된다. 시퀀스/영상 계층에서 가능한 모드들이 전력 요건을 증가시키기 위해 도 18 에 리스트되어 있다.
도 18 은 VS/PL 모드 동안 다중층 저전력 모드 세트 발생기 (114) 를 도시한다. 다중층 저전력 모드 세트 발생기 (114) 는 저전력 모드 (450) 의 리스트를 발생시킨다. 이 리스트는 예시의 목적으로 발생된다. 이 리스트는 RAP 및 모든 I-프레임들 이용하여 슬라이드쇼를 디코딩하기 위한 명령들에 대응하는 VS/PL 계층 모드 3 을 포함한다. 따라서, 모드 1A 가 선택되면, I-프레임들 전부가 개선된 시각적 품질 또는 입도에 대해 디코딩될 수도 있도록, 전력 관리 모듈 (100) 은 추가적 MIPS 가 가용인지 여부를 평가할 것이다. 모든 I-프레임들 및 P-프레임들만을 이용하여 감소된 프레임 레이트에 기초하여 디코딩하기 위한 명령들에 대응하는 VS/PL 계층 모드 4A 가 VS/PL 계층 모드 3 에 후속한다. B-(및 b) 프레임을 대신하여 선택적인 FRUC 만에 의해 모든 I-프레임들 및 P-프레임들을 이용하여 감소된 프레임 레이트에 기초하여 디코딩하기 위한 명령들에 대응하는 VS/PL 계층 모드 4B 가 VS/PL 계층 모드 4A 에 후속한다. 모드 4B 에서, I 및 P-프레임들이 정규의 디코딩을 이용하여 디코딩된다. 그러나, B-프레임들은 디코딩되지 않는다. 대신에, 선택적인 FRUC 가 모든 B 또는 b-프레임들에 대해 각각의 B 또는 b-프레임을 대신하여 대체된다. 전술한 I-프레임들 및 P-프레임들과 같은 가용 전력에 기초하여 RAP--GOP 를 선택적으로 디코딩하기 위한 명령들에 대응하는 VS/PL 계층 모드 4C 가 VS/PL 계층 모드 4B 에 후속한다. 그러나, 대안적 동작으로서, 선택적인 FRUC 는 B 또는 b-프레임의 선택적인 수에 대해 각각의 B 또는 b-프레임을 대신하여 이용된다. 모든 I 및 P- 프레임들을 이용하여 (모드 4C 보다 높은) 감소된 프레임 레이트에 기초하여 디코딩하기 위한 명령에 대응하는 VS/PL 계층 모드 4D 가 VS/PL 계층 모드 4C 에 후속한다. 모든 B-프레임들이 또한 포함될 수도 있다. 대안적으로, 선택적인 FRUC 가 각각의 B-프레임을 대신하여 (선택적으로는 B-프레임의 선택적인 수에 대해) 이용되고, b-프레임에 대해 어떠한 동작도 이용되지 않는다. 대안적으로, b-프레임들은 스킵되거나 우회될 수도 있다. 모든 수신된 프레임들 (I, P, B 및 b) 를 디코딩하기 위한 명령들에 대응하는 VS/PL 계층 모드 5 가 VS/PL 계층 모드 4D 에 후속한다.
VS/PL 계층 모드 3 또는 5 가 선택되었다면, 추가적인 대안적 동작이 스킵 매크로블록 (MB) 을 대체할 것이다. 또한, 모드 2 로부터, 추가적으로 향상된 시각적 품질 또는 입도가 모드 4A-4D 및 5 에 의해 부여된 개선에 의해 달성될 수도 있다.
슬라이스/MB 계층
도 19 는 슬라이스/매크로블록 계층 (S/MBL) 파서 및 프로세싱 유닛 (110) 을 도시한다. S/MBL 파서 및 프로세싱 유닛 (110) 은 S/MBL 정보 추출기 및 컴파일러 (460; 도 20), S/MBL 우선순위화된 PM 시퀀스 발생기 (462; 도 21) 및 S/MBL 디코딩 MIPS 및 전력 추정기 (464) 를 포함한다. S/MBL 파서 및 프로세싱 유닛 (110) 은, S/MBL (72) 에 대한 디코딩 동작의 전력/부하 관리에 이용하기 위해 3-위상 프로세서 (120) 를 수행할 것이다.
도 20 은 S/MBL 정보 추출기 및 컴파일러 (460) 를 도시한다. S/MBL 정보 추출기 및 컴파일러 (460) 는, 비디오 비트스트림이 압축되었던 프로토콜 또는 표준에 의존한다. 여기서, S/MBL 정보 추출기 및 컴파일러 (460) 는 슬라이스 정보 (470) 및 MB 정보 (472) 를 추출한다. 슬라이스 정보 (470) 및 MB 헤더는 도 15 로부터 우선순위화된 시퀀스에서 식별되는 영상에 대응하는 영상에 대해 파싱된다. 이전의 계층 VS/PL (70) 에서 우선순위화된 시퀀스 (도 15) 로부터의 프레임들의 선택 부분은 디코딩되기 위해 플래깅될 수도 있다. 디코딩은, 더 정교한 입도의 전력 관리가 요구되면 모든 영상에 대해 계속될 수도 있음을 유의해야 한다. 따라서, 오직 슬라이스 헤더 및 MB 헤더가 디코딩된다.
헤더가 에러인 것으로 검출되면, MB 또는 전체 슬라이스에 대한 계수/MB 데이터가 폐기될 수도 있다. 선택적으로, 제로 MV 은닉이 적용될 수도 있고, 더 정교한 에러 정정 (EC) 에 의해 추후 개선될 수도 있다. MB 정보 (472) 는 MB 타입 (474), 모션 벡터 (MV; 476), 모드 (478), 사이즈 (480), 다른 정보 (482) 및 프레임 당 MB 맵 (484) 을 포함한다.
예시적인 프레임 당 MB 맵은, 본 출원과 동시에 출원되고 대리인 열람번호 제 071445 호이며, 이하 상세히 설명하는 바와 같이 참조로 본 명세서에 통합된 미국 가출원 제 12/145,900 호에 개시되어 있다.
도 21 은 S/MBL 우선순위화된 PM 시퀀스 발생기 (462) 를 도시한다. S/MBL 우선순위화된 PM 시퀀스 (490) 의 리스트는 슬라이스 정보 및 MP 맵을 이용하여, 도 15 의 우선순위화된 리스트의 각각의 프레임의 복잡도를 추정한다. 일 구성에서, 오직 블록 (492) 에서의 P-프레임 슬라이스 및 블록 (502) 에서의 B-프레임 슬라이스만이 더 우선순위화된다. 이전의 계층에서, 모든 I-프레임은 VS/PL 의 임의의 선택된 모드에 대해 디코딩될 것이다. P-프레임 슬라이스는 블록 (494) 에서의 슬라이스 당 ROI MB 및 블록 (496) 에서의 모드 평활화를 갖는 넌-ROI MB 에 기초하여 더 우선순위화된다. 모드 평활화는 블록 (498) 에서의 강제된 균일 모션 및 블록 (500) 에서의 강제된 P 스킵에 따라 더 우선순위화된다. B-프레임 슬라이스는 블록 (504) 에서의 슬라이스 당 ROI MB 및 블록 (506) 에서의 모드 평활화를 갖는 넌-ROI MB 에 기초하여 더 우선순위화된다. 모드 평활화는 블록 (507) 에서의 강제된 균일 모션 및 블록 (508) 에서의 강제된 B 스킵에 따라 더 우선순위화된다.
모드 평활화는 MB 를 유사한 특성으로 그룹화하도록 적용될 수도 있다. MB 의 모든 3×3 또는 5×5 윈도우에 있어서, MB 의 윈도우가 모드의 균일성을 위해 액세스된다. 윈도우 내의 아웃라이어 (나머지 MB 와는 상이한 모드를 갖는 MB) 가 식별된다. 아웃라이어가 약간 상이하면, 이들은 윈도우 모드로 강제된다. 그렇지 않으면, 아웃아이어에 대한 모드가 유지된다. 예를 들어, 3×3 MB 윈도우에서, 하나의 MB 가 인터 모드이고 나머지 MB 들이 스킵되면, 그리고 그 인터 MB 중 (CBP 또는 MB 사이즈로 표시되는) 잔여물이 Skip_threshold 보다 작으면, 그 MB 는 모드를 스킵하도록 강제된다. 모드 평활화 후, 스킵 대 다이렉트/인터 모드 MB 의 비율이 연산되고, 복잡도의 팩터로서 포함된다. 또한, 스킵 MB 의 접속된 영역들이 (대리인 열람번호 제 071445 호를 갖는 특허 출원 번호 제 12/145,900 호에서와 같이) MB 확장 (dilation) 및 MB 침식을 통해 타일로 결합될 수도 있다. 그 후, 타일은 스킵/정적, 비-정적, 균일 모션, 관심 영역 (ROI, 상대 MB/타일 사이즈에 기초) 등으로 분류될 수 있다. 균일 모션 타일의 경우, MB 의 MV 는 정량화될 수도 있고, 타일은 하나의 MV 상에 강제될 수도 있다 (이것은 이 MB 들의 잔여물/CBP 가 제로 또는 거의 제로이면 행해질 수도 있음을 유의한다). 다른 옵션은, 오직 비-정적 또는 ROI 타일들이 디코딩되고 나머지가 스킵되도록 강제되는 경우이다. 이 경우, 넌-ROI MB 의 일부는 스킵 이외의 모드일 수도 있지만, 블록 (500 및 508) 에서와 같이 스킵되도록 강제될 것이다.
도 22 는 S/MBL 모드 동안 다중층 저전력 모드 세트 발생기 (114) 를 도시한다. 다중층 저전력 모드 세트 발생기 (114) 는 저전력 모드 (650) 의 계층적 리스트를 발생시킨다. 프레임 내의 MB 중 어떤 MB 및 수신된 프레임 중 어떤 프레임이 프로세싱될지를 조작할 능력은 디코딩 및 렌더링 프로세스를 관리하는데 있어서 상당한 레벨의 입도를 제공한다. 또한, 전술한 MB 레벨의 전력 최적화는 디코딩 동안 (온더플라이로) 수행될 수도 있다. 또한, 상세한 프로파일링 및 전력 분석이 요구되어, 전력에서의 감소 비율을 대응하는 저전력 모드에 맵핑하도록 요구된다.
예시적인 모드들은 S/MBL 모드 6A, 6B, 6C, 7A, 7B, 7C 및 8 로서 개시된다. 모드 6A 에서, I-프레임은 I-프레임의 정규의 디코딩마다 디코딩된다. 그러나, 추가적인 대안적 동작들이 발생하여, 전력이 허용하는 시각적 품질 또는 입도를 개선한다. 예를 들어, 모드 6A 에서, 넌-ROI MB 를 갖는 P-프레임은 P_Skips 로 강제될 수도 있고, B- 및 b-프레임은 선택적 FRUC 로 강제될 수도 있다. 모드 6B 에서, I-프레임은 I-프레임의 정규의 디코딩마다 디코딩된다. 모드 6B 에서의 대안적 동작은 모드 평활화를 갖는 P-프레임을 P_Skips 로 강제하고, B- 및 b-프레임을 선택적 FRUC 로 강제하는 것을 포함할 수도 있다. 모드 6C 에서, I-프레임들은 정규의 디코딩 프로세스를 따라 디코딩된다. 그러나, 대안적 동작으로서, 모드 평활화를 갖는 P-프레임들은 균일 모션으로 강제될 수도 있고, B- 및 b-프레임들은 선택적 FRUC 로 강제될 수도 있다. 모드 7A 에서, I 및 P-프레임들은 정규의 디코딩 프로세스에 따라 디코딩된다. 그러나, 대안적 동작으로서, 넌-ROI MB 를 갖는 B-프레임들은 Skips 로 강제된다. 모드 7B 에서, I 및 P-프레임들은 정규의 디코딩 프로세스에 따라 디코딩된다. 그러나, 대안적 동작으로서, 모드 평활화를 갖는 B-프레임들은 Skips 로 강제된다. 모드 7C 에서, I 및 P-프레임들은 정규의 디코딩 프로세스에 따라 디코딩된다. 그러나, 대안적 동작으로서, 모드 평활화를 갖는 B-프레임들은 균일한 모션으로 강제된다. 모드 8 에서, 모든 수신된 프레임들 (I, P, B 및 b) 이 디코딩된다.
도 23 은 전력 관리 동작의 하이 레벨 블록도를 도시한다. 블록도는 디스플레이 프로세서 (28) 의 렌더링 스테이지 (28A) 와 통신하는 디코더 엔진 (104) 을 포함한다. 따라서, 전력 관리 (PM) 모듈 (100) 은 TL 모드, VS/PL 모드 및 S/MBL 모드에서 비트스트림들을 프로세싱한다. PM 모드 (100) 는 디코더 엔진 (104) 을 제어하여, 선택된 저전력 모드에 따라 디코딩가능한 유닛을 디코딩한다. 렌더링 동안 요구되는 전력은 또한 전술한 저전력 동작 모드 중 임의의 모드에서 프레임워크로부터의 우선순위화된 동작의 시퀀스로부터 유도된다. 또한, 디코더 엔진 (114) 의 출력은 다른 디바이스, 메모리 또는 장치로 전송될 수도 있다. 디코더로부터의 출력은 궁극적 저장 또는 소모 (디스플레이) 를 위한 다른 비디오 인에이블된 장치로 포워딩될 수도 있다. 그래픽 프로세싱 유닛 (34) 은 또한 디스플레이 프로세서 (28) 와 통신한다.
도 24 는 예시적인 표준 (정규의) 디코딩 프로세스 (700) 를 시퀀스 순서로 도시한다. 프로세스 (700) 는 또한 도 2d 와 관련하여 설명된다. 비디오 시퀀스 및 영상 계층에서 시작하여, 표준 (정규의) 디코딩 프로세스 (700) 는 블록 (704) 에서 시퀀스 헤더 (54A) 를 디코딩할 것이고, 이에 후속하여 블록 (704) 에서 영상 1 의 영상 헤더 (58A) 를 디코딩한다. 영상 1 의 영상 헤더를 디코딩한 후, 슬라이스 및 매크로블록 정보를 포함하는 영상 데이터 (58B) 가 디코딩된다. 그 후, 영상 1 데이터가 디코딩된 후, 모든 슬라이스 유닛이 디코딩되고 슬라이스 1-M 로 표시된다. 각각의 슬라이스가 유사하게 디코딩되기 때문에, 오직 하나의 슬라이스만 상세히 설명한다.
슬라이스 1 이 디코딩된 경우, 영상 1 의 슬라이스 1 의 슬라이스 헤더 (60A) 가 블록 (706) 에서 디코딩된다. 그 후, 영상 1 의 슬라이스 1 의 매크로블록 (MB) 1 의 MB 헤더 (62A) 가 블록 (708) 에서 디코딩된다. MB1 의 MB 헤더 (62A) 가 디코딩된 후, 영상 1 의 슬라이스 1 의 MB1 에 대한 관련 MB 데이터가 블록 (710) 에서 디코딩된다. 그 후, 다음 매크로블록이 획득된다. 따라서, 영상 1 의 슬라이스 1 의 매크로블록 (MB) 2 의 MB 헤더 (62A) 가 블록 (712) 에서 디코딩된다. MB2 의 MB 헤더가 디코딩된 후, 영상 1 의 슬라이스 1 의 MB2 에 대한 관련 MB 데이터 (62B) 가 블록 (714) 에서 디코딩된다. MB 데이터 (62B) 가 후속하는 매크로블록 헤더의 디코딩은 슬라이스 내의 모든 나머지 MB 들에 대해 계속된다. 이 예에서, N 개의 MB 들이 존재한다. 따라서, 영상 1 의 슬라이스 1 의 디코딩은, 블록 (716) 에서 영상 1 의 슬라이스 1 의 MB N 에 대한 MB 헤더를 디코딩하고, 그에 후속하여, 블록 (718) 에서 영상 1 의 슬라이스 1 의 MB N 의 관련 MB 데이터 (62B) 를 디코딩함으로써 종료될 것이다.
따라서, 프로세스 (700) 은 전술한 슬라이스 1 에 대한 것과 유사한 방식으로 나머지 슬라이스들 각각을 디코딩함으로써 영상 1 정보의 디코딩을 계속할 것이다. 이 예에서, M 개의 슬라이스들이 존재한다. 따라서, 블록 (720) 에서, 슬라이스 M 은 블록 (706 내지 718) 과 관련하여 전술한 방식으로 디코딩된다.
다음으로, 프로세스 (700) 는 영상 2 와 같은 다음 영상 프레임을 디코딩할 것이다. 영상 2 를 디코딩하기 위해, 프로세스 (700) 는 블록 (722) 에서 영상 2 의 영상 헤더 (58A) 를 디코딩하여 슬라이스 1-M 에 대한 위치를 유도할 것이다. 따라서, 블록 (724) 에서, 슬라이스 1 은 블록 (706 내지 718) 과 관련하여 전술한 방식으로 디코딩된다. 영상 2 의 모든 나머지 슬라이스들은 유사하게 디코딩된다. 따라서, 블록 (726) 에서, 슬라이스 M 은 블록 (706 내지 718) 과 관련하여 전술한 방식으로 디코딩되어 영상 2 의 디코딩을 완료한다.
프로세스 (700) 는 최종 영상 Z 까지 유사한 방식으로 순차적으로 모든 영상 프레임들의 디코딩을 반복한다. 이 예에서, 영상 1-Z 가 존재한다. 따라서, 최종 영상인 영상 Z 를 디코딩하기 위해, 프로세스 (700) 는 블록 (728) 에서의 영상 Z 의 영상 헤더 (58A) 를 디코딩한 후 블록 (730) 에서 슬라이스 1 을 디코딩할 것이다. 각각의 슬라이스는 블록 (732) 에서 슬라이스 M 까지 영상 Z 에서 디코딩된다.
도 25 는 전력 관리 동작을 갖는 TL 디코딩 프로세스 (800) 의 흐름도를 도시한다. 프로세스 (800) 은 도 6 및 8 과 관련하여 설명한 바와 같이, 디코딩가능한 유닛의 PM 시퀀스의 TL 정보 추출 및 TL 우선순위화가 발생하는 블록 (802) 에서 시작한다. 블록 (802) 에 후속하여 블록 (804) 에서는, MIPS 및/또는 전력 로딩이 TL 우선순위화된 PM 시퀀스에 대해 프로젝팅된다. 블록 (804) 에 후속하여 블록 (806) 에서는, TL 저전력 모드 세트에 대한 MIPS 가 프로젝팅된다. 블록 (806) 에 후속하여 블록 (808) 에서는, 비트스트림을 디코딩하기 위한 충분한 전력이 존재하는지 여부에 대한 결정이 행해진다. 결정이 "예" 이면, 정규의 디코딩 프로세스 (700) 가 도 24 와 관련하여 설명한 과정에 따라 블록 (810) 에서 발생할 수도 있다. 그러나, 결정이 "아니오" 이면, 옵션으로서, 사용자는, 블록 (812) 에서, 예를 들어, 비디오 재생을 위해 전력이 불충분함을 통지받을 수도 있다. 사용자에게는 선택할 수 있는 모드 1, 1A 및 2 에 대응하는 저전력 모드 옵션이 주어질 것이다. 대안적으로, 저전력 모드가 자동으로 선택될 수도 있다. 블록 (812) 에 후속하여, TL 저전력 모드가 사용자에 의해 또는 자동으로 선택되는 블록 (814) 가 후속한다. 도 25 의 흐름도는 도 26 으로 진행한다.
도 26 은 전력 관리 동작을 갖는 VS/PL 디코딩 프로세스 (900) 의 흐름도를 도시한다. 프로세스 (900) 는, 도 13 및 도 15 에 도시된 바와 같이, 블록 (902) 에서 VS/PL 정보 추출 및 PM 시퀀스의 VS/PL 우선순위화를 수행한다. 블록 (904) 에서, 모든 프레임 타입 (디코딩가능한 유닛) 에 대한 MIPS 가 도 16 및 17 과 관련하여 설명된 바와 같이 프로젝팅된다. 블록 (906) 에서는, 도 18 에 도시된 바와 같이 각각의 VS/PL 저전력 모드 세트에 대한 MIPS 및/또는 전력 로딩이 VS/PL 우선순위화된 PM 시퀀스에 기초하여 프로젝팅된다. 프로젝팅된 MIPS 에 기초하여, PM 시퀀스는 시각적 품질 및 입도에 기초하여 함께 그룹화된다. (모든 시퀀스와 같은) 시퀀스의 일부는 불충분한 전력 때문에 디코딩되지 않을 수도 있다. 따라서, 블록 (908) 에서, 최대 가용 전력 아래인 VS/PL 저전력 모드 세트로부터의 저전력 모드들의 랭킹된 서브세트가 발생될 수도 있다. 랭킹은 개선된 시각적 품질 및/또는 입도의 함수이다. 블록 (910) 에서는, 선택적으로, 사용자에게 한정된 전력이 통지될 수도 있고, 저전력 모드 옵션의 선택이 제공될 수도 있다. 블록 (912) 에서, 서브세트의 최상으로 랭킹된 저전력 모드가 선택될 수도 있고, 또는 저전력 모드가 사용자에 의해 선택될 수도 있다. 블록 (914) 에서, 선택된 VS/PL 저전력 모드에 기초하여, 디코딩은, 디코딩 동작들을 도 24 의 정규의 디코딩 프로세스 (700) 로 적절하게 다시 삽입함으로써 시작한다.
일 구성에서, 하나의 선택된 저전력 모드에 기초하여 각각의 프레임이 디코딩된 후, MIPS 는 리-프로젝팅될 수도 있다. 그 후, 비트스트림 내의 다음 프레임 또는 다른 디코딩되지 않은 프레임이 상이하게 선택된 모드를 이용하여 디코딩될 수도 있다. 따라서, 저전력 모드는 비트스트림의 디코딩 동안 온더플라이로 동적으로 변경될 또는 발생될 수도 있다.
도 27 은 도 24 의 정규의 디코딩 프로세스 (700) 로부터 분리된 VS/PL 정보 추출 프로토콜 (902A) 의 블록도를 도시한다. 도 27 에서, VS/PL 정보 추출 프로토콜 (92A) 은 블록 (950) 에서 시퀀스 헤더 (54A) 를 디코딩할 것이다. 따라서, 영상 1-N 의 위치는 영상 1-N 에 대해 표시된 각각의 블록 위의 화살표로 표시된 바와 같이 유도된다. 블록 (952) 에서, 영상 1 의 영상 헤더 (58A) 가 디코딩된다. 블록 (954) 에서, 영상 2 의 영상 헤더 (58A) 가 디코딩된다. 모든 영상 헤더들이 디코딩된다. 블록 (956) 에서, 영상 Z (최종 영상) 에 대한 영상 헤더가 디코딩된다. 따라서, 영상 헤더 (58A) 의 디코딩은, 디코딩가능한 유닛의 PM 시퀀스가 특정 비트스트림 및 디코딩가능한 유닛의 PM 시퀀스에 대해 프로젝팅된 MIPS 에 대해 유도되게 허용한다.
도 28 은 VS/PL 정보 추출 프로토콜 (902A) 에 따른 비트스트림으로부터 VS/PL 디코딩된 유닛의 블록도를 도시한다. 시퀀스 헤더 (54A) 는, 그 시퀀스 헤더 (54A) 가 디코딩된 것을 표시하기 위해 빗금으로 표시되어 있다. 또한, 영상 1-N 각각에 대한 영상 헤더 (58A) 는, 그 영상 헤더 (58A) 가 디코딩된 것을 표시하기 위해 빗금으로 표시되어 있다. 영상 데이터 (58B) 는 이 포인트에서 디코딩되지 않고 남아있음을 표시하기 위해 빗금되지 않고 남아있다. 시퀀스 데이터 (54B) 또한 빗금되지 않고 남아있다. 영상 헤더 (58A) 의 디코딩은, 영상 데이터를 디코딩하지 않고, 필요한 슬라이스 위치가 슬라이스 및 매크로블록 계층에 대해 획득되게 허용한다.
도 29 는 전력 관리 동작을 갖는 S/MBL 디코딩 프로세스 (1000) 의 흐름도를 도시한다. 프로세스 (1000) 는, 도 20 및 21 에서 설명된 바와 같이, 디코딩가능한 유닛의 PM 시퀀스의 S/MBL 정보 추출 및 S/MBL 우선순위화를 수행하는 블록 (1002) 에서 시작한다. 일 구성에서, P 및 B-프레임에 대한 정보만이 추출 및 우선순위화된다. 블록 (1004) 에서, S/MBL 저전력 모드들 각각에 대한 MIPS 가 리-프로젝팅된다. 블록 (1006) 에서, 최대 이용가능 전력 아래에 있는 S/MBL 저전력 모드로부터 저전력 모드들의 랭킹된 서브세트가 발생된다. 랭킹은 개선된 시각적 품질 및/또는 입도의 함수이다. 블록 (1008) 에서는, 선택적으로, 사용자에게 한정된 전력이 통지되고, 저전력 모드 옵션의 선택이 제공될 수도 있다. 블록 (1010) 에서, 서브세트의 최상으로 랭킹된 저전력 모드가 선택될 수도 있고, 또는 사용자에 의해 저전력 모드가 선택될 수도 있다. 블록 (1012) 에서, 선택된 S/MBL 저전력 모드에 기초하여, P- 및 B-프레임 슬라이스 및 MB 데이터 디코딩은, 디코딩 동작을 도 24 의 정규의 디코딩 프로세스 (700) 로 적절하게 다시 삽입함으로써 시작한다. 블록 (1012) 이후, MIPS 는, 저전력 모드가 나머지 가용 전력에 따라 업그레이드 또는 다운그래이드될 수 있도록, 하나 이상의 프레임들이 디코딩된 이후 리-프로젝팅될 수도 있다.
도 30 은 도 24 의 정규의 디코딩 프로세스 (700) 로부터 분리된 S/MBL 정보 추출 프로토콜 (1002A) 의 블록도를 도시한다. 도 30 은 도 31 과 관련하여 설명한다. 도 31 은 S/MBL 정보 추출 프로토콜 (1002A) 에 따른 비트스트림으로부터 S/MBL 디코딩된 유닛의 블록도를 도시한다. S/MBL 정보 추출 프로토콜 (1002A) 은 제 1 영상 1 에 대한 영상 데이터 (58B) 를 디코딩할 것이다. 영상 데이터 (58B) 를 디코딩하기 위해, 저전력 모드가 선택될 수 있을 때까지 오직 슬라이스 헤더 (60A) 및 MB 헤더 (62B) 가 디코딩된다. 영상 1-N 에 대한 블록 위의 화살표가 영상의 위치를 나타낸다. 화살표의 흑색 음영은 저전력 모드에 기초한 영상의 선택을 나타낸다. 화살표의 비-음영은 선택되지 않은 영상을 나타낸다. 블록 (1050) 에서, 영상 1 에 대한 슬라이스 헤더 (60A) 가 블록 (1050) 에서 디코딩된다. 블록 (1052) 에서, 영상 1 의 슬라이스 1 의 MB 1 의 MB 헤더 (62A) 가 디코딩된다. 블록 (1054) 에서, 영상 1 의 슬라이스 1 의 MB 2 의 MB 헤더 (62A) 가 디코딩된다. 영상 1 의 슬라이스 1 에 대한 모든 헤더들은, 영상 1 의 슬라이스 1 의 MB N 의 MB 헤더가 디코딩되는 블록 (1056) 에서 디코딩된다. 매크로블록 데이터 (62B) 는 디코딩되지 않는다. 영상 데이터 (58B), 슬라이스 헤더 (60A) 및 MB 헤더 (62A) 의 빗금은 이들이 디코딩된 것을 나타낸다.
각 슬라이스의 슬라이스 헤더 (60A) 가 디코딩된 후 슬라이스의 각각의 MB 의 MB 헤더가 디코딩된다. 블록 (1058) 에서, 영상 1 의 슬라이스 M (최종 슬라이스) 이 블록 (1050 내지 1056) 과 유사한 방식으로 디코딩된다. 모든 나머지 영상들은 유사한 방식으로 디코딩된다. 블록 (1060) 에서, 영상 Z (최종 영상) 가 블록 (1050 내지 1058) 과 관련하여 전술한 바와 같이 디코딩된다. 따라서, 슬라이스 및 매크로블록 헤더의 디코딩은, 디코딩가능한 유닛의 PM 시퀀스가 특정 비트스트림 및 디코딩가능한 유닛의 PM 시퀀스에 대해 프로젝팅된 MIPS 에 대해 유도되도록 서용한다.
도 32 는 선택된 전력 관리 모드에 따른 최종 슬라이스 및 매크로블록 디코딩의 블록도를 도시한다. 슬라이스 데이터 (60B) 및 MB 데이터 (62B) 는 (모드 6A 내지 6C 및 7A 내지 7C 와 같은) 선택된 저전력 모드에 대해 디코딩될 PM 시퀀스에 따라 디코딩된다. 슬라이스 데이터 (60B) 및 MB 데이터 (62B) 는 이들이 디코딩된 것을 나타내도록 빗금으로 도시되어 있다.
도 33 은 다중층 전력 관리 모드의 계층적 배열에 대한 블록도를 도시한다. TL PM 프로세싱 (1200) 은 전송 계층 (52) 에서 전력 관리의 제 1 티어에서 시작한다. TL PM 프로세싱 (1200) 의 결과로서, 복수의 저전력 모드가 프로젝팅된 MIPS 에 기초하여 확립된다. 일 구성에서는, 모드 1, 1A 및 2 가 제안된다. 전력 관리 동작은 VS/PL PM 프로세싱 (1202) 에서 제 2 티어로 계속된다. 전력 관리의 제 2 티어는 시퀀스 및 영상 계층 (70) 에서 수행된다. VS/PL PM 프로세싱 (1202) 은 프로젝팅된 MIPS 및 시각적 품질 및/또는 입도의 함수로서 복수의 저전력 모드를 생성한다. 일 구성에서, 모드 3, 4A 내지 4D 가 발생된다. 모드 5 는 전력 모드지만, 모든 프레임들이 디코딩되지 않으면 저전력 모드가 아닐 수도 있다. 그럼에도 불구하고, 전력 관리 동작은 S/MBL PM 프로세싱 (1204) 에서 제 3 티어로 계속된다. 전력 관리의 제 3 티어는 슬라이스 및 매크로블록 계층 (1204) 에서 제 3 티어로 계속된다. 전력 관리의 제 3 티어는 슬라이스 매크로블록 계층 (72) 에서 수행된다. S/MBL PM 프로세싱 (1024) 은 프로젝팅된 MIPS 및 시각적 품질 및/또는 입도의 함수로서 복수의 저전력 모드를 생성한다. 일 구성에서는, 모드 6A 내지 6C 및 7A 내지 7C 가 발생된다. 모드 8 은 비트스트림의 일부가 디코딩된 후에 이용될 수도 있고, MIPS 의 리-프로젝션은 모든 나머지 프레임들이 디코딩될 수도 있음을 나타낸다.
하나 이상의 예시적인 실시형태에서, 설명된 기능들은 하드웨어, 소프트웨어 펌웨어 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되면, 기능들은 컴퓨터-판독가능 매체 상에서 하나 이상의 명령들 또는 코드로 저장될 수도 있고 이를 통해 송신될 수도 있다. 컴퓨터-판독가능 매체는 컴퓨터 저장 매체, 및 하나의 장소로부터 다른 장소로 컴퓨터 프로그램의 이송을 용이하게 하는 임의의 매체를 포함하는 통신 매체 모두를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수도 있다. 한정이 아닌 예시로서, 이러한 컴퓨터-판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 기타 광학 디스크 저장 매체, 자기 디스크 저장 매체 또는 기타 자기 저장 디바이스, 또는 원하는 프로그램 코드를 컴퓨터에 의해 액세스가능한 명령들 또는 데이터 구조들의 형태로 반송하거나 저장하는데 이용될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터-판독가능 매체로 적절하게 지칭된다. 예를 들어, 동축 케이블, 광섬유 케이블, 트위스트 쌍, 디지털 가입자 라인 (DSL), 또는 적외선, 무선 및 전자파와 같은 무선 기술을 이용하여 소프트웨어가 웹사이트, 서버 또는 기타 원격 소스로부터 송신되면, 그 동축 케이블, 광섬유 케이블, 트위스트 쌍, DSL, 또는 적외선, 무선 및 전자파와 같은 무선 기술이 매체의 정의에 포함된다. 여기서 사용되는 바와 같이, 디스크 (Disk 및 disc) 는 컴팩트 디스크 (CD), 레이져 디스크, 광 디스크, DVD, 플로피 디스크 및 통상적으로 데이터를 자기적으로 재생성하는 블루 레이 디스크를 포함하며, 디스크는 레이져를 이용하여 데이터를 광학적으로 재생성한다. 또한, 전술한 매체들의 조합이 컴퓨터-판독가능 매체의 범주 내에 포함될 것이다.
개시되어 있는 실시형태들에 대한 이전의 설명은 당업자로 하여금 본 발명을 제조 또는 이용할 수 있도록 제공된다. 당업자는 이들 실시형태에 대한 다양한 변형들을 명백히 알 수 있으며, 여기에서 정의된 일반적인 원리들은 본 발명의 사상 또는 범위를 벗어나지 않고도 다른 실시형태들에 적용될 수도 있다. 따라서, 본 발명은 여기에서 설명된 실시형태들에 제한되는 것이 아니라, 여기에서 개시된 원리 및 신규한 특징들과 부합하는 최광의 범위를 부여하려는 것이다.
Claims (26)
- 비디오 데이터를 포함하는 데이터 스트림을 프로세싱하는 방법으로서,
상기 데이터 스트림으로부터 정보를 추출 및 컴파일하는 단계; 및
상기 추출 및 컴파일된 정보에 기초하여, 디코딩 및 파싱 동작들을 위해 상기 데이터 스트림으로부터 전력 관리 (PM) 시퀀스들을 우선순위화하는 단계를 포함하는, 데이터 스트림을 프로세싱하는 방법. - 제 1 항에 있어서,
상기 우선순위화하는 단계는 디코딩 및 파싱 동작들 중 적어도 하나의 룩-어헤드 프로세싱에 기초하는, 데이터 스트림을 프로세싱하는 방법. - 제 1 항에 있어서,
상기 우선순위화된 전력 관리 (PM) 시퀀스들 각각에 의해 요구되는 전력의 프로젝션 (projection) 및 상기 우선순위화된 전력 관리 (PM) 시퀀스들 각각에 대해 요구되는 연산 부하의 프로젝션 중 적어도 하나를 계산하는 단계를 더 포함하는, 데이터 스트림을 프로세싱하는 방법. - 제 1 항에 있어서,
상기 전력 관리 (PM) 시퀀스들의 우선순위화에 기초하여 저전력 모드들의 계층적 리스트를 발생시키는 단계를 더 포함하는, 데이터 스트림을 프로세싱하는 방법. - 제 1 항에 있어서,
상기 전력 관리 (PM) 시퀀스들의 우선순위화는, 비디오의 시각적 품질 및 상기 디코딩 및 파싱 동작들의 입도 (granularity) 중 적어도 하나에 기초하는, 데이터 스트림을 프로세싱하는 방법. - 제 4 항에 있어서,
가용 전기 전력 또는 프로세싱 전력의 양에 응답하여 저전력 모드를 선택하는 단계; 및
상기 선택된 저전력 모드에 응답하여 상기 우선순위화된 전력 관리 시퀀스들 중 하나 이상을 선택적으로 디코딩하는 단계를 더 포함하는, 데이터 스트림을 프로세싱하는 방법. - 제 6 항에 있어서,
상기 선택적 디코딩은 상기 우선순위화된 전력 관리 (PM) 시퀀스들 각각에 의해 요구되는 전력 및 상기 우선순위화된 전력 관리 (PM) 시퀀스들 각각에 대해 요구되는 연산 부하 중 적어도 하나에 기초하는, 데이터 스트림을 프로세싱하는 방법. - 비디오 데이터를 포함하는 데이터 스트림을 프로세싱하는 디바이스로서,
상기 데이터 스트림으로부터 정보를 추출 및 컴파일하는 파서; 및
상기 추출 및 컴파일된 정보에 기초하여, 디코딩 동작들을 위해 상기 데이터 스트림으로부터 전력 관리 (PM) 시퀀스들을 우선순위화하는 프로세싱 유닛을 포함하는, 데이터 스트림을 프로세싱하는 디바이스. - 제 8 항에 있어서,
상기 우선순위화된 전력 관리 (PM) 시퀀스들 각각에 의해 요구되는 전력의 프로젝션 및 상기 우선순위화된 전력 관리 (PM) 시퀀스들 각각에 대해 요구되는 연산 부하의 프로젝션 중 적어도 하나를 계산하는 프로젝터를 더 포함하는, 데이터 스트림을 프로세싱하는 디바이스. - 제 8 항에 있어서,
상기 전력 관리 (PM) 시퀀스들의 우선순위화는, 비디오의 시각적 품질 및 상기 디코딩 동작들의 입도 중 적어도 하나에 기초하는, 데이터 스트림을 프로세싱하는 디바이스. - 제 8 항에 있어서,
상기 전력 관리 (PM) 시퀀스들의 우선순위화에 기초하여 저전력 모드들의 계층적 리스트를 발생시키는 발생기를 더 포함하는, 데이터 스트림을 프로세싱하는 디바이스. - 제 11 항에 있어서,
상기 프로세싱 유닛은,
가용 전기 전력 또는 프로세싱 전력의 양에 응답하여 저전력 모드를 선택하고;
상기 선택된 저전력 모드에 응답하여 상기 우선순위화된 전력 관리 (PM) 시퀀스들 중 하나 이상을 선택적으로 디코딩하는, 데이터 스트림을 프로세싱하는 디바이스. - 비디오 데이터를 포함하는 데이터 스트림을 프로세싱하는 장치로서,
상기 데이터 스트림으로부터 정보를 추출 및 컴파일하는 수단; 및
상기 추출 및 컴파일된 정보에 기초하여, 디코딩 동작들을 위해 상기 데이터 스트림으로부터 전력 관리 (PM) 시퀀스들을 우선순위화하는 수단을 포함하는, 데이터 스트림을 프로세싱하는 장치. - 제 13 항에 있어서,
상기 전력 관리 (PM) 시퀀스들을 우선순위화하는 수단은 상기 디코딩 동작들의 룩-어헤드 프로세싱에 기초하여 우선순위화하는, 데이터 스트림을 프로세싱하는 장치. - 제 13 항에 있어서,
상기 우선순위화된 전력 관리 (PM) 시퀀스들 각각에 의해 요구되는 전력의 프로젝션 및 상기 우선순위화된 전력 관리 (PM) 시퀀스들 각각에 대해 요구되는 연산 부하의 프로젝션 중 적어도 하나를 계산하는 수단을 더 포함하는, 데이터 스트림을 프로세싱하는 장치. - 제 13 항에 있어서,
상기 전력 관리 (PM) 시퀀스들의 우선순위화는, 비디오의 시각적 품질 및 상기 디코딩 동작들의 입도 중 적어도 하나에 기초하는, 데이터 스트림을 프로세싱하는 장치. - 제 13 항에 있어서,
상기 전력 관리 (PM) 시퀀스들의 우선순위화에 기초하여 저전력 모드들의 계층적 리스트를 발생시키는 수단을 더 포함하는, 데이터 스트림을 프로세싱하는 장치. - 제 17 항에 있어서,
가용 전기 전력 또는 프로세싱 전력의 양에 응답하여 저전력 모드를 선택하는 수단; 및
상기 선택된 저전력 모드에 응답하여 상기 우선순위화된 전력 관리 (PM) 시퀀스들 중 하나 이상을 선택적으로 디코딩하는 수단을 더 포함하는, 데이터 스트림을 프로세싱하는 장치. - 제 18 항에 있어서,
상기 선택적 디코딩은 상기 우선순위화된 전력 관리 (PM) 시퀀스들 각각에 의해 요구되는 전력 및 상기 우선순위화된 전력 관리 (PM) 시퀀스들 각각에 대해 요구되는 연산 부하 중 적어도 하나에 기초하는, 데이터 스트림을 프로세싱하는 장치. - 비디오 데이터를 포함하는 데이터 스트림을 프로세싱하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서,
상기 컴퓨터 판독가능 매체는, 실행되는 경우 프로세서로 하여금,
상기 데이터 스트림으로부터 정보를 추출 및 컴파일하게 하고;
상기 추출 및 컴파일된 정보에 기초하여, 디코딩 동작들을 위해 상기 데이터 스트림으로부터 전력 관리 (PM) 시퀀스들을 우선순위화하게 하는
명령들을 저장하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품. - 제 20 항에 있어서,
상기 전력 관리 (PM) 시퀀스들의 우선순위화는 상기 디코딩 동작들의 룩-어헤드 프로세싱에 기초하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품. - 제 20 항에 있어서,
상기 컴퓨터 판독가능 매체는, 실행되는 경우 프로세서로 하여금,
상기 우선순위화된 전력 관리 (PM) 시퀀스들 각각에 의해 요구되는 전력의 프로젝션 및 상기 우선순위화된 전력 관리 (PM) 시퀀스들 각각에 대해 요구되는 연산 부하의 프로젝션 중 적어도 하나를 계산하게 하는 명령들을 더 저장하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품. - 제 20 항에 있어서,
상기 전력 관리 (PM) 시퀀스들의 우선순위화는, 비디오의 시각적 품질 및 상기 디코딩 동작들의 입도 중 적어도 하나에 기초하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품. - 제 20 항에 있어서,
상기 컴퓨터 판독가능 매체는, 실행되는 경우 프로세서로 하여금,
상기 전력 관리 (PM) 시퀀스들의 우선순위화에 기초하여 저전력 모드들의 계층적 리스트를 발생시키게 하는 명령들을 더 저장하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품. - 제 24 항에 있어서,
상기 컴퓨터 판독가능 매체는, 실행되는 경우 프로세서로 하여금,
가용 전기 전력 또는 프로세싱 전력의 양에 응답하여 저전력 모드를 선택하게 하고;
상기 선택된 저전력 모드에 응답하여 상기 우선순위화된 전력 관리 (PM) 시퀀스들 중 하나 이상을 선택적으로 디코딩하게 하는
명령들을 더 저장하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품. - 제 25 항에 있어서,
상기 선택적 디코딩은 상기 우선순위화된 전력 관리 (PM) 시퀀스들 각각에 의해 요구되는 전력 및 상기 우선순위화된 전력 관리 (PM) 시퀀스들 각각에 대해 요구되는 연산 부하 중 적어도 하나에 기초하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US9017608P | 2008-08-19 | 2008-08-19 | |
US61/090,176 | 2008-08-19 | ||
US11498808P | 2008-11-14 | 2008-11-14 | |
US61/114,988 | 2008-11-14 | ||
US12/336,362 | 2008-12-16 | ||
US12/336,362 US8948270B2 (en) | 2008-08-19 | 2008-12-16 | Power and computational load management techniques in video processing |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20110044315A true KR20110044315A (ko) | 2011-04-28 |
Family
ID=41696379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117006386A KR20110044315A (ko) | 2008-08-19 | 2009-08-19 | 비디오 프로세싱에서의 전력 및 연산 부하 관리 기술 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8948270B2 (ko) |
EP (1) | EP2329640A1 (ko) |
JP (1) | JP2012500603A (ko) |
KR (1) | KR20110044315A (ko) |
CN (1) | CN102124725A (ko) |
TW (1) | TW201018231A (ko) |
WO (1) | WO2010022190A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9501114B2 (en) | 2012-07-16 | 2016-11-22 | Samsung Electronics Co., Ltd. | Apparatus and method for managing power based on data |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8908763B2 (en) * | 2008-06-25 | 2014-12-09 | Qualcomm Incorporated | Fragmented reference in temporal compression for video coding |
US8948270B2 (en) | 2008-08-19 | 2015-02-03 | Qualcomm Incorporated | Power and computational load management techniques in video processing |
US8964828B2 (en) * | 2008-08-19 | 2015-02-24 | Qualcomm Incorporated | Power and computational load management techniques in video processing |
JP2011109469A (ja) * | 2009-11-18 | 2011-06-02 | Canon Inc | コンテンツ受信装置及びコンテンツ受信装置の制御方法 |
GB2477527B (en) * | 2010-02-04 | 2015-12-23 | Advanced Risc Mach Ltd | Parallel parsing in a video decoder |
TWI408617B (zh) * | 2010-05-05 | 2013-09-11 | Giga Byte Tech Co Ltd | 繪圖處理器超頻工作性能之檢分方法 |
GB2482731B (en) * | 2010-08-13 | 2016-12-21 | Advanced Risc Mach Ltd | A video decoding apparatus and method |
JP2012165071A (ja) * | 2011-02-03 | 2012-08-30 | Sony Corp | 撮像装置、受信装置、映像送信システムおよび映像送信方法 |
US9807397B2 (en) * | 2011-04-11 | 2017-10-31 | Sharp Laboratories Of America, Inc. | System for power allocation |
US10277915B2 (en) | 2011-11-07 | 2019-04-30 | Qualcomm Incorporated | Signaling quantization matrices for video coding |
WO2013077236A1 (en) * | 2011-11-21 | 2013-05-30 | Canon Kabushiki Kaisha | Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and storage medium |
US9557800B2 (en) | 2012-08-31 | 2017-01-31 | Micron Technology, Inc. | Sequence power control |
US11768689B2 (en) | 2013-08-08 | 2023-09-26 | Movidius Limited | Apparatus, systems, and methods for low power computational imaging |
US9146747B2 (en) | 2013-08-08 | 2015-09-29 | Linear Algebra Technologies Limited | Apparatus, systems, and methods for providing configurable computational imaging pipeline |
GB2519804A (en) * | 2013-10-31 | 2015-05-06 | Nec Corp | Power saving in mobile radio communications device |
CN104093072B (zh) * | 2014-06-30 | 2017-06-16 | 京东方科技集团股份有限公司 | 一种视频信息播放系统和方法 |
Family Cites Families (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5268275A (en) | 1975-12-04 | 1977-06-06 | Chisso Corp | Material used for drainage and its manufacturing process |
US5655009A (en) | 1992-03-19 | 1997-08-05 | Fujitsu Limited | Modem unit |
JP2881065B2 (ja) | 1992-03-19 | 1999-04-12 | 富士通株式会社 | モデム装置 |
US5946040A (en) | 1993-03-25 | 1999-08-31 | Sony Corporation | Moving picture coding/decoding method and apparatus for decoders of various processing capability |
US5535401A (en) | 1994-04-05 | 1996-07-09 | International Business Machines Corporation | Method and system of power and thermal management for a data processing system using object-oriented program design |
JP3263807B2 (ja) | 1996-09-09 | 2002-03-11 | ソニー株式会社 | 画像符号化装置および画像符号化方法 |
US6633611B2 (en) | 1997-04-24 | 2003-10-14 | Mitsubishi Denki Kabushiki Kaisha | Method and apparatus for region-based moving image encoding and decoding |
US7068991B2 (en) | 1997-05-09 | 2006-06-27 | Parise Ronald J | Remote power recharge for electronic equipment |
SG116400A1 (en) | 1997-10-24 | 2005-11-28 | Matsushita Electric Ind Co Ltd | A method for computational graceful degradation inan audiovisual compression system. |
EP1578136A3 (en) | 1998-01-27 | 2005-10-19 | AT&T Corp. | Method and apparatus for encoding video shape and texture information |
DE69920460T2 (de) | 1999-10-25 | 2005-01-20 | Texas Instruments Inc., Dallas | Intelligente Leistungssteuerung in verteilten Verarbeitungssystemen |
JP3957937B2 (ja) | 1999-12-21 | 2007-08-15 | キヤノン株式会社 | 画像処理装置及び方法並びに記憶媒体 |
US6507618B1 (en) | 2000-04-25 | 2003-01-14 | Hewlett-Packard Company | Compressed video signal including independently coded regions |
CN1265645C (zh) | 2000-08-29 | 2006-07-19 | 皇家菲利浦电子有限公司 | 运行一种算法的方法以及一种可伸缩编程的处理设备 |
JP4552296B2 (ja) | 2000-09-08 | 2010-09-29 | ソニー株式会社 | 情報処理装置および情報処理方法、並びに記録媒体 |
KR100830747B1 (ko) | 2000-10-25 | 2008-05-20 | 텍사스 인스트루먼츠 인코포레이티드 | 분산된 프로세싱 시스템을 위한 인텔리젼트 전력 관리 |
US6931520B2 (en) | 2001-05-17 | 2005-08-16 | International Business Machines Corporation | Power management delay system using mouse pointer indicator to indicate power-up delay during powering up a powered down disk device |
US6704362B2 (en) | 2001-07-06 | 2004-03-09 | Koninklijke Philips Electronics N.V. | Resource scalable decoding |
JP3876687B2 (ja) | 2001-10-30 | 2007-02-07 | ソニー株式会社 | 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム |
EP1459549A2 (en) | 2001-12-12 | 2004-09-22 | Koninklijke Philips Electronics N.V. | Processing a media signal on a media system |
JP3779215B2 (ja) | 2002-01-28 | 2006-05-24 | 富士通株式会社 | 携帯型情報処理装置 |
US6968441B1 (en) | 2002-04-12 | 2005-11-22 | Barsa Consulting Group, Llc | Method and system for managing interdependent resources of a computer system |
US7287170B2 (en) | 2002-05-14 | 2007-10-23 | Ati Technologies Inc. | Method and apparatus for power management using system and request tokens |
US6710578B1 (en) | 2002-08-27 | 2004-03-23 | Motorola, Inc. | Power resource management in a portable communication device |
US7450963B2 (en) | 2002-08-27 | 2008-11-11 | Qualcomm Incorporated | Low power dual processor architecture for multi mode devices |
US9796848B2 (en) | 2002-10-25 | 2017-10-24 | Honeywell International Inc. | Foaming agents and compositions containing fluorine substituted olefins and methods of foaming |
JP3504256B1 (ja) | 2002-12-10 | 2004-03-08 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化方法、動画像復号方法、動画像符号化装置、及び動画像復号装置 |
US20040158878A1 (en) | 2003-02-07 | 2004-08-12 | Viresh Ratnakar | Power scalable digital video decoding |
RU2305377C2 (ru) | 2003-05-20 | 2007-08-27 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Способ уменьшения искажения сжатого видеоизображения и устройство для его реализации |
JP2005031826A (ja) | 2003-07-09 | 2005-02-03 | Hitachi Ltd | センサデバイスおよびその制御方法 |
US7366462B2 (en) | 2003-10-24 | 2008-04-29 | Qualcomm Incorporated | Method and apparatus for seamlessly switching reception between multimedia streams in a wireless communication system |
GB2408657B (en) | 2003-11-28 | 2006-04-12 | Motorola Inc | Radio resource management |
US20050136961A1 (en) | 2003-12-17 | 2005-06-23 | Telefonaktiebolaget Lm Ericsson (Publ), | Power control method |
GB0400658D0 (en) | 2004-01-13 | 2004-02-11 | Koninkl Philips Electronics Nv | Portable device for receiving media content |
US7885926B2 (en) | 2004-01-21 | 2011-02-08 | GM Global Technology Operations LLC | System and apparatus for wireless synchronization of multimedia content |
JP2005303738A (ja) | 2004-04-13 | 2005-10-27 | Canon Inc | 画像処理装置 |
JP2005300943A (ja) | 2004-04-13 | 2005-10-27 | Canon Inc | 情報表示位置制御方法及び装置 |
JP4763312B2 (ja) | 2004-04-23 | 2011-08-31 | 住友電気工業株式会社 | 動画像データの符号化方法、復号化方法、これらを実行する端末装置、及び双方向対話型システム |
JP5007228B2 (ja) | 2004-06-14 | 2012-08-22 | プレコード,インコーポレイテッド | 画像クリーンアップおよび前置符号化 |
JP2006014086A (ja) | 2004-06-28 | 2006-01-12 | Canon Inc | 動画像符号化装置及び動画像符号化方法 |
JP2006101322A (ja) | 2004-09-30 | 2006-04-13 | Toshiba Corp | 情報処理装置および同装置で用いられるプログラム |
EP1646243B1 (en) | 2004-09-30 | 2009-06-24 | Kabushiki Kaisha Toshiba | Information processing apparatus and program for use in the same |
JP2006113767A (ja) | 2004-10-14 | 2006-04-27 | Sony Corp | 情報処理システム、および、情報処理方法、並びに、プログラム |
US8356327B2 (en) | 2004-10-30 | 2013-01-15 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
US20060133495A1 (en) | 2004-12-22 | 2006-06-22 | Yan Ye | Temporal error concealment for video communications |
US8041967B2 (en) * | 2005-02-15 | 2011-10-18 | Hewlett-Packard Development Company, L.P. | System and method for controlling power to resources based on historical utilization data |
WO2006109985A1 (en) | 2005-04-13 | 2006-10-19 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding video signals in intra-base-layer prediction mode by selectively applying intra-coding |
US7920584B2 (en) | 2005-05-04 | 2011-04-05 | Arm Limited | Data processing system |
US7721011B1 (en) | 2005-05-09 | 2010-05-18 | Oracle America, Inc. | Method and apparatus for reordering memory accesses to reduce power consumption in computer systems |
JP2007013315A (ja) | 2005-06-28 | 2007-01-18 | Toshiba Corp | 情報処理装置および動画像再生方法 |
CN101223490A (zh) | 2005-07-14 | 2008-07-16 | Nxp股份有限公司 | 使用历史负载简档来动态调整手持多媒体设备处理器内核的工作频率及可用功率 |
US20070021140A1 (en) | 2005-07-22 | 2007-01-25 | Keyes Marion A Iv | Wireless power transmission systems and methods |
US7529948B2 (en) * | 2005-08-25 | 2009-05-05 | Apple Inc. | Methods and apparatuses for dynamic power estimation |
US7337339B1 (en) | 2005-09-15 | 2008-02-26 | Azul Systems, Inc. | Multi-level power monitoring, filtering and throttling at local blocks and globally |
US8780997B2 (en) | 2005-11-18 | 2014-07-15 | Apple Inc. | Regulation of decode-side processing based on perceptual masking |
US8886261B2 (en) | 2005-12-06 | 2014-11-11 | Motorola Mobility Llc | Multi-mode methods and devices utilizing battery power level for selection of the modes |
JP4654300B2 (ja) | 2005-12-16 | 2011-03-16 | インターデイジタル テクノロジー コーポレーション | マルチ無線アクセス技術機器用のモビリティミドルウェアアーキテクチャ |
WO2007078663A2 (en) | 2005-12-16 | 2007-07-12 | Interdigital Technology Corporation | Mobility middleware architecture for multiple radio access technology apparatus |
TW200805047A (en) | 2005-12-23 | 2008-01-16 | Koninkl Philips Electronics Nv | Performance analysis based system level power management |
US20070192641A1 (en) | 2006-02-10 | 2007-08-16 | Intel Corporation | Method and apparatus to manage power consumption in a computer |
US7484110B2 (en) | 2006-03-16 | 2009-01-27 | Microsoft Corporation | Adaptive power management |
US20070220293A1 (en) | 2006-03-16 | 2007-09-20 | Toshiba America Electronic Components | Systems and methods for managing power consumption in data processors using execution mode selection |
US7770040B2 (en) | 2006-03-24 | 2010-08-03 | Qualcomm Incorporated | Method and apparatus for reducing power consumption of a co-processor by switching to low power dedicated memory in which image data is periodically updated |
US8848789B2 (en) | 2006-03-27 | 2014-09-30 | Qualcomm Incorporated | Method and system for coding and decoding information associated with video compression |
US8750387B2 (en) | 2006-04-04 | 2014-06-10 | Qualcomm Incorporated | Adaptive encoder-assisted frame rate up conversion |
JP2007328461A (ja) | 2006-06-06 | 2007-12-20 | Matsushita Electric Ind Co Ltd | 非対称マルチプロセッサ |
US8379723B2 (en) | 2006-06-27 | 2013-02-19 | Intel Corporation | Chroma motion vector processing apparatus, system, and method |
US7827425B2 (en) | 2006-06-29 | 2010-11-02 | Intel Corporation | Method and apparatus to dynamically adjust resource power usage in a distributed system |
US7836320B2 (en) * | 2006-07-07 | 2010-11-16 | Arm Limited | Power management in a data processing apparatus having a plurality of domains in which devices of the data processing apparatus can operate |
TWI344793B (en) * | 2006-07-24 | 2011-07-01 | Ind Tech Res Inst | Power aware method and apparatus of video decoder on a multi-core platform |
JP2008042566A (ja) | 2006-08-07 | 2008-02-21 | Toshiba Corp | 情報処理装置および情報処理装置のデコード制御方法 |
JP2008067194A (ja) | 2006-09-08 | 2008-03-21 | Toshiba Corp | フレーム補間回路、フレーム補間方法、表示装置 |
JP4775210B2 (ja) | 2006-09-26 | 2011-09-21 | 株式会社日立製作所 | 画像信号処理装置、画像高解像度化方法、画像表示装置、記録再生装置 |
US9883202B2 (en) | 2006-10-06 | 2018-01-30 | Nxp Usa, Inc. | Scaling video processing complexity based on power savings factor |
US8126461B2 (en) | 2006-11-01 | 2012-02-28 | Snrlabs Corporation | System, method, and computer-readable medium for user equipment managing multiple radio networks for handover and low-power operations |
JP2008124646A (ja) | 2006-11-09 | 2008-05-29 | Orion Denki Kk | ビデオデコーダ及び該ビデオデコーダを備えた携帯型デジタル放送受信機 |
JP4201809B2 (ja) | 2006-11-13 | 2008-12-24 | 三洋電機株式会社 | 手ぶれ補正装置及び方法並びに撮像装置 |
US7961756B1 (en) | 2006-11-21 | 2011-06-14 | Picomobile Networks, Inc. | Integrated multimedia system |
US7941677B2 (en) | 2007-01-05 | 2011-05-10 | Avaya Inc. | Apparatus and methods for managing power distribution over Ethernet |
US8125936B2 (en) | 2007-03-08 | 2012-02-28 | Marvell International Ltd. | Low power data streaming |
CN101720532B (zh) | 2007-03-13 | 2012-10-03 | 马维尔国际有限公司 | 用于电池供电的移动通信设备的经优化分组处理体系结构 |
KR100866230B1 (ko) | 2007-04-12 | 2008-10-30 | 삼성전자주식회사 | 파노라마 사진 촬영 방법 |
US20080307240A1 (en) | 2007-06-08 | 2008-12-11 | Texas Instruments Incorporated | Power management electronic circuits, systems, and methods and processes of manufacture |
JP2009033581A (ja) | 2007-07-30 | 2009-02-12 | Hitachi Ltd | 画像信号記録再生装置 |
US8089557B2 (en) | 2007-10-04 | 2012-01-03 | Hitachi, Ltd. | Video signal processing apparatus, video signal processing method and video display apparatus |
US8279946B2 (en) | 2007-11-23 | 2012-10-02 | Research In Motion Limited | System and method for providing a variable frame rate and adaptive frame skipping on a mobile device |
US7795752B2 (en) | 2007-11-30 | 2010-09-14 | Caterpillar Inc | System and method for integrated power control |
US8948822B2 (en) | 2008-04-23 | 2015-02-03 | Qualcomm Incorporated | Coordinating power management functions in a multi-media device |
US8165211B2 (en) | 2008-05-30 | 2012-04-24 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and apparatus of de-interlacing video |
US8908763B2 (en) | 2008-06-25 | 2014-12-09 | Qualcomm Incorporated | Fragmented reference in temporal compression for video coding |
US20100011012A1 (en) | 2008-07-09 | 2010-01-14 | Rawson Andrew R | Selective Compression Based on Data Type and Client Capability |
US8159520B1 (en) | 2008-07-11 | 2012-04-17 | Sprint Communications Company L.P. | Ensuring quality of a video stream through a telecommunications network |
US8948270B2 (en) | 2008-08-19 | 2015-02-03 | Qualcomm Incorporated | Power and computational load management techniques in video processing |
US8964828B2 (en) | 2008-08-19 | 2015-02-24 | Qualcomm Incorporated | Power and computational load management techniques in video processing |
US8181399B2 (en) | 2009-07-17 | 2012-05-22 | United Construction Products, Inc. | Stability bracing of a support structure for elevating a building structure |
CN101958140A (zh) | 2009-07-20 | 2011-01-26 | 鸿富锦精密工业(深圳)有限公司 | 硬盘电源控制电路 |
-
2008
- 2008-12-16 US US12/336,362 patent/US8948270B2/en active Active
-
2009
- 2009-08-19 EP EP09791687A patent/EP2329640A1/en not_active Withdrawn
- 2009-08-19 JP JP2011523972A patent/JP2012500603A/ja active Pending
- 2009-08-19 WO PCT/US2009/054369 patent/WO2010022190A1/en active Application Filing
- 2009-08-19 KR KR1020117006386A patent/KR20110044315A/ko not_active Application Discontinuation
- 2009-08-19 CN CN2009801320907A patent/CN102124725A/zh active Pending
- 2009-08-19 TW TW098127904A patent/TW201018231A/zh unknown
-
2011
- 2011-11-05 US US13/290,066 patent/US9462326B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9501114B2 (en) | 2012-07-16 | 2016-11-22 | Samsung Electronics Co., Ltd. | Apparatus and method for managing power based on data |
Also Published As
Publication number | Publication date |
---|---|
JP2012500603A (ja) | 2012-01-05 |
TW201018231A (en) | 2010-05-01 |
CN102124725A (zh) | 2011-07-13 |
US20100046637A1 (en) | 2010-02-25 |
US20120047359A1 (en) | 2012-02-23 |
US8948270B2 (en) | 2015-02-03 |
US9462326B2 (en) | 2016-10-04 |
EP2329640A1 (en) | 2011-06-08 |
WO2010022190A1 (en) | 2010-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101248371B1 (ko) | 비디오 프로세싱에서의 전력 및 연산 부하 관리 기술 | |
KR20110044315A (ko) | 비디오 프로세싱에서의 전력 및 연산 부하 관리 기술 | |
US11997313B2 (en) | Dependent random access point pictures | |
TWI603609B (zh) | 簡化視訊隨機存取之限制及單元類型 | |
US9992555B2 (en) | Signaling random access points for streaming video data | |
KR101944565B1 (ko) | 비디오 인코딩 및 디코딩시의 레이턴시 저감 기법 | |
US8804845B2 (en) | Non-enhancing media redundancy coding for mitigating transmission impairments | |
CN105791841B (zh) | 用于网络上视频数据的自适应流处理的方法、装置和系统 | |
US9609329B2 (en) | Dynamic voltage/frequency scaling for video processing using embedded complexity metrics | |
EP2589222B1 (en) | Signaling video samples for trick mode video representations | |
US20100166079A1 (en) | System and method for providing fast trick modes | |
Slowack et al. | Distributed video coding with feedback channel constraints | |
WO2016093752A1 (en) | Stream access for adaptive streaming of video | |
US9516330B2 (en) | Virtual field buffer based decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |