KR20140091555A - 웹 페이지 렌더링 시간 측정 기법 - Google Patents

웹 페이지 렌더링 시간 측정 기법 Download PDF

Info

Publication number
KR20140091555A
KR20140091555A KR1020147013123A KR20147013123A KR20140091555A KR 20140091555 A KR20140091555 A KR 20140091555A KR 1020147013123 A KR1020147013123 A KR 1020147013123A KR 20147013123 A KR20147013123 A KR 20147013123A KR 20140091555 A KR20140091555 A KR 20140091555A
Authority
KR
South Korea
Prior art keywords
web page
video data
rendering
time
rendered
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020147013123A
Other languages
English (en)
Other versions
KR102047568B1 (ko
Inventor
메이어 쉬모우엘리
오메르 로젠바움
그레고리 버샨스키
유발 펠레드
엠 데이비드 필즈
센크 에르간
마이클 디 데커
아론 로드리게즈 허난데즈
매튜 피 코트세나스
제이슨 제이 웨버
이 밍 조우
키어란 친 체옹
켈리 로렌스 포드
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20140091555A publication Critical patent/KR20140091555A/ko
Application granted granted Critical
Publication of KR102047568B1 publication Critical patent/KR102047568B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/49Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

다양한 실시예가 브라우저 독립적일 수 있는 웹페이지의 렌더링 시간을 측정하기 위한 방식을 제공한다. 적어도 일부 실시예에서, 웹 페이지가 렌더링되는 경우, 상기 웹페이지의 비디오 데이터가 캡처되고 분석되어 웹페이지, 또는 이의 일부분이 완전히 렌더링되었을 가능성이 높은 경우를 결정할 수 있다. 적어도 일부 실시예에서, 캡처된 비디오 데이터에서 이미지 프로세싱이 수행되어, 시간에 따른 관측된 픽셀 변경으로부터 상기 웹페이지가 렌더링됐을 가능성이 높을 때를 결정할 수 있다.

Description

웹 페이지 렌더링 시간 측정 기법{MEASURING WEB PAGE RENDERING TIME}
최종 사용자에 의해 인지되는 웹 페이지 로드 시간(load time)이, 사용자 참여도(user engagement)에 대한 동인(driving factor)인 것으로 보여왔다. 결국, 이것은 사용자 충성도 및 광고로 인한 웹사이트 수익의 바람직한 지표인 것으로 증명되었다. 그러나 사용자가 느끼는 웹사이트 로드 시간을 측정하는 것은 복잡한 작업이라고 밝혀졌다. 웹 페이지 로드 시간을 측정하기 위한 기법이 존재하더라도, 이러한 기법은 네트워크 트래픽과 같은 네트워크 활동(network activity)에 초점을 맞추거나 지연 시간을 추가하여 웹 페이지 로딩을 열화시킬 수 있는 브라우저 플러그-인을 사용하는 경향이 있다. 그러나 이들 기법은 로드 시간의 대략적인 근사치만 제공할 뿐, 스크린 상으로 렌더링되는 실제 콘텐츠, 즉, 페이지 로딩 동안 스크린 상에서 사용자가 보는 것을 측정할 수는 없다.
개요
이 개요는 이하의 상세한 설명에서 추가로 상술한 개념들의 모음을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 청구되는 발명의 핵심 특징 또는 본질적 특징을 식별하려는 것이 아니며 청구되는 발명의 범위를 결정하는 것을 보조하고자 하는 것도 아니다.
다양한 실시예가 브라우저 독립적일 수 있는 웹페이지의 렌더링 시간을 측정하기 위한 방식을 제공한다. 적어도 일부 실시예에서, 웹 페이지가 렌더링됨에 따라, 웹페이지의 비디오 데이터가 캡처되고 분석되어 상기 웹페이지가 완전히 렌더링됐을 가능성이 높을 때를 결정할 수 있다. 적어도 일부 실시예에서, 캡처된 비디오 데이터에서 이미지 프로세싱이 수행되어, 시간에 따른 관측된 픽셀 변경으로부터 웹페이지가 렌더링됐을 가능성이 높을 때를 결정할 수 있다.
적어도 일부 실시예에서, 상술한 분석 기법을 통해 전체 페이지와 연관된 렌더링 시간이 결정될 수 있다. 대안적으로 또는 추가적으로 상술한 분석 기법을 통해 특정 페이지의 부분-영역(sub-region)과 연관된 렌더링 시간이 결정될 수 있다. 일부 경우 관심 대상이 아닌 영역은 마스킹되거나 무시될 수 있다.
상세한 설명은 첨부된 도면을 참조하여 기재된다. 도면에서, 참조번호의 최좌측 숫자(들)은 상기 참조번호가 처음 등장한 도면을 나타낸다. 상세한 설명 및 도면의 여러 다른 경우에서의 동일한 참조번호의 사용이 유사하거나 동일한 아이템을 가리킬 수 있다.
도 1은 하나 이상의 실시예에 따르는 예시적 구현예에서의 환경을 도시한다.
도 2는 도 1을 더 상세히 보여주는 예시적 구현예에서의 시스템을 도시한다.
도 3은 하나 이상의 실시예에 따르는 웹 페이지 렌더링을 도시한다.
도 4는 하나 이상의 실시예에 따르는 관심 영역을 도시한다.
도 5-7은 하나 이상의 실시예에 따르는 시간에 따른 "변경된 픽셀"의 그래프를 도시한다.
도 8은 하나 이상의 실시예에 따르는 방법의 단계들을 기술하는 흐름도이다.
도 9는 하나 이상의 실시예에 따르는 방법의 단계들을 기술하는 흐름도이다.
도 10은 본 명세서에 기술되는 다양한 실시예를 구현하기 위해 사용될 수 있는 예시적 컴퓨팅 장치를 도시한다.
개관
다양한 실시예가 브라우저-독립적일 수 있는 웹페이지 렌더링 시간 측정 방식을 제공한다. 적어도 일부 실시예에서, 웹 페이지가 렌더링되는 경우, 상기 웹페이지의 비디오 데이터가 캡처 및 분석되어 상기 웹페이지가 완전히 렌더링될 가능성이 높을 때를 결정할 수 있다. 적어도 일부 실시예에서, 이미지 프로세싱이 캡처된 비디오 데이터 상에서 수행되어, 시간에 따른 관측된 픽셀 변경으로부터 웹페이지가 렌더링될 가능성이 높을 때를 결정할 수 있다.
적어도 일부 실시예에서, 상술한 분석 기법을 통해 전체 페이지와 연관된 렌더링 시간이 결정될 수 있다. 대안적으로 또는 추가적으로, 상술한 분석 기법을 통해 특정 페이지의 부분-영역(sub-region)과 연관된 렌더링 시간이 결정될 수 있다. 일부 경우, 관심 대상이 아닌 영역은 마스킹(mask)되거나 무시될 수 있다.
다양한 실시예에 의해, 서로 다른 웹 브라우저들 간에, 렌더링 시간이 비교되고 분석될 수 있다. 덧붙여, 서로 다른 웹사이트들 간 렌더링 시간이 사용자가 이들을 비교하는 것과 동일한 방식으로 분석 및 비교될 수 있다. 이 경우, 정량적 데이터, 가령, 시간-기반 렌더링 계측치(time-based rendering metric)가 웹 페이지 로드 시간이 관심 대상인 한 사용자의 시각적 경험(visual experience)을 정량화하도록 형성될 수 있다.
다음의 설명에서, 본 명세서에 기재되는 기법을 채용하도록 동작되는 예시적 환경이 먼저 기재된다. 그 후 상기 예시적 환경에서뿐 아니라 그 밖의 다른 환경에서도 사용될 수 있는 다양한 실시예의 예시적 설명이 이어진다. 따라서, 예시적 환경은 기재된 실시예를 수행하는 데 제한되지 않고 기재된 실시예는 예시적 환경에서의 구현에 제한되지 않는다.
예시적 동작 환경
도 1은 본 명세서에서 기재되는 애니메이션 기법을 채용하도록 동작하는 예시적 구현에서의 환경(100)을 도시한다. 도시된 환경(100)은 다양한 방식으로 구성될 수 있는 컴퓨팅 장치(102)의 하나의 예시를 포함한다. 예를 들어, 컴퓨팅 장치(102)는 전통적인 컴퓨터(가령, 데스크톱 개인 컴퓨터, 랩톱 컴퓨터 등), 모바일 스테이션, 엔터테인먼트 기기, 텔레비전으로 통신 가능하게 연결된 셋-톱 박스, 무선 전화기, 넷북, 게임 콘솔, 핸드헬드 장치 등으로서 구성될 수 있으며, 이는 도 2와 관련하여 더 기재된다. 따라서 컴퓨팅 장치(102)는 상당한 메모리 및 프로세서 자원(가령, 개인 컴퓨터, 게임 콘솔)을 갖는 완전 자원 장치(full resource device)에서 제한된 메모리 및/또는 프로세싱 자원을 갖는 저 자원 장치(가령, 전통적인 셋-톱 박스, 핸드-헬드 게인 콘솔)까지일 수 있다. 또한 컴퓨팅 장치(102)는 컴퓨팅 장치(102)가 이하에서 기재된 하나 이상의 동작을 수행할 수 있게 하는 소프트웨어를 포함한다.
컴퓨팅 장치(102)는, 웹 브라우저(104), 제스처 모듈(106), 비디오 캡처 구성요소(106), 및 이미지 분석 구성요소(107) 등을 포함한다.
웹 브라우저(104)는 웹 페이지가 불러와지고 디스플레이 장치(108)를 통해 컴퓨팅 장치(102) 상에 렌더링될 수 있게 하는 기능부를 나타낸다. 임의의 적합한 유형의 웹 브라우저가 채용될 수 있으며, 이 예시는 본 명세서의 출원인뿐 아니라 그 밖의 다른 곳으로부터 이용 가능하다.
제스처 모듈(105)은 하나 이상의 손가락에 의해 수행될 수 있는 제스처를 인식(recognize)하고 상기 제스처에 대응하는 동작이 수행될 수 있게 하는 기능부를 나타낸다. 상기 제스처는 모듈(105)에 의해 다양한 방식으로 인식될 수 있다. 예를 들어, 제스처 모듈(105)은 터치스크린 기능부를 이용해 터치 입력, 가령, 사용자의 손의 손가락을 컴퓨팅 장치(102)의 디스플레이 장치(108)에 근접한 것으로 인식하도록 구성될 수 있다. 모듈(105)은 단일-손가락 제스처(single-finger gesture) 및 베젤 제스처(bezel gesture), 복수-손가락/동일-손 제스처(multiple-fmger/same-hand gesture) 및 베젤 제스처, 및/또는 복수-손가락/다른-손 제스처(multiple-finger/different-hand gesture) 및 베젤 제스처를 인식하도록 사용될 수 있다.
컴퓨팅 장치(102)는 또한 (가령, 사용자 손의 하나 이상의 손가락에 의해 제공되는) 터치 입력과 (가령, 스타일러스(116)에 의해 제공되는) 스타일러스 입력을 검출 및 구별하도록 구성될 수 있다. 구별은 다양한 방식으로, 가령, 사용자 손의 손가락에 의해 접촉되는 디스플레이 장치(108)의 크기 대(vs.) 스타일러스(116)에 의해 접촉되는 디스플레이 장치(108)의 크기를 검출함으로써, 수행될 수 있다.
따라서 제스처 모듈(105)은 스타일러스와 터치 입력뿐 아니라 서로 다른 유형의 터치 입력 간의 구분(division)의 인식 및 활용을 통해 다양한 여러 다른 제스처 기법을 지원할 수 있다.
비디오 캡처 구성요소(106)는 웹 브라우저(104)에 의해 웹 페이지가 렌더링되는 경우 웹페이지와 연관된 비디오 데이터가 캡처될 수 있게 하는 기능부를 나타낸다. 전체 디스플레이 스크린과 연관된 비디오 데이터가 캡처될 수 있다. 대안적으로 또는 추가적으로 웹페이지 전체보다 적은 부분을 구성하는 웹페이지의 일부분과 연관된 비디오 데이터가 캡처되고 분석될 수 있다. 도시되고 기재된 실시예에서, 비디오 캡처 구성요소(106)가 웹 페이지의 렌더링과 연관된 스크린 데이터를 캡처할 때, 이는 차후 프로세싱을 위해 디지털 비디오 파일로 저장될 수 있다. 덧붙여, 적어도 일부 실시예에서, 비디오 캡처 구성요소(106)는 비디오 데이터가 이미지 분석을 촉진시키기 위한 일부 방식으로 마킹될 수 있도록 구성되고, 이의 예시는 이하에서 제공된다.
이미지 분석 구성요소(107)는 비디오 캡처 구성요소(106)에 의해 캡처된 비디오 데이터가 분석될 수 있게 하고, 시간-기반 계측치(time-based metric)가 웹 페이지의 적어도 일부분에 대해 계산될 수 있게 하는 기능부를 나타낸다. 하나 이상의 실시예에서, 상기 이미지 분석 구성요소(107)는 비디오 파일을 읽고 비디오 파일의 시각적 특성을 분석하여 시간-기반 렌더링 계측치를 계산하도록 구성된다. 적어도 일부 실시예에서, 이하에서 자명해질 바와 같이, 분석이 프레임 단위로 발생한다. 덧붙여, 적어도 일부 실시예에서, 이미지 분석 구성요소(107)는 픽셀 단위로 이미지 분석 구성요소(107)에 의해 캡처되는 비디오 데이터에 대한 분석을 실시하도록 구성된다.
비디오 캡처 구성요소(106) 및 이미지 분석 구성요소(107)가 컴퓨팅 장치(102)의 일부를 포함하는 것으로 보이지만, 이러한 구성요소가 컴퓨팅 장치(102)에 독립적인 자립형 구성요소(standalone component)로서 구현될 수 있다.
총체적으로, 비디오 캡처 구성요소(106) 및 이미지 분석 구성요소(107)는 웹 브라우저에 의해 렌더링되는 웹페이지와 연관된 렌더링 시간, 즉, 시간-기반 렌더링 계측치가 브라우저-독립적인 방식으로 측정될 수 있게 한다. 웹 페이지가 웹 브라우저(104)에 의해 렌더링되는 경우, 웹페이지의 비디오 데이터는 비디오 캡처 구성요소(106)에 의해 캡처된다. 그 후, 상기 비디오 데이터는 이미지 분석 구성요소(107)에 의해 분석되어 웹페이지가 완전히 렌더링됐을 가능성이 높을 때를 결정할 수 있다. 적어도 일부 실시예에서, 캡처된 데이터에 대해 이미지 프로세싱이 수행되어 시간에 따른 관측된 픽셀 변화로부터 웹페이지가 렌더링됐을 가능성이 높을 때를 결정할 수 있다.
적어도 일부 실시예에서, 상술한 분석 기법을 통해 전체 페이지와 연관된 렌더링 시간이 결정될 수 있다. 대안적으로 또는 추가적으로, 기재된 분석 기법을 통해 특정 페이지의 부분-영역(sub-region)과 연관된 렌더링 시간이 결정될 수 있다. 일부 경우, 관심 대상이 아닌 영역이 마스킹되거나 무시될 수 있다.
도 2는 복수의 장치가 중앙 컴퓨팅 장치를 통해 상호연결된 환경에서 구현되는 경우의, 웹 브라우저(104), 제스처 모듈(105), 비디오 캡처 구성요소(106), 및 이미지 분석 구성요소(107)를 보여주는 예시적 시스템(200)을 도시한다. 중앙 컴퓨팅 장치는 복수의 장치에 로컬이거나 상기 복수의 장치로부터 원격으로 위치할 수 있다. 하나의 실시예에서, 중앙 컴퓨팅 장치는 네트워크 또는 인터넷 또는 그 밖의 다른 수단을 통해 복수의 장치로 연결되는 하나 이상의 서버 컴퓨터를 포함하는 "클라우드" 서버 팜(server farm)이다.
하나의 실시예에서, 이 상호연결 아키텍처에 의해 복수의 장치들 간에 기능이 전달되어 공통적이며 매끄러운 경험을 상기 복수의 장치의 사용자에게 제공할 수 있다. 상기 복수의 장치 각각은 서로 다른 물리적 요건 및 능력을 가질 수 있으며, 중앙 컴퓨팅 장치는 장치에 맞춤 구성되면서 동시에 모든 장치들에게 공통적인 경험 전달을 가능하게 하기 위한 플랫폼을 사용한다. 하나의 실시예에서, 타깃 장치의 "클래스"가 생성되고 경험이 장치의 일반 클래스에 맞춤 구성된다. 장치의 클래스는 장치의 물리적 특징 또는 용도 또는 그 밖의 다른 공통 특성에 의해 정의될 수 있다. 예를 들어, 앞서 기재된 바와 같이, 컴퓨팅 장치(102)는 다양한 여러 다른 방식으로, 가령, 모바일(202), 컴퓨터(204), 및 텔레비전(206) 용도로 구성될 수 있다. 이들 구성 각각은 일반적으로 대응하는 스크린 크기를 가지며, 따라서 컴퓨팅 장치(102)는 이 예시적 시스템(200)에서 이들 장치 클래스 중 하나로서 구성될 수 있다. 예를 들어, 컴퓨팅 장치(102)는 모바일 전화기, 음악 재생기, 게임 장치 등을 포함하는 장치의 모바일(202) 클래스를 가정할 수 있다. 상기 컴퓨팅 장치(102)는 또한 개인 컴퓨터, 랩톱 컴퓨터, 넷북 등을 포함하는 장치의 컴퓨터(204) 클래스를 가정할 수 있다. 상기 텔레비전(206) 구성은 일상적인 환경, 가령, 텔레비전, 셋-톱 박스, 게임 콘솔 등에서의 디스플레이를 포함하는 장치의 구성을 포함한다. 따라서 본 명세서에 기재된 기법은 이들 다양한 구성의 컴퓨팅 장치(102)에 의해 지원되며 다음의 섹션에서 기재되는 특정 예시에 국한되지 않는다.
클라우드(208)가 웹 서비스(212)를 위한 플랫폼(210)을 포함하는 것으로 도시된다. 상기 플랫폼(210)은 클라우드(208)의 하드웨어(가령, 서버) 및 소프트웨어 자원의 기저 기능부를 추상화하며, 따라서 "클라우드 운영 체제"로서 기능할 수 있다. 예를 들어, 플랫폼(210)은 컴퓨팅 장치(102)를 그 밖의 다른 컴퓨팅 장치와 연결하기 위한 자원을 추상화할 수 있다. 상기 플랫폼(210)은 또한 플랫폼(210)을 통해 구현되는 웹 서비스(212)에 대한 직면한 수요에 대응하는 스케일링 레벨을 제공하기 위한 자원의 스케일링(scaling)을 추상화하도록 기능할 수 있다. 다양한 그 밖의 다른 예시가 또한 고려되는데, 예컨대, 서버 팜 내 서버들의 로드 밸런싱(load balancing), 악성 파티(가령, 스팸, 바이러스, 및 그 밖의 다른 멀웨어(malware))에 대한 보호 등이 있다.
따라서 클라우드(208)는 인터넷 또는 그 밖의 다른 네트워크를 통해 컴퓨팅 장치(102)에 의해 이용 가능해 지는 소프트웨어와 하드웨어 자원과 관련된 전략의 일부분으로서 포함된다. 예를 들어, 이미지 분석 구성요소(107)는 컴퓨팅 장치(102) 상에서뿐 아니라 웹 서비스(212)를 지원하는 플랫폼(210)을 통해서도 부분적으로 구현될 수 있다.
제스처 모듈에 의해 지원되는 제스처 기법이 모바일 구성(202) 내 터치스크린 기능부, 컴퓨터(204) 구성의 트랙 패드 기능부를 이용해 검출될 수 있거나, 특정 입력 장치와의 접촉을 포함하지 않는 자연 사용자 인터페이스(NUI: natural user interface)의 지원의 일부분으로서 카메라에 의해 검출될 수 있는 등이다. 덧붙여, 특정 제스처를 식별하기 위해 입력을 검출하고 인식하기 위한 동작의 수행이 시스템(200)을 통해, 가령, 컴퓨팅 장치(102) 및/또는 클라우드(208)의 플랫폼(210)에 의해 지원되는 웹 서비스(212)에 의해 분산될 수 있다.
일반적으로, 본 명세서에 기재된 기능들 중 일부가 소프트웨어, 펌웨어, 하드웨어(가령, 고정 로직 회로), 수동 프로세싱, 또는 이들 구현의 조합을 이용해 구현될 수 있다. 용어 "모듈", "기능", 및 "로직"은 본 명세서에서 사용되는 경우, 일반적으로 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 나타낸다. 소프트웨어 구현의 경우, 모듈, 기능부 또는 로직은 프로세서(가령, CPU(들)) 상에서 또는 프로세서에 의해 실행되는 경우 특정 작업을 수행하는 프로그램 코드를 나타낸다. 상기 프로그램 코드는 하나 이상의 컴퓨터 판독형 메모리 장치에 저장될 수 있다. 이하에서 기재된 제스처 기법의 특징부는 플랫폼-독립적인데, 이는 기법이 다양한 프로세서를 갖는 다양한 상용화된 컴퓨팅 플랫폼 상에서 구현될 수 있음을 의미한다.
이하의 설명에서, 다양한 섹션에서 다양한 예시적 실시예가 기재된다. "예시적 실시예"라는 섹션에서 하나 이상의 실시예에 따르는 비디오 캡처 단계 및 이미지 분석 단계의 다양한 양태가 기재된다. 그 후, "예시적 방법"이라는 섹션에서 하나 이상의 실시예에 따르는 예시적 방법이 기재된다. 마지막으로, "예시적 장치"라는 섹션에서, 하나 이상의 실시예를 구현하기 위해 사용될 수 있는 예시적 장치의 양태가 기재된다.
웹 페이지 렌더링 시간이 측정될 수 있는 예시적 동작 환경에 대해 기재했으며, 이하에서 하나 이상의 실시예에 따르는 예시적 비디오 캡처 및 이미지 분석에 대해 설명한다.
예시적 실시예
하나 이상의 실시예에서, 웹 페이지 렌더링 시간은 비디오 캡처 단계(video capture phase) 및 이에 뒤따르는 이미지 분석 단계(image analysis phase)를 이용해 결정될 수 있다. 도시되고 기재된 실시예에서, 상기 비디오 캡처 단계는 비디오 캡처 구성요소, 가령, 비디오 캡처 구성요소(106)에 의해 수행될 수 있다. 상기 이미지 분석 단계는 이미지 분석 구성요소, 가령, 이미지 분석 구성요소(107)에 의해 수행될 수 있다.
비디오 캡처 단계
비디오 캡처 단계와 관련하여, 다음이 고려된다. 하나 이상의 실시예에서, 비디오 캡처 단계의 개시는 웹페이지로의 내비게이션(navigation) 전에 또는 이에 응답하여 발생할 수 있다. 예를 들어, 적어도 일부 실시예에서 비디오 캡처가 수동으로 개시되고, 그 후 웹페이지로의 수동 또는 자동 내비게이션이 뒤따를 수 있다. 이 경우, 인간 평가자가 비디오 캡처 구성요소를 런칭(launch)하고 그 후 웹페이지로의 내비게이션을 개시할 수 있다. 또 다른 실시예에서, 자동화된 시험 시스템(test system)이 웹페이지로의 자동화된 내비게이션과 관련하여 비디오 캡처를 개시할 수 있다.
하나 이상의 실시예에서, 내비게이션이 개시되고 비디오 캡처가 시작됐을 때, 상기 비디오 데이터가 내비게이션 활동의 시작을 기술(delineate)하기 위한 일부 방식으로 마킹(marking)될 수 있다. 비디오 데이터의 마킹은 임의의 적합한 방식으로 이뤄질 수 있다. 예를 들어, 적어도 일부 실시예에서, 적합한 마크, 가령, 시각적 식별자가 디스플레이 장치 또는 스크린 상에 생성되어 내비게이션이 시작됐음을 시그널링할 수 있다. 임의의 적합한 마크가 사용될 수 있다. 단지 하나의 예로서, 도 3을 참조할 수 있다. 여기서, 컴퓨팅 장치(102)의 디스플레이 장치(108)는 좌측 하단 모서리에서 마크(300)를 포함한다. 이 마크는 웹페이지로의 내비게이션을 기술하는 비디오 데이터와 함께 캡처된다. 대안적으로 또는 추가적으로, 비디오 데이터와 함께 포함되는 타임스탬프 또는 그 밖의 다른 일부 적합한 유형의 메타데이터를 이용해 비디오 데이터가 마킹될 수 있다. 상기 마크 또는 식별자는 시각적 또는 비-시각적일 수 있다.
(도 3의 화살표를 따라 하단 도면을 향해 시각적으로 전진함으로써 나타나는 바와 같이) 웹 페이지가 렌더링된 후, 비디오 캡처가 종료될 수 있다. 비디오 캡처의 종료는 임의의 적합한 방식으로 발생할 수 있다. 예를 들어, 적어도 일부 실시예에서, 비디오 캡처의 종료는 지정 시간 윈도, 가령, 10초 후에 발생할 수 있다. 대안적으로, 비디오 캡처의 종료는 네트워크 트래픽으로부터 야기된 큐(cue)를 이용해 발생할 수 있다. 예를 들어, 비디오 캡처 구성요소는 가령, 모든 파일이 다운로딩되었을 때를 고려하고 비디오 캡처가 종료된 후 일정 크기의 시간을 추가함으로써, 지정 시간 버퍼(time buffer)에 추가로 수신된 마지막 바이트(byte)를 고려할 수 있다. 완결된 렌더링이 발생하거나 발생할 가능성이 높음을 보장하기 위해 비디오 캡처를 종료하기 위한 이러한 그리고 그 밖의 다른 기법이 사용될 수 있다. 적어도 일부 실시예에서, 이들 종료 기법은 적절한 비디오 데이터가 캡처되었음을 보장하기 위해 웹 페이지 렌더링의 완료를 "오버슛(overshoot)"할 수 있다.
앞서 기재된 바와 같이, 비디오 데이터가 캡처되었으면, 이하에서 상술한 바와 같이 비디오 데이터의 이미지 분석이 발생할 수 있다.
이미지 분석 단계
이미지 분석 단계와 관련하여, 다음을 고려한다. 적어도 일부 실시예에서, 비디오 데이터가 캡처되면, 관심 영역이 차후 분석 목적으로 식별될 수 있다. 이는 임의의 적합한 방식으로 수행될 수 있다. 예를 들어, 적어도 일부 실시예에서, 비디오 데이터와 연관된 비디오가 로딩될 수 있고 시작 프레임이 식별될 수 있다. 임의의 적합한 방법이 시작 프레임을 식별하기 위해 사용될 수 있다. 예를 들어, 적어도 일부 실시예에서, 시작 프레임은 시각적 지시자, 가령, 앞서 기재된 시각적 지시자가 처음 등장하는 프레임의 위치를 파악함으로써 식별될 수 있다. 대안적으로 또는 추가적으로 특정 타임스탬프와 연관된 프레임의 위치가 파악될 수 있다.
그 후, 연관된 비디오가 완료된 렌더링 상태를 나타내는 프레임으로 전달될 수 있다. 이 프레임을 식별하기 위해 임의의 적합한 기법이 사용될 수 있다. 예를 들어, 완료된 렌더링 상태를 나타내는 프레임은 시작 프레임 후 특정 지정 시간에서 발생한 프레임일 수 있다. 대안적으로 또는 추가적으로 이 프레임은 특정 이벤트의 발생, 가령, 마지막 바이트의 수신 등과 관련하여 발생할 수 있다.
완료된 렌더링 상태를 구성하는 프레임들의 모음이 선택되면, 차후 분석을 위해 관심 영역이 마킹될 수 있다. 적어도 일부 실시예에서, 이는 수동 프로세스를 포함하거나 수동 프로세스에 의해, 비-제한적 예를 들면, 입력 장치를 이용해 비디오 상에 직접 영역을 마킹함으로써, 수행될 수 있다. 대안적으로 또는 추가적으로 자동화된 방식이 사용되어 하나 이상의 관심 영역을 식별할 수 있다. 예를 들어, 이미지 인식이 이들 영역을 식별하도록 사용될 수 있다. 대안적으로, 메타데이터, 가령, 웹사이트의 연관된 문서 객체 모델(Document Object Model)에서 발견된 것이 서로 다른 영역의 힌트(hint) 또는 태그(tag)를 식별할 수 있다. 그 후 각각의 관심 영역은 명명되고 구성 파일(configuration file)에 저장되어, 기록된 비디오 데이터 상에서 이미지 분석이 수행될 수 있다. 예를 들어, 도 4를 참조하자.
여기서, 2개의 개별 관심 영역이 식별되었다. 제 1 관심 영역(400)은 전체 시각적 스크린을 포함하고, 따라서 모든 시각적 콘텐츠를 캡슐화한다. 한편, 제 2 관심 영역(402)은 시각적 콘텐츠의 일부분을 캡슐화하는 부분-영역(sub-region)을 포함한다. 이 예시에서, 관심 영역(402)은 광고 또는 멀티미디어 비디오를 포함할 수 있다.
관심 영역(들)을 지정한 후, 이미지 프로세싱이 발생하여 특정 웹페이지 및 지정된 관심 영역(들)과 연관된 렌더링 시간을 측정할 수 있다.
우선, 비디오 데이터와 연관된 비디오가 로딩되고 이미지 분석 구성요소가 비디오의 시작 프레임을 찾을 수 있다. 앞서 기재된 바와 같이 이전에 시작 프레임이 식별 또는 마킹되었다. 이 시작 프레임은 다음 번 프레임과의 비교를 위한 기준 이미지(baseline image)로서 지정될 수 있다. 시작 프레임이 기준 이미지로서 지정되면, 웹 페이지 렌더링과 연관된 시간 기반 렌더링 계측치를 계산하기 위한 목적으로 다음 번 프레임이 상기 시작 프레임에 비교될 수 있다. 임의의 적합한 알고리즘이 현재 프레임과 시작 프레임을 비교하기 위한 목적으로 사용될 수 있다. 이러한 알고리즘의 비-제한적 예를 들면, 히스토그램, 차이 퍼센티지, 면적에 의해 나눠지는 비-백색 픽셀(non-white pixel)의 수, 광학 문자 인식(OCR: optical character recognition) 기법 등을 채용하는 알고리즘이 있다. 이러한 알고리즘은 픽셀 단위 비교를 개시하거나 한 영역의 픽셀들의 요약(summarization)을 비교하도록 사용될 수 있다.
각각의 분석되는 프레임에 대해, 프레임과 연관된 타임스탬프 및 이의 연관된 계산된 차이 값이 로그기록(log)될 수 있다. 계산된 차이 값은 프레임들을 비교하기 위해 사용되는 분석 알고리즘을 기초로 계산된 값이다. 모든 프레임들이 분석되고 이의 타임스탬프 및 연관된 차이 값이 로그기록되면, 페이지 또는 페이지 부분의 렌더링 시간을 추출하기 위해 데이터가 프로세싱될 수 있다.
특히, 앞서 기재된 프로세싱에 의해, 시간에 따라 변하는 렌더링 웹 페이지 또는 이의 일부분과 연관된 픽셀의 수를 기술하는 데이터가 형성될 수 있다. 효과적으로, 임의의 특정 렌더링 웹페이지(또는 이의 일부분)은 시간에 따른 픽셀 변경의 측면에서 정의될 수 있는 패턴을 가질 것이다. 이 패턴은 렌더링되는 콘텐츠의 속성에 따라 달라질 수 있을 것이다. 예를 들어, 정적 콘텐츠를 갖는 웹 페이지는 애니메이션을 포함하는 웹페이지와 상이한 패턴을 가질 것이다. 마찬가지로, 하나의 애니메이션을 갖는 웹 페이지가 많은 애니메이션을 갖는 웹 페이지와 상이한 패턴을 가질 가능성이 높을 것이다. 마찬가지로, 관심 영역으로서 지정된 웹 페이지의 일부분이 특정 부분 내 렌더링된 콘텐츠에 따라 상이한 패턴을 가질 것이다.
그러나 임의의 특정 패턴은 완료된 렌더링 상태를 지시하는 패턴 영역을 가질 것이다. 이 특정 패턴 영역을 식별함으로써, 완료된 렌더링 상태와 연관된 시점이 결정되어 웹 페이지 또는 웹 페이지 부분을 완전히 렌더링하는 데 사용된 시간의 정확한 측정을 제공할 수 있다. 예시로서, 도 5를 고려할 수 있다.
도 5에서, 시간에 따른 "변경된 픽셀"의 그래프가 연관된 웹페이지의 픽셀이 렌더링 동안 시간에 따라 어떻게 변경됐는지를 도시하는 패턴(500)과 함께 도시된다. "총 렌더링의 임계치"는 특정 개수의 픽셀, 가령, 90%의 픽셀에 설정되었다.
이 특정 예시에서, 패턴(500)과 연관된 웹페이지는 일정하게 변하는 구성요소를 포함한다. 예를 들어, 이러한 구성요소는 이동하는 오디오/비디오 콘텐츠를 갖는 광고를 포함할 수 있다. 패턴(500)에서의 계단들 각각은 시간에 대한 픽셀의 변경을 나타낸다. 이 예시에서, 개별 요소들이 연쇄적으로 렌더링되고 페이지는 증분적으로(incrementally) 렌더링된다. 패턴(500) 내 (가장 왼쪽의) 첫 번째 계단은 콘텐츠 렌더링 프로세스가 시작되어 연관된 픽셀의 변경을 야기할 때의 첫 번째 렌더링 시점을 구성한다. 패턴이 진행함에 따라 총 렌더링의 임계치를 교차한다. 이 임계치 이상에서, 변경되는 오디오/비디오 콘텐츠로 인해 페이지는 시간에 따라 계속 변경된다. 총 렌더링의 임계치를 교차함으로써, 페이지가 안정화된 후 패턴(500)의 충분한 부분이 기록된 경우, 패턴 영역이 식별되고 패턴 영역이 시작된 시점이 식별될 수 있다. 그 후 이 패턴 영역 시작 시점은 웹 페이지 렌더링이 완료됐을 가능성이 높은 시점이라고 선택될 수 있다. 예를 들어, 비디오 또는 광고에 대응하는 패턴 영역이 (502)로 나타난다. 패턴의 시작점은 화살표로 식별되며, 이는 나타난 바와 같이, "렌더링 완료 시점"을 정의한다. 또 다른 예로서, 도 6을 고려할 수 있다.
도 6에서, 시간에 따른 "변경된 픽셀"의 그래프가 렌더링 동안의 갑작스러운 큰 색상 변경을 갖는 페이지를 나타내는 패턴(600)에 대해 나타난다. 예를 들어, 페이지의 배경 색상이 갑작스럽게 변경되어 완전히 렌더링된 페이지를 가리킬 수 있다. 이는 총 렌더링의 임계치를 교차하는 도면에서의 큰 두 번째 계단에 의해 표현된다. 이 특정 예시에서, 큰 색상 변경 후, 패턴(600)과 연관된 웹페이지는 일정하게 변하는 구성요소를 포함한다. 예를 들어, 이러한 구성요소는 이동하는 오디오/시각적 콘텐츠를 갖는 광고를 포함할 수 있다. 이는 식별될 수 있는 시작 시점을 갖는 패턴 영역(602)을 정의한다. 이전과 마찬가지로, 이 패턴 영역의 시작 시점은 웹 페이지 렌더링이 완료됐을 가능성이 높은 시점으로서 선택될 수 있다. 패턴 영역(602)의 시작 시점은 화살표로 식별되며, 이는, 나타나는 바와 같이, "렌더링 완료 시점"을 정의한다. 추가 예시로서, 도 7을 고려할 수 있다.
도 7에서, 시간에 따른 "변경된 픽셀"의 그래프가 텍스트를 포함하는 콘텐츠를 갖는 페이지를 나타내는 패턴(700)에 대해 나타난다. 이 예시에서, 페이지의 비-텍스트 콘텐츠는 패턴이 초기에 총 렌더링의 임계치를 교차하도록 한 방식으로 렌더링되었다. 그러나 이 예시에서 텍스트는 아직 렌더링되지 않았다. 따라서 패턴 영역(702)으로 돌아와서, 임계치의 교차점에서, 텍스트는 아직 렌더링되지 않았다. 화살표로 식별되는 패턴의 다음 번 계단이 텍스트 그리기 이벤트(text draw event)를 구성한다. 이 점에서, 패턴 영역(702)의 시작 시점은 (텍스트 그리기 이벤트에 대응하는) 화살표에 의해 식별되며, 이는 나타나는 바와 같이 "렌더링 완료 시점"을 정의한다. 이 예시는 총 렌더링의 임계치의 초기 교차가 반드시 렌더링 완료 시점을 가리키는 것은 아님을 나타낸다. 오히려 실제로 렌더링되는 콘텐츠의 맥락에서 다양한 패턴 영역을 분석함으로써, 가능성 높은 렌더링 완료 시점이 결정될 수 있다.
웹 페이지 또는 웹 페이지 내 관심 영역과 연관된 렌더링 시간이 하나 이상의 실시예에 따라 계산될 수 있는 다양한 예시를 고려했으며, 이하에서 하나 이상의 실시예에 따르는 예시적 방법이 기재된다.
예시적 방법
도 8은 하나 이상의 실시예에 따르는 방법의 단계들을 설명하는 흐름도이다. 상기 방법은 임의의 적합한 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합과 관련하여 수행될 수 있다. 적어도 일부 실시예에서, 상기 방법은 일부 유형의 컴퓨터 판독형 저장 매체 상에서 구현되는 소프트웨어에 의해 수행될 수 있다. 설명될 기능을 수행할 수 있는 소프트웨어의 하나의 예로는 앞서 기재된 바와 같은 비디오 캡처 구성요소 및 이미지 분석 구성요소가 있다.
단계(800)에서 디스플레이 장치 상에 웹페이지를 렌더링하는 것과 연관된 비디오 데이터가 캡처된다. 이 단계는 임의의 적절한 방식으로 수행될 수 있다. 예를 들어, 적어도 일부 실시예에서, 비디오 데이터가 캡처되고 상기 비디오 데이터와 연관된 식별자가 제공되며 특정 웹페이지로의 내비게이션이 시작되는 것으로 나타날 때를 식별한다. 적절한 식별자의 예시는 상기에서 제공된다. 예를 들어, 적어도 일부 실시예에서, 식별자는 시각적 식별자의 형태로 존재할 수 있다. 대안적으로 또는 추가적으로 식별자는 비-시각적 식별자, 비-제한적 예를 들면, 타임스탬프의 형태로 존재할 수 있다.
단계(802)는 웹페이지의 적어도 일부분을 렌더링하는 것과 연관된 시간-기반 렌더링 계측치(time-based rendering metric)를 계산하기에 충분한 비디오 데이터를 분석한다. 이 단계는 임의의 적절한 방식으로 수행될 수 있다. 예를 들어, 적어도 일부 실시예에서, 프레임 단위로 분석이 발생할 수 있다. 일부 경우, 프레임 단위 분석은 비디오 데이터의 시작 프레임을 지정하는 것과 상기 시작 프레임을 다음 번 프레임의 차이 비교를 위한 기준 이미지(baseline image)로서 이용하는 것을 포함할 수 있다. 차이 비교는 스크린 또는 디스플레이 장치 상의 모든 가시적 콘텐츠가 분석되도록 스크린 단위로 실시될 수 있다. 따라서 이들 경우, 시간-기반 렌더링 계측치가 웹페이지가 완전히 렌더링되는 경우를 식별하기 위한 시도와 연관될 수 있다. 대안적으로 또는 추가적으로 차이 비교는 웹페이지 전체보다 작은 부분을 구성하는 웹페이지의 일부분에 대해 실시될 수 있다. 따라서 이들 경우, 시간-기반 렌더링 계측치는 상기 웹페이지 전체보다 작은 부분을 구성하는 웹페이지의 일부분이 완전히 렌더링되는 경우를 식별하기 위한 시도와 연관될 수 있다. 이것이 이뤄질 수 있는 방식에 대한 예시는 앞서 제공되었다. 하나 이상의 실시예에서, 시간-기반 렌더링 계측치에 추가적인 정보가 웹 페이지 또는 이의 일부분이 로딩되거나 부분적으로 로딩되는 경우를 식별하려 시도하기 위해 사용될 수 있다. 예를 들어, 웹페이지가 로딩되는 경우를 식별하려 시도하기 위해 시간-기반 렌더링 계측치와 함께 시스템 자원 활용율(system resource utilization)이 분석되고 사용될 수 있다. 시스템 자원 활용율의 비-제한적 예를 들면, 연관된 디스플레이 장치 또는 그래픽 프로세서 유닛(GPU: graphics processor unit)의 업데이트 빈도, CPU 활동 등이 있다. 대안적으로 또는 추가적으로, 특정 애플리케이션의 거동 및 코드, 가령, HTML, CSS 및 JavaScript과 연관된 지식이 사용되어 웹페이지가 로딩되는 경우를 식별하려 시도할 수 있다. 예를 들어, 애플리케이션의 코드는, 가령 웹페이지가 완전히 로딩된 것에 반응하여 특정 호출(call)을 만들거나 특정 루틴(routine)을 구현함으로써, 특정 방식으로 거동할 수 있다.
도 9는 하나 이상의 실시예에 따르는 또 다른 방법의 단계들을 설명하는 흐름도이다. 상기 방법은 임의의 적절한 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합과 관련하여 수행될 수 있다. 적어도 일부 실시예에서, 상기 방법은 일부 유형의 컴퓨터 판독형 저장 매체 상에서 구현되는 소프트웨어에 의해 수행될 수 있다. 상술한 기능을 수행할 수 있는 소프트웨어의 하나의 예시로는 앞서 기재된 바와 같은 비디오 캡처 구성요소 및 이미지 분석 구성요소가 있다.
단계(900)에서 웹페이지로의 내비게이션과 연관하여 디스플레이 장치 상에서 비디오 데이터 캡처가 개시된다. 이 단계는 임의의 적절한 방식으로 수행될 수 있으며, 이의 예시는 앞서 제공되었다. 예를 들어, 이 단계는 사용자가 특정 웹페이지로의 링크를 클릭하는 것에 응답하여 수행될 수 있다. 단계(902)에서 연관된 내비게이션이 시작되는 것으로 나타날 때가 식별된다. 이 단계는 임의의 적절한 방식으로 수행될 수 있다. 예를 들어, 앞서 언급된 바와 같이, 이 단계는 디스플레이 장치의 스크린 상의 시각적 식별자를 이용함으로써 수행될 수 있다. 시각적 식별자는 내비게이션이 시작되는 것으로 나타나는 때를 식별한다. 상기 시각적 식별자는 내비게이션을 개시하기 위한 링크의 클릭을 검출하는 것에 응답하여 스크린 상에 배치될 수 있다. 대안적으로, 시각적 식별자는 웹페이지를 요청하기 위해 요청이 전송된 때 스크린 상에 배치될 수 있다. 단계(904)에서 내비게이션과 연관된 비디오 데이터의 복수의 프레임을 제공하기에 효과적인 비디오 데이터 캡처가 종료된다. 이 단계는 임의의 적절한 방식으로 수행될 수 있으며, 이의 예시가 앞서 제공되었다. 예를 들어, 적어도 일부 실시예에서, 지정 시점에서 종료가 발생할 수 있다. 대안적으로, 비-제한적 예를 들면, 수신된 웹페이지 콘텐츠와 연관된 정보, 비-제한적 예를 들면, 수신된 데이터의 마지막 크기, 가령 마지막 수신된 바이트를 기초로 종료가 발생될 수 있다. 단계(906)에서 복수의 프레임의 시각적 특성이 분석된다. 이 단계는 임의의 적절한 방식으로 수행될 수 있다. 예를 들어, 분석이 프레임 단위로 발생할 수 있다. 특히, 적어도 일부 실시예에서, 시작 프레임이 지정되고, 다음 번 프레임의 차이 비교를 위한 기준 이미지(baseline image)로서 사용될 수 있다. 상기 차이 비교는 스크린 상에 시각적으로 나타난 모든 콘텐츠를 분석함으로써 스크린 단위로 실시될 수 있다. 대안적으로 또는 추가적으로, 웹페이지 전체보다 적은 부분을 구성하는 연관된 웹 페이지 일부분에서 차이 비교가 실시될 수 있다.
적어도 일부 실시예에서, 프레임의 시각적 특성의 분석은 프레임 내 픽셀 변경의 패턴 기반 분석을 실시하는 것을 포함할 수 있다. 시각적 특성의 분석을 기초로 하여, 단계(908)에서 웹페이지의 적어도 일부분의 렌더링 상태와 연관된 시간-기반 렌더링 계측치가 계산된다. 일부 실시예에서, 렌더링 상태는 완전히 렌더링된 웹페이지와 연관된 상태이다. 또 다른 실시예에서, 렌더링 상태는 웹페이지의 부분-영역의 렌더링과 연관된 상태이다. 또 다른 실시예에서, 렌더링 상태가 부분적 렌더링 또는 증분적 렌더링된 영역과 연관될 수 있다. 이들의 연관된 시간-기반 렌더링 계측치의 측면에서 증분적 렌더링된 영역을 분석하는 것은 사용자 경험을 개선하기 위해 페이지 구성요소를 다운로드에 대해 순서화하는 법을 결정하는 데 도움이 될 수 있다.
예시적 실시예가 기재되었고, 상기의 예시를 구현하기 위해 사용될 수 있는 예시적 장치에 대한 설명이 이하에서 제공된다.
예시적 장치
도 10은 본 명세서에 기재된 실시예를 구현하기 위해 도 1 및 2를 참조하여 기재되는 바와 같은 임의의 유형의 휴대용 및/또는 컴퓨터 장치로서 구현될 수 있는 예시적 장치(1000)의 다양한 구성요소를 도시한다. 장치(1000)는 장치 데이터(1004)(가령, 수신된 데이터, 수신 중인 데이터, 브로드캐스팅되도록 스케줄링된 데이터, 데이터의 데이터 패킷 등)의 유선 및/또는 무선 통신을 가능하게 하는 통신 장치(1002)를 포함한다. 상기 장치 데이터(1004) 또는 그 밖의 다른 장치 콘텐츠가 상기 장치의 구성 설정, 상기 장치에 저장된 미디어 콘텐츠, 및/또는 장치의 사용자와 연관된 정보를 포함할 수 있다. 장치(1000)에 저장된 미디어 콘텐츠는 임의의 유형의 오디오, 비디오, 및/또는 이미지 데이터를 포함할 수 있다. 장치(1000)는 하나 이상의 데이터 입력(1006)을 포함하며, 이를 통해, 임의의 유형의 데이터, 미디어 콘텐츠, 및/또는 입력, 가령, 사용자-선택형 입력, 메시지, 음악, 텔레비전 미디어 콘텐츠, 기록된 비디오 콘텐츠 및 임의의 콘텐츠 및/또는 데이터 소스로부터 수신된 임의의 그 밖의 다른 유형의 오디오, 비디오 및/또는 이미지 데이터가 수신될 수 있다.
또한 장치(1000)는 직렬 및/또는 병렬 인터페이스, 무선 인터페이스, 임의의 유형의 네트워크 인터페이스, 모뎀, 및 그 밖의 다른 임의의 유형의 통신 인터페이스 중 임의의 하나 이상으로서 구현될 수 있는 통신 인터페이스(1008)를 포함한다. 통신 인터페이스(1008)는 장치(1000)와 통신 네트워크 사이에 연결 및/또는 통신 링크를 제공하며, 이를 통해, 그 밖의 다른 전자, 컴퓨팅, 및 통신 장치가 장치(1000)와 데이터를 통신한다.
장치(1000)는 장치(1000)의 동작을 제어하고 앞서 기재된 실시예를 구현하기 위해 다양한 컴퓨터-실행형 또는 판독형 명령을 프로세싱하는 하나 이상의 프로세서(1010)(가령, 마이크로프로세서, 제어기 등 중 임의의 것)를 포함한다. 대안적으로 또는 추가적으로, 장치(1000)는 일반적으로 (1012)로 식별되는 프로세싱 및 제어 회로와 관련하여 구현되는 하드웨어, 펌웨어, 또는 고정 로직 회로 중 임의의 하나 또는 이들의 조합과 함께 구현될 수 있다. 도시되지 않았지만, 장치(1000)는 장치 내 다양한 구성요소를 연결하는 시스템 버스 또는 데이터 전송 시스템을 포함할 수 있다. 시스템 버스는 다양한 버스 아키텍처 중 임의의 것을 이용하는 여러 다른 버스 구조, 가령, 메모리 버스 또는 메모리 제어기, 주변장치 버스, 전역 직렬 버스, 및/또는 프로세서 또는 로컬 버스 중 임의의 하나 또는 이들의 조합을 포함할 수 있다.
장치(1000)는 또한 컴퓨터 판독형 매체(1014), 가령, 하나 이상의 메모리 구성요소를 더 포함하며, 이의 예시는 랜덤 액세스 메모리(RAM), 비-휘발성 메모리(가령, 리드-온리 메모리(ROM), 플래시 메모리, EPROM, EEPROM 등 중 임의의 하나 이상), 및 디스크 저장 장치를 포함한다. 디스크 저장 장치는 임의의 유형의 자기 또는 광학 저장 장치, 가령, 하드 디스크 드라이브, 기록 가능한 및/또는 재-쓰기 가능한(rewriteable) 컴팩트 디스크(CD), 임의의 유형의 디지털 다목적 디스크(DVD) 등으로 구현될 수 있다. 장치(1000)는 또한 대량 저장 매체 장치(1016)를 포함할 수 있다.
컴퓨터-판독형 매체(1014)는 장치 데이터(1004)뿐 아니라 다양한 장치 애플리케이션(1018) 및 장치(1000)의 동작 양태와 관련된 그 밖의 다른 임의의 유형의 정보 및/또는 데이터를 저장하기 위한 데이터 저장 메커니즘을 제공한다. 예를 들어, 운영 체제(1020)는 컴퓨터 판독형 매체(1014)에 의해 컴퓨터 애플리케이션으로 유지될 수 있으며, 프로세서(1010) 상에서 실행될 수 있다. 상기 장치 애플리케이션(1018)은 장치 관리자(가령, 제어 애플리케이션, 소프트웨어 애플리케이션, 신호 프로세싱 및 제어 모듈, 특정 장치 고유의 코드, 특정 장치를 위한 하드웨어 추상화 층 등)뿐 아니라, 웹 브라우저, 이미지 프로세싱 애플리케이션, 통신 애플리케이션, 가령, 즉석 메시징 애플리케이션, 워드 프로세싱 애플리케이션 및 다양한 그 밖의 다른 서로 다른 애플리케이션을 포함할 수 있는 그 밖의 다른 애플리케이션을 포함할 수 있다. 또한 상기 장치 애플리케이션(1018)은 본 명세서에 기재된 기법의 실시예를 구현하기 위해 임의의 시스템 구성요소 또는 모듈을 포함한다. 이 예시에서, 장치 애플리케이션(1018)은 소프트웨어 모듈 및/또는 컴퓨터 애플리케이션으로서 나타나는 인터페이스 애플리케이션(1022) 및 제스처-캡처 드라이버(1024)를 포함한다. 상기 제스처-캡처 드라이버(1024)는 제스처, 가령, 터치스크린, 트랙 패드, 카메라 등을 캡처하도록 구성된 장치와의 인터페이스를 제공하도록 사용되는 소프트웨어를 나타낸다. 대안적으로 또는 추가적으로, 인터페이스 애플리케이션(1022) 및 제스처-캡처 드라이버(1024)가 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로서 구현될 수 있다. 덧붙여, 컴퓨터 판독형 매체(1014)가 앞서 기재된 바와 같이 기능하는 웹 브라우저(1025a), 비디오 캡처 구성요소(1025b), 및 이미지 분석 구성요소(1025c)를 포함할 수 있다.
장치(1000)는 또한 오디오 시스템(1028)으로 오디오 데이터를 제공하고, 및/또는 디스플레이 시스템(1030)으로 비디오 데이터를 제공하는 오디오 및/또는 비디오 입-출력 시스템(1026)을 제공한다. 상기 오디오 시스템(1028) 및/또는 디스플레이 시스템(1030)은 오디오, 비디오, 및 이미지 데이터를 프로세싱, 디스플레이, 및/또는 그 밖의 다른 방식으로 렌더링하는 임의의 장치를 포함할 수 있다. 비디오 신호 및 오디오 신호가 장치(1000)로부터 RF(무선 주파수) 링크, S-비디오 링크, 복합 비디오 링크, 구성요소 비디오 링크, DVI(digital video interface), 아날로그 오디오 연결, 또는 그 밖의 다른 유사한 통신 링크를 통해 오디오 장치 및/또는 디스플레이 장치로 통신될 수 있다. 하나의 실시예에서, 오디오 시스템(1028) 및/또는 디스플레이 시스템(1030)이 장치(1000)의 외부 구성요소로서 구현된다. 대안적으로, 오디오 시스템(1028) 및/또는 디스플레이 시스템(1030)이 예시적 장치(1000)의 일체 구성요소로서 구현된다.
결론
다양한 실시예가 브라우저-독립적일 수 있는 웹페이지의 렌더링 시간을 측정하기 위한 방식을 제공한다. 적어도 일부 실시예에서, 웹 페이지가 렌더링되는 경우, 웹페이지의 비디오 데이터가 캡처되고 분석되어 웹페이지가 완전히 렌더링됐을 때를 결정할 수 있다. 적어도 일부 실시예에서, 캡처된 비디오 데이터에 대해 이미지 프로세싱이 수행되어 시간에 따른 관측된 픽셀 변경으로부터 웹페이지가 렌더링됐을 가능성이 높은 때를 결정할 수 있다.
적어도 일부 실시예에서, 기재된 분석 기법을 통해 전체 페이지와 연관된 렌더링 시간이 결정될 수 있다. 대안적으로 또는 추가적으로, 기재된 분석 기법을 통해 특정 페이지의 부분-영역과 연관된 렌더링 시간이 결정될 수 있다. 일부 경우, 관심 대상이 아닌 영역은 마스킹되거나 무시될 수 있다.
실시예가 구조적 특징 및/또는 방법적 동작에 특정적인 언어로 기재되었지만, 이하의 특허청구범위에서 정의된 실시예가 기재된 상기 특정 특징부 또는 동작에 반드시 국한되는 것은 아님을 이해해야 한다. 오히려, 특정 특징부 및 동작은 청구되는 실시예를 구현하는 예시적 형태로서 개시된다.

Claims (10)

  1. 디스플레이 장치 상에 웹페이지를 렌더링하는 것과 연관된 비디오 데이터를 캡처하는 단계, 및
    상기 웹페이지의 적어도 일부분을 렌더링하는 것과 연관된 시간-기반 렌더링 계측치(time-based rendering metric)를 계산하기에 충분한 비디오 데이터를 분석하는 단계를 포함하는
    방법.
  2. 제1항에 있어서, 시스템 자원 활용율(system resource utilization)을 분석하고 분석된 시스템 자원 활용율과 상기 시간-기반 렌더링 계측치를 이용하여 상기 웹페이지의 적어도 일부분이 렌더링되는 경우를 식별하려 시도하는 단계를 더 포함하는
    방법.
  3. 제1항에 있어서, 디스플레이 장치 및 GPU의 업데이트 빈도(update frequency)를 분석하고 분석된 업데이트 빈도 및 상기 시간-기반 렌더링 계측치를 이용해 상기 웹페이지의 상기 적어도 일부분이 렌더링되는 경우를 식별하려 시도하는 단계를 더 포함하는
    방법.
  4. 제1항에 있어서, 상기 시간-기반 렌더링 계측치는 상기 웹페이지가 부분적으로 또는 완전히 렌더링되는 경우를 식별하기 위한 시동와 연관되는
    방법.
  5. 제1항에 있어서, 상기 비디오 데이터를 캡처하는 단계는, 비디오 데이터와 연관되며, 상기 웹페이지로의 내비게이션이 시작되는 것으로 나타나는 경우를 식별하는 식별자를 제공하는 단계를 포함하며, 상기 식별자는 시각적 식별자를 포함하는
    방법.
  6. 제1항에 있어서, 상기 분석하는 단계는 상기 비디오 데이터의 시작 프레임을 지정하고 상기 시작 프레임을 다음 번 프레임과의 차이 비교를 위한 기준 이미지로서 이용함으로써 프레임 단위로 상기 비디오 데이터를 분석하는 단계를 포함하며, 상기 차이 비교는 상기 디스플레이 장치와 연관된 스크린 단위로 실시되는
    방법.
  7. 실행되는 경우 방법을 구현하는 컴퓨터 판독형 명령을 구현하는 하나 이상의 컴퓨터 판독형 저장 매체로서,
    상기 방법은
    웹페이지로의 내비게이션과 연관하여, 디스플레이 장치 상에서 비디오 데이터 캡처를 개시하는 단계,
    상기 내비게이션이 시작되는 것으로 나타나는 경우를 식별하는 단계,
    상기 내비게이션과 연관된 비디오 데이터의 복수의 프레임을 제공하기에 효과적인 상기 비디오 데이터 캡처를 종료하는 단계,
    상기 복수의 프레임의 시각적 특성을 분석하는 단계, 및
    상기 분석을 기초로, 상기 웹페이지의 적어도 일부분의 렌더링 상태와 연관된 시간-기반 렌더링 계측치를 계산하는 단계를 포함하는
    컴퓨터 판독형 저장 매체.
  8. 제7항에 있어서, 상기 렌더링 상태는 완전히 렌더링된 웹페이지와 연관된 상태를 포함하는
    컴퓨터 판독형 저장 매체.
  9. 제7항에 있어서, 상기 식별하는 단계는 상기 디스플레이 장치의 스크린 상의 시각적 식별자를 이용하는 단계를 포함하는
    컴퓨터 판독형 저장 매체.
  10. 제7항에 있어서, 상기 시각적 특성을 분석하는 단계는 상기 비디오 데이터의 시작 프레임(start frame)을 지정하고 상기 시작 프레임을 다음 번 프레임과의 차이 비교를 위한 기준 이미지로서 사용함으로써 프레임 단위로 시각적 특성을 분석하는 단계를 포함하고, 상기 차이 비교는 스크린 단위로 실시되는
    컴퓨터 판독형 저장 매체.
KR1020147013123A 2011-11-16 2012-11-16 웹페이지 렌더링 시간 측정 기법 Active KR102047568B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/298,219 US8644623B2 (en) 2011-11-16 2011-11-16 Measuring web page rendering time
US13/298,219 2011-11-16
PCT/US2012/065464 WO2013074893A2 (en) 2011-11-16 2012-11-16 Measuring web page rendering time

Publications (2)

Publication Number Publication Date
KR20140091555A true KR20140091555A (ko) 2014-07-21
KR102047568B1 KR102047568B1 (ko) 2019-11-21

Family

ID=48280721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147013123A Active KR102047568B1 (ko) 2011-11-16 2012-11-16 웹페이지 렌더링 시간 측정 기법

Country Status (6)

Country Link
US (1) US8644623B2 (ko)
EP (1) EP2780820B1 (ko)
JP (1) JP6214547B2 (ko)
KR (1) KR102047568B1 (ko)
CN (1) CN103930885B (ko)
WO (1) WO2013074893A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190024145A (ko) * 2017-08-31 2019-03-08 충남대학교산학협력단 사용자 단말, 화면 표시 모니터링 방법, 및 컴퓨터 판독가능 기록 매체
KR20200022329A (ko) * 2018-08-22 2020-03-03 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 응답 시간 확정 방법 및 장치

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572505B2 (en) * 2011-01-31 2013-10-29 Oracle International Corporation Automatically testing a web application that has independent display trees
US10048854B2 (en) 2011-01-31 2018-08-14 Oracle International Corporation Drag and drop interaction between components of a web application
US8626909B2 (en) * 2012-05-22 2014-01-07 Microsoft Corporation Page phase time
FR2997522B1 (fr) * 2012-10-26 2015-12-25 Infovista Sa Procede permettant a un systeme de surveillance du reseau d'evaluer de facon non intrusive le ressenti utilisateur lors du chargement d'une page web
US10068508B2 (en) * 2013-08-30 2018-09-04 Google Llc Measuring user interface performance consistency
CN104090842A (zh) * 2014-07-15 2014-10-08 深圳市金立通信设备有限公司 一种应用程序运行的检测方法
CN104102582A (zh) * 2014-07-15 2014-10-15 深圳市金立通信设备有限公司 一种应用程序运行的检测装置及终端
US20170083217A1 (en) * 2014-09-08 2017-03-23 Hewlett Packard Enterprise Development Lp User interface components load time visualization
US10033656B2 (en) * 2015-05-21 2018-07-24 Sap Portals Israel Ltd Critical rendering path optimization
CN107451193B (zh) * 2017-06-29 2019-06-11 北京三快在线科技有限公司 一种客户端页面加载时间的获取方法及装置,电子设备
CN109656645A (zh) * 2017-10-11 2019-04-19 阿里巴巴集团控股有限公司 展现时间确定方法和页面渲染完成时间的确定方法及装置
US10387012B2 (en) * 2018-01-23 2019-08-20 International Business Machines Corporation Display of images with action zones
US20190347315A1 (en) * 2018-05-08 2019-11-14 International Business Machines Corporation Methods and systems for rendering web pages with restricted features
CN109271600B (zh) * 2018-08-16 2022-02-22 微梦创科网络科技(中国)有限公司 一种性能数据的监测方法、系统和装置
CN109165167A (zh) * 2018-09-07 2019-01-08 苏宁智能终端有限公司 一种响应时间的测试方法及装置
CN110209978B (zh) * 2019-01-28 2023-05-16 腾讯科技(深圳)有限公司 一种数据处理方法和相关装置
CN111796824A (zh) * 2020-06-29 2020-10-20 平安普惠企业管理有限公司 页面加载方法、装置、服务器及介质
KR102328060B1 (ko) * 2020-10-13 2021-11-17 주식회사 한글과컴퓨터 구조화된 문서에 대한 로드 시간을 예측하는 전자 장치 및 그 동작 방법
CN112346935B (zh) * 2020-11-12 2024-08-27 腾讯科技(北京)有限公司 渲染耗时的获取、显示方法、性能监控方法、装置及设备
CN113760678B (zh) * 2021-02-10 2025-07-15 北京沃东天骏信息技术有限公司 一种页面渲染时长的统计方法和装置
CN113780163B (zh) * 2021-09-09 2024-08-13 上海浦东发展银行股份有限公司 一种页面加载时间的检测方法、装置、电子设备及介质
CN113849757A (zh) * 2021-09-15 2021-12-28 深圳市欢太科技有限公司 网页加载耗时计算方法、装置、存储介质以及终端
KR102676784B1 (ko) * 2021-11-15 2024-06-20 라인 야후 가부시키가이샤 사용자의 서비스 체감 성능 평가 방법 및 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011154636A (ja) * 2010-01-28 2011-08-11 Canon Inc レンダリングシステム、データの最適化方法、及びプログラム
JP2011203806A (ja) * 2010-03-24 2011-10-13 Fujitsu Toshiba Mobile Communications Ltd 情報処理装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US6587878B1 (en) 1999-05-12 2003-07-01 International Business Machines Corporation System, method, and program for measuring performance in a network system
US20080148330A1 (en) * 2000-02-03 2008-06-19 Gad Liwerant Method and system for sharing video over a network
US6567103B1 (en) * 2000-08-02 2003-05-20 Verity, Inc. Graphical search results system and method
US7519702B1 (en) 2000-08-10 2009-04-14 International Business Machines Corporation Method and apparatus for measuring web site performance
US20020169868A1 (en) 2001-04-20 2002-11-14 Lopke Michael S. Interactive remote monitoring of client page render times on a per user basis
US20040221034A1 (en) 2002-12-18 2004-11-04 Kausik Balas Natarajan Centralized measurement of web performance
GB2404546B (en) * 2003-07-25 2005-12-14 Purple Interactive Ltd A method of organising and displaying material content on a display to a viewer
US7475067B2 (en) 2004-07-09 2009-01-06 Aol Llc Web page performance scoring
US8812648B2 (en) 2005-11-21 2014-08-19 Ebay Inc. Techniques for measuring above-the-fold page rendering
US20070226058A1 (en) * 2006-03-21 2007-09-27 Myware, Inc. Time based electronic advertisement
EP2615833B1 (en) * 2006-10-19 2014-05-21 Telefonaktiebolaget L M Ericsson (publ) A method for determining video quality
JP4952531B2 (ja) 2007-11-19 2012-06-13 富士通株式会社 記録装置、記録プログラム、および記録方法
JP2009163370A (ja) 2007-12-28 2009-07-23 Noritsu Koki Co Ltd キャプチャーソフトウエアプログラム及びキャプチャー装置
US8726146B2 (en) * 2008-04-11 2014-05-13 Advertising.Com Llc Systems and methods for video content association
US20100005403A1 (en) * 2008-07-02 2010-01-07 Rozmaryn Gadiel Z Monitoring viewable times of webpage elements on single webpages
US8990289B2 (en) * 2009-02-27 2015-03-24 Oracle America, Inc. Server based framework for improving Ajax performance
US20100325615A1 (en) * 2009-06-23 2010-12-23 Myspace Inc. Method and system for capturing web-page information through web-browser plugin
US20110029899A1 (en) 2009-08-03 2011-02-03 FasterWeb, Ltd. Systems and Methods for Acceleration and Optimization of Web Pages Access by Changing the Order of Resource Loading
US20110119370A1 (en) 2009-11-17 2011-05-19 Microsoft Corporation Measuring network performance for cloud services
US20110137733A1 (en) * 2009-12-08 2011-06-09 Mpire Corporation Methods for capturing and reporting metrics regarding ad placement
US8891939B2 (en) 2009-12-22 2014-11-18 Citrix Systems, Inc. Systems and methods for video-aware screen capture and compression
US20120197711A1 (en) * 2011-01-31 2012-08-02 Yan Zhou Ranking Vendors by Combining Quantitative and Qualitative Characteristics of Third-Party Advertising
US8560683B2 (en) * 2011-06-10 2013-10-15 Google Inc. Video and site analytics
US8610724B2 (en) * 2011-07-29 2013-12-17 Qualcomm Innovation Center, Inc. Systems and methods for webpage adaptive rendering
US9348364B2 (en) * 2011-09-09 2016-05-24 Facebook, Inc. Content scrolling and transitioning using touchpad input

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011154636A (ja) * 2010-01-28 2011-08-11 Canon Inc レンダリングシステム、データの最適化方法、及びプログラム
JP2011203806A (ja) * 2010-03-24 2011-10-13 Fujitsu Toshiba Mobile Communications Ltd 情報処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190024145A (ko) * 2017-08-31 2019-03-08 충남대학교산학협력단 사용자 단말, 화면 표시 모니터링 방법, 및 컴퓨터 판독가능 기록 매체
KR20200022329A (ko) * 2018-08-22 2020-03-03 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 응답 시간 확정 방법 및 장치

Also Published As

Publication number Publication date
CN103930885A (zh) 2014-07-16
KR102047568B1 (ko) 2019-11-21
US8644623B2 (en) 2014-02-04
WO2013074893A2 (en) 2013-05-23
EP2780820A4 (en) 2015-07-22
CN103930885B (zh) 2018-05-25
EP2780820B1 (en) 2019-01-02
JP6214547B2 (ja) 2017-10-18
JP2015503152A (ja) 2015-01-29
US20130121599A1 (en) 2013-05-16
EP2780820A2 (en) 2014-09-24
WO2013074893A3 (en) 2013-07-11

Similar Documents

Publication Publication Date Title
KR102047568B1 (ko) 웹페이지 렌더링 시간 측정 기법
CN106095804B (zh) 一种视频片段的处理方法、定位方法及终端
US9152529B2 (en) Systems and methods for dynamically altering a user interface based on user interface actions
CN110245069B (zh) 页面版本的测试方法和装置、页面的展示方法和装置
US9519401B2 (en) Providing context menu based on predicted commands
US8823750B2 (en) Input pointer delay and zoom logic
CN106202101B (zh) 广告识别方法及装置
WO2017181598A1 (zh) 视频播放方法及装置
CN112783594A (zh) 一种消息显示方法、装置及电子设备
CN113496017B (zh) 验证方法、装置、设备和存储介质
CN109271228A (zh) 应用的界面功能识别方法、装置及电子设备
CN108197105B (zh) 自然语言处理方法、装置、存储介质及电子设备
CN110248235B (zh) 软件教学方法、装置、终端设备及介质
MX2014008310A (es) Retraso de indicador de entrada.
WO2024002092A1 (zh) 视频的推送方法、装置和存储介质
CN109246468B (zh) 一种基于教育系统的视频列表切换方法、设备及存储介质
CN110673910B (zh) 一种app系统中控制弹窗展现的控制方法及控制装置
CN114049638B (zh) 图像处理方法、装置、电子设备及存储介质
US9128613B2 (en) Positioning clickable hotspots on a touchscreen display
CN111694477B (zh) 标签处理方法、装置及电子设备
US20160170945A1 (en) Information processing device, information processing method, and computer program product
CN106209986B (zh) 广告拉取方法、装置以及终端
CN114428582B (zh) 一种图像生成方法及电子设备
CN110989895A (zh) 一种控件显示状态检测方法及装置
CN103870509B (zh) 一种浏览器资源存储方法及终端设备

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20140515

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
N231 Notification of change of applicant
PN2301 Change of applicant

Patent event date: 20150715

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20171016

Comment text: Request for Examination of Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20190218

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20190817

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20191115

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20191115

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20221017

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20221017

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20241029

Start annual number: 6

End annual number: 6