BR112013010661A2 - controlador de cache para uso em um sistema, cliente de imagens, servidor de imagens, estação de trabalho, parelho de formação de iamgem, método de armazenamento e produto de progama de computador. - Google Patents

controlador de cache para uso em um sistema, cliente de imagens, servidor de imagens, estação de trabalho, parelho de formação de iamgem, método de armazenamento e produto de progama de computador. Download PDF

Info

Publication number
BR112013010661A2
BR112013010661A2 BR112013010661-1A BR112013010661A BR112013010661A2 BR 112013010661 A2 BR112013010661 A2 BR 112013010661A2 BR 112013010661 A BR112013010661 A BR 112013010661A BR 112013010661 A2 BR112013010661 A2 BR 112013010661A2
Authority
BR
Brazil
Prior art keywords
image
data
client
view
cache controller
Prior art date
Application number
BR112013010661-1A
Other languages
English (en)
Inventor
Fabian Wenzel
Thomas Netsch
Sebastian Peter Michael Dries
Original Assignee
Koninklijke Philips Electronics N.V.
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 Koninklijke Philips Electronics N.V. filed Critical Koninklijke Philips Electronics N.V.
Publication of BR112013010661A2 publication Critical patent/BR112013010661A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication

Abstract

CONTROLADOR DE CACHE PARA USO EM UM SISTEMA, CLIENTE DE IMAGENS, SERVIDOR DE IMAGENS, ESTAÇÃO DE TRABALHO, APARELHO DE FORMAÇÃO DE IMAGEM, MÉTODO DE ARMAZENAMENTO E PRODUTO DE PROGRAMA DE COMPUTADOR Controlador de cache (120) para uso em um sistema (180) compreendendo um cliente de imagens (100) e um servidor de imagens (140), o cliente de imagens permitindo que um usuário navegue nos dados de imagem tendo pelo menos três e dimensões espaciais ao exibir visualizações dos dados de imagem que são obtidos do servidor de imagens em dependência das solicitações de navegação do usuário, e o controlador de cache compreendendo um processador (122) configurado para obter dados de conteúdo indicativos de um conteúdo apresentado em uma visualização atual do cliente de imagens (100), a visualização atual representando um primeiro ponto de vista nas três dimensões espaciais dos dados de imagem, o processador sendo ainda configurado para prever uma solicitação de visualização do cliente de imagens em dependência dos dados de conteúdo, a solicitação de visualização correspondendo a uma visualização que representa um segundo ponto de vista nas três dimensões espaciais dos dados de imagem, e um meio de comunicação (124) para obter a visuali-zação do servidor de imagens em dependência da solicitação de visualização, e para armazenar a visualização em um cache (130).

Description

W ? CONTROLADOR DE CACHE PARA USO EM UM SISTEMA, CLIENTE DE IMAGENS, SERVIDOR DE IMAGENS, ESTAÇÃO DE TRABALHO, APARELHO DE FORMAÇÃO DE IMAGEM, MÉTODO DE ARMAZENAMENTO E
PRODUTO DE PROGRAMA DE COMPUTADOR 5 CAMPO DA INVENÇÃO A invenção se refere a um controlador de cache e um s método de armazenamento, para uso em um sistema compreendendo um cliente de imagens, um servidor de imagens e um cache. A r ·e invenção ainda se refere a um cliente cie imagens e um e 10 servidor de imagens compreendendo o controlador de cache. No campo técnico de formação de imagem, um aparelho de imagem pode permitir que um usuário navegue nos ãacíos de imagem em três dimensões espaciais, como as três dimensões espaciais de dados de imagem volumétricos ou os formados por 15 uma pilha de imagens bidimensionais. O aparelho de imagem pode, por exemplo, permitir que um usuário navegue através de uma reconstrução tridimensional de uma estrutura do corpo ao exibir seções transversais bidimensionais da reconstrução tridimensional em dependência dos comandos de navegação 20 expedidos pelo usuário-
HISTÓRICO DA INVENÇÃO Um aparelho de imagem pode não compreender precisamente todos os dados de imagem. Ao contrário, o aparelho de imagem pode ser um cliente cíe imagens que obtéuí 25 somente determinaãas visualizações dos dados de imagem de um « servidor de imagens. O cliente de imagens e o servidor de imagens podem juntos, formar um sistema que permita que o usuário navegue nos dados de imagem ao obter as visualizações do servidor de imagens em dependência das solicitações de 30 navegação do usuário, e exibir as visualizações no cliente de imagens. Durante o uso, as visualizações dos dados de imagem obtidas constituem menos dados que todos os dados ãe imagem.
Portanto, o sistema pode permitir que um cliente de imagens è -.
* ·;y navegue nos dados de imagem, sem uma necessidade de o cliente de imagens obter ou armazenar localmente todos os daâos de imagem. O sisterna acima, entretanto, pode sofrer de urna 5 latência, ou seja, um atraso, entre um usuário solicitar uma visualização e o cliente de imagens ser capaz de exibir a
T 4 visualização. Em particular, a latência pode ocorrer durante q período de obtenção da visualização do servidor de imagens.
% Uma tese de PKD intitulada "OptiStore: An On-Demand lO Data processing Middleware for Very Large Scale Interactive ' view" por Chong Zhang, apresentada à University of Illinois em Chicago, 2007, revela um cliente que executa um peãido de visualização e está conectado a urn depósito de dados compreendendo um conjunto de dados de irnagem tridimensional.
15 O cliente é disposto para minimizar uma latência de acesso de dados do pedido de visualização ao conjunto de dados. para este fim, um controlaãor principal recebe as informações de visualização e solicitações de dados do pedido de visualização. As inforrrtações de visualização se referem, por 20 exemplo, a urna posição de um ponto de vista. O controlador principal, então, verifica se existem os dados solicitados em um cache. Se existir, o cache retorna os dados ao pedido de visualização; Cie outra forma, passa-se as informações de visualização a um previsor. Com base em urri histórico das . 25 informações de visualização, o previsor cria uma solicitação de dados. Por fim, uma vez que os dados solicitados chegam do depósito cíe dados, eles são armazenados no cache. Com isso, o controlador principal reduz a latência do pedido de visualização ao prever solicitações de dados futuras de um 30 histórico das in£ormações de visualização. Um problema do controlador principal é que ele reduz de maneira insuficiente uma latência que ocorre enquanto a navegação dos àados de imagem em um cliente de é 3 /29 imagens acontece.
SUMÁRIO DA INVENÇÃO Seria vantajoso ter um aparelho ou método para reduzir mais uma latência que ocorre enquanto a navegação nos 5 dados de imagern erri um cliente de imagens acontece. para tratar melhor dessa questão, um prirneiro ·r aspecto da invenção provê um controlador de cache para uso em um sistema compreendendo um cliente de imagens e um servidor : de imagens, o cliente de imagens permitindo que um usuário 10 navegue nos dados de imagem tendo pelo menos três dimensões " espaciais ao exibir visualizações dos dados de imagem que são obtidas do servidor de imagens em dependência das solicitações de navegação do usuário, e o controlador de cache compreendendo um processador configurado para obter 15 dados de conteúdo indicativos de um conteúdo apresentado em uma visualização atual do cliente de imagens, a visualização atual representando um primeiro ponto de vista nas três dimensões espaciais dos dados de imagem, o processador sendo ainda configurado para prever uma solicitação de visualização 20 do cliente de imagens em dependência dos dados de conteúdo, a solicitação de visualização correspondendo urna visualização que representa urri segundo ponto de vista nas três dimensões espaciais dos dados de imagern, e um rneio de comunicação para obter a visualização do servidor de imagens em dependência cía 25 solicitação de visualização, e para armazenar a visualização : em um cache. O controlador de cache acima é parte de um sistema de cliente/servidor de imagens. O servidor de imagens armazena localmente dados de irnagem que têm pelo menos três 30 dimensões que são dimensCies espaciais. O cliente de imagens é disposto para exibir uma visualização atual dos dados de imagem, ou seja, uma visualização ou representação visual de uma parte dos dados de imagem que é atualmente apresentada ao
4 /29 t usuário. A visualização atual corresponde a um ponto de vista dentro das três dimensões espaciais que apresentam a parte dos dados de imagem de dentro ou de fora dos dados de imagem.
O cliente de imagens permite que um usuário navegue de 5 maneira interativa nos dados de imagem ao trazer, ou seja, recuperar, as visualizações do servidor de imagens que são ! associadas às instruções de navegação providas pelo usuário. O usuário pode, portanto, navegar nas três dimensões > :' espaciais dos dados de imagetu. Além disso, o sistema 10 compreende um cache configurado para armazenar uma ? visualização obtida do servidor de imagens. O controlador de cache compreende um processador que é configurado para prever uma solicitação de visualização futura do cliente de imagens. O processador, portanto, provê 15 de rnaneira eficiente uma ação de navegação futura do usuário, urna vez que a solicitação de visualização futura é tipicamente uma consequência direta de, e, portanto, diretamente associada a, uma ação de navegação futura do usuário. A previsão tern base nos dados que são indicativos de 20 um conteúdo da visualização atual, ou seja, algurna coisa contida dentro da visualização atual. A visualização que corresponde à soIicitação de visualização Eutura corresponde a outro ponto de vista, ou seja, que apresenta outra parte "- dos dados de imagem. Com isso, a solicitação de visualização . 25 futura reflete uma previsão de o usuário alterar o ponto de vista. O controlador de cache ainda compreende um meio de cornunicação que obtérn a visualização do servidor de imagens.
O meio de comunicação é capaz de instruir o cache para armazenar a visualização em sua memória cache. Assim, quando 30 o cliente de imagens realmente solicitar a visualização, o servidor de imagens não precisa prover mais a visualização. ao invés disso, a visualização é obtida diretamente do cache. As medidas acima têm o efeito de que o conteúdo da
^. *
visualização atual é utilizado para prever uma solicitação de visualização do cliente de imagens, e que a visualização associada à solicitação de visualização é armazenada em um cache para permitir que o cliente de imagens, depois disso,
5 obtenha diretamente a visualização do cache.
A solicitação de visualização é prevista pelo controlador de cache em s dependência do conteúdo da visualização atual.
O conteúdo da visualização atual tem tipicamente uma influência ^., relativamente significativa sobre como o usuário navega mais
10 nos dados de imagem.
Portanto, o controlador de cache provê f como o usuário navega nos dados de imagem ao ter base na previsão dos dados de conteúdo que são indicativos do conteúdo que o usuário está atualmente visualizando.
Isso gera uma previsão relativamente precisa.
Uma previsão 15 relativamente precisa tem o efeito de que é relativamente provável que o controlador de cache tenha previsto corretamente urna solicitação de visualização futura do cliente de imagens.
Assim, o controlador ãe cache oferece uma previsão aprirnorada das solicitações de visualização para
20 obter uma latência relativamente baixa.
De maneira vantajosa, o controlador de cache oEerece uma experiência de navegação aprimoraàa ao usuário.
De maneira vantajosa, o controlador de cache pode utilizar os dados de conteúdo para armazenar "? especificamente as visualizações que podem ser de relevância
. 25 particular ao usuário.
A invenção tem base parcialmente no reconhecimento de que o número de possíveis solicitações de navegação que um usuáriQ pode prover é proporcional à dimensionalidade dos dados de imagem nos quais o usuário está navegando, uma vez
30 que a dimensionalidade determina q grau de liberdade que o usuário tem na navegação.
Consequentemente, é rnais difícil prever corretamente urna solicitação de navegação futura no .. caso em que os dados de imagem têm três.dimensões espaciais é' do que quando os dados de imagem têm somente duas dimensões.
espaciais. Ademais, é mais difícil prever corretamente uma solicitação de navegação futura no caso em que os dados de imagem têm três dimensões espaciais do que quando os dados de 5 imagem têm duas dirnensões espaciais e uma dimensão temporal, ou seja, os dados de imagem que são urria sequência normal de Êi estruturas de vídeo. A previsão de uma solicitação de visualização futura dentro da sequência de estruturas de "' vídeo pode envolver o rastreamento temporal de um objeto que à.
W 10 o usuário está seguindo, o que é conhecido e relativamente y fácil. Reconhece-se, entretanto, que o conteúdo da visualização atual é tipicamente indicativo de como o usuário navega nos dados de irnagem, independente da dimensionalidade espacial dos dados de imagern. Por exemplo, se a visualização 15 atual apresentar uma vértebra, pode ser relativamente provável que o usuário navegue para uma vértebra adjacente.
Corn isso, q conteúdo da visualização atual permite uma previsão precisa de solicitações de visualização futuras.
Opcionalmente, o processador é configurado para 20 obter os dados de conteúdo ao realizar uma análise de imagem da visualização atual. Urn usuário analisará, geralrnente, de maneira inconsciente, a visualização atual para determinar corrio navegar mais nos dados de irnagern. A análise de imagem q permite que o controlador de cache analise o conteúdo da :· 25 visualização atual em uma maneira relativamente sernelhante. O = controlador de cache, portanto, tem base nessa previsão sobre in£ormações relativamente semelhantes, conforme é utilizado pelo usuário na determinação de como navegar mais. De maneira vantajosa, a previsão da solicitação de visualização é 30 aprimoracía e, como resultado, uma latência menor é obtida. Opcionalmente, o processador é configurado para realizar a análise de imagem para obter um objeto dentro da visualização atual e prever a soIicitação de visualização em
+ dependência do objeto. a visualização atual pode compreender um objeto. Nesse caso, o usuário pode utilizar o objeto na determinação de como navegar rnais nos dados de imagem, por exemplo, ao reconhecer o objeto e utilizá-lo como um ponto de 5 referência. Ao utilizar a análise de imagem para obter o objeto e ao prever a solicitação de visualização em á. dependência do objeto, o controlador de cache toma base nessa previsão sobre inforrnações relativamente semelhantes, uma vez +' : que são utilizadas pelo usuário para determinar como navegar FO mais. De maneira vantajosa, a previsão da solicitação de E visualização é aprimorada e, como resultado, urna latência menor é obtida. Opcionalmente, o processador é configurado para prever a solicitação de visualização ao obter uma orientação 15 do objeto dentro da visualização atual, e prever uma solicitação associada a uma visualização adjacente, adjacente à visualização atual ao longo da orientação do objeto, para prever a solicitação de visualização.
A orientação do objeto pode ser de relevância 20 particular para o usuário na determinação de como navegar uiais nos dados de imagern. Em particular, o usuário pode utilizar a orientação do objeto para navegar para uma parte adjacente dos dados de imagem. Ao obter a orientação cío .
X objeto da visualização atual, o controlador de cache tern base ,, 25 nessa previsão sobre as informações relativamente semelhantes, uma vez que são utilizadas pelo usuário determinar como navegar mais. Mais especificamente, a orientação é utilizada para prever uma solicitação de visualização que corresponda a uma parte adjacente dos dados 30 ãe irriagem e a visualização associada é armazenada. De maneira vantajosa, a previsão da solicitação de visualização é aprimorada e, como resultado, uma latência mènor é obtida.
Opcionalmente, o processador é configurado para obter metadados compreendendo os dados de conteúdo do servidor de imagens.
O controlador de cache pode obter os ãados de conteúdo de maneira relativamente eficiente âQ obter metadados ão servidor de imagens e obter os daãos de conteúdo
5 dos metadados.
De rnaneira vantajosa, a visualização atual não precisa ser obtida pelo controlador de cache.
De maneira
%· vantajosa, não é necessária nenhuma análise de imagem da visualização atual.
De maneira vantajosa, os metadados + permitem que o controlador de cache obtenha dados de conteúdo d
10 específicos, por exemplo, manualmente otimizaãos, que
·1) permitem uma previsão aprimorada.
Opcionalmente, o processador é configurado para obter metadados indicativos ão conteúdo ãe imagem dos dados de imagem do servidor de imagens, o conteúdo de imagem íS"- compreendendo o conteúdo, e o processador sendo configurado para obter os dados de conteúdo dos metadados ao obter dados de È)osição indicativos de uma posição do primeiro ponto de vista nas três dimensões espaciais dos dados de imagem, e selecionar uma parte dos metadados em dependência dos dados
20 de posição para obter coulo os dados de conteúdo a parte dos metadados que é indicativa do conteúdo.
O controlador de cache obtérrt os dados de conteúdo dos metadados que são indicativos cío conteúdo de imagem dos % dados de imagem.
Urna vez que o conteúdo de imagem compreende è 25 o conteúdo, o processador pode obter os dados de conteúdo ao selecionar uma parte em particular dos metaãados que seja indicativa do conteúdo.
Para selecionar a parte, o processador obtém dados de posição indicativa de urna posição do primeiro ponto de vista nas três dimensões espaciais dos
30 dados de imagem.
O prirneiro ponto de vista apresenta o conteúdo e, assirn, refere-se à sua posição dentro dos dados de imagem.
Isso permite que o processador determine qual parte dos metadados selecionar.
De maneira vantajosa, os
'E metadados não precisam ser adaptados a uma alteração na visualização atual. De maneira vantajosa, o controlador de cache não precisa obter toda a visualização atual, rnas sornente sua posição dentro dos dados de imagem.
5 Opcionalmente, o processador é configurado para obter dados de histórico de usuário indicativos do uso ., anterior do cliente de imagens, e o processador é configurado para prever a solicitação de visualização ern dependência dos ? dados de conteúdo e dos dados de histÓrico de usuário. 4 lO O usuário pode, ao visualizar a visualização atual, navegar mais nos dados de imagem de maneira semelhante à feita anteriormente pelo usuãrio ou outros usuários. Ao obter dados de histórico de usuário indicativos do uso anterior do cliente de imagens, o controlador de cache pode prever a 15 solicitação de visualização em dependência do conteúdo da visualização atual e dos dados de histórico de usuário. Assim, o controlador de cache pode ter base nessa previsão sobre como o usuário, ou outros usuários, reagiram anteriormente ao conteúdo apresentado na visualização atual.
20 De maneira vantajosa, a previsão da solicitação de visualização é aprimorada e, como resultado, uma latência menor. Urn cliente de imagens pode compreender o ' controlador de cache declarado.
25 Um servidor de imagens pode compreender q
Z controlador de cache declarado. De maneira vantajosa, o controlador de cache tem acesso a todos os dados de imagem localizados no servidor de imagens.
Opcionalmente, o processador é configurado para 30 obter os dados de conteúdo ao realizar uma análise de imagem dos dados de imagern. Urn usuário pode ser relativamente Eamiliar ao conteúdo dos dados de imagem ou ter uma expectativa do conteúdo dos dados de imagern. Isso pode influenciar em como o usuário navega nos dados de imagem. A análise de imagem permite que o controlador de cache analise o conteúdo dos dados de imagem. Isso permite que o controlador de cache tenha base nessa previsão sobre as 5 informações relativamente semelhantes, uma vez que são utilizadas pelo usuário na deterrninação de como navegar mais.
· De maneira vantajosa, a previsão da solicitação de visualização é aprimorada e, como resultado, uma latência e menor é obtida.
10 Opcionalmente, o servidor de imagens é utilizado R corn um cliente de imagens cornpreendendo o cache e o meio de . comunicação é configurado para armazenar a visualização no cache do cliente de imagens. portanto, o cache está localizado no cliente de imagens, o controlador de cache está 15 localizado no servidor de imagens, e o meio de comunicação do controlador de cache é configurado para armazenar a visualização no cache do cliente de imagens. De maneira vantajosa, o cliente de irnagens tem acesso relativamente rápido ao cache, enquanto o controlador de cache no servidor 20 de imagens terri acesso a todos os dados de imagem localizados no servidor de imagens. De rnaneira vantajosa, o cache e o controlador de cache estão ambos localizados em uma localização ideal dentro do sistema.
Uma estação de trabalho pode compreender o .Z' 25 controlador de cache declarado. Um aparelho de formação de irnagem pode compreender o controlador de cache declarado. Um método de armazenamento, para uso em um sistema compreendendo um cliente de imagens e um servidor de imagens, 30 o cliente de imagens permitindo que um usuário navegue nos dados de imagem tendo pelo menos três dimensões espaciais ao exibir visualizações dos dados de irnagem que são obtidas do servidor de imagens em dependência das solicitações de
Q 11/29 E.
navegação do usuário, e o dito método compreendendo a obtenção dos dados de conteúdo indicativos de um conteúdo apresentado em uma visualização atual do cliente de imagens, a visualização atual representando um primeiro ponto de vista 5 nas três dirnensões espaciais dos dados de imagem, previsão de uma solicitação de visualização do cliente de imagens em
Á ,d dependência dos dados de conteúdo, a solicitação de visualização correspondendo a uma visualização que representa 3 um segundo ponto de vista nas três dimensões espaciais dos 10 dados de imagem, e obtenção de uma visualização do servidor í de imagens em dependência na solicitação de visualização, e armazenamento da visualização em um cache.
Um produto de prograrna de computador pode compreender as instruções para fazer com que um sistema de 15 processador realize o método declarado. Opcionalmente, o cliente de imagens compreende o cache. Ao ter o cache dentro do cliente de imagens, o cliente de imagens tem acesscj relativamente rápido ao cache. De rnaneira vantajosa, se o cliente de irnagens estiver conectado 20 ao servidor de imagens por meio de uma conexão de largura de banda relativamente baixa, o cache permite que o cliente de imagens evite ou reduza a latência associada à conexão de largura de banda relativamente baixa. f. Será apreciado pelos técnicos no assunto que duas 25 ou mais das realizações, implementações e/ou aspectos ? mencionados acirria da invenção podem ser combinados de maneira considerada útil. Modificações e variações do cliente de imagens, servidor de imagens ou aparelho de aquisição de imagem, da 30 estação de trabalho, do método, e/ou do produto de programa de computador, que correspondam às modificações e variações descritas do controlador de cache, podem ser realizadas por um técnico no assunto, COUl base na presente descrição.
q g.r Um técnico no assunto perceberá que o métocío pode ser aplicado a dados de imagem multidirrtensionais, por exemplo, imagens tri {3-D) ou tetradimensionais {4-D), adquiridas por diversas modalidade de aquisição, corno, entre 5 outros, exame de iínagem de raios-x padrão, Tomografia Computadorizaãa (TC), Ressonância Magnética (RM), Ultrassom í, (US), Tomografia por Emissão cíe Pósitron (PET), Tomografia Couiputadorizada por Emissão de Único Fóton (SPECT) e Medicina :* Nuclear (MN). 10 A invençáo é definida nas reivindicações i. independentes. As realizações vantajosas são definidas nas reivindicações dependentes.
BREVE DESCRIÇÃO DOS DESENHOS Esses e outros aspectos da invenção serão aparentes íS.., a partir e serão elucidados com referência às realizações àò'ravante descritas. Nos desenhos, ' A Figura 1 apresenta um cliente de imagens, um servidor de irnagens, um cache e um controlador de cache; A Figura 2 apresenta uma visualização atual do 20 cliente de imagens compreendendo um objeto; A Figura 3 apresenta uma visualização correspondente a uma solicitação de visualização prevista; a Figura 4 apresenta um cliente de imagens 6', compreendendo um cache e um controlador de cache; . 25 a Figura 5 apresenta o controlador de cache que recebe metadados de um servidor de imagens; a Figura 6 apresenta um cliente de imagens compreendendo urn cache e um servidor de imagens compreendendo um controlador de cache; e 30 a Figura 7 apresenta um método de armazenamento de uma visualização.
DESCRIÇÃO DETALHADA DAS REALIZAÇÕES É observado que, anteriormente e doravante, os
*
T dados de imagem se referem a uma representação de dados de urna imagem. A imagem é uma representação visual de informações. Os dados de irnagem compreendem tipicamente elementos de dados, como valores de luminância ou 5 crominância, das partes da imagem. De maneira alternativa, os elementos de dados podem ser outros valores que podem ser · '? interpretados e, portanto, visualizados corno valores de luminância ou crominância. As partes da imagem podem ser : representadas por pixels. Será apreciado que qualquer 10 representação de dados adequada pode ser utilizada conforme s conhecido, por exemplo, dos campos técnicos de processamento de imagem ou codificação de imagem. O conteúdo da visualização atual ou dados de imagem se re£ere ao assunto que está contido dentro da visualização 15 atual ou dados de imagem, respectivarnente. O conteúdo pode se referir ao assunto relativamente cíe alto nível, como um objeto retratado na visualização atual. Semelhantemente, o conteúdo pode se referir a uma interpretação semântica do objeto, por exemplo, quanto tipo de objeto está contido 20 dentro da visualização atual. O conteúdo também pode se referir a assunto de nível relativamente baixo dentro da visualização atual, como os valores de luminância de urn grupo de pixels. Os cíados de conteúdo são uma representação de dados 25 do conteúdo. O conteúdo pode ser representado na fcirma de : texto, número ou qualquer outro formato adequado. Em um exemplo específico, se o conteúdo for um objeto dentro dos dados de imagem, os dados de conteúdo podem compreender um elemento de dados que identifica o objeto e um elemento de 30 dados adicional que identifica sua localização dentro cias três dimensões espaciais dos dados de imagem. Em outro exernplo específico, se o conteüdo for associado a uma região de interesse particular dentro da visualização atual, os
1· dados de conteúdo podem identificar sua localização dentro da visualização atual. Será apreciado que existern rnuitas representações de dados, conforrne são conhecidas, por exemplo, Clo campo técnico de análise de imagem.
5 A Figura 1 apresenta um sistema 180 compreendendo um cliente de imagens 100 e um servidor de imagens 140. O ·
J cliente de imagens 100 é conectado a um controlador de cache 120 para prover dados de conteúdo a um processador 122 do 3 controlador de cache 120. O cliente de imagens 100 é ainda lO conectado ao servidor de imagens 140 por meio de um cache 130 · para obter visualizações do servidor de imagens 140, e para solicitar visualizações do servidor de imagens 140. O cache 130 é conectado ao servidor de imagens 140 por meio de uma conexão de dados 160. O cache 130 é, portanto, parte de uma 15 conexáo entre o cliente de imagens 100 e o servidor de imagens 140, ou seja, o cache 130 está localizado entre ambos. O controlador de cache 120 ainda compreende um meio de comunicação 124 para obter uma visualização do servidor de imagens 140 em dependência de uma solicitação de visualização 20 que é gerada pelo processador 122. Semelhantemente ao cliente de imagens 100, o rneio de comunicação 124 também é apresentado para ser conectado ao servidor de irnagens por meio do cache 130.
O cache 130 apresentado na Figura 1 pode ser urn 25 cache transparente. Isso significa que o cliente de imagens 7 100 e o servidor cíe irnagens 140 precisarn ser adaptaáos ou serem cientes da presença do cache 130 entre eles. Para este firri, o cache 130 passa tipicamente os dados entre o cliente de irnagens 100 e o servidor de imagens 140. Entretanto, o 30 cache 130 tarribém pode armazenar visualizaçiSes. Assirn, se o cliente de imagens 100 prover uma solicitação de visualização que seja associada a uma visualização armazenada no cache 130, o cache 130 provê diretamente a visualização ao cliente yj de imagens 100 ao invés de passar a solicitação de visualização ao servidor de imagens 140. Como tal, o cache pode armazenar visualizações sern a necessidade de adaptar o cliente ãe imagens 100 ou o servidor de imagens 140.
5 Durante a operação, um usuário pode utilizar o cliente de imagens 100 para navegar nos dados de imagem que s, estão localizados no servidor de imagens 140. para este fim, o cliente de imagens 100 exibe visualizações dos dados de 2 : imagem que são obtidas do servidor de imagens 140 em 10 dependência ãas solicitações de navegação do usuário. O cliente de imagens 100 pode obter as visualizações ao gerar solicitações de visualização em dependência nas solicitações de navegação. As solicitações de visualização são transmitidas, por meio do cache 130, para o servidor de 15 imagens 140. Em resposta a isso, o servidor de irnagens 140 transmite as visualizações solicitadas, por meio do cache 130, ao cliente de imagens 100.
O cliente ãe imagens 100 pode apresentar uma visualização ao usuário, ou seja, uma visualização atual 200.
20 A visualização atual 200 apresenta uma parte do conteúdo dos dados de irnagem. No exemplo em particular apresentado na Figura 2, os dados de imagem são dados de imagern médica obtiãos por Angiografia, e seu conteúdo se refere a uma disposição de vasos sanguíneos dentro de um paciente humano.
, 25 A visualização dos atualmédica ãados de imagem 200 apresenta um pedaço compreendendo bidirnensional um vaso sanguíneo em particular 250. É provável que o usuário decida navegar mais na imagem, com base no conteúdo dos dados de imagem. Por exemplo, o usuário pode decidir que, corn base no vaso 30 sanguíneo 250 apresentado na visualização atual 200, uma visualização do vaso sanguíneo um pouco mais acima, ou seja, à direita, é de interesse particular. Com isso, ele pode emitir um comando de navegação no futuro para navegar mais acima, ao longo do vaso sanguíneo, por exemplo, ao emitir comandos de panorama ou de rolagem. O processador 122 do controlador de cache 120 é configurado para obter daãos de conteúdo que se referem ao 5 conteúdo da visualização atual. 200. Para este fim, o processador 122 recebe a visualização atual 200, e realiza " L' uma análise de irnagem da visualização atual 200. A análise de imagern pode ser disposta para detectar um objeto apresentado > na visualização atual, por exemplo, o vaso sanguíneo 250, por k IO meio de um algoritmo de segmentação. A análise de imagern também pode prover uma orientação do vaso sanguíneo, por exemplo, uma direção ao longo da qual o vaso sanguíneo corre. A orientação pode ser, por exemplo, uma equação de uma linha que coincide substancialmente com o vaso sanguíneo.
15 O processador 122 pode, com base na orientação, prever uma solicitação de visualização que seja associada a uma visualização adjacente 300, conforme apresentado na Figura 3. Aqui, uma parte do vaso sanguíneo 250 é apresentada, que é localizada mais acima, coma parte 20 corrípreendendo uui coágulo sanguíneo 350. para prever a solicitação de visualização, o processador 122 pode obter urna posição da visualização atual dentro cios dados de imagem, ou seja, que seja indicativa de como o ponto de vista 4 representado pela visualização atual é orientado em relação , 25 aos dados de imagem. Com base na posição atual e na orientação do objeto dentro da visualização atual, uma localização adjacente pode ser determinada. O processador 122 pode, então, gerar uma solicitação de visualização que seja associada à localização adjacente. a obtenção da posição 30 atual pode, por exemplo, compreender a obtenção dos ãados de posição do servidor de imagens 140. O servidor de irnagens 140 pode prover a posição atual ao prover dados de posição indicativos de uma última visualização solicitada. Em um
[ 17/29
Q ío exemplo específico, o servidor de imagens 140 pode prover visualizações compreendendo metadados indicativos de sua posição. Corn isso, q processador 122 pode obter a posição atual da visualização atual.
5 O rríeio de comunicação 124 pode transmitir a solicitação de visualização por meio do cache 130 ao servidor Z cíe imagens 140. Um vez que q servidor de imagens 140 provê a visualização associada à solicitação de visualização, o meio + : de cornunicação 1-24 pode instruir o cache a armazenar a 10 visualização em sua memória cache. De maneira alternativa, o cache 130 em si pode ser disposto para armazenar automaticarnente as visualizações que são providas pelo servidor de imagens 140, ou seja, sem a necessidade de o meio de comunicação 124 instruir explicitamente c) cache 130.
15 Consequentemente, quando o usuário prover precisamente o comando de navegação para navegar mais acima, ao longo do vaso sanguíneo, o cliente de imagens 100 pode obter a visualização diretamente do cache 130.
A Figura 4 apresenta um sistema 480 no qual o 20 controlador de cache 420 e o cache 430 são partes cío cliente de imagens 400, ao invés de serem componentes externos. Funcionalmente, entretanto, o sistema é substancialmente idêntico ao sistema 180 apresentado na Figura 1, somente com q essa diferença de que a comunicação entre o controlador de , 25 cache 420, o cache 430 e o cliente de imagens 400, agora, é a comunicação interna dentro do cliente ãe imagens 400. O cliente de imagens 400 se comunica com o servidor de imagens 440 por meio de uma conexão de dados externa 460. Além disso, nesse sistema 400, o cache 430 pode ser uma parte de um meio 30 de armazenamento que também é utilizado para armazenamento de outros dados. Com isso, o sistema pode não precisar ter um componente de cache separado.
A Figura 5 apresenta um sistema 580 no qual o controlador de cache 520 dentro do cliente de imagens 500 é configurado para obter metadados que são indicativos do conteúdo do servidor de imagens 540. O controlador de cache 520 pode obter os metadados por meio de uma rnesma conexão de 5 dados 560, conforme é utilizada para transmitir as visualizações e solicitações de visualização. Os metadados t, podern ser obtidos de uma análise de imagem dos dados de imagerrí e, como resultado, podem identificar um objeto 0 ," localizado dentro dos dados de imagem e sua orientação. 10 portanto, o controlador de cache 520 pode utilizar, por exemplo, a localização ou a orientação do objeto, por exemplo, um vaso sanguíneo 250, para prever uma visualização que o usuário pode solicitar no futuro. O controlador de cache tarnbérri pode utilizar a localização de um objeto 15 detectado nas proximidade, por exemplo, de um coágulo sanguíneo 350, para prever a visualização. O coágulo sanguíneo não precisa ser visível na visualização atual, uma vez qjue sua localização pode ser obtida dos metadados. Os metadados tarribém podem ser rnanualmente gerados. Por exemplo, 20 um especialista pode gerar manualmente metadados que são associados a partes particularmente relevantes dos dados cíe imagerrt. Consequentemente, o controlador de cache 520 pode prever solicitações de visualização que são associadas às partes relevantes dos dados de iuíagem, e armazenar as 25 visualizações previstas no cache 530 do cliente de imagens
W
500. a Figura 6 apresenta urri sistema 680 no qual o cliente de imagens 600 compreenãe o cache 630, e o servidor de imagens 640 compreende o controlador de cache 620. Isso 30 pode permitir que o controlador de cache 620 acesse todos os dados de imagem no servidor de imagens 640. Semelhantemente ao controlador de cache 120 apresentado na Figura 1, o controlador de cache 620 é configurado para obter dados de í 19/29 *.
conteúdo ao realizar uma análise de imagem. Entretanto, ao invés de realizar uma análise de imagem da visualização atual 200, o controlador de cache 620 realiza uma análise de imagem dos dados de imagem. Por exemplo, a análise de imagem poãe 5 ser disposta para detectar um objeto apresentado nos dados de imagem, por exemplo, uma vértebra, por meio de um algoritmo !. de segmentação. A análise de imagern também pode prover uma orientação da vértebra. A orientação pode ser, por exemplo, . 0 ·d uma equação de plano dentro dos dados de imagern que coincide 10 substancialmente com a vértebra. O controlador de cache 620 pode utilizar a equação do plano para determinar uma localização de urna vértebra adjacente e prever uma solicitação de visualização que é associada a uma visualização adjacente que apresenta a vértebra adjacente.
15 Além disso, o controlador de cache 620 pode solicitar a visualização internamente, dentro do servidor de imagens 640, e transmitir a visualização ao cache 630 que está localizado no cliente de imagens. Em geral, será apreciado que os dados de conteúdo 20 podem ter várias Eorrnas. Por exemplo, os dados de conteúdo podem ser urna equação de linha ou de plano de um objeto que está localizado dentro dos dados de imagem. Os dados de conteúdo também podem se referir a urn objeto particular, em geral, por exemplo, ao inãicar uma presença ou localização 25 aproximada do objeto dentro dos dados de imagem. Os dados de
Z conteúdo também podem indicar uma pluralidade de objetos, e uma conexão lógica entre os objetos. Em um exemplo específico, os dados de conteúdo podem indicar uma localização de múltiplas vértebras apresentadas nos dados de 30 imagem, e indicar a localização relativa das vértebras em uma espinha dorsal. Com isso, se o usuário estiver atualmente visualizando uma vértebra, o controlador de cache pode armazenar uma visualização de uma vértebra adjacente.
Semelhantemente, se o usuário estiver visualizando atualmente um nõdulo pulmonar, o controlador de cache pode armazenar visualizações de glândulas linfáticas etc. Em outro exemplo específico, uma aplicação oncológica pode permitir que um 5 usuário visualize uma visualização atual de um escaneamento tridimensional do tórax que inclui um nódulo, e o servidor de imagens pode utilizar a análise de imagern para detectar automaticamente todos os nódulos no escaneamento -. tridimensional do tórax para permitir que o controlador de
T 10 cache solicite visualizações de nódulos adjacentes, ou, em · geral, lesões, ou visualizações de orientações características da lesão atual, por exemplo, uma visualização que apresenta o maior diâmetro. Em geral, os dados de conteúdo também podem ser dados de conteúdo semânticos, 15 obtidos, por exemplo, de uma análise de imagem semântica ou" . de uietadados gerados automátíca ou uianualmente. Com isso,, o conteúdo da visualização atual é associado a um Significado.
Isso permite que o controlador de cache armazéne visualizações dos dados de irnagem que tenharri uma relação 20 semântica, por exemplo, ao conteúdo da visualização atual. A solicitação de visualização pode ser prevista de diversas formas. Por exernplo, o processador pode utilizar a extrapolação geométrica de urna orientação de um objeto que seja parcialmente apresentado na visualização atual para 25 determinar em quais visualizações adjacentes outras partes do % objeto serão visíveis. Também, o processador pode utilizar estatísticas previamente obtidas que indicam como o conteúdo dos dados de imagem afeta um comportamento de navegação do usuário. por exemplo, se a visualização atual exibir uma 30 vértebra e se for conhecido das estatísticas previamente obtidas que o usuário tende a trocar entre visualização axial e coronal para aquela vértebra, o processador poãe prever solicitações de visualização das visualizações coronal e
I L · Tj axial de vértebras adjacentes. Semelhantemente, as estatísticas podem indicar se o usuário trocou previamente entre a visualização axial e coronal para aquela vértebra e, portanto, a solicitações de visualização pode ser prevista da 5 mesma forma. As estatísticas podem ser obtidas dos dados de histórico de usuário. O processador também pode utilizar urn . M sistema com base em regra que contenha regras que associam os dados de conteúdo a uma solicitação de visualização. Com 0' isso, o processador pode prever a visualização ao 10 corresponder uma regra em uma lista de regras corn os dados de 2 conteúdo cía visualização atual, e executar a regra para obter a solicitação de visualização. Semelhantemente, o processador pode utilizar uma tabela de busca ou estrutura de dados semelhante para buscar uma solicitação de visualização pré- 15 definida, associada aos dados de conteúdo da visualização atual.
De fato, além de prever a solicitação de visualização, o controlador de cache tamljém pode prever solicitações de visualização adicionais que correspondam a 20 visualizações adicionais. Com isso, a solicitação de visualização e sua visualização correspondente podem cada uma, ser parte de um conjunto de solicitações de visualização e visualizações correspondentes. Por exemplo, ao utilizar o cliente de imagens para navegar por uma imagem cerebral, o 25 controlador de cache pode prever urn conjunto de solicitações de visualização que corresponda a visualizações adjacentes que são otimizadas para visualização sagital média, visualização hipocampal e visualização de ventrículo.
Uma publicação "pre-fetching based on video 30 analysis for interactive region-of-interest streaming of soccer sequences" por Mavlankar et al., International Conference on Irrtage processing (ICIP), 2009, pp. 3061 - 3064, descreve o uso de rastreamento temporal de uma bola de
? 22/29 futebol ou de jogadores para prever um movimento de uma região de interesse e para pré-buscar os pixels da região de interesse futura ãa rnesma forma. Entretanto, será apreciado ' que o rastreamento temporal não está disponível dentro das 5 três dirriensões espaciais de dados de imagerri e, portanto, não pode ser utilizado para prever solicitações de visualização e quando um usuário estiver navegando pelas três dirnensões espaciais. r ? A visualização pode ser obtida do servidor de * 10 imagens de diversas formas. O meio de comunicação pode obter diretamente a visualização do servidor de imagens, e armazenar a visualização no cache. O meio de comunicação também pode prover uma solicitação de visualização ao servidor de irnagens por meio do cache, e o cache pode ser 15 configurado para armazenar automaticamente uma visualização que é provida como resultado da solicitação de visualização.
Com isso, o controlador de cache pode não precisar receber diretamente a visualização ou, em geral, ser diretamente conectado ao servidor de imagens.
20 A análise de irnagem para obter os dados de conteúdo pode ser qualquer análise de irnagem acíequada, conforme é conhecida do campo técnico de análise de imagem. Por exemplo, a análise de imagem pode compreender um algoritmo de 3 segmentação para segmentar e, assim, obter um objeto dentro 25 dos dados de imagem ou dentro da visualização atual. O algoritmo de segmentação pode ser qualquer algoritmo de segmentação conhecido, por exemplo, com base em detecção de margern, crescimento de região, agrupamento, transformação de ponto crítico, segmentação com base em modelo etc. Também, 30 para determinar a orientação do objeto, qualquer técnica conhecida pode ser utilizada. Por exemplo, uma transformada de Hough pode ser utilizada para identificar uma linha ou uma elipse ãentro da visualização atual, que seja associada a uma
T 23/29
'T margem do objeto. a orientação do objeto pode ser obtida de uma orientação da linha, ou, por exemplo, de uma orientação de um eixo semi-irnportante da elipse.
A análise de imagem também pode ser um algoritmo de análise de imagem semântica,
5 por exemplo, utilizando uma abordagem com base em conhecirríento do 'campo técnico de reconhecimento padrão, para f obter dados de conteúdo semânticos da visualização atual ou dos dados de imagem.
Portanto, a análise de imagem pode ~ atribuir um significado ou interpretação a um objeto
10 segmentado ou detectacío.
O controlador de cache pode estar localizado no cliente de imagens ou no servidor de imagens.
Se estiver localizado no cliente de imagens, o controlador de cache, portanto, solicita visualizações do servidor de imagens, e o
15 servidor de imagens provê, em resposta a isso, as visualizações associadas.
Esse mecanismo é, portanto, uma
Eorma de uma denominada 'Tecnologia de puxa', conforme é conhecida do campo técnico de comunicação de redes.
Se estiver localizado no servidor de imagens, o controlador de
20 cache solicita internamente as visualizações de dentro ào servidor de imagens, e o serviãor de imagens provê, em resposta a isso, as visualizações associadas a um cache do cliente de imagens, sem o cliente de imagens em si solicitar as visualizações.
Esse mecanismo é, portanto, urna forma de
25 uma denominada 'Tecnologia de empurra', conforme é conhecida do campo técnico de comunicação de redes. isso pode ser particularmente útil para permitir que o controlador de cache
620 tenha acesso a todos os dados de imagem.
Também, o servidor de imagens 640 tem tipicamente rnais recursos de
30 computação disponíveis.
Isso pode permitir que o controlador de cache 620, por exemplo, realize uma análise de imagem mais elaborada.
De fato, o controlador de cache também pode ser utilizado como um cornponente separado que não seja parte nem í 24/29 yà do cliente cíe imagens nern do servidor de imagens. O cache pode estar localizado no cliente de imagens ou no servidor de imagens. Um cliente de imagens compreendendo o cache é útil para reduzir uma latência 5 associada à transferência de visualizações entre o cliente cíe irnagens e o servidor de imagens. Essa latência pode ser A.
" causada, por exemplo, pela conexão de dados tendo uma largura de banda baixa ou uma latência inerentemente alta associada a .. outros aspectos da conexão de ãados. Assim, as visualizações 10 previstas podem ser transmitidas ão servidor de imagens para · o cliente de imagens o quanto antes possível, por exemplo, no fundo, de modo que o usuário não perceba isso. Um servidor de imagens compreendendo o cache é útil para reduzir uma latência associada à geração de uma visualização. pode ser 15 computacionalmente complexo gerar uma visualização a partir dos dados de imagem. Com isso, o controlador de cache pode ser utilizado para já gerar as visualizações previstas quando o servidor de irnagens estiver relativamente inativo e, então, armazena as visualizações geradas no cache. Com isso, quando 20 o cliente de imagens solicita a visualização, a visualização não tem de gerada mais. De fato, o cache também pode ser utilizado como um componente separado que não seja parte nem do cliente de imagens nem do servidor de imagens. Por exemplo, o cache pode formar uma parte da conexão de dados 25 entre o cliente de imagens e o servidor de imagens. O cliente de imagens é configurado para permitir que o usuário navegue nos dados de imagem. Para este fim, o cliente de imagens pode ainda compreender (não apresentadosü um processador, meio de armazenamento ou uma porta de 30 comunicação. O processador pode ser disposto para executar as instruções que são partes de uma aplicação do cliente de imagens. O pedido do cliente de imagens pode ser uma aplicação com base na web. a aplicação corn base na web tambêm pode implementar o controlador de cache. O meio de armazenamento pode cornpreender RAM, ROM, disco rígido, mídia removível, como CD e DVD. O meio de armazenamento pode ser utilizado para armazenar as instruções de computador. O meio 5 de armazenamento também pode ser utilizado como o cache, ou seja, para armazenar visualizações. A porta de comunicação i pode ser utilizada para comunicação com outro sistema de computador, por exemplo, o servidor de imagens. A porta de >' comunicação pode ser utilizada para estabelecer uma conexão 10 de dados com o servidor de imagens por meio de uma rede de área local, recíe de área arripla ou a Internet. . Embora não apresentado, o cliente de irnagens pode ainda compreender um meio de exibição para exibir as visualizações dos dados de imagem. O meio de exibição pode 15 ser qualquer meio de exibição adequado, como, por exemplo, um monitor de computador. De maneira alternativa, o cliente de imagens pode compreender uma saída de exibição para prover as visualizações a um meio de exibição que não é parte do cliente de imagens. A saída de exibição pode ser urria saída de 20 monitor de computador. O cliente de imagens pode ser configurado para, alérn de exibir a visualização atual na tela, também exibir a visualização associada à solicitação de visualização na tela. Para este fim, o controlador de cache e ou o cache pode inforrnar o cliente de imagens que a 25 visualização está armazenada no cache. A visualização pode t ser exibida depois da visualização atual, por exemplo, como uma miniatura. Com isso, o usuário é informado sobre as visualizações que foram previstas pelo controlador de cache e que podem ser de relevância ao usuário.
30 Em geral, o controlador de cache pode ser empregado em uma aplicação distribuída. Aplicações distribuídas desempenham um papel importante em muitos domínios, incluindo cuidados da saúde. Aqui, o cliente de imagens pode ser uma aplicação da web corn base em imagem que obtérn uma visualização interpretada bidimensional de um volurne tridimensional de um servidor de imagens para reduzir a quantidade de informações de imagem transmitidas a urn mínimo.
5 O motivo para isso é que é somente necessário transmitir o que é realmente visível ao usuário. Entretanto, a interação ." com imagens médicas tridimensionais sofre de uma desvantagem importante, urna vez que muitas interações precisam de uma -. visualização recentemente interpretada do servidor e 10 introãuzem latência, especialmente, ao utilizar conexões de ! largura de banda baixa para se comunicar com o servidor de imagens. Com isso, o controlador de cache pode ser utilizado para reduzir a latência nessa aplicação distribuída. A Figura 7 apresenta um rnétodo ãe armazenamento 700 15 para uso em um sistema compreendendo um cliente de irnagens e um servidor de imagens, o cliente de imagens permitindo que um usuário navegue nos dados de imagem tendo pelo menos três dimensões espaciais ao exibir visualizações dos dados de imagem que são obtidas do servidor de imagens em dependência 20 das solicitações de navegação do usuário, e o método compreendendo a obtenção 710 dos dados de conteúdo indicativos de um conteúdo apresentado em uma visualização atual do cliente de imagens, a visualização atual representando um primeiro ponto de vista nas três dimensões 25 espaciais dos dados de imagem, a previsão 720 de uma solicitação de visualização do cliente de imagens em dependência dos dados de conteúdo, a solicitação de visualização corresponcíendo a uma visualização que representa um segundo ponto de vista nas três dimensães espaciais dos 30 dados de imagem, a obtenção 730 da visualização do servidor de imagens em dependência da solicitação de visualização, e arrnazenamento 740 da visualização em um cache. Serã apreciado que a invenção também se aplica a
·- - --| 27/29 programas de computador, particularmente, programas de computador no ou em um carregador, adaptado para colocar a invenção em prática. O programa pode estar na forma de um código de origem, uma fonte de objeto, um código de objeto de 5 fonte intermediária de código, como em uma forma parcialmente compilada ou em qualquer outra forma adequada para uso na U.
" implementação do método, de acordo com a invenção. Também será apreciado que esse programa pode ter muitos projetos £ arquitetÔnicos diferentes. Por exernplo, um código de programa ·d 10 que implementa a funcionalidade do rnétodo ou sistema, de £ acordo com a invenção, pode ser subdivido em uma ou mais sub- rotinas. Muitas maneiras diferentes de distribuir a funcionalidade entre essas sub-rotinas serão aparentes ao técnico no assunto. As sub-rotinas podem ser armazenadas 15 juntamente em um arquivo executável para forrnar um programa independente. Esse arquivo executável pode compreender instruções executáveis por computador, por exemplo, instruções de processador e/ou instruções de interpretador (por exemplo, instruções de interpretador java). De maneira 20 alternativa, uma ou uiais de todas as sub-rotinas podern ser arrnazenadas ern pelo menos um arquivo de biblioteca externo e ligadas a um programa principal estatística ou dinamicamente, por exemplo, no rnomento da execução. O programa principal contém pelo menos uma chamada a pelo menos uma das sub- 25 rotinas. As sub-rotinas também poderri compreender charnadas de função entre si. Uma realização referente a urri produto de programa de computador compreende instruções executáveis por computador correspondentes a cada etapa do processamento de pelo menos um dos métodos aqui declarados. Essas instruções 30 podem ser subdivididas em sub-rotinas e/ou armazenadas em urn ou mais arquivos que poderri ser ligados estatística ou dinamicamente. Outra realização referente a um produto de programa de computador compreende instruçCies executáveis por b 28/29 .., = computador correspondentes a cada meio pelo rnenos de um dentre os sistemas e/ou produtos aqui declarados. Essas instruções podem ser subdivididas em sub-rotinas e/ou armazenadas em um ou mais arquivos que podem ser ligados 5 estatística ou dinamicamente. O carregador de um programa de computador pode ser i' qualquer entidade ou dispositivo capaz de realizar o programa. por exemplo, o carregador pode incluir um meio de i
W armazenamento, como uma ROM, por exemplo, urn CD ROM ou uma 10 ROM semicondutora, ou um meio de gravação rnagnética, por £ exemplo, um disco rígido. Alérn disso, o carregador pode ser um carregador transmissível, como um sinal elétrico ou óptico, que pode ser transmitidos por meio de cabo elétrico ou óptico ou por rádio ou outros meios. Quando o programa for 15 realizado nesse sinal, o carregador pode ser constituído por esse cabo ou outro dispositivo ou meio. De maneira alternativa, o carregador pode ser um circuito integrado no qual o programa é incorporado, o circuito integrado sendo adaptado para realizar ou para ser utilizado no desempenho do 20 método relevante. Deve ser observado que as realizações rnencionadas acima ilustram ao invés de limitar a invenção, e que os técnicos no assunto serão capazes de projetar muitas realizações alternativas sem se desviar do escopo das 25 reivindicações anexas. Nas reivindicações, quaisquer sinais de referência colocados entre parênteses não devem ser construídos como lirnitantes da reivindicação. O uso do verbo "compreender" e suas conjugações não excluem a presença de elementos ou etapas diferentes das declaradas em uma 30 reivindicação. O artigo "um" ou "uma" antecedendo um elemento não exclui a presença de uma pluralidade desses elementos. A invenção pode ser implementada por meio de hardware compreendendo diversos elernentos distintos e por meio de um computador adequadamente programado. Na reivindicação do dispositivo que enumera diversos meios, diversos desses meios podem ser realizados por um e pelo rnesmo item de hardware. O uíero fato de que determinadas medidas são mencionadas em 5 reivindicações dependentes, mutuamente diferentes não indica que uma combinação dessas medidas não pode ser utilizada como $. vantagem.

Claims (15)

REIVINDICAÇÕES
1. CONTROLADOR DE CACHE (120, 420, 520, 620) PARA USO EM UM SISTEMA (180, 480, 580, 680), caracterizado por compreender um cliente de imagens (100, 400, 500, 600) e um 5 servidor de imagens (140, 440, 540, 640), o cliente de imagens permitindo que um usuário navegue nos dados de imagem "· tendo pelo menos três dimensões espaciais ao exibir visualizações dos dados de imagem que são obtidos do servidor " de imagens em dependência das solicitações de navegação do 10 usuário, e o controlador de cache compreeridendo:
T urri processador (122) configurado para obter dados de conteúdo inãicativos de um conteúdo apresentado em uma visualização atual (200) do cliente de imagens (IOO), a visualização atual representando um primeiro ponto de vista 15 nas três dimensões espaciais dos dados de imagern; o processador sendo ainda configurado para prever uma solicitação de visualização do cliente de imagens em dependência dos dados de conteúdo, a solicitação de visualização correspondendo a uma visualização que representa 20 um segundo ponto de vista nas três dimensões espaciais dos dados de imagem; e urrt rneio de comunicação (124) para obter a visualização {300) do servidor de imagens em dependência da solicitação de visualização, e para armazenar a visualização 25 em um cache (130, 430, 530, 630).
2. CONTROLADOR DE CACHE {120), de acordo com a reivindicação 1, caracterizado em que o processador (122) é configurado para obter os dados de conteúdo ao realizar uma análise de imagem da visualização atual (200).
30
3. CONTROLADOR DE CACHE {120), de acordo com a reivindicação 2, caracterizado em que o processador (122) é configurado para: realizar a análise de irnagem para obter um objeto
) 2/4 (250) dentro da visualização atual (200); e prever a solicitação de visualização em dependência do objeto.
4. CONTROLADOR DE CACHE {120), de acordo com a 5 reivindicação 3, caracterizado em que o processador (122) é configurado para prever a solicitação de visualização: ao obter urna orientação do objeto (250) dentro da * visualização atual (200); e -.. ao prever urna solicitação associada a uma d 10 visualização adjacente (300), adjacente à visualização atual ao longo da orientação do objeto, para prever a solicitação de visualização.
5. CONTROLADOR DE CACHE (520), de acordo com a reivindicação 1, caracterizado em que o processador (122) é 15 configurado para obter rnetadados e compreende os dados de conteúdo do servidor de imagens {540).
6. CONTROLADOR DE CACHE (520), de acordo com a reivindicação 1, caracterizado em que o processador (122) é configurado para obter rnetadados indicativos de conteúdo de 20 imagem dos dados de imagem do servidor de imagens (540), o conteúdo de imagem compreende o conteúdo, e o processador (122) sendo configurado para obter os dados de conteúdo dos mêtaciados: ao obter dados de posição indicativos de uma 25 posição do primeiro ponto de vista nas três dimensões espaciais dos dados de imagem; e ao selecionar uma parte dos metadados, em dependência dos ãados de posição, para obter, como os dados de conteúdo, a parte dos metadados que é indicativa do 30 conteúdo.
7. CONTROLADOR DE CACHE (120), de acordo corn a reivindicação 1, caracterizado em que o processador (122) é configurado para obter dados de histórico de usuário
T 3 /4 _T +.
indicativos do uso anterior do cliente de irnagens (100), e o processador (122) é configurado para prever a solicitação de visualização erri dependência dos dados de conteúdo e dos dados de histõrico de usuário.
5
8. CLIENTE DE IMAGENS (400, 500), caracterizado por compreender o controlador de cache (420, 520), conforme d definido na reivindicação 1.
9. SERVIDOR DE IMAGENS (640), caracterizado por £
M compreender o controlador de cache (620), conforme definido 10 na reivindicação 1. : lO. SERVIDOR DE IMAGENS (640), de acordo com a reivindicação 9, caracterizado ern que o processador (122) é configurado para obter os dados de conteúdo ao realizar uma análise de imagem dos dados de irnagem.
15 11. SERVIDOR DE TPIAGENS (640), de acordo com a reivindicação 9, para uso com um cliente de imagens {600), caracterizado por compreender o cache (630), em que o meio de comunicação (124) é configurado para armazenar a visualização (300) no cache (630) do cliente de irrtagens (600).
20 12. ESTAÇÃO DE TRABALHO, caracterizada por compreender o controlador de cache (120, 420, 520, 620), conforme definido na reivindicação 1.
13. APARELHO DE FORMAÇÃO DE IMAGEM, caracterizado por compreender o controlador de cache (120, 420, 520, 620) 25 conforme definiào na reivindicação l.
14. MÉTODO DE ARMAZENAMENTO (700) PARA USO EM UM SISTEMA, caracterizado por compreender um cliente de imagens e um servidor de imagens, o cliente de imagens permitindo que um usuário navegue nos dados de imagem tendo pelo menos três 30 dimensões espacíais ao exibir visualizações dos dados de imagem que são obtidos ão servidor de imagens em depencíência das solicitações de navegação do usuário, e o método compreendendo: ~ r' 'J indicativos do uso anterior do cliente de iuiagens (IOO), e o processador (122) é configurado para prever a solicitação de visualização em dependência dos daãos de conteúdo e dos dados de histórico de usuário.
5 8. CLIENTE DE IMAGENS (400, 500), caracterizado por compreender o controlador clle cache (420, 520), conforme .K . a definido na reivindicação 1.
9. SERVIDOR DE IMAGENS (640), caracterizado por
Ô u compreender o controlador de cache (620), conforme definido 10 na reivindicação 1.
. 10. SERVIDOR DE IMAGENS {640), de acordo com a reivindicação 9, caracterizado em que o processador (122) é configurado para obter os dados de conteúdo ao realizar uma análise de imagem dos dados de imagem.
15 11. SERVIDOR DE IMAGENS (640), de acordo com a reivindicação 9, para uso com um cliente de imagens (600), caracterizado por compreender o cache (630), em que o meio de comunicação (124) é configurado para armazenar a visualização {300) no cache (630) do cliente ãe imagens {600).
20 12. ESTAÇÃO DE TRABALHO, caracterizada por compreender o controlador de cache (120, 420, 520, 620), conforme definido na reivindicação 1.
13. APARELHO DE FORMAÇÃO DE IMAGEM, caracterizado por cornpreender o controlador de cache (120, 420, 520, 620) 25 conforme definido na reivindicação 1.
14. MÉTODO DE ARMAZENAMENTO (700) PARA USO EM UM SISTEMA, caracterizado por compreender urrí cliente de imagens e um servidor de imagens, o cliente de imagens permitindo que urn usuário navegue nos dados de imagem tendo pelo menos três 30 dimensões espaciais ao exibir visualizações dos dados de imagem que são obtidos do servidor de imagens em dependência das solicitações de navegação do usuário, e o método compreendendo:
a k.r obtenção (710) dos dados de conteúdo indicativos de um conteúdo apresentado em uma visualização atual do cliente de imagens, a visualização atual representando um prirneiro ponto de vista nas três dirríensões espaciais dos dados de 5 imagem; previsão (720) de uma solicitação de visualização í do cliente de imagens em dependência dos dados de conteúdo, a solicitação de visualização correspondendo a uma visualização % que representa um segundo ponto de vista nas três dimensões 1-0 espaciais dos dados de imagem; obtenção (730) ãa visualização do servidor de imagens em dependência da solicitação de visualização; e armazenarnento (740) da visualização em um cache.
15. PRODUTO DE PROGRAMA DE COMPUTADOR, 15 caracterizado por compreender instruções para fazer com que um sistema de processador realize o método (700), conforme definido na reivindicação 14.
BR112013010661-1A 2010-11-05 2011-10-27 controlador de cache para uso em um sistema, cliente de imagens, servidor de imagens, estação de trabalho, parelho de formação de iamgem, método de armazenamento e produto de progama de computador. BR112013010661A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10190111.4 2010-11-05
EP10190111 2010-11-05
PCT/IB2011/054797 WO2012059851A1 (en) 2010-11-05 2011-10-27 Image content based prediction and image cache controller

Publications (1)

Publication Number Publication Date
BR112013010661A2 true BR112013010661A2 (pt) 2020-10-06

Family

ID=44925607

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112013010661-1A BR112013010661A2 (pt) 2010-11-05 2011-10-27 controlador de cache para uso em um sistema, cliente de imagens, servidor de imagens, estação de trabalho, parelho de formação de iamgem, método de armazenamento e produto de progama de computador.

Country Status (7)

Country Link
US (1) US10015250B2 (pt)
EP (1) EP2636025B1 (pt)
JP (1) JP6329766B2 (pt)
CN (2) CN103282944A (pt)
BR (1) BR112013010661A2 (pt)
RU (1) RU2609104C2 (pt)
WO (1) WO2012059851A1 (pt)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2669830A1 (en) * 2012-06-01 2013-12-04 Kabushiki Kaisha Toshiba, Inc. Preparation and display of derived series of medical images
ES2679799T3 (es) 2012-10-08 2018-08-31 Patrick Soon-Shiong Sistemas y métodos de almacenamiento distribuido
WO2014087297A1 (en) 2012-12-05 2014-06-12 Koninklijke Philips N.V. Enabling a user to navigate through image data
WO2015019556A1 (ja) 2013-08-07 2015-02-12 パナソニックIpマネジメント株式会社 症例表示装置、症例表示方法およびプログラム
US10148772B2 (en) 2014-08-18 2018-12-04 Google Llc System and method for automatically pushing location-specific content to users
EP3001385B1 (en) * 2014-09-29 2019-05-01 Agfa Healthcare A system and method for rendering a video stream
US9756375B2 (en) * 2015-01-22 2017-09-05 Microsoft Technology Licensing, Llc Predictive server-side rendering of scenes
EP3303986B1 (en) 2015-05-29 2020-02-26 Unilever PLC System and method for measuring hair diameter
JP6957461B2 (ja) 2015-10-30 2021-11-02 ユニリーバー・ナームローゼ・ベンノートシヤープ 毛髪の直径測定
WO2017072008A1 (en) 2015-10-30 2017-05-04 Unilever Plc Hair curl measurement
US20170307755A1 (en) 2016-04-20 2017-10-26 YoR Labs Method and System for Determining Signal Direction
US10499882B2 (en) * 2016-07-01 2019-12-10 yoR Labs, Inc. Methods and systems for ultrasound imaging
US10924525B2 (en) 2018-10-01 2021-02-16 Microsoft Technology Licensing, Llc Inducing higher input latency in multiplayer programs
US11342065B2 (en) * 2019-06-24 2022-05-24 Fujifilm Medical Systems U.S.A., Inc. Systems and methods for workstation rendering medical image records
US11547386B1 (en) 2020-04-02 2023-01-10 yoR Labs, Inc. Method and apparatus for multi-zone, multi-frequency ultrasound image reconstruction with sub-zone blending
US11344281B2 (en) 2020-08-25 2022-05-31 yoR Labs, Inc. Ultrasound visual protocols
US11832991B2 (en) 2020-08-25 2023-12-05 yoR Labs, Inc. Automatic ultrasound feature detection
US11751850B2 (en) 2020-11-19 2023-09-12 yoR Labs, Inc. Ultrasound unified contrast and time gain compensation control
US11704142B2 (en) 2020-11-19 2023-07-18 yoR Labs, Inc. Computer application with built in training capability

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393526B1 (en) 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
KR100291628B1 (ko) * 1999-06-19 2001-05-15 윤덕용 3차원 그래픽 텍스쳐 맵핑용 캐쉬 메모리 및 그의 캐쉬 미스페널티 저감방법
US20020078300A1 (en) 1999-08-16 2002-06-20 Chanda Dharap Semantics-based caching policy to minimize latency
JP4727700B2 (ja) * 2000-06-30 2011-07-20 株式会社日立メディコ 画像診断支援装置
US20030228042A1 (en) * 2002-06-06 2003-12-11 Usha Sinha Method and system for preparation of customized imaging atlas and registration with patient images
DE10321236B4 (de) 2003-05-12 2006-06-29 Siemens Ag Überwachungsverfahren für eine Übertragung einer Folge von Bildern sowie zur Durchführung des Verfahrens bestimmte Schaltungen, Programme und Bildverarbeitungsvorrichtung
US7720983B2 (en) 2004-05-03 2010-05-18 Microsoft Corporation Fast startup for streaming media
JP3954596B2 (ja) * 2004-06-03 2007-08-08 ザイオソフト株式会社 画像処理装置、画像処理方法及び画像処理プログラム
JP2006101329A (ja) * 2004-09-30 2006-04-13 Kddi Corp 立体視画像観察装置ならびにその共有サーバ、クライアント端末およびピア・ツー・ピア端末、レンダリング画像生成方法および立体視画像表示方法ならびにそのプログラムおよび記憶媒体
CN101147174B (zh) 2004-10-15 2011-06-08 微软公司 用于管理图像数据的传送和/或存储的系统和方法
US20060114254A1 (en) * 2004-11-26 2006-06-01 Tim Day Volume rendering apparatus and method
US8170306B2 (en) * 2007-04-25 2012-05-01 Siemens Aktiengesellschaft Automatic partitioning and recognition of human body regions from an arbitrary scan coverage image
US9198733B2 (en) * 2008-04-29 2015-12-01 Virginia Tech Intellectual Properties, Inc. Treatment planning for electroporation-based therapies
US8896614B2 (en) * 2008-07-08 2014-11-25 Mobile Imaging In Sweden Ab Method and apparatus for browsing images
EP2389647B1 (en) 2009-01-22 2019-08-21 Koninklijke Philips N.V. Predicting user interactions during image processing
GB0913930D0 (en) * 2009-08-07 2009-09-16 Ucl Business Plc Apparatus and method for registering two medical images
US8850075B2 (en) * 2011-07-06 2014-09-30 Microsoft Corporation Predictive, multi-layer caching architectures

Also Published As

Publication number Publication date
CN109166179A (zh) 2019-01-08
WO2012059851A1 (en) 2012-05-10
RU2609104C2 (ru) 2017-01-30
JP2014500999A (ja) 2014-01-16
CN103282944A (zh) 2013-09-04
US20130227052A1 (en) 2013-08-29
EP2636025A1 (en) 2013-09-11
JP6329766B2 (ja) 2018-05-23
EP2636025B1 (en) 2019-12-18
US10015250B2 (en) 2018-07-03
RU2013125750A (ru) 2014-12-10

Similar Documents

Publication Publication Date Title
BR112013010661A2 (pt) controlador de cache para uso em um sistema, cliente de imagens, servidor de imagens, estação de trabalho, parelho de formação de iamgem, método de armazenamento e produto de progama de computador.
US9830700B2 (en) Enhanced computed-tomography colonography
US10390886B2 (en) Image-based pedicle screw positioning
US9323891B1 (en) Intelligent dynamic preloading and processing
US9529508B2 (en) Medical image system
CA2892069C (en) Generating a key-image from a medical image
US9691157B2 (en) Visualization of anatomical labels
US20200126648A1 (en) Holistic patient radiology viewer
JP5838215B2 (ja) 画像及び注釈表示
US20210082567A1 (en) Method for supporting viewing of images and apparatus using same
JP5676268B2 (ja) ナビゲーションガイド
US10326923B2 (en) Medical imaging processing apparatus for a virtual endoscope image
BR112013033223B1 (pt) sistema para ampliar uma imagem exibida em uma janela de visualização, utilização do sistema, aparelho de aquisição de imagem, estação de trabalho, método para ampliar uma imagem exibida em uma janela de visualização e aparelho para ampliar uma imagem exibida em uma janela de visualização
US9786069B2 (en) Refined reconstruction of time-varying data
KR102222816B1 (ko) 진행성 병변의 미래 영상을 생성하는 방법 및 이를 이용한 장치
US10548570B2 (en) Medical image navigation system
CN107808359B (zh) 预加载的预测数据的显示
US10977792B2 (en) Quantitative evaluation of time-varying data
KR101923183B1 (ko) 의료 영상 표시 방법 및 의료 영상 표시 장치
JP5672183B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP2018175413A (ja) 情報処理装置、情報処理方法、情報処理システム及びプログラム

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B25D Requested change of name of applicant approved

Owner name: KONINKLIJKE PHILIPS N.V. (NL)

B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 8A ANUIDADE.

B25G Requested change of headquarter approved

Owner name: KONINKLIJKE PHILIPS N.V. (NL)

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: EM VIRTUDE DO ARQUIVAMENTO PUBLICADO NA RPI 2600 DE 03-11-2020 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDO O ARQUIVAMENTO DO PEDIDO DE PATENTE, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.

B350 Update of information on the portal [chapter 15.35 patent gazette]