KR101566255B1 - 특정 미디어 재생 시나리오를 위한 전력 최적화 - Google Patents

특정 미디어 재생 시나리오를 위한 전력 최적화 Download PDF

Info

Publication number
KR101566255B1
KR101566255B1 KR1020137016848A KR20137016848A KR101566255B1 KR 101566255 B1 KR101566255 B1 KR 101566255B1 KR 1020137016848 A KR1020137016848 A KR 1020137016848A KR 20137016848 A KR20137016848 A KR 20137016848A KR 101566255 B1 KR101566255 B1 KR 101566255B1
Authority
KR
South Korea
Prior art keywords
video
stream
playback application
audio
video stream
Prior art date
Application number
KR1020137016848A
Other languages
English (en)
Other versions
KR20130105878A (ko
Inventor
산카라나라야난 벤카타스브라마니안
사일레쉬 라티
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20130105878A publication Critical patent/KR20130105878A/ko
Application granted granted Critical
Publication of KR101566255B1 publication Critical patent/KR101566255B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Power Sources (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

특정 미디어 재생 시나리오에서 전력 소비를 최적화하는 방법, 시스템, 장치 및 컴퓨터 프로그램 제품이 개시된다. 본 방법은 멀티미디어 스트림의 제 1 부분의 디코딩이 중단될 수 있는 시나리오를 식별하는 것과, 멀티미디어 스트림의 제 1 부분의 디코딩은 중단하면서 이 멀티미디어 스트림의 제 2 부분의 디코딩은 지속하는 것을 포함한다. 전술한 제 1 부분은 비디오 스트림일 수 있고, 제 2 부분은 오디오 스트림일 수 있으며, 시나리오는 비디오 스트림을 위한 재생 윈도우가 감춰진 것을 포함할 수 있다. 전술한 제 1 부분이 오디오 스트림인 것도 가능하고, 제 2 부분이 비디오 스트림인 것도 가능하며, 시나리오가 오디오 스트림을 음소거하는 것을 포함하는 것도 가능하다. 본 방법은 시나리오가 변경되었는지를 판정하는 것과, 멀티미디어 스트림의 제 1 부분의 디코딩을 재개하는 것을 더 포함할 수도 있다.

Description

특정 미디어 재생 시나리오를 위한 전력 최적화{POWER OPTIMIZATION FOR SPECIAL MEDIA PLAYBACK SCENARIOS}
저작권 공고
본원은 저작권이 보호되는 내용을 담고 있다. 저작권자는 특허청 특허 파일 또는 기록물에 기재되어 있는 특허 명세서를 혹자가 복사한 것에 대해서는 이의를 제기하지 않지만, 그 외에는 저작권 등에 대한 모든 권리를 갖는다.
기술분야
본 개시물은 전반적으로 컴퓨터 장치에서의 전력 최적화에 관한 것이다.
현대 사회에서 모바일 장치가 확산되면서 모바일 컴퓨터 환경에서 실행되는 애플리케이션도 그 수량과 정교함 면에서 증가하고 있다. 사용자는 흔히 자신의 모바일 장치로 TV 및/또는 영화를 시청하면서 음악을 들으며, 이때의 모든 애플리케이션은 상당량의 전력을 요구할 수 있다. 많은 모바일 장치의 제한된 배터리 수명과 멀티미디어 애플리케이션의 높은 전력 수요로 인해, 모바일 장치에 의해 이용되는 전력의 상당량은 멀티미디어 애플리케이션에 의해 소비된다.
도 1은 본 발명의 일 실시예에 따라 특정 미디어 재생 시나리오에 대해 전력 최적화를 가능하게 하도록 구성된 시스템의 블록도이다.
도 2는 정규 재생 시나리오 동안 도 1의 시스템의 구성요소들 사이의 데이터 흐름을 보여주는 미디어 파이프라인이다.
도 3은 본 발명의 일 실시예에 따라 비디오 재생 애플리케이션이 다른 애플리케이션에 의해 중첩되는(overlaid) 재생 시나리오 동안 도 1의 시스템의 구성요소들 사이의 데이터 흐름을 보여주는 미디어 파이프라인이다.
도 4는 본 발명의 일 실시예에 따라 오디오 출력이 음소거된(muted) 재생 시나리오 동안 도 1의 시스템의 구성요소들 사이의 데이터 흐름을 보여주는 미디어 파이프라인이다.
도 5는 정규 재생 시나리오 동안 도 1의 시스템의 구성요소들 사이의 상호작용을 보여주는 순차도(sequence diagram)이다.
도 6은 본 발명의 일 실시예에 따라 비디오 재생 애플리케이션이 다른 애플리케이션에 의해 중첩되는 재생 시나리오 동안 도 1의 시스템의 구성요소들 사이의 상호작용을 보여주는 순차도이다.
도 7은 본 발명의 일 실시예에 따라 오디오 출력이 음소거된 재생 시나리오 동안 도 1의 시스템의 구성요소들 사이의 상호작용을 보여주는 순차도이다.
도 8은 본 발명의 다른 실시예에 따라 오디오 출력이 음소거된 재생 시나리오 동안 도 1의 시스템의 구성요소들 사이의 상호작용을 보여주는 순차도이다.
본 발명의 실시예들은 특정 미디어 재생 시나리오 동안 전력 소비를 최적화하기 위한 방법, 장치, 시스템 및 컴퓨터 프로그램을 제공할 것이다. 일 실시예로, 본 방법은 멀티미디어 스트림의 제 1 부분의 디코딩이 중단(interrupted)될 수 있는 시나리오를 식별하는 것과, 멀티미디어 스트림의 제 1 부분의 디코딩은 중단하면서 이 멀티미디어 스트림의 제 2 부분의 디코딩은 지속하는 것을 포함한다. 전술한 내용중 제 1 부분은 비디오 스트림일 수 있고, 제 2 부분은 오디오 스트림일 수 있으며, 시나리오는 비디오 스트림을 위한 재생 윈도우가 감춰지는 것을 포함할 수 있다. 제 1 부분이 오디오 스트림인 것도 가능하고, 제 2 부분이 비디오 스트림인 것도 가능하며, 시나리오가 오디오 스트림을 음소거하는 것을 포함하는 것도 가능하다. 본 방법은 시나리오가 변경되었는지를 판정하는 것과, 멀티미디어 스트림의 제 1 부분의 디코딩을 재개하는 것을 더 포함할 수도 있다. 본 방법은 멀티미디어 스트림의 제 2 부분에서 현재 디코딩되고 있는 제 1 프레임을 식별하는 것과, 멀티미디어 스트림의 제 1 부분에서, 상기 제 1 프레임에 대응하는 제 2 프레임을 식별하는 것과, 제 2 프레임으로 멀티미디어 스트림의 제 1 부분의 렌더링(rendering)을 재개하는 것을 더 포함할 수 있다.
본 명세서에서 언급하고 있는 본 발명의 "일 실시예" 또는 "실시예"는 해당 실시예와 연계하여 설명된 특정 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함됨을 의미한다. 그러므로, 본 명세서 전반에 걸쳐 여러 부분에서 나타나는 "일 실시예에서", "일 실시예에 따르면" 등의 표현이 반드시 모두 동일한 실시예를 언급하고 있는 것은 아니다.
설명을 위해, 특정 구성 및 세부 사항은 본 발명에 대한 보다 나은 이해를 제공할 목적으로 설정되었다. 그러나, 본 기술 분야에서 통상의 지식을 가진 사람에게는 본 발명의 실시예가 본원에 제시된 특정 세부 사항없이도 실시될 수 있음이 자명할 것이다. 더 나아가, 공지된 특징들은 본 발명의 요점을 흐리지 않게 하기 위해 누락되거나 단순화될 수도 있다. 다양한 예들이 본 설명의 전반에 걸쳐 제공될 것이다. 이들은 본 발명의 특정 실시예를 단순히 설명하는 것이다. 본 발명의 범주는 제공된 예들로 한정되지 않는다.
도 1은 본 발명의 일 실시예에 따라 특정 미디어 재생 시나리오에 대해 전력 최적화를 가능하게 하도록 구성된 시스템의 블록도이다. 시스템(100)은 애플리케이션 계층(110)과 운영체계/실행시간 계층(150)을 갖는 소프트웨어 환경과, 프로세서(160)와 메모리(170)를 포함하는 하드웨어 환경을 포함한다. 이 시스템의 사용자(102)는 애플리케이션 계층(110)에서 프로세서(160)를 실행시키는 예컨대 미디어 애플리케이션(120) 및 다른 애플리케이션(130)같은 애플리케이션을 이용한다. 사용자(102)는 하나의 애플리케이션에서 다른 애플리케이션으로 초점을 옮길 수 있고, 이로써 활성 애플리케이션이 비활성 애플리케이션을 중첩하게 할 수 있다. 예를 들어, 사용자(102)는 미디어 애플리케이션(120)을 이용하여 비디오를 플레이할 수도 있지만, 문서 처리 애플리케이션을 활성시켜서 비디오 애플리케이션을 숨길 수도 있다. 사용자(102)는 문서 처리 애플리케이션에서 작업을 수행하는 동안 오디오 스트림을 계속 청취할 것인지 선택할 수 있다. 정규 재생 시나리오에서는, 비디오 스트림의 디스플레이가 비활성인 경우에도 비디오 스트림이 오디오 스트림과 함께 계속 디코딩되어야 했었다.
도 1에 도시된 실시예에서는, 비디오 디스플레이가 다른 애플리케이션에 의해 중첩되는 재생 시나리오가 검출될 수 있고, 이 시나리오는 시스템(100)에서의 전력 소비를 최적화하는데 이용될 수 있다. 운영체계/실행시간(150)은 전력 소비가 최적화될 수 있는 시나리오를 검출한다. 정책 데이터 저장소(policy data store)(140)는 사용자(102)에 의해 구성 가능한 전력 최적화 변수를 저장한다. 전력 최적화 변수의 일 예로서, 비디오 디코딩을 중단하는 절전 모드(power conservation mode)로 전환하기 전에 비디오 재생 애플리케이션이 다른 애플리케이션에 의해 중첩되는 시간량을 들 수 있다. 예를 들어, 비디오 재생 애플리케이션이 다른 애플리케이션에 의해 10초간 중첩된다면, 비디오 스트림의 디코딩은 전력을 절약하기 위해 중단될 수 있을 것이다. 전력 최적화 변수의 다른 예로서, 오디오 디코딩을 중단하는 절전 모드로 전환하기 전에 오디오가 음소거되는 시간량을 들 수 있다.
운영체계/실행시간(150)이 예컨대 비디오 재생 애플리케이션이 다른 애플리케이션에 의해 중첩되는 것이나 오디오 스트림의 음소거처럼 전력 소비가 최적화될 수 있는 시나리오를 검출할 때, 운영체계/실행시간(150)은 정책을 활성화할지를 결정하기 위해 정책 데이터 저장소(140)를 확인한다. 만약 정책의 전력 최적화 변수가 충족되면, 운영체계/실행시간(150)은 미디어 애플리케이션(120)에게 적용 가능한 오디오 또는 비디오 스트림의 디코딩을 중단할 것을 통지한다. 운영체계/실행시간(150)에 의한 통지에 응답하여, 미디어 애플리케이션(120)은 적용 가능한 오디오 또는 비디오 스트림의 디코딩을 중단한다. 일 실시예로, 적용 가능한 오디오 또는 비디오 스트림의 디코딩을 중단하는 것은 비트스트림 파싱(bitstresm parsing) 뿐만아니라 렌더링도 차단하는 것을 포함한다.
시스템(100)의 하드웨어 환경을 참조하면, 프로세서(160)는 시스템(100)에 처리 능력을 제공하는 단일 코어 혹은 다중 코어 프로세서일 수 있으며, 하나 이상의 프로세서가 시스템(100)에 포함될 수 있다. 프로세서(160)는 하나 이상의 시스템 버스, 통신 경로 또는 매체(도시 안됨)를 통해 시스템(100)의 다른 구성요소에 연결될 수 있다. 프로세서(160)는 운영체계/실행시간 계층(150)의 제어하에서 예컨대 미디어 애플리케이션(120) 및 다른 애플리케이션(130)같은 호스트 애플리케이션을 실행한다.
시스템(100)은 또한 예컨대 메모리(170)같은 기억 장치를 포함한다. 이러한 기억 장치는 RAM 및 ROM을 포함할 수도 있다. 본 개시물에서 "ROM"은 예컨대 EPROM, EEPROM, 플래시 ROM 및 플래시 메모리 등처럼 일반적으로 비휘발성 기억 장치를 일컫는 것으로 이용될 수 있다. 이들 기억 장치는 또한 예컨대 통합 구동 전자공학(IDE) 하드 드라이브같은 대용량 저장 장치를 포함할 수도 있고/있거나 예컨대 플로피 디스크, 광학 기억장치, 테이프, 플래시 메모리, 메모리 스틱, 디지털 비디오 디스크, 생물학적 저장 장치같은 다른 장치 혹은 미디어를 더 포함할 수도 있다.
프로세서(160)는 또한 예컨대 디스플레이 제어기, 소형 컴퓨터 시스템 인터페이스(SCSI) 제어기, 네트워크 제어기, 범용 직렬 버스(USB) 제어기, 키보드와 마우스 패드같은 입력 장치 등의 추가적인 구성요소와 통신 가능하게 접속될 수도 있다. 시스템(100)은 다양한 시스템 구성요소를 통신 가능하게 연결하기 위해 예컨대 메모리 제어기 허브, 입출력(I/O) 제어기 허브, PCI 루트 브리지 등과 같은 하나 이상의 브리지나 허브를 포함할 수도 있다. 본원에서 이용되는 것처럼, "버스"라는 용어는 공유된 통신 경로뿐만 아니라 포인트 투 포인트 경로를 지칭하기 위해 사용될 수도 있다.
시스템(100)의 일부 구성요소는 버스와 통신하는 인터페이스를 갖는 어댑터 카드(예컨대 PCI 커넥터)로서 구현될 수 있다. 일 실시예에서, 하나 이상의 장치가 예컨대 프로그램 가능형 혹은 프로그램 불능형 로직 장치 또는 어레이같은 구성요소를 이용하는 매립형 제어기, ASIC, 매립형 컴퓨터, 스마트 카드 등으로서 구현될 수 있다.
본원에서 이용되듯이, "처리 시스템" 및 "데이터 처리 시스템"이란 용어는 단일 머신 또는 통신 가능하게 결합되어 함께 동작하는 머신이나 장치들의 시스템을 광범위하게 포괄하도록 의도된다. 한정하는 것은 아니지만, 예시적인 처리 시스템으로서 분산형 컴퓨터 시스템, 수퍼 컴퓨터, 고성능 컴퓨터 시스템, 컴퓨터 클러스터, 메인프레임 컴퓨터, 미니 컴퓨터, 클라이언트-서버 시스템, 개인용 컴퓨터, 워크스테이션, 서버, 휴대용 컴퓨터, 랩탑 컴퓨터, 태블릿, 전화기, PDA, 휴대 장치, 오디오 및/또는 비디오 장치 같은 오락기기 및, 정보를 처리하거나 전송하는 다른 장치들이 있다.
시스템(100)은 적어도 부분적으로 예컨대 키보드, 마우스 등과 같은 종래의 입력 장치로부터의 입력에 의해 제어될 수 있거나/있고 다른 머신, 생체 인증 피드백 또는 다른 입력원이나 신호로부터 수신된 커맨드에 의해 제어될 수도 있다. 시스템(100)은 예컨대 네트워크 제어기, 모뎀 또는 다른 통신 포트나 결합을 통해 하나 이상의 원격 데이터 처리 시스템(도시 안됨)에 대한 하나 이상의 연결을 활용할 수도 있다.
시스템(100)은 예컨대 LAN, WAN, 인트라넷, 인터넷 등과 같은 물리적 및/또는 논리적 네트워크를 이용하여 다른 처리 시스템(도시 안 됨)에 상호접속될 수도 있다. 네트워크 관련 통신은 무선 주파수(RF), 위성, 마이크로파, IEEE 802.11, 블루투스, 광학, 적외선, 케이블 레이저 등등을 포함하여 다양한 유무선 근거리 또는 장거리 캐리어 및 프로토콜을 활용할 수 있다.
도 2는 정규 재생 시나리오 동안 도 1의 미디어 애플리케이션의 구성요소들 사이의 데이터 흐름을 도시하는 미디어 파이프라인이다. 미디어 소스 파일(210)은 도 1의 미디어 애플리케이션(120)의 디멀티플렉서/스플리터(220) 구성요소에 의해 수신된 입력 미디어 스트림을 나타낸다. 디멀티플렉서/스플리터(220)는 입력 미디어 스트림을 비디오 스트림(221)과 오디오 스트림(222)으로 분리한다. 비디오 스트림(221)은 비디오 디코더(230)에 입력으로 제공되는데, 비디오 디코더(230)는 비트 스트림을 파스(parse) 및 디코딩하여, 디코딩된 비디오 비트 스트림(231)을 비디오 렌더링 처리기(video renderer)(240)로 제공하고, 비디오 렌더링 처리기(240)는 비디오 출력을 렌더링한다. 디멀티플렉서/스플리터(220)로부터, 오디오 스트림(222)이 오디오 디코더(250)에 출력으로서 제공된다. 디코딩된 출력 오디오 스트림(251)은 음향 장치(260)로 제공된다.
도 3은 본 발명의 일 실시예에 따라 비디오 재생 애플리케이션이 다른 애플리케이션에 의해 중첩되는 재생 시나리오 동안 도 1의 미디어 애플리케이션의 구성요소들 사이의 데이터 흐름을 보여주는 미디어 파이프라인이다. 미디어 소스 파일(310)은 도 1의 미디어 애플리케이션(120)의 디멀티플렉서/스플리터(320) 구성요소에 의해 수신되는 입력 미디어 스트림을 나타낸다. 디멀티플렉서/스플리터(320)는 입력 미디어 스트림을 비디오 스트림(321)과 오디오 스트림(322)으로 분리한다. 그러나 비디오 재생 애플리케이션이 다른 애플리케이션에 의해 중첩되므로, 디멀티플렉서/스플리터(320)가 비디오스트림(321)을 비디오 디코더(330)로 제공하지 않고, 따라서 비디오 스트림은 비디오 렌더링 처리기(340)에 도달하지 못하여 비디오 출력이 렌더링되지 않는다. 비디오가 디코딩되지 않는 동안, 비디오를 디코딩하고 렌더링하기 위한 CUP 사이클을 제거함으로써 상당한 전력 절감이 가능하다. 비록 비디오 스트림이 디코딩되지 않더라도, 디멀티플렉서/스플리터(320)는 오디오 스트림(322)을 오디오 디코더(350)로 계속 제공한다. 디코딩된 출력 오디오 스트림(351)은 음향 장치(360)로 제공된다.
비디오 재생 애플리케이션이 다른 애플리케이션에 의해 중첩되는 시뮬레이션은, 그 비디오 스트림이 MPEG4-Part2에서 엔코드되고 오디오 스트림은 MP3에서 엔코드되는 미디어 스트림을 플레이하는 3GB RAM을 갖는 INTEL®Core2Duo™2.0GHz를 실행하는 WINDOWS® Vista 시스템에서 수행되었다. 오디오 및 비디오 디코딩을 모두 하는 1분 재생 시나리오가 오디오 디코딩만 하는 1분 재생 시나리오(비디오 애플리케이션이 다른 애플리케이션에 의해 중첩되었다)와 비교되었다. 철회된 명령어 당 클록 횟수(clocks per instruction: CPI)에서 42% 삭감이 발견되었고, 이것은 그만큼 소비 전력면에서 절약을 가져왔다.
도 4는 본 발명의 일 실시예에 따라 오디오 출력이 음소거된 재생 시나리오 동안 도 1의 미디어 애플리케이션의 구성요소들 사이의 데이터 흐름을 보여주는 미디어 파이프라인이다. 미디어 소스 파일(410)은 도 1의 미디어 애플리케이션(120)의 디멀티플렉서/스플리터(420) 구성요소에 의해 수신되는 입력 미디어 스트림을 나타낸다. 디멀티플렉서/스플리터(420)는 입력 미디어 스트림을 비디오 스트림(421)과 오디오 스트림(422)으로 분리한다. 비디오 스트림(421)은 비디오 디코더(430)에 입력으로서 제공되고, 이 비디오 디코더는 비트 스트림을 파스 및 디코딩하여, 디코딩된 비트 스트림(431)을 비디오 렌더링 처리기(440)로 제공하며, 비디오 렌더링 처리기는 비디오 출력을 렌더링한다. 그러나 디멀티플렉서/스플리터(420)는 오디오 스트림(422)을 오디오 디코더(450)에 입력으로 제공하지 않고, 어떠한 출력 오디오 스트림도 음향 장치(460)에 제공되지 않는다. 오디오 출력을 디코딩 및 렌더링하기 위한 CPU 사이클을 건너뜀으로써 상당한 전력 절감이 달성될 수 있다.
도 5는 정규 재생 시나리오 동안 도 1의 미디어 애플리케이션의 구성요소들 사이의 상호작용을 보여주는 순차도이다. 동작(5.1)에서, 입력 미디어 스트림이 미디어 플레이어(510)에 제공된다. 비디오 클립 수신에 응답하여, 미디어 플레이어(510)는 동작(5.2)에서 오디오 디코더(520)를 호출하여 비트 스트림을 제공한다. 동작(5.3)에서, 오디오 디코더(520)는 비트 스트림을 디코딩하고, 오디오 스트림 출력을 스피커(550)에 렌더링한다. 동작(5.4)에서는, 미디어 플레이어(510)가 비디오 디코더(530)를 호출하여 비디오 스트림을 제공한다. 동작(5.5)에서, 비디오 디코더(530)는 비디오 스트림을 디코딩하고, 비디오 출력 스트림을 디스플레이(560)에 렌더링한다. 이 모든 동작 동안, OS 서비스(540)는 정책이 활성될 때 전력 소비가 최적화될 수 있는 시나리오인지 감시한다. 도 5의 단계들은 비디오 클립내의 모든 프레임에 대해 반복된다. 오디오 및 비디오 디코딩 및 렌더링 동작은 병렬로 발생할 수도 있는데, 예를 들면, 동작(5.2) 및 동작(5.3)이 동작(5.4) 및 동작(5.5)과 병렬로 일어날 수도 있다. 또한, 일부 오디오 또는 비디오 프레임이 다른 오디오 또는 비디오 프레임이 렌더링됨과 동시에 디코딩될 수도 있는데, 예를 들면, 다른 프레임이 단계(5.3)(또는 단계(5.5))에서 렌더링되는 시간에 일부 프레임이 단계(5.2)(또는 단계(5.4))에서 디코딩될 수 있다.
도 6은 본 발명의 일 실시예에 따라 비디오 재생 애플리케이션이 다른 애플리케이션에 의해 중첩되는 재생 시나리오 동안 도 1의 미디어 애플리케이션의 구성요소들 사이의 상호작용을 보여주는 순차도이다. 동작(6.1)에서, 입력 미디어 스트림이 미디어 플레이어(610)에 제공된다. 비디오 클립 수신에 응답하여, 미디어 플레이어(610)는 동작(6.2)에서 오디오 디코더(620)를 호출하여 비트 스트림을 제공한다. 동작(6.3)에서, 오디오 디코더(620)는 비트 스트림을 디코딩하고, 오디오 스트림 출력을 스피커(650)에 렌더링한다. 동작(6.4)에서는, 미디어 플레이어(610)가 비디오 디코더(630)를 호출하여 비디오 스트림을 제공한다. 동작(6.5)에서, 비디오 디코더(630)는 비디오 스트림을 디코딩하고, 비디오 출력 스트림을 디스플레이(660)에 렌더링한다. 이 모든 동작 동안, OS 서비스(640)는 전력 소비가 최적화될 수 있는 시나리오인지 감시한다. 지금까지는 전력 소비를 최적화할 기회가 없었기 때문에 정규 재생 시나리오를 따라왔다. 도 6의 단계들은 미디어 클립의 모든 프레임에 대해 수행된다. 도면에서 오디오 및 비디오 단계들은 병렬로 발생한다.
동작(6.6)에서, OS 서비스(640)는 비디오 재생 애플리케이션이 다른 애플리케이션에 의해 중첩되는 시나리오를 식별한다. 동작(6.7)에서, OS 서비스(640)는 이벤트 PLAYBACK_APPLICATION_LOST_FOCUS를 미디어 플레이어(610)로 전송한다. 이 이벤트의 수신에 응답하여, 미디어 플레이어(610)는 비디오 스트림의 디코딩을 중단하고 전력 최적화 모드로 진입한다. 동작(6.8)에서, 미디어 플레이어(610)는 디코딩을 위해 오디오 스트림을 오디오 디코더(620)로 계속 전송하고, 동작(6.9)에서 오디오 디코더(620)는 스피커(650)에 출력 오디오 스트림을 렌더링한다. 오디오 전용 재생은 OS 서비스(640)가 비디오 디코딩이 다시 요구되는 시나리오를 식별할 때까지 계속된다.
동작(6.10)에서, 사용자는 비디오 재생 애플리케이션에 다시 초점을 맞춘다. 이러한 이벤트 검출에 응답하여, 동작(6.11)에서, OS 서비스(640)는 이벤트 PLAYBACK_APPLICATION_FOCUS_REGAINED를 미디어 플레이어(610)로 전송한다. 이 이벤트의 수신에 응답하여, 미디어 플레이어(610)는 CurrentFrame 변수를 갖는 GetReferenceFrames 함수를 호출함으로써 오디오 출력에서 플레이되고 있는 현재 프레임을 식별한다. 오디오 재생과 동기화하여 비디오 재생이 일어나도록 하기 위하여, 현재 활성인 오디오 프레임이 현재 비디오 프레임 디코딩을 위한 대응하는 비디오 프레임과 관련 기준 프레임을 식별하는데 이용된다. 동작(6.13)에서, 기준 프레임 모두가 디코딩을 위해 미디어 플레이어(610)로부터 비디오 디코더(630)로 전송된다. 현재 오디오 프레임에 대응하는 기준 프레임을 식별하기 위해 모든 기준 프레임이 디코딩된다. 현재 비디오 프레임으로부터 시작하는 프레임들만이 디스플레이된다. 기준 프레임의 모두가 디코딩되어야 하는 경우에도, 제한된 개수의 기준 프레임만이 이용 가능하다. 예를 들어, H.264 표준하에서, 최대 16개 기준 프레임이 이용 가능하므로, 초당 24개 프레임을 실행하는 비디오 클립은 기준 프레임을 디코딩하는데 1초 미만이 필요할 것이다.
동작(6.14)에서, 이제 오디오 및 비디오 스트림이 동기화되면, 비디오 재생 애플리케이션에 초점이 맞춰지고 오디오를 음소거하지 않는 정규 재생이 재개된다. 동작(6.14)에서, 미디어 플레이어(610)는 오디오 스트림을 오디오 디코더(620)로 제공하고, 이 오디오 디코더는 동작(6.15)에서 오디오 스트림을 디코딩하여 스피커(650)에 렌더링한다. 동작(6.16)에서, 미디어 플레이어(610)는 디코딩을 위해 비디오 스트림을 비디오 디코더(630)로 전송하고, 동작(6.17)에서 비디오 디코더(630)는 비디오 스트림을 디코딩하여 디스플레이(660)에 렌더링한다.
도 7은 본 발명의 일 실시예에 따라 오디오 출력이 음소거된 재생 시나리오 동안 도 1의 미디어 애플리케이션의 구성요소들 사이의 상호작용을 보여주는 순차도이다. 동작(7.1)에서, 커맨드 PlayVideoClip(NoOfFrames)를 통해 입력 미디어 스트림이 미디어 플레이어(710)로 제공된다. 비디오 클립 수신에 응답하여, 미디어 플레이어(710)는 동작(7.2)에서 오디오 디코더(720)를 호출하여 비트 스트림을 제공한다. 동작(7.3)에서, 오디오 디코더(720)는 비트 스트림을 디코딩하고, 오디오 스트림 출력을 스피커(750)에 렌더링한다. 동작(7.4)에서는, 미디어 플레이어(710)가 비디오 디코더(730)를 호출하여 비디오 스트림을 제공한다. 동작(7.5)에서, 비디오 디코더(730)는 비디오 스트림을 디코딩하고, 비디오 출력 스트림을 디스플레이(760)에 렌더링한다. 이 모든 동작 동안, OS 서비스(740)는 전력 소비가 최적화될 수 있는 시나리오인지 감시한다. 지금까지는 전력 소비를 최적화할 기회가 없었기 때문에 정규 재생 시나리오를 따라왔다.
동작(7.6)에서, OS 서비스(740)는 오디오 재생이 음소거되는 시나리오를 식별한다. 동작(7.7)에서, OS 서비스(740)는 이벤트 AUDIO_MUTED를 미디어 플레이어(710)로 전송한다. 이 이벤트의 수신에 응답하여, 미디어 플레이어(710)는 오디오 스트림의 디코딩을 중단하고 전력 최적화 모드로 진입한다. 동작(7.8)에서, 미디어 플레이어(710)는 디코딩을 위해 비디오 스트림을 비디오 디코더(730)로 계속 전송하고, 동작(7.9)에서 비디오 디코더(730)는 디스플레이(760)에 출력 비디오 스트림을 렌더링한다. 비디오 전용 재생은 OS 서비스(740)가 오디오 디코딩이 다시 요구되는 시나리오를 식별할 때까지 계속된다.
동작(7.10)에서, 사용자는 오디오 재생에서 음소거를 해제한다. 이러한 이벤트 검출에 응답하여, 동작(7.11)에서, OS 서비스(740)는 이벤트 AUDIO_UNMUTED를 미디어 플레이어(710)로 전송한다. 이 이벤트의 수신에 응답하여, 미디어 플레이어(710)는 CurrentFrame 변수를 갖는 GetReferenceFrames 함수를 호출함으로써 비디오 출력에서 플레이되고 있는 현재 프레임을 식별한다. 오디오 재생과 동기화하여 비디오 재생이 일어나도록 위하여, 현재 활성인 비디오 프레임과 오디오를 음소거 해제하는 시간이 대응 오디오 기준 프레임을 식별하는데 이용된다. 동작(7.13)에서, 기준 프레임 모두가 디코딩을 위해 미디어 플레이어(710)로부터 오디오 디코더(730)로 전송된다. 현재 오디오 프레임에 대응하는 기준 프레임을 식별하기 위해 모든 기준 프레임이 디코딩된다.
동작(7.14)에서, 이제 오디오 및 비디오 스트림이 동기화되면, 비디오 재생 애플리케이션에 초점이 맞춰지고 오디오 음소거를 해제한 정규 재생이 재개된다. 동작(7.14)에서, 미디어 플레이어(710)는 오디오 스트림을 오디오 디코더(720)로 제공하고, 이 오디오 디코더는 동작(7.15)에서 오디오 스트림을 디코딩하여 스피커(750)에 렌더링한다. 동작(7.16)에서, 미디어 플레이어(710)는 디코딩을 위해 비디오 스트림을 비디오 디코더(730)로 전송하고, 동작(7.17)에서 비디오 디코더(730)는 비디오 스트림을 디코딩하여 디스플레이(760)에 렌더링한다.
도 8은 본 발명의 다른 실시예에 따라 오디오 출력이 음소거된 재생 시나리오 동안 도 1의 시스템의 구성요소들 사이의 상호작용을 보여주는 순차도이다. 동작(8.1)에서, 커맨드 PlayVideoClip(NoOfFrames)를 통해 입력 미디어 스트림이 미디어 플레이어(810)로 제공된다. 비디오 클립 수신에 응답하여, 미디어 플레이어(810)는 동작(8.2)에서 오디오 디코더(820)를 호출하여 비트 스트림을 제공한다. 동작(8.3)에서, 오디오 디코더(820)는 비트 스트림을 디코딩하고, 오디오 스트림 출력을 스피커(850)에 렌더링한다. 동작(8.4)에서는, 미디어 플레이어(810)가 비디오 디코더(830)를 호출하여 비디오 스트림을 제공한다. 동작(8.5)에서, 비디오 디코더(830)는 비디오 스트림을 디코딩하고, 비디오 출력 스트림을 디스플레이(860)에 렌더링한다. 이 모든 동작 동안, 정책이 활성일 때 OS 서비스(840)는 전력 소비가 최적화될 수 있는 시나리오인지 감시한다. 지금까지는 전력 소비를 최적화할 기회가 없었기 때문에 정규 재생 시나리오를 따라왔다.
동작(8.6)에서, OS 서비스(840)는 오디오 재생이 음소거되는 시나리오를 식별한다. 동작(8.7)에서, OS 서비스(840)는 이벤트 AUDIO_MUTED를 미디어 플레이어(810)로 전송한다. 이 이벤트의 수신에 응답하여, 미디어 플레이어(810)는 오디오 스트림의 디코딩을 중단하고 전력 최적화 모드로 진입한다. 동작(8.8)에서, 미디어 플레이어(810)는 디코딩을 위해 비디오 스트림을 비디오 디코더(830)로 계속 전송하고, 동작(8.9)에서 비디오 디코더(830)는 디스플레이(860)에 출력 비디오 스트림을 렌더링한다. 비디오 전용 재생은 OS 서비스(840)가 오디오 디코딩이 다시 요구되는 시나리오를 식별할 때까지 계속된다.
동작(8.10)에서, 사용자는 오디오 재생에서 음소거를 해제한다. 이러한 이벤트 검출에 응답하여, 동작(8.11)에서, OS 서비스(840)는 이벤트 AUDIO_UNMUTED를 미디어 플레이어(810)로 전송한다. 비디오 재생 애플리케이션에 초점이 맞춰지고 오디오 음소거를 해제한 정규 재생이 재개된다. 동작(8.12)에서, 미디어 플레이어(810)는 오디오 스트림을 오디오 디코더(820)로 제공하고, 동작(8.13)에서 이 오디오 디코더는 오디오 스트림을 디코딩하고 스피커(850)에 렌더링한다. 동작(8.14)에서, 미디어 플레이어(810)는 디코딩을 위해 비디오 스트림을 비디오 디코더(830)로 제공하고, 동작(8.15)에서 비디오 디코더(830)는 비디오 스트림을 디코딩하여 디스플레이(860)에 렌더링한다.
본원에 설명된 기술들은 오디오 또는 비디오 디코딩이 면제될 수 있는 특정 재생 시니리오를 인식함으로써 전력 절감을 가능하게 한다. 이러한 전력 절감은 멀티미디어 상영과 관련한 사용자의 즐거움을 손상시키지 않으면서 모바일 장치의 배터리 수명을 연장시킨다.
본원에 개시된 메커니즘의 실시예들은 하드웨어, 소프트웨어 또는 펌웨어로 구현될 수 있고, 또는 이러한 구현 방법들의 조합으로도 구현될 수 있다. 본 발명의 실시예들은 적어도 하나의 프로세서, (휘발성 및 비휘발성 메모리 및/또는 기억 소자를 포함한) 데이터 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치를 포함하는 프로그램 가능 시스템상에서 실행하는 컴퓨터 프로그램으로서 구현될 수도 있다.
본원에 설명된 기능들을 수행하여 출력 정보를 발생시키기 위해 프로그램 코드가 입력 데이터로 적용될 수 있다. 본 발명의 실시예들은 또한 본 발명의 동작들을 수행하기 위한 명령어를 포함하거나 또는 본원에 설명된 구조, 회로, 장치, 프로세서 및/또는 시스템 특징을 정의하는 예컨대 HDL같은 설계 데이터를 포함하는 머신 액세스 가능 매체를 포함한다. 이러한 실시예들은 프로그램 제품으로서 언급될 수도 있다.
전술한 머신 액세스 가능 저장 매체들은, 한정하는 것은 아니지만, 예컨대 하드 디스크같은 저장 매체들이나, 플로피 디스크, 광학 디스크, CD-ROM, CD-RW 및 자기 광학 디스크를 포함하는 그 밖의 다른 유형의 디스크나, 예컨대 ROM, RAM, DRAM, SRAM, EPROM, 플래시 프로그램 가능 메모리(FLASH), EEPROM, 자기 카드 혹은 광학 카드같은 반도체 장치나 또는 전자 명령어를 저장하기 적합한 다른 유형의 매체를 포함하는 머신이나 장치에 의해 제조 혹은 형성된 유형의 파티클 배열을 포함할 수 있다.
출력 정보는 공지된 방식으로 하나 이상의 출력 장치에 적용될 수 있다. 본원에서는, 처리 시스템이 에컨대 디지털 신호 처리기(DSP), 마이크로콘트롤러, 주문형 반도체(ASIC) 혹은 마이크로프로세서같은 프로세서를 구비하는 임의의 시스템을 포함한다.
프로그램은 처리 시스템과 통신하기 위해 고수준 절차적 프로그램 언어 혹은 객체 지향적 프로그램 언어로 구현될 수 있다. 또한 필요하다면 프로그램은 어셈블리 혹은 머신 언어로 구현될 수 있다. 실제로, 본원에 설명된 메커니즘은 임의의 특정한 프로그램 언어로 그 범주가 한정되지 않는다. 어떤 경우에 언어는 컴파일된 혹은 인터프리트된 언어일 수도 있다.
본원에는 특정 미디어 재생 시나리오 동안 전력 소비를 최적화하는 방법 및 시스템의 실시예가 제공된다. 본 발명의 특정 실시예가 도시 및 설명되었을지라도, 본 기술 분야에 통상의 지식을 가진 자에게는 첨부된 특허청구범위의 범주를 이탈함이 없이 다양한 변경, 변화 및 수정이 행해질 수 있음이 명확할 것이다. 따라서, 당업자라면, 보다 일반적인 측면에서 본 발명을 이탈하지 않으면서 변경 및 수정이 행해질 수 있음을 인지할 것이다. 첨부된 특허청구범위는 본 발명의 진정한 범주와 사상 내에 있는 이러한 변경, 변화 및 수정을 모두 그 범주내로 포함한다.

Claims (24)

  1. 컴퓨팅 장치의 비디오 디코더에 의하여, 멀티미디어 스트림의 비디오 스트림 부분을 디코딩하는 단계 -상기 멀티미디어 스트림은 상기 비디오 스트림 부분과 오디오 스트림 부분을 포함함- 와,
    상기 컴퓨팅 장치의 오디오 디코더에 의하여, 상기 멀티미디어 스트림의 상기 오디오 스트림 부분을 디코딩하는 단계와,
    상기 디코딩된 비디오 스트림 부분을 재생하는 재생 애플리케이션이 비활성인지 여부를 판정하는 단계와,
    상기 디코딩된 비디오 스트림 부분을 재생하는 재생 애플리케이션이 비활성이라는 판정에 응답하여, 전력 최적화 파라미터가 만족되는지 여부를 판정하는 단계 -상기 전력 최적화 파라미터는 절전 모드로 진입하기 위한 조건을 나타냄- 와,
    상기 전력 최적화 파라미터가 만족된다는 판정에 응답하여, 상기 비디오 디코더로의 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 제공을 중단하여 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 디코딩을 막으면서 상기 멀티미디어 스트림의 상기 오디오 스트림 부분의 디코딩은 지속하는 단계를 포함하는
    컴퓨터로 구현되는 방법.
  2. 제 1 항에 있어서,
    상기 재생 애플리케이션이 비활성인지 여부를 판정하는 단계는 상기 재생 애플리케이션이 다른 애플리케이션에 의하여 감춰졌는지 여부를 판정하는 단계를 포함하는
    컴퓨터로 구현되는 방법.
  3. 제 1 항에 있어서,
    상기 재생 애플리케이션이 비활성인지 여부를 판정하는 단계는 상기 재생 애플리케이션의 디스플레이가 다른 애플리케이션에 의하여 중첩되는지 여부를 판정하는 단계를 포함하는
    컴퓨터로 구현되는 방법.
  4. 제 1 항에 있어서,
    상기 재생 애플리케이션의 디스플레이가 더이상 비활성이 아님을 판정하는 단계와,
    상기 재생 애플리케이션이 더이상 비활성이 아니라는 판정에 응답하여, 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 디코딩을 재개하는 단계를 더 포함하는
    컴퓨터로 구현되는 방법.
  5. 제 4 항에 있어서,
    상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 디코딩을 재개하는 단계는
    상기 멀티미디어 스트림의 상기 오디오 스트림 부분에서 현재 디코딩되고 있는 오디오 프레임을 식별하는 단계와,
    상기 멀티미디어 스트림의 상기 비디오 스트림 부분에서 상기 식별된 오디오 프레임에 대응하는 비디오 프레임을 식별하는 단계와,
    상기 식별된 비디오 프레임으로 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 디코딩을 재개하는 단계를 더 포함하는
    컴퓨터로 구현되는 방법.
  6. 적어도 하나의 프로세서와,
    상기 적어도 하나의 프로세서에 결합된 메모리를 포함하되,
    상기 메모리는
    컴퓨팅 장치의 비디오 디코더에 의하여, 멀티미디어 스트림의 비디오 스트림 부분을 디코딩 -상기 멀티미디어 스트림은 상기 비디오 스트림 부분과 오디오 스트림 부분을 포함함- 하고,
    상기 컴퓨팅 장치의 오디오 디코더에 의하여, 상기 멀티미디어 스트림의 상기 오디오 스트림 부분을 디코딩하고,
    상기 디코딩된 비디오 스트림 부분을 재생하는 재생 애플리케이션이 비활성인지 여부를 판정하고,
    상기 디코딩된 비디오 스트림 부분을 재생하는 재생 애플리케이션이 비활성이라는 판정에 응답하여, 전력 최적화 파라미터가 만족되는지 여부를 판정 -상기 전력 최적화 파라미터는 절전 모드로 진입하기 위한 조건을 나타냄- 하고,
    상기 전력 최적화 파라미터가 만족된다는 판정에 응답하여, 상기 비디오 디코더로의 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 제공을 중단하여 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 디코딩을 막으면서 상기 멀티미디어 스트림의 상기 오디오 스트림 부분의 디코딩은 지속하는 것을 수행하는 명령어를 포함하는
    시스템.
  7. 제 6 항에 있어서,
    상기 재생 애플리케이션이 비활성인지 여부의 판정은 상기 재생 애플리케이션이 다른 애플리케이션에 의하여 감춰졌는지 여부를 판정을 포함하는
    시스템.
  8. 제 6 항에 있어서,
    상기 재생 애플리케이션이 비활성인지 여부의 판정은 상기 재생 애플리케이션의 디스플레이가 다른 애플리케이션에 의하여 중첩되는지 여부의 판정을 포함하는
    시스템.
  9. 제 6 항에 있어서,
    상기 명령어들은
    상기 재생 애플리케이션의 디스플레이가 더이상 비활성이 아님을 판정하고,
    상기 재생 애플리케이션이 더이상 비활성이 아니라는 판정에 응답하여, 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 디코딩을 재개하는 것을 수행하는 명령어를 더 포함하는
    시스템.
  10. 제 9 항에 있어서,
    상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 디코딩을 재개하는 것은
    상기 멀티미디어 스트림의 상기 오디오 스트림 부분에서 현재 디코딩되고 있는 오디오 프레임을 식별하는 것과,
    상기 멀티미디어 스트림의 상기 비디오 스트림 부분에서 상기 식별된 오디오 프레임에 대응하는 비디오 프레임을 식별하는 것과,
    상기 식별된 비디오 프레임으로 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 디코딩을 재개하는 것을 포함하는
    시스템.
  11. 명령어를 포함하는 컴퓨터 판독가능한 저장 매체로서,
    상기 명령어는 처리 시스템에서 실행될 때 상기 처리 시스템으로 하여금,
    컴퓨팅 장치의 비디오 디코더에 의하여, 멀티미디어 스트림의 비디오 스트림 부분을 디코딩 -상기 멀티미디어 스트림은 상기 비디오 스트림 부분과 오디오 스트림 부분을 포함함- 하고,
    상기 컴퓨팅 장치의 오디오 디코더에 의하여, 상기 멀티미디어 스트림의 상기 오디오 스트림 부분을 디코딩하고,
    상기 디코딩된 비디오 스트림 부분을 재생하는 재생 애플리케이션이 비활성인지 여부를 판정하고,
    상기 디코딩된 비디오 스트림 부분을 재생하는 재생 애플리케이션이 비활성이라는 판정에 응답하여, 전력 최적화 파라미터가 만족되는지 여부를 판정 -상기 전력 최적화 파라미터는 절전 모드로 진입하기 위한 조건을 나타냄- 하고,
    상기 전력 최적화 파라미터가 만족된다는 판정에 응답하여, 상기 비디오 디코더로의 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 제공을 중단하여 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 디코딩을 막으면서 상기 멀티미디어 스트림의 상기 오디오 스트림 부분의 디코딩은 지속하도록 하는
    컴퓨터 판독가능한 저장 매체.
  12. 제 11 항에 있어서,
    상기 재생 애플리케이션이 비활성인지 여부의 판정은 상기 재생 애플리케이션이 다른 애플리케이션에 의하여 감춰졌는지 여부의 판정을 포함하는
    컴퓨터 판독가능한 저장 매체.
  13. 제 11 항에 있어서,
    상기 재생 애플리케이션이 비활성인지 여부의 판정은 상기 재생 애플리케이션의 디스플레이가 다른 애플리케이션에 의하여 중첩되는지 여부의 판정을 포함하는
    컴퓨터 판독가능한 저장 매체.
  14. 제 11 항에 있어서,
    상기 명령어는 또한 상기 처리 시스템으로 하여금,
    상기 재생 애플리케이션의 디스플레이가 더이상 비활성이 아님을 판정하고,
    상기 재생 애플리케이션이 더이상 비활성이 아니라는 판정에 응답하여, 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 디코딩을 재개하도록 하는
    컴퓨터 판독가능한 저장 매체.
  15. 제 14 항에 있어서,
    상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 디코딩을 재개하는 것은
    상기 멀티미디어 스트림의 상기 오디오 스트림 부분에서 현재 디코딩되고 있는 오디오 프레임을 식별하는 것과,
    상기 멀티미디어 스트림의 상기 비디오 스트림 부분에서 상기 식별된 오디오 프레임에 대응하는 비디오 프레임을 식별하는 것과,
    상기 식별된 비디오 프레임으로 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 디코딩을 재개하는 것을 포함하는
    컴퓨터 판독가능한 저장 매체.
  16. 컴퓨팅 장치의 비디오 디코더에 의하여, 멀티미디어 스트림의 비디오 스트림 부분을 디코딩하기 위한 수단 -상기 멀티미디어 스트림은 상기 비디오 스트림 부분과 오디오 스트림 부분을 포함함- 과,
    상기 컴퓨팅 장치의 오디오 디코더에 의하여, 상기 멀티미디어 스트림의 상기 오디오 스트림 부분을 디코딩하기 위한 수단과,
    상기 디코딩된 비디오 스트림 부분을 재생하는 재생 애플리케이션이 비활성인지 여부를 판정하기 위한 수단과,
    상기 디코딩된 비디오 스트림 부분을 재생하는 재생 애플리케이션이 비활성이라는 판정에 응답하여, 전력 최적화 파라미터가 만족되는지 여부를 판정하기 위한 수단 -상기 전력 최적화 파라미터는 절전 모드로 진입하기 위한 조건을 나타냄- 과,
    상기 전력 최적화 파라미터가 만족된다는 판정에 응답하여, 상기 비디오 디코더로의 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 제공을 중단하여 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 디코딩을 막으면서 상기 멀티미디어 스트림의 상기 오디오 스트림 부분의 디코딩은 지속하기 위한 수단을 포함하는
    장치.
  17. 제 16 항에 있어서,
    상기 재생 애플리케이션이 비활성인지 여부를 판정하기 위한 수단은 상기 재생 애플리케이션이 다른 애플리케이션에 의하여 감춰졌는지 여부를 판정하기 위한 수단을 포함하는
    장치.
  18. 제 16 항에 있어서,
    상기 재생 애플리케이션이 비활성인지 여부를 판정하기 위한 수단은 상기 재생 애플리케이션의 디스플레이가 다른 애플리케이션에 의하여 중첩되는지 여부를 판정하기 위한 수단을 포함하는
    장치.
  19. 제 16 항에 있어서,
    상기 재생 애플리케이션의 디스플레이가 더이상 비활성이 아님을 판정하기 위한 수단과,
    상기 재생 애플리케이션이 더이상 비활성이 아니라는 판정에 응답하여, 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 디코딩을 재개하기 위한 수단을 더 포함하는
    장치.
  20. 제 19 항에 있어서,
    상기 멀티미디어 스트림의 비디오 스트림 부분의 디코딩을 재개하기 위한 수단은,
    상기 멀티미디어 스트림의 상기 오디오 스트림 부분에서 현재 디코딩되고 있는 오디오 프레임을 식별하기 위한 수단과,
    상기 멀티미디어 스트림의 상기 비디오 스트림 부분에서 상기 식별된 오디오 프레임에 대응하는 비디오 프레임을 식별하기 위한 수단과,
    상기 식별된 비디오 프레임으로 상기 멀티미디어 스트림의 상기 비디오 스트림 부분의 디코딩을 재개하기 위한 수단을 더 포함하는
    장치.
  21. 제 4 항에 있어서,
    상기 재생 애플리케이션이 비활성인지 여부를 판정하는 단계는 상기 재생 애플리케이션에 초점이 맞춰져 있지 않음(not in focus)을 판정하는 단계를 포함하며,
    상기 재생 애플리케이션이 더이상 비활성이 아님을 판정하는 단계는 상기 재생 애플리케이션이 초점을 되찾았는지 여부를 판정하는 단계를 포함하는
    컴퓨터로 구현되는 방법.
  22. 제 9 항에 있어서,
    상기 재생 애플리케이션이 비활성인지 여부의 판정은 상기 재생 애플리케이션에 초점이 맞춰져 있지 않음의 판정을 포함하며,
    상기 재생 애플리케이션이 더이상 비활성이 아님의 판정은 상기 재생 애플리케이션이 초점을 되찾았는지 여부의 판정을 포함하는
    시스템.
  23. 제 14 항에 있어서,
    상기 재생 애플리케이션이 비활성인지 여부의 판정은 상기 재생 애플리케이션에 초점이 맞춰져 있지 않음의 판정을 포함하며,
    상기 재생 애플리케이션이 더이상 비활성이 아님의 판정은 상기 재생 애플리케이션이 초점을 되찾았는지 여부의 판정을 포함하는
    컴퓨터 판독가능한 저장 매체.
  24. 제 19 항에 있어서,
    상기 재생 애플리케이션이 비활성인지 여부를 판정하기 위한 수단은 상기 재생 애플리케이션에 초점이 맞춰져 있지 않음을 판정하기 위한 수단을 포함하며,
    상기 재생 애플리케이션이 더이상 비활성이 아님을 판정하기 위한 수단은 상기 재생 애플리케이션이 초점을 되찾았는지 여부를 판정하기 위한 수단을 포함하는
    장치.
KR1020137016848A 2010-12-29 2011-12-20 특정 미디어 재생 시나리오를 위한 전력 최적화 KR101566255B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/981,103 2010-12-29
US12/981,103 US20120170666A1 (en) 2010-12-29 2010-12-29 Power optimization for special media playback scenarios
PCT/US2011/066259 WO2012092036A2 (en) 2010-12-29 2011-12-20 Power optimization for special media playback scenarios

Publications (2)

Publication Number Publication Date
KR20130105878A KR20130105878A (ko) 2013-09-26
KR101566255B1 true KR101566255B1 (ko) 2015-11-05

Family

ID=46380772

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137016848A KR101566255B1 (ko) 2010-12-29 2011-12-20 특정 미디어 재생 시나리오를 위한 전력 최적화

Country Status (8)

Country Link
US (1) US20120170666A1 (ko)
EP (1) EP2659356A4 (ko)
JP (1) JP2014505929A (ko)
KR (1) KR101566255B1 (ko)
CN (1) CN103282882B (ko)
AU (1) AU2011352783A1 (ko)
TW (1) TW201239756A (ko)
WO (1) WO2012092036A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9426439B2 (en) 2013-03-12 2016-08-23 Intel Corporation Exposing media processing features
US9948573B2 (en) * 2013-03-14 2018-04-17 Comcast Cable Communications, Llc Delivery of multimedia components according to user activity
KR102277258B1 (ko) * 2014-02-27 2021-07-14 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 애플리케이션 처리 방법
CN110753262A (zh) * 2018-07-24 2020-02-04 杭州海康威视数字技术股份有限公司 录像数据的消音方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070216760A1 (en) * 2004-06-02 2007-09-20 Satoshi Kondo Mobile Terminal Device

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5191644A (en) * 1990-10-10 1993-03-02 Fuji Xerox Co., Ltd. Multiwindow control system
US6993251B1 (en) * 2000-03-31 2006-01-31 Matsushita Electric Industrial Co., Ltd. Method and apparatus for concealing disk soft errors in recorded digital television signals
US7522964B2 (en) * 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US20040264930A1 (en) * 2003-02-25 2004-12-30 Yoo Jea Yong Method of reproducing content information for an interactive optical disc apparatus
KR100526554B1 (ko) * 2003-07-21 2005-11-03 삼성전자주식회사 디지털 멀티미디어 방송 수신용 이동단말에서 음성통화시오디오신호를 처리하는 장치 및 방법
JP4479258B2 (ja) * 2004-02-02 2010-06-09 パナソニック株式会社 携帯デジタル放送受信装置及び再生装置
JP2005252375A (ja) * 2004-03-01 2005-09-15 Hitachi Ltd 携帯用動画再生装置
JP2006129262A (ja) * 2004-10-29 2006-05-18 Toshiba Corp 電子機器および同機器の消費電力制御方法
JP2007013438A (ja) * 2005-06-29 2007-01-18 Toshiba Corp 音声画像再生装置及び動作制御方法
CN101502101A (zh) * 2006-08-04 2009-08-05 松下电器产业株式会社 电子设备和电子设备音量控制方法
KR100800815B1 (ko) * 2006-11-21 2008-02-01 삼성전자주식회사 디지털 방송을 수신하는 이동 단말기 및 방법
US8310443B1 (en) * 2007-05-02 2012-11-13 Google Inc. Pie chart time indicator
US7992026B2 (en) * 2007-10-19 2011-08-02 Nokia Corporation Controlling broadcast content processing using display state information
JP5299866B2 (ja) * 2009-05-19 2013-09-25 日立コンシューマエレクトロニクス株式会社 映像表示装置
JP4592805B1 (ja) * 2009-06-11 2010-12-08 株式会社東芝 動画像復号装置、プログラムおよび復号処理簡略化方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070216760A1 (en) * 2004-06-02 2007-09-20 Satoshi Kondo Mobile Terminal Device

Also Published As

Publication number Publication date
AU2011352783A1 (en) 2013-07-04
CN103282882A (zh) 2013-09-04
WO2012092036A3 (en) 2012-12-06
TW201239756A (en) 2012-10-01
EP2659356A4 (en) 2017-10-25
CN103282882B (zh) 2016-10-26
WO2012092036A2 (en) 2012-07-05
EP2659356A2 (en) 2013-11-06
JP2014505929A (ja) 2014-03-06
US20120170666A1 (en) 2012-07-05
KR20130105878A (ko) 2013-09-26

Similar Documents

Publication Publication Date Title
TWI502977B (zh) 影音播放裝置、影音處理裝置、系統以及方法
US8738951B2 (en) Mobile systems with seamless transition by activating second subsystem to continue operation of application executed by first subsystem as it enters sleep mode
AU2008214236B2 (en) Supporting multiple operating systems in media devices
US20140359685A1 (en) Video processing method, television dongle, control terminal, and system
US20230021776A1 (en) Determining context to initiate interactivity
KR101512918B1 (ko) 미디어 검출에 기초한 시스템 타임아웃 리셋
KR101566255B1 (ko) 특정 미디어 재생 시나리오를 위한 전력 최적화
US9282391B2 (en) Method and apparatus for recognizing earphone in portable terminal
CN102281473A (zh) 电视终端的信息处理方法及电视终端
EP1860555A2 (en) Media subsystem, method and computer program product for adaptive media buffering
US20090172607A1 (en) Electronic device and method for controlling screen saver operations thereof
US20170353705A1 (en) Method for processing signals with operating state-dependent handling of multimedia attributes and electronic device thereof
US20100248794A1 (en) Method and electronic device capable of saving power
JP5537726B2 (ja) マルチメディアファイルの制御過程に高速な応答を実現する方法及び放送装置
US20140099081A1 (en) Creating An Abridged Presentation Of A Media Work
US20050223307A1 (en) Computer system for executing multimedia player system and the method thereof
TW201329838A (zh) 以動作偵測致能電源最佳化的顯示之技術
JP2009177603A (ja) 情報処理装置および表示制御方法
TWI632816B (zh) 具有能源節約的連續資料遞送技術
JP2007052764A (ja) デュアルプロセッサを具えたマルチメディアコンピュータシステムとそのマルチメディアインスタントプレイ方法
US8116887B2 (en) Apparatus and method for performing auxiliary functions when electronics are switched to hold
US20100287395A1 (en) Computer system for processing data in non-operational state and processing method thereof
JP2011076387A (ja) 省電力モードを有する端末装置における省電力制御装置、方法、及びプログラム
CN112835544A (zh) 显示方法及显示设备、电子设备、存储介质
US7418609B2 (en) Method for instant on multimedia playing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee