KR101838301B1 - 멀티미디어 컨텐츠 프레임 검색 방법 및 장치 - Google Patents
멀티미디어 컨텐츠 프레임 검색 방법 및 장치 Download PDFInfo
- Publication number
- KR101838301B1 KR101838301B1 KR1020120016379A KR20120016379A KR101838301B1 KR 101838301 B1 KR101838301 B1 KR 101838301B1 KR 1020120016379 A KR1020120016379 A KR 1020120016379A KR 20120016379 A KR20120016379 A KR 20120016379A KR 101838301 B1 KR101838301 B1 KR 101838301B1
- Authority
- KR
- South Korea
- Prior art keywords
- candidate
- time
- bit rate
- average bit
- currently set
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 31
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/93—Regeneration of the television signal or of selected parts thereof
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명에 따른 멀티미디어 컨텐츠 프레임 검색을 위해, 멀티미디어 컨텐츠의 프레임들에 대해 설정하는 평균 비트율 계산 구간의 평균 비트율을 기반으로 목표 시간에 대응하는 목표 프레임에 관한 후보 위치를 설정하며, 상기 후보 위치를 기준으로 상기 평균 비트율 계산 구간을 단계적으로 좁혀가면서 상기 후보 위치를 조정하고, 상기 후보 위치들 각각에 가장 가까운 프레임들 중에 상기 목표 시간에 대한 시작 시간의 차이가 미리 설정된 허용 오차 범위 이내가 되는 프레임을 상기 목표 프레임으로 결정한다.
Description
본 발명은 멀티미디어 컨텐츠(multimedia contents)를 재생하는 장치에 관한 것으로, 특히 멀티미디어 컨텐츠의 전체 프레임(frame)들 중에서 목표 프레임을 검색(seek)하는 방법 및 장치에 관한 것이다.
휴대용 멀티미디어 재생 장치들의 발전 및 성능 향상과 함께, 초고화질 비디오, 무손실(lossless) 오디오와 같은 고 비트율의 대용량 멀티미디어 컨텐츠의 사용이 빠르게 증가하고 있다.
고 비트율의 대용량 멀티미디어 컨텐츠의 각 프레임의 고품질, 예를 들어 고화질, 고음질 등을 보장하면서도 최대의 압축률을 위해 많은 종류의 코덱(Codec)에서는 프레임 간 특성에 따라 인코딩이 가능한 가변 비트율을 채택하고 있다.
하지만 가변 비트율로 인코딩된 데이터의 경우 프레임들의 비트율이 고정되어 있지 않기 때문에 가변 비트율의 프레임들로 이루어지는 멀티미디어 컨텐츠의 특정 위치로 이동하기 위해서는 이동 위치까지의 전체 프레임을 파싱(parsing)해야만 한다. 이 방식은 프리-롤링(pre-rolling)이라 불리는 방식으로, 매 번 검색 시마다 첫 프레임부터 목표 지점에 위치하는 프레임이 나타날 때까지 프레임들을 파싱한다. 이 방식은 구현이 간단하지만, 검색 시에 파싱한 데이터를 버리기 때문에 매번 검색시마다 처음부터 다시 파싱을 해야하므로 비효율적일 뿐만 아니라 검색 지점이 첫 프레임부터 멀어질수록 검색 성능 저하가 크게 나타난다.
이러한 문제점을 보완하기 위해 디코딩 전에 전체 프레임을 파싱하여 검색 테이블을 만드는 방식이나 인코딩 단계에서 검색 테이블을 생성하여 파일 포맷에 삽입하는 방식이 사용되고 있다. 하지만 대용량 컨텐츠들이 급증하면서 검색 테이블에 기반한 검색 방식은 느린 검색 시간, 많은 메모리 사용, 검색에 있어서 낮은 정밀도 등 많은 문제를 노출시키고 있다.
전체 프레임을 파싱하는 방식의 오버헤드(overhead)를 극복하기 위해 디코딩 전에 검색 테이블을 생성하는 방식을 사용하기 위해서는 디코딩 전에 모든 프레임을 파싱하여 검색 테이블을 초기화해야만 한다. 이러한 초기화 작업은 디코딩 시에 많은 초기 재생 지연을 유발하며, 초기 재생 지연은 컨텐츠의 용량이 증가하고 재생 시간이 늘어날수록 더욱 증가한다.
디코딩 단에서 검색 테이블을 생성하는 오버헤드를 없애기 위해 인코딩 단계에서 검색 테이블을 생성하여 파일 포맷에 삽입하는 방식은 인코더의 압축률을 떨어뜨리기 때문에 생성할 수 있는 검색 테이블의 수가 제한적이다. 이러한 점은 검색 테이블의 정밀도를 떨어뜨려, 정확한 검색이 어렵고, 재생 시간이 길어질수록 정확도가 크게 떨어진다. 이뿐만 아니라 저장이나 스트리밍 과정에서 검색 테이블이 삭제되거나 훼손될 경우 검색 테이블을 이용한 검색이 불가능하다.
본 발명은 멀티미디어 컨텐츠에서 목표 프레임을 신속하고 정밀하게 검색할 수 있는 방법 및 장치를 제공한다.
본 발명은 검색 테이블을 사용하지 않고 멀티미디어 컨텐츠에서 목표 프레임을 신속하고 정밀하게 검색할 수 있는 방법 및 장치를 제공한다.
본 발명에 따른 멀티미디어 컨텐츠 프레임 검색 방법은,
멀티미디어 컨텐츠의 프레임들에 대해 설정하는 평균 비트율 계산 구간의 평균 비트율을 기반으로 목표 시간에 대응하는 목표 프레임에 관한 후보 위치를 설정하며, 상기 후보 위치를 기준으로 상기 평균 비트율 계산 구간을 단계적으로 좁혀가면서 상기 후보 위치를 조정하는 단계와,
시작 위치가 상기 후보 위치들 각각에 가장 가까운 프레임들 중에 상기 목표 시간에 대한 시작 시간의 차이가 미리 설정된 허용 오차 범위 이내가 되는 프레임을 상기 목표 프레임으로 결정하는 단계를 포함한다.
상기 후보 위치의 조정은, 상기 가장 가까운 프레임의 시작 시간과 상기 목표 시간의 차이가 상기 허용 오차 범위 이내가 될 때까지 반복된다.
상기 후보 위치를 설정하고 조정하는 단계는,
상기 멀티미디어 컨텐츠의 전체 데이터를 상기 평균 비트율 계산 구간으로 설정하고, 상기 전체 데이터의 평균 비트율을 기반으로 상기 목표 시간에 해당하는 데이터 사이즈만큼 상기 전체 데이터의 시작 위치로부터 이격된 위치를 후보 위치로 설정하는 단계와,
상기 프레임들 중에 현재 설정된 후보 위치에 시작 위치가 가장 가까운 프레임을 검색하고, 검색된 프레임의 시작 시간을 후보 시간으로 설정하는 단계와,
상기 목표 시간과 상기 후보 시간의 차이를 상기 허용 오차 범위와 비교하는 단계와,
상기 목표 시간과 상기 후보 시간의 차이가 상기 허용 오차 범위를 벗어난 경우, 현재 설정된 평균 비트율 계산 구간 중에 상기 목표 시간으로부터 상기 후보 시간 방향으로 상기 후보 위치의 밖에 존재하는 구간을 제외한 나머지 구간을 평균 비트율 계산 구간으로 재설정하고, 재설정된 평균 비트율 계산 구간의 평균 비트율을 기반으로 상기 목표 시간과 상기 후보 시간 간의 차에 해당하는 데이터 사이즈만큼 상기 현재 설정된 후보 위치를 조정하는 단계와,
상기 후보 위치를 조정하는 단계 이후, 상기 후보 시간을 결정하는 단계부터 다시 반복하는 단계를 포함한다.
본 발명에 따른 멀티미디어 컨텐츠 프레임 검색 장치는,
멀티미디어 컨텐츠의 프레임들의 데이터를 저장하는 메모리부와,
상기 프레임들에 대해 설정하는 평균 비트율 계산 구간의 평균 비트율을 기반으로 목표 시간에 대응하는 목표 프레임에 관한 후보 위치를 설정하며, 상기 후보 위치를 기준으로 상기 평균 비트율 계산 구간을 단계적으로 좁혀가면서 상기 후보 위치를 조정하고, 시작 위치가 상기 후보 위치들 각각에 가장 가까운 프레임들 중에 상기 목표 시간에 대한 시작 시간의 차이가 미리 설정된 허용 오차 범위 이내가 되는 프레임을 상기 목표 프레임으로 결정하는 제어부를 포함한다.
상기 제어부는, 상기 가장 가까운 프레임의 시작 시간과 상기 목표 시간의 차이가 상기 허용 오차 범위 이내가 될 때까지 상기 후보 위치의 조정을 반복한다.
상기 제어부는,
상기 멀티미디어 컨텐츠의 전체 데이터를 상기 평균 비트율 계산 구간으로 설정하고, 상기 전체 데이터의 평균 비트율을 기반으로 상기 목표 시간에 해당하는 데이터 사이즈만큼 상기 전체 데이터의 시작 위치로부터 이격된 위치를 후보 위치로 설정하고,
상기 프레임들 중에 현재 설정된 후보 위치에 시작 위치가 가장 가까운 프레임을 검색하고, 검색된 프레임의 시작 시간을 후보 시간으로 설정하고,
상기 목표 시간과 상기 후보 시간의 차이를 상기 허용 오차 범위와 비교하며,
상기 목표 시간과 상기 후보 시간의 차이가 상기 허용 오차 범위를 벗어난 경우, 현재 설정된 평균 비트율 계산 구간 중에 상기 목표 시간으로부터 상기 후보 시간 방향으로 상기 후보 위치의 밖에 존재하는 구간을 제외한 나머지 구간을 평균 비트율 계산 구간으로 재설정하고, 재설정된 평균 비트율 계산 구간의 평균 비트율을 기반으로 상기 목표 시간과 상기 후보 시간 간의 차에 해당하는 데이터 사이즈만큼 상기 현재 설정된 후보 위치를 조정하고,
상기 후보 위치를 조정한 이후, 상기 후보 시간을 결정하는 것부터 다시 반복한다.
따라서 멀티미디어 컨텐츠의 처음부터 목표 지점까지의 전체 프레임을 파싱할 필요가 없을 뿐만 아니라 검색 테이블을 사용하지 않고 멀티미디어 컨텐츠에서 목표 프레임을 검색할 수 있다.
이에 따라 인코딩 단계에서 검색 테이블을 파일 포맷에 삽입할 필요가 없으며, 디코딩 시에 검색 테이블을 생성하고 초기화하는데 필요한 메모리 사용량을 필요로 하지 않으므로 디코더의 로딩 속도를 향상시키고, 신속하고 정밀하게 목표 프레임을 검색할 수 있다.
도 1은 본 발명의 실시 예에 따른 멀티미디어 컨텐츠 프레임 검색 장치를 포함한 멀티미디어 컨텐츠 플레이어의 블록 구성도,
도 2 a 및 도 2b는 본 발명의 실시 예에 따른 멀티미디어 컨텐츠 프레임 검색 흐름도,
도 3 내지 도 6은 본 발명의 실시 예에 따른 멀티미디어 컨텐츠 프레임 검색 동작 예시도.
도 2 a 및 도 2b는 본 발명의 실시 예에 따른 멀티미디어 컨텐츠 프레임 검색 흐름도,
도 3 내지 도 6은 본 발명의 실시 예에 따른 멀티미디어 컨텐츠 프레임 검색 동작 예시도.
이하 본 발명의 실시 예를 첨부 도면을 참조하여 상세히 설명한다. 이하에서 본 발명을 설명함에 있어서, 관련된 공지 기능이나 구성에 관한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그에 관한 상세한 설명을 생략한다. 그리고 후술되는 용어들은 본 발명에 따른 기능을 고려하여 정의된 용어들로서, 사용자, 운용자의 의도나 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 실시 예에 따른 멀티미디어 컨텐츠 프레임 검색 장치를 포함한 멀티미디어 컨텐츠 플레이어의 블록 구성도를 보인 것이다. 도 1을 참조하면, 제어부(100)는 메모리부(102), 파싱(parsing)부(104), 복호화부(106), 렌더러(renderer)부(108), 출력부(110)를 제어하여 멀티미디어 컨텐츠 플레이어의 플레이어 기능을 제어한다. 메모리부(102)는 도 1의 멀티미디어 컨텐츠 플레이어에 의해 재생하기 위한 적어도 하나의 멀티미디어 컨텐츠를 저장한다. 파싱부(104)는 메모리부(102)에 저장된 멀티미디어 컨텐츠의 데이터를 리드하여 파싱한다. 복호화부(106)는 파싱부(104)에 의해 파싱된 데이터를 디코딩한다. 렌더러부(108)는 복호화부(106)에 의해 디코딩된 데이터를 렌더링(rendering)한다. 출력부(110)는 스피커, 디스플레이와 같은 출력 장치를 포함하며, 렌더러부(108)에 의해 렌더링된 데이터에 따른 오디오, 비디오를 출력한다.
이하에서 상기 도 1에 보인 멀티미디어 컨텐츠 플레이어에 있어서 본 발명의 실시 예에 따른 멀티미디어 컨텐츠의 프레임 검색은 메모리부(102)에 저장되어 있는 멀티미디어 컨텐츠에 대해 제어부(100)에 수행되는 것으로 설명한다. 그러므로 본 발명의 실시 예에 따른 멀티미디어 컨텐츠 프레임 검색 장치는 메모리부(102)와 제어부(100)를 포함한다. 하지만 제어부(100) 대신에 파싱부(104)에 의해 수행되도록 할 수도 있다.
상기 제어부(100)는 메모리부(102)에 저장된 가변 비트율의 프레임들로 이루어지는 멀티미디어 컨텐츠의 프레임들 중에 목표 시간에 대응하는 목표 프레임을 검색한다. 목표 시간은 멀티미디어 컨텐츠의 전체 재생 시간 중에 사용자가 재생 위치를 이동시키고자 선택하는 재생 시간이다.
상기 제어부(100)는 메모리부(102)에 저장된 멀티미디어 컨텐츠의 프레임들에 대해 설정하는 평균 비트율(average bit-rate: 이하 "ABR"이라 함) 계산 구간의 ABR을 기반으로 목표 시간에 대응하는 목표 프레임에 관한 후보 위치를 설정하며, 후보 위치를 기준으로 ABR 계산 구간을 단계적으로 좁혀가면서 후보 위치를 조정한다. 이때 제어부(100)는 후보 위치에 가장 가까운 프레임의 시작 시간과 목표 시간의 차이가 미리 설정된 허용 오차 범위 T 이내가 될 때까지 후보 위치의 조정을 반복한다. 허용 오차 범위 T는 후보 위치에 가장 가까운 프레임의 시작 시간이 목표 시간과 유사하다고 볼 수 있는 범위로 미리 설정되는데, 예를 들어 0.1초나 0.5초 또는 1초로 설정될 수 있다.
상기 제어부(100)가 후보 위치를 설정하고 조정하는 것에 관해 설명하면 다음과 같다. 우선 제어부(100)는 멀티미디어 컨텐츠의 전체 데이터를 ABR 계산 구간으로 설정하고, 전체 데이터의 ABR을 기반으로 목표 시간에 해당하는 데이터 사이즈만큼 전체 데이터의 시작 위치로부터 이격된 위치를 후보 위치로 설정한다. 그리고 제어부(100)는 프레임들 중에 현재 설정된 후보 위치에 가장 가까운 프레임을 검색하고, 검색된 프레임의 시작 시간을 후보 시간으로 설정한다. 이후 제어부(100)는 목표 시간과 후보 시간의 차이를 허용 오차 범위 T와 비교한다. 만일 목표 시간과 후보 시간의 차이가 허용 오차 범위 T를 벗어난 경우, 제어부(100)는 현재 설정된 평균 ABR 계산 구간 중에 목표 시간으로부터 후보 시간 방향으로 후보 위치의 밖에 존재하는 구간을 제외한 나머지 구간을 ABR 계산 구간으로 재설정하고, 재설정된 ABR 계산 구간의 ABR을 기반으로 목표 시간과 후보 시간 간의 차에 해당하는 데이터 사이즈만큼 현재 설정된 후보 위치를 조정한다. 제어부(100)는 이처럼 후보 위치를 조정한 이후, 조정된 후보 위치에 따라 후보 시간을 결정하는 것부터 다시 반복한다.
상기 제어부(100)는 상기한 바와 같이 설정되고 조정되는 후보 위치들 각각에 가장 가까운 프레임들 중에 목표 시간에 대한 시작 시간의 차이가 허용 오차 범위 T 이내가 되는 프레임을 목표 프레임으로 결정한다.
도 2a 및 도 2b는 본 발명의 실시 예에 따라 제어부(100)가 멀티미디어 컨텐츠의 프레임을 검색하는 흐름도를 보인 것으로, 도 2a 및 도 2b는 도면 부호 A, B를 따라 서로 연결된 도면이다.
상기 도 2a 및 도 2b를 참조하면, 제어부(100)는 우선 후술하는 바와 같이 프레임 검색에 있어서 사용되는 변수들 LBP(Left Boundary Position), RBP(Right Boundary Position), LBT(Left Boundary Time), RBT(Right Boundary Time)를 (200)단계에서 초기화한다. LBP는 ABR 계산 구간의 시작 위치이고, RBP는 ABR 계산 구간의 종료 위치이고, LBT는 ABR 계산 구간의 시작 시간이며, RBT는 ABR 계산 구간의 종료 시간이다. 그러므로 LBT는 LBP에 해당하는 시간이며, RBT는 RBP에 해당하는 시간이다.
상기 (200)단계에서 제어부(100)는 LBP를 멀티미디어 컨텐츠의 전체 데이터의 시작 위치로 초기화하고, RBP를 멀티미디어 컨텐츠의 전체 데이터의 종료 위치로 초기화하고, LBT를 멀티미디어 컨텐츠의 전체 데이터의 시작 위치에 대응하는 시작 시간으로 초기화하고, RBT를 멀티미디어 컨텐츠의 전체 데이터의 종료 위치에 대응하는 종료 시간으로 초기화한다. 전체 데이터는 검색 대상이 되는 멀티미디어 컨텐츠 중에 통상적으로 앞 부분에 위치하는 각종 부가 정보를 제외한 실제 재생 대상이 되는 데이터를 의미한다.
다음에 제어부(100)는 (202)단계에서 하기 수학식 1에 따라 ABR을 계산하며, 계산된 ABR을 기반으로 목표 시간(Goal Time: 이하 "GT"라 함)에 대응하는 목표 프레임에 관한 후보 위치(Position: 이하 "POS"라 함)를 설정한다. GT는 전술한 바와 같이 멀티미디어 컨텐츠의 전체 재생 시간 중에 사용자가 재생 위치를 이동시키고자 선택하는 위치의 재생 시간이다.
[수학식 1]
즉, 제어부(100)는 도 3에 보인 것처럼 검색 대상이 되는 멀티미디어 컨텐츠의 전체 데이터(300)를 ABR 계산 구간으로 설정하고, 상기 수학식 1처럼 전체 데이터(300)의 ABR을 계산한다.
그리고 제어부(100)는 상기 수학식 1처럼 POS를 설정한다. 즉 전체 데이터(300)의 ABR을 기반으로 GT에 해당하는 데이터 사이즈만큼 전체 데이터(300)의 시작 위치로부터 이격된 위치가 POS로 설정된다. POS는 GT에 대응하는 목표 프레임의 시작 위치와 같을 수도 있지만, ABR을 기반으로 설정되기 때문에 목표 프레임의 시작 위치의 전,후가 될 가능성이 더 높다. 즉 POS는 도 4(a)처럼 GT의 이전이 되거나 도 5(a)처럼 GT의 이후가 될 가능성이 더 높다.
다음에 제어부(100)는 (204)단계에서 메모리부(102)에 저장된 검색 대상의 멀티미디어 컨텐츠의 전체 데이터(300) 중에 POS에 해당하는 위치로 데이터 리드 포인터를 이동하고, (206)단계에서 프레임의 시작 위치가 데이터 리드 포인터에 가장 가까운 프레임을 검색하고, 검색된 프레임의 시작 시간을 후보 시간(Candidate Time: 이하 "CT"라 함)으로 설정한다.
이때 검색된 프레임의 시작 위치는 POS와 일치할 수도 있으나, 검색된 프레임 내의 어느 한 곳에 POS가 위치함에 따라 POS와 약간의 차이가 있을 수도 있다. 하지만 POS에 해당하는 위치의 데이터 리드 포인터에 가장 가까운 프레임이 검색되므로 검색된 프레임의 시작 위치와 POS의 차이는 무시하여도 무방하다. 이에 따라 본 발명의 실시 예에 따른 제어부(100)의 멀티미디어 컨텐츠 프레임 검색 동작 예시도들을 보인 도 4 내지 도 6에서는 편의상 CT를 POS에 대응하는 것으로 도시하였다.
한편 상기 (206)단계에서 검색된 프레임의 시작 시간을 구하는 것은 검색된 프레임을 파싱하거나 계산함으로써 구하는데, 검색된 프레임의 시작 시간을 구하는 방법은 멀티미디어 컨텐츠의 파일 포맷에 따라 다를 수 있다. 이는 멀티미디어 컨텐츠의 파일 포맷에 따라 프레임의 헤더에 포함된 해당 프레임에 관한 정보가 다를 수 있기 때문이다.
멀티미디어 컨텐츠의 프레임의 헤더에 포함된 해당 프레임에 관한 정보는 예를 들어 FLAC(Free Lossless Audio Codec)에 따른 파일 포맷처럼 프레임 번호일 수 있다.
만일 프레임의 헤더에 포함된 해당 프레임에 관한 정보가 프레임 번호라면, 프레임 번호는 해당 프레임이 멀티미디어 컨텐츠의 전체 프레임 중에 몇 번째 프레임인지를 나타낼 것이다. 그러면 프레임 번호에 해당하는 프레임 개수보다 1개 작은 수를 1프레임에 해당하는 인코딩 시의 샘플 수와 곱하여 검색된 프레임의 이전 프레임들 전체의 샘플 수를 구한 후, 구해진 전체의 샘플 수를 샘플링 레이트로 나눔으로써 검색된 프레임의 시작 시간이 구해진다.
다른 예로서 멀티미디어 컨텐츠의 프레임의 헤더에 포함된 해당 프레임에 관한 정보는 예를 들어 OGG(Ogg Vorvis)에 따른 파일 포맷처럼 샘플 번호일 수 있다. 만일 프레임의 헤더에 포함된 해당 프레임에 관한 정보가 샘플 번호라면, 해당 프레임이 멀티미디어 컨텐츠에 관해 인코딩된 전체 샘플 중에 몇 번째 샘플들에 해당하는 프레임인지를 나타낼 것이다. 그러면 샘플 번호에 해당하는 샘플 수를 샘플링 레이트로 나눔으로써 검색된 프레임의 시작 시간이 구해진다.
이와 달리 멀티미디어 컨텐츠의 프레임의 헤더에 포함된 해당 프레임에 관한 정보는 시간일 수도 있을 것이다. 이러한 경우 시간은 해당 프레임의 시작 시간이 멀티미디어 컨텐츠의 시작 시간으로부터 경과된 시간을 나타낼 것이다. 그러면 검색된 프레임의 헤더에 포함된 시간 정보에 따른 시간이 바로 검색된 프레임의 시작 시간이므로 별도의 계산이 필요없다.
상기 (206)단계 이후에 제어부(100)는 (208)단계에서 CT와 GT의 차의 절대치를 허용 오차 범위 T와 비교하여, CT와 GT의 차이가 허용 오차 범위 T보다 작다면 (224)단계로 진행하고, 허용 오차 범위 T보다 작지 않다면 (210)단계로 진행한다.
상기 (210)단계에서 제어부(100)는 CT와 GT를 비교하여, 도 4(a)에 보인 것처럼 CT가 GT보다 작다면 (212)단계로 진행하고, 도 5(a)에 보인 것처럼 CT가 GT보다 작지 않다면 (218)단계로 진행한다.
상기 (212)단계에서는 현재 설정된 POS를 하기 수학식 2에 따라 조정한다.
[수학식 2]
상기 수학식 2에서, ABR은 평균 비트율이고, POS는 후보 위치이고, GT는 목표 시간이고, CT는 후보 시간이고, RBP는 ABR 계산 구간의 종료 위치이고, RBT는 ABR 계산 구간의 종료 시간이고, Difference는 ABR 계산 구간의 ABR을 기반으로 한 GT와 CT의 차이에 해당하는 데이터 사이즈이다.
상기 (212)단계에 관해 상세히 설명하면 다음과 같다. 상기 (210)단계의 비교 결과, 도 4(a)에 보인 것처럼 CT가 GT보다 작다면, 즉 POS가 도 4(a)처럼 GT의 이전인 경우, 상기 (212)단계에서 상기 수학식 2처럼 ABR 계산 구간이 도 4(a)처럼 RBP-POS로 재설정되고, ABR이 RBP-POS에 대해 구해진다. 또한 상기 수학식 2처럼 RBP-POS의 ABR을 GT와 CT의 차에 곱함으로써 GT와 CT의 차이에 해당하는 데이터 사이즈인 Difference가 구해지고, 구해진 Difference를 현재 설정된 POS에 더함으로써 POS가 조정된다. 즉 POS가 상기 수학식 2에 따라 GT와 CT의 차에 해당하는 데이터 사이즈 Difference만큼 조정된다.
상기 (212)단계 이후에 제어부(100)는 (214)단계에서 LBP와 LBT를 업데이트할지 여부를 결정하는데, POS가 LBP보다 큰지 여부 또는 CT가 LBT보다 큰지 여부를 확인하여, POS가 LBP보다 크거나 CT가 LBT보다 크다면 (216)단계에서 도 4(b)처럼 POS의 값으로 LBP를 업데이트하며 CT의 값으로 LBT를 업데이트한다. (216)단계를 수행한 이후에는 (204)단계로 돌아가며, (214)단계에서 POS가 LBP보다 큰지 여부를 확인한 경우 POS가 LBP보다 크지 않거나 또는 CT가 LBT보다 큰지 여부를 확인한 경우 CT가 LBT보다 크지 않으면, LBP와 LBT를 업데이트하지 않고 (204)단계로 돌아간다. 이때 CT는 POS에 대응하는 시간이고 LBT는 LBP에 대응하는 시간이므로, LBP와 LBT를 업데이트할지 여부를 (214)단계에서 POS가 LBP보다 큰지를 확인하여 결정하거나, CT가 LBT보다 큰지를 확인하여 결정하는 것이다.
상기 (218)단계에서는 현재 설정된 POS를 하기 수학식 3에 따라 조정한다.
[수학식 3]
상기 수학식3에서, ABR은 평균 비트율이고, POS는 후보 위치이고, GT는 목표 시간이고, CT는 후보 시간이고, LBP는 ABR 계산 구간의 시작 위치이고, LBT는 ABR 계산 구간의 시작 시간이고, Difference는 ABR 계산 구간의 평균 비트율을 기반으로 한 GT와 CT의 차이에 해당하는 데이터 사이즈이다.
상기 (218)단계에 관해 상세히 설명하면 다음과 같다. 상기 (210)단계의 비교 결과, 도 5(a)에 보인 것처럼 CT가 GT보다 작지 않다면, 즉 POS가 도 5(a)처럼 GT의 이후인 경우, 상기 (218)단계에서 상기 수학식 3처럼 ABR 계산 구간이 도 5(a)처럼 POS-LBP로 재설정되고, ABR이 POS-LBP에 대해 구해진다. 또한 상기 수학식 3처럼 POS-LBP의 ABR을 GT와 CT의 차에 곱함으로써 GT와 CT의 차이에 해당하는 데이터 사이즈인 Difference가 구해지고, 구해진 Difference를 현재 설정된 POS에서 뺌으로써 POS가 조정된다. 즉 POS가 상기 수학식 3에 따라 GT와 CT의 차에 해당하는 데이터 사이즈 Difference만큼 조정된다.
상기 (218)단계 이후에 제어부(100)는 (220)단계에서 RBP와 RBT를 업데이트할지 여부를 결정하는데, POS가 RBP보다 작은지 여부 또는 CT가 RBT보다 작은지 여부를 확인하여 POS가 RBP보다 작거나 CT가 RBT보다 작다면 (222)단계에서 도 5(b)처럼 POS의 값으로 RBP를 업데이트하며 CT의 값으로 RBT를 업데이트한다. (222)단계를 수행한 이후에는 (204)단계로 돌아가며, (220)단계에서 POS가 RBP보다 작은지 여부를 확인한 경우 POS가 RBP보다 작지 않거나 또는 CT가 RBT보다 작은지 여부를 확인한 경우 CT가 RBT보다 작지 않으면, RBP와 RBT를 업데이트하지 않고 (204)단계로 돌아간다. 이때 CT는 POS에 대응하는 시간이고 RBT는 RBP에 대응하는 시간이므로, RBP와 RBT를 업데이트할지 여부를 (220)단계에서 POS가 RBP보다 작은지를 확인하여 결정하거나, CT가 RBT보다 작은지를 확인하여 결정하는 것이다.
그러므로 GT와 CT 차이가 허용 오차 범위 T를 벗어난 경우, 제어부(100)는 (210)~(222)단계에서 현재 설정된 평균 ABR 계산 구간 중에 GT로부터 CT 방향으로 POS의 밖에 존재하는 구간을 제외한 나머지 구간을 ABR 계산 구간으로 재설정하고, 재설정된 ABR 계산 구간의 ABR을 기반으로 GT와 CT 간의 차에 해당하는 데이터 사이즈 Difference만큼 현재 설정된 POS를 조정한 이후, (204)단계로 돌아가 조정된 POS에 따라 CT를 결정하는 것부터 다시 반복하는 것이다.
이에 따라 (202)단계에서 설정된 POS가 GT에 대응하는 목표 프레임의 시작 위치와 같지 않은 경우, 도 4(a)처럼 GT의 이전이 되거나 도 5(a)처럼 GT의 이후인 경우에 상기 (204)~(222)단계를 반복함으로써, 결국에는 CT와 GT의 차이가 허용 오차 범위 T 내가 되는 CT에 대응하는 POS가 검색된다.
이처럼 POS가 설정되고 조정되어 가는 과정의 예를 도 6로서 보였다. 도 6(a)는 (202)단계에서 ABR 계산 구간이 전체 데이터(300)에 대해 설정되는 것을 보이고, 도 6(b) 내지 도 6(f)는 (204)~(222)단계에 따라 POS가 결국에는 도 6(f)처럼 CT와 GT의 차이가 허용 오차 범위 T 내가 되는 CT에 대응하는 POS로 조정되고, 그에 따라 GT에 대응하는 목표 프레임의 시작 위치에 POS가 위치하게 됨을 보인다.
도 6(b)는 도 6(a)처럼 전체 데이터(300)의 ABR을 기반으로 한 POS에 대응하는 CT가 GT의 이전에 위치하게 된 경우로서, ABR 계산 구간이 RBP-POS로 재설정됨을 보인다. 여기서 ABR 계산 구간은 도 6(a)에 비해 더 좁아진 것을 알 수 있다.
도 6(c)는 도 6(b)처럼 ABR 계산 구간이 재설정됨에 따라 도 6(b)에 보인 POS와 CT가 각각 LBP와 LPT로 업데이트되고, 도 6(b)처럼 재설정된 ABR 계산 구간의 ABR을 기반으로 한 POS에 대응하는 CT가 GT의 이후에 위치하게 된 경우로서, ABR 계산 구간이 POS-LBP로 재설정됨을 보인다. 여기서 CT와 GT의 차이는 도 6(b)에 비해 더 작아지고 ABR 계산 구간은 도 6(b)에 비해 더 좁아진 것을 알 수 있다.
도 6(d)는 도 6(c)처럼 ABR 계산 구간이 재설정됨에 따라 도 6(c)에 보인 POS와 CT가 각각 RBP와 RBT로 업데이트되고, 도 6(c)처럼 재설정된 ABR 계산 구간의 ABR을 기반으로 한 POS에 대응하는 CT가 GT의 이후에 위치한 경우로서, ABR 계산 구간이 POS-LBP로 재설정됨을 보인다. 여기서 POS에 대응하는 CT가 도 6(c)와 마찬가지로 GT의 이후에 위치하지만 도 6(c)에 비해 CT와 GT의 차이가 더 작아지고, ABR 계산 구간은 도 6(c)에 비해 더 좁아진 것을 알 수 있다.
도 6(e)는 도 6(d)처럼 ABR 계산 구간이 재설정됨에 따라 도 6(d)에 보인 POS와 CT가 각각 RBP와 RBT로 업데이트되고, 도 6(d)처럼 재설정된 ABR 계산 구간의 ABR을 기반으로 한 POS에 대응하는 CT가 GT의 이전에 위치한 경우로서, ABR 계산 구간이 RBP-POS로 재설정됨을 보인다. 여기서 POS에 대응하는 CT가 도 6(b)와 마찬가지로 GT의 이전에 위치하지만 도 6(d)에 비해 CT와 GT의 차이가 더 작아지고, ABR 계산 구간은 도 6(d)에 비해 더 좁아진 것을 알 수 있다.
도 6(f)는 도 6(b)~(d)를 거쳐 POS가 CT와 GT의 차이가 허용 오차 범위 T 내가 되는 CT에 대응하는 POS로 조정되고, 그에 따라 GT에 대응하는 목표 프레임의 시작 위치에 POS가 위치하게 됨을 보인다.
상기한 도 6(a)~6(f)에서 보인 것처럼, 제어부(100)는 (200)~(222)단계에서 메모리부(102)에 저장된 멀티미디어 컨텐츠의 프레임들에 대해 설정하는 ABR 계산 구간의 ABR을 기반으로 GT에 대응하는 목표 프레임에 관한 POS를 설정하며, POS를 기준으로 ABR 계산 구간을 단계적으로 좁혀가면서 POS를 조정하는데, POS에 가장 가까운 프레임의 시작 시간인 CT와 GT의 차이가 미리 설정된 허용 오차 범위 T 이내가 될 때까지 POS의 조정을 반복한다.
상기 (218)단계에서 제어부(100)는 (208)단계의 비교 결과, CT와 GT의 차이가 허용 오차 범위 T보다 작은 CT에 대응하는 프레임을 목표 프레임으로 결정하고, 목표 프레임 검색을 종료한다.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위를 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 예를 들어 본 발명의 실시 예에서는 가변 비트율의 프레임들로 이루어지는 멀티미디어 컨텐츠의 프레임을 검색하는 예를 설명하였으나, 본 발명의 실시 예의 실제 적용에 있어서 고정 비트율의 프레임들로 이루어지는 멀티미디어 컨텐츠의 프레임을 검색하는 경우에도 적용될 수 있다. 또한 본 발명의 실시 예에 따른 멀티미디어 컨텐츠의 프레임 검색이 제어부(100)에 의해 수행되는 것으로 설명하였으나, 본 발명의 실제 적용에서는 제어부(100) 대신에 파싱부(104)에 의해 수행되도록 할 수도 있다. 이러한 경우 파싱부(104)가 본 발명의 실시 예에 따른 멀티미디어 컨텐츠 프레임 검색을 제어하는 제어부가 될 것이다. 물론 제어부(100)가 파싱부(104)를 포함하는 멀티미디어 컨텐츠 플레이어인 경우에도, 본 발명의 실시 예에 따른 멀티미디어 컨텐츠의 프레임 검색은 당연히 파싱부를 포함한 제어부에 의해 수행될 것이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 특허청구범위뿐만 아니라 특허청구범위의 균등한 것들에 의하여 정하여져야 한다.
또한 본 발명의 실시 예들은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다. 이러한 임의의 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM(Read Only Memory), RAM(Random Access Memory) 등과 같은 휘발성 또는 비휘발성 저장 장치, 또는 CD(Compact Disc), DVD(Digital Versatile Disc), 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계로 읽을 수 있는 저장 매체에 저장될 수 있다. 예를 들어 멀티미디어 컨텐츠 플레이어를 탑재한 모바일 단말 내에 포함될 수 있는 메모리는 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. 따라서, 본 발명은 본 명세서의 임의의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다.
상술한 본 발명의 실시 예에 따른 멀티미디어 컨텐츠 프레임 검색 방법은 프로그램으로 제작되어 저장매체에 저장될 수 있으며, 멀티미디어 컨텐츠 플레이어를 탑재한 모바일 단말은 어플리케이션들을 제어하기 위한 프로그램(예컨대 어플리케이션 등)을 원격에 위치한 프로그램 제공 서버로부터 다운로드 받거나, 설치하여 실행함으로써, 멀티미디어 컨텐츠 프레임 검색에 사용할 수 있다. 즉, 멀티미디어 컨텐츠 프레임 검색을 위한 프로그램이 모바일 단말에 인스톨되면 모바일 단말에서 실행되어 멀티미디어 컨텐츠 프레임 검색을 제공할 수 있다. 상기 프로그램 제공 서버는 모바일 단말로부터 상기 프로그램에 대한 전송 요청을 수신하고, 상기 전송 요청에 응답하여 상기 프로그램을 모바일 단말로 전송한다. 상기 프로그램 서버는 상기 프로그램의 전송을 요청한 모바일 단말에 대하여 서비스 가입 여부 판단, 사용자 인증 및 결재 정보 확인 등을 추가로 수행할 수 있다. 상기 프로그램 제공 서버는 상기 프로그램을 저장한 저장매체를 구비할 수 있다. 또한, 상기 저장매체는 상기 프로그램 제공 서버의 내부 또는 외부에 위치할 수 있다.
100: 제어부 102: 메모리부
104: 파싱부 106: 복호화부
108: 렌더러부 110: 출력부
104: 파싱부 106: 복호화부
108: 렌더러부 110: 출력부
Claims (12)
- 멀티미디어 컨텐츠 프레임 검색 방법에 있어서,
멀티미디어 컨텐츠의 프레임들에 대해 설정하는 평균 비트율 계산 구간의 평균 비트율을 기반으로 목표 시간에 대응하는 목표 프레임에 관한 후보 위치를 설정하며, 상기 후보 위치를 기준으로 상기 평균 비트율 계산 구간을 단계적으로 좁혀가면서 상기 후보 위치를 조정하는 단계와,
시작 위치가 상기 후보 위치들 각각에 가장 가까운 프레임들 중에 상기 목표 시간에 대한 시작 시간의 차이가 미리 설정된 허용 오차 범위 이내가 되는 프레임을 상기 목표 프레임으로 결정하는 단계를 포함함을 특징으로 하는 멀티미디어 컨텐츠 프레임 검색 방법.
- 제1항에 있어서, 상기 멀티미디어 컨텐츠의 프레임들은 가변 비트율의 프레임들임을 특징으로 하는 멀티미디어 컨텐츠 프레임 검색 방법.
- 제1항에 있어서, 상기 후보 위치의 조정은, 상기 가장 가까운 프레임의 시작 시간과 상기 목표 시간의 차이가 상기 허용 오차 범위 이내가 될 때까지 반복됨을 특징으로 하는 멀티미디어 컨텐츠 프레임 검색 방법.
- 제3항에 있어서, 상기 후보 위치를 설정하고 조정하는 단계는,
상기 멀티미디어 컨텐츠의 전체 데이터를 상기 평균 비트율 계산 구간으로 설정하고, 상기 전체 데이터의 평균 비트율을 기반으로 상기 목표 시간에 해당하는 데이터 사이즈만큼 상기 전체 데이터의 시작 위치로부터 이격된 위치를 후보 위치로 설정하는 단계와,
상기 프레임들 중에 현재 설정된 후보 위치에 시작 위치가 가장 가까운 프레임을 검색하고, 검색된 프레임의 시작 시간을 후보 시간으로 설정하는 단계와,
상기 목표 시간과 상기 후보 시간의 차이를 상기 허용 오차 범위와 비교하는 단계와,
상기 목표 시간과 상기 후보 시간의 차이가 상기 허용 오차 범위를 벗어난 경우, 현재 설정된 평균 비트율 계산 구간 중에 상기 목표 시간으로부터 상기 후보 시간 방향으로 상기 후보 위치의 밖에 존재하는 구간을 제외한 나머지 구간을 평균 비트율 계산 구간으로 재설정하고, 재설정된 평균 비트율 계산 구간의 평균 비트율을 기반으로 상기 목표 시간과 상기 후보 시간 간의 차에 해당하는 데이터 사이즈만큼 상기 현재 설정된 후보 위치를 조정하는 단계와,
상기 후보 위치를 조정하는 단계 이후, 상기 후보 시간을 결정하는 단계부터 다시 반복하는 단계를 포함함을 특징으로 하는 멀티미디어 컨텐츠 프레임 검색 방법.
- 제4항에 있어서,
상기 후보 위치는 하기 수학식 1에 의해 결정되고,
상기 후보 위치를 조정하는 단계는,
상기 후보 시간과 상기 목표 시간을 비교하는 단계와,
상기 후보 시간이 상기 목표 시간보다 작다면, 상기 현재 설정된 후보 위치를 하기 수학식 2에 따라 조정하는 단계와,
상기 후보 시간이 상기 목표 시간보다 작지 않다면, 상기 현재 설정된 후보 위치를 하기 수학식 3에 따라 조정하는 단계를 포함함을 특징으로 하는 멀티미디어 컨텐츠 프레임 검색 방법.
[수학식 1]
[수학식 2]
[수학식 3]
상기 수학식 1 내지 3에서, 상기 ABR은 상기 평균 비트율이고, 상기 POS는 상기 후보 위치이고, 상기 GT는 상기 목표 시간이고, 상기 CT는 상기 후보 시간이고, 상기 LBP는 상기 평균 비트율 계산 구간의 시작 위치이고, 상기 LBT는 상기 평균 비트율 계산 구간의 시작 시간이고, 상기 RBP는 상기 평균 비트율 계산 구간의 종료 위치이고, 상기 RBT는 상기 평균 비트율 계산 구간의 종료 시간이고, 상기 Difference는 상기 평균 비트율 계산 구간의 평균 비트율을 기반으로 한 상기 목표 시간과 상기 후보 시간의 차이에 해당하는 데이터 사이즈임.
- 제5항에 있어서,
상기 후보 위치를 상기 수학식 2에 따라 조정하는 단계는,
상기 현재 설정된 후보 위치가 현재 설정된 LBP보다 크거나, 상기 후보 시간이 상기 LBT보다 크다면, 상기 현재 설정된 후보 위치의 값으로 상기 현재 설정된 LBP를 업데이트하며 상기 후보 시간의 값으로 상기 LBT를 업데이트하는 단계를 더 포함하고,
상기 후보 위치를 상기 수학식 3에 따라 조정하는 단계는,
상기 현재 설정된 후보 위치가 현재 설정된 RBP보다 작거나, 상기 후보 시간이 상기 RBT보다 작다면, 상기 현재 설정된 후보 위치의 값으로 상기 현재 설정된 RBP를 업데이트하며 상기 후보 시간의 값으로 상기 RBT를 업데이트하는 단계를 더 포함함을 특징으로 하는 멀티미디어 컨텐츠 프레임 검색 방법.
- 멀티미디어 컨텐츠의 프레임 검색 장치에 있어서,
멀티미디어 컨텐츠의 프레임들의 데이터를 저장하는 메모리부와,
상기 프레임들에 대해 설정하는 평균 비트율 계산 구간의 평균 비트율을 기반으로 목표 시간에 대응하는 목표 프레임에 관한 후보 위치를 설정하며, 상기 후보 위치를 기준으로 상기 평균 비트율 계산 구간을 단계적으로 좁혀가면서 상기 후보 위치를 조정하고, 시작 위치가 상기 후보 위치들 각각에 가장 가까운 프레임들 중에 상기 목표 시간에 대한 시작 시간의 차이가 미리 설정된 허용 오차 범위 이내가 되는 프레임을 상기 목표 프레임으로 결정하는 제어부를 포함함을 특징으로 하는 멀티미디어 컨텐츠 프레임 검색 장치.
- 제7항에 있어서, 상기 멀티미디어 컨텐츠의 프레임들은 가변 비트율의 프레임들임을 특징으로 하는 멀티미디어 컨텐츠 프레임 검색 장치.
- 제7항에 있어서, 상기 제어부는, 상기 가장 가까운 프레임의 시작 시간과 상기 목표 시간의 차이가 상기 허용 오차 범위 이내가 될 때까지 상기 후보 위치의 조정을 반복함을 특징으로 하는 멀티미디어 컨텐츠 프레임 검색 장치.
- 제9항에 있어서, 상기 제어부는,
상기 멀티미디어 컨텐츠의 전체 데이터를 상기 평균 비트율 계산 구간으로 설정하고, 상기 전체 데이터의 평균 비트율을 기반으로 상기 목표 시간에 해당하는 데이터 사이즈만큼 상기 전체 데이터의 시작 위치로부터 이격된 위치를 후보 위치로 설정하고,
상기 프레임들 중에 현재 설정된 후보 위치에 시작 위치가 가장 가까운 프레임을 검색하고, 검색된 프레임의 시작 시간을 후보 시간으로 설정하고,
상기 목표 시간과 상기 후보 시간의 차이를 상기 허용 오차 범위와 비교하며,
상기 목표 시간과 상기 후보 시간의 차이가 상기 허용 오차 범위를 벗어난 경우, 현재 설정된 평균 비트율 계산 구간 중에 상기 목표 시간으로부터 상기 후보 시간 방향으로 상기 후보 위치의 밖에 존재하는 구간을 제외한 나머지 구간을 평균 비트율 계산 구간으로 재설정하고, 재설정된 평균 비트율 계산 구간의 평균 비트율을 기반으로 상기 목표 시간과 상기 후보 시간 간의 차에 해당하는 데이터 사이즈만큼 상기 현재 설정된 후보 위치를 조정하고,
상기 후보 위치를 조정한 이후, 상기 후보 시간을 결정하는 것부터 다시 반복함을 특징으로 하는 멀티미디어 컨텐츠 프레임 검색 장치.
- 제10항에 있어서, 상기 제어부는,
상기 후보 위치를 하기 수학식 1에 의해 결정하고,
상기 후보 위치를 조정하는 경우, 상기 후보 시간과 상기 목표 시간을 비교하여, 상기 후보 시간이 상기 목표 시간보다 작다면, 상기 현재 설정된 후보 위치를 하기 수학식 2에 따라 조정하고, 상기 후보 시간이 상기 목표 시간보다 작지 않다면, 상기 현재 설정된 후보 위치를 하기 수학식 3에 따라 조정함을 특징으로 하는 멀티미디어 컨텐츠 프레임 검색 장치.
[수학식 1]
[수학식 2]
[수학식 3]
상기 수학식 1 내지 3에서, 상기 ABR은 상기 평균 비트율이고, 상기 POS는 상기 후보 위치이고, 상기 GT는 상기 목표 시간이고, 상기 CT는 상기 후보 시간이고, 상기 LBP는 상기 평균 비트율 계산 구간의 시작 위치이고, 상기 LBT는 상기 평균 비트율 계산 구간의 시작 시간이고, 상기 RBP는 상기 평균 비트율 계산 구간의 종료 위치이고, 상기 RBT는 상기 평균 비트율 계산 구간의 종료 시간이고, 상기 Difference는 상기 평균 비트율 계산 구간의 평균 비트율을 기반으로 한 상기 목표 시간과 상기 후보 시간의 차이에 해당하는 데이터 사이즈임.
- 제11항에 있어서, 상기 제어부는,
상기 후보 위치를 상기 수학식 2에 따라 조정하는 경우,
상기 현재 설정된 후보 위치가 현재 설정된 LBP보다 크거나, 상기 후보 시간이 상기 LBT보다 크다면, 상기 현재 설정된 후보 위치의 값으로 상기 현재 설정된 LBP를 업데이트하며 상기 후보 시간의 값으로 상기 LBT를 업데이트하고,
상기 후보 위치를 상기 수학식 3에 따라 조정하는 경우,
상기 현재 설정된 후보 위치가 현재 설정된 RBP보다 작거나 상기 후보 시간이 상기 RBT보다 작다면, 상기 현재 설정된 후보 위치의 값으로 상기 현재 설정된 RBP를 업데이트하며 상기 후보 시간의 값으로 상기 RBT를 업데이트함을 특징으로 하는 멀티미디어 컨텐츠 프레임 검색 장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120016379A KR101838301B1 (ko) | 2012-02-17 | 2012-02-17 | 멀티미디어 컨텐츠 프레임 검색 방법 및 장치 |
US13/666,292 US8676042B2 (en) | 2012-02-17 | 2012-11-01 | Method and apparatus for seeking a frame in multimedia contents |
EP12192857.6A EP2629298B1 (en) | 2012-02-17 | 2012-11-15 | Method and apparatus for seeking a frame in multimedia contents |
JP2013027509A JP6125857B2 (ja) | 2012-02-17 | 2013-02-15 | マルチメディアコンテンツのフレーム検索方法及び装置 |
CN201310052068.XA CN103260092B (zh) | 2012-02-17 | 2013-02-17 | 用于在多媒体内容中寻找帧的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120016379A KR101838301B1 (ko) | 2012-02-17 | 2012-02-17 | 멀티미디어 컨텐츠 프레임 검색 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130095013A KR20130095013A (ko) | 2013-08-27 |
KR101838301B1 true KR101838301B1 (ko) | 2018-03-13 |
Family
ID=47357918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120016379A KR101838301B1 (ko) | 2012-02-17 | 2012-02-17 | 멀티미디어 컨텐츠 프레임 검색 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8676042B2 (ko) |
EP (1) | EP2629298B1 (ko) |
JP (1) | JP6125857B2 (ko) |
KR (1) | KR101838301B1 (ko) |
CN (1) | CN103260092B (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870577A (zh) * | 2014-03-20 | 2014-06-18 | 梁鸿才 | 执法记录仪重要媒体文件自动识别判断方法及装置 |
CN104581436B (zh) * | 2015-01-28 | 2017-12-05 | 青岛海信宽带多媒体技术有限公司 | 一种视频帧定位方法及装置 |
JP7140517B2 (ja) * | 2018-03-09 | 2022-09-21 | キヤノン株式会社 | 生成装置、生成装置が行う生成方法、及びプログラム |
CN110460790A (zh) * | 2018-05-02 | 2019-11-15 | 北京视联动力国际信息技术有限公司 | 一种视频帧的抽取方法和装置 |
KR102569448B1 (ko) * | 2018-09-11 | 2023-08-24 | 삼성전자주식회사 | 디스플레이 장치 및 그 제어 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006323886A (ja) * | 2005-05-17 | 2006-11-30 | Matsushita Electric Ind Co Ltd | 圧縮データ再生方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL9000338A (nl) * | 1989-06-02 | 1991-01-02 | Koninkl Philips Electronics Nv | Digitaal transmissiesysteem, zender en ontvanger te gebruiken in het transmissiesysteem en registratiedrager verkregen met de zender in de vorm van een optekeninrichting. |
US5903872A (en) * | 1997-10-17 | 1999-05-11 | Dolby Laboratories Licensing Corporation | Frame-based audio coding with additional filterbank to attenuate spectral splatter at frame boundaries |
JP3159305B2 (ja) * | 1998-09-21 | 2001-04-23 | 日本電気株式会社 | 再生開始位置検出方法及びその装置 |
JP2002056656A (ja) * | 2000-04-18 | 2002-02-22 | Matsushita Electric Ind Co Ltd | 再生装置および再生方法 |
TWI227088B (en) * | 2003-11-07 | 2005-01-21 | Mediatek Inc | Method and related apparatus for searching the syncword of a next frame in an encoded digital signal |
US7302169B2 (en) | 2003-12-30 | 2007-11-27 | Fujitsu Limited | Method and apparatus for playing-back moving image data |
JP2005310306A (ja) | 2004-04-23 | 2005-11-04 | Toshiba Corp | 再生時間表示用装置および再生時間算出方法 |
JP4728760B2 (ja) | 2005-09-27 | 2011-07-20 | パナソニック株式会社 | 情報再生装置 |
TWI312962B (en) * | 2006-08-11 | 2009-08-01 | Quanta Comp Inc | Method and apparatus for estimating audio length of audio file |
US7975225B2 (en) * | 2007-05-02 | 2011-07-05 | Microsoft Corporation | Iteratively locating a position corresponding to a desired seek time |
US7885201B2 (en) * | 2008-03-20 | 2011-02-08 | Mediatek Inc. | Method for finding out the frame of a multimedia sequence |
KR101854469B1 (ko) * | 2011-11-30 | 2018-05-04 | 삼성전자주식회사 | 오디오 컨텐츠의 비트레이트 판단장치 및 방법 |
-
2012
- 2012-02-17 KR KR1020120016379A patent/KR101838301B1/ko active IP Right Grant
- 2012-11-01 US US13/666,292 patent/US8676042B2/en active Active
- 2012-11-15 EP EP12192857.6A patent/EP2629298B1/en not_active Not-in-force
-
2013
- 2013-02-15 JP JP2013027509A patent/JP6125857B2/ja active Active
- 2013-02-17 CN CN201310052068.XA patent/CN103260092B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006323886A (ja) * | 2005-05-17 | 2006-11-30 | Matsushita Electric Ind Co Ltd | 圧縮データ再生方法 |
Also Published As
Publication number | Publication date |
---|---|
US8676042B2 (en) | 2014-03-18 |
US20130216209A1 (en) | 2013-08-22 |
JP6125857B2 (ja) | 2017-05-10 |
CN103260092A (zh) | 2013-08-21 |
EP2629298B1 (en) | 2015-01-07 |
EP2629298A3 (en) | 2013-11-13 |
CN103260092B (zh) | 2018-02-02 |
KR20130095013A (ko) | 2013-08-27 |
JP2013172456A (ja) | 2013-09-02 |
EP2629298A2 (en) | 2013-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10645429B2 (en) | Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels | |
KR101838301B1 (ko) | 멀티미디어 컨텐츠 프레임 검색 방법 및 장치 | |
KR101868281B1 (ko) | 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체 | |
KR101874907B1 (ko) | 트릭 플레이 스트림들을 사용하여 적응적 비트레이트 스트리밍을 위해 인코딩된 미디어의 매끄러운 시각적 탐색을 수행하기 위한 시스템들 및 방법들 | |
JP4838191B2 (ja) | ファイル再生装置、ファイル再生方法、ファイル再生を実行させるプログラム及びそのプログラムを記録した記録媒体 | |
US20070130210A1 (en) | Compatible progressive download method and system | |
JP2014505425A (ja) | ストリーム遅延およびチャネルレートに基づく適応型ビットレートストリーミングのためのシステムおよび方法 | |
TW450007B (en) | Information recording system and information recording method | |
KR20190021250A (ko) | 트릭-플레이 재생 동안 오디오 콘텐트를 제공하기 위한 방법들 및 시스템들 | |
JP4731600B2 (ja) | コンテンツ送信システムにおけるサーバー装置およびコンテンツ送信方法 | |
EP2439741B1 (en) | Video playing apparatus and location search method thereof | |
CN113973225B (zh) | 视频倒播方法和装置,计算机存储介质和电子设备 | |
JP2006236475A (ja) | 符号化データ再生装置 | |
EP2685456A1 (en) | Index with offset to closest I-picture entry for random access in a bitstream. | |
CN117768683A (zh) | 一种测试直播编转码时延的方法及系统 | |
US20100138011A1 (en) | Multimedia playing method and apparatus using the same | |
US9288549B2 (en) | Terminal device | |
CN116208820A (zh) | 改善网络媒体文件seek效果的方法 | |
KR20060026690A (ko) | Mp3 파일 플레이 방법 | |
KR20100050876A (ko) | 디지털 음성 데이터의 되감기 및 재생 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |