KR102127800B1 - 멀티미디어 컨텐츠를 송수신하는 방법 및 그 장치 - Google Patents

멀티미디어 컨텐츠를 송수신하는 방법 및 그 장치 Download PDF

Info

Publication number
KR102127800B1
KR102127800B1 KR1020130088597A KR20130088597A KR102127800B1 KR 102127800 B1 KR102127800 B1 KR 102127800B1 KR 1020130088597 A KR1020130088597 A KR 1020130088597A KR 20130088597 A KR20130088597 A KR 20130088597A KR 102127800 B1 KR102127800 B1 KR 102127800B1
Authority
KR
South Korea
Prior art keywords
content
calculation amount
segment
expression information
calculation
Prior art date
Application number
KR1020130088597A
Other languages
English (en)
Other versions
KR20150012724A (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 삼성전자주식회사
Priority to KR1020130088597A priority Critical patent/KR102127800B1/ko
Priority to PCT/KR2014/006828 priority patent/WO2015012644A1/en
Publication of KR20150012724A publication Critical patent/KR20150012724A/ko
Application granted granted Critical
Publication of KR102127800B1 publication Critical patent/KR102127800B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 명세서는 멀티미디어 컨텐츠를 송신하는 방법에 있어서, 상기 컨텐츠를 생성하는 동작; 상기 컨텐츠의 전체 소비에 필요한 제1 계산량 표현 정보 및 상기 컨텐츠의 세그먼트 소비에 필요한 제2 계산량 표현 정보 중 적어도 하나를 생성하는 동작; 및 상기 제1 계산량 표현 정보 및 상기 제2 계산량 표현 정보 중 적어도 하나와 상기 생성된 컨텐츠를 송신하는 동작을 포함함을 특징으로 하는 멀티미디어 컨텐츠 송신 방법을 제공한다.

Description

멀티미디어 컨텐츠를 송수신하는 방법 및 그 장치{METHOD AND APPARATUS FOR TRANSCEIVING MULTIMEDIA CONTENT}
본 명세서는 멀티미디어 컨텐츠를 송수신하는 방법 및 그 장치에 관한 것으로서, 특히 컨텐츠 소비시 사용되는 전압 및 주파수 자원의 스케일링을 지원하는 컨텐츠 송수신 방법 및 그 장치에 관한 것이다.
정보기술(IT) 분야의 이산화탄소 배출량은 2009년 전 세계 이산화탄소 배출량의 2%로써 항공산업과 비슷한 규모로 추정되었는데, 현재에 이르러는 이를 뛰어 넘을 것으로 추정된다. 이산화탄소 배출량의 경우 교토의정서에 의해 1990년 기준의 5.2%까지 감축을 의무화 하였다. 우리나라의 경우 의무사항이 아니라 권장 사항이지만 2010년 4월 녹색인증제도를 도입하여 이산화탄소 배출량 감소를 권장하고 있으며 인증을 받는 기업을 대상으로 세제 지원 및 정책자금 등을 우대지원 하고 있다.
모바일 기기의 사용이 폭발적으로 늘어나고 있다. 모바일 기기는 배터리의 전력 자원이 제한적이다. 더구나 최근 디스플레이 크기가 커지고, 멀티미디어 서비스를 위한 계산량(complexity)이 많아지고, 전송률이 높아지면서 전력의 소모는 크게 늘어났다. 이에 따라, 모바일 기기에서 멀티미디어 처리와 전력과의 상관관계를 활용하여 최소의 자원을 사용하면서 최대의 품질을 나타낼 수 있도록 하는 제어 기술이 요구되고 있다.
본 명세서는 DVFS 방식들이 갖는 이점들을 모두 구비하는 새로운 방법으로 세그먼트별 후처리 방식을 제안한다.
또한, 본 명세서는 전체적 후처리 방식, 세그먼트별 후처리 방식, 및 세그먼트별 예측 방식들을 모두 지원할 수 있는 시그널링 방법을 제안한다.
또한, 본 명세서의 일 실시예에 따른 전체적 후처리 방식을 위해, 컨텐츠 전체의 절대적인 계산량 표현 변수를 전달하는 방법을 제안한다.
또한, 본 명세서의 일 실시예에 따른 세그먼트별 후처리 방식을 위해, 컨텐츠의 세그먼트별 계산량을 전달하는 방법에 대하여 설명하고, 클라이언트가 전달받은 계산량을 활용하는 방법을 제안한다.
본 명세서는 멀티미디어 컨텐츠를 송신하는 방법에 있어서, 상기 컨텐츠를 생성하는 동작; 상기 컨텐츠의 전체 소비에 필요한 제1 계산량 표현 정보 및 상기 컨텐츠의 세그먼트 소비에 필요한 제2 계산량 표현 정보 중 적어도 하나를 생성하는 동작; 및 상기 제1 계산량 표현 정보 및 상기 제2 계산량 표현 정보 중 적어도 하나와 상기 생성된 컨텐츠를 송신하는 동작을 포함함을 특징으로 하는 멀티미디어 컨텐츠 송신 방법을 제공한다.
또한, 본 명세서는 멀티미디어 컨텐츠를 수신하는 방법에 있어서, 상기 컨텐츠를 수신하는 동작; 상기 컨텐츠의 전체 소비에 필요한 제1 계산량 표현 정보 및 상기 컨텐츠의 세그먼트 소비에 필요한 제2 계산량 표현 정보 중 적어도 하나를 수신하는 동작; 상기 제1 계산량 표현 정보 및 상기 제2 계산량 표현 정보 중 적어도 하나를 이용하여 상기 생성된 컨텐츠를 소비하기 위한 전압 및 주파수를 스케일링하는 동작; 및 상기 스케일링된 전압 및 주파수를 이용하여 상기 컨텐츠를 소비하는 동작을 포함함을 특징으로 하는 멀티미디어 컨텐츠 수신 방법을 제공한다.
또한, 본 명세서는 멀티미디어 컨텐츠를 송신하는 장치에 있어서, 상기 컨텐츠를 생성하고; 상기 컨텐츠의 전체 소비에 필요한 제1 계산량 표현 정보 및 상기 컨텐츠의 세그먼트 소비에 필요한 제2 계산량 표현 정보 중 적어도 하나를 생성하고; 상기 제1 계산량 표현 정보 및 상기 제2 계산량 표현 정보 중 적어도 하나와 상기 생성된 컨텐츠를 송신함을 특징으로 하는 멀티미디어 컨텐츠 송신 장치를 제공한다.
또한, 본 명세서는 멀티미디어 컨텐츠를 수신하는 장치에 있어서, 상기 컨텐츠를 수신하고; 상기 컨텐츠의 전체 소비에 필요한 제1 계산량 표현 정보 및 상기 컨텐츠의 세그먼트 소비에 필요한 제2 계산량 표현 정보 중 적어도 하나를 수신하고; 상기 제1 계산량 표현 정보 및 상기 제2 계산량 표현 정보 중 적어도 하나를 이용하여 상기 생성된 컨텐츠를 소비하기 위한 전압 및 주파수를 스케일링하고; 상기 스케일링된 전압 및 주파수를 이용하여 상기 컨텐츠를 소비함을 특징으로 하는 멀티미디어 컨텐츠 수신 장치를 제공한다.
본 명세서에 따른 일 실시예는 세그먼트 별 DVFS를 적용함으로써, 향상된 자원 절감 효과를 가지면서도 컨텐츠 재생시 발생하는 지연을 예방할 수도 있다.
또한, 본 명세서에 따른 일 실시예는 컨텐츠 소비에 필요한 자원의 예약에 있어서 필요한 정보를 얻기 위해 컨텐츠를 프리코딩할 필요가 없으므로, 자원을 효율적으로 사용한다.
또한, 본 명세서에 따른 일 실시예는 컨텐츠 소비에 필요한 자원의 예약에 있어서 필요한 정보를 실제 컨텐츠의 정보가 아닌 예측 방법에 의존하지 않아도 되므로, 보다 향상된 디코딩 에너지 절감 효과를 기대할 수 있다.
또한, 본 명세서에 따른 일 실시예는 프리코딩이나 예측을 위한 별도의 모듈을 구성할 필요가 없으므로, 하드웨어 자원의 낭비를 막을 수 있다.
도 1은 클라이언트 장비에서 시간 경과에 따른 디코딩 에너지의 감소 현상을 예시하는 도면;
도 2는 본 명세서의 일 실시예에 따라 클라이언트가 컨텐츠 전체 계산량 표현 정보를 이용하여 획득한 요구 처리 속도와 구간별 계산량과의 관계를 설명하는 도표;
도 3은 본 명세서의 일 실시예에 따라 클라이언트가 컨텐츠 전체 계산량 표현 정보를 이용하여 컨텐츠 DVFS를 수행하는 과정을 예시하는 도면;
도 4는 본 명세서의 일 실시예에 따라 클라이언트가 상대적인 세그먼트 계산량 표현 정보를 이용하여 시간 세그먼트별로 상대적 계산량을 이용하는 방법을 설명하는 도표;
도 5는 본 명세서의 일 실시예에 따라 클라이언트가 상대적 세그먼트 계산량 표현 정보를 이용하여 세그먼트 DVFS를 수행하는 과정을 예시하는 도면;
도 6은 비디오 데이터의 디코딩 계산량 예측을 일 실시예로 들어 계산량 예측에 따른 디코딩 에너지 절감 효과 보여주는 도표;
도 7은 비디오 데이터의 디코딩 계산량 예측을 일 실시예로 들어 계산량 예측에 따른 디코딩 예측의 정확도록 설명하는 히스토그램;
도 8은 본 명세서의 일 실시예에 따른 멀티미디어 컨텐츠 송신 방법을 예시하는 도면;
도 9는 본 명세서의 일 실시예에 따른 멀티미디어 컨텐츠 수신 방법을 예시하는 도면;
도 10은 본 명세서의 일 실시예에 따른 멀티미디어 컨텐츠 송신 장치의 구성을 예시하는 도면;
도 11은 본 명세서의 일 실시예에 따른 멀티미디어 컨텐츠 수신 장치의 구성을 예시하는 도면이다.
이하, 첨부된 도면들을 참조하여 본 명세서의 실시 예를 상세하게 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 명세서에서의 기능을 고려하여 정의된 용어들로써 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 명세서의 자세한 설명에 앞서, 본 명세서에서 사용되는 몇 가지 용어들에 대해 해석 가능한 의미의 예를 제시한다. 하지만, 아래 제시하는 해석 예로 한정되는 것은 아님을 주의하여야 한다.
서버(server)는 클라이언트(client)와 통신하는 일 주체로서, 클라이언트에게 컨텐츠 데이터를 제공하는 엔터티(entity)이다. 따라서, 서버가 컨텐츠를 생성하는 경우에 상기 서버는 컨텐츠 생성 장치로 불리어 질 수도 있다.
클라이언트는 서버와 통신하는 일 주체로서, 서버로부터 컨텐츠를 제공받아 소비하는 엔터티이다. 일반적으로 클라이언트는 휴대가 가능한 단말, UE, 이동국(Mobile Station; MS), 이동장비(Mobile Equipment; ME), 디바이스(device), 터미널(terminal) 등으로 지칭될 수도 있으나, 반드시 이러한 휴대 단말 등으로 한정되는 것을 아니며, 컨텐츠를 소비하는 역할을 수행한다면 새로운 서버가 클라이언트가 될 수도 있음은 물론이다.
계산량(complexity)은 클라이언트가 컨텐츠를 소비하기 위해 디코딩/인코딩 에 필요한의 모듈을 수행하도록 프로세서를 연산(operation)하는데 소요되는 작업량(workload)를 의미한다. 즉, 계산랑(complexity)은 계산(calculation), 연산(operation), 처리(processing) 등의 모든 작업으로 발생하는 작업량을 총칭하는 개념으로 이해될 수 있다.
동적 전압 및 주파수 스케일링(DVFS; Dynamic Voltage and Frequency Scaling)은 계산량(complexity)에 따라 비디오와 같은 멀티미디어 컨텐츠를 재생하는 프로세서의 전압 및 주파수를 제어하여 계산(calculate)에 사용되는 에너지를 절감하는 기술이다. 기본적으로, 멀티미디어 컨텐츠를 처리하는 장치는 처리할 계산량(complexity)이 많으면 프로세서의 주파수를 높이기 위해 전압을 높이게 된다. 주파수와 계산량(complexity)의 상관 관계는 다음과 같이 설명될 수 있다.
정해진 시간 안에 계산(calculate)이 끝나야 하는 경우에 (예를 들어, 실시간 멀티미디어 서비스의 처리) 프로세서의 계산에 걸리는 시간 t는 수학식 1과 같이 계산된다.
Figure 112013067757224-pat00001
프로세서의 주파수 f [Hz]는 계산 시간 t [sec]에 반비례하고 계산량 c [cycle]에 비례한다. CMOS(complementary metal-oxide semiconductor) 회로에서 공급 전압(Vdd; V drain)은 수학식 2와 같이 표현할 수 있다.
Figure 112013067757224-pat00002
여기서,
Figure 112013067757224-pat00003
(omega),
Figure 112013067757224-pat00004
(phi),
Figure 112013067757224-pat00005
(theta)는 기저 플랫폼(underlying platform)에 의해 결정되는 계수들이다. 일 예로, 90 나노미터(nano-meter) 공정의 인텔 펜티엄(Intel Pentium) M1.6GHz 프로세서의 경우
Figure 112013067757224-pat00006
=5.6*10-10,
Figure 112013067757224-pat00007
=1,
Figure 112013067757224-pat00008
=0.61, 의 값을 가질 수 있다.
또한 CMOS 회로의 전력(Pdyn; P dynamic)은 수학식 3과 같이 표현될 수 있고, 와트(Watt) 단위로 계산된다.
Figure 112013067757224-pat00009
Figure 112013067757224-pat00010
여기서
Figure 112013067757224-pat00011
는 유효 회로 캐패시턴스(effective circuit capacitance)이다.
위 수학식들을 이용하면 계산 에너지(Edyn; E dynamic)는 수학식 4와 같이 계산될 수 있고, 줄[J] 단위로 계산된다.
Figure 112013067757224-pat00012
Figure 112013067757224-pat00013
Figure 112013067757224-pat00014
도 1은 기저 플랫폼에 의해 결정되는 계수
Figure 112013067757224-pat00015
(omega),
Figure 112013067757224-pat00016
(phi),
Figure 112013067757224-pat00017
(theta)를 각각 5.6*10-10, 1, 0.61로 설정했을 때 시간 변화에 따른 디코딩 에너지의 측정 결과를 예시한다.
도 1을 참조하면, 일정 시각(대략 10-5 sec) 이후부터는 시간의 경과에 따른 디코딩 에너지의 감소분이 거의 없음을 알 수 있다. 이와 같이 하나의 주파수를 이용하는 경우 기대할 수 있는 에너지 절감의 효과는 제한이 따른다. 따라서, 전압뿐만 아니라 컨텐츠 소비에 사용되는 주파수를 동적으로 제어함으로써 계산에 사용되는 에너지를 절감시킬 필요성이 제기되고 있다.
DVFS 기법에는, 미리 컨텐츠의 일부에 대해 계산을 하여 얻은 정보를 이용하여 전압과 주파수를 스케일링하는 사후처리(또는 ‘후처리’라 함)(post decoding) 방식과, 별도의 프로파일러(profiler)를 두어 계산량을 모델링하거나 별도의 큐(queue)를 두어 계산량을 예측하여 모델링된 값 또는 예측된 값에 따라 전압과 주파수를 스케일링하는 예측 (complexity estimation) 방식이 있을 수 있다.
후처리(post decoding) 방식의 경우 DVFS 을 적용할 단위 구간만큼의 참조(reference) 계산량 정보가 필요하다. 이러한 참조 계산량 정보는 예를 들어, 컨텐츠 데이터를 단위 구간만큼 파싱(parsing)하고 프리디코딩(pre-decoding)하여 얻은 정보가 될 수 있다.
구체적으로 후처리 방식은, 멀티미디어 서비스에서 DVFS를 적용하는데 이용하기 위한 참조 계산량 정보를 얻기 위해 컨텐츠 일부를 프리디코딩하고, 상기 프리디코딩된 컨텐츠 일부를 이용하여 다음 DVFS 적용 단위에 대해 전압 및 주파수를 스케일링하는 방식이다. 이때, 상기 프리디코딩의 대상인 상기 컨텐츠 일부는 한 개 이상의 GOP(Group of Picture) 또는 한 개 이상의 비디오 프레임(video frame)이 될 수 있다. 또한, 상기 DVFS 적용 단위도 한 개 이상의 GOP 또는 한 개 이상의 비디오 프레임이 될 수 있다.
그러므로, 후처리 방식은 프리디코딩이 가능한 컨텐츠 즉, 비 실시간 컨텐츠에 대한 전압 및 주파수 스케일링에 보다 적합하다. 같은 이유로, 후처리 방식은 컨텐츠 전체에 대한 계산량 정보 획득이 불가능한 실시간 컨텐츠에서의 세밀한 전압 및 주파수 스케일링에는 상대적으로 적합하지 않다.
이러한 후처리 방식은 컨텐츠 전체로 보면 전력 절감 효과를 보이지만 실시간에서의 세밀한 스케일링이 곤란하기에 예측 방식을 통한 실시간 스케일링에 비해 에너지 절감 효과(energy saving efficiency)가 낮을 수 있다.
예측(Complexity estimation) 방식은, 별도의 프로파일러 또는 큐를 이용하여 세그먼트별로 계산량을 예측하고 예측된 계산량을 DVFS에 이용함으로써 세밀한 전압, 주파수 스케일링을 가능하게 하는 방식이다. 따라서, 예측 방식은 후처리 방식에 비해 실시간 컨텐츠에 대하여 향상된 전력 절감 효과를 가능하게 한다.
구체적으로 예측 방식은, 멀티미디어 서비스에서 컨텐츠에 대해 짧은 기간(short-term)마다 전압 및 주파수 스케일링을 적용하도록 세그먼트별 계산량을 예측하고 예측된 계산량을 이용하여 전압 및 주파수 스케일링하는 방식이다. 프로파일러 또는 큐를 통해 상기 예측에 사용되는 정보는, 컨텐츠의 특성(예를 들어, 계산량의 높거나 낮음)이나 유형(예를 들어, 화면이 정적이거나 동적임)을 지시하는 정보, 장면(scene)의 변화를 지시하는 정보, 계산량이 증가함을 지시하는 정보 등이 될 수 있다.
이러한 예측 방식은 짧은 기간마다 계산량을 예측하여 이용하므로 후처리 방식에 비해 계산량의 변화에 즉각적인 대응이 가능하지만, 후처리 방식처럼 컨텐츠의 계산량에 대한 정확한 계산 값을 이용하는 것이 아니고, 예측된 계산량을 이용하므로 오차가 존재한다. 또한, 예측 방식은 예측을 위한 추가 연산(operation)이 필요하다.
본 명세서는 상기 두 가지 DVFS 방식들의 이점들을 갖는 새로운 방법으로써, 세그먼트별 후처리 방식을 제안한다. 또한, 본 명세서는 전체적 후처리 방식, 세그먼트별 후처리 방식, 및 세그먼트별 예측 방식들을 모두 지원할 수 있는 시그널링 방법을 제안한다. 이하에서는 편의상, 전체적 후처리 방식을 컨텐츠 DVFS(content DVFS)라고 칭하고, 세그먼트별 후처리 방식을 세그먼트 DVFS(segment DVFS)라고 칭할 수도 있다.
여기서, 세그먼트(segment)란 컨텐츠를 시간에 따라 임의의 크기로 나눈 작은 부분을 의미한다. 예를 들어, 상기 세그먼트는 하나의 GOP가 될 수도 있고, 하나의 프레임이 될 수도 있으며, 상기 프레임 보다 작은 단위로 쪼갤 수도 있을 것이다.
본 명세서의 일 실시예에 따른 전체적 후처리 방식을 위해, 컨텐츠 전체의 절대적인 계산량 표현 변수를 전달하는 방법에 대하여 설명한다.
본 명세서의 일 실시예에 따른 세그먼트별 후처리 방식을 위해, 컨텐츠의 세그먼트별 계산량을 전달하는 방법에 대하여 설명하고, 클라이언트가 전달받은 계산량을 활용하는 방법에 대하여도 설명한다.
컨텐츠를 생성하는 장치(예를 들어, 서버)는 컨텐츠를 생성할 때, 컨텐츠를 소비하는 장치(예를 들어, 클라이언트)에서 컨텐츠 소비를 위해 필요한 계산량을 나타내는 변수를 상기 컨텐츠로부터 함께 생성한다. 상기 컨텐츠를 생성하는 장치는 상기 생성된 변수를 상기 컨텐츠와 함께 전송하거나, 상기 생성된 변수를 컨텐츠와 함께 저장한 후에 전송할 수 있다.
계산량은 싸이클(cycle)의 개수 및 병렬 프로세싱(parallel processing)의 가능 정도 중 하나 이상을 조합하여 표현될 수 있다. 따라서, 계산량을 나타내는 변수의 단위는 여러 가지가 쓰일 수 있다.
계산량은 타겟 서비스(Target service)의 경우와 글로벌 서비스(Global service)의 경우로 나누어 나타낼 수 있다.
타겟 서비스는 특정 서비스를 타겟으로 하는 경우이다. 예를 들어, 영상 통화와 같은 비디오 컨퍼런스 서비스를 타겟으로 하는 경우라면 I 프레임과 P 프레임만으로 영상이 구성될 수 있다. I 프레임과 P 프레임만으로 구성될 경우 ME(Motion Estimation) 및 MC(Motion Compensation) 모듈은 거의 사용되지 않으므로 ME 및 MC 모듈을 제외한 다른 모듈의 계산량(즉, 사이클)으로 계산량을 구하는 것이 보다 적절할 수 있다.
표 1은 글로벌 서비스의 경우 1 싸이클을 표현하는데 사용될 수 있는 연산을 예시한다.
A B C
Integer
(정수)
Floating point
(부동 소수점)
Addition (가산)
Multiplication (승산)
Fixed point
(고정 소수점)
Subtraction(감산) (optional)
Division(제산) (optional)
글로벌 서비스는 범용 서비스를 위한 경우이다. 일반적인 디코더가 사용하는 모든 모듈에 대해서 계산량을 구할 때 쓰일 수 있다.
특정한 타겟 서비스가 아닌 글로벌 서비스인 경우의 예로, 1 싸이클(cycle)은 1회의 A 바이트 B 포인트 C(A bytes B point C) 로 표현될 수 있으며, 다른 계산량은 1 싸이클(cycle)로 정의된 계산량의 상대적인 값으로 표시할 수 있다. 예를 들어, 글로벌 서비스의 계산량 1 싸이클은 “정수 바이트 부동 소수점 가산”, “정수 바이트 고정 소수점 감산”과 같이 표현될 수 있을 것이다.
표 2는 타겟 서비스의 경우 1 싸이클을 표현하는데 사용될 수 있는 연산을 예시한다.
A B C
# of MB
(매크로블록의 수)
Integer Pel
(정수단위 픽셀 연산)
DCT
ME&MC
Half Pel
(1/2 픽셀 연산)
Loop Filter
Entropy
Quarter Pel (Optional)
(1/4 픽셀 연산)
Quantization
Intra Prediction
타겟 서비스는 예를 들어, 실시간성이 중요시 되는 비디오 컨퍼런스 서비스와 같은 특별한 경우에 유용하게 적용될 수 있다.
특정한 타겟 서비스가 존재할 경우에는 해당 타겟 서비스의 주된(main) 연산(operation) 단위로 1 싸이클을 정의할 수도 있다. 일 실시 예로 비디오 서비스가 타겟 서비스인 경우 해당 서비스의 필요 연산(operation) 중 많이 수행되는 몇 가지 모듈(: 단위 연산)의 1회 계산량을 싸이클로 정의하여 특정 타겟에 보다 적합하도록 계산량의 상대적인 값으로 표시할 수 있다. 1 싸이클은 A 개의 매크로 블록(Macro Block; 비디오 데이터의 구조 단위)에 B 단위 연산을 수행하는 C 인코딩/디코딩 모듈로 표현할 수 있다.
표 2의 C 컬럼에 기재된 DCT(Discrete Cosine Transformation), ME(Motion Estimation), MC(Motion Compensation), 루프 필터(Loop Filter), 엔트로피(Entropy), 양자화(Quantization), 및 인트라 프리딕션(Intra Prediction)은 인코딩/디코딩에 필요한 모듈들이다.
표 3은 컨텐츠의 전체 계산량을 표현하기 위한 인자들을 설명한다.
Variables(변수 형식) Unit(단위)
Request processor speed rG double [cycles/sec]
Allowed processing time D double Msec
Cycle unit information CU Unsigned long MIPS or FLOPS
Peak buffer status Bmax unsigned long Bytes Optional(선택적)
Relative unit complexity UR unsigned long Cycles Optional(선택적)

요구 처리 속도(Request processor speed) rG 는 초당 요구되는 보장(guaranteed) 계산 속도로서 컨텐츠가 요구하는 평균 계산속도와 순간적으로 가장 높은 계산 속도인 최대 계산속도의 중간 값이며, 단위는 cycle/sec이다. 요구 처리 속도 값을 결정하는데 있어서 최대허용지연이 고려되어야 한다. 최대허용지연이 클수록, 요구 처리 속도는 작아진다. 요구 처리 속도는 컨텐츠의 일부 구간을 소비하기 위한 자원(즉, 전압, 주파수)을 예약하는데 사용될 수 있다.
최대허용지연(Allowed processing time) D 는 전압, 주파수 스케일링을 수행할 수 있는 최대 허용 시간을 초 단위로 표현한다. DVFS를 수행하는 단위(예를 들어, GOP, 프레임 등)마다 처리 시간(processing time)이 다를 수 있어 지터(jitter)가 발생 할 수 있다. 따라서, 최대허용지연은 허용 지터 내에서의 DVFS를 수행하기 위한 변수이다. 최대허용지연은 인가된 작업(task)이 실행(execute)될 때까지의 여유시간을 결정짓는 정보(비디오에서 초당 프레임(Frame Per Second))와 지터에 의해 결정될 수 있다.
싸이클 단위 정보(Cycle unit information) CU 는 앞서 설명한 1 싸이클에 대한 정량적인 계산량(즉, 단위 계산량)을 전달하기 위한 변수이다. 즉, 범용적인 서비스인 경우 A 바이트의 B 포인트 C 연산(operation)을 수행하는데 필요한 정량적인 계산량을 의미하고, 특정한 타겟 서비스인 경우 (예를 들어, 비디오 서비스) A개의 매크로 블록을 B 픽셀(Pel; Pixel) 단위로 C 연산(operation)을 수행하는데 필요한 정량적인 계산량을 의미한다. 상기 단위 계산량은, 컴퓨터에서 작업의 계산량을 정량적으로 표현하기위해 사용되는 단위인, MIPS(million instructions per second; 초당 백만 명령어) 혹은 FLOP(floating-point operation; 부동 소수점 연산)으로 표현될 수 있다.
순간 최대 버퍼 사용량(Peak buffer status) Bmax 는 바이트단위로 표현된다. 버퍼에 사용되는 데이터 양은 처리 전 데이터와 처리 후 데이터의 합으로 표시될 수 있다. 압축된 멀티미디어 서비스의 데이터를 디코딩하는 경우, 처리 후 데이터 양이 크게 늘어나므로 처리 후 저장하는 데이터 양을 최소화하는 것이 좋다.
상대적 단위 계산량(Relative unit complexity) UR 은 표준 계산량 대비 상대적인 크기를 표현하기 위해 단위 계산량을 표현하는 변수이다. 사용된 압축된 비디오 데이터를 디코딩하는 것과 같은 복잡한 연산(operation)의 계산량 정보를 큰 단위의 MIPS 또는 FLOP 정보로 전달하면 전달을 위한 많은 데이터가 필요하게 된다. 대신에, 계산량의 기준이 되는 표준 계산을 시행한 후 표준 계산에 사용된 계산량(표준 계산량)에 대한 상대적인 크기로 계산량을 표현하면 적은 데이터로 계산량을 표현할 수 있다. 표준 계산은 예를 들어, 한 개 이상의 GOP 또는 한 개 이상의 비디오 프레임을 디코딩하는 것이 될 수 있다. 특정한 한 단위(예를 들어, GOP, 프레임)의 비디오 데이터를 계산하는데 필요한 계산량을 상대적 단위 계산량 UR이라고 한다. 선택적으로, 다음 단위 구간들의 계산량이나 상기 싸이클 단위 정보는 상기 상대적 단위 계산량의 배수로 표시할 수도 있다.
표 4는 컨텐츠의 세그먼트별 계산량을 절대적으로 표현하기 위한 인자들을 설명한다.
Variables(변수형식) Unit (단위)
Length of time segment Ti double msec
# of cycles Ci float cycles
Parallel processing flag Pf Int % Optional(선택적)
# of parallel processors ni Int - Optional(선택적)
Parallel period Pp Int % Optional(선택적)

세그먼트별 계산량 표현 변수들은 서비스 도중에 시간적으로 변화하는 자원의 양을 적응적으로 전달하기 위하여 필요하다.
표 4에 설명된 인자들은 하나의 컨텐츠를 다수의 세그먼트로 나누어서 세그먼트별로 계산량 표현 정보를 전달하는 경우에 사용될 수 있다. i번째 시간(time) 세그먼트의 길이는 Ti [sec], Ti 동안의 계산량을 Ci [cycle]라고 표현한다.
선택적으로, 세그먼트의 길이 Ti 동안에 병렬 기간(Parallel period) Pp%는 ni개의 프로세서에 의해 병렬 프로세싱(parallel processing)이 가능하다고 표현할 수 있다. 여기서, 병렬 구간(Parallel period) Pp%은 세그먼트의 길이 중에서 병렬 프로세싱이 가능한 구간을 의미한다. 비디오 서비스의 경우 병렬 프로세싱이 가능한 구간(예를 들면, ME, MC 모듈)과 병렬 프로세싱이 불가능한 구간 (예를 들면, 엔트로피 모듈)구간으로 나눌 수 있기 때문에, 병렬 구간 Pp%로 병렬 프로세싱이 가능한 구간에 대한 정보를 전달할 수 있다. 병렬 프로세싱은 세그먼트의 길이 중에서 병렬처리 시작지점이 병렬 프로세싱 플래그(Parallel processing flag) Pf %에 의해 결정되고 병렬 프로세싱 구간 Pp%만큼 지속될 수 있다.
병렬 프로세싱이 가능한 구간이 연속적이지 않을 경우, 시작위치(Pf)와 지속구간(Pp)의 정보는 퍼센트(%) 형식으로 전달되기 때문에 메시지의 길이를 2 바이트(byte)씩 확장하면서 연속적으로 기록함으로써 전달할 수 있다. 예를 들어, 병렬 프로세싱의 시행 및 중단이 반복되는 경우 2 바이트씩 덧붙이면서 (Int 변수가 2byte이므로) 병렬 기간 Pp 밑에 다음 병렬 기간 Pp 을 포함하는 식으로 확장할 수 있다.
여기서, 상기 메시지는 표 4와 같은 인자(attribute) 정보를 보내기 위한 메시지이며, 메타 데이터(meta data)라고 칭할 수도 있다.
표 5는 컨텐츠의 세그먼트별 계산량을 상대적으로 표현하기 위한 인자들을 설명한다.
Variables Unit
Length of time segment Ti double msec Optional(선택적)
Relative complexity ri Int %
Parallel processing flag Pf bool - Optional(선택적)
# of parallel processors ni Int - Optional(선택적)
Parallel period Pp Int % Optional(선택적)

계산량을 표현하는 싸이클의 개수는 매우 큰 수이고, 상기 계산량은 클라이언트의 장치와 OS(운영체제)의 환경에 따라 달라질 수 있으므로, 상기 계산량을 상대적인 값으로 나타내는 것이 계산량을 표현하는데 사용되는 정보량이 줄어들게 하므로 유리하다.
만일 i-1번째의 시간 세그먼트(time segment)의 계산량을 Ci-1 [cycle]라고 하고, i번째의 시간 세그먼트의 계산량을 Ci [cycle]라고 하면 상대적인 계산량 ri
Figure 112013067757224-pat00018
이 된다.
만일 랜덤 엑세스(random access; 비디오의 임의 시점으로 바로 접근하여 재생하는 경우)와 같이 참고할 이전 계산량이 없다면, ri = 100으로 표시할 수 있다. 그리고, i 번째 이후 세그먼트는 i 번째 계산량에 대한 상대적 계산량으로 표현할 수 있게 된다.
상대적 계산량(Relative complexity)를 사용할 경우 하나의 세그먼트 주기만 지나면 상대적 계산량 ri가 결정되어, 다음 세그먼트 주기의 계산량에 대한 추정이 가능하다. 따라서 랜덤 엑세스와 같이 참고할 계산량이 없는 경우에도 상대적 계산량을 이용하면, 첫 세그먼트 이후에는 다음 세그먼트의 계산량 계산(calculate)이 가능하게 된다. 예를 들어, 첫 세그먼트의 계산량을 계산할 때에는, 최대 주파수로 첫 세그먼트의 계산량을 구하고, 다음 세그먼트부터 계산되는 상대적 계산량을 이용하여, 적절하게 주파수를 정하여 스케일링할 수 있게 된다.
병렬 프로세싱의 시작지점이 미리 정해지는 등의 사유로 상기 시작지점을 별도로 알릴 필요가 없고 단지 병렬 프로세싱이 있는지 여부만을 알릴 필요가 있는 경우, 병렬 프로세싱 플래그는 ‘참’ 또는 ‘거짓’의 불린(Boolean)값으로 표현될 수도 있다.
표 3에서는 하나의 컨텐츠 전체를 소비하기 위해 필요한 계산량을 표현하기 위한 인자들을 설명하였고, 표 4, 표 5에서는 세그먼트별 계산량 변수를 설명하였다.
컨텐츠 전체에 대한 계산량 변수는 컨텐츠 소비의 초기화 과정에서 전달됨으로써 클라이언트가 컨텐츠 소비(즉, 컨텐츠 재생)를 위해 준비해야 하는 자원을 할당하는데 이용될 수 있다.
클라이언트의 세그먼트별 DVFS위한 계산량 변수는 표 4의 절대적인 계산량 또는 표 5의 상대적인 계산량을 표현하는 변수들이 될 수 있다. 컨텐츠의 일부, 즉 세그먼트별 계산량 변수는 보다 짧은 시간단위의 DVFS(즉, 세그먼트 DVFS)를 적용하기 위한 정보로 활용되며, 주기적 또는 비주기적으로 전달될 수 있다. 상기 비주기적 전달은 예를 들어, 장면(scene)의 변화하는 등의 이유로 세그먼트를 소비하기 위해 필요한 계산량이 이전 세그먼트보다 크게 달라지는 것과 같은 특정 이벤트 상황에서 발생할 수 있다.
컨텐츠의 세그먼트별 계산량이 컨텐츠 전체의 계산량 보다 큰 경우 해당 세그먼트에서는 지연이 발생할 수 있으므로, 바람직하게는, 상기 세그먼트별 계산량이 상기 컨텐츠의 전체 계산량보다 작거나 같을 수 있다.
먼저, 컨텐츠 DVFS를 위한 컨텐츠 전체 계산량 변수의 전달에 대하여 설명한다.
컨텐츠 전체 계산량 변수는 컨텐츠 소비의 초기화 과정이 존재하는 서비스에서 사용된다.
컨텐츠 소비의 초기화 과정이 존재하는 서비스의 경우, 클라이언트는 컨텐츠 전체에 대한 계산량 표현 정보를 전달받아서 상기 초기화 과정에서 컨텐츠 전체의 소비에 필요한 자원을 결정한다.
이하에서는 예시적인 비디오 서비스에서의 계산량 변수 전달 방법을 설명한다. 그러나 설명하는 계산량 변수 전달 방법은 본 명세서가 제안하는 기술에 대한 일 예시이므로, 다른 응용에서의 활용을 제한하지 않는다.
1) 방송(Broadcast)형 서비스에서의 컨텐츠 계산량 변수의 전달
방송 형태의 전송을 통한 비디오 서비스에는, 일대일 전송 비디오 서비스 (예를 들어, VoD(Video on Demand) 또는 스트리밍 서비스와 같은)와 달리, 일반적으로 아웃밴드(outband)를 통한 클라이언트와의 초기화 과정이 없다.
따라서, 비디오 서비스를 방송형으로 전송하는 시스템은 미디어 데이터를 전송하는 채널 내에 주기적으로 초기화를 위한 정보를 삽입하는 방식 즉, 인밴드(inband) 시그널링을 활용할 수 있다. 임의의 시점에서 서비스를 개시하는 클라이언트는 주기적으로 전송되는 인밴드 시그널을 이용하여 초기화를 수행한 뒤, 비디오 데이터를 수신하여 사용자에게 서비스를 제공한다.
예를 들어, MPEG(Moving Picture Experts Group)-2 시스템의 경우, 패킷 식별자 (PID; Packet identifier), 기본 스트림(Elementary Stream)과 같은 각 프로그램마다의 고유 정보를 전달하기 위한 프로그램 맵 테이블 (PMT; Program Map Table)이 존재한다. 표 3에서 제안한 계산량 변수에 대한 초기 정보는 PMT에서 지원하는 선택적 기술자(optional descriptor)의 스트림 예약 비트들(stream reserved bits)을 통해 각 프로그램의 선두에 전송될 수 있다.
2) 유니캐스트(Unicast) 형 서비스에서의 컨텐츠 계산량 변수의 전달
유니캐스트 형태의 전송을 통한 비디오 서비스의 경우, 방송형 전송과는 달리 아웃밴드(outband) 시그널링을 통한 초기화가 가능하다. 따라서, 본 명세서가 제안하는 계산량 변수 정보는 아웃밴드 시그널링 채널을 통해 클라이언트 단말에 전송될 수 있다. 아웃밴드 시그널링의 예로써, 미디어 서비스가 세션을 초기화를 위해 세션 초기화 프로토콜(SIP; Session Initiation Protocol)를 이용하는 경우, SIP에서 지원하는 확장 헤더(extension header)의 필드(예를 들어, P-Asserted-Service 필드)를 통해 제안하는 계산량 변수의 전달이 가능하다. 다른 예로써, 세션 기술 프로토콜(SDP; Session Description Protocol)을 이용하는 경우에도 SDP에서 정의하는 정보 이후에 위치할 수 있는 추가 기술자(descriptor)의 형태(예를 들어, Attributes 필드)를 통해 계산량 정보를 전달할 수 있다.
3) SEI 메시지를 이용한 컨텐츠 계산량 변수의 전달
MPEG-4 AVC(Advanced Video Coding)/H.264와 그 이후의 비디오 표준에서는 비디오 데이터에 대한 활용도를 높이기 위한 목적으로 부호화된 비디오의 비트스트림 내부에 추가적인 정보를 제공할 수 있도록 정의하고 있으며, 이를 추가 향상 정보(SEI; Supplemental Enhancement Information) 메시지라 부른다. 본 명세서에서 제안하는 계산량 변수는 SEI 메시지를 이용하여 주기적 또는 비주기적으로 클라이언트에 전달될 수 있다.
4) MPEG Media Transport (MMT)에서의 컨텐츠 계산량 변수 전달
새로운 MPEG 전송 시스템 표준인 MMT에서는 캡슐화(Encapsulation), 배송(Delivery), 및 시그널(Signal)으로 3개의 기능적 계층(layer)을 구분하고 있다. 캡슐화(Encapsulation) 계층은 캡슐화하는 미디어의 단위에 따라 E1, E2, E3의 내부적인 서브 계층으로 구성된다. E2 서브 계층에서 캡슐화 되는 MMT 애셋(Asset)은 MPEG-2 시스템의 기본 스트림(elementary stream)과 유사한 단위이다. 일반적으로 하나의 MMT 애셋은 하나의 프로그램을 수용하며, 각 MMT 애셋의 선두에는 이를 전송하기 위해 필요한 정보인 애셋 배송 특성(ADC; Asset Delivery Characteristic)이 존재한다. ADC는 해당 MMT 애셋을 네트워크를 통해 전송하기 위해 필요한 정보 (예를 들어, 비트율 기술자, 지연, 손실 우선순위 등)를 포함하므로 서버 및 클라이언트는 상기 정보들을 토대로 미디어 전송을 위한 초기화 과정 및 전송 도중의 정책을 결정할 수 있다.
본 발명에서 제안하는 계산량 정보도 ADC와 유사하게, 전반적인 클라이언트의 초기화를 위한 정보(즉, 컨텐츠 전체 계산량 변수 정보)를 각 MMT 애셋의 선두에 포함하여 전송함으로써 컨텐츠를 소비하는 클라이언트에서의 DVFS를 도울 수 있다.
또한, MPEG-DASH로 알려진 DASH(Dynamic Adaptive Streaming over HTTP) 표준에서는 전송되는 미디어의 종류와 특성이 MPD(Media Presentation Description)에 포함된다. 미디어의 리프리젠테이션(representation)사이에서 디코딩에 종속적인(dependent) 정보에 추가로 DVFS 기능을 위한 변수를 넣어 전달할 수 있다. 상기 DVFS 기능을 위한 추가되는 변수는 예를 들어, 에디쿼트 기술자(adequate description)가 될 수 있다.
다음으로, 세그먼트 DVFS를 위한 세그먼트 계산량 변수의 전달에 대해 설명한다.
컨텐츠의 일부 즉, 세그먼트별 계산량 변수를 전달하여, 짧은 시간 단위로 DVFS를 적용하기 위한 세그먼트별 계산량 변수의 전달 방법을 기술한다. 세그먼트 계산량 변수는 주기적 또는 특정한 이벤트(세그먼트를 소비하기 위해 필요한 계산량이 이전 세그먼트 보다 크게 달라지는 경우, 예를 들어, 장면(scene)의 변화 등) 상황에서 비주기적으로 전달될 수 있다.
이하에서는 예시적 비디오 서비스에서의 계산량 변수 전달 방법을 설명한다. 그러나 설명되는 계산량 변수 전달 방법은 본 명세서가 제안하는 기술에 대한 일 예시이므로, 다른 응용에서의 활용을 제한하지 않는다.
1) 방송형 서비스에서의 세그먼트별 계산량 변수 전달
방송형 서비스에서 세그먼트별 계산량 변수는 프로그램 특정 정보(PSI; Program Specific Information) 수준(level)에서 선택적 메시지를 통해 전송될 수 있다.
2) 유니캐스트형 서비스에서의 세그먼트별 계산량 변수 전달
유니캐스트형 서비스의 경우, RTSP(Real Time Streaming Protocol), RTP(Real Time Protocol) 또는 RTCP(RTP Control Protocol) 등의 프로토콜에서 확장 필드 및 추가적인 헤더 필드를 이용하여 본 명세서에서 제안하는 세그먼트별 계산량 정보를 클라이언트에 전달할 수 있다.
3) SEI 메시지를 이용한 세그먼트별 계산량 변수의 전달
SEI 메시지를 이용한 컨텐츠 전체의 계산량 변수의 전달과 같이, 본 명세서에 제안하는 세그먼트별 계산량 변수도 SEI 메시지를 이용하여 주기적 또는 비주기적으로 클라이언트에 전달될 수 있다.
4) MMT에서의 세그먼트별 계산량 변수 전달
MMT에서의 컨텐츠 전체의 계산량 변수와 같이, 본 명세서에 제안하는 세그먼트별 계산량 변수도 MMT 애셋을 통하여 전달될 수 있다. MMT에서 TC(Transport Characteristics; 전송 특성)은 각 MMT 애셋에 대한 ADC를 업데이트(update)하는 방식으로 전달된다. 본 명세서에서 제안하는 컨텐츠의 세부적인 단위(예를 들어, 세그먼트)의 계산량 정보는, 상기 MMT의 TC와 유사하게, 각 세그먼트마다 세그먼트별 계산량 변수를 업데이트함으로써 클라이언트가 상기 세그먼트별 계산량 변수를 알게 할 수 있다.
DASH 표준의 경우, 파일 레벨에서 캡슐화된 세그먼트에 대한 인덱스 정보가 세그먼트 인덱스 박스(sidx; Segment Index Box)에서 제공되는데, 상기 인덱스 박스에 추가로 세그먼트별 DVFS 기능을 위한 변수(즉, 세그먼트별 계산량 변수)를 넣어 전달할 수 있다.
도 2는 본 명세서의 일 실시예에 따라 클라이언트가 컨텐츠 전체 계산량 표현 정보를 이용하여 획득한 요구 처리 속도와 구간별 계산량과의 관계를 설명하는 도표이다.
요구 처리 속도 rG (200)는 컨텐츠 전체 구간의 계산량을 컨텐츠의 전체의 시간으로 나눔으로써 컨텐츠의 초당 계산량을 절대적으로 나타내는 값이다. 이러한 컨텐츠의 초당 계산량을 이용하여 컨텐츠 전체의 개략적인 계산량을 파악할 수 있고, 이를 통해 전체 컨텐츠를 소비하기 위한 자원을 예약할 수 있다. 컨텐츠 소비를 위한 자원의 예약은 주파수 스케일링(scaling) 또는 전압 스케일링 과정을 포함할 수 있다.
도 3은 본 명세서의 일 실시예에 따라 클라이언트가 컨텐츠 전체 계산량 표현 정보를 이용하여 컨텐츠 DVFS를 수행하는 과정을 예시한다.
클라이언트는 컨텐츠와 함께 상기 컨텐츠 전체의 계산량 표현 정보를 입력 받는다. 상기 클라이언트에 컨텐츠가 입력되면 컨텐츠 소비의 초기화가 수행되었는지 판단한다(302). 상기 302 단계의 판단결과 초기화가 수행되지 않은 경우, 상기 클라언트는 컨텐츠 초기화를 수행하고(304), 상기 계산량 표현 정보로부터 요구 처리 속도 rG 를 획득한다(306). 상기 302 단계의 판단결과 이미 초기화가 수행된 경우, 상기 클라이언트는, 초기화 과정 없이, 상기 계산량 표현 정보로부터 상기 요구 처리 속도 rG 를 획득한다(306). 상기 클라이언트는 상기 획득한 요구 처리 속도를 이용하여 컨텐츠 전체에 대한 동적 전압 및 주파수 스케일링을 수행한다(308).
도 4는 본 명세서의 일 실시예에 따라 클라이언트가 상대적인 세그먼트 계산량 표현 정보를 이용하여 시간 세그먼트별로 상대적 계산량을 이용하는 방법을 설명하는 도표이다.
세그먼트별로 DVFS를 제어하는 방법에는 절대적인 계산량 정보를 이용하는 방법과 상대적인 계산량 정보를 이용하는 방법이 있다. 절대적인 계산량 정보를 이용하는 방법은 상술한 콘텐트 전체의 DVFS 방법과 기본적으로 같은 방법이 적용될 수 있으며, 다만 DVFS의 적용 단위를 세그먼트로 나누어서 한다는 점에서 차이가 있다.
이하에서는 상대적인 계산량 정보를 이용하는 방법에 대하여 설명한다.
최초 세그먼트의 경우 참조할 계산량 표현 정보가 없으므로, 클라이언트는 최대 주파수로 상기 세그먼트의 계산량을 측정할 수 있다(404). 이후, 상기 클라이언트는 세그먼트 계산량 표현 정보로부터 상대적 계산량 ri 를 획득하여, 다음 세그먼트에 대한 DVFS를 수행할 수 있게 된다.
세그먼트마다 이전 세그먼트의 계산량에 대한 상대적인 계산량 [%]를 전달하여 디바이스나 OS의 종류에 관계없이 참조할 계산량을 ri %로 표현할 수 있다. 클라이언트의 디바이스나 OS(운영시스템) 환경에 따라 컨텐츠 소비를 위한 계산량은 달라질 수 있으므로, 클라이언트는 상대적인 계산량인 ri 변수를 이용할 수 있다.
도 4를 참조하면, 클라이언트는 i 번째 세그먼트의 계산량(402)은 i-1 번째 세그먼트의 계산량(400)과 클라이언트가 획득한 상대적 계산량 ri 로부터 알 수 있고, 상기 i-1 번째 세그먼트의 계산량(400)을 이용하여 세그먼트 DVFS 를 수행하게 된다.
도 5는 본 명세서의 일 실시예에 따라 클라이언트가 상대적 세그먼트 계산량 표현 정보를 이용하여 세그먼트 DVFS를 수행하는 과정을 예시한다.
클라이언트는 컨텐츠와 함께 상기 세그먼트 계산량 표현 정보를 입력 받는다. 클라이언트는 최초 세그먼트에 대한 계산량을 측정한다(502). 선택적으로, 상기 클라이언트는 최대 주파수를 이용하여 최초 세그먼트에 대한 계산량을 측정할 수 있다(502).
선택적으로, 상기 클라이언트는 현재 세그먼트의 계산량 획득에 앞서 현재 세그먼트의 동작이 랜덤 엑세스 인지 여부를 판단하는 과정을 수행할 수 있다(504).
상기 504 단계의 판단의 결과 현재 세그먼트의 동작이 랜덤 엑세스인 경우 이전 세그먼트에 대한 계산량 정보가 없어서 현재 세그먼트의 상대적 계산량도 없으므로, 상기 클라이언트는 현재 세그먼트의 상대적 계산량을 100으로 설정할 수 있다(506).
선택적으로, 상기 클라이언트는 상기 현재 세그먼트의 상대적 계산량을 다음 세그먼트에게 전달하는 과정(508)을 더 수행할 수 있다.
현재 세그먼트의 동작이 랜덤 액세스 인지를 판단하는 과정이 없거나, 상기 504 단계의 판단의 결과 랜덤 액세스가 아닌 경우, 상기 클라이언트는 계산량 표현 정보로부터 상대적 계산량을 획득한다(510). 상기 클라이언트는 상기 획득한 상대적 계산량과 이용하여 세그먼트 DVFS 를 수행한다(512).
선택적으로, 상기 클라이언트는 다음 세그먼트의 DVFS를 위해 다시 상대적 계산량(complexity)을 계산(calculate)하여(514), 다음 세그먼트에게 전달하는 과정(508)을 더 수행할 수 있다.
본 명세서의 다른 일 실시예에 따라서, 컨텐츠 DVFS 와 세그먼트 DVFS는 같이 적용될 수도 있다. 즉, 컨텐츠의 초기화 단계에서는 컨텐츠 전체의 계산량 표현 정보를 이용하여 컨텐츠 DVFS를 수행하고, 초기화 이후부터는 세그먼트별 계산량 표현 정보를 이용하여 세그먼트 DVFS를 수행할 수도 있다. 즉, 도 3과 도 5이 조합되어 실시될 수도 있을 것이다.
도 6은 비디오 데이터의 디코딩 계산량 예측을 일 실시예로 들어 계산량 예측에 따른 디코딩 에너지 절감 효과 보여주는 도표이다.
비디오 데이터의 디코딩 계산량 예측을 일 실시예로 들어 계산량 예측에 따른 디코딩 에너지 절감된 결과를 보면, DVFS를 적용하지 않은 방법(600)과 컨텐츠 계산량 표현 정보를 활용한 DVFS(602), 세그먼트 계산량 표현 정보를 활용한 DVFS(604)의 측정된 디코딩 에너지 결과는 도 6과 같다.
계산량 변수를 전달하지 않고 DVFS를 사용하지 않은 경우(600)에 비해 컨텐츠 계산량 표현 정보를 전달 받아 컨텐츠 DVFS를 사용한 경우(602)에 약 10%의 디코딩 에너지 절감 효율을 보임을 알 수 있다. 또한, 세그먼트 DVFS의 경우(604)에는 컨텐츠 DVFS(602)에 비해 세밀한 주파수 스케일링 가능하여, 컨텐츠 DVFS의 에너지 결과(602)에 비해 절감 효과가 7.8% 더 향상됨을 알 수 있다.
실험은 안드로이드/임베디드 시스템 보드인 HBE-SM5-S4210에서, 프로세서로 Coretax A9 Dual-core (2Ghz)를 사용하고, OS로 Android 2.3.5 (Gingerbread)를 사용하고, CPU 가버너(CPU governor: CPU에 주파수(CPU 클럭)를 인가하는 정책을 결정하는 리눅스 커널)로 사용자 입력 주파수를 입력하는 유저스페이스(Userspace) 타입을 적용하였다. 시뮬레이션 시 사용한 미디어 컨텐츠 및 테스트 베드에 따라 향상 효과를 변화할 수 있음은 물론이다.
실험에서 사용된 클라이언트 장비는 계산량 예측을 위한 별도의 프로파일러나 큐와 같은 예측기를 두지 않고 프레임의 타입(예를 들어, I 프레임(intra-frame), P 프레임(unidirectional predicted frame), B 프레임(bidirectional predictive frame))별로 가장 인접한 이전의 계산량을 상대적으로 참조하여 계산량을 예측하였다. 또한 본 명세서에 따른 클라이언트 장비는 DVFS 적용을 위한 별도의 예측기를 두지 않기 때문에 디코딩 이전에 프리디코딩을 수행하거나 프리디코딩 정보를 별도의 메모리에 저장하는 과정이 필요 없어서 더 효율적이다.
도 7은 비디오 데이터의 디코딩 계산량 예측을 일 실시예로 들어 계산량 예측에 따른 디코딩 예측의 정확도를 설명하는 히스토그램이다.
도 7이 도시하는 히스토그램은 컨텐츠 DVFS 방식에 따라, 컨텐츠 전체의 계산량을 컨텐츠 재생시간으로 나눈 주파수를 이용하여 컨텐츠를 디코딩하였을 때 발생하는 지연에 대한 히스토그램이다.
히스토그램에서 GOP 지연(GOP Delay)[%] 값이 음수에 해당하는 부분은, 계산량에 의해 요구되는 주파수에 비해 고정 값인 상기 주파수(컨텐츠 전체의 계산량을 컨텐츠 재생시간으로 나눈 주파수)가 커서 디코딩 에너지가 낭비되는 부분이다. 또한, 히스토그램에서 상기 GOP 지연 값이 양수에 해당하는 부분은, 주파수가 처리해야 하는 계산량에 비해 상기 주파수(컨텐츠 전체의 계산량을 컨텐츠 재생시간으로 나눈 주파수)가 작아 지연이 발생하는 부분이다.
약 10초 동안, 18개의 GOP를 대상으로 한 실험에서 0.11833초 (118.33ms)의 누적 지연이 발생하였다. 이러한 지연은 스트리밍 서비스와 같은 비 실시간 이벤트(non-live event) 서비스에서는 문제가 되지 않지만 비디오 컨퍼런스와 같은 실시간 이벤트(live event) 서비스에서는 문제가 될 수 있다. 따라서, 실시간 이벤트 서비스에서는 세그먼트별 계산량 변화에 적응적으로 대응할 수 있는 세그먼트 DVFS 방법을 사용하는 것이 바람직하다. 즉, 세그먼트 DVFS의 경우 예측된 세그먼트별 계산량을 디코딩이 완료되어야 하는 시간으로 나누어 주파수 스케일링을 수행하기 때문에 지연이 존재하지 않게 된다.
도 8은 본 명세서의 일 실시예에 따른 멀티미디어 컨텐츠 송신 방법을 예시하는 도면이다.
멀티미디어 컨텐츠를 송신하는 장치(예를 들어, 서버)는 송신할 컨텐츠를 생성한다(800).
상기 송신 장치는, 상기 컨텐츠를 수신하는 장치(예를 들어, 클라이언트)가 상기 컨텐츠를 소비할 때 필요한 정보 즉, 컨텐츠 전체에 대한 계산량 표현 정보 및 세그먼트에 대한 계산량 표현 정보 중 적어도 하나를 생성한다(810). 상기 계산량 표현 정보들은 상기 송신 장치가 상기 컨텐츠를 생성하는 과정에서 같이 생성될 수 있다. 이때, 상기 계산량 표현 정보들은 동적 전압 및 주파수 스케일링(DVFS)을 수행하는데 이용되는 계산량(complexity)을 표현하는 정보들이며, 상기 계산량 표현 정보에 포함되는 세부 정보들은 예를 들어, 표 3 내지 표 5에서 설명된 인자들이 될 수 있다.
상기 송신 장치는 상기 컨텐츠 전체에 대한 계산량 표현 정보 및 세그먼트에 대한 계산량 표현 정보 중 적어도 하나와 상기 생성된 컨텐츠를 상기 수신 장치로 송신한다(820). 이때, 상기 컨텐츠 전체에 대한 계산량 표현 정보 및 세그먼트에 대한 계산량 표현 정보 중 적어도 하나는 MMT 시스템의 경우에는 MMT 에셋에 포함되어 송신될 수 있으며, 타 시스템에서도 앞서 설명한 각각의 방법을 적용하여 송신될 수 있다.
도 9는 본 명세서의 일 실시예에 따른 멀티미디어 컨텐츠 수신 방법을 예시하는 도면이다.
멀티미디어 컨텐츠를 수신하는 장치(예를 들어, 클라이언트)는 컨텐츠 송신 장치(예를 들어, 서버)로부터 컨텐츠를 수신한다(900).
상기 수신 장치는, 상기 컨텐츠를 소비할 때 필요한 정보 즉, 컨텐츠 전체에 대한 계산량 표현 정보 및 세그먼트에 대한 계산량 표현 정보 중 적어도 하나를 수신한다(910). 이때, 상기 계산량 표현 정보들은 동적 전압 및 주파수 스케일링(DVFS)을 수행하는데 이용되는 계산량(complexity)을 표현하는 정보들이며, 상기 계산량 표현 정보에 포함되는 세부 정보들은 예를 들어, 표 3 내지 표 5에서 설명된 인자들이 될 수 있다.
상기 컨텐츠 전체에 대한 계산량 표현 정보 및 세그먼트에 대한 계산량 표현 정보 중 적어도 하나는, MMT 시스템의 경우, MMT 에셋에 포함되어 수신될 수 있으며, 타 시스템에서도 앞서 설명한 각각의 방법을 적용하여 수신될 수 있다.
상기 수신 장치는 상기 수신한 계산량 표현 정보를 이용하여 전압 및 주파수 스케일링을 수행한다(920).
상기 수신 장치는 상기 스케일링된 자원(즉, 전압 및 주파수)을 이용하여 상기 수신한 컨텐츠를 소비(즉, 디코딩 등의 과정을 통한 재생)한다(930).
도 10은 본 명세서의 일 실시예에 따른 멀티미디어 컨텐츠 송신 장치의 구성을 예시하는 도면이다.
컨텐트 송신 장치(1000)은 제어부(1020)의 제어에 따라 컨텐츠를 송신하고, 계산량 표현 정보를 송신하는 송수신부(1010)와 상기 제어부(1020)를 포함할 수 있다.
상기 제어부(1020)은 본 명세서에 설명한 컨텐츠 송신 장치(예를 들어, 서버)측에서의 일련의 방법들을 수행하도록 제어할 수 있다. 예를 들어, 상기 제어부(1020)은 송신하기 위한 컨텐츠를 생성하는 동작, 컨텐츠 전체에 대한 계산량 표현 정보 및 세그먼트에 대한 계산량 표현 정보들을 생성하는 동작을 수행할 수 있다.
도 11은 본 명세서의 일 실시예에 따른 멀티미디어 컨텐츠 수신 장치의 구성을 예시하는 도면이다.
컨텐트 수신 장치(1100)은 제어부(1120)의 제어에 따라 컨텐츠를 수신하고, 계산량 표현 정보를 수신하는 송수신부(1110)와 상기 제어부(1120)를 포함할 수 있다.
상기 제어부(1120)은 본 명세서에 설명한 컨텐츠 수신 장치(예를 들어, 클라이언트)측에서의 일련의 방법들을 수행하도록 제어할 수 있다. 예를 들어, 상기 제어부(1120)은 컨텐츠를 초기화하는 동작, 컨텐츠 소비를 위한 자원을 할당하는 동작, 계산량 표현 정보를 획득하여 전압 및 주파수 스케일링을 수행하는 동작, 및 상기 스케일링의 결과로 자원을 이용하여 컨텐츠를 소비하는 동작 등을 수행할 수 있다.
상기 도 2 내지 도 111 예시하는 도표, 방법의 예시도, 장치의 구성 예시도는, 실험 결과 도표 등은 본 명세서의 권리범위를 한정하기 위한 의도가 없음을 유의하여야 한다. 즉, 상기 도 2 내지 도 11에 기재된 모든 구성부, 또는 동작의 단계가 발명의 실시를 위한 필수구성요소인 것으로 해석되어서는 안되며, 일부 구성요소 만을 포함하여도 발명의 본질을 해치지 않는 범위 내에서 구현될 수 있다.
앞서 설명한 동작들은 해당 프로그램 코드를 저장한 메모리 장치를 서버 장치, 클라이언트 장치 또는 단말 장치 내의 임의의 구성부에 구비함으로써 실현될 수 있다. 즉, 서버 장치, 클라이언트 장치 또는 단말 장치의 제어부는 메모리 장치 내에 저장된 프로그램 코드를 프로세서 혹은 CPU(Central Processing Unit)에 의해 읽어내어 실행함으로써 앞서 설명한 동작들을 실행할 수 있다.
본 명세서에서 설명되는 서버 장치, 클라이언트 장치 또는 단말 장치의 다양한 구성부들과, 모듈(module)등은 하드웨어(hardware) 회로, 일 예로 상보성 금속 산화막 반도체(complementary metal oxide semiconductor) 기반 논리 회로와, 펌웨어(firmware)와, 소프트웨어(software) 및/혹은 하드웨어와 펌웨어 및/혹은 머신 판독 가능 매체에 삽입된 소프트웨어의 조합과 같은 하드웨어 회로를 사용하여 동작될 수도 있다. 일 예로, 다양한 전기 구조 및 방법들은 트랜지스터(transistor)들과, 논리 게이트(logic gate)들과, 주문형 반도체와 같은 전기 회로들을 사용하여 실시될 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (26)

  1. 제어부를 포함하는 서버에 의해 멀티미디어 컨텐츠를 송신하는 방법에 있어서,
    상기 제어부가 컨텐츠를 생성하는 동작;
    상기 제어부가 상기 컨텐츠의 전체 소비에 필요한 제1 계산량 표현 정보 및 상기 컨텐츠의 세그먼트 소비에 필요한 제2 계산량 표현 정보 중 적어도 하나를 생성하는 동작; 및
    상기 제어부가 상기 제1 계산량 표현 정보 및 상기 제2 계산량 표현 정보 중 적어도 하나와 상기 생성된 컨텐츠를 송신하는 동작을 포함하며,
    상기 제1 계산량 표현 정보는:
    상기 컨텐츠 전체가 소비되기 위해 보장이 요구되는 계산 속도인 요구 처리 속도(Request processor speed),
    상기 컨텐츠 전체에 대해 동적 전압 및 주파수 스케일링(DVFS; Dynamic Voltage and Frequency Scaling)을 수행할 수 있는 최대 허용 시간인 최대허용지연(Allowed processing time), 및
    상기 컨텐츠 전체를 소비할 전자장치의 적어도 하나의 프로세서의 1 싸이클에 대한 정량적인 계산량인 싸이클 단위 정보(Cycle unit information)를 포함하고,
    상기 제2 계산량 표현 정보는:
    상기 세그먼트의 길이를 나타내는 시간 세그먼트 길이(Length of time segment), 및
    상기 세그먼트의 이전 세그먼트의 계산량에 대한 상대적 값으로 상기 세그먼트 동안의 계산량을 표현한 정보인 상대적 계산량(Relative complexity)을 포함하는, 서버에 의해 멀티미디어 컨텐츠를 송신하는 방법.
  2. 제1항에 있어서,
    상기 제1 계산량 표현 정보 및 상기 제2 계산량 표현 정보는 동적 전압 및 주파수 스케일링(DVFS; Dynamic Voltage and Frequency Scaling)을 수행하는데 이용되는 계산량(complexity)을 표현하는 정보임을 특징으로 하는 서버에 의해 멀티미디어 컨텐츠를 송신하는 방법.
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 제1 계산량 표현 정보 및 상기 제2 계산량 표현 정보 중 적어도 하나는, MMT(MPEG Media Transport) 시스템의 캡슐화(Encapsulation) 계층의 서브 계층인 E2 서브 계층에서 캡슐화되는 MMT 애셋(Asset)에 포함되어 송신됨을 특징으로 하는 서버에 의해 멀티미디어 컨텐츠를 송신하는 방법.
  6. 삭제
  7. 삭제
  8. 적어도 하나의 프로세서를 포함하는 전자장치에 의해 멀티미디어 컨텐츠를 수신하는 방법에 있어서,
    상기 적어도 하나의 프로세서가 컨텐츠를 수신하는 동작;
    상기 적어도 하나의 프로세서가 상기 컨텐츠의 전체 소비에 필요한 제1 계산량 표현 정보 및 상기 컨텐츠의 세그먼트 소비에 필요한 제2 계산량 표현 정보 중 적어도 하나를 수신하는 동작;
    상기 적어도 하나의 프로세서가 상기 제1 계산량 표현 정보 및 상기 제2 계산량 표현 정보 중 적어도 하나를 이용하여 상기 컨텐츠를 소비하기 위한 전압 및 주파수를 스케일링하는 동작; 및
    상기 적어도 하나의 프로세서가 상기 스케일링된 전압 및 주파수를 이용하여 상기 컨텐츠를 소비하는 동작을 포함하며,
    상기 제1 계산량 표현 정보는:
    상기 컨텐츠 전체가 소비되기 위해 보장이 요구되는 계산 속도인 요구 처리 속도(Request processor speed),
    상기 컨텐츠 전체에 대해 동적 전압 및 주파수 스케일링(DVFS; Dynamic Voltage and Frequency Scaling)을 수행할 수 있는 최대 허용 시간인 최대허용지연(Allowed processing time), 및
    상기 컨텐츠 전체를 소비할 전자장치의 적어도 하나의 프로세서의 1 싸이클에 대한 정량적인 계산량인 싸이클 단위 정보(Cycle unit information)를 포함하고,
    상기 제2 계산량 표현 정보는:
    상기 세그먼트의 길이를 나타내는 시간 세그먼트 길이(Length of time segment), 및
    상기 세그먼트의 이전 세그먼트의 계산량에 대한 상대적 값으로 상기 세그먼트 동안의 계산량을 표현한 정보인 상대적 계산량(Relative complexity)을 포함하는, 전자장치에 의해 멀티미디어 컨텐츠를 수신하는 방법.
  9. 제8항에 있어서,
    상기 제1 계산량 표현 정보 및 상기 제2 계산량 표현 정보는 동적 전압 및 주파수 스케일링(DVFS; Dynamic Voltage and Frequency Scaling)을 수행하는데 이용되는 계산량(complexity)을 표현하는 정보임을 특징으로 하는 전자장치에 의해 멀티미디어 컨텐츠를 수신하는 방법.
  10. 삭제
  11. 삭제
  12. 제8항에 있어서,
    상기 제1 계산량 표현 정보 및 상기 제2 계산량 표현 정보 중 적어도 하나는, MMT(MPEG Media Transport) 시스템의 캡슐화(Encapsulation) 계층의 서브 계층인 E2 서브 계층에서 캡슐화되는 MMT 애셋(Asset)에 포함되어 수신됨을 특징으로 하는 전자장치에 의해 멀티미디어 컨텐츠를 수신하는 방법.
  13. 삭제
  14. 삭제
  15. 멀티미디어 컨텐츠를 송신하는 서버에 있어서,
    컨텐츠를 식별하고; 상기 컨텐츠의 전체 소비에 필요한 제1 계산량 표현 정보 및 상기 컨텐츠의 세그먼트 소비에 필요한 제2 계산량 표현 정보 중 적어도 하나를 생성하고; 상기 제1 계산량 표현 정보 및 상기 제2 계산량 표현 정보 중 적어도 하나와 상기 컨텐츠를 송신하도록 제어하는 제어부를 포함하며,
    상기 제1 계산량 표현 정보는:
    상기 컨텐츠 전체가 소비되기 위해 보장이 요구되는 계산 속도인 요구 처리 속도(Request processor speed),
    상기 컨텐츠 전체에 대해 동적 전압 및 주파수 스케일링(DVFS; Dynamic Voltage and Frequency Scaling)을 수행할 수 있는 최대 허용 시간인 최대허용지연(Allowed processing time), 및
    상기 컨텐츠 전체를 소비할 전자장치의 적어도 하나의 프로세서의 1 싸이클에 대한 정량적인 계산량인 싸이클 단위 정보(Cycle unit information)를 포함하고,
    상기 제2 계산량 표현 정보는:
    상기 세그먼트의 길이를 나타내는 시간 세그먼트 길이(Length of time segment), 및
    상기 세그먼트의 이전 세그먼트의 계산량에 대한 상대적 값으로 상기 세그먼트 동안의 계산량을 표현한 정보인 상대적 계산량(Relative complexity)을 포함하는, 멀티미디어 컨텐츠를 송신하는 서버.
  16. 삭제
  17. 삭제
  18. 제15항에 있어서,
    상기 제1 계산량 표현 정보 및 상기 제2 계산량 표현 정보 중 적어도 하나는, MMT(MPEG Media Transport) 시스템의 캡슐화(Encapsulation) 계층의 서브 계층인 E2 서브 계층에서 캡슐화되는 MMT 애셋(Asset)에 포함되어 송신됨을 특징으로 하는 멀티미디어 컨텐츠를 송신하는 서버.
  19. 삭제
  20. 삭제
  21. 멀티미디어 컨텐츠를 수신하는 전자장치에 있어서,
    컨텐츠를 수신하고; 상기 컨텐츠의 전체 소비에 필요한 제1 계산량 표현 정보 및 상기 컨텐츠의 세그먼트 소비에 필요한 제2 계산량 표현 정보 중 적어도 하나를 수신하고; 상기 제1 계산량 표현 정보 및 상기 제2 계산량 표현 정보 중 적어도 하나를 이용하여 상기 컨텐츠를 소비하기 위한 전압 및 주파수를 스케일링하고; 상기 스케일링된 전압 및 주파수를 이용하여 상기 컨텐츠를 소비하도록 제어하는 적어도 하나의 프로세서를 포함하고,
    상기 제1 계산량 표현 정보는:
    상기 컨텐츠 전체가 소비되기 위해 보장이 요구되는 계산 속도인 요구 처리 속도(Request processor speed),
    상기 컨텐츠 전체에 대해 동적 전압 및 주파수 스케일링(DVFS; Dynamic Voltage and Frequency Scaling)을 수행할 수 있는 최대 허용 시간인 최대허용지연(Allowed processing time), 및
    상기 컨텐츠 전체를 소비할 전자장치의 적어도 하나의 프로세서의 1 싸이클에 대한 정량적인 계산량인 싸이클 단위 정보(Cycle unit information)를 포함하고,
    상기 제2 계산량 표현 정보는:
    상기 세그먼트의 길이를 나타내는 시간 세그먼트 길이(Length of time segment), 및
    상기 세그먼트의 이전 세그먼트의 계산량에 대한 상대적 값으로 상기 세그먼트 동안의 계산량을 표현한 정보인 상대적 계산량(Relative complexity)을 포함하는 멀티미디어 컨텐츠를 수신하는 전자장치.
  22. 삭제
  23. 삭제
  24. 제21항에 있어서,
    상기 제1 계산량 표현 정보 및 상기 제2 계산량 표현 정보 중 적어도 하나는, MMT(MPEG Media Transport) 시스템의 캡슐화(Encapsulation) 계층의 서브 계층인 E2 서브 계층에서 캡슐화되는 MMT 애셋(Asset)에 포함되어 수신됨을 특징으로 하는 멀티미디어 컨텐츠를 수신하는 전자장치.
  25. 삭제
  26. 삭제
KR1020130088597A 2013-07-26 2013-07-26 멀티미디어 컨텐츠를 송수신하는 방법 및 그 장치 KR102127800B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130088597A KR102127800B1 (ko) 2013-07-26 2013-07-26 멀티미디어 컨텐츠를 송수신하는 방법 및 그 장치
PCT/KR2014/006828 WO2015012644A1 (en) 2013-07-26 2014-07-25 Method and apparatus for transceiving multimedia content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130088597A KR102127800B1 (ko) 2013-07-26 2013-07-26 멀티미디어 컨텐츠를 송수신하는 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20150012724A KR20150012724A (ko) 2015-02-04
KR102127800B1 true KR102127800B1 (ko) 2020-06-29

Family

ID=52393582

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130088597A KR102127800B1 (ko) 2013-07-26 2013-07-26 멀티미디어 컨텐츠를 송수신하는 방법 및 그 장치

Country Status (2)

Country Link
KR (1) KR102127800B1 (ko)
WO (1) WO2015012644A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120198255A1 (en) 2008-10-13 2012-08-02 International Business Machines Corporation Establishing an operating range for dynamic frequency and voltage scaling

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7532195B2 (en) * 2004-09-27 2009-05-12 Idc, Llc Method and system for reducing power consumption in a display
KR100722314B1 (ko) * 2005-03-24 2007-05-28 중앙대학교 산학협력단 Dvs를 이용한 멀티미디어 신호처리 장치
JP2007267335A (ja) * 2006-03-30 2007-10-11 Casio Comput Co Ltd サーバー装置、クライアント装置、サーバークライアントシステムおよびプログラム
US7983204B2 (en) * 2007-11-27 2011-07-19 Motorola Mobility, Inc. Wirelesss communication device and method
US20100058086A1 (en) * 2008-08-28 2010-03-04 Industry Academic Cooperation Foundation, Hallym University Energy-efficient multi-core processor
US8538484B2 (en) * 2009-08-14 2013-09-17 Google Inc. Providing a user with feedback regarding power consumption in battery-operated electronic devices
JP2011221096A (ja) * 2010-04-05 2011-11-04 Seiko Epson Corp コンテンツ提供システム、情報処理装置及びコンテンツ提供方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120198255A1 (en) 2008-10-13 2012-08-02 International Business Machines Corporation Establishing an operating range for dynamic frequency and voltage scaling

Also Published As

Publication number Publication date
WO2015012644A1 (en) 2015-01-29
KR20150012724A (ko) 2015-02-04

Similar Documents

Publication Publication Date Title
KR101248371B1 (ko) 비디오 프로세싱에서의 전력 및 연산 부하 관리 기술
US8948270B2 (en) Power and computational load management techniques in video processing
US9350990B2 (en) Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming
TWI533677B (zh) 用於減少視訊編碼及解碼中之延遲的方法、系統及電腦可讀取媒體
US9338467B1 (en) Parallel video transcoding
JP7012747B2 (ja) ビデオフレーム符号化方法、端末、および記憶媒体
US20200288177A1 (en) Encode/decode strategy for mitigating irregular decoding time
JP2016526336A (ja) 適応ビットレートストリーミングのための適応量子化を用いて複数のビデオストリームをエンコードするシステムおよび方法
ITTO20090486A1 (it) Controllore dinamico della velocita' di trasmissione indipendente dal gruppo di immagini
US20180184089A1 (en) Target bit allocation for video coding
CN106717005B (zh) 根据参考频率控制参考图像数据的视频编码/解码方法和设备
US10735773B2 (en) Video coding techniques for high quality coding of low motion content
KR102127800B1 (ko) 멀티미디어 컨텐츠를 송수신하는 방법 및 그 장치
RU2587412C2 (ru) Управление скоростью передачи видео на основе гистограммы коэффициентов преобразования
Huang et al. A workload prediction model for decoding mpeg video and its application to workload-scalable transcoding
Sanz-Rodríguez et al. A parallel H. 264/SVC encoder for high definition video conferencing
CN111953988B (zh) 视频转码方法、计算机设备和存储介质
Huang et al. Architecture for video streaming application on heterogeneous platform
EP3606070A1 (en) Systems, methods, and apparatuses for video processing
TW201345267A (zh) 用以促進影音串流之具成本效益及低延遲編碼之機制
Basavaraju et al. Rate quality factor optimization for vp8 video codec for mobile communication applications
KR20230053229A (ko) 분산형 병렬 트랜스코딩 방법 및 장치
Huang et al. Decoding-workload-aware video encoding
Seo et al. Real-time lossless compression for HDTV video using a GPGPU

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant