KR101879318B1 - 비디오 스트리밍을 위한 전력 인식 적응 - Google Patents

비디오 스트리밍을 위한 전력 인식 적응 Download PDF

Info

Publication number
KR101879318B1
KR101879318B1 KR1020157027754A KR20157027754A KR101879318B1 KR 101879318 B1 KR101879318 B1 KR 101879318B1 KR 1020157027754 A KR1020157027754 A KR 1020157027754A KR 20157027754 A KR20157027754 A KR 20157027754A KR 101879318 B1 KR101879318 B1 KR 101879318B1
Authority
KR
South Korea
Prior art keywords
complexity level
video
power
power consumption
data segment
Prior art date
Application number
KR1020157027754A
Other languages
English (en)
Other versions
KR20150128848A (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 KR20150128848A publication Critical patent/KR20150128848A/ko
Application granted granted Critical
Publication of KR101879318B1 publication Critical patent/KR101879318B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring 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/4424Monitoring 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4436Power management, e.g. shutting down unused components of the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Abstract

전력 인식 비디오 스트리밍 시스템을 위한 전력 인식 적응은, 다수의 방식으로 전달될 수도 있는 복잡도 정보(complexity information)에 기초할 수도 있다. 비디오 데이터 스트림과 같은 데이터 스트림의 복잡도 레벨은 무선 송수신 유닛(wireless transmit/receive unit; WTRU)의 남아 있는 배터리 전력의 함수로서 그리고 WTRU에 의해 저장되고 관리될 수도 있는 복수의 상태 세트 중 한 상태 세트에 의거하여 선택될 수도 있다. 이들 상태 세트는, 예를 들면, 상이한 컨텐츠 소스 및/또는 상이한 복잡도 추정 알고리즘에 대응할 수도 있고 데이터 스트림의 복잡도 레벨을 선택하는 데 사용될 수도 있다. 그 다음, 데이터 스트림은 선택된 복잡도 레벨에서 수신될 수도 있다. 복잡도 레벨 및/또는 데이터 스트림의 비트레이트는, 예를 들면, 남아 있는 배터리 전력 및/또는 다른 상황을 수용하도록 적응될 수도 있다. 적응은 사용 사례의 목적에 따라 커스터마이징될 수도 있다.

Description

비디오 스트리밍을 위한 전력 인식 적응{POWER AWARE ADAPTATION FOR VIDEO STREAMING}
관련 출원에 대한 상호 참조
본 출원은 2013년 3월 6일자로 출원된 미국 가출원 제61/773,379; 및 2014년 2월 6일자로 출원된 미국 가출원 제61/936,838호의 이점을 주장하며; 상기 두 가출원은 본원에서의 참조에 의해 본원에 통합된다.
기술분야
본 발명은 비디오 스트리밍을 위한 전력 인식 적응에 관한 것이다.
모바일 디바이스의 계산 성능은 CPU 주파수, CPU 코어의 수 및 메모리 사이즈의 면에서 증가되었다. 시스템 온 칩(Systems on Chip; SoC) 및 무선 통신 기술(예를 들면, 4G 및 와이파이)의 진보와 함께, 모바일 플랫폼은 사회에서 중요한 역할을 담당하며; 모바일 유저의 수는 증가하고 있고, 모바일 디바이스는 음성 통화를 넘어서는 역할을 떠맡았다. 예를 들면, 유저는 임의의 시간에 그리고 임의의 장소에서 서비스에 액세스하기 위해 모바일 디바이스를 사용할 수도 있다.
비디오 스트리밍은, 무선 네트워크에서 동작하는 모바일 플랫폼에 대해 종종 요청되는 비디오 서비스이다. 리소스 제한적이고 이질적인 모바일 디바이스 상에서 고품질의 비디오 서비스를 제공하는 것에는 많은 도전과제가 존재할 수도 있다. 이들 도전과제는 변화하는 네트워크 상태, 변화하는 디스플레이 사이즈, 변화하는 프로세싱 성능, 및 배터리 수명을 포함할 수도 있다.
전력 인식 비디오 스트리밍 시스템을 위한 전력 인식 적응은, 다수의 방식으로 전달될 수도 있는 복잡도 정보(complexity information)에 기초할 수도 있다. 비디오 데이터 스트림과 같은 데이터 스트림의 복잡도 레벨은 무선 송수신 유닛(wireless transmit/receive unit; WTRU)의 남아 있는 배터리 전력의 함수로서 그리고 WTRU에 의해 저장되고 관리될 수도 있는 복수의 상태 세트 중 한 상태 세트에 의거하여 선택될 수도 있다. 이들 상태 세트는, 예를 들면, 상이한 컨텐츠 소스 및/또는 상이한 복잡도 추정 알고리즘에 대응할 수도 있고 데이터 스트림의 복잡도 레벨을 선택하는 데 사용될 수도 있다. 그 다음, 데이터 스트림은 선택된 복잡도 레벨에서 수신될 수도 있다. 복잡도 레벨 및/또는 데이터 스트림의 비트레이트는, 예를 들면, 남아 있는 배터리 전력 및/또는 다른 상황을 수용하도록 적응될 수도 있다. 적응은 사용 사례의 목적에 따라 커스터마이징될 수도 있다(customized).
상태 세트를 추적하는 데 사용될 수도 있는 메모리의 양을 감소시키기 위해, WTRU와 같은 디코더 디바이스는 자신이 추적할 수도 있는 상태 세트의 수에 대한 한계를 설정할 수도 있고 이 한계가 초과될 수도 있을 때 상태 세트를 삭제할 수도 있다. 디코더 디바이스는 유사할 수도 있는 상태 세트를 병합할 수도 있고, 및/또는 복잡도 레벨을 전력 소비율(power dissipation rate; PDR) 상태로 양자화할 수도 있다.
전력 인식 스트리밍을 위한 디바이스가 제공될 수도 있다. 디바이스는 다수의 액션을 수행할 수도 있는 프로세서를 포함할 수도 있다. 데이터 세그먼트에 대한 복잡도 레벨이 결정될 수도 있다. 예를 들면, 데이터 세그먼트에 대한 복잡도는 서버로부터 또는 신호를 통해 수신될 수도 있다. 데이터 세그먼트는 비디오 스트림의 세그먼트일 수도 있다. 예를 들면, 프로세서는 디코더에 의해 사용될 수도 있는 데이터 세그먼트에 대한 복잡도 레벨을 결정할 수도 있다. 복잡도 레벨에 대한 PDR은, 데이터 세그먼트를 디코딩하고 있는 동안 소비될 수도 있는 전력에 기초할 수도 있다. 복잡도 레벨에 대한 PDR은 제1 배터리 레벨 및 제2 배터리 레벨을 사용하여 결정될 수도 있다. PDR 상태와 같은 상태가 PDR을 사용하여 계산될 수도 있다. 제2 PDR이 복잡도 레벨에 대해 결정될 수도 있다.
복잡도 레벨에 대한 PDR 상태와 같은 상태는 제1 PDR 및 제2 PDR을 사용하여 계산될 수도 있다. 예를 들면, PDR 상태는 제1 PDR 및 제2 PDR의 가중치가 부여된 평균(weighted average)을 계산하는 것에 의해 계산될 수도 있다. 다른 예로서, PDR 상태는, 제1 PDR에 제1 가중치를 적용하는 것에 의해 제1 가중치가 부여된 PDR을 계산하고; 제2 PDR에 제2 가중치를 적용하는 것에 의해 제2 가중치가 부여된 PDR을 계산하고; 그리고 PDR 상태를, 제1 가중치가 부여된 PDR과 제2 가중치가 부여된 PDR의 평균으로 설정하는 것에 의해 계산될 수도 있다.
비디오 스트림을 플레이할 전력의 양이 결정될 수도 있다. 예를 들면, 비디오 스트림의 길이 또는 지속시간이 결정될 수도 있다. 비디오 스트림을 한 복잡도 레벨에서 플레이하는 데 필요한 전력은, 비디오 스트림의 길이 또는 지속시간을, 그 복잡도 레벨에 대한 PDR(예를 들면, PDR 상태)로 승산하는 것에 의해 계산될 수도 있다.
남아 있는 배터리 용량이 결정될 수도 있다. 비디오 스트림을 한 복잡도 레벨에서 디코딩 및/또는 플레이하기 위해 사용될 수도 있는 전력이 결정될 수도 있다. 그 전력이 남아 있는 배터리 용량을 초과할 수도 있는지의 여부에 관한 결정이 이루어질 수도 있다. 그 전력이 남아 있는 배터리 용량을 초과할 수도 있으면, 남아 있는 배터리 용량 내에서 비디오 스트림을 디코딩 및 플레이하기 위해, 다른 복잡도 레벨이 사용될 수도 있다.
전력 인식 스트리밍을 위한 디바이스가 제공될 수도 있다. 디바이스는 다수의 액션을 수행할 수도 있는 프로세서를 포함할 수도 있다. 예를 들면, 데이터 세그먼트에 대해 제1 복잡도 레벨이 결정될 수도 있다. 데이터 세그먼트에 대한 복잡도 레벨은 서버로부터 또는 신호를 통해 복잡도 레벨을 수신하는 것에 의해 결정될 수도 있다. 디코더에 대한 계산용 부하(computing load)가 결정될 수도 있다. 계산용 임계치(computing threshold)가 결정될 수도 있다. 계산용 임계치는 유저에 의해 설정될 수도 있다. 계산용 부하가 계산용 임계치 위에 있을 수도 있거나 또는 계산용 임계치 아래에 있을 수도 있다는 것이 결정될 수도 있다. 계산용 부하를 사용하여 제2 복잡도 레벨이 선택될 수도 있다. 데이터 세그먼트에 대해 비트 레이트가 결정될 수도 있다.
개요는 하기의 상세한 설명에서 더 설명되는 개념의 선택을 간소화된 형태로 소개하기 위해 제공된다. 이 개요는 청구된 주제의 주요한 또는 본질적인 특징을 식별하도록 의도된 것도 아니며, 또한 청구된 주제의 범위를 한정하는 데 사용되도록 의도된 것도 아니다. 또한, 청구된 주제는, 본 개시의 임의의 부분에서 언급되는 임의의 또는 모든 단점을 해결하는 임의의 제한사항에 한정되지 않는다.
첨부의 도면과 연계하여 예로서 주어지는 하기의 설명으로부터, 더 상세한 이해가 얻어질 수도 있는데, 도면에서:
도 1은 예시적인 HTTP 기반 비디오 스트리밍 시스템을 묘사한다.
도 2는 예시적인 블록 기반 비디오 인코더를 묘사한다.
도 3은 예시적인 블록 기반 비디오 디코더를 묘사한다.
도 4는 예시적인 비디오 재생(video playback) 시나리오에서의 전력 사용량의 예를 묘사한다.
도 5는 예시적인 전력 인식 스트리밍 시스템을 묘사한다.
도 6은, 해상도, 비트레이트, 및 복잡도를 고려하는 것에 의해 서버측에서 발생될 수도 있는 예시적인 컨텐츠를 묘사한다.
도 7은 복잡도 인식 미디어 프리젠테이션 설명(media presentation description; MPD) 파일의 예를 묘사한다.
도 8은 품질 모드를 위해 전력 적응 로직에 의해 구현될 수도 있는 예시적인 프로세스를 묘사한다.
도 9는 멀티태스킹 환경을 위해 전력 적응 로직에 의해 구현될 수도 있는 예시적인 프로세스를 묘사한다.
도 10은 디코더 디바이스가 다수의 상이한 컨텐츠 소스로부터의 미디어 컨텐츠를 스트리밍할 수도 있는 예시적인 시스템을 묘사한다.
도 11은 복잡도 레벨을 양자화하는 예를 묘사한다.
도 12는 감소된 상태 세트를 사용한 전력 소비 상태의 계산에서의 바이어스의 예를 묘사한다.
도 13은 감소된 상태 세트의 전력 소비 상태를 업데이트할 때 바이어스를 감소시키거나 제거하기 위한 예시적인 보간(interpolation)을 묘사한다.
도 14a는 하나 이상의 개시된 실시형태가 구현될 수도 있는 예시적인 통신 시스템의 시스템 도면이다.
도 14b는 도 14a에 예시된 통신 시스템 내에서 사용될 수도 있는 예시적인 무선 송수신 유닛(WTRU)의 시스템 도면이다.
도 14c는 도 14a에서 예시된 통신 시스템 내에서 사용될 수도 있는 예시적인 코어 네트워크와 예시적인 무선 액세스 네트워크의 시스템 도면이다.
도 14d는 도 14a에서 예시된 통신 시스템 내에서 사용될 수도 있는 다른 예시적인 코어 네트워크와 다른 예시적인 무선 액세스 네트워크의 시스템 도면이다.
도 14e는 도 14a에서 예시된 통신 시스템 내에서 사용될 수도 있는 다른 예시적인 코어 네트워크와 다른 예시적인 무선 액세스 네트워크의 시스템 도면이다.
다양한 도면을 참조로 예시적인 예의 상세한 설명이 이제 설명될 것이다. 이 설명이 가능한 구현예의 상세한 예를 제공하지만, 그 상세는 예증적인 것으로 의도된 것이며 본 출원의 범위를 어떤 식으로든 제한하도록 의도된 것이 아니라는 것을 유의해야 한다.
전력 인식 비디오 스트리밍 시스템을 위한 전력 인식 적응은, 다수의 방식으로 전달될 수도 있는 복잡도 정보에 기초할 수도 있다. 비디오 데이터 스트림과 같은 데이터 스트림의 복잡도 레벨은 무선 송수신 유닛(WTRU)의 남아 있는 배터리 전력의 함수로서 그리고 WTRU에 의해 저장되고 관리될 수도 있는 복수의 상태 세트 중 한 상태 세트에 의거하여 선택될 수도 있다. 이들 상태 세트는, 예를 들면, 상이한 컨텐츠 소스 및/또는 상이한 복잡도 추정 알고리즘에 대응할 수도 있고 데이터 스트림의 복잡도 레벨을 선택하는 데 사용될 수도 있다. 그 다음, 데이터 스트림은 선택된 복잡도 레벨에서 수신될 수도 있다. 복잡도 레벨 및/또는 데이터 스트림의 비트레이트는, 예를 들면, 남아 있는 배터리 전력 및/또는 다른 상황을 수용하도록 적응될 수도 있다. 적응은 사용 사례의 목적에 따라 커스터마이징될 수도 있다.
상태 세트를 추적하는 데 사용될 수도 있는 메모리의 양을 감소시키기 위해, WTRU와 같은 디코더 디바이스는 자신이 추적할 수도 있는 상태 세트의 수에 대한 한계를 설정할 수도 있고 이 한계가 초과될 수도 있을 때 상태 세트를 삭제할 수도 있다. 디코더 디바이스는 유사할 수도 있는 상태 세트를 병합할 수도 있고, 및/또는 복잡도 레벨을 전력 소비율(PDR) 상태로 양자화할 수도 있다.
전력 인식 스트리밍을 위한 디바이스가 제공될 수도 있다. 디바이스는 다수의 액션을 수행할 수도 있는 프로세서를 포함할 수도 있다. 데이터 세그먼트에 대한 복잡도 레벨이 결정될 수도 있다. 예를 들면, 데이터 세그먼트에 대한 복잡도는 서버로부터 또는 신호를 통해 수신될 수도 있다. 데이터 세그먼트는 비디오 스트림의 세그먼트일 수도 있다. 예를 들면, 프로세서는 디코더에 의해 사용될 수도 있는 데이터 세그먼트에 대한 복잡도 레벨을 결정할 수도 있다. 복잡도 레벨에 대한 PDR은, 데이터 세그먼트를 디코딩하고 있는 동안 소비될 수도 있는 전력에 기초할 수도 있다. 복잡도 레벨에 대한 PDR은 제1 배터리 레벨 및 제2 배터리 레벨을 사용하여 결정될 수도 있다. PDR 상태와 같은 상태가 PDR을 사용하여 계산될 수도 있다. 제2 PDR이 복잡도 레벨에 대해 결정될 수도 있다.
복잡도 레벨에 대한 PDR 상태와 같은 상태는 제1 PDR 및 제2 PDR을 사용하여 계산될 수도 있다. 예를 들면, PDR 상태는 제1 PDR 및 제2 PDR의 가중치가 부여된 평균(weighted average)을 계산하는 것에 의해 계산될 수도 있다. 다른 예로서, PDR 상태는, 제1 PDR에 제1 가중치를 적용하는 것에 의해 제1 가중치가 부여된 PDR을 계산하고; 제2 PDR에 제2 가중치를 적용하는 것에 의해 제2 가중치가 부여된 PDR을 계산하고; 그리고 PDR 상태를, 제1 가중치가 부여된 PDR과 제2 가중치가 부여된 PDR의 평균으로 설정하는 것에 의해 계산될 수도 있다.
비디오 스트림을 플레이할 전력의 양이 결정될 수도 있다. 예를 들면, 비디오 스트림의 길이 또는 지속시간이 결정될 수도 있다. 비디오 스트림을 한 복잡도 레벨에서 플레이하는 데 필요한 전력은, 비디오 스트림의 길이 또는 지속시간을, 그 복잡도 레벨에 대한 PDR(예를 들면, PDR 상태)로 승산하는 것에 의해 계산될 수도 있다.
남아 있는 배터리 용량이 결정될 수도 있다. 비디오 스트림을 한 복잡도 레벨에서 디코딩 및/또는 플레이하기 위해 사용될 수도 있는 전력이 결정될 수도 있다. 그 전력이 남아 있는 배터리 용량을 초과할 수도 있는지의 여부에 관한 결정이 이루어질 수도 있다. 그 전력이 남아 있는 배터리 용량을 초과할 수도 있으면, 남아 있는 배터리 용량 내에서 비디오 스트림을 디코딩 및 플레이하기 위해, 다른 복잡도 레벨이 사용될 수도 있다.
전력 인식 스트리밍을 위한 디바이스가 제공될 수도 있다. 디바이스는 다수의 액션을 수행할 수도 있는 프로세서를 포함할 수도 있다. 예를 들면, 데이터 세그먼트에 대해 제1 복잡도 레벨이 결정될 수도 있다. 데이터 세그먼트에 대한 복잡도 레벨은 서버로부터 또는 신호를 통해 복잡도 레벨을 수신하는 것에 의해 결정될 수도 있다. 디코더에 대한 계산용 부하가 결정될 수도 있다. 계산용 임계치가 결정될 수도 있다. 계산용 임계치는 유저에 의해 설정될 수도 있다. 계산용 부하가 계산용 임계치 위에 있을 수도 있거나 또는 계산용 임계치 아래에 있을 수도 있다는 것이 결정될 수도 있다. 계산용 부하를 사용하여 제2 복잡도 레벨이 선택될 수도 있다. 데이터 세그먼트에 대해 비트 레이트가 결정될 수도 있다.
본원에서 설명되는 바와 같이, 전력 적응은 클라이언트측에서 수행될 수도 있다. 예를 들면, 전력 적응은 전력 인식 스트리밍 시스템에서 적용될 수도 있다. 전력 소비 상태는 디코더 디바이스, 예컨대 WTRU에 의해 추적, 유지, 및 사용될 수도 있다. 예를 들면, 컨텐츠 공급자 또는 컨텐츠 소스는, 컨텐츠를 디코딩하는 것과 관련된 전력 소비에 관련될 수도 있는 컨텐츠의 복잡도를 추정하는 데 상이한 알고리즘을 사용할 수도 있다. 디코더 디바이스는 이들 상이한 알고리즘을 인식하고 이들 상이한 알고리즘에 적응될 수도 있다.
비디오 스트리밍은 무선 네트워크에서 동작할 수도 있는 모바일 플랫폼에 대해 요청된 비디오 서비스이다. 리소스 제한적일 수도 있는 모바일 디바이스에 대해 양질의 비디오 서비스를 제공하는 것에는 도전과제가 존재할 수도 있다. 예를 들면, 네트워크 상태가 변할 수도 있고, 디스플레이 사이즈가 변할 수도 있고, 그리고 프로세싱 성능이 변할 수도 있으며, 배터리 수명이 존재할 수도 있다. 많은 서비스 공급자는 HTTP를 통한 동적 적응 스트리밍(dynamic adaptive streaming over HTTP; DASH) 솔루션을 제공하는데, 그 이유는 서비스 공급자가 기존의 네트워크 인프라, 특히 CDN 네트워크를 재사용하는 것을 그 솔루션이 허용할 수도 있고, 또한 방화벽을 통과할 수도 있기 때문이다. 예를 들면, 에지캐스트(EdgeCast) 및 레벨 3(Level 3)은 마이크로소프트(Microsoft)사로부터의 스무스 스트리밍(Smooth Streaming)을 이용하고, 한편 아카마이(Akamai) 및 클라우드프론트(CloudFront)는 아도브(Adobe)사로부터의 동적 HTTP 스트리밍을 이용하고, iOS 디바이스는 애플(Apple)사의 HTTP 라이브 스트리밍(Live Streaming)을 지원할 수도 있다.
DASH에서, 미디어는 디코딩가능할 수도 있는 세그먼트로 편제될(organized) 수도 있다. 컨텐츠는 상이한 품질 및 해상도에서 인코딩될 수도 있고 세그먼트로 절단될 수도 있다. 이들 컨텐츠의 정보, 예컨대 비트레이트, 바이트 범위, 및 URL은 미디어 프리젠테이션 설명(MPD)으로 칭해지는 XML 기반 매니페스트 파일(manifest file; MF)을 이용하여 설명될 수도 있다. 클라이언트는 HTTP를 통해 이 컨텐츠에 액세스할 수도 있고 MPD 파일에 따라 자신의 대역폭 또는 해상도를 완전히 발휘할 수도 있는 세그먼트를 선택할 수도 있다.
도 1은 예시적인 HTTP 기반 비디오 스트리밍 시스템, 예컨대 시스템(200)을 묘사한다. 캡쳐된 컨텐츠는 압축될 수도 있고 작은 세그먼트로 절단될 수도 있다. 예를 들면, 세그먼트는 몇몇 스트리밍 시스템에서 2와 10초 사이의 길이일 수도 있다. 202에서, 세그먼트는 하나 이상의 HTTP 스트리밍 서버에 저장될 수도 있고 및/또는 컨텐츠 전송 네트워크(content delivery network; CDN)를 통해 분배될 수도 있다. 스트리밍 세션의 시작에서, 클라이언트는 202에서 MPD 파일을 요청하여 HTTP 스트리밍 서버로부터 수신할 수도 있다. 클라이언트는 자신의 성능에 따라, 예컨대 자신의 디스플레이 해상도 및 이용가능한 대역폭에 따라 어떤 세그먼트를 요청할지를 결정할 수도 있다. 클라이언트는 202에서, 클라이언트의 요청에 따라 클라이언트로 비디오 세그먼트를 전송할 수도 있는 서버로부터의 적절한 세그먼트를 요청할 수도 있다. HTTP를 통해 송신되는 세그먼트는 204에서 HTTP 캐시 서버 또는 서버에 캐싱될 수도 있다. 이것은 캐시된 세그먼트가 다른 유저에 대해 재사용되는 것을 허용할 수도 있고, 시스템이 큰 스케일로 스트리밍 서비스를 제공하는 것을 허용할 수도 있다.
몇몇 스트리밍 시스템에서, 송신 대역폭 및 스토리지를 절약하기 위해, 싱글 레이어(single layer)의 비디오 코딩이 사용되어 비디오 컨텐츠를 압축할 수도 있고 또한 상이한 비트스트림을 발생시킬 수도 있다. 도 2는 스트리밍 시스템, 예컨대 스트리밍 시스템(200)에 대한 비트스트림을 발생시키기 위해 사용될 수도 있는 예시적인 블록 기반 레이어 비디오 인코더(300)를 예시한다. 효과적인 압축을 달성하기 위해, 싱글 레이어 인코더는, 입력 비디오 신호를 예측하기 위해, 예를 들면, 302에서 공간적 예측(인트라 예측으로 칭해질 수도 있음)을 및/또는 304에서 시간적 예측(인터 예측 및/또는 모션 보상 예측으로 칭해질 수도 있음)을 활용할 수도 있다. 인코더는, 예를 들면, 소정의 기준, 예컨대 레이트 및 왜곡 고려사항의 조합에 기초하여, 예측의 형태(예를 들면, 가장 적절한 형태)를 선택할 수도 있는 모드 결정 로직(306)을 또한 구비할 수도 있다. 인코더는 예측 잔차(prediction residual)(입력 신호와 예측 신호 사이의 차이 신호일 수도 있음)를 308에서 변환할 수도 있고 310에서 양자화할 수도 있다. 양자화된 잔차는, 모드 정보(예를 들면, 인트라 또는 인터 예측) 및 예측 정보(예컨대 모션 벡터, 참조 화상 인덱스, 인트라 예측 모드 등등)와 함께, 엔트로피 인코더(312)에서 추가로 압축되어 출력 비디오 비트스트림(314)으로 패킹될 수도 있다. 도 2에 도시된 바와 같이, 인코더는 양자화된 잔차에 대해 316에서 역양자화를 318에서 역변환을 적용하여 재구성된 잔차를 획득하고, 그것을 320에서 예측 신호에 다시 더하는 것에 의해, 재구성된 비디오 신호를 또한 발생시킬 수도 있다. 재구성된 비디오 신호는 루프 필터 프로세스(322), 예를 들면, 블록제거 필터(deblocking filter), 샘플 적응 오프셋, 또는 적응 루프 필터를 거칠 수도 있고, 비디오 신호를 예측하기 위해 사용될 수도 있는 참조 화상 저장소(reference picture store; 324)에 저장될 수도 있다.
도 3은 인코더, 예컨대 인코더(300)에 의해 생성된 비디오 비트스트림을 수신할 수도 있고, 디스플레이될 비디오 신호를 재구성할 수도 있는 예시적인 블록 기반 싱글 레이어 디코더(400)의 블록도이다. 디코더(400)에서, 비트스트림은 엔트로피 디코더(402)에 의해 파싱될 수도 있다. 잔차 계수는 404에서 역양자화되고 406에서 역변환되어 재구성된 잔차를 획득할 수도 있다. 코딩 모드 및 예측 정보는 공간적 예측(406) 및/또는 시간적 예측(410)을 사용하여 예측 신호를 획득하는 데 사용될 수도 있다. 예측 신호 및 재구성된 잔차는 412에서 함께 합해져서 재구성된 비디오를 얻을 수도 있다. 재구성된 비디오는 414에서 루프 필터링을 거칠 수도 있고, 416에서 참조 화상 저장소(416)에 저장될 수도 있고, 418에서 디스플레이될 수도 있고, 및/또는 비디오 신호를 디코딩하는 데 사용될 수도 있다. 블록 기반 인코더, 예컨대 인코더(300), 및 디코더, 예컨대 디코더(400)를 사용할 수도 있는 다수의 비디오 코딩 표준은 MPEG-2 비디오, MPEG4 비주얼, H.264/AVC, 및 HEVC를 포함한다.
모바일 디바이스의 전력 내구성은 애플리케이션 성능에 영향을 끼칠 수도 있다. 기준 모바일 플랫폼(reference mobile platform)에 대한 전력 사용량은 다양한 조건 하에서 분석될 수도 있다. 예를 들면, 컴포넌트, 예컨대 프로세서, 디스플레이, 내부 및 외부 메모리, 및 무선부(radio)(예를 들면, GSM/3G/4G/와이파이)의 소비 전력이 평가될 수도 있다. 상이한 애플리케이션에서, 이들 부품 간의 소비 전력 비율은 상이할 수도 있다. 예를 들면, 비디오 재생은, 그것이 계산 및 메모리 액세스 둘 다를 수반할 수도 있기 때문에, 소비 전력이 집약된 애플리케이션일 수도 있다. 또한, 비디오 재생은 충분한 휘도 레벨을 갖는 화상을 디스플레이할 수도 있는데, 이것도 또한 많은 전력을 소비할 수도 있다. 도 4는, CPU, 그래픽, 및 디스플레이(백라이트 및 LCD) 부품이 전력을 소비할 수도 있는 예시적인 비디오 재생 시나리오에서의 전력 사용량의 예를 묘사한다.
전력 절약 방식은 시스템 스테이터스(status)에 따라 작업 모드를 적응적으로 전환시킬 수도 있다. 예를 들면, 시스템 스테이터스가 아이들일 수도 있을 때, 디바이스 프로세서는 저전력 상태로 전이하여(transition), 요청된 모듈이 소비 전력을 감소시키도록 작동하게 한다. 다른 전력 절약 방식은 프로세서의 주파수를 적응적으로 전환할 수도 있다. 예를 들면, 프로세서의 주파수가 감소되면, 전원(power supply)의 전압도 또한 감소되어 소비 전력을 감소시킬 수도 있다. 칩에 의해 소비되는 전력은 다음과 같이 공식화될 수도 있다:
P = CV2f
여기서 C는 커패시턴스이고, V는 전압이고 f는 스위칭 주파수(switching frequency)이다. 프로세서의 주파수는 상이한 작업에 대해 구성될 수도 있다. 예를 들면, 디코딩 복잡도가 화상에 대해 상이할 수도 있기 때문에, 프로세서의 클록 주파수는 화상을 더 쉽게 디코딩하는 디코딩시 감소될 수도 있다. 인코딩된 화상 사이즈는 화상의 디코딩 시간을 추정하는 데 사용될 수도 있다. 프로세서 주파수는, 예를 들면, 추정된 화상 디코딩 시간이 화상 지속시간보다 더 짧을 수도 있을 때 감소될 수도 있다. 모바일 디바이스 상에서의 전체 길이의 비디오 재생을 제공하기 위해, 상이한 모듈, 예컨대 디스플레이, 디코딩 모듈 등등의 사이에 전력이 할당될 수도 있다. 예를 들면, 클라이언트 디바이스는, 남아 있는 전력이 남아 있는 비디오를 재생하기에 충분하지 않을 수도 있다고 시스템이 결정하면, 휘도를 감소시키고 및/또는 몇몇 프레임 디코딩을 스킵할 수도 있다.
배터리 내구력을 연장시키고 전체 길이의 비디오 재생을 제공하기 위해 전력 사용량 효율성을 향상시키는 것은, 모바일 플랫폼 상에서 비디오 스트리밍 애플리케이션의 만족스러운 유저 경험을 전달하는 것을 촉진시킬 수도 있다. 그러나, 몇몇 스트리밍 시스템, 예컨대 DASH는 네트워크 대역폭 변동에 초점을 맞추지만, 그들의 설계에서 전력 사용량 이슈를 고려하지 않을 수도 있다. 전력 절약 방법은 클라이언트측 기술일 수도 있고 심지어 프레임 드랍 및/또는 모션 끊김을 대가로 한 전체 길이 재생을 방지할 수도 있다. 모바일 디바이스에 대한 전력 절약 이슈는 전력 인식 컴퓨팅에 기초하여 해결될 수도 있다. 예를 들면, 서버 및 클라이언트는 협동할 수도 있다. 예를 들면, 서버는 소비 전력을 고려한 비디오 컨텐츠를 준비할 수도 있고, 클라이언트는 이용가능한 대역폭, 남아 있는 배터리, 및 남아 있는 비디오 재생 시간에 따라 상이한 복잡도를 갖는 프리젠테이션에 찬성할 수도 있다.
클라이언트는 그들이 서버로부터 비디오 세그먼트를 수신한 이후 비디오의 디코딩 및 재생을 시도할 수도 있다. 소프트웨어 디코더의 경우, 디코딩 및 재생은 시간 기준을 총족하기 위해 프로세서의 리소스의 일부를 점유할 수도 있다. 방법은 프로세서의 리소스가 부담을 받게 되는 것을 방지하기 위해 사용될 수도 있는데, 이것은 프로세서가 비디오를 실시간으로 디코딩하려고 노력하고 있을 때 클라이언트가 비디오 재생을 매끄럽게 할 수 없게 되는 것을 방지할 수도 있다. 예를 들면, 방법은 클라이언트가 프레임을 드랍하거나 비동기적인 오디오 및 비디오를 제공하는 것을 방지하기 위해 사용될 수도 있다. 다른 예로서, 방법은 멀티태스크 지향 환경에서 시스템의 응답 시간의 향상을 허용할 수도 있다.
전력 인식 적응 방법은 전력 인식 비디오 스트리밍 시스템의 전력 인식 적응 제어 모듈에 의해 사용될 수도 있다. 이들 전력 인식 적응 방법은 전력 절약 및/또는 더 나은 배터리 부하 밸런싱을 달성할 수도 있다. 전력 적응은 클라이언트측에서 구현될 수도 있는데, 전력 적응은 전력 인식 스트리밍 시스템에서 적용될 수도 있다.
도 5는 예시적인 전력 인식 스트리밍 시스템(600)을 예시하는 블록도이다. 전력 인식 스트리밍 시스템(600)은 전력 인식 비디오 인코더(602), 복잡도 인식 MPD(800), 전력 인식 적응 제어 모듈(604), 및/또는 전력 감지 모듈(606)을 포함할 수도 있다. 전력 인식 적응 제어 모듈(604) 및/또는 전력 감지 모듈(606)은, 예를 들면, 전력 인식 스트리밍 클라이언트(608)에서 구현될 수도 있다. 전력 인식 비디오 인코더(602)는 상이한 복잡도 레벨을 갖는, 비디오 세그먼트의 다양한 버전을 발생시킬 수도 있다. 도 6은, 해상도, 비트레이트, 및 복잡도를 고려하는 것에 의해 서버측에서 발생될 수도 있는 예시적인 컨텐츠를 비교하는 그래프를 묘사한다. 도 6에 도시된 예에서, 비트레이트에 대해 다수의 복잡도 레벨, 예컨대 702, 704 및 706에 있는 복잡도 레벨이 이용가능할 수도 있다.
DASH 기술 또는 다른 유사한 HTTP 스트리밍 기술을 사용하는 스트리밍 시스템에서, 복잡도 레벨 정보는 MPD 파일, 미디어 설명 파일, 또는 클라이언트로 시그널링될 수도 있는 다른 타입의 매니페스트 파일에서 추가될 수도 있다. 도 7은 복잡도 인식 MPD 파일(800)의 한 예를 예시한다. 표현 요소(representation element)의 설명(802)은, 비트스트림 복잡도 레벨을 나타낼 수도 있는 복잡도 레벨 속성(804)을 포함할 수도 있다.
복잡도 정보를 전달하기 위해 MPD 파일 또는 다른 타입의 매니페스트 파일이 본 개시에서 한 예로서 사용될 수도 있지만, 기술분야에서 숙련된 자는, 복잡도 정보를 전달하기 위해 다른 타입의 비트스트림 레벨 또는 시스템 레벨 시그널링이 사용될 수도 있다는 것을 알 수 있을 것이다. 예를 들면, 복잡도 정보는 비디오 파라미터 세트(Video Parameter Set; VPS), 시퀀스 파라미터 세트(Sequence Parameter Set; SPS) 등등과 같은 하이 레벨 파라미터 세트를 사용하여 비디오 비트스트림에 임베딩될 수도 있다. 복잡도 정보는 MPEG 미디어 전송(MPEG Media Transport; MMT)에서 전달될 수도 있다. 예를 들면, 복잡도 정보는 MMT 애셋(Asset)에서 특성 요소(property element)로서 코딩될 수도 있거나, 또는 MMT 메시지로서 클라이언트로 전달될 수도 있다. 그린(Green) MPEG 제안 요청(Call for Proposals; CfP)은, 디바이스 상에서의 소비 전력을 감소시키기 위해 유용한 정보를 전달할 수도 있는 메타데이터 파일을 정의할 수도 있다. 이러한 메타데이터 파일은 복잡도 정보를 전달하는 데 사용될 수도 있다.
클라이언트측에서의 전력 인식 적응 제어는, 대역폭 감지, 전력 감지, 및/또는 CPU 부하 스테이터스로부터 획득될 수도 있는 정보에 따라 수신기에 대한 세그먼트를 적응적으로 선택할 수도 있다. 적응 로직은 디바이스 상의 남아 있는 배터리 전력을 사용하여; 수용가능한, 예를 들면, 향상된 비디오 품질을 달성하여; 현재 이용가능한 대역폭을 만족시켜; 및/또는 CPU 부하 밸런싱을 달성하여, 전체 길이 재생을 촉진할 수도 있다.
다시 도 5를 참조하면, 전력 적응 로직(604)은 상이한 애플리케이션의 목적에 기초하여 커스터마이징될 수도 있다. 예를 들면, 전력 적응 로직(604)은, 유저가 클라이언트를 품질 모드로 구성하는 경우와 같은 다양한 사용 사례에서 사용될 수도 있다. 유저가 파워에 비해 품질을 우선시하면, 전력 적응 로직(604)은 남아 있는 전력 및 최상의 이용가능한 비디오 품질을 이용하여 전체 길이 재생에 우선순위를 둘 수도 있다. 유저가 클라이언트를, 예를 들면, 멀티태스킹 환경에서의 부하 밸런스 모드로 구성하는 경우, 전력 적응 로직(604)은 프로세서 부하 버짓(budget) 내에서 전체 길이 재생에 우선순위를 둘 수도 있다. 유저가 클라이언트를 전력 절약 모드로 구성하면, 예를 들면, 유저가 남아 있는 배터리 전력을 보존하는 것을 우선시하면, 전력 적응 로직(604)은 프로세서 부하 버짓 내에서 및/또는 가능한 한 적은 전력을 소비하는 전체 길이 재생에 우선순위를 둘 수도 있다.
도 5의 전력 감지 모듈(606)을 사용하면, 전력 인식 클라이언트(608)는 배터리 레벨(battery level; BL)을 측정할 수도 있고 및/또는 배터리 사용량을 결정할 수도 있다. 전력 감지 모듈(606)은 현재 배터리 레벨을 제공할 수도 있는 인터페이스를 사용할 수도 있다. 예를 들면, 전력 감지 모듈(606)은, 예를 들면, 안드로이드 오퍼레이팅 시스템과 같은 오퍼레이팅 시스템에 의해 제공될 수도 있는 전력 관리 인터페이스를 주기적으로 사용할 수도 있는데, 전력 관리 인터페이스는 전체 배터리 용량의 남아 있는 비율을 나타낼 수 있다. 전력 감지 모듈(606)은 애플리케이션 또는 프로세스에 의한 배터리 사용량을 보고하는 인터페이스를 사용할 수도 있다. 예를 들면, 안드로이드 오퍼레이팅 시스템은, 하나 이상의 애플리케이션(예를 들면, 하나의 애플리케이션)에 대한 전력 및 프로세서 사용량 통계 및/또는 디스플레이에 대한 전력 사용량을 제공할 수도 있는 인터페이스를 구비할 수도 있다. 전력 감지 모듈(606)은 멀티태스크 또는 멀티프로세스 환경에서 비디오 디코딩 및 디스플레이에 기인한 전력 사용량을 결정할 수도 있다. 그 다음, 전력 인식 클라이언트(608)는 효율적인 전력 사용을 보장하기 위해 전력 적응 로직(604)을 적용할 수도 있다. 적응은 구성가능한 목적을 충족시키기 위해 전력 소비율(PDR)을 업데이트하고 복잡도 레벨(complexity level; CL)을 적응시키는 것을 수반할 수도 있다.
복잡도 레벨에 대한 전력 소비율(PDR)은, 예를 들면, 다음 식에 따라 주기적으로 측정되고 업데이트될 수도 있다:
Figure 112015096764990-pct00001
여기서 k는 복잡도 레벨이고; ti는 i번째 세그먼트의 시간이고; CLMIN 및 CLMAX는, 각각, 시스템에서의 최소 및 최대 복잡도 레벨일 수도 있고; CLi는 i번째 세그먼트의 복잡도 레벨일 수도 있고; PDR(CLi,ti)은 시간 ti에서의 복잡도 레벨(CLi)의 PDR 값일 수도 있고; BLi는 시간 ti에서의 남아 있는 배터리 레벨일 수도 있고; 그리고 α는 업데이트 속도를 제어하기 위한 인자일 수도 있는데, 이것은, 예를 들면, 0.6으로 설정될 수도 있고, 그 경우, PDR 값은 식 (1)을 사용하여 업데이트될 수도 있고 현재의 PDR 관측치를 0.6배한 것과 이전의 PDR 상태를 0.4배한 것의 가중치가 부여된 조합일 수도 있다. α의 값은 0≤α≤1을 만족할 수도 있다. α의 더 큰 값은 현재의 PDR 관측치에 더 큰 가중치를 부여하는 데 사용될 수도 있고 더 빠른 업데이트 속도로 나타날 수도 있지만, 한편 α의 더 작은 값은 이전 PDR 상태에 의해 표현된 과거 PDR 이력에 더 큰 가중치를 부여하는 데 사용될 수 있어서 더 느린 업데이트 속도로 나타나게 된다. 최소치에서, 초기 PDR 관측치가 더 이상의 업데이트 없이 계속 사용될 수도 있도록 α=0의 값이 활용될 수도 있다. 최대치에서, 최신의 PDR 관측치가 항상 사용되고, 임의의 오래 된 PDR 이력은 버려지도록, α=1의 값이 사용될 수도 있다. 비디오 세션의 시작에서의 복잡도 값(예를 들면, 모든 복잡도 값)의 PDR 값은 0으로 초기화될 수도 있다. 복잡도 레벨의 PDR 값은 업데이트될 수도 있다. 배터리 레벨이 변하지 않으면, PDR 통계치는 유지될 수도 있다. 그렇지 않다면, PDR 통계치는 그에 따라 업데이트될 수도 있다.
복잡도 레벨(CL)이 구성가능한 목적을 만족하도록 적응될 수도 있을 때, 복잡도 레벨(CLi)을 가지고 남아 있는 비디오를 재생하는 데 요구되는 전력의 양(PC(CLi, ti)로 표기됨)은 다음과 같이 추정될 수도 있다
Figure 112015096764990-pct00002
여기서 PDR은 위의 식 (1)을 이용하여 계산될 수도 있고 T는 전체 재생 시간이다.
클라이언트는 커스터마이징된 목적에 따라 현재의 복잡도 레벨을 상향 전환할지 또는 하향 전환할지 또는 유지할지를 결정할 수도 있다. 전력 적응 로직(604)은 배터리 전력이 고갈될 수도 있기 이전에 전체 길이 비디오 재생을 달성하도록 시도할 수도 있다.
도 8은 품질 모드를 위해 전력 적응 로직에 의해 구현될 수도 있는 예시적인 프로세스를 묘사한다. 예를 들면, 예시적인 프로세스(900)는, 남아 있는 배터리 레벨 및 이용가능한 대역폭을 고려한 비디오 품질을 제공할 수도 있는 품질 모드를 위해 전력 적응 로직(604)(도 5에 도시됨)에 의해 구현될 수도 있다. 902 및 904에서, 각각, 현재의 복잡도 레벨(CL)에 대한 대역폭 통계치 및 전력 통계치가 업데이트될 수도 있다. 906에서, 남아 있는 비디오 재생을 위한 복잡도 레벨 또는 복잡도 레벨들에 대해 소비 전력(PC)이 추정될 수도 있다.
908에서, 현재의 복잡도 레벨에 대한 소비 전력이 남아 있는 배터리 수명(BLrem)보다 더 적은지의 여부; 현재의 복잡도 레벨이 최대 복잡도 레벨보다 더 낮은지의 여부; 및 다음으로 높은(next higher) 복잡도 레벨에 대한 소비 전력이 남아 있는 배터리 수명보다 더 적은지의 여부, 예를 들면, 남아 있는 배터리 수명을 고려하여 다음으로 높은 복잡도 레벨에서 남아 있는 비디오를 플레이하는 것이 가능할 수도 있는지의 여부가 결정될 수도 있다. 이것은 클라이언트가 너무 빈번하게 상향 전환 및 하향 전환하는 것을 방지할 수도 있고 더 매끄럽게 디코딩된 비디오 품질을 촉진할 수도 있다. 이 결정은 재생 동안 이전의 통계치로부터 학습된 PDR에 기초하여 이루어질 수도 있다. 이들 조건이 충족되면, 디코더는 910에서 정규 디코딩 모드로 전환하도록 통지받을 수도 있고, 복잡도 레벨은 상향 전환될 수도 있다. 912에서, 세그먼트는 조정된 복잡도 레벨 및 선택된 비트레이트에서 다운로드될 수도 있다.
908에서 조건이 참이 아닐 수도 있다는 것이 결정될 수도 있으면, 914에서, 현재의 복잡도 레벨에 대한 소비 전력이 남아 있는 배터리 수명보다 더 클 수도 있는지의 여부 및 현재의 복잡도 레벨이 최소 복잡도 레벨보다 더 높을 수도 있는지의 여부가 결정될 수도 있다. 만약 그렇다면, 916에서 복잡도 레벨은 하향 전환될 수도 있다. 복잡도 레벨은 다음으로 낮은(next lower) 복잡도 레벨로 전환하는 것에 의해 하향 전환될 수도 있다. 복잡도 레벨을 하향 전환하는 이 방식은, 더 매끄러운 품질 전이를 허용하도록 복잡도 레벨이 점진적으로 하향 전환되는 것을 가능하게 할 수도 있다.
복잡도 레벨은, 남아 있는 전력이 남아 있는 비디오를 재생하기에 충분할 수도 있는 복잡도 레벨을 검색하는 것에 의해, 또한 하향 전환될 수도 있다. 이것은, 예를 들면, 하기의 표 1을 사용하여 행해질 수도 있다:
Figure 112015096764990-pct00003
이 방식은 복잡도 레벨을 더 빨리 하향 전환하여 전력을 더 많이 절약할 수도 있다. 그러나, 전환 방식이 하향으로 너무 많은 레벨을 전환하도록 잘못 결정하면, 예를 들면, 식 (1)에 의해 주어지는 PDR 추정이 충분히 정확하지 않을 수도 있으면, 전력 적응 로직은 나중에 다시 복잡도 레벨을 상향 전환할 것을 결정할 수도 있다. 그 다음, 복잡도 레벨이 하향 전환될 수도 있는 방법과 상관 없이, 세그먼트는 912에서 조정된 복잡도 레벨 및 선택된 비트레이트에서 다운로드될 수도 있다.
마찬가지로, 클라이언트가 복잡도 레벨을 상향 전환할지 또는 그렇지 않을지의 여부를 결정할 때 점진적인 또는 더 급진적인 로직이 또한 적용될 수도 있다. 예를 들면, 더 점진적인 상향 전환 방법은, 도 8에 도시된 바와 같이, 한 번에 하나의 복잡도 레벨만큼 상향 전환할 수도 있지만, 더 급진적인 상향 전환 방법은 실행가능할 수도 있는 다음의 가장 높은(the next highest) 복잡도 레벨로 상향 전환할 수도 있다. 더 급진적인 방법은, 복잡도 레벨을 하향으로 전환하는 경우에서와 같이, 더 빈번한 전환에 기인하여 더 큰 비디오 품질 변화를 유발할 수도 있을 뿐만 아니라, 전체 길이 재생이 달성될 수도 있기 이전에 배터리 전력을 다 사용하는 더 높은 위험성을 무릅쓸 수도 있다.
914에서, 현재의 복잡도 레벨에 대한 소비 전력이 남아 있는 배터리 수명보다 더 크지 않을 수도 있다는 것, 예를 들면, 현재의 복잡도 레벨에서 비디오를 재생하기에 불충분한 배터리 전력이 존재할 수도 있다는 것, 또는 현재의 복잡도 레벨이 최소 복잡도 레벨보다 더 크지 않을 수도 있다는 것(예를 들면, 서버로부터 이용가능한 최저 복잡도 레벨이 이미 사용되고 있다는 것)이 결정될 수도 있다. 918 및 920에서, 현재의(예를 들면, 최소) 복잡도 레벨에 대한 소비 전력이 남아 있는 배터리 수명보다 더 클 수도 있는지의 여부 및/또는 비트레이트(bitrate; BR)가 최소 비트레이트일 수도 있는지의 여부가 결정될 수도 있다. 최저 비트레이트가 도달될 수도 있고 현재의(예를 들면, 최소) 복잡도 레벨에 대한 소비 전력이 남아 있는 배터리 수명보다 더 클 수도 있으면, 예를 들면, 현재의(예를 들면, 최소) 복잡도 레벨에서 비디오를 재생하기에 불충분한 배터리 전력이 존재할 수도 있으면, 922에서 현재의(예를 들면, 최소) 복잡도 레벨은 유지될 수도 있고, 디코더는 더 낮은 전력 디코딩 모드로 전환될 수도 있다. 예를 들면, 인루프(in-loop) 필터링, 예컨대 HEVC에서의 블록제거 및/또는 SAO는 비참조 프레임에 대해 바이패스될 수도 있다. 그 다음, 912에서, 세그먼트는 복잡도 레벨 및 선택된 비트레이트에서 다운로드될 수도 있다.
현재의 복잡도 레벨에 대한 소비 전력이 남아 있는 배터리 수명보다 더 클 수도 있지만, 최소 비트 레이트가 도달하지 않았을 수도 있다면, 924에서, 비트레이트는 더 낮은 비트레이트로 전환될 수도 있고, 복잡도 레벨은 더 낮은 비트레이트의 신규의 복잡도 레벨, 예를 들면, 더 낮은 비트레이트의 더 높은 복잡도 레벨 또는 가장 높은 복잡도 레벨로 설정될 수도 있다. 912에서 세그먼트는 신규의(예를 들면, 더 높은 또는 가장 높은) 복잡도 레벨 및 더 낮은 비트레이트에서 다운로드될 수도 있다.
918에서, 현재의 복잡도 레벨에 대한 소비 전력이 남아 있는 배터리 수명보다 더 크지 않을 수도 있다는 것이 결정될 수도 있다면, 복잡도 레벨은 가장 높은 복잡도 레벨일 수도 있고 비트레이트는 최소 비트레이트보다 더 적을 수도 있는지의 여부가 결정될 수도 있다. 이들 조건 둘 다가 참일 수도 있으면, 928에서, 비트레이트는 더 높은 비트레이트로 전환될 수도 있고, 복잡도 레벨은 더 높은 비트레이트의 신규의 복잡도 레벨, 예를 들면, 더 높은 비트레이트의 더 낮은 또는 최소 복잡도 레벨로 설정될 수도 있다. 만약 아니라면, 930에서, 현재의 복잡도 레벨은 유지될 수도 있다.
도 9는 멀티태스킹 환경을 위해 전력 적응 로직, 예컨대 전력 적응 로직(604)(도 5에 도시됨)에 의해 구현될 수도 있는 예시적인 프로세스(1000)를 묘사한다. 프로세서(1000)에서 수행되는 결정 및 액션 중 몇몇은 프로세스(900)에서 수행될 수도 있는 결정 및 액션과 유사할 수도 있고 유사한 참조 부호로 표시될 수도 있다. 프로세스(1000)는 프로세스(900)에서 수행되지 않을 수도 있는 다수의 결정 및 액션을 수반할 수도 있다. 프로세스(1000)는 전체 길이 재생을 제공하려고 시도하는 동안 시스템 부하의 밸런스를 맞추기 위해 클라이언트에 의해 사용될 수도 있는 결정 및 액션을 수반할 수도 있다. 남아 있는 전력을 점검하기 이전에, 1032에서, 클라이언트는 짧은 기간 동안의 평균 CPU 사용량을 측정하는 것에 의해 시스템에 과부하가 걸릴 수도 있는지를 점검할 수도 있다. 시스템에 과부하가 걸릴 수도 있다면, 1034에서, 복잡도 레벨이 최소 한계(CLMIN)에 도달할 때까지 클라이언트는 복잡도 레벨을 하향 전환할 수도 있다. CLMIN에서 여전히 시스템에 과부하가 걸릴 수도 있다면, 1036에서 현재의 비트레이트가 최저 비트레이트(BR_min)보다 더 클 수도 있는 경우 클라이언트는 더 낮은 비트레이트 표현으로 전환하고 복잡도 레벨을 신규의 복잡도 레벨(예를 들면, 더 높은 또는 가장 높은 복잡도 레벨)로 설정할 수도 있다. 클라이언트가 최저 비트레이트 및 최저 복잡도 레벨에 도달하면, 클라이언트는, 예를 들면, 비참조 프레임에 대한 몇몇 인루프 필터링 동작을 스킵하는 것에 의해, 1038에서, 낮은 복잡도 디코딩 모드를 적용하여 동작을 줄이도록 디코더에게 통지할 수도 있다. 시스템 프로세서에 과부하가 걸리지 않을 수도 있다면, 클라이언트는 전체 길이 재생을 제공하기 위해 프로세스(900)에서와 동일한 전력 인식 적응 로직을 적용할 수도 있다. 도 9에서 도시되진 않았지만, 시스템에 과부하가 걸리게 되면, 클라이언트가 복잡도 레벨을 하향 전환하기 이전에 클라이언트는 비트 레이트를 하향 전환할 수도 있다. 예를 들면, 클라이언트가 최소 복잡도 레벨(CLMIN)에 도달할 수도 있기 이전에 클라이언트는 더 낮은 비트 레이트로 전환할 수도 있거나, 또는 클라이언트는 복잡도 레벨을 무시하고 단지 더 낮은 비트 레이트로 전환할 수도 있다.
전력 절약 모드에서, 클라이언트는 비디오 재생 동안 소비 전력을 최소화하기 위해 최저 비트레이트에서 최저 복잡도 레벨을 선택할 수도 있다. 남아 있는 전력이 전체 길이 재생에 대해 충분하지 않을 수도 있다면, 클라이언트는 디코더에게, 본원에서 설명되는 것과 같은 추가적인 전력 절약 디코딩 모드를 적용하도록 통지할 수도 있다.
이용가능한 더 낮은 복잡도 및 더 낮은 비트레이트 컨텐츠 버전으로의 하향 전환이 복잡도를 충분히 감소시키지 않을 수도 있다면, 추가적인 전력 절약 모드가 도 8 및 도 9의 로직 내에서 활용될 수도 있다. 예를 들면, 몇몇 인루프 필터링이 스킵될 수도 있고, 프로세서 스위칭 주파수가 감소될 수도 있고, 디스플레이 전력이 감소될 수도 있고, 몇몇 프레임을 디코딩하는 것이 스킵될 수도 있고 등등이다.
적응 결정은, 남아 있는 배터리 레벨, 상이한 복잡도 레벨 및 비트레이트에서의 멀티미디어 컨텐츠 세그먼트의 이용가능성, 및/또는 디코더 디바이스에 의해 추적된 전력 소비 상태와 같은 요인에 기초할 수도 있다. 예를 들면, 디코더 디바이스는 식 (1)에 따라 전력 소비 상태를 추적할 수도 있다. 결과적으로 나타나는(resulting) 전력 소비 상태(PDR(k,tj))는, 다수의 복잡도 레벨(k)에 대해 예상될 수도 있는 전력 소비의 디바이스 고유의 이해를 제공할 수도 있다.
전력 소비 상태는 디코더 디바이스, 예컨대 WTRU에 의해 추적, 유지, 및 사용될 수도 있다. 상이한 컨텐츠 공급자 또는 컨텐츠 소스는 복잡도를 추정하기 위해 상이한 알고리즘을 사용할 수도 있다. 하나의 컨텐츠 소스로부터 시그널링된 복잡도 레벨 값은, 상이한 컨텐츠 소스로부터 시그널링된 복잡도 레벨과는 다른 상이한 전력 소비율로 매핑될 수도 있다. 디코더 디바이스는 이것을 인식할 수도 있고 복잡도를 추정하기 위해 상이한 알고리즘의 사용에 적응할 수도 있다.
디코더 디바이스에 의해 관측되는 전력 소비 데이터는 성길 수도 있다, 예를 들면, 주어진 복잡도 레벨에서 관측가능한 많은 데이터가 존재하지 않을 수도 있다. 이것은, 예를 들면, 스트리밍 세션의 시작에서(예를 들면, 전력 소비 상태가 충분히 관측된 데이터를 사용하여 업데이트되기 이전에) 참일 수도 있고 컨텐츠 공급자가 미세한 입도(fine granularity), 예를 들면, 복잡도 레벨(CL)=1,2,3,...,500을 갖는 복잡도 레벨 값을 시그널링하면 지속적으로 참일 수도 있다.
디코더 디바이스는 상태 추적을 위해 제한된 메모리를 구비할 수도 있다. 디코더 디바이스는, 전력 소비 상태를 여전히 정확하게 추적하면서 상태 메모리를 관리할 수도 있다.
도 10은 디코더 디바이스(1102), 예를 들면, WTRU가 다수의 상이한 컨텐츠 소스(1104, 1106, 1108, 1110)로부터의 미디어 컨텐츠를 스트리밍할 수도 있는 예시적인 시스템(1100)을 묘사한다. 이들 컨텐츠 소스는 상이한 컨텐츠 웹사이트, 컨텐츠 공급자, 컨텐츠 서비스 등등일 수도 있다. 예를 들면, 제1 소스(1104)는 YouTube(유튜브)일 수도 있고, 제2 소스(1106)는 CNN Video(CNN 비디오)일 수도 있다. 상이한 컨텐츠 소스는, 본원에서 설명되는 바와 같이, 상이한 복잡도 레벨 및/또는 상이한 비트 레이트에서 컨텐츠의 다수의 버전을 제공할 수도 있다. 복잡성 레벨 추정은 이용가능한 컨텐츠 버전에 대해 제공될 수도 있다. 상이한 컨텐츠 소스로부터의 미디어 컨텐츠는 상이한 인코딩 툴을 사용하여 인코딩되었을 수도 있다. 예를 들면, 소스(1104)는 제1 비디오 인코더를 사용하여 인코딩된 컨텐츠를 제공할 수도 있고, 제2 소스(1106)는 제2 비디오 인코더를 사용하여 인코딩된 컨텐츠를 제공할 수도 있다. 상이한 인코딩 툴은, 예를 들면, 상이한 인코더 벤더(vendor)에 의해 제공될 수도 있다.
복잡도 추정 알고리즘은 컨텐츠 소스에 걸쳐 표준화될 수도 있다. 그러나, 본원에서 설명되는 바와 같이, 디코더 디바이스는, 다양하게 시그널링되는 복잡도 레벨에서 비디오를 재생하고 있을 때 배터리 사용량의 자기 고유의 관측에 기초하여 전력 소비 상태를 추적할 수도 있다. 이것은 디코더가 전력 소비 성능의 관점에서 상이한 디코딩 리소스에 대한 복잡도 레벨을 해석하는 것을 허용할 수도 있다. 컨텐츠 소스에 의해 사용되는 복잡도 추정 알고리즘은 컨텐츠 소스에 걸쳐 표준화되지 않을 수도 있다. 컨텐츠 소스는 자기 고유의 요청에 기초하여 복잡도 추정 알고리즘을 커스터마이징할 수도 있고, 복잡도 추정 알고리즘은 또한 경시적으로(over time) 변경되거나 향상될 수도 있다. 디코더 디바이스는 복잡도 추정 알고리즘을 변경하도록 적응할 수도 있다.
상이한 컨텐츠 소스는 상이한 복잡도 추정 알고리즘을 사용하여 발생된 복잡도 레벨 추정치를 제공할 수도 있다. 하나의 컨텐츠 소스에 의해 제공되는 복잡도 레벨 추정치는 상이한 컨텐츠 소스에 의해 제공된 복잡도 레벨 추정치와 호환되지 않을 수도 있다. 예를 들면, 제1 컨텐츠 소스는 1 내지 10의 정수를 사용하여 복잡도 레벨 추정치를 제공할 수도 있고, 제2 컨텐츠 소스는 1 내지 100의 정수를 사용하여 복잡도 레벨 추정치를 제공할 수도 있다. 상이한 값 범위 또는 복잡도 스케일이 비호환성을 만들 수도 있지만, 다른 알고리즘 차이도 또한, 하나의 컨텐츠 소스로부터의 복잡도 추정치를 다른 컨텐츠 소스로부터의 복잡도 추정치와 호환불가능하게 만들 수도 있다. 예를 들면, 하나의 컨텐츠 소스는, 복잡도 추정치 값을 생성할 때, 가산 동작에 대해 특정한 가중치 부여를 그리고 승산 동작에 대해 상이한 가중치 부여를 제공할 수도 있다. 다른 컨텐츠 소스는 복잡도 추정에 특화된 디코딩 하드웨어의 이용가능성을 계산에 넣을 수도 있다. 디코더 디바이스의 관점에서, 제1 컨텐츠 소스에 의해 시그널링된 복잡도 레벨 값(예를 들면, "ComplexityLevel=10")이 하나의 전력 소비율에 대응할 수도 있고, 제2 컨텐츠 소스에 의해 시그널링된 동일한 복잡도 레벨 값이 상이한 전력 소비율에 대응할 수도 있다.
디코더 디바이스(1102)는, 상이한 컨텐츠 소스에 의해 사용될 수도 있는 상이한 복잡도 추정 알고리즘에 대응할 수도 있는 다수의 상태 세트를 추적할 수도 있다. 도 10에 예시된 바와 같이, 디코더 디바이스(1102)는 다수의 상태 세트(1112)를 구비할 수도 있고, 다수의 상태 세트(1112)를 생성하고 관리하기 위해 사용될 수도 있는 상태 매니저 컴포넌트(1114)를 구비할 수도 있다. 다수의 상태 세트는, 상이하게 공시된(advertised) 복잡도 레벨의 비디오의 다양한 세그먼트를 디코딩하는 동안 전력 소비의 관측으로부터 계산된 전력 소비 상태의 세트를 포함할 수도 있다. 예를 들면, 상태 세트는 식 (1)을 사용하여 계산된 전력 소비 상태(PDR(k,tj))를 구비할 수도 있다. 상태 세트는 단일의 스트리밍 세션 동안 관측된 전력 소비로부터, 또는 다수의 스트리밍 세션에 걸쳐 관측된 데이터로부터 구축될 수도 있다. 간략화의 목적을 위해, tj는 표기 PDR(k,tj)로부터 생략될 수도 있고, 따라서, 표기 PDR(k)이 복잡도 레벨 k에 대한 최근의 전력 소비율을 나타낼 수도 있다.
상태 세트는 상이한 컨텐츠 소스에 대응할 수도 있다. 예를 들면, 도 10에 도시된 바와 같이, 디코더 디바이스는 컨텐츠 소스에 대해 상이한 상태 세트를 유지할 수도 있다. 상이한 상태 세트는 상이한 컨텐츠 웹 사이트, 컨텐츠 공급자, 또는 컨텐츠 서비스에 대응할 수도 있다. 예를 들면, 디코더 디바이스는 도메인 명을 사용하여 컨텐츠 소스를 구별할 수도 있고(예를 들면, youtube.com 대 cnn.com) 컨텐츠가 스트리밍될 수도 있는 각각의 도메인에 대해 상이한 상태 세트를 유지할 수도 있다. 상태 세트는 다수의 스트리밍 세션에 걸쳐 유지될 수도 있고, 결과적으로 호환가능한 관측치가 적절한 상태 세트로 수집될 수도 있다. 이 기술은 데이터 희소성의 이슈를 해결할 수도 있고, 디코더 디바이스가 이미 개발된 상태 모델을 가지고 스트리밍 세션을 시작하는 것을 허용할 수도 있다.
디코더 디바이스(1102)는, 컨텐츠가 유튜브로부터 스트리밍될 수도 있는 제1 스트리밍 세션을 구비할 수도 있다. 응답으로, 상태 매니저(1114)는 신규의 상태 세트를 생성하여 초기화할 수도 있고, 상태 세트는 다양한 컨텐츠 세그먼트에 대해 유튜브에 의해 제공되는 복잡도 레벨의 라벨의 관점에서 전력 소비율의 관측치에 기초하여 점진적으로 업데이트될 수도 있다. 전력 소비 상태는, 예를 들면, 식 (1)을 사용하여 제1 스트리밍 세션 동안 업데이트될 수도 있다. 디코더 디바이스는 제1 스트리밍 세션을 종료할 수도 있고 다른 컨텐츠 사이트를 갖는 다른 스트리밍 세션에 참여하여 추가적인(예를 들면, 별개의) 상태 세트가 생성되거나 또는 업데이트되는 것으로 귀결될 수도 있다. 디코더 디바이스는, 컨텐츠가 유튜브로부터 스트리밍될 수도 있는 제2 스트리밍 세션을 구비할 수도 있다. 디코더 디바이스는, 유튜브에 대한 상태 세트가 존재할 수도 있다는 것을 인식할 수도 있다. 예를 들면, 디코더 디바이스는 신규의 스트리밍 세션으로부터의 도메인 명(youtube.com)을 기존의 상태 세트와 관련된 동일한 도메인 명에 매칭시킬 수도 있다. 이 인식/매칭에 기초하여, 디코더 디바이스는 제2 스트리밍 세션에 대해 기존의 유튜브 상태 세트를 활용할 수도 있다. 예를 들면, 디코더 디바이스는 기존의 상태 세트로부터 개발된 전력 소비 상태를 가지고 제2 스트리밍 세션을 시작할 수도 있다. 디코더 디바이스는, 제2 스트리밍 세션의 시작으로부터 적응 결정을 구동하기 위해, 이들 이전에 저장된 전력 소비 상태를 사용할 수도 있다. 디코더 디바이스는, 예를 들면, 식 (1)에 기초하여, 제2 스트리밍 세션으로부터의 전력 소비율 관측치를 사용하여 기존 상태 세트를 점진적으로 업데이트할 수도 있다.
상태 세트는, 컨텐츠 소스에 상관 없이, 상이한 복잡도 추정 알고리즘에 대응할 수도 있다. 예를 들면, 제1 컨텐츠 소스는 Acme Encoder v1.0과 같은 써드파티 인코딩 툴을 사용하여 인코딩된 컨텐츠를 제공할 수도 있고 이 인코딩 툴은 자신이 인코딩하는 비디오 세그먼트의 복잡도를 추정하기 위한 내장형 알고리즘을 구비할 수도 있다. 제2 컨텐츠 소스는 동일한 써드파티 인코딩 툴을 사용하여 인코딩된 상이한 컨텐츠를 제공할 수도 있다. 제1 컨텐츠 소스 및 제2 컨텐츠 소스(예를 들면, 2개의 상이한 컨텐츠 소스)는 동일한 복잡도 추정 알고리즘, 예컨대 써드파티 인코딩 툴에 임베딩된 복잡도 추정 알고리즘에 의해 생성된 복잡도 레벨 추정치를 제공할 수도 있다. 디코딩 디바이스가 상이한 복잡도 추정 알고리즘을 구별할 수도 있도록, 식별자, 예를 들면, 복잡도 추정 식별자(complexity estimation identifier; CEID)가 복잡도 레벨 추정치와 함께 디코딩 디바이스에 제공될 수도 있다. 디코딩 디바이스는, 컨텐츠 소스에 상관 없이, 디코딩 디바이스가 조우할 수도 있는 각각의 상이한 복잡도 추정 알고리즘에 대해 상이한 상태 세트를 생성 및/또는 유지할 수도 있다.
CEID는, 예를 들면, 복잡도 추정 알고리즘을 식별하는 식별 문자열 또는 숫자일 수도 있다. CEID는 등록 기관(registration authority)에 의해 할당될 수도 있다. 대안적으로, CEID는 복잡도 추정 알고리즘의 공급자에 의해 생성, 할당, 또는 임의적으로 발생될 수도 있다. 예를 들면, 공급자는, Acme 비디오 인코딩 소프트웨어의 특정 버전에 의해 제공되는 복잡도 추정치를 구별하기 위해, 식별 문자열, 예를 들면, "Acme-CEID-Version-1-0-5" 또는 전역적으로 고유한 식별자(Globally Unique Identifier; GUID) 번호, 예를 들면, "138294578321"을 발생시킬 수도 있다. 이러한 GUID 번호는 랜덤할 수도 있다. 공급자는 자신의 소프트웨어의 상이한 버전에 의해 제공되는 복잡도 추정치를 구별하기 위해 상이한 식별 문자열 또는 상이한 랜덤 번호를 제공할 수도 있다. 공급자는, 컨텐츠 소스가 복잡도 레벨 추정 값과 함께 디코더 디바이스로 CEID를 시그널링할 수도 있도록, 인코딩 소프트웨어를 사용하는 컨텐츠 소스가 CEID를 이용가능하게 만들 수도 있다. 이것은 자동화된 방식으로 행해질 수도 있다. 예를 들면, 인코더 소프트웨어의 버전은 소프트웨어에 임베딩된 복잡도 레벨 추정 알고리즘에 대응하는 CEID를 알고 있을 수도 있고, 소프트웨어는 컨텐츠를 인코딩할 때 복잡도 레벨 추정치와 함께 CEID를 출력할 수도 있다. 소프트웨어는 인코딩된 컨텐츠를 공시하는 MPD 파일에 포함시키기 위한 원시 데이터를 발생시킬 수도 있거나, 또는 MPD 자체를 생성할 수도 있다. 소프트웨어에 의해 생성된 데이터 또는 MPD는 복잡도 레벨 추정치 외에 CEID를 포함할 수도 있다. MPD 내에서 또는 다른 적절한 시그널링 채널 내에서, 필드(예를 들면, ComplexityEstimationAlg=:"Acme-CEID-Version-1-0-5")가 CEID를 전달할 수도 있다.
디코더 디바이스는 상이한 컨텐츠 소스로부터의 컨텐츠를 스트리밍할 때 동일한 CEID를 인식할 수도 있고, 이러한 컨텐츠와 관련된 복잡도 레벨 추정 값이 동일한 복잡도 추정 알고리즘에 의해 발생되었다는 것을 인식할 수도 있고, 그리고 동일한 공시된 CEID를 갖는 컨텐츠에 대해 동일한 상태 세트를 활용할 수도 있다.
디코더 디바이스는, 컨텐츠 소스로부터 이용가능한 몇몇 컨텐츠가 제1 CEID에 대응하는 제1 복잡도 추정 알고리즘을 사용하여 발생되었다는 것, 및 동일한 컨텐츠 소스로부터 이용가능한 다른 컨텐츠가 제2 CEID에 대응하는 제2 복잡도 추정 알고리즘을 사용하여 발생되었다는 것을 인식할 수도 있다. 디코더 디바이스는 2개의 상이한 CEID에 대응하는 컨텐츠에 대한 전력 소비율을 추적하기 위해 2개의 상이한 상태 세트를 사용할 수도 있다. 예를 들면, 컨텐츠 사이트는 자신의 인코딩 소프트웨어 및/또는 자신의 복잡도 추정 알고리즘을 특정 날짜에 업데이트할 수도 있고, 그 결과 그 날짜 이전에 인코딩된 컨텐츠는 하나의 CEID와 관련될 수도 있고, 그 날짜 이후에 인코딩된 컨텐츠는 상이한 CEID와 관련될 수도 있다. 디코더 디바이스는 2개의 별개의 CEID를 인식할 수도 있고 2개의 상이한 CEID에 대응하는 2개의 상이한 상태 세트를 유지할 수도 있다.
상태 세트와 관련된 것으로 디코더 디바이스가 인식하는 CEID를 디코더 디바이스가 조우할 때 디코더 디바이스는 그 상태 세트를 활용할 수도 있다. 스트리밍하는 동안 디코더 디바이스가 조우하는 CEID에 대응하는 상태 세트를 디코더 디바이스가 갖지 않으면, 디코더 디바이스는 신규로 조우되는 CEID와 관련된 상태 세트를 생성할 수도 있다.
디코더 디바이스, 예를 들면, 디코더 디바이스 상의 상태 매니저는, 디코더 디바이스가 추적하는 상태 세트의 수를 감소시키거나 또는 제한하기 위해 관리 기능을 구비할 수도 있고 및/또는 사용할 수도 있다. 예를 들면, 관리 기능은, 상태 세트가 시구간(time period) 동안 사용되지 않았을 수도 있는 경우(예를 들면, 2주 동안 미사용), 또는 상태 세트가 거의 사용되지 않았을 수도 있는 경우(예를 들면, 3달의 기간에서 2번 또는 더 적게 사용됨)를 검출할 수도 있다. 이것은, 예를 들면, 만약 컨텐츠 소스가 인기있는 컨텐츠 소스가 아닐 수도 있으면 또는 만약 디코더 디바이스의 유저가 특정 컨텐츠 소스로부터 드물게 스트리밍하면 사실일 수도 있다. 이것은 또한, 예를 들면, CEID에 대응하는 복잡도 추정 알고리즘이, 디코더 디바이스가 조우할 가능성이 높을 수도 있는 컨텐츠 소스에 의해 거의 사용되지 않을 수도 있으면 사실일 수도 있다. 관리 기능은, 미사용이거나 거의 사용되지 않을 수도 있는 상태 세트를 삭제하여, 디코더 디바이스 상에서 메모리를 절약할 수도 있다.
디코더 디바이스는, 디코더 디바이스가 추적할 수도 있는 상태 세트의 수에 대해 및/또는 디코더 디바이스가 상태 세트를 추적하기 위해 사용할 수도 있는 메모리의 양에 대해 한계치(예를 들면, 상한)를 가질 수도 있다. 관리 기능은, 이러한 한계치가 초과될 수도 있는 때를 검출할 수도 있고 하나 이상의 상태 세트를 삭제하여 상태 세트의 수 또는 상태 세트를 저장하기 위해 사용되는 메모리를 다시 한계치 아래로 가져갈 수도 있다. 상태 세트는 우선순위의 역순에 기초하여 삭제될 수도 있다; 예를 들면, 가장 덜 빈번하게 사용되는 상태 세트가 먼저 삭제될 수도 있다.
상태 세트 메모리를 감소시키기 위한 상태 세트의 삭제는 스트리밍 세션 동안 수행될 수도 있다. 예를 들면, 스트리밍 세션이 상태 세트의 생성을 수반하고, 상태 세트의 생성이 디코더 디바이스로 하여금 상태 세트의 최대 수를 초과하게 할 수도 있으면, 스트리밍 세션 동안 관리 기능이 호출되어 가장 낮은 우선순위의(예를 들면, 가정 덜 사용되는) 미리 존재하는 상태 세트를 삭제하여 신규의 상태 세트에 대한 여유를 확보할 수도 있다. 상태 세트의 삭제는 스트리밍 세션 사이에 또는 아이들 기간 동안 수행될 수도 있다.
디코더 디바이스는, 나중의 스트리밍 세션에 대해 유용할 수도 있는 상태 세트를 삭제할 수도 있다. 디코더 디바이스는 상태 세트를 생성할 수도 있고 스트리밍의 세션의 시작에서 전력 소비 상태의 추적을 시작할 수도 있다. 미리 존재하는 상태 세트를 사용하는 것의 이점이 이 경우에 상실될 수도 있지만, 시스템은 여전히 기능할 수도 있고 신규로 생성된 상태 세트에 기초하여 적응 결정을 행할 수 있게 될 수도 있다.
상태 세트는 기회가 닿으면 병합될 수도 있다. 디코더 디바이스는, 상태 세트가 병합될 수도 있도록 2개의 상태 세트가 유사할 수도 있다는 것을 검출할 수도 있다. 예를 들면, 2개 이상의 컨텐츠 소스는 동일한 복잡도 레벨 추정 알고리즘을 사용할 수도 있지만, CEID를 공시하지 못할 수도 있고, 그 결과 디코더 디바이스는, 복잡도 레벨 추정 알고리즘이 동일할 수도 있다는 것을 시그널링하는 탑 레벨을 구별할 수 없을 수도 있다. 디코더 디바이스는 2개의 상태 세트를 비교할 수도 있고 유사성을 결정할 수도 있다. 유사성이 결정될 수도 있으면, 디코더 디바이스는 2개의 상태 세트를 병합하여 디코더 디바이스에 의해 유지되는 상태 세트의 전체 수를 감소시킬 수도 있다. 상태 세트에 걸친 유사성의 검출은 다양한 요인에 기초할 수도 있다.
상태 세트는 평가 또는 비교를 허용하도록 충분히 전개될 수도 있다. 예를 들면, 디코더 디바이스는, 상태 세트를 구축하기 위해 사용된 전력 소비 관측의 횟수 또는 상태 세트를 구축하기 위해 관측된 전체 재생 시간을 추적할 수도 있다. 디코더 디바이스는 비교에 대해 충분히 성숙한(mature) 상태 세트를 고려하기 위해 임계사항을 적용할 수도 있다. 임계사항은 상태 세트에 대해 전역적일 수도 있다. 적어도 8분의 비디오 재생을 사용하여 상태 세트가 업데이트된 경우에 상태 세트는 비교를 수행하기에 충분히 성숙할 수도 있다는 것이, 한 예시적인 임계사항일 수도 있다. 임계사항은 전력 소비 상태마다 적용될 수도 있다. 일단 적어도 5개의 비디오 재생 세그먼트에 기초하여 전력 소비 상태(PDR(k))가 업데이트되면 상태 세트는 비교를 허용하기에 충분히 성숙할 수도 있다는 것이, 한 예시적인 임계사항일 수도 있다.
상태 세트는 평가 또는 비교를 허용하도록 호환가능한 복잡도 레벨 값을 가질 수도 있다. 예를 들면, 제1 상태 세트는 PDR(k)(k∈{1,2,3,…,10})에 대한 상태를 가질 수도 있도록 전개할 수도 있다. 제1 상태 세트는 PDR(k)(k∈{1,2,3,…,10})에 대한 상태를 가질 수도 있도록 또한 전개했을 수도 있는 제2 상태 세트에 비교될 수도 있다. PDR(k)(k∈{20,25,30,35,40,45,50})에 대한 상태를 갖도록 전개했을 수도 있는 제3 상태 세트와 제1 상태 세트를 비교하는 것은 어려울 수도 있다. 2개의 상태 세트가 상이한 세트 또는 상이한 범위의 시그널링된 복잡도 레벨 값에 기초하여 발생될 수도 있으면, 기저의 복잡도 추정 알고리즘은 직접적으로 비교가능하지 않을 수도 있다. 도 7에 도시되진 않았지만, 추가적인 시그널링이 MPD에 추가되고 및/또는 외부/대안적 수단을 통해 전송되어 서버 및/또는 인코더에 의해 사용되는 복잡도 레벨 값의 전체 범위를 나타낼 수도 있다. 이것은 디바이스가, 상이한 컨텐츠 소스, 서버, 및 또는 인코더에 의해 사용되는 복잡도 레벨 값의 전체 범위를 더 쉽게 검출하는 것 및 상이한 컨텐츠 소스, 서버, 및/또는 인코더에 의해 사용되는 기저의 복잡도 추정 알고리즘의 유사성을 더 쉽게 평가하는 것을 허용할 수도 있다. CEID가 사용되면, 복잡도 레벨의 전체 범위는 각각의 CEID와 함께 시그널링될 수도 있다.
상태 세트는 적절한 비교 메트릭을 사용하여 비교될 수도 있다. 두 상태 세트가 비교에 대해 충분히 전개될 수도 있고, 두 상태 세트가 호환가능한 복잡도 레벨 값을 가질 수도 있는 한 쌍의 상태 세트의 경우, 상태 세트는 비교 메트릭을 사용하여 비교될 수도 있다. 예를 들면, 전력 소비 상태는 벡터 형태로 놓일 수도 있고 두 상태 벡터 사이의 차이의 놈(norm)이 계산될 수도 있다. 놈은, 예를 들면, L1 놈 또는 L2 놈일 수도 있다. 차이의 놈은 임계치와 비교될 수도 있고, 놈이 임계치 아래에 있으면, 두 상태 세트는 충분히 유사한 것으로 간주될 수도 있어서 상태 세트가 병합될 수도 있다. 다른 비교 메트릭이 사용될 수도 있다. 예를 들면, 디코더 디바이스는 하나의 상태 세트와 다른 상태 세트의 대응하는 상태 사이의 차이를 계산할 수도 있고, 두 상태 세트가 병합하기에 충분히 유사할 수도 있는지의 여부를 결정하기 위해 이 메트릭을 임계치와 비교할 수도 있다.
몇몇 경우에서, 상태 세트 중 몇몇 상태가 임의의 데이터 관측치를 아직 가지지 않을 수도 있거나 또는 시그널링된 복잡도 레벨에서 전력 소비에 대한 신뢰가능한 메트릭으로 간주되기에 불충분한 데이터 관측치를 가질 수도 있을 가능성을 고려하기 위해 시그널링된 복잡도 레벨 값의 상이한 세트 또는 상이한 범위에 기초하여 상태 세트가 발생될 수도 있다면, 상태 세트는 비교될 수도 있다. 예를 들면, 상태 세트는 PDR(k)(k∈{1,2,3,4,5,7,8,9,10})에 대해 성숙한 상태 값을 가질 수도 있지만, k=6에 대한 상태를 업데이트시키기에는 불충분한 데이터를 갖거나 또는 데이터가 없을 수도 있다. 데이터가 없는 상태를 가짐에도 불구하고, 나머지 성숙한 상태는 다른 상태 세트와의 비교를 허용하도록 상태 세트를 충분히 특징지을 수도 있다.
이러한 경우에, 상태 세트는 다른 상태 세트에 비교될 수도 있다. 예를 들면, 성숙하지 않을 수도 있거나 또는 비교 하의 두 상태 세트 중 어느 하나에서 이용불가능할 수도 있는 상태는 비교에서 제거될 수도 있고, 성숙할 수도 있는(예를 들면, 적은 양의 데이터, 예컨대, 예를 들면, 임계치에 결정된 최소 양의 데이터를 사용하여 업데이트되었을 수도 있는) 대응하는 상태는 유사성을 비교하기 위해 비교될 수도 있다. 예를 들면, k=6에 대한 상태가 성숙하지 않다고 또는 제1 상태 세트에서 이용불가능하다고 결정되면, 제1 상태 세트는 제2 상태 세트에, 두 상태 세트로부터 k=6에 대한 세트 값을 제거하고 결과적으로 나타나는 감소된 상태 세트를 비교 메트릭(예를 들면, 감소된 상태 세트 벡터 사이의 차이의 L2 놈)을 사용하여 비교하는 것에 의해, 비교될 수도 있다. 성숙하지 않을 수도 있거나 상태 세트에서 이용가능하지 않을 수도 있는 상태는, 동일한 상태 세트에서 성숙할 수도 있는 이웃 상태로부터 보간될 수도 있다. 예를 들면, 다른 상태 세트에 대한 전체 비교가 이루어지는 것을 허용하도록, 누락된 또는 미성숙 상태를 채우기 위해 선형 보간이 사용될 수도 있다.
디코더 디바이스가 (예를 들면, 본원에서 설명된 바와 같이) 상태 세트 사이에서 충분한 유사성을 결정하면, 디코더 디바이스는 상태 세트를 병합할 수도 있다. 이것은 디코더 디바이스에 의해 추적되는 상태 세트의 전체 수를 감소시킬 수도 있고, 이것은 메모리를 절약할 수도 있다.
병합될 두 상태 세트 중 한 상태에 대한 데이터는 평균되어 병합된 상태 세트의 대응하는 상태를 발생시킬 수도 있다. 이것은 단순한 평균으로서 행해질 수도 있거나, 또는 가중치가 부여된 평균으로서 행해질 수도 있고, 예를 들면,
Figure 112015096764990-pct00004
이다.
가중치(A 및 B)는, 구성 요소인 상태 세트(component state set)를 구축하는 데 얼마나 많은 데이터가 사용되었을 수도 있는지에 기초하여 가중치 부여를 허용할 수도 있다. 예를 들면, PDR1(k)에 대응하는 제1 상태 세트를 구축하여 업데이트하기 위해 28분의 비디오 데이터가 사용되었고, PDR2(k)에 대응하는 제2 상태 세트를 구축하여 업데이트하기 위해 12분의 비디오 데이터가 사용되었다면, 가중치는 전체 데이터의 분율로서 계산될 수도 있는데, 예를 들면, A는 28/(28+12)=0.7일 수도 있고, B는 12/(28+12)=0.3일 수도 있다.
병합된 상태 세트는, 병합했을 수도 있는 구성 요소인 상태 세트에 대해 유효했을 수도 있는 상황(context)과 관련될 수도 있다. 예를 들면, 유튜브에 대응하는 제1 상태 세트가 CNN 비디오에 대응하는 제2 상태 세트와 병합될 수도 있다면, 결과적으로 나타나는 병합된 상태 세트는 유튜브 및 CNN 비디오 둘 다와 관련될 수도 있다. 상태 세트는, 예를 들면, 본원에서 설명된 바와 같이 도메인 명, 컨텐츠 서비스 명 또는 식별자, 및/또는 CEID를 통해 상황과 관련될 수도 있다. 병합된 세트는, 다수의 병합의 결과일 수도 있는 2개보다 많은 이러한 상황에 대응할 수도 있다. 병합된 상태 세트가 생성되어 적절한 상황과 관련될 수도 있을 때, 병합에 기여한 구성 요소인 상태 세트는 삭제될 수도 있다.
디코더 디바이스 또는 그 상태 매니저는 (예를 들면, 현재 상태 세트가 비교를 위해 충분히 성숙할 수도 있는 한 지점까지, 또는 현재 상태 세트가 병합될 다른 기존의 상태 세트와 충분히 유사할 수도 있는 지점까지, 사용 중인 현재 상태 세트가 전개하는 것에 응답하여) 스트리밍 세션 동안 상태 세트 비교 및 병합을 수행할 수도 있다. 비교 및 병합은, 예를 들면, 하우스키핑(housekeeping) 활동으로서 주기적으로 또는 아이들 기간 동안, 활성 스트리밍 세션의 외부에서 행해질 수도 있다.
상태 세트의 병합은 전체적인 상태 세트 메모리 요건을 감소시킬 수도 있고, 디코더 디바이스에 의해 추적될 수도 있는 별개의 상태 세트의 수를 감소시킬 수도 있다. 2개 이상의 유사한 상태 세트로부터의 데이터를 결합함으로써, 데이터 희소성의 이슈는 해결될 수도 있다.
PDR 상태는 양자화될 수도 있다. 식 (1)에 의해 설명된 상태 추적 기술은, 컨텐츠 소스에 의해 시그널링될 수도 있는 복잡도 레벨(k)에 상태를 할당할 수도 있다. 예를 들면, 컨텐츠 소스가 복잡도 레벨(k)(k∈{1,2,3,…,10})을 시그널링하면, 10개의 대응하는 값, 즉 PDR(k)(k∈{1,2,3,…,10})을 갖는 상태 세트가 발생될 수도 있다. 컨텐츠 소스가 미세한 입상의 복잡도 레벨(예를 들면, 복잡도 레벨(k)(k∈{1,2,3,…,1000}))을 사용하면, 가능한 복잡도 레벨에 대한 상태를 추적하는 것은 상태 세트를 추적하기 위해 사용되는 메모리를 증가시킬 수도 있고, 데이터 희소성 이슈로 또한 나타날 수도 있다. 예를 들면, 디코더 디바이스는 복잡도 레벨에서 대응하는 전력 소비 상태를 신뢰성 있게 계산하기에 충분한 데이터를 볼 수 없을 수도 있다.
디코더 디바이스는 복잡도 레벨 공간을 다수의 별개의 빈(bin)으로 양자화할 수도 있다. 빈은 전력 소비율 상태에 대응할 수도 있다. 다수의 이웃하는 복잡도 레벨로부터의 데이터 관측치는 빈으로 공급될 수도 있고, 상태 세트에 대한 스토리지 사이즈 및 추적 복잡도는 감소 및/또는 제한될 수도 있다.
도 11은 복잡도 레벨을 양자화하는 예를 묘사한다. 도 11에 도시된 바와 같이, 컨텐츠 소스에 의해 시그널링될 수도 있는 복잡도 레벨(1202)은 CLmin에서 CLmax까지의 범위에 이를 수도 있다. 디코더 디바이스는 이 범위를 다수의 빈, 예컨대 1204, 1206, 1208, 1210, 및 1212로 분할할 수도 있다. 도 11이 5개의 빈(1204, 1206, 1208, 1210, 1212)의 예를 예시하지만, 더 많은 또는 더 적은 빈이 사용될 수도 있다. 예를 들면, 복잡도 레벨과 전력 소비율 사이의 관계를 특징짓기 위해 더 많은 수의 빈(예를 들면, 10개의 빈 또는 20개의 빈)이 사용될 수도 있다.
디코더 디바이스는 시그널링된 복잡도 레벨(CL)과 관련된 비디오 세그먼트를 요청 및/또는 수신할 수도 있다. 비디오 세그먼트를 재생하는 동안, 디코더 디바이스는 변화하는 배터리 레벨을 관측할 수도 있고 및/또는 비디오 세그먼트의 재생에 대한 전력 소비율을 계산할 수도 있다. 디코더 디바이스는, 도 11에 예시된 바와 같이, 시그널링된 복잡도 레벨을 적절한 빈으로 매핑할 수도 있다. 디코더 디바이스는, 매핑된 빈에 대응하는 전력 소비 상태를 업데이트하기 위해, 관측된 배터리 레벨 및/또는 계산된 전력 소비율을 사용할 수도 있다. 업데이트는, 시그널링된 복잡도 레벨(CL)의 매핑된 빈(k)으로의 적절한 매핑과 함께, 식 (1)에 따라 행해질 수도 있다.
컨텐츠 소스에 의해 시그널링되는 더 조밀한 세트의 복잡도 레벨로부터 적은 수의 상태(예를 들면 도 11에 도시된 바와 같은 5개의 상태)를 갖는 상태 세트가 발생될 수도 있다. 이 적은 상태 세트로부터의 값(PDR(k))은 빈(k)의 중심에 있는 복잡도 레벨(CL) 값에 대한 전력 소비율에 대응할 수도 있다. 이것은 도 11에서, 빈의 중심에 있는 안이 채워지지 않은 원(1214, 1216, 1218, 1220, 1222)에 의해 예시된다. 값(PDR(k))은 빈 중심에 대응하는 전력 소비율을 예측하기 위해 사용될 수도 있다. CL의 다른 값에 대응하는 전력 소비율을 예측하기 위해, 보간이 활용될 수도 있다. 예를 들면, PDR(k)의 이웃하는 값 사이를 보간하기 위해 선형 보간 또는 다항식 보간이 사용될 수도 있다. CL의 임의의 시그널링된 값에 대한 전력 소비율을 예측하기 위해 감소된 상태 세트가 사용될 수도 있고, 감소된 상태 모델은 적응 결정을 구동하는 데 사용될 수도 있다. 도 11에 도시되진 않았지만, 전체 범위의 복잡도 레벨 값의 균일하지 않은 양자화가 사용될 수도 있다. 예를 들면, 중간에 있는 복잡도 레벨 값에 대해서는 더 미세한 양자화가 적용될 수도 있고(즉, 중간의 빈은 더 적은 수의 복잡도 레벨, 예를 들면, 도시된 바와 같은 6개의 복잡도 레벨 대신 3개의 복잡도 레벨 값에 매핑될 수도 있음), 좌우측 상의 복잡도 레벨 값에 대해서는 더 성긴(coarser) 양자화가 적용될 수도 있다(즉, 좌우측 빈은 더 많은 수의 복잡도 레벨, 예를 들면, 도시된 바와 같은 6개의 복잡도 레벨 대신 9개의 복잡도 레벨 값에 걸칠 수도 있음).
빈 분할기(bin divider)에 대한 복잡도 값의 정렬은, 감소된 상태 세트 모델이 사용될 수도 있을 때 전력 소비율 업데이트에 바이어스를 도입할 수도 있다. 복잡도 레벨의 사용 빈도는 바이어스를 도입할 수도 있다. 예를 들면, 도 12에 예시된 바와 같이, 빈(1306)의 에지(1304) 근처에 정렬된 시그널링된 복잡도 레벨(1302)은 감소된 상태 세트의 전개 동안 빈번하게 재생될 수도 있고, 한편, 빈(1306) 내의 다른 시그널링된 복잡도 레벨(1308)은 덜 빈번하게 재생될 수도 있다. 빈(1306)을 표현하기 위해 사용되는 데이터는 빈(1306)의 일측(one side)을 향해 편향될(biased) 수도 있고, 결과적으로 나타나는 상태 값(PDR(k))은 빈(1306)의 중심을 정확하게 표현하지 못할 수도 있다.
바이어스의 이 소스를 감소시키거나 제거하기 위해, 배터리 레벨 변화 또는 전력 소비의 관측된 또는 계산된 값은, 전력 소비율 상태(PDR(k))를 업데이트하기 위해 이러한 값을 사용하기 이전에, 빈(k)의 중심에 대응하는 등가의 값에 재매핑될 수도 있다. 예를 들면, 디코더 디바이스는 원래의 복잡도 레벨 공간에 대응하는 전력 소비율(PDRorig(CL)) 및 복잡도 레벨(CL)의 관측치를 저장할 수도 있다. 도 13에 도시된 바와 같이, 디코더 디바이스는, (CL, PDRorig(CL))의 이웃하는 값(1402, 1404) 사이를 보간하도록 보간을 사용하여, 빈(k)의 중심에 대응하는 전력 소비율의 매핑된 값(1406)을 결정할 수도 있다. 이 매핑된 전력 소비율은 PDR(k)을 업데이트하기 위해 사용될 수도 있는데, 대응하는 전력 소비율 상태는 감소된 상태 세트의 빈(k)에 대응한다.
도 13이 선형 보간의 사용을 예시하지만, 다른 타입의 보간(예를 들면, 다항식 보간 등등)이 사용될 수도 있다. 보간은 원래의 전력 소비율을 빈의 중심에서의 등가의 레이트로 재매핑하기 위해 사용될 수도 있다. 예를 들면, 디코더 디바이스는 이웃하는 빈의 전력 소비율 상태 값 및 전력 소비 관측치 사이를 보간할 수도 있다. 도 13에서, 이것은 보간의 우측 상의 (CL2, PDRorig(CL2))를, 다음으로 높은 빈의 중심에서의 등가의 복잡도 레벨 및 전력 소비율에 대응할 수도 있는 (CLequiv(k+1), PDR(k+1))로 대체하는 것에 대응할 수도 있다. 보간은, 현재의 복잡도 레벨 관측치(CL1)가 빈(k)의 중심의 좌측에 대한 것인지 또는 우측에 대한 것인지의 여부에 따라, 각각, 다음으로 높은 빈(예를 들면, k+1) 또는 다음으로 낮은 빈(예를 들면, k-1) 중 어느 하나를 사용하여 행해질 수도 있다. 빈이 중심으로의 재매핑은 다수의 전력 소비율 값을 저장하지 않고 수행될 수도 있다.
디코더 디바이스는 동일한 수(N)의 감소된 상태 세트를 갖는 다수의 감소된 상태 세트를 개발하기 위해 본원에서 설명된 방식을 사용할 수도 있다. 예를 들면, 디코더 디바이스는 다수의 상태 세트(예를 들면, 상이한 컨텐츠 소스에 대응함)를 생성하여 유지할 수도 있는데, 여기서, 상태 세트는 상태값(PDR(k))(k∈{1,2,3,…,N})을 포함하는 감소된 상태 세트일 수도 있다. 상태 세트가 복잡도 레벨(k)의 동일한 감소된 세트에 기초할 수도 있기 때문에, 상태 세트는 병합을 위해 더 쉽게 비교될 수도 있다. N차 감소된 상태 세트를 갖는 상태 세트의 쌍은 평가 또는 비교를 허용할 수도 있는 호환가능한 복잡도 레벨 값을 가질 수도 있다. 잠재적인 병합을 위한 비교는, 비교를 허용하도록 충분히 성숙한 데이터를 구비할 수도 있는 N차 감소된 상태 세트의 쌍에 대해 수행될 수도 있다.
도 14a는 하나 이상의 개시된 실시형태가 구현될 수도 있는 예시적인 통신 시스템(100)의 도면이다. 통신 시스템(100)은 보이스, 데이터, 비디오, 메시징, 브로드캐스트 등등과 같은 컨텐츠를 다수의 무선 유저에게 제공하는 다중 액세스 시스템일 수도 있다. 통신 시스템(100)은, 무선 대역폭을 포함하는 시스템 리소스의 공유를 통해 다수의 무선 유저가 이러한 컨텐츠에 액세스하는 것을 가능하게 할 수도 있다. 예를 들면, 통신 시스템(100)은, 코드 분할 다중 액세스(code division multiple access; CDMA), 시분할 다중 액세스(time division multiple access; TDMA), 주파수 분할 다중 액세스(frequency division multiple access; FDMA), 직교 FDMA(orthogonal FDMA; OFDMA), 싱글 캐리어 FDMA(single-carrier FDMA; SC-FDMA) 등등과 같은 하나 이상의 채널 액세스 방법을 활용할 수도 있다.
도 14a에 도시된 바와 같이, 통신 시스템(100)은 무선 송수신 유닛(WTRU)(102a, 102b, 102c, 및/또는 102d)(이들은 일반적으로 또는 총칭하여 WTRU(102)로 칭해질 수도 있음), 무선 액세스 네트워크(radio access network; RAN)(103/104/105), 코어 네트워크(106/107/109), 공중 교환 전화망(public switched telephone network; PSTN)(108), 인터넷(110), 및 기타 네트워크(112)를 포함할 수도 있지만, 개시된 실시형태는 임의의 수의 WTRU, 기지국(base station), 네트워크, 및/또는 네트워크 엘리먼트를 고려한다는 것을 알 수 있을 것이다. WTRU(102a, 102b, 102c, 102d)의 각각은 무선 환경에서 동작 및/또는 통신하도록 구성되는 임의의 타입의 디바이스일 수도 있다. 예로서, WTRU(102a, 102b, 102c, 102d)는 무선 신호를 송신 및/또는 수신하도록 구성될 수도 있고 유저 기기(user equipment; UE), 이동국(mobile station), 고정식 또는 이동식 가입자 유닛, 페이저, 셀룰러 전화, 개인 휴대형 정보 단말기(personal digital assistant; PDA), 스마트폰, 랩탑, 넷북, 퍼스널 컴퓨터, 무선 센서, 가전기기(consumer electronics) 등등을 포함할 수도 있다.
통신 시스템(100)은 기지국(114a) 및 기지국(114b)을 또한 포함할 수도 있다. 기지국(114a, 114b)의 각각은, 코어 네트워크(106/107/109), 인터넷(110), 및/또는 기타 네트워크(112)와 같은 하나 이상의 통신 네트워크에 대한 액세스를 용이하게 하기 위해 WTRU(102a, 102b, 102c, 102d) 중 적어도 하나와 무선으로 인터페이싱하도록 구성되는 임의의 타입의 디바이스일 수도 있다. 예로서, 기지국(114a, 114b)은 기지국 트랜시버(base transceiver station; BTS), 노드 B, eNode B, 홈 노드 B, 홈 eNode B, 사이트 컨트롤러, 액세스 포인트(AP), 무선 라우터 등등일 수도 있다. 기지국(114a, 114b) 각각이 단일의 엘리먼트로서 묘사되지만, 기지국(114a, 114b)은 임의의 수의 인터커넥트된(interconnected) 기지국 및/또는 네트워크 엘리먼트를 포함할 수도 있음을 알 수 있을 것이다.
기지국(114a)은, 기지국 컨트롤러(base station controller; BSC), 무선 네트워크 컨트롤러(radio network controller; RNC), 중계 노드 등등과 같은 다른 기지국 및/또는 네트워크 엘리먼트(도시되지 않음)를 또한 포함할 수도 있는 RAN(103/104/105)의 일부일 수도 있다. 기지국(114a) 및/또는 기지국(114b)은 특정 지리적 영역 내에서 무선 신호를 송신 및/또는 수신하도록 구성될 수도 있으며, 셀(도시되지 않음)로서 칭해질 수도 있다. 셀은 셀 섹터로 더 분할될 수도 있다. 예를 들면, 기지국(114a)과 관련된 셀은 3개의 섹터로 분할될 수도 있다. 따라서, 일 실시형태에서, 기지국(114a)은 3개의 트랜시버, 즉, 셀의 각각의 섹터에 대해 하나의 트랜시버를 포함할 수도 있다. 다른 실시형태에서, 기지국(114a)은 다중입력 다중출력(multiple-input multiple-output; MIMO) 기술을 활용할 수도 있고, 따라서, 셀의 각각의 섹터에 대해 다수의 트랜시버를 활용할 수도 있다.
기지국(114a, 114b)은, 임의의 적절한 무선 통신 링크(예를 들면, 무선 주파수(radio frequency; RF), 마이크로파, 적외선(infrared; IR), 자외선(ultraviolet; UV), 가시광 등등)일 수도 있는 무선 인터페이스(air interface; 115/116/117)를 통해 WTRU(102a, 102b, 102c, 102d) 중 하나 이상과 통신할 수도 있다. 무선 인터페이스(115/116/117)는 임의의 적절한 무선 액세스 기술(radio access technology; RAT)을 사용하여 확립될 수도 있다.
더 구체적으로는, 위에서 언급된 바와 같이, 통신 시스템(100)은 다중 액세스 시스템일 수도 있고 CDMA, TDAM, FDAM, OFDMA, SC-FDMA 등등과 같은 하나 이상의 채널 액세스 방식을 활용할 수도 있다. 예를 들면, RAN(103/104/105) 내의 기지국(114a) 및 WTRU(102a, 102b, 102c)는, 광대역 CDMA(wideband CDMA; WCDMA)를 사용하여 무선 인터페이스(115/116/117)를 확립할 수도 있는, 범용 이동 통신 시스템(Universal Mobile Telecommunications System; UMTS) 지상 무선 액세스(Terrestrial Radio Access)(UTRA)와 같은 무선 기술을 구현할 수도 있다. WCDMA는 고속 패킷 액세스(High-Speed Packet Access; HSPA) 및/또는 진화된 HSPA(Evolved HSPA; HSPA+)와 같은 통신 프로토콜을 포함할 수도 있다. HSPA는 고속 다운링크 패킷 액세스(High-Speed Downlink Packet Access; HSDPA) 및/또는 고속 업링크 패킷 액세스(High-Speed Uplink Packet Access; HSUPA)를 포함할 수도 있다.
다른 실시형태에서, 기지국(114a) 및 WTRU(102a, 102b, 102c)는, 롱 텀 에볼루션(LTE) 및/또는 LTE-어드밴스드(LTE-Advanced)(LTE-A)를 사용하여 무선 인터페이스(115/116/117)를 확립할 수도 있는 진화된 UMTS 지상 무선 액세스(Evolved UMTS Terrestrial Radio Access; E-UTRA)와 같은 무선 기술을 구현할 수도 있다.
다른 실시형태에서, 기지국(114a) 및 WTRU(102a, 102b, 102c)는, IEEE 802.16(즉, 와이맥스(Worldwide Interoperability for Microwave Access; WiMAX)), CDMA2000, CDMA2000 1X, CDMA2000 EV-DO, IS-2000(Interim Standard 2000), IS-95(Interim Standard 95), IS-856(Interim Standard 856), 이동 통신용 글로벌 시스템(Global System for Mobile communications; GSM), EDGE(Enhanced Data rates for GSM Evolution), GSM EDGE(GERAN) 등등과 같은 무선 기술을 구현할 수도 있다.
도 14a의 기지국(114b)은, 예를 들면, 무선 라우터, 홈 노드 B, 홈 eNode B, 또는 액세스 포인트일 수도 있고, 사업장, 가정, 차량, 캠퍼스 등등과 같은 국소화된 영역에서 무선 연결성을 용이하게 하기 위해 임의의 적절한 RAT를 활용할 수도 있다. 일 실시형태에서, 기지국(114b) 및 WTRU(102c, 102d)는 무선 로컬 에어리어 네트워크(wireless local area network; WLAN)를 확립하기 위해 IEEE 802.11과 같은 무선 기술을 구현할 수도 있다. 다른 실시형태에서, 기지국(114b) 및 WTRU(102c, 102d)는 무선 사설 영역 네트워크(wireless personal area network; WPAN)를 확립하기 위해 IEEE 802.15와 같은 무선 기술을 구현할 수도 있다. 또 다른 실시형태에서, 기지국(114b) 및 WTRU(102c, 102d)는 피코셀 또는 펨토셀을 확립하기 위해 셀룰러 기반 RAT(예를 들면, WCDMA, CDMA2000, GSM, LTE, LTE-A 등등)를 활용할 수도 있다. 도 14a에 도시된 바와 같이, 기지국(114b)은 인터넷(100)에 대한 직접 연결을 구비할 수도 있다. 따라서, 기지국(114b)은 코어 네트워크(106/107/109)를 통해 인터넷(110)에 액세스할 필요가 없을 수도 있다.
RAN(103/104/105)은, WTRU(102a, 102b, 102c, 102d) 중 하나 이상으로 보이스, 데이터, 애플리케이션, 및/또는 인터넷 전화 프로토콜(voice over internet protocol; VoIP) 서비스를 제공하도록 구성된 임의의 타입의 네트워크일 수도 있는 코어 네트워크(106/107/109)와 통신할 수도 있다. 예를 들면, 코어 네트워크(106/107/109)는 호 제어(call control), 과금 서비스, 모바일 위치 기반 서비스, 선불 통화, 인터넷 연결성, 비디오 분배 등등을 제공할 수도 있고/있거나 유저 인증과 같은 하이 레벨의 보안 기능을 수행할 수도 있다. 도 14a에 도시되진 않지만, RAN(103/104/105) 및/또는 코어 네트워크(106/107/109)는, RAN(103/104/105)과 동일한 RAT 또는 상이한 RAT를 활용하는 다른 RAN과 직접 또는 간접 통신할 수도 있음을 알 수 있을 것이다. 예를 들면, E-UTRA 무선 기술을 활용할 수도 있는 RAN(103/104/105)에 연결되는 것 외에, 코어 네트워크(106/107/109)는 GSM 무선 기술을 활용하는 다른 RAN(도시되지 않음)과 또한 통신할 수도 있다.
코어 네트워크(106/107/109)는 WTRU(102a, 102b, 102c, 102d)가 PSTN(108), 인터넷(110), 및/또는 기타 네트워크(112)에 액세스하는 데 게이트웨이로서 또한 기능할 수도 있다. PSTN(108)은, 기존 전화 서비스(plain old telephone service; POTS)를 제공하는 회선 교환 전화 네트워크를 포함할 수도 있다. 인터넷(110)은, TCP/IP(transmission control protocol/internet protocol; 전송 제어 프로토콜/인터넷 프로토콜) 일군(suite)에서의 TCP, 유저 데이터그램 프로토콜(user datagram protocol; UDP) 및 IP와 같은 공통 통신 프로토콜을 사용하는 인터커넥트된 컴퓨터 네트워크 및 디바이스의 글로벌 시스템을 포함할 수도 있다. 네트워크(112)는 다른 서비스 공급자에 의해 소유되는 및/또는 운영되는 유선 또는 무선 통신 네트워크를 포함할 수도 있다. 예를 들면, 네트워크(112)는, RAN(103/104/105)과 동일한 RAT 또는 상이한 RAT를 활용할 수도 있는 하나 이상의 RAN에 연결된 다른 코어 네트워크를 포함할 수도 있다.
통신 시스템(100)에서의 WTRU(102a, 102b, 102c, 102d) 중 몇몇 또는 전체는 다중 모드 성능을 포함할 수도 있다, 즉, WTRU(102a, 102b, 102c, 102d)는 상이한 무선 링크를 통해 상이한 무선 네트워크와 통신하기 위한 다수의 트랜시버를 포함할 수도 있다. 예를 들면, 도 14a에 도시된 WTRU(102c)는, 셀룰러 기반 무선 기술을 활용할 수도 있는 기지국(114a)과, 그리고 IEEE 802 무선 기술을 활용할 수도 있는 기지국(114b)과 통신하도록 구성될 수도 있다.
도 14b는 예시적인 WTRU(102)의 시스템 도면이다. 도 14b에 도시된 바와 같이, WTRU(102)는 프로세서(118), 트랜시버(120), 송신/수신 엘리먼트(122), 스피커/마이크(124), 키패드(126), 디스플레이/터치패드(128), 비착탈식 메모리(130), 착탈식 메모리(132), 전원(134), 글로벌 포지셔닝 시스템(global positioning system; GPS) 칩셋(136), 및 기타 주변장치(138)를 포함할 수도 있다. WTRU(102)는 한 실시형태와 여전히 일치하면서 상기 엘리먼트의 임의의 부조합을 포함할 수도 있다는 것을 알 수 있을 것이다. 또한, 실시형태는, 기지국(114a 및 114b), 및/또는, 다른 것들 중에서도, 기지국 트랜시버(BTS), 노드 B, 사이트 컨트롤러, 액세스 포인트(AP), 홈 노드 B, 진화형 홈 노드 B(eNodeB), 홈 진화형 노드 B(home evolved node-B; HeNB), 홈 진화형 노드 B 게이트웨이, 및 프록시 노드와 같은 그러나 이들에 한정되지 않는, 기지국(114a 및 114b)이 나타낼 수도 있는 노드는 도 14b에 묘사된 그리고 본원에서 설명되는 엘리먼트 중 몇몇 또는 전체를 포함할 수도 있다는 것을 고려한다.
프로세서(118)는 범용 프로세서, 특수 목적 프로세서, 종래의 프로세서, 디지털 신호 프로세서(digital signal processor; DSP), 복수의 마이크로프로세서, DSP 코어와 관련한 하나 이상의 마이크로프로세서, 컨트롤러, 마이크로컨트롤러, 주문형 반도체(Application Specific Integrated Circuit; ASIC), 필드 프로그래머블 게이트 어레이(Field Programmable Gate Array; FPGA) 회로, 임의의 다른 타입의 집적 회로(integrated circuit; IC), 상태 머신 등등일 수도 있다. 프로세서(118)는 신호 코딩, 데이터 프로세싱, 전력 제어, 입/출력 프로세싱, 및/또는 WTRU(102)가 무선 환경에서 동작하는 것을 가능하게 하는 임의의 다른 기능성(functionality)을 수행할 수도 있다. 프로세서(118)는, 송신/수신 엘리먼트(122)에 커플링될 수도 있는 트랜시버(120)에 커플링될 수도 있다. 도 14b는 프로세서(118)와 트랜시버(120)를 별개의 컴포넌트로서 묘사하지만, 프로세서(118)와 트랜시버(120)는 전자적 패키지 또는 칩에 함께 집적될 수도 있다는 것이 이해될 것이다.
송신/수신 엘리먼트(122)는 무선 인터페이스(115/116/117)를 통해 기지국(예를 들면, 기지국(114a))으로 신호를 송신하거나, 또는 그 기지국으로부터 신호를 수신하도록 구성될 수도 있다. 예를 들면, 일 실시형태에서, 송신/수신 엘리먼트(122)는 RF 신호를 송신 및/또는 수신하도록 구성되는 안테나일 수도 있다. 다른 실시형태에서, 송신/수신 엘리먼트(122)는, 예를 들면, IR, UV, 또는 가시광 신호를 송신 및/또는 수신하도록 구성되는 방출기(emitter)/검출기일 수도 있다. 또 다른 실시형태에서, 송신/수신 엘리먼트(122)는 RF 및 광 신호를 송신 및 수신하도록 구성될 수도 있다. 송신/수신 엘리먼트(122)는 무선 신호의 임의의 조합을 송신 및/또는 수신하도록 구성될 수도 있다는 것을 알 수 있을 것이다.
또한, 송신/수신 엘리먼트(122)가 도 14b에서 단일의 엘리먼트로서 묘사되지만, WTRU(120)는 임의의 수의 송신/수신 엘리먼트(122)를 포함할 수도 있다. 더 구체적으로는, WTRU(102)는 MIMO 기술을 활용할 수도 있다. 따라서, 일 실시형태에서, WTRU(102)는, 무선 인터페이스(115/116/117)를 통해 무선 신호를 송신 및 수신하기 위한 2개 이상의 송신/수신 엘리먼트(122)(예를 들면, 다수의 안테나)를 포함할 수도 있다.
트랜시버(120)는, 송신/수신 엘리먼트(122)에 의해 송신될 신호를 변조하도록 그리고 송신/수신 엘리먼트(122)에 의해 수신되는 신호를 복조하도록 구성될 수도 있다. 위에서 언급된 바와 같이, WTRU(102)는 다중 모드 성능을 가질 수도 있다. 따라서, 트랜시버(120)는, WTRU(102)가, 예를 들면, UTRA 및 IEEE 802.11과 같은 다수의 RAT를 통해 통신하는 것을 가능하게 하기 위해, 다수의 트랜시버를 포함할 수도 있다.
WTRU(102)의 프로세서(118)는, 스피커/마이크(124), 키패드(126), 및/또는 디스플레이/터치패드(128)(예를 들면, LCD(liquid crystal display; 액정 디스플레이) 디스플레이 유닛 또는 유기 발광 다이오드(organic light-emitting diode; OLED) 디스플레이 유닛)에 커플링될 수도 있고, 그리고 이들로부터 유저 입력 데이터를 수신할 수도 있다. 프로세서(118)는 유저 데이터를 스피커/마이크(124), 키패드(126), 및/또는 디스플레이/터치패드(128)로 또한 출력할 수도 있다. 또한, 프로세서(118)는, 비착탈식 메모리(130) 및/또는 착탈식 메모리(132)와 같은 임의의 타입의 적절한 메모리로부터의 정보에 액세스할 수도 있고, 그리고 그 임의의 타입의 적절한 메모리에 데이터를 저장할 수도 있다. 비착탈식 메모리(130)는 랜덤 액세스 메모리(random-access memory; RAM), 판독 전용 메모리(read-only memory; ROM), 하드디스크, 또는 임의의 다른 타입의 메모리 저장 디바이스를 포함할 수도 있다. 착탈식 메모리(132)는 가입자 식별 모듈(subscriber identity module; SIM) 카드, 메모리 스틱, 시큐어 디지털(secure digital; SD) 메모리 카드 등등을 포함할 수도 있다. 다른 실시형태에서, 프로세서(118)는, 서버 또는 가정용 컴퓨터(도시되지 않음)와 같은 WTRU(102)에 물리적으로 위치되지 않는 메모리로부터의 정보에 액세스할 수도 있고, 그리고 그 메모리에 데이터를 저장할 수도 있다.
프로세서(118)는 전원(134)으로부터 전력을 수신할 수도 있고, WTRU(102)의 다른 컴포넌트로 전력을 분배하도록 및/또는 그 전력을 제어하도록 구성될 수도 있다. 전원(134)은 WTRU(102)에 전력을 공급하기 위한 임의의 적절한 디바이스일 수도 있다. 예를 들면, 전원(134)은 하나 이상의 드라이 셀 배터리(예를 들면, 니켈 카드뮴(NiCd), 니켈 아연(NiZn), 니켈 금속 수소(NiMh), 리튬 이온(Li-ion) 등등), 솔라 셀, 연료 전지 등등을 포함할 수도 있다.
프로세서(118)는, WTRU(102)의 현재 위치에 관한 위치 정보(예를 들면, 경도 및 위도)를 제공하도록 구성될 수도 있는 GPS 칩셋(136)에 또한 커플링될 수도 있다. 또한, GPS 칩셋(136)으로부터의 정보 외에, 또는 그 정보 대신, WTRU(102)는 무선 인터페이스(115/116/117)를 통해 기지국(예를 들면, 기지국(114a, 114b))으로부터 위치 정보를 수신할 수도 있고/있거나 2개 이상의 가까운 기지국으로부터 수신되고 있는 신호의 타이밍에 기초하여 그 위치를 결정할 수도 있다. WTRU(102)는 한 실시형태와 여전히 일치하면서 임의의 적절한 위치 결정 방법을 통해 위치 정보를 획득할 수도 있다는 것을 알 수 있을 것이다.
프로세서(118)는, 추가적인 특징, 기능성, 및/또는 유선 또는 무선 연결성을 제공하는 하나 이상의 소프트웨어 및/또는 하드웨어 모듈을 포함할 수도 있는 기타 주변장치(138)에 추가로 커플링될 수도 있다. 예를 들면, 주변장치(138)는 가속도계, 전자 콤파스, 위성 트랜시버, (사진 및 비디오용의) 디지털 카메라, 범용 직렬 버스(universal serial bus; USB) 포트, 진동 디바이스, 텔레비전 트랜시버, 핸즈프리 헤드셋, Bluetooth® 모듈, 주파수 변조(frequency modulated; FM) 라디오 유닛, 디지털 뮤직 플레이어, 미디어 플레이어, 비디오 게임 플레이어 모듈, 인터넷 브라우저 등등을 포함할 수도 있다.
도 14c는 한 실시형태에 따른 RAN(103)과 코어 네트워크(106)의 시스템 도면이다. 위에서 언급된 바와 같이, RAN(103)은 무선 인터페이스(115)를 통해 WTRU(102a, 102b, 102c)와 통신하기 위해 UTRA 무선 기술을 활용할 수도 있다. RAN(103)은 코어 네트워크(106)와 또한 통신할 수도 있다. 도 14c에 도시된 바와 같이, RAN(103)은 노드 B(140a, 140b, 140c)를 포함할 수도 있는데, 이들 각각은 무선 인터페이스(115)를 통해 WTRU(102a, 102b, 102c)와 통신하기 위한 하나 이상의 트랜시버를 포함할 수도 있다. 노드 B(140a, 140b, 140c) 각각은 RAN(103) 내에서 특정 셀(도시되지 않음)과 관련될 수도 있다. RAN(103)은 RNC(142a, 142b)를 또한 포함할 수도 있다. RAN(103)은 한 실시형태와 여전히 일치하면서 임의의 수의 노드 B 및 RNC를 포함할 수도 있다는 것을 알 수 있을 것이다.
도 14c에 도시된 바와 같이, 노드 B(140a, 140b)는 RNC(142a)와 통신할 수도 있다. 추가적으로, 노드 B(140c)는 RNC(142b)와 통신할 수도 있다. 노드B(140a, 140b, 140c)는 Iub 인터페이스를 통해 각각의 RNC(142a, 142b)와 통신할 수도 있다. RNC(142a, 142b)는 Iub 인터페이스를 통해 서로 통신할 수도 있다. RNC(142a, 142b)의 각각은 자신이 연결된 각각의 노드 노드B(140a, 140b, 140c)를 제어하도록 구성될 수도 있다. 또한, RNC(142a, 142b)의 각각은 다른 기능성, 예컨대 외부 루프 전력 제어, 부하 제어, 수락 제어, 패킷 스케줄링, 핸드오버 제어, 매크로다이버시티, 보안 기능, 데이터 암호화 등등을 수행하도록 또는 지원하도록 구성될 수도 있다.
도 14c에 도시된 코어 네트워크(106)는 미디어 게이트웨이(media gateway; MGW)(144), 모바일 스위칭 센터(mobile switching center; MSG)(146), 서비스 중인 GPRS 지원 노드(serving GPRS support node; SGSN)(148), 및/또는 게이트웨이 GPRS 지원 노드(gateway GPRS support node; GGSN)(150)를 포함할 수도 있다. 상기 엘리먼트의 각각이 코어 네트워크(106)의 일부로서 묘사되지만, 이들 엘리먼트 중 임의의 하나는 코어 네트워크 오퍼레이터 이외의 엔티티에 의해 소유되고 및/또는 그 엔티티에 동작될 수도 있다는 것을 알 수 있을 것이다.
RAN(103)의 RNC(142a)는 IuCS 인터페이스를 통해 코어 네트워크(106)의 MSG(146)에 연결될 수도 있다. MSG(146)는 MGW(144)에 연결될 수도 있다. MSG(146) 및 MGW(144)는, WTRU(102a, 102b, 102c)와 전통적인 지상 회선 통신 디바이스 사이의 통신을 용이하게 하기 위해, PSTN(108)과 같은 회선 교환 네트워크에 대한 액세스를 WTRU(102a, 102b, 102c)에게 제공할 수도 있다.
RAN(103)의 RNC(142a)는 IuPS 인터페이스를 통해 코어 네트워크(106)의 SGSN(148)에 연결될 수도 있다. SGSN(148)은 GGSN(150)에 연결될 수도 있다. SGSN(148) 및 GGSN(150)은, WTRU(102a, 102b, 102c)와 IP 대응 디바이스(IP-enabled device) 사이의 통신을 용이하게 하기 위해, 패킷 교환 네트워크, 예컨대 인터넷(110)에 대한 액세스를 WTRU(102a, 102b, 102c)에게 제공할 수도 있다.
위에서 언급된 바와 같이, 코어 네트워크(106)는 네트워크(112)에 연결될 수 있는데, 네트워크(112)는 다른 서비스 공급자에 의해 소유되는 및/또는 운영되는 다른 유선 또는 무선 네트워크를 포함할 수도 있다.
도 14d는 한 실시형태에 따른 RAN(104)과 코어 네트워크(107)의 시스템 도면이다. 위에서 언급된 바와 같이, RAN(104)은 무선 인터페이스(116)를 통해 WTRU(102a, 102b, 102c)와 통신하기 위해 E-UTRA 무선 기술을 활용할 수도 있다. RAN(104)은 코어 네트워크(107)와 또한 통신할 수도 있다.
RAN(104)은 eNode B(160a, 160b, 160c)를 포함할 수도 있지만, RAN(104)은 한 실시형태와 여전히 일치하면서 임의의 수의 eNode B를 포함할 수도 있다. eNode B(160a, 160b, 160c) 각각은 무선 인터페이스(116)를 통해 WTRU(102a, 102b, 102c)와 통신하기 위한 하나 이상의 트랜시버를 포함할 수도 있다. 일 실시형태에서, eNode B(160a, 160b, 160c)는 MIMO 기술을 구현할 수도 있다. 따라서, eNode B(160a)는, 예를 들면, WTRU(102a)로 무선 신호를 송신하고 그 WTRU(102a)로부터 무선 신호를 수신하기 위해 다수의 안테나를 사용할 수도 있다.
eNode B(160a, 160b, 160c)의 각각은 특정 셀(도시되지 않음)과 관련될 수도 있고 무선 리소스 관리 결정, 핸드오버 결정, 업링크 및/또는 다운링크에서의 유저의 스케줄링 등등을 핸들링하도록 구성될 수도 있다. 도 14d에 도시된 바와 같이, eNode B(160a, 160b, 160c)는 X2 인터페이스를 통해 서로 통신할 수도 있다.
도 14d에 도시된 코어 네트워크(107)는 이동성 관리 엔티티 게이트웨이(mobility management entity gateway; MME)(162), 서빙 게이트웨이(164), 패킷 데이터 네트워크(packet data network; PDN) 게이트웨이(166)를 포함할 수도 있다. 상기 엘리먼트의 각각이 코어 네트워크(107)의 일부로서 묘사되지만, 이들 엘리먼트 중 임의의 하나는 코어 네트워크 오퍼레이터 이외의 엔티티에 의해 소유되고 및/또는 그 엔티티에 의해 동작될 수도 있다는 을 알 수 있을 것이다.
MME(162)는 Si 인터페이스를 통해 RAN(104) 내의 eNode B(160a, 160b, 160c)의 각각에 연결될 수도 있고 제어 노드로서 기능할 수도 있다. 예를 들면, MME(162)는 WTRU(102a, 102b, 102c)의 유저를 인증하는 것, 베어러 활성/비활성, WTRU(102a, 102b, 102c)의 초기 연결 동안 특정 서빙 게이트웨이를 선택하는 것 등등을 담당할 수도 있다. MME(162)는, GSM 또는 WCDMA와 같은 다른 무선 기술을 활용하는 다른 RAN(도시되지 않음)과 RAN(104) 사이를 전환하는 제어 플레인 기능을 또한 제공할 수도 있다.
서빙 게이트웨이(164)는 S1 인터페이스를 통해 RAN(104)의 eNode B(160a, 160b, 160c)의 각각에 연결될 수도 있다. 서빙 게이트웨이(164)는 일반적으로, WTRU(102a, 102b, 102c)로/로부터의 유저 데이터 패킷을 라우팅 및 포워딩한다. 서빙 게이트웨이(164)는 다른 기능, 예컨대 eNode B 간 핸드오버 동안 유저 플레인을 앵커링하는 것, 다운링크 데이터가 WTRU(102a, 102b, 102c)에 대해 이용가능할 때 페이징을 트리거하는 것, WTRU(102a, 102b, 102c)의 상황(context)를 관리하고 저장하는 것 등등을 또한 수행할 수도 있다.
서빙 게이트웨이(164)는, WTRU(102a, 102b, 102c)와 IP 대응 디바이스 사이의 통신을 용이하게 하기 위해, 인터넷(110)과 같은 패킷 교환 네트워크를 WTRU(102a, 102b, 102c)에 제공할 수도 있는 PDN 게이트웨이(166)에 또한 연결될 수도 있다.
코어 네트워크(107)는 다른 네트워크와의 통신을 용이하게 할 수도 있다. 예를 들면, 코어 네트워크(107)는, WTRU(102a, 102b, 102c)와 전통적인 지상 회선(land-line) 통신 디바이스 사이의 통신을 용이하게 하기 위해, PSTN(108)과 같은 회선 교환 네트워크에 대한 액세스를 WTRU(102a, 102b, 102c)에게 제공할 수도 있다. 예를 들면, 코어 네트워크(107)는, 코어 네트워크(107)와 PSTN(108) 사이의 인터페이스로서 기능하는 IP 게이트웨이(예를 들면, IP 멀티미디어 서브시스템(IP multimedia subsystem; IMS) 서버)를 포함할 수도 있거나, 또는 그 IP 게이트웨이와 통신할 수도 있다. 또한, 코어 네트워크(107)는, 다른 서비스 공급자에 의해 소유되는 및/또는 운영되는 다른 유선 또는 무선 네트워크를 포함할 수도 있는 네트워크(112)에 대한 액세스를 WTRU(102a, 102b, 102c)에게 제공할 수도 있다.
도 14e는 한 실시형태에 따른 RAN(105)과 코어 네트워크(109)의 시스템 도면이다. RAN(105)은, 무선 인터페이스(117)를 통해 WTRU(102a, 102b, 102c)와 통신하기 위해 IEEE 802.16 무선 기술을 활용하는 액세스 서비스 네트워크(access service network; ASN)일 수도 있다. 하기에 더 논의되는 바와 같이, WTRU(102a, 102b, 102c), RAN(105), 및 코어 네트워크(109)의 상이한 기능적 엔티티 사이의 통신 링크는 기준 포인트(reference point)으로서 정의될 수도 있다.
도 14e에 도시된 바와 같이, RAN(105)은 기지국(180a, 180b, 180c) 및 ASN 게이트웨이(182)를 포함할 수도 있지만, RAN(105)은, 실시형태와 여전히 일치하면서, 임의의 수의 기지국 및 ASN 게이트웨이를 포함할 수도 있다는 것을 알 수 있을 것이다. 기지국(180a, 180b, 180c) 각각은, RAN(105) 내의 특정 셀(도시되지 않음)과 관련될 수도 있고 무선 인터페이스(117)를 통해 WTRU(102a, 102b, 102c)와 통신하기 위한 하나 이상의 트랜시버를 포함할 수도 있다. 일 실시형태에서, 기지국(180a, 180b, 180c)은 MIMO 기술을 구현할 수도 있다. 따라서, 기지국(180a)은, 예를 들면, WTRU(102a)로 무선 신호를 송신하고 그 WTRU(102a)로부터 무선 신호를 수신하기 위해 다수의 안테나를 사용할 수도 있다. 또한, 기지국(180a, 180b, 180c)은, 핸드오프 트리거링(handoff triggering), 터널 확립, 무선 리소스 관리, 트래픽 분류, 서비스 품질(quality of service; QoS) 정책 강화(enforcement) 등등과 같은 이동성 관리 기능을 제공할 수도 있다. ASN 게이트웨이(182)는 트래픽 애그리게이션 포인트로서 기능할 수도 있으며 페이징, 가입자 프로파일의 캐싱, 코어 네트워크(109)로의 라우팅 등등을 담당할 수도 있다.
WTRU(102a, 102b, 102c)와 RAN(105) 사이의 무선 인터페이스(117)는, IEEE 802.16 명세(specification)를 구현하는 R1 기준 포인트로서 정의될 수도 있다. 또한, WTRU(102a, 102b, 102c)의 각각은 코어 네트워크(109)와의 논리 인터페이스(logical interface)(도시되지 않음)를 확립할 수도 있다. WTRU(102a, 102b, 102c)와 코어 네트워크(109) 사이의 논리 인터페이스는 R2 기준 포인트로서 정의될 수도 있는데, R2 기준 포인트는 인증(authentication), 인가(authorization), IP 호스트 구성 관리, 및/또는 이동성 관리를 위해 사용될 수도 있다.
기지국(180a, 180b, 180c) 각각의 사이의 통신 링크는, WTRU 핸드오버 및 기지국 사이의 데이터의 전송을 용이하게 하기 위한 프로토콜을 포함하는 R8 기준 포인트로서 정의될 수도 있다. 기지국(180a, 180b, 180c)과 ASN 게이트웨이(182) 사이의 통신 링크는 R6 기준 포인트로서 정의될 수도 있다. R6 기준 포인트는 WTRU(102a, 102b, 100c)의 각각과 관련된 이동성 이벤트에 기초하여 이동성 관리를 용이하게 하기 위한 프로토콜을 포함할 수도 있다.
도 14e에 도시된 바와 같이, RAN(105)은 코어 네트워크(109)에 연결될 수도 있다. RAN(105)과 코어 네트워크(109) 사이의 통신 링크는, 예를 들면, 데이터 전송 및 이동성 관리 성능을 용이하게 하기 위한 프로토콜을 포함하는 R3 기준 포인트로서 정의될 수도 있다. 코어 네트워크(109)는 모바일 IP 홈 에이전트(mobile IP home agent; MIP-HA)(184), 인증, 인가, 계정(authentication, authorization, accounting; AAA) 서버(186), 및 게이트웨이(188)를 포함할 수도 있다. 상기 엘리먼트의 각각이 코어 네트워크(109)의 일부로서 묘사되지만, 이들 엘리먼트 중 임의의 하나는 코어 네트워크 오퍼레이터 이외의 엔티티에 의해 소유되고 및/또는 그 엔티티에 의해 동작될 수도 있다는 것을 알 수 있을 것이다.
MIP-HA는 IP 어드레스 관리를 담당할 수도 있고, WTRU(102a, 102b, 102c)가 상이한 ASN 및/또는 상이한 코어 네트워크 사이에서 로밍하는 것을 가능하게 할 수도 있다. MIP-HA(184)는, WTRU(102a, 102b, 102c)와 IP 대응 디바이스 사이의 통신을 용이하게 하기 위해, 패킷 교환 네트워크, 예컨대 인터넷(110)에 대한 액세스를 WTRU(102a, 102b, 102c)에게 제공할 수도 있다. AAA 서버(186)는 유저 인증 및 유저 서비스 지원을 담당할 수도 있다. 게이트웨이(188)는 다른 네트워크와의 네트워킹을 용이하게 할 수도 있다. 예를 들면, 게이트웨이(188)는, WTRU(102a, 102b, 102c)와 전통적인 지상 회선 통신 디바이스 사이의 통신을 용이하게 하기 위해, PSTN(108)과 같은 회선 교환 네트워크에 대한 액세스를 WTRU(102a, 102b, 102c)에게 제공할 수도 있다. 또한, 게이트웨이(188)는, 다른 서비스 공급자에 의해 소유되는 및/또는 운영되는 다른 유선 또는 무선 네트워크를 포함할 수도 있는 네트워크(112)에 대한 액세스를 WTRU(102a, 102b, 102c)에게 제공할 수도 있다.
도 14e에 도시되지 않지만, RAN(105)은 다른 ASN에 연결될 수도 있고 코어 네트워크(109)는 다른 코어 네트워크에 연결될 수도 있다는 것을 알 수 있을 것이다. RAN(105)과 다른 ASN 사이의 통신 링크는 R4 기준 포인트로서 정의될 수도 있는데, R4 기준 포인트는 RAN(105)과 다른 ASN 사이에서 WTRU(102a, 102b, 102c)의 이동성을 조정하기(coordinating) 위한 프로토콜을 포함할 수도 있다. 코어 네트워크(109)와 다른 코어 네트워크 사이의 통신 링크는 R5 기준으로서 정의될 수도 있는데, R5 기준은 홈 코어 네트워크와 방문 코어 네트워크(visited core network) 사이에서의 상호연동(interworking)을 용이하게 하기 위한 프로토콜을 포함할 수도 있다.
본원에서 설명되는 프로세스와 수단은 임의의 조합으로 적용될 수도 있고, 다른 무선 기술에 그리고 다른 서비스에 적용될 수도 있다.
WTRU는 물리적 디바이스의 아이덴티티, 또는 가입 관련 아이덴티티, 예를 들면, MSISDN, SIP URL 등등과 같은 유저의 아이덴티티를 참조할 수도 있다. WTRU는 애플리케이션 기반 아이덴티티, 예를 들면, 애플리케이션마다 사용될 수도 있는 유저명을 참조할 수도 있다.
피쳐 및 엘리먼트가 특정 조합으로 위에서 설명되었지만, 기술분야에서 통상의 지식을 가진 자라면, 각각의 피쳐 또는 엘리먼트는 단독으로 사용될 수 있거나 또는 다른 피쳐 및 엘리먼트와의 임의의 조합으로 사용될 수도 있다는 것을 알 수 있을 것이다. 또한, 본원에서 설명되는 방법은, 컴퓨터 또는 프로세서에 의한 실행을 위해 컴퓨터 판독가능 매체에 통합되는 컴퓨터 프로그램, 소프트웨어, 또는 펌웨어로 구현될 수도 있다. 컴퓨터 판독가능 매체의 예는 전자 신호(유선 또는 무선 연결을 통해 송신됨) 및 컴퓨터 판독가능 저장 매체를 포함한다. 컴퓨터 판독가능 저장 매체의 예는, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 레지스터, 캐시 메모리, 반도체 메모리 디바이스, 내장 하드 디스크 및 착탈식 디스크와 같은 자기 매체, 광자기 매체, 및 CD-ROM 디스크 및 디지털 다기능 디스크(digital versatile disk; DVD)와 같은 광학 매체를 포함하지만, 이들에 한정되는 것은 아니다. 소프트웨어와 관련하는 프로세서는, WTRU, UE, 단말, 기지국, RNC, 또는 임의의 호스트 컴퓨터에서 사용하기 위한 무선 주파수 트랜시버를 구현하기 위해 사용될 수도 있다.

Claims (35)

  1. 무선 송수신 유닛(wireless transmit/receive unit; WTRU)에 있어서,
    프로세서를 포함하고,
    상기 프로세서는,
    비디오에 대한 제1 데이터 세그먼트 - 상기 제1 데이터 세그먼트는 제1 복잡도 레벨에 관련된 것임 - 를 요청하고,
    상기 제1 데이터 세그먼트를 디코딩하고,
    상기 제1 데이터 세그먼트를 디코딩하는 중의 지속기간 동안에 소비되는 전력에 기초하여 상기 제1 복잡도 레벨에 대한 전력 소비 파라미터를 결정하고,
    상기 전력 소비 파라미터를 사용하여 상기 비디오의 제2 데이터 세그먼트를 요청하기 위한 제2 복잡도 레벨을 결정하고,
    상기 제2 복잡도 레벨에서 상기 비디오의 상기 제2 데이터 세그먼트를 요청하도록 구성되는 것인, 무선 송수신 유닛(WTRU).
  2. 제1항에 있어서,
    상기 제1 복잡도 레벨에 대한 상기 전력 소비 파라미터는 전력 소비율 또는 소비된 전력의 양인 것인, 무선 송수신 유닛(WTRU).
  3. 제1항에 있어서,
    상기 프로세서는 또한,
    상기 비디오의 길이를 결정하고,
    상기 전력 소비 파라미터를 사용하여 상기 비디오의 상기 제2 데이터 세그먼트를 플레이하는데 필요한 전력을 계산하고,
    상기 비디오의 상기 제2 데이터 세그먼트를 플레이하는데 필요한 상기 전력에 기초하여 상기 제2 복잡도 레벨을 결정함으로써,
    상기 전력 소비 파라미터를 사용하여 상기 제2 복잡도 레벨을 결정하도록 구성되는 것인, 무선 송수신 유닛(WTRU).
  4. 제1항에 있어서,
    상기 프로세서는 또한,
    상기 제1 복잡도 레벨에 대한 상기 전력 소비 파라미터가 상기 비디오를 플레이하는데 사용되는 전력이 남아있는 배터리 용량을 초과할 수 있음을 나타낸다고, 결정하고,
    상기 남아있는 배터리 용량으로 상기 비디오의 상기 제2 데이터 세그먼트가 플레이될 수 있도록 상기 제2 복잡도 레벨을 선택함으로써,
    상기 전력 소비 파라미터를 사용하여 상기 비디오의 상기 제2 데이터 세그먼트를 요청하기 위한 상기 제2 복잡도 레벨을 결정하도록 구성되는 것인, 무선 송수신 유닛(WTRU).
  5. 제1항에 있어서,
    상기 프로세서는 또한,
    상기 제1 복잡도 레벨에 대한 상기 전력 소비 파라미터가 상기 제2 복잡도 레벨이 전력을 절약할 수 있음을 나타낸다고, 결정함으로써,
    상기 제1 복잡도 레벨에 대한 상기 전력 소비 파라미터를 사용하여 상기 제2 데이터 세그먼트를 요청하기 위한 상기 제2 복잡도 레벨을 결정하도록 구성되는 것인, 무선 송수신 유닛(WTRU).
  6. 제1항에 있어서,
    상기 프로세서는 또한, 제1 배터리 레벨 및 제2 배터리 레벨을 결정하도록 구성되는 것인, 무선 송수신 유닛(WTRU).
  7. 제1항에 있어서,
    상기 프로세서는 또한, 상기 제1 데이터 세그먼트에 대한 상기 제1 복잡도 레벨을 수신하도록 구성되는 것인, 무선 송수신 유닛(WTRU).
  8. 제1항에 있어서,
    상기 프로세서는 또한,
    상기 제1 복잡도 레벨에 대한 상기 전력 소비 파라미터가, 상기 제2 복잡도 레벨이 비디오 품질을 향상시킬 수 있음 및 상기 WTRU가 상기 제2 복잡도 레벨에서 상기 비디오의 상기 제2 데이터 세그먼트를 플레이하기에 충분한 전력을 가지고 있음을 나타낸다고, 결정함으로써,
    상기 제1 복잡도 레벨에 대한 상기 전력 소비 파라미터를 사용하여 상기 비디오의 상기 제2 데이터 세그먼트를 요청하기 위한 상기 제2 복잡도 레벨을 결정하도록 구성되는 것인, 무선 송수신 유닛(WTRU).
  9. 무선 송수신 유닛(wireless transmit/receive unit; WTRU)에 있어서,
    프로세서를 포함하고,
    상기 프로세서는,
    비디오에 대한 제1 데이터 세그먼트에 대한 제1 복잡도 레벨을 수신하고,
    상기 제1 데이터 세그먼트를 요청하고,
    상기 제1 데이터 세그먼트를 디코딩하고,
    상기 제1 데이터 세그먼트를 디코딩하는 중의 지속기간 동안에 소비되는 전력에 기초하여 상기 제1 복잡도 레벨에 대한 전력 소비 파라미터를 결정하고,
    상기 전력 소비 파라미터를 사용하여 상기 비디오의 제2 데이터 세그먼트를 요청하기 위한 제2 복잡도 레벨을 결정하고,
    상기 제2 복잡도 레벨에서 상기 제2 데이터 세그먼트를 요청하도록
    구성되는 것인, 무선 송수신 유닛(WTRU).
  10. 제9항에 있어서,
    상기 제1 복잡도 레벨에 대한 상기 전력 소비 파라미터는 전력 소비율 또는 소비된 전력의 양인 것인, 무선 송수신 유닛(WTRU).
  11. 제9항에 있어서,
    상기 프로세서는 또한,
    상기 비디오의 길이를 결정하고,
    상기 전력 소비 파라미터를 사용하여 상기 비디오의 상기 제2 데이터 세그먼트를 플레이하는데 필요한 전력을 계산하고,
    상기 비디오의 상기 제2 데이터 세그먼트를 플레이하는데 필요한 상기 전력에 기초하여 상기 제2 복잡도 레벨을 결정함으로써,
    상기 전력 소비 파라미터를 사용하여 상기 제2 복잡도 레벨을 결정하도록 구성되는 것인, 무선 송수신 유닛(WTRU).
  12. 제9항에 있어서,
    상기 프로세서는 또한,
    상기 제1 복잡도 레벨에 대한 상기 전력 소비 파라미터가 상기 비디오를 플레이하는데 사용되는 전력이 남아있는 배터리 용량을 초과할 수 있음을 나타낸다고, 결정하고,
    상기 남아있는 배터리 용량 내에서 상기 비디오의 상기 제2 데이터 세그먼트가 플레이될 수 있도록 상기 제2 복잡도 레벨을 선택함으로써,
    상기 전력 소비 파라미터를 사용하여 상기 비디오의 상기 제2 데이터 세그먼트를 요청하기 위한 상기 제2 복잡도 레벨을 결정하도록 구성되는 것인, 무선 송수신 유닛(WTRU).
  13. 제9항에 있어서,
    상기 프로세서는 또한,
    상기 전력 소비 파라미터가 상기 제2 복잡도 레벨이 전력을 절약할 수 있음을 나타낸다고, 결정함으로써,
    상기 제1 복잡도 레벨에 대한 상기 전력 소비 파라미터를 사용하여 상기 비디오의 상기 제2 데이터 세그먼트를 요청하기 위한 상기 제2 복잡도 레벨을 결정하도록 구성되는 것인, 무선 송수신 유닛(WTRU).
  14. 제9항에 있어서,
    상기 프로세서는 또한, 제1 배터리 레벨 및 제2 배터리 레벨을 결정하도록 구성되는 것인, 무선 송수신 유닛(WTRU).
  15. 제9항에 있어서,
    상기 프로세서는 또한,
    상기 제1 복잡도 레벨에 대한 상기 전력 소비 파라미터가, 상기 제2 복잡도 레벨이 비디오 품질을 향상시킬 수 있음 및 상기 WTRU가 상기 제2 복잡도 레벨에서 상기 비디오의 상기 제2 데이터 세그먼트를 플레이하기에 충분한 전력을 가지고 있음을 나타낸다고, 결정함으로써,
    상기 전력 소비 파라미터를 사용하여 상기 비디오의 상기 제2 데이터 세그먼트를 요청하기 위한 상기 제2 복잡도 레벨을 결정하도록 구성되는 것인, 무선 송수신 유닛(WTRU).
  16. 전력 인식 스트리밍을 위한 방법에 있어서,
    무선 송수신 유닛(wireless transmit/receive unit; WTRU)을 통해, 비디오의 제1 데이터 세그먼트에 대한 제1 복잡도 레벨을 수신하는 단계;
    상기 제1 데이터 세그먼트를 요청하는 단계;
    상기 제1 데이터 세그먼트를 디코딩하는 단계;
    상기 제1 데이터 세그먼트를 디코딩하는 중의 지속기간 동안에 소비되는 전력에 기초하여 상기 제1 복잡도 레벨에 대한 전력 소비 파라미터를 결정하는 단계;
    상기 전력 소비 파라미터를 사용하여 상기 비디오의 제2 데이터 세그먼트를 요청하기 위한 제2 복잡도 레벨을 결정하는 단계; 및
    상기 제2 복잡도 레벨에서 상기 비디오의 상기 제2 데이터 세그먼트를 요청하는 단계
    를 포함하는, 전력 인식 스트리밍을 위한 방법.
  17. 제16항에 있어서,
    상기 제1 복잡도 레벨에 대한 상기 전력 소비 파라미터는 전력 소비율 또는 소비된 전력의 양인 것인, 전력 인식 스트리밍을 위한 방법.
  18. 제16항에 있어서,
    상기 제1 복잡도 레벨에 대한 상기 전력 소비 파라미터를 사용하여 상기 비디오의 상기 제2 데이터 세그먼트를 요청하기 위한 상기 제2 복잡도 레벨을 결정하는 단계는,
    상기 비디오의 길이를 결정하는 단계;
    상기 전력 소비 파라미터를 사용하여 상기 비디오의 상기 제2 데이터 세그먼트를 플레이하는데 필요한 전력을 계산하는 단계; 및
    상기 비디오의 상기 제2 데이터 세그먼트를 플레이하는데 필요한 상기 전력에 기초하여 상기 제2 복잡도 레벨을 결정하는 단계
    를 포함하는 것인, 전력 인식 스트리밍을 위한 방법.
  19. 제16항에 있어서,
    상기 제1 복잡도 레벨에 대한 상기 전력 소비 파라미터를 사용하여 상기 비디오의 상기 제2 데이터 세그먼트를 요청하기 위한 상기 제2 복잡도 레벨을 결정하는 단계는,
    상기 전력 소비 파라미터가 상기 비디오를 플레이하는데 사용되는 전력이 남아있는 배터리 용량을 초과할 수 있음을 나타낸다고, 결정하는 단계; 및
    상기 남아있는 배터리 용량 내에서 상기 비디오의 상기 제2 데이터 세그먼트가 플레이될 수 있도록 상기 제2 복잡도 레벨을 선택하는 단계
    를 포함하는 것인, 전력 인식 스트리밍을 위한 방법.
  20. 제16항에 있어서,
    상기 전력 소비 파라미터를 사용하여 상기 비디오의 상기 제2 데이터 세그먼트를 요청하기 위한 상기 제2 복잡도 레벨을 결정하는 단계는,
    상기 전력 소비 파라미터가 상기 제2 복잡도 레벨이 전력을 절약할 수 있음을 나타낸다고, 결정하는 단계
    를 포함하는 것인, 전력 인식 스트리밍을 위한 방법.
  21. 제16항에 있어서,
    제1 배터리 레벨 및 제2 배터리 레벨을 결정하는 단계를 더 포함하는, 전력 인식 스트리밍을 위한 방법.
  22. 제16항에 있어서,
    상기 제1 복잡도 레벨에 대한 상기 전력 소비 파라미터를 사용하여 상기 비디오의 상기 제2 데이터 세그먼트를 요청하기 위한 상기 제2 복잡도 레벨을 결정하는 단계는,
    상기 전력 소비 파라미터가, 상기 제2 복잡도 레벨이 비디오 품질을 향상시킬 수 있음 및 상기 WTRU가 상기 제2 복잡도 레벨에서 상기 비디오를 플레이하기에 충분한 전력을 가지고 있음을 나타낸다고, 결정하는 단계
    를 포함하는 것인, 전력 인식 스트리밍을 위한 방법.

  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
KR1020157027754A 2013-03-06 2014-03-06 비디오 스트리밍을 위한 전력 인식 적응 KR101879318B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201361773379P 2013-03-06 2013-03-06
US61/773,379 2013-03-06
US201461936838P 2014-02-06 2014-02-06
US61/936,828 2014-02-06
US61/936,838 2014-02-06
PCT/US2014/020999 WO2014138331A2 (en) 2013-03-06 2014-03-06 Power aware adaptation for video streaming

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020187019821A Division KR101991214B1 (ko) 2013-03-06 2014-03-06 비디오 스트리밍을 위한 전력 인식 적응

Publications (2)

Publication Number Publication Date
KR20150128848A KR20150128848A (ko) 2015-11-18
KR101879318B1 true KR101879318B1 (ko) 2018-07-18

Family

ID=50434270

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157027754A KR101879318B1 (ko) 2013-03-06 2014-03-06 비디오 스트리밍을 위한 전력 인식 적응

Country Status (2)

Country Link
KR (1) KR101879318B1 (ko)
WO (1) WO2014138331A2 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014172654A1 (en) 2013-04-19 2014-10-23 Huawei Technologies Co., Ltd. Media quality information signaling in dynamic adaptive video streaming over hypertext transfer protocol
KR102273143B1 (ko) * 2014-10-16 2021-07-05 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 스틸 이미지 기반 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
US10264269B2 (en) 2014-10-13 2019-04-16 Apple Inc. Metadata hints to support best effort decoding for green MPEG applications
KR102185876B1 (ko) * 2014-10-16 2020-12-02 삼성전자주식회사 무선 네트워크 환경에서 http 적응적 스트리밍 방법 및 장치
US9860294B2 (en) 2014-12-24 2018-01-02 Intel Corporation Media content streaming
EP3968645A1 (en) * 2015-12-11 2022-03-16 InterDigital Madison Patent Holdings, SAS Scheduling multiple-layer video segments
FR3046014A1 (fr) 2015-12-21 2017-06-23 Orange Procede de gestion de ressources sur un terminal
US10437304B2 (en) 2016-03-15 2019-10-08 Roku, Inc. Brown out condition detection and device calibration
FR3074629A1 (fr) * 2017-12-05 2019-06-07 Orange Procede de gestion de la consommation electrique d'un dispositif electronique.
CN110493609B (zh) * 2019-08-07 2022-02-01 咪咕文化科技有限公司 直播方法、终端及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080110787A (ko) * 2006-03-31 2008-12-19 모토로라 인코포레이티드 무선 통신 디바이스에서의 스트리밍 멀티미디어의 리디렉션
KR20110106419A (ko) * 2009-01-29 2011-09-28 마이크로소프트 코포레이션 적응적 비디오 스트리밍용의 가변 비트 레이트 및 동적 해상도를 이용한 다중 비트 레이트 비디오 인코딩

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040158878A1 (en) * 2003-02-07 2004-08-12 Viresh Ratnakar Power scalable digital video decoding
TW201717650A (zh) * 2012-07-09 2017-05-16 Vid衡器股份有限公司 功綠知覺視訊解碼及串流

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080110787A (ko) * 2006-03-31 2008-12-19 모토로라 인코포레이티드 무선 통신 디바이스에서의 스트리밍 멀티미디어의 리디렉션
KR20110106419A (ko) * 2009-01-29 2011-09-28 마이크로소프트 코포레이션 적응적 비디오 스트리밍용의 가변 비트 레이트 및 동적 해상도를 이용한 다중 비트 레이트 비디오 인코딩

Also Published As

Publication number Publication date
WO2014138331A3 (en) 2014-12-04
KR20150128848A (ko) 2015-11-18
WO2014138331A2 (en) 2014-09-12

Similar Documents

Publication Publication Date Title
JP6890158B2 (ja) ビデオストリーミングに対する電力認識適応
KR101879318B1 (ko) 비디오 스트리밍을 위한 전력 인식 적응
JP7072592B2 (ja) 品質ドリブンストリーミング
US10063921B2 (en) Power aware adaptation for video streaming
JP6609598B2 (ja) 電力認識型ビデオ復号およびストリーミング
TW201444342A (zh) 功率感知視訊串流複雜性感知視訊編碼

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant