KR20060013373A - 매체 프레임의 출력 품질을 설정하는 방법 및 시스템 - Google Patents
매체 프레임의 출력 품질을 설정하는 방법 및 시스템 Download PDFInfo
- Publication number
- KR20060013373A KR20060013373A KR1020057020023A KR20057020023A KR20060013373A KR 20060013373 A KR20060013373 A KR 20060013373A KR 1020057020023 A KR1020057020023 A KR 1020057020023A KR 20057020023 A KR20057020023 A KR 20057020023A KR 20060013373 A KR20060013373 A KR 20060013373A
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- output quality
- quality
- medium
- state
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/127—Prioritisation of hardware or computational resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
- H04N17/004—Diagnosis, testing or measuring for television systems or their details for digital television systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Television Signal Processing For Recording (AREA)
- Facsimiles In General (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
본 발명은 다음 매체-프레임의 출력 품질을 설정하는 방법 및 시스템에 관한 것으로, 다음 매체-프레임의 복수의 출력 품질들의 출력 품질을 제공하게 한 애플리케이션 수단; 및 다음 매체-프레임의 출력 품질을 결정하기 위해서 처리시간 및 이전 매체-프레임의 출력 품질을 이용하는 자기-학습 제어 방법에 기초하여 다음 매체-프레임의 출력 품질을 설정하게 하는 제어수단을 포함한다.
매체-프레임, 자기-학습 제어 방법, 제어 수단, 에이전트 환경, 시행착오 탐색
Description
본 발명은 다음 매체-프레임의 출력 품질을 설정하는 방법에 관한 것으로, 출력 품질은 매체 처리 애플리케이션에 의해 제공되며; 매체 처리 애플리케이션은 다음 매체-프레임의 복수의 출력 품질들을 제공하게 설계된다.
본 발명은 다음 매체-프레임의 복수의 출력 품질들의 출력 품질을 제공하게 한 애플리케이션 수단; 및 다음 매체-프레임의 출력 품질을 결정하도록 한 제어수단을 포함하는, 다음 매체-프레임의 출력 품질을 설정하는 시스템에 관한 것이다.
본 발명은 또한 이러한 방법을 수행하게 설계된 컴퓨터 프로그램 제품에 관한 것이다.
본 발명은 또한 이러한 컴퓨터 프로그램 제품을 포함하는 저장 디바이스에 관한 것이다.
본 발명은 또한 이러한 시스템을 포함하는 텔레비전에 관한 것이다.
이러한 방법 및 시스템의 실시예는 WO2002/019095 호에 기재되어 있다. 여 기서는 VCR, DVD-RW, 하드-디스크와 같은 시스템에서 혹은 인터넷 링크 상에서 알고리즘 및 스케일러블 프로그램 가능 처리 디바이스를 작동시키는 방법을 기술한다. 알고리즘들은 매체-프레임들, 예를 들면 비디오 프레임들을, 처리의 복수의 품질 레벨들을 제공하면서 처리하게 설계된다. 각각의 품질 레벨은 일 분량의 자원들을 필요로 한다. 서로 다른 품질 레벨들에 대한 서로 다른 요건들에 따라, 매체-프레임들의 수락가능의 출력 품질을 제공하기 위해서, 이용 가능의 자원들의 버짓들(budgets)이 알고리즘들에 할당된다. 그러나, 매체 스트림의 콘텐트는 시간에 따라 변하기 때문에 시간에 따라 매체 처리 알고리즘의 자원 요건들이 달라지게 된다. 자원들은 유한하기 때문에, 데드라인 놓침이 일어날 수 있다. 이를 완화하기 위해서, 매체 알고리즘들은 내정된 품질 레벨들보다 낮게 작동함으로써 이에 대응하여 자원요구를 낮출 수 있다.
본 발명의 목적은 매체-프레임의 품질을 향상이 되게 설정하는 전술한 바에 따른 방법을 제공하는 것이다. 이 목적을 달성하기 위해서, 방법은 다음 매체-프레임의 출력 품질을 결정하기 위해 처리시간 및 이전 매체-프레임의 출력 품질을 이용하는 자기-학습 제어 방법에 기초하여, 다음 매체-프레임 출력 품질을 설정하는 단계를 포함한다.
본 발명에 따른 방법의 실시예는 청구항 2에 기재되어 있으며, 방법은 상기 이전 매체-프레임을 처리하는 단계; 상기 처리된 이전 매체-프레임의 상대적 프로그레스 값, 상기 처리된 이전 매체-프레임의 스케일링된 버짓 값, 및 상기 처리된 이전 매체-프레임의 상기 출력 품질로 구성된 상태를 결정하는 단계; 상기 상태 및 상기 다음 매체-프레임의 가능한 출력 품질에 기초하여 레비뉴(revenue)를 결정하는 단계를 포함한다.
본 발명에 따른 방법의 실시예는 청구항 3에 기재되어 있고, 상기 레비뉴는 놓친 데드라인 수, 상기 이전 매체-프레임의 상기 출력 품질, 및 품질 변경에 기초한다.
본 발명에 따른 방법의 실시예는 청구항 4에 기재되어 있고, 유한한 수의 상태들에 대한 레비뉴가 결정되며, 상기 유한한 수의 상태들은 유한한 한 세트의 스케일링된 버짓 값들 및 유한한 한 세트의 상대적 프로그레스 값들에 의해 결정된다.
본 발명에 따른 방법의 실시예는 청구항 5에 기재되어 있고, 상기 처리된 이전 매체-프레임의 상기 출력 품질에서만 다른 상태들을 감소시킴으로써 상기 레비뉴가 결정되는 상태들의 수를 감소시키는 단계를 포함한다.
본 발명의 목적은 매체-프레임의 품질을 향상이 되게 설정하는 서두에 기술한 바에 따른 시스템을 제공하는 것이다. 이 목적을 달성하기 위해서, 시스템은 상기 다음 매체-프레임의 복수의 출력 품질들의 상기 출력 품질을 제공하게 한 애플리케이션 수단; 및 상기 다음 매체-프레임의 상기 출력 품질을 결정하기 위해서 처리시간 및 이전 매체-프레임의 출력 품질을 이용하는 자기-학습 제어 방법에 기초하여 상기 다음 매체-프레임의 상기 출력 품질을 설정하게 하는 제어수단을 포함한다.
본 발명에 따른 시스템의 실시예들은 청구항 7 및 8에 기재되어 있다.
본 발명의 이들 및 다른 특징들은 다음 도면들에 도시된 바와 같이 이하 기술되는 실시예들로부터 명백할 것이며 이들을 참조하여 기술한다.
도 1은 강화학습에서의 에이전트 환경 상호작용을 도시한 도면.
도 2는 기본 스케일러블 비디오 처리 작업을 도시한 도면.
도 3은 예로서의 타임라인에 의해 작업의 처리 거동을 도시한 도면.
도 4는 또 다른 예로서의 타임라임에 의해 작업의 처리 거동을 도시한 도면.
도 5는 b = P/2에서의 예로서의 타이라임을 도시한 도면.
도 6은 b = P/2에서의 또 다른 예로서의 타이라임을 도시한 도면.
도 7은 마코프 정책들의 공간에서의 평면을 도시한 도면.
도 8은 3개의 품질 레벨들에 대한 예로서의 상태 공간을 도시한 도면.
도 9는 본 발명의 따른 시스템의 주요 부분들을 개략적으로 도시한 도면.
도 1은 강화학습에서 에이전트 환경 상호작용을 도시한 것이다. 강화학습(RL)은 상호작용에 의한 목적 지향의 학습에 대한 계산적 방법으로서, 예를 들면 R. S. Sutton and A. G. Barto, Reinforcement Learning: an introduction, MIT Press, Cambridge, MA 1998을 참조할 수 있다. 이것은 수치 레비뉴 신호를 최대로 하기 위해서 무엇을 할 것인지-상태들을 행동들에 매핑하는 방법-를 학습하는 것이다. 학습자 및 의사 결정자를 에이전트라고 한다. 에이전트가 상호관계를 맺는 것, 에이전트 외부의 모든 것을 포함하는 이것을 환경이라고 한다. 에이전트는 어떤 행동들을 취할지는 알지 못하나 어떤 행동들을 시도함으로써 가장 큰 레비뉴를 주는 행동들을 발견해야 한다. 행동은 즉각적인 레비뉴에 영향만이 아니라 다음 상황에도 영향을 미칠 수 있고, 이에 의해, 모든 후속의 레비뉴들에 영향을 미칠 수 있다. 이들 두 특징들 -시행착오 탐색 및 지연된 레비뉴- 은 RL의 두 가지 가장 중요한 구별되는 특징들이다.
RL은 학습방법들이 아니라 학습문제를 특징화함으로써 정의된다. 이러한 문제를 해결하는데 적합한 어떤 방법이, RL 방법인 것으로 간주된다. RL에서 해결할 것들 중 하나는 탐험(exploration)과 개척(exploitation) 간의 절충이다. 많은 레비뉴를 얻기 위해서, RL 에이전트는 과거에 시도하여 보수 창출에 효과적인 것으로 나타난 행동들을 취해야 한다. 그러나, 이러한 행동들을 발견하기 위해서는 전에 선택해본 적이 없는 행동들을 시도해야 한다. 에이전트는 레비뉴를 얻기 위해서 이미 알고 있는 것을 개척해야 하지만, 미래에 보다 나은 행동을 선택하기 위해서 탐험도 해야 한다. 딜레마는 탐험이든 개척이든 속행하기만 하면 작업에 실패할 수 있다는 것이다. 에이전트는 다양한 행동들을 시도해야 하며 점진적으로, 최상인 것으로 나타나는 행동들을 취해야 한다. 통계적 작업에서, 기대되는 레비뉴의 신뢰할 수 있는 추정을 얻기 위해서 각각의 행동이 수회에 걸쳐 시도되어야 한다.
에이전트 및 환경 외에, RL 시스템의 3가지 서브-요소들로서, 정책(policy), 레비뉴 함수, 및 값 함수를 확인할 수 있다. 정책은 주어진 시간에 에이전트가 행동하는 방법을 정의한다. 정책은 환경의 상태들로부터 이들 상태들에서 취해질 행동들로의 매핑이다. 일반적으로, 정책들은 통계적일 수 있다. 레비뉴 함수는 RL 문제에서 목적을 정의한다. 이것은 환경의 각각의 인지된 상태(혹은 상태-행동 쌍)을, 이 상태의 본질적인 바람직성을 나타내는 하나의 수치, 즉 레비뉴에 매핑한다. RL 에이전트의 유일한 목적은 궁극적으로 받는 총 레비뉴를 최대화하는 것이다. 레비뉴 함수들은 통계적일 수 있다. 값 함수는 궁극적으로 어떤 것이 적합한지를 명시한다. 상태의 값은 그 상태부터 시작해서, 미래에 걸쳐 에이전트가 축적할 것으로 기대할 수 있는 총 레비뉴량이다. 레비뉴들은 환경의 상태들의 즉각적이고 본질적 바람직성을 결정하는 반면, 값들은 정책을 적용하여 나타날 상태들을 고려한 후에 상태의 장기 바람직성, 및 이들 상태들에서 얻을 수 있는 레비뉴들을 나타낸다. 값들은 추정해야 하는 것이며 에이전트가 전체 수명동안 행하는 일련의 관찰들로부터 다시 추정해야 한다.
에이전트(100) 및 환경(102)은 연속적으로 상호작용하며, 에이전트(100)는 행동들을 선택하고 환경(102)은 이들 행동들에 응답하여 에이전트에 새로운 상황들을 준다. 환경(102)은 에이전트(100)가 시간에 따라 최대가 되게 시도하는 레비뉴들인 특별한 숫자 값들을 발생시킨다. 에이전트(100) 및 환경은 일련의 이산적인 시간 단계들, t=0,1,2,3,... 각각에서 상호작용한다(102). 각 시간 단계 t에서, 에이전트(100)는 환경 상태의 어떤 표현 st ∈ S을 수신하며, 여기서 S는 환경상태들의 집합이며, 이를 기초로 행동 at ∈ A(st)을 선택하며, 여기서 A(st)는 상태(st)에서 취할 수 있는 행동들의 집합이다. 한 시간 단계 후에, 부분적으로 이의 행동의 결과로서, 에이전트(100)는 환경 상태의 새로운 표현인 st+1과 함께 레비뉴값 rt+1 ∈R을 수신한다.
각 시간 단계 t에서, 에이전트(100)는 상태들로부터 각각의 가능한 행동을 취할 확률들로의 매핑을 구현한다. 이 매핑을 에이전트의 정책이라고 하며, πt라 표기하고, 여기서 πt(s,a)는 st=2일 경우 at=a일 확률이다. 정책은 또한 확정적(deterministic)일 수 있는데, 이것은 각 상태가 단일 행동에 매핑됨을 의미한다. RL 방법들은 경험의 경과로서 에이전트(100)가 정책을 변경하는 방법을 명시한다. 에이전트의 목적은 개략적으로 종국에 받는 총 레비뉴량을 최대화하는 것이다.
RL에서, 에이전트(100)의 목적은 환경(102)에서 에이전트(100)로 보내는 특별한 레비뉴 신호에 관하여 공식화된다. 각 시간 단계 t>0에서, 레비뉴는 rt ∈ R인 단순한 숫자이다. 비공식적으로, 에이전트(100)의 목적은 자신이 받는 총 레비뉴량을 최대화하는 것이다. 이것은 즉각적인 레비뉴를 최대화하는 것이 아니라 종국의 누적 레비뉴를 최대화함을 의미한다. 에이전트(100)가 수행할 것으로 예상된다면, 레비뉴들을 최대화함에 있어 에이전트(100)가 목적들 또한 달성하게 하는 레비뉴들이 에이전트에 제공되어야 한다. 그러므로, 레비뉴들은 이들이 목적과 균형 을 이루도록 제공되어야 한다.
에이전트의 목적은 종국에 받는 레비뉴들을 최대화하는 것이다. 일반적으로, 예상 보답(return)이 최대가 될 것으로 예상되는데, 이 보답 Rt은 레비뉴 시퀀스의 어떤 특정의 함수로서 정의된다. 가장 단순한 경우에서, 보답은 레비뉴들의 합이다.
Rt = rt+1 + rt+2 + rt+3 +...+ rT (1)
여기서, T는 최종의 시간 단계이다. 이러한 방법은 최종 시간 단계를 자연히 알게 되는 애플리케이션들, 즉 에이전트-환경 상호작용이, 이를테면 게임 플레이, 미로 찾기, 혹은 어떤 종류의 반복된 상호작용과 같은 에피소드라 하는 서브-시퀀스들로 자연스럽게 나뉘어질 때, 적용된다. 각각의 에피소드는 종착 상태라 하는 특별한 상태로 끝나게 되고, 이에 이어 표준 출발상태로 혹은 표준 분포된 출발상태들 한 샘플로 리셋된다. 이러한 류의 에피소드들과의 작업을 에피소드 작업이라 한다.
한편, 많은 경우들에서 에이전트-환경 상호작용은 식별가능한 에피소드들로 자연스럽게 나뉘지 않고, 제한없이 계속적으로 진행된다. 이들은 연속 작업이라 한다. 연속작업에 있어 최종의 시간단계는 T = ∞이 될 것이므로, 최대화된 것인 보답은 자체가 무한대가 될 수도 있을 것이다. 필요로 되는 추가의 개념은 감액(discounting)이다. 이러한 방식에 따라, 에이전트(100)는 미래에 걸쳐 받는 감액된 레비뉴들의 합이 최대가 되도록 행동들의 선택을 시도한다. 특히, 예상된 감액된 보답이 최대가 되게 선택한다.
여기서, 는 0 ≤ ≤1인 파라미터로서, 감액율이라 한다. 감액율은 미래의 레비뉴들에서 현재의 값을 결정하는데, 미래에 k 시간 단계들에서 받는 레비뉴는 즉각 받았을 경우에 얻게 될 값의 단지 k-1 배의 값이 된다. <1이라면, 무한 합은 레비뉴 시퀀스 {rk}가 제한되어 있는 한 유한값을 갖는다. =0이라면, 에이전트(100)는 즉각적인 레비뉴들을 최대화하는 것에만 관심이 있는 점에서 '근시안적'이다. 이 1에 다가감에 따라, 목표 작업들은 미래의 레비뉴들을 보다 강력하게 고려하므로 에이전트(100)는 선견지명이 있게 된다.
대부분의 RL 알고리즘들은 값 함수들, 즉 에이전트(100)가 주어진 상태에서 얼마나 알맞은가(혹은 이전 상태에서 주어진 행동을 수행하기에 얼마나 알맞은가)를 추정하는 상태들의 함수들(혹은 상태-행동 쌍들)에 기초한다. '얼마나 알맞은가'라는 것은 예상될 수 있는 미래 레비뉴들, 즉 예상되는 보답에 관하여 정의된다. 에이전트(100)가 미래에 받기로 예상할 수 있는 레비뉴들은 어떤 행동들을 취할 것인가에 달려있다. 따라서, 값 함수들은 특정의 정책들에 관하여 정의된다.
정책(π)은 각 상태 s∈S 및 행동 a∈A(s)로부터, 상태 s에서 행동 a를 취할 확률 π(s,a)로의 매핑이다. 비공식적으로, 정책(π) 하에 상태(s)의 값은 Vπ(s)로 표기하며, 상태(s)에서 시작한 후 π에 따른 경우의 예상 보답이다.
유사하게, 정책(π) 하에 상태(s)에서 행동(a)를 취한 값은 Qπ(s;a)라 표기하고, s부터 시작하고, 행동(a)을 취하고, 그후에 정책(π)을 따른 경우 예상보답으로서 정의된다.
Qπ는 정책(π)에 대한 행동-값 함수라 한다.
상태(s)가 주어진 경우, 어떤 시간 단계에서 어떤 행동을 선택하기 위해서, 방법은 그리드(greedy) 거동을 하게 하, 즉 Q(s,a)가 최대가 되는 행동(a)을 선택하는 것이다. 이 방법은 즉각 레비뉴를 최대화하기 위해서 현재의 경험을 개척하지만, 그러나 하급의 행동들이 실제로 더 나을 수도 있을지 알기 위해 이들 행동을 탐험할 시간이 없다. 간단한 대안은 대부분의 시간을 그리드 거동하게 하는 것이지만, 때때로, 즉 확률(ε)을 가지고, 행동-값 추정들에 상관없이 행동을 무작위로, 균등하게, 선택하는 것이다. 이러한 근-그리디 행동 선택 규칙을 이용하는 방법들을 ε-그리디 방법이라 한다.
Sarsa는 시간차이(TD) 학습방법이다. TD 학습방법들은 환경의 역학 모델 없이 생(raw) 경험으로부터 직접 학습할 수 있으며, 이들은 최종 결과(이들이 부트스트랩하는)를 기다리지 않고, 값들의 다른 학습된 추정들에 부분적으로 기초한 값들 의 추정들을 갱신한다. Sarsa에서, 행동-값에 대한 갱신 규칙은 다음 식에 의해 주어진다.
여기서 st는 시간 단계 t에서의 상태를 나타내며, at는 시간 단계 t에서 취해진 행동을 나타내며, rt+i는 다음 시간 단계 t+1에서 받은 레비뉴이며, st+i는 다음 시간 단계에서의 상태를 나타내며, at+i는 취해질 대응하는 행동을 나타내며, <-는 좌측의 값을 우측의 값으로의 갱신을 나타낸다. 이 갱신은 상태 st로부터 매 천이 후에 행해진다. 이 규칙은 한 상태-행동 쌍에서 다음 쌍으로의 천이를 구성하는 5가지의 이벤트들(st, at, rt+i, st+i, at+i)의 모든 요소들을 이용한다. 이 5가지가 알고리즘에 대한 Sarsa라는 명칭의 근원이다.
이하는 Sarsa 갱신 규칙에 기초한 학습 알고리즘으로서, 계속 작업에의 경우:
알고리즘 SARSA
a. 모든 Q(s;a)를 임의의 초기화한다.
b. s를 초기화한다.
c. Q(s;a)가 최대가 되는 행동 a을 선택한다(ε-greedy).
d. 반복
e. 행동 a를 취한다.
f. 다음 시간 단계에서, 결과로 나온 레비뉴 r'와 새로운 상태 s'를 관찰하다
g. Q(s';a')가 최대가 되는 행동 a'을 선택한다(ε-greedy)
h. Q(s;a) <- Q(s;a) + αㆍ(r'+γㆍQ(s';a') - Q(s;a))
i. s <- s', a <- a'
셋탑 박스들 및 디지털 TV와 같은 소비자 단말들은 현재 비디오를 처리하기 위한 전용의 하드웨어 성분들을 적용한다. 예견가능 미래에서, 소프트웨어로 비디오 처리되는 프로그램가능 하드웨어가 처리를 맡을 것으로 예상된다. 이것의 특징들 중 일부, 소위 소프트웨어 비디오 처리는 변동이 심하고, 데이터 의존성이며, 자원을 요한다.
비디오 처리에 있어서, 통상은 복호 회수에 있어 최악의 경우와 평균 경우의 간에 갭이 있다. 또한, 단기(혹은 통계적) 부하변동과 장기(혹은 구조적) 부하변동 간에 구별이 있다. 구조적 부하변동들은, 특히, 가변하는 비디오 장면들의 복잡성에 의해 야기된다. 최악의 경우의 자원할당이 통상적으로는 비용의 높은 압박에 기인해서 덜 수락가능하기 때문에, 자원할당은 평균 경우에 가깝게 해야 하는 것이 바람직하다. 과부하를 방지하기 위해서는 어떤 형태의 부하 감축은 불가피하다.
수시로 데드라인 놓침의 용인와 같은 변동하는 부하를 가진 작업들에 대한 소프트 타이밍 요건 혹은 평균- 경우 응답 시간요건은 서비스 품질(QoS)의 특별한 경우, 즉 '서비스의 이용자에 의한 만족도를 결정하는 서비스 수행들의 총괄적 효 과'로서 간주될 수 있고, ITU-T Recommendation E. 800-Geneva 1994을 참조할 수 있다. QoS 개념은 추론하는 수단을 제공하며, 이종 소프트 타이밍 요건 및 이종 적응형 능력들, 이를테면 근사화 계산, 혹은 단일 시스템 내 작업생략의 작업들을 처리한다.
시간적 보호의 자원 확보에 의해서, 이종 소프트-실시간 시스템들에 있어 과부하 관리 문제를, 개별적으로 해결될 수 있는 다수의 서브-문제들로 분할할 수 있다. 따라서, 과부하 관리 및 의미상의(즉, 값에 기반한) 의사결정을 스케쥴러로부터 취할 수 있다. 어떤 작업이 어떤 버짓을 얻을 것인가를 결정하는 것과 각 작업의 부하를 그의 할당된 버짓으로 조정하는, 두 가지 사항을 해결되어야 한다. 첫 번째 사항은 전체적인 것이므로 통일된 QoS 측정을 필요로 한다. 두 번째 사항은 국부적인 것이므로 작업에 특정한 QoS 적응을 이용할 수 있다.
여기서는 국부적인 QoS 제어에 관계되는데, 즉 높은 품질의 비디오 처리 맥락에서, 할당된 버짓 내에서 국부적인 QoS의 최적화를 시도한다. 비디오 처리 작업은 스케일링 가능하는 것으로, 즉 개개의 프레임들의 레벨에서 자원 이용과 화질을 절충할 수 있는 것으로 가정하고, 또한 작업은 이미 행해지는 것으로, 즉, 데이터가 입수가능하다면 이전 것을 완료한 직후에 다음 프레임의 처리를 시작할 수 있는 것으로 가정한다. 이들 스케일링 가능한 비디오 알고리즘은 프레임마다 선택할 수 있는 한정된 수의 QoS 레벨들을 제공한다. 사전에 작업해 두는 것을 적용할 수 있는 범위는 레이턴시와 버퍼 제약에 의해 결정된다. 고화질 비디오에 대한 QoS 명세는 균형을 이루어야 하는 3개의 요소들인, 처리 품질, 데드라인 놓침, 및 품질 변경들을 결합한다.
균형맞춤 제어 방법들은 두가지 유형의 부하 변동들, 즉 단기(혹은 통계적), 및 구조적 부하변동들에 관계된다. 단기 부하변동을 제어하기 위해서, 제어 문제는 마코프 결정 프로세스로서 모델화되고, 이는 이산 통계적 결정 문제들을 해결하는 일반적으로 방법으로, Markov Decision Processes: discrete stochastic dynamic programming, Wiley Series in Probability and Mathematical Statistics, Wiley-Interscience, New York, 1994, M. L. Puterman을 참조할 수 있다. 구조적 부하 변동을 처리하기 위해서, 버짓 스케일링이 이용되는데, 현 구조적 부하에 역 비례하는 버짓에 대해 원 정적 혹은 동적 해를 적용하는 것이다.
도 2는 기본 스케일러블 비디오 처리 작업을 도시한 것이다. 단일의 비동기 스케일러블 비디오 처리 작업(200)을 연관된 제어기(202)와 함께 고찰한다. 비디오 처리 작업(200)은 다수의 이산(아마도 작은) 품질 레벨들로 프레임들을 처리할 수 있다. 비디오 처리 작업(200)은 처리할 프레임들을 입력 큐(204)로부터 가져오고, 처리된 프레임들은 출력 큐(210)에 넣는다. 편의상, 연속한 프레임들에 1, 2,... 숫자를 매긴 것으로 한다. 입력 프로세스(204)(예를 들면 디지털 비디오 튜너)는 주기적으로 주기 P로, 프레임들을 입력 큐에 삽입하고, 출력 프로세스(206)(예를 들면 비디오 렌더러)는 출력 큐로부터 프레임들을 동일 주기 P로 인출한다. 그러므로, 입력 및 출력 프레임율들은 동일하다고 할 수 있으나 이들은 또한 다를 수도 있을 것이다. 입력 프로세스(204) 및 출력 프로세스(206)는 고정된 레이턴시 δ로 동기화된다. 즉 프레임(i)가 입력 큐(208)에 시간 ei = e0 + iㆍP에 넣어지면(e0는 오프셋), 프레임은 출력 큐(210)로부터 시간 ei + δ에서 인출된다. 프레임을 처리하기 전에, 제어기(202)는 프레임이 처리되는 품질 레벨을 선택한다. 프레임에 대한 처리시간은 선택된 품질 레벨 및 프레임의 데이터 복잡성 둘 다에 달려있다. 평균으로, 작업은 주기(P) 당 한 프레임을 처리해야 한다. P보다 큰 레이턴시 δ를 선택함으로써, 미리 처리해 둠에 의해, 가변하는 부하를 균등하게 할 어떤 여유가 작업에 주어진다.
시간 ei에 입력 큐에 넣어지는 프레임(i)를 고찰한다. 명백히, ei는 프레임 처리에 있어 가장 먼저의 시작시간이며, di = e0 + δ는 최후의 가능한 완료시간, 즉, 데드라인이다. 편의상, 가상 데드라인 d0 = e0 + δ을 정의한다. 프레임(i)에 대한 실제 시작시간, 즉 작업의 i번째 시작점을 si로 표기한다. 프레임(i)에 대한 실제 완료시간, 즉 작업의 i번째 마일스톤(milestone)을 mi로 표기한다. 프레임에 대해서 제로가 아닌 처리시간에서 mi>ei가 성립한다. mi> di이면, 작업은 프레임(i)에 대해 그의 데드라인을 놓친 것이다. mi-1<ei이면, i>1이라고 가정하고, 작업은 ei일 때까지 mi-1부터 차단된다. i>1에 대해서, si≥max{mi-1,ei}이다.
작업유지 방식을 취하며, 이것은 프레임이 이의 데드라인을 놓쳤어도 중단하지 않고 어떻게 해서든 완료됨을 의미한다. 이외 다른 방식들도 이용될 수 있다. 이때 프레임은 다음 데드라인에 이용된다. 프레임이 완료되기 전에 후속 프레임들의 추가의 데드라인들을 놓칠 수도 있는 것에 유의한다. 데드라인을 놓치면, 다음과 같은 행동들이 필요하다. 먼저, 출력 프로세스는 에러 은폐를 수행해야 한다. 예를 들면, 비디오 렌더러는 가장 최근에 디스플레이된 프레임을 다시 이용할 수도 있을 것이다. 이러한 에러 은닉은 많은 움직임이 있는 장면들에서의 인지되는 품질을 감소시킬 수 있다. 두 번째, 제어기는 후속의 한 프레임을 생략함으로써 에러 복구를 수행함으로써, 프레임 번호와 데드라인간의 대응을 되찾고 입력 큐에 쌓이는 것을 피한다. 생략할 프레임은 주의깊게 선택되어야 한다. 예를 들면, MPEG-복호에서, B-프레임들은 안전하게 생략될 수 있는 반면, I-프레임 생략은 스트림을 멈추게 할 수 있다.
도 3 및 도 4는 P=1, δ=2, s1=d0=0인 두 예의 타임라인들에 의해 작업의 처리 거동을 도시한 것이다. 작업은 5개의 프레임들을 처리해야 한다. 실제로 처리되는 프레임들은 도 3에 참조부호 301, 3202, 304, 305로 나타내었고, 도 4에서는 참조부호 401, 402, 403, 404, 405로 나타내었다. 도 3에서, 데드라인(d2)이 놓쳐졌다. 제어기는 데드라인(d3)에서 프레임(302)을 이용하고 프레임(303)을 생략함으로써 데드라인 놓침을 처리한다. 도 4에서, 프레임(404)이 입력 큐에 없기 때문에(e4=d2), 작업은 마일스톤(m2)에서 차단이 된다.
d0에서 시작하여, 연속한 데드라인들의 각 쌍 간의 기간 내에서, 보증된 처리시간 버짓(b)(0≤b≤P)이 작업에 할당된다. 이 보증된 버짓에 기초해서, 프로그 레스라고 하는 측정을 도입한다. 시작점(si)에서 계산되는 프로그레스(ρi)는 di-1까지 남은 보증된 버짓의 총량을 b로 나눈 것이다. 이 프로그레스는 이전 프레임 i-1을 완료한 후에 얼마나 많은 버짓이 남아 있는가를 나타낸다. 보다 큰 프로그레스는 처리할 프레임에 대한 데드라인을 놓칠 위험을 낮추므로, 프로그레스는 제어기에 있어 중요한 측정이다. 프로그레스는 항시 음이 아닌데, 데드라인을 놓친 경우, 이것은 나중의 데드라인에서 완료된 프레임을 이용함으로써 보증된다. 또한, 한정된 큐 크기들에 기인해서, 프로그레스에 상한 ρmax=δ-1이 있다. 시작점에서 프로그레스는 방금 완료된 프레임의 데드라인에 기초해서 계산되는 것에 유의한다. 마일스톤들에서 프로그레스를 계산하지 않는 이유는, 계산할 경우 차단에 기인한 버짓 유실이 프로그레스에서 고려되지 않을 것이기 때문이다. 차단된 경우, 제1-다음 시작점에서 제어기에 의해 이용되는 프로그레스는 너무 클 것이다(> ρmax).
도 3 및 도 4에서, b = P인 것으로 가정하였는데, 이것은 작업이 전용 프로세서를 취함을 의미한다. 도 3에서, 연속한 시작점들에서 프로그레스는 각각 ρ1=0, ρ2=0.25, ρ4=0.75, ρ5=0.75에 의해 주어지며, 도 4에서는 각각 ρ1=0, ρ2=0. 5, ρ3=1, ρ4=1, ρ5=0.5에 의해 주어진다.
도 5 및 도 6은 b=P/2에 대한 두 예의 타임라인들을 도시한 것이다. 작업은 5 프레임들을 처리해야 한다. 실제로 처리되는 프레임들은 도 5에서 참조부호 501, 502, 504, 505로 나타내었고 도 6에서는 참조부호 601, 602, 603, 604, 605로 나타내었다. 다시, P=1, δ=2, d0=0으로 가정한다. 또한, si는 처음으로 작업에 버짓이 할당되는 순간인 것으로 가정한다. 도 5에서, 연속한 시작점들에서의 프로그레스는 ρ1=0, ρ2=0.5, ρ4=0.75, ρ5=0.5로 각각 주어지고, 도 6에서는 각각 ρ1=0, ρ2=0.5, ρ3=0.75, ρ4=1, ρ5=0.5로 주어진다. 각 기간에서 버짓은 스케쥴러에 의해 결정되는 바와 같이 다르게 분포되는 것에 유의한다. 도 6에서, m3에서, 작업은 그 기간동안 그의 버짓의 반을 소비하였다. 버짓의 다른 반은 차단에 기인해서 유실된다.
전에 언급한 바와 같이, 각각의 시작점에서 제어기는 입력 프레임이 처리되는 품질 레벨을 선택해야 한다. 바람직하게는, 다음의 3가지 목적을 충족시키는 최적의 균형을 찾는 제어 방법을 선택한다.
- 데드라인 놓침과 이에 수반한 프레임 생략들에 의해 출력에 아티팩트가 나타나므로, 데드라인 놓침은 가능한 한 드물어야 한다. 데드라인 놓침을 방지하기 위해서, 낮은 품질 레벨에서 프레임들을 처리하는 것이 필요할 수 있다.
- 높은 출력 품질을 얻기 위해서, 프레임들은 가능한 한 높은 품질 레벨로 처리되어야 한다.
- 품질 레벨의 (보다 큰) 변경은 (보다 나은) 인지가능한 아티팩트로 될 수 있기 때문에, 품질-레벨 변경들의 수 및 크기는 가능한 한 낮아야 한다.
최적의 균형을 발견하기 위해서, 수치 레비뉴가, 처리되는 각 프레임에 할당 된다. 레비뉴는 프레임이 처리되고 있는 중에 놓친 데드라인들의 수에 대한 (아마도 큰) 페널티, 특정의 품질 레벨로 프레임을 처리하기 위한 레비뉴, 및 선행 프레임에 이용된 것과는 다른 품질 레벨로 프레임을 처리하는 페널티로 구성된다. 일련의 프레임들에 대해 평균 레비뉴를 최대화하는 어떤 제어 방법이든 3가지 목적의 균형을 맞춘다. 또한, 평균 레비뉴는 작업에 대해 조정가능한 QoS 메트릭을 제공한다.
각각의 품질 레벨에 대해, 각 프레임에 대한 처리시간을 미리 알고 있다면, 평균 레비뉴를 최대화하는 제어 방법의 발견을 계산할 수 있다. 이 경우 최적의 품질 레벨들은 동적 프로그램을 이용하여 오프-라인으로 계산될 수 있으며, Dynamic Programming, Princeton University Press, Princeton, NJ, 1957 R. E. Bellman을 참조할 수 있다.
런-타임 제어 방법을 향한 제 1 단계로서, 시스템은 마코프 결정 프로세스(MDP)로서 모델화된다. MDP는 한 세트의 상태트들, 및 각 상태에 대한 한 세트의 행동들을 고려한다. 시간에서 이산적인 시각들, 제어점들에서, 제어기는 시스템의 현재의 상태(s)를 관찰하고 이어서 행동(a)을 취한다. 이 행동은 시스템에 영향을 미치고, 결과적으로, 제어기는 다음 이산 시각에서 새로운 상태(s')를 관찰한다. 이 새로운 상태는 행동 및 이전 상태에 의해 확정적으로 결정되지 않고, 각 조합(s, a, s')은, 고정된 기지의 확률을 갖는다. 수치 레비뉴는 각 상태의 천이(s,s')에 연관된다. MDP의 목적은 시스템 수명동안 모든 상태 천이들에 대해 평균 레비뉴를 최대화하는 결정 방법을 찾는 것이다.
여기서, 제어기가 시스템을 관찰하는 이산 시각들은 시작점들(si)이다. 상태는 그 시작점에서 작업의 프로그레스(ρi)를 포함한다. 품질-레벨 변경들은 페널티가 부과되기 때문에, 상태는 선행 프레임에 대해 이용된 품질 레벨(이전 품질 레벨(qi-1)을 또한 포함한다. 그러므로, si = (ρi, qi-1)이다. 마지막으로, 행동은 품질 레벨(qi)의 선택이며, 각 상태 변경에 대한 레비뉴들은 위에 기술한 바에 따라 정의된다.
MDP 방법이라 하는 제 1 방법에 의해, MPD는 오프-라인으로 해결된다. 이것은 상태 천이 확률들 Pr(s,a,s')이 사전에 필요함을 의미한다. 그러므로, 다수의 대표적인 비디오 시퀀스들에 대해, 서로 다른 품질 레벨들로, 프레임 당 처리시간들이 측정되고, 이들 시퀀스들은 상태 천이 확률들을 계산하는데 이용된다. MDP는 버짓(b)의 특정 값에 대해 오프-라인으로 해결된다. 이에 따라 (정적) 마코프 정책이 되는데, 이것은 한 세트의 상태-행동 쌍들이며, 여기서는 (ρi,qi -1,qi)이다. 런타임시, 각 시작점에서, 제어기는 정적 마코프 정책, 즉 단순 테이블 룩업을 참조함으로써 자신의 행동을 결정한다.
MDP는 또한 앞에서 기술한 바와 같이, 강화학습(RL)에 의해, 런-타임으로 해결될 수 있다. RL 제어 방법은 전혀 아는 바 없이 시작하며, 런 타임 동안 얻는 경험으로부터 최적의 거동을 학습한다. 시작점들에서 품질 레벨을 선택하기 위해 상태-행동 값들이 적용된다. 상태가 주어지면, 가능 큰 상태-행동 값을 주는 품질 레벨(=행동)이 선택된다. 이 방법을 RL 제어 방법이라고 한다.
앞에서 기술한 바와 같이, 단기 및 구조적 부하변동들이 있다. 구조적 부하값들간의 첨예한 천이들은 매우 예외적이다. 일반적으로, 천이들은 훨씬 더 원만하다.
MDP 및 RL 제어 방법들은 연속한 프레임들의 처리시간들이 상호 독립적인 것으로 은연중에 가정한다. 이것은 개략적으로 단기 부하 변동들의 경우에 해당하지만, 구조적 부하 변동들에선 해당되지 않는다. 구조적 부하변동들을 처리하기 위해서, 다음의 개선이 MDP 및 RF 방법들에 적용될 수 있다.
- 단기 부하변동들을 걸러내고 이들 참조 버짓과 비교함으로써, 런-타임시에 구조적 부하를 추적한다.
- 이 참조 버짓에 관하여 원 MDP 및 RL 방법들에게 구조적 부하변동들을, 할당된 버짓을 조정해서가 아니라, 스케일링된 버짓이라고 하는 역 비례 버짓에 대해 도출된 정책을 적용함으로써, 레비뉴한다. 이들 향상된 방법들을 MDP* 및 RL*로 각각 표기한다.
시작점에서 구조적 부하를 추적하기 위해서, 방금 완료된 프레임의 실제 처리시간(apt)와 적용된 품질 레벨에서 프레임에 대해 예상되는 처리시간(ept)간의 비, 즉 cf= apt/ept이 결정되어야 한다. 예상 처리시간들은 각 품질 레벨에 대해 오프-라인으로 도출되었다. 이 비를 복잡도 인자(complication factor; cf)라 한다.
프레임에 대한 복잡도 인자는 적용된 품질 레벨과는 다소 독립적인 것으로 가정하고, 프레임이 다른 품질 레벨로 처리된다면, 이것은 개략적으로 동일한 복잡도 인자를 줄 것이다. 이러한 가정은 완료된 프레임 처리된 품질 레벨에 대한 처리시간이 측정될 수 있기 때문에 필요하나, 이는 후속 프레임들에 대해 선택된 품질 레벨에 대해선 반드시 필요한 것은 아니다.
복잡도 인자는 단기 및 구조적 부하변동들에 따른다. 구조적 변동에 대해 보다 적합한 측정을 얻기 위해서, 단기 부하변동들은 걸러내어, 이동 복잡도 인자(ref)를 얻는 것이 바람직하다. FIR, IIR, 및 중앙값 필터들과 같은 몇 가지 유형들의 필터들이 이 목적에 적합하며, Digital Signal Processing, Prentice-Hall, Englewood Cliffs, NJ, 1975, A. V. Oppenheim and R. W. Schafer. Applying an IIR filter를 참조할 수 있다. 예를 들면, 스텝-크기 파라미터가 0.05인 지수함수적 최신-가중화-평균이 이용될 수 있다.
이동 복잡도 인자(rcf)는 스케일되는 버짓에 기초가 된다. rcf가 1에서 벗어난다면, 작업이 이용할 수 있는 처리 버짓이 그의 이용가능의 버짓(b)에서 벗어나는 것처럼 나타난다. rcf= 1.2이라면, 버짓 b = 30 ms는 단지 25ms의 버짓으로서 나타날 것이다. 0.8이라면, 동일한 버짓이 37.5ms의 버짓으로서 나타날 것이다. 그러므로, 스케일링된 버짓은 b/rcf으로서 정의된다. 런-타임시, 스케일링된 버짓은 각 시작점에서 계산된다.
MDP* 방법은 다음과 같은 방식으로 MDP 방법을 향상시킨다. 먼저, MPD를 해결하는데 필요한 통계를 정규화하는데, 이는 구조적 부하 변동들을 걸러냄을 의미한다. 이에 따라, 단기 부하변동들은 구조적 부하변동들로부터 분리된다. 오프- 라인에서, 한 세트의 선택된 스케일링된 버짓들에 대해 MPD를 해결하여, 세트 내의 각각의 스케일링된 버짓마다 하나씩의 한 세트의 마코프 정책들이 되게 한다. 다음에, 런-타임 동안에, 시작점에서 새로운 품질 레벨이, 스케일링된 버짓의 실제 값에 대응하는 정책으로부터 취해진다. 요구되는 정책이 세트 내에 없다면, 원하는 값은 마코프 정책들의 공간 내에서 선형보간에 의해 얻어진다.
도 7은 한 특정의 이전 품질 레벨(q2)에 대해, 마코프 정책들의 공간에서의 평면을 도시한 것이다. 이 평면에서, 스케일링된 버짓 값 28.2ms에서의 수직선은, 스케일링된 버짓들 28.0ms 및 28.5ms에 대한 정책들로부터 보간에 의해 얻은 스케일링된 버짓 28.2ms에 대한 마코프 정책에서의 q2 컬럼에 대응한다.
RL* 방법에서, 스케일링된 버짓은 상태에 직접 더해진다. 즉 스케일링된 버짓은 상태 공간의 제 3 크기가 된다. 시작점에서, 상태(=스케일링된 버짓, 프로그레스, 이전 품질 레벨)이 주어지면, 가장 큰 상태-행동값을 주는 품질 레벨(=행동)이 선택되는 것이 바람직하다.
RL* 방법 내에서, 도 1을 참조로 하여 앞에서 기술한 에이전트(100)는 제어기로서, 프레임들의 처리되는 품질 레벨을 선택한다. 환경(102)은 스케일러블 비디오 처리 작업에 의해 주어진다. 에이전트가 이의 환경과 상호작용하는 이산 시간 단계들은 시작점들이다. 시작점에서 업무의 상태는 스케일링된 버짓(sb), 프로그레스(ρ), 및 이전 품질 레벨(pq)의 조합에 의해 정의된다. 행동은 프레임이 처리되는 품질 레벨(q)의 선택이다. 상태들 s = (sb, ρ, pq) 및 행동 q에 대해서, 에이전트(100)는 행동값들 Q(s;q)을 주시한다.
프레임을 처리한 후에, 처리할 후속 프레임의 시작점에서, 에이전트는 먼저 방금 완료된 프레임의 처리시간을 이용하여, 스케일링된 버짓을 갱신한다. 이 갱신된 스케일링된 버짓은 시작점에서의 상태의 부분이다. 다음에, 에이전트는 방금 완료된 프레임에 대한 레비뉴를 계산한다. 표기의 편의상, 방금 완료된 프레임은 품질 레벨 q로 처리되었으며 그 전의 프레임은 품질 레벨 pq로 처리된 것을 가정한다. 레비뉴는 이전 시작점 이후에 놓친 데드라인들의 수에 대한 (고) 음의 값의 페널티와, 프레임이 처리되었던 품질 레벨(q)에 대한 양의 값의 레비뉴와, pq에서 q로의 품질 레벨을 변경한 것에 대한 음의 값의 품질-변경 페널티(qcp(pq,q))로 구성된다. 에이전트는 환경으로부터 직접 레비뉴를 받는 대신에, 환경에 의해 제공된 정보(데드라인을 놓친 회수, 품질 레벨들)에 기초해서 레비뉴를 계산한다. 레비뉴를 이용하여, 에이전트는 이의 행동-값들을 갱신한다(학습한다). 그 후에, 갱신된 행동-값들은 처리할 다음 프레임, 즉 시작점에 대응하는 프레임에 대한 품질 레벨을 선택하는데 이용한다.
필요한 계산들 내에서, 스케일링된 버짓 및 프로그레스는 연속 변수들이지만, 유한한 개수의 상태들이 고찰될 수 있다. 이를 해결하기 위해서, 유한 세트의 스케일링된 버짓 값들 및 유한 세트의 프로그레스 값들 이 정의된다. 그러면, 격자점 상태들(s), 즉 및 인 상태들 s = (sb,ρ, pq)에 대해서만, 행동-값들 Q(s;q)을 주시해야 한 다. 비-격자점 상태에 대한 행동-값을 근사화하기 위해서, 주위의 격자점 상태들의 행동-값들에 대한 선형보간이 적용된다.
도 8은 3개의 품질 레벨들로서 q0 내지 q2에 대한, 예로서의 상태 공간을 도시한 것이다. 이 상태공간에서, 스케일링된 버짓 점들은 10ms, 20ms, 30ms, 40ms이고, 프로그레스 점들은 0.25, 0.75, 1.25, 1.75이다. 스케일링된 버짓이 25ms이고, 프로그레스가 1이고, 이전 품질 레벨이 q0일 때의 상태에 대한 행동-값을 근사화하기 위해서, 도 8에 나타낸 바와 같이, 4개의 주위 격자점 상태들의 행동-값들에 선형보간을 적용한다.
Sarsa 알고리즘의 각 반복(iteration)에서, 정상적으로 하나의 행동-값이 학습(갱신)된다. 결국, 학습에 긴 시간이 걸릴 수 있고, 행동들(흔히 최적이 아님)을 탐험을 필요성이 있을 수 있다. 본 발명에 따라서, 각 반복에서(각 시작점에서), 모든 격자점 상태들에 대한 행동값들이 갱신되며, 이는 보다 빠르게 학습한다. 또한, 행동들을 더 이상 탐험할 필요가 없으며, 이는 학습이 된 것은 너 낫게 개척될 수 있음을 의미한다. 시작점에서, 방금 완료된 프레임의 처리시간 pt가 결정된다. 이 프레임은 특정의 품질 레벨(q)로 처리되었다. 다른 품질 레벨로 프레임에 대한 처리시간을 추정하기 위해서, 버짓 스케일링에도 이용되었던 것인 오프-라인으로 결정된 ept-값(예상 처리시간)이 이용된다. 예를 들면, 품질 레벨(q2)로 처리된 프레임이 20ms의 처리시간을 주고, ept(qO)=15 ms 및 ept(q2)=22ms이라면, 품질 레벨(q0)로 프레임에 대한 추정된 처리 시간은 20ms.ept(qO)/ept(q2) = 13.6ms이 된다. 추정된 처리 시간들은 프레임 처리를 시뮬레이트하는데 이용된다. 격자점 상태(st)에서 시작하고, 품질 레벨(qt)에 대한 추정된 처리시간을 이용하여 특정 품질-레벨 행동을 취하면, 프레임 처리후의 결과적인(비-격자점) 상태(st+1), 대응하는 그리디 품질-레벨 행동(qt+1), 및 결과적인 레비뉴(rt+1)가 계산될 수 있다. 이 계산에서, 먼저, 버짓 스케일링을 위한 처리시간(정규화 단계)가 정정된다. 이 정보를 이용하여, Sarsa 갱신 규칙이 적용된다. 각 시작점에서, 이것은 모든 격자점 상태들에 대해 행해지는 것이 바람직하다. 결국, 때때로 랜덤한(논-그리디; non-greedy) 행동을 취할 필요성이 없어 바람직하다. 본 발명은 다음의 알고리즘들에 의해 구현될 수 있으며, 여기서 sbp는 스케일링된 버짓이 계산되는 점, 즉 스케일링된 버짓 점을 나타내고, rpp는 상대적 프로그레스가 계산되는 점, 즉 상대적 프로그레스 점을 나타내고, pq는 이전의 품질을 나타낸다.
알고리즘 초기화
1a. 이동 복잡도 인자(running complication factor)를 초기화한다.
rcf <- 1
1b. 모든 상태들(sbp, rpp, pq)에 대해서
1c. 모든 품질 행동들(q)에 대해서
ld. (상태, 행동)-값을 초기화한다
Q(sbp, rp, pq;q) <- 0
결정 품질 획득 알고리즘
입력: 상대적인 프로그레스
입력: 이전에 이용된 품질 pq
출력: 결정 품질 dq
2a. 스케일링된 버짓을 계산한다
sb <- b/rcf
2b. 스케일링된 버짓 sb, 상대적 프로그레스 rp, 및 이전의 품질 pq에 대해서,
모든 가능한 품질 행동들(q)에 대해 보간된 (상태,행동)-값들 Qivec(sb,rp,pq;q)을 계산한다.
2c. 결정 품질(dq)은 가장 큰 값 Qivec(sb,rp,pq;q)에 대응하는 품질 행동(q)이다.
갱신(상태, 행동)-값들 알고리즘
입력: 처리 시간 pt
입력: 처리 품질 q
3a. 마지막 작업 유닛을 처리하기 전에 존재하였던 상황에 대응하는 이동 복잡도 인자를 복제해 둔다
oldrcf <- rcf
3b. pt 및 q를 이용하여 이동 복잡도 인자를 갱신한다.
3c. 스케일링된 버짓을 계산한다
sb <- b/rcf
3d. 모든 상태들 (sbp,rpp,pq)에 대해서,
3f. 마지막 작업유닛의 처리시간을 추정한다
3h. 결과로 나온 rev와 결과로 나온 상대적 프로그레스 rp를 관찰한다
계산에서 상태들의 수를 줄이기 위해서, 다음의 기술이 적용될 수 있다. sx=(sb, ρ, pqx) 및 sy=(sb, ρ, pqy)를, 각각 이전 품질 레벨만이 다른 격자점 상태들(pqx, pqy)이라 놓는다. 한 프레임에 대한 처리 시간은 선행 프레임에 대해 적용된 품질 레벨과는 무관하다. 그러므로, 시작점에서, 품질 레벨(q)가 상태 sx 및 sy 중 어느 하나가 선택된다면, 다음 시작점에서 결과적인 상태는 동일하다. 행동-값들에 관련해서, 이것은 Q(sx;q)-qcp(pqx,q)=Q(sy;q)-qcp(pqy,q)임을 의미한다. 이러한 관찰은 다음과 같이 계산에서 상태들의 수를 감소시키는데 이용될 수 있다. 행동-값들을 학습하기 위해서 2차원 격자점 상태들이 이용된다. 세트()로부터의 즉 스케일링된 버짓과 세트()로부터의 프로그레스의 모든 조합들이 이용된다. 3차원 격자점 상태(sb,p,pq)에서 품질 레벨(q)를 선택하기 위한 행동-값 Q'((sb,ρ,pq);q) )를 얻기 위해서, 학습된 행동-값 Q'((sb,ρ);q)에 페널티 qcp(pq;q)가 더해진다. 즉, Q((sb,ρ,pq),q) = Q'((sb,ρ);q)+qcp(pq,q)이고, 행동-값 Q'가 학습된다. 이에 따라, 갱신될 상태들의 수는 팩터 |Q|만큼 감소되고, 여기서 Q는 한 세트의 품질 레벨들이다.
본 발명의 방법의 기술된 실시예들에서 순서는 필수는 아니며, 당업자는 단계들의 순서를 변경할 수 있고 혹은 스레딩 모델들, 멀티-프로세서 시스템들 혹은 본 발명에 의해 의도된 개념 내에서 복수의 프로세스들을 이용하여 단계들을 동시에 수행할 수도 있다.
도 9는 본 발명에 따른 시스템의 주요 부분들을 개략적으로 도시한 것이다. 시스템(900)은 마이크로프로세서(914), 소프트웨어 버스(912) 및 메모리(916)를 포함한다. 메모리(916)는 랜덤 액세스 메모리(RAM)일 수 있다. 메모리(916)는 소프트웨어 버스(912)를 통해 마이크로프로세서(914)와 연락한다. 메모리(916)는 컴퓨터 독출 가능의 코드(902, 904, 906, 908, 910, 및 912)를 포함한다. 컴퓨터 독출 가능의 코드(902)는 다음 매체-프레임의 복수의 출력 품질들 중 출력 품질을 제공하게 설계된다. 컴퓨터 독출 가능의 코드(904)는 처리시간을 이용하는 자기-학습 제어 방법에 기초한 다음 매체-프레임의 출력 품질과, 다음 매체-프레임의 출력 품질을 결정하기 위해 이전 매체-프레임의 출력 품질을 설정하게 설계된다. 컴퓨터 독출가능 코드(906)는 이전 메체 프레임을 처리하게 설계된다. 컴퓨터 독출가능 코드(908)는 처리된 이전 매체-프레임의 상대적 프로그레스 값과, 처리된 이전 매체-프레임의 스케일링된 버짓 값과, 처리된 이전 매체-프레임의 출력 품질로 구성된 상태를 결정하게 설계된다. 컴퓨터 독출가능 코드(910)는 상태 및 다음 매체- 프레임의 가능한 출력 품질에 기초하여 레비뉴를 결정하게 설계된다. 컴퓨터 독출가능 코드(912)는 처리된 이전 매체-프레임의 출력 품질에서만 다른 상태들을 감소시킴으로써 레비뉴가 결정되는 상태들의 수를 감소시키게 설계된다. 시스템은 텔레비전 내에 포함될 수 있다. 또한, 컴퓨터 독출가능 코드는 CD 혹은 DVD와 같은 컴퓨터 독출가능 매체로부터 독출될 수 있다.
전술한 실시예들은 본 발명을 한정하는 것이 아니라 예시하는 것이며 첨부된 청구항들의 범위 내에서 많은 대안을 당업자들이 설계할 수 있을 것임에 유의한다. 청구항들에서, 괄호내의 참조부호는 청구항을 한정하는 것으로 해석되지 않는다. '포함하다'라는 용어는 청구항에 나열된 것들 외의 구성요소들 혹은 단계들의 존재를 배제하지 않는다. 단수 표시의 구성요소는 복수의 이러한 요소들의 존재를 배제하는 것은 아니다. 본 발명은 몇 개의 구별되는 구성요소들을 포함한 하드웨어에 의해서, 그리고 적합히 프로그램된 컴퓨터에 의해 구현될 수 있다. 몇 개의 수단을 나열한 시스템 청구항에서, 이들 수단중 몇몇은 하나의 동일한 컴퓨터 독출가능의 소프트웨어 혹은 하드웨어 항목으로 실현될 수 있다. 어떤 대첵들이 서로 다른 종속항에서 인용된 사실이, 이들 대책들의 조합들이 잇점을 제공하는데 이용될 수 없음을 나타내는 것은 아니다.
Claims (11)
- 다음 매체-프레임의 출력 품질을 설정하는 방법에 있어서,상기 출력 품질은 매체 처리 애플리케이션에 의해 제공되며;상기 매체 처리 애플리케이션은 상기 다음 매체-프레임의 복수의 출력 품질들을 제공하도록 설계되고;상기 다음 매체-프레임의 출력 품질을 설정하는 것은 상기 다음 매체-프레임의 출력 품질을 결정하기 위해 처리 시간 및 이전 매체-프레임의 출력 품질을 이용하는 자기-학습 제어 방법에 기초하는, 출력 품질 설정 방법.
- 제 1 항에 있어서,상기 이전 매체-프레임을 처리하는 단계;상태를 결정하는 단계로서,상기 처리된 이전 매체-프레임의 상대적 프로그레스 값,상기 처리된 이전 매체-프레임의 스케일링된 버짓 값(scaled budget value), 및상기 처리된 이전 매체-프레임의 상기 출력 품질을 포함하는 상기 상태를 결정하는 단계; 및상기 상태 및 상기 다음 매체-프레임의 가능한 출력 품질에 기초하여 레비뉴(revenue)를 결정하는 단계를 포함하는, 출력 품질 설정 방법.
- 제 2 항에 있어서,상기 레비뉴는 놓친 데드라인 수, 상기 이전 매체-프레임의 상기 출력 품질, 및 품질 변경에 기초하는, 출력 품질 설정 방법.
- 제 2 항에 있어서,유한한 수의 상태들에 대한 상기 레비뉴가 결정되며, 상기 유한한 수의 상태들은 유한한 한 세트의 스케일링된 버짓 값들 및 유한한 한 세트의 상대적 프로그레스 값들에 의해 결정되는, 출력 품질 설정 방법.
- 제 2 항에 있어서,상기 처리된 이전 매체-프레임의 상기 출력 품질에서만 다른 상태들을 감소시킴으로써 상기 레비뉴가 결정되는 상태들의 수를 감소시키는 단계를 포함하는, 출력 품질 설정 방법.
- 다음 매체-프레임의 출력 품질을 설정하는 시스템(900)에 있어서,상기 다음 매체-프레임의 복수의 출력 품질들의 상기 출력 품질을 제공하기 위한 애플리케이션 수단(902); 및상기 다음 매체-프레임의 상기 출력 품질을 결정하기 위해서 처리시간 및 이전 매체-프레임의 출력 품질을 이용하는 자기-학습 제어 방법에 기초하여 상기 다 음 매체-프레임의 상기 출력 품질을 설정하기 위한 제어 수단(904)을 포함하는, 출력 품질 설정 시스템.
- 제 6 항에 있어서,이전 매체-프레임을 처리하는 처리 수단(906);결정 수단(908)으로서,상기 처리된 이전 매체-프레임의 상대적 프로그레스 값,상기 처리된 이전 매체-프레임의 스케일링된 버짓 값, 및상기 처리된 이전 매체-프레임의 상기 출력 품질을 포함하는 상태를 결정하는 상기 결정 수단(908); 및상기 상태 및 상기 다음 매체-프레임의 가능한 출력 품질에 기초하여 레비뉴를 결정하는 레비뉴 수단(910)을 포함하는, 출력 품질 설정 시스템.
- 제 7 항에 있어서,상기 처리된 이전 매체-프레임의 상기 출력 품질에서만 다른 상태들을 감소시킴으로써 상기 레비뉴가 결정되는 상태들의 수를 감소시키는 감축 수단(912)을 포함하는, 출력 품질 설정 시스템.
- 제 1 항에 따른 방법을 수행하도록 설계된 컴퓨터 프로그램 제품.
- 제 9 항에 따른 컴퓨터 프로그램 제품을 포함하는 저장 디바이스.
- 제 6 항에 따른 시스템을 포함하는 텔레비전 세트.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03076189.4 | 2003-04-23 | ||
EP03076189 | 2003-04-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060013373A true KR20060013373A (ko) | 2006-02-09 |
Family
ID=33305769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057020023A KR20060013373A (ko) | 2003-04-23 | 2004-04-22 | 매체 프레임의 출력 품질을 설정하는 방법 및 시스템 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1618473A2 (ko) |
JP (1) | JP2006524461A (ko) |
KR (1) | KR20060013373A (ko) |
CN (1) | CN1777870A (ko) |
WO (1) | WO2004095274A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102352077B1 (ko) * | 2020-08-31 | 2022-01-18 | 주식회사 핀그램 | 고속 동영상 부호화 방법 및 시스템 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021111576A1 (ja) * | 2019-12-05 | 2021-06-10 | 日本電信電話株式会社 | 通信制御システム、状態切替支援装置、状態切替支援方法及びプログラム |
-
2004
- 2004-04-22 JP JP2006506873A patent/JP2006524461A/ja active Pending
- 2004-04-22 WO PCT/IB2004/050479 patent/WO2004095274A2/en not_active Application Discontinuation
- 2004-04-22 EP EP04728876A patent/EP1618473A2/en not_active Withdrawn
- 2004-04-22 KR KR1020057020023A patent/KR20060013373A/ko not_active Application Discontinuation
- 2004-04-22 CN CNA2004800109615A patent/CN1777870A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102352077B1 (ko) * | 2020-08-31 | 2022-01-18 | 주식회사 핀그램 | 고속 동영상 부호화 방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
JP2006524461A (ja) | 2006-10-26 |
CN1777870A (zh) | 2006-05-24 |
EP1618473A2 (en) | 2006-01-25 |
WO2004095274A3 (en) | 2005-01-06 |
WO2004095274A2 (en) | 2004-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109960395B (zh) | 资源调度方法和计算机设备 | |
Wust et al. | Qos control strategies for high-quality video processing | |
Comanici et al. | Optimal policy switching algorithms for reinforcement learning | |
CN113641445B (zh) | 基于深度确定性策略的云资源自适应配置方法及系统 | |
CN114500561A (zh) | 电力物联网网络资源分配决策方法、系统、设备及介质 | |
US10535004B2 (en) | Predicting an interface control action of a user with an in-vehicle user interface | |
US20060192850A1 (en) | Method of and system to set an output quality of a media frame | |
CN111930602B (zh) | 性能指标预测方法及装置 | |
KR20060013373A (ko) | 매체 프레임의 출력 품질을 설정하는 방법 및 시스템 | |
CN113728294B (zh) | 功耗控制与方案生成方法、设备、系统及存储介质 | |
CN117201882A (zh) | 基于瓦片优先级的全景视频流传输方法、装置、系统及存储介质 | |
CN112866756A (zh) | 一种多媒体文件的码率控制方法、装置、介质和设备 | |
US20070153891A1 (en) | Method and apparatus for smoothing overall quality of video transported over a wireless medium | |
CN110516795B (zh) | 一种为模型变量分配处理器的方法、装置及电子设备 | |
KR20230089509A (ko) | Bi-LSTM 기반 웹 애플리케이션 워크로드 예측 방법 및 장치 | |
Mastronarde et al. | Online reinforcement learning for dynamic multimedia systems | |
CN113158027A (zh) | 一种智能设备推荐方法、系统及智能终端 | |
CN108476084B (zh) | Q学习中调整状态空间边界的方法和装置 | |
US20050041744A1 (en) | Method of and system to set a quality of a media frame | |
KR101932130B1 (ko) | 원격 디스플레이의 체감 품질을 향상하는 영상 처리 장치 및 방법 | |
JP2000293501A (ja) | 学習機能を備えた最適化装置および最適化方法 | |
Gatimu et al. | qMDP: DASH Adaptation using Queueing Theory within a Markov Decision Process | |
WO2024116385A1 (en) | Video player, video playback method, and program | |
KR20230089510A (ko) | Bi-LSTM 기반 웹 애플리케이션 워크로드 예측 방법 및 장치 | |
Sivakumar et al. | Inverse Reinforcement Learning from Non-Stationary Learning Agents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |