KR101314594B1 - 동영상 데이터 선반입 방법 및 이를 이용한 동영상 재생 장치 - Google Patents

동영상 데이터 선반입 방법 및 이를 이용한 동영상 재생 장치 Download PDF

Info

Publication number
KR101314594B1
KR101314594B1 KR1020120000639A KR20120000639A KR101314594B1 KR 101314594 B1 KR101314594 B1 KR 101314594B1 KR 1020120000639 A KR1020120000639 A KR 1020120000639A KR 20120000639 A KR20120000639 A KR 20120000639A KR 101314594 B1 KR101314594 B1 KR 101314594B1
Authority
KR
South Korea
Prior art keywords
buffer
disk
video
frames
frame
Prior art date
Application number
KR1020120000639A
Other languages
English (en)
Other versions
KR20130079884A (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 KR1020120000639A priority Critical patent/KR101314594B1/ko
Publication of KR20130079884A publication Critical patent/KR20130079884A/ko
Application granted granted Critical
Publication of KR101314594B1 publication Critical patent/KR101314594B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • G11B2020/10712Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control buffer capacity, e.g. when the buffer capacity is exhausted, buffered data are overwritten with more recent data, accepting that the old data are lost
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10787Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data parameters, e.g. for decoding or encoding
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명은 여러 개의 세그먼트로 나뉘어 각 세그먼트마다 허용 가능한 최소 해상도 수준이 설정된 동영상 파일이 저장되는 디스크; 재생을 위해 상기 동영상 파일의 프레임들이 임시 저장되는 버퍼; 재생시 상기 동영상 파일의 프레임들을 상기 디스크로부터 인출하여 상기 버퍼에 저장하는 반입부; 상기 버퍼에 저장되어 있는 상기 프레임들을 디코딩(decoding)하여 재생하는 재생부; 및 상기 디스크를 제어하고, 상기 디스크의 전력 모드를 설정하는 디스크 제어부;를 포함하되, 상기 디스크 제어부는 상기 각 세그먼트별 해상도 수준 정보에 근거하여 제 1 조건 및 제 2 조건이 충족되는지 판단하고, 충족될 경우 상기 디스크의 전력 모드를 대기 모드로 설정하며, 상기 제 1 조건은 상기 버퍼에 최대량의 프레임이 선반입되었는지 여부이고, 상기 제 2 조건은 상기 선반입되어 있는 프레임들이 재생되어 상기 버퍼가 비워지는 데 걸리는 잔여 디코딩 시간이 상기 디스크를 대기 모드로 진입시키는 데 따른 손익 분기 시간보다 긴지 여부인 동영상 재생 장치를 제공한다.

Description

동영상 데이터 선반입 방법 및 이를 이용한 동영상 재생 장치{METHOD FOR PREFETCHING MULTIMEDIA DATA AND MULTIMEDIA PLAYER USING THE SAME}
본 발명은 동영상 재생 방법에 관한 것으로서, 보다 상세하게는 디스크의 소비 전력을 감소시킬 수 있는 동영상 데이터 선반입 방법에 관한 것이다.
최근 멀티미디어와 네트워크 관련 기술들의 발달은 넷북, 노트북, PMP, MP3 플레이어 등의 휴대용 기기들에서 실시간으로 동영상 서비스를 이용하는 것을 가능하게 하였다. 멀티미디어 콘텐츠는 큰 저장 공간을 필요로 하기 때문에 많은 휴대용 멀티미디어 기기들은 가격대비 성능이 뛰어난 디스크를 저장 매체로 채택한다. 그러나 디스크는 상당한 양의 전력을 소비하기 때문에 전력 소비를 줄이는 기법이 매우 중요하다. 한 예로, PDA에서 사용되는 마이크로 드라이브는 PDA 전체 전력 소비의 23%에 해당하는 전력을 소비하는 것으로 알려져 있다.
디스크 전력 소비를 줄이기 위해서는 전력 소비량이 낮은 대기 모드에 최대한 오래 머물게 하는 것이 좋다. 이를 위해 디스크가 데이터 요청을 처리할 필요를 낮추는 방안이 있다. 하지만 이를 위해 버퍼 용량을 크게 늘리는 것은, 특히 휴대용 기기인 경우, 바람직하지 않으며, 동영상의 질을 지나치게 낮추는 것 또한 사용자의 만족도가 크게 줄어들 위험이 있다.
이에 따라 본 발명은 스케일러블 비디오 코딩(SVC: Scalable Video Coding) 기법을 사용하여 사용자가 불편을 느끼지 않는 범위 내에서 구간별로 가장 적절한 해상도를 지정하는 방안을 제안한다.
SVC와 관련하여 한국 등록 특허 10-0772868호("복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법 및 장치")에는 복수의 계층으로 이루어지는 비디오 시퀀스를 부호화하는 비디오 인코더의 구성이 개시되어 있다.
디스크 대기 모드와 관련하여서는 한국 등록 특허 10-0780939호("하드디스크 드라이브의 언로드 대기 시간 제어 방법 및 이에 적합한 장치")에 하드디스크 드라이브의 언로드 대기동작을 제어하는 구성이 개시되어 있다.
본 발명은 전술한 디스크 전력 소비 문제를 해결하기 위한 것으로서, 그 목적은 동영상의 질을 크게 낮추지 않으면서 디스크의 전력 소모를 감소시킬 수 있는 동영상 데이터 선반입 방법을 제공하는 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 제 1 측면에 따른 동영상 재생 장치는 여러 개의 세그먼트로 나뉘어 각 세그먼트마다 허용 가능한 최소 해상도 수준이 설정된 동영상 파일이 저장되는 디스크; 재생을 위해 상기 동영상 파일의 프레임들이 임시 저장되는 버퍼; 재생시 상기 동영상 파일의 프레임들을 상기 디스크로부터 인출하여 상기 버퍼에 저장하는 반입부; 상기 버퍼에 저장되어 있는 상기 프레임들을 디코딩(decoding)하여 재생하는 재생부; 및 상기 디스크를 제어하고, 상기 디스크의 전력 모드를 설정하는 디스크 제어부;를 포함하되, 상기 디스크 제어부는 상기 각 세그먼트별 해상도 수준 정보에 근거하여 제 1 조건 및 제 2 조건이 충족되는지 판단하고, 충족될 경우 상기 디스크의 전력 모드를 대기 모드로 설정하며, 상기 제 1 조건은 상기 버퍼에 최대량의 프레임이 선반입되었는지 여부이고, 상기 제 2 조건은 상기 선반입되어 있는 프레임들이 재생되어 상기 버퍼가 비워지는 데 걸리는 잔여 디코딩 시간이 상기 디스크를 대기 모드로 진입시키는 데 따른 손익 분기 시간보다 긴지 여부인 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 제 2 측면에 따른 동영상 재생시 디스크가 소비하는 전력을 줄일 수 있도록 데이터를 선반입하는 방법은 (a) 상기 동영상의 버퍼에 저장된 프레임들을 디코딩하여 재생하는 단계; (b) 상기 (a) 단계와 병렬적으로, 상기 동영상의 세그먼트별 해상도 수준에 따라 상기 동영상의 프레임을 상기 디스크에서 버퍼로 선택적 반입하는 단계; 및 (c) 상기 동영상의 각 세그먼트별 해상도 수준 정보에 근거하여 제 1 조건 및 제 2 조건이 충족되는지 판단하고, 충족될 경우 상기 디스크를 대기 모드로 진입시키는 단계;를 포함하되, 상기 제 1 조건은 상기 버퍼에 최대량의 프레임이 선반입되었는지 여부이고, 상기 제 2 조건은 상기 선반입되어 있는 프레임들이 재생되어 상기 버퍼가 비워지는 데 걸리는 잔여 디코딩 시간이 상기 디스크를 대기 모드로 진입시키는 데 따른 손익 분기 시간보다 긴지 여부인 것을 특징으로 한다.
본 발명은 동영상 데이터 선반입 방법에 있어, 동영상을 저장하고 있는 디스크의 전력 소모를 감소시키는 효과를 얻는다.
또한 버퍼를 더욱 효율적으로 사용할 수 있다.
또한 영상의 품질을 사용자가 인지하지 못하거나 수용 가능한 범위 내에서 조절할 수 있다.
도 1은 본 발명에 따른 동영상 재생 장치의 구조를 도시함.
도 2는 전력 모드에 따른 디스크의 전력 소비량 변화를 도시함.
도 3은 본 발명에 따른 동영상 데이터의 구조를 도시함.
도 4는 본 발명에 따른 동영상 프레임이 버퍼에 선반입되는 실시예
도 5는 본 발명에 따른 동영상 데이터 선반입 방법의 흐름을 도시함.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명에 따른 동영상 재생 장치(10)를 나타낸 블록도이다.
먼저 도 1을 참조하면, 본 발명에 따른 동영상 재생 장치(10)는 동영상 파일이 저장되는 디스크(100), 재생을 위해 동영상 데이터를 임시 저장하는 버퍼(200), 디스크(100)에서 동영상 데이터를 가져와 버퍼(200)에 저장하는 반입부(500), 버퍼(200)에 저장된 동영상 데이터를 디코딩하여 재생하는 재생부(400), 디스크(100)를 제어하고 디스크(100)의 에너지 소비를 최소화할 수 있도록 디스크(100)의 전력 모드를 설정하는 디스크 제어부(600)를 포함한다.
본 발명에 따른 동영상 재생 장치(10)는 여러 개의 세그먼트로 나뉘어 각 세그먼트마다 허용 가능한 최소 해상도 수준이 설정된 동영상을 재생한다. 일실시예에서 이러한 동영상은 외부로부터 수신받은 것일 수 있다. 또다른 실시예에서 동영상 재생 장치(10)는 자체에 이를 처리할 전처리부(300)를 더 포함할 수도 있다.
자세한 내용을 기술하기 전에, 먼저 도 2를 참조하여 전력 모드에 따라 디스크의 전력 소비가 어떻게 변하는지 살펴보도록 하자.
활성 모드(active mode)는 디스크가 회전하면서 헤드가 데이터를 읽거나 쓰고 있는 상태이고, 유휴 모드(idle mode)는 디스크가 회전하고 있지만 데이터 요청은 처리할 수 없는 상태이며, 대기 모드(standby mode)는 디스크의 회전이 완전히 멈추어 어떠한 데이터 요청도 처리할 수 없는 상태이다. 디스크가 활성 모드에서 대기 모드로 진입하면서 회전 속도를 늦추는 것을 스핀 다운(spin down), 대기 모드에서 활성 모드로 돌아가면서 회전을 시작하는 것을 스핀 업(spin up)이라고 한다.
도면에 도시된 바와 같이, 대기 모드는 활성/유휴 모드보다 전력을 훨씬 적게 소비하지만, 스핀 업 및 스핀 다운시에는 일시적으로 활성/유휴 모드보다 오히려 에너지 소비량이 늘어난다. 따라서 대기 모드와 활성/유휴 모드의 전환이 너무 자주 일어나면, 오히려 전력 소비가 계속 활성/유휴 모드에 머물러 있을 때를 넘어설 수도 있다. 따라서 디스크가 소비하는 전력을 효율적으로 절약하기 위해서는 가능하면 디스크를 최대한 오래 대기 모드에 있게 하되 너무 자주 대기 모드로 진입시키지는 않아야 한다.
따라서 본 발명에 따른 동영상 재생 장치(10)는 디스크 전력 모드를 전이시킬 때 대기 모드로의 전환에 드는 에너지 비용보다 대기 모드로 전환함으로써 절약할 수 있는 에너지 이익이 더 크게 되는 손익 분기 시간(break-even time)을 고려한다. 즉, 본 발명에 따른 동영상 재생 장치(10)의 디스크 제어부(600)는 동영상 재생시 디스크(100)의 에너지 소비를 최소화하기 위해 대기 모드로 진입할 것인가 여부를 결정할 때, 디스크(100)를 대기 모드에 머물러 있게 해도 되는 시간이 손익 분기 시간보다 큰지 판단한다. 이를 위해 동영상 데이터가 최대한 버퍼(200)로 선반입되었는지 확인하고, 버퍼(200)에 저장되어 있는 데이터가 디코딩되고 재생되는 시간이 손익 분기 시간보다 큰지 확인한다.
특히 본 발명에 따른 동영상 재생 장치(10)는 버퍼의 크기를 늘리거나 동영상의 재생 품질을 현저히 떨어뜨리지 않고도 디스크를 최대한 대기 모드에 머물 수 있게 하기 위해 동영상을 여러 구간으로 나누어 각 구간에 대해 허용 가능한 최저 해상도 수준을 할당한다.
이를 위해 본 발명에 따른 동영상 재생 장치(10)는 스케일러블 비디오 코딩(SVC: Scalable Video Coding) 기술을 사용한다. 이 기술은 동일한 동영상을 여러 품질의 시간적, 공간적 해상도로 표현할 수 있게 해주어, 쉽게 서비스 품질을 조절할 수 있도록 한다. 즉, 스케일러블 비디오 코딩은 하나의 콘텐츠를 서비스 형태에 따라 가변적으로 사용할 수 있도록 포맷을 변환하는 방식으로, 비디오를 여러 계층으로 분할함으로써, 영상의 시간적, 공간적 확장성과 품질의 확장성을 가져다준다.
특히 바람직한 실시예에서 본 발명에 따른 동영상 재생 장치(10)는 다양한 스케일러블 비디오 코딩 기법 중, H.264/AVC 표준의 스케일러블 비디오 코딩으로의 확장으로, 뛰어난 효율성 때문에 관련 연구 분야와 산업계에서 많은 관심을 받고 있는 H.264/SVC를 사용한다.
대부분의 사람들은 동영상을 보는 동안 영상의 짧은 중단에 대해 인지하지 못하므로, 동영상의 재생 품질 저하를 사용자가 눈치채지 못하는 범위 내에서 시간 해상도를 조금 낮추는 것이 가능하다. 예를 들어, 30fps의 프레임률을 갖는 영상에서 한 프레임 정도 건너뛰고 재생해도 대부분의 사람들은 이를 눈치채지 못한다.
다만, 사람들은 움직임이 적은 영상에 대해서는 프레임률의 감소를 잘 인지하지 못하는 반면, 화면의 변화가 큰 영상에 대해서는 영상의 품질이 떨어지는 것을 확연하게 느끼는 경향이 있다. 따라서, 전체 동영상에 하나의 시간 해상도를 적용하는 것이 아니라, 화면의 변화 정도에 따라 구간을 나누고 각 구간별로 적절한 시간 해상도를 적용하는 것이 영상의 품질은 보장하면서 디스크의 전력 소비 감소를 위해 영상 데이터의 양은 줄이는 효율적인 방법이 된다.
따라서 영상의 품질과 디스크의 전력 소비와의 균형을 위해, 본 발명에 따른 동영상 재생 장치(10)에서 재생되는 영상은 각각 시간 해상도 수준이 다른 여러 개의 세그먼트로 분할된다. 이때의 해상도 수준은 동영상 감상자가 영상 품질 저하를 눈치채지 못하는 범위 내에서 최저 수준을 의미한다.
도 3에 본 발명에 따른 동영상 데이터의 구조가 도시되어 있다.
첫번째 도면을 보면, 동영상은 여러 개의 세그먼트로 분할되어 있으며, 각 세그먼트에는 품질 저하를 야기하지 않는 범위 내에서 허용 가능한 최소 해상도 수준이 설정되어 있다. 도면의 k번째 세그먼트에 할당되어 있는
Figure 112012000654316-pat00001
가 이를 의미한다.
두번째 도면을 보면, 각 세그먼트의 각 프레임은 해당 세그먼트의 해상도 수준에 따라 재생 여부가 결정됨을 알 수 있다. 도면에 도시된 바와 같이, k번째 세그먼트의 i번째 프레임을 프레임을 재생할 것인가 건너뛸 것인가 여부는
Figure 112012000654316-pat00002
인지 여부로 나타낼 수 있다. 값이 1이면 재생한다는 뜻이므로 버퍼로 반입하여 디코딩하고 0이면 건너뛴다는 뜻이므로 버퍼로 반입하지 않는다.
예를 들어, 원본 영상이 24fps로 제작되었고, 세그먼트 k에 이 세그먼트가 12fps로 재생될 것임을 의미하는 해상도 수준이 할당되었다면, 세그먼트 k에 포함되어 있는 프레임들 중 절반 정도만 버퍼로 반입되어 재생될 것이다.
이렇게 시간 해상도를 낮추면 버퍼에 선반입해야할 데이터의 총용량이 줄어들기 때문에, 대용량 버퍼를 채용하지 않고도 디스크를 대기 모드에 오래 머무르게 하는 것이 가능하다. 시간 해상도를 낮추어도 재생 시간 자체에는 변함이 없으므로, 재생부가 버퍼에 반입된 데이터를 디코딩하는 주기가 늘어나기 때문이다.
본 발명에 따른 동영상 프레임이 버퍼에 선반입되는 실시예를 도시하고 있는 도 4를 통해 살펴보자. 도 4는 설명의 편의를 위해 현실적이지는 않지만 간단한 예를 들고 있다.
첫번째 도면은 동영상을 도시하고 있다. 각 프레임의 용량은 2바이트, 프레임당 디코딩 시간은 1초라고 하자.
전처리부(300)가 움직임이 정적인지 동적인지 등의 기준에 따라 세그먼트별로 품질 저하를 야기하지 않는 범위 내에서 허용 가능한 최소 해상도 수준을 설정한 결과, f0 프레임부터 f3 프레임까지의 세그먼트 0은 프레임률이 세그먼트의 전체 프레임 중 1/2의 프레임을 건너뛰도록, f4 프레임부터 f9 프레임까지의 세그먼트 1은 프레임률이 세그먼트의 전체 프레임 중 2/3의 프레임을 건너뛰도록, f10 프레임부터 f15 프레임까지의 세그먼트 2는 프레임률이 세그먼트의 전체 프레임 중 1/3의 프레임을 건너뛰도록 설정되었다고 하자. 이와 같은 시간 해상도 수준을 봤을 때 세그먼트 1이 가장 정적이고, 세그먼트 2가 가장 동적이라는 것을 쉽게 유추할 수 있을 것이다.
따라서, 도시된 바와 같이, 세그먼트 0의 각 프레임의 재생 여부는 1, 0, 1, 0, ... 순으로 결정될 것이고, 세그먼트 1의 각 프레임의 재생 여부는 1, 0, 0, 1, 0, 0, ... 순으로, 세그먼트 2의 각 프레임의 재생 여부는 1, 1, 0, 1, 1, 0, ... 순으로 결정될 것이다.
두번째 도면은 이러한 원본 동영상을 세그먼트별 시간 해상도 수준 설정없이 15바이트 크기의 버퍼에 선반입한 상태를 도시하고 있다. f6까지 반입된 현 상태가 버퍼에 최대량의 프레임을 선반입한 상태이다. f7을 더 반입하면 버퍼가 넘치기 때문에, 버퍼가 1바이트 비어있는 상태에서 반입이 중단되었다.
세번째 도면은 본 발명에 따라 첫번째 도면과 같이 세그먼트별 시간 해상도 수준을 설정했을 때의 동영상을 같은 크기의 버퍼에 선반입한 상태를 도시하고 있다. f13까지 반입된 현 상태가 버퍼에 최대량의 프레임을 선반입한 상태이다. f14를 더 반입하면 버퍼가 넘치기 때문에, 버퍼가 1바이트 비어있는 상태에서 반입이 중단되었다.
두번째와 세번째 도면을 비교해보면, 해상도 수준을 낮췄더니, 재생 위치 기준으로 봤을 때 프레임 7개 정도를 더 많이 선반입하게 되었음을 알 수 있다. 이는 그 차이만큼 디스크(100)가 더 오랫동안 대기 모드에 머물러도 된다는 것을 의미한다. 데이터를 가져와야 할 필요가 없어 디스크(100)에 대해 데이터 요청을 하지 않아도 되는 시간 여유가 그만큼 생기기 때문이다.
버퍼에 선반입된 프레임들의 재생 시간은 시간적 해상도 차이와 관계없이 일정해야 하기 때문이다. 예를 들어, 12fps의 시간적 해상도로 재생되는 30초짜리 동영상과 36fps의 시간적 해상도로 재생되는 30초짜리 동영상의 재생 시간은 30초로 동일할 것임이 명백하다. 프레임당 디코딩 시간이 1초이므로, 두번째 도면의 경우 버퍼에 선반입된 프레임들이 모두 디코딩되어 버퍼가 비기까지 6초가 걸리는데, 세번째 도면의 경우 13초가 걸린다. 세번째 도면의 경우, 각 프레임당 디코딩 시간은 두번째 도면과 동일한 1초이지만, 디코딩 횟수가 감소하고 그 만큼 디코딩 주기가 길어지므로, 같은 크기의 버퍼에 선반입된 프레임들의 잔여 디코딩 시간은 두번째 도면보다 길어지는 것이다.
따라서 본 발명에 따라 세그먼트별 시간 해상도 수준을 설정한 동영상의 경우 원본 동영상보다 데이터 선반입에 7초 정도의 시간 여유를 갖게 되므로, 그만큼 디스크를 대기 모드에 있게 해도 되는 시간이 길어져 그만큼 디스크 전력을 절감할 수 있다. 하지만 물론 버퍼가 모두 비어버리기 전에 버퍼를 다시 채워놓아야 하므로, 13초가 흐르기 전에 디스크를 다시 활성화시키여 함은 당연하다.
이 도면에서 대기 모드로 진입할 조건 2가지를 도출할 수 있다. 제 1 조건은 버퍼(200)에 프레임이 가능한 많이 선반입되어 있어야 한다는 것이고, 제 2 조건은 버퍼(200)에 반입되어 있는 프레임들의 잔여 디코딩 시간이 디스크(100)의 대기 모드 진입에 따른 손익 분기 시간보다 길어야 한다는 조건이다.
제 1 조건을 구체적으로 살펴보자. 도 4의 세번째 도면에 도시된 실시예에서, f13까지의 반입된 프레임들의 용량의 합인 14바이트는 버퍼 크기인 15바이트보다 작지만, 거기에 f14를 더 반입하면 16바이트가 되어 버퍼 용량을 넘어서기 때문에, 버퍼(200)가 1바이트 비어있는 상태에서 반입이 중단된 현재 모습이 버퍼(200)에 가능한 많은 프레임이 선반입된 상태이다. 물론 선반입된 프레임들의 용량의 합이 버퍼 크기와 동일한 경우가 더 바람직할 것이다. 따라서, 제 1 조건은 버퍼(200)에 선반입된 마지막 프레임까지의 프레임 용량의 총합은 버퍼 크기보다 작거나 같고, 마지막 프레임 이후의 반입될 첫 프레임의 용량을 합쳤을 때는 버퍼 크기를 넘어서는지 여부로 충족되는지 판단할 수 있다.
단, 도면에서 보는 바와 같이, f0에서 f13까지 동영상의 모든 프레임이 아니라, 그중 버퍼(200)에 실제 반입된 프레임들의 용량만을 합해야 하므로, 각 프레임별 재생 여부를 따져야 하며, 각 프레임별 재생 여부는 세그먼트별 시간 해상도에 따라 결정되므로, 제 1 조건은 세그먼트별 시간 해상도 수준에 기초하여 디스크(100)의 대기 모드 진입 여부를 결정하는 것이라고 할 수 있다.
제 1 조건을 수식으로 표현하면 다음과 같다.
전술한 바와 같이, 각각의 세그먼트
Figure 112012000654316-pat00003
에 대해 최소한의 허용 가능한 해상도 레벨
Figure 112012000654316-pat00004
를 설정하였을 때, 세그먼트
Figure 112012000654316-pat00005
Figure 112012000654316-pat00006
번째 프레임을 버퍼로 반입할지 건너 뛸지는
Figure 112012000654316-pat00007
값에 의거하여 결정하게 된다.
Figure 112012000654316-pat00008
이면 프레임
Figure 112012000654316-pat00009
를 읽어오고 그렇지 않으면 프레임
Figure 112012000654316-pat00010
는 제외된다.
Figure 112012000654316-pat00011
Figure 112012000654316-pat00012
번째 프레임의 크기,
Figure 112012000654316-pat00013
를 버퍼의 크기라 하고,
Figure 112012000654316-pat00014
를 프레임
Figure 112012000654316-pat00015
에 해당하는 세그먼트의 번호, 프레임
Figure 112012000654316-pat00016
가 버퍼의 마지막 프레임일 때,
Figure 112012000654316-pat00017
를 버퍼 안에 있는 프레임들 중 첫 번째 프레임의 프레임 번호라고 하면, 제 1 조건의 충족 여부는 다음 두 수식을 모두 만족하는지 여부로 판단된다.
<수식>
Figure 112012000654316-pat00018
<수식>
Figure 112012000654316-pat00019
이제 제 2 조건을 구체적으로 살펴보자. 제 2 조건에 사용된 버퍼(200)에 선반입된 프레임들의 잔여 디코딩 시간도 도면에서 이미 살펴보았다. 잔여 디코딩 시간 또한 각 프레임별 재생 여부를 따져 실제 어떤 프레임이 반입되는지를 알아야 하므로, 제 2 조건 역시 세그먼트별 시간 해상도 수준에 기초하여 디스크(100)의 대기 모드 진입 여부를 결정하는 것이라고 할 수 있다.
손익 분기 시간은 전술한 바와 같이, 디스크 전력 모드를 전이시킬 때 대기 모드로의 전환에 드는 에너지 비용보다 대기 모드로 전환함으로써 절약할 수 있는 에너지 이익이 더 크게 되는 시점을 뜻한다. 따라서 손익 분기 시간 계산에는 각 모드에서 소비되는 전력과 스핀업, 스핀다운시 필요한 에너지 및 시간이 필요하다.
즉, 제 2 조건은 디스크(200)의 스핀업(Spin-Up)시 필요한 에너지
Figure 112012000654316-pat00020
, 스핀다운(Spin-Down) 시에 필요한 에너지
Figure 112012000654316-pat00021
, 디스크가 스핀업 하는데 걸리는 시간
Figure 112012000654316-pat00022
, 스핀다운 하는데 걸리는 시간
Figure 112012000654316-pat00023
, 유휴모드에서 소비되는 전력
Figure 112012000654316-pat00024
, 및 대기모드에서 소비되는 전력
Figure 112012000654316-pat00025
를 사용하여, 다음과 같은 세개의 수식으로 표현할 수 있다.
<수식>
Figure 112012000654316-pat00026
<수식>
Figure 112012000654316-pat00027
<수식>
Figure 112012000654316-pat00028
도 5는 본 발명에 따른 동영상 데이터 선반입 방법의 흐름을 도시하고 있다.
동영상 재생을 시작하면, 반입부(500)가 버퍼(200)로 동영상 데이터를 반입하는 동작과 재생부(400)가 버퍼(200)에 저장되어 있는 데이터를 디코딩하여 재생하는 동작(미도시)이 병렬적으로 수행된다.
먼저 버퍼(200)로 프레임을 선택적으로 반입한다(S410). 전술한 바와 같이, 세그먼트별 해상도 수준에 따라 각 프레임별로 재생 여부가 결정되므로, 디코딩된다고 결정된 프레임만이 버퍼(200)로 반입된다.
이때 조건 1, 2를 충족하는지 판단하여(S420), 충족하면 디스크를 대기 모드로 진입시킨다(S430). 전술한 바와 같이, 제 1 조건은 버퍼(200)에 선반입된 마지막 프레임까지의 프레임 용량의 총합은 버퍼 크기보다 작거나 같고, 마지막 프레임 이후의 반입될 첫 프레임의 용량을 합쳤을 때는 버퍼 크기보다 큰지 여부이며, 제 2 조건은 버퍼(200)에 반입되어 있는 프레임들의 잔여 디코딩 시간이 디스크(100)의 대기 모드 진입에 따른 손익 분기 시간보다 긴지 여부이다.
대기 모드에 있을 때 활성화가 필요하면(S440), 디스크를 대기 모드에서 탈출시켜(S450), 데이터 요청을 처리할 수 있게 한다. 따라서 버퍼(200)로 프레임을 선택적 반입하는 단계(S410)가 다시 수행된다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 디스크
200: 버퍼
300: 전처리부
400: 재생부
500: 반입부
600: 디스크 제어부

Claims (15)

  1. 동영상 재생 장치에 있어서,
    여러 개의 세그먼트로 나뉘어 각 세그먼트마다 허용 가능한 최소 해상도 수준이 설정된 동영상 파일이 저장되는 디스크;
    재생을 위해 상기 동영상 파일의 프레임들이 임시 저장되는 버퍼;
    동영상 재생시, 상기 해상도 수준에 따라 산출된 프레임률(frame rate)에 기초하여 상기 동영상 파일의 프레임 중 재생할 프레임을 상기 디스크로부터 인출하여 상기 버퍼에 저장하는 반입부;
    상기 버퍼에 저장되어 있는 상기 프레임들을 디코딩(decoding)하여 재생하는 재생부; 및
    상기 디스크의 구동을 제어하고, 상기 디스크의 전력 모드를 설정하는 디스크 제어부;를 포함하되,
    상기 디스크 제어부는
    상기 각 세그먼트별 해상도 수준에 따라 달라지는 각 프레임의 재생 여부에 기초하여, 제 1 조건 및 제 2 조건이 충족되는지 판단하고, 충족될 경우 상기 디스크의 전력 모드를 대기 모드로 설정하며,
    상기 제 1 조건은 상기 반입부에 의해 상기 버퍼에 저장된 프레임의 용량의 합이 상기 버퍼의 용량을 초과하기 직전인지 여부이고,
    상기 제 2 조건은 상기 버퍼에 저장된 프레임 중 아직 재생되지 않은 프레임들이 재생되어 상기 버퍼가 비워지는 데 걸리는 잔여 디코딩 시간이 상기 디스크를 대기 모드로 진입시키는 데 따른 손익 분기 시간보다 긴지 여부인 동영상 재생 장치.
  2. 제 1 항에 있어서,
    상기 동영상 재생 장치는
    상기 동영상 파일을 여러 개의 세그먼트로 나누어, 각 세그먼트마다 허용 가능한 최소 해상도 수준을 설정하고, 상기 해상도 수준에 따라 상기 동영상 파일을 인코딩(encoding)하여 상기 디스크에 저장하는 전처리부;를 더 포함하되,
    상기 해상도 수준은 상기 각 세그먼트별 프레임률을 산출하는 데 사용되는 동영상 재생 장치.
  3. 제 1 항에 있어서,
    상기 반입부는 상기 세그먼트별 해상도 수준에 따라 산출된 프레임률에 기초하여 상기 동영상의 각 프레임이 디코딩될 프레임인지 건너뛸 프레임인지 결정하고, 상기 디코딩될 프레임만 상기 버퍼로 선반입하는 동영상 재생 장치.
  4. 제 3 항에 있어서,
    상기 디스크 제어부는 상기 버퍼에 선반입된 프레임들의 용량의 합은 상기 버퍼의 크기보다 작거나 같고, 상기 합에 상기 버퍼에 선반입된 마지막 프레임 이후 첫 디코딩될 프레임의 용량까지 합하면 상기 버퍼의 크기보다 클 때 상기 제 1 조건이 충족된다고 판단하는 것인 동영상 재생 장치.
  5. 제 1 항에 있어서,
    상기 잔여 디코딩 시간은 상기 버퍼에 선반입된 프레임들의 디코딩 시간의 합인 동영상 재생 장치.
  6. 제 1 항에 있어서,
    상기 손익 분기 시간은 상기 디스크의 스핀업(Spin-Up)시 필요한 에너지
    Figure 112012000654316-pat00029
    , 스핀다운(Spin-Down) 시에 필요한 에너지
    Figure 112012000654316-pat00030
    , 디스크가 스핀업 하는데 걸리는 시간
    Figure 112012000654316-pat00031
    , 스핀다운 하는데 걸리는 시간
    Figure 112012000654316-pat00032
    , 유휴모드에서 소비되는 전력
    Figure 112012000654316-pat00033
    , 및 대기모드에서 소비되는 전력
    Figure 112012000654316-pat00034
    를 고려하여, 하기 수학식을 사용하여 계산되는 동영상 재생 장치.
    Figure 112012000654316-pat00035
  7. 제 1 항에 있어서,
    상기 동영상은 스케일러블 비디오 코딩(SVC: Scalable Video Coding) 기법을 사용하여 상기 세그먼트별 해상도 수준이 설정되는 것인 동영상 재생 장치.
  8. 제 7 항에 있어서,
    상기 동영상은 H.264/SVC에 기초하여 상기 세그먼트별 해상도 수준이 설정되는 것인 동영상 재생 장치.
  9. 동영상 재생시 디스크가 소비하는 전력을 줄일 수 있도록 데이터를 선반입하는 방법에 있어,
    (a) 상기 동영상의 버퍼에 저장된 프레임들을 디코딩하여 재생하는 단계;
    (b) 상기 (a) 단계와 병렬적으로, 상기 동영상의 세그먼트별 해상도 수준에 따라 산출된 프레임률(frame rate)에 기초하여 상기 동영상의 프레임 중 재생할 프레임을 상기 디스크에서 버퍼로 선택적 반입하는 단계; 및
    (c) 상기 동영상의 각 세그먼트별 해상도 수준에 따라 달라지는 각 프레임의 재생 여부에 기초하여, 제 1 조건 및 제 2 조건이 충족되는지 판단하고, 충족될 경우 상기 디스크를 대기 모드로 진입시키는 단계;를 포함하되,
    상기 제 1 조건은 상기 버퍼에 저장된 프레임의 용량의 합이 상기 버퍼의 용량을 초과하기 직전인지 여부이고,
    상기 제 2 조건은 상기 버퍼에 저장된 프레임 중 아직 재생되지 않은 프레임들이 재생되어 상기 버퍼가 비워지는 데 걸리는 잔여 디코딩 시간이 상기 디스크를 대기 모드로 진입시키는 데 따른 손익 분기 시간보다 긴지 여부인 동영상 데이터 선반입 방법.
  10. 제 9 항에 있어서,
    상기 (a) 단계는 상기 세그먼트별 해상도 수준에 따라 산출된 프레임률에 기초하여 상기 동영상의 각 프레임이 디코딩될 프레임인지 건너뛸 프레임인지 결정하고, 상기 디코딩될 프레임만 상기 버퍼로 선반입하는 동영상 데이터 선반입 방법.
  11. 제 10 항에 있어서,
    상기 (c) 단계는 상기 버퍼에 선반입된 프레임들의 용량의 합은 상기 버퍼의 크기보다 작거나 같고, 상기 합에 상기 버퍼에 선반입된 마지막 프레임 이후 첫 디코딩될 프레임의 용량까지 합하면 상기 버퍼의 크기보다 클 때 상기 제 1 조건이 충족된다고 판단하는 것인 동영상 데이터 선반입 방법.
  12. 제 9 항에 있어서,
    상기 잔여 디코딩 시간은 상기 버퍼에 선반입된 프레임들의 디코딩 시간의 합인 동영상 데이터 선반입 방법.
  13. 제 9 항에 있어서,
    상기 손익 분기 시간은 상기 디스크의 스핀업(Spin-Up)시 필요한 에너지
    Figure 112012000654316-pat00036
    , 스핀다운(Spin-Down) 시에 필요한 에너지
    Figure 112012000654316-pat00037
    , 디스크가 스핀업 하는데 걸리는 시간
    Figure 112012000654316-pat00038
    , 스핀다운 하는데 걸리는 시간
    Figure 112012000654316-pat00039
    , 유휴모드에서 소비되는 전력
    Figure 112012000654316-pat00040
    , 및 대기모드에서 소비되는 전력
    Figure 112012000654316-pat00041
    를 고려하여, 하기 수학식을 사용하여 계산되는 동영상 데이터 선반입 방법.
    Figure 112012000654316-pat00042
  14. 제 9 항에 있어서,
    상기 동영상은 스케일러블 비디오 코딩(SVC: Scalable Video Coding) 기법을 사용하여 상기 세그먼트별 해상도 수준이 설정되는 것인 동영상 데이터 선반입 방법.
  15. 제 9 항에 있어서,
    상기 동영상은 H.264/SVC에 기초하여 상기 세그먼트별 해상도 수준이 설정되는 것인 동영상 데이터 선반입 방법.
KR1020120000639A 2012-01-03 2012-01-03 동영상 데이터 선반입 방법 및 이를 이용한 동영상 재생 장치 KR101314594B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120000639A KR101314594B1 (ko) 2012-01-03 2012-01-03 동영상 데이터 선반입 방법 및 이를 이용한 동영상 재생 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120000639A KR101314594B1 (ko) 2012-01-03 2012-01-03 동영상 데이터 선반입 방법 및 이를 이용한 동영상 재생 장치

Publications (2)

Publication Number Publication Date
KR20130079884A KR20130079884A (ko) 2013-07-11
KR101314594B1 true KR101314594B1 (ko) 2013-10-14

Family

ID=48992193

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120000639A KR101314594B1 (ko) 2012-01-03 2012-01-03 동영상 데이터 선반입 방법 및 이를 이용한 동영상 재생 장치

Country Status (1)

Country Link
KR (1) KR101314594B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101685331B1 (ko) * 2016-09-02 2016-12-12 인하대학교 산학협력단 계층적 비디오 코딩의 시간 확장성을 활용한 전력 관리 방법 및 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100096584A (ko) * 2009-02-24 2010-09-02 인하대학교 산학협력단 동영상 재생에서 디스크 에너지 소모 감소를 위한 적응형 데이터 선 반입 기법
KR20100127322A (ko) * 2009-05-26 2010-12-06 인하대학교 산학협력단 동영상 재생에서 디스크 에너지 소모 감소를 위한 적응형 데이터 선 반입 기법
KR101031338B1 (ko) 2009-10-30 2011-04-29 인하대학교 산학협력단 동영상 재생 시 디스크 소모 에너지 감소를 위한 메모리 관리 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100096584A (ko) * 2009-02-24 2010-09-02 인하대학교 산학협력단 동영상 재생에서 디스크 에너지 소모 감소를 위한 적응형 데이터 선 반입 기법
KR20100127322A (ko) * 2009-05-26 2010-12-06 인하대학교 산학협력단 동영상 재생에서 디스크 에너지 소모 감소를 위한 적응형 데이터 선 반입 기법
KR101031338B1 (ko) 2009-10-30 2011-04-29 인하대학교 산학협력단 동영상 재생 시 디스크 소모 에너지 감소를 위한 메모리 관리 방법

Also Published As

Publication number Publication date
KR20130079884A (ko) 2013-07-11

Similar Documents

Publication Publication Date Title
US7787747B2 (en) Playback apparatus, Playback method, recording medium, and program
US7729590B2 (en) Digital video stream trick play
US20090210654A1 (en) Using historic load profiles to dynamically adjust operating frequency and available power to a handheld multimedia device processor core
JP4476261B2 (ja) 復号装置および復号方法
JP5745063B2 (ja) ビデオシステムにおけるセマンティックベースのトリックモード再生方法
US20070162780A1 (en) Method for controlling an operating frequency of a processor during playback of a recorded video
CN1882998B (zh) 用于重放来自存储媒介的媒体流的重放设备和方法
JPH10269706A (ja) 情報再生装置及び情報再生方法
US8391688B2 (en) Smooth rewind media playback
KR970050128A (ko) 고속재생을 위한 비디오데이타 복호방법 및 그 장치
KR101314594B1 (ko) 동영상 데이터 선반입 방법 및 이를 이용한 동영상 재생 장치
KR100519611B1 (ko) 저전력 데이터 재생 방법 및 장치
US20090109810A1 (en) Recording/reproduction apparatus
KR100982232B1 (ko) 동영상 재생에서 디스크 에너지 소모 감소를 위한 적응형 데이터 선 반입 기법
JP2003324690A (ja) 映像記録再生装置
KR100578150B1 (ko) 데이터 재생 방법 및 시스템
KR101055845B1 (ko) 저전력 스트리밍 데이터 재생장치
US20070003226A1 (en) Audio/image playback apparatus and operation control method
US7532803B2 (en) Reproducing apparatus
KR20100127322A (ko) 동영상 재생에서 디스크 에너지 소모 감소를 위한 적응형 데이터 선 반입 기법
JP2004350152A (ja) 映像再生装置および映像再生方法
JP3704356B2 (ja) 符号化映像信号の復号化装置およびそれを用いた蓄積復号化装置
Go et al. Adaptive disk power management for portable media players
TWI337042B (en) Method and recording system for recording media data
KR101142413B1 (ko) 동영상 재생 시 디스크 소모 에너지 감소를 위한 데이터 선반입 방법

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160602

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170626

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190926

Year of fee payment: 7